diff --git a/.project b/.project new file mode 100644 index 0000000000000000000000000000000000000000..97270fce326ba2df57260a32ed7bf1b2df21688d --- /dev/null +++ b/.project @@ -0,0 +1,22 @@ + + + TTCN3_conformance + + + + + + de.ugoe.cs.swe.trex.ui.rulebuilder + + + + + de.ugoe.cs.swe.trex.ui.compilerbuilder + + + + + + de.ugoe.cs.swe.trex.ui.trexnature + + diff --git a/ATS/.classpath b/ATS/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..4a878a4bdd82fd672f9183bbd265358db258a12f --- /dev/null +++ b/ATS/.classpath @@ -0,0 +1,3 @@ + + + diff --git a/ATS/.externalToolBuilders/de.ugoe.cs.swe.trex.ui.rulebuilder.launch b/ATS/.externalToolBuilders/de.ugoe.cs.swe.trex.ui.rulebuilder.launch new file mode 100644 index 0000000000000000000000000000000000000000..ef274bc43d26a7fa0941bc22f9bd2793d3ff58fb --- /dev/null +++ b/ATS/.externalToolBuilders/de.ugoe.cs.swe.trex.ui.rulebuilder.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ATS/.gitignore b/ATS/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ee2e9b6bfb6fde7b30d4102faa3ea1cc44ba0508 --- /dev/null +++ b/ATS/.gitignore @@ -0,0 +1 @@ +.DEPENDENCIES diff --git a/ATS/.project b/ATS/.project new file mode 100644 index 0000000000000000000000000000000000000000..0d6ad3df35346476b81cdaa3a7fb10922787d623 --- /dev/null +++ b/ATS/.project @@ -0,0 +1,39 @@ + + + ATS + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.ui.externaltools.ExternalToolBuilder + full,incremental, + + + LaunchConfigHandle + <project>/.externalToolBuilders/de.ugoe.cs.swe.trex.ui.rulebuilder.launch + + + + + com.testingtech.ttworkbench.ttthree.modelBuilder + + + + + com.testingtech.ttworkbench.xcleditor.todoBuilder + + + + + + com.testingtech.ttworkbench.core.ttcn3nature + de.ugoe.cs.swe.trex.ui.trexnature + org.eclipse.jdt.core.javanature + + diff --git a/ATS/.settings/com.testingtech.ttworkbench.core.prefs b/ATS/.settings/com.testingtech.ttworkbench.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..d2711d2795425137e37eec9dc3ae343e7687390c --- /dev/null +++ b/ATS/.settings/com.testingtech.ttworkbench.core.prefs @@ -0,0 +1,21 @@ +eclipse.preferences.version=1 +keep_migrated_project_properties=true +reporting=2 +standard-compliance=error +tt3-plugins-path= +ttcn3-version=7 +ttcn3.continue_on_fail=true +ttcn3.gen_debug_code_record_init=false +ttcn3.generate_mlf=false +ttcn3.java_compile_all_at_once=true +ttcn3.main_module= +ttcn3.mlf_class=com.testingtech.ttcn.tri.PluginTestAdapter +ttcn3.mlf_class_builtin=com.testingtech.ttcn.tri.PluginTestAdapter +ttcn3.mlf_jar= +ttcn3.mlf_radiobutton=1 +ttcn3.mlf_ta_config=taconfig.xml +ttcn3.output_folder=//PROJECT_NAME//ttcn3build +ttcn3.output_same_as_src=false +ttcn3.source_folders= +ttcn3.use_bigint=true +ttcn3.use_destination_path_for_ttcn3view=true diff --git a/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSem_0501_Identifier_001.ttcn b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSem_0501_Identifier_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..acb93fd3ac7961b43a785f5e26dc648bcc2cf585 --- /dev/null +++ b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSem_0501_Identifier_001.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.1, Ensure that cannot pass a charstring value to an integer variable. + ** @verdict pass reject + *****************************************************************/ +module NegSem_0501_Identifier_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_0501_Identifier_001() runs on GeneralComp { + var integer v_i := "wrong_type"; +} + +control{ + execute(TC_NegSem_0501_Identifier_001(), 1.0); +} + +} diff --git a/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSyn_0501_Identifier_001.ttcn b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSyn_0501_Identifier_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..2dbe3221165042d4556b00fd53bb5ef8941670b1 --- /dev/null +++ b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/NegSyn_0501_Identifier_001.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.1, Ensure that when the IUT loads a module containing an identifier named with a keyword then the module is rejected. + ** @verdict pass reject + *****************************************************************/ +module NegSyn_0501_Identifier_001 { + +type component GeneralComp { +} + +testcase TC_NegSyn_0501_Identifier_001() runs on GeneralComp { + var integer component := 1; +} + +control{ + execute(TC_NegSyn_0501_Identifier_001(), 1.0); +} + +} diff --git a/ATS/05_basic_language_elements/0501_identifiers_and_keywords/Syn_0501_Identifier_001.ttcn b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/Syn_0501_Identifier_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..8aaebc92c41668c1dfe6ab18a003be639e51ae77 --- /dev/null +++ b/ATS/05_basic_language_elements/0501_identifiers_and_keywords/Syn_0501_Identifier_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.1, Ensure that the IUT handle the identifiers case sensitively. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Syn_0501_Identifier_001 { + +type component IdComp { + const integer cl_int := 0; +} + +testcase TC_Syn_0501_Identifier_001() runs on IdComp { + const integer cl_iNT := 1; + if (cl_int == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Syn_0501_Identifier_001(), 1.0); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..8bc08da1ba9645ce8fba560dc8317379ac0c9bf9 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_001.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.2 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2.1, Ensure that the IUT correctly handles scope of formal function parameters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_050201_Scope_of_parameters_001 { + +type component GeneralComp { +} + +function f_formalParameterScope_in(in integer p_myParameter) { + p_myParameter := 1; + if (p_myParameter == 1){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +testcase TC_Sem_050201_Scope_of_parameters_001() runs on GeneralComp { + + var integer v_int := 0; + f_formalParameterScope_in(v_int); + + if (v_int == 0) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + execute(TC_Sem_050201_Scope_of_parameters_001()); + +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_002.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..48202b8dad3ed2e4dd6cf413b02a62332f3dcc4e --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_002.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2.1, Ensure that the IUT correctly handles scope of formal function parameters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_050201_Scope_of_parameters_002 { + +type component GeneralComp { +} + + +function f_formalParameterScope_inout(inout integer p_myParameter) { + p_myParameter := 1; +} + + + +testcase TC_Sem_050201_Scope_of_parameters_002() runs on GeneralComp { + + var integer v_int := 0; + f_formalParameterScope_inout(v_int); + + if (v_int == 1) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + execute(TC_Sem_050201_Scope_of_parameters_002()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..146fc16b3c035c1874470e092afa378bb03e93cd --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_001.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_001 { + type component GeneralComp { + const integer cl_int := 0; + } + + testcase TC_NegSem_050202_Uniqueness_001() runs on GeneralComp { + const integer cl_int := 0; + } + control { + execute(TC_NegSem_050202_Uniqueness_001()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_004.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_004.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..ab53f58a9f83c8dda0bad51d5aadc6f8ce9243eb --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_004.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_004 { + const integer c_int := 0; + + type component GeneralComp { + } + + function f_funcScope() {} + + testcase TC_NegSem_050202_Uniqueness_004() runs on GeneralComp { + const integer c_int := 0; + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_004()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_005.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_005.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..a867fe6ec0b865ca5860bc23dba8657ee78b13ab --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_005.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_005 { + const integer c_int := 0; + + type component GeneralComp { + } + + function f_funcScope() { + const integer c_int := 0; + } + + testcase TC_NegSem_050202_Uniqueness_005() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_005()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_006.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_006.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..f7015a6fde48476f53540ce0af548ff412abc378 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_006.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_006 { + type component GeneralComp { + const integer repeatedIdentifier := 0; + } + + testcase TC_NegSem_050202_Uniqueness_006() runs on GeneralComp { + var boolean repeatedIdentifier := true; + } + control { + execute(TC_NegSem_050202_Uniqueness_006()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_007.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_007.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..4561c3c02061e0c866b476f102d3134eb469dbab --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_007.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_007 { + type component GeneralComp { + const integer repeatedIdentifier := 0; + } + + function f_funcScope() runs on GeneralComp { + var boolean repeatedIdentifier := true; + } + + testcase TC_NegSem_050202_Uniqueness_007() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_007()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_008.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_008.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..02717b4bd4b2220f2000be7e93638324f66c4d4a --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_008.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_008 { + type component GeneralComp { + } + + function f_funcScope(boolean repeatedIdentifier) { + const integer repeatedIdentifier := 0; + } + + testcase TC_NegSem_050202_Uniqueness_008() runs on GeneralComp { + var boolean v_boolean := true; + f_funcScope(v_boolean); + } + control { + execute(TC_NegSem_050202_Uniqueness_008()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_009.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_009.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..c7ab510e942ddb014b0058481443e469b543a9b5 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_009.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_009 { + const integer repeatedIdentifier := 0; + + type component GeneralComp { + } + + function f_funcScope() {} + + testcase TC_NegSem_050202_Uniqueness_009() runs on GeneralComp { + var boolean repeatedIdentifier := true; + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_009()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_010.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_010.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..8e758948138ad836e06434c6c104503f65d4e85b --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_010.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_010 { + const integer repeatedIdentifier := 0; + + type component GeneralComp { + } + + function f_funcScope() { + var boolean repeatedIdentifier := true; + } + + testcase TC_NegSem_050202_Uniqueness_010() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_010()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_011.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_011.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..feaee1cb2b748dadc9543cbc935525fe7596a29d --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_011.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ +module NegSem_050202_Uniqueness_011 { + type component GeneralComp { + } + + function f_funcScope() { + var boolean NegSem_050202_Uniqueness_011 := true; + } + + testcase TC_NegSem_050202_Uniqueness_011() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_011()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_012.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_012.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..e5de96e26f4637b9f5b1221761246ed33ad228cd --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_012.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass reject + ***************************************************/ + +module NegSem_050202_Uniqueness_012 { + import from NegSem_050202_Uniqueness_012_import { const all; } + + type component GeneralComp { + } + + function f_funcScope() { + var boolean NegSem_050202_Uniqueness_012_import := true; + } + + testcase TC_NegSem_050202_Uniqueness_012() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_NegSem_050202_Uniqueness_012()); + } +} + +module NegSem_050202_Uniqueness_012_import { + const integer c_integer := 0; +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..fcd04dc82c8f65531e8c90e52ac49b492037550d --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_050202_Uniqueness_001 { + import from Sem_050202_Uniqueness_001_import { + const all; + } + + type component GeneralComp { + } + + function f_funcScope() { + var boolean repeatedIdentifier := true; + + if(repeatedIdentifier==true) { setverdict(pass); } + } + + testcase TC_Sem_050202_Uniqueness_001() runs on GeneralComp { + f_funcScope(); + } + control { + execute(TC_Sem_050202_Uniqueness_001()); + } +} + +module Sem_050202_Uniqueness_001_import { + const integer repeatedIdentifier := 0; // repeated indentifier from imported module is allowed +} + \ No newline at end of file diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..aa6ce5105055b4cddfa7dbdf3880fe059395df28 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_050202_Uniqueness_002 { + type component GeneralComp { + const integer cl_int := 0; + } + + function f_funcScope() { + const integer cl_int := 1; + } + + testcase TC_Sem_050202_Uniqueness_002() runs on GeneralComp { + f_funcScope(); + if (cl_int == 0) { // component value + setverdict(pass); + } else { + setverdict(fail); + } + } + control { + execute(TC_Sem_050202_Uniqueness_002()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..60f4fa59be4d6310f523351f7816b31bc2c0aa15 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2.2, Ensure that the IUT correctly handles the uniqueness of variable names in its scope + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_050202_Uniqueness_003 { + type component GeneralComp { + } + + function f_funcScope() { + const integer cl_int := 0; + } + + testcase TC_Sem_050202_Uniqueness_003() runs on GeneralComp { + const integer cl_int := 1; + f_funcScope(); + if (cl_int == 1) { // local value + setverdict(pass); + } else { + setverdict(fail); + } + } + control { + execute(TC_Sem_050202_Uniqueness_003()); + } +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..dfcb5d3b4153382ded833f7f33eabf57cb2bd6ab --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2, Ensure that the IUT correctly handles definitions of local scope + ** @verdict pass reject + ***************************************************/ +module NegSem_0502_Scope_001 { + +type component GeneralComp { + var integer vc_component := 0; +} + +function f_funcScope() runs on GeneralComp { + var integer v_function := 0; +} + +testcase TC_NegSem_0502_Scope_001() runs on GeneralComp { + f_funcScope(); + if (v_function == 0){ + } +} + +control{ + var integer v_control := 0; + execute(TC_NegSem_0502_Scope_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..5acbc55eae5415df2a5bafebd2f4288272a0d6c8 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2, Ensure that the IUT correctly handles definitions of local scope + ** @verdict pass reject + ***************************************************/ +module NegSem_0502_Scope_002 { + +type component GeneralComp { + var integer vc_component := 0; +} + +function f_funcScope() runs on GeneralComp { + var integer v_function := 1; +} + +testcase TC_NegSem_0502_Scope_002() runs on GeneralComp { + if (v_control == 0){ + } +} + +control{ + var integer v_control := 0; + execute(TC_NegSem_0502_Scope_002()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f67e4a8a9ab88d76e251a332035cacc8bb3e58b7 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2, Ensure that the IUT correctly handles definitions of local scope + ** @verdict pass reject + ***************************************************/ +module NegSem_0502_Scope_003 { + +type component GeneralComp { + var integer vc_component := 0; +} + +function f_funcScope() runs on GeneralComp { + var integer v_function := 0; +} + +testcase TC_NegSem_0502_Scope_003() runs on GeneralComp { + if(true) { + var integer v_statement := 0; + } + if (v_statement == 0) { + } +} + +control{ + var integer v_control := 0; + execute(TC_NegSem_0502_Scope_003()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..6c69bc812632e4c52c39e1b60d75739025fe090f --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2, Ensure that the IUT handle scope hieararchy of component constants. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0502_Scope_001 { + +type component GeneralComp { + const integer cl_int := 0; +} + +testcase TC_Sem_0502_Scope_001() runs on GeneralComp { + if (cl_int == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_001()); +} +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_002.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_002.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..fe218435ebd5c54a86f942d3676eed0420ca2c1a --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_002.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2, Ensure that the IUT handle scope hieararchy with component booleans. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0502_Scope_002 { + +type component GeneralComp { + var boolean vc_bool := false; +} + +testcase TC_Sem_0502_Scope_002_a() runs on GeneralComp { + if (vc_bool == false){ + vc_bool := true; + setverdict(pass); + } + else { + setverdict(fail); + } +} +/********************************************************************************************* + ** @desc Test case TC_Sem_0502_Scope_002_a shall not effect of the value of boolean vc_bool + ********************************************************************************************/ +testcase TC_Sem_0502_Scope_002_b() runs on GeneralComp { + if (vc_bool == false){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_002_a()); + execute(TC_Sem_0502_Scope_002_b()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_003.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_003.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..937bfa5c3482dffc36855551ae257a1a773357ae --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_003.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2, Ensure that the IUT handles scope hierarchy via functions. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0502_Scope_003 { + +type component GeneralComp { + var integer vc_int := 0; +} + +function f_funcScope() runs on GeneralComp { + vc_int := 1; + if (vc_int == 1){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +testcase TC_Sem_0502_Scope_003_a() runs on GeneralComp { + f_funcScope(); +} + +testcase TC_Sem_0502_Scope_003_b() runs on GeneralComp { + f_funcScope(); + if (vc_int == 1){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_003_a()); + execute(TC_Sem_0502_Scope_003_b()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_004.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_004.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..a80bb41d6ae4fc0d861928cfc1f4d69e91a3d5cf --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_004.ttcn @@ -0,0 +1,52 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2, Ensure that the IUT correctly handles the scope of definitions made in the module part. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0502_Scope_004 { + + const integer c_int := 0; + +type component GeneralComp { +} + +testcase TC_Sem_0502_Scope_004() runs on GeneralComp { + if (c_int == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_004()); +} +} + + +module Sem_0502_Scope_004_import { + +import from Sem_0502_Scope_004 { + const all +} + +type component GeneralComp { +} + +testcase TC_Sem_0502_Scope_004_import() runs on GeneralComp { + if (c_int == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_004_import()); +} +} + + diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_008.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_008.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..3c4b4368a3719cbce0e57f3a33a0d0da9ef40741 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_008.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.2, Ensure that the IUT correctly handles definitions of extended component scope + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0502_Scope_008 { + +type component GeneralComp { + var integer vc_component := 1; +} + +type component ExtendedComp extends GeneralComp { +} + + +testcase TC_Sem_0502_Scope_008() runs on ExtendedComp { + if (vc_component == 1) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0502_Scope_008()); +} + +} diff --git a/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Syn_0502_Scope_001.ttcn b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Syn_0502_Scope_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..3a1d4349802ef8aa70d6dd99d57539f8302ecab2 --- /dev/null +++ b/ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Syn_0502_Scope_001.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.2, Ensure that the IUT supports all the nine scope units. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Syn_0502_Scope_001 { + +const integer c_intModule := 0; // scope a) module definitions part +type integer IntegerMod; + +type component GeneralComp { + const integer cl_int := 0; + var integer vc_int := 0; + var boolean vc_bool := false; + timer tc_timer := 0.1; // scope c) component types +} + +testcase TC_Syn_0502_Scope_001() runs on GeneralComp { // scope f) test cases + f_funcScope(); + tc_timer.start; + a_altstepScope(); + if (c_intModule == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } + if (cl_int == 0){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +group recordGroup { // scope g) statement block + type record RecScope { // scope i) user defined named types + IntegerMod field1, + boolean field2 + } +} + +group templateGroup { + template RecScope m_scope := { // scope h) templates + field1 := 0, + field2 := true + } +} + +function f_funcScope() runs on GeneralComp { + vc_int := 1; // scope d) functions + if (vc_int == 1){ + setverdict(pass); + } + else { + setverdict(fail); + } +} + +altstep a_altstepScope() runs on GeneralComp { + var integer v_intAltStep := 2; // scope e) altsteps + []tc_timer.timeout{ + if (v_intAltStep == 2) { + setverdict(pass); + } else { + setverdict(fail) + } + } +} + + +control{ + var integer v_intControl := 0; // scope b) control part of a module + + execute(TC_Syn_0502_Scope_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_001.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..bc8f3ffe8eab66a8034c4406cc720a4d61b06617 --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.3, Ensure that declarations are in the allowed ordering + ** @verdict pass reject + ***************************************************/ +module NegSem_0503_Ordering_001 { + + type component GeneralComp { + var integer vc_component := 0; + } + + function f_function() runs on GeneralComp { + var integer v_function := 0; + } + + testcase TC_NegSem_0503_Ordering_001() runs on GeneralComp { + if(true) { + var integer v_statement := 0; + if (v_nested_statement == 0) { // attempt to access a variable defined in the next scope + var integer v_nested_statement := 0; + } + + } + } + + control { + var integer v_control := 0; + execute(TC_NegSem_0503_Ordering_001()); + } + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..47cac516faba9aa3a84c4e6a14e4570d1e616af7 --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.3, Ensure that declarations are in the allowed ordering + ** @verdict pass reject + ***************************************************/ +module NegSem_0503_Ordering_002 { + + type component GeneralComp { + var integer vc_component := 0; + } + + function f_function() runs on GeneralComp { + var integer v_function := 0; + } + + testcase TC_NegSem_0503_Ordering_002() runs on GeneralComp { + if(true) { + var integer v_int := 0; + if (v_int == 0) { + var integer v_statement_block_1 := 0; + v_statement_block_1 := v_statement_block_1 + 1; + var integer v_statement_block_2 := 0; // declaration has to go before other statements + } + + } + setverdict(pass); + } + + control { + var integer v_control := 0; + execute(TC_NegSem_0503_Ordering_002()); + } + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..38f65f47878566d43967ecf383e6bd0b50c50d7d --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.3, Ensure that declarations are in the allowed ordering + ** @verdict pass reject + ***************************************************/ +module NegSem_0503_Ordering_003 { + + type component GeneralComp { + var integer vc_component := 0; + } + + function f_function() runs on GeneralComp { + var integer v_function; + v_function := 0; + var integer v_function_2 := 0; // declaration has to go before other statements + } + + testcase TC_NegSem_0503_Ordering_003() runs on GeneralComp { + if(true) { + var integer v_statement := 0; + if (v_statement == 0) { + var integer v_nested_statement := 0; + } + + } + setverdict(pass); + } + + control { + var integer v_control := 0; + execute(TC_NegSem_0503_Ordering_003()); + } + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_001.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..3eb12f9e2f9cebf26a5ad61d913ae4bcb748082a --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.3, Ensure that allowed orderings of declarations are supported + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0503_Ordering_001 { + +type component GeneralComp { + var integer vc_component := 0; +} + +testcase TC_Sem_0503_Ordering_001() runs on GeneralComp { + var integer v_testcase := 0; + + f_function(); + if(true) { + var integer v_statement := 0; + if (v_statement == 0) { + var integer v_nested_statement := 0; + setverdict(pass); + } + + } +} + +function f_function() runs on GeneralComp { + var integer v_function := 0; +} + +control { + var integer v_control := 0; + execute(TC_Sem_0503_Ordering_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_002.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26b3b38d4b84f85e72a8c8bb303c17f0821bd520 --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_002.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @desc Test cases for clause 5.3 ordering rules + ** @purpose 1:5.3, Ensure that allowed any ordering with component definitions are supported + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0503_Ordering_002 { + + + type port loopbackPort message { + inout integer + } + +type component GeneralComp //declarations inside a component can be in any order +{ + timer t_rec,t_rec2; + var integer v_comp1:=0; + port loopbackPort messagePortA; + var integer v_comp2:=0; +} + +testcase TC_Sem_0503_Ordering_002() runs on GeneralComp { + + v_comp1 := 1; + v_comp2 := v_comp1; + if (v_comp2 == 1) { + setverdict(pass); + } + +} + +control { + execute(TC_Sem_0503_Ordering_002()); +} + +} diff --git a/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_005.ttcn b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_005.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..dbce6a64402ec6cbf9eef558684ace1c3ade46d6 --- /dev/null +++ b/ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_005.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @desc Test cases for clause 5.2 Scope rules + ** @purpose 1:5.3, Ensure that allowed orderings of declarations are supported + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0503_Ordering_005 { + +type component GeneralComp { + var integer vc_component := 0; +} + +testcase TC_Sem_0503_Ordering_005() runs on GeneralComp { + var integer v_testcase := 0; + + f_function(); + if(true) { + var integer v_statement := 0; + if (c_module == 0) { // c_module is known as it is declared on the module level + var integer v_nested_statement := 0; + setverdict(pass); + } + + } +} + +function f_function() runs on GeneralComp { + var integer v_function := 0; +} + + const integer c_module := 0; + +control { + var integer v_control := 0; + execute(TC_Sem_0503_Ordering_005()); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..38c614c17d2a79f83d0d9ae7867534bf15a937bb --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.2 + ** @purpose 1:5.4.1.1, Ensure that the IUT correctly handles parametrization through the use of module parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040101_parameters_of_kind_value_001 { + + // the following module parameters must not be set externally, as their default values are being checked + modulepar integer INTEGER_MODULE_PARAMETER := 1; + + + type component GeneralComp { + } + + + testcase TC_Sem_05040101_parameters_of_kind_value_001() runs on GeneralComp { + if ( (INTEGER_MODULE_PARAMETER == 1)) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + + control{ + execute(TC_Sem_05040101_parameters_of_kind_value_001()); + } + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_002.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cd366e42bc48754af36ac5a7d330c0231e39848c --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_002.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:5.4.1.1, Ensure that the IUT correctly handles parametrization through the use of module parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040101_parameters_of_kind_value_002 { + + // the following module parameters must not be set externally, as their default values are being checked + modulepar boolean BOOLEAN_MODULE_PARAMETER := true; + + + type component GeneralComp { + } + + + testcase TC_Sem_05040101_parameters_of_kind_value_002() runs on GeneralComp { + if ( BOOLEAN_MODULE_PARAMETER == true){ + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + + control{ + execute(TC_Sem_05040101_parameters_of_kind_value_002()); + } + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_003.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ea1e390d780cd4bb093e9cf20443c4b5fef1494b --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_003.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:5.4.1.1, Ensure that the IUT correctly handles parametrization through the use of module parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040101_parameters_of_kind_value_003 { + + // the following module parameters must not be set externally, as their default values are being checked + modulepar address ADDRESS_MODULE_PARAMETER := 5; + + type integer address; + + type component GeneralComp { + } + + + testcase TC_Sem_05040101_parameters_of_kind_value_003() runs on GeneralComp { + if ( ADDRESS_MODULE_PARAMETER == 5) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + + control{ + execute(TC_Sem_05040101_parameters_of_kind_value_003()); + } + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_004.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f48e2d3f8745d687c8f9fb3d6c07cde88a291c46 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_004.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:5.4.1.1, Ensure that the IUT correctly handles parametrization through the use of module parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040101_parameters_of_kind_value_004 { + + // the following module parameter must not be set externally, as their default values are being checked + + modulepar MyEnumeratedType ENUMERATED_MODULE_PARAMETER := e_black; + + type enumerated MyEnumeratedType {e_black, e_white} + + type component GeneralComp { + } + + + testcase TC_Sem_05040101_parameters_of_kind_value_004() runs on GeneralComp { + if (ENUMERATED_MODULE_PARAMETER == e_black ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + + control{ + execute(TC_Sem_05040101_parameters_of_kind_value_004()); + } + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e37518cb7ab87ec41cf5ac5dd4bfb3a4e7692b3b --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn @@ -0,0 +1,86 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.1.2, Ensure that the IUT correctly handles parametrization through the use of parameterized templates. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040102_parameters_of_kind_template_001 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + +template MyRecord m_parametrizedTemplate + ( + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) := { + field1 := p_integer, + field2 := p_boolean, + field3 := p_address, + field4 := p_enumerated, + field5 := p_integerTemplate +} + + + +type component GeneralComp { + +} + + +testcase TC_Sem_05040102_parameters_of_kind_template_001() runs on GeneralComp { + + var MyRecord DefaultValues := { + field1 := 0, + field2 := true, + field3 := null, + field4 := e_black, + field5 := 1 //any number can be used here to correspond with ? matching + } + + var MyRecord ModifiedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + var MyRecord PartlyModifiedValues := { + field1 := 0, + field2 := false, + field3 := null, + field4 := e_white, + field5 := 1 + } + + if ( + match(DefaultValues, m_parametrizedTemplate) and + match(ModifiedValues, m_parametrizedTemplate(1,false,1,e_white,1)) and + match(PartlyModifiedValues, m_parametrizedTemplate(-,false,-,e_white,-)) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + execute(TC_Sem_05040102_parameters_of_kind_template_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b91a07c76ff8683759a1c1d3c4e24d24c5a5d8bd --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.1.2, Ensure that the IUT correctly handles parametrization through the use of parameterized templates. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040102_parameters_of_kind_template_002 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + + +type component GeneralComp { + +} + + +testcase TC_Sem_05040102_parameters_of_kind_template_002 ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + var template MyRecord ReceivedRecord := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate}; + + if (match(ExpectedMatch, ReceivedRecord)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + var MyRecord DefaultValues := { + field1 := 0, + field2 := true, + field3 := null, + field4 := e_black, + field5 := 1 //any number can be used here to correspond with ? matching + } + + var MyRecord ModifiedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + var MyRecord PartlyModifiedValues := { + field1 := 0, + field2 := false, + field3 := null, + field4 := e_white, + field5 := 1 + } + + execute(TC_Sem_05040102_parameters_of_kind_template_002(DefaultValues)); + execute(TC_Sem_05040102_parameters_of_kind_template_002(DefaultValues,-,-,-,-,-)); + execute(TC_Sem_05040102_parameters_of_kind_template_002(ModifiedValues,1,false,1,e_white,1)); + execute(TC_Sem_05040102_parameters_of_kind_template_002(PartlyModifiedValues,-,false,-,e_white,-)); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3830cf037c7cb9799bfcced09916cb4b41db6591 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn @@ -0,0 +1,98 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.1.3, Ensure that the IUT correctly handles parametrization through the use of timer parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_05040103_parameters_of_kind_timer_001 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + +type port TestPort message { + inout MyRecord +} + +type component GeneralComp { + port TestPort generalPort; + port TestPort otherport; +} +function f_parametrizationCheck ( + MyRecord ExpectedMatch, + timer p_timer, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + var template MyRecord ReceivedRecordTemplate := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate}; + + if ( match(ExpectedMatch, ReceivedRecordTemplate) and (p_timer.running) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + +testcase TC_Sem_05040103_parameters_of_kind_timer_001 ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + timer t_check; + t_check.start(5.0); + f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate); + + t_check.stop; + +} + + +control{ + + var MyRecord DefaultValues := { + field1 := 0, + field2 := true, + field3 := null, + field4 := e_black, + field5 := 1 //any number can be used here to correspond with ? matching + } + + var MyRecord ModifiedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + var MyRecord PartlyModifiedValues := { + field1 := 0, + field2 := false, + field3 := null, + field4 := e_white, + field5 := 1 + } + + execute(TC_Sem_05040103_parameters_of_kind_timer_001(DefaultValues)); + execute(TC_Sem_05040103_parameters_of_kind_timer_001(DefaultValues,-,-,-,-,-)); + execute(TC_Sem_05040103_parameters_of_kind_timer_001(ModifiedValues,1,false,1,e_white,1)); + execute(TC_Sem_05040103_parameters_of_kind_timer_001(PartlyModifiedValues,-,false,-,e_white,-)); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..047e20de31eb23706f6e77b8850fd5736ae9e0b8 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn @@ -0,0 +1,111 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.1.4, Ensure that the IUT accepts port parametrization types for functions. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_05040104_parameters_of_kind_port_001 { + + type enumerated MyEnumeratedType {e_black, e_white} + type integer address; + + type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 + } + + type port TestPort message { + inout MyRecord + } + + type component GeneralComp { + port TestPort generalPort; + port TestPort otherPort; + } + + function f_parametrizationCheck ( + MyRecord ExpectedMatch, + timer p_timer, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ?, + TestPort p_port + ) runs on GeneralComp { + var template MyRecord ReceivedRecordTemplate := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate}; + + p_port.send(ExpectedMatch); + } + + testcase TC_Sem_05040104_parameters_of_kind_port_001_a ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + timer t_check; + t_check.start(5.0); + f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate,generalPort); + alt { + [] generalPort.receive { + setverdict(pass); + } + [] t_check.timeout { + setverdict(fail); + } + } + + t_check.stop; + + } + + testcase TC_Sem_05040104_parameters_of_kind_port_001_b ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + timer t_check; + t_check.start(1.0); + f_parametrizationCheck(ExpectedMatch, t_check, p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate,otherPort); + alt { + [] otherPort.receive { + setverdict(pass); + } + [] t_check.timeout { + setverdict(fail); + } + } + + t_check.stop; + + } + + + control{ + + var MyRecord ModifiedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + //the following testcases will call same function with different port parameter values + execute(TC_Sem_05040104_parameters_of_kind_port_001_a(ModifiedValues,1,false,1,e_white,1)); + execute(TC_Sem_05040104_parameters_of_kind_port_001_b(ModifiedValues,1,false,1,e_white,1)); + + } + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d71b6887bcecc63d722af086019f751960dcdb09 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn @@ -0,0 +1,85 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.2, Ensure that the IUT accepts allowed assignments of actual parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_050402_actual_parameters_001 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + + +type component GeneralComp { + +} + +testcase TC_Sem_050402_actual_parameters_001 ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + var template MyRecord ReceivedRecord := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate}; + + if ( match(ExpectedMatch, ReceivedRecord)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + var MyRecord DefaultValues := { + field1 := 0, + field2 := true, + field3 := null, + field4 := e_black, + field5 := 1 //any number can be used here to correspond with ? matching + } + + var MyRecord ModifiedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + var MyRecord PartlyModifiedValues := { + field1 := 0, + field2 := false, + field3 := null, + field4 := e_white, + field5 := 1 + } + +//possible ways of invoking assignment of actual parameters + execute(TC_Sem_050402_actual_parameters_001(DefaultValues)); + execute(TC_Sem_050402_actual_parameters_001(DefaultValues,-,-,-,-,-)); + execute(TC_Sem_050402_actual_parameters_001(ExpectedMatch:=DefaultValues)); + + execute(TC_Sem_050402_actual_parameters_001(ModifiedValues,1,false,1,e_white,1)); + execute(TC_Sem_050402_actual_parameters_001(p_integerTemplate:=1,p_boolean:=false,p_enumerated:=e_white,p_integer:=1,p_address:=1,ExpectedMatch:=ModifiedValues)); + + execute(TC_Sem_050402_actual_parameters_001(PartlyModifiedValues,-,false,-,e_white,-)); + execute(TC_Sem_050402_actual_parameters_001(p_boolean:=false,p_enumerated:=e_white,ExpectedMatch:=PartlyModifiedValues)); + +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn b/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d54c293fd2f77a09ff4e76282b43075028c25acf --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn @@ -0,0 +1,85 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4.2, Ensure that the IUT accepts nested assignment of actual parameters. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_050402_actual_parameters_002 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + +template MyRecord m_parametrizedTemplate1 + ( + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) := { + field1 := p_integer, + field2 := p_boolean, + field3 := p_address, + field4 := p_enumerated, + field5 := p_integerTemplate +} + + +template MyRecord m_parametrizedTemplate2 + ( + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) := { + field1 := p_integer+1, //this line is different from the previous template + field2 := not p_boolean, //this line is different from the previous template + field3 := p_address, + field4 := p_enumerated, + field5 := p_integerTemplate +} + + + +type component GeneralComp { + +} + + +testcase TC_Sem_050402_actual_parameters_002(template MyRecord p_templateSelection) runs on GeneralComp { + + + var MyRecord ExpectedValues := { + field1 := 1, + field2 := false, + field3 := 1, + field4 := e_white, + field5 := 1 + } + + if (match(ExpectedValues, p_templateSelection)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + execute(TC_Sem_050402_actual_parameters_002(m_parametrizedTemplate1(1,false,1,e_white,1)) ); + execute(TC_Sem_050402_actual_parameters_002(m_parametrizedTemplate2(0,true,1,e_white,1)) ); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dfbe7f6b44f2b7bf860fa3b68165a5de683519b7 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn @@ -0,0 +1,61 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4, Ensure that the IUT correctly handles received testcase parametrization type incompatibility. + ** @verdict pass reject + ***************************************************/ +module NegSem_0504_parametrization_incompatibility_001 { + +type enumerated MyEnumeratedType {e_black, e_white} +type integer address; + +type record MyRecord { + integer field1, + boolean field2, + address field3, + MyEnumeratedType field4, + integer field5 +} + + +type component GeneralComp { + +} + + +testcase TC_NegSem_0504_parametrization_incompatibility_001 ( + MyRecord ExpectedMatch, + integer p_integer := 0, + boolean p_boolean := true, + address p_address := null, + MyEnumeratedType p_enumerated := e_black, + template integer p_integerTemplate := ? + ) runs on GeneralComp { + + // MyRecord cannot be built from the default p_integerTemplate parameter + var MyRecord ReceivedRecord := {p_integer, p_boolean, p_address, p_enumerated, p_integerTemplate}; + + if ( ReceivedRecord == ExpectedMatch ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + var MyRecord DefaultValues := { + field1 := 0, + field2 := true, + field3 := null, + field4 := e_black, + field5 := 1 //any number can be used here to correspond with ? matching + } + + execute(TC_NegSem_0504_parametrization_incompatibility_001(DefaultValues)); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b420c63c60f12a6994a7e759304b8b4ed6cb8a6 --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4, Ensure that the IUT rejects forbidden module parametrization types. + ** @verdict pass reject + ***************************************************/ +module NegSyn_0504_forbidden_parametrization_001 { + +modulepar { template integer INTEGER_MODULE_PARAMETER := 0 } + +type component GeneralComp { +} + + +testcase TC_NegSyn_0504_forbidden_parametrization_001() runs on GeneralComp { +} + +control{ + execute(TC_NegSyn_0504_forbidden_parametrization_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d829e03e48a10a1b94a19aa1c664ef7c20d4f1e --- /dev/null +++ b/ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.4, Ensure that the IUT rejects forbidden module parametrization types. + ** @verdict pass reject + ***************************************************/ +module NegSyn_0504_forbidden_parametrization_002 { + +modulepar { timer TIMER_MODULE_PARAMETER } + +type component GeneralComp { +} + + +testcase TC_NegSyn_0504_forbidden_parametrization_002() runs on GeneralComp { +} + +control{ + execute(TC_NegSyn_0504_forbidden_parametrization_002()); +} + +} diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_001.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5edff492f56d06583d105787c48f5c7ebf91c58 --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:5.5, Verify that an error is detected when two constants reference each other + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Direct and indirect cyclic definitions are not allowed with the exception of the +// following cases: +// a) for recursive type definitions (see clause 6.2); +// b) function and altstep definitions (i.e. recursive function or altstep calls); +// c) cyclic import definitions, if the imported definitions only form allowed cyclic +// definitions. +// The test is a copy of example 1 from the chapter 5.5 +module NegSem_0505_cyclic_definitions_001 { + + type record ARecordType { integer a, integer b }; + const ARecordType c_test1 := { 1 , c_test2.b}; // c_test1 refers to c_test2 + const ARecordType c_test2 := { 1 , c_test1.b}; // c_test2 refers to c_test1 + +} diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_002.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d480d00e4e71067c0d7f400ec6d0de19b66c08d --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/NegSem_0505_cyclic_definitions_002.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:5.5, Verify that an error is detected when a forbidded cyclic reference occurs in cyclic import + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Direct and indirect cyclic definitions are not allowed with the exception of the +// following cases: +// a) for recursive type definitions (see clause 6.2); +// b) function and altstep definitions (i.e. recursive function or altstep calls); +// c) cyclic import definitions, if the imported definitions only form allowed cyclic +// definitions. +// The test is a modification of example 1 from the chapter 5.5 that defines both constants +// in different modules. + +module NegSem_0505_cyclic_definitions_002 { + import from NegSem_0505_cyclic_definitions_002_import { const c_test1 } + type record ARecordType { integer a, integer b }; + const ARecordType c_test2 := { 1 , c_test1.b}; // c_test2 refers to c_test1 +} + +module NegSem_0505_cyclic_definitions_002_import { + import from NegSem_0505_cyclic_definitions_002 all; + const ARecordType c_test1 := { 1 , c_test2.b}; // c_test1 refers to c_test2 +} diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_001.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1441dec52dbf53240b80d796ea0df2ba07ccf03a --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_001.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.5, Ensure that the IUT correctly handles recursive functions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0505_cyclic_definitions_001 { + +type component GeneralComp { +} + +function f_recursive(integer p_argument) return integer { + if(p_argument==0) { + return 1; + } + else { + return p_argument*f_recursive(p_argument-1); + } +} + +testcase TC_Sem_0505_cyclic_definitions_001() runs on GeneralComp { + if (f_recursive(10) == 3628800) { // checks 10! + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0505_cyclic_definitions_001()); +} + +} diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_002.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1ece5ae12a22683f1ccd0b1b09e2a643b719fd6d --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5.5, Ensure that the IUT correctly handles cyclic imports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_0505_cyclic_definitions_002 { + type integer MyInteger; + import from Sem_0505_cyclic_definitions_002_import { type MyIntegerList } + + +type component GeneralComp { +} + +testcase TC_Sem_0505_cyclic_definitions_002() runs on GeneralComp { + var MyIntegerList v_list := {1,2}; + + if ( (v_list[0]==1) and (v_list[1]==2) ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0505_cyclic_definitions_002()); +} + +} + +module Sem_0505_cyclic_definitions_002_import { + import from Sem_0505_cyclic_definitions_002 { type MyInteger } + type record of MyInteger MyIntegerList; +} diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_003.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b4089fc2898c43669152928396e74bc44d58716a --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_003.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:5.5, Verify that cyclic import containing cyclic function calls is allowed + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Direct and indirect cyclic definitions are not allowed with the exception of the +// following cases: +// a) for recursive type definitions (see clause 6.2); +// b) function and altstep definitions (i.e. recursive function or altstep calls); +// c) cyclic import definitions, if the imported definitions only form allowed cyclic +// definitions. +// In particular, the combination of c and b is tested + +module Sem_0505_cyclic_definitions_003 { + import from Sem_0505_cyclic_definitions_003_import { function f_factImp; } + type component GeneralComp { + } + + function f_fact(integer p_argument) return integer { + if(p_argument==0) { + return 1; + } + else { + return p_argument*f_factImp(p_argument-1); + } + } + + testcase TC_Sem_0505_cyclic_definitions_003() runs on GeneralComp { + if (f_fact(10) == 3628800) { // checks 10! + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_0505_cyclic_definitions_003()); + } + +} + +module Sem_0505_cyclic_definitions_003_import { + import from Sem_0505_cyclic_definitions_003 { function f_fact; } + function f_factImp(integer p_argument) return integer { + if(p_argument==0) { + return 1; + } + else { + return p_argument*f_fact(p_argument-1); + } + } + +} \ No newline at end of file diff --git a/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..52ddb1f7f57a218092143324b980b8b2e17ffbd1 --- /dev/null +++ b/ATS/05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_004.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:5.5, Verify that cyclic altsteps are allowed + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Direct and indirect cyclic definitions are not allowed with the exception of the +// following cases: +// b) ... altstep definitions (i.e. recursive ... altstep calls); + +module Sem_0505_cyclic_definitions_004 { + type port P message { + inout integer; + } + type component GeneralComp { + var integer vc_receiveCounter := 0; + port P p1; + } + + altstep a_test() runs on GeneralComp { + [] p1.receive(integer:(0..3)) { + vc_receiveCounter := vc_receiveCounter + 1; + a_test(); + } + [] p1.receive(integer:?) { + if (vc_receiveCounter == 4) { + setverdict(pass); + } else { + setverdict(fail); + } + } + [else] { + setverdict(fail); + } + } + + testcase TC_Sem_0505_cyclic_definitions_004() runs on GeneralComp system GeneralComp { + map(self:p1, system:p1); + for (var integer i := 0; i < 5; i := i + 1) { + p1.send(i); + } + a_test(); + } + + control{ + execute(TC_Sem_0505_cyclic_definitions_004()); + } +} diff --git a/ATS/05_basic_language_elements/05_toplevel/NegSyn_05_TopLevel_001.ttcn b/ATS/05_basic_language_elements/05_toplevel/NegSyn_05_TopLevel_001.ttcn new file mode 100755 index 0000000000000000000000000000000000000000..d4636cb5bbad1a56212dad7aaf2bf25a323b9ae4 --- /dev/null +++ b/ATS/05_basic_language_elements/05_toplevel/NegSyn_05_TopLevel_001.ttcn @@ -0,0 +1,12 @@ + +const integer wrongTopLevel := 1; + +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:5, Ensure that when the IUT loads a module containing some definitions before the module declaration then the module is rejected. + ** @verdict pass reject + *****************************************************************/ +module NegSyn_05_TopLevel_001 { + +} diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e78de7a8785b4a9527659f12733e5aedd8e63b9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_001.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign float to integer values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_001 { + const integer c_i1 := 0.0; // not an integer value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..750a5c00b969b0edddbf0ad370e08942207b16a2 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_002.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign boolean to integer values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_002 { + const integer c_i1 := true; // not an integer value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ea479f61c5c63b92725f02780b94bf57626931fb --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_003.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign integer to float values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_003 { + const float c_f1 := 0; // not a float value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bd94fff7c95aff3bd555377f9c9ba80c2117a5f4 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_004.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign boolean to float values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_004 { + const float c_f1 := true; // not a float value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..76f86b2ffeb604113a4acffd97437698507fe7a2 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_005.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign verdicttype to float values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_005 { + const float c_f1 := pass; // not a float value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e28c53cde0a8fb542612bb851f469903dc5439c8 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_006.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign integer to verdicttype values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060100_SimpleBasicTypes_006 { + const verdicttype c_v1 := 1; // not a verdict +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79ff5cbe1fb25fd65d1134f9f91b5d7efb525299 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign and read integer values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060100_SimpleBasicTypes_001 { + + const integer c_i := 5; + + type component GeneralComp {} + + testcase TC_Sem_610_SimpleBasicTypes_001() runs on GeneralComp { + if (c_i == 5){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_610_SimpleBasicTypes_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f482b9c78acd79e0bb8f766965ae72b8bc3a56cd --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign and read large integer values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060100_SimpleBasicTypes_002 { + + const integer c_i := 50000000000000; + + type component GeneralComp {} + + testcase TC_Sem_610_SimpleBasicTypes_002() runs on GeneralComp { + if (c_i == 50000000000000){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_610_SimpleBasicTypes_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb3f9d746c6841f44bc864ce8c4679fb4969aa00 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign and read float values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060100_SimpleBasicTypes_003 { + + const float c_f := 5.12E-5; + + type component GeneralComp {} + + testcase TC_Sem_610_SimpleBasicTypes_003() runs on GeneralComp { + if (c_f > 5E-5){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_610_SimpleBasicTypes_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..863ebbe55669284d0540b96215022e334ad21fac --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign and read large float values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060100_SimpleBasicTypes_004 { + + const float c_f := 5.23E200; + + type component GeneralComp {} + + testcase TC_Sem_610_SimpleBasicTypes_004() runs on GeneralComp { + if (c_f > 1E200){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_610_SimpleBasicTypes_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19917a3d5b29ff9892d9b3e8b6febe7516171ea1 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign and read verdicts + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060100_SimpleBasicTypes_005 { + + const verdicttype c_v := inconc; + + type component GeneralComp {} + + testcase TC_Sem_610_SimpleBasicTypes_005() runs on GeneralComp { + if (c_v == inconc){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_610_SimpleBasicTypes_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a5b73c9d4ef70663162887116fe677b0384c6adc --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_001.ttcn @@ -0,0 +1,11 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign different integer values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_001 { + const integer c_i1 := 0; + const integer c_i2 := 1; + const integer c_i3 := -5; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c194f0940e33a1eeee14605bd736d48adae2ef09 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_002.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign large integer values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_002 { + const integer c_i1 := 10000000000000; // large positive 10^13 + const integer c_i2 := -10000000000000; // large negative -10^13 +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3032b66e938558adfeb5c797cb03efae9f375bb1 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_003.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign different float values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_003 { + const float c_f1 := 0.0; + const float c_f2 := 131E57; + const float c_f3 := 131E-57; + const float c_f4 := -502E55; + const float c_f5 := -502E-55; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e2dae646fa1df77d55b38ad799fc9ecef57f49d3 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Assign small and large float values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_004 { + const float c_f1 := 2E256; // large positive 2^256 + const float c_f2 := -2E256; // large negative -2^256 + const float c_f3 := 2E-256; // small positive 2^-256 + const float c_f4 := -2E-256; // small negative -2^256 +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0a79fbf7d9c23148a05ca04d830a7796a664ed9c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Accept float mantisa for float values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_005 { + const float c_f1 := 2.0E2; + const float c_f2 := -2.1E-1; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2dc3fc2afa6256007bd71a9c3d1c7864d39f8939 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.0, Accept all verdict values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060100_SimpleBasicTypes_006 { + const verdicttype c_v1 := pass; + const verdicttype c_v2 := fail; + const verdicttype c_v4 := inconc; + const verdicttype c_v5 := none; + const verdicttype c_v6 := error; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b1128f2221a14366061f01a068e00d0889198d4e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access bitstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_001 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_001() runs on GeneralComp { + var bitstring v_b := '10001'B; + v_b[2] := '1'B; + if (v_b == '10101'B){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f51ce974bf5b74fc087ba781719f42059122cd54 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access octetstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_002 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_002() runs on GeneralComp { + var octetstring v_b := '100010'O; + v_b[2] := '01'O; + if (v_b == '100001'O){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c60d752cb58d8075dbc320d8025ade4ae65188a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access hexstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_003 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_003() runs on GeneralComp { + var hexstring v_b := '10001'H; + v_b[2] := '1'H; + if (v_b == '10101'H){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..652e032bcb5c942761967b039b97cf80942842e9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_004.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access bitstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_004 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_004() runs on GeneralComp { + var bitstring v_b := ''B; + v_b[0] := '1'B; + v_b[1] := '0'B; + v_b[2] := '1'B; + v_b[3] := '0'B; + v_b[4] := '1'B; + if (v_b == '10101'B){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..43e9fa79b5357cc84494ba2c34867e94b36a676e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_005.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access hexstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_005 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_005() runs on GeneralComp { + var hexstring v_b := '00000'H; + v_b[0] := '1'H; + v_b[1] := '0'H; + v_b[2] := '1'H; + v_b[3] := '0'H; + v_b[4] := '1'H; + if (v_b == '10101'H){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0eff8539f8934a9054b11a66ba107d0641a5bd4d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_006.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access octetstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_006 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_006() runs on GeneralComp { + var octetstring v_b := ''O; + v_b[0] := '10'O; + v_b[1] := '01'O; + if (v_b == '1001'O){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..45287afe694de79c31d46f868149c50816fc3ffd --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_007.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access charstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_007 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_007() runs on GeneralComp { + var charstring v_b := "abc"; + v_b[2] := "d"; + if (v_b == "abd"){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d824516d47811c05b481d19b622a256b252f7a90 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_008.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access charstring elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_008 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_008() runs on GeneralComp { + var universal charstring v_b := char (0, 0, 40, 20); + v_b[0] := "d"; + if (v_b[0] == "d"){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_009.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4d5e43acee488aaa0986b2f44166afbd79147edf --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_009.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.1.1, Access charstring elements with non printable characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010101_AccessStringElements_009 { + + type component GeneralComp {} + + testcase TC_Sem_06010101_AccessStringElements_009() runs on GeneralComp { + var universal charstring v_b := char (0, 0, 1, 116); + + + if (v_b == "Å´" ){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010101_AccessStringElements_009()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..12ecdefafdf3c2c0acd733f966756c1edaa6399c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_001.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign invalid bitstring value + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_001 { + const bitstring c_b1 := '2'B; // not an bitstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d9a660fe1a77e5f04d7f88cff6e912e63f9f8120 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_002.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign string to bitstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_002 { + const bitstring c_b1 := "1"; // not an bitstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..727035fc906d8879bbd3f6e837cccac6dd9e4405 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_003.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign octetstring to bitstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_003 { + const bitstring c_b1 := '01'O; // not an bitstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83d4d380bf5038b960335259c20c017b5bff09fb --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_004.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign invalid hexstring value + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_004 { + const hexstring c_b1 := '01H'O; // not an hexstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..185f3b9f0a6c8097b7e86c7093934dcbc0d4715c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_005.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign string to hexstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_005 { + const hexstring c_b1 := "010"; // not an hexstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6430eb1fb6c52edc8ccb2df7eb76cfc8757a1e3d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_006.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign octetstring to hexstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_006 { + const hexstring c_b1 := '01'O; // not an hexstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55583ddef7716e7a4bf9b60a1a50bb2b0d5e4c4c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_007.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign invalid hexstring value + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_007 { + const octetstring c_b1 := '1FA'O; // not an octetstring value, odd number of nibbles +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2289256bcea171ff1a2f6fb8f63f8a1487543d50 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_008.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign string to octetstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_008 { + const octetstring c_b1 := "F15A"; // not an octetstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_009.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..11055d678bd172ed83353027287544597d191735 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_009.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign hexstring to octetstring values + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_009 { + const octetstring c_b1 := 'FA'H; // not an octetstring value +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_010.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c07aff4ee990209be63bd254502cd3cebccbbfd5 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_010.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign invalid hexstring value + ** @verdict pass reject + ***************************************************/ +module NegSyn_060101_TopLevel_010 { + const octetstring c_b1 := '1FAH'O; // not an octetstring value, H not valid +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ef65ef97f2a831870b63684ebee8403bb4a736a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read bitstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_001 { + + const bitstring c_b := '10001'B; + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_001() runs on GeneralComp { + if (c_b == '10001'B){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ee60da4a9de7198c7f8a156f2f04e41027d51e1 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read hexstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_002 { + + const hexstring c_h := 'E1F0A'H; + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_002() runs on GeneralComp { + if (c_h == 'e1f0a'H){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e928541d8e473f1e9738d8450f9c77638eba635 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read octetstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_003 { + + const octetstring c_o := 'E1F30A'O; + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_003() runs on GeneralComp { + if (c_o == 'e1f30a'O){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac265d19b90c4346e026c7e98f5ae10d8272bd10 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read charstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_004 { + + const charstring c_s1 := "abcdef"; + const charstring c_s2 := "ab""cdef"; + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_004() runs on GeneralComp { + if (c_s1 == "abcdef"){ + setverdict(pass); + } + else { + setverdict(fail); + } + if (lengthof(c_s2) == 7){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..86b3d46abd5590e7711c32e44c7621a9feb65fc8 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read universal charstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_005 { + + const universal charstring c_s1 := char (0, 0, 40, 48) & char ( 0, 0, 1, 113); + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_005() runs on GeneralComp { + if (lengthof(c_s1) == 2) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af2b8fc797101ee7c33b748022701fa170246c93 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign and read universal charstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060101_TopLevel_006 { + + const universal charstring c_s1 := "the Braille character " & char (0, 0, 40, 48) & "looks like this"; + + type component GeneralComp {} + + testcase TC_Sem_611_TopLevel_006() runs on GeneralComp { + if (lengthof(c_s1) > 10) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_611_TopLevel_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1d3f0b0735e7453b3ba889220d8317134e090961 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign different bitstring values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060101_TopLevel_001 { + const bitstring c_b1 := '0'B; + const bitstring c_b2 := '1'B; + const bitstring c_b3 := '01001'B; + const bitstring c_b4 := '000000000000000000000'B; + const bitstring c_b5 := '111111111111111111111'B; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e6961eea916adec686809fc1b949c002d98a513 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign different hexstring values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060101_TopLevel_002 { + const hexstring c_h1 := '0'H; + const hexstring c_h2 := '1FaB5'H; + const hexstring c_h3 := '07aDC4'H; + const hexstring c_h4 := '0000000000000000000000000'H; + const hexstring c_h5 := 'FFFFFFFFFFFFFFFFFFFFFFFFF'H; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a23da4394c4e9f180ee27681ffd3e888d445d2d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.1, Assign different octetstring values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060101_TopLevel_003 { + const octetstring c_o1 := '00'O; + const octetstring c_o2 := '1Fa3B5'O; + const octetstring c_o3 := '07aDC4'O; + const octetstring c_o4 := '000000000000000000000000'O; + const octetstring c_o5 := 'FFFFFFFFFFFFFFFFFFFFFFFF'O; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NOTES b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..b3f4afeb740834b3da18ee1811e607c996cd01a7 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NOTES @@ -0,0 +1,2 @@ +- TODO: missing positive semantic tests for all types except bitstring +- TODO: missing negative tests for universal charstring \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..641b8be5dc7d520e136a3846ec94ee3730f72389 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted bitstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_001 { + type bitstring MyListOfBitStrings ('01'B, '10'B, '11'B); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_001() runs on GeneralComp { + var MyListOfBitStrings v_b := '00'B; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cee11657ac825a71af1c049d6ae40d2e3bcda877 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_002.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted hexstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_002 { + type hexstring MyListOfHexStrings ('01'H, '10'H); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_002() runs on GeneralComp { + var MyListOfHexStrings v_h := '00'H; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..40246bf8bc2b45971fab36d5c47d99fc6d0ee858 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_003.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted octetstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_003 { + type octetstring MyListOfOctetStrings ('01'O, '10'O); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_003() runs on GeneralComp { + var MyListOfOctetStrings v_h := '00'O; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4f62c378a136456e3e4c36a4be567f4a409eaf57 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_004.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_004 { + type charstring MyCharstr ("a", "abc"); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_004() runs on GeneralComp { + var MyCharstr v_b := "d"; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dc0caf1e6f7ce58480216f9308240e79fe0db442 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_005.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted integer. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_005 { + type integer MyInt (1, 5); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_005() runs on GeneralComp { + var MyInt v_i := 2; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55cdad65025b28730e2fddb88a392ab80ae2e18e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_006.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign values to restricted float. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010201_ListOfValues_006 { + type float MyFloat (1.0, 5.0); + + type component GeneralComp {} + + testcase TC_NegSem_06010201_ListOfValues_006() runs on GeneralComp { + var MyFloat v_f := 2.0; // value is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010201_ListOfValues_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/Sem_06010201_ListOfValues_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/Sem_06010201_ListOfValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..df81cdd7ee72809373d4d015a39f2c43e89ab55b --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/Sem_06010201_ListOfValues_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.1, Assign invalid values to restricted bitstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010201_ListOfValues_001 { + type bitstring MyListOfBitStrings ('01'B, '10'B, '11'B); + + type component GeneralComp {} + + testcase TC_Sem_06010201_ListOfValues_001() runs on GeneralComp { + var MyListOfBitStrings v_b := '10'B; + if (v_b == '10'B){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_06010201_ListOfValues_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NOTES b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..fd2607366d46d0c5469be13627ebfc0372e581d0 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NOTES @@ -0,0 +1 @@ +- TODO: missing positive and negative semantic tests for all types except bitstring diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..87869cd5f04dba16f09ea02a456f8f39d546c605 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted bitstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_001 { + type bitstring BitStrings1 ('0'B, '1'B ); + type bitstring BitStrings2 ('00'B, '01'B, '10'B, '10'B); + type bitstring BitStrings_1_2 (BitStrings1, BitStrings2); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_001() runs on GeneralComp { + var BitStrings_1_2 v_b := '11'B; // 11 is not defined by the type + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ff6d735264b5a1c22f32b5bc826f00f5873e016d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_002.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted hexstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_002 { + type hexstring HexStrings1 ('FE80'H, '01'H ); + type hexstring HexStrings2 ('00'H, '7F'H, 'B8'H, 'A0'H); + type hexstring HexStrings_1_2 (HexStrings1, HexStrings2); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_002() runs on GeneralComp { + var HexStrings_1_2 v_b; + v_b := 'FE70'H; //FE70 value is not defined by any hexstrings + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c710f0f4b08c2affdfa59e2d3e5d274b0af910c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_003.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted octetstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_003 { + type octetstring Firstoctetstrings('0036'O,'0050'O); //30 and 40 in decimal + type octetstring Secondtoctetstrings ('0074'O,'0120'O); //50 and 60 in decimal + type octetstring octetStrings_1_2 (Firstoctetstrings, Secondtoctetstrings); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_003() runs on GeneralComp { + var octetStrings_1_2 v_b; + v_b := '0014'O; // '0014'O value is not defined + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1805685aba8cf3e5990b64fb9ebe23f54c814f15 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_004.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_004 { + type charstring Firstcharstrings("abc", "def"); + type charstring Secondcharstrings("ghi", "jkl"); + type charstring charStrings_1_2 (Firstcharstrings,Secondcharstrings); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_004() runs on GeneralComp { + var charStrings_1_2 v_b; + v_b := "xyz"; // invalid charsting + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6521c63fd59cc405253a246073119292a1653598 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_005.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted universal charstrings. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_005 { + type universal charstring unicharString1 ("0" .. "9","A".."Z"); // charstring between "0" and "9" and "A".."Z" + type universal charstring unicharString2 ("a".."z"); // charstring between "a" to "z" + type universal charstring unicharStrings_1_2 (unicharString1, unicharString2); + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_005() runs on GeneralComp { + var unicharStrings_1_2 v_b; + v_b:="?"; // invalid + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ab99c08aa72584ec2a1c5d35366b1043a2ad5d0 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_006.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted integers. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_006 { + type integer Integer1 (0..9 ); + type integer Integer2 (20..30); + type integer Integer_1_2 (Integer1, Integer2); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_006() runs on GeneralComp { + var Integer_1_2 v_b; + v_b := 15; //invalid + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c2b0cd61e09f2497a908394ea9de7b76861e3aa --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_007.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted floats. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_007 { + type float Float1 (1.0E0..9E0); //float values between 1 and 9 + type float Float2 (2.0E1..3.0E1); //float values between 20 and 30 + type float Float_1_2 (Float1, Float2); + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_007() runs on GeneralComp { + var Float_1_2 v_b; + v_b := 15.5E0; //invalid + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ab30cfb48ad773118d770ae68af22e694a7a9e72 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_008.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted boolean value. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_008 { + type boolean MyBoolean1 (false); //only "false" is accepted + + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_008() runs on GeneralComp { + var MyBoolean1 v_b; + v_b := true; // invalid + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010202_ListOfTypes_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_009.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c9bfdc119000abe3f34e465769aeb013563de668 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_009.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign invalid values to list of types restricted verdicttype. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010202_ListOfTypes_009 { + type verdicttype Myverdict1 (pass, error); //only "pass" and "error" values are listed + type verdicttype Myverdict2 (inconc, none); //only "inconc" and "none" values are listed + type verdicttype Myverdict_1_2 (Myverdict1, Myverdict2); + + + type component GeneralComp {} + + testcase TC_NegSem_06010202_ListOfTypes_009() runs on GeneralComp { + var Myverdict_1_2 v_b; + v_b := fail; //invalid + setverdict(pass); + } + control{ + execute(TC_NegSem_06010202_ListOfTypes_009()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c8b3414c6b34614c1a156874551eff6462c6a7ca --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted bitstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_001 { + type bitstring BitStrings1 ('0'B, '1'B ); + type bitstring BitStrings2 ('00'B, '01'B, '10'B, '11'B); + type bitstring BitStrings_1_2 (BitStrings1, BitStrings2); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_001() runs on GeneralComp { + var BitStrings_1_2 v_b; + v_b := '10'B; + v_b := '1'B; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f403d404fa3c0388112deeb725cd48e2e722143 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_002.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted hexstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_002 { + type hexstring HexStrings1 ('FE80'H, '01'H ); + type hexstring HexStrings2 ('00'H, '7F'H, 'B8'H, 'A0'H); + type hexstring HexStrings_1_2 (HexStrings1, HexStrings2); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_002() runs on GeneralComp { + var HexStrings_1_2 v_b; + v_b := 'FE80'H; //FE80 value is defined by the type HexStrings1 + v_b := '7F'H; //7F value is defined by the type HexStrings2 + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d7b5dd135c86e61be64a4a0a818a27977b4718f3 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_003.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted octetstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_003 { + type octetstring Firstoctetstrings('0036'O,'0050'O); //30 and 40 in decimal + type octetstring Secondtoctetstrings ('0074'O,'0120'O); //50 and 60 in decimal + type octetstring octetStrings_1_2 (Firstoctetstrings, Secondtoctetstrings); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_003() runs on GeneralComp { + var octetStrings_1_2 v_b; + v_b := '0074'O; // '0074'O value is defined by the type Secondtoctetstrings + v_b := '0050'O; //'0050'O value is defined by the type Firstoctetstrings + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cb368f69f3b58667dbbb535a8231df8221cff7fd --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_004.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted charstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_004 { + type charstring Firstcharstrings("abc", "def"); + type charstring Secondcharstrings("ghi", "jkl"); + type charstring charStrings_1_2 (Firstcharstrings,Secondcharstrings); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_004() runs on GeneralComp { + var charStrings_1_2 v_b; + v_b := "abc"; + v_b := "jkl"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e80fb8d073d3678eb6b341c390d8d4ef8a3daacc --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_005.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types unicharstring allows non-printable characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_005 { + type universal charstring unicharString1 ("0" .. "9","A".."Z"); // charstring between "0" and "9" and "A".."Z" + type universal charstring unicharString2 ("a".."z"); // charstring between "a" to "z" + type universal charstring unicharStrings_1_2 (unicharString1, unicharString2); + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_006() runs on GeneralComp { + var unicharStrings_1_2 v_b; + v_b :="5"; + v_b :="H"; + v_b:="j"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..900d53543eb2ca4a9d3838401828263573dfc9db --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_006.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted integers. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_006 { + type integer Integer1 (0..9 ); + type integer Integer2 (20..30); + type integer Integer_1_2 (Integer1, Integer2); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_006() runs on GeneralComp { + var Integer_1_2 v_b; + v_b := 5; + v_b := 25; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2b53b46c4a023ea8c67325cecde07c77881eb835 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_007.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted floats. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_007 { + type float Float1 (1.0E0..9E0); //float values between 1 and 9 + type float Float2 (2.0E1..3.0E1); //float values between 20 and 30 + type float Float_1_2 (Float1, Float2); + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_007() runs on GeneralComp { + var Float_1_2 v_b; + v_b := 5.5E0; //5.5 is between 1 and 9 + v_b := 2.55E1; //25.5 is between 20 and 30 + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8dc1474d3d59c764340acc19b68bebd98c899d9d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_008.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted boolean value. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_008 { + type boolean MyBoolean1 (false,true); + + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_008() runs on GeneralComp { + var MyBoolean1 v_b; + v_b := false; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_009.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d5a3fb4b672527f8467754ffedb088c4d5d5583a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_009.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.2, Assign values to list of types restricted verdicttype. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010202_ListOfTypes_009 { + type verdicttype Myverdict1 (pass, error); //only "pass" and "error" values are listed + type verdicttype Myverdict2 (inconc, none); //only "inconc" and "none" values are listed + type verdicttype Myverdict_1_2 (Myverdict1, Myverdict2); + + + type component GeneralComp {} + + testcase TC_Sem_06010202_ListOfTypes_009() runs on GeneralComp { + var Myverdict_1_2 v_b; + v_b := pass; + v_b := none; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010202_ListOfTypes_009()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58550ad4a454db72b9b23a773d79bfd9b4c52a1a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to restricted integer. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_001 { + type integer MyIntegerRange (0 .. 255); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_001() runs on GeneralComp { + var MyIntegerRange v_i := -1; // -1 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..35026b8524f3f189da6d083eaa6483597a43506f --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_002.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to restricted integer. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_002 { + type integer MyIntegerRange (-infinity .. 0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_002() runs on GeneralComp { + var MyIntegerRange v_i := 1; // 1 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c446be62b85daba4b53e25b333e6dcf5f6e5bd86 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_003.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assure that not_a_number is not allowed in float range subtyping. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_003 { + // causes an error as not_a_number is not allowed in range subtyping + type float MyFloatRange (-infinity .. not_a_number); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_003() runs on GeneralComp { + var MyFloatRange v_i; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e857b518cbc7fe5529ae89c4bb798c5fa17968d7 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_004.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to restricted integer with exclusive bounds. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_004 { + type integer MyIntegerRange (!-3 .. 0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_004() runs on GeneralComp { + var MyIntegerRange v_i := -3; // -3 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..18ed515643962d096ec38834fdb12980eb8dfaaa --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_005.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to restricted integer with exclusive bounds. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_005 { + type integer MyIntegerRange (-infinity .. !0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_005() runs on GeneralComp { + var MyIntegerRange v_i := 0; // 0 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28a7c4d6fbce87a49d3d7c2120c29c9898f8c560 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_006.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign range to boolean not permitted. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_006 { + // only restrictions for integer, float, charstring and universal charstring are allowed in ranges + type integer MyBooleanRange (false .. true); // should be rejected + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_006() runs on GeneralComp { + var MyBooleanRange v_b1; + v_b1 := true; + v_b1 := false; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a83bcc018ceef24ee64bebf1df853ebe6cbc6d9b --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_007.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_007 { + type charstring MyCharstringRange (!"a"..!"f"); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_007() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "a"; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1373d1ae9bcafeb37e88beab2f3026e999cf7226 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_008.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_008 { + type charstring MyCharstringRange ("a"..!"f"); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_008() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "f"; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_009.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f9fa40ea6f7c1614003da61bb3782806d8992e9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_009.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_009 { + type charstring MyCharstringRange ("a".."f"); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_009() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "g"; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_009()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_010.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ab33052b82856535521e99128106f7814f44dc86 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_010.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to restricted float. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_010 { + type float MyFloatRange (-infinity .. 0.0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_010() runs on GeneralComp { + var MyFloatRange v_f := 1.0; // 1.0 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_010()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_011.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..544fa5e1b5931e8dea13d2dda4f28eab8822d3b0 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_011.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to range restricted float. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_011 { + type float MyFloatRange (-5.0 .. 0.0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_011() runs on GeneralComp { + var MyFloatRange v_f := 10.0; // 10.0 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_011()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_012.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ddcfbb186e24c41a9af23f51d2c960f536178395 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_012.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid values to range excluded restricted float. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_012 { + type float MyFloatRange (-1.0 .. !10.0); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_012() runs on GeneralComp { + var MyFloatRange v_f := 10.0; // 10.0 is outside range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_012()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_013.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3a571d558bf1af2144d9bf6b8b085b7f2eb106b9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_013.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained universal charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_013 { + type universal charstring MyUCharString (char(0, 0, 1, 111) .. !char(0, 0, 1, 113)); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_013() runs on GeneralComp { + var MyUCharString v_uc1; + v_uc1 := char(0, 0, 1, 100); // out of range + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_013()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_014.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..15bc69b0d078d60bb14f9e9e3fd9a10e3676de9d --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_014.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained universal charstring with mixed bounds. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_014 { + type universal charstring MyUCharString (char(0, 0, 1, 111) .. !char(0, 0, 1, 113)); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_014() runs on GeneralComp { + var MyUCharString v_uc1; + v_uc1 := char(0, 0, 1, 113); // 113 is excluded + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_014()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_015.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..099f0ee83da1b3dd1d8022afeefe3eae85af4024 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_015.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign invalid value to range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_015 { + type charstring MyCharstringRange ("a".."f"); + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_015() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "abcgef"; // g not allowed + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_015()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_016.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..06e337458dfe384517063dd0d97c4f541ccad22a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_016.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Invalid value infinity for range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_016 { + type charstring MyCharstringRange ("a"..infinity); // infinity not allowed for charstring + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_016() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "abcgef"; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_016()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_017.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9ca0abdcbc5b973a90bf47fd7e92f821b2bc3dbe --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_017.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Invalid value -infinity for range constrained charstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010203_Ranges_017 { + type charstring MyCharstringRange (-infinity.."d"); // -infinity not allowed for charstring + + type component GeneralComp {} + + testcase TC_NegSem_06010203_Ranges_017() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "abcgef"; + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010203_Ranges_017()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b18f5f6bf1f0ae518290c06b9dfbfa357457dd9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_001.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted integer. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_001 { + type integer MyIntegerRange (0 .. 255); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_001() runs on GeneralComp { + var MyIntegerRange v_i; + v_i := 0; + v_i := 100; + v_i := 255; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1cc44b51b7377ee69a1dd3a2d22bb3159f5cb1c3 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to infinity range restricted integer. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_002 { + type integer MyIntegerRange1 (-infinity .. 0); + type integer MyIntegerRange2 (0 .. infinity); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_002() runs on GeneralComp { + var MyIntegerRange1 v_i1; + var MyIntegerRange2 v_i2; + v_i1 := 0; + v_i1 := -100; + v_i1 := -200000; + v_i2 := 0; + v_i2 := 100; + v_i2 := 200000; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fadbd748a9f51daac77c08025f8e58e4bfaf8767 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted integer with exclusive bounds. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_003 { + type integer MyIntegerRange1 (!0 .. 255); + type integer MyIntegerRange2 (0 .. !255); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_003() runs on GeneralComp { + var MyIntegerRange1 v_i1; + var MyIntegerRange2 v_i2; + v_i1 := 1; // 0 not allowed + v_i1 := 100; + v_i1 := 255; + v_i2 := 0; + v_i2 := 100; + v_i2 := 254; // 255 not allowed + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4defcd82d0ed459c992671b7cd280dfe193536d9 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_004.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted cahrstring with inclusive bounds. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_004 { + type charstring MyCharstringRange ("a".."f"); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_004() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "a"; + v_c1 := "c"; + v_c1 := "f"; + v_c1 := "acdef"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7b639d7121f3ff2c168934796207e3d15adcf79e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_005.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted cahrstring with exclusive bounds. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_005 { + type charstring MyCharstringRange (!"a"..!"f"); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_005() runs on GeneralComp { + var MyCharstringRange v_c1; + v_c1 := "b"; + v_c1 := "c"; + v_c1 := "d"; + v_c1 := "e"; + v_c1 := "bcde"; + v_c1 := "bbeeebccdee"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3276205cd84ee7fda5a84389d1d3666c521b102e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted cahrstring with mixed bounds. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_006 { + type charstring MyCahrstringRange (!"a".."f"); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_006() runs on GeneralComp { + var MyCahrstringRange v_c1; + v_c1 := "b"; + v_c1 := "c"; + v_c1 := "d"; + v_c1 := "e"; + v_c1 := "f"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b83e87e6f9056a0e5b645440fc14fa48b0051179 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_007.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted universal charstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_007 { + type universal charstring MyUCharString (char(0, 0, 1, 111) .. char(0, 0, 1, 113)); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_007() runs on GeneralComp { + var MyUCharString v_uc1; + v_uc1 := char(0, 0, 1, 111); + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19ee20a6b51f44a5a1a710d82c4ab85816eef1be --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_008.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.1.2.3, Assign values to range restricted universal charstring with mixed bounds. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010203_Ranges_008 { + // Defines a string type of any length with each character within the range (111 or 112) + type universal charstring MyUCharString (char(0, 0, 1, 111) .. !char(0, 0, 1, 113)); + + type component GeneralComp {} + + testcase TC_Sem_06010203_Ranges_008() runs on GeneralComp { + var MyUCharString v_uc1; + v_uc1 := char(0, 0, 1, 111); + v_uc1 := char(0, 0, 1, 112); + v_uc1 := char(0, 0, 1, 112) & char(0, 0, 1, 112); + v_uc1 := char(0, 0, 1, 112) & char(0, 0, 1, 111) & char(0, 0, 1, 112); + setverdict(pass); + } + + control{ + execute(TC_Sem_06010203_Ranges_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NOTES b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..fd2607366d46d0c5469be13627ebfc0372e581d0 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NOTES @@ -0,0 +1 @@ +- TODO: missing positive and negative semantic tests for all types except bitstring diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9cdb01822c7aa2e8cf8da4c2c46e3c87f0be3e5b --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted bitstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_001 { + type bitstring BitStrings length(1 .. 2); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_001() runs on GeneralComp { + var BitStrings v_b := '111'B; // value length 3 != type length is 1 or 2 + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5b4bc15ecd3a12d71a17e94482442616b47dc6c4 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_002.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted bitstring. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_002 { + type bitstring BitStrings length(2); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_002() runs on GeneralComp { + var BitStrings v_b := '111'B; // value length 3 != type length is 2 + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d112ffb758a911496444696861a86f4dc1a2ea11 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_003.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted hexstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_003 { + type hexstring HexStrings1 length(3); //3 hexadecimal digits + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_003() runs on GeneralComp { + var HexStrings1 v_b1; + v_b1 := 'FE00'H; //invalid length 4 + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..623e68e5c1494c7d0a878dedb679f7e2b857b484 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_004.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted hexstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_004 { + type hexstring HexStrings1 length(2 .. infinity); //hexadecimal digits between 2 and 5 + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_004() runs on GeneralComp { + var HexStrings1 v_b1; + v_b1 := 'A'H; //invalid length 1 + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e86fa238c2e52caa20fd48f67490955f206ca6e2 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_005.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted octetstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_005 { + type octetstring ocStrings1 length(4); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_005() runs on GeneralComp { + var ocStrings1 v_b1; + v_b1 := 'FE8001'O; //3 octets invalid length + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9622ab33b694acaa3e7ded616ab8b9243545c70a --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_006.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted octetstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_006 { + type octetstring ocStrings1 length(2..infinity); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_006() runs on GeneralComp { + var ocStrings1 v_b1; + v_b1 := 'FE'O; //1 octet invalid length + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_007.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c689f9cbbfc8e610c26dce0fd47d71f48fb14569 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_007.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted charstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_007{ + type charstring myStrings1 length(2..infinity); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_007() runs on GeneralComp { + var myStrings1 v_b1; + v_b1 := "a"; //1 charc. length + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_008.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b37c19ecf7cb9fbe0de762653e347b7812e4ee68 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_008.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign invalid values to length restricted charstring + ** @verdict pass reject + ***************************************************/ +module NegSem_06010204_StringLenghtRestrict_008{ + type charstring myStrings1 length(2); + + type component GeneralComp {} + + testcase TC_NegSem_06010204_StringLenghtRestrict_008() runs on GeneralComp { + var myStrings1 v_b1; + v_b1 := "abc"; //2 characters length req. + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010204_StringLenghtRestrict_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d5f8f5977a15b615a9eab0d653c3ffdae48e648 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_001.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, upper boundary should be greater than lower boundary in string lenght restictions + ** @verdict pass reject + ***************************************************/ +module NegSyn_06010204_StringLenghtRestrict_001 { + type hexstring HexStrings1 length(3 .. 1); // upper bounder is smaller than lower bound + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..411b78a9a4f37b08f91b03c18f99bd40c9ad5f24 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSyn_06010204_StringLenghtRestrict_002.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, boundary integers should be non negative integers + ** @verdict pass reject + ***************************************************/ +module NegSyn_06010204_StringLenghtRestrict_001 { + type hexstring HexStrings1 length(0 .. -5); // negative boundary for length + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8c8cab3e01a6abf9b3dff45b8fa9505fa4bc6f32 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign values to list of types restricted bitstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010204_StringLenghtRestrict_001 { + type bitstring BitStrings1 length(1 .. 2); + type bitstring BitStrings2 length(5); + type bitstring BitStrings3 length(0 .. infinity); + + type component GeneralComp {} + + testcase TC_Sem_06010204_StringLenghtRestrict_001() runs on GeneralComp { + var BitStrings1 v_b1; + var BitStrings2 v_b2; + var BitStrings3 v_b3; + v_b1 := '10'B; + v_b1 := '1'B; + v_b2 := '10000'B; + v_b3 := '111111'B; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010204_StringLenghtRestrict_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe0008979e04ea16f7432c182fc2ee40a0e67658 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign values to list of types restricted hexstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010204_StringLenghtRestrict_002 { + type hexstring HexStrings1 length(1 .. 2); + type hexstring HexStrings2 length(4); + type hexstring HexStrings3 length(0 .. infinity); + + type component GeneralComp {} + + testcase TC_Sem_06010204_StringLenghtRestrict_002() runs on GeneralComp { + var HexStrings1 v_b1; + var HexStrings2 v_b2; + var HexStrings3 v_b3; + v_b1 := 'F'H; + v_b1 := 'FE'H; + v_b2 := 'FE80'H; + v_b3 := 'FFFFFFFFFF'H; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010204_StringLenghtRestrict_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f692f623c6e2d40d669a1b784460d3faa5649853 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign values to list of types restricted octetstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010204_StringLenghtRestrict_003 { + type octetstring ocStrings1 length(2 .. 4); + type octetstring ocStrings2 length(4); + type octetstring ocStrings3 length(0 .. infinity); + + type component GeneralComp {} + + testcase TC_Sem_06010204_StringLenghtRestrict_003() runs on GeneralComp { + var ocStrings1 v_b1; + var ocStrings2 v_b2; + var ocStrings3 v_b3; + v_b1 := 'FE80'O; //2 octets + v_b1 := 'FE8001'O; //3 octets + v_b2 := 'FE800201'O; //4 octets + v_b3 := 'FE830043'O; //4 octets + setverdict(pass); + } + + control{ + execute(TC_Sem_06010204_StringLenghtRestrict_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6305b676507053b273a74bae07e1d41d70d11c91 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_004.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.1.2.4, Assign values to list of types restricted charstring. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010204_StringLenghtRestrict_004 { + type charstring myStrings1 length(2 .. 4); //length between 2 and 4 characters + type charstring myStrings2 length(4); //fixed length 4 characters + type charstring myStrings3 length(0 .. infinity); //unlimited character length + + type component GeneralComp {} + + testcase TC_Sem_06010204_StringLenghtRestrict_004() runs on GeneralComp { + var myStrings1 v_b1; + var myStrings2 v_b2; + var myStrings3 v_b3; + v_b1 := "ab"; //2 characters + v_b1 := "abc"; //3 characters + v_b2 := "efgh"; //fixed 4 characters + v_b3 := "abcdefghijklm"; //unlimited + setverdict(pass); + } + + control{ + execute(TC_Sem_06010204_StringLenghtRestrict_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NOTES b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..ffe1dc1dd1b1a881633977867117e51db5740b8b --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NOTES @@ -0,0 +1 @@ +- TODO: missing positive and negative semantic tests for universal charstring diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NegSem_06010205_StringPattern_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NegSem_06010205_StringPattern_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..823e46e80d62dc4cfe84524c2b0e0a996e79eabc --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NegSem_06010205_StringPattern_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.5, Assign invalid values to pattern restricted character strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_06010205_StringPattern_001 { + type charstring MyString (pattern "?bc*xyz"); + + type component GeneralComp {} + + testcase TC_NegSem_06010205_StringPattern_001() runs on GeneralComp { + var MyString v_c := "abcyz"; // value missing x + setverdict(pass); + } + + control{ + execute(TC_NegSem_06010205_StringPattern_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ecc6c36ad4079c94a9298c3d19011a67dfae225f --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.5, Assign values to pattern restricted character strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010205_StringPattern_001 { + type charstring MyString (pattern "abc*xyz"); + + type component GeneralComp {} + + testcase TC_Sem_06010205_StringPattern_001() runs on GeneralComp { + var MyString v_c; + v_c := "abcxyz"; + v_c := "abc123xyz"; + v_c := "abc:xyz"; + v_c := "abc...xyz"; + v_c := "abc*xyz"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010205_StringPattern_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce84c651fa34085b46db8630f24afe2049ee3039 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.5, Assign values to pattern restricted character strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06010205_StringPattern_002 { + type charstring MyString (pattern "abc?xyz"); + + type component GeneralComp {} + + testcase TC_Sem_06010205_StringPattern_002() runs on GeneralComp { + var MyString v_c; + v_c := "abc1xyz"; + v_c := "abc:xyz"; + v_c := "abc.xyz"; + v_c := "abc*xyz"; + v_c := "abc?xyz"; + setverdict(pass); + } + + control{ + execute(TC_Sem_06010205_StringPattern_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..432f4a701310800a149eaf00c48f455217f9af9f --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.1, Assign invalid values to mixed restricted floats. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020601_MixingSubtype_001 { + type float lessThanPiAndNaN (-infinity .. 3142E-3, not_a_number); + + type component GeneralComp {} + + testcase TC_NegSem_0601020601_MixingSubtype_001() runs on GeneralComp { + var lessThanPiAndNaN v_f := 4.0; // value out of range + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020601_MixingSubtype_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4dacfd352ae70d3022a878e4635300cb34ac91e5 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_002.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.1, Assign invalid values to mixed restricted integers. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020601_MixingSubtype_002 { + type integer MyInt (1, 5, 10, 100 .. infinity); + + type component GeneralComp {} + + testcase TC_NegSem_0601020601_MixingSubtype_002() runs on GeneralComp { + var MyInt v_i := 6; // value out of range + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020601_MixingSubtype_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2d8235d32b7787882da4a1b226762a34c68cf172 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.1, Assign values to mixed restricted floats. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020601_MixingSubtype_001 { + type float lessThanPiAndNaN (-infinity .. 3142E-3, not_a_number); + + type component GeneralComp {} + + testcase TC_Sem_0601020601_MixingSubtype_001() runs on GeneralComp { + var lessThanPiAndNaN v_f; + v_f := 3.14E0; + v_f := 0.0; + v_f := -4E40; + v_f := not_a_number; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020601_MixingSubtype_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49f8bed448e111a485cea3506b24421ab57a4d0c --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.1, Assign values to mixed restricted integers. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020601_MixingSubtype_002 { + type integer MyInt (1, 5, 10, 100 .. infinity); + + type component GeneralComp {} + + testcase TC_Sem_0601020601_MixingSubtype_002() runs on GeneralComp { + var MyInt v_i; + v_i := 1; + v_i := 5; + v_i := 10; + v_i := 100; + v_i := 1000; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020601_MixingSubtype_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NOTES b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..ffe1dc1dd1b1a881633977867117e51db5740b8b --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NOTES @@ -0,0 +1 @@ +- TODO: missing positive and negative semantic tests for universal charstring diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4b96e0fad9158d1020d9ff7f1bba7d70283a2c76 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted character strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_001 { + type charstring MyString (pattern "?bc*xyz") length (5 .. 8); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_001() runs on GeneralComp { + var MyString v_c := "abcyz"; // value missing x + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e6a015068099407a6090d8d79e1f2d504fb3bf84 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_002.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted character strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_002 { + type charstring MyString (pattern "?bc*xyz") length (5 .. 8); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_002() runs on GeneralComp { + var MyString v_c := "abc123xyz"; // value length 9 exceeds 8 + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c490bc0742c412a991872ada1292a8c96333b3cb --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_003.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted character strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_003 { + type charstring MyString ("a".."z") length (3 .. 8); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_003() runs on GeneralComp { + var MyString v_c := "abc1xyz"; // char 1 not allowed + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..21e8cf190663af719d9e0b49f2a733568bba1c4e --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_004.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted bit strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_004 { + type bitstring MyString ('111'B, '101010'B, '111111'B) length (4 .. 8); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_004() runs on GeneralComp { + var MyString v_c := '111'B; // value lenght 3 not allowed + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce6f521df7474c6a2833ac9d13c5e33597e35c55 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_005.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted hex strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_005 { + type hexstring MyString ('1F1'H, '103A10'H, '111111'H) length (4 .. 8); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_005() runs on GeneralComp { + var MyString v_c := '1F1'H; // value lenght 3 not allowed + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f715fa34e6a2e9fcdb344fb1125b6ac97e3010bf --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_006.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign invalid values to mixed restricted octet strings. + ** @verdict pass reject + ***************************************************/ +module NegSem_0601020602_StringMixing_006 { + type octetstring MyString ('FF1111'O, '101010A3'O, 'FFFFFFFFFF'O) length (4); + + type component GeneralComp {} + + testcase TC_NegSem_0601020602_StringMixing_006() runs on GeneralComp { + var MyString v_c := 'FF1111'O; // value lenght 3 not allowed + setverdict(pass); + } + + control{ + execute(TC_NegSem_0601020602_StringMixing_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_001.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..147109767fe55bb3924bdde27dc3211b193726f1 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted character strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_001 { + type charstring MyString (pattern "abc*xyz") length (5 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_001() runs on GeneralComp { + var MyString v_c; + v_c := "abcxyz"; + v_c := "abc12xyz"; + v_c := "abc:xyz"; + v_c := "abc..xyz"; + v_c := "abc*xyz"; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_002.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bf9ca0d36de845b28e48629cd567b29d841f60a5 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_002.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted character strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_002 { + type charstring MyString ("a".."z") length (3 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_002() runs on GeneralComp { + var template MyString v_c; + v_c := "abc"; + v_c := "abcdefgh"; + v_c := pattern "abc?def"; + v_c := pattern "abc*xyz"; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_003.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19ee2efddbe5f9b3d791843a1276e8dd6dd7ae19 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_003.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted character strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_003 { + type charstring MyString ("abcdef", "abc", "123abc") length (3 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_003() runs on GeneralComp { + var MyString v_c; + v_c := "123abc"; + v_c := "abc"; + v_c := "abcdef"; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_004.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b79c2165cbe8f12939bc38a24cd86306dc29d5fd --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_004.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted bit strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_004 { + type bitstring MyString ('111'B, '101010'B, '111111'B) length (3 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_004() runs on GeneralComp { + var MyString v_c; + v_c := '111'B; + v_c := '101010'B; + v_c := '111111'B; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_005.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..063c44167fe7d4269764010374cb80478ad21c25 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_005.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted hex strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_005 { + type hexstring MyString ('1F1'H, '103A10'H, '111111'H) length (3 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_005() runs on GeneralComp { + var MyString v_c; + v_c := '1F1'H; + v_c := '103A10'H; + v_c := '111111'H; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_006.ttcn b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..46c9121a30f16bc0445c4cc2da820a59af10ba80 --- /dev/null +++ b/ATS/06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_006.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.1.2.6.2, Assign values to mixed restricted octet strings. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0601020602_StringMixing_006 { + type octetstring MyString ('FF1111'O, '101010A3'O, 'FFFFFFFFFF'O) length (3 .. 8); + + type component GeneralComp {} + + testcase TC_Sem_0601020602_StringMixing_006() runs on GeneralComp { + var MyString v_c; + v_c := 'FF1111'O; + v_c := '101010A3'O; + v_c := 'FFFFFFFFFF'O; + setverdict(pass); + } + + control{ + execute(TC_Sem_0601020602_StringMixing_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..81b34d1ac78430b05ac2e956bfca24e1b0d101d5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The dot notation used in record type definitions is correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060201_RecordTypeValues_001 { + +type component GeneralComp { +} + + type record R { + integer field1 (1 .. 10), + charstring field2 optional + } + + type R ConstrainedRecord ({1, omit}, {2, "xyz"}, {3, "zyx"}) ; + + type ConstrainedRecord.field1 MyInteger; + +testcase TC_NegSem_060201_RecordTypeValues_001() runs on GeneralComp { + + var MyInteger v_int := 11; // assignment from outside of the carried over (1 .. 10) range constraint + +} + +control { + execute(TC_NegSem_060201_RecordTypeValues_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fca08b0d1c8a71fb8e434a8a6640daa6f8e2a2d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451, re-numbering done by STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060201_RecordTypeValues_002 { + +type component GeneralComp { +} + + type record R { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_NegSem_060201_RecordTypeValues_002() runs on GeneralComp { + + var R v_assigned := { 1, 2 } with { optional "implicit omit" } + template R m_check := { 1, omit, 2, omit, omit } + + if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned + setverdict(pass); + } + +} + +control { + execute(TC_NegSem_060201_RecordTypeValues_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6eaab589793141fec40a823752188dbbc704d9cf --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSem_060201_RecordTypeValues_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 451, re-numbering done by STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060201_RecordTypeValues_003 { + +type component GeneralComp { +} + + type record R { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_NegSem_060201_RecordTypeValues_003() runs on GeneralComp { + + var R v_assigned := { 1, 2 } with { optional "implicit omit" } //rejected since f3 stays undefined + +} + +control { + execute(TC_NegSem_060201_RecordTypeValues_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4db23423303c8f914615da897456679465054d61 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_001.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409, re-numbering done by STF470 + ** @version 0.0.1 + ** @purpose 1:6.2, The omit keyword shall not be used for mandatory fields. + ** @verdict pass reject + ***************************************************/ +module NegSyn_060201_RecordTypeValues_001 { + type record MyRecord { + integer field1, + MyRecord field2 optional, + integer field3 + } + const MyRecord c_rec := { + field1 := 5, + field2 := omit, + field3 := omit // not optional + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da14aa4bcb3c0205178cb7a4c14842208270a469 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/NegSyn_060201_RecordTypeValues_002.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409, re-numbering done by STF470 + ** @version 0.0.1 + ** @purpose 1:6.2, The omit keyword shall not be used for mandatory fields. + ** @verdict pass reject + ***************************************************/ +module NegSyn_060201_RecordTypeValues_002 { + type record MyRecord { + integer field1, + MyRecord field2 optional, + integer field3 + } + const MyRecord c_rec := { + field1 := 5, + field2 := -, + field3 := omit // not optional + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..08e3f53fabf66e518b0046b4d21c4aacd9ae4433 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The dot notation used in record type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_001 { + +type component GeneralComp { +} + + type record R { + integer field1 (1 .. 10), + charstring field2 optional + } + + type R ConstrainedRecord ({1, omit}, {2, "xyz"}, {3, "zyx"}) ; + + type ConstrainedRecord.field1 MyInteger; + +testcase TC_Sem_060201_RecordTypeValues_001() runs on GeneralComp { + + var MyInteger v_int := 9; // v_int is allowed in (1 .. 10) range + + if (v_int==9) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed5e728ddaddc9151bb3e36c731cdb55c07c5fbf --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_002.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The dot notation used in record type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_002 { + +type component GeneralComp { +} + + type record R { + integer field1 (1 .. 10), + charstring field2 optional + } + + type R ConstrainedRecord ({1, omit}, {2, "xyz"}, {3, "zyx"}) ; + + type ConstrainedRecord.field2 MyChar; + +testcase TC_Sem_060201_RecordTypeValues_002() runs on GeneralComp { + + var MyChar v_char := "abc"; // any character string is allowed + + if (v_char=="abc") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cdfda9fb49ff4c937ab7c9b9f99bc0fde8f6f385 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The dot notation used in record type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_003 { + +type component GeneralComp { +} + + type record R { + integer field1 (1 .. 10), + charstring field2 optional + } + + type R.field1 MyInteger; + +testcase TC_Sem_060201_RecordTypeValues_003() runs on GeneralComp { + + var MyInteger v_int := 9; // v_int is allowed in (1 .. 10) range + + if (v_int==9) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ea4d622e96b06e64544f2d8c42af39c5e054e4ca --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The dot notation used in record type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_004 { + +type component GeneralComp { +} + + type record R { + integer field1 (1 .. 10), + charstring field2 optional + } + + + type R.field2 MyChar; + +testcase TC_Sem_060201_RecordTypeValues_004() runs on GeneralComp { + + var MyChar v_char := "abc"; // any character string is allowed + + if (v_char=="abc") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_004()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b2e2fb13a05bdabf41eff5699f73b3d54343692 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_005.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 451, re-numbering done by STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_005 { + +type component GeneralComp { +} + + type record R { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_Sem_060201_RecordTypeValues_005() runs on GeneralComp { + + var R v_assigned := { 1, -, 2 } with { optional "implicit omit" } + template R m_check := { 1, omit, 2, omit, omit } + + if (match(v_assigned,m_check)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_005()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d7076f4a204443279547b6d295eaaabdd79b0681 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_006.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 451, re-numbering done by STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_006 { + +type component GeneralComp { +} + + type record R { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + + const R c_assigned := { 1, -, 2 } with { optional "implicit omit" } + +testcase TC_Sem_060201_RecordTypeValues_006() runs on GeneralComp { + + template R m_check := { 1, omit, 2, omit, omit } + + if (match(c_assigned,m_check)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_006()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8bb22ef6e5627edaf5f966a7e4db7ab2a097759a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Sem_060201_RecordTypeValues_007.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 451, re-numbering done by STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060201_RecordTypeValues_007 { + +type component GeneralComp { +} + + type record R { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_Sem_060201_RecordTypeValues_007() runs on GeneralComp { + + var R v_assigned := { 1, 2, 3 } with { optional "implicit omit" } + + if ( match(v_assigned.f1,1) + and match(v_assigned.f3,3) + and not ispresent(v_assigned.f4) + and not ispresent(v_assigned.f5) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060201_RecordTypeValues_007()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1cb7953529056526a9b38fa0cab70d0a8e914c79 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_001.ttcn @@ -0,0 +1,19 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2.1, The element identifiers are local to the record and shall be unique within the record (but do not have to be globally unique). + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060201_RecordTypeValues_001 { + const integer field2 := 4; // do not edit the name + + type record MyRecordType { + integer field1, + MyOtherRecordType field2 optional, + charstring field3 + } + type record MyOtherRecordType { + bitstring field1, + boolean field2 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..baa481cc750b75890d5cbe11a021551419be140b --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_002.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2.1, Ensure that the IUT correctly handles empty record definitions. + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060201_RecordTypeValues_002 { + type record MyRecordType { + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..284600f54c16aeae688275869d1ce4034f925326 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The dot notation used in set type definitions is correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060202_SetTypeValues_001 { + +type component GeneralComp { +} + + type set S { + integer field1 (1 .. 10), + charstring field2 optional + } + + type S ConstrainedSet ({1, omit}, {2, "xyz"}, {3, "zyx"}) ; + + type ConstrainedSet.field1 MyInteger; + +testcase TC_NegSem_060202_SetTypeValues_001() runs on GeneralComp { + + var MyInteger v_int := 11; // assignment from outside of the carried over (1 .. 10) range constraint + +} + +control { + execute(TC_NegSem_060202_SetTypeValues_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dffd6a53876cf01f8d31ba65987a5c4ba99fd543 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060202_SetTypeValues_002 { + +type component GeneralComp { +} + + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_NegSem_060202_SetTypeValues_002() runs on GeneralComp { + + var S v_assigned := { 1, 2 } with { optional "implicit omit" } + template S m_check := { 1, omit, 2, omit, omit } + + if (match(v_assigned,m_check)) { //cannot match undefined components of v_assigned + setverdict(pass); + } + +} + +control { + execute(TC_NegSem_060202_SetTypeValues_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..87db5b5dfb98406a6f84a7a6cb5ce4ba4b590090 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSem_060202_SetTypeValues_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060202_SetTypeValues_003 { + +type component GeneralComp { +} + + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_NegSem_060202_SetTypeValues_003() runs on GeneralComp { + + var S v_assigned := { 1, 2 } with { optional "implicit omit" } //rejected since f3 stays undefined + +} + +control { + execute(TC_NegSem_060202_SetTypeValues_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c7b4691f0a28a6d90dbcc7f798b628636a7b433b --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_001.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @purpose 1:6.2, The omit keyword shall not be used for mandatory fields. + ** @verdict pass reject + ***************************************************/ +module NegSyn_060202_SetTypeValues_001 { + type set MySet { + integer field1, + MySet field2 optional, + integer field3 + } + const MySet c_set := { + field1 := 5, + field2 := omit, + field3 := omit // not optional + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8d02d3ce12a9351e2d440f667756243ba511997f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/NegSyn_060202_SetTypeValues_002.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @purpose 1:6.2, The omit keyword shall not be used for mandatory fields. + ** @verdict pass reject + ***************************************************/ +module NegSyn_060202_SetTypeValues_002 { + type record MySet { + integer field1, + MySet field2 optional, + integer field3 + } + const MySet c_set := { + field1 := 5, + field2 := -, + field3 :=omit // not optional + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03f655b91f4eba0bef4dc6983f736e98e8b93b1d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The dot notation used in set type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_001 { + +type component GeneralComp { +} + + type set S { + integer field1 (1 .. 10), + charstring field2 optional + } + + type S ConstrainedSet ({1, omit}, {2, "xyz"}, {3, "zyx"}) ; + + type ConstrainedSet.field1 MyInteger; + +testcase TC_Sem_060202_SetTypeValues_001() runs on GeneralComp { + + var MyInteger v_int := 9; // v_int is allowed in (1 .. 10) range + + if (v_int==9) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d8e8f73a836fd54449deda6e31d4d26aa920898f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_002.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The dot notation used in set type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_002 { + +type component GeneralComp { +} + + type set S { + integer field1 (1 .. 10), + charstring field2 optional + } + + type S ConstrainedSet ({1, omit}, {2, "xyz"}, {3, "zyx"}); + + type ConstrainedSet.field2 MyChar; + +testcase TC_Sem_060202_SetTypeValues_002() runs on GeneralComp { + + var MyChar v_char := "abc"; // any character string is allowed + + if (v_char=="abc") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..068aa802296ba95b3460da7833b79106a0f8a0ef --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The dot notation used in set type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_003 { + +type component GeneralComp { +} + + type set S { + integer field1 (1 .. 10), + charstring field2 optional + } + + type S.field1 MyInteger; + +testcase TC_Sem_060202_SetTypeValues_003() runs on GeneralComp { + + var MyInteger v_int := 9; // v_int is allowed in (1 .. 10) range + + if (v_int==9) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4774b13c6ab2c3414916d507469e41d6dd94ca39 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The dot notation used in set type definitions is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_004 { + +type component GeneralComp { +} + + type set S { + integer field1 (1 .. 10), + charstring field2 optional + } + + + type S.field2 MyChar; + +testcase TC_Sem_060202_SetTypeValues_004() runs on GeneralComp { + + var MyChar v_char := "abc"; // any character string is allowed + + if (v_char=="abc") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_004()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e83e103a82520dd44c7caa75fa5f15058d033213 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_005.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_005 { + +type component GeneralComp { +} + + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_Sem_060202_SetTypeValues_005() runs on GeneralComp { + + var S v_assigned := { 1, -, 2 } with { optional "implicit omit" } + template S m_check := { 1, omit, 2, omit, omit } + + if (match(v_assigned,m_check)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_005()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e5fcbf4d11fa102ee32668447c56780acc41ee1e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_006.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_006 { + +type component GeneralComp { +} + + type set S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + + const S c_assigned := { 1, -, 2 } with { optional "implicit omit" } + +testcase TC_Sem_060202_SetTypeValues_006() runs on GeneralComp { + + template S m_check := { 1, omit, 2, omit, omit } + + if (match(c_assigned,m_check)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_006()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce73a30fbfcbd0c71799bb7ec1a1c1ccf438656c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Sem_060202_SetTypeValues_007.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF470 + ** @version 0.0.1 + ** @desc Test cases for clause 6.2 + ** @purpose 1:6.2, Ensure that assignments with "implicit omit" attribute are correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060202_SetTypeValues_007 { + +type component GeneralComp { +} + + type record S { + integer f1, + integer f2 optional, + integer f3, + integer f4 optional, + integer f5 optional + } + +testcase TC_Sem_060202_SetTypeValues_007() runs on GeneralComp { + + var S v_assigned := { 1, 2, 3 } with { optional "implicit omit" } + + if ( match(v_assigned.f1,1) + and match(v_assigned.f3,3) + and not ispresent(v_assigned.f4) + and not ispresent(v_assigned.f5) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060202_SetTypeValues_007()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d727b0945b3c8c383bd65963bfb4e911af934ee0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_001.ttcn @@ -0,0 +1,19 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, The element identifiers are local to the set and shall be unique within the record (but do not have to be globally unique). + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060202_SetTypeValues_001 { + const integer field2 := 4; // do not edit the name + + type set MySetType { + integer field1, + MyOtherSetType field2 optional, + charstring field3 + } + type set MyOtherSetType { + bitstring field1, + boolean field2 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58bb4511bf67f382bf2d72bfd9197edf1e71ae1d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060202_set_type_and_values/Syn_060202_SetTypeValues_002.ttcn @@ -0,0 +1,10 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.2, Ensure that the IUT correctly handles empty set definitions. + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_060202_SetTypeValues_002 { + type set MySetType { + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3f896e3dd8949c5f48c161e6d3ec6e312b14d15 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, ensure that the inner type referencing is correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060203_records_and_sets_of_single_types_001 { + + type component GeneralComp { + } + + type record length (5) of record of integer ConstrainedStructure (1 .. 10); + type ConstrainedStructure[-] RecordOfInt; + +testcase TC_NegSem_060203_records_and_sets_of_single_types_001() runs on GeneralComp { + + var RecordOfInt v_rec := { 8, 11, 2, 3, 4, 5, 6, 7 }; // a value is outside the restricted range + +} + +control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..948b7bc3b5d98fde4627696a3f03648429d216a7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, ensure that the inner type referencing is correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060203_records_and_sets_of_single_types_002 { + + type component GeneralComp { + } + + type record of record length (5) of integer ConstrainedStructure (1 .. 10); + type ConstrainedStructure[-] RecordOfInt; + +testcase TC_NegSem_060203_records_and_sets_of_single_types_002() runs on GeneralComp { + + var RecordOfInt v_rec := { 8, 1, 2, 3, 4, 5, 6, 7 }; // a record is longer than the restricted length + +} + +control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5bf514947bb8a695a0c4295c1e8e9adc32c8ec77 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_003.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, negative index applied to a record of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_003 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_003() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + var integer i := v_rec[-1]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_003()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65f2bcc29e43538abdd45e3572cbccb7e417dbff --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_004.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, negative index applied to a set of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_004 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_004() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + var integer i := v_set[-1]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_004()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..978dbcd186bcc05cf45a27582c67a306b88c00e5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_005.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, negative index applied to a record of value on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_005 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_005() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec[-1] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_005()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4bb940fff0ef46719fe7ec5a0124a54925c57f25 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_006.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, negative index applied to a set of value on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_006 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_006() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set[-1] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_006()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a25b9113e8b4448f7fd765875956a50b17d404a0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_007.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, wrong index type applied to a record of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_007 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_007() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + var integer i := v_rec["0"]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_007()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4eb40b568fbbca91e803118a99d55cb35912937d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_008.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, wrong index type applied to a set of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_008 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_008() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + var integer i := v_set["0"]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_008()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f6a0893da79af18dc51ce2d0504886403fe6284e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_009.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, wrong index type applied to a record of value on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_009 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_009() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec["0"] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_009()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..66c620fc8221f05ab3cee8b030c2118fe421ac69 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_010.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, wrong index type applied to a set of value on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060203_records_and_sets_of_single_types_010 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_010() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set["0"] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_010()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_011.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b4d62519c7d1fb3cfb3c90f810b0f118f5de4d0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_011.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, record of index greater than the upper bound (left-hand side) + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The index value shall not exceed the limitation placed by length subtyping. + +// Note: right-hand side is not tested, because such an element is non-existent +// and it is impossible to find out whether expected error is caused by this +// this requirement or the rule concerning referencing non-existent elements. + +module NegSem_060203_records_and_sets_of_single_types_011 { + + type component GeneralComp { + } + + type record length (0..3) of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_011() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec[3] := 3; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_011()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_012.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..498a300143d08f79d5ba9f85444c40fe010a1df2 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_012.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, set of index greater than the upper bound (left-hand side) + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The index value shall not exceed the limitation placed by length subtyping. + +// Note: right-hand side is not tested, because such an element is non-existent +// and it is impossible to find out whether expected error is caused by this +// this requirement or the rule concerning referencing non-existent elements. + +module NegSem_060203_records_and_sets_of_single_types_012 { + + type component GeneralComp { + } + + type set length (0..3) of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_012() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set[3] := 3; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_012()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_013.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..32164cc9b086e6c61cc0f1e5f4aec82586d9b4fc --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_013.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, wrong index type applied to a record of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// If the value of the element indicated by the index at the right-hand of an +// assignment is undefined (uninitialized), this shall cause a semantic or +// run-time error.) +module NegSem_060203_records_and_sets_of_single_types_013 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_013() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + var integer i := v_rec[3]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_013()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_014.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f299f8b3ce82c42e65ca77998cc7c60c11dea4d0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_014.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, wrong index type applied to a record of value on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// If the value of the element indicated by the index at the right-hand of an +// assignment is undefined (uninitialized), this shall cause a semantic or +// run-time error.) +module NegSem_060203_records_and_sets_of_single_types_014 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_NegSem_060203_records_and_sets_of_single_types_014() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + var integer i := v_set[3]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060203_records_and_sets_of_single_types_014()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_015.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..69b515903729dab36c2c0527c9c79941080c1749 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSem_060203_records_and_sets_of_single_types_015.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify than an error is generated when sending a partially initialized record of value + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Undefined elements are permitted only in transient states (while the value +// remains invisible). Sending a record of value with undefined elements shall +// cause a test case error. + +module NegSem_060203_records_and_sets_of_single_types_015 { + + type record of integer RoI; + + type port P message { + inout RoI + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_060203_records_and_sets_of_single_types_015() runs on GeneralComp { + var template RoI mw_sendingTemplate := {0, -, 2}; + p.send(mw_sendingTemplate); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_060203_records_and_sets_of_single_types_015()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSyn_060203_records_and_sets_of_single_types_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSyn_060203_records_and_sets_of_single_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..881520f5b1d3bcd40e1c04ebfbae41a92b540330 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/NegSyn_060203_records_and_sets_of_single_types_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, ensure that value list cannot contain an empty assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// No empty assignment is allowed (e.g. two commas, the second immediately +// following the first or only with white space between them). +module NegSyn_060203_records_and_sets_of_single_types_001 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_NegSyn_060203_records_and_sets_of_single_types_001() runs on GeneralComp { + + var RecordOfInt v_rec := { 0, , 2 }; // syntax error expected + + } + + control { + execute(TC_NegSyn_060203_records_and_sets_of_single_types_001()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b901d367d5fab313492cce18ad5a4e24080bef5c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, ensure that the inner type referencing is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060203_records_and_sets_of_single_types_001 { + + type component GeneralComp { + } + + type record length (5) of record of integer ConstrainedStructure (1 .. 10); + type ConstrainedStructure[-] RecordOfInt; //references the inner record of integer(1..10) + +testcase TC_Sem_060203_records_and_sets_of_single_types_001() runs on GeneralComp { + + var RecordOfInt v_rec := { 8, 1, 2, 3, 4, 5, 6, 7, 9 }; // any record length is allowed + + if (v_rec[7]==7) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060203_records_and_sets_of_single_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..67c65f0763c50217b3b6f3031048d7ce4245a1f7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_002.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify assignment of explicitly identified elements to record of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When the assignment notation is used for record of s, elements +// wished to be changed are identified explicitly and either a value +// or the not used symbol "-" can be assigned to them... +// At initialization, only the elements to be assigned values shall be +// specified... It is also possible to leave fields explicitly unspecified +// using the not used symbol "-". +module Sem_060203_records_and_sets_of_single_types_002 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_002() runs on GeneralComp { + + var RoI v_rec := { + [0] := 0, + [1] := 1, + [2] := - + }; + + if (v_rec[0] == 0 and v_rec[1] == 1 and not isbound(v_rec[2]) + and lengthof (v_rec & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_002()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97dbcc9903ec9b7a8aea6d3be8f8960db645952a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_003.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify assignment of explicitly identified elements to set of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When the assignment notation is used for set of s, elements +// wished to be changed are identified explicitly and either a value +// or the not used symbol "-" can be assigned to them... +// At initialization, only the elements to be assigned values shall be +// specified... It is also possible to leave fields explicitly unspecified +// using the not used symbol "-". +module Sem_060203_records_and_sets_of_single_types_003 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_003() runs on GeneralComp { + + var SoI v_set := { + [0] := 0, + [1] := 1, + [2] := - + }; + + if (v_set[0] == 0 and v_set[1] == 1 and not isbound(v_set[2]) + and lengthof (v_set & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_003()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..654aed3baf63af8b1096563db23c8eb56e632bdd --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_004.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of missing elements in assignment notation for record of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When the assignment notation is used for record of s, ... +// fields, not referred to in the notation, shall remain unchanged.... +// At initialization ... elements not mentioned are implicitly left +// uninitialized. +module Sem_060203_records_and_sets_of_single_types_004 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_004() runs on GeneralComp { + + var RoI v_rec := { + [1] := 1 + }; + + if (not isbound(v_rec[0]) and v_rec[1] == 1) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_004()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d99f999d2dd536753b23362043e2ef884a0b08d8 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_005.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of missing elements in assignment notation for set of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When the assignment notation is used for record of s, ... +// fields, not referred to in the notation, shall remain unchanged.... +// At initialization ... elements not mentioned are implicitly left +// uninitialized. +module Sem_060203_records_and_sets_of_single_types_005 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_005() runs on GeneralComp { + + var SoI v_set := { + [1] := 1 + }; + + if (not isbound(v_set[0]) and v_set[1] == 1) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_005()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b278ad8ed2e01abd4589d79960bc50cf7ecae8de --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_006.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of missing and ignored elements during record of value re-assignment + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When re-assigning a previously initialized value, using the not used symbol +// or just skipping a field or element in an assignment notation, will cause +// that field or element to remain unchanged. +module Sem_060203_records_and_sets_of_single_types_006 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_006() runs on GeneralComp { + + var RoI v_rec := { + [0] := 0, + [1] := -, + [2] := 2 + }; + v_rec := { + [1] := 1 + }; + if (v_rec == { 0, 1, 2 }) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060203_records_and_sets_of_single_types_006()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c5bd70924ccd14d52ca0efcdcc0f29da95c18ce --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_007.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of missing and ignored elements during record of value re-assignment + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When re-assigning a previously initialized value, using the not used symbol +// or just skipping a field or element in an assignment notation, will cause +// that field or element to remain unchanged. +module Sem_060203_records_and_sets_of_single_types_007 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_007() runs on GeneralComp { + + var SoI v_set := { + [0] := 0, + [1] := -, + [2] := 2 + }; + v_set := { + [1] := 1 + }; + if (v_set == { 0, 1, 2 }) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_007()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f823b10f474462415277497c358ea2f5e5bddb29 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_008.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of value list assignment used for initialization of record of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When using the value list notation, all elements in the structure shall +// be specified either with a value or the not used symbol "-". The first +// member of the list is assigned to the first element, the second list +// member is assigned to the second element, etc. +module Sem_060203_records_and_sets_of_single_types_008 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_008() runs on GeneralComp { + + var RoI v_rec := { 0, 1, - }; + if (v_rec[0] == 0 and v_rec[1] == 1 and not isbound(v_rec[2]) + and lengthof (v_rec & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_008()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5a592220c9f50684d54d98fe71455ca6e0cfe90e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_009.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of value list assignment used for initialization of set of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// When using the value list notation, all elements in the structure shall +// be specified either with a value or the not used symbol "-". The first +// member of the list is assigned to the first element, the second list +// member is assigned to the second element, etc. +module Sem_060203_records_and_sets_of_single_types_009 { + + type component GeneralComp { + } + + type record of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_009() runs on GeneralComp { + + var SoI v_set := { 0, 1, - }; + if (v_set[0] == 0 and v_set[1] == 1 and not isbound(v_set[2]) + and lengthof (v_set & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_009()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c858f54b2254a4ee4204c3228bbb2db4d99ca3a2 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_010.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of value list assignment used for update of record of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Elements to be left out of the assignment shall be explicitly skipped in the list +// by use of the not-used-symbol "-". Already initialized elements left without +// a corresponding list member in a value list notation (i.e. at the end of a list) +// are becoming uninitialized. In this way, a value with initialized elements can be +// made empty by using the empty value list notation ("{}"). +module Sem_060203_records_and_sets_of_single_types_010 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_010() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec := { 10, - }; + if (v_rec == { 10, 1 } ) { + setverdict(pass); + } + else { + setverdict(fail); + } + v_rec := {}; + if (lengthof(v_rec) == 0 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_010()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_011.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3e78291cb3be9c30bf482615526352bc473407e0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_011.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of value list assignment used for update of set of values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Elements to be left out of the assignment shall be explicitly skipped in the list +// by use of the not-used-symbol "-". Already initialized elements left without +// a corresponding list member in a value list notation (i.e. at the end of a list) +// are becoming uninitialized. In this way, a value with initialized elements can be +// made empty by using the empty value list notation ("{}"). +module Sem_060203_records_and_sets_of_single_types_011 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_011() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set := { 10, - }; + if (v_set == { 10, 1 } ) { + setverdict(pass); + } + else { + setverdict(fail); + } + v_set := {}; + if (lengthof(v_set) == 0 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_011()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_012.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..592bd78aa472614781cc3ed59bcf4e5ff0a165bc --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_012.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of index notation applied to record of values on right-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Indexed value notations can be used on the right-hand side of assignments. +// The index notation, when used on the right hand side, refers to the value of +// the identified element of a record of. +module Sem_060203_records_and_sets_of_single_types_012 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_012() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + var integer i := v_rec[1]; + if (i == 1 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_012()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_013.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1a153be00302882333bb2d46ea45ba959272ca0a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_013.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of index notation applied to set of values on right-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Indexed value notations can be used on the right-hand side of assignments. +// The index notation, when used on the right hand side, refers to the value of +// the identified element of a record of. +module Sem_060203_records_and_sets_of_single_types_013 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_013() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + var integer i := v_set[1]; + if (i == 1 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_013()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_014.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a47f001ce0bd815026d5facf0bbdd997ce9f144 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_014.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of index notation applied to record of values on left-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Indexed value notations can be used on the left-hand side of assignments. +// When it is used at the left hand side, only the value of the identified +// single element is changed, values assigned to other elements already remain +// unchanged. +module Sem_060203_records_and_sets_of_single_types_014 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_014() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec[1] := 10; + if (v_rec == { 0, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_014()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_015.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55e282d4e75918d28775507b345eaabaff71004a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_015.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify handling of index notation applied to set of values on left-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Indexed value notations can be used on the left-hand side of assignments. +// When it is used at the left hand side, only the value of the identified +// single element is changed, values assigned to other elements already remain +// unchanged. +module Sem_060203_records_and_sets_of_single_types_015 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_015() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set[1] := 10; + if (v_set == { 0, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_015()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_016.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94d6c52db11227bf4e2ae9c6671a5a4fe861eefc --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_016.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify the first element of a record of value is accessible by an index notation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The index of the first element shall be zero. +module Sem_060203_records_and_sets_of_single_types_016 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_016() runs on GeneralComp { + + var RoI v_rec := { 0, 1, 2 }; + v_rec[0] := 10; // first index on the left hand side + v_rec[1] := v_rec[0]; // first index on the right hand side + if (v_rec == { 10, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_016()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_017.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fb2f92f12eb6ea3e44c56fd2ba3435b5db87b142 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_017.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify the first element of a set of value is accessible by an index notation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The index of the first element shall be zero. +module Sem_060203_records_and_sets_of_single_types_017 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_017() runs on GeneralComp { + + var SoI v_set := { 0, 1, 2 }; + v_set[0] := 10; // first index on the left hand side + v_set[1] := v_set[0]; // first index on the right hand side + if (v_set == { 10, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_017()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_019.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec8b801cb8a152b767ce9679148d9c5b9e47f136 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_019.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, referencing non-existent element of record of value (left-hand side) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If an indexing operator at the left-hand side of an assignment refers to +// a non-existent element, the value at the right-hand side is assigned to +// the element and all elements with an index smaller than the actual index +// and without assigned value are created with an undefined value. +module Sem_060203_records_and_sets_of_single_types_019 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_019() runs on GeneralComp { + + var RoI v_rec := { 0, 1 }; + v_rec[3] := 3; // {0, 1, -, 3} + if (v_rec[0] == 0 and + v_rec[1] == 1 and + not isbound(v_rec[2]) and + v_rec[3] == 3) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_019()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_020.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d328c8f26003c9458dd79d29506b4fdda28dfb12 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_020.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, referencing non-existent element of set of value (left-hand side) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If an indexing operator at the left-hand side of an assignment refers to +// a non-existent element, the value at the right-hand side is assigned to +// the element and all elements with an index smaller than the actual index +// and without assigned value are created with an undefined value. +module Sem_060203_records_and_sets_of_single_types_020 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_020() runs on GeneralComp { + + var SoI v_set := { 0, 1 }; + v_set[3] := 3; // {0, 1, -, 3} + if (v_set[0] == 0 and + v_set[1] == 1 and + not isbound(v_set[2]) and + v_set[3] == 3) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_020()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_021.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..600b449576da012831ec92c620310525eb741426 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_021.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, referencing element of uninitialized record of value (left-hand side) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If an indexing operator at the left-hand side of an assignment refers to +// a non-existent element, the value at the right-hand side is assigned to +// the element and all elements with an index smaller than the actual index +// and without assigned value are created with an undefined value. +module Sem_060203_records_and_sets_of_single_types_021 { + + type component GeneralComp { + } + + type record of integer RoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_021() runs on GeneralComp { + + var RoI v_rec; + v_rec[2] := 2; // {-, -, 2} + if (not isbound(v_rec[0]) and + not isbound(v_rec[1]) and + v_rec[2] == 2) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_021()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_022.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..682f730bbad0ef9a1094ed420d40e4c0c9a22081 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060203_records_and_sets_of_single_types/Sem_060203_records_and_sets_of_single_types_022.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3, referencing element of uninitialized set of value (left-hand side) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If an indexing operator at the left-hand side of an assignment refers to +// a non-existent element, the value at the right-hand side is assigned to +// the element and all elements with an index smaller than the actual index +// and without assigned value are created with an undefined value. +module Sem_060203_records_and_sets_of_single_types_022 { + + type component GeneralComp { + } + + type set of integer SoI; + + testcase TC_Sem_060203_records_and_sets_of_single_types_022() runs on GeneralComp { + + var SoI v_set; + v_set[2] := 2; // {-, -, 2} + if (not isbound(v_set[0]) and + not isbound(v_set[1]) and + v_set[2] == 2) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060203_records_and_sets_of_single_types_022()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/.project b/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/.project new file mode 100644 index 0000000000000000000000000000000000000000..639c14037dab7fc7ab0fadacf2f7c585fc840468 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/.project @@ -0,0 +1,40 @@ + + + 060205_unions + + + + + + de.ugoe.cs.swe.trex.ui.rulebuilder + + + + + de.ugoe.cs.swe.trex.ui.compilerbuilder + + + + + + de.ugoe.cs.swe.trex.ui.trexnature + + + + .svn + 2 + virtual:/virtual + + + .svn/entries + 1 + copy_PARENT/TTCN3TOOLS_CON/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/.svn/entries + + + + + copy_PARENT + $%7BPARENT-2-PROJECT_LOC%7D/TTCN3TOOLS_CON/ATS/06_types_and_values + + + diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/Sem_001_init_union.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/Sem_001_init_union.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..35d7b75a08bbcea6f21cc2718b2479a71b3385a9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060205_unions/Sem_001_init_union.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.5.2, Ensure that union is initialized by dot notation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_001_init_union { + type union MyUnionType + { + integer number, + charstring string + }; + + type component GeneralComp { + }; + + + testcase tc_Sem_001_init_union () runs on GeneralComp { + var MyUnionType v_mut ; + v_mut.number := 0; + + if (v_mut.number == 0) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(tc_Sem_001_init_union()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c8eaddb802cd6fcdeec63b688a0e99bc70d51d9d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_001.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that after redeclaration of an anytype value the old type and value are lost + ** @verdict pass reject + ***************************************************/ +module NegSem_060206_anytype_001 { + type component GeneralComp { + +var anytype Var1, Var2; + +} + +testcase TC_NegSem_060206_anytype_001() runs on GeneralComp { + +Var1.integer := 10; +Var2.float := 3.0E0; + +Var1.float := 5.5E0; +Var2.charstring := "abc"; // the new type of Var2 is charstring instead of float + + if (Var1.integer==10 and Var2.float==3.0E0) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_NegSem_060206_anytype_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c970c3e9b39284777f09f37503277eea069da8b --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSem_060206_anytype_002.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, Ensure that anytype can not be address type if not explicitly declareted in the module + ** @verdict pass reject + ***************************************************/ +module NegSem_060206_anytype_002 { + +type component GeneralComp { + + var anytype x; +} + + +testcase TC_NegSem_060206_anytype_002() runs on GeneralComp { + +x.address:=10; // error: address type is not declarated in the module explicitly + + + if (x.address==10) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_NegSem_060206_anytype_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..880126889cd2f3232498b297bd6988b3c6badcc0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can not be a default type + ** @verdict pass reject + ***************************************************/ + +module NegSyn_060206_anytype_001 { + +type default Mydef; + +type component GeneralComp { + var Mydef y:= null; + var anytype x; + +} + + +testcase TC_NegSyn_060206_anytype_001() runs on GeneralComp { + +x.Mydef := y; // default type is not allowed with anytype + + + + if (x.Mydef == null) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_NegSyn_060206_anytype_001()); +} + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d17d4f00678bcbb4bb596ba1662aba7ede9487ee --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_002.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype cannot be port type + ** @verdict pass reject + ***************************************************/ + + +module NegSyn_060206_anytype_002 { + + +type port MyPort message{ + address integer; + inout integer; +}; + +type component GeneralComp { +var anytype x; +port MyPort PCO1; + +} + + +testcase TC_NegSyn_060206_anytype_002() runs on GeneralComp { + +x.MyPort:= PCO1; // port type is not allowed with anytype + + +} + +control { + execute(TC_NegSyn_060206_anytype_002()); +} + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0bb9ed65430d894e438d24c5aa2e05784ae96fd6 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/NegSyn_060206_anytype_003.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that component type not allowed for anytype + ** @verdict pass reject + ***************************************************/ + +module NegSyn_060206_anytype_003 { + +type component MyComp{ +var integer b; +} + +type component GeneralComp extends MyComp { + + var anytype c; + +} + + +testcase TC_NegSyn_060206_anytype_003() runs on GeneralComp { + +b := 10; + +c.MyComp:= b; // Component type is not allowed with anytype + + + +} + +control { + execute(TC_NegSyn_060206_anytype_003()); +} + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d9a152f482c912e37d1834cfe682937200a2830 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_001.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype comprise integer data type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_001 { + + + type component GeneralComp { + +var anytype Var1, Var2; +var integer Var3; +} + + +testcase TC_Sem_060206_anytype_001() runs on GeneralComp { + +Var1.integer := 10; +Var2:= {integer := Var1.integer + 3}; +Var3 := Var2.integer * 2; + + if (Var3==26) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2ae5f5a4021adc9692d19e9bb9cae6b89d14e320 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_002.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype comprise float data type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_002 { + type component GeneralComp { + +var anytype Var1, Var2; +var float Var3; + +} + +testcase TC_Sem_060206_anytype_002() runs on GeneralComp { + +Var1.float := 10.5; +Var2:= {float := Var1.float + 3.0}; +Var3 := Var2.float * 2.0; + + if (Var3==27.0) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0506d96a2d8409d42be5b0e59c86d3eef7005b8f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_003.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype comprise boolean data type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_003 { + type component GeneralComp { + +var anytype Var1, Var2,Var3; +var boolean Var4, Var5; + +} + +testcase TC_Sem_060206_anytype_003() runs on GeneralComp { + +Var1.boolean := true; +Var2.boolean:=true; +Var3.boolean := not Var1.boolean; // not true = false + +Var4 := Var1.boolean and Var2.boolean; // true and true = true +Var5 := Var1.boolean and Var3.boolean; // true and false = false + + if (Var4 ==true and Var5==false) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6088b26bbbf7363049885623e76f739cbc7fdd36 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_004.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype comprise verdicttype data type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_004 { + type component GeneralComp { + +var anytype Var1, Var2; +var verdicttype c; + +} + +testcase TC_Sem_060206_anytype_004() runs on GeneralComp { + +Var1.verdicttype := pass; +Var2.verdicttype:=fail; + +c :=Var1.verdicttype; + + if (c ==pass and Var2.verdicttype==fail) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_004()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a82fd17aea6540fc61aa5efe4696d0c70f26205d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_005.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype comprise bitstring and hexstring data type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_005 { + type component GeneralComp { + +var anytype Var1, Var2; +} + +testcase TC_Sem_060206_anytype_005() runs on GeneralComp { + +Var1.bitstring := '1010'B; +Var2.hexstring:='FE80'H; + + + if (Var1.bitstring == '1010'B and Var2.hexstring=='FE80'H) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_005()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..464072fedaf0ec666147a05b54215afc013b9173 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_006.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that ensure that anytype comprise octetstring and charstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_006 { + + type component GeneralComp { + +var anytype MyVarOne, MyVarTwo; +var octetstring MyVarThree; +var charstring MyString1; +} + +testcase TC_Sem_060206_anytype_006() runs on GeneralComp { + +MyVarOne.octetstring := 'FF70'O; //a float in anytype +MyVarTwo.charstring :="abc"; // a charstring in the same anytype + +MyVarThree:=MyVarOne.octetstring; +MyString1:=MyVarTwo.charstring&"def"; // "abc" & "def" =>"abcdef" + + if (MyVarThree=='FF70'O and MyString1=="abcdef" ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_006()); +} + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a73987d66ad3518247558482c89e8770ea621a73 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_007.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that ensure that anytype comprise universal charstring + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_007{ + + type component GeneralComp { + var anytype MyVarOne; + var universal charstring MyVarThree; + } + +testcase TC_Sem_060206_anytype_007() runs on GeneralComp { + + + MyVarOne.universal charstring := "FF80"; //a universal charstring in anytype + + MyVarThree:=MyVarOne.universal charstring; + + if (MyVarThree=="FF80") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_007()); +} + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0eafdc1b359f8c3b36574316a9032e82c573a6d8 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_008.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype is a valid value inside an union + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_008 { + type component GeneralComp { + var anytype c; +} + +type union R + { + anytype cs1 //Union type R element is an anytype data + } + + +testcase TC_Sem_060206_anytype_008() runs on GeneralComp { + +c.R.cs1.charstring := "abc"; // The element of Uninon R becomes a charstring + + if (c.R.cs1.charstring =="abc") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_008()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fd27532514572da9d747550976c324461dae27b3 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_009.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that record values can be anytype + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_009 { + + type record MyRec + { + anytype cs1 //Record type MyRec element is an anytype data + } + + type component GeneralComp { + var MyRec R; + var anytype c,d; +} + + + + +testcase TC_Sem_060206_anytype_009() runs on GeneralComp { + + +R.cs1.charstring:= "abc"; // cs1 in R record is now charstring +c.charstring :=R.cs1.charstring; // anytype c becomes a charstring + +R.cs1.integer:= 15; // cs1 in R record now integer +d.integer := R.cs1.integer; //anytype d becomes integer + + + if ((c.charstring=="abc") and (d.integer == 15)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_009()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6696d73f0204c2ca914a093a0127d85f34e96689 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_010.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can be an enum type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_010 { + type component GeneralComp { +} + +type enumerated Myenum +{ +FirstElement, +SecondElement +} + +testcase TC_Sem_060206_anytype_010() runs on GeneralComp { + +var anytype c; +c.Myenum:= FirstElement; // anytype c follows the type Myenum and the value of c should be FirstElement + + if (c.Myenum ==FirstElement) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_010()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_011.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9cfbc791c488df745c0b7993b65809cc3c078818 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_011.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can have an set value and set value can be anytype + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_011 { + type component GeneralComp { +} + +type set MySet +{ +integer First, +charstring Second, +anytype Third //3rd element of this type of set is anytype +} + +testcase TC_Sem_060206_anytype_011() runs on GeneralComp { + +var anytype c; +var MySet S; // Set S from type MySet + +c.MySet.Second := "abc"; // anytype c becomes a charstring +S.Third.float:=15.5; // The 3rd element in set S is now becomes a float with value 15.5 + + + if ((c.MySet.Second =="abc") and (S.Third.float==15.5)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_011()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_012.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c1d63e5a4c718c8c88c0935c75a9e38d0d1010c1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_012.ttcn @@ -0,0 +1,47 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that redeclaration of an anytype value works properly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_012 { + +type record R + { + anytype R1 // R Record type contains an anytype element. + }; + +type component GeneralComp { + +var anytype Var_1, Var_2,Var_3; +var R MyRec; + +} + +testcase TC_Sem_060206_anytype_012() runs on GeneralComp { + +Var_1.integer := 10; // Var_1 integer with value of 10 +Var_2.float := 3.0E0; // Var_2 float with value of 3.0 +MyRec.R1.float := 3.5E0; // record MyRec R1 element is now a float with value of 3.5 + +Var_3.float := MyRec.R1.float + Var_2.float; // Var_3 is float type = 3.5 + 3.0 + +// changing types: +Var_1.float := 5.5E0; // Var_1 float with value of 5.5 +Var_2.charstring := "abc"; // Var_2 charstring with value of "abc" +MyRec.R1.charstring := "def"; // record MyRec R1 element is now a charstring with value of "def" + + if (Var_1.float==5.5E0 and Var_2.charstring=="abc" and Var_3.float==6.5E0 and MyRec.R1.charstring=="def") { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_012()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_013.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb72fb909b0711d84ecd9acc11fa6df01912c527 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_013.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that address type is included to anytype (if it has been explicitly defined within that module) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_013 { + + +type integer address; // definition of address type globally + + +type component GeneralComp { + + var anytype x; +} + + +testcase TC_Sem_060206_anytype_013() runs on GeneralComp { + +x.address:=10; // anytype x now address type with value integer 10 + + + if (x.address==10) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_013()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_014.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ca0a558735cf3010e445fa242f7dfd103a837ff9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_014.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can be record type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_014 { + +type record MyRec1{ + charstring field1, + boolean field2 }; + + +type component GeneralComp { + + var anytype x; // anytype x variable + + var MyRec1 y := { + field1:= "abc", + field2:= true }; // record y contains field1=abc and field2=true + +} + + +testcase TC_Sem_060206_anytype_014() runs on GeneralComp { + +x.MyRec1 := y; // anytype x now gets the type MyRec1 and the values given by y. + + + if ((x.MyRec1.field1=="abc")and(x.MyRec1.field2==true)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_014()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_015.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..454c9e9c350c058bf56625ea71e0aa13397114f1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_015.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can act as a set type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_015 { + +type set MySet{ + charstring field1, + boolean field2 }; + + +type component GeneralComp { + + var anytype x; // anytype x variable + + var MySet y := { + field1:= "abc", + field2:= true }; // Set y contains field1=abc and field2=true + +} + + +testcase TC_Sem_060206_anytype_015() runs on GeneralComp { + +x.MySet := y; // anytype x now gets the type MySet and the values given by y. + + + if ((x.MySet.field1=="abc")and(x.MySet.field2==true)) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_015()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_016.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8157d17324a38c57506ebfb414ad7fd1082b3308 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_016.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can act as an union + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_016 { + +type union MyUnion1 { +integer number, +charstring string +}; + + +type component GeneralComp { + + var anytype x; // anytype x variable + var MyUnion1 y; + +} + + +testcase TC_Sem_060206_anytype_0016() runs on GeneralComp { + +y.number:=11; +y.string := "abc"; // Union y contains field1=abc and field2=true + + +x.MyUnion1:= y; // anytype x now gets the type MyUnion1 and the values given by y. + + if (valueof(x.MyUnion1)==valueof(y)) + { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_0016()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_017.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a9cc6c207c35a0651acedb142df27b9bf4d1790 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_017.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can comprise array type + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_017 { + +type integer MyArray[1..3]; // MyArray type is an integer array with 3 elements + + +type component GeneralComp { + + var anytype x; // Anytype x variable + var MyArray y := {1,2,4}; // y array follows type MyArray with values 1,2,4 + +} + + +testcase TC_Sem_060206_anytype_0017() runs on GeneralComp { + +x.MyArray := y; // anytype x now follows type MyArray and gets the values of 1,2,4 as given in array y. + + + if (x.MyArray[1]==1 and x.MyArray[2]==2 and x.MyArray[3]==4 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_0017()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_018.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e48efcde0926962aa1ba84be8d17704497ae2093 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_018.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype can comprise set of and record of types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060206_anytype_018 { + +type record of integer FirstRecordOf; // record of integers +type set of boolean FirstSetOf; // set of booleans + + +type component GeneralComp { + + var anytype x; // Anytype x and y variables + var anytype y; + + var FirstRecordOf MyVar1 := { 0, 5, 2, -, 6 }; // MyVar1 follows type FirstRecordOf with values 0,5,2,-,6 + var FirstSetOf MyVar2 := { true, -,-, false, true}; // MyVar2 follows type FirstSetOf with values true,-,-,false,true + +} + + +testcase TC_Sem_060206_anytype_0018() runs on GeneralComp { + +x.FirstRecordOf := MyVar1; // anytype x is now a record of type with values of MyVar1 +y.FirstSetOf := MyVar2; // anytype x is now a set of type with values of MyVar2 + + if (x.FirstRecordOf[0]==0 and x.FirstRecordOf[4]==6 and y.FirstSetOf[0]==true and y.FirstSetOf[3]==false ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_0018()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_019.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6625dc655b3ed6b78cb60403e8c0aeae64757284 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060206_anytype/Sem_060206_anytype_019.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.0.6, ensure that anytype (as a user defined type) can be imported from another module + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060206_anytype_019 { +import from Sem_060206_anytype_019_import all; // this contains a type (anytype) MyAnyType + +type component GeneralComp { +var MyAnyType x; // MyAnyType is an anytype defined in module Sem_060206_anytype_017_import +var MyAnyType y; +} + + +testcase TC_Sem_060206_anytype_019() runs on GeneralComp { + +x.float := 10.0E0; //anytype x is now a float with value 10.0 +y.bitstring := '1010'B; //anytype y is now a bitstring with value 1010 + + if (x.float == 10.0E0 and y.bitstring =='1010'B) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060206_anytype_019()); +} + +} + + +module Sem_060206_anytype_019_import +{ + + type anytype MyAnyType; + + + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a821284b9cd5a3817d8dac17757216e82cb61360 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that the value limitation is correctly handled within array + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_001 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + +testcase TC_NegSem_060207_arrays_001() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 11, 2, 3, 4}; // syntax error expected, value shall be between 1..10 + +} + +control { + execute(TC_NegSem_060207_arrays_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e8f3ea7171b68cb3d7088c26be98fb2127af30d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_002.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that the inner type referencing is correctly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_002 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + +testcase TC_NegSem_060207_arrays_002() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4, 5, 6}; // array is longer than the restricted length + +} + +control { + execute(TC_NegSem_060207_arrays_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..84d0eed9795825696dc99221a5fce80270a63d5a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_003.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, negative index applied to an array on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Implicit rule, formal requirement requested in CR 6646 (resolution expected +// in TTCN-3:2014) +module NegSem_060207_arrays_003 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_003() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + var integer i := v_array1[-1]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_003()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bbff35e0f4998537e7a6b8034c44178776c346b6 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, negative index applied to an array on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_004 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_004() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + v_array1[-1] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_004()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a451d9ea7231f2e3b3c306b1bc99495ee0fcea3f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_005.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, wrong index type applied to an array on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +module NegSem_060207_arrays_005 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_005() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + var integer i := v_array1["0"]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_005()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c2bcb457fab4f1964347cb5b220fbaeb2ce695f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_006.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, wrong index type applied to an array on the left hand side of an assignment + ** @verdict pass reject + ***************************************************/ + +module NegSem_060207_arrays_006 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_006() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + v_array1["0"] := 10; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_006()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b208e46a9bdd2ead5528369db101eacdfd1c2a1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_007.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, array index greater than the upper bound (left-hand side) + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_007 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_007() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + v_array1[5] := 3; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_007()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0a88e933d1b04966f5380074c97c0a135033c643 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_008.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, wrong index type applied to an array on the right hand side of an assignment + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_008 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSem_060207_arrays_008() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 9, 2, 3, 4}; + var integer i := v_array1[5]; // error expected + setverdict(pass); + } + + control { + execute(TC_NegSem_060207_arrays_008()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e55642438f8dc9aefa8f428dbc813b53085ec85c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_009.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify than an error is generated when sending a partially initialized array + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_009 { + + type integer MyArrayType1[5] (1 .. 10); + + type port P message { + inout MyArrayType1 + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_060207_arrays_009() runs on GeneralComp { + var template MyArrayType1 m_array1 := { 8, 9, -, 3, 4}; + p.send(m_array1); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_060207_arrays_009()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..09861aebd9e1fb1e8fd6dfe27a3d914016fefced --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSem_060207_arrays_010.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that the value limitation is correctly handled within array + ** @verdict pass reject + ***************************************************/ +module NegSem_060207_arrays_010 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + +testcase TC_NegSem_060207_arrays_010() runs on GeneralComp { + + var MyArrayType1 v_array1 := { + [0] := 8, + [1] := 0,// error expected, value shall be between 1..10 + [2] := 2, + [2] := 3, + [2] := 4 + }; + +} + +control { + execute(TC_NegSem_060207_arrays_010()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2299237977d54db704031e005c98732c5bf639e0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that array cannot contain an empty assignment + ** @verdict pass reject + ***************************************************/ + +module NegSyn_060207_arrays_001 { + + type component GeneralComp { + } + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSyn_060207_arrays_001() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, , 2, 3, 4}; // syntax error expected + + } + + control { + execute(TC_NegSyn_060207_arrays_001()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d41ad7bc912fb7605c8f5305d4af827f92bb3973 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that array field cannot contain an empty index + ** @verdict pass reject + ***************************************************/ +module NegSyn_060207_arrays_002 { + + type component GeneralComp { + } + + + type integer MyArrayType1[5] (1 .. 10); + + testcase TC_NegSyn_060207_arrays_002() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 10, 2, 3, 4}; + v_array1[] := 10; // error expected - missing index + } + + control { + execute(TC_NegSyn_060207_arrays_002()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c916a59234aa2e5fa160bf4adeac88ef6bd68783 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/NegSyn_060207_arrays_003.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that array field cannot contain an empty index + ** @verdict pass reject + ***************************************************/ +module NegSyn_060207_arrays_002 { + + type component GeneralComp { + } + + + type integer MyArrayType1[5] (1 .. 10); + + + testcase TC_NegSyn_060207_arrays_002() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 10, 2, 3, 4}; + var integer i :=v_array1[];// error expected - missing index + } + + control { + execute(TC_NegSyn_060207_arrays_002()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f7f3a16c84a0c4911d4aa893b472a9a5ff0078c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_001.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify that value list notation can be used for an array + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_001 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + +testcase TC_Sem_060207_arrays_001() runs on GeneralComp { + + var MyArrayType1 v_array1 := { 8, 1, 2 }; + if (v_array1[2]==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060207_arrays_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..09f924c4a4785e25440cd8693548ecb93c4ed7f9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_002.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify assignment of explicitly identified elements to arrays + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_002 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_002() runs on GeneralComp { + + var MyArrayType1 v_array1 := { + [0] := 8, + [1] := 1, + [2] := - + }; + + if (v_array1[0] == 8 and v_array1[1] == 1 and not isbound(v_array1[2]) + and lengthof (v_array1 & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_002()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f216b1ebdb19339de37c2c82f8c2b3b06c90a483 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_003.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify handling of missing elements in assignment notation for arrays + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060207_arrays_003 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_003() runs on GeneralComp { + + var MyArrayType1 v_array1 := { + [1] := 1 + }; + + if (not isbound(v_array1[0]) and v_array1[1] == 1) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_060207_arrays_003()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7edfab9c47049fe48fe1766990409a9548afafe5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_004.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify handling of missing and ignored elements during an array re-assignment + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060207_arrays_004 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_004() runs on GeneralComp { + + var MyArrayType1 v_array1 := { + [0] := 8, + [1] := -, + [2] := 2 + } + + v_array1[1] := 1; + + if (v_array1 == { 8, 1, 2 }) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060207_arrays_004()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..77196f69cfe9766c92b32557a7f6ebfeb5936f23 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_005.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify handling of value list assignment used for initialization of arrays + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_005 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_005() runs on GeneralComp { + var MyArrayType1 v_array1 := {8, -, 2} + if (v_array1[0] == 8 and v_array1[2] == 2 and not isbound(v_array1[1]) + and lengthof (v_array1 & {2}) == 4) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_005()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..25e78bfc08de215e1e828555a88d6b62213dd5b7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_006.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.4, verify handling of value list assignment used for update of arrays + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_006 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_006() runs on GeneralComp { + + var MyArrayType1 v_array1 := {8, -, 2} + v_array1 := {8, 1, 2}; + if (v_array1 == { 8, 1, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_006()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5683d22f65217052b3f5073634cd6e6306c97eee --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_007.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify handling of index notation applied to array on right-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060207_arrays_007 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_007() runs on GeneralComp { + + var MyArrayType1 v_array1 := {8, 1, 2} + var integer i := v_array1[1]; + if (i == 1 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_007()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f4dab872522f2d11af29533ec9842d78ce0ecdc --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_008.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify handling of index notation applied to array on left-hand side + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060207_arrays_008 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_008() runs on GeneralComp { + + var MyArrayType1 v_array1 := {8, 1, 2} + v_array1[1] := 10; + if (v_array1 == { 8, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_008()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4017870e3cffde6c1b417e8d94ff28c2d67d7a28 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_009.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.3.2, verify the first element of an array is accessible by an index notation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The index of the first element shall be zero. +module Sem_060207_arrays_009 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_009() runs on GeneralComp { + + var MyArrayType1 v_array1 := {10, 1, 2}; + v_array1[0] := 10; // first index on the left hand side + v_array1[1] := v_array1[0]; // first index on the right hand side + if (v_array1 == { 10, 10, 2} ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_009()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9ee9a9b35655e14df7cb46c8b5cb1e0d9b9cf481 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_010.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify that arrays can be used to specify record of type and they are compatible + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_010 { + + type component GeneralComp { + } + + type integer MyArrayType1[3]; + type record length (3) of integer MyRecordOfType1; + + testcase TC_Sem_060207_arrays_010() runs on GeneralComp { + + var MyArrayType1 a1 := {7, 8, 9}; + var MyRecordOfType1 r1 := {7, 8, 9}; + + if (r1 == a1) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_010()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_011.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..29b327674189dbfd44008381da7e2102ddaddcc6 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_011.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify that arrays can be used to specify record of type and they are compatible + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If an indexing operator at the left-hand side of an assignment refers to +// a non-existent element, the value at the right-hand side is assigned to +// the element and all elements with an index smaller than the actual index +// and without assigned value are created with an undefined value. +module Sem_060207_arrays_011 { + + type component GeneralComp { + } + + type integer MyArrayType1[3]; + type record length (3) of integer MyRecordOfType1; + + testcase TC_Sem_060207_arrays_011() runs on GeneralComp { + + var MyArrayType1 a1 := {7, 8, 9}; + var MyRecordOfType1 r1 := a1; + var integer myArray1[3] := r1;//shall be pass due to clause 6.2.7. Example 1 + + if (r1 == a1) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_011()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_012.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..38d81bcbe65768d6c14a00a56f503b69d69fef67 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_012.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, referencing element of uninitialized array (left-hand side) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060207_arrays_012 { + + type component GeneralComp { + } + + type integer MyArrayType1[3] (1 .. 10); + + testcase TC_Sem_060207_arrays_012() runs on GeneralComp { + + var MyArrayType1 v_array1; + v_array1[2] := 2; // {-, -, 2} + if (not isbound(v_array1[0]) and + not isbound(v_array1[1]) and + v_array1[2] == 2) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060207_arrays_012()); + } + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_013.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ca053f06f15a31dd74e501d5e28919c15da0b51a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_013.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, ensure that the two dimensional array type referencing is correctly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_013 { + + type component GeneralComp { + } + + + type integer MyArrayType1[2][3] (1 .. 10); + + +testcase TC_Sem_060207_arrays_013() runs on GeneralComp { + + var MyArrayType1 v_array1 := {{8, 10, 9}, + {2, 3, 4}}; + + if (v_array1[1][1]==3) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060207_arrays_013()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_014.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac03cd67ae0a871a9976196989682965368afd77 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060207_arrays/Sem_060207_arrays_014.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.7, verify assignment of explicitly identified elements to two dimensional array + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060207_arrays_014 { + + type component GeneralComp { + } + + + type integer MyArrayType1[2][3] (1 .. 10); + + +testcase TC_Sem_060207_arrays_014() runs on GeneralComp { + + var MyArrayType1 v_array1; + v_array1[0][0] := 8; + v_array1[0][1] := 10; + v_array1[0][2] := 9; + v_array1[1][0] := 2; + v_array1[1][1] := 3; + v_array1[1][2] := -; + + if (v_array1[0][0] == 8 and v_array1[1][0] == 2 and not isbound(v_array1[1][2]) + and lengthof (v_array1) == 2 and lengthof (v_array1[0]) == 3) + { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_060207_arrays_014()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/NOTES b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..46d582a35edfc20f8635a20c93cf29aa859cda7a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/NOTES @@ -0,0 +1,25 @@ +There are no tests for the following rules: + +1. +Default references are used in deactivate operations (see clause 20.5.3) in order to +identify the default to be deactivated. + +Reason: No reason for a dedicated test, tested in 20.5.3. + +2. +Default references have meaning only within the test component instances they are +activated, i.e. a default reference assigned to a default variable in test component +instance "a1" of type "A" has no meaning in test component instance "a2" of type "A". + +Reason: No meaningful test for the rule. The most common way to use defaults is +deactivate operation specified in 20.5.3 which contains a dedicated test related +to this requirement. + +3. +The actual data representation of the default type shall be resolved externally by the +test system. This allows abstract test cases to be specified independently of any real +TTCN-3 runtime environment, in other words TTCN-3 does not restrict the implementation +of a test system with respect to the handling and identification of defaults. + +Reason: This rule is only declaratory and doesn't set any binding requirements which +could be verified. diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94e50edc9e6ad1697691a39ffbb805176906eb98 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.8, verify than a reference to an activated default can be assigned to a default variable + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Default references are unique references to activated defaults. Such a unique +// default reference is generated by a test component when an altstep is activated +// as a default, i.e. a default reference is the result of an activate operation. + +module Sem_060208_default_type_001 { + + type component GeneralComp { + } + + altstep a() runs on GeneralComp + { + [] any port.receive {} + } + + testcase TC_Sem_060208_default_type_001() runs on GeneralComp { + var default v_default := activate(a()); + if (v_default != null) { setverdict(pass) } + else { setverdict(fail) } + } + + control{ + execute(TC_Sem_060208_default_type_001()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28e83ba9adec5ffd5f5768ce72c3acc4361940c5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_002.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.8, verify than null value can be assigned to a default variable + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The special value null represents an unspecific default reference, e.g. can be +// used for the initialization of variables of default type. + +module Sem_060208_default_type_002 { + + type component GeneralComp { + } + + testcase TC_Sem_060208_default_type_002() runs on GeneralComp { + var default v_default := null; + if (isbound(v_default)) { setverdict(pass) } + else { setverdict(fail) } + } + + control{ + execute(TC_Sem_060208_default_type_002()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4dde6b851df3432cf9b60616b59976761c15008a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060208_default_type/Sem_060208_default_type_003.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.8, verify than existing default references can be assigned + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Default references have the special and predefined type default. +// + general type compatibility rules + +module Sem_060208_default_type_003 { + + type component GeneralComp { + } + + altstep a() runs on GeneralComp + { + [] any port.receive {} + } + + testcase TC_Sem_060208_default_type_001() runs on GeneralComp { + var default v_default := activate(a()), v_default2; + v_default2 := v_default; + if (v_default == v_default2) { setverdict(pass) } + else { setverdict(fail) } + } + + control{ + execute(TC_Sem_060208_default_type_001()); + } +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NOTES b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..39ea0e68a7aaecce0b75db0748c5b21d96ff693f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NOTES @@ -0,0 +1,5 @@ +- NOTE: rules involving message based communications are tested as part of section 22.2 +- NOTE: rules involving procedure based communications are tested as part of section 22.3 +- NOTE: rules for using addresses are tested as a part of the section 6.2.12 +- NOTE: rules for using map parameters are tested as a part of the section 21.1.1 +- NOTE: rules for using unmap parameters are tested as a part of the section 21.1.1 \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3d8c575e21ec751210e5cd65edfaff0de1726c46 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_001.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that restriction of port definitions are appropriately handles + ** @verdict pass reject + *****************************************************************/ + +module NegSem_060209_CommunicationPortTypes_001 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne message { + address MyType1; + address MyType2; //more than one address type + inout integer; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_001() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_001()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d099e72fce59fd006abb7822a46b36ee5ca6e74f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_002.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that restriction of port definitions are appropriately handles + ** @verdict pass reject + *****************************************************************/ + +module NegSem_060209_CommunicationPortTypes_002 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne message { + address MyType1; + inout integer; + map param (in integer p1, inout MyType2 p2); + map param (in integer p1, out MyType2 p2); //more than one map parameter type + unmap param (in MyType3 p1, out integer p2); + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_002() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_002()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4d5e69a2a50b6d2a16ba21cf87aff2b93d294a79 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_003.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that restriction of port definitions are appropriately handles + ** @verdict pass reject + *****************************************************************/ + +module NegSem_060209_CommunicationPortTypes_003 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne message { + address MyType1; + inout integer; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + unmap param (in MyType3 p1, inout integer p2); //more than one map parameter type + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_003() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_003()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c260f3cddc73f9d6d263fcdae2dcd9ad907501a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_004.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that an error is generated when a message port type definition contains no message types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Each port type definition shall have one or more lists indicating the allowed collection of +// (message) types ... with the allowed communication direction. + +module NegSem_060209_CommunicationPortTypes_004 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne message { + address MyType1; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f72f7902fdb91ee49cd9f66f8cfe2eefe70cbea --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_005.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that an error is generated when a procedure port type definition contains no signatures + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Each port type definition shall have one or more lists indicating the allowed collection of +// ... procedure signatures with the allowed communication direction. + +module NegSem_060209_CommunicationPortTypes_005 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne procedure { + address MyType1; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d1ceffdb7303ca6d11531fb09247d4e0953880c7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_006.ttcn @@ -0,0 +1,51 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that an error is generated when a signature port definition contains multiple address clauses + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction a: +// At most one address type should be bound to a port type. + +module NegSem_060209_CommunicationPortTypes_006 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + signature S() return integer; + + type port MyMessagePortTypeOne procedure { + address MyType1; + address MyType2; //more than one address type + in S; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_006() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_006()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c1229928e9a7342bbba4962c93c13d71337f783d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_007.ttcn @@ -0,0 +1,51 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that an error is generated when a signature port definition contains multiple map clauses + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction b: +// At most one map parameter list should be defined for a port type. + +module NegSem_060209_CommunicationPortTypes_007 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + signature S() return integer; + + type port MyMessagePortTypeOne procedure { + address MyType1; + in S; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + map param (in integer p1, inout MyType2 p2); // more than 1 map clause + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_007() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_007()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..06b08b086f06ca753501f1cf15ed63c43a05ceb1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/NegSem_060209_CommunicationPortTypes_008.ttcn @@ -0,0 +1,51 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that an error is generated when a signature port definition contains multiple unmap clauses + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// At most one unmap parameter list should be defined for a port type. + +module NegSem_060209_CommunicationPortTypes_008 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + signature S() return integer; + + type port MyMessagePortTypeOne procedure { + unmap param (in MyType3 p1, out integer p2); + address MyType1; + in S; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); // more than 1 unmap clause + } + + type component GeneralComp { + port MyMessagePortTypeOne pt_myPort; + } + + testcase TC_NegSem_060209_CommunicationPortTypes_008() runs on GeneralComp system GeneralComp { + setverdict(fail); + } + + control{ + execute(TC_NegSem_060209_CommunicationPortTypes_008()); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Sem_060209_CommunicationPortTypes_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Sem_060209_CommunicationPortTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6c5738c66ff30912357e8dcabc6c9a3f415d53a7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Sem_060209_CommunicationPortTypes_004.ttcn @@ -0,0 +1,74 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that map and unmap param and local port address are allowed in a testcase block + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_060209_CommunicationPortTypes_004 { + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType1 { + integer field1, + charstring field2, + boolean field3 + } + + type record MyMessageType2 { + integer g1, + charstring g2 + } + + type record MyMessageType3 { + boolean h1, + MyMessageType3 h2 optional + } + + type port MyMessagePortType message { + address MyMessageType1; + inout all; + map param (in integer p1, inout charstring p2); + unmap param (in MyMessageType3 p1, inout MyMessageType2 p2); + } + + const MyMessageType1 c_myTemplate1 := { + field1 := 2, + field2 := "foobar", + field3 := true + } + + const MyMessageType2 c_myTemplate2 := { + g1 := 2, + g2 := "foo" + } + + const MyMessageType3 c_myTemplate3 := { + h1 := false, + h2 := { + h1:= true, + h2 := omit + } + } + + testcase TC_Sem_060209_CommunicationPortTypes_004() runs on GeneralComp system GeneralComp { + var charstring v_varString := "foobar"; + var MyMessageType2 v_myTemplate2 := c_myTemplate2; + + map(mtc:pt_myPort, system:pt_myPort) param(5, v_varString); + + pt_myPort.send(13) to c_myTemplate1; + log("Map inout parameter", v_varString); + + unmap(mtc:pt_myPort, system:pt_myPort) param(c_myTemplate3, v_myTemplate2); + log("Unmap inout parameter", v_myTemplate2); + + setverdict(pass); + } + + control{ + execute(TC_Sem_060209_CommunicationPortTypes_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ee91bf75831ae94b225c1bfa2b1a028c4b6813f9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_001.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that message-based ports are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_001 { + + type record MsgType1 { + integer f1, + octetstring f2 + } + + type boolean MsgType2; + + type charstring MsgType3; + + // Message-based port which allows types MsgType1 and MsgType2 to be received at, MsgType3 to be + // sent via and any integer value to be send and received over the port + type port MyMessagePortTypeOne message { + in MsgType1, MsgType2; + out MsgType3; + inout integer + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0a5b36fe8f083feafdae87737cfa9c08f74c6193 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_002.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that message-based ports with address are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_002 { + + type port MyMessagePortTypeTwo message { + // if addressing is used on ports of type MyMessagePortTypeTwo + // the addresses have to be of type integer + address integer; + inout integer; + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e7b9269c6652b507242bd215f5810de16799736e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_003.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Verify that it is possible to define procedute-based port types + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_003 { + + signature S1(); + signature S2(in integer p_par1); + signature S3(in charstring p_par1); + signature S4(in integer p_par1) return bitstring; + signature S5(in charstring p_par1, out charstring p_par2) return boolean; + + // Procedure-based port which allows to accept calls to procedures S1, S2 and S4, call + // procedure S3. S5 calls can be both accepted or dispatched. + type port MyMessagePortTypeOne procedure { + in S1, S2; + out S3; + in S4; + inout S5; + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4673703fb637a81f42ab34c453fd606cdafb94f1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_004.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that procedure-based ports with address are accepted + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_004 { + + signature S1(); + + type port MyMessagePortType procedure { + inout S1; + // if addressing is used on ports of type MyMessagePortType + // the addresses have to be of type integer + address integer; + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fa0fb3d33a529fe37a35ea9a65a30274f087018b --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_005.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that map param is accepted by the port definition. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_005 { + + type record MyType { + integer f1 + } + + type port MyMessagePortTypeOne message { + inout integer; + map param (in MyType p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b8d0f1e416e374a50bfac93a5e26a76a63c28f2 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_006.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that unmap param is accepted by the port definition. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_006 { + + type record MyType { + integer f1 + } + + type port MyMessagePortTypeOne message { + inout integer; + unmap param (in MyType p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3fb43472b075d8803cf7de94b6913be668ab2b17 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_007.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that complex port definition are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_007 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + type port MyMessagePortTypeOne message { + address MyType1; + inout integer, charstring; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e6dc268511c1d18c83d702ea8dd186de356a4952 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_008.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that procedure-base port type definition can contain map parameter definition + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_008 { + + signature S1(); + + type record MyType { + integer f1 + } + + type port MyMessagePortTypeOne procedure { + inout S1; + map param (in MyType p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..843b0f1cafe8303a5def0d803e090d33d0b0e24f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_009.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that procedure-base port type definition can contain unmap parameter definition + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_009 { + + signature S1(); + + type record MyType { + integer f1 + } + + type port MyMessagePortTypeOne procedure { + inout S1; + unmap param (in MyType p1, out integer p2); + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4d876f4bd5308955b2d959d60b15dbbe46f0cce9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060209_comm_port_types/Syn_060209_CommunicationPortTypes_010.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2.9, Ensure that complex procedure-based port type definition are accepted + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_060209_CommunicationPortTypes_010 { + + type record MyType1 { + integer f1, + charstring f2 + } + + type record MyType2 { + integer g1, + charstring g2 + } + + type record MyType3 { + boolean h1, + MyType3 h2 optional + } + + signature S1(); + signature S2(in integer p_par1); + signature S3(in charstring p_par1); + + type port MyMessagePortTypeOne procedure { + inout S1, S2, S3; + map param (in integer p1, inout MyType2 p2); + unmap param (in MyType3 p1, out integer p2); + address MyType1; + } + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/NegSem_060212_AddressingEntitiesInsideSut_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/NegSem_060212_AddressingEntitiesInsideSut_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..344d01a704a54b9463b85bb6de11302ea4275f26 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/NegSem_060212_AddressingEntitiesInsideSut_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.12, Ensure right type checking for address types in ports + ** @verdict pass reject + ***************************************************/ +module NegSem_060212_AddressingEntitiesInsideSut_001 { + type integer address; + + type port PortType1 message { + address charstring; + inout all; + } + + type port PortType2 message { + inout all; + } + + type component TestCaseComp { + port PortType1 p1; + } + + testcase TC_NegSem_060212_AddressingEntitiesInsideSut_001() runs on TestCaseComp system TestCaseComp { + + var address v_int := 1; + var PortType1.address v_char := "test"; + + // port 1 has charstring address, should not be accepted + p1.send(5) to v_int; + + setverdict(fail); + } + + control { + execute(TC_NegSem_060212_AddressingEntitiesInsideSut_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..847ffc94438b40704340facfd1d3e9e9fafcd3f2 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_001.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.12, Ensure null assignment is accepted for addresses + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060212_AddressingEntitiesInsideSut_001 { + type integer address; + + type component TestCaseComp { + } + + testcase TC_Sem_060212_AddressingEntitiesInsideSut_001() runs on TestCaseComp system TestCaseComp { + + var address v_int := null; // valid value for an address + + setverdict(pass); + } + + control { + execute(TC_Sem_060212_AddressingEntitiesInsideSut_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27a7889849612034982e57029efed90a22b49fb5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060212_addressing_entities_inside_sut/Sem_060212_AddressingEntitiesInsideSut_002.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.12, Ensure that the right port address is used + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_060212_AddressingEntitiesInsideSut_002 { + type integer address; + + type port PortType1 message { + address charstring; + inout all; + } + + type port PortType2 message { + inout all; + } + + type component TestCaseComp { + port PortType1 p1; + port PortType2 p2; + } + + testcase TC_Sem_060212_AddressingEntitiesInsideSut_002() runs on TestCaseComp system TestCaseComp { + + var address v_int := 1; + var PortType1.address v_char := "test"; + + map(mtc:p1, system:p1); + map(mtc:p2, system:p2); + + // port 1 has charstring address + p1.send(5) to v_char; + + // port 2 has integer address + p2.send(5) to v_int; + p2.send(5) to 5; + + setverdict(pass); + } + + control { + execute(TC_Sem_060212_AddressingEntitiesInsideSut_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dc7a1453021a52a55745e85fbf01b61fb6c490af --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_001.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass reject + ***************************************************/ +module NegSem_06021301_LengthSubtyping_001 { + type record length(0..10) of integer RecordOfLengthLessThan10; + + type RecordOfLengthLessThan10 RecordOfLength4To5 length(4..5); + type RecordOfLength4To5 RecordOfLength6 length(6); //length out of parent type range + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b90afd72173da9d55ef1ad51ff78cc593430f75 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_002.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass reject + ***************************************************/ +module NegSem_06021301_LengthSubtyping_002 { + type set length(0..10) of integer SetOfLengthLessThan10; + + type SetOfLengthLessThan10 SetOfLength4To5 length(4..5); + type SetOfLength4To5 SetOfLength6 length(6); //length out of parent type range + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..841837e20d7e2689a3b08607767f2540b52261a6 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_003.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass reject + ***************************************************/ +module NegSem_06021301_LengthSubtyping_003 { + type record length(0..!10) of integer RecordOfLengthLessThan10; //only inclusive boundary is allowed + + type RecordOfLengthLessThan10 RecordOfLength4To5 length(4..5); + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8c28cceea0671b2a54caee04938c1515951fa12e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/NegSem_06021301_LengthSubtyping_004.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass reject + ***************************************************/ +module NegSem_06021301_LengthSubtyping_004 { + type set length(0..10) of integer SetOfLengthLessThan10; + + type SetOfLengthLessThan10 SetOfLength5 length(!4..5); //only inclusive boundary is allowed + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..605dda683aed3eb570879aabe1594b6373e513e5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_001.ttcn @@ -0,0 +1,14 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_06021301_LengthSubtyping_001 { + type record length(10) of integer RecordOfLength10; //direct subtyping + type record length(0..10) of integer RecordOfLengthLessThan10; //direct subtyping + + type RecordOfLengthLessThan10 RecordOfLength6 length(6); //referenced subtyping + type RecordOfLengthLessThan10 RecordOfLength4To5 length(4..5); //referenced subtyping + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..67271c1875fdd03e7bd4e0f18c1685582c245381 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021301_length_subtyping/Syn_06021301_LengthSubtyping_002.ttcn @@ -0,0 +1,14 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:6.2.13.1, The length subtyping check for 'record of' or 'set of' types + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_06021301_LengthSubtyping_002 { + type set length(10) of integer SetOfLength10; //direct subtyping + type set length(0..10) of integer SetOfLengthLessThan10; //direct subtyping + + type SetOfLengthLessThan10 SetOfLength6 length(6); //referenced subtyping + type SetOfLengthLessThan10 SetOfLength4To5 length(4..5); //referenced subtyping + +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db5f76a6dd1ec45670b3f44d6e3d1a246b3acc3d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.13.2, ensure that list subtyping check for record types is properly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_06021302_ListSubtyping_001 { + type record MyRecord { + integer f1 optional, + charstring f2, + charstring f3 + } + + type MyRecord MyRecordSub1 ( + { f1 := omit, f2 := "user", f3 := "password" }, + { f1 := 1, f2 := "User", f3 := "Password" } + ); // a valid subtype of MyRecord containing 2 values + + type MyRecordSub1 MyRecordSub2 ( + { f1 := 1, f2 := "user", f3 := "password" }, + { f1 := 1, f2 := "User", f3 := "Password" } + ); //invalid subtype, the omitted element cannot be overwritten + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1f4acdfd3d5656be46d5135e176bfd3295fc6f0f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/NegSem_06021302_ListSubtyping_002.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.13.2, ensure that list subtyping check for record types is properly handled + ** @verdict pass reject + ***************************************************/ +module NegSem_06021302_ListSubtyping_002 { + type record MyRecord { + integer f1 optional, + charstring f2, + charstring f3 + } + + type MyRecord MyRecordSub1 ( + { f2 := "user", f3 := "password" }, + { f2 := "User", f3 := "Password" } + ); // a valid subtype of MyRecord containing 2 values + + type MyRecordSub1 MyRecordSub2 ( + { f1 := 1, f2 := "user", f3 := "password" }, + { f1 := 2, f2 := "user", f3 := "Password" } + ); //invalid subtype, contains wrong combination of f2 and f3 + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b4e085576f3f97d3316df8f092763b33947f53f --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_001.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.13.2, ensure that list subtyping check for record types is properly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06021302_ListSubtyping_001 { + + type component GeneralComp { + } + + type record MyRecord { + integer f1 optional, + charstring f2, + charstring f3 + } + + type MyRecord MyRecordSub1 ( + { f1 := omit, f2 := "user", f3 := "password" }, + { f1 := 1, f2 := "User", f3 := "Password" } + ); // a valid subtype of MyRecord containing 2 values + + +testcase TC_Sem_06021302_ListSubtyping_001() runs on GeneralComp { + var MyRecordSub1 v_record := { f1 := 1, f2 := "User", f3 := "Password" }; + + if ( match(v_record,{ 1, "User", "Password" }) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_06021302_ListSubtyping_001()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..be4c05f5854d05d3e3d8dd86e396b02aea0b1f29 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_002.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.13.2, ensure that list subtyping check for record types is properly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06021302_ListSubtyping_002 { + + type component GeneralComp { + } + + type record MyRecord { + integer f1 optional, + charstring f2, + charstring f3 + } + + type MyRecord MyRecordSub1 ( + { f1 := *, f2 := "user", f3 := "password" }, + { f1 := *, f2 := "User", f3 := "Password" } + ); // a valid subtype, f1 may contain any values + + +testcase TC_Sem_06021302_ListSubtyping_002() runs on GeneralComp { + var MyRecordSub1 v_record := { f1 := 8, f2 := "User", f3 := "Password" }; + + if ( match(v_record,{ 8, "User", "Password" }) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_06021302_ListSubtyping_002()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f09e17ae6062d965ba9697f23169244c086ab6cc --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/060213_subtyping_of_structured_types/06021302_list_subtyping/Sem_06021302_ListSubtyping_003.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.2.13.2, ensure that list subtyping check for record types is properly handled + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_06021302_ListSubtyping_003 { + + type component GeneralComp { + } + + type record MyRecord { + integer f1 optional, + charstring f2, + charstring f3 + } + + type MyRecord MyRecordSub1 ( + { f1 := *, f2 := "user", f3 := pattern "password|Password" }, + { f1 := (1 .. 10), f2 := "User", f3 := ? } + ); // a valid subtype + + +testcase TC_Sem_06021302_ListSubtyping_003() runs on GeneralComp { + var MyRecordSub1 v_record := { f1 := omit, f2 := "user", f3 := "Password" }; + var template MyRecordSub1 m_match := { *, "user", "Password" }; + + if ( match(v_record,m_match) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + +control { + execute(TC_Sem_06021302_ListSubtyping_003()); +} + +} diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2594d46ae748e42c3bf7b0364278872a30c0648 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_001.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can not be used for a union type. + ** @verdict pass reject + ***************************************************/ +module NegSem_0602_TopLevel_001 { + + type component GeneralComp { + } + + type union MyUnion { + integer field1, + charstring field2, + float field3 + } + + testcase TC_NegSem_0602_TopLevel_001() runs on GeneralComp { + + var MyUnion v_myUnion := {5}; //value list notation can not be used for a union type + + } + + control { + execute(TC_NegSem_0602_TopLevel_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e6c8f977dd7bde40d4ba2864074a649a233f1056 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_002.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can not be used for a record type. + ** @verdict pass reject + ***************************************************/ +module NegSem_0602_TopLevel_002 { + + type component GeneralComp { + } + + type record MyRecord { + integer field1, + charstring field2, + float field3 + } + + testcase TC_NegSem_0602_TopLevel_002() runs on GeneralComp { + + var MyRecord v_myRecord := { + field1 := 5, + field2 := "hi", + field3 := 3.14 + }; + + var integer Integer1 :=3; + v_myRecord[0] := Integer1;//not possible to use index notation on a record type + + } + + control { + execute(TC_NegSem_0602_TopLevel_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e308d5978ca71caa94431e61f01e98898bf4cce --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_003.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can not be used for a set type. + ** @verdict pass reject + ***************************************************/ +module NegSem_0602_TopLevel_003 { + + type component GeneralComp { + } + + type set MySet { + integer field1, + charstring field2, + float field3 + } + + testcase TC_NegSem_0602_TopLevel_003() runs on GeneralComp { + + var MySet v_mySet := { + field1 := 5, + field2 := "hi", + field3 := 3.14 + }; + + var integer Integer1 :=3; + v_mySet[0] := Integer1;//not possible to use index notation on a set type + + } + + control { + execute(TC_NegSem_0602_TopLevel_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e2201553b86fdeecb334ab616a8c4230e40d24c3 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSem_0602_TopLevel_004.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can not be used for a union type. + ** @verdict pass reject + ***************************************************/ +module NegSem_0602_TopLevel_004 { + + type component GeneralComp { + } + + type union MyUnion { + integer field1, + charstring field2, + float field3 + } + + testcase TC_NegSem_0602_TopLevel_004() runs on GeneralComp { + + var MyUnion v_myUnion := { + field1 := 5 + }; + + var integer Integer1 :=3; + v_myUnion[0] := Integer1;//not possible to use index notation on a union type + + } + + control { + execute(TC_NegSem_0602_TopLevel_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4eafc585a6f7dccbb03bfc987a3609a9153ca221 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Invalid recursive union type definition causing an error + ** @verdict pass reject + ***************************************************/ +module NegSyn_0602_TopLevel_001 { + // In case of union types, to avoid infinite recursion, at least one of the alternatives shall not reference its own type. + type union MyUnion { + MyUnion choice1, + MyUnion choice2 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b6d867dc4bdd7327fb88648369b3ceb126a82ad --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn @@ -0,0 +1,14 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Invalid recursive record type definition causing an error + ** @verdict pass reject + ***************************************************/ +module NegSyn_0602_TopLevel_002 { + // In case of record and set types, to avoid infinite recursion, fields referencing to its own type, shall be optional. + type record MyRecord { + integer field1, + MyRecord field2, + integer field3 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14bbeafe349c812b24111372e06118521f8e6ba7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Combined value list and assignment notation not allowed in the same (immediate) context. + ** @verdict pass reject + ***************************************************/ +module NegSyn_0602_TopLevel_003 { + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + const MyRecord c_rec := { + field1 := 5, + "hi", // combined value list and assignment notation not allowed in the same (immediate) context. + field3 := 3.14 + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..863291dec784e8c81a19c9d1aa3cc7131cf03d8c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for a record type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_001 { + + type component GeneralComp { + } + + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + + testcase TC_Sem_0602_TopLevel_001() runs on GeneralComp { + + var MyRecord v_myRecord := { + field1 := 5, + field2 := "hi", + field3 := 3.14 + }; + + if (v_myRecord=={5,"hi",3.14}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_001()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f948e64e5611cf78c9ba40ef999ce9cc9c7bc54 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_002.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for a record of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_002 { + + type component GeneralComp { + } + + type record of integer MyRecordOf; + + testcase TC_Sem_0602_TopLevel_002() runs on GeneralComp { + + var MyRecordOf v_allRecords := { + [0] := 1, + [1] := 2, + [2] := 3 + }; + + if (v_allRecords=={1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_002()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..01ae452c54e00522ce228a7ea4cc20dc1ab5d65a --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for a set type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_003 { + + type component GeneralComp { + } + + type set MySet { + integer field1, + charstring field2 optional, + float field3 + } + + testcase TC_Sem_0602_TopLevel_003() runs on GeneralComp { + + var MySet v_mySet := { + field1 := 5, + field2 := "hi", + field3 := 3.14 + }; + + if (v_mySet=={field1 := 5, + field2 := "hi", + field3 := 3.14}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_003()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b962fbfaaba879a3f3b891dcaf5b0131d0cfdb4 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_004.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for a set of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_004 { + + type component GeneralComp { + } + + type set of integer MySetOf; + + testcase TC_Sem_0602_TopLevel_004() runs on GeneralComp { + + var MySetOf v_allSets := { + [0] := 1, + [1] := 2, + [2] := 3 + }; + + if (v_allSets=={1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_004()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2a4121f474bc1b347528ae0975572ab5bc6d316c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_005.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for a union type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_005 { + + type component GeneralComp { + } + + type union MyUnion { + integer field1, + charstring field2, + float field3 + } + + testcase TC_Sem_0602_TopLevel_005() runs on GeneralComp { + + var MyUnion v_myUnion := { + field1 := 5 + }; + + if (v_myUnion.field1 == 5) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_005()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_006.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9919947f0dbd30e5e60af8b30de0e9b983ca3042 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_006.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that assignment notation can be used for an array. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_006 { + + type component GeneralComp { + } + + type integer MyArray [3]; + + testcase TC_Sem_0602_TopLevel_006() runs on GeneralComp { + + var MyArray v_myArray; + v_myArray[0] := 1; + v_myArray[1] := 2; + v_myArray[2] := 3; + + if (v_myArray == {1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_006()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_007.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2295d2a4a3b244e8b4d701fc754f4aa51a4dafa9 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_007.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can be used for a record type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_007 { + + type component GeneralComp { + } + + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + + testcase TC_Sem_0602_TopLevel_007() runs on GeneralComp { + + var MyRecord v_myRecord := {5,"hi", 3.14}; + + if (v_myRecord=={5,"hi",3.14}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_007()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_008.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..919a49241087d73564f37ff83c6453fc6ad13409 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_008.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can be used for a record of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_008 { + + type component GeneralComp { + } + + type record of integer MyRecordOf; + + testcase TC_Sem_0602_TopLevel_008() runs on GeneralComp { + + var MyRecordOf v_allRecords := {1,2,3}; + + if (v_allRecords=={1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_008()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_009.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d783e7a5338c33b2c1bcc16ee46d4ab96b0bc4f1 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_009.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can be used for an arrays. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_009 { + + type component GeneralComp { + } + + type integer MyArray [3]; + + testcase TC_Sem_0602_TopLevel_009() runs on GeneralComp { + + var MyArray v_myArray := {1,2,3}; + var integer Integer1 :=3; + v_myArray[0] := Integer1; + Integer1 := v_myArray[1]; + + if ((v_myArray=={3,2,3}) and (Integer1==2)) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_009()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_010.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8901d83158cbac0db18c07d6cc84267339c386be --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_010.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can be used for a set of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_010 { + + type component GeneralComp { + } + + type set of integer MySetOf; + + testcase TC_Sem_0602_TopLevel_010() runs on GeneralComp { + + var MySetOf v_allSets := {1,2,3}; + + if (v_allSets=={1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_010()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_011.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..248f82a82dd845a7a05c86707b32ab5cf22f38e7 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_011.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can be used for an array. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_011 { + + type component GeneralComp { + } + + type integer MyArray [3]; + + testcase TC_Sem_0602_TopLevel_011() runs on GeneralComp { + + var MyArray v_myArray := {1,2,3}; + + if (v_myArray == {1,2,3}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_011()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_012.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b704e705eed37ce8170b8f929c92423c825c8e56 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_012.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can be used for a record of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_012 { + + type component GeneralComp { + } + + type record of integer MyRecordOf; + + testcase TC_Sem_0602_TopLevel_012() runs on GeneralComp { + + var MyRecordOf v_allRecords := {1,2,3}; + var integer Integer1 :=3; + v_allRecords[0] := Integer1; + Integer1 := v_allRecords[1]; + + if ((v_allRecords=={3,2,3}) and (Integer1==2)) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_012()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_013.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..908ae07b6c6861701d89760a4bd2d3c9b05f033e --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_013.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that indexed notation can be used for a set of type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_013 { + + type component GeneralComp { + } + + type set of integer MySetOf; + + testcase TC_Sem_0602_TopLevel_013() runs on GeneralComp { + + var MySetOf v_allSets := {1,2,3}; + var integer Integer1 :=3; + v_allSets[0] := Integer1; + Integer1 := v_allSets[1]; + + if ((v_allSets=={3,2,3}) and (Integer1==2)) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_013()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_014.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..142aececc35c38ac3c0a0d0a900d8dedc712c6a6 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Sem_0602_TopLevel_014.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:6.2, Ensure that value list notation can be used for a set type and the values + ** are assigned to the fields in the sequential order of the fields in the type definition. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_0602_TopLevel_014 { + + type component GeneralComp { + } + + type set MySet { + integer field1, + charstring field2 optional, + float field3 + } + + testcase TC_Sem_0602_TopLevel_014() runs on GeneralComp { + + var MySet v_mySet := {5,"hi",3.14};// SEE NOTE under 6.2.2 + + if (v_mySet=={5,"hi",3.14}) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_0602_TopLevel_014()); + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_001.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..302b3f5c2aa6874d6249a48860f91dcf674d69e5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_001.ttcn @@ -0,0 +1,13 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Valid recursive union type definition + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_0602_TopLevel_001 { + // In case of union types, to avoid infinite recursion, at least one of the alternatives shall not reference its own type. + type union MyUnion { + MyUnion choice1, + charstring choice2 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_002.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..031fb6f2c9755a469a4ad6b0c2d740847cf00cf0 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_002.ttcn @@ -0,0 +1,14 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Valid recursive record type definition + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_0602_TopLevel_002 { + // In case of record and set types, to avoid infinite recursion, fields referencing to its own type, shall be optional. + type record MyRecord { + integer field1, + MyRecord field2 optional, + float field3 + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_003.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e0e0e1585f97e6287efc844fa8767c109df971c --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_003.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Valid recursive record type definition + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_0602_TopLevel_003 { + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + const MyRecord c_rec := { + field1 := 5, + field2 := "hi", + field3 := 3.14 + }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_004.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..96778c3904ce967d61e5a21ae715aaa22c5dc92d --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_004.ttcn @@ -0,0 +1,14 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, constant definition of a record type. + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_0602_TopLevel_004 { + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + const MyRecord c_rec := { 5, "foo", 3.14 }; +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_005.ttcn b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6c0fae31f519df3c87f2330aeaf70c5cb19a3bb5 --- /dev/null +++ b/ATS/06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_005.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.2, Fields not mentioned are implicitly left unspecified. + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_0602_TopLevel_005 { + type record MyRecord { + integer field1, + charstring field2 optional, + float field3 + } + const MyRecord c_rec := { + field1 := 5, + // field2 implicitly unspecified + field3 := 3.14 + } with { + optional "implicit omit" + } +} \ No newline at end of file diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1316b857fc7adaccec06fbdad2dcc818d6758de0 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_001 { + type integer ConstrainedInt(1..10); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_001() runs on GeneralComp { + + var integer v_int:=15; + var ConstrainedInt v_constrainedInt; + + + v_constrainedInt:=v_int; // 15 not in range 1..10 + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..474110425fee58a90471cad9a5d0297a0a2b5b91 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_002 { + type float ConstrainedFloat(1.0 .. 1E1); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_002() runs on GeneralComp { + + var integer v_float:=15.0; + var ConstrainedFloat v_constrainedFloat; + + + v_constrainedFloat:=v_float; + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_002()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_003.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..39df2b03f563d72d565d27d25c80cae86df99f36 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_003.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_003 { + type charstring ConstrainedChar ("a" .. "z"); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_003() runs on GeneralComp { + + var charstring v_char := "j5l"; + var ConstrainedChar v_constrainedChar; + + v_constrainedChar:=v_char; // 5 not in dictionary + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_003()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_004.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d04d43ea1e749bd9b79333f4b8822582a3229a48 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_004.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_004 { + type universal charstring ConstrainedUChar (char(0, 0, 1, 111) .. char(0, 0, 1, 113)); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_004() runs on GeneralComp { + + var universal charstring v_uChar := char(0, 0, 1, 122); + var ConstrainedUChar v_constrainedUChar; + + + v_constrainedUChar:=v_uChar; // char not in range + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_004()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_005.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9a9ca0268842b60bf8eafc21e41ea1b9e61467c1 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_005.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_005 { + type bitstring ConstrainedBitString ('01'B, '10'B, '11'B); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_005() runs on GeneralComp { + + var bitstring v_bitstr := '00'B; + var ConstrainedBitString v_constrainedBitstr; + + + v_constrainedBitstr:=v_bitstr; // value '00'B not in ConstrainedBitString type + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_005()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_006.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e97bbc0b6a43ba35a53900e4fa87fb3ed372bec2 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_006.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from incompatible type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_006 { + type hexstring ConstrainedHexString ('1A'H, '1B'H, '1C'H); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_006() runs on GeneralComp { + + var hexstring v_hexstr := '2B'H; + var ConstrainedHexString v_constrainedHexstr; + + v_constrainedHexstr:=v_hexstr; // value '2B'H not in ConstrainedHexString type + +} + +control{ + execute(TC_NegSem_060301_non_structured_types_006()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_007.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..523a7b896dd2307e38c30ddb229bbd55ac681db6 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_007.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_007 { + type integer ConstrainedInt[1]; + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_007() runs on GeneralComp { + + var integer v_int[2]:={5,4}; + var ConstrainedInt v_constrainedInt; + + + v_constrainedInt:=v_int; // length 2 array assigned to length 1 array type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_007()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_008.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..318ab05e705500be895c8c28d2f2cc4ea2a7931c --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_008.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_008 { + type float ConstrainedFloat[1]; + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_008() runs on GeneralComp { + + var integer v_float[2]:={5.0,4.0}; + var ConstrainedFloat v_constrainedFloat; + + + v_constrainedFloat:=v_float; // length 2 array assigned to length 1 array type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_008()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_009.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..df4094bb81cdaea18c00d53144e057a1643d3e04 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_009.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_009 { + type charstring ConstrainedChar length (1); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_009() runs on GeneralComp { + + var charstring v_char := "jk"; + var ConstrainedChar v_constrainedChar; + + + v_constrainedChar:=v_char; // length 2 charstring assigned to length 1 type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_009()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_010.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..110f1703b4e6b57d7eac0e1ac8b372deb0d633ae --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_010.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_010 { + type universal charstring ConstrainedUChar length (1); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_010() runs on GeneralComp { + + var universal charstring v_uChar := char(0, 0, 1, 112) & char(0, 0, 1, 112); + var ConstrainedUChar v_constrainedUChar; + + + v_constrainedUChar:=v_uChar; // length 2 charstring assigned to length 1 type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_010()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_011.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79506128f70ac6dd66466bcd2f8c2c19e8e009cb --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_011.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_011 { + type bitstring ConstrainedBitString length (1); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_011() runs on GeneralComp { + + var bitstring v_bitstr := '10'B; + var ConstrainedBitString v_constrainedBitstr; + + + v_constrainedBitstr:=v_bitstr; // length 2 string assigned to length 1 type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_011()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_012.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c88c1812736ffea3541766fdd4ae472a9592d648 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_012.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060301_non_structured_types_012 { + type hexstring ConstrainedHexString length (1); + +type component GeneralComp { +} + +testcase TC_NegSem_060301_non_structured_types_012() runs on GeneralComp { + + var hexstring v_hexstr := '1B'H; + var ConstrainedHexString v_constrainedHexstr; + + v_constrainedHexstr:=v_hexstr; // length 2 string assigned to length 1 type +} + +control{ + execute(TC_NegSem_060301_non_structured_types_012()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a19497858adff9e1d98a8f9f64c0d6dab47ec81d --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_001.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.2 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// integer and float assigments from compatible types. +module Sem_060301_non_structured_types_001 { + type integer ConstrainedInt(1..10); + type float ConstrainedFloat(1.0 .. 1E1); + +type component GeneralComp { +} + +testcase TC_Sem_060301_non_structured_types_001() runs on GeneralComp { + + var integer v_int:=5; + var ConstrainedInt v_constrainedInt; + var float v_float:=5.0; + var ConstrainedFloat v_constrainedFloat; + + + + v_constrainedInt:=v_int; + v_constrainedFloat:=v_float; + + + if ( + (v_constrainedInt==5) and + (v_constrainedFloat==5.0) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060301_non_structured_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0023b81bb30a7cab38554de24e38b069561b697d --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn @@ -0,0 +1,74 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible size restrictions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060301_non_structured_types_002 { + type integer ConstrainedInt[1..2]; + type float ConstrainedFloat[1..2]; + type charstring ConstrainedChar length (1..2); + type universal charstring ConstrainedUChar length (1..2); + type bitstring ConstrainedBitString length (1..2); + type hexstring ConstrainedHexString length (1..2); + +type component GeneralComp { +} +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_060301_non_structured_types_002() runs on GeneralComp { + + var integer v_int[2]:={5,4}; + var ConstrainedInt v_constrainedInt; + var float v_float[2]:={5.0,4.0}; + var ConstrainedFloat v_constrainedFloat; + var charstring v_char := "jk"; + var ConstrainedChar v_constrainedChar; + var universal charstring v_uChar := char(0, 0, 1, 112); + var ConstrainedUChar v_constrainedUChar; + var bitstring v_bitstr := '10'B; + var ConstrainedBitString v_constrainedBitstr; + var hexstring v_hexstr := '1B'H; + var ConstrainedHexString v_constrainedHexstr; + + + v_constrainedInt:=v_int; + v_constrainedFloat:=v_float; + v_constrainedChar:=v_char; + v_constrainedUChar:=v_uChar; + v_constrainedBitstr:=v_bitstr; + v_constrainedHexstr:=v_hexstr; + + if ( + (v_constrainedInt[1]==5) and + (v_constrainedInt[2]==4) and + (f_isFloatNear(v_constrainedFloat[1],5.0)) and + (f_isFloatNear(v_constrainedFloat[2],4.0)) and + (v_constrainedChar=="jk") and + (v_constrainedUChar==char(0, 0, 1, 112)) and + (v_constrainedBitstr=='10'B) and + (v_constrainedHexstr=='1B'H) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060301_non_structured_types_002()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_003.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..babafbb8a9ed3f2d9dbd42bdb4f99faf43a85233 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_003.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// charstring and universal charstring assigments +module Sem_060301_non_structured_types_003 { + + type charstring ConstrainedChar ("a" .. "z"); + type universal charstring ConstrainedUChar (char(0, 0, 1, 111) .. char(0, 0, 1, 113)); + + +type component GeneralComp { +} + +testcase TC_Sem_060301_non_structured_types_003() runs on GeneralComp { + + + var charstring v_char := "jkl"; + var ConstrainedChar v_constrainedChar; + var universal charstring v_uChar := char(0, 0, 1, 112); + var ConstrainedUChar v_constrainedUChar; + + + + v_constrainedChar:=v_char; + v_constrainedUChar:=v_uChar; + + if ( + (v_constrainedChar=="jkl") and + (v_constrainedUChar==char(0, 0, 1, 112))) + { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060301_non_structured_types_003()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_004.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fc3b0ee8bbaeef76dd2cd24268623650635d7544 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_004.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.1, Ensure that the IUT correctly handles assignments from compatible type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// bitstring and hexstring assignments + +module Sem_060301_non_structured_types_004 { + + type bitstring ConstrainedBitString ('01'B, '10'B, '11'B); + type hexstring ConstrainedHexString ('1A'H, '1B'H, '1C'H); + +type component GeneralComp { +} + +testcase TC_Sem_060301_non_structured_types_004() runs on GeneralComp { + + var bitstring v_bitstr := '10'B; + var ConstrainedBitString v_constrainedBitstr; + var hexstring v_hexstr := '1B'H; + var ConstrainedHexString v_constrainedHexstr; + + v_constrainedBitstr:=v_bitstr; + v_constrainedHexstr:=v_hexstr; + + if ( + (v_constrainedBitstr=='10'B) and + (v_constrainedHexstr=='1B'H) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060301_non_structured_types_004()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4282508063dfeaee9eea75670bb13eeb9b3c5d36 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2.1, Reject assignment of other enumerated types since they are only compatible to synonym types + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_001 { + + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedRedefinition {e_black, e_white}; + + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_001() runs on GeneralComp { + + var EnumeratedType v_enum1:=e_black; + var EnumeratedRedefinition v_enum2; + + v_enum2:=v_enum1; // not a synonym type + setverdict(pass); +} + +control{ + execute(TC_NegSem_060302_structured_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27e2d5c02485daef4dd674b5e55d880c55ed8944 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_002.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_002 { + + type record RecordType1 { + integer a(0..10) optional, + integer b(0..5) optional, + boolean c + } + type record RecordType2 { + integer e optional, + integer f(0..10) , + boolean g + } + + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_002() runs on GeneralComp { + + var RecordType1 v_rec1:={a:=4,b:=omit,c:=false}; + var RecordType2 v_rec2; + + v_rec2:=v_rec1; // optionality mismatch (e.g. b is optional where f is mandatory) + setverdict(pass); +} + +control{ + execute(TC_NegSem_060302_structured_types_002()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_003.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..de0e203773d876ab0eb2f333508f474b96d48eae --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_003 { + + type record RecordType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + type record ModifiedRecord { + integer e optional, + integer f(0..5) optional, + boolean g + } + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_003() runs on GeneralComp { + + var ModifiedRecord v_rec1:={e:=15,f:=4,g:=false}; + var RecordType v_rec2; + + v_rec2:=v_rec1; //subtyping range mismatch + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_003()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_004.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2a482c5f22a72396286c235727e9acd602a4994c --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_004.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_004 { + + type set SetType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + type set ModifiedSet { + integer e optional, + integer f(0..5) , + boolean g + } + + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_004() runs on GeneralComp { + + var ModifiedSet v_set1:={f:=4,e:=8,g:=false}; + var SetType v_set2; + + v_set2:=v_set1; //optionality mismatch + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_004()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_005.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14d20e1f90813261c7feca63c903d652ca812222 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_005.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_005 { + + + type set SetType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + type set ModifiedSet { + integer e optional, + integer f(0..5) optional, + boolean g + } + + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_005() runs on GeneralComp { + + var ModifiedSet v_set1:={f:=4,e:=15,g:=false}; + var SetType v_set2; + + v_set2:=v_set1; //subtyping range mismatch + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_005()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_006.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f64e6477942a75b59087af3d13d2fbd2555b3c35 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_006.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_006 { + + + type record of integer IntegerList(0..10); + type record of integer ModifiedList; + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_006() runs on GeneralComp { + + var ModifiedList v_list1:={2,14,8}; + var IntegerList v_list2; + + v_list2:=v_list1; + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_006()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_007.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6939bef80ce3e5bfbae7a7bd6a3608001e6f6cf8 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_007.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_007 { + + + type set of integer IntegerUnorderedList(0..10); + type set of integer ModifiedUnorderedList; + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_007() runs on GeneralComp { + + var ModifiedUnorderedList v_ulist1:={2,14,8}; + var IntegerUnorderedList v_ulist2; + + v_ulist2:=v_ulist1; + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_007()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_008.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..21dd313cf6dd1ed6f660b4b5c5265d87ffce0180 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_008.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_008 { + + type enumerated EnumeratedType {e_black, e_white}; + type EnumeratedType EnumeratedSynonym; + + type union UnionType { + integer a(0..10), + EnumeratedType b, + boolean c + } + type union ModifiedUnion { + integer a, + boolean c, + EnumeratedSynonym b + } + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_008() runs on GeneralComp { + + var ModifiedUnion v_union1:={a:=12}; + var UnionType v_union2; + + v_union2:=v_union1; //subtyping range mismatch + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_008()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..edd611ec47cb2153f7bb849e3ebf4598e57bd94d --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_009 { + + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedRedefinition {e_black, e_white}; + + type union UnionType { + integer a(0..10), + EnumeratedType b, + boolean c + } + type union ModifiedUnion { + integer a, + boolean c, + EnumeratedRedefinition b + } + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_009() runs on GeneralComp { + + var ModifiedUnion v_union1:={b:=e_black}; + var UnionType v_union2; + + v_union2:=v_union1; //enumerated type mismatch + setverdict(pass); +} + +control{ + execute(TC_NegSem_060302_structured_types_009()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_010.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af8a342843369ea75e05ff8dbee7171d9adda5f8 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_010.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from incompatible types or type ranges + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_010 { + + type enumerated EnumeratedType {e_black, e_white}; + type EnumeratedType EnumeratedSynonym; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + type union ModifiedUnion { + integer aa, + boolean cc, + EnumeratedSynonym bb + } + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_010() runs on GeneralComp { + + var ModifiedUnion v_union1:={aa:=1}; + var UnionType v_union2; + + v_union2:=v_union1; //element naming mismatch + setverdict(pass); + +} + +control{ + execute(TC_NegSem_060302_structured_types_010()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b8a39925ee06fdb6717e34d0b60d762afa0a1afa --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments from structures having incompatible anytypes + ** @verdict pass reject + ***************************************************/ +module NegSem_060302_structured_types_011 { + + import from NegSem_060302_structured_types_011_importA all; + import from NegSem_060302_structured_types_011_importB all; + + +type component GeneralComp { +} + +testcase TC_NegSem_060302_structured_types_011() runs on GeneralComp { + + var NegSem_060302_structured_types_011_importA.Atype v_a; + var NegSem_060302_structured_types_011_importB.Atype v_b := { F := 1 } + + v_a:=v_b; //v_a's type does not contain the selected alternative + + if ( v_a==1 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_060302_structured_types_011()); +} + +} + + +module NegSem_060302_structured_types_011_importA { + type integer I (0..2); + type anytype Atype; + } + + +module NegSem_060302_structured_types_011_importB { + type integer I (0..2); + type integer F; + type anytype Atype; +} + diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_012.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8295edfc266cc3e32d667878ab960663d9001dfc --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_012.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_012 { + + type record RecordType { + integer a, + integer b optional + } + + type set SetType { + integer a, + integer b optional + } + + type record length (1..2) of integer ShortIntegerList; + type record of integer IntegerList; + + type set length (1..2) of integer ShortUnorderedIntegerList; + type set of integer UnorderedIntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_012() runs on GeneralComp { + + + var IntegerList v_list1:={1,-}; + var ShortIntegerList v_list2; + var RecordType v_rec1; + var UnorderedIntegerList v_ulist1:={1,-}; + var ShortUnorderedIntegerList v_ulist2; + var SetType v_set1; + + var integer v_matcher[2] := {1,-}; + + var boolean v_check1; + + v_list2:=v_list1; + v_rec1:=v_list2; + v_ulist2:=v_ulist1; + v_set1:=v_ulist2; + + v_check1 := match(v_rec1, v_matcher); //mismatch between undefined and omitted elements + + } + + control{ + execute(TC_NegSem_060302_structured_types_012()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_013.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed67887cf13b406554683de87e66087f9a7b2985 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_013.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_013 { + + type record RecordType { + integer a, + integer b optional + } + + type set SetType { + integer a, + integer b optional + } + + type record length (1..2) of integer ShortIntegerList; + type record of integer IntegerList; + + type set length (1..2) of integer ShortUnorderedIntegerList; + type set of integer UnorderedIntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_013() runs on GeneralComp { + + + var IntegerList v_list1:={1,-}; + var ShortIntegerList v_list2; + var RecordType v_rec1; + var UnorderedIntegerList v_ulist1:={1,-}; + var ShortUnorderedIntegerList v_ulist2; + var SetType v_set1; + + var integer v_matcher[2] := {1,-}; + + var boolean v_check1; + + v_list2:=v_list1; + v_rec1:=v_list2; + v_ulist2:=v_ulist1; + v_set1:=v_ulist2; + + v_check1 := match(v_set1,{1,-}); //mismatch between undefined and omitted elements + + } + + control{ + execute(TC_NegSem_060302_structured_types_013()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_014.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..344d9bbe10edff8d088d5d5ef7171b229f6e947c --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_014.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_014 { + + type record RecordType { + integer a, + integer b optional, + integer c + } + + type record of integer IntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_014() runs on GeneralComp { + + var RecordType v_record := { 1, omit, 2}; + var IntegerList v_IntList; + var integer v_array[2]; + + v_array:=v_record; //assignment between incompatible types + + } + + control{ + execute(TC_NegSem_060302_structured_types_014()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_015.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1bce07a8b82e0b2676b59b1dad732bc2bb547b13 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_015.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_015 { + + type record RecordType { + integer a, + integer b optional, + integer c + } + + type record of integer IntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_015() runs on GeneralComp { + + var RecordType v_record := { 1, omit, 2}; + var IntegerList v_IntList; + var integer v_array[2]; + + v_IntList:=v_record; //assignment between incompatible types + + } + + control{ + execute(TC_NegSem_060302_structured_types_015()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_016.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4416df8ae700f98dfb8f6bea188820970cb1bc45 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_016.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_016 { + + type set SetType { + integer a, + integer b optional, + integer c + } + + type set of integer IntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_016() runs on GeneralComp { + + var SetType v_set := { 1, omit, 2}; + var IntegerList v_IntList; + var integer v_array[2]; + + v_array:=v_set; //assignment between incompatible types + + } + + control{ + execute(TC_NegSem_060302_structured_types_016()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_017.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e8cd51ba60064b746b06460b735175cd7163c1b0 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_017.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_017 { + + type set SetType { + integer a, + integer b optional, + integer c + } + + type set of integer IntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_017() runs on GeneralComp { + + var SetType v_set := { 1, omit, 2}; + var IntegerList v_IntList; + var integer v_array[2]; + + v_IntList:=v_set; //assignment between incompatible types + + } + + control{ + execute(TC_NegSem_060302_structured_types_017()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_018.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e319a0360aedbe66675bb4c0f065e2445ba4841 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_018.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT rejects assignments between incompatible structures + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_018 { + + type set SetType { + integer a, + integer b, + integer c + } + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_018() runs on GeneralComp { + + var SetType v_set := { 1, 2, 3}; + var integer v_array[3]; + + v_array:=v_set; //assignment between incompatible types, see clause G.9 compatibility rules + + } + + control{ + execute(TC_NegSem_060302_structured_types_018()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_019.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4a3a9c5f72be52e48dac0c875a9c0455ad292d53 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_019.ttcn @@ -0,0 +1,64 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths + ** @verdict pass reject + ***************************************************/ + +module NegSem_060302_structured_types_019 { + + type record RecordType { + integer a, + integer b optional + } + + type set SetType { + integer a, + integer b optional + } + + type record length (1..2) of integer ShortIntegerList; + type record of integer IntegerList; + + type set length (1..2) of integer ShortUnorderedIntegerList; + type set of integer UnorderedIntegerList; + + + type component GeneralComp { + } + + testcase TC_NegSem_060302_structured_types_019() runs on GeneralComp { + + var IntegerList v_list1:={1,-}; + var ShortIntegerList v_list2; + var RecordType v_rec1; + var UnorderedIntegerList v_ulist1:={1,-}; + var ShortUnorderedIntegerList v_ulist2; + var SetType v_set1; + + var integer v_matcher[2] := {1,-}; + + var boolean v_check1; + + v_list2:=v_list1; + v_rec1:=v_list2; //incompatible assignment according to TTCN-3:2012 + v_ulist2:=v_ulist1; + v_set1:=v_ulist2; //incompatible assignment according to TTCN-3:2012 + + v_check1 := (v_list2[0]==1); + + + if ( v_check1 ) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_060302_structured_types_019()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb2561d7baaecf9bbe1b99293af89d24f2d364b2 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_001.ttcn @@ -0,0 +1,97 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_001 { + + type enumerated EnumeratedType {e_black, e_white}; + type EnumeratedType EnumeratedSynonym; + + type record RecordType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + type record ModifiedRecord { + integer e optional, + integer f(0..5) optional, + boolean g + } + + type set SetType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + type set ModifiedSet { + integer e optional, + integer f(0..5) optional, + boolean g + } + + type record of integer IntegerList(0..10); + type record of integer ModifiedList; + + type set of integer IntegerUnorderedList(0..10); + type set of integer ModifiedUnorderedList; + + type union UnionType { + integer a(0..10), + EnumeratedType b, + boolean c + } + type union ModifiedUnion { + integer a, + boolean c, + EnumeratedSynonym b + } + + +type component GeneralComp { +} + +testcase TC_Sem_060302_structured_types_001() runs on GeneralComp { + + var EnumeratedType v_enum1:=e_black; + var EnumeratedSynonym v_enum2; + var ModifiedRecord v_rec1:={f:=4,e:=8,g:=false}; + var RecordType v_rec2; + var ModifiedSet v_set1:={f:=4,e:=8,g:=false}; + var SetType v_set2; + var ModifiedList v_list1:={2,4,8}; + var IntegerList v_list2; + var ModifiedUnorderedList v_ulist1:={2,4,8}; + var IntegerUnorderedList v_ulist2; + var ModifiedUnion v_union1:={a:=2}; + var UnionType v_union2; + + v_enum2:=v_enum1; + v_rec2:=v_rec1; + v_set2:=v_set1; + v_list2:=v_list1; + v_ulist2:=v_ulist1; + v_union2:=v_union1; + + if ( + (v_enum2==e_black) and + (v_rec2.a==8 and v_rec2.b==4 and v_rec2.c==false) and + (v_set2.a==8 and v_set2.b==4 and v_set2.c==false) and + (v_list2[0]==2 and v_list2[1]==4 and v_list2[2]==8) and + (v_ulist2[0]==2 and v_ulist2[1]==4 and v_ulist2[2]==8) and + (v_union2.a==2) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060302_structured_types_001()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b835ab7a875008bcdc1512d7a9792c1eec33337e --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_002 language "TTCN-3:2010" { + + type record RecordType { + integer a, + integer b optional + } + + type set SetType { + integer a, + integer b optional + } + + type record length (1..2) of integer ShortIntegerList; + type record of integer IntegerList; + + type set length (1..2) of integer ShortUnorderedIntegerList; + type set of integer UnorderedIntegerList; + + + type component GeneralComp { + } + + testcase TC_Sem_060302_structured_types_002() runs on GeneralComp { + + var IntegerList v_list1:={1,-}; + var ShortIntegerList v_list2; + var UnorderedIntegerList v_ulist1:={1,-}; + var ShortUnorderedIntegerList v_ulist2; + + var integer v_matcher[2] := {1,-}; + + var boolean v_check; + + v_list2:=v_list1; + v_ulist2:=v_ulist1; + + v_check := (v_list2[0]==1); + + + if ( v_check ) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_060302_structured_types_002()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_003.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebea6377968ff71834626c4f16b13ddcc3bb97f7 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_003.ttcn @@ -0,0 +1,51 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_003 { + + + type record RecordType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + + type set SetType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + + + +type component GeneralComp { +} + +testcase TC_Sem_060302_structured_types_003() runs on GeneralComp { + + var RecordType v_rec1:={a:=4,b:=8,c:=false}; + var SetType v_set1; + + v_set1.a:=v_rec1.a; + v_set1.b:=v_rec1.b; + v_set1.c:=v_rec1.c; + + if ( + v_set1.a==4 and v_set1.b==8 and v_set1.c==false + ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060302_structured_types_003()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_004.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8db5af5cfaaaec5238137dde914d3c4d45a7c7c4 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_004.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible anytypes + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_004 { + + import from Sem_060302_structured_types_004_importA all; + import from Sem_060302_structured_types_004_importB all; + + +type component GeneralComp { +} + +testcase TC_Sem_060302_structured_types_004() runs on GeneralComp { + + var Sem_060302_structured_types_004_importA.Atype v_a; + var Sem_060302_structured_types_004_importB.Atype v_b := { integer := 1 } + + v_a:=v_b; + + if ( v_a.integer==1 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060302_structured_types_004()); +} + +} + + +module Sem_060302_structured_types_004_importA { + type integer I (0..2); + type float F; + type anytype Atype; + } + + +module Sem_060302_structured_types_004_importB { + type integer I (0..2); + type anytype Atype; +} + diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_005.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a115fa21d482c56f1d9aba328306ba426df0a69a --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_005.ttcn @@ -0,0 +1,46 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_005 { + + + type record RecordType { + integer a(0..10) optional, + integer b(0..10) optional, + boolean c + } + + type record of RecordType RecordList; + + + +type component GeneralComp { +} + +testcase TC_Sem_060302_structured_types_005() runs on GeneralComp { + + var RecordList v_list; + var RecordType v_record:={a:=1,b:=2,c:=false}; + var integer v_int; + + + v_list:= {v_record,v_record}; + v_int:=v_list[1].b; + + if ( v_int==2 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_060302_structured_types_005()); +} + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a2c55b731811bf1a732e563bf6a19f267334e1c --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_006.ttcn @@ -0,0 +1,62 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:6.3.2, Ensure that the IUT correctly handles assignments from structures having compatible types and lengths + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060302_structured_types_006 { + + type record RecordType { + integer a, + integer b optional + } + + type set SetType { + integer a, + integer b optional + } + + type record length (1..2) of integer ShortIntegerList; + type record of integer IntegerList; + + type set length (1..2) of integer ShortUnorderedIntegerList; + type set of integer UnorderedIntegerList; + + + type component GeneralComp { + } + + testcase TC_Sem_060302_structured_types_006() runs on GeneralComp { + + var IntegerList v_list1:={0,-}; + var ShortIntegerList v_list2; + var RecordType v_rec1; + var UnorderedIntegerList v_ulist1:={1,-}; + var ShortUnorderedIntegerList v_ulist2; + var SetType v_set1; + + var integer v_matcher[2] := {1,-}; + + var boolean v_check1; + + v_list1:=v_matcher; + v_list2:=v_list1; + + + v_check1 := (v_list2[0]==1); + + if ( v_check1 ) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_060302_structured_types_006()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c566842a37c5c61cb8930e0634e5b4d9af42921c --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.3, Ensure that the IUT correctly handles component incompatibility due to differing list of constant definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_060303_component_types_001 { + + type integer ConstrainedInteger(0..10); + + type component TestCaseComp { + const integer c_integer:=2; + } + + type component FunctionComp { + const integer c_integer:=2; + const ConstrainedInteger c_constrained:=2; + } + + function f_testFunction(integer p_arg) runs on FunctionComp return integer { + + var integer v_result; + v_result:=p_arg*c_integer; + return v_result; + } + + testcase TC_NegSem_060303_component_types_001() runs on TestCaseComp { + + var integer v_int:=1; + + v_int := f_testFunction(v_int); + // runs on mtc with type TestCaseComp + // f_testFunction needs to run on FunctionComp + // which has 2 variables not 1 as TestCaseComp + setverdict (fail, "ERROR expected: function runs on mtc with type TestCaseComp f_testFunction needs to run on FunctionComp which has 2 variables not 1 as TestCaseComp"); + } + + control { + execute(TC_NegSem_060303_component_types_001()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..852156b659430415a00c1eac634120717328189d --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.3, Ensure that the IUT correctly handles component incompatibility due to differing constant types having same name + ** @verdict pass reject + ***************************************************/ + +module NegSem_060303_component_types_002 { + + type integer ConstrainedInteger(0..10); + + type component TestCaseComp { + const integer c_integer:=2; + const integer c_constrained:=2; + } + + type component FunctionComp { + const integer c_integer:=2; + const ConstrainedInteger c_constrained:=2; + } + + function f_testFunction(integer p_arg) runs on FunctionComp return integer { + + var integer v_result; + v_result:=p_arg*c_integer; + return v_result; + } + + testcase TC_NegSem_060303_component_types_002() runs on TestCaseComp { + + var integer v_int:=1; + + f_testFunction(v_int); + + setverdict(fail, "Error expected: as component types are not compatible since their definitions are not identical."); + } + + control { + execute(TC_NegSem_060303_component_types_002()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..096e868ee7fcac73ad56d14e3dbcffb5d8baf4c6 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.3, Ensure that the IUT correctly handles assignments from structures having compatible components + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060303_component_types_001 { + + type integer ConstrainedInteger(0..10); + + type component TestCaseComp { + const integer c_integer:=2; + const ConstrainedInteger c_constrained:=2; + } + + type component FunctionComp { + const integer c_integer:=2; + const ConstrainedInteger c_constrained:=2; + } + + function f_testFunction(integer p_arg) runs on FunctionComp return integer { + + var integer v_result; + v_result:=p_arg*c_integer*c_constrained; + return v_result; + } + + testcase TC_Sem_060303_component_types_001() runs on TestCaseComp { + + var integer v_int:=1; + + if ( f_testFunction(v_int)==4 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060303_component_types_001()); + } + +} diff --git a/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0a0afc3f64eac8d82d5259f49b74cb990e9cc175 --- /dev/null +++ b/ATS/06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_002.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:6.3.3, Ensure that the IUT correctly handles assignments from structures having compatible components + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_060303_component_types_002 { + + type integer ConstrainedInteger(0..10); + + type component TestCaseComp { + const integer c_integer:=2; + const ConstrainedInteger c_constrained:=2; + } + + type component FunctionComp { + const integer c_integer:=2; + } + + function f_testFunction(integer p_arg) runs on FunctionComp return integer { + + var integer v_result; + v_result:=p_arg*c_integer; + return v_result; + } + + testcase TC_Sem_060303_component_types_002() runs on TestCaseComp { + + var integer v_int:=2; + + if ( f_testFunction(v_int)==4 ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_060303_component_types_002()); + } + +} diff --git a/ATS/06_types_and_values/0604_type_synonym/NOTES b/ATS/06_types_and_values/0604_type_synonym/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..2273c7252fb387c73b59ce56b7d64c0f3cd9879a --- /dev/null +++ b/ATS/06_types_and_values/0604_type_synonym/NOTES @@ -0,0 +1 @@ +- NOTE: rules involving synonyms have already been tested as part of section 6.3. \ No newline at end of file diff --git a/ATS/06_types_and_values/NOTES b/ATS/06_types_and_values/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..5ebc224a74c1c0581e0fa2306a982bd040b20a9e --- /dev/null +++ b/ATS/06_types_and_values/NOTES @@ -0,0 +1,2 @@ +- TODO: write the missing tests for 6.2 + diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NOTES b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..41d4a644c8815e83ffa9e2c145a1950168f548c0 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NOTES @@ -0,0 +1,2 @@ +- TODO: operator precedence not yet part of the tests. +- TODO: no negative tests. \ No newline at end of file diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_001.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..938ddc9774522de6ce0aba0cba2980b96698e53b --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_001.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that Arithmetic operators are for integer and float values + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_001() runs on GeneralComp { + var integer v_i := 20; + var boolean v_k :=true; + + var integer v_result := v_i*v_k; // not allowed int*boolean + + setverdict(pass); + + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_002.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1d7cab0e4134248f70178ef0e07792c92186dca8 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_002.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that arithmetic operators can handle same type of variables + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_002 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_002() runs on GeneralComp { + var integer v_i := 20; + var float v_k :=2.0E0; + + var integer v_result := v_i*v_k; // not allowed int*float + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_003.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..82a2773e8cb74b54243b1e301b1f7f34b43fe4c3 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_003.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that mod arithmetic operator can handle integer variables + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_003 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_003() runs on GeneralComp { + var float v_i := 2.0E1; + var float v_k :=2.0E0; + + var integer v_result := v_i mod v_k; // mod operator is only for integer type + + setverdict(pass); +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_004.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e599af3cd40b7eaa464c8bba0fab83b29c0eb403 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_004.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that rem arithmetic operator can handle integer variables + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_004 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_004() runs on GeneralComp { + var float v_i := 2.0E1; + var float v_k :=2.0E0; + + var integer v_result := v_i rem v_k; // rem operator is only for integer type + + setverdict(pass); +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_004()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_005.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5ea5c2b0ffd6b0e26cb6eead2928435a13b1369 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_005.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that arithmetic operators can not handle special float values + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_005 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_005() runs on GeneralComp { + var float v_i := infinity; + var float v_k :=2.0E0; + + var float v_result := v_i * v_k; // arithmetic operator with infinity is not allowed + + setverdict(pass); +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_005()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_006.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..666e97295b897da2bf15ff139221f3f435368610 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_006.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that arithmetic operators can not handle special float values + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_006 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_006() runs on GeneralComp { + var float v_i := -infinity; + var float v_k :=2.0E0; + + var float v_result := v_i * v_k; // arithmetic operator with -infinity is not allowed + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_006()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_007.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f951e766355ac8f2769fc65c605ac221b5243180 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_007.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that arithmetic operators can not handle special float values + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_007 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_007() runs on GeneralComp { + var float v_i := not_a_number; + var float v_k :=2.0E0; + + var float v_result := v_i * v_k; // arithmetic operator with NaN is not allowed + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_007()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_008.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ddb0714cfb24d92ed23db098a460d7dbe4707216 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_008.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that in x mod y arithmetic operator y is non-zero positive number + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_008 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_008() runs on GeneralComp { + var integer v_i := 20; + var integer v_k :=0; + + var integer v_result := v_i mod v_k; // arithmetic operator mod with 0 is not allowed + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_008()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_009.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9428fd4d1e3058c632a7172a8143dd2776b6da5b --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_009.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that in x rem y arithmetic operator y is non-zero positive number + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_009 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_009() runs on GeneralComp { + var integer v_i := 20; + var integer v_k :=0; + + var integer v_result := v_i rem v_k; // arithmetic operator rem with 0 is not allowed + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_009()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_010.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd1c41e5069526189fde050ffe2040e3ddb82c39 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/NegSem_070101_ArithmeticOperators_010.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that in x rem y arithmetic operator y is non-zero positive number + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070101_ArithmeticOperators_010 { + +type component GeneralComp { +} + +testcase TC_NegSem_070101_ArithmeticOperators_010() runs on GeneralComp { + var integer v_i := 20; + var integer v_k :=4; + var integer v_l :=2; + + var integer v_result := v_i rem (v_k mod v_l); // arithmetic operator rem with 0 is not allowed + + setverdict(pass); + +} +control{ + execute(TC_NegSem_070101_ArithmeticOperators_010()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_001.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..02e9f221c6e7cb75ce087a75422946204b1b025d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition of two integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_001() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_result := v_i + v_j; + + if (v_result == 12) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_002.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f49895d9d90eba1aba66dbf04f26ea73700703db --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_002.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition of multiple integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_002() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_k := 4; + var integer v_l := 6; + var integer v_result := v_i + v_j + v_k + v_l; + + if (v_result == 22) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_003.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c27c85e1c1797a4487139473b4cc10598c62234a --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_003.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition of two integer variables is evaluated correctly when the expression contains a negative value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_003 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_003() runs on GeneralComp { + var integer v_i := -10; + var integer v_j := 2; + var integer v_result := v_i + v_j; + + if (v_result == -8) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_004.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..efe21d9fa1384c39b3c2fa8ce26e841398c6619e --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_004.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the substraction of two integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_004 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_004() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_result := v_i - v_j; + + if (v_result == 8) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_004()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_005.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..625f929d914a55080e220a642770a8414bdf03fa --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_005.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the substraction of multiple integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_005 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_005() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_k := 12; + var integer v_result := v_i - v_j - v_k; + + if (v_result == -4) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_005()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_006.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a351ae93f7095569c0f946e26afebf9c4b13b003 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_006.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the multiplication of two integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_006 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_006() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_result := v_i * v_j; + + if (v_result == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_006()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_007.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56e8f505cb9d237c6d892522deb91e36e3f2289a --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_007.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the multiplication of multiple integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_007 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_007() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_k := 4; + var integer v_l := 3; + var integer v_result := v_i * v_j * v_k * v_l; + + if (v_result == 240) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_007()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_008.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2e9832c004e85a5bb399a955045b581b61083b75 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_008.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the division of two integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_008 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_008() runs on GeneralComp { + var integer v_i := 10; + var integer v_j := 2; + var integer v_result := v_i / v_j; + + if (v_result == 5) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_008()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_009.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cbbf07bd970fdfa90e69d4195cb22fc96c9d4574 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_009.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the division of multiple integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_009 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_009() runs on GeneralComp { + var integer v_i := 100; + var integer v_j := 4; + var integer v_k := 5; + var integer v_result := v_i / v_j / v_k; + + if (v_result == 5) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_009()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_010.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d4d68f1d8e741d607121b749064c08a4b8ea57d4 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_010.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the modulo operator on integer variables is evaluated correctly when the remainder is zero. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_010 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_010() runs on GeneralComp { + var integer v_i := 4; + var integer v_result := v_i mod 2; + + if (v_result == 0) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_010()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_011.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d4e3e2a873f9c7d3dc5471efcf702e9ce194253 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_011.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the modulo operator on integer variables is evaluated correctly when the integer value is smaller than the modulo value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_011 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_011() runs on GeneralComp { + var integer v_i := 8; + var integer v_result := v_i mod 10; + + if (v_result == 8) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_011()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_012.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..42fbb647909f4c8e4816acea7849fc2c38576b64 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_012.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the modulo operator on integer variables is evaluated correctly when the integer value greater than the modulo value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_012 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_012() runs on GeneralComp { + var integer v_i := 12; + var integer v_result := v_i mod 10; + + if (v_result == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_012()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_013.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b643eb58861685a7ef88a65d59a4242b6f3b0d4f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_013.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the modulo operator on integer variables is evaluated correctly when two consecutive modulo operators are applied. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_013 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_013() runs on GeneralComp { + var integer v_i := 11; + var integer v_result := (v_i mod 6) mod 3; + + if (v_result == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_013()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_014.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..21f8fafdbefd65052f96e285078ed26774401a95 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_014.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the modulo operator on integer variables is evaluated correctly when the operand is a negative integer. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_014 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_014() runs on GeneralComp { + var integer v_i := -2; + var integer v_result := (v_i mod 3); + + if (v_result == 1) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_014()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_015.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..45ca917e5777d5798020744d5403c6bf07d58eeb --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_015.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the remainder operator on integer variables is evaluated correctly when the operand is a negative integer. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_015 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_015() runs on GeneralComp { + var integer v_i := -2; + var integer v_result := (v_i rem 3); + + if (v_result == -2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_015()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_016.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..08774c650bcd995747835fe6deed8ebc1ac20959 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_016.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the application of the remainder operator on integer variables is evaluated correctly when the operand is a negative integer. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_016 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_016() runs on GeneralComp { + var integer v_i := 2; + var integer v_result := (v_i rem 3); + + if (v_result == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_016()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_017.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7906d9c1398d1864adb2ff2fdf15459cd3bdca2b --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_017.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the consecutive application of the remainder operator and the modulo operator on integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_017 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_017() runs on GeneralComp { + var integer v_i := -2; + var integer v_result := (v_i rem 3) mod 3; + + if (v_result == 1) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_017()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_018.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4ab047db1a57cd1ec187e0a603026962146fca54 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_018.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that operator combinations and the modulo operator on integer variables is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_018 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_018() runs on GeneralComp { + var integer v_i := 100; + var integer v_result := (((((v_i mod 75)/5)*2)+10)-22) rem 3; + + if (v_result == -2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_018()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6deffc7039115ebf4cf8f43dc1cd74c60a4041a8 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition operator works on float variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_019 { + +type component GeneralComp { +} + +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_070101_ArithmeticOperators_019() runs on GeneralComp { + var float v_i := 10.2; + var float v_j := 0.4; + var float v_result := v_i + v_j; + + if ( f_isFloatNear(v_result,10.6) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_019()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a0632a0ccbf9aa5699474ed5789da6c7173c046d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the substraction operator works on float variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_020 { + +type component GeneralComp { +} + +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_070101_ArithmeticOperators_020() runs on GeneralComp { + var float v_i := 10.2; + var float v_j := 0.4; + var float v_result := v_i - v_j; + + if ( f_isFloatNear(v_result,9.8) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_020()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..66e8459ffbb66ec36a9a0dbd4b97ea98bc1c5d88 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the multiplication operator works on float variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_021 { + +type component GeneralComp { +} + +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_070101_ArithmeticOperators_021() runs on GeneralComp { + var float v_i := 10.2; + var float v_j := 0.4; + var float v_result := v_i * v_j; + + if ( f_isFloatNear(v_result,4.08) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_021()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eac2c469830c56983528ad319dd9c1016886051d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the division operator works on float variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_022 { + +type component GeneralComp { +} + +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_070101_ArithmeticOperators_022() runs on GeneralComp { + var float v_i := 10.2; + var float v_j := 0.4; + var float v_result := v_i / v_j; + + if ( f_isFloatNear(v_result,25.5) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_022()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec0d968eb8a55e162284474e068cc033c097e3a4 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the combination of different operators works on float variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_023 { + +type component GeneralComp { +} + +/** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ +function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; +} + +testcase TC_Sem_070101_ArithmeticOperators_023() runs on GeneralComp { + var float v_i := 10.2; + var float v_result := (((v_i * 2.3) / 0.4)+0.45)-0.1; + + if ( f_isFloatNear(v_result,59.0) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_023()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_024.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9fb1cdc1a825802423f45dd0d0da51c129b2592d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_024.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the operator precedence is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_024 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_024() runs on GeneralComp { + var integer v_i := 4; + var integer v_j := 12; + var integer v_k := 18; + var integer v_l := 3; + + var integer v_result := v_i+v_j-v_k / v_l; + + if (v_result == 10) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070101_ArithmeticOperators_024()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_025.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..415bdd0b65ffabae422419c05cd7a4177f147fd4 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_025.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the operator precedence is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_025 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_025() runs on GeneralComp { + var integer v_i0 := 20; + var integer v_i1 := 16; + var integer v_i2 := 2; + var integer v_j := 4; + var integer v_k := 8; + + var integer v_result := v_i0 rem 3-v_j+v_i1/v_i2 mod 3*v_k; + + if (v_result == 14) { + setverdict(pass); + } else { + setverdict(fail); + } +} +control{ + execute(TC_Sem_070101_ArithmeticOperators_025()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_026.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b83bfcd790d581d5be9cc8f0163880ed21d0c291 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_026.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the operator precedence is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070101_ArithmeticOperators_026 { + +type component GeneralComp { +} + +testcase TC_Sem_070101_ArithmeticOperators_026() runs on GeneralComp { + var integer v_i0 := 40; + var integer v_i1 := 6; + var integer v_i2 := 3; + + var integer v_result := v_i0 rem v_i1 mod v_i2; // equal precendence, then left-right evalution + + if (v_result == 1) { + setverdict(pass); + } else { + setverdict(fail); + } +} +control{ + execute(TC_Sem_070101_ArithmeticOperators_026()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_001.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db5a44cd29ff8f9ae1ae01a83cd4a8e3445ac296 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_001.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition of two integers in a constant is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_001 { + +const integer c_result := 10 + 2; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_002.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e9ea11c3b3bf9fa6bb8a7307e05c13d1acbdcd71 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_002.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the substraction of two integers in a constant is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_002 { + +const integer c_result := 10 - 2; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_003.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e995a63abfb8be540dbb4b8d129d54af76901969 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_003.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the multiplication of two integers in a constant is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_003 { + +const integer c_result := 10 * 2; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_004.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..57de7882d234567a31c66561bf324f16b3e29b43 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_004.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the division of two integers in a constant is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_004 { + +const integer c_result := 10 / 3; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_005.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7842643f2d05d13cd9da7101f83712240b7a459f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_005.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the modulo operator on two integers is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_005 { + +const integer c_result := 10 mod 3; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_006.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8478acf6695951aab34416d280a87e56c45be29f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_006.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the remainder operator on two integers is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_006 { + +const integer c_result := -2 rem 3; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_007.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..93d33e12ceaecd9baddf974785c7f4f4327d1c1d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_007.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that operator combinations on integers is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_007 { + +const integer c_result := (((((100 mod 75)/5)*2)+10)-22) rem 3; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_008.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bd3e90f0609974374151999277373cadc2d73117 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_008.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the addition operator on float constants is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_008 { + +const float c_result := 10.2 + 0.4; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_009.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..245665a517a03601e742039c1990f32633f0d71d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_009.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the substraction operator on float constants is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_009 { + +const float c_result := 10.2 - 0.4; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_010.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5430cabb7352aa8912958627fd1c70af1c64cb7a --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_010.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the multiplication operator on float constants is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_010 { + +const float c_result := 10.2 * 0.4; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_011.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c5b5d8c9b6339291446ec6a058a8c608252c58cc --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_011.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that the division operator on float constants is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_011 { + +const float c_result := 10.2 / 0.4; + +} diff --git a/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_012.ttcn b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0ef5607621a5cd2bedbf13967ddb88dd6aaf98e3 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_012.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.1, Ensure that a combination of operators on float constants is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_070101_ArithmeticOperators_012 { + const float c_i := 1.5; + const float c_result := (((c_i * 2.3) / 0.4)+0.45)-0.1; + +} diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_001.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7617d0878d3fd09ff8e7893dc55cda976cd03baf --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on bitstrings is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070102_ListOperator_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070102_ListOperator_001() runs on GeneralComp { + var bitstring v_result := '1111'B & '0000'B & '1111'B; + if (v_result == '111100001111'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_002.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0721f167d8d0a52ea946abfb37c4a70efcb59ac4 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_002.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on charstrings is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070102_ListOperator_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070102_ListOperator_002() runs on GeneralComp { + var charstring v_result := "Hello" & " " & "World!"; + if (v_result == "Hello World!") { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_002()); +} + +} \ No newline at end of file diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_003.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a861acb552053e822f21b13a4bfbd73a1a37ac01 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_003.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on record of is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_070102_ListOperator_003 { + +type component GeneralComp { +} + +type record of integer IntegerArray; + +testcase TC_Sem_070102_ListOperator_003() runs on GeneralComp { + var IntegerArray v_i := {0, 1, 2}; + var IntegerArray v_j := {3, 4, 5}; + + var IntegerArray v_result := v_i & v_j; + var IntegerArray v_reference := {0, 1, 2, 3, 4, 5}; + if (v_result == v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_004.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9dd0bd21cb3008f39ac89387d5e5112227c9bb0c --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_004.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on set of is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_070102_ListOperator_004 { + +type component GeneralComp { +} + +type set of integer IntegerSet; + +testcase TC_Sem_070102_ListOperator_004() runs on GeneralComp { + var IntegerSet v_i := {0, 1, 6}; + var IntegerSet v_j := {2, 4, 7}; + + var IntegerSet v_result := v_i & v_j; + var IntegerSet v_reference := {0, 1, 6, 2, 4, 7}; + if (v_result == v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_004()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_005.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f05dd1e21abe8323fc3d2e03c87169fa06f98cc --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_005.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on arrays is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070102_ListOperator_005 { + +type component GeneralComp { +} + +type integer MyArrayType[3]; +type integer MyArrayTypeSix[6]; + +testcase TC_Sem_070102_ListOperator_005() runs on GeneralComp { + var MyArrayType v_i := {0, 1, 6}; + var MyArrayType v_j := {2, 4, 7}; + + var MyArrayTypeSix v_result := v_i & v_j; + var MyArrayTypeSix v_reference := {0, 1, 6, 2, 4, 7}; //order of elements is concatenated order + if (v_result == v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_005()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_006.ttcn b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5b76048e9632dcd163d0b5f7bd302bfda78f3e4b --- /dev/null +++ b/ATS/07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_006.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.2, Ensure that the list operator on record of is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_070102_ListOperator_006 { + +type component GeneralComp { +} + +type record of integer IntegerArray; + +testcase TC_Sem_070102_ListOperator_006() runs on GeneralComp { + var IntegerArray v_i := {0, 1, 2} & {3, 4, 5} & {6}; + + var IntegerArray v_reference := {0, 1, 2, 3, 4, 5, 6}; + + if (v_i == v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070102_ListOperator_006()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/NOTES b/ATS/07_expressions/0701_operators/070103_relational_operators/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..923ef02d2d2f339967c2aece9ef4c740358a3cff --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/NOTES @@ -0,0 +1,4 @@ +TODO: add == and != tests for default (altstep activation variables). Try the following varieties, +based on 20.5 test cases: + if (v_def == null) ... + if (v_def1 == v_def2) ... \ No newline at end of file diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/NegSem_070103_RelationalOperators_001.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/NegSem_070103_RelationalOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97cf6f1d31aef5cd3fcc2e30251dd8bb227d508e --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/NegSem_070103_RelationalOperators_001.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_070103_RelationalOperators_001 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_NegSem_070103_RelationalOperators_001() runs on GeneralComp { + const IntegerSet c_set := {a1:=omit,a2:=2,a3:=omit}; + + if ( c_set.a1 == omit ) { //omit is neither a value nor a field reference + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_070103_RelationalOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_001.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..07b567f6e14d20e0f9080cde0dc1be89092f5265 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_001.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on integers is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_001() runs on GeneralComp { + if (2 == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_002.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..20459dd9f4ad8f0d891da00df9c117cf923e95f0 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_002.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on floats is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_002() runs on GeneralComp { + if (2.0 == 2.0) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_003.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..889f221213f1f9bac406c306cd915c27d6219d77 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_003.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on enumerations is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_003 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_003() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_reference := e_monday; + + if (v_first == v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_004.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41c42d1b240926bc498898a427952aa80babd141 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_004.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than operator on integers is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_004 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_004() runs on GeneralComp { + if (2 < 3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_004()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_005.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..39f763f90114a6542e90dbf505004dc6beb97c0a --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_005.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than operator on floats is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_005 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_005() runs on GeneralComp { + if (2.3 < 2.452) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_005()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_006.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c41293cb1195fbb27aa1d2f7cb1de3321d7228f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_006.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than operator on enumerations is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_006 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_006() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_tuesday; + + if (v_first < v_second) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_006()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_007.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f7f0bc4a829e9322c2063e86631f10f74fd50c8c --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_007.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on integers is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_007 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_007() runs on GeneralComp { + if (2 <= 3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_007()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_008.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8b892f4367cac35cf67a553788d6ea75cadc9630 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_008.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on integers is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_008 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_008() runs on GeneralComp { + if (2 <= 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_008()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_009.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fd83928c91bfa7d058a1944a6fd4eaa3d111a65 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_009.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on floats is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_009 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_009() runs on GeneralComp { + if (2.3 <= 3.2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_009()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_010.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..05d7a30dd73fc9f60d969bf565f38d6b86b2a735 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_010.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on floats is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_010 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_010() runs on GeneralComp { + if (2.3 <= 2.3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_010()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_011.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..35f526636622d112bbc7d39a4c6594470dbb0c7d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_011.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on enumerations is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_011 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_011() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_tuesday; + + if (v_first <= v_second) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_011()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_012.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..701d3dc38647f9740ed44c839f2b5db6b04eaf7f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_012.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on enumerations is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_012 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_012() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_monday; + + if (v_first <= v_second) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_012()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_013.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..599dd6c83e0531d17d5b9a885d4af9079c867934 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_013.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than operator on integers is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_013 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_013() runs on GeneralComp { + if (3 > 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_013()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_014.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e1d7302c6606b6f3e6be01d4c0962b817ea378de --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_014.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than operator on floats is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_014 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_014() runs on GeneralComp { + if (2.452 > 2.3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_014()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_015.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a148c7ab756247b3edc9e4005fc55f62f0f75221 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_015.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than operator on enumerations is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_015 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_015() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_tuesday; + + if (v_second > v_first) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_015()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_016.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2593338f483b05eb842ba429c2931de6da073fbb --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_016.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than or equal to operator on integers is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_016 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_016() runs on GeneralComp { + if (3 >= 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_016()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_017.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..862c35f26b21f67e86514c02a9e7740539715946 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_017.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than or equal to operator on integers is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_017 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_017() runs on GeneralComp { + if (2 >= 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_017()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_018.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e96fcfa4302752bd0b605d0ad075e407be9750d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_018.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than or equal to operator on floats is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_018 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_018() runs on GeneralComp { + if (3.2 >= 2.3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_018()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_019.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c10df6beb1a61fa57f3325624320f500777e5fe8 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_019.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than or equal to operator on floats is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_019 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_019() runs on GeneralComp { + if (2.3 >= 2.3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_019()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_020.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5a2532f2bcb76c7286db5881331b1706f145a80c --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_020.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the less than or equal to operator on enumerations is evaluated correctly with differing values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_020 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_020() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_tuesday; + + if (v_second >= v_first) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_020()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_021.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..25d6790cc4f45f2db83d147a7dd2257f2a84354e --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_021.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the greater than or equal to operator on enumerations is evaluated correctly with equal values. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_021 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_021() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_second := e_monday; + + if (v_first >= v_second) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_021()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_022.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a86edc7cb3ee5b851cc15c771c7d5b9fbac694c3 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_022.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the not equals operator on integers is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_022 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_022() runs on GeneralComp { + if (2 != 3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_022()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_023.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3adfc2a5ff2a9650afa33d5881586601e924748 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_023.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the not equals operator on floats is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_023 { + +type component GeneralComp { +} + +testcase TC_Sem_070103_RelationalOperators_023() runs on GeneralComp { + if (2.12 != 2.3) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_023()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_024.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3e913e1c0bd885e7620f4b5355cd0527177991a8 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_024.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the not equals operator on enumerations is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_024 { + +type component GeneralComp { +} + +type enumerated MyEnumType { + e_monday, e_tuesday, e_wednesday, e_thursday, e_friday +}; + +testcase TC_Sem_070103_RelationalOperators_024() runs on GeneralComp { + var MyEnumType v_first := e_monday; + var MyEnumType v_reference := e_tuesday; + + if (v_first != v_reference) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_024()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_025.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03a10013b5a656fe66d1e95c4b8094ad4538b52f --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_025.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on sets is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_025 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_025() runs on GeneralComp { + const IntegerSet c_set := {a1:=0,a2:=omit,a3:=2}; + + if ( { a3:=2, a2:=omit, a1:=0 } == c_set ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_025()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_026.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..93186f06c6969a13c94ce053b34ceb3acc829dc9 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_026.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_026 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_026() runs on GeneralComp { + var IntegerSet v_set := {a1:=0,a2:=omit,a3:=2}; + + if ( v_set == { a1:=0, a2:=omit, a3:=2 } ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_026()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_030.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb90c4ba4da8f9c551f0b2571cd6d3d81bfe761b --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_030.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_030 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_030() runs on GeneralComp { + const IntegerSet c_set := {a1:=1,a2:=omit,a3:=1}; + + if ( c_set.a1 == c_set.a3 ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_030()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_031.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e68a671d27e11c08b22d5e148b024caac55d8a37 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_031.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_031 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_031() runs on GeneralComp { + const IntegerSet c_set := {a1:=omit,a2:=2,a3:=omit}; + + if ( c_set.a1 == c_set.a3 ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_031()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_032.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..72db43f3b9028476a9acbac28ac3be600dd0f627 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_032.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_032 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_032() runs on GeneralComp { + const IntegerSet c_set := {a1:=omit,a2:=2,a3:=omit}; + + if ( c_set.a2 == 2 ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_032()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_033.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7dda1b01911002083e9fdc58aa928235133be099 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_033.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_033 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_033() runs on GeneralComp { + const IntegerSet c_set := {a1:=omit,a2:=2,a3:=omit}; + + if ( c_set.a2 != c_set.a3 ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_033()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_034.ttcn b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f40607f39fad932752fc2014296554cc52cd993d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_034.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070103_RelationalOperators_034 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_070103_RelationalOperators_034() runs on GeneralComp { + const IntegerSet c_set := {a1:=omit,a2:=2,a3:=omit}; + + if ( c_set.a2 == 1 ) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_034()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn b/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5838c76afedde4fef33ae8ef43f54a9bb455ee25 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.4, Ensure that the boolean operator supports negation. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070104_LogicalOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070104_LogicalOperators_001() runs on GeneralComp { + var boolean v_test := true; + v_test := not v_test; + + if (v_test == false) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070104_LogicalOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn b/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e2704de445a6811c3d6b49ae57891f23a67641b9 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.4, Ensure that the the and operator with true and false as operands work on boolean variables. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070104_LogicalOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070104_LogicalOperators_002() runs on GeneralComp { + var boolean v_first := true; + var boolean v_second := false; + + var boolean v_result := v_first and v_second; + + if (v_result == false) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070104_LogicalOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn b/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1c3f37f0a3d7ff3a4c16b607c491dea466d26559 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.5, Ensure that the bitwise negation operator works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070105_BitwiseOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070105_BitwiseOperators_001() runs on GeneralComp { + var bitstring v_test := '1'B; + var bitstring v_result := not4b v_test; + + if (v_result == '0'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070105_BitwiseOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_002.ttcn b/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c18245e3ee4b9654541103a50bdb7035e927bbaf --- /dev/null +++ b/ATS/07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.5, Ensure that the bitwise negation operator works as expected on hexstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070105_BitwiseOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070105_BitwiseOperators_002() runs on GeneralComp { + var hexstring v_test := '1A5'H; + var hexstring v_result := not4b v_test; + + if (v_result == 'E5A'H) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070105_BitwiseOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_001.ttcn b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..000f132bd0b2cd3fb66c2c6b1af075639cf946dd --- /dev/null +++ b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.6, Ensure that the shift left operator works as expected on bitstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070106_ShiftOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070106_ShiftOperators_001() runs on GeneralComp { + var bitstring v_test := '111001'B; + var bitstring v_result := v_test << 2; + + if (v_result == '100100'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070106_ShiftOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_002.ttcn b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..989e4980bf4965dfce6d81c15cb2e38d3aee236c --- /dev/null +++ b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.6, Ensure that the shift left operator works as expected on hexstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070106_ShiftOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070106_ShiftOperators_002() runs on GeneralComp { + var hexstring v_test := '12345'H; + var hexstring v_result := v_test << 2; + + if (v_result == '34500'H) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070106_ShiftOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_003.ttcn b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7e08e2e31f7c8e1b6f4ef4e88ab6bba75314752d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_003.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.6, Ensure that the shift right operator works as expected on bitstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070106_ShiftOperators_003 { + +type component GeneralComp { +} + +testcase TC_Sem_070106_ShiftOperators_003() runs on GeneralComp { + var bitstring v_test := '111001'B; + var bitstring v_result := v_test >> 2; + + if (v_result == '001110'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070106_ShiftOperators_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_004.ttcn b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5637fa00fb425c74be2f2116673d4d835175256d --- /dev/null +++ b/ATS/07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_004.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.6, Ensure that the shift right operator works as expected on hexstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070106_ShiftOperators_004 { + +type component GeneralComp { +} + +testcase TC_Sem_070106_ShiftOperators_004() runs on GeneralComp { + var hexstring v_test := '12345'H; + var hexstring v_result := v_test >> 2; + + if (v_result == '00123'H) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070106_ShiftOperators_004()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_001.ttcn b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e50c2d50f7901c914e65b0725947d657cb5d7a9 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.7, Ensure that the rotate left operator works as expected on bitstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070107_RotateOperators_001 { + +type component GeneralComp { +} + +testcase TC_Sem_070107_RotateOperators_001() runs on GeneralComp { + var bitstring v_test := '101001'B; + var bitstring v_result := v_test <@ 2; + + if (v_result == '100110'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070107_RotateOperators_001()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_002.ttcn b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ba9edadeceb9c8c0317c8073bd0ecefff070d1ba --- /dev/null +++ b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.7, Ensure that the rotate left operator works as expected on hexstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070107_RotateOperators_002 { + +type component GeneralComp { +} + +testcase TC_Sem_070107_RotateOperators_002() runs on GeneralComp { + var hexstring v_test := '12345'H; + var hexstring v_result := v_test <@ 2; + + if (v_result == '34512'H) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070107_RotateOperators_002()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_003.ttcn b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..76f123e71d1511bd01e07d8e49917a241e09b03a --- /dev/null +++ b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_003.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.7, Ensure that the rotate right operator works as expected on bitstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070107_RotateOperators_003 { + +type component GeneralComp { +} + +testcase TC_Sem_070107_RotateOperators_003() runs on GeneralComp { + var bitstring v_test := '100001'B; + var bitstring v_result := v_test @> 2; + + if (v_result == '011000'B) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070107_RotateOperators_003()); +} + +} diff --git a/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_004.ttcn b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..776cd30a99130b402e13898f572a439ec22a86d9 --- /dev/null +++ b/ATS/07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_004.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.1.7, Ensure that the rotate right operator works as expected on hexstrings. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_070107_RotateOperators_004 { + +type component GeneralComp { +} + +testcase TC_Sem_070107_RotateOperators_004() runs on GeneralComp { + var hexstring v_test := '12345'H; + var hexstring v_result := v_test @> 2; + + if (v_result == '45123'H) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070107_RotateOperators_004()); +} + +} diff --git a/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_001.ttcn b/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..039d697d6b9e9c902e7b57069856b4eb7a8133f8 --- /dev/null +++ b/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.2, Ensure that the IUT correctly handles field referencing + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_0702_FieldReferencesAndListElements_001 { + +type component GeneralComp { +} + +type record MyRecord1 { + integer field1, + charstring field2 +} + +testcase TC_Sem_0702_FieldReferencesAndListElements_001() runs on GeneralComp { + var MyRecord1 v_test := {1, "Hello World!"}; + + if ((v_test.field1 == 1) and (v_test.field2 == "Hello World!")) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0702_FieldReferencesAndListElements_001()); +} + +} diff --git a/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_002.ttcn b/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5817c0b215d26c300dbddf94ed462baef3723a51 --- /dev/null +++ b/ATS/07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_002.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:7.2, Ensure that the IUT correctly handles field referencing + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_0702_FieldReferencesAndListElements_002 { + +type component GeneralComp { +} + +type record of integer IntegerArray; + +testcase TC_Sem_0702_FieldReferencesAndListElements_002() runs on GeneralComp { + var IntegerArray v_test := {20, 41, 12}; + + if ((v_test[0] == 20) and (v_test[1] == 41) and (v_test[2] == 12)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0702_FieldReferencesAndListElements_002()); +} + +} diff --git a/ATS/07_expressions/NOTES b/ATS/07_expressions/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..d4f1fe19bff0314d40950b03fd336ae1f039c7a3 --- /dev/null +++ b/ATS/07_expressions/NOTES @@ -0,0 +1,2 @@ +- TODO: add some operator precedence tests... +- TODO: add more tests in general \ No newline at end of file diff --git a/ATS/08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn b/ATS/08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3df0af6a101a16c45c6bf9eaf803c130274c1740 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with multiple language specifications is rejected. + ** @verdict pass reject + *****************************************************************/ +// list of languages is not allowed +module NegSyn_0801_DefinitionOfAModule_001 language "TTCN-3:2005", "TTCN-3:2009", "TTCN-3:2010" { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a77b0476ca547a31cd9bf06c96aecf810110f99e --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a "plain" module definition is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_001 { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fc097462a97447d032bbe7f97920548238169009 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with language specification is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_002 language "TTCN-3:2005" { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_003.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd2039768bf601f57bdb762bf704df76ca631ee2 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_003.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with language and package is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_003 language "TTCN-3:2010", "TTCN-3:2010 Advanced Parameterization" { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_004.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8d0bc2c1e2b57ff602196aac2d37a78e363059f8 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_004.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with package and without language is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_004 language "TTCN-3:2010 Advanced Parameterization" { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_005.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed60d3a08a466032eb5e1f06fbd66924edaa82b1 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_005.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with ed4.3.1 language and package is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_005 language "TTCN-3:2011", "TTCN-3:2010 Advanced Parameterization" { + +} diff --git a/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_006.ttcn b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..507e644b0e8c36c744fa5e610567d2355af02a29 --- /dev/null +++ b/ATS/08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_006.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:8.1, Ensure that a module definition with ed4.4.1 language and package is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0801_DefinitionOfAModule_006 language "TTCN-3:2012" { + +} diff --git a/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e11d0c3dc253f4dfe766e73e01d91d72915e9237 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.1, Ensure that a reference to plain module parameter with a default value delivers the default value unless it is overwritten. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080201_ModuleParameters_001 { + +modulepar integer MY_INTEGER_MODULE_PARAMETER := 2; + +type component GeneralComp { +} + +testcase TC_Sem_080201_ModuleParameters_001() runs on GeneralComp { + if (MY_INTEGER_MODULE_PARAMETER == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080201_ModuleParameters_001()); +} + +} diff --git a/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..43811f1f9625815049c0f19785c0918f300fa016 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.1, Ensure that plain module parameters are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_080201_ModuleParameters_001 { + modulepar integer MY_INTEGER_MODULE_PARAMETER; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a02dfff38931ffdadb601c9d8f5c3f21652898a8 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.1, Ensure that plain module parameters with default values are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_080201_ModuleParameters_002 { + modulepar integer MY_INTEGER_MODULE_PARAMETER := 2; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b442a2ecb0974ad1159bc5e849cbbb82f477b5de --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_003.ttcn @@ -0,0 +1,10 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.1, Ensure that plain module parameters with default values and visibility modifiers are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_080201_ModuleParameters_003 { + private modulepar integer MY_INTEGER_MODULE_PARAMETER := 2; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2a5ac79e7f97901fb46c928fc16c04d38f71d80b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_001.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.2, Ensure that a definition within a group is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_080202_GroupOfDefinitions_001 { + group TYPEDEF_GROUP { + group RECORDS_GROUP { + public type record MyRecord1 { + integer field1, + charstring field2 + } + } + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4de34bd67bc563725646e1d6fc50863b93da2139 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_002.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.2, Ensure that a definition within a nested group is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_080202_GroupOfDefinitions_002 { + group MY_TYPEDEF_GROUP { + + public type record MyRecord1 { + integer field1, + charstring field2 + } + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58fb495c7b02559a29536229025826d46764b563 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_003.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.2, Ensure that a definition within a group with public visibility modifier is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_080202_GroupOfDefinitions_003 { + public group TYPEDEF_GROUP { + public type record MyRecord1 { + integer field1, + charstring field2 + } + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_004.ttcn b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d2b505749ceb002e6834d7b484eade73f8a1444d --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_004.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.2, Ensure that a definition within a group with public visibility modifier and attributes is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_080202_GroupOfDefinitions_004 { + public group TYPEDEF_GROUP { + public type record MyRecord1 { + integer field1, + charstring field2 + } + } with { + encode "Encoding 3"; + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4db7bb8ca6ebe1a7612c2cb3227f7cf5f13bbda --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_001.ttcn @@ -0,0 +1,23 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that name handling of imported enumerations is properly handled + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_08020301_GeneralFormatOfImport_001 { + import from NegSem_08020301_GeneralFormatOfImport_001_import all; + + + //according to CR5607 the following definitions are not allowed, name conflict must be detected + const EnumType2 enumX := enumX; + const EnumType enumY := enumX; + +} + +module NegSem_08020301_GeneralFormatOfImport_001_import { + type enumerated EnumType {enumX, enumY, enumZ}; + type enumerated EnumType2 {enumX, enumY, enumZ}; + +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2be67f0f59879eafdd21d2932fa7d9cb84eff7e6 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_002.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that name handling of imported enumerations is properly handled + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_08020301_GeneralFormatOfImport_002 { + import from NegSem_08020301_GeneralFormatOfImport_002_import all; + + const EnumType2 c_enum := enumX; + + modulepar EnumType px_ModulePar := NegSem_08020301_GeneralFormatOfImport_002.c_enum; //type mismatch +} + +module NegSem_08020301_GeneralFormatOfImport_002_import { + type enumerated EnumType {enumX, enumY, enumZ}; + type enumerated EnumType2 {enumX, enumY, enumZ}; + +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..882e926cfed76fae489272213e582f3314aa06b1 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_003.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that transitive import rules are properly handled + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_08020301_GeneralFormatOfImport_003 { + +import from NegSem_08020301_GeneralFormatOfImport_003_import { + const all; +}; + +type component GeneralComp {} + +testcase TC_NegSem_08020301_GeneralFormatOfImport_003() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_08020301_GeneralFormatOfImport_003()); +} +} + +module NegSem_08020301_GeneralFormatOfImport_003_import { + public import from NegSem_08020301_GeneralFormatOfImport_003_import_2 all; +} + + +module NegSem_08020301_GeneralFormatOfImport_003_import_2 { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_004.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..59c9c8c28ea7332d63eb3b578a174c6e846bdabc --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_004.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that transitive import rules are properly handled + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_08020301_GeneralFormatOfImport_004 { + +import from NegSem_08020301_GeneralFormatOfImport_004_import all; + +type component GeneralComp {} + +testcase TC_NegSem_08020301_GeneralFormatOfImport_004() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_08020301_GeneralFormatOfImport_004()); +} +} + +module NegSem_08020301_GeneralFormatOfImport_004_import { + import from NegSem_08020301_GeneralFormatOfImport_004_import_2 all; +} + + +module NegSem_08020301_GeneralFormatOfImport_004_import_2 { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_005.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27466849ba0d8ae080c2aaa0b07addd83f705000 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_005.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that the identifier of the current module cannot be used for prefixing imported entities + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Name clashes shall be resolved using qualified name(s) for the imported definition(s), +// i.e. prefixing the imported definition by the identifier of the module in which it has +// been defined; the prefix and the identifier shall be separated by a dot ("."). +// In cases where there are no ambiguities the prefixing need not (but may) be present +// when the imported definitions are used. + +module NegSem_08020301_GeneralFormatOfImport_005 { + +import from NegSem_08020301_GeneralFormatOfImport_005_import all; + +type component GeneralComp {} + +testcase TC_NegSem_08020301_GeneralFormatOfImport_005() runs on GeneralComp { + log(NegSem_08020301_GeneralFormatOfImport_005.c_test); + setverdict(pass); +} + +control{ + execute(TC_NegSem_08020301_GeneralFormatOfImport_005()); +} +} + +module NegSem_08020301_GeneralFormatOfImport_005_import { + const integer c_test := 5; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_006.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c4a3826eaa3d8db169792b83b2c1f93c8224f33b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_006.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that the import statement cannot be used in other places than in the module definition part + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction b: +// Only top-level visible definitions of a module may be imported. Definitions which +// are top-level but invisible to the importing module or which occur at a lower scope +// (e.g. local constants defined in a function) shall not be imported. + +module NegSem_08020301_GeneralFormatOfImport_006 { +import from NegSem_08020301_GeneralFormatOfImport_006_import { const c_test }; + +type component GeneralComp {} + +testcase TC_NegSem_08020301_GeneralFormatOfImport_006() runs on GeneralComp { + log(c_test); + setverdict(pass); +} + +control{ + execute(TC_NegSem_08020301_GeneralFormatOfImport_006()); +} +} + +module NegSem_08020301_GeneralFormatOfImport_006_import { + control { + const integer c_test := 5; + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_007.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..04213e9d8172ac9403507c3b181daac04b4f4b72 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_007.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that information about message types is imported together with port type + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// User defined type, port type + +module NegSem_08020301_GeneralFormatOfImport_007 { +import from NegSem_08020301_GeneralFormatOfImport_007_import { type P }; + +type component GeneralComp { + port P p1; +} + +testcase TC_NegSem_08020301_GeneralFormatOfImport_007() runs on GeneralComp { + // Since the type of the sent message is not compatible with the allowed types of the imported + // port type, a type compatibility error shall be generated. This proves that the type information + // has been properly imported. + p1.send(charstring:"abc"); + setverdict(pass); +} + +control{ + execute(TC_NegSem_08020301_GeneralFormatOfImport_007()); +} +} + +module NegSem_08020301_GeneralFormatOfImport_007_import { + type port P message { + inout integer; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_008.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b1b779620fbe718ac0837585681314adc61c83a --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_008.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of module parameter types are not imported together with module parameters + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a module parameter: module parameter type + +module NegSem_08020301_GeneralFormatOfImport_008 { +import from NegSem_08020301_GeneralFormatOfImport_008_import { modulepar PX_TEST }; + const MyType c_test := 1; // MyType should be undefined, because it is not automatically imported +} + +module NegSem_08020301_GeneralFormatOfImport_008_import { + type integer MyType; + modulepar MyType PX_TEST; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_009.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d88a2811afc8dc215dd78820aa2bf1df0bec806d --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_009.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of constant types are not imported together with constants + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a constant: constant type + +module NegSem_08020301_GeneralFormatOfImport_009 { +import from NegSem_08020301_GeneralFormatOfImport_009_import { const c_test }; + const MyType c_test := 1; // MyType should be undefined, because it is not automatically imported +} + +module NegSem_08020301_GeneralFormatOfImport_009_import { + type integer MyType; + const MyType c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_010.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cdc23febb9a7b129649deeb222b941843c742ad3 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_010.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of field types are not imported together with structured types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a structured type: field types + +module NegSem_08020301_GeneralFormatOfImport_010 { +import from NegSem_08020301_GeneralFormatOfImport_010_import { type R }; + const MyType c_test := 1; // MyType should be undefined, because it is not automatically imported +} + +module NegSem_08020301_GeneralFormatOfImport_010_import { + type integer MyType; + type record R { + MyType field1 + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_011.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f58afbb7f83e3e3a2375cd4068029a5caade81c --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_011.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of message types are not imported together with port types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a port type: message types + +module NegSem_08020301_GeneralFormatOfImport_011 { +import from NegSem_08020301_GeneralFormatOfImport_011_import { type P }; + const MyType c_test := 1; // MyType should be undefined, because it is not automatically imported +} + +module NegSem_08020301_GeneralFormatOfImport_011_import { + type integer MyType; + type port P message { + inout MyType + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_012.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e8aa8926c5ace96d2af58a3c96a30090090fca71 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_012.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of signatures are not imported together with port types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a port type: signatures + +module NegSem_08020301_GeneralFormatOfImport_012 { +import from NegSem_08020301_GeneralFormatOfImport_012_import { type P }; + // MySignature should be undefined, because it is not automatically imported + template MySignature s_test := { p_par1 := 1 }; +} + +module NegSem_08020301_GeneralFormatOfImport_012_import { + //type integer MyType; + signature MySignature (in integer p_par1) return integer; + type port P procedure { + inout MySignature + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_013.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bd1c88ed927ddfb7cd83c7fd30a276f96f22df3b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_013.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of constant types are not imported together with component types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a component type: constant types + +module NegSem_08020301_GeneralFormatOfImport_013 { +import from NegSem_08020301_GeneralFormatOfImport_013_import { type C }; + // MyType should be undefined, because it is not automatically imported + template MyType s_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_013_import { + type integer MyType; + type component C { + const MyType cc_test := 0; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_014.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ba0f48fc55a083887e137b3e402d13a127b7589 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_014.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of variable types are not imported together with component types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a component type: variable types + +module NegSem_08020301_GeneralFormatOfImport_014 { +import from NegSem_08020301_GeneralFormatOfImport_014_import { type C }; + // MyType should be undefined, because it is not automatically imported + template MyType s_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_014_import { + type integer MyType; + type component C { + var MyType vc_test := 0; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_015.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a97010f51c0efb79febec2a9bf417829e0bd3001 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_015.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of port types are not imported together with component types + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a component type: port types + +module NegSem_08020301_GeneralFormatOfImport_015 { +import from NegSem_08020301_GeneralFormatOfImport_015_import { type C }; + // P should be undefined, because it is not automatically imported + type component GeneralComponent { + port P p2; + } +} + +module NegSem_08020301_GeneralFormatOfImport_015_import { + type port P message { + inout integer + } + type component C { + port P p1; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_016.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..712a7af749c1f5645d47feca98e02f00939a8447 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_016.ttcn @@ -0,0 +1,23 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with signatures + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. + +module NegSem_08020301_GeneralFormatOfImport_016 { +import from NegSem_08020301_GeneralFormatOfImport_016_import { signature S }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_016_import { + type integer MyType; + signature S(in MyType p1); +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_017.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2bd84990b82aabe14c29babf7922489dfce63923 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_017.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of return types are not imported together with signatures + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature: return type + +module NegSem_08020301_GeneralFormatOfImport_017 { +import from NegSem_08020301_GeneralFormatOfImport_017_import { signature S }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_017_import { + type integer MyType; + signature S() return MyType; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_018.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec840da4da3c9e1504e85ab8e1fdba7ae677bf09 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_018.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of exception types are not imported together with signatures + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature: types of exceptions + +module NegSem_08020301_GeneralFormatOfImport_018 { +import from NegSem_08020301_GeneralFormatOfImport_018_import { signature S }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_018_import { + type integer MyType; + signature S() exception (MyType); +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_019.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..078b6656c38e4cdac17f7e6e624cefda546f32d8 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_019.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of template types are not imported together with data templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a data template: template type + +module NegSem_08020301_GeneralFormatOfImport_019 { +import from NegSem_08020301_GeneralFormatOfImport_019_import { template m_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_019_import { + type integer MyType; + template MyType m_test := ?; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_020.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f66e122d6a87bc31207a28c2d2e536bf8a142629 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_020.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with data templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a data template: parameter types + +module NegSem_08020301_GeneralFormatOfImport_020 { +import from NegSem_08020301_GeneralFormatOfImport_020_import { template m_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_020_import { + type integer MyType; + template integer m_test (MyType p1) := (0..p1); +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_021.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6c28c1b577e11134820c29ea526961fa64da8903 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_021.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of constants are not imported together with data templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a data template: constants + +module NegSem_08020301_GeneralFormatOfImport_021 { +import from NegSem_08020301_GeneralFormatOfImport_021_import { template m_test }; + // c_test should be undefined, because it is not automatically imported + const integer c_test2 := c_test; +} + +module NegSem_08020301_GeneralFormatOfImport_021_import { + const integer c_test := 1; + template integer m_test := c_test; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_022.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..328bbf2ff1887a6ab833c901714d75369152d002 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_022.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of module parameters are not imported together with data templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a data template: module parameters + +module NegSem_08020301_GeneralFormatOfImport_022 { +import from NegSem_08020301_GeneralFormatOfImport_022_import { template m_test }; + // PX_TEST should be undefined, because it is not automatically imported + const integer c_test := PX_TEST; +} + +module NegSem_08020301_GeneralFormatOfImport_022_import { + modulepar integer PX_TEST := 1; + template integer m_test := PX_TEST; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_023.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7aa64e19097106c362c4fa451b17a835ee30e0e4 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_023.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of functions are not imported together with data templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a data template: functions + +module NegSem_08020301_GeneralFormatOfImport_023 { +import from NegSem_08020301_GeneralFormatOfImport_023_import { template m_test }; + // f_test should be undefined, because it is not automatically imported + const integer c_test := f_test(); +} + +module NegSem_08020301_GeneralFormatOfImport_023_import { + function f_test() return integer { + return 1; + } + template integer m_test := f_test(); +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_024.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d498cc8b535fca4b97d02640549fe256a1b34efc --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_024.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of signatures are not imported together with signature templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature template: signatures + +module NegSem_08020301_GeneralFormatOfImport_024 { +import from NegSem_08020301_GeneralFormatOfImport_024_import { template s_test }; + // f_test should be undefined, because it is not automatically imported + template S s_test2 := { p := ? } +} + +module NegSem_08020301_GeneralFormatOfImport_024_import { + signature S(integer p); + template S s_test := { p := 3 } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_025.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..42923b1d6da37ecd7aa1e7389ae640277c795f14 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_025.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of constants are not imported together with signature templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature template: constants + +module NegSem_08020301_GeneralFormatOfImport_025 { +import from NegSem_08020301_GeneralFormatOfImport_025_import { template s_test }; + // c_test should be undefined, because it is not automatically imported + const integer c_test2 := c_test; +} + +module NegSem_08020301_GeneralFormatOfImport_025_import { + const integer c_test := 1; + signature S(integer p); + template S s_test := { p := c_test } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_026.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebbd57d43d4f02d199e4c706363d6680b5d844ab --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_026.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of module parameters are not imported together with signature templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature template: module parameters + +module NegSem_08020301_GeneralFormatOfImport_026 { +import from NegSem_08020301_GeneralFormatOfImport_026_import { template s_test }; + // PX_TEST should be undefined, because it is not automatically imported + const integer c_test := PX_TEST; +} + +module NegSem_08020301_GeneralFormatOfImport_026_import { + modulepar integer PX_TEST := 1; + signature S(integer p); + template S s_test := { p := PX_TEST }; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_027.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e2f82a9e80f528bd8a4acd540e6638076f9e4bb2 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_027.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of functions are not imported together with signature templates + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a signature template: functions + +module NegSem_08020301_GeneralFormatOfImport_027 { +import from NegSem_08020301_GeneralFormatOfImport_027_import { template s_test }; + // f_test should be undefined, because it is not automatically imported + const integer c_test := f_test(); +} + +module NegSem_08020301_GeneralFormatOfImport_027_import { + function f_test() return integer { + return 1; + } + signature S(integer p); + template S s_test := { p := f_test() } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_028.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5ddc9534c74a91cd3e390e36b631cec8c0f52a0 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_028.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with functions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a function: parameter types + +module NegSem_08020301_GeneralFormatOfImport_028 { +import from NegSem_08020301_GeneralFormatOfImport_028_import { function f_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_028_import { + type integer MyType; + function f_test(MyType p) { + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_029.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..179a99b3f30db9336c3cd1c0c66b4ef61924fffd --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_029.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of return type are not imported together with functions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a function: return type + +module NegSem_08020301_GeneralFormatOfImport_029 { +import from NegSem_08020301_GeneralFormatOfImport_029_import { function f_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := f_test(); +} + +module NegSem_08020301_GeneralFormatOfImport_029_import { + type integer MyType; + function f_test() return MyType { + return 1; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_030.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a20845840050de3379f02f8255d5600f6f362237 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_030.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of component types are not imported together with functions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a function: component types (runs on) + +module NegSem_08020301_GeneralFormatOfImport_030 { +import from NegSem_08020301_GeneralFormatOfImport_030_import { function f_test }; + // C should be undefined, because it is not automatically imported + testcase TC_01() runs on C { } +} + +module NegSem_08020301_GeneralFormatOfImport_030_import { + type component C {}; + function f_test() runs on C { + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_031.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc96f2539fde62253cb2c90b53ec6a5682fa1dc1 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_031.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with external functions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for an external function: parameter types + +module NegSem_08020301_GeneralFormatOfImport_031 { +import from NegSem_08020301_GeneralFormatOfImport_031_import { function f_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_031_import { + type integer MyType; + external function f_test(MyType p); +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88b6d14052f3c0e3e77206d86d18b460f3dee557 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_032.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of return type are not imported together with external functions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for an external function: return type + +module NegSem_08020301_GeneralFormatOfImport_032 { +import from NegSem_08020301_GeneralFormatOfImport_032_import { function f_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := f_test(); +} + +module NegSem_08020301_GeneralFormatOfImport_032_import { + type integer MyType; + external function f_test() return MyType; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_033.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..64ce3c83c1aca8c62dd091ec6804f0d9208920ba --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_033.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with altsteps + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for an altstep: parameter types + +module NegSem_08020301_GeneralFormatOfImport_033 { +import from NegSem_08020301_GeneralFormatOfImport_033_import { altstep a_test }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_033_import { + type integer MyType; + altstep a_test(MyType p) { + [] any port.receive{} + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_034.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3fa96fbba9f9aa93be8a76974e73424b9dcb2749 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_034.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of component types are not imported together with altsteps + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for an altstep: component types (runs on) + +module NegSem_08020301_GeneralFormatOfImport_034 { +import from NegSem_08020301_GeneralFormatOfImport_034_import { altstep a_test }; + // C should be undefined, because it is not automatically imported + testcase TC_01() runs on C { } +} + +module NegSem_08020301_GeneralFormatOfImport_034_import { + type component C {}; + altstep a_test() runs on C { + [] any port.receive {} + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_035.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f6f54a897e8ef0eed8170015c742204633bfb767 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_035.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of parameter types are not imported together with test cases + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a test case: parameter types + +module NegSem_08020301_GeneralFormatOfImport_035 { + import from NegSem_08020301_GeneralFormatOfImport_035_import { testcase TC_01 }; + // MyType should be undefined, because it is not automatically imported + const MyType c_test := 1; +} + +module NegSem_08020301_GeneralFormatOfImport_035_import { + type integer MyType; + type component C {}; + testcase TC_01(MyType p) runs on C { + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_036.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_036.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94236137446235da1bf4bca4be263ba44d2218c3 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_036.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of component types (runs on) are not imported together with test cases + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a test case: component types (runs on) + +module NegSem_08020301_GeneralFormatOfImport_036 { +import from NegSem_08020301_GeneralFormatOfImport_036_import { testcase TC_01 }; + // C should be undefined, because it is not automatically imported + testcase TC_02() runs on C { } +} + +module NegSem_08020301_GeneralFormatOfImport_036_import { + type component C {}; + testcase TC_01() runs on C { + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_037.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_037.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..33a34f1c332907426e9b64df76e84d34c3dc82f5 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_037.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that identifiers of component types (system) are not imported together with test cases + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// The TTCN-3 import mechanism distinguishes between the identifier of a referenced +// definition and the information necessary for the usage of a referenced definition +// within the imported definition. For the usage, the identifier of a referenced +// definition is not required and therefore not imported automatically. +// Table 8: +// Possible referenced definitions for a test case: component types (system) + +module NegSem_08020301_GeneralFormatOfImport_037 { +import from NegSem_08020301_GeneralFormatOfImport_037_import { testcase TC_01 }; + // C2 should be undefined, because it is not automatically imported + testcase TC_02() runs on C2 { } +} + +module NegSem_08020301_GeneralFormatOfImport_037_import { + type component C1 {}; + type component C2 {}; + testcase TC_01() runs on C1 system C2 { + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_038.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_038.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9bc1e49d1b73660a7679df3472b09775e254229a --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_038.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that definition from inside an imported function cannot be referenced + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction f: +// When importing a function, altstep or test case the corresponding behaviour +// specifications and all definitions used inside the behaviour specifications +// remain invisible for the importing module. + +module NegSem_08020301_GeneralFormatOfImport_038 { +import from NegSem_08020301_GeneralFormatOfImport_038_import { function f_test }; + // c_test should be undefined, because it is invisible for the importing module + const integer c_test2 := c_test; +} + +module NegSem_08020301_GeneralFormatOfImport_038_import { + function f_test() { + const integer c_test := 1; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_039.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_039.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..362df70198360ff4b501f91ad7f627dd1cb67a0f --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_039.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that import clause cannot override language tag of imported module + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction g: +// The language specification of the import statement shall not override the language +// specification of the importing module. +// Restriction h: +// The language specification of the import statement shall be identical to the language +// specification of the source module from which definitions are imported provided +// a language specification is defined in the source module. + +module NegSem_08020301_GeneralFormatOfImport_039 { +import from NegSem_08020301_GeneralFormatOfImport_039_import language "TTCN-3:2013" all; + type component GeneralComp {} + + testcase TC_Sem_08020301_GeneralFormatOfImport_039() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } + } + + control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_039()); + } +} + +module NegSem_08020301_GeneralFormatOfImport_039_import language "TTCN-3:2012" { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_040.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_040.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..05357ba5eae5dcbec2f834911dce0109feb8d1ae --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSem_08020301_GeneralFormatOfImport_040.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that unsupported language concepts cannot be used when language is set by import clause + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction h: +// If no [language specification is defined in the source module], the language +// specification in the import statement is taken as the language specification +// of the source module. If the source module uses however language concepts not +// being part of that language specification, this causes an error for the import +// statement. + +module NegSem_08020301_GeneralFormatOfImport_040 { +import from NegSem_08020301_GeneralFormatOfImport_040_import language "TTCN-3:2012" all; + type component GeneralComp {} + + testcase TC_Sem_08020301_GeneralFormatOfImport_040() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } + } + + control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_040()); + } +} + +module NegSem_08020301_GeneralFormatOfImport_040_import { + type set of integer SoI; + template SoI m_src := {1, 2, 3}; + // all from is a TTCN-3:2013 feature: it shall cause an import error + template integer m_test := ( 10, all from m_src ); + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6260604624b01669bbcd5b60fb414d4a985bda12 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_001.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that import statement cannot be used in test case blocks + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction a: +// An import statement shall only be used in the module definitions part and not be used +// within a control part, function definition, and alike. + +module NegSyn_08020301_GeneralFormatOfImport_001 { + + +type component GeneralComp {} + +testcase TC_NegSyn_08020301_GeneralFormatOfImport_001() runs on GeneralComp { + import from NegSyn_08020301_GeneralFormatOfImport_001_import all; + log(c_test); + setverdict(pass); +} + +control{ + execute(TC_NegSyn_08020301_GeneralFormatOfImport_001()); +} +} + +module NegSyn_08020301_GeneralFormatOfImport_001_import { + const integer c_test := 5; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eb0f6d5e69e125cba102f1d51a12c2d178614532 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/NegSyn_08020301_GeneralFormatOfImport_002.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that import statement cannot be used in module control part + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction a: +// An import statement shall only be used in the module definitions part and not be used +// within a control part, function definition, and alike. + +module NegSyn_08020301_GeneralFormatOfImport_002 { + + +type component GeneralComp {} + +testcase TC_NegSyn_08020301_GeneralFormatOfImport_002() runs on GeneralComp { + setverdict(pass); +} + +control{ + import from NegSyn_08020301_GeneralFormatOfImport_002_import all; + log(c_test); + execute(TC_NegSyn_08020301_GeneralFormatOfImport_002()); +} + +} + +module NegSyn_08020301_GeneralFormatOfImport_002_import { + const integer c_test := 5; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3094f9ed4062de67b3235b49b6038434300a8599 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that transitive imports are properly handled + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020301_GeneralFormatOfImport_001 { + +import from Sem_08020301_GeneralFormatOfImport_001_import { import all }; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_001()); +} +} + +module Sem_08020301_GeneralFormatOfImport_001_import { + public import from Sem_08020301_GeneralFormatOfImport_001_import_2 all; +} + + +module Sem_08020301_GeneralFormatOfImport_001_import_2 { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b08695afe9b324f1595bd9b40f857524cda87c0f --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_002.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that enumerated type definitions are automatically imported when needed + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020301_GeneralFormatOfImport_002 { + +import from Sem_08020301_GeneralFormatOfImport_002_import { + modulepar px_enum; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_002() runs on GeneralComp { + + if (px_enum == enumX) { //this must be a recognized enum value + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_002()); +} +} + +module Sem_08020301_GeneralFormatOfImport_002_import { + import from Sem_08020301_GeneralFormatOfImport_002_import_2 all; + + modulepar EnumType px_enum:=enumX; +} + + +module Sem_08020301_GeneralFormatOfImport_002_import_2 { + type enumerated EnumType {enumX, enumY, enumZ}; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1ab82700e10092fe7ad2ff879c068049652ce8ff --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_003.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that local definition takes precedence over imported one when their identifiers are equal + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Name clashes may occur due to import, e.g. import from different modules. Name clashes +// shall be resolved using qualified name(s) for the imported definition(s), i.e. prefixing +// the imported definition (which causes the name clash) by the identifier of the module in +// which it has been defined; the prefix and the identifier shall be separated by a dot ("."). + +module Sem_08020301_GeneralFormatOfImport_003 { + +import from Sem_08020301_GeneralFormatOfImport_003_import all; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_003() runs on GeneralComp { + if (c_myconst == -1) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +const integer c_myconst := -1; + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_003()); +} +} + +module Sem_08020301_GeneralFormatOfImport_003_import +{ + const integer c_myconst := 43532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_004.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e232ac5b22d8c59f7ca7aa2d213a97c62c5ffc3b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_004.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that imported enumeration values take precedence over local definition + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// There is one exception to this rule: when in the context of an enumerated type +// (see clause 6.2.4), an enumerated value is clashing with the name of a definition in +// the importing module, the enumerated value shall take precedence and the definition +// in the importing module shall be referenced by using its qualified name. + +module Sem_08020301_GeneralFormatOfImport_004 { + +import from Sem_08020301_GeneralFormatOfImport_004_import all; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_004() runs on GeneralComp { + var integer enumX := 1; + if (c_enumVal == enumX) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_004()); +} +} + +module Sem_08020301_GeneralFormatOfImport_004_import +{ + type enumerated EnumType {enumX, enumY, enumZ}; + const EnumType c_enumVal := enumX; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_005.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..12ad35073c42cb1cf61b9477ee6920d9d74ed92b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_005.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that it is possible to use module prefix for local definitions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// When the definition is referenced in the same module where it is defined, the +// module identifier of the module (the current module) also may be used for prefixing +// the identifier of the definition. + +module Sem_08020301_GeneralFormatOfImport_005 { + +type component GeneralComp {} +const integer c_test := 5; + +testcase TC_Sem_08020301_GeneralFormatOfImport_005() runs on GeneralComp { + log(Sem_08020301_GeneralFormatOfImport_005.c_test); + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_005()); +} +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79d631c7c03288097a724446e40692362c6d8948 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_006.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that it is possible to use module prefix for local definitions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// When the definition is referenced in the same module where it is defined, the +// module identifier of the module (the current module) also may be used for prefixing +// the identifier of the definition. + +module Sem_08020301_GeneralFormatOfImport_006 { + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_006() runs on GeneralComp { + var integer c_test := 5; + log(Sem_08020301_GeneralFormatOfImport_006.c_test); + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_006()); +} +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_007.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0016479527e81909760eed93858f327cf96d4e3e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_007.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Make sure that it is possible to use module prefix for imported definitions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Name clashes shall be resolved using qualified name(s) for the imported definition(s), +// i.e. prefixing the imported definition by the identifier of the module in which it has +// been defined; the prefix and the identifier shall be separated by a dot ("."). +// In cases where there are no ambiguities the prefixing need not (but may) be present +// when the imported definitions are used. + +module Sem_08020301_GeneralFormatOfImport_007 { + +import from Sem_08020301_GeneralFormatOfImport_007_import all; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_007() runs on GeneralComp { + log(Sem_08020301_GeneralFormatOfImport_007_import.c_test); + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_007()); +} +} + +module Sem_08020301_GeneralFormatOfImport_007_import +{ + const integer c_test := 5; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_008.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97af4b933f6e4fade616e7a2e588de845b06f1af --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_008.ttcn @@ -0,0 +1,57 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that structured type is imported together with its field names and nested type definitions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// User-defined type, structured type + +module Sem_08020301_GeneralFormatOfImport_008 { + +import from Sem_08020301_GeneralFormatOfImport_008_import { type R, U }; + +type component GeneralComp {} + +type U.variant1 Test; // test if nested type is imported + +testcase TC_Sem_08020301_GeneralFormatOfImport_008() runs on GeneralComp { + var Test v_test1 := { subfield1 := 1, subfield2 := 2 } + var R v_test2; + // test if field names are imported and type information is avaiable (necessary for + // compatibility check during assignment + v_test2.field1 := 1; + v_test2.field2 := 2; + log (v_test1); + log (v_test2); + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_008()); +} +} + +module Sem_08020301_GeneralFormatOfImport_008_import +{ + type record R { + integer field1, + integer field2 + } + + type union U { + set { + integer subfield1, + integer subfield2 + } variant1, + integer variant2 + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_009.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c42bcc4850e8a199f7984c450cfe9e00b071502 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_009.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that component type is imported together with constant, variable, timer and port names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// User-defined type, component type + +module Sem_08020301_GeneralFormatOfImport_009 { + +import from Sem_08020301_GeneralFormatOfImport_009_import { type GeneralComp }; + +testcase TC_Sem_08020301_GeneralFormatOfImport_009() runs on GeneralComp { + // type compatibility is checked during assignment: + // for this check, type information for constant and variable types + // should be available at this point to compile the script correctly + var integer v_test; + v_test := cc_test; // testing constant reference + log(v_test); + v_test := vc_test; // testing variable reference + log(v_test); + tc_test.start; // testing timer reference + p1.start; // testing port reference + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_009()); +} +} + +module Sem_08020301_GeneralFormatOfImport_009_import +{ + type port P message { + inout integer; + } + type component GeneralComp + { + const integer cc_test := 0; + var integer vc_test := 1; + timer tc_test := 1.0; + port P p1; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_010.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4ea0bf81a084e8c4d2c46798f7241cbd7e680191 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_010.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that signature is imported together with parameter names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Signature + +module Sem_08020301_GeneralFormatOfImport_010 { + +import from Sem_08020301_GeneralFormatOfImport_010_import { signature Signature1 }; + +type component GeneralComp {} + +// type compatibility is checked during parameter passing: for this check, type +// information for the signature parameters should be available at this point +// to compile the script correctly +template Signature1 s_test := { + p_param1 := 1 // testing signature parameter name +} + +testcase TC_Sem_08020301_GeneralFormatOfImport_010() runs on GeneralComp { + log (s_test); + setverdict(pass); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_010()); +} +} + +module Sem_08020301_GeneralFormatOfImport_010_import +{ + signature Signature1 (in integer p_param1); +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_011.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8d85c2cf61f865a4139670559d9a669306ca32a9 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_011.ttcn @@ -0,0 +1,54 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that parameterized template is imported together with parameter names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Data template + +module Sem_08020301_GeneralFormatOfImport_011 { + +import from Sem_08020301_GeneralFormatOfImport_011_import { type R; template m_test1 }; + +type component GeneralComp {} + +type record RLocal { // compatible type with Sem_08020301_GeneralFormatOfImport_011_import.R + integer field1, + integer field2 +} +testcase TC_Sem_08020301_GeneralFormatOfImport_011() runs on GeneralComp { + + // type compatibility is checked during parameter passing and template assignment: + // for this check, type information for the template parameters and template type + // should be available at this point to compile the script correctly + template RLocal m_res := m_test1(p_param2 := 10); + if (match({1, 10}, m_res)) // testing if parameter name is imported + { setverdict(pass); } + else + { setverdict(fail); } +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_011()); +} +} + +module Sem_08020301_GeneralFormatOfImport_011_import { + type record R { + integer field1, + integer field2 + } + template R m_test1(integer p_param1 := 1 , integer p_param2 := 2) := { + field1 := p_param1, + field2 := p_param2 + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_012.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..02e3e599b9561a9652e525ba93d0181e0345484b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_012.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that function is imported together with parameter names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Function + +module Sem_08020301_GeneralFormatOfImport_012 { + +import from Sem_08020301_GeneralFormatOfImport_012_import { function f_div }; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_012() runs on GeneralComp { + + // testing if function parameter names were imported + // type compatibility is checked during parameter passing and return value assignment: for + // this check, the type information for the function parameters and return values should be + // available at this point to compile the script correctly + var integer v_res := f_div(p_param1 := 10, p_param2 := 5); + if (v_res == 2) + { setverdict(pass); } + else + { setverdict(fail); } +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_012()); +} +} + +module Sem_08020301_GeneralFormatOfImport_012_import { + function f_div(integer p_param1, integer p_param2) return integer { + return p_param1 / p_param2; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_013.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..68a51ca52f8348a9d9777ce9a543800d9ca666e0 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_013.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that altstep is imported together with parameter names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Altstep + +module Sem_08020301_GeneralFormatOfImport_013 { + +import from Sem_08020301_GeneralFormatOfImport_013_import { altstep a_test }; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_013() runs on GeneralComp { + // testing if parameter names are imported + // type compatibility is checked during parameter passing: for this check, the type information for + // the altstep parameters should be available at this point to compile the script correctly + a_test(p_param2 := 2, p_param1 := 1); +} + +control{ + execute(TC_Sem_08020301_GeneralFormatOfImport_013()); +} +} + +module Sem_08020301_GeneralFormatOfImport_013_import { + altstep a_test(integer p_param1, integer p_param2) { + [] any timer.timeout {} + [else] { + if (p_param1 == 1 and p_param2 == 2) { setverdict(pass); } + else { setverdict(fail); } + } + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_014.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f42e5391c5db7003b3097a7471e75dca848eb40e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_014.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that test case is imported together with parameter names + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// A definition is imported together with its name and all local definitions. +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Test case + +module Sem_08020301_GeneralFormatOfImport_014 { + +import from Sem_08020301_GeneralFormatOfImport_014_import { testcase TC_Sem_08020301_GeneralFormatOfImport_014 }; + +control{ + // testing if parameter names are imported + // type compatibility is checked during parameter passing: for this check, the type information for + // the test case parameters should be available at this point to compile the script correctly + execute(TC_Sem_08020301_GeneralFormatOfImport_014(p_param2 := 2, p_param1 := 1)); +} +} + +module Sem_08020301_GeneralFormatOfImport_014_import { + type component GeneralComp {} + testcase TC_Sem_08020301_GeneralFormatOfImport_014(integer p_param1, integer p_param2) runs on GeneralComp { + if (p_param1 == 1 and p_param2 == 2) { setverdict(pass); } + else { setverdict(fail); } + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_015.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..93c9a421ae32c5951c4635fdefc456a8c24e5a72 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_015.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that information about module parameter type is imported together with module parameter + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Module parameter + +module Sem_08020301_GeneralFormatOfImport_015 { + +import from Sem_08020301_GeneralFormatOfImport_015_import { modulepar PX_TEST }; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_015() runs on GeneralComp { + // type compatibility is checked during assignment: for this check, the type information for PX_TEST + // should be available at this point to compile the script correctly + var integer v_test := PX_TEST; + if (v_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_015()); +} +} + +module Sem_08020301_GeneralFormatOfImport_015_import { + modulepar integer PX_TEST := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_016.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a0ca1d52024e9b5f16c387b3598333eb793cf69e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_016.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify that information about type of constant is imported together with constant + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction d: +// A definition is imported together with all information of referenced definitions that +// are necessary for the usage of the imported definition, independent of the visibility +// of the referenced definitions. +// Table 8: +// Possible referenced definitions for a signature: parameter types + +module Sem_08020301_GeneralFormatOfImport_016 { + +import from Sem_08020301_GeneralFormatOfImport_016_import { const c_test }; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_016() runs on GeneralComp { + // type compatibility is checked during assignment: for this check, the type information for c_test + // should be available at this point to compile the script correctly + var integer v_test := c_test; + if (v_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_016()); +} +} + +module Sem_08020301_GeneralFormatOfImport_016_import { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_017.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b9b74172761c11c5139e0b297a14736b919e103 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_017.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify using of import clause with language tag for impoting module having identical language tag + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction h: +// The language specification of the import statement shall be identical to the language +// specification of the source module from which definitions are imported provided +// a language specification is defined in the source module. + +module Sem_08020301_GeneralFormatOfImport_017 { + +import from Sem_08020301_GeneralFormatOfImport_017_import language "TTCN-3:2013" all; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_017() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_017()); +} +} + +module Sem_08020301_GeneralFormatOfImport_017_import language "TTCN-3:2013" { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_018.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d0dd086c595212a5e775e3514286019f34a9d220 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Sem_08020301_GeneralFormatOfImport_018.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Verify using of import clause with language tag for impoting module with no language tag + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction h: +// The language specification of the import statement shall be identical to the language +// specification of the source module from which definitions are imported provided +// a language specification is defined in the source module. + +module Sem_08020301_GeneralFormatOfImport_018 { + +import from Sem_08020301_GeneralFormatOfImport_018_import language "TTCN-3:2013" all; + +type component GeneralComp {} + +testcase TC_Sem_08020301_GeneralFormatOfImport_018() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020301_GeneralFormatOfImport_018()); +} +} + +module Sem_08020301_GeneralFormatOfImport_018_import { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f1aac38f4215b16c3298389cb151913141e401c7 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_001.ttcn @@ -0,0 +1,15 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that import all is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_08020301_GeneralFormatOfImport_001 { + import from Syn_08020301_GeneralFormatOfImport_001_import all; +} + +module Syn_08020301_GeneralFormatOfImport_001_import { + const integer c_myconst := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2052793d1d9ca27b35731d4acc4d704a697c2097 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_002.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.1, Ensure that import of specific types is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_08020301_GeneralFormatOfImport_002 { + import from Syn_08020301_GeneralFormatOfImport_002_import { + type all; + template all; + const c_myconst; + testcase all; + altstep all; + function all; + signature all; + modulepar all; + }; + +} + +module Syn_08020301_GeneralFormatOfImport_002_import { + const integer c_myconst := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6efb5b9451ba08b6d7a2c588d318f716509fee1e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.2, Ensure that the value of an explicitly imported constant can be read and carries the same value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020302_ImportingSingleDefinitions_001 { + +import from Sem_08020302_ImportingSingleDefinitions_001_import { + const c_myconst; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020302_ImportingSingleDefinitions_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020302_ImportingSingleDefinitions_001()); +} +} + +module Sem_08020302_ImportingSingleDefinitions_001_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4731fa4d2481784e86f5bd7de71b00934d5ba75a --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_002.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.2, Ensure that the value of an explicitly imported template can be read and carries the same value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020302_ImportingSingleDefinitions_002 { + + import from Sem_08020302_ImportingSingleDefinitions_002_import { + template m_myTemplate; + }; + + type component GeneralComp {} + type record MyMessageType2 { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_Sem_08020302_ImportingSingleDefinitions_002() runs on GeneralComp { + var MyMessageType2 v_value:={23521, "My String", true}; + + if (match(v_value, m_myTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_08020302_ImportingSingleDefinitions_002()); + } +} + +module Sem_08020302_ImportingSingleDefinitions_002_import { + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + template MyMessageType m_myTemplate := { + field1 := 23521, + field2 := "My String", + field3 := true + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/NegSem_08020303_ImportingGroups_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/NegSem_08020303_ImportingGroups_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1cb7b05b0378d3cb3f6312797afb8d1984982f28 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/NegSem_08020303_ImportingGroups_001.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.3, Ensure that constants listed as exceptions in imported groups are not accessible. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_08020303_ImportingGroups_001 { + +import from NegSem_08020303_ImportingGroups_001 { + group CONST_GROUP except { + const c_myotherconst; + } +}; +type component GeneralComp {} +testcase TC_NegSem_08020303_ImportingGroups_001() runs on GeneralComp { + if (c_myotherconst == 123456) { // c_myotherconst is excluded and shall not be accessible + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_08020303_ImportingGroups_001()); +} +} + +module NegSem_08020303_ImportingGroups_001_import { + group CONST_GROUP { + const integer c_myconst := 43532; + const integer c_myotherconst := 123456; + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49869c725ba61bd23dec2ad326ee6be3a4b3af7e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_001.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.3, Ensure that a const defined in a group can be accessed if the group is imported. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020303_ImportingGroups_001 { + +import from Sem_08020303_ImportingGroups_001_import { + group CONST_GROUP; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020303_ImportingGroups_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020303_ImportingGroups_001()); +} +} + +module Sem_08020303_ImportingGroups_001_import { + group CONST_GROUP { + const integer c_myconst := 43532; + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b55a4f0a92ea7ded2adce1b1715b0885618acdf --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_002.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.3, Ensure that the IUT properly handles 'except' clause in group import definitions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_08020303_ImportingGroups_002 { + +import from Sem_08020303_ImportingGroups_002_import { + group CONST_GROUP except { + const c_myconst; + }; + const all; + group CONST_INNER_GROUP except { + const c_myconst; + }; +} + +type component GeneralComp {} + +testcase TC_Sem_08020303_ImportingGroups_002() runs on GeneralComp { + if (c_myconst == 43532) { // c_myconst shall be imported from const all;, the exception must not removed it from the imports. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020303_ImportingGroups_002()); +} +} + +module Sem_08020303_ImportingGroups_002_import { + group CONST_GROUP { + group CONST_INNER_GROUP { + const integer c_myconst := 43532; + } + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d80362f1f623870873822bc1da90ebb9cf43070 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_003.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.3, but that it is in fact a shortcut notation for explicit imports. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_08020303_ImportingGroups_003 { + + import from Sem_08020303_ImportingGroups_003_import { + group CONST_GROUP.CONST_INNER_GROUP except { + const c_myconst; + }; + const all; + } + + type component GeneralComp {} + + testcase TC_Sem_08020303_ImportingGroups_003() runs on GeneralComp { + if (c_myconst == 43532) { // c_myconst shall be imported from const all;, the exception must not removed it from the imports. + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_08020303_ImportingGroups_003()); + } +} + +module Sem_08020303_ImportingGroups_003_import { + group CONST_GROUP { + group CONST_INNER_GROUP { + const integer c_myconst := 43532; + } + } +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ee050cc9eccfc6742f974a8769d9ae6f8e82064 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that an import of all constants allows access to a sample constant. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_001 { + +import from Sem_08020304_ImportingDefinitionsOfTheSameKind_001_import { + const all; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_001()); +} +} + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_001_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58c8d3b71112bb546427fc495298c9536b476ad0 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_002.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that a previously valid const import is not removed by an import covering the same definition with an except. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_002 { + +import from Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import { + const all; + const all except c_myconst; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_002() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_002()); +} +} + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b1768fc15e50c739c96b5e002c160fcc0bd3987 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.4, Ensure that a previously valid const import is not removed by a second import statement excluding the same definition. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_003 { + +import from Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import all; +import from Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import { + const all except c_myconst; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_003() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020304_ImportingDefinitionsOfTheSameKind_003()); +} +} + +module Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3e5ddb8296ee462a181b7c8f52b66da6faccd1f4 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.5, Ensure that the constant is not visible after import with except. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_08020305_ImportingAllDefinitionsOfAModule_001 { + +import from NegSem_08020305_ImportingAllDefinitionsOfAModule_001_import all except { +// everything is excluded again + group all; + type all; + template all; + const all; + testcase all; + altstep all; + function all; + signature all; + modulepar all; +}; + +type component GeneralComp {} + +testcase TC_NegSem_08020305_ImportingAllDefinitionsOfAModule_001() runs on GeneralComp { + if (c_myconst == 43532) { // should not be visible due to the const all exception + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_08020305_ImportingAllDefinitionsOfAModule_001()); +} +} + +module NegSem_08020305_ImportingAllDefinitionsOfAModule_001_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a50f08f43eddd86a6c54e2f6126f86b1f8681ca --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn @@ -0,0 +1,48 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.5, Ensure that the constant is not visible after import with except. + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction b +// In the set of except statements for an all import, only one except statement per +// kind of definition (i.e. for a group, type, etc.) is allowed. + +module NegSem_08020305_ImportingAllDefinitionsOfAModule_002 { + +import from NegSem_08020305_ImportingAllDefinitionsOfAModule_002_import all except { +// everything is excluded again + group all; + type all; + template all; + const c_test1; + testcase all; + altstep all; + function all; + signature all; + modulepar all; + const c_test2; // error: const present more than once in the except part +}; + +type component GeneralComp {} + +testcase TC_NegSem_08020305_ImportingAllDefinitionsOfAModule_002() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_08020305_ImportingAllDefinitionsOfAModule_002()); +} +} + +module NegSem_08020305_ImportingAllDefinitionsOfAModule_002_import { + const integer c_myconst := 43532; + const integer c_test1 := 0; + const integer c_test2 := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eafacfe10395824fbb7f1ca3d5ecc8a7534c1c6c --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.5, Ensure that the constant is be visible after multiple imports. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_08020305_ImportingAllDefinitionsOfAModule_001 { + +import from Sem_08020305_ImportingAllDefinitionsOfAModule_001_import all; + +type component GeneralComp {} + +testcase TC_Sem_08020305_ImportingAllDefinitionsOfAModule_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020305_ImportingAllDefinitionsOfAModule_001()); +} +} + +module Sem_08020305_ImportingAllDefinitionsOfAModule_001_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..01ca417b08e855940fd47dca65ce1d7d243b9b24 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.5, Ensure that the constant is be visible after multiple imports. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_08020305_ImportingAllDefinitionsOfAModule_002 { + +import from Sem_08020305_ImportingAllDefinitionsOfAModule_002_import all except { + const all; +}; +import from Sem_08020305_ImportingAllDefinitionsOfAModule_002_import all; // second import overrides the first + +type component GeneralComp {} + +testcase TC_Sem_08020305_ImportingAllDefinitionsOfAModule_002() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020305_ImportingAllDefinitionsOfAModule_002()); +} +} + +module Sem_08020305_ImportingAllDefinitionsOfAModule_002_import { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a0e6454bbf12fb64a2129362f341fc5641ff88ef --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:8.2.3.6, Ensure that it is possible to import from previous language versions. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 language "TTCN-3:2010" { + import from Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import language "TTCN-3:2003" { + const all; + } +} + +module Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import { + const integer c_myconst := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..002c80d78f7c86b610a7a27c983d8a29fb954bbc --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.6, Ensure that imports work with language references when importing definitions of the same kinds (in this case constants) is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 { + import from Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import language "TTCN-3:2003" { + const all; + } +} + +module Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import { + const integer c_myconst := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79084c2b24b115314c0c60b1d3d937aa973efaa5 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.6, Ensure that imports work with language references when importing all definitions of another module is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 { + import from Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002_import language "TTCN-3:2003" all ; +} + +module Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002_import { + const integer c_myconst := 1; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1db3ec13d1e74cf64060dfcdf2b10efc2c67131d --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.7, Ensure that the import of import statements works for import all. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001 { + +import from NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001_importA { + import all; +}; + +type component GeneralComp {} + +testcase TC_NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001() runs on GeneralComp { + if (c_myconst == 43532) { // c_myconst shall not be accessible as the import in the importA module is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001()); +} +} + +module NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001_importA { + private import from NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001_importB all; +} + +module NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001_importB { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3d2b50e9f27a616f0101fef2764022deeae75afb --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.7, Ensure that the import of import statements works for import all. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002 { + +import from Sem_08020307_ImportingOfImportStatementsFromT3Modules_002_importA { + import all; +}; + +type component GeneralComp {} + +testcase TC_NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002() runs on GeneralComp { + if (c_myconst == 43532) { // c_myconst shall not be accessible as the import in the importA module is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002()); +} +} + +module Sem_08020307_ImportingOfImportStatementsFromT3Modules_002_importA { + // imports are private by default + import from NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002_importB all; +} + +module NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002_importB { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/Sem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/Sem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..125a9dc060d6e8653072733dd61d0eaa4adc5cac --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/Sem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.7, Ensure that the import of import statements works for import all. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_08020307_ImportingOfImportStatementsFromT3Modules_001 { + +import from Sem_08020307_ImportingOfImportStatementsFromT3Modules_001_importA { + import all; +}; + +type component GeneralComp {} + +testcase TC_Sem_08020307_ImportingOfImportStatementsFromT3Modules_001() runs on GeneralComp { + if (c_myconst == 43532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_08020307_ImportingOfImportStatementsFromT3Modules_001()); +} +} + +module Sem_08020307_ImportingOfImportStatementsFromT3Modules_001_importA { + public import from Sem_08020307_ImportingOfImportStatementsFromT3Modules_001_importB all; +} + +module Sem_08020307_ImportingOfImportStatementsFromT3Modules_001_importB { + const integer c_myconst := 43532; +} diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NOTES b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..a452036a95bccef798f18db854d173cc5e81b68f --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NOTES @@ -0,0 +1,3 @@ +- NOTE: imports of compatible external definitions is not easily possible with TTCN-3 alone. + Therefore, the amount of tests possible in this section is highly limited. +- Restriction b is tested as a part of 8.2.3.1 \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83005c80a078ced279de628c0f4e61160fd977e7 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.3.8, Ensure that imports referring to future TTCN-3 versions are rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001 { + +import from NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001_import_A language "TTCN-3:9000" all; // shall be rejected as the cited TTCN-3 version is obviously in the future +} + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_001_import_A { +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4476d03187987b7423810a238001cddd8b87d5fb --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.8, Verify that modules with explicit language tag cannot import from newer TTCN-3 versions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// The TTCN-3 language specification in an import statement shall be lower or equal +// to the TTCN-3 language specification of the importing module, i.e. a TTCN-3 module +// can only import from earlier or same editions of TTCN-3 but not from later editions. + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002 language "TTCN-3:2012" { + +import from NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002_import language "TTCN-3:2013" all; + +type component GeneralComp {} + +testcase TC_NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002()); +} +} + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_002_import { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..98fa1217bb254bbb6ae68201c9f917ccb81b6663 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.8, Verify that modules with explicit language tag cannot import from newer TTCN-3 versions + ** @verdict pass reject + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// The TTCN-3 language specification in an import statement shall be lower or equal +// to the TTCN-3 language specification of the importing module, i.e. a TTCN-3 module +// can only import from earlier or same editions of TTCN-3 but not from later editions. + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003 language "TTCN-3:2012" { + +import from NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003_import all; + +type component GeneralComp {} + +testcase TC_NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003()); +} +} + +module NegSem_08020308_CompatibilityOfLanguageSpecificationsInImports_003_import language "TTCN-3:2013" { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e072088ff5a23f24e46d36b854a76f9c6278fc69 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.8, Verify that modules with explicit language tag can import from older TTCN-3 versions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// The TTCN-3 language specification in an import statement shall be lower or equal +// to the TTCN-3 language specification of the importing module, i.e. a TTCN-3 module +// can only import from earlier or same editions of TTCN-3 but not from later editions. + +module Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001 language "TTCN-3:2013" { + +import from Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001_import language "TTCN-3:2012" all; + +type component GeneralComp {} + +testcase TC_Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001()); +} +} + +module Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_001_import { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..12c9d52ac9dd0d20e10765f6d6cf4c648692f94e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:8.2.3.8, Verify that modules with explicit language tag can import from older TTCN-3 versions + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// The following requirements are tested: +// Restriction c: +// The TTCN-3 language specification in an import statement shall be lower or equal +// to the TTCN-3 language specification of the importing module, i.e. a TTCN-3 module +// can only import from earlier or same editions of TTCN-3 but not from later editions. + +module Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002 language "TTCN-3:2013" { + +import from Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002_import all; + +type component GeneralComp {} + +testcase TC_Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002() runs on GeneralComp { + if (c_test == 0) { setverdict(pass); } + else { setverdict(fail); } +} + +control{ + // testing if parameter names are imported + execute(TC_Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002()); +} +} + +module Sem_08020308_CompatibilityOfLanguageSpecificationsInImports_002_import language "TTCN-3:2012" { + const integer c_test := 0; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..21fd65cb2d7afff0d1a90c0c377cb5b28cc2a3af --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.4, Ensure that friend visibility works for a sample constant. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080204_DefinitionOfFriendModules_001 { + +import from NegSem_080204_DefinitionOfFriendModules_001_import all; + +type component GeneralComp {} + +testcase TC_NegSem_080204_DefinitionOfFriendModules_001() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible. A friend module statement is missing in NegSem_080204_DefinitionOfFriendModules_001_import. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080204_DefinitionOfFriendModules_001()); +} +} + +module NegSem_080204_DefinitionOfFriendModules_001_import { + friend const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4f797a8ee3f5e847253371a13d7c24043f5b0b2 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_002.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.4, Ensure that private definitions are not made visible by friend declarations (for a constant sample definition). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080204_DefinitionOfFriendModules_002 { + +import from NegSem_080204_DefinitionOfFriendModules_002_import all; + +type component GeneralComp {} + +testcase TC_NegSem_080204_DefinitionOfFriendModules_002() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible. The definition is private even though the module is a friend. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080204_DefinitionOfFriendModules_002()); +} +} + +module NegSem_080204_DefinitionOfFriendModules_002_import { + friend module NegSem_080204_DefinitionOfFriendModules_001; + + private const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/Sem_080204_DefinitionOfFriendModules_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/Sem_080204_DefinitionOfFriendModules_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d96e48edd0fd2d0da38c80f43b13c822703a41e9 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/Sem_080204_DefinitionOfFriendModules_001.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.4, Ensure that friend visibility works for a sample constant. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080204_DefinitionOfFriendModules_001 { + +import from Sem_080204_DefinitionOfFriendModules_001_import all; + +type component GeneralComp {} + +testcase TC_Sem_080204_DefinitionOfFriendModules_001() runs on GeneralComp { + if (c_myconst == 32532) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080204_DefinitionOfFriendModules_001()); +} +} + +module Sem_080204_DefinitionOfFriendModules_001_import { + friend module Sem_080204_DefinitionOfFriendModules_001; + + friend const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d7ea8efe6da050f2ea0967a245a720933dbe2fb7 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that private definition (in this case a sample constant) is not visible using a normal import. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080205_VisibilityOfDefinitions_001 { + +import from NegSem_080205_VisibilityOfDefinitions_001_import all; + +type component GeneralComp {} + +testcase TC_NegSem_080205_VisibilityOfDefinitions_001() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible on import as the definition is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080205_VisibilityOfDefinitions_001()); +} +} + +module NegSem_080205_VisibilityOfDefinitions_001_import { + private const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26823e27a5d72a7a8f1a3bbba0ab71f9cebb918b --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_002.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that private definition (in this case a sample constant) is not visible using an import of a friend module. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080205_VisibilityOfDefinitions_002 { + +import from NegSem_080205_VisibilityOfDefinitions_002_import all; + +type component GeneralComp {} + +testcase TC_NegSem_080205_VisibilityOfDefinitions_002() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible on import as the definition is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080205_VisibilityOfDefinitions_002()); +} +} + +module NegSem_080205_VisibilityOfDefinitions_002_import { + friend module NegSem_080205_VisibilityOfDefinitions_002; + + private const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3aebd03305eb1665b6f85260e3d510aa34ed66f9 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that friend definition (in this case a sample constant) is not visible using a group import of a non-friend module. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080205_VisibilityOfDefinitions_003 { + +import from NegSem_080205_VisibilityOfDefinitions_003_import { + group CONST_GROUP; +} + +type component GeneralComp {} + +testcase TC_NegSem_080205_VisibilityOfDefinitions_003() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible on import as the definition is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080205_VisibilityOfDefinitions_003()); +} +} + +module NegSem_080205_VisibilityOfDefinitions_003_import { + group CONST_GROUP { + friend const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_004.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b0ac887ed3748a3654224f9bdbf3fcd2f63c578e --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_004.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that private definition (in this case a sample constant) is not visible using a group import of a non-friend module. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080205_VisibilityOfDefinitions_004 { + +import from NegSem_080205_VisibilityOfDefinitions_004_import { + group CONST_GROUP; +} + +type component GeneralComp {} + +testcase TC_NegSem_080205_VisibilityOfDefinitions_004() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible on import as the definition is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080205_VisibilityOfDefinitions_004()); +} +} + +module NegSem_080205_VisibilityOfDefinitions_004_import { + group CONST_GROUP { + private const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_005.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..31638a029c2440d8f215a0f7992e00950b57ebc2 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_005.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that private definition (in this case a sample constant) is not visible using a group import of a friend module. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_080205_VisibilityOfDefinitions_005 { + +import from NegSem_080205_VisibilityOfDefinitions_005_import { + group CONST_GROUP; +} + +type component GeneralComp {} + +testcase TC_NegSem_080205_VisibilityOfDefinitions_005() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall not be visible on import as the definition is private. + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_080205_VisibilityOfDefinitions_005()); +} +} + +module NegSem_080205_VisibilityOfDefinitions_005_import { + friend module NegSem_080205_VisibilityOfDefinitions_005; + + group CONST_GROUP { + private const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_001.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..99afaef122f5294d77c8a1c35b99791f0d928e74 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080205_VisibilityOfDefinitions_001 { + +import from Sem_080205_VisibilityOfDefinitions_001_import all; + +type component GeneralComp {} + +testcase TC_Sem_080205_VisibilityOfDefinitions_001() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall be visible on import when it is explicitly set to public. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080205_VisibilityOfDefinitions_001()); +} +} + +module Sem_080205_VisibilityOfDefinitions_001_import { + public const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_002.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0471b107c22383e6d14c9e7f3ab532ee354965bd --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_002.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported by a friend module. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080205_VisibilityOfDefinitions_002 { + +import from Sem_080205_VisibilityOfDefinitions_002_import all; + +type component GeneralComp {} + +testcase TC_Sem_080205_VisibilityOfDefinitions_002() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall be visible on import when it is explicitly set to public. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080205_VisibilityOfDefinitions_002()); +} +} + +module Sem_080205_VisibilityOfDefinitions_002_import { + friend module Sem_080205_VisibilityOfDefinitions_002; + + public const integer c_myconst := 32532; +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_003.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f249252f27580cee276fe44c1ff5eb154bef3dd --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported through a group. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080205_VisibilityOfDefinitions_003 { + +import from Sem_080205_VisibilityOfDefinitions_003_import { + group CONST_GROUP; +}; + +type component GeneralComp {} + +testcase TC_Sem_080205_VisibilityOfDefinitions_003() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall be visible on import when it is explicitly set to public. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080205_VisibilityOfDefinitions_003()); +} +} + +module Sem_080205_VisibilityOfDefinitions_003_import { + group CONST_GROUP { + public const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_004.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4744520f42e6b6aa0e8788f3701c7397870b1990 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_004.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported through a group of a friend module. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080205_VisibilityOfDefinitions_004 { + +import from Sem_080205_VisibilityOfDefinitions_004_import { + group CONST_GROUP; +}; + +type component GeneralComp {} + +testcase TC_Sem_080205_VisibilityOfDefinitions_004() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall be visible on import when it is explicitly set to public. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080205_VisibilityOfDefinitions_004()); +} +} + +module Sem_080205_VisibilityOfDefinitions_004_import { + friend module Sem_080205_VisibilityOfDefinitions_004; + + group CONST_GROUP { + public const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_005.ttcn b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b30105469455de1bbc6cee81d6a1e10d8cd7749 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_005.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2.5, Ensure that friend definitions (in this case a sample constant) are visible when imported through a group of a friend module. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_080205_VisibilityOfDefinitions_005 { + +import from Sem_080205_VisibilityOfDefinitions_005_import { + group CONST_GROUP; +}; + +type component GeneralComp {} + +testcase TC_Sem_080205_VisibilityOfDefinitions_005() runs on GeneralComp { + if (c_myconst == 32532) { // c_myconst shall be visible on import when it is explicitly set to public. + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_080205_VisibilityOfDefinitions_005()); +} +} + +module Sem_080205_VisibilityOfDefinitions_005_import { + friend module Sem_080205_VisibilityOfDefinitions_005; + + group CONST_GROUP { + friend const integer c_myconst := 32532; + } +} \ No newline at end of file diff --git a/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_001.ttcn b/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8241a9f3c56421f619d4ba9f3f3f1b80a376a6c1 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_001.ttcn @@ -0,0 +1,15 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2, Ensure that a TypeDef module definition with public visibility is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_0802_ModuleDefinitionsPart_001 { + public type record MyRecord1 { + integer field1, + charstring field2 + } + +} diff --git a/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_002.ttcn b/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4987a0b08540c666efc8fc6937228520544ed6e9 --- /dev/null +++ b/ATS/08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_002.ttcn @@ -0,0 +1,15 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.2, Ensure that a TypeDef module definition with private visibility is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + + +module Syn_0802_ModuleDefinitionsPart_002 { + private type record MyRecord1 { + integer field1, + charstring field2 + } + +} diff --git a/ATS/08_modules/0803_module_control_part/NegSyn_0803_ModuleControlPart_001.ttcn b/ATS/08_modules/0803_module_control_part/NegSyn_0803_ModuleControlPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7391c34241e45d69c210331de076b31a15e8b34e --- /dev/null +++ b/ATS/08_modules/0803_module_control_part/NegSyn_0803_ModuleControlPart_001.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.3, Ensure that there is not more than one control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSyn_0803_ModuleControlPart_001 { + +control { + var integer count := 0; +} + +control { + var integer count := 0; +} + +} \ No newline at end of file diff --git a/ATS/08_modules/0803_module_control_part/Sem_0803_ModuleControlPart_001.ttcn b/ATS/08_modules/0803_module_control_part/Sem_0803_ModuleControlPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d8eee5d0d9255daad4d039139d63974ca290859b --- /dev/null +++ b/ATS/08_modules/0803_module_control_part/Sem_0803_ModuleControlPart_001.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.3, Ensure that the verdict returned from a test case to the control-part does not influence the execution of a second test case. The result of the last test case execution corresponds to the overall test verdict. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_0803_ModuleControlPart_001 { + +type component GeneralComp {} + +testcase TC_Sem_0803_ModuleControlPart_001() runs on GeneralComp { + setverdict(pass); +} + +testcase TC_Sem_0803_ModuleControlPart_001_second(verdicttype p_passthroughVerdict) runs on GeneralComp { + if ((p_passthroughVerdict == getverdict) and (getverdict == none) ) { // verdict should be none. + setverdict(fail); + } else { + setverdict(pass); + } +} + + +control { + var verdicttype v_myverdict; + v_myverdict := execute(TC_Sem_0803_ModuleControlPart_001()); + execute(TC_Sem_0803_ModuleControlPart_001_second(v_myverdict)); +} + +} \ No newline at end of file diff --git a/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_001.ttcn b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e2cca0d7efca7aaae10901e8509b92b6d8c757e --- /dev/null +++ b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_001.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.3, Ensure that the module control is able to accept execute statements. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0803_ModuleControlPart_001 { + +type component GeneralComp {} + +testcase TC_Syn_0803_ModuleControlPart_001() runs on GeneralComp { + setverdict(pass); +} + +control { + execute(TC_Syn_0803_ModuleControlPart_001()); +} + +} \ No newline at end of file diff --git a/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_002.ttcn b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7cfc2ca66015b15ae93f5cb7eb1a62ab68ffdff3 --- /dev/null +++ b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_002.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.3, Ensure that the module control part with a few commonly used stateents is accepted. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Syn_0803_ModuleControlPart_002 { + +type component GeneralComp {} + +type record MyRecordType { + integer field1, + charstring field2 +} + +testcase TC_Syn_0803_ModuleControlPart_002() runs on GeneralComp { + setverdict(pass); +} + +control { + var integer v_i := 1; + const charstring v_hello := "Hello World"; + timer t_mytimer; + t_mytimer.start(1.0); + if (v_i == 1) { + execute(TC_Syn_0803_ModuleControlPart_002(), 5.0); + } else { + log("something went wrong"); + } + t_mytimer.stop; +} + +} \ No newline at end of file diff --git a/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_003.ttcn b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4b43681f2b3eaf87bcb746b06cd7ce14ba4fd6f0 --- /dev/null +++ b/ATS/08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_003.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:8.3, Ensure that an empty control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_0803_ModuleControlPart_003 { + +control { + +} + +} \ No newline at end of file diff --git a/ATS/08_modules/NOTES b/ATS/08_modules/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..1658e9e623da42a845885fd84e872a8948e53c76 --- /dev/null +++ b/ATS/08_modules/NOTES @@ -0,0 +1 @@ +- TODO: add more tests. Pretty basic currently. \ No newline at end of file diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_001.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4ec18f1144d7f4248b0d22d91100f7d8ea65b01 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9.1, Ensure that a port owned by a component A cannot be connected with two ports owned by a component B + ** @verdict pass reject + ** @configuration port:broadcast + ***************************************************/ + +// Scheme c) in the figure 7 +// Two component(A and B with two ports). A port connects to B1 port and B2 port: error + +module NegSem_0901_Communication_ports_001{ + + type port IntegerInputPortType message { + inout integer + } + + type component MyTestSystemInterface + { + port IntegerInputPortType messagePortA,messagePortB; + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_0901_Communication_ports_001() runs on MyTestSystemInterface system MyTestSystemInterface { +// establishing the port connections + var MyTestSystemInterface MycompA; + var MyTestSystemInterface MycompB; +MycompA := MyTestSystemInterface.create; +MycompB := MyTestSystemInterface.create; + + +connect(MycompA:messagePortA,MycompB:messagePortA); +connect(MycompA:messagePortA,MycompB:messagePortB); //not allowed +} +control{ + execute(TC_NegSem_0901_Communication_ports_001()); +} +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a76d0b495fe17a84a607946361f394e23200db44 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that it is not possible to connect a mapped port + ** @verdict pass reject + ***************************************************/ + +// Scheme g) in the figure 7 +// The message port is already mapped when attempting to connected it (not allowed) +module NegSem_0901_Communication_ports_002{ + + + type port loopbackPort message { + inout integer + } + type port MyPort message { + inout integer + } + +type component GeneralComp { + port loopbackPort messagePort; + port MyPort messagePortB; + +} + +testcase TC_NegSem_0901_Communication_ports_002() runs on GeneralComp { + +connect(mtc:messagePort,mtc:messagePortB); // not allowed + +} + +control{ + execute(TC_NegSem_0901_Communication_ports_002()); +} + +} diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_003.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c2c9eec29020d1e5d39d269c08af734a3c0e336e --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_003.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that it is not possible to connect a port with two ports owned by the same component + ** @verdict pass reject + ** @configuration port:broadcast + ***************************************************/ + +// Scheme a) in the figure 7 +// The component has 3 ports and A2 would be connected to A1 and A3 which is not allowed + +module NegSem_0901_Communication_ports_003{ + + type charstring address; + type port IntegerInputPortType message { + inout integer + } + +type component MycompA { // MyCompA has one port + port IntegerInputPortType messagePortA1,messagePortA2,messagePortA3 +} + +testcase TC_NegSem_0901_Communication_ports_003() runs on MycompA { + +connect(mtc:messagePortA1,mtc:messagePortA2); +connect(mtc:messagePortA2,mtc:messagePortA3); // not allowed + } + +control{ + execute(TC_NegSem_0901_Communication_ports_003()); +} + +} diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_004.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fa00df74e15a63d2e8e87f6fb7e37278827d00e6 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_004.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that it is not possible to map a connected port + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction a): A port that is connected shall not be mapped... +// Figure 7: Not allowed connections, connection scheme g) + +module NegSem_0901_Communication_ports_004 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + testcase TC_NegSem_0901_Communication_ports_004() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + map(self:p, system:p); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_0901_Communication_ports_004()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_005.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f958c9a2aaef3555a3591cb922b4d643cb8d1410 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_005.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that it is not possible to connect a port with two ports owned by the same component + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction a): A port owned by a component A shall not be connected with +// two or more ports owned by the same component +// Figure 7: Not allowed connections, connection scheme e) + +module NegSem_0901_Communication_ports_005 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + testcase TC_NegSem_0901_Communication_ports_005() runs on GeneralComp system GeneralComp { + connect(self:p1, self:p2); + connect(self:p1, self:p1); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_0901_Communication_ports_005()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_006.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26410f7b1d128e23c26170bfc54f1b608891dcce --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_006.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that only 1:1 between component port and TSI are allowed + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction a): A port owned by a component A can only have a one-to-one connection +// with the test system interface. +// Figure 7: Not allowed connections, connection scheme d) + +module NegSem_0901_Communication_ports_006 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + testcase TC_NegSem_0901_Communication_ports_006() runs on GeneralComp system GeneralComp { + map(self:p1, system:p1); + map(self:p1, system:p2); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_0901_Communication_ports_006()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_007.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2b352f481c34894193ea74f18f283292ea2dc4ec --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_007.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that a TSI port cannot be mapped to two ports owned by the same component + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Figure 7: Not allowed connections, connection scheme b) + +module NegSem_0901_Communication_ports_007 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + testcase TC_NegSem_0901_Communication_ports_007() runs on GeneralComp system GeneralComp { + map(self:p1, system:p1); + map(self:p2, system:p1); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_0901_Communication_ports_007()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_009.ttcn b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..89a7196176b8e4e55d29d0d69d8d2b2c813693a8 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/NegSem_0901_Communication_ports_009.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that connections within the test system interface are not allowed + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction a): Connections within the test system interface are not allowed. + +module NegSem_0901_Communication_ports_008 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + testcase TC_NegSem_0901_Communication_ports_008() runs on GeneralComp system GeneralComp { + map(system:p1, system:p1); // mapping system port to itself: error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_0901_Communication_ports_008()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_001.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..505c532311786133612d7d2cc9970ca388c59b87 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_001.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the IUT correctly handles loopback message + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Loopback test: messagePort is a loopback port and sends (2). If receives(2) pass, else failed. +module Sem_0901_Communication_ports_001{ + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_0901_Communication_ports_001() runs on GeneralComp { + + + messagePort.send(2); //can send also in-line template + + alt { + [] messagePort.receive(2) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_0901_Communication_ports_001()); +} + +} diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_002.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0936da72d19c609406c98bd45bef86edf34b7b17 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_002.ttcn @@ -0,0 +1,75 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the the IUT receives the message sent by mycompA + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration port:broadcast + ***************************************************/ + +// Two component mycompA and B message exchange +module Sem_0901_Communication_ports_002{ + + type port myport message { + inout integer + } + + +type component Mysystem + { + timer t_rec,t_rec2; + port myport messagePort; + } +function fsend() runs on Mysystem { +messagePort.send(2); + t_rec2.start(20.0); + alt { + [] messagePort.receive(3) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + [] t_rec2.timeout { + setverdict( inconc ); + } + } +t_rec2.stop; +} +function frec() runs on Mysystem { + t_rec.start( 20.0 ); + alt { + [] messagePort.receive(2) { + messagePort.send(3); + setverdict( pass ); + } + [] messagePort.receive { + setverdict( fail ); + } + [] t_rec.timeout { + setverdict( inconc ); + } + } +t_rec.stop; +} + +testcase TC_Sem_0901_Communication_ports_002() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + var Mysystem MyCompB; + +MyCompA:=Mysystem.create; +MyCompB:=Mysystem.create; +connect(MyCompA:messagePort,MyCompB:messagePort); +connect(MyCompB:messagePort,MyCompA:messagePort); + + +MyCompB.start(frec()); +MyCompA.start(fsend()); + +MyCompB.stop; +MyCompA.stop; +} +control{ + execute(TC_Sem_0901_Communication_ports_002()); +} +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_003.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..356184dd11758b5a9511bb21ebab09d669cb3ed5 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_003.ttcn @@ -0,0 +1,89 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the the IUT receives the message sent by mycompB and mycompC + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration port:broadcast + ***************************************************/ + +// 3 component message exchange +module Sem_0901_Communication_ports_003{ + + type port myport message { + inout integer + } + + +type component Mysystem + { + timer t_rec,t_rec2; + port myport messagePort; + } +function fsend() runs on Mysystem { + messagePort.send(2) to all component; + t_rec2.start(30.0); + alt { + [] messagePort.receive(3) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + [] t_rec2.timeout { + setverdict( inconc ); + } + } +t_rec2.stop; +} +function frec() runs on Mysystem { + t_rec.start( 10.0 ); + alt { + [] messagePort.receive(2) { + messagePort.send(3); + setverdict( pass ); + } + [] messagePort.receive { + setverdict( fail ); + } + [] t_rec.timeout { + setverdict( inconc ); + } + } +t_rec.stop; +} + +testcase TC_Sem_0901_Communication_ports_003() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + var Mysystem MyCompB; + var Mysystem MyCompC; + +MyCompA:=Mysystem.create; +MyCompB:=Mysystem.create; +MyCompC:=Mysystem.create; +connect(MyCompA:messagePort,MyCompB:messagePort); +connect(MyCompB:messagePort,MyCompA:messagePort); +connect(MyCompA:messagePort,MyCompC:messagePort); +connect(MyCompC:messagePort,MyCompA:messagePort); + + +MyCompB.start(frec()); +MyCompC.start(frec()); +MyCompA.start(fsend()); + +/* alt { + [] messagePort.receive(3) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + }*/ +MyCompB.stop; +MyCompC.stop; +MyCompA.stop; +} +control{ + execute(TC_Sem_0901_Communication_ports_003()); +} +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_004.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..158fbb09080426883a3bd8d5744aa614306460eb --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_004.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the IUT correctly handles message exch. between ports + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration port:broadcast + ***************************************************/ + +// GeneralComp has two ports. mess.portA sends a message to messageportB. +module Sem_0901_Communication_ports_004{ + + + type port IntegerPortType message { + inout integer + } + + +type component GeneralComp { + port IntegerPortType messagePortA,messagePortB +} + +testcase TC_Sem_0901_Communication_ports_004() runs on GeneralComp { + + + messagePortA.send(2); //can send also in-line template + + alt { + [] messagePortB.receive(2) { + setverdict(pass); + } + [] messagePortB.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_0901_Communication_ports_004()); +} + +} diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_005.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..67c012282e0bd4865d24cd4aad084fa2106357ec --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_005.ttcn @@ -0,0 +1,98 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the the IUT receives the message sent by mycompA + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration port:broadcast + ***************************************************/ + +//Mycomp A has two ports and MycompB has two ports. +module Sem_0901_Communication_ports_005{ + + type port myport message { + inout integer + } + + +type component Mysystem + { + timer t_rec,t_rec2; + port myport messagePort1,messagePort2; + } +function fsend() runs on Mysystem { +messagePort1.send(1); +messagePort2.send(2); + t_rec2.start(20.0); + alt { + [] messagePort1.receive(3) { + setverdict(pass); + } + [] messagePort1.receive { + setverdict(fail); + } + [] t_rec2.timeout { + setverdict( inconc ); + } + } + alt { + [] messagePort2.receive(4) { + setverdict(pass); + } + [] messagePort2.receive { + setverdict(fail); + } + [] t_rec2.timeout { + setverdict( inconc ); + } + } +t_rec2.stop; +} +function frec() runs on Mysystem { + t_rec.start( 20.0 ); + alt { + [] messagePort1.receive(1) { + messagePort1.send(3); + setverdict( pass ); + } + [] messagePort1.receive { + setverdict( fail ); + } + [] t_rec.timeout { + setverdict( inconc ); + } + } + alt { + [] messagePort2.receive(2) { + messagePort2.send(4); + setverdict( pass ); + } + [] messagePort2.receive { + setverdict( fail ); + } + [] t_rec.timeout { + setverdict( inconc ); + } + } +t_rec.stop; +} + +testcase TC_Sem_0901_Communication_ports_005() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + var Mysystem MyCompB; + +MyCompA:=Mysystem.create; +MyCompB:=Mysystem.create; +connect(MyCompA:messagePort1,MyCompB:messagePort1); +connect(MyCompB:messagePort2,MyCompA:messagePort2); + + +MyCompB.start(frec()); +MyCompA.start(fsend()); + +MyCompB.stop; +MyCompA.stop; +} +control{ + execute(TC_Sem_0901_Communication_ports_005()); +} +} diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_006.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..04e66beb4c4a17755e9d374cabf4f74f26adb12f --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_006.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that a port can connect to itself + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Figure 6: Allowed connections, connection scheme e) + +module Sem_0901_Communication_ports_006 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + testcase TC_Sem_0901_Communication_ports_006() runs on GeneralComp system GeneralComp { + connect(self:p, self:p); + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_0901_Communication_ports_006()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_007.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..be79a13a937710dd5f9cdbd9f429e71a56e8248a --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_007.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that a port can connect to another port of the same component + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Figure 6: Allowed connections, connection scheme f) + +module Sem_0901_Communication_ports_007 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + testcase TC_Sem_0901_Communication_ports_007() runs on GeneralComp system GeneralComp { + connect(self:p1, self:p2); + if(p1.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_0901_Communication_ports_007()); + } +} + diff --git a/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_008.ttcn b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b393e6c09a77b8aa7480cb8e1c14f4c1ffb4829 --- /dev/null +++ b/ATS/09_test_configurations/0901_communication_ports/Sem_0901_Communication_ports_008.ttcn @@ -0,0 +1,48 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:9.1, Verify that more than one component port can mapped to a single system port + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Figure 6: Allowed connections, connection scheme h) + +module Sem_0901_Communication_ports_008 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkMapped() runs on GeneralComp + { + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_0901_Communication_ports_007() runs on GeneralComp system GeneralComp { + // components are created alive so that their mappings are not destroyed when behaviour stops + var GeneralComp v_ptc1 := GeneralComp.create alive, + v_ptc2 := GeneralComp.create alive; + map(self:p, system:p); + map(v_ptc1:p, system:p); + map(v_ptc2:p, system:p); + v_ptc1.start(checkMapped()); + v_ptc2.start(checkMapped()); + checkMapped(); + all component.done; + } + + control{ + execute(TC_Sem_0901_Communication_ports_007()); + } +} + diff --git a/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_001.ttcn b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e306ee4ec901f7059b83bcdfc65f6b7091ea1fd5 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the IUT correctly handles the assoc. of two port to the same system interface + ** @verdict pass reject + ***************************************************/ +//Two comp. ports are connected to the same system interface port (not allowed). +module NegSem_0902_Communication_ports_001{ + + type port loopbackPort message { + inout integer + } + + type port MyMessagePortType message { + inout integer + } + + +type component GeneralComp + { + port MyMessagePortType MycomportA, MycomportB + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_0902_Communication_ports_001() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:MycomportA, system:messagePort); +map(mtc:MycomportB, system:messagePort); // not allowed + +} +control{ + execute(TC_NegSem_0902_Communication_ports_001()); +} +} \ No newline at end of file diff --git a/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..246628d5f69eca517d16cead2b92c80ebee0e744 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_002.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the mycomp is connected to two system interface port. + ** @verdict pass reject + ***************************************************/ + +//It is not allowed to connect one port connect to two system interface port. +module NegSem_0902_Communication_ports_002{ + + type port loopbackPort message { + inout integer + } + type port MyMessagePortType message { + inout integer + } + +type component GeneralComp + { + port MyMessagePortType Mycomport + } + +type component MyTestSystemInterface + { + port loopbackPort messagePortA,messagePortB + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_0902_Communication_ports_002() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:Mycomport, system:messagePortA); +map(mtc:Mycomport, system:messagePortB); // not allowed + +setverdict(fail); + +} +control{ + execute(TC_NegSem_0902_Communication_ports_002()); +} +} \ No newline at end of file diff --git a/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2423deac464e792c08d310c0d0f0192407389dc3 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_003.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the two system interf. port cannot connect + ** @verdict pass reject + ***************************************************/ + +//Two system interface ports are not allowed to connect +module NegSem_0902_Communication_ports_003{ + + type port loopbackPort message { + inout integer + } +type component MyTestSystemInterface + { + port loopbackPort messagePortA,messagePortB + } +// MyTestSystemInterface is the test system interface + +testcase TC_NegSem_0902_Communication_ports_003() runs on MyTestSystemInterface { +// establishing the port connections +map(system:messagePortA, system:messagePortB); // not allowed + +setverdict(fail); + +} +control{ + execute(TC_NegSem_0902_Communication_ports_003()); +} +} \ No newline at end of file diff --git a/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b595000f11993c39503f54960113eb3033fe3862 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/NegSem_0902_Communication_ports_004.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the a connected port cannot be mapped + ** @verdict pass reject + ***************************************************/ + +// A connected port cannot be mapped with a system interface port +module NegSem_0902_Communication_ports_004{ + + type port loopbackPort message { + inout integer + } +type port IntegerOutputPortType message { + inout integer + } + + +type component MyTestSystemInterface + { + port IntegerOutputPortType messagePort + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_0902_Communication_ports_004() runs on MyTestSystemInterface system MyTestSystemInterface { +// establishing the port connections + var MyTestSystemInterface MycompA; + var MyTestSystemInterface MycompB; +MycompA := MyTestSystemInterface.create; +MycompB := MyTestSystemInterface.create; + +connect(MycompA:messagePort,MycompB:messagePort); +map(MycompB:messagePort, system:messagePort); // not allowed this type of connection + +} +control{ + execute(TC_NegSem_0902_Communication_ports_004()); +} +} \ No newline at end of file diff --git a/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn b/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49470a32d1ab94d2ee1ad70f24d1efcacb2817eb --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_001.ttcn @@ -0,0 +1,48 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the IUT port correctly mapped with a system interface + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Mycompport A is mapped with a system interface +module Sem_0902_Communication_ports_001{ + + type port loopbackPort message { + inout integer + } +type port IntegerOutputPortType message { + inout integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } +// MyTestSystemInterface is the test system interface +testcase TC_Sem_0902_Communication_ports_001() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:MycomportA, system:messagePort); + + + MycomportA.send(2); //can send also in-line template + + alt { + [] MycomportA.receive(2) { + setverdict(pass); + } + [] MycomportA.receive { + setverdict(fail); + } + } +} +control{ + execute(TC_Sem_0902_Communication_ports_001()); +} +} \ No newline at end of file diff --git a/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn b/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..336ac5a673105997d59e87f43d3f1fe7d22d9147 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/Sem_0902_Communication_ports_002.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that the IUTs two ports are mapped correctly to system interfaces + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +//Two ports are mapped to two system interface +module Sem_0902_Communication_ports_002{ + + type port loopbackPort message { + inout integer + } + type port MyMessagePortType message { + inout integer + } + +type component GeneralComp +{ +var integer v_received1:=0; +var integer v_received2:=0; +port MyMessagePortType myPortA,myPortB +} + +type component MyTestSystemInterface + { + port loopbackPort messagePortA,messagePortB + } + +// MyTestSystemInterface is the test system interface +testcase TC_Sem_0902_Communication_ports_002() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:myPortA, system:messagePortA); +map(mtc:myPortB, system:messagePortB); + + + myPortA.send(2); //can send also in-line template + myPortB.send(3); + + myPortA.receive(integer:?) -> value v_received1 ; + myPortB.receive(integer:?) -> value v_received2 ; + + if ((v_received1+v_received2)==5) + { + setverdict(pass); + } + else + { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_0902_Communication_ports_002()); +} + +} diff --git a/ATS/09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn b/ATS/09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..647f72f29aee001d2f839882afd3097168599f05 --- /dev/null +++ b/ATS/09_test_configurations/0902_test_system_interface/Syn_0902_Communication_ports_001.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:9, Ensure that two component can be mapped by one system interface +** @verdict pass accept, noexecution + ***************************************************/ + //Two components are mapped to the same system interface +module Syn_0902_Communication_ports_001{ + + type port myPort message { + inout integer + } + + +type component MyTestSystemInterface + { + port myPort messagePort; + } + +// MyTestSystemInterface is the test system interface +testcase TC_Syn_0902_Communication_ports_001() runs on MyTestSystemInterface system MyTestSystemInterface { +// establishing the port connections + var MyTestSystemInterface MycompA; + var MyTestSystemInterface MycompB; +MycompA := MyTestSystemInterface.create; +MycompB := MyTestSystemInterface.create; + +map(MycompA:messagePort, system:messagePort); +map(MycompB:messagePort, system:messagePort); + +} +control{ + execute(TC_Syn_0902_Communication_ports_001()); +} +} \ No newline at end of file diff --git a/ATS/10_constants/NOTES b/ATS/10_constants/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..e293a841bec3a027fe29ebc08d48a1d53c63ec94 --- /dev/null +++ b/ATS/10_constants/NOTES @@ -0,0 +1,3 @@ +- TODO: missing test for init with functions +- TODO: missing test for init with expressions +- TODO: missing test for init structured types with optional fields diff --git a/ATS/10_constants/NegSem_10_Constants_001.ttcn b/ATS/10_constants/NegSem_10_Constants_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0fbd5e23902cf1f54e4067b4e25fef95dc5e27f0 --- /dev/null +++ b/ATS/10_constants/NegSem_10_Constants_001.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Assign rnd to constant used in type, not allowed since constant expressions used in types have to be known at compile-time. + ** @verdict pass reject + ***************************************************/ +module NegSem_10_Constants_001 { + + const float c_i := rnd(314E-2); // not allowed by standard + type float MyFloat (c_i); + + type component GeneralComp {} + + testcase TC_NegSem_10_Constants_001() runs on GeneralComp { + var MyFloat v_f := c_i; + log(v_f); + setverdict(pass); + } + + control{ + execute(TC_NegSem_10_Constants_001()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/NegSem_10_Constants_002.ttcn b/ATS/10_constants/NegSem_10_Constants_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..324985589f322794dace08a4852212b1b84f9cb8 --- /dev/null +++ b/ATS/10_constants/NegSem_10_Constants_002.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, A value is assigned only once to a constant + ** @verdict pass reject + ***************************************************/ +module NegSem_10_Constants_002 { + + const float c_i := 3.14; + + + type component GeneralComp {} + + testcase TC_NegSem_10_Constants_002() runs on GeneralComp { + c_i := 3.15; //error because value is assigned only once to the constant + } + + control{ + execute(TC_NegSem_10_Constants_002()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/NegSem_10_Constants_003.ttcn b/ATS/10_constants/NegSem_10_Constants_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a3187664e014954a4ae5f142fffa7b0cce9130e8 --- /dev/null +++ b/ATS/10_constants/NegSem_10_Constants_003.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Constant shall not be of port type + ** @verdict pass reject + ***************************************************/ +module NegSem_10_Constants_003 { + + //only for negSyn constant shall not be of port type + type port MyMessagePortType message + { + inout integer + } + + + type component GeneralComp { + } + + testcase TC_NegSem_10_Constants_003() runs on GeneralComp { + const MyMessagePortType c_port:= 5;//error - constant shall not be of port type + }//end testcase + + control{ + execute(TC_NegSem_10_Constants_003()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_001.ttcn b/ATS/10_constants/Sem_10_Constants_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e616da88764c7834b0fa2b3448c32abe01a2054e --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_001.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Assign and read constants + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_001 { + + const integer c_i := 5; + + type component GeneralComp {} + + testcase TC_Sem_10_Constants_001() runs on GeneralComp { + const integer c_j := 5; + + if (c_i == c_j){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_10_Constants_001()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_002.ttcn b/ATS/10_constants/Sem_10_Constants_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..744800ef69603bcc2d9df0f933a5a0b63a5d7e31 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_002.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Assign and read constants values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_002 { + + const integer c_ai[3] := {1, 3, 5}; + + type component GeneralComp {} + + testcase TC_Sem_10_Constants_002() runs on GeneralComp { + const integer c_j := 5; + + if (c_ai[2] == c_j){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_10_Constants_002()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_003.ttcn b/ATS/10_constants/Sem_10_Constants_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3ee70f51ebad288b3ff2005c95522545a6ee65f3 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_003.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Single expression and constant values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_003 { + + const float c_p :=3.0; + const float c_i :=0.14; + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_003() runs on GeneralComp { + + const float c_pi := (c_p+c_i); + + if (c_pi == 3.14){ + setverdict(pass); + } + else { + setverdict(fail); + } + }//end testcase + + control{ + execute(TC_Sem_10_Constants_003()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_004.ttcn b/ATS/10_constants/Sem_10_Constants_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b1fb7619bc9ea334fb75f6d6542716373b7d186b --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_004.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Constant used within invoke function with return + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_004 { + + type component GeneralComp { + } + //2 + function f_Sem_10_Constants_004(integer p_int) runs on GeneralComp return integer{ + const integer c_i := 2; + if(p_int==0) + { + return c_i; + } + else + { + return 0; + } + } + + testcase TC_Sem_10_Constants_004() runs on GeneralComp { + const integer c_int := 2; + if (f_Sem_10_Constants_004(0)==c_int) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } //end testcase + + control{ + execute(TC_Sem_10_Constants_004()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_005.ttcn b/ATS/10_constants/Sem_10_Constants_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41f1a520e50569a3a9838767d48b5f6362c4e8f7 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_005.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Constant used within predefined function + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_005 { + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_005() runs on GeneralComp { + + const integer c_j := 5; + const charstring c_str_j := int2str(c_j); + + if (c_str_j=="5"){ + setverdict(pass); + } + else { + setverdict(fail); + } + }//end testcase + + control{ + execute(TC_Sem_10_Constants_005()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_006.ttcn b/ATS/10_constants/Sem_10_Constants_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c7cf2a65a124614396079e37ef1683572fabc0d1 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_006.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Record type used as a constant + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_006 { + + type record MyRecordType + { + bitstring field1, + boolean field2, + charstring field3 + }; + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_006() runs on GeneralComp { + const MyRecordType c_mRT1 := {'1010'B,true,"string"}; + const MyRecordType c_mRT2 := {field1 := '1010'B, + field2 := true, + field3 := "string"}; + + if (c_mRT1==c_mRT2) + { + setverdict(pass); + } + else { + setverdict(fail); + } + }// end testcase + + control{ + execute(TC_Sem_10_Constants_006()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_007.ttcn b/ATS/10_constants/Sem_10_Constants_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..676ad71a9117ac8b82eaf47c17b6f6780ef433ce --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_007.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Record type used as a constant with optional fields + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_007 { + + type record MyRecordType + { + bitstring field1, + boolean field2 optional, + charstring field3 optional + + }; + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_007() runs on GeneralComp { + const MyRecordType c_mRT3 := {field1 := '1010'B, + field2 := -, + field3 := -}; + + if (not isbound(c_mRT3.field2) and + not isbound(c_mRT3.field3) and + c_mRT3.field1 == '1010'B) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_10_Constants_007()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_008.ttcn b/ATS/10_constants/Sem_10_Constants_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1c7bcf196e8582c89d96231180833a09fc011424 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_008.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Set type used as a constant + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_008 { + + type set MySetType + { + bitstring field1, + boolean field2, + charstring field3 + }; + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_008() runs on GeneralComp { + const MySetType c_mST1 := {'1010'B,true,"string"}; + const MySetType c_mST2 := {field1 := '1010'B, + field2 := true, + field3 := "string"}; + + if (c_mST1==c_mST2) + { + setverdict(pass); + } + else { + setverdict(fail); + } + }// end testcase + + control{ + execute(TC_Sem_10_Constants_008()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Sem_10_Constants_009.ttcn b/ATS/10_constants/Sem_10_Constants_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b4fdde617280964d8ad2c79db98d453c841b5436 --- /dev/null +++ b/ATS/10_constants/Sem_10_Constants_009.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:10, Set type used as a constant with optional fields + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_10_Constants_009 { + + type record MySetType + { + bitstring field1, + boolean field2 optional, + charstring field3 optional + + }; + + type component GeneralComp { + } + + testcase TC_Sem_10_Constants_009() runs on GeneralComp { + const MySetType c_mST3 := {field1 := '1010'B, + field2 := -, + field3 := -}; + + if (not isbound(c_mST3.field2) and + not isbound(c_mST3.field3) and + c_mST3.field1 == '1010'B) + { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_10_Constants_009()); + } +} \ No newline at end of file diff --git a/ATS/10_constants/Syn_10_Constants_001.ttcn b/ATS/10_constants/Syn_10_Constants_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd9acae1719259d96d8f4fadbd1c4804add15374 --- /dev/null +++ b/ATS/10_constants/Syn_10_Constants_001.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Create constants + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_10_Constants_001 { + const integer c_i1 := 5, c_i2 := 3; + const float c_f := 3.14E-4; + const boolean c_b := true, c_b2 := false; + const bitstring c_bs := '1011'B; +} \ No newline at end of file diff --git a/ATS/10_constants/Syn_10_Constants_002.ttcn b/ATS/10_constants/Syn_10_Constants_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cf62e4f631d41de3d8195f37d7ef19935d1a849b --- /dev/null +++ b/ATS/10_constants/Syn_10_Constants_002.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Assign default constants values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_10_Constants_002 { + const default c_d := null; +} \ No newline at end of file diff --git a/ATS/10_constants/Syn_10_Constants_003.ttcn b/ATS/10_constants/Syn_10_Constants_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56013f6dc9cb887d8eb4cbe47d9c5d09980a40fe --- /dev/null +++ b/ATS/10_constants/Syn_10_Constants_003.ttcn @@ -0,0 +1,11 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Assign component constants values + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_10_Constants_003 { + type component GeneralComp {} + + const GeneralComp c_c := null; +} \ No newline at end of file diff --git a/ATS/10_constants/Syn_10_Constants_004.ttcn b/ATS/10_constants/Syn_10_Constants_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8fac2264cfae78ae1088d353f3ff9624faa3566c --- /dev/null +++ b/ATS/10_constants/Syn_10_Constants_004.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:10, Define constants in different scopes + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_10_Constants_004 { + type component GeneralComp { + timer t; + const integer cv_i1 := 10; + } + + const integer c_i1 := 5; + + altstep a_Syn_10_Constants_004() runs on GeneralComp { + const integer cl_j := 12; + [] t.timeout { + const integer cl_k := 13; + } + } + + function f_Syn_10_Constants_004() runs on GeneralComp { + const integer cl_i := 2; + } + + testcase TC_Syn_10_Constants_004() runs on GeneralComp { + const integer cl_i := 3; + } + + control { + const integer cl_i := 1; + } +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/NOTES b/ATS/11_variables/1101_value_variables/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..d88dd44060bb60992adf062e0c7da46dbc5dfd48 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/NOTES @@ -0,0 +1,4 @@ +- TODO: other types as integer are used +- TODO: init with functions +- TODO: init with expressions +- TODO: init structured types with optional fields diff --git a/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_001.ttcn b/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d1d11bc82643c5ec9b4e4c3bc177571e38d5a975 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_001.ttcn @@ -0,0 +1,18 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Variables should be assigned only by values + ** @verdict pass reject + ***************************************************/ +module NegSem_1101_ValueVars_001 { + type component GeneralComp {} + + testcase TC_NegSem_1101_ValueVars_001() runs on GeneralComp { + var integer v_i := ?; // ? is not a value + setverdict(pass); + } + + control { + execute(TC_NegSem_1101_ValueVars_001()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_002.ttcn b/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ae55a64edc396f3bc54b0ff3c2bfe2e51eb532f6 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/NegSem_1101_ValueVars_002.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.1, Ensure that partially initialized variables are evaluated correctly. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1101_ValueVars_002 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_NegSem_1101_ValueVars_002() runs on GeneralComp { + var IntegerSet v_set := {a1:=1,a2:=omit}; + + if ( v_set == {a1:=1,a2:=omit,a3:=3} ) { //attempted use of partially initialized variable + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_1101_ValueVars_002()); +} + +} diff --git a/ATS/11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn b/ATS/11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cbf0a88e099990329fdb3a67d43c952cc9cdf0a8 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Define variables in module scope + ** @verdict pass reject + ***************************************************/ +module NegSyn_1101_ValueVars_001 { + var integer v_i1 := 5; +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a8c4ea5fd0bd82808a1a3e1e60dd7c0c4d65bf70 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Define variables in different scopes + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1101_ValueVars_001 { + type component GeneralComp { + timer t; + var integer vc_i1 := 10; + } + + altstep a_Sem_1101_ValueVars_001() runs on GeneralComp { + var integer v_j := 12; + [] t.timeout { + var integer v_k := 13; + } + } + + function f_Sem_1101_ValueVars_001() runs on GeneralComp { + var integer v_i := 2; + } + + testcase TC_Sem_1101_ValueVars_001() runs on GeneralComp { + var integer v_i := 3; + f_Sem_1101_ValueVars_001(); + + t.start(1.0); + alt { + [] a_Sem_1101_ValueVars_001(); + } + + setverdict(pass); + } + + control { + var integer v_i := 1; + execute(TC_Sem_1101_ValueVars_001()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f0520c56400e1c3ab7aa1ca52d8027fea1a2c26 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Define variables in different scopes + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1101_ValueVars_002 { + type component GeneralComp {} + + testcase TC_Sem_1101_ValueVars_002() runs on GeneralComp { + var boolean v_b := true; + if (v_b){ + setverdict(pass); + } + else { + setverdict(fail); + } + v_b := false; + if (not v_b){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_1101_ValueVars_002()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cfc4e69d1b4514fefcf05f2c0db0a81e27fdd740 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Read and write variables + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1101_ValueVars_003 { + type component GeneralComp { + timer t; + var integer vc_ai[3] := {1, 3, 5}; + } + + testcase TC_Sem_1101_ValueVars_003() runs on GeneralComp { + var integer v_i := 3; + v_i := 5; + vc_ai[1] := 5; + + if (vc_ai[1] == v_i){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_1101_ValueVars_003()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_004.ttcn b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44044fa983eb103a3fe5a04dc3065f84eac54f1f --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_004.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.1, Ensure that partially initialized variables are evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1101_ValueVars_004 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +testcase TC_Sem_1101_ValueVars_004() runs on GeneralComp { + var IntegerSet v_set := {a1:=1,a2:=omit}; + v_set.a3 := 3; + + if ( match(v_set, {a1:=1,a2:=omit,a3:=3}) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1101_ValueVars_004()); +} + +} diff --git a/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_005.ttcn b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..43493fbb56918d8ca8e303a252ae0a8d8c9ec8e3 --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Sem_1101_ValueVars_005.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.1, Ensure that partially initialized variables are evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1101_ValueVars_005 { + +type component GeneralComp { +} + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + +function f_partial () runs on GeneralComp return IntegerSet { + return {a1:=1,a2:=omit}; +} + +testcase TC_Sem_1101_ValueVars_005() runs on GeneralComp { + var IntegerSet v_set := f_partial(); + v_set.a3 := 3; + + if ( match(v_set, {a1:=1,a2:=omit,a3:=3}) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1101_ValueVars_005()); +} + +} diff --git a/ATS/11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn b/ATS/11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4039634a7ccced618a4acb3999dafeaa0c80e0f --- /dev/null +++ b/ATS/11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.1, Define variables in different scopes + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_1101_ValueVars_001 { + type component GeneralComp { + var integer vc_i1 := 10; + } + + altstep a_Syn_1101_ValueVars_001() runs on GeneralComp { + var integer v_j := 12; + [] any timer.timeout { + var integer v_k := 13; + } + } + + function f_Syn_1101_ValueVars_001() runs on GeneralComp { + var integer v_i := 2; + } + + testcase TC_Syn_1101_ValueVars_001() runs on GeneralComp { + var integer v_i := 3; + } + + control { + var integer v_i := 1; + } +} \ No newline at end of file diff --git a/ATS/11_variables/1102_template_variables/NOTES b/ATS/11_variables/1102_template_variables/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..b3161e54d16d57cb8bf04c371633c93de428b915 --- /dev/null +++ b/ATS/11_variables/1102_template_variables/NOTES @@ -0,0 +1,4 @@ +- TODO: use other types as integer +- TODO: init with functions +- TODO: init with expressions +- TODO: init structured types with optional fields diff --git a/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn b/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..92f3ffc9fd9f4b1cf52b9cb3e5a285108f7d3e4d --- /dev/null +++ b/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.2, Template variables should be assigned with unitialized variables + ** @verdict pass reject + ***************************************************/ +module NegSem_1102_TemplateVars_001 { + type component GeneralComp {} + + testcase TC_NegSem_1102_TemplateVars_001() runs on GeneralComp { + var template integer v_i1; + var template integer v_i2 := v_i1; // v_i1 is not initialized + + setverdict(pass); + } + + control { + execute(TC_NegSem_1102_TemplateVars_001()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_002.ttcn b/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fb0ae57fd8705f1f35779c7ddc8e32cc8dec1cba --- /dev/null +++ b/ATS/11_variables/1102_template_variables/NegSem_1102_TemplateVars_002.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.2, Ensure that partially initialized templates are evaluated correctly. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1102_TemplateVars_002 { + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type port loopbackPort message { + inout IntegerSet + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_1102_TemplateVars_002() runs on GeneralComp { + var template IntegerSet mw_pattern := {a1:=1,a2:=*}; + var IntegerSet v_set := {a1:=1,a2:=2,a3:=3} + + messagePort.send(v_set); + + alt { + [] messagePort.receive(mw_pattern) { //attempted matching of partially initialized template + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + +} + +control{ + execute(TC_NegSem_1102_TemplateVars_002()); +} + +} diff --git a/ATS/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn b/ATS/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..382df4bc6cd3c3b1a0f5c037e9877037fd806f13 --- /dev/null +++ b/ATS/11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn @@ -0,0 +1,9 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.2, Define template variables in module scope + ** @verdict pass reject + ***************************************************/ +module NegSyn_1102_TemplateVars_001 { + var template integer v_i1 := 5; +} \ No newline at end of file diff --git a/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5241f10ee8a3e965e0f43750b5e46732694bc2d --- /dev/null +++ b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.2, Define variables in different scopes + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1102_TemplateVars_001 { + type component GeneralComp { + timer t; + var template integer vc_i1 := omit; + } + + altstep a_Sem_1102_TemplateVars_001() runs on GeneralComp { + var integer v_j := 12; + [] t.timeout { + var template integer v_k := ?; + } + } + + function f_Sem_1102_TemplateVars_001() runs on GeneralComp { + var template integer v_i := *; + } + + testcase TC_Sem_1102_TemplateVars_001() runs on GeneralComp { + var template integer v_i := (1, 2, 3); + f_Sem_1102_TemplateVars_001(); + + t.start(1.0); + alt { + [] a_Sem_1102_TemplateVars_001(); + } + + setverdict(pass); + } + + control { + var template integer v_i := (1..2); + execute(TC_Sem_1102_TemplateVars_001()); + } +} \ No newline at end of file diff --git a/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_002.ttcn b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c1bb6a0cd24ab6bd2b8f1346973caa984f51393 --- /dev/null +++ b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_002.ttcn @@ -0,0 +1,47 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.2, Ensure that partially initialized templates are evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1102_TemplateVars_002 { + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type port loopbackPort message { + inout IntegerSet + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_1102_TemplateVars_002() runs on GeneralComp { + var template IntegerSet mw_pattern := {a1:=1,a2:=*}; + var IntegerSet v_set := {a1:=1,a2:=2,a3:=3} + mw_pattern.a3 := 3; + + messagePort.send(v_set); + + alt { + [] messagePort.receive(mw_pattern) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + +} + +control{ + execute(TC_Sem_1102_TemplateVars_002()); +} + +} diff --git a/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_003.ttcn b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e228c5409f8bb755cd5fa8f0a5df1232cdf7993 --- /dev/null +++ b/ATS/11_variables/1102_template_variables/Sem_1102_TemplateVars_003.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:11.2, Ensure that partially initialized templates are evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1102_TemplateVars_003 { + + type set IntegerSet { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type port loopbackPort message { + inout IntegerSet + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_partial () runs on GeneralComp return template IntegerSet { + var template IntegerSet mw_return := {a1:=1,a2:=*}; + + return mw_return; +} + +testcase TC_Sem_1102_TemplateVars_003() runs on GeneralComp { + var template IntegerSet mw_pattern := f_partial(); + var IntegerSet v_set := {a1:=1,a2:=2,a3:=3} + mw_pattern.a3 := 3; + + messagePort.send(v_set); + + alt { + [] messagePort.receive(mw_pattern) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + +} + +control{ + execute(TC_Sem_1102_TemplateVars_003()); +} + +} diff --git a/ATS/11_variables/1102_template_variables/Syn_1102_TemplateVars_001.ttcn b/ATS/11_variables/1102_template_variables/Syn_1102_TemplateVars_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..37d541e052bf42ce160a3207c0db7fb8ddd51e1f --- /dev/null +++ b/ATS/11_variables/1102_template_variables/Syn_1102_TemplateVars_001.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:11.2, Define template variables in different scopes + ** @verdict pass accept, noexecution + ***************************************************/ +module Syn_1102_TemplateVars_001 { + type component GeneralComp { + var template integer vc_i1 := omit; + } + + altstep a_Syn_1102_TemplateVars_001() runs on GeneralComp { + var integer v_j := 12; + [] any timer.timeout { + var template integer v_k := ?; + } + } + + function f_Syn_1102_TemplateVars_001() runs on GeneralComp { + var template integer v_i := *; + } + + testcase TC_Syn_1102_TemplateVars_001() runs on GeneralComp { + var template integer v_i := (1, 2, 3); + } + + control { + var template integer v_i := (1..2); + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_001.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2ee99076d830d5fb512c7e27dc41d26cba6d0b35 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can not be initialized with negative duration + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer value is non-neg float + **/ + + +module NegSem_12_toplevel_timer_001 { + type component TComp{ + timer t_timer := -1.0; // not allowed + } + testcase TC_NegSem_12_toplevel_timer_001() runs on TComp{ + t_timer.start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_001()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_002.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ba31f908a5af0f1bc5dd7e05f174556fa3f2488b --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer in array can not be initialized with negative duration + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer value is non-neg float + **/ + + +module NegSem_12_toplevel_timer_002 { + type component TComp{ + timer t_timer[2] := {-1.0, 1.0}; + } + testcase TC_NegSem_12_toplevel_timer_002() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_002()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_003.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b83632c33305fb2ff3896edd942a3aa0a18659b --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure uninitialized timer can't be started + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSem_12_toplevel_timer_003 { + type component TComp{ + timer t_timer; + } + testcase TC_NegSem_12_toplevel_timer_003() runs on TComp{ + t_timer.start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_003()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_004.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..57f6b6d747ff579f2df89d3abfc69d07172e4dbd --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure uninitialized timer in array can't be started + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSem_12_toplevel_timer_004 { + type component TComp{ + timer t_timer[2] := {-, 1.0}; + } + testcase TC_NegSem_12_toplevel_timer_004() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_004()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_005.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2b285d324d5cf54ee2f5cacca36ec772c047ad60 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure uninitialized timer in array can't be started + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSem_12_toplevel_timer_005 { + type component TComp{ + timer t_timer[2]; + } + testcase TC_NegSem_12_toplevel_timer_005() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_005()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_006.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bfb936e160c2562379908008ca54cf922152dcd0 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax - reject single timer instance initialized with array + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSem_12_toplevel_timer_006 { + type component TComp{ + timer t_timer := {1.0, 1.0, 1.0}; + } + testcase TC_NegSem_12_toplevel_timer_006() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_006()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_007.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d86970c1c5af28e4c5045601bbd8a54d2d67a9cf --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_007.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax -- reject array initialization with wrong number of initializers + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSem_12_toplevel_timer_007 { + type component TComp{ + timer t_timer[4] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSem_12_toplevel_timer_007() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSem_12_toplevel_timer_007()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_008.ttcn b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce191b1671d80a195c8af2f09315ab66c6b9637b --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSem_12_toplevel_timer_008.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax -- reject array of timers initizlized with a single float value + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_008 { + type component TComp{ + timer t_timer[4] := 1.0; + } + testcase TC_NegSyn_12_toplevel_timer_008() runs on TComp{ + t_timer[0].start; + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_008()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_001.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a3653a100ad7e18489dc53a6702966b28897e89 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_001.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can`t be used in module control parts when declared in components + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timers can be declared in component and used in test cases, functions, altsteps on this component + **/ + + +module NegSyn_12_toplevel_timer_001 { + type component TComp{ + timer t_timer:=01.0; + } + testcase TC_NegSyn_12_toplevel_timer_001(integer f) runs on TComp{ + if (f==0){ + setverdict(fail); + } + else{ + setverdict(pass); + } + } + control{ + + t_timer.start; + if (t_timer.running){ + execute(TC_NegSyn_12_toplevel_timer_001(0)) + } + else{ + execute(TC_NegSyn_12_toplevel_timer_001(1)) + } + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_002.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..770ed16870b71d6fd756deb6392b7f81c91dc6e2 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_002 { + type component TComp{ + timer :=10.0; + } + testcase TC_NegSyn_12_toplevel_timer_002() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_002()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_003.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..869b6ff75e11f06832e31b35113b7e78ef72ad04 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_003 { + type component TComp{ + timer t_timer :=; + } + testcase TC_NegSyn_12_toplevel_timer_003() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_003()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_004.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db7a2975ddb4e13852421737016d7ba26490f0cb --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:04, Ensure timer declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_04_toplevel_timer_004 { + type component TComp{ + timer t_timer 0.0; + } + testcase TC_NegSyn_04_toplevel_timer_004() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_04_toplevel_timer_004()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_005.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8361cc3751590f8420a7a058a7abde243aaf5bde --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_005 { + type component TComp{ + timer t_timer := 1; + } + testcase TC_NegSyn_12_toplevel_timer_005() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_005()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_006.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55c0af5ee2358f1b94fb0563ff378da39c5ec8b5 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer array declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_006 { + type component TComp{ + timer t_timer[5] := 1.0, 1.0, 1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_12_toplevel_timer_006() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_006()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_007.ttcn b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a28ac9b6dcf7d4387b05bd763fe0b87be2c8f2f0 --- /dev/null +++ b/ATS/12_timers/12_toplevel/NegSyn_12_toplevel_timer_007.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer array declaration syntax + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module NegSyn_12_toplevel_timer_007 { + type component TComp{ + timer t_timer[5] := {1.0 1.0, 1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_12_toplevel_timer_007() runs on TComp{ + + } + control{ + + execute(TC_NegSyn_12_toplevel_timer_007()) + + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_001.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9875624cf1017bfd32fcd718b73c9f21c144f6d9 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in components + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timers can be declared in component type + **/ + + +module Sem_12_toplevel_timer_001 { + type component TComp{ + timer t_timer:=10.0; + } + testcase TC_Sem_12_toplevel_timer_001() runs on TComp{ + t_timer.start; + if (t_timer.running){ + setverdict(pass) + } + else { + setverdict(fail) + } + } + control{ + execute(TC_Sem_12_toplevel_timer_001()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_002.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..924abb63cb3e74446c64899d44bffc70c4025527 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_002.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in module control parts + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer can be declared in module control, test cases, functions, altsteps + **/ + + +module Sem_12_toplevel_timer_002 { + type component TComp{ + } + testcase TC_Sem_12_toplevel_timer_002(verdicttype v_verdict) runs on TComp{ + setverdict(v_verdict); + } + control{ + timer t_timer:=10.0; + t_timer.start; + if (t_timer.running){ + execute(TC_Sem_12_toplevel_timer_002(pass)) + } + else{ + execute(TC_Sem_12_toplevel_timer_002(fail)) + } + + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_003.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b6ffe1ec4bde7938277a094ac1b655efc13fe895 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in altsteps + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer can be declared in module control, test cases, functions, altsteps + **/ + + +module Sem_12_toplevel_timer_003 { + type component TComp{ + timer aux_t; + } + altstep a_step () runs on TComp{ + timer t_timer:=3.0; + [] aux_t.timeout{ + t_timer.start; + if (t_timer.running){ + setverdict(pass); + stop; + } + else{ + setverdict(fail); + stop; + } + t_timer.stop; + } + + }; + testcase TC_Sem_12_toplevel_timer_003() runs on TComp{ + aux_t.start(0.0); + a_step(); + } + control{ + execute(TC_Sem_12_toplevel_timer_003()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_004.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0627f9bc4e1244ed2a2bf9fce28c18377259f083 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_004.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in functions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer can be declared in module control, test cases, functions, altsteps + **/ + + +module Sem_12_toplevel_timer_004 { + type component TComp{ + } + function func() + { + timer t_timer:=10.0; + t_timer.start; + if (t_timer.running){ + setverdict(pass); + } + else { + setverdict(fail); + } + + } + testcase TC_Sem_12_toplevel_timer_004() runs on TComp{ + func(); + } + control{ + execute(TC_Sem_12_toplevel_timer_004()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_005.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..689dc8e431eca37124d83451214658551da42c54 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_005.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in test cases + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer can be declared in module control, test cases, functions, altsteps + **/ + + +module Sem_12_toplevel_timer_005 { + type component TComp{ + } + testcase TC_Sem_12_toplevel_timer_005() runs on TComp{ + timer t_timer:=10.0; + t_timer.start; + if (t_timer.running){ + setverdict(pass); + } + else{ + setverdict(fail); + } + } + control{ + execute(TC_Sem_12_toplevel_timer_005()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_006.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..570c3f49baab2fa33030eb70707947f4a229521f --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_006.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer`s elapsed time is plausible + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer value is non-neg float + **/ + + +module Sem_12_toplevel_timer_006 { + type component TComp{ + timer t_timer1:=1.05; + timer t_timer2:=1.0; + timer t_timer3:=0.95; + } + altstep a_step() runs on TComp{ + []t_timer2.timeout{ + if (t_timer3.running==false and t_timer1.running){ + setverdict(pass); + } + else { + setverdict(fail); + } + } + []t_timer1.timeout{ + setverdict(fail); + } + } + testcase TC_Sem_12_toplevel_timer_006() runs on TComp{ + + t_timer1.start; + t_timer2.start; + t_timer3.start; + a_step(); + + } + control{ + execute(TC_Sem_12_toplevel_timer_006()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_007.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce656e380bf70caa1c621213ac89bd0ebd231e30 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_007.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in components but used in test cases + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timers can be declared in component and used in test cases, functions, altsteps on this component + **/ + + +module Sem_12_toplevel_timer_007 { + type component TComp{ + timer t_timer:=10.0; + } + testcase TC_Sem_12_toplevel_timer_007() runs on TComp{ + + t_timer.start; + if (t_timer.running){ + setverdict(pass); + } + else{ + setverdict(fail); + } + } + control{ + execute(TC_Sem_12_toplevel_timer_007()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_008.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b68bb2bbfdfd0f5fb311d8f542f285ca96ebe4f3 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_008.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in components but used in functions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timers can be declared in component and used in test cases, functions, altsteps on this component + **/ + + +module Sem_12_toplevel_timer_008 { + type component TComp{ + timer t_timer:=10.0; + } + function func() runs on TComp + { + + t_timer.start; + if (t_timer.running){ + setverdict( pass ); + } + else { + setverdict( fail ); + } + + } + testcase TC_Sem_12_toplevel_timer_008() runs on TComp{ + func(); + } + control{ + execute(TC_Sem_12_toplevel_timer_008()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_009.ttcn b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..567a8b775cf95c74b5a9f127b056d695a540515f --- /dev/null +++ b/ATS/12_timers/12_toplevel/Sem_12_toplevel_timer_009.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer can be declared in components but used in altsteps + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timers can be declared in component and used in test cases, functions, altsteps on this component + **/ + + +module Sem_12_toplevel_timer_009 { + type component TComp{ + timer aux_t; + timer t_timer:=10.0; + } + altstep a_step () runs on TComp{ + + [] aux_t.timeout{ + t_timer.start; + if (t_timer.running){ + setverdict(pass); + } + else{ + setverdict(fail); + } + } + + }; + testcase TC_Sem_12_toplevel_timer_009() runs on TComp{ + aux_t.start(0.0); + a_step(); + } + control{ + execute(TC_Sem_12_toplevel_timer_009()) + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_001.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6de2a5cd9b6b7bec74e307e607cb246e6dc38449 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_001.ttcn @@ -0,0 +1,16 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure non-initialized timer declaration syntax + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module Syn_12_toplevel_timer_001 { + type component TComp{ + timer t_timer; + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_002.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b37c62603a03c2b8afb1d51295fb9160a59b7e3b --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_002.ttcn @@ -0,0 +1,16 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer array declaration syntax + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module Syn_12_toplevel_timer_002 { + type component TComp{ + timer t_timer[5]; + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_003.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d9c2398f24e5a9ea5c436d4599835ab20e45c89 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_003.ttcn @@ -0,0 +1,16 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure definition of a list of timers is allowed as a single declaration + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module Syn_12_toplevel_timer_003 { + type component TComp{ + timer t_timer1, t_timer2 := 2.0, t_timer_array1[5], t_timer_array2[3] := {0.0, 1.0, 2.0}; + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_004.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4633a467fc3b84cfcdc72c3b2f51ccf86521e3df --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_004.ttcn @@ -0,0 +1,16 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer array initialization syntax + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/timer array values are non-neg float or minus + **/ + + +module Syn_12_toplevel_timer_004 { + type component TComp{ + timer t_timer[5] := {1.0, -, 1.0, 1.0, 1.0}; + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_005.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d04802ef7fba0ea950b1f1c3b5f0043a15db17e4 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_005.ttcn @@ -0,0 +1,17 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration with expression + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module Syn_12_toplevel_timer_006 { + control { + var anytype v_any := { float := 1.0 }; + timer t_timer := v_any.float; + } +} \ No newline at end of file diff --git a/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_006.ttcn b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4dadb05c6b58a76616623bf706b03393760a9d77 --- /dev/null +++ b/ATS/12_timers/12_toplevel/Syn_12_toplevel_timer_006.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure timer declaration with expression + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/12 Declaring timers/Timer declaration syntax + **/ + + +module Syn_12_toplevel_timer_005 { + function one() return float + { + return 1.0; + } + control { + timer t_timer := one(); + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_001.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7185dfdc0bc26a3b2c1a1c12bc4f31dd48c0c5a6 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_001.ttcn @@ -0,0 +1,146 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:12, Ensure received messages can be a combination of value and matching mechanism + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Messages are instances of types declared in the in-out-inout clauses of message port type definition + **/ +/* + * #reqname /Requirements/13 Declaring messages/Received messages can also be declared as a combination of value and matching mechanisms + **/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Variable as a message + **/ + + +module Sem_13_declaring_msg_001 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + var MsgType1 msg1 := c_message; + src.send(msg1); + } + + function f_receiver() runs on Receiver + { + template MsgType1 t_msg := { + i := 1, + k:=1.0, + b:=true, + v:=pass, + bs:='0101'B, + hs:='123ABD'H, + os:='FF96'O, + cs:="""ab""", + ucs:="the", + rec1:={i:=1}, + set1:={int1:=1, str1:="the"}, + union1:=make_union(), + enum1:=Bash, + arr1:={1,2,3}}; + + var MsgType1 v_message; + + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(t_msg) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail, "The template failed to match the message"); } + } + } + + testcase TC_Sem_13_declaring_msg_001() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_001()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_002.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2348dc66c192eded4e775659315abac60b215c42 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_002.ttcn @@ -0,0 +1,127 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure received messages can`t be matched with wrong template + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Received messages can also be declared as a combination of value and matching mechanisms + **/ + + +module Sem_13_declaring_msg_002 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + var MsgType1 msg1 := c_message; + src.send(msg1); + } + + function f_receiver() runs on Receiver + { + // Mismatch in fields i and k + template MsgType1 t_msg := {i := 2, k:=1.3, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, union1 := ?, arr1:={1,2,3}}; + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(t_msg) -> value v_message { setverdict(fail, "The template must not match the message"); } + [] t_timer.timeout { setverdict(pass); } + } + } + + testcase TC_Sem_13_declaring_msg_002() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_002()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_003.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c9581f6b0da331da898ab259d2b8be6f0412f513 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_003.ttcn @@ -0,0 +1,128 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared by in-line templates + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Variable as a message + **/ + + +module Sem_13_declaring_msg_003 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + var MsgType1 msg1 := c_message; + src.send(msg1); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(MsgType1: {1, 1.0, true, pass, '0101'B, '123ABD'H, 'FF96'O, + """ab""", "the", {i:=1}, {int1:=1, str1:="the"}, make_union(), Bash, {1,2,3}}) + -> value v_message + { + setverdict(pass); + } + [] t_timer.timeout { setverdict(fail, "The template failed to match the message"); } + } + } + + testcase TC_Sem_13_declaring_msg_003() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_003()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_004.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..df976736755218b533decbf28a5bb9dcff3b0c62 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_004.ttcn @@ -0,0 +1,131 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared by global templates + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Global template as a message + **/ + + +module Sem_13_declaring_msg_004 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + + function f_sender() runs on Sender + { + src.send(global); + } + + function f_receiver() runs on Receiver + { + template MsgType1 local:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := ?, rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(local) { setverdict(pass); } + [] t_timer.timeout { setverdict(fail, "Failed to match global template"); } + } + } + + testcase TC_Sem_13_declaring_msg_004() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_004()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_005.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0ff5640e92f9e350cb5b9b9de04dea64fbff2c31 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_005.ttcn @@ -0,0 +1,137 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared and passed via template variables + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Template variable as a message + **/ + + +module Sem_13_declaring_msg_005 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + function f_sender() runs on Sender + { + var template MsgType1 template_var:= { + i := 1, k:=1.0, b:=true, v:=pass, + bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", + union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + src.send(template_var); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(global) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail); } + } + } + + testcase TC_Sem_13_declaring_msg_005() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_005()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_006.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e3b4d8f94a390c9bf4dc51803d4ff4d8aaa3469 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_006.ttcn @@ -0,0 +1,135 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared and passed via inline template + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Inline template as a message + **/ + + +module Sem_13_declaring_msg_006 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + function f_sender() runs on Sender + { + src.send(MsgType1:{ + i := 1, k:=1.0, b:=true, v:=pass, + bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", + union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(global) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail); } + } + } + + testcase TC_Sem_13_declaring_msg_006() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_006()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_007.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65411211cbf40417e0cad09cbac02da6c5c69e45 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_007.ttcn @@ -0,0 +1,136 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared and passed via parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Parameter as a message + **/ + + +module Sem_13_declaring_msg_007 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + function f_sender(in MsgType1 v_message) runs on Sender + { + src.send(v_message); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(global) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail); } + } + } + + testcase TC_Sem_13_declaring_msg_007() runs on MTC system MTC + { + var MsgType1 v_message := { + i := 1, k:=1.0, b:=true, v:=pass, + bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", + union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender(v_message)); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_007()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_008.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c5d69b1a12ea33ca1fe698a2bdf80a00506a2de3 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_008.ttcn @@ -0,0 +1,136 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared and passed via template parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Template parameter as a message + **/ + + +module Sem_13_declaring_msg_008 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + function f_sender(template MsgType1 v_template_message) runs on Sender + { + src.send(v_template_message); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(global) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail); } + } + } + + testcase TC_Sem_13_declaring_msg_008() runs on MTC system MTC + { + var template MsgType1 v_template_message := { + i := 1, k:=1.0, b:=true, v:=pass, + bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", + union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender(v_template_message)); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control{ + + execute(TC_Sem_13_declaring_msg_008()) + + + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_009.ttcn b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8613ee612d2827e997d04bdb79152a8c96578b83 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_declaring_msg_009.ttcn @@ -0,0 +1,133 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure instances of messages can be declared and passed via template parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/13 Declaring messages/Sorts of message insances/Local template as a message + **/ + + +module Sem_13_declaring_msg_009 { + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort1 message{ + out MsgType1; + in MsgType2; + } + type port MyPort2 message{ + out MsgType2; + in MsgType1; + } + type component Sender{ + port MyPort1 src; + } + + type component Receiver{ + port MyPort2 dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_message := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := """ab""", + ucs := "the", + rec1 := {i:=1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + template MsgType1 global:= {i := 1, k:=1.0, b:=true, v:=pass, bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + + function f_sender() runs on Sender + { + template MsgType1 v_template_message := { + i := 1, k:=1.0, b:=true, v:=pass, + bs:='0101'B, hs:='123ABD'H, + os:='FF96'O, cs:="""ab""", ucs:="the", + union1 := make_union(), + rec1:={i:=1}, set1:={int1:=1, str1:="the"}, + enum1:=Bash, arr1:={1,2,3} + }; + src.send(v_template_message); + } + + function f_receiver() runs on Receiver + { + var MsgType1 v_message; + timer t_timer := 3.0; + t_timer.start; + alt + { + [] dst.receive(global) -> value v_message { setverdict(pass); } + [] t_timer.timeout { setverdict(fail); } + } + } + + testcase TC_Sem_13_declaring_msg_009() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.done; + } + control { + execute(TC_Sem_13_declaring_msg_009()) + } +} \ No newline at end of file diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_001.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..91ec1d5bf994ab90d588f7eb821e1e3fc94e265e --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_001.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'record' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_001{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // CompositeType + t_timer.start; + src.send(c_values.rec1); + alt { + [] src.receive(c_values.rec1) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected CompositeType ", c_values.rec1); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.rec1) { setverdict(pass); dst.send(c_values.rec1); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected CompositeType", c_values.rec1); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_001() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_001()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_002.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f971c5728dc6b9ce75d1ef7bf5661a3ae33b20d5 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_002.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'record of' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_002{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // MyArray + t_timer.start; + src.send(c_values.arr1); + alt { + [] src.receive(c_values.arr1) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected MyArray ", c_values.arr1); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.arr1) { setverdict(pass); dst.send(c_values.arr1); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected MyArray", c_values.arr1); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_002() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_002()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_003.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..946a6c3229a40618210f55f1b9d031e0f819ddc1 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_003.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'enum' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_003{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // MyEnum + t_timer.start; + src.send(c_values.enum1); + alt { + [] src.receive(c_values.enum1) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected MyEnum ", c_values.enum1); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.enum1) { setverdict(pass); dst.send(c_values.enum1); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected MyEnum", c_values.enum1); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_003() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_003()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_004.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27f78a678c20eeb89fa6d1246f72403c59bb3985 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_004.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'set' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_004{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // MySet + t_timer.start; + src.send(c_values.set1); + alt { + [] src.receive(c_values.set1) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected MySet ", c_values.set1); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.set1) { setverdict(pass); dst.send(c_values.set1); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected MySet", c_values.set1); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_004() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_004()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_005.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28900b655a55cfc98430e5f13d6e392e54feb52e --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_005.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'union' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_005{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // MyUnion + t_timer.start; + src.send(c_values.union1); + alt { + [] src.receive(c_values.union1) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected MyUnion ", c_values.union1); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.union1) { setverdict(pass); dst.send(c_values.union1); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected MyUnion", c_values.union1); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_005() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_005()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_006.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0a2de06ec04f0a63b363cef90416cbe21071ca2 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_006.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'bitstring' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_006{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // bitstring + t_timer.start; + src.send(c_values.bs); + alt { + [] src.receive(c_values.bs) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected bitstring ", c_values.bs); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.bs) { setverdict(pass); dst.send(c_values.bs); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected bitstring", c_values.bs); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_006() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_006()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_007.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..31ec53390ebd8c31230eaec7546375d46b244d3a --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_007.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'boolean' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_007{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // boolean + t_timer.start; + src.send(c_values.b); + alt { + [] src.receive(c_values.b) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected boolean ", c_values.b); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.b) { setverdict(pass); dst.send(c_values.b); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected boolean", c_values.b); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_007() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_007()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_008.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..aa07dc4f3bf2a897dde547f71551448915a854f1 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_008.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'charstring' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_008{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // charstring + t_timer.start; + src.send(c_values.cs); + alt { + [] src.receive(c_values.cs) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected charstring ", c_values.cs); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.cs) { setverdict(pass); dst.send(c_values.cs); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected charstring", c_values.cs); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_008() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_008()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_009.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5151005dcb5d6dee1498bde94a87d5c8fbfe416a --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_009.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'float' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_009{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // float + t_timer.start; + src.send(c_values.k); + alt { + [] src.receive(c_values.k) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected float ", c_values.k); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.k) { setverdict(pass); dst.send(c_values.k); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected float", c_values.k); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_009() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_009()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_010.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0ae5b594ba3799e90eb2898006ed51f587e2f1a8 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_010.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'hexstring' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_010{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // hexstring + t_timer.start; + src.send(c_values.hs); + alt { + [] src.receive(c_values.hs) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected hexstring ", c_values.hs); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.hs) { setverdict(pass); dst.send(c_values.hs); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected hexstring", c_values.hs); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_010() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_010()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_011.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dca9724dc21633cc8a0f9b4ad50276f5efed052f --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_011.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'integer' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_011{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // integer + t_timer.start; + src.send(c_values.i); + alt { + [] src.receive(c_values.i) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected integer ", c_values.i); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.i) { setverdict(pass); dst.send(c_values.i); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected integer", c_values.i); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_011() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_011()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_012.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1d63d5299ec0c72551967b2cac4e94bd3ccc4534 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_012.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'octetstring' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_012{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // octetstring + t_timer.start; + src.send(c_values.os); + alt { + [] src.receive(c_values.os) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected octetstring ", c_values.os); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.os) { setverdict(pass); dst.send(c_values.os); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected octetstring", c_values.os); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_012() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_012()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_013.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7f1252be38ee6149841bb4f2982f37bdae197ab2 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_013.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'universal charstring' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_013{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // universal charstring + t_timer.start; + src.send(c_values.ucs); + alt { + [] src.receive(c_values.ucs) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected universal charstring ", c_values.ucs); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.ucs) { setverdict(pass); dst.send(c_values.ucs); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected universal charstring", c_values.ucs); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_013() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_013()) + } +} diff --git a/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_014.ttcn b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d60239cba981ba13d68e2f83e3e899c97a93079 --- /dev/null +++ b/ATS/13_messages/13_toplevel/Sem_13_toplevel_declaring_msg_various_types_014.ttcn @@ -0,0 +1,142 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:13, Port with type anytype can send and receive messages of any basic or structured type: 'verdicttype' type. + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/13 Declaring messages/Any type can be declared as type of message in a message port type + + +module Sem_13_toplevel_declaring_msg_various_types_014{ + type record CompositeType{ + integer i + } + type set MySet{ + integer int1, + charstring str1 + } + type enumerated MyEnum{ + Perl,Bash,Python + } + type integer MyArray[3]; + type union MyUnion{ + integer int, + float real + } + type record MsgType1{ + integer i, + float k, + boolean b, + verdicttype v, + bitstring bs, + hexstring hs, + octetstring os, + charstring cs, + universal charstring ucs, + CompositeType rec1, + MySet set1, + MyUnion union1, + MyEnum enum1, + MyArray arr1 + } + type record MsgType2{ + integer j + } + + type port MyPort message{ + inout integer; + inout float; + inout boolean; + inout verdicttype; + inout bitstring; + inout hexstring; + inout octetstring; + inout charstring; + inout universal charstring; + inout CompositeType; + inout MySet; + inout MyUnion; + inout MyEnum; + inout MyArray; + } + + type component Sender{ + timer t_timer := 2.0; + port MyPort src; + } + + type component Receiver{ + port MyPort dst; + } + type component MTC {} + + function make_union() return MyUnion + { + var MyUnion result; + result.int := 1; + return result; + } + + const MsgType1 c_values := { + i := 1, + k := 1.0, + b := true, + v := pass, + bs := '0101'B, + hs := '123ABD'H, + os := 'FF96'O, + cs := "ab", + ucs := "the", + rec1 := {1}, + set1 := {int1:=1, str1:="the"}, + union1 := make_union(), + enum1 := Bash, + arr1 := {1,2,3} + }; + + function f_sender() runs on Sender + { + // verdicttype + t_timer.start; + src.send(c_values.v); + alt { + [] src.receive(c_values.v) { setverdict(pass); } + [] src.receive { + setverdict(fail, "Unexpected data, expected verdicttype ", c_values.v); + stop; + } + [] t_timer.timeout { + setverdict(fail, "No response from echo service"); + stop; + } + } + } + + function f_receiver() runs on Receiver + { + timer t_timer := 30.0; + t_timer.start; + alt + { + [] dst.receive(c_values.v) { setverdict(pass); dst.send(c_values.v); } + + [] dst.receive { setverdict(fail, "Unexpected messagem expected verdicttype", c_values.v); stop; } + [] t_timer.timeout { setverdict(fail, "No more messages"); stop; } + } + } + + testcase TC_Sem_13_toplevel_declaring_msg_various_types_014() runs on MTC system MTC + { + var Sender c_sender := Sender.create; + var Receiver c_receiver := Receiver.create; + connect(c_sender:src, c_receiver:dst); + c_sender.start(f_sender()); + c_receiver.start(f_receiver()); + c_sender.done; + c_receiver.kill; + } + control { + execute(TC_Sem_13_toplevel_declaring_msg_various_types_014()) + } +} diff --git a/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_001.ttcn b/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d2837577f4ad3d0b0c1752ec413786f0f4ba5ebe --- /dev/null +++ b/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_001.ttcn @@ -0,0 +1,52 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that nonblocking signature contains in parameter + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1400_procedure_signatures_001 { + + signature p_procedure_signatures_001(out integer p_par1) noblock; // noblock keyword, shall only have in parameters + + template p_procedure_signatures_001 s_returnTemplate := { + p_par1 := - } + + type port remotePort procedure { + inout p_procedure_signatures_001; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { } + + testcase TC_NegSem_1400_procedure_signatures_001() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_NegSem_1400_procedure_signatures_001()); + } + +} \ No newline at end of file diff --git a/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_002.ttcn b/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..23c892903c1e6eb43f875d27bbf3f8fccbf784cb --- /dev/null +++ b/ATS/14_procedure_signatures/NegSem_1400_procedure_signatures_002.ttcn @@ -0,0 +1,73 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:14, Ensure that blocking calls needs response or exception handling + ** @verdict pass reject + *****************************************************************/ +// Multiple calls requires response or exception handling if the signature is blocking + +module NegSem_1400_procedure_signatures_002 { + + signature p_Sig1_001( in charstring key ); // noblock needed for multiple calls without response or exections + + + type port remotePort procedure { + inout p_Sig1_001; + } + + type component GeneralComp { + port remotePort PCO; + var integer MyComp; + } + + + function f_Server() runs on GeneralComp { + timer t_guard; + + const charstring key[3] := {"My String1", "hello", "Probe string"}; + + t_guard.start( 5.0 ); + + for ( var integer i := 0; i < 3; i := i + 1 ) { + PCO.call( p_Sig1_001:{key[i]});} + setverdict(pass); + + t_guard.timeout; + setverdict(fail); + } + + function f_client() runs on GeneralComp { + + } + + testcase TC_NegSem_1400_procedure_signatures_002() runs on GeneralComp system GeneralComp { + + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + + connect(server:PCO, client:PCO); + + server.start(f_Server()); + client.start(f_client()); + + + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_NegSem_1400_procedure_signatures_002()); + } + +} \ No newline at end of file diff --git a/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_001.ttcn b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe3bf502bffd7fa9fd3ea26aa0b31594b2afd7ce --- /dev/null +++ b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_001.ttcn @@ -0,0 +1,79 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:14, Ensure that the IUT calls signature exception + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Exception is a charstring + +module Sem_1400_procedure_signatures_001 { + + signature p_Sig1_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer + exception (charstring); //execption is a string + + + type port remotePort procedure { + inout p_Sig1_001; + } + + type component GeneralComp { + port remotePort PCO; + var integer MyComp; + } + + + function f_Server() runs on GeneralComp { + PCO.raise(p_Sig1_001,"My string"); // raise exception + } + + function f_client() runs on GeneralComp { + timer t_timeout:=30.0; + + t_timeout.start; + + alt { + [] PCO.catch(p_Sig1_001,charstring:"My string") { + setverdict(pass); // receive exception + } + [] PCO.catch(p_Sig1_001,charstring:?) // receive anything else + { + setverdict(fail); + } + + [] t_timeout.timeout { + setverdict(fail); + } + + } +} + + testcase TC_Sem_1400_procedure_signatures_001() runs on GeneralComp system GeneralComp { + + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + + connect(server:PCO, client:PCO); + + + server.start(f_Server()); + client.start(f_client()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1400_procedure_signatures_001()); + } + +} \ No newline at end of file diff --git a/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_002.ttcn b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1867dcbc937dfb6bff4891fa3ec8ab3495e4ef8a --- /dev/null +++ b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_002.ttcn @@ -0,0 +1,80 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:14, Ensure that with noblock signature the IUT can raise exception + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Singature exception is a charsting with noblock signature + +module Sem_1400_procedure_signatures_002 { + + signature p_Sig1_001(in integer p_par1) noblock + exception (charstring); //execption is a string + + + type port remotePort procedure { + inout p_Sig1_001; + } + + type component GeneralComp { + port remotePort PCO; + var integer MyComp; + } + + + function f_Server() runs on GeneralComp { + PCO.raise(p_Sig1_001,"My string"); // raise exception + } + + function f_client() runs on GeneralComp { + timer t_timeout:=30.0; + + t_timeout.start; + + alt { + + [] PCO.catch(p_Sig1_001,charstring:"My string") { + setverdict(pass); // receive exception + } + + [] PCO.catch(p_Sig1_001,charstring:?) //receive anything else + { + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(fail); + } + + } +} + + testcase TC_Sem_1400_procedure_signatures_002() runs on GeneralComp system GeneralComp { + + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + + connect(server:PCO, client:PCO); + + + server.start(f_Server()); + client.start(f_client()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1400_procedure_signatures_002()); + } + +} \ No newline at end of file diff --git a/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_003.ttcn b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1ba5ddc42548d1eb4c5e69351678c21e2f24f687 --- /dev/null +++ b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_003.ttcn @@ -0,0 +1,72 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:14, Ensure that non blocking signatures can raise exception + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Singature exception is an integer + +module Sem_1400_procedure_signatures_003 { + + signature p_Sig1_001(in integer p_par1) noblock + exception (integer); //execption is an integer + + type port remotePort procedure { + inout p_Sig1_001; + } + + type component GeneralComp { + port remotePort PCO; + var integer MyComp; + } + + + function f_Server() runs on GeneralComp { + PCO.raise(p_Sig1_001,5); // raise exception + } + + function f_client() runs on GeneralComp { + timer t_timeout:=30.0; + var integer temp; + t_timeout.start; + + PCO.catch(p_Sig1_001,integer:5)-> value temp; + if (temp==5) + { + setverdict(pass); // receive exception + } + else{ + setverdict(fail); + } +} + + testcase TC_Sem_1400_procedure_signatures_003() runs on GeneralComp system GeneralComp { + + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + + connect(server:PCO, client:PCO); + + + server.start(f_Server()); + client.start(f_client()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1400_procedure_signatures_003()); + } + +} \ No newline at end of file diff --git a/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_004.ttcn b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e6358cca00eae6680fdef834c14c24c7f376220f --- /dev/null +++ b/ATS/14_procedure_signatures/Sem_1400_procedure_signatures_004.ttcn @@ -0,0 +1,73 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:14, Ensure that multiple calls can be send without ack using non-blocking signature + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Multiple calls without response or execption need noblock signature + +module Sem_1400_procedure_signatures_004 { + + signature p_Sig1_001( in charstring key ) noblock; + + + type port remotePort procedure { + inout p_Sig1_001; + } + + type component GeneralComp { + port remotePort PCO; + var integer MyComp; + } + + + function f_Server() runs on GeneralComp { + timer t_guard; + + const charstring key[3] := {"My String1", "hello", "Probe string"}; + + t_guard.start( 5.0 ); + + for ( var integer i := 0; i < 3; i := i + 1 ) { + PCO.call( p_Sig1_001:{key[i]});} + setverdict(pass); + + t_guard.timeout; + setverdict(fail); + } + + function f_client() runs on GeneralComp { + + } + + testcase TC_Sem_1400_procedure_signatures_004() runs on GeneralComp system GeneralComp { + + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + + + connect(server:PCO, client:PCO); + + server.start(f_Server()); + client.start(f_client()); + + + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1400_procedure_signatures_004()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_001.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b77262f69f3e7babae7588caad8e671bbe895f3c --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_001.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that a simple record-based message template can be defined. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_001 { + +type record MyMessageType { + integer field1 optional, + charstring field2, + boolean field3 +} + +template MyMessageType m_myTemplate := { + field1 := omit, + field2 := "My string", + field3 := true +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_002.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2d510b21c4c9b45c3fec0e128275ea7bc2fc0232 --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_002.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that a simple record-based message template with a wildcard ? is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_002 { + +type record MyMessageType { + integer field1 optional +} + +template MyMessageType m_myTemplate := { + field1 := ? +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_003.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83b60e47731a3bb8c4b573288370f188c482809e --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_003.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that a simple record-based message template can be defined with a pattern in a charstring field. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_003 { + +type record MyMessageType { + charstring field2 +} + +template MyMessageType m_myTemplate := { + field2 := pattern "abc*xyz" +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_004.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b0feba64438356cb980a297189ff362a4e486b35 --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_004.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that a primitive type template can be defined with a ? wildcard. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_004 { + +template integer m_myTemplate := ?; + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_005.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ae06a7cfb0583bec18a67cc4c81ae988b0b7328d --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_005.ttcn @@ -0,0 +1,12 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that a primitive type template can be defined with a one-of notation. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_005 { + +template integer m_myTemplate := (1, 2, 3); + +} \ No newline at end of file diff --git a/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_006.ttcn b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..72fbf90a9c33bfc27903cf3962555a71366f6731 --- /dev/null +++ b/ATS/15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_006.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.1, Ensure that all port operations are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1501_DeclaringMessageTemplates_006 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1 optional, + charstring field2, + boolean field3 + } + + template MyMessageType m_myTemplate := { + field1 := omit, + field2 := "My string", + field3 := true + } + + testcase TC_Syn_1501_DeclaringMessageTemplates_006() runs on GeneralComp { + pt_myPort.send(m_myTemplate); + pt_myPort.receive(m_myTemplate); + pt_myPort.trigger(m_myTemplate); + pt_myPort.check(receive(m_myTemplate)); + setverdict(pass); + } + + control{ + execute(TC_Syn_1501_DeclaringMessageTemplates_006()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/NOTES b/ATS/15_templates/1502_declaring_signature_templates/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..fca9d61284edaea1bb417652cd59d40f544454a3 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/NOTES @@ -0,0 +1,2 @@ +The semantic tests in this section require the execution of the control scripts, +which launch the remote procedure server and client operations. \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_001.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2cb2aa5ccfbc6268e5924476e5118cb39a6e6c9 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_001.ttcn @@ -0,0 +1,117 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.2, Test in-line templates for accepting procedure replies. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1502_DeclaringSignatureTemplates_001 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_1502_DeclaringSignatureTemplates_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_1502_DeclaringSignatureTemplates_001 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_1502_DeclaringSignatureTemplates_001 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_1502_DeclaringSignatureTemplates_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_1502_DeclaringSignatureTemplates_001; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + + PCO.call(p_Sem_1502_DeclaringSignatureTemplates_001:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_001:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_001:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_001:s_returnTemplate value 1) { //check that procedure is returning correct values + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_1502_DeclaringSignatureTemplates_001 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_1502_DeclaringSignatureTemplates_001:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_1502_DeclaringSignatureTemplates_001:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + } + + + testcase TC_Sem_1502_DeclaringSignatureTemplates_001() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1502_DeclaringSignatureTemplates_001()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_002.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b58d66fab15edfd2be68edb3763caea98abe42a9 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_002.ttcn @@ -0,0 +1,115 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.2, Test in-line templates for accepting procedure replies. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1502_DeclaringSignatureTemplates_002 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return can return value any value + */ + signature p_Sem_1502_DeclaringSignatureTemplates_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_1502_DeclaringSignatureTemplates_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_1502_DeclaringSignatureTemplates_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_1502_DeclaringSignatureTemplates_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_1502_DeclaringSignatureTemplates_002; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + + PCO.call(p_Sem_1502_DeclaringSignatureTemplates_002:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_002:s_wrongTemplate value ?) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_002:s_returnTemplate value ?) { //check that procedure is returning correct values + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_1502_DeclaringSignatureTemplates_002 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_1502_DeclaringSignatureTemplates_002:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_1502_DeclaringSignatureTemplates_002:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_1502_DeclaringSignatureTemplates_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1502_DeclaringSignatureTemplates_002()); + } + +} diff --git a/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_003.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db853f2aeb29f94f6e896a9aab81073789554fa4 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Sem_1502_DeclaringSignatureTemplates_003.ttcn @@ -0,0 +1,112 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.2, Test in-line templates for accepting procedure replies. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1502_DeclaringSignatureTemplates_003 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return can return value any value + */ + signature p_Sem_1502_DeclaringSignatureTemplates_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_1502_DeclaringSignatureTemplates_003 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_1502_DeclaringSignatureTemplates_003 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_1502_DeclaringSignatureTemplates_003 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_1502_DeclaringSignatureTemplates_003; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + + PCO.call(p_Sem_1502_DeclaringSignatureTemplates_003:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_1502_DeclaringSignatureTemplates_003:?) { //any reply is accepted + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_1502_DeclaringSignatureTemplates_003 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_1502_DeclaringSignatureTemplates_003:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_1502_DeclaringSignatureTemplates_003:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_1502_DeclaringSignatureTemplates_003() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_1502_DeclaringSignatureTemplates_003()); + } + +} diff --git a/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_001.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e2a050c5beb6439f9e2a693a587b8e080647cab --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_001.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.2, Ensure that signature templates with explicit values are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1502_DeclaringSignatureTemplates_001 { + + signature p_Syn_1502_DeclaringSignatureTemplates_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Syn_1502_DeclaringSignatureTemplates_001 s_myTemplate := { + p_par1 := 1, + p_par2 := 2, + p_par3 := 3 + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_002.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..518ff38099c0277be0c07d89a34e4dbc116341e1 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_002.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.2, Ensure that signature templates with wildcards are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1502_DeclaringSignatureTemplates_002 { + + signature p_Syn_1502_DeclaringSignatureTemplates_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Syn_1502_DeclaringSignatureTemplates_002 s_myTemplate := { + p_par1 := 1, + p_par2 := ?, + p_par3 := ? + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_003.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a7658f727101e18ae4849e82849b502187d0117d --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_003.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.2, Ensure that the basic operations call and getreply are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1502_DeclaringSignatureTemplates_003 { + + type port MyProcedurePortType procedure { + inout p_Syn_1502_DeclaringSignatureTemplates_003; + } + + type component GeneralComp { + port MyProcedurePortType pt_myPort; + } + + signature p_Syn_1502_DeclaringSignatureTemplates_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Syn_1502_DeclaringSignatureTemplates_003 m_myTemplate := { + p_par1 := 1, + p_par2 := 2, + p_par3 := 3 + } + + template p_Syn_1502_DeclaringSignatureTemplates_003 mw_myTemplate := { + p_par1 := 1, + p_par2 := ?, + p_par3 := ? + } + + testcase TC_Syn_1502_DeclaringSignatureTemplates_003() runs on GeneralComp { + pt_myPort.call(p_Syn_1502_DeclaringSignatureTemplates_003:m_myTemplate, nowait); + pt_myPort.getreply(p_Syn_1502_DeclaringSignatureTemplates_003:m_myTemplate); + setverdict(pass); + } + + control{ + execute(TC_Syn_1502_DeclaringSignatureTemplates_003()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_004.ttcn b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b143c1d1ae4acd10716d432e925962d5e7abb6c9 --- /dev/null +++ b/ATS/15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_004.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.2, Ensure that the raise and catch operations are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1502_DeclaringSignatureTemplates_004 { + + type port MyProcedurePortType procedure { + inout p_Syn_1502_DeclaringSignatureTemplates_004; + } + + type component GeneralComp { + port MyProcedurePortType pt_myPort; + } + + signature p_Syn_1502_DeclaringSignatureTemplates_004(in integer p_par1, out integer p_par2, inout integer p_par3) return integer exception (integer); + + template p_Syn_1502_DeclaringSignatureTemplates_004 m_myTemplate := { + p_par1 := 1, + p_par2 := 2, + p_par3 := 3 + } + + template p_Syn_1502_DeclaringSignatureTemplates_004 mw_myTemplate := { + p_par1 := 1, + p_par2 := ?, + p_par3 := ? + } + + testcase TC_Syn_1502_DeclaringSignatureTemplates_004() runs on GeneralComp { + pt_myPort.raise(p_Syn_1502_DeclaringSignatureTemplates_004, integer:5); + pt_myPort.catch(p_Syn_1502_DeclaringSignatureTemplates_004, integer:5); + setverdict(pass); + } + + control{ + execute(TC_Syn_1502_DeclaringSignatureTemplates_004()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_001.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f3d475f4bbf2743b8a239925392fbb0bf8394427 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_001.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error for re-assignment of a global non-parameterized template + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSem_1503_GlobalAndLocalTemplates_001 +{ + template integer t := ?; + type component GeneralComp { + } + testcase TC_NegSem_1503_GlobalAndLocalTemplates_001() runs on GeneralComp { + t := 2; // error expected + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_002.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28533250e09e8affebd3299c24e94492ce17b231 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_002.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error for re-assignment of a global non-parameterized template + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSem_1503_GlobalAndLocalTemplates_002 +{ + type component GeneralComp { + } + testcase TC_NegSem_1503_GlobalAndLocalTemplates_002() runs on GeneralComp { + template integer t := ?; + t := 2; // error expected + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_003.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4b8bdc288510345da5b17281231a39a67e5a38db --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_003.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error for re-assignment of a global parameterized template + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSem_1503_GlobalAndLocalTemplates_003 +{ + template integer t(in integer p) := (0..p); + type component GeneralComp { + } + testcase TC_NegSem_1503_GlobalAndLocalTemplates_003() runs on GeneralComp { + t := 2; // error expected + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_004.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c3396c5ab46d690dd8ca3132f71b1b4fbae10f2 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSem_1503_GlobalAndLocalTemplates_004.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error for re-assignment of a local parameterized template + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSem_1503_GlobalAndLocalTemplates_004 +{ + type component GeneralComp { + } + testcase TC_NegSem_1503_GlobalAndLocalTemplates_004() runs on GeneralComp { + template integer t(in integer p) := (0..p); + t := 2; // error expected + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_001.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c69ba172fb29f7e5beffec49d09f870504cee94 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_001.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error if no value is assigned in a global non-parameterized template declaration + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSyn_1503_GlobalAndLocalTemplates_001 +{ + template integer t; +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_002.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4f5aa98bfecc1e3785e807704916915daa788f4b --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_002.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error if no value is assigned in a local non-parameterized template declaration + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSyn_1503_GlobalAndLocalTemplates_002 +{ + type component GeneralComp { + } + testcase TC_NegSyn_1503_GlobalAndLocalTemplates_002() runs on GeneralComp { + template integer t; + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_003.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..25e08704e39132f7a926d27c594fce3066b51d9d --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_003.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error if no value is assigned in a global parameterized template declaration + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSyn_1503_GlobalAndLocalTemplates_003 +{ + template integer t(in integer p); +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_004.ttcn b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..81c78612e846e8391627bf0ef5e4dbf6a7580624 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/NegSyn_1503_GlobalAndLocalTemplates_004.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that there's an error if no value is assigned in a local parameterized template declaration + ** @verdict pass reject + *****************************************************************/ + +// The following requirement is tested: +// Both global and local templates are initialized at the place of their +// declaration. This means, all template fields which are not affected by +// parameterization shall receive a value or matching mechanism. Template +// fields affected by parameterization are initialized at the time of +// template use. +module NegSyn_1503_GlobalAndLocalTemplates_004 +{ + type component GeneralComp { + } + testcase TC_NegSyn_1503_GlobalAndLocalTemplates_004() runs on GeneralComp { + template integer t(in integer p); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_001.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3bae3bbd7d1098d103fff51911464045c0aba67c --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_001.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a template values can be accessed with the dot notation as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_001 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_myTemplate := { + field1 := 2, + field2 := "foobar", + field3 := true +} + +testcase TC_Sem_1503_GlobalAndLocalTemplates_001() runs on GeneralComp { + if (match(2,m_myTemplate.field1) and match("foobar", m_myTemplate.field2) and match(true, m_myTemplate.field3)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_001()); +} +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_002.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e15f1fe2c5c3935b4e4a1ab3ba70cbb295d9bcf --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_002.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a template actual parameter is passed through correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_002 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true +} + +testcase TC_Sem_1503_GlobalAndLocalTemplates_002() runs on GeneralComp { + if (valueof(m_myTemplate(2).field1) == 2) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_002()); +} +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_003.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9de5cffb8edf29bcc3c06be6daaf676a75d83136 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_003.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a send operation with actual parameters of a global parameterized template is accepted. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_003 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := "abcxyz", + field3 := true + } + + testcase TC_Sem_1503_GlobalAndLocalTemplates_003() runs on GeneralComp { + pt_myPort.send(m_myTemplate(2)); + setverdict(pass); + } + + control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_003()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_004.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3152114accb8bd0f92360d42c1d868888ac61e2 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_004.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a parameterized local template in a test case is accepted. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_004 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_Sem_1503_GlobalAndLocalTemplates_004() runs on GeneralComp { + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := "abcxyz", + field3 := true + } + + pt_myPort.send(m_myTemplate(2)); + setverdict(pass); + } + + control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_004()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_005.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..799af30ff3b343e1bc3ecc8dc28820b54223e7a5 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_005.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a send operation with actual parameters of a global parameterized template is accepted with the actual parameter being a template parameter. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_005 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + MyMessageType field3 optional + } + + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := "abc1xyz", + field3 := omit + } + + template MyMessageType m_myOtherTemplate(template MyMessageType p_myTemplate):= { + field1 := 2, + field2 := "abcxyz", + field3 := p_myTemplate + } + + testcase TC_Sem_1503_GlobalAndLocalTemplates_005() runs on GeneralComp { + pt_myPort.send(m_myOtherTemplate(m_myTemplate(2))); + setverdict(pass); + } + + control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_005()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_006.ttcn b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5cf8610cd46584298e049a0d2ffabe67eba64084 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_006.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a send operation with actual parameters of a global parameterized template is accepted with the actual parameter being an inline template. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1503_GlobalAndLocalTemplates_006 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + MyMessageType field3 optional + } + + template MyMessageType m_myOtherTemplate(template MyMessageType p_myTemplate):= { + field1 := 2, + field2 := "abcxyz", + field3 := p_myTemplate + } + + testcase TC_Sem_1503_GlobalAndLocalTemplates_006() runs on GeneralComp { + pt_myPort.send(m_myOtherTemplate(MyMessageType:{2,"foobar",omit})); + setverdict(pass); + } + + control{ + execute(TC_Sem_1503_GlobalAndLocalTemplates_006()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_001.ttcn b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28a4cf1d6ca1ac4c5ed9f6cc7b9d6d2a92d7a625 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_001.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a global parameterized template is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1503_GlobalAndLocalTemplates_001 { + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_004.ttcn b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ce556b59ab02297fa4ce6eded2937b28607c2f7 --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_004.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a parameterized local template in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1503_GlobalAndLocalTemplates_004 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + control{ + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true + } + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_005.ttcn b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d97f0bad4d3a81a3ac6517aa7cc52d564af40df --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_005.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a parameterized local template in a function is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1503_GlobalAndLocalTemplates_005 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + function f_testTemplate() { + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true + } + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_006.ttcn b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e4704f429b827e5032ddfa56683ada7ab1bf53f --- /dev/null +++ b/ATS/15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_006.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.3, Ensure that a parameterized local template in an altstep is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1503_GlobalAndLocalTemplates_006 { + + type port MyMessagePortType message { + inout MyMessageType + } + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + altstep f_testTemplate() runs on GeneralComp { + [] pt_myPort.receive { + template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true + } + } + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_001.ttcn b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b9851e00303cb856577f9797181bff64c9fdf96c --- /dev/null +++ b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.4, Ensure that inline templates are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1504_InlineTemplates_001 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +testcase TC_Syn_1504_InlineTemplates_001() runs on GeneralComp { + pt_myPort.send(MyMessageType:{2, "abcxyz", true}); + setverdict(pass); +} + +control{ + execute(TC_Syn_1504_InlineTemplates_001()); +} +} \ No newline at end of file diff --git a/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_002.ttcn b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78ff423bf2cec9348e8d333aa0a1e6e92c078a92 --- /dev/null +++ b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_002.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.4, Ensure that modified parameterized inline templates are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1504_InlineTemplates_002 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_myTemplate(integer p_myFormalParam):= { + field1 := p_myFormalParam, + field2 := pattern "abc*xyz", + field3 := true +} + +testcase TC_Syn_1504_InlineTemplates_002() runs on GeneralComp { + pt_myPort.send(MyMessageType:modifies m_myTemplate(2) := {field2:="foobar"}); + setverdict(pass); +} + +control{ + execute(TC_Syn_1504_InlineTemplates_002()); +} +} \ No newline at end of file diff --git a/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_003.ttcn b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b00f90649191dae10a1d85751a03ef8243037156 --- /dev/null +++ b/ATS/15_templates/1504_inline_templates/Syn_1504_InlineTemplates_003.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.4, Ensure that modified plain inline templates are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1504_InlineTemplates_003 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_myTemplate := { + field1 := 2, + field2 := pattern "abc*xyz", + field3 := true +} + +testcase TC_Syn_1504_InlineTemplates_003() runs on GeneralComp { + pt_myPort.send(MyMessageType:modifies m_myTemplate := {field2:="foobar"}); + setverdict(pass); +} + +control{ + execute(TC_Syn_1504_InlineTemplates_003()); +} +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_001.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8be497d9c1d6c4d71d128d51153e5652fa605aac --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_001.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that a modified template does not refer to itself. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_001 { + +type record of integer MyMessageType; + +template MyMessageType m_myBaseTemplate := { 0, 1, 2, 3, 4 }; + +template MyMessageType m_myOtherTemplate modifies m_myOtherTemplate := { + [2]:=3, // switch the positions of 2 and 3 + [3]:=2 +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_002.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dbe4c2adcc3faa1bcbb37d2047243de73bdbef60 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_002.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that a modified template does not omit possible parameters of the base template. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_002 { + +type record of integer MyMessageType; + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_value) := { + field1 := p_value, + field2 := "Hello World", + field3 := true +} + +// illegal definition as the (integer p_value) formal parameter is missing and must +// not be omitted. +template MyMessageType m_templateTwo modifies m_templateOne := { + field3 := false +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_003.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..89480b477056a674553a60a1522fd74d8f8e551a --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_003.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that a modified template does not omit possible parameters introduced in any modification step. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_003 { + +type record of integer MyMessageType; + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_intValue, boolean p_boolValue) modifies m_templateOne := { + field1 := p_intValue, + field3 := p_boolValue +} + +// illegal as it is missing the (boolean p_boolValue) formal parameter introduced in the previous +// modification step. +template MyMessageType m_templateThree(integer p_intValue) modifies m_templateTwo := { + field2 := "foobar" +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_004.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..18030a6e305b6287072ad3a7a3cb417ba53ea2d3 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_004.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that parameter names in modified templates are the same. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_004 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_value) := { + field1 := p_value, + field2 := "Hello World", + field3 := true +} + +// illegal as p_intValue is a different parameter name than p_value +template MyMessageType m_templateTwo(integer p_intValue) modifies m_templateOne := { + field3 := false +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_005.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fd3cfd25ceebfa1e211021fee0dc3e8450102e9 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_005.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that the dash in default parameter values of a modified templates is only accepted when the base template actually has a default value. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_005 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +// illegal as p_intValue does not have a default value that can be referred to with the "-". +template MyMessageType m_templateTwo(integer p_intValue := -) modifies m_templateOne := { + field1 := p_intValue +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_006.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79f3318c4518265aadf09c7ca74c9518063868c9 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_006.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that the same parameter name is used when modifying the base template. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_006 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +// illegal as parameter name mismatch p_intValue defined in m_templateOne +template MyMessageType m_templateTwo(integer p_value := -) modifies m_templateOne := { + field1 := p_value +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_007.ttcn b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..48d1af153febc232eee6b0127c5be438f10f80c8 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_007.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that the same parameter type is used when modifying the base template. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1505_ModifiedTemplates_007 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +// illegal as parameter type mismatch boolean defined in m_templateOne +template MyMessageType m_templateTwo(boolean p_intValue) modifies m_templateOne := { + field1 := 5 +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_001.ttcn b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e4c3ceb8ba4a11d838d8a1a612481335e046ff3 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_001.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that the values of plain modified template definitions are as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1505_ModifiedTemplates_001 { + +type port MyMessagePortType message { + inout MyMessageType +} + +type component GeneralComp { + port MyMessagePortType pt_myPort; +} + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne := { + field1 := 2, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo modifies m_templateOne := { + field1 := 4 +} + +testcase TC_Sem_1505_ModifiedTemplates_001() runs on GeneralComp { + if ((valueof(m_templateTwo.field1) == 4) and + (valueof(m_templateTwo.field2) == "Hello World") and + (valueof(m_templateTwo.field3) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1505_ModifiedTemplates_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_002.ttcn b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5574c7b4d8d8089634381db92b93a8ccbac1b6c8 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_002.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that a modified template of a record of type using index notation access works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1505_ModifiedTemplates_002 { + +type component GeneralComp { +} + +type record of integer MyMessageType; + +template MyMessageType m_myBaseTemplate := { 0, 1, 2, 3, 4 }; + +template MyMessageType m_myOtherTemplate modifies m_myBaseTemplate := { + [2]:=3, // switch the positions of 2 and 3 + [3]:=2 +} + +testcase TC_Sem_1505_ModifiedTemplates_002() runs on GeneralComp { + if ((valueof(m_myOtherTemplate[0]) == 0) and + (valueof(m_myOtherTemplate[1]) == 1) and + (valueof(m_myOtherTemplate[2]) == 3) and + (valueof(m_myOtherTemplate[3]) == 2) and + (valueof(m_myOtherTemplate[4]) == 4) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1505_ModifiedTemplates_002()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_003.ttcn b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4760a8b3f011d39cb6fc237a08aa546324ef024 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_003.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that default values in formal parameters of modified templates are working as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1505_ModifiedTemplates_003 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_intValue:=2, boolean p_boolValue:=false) modifies m_templateOne := { + field1 := p_intValue, + field3 := p_boolValue +} + +testcase TC_Sem_1505_ModifiedTemplates_003() runs on GeneralComp { + if ((valueof(m_templateTwo.field1) == 2) and + (valueof(m_templateTwo.field2) == "Hello World") and + (valueof(m_templateTwo.field3) == false) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1505_ModifiedTemplates_003()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c1651f39cb39d2f9889854dd850fdaf2fa873ca8 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that default values in formal parameters of modified templates are working as expected when the modified template uses the dash for the default value. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1505_ModifiedTemplates_004 { + +type component GeneralComp { } + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue:=2) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_intValue := -) modifies m_templateOne := { + field1 := p_intValue +} + +testcase TC_Sem_1505_ModifiedTemplates_004() runs on GeneralComp { + if ((valueof(m_templateTwo.field1) == 2) and + (valueof(m_templateTwo.field2) == "Hello World") and + (valueof(m_templateTwo.field3) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1505_ModifiedTemplates_004()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_001.ttcn b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bda3f328f34aadfd24436e702e6c8ea51aa066de --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that plain modified template definitions are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1505_ModifiedTemplates_001 { + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne := { + field1 := 2, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo modifies m_templateOne := { + field1 := 4 +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_002.ttcn b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4b81fd7b68ed1b192f45ad72011d0ab6de65080 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_002.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that a modified template does not omit possible parameters introduced in any modification step. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1505_ModifiedTemplates_002 { + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_value) := { + field1 := p_value, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_value, boolean p_boolValue) modifies m_templateOne := { + field1 := p_value, + field3 := p_boolValue +} + +template MyMessageType m_templateThree(integer p_value, boolean p_boolValue) modifies m_templateTwo := { + field2 := "foobar" +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_003.ttcn b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44ca924a08d98b47a22113a2b2fefd43f8c3d233 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_003.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that the default values in formal parameters of modified templates are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1505_ModifiedTemplates_003 { + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_intValue:=2, boolean p_boolValue:=false) modifies m_templateOne := { + field1 := p_intValue, + field3 := p_boolValue +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_004.ttcn b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..321b5ebd422929183e5fc61a8fae5e7a14cfdd61 --- /dev/null +++ b/ATS/15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_004.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.5, Ensure that dash as default parameter values are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1505_ModifiedTemplates_004 { + +type record MyMessageType { + integer field1, + charstring field2, + boolean field3 +} + +template MyMessageType m_templateOne(integer p_intValue:=2) := { + field1 := p_intValue, + field2 := "Hello World", + field3 := true +} + +template MyMessageType m_templateTwo(integer p_intValue := -) modifies m_templateOne := { + field1 := p_intValue +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..43651e6cbb392b84eb3aa11f4d4906c6c3247e68 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.1, Ensure that the referencing of individual string elements inside templates or template fields is forbidden. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150601_ReferencingIndividualStringElements_001 { + +type component GeneralComp { } + +testcase TC_NegSem_150601_ReferencingIndividualStringElements_001() runs on GeneralComp { + var template charstring m_char1 := "MYCHAR1"; + var template charstring m_char2; + + // illegal acchess. Instead, substr should be used. + m_char2 := m_char1[1]; + + if (m_char2 == "Y") { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_150601_ReferencingIndividualStringElements_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a177ee78ab32fefd741cca9a753801b58daaecec --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_001.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that fields with omit values on the right-hand side of an assignment are rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150602_ReferencingRecordAndSetFields_001 { + +type component GeneralComp { } + +type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional +} + +type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional +} + +testcase TC_NegSem_150602_ReferencingRecordAndSetFields_001() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := 5, + f2 := omit + } + + // shall cause an error as omit is assigned to m_R1.f2 + var template MyRecordOne m_R2 := m_R1.f2.g2; + // if we get here, something must be wrong + setverdict(fail); +} + +control{ + execute(TC_NegSem_150602_ReferencingRecordAndSetFields_001()); +} + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_002.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f27f95cb0ceb41202d88a2f6dea5701e46ad8e0 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_002.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that fields with * values on the right-hand side of an assignment are rejected + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150602_ReferencingRecordAndSetFields_002 { + +type component GeneralComp { } + +type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional +} + +type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional +} + +testcase TC_NegSem_150602_ReferencingRecordAndSetFields_002() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := 5, + f2 := omit + } + + m_R1.f2 := *; + + // shall cause an error as * is assigned to m_R1.f2 + var template MyRecordTwo m_R2 := m_R1.f2.g2; + // if we get here, something must be wrong + setverdict(fail); +} + +control{ + execute(TC_NegSem_150602_ReferencingRecordAndSetFields_002()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0c3d7bc821f41f0559d5c013ddbe8e722bd636bc --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn @@ -0,0 +1,59 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that value lists on the right-hand side of an assignment are not acceped. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150602_ReferencingRecordAndSetFields_003 { + +type component GeneralComp { } + +type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional +} + +type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional +} + +testcase TC_NegSem_150602_ReferencingRecordAndSetFields_003() runs on GeneralComp { + var template MyRecordOne m_R1 := ( + { + f1 := omit, + f2 := + { + g1 := 0, + g2 := omit + } + }, + { + f1 := 5, + f2 := + { + g1 := 1, + g2 := + { + g1 := 2, + g2 := omit + } + } + } + ); + + // shall cause an error as value list is assigned to m_R1 + var template MyRecordTwo m_R2 := m_R1.f2; + m_R2 := m_R1.f2.g2; + m_R2 := m_R1.f2.g2.g2; + // if we get here, something must be wrong + setverdict(fail); +} + +control{ + execute(TC_NegSem_150602_ReferencingRecordAndSetFields_003()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_004.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..752df0a18b705819bcd5a270fb5efb995c6b05d8 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_004.ttcn @@ -0,0 +1,59 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that complement lists on the right-hand side of an assignment are not acceped. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150602_ReferencingRecordAndSetFields_004 { + +type component GeneralComp { } + +type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional +} + +type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional +} + +testcase TC_NegSem_150602_ReferencingRecordAndSetFields_004() runs on GeneralComp { + var template MyRecordOne m_R1 := complement( + { + f1 := omit, + f2 := + { + g1 := 0, + g2 := omit + } + }, + { + f1 := 5, + f2 := + { + g1 := 1, + g2 := + { + g1 := 2, + g2 := omit + } + } + } + ); + + // shall cause an error as a complement list is assigned to m_R1 + var template MyRecordTwo m_R2 := m_R1.f2; + m_R2 := m_R1.f2.g2; + m_R2 := m_R1.f2.g2.g2; + // if we get here, something must be wrong + setverdict(fail); +} + +control{ + execute(TC_NegSem_150602_ReferencingRecordAndSetFields_004()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_005.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5da2efafd6f23a8e10b902b4cb3f9be3353f875d --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_005.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that referencing a template field with the ifpresent attribute causes a rejection. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150602_ReferencingRecordAndSetFields_005 { + +type component GeneralComp { } + +type record MyRecordOne { + MyRecordOne f1 optional +} + +testcase TC_NegSem_150602_ReferencingRecordAndSetFields_005() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := * ifpresent + } + var template MyRecordOne m_R2 := { + f1 := m_R1.f1.f1 // access to a field with ifpresent shall cause an error! + } + setverdict(fail); +} + +control{ + execute(TC_NegSem_150602_ReferencingRecordAndSetFields_005()); +} + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b65bb765ea102beb84e9da61b5e3e35473428a3d --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_001.ttcn @@ -0,0 +1,54 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.6.2, ? shall be returned for mandatory subfields and * shall be returned for optional subfields. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150602_ReferencingRecordAndSetFields_001 { + + type component GeneralComp { } + + type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional + } + + type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional + } + + testcase TC_Sem_150602_ReferencingRecordAndSetFields_001() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := 0, + f2 := ? + } + + // m_R2.g1 is mandatory, therefore it shall be ? + // m_R2.g2 is optional, therefore it shall be * + var template MyRecordTwo m_R2 := m_R1.f2; + + var template(value) MyRecordTwo m_value := { + g1 := 5, + g2 := omit + } + + // match against ? + var boolean v_matchRes1 := match(5, m_R2.g1); + + + if (v_matchRes1) { + setverdict(pass); + } else { + setverdict(fail, "match against ?"); + } + + } + + control{ + execute(TC_Sem_150602_ReferencingRecordAndSetFields_001()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_002.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19b8b8c4d18d970c264d20c70b4cbdbec0d0bfd9 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_002.ttcn @@ -0,0 +1,60 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.2, Ensure that the recurisve anyvalue expansion is performed correctly when new values are assigned. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150602_ReferencingRecordAndSetFields_002 { + +type component GeneralComp { } + +type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional +} + +type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional +} + +testcase TC_Sem_150602_ReferencingRecordAndSetFields_002() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := 0, + f2 := ? + } + + m_R1.f2.g2.g2 := {g1:=1, g2:=omit}; + // as f2 is ? and we access g2.g2, TTCN-3 should expand the following fields to + // contain the following values: + // m_R1.f1 = 0 + // m_R1.f2 = { + // g1 = ? + // g2 = { + // g1 = ?, + // g2 = { + // g1 = 1 + // g2 = omit + // } + // } + // } + + if ((valueof(m_R1.f1) == 0) and + ispresent(m_R1.f2.g2) and + ispresent(m_R1.f2.g2.g2) and + ( ispresent(m_R1.f2.g2.g2.g2) == false) and + ( valueof(m_R1.f2.g2.g2.g1) == 1 ) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_150602_ReferencingRecordAndSetFields_002()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..71f7ec567d28b9d05ea02ce2bd9b8532b370f015 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_001.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that referencing an element within a value list causes an error in the context of record of. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_001 { + + type component GeneralComp { } + + type record of integer RoI; + type record of RoI RoRoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_001() runs on GeneralComp { + var template RoI m_one; + var template RoRoI m_two; + template RoRoI constraint_value := {{},{0},{0,0},{0,0,0}}; + + m_two := ( constraint_value, constraint_value ); // value list + m_one := m_two[0]; // shall cause an error as we access a value list + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_001()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_002.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c4cc978e969529615f40b6071269c514b35e6b89 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_002.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that access to unitialized fields in the context of record of is rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_002 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_002() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one[0] := 0; + m_one[2] := 1; + v_test := valueof(m_one[1]); // shall cause an error as element one is an unitialized field + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_002()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_003.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9c2f8efb01a862e75eb669fba820d072a64a8b70 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_003.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that anyvalueornone fields in the context of record of is rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_003 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_003() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {0,*,1,2}; + v_test := valueof(m_one[1]); // shall cause an error as element one is an "any value or none" field + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_003()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_004.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6cda6097b6e5c6d45dfe6d332e65cb32e30f335f --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_004.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that complement value lists in the context of record of are rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_004 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_004() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {0,complement(1,3,5),1,2}; + v_test := valueof(m_one[1]); // shall cause an error as element one is a complement list + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_004()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_005.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..662e8ec8b60a1747e0d250690e2a9da48e9a2376 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_005.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that subset in the context of record of are rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_005 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_005() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {0,subset(1,3,5),1,2}; + v_test := valueof(m_one[1]); // shall cause an error as element one is a subset + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_005()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_006.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..16c5fb61110f5ceb934b7e09bd92e1a130a1a863 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_006.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that superset in the context of record of are rejected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_006 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_006() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {0,superset(1,3,5),1,2}; + v_test := valueof(m_one[1]); // shall cause an error as element one is a superset + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_006()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_007.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..660e046dd0a47e128f5655b238383a65b6893979 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_007.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that access into permutation in record of templates is forbidden. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_007 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_007() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {permutation(0,1,3,?),2,*}; + v_test := valueof(m_one[2]); // shall cause an error as the third element (index 2) will be inside the permutation + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_007()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_008.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3353326010bdff22b021b915a1588b07dd8e9b5 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_008.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that access to record of indexes is forbidden when a previous index entry is a permutation with a *. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_008 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_008() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {permutation(0,1,3,*),2,?}; + v_test := valueof(m_one[5]); // shall cause an error as the permutation contains a * that is able to cover any record of indexes + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_008()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_009.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cb428e91a1f2a2bf94a9a3e9b558cc4b1c9bf1a6 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_009.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that access to ifpresent fields is not allowed. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_009 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_009() runs on GeneralComp { + var template RoI m_one; + var integer v_test; + + m_one := {1 ifpresent,2,?}; + v_test := valueof(m_one[0]); // shall cause an error due to the presence of ifpresent + + setverdict(fail); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_009()); + } + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_010.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..098a0a4ec1c2f87bc43d7ec62ca8d9b48fadda01 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_010.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that referencing AnyValueOrNone fields is not allowed. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150603_ReferencingRecordOfAndSetElements_010 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_NegSem_150603_ReferencingRecordOfAndSetElements_010() runs on GeneralComp { + var template RoI m_one; + + m_one := ?; + m_one[2] := 2; + // assignment should yield {?,?,2,*} + + if (not match(5,m_one[0])) { + setverdict(fail); + } + if (not match(5,m_one[1])) { + setverdict(fail); + } + if (not match(2,m_one[2])) { + setverdict(fail); + } + if (not match(5,m_one[3])) { // shall cause an error due to the presence of AnyValueOrNone + setverdict(fail); + } + setverdict(pass); + } + + control{ + execute(TC_NegSem_150603_ReferencingRecordOfAndSetElements_010()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..24d7832f6c12f267a6d8a20a934f7130c96c18f3 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that assignment of an anyvalue on the right hand side yields an anyvalue in the context of record of. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150603_ReferencingRecordOfAndSetElements_001 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_001() runs on GeneralComp { + var template RoI m_one; + var template RoI m_two; + + m_one := {0,?,2}; + m_two := {0,1,2}; + m_two[1] := m_one[1]; + + if (match(5,m_two[1])) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_001()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_002.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1cb8ca81748b974c41d77acf010e1f58c79196d6 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_002.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that assignment to a anyvalue in the context of record of is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150603_ReferencingRecordOfAndSetElements_002 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_002() runs on GeneralComp { + var template RoI m_one; + + m_one := ?; + m_one[2] := 2; + // assignment should yield {?,?,2,*} + + if (not match(5,m_one[0])) { + setverdict(fail); + } + if (not match(5,m_one[1])) { + setverdict(fail); + } + if (not match(2,m_one[2])) { + setverdict(fail); + } + + setverdict(pass); + } + + control{ + execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_002()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_003.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..916eb22e3016a3715de9920a3749d0686e5961dd --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_003.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that assignment to a anyvalue in the context of record of is handled correctly in two subsequent assignments. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150603_ReferencingRecordOfAndSetElements_003 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_003() runs on GeneralComp { + var template RoI m_one; + + m_one := ?; + m_one[2] := 2; + // assignment should yield {?,?,2,*} + m_one[4] := 3; + // assignment should yield {?,?,2,?,3,*} + + if (match(5,m_one[0]) and + match(5,m_one[1]) and + match(2,m_one[2]) and + match(5,m_one[3]) and + match(3,m_one[4]) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_003()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_004.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dcba625f367534c4b731a4d6e241c8d31a6ef7d2 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_004.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that assignment to a anyvalue in the context of record of is handled correctly when the first element is changed. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150603_ReferencingRecordOfAndSetElements_004 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_004() runs on GeneralComp { + var template RoI m_one; + + m_one := ?; + m_one[0] := 2; + // assignment should yield {2,*} + + if (not match(2,m_one[0])) { + setverdict(fail); + } + + setverdict(pass); + } + + control{ + execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_004()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_005.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..662cd8544177363c1a384809c6d88d8e0f47b2cf --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_005.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.6.3, Ensure that access outside permutation fields is allowed and works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150603_ReferencingRecordOfAndSetElements_005 { + + type component GeneralComp { } + + type record of integer RoI; + + testcase TC_Sem_150603_ReferencingRecordOfAndSetElements_005() runs on GeneralComp { + var template RoI m_one; + var template integer m_two; + + m_one := {permutation(0,1,3,?),2,?}; + // assignment should yield ? + m_two := m_one[5]; + + if (match(5,m_two)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_150603_ReferencingRecordOfAndSetElements_005()); + } + + + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NOTES b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..7053c8c82a19cacd09bd3cd54cddf1fb3b87088c --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NOTES @@ -0,0 +1 @@ +The semantic tests in this section require the corresponding remote procedure implemented \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NegSem_150604_ReferencingSignatureParameters_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NegSem_150604_ReferencingSignatureParameters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2089e6fd0c232d01dc6b6a39f9ab01395d10bcd --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/NegSem_150604_ReferencingSignatureParameters_001.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.6.4, Test modification of signature parameters. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_150604_ReferencingSignatureParameters_001 { + +/** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + +signature p_NegSem_150604_ReferencingSignatureParameters_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + +template p_NegSem_150604_ReferencingSignatureParameters_001 s_baseTemplate := ( + {p_par1 := -, p_par2 := 4, p_par3 := ?} , {p_par1 := -, p_par2 := 4, p_par3 := 1} +); + +template p_NegSem_150604_ReferencingSignatureParameters_001 s_returnTemplate modifies s_baseTemplate := { + p_par3 := 5 +} //cannot modify list value template + +template p_NegSem_150604_ReferencingSignatureParameters_001 s_wrongTemplate modifies s_baseTemplate := { + p_par3 := 3 +} //cannot modify list value template + + + type port remotePort procedure { + out p_NegSem_150604_ReferencingSignatureParameters_001; + } + +type component GeneralComp { + port remotePort PCO; +} + +testcase TC_NegSem_150604_ReferencingSignatureParameters_001() runs on GeneralComp { + +} + +control{ + execute(TC_NegSem_150604_ReferencingSignatureParameters_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001.ttcn b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..72504563d037e7ad5866ad4f636be9d46169a5e5 --- /dev/null +++ b/ATS/15_templates/1506_referencing_elements_of_templates_or_template_fields/150604_referencing_signature_parameters/Sem_150604_ReferencingSignatureParameters_001.ttcn @@ -0,0 +1,71 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.6.4, Test modification of signature parameters. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_150604_ReferencingSignatureParameters_001 { + +/** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + +signature p_Sem_150604_ReferencingSignatureParameters_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + +template p_Sem_150604_ReferencingSignatureParameters_001 s_baseTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := ? +} + +template p_Sem_150604_ReferencingSignatureParameters_001 s_returnTemplate modifies s_baseTemplate := { + p_par3 := 5 +} + +template p_Sem_150604_ReferencingSignatureParameters_001 s_wrongTemplate modifies s_baseTemplate := { + p_par3 := 3 +} + +template p_Sem_150604_ReferencingSignatureParameters_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 +} + + type port remotePort procedure { + out p_Sem_150604_ReferencingSignatureParameters_001; + } + +type component GeneralComp { + port remotePort PCO; +} + +testcase TC_Sem_150604_ReferencingSignatureParameters_001() runs on GeneralComp { + + PCO.call(p_Sem_150604_ReferencingSignatureParameters_001:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_150604_ReferencingSignatureParameters_001:s_returnTemplate value 1) { //check that procedure is returning correct values + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_150604_ReferencingSignatureParameters_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1507_template_matching_mechanisms/README b/ATS/15_templates/1507_template_matching_mechanisms/README new file mode 100644 index 0000000000000000000000000000000000000000..f165a664b75eebda9a4c7678f6ff68bf24c804bb --- /dev/null +++ b/ATS/15_templates/1507_template_matching_mechanisms/README @@ -0,0 +1 @@ +template matching tests can be found in B_matching_incoming_values. \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NOTES b/ATS/15_templates/1508_template_restrictions/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..f53723becd434bda1ade16c071c24945d09d9cbf --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NOTES @@ -0,0 +1 @@ +- TODO: grey fields in table 13 could be tested further with negative semantics tests... \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_001.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fa4cce8cff2e89cf153a56e1334d0b50587d1ee6 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_001.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with anyvalue(?). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_001 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := ?; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_002.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88eb678359cbb81ec6136455cbdff7eecc234716 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_002.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with setof template. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_002 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := ({1,true},{2,false}); + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_003.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..33d94c0587e7cc5991de89406462a7903bbea428 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_003.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with anyvalueornone(*). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_003 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := *; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_004.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a35e5e8e904eb1aa76c4ed30065f73bbd5487daa --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_004.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with value ranges. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_004 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := {(1..6), true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_005.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c86f279ce3cc9dd0804e1f96a56a192a7da664e --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_005.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with supersets. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_005 { + +type record ExampleType { + set of integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := {superset(1,2,3), true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_006.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..59f0eafda618534c8a30c049a3b66f0153eb5877 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_006.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with subsets. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_006 { + +type record ExampleType { + set of integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmitAny := {subset(1,2,3), true}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_007.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..715884ddaa54d7a92b541679c9314b9509787a8b --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_007.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with patterns. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_007 { + +type record ExampleType { + integer a, + charstring b +} + +template(omit) ExampleType exampleOmitAny := {1, pattern "ab*c"}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_008.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3f6d35f44ea5f15d20065a7cbb5eab41af097ea5 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_008.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with anyelement inside values. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_008 { + +type record ExampleType { + integer a, + charstring b +} + +template(omit) ExampleType exampleOmitAny := {2, ?}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_009.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..759b710ae5483ce379d6c034389621d3000fb50c --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_009.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with anyelemenornone inside values. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_009 { + +type record ExampleType { + integer a, + charstring b +} + +template(omit) ExampleType exampleOmitAny := {2, *}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_010.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0990db7add4dc51ea28a31bd2d2ee45c2bcdeba9 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_010.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with permutation inside values. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_010 { + +type record ExampleType { + set of integer a, + charstring b +} + +template(omit) ExampleType exampleOmitAny := {permutation(2,4,6),"abcde"}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_011.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..73c9b143cc21bef0766ebc058e3070e26f0c4bda --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_011.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with length restrictions. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_011 { + +type record ExampleType { + charstring b +} + +template(omit) ExampleType exampleOmitAny := {"abcde" length(1..3)}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_012.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a26abe9e5bda45a317e4986cfcb57426a4fdc8dd --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_012.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with length restrictions. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_012 { + +type record ExampleType { + charstring b +} + +template(omit) ExampleType exampleOmitAny := {"abcde" ifpresent}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_013.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d42fc024b02d1573f5bba36ce22d0efb44a1e9e1 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_013.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is rejected with length restrictions. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_013 { + +type record ExampleType { + integer f1 +} + +template(omit) ExampleType exampleOmitAny := {complement(2,3)}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_014.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..62081718bcd5470b192dee38f3e71bcf8839af1d --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_014.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with anyvalue(?). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_014 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := ?; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_015.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..61a315c4cc9a12368694ca9786bad5aa5e74a490 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_015.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with valuelist. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_015 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := ({1,true},{2,false}); + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_016.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9571ac0a4ab1b6cbb42e79379bc5f73580464fbe --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_016.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with anyvalueornone(*). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_016 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := *; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_017.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8eee573ab80f7ed72d254e6b27698bab5d07ed05 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_017.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with value ranges. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_017 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := {(1..6), true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_018.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8cf84ac68e940e6bfc9b1df4a26d61af7b654b48 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_018.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with supersets. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_018 { + +type record ExampleType { + set of integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := {superset(1,2,3), true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_019.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb3f79be7bbffa17bdac63f05b275e313b4f3408 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_019.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with supersets. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_019 { + +type record ExampleType { + set of integer a, + boolean b optional +} + +template(value) ExampleType exampleOmitAny := {superset(1,2,3), true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_020.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b7cc7f7ad193e656e150bc1cfa02182a297e10d7 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_020.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with patterns. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_020 { + +type record ExampleType { + integer a, + charstring b +} + +template(value) ExampleType exampleOmitAny := {1, pattern "ab*c"}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_021.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c6ec2d9863a278ec754b38f1a5191c3890376d1 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_021.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with anyelement inside values. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_021 { + +type record ExampleType { + integer a, + charstring b +} + +template(value) ExampleType exampleOmitAny := {2, ?}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_022.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f474cbe373dbbc1d4f0b604dc01fc93cdb33fa87 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_022.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with permutation inside values. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_022 { + +type record ExampleType { + set of integer a, + charstring b +} + +template(value) ExampleType exampleOmitAny := {permutation(2,4,6),"abcde"}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_023.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94be4c7ce048ef85277eb9261fc16175555cee9d --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_023.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with length restrictions. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_023 { + +type record ExampleType { + charstring b +} + +template(value) ExampleType exampleOmitAny := {"abcde" length(1..3)}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_024.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db38b86d6fa7fe192527b08802c89e3c3adcdd2a --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_024.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is rejected with length restrictions. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_024 { + +type record ExampleType { + charstring b +} + +template(value) ExampleType exampleOmitAny := {"abcde" ifpresent}; + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_025.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac60f935526d7669f1ba47b8a1400e064739cc3d --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_025.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) refuses omitvalue as a whole. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_025 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType exampleOmit := omit; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_026.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c94592fc9dc53b023a3c80fa0630c96bdd6f1e15 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_026.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) refuses omit as a whole. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_026 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmit := omit; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_027.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1710a59a82c44f6a1e28cd150ef745ac8129aec5 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_027.ttcn @@ -0,0 +1,51 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, ensure that symbols created during template expansion are checked against omit template restriction + ** @verdict pass reject + ***************************************************/ + +// Reasoning: +// Field reference on a left hand side of an assignment statement can lead to expansion of +// a matching symbol. If the values of the expanded symbol do not fullfil conditions set by +// template restrictions (after the assignment has been finished), the running test shall +// end with a dynamic error. + +// The following requirements are tested: +// (15.6.2.a) When referencing a subfield within a structured field to which AnyValueOrNone +// or omit is assigned, at the left hand side of an assignment, the structured field is +// implicitly set to be present, it is expanded recursively up to and including the depth +// of the referenced subfield. During this expansion an AnyValue shall be assigned to mandatory +// subfields and AnyValueOrNone shall be assigned to optional subfields. After this expansion +// the value or matching mechanism at the right hand side of the assignment shall be assigned +// to the referenced subfield. +// +// (15.8) (omit) the template shall resolve to a value matching mechanism (i.e. the fields +// of it shall resolve to a specific value or omit, and the whole template may also resolve to +// omit). Such a template can be used to define a field of a record and set template and the +// latter one could still be used in a send statement. + +module NegSem_1508_TemplateRestrictions_027 { + +type component GeneralComp { } + +type record R { + integer field1, + integer field2 +} + +testcase TC_NegSem_1508_TemplateRestrictions_027() runs on GeneralComp { + var omit R v_test := omit; + v_test.field1 := 0; // As the result of expansion, v_test value is { field1 := ?, field2 := ? } + // After the field assignment it changes to { field1 := 0, field2 := ? } + // This value (field2 in particular) violates omit restriction an shall cause an error + + // if we get here, something must be wrong as the previous assignment shall cause an error + setverdict(fail); +} + +control{ + execute(TC_NegSem_1508_TemplateRestrictions_027()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_028.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..94531c8f9a4d4509e730c280503a3a5748b5bba1 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_028.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, ensure that symbols created during template expansion are checked against value template restriction + ** @verdict pass reject + ***************************************************/ + +// Reasoning: +// Field reference on a left hand side of an assignment statement can lead to expansion of +// a matching symbol. If the values of the expanded symbol do not fullfil conditions set by +// template restrictions (after the assignment has been finished), the running test shall +// end with a dynamic error. + +// The following requirements are tested: +// (15.6.2.a) When referencing a subfield within a structured field to which AnyValueOrNone +// or omit is assigned, at the left hand side of an assignment, the structured field is +// implicitly set to be present, it is expanded recursively up to and including the depth +// of the referenced subfield. During this expansion an AnyValue shall be assigned to mandatory +// subfields and AnyValueOrNone shall be assigned to optional subfields. After this expansion +// the value or matching mechanism at the right hand side of the assignment shall be assigned +// to the referenced subfield. +// +// (15.8) (value) the template shall resolve to a specific value (i.e. the fields of it shall +// resolve to a specific value or omit, but the whole template shall not resolve to omit). It +// can be used to define a mandatory field of a record or set template and the latter one could +// still be used in a send statement. + +module NegSem_1508_TemplateRestrictions_028 { + +type component GeneralComp { } + +type record R { + record + { + integer subfield1, + integer subfield2 + } field1 optional, + integer field2 +} + +testcase TC_NegSem_1508_TemplateRestrictions_028() runs on GeneralComp { + var template(value) R v_test := { field1 := omit, field2 := 2 }; + v_test.field1.subfield1 := 0; // As the result of expansion, v_test value is { field1 := { ?, ? }, field2 := ? } + // After the field assignment it changes to { field1 := { 0, omit }, field2 := ? } + // This value (subfield2 in particular) violates value restriction an shall cause an error + + // if we get here, something must be wrong as the previous assignment shall cause an error + setverdict(fail); +} + +control{ + execute(TC_NegSem_1508_TemplateRestrictions_028()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_029.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56c3ea28fad0e5cbe28678fe5729911e37ae562d --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_029.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the template(present) with anyvalue(?) can't be assigned to an omit restricted variable template + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_029 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a, + boolean b + } + + type component GeneralComp { + var template (omit) ExampleType v_omit; //omit restricted template variable + } + + + template (present) ExampleType MyintTemplate :={ //actual template with present restriction contains anytype (?) + a := ?, + b := false + } + + + testcase TC_NegSem_1508_TemplateRestrictions_029() runs on GeneralComp { + + v_omit := MyintTemplate; //error: v_omit is omit restricted, hence can not contain anytype(?) + + if (valueof(v_omit.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_029()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_030.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3a17b70adb4c2e5ac32a8acd9049c786fcc791af --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_030.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted template with anyvalue(?) can't be assigned to an omit restricted variable template + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_030 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a optional, + boolean b + } + + type component GeneralComp { + var template (omit) ExampleType v_omit; //omit restricted template variable + } + + + template ExampleType MyintTemplate :={ //actual template without restriction contains anyvalue (?) + a := ?, + b := false + } + + + testcase TC_NegSem_1508_TemplateRestrictions_030() runs on GeneralComp { + + v_omit := MyintTemplate; //error: v_omit is omit restricted, hence can not contain anyvalue(?) + + if (valueof(v_omit.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_030()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_031.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d2d981cd1cc6dde23f94a0f8176c6a35edf265e2 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_031.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) can't be assigned to a variable template(value) if omit + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_031 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a optional, + boolean b + } + + type component GeneralComp { + var template (value) ExampleType v_value; //value restricted template variable + } + + + template (omit) ExampleType MyintTemplate :=omit; //actual template (with omit restriction) is omit + + + + testcase TC_NegSem_1508_TemplateRestrictions_031() runs on GeneralComp { + + v_value := MyintTemplate; //error: v_value is value restricted, hence can not be omit + + if (valueof(v_value.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_031()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_032.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..daa5a0be626a426baea787a5f2bd5c9e554520c0 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_032.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can't be assigned to a template(value) variable if contains anyvalueornone(*) + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_032 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a optional, + boolean b + } + + type component GeneralComp { + var template (value) ExampleType v_value; //value restricted template variable + } + + + template (present) ExampleType MyintTemplate :={ //actual template (with present restriction) contains * + a := *, + b:= true + } + + + + + testcase TC_NegSem_1508_TemplateRestrictions_032() runs on GeneralComp { + + v_value := MyintTemplate; //error: v_value is value restricted, hence can not contain * + + if (valueof(v_value.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_032()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_033.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac99da8f2f8e40815d0c1728afe42728d42db118 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_033.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that an unrestricted template can't be assigned to a template(value) variable if contains anyvalueornone(*) + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_033 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a optional, + boolean b + } + + type component GeneralComp { + var template (value) ExampleType v_value; //value restricted template variable + } + + + template ExampleType MyintTemplate :={ //actual template (without restriction) contains * + a := *, + b:= true + } + + + + + testcase TC_NegSem_1508_TemplateRestrictions_033() runs on GeneralComp { + + v_value := MyintTemplate; //error: v_value is value restricted, hence can not contain * + + if (valueof(v_value.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_033()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_034.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4d6e4045af0faa0c1c3144de61118078c434b656 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_034.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template with omit restriction can't be assigned to a template(present)variable if omit + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_034 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a , + boolean b optional + } + + type component GeneralComp { + var template (present) ExampleType v_present; //value restricted template variable + } + + + template (omit) ExampleType MyintTemplate := omit; //actual template (omit) is omit + + + + + testcase TC_NegSem_1508_TemplateRestrictions_034() runs on GeneralComp { + + v_present := MyintTemplate; //error: v_present is present restricted, hence can not be omit + + if (valueof(v_present.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_034()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_035.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..259dde0cb7de8999b878543523afc7ee48ce171d --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_035.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that an unrestricted template can't be assigned to a template(present)variable if omit + ** @verdict pass reject + *****************************************************************/ + + +module NegSem_1508_TemplateRestrictions_035 { + + type record ExampleType { // Exampletype record contains a charstring and a boolean + charstring a , + boolean b optional + } + + type component GeneralComp { + var template (present) ExampleType v_present; //value restricted template variable + } + + + template ExampleType MyintTemplate := omit; //actual template is omit + + + + + testcase TC_NegSem_1508_TemplateRestrictions_035() runs on GeneralComp { + + v_present := MyintTemplate; //error: v_present is present restricted, hence can not be omit + + if (valueof(v_present.b) == false) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_035()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6dcfe2e4a595f837c27a7f67e0462ffd6c819ecc --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can't be parameter to a template(omit) if contains anyvalueornone(*) + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_036 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={ + a := MyintTemplate, // template (present) MyintTemplate contains anyvalueornone(*), which is not allowed in omit restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_036() runs on GeneralComp { + + + if (valueof(m_baseTemplate.b) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_036()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14206d2bb39509659bc02cc2600e4eeb37f1a155 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can't be parameter to template(omit) if contains anyvalue(?) + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_037 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (omit) ExampleType m_baseTemplate(template integer MyintTemplate := ?) :={ + a := MyintTemplate, // template MyintTemplate contains anyvalue(?), which is not allowed in omit restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_037() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_037()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b737387c905b2ed72479c5bd827f296c7a9161f --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) can't be parameter to template(value) if it is omit + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_038 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={ + a := MyintTemplate, // template (omit) MyintTemplate is omit, which is not allowed with value restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_038() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_038()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8394ffe5a1bed9ad0ff60519094b3af36c78f59f --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can't be parameter to template(value) if it contains anyvalueornone(*) + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_039 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := *) :={ + a := MyintTemplate, // template (present) MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_039() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_039()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..33add7f9114dc91a532e9e206bfa5a906881f0fa --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_040.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted template can't be parameter to template(value) if it contains anyvalueornone(*) + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_040 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template integer MyintTemplate := *) :={ + a := MyintTemplate, // template MyintTemplate contains anyvalueornone(*), which is not allowed with value restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_040() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_040()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c8f0212b4b246f2fff5f51d2a3b5b8391f73baf5 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_041.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template (omit) can't be parameter to template(present) if it contains omit + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_041 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (present) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := omit) :={ + a := MyintTemplate, // template (omit) MyintTemplate contains omit, which is not allowed with present restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_041() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_041()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fc035a9fbf097bbd81875660385cc852dc922cc7 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_042.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the an unrestriced template can't be parameter to template(present) if it contains omit + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_042 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (present) ExampleType m_baseTemplate(template integer MyintTemplate := omit) :={ + a := MyintTemplate, // template MyintTemplate contains omit, which is not allowed with present restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_042() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_042()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a2adddab9e7370cc00acbd018be623bfd9819ade --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_049.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can't be parameter to a template(omit) + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1508_TemplateRestrictions_049 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (omit) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 1) :={ + a := MyintTemplate, // template (present)is not allowed parameter in omit restriction + b := true + } + + testcase TC_NegSem_1508_TemplateRestrictions_049() runs on GeneralComp { + + + if (valueof(m_baseTemplate.b) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_1508_TemplateRestrictions_049()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_001.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..824cbab9030793b0c298204ca24d75b2baa6bb6b --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a value can be assigned to a template(omit) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_001 { + +type component GeneralComp { } + +testcase TC_Sem_1508_TemplateRestrictions_001() runs on GeneralComp { + var template(omit) integer v_omit; + + v_omit := 20; + + if (valueof(v_omit) == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_001()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_002.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58b4ee736ff3177cfd49050bee725ed1166498f4 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_002.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(omit) can be assigned to a template(omit) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_002 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := omit; + +testcase TC_Sem_1508_TemplateRestrictions_002() runs on GeneralComp { + var template(omit) ExampleType v_omit; + + v_omit := exampleOmit; + + if ( ispresent(v_omit) ) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_002()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_003.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e37451b8122d8beb848beecf8d790a637f257c95 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_003.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a templat(value) can be assigned to a template(omit) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_003 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValueOptional := {1, omit}; + +testcase TC_Sem_1508_TemplateRestrictions_003() runs on GeneralComp { + var template(omit) ExampleType v_omit; + + v_omit := exampleValueOptional; + + if ((valueof(v_omit.a) == 1) and + (ispresent(v_omit.b) == false ) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_003()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_004.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c976bbea8faa4af742734e3e82b116c6f027a584 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_004.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a value can be assigned to a template(value) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_004 { + +type component GeneralComp { } + +testcase TC_Sem_1508_TemplateRestrictions_004() runs on GeneralComp { + var template(value) integer v_value; + + v_value := 20; + + if (valueof(v_value) == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_004()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_005.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4a24baf07c16fa283b66d740f9607e824531917 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_005.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(value) can be assigned to a template(value) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_005 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_005() runs on GeneralComp { + var template(value) ExampleType v_value; + + v_value := exampleValue; + + if ((valueof(v_value.a) == 1) and + (valueof(v_value.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_005()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_006.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f574d232ca8f6d9fd0a1a918c8911c8e229baff --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_006.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a value can be assigned to a template(present) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_006 { + +type component GeneralComp { } + +testcase TC_Sem_1508_TemplateRestrictions_006() runs on GeneralComp { + var template(present) integer v_present; + + v_present := 20; + + if (valueof(v_present) == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_006()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce43c5148133c720ffc0e176a22a84b4ec17c69b --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(omit) can be assigned to a template(present) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_007 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := {1, omit}; + +testcase TC_Sem_1508_TemplateRestrictions_007() runs on GeneralComp { + var template(present) ExampleType v_present; + + v_present := exampleOmit; + + if ((valueof(v_present.a) == 1) and + (ispresent(v_present.b) == false) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_007()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_008.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc857ddc8a1c01e2a9d513396e0a61a2d1b58228 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_008.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(value) can be assigned to a template(present) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_008 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_008() runs on GeneralComp { + var template(present) ExampleType v_present; + + v_present := exampleValue; + + if ((valueof(v_present.a) == 1) and + (valueof(v_present.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_008()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_009.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44a90353ef41d683d3ed416abf550a2382682281 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_009.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(present) can be assigned to a template(present) variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_009 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_009() runs on GeneralComp { + var template(present) ExampleType v_present; + + v_present := examplePresent; + + if ((valueof(v_present.a) == 1) and + (valueof(v_present.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_009()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_010.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4a47a8088716a801ebbd0a6a1001d8ecb8270eae --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_010.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a value can be assigned to a template variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_010 { + +type component GeneralComp { } + +testcase TC_Sem_1508_TemplateRestrictions_010() runs on GeneralComp { + var template integer v_template; + + v_template := 20; + + if (valueof(v_template) == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_010()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_011.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..179b76d901388bdc57713c1d01950e5da7629a8b --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_011.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(omit) can be assigned to a template variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_011 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := {1, omit}; + +testcase TC_Sem_1508_TemplateRestrictions_011() runs on GeneralComp { + var template ExampleType v_template; + + v_template := exampleOmit; + + if ((valueof(v_template.a) == 1) and + (ispresent(v_template.b) == false) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_011()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_012.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..39da7db0dca75f77ebe792271ca65b3423688012 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_012.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(value) can be assigned to a template variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_012 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleValue := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_012() runs on GeneralComp { + var template ExampleType v_template; + + v_template := exampleValue; + + if ((valueof(v_template.a) == 1) and + (valueof(v_template.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_012()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_013.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7638a8fa7ef1a779e5b6d1c227caaf4d69dc298a --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_013.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(present) can be assigned to a template variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_013 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType examplePresent := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_013() runs on GeneralComp { + var template ExampleType v_template; + + v_template := examplePresent; + + if ((valueof(v_template.a) == 1) and + (valueof(v_template.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_013()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_014.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..00a985d1cd023ec346065ff85c8eca54a898b356 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_014.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template can be assigned to a template variable. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_014 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template ExampleType exampleTemplate := {1, true}; + +testcase TC_Sem_1508_TemplateRestrictions_014() runs on GeneralComp { + var template ExampleType v_template; + + v_template := exampleTemplate; + + if ((valueof(v_template.a) == 1) and + (valueof(v_template.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_014()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_015.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..81e70a66542362f37fc97b7a35728e6817358e12 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_015.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a base template can be modified without restrictions. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_015 { + +type component GeneralComp { } + +type record ExampleType { + integer a, + boolean b optional +} + +template ExampleType m_baseTemplate := { + a := 20, + b := true +} + +template ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 +} + +testcase TC_Sem_1508_TemplateRestrictions_015() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1508_TemplateRestrictions_015()); +} + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4be867bc232a1884f715877311596334b87ac7ec --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a base template can be modified with template(present) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_016 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_016() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_016()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..444445f023e7207c8538dcd01dbec22afaae5b21 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a base template can be modified with template(omit) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_017 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_017() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_017()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1cf79d2e64005f6dbbece67834f4bf8b7290bc76 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a base template can be modified with template(value) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_018 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_018() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_018()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_019.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cd9764918f0ae037fcd84ac662f474d12e9336ae --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_019.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(present) base template can be modified with template(present) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_019 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_019() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_019()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..310c1a3288115d19ddf5432e6046ae222367ab57 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(present) base template can be modified with template(value) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_020 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_020() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_020()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..543896e1046642ad1110b65e9675e1a702256f11 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(omit) base template can be modified with template(omit) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_021 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_021() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_021()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4e71146cceafdd970fb202e6019836387154d92 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(omit) base template can be modified with template(value) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_022 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_022() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_022()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c00b39e334852effdaaa7b06194ca78504b0a0ad --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that a template(value) base template can be modified with template(value) restriction. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_023 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(value) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(value) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 22 + } + + testcase TC_Sem_1508_TemplateRestrictions_023() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 22) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_023()); + } + + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e780ae72e97d55ff9ea245d1e763435967641ef --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_024.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) base templates are allowed to be modfied to template(omit). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_024 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_024() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_024()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ee3164cf18c97f427a685b9aab049765ccb35ee --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_025.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) base templates are allowed to be modfied to template(present). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_025 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_025() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_025()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ade62c3ef6159d988309e12e392dc3ffcbfcaf1 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_026.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) base templates are allowed to be modfied to template(present). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_026 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(value) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template(present) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_026() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_026()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a360bf585b1c6cd8ca30846556867beb45adad50 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_027.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) base templates are allowed to be modfied to template(omit). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_027 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(value) ExampleType m_baseTemplate := { + a := 20, + b := true + } + +// shall be rejected as template(omit) is not an allowed restriction for template(value) +// templates + template(omit) ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_027() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_027()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3d3770cd605e1642984ade65abba4d4fb0992b8 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_028.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) base templates are allowed to be modfied to template. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_028 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(value) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_028() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_028()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ad6273738a0ce2828261296fddfeb6cb20c70edc --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_029.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) base templates are allowed to be modfied to template. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_029 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(omit) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_029() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_029()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..477763e81836c5018eccd727111b31c3ce8c9431 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_030.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) base templates are allowed to be modfied to template. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +module Sem_1508_TemplateRestrictions_030 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate := { + a := 20, + b := true + } + + template ExampleType m_modifiedTemplate modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_030() runs on GeneralComp { + if ((valueof(m_modifiedTemplate.a) == 21) and + (valueof(m_modifiedTemplate.b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_030()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a5917fcd34cea9ebe6864ccb95caffc8380b8d8 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_043.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the an unrestriced template can be parameter to template(present) + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_043 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (present) ExampleType m_baseTemplate(template integer MyintTemplate := 21) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_043() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_043()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e29090351f21b17d193ac939496bcd336514601 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_044.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template (omit) can be parameter to template(present) + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_044 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (present) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := 21) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_044() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_044()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c03c2008037d393639fa738c5675fc9bbd336dad --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_045.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that unrestricted template can be parameter to template(value) + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_045 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_045() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_045()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_046.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_046.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7193f77b3de5168b0de99dd7efaf59f6d14a82c8 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_046.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can be parameter to template(value) + ** @verdict pass reject + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_046 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template (present) integer MyintTemplate := 2) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_046() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_046()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_047.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_047.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..de20d8521ce66b02726846583c898fa8d262ba0c --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_047.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) can be parameter to template(value) + ** @verdict pass reject + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_047 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (value) ExampleType m_baseTemplate(template (omit) integer MyintTemplate := 1) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_047() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_047()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_048.ttcn b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_048.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..23ff04955e38abe15867280d53438b1d9d172af6 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_048.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) can be parameter to template(omit) + ** @verdict pass reject + *****************************************************************/ + +module Sem_1508_TemplateRestrictions_048 { + + type record ExampleType { // Exampletype record integer and a boolean + integer a, + boolean b + } + + type component GeneralComp { + } + + + + template (omit) ExampleType m_baseTemplate(template integer MyintTemplate := 1) :={ + a := MyintTemplate, + b := true + } + + testcase TC_Sem_1508_TemplateRestrictions_048() runs on GeneralComp { + + + if (ispresent(m_baseTemplate.a) == true) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_048()); + } +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ff838aec2df56e1f7d99399a31fdec54923df1d3 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is accepted with value omitvalue. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1508_TemplateRestrictions_001 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := omit; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ac3f28882db959ae408a7c165d7a3a93899ad4d8 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(omit) is accepted with a concrete value. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1508_TemplateRestrictions_002 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(omit) ExampleType exampleOmit := {1, true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..355de0217cc3f0a1c409418da2a455efc27e30f4 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(value) is accepted with a concrete value. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1508_TemplateRestrictions_003 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(value) ExampleType exampleOmit := {1, true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8b00217a22b36be6e935454d8fdf36cf4e943044 --- /dev/null +++ b/ATS/15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that template(present) is accepted with a concrete value. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1508_TemplateRestrictions_004 { + +type record ExampleType { + integer a, + boolean b optional +} + +template(present) ExampleType exampleOmit := {1, true}; + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/NOTES b/ATS/15_templates/1509_match_operation/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..a3c8564f258d6868d71abe1e4a6c5c492f476a55 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/NOTES @@ -0,0 +1 @@ +- NOTE: This could be extended to cover any kinds of types and wildcards. We keep this simple. \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn b/ATS/15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..23884899363c571aa47a1ea4729f49a7dd71ec25 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation refuses two templates as actual parameters. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1509_MatchOperation_001 { + +type component GeneralComp { } + +template integer m_lessThan10 := (-infinity..9); +template integer m_second := (-20,-40); + +testcase TC_NegSem_1509_MatchOperation_001() runs on GeneralComp { + if (match(m_second, m_lessThan10)) { // shall fail as both actual parameters refer to templates + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_NegSem_1509_MatchOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b027898e361bdeaa9ea18396f48f482d6f8cc807 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works as expected on a template with range restriction when the tested value is inside the range. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_001 { + +type component GeneralComp { } + +template integer m_lessThan10 := (-infinity..9); + +testcase TC_Sem_1509_MatchOperation_001() runs on GeneralComp { + var integer v_value := -20; + + if (match(v_value, m_lessThan10)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c83109c2ab50170f5b2ad0d6b1c5df7dbb2732d0 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works as expected on a template with range restriction when the tested value is outside the range. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_002 { + +type component GeneralComp { } + +template integer m_lessThan10 := (-infinity..9); + +testcase TC_Sem_1509_MatchOperation_002() runs on GeneralComp { + var integer v_value := 20; + + if (match(v_value, m_lessThan10)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_002()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4f71b069c009d0ff14436528e6035e0859c1d6b --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on records in the positive case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_003 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + boolean field2 +} + +template MyRecord m_receiveTemplate := { + field1 := pattern "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_003() runs on GeneralComp { + var MyRecord v_value := { + field1 := "abcde", + field2 := true + } + + if (match(v_value, m_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_003()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_004.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2c0dcedbeb6525e357b9c220cae10cc40548636a --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_004.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on records in the negative case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_004 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + boolean field2 +} + +template MyRecord m_receiveTemplate := { + field1 := "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_004() runs on GeneralComp { + var MyRecord v_value := { + field1 := "abc", + field2 := true + } + + if (match(v_value, m_receiveTemplate)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_004()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_005.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..62f970a3805f3eb846861a6dd7299ff7b2832f28 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_005.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly if the types are incompatible. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_005 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + boolean field2 +} + +template MyRecord m_receiveTemplate := { + field1 := "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_005() runs on GeneralComp { + var integer v_value := 20; + + if (match(v_value, m_receiveTemplate)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_005()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_006.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..550220d0f44add92c506362b021ad90b195fceb3 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_006.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on records with optional fields in the positive case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_006 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + boolean field2 optional +} + +template MyRecord mw_receiveTemplate := { + field1 := pattern "ab*de", + field2 := * +} + +testcase TC_Sem_1509_MatchOperation_006() runs on GeneralComp { + var MyRecord v_value := { + field1 := "abcde", + field2 := omit + } + + if (match(v_value, mw_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_006()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_007.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..329478c558e47f022ae5747e002f3c024079ef9c --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_007.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on sets in the positive case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_007 { + +type component GeneralComp { } + +type set MySet { + charstring field1, + boolean field2 +} + +template MySet mw_receiveTemplate := { + field1 := pattern "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_007() runs on GeneralComp { + var MySet v_value := { + field1 := "abcde", + field2 := true + } + + if (match(v_value, mw_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_007()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_008.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..87caea78bd89e43946ff88e9ae12e795157c3def --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_008.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on sets in the negative case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_008 { + +type component GeneralComp { } + +type set MySet { + charstring field1, + boolean field2 +} + +template MySet m_receiveTemplate := { + field1 := "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_008() runs on GeneralComp { + var MySet v_value := { + field1 := "abc", + field2 := true + } + + if (match(v_value, mw_receiveTemplate)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_008()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_009.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ff4180449c0536258ef1b6eacbef0bc38b413e94 --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_009.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly if the set types are incompatible. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_009 { + +type component GeneralComp { } + +type set MySet { + charstring field1, + boolean field2 +} + +template MySet mw_receiveTemplate := { + field1 := "ab*de", + field2 := ? +} + +testcase TC_Sem_1509_MatchOperation_009() runs on GeneralComp { + var integer v_value := 20; + + if (match(v_value, mw_receiveTemplate)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_009()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_010.ttcn b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f55a6b9c31d5767679c248a7996150e8d4b1f5fa --- /dev/null +++ b/ATS/15_templates/1509_match_operation/Sem_1509_MatchOperation_010.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.9, Ensure that the match operation works correctly on sets with optional fields in the positive case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1509_MatchOperation_010 { + +type component GeneralComp { } + +type set MySet { + charstring field1, + boolean field2 optional +} + +template MySet mw_receiveTemplate := { + field1 := pattern "ab*de", + field2 := * +} + +testcase TC_Sem_1509_MatchOperation_010() runs on GeneralComp { + var MySet v_value := { + field1 := "abcde", + field2 := omit + } + + if (match(v_value, mw_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1509_MatchOperation_010()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NOTES b/ATS/15_templates/1510_valueof_operation/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..f1ddf69e38248aa5054375c978ebe03b652e450a --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NOTES @@ -0,0 +1 @@ +- NOTE: This could be extended to cover any kinds of types etc. We keep this simple. \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e0aee74b56e34b69164bee5c16718aa3df3b18d5 --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.10, Ensure that the valueof function works correctly on omit. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1510_ValueOfOperation_001 { + +type component GeneralComp { } + +testcase TC_NegSem_1510_ValueOfOperation_001() runs on GeneralComp { + var template integer m_int := omit; + var integer v_int := valueof(m_int); + + // if we get here, something must be wrong as valueof on m_int shall cause an error + // due to the omit. + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bf1d7de1a83774b794b41525dd0e7d9e0704cc8d --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.10, Ensure that the valueof function works correctly on templates with wildcards. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1510_ValueOfOperation_002 { + +type component GeneralComp { } + +type record ExampleType { + integer field1, + boolean field2 +} + +template ExampleType m_template := { + field1 := *, + field2 := ? +} + +testcase TC_NegSem_1510_ValueOfOperation_002() runs on GeneralComp { + var ExampleType v_int := valueof(m_template); + + // if we get here, something must be wrong as valueof on m_template shall cause an error + // due to the * and ? wildcards. + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_002()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a2665b2974ed49c163d8c7095481e0330d1dadc6 --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.10, Ensure that the valueof function works correctly on regular value templates. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1510_ValueOfOperation_003 { + +type component GeneralComp { } + +type record ExampleType { + integer field1, + boolean field2 +} + +testcase TC_NegSem_1510_ValueOfOperation_003() runs on GeneralComp { + var template ExampleType f_first := { + field1 := (1, 2), + field2 := true + }; + + var ExampleType v_second := valueof(f_first); + + // if we get here, something must be wrong as valueof on m_template shall cause an error + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_003()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_004.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1699d3be9134e047322fb8ef47d679b699f2ebcf --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_004.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.10, Ensure that the valueof function works correctly on range templates. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1510_ValueOfOperation_004 { + +type component GeneralComp { } + +testcase TC_NegSem_1510_ValueOfOperation_004() runs on GeneralComp { + var template integer v_test := (1..5); + + var integer v_second := valueof(v_test); + + // if we get here, something must be wrong as valueof on v_test shall cause an error + // as it is not a template. + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_004()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_005.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..71a1b8aed01325e1da0a09460a1f3083214b7f61 --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_005.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.10, check that runtime error occurs if valueof is applied to uninitialized template + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The template shall be completely initialized and resolve to a specific value. + +module NegSem_1510_ValueOfOperation_005 { + +type component GeneralComp { } + +testcase TC_NegSem_1510_ValueOfOperation_005() runs on GeneralComp { + var template integer v_test; + + var integer v_second := valueof(v_test); + + // if we get here, something must be wrong as valueof on v_test shall cause an error + // as it is not a template. + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_005()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_006.ttcn b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e5d552c5ebcfa948846e9f25961cec97e40733e8 --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_006.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.10, check that runtime error occurs if valueof is applied to partially initialized template + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The template shall be completely initialized and resolve to a specific value. + +module NegSem_1510_ValueOfOperation_006 { + +type component GeneralComp { } + +type record R { + integer field1, + integer field2 +} + +testcase TC_NegSem_1510_ValueOfOperation_006() runs on GeneralComp { + var template R v_test; + var R v_result; + v_test.field1 := 1; // field2 is left uninitialized + v_result := valueof(v_test); + + // if we get here, something must be wrong as valueof on v_test shall cause an error + // as it is not a template. + setverdict(fail); +} + +control{ + execute(TC_NegSem_1510_ValueOfOperation_006()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1510_valueof_operation/Sem_1510_ValueOfOperation_001.ttcn b/ATS/15_templates/1510_valueof_operation/Sem_1510_ValueOfOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f07fcf8012abb7a2b8d03cb3c11b5aa69de6186b --- /dev/null +++ b/ATS/15_templates/1510_valueof_operation/Sem_1510_ValueOfOperation_001.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15.10, Ensure that the valueof operation works as expected for fully initialized templates. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1510_ValueOfOperation_001 { + +type component GeneralComp { } + +type record ExampleType { + integer field1, + boolean field2 +} + +template ExampleType m_template := { + field1 := 1, + field2 := true +} + +testcase TC_Sem_1510_ValueOfOperation_001() runs on GeneralComp { + var ExampleType v_value := valueof(m_template); + + if ((v_value.field1 == 1) and + (v_value.field2 == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1510_ValueOfOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..067e60fb4ac054542bbc025fc9b397f8e654adba --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types yields an even number of digits. + ** @verdict pass reject + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 { + +type component GeneralComp { } + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001() runs on GeneralComp { + var template octetstring v_str := 'ABCD'O & '?'O & '?E'O; + + // shall cause an error as it would denote 9 (i.e., uneven) number of digits + setverdict(fail); +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6bb80eabf9553791197aec4373a82de8b9d1dc1e --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of strings types yields an error if specified ranges are not fixed length. + ** @verdict pass reject + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 { + +type component GeneralComp { } + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002() runs on GeneralComp { + var template octetstring v_str := 'ABCD'O & * length(1..2) & pattern 'EE?FF'; + + // shall cause an error as the length attribute should be of fixed length + setverdict(fail); +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0044636f66f7dc53456307086555dcd5b7a38ec --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that a simple concatenation of non-wildcard octetstring must not yield in a non-even number of hexadecimals. + ** @verdict pass reject + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 { + +type component GeneralComp { } + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003() runs on GeneralComp { + var template octetstring v_str := 'AB'O & '0F'O & '2A'O & 'F'O; + + // shall cause an error as the length of the concantenated octetstring is is uneven + setverdict(fail); +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7873088419d567740e04e6ec721f5e7a3c408413 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that the inline template definitions are correctly concatenated. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + charstring field2 +} + +template MyRecord m_receiveTemplate := { + field1 := pattern "AB*DE", + field2 := "ABCC" & * & "EF" //only specific values allowed when there is no pattern keyword +} + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004() runs on GeneralComp { + var MyRecord v_value := { + field1 := "AB*DE", + field2 := "ABCCDE*EF" + } + + if (match(v_value, m_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..62cc70403ad71fc2af651ce0e8d769e5a2283f5f --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that the inline template definitions are correctly concatenated. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + charstring field2 +} + +template MyRecord m_receiveTemplate := { + field1 := pattern "AB*DE", + field2 := pattern "ABCC" & * length(2) & "EF" //cannot use length(n) attribute on charstring pattern +} + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005() runs on GeneralComp { + var MyRecord v_value := { + field1 := "AB*DE", + field2 := "ABCCDE*EF" + } + + if (match(v_value, m_receiveTemplate)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f825232161e1722661552f24556814822a62814 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types and ? patterns works as expected. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 { + +type component GeneralComp { } + +testcase TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006() runs on GeneralComp { + var template octetstring v_myString1 := 'ABCD'O & ? length(2) length (6); //missing parenthesis + if (match('ABCD12'O, v_myString1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006()); +} + +} diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d8346e703b3f8bccba7bce98bf19677141911e31 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of charstring types works as expected (variant 1). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001() runs on GeneralComp { + var template charstring v_myChar1 := pattern "ABC" & "D" & "*" & "E?F"; + if (match("ABCD2E1F", v_myChar1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..74d39f0004abd7d1600d8991eee4a399a7617085 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types works as expected (variant 2). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002() runs on GeneralComp { + var template octetstring v_myString1 := 'ABCC'O & * length(1) & 'EF'O; + if (match('ABCC22EF'O,v_myString1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce97f66dfb110d2ad63efff5b7ca5abc1d5e89d8 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of bitstring types works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003() runs on GeneralComp { + var template bitstring v_myBitStr := '010'B & '*'B & '1?1'B; + + if (match('010010101101'B, v_myBitStr)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3abf3259838f36adc79c890e08bcd47cdf10a9ce --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types works as expected (variant 1). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004() runs on GeneralComp { + var template octetstring v_str := 'ABCD'O & 'AB*'O & 'EF'O; + + if (match('ABCDABEF'O, v_str)) { //matching not present values + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17de02df59296172a1b547597e30ca2d9af3af0f --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types works as expected (variant 2). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005() runs on GeneralComp { + var template octetstring v_template := 'ABCD'O & '??'O & 'EF'O; + + if (match('ABCDAABBEF'O, v_template)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b70c7df51c1047193eb3cdb699bb13a7109f5157 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that a concatenation of charstrings with a fixed length AnyValueOrNone be matched. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006() runs on GeneralComp { + var template charstring m_str := pattern "ABC?#3" & "E?F"; //equivalent to ABC???E?F pattern + + if (match("ABCXYZE2F", m_str)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2b921c7f9b6392913a1b23867197e37839327040 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.2 + ** @purpose 1:15.11, Ensure that concatenations of record of charstrings are accepted. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 { + +type component GeneralComp { } + +type record of charstring RecOfChar; + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007() runs on GeneralComp { + var template RecOfChar m_concatenation := {"ABC"} & {pattern "D*", pattern "E?" & "F"}; + + var RecOfChar m_reference := {"ABC","D213","E2F"}; // some value that matches + + if (match(m_reference,m_concatenation)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f3427bf8853c9351482863e1c455f81b0307a424 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenations of record of charstrings work when parameterized. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 { + +type component GeneralComp { } + +type record of charstring RecOfChar; + +template RecOfChar m_concatenation := {"ABC"} & * length(3) & {pattern "E" & "?" & "F"}; + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008() runs on GeneralComp { + var RecOfChar m_reference := {"ABC","A","B","C","E2F"}; // some value that matches + + if (match(m_reference, m_concatenation)) { + setverdict(pass); + } else { + setverdict(fail); + } + +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..05bdade8ae8f04cf3bcda06681bf4acd6e666aed --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenations of set of integers are accepted. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 { + +type component GeneralComp { } + +type set of integer SetOfInt; + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009() runs on GeneralComp { + var template SetOfInt m_concatenation := {1, 2} & * length(2) & {3, 4}; + + var SetOfInt m_reference := {1,2, 20, 21, 3, 4}; + if (match(m_reference,m_concatenation)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2ad68a004952ef1f4aee48212694ab9147980609 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that the inline template definitions are correctly concatenated. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010 { + +type component GeneralComp { } + +type record MyRecord { + charstring field1, + charstring field2 +} + +template MyRecord m_receiveTemplate := { + field1 := pattern "ab*de", + field2 := "ABC" & "DE*" & "F?" //concatenation of literal characters +} + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010() runs on GeneralComp { + var MyRecord v_value := { + field1 := "ab*de", + field2 := "ABCDE1F1" + } + + if (match(v_value, m_receiveTemplate)) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010()); +} + +} \ No newline at end of file diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e0b0fe89454e8266fe446a2c23c79b3f97fbd94 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types works as expected (matching patterns in quotation). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Note: see CR5805 regarding corresponding BNF update + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011() runs on GeneralComp { + var template octetstring v_myString1 := 'ABCC'O & 'DD*'O & 'EE?FF'O; + if (match('ABCCDD22EE11FF'O, v_myString1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011()); +} + +} diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..34ac0ff843fed09c0c1bee2b292d930ef9242ae1 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 451 and 470 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types and ? patterns works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012() runs on GeneralComp { + var template octetstring v_myString1 := 'AB'O & 'CD'O & ? & ? length(1) & 'EF'O; //results in 'ABCD*?EF'O + if (match('ABCD2233EF'O, v_myString1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012()); +} + +} diff --git a/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013.ttcn b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ddbbbb7779ee4843781c045d37453fe662e81c30 --- /dev/null +++ b/ATS/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenation of octetstring types and ? patterns works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013 { + +type component GeneralComp { } + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013() runs on GeneralComp { + var template octetstring v_myString1 := ('ABCD'O & ? length(2)) length (1..6); + // results in 'ABCD??'O matching an octet string of length 4 (8 hex digits) + if (match('ABCD1234'O, v_myString1)) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013()); +} + +} diff --git a/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_001.ttcn b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4564f9f64a973677be9d112db11782f4d43c9a1 --- /dev/null +++ b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_001.ttcn @@ -0,0 +1,23 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15, Ensure that a template formed from a union is rejected when the union somehow contains a default type field. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_15_TopLevel_001 { + +type record MyRecord { + default def +} + +type union MyUnion { + integer choice1, + MyRecord choice2 +} + +template MyUnion m_integerChosen := { + choice1 := 5 +} + +} \ No newline at end of file diff --git a/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_002.ttcn b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..008dc608cfe5e3076992bb9e9e72bef4b333426d --- /dev/null +++ b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_002.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15, Ensure that a template formed from a union is rejected when the union somehow contains a port type field. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_15_TopLevel_002 { + +type port MyPort message {inout integer}; + +type record MyRecord { + MyPort myPort1 +} + +type union MyUnion { + integer choice1, + MyRecord choice2 +} + +template MyUnion m_integerChosen := { + choice1 := 5 +} + +} \ No newline at end of file diff --git a/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_003.ttcn b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..465e1dc49eab989ed12286ddbb3764c02ef4d6a5 --- /dev/null +++ b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_003.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15, Ensure that a template shall not be of default type. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_15_TopLevel_003 { + +type record MyRecord { + default def +} + +template MyRecord mw_myRecord := { + def := ? +} + +} \ No newline at end of file diff --git a/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_004.ttcn b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..769baaeb7cff84a216fb6a5f6db15c73d7721281 --- /dev/null +++ b/ATS/15_templates/15_toplevel/NegSem_15_TopLevel_004.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15, Ensure that a template shall not be of port type. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_15_TopLevel_004 { + +type port MyPort message {inout integer}; + +type record MyRecord { + MyPort myPort1 +} + +template MyRecord mw_myRecord := { + myPort1 := ? +} + +} \ No newline at end of file diff --git a/ATS/15_templates/15_toplevel/Syn_15_TopLevel_001.ttcn b/ATS/15_templates/15_toplevel/Syn_15_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e56fa15155182172c79d8664a5ba00e57c2ee245 --- /dev/null +++ b/ATS/15_templates/15_toplevel/Syn_15_TopLevel_001.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:15, Ensure that a simple template with a single charstring field is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_15_TopLevel_001 { + +type record MyRecord { + charstring field1 +} + +template MyRecord m_myTemplate := { + field1 := "Hello World!" +} + +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160101_invoking_functions/Sem_160101_invoking_functions_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160101_invoking_functions/Sem_160101_invoking_functions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c67cf85c7a385dee9d26b187e95f2eaf7d08a9db --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160101_invoking_functions/Sem_160101_invoking_functions_001.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.1, Ensure that the IUT correctly handles function invocations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160101_invoking_functions_001 { + + +type component GeneralComp { + var integer v_gc:=0; +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + v_gc:=v_gc+p_integer; + return v_gc; +} + +testcase TC_Sem_160101_invoking_functions_001 () runs on GeneralComp { + var integer v_result:=0; + + f_test(); + f_test(1); + v_result:=f_test(1); + if( (v_result==2) and (f_test()==2) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_Sem_160101_invoking_functions_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NOTES b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..6572530d389bba3543a7f17ee4e9524ba5a3b9c6 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NOTES @@ -0,0 +1 @@ +- NOTE: The proper functioning of encvalue and decvalue functions cannot be tested. \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2cfb268c2c52182a9b9ff5443cbbb00021f246c7 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_001.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_001 { + + type component GeneralComp { + } + + testcase TC_NegSem_160102_predefined_functions_001 () runs on GeneralComp { + var charstring v_i; + + v_i:=int2char(128); + } + + control{ + execute(TC_NegSem_160102_predefined_functions_001()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..acd54e57ee09881ce2338f3e049fc971a7948727 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_002.ttcn @@ -0,0 +1,21 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_002 { + + type component GeneralComp { + } + + testcase TC_NegSem_160102_predefined_functions_002 () runs on GeneralComp { + var charstring v_i; + + v_i:=int2char(-1); + } + + control { + execute(TC_NegSem_160102_predefined_functions_002()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e95b8e4ff6b364f695ede7437dd38701ded46a9 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_003.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_003 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_003 () runs on GeneralComp { + var universal charstring v_i; + + v_i:=int2char(2147483648); + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_003()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_004.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2763b7bc2dc3f0ce849b00f91c1feed13fd28a9b --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_004.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_004 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_004 () runs on GeneralComp { + var hexstring v_i; + + v_i:=int2hex(256,2); //mismatch of string length + setverdict(pass); +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_004()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_005.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f39fca0f49292850015c2de4bb4d48f20a430593 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_005.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_005 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_005 () runs on GeneralComp { + var integer v_i; + + v_i:=char2int("blabla"); //mismatch of string length + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_005()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_006.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6475e6a0f361727a993722b32e9d4e53ebca51e6 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_006.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_006 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_006 () runs on GeneralComp { + var integer v_i; + + v_i:=lengthof('1*F'H); //undetermined string length + setverdict(pass); +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_006()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_007.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5ec55a9a1fcb25f74c92c763a032bbf85d7b07c7 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_007.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_007 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_007 () runs on GeneralComp { + var integer v_i; + + v_i:=lengthof('1'B length(3)); //undetermined string length + setverdict(pass); +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_007()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_008.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fbe14ad8cdbfb85a84af72ce26eb3799c2352439 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_008.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_008 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_008 () runs on GeneralComp { + var integer v_i; + + v_i:=lengthof('1*0'B length(3..6)); //undetermined string length + setverdict(pass); +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_008()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_009.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..92d293f4d6f1162ad5ba841e6e8f74073e0285b8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_009.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_009 { + type enumerated MyEnumeratedType {e_black, e_white}; + + type record MyRecord { + boolean field1, + record of integer field2, + integer field3, + MyEnumeratedType field4 optional + } + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_009 () runs on GeneralComp { + template MyRecord template1 := { true, { permutation(2, 3) }, * } + var integer v_i; + + v_i:=sizeof(template1); //undetermined record length + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_009()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_010.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9cc0d797443e5f3fcc9b0a6c3513b17e2ea38272 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_010.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_010 { + type record of integer IntegerList; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_010 () runs on GeneralComp { + template IntegerList template1 := { 1, 2, 3, * } length(1..2) ; //incorrect template length + var integer v_i; + + v_i:=lengthof(template1); + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_010()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_017.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..021ac578fb66e167b8eb654722f149b1758cd09b --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_017.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_017 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_017 () runs on GeneralComp { + var charstring v_example:="example text string"; + var charstring v_i; + + v_i:=regexp(v_example,charstring:"?+(text)?+",1); //wrong group index + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_017()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_018.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a3fa743905bbb641d046beea242e7205b5cd9edc --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_018.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_018 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_018 () runs on GeneralComp { + var charstring v_example:="example text string"; + var charstring v_i; + + v_i:=regexp(v_example,charstring:"?+(text)?+",-1); //wrong group index + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_018()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_019.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b3e118c3fca8ae883cf68fcb3c22810478aeb612 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_019.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_019 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_019 () runs on GeneralComp { + var charstring v_example:="example text string"; + var charstring v_i; + + v_i:=regexp(v_example,charstring:"?+(text)?+"); //missing group index + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_019()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_021.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6d7dc9a5c199026af2fbe52f9fd88612457e9a3f --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_021.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_021 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_021 () runs on GeneralComp { + var charstring v_i; + + v_i:=substr('00100110'B,-3,4); //wrong index value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_021()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_022.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2d25f22337de7345d4737cd571204962eed0b74a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_022.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_022 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_022 () runs on GeneralComp { + var charstring v_i; + + v_i:=substr('00100110'B,3,-4); //wrong length value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_022()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_023.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0466d0174c4987a931c528806bdb3e80bb19ec26 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_023.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_023 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_023 () runs on GeneralComp { + var charstring v_i; + + v_i:=substr('00100110'B,3,14); //too large length value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_023()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_024.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c26f087f01524e5f7b74ae71734a16fa6d550634 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_024.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_024 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_024 () runs on GeneralComp { + var bitstring v_i; + + v_i:=replace('00000110'B,-1,3,'111'B); //wrong index value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_024()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_025.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..caa1f360c93d5c0695e4e1c0eb801ea6955b1257 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_025.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_025 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_025 () runs on GeneralComp { + var bitstring v_i; + + v_i:=replace('00000110'B,1,-3,'111'B); //wrong length value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_025()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_026.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f2eff0107a9e52c81c6d7edf8fe8eb4c5cdaad5 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_026.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_026 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_026 () runs on GeneralComp { + var bitstring v_i; + + v_i:=replace('00000110'B,1,13,'111'B); //too large length value + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_026()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_027.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d9f9a78a96138b9fcb8c35c2620026d3b87be941 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_027.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_027 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_027 () runs on GeneralComp { + var bitstring v_i; + + v_i:=replace('00000110'B,1,4,'8'H); //incompatible replacement type + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_027()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_028.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7dc43c3f76f4209aa714fa0ddc98132a135e5eb8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_028.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_028 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + type enumerated Fruits {e_apple, e_peach, e_cherry}; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_028 () runs on GeneralComp { + + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_black := e_black; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_white; + var EnumeratedTypeWithLabels2 vl_enum2_black := e_black; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_black := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_yellow; + + + if( enum2int(e_black)==0 //ambiguous label + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_028()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56f1bb6ca6f747e59543648f298c2158a3e72e59 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_029.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_029 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + type enumerated Fruits {e_apple, e_peach, e_cherry}; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_029 () runs on GeneralComp { + + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_black := e_black; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_white; + var EnumeratedTypeWithLabels2 vl_enum2_black := e_black; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_black := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_yellow; + + + if( enum2int(EnumeratedTypeWithLabels1.e_black)==0 //not allowed selection + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_029()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_030.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..142519bcf92db948c0da87c902132daffb3b6957 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_030.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_030 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + type enumerated Fruits {e_apple, e_peach, e_cherry}; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_030 () runs on GeneralComp { + + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_black := e_black; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_white; + var EnumeratedTypeWithLabels2 vl_enum2_black := e_black; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_black := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_yellow; + const EnumeratedTypeWithLabels1 c_enum1_black := e_black; + + + if( int2enum(4,vl_enum1_black)==c_enum1_black //not existing label + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_030()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_031.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..822943d324b3d300a9857960028f92272f9d7fa3 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_031.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass reject + ***************************************************/ +module NegSem_160102_predefined_functions_031 { + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_031 () runs on GeneralComp { + var float v_random1; + + v_random1:=rnd(infinity); //cannot have infinity as a seed + if( (rnd(infinity)==v_random1) and (rnd(1.0)!=v_random1) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_NegSem_160102_predefined_functions_031()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_032.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e2c2a3583fdbf8a4cb6a43769d2049b893be11b5 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_032.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that an error is generated when the parameter of the encvalue function contains a matching symbol + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// (C.5.1) When the actual parameter that is passed to inpar is a template, it shall resolve to +// a specific value (the same restrictions apply as for the argument of the send statement). + +module NegSem_160102_predefined_functions_032 { + +type integer I with { variant "32 bit"}; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_032 () runs on GeneralComp { + template I v_test := ?; + var bitstring v_res := encvalue(v_test); + setverdict(fail, "The previous encvalue call should have caused an error"); +} + +control{ + + execute(TC_NegSem_160102_predefined_functions_032()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_033.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1ecc699260dc2a2c45e0c6b4685e9fa239e75bc7 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_033.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that an error is detected when the parameter of the encvalue function contains an unitialized value + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// 16.1.2, restriction a.3: all actual in and inout parameters shall be initialized + +module NegSem_160102_predefined_functions_033 { + +type integer I with { variant "32 bit"}; + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_033 () runs on GeneralComp { + var template I v_test; + var bitstring v_res := encvalue(v_test); + setverdict(fail, "The previous encvalue call should have caused an error"); +} + +control{ + + execute(TC_NegSem_160102_predefined_functions_033()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_034.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af0e2cf79dea07d6ea5d5d702ed2d79fbc074ea8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_034.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that an error is detected when the parameter of the encvalue function contains a partially initialized value + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// 16.1.2, restriction a.3: all actual in and inout parameters shall be initialized + +module NegSem_160102_predefined_functions_034 { + +type record R +{ + integer field1, + integer field2 +} + +type component GeneralComp { +} + + +testcase TC_NegSem_160102_predefined_functions_034 () runs on GeneralComp { + template R v_test := { field1 := 1, field2 := - } + var bitstring v_res := encvalue(v_test); + setverdict(fail, "The previous encvalue call should have caused an error"); +} + +control{ + + execute(TC_NegSem_160102_predefined_functions_034()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_035.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..48985d4587eed2b705cb2acc763ace12e33b1c8d --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_035.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that an error is detected when the first parameter of the decvalue function contains an uninitialized value + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// 16.1.2, restriction a.3: all actual in and inout parameters shall be initialized + +module NegSem_160102_predefined_functions_035 { +type integer I with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_NegSem_160102_predefined_functions_035 () runs on GeneralComp { + var bitstring v_test; + var I v_decoded; + var integer v_res := decvalue(v_test, v_decoded); + setverdict(fail, "The previous decvalue call should have caused an error"); + } + + control{ + execute(TC_NegSem_160102_predefined_functions_035()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a187feacabf774626f8ce7cfd974e4bcc3969fcf --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn @@ -0,0 +1,69 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_001 { + type enumerated EnumeratedType {e_black, e_white}; + + type component GeneralComp { + } + + /** + * @desc Equals method for floats + * @return true if abs(f1 - f2) < 1.E-6 + */ + function f_isFloatNear(in float f1, in float f2) return boolean { + var float delta := f1-f2; + if (delta < 0.0) { + delta := 0.0 - delta; + } + return delta < 1E-6; + } + + testcase TC_Sem_160102_predefined_functions_001 () runs on GeneralComp { + const universal charstring c_i:="i"; + var integer v_result:=0; + var EnumeratedType v_enum:=e_white; + + if( (int2char(105)=="i") and + (int2unichar(105)==c_i) and + (int2bit(5,4)=='0101'B) and + (int2hex(55,4)=='0037'H) and + (int2oct(55,2)=='0037'O) and + (int2str(55)=="55") and + (f_isFloatNear(int2float(5),5.0)) and + (float2int(5.0)==5) and + (char2int("i")==105) and + (char2oct("i")=='69'O) and + (unichar2int(c_i)==105) and + (bit2int('101'B)==5) and + (bit2hex('110111'B)=='37'H) and + (bit2oct('110111'B)=='37'O) and + (bit2str('110111'B)=="110111") and + (hex2int('37'H)==55) and + (hex2bit('37'H)=='00110111'B) and + (hex2oct('37'H)=='37'O) and + (hex2str('37'H)=="37") and + (oct2int('37'O)==55) and + (oct2bit('37'O)=='00110111'B) and + (oct2hex('37'O)=='37'H) and + (oct2str('37'O)=="37") and + (oct2char('69'O)=="i") and + (str2int("55")==55) and + (str2oct("55")=='55'O) and + (f_isFloatNear(str2float("5.5"),5.5)) and + (enum2int(v_enum)==1) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_001()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..99c554d1e5959b62cfe0af8f80cc50c3700e8646 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_160102_predefined_functions_002 { + type record of integer IntegerList; + + type record MyRecord { + boolean field1, + record of integer field2, + integer field3 optional + } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_002 () runs on GeneralComp { + template MyRecord template1 := { + field1 := true, + field2 := { permutation(2, 3), ? }, + field3 := omit + } + template MyRecord template2 := { + field1 := true, + field2 := {permutation(2, 3)}, + field3 := omit + } + template IntegerList template3 := { 1, 2, 3, * } length(1..3) ; + + if (not (lengthof(charstring:"test") == 4)) { + setverdict(fail); + } + if (not (lengthof(universal charstring:"test") == 4)) { + setverdict(fail); + } + if (not (lengthof(bitstring:'010'B) == 3)) { + setverdict(fail); + } + if (not (lengthof(hexstring:'55'H) == 2)) { + setverdict(fail); + } + if (not (lengthof(octetstring:'55'O) == 1)) { + setverdict(fail); + } + if (not (lengthof(charstring:pattern "t??t") == 4)) { + setverdict(fail); + } + if (not (lengthof(bitstring:'1??1'B) == 4)) { + setverdict(fail); + } + if (not (lengthof(hexstring:'1*1'H length(8)) == 8)) { + setverdict(fail); + } + if (not (lengthof(octetstring:'00?FF'O length(3)) == 3)) { + setverdict(fail); + } + if (not (lengthof(octetstring:'AB?'O) == 2)) { + setverdict(fail); + } + if (not (lengthof(template1.field2) == 3)) { + setverdict(fail); + } + if (not (sizeof(template2) == 2)) { + setverdict(fail); + } + if (not (lengthof(template3) == 3)) { + setverdict(fail); + } + setverdict(pass); + } + + control { + execute(TC_Sem_160102_predefined_functions_002()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..71d7a9e4c457093189bb8043a741c5ff5df6d140 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_160102_predefined_functions_003 { + type enumerated MyEnumeratedType {e_black, e_white, e_green}; + + type record MyRecord { + record { + boolean innerField1 optional, + integer innerField2 optional + } field1 optional, + integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type union U { integer f1, octetstring f2 } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_003 () runs on GeneralComp { + var MyRecord v_record1 := { + field1 := {innerField1 := omit, innerField2 := omit}, + field2 := 2, + field3 := 3, + field4 := omit + }; + var U v_U1 := {f1 := 1}; + template MyRecord template1 := { + field1 := {?, *}, + field2 := 2, + field3 := 3, + field4 := (e_black, e_white) ifpresent + } + template U template2 := {f2 := ?} + + if( (ispresent(v_record1.field1)==true) and + (ispresent(v_record1.field4)==false) and + (ispresent(v_record1.field2)==true) and + (ispresent(template1.field1.innerField1)==true) and + (ischosen(v_U1.f1)==true) and + (ischosen(v_U1.f2)==false) and + (ischosen(template2.f2)==true) and + (ischosen(template2.f1)==false) and + (isvalue(template1.field2)==true) and + (isvalue(template2.f2)==false) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_003()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_004.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..544a7b8beb38545cfcc8a66e955d26e8ab930391 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_004.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_004 { + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_004 () runs on GeneralComp { + var charstring v_example:="example text string"; + + if( (regexp(v_example,charstring:"?+(text)?+",0)=="text") and //inline templates in this function are allowed by BNF 165. + (regexp(v_example,charstring:"(?+)(text)(?+)",2)==" string") and + (regexp(v_example,charstring:"((?+)(text)(?+))",0)=="example text string") and + (substr('00100110'B,3,4)=='0011'B) and + (substr('ABCDEF'H,2,3)=='CDE'H) and + (substr('01AB23CD'O,1,2)=='AB23'O) and + (replace('00000110'B,1,3,'111'B)=='01110110'B) and + (replace('ABCDEF'H,0,2,'123'H)=='123CDEF'H) and + (replace('01AB23CD'O,2,1,'FF96'O)=='01ABFF96CD'O) and + (replace(v_example,0,7,"my")=="my text string") + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_004()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_005.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26fdac3f34406179efd7b193451b7d6684e8ee1b --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_005.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_005 { + type enumerated MyEnumeratedType {e_black, e_white, e_green}; + + type record MyRecord { + record { + boolean innerField1 optional, + integer innerField2 optional + } field1 optional, + integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_005 () runs on GeneralComp { + var MyRecord v_record1 := { + field1 := {}, + field2 := 2, + field3 := 3, + field4 := omit + }; + var bitstring v_encoded; + var MyRecord v_decoded; + + v_encoded:=encvalue(v_record1); + if( (decvalue(v_encoded,v_decoded)==0) and + match(v_record1,v_decoded) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } with { + optional "implicit omit"; + } + + control{ + execute(TC_Sem_160102_predefined_functions_005()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_006.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b92f866c4dce55b124d3f912bf6f7d955469c2ad --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_006.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_006 { + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_006 () runs on GeneralComp { + var float v_random1; + + v_random1:=rnd(0.0); + if( (rnd(0.0)==v_random1) and (rnd(1.0)!=v_random1) ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_006()); + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_007.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..996b51d6d461bcd953171bfeae7626fe181984b8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_007.ttcn @@ -0,0 +1,82 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_160102_predefined_functions_007 { + type enumerated MyEnumeratedType {e_black, e_white}; + type record of integer IntegerList; + + type record MyRecord { + boolean field1, + record of integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_007 () runs on GeneralComp { + template MyRecord template1 := { + field1 := true, + field2 := { permutation(2, 3), ? }, + field3 := 5, + field4 := omit + } + template MyRecord template2 := { + field1 := true, + field2 := {permutation(2, 3)}, + field3 := 6, + field4 := omit + } + template IntegerList template3 := { 1, 2, 3, * } length(1..3) ; + + if(lengthof(charstring : "test")!=4) { + setverdict(fail, "lengthof(charstring : ""test"")"); + } + if (lengthof(universal charstring : "test")!=4) { + setverdict(fail, "lengthof(universal charstring : ""test"")"); + } + if (lengthof('010'B)!=3) { // STF409: value definitions are interpreted as templates here + setverdict(fail, "lengthof('010'B)"); + } + if (lengthof('55'H)!=2) { // STF409: value definitions are interpreted as templates here + setverdict(fail, "lengthof('55'H)"); + } + if (lengthof('55'O)!=1) { // STF409: value definitions are interpreted as templates here + setverdict(fail, "lengthof('55'O)"); + } + if (lengthof(charstring : pattern "t??t")!=4) { + setverdict(fail, "lengthof(charstring : pattern ""t??t"")"); + } + if (lengthof(bitstring : '1??1'B)!=4) { + setverdict(fail, "lengthof(bitstring : '1??1'B)"); + } + if (lengthof(hexstring : '1*1'H length(8))!=8) { + setverdict(fail, "lengthof(hexstring : '1*1'H length(8))"); + } + if (lengthof(octetstring : '00?FF'O length(3))!=3) { + setverdict(fail, "lengthof(octetstring : '00?FF'O length(3))"); + } + if (lengthof(octetstring : 'AB?'O)!=2) { + setverdict(fail, "lengthof(octetstring : 'AB?'O)"); + } + if (sizeof(template1.field2)!=3) { + setverdict(fail, "sizeof(", template1.field2, ")"); + } + if (sizeof(template2.field2)!=2) { + setverdict(fail, "sizeof(", template2.field2, ")"); + } + if (lengthof(template3)!=3) { + setverdict(fail, "lengthof(", template3, ")"); + } + setverdict(pass); + } + + control{ + execute(TC_Sem_160102_predefined_functions_007()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_008.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..de27e24ff794fe82e9e89bcee4c84d62b4bc6d6a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_008.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_008 { + type enumerated MyEnumeratedType {e_black, e_white, e_green}; + + type record MyRecord { + record { + boolean innerField1 optional, + integer innerField2 optional + } field1 optional, + integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_008 () runs on GeneralComp { + template MyRecord template1 := { + field1 := {?, *}, + field2 := 2, + field3 := 3, + field4 := (e_black, e_white) ifpresent + } + + if (ispresent(template1.field1.innerField2)) { // not present + setverdict(fail); + } else { + setverdict(pass); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_008()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_009.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..abaaa121ecbadf5efa1f0d6f06b275a632e2c253 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_009.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_009 { + type enumerated MyEnumeratedType {e_black, e_white, e_green}; + + type record MyRecord { + record { + boolean innerField1 optional, + integer innerField2 optional + } field1 optional, + integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_009 () runs on GeneralComp { + template MyRecord template1 := { + field1 := {?, *}, + field2 := 2, + field3 := 3, + field4 := (e_black, e_white) ifpresent + } + + if (ispresent(template1.field4)) { // not present + setverdict(fail); + } else { + setverdict(pass); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_009()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_010.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55b8ecd58cb9e891347232bf901345009eadb0b0 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_010.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// test enum2int predefined function with labels + +module Sem_160102_predefined_functions_010 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_010 () runs on GeneralComp { + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_black := e_black; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_white; + + if( (enum2int(vl_enum_black)==0) and + (enum2int(vl_enum_white)==1) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 0"); + } + + if( (enum2int(vl_enum1_black)==1) and + (enum2int(vl_enum1_white)==0) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 1"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_010()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_011.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03c8970932a5df8b64fdafb02be70bcbfe49f191 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_011.ttcn @@ -0,0 +1,84 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_011 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_011 () runs on GeneralComp { + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_black := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_black; + var EnumeratedTypeWithLabels2 vl_enum2_black := e_white; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_black := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_white := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_black; + + const EnumeratedType c_enum_black := e_black; + const EnumeratedType c_enum_white := e_white; + const EnumeratedTypeWithLabels1 c_enum1_black := e_black; + const EnumeratedTypeWithLabels1 c_enum1_white := e_white; + const EnumeratedTypeWithLabels2 c_enum2_black := e_black; + const EnumeratedTypeWithLabels2 c_enum2_white := e_white; + const EnumeratedTypeWithLabels3 c_enum3_black := e_black; + const EnumeratedTypeWithLabels3 c_enum3_white := e_white; + + int2enum(0,vl_enum_black); + int2enum(1,vl_enum_white); + if( (vl_enum_black==c_enum_black) and + (vl_enum_white==c_enum_white) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 0"); + } + + int2enum(1,vl_enum1_black); + int2enum(0,vl_enum1_white); + if( (vl_enum1_black==c_enum1_black) and + (vl_enum1_white==c_enum1_white) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 1"); + } + + int2enum(-1,vl_enum2_black); + int2enum(0,vl_enum2_white); + if( (vl_enum2_black==c_enum2_black) and + (vl_enum2_white==c_enum2_white) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 2"); + } + + int2enum(-1,vl_enum3_black); + int2enum(1,vl_enum3_white); + if( (vl_enum3_black==c_enum3_black) and + (vl_enum3_white==c_enum3_white) + ) { + setverdict(pass); + } + else { + setverdict(fail, "fail 3"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_011()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_012.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe195516859d89acfae7194a9d77063a20aae73d --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_012.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_012 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (-1), e_red (1), e_white(0) , e_yellow }; //e_yellow is 2 + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_012 () runs on GeneralComp { + var EnumeratedType vl_enum_black := e_black; + var EnumeratedType vl_enum_white := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_red := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_yellow := e_black; + + const EnumeratedType c_enum_black := e_black; + const EnumeratedType c_enum_white := e_white; + const EnumeratedTypeWithLabels1 c_enum1_red := e_red; + const EnumeratedTypeWithLabels1 c_enum1_yellow := e_yellow; + + int2enum(1,vl_enum1_red); + int2enum(2,vl_enum1_yellow); + + setverdict(pass); + + if (vl_enum1_red != c_enum1_red) { + setverdict(fail, "cannot decode e_red"); + } + + if (vl_enum1_yellow != c_enum1_yellow) { + setverdict(fail, "cannot decode e_yellow"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_012()); + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_013.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ed5a75458c96f0d695fa9c2bb03ab9f525dccfe --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_013.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// test enum2int with labels +module Sem_160102_predefined_functions_013 { + + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_013 () runs on GeneralComp { + var EnumeratedTypeWithLabels2 vl_enum2_black := e_black; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_black := e_black; + var EnumeratedTypeWithLabels3 vl_enum3_white := e_white; + var EnumeratedTypeWithLabels3 vl_enum3_yellow := e_yellow; + + if( (enum2int(vl_enum2_black)==-1) and + (enum2int(vl_enum2_white)==0) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + if( (enum2int(vl_enum3_black)==-1) and + (enum2int(vl_enum3_white)==1) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_013()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_014.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c3b7a23e5526d96e5db1c449d06327dd9b12c10 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_014.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_014 { + + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_014 () runs on GeneralComp { + var EnumeratedTypeWithLabels1 vl_enum1_black := e_white; + var EnumeratedTypeWithLabels1 vl_enum1_white := e_black; + + const EnumeratedTypeWithLabels1 c_enum1_black := e_black; + const EnumeratedTypeWithLabels1 c_enum1_white := e_white; + + int2enum(1,vl_enum1_black); + int2enum(0,vl_enum1_white); + if( (vl_enum1_black==c_enum1_black) and + (vl_enum1_white==c_enum1_white) + ) { + setverdict(pass); + } + else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_014()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_015.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c5b079045c87b5bfde03c4928f32107eb66e6d23 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_015.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_015 { + type enumerated EnumeratedType {e_black, e_white}; + type enumerated EnumeratedTypeWithLabels1 {e_black (1), e_white}; + type enumerated EnumeratedTypeWithLabels2 {e_black (-1), e_white}; + type enumerated EnumeratedTypeWithLabels3 {e_black (-1), e_white , e_yellow (0) }; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_015 () runs on GeneralComp { + var EnumeratedTypeWithLabels2 vl_enum2_black := e_white; + var EnumeratedTypeWithLabels2 vl_enum2_white := e_black; + + const EnumeratedTypeWithLabels2 c_enum2_black := e_black; + const EnumeratedTypeWithLabels2 c_enum2_white := e_white; + + int2enum(-1, vl_enum2_black); + int2enum(0, vl_enum2_white); + + setverdict(pass, "Both enumerated values matched"); + + if (vl_enum2_black != c_enum2_black) { + setverdict(fail, "black enumerated value not matching ", vl_enum2_black, c_enum2_black); + } + if (vl_enum2_white != c_enum2_white) { + setverdict(fail, "black enumerated value not matching ", vl_enum2_white, c_enum2_white); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_015()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d9cc3b9e5f6bb5da5faf81c72cf5f37ea69f742c --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_016.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that predefined encvalue function works correctly (as specified in Annex C.5.1) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// (C.5.1) The encvalue function encodes a value or template into a bitstring. When the actual +// parameter that is passed to inpar is a template, it shall resolve to a specific value (the +// same restrictions apply as for the argument of the send statement). The returned bitstring +// represents the encoded value of inpar, however, the TTCN-3 test system need not make any +// check on its correctness. + +module Sem_160102_predefined_functions_016 { + type integer I with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_016 () runs on GeneralComp { + var template I v_test := 0; + var bitstring v_res := encvalue(v_test); + if (lengthof(v_res) == 32) { + setverdict(pass); + } else { + setverdict(fail, "Invalid encoding length"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_016()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_017.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6d034f11e9ffbf23a52cda4cdc2f023c6d1b1202 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_017.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that predefined decvalue function performs full decoding correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// (C.5.2) +// The decvalue function decodes a bitstring into a value. The test system shall suppose that +// the bitstring encoded_value represents an encoded instance of the actual type of decoded_value. +// If the decoding was successful, then the used bits are removed from the parameter encoded_value, +// the rest is returned (in the parameter encoded_value), and the decoded value is returned +// in the parameter decoded_value. The function shall return an integer value to indicate success +// or failure of the decoding below: +// • The return value 0 indicates that decoding was successful. + +module Sem_160102_predefined_functions_017 { + type integer I with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_017 () runs on GeneralComp { + var bitstring v_test := int2bit(0, 32); + var I v_decoded; + var integer v_res := decvalue(v_test, v_decoded); + // expected result: + // v_res: 0 (success) + // v_decoded: 0 + // v_test: ''B (fully decoded) + if (v_res == 0 and v_decoded == 0 and lengthof(v_test) == 0) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_017()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_018.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f140b0ff25038381bbff3a9af43a3465061220e8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_018.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that predefined decvalue function performs decoding if there are more bits than needed + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// (C.5.2) +// The decvalue function decodes a bitstring into a value. The test system shall suppose that +// the bitstring encoded_value represents an encoded instance of the actual type of decoded_value. +// If the decoding was successful, then the used bits are removed from the parameter encoded_value, +// the rest is returned (in the parameter encoded_value), and the decoded value is returned +// in the parameter decoded_value. The function shall return an integer value to indicate success +// or failure of the decoding below: +// • The return value 0 indicates that decoding was successful. + +module Sem_160102_predefined_functions_018 { + type integer I with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_018 () runs on GeneralComp { + const bitstring c_suffix := '11111111'B; + var bitstring v_test := int2bit(0, 32) & c_suffix; // 8 excess bits + var I v_decoded; + var integer v_res := decvalue(v_test, v_decoded); + // expected result: + // v_res: 0 (success) + // v_decoded: 0 + // v_test: '11111111'B (8 excess bits shall be returned) + if (v_res == 0 and v_decoded == 0 and v_test == c_suffix) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_018()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_019.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb020bfc3a2820e076a1f7e30b14f9e18239d98c --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_019.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that predefined decvalue function works properly in case of decoding failure + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// (C.5.2) +// The decvalue function decodes a bitstring into a value. The test system shall suppose that +// the bitstring encoded_value represents an encoded instance of the actual type of decoded_value. +// If the decoding was unsuccessful, the actual parameters for encoded_value and decoded_value are +// not changed. The function shall return an integer value to indicate success or failure of the +// decoding below: +// • The return value 1 indicates an unspecified cause of decoding failure. + +module Sem_160102_predefined_functions_019 { + type enumerated E { one(1), two(2), three(3) } with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_019 () runs on GeneralComp { + var bitstring v_test := int2bit(0, 32); + var E v_decoded; + var integer v_res := decvalue(v_test, v_decoded); + // expected result: + // v_res: 1 (failure, unspecified) -> no named value corresponding to ordinal number 0 + // v_decoded: uninitialized + // v_test: original 32-bit value + if (v_res == 1 and not isbound(v_decoded) and lengthof(v_test) == 32) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_019()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_020.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bfdc328ead232238c22117a2adf209e04b6fbd16 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_020.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that predefined decvalue function works properly in case of not enough bits + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// (C.5.2) +// The decvalue function decodes a bitstring into a value. The test system shall suppose that +// the bitstring encoded_value represents an encoded instance of the actual type of decoded_value. +// If the decoding was unsuccessful, the actual parameters for encoded_value and decoded_value are +// not changed. The function shall return an integer value to indicate success or failure of the +// decoding below: +// The return value 2 indicates that decoding could not be completed as encoded_value did not +// contain enough bits. + +module Sem_160102_predefined_functions_020 { + type integer I with { variant "32 bit"}; + + type component GeneralComp { + } + + testcase TC_Sem_160102_predefined_functions_020 () runs on GeneralComp { + var bitstring v_test := int2bit(0, 16); + var I v_decoded; + var integer v_res := decvalue(v_test, v_decoded); + // expected result: + // v_res: 2 (failed, not enough bits) -> there are only 16 bits available, while 32 is needed + // v_decoded: uninitialized + // v_test: original 16-bit value + if (v_res == 2 and not isbound(v_decoded) and lengthof(v_test) == 16) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + control{ + execute(TC_Sem_160102_predefined_functions_020()); + } +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_021.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78d7ecbdb2dba8ad41d82f1c80906a1adb8ad7cd --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_021.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_021 { + type enumerated MyEnumeratedType {e_black, e_white, e_green}; + + type record MyRecord { + record { + boolean innerField1 optional, + integer innerField2 optional + } field1 optional, + integer field2, + integer field3, + MyEnumeratedType field4 optional + } + + type component GeneralComp { + } + + + testcase TC_Sem_160102_predefined_functions_021 () runs on GeneralComp { + var MyRecord v_record1 := { field1 := omit, field2 := 2, field3 := 3, field4 := omit } ; + var boolean v_i; + + v_i:=ispresent(v_record1.field1.innerField1); //function returns false value + if(v_i==false) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + + control{ + + execute(TC_Sem_160102_predefined_functions_021()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_022.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..891568e6cb20eb01a807eacf244fa4c0e029c25e --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_022.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_022 { + type union U { integer f1, octetstring f2 } + +type component GeneralComp { +} + + +testcase TC_Sem_160102_predefined_functions_022 () runs on GeneralComp { + template U template1 := ?; + var boolean v_i; + + v_i:=ischosen(template1.f1); //function returns false value + if(v_i==false) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } +} + + +control{ + + execute(TC_Sem_160102_predefined_functions_022()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_023.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3db6460d65ba372d10addb3999c57ba41795d260 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_023.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_023 { + type union U { integer f1, octetstring f2 } + +type component GeneralComp { +} + + +testcase TC_Sem_160102_predefined_functions_023 () runs on GeneralComp { + template U template1 := ({ f1 := 2 }, {f2 := 'AB'O }); + var boolean v_i; + + v_i:=ischosen(template1.f1); //function returns false value + if(v_i==false) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } +} + + +control{ + + execute(TC_Sem_160102_predefined_functions_023()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_024.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da122bbf9c9c1c1142c3a2e1ecade3c5abc4cf0a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_024.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + * @author STF 470 + * @version 0.0.1 + * @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C) + * @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_024 { + type union U { + integer f1, + octetstring f2 + } + + type component GeneralComp { + } + + + testcase TC_Sem_160102_predefined_functions_024() runs on GeneralComp { + template U template1 := {f2 := ?} + var boolean v_i; + + v_i := isvalue(template1.f1); //function returns false value + if(v_i==false) { + setverdict(pass); + } else { + setverdict(fail, "Unexpected decoding result"); + } + } + + control { + execute(TC_Sem_160102_predefined_functions_024()); + } +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d6292718103a6ee1d8843b49fd6bce514b7af80 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_025.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1.2, Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C.33) + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160102_predefined_functions_025 { + + type component GeneralComp { + } + + + testcase TC_Sem_160102_predefined_functions_025 () runs on GeneralComp { + var charstring v_example:="example text string"; + var charstring v_i; + + v_i:=regexp(v_example,universal charstring: "?+(text)?+",0); //works according to resolution of CR 6424 + if(v_i=="text") { + setverdict(pass); + } else { + setverdict(fail, "Unexpected matching result"); + } + } + + + control{ + + execute(TC_Sem_160102_predefined_functions_025()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28aa166fc634574618c04ad048ed294a207988c8 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn @@ -0,0 +1,23 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.3, Ensure that the IUT recognizes external functions + ** @verdict pass reject + ** @configuration external_functions + ***************************************************/ +module NegSem_160103_external_functions_001 { + + type component GeneralComp { + } + + external function xf_NegSem_160103_external_functions_001() return template octetstring; //external functions cannot return template + + testcase TC_NegSem_160103_external_functions_001 () runs on GeneralComp { + setverdict(pass); + } + + control{ + execute(TC_NegSem_160103_external_functions_001()); + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7146d34a98c480c8e473e147ee9815c9799ea728 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_002.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.3, Port parameters cannot be passed to external functions as inout parameters + ** @verdict pass reject + ** @configuration external_functions + ***************************************************/ +module NegSem_160103_external_functions_002 { + + type record MyRecord { + integer field1, + integer field2, + integer field3 + } + + type port TestPort message { + inout MyRecord + } + + type component GeneralComp { + port TestPort generalPort; + } + + external function xf_NegSem_160103_external_functions_002(inout integer p_in, inout TestPort p_port) return integer; + // port parameters cannot be passed to external functions as inout parameters + + testcase TC_NegSem_160103_external_functions_002 () runs on GeneralComp { + var integer v_input; + var integer v_result := xf_NegSem_160103_external_functions_002(v_input, generalPort); + setverdict(pass); + } + + control{ + + execute(TC_NegSem_160103_external_functions_002()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..049ea0645327d0f1129807bb090cfc2ad89387c4 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_003.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.3, Timer parameters cannot be passed to external functions as inout parameters + ** @verdict pass reject + ** @configuration external_functions + ***************************************************/ +module NegSem_160103_external_functions_003 { + + type record MyRecord { + integer field1, + integer field2, + integer field3 + } + + type port TestPort message { + inout MyRecord + } + + type component GeneralComp { + port TestPort generalPort; + } + + external function xf_NegSem_160103_external_functions_003(inout integer p_in, inout timer p_timer) return integer; + // timer parameters cannot be passed to external functions as inout parameters + + testcase TC_NegSem_160103_external_functions_003 () runs on GeneralComp { + var integer v_input; + var integer v_result; + timer t_timer; + t_timer.start(1.0); + + v_result := xf_NegSem_160103_external_functions_003(v_input, t_timer); + t_timer.stop; + setverdict(pass); + } + + control{ + + execute(TC_NegSem_160103_external_functions_003()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88213cb04ad65da0e3fee3019cef1c70a6c48522 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.3, Ensure that the IUT recognizes external functions + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration external_functions + ***************************************************/ +module Sem_160103_external_functions_001 { + + type component GeneralComp { + } + + /** + * @return always 1 + */ + external function xf_Sem_160103_external_functions_001() return integer; + + testcase TC_Sem_160103_external_functions_001 () runs on GeneralComp { + var integer v_i; + + v_i := xf_Sem_160103_external_functions_001(); + + if (v_i == 1) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + + execute(TC_Sem_160103_external_functions_001()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0dcbb7bb433040af5a16eb67465cd0c12cdc7873 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_002.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.3, Ensure that the IUT recognizes external functions + ** @verdict pass accept, ttcn3verdict:pass + ** @configuration external_functions + ***************************************************/ +module Sem_160103_external_functions_002 { + + type record MyRecord { + integer field1, + integer field2, + integer field3 + } + + type port TestPort message { + inout MyRecord + } + + type component GeneralComp { + } + /** + * @return p_in + 1 + */ + external function xf_Sem_160103_external_functions_002(inout integer p_in) return integer; + + testcase TC_Sem_160103_external_functions_002 () runs on GeneralComp { + var integer v_input := 5; + var integer v_result; + + v_result := xf_Sem_160103_external_functions_002(v_input); + if(v_result==6) { setverdict(pass) } + else { setverdict(fail) } + } + + control{ + + execute(TC_Sem_160103_external_functions_002()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5001b3c46004eddfac04a6b6d1e7952855f1e17f --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_001.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.4, Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions + ** @verdict pass reject + ** @configuration external_functions + ***************************************************/ +module NegSem_160104_invoking_functions_from_specific_places_001 { + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + /** + * @return always true + */ + external function xf_NegSem_160104_invoking_functions_from_specific_places_001() return boolean; + + testcase TC_NegSem_160104_invoking_functions_from_specific_places_001 () runs on GeneralComp { + var integer v_i; + + messagePort.send(1); + alt { + //calling an external function in boolean guard + [xf_NegSem_160104_invoking_functions_from_specific_places_001()] messagePort.receive { + v_i:=0; + setverdict(fail); + } + [] messagePort.receive { v_i:=1; } + } + + } + + control{ + + execute(TC_NegSem_160104_invoking_functions_from_specific_places_001()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe1c7e83f4c881202f4e82f73a954398ed10888a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.4, Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions + ** @verdict pass reject + ***************************************************/ +module NegSem_160104_invoking_functions_from_specific_places_002 { + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test() return boolean { + if (rnd() > 0.5) { //calling rnd within a function inside a boolean guard + return true; + } else { + return false; + } + } + + testcase TC_NegSem_160104_invoking_functions_from_specific_places_002 () runs on GeneralComp { + var integer v_i; + + messagePort.send(1); + alt { + [f_test()] messagePort.receive { v_i:=0; } + [] messagePort.receive { v_i:=1; } + } + + } + + control{ + + execute(TC_NegSem_160104_invoking_functions_from_specific_places_002()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..536cf5df22d6367eaabd29931b4a3b511decaa01 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.4, Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions + ** @verdict pass reject + ***************************************************/ +module NegSem_160104_invoking_functions_from_specific_places_003 { + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test() return boolean { + setverdict(inconc); //setting verdict within a function inside a boolean guard + return true; + } + + testcase TC_NegSem_160104_invoking_functions_from_specific_places_003 () runs on GeneralComp { + var integer v_i; + + messagePort.send(1); + alt { + [f_test()] messagePort.receive { v_i:=0; } + [] messagePort.receive { v_i:=1; } + } + } + + control{ + + execute(TC_NegSem_160104_invoking_functions_from_specific_places_003()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..60acb7b9f756ec31ab01dace9d54254ecf936156 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1.4, Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions + ** @verdict pass reject + ***************************************************/ +module NegSem_160104_invoking_functions_from_specific_places_004 { + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test(inout integer p_int) return boolean { //issue of inout parameter + p_int:=1; + return true; + } + + testcase TC_NegSem_160104_invoking_functions_from_specific_places_004 () runs on GeneralComp { + var integer v_i:=0; + + messagePort.send(1); + alt { + [f_test(v_i)] messagePort.receive { + v_i:=0; + setverdict(fail, "function call not allowed in guard"); + } + [] messagePort.receive { + v_i:=1; + setverdict(pass); + } + } + } + + control{ + + execute(TC_NegSem_160104_invoking_functions_from_specific_places_004()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cc15c459a0dfcd43ad28cb39fa06032fef51479e --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_001 { + + +type component GeneralComp { +} + +function f_test ( integer p_integer := 0 ) return float { + + return p_integer+1; // mismatch between return type and argument type + return p_integer+2; +} + +testcase TC_NegSem_1601_toplevel_001 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_NegSem_1601_toplevel_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0f92da07866fa4fe2d4f26f8fdf0616ad21aecb --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_002 { + +type component GeneralComp { +} + +function f_test ( template octetstring p_ostring ) return octetstring { + return p_ostring; // mismatch between return type and template argument +} + +testcase TC_NegSem_1601_toplevel_002 () runs on GeneralComp { + if( match('FFFFFF'O, f_test('FF??'O)) ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_NegSem_1601_toplevel_002()); +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e5535e3af33bc85619411ab480f80d9392d42f5 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_003 { + + +type component GeneralComp { + var integer v_comp:=1; +} + +function f_test ( integer p_integer := 0 ) return integer { + + return f_two(p_integer); //against restriction 16.1 / a) +} + +function f_two ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return p_integer+v_comp; +} + + +testcase TC_NegSem_1601_toplevel_003 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_NegSem_1601_toplevel_003()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_004.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..01778baac92ff13be47f5cf30e351c26c0533b63 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_004 { + + +type component GeneralComp { +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return p_integer+1; +} + +testcase TC_NegSem_1601_toplevel_004 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + f_test(1); //attempt to invoke a function with runs on clause + execute(TC_NegSem_1601_toplevel_004()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_005.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da0438e74b74d664faa1ad6e19677842581c498d --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_005.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_005 { + + +type component GeneralComp { +} + +function f_test (inout integer p_integer := 10 ) return integer { + if (p_integer > 5) { + p_integer := 5; + return p_integer; + } + // there is no return value if comparison is false + +} + +testcase TC_NegSem_1601_toplevel_005 () runs on GeneralComp { + + if(f_test(2)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_NegSem_1601_toplevel_005()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_006.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f35e5dc4a96b0ffac32607388b0c981b1383c734 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_006.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_1601_toplevel_006 { + + +type component GeneralComp { + var integer v_comp:=1; +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return f_two(p_integer); +} + +function f_two ( integer p_integer := 0 ) return integer { + + return p_integer+v_comp; //use of variable from a component but missing 'runs on' clause +} + + +testcase TC_NegSem_1601_toplevel_006 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_NegSem_1601_toplevel_006()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_001.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..305a424167d8bbacce4f0026672dd5b91fd3fd9c --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1601_toplevel_001 { + + +type component GeneralComp { +} + +function f_test ( integer p_integer := 0 ) return integer { + + return p_integer+1; + return p_integer+2; +} + +testcase TC_Sem_1601_toplevel_001 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_Sem_1601_toplevel_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_002.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4839f0962e95de4828d62aca71ccb40bed6bc5bf --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_002.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1601_toplevel_002 { + + type component GeneralComp { + } + + function f_test ( template octetstring p_ostring ) return template octetstring { + + return p_ostring & p_ostring; + } + + testcase TC_Sem_1601_toplevel_002 () runs on GeneralComp { + + if( match('FFFFFFFF'O, f_test('FF?'O)) ) { + setverdict(pass); + } + else { + setverdict(fail); + } + + } + + + control{ + + execute(TC_Sem_1601_toplevel_002()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_003.ttcn b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..05192ad6c7fe553e8d4c9c7491378a9282f983de --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_003.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.1, Ensure that the IUT correctly handles function definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1601_toplevel_003 { + + +type component GeneralComp { + var integer v_comp:=1; +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return f_two(p_integer); +} + +function f_two ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return p_integer+v_comp; +} + + +testcase TC_Sem_1601_toplevel_003 () runs on GeneralComp { + + if(f_test(1)==2) { + setverdict(pass); + } + else { + setverdict(fail); + } + +} + + +control{ + + execute(TC_Sem_1601_toplevel_003()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/NegSem_160201_invoking_altsteps_001.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/NegSem_160201_invoking_altsteps_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4051204a9b50d69e9a3b59641ea9250ede8e8820 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/NegSem_160201_invoking_altsteps_001.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2.1, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_160201_invoking_altsteps_001 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type port simplePort message { + inout integer + } + + type component GeneralComp { + port loopbackPort messagePort + } + + type component AltComp { + port simplePort messagePort + } + + + +altstep AltSet1() runs on AltComp { //incompatible component with GeneralComp + + [] messagePort.receive { + setverdict(pass); + } + +} + +testcase TC_NegSem_160201_invoking_altsteps_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + + alt { + [] AltSet1(); + [] t_timer.timeout { + setverdict(pass); + } + } + +} + +control{ + + execute(TC_NegSem_160201_invoking_altsteps_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_001.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e2eaff13dda0cff6e1cd0a7cf28614ab36d4f39 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_001.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2.1, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_160201_invoking_altsteps_001 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + + +altstep AltSet1() runs on GeneralComp { + + [] messagePort.receive { + setverdict(pass); + } + +} + +testcase TC_Sem_160201_invoking_altsteps_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + + alt { + [] AltSet1(); + [] t_timer.timeout { + setverdict(pass); + } + } + +} + +control{ + + execute(TC_Sem_160201_invoking_altsteps_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_002.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6809fa47f99b0b636c9fb0c6011269f0bdea95b0 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_002.ttcn @@ -0,0 +1,67 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2.1, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_160201_invoking_altsteps_002 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + +altstep AltSet1() runs on GeneralComp { + + [] messagePort.check { + setverdict(inconc); + } + +} + +altstep AltSet2() runs on GeneralComp { + + [] messagePort.receive { + setverdict(pass); + } + +} + +testcase TC_Sem_160201_invoking_altsteps_002 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + + alt { + [] AltSet2(); + [] AltSet1(); //evaluation of sequential altstep activations + [] t_timer.timeout { + setverdict(fail); + } + } + +} + +control{ + + execute(TC_Sem_160201_invoking_altsteps_002()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_003.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6d3de96c10f12154c3a15a6c6bd6e91b965f074b --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_003.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.2.1, Ensure that altsteps are correctly handled for dynamically mapped ports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Mycompport A is dynamically mapped +module Sem_160201_invoking_altsteps_003{ + + type port loopbackPort message { + inout integer + } + + type port IntegerOutputPortType message { + inout integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } + +altstep AltStep1() runs on GeneralComp { + + [] MycomportA.receive { + } +} + + +// MyTestSystemInterface is the test system interface +testcase TC_Sem_160201_invoking_altsteps_003() runs on GeneralComp system MyTestSystemInterface { + timer tc_timer := 1.0; + map(mtc:MycomportA, system:messagePort); + + + MycomportA.send(2); + tc_timer.start; + unmap(mtc:MycomportA); + setverdict(pass); + + alt { + [] AltStep1(); + [] tc_timer.timeout { + setverdict(pass); + } + } +} +control{ + execute(TC_Sem_160201_invoking_altsteps_003()); +} +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_004.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0038afdedd0292361af9cafc82a25b4386c033c0 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_004.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:16.2.1, Ensure that altsteps are correctly handled for dynamically mapped ports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Mycompport A is dynamically mapped +module Sem_160201_invoking_altsteps_004{ + + type port loopbackPort message { + inout integer + } + + type port IntegerOutputPortType message { + inout integer + } + +type component GeneralComp + { + timer tc_timer := 0.1; + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } + +altstep AltStep1() runs on GeneralComp { + + [] tc_timer.timeout { + MycomportA.clear; + setverdict(pass); + } +} + + +// MyTestSystemInterface is the test system interface +testcase TC_Sem_160201_invoking_altsteps_004() runs on GeneralComp system MyTestSystemInterface { + map(mtc:MycomportA, system:messagePort); + + + MycomportA.send(2); + tc_timer.start; + unmap(mtc:MycomportA); + + alt { + [] AltStep1(); + } +} +control{ + execute(TC_Sem_160201_invoking_altsteps_004()); +} +} \ No newline at end of file diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_001.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e9be28d0f3399e72393d946ac23f0a71ff83938a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_001.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ** @configuration external_functions + ***************************************************/ +module NegSem_1602_toplevel_001 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + /** + * @desc function returns always 1 + * @return always 1 + */ + external function xf_NegSem_1602_toplevel_001() return integer; + + + altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := xf_NegSem_1602_toplevel_001(); //attempt to use external function for variable initialization + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_001 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_001()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_002.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ad164d4e138c795e12b3ca4be076141b11ad463d --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_002.ttcn @@ -0,0 +1,51 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_1602_toplevel_002 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + + altstep AltSet1() runs on GeneralComp { + var float v_LocalVar := rnd(); //calling rnd for local variable initialization + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_002 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_002()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_003.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..148d4054949079376e713c27252399c44820e49a --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_003.ttcn @@ -0,0 +1,56 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_1602_toplevel_003 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test() return boolean { + setverdict(inconc); //setting verdict within a function for altstep variable initialization + return true; + } + + + altstep AltSet1() runs on GeneralComp { + var boolean v_LocalVar := f_test(); + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_003 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_003()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83745a7bbdc64e4cf7db36180d6ff4ee3efdcf61 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_1602_toplevel_004 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test(inout integer p_int) return integer { + //use of inout parameter within a function called at altstep variable initialization + return p_int+1; + } + + + altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar1 := 1; + var integer v_LocalVar2 := f_test(v_LocalVar1); // call of functions with inout params forbidden by 16.1.4 j) + 16.2.b) + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_004 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_004()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a0a2754ac86c0e18f0ea5a87d0062c51b20d079 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_1602_toplevel_005 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + + altstep AltSet1() { //altstep port operations without corresponding component reference + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_005 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_005()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dfe169dcabe909f9e64ae79a29f6a4cd9a3d77b9 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSem_1602_toplevel_006 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test(integer p_int) runs on GeneralComp return boolean { //use of a function with runs on clause from an altstep without a runs on clause + if (p_int==1) { return true; } + } + + + altstep AltSet1() { + var integer v_LocalVar1 := 1; + + [] f_test(v_LocalVar1) { + setverdict(pass); + } + + } + + testcase TC_NegSem_1602_toplevel_006 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSem_1602_toplevel_006()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..61ca58b820e562110590d896d8eb273bec05aabf --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass reject + ***************************************************/ +module NegSyn_1602_toplevel_001 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return p_integer+1; + } + + + altstep AltSet1() runs on GeneralComp { + + [] messagePort.receive { + setverdict(pass); + } + + var integer v_LocalVar := f_test(); //late definition of a local variable + + } + + testcase TC_NegSyn_1602_toplevel_001 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_NegSyn_1602_toplevel_001()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bde96d62375ac59f974ddb8211a9f226f858a3c3 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn @@ -0,0 +1,56 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.2, Ensure that the IUT recognizes altstep definitions and correctly evaluates them + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1602_toplevel_001 { + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + + type component GeneralComp { + port loopbackPort messagePort + } + + function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + + return p_integer+1; + } + + + altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + [] messagePort.receive { + setverdict(pass); + } + + } + + testcase TC_Sem_1602_toplevel_001 () runs on GeneralComp { + var MessageType v_testMessage; + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + + AltSet1(); + + } + + control{ + + execute(TC_Sem_1602_toplevel_001()); + + } + +} diff --git a/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn b/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..80994519a72c52b54ed3bcd27d42af4617a0fe25 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.3, Ensure that the IUT properly evaluates invocation of testcases + ** @verdict pass reject + ***************************************************/ +module NegSem_1603_testcases_001 { + +type component GeneralComp { +} + + +testcase TC_NegSem_1603_testcases_001 () runs on GeneralComp { + execute(TC_fail()); //testcases can only be invoked from the control part + setverdict(pass); +} + +testcase TC_fail () runs on GeneralComp { + setverdict(fail); +} + + +control{ + + execute(TC_NegSem_1603_testcases_001()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn b/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5bf128c5ab4d71d6b008be674c7065423b105c0 --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.3, Ensure that the IUT properly evaluates invocation of testcases + ** @verdict pass reject + ***************************************************/ +module NegSem_1603_testcases_002 { + +type component GeneralComp { +} + + +testcase TC_NegSem_1603_testcases_002 () runs on GeneralComp { + TC_fail(); //testcases can only be invoked from the control part + setverdict(pass); +} + +testcase TC_fail () runs on GeneralComp { + setverdict(fail); +} + + +control{ + + execute(TC_NegSem_1603_testcases_002()); + +} + +} diff --git a/ATS/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn b/ATS/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..22d7e3f88e334e77e03b859336cd051c491d2acf --- /dev/null +++ b/ATS/16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:16.3, Ensure that the IUT properly evaluates invocation of testcases with system clause + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Syn_1603_testcases_001 { + +type component GeneralComp { +} + +testcase TC_Syn_1603_testcases_001 () runs on GeneralComp system GeneralComp { + + setverdict(pass); +} + + +control{ + + execute(TC_Syn_1603_testcases_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_001.ttcn b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..166bae5fb9082faec82c26fc0d777c715adb45ad --- /dev/null +++ b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_001.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.1, Ensure that the IUT properly evaluates assignment statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1901_assignments_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_1901_assignments_001 () runs on GeneralComp system GeneralComp { + var integer v_i; + var integer v_j; + + v_j:=v_i; //assignment of unbounded expression + +} + +control{ + + execute(TC_NegSem_1901_assignments_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_002.ttcn b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ced750a0000ca640370535e8dd41317a2f3766a3 --- /dev/null +++ b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.1, Ensure that the IUT properly evaluates assignment statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1901_assignments_002 { + +type component GeneralComp { +} + +testcase TC_NegSem_1901_assignments_002 () runs on GeneralComp system GeneralComp { + var integer v_i; + + v_i:=1.5; //assignment of incompatible expression + +} + +control{ + + execute(TC_NegSem_1901_assignments_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_003.ttcn b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b3aac0177c305aeacbca3f913d93668874317c34 --- /dev/null +++ b/ATS/19_basic_program_statements/1901_assignments/NegSem_1901_assignments_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.1, Ensure that the IUT properly evaluates assignment statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1901_assignments_003 { + +type component GeneralComp { +} + +testcase TC_NegSem_1901_assignments_003 () runs on GeneralComp system GeneralComp { + var charstring v_i; + + v_i:=pattern "a??b"; //assignment of incompatible expression + +} + +control{ + + execute(TC_NegSem_1901_assignments_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1901_assignments/NegSyn_1901_assignments_001.ttcn b/ATS/19_basic_program_statements/1901_assignments/NegSyn_1901_assignments_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f091c4970945e156200b1f548e30347ffd727547 --- /dev/null +++ b/ATS/19_basic_program_statements/1901_assignments/NegSyn_1901_assignments_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.1, Ensure that the IUT properly evaluates assignment statements + ** @verdict pass reject + ***************************************************/ +module NegSyn_1901_assignments_001 { + +type component GeneralComp { +} + +testcase TC_NegSyn_1901_assignments_001 () runs on GeneralComp system GeneralComp { + var integer v_i; + var integer v_j; + var integer v_k; + v_i:=1; + v_k:=(v_j:=v_i); //such sequential assignments are not allowed by the syntax + +} + + +control{ + + execute(TC_NegSyn_1901_assignments_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1901_assignments/Sem_1901_assignments_001.ttcn b/ATS/19_basic_program_statements/1901_assignments/Sem_1901_assignments_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..16a5d0289fd149672545d3c38c3d16aece8d780f --- /dev/null +++ b/ATS/19_basic_program_statements/1901_assignments/Sem_1901_assignments_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.1, Ensure that the IUT properly evaluates assignment statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1901_assignments_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1901_assignments_001 () runs on GeneralComp system GeneralComp { + var integer v_i; + v_i:=3*(2+3*3); //validation of the order of evaluating assignment expressions + + if ( v_i==33 ) { + setverdict(pass); + } + else { + setverdict(fail); + } +} + + +control{ + + execute(TC_Sem_1901_assignments_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1902_if_else_statement/NegSyn_1902_if_else_statement_001.ttcn b/ATS/19_basic_program_statements/1902_if_else_statement/NegSyn_1902_if_else_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d4b369d7ea6f323629892466af4ce31807fb19c6 --- /dev/null +++ b/ATS/19_basic_program_statements/1902_if_else_statement/NegSyn_1902_if_else_statement_001.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.2, If statement requires curly brackets for the body + ** @verdict pass reject + ***************************************************/ +module NegSyn_1902_if_else_statement_001 { + +type component GeneralComp { +} + +testcase TC_NegSyn_1902_if_else_statement_001 () runs on GeneralComp{ + + for(var integer v_i:=1; v_i<10; v_i:= j+1) { + } + + if(v_i==10) + setverdict(pass); // missing { } as defined by grammar rule 175 StatementBlock + +} + + +control{ + + execute(TC_NegSyn_1902_if_else_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_001.ttcn b/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c674e99d667634d771ab4bb89ba4e23d7ee9cd5c --- /dev/null +++ b/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_001.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.2, Ensure that the IUT properly evaluates if-else statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1902_if_else_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1902_if_else_statement_001 () runs on GeneralComp{ + var integer v_i:=1; + var integer v_j:=2; + + if ( v_i==1 ) { //testing of nested if-else statement + if( v_j==1) { + setverdict(fail); + } + else { + setverdict(pass); + } + } + else { + setverdict(fail); + } +} + + +control{ + + execute(TC_Sem_1902_if_else_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_002.ttcn b/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5fe87fa272510b1a3bf0c13e01136d14e5160205 --- /dev/null +++ b/ATS/19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.2, Ensure that the IUT properly evaluates if-else statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1902_if_else_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1902_if_else_statement_002 () runs on GeneralComp{ + var integer v_i:=1; + + if ( v_i==2 ) { + setverdict(fail); + } + else if(v_i==1) { setverdict(pass) }; //else if shorthand notation +} + + +control{ + + execute(TC_Sem_1902_if_else_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_001.ttcn b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2da07878e39d83e3c063705162b11140744a1747 --- /dev/null +++ b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.3, Ensure that the IUT properly evaluates select-case statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1903_select_case_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1903_select_case_statement_001 () runs on GeneralComp{ + var integer v_i:=2; + + select (v_i) { + case(1) { + setverdict(fail); + } + case(2) { + setverdict(pass); + } + case(3) { + setverdict(fail); + } + case else { + setverdict(fail); + } + } +} + + +control{ + + execute(TC_Sem_1903_select_case_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_002.ttcn b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7286ce1ede65d49020be684715eefc05594c1d81 --- /dev/null +++ b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_002.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.3, Ensure that the IUT properly evaluates select-case statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1903_select_case_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1903_select_case_statement_002 () runs on GeneralComp{ + var integer v_i:=5; + + select (v_i) { + case(1) { + setverdict(fail); + } + case(2) { + setverdict(fail); + } + case(3) { + setverdict(fail); + } + case else { + setverdict(pass); + } + } +} + + +control{ + + execute(TC_Sem_1903_select_case_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_003.ttcn b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..511572912b9e0568f00e3a57ef3f53e82dd8327c --- /dev/null +++ b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.3, Ensure that the IUT properly evaluates select-case statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1903_select_case_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1903_select_case_statement_003 () runs on GeneralComp{ + var integer v_i:=5; + + setverdict(pass); + select (v_i) { + case(1) { + setverdict(fail); + } + case(2) { + setverdict(fail); + } + case(3) { + setverdict(fail); + } + } +} + + +control{ + + execute(TC_Sem_1903_select_case_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_004.ttcn b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6eeee38a19e44e372d7f184955fb292dd7fe8810 --- /dev/null +++ b/ATS/19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_004.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.3, Ensure that the IUT properly evaluates select-case statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1903_select_case_statement_004 { + +type component GeneralComp { +} + +testcase TC_Sem_1903_select_case_statement_004 () runs on GeneralComp{ + var integer v_i:=2; + + select (v_i) { + case(1) { + setverdict(fail); + } + case(2) { + setverdict(pass); + } + case(2) { + setverdict(fail); + } + case else { + setverdict(fail); + } + } +} + + +control{ + + execute(TC_Sem_1903_select_case_statement_004()); + +} + +} diff --git a/ATS/19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn b/ATS/19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3a592b090e2fde1e6483f57c2160bcd85ee94bf6 --- /dev/null +++ b/ATS/19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.4, Ensure that the IUT properly evaluates for statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1904_for_statement_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_1904_for_statement_001 () runs on GeneralComp{ + + for(var integer v_i:=1; v_i<10; v_i:= j+1) { + } + + if(v_i==10) { setverdict(pass); } //v_i is not accessible from outside the loop + +} + + +control{ + + execute(TC_NegSem_1904_for_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..53d52b7fc52df376cf1833a85bcb04e315add919 --- /dev/null +++ b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.4, Ensure that the IUT properly evaluates for statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1904_for_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1904_for_statement_001 () runs on GeneralComp{ + var integer v_i; + var integer v_j:=1; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + v_j:=v_j+1; + } + + if( (v_i==10) and (v_j==10) ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1904_for_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03079e499ecfafc029c169f50bc4267b51ba88c6 --- /dev/null +++ b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.4, Ensure that the IUT properly evaluates for statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1904_for_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1904_for_statement_002 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + if(v_i==5) { break; } + } + + if(v_i==5) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1904_for_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_003.ttcn b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e59947e0cee9476ab1f89bcb4e9b0adec673aad5 --- /dev/null +++ b/ATS/19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_003.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.4, Ensure that the IUT properly evaluates for statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1904_for_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1904_for_statement_003 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + for(var integer v_j:=1; v_j<10; v_j:= v_j+1) { + if(v_i==5) { break; } //the break statement must only exit the inner loop + } + } + + if(v_i==10) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1904_for_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1905_while_statement/NegSem_1905_while_statement_001.ttcn b/ATS/19_basic_program_statements/1905_while_statement/NegSem_1905_while_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41681fe92581b4b2d72bdbe69429e46a9cf8796d --- /dev/null +++ b/ATS/19_basic_program_statements/1905_while_statement/NegSem_1905_while_statement_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.5, Ensure that the IUT properly evaluates while statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1905_while_statement_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_1905_while_statement_001 () runs on GeneralComp{ + var integer v_i:=1; + + while(v_i<10) { + var integer v_j:=1; + v_i:=v_i+1; + } + + if(v_j==1) { setverdict(pass); } //v_j is not accessible from outside the loop + +} + + +control{ + + execute(TC_NegSem_1905_while_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_001.ttcn b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6dafd9b3bb9bd7b5b9c1222b15fba12eed6d94d5 --- /dev/null +++ b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.5, Ensure that the IUT properly evaluates while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1905_while_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1905_while_statement_001 () runs on GeneralComp{ + var integer v_j:=1; + + while(v_j<10) { + v_j:=v_j+1; + } + + if( v_j==10 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1905_while_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_002.ttcn b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e4babef274251c77890d67d0e0a5f24abd4951a8 --- /dev/null +++ b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_002.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.5, Ensure that the IUT properly evaluates while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1905_while_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1905_while_statement_002 () runs on GeneralComp{ + var integer v_i:=1; + + while(v_i<10) { + if(v_i==5) { break; } + v_i:=v_i+1; + } + + if(v_i==5) { setverdict(pass); } + else { setverdict(fail); } + +} + + +control{ + + execute(TC_Sem_1905_while_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_003.ttcn b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..64cd8643cfc106727a53d364b1bfbff804566e44 --- /dev/null +++ b/ATS/19_basic_program_statements/1905_while_statement/Sem_1905_while_statement_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.5, Ensure that the IUT properly evaluates while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1905_while_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1905_while_statement_003 () runs on GeneralComp{ + var integer v_i:=1; + var integer v_j:=1; + + while(v_i<10) { + while(v_j<10) { + if(v_i==5) { break; } + v_j:=v_j+1; + } + v_i:=v_i+1; + } + + if(v_i==10) { setverdict(pass); } + else { setverdict(fail); } + +} + + +control{ + + execute(TC_Sem_1905_while_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1906_do_while_statement/NegSem_1906_do_while_statement_001.ttcn b/ATS/19_basic_program_statements/1906_do_while_statement/NegSem_1906_do_while_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..108db69054d272e1a2c31727db73d928c0c69071 --- /dev/null +++ b/ATS/19_basic_program_statements/1906_do_while_statement/NegSem_1906_do_while_statement_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.6, Ensure that the IUT properly evaluates do-while statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1906_do_while_statement_001 { + +type component GeneralComp { +} + +testcase TC_NegSem_1906_do_while_statement_001 () runs on GeneralComp{ + var integer v_i:=1; + + do { + var integer v_j:=1; + v_i:=v_i+1; + } while(v_i<10); + + if(v_j==1) { setverdict(pass); } //v_j is not accessible from outside the loop + +} + + +control{ + + execute(TC_NegSem_1906_do_while_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_001.ttcn b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a09612f2b28f239d118c4ce8a9f21981148e1dda --- /dev/null +++ b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.6, Ensure that the IUT properly evaluates do-while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1906_do_while_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1906_do_while_statement_001 () runs on GeneralComp{ + var integer v_j:=1; + + do { + v_j:=v_j+1; + } while(v_j<10); + + if( v_j==10 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1906_do_while_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_002.ttcn b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b8c72500ca8d30f0a142e9eeeafb53b1db8585ba --- /dev/null +++ b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_002.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.6, Ensure that the IUT properly evaluates do-while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1906_do_while_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1906_do_while_statement_002 () runs on GeneralComp{ + var integer v_i:=1; + + do { + if(v_i==5) { break; } + v_i:=v_i+1; + } while(v_i<10); + + if(v_i==5) { setverdict(pass); } + else { setverdict(fail); } + +} + + +control{ + + execute(TC_Sem_1906_do_while_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_003.ttcn b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..00b50a294739a4488d7485ab415d991d8bc8085b --- /dev/null +++ b/ATS/19_basic_program_statements/1906_do_while_statement/Sem_1906_do_while_statement_003.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.6, Ensure that the IUT properly evaluates do-while statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1906_do_while_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1906_do_while_statement_003 () runs on GeneralComp{ + var integer v_i:=1; + var integer v_j:=1; + + do { + do { + if(v_i==5) { break; } + v_j:=v_j+1; + } while(v_j<10); + v_i:=v_i+1; + } while(v_i<10); + + if(v_i==10) { setverdict(pass); } + else { setverdict(fail); } + +} + + +control{ + + execute(TC_Sem_1906_do_while_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1907_label_statement/NegSem_1907_label_statement_001.ttcn b/ATS/19_basic_program_statements/1907_label_statement/NegSem_1907_label_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e2e2ca9d9c2d13fff3d34f38d275b721867283a --- /dev/null +++ b/ATS/19_basic_program_statements/1907_label_statement/NegSem_1907_label_statement_001.ttcn @@ -0,0 +1,71 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.7, Ensure that the IUT correctly handles label naming uniqueness. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1907_label_statement_001 { + + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + label L1; + return p_integer+1; +} + + +altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + [] messagePort.receive { + label L_A; + setverdict(pass); + label L_B; + } + +} + +testcase TC_NegSem_1907_label_statement_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + label L1; + + alt { + [] AltSet1(); + [] messagePort.receive { + label L2; + setverdict(pass); + } + [] t_timer.timeout { + label L3; + } + } + label L1; //conflicting label names +} + +control{ + execute(TC_NegSem_1907_label_statement_001()); +} + +} diff --git a/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_001.ttcn b/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..acd0c50fcbbdda636132f038428336a9a5f0d264 --- /dev/null +++ b/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_001.ttcn @@ -0,0 +1,72 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.7, Ensure that the IUT correctly handles label syntax. + ** @verdict pass reject + *****************************************************************/ + +module NegSyn_1907_label_statement_001 { + + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + label L1; + return p_integer+1; +} + + +altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + [] messagePort.receive { + label L_A; + setverdict(pass); + label L_B; + } + +} + +testcase TC_NegSyn_1907_label_statement_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + label L1; + + alt { + [] AltSet1(); + label L_wrong; //wrong label on the alt toplevel + [] messagePort.receive { + label L2; + setverdict(pass); + } + [] t_timer.timeout { + label L3; + } + } + label L4; +} + +control{ + execute(TC_NegSyn_1907_label_statement_001()); +} + +} diff --git a/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_002.ttcn b/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cb2b287f54d356b5a6716f22c8ede09bc50c7c54 --- /dev/null +++ b/ATS/19_basic_program_statements/1907_label_statement/NegSyn_1907_label_statement_002.ttcn @@ -0,0 +1,73 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.7, Ensure that the IUT correctly handles label syntax. + ** @verdict pass reject + *****************************************************************/ + +module NegSyn_1907_label_statement_002 { + + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + label L1; + return p_integer+1; +} + + +altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + label L_wrong; //wrong label on the altstep toplevel + + [] messagePort.receive { + label L_A; + setverdict(pass); + label L_B; + } + +} + +testcase TC_NegSyn_1907_label_statement_002 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + label L1; + + alt { + [] AltSet1(); + [] messagePort.receive { + label L2; + setverdict(pass); + } + [] t_timer.timeout { + label L3; + } + } + label L4; +} + +control{ + execute(TC_NegSyn_1907_label_statement_002()); +} + +} diff --git a/ATS/19_basic_program_statements/1907_label_statement/Syn_1907_label_statement_001.ttcn b/ATS/19_basic_program_statements/1907_label_statement/Syn_1907_label_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b8395e6c54b06893436e8cc45a494adbd2b8fb74 --- /dev/null +++ b/ATS/19_basic_program_statements/1907_label_statement/Syn_1907_label_statement_001.ttcn @@ -0,0 +1,71 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.7, Ensure that the IUT correctly handles label syntax. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_1907_label_statement_001 { + + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + label L1; + return p_integer+1; +} + + +altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + [] messagePort.receive { + label L_A; + setverdict(pass); + label L_B; + } + +} + +testcase TC_Syn_1907_label_statement_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + label L1; + + alt { + [] AltSet1(); + [] messagePort.receive { + label L2; + setverdict(pass); + } + [] t_timer.timeout { + label L3; + } + } + label L4; +} + +control{ + execute(TC_Syn_1907_label_statement_001()); +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_001.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c37b35b5d7177724475e204d7e26798847495a22 --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_001.ttcn @@ -0,0 +1,73 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_1908_goto_statement_001 { + + + type record MessageType { + integer field1, + charstring field2 + } + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +function f_test ( integer p_integer := 0 ) runs on GeneralComp return integer { + label L1; + return p_integer+1; +} + + +altstep AltSet1() runs on GeneralComp { + var integer v_LocalVar := f_test(); // local variable + + [] messagePort.receive { + label L_A; + label L_B; + } + +} + +testcase TC_NegSem_1908_goto_statement_001 () runs on GeneralComp { + var MessageType v_testMessage; + timer t_timer; + + v_testMessage:= { + field1 := 1, + field2 := "test string" + } + + messagePort.send(v_testMessage); + t_timer.start( 1.0 ); + label L1; + goto L2; //cannot jump into alt statements + + alt { + [] AltSet1(); + [] messagePort.receive { + label L2; + setverdict(pass); + } + [] t_timer.timeout { + label L2; + } + } + label L3; + setverdict(pass); + +} + +control{ + execute(TC_NegSem_1908_goto_statement_001()); +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_002.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..950bde2dde3d919af8e46980a1c6ae3067a9a2ec --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_002.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass reject + *****************************************************************/ +module NegSem_1908_goto_statement_002 { + +type component GeneralComp { +} + +testcase TC_NegSem_1908_goto_statement_002 () runs on GeneralComp{ + var integer v_i; + goto L1; //forbidden jump into a loop + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + label L1; + if(v_i==5) { break; } + } + +} + + +control{ + + execute(TC_NegSem_1908_goto_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_003.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3ec74577f4ad37fdc062103ea303559ab12ffefe --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/NegSem_1908_goto_statement_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass reject + *****************************************************************/ +module NegSem_1908_goto_statement_003 { + +type component GeneralComp { +} + +testcase TC_NegSem_1908_goto_statement_003 () runs on GeneralComp{ + var integer v_i:=1; + goto L1; //forbidden jump into a loop + + if(v_i==2) { + label L1; + v_i:=1; + } + else { + v_i:=2; + goto L1; //forbidden jump into an if-else statement + } + +} + +control{ + + execute(TC_NegSem_1908_goto_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_001.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..53f26935c81bb9d2e01ce584edee5eaa1b29bbf6 --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1908_goto_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1908_goto_statement_001 () runs on GeneralComp{ + var integer v_i:=1; + goto L1; //jumping forward + v_i:=2; + + label L1; + + if( v_i==1 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1908_goto_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_002.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7e1bd03fc2512d12894243c0a986858191a696e9 --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_002.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1908_goto_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1908_goto_statement_002 () runs on GeneralComp{ + var integer v_i:=1; + + label L1; + v_i:=v_i+1; + + if(v_i==2) { goto L1; } //jumping backward + + if( v_i==3 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1908_goto_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_003.ttcn b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..877948b263415f298f2944c2e60ea2ab3eb0dec2 --- /dev/null +++ b/ATS/19_basic_program_statements/1908_goto_statement/Sem_1908_goto_statement_003.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.8, Ensure that the IUT correctly handles goto statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1908_goto_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1908_goto_statement_003 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + if(v_i==5) { goto L1; } //jumping out of the loop + } + + label L1; + + if( v_i==5 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1908_goto_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_001.ttcn b/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b13b535c0bf808d06df274315d66cd6ea3a5105 --- /dev/null +++ b/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.9, Ensure that the IUT correctly handles stop statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1909_stop_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1909_stop_statement_001 () runs on GeneralComp{ + setverdict(pass); + stop; + setverdict(fail); + +} + + +control{ + + execute(TC_Sem_1909_stop_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_002.ttcn b/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..87e2c86ea1a2e88f55e32118f86c0ffcab838a92 --- /dev/null +++ b/ATS/19_basic_program_statements/1909_stop_statement/Sem_1909_stop_statement_002.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.9, Ensure that the IUT correctly handles stop statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1909_stop_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1909_stop_statement_002 () runs on GeneralComp{ + setverdict(pass); +} + +testcase TC_not_to_be_executed () runs on GeneralComp{ + setverdict(fail); +} + + +control{ + execute(TC_Sem_1909_stop_statement_002()); + stop; + execute(TC_not_to_be_executed()); +} + +} diff --git a/ATS/19_basic_program_statements/1910_return_statement/NOTES b/ATS/19_basic_program_statements/1910_return_statement/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..55cb17da1d417f8ec203de496fee4e1ab68f7671 --- /dev/null +++ b/ATS/19_basic_program_statements/1910_return_statement/NOTES @@ -0,0 +1,2 @@ +The functionality of the RETURN statement has been extensively tested in other sections. +This section contains only special cases which have not been tested elsewhere. \ No newline at end of file diff --git a/ATS/19_basic_program_statements/1910_return_statement/NegSem_1910_return_statement_001.ttcn b/ATS/19_basic_program_statements/1910_return_statement/NegSem_1910_return_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2c0bc12e7efd256ac00fb881c21beccd7c0e0d28 --- /dev/null +++ b/ATS/19_basic_program_statements/1910_return_statement/NegSem_1910_return_statement_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.10, Ensure that the IUT correctly handles return statements. + ** @verdict pass reject + *****************************************************************/ +module NegSem_1910_return_statement_001 { + + type component GeneralComp { + } + + + testcase TC_NegSem_1910_return_statement_001 () runs on GeneralComp{ + setverdict(pass); + return 0; //testcase cannot have a return statement + + } + + + control{ + + execute(TC_NegSem_1910_return_statement_001()); + + } + +} diff --git a/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_001.ttcn b/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..19ce3f655b9d0b2972cc311b1a24ef42c4a6dfc6 --- /dev/null +++ b/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:19.10, Ensure that the IUT correctly handles return statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1910_return_statement_001 { + + type component GeneralComp { + } + + function f_verdict_return() runs on GeneralComp return verdicttype { + setverdict(pass); + return getverdict; + } + + + testcase TC_Sem_1910_return_statement_001 () runs on GeneralComp { + if (f_verdict_return() != pass) { + setverdict(fail, "function return value wrong"); + } + if (getverdict != pass) { + setverdict(fail, "component verdict not set"); + } + + } + + + control{ + + execute(TC_Sem_1910_return_statement_001()); + + } + +} diff --git a/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_002.ttcn b/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f22707ae7148aadcf557bd0b0a89caffe04ab65 --- /dev/null +++ b/ATS/19_basic_program_statements/1910_return_statement/Sem_1910_return_statement_002.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:19.10, Ensure that the IUT correctly handles return statements. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_1910_return_statement_002 { + + type component GeneralComp { + } + + function f_template_return() return template charstring { + setverdict(pass); + return ?; + } + + + testcase TC_Sem_1910_return_statement_002 () runs on GeneralComp { + if ( match("A",f_template_return() ) ) { + setverdict(pass, "function return value correct"); + } + else { + setverdict(fail, "function return value wrong"); + } + + } + + + control{ + + execute(TC_Sem_1910_return_statement_002()); + + } + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/NegSem_1911_log_statement_001.ttcn b/ATS/19_basic_program_statements/1911_log_statement/NegSem_1911_log_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17dd83dc0e1ac836c760db01e9d258e8e2013c64 --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/NegSem_1911_log_statement_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass reject + ***************************************************/ +module NegSem_1911_log_statement_001 { + +type component GeneralComp { +} + +function f_no_return(integer p_arg) { + var integer v_f; + v_f:=p_arg; +} + +testcase TC_NegSem_1911_log_statement_001 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + log("Function without return value: ", f_no_return(v_i) ); //not allowed to use function without return value + } + +} + + +control{ + + execute(TC_NegSem_1911_log_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_001.ttcn b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bb0e49c9fb3d5eb145258eb38c91b2035c1d543a --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_001.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1911_log_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1911_log_statement_001 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + log("Actual value of v_i: ", v_i); //actual value of v_i is expected, log output is not validated by the script + } + + setverdict(pass) + +} + + +control{ + + execute(TC_Sem_1911_log_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_002.ttcn b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..391409445d2460dce583b5b79bbed258a6ae135a --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1911_log_statement_002 { + +type component GeneralComp { +} + +testcase TC_Sem_1911_log_statement_002 () runs on GeneralComp{ + var integer v_i; + + log("Actual value of v_i: ", v_i); //expected to print "UNINITIALIZED" for the unbounded v_i value, log output is not validated by the script + + setverdict(pass) + +} + + +control{ + + execute(TC_Sem_1911_log_statement_002()); + +} + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_003.ttcn b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26c639cc36cc5e6838f5a4cbdc08a936a50bce7c --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1911_log_statement_003 { + +type component GeneralComp { +} + +testcase TC_Sem_1911_log_statement_003 () runs on GeneralComp{ + const integer c_i:=1; + + log("Actual value of c_i: ", c_i); //expected to print 1 for c_i constant value, log output is not validated by the script + + setverdict(pass) + +} + + +control{ + + execute(TC_Sem_1911_log_statement_003()); + +} + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_004.ttcn b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f8f25f2cc6cf704b112800b69b4fb0dabfceedcd --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_004.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1911_log_statement_004 { + +type component GeneralComp { +} + +function f_square(integer p_arg) return integer { + return p_arg*p_arg; +} + +testcase TC_Sem_1911_log_statement_004 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + log("Actual value of v_i squared: ", f_square(v_i) ); //actual value of v_i squared is expected, log output is not validated by the script + } + + setverdict(pass) + +} + + +control{ + + execute(TC_Sem_1911_log_statement_004()); + +} + +} diff --git a/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_005.ttcn b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d198a30d98e0f36c719ee32958fe1ce14612ba58 --- /dev/null +++ b/ATS/19_basic_program_statements/1911_log_statement/Sem_1911_log_statement_005.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.11, Ensure that the IUT properly evaluates log statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1911_log_statement_005 { + +type component GeneralComp { +} + +testcase TC_Sem_1911_log_statement_005 () runs on GeneralComp{ + var integer v_i; + timer t_1; + + t_1.start(1.0); + log("Actual timer state: ", t_1); //running state is expected, log output is not validated by the script + log("Is timer running? ", t_1.running); //true is expected, log output is not validated by the script + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + log("Actual timer value: ", t_1.read); //actual timer value is expected, log output is not validated by the script + } + + t_1.stop; + log("Actual timer state: ", t_1); //stopped state is expected, log output is not validated by the script + log("Is timer running? ", t_1.running); //false is expected, log output is not validated by the script + + setverdict(pass) + +} + + +control{ + + execute(TC_Sem_1911_log_statement_005()); + +} + +} diff --git a/ATS/19_basic_program_statements/1912_break_statement/NOTES b/ATS/19_basic_program_statements/1912_break_statement/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..e32353af89240bafc3a62a5b37b95b0d1e0f426d --- /dev/null +++ b/ATS/19_basic_program_statements/1912_break_statement/NOTES @@ -0,0 +1,2 @@ +The functionality of the BREAK statement has been exhaustively tested in the preceding sections. +No further testing is required for this statement. \ No newline at end of file diff --git a/ATS/19_basic_program_statements/1913_continue_statement/Sem_1913_continue_statement_001.ttcn b/ATS/19_basic_program_statements/1913_continue_statement/Sem_1913_continue_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4bb09f6c89dc56c0bb42f1fa7694a683180b588c --- /dev/null +++ b/ATS/19_basic_program_statements/1913_continue_statement/Sem_1913_continue_statement_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:19.13, Ensure that the IUT properly evaluates continue statements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_1913_continue_statement_001 { + +type component GeneralComp { +} + +testcase TC_Sem_1913_continue_statement_001 () runs on GeneralComp{ + var integer v_i; + + for(v_i:=1; v_i<10; v_i:= v_i+1) { + if(v_i==5) { continue; } + if(v_i==5) { break; } + } + + if( v_i==10 ) { setverdict(pass); } + else { setverdict(fail); } + + +} + + +control{ + + execute(TC_Sem_1913_continue_statement_001()); + +} + +} diff --git a/ATS/19_basic_program_statements/1914_statement_block/NOTES b/ATS/19_basic_program_statements/1914_statement_block/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..5469318eb2f44da1ca5eb1ac38285b02502f2956 --- /dev/null +++ b/ATS/19_basic_program_statements/1914_statement_block/NOTES @@ -0,0 +1,2 @@ +The functionality of the statement blocks ( {...} ) has been exhaustively tested in the preceding sections. +No further testing is required in this section. \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2001_the_snapshot_mechanism/NOTES b/ATS/20_statement_and_operations_for_alt/2001_the_snapshot_mechanism/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..f6f92612249dad84cd30ba6370664dccbc0215fc --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2001_the_snapshot_mechanism/NOTES @@ -0,0 +1,2 @@ +- NOTE: currently untested. if this can be tested at all from within TTCN-3, we'll have to refer to + part 4 for details at this point as the description in 20.1 is pretty basic. \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/NOTES b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..edfca943545941da44ddde6be4d66f6c5b0e8a97 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/NOTES @@ -0,0 +1 @@ +- NOTE: side effect freedom is tested in 16.3. \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..16cbc9ef150d0302a6c1fbf399dffed05bc403be --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the alt-statement works as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_001 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_test := "ping"; + +testcase TC_Sem_2002_TheAltStatement_001() runs on GeneralComp { + p.send(m_test); + alt { + [] p.receive(m_test) { + setverdict(pass); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_001()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ccb2396668e76786766d4c7ce1f8690bde8aa255 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the alt-statement with a guard works as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_002 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_test := "ping"; + +testcase TC_Sem_2002_TheAltStatement_002() runs on GeneralComp { + var integer counter := 1; + p.send(m_test); + alt { + [counter == 1] p.receive(m_test) { + setverdict(pass); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_002()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..93ec299d253ff80b3120348acbfadeaa9d51a568 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the alt-statement processes the alternatives in order (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_003 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_test := "ping"; + +testcase TC_Sem_2002_TheAltStatement_003() runs on GeneralComp { + p.send(m_test); + alt { + [] p.receive(m_test) { + setverdict(pass); + } + [] p.receive(m_test) { + setverdict(fail); + } + [] p.receive(m_test) { + setverdict(fail); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_003()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_004.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a69c25d7926d6315297ff41352ba42eaae76f46c --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_004.ttcn @@ -0,0 +1,52 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that activated defaults are processed in the reverse order (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_004 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; +template charstring m_testThree := "ping3"; // never sent! + +altstep a_first() runs on GeneralComp { + [] p.receive(m_testTwo) { + setverdict(fail); + } +} + +altstep a_second() runs on GeneralComp { + [] p.receive(m_testOne) { + setverdict(pass); + } +} + +testcase TC_Sem_2002_TheAltStatement_004() runs on GeneralComp { + var default v_defaultOne := activate(a_first()); + var default v_defaultTwo := activate(a_second()); + + p.send(m_testOne); + p.send(m_testTwo); + + alt { + [] p.receive(m_testThree) { + setverdict(fail); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_004(), 2.0); // if the altstep isn't handled after 2s, we raise an error +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_005.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5667e77ffd3d4fcbeca78dc5b1129db58f21eb5 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_005.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the else branch is executed when nothing else matched (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_005 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +testcase TC_Sem_2002_TheAltStatement_005() runs on GeneralComp { + p.send(m_testOne); + p.send(m_testOne); + + alt { + [] p.receive(m_testTwo) { + setverdict(fail); + } + [false] p.receive(m_testTwo) { + setverdict(fail); + } + [else] { + setverdict(pass); + } + } + + setverdict(pass); +} + +control { + execute(TC_Sem_2002_TheAltStatement_005(), 2.0); // if the altstep isn't handled after 2s, we raise an error +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_006.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c4f28750b44a6c7f25516eafb933e3815eedba77 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_006.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that an altstep invocation works as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_006 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +altstep a_test() runs on GeneralComp { + [] p.receive(m_testOne) { + setverdict(pass); + } +} + +testcase TC_Sem_2002_TheAltStatement_006() runs on GeneralComp { + p.send(m_testOne); + + alt { + [] a_test(); + [else] { + setverdict(fail); + } + } + + setverdict(pass); +} + +control { + execute(TC_Sem_2002_TheAltStatement_006()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_007.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..38fca87599460d68bb10184326ce6c7922c05914 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_007.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that an altstep invocation works as expected and that the optional statement block is executed after the altstep staatement block (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_007 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; + var boolean v_visitedAltstep := false; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +altstep a_test() runs on GeneralComp { + [] p.receive(m_testOne) { + v_visitedAltstep := true; + } +} + +testcase TC_Sem_2002_TheAltStatement_007() runs on GeneralComp { + p.send(m_testOne); + + alt { + [] a_test() { + if (v_visitedAltstep == true) { + setverdict(pass); + } + } + [else] { + setverdict(fail); + } + } + + setverdict(pass); +} + +control { + execute(TC_Sem_2002_TheAltStatement_007()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_008.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17d732c5cfb55ce3c04b809578ef65c6827175c2 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_008.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the done-block in an alt-statement is triggered as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_008 { + +type port MyPort message { + inout charstring +} + +type component MTCComp { + port MyPort p; +} + +type component PTCComp { + port MyPort p; +} + +type component SystemComp { + port MyPort p; +} + +function f_secondComponent() runs on PTCComp { +} + +testcase TC_Sem_2002_TheAltStatement_008() runs on MTCComp system SystemComp { + var PTCComp v_ptc := PTCComp.create alive; + map(self:p, system:p); + v_ptc.start(f_secondComponent()); + + alt { + [] v_ptc.killed { + setverdict(fail); // as we have an alive component, it shouldn't have the killed status here + } + [] v_ptc.done { + setverdict(pass); + } + } + v_ptc.kill; +} + +control { + execute(TC_Sem_2002_TheAltStatement_008()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_009.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83f6e63a30906c7030d524f52844027bfdd5ef4f --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_009.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the killed-block in an alt-statement is triggered as expected when the component is killed (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_009 { + +type port MyPort message { + inout charstring +} + +type component SystemComp { + port MyPort p; +} + +type component MTCComp { + port MyPort p; +} + +type component PTCComp { + port MyPort p; +} + +function f_secondComponent() runs on PTCComp { +} + +testcase TC_Sem_2002_TheAltStatement_009() runs on MTCComp system SystemComp { + var PTCComp v_ptc := PTCComp.create; + map(self:p, system:p); + v_ptc.start(f_secondComponent()); + v_ptc.kill; + + alt { + [] v_ptc.killed { + setverdict(pass); + } + [else] { + setverdict(fail); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_009()); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_010.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b77343e650059d0f60c93fe08eacb3129ddc10eb --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_010.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the timeout branch is taken as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_010 { + +type component GeneralComp { } + +testcase TC_Sem_2002_TheAltStatement_010() runs on GeneralComp { + timer t_timer; + + t_timer.start(20E-3); + + alt { // block until a timeout happens in 20ms + [] t_timer.timeout { + setverdict(pass); + } + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_010(), 200E-3); // timeout in 100ms, then error +} +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_011.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b09d2f65a01eb010800765b0ef0af972626c042 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_011.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that the behavior continues after the alt-statement (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_011 { + +type component GeneralComp { } + +testcase TC_Sem_2002_TheAltStatement_011() runs on GeneralComp { + timer t_timer; + var boolean v_altVisited := false; + + t_timer.start(20E-3); + alt { // block until a timeout happens in 20ms + [] t_timer.timeout { + v_altVisited := true; + } + } + + if (v_altVisited == true) { + setverdict(pass); + } else { + setverdict(fail); // for some reason the alt has not been processed correctly. + } +} + +control { + execute(TC_Sem_2002_TheAltStatement_011(), 200E-3); // timeout in 100ms, then error +} +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_012.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3714758d815a36bd2539ee2c21b3dac2e4927fa0 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_012.ttcn @@ -0,0 +1,52 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that alt statements are correctly handled for dynamically mapped ports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Mycompport A is dynamically mapped +module Sem_2002_TheAltStatement_012{ + + type port loopbackPort message { + inout integer + } + + type port IntegerOutputPortType message { + inout integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } + +// MyTestSystemInterface is the test system interface +testcase TC_Sem_2002_TheAltStatement_012() runs on GeneralComp system MyTestSystemInterface { + timer tc_timer := 0.1; + map(mtc:MycomportA, system:messagePort); + + + MycomportA.send(2); + tc_timer.start; + unmap(mtc:MycomportA); + setverdict(pass); + + alt { + [] MycomportA.receive { + } + [] tc_timer.timeout { + setverdict(pass); + } + } +} +control{ + execute(TC_Sem_2002_TheAltStatement_012()); +} +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_013.ttcn b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..36617bebb8a8fc44210c253abf892fcc08cd9883 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_013.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:20.2, Ensure that alt statements are correctly handled for dynamically mapped ports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// Mycompport A is dynamically mapped +module Sem_2002_TheAltStatement_013{ + + type port loopbackPort message { + inout integer + } + + type port IntegerOutputPortType message { + inout integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } + +// MyTestSystemInterface is the test system interface +testcase TC_Sem_2002_TheAltStatement_013() runs on GeneralComp system MyTestSystemInterface { + timer tc_timer := 0.1; + map(mtc:MycomportA, system:messagePort); + + + MycomportA.send(2); + tc_timer.start; + unmap(mtc:MycomportA); + + alt { + [] tc_timer.timeout { + MycomportA.clear; + setverdict(pass); + } + } +} +control{ + execute(TC_Sem_2002_TheAltStatement_013()); +} +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/NegSem_2003_the_repeat_statement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/NegSem_2003_the_repeat_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..aa560617ed802484306f83c79d2f23f0c93dc463 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/NegSem_2003_the_repeat_statement_001.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.3, Ensure that the IUT correctly processes repeat statements + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2003_the_repeat_statement_001 { + + type port MyPort message { + inout charstring + } + + type component GeneralComp { + port MyPort p; + } + + template charstring m_test := "ping"; + + testcase TC_NegSem_2003_the_repeat_statement_001() runs on GeneralComp { + var integer counter := 1; + p.send(m_test); + p.send(m_test); + alt { + [counter == 1] p.receive(m_test) { + counter := 2; + repeat; + } + [counter == 2] p.receive(m_test) { + setverdict(pass); + } + } + repeat; //repeat statement is used outside of an alt or call structure + } + + control { + execute(TC_NegSem_2003_the_repeat_statement_001()); + } + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/Sem_2003_the_repeat_statement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/Sem_2003_the_repeat_statement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03205f01846fe7a45445a3e3495458bba95878fe --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2003_the_repeat_statement/Sem_2003_the_repeat_statement_001.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20.3, Ensure that the IUT correctly processes repeat statements + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2003_the_repeat_statement_001 { + + type port loopbackPort message { + inout charstring + } + + type component GeneralComp { + port loopbackPort p; + } + + template charstring m_test := "ping"; + + testcase TC_Sem_2003_the_repeat_statement_001() runs on GeneralComp { + timer t:= 5.0; + var integer counter := 1; + + p.send(m_test); + p.send(m_test); + + t.start; + alt { + [counter == 1] p.receive(m_test) { + counter := 2; + repeat; + } + [counter == 2] p.receive(m_test) { + setverdict(pass); + } + [] t.timeout { + setverdict(fail); + } + } + } + + control { + execute(TC_Sem_2003_the_repeat_statement_001()); + } + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b6041f48c3b9cc78d77c78d33ce8929d4d9914b0 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSem_2004_InterleaveStatement_001.ttcn @@ -0,0 +1,63 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:20.4, Validate that interleave statements are properly handled. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2004_InterleaveStatement_001 { + + type port loopbackPort message { + inout MyMessageType + } + + type component GeneralComp { + port loopbackPort pt_myPort1,pt_myPort2; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_NegSem_2004_InterleaveStatement_001() runs on GeneralComp { + pt_myPort1.send(MyMessageType:{1, "aaa", true}); + + template MyMessageType MySig1 := {1,"aaa",true}; + template MyMessageType MySig2 := {2,"bbb",true}; + template MyMessageType MySig3 := {3,"ccc",true}; + + var integer v_i; + timer t_timer; + t_timer.start(1.0); + + interleave { + [] pt_myPort1.receive(MySig1) + { + for(v_i:=1; v_i<10; v_i:= v_i+1) { //control transfer statement is not allowed + pt_myPort2.send(MySig2); + } + alt { + [] pt_myPort1.receive(MySig3) { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + [] pt_myPort2.receive(MySig2) //boolean guard must be empty + { + pt_myPort1.send(MySig3); + } + + } + + + } + + control{ + execute(TC_NegSem_2004_InterleaveStatement_001()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9ad542373d730ffd92865f276844c0653c4f8aac --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_001.ttcn @@ -0,0 +1,60 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:20.4, Validate that interleave statements are properly handled. + ** @verdict pass reject + *****************************************************************/ + +module NegSyn_2004_InterleaveStatement_001 { + + type port loopbackPort message { + inout MyMessageType + } + + type component GeneralComp { + port loopbackPort pt_myPort1,pt_myPort2; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_NegSyn_2004_InterleaveStatement_001() runs on GeneralComp { + pt_myPort1.send(MyMessageType:{1, "aaa", true}); + + template MyMessageType MySig1 := {1,"aaa",true}; + template MyMessageType MySig2 := {2,"bbb",true}; + template MyMessageType MySig3 := {3,"ccc",true}; + + timer t_timer; + t_timer.start(1.0); + + interleave { + [] pt_myPort1.receive(MySig1) + { + pt_myPort2.send(MySig2); + alt { + [] pt_myPort1.receive(MySig3) { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + [else] pt_myPort2.receive(MySig2) //boolean guard must be empty + { + pt_myPort1.send(MySig3); + } + + } + + + } + + control{ + execute(TC_NegSyn_2004_InterleaveStatement_001()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_002.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44c061cd75ec9051a076a800a50c9ee38536911d --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/NegSyn_2004_InterleaveStatement_002.ttcn @@ -0,0 +1,61 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:20.4, Validate that interleave statements are properly handled. + ** @verdict pass reject + *****************************************************************/ + +module NegSyn_2004_InterleaveStatement_002 { + + type port loopbackPort message { + inout MyMessageType + } + + type component GeneralComp { + port loopbackPort pt_myPort1,pt_myPort2; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_NegSyn_2004_InterleaveStatement_002() runs on GeneralComp { + pt_myPort1.send(MyMessageType:{1, "aaa", true}); + + template MyMessageType MySig1 := {1,"aaa",true}; + template MyMessageType MySig2 := {2,"bbb",true}; + template MyMessageType MySig3 := {3,"ccc",true}; + + timer t_timer; + t_timer.start(1.0); + var integer v:=1; + + interleave { + [v>0] pt_myPort1.receive(MySig1) //boolean guard must be empty + { + pt_myPort2.send(MySig2); + alt { + [] pt_myPort1.receive(MySig3) { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + [v<0] pt_myPort2.receive(MySig2) //boolean guard must be empty + { + pt_myPort1.send(MySig3); + } + + } + + + } + + control{ + execute(TC_NegSyn_2004_InterleaveStatement_002()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..86040f674048b787e0bbe206f03fadb04db08d92 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_001.ttcn @@ -0,0 +1,66 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:20.4, Validate that interleave statements are properly handled. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2004_InterleaveStatement_001 { + + type port loopbackPort message { + inout MyMessageType + } + + type component GeneralComp { + port loopbackPort pt_myPort1,pt_myPort2; + timer t_timer; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + altstep checkTimeout(timer t_timer){ + [] t_timer.timeout { + setverdict(fail); + } + } + + testcase TC_Sem_2004_InterleaveStatement_001() runs on GeneralComp system GeneralComp { + + template MyMessageType MySig1 := {1,"aaa",true}; + template MyMessageType MySig2 := {2,"bbb",true}; + template MyMessageType MySig3 := {3,"ccc",true}; + + map(mtc:pt_myPort1, system:pt_myPort1); + map(mtc:pt_myPort2, system:pt_myPort2); + + activate(checkTimeout(t_timer)); + pt_myPort1.send(MyMessageType:{1, "aaa", true}); + t_timer.start(3.0); + + interleave { + [] pt_myPort1.receive(MySig1) + { + pt_myPort2.send(MySig2); + alt { + [] pt_myPort1.receive(MySig3) { + setverdict(pass); + } + } + } + [] pt_myPort2.receive(MySig2) + { + pt_myPort1.send(MySig3); + } + } + + + } + + control{ + execute(TC_Sem_2004_InterleaveStatement_001()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_002.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..257efddfd4b0beccd9c9b0716a29be0e2bb60fdd --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Sem_2004_InterleaveStatement_002.ttcn @@ -0,0 +1,67 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:20.4, Validate that interleave statements are properly handled. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2004_InterleaveStatement_002 { + + type port loopbackPort message { + inout MyMessageType + } + + type component GeneralComp { + port loopbackPort pt_myPort1,pt_myPort2; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + altstep checkTimeout(timer t_timer){ + [] t_timer.timeout { + setverdict(fail); + } + } + + testcase TC_Sem_2004_InterleaveStatement_002() runs on GeneralComp { + + template MyMessageType MySig1 := {1,"aaa",true}; + template MyMessageType MySig2 := {2,"bbb",true}; + template MyMessageType MySig3 := {3,"ccc",true}; + + timer t_timer; + + pt_myPort1.send(MyMessageType:{1, "aaa", true}); + + t_timer.start(1.0); + + interleave { + [] pt_myPort1.receive(MySig1) + { + pt_myPort2.send(MySig2); + alt { + [] pt_myPort1.receive(MySig3) { + setverdict(fail); + } + } + } + [] pt_myPort2.receive(MySig2) + { + setverdict(pass); + break; //evaluation of correct exit from interleave + pt_myPort1.send(MySig3); + setverdict(fail); + } + } + + + } + + control{ + execute(TC_Sem_2004_InterleaveStatement_002()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Syn_2004_InterleaveStatement_001.ttcn b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Syn_2004_InterleaveStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f3e5eac1254ca25aeed30cf88eda77540d285d3 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2004_the_interleave_statement/Syn_2004_InterleaveStatement_001.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + * @author STF 433 + * @version 0.0.1 + * @purpose 1:20.4, Validate that interleave statements are properly handled. + * @verdict pass accept, noexecution + *****************************************************************/ +module Syn_2004_InterleaveStatement_001 { + type port MyMessagePortType message { + inout MyMessageType; + } + + type component GeneralComp { + port MyMessagePortType pt_myPort1, pt_myPort2; + } + + type record MyMessageType { + integer field1, + charstring field2, + boolean field3 + } + + testcase TC_Syn_2004_InterleaveStatement_001() runs on GeneralComp { + + template MyMessageType MySig1 := {1, "abc", true} + template MyMessageType MySig2 := MySig1; + template MyMessageType MySig3 := MySig1; + template MyMessageType MySig4 := MySig1; + template MyMessageType MySig5 := MySig1; + template MyMessageType MySig6 := MySig1; + + pt_myPort1 + .send(MyMessageType: + { + 2, + "abcxyz", + true + }); + + interleave { + [] pt_myPort1.receive(MySig1) { + pt_myPort1.send(MySig2); + pt_myPort1.receive(MySig3); + } + [] pt_myPort2.receive(MySig4) { + pt_myPort2.send(MySig5); + pt_myPort2.receive(MySig6); + } + } + } + control { + execute(TC_Syn_2004_InterleaveStatement_001()); + } +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/NegSem_200501_the_default_mechanism_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/NegSem_200501_the_default_mechanism_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17bb9d1d65f5bb7d50207c6155bb6929eb892262 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/NegSem_200501_the_default_mechanism_001.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify unsuccessful default termination + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// For each test component the defaults, i.e. activated altsteps, are stored as an ordered +// list. The defaults are listed in the reversed order of their activation i.e. the last +// activated default is the first element in the list of active defaults. + +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +// In the case of an unsuccessful termination, the default mechanism invokes the next +// default in the list. If the last default in the list has terminated unsuccessfully, +// the default mechanism will return to the place in the alt statement in which it +// has been invoked, i.e. at the end of the alt statement, and indicate an unsuccessful +// default execution. An unsuccessful default execution will also be indicated if the list +// of defaults is empty. An unsuccessful default execution may cause a new snapshot or +// a dynamic error if the test component is blocked. + +module NegSem_200501_the_default_mechanism_001 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:2) { // no match + setverdict(pass, "First default"); + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:1) { // no match + setverdict(fail, "Last default"); + } + } + + testcase TC_NegSem_200501_the_default_mechanism_001() runs on GeneralComp { + activate(a1()); + activate(a2()); + p.send(integer:5); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } // defaults are terminated unsuccessfully -> dynamic test case error + } + + control{ + execute(TC_NegSem_200501_the_default_mechanism_001(), 1.0); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a5d3945e721f388b912584767331da0c22ae70d5 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_001.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that activated default is invoked + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +module Sem_200501_the_default_mechanism_001 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_Sem_200501_the_default_mechanism_001() runs on GeneralComp { + activate(a()); + p.send(integer:5); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_001()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_002.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3c4216fbe7a9239752244d256f0c8e9eacfc994 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_002.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that default are processed in interleave + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +// In particular, the test case is related to the NOTE 1: +// An interleave statement is semantically equivalent to a nested set of alt statements +// and the default mechanism also applies to each of these alt statements. This means, +// the default mechanism also applies to interleave statements. Furthermore, the restrictions +// imposed on interleave statements in clause 20.4 do not apply to altsteps that are +// activated as default behaviour for interleave statements. + +module Sem_200501_the_default_mechanism_002 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_Sem_200501_the_default_mechanism_002() runs on GeneralComp { + activate(a()); + p.send(integer:1); + p.send(integer:2); + interleave { + [] p.receive(integer:5) { // not expected: leads to default invocation + setverdict(fail); + } + [] p.receive(integer:2) { // not expected: the first default causes exit from interleave + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_002()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_003.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..62cc75a0ff95ea277bd4fdbce42ce1e87801f330 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_003.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify than default are processed in interleave + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +// In particular, the test case is related to the NOTE 1: +// An interleave statement is semantically equivalent to a nested set of alt statements +// and the default mechanism also applies to each of these alt statements. This means, +// the default mechanism also applies to interleave statements. Furthermore, the restrictions +// imposed on interleave statements in clause 20.4 do not apply to altsteps that are +// activated as default behaviour for interleave statements. + +module Sem_200501_the_default_mechanism_003 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_Sem_200501_the_default_mechanism_003() runs on GeneralComp { + activate(a()); + p.send(integer:1); + p.send(integer:2); + interleave { + [] p.receive(integer:1) { // expected, no default in this case + setverdict(pass); + } + [] p.receive(integer:3) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_003()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_004.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f782b0e194fe51112a3655a0e5ab31574adfeb7a --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_004.ttcn @@ -0,0 +1,64 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that default processing order is correct + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// For each test component the defaults, i.e. activated altsteps, are stored as an ordered +// list. The defaults are listed in the reversed order of their activation i.e. the last +// activated default is the first element in the list of active defaults. + +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +// In the case of a successful termination, the default ... the main control flow of the +// test component will continue immediately after the alt statement from which the default +// mechanism was called... + +// Note: +// In this test case, two altsteps are activated as defaults. The sooner activated +// default leads to a test case failure, but because the last activated default takes +// precedence, it should never happen. + +module Sem_200501_the_default_mechanism_004 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(fail, "First default"); + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass, "Last default"); + } + } + + testcase TC_Sem_200501_the_default_mechanism_004() runs on GeneralComp { + activate(a1()); + activate(a2()); + p.send(integer:5); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_004()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_005.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f33efe4cbccc98538b93c23eceddbe2809a40f4 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_005.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that default processing order is correct + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// For each test component the defaults, i.e. activated altsteps, are stored as an ordered +// list. The defaults are listed in the reversed order of their activation i.e. the last +// activated default is the first element in the list of active defaults. + +// The default mechanism is evoked at the end of each alt statement, if due to the +// actual snapshot none of the specified alternatives could be executed. An evoked +// default mechanism invokes the first altstep in the list of defaults, i.e. the last +// activated default, and waits for the result of its termination. The termination can +// be successful or unsuccessful. + +// In the case of an unsuccessful termination, the default mechanism invokes the next +// default in the list. + +// In the case of a successful termination, the default ... the main control flow of the +// test component will continue immediately after the alt statement from which the default +// mechanism was called... + +// Note: +// In this test case, two altsteps are activated as defaults. The last activated doesn't +// match, which should lead to invokation of the default activated as the first one. + +module Sem_200501_the_default_mechanism_005 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass, "First default"); + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:1) { // no match + setverdict(fail, "Last default"); + } + } + + testcase TC_Sem_200501_the_default_mechanism_005() runs on GeneralComp { + activate(a1()); + activate(a2()); + p.send(integer:5); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_005()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_006.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d18b7def640276333529a89059e7bff59b96099d --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_006.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify repeat command behaviour in invoked default + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// In the case of a successful termination, ... the test component will take new +// snapshot and re-evaluate the alt statement. The latter has to be specified by +// means of a repeat statement. + +module Sem_200501_the_default_mechanism_006 { + + type port P message { + inout integer; + } + + type component GeneralComp { + var integer vc_messageCounter := 0; + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + vc_messageCounter := vc_messageCounter + 1; + setverdict(pass, "Default value -> repeating alt"); + repeat; + } + } + + testcase TC_Sem_200501_the_default_mechanism_006() runs on GeneralComp { + activate(a()); + p.send(integer:5); + p.send(integer:1); + alt { + [] p.receive(integer:1) { + vc_messageCounter := vc_messageCounter + 1; + setverdict(pass); + } + } + if (vc_messageCounter != 2) { + setverdict(fail, "Different number of received messages (", vc_messageCounter, ") than expected (2)"); + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_006()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_007.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26e29e1b78e14e31908b6c4b87d7f467d31412e0 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_007.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify break command behaviour in invoked default + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// If the execution of the selected top alternative of the default ends with a break statement +// the control flow of the test component will continue immediately after the alt statement. + +module Sem_200501_the_default_mechanism_007 { + + type port P message { + inout integer; + } + + type component GeneralComp { + var integer vc_messageCounter := 0; + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + vc_messageCounter := vc_messageCounter + 1; + if (vc_messageCounter == 2) { + setverdict(pass, "Message count full, terminating alt"); + break; + } + setverdict(pass, "Default value -> repeating alt"); + repeat; + } + } + + testcase TC_Sem_200501_the_default_mechanism_007() runs on GeneralComp { + activate(a()); + p.send(integer:5); + p.send(integer:0); + p.send(integer:1); + alt { + [] p.receive(integer:1) { // not expected: break should occur first + vc_messageCounter := vc_messageCounter + 1; + setverdict(fail); + } + } + if (vc_messageCounter != 2) { + setverdict(fail, "Different number of received messages (", vc_messageCounter, ") than expected (2)"); + } + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_007()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_008.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a9df8ac28742ea37c574db59f9cd1312f4862974 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200501_the_default_mechanism/Sem_200501_the_default_mechanism_008.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify stop command behaviour in invoked default + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// In the case of a successful termination, the default may either stop the test component +// by means of a stop statement + +module Sem_200501_the_default_mechanism_008 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass, "Default value -> stopping component"); + stop; + } + } + + testcase TC_Sem_200501_the_default_mechanism_008() runs on GeneralComp { + activate(a()); + p.send(integer:5); + alt { + [] p.receive(integer:1) { // not expected: invoking default + setverdict(fail); + } + } + setverdict(fail, "Component stop expected"); + } + + control{ + execute(TC_Sem_200501_the_default_mechanism_008()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..47b4d6094dc2be1adc8ec14f481f1c20d78d743e --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify error is generated if activated alstep runs on incompatible component + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// An activate operation will put the referenced altstep as the first element into the list +// of defaults and return a default reference. +// The effect of an activate operation is local to the test component in which it is called. + +module NegSem_200502_the_activate_operation_001 { + + type component GeneralComp { + } + + type port P message { + inout integer; + } + + type component TestComp { + port P p; + } + + altstep a() runs on TestComp { + [] p.receive {} + } + + testcase TC_NegSem_200502_the_activate_operation_001() runs on GeneralComp { + a(); + setverdict(pass); + } + + control{ + execute(TC_NegSem_200502_the_activate_operation_001()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4599b5f026b9875f8f76f890eb17dd13f4250a0b --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_002.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify error is generated when passing local timer + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// All timer instances in the actual parameter list shall be declared as component type local timers. + +module NegSem_200502_the_activate_operation_002 { + + type component GeneralComp { + } + + altstep a(timer t_tmr) runs on GeneralComp { + [] t_tmr.timeout {} + } + + testcase TC_NegSem_200502_the_activate_operation_002() runs on GeneralComp { + if (true) { + timer t_local := 0.5; + t_local.start; + activate(a(t_local)); + } + any port.receive; + setverdict(pass); + } + + control{ + execute(TC_NegSem_200502_the_activate_operation_002()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_003.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..108a8cc18e787bf92d94bbe7da19302ca4c81de5 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify error is generated when activating altstep with out parameters + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// An altstep that is activated as a default shall only have in parameters, port parameters, or timer parameters. + +module NegSem_200502_the_activate_operation_003 { + + type component GeneralComp { + } + + altstep a(out integer p_val) runs on GeneralComp { + [] any port.receive {} + } + + testcase TC_NegSem_200502_the_activate_operation_003() runs on GeneralComp { + var integer v_val; + activate(a(v_val)); + } + + control{ + execute(TC_NegSem_200502_the_activate_operation_003()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_004.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4fe876eb4893cd0964b0db9d449cf7636affdd0b --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_004.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify error is generated when activating altstep with inout parameters + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// An altstep that is activated as a default shall only have in parameters, port parameters, or timer parameters. + +module NegSem_200502_the_activate_operation_004 { + + type component GeneralComp { + } + + altstep a(inout integer p_val) runs on GeneralComp { + [] any port.receive {} + } + + testcase TC_NegSem_200502_the_activate_operation_004() runs on GeneralComp { + var integer v_val := 1; + activate(a(v_val)); + } + + control{ + execute(TC_NegSem_200502_the_activate_operation_004()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_005.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1082065faa0e0eff9e5c918f47265e5c4af45a90 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/NegSem_200502_the_activate_operation_005.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify error is generated when activating function + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// An activate operation will put the referenced altstep as the first element into the list of defaults +// and return a default reference. + +module NegSem_200502_the_activate_operation_005 { + + type component GeneralComp { + } + + function f() runs on GeneralComp { + alt { + [] any port.receive {} + } + } + + testcase TC_NegSem_200502_the_activate_operation_005() runs on GeneralComp { + activate(f()); + setverdict(pass); + } + + control{ + execute(TC_NegSem_200502_the_activate_operation_005()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c490493bb24ea58d281eeff55e5d2d615df09644 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_001.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify that activate operation can be used as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The activate operation can be called without saving the returned default reference. +// This form is useful in test cases which do not require explicit deactivation +// of the activated default, i.e. deactivation of a default is done implicitly at +// MTC termination. + +// Note: +// An activate operation saving the returned default reference is tested in the section +// 6.2.8. + +module Sem_200502_the_activate_operation_001 { + + type component GeneralComp { + } + + altstep a() runs on GeneralComp + { + [] any port.receive {} + } + + testcase TC_Sem_200502_the_activate_operation_001() runs on GeneralComp { + activate(a()); + setverdict(pass); + } + + control{ + execute(TC_Sem_200502_the_activate_operation_001()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_002.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ef14c513696c766c64340aad01cb6c5ad397487 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_002.ttcn @@ -0,0 +1,48 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify that parameters are passed at activation time + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// The actual parameters of a parameterized altstep (see clause 16.2.1) that should +// be activated as a default, shall be provided in the corresponding activate statement. +// This means the actual parameters are bound to the default at the time of its activation +// (and not e.g. at the time of its invocation by the default mechanism). + +module Sem_200502_the_activate_operation_002 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + const integer c_defaultParValue := 1; + + altstep a(integer p_par) runs on GeneralComp { + [] p.receive(integer:?) { + if (p_par == c_defaultParValue) { setverdict(pass); } + else { setverdict(fail); } + } + } + + testcase TC_Sem_200502_the_activate_operation_002() runs on GeneralComp { + var integer v_num := c_defaultParValue; + activate(a(v_num)); + v_num := v_num + 1; + p.send(integer:5); + alt { + [] p.receive(integer:0) { // not expected: leads to default evocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200502_the_activate_operation_002()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_003.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..de3d703c9a5982234dc1d26ec28ff5ebcc278466 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify that passing component timer to activated altstep + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// All timer instances in the actual parameter list shall be declared as component type local timers. + +module Sem_200502_the_activate_operation_003 { + + type component GeneralComp { + timer tc_tmr := 0.5; + } + + altstep a(timer t_tmr) runs on GeneralComp { + [] t_tmr.timeout {} + } + + testcase TC_Sem_200502_the_activate_operation_003() runs on GeneralComp { + tc_tmr.start; + activate(a(tc_tmr)); + any port.receive; + setverdict(pass); + } + + control{ + execute(TC_Sem_200502_the_activate_operation_003()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_004.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a9f86c7568ddd19a8e57b22778ce37b1a9576766 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200502_the_activate_operation/Sem_200502_the_activate_operation_004.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.2, verify passing port parameter to activated altstep + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// An altstep that is activated as a default shall only have in parameters, port parameters, or timer parameters. + +module Sem_200502_the_activate_operation_004 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a(P p_port) runs on GeneralComp { + [] p_port.receive(integer:?) { setverdict(pass); } + } + + testcase TC_Sem_200502_the_activate_operation_004() runs on GeneralComp { + activate(a(p)); + p.send(integer:1); + alt { + [] p.receive(integer:0) { setverdict(fail); } + } + } + + control{ + execute(TC_Sem_200502_the_activate_operation_004()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..010161a7557f3a3278486b044412dfa4395e87fc --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_001.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate deactivated default causes error + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Calling a deactivate operation with an undefined default reference, e.g. an old reference +// to a default that has already been deactivated, shall cause a runtime error. + +module NegSem_200503_the_deactivate_operation_001 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_NegSem_200503_the_deactivate_operation_001() runs on GeneralComp { + var default v_default := activate(a1()); + p.send(integer:1); + deactivate(v_default); // correct deactivation + deactivate(v_default); // v_default is deactivated at this point -> runtime error + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_NegSem_200503_the_deactivate_operation_001(), 1.0); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_002.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..82ed5a313cbcd61e3f2d396d2ef3c3c96ba55fb7 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_002.ttcn @@ -0,0 +1,47 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate uninitialized default causes error + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Calling a deactivate operation with an uninitialized default reference variable +// shall cause a runtime error. + +module NegSem_200503_the_deactivate_operation_002 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + + testcase TC_NegSem_200503_the_deactivate_operation_002() runs on GeneralComp { + var default v_default; + var boolean v_flag := false; + if (v_flag) { + v_default := activate(a1()); + } + p.send(integer:1); + deactivate(v_default); // uninitialized -> runtime error + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_NegSem_200503_the_deactivate_operation_002(), 1.0); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_003.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..34ea01d51628b24249c626edbdb2d34ac5fec5bd --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/NegSem_200503_the_deactivate_operation_003.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that error is generated when deactivated reference is on incorrect type + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// A deactivate operation will remove the referenced default from the list of defaults. + +module NegSem_200503_the_deactivate_operation_003 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_NegSem_200503_the_deactivate_operation_003() runs on GeneralComp { + var GeneralComp v_ptc := null; + p.send(integer:1); + deactivate(v_ptc); // incorrect type -> error + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_NegSem_200503_the_deactivate_operation_003()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_001.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..040387a5a90921ca12a51c31c0c720d10802eece --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_001.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate removes default from list of defaults + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// A deactivate operation will remove the referenced default from the list of defaults. + +module Sem_200503_the_deactivate_operation_001 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(fail, "Deactivated"); // should be deactivated at the time of default processing + } + } + + testcase TC_Sem_200503_the_deactivate_operation_001() runs on GeneralComp { + var default v_default; + activate(a1()); + v_default := activate(a2()); + p.send(integer:1); + deactivate(v_default); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200503_the_deactivate_operation_001()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_002.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..02d00df2c1306bac35be47dae4d666c9ea2ff1cd --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_002.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate removes default from list of defaults + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// A deactivate operation will remove the referenced default from the list of defaults. + +// Note: +// The test verifies syntactical variant with a function instance passed as a parameter +// to the deactivate operation. + +module Sem_200503_the_deactivate_operation_002 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(fail, "Deactivated"); // should be deactivated at the time of default processing + } + } + + function f(default p_default) return default { + return p_default; + } + + testcase TC_Sem_200503_the_deactivate_operation_002() runs on GeneralComp { + var default v_default; + activate(a1()); + v_default := activate(a2()); + p.send(integer:1); + deactivate(f(v_default)); + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200503_the_deactivate_operation_002()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_003.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..42c2e31e4b0adca620fb2e393cb95a8ac6b39849 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_003.ttcn @@ -0,0 +1,53 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate without parameter clear list of defaults + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// A deactivate operation without parameter deactivates all defaults of a test component. + +module Sem_200503_the_deactivate_operation_003 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:1) { + setverdict(fail, "Deactivated"); // should be deactivated at the time of default processing + } + } + + altstep a2() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(fail, "Deactivated"); // should be deactivated at the time of default processing + } + } + + testcase TC_Sem_200503_the_deactivate_operation_003() runs on GeneralComp { + timer t := 0.5; + t.start; + activate(a1()); + activate(a2()); + p.send(integer:1); + deactivate; + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + [] t.timeout { // timer should provide enough time to take at least one snapshot + setverdict(pass); + } + } + } + + control{ + execute(TC_Sem_200503_the_deactivate_operation_003()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_004.ttcn b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bd500da09391f1a1b6f648dd3ab4b904b9a9e8d0 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/2005_default_handling/200503_the_deactivate_operation/Sem_200503_the_deactivate_operation_004.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:20.5.1, verify that deactivate null works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Calling a deactivate operation with the special value null has no effect. + +module Sem_200503_the_deactivate_operation_004 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a1() runs on GeneralComp { + [] p.receive(integer:?) { + setverdict(pass); + } + } + + testcase TC_Sem_200503_the_deactivate_operation_004() runs on GeneralComp { + var default v_default := null; + activate(a1()); + p.send(integer:1); + deactivate(v_default); // v_default is null: there should be no error and no deactivation + alt { + [] p.receive(integer:0) { // not expected: leads to default invocation + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_200503_the_deactivate_operation_004()); + } +} diff --git a/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_001.ttcn b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56b409e1134e8a5c991c8e0e2b2af23a60d86733 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_001.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20, Ensure that alt-statements are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_20_TopLevel_001 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_test := "ping"; + +testcase TC_Syn_20_TopLevel_001() runs on GeneralComp { + var boolean guard := false; + p.send(m_test); + alt { + [] p.receive(m_test) { + setverdict(pass); + } + [guard == true] p.receive(m_test) { + setverdict(fail); + } + [else] { + setverdict(fail); + } + } +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_002.ttcn b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49abd6b18bfd52cf741ef723a249362fbd2e4dd4 --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_002.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20, Ensure that repeat in an alt-statement is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_20_TopLevel_002 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_test := "ping"; + +testcase TC_Syn_20_TopLevel_002() runs on GeneralComp { + var integer counter := 1; + p.send(m_test); + alt { + [counter == 1] p.receive(m_test) { + counter := counter + 1; + repeat; + } + [else] { + setverdict(pass); + } + } +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_003.ttcn b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e4cf4e059f07fe6b8f3498a4f561d29677c3876b --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_003.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20, Ensure that the interleave-statement is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_20_TopLevel_003 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +testcase TC_Syn_20_TopLevel_003() runs on GeneralComp { + p.send(m_testOne); + p.send(m_testTwo); + interleave { + [] p.receive(m_testOne) { + } + [] p.receive(m_testTwo) { + } + } + setverdict(pass); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_004.ttcn b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c1091743bc6d7db845c480477924c44bb5c56e4a --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_004.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20, Ensure that defaults and the activate statement is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_20_TopLevel_004 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +altstep a_catchError() runs on GeneralComp { + [] any port.receive { + } +} + +testcase TC_Syn_20_TopLevel_004() runs on GeneralComp { + var default v_errorDefault := activate(a_catchError()); + p.send(m_testOne); + alt { + [] p.receive(m_testOne) { + } + } + setverdict(pass); +} + +} \ No newline at end of file diff --git a/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_005.ttcn b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..12300526c93ab2bbd0df370e99b7ad97e594284f --- /dev/null +++ b/ATS/20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_005.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:20, Ensure that defaults and the activate statement is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_20_TopLevel_005 { + +type port MyPort message { + inout charstring +} + +type component GeneralComp { + port MyPort p; +} + +template charstring m_testOne := "ping1"; +template charstring m_testTwo := "ping2"; + +altstep a_catchError() runs on GeneralComp { + [] any port.receive { + } +} + +testcase TC_Syn_20_TopLevel_005() runs on GeneralComp { + var default v_errorDefault := activate(a_catchError()); + p.send(m_testOne); + alt { + [] p.receive(m_testOne) { + } + } + deactivate(v_errorDefault); + setverdict(pass); +} + +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NOTES b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..f49c96ae79a6bbc9673a318bf986fd38f2959065 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NOTES @@ -0,0 +1 @@ +More connect and map test are given in section 9.1 \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1971f53a4db3bad9127ceb5bdaac728f5bba0275 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_001.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that connect operation rejects ports with incompatible message type lists + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, inlists and outlists are completely incompatible + +module NegSem_210101_connect_and_map_operations_001 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + in R; + } + + type port P2 message { + out bitstring; + in boolean; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + testcase TC_NegSem_210101_connect_and_map_operations_001() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + connect(v_ptc1:p, v_ptc2:p); // incompatible message types: error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_001()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e57937787aeb2377821ef6dedd281a7b38eae355 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_002.ttcn @@ -0,0 +1,65 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that connect operation rejects ports with only partially compatible message type lists + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, one pair in outlist-PORT1 and inlist-PORT2 is incompatible (using +// strong typing rules) + +module NegSem_210101_connect_and_map_operations_002 { + type record R { + integer field1, + charstring field2 + } + + type record R2 { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R; + } + + type port P2 message { + in R2, integer; + out integer; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + testcase TC_NegSem_210101_connect_and_map_operations_002() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + // R2 and R are compatible types, but strong typing is required in case of connection operation + connect(v_ptc1:p, v_ptc2:p); // incompatible message types: error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_002()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_003.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5134dbd09e69b134b50c41e8e333b33a84f8485f --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_003.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that map operation rejects ports with incompatible message type lists + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, inlists and outlists are completely incompatible + +module NegSem_210101_connect_and_map_operations_003 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R; + } + + type port P2 message { + out boolean; + in bitstring; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_NegSem_210101_connect_and_map_operations_003() runs on GeneralComp system SystemComp { + map(system:p, self:p); // incompatible message types: error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_003()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_004.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a2316a285a147646e3c0ff4e3e069fa1c5e5dea --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_004.ttcn @@ -0,0 +1,61 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that connect operation rejects ports with only partially compatible message type lists + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, one pair in outlist-PORT1 and inlist-PORT2 is incompatible (using +// strong typing rules) + +module NegSem_210101_connect_and_map_operations_004 { + type record R { + integer field1, + charstring field2 + } + + type record R2 { + integer field1, + charstring field2 + } + + type port P1 message { + in integer; + inout R; + } + + type port P2 message { + in integer, R; + out R2; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_NegSem_210101_connect_and_map_operations_004() runs on GeneralComp system SystemComp { + // R2 and R are compatible types, but strong typing is required in case of connection operation + map(system:p, self:p); // incompatible message types: error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_004()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_005.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d05dae0b9d2c41bb0f82ab6cc97171d32eb03b3 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_005.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that map parameters cannot be used when not declared in the port type + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction g: +// If in a map operation a param clause is present, the actual parameters shall conform +// to the map param clause of the port type declaration of the system port used. + +module NegSem_210101_connect_and_map_operations_005 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210101_connect_and_map_operations_005() runs on GeneralComp system GeneralComp { + map(system:p, self:p) param(5); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_005()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_006.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..04383b41744a8d24e2ae49612e0a5b38fc036576 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_006.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that type incompatibility in map parameters is detected + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction g: +// If in a map operation a param clause is present, the actual parameters shall conform +// to the map param clause of the port type declaration of the system port used. + +module NegSem_210101_connect_and_map_operations_006 { + + type port P message { + inout integer; + map param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210101_connect_and_map_operations_006() runs on GeneralComp system GeneralComp { + map(system:p, self:p) param("5"); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_006()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_007.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..548a2c21615f5bb4bc6271eb6d5c0837c268e679 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_and_map_operations_007.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that parameter count mismatch in map param clause is detected + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction g: +// If in a map operation a param clause is present, the actual parameters shall conform +// to the map param clause of the port type declaration of the system port used. + +module NegSem_210101_connect_and_map_operations_007 { + + type port P message { + inout integer; + map param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210101_connect_and_map_operations_007() runs on GeneralComp system GeneralComp { + map(system:p, self:p) param(5, 3); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_connect_and_map_operations_007()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..11090356ae1846ac42e6b6a69873d73745bec4ed --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Ensure that the the IUT does not allows two output port connection + ** @verdict pass reject + ***************************************************/ +//Test the two output port cannot connect +module NegSem_210101_connect_operation_001{ + + type port myport message { + out integer + } + + +type component Mysystem + { + port myport messagePort; + } + +testcase TC_NegSem_210101_connect_operation_001() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + var Mysystem MyCompB; + +MyCompA:=Mysystem.create; +MyCompB:=Mysystem.create; +connect(MyCompA:messagePort,MyCompB:messagePort); //not allowed messageports are output + +} +control{ + execute(TC_NegSem_210101_connect_operation_001()); +} +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7e2f9b75dd9b106853ab3b7f418d72c75927a8e9 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_connect_operation_002.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Ensure that the the IUT does not allow connecting incompatible ports + ** @verdict pass reject + ***************************************************/ +//Test the two input port cannot connect +module NegSem_210101_connect_operation_002{ + + type port myport message { + in integer + } + + +type component Mysystem + { + port myport messagePort; + } + +testcase TC_NegSem_210101_connect_operation_002() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + var Mysystem MyCompB; + +MyCompA:=Mysystem.create; +MyCompB:=Mysystem.create; +connect(MyCompA:messagePort,MyCompB:messagePort); //not allowed messageports are output + +} +control{ + execute(TC_NegSem_210101_connect_operation_002()); +} +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..424aadfad8f2ece367ace46758422044d20f5d35 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Ensure that IUT cannot map input port with output port + ** @verdict pass reject + ***************************************************/ + +// Mycompport A P1 is input port mapped to SUT out port +module NegSem_210101_map_operation_001{ + + type port loopbackPort message { + out integer + } +type port IntegerOutputPortType message { + in integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_210101_map_operation_001() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:MycomportA, system:messagePort); //not allowed: MycomportA is in port, meanwhile MySysteminterface port is output + +} +control{ + execute(TC_NegSem_210101_map_operation_001()); +} +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e0b24a76702b78306c918564b028c815a46a5341 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/NegSem_210101_map_operation_002.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Ensure that IUT cannot map input port with output port + ** @verdict pass reject + ***************************************************/ + +// Mycompport A P1 is output port mapped to SUT in port +module NegSem_210101_map_operation_002{ + + type port loopbackPort message { + in integer + } +type port IntegerOutputPortType message { + out integer + } + +type component GeneralComp + { + + port IntegerOutputPortType MycomportA + } + +type component MyTestSystemInterface + { + port loopbackPort messagePort + } +// MyTestSystemInterface is the test system interface +testcase TC_NegSem_210101_map_operation_002() runs on GeneralComp system MyTestSystemInterface { +// establishing the port connections +map(mtc:MycomportA, system:messagePort); //not allowed: MycomportA is out port, meanwhile MySysteminterface port is input + +} +control{ + execute(TC_NegSem_210101_map_operation_002()); +} +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55547ab801cf10c9a5773113fce93d9505b8ec1e --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_001.ttcn @@ -0,0 +1,84 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Connect operation accepts ports with compatible message type list containing several types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 == inlist-PORT2 and outlist-PORT2 == inlist-PORT1 + +module Sem_210101_connect_and_map_operations_001 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R, charstring; + } + + type port P2 message { + in charstring, R, integer; + out integer; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + function f1() runs on C1 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + function f2() runs on C2 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + testcase TC_Sem_210101_connect_and_map_operations_001() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + connect(v_ptc1:p, v_ptc2:p); // compatible, 1:1 mapping + v_ptc1.start(f1()); + v_ptc2.start(f2()); + all component.done; + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_001()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7456178241ddfdfeb002f1d494fad3ece458341a --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_002.ttcn @@ -0,0 +1,86 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Connect operation accepts ports where outlist of the 1st port is a subset of inlist of the 2nd port + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 ⊂ inlist-PORT2 and outlist-PORT2 == inlist-PORT1 + +module Sem_210101_connect_and_map_operations_002 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R; + } + + type port P2 message { + in charstring, boolean, R, integer; + out integer; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + function f1() runs on C1 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + function f2() runs on C2 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + + testcase TC_Sem_210101_connect_and_map_operations_002() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + // v_ptc1:p outlist is (integer, R) and v_ptc2:p inlist is (charstring, boolean, R, integer) + connect(v_ptc1:p, v_ptc2:p); + v_ptc1.start(f1()); + v_ptc2.start(f2()); + all component.done; + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_002()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_003.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8e9d07cbb9a7ca7e458d69ac8bedc28e592a9273 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_003.ttcn @@ -0,0 +1,86 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Connect operation accepts ports where outlist of the 2nd port is a subset of inlist of the 1st port + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 == inlist-PORT2 and outlist-PORT2 ⊂ inlist-PORT1 + +module Sem_210101_connect_and_map_operations_003 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R; + } + + type port P2 message { + in charstring, boolean, R, integer; + out integer; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + function f1() runs on C1 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + function f2() runs on C2 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + + testcase TC_Sem_210101_connect_and_map_operations_003() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + // v_ptc2:p inlist is (charstring, boolean, R, integer) and v_ptc1:p outlist is (integer, R) + connect(v_ptc2:p, v_ptc1:p); + v_ptc1.start(f1()); + v_ptc2.start(f2()); + all component.done; + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_003()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_004.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2af32be62329ca05abcfa424c1b0e0427d5a20ea --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_004.ttcn @@ -0,0 +1,86 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Connect operation accepts ports where outlist of both ports are subsets of inlist of the counterpart ports + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// b) The connect operation is allowed if and only if: +// outlist-PORT1 ⊆ inlist-PORT2 and outlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 ⊂inlist-PORT2 and outlist-PORT2 ⊂ inlist-PORT1 + +module Sem_210101_connect_and_map_operations_004 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer, R; + in bitstring; + } + + type port P2 message { + in charstring, boolean, R, integer; + out integer; + } + + type component GeneralComp { + } + + type component C1 { + port P1 p; + } + + type component C2 { + port P2 p; + } + + function f1() runs on C1 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + function f2() runs on C2 + { + timer t := 1.0; + t.start; + if(p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + testcase TC_Sem_210101_connect_and_map_operations_004() runs on GeneralComp system GeneralComp { + var C1 v_ptc1 := C1.create; + var C2 v_ptc2 := C2.create; + // v_ptc1:p outlist is (integer, R) and v_ptc2:p inlist is (charstring, boolean, R, integer) + // v_ptc2:p outlist is (integer) and v_ptc2:p inlist is (R, integer, bitstring) + connect(v_ptc1:p, v_ptc2:p); + v_ptc1.start(f1()); + v_ptc2.start(f2()); + all component.done; + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_004()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4a5923f04e1608aee269bb52ee2129437dda65da --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_005.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Map operation accepts ports with compatible message type list containing several types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 == outlist-PORT2 and inlist-PORT2 == inlist-PORT1 + +module Sem_210101_connect_and_map_operations_005 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R, charstring; + } + + type port P2 message { + out charstring, R, integer; + in integer; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_Sem_210101_connect_and_map_operations_005() runs on GeneralComp system SystemComp { + map(self:p, system:p); // compatible, 1:1 mapping + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_005()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0a98c29a02a2abf6147308d6427be79a3761167 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_006.ttcn @@ -0,0 +1,59 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Map operation accepts ports with compatible message type list containing several types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 ⊂ outlist-PORT2 and inlist-PORT2 == inlist-PORT1 + +module Sem_210101_connect_and_map_operations_006 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + inout integer; + out R; + } + + type port P2 message { + out charstring, R, integer, bitstring; + in integer; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_Sem_210101_connect_and_map_operations_006() runs on GeneralComp system SystemComp { + // self:p outlist is (integer, R) and system:p outlist is (charstring, boolean, R, integer) + map(self:p, system:p); + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_006()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_007.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..abd280e88ffb325f48f7cb7d32fa466fba744edc --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_007.ttcn @@ -0,0 +1,61 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Map operation accepts ports with compatible message type list containing several types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 == outlist-PORT2 and inlist-PORT2 ⊂ inlist-PORT1 + +module Sem_210101_connect_and_map_operations_007 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + in charstring, bitstring; + inout integer; + out R; + } + + type port P2 message { + out R, integer; + in integer; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_Sem_210101_connect_and_map_operations_007() runs on GeneralComp system SystemComp { + // self:p inlist is (integer, charstring, bitstring) and system:p inlist is (integer) + map(system:p, self:p); + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_007()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_008.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8e8c56878ef0432a75a1f3e1c8094fca5f99f719 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_008.ttcn @@ -0,0 +1,61 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Map operation accepts ports with compatible message type list containing several types + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// For the connect operations, only consistent connections are allowed. +// a) Assuming the following: +// 1) ports PORT1 and PORT2 are the ports to be connected; +// 2) inlist-PORT1 defines the messages or procedures of the in-direction of PORT1; +// 3) outlist-PORT1defines the messages or procedures of the out-direction of PORT1; +// 4) inlist-PORT2 defines the messages or procedures of the in-direction of PORT2; and +// 5) outlist-PORT2 defines the messages or procedures of the out-direction of PORT2. +// c) The map operation (assuming PORT2 is the test system interface port) is allowed if +// and only if: +// outlist-PORT1 ⊆ outlist-PORT2 and inlist-PORT2 ⊆ inlist-PORT1. +// +// In this test, outlist-PORT1 ⊂ outlist-PORT2 and inlist-PORT2 ⊂ inlist-PORT1 + +module Sem_210101_connect_and_map_operations_008 { + type record R { + integer field1, + charstring field2 + } + + type port P1 message { + in charstring, bitstring; + inout integer; + out R; + } + + type port P2 message { + out R, integer, boolean; + in integer; + } + + type component GeneralComp { + port P1 p + } + + type component SystemComp { + port P2 p; + } + + testcase TC_Sem_210101_connect_and_map_operations_008() runs on GeneralComp system SystemComp { + // self:p inlist is (integer, charstring, bitstring) and system:p inlist is (integer) + // self:p outlist is (integer, R) and system:p outlist is (integer, R, boolean) + map(system:p, self:p); + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_008()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c223af9e253aaf576a101713794a1e2fd642d43 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_009.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 433, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.1, Ensure that map param statements are allowed in testcase block + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210101_connect_and_map_operations_009 { + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType1 { + integer field1, + charstring field2, + boolean field3 + } + + type port MyMessagePortType message { + inout integer; + map param (in MyMessageType1 p1, inout charstring p2); + } + + const MyMessageType1 c_myTemplate1 := { + field1 := 2, + field2 := "foobar", + field3 := true + } + + testcase TC_Sem_210101_connect_and_map_operations_009() runs on GeneralComp system GeneralComp { + var charstring v_varString := "foobar"; + + map(mtc:pt_myPort, system:pt_myPort) param(c_myTemplate1, v_varString); + + pt_myPort.send(13); + log("Map inout parameter: ", v_varString); + + if(pt_myPort.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + unmap(mtc:pt_myPort, system:pt_myPort); + + setverdict(pass); + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_009()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_010.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0fb787382dc17e8fbb81a46c5c225b0334250df3 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210101_connect_and_map_operations/Sem_210101_connect_and_map_operations_010.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.1, Verify that the param part can be skipped in map operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Restriction g: +// In map operations, param clauses are optional. + +module Sem_210101_connect_and_map_operations_010 { + + type port P message { + inout integer; + map param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_Sem_210101_connect_and_map_operations_010() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control{ + execute(TC_Sem_210101_connect_and_map_operations_010()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..657ce697fea5a50764cfcc7b100eb7263debe670 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_001.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that unmap operation cannot contain a system port reference + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// The disconnect and unmap operations are the opposite operations of connect and map. +// (21.1) The ports of a test component can be connected to other components or to the +// ports of the test system interface. When connecting a test component to a test system +// interface the map operation shall be used. + +module NegSem_210102_disconnect_and_unmap_operations_001 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_001() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc := GeneralComp.create; + + connect(self:p, v_ptc:p); + unmap(self:p, v_ptc:p); // no system port reference: error expected + } + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e91c4dbf789493519c77aee6dc29b8650ab2bb96 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_002.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that disconnecting all ports of all components is not possible in PTC + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// The all component keyword ... shall only be used by the MTC. + +module NegSem_210102_disconnect_and_unmap_operations_002 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function f() runs on GeneralComp { + disconnect(all component:all port); // error: allowed in PTC only + setverdict(pass); + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_002() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + v_ptc.start(f()); + v_ptc.done; // wait for the PTC to finish + } + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_002()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_003.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..263b6cea21edfa23f439d4826586b16e935f8a0d --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_003.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that unmapping all ports of all components is not possible in PTC + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// The all component keyword ... shall only be used by the MTC. + +module NegSem_210102_disconnect_and_unmap_operations_003 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function f() runs on GeneralComp { + unmap(all component:all port); // error: allowed in PTC only + setverdict(pass); + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_003() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc := GeneralComp.create; + map(self:p, system:p); + map(v_ptc:p, system:p); + v_ptc.start(f()); + v_ptc.done; // wait for the PTC to finish + } + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_003()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_004.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..679be7d7c9544ca01ab24e96cf545ec084de2fda --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_004.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that unmap parameters cannot be used when not declared in the port type + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction b: +// If in a unmap operation a param clause is present, the actual parameters shall conform +// to the unmap param clause of the port type declaration of the system port used. + +module NegSem_210102_disconnect_and_unmap_operations_004 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_004() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(system:p, self:p) param(5); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_004()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_005.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..42b149d10047256394a589d2dbc0918eeda5a5a9 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_005.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that type incompatibility in unmap parameters is detected + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction b: +// If in a unmap operation a param clause is present, the actual parameters shall conform +// to the unmap param clause of the port type declaration of the system port used. + +module NegSem_210102_disconnect_and_unmap_operations_005 { + + type port P message { + inout integer; + unmap param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_005() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(self:p, system:p) param("5"); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_005()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_006.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b246a9b5fba377da2b8ed47b2924a7a4998619c8 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_006.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that parameter count mismatch in unmap param clause is detected + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction b: +// If in a unmap operation a param clause is present, the actual parameters shall conform +// to the unmap param clause of the port type declaration of the system port used. + +module NegSem_210102_disconnect_and_unmap_operations_006 { + + type port P message { + inout integer; + unmap param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_006() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(self:p, system:p) param(5, 3); + setverdict(pass); + } + + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_006()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_017.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c67f623c26908a574e2cbc9677a9d76e468fe860 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_and_unmap_operations_017.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that the param clause cannot be used when unmap contains no system port reference + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// Restriction a: +// In an unmap operation, a param clause shall only be present if the system port to +// which the param clause belongs to is explicitly referenced. + +module NegSem_210102_disconnect_and_unmap_operations_017 { + + type port P message { + inout integer; + unmap param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_NegSem_210102_disconnect_and_unmap_operations_013() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(self:p) param(3); + if(not p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control{ + execute(TC_NegSem_210102_disconnect_and_unmap_operations_013()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_operation_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4881eafa736b8a0672c2d223face3f6b403faeb --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/NegSem_210102_disconnect_operation_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that mapped port cannot disconnect + ** @verdict pass reject + ***************************************************/ +// System and component interface cannot disconnect +module NegSem_210102_disconnect_operation_001{ + + type port myport message { + inout integer + } + + + type component Mysystem + { + port myport messagePort; + } + function f() runs on Mysystem {} + + testcase TC_NegSem_210102_disconnect_operation_001() runs on Mysystem system Mysystem { + var Mysystem MyCompA; + + MyCompA:=Mysystem.create; + + map(MyCompA:messagePort,system:messagePort); + + MyCompA.start(f()); + + disconnect(MyCompA:messagePort,system:messagePort); // system interface cannot disconnect + + } + control{ + execute(TC_NegSem_210102_disconnect_operation_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..20ee5ebd5a8b301000587a97514092e2279a6401 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_001.ttcn @@ -0,0 +1,52 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that disconnect operation with two parameters works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The disconnect ... operations perform the disconnection (of previously connected) +// ports of test components... + +module Sem_210102_disconnect_and_unmap_operations_001{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkConnected(boolean p_stateActive) runs on GeneralComp + { + if(p.checkstate("Connected") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_001() runs on GeneralComp system GeneralComp { + // components are created alive so that their connections are not destroyed when behaviour stops + var GeneralComp v_ptc1 := GeneralComp.create alive, + v_ptc2 := GeneralComp.create alive, + v_ptc3 := GeneralComp.create alive; + + connect(v_ptc1:p, v_ptc2:p); + connect(v_ptc1:p, v_ptc3:p); + + disconnect(v_ptc1:p, v_ptc2:p); + + // verity that ports are really disconnected + v_ptc1.start(checkConnected(true)); // still connectected to v_ptc3:p + v_ptc2.start(checkConnected(false)); // no active connection + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebaba9dda9a50ccac3bb01413a4b2d0a6ea6f51f --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_002.ttcn @@ -0,0 +1,53 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that disconnect operation with one parameter works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// To ease disconnect ... operations related to all connections ... of ... a port, it is +// allowed to use disconnect ... operations with one argument only. This one argument +// specifies one side of the connections to be disconnected... + +module Sem_210102_disconnect_and_unmap_operations_002{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkDisconnected() runs on GeneralComp + { + if(not p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_002() runs on GeneralComp system GeneralComp { + // components are created alive so that their connections are not destroyed when behaviour stops + var GeneralComp v_ptc1 := GeneralComp.create alive, + v_ptc2 := GeneralComp.create alive, + v_ptc3 := GeneralComp.create alive; + + connect(v_ptc1:p, v_ptc2:p); + connect(v_ptc1:p, v_ptc3:p); + + disconnect(v_ptc1:p); + + // verity that ports are really disconnected + v_ptc2.start(checkDisconnected()); + v_ptc3.start(checkDisconnected()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_002()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_003.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f5406d8fab2db2b885eb5ebd2d0935fe9cb1358 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_003.ttcn @@ -0,0 +1,68 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that disconnect operation with all ports of a component works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// To ease disconnect ... operations related to all connections ... of a component ..., +// it is allowed to use disconnect ... operations with one argument only. This one argument +// specifies one side of the connections to be disconnected... The all port keyword can be +// used to denote all ports of a component. + +module Sem_210102_disconnect_and_unmap_operations_003{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + function checkAllDisconnected() runs on GeneralComp + { + timer t := 1.0; + t.start; + if(not p1.checkstate("Connected") and not p2.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + function checkSecondConnected() runs on GeneralComp + { + if(not p1.checkstate("Connected") and p2.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_003() runs on GeneralComp system GeneralComp { + // components are created alive so that their connections are not destroyed when behaviour stops + var GeneralComp v_ptc1 := GeneralComp.create alive, + v_ptc2 := GeneralComp.create alive, + v_ptc3 := GeneralComp.create alive; + + connect(v_ptc1:p1, v_ptc2:p1); + connect(v_ptc1:p2, v_ptc3:p1); + connect(v_ptc2:p2, v_ptc3:p2); + + disconnect(v_ptc1:all port); + + // verity that ports are really disconnected + v_ptc1.start(checkAllDisconnected()); + v_ptc2.start(checkSecondConnected()); + v_ptc3.start(checkSecondConnected()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_003()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_004.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2ed0c76da90c85146b4a70d1eff6402909d91f7e --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_004.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that disconnect operation with no argument works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The usage of a disconnect ... operation without any parameters is a shorthand +// form for using the operation with the parameter self:all port. It disconnects +// ... all ports of the component that calls the operation. + +module Sem_210102_disconnect_and_unmap_operations_004{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + function checkSecondConnected() runs on GeneralComp + { + if(not p1.checkstate("Connected") and p2.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_004() runs on GeneralComp system GeneralComp { + // components are created alive so that their connections are not destroyed when behaviour stops + var GeneralComp v_ptc1 := GeneralComp.create alive, + v_ptc2 := GeneralComp.create alive; + + connect(self:p1, v_ptc1:p1); + connect(self:p2, v_ptc2:p1); + connect(v_ptc1:p2, v_ptc2:p2); + + disconnect; + + // verity that ports are really disconnected + v_ptc1.start(checkSecondConnected()); + v_ptc2.start(checkSecondConnected()); + if(not p1.checkstate("Connected") and not p2.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_004()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_005.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56b16fa45d1b1930778999bd348b81041ca59bd8 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_005.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that unmap operation with one system port as a parameter works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// To ease ... map operations related to all ... mappings of ... a port, it is +// allowed to use ... unmap operations with one argument only. This one argument +// specifies one side of the connections to be ... unmapped. + +module Sem_210102_disconnect_and_unmap_operations_005 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkUnmapped() runs on GeneralComp + { + if(not p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_005() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p, system:p); + map(v_ptc1:p, system:p); + + unmap(system:p); + + // verity that ports are really unmapped + checkUnmapped(); + v_ptc1.start(checkUnmapped()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_005()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_006.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c99637cab96f622c4a0f806b132b8fb1e7a8350 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_006.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that unmap operation with one component port as a parameter works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// To ease ... map operations related to all ... mappings of ... a port, it is +// allowed to use ... unmap operations with one argument only. This one argument +// specifies one side of the connections to be ... unmapped. + +module Sem_210102_disconnect_and_unmap_operations_006 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkMapped(boolean p_stateActive) runs on GeneralComp + { + if(p.checkstate("Mapped") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_006() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p, system:p); + map(v_ptc1:p, system:p); + + unmap(v_ptc1:p); + + // verity that ports are really unmapped + checkMapped(true); // still mapped to system:p + v_ptc1.start(checkMapped(false)); // no active mapping + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_006()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_007.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..24e75ac892cf9dfc254d0139691ff6073045f19c --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_007.ttcn @@ -0,0 +1,58 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that unmap operation with all ports of a component works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// To ease ... map operations related to all ... mappings of a component ..., it is +// allowed to use ... unmap operations with one argument only. This one argument +// specifies one side of the connections to be ... unmapped. The all port keyword +// can be used to denote all ports of a component. + +module Sem_210102_disconnect_and_unmap_operations_007 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + function checkPortMapped(boolean p_stateActive, P p_port) + { + if(p_port.checkstate("Mapped") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + function checkMapped(boolean p_stateActive) runs on GeneralComp + { + checkPortMapped(p_stateActive, p1); + checkPortMapped(p_stateActive, p2); + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_007() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p1, system:p1); + map(self:p2, system:p2); + map(v_ptc1:p1, system:p1); + map(v_ptc1:p2, system:p2); + + unmap(v_ptc1:all port); + + // verity that ports are really unmapped + checkMapped(true); // still mapped to system:p1 and system:p2 + v_ptc1.start(checkMapped(false)); // no active mapping + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_007()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_008.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..557620eeb7fed31bc58aae4985f991c8f6926e01 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_008.ttcn @@ -0,0 +1,57 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that unmap operation with no parameters works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The usage of an ... unmap operation without any parameters is a shorthand +// form for using the operation with the parameter self:all port. It ... +// unmaps all ports of the component that calls the operation. + +module Sem_210102_disconnect_and_unmap_operations_008 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + function checkPortMapped(boolean p_stateActive, P p_port) + { + if(p_port.checkstate("Mapped") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + function checkMapped(boolean p_stateActive) runs on GeneralComp + { + checkPortMapped(p_stateActive, p1); + checkPortMapped(p_stateActive, p2); + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_008() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p1, system:p1); + map(self:p2, system:p2); + map(v_ptc1:p1, system:p1); + map(v_ptc1:p2, system:p2); + + unmap; + + // verity that ports are really unmapped + checkMapped(false); // no active mapping + v_ptc1.start(checkMapped(true)); // still mapped to system:p1 and system:p2 + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_008()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_009.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a661f6e5c55ba31622caff7ec16cb93e26c97bc1 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_009.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Ensure that all component notation works correctly in unmap operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The all component keyword shall only be used in combination with the all port +// keyword, i.e. all component:all port, and shall only be used by the MTC. Furthermore, +// the all component:all port argument shall be used as the one and only argument of a +// disconnect or unmap operation and it allows to release all connections and mappings +// of the test configuration. + +module Sem_210102_disconnect_and_unmap_operations_009 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p1, p2; + } + + function checkUnmapped() runs on GeneralComp + { + if(not p1.checkstate("Mapped") and not p2.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_009() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p1, system:p1); + map(self:p2, system:p2); + map(v_ptc1:p1, system:p1); + map(v_ptc1:p2, system:p2); + + unmap(all component:all port); + + // verity that ports are really unmapped + checkUnmapped(); + v_ptc1.start(checkUnmapped()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_009()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_010.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..64cd4b08f7b6dea3344aad02c9f2cfeb7d4aadf7 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_010.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that no error is generated when unmapping ports that are not mapped + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// An ... unmap operation has only an effect if the ... mapping to be removed +// has been created beforehand. + +module Sem_210102_disconnect_and_unmap_operations_010 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_010() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + connect(self:p, v_ptc1:p); + unmap( v_ptc1:p, system:p); //no effect, ports not mapped + setverdict(pass); + } + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_010()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..545be517ab14e9a71ccec58dc55c73259298685b --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_011.ttcn @@ -0,0 +1,58 @@ +/***************************************************************** + ** @author STF 433, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.2, Ensure that unmap param statements are allowed in testcase block + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210102_disconnect_and_unmap_operations_011 { + + type component GeneralComp { + port MyMessagePortType pt_myPort; + } + + type record MyMessageType1 { + boolean h1, + MyMessageType1 h2 optional + } + + type record MyMessageType2 { + integer g1, + charstring g2 + } + + type port MyMessagePortType message { + inout all; + unmap param (in MyMessageType1 p1, inout MyMessageType2 p2); + } + + const MyMessageType1 c_myTemplate1 := { + h1 := false, + h2 := { + h1:= true, + h2 := omit + } + } + + const MyMessageType2 c_myTemplate2 := { + g1 := 2, + g2 := "foo" + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_011() runs on GeneralComp system GeneralComp { + var MyMessageType2 v_myTemplate2 := c_myTemplate2; + + map(mtc:pt_myPort, system:pt_myPort); + + pt_myPort.send(13); + + unmap(mtc:pt_myPort, system:pt_myPort) param(c_myTemplate1, v_myTemplate2); + log("Unmap inout parameter", v_myTemplate2); + + setverdict(pass); + } + + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_011()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_012.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65dfe403f8a600e5915ee9fb7338c553ca072a9c --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_012.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that the param part can be skipped in unmap operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Restriction b: +// In unmap operations, param clauses are optional. + +module Sem_210102_disconnect_and_unmap_operations_012 { + + type port P message { + inout integer; + unmap param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_012() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(self:p, system:p); + if(not p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_012()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_013.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a5da241615967adc2aee830c731b755d4135a61a --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_and_unmap_operations_013.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1.2, Verify that the param clause can be used when unmap contains a single system port parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// Restriction a: +// In an unmap operation, a param clause shall only be present if the system port to +// which the param clause belongs to is explicitly referenced. + +module Sem_210102_disconnect_and_unmap_operations_013 { + + type port P message { + inout integer; + unmap param (integer p_par1); + } + + type component GeneralComp { + port P p + } + + testcase TC_Sem_210102_disconnect_and_unmap_operations_013() runs on GeneralComp system GeneralComp { + map(system:p, self:p); + unmap(system:p) param(1); + if(not p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control{ + execute(TC_Sem_210102_disconnect_and_unmap_operations_013()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..755f38a03a0c9623b1bd207f0e2d61b7a7f0ef16 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_001.ttcn @@ -0,0 +1,59 @@ +/*************************************************** + ** @author STF 451, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.2, Ensure that all component notation work correctly in disconnect operation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The all component keyword shall only be used in combination with the all port +// keyword, i.e. all component:all port, and shall only be used by the MTC. Furthermore, +// the all component:all port argument shall be used as the one and only argument of a +// disconnect or unmap operation and it allows to release all connections and mappings +// of the test configuration. + +module Sem_210102_disconnect_operation_001{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function f() runs on GeneralComp + { + timer t := 1.0; + t.start; + if(not p.checkstate("Connected")) { + setverdict(pass); + } else { + setverdict(fail); + } + t.timeout; // keep alive for 1 second + } + + testcase TC_Sem_210102_disconnect_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create, + v_ptc2 := GeneralComp.create, + v_ptc3 := GeneralComp.create; + + connect(v_ptc1:p, v_ptc2:p); + connect(v_ptc1:p, v_ptc3:p); + connect(v_ptc2:p, v_ptc3:p); + + disconnect(all component:all port); + + // verity that ports are really disconnected + v_ptc1.start(f()); + v_ptc2.start(f()); + v_ptc3.start(f()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_operation_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b7f8283b8834120f13d7a903a74f0479ebae1f4 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_disconnect_operation_002.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 451, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.1, Ensure that disconnect has no effect on components that are not connected + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_210102_disconnect_operation_002{ + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function f() runs on GeneralComp + { + if(p.checkstate("Mapped")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_disconnect_operation_002() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create, + v_ptc2 := GeneralComp.create; + + map(v_ptc1:p, system:p); + + disconnect(v_ptc1:p, v_ptc2:p); // acceptable even when not connected + + v_ptc1.start(f()); + all component.done; + } + control{ + execute(TC_Sem_210102_disconnect_operation_002()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c7a94cda570dc57cea269d25172d96c7711139cc --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_001.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 451, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.2, Ensure that umnap operation of a system and component port works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The ... unmap operations perform ... the unmapping of (previously mapped) ports of +// test components and ports in the test system interface. + +module Sem_210102_unmap_operation_001 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkMapped(boolean p_stateActive) runs on GeneralComp + { + if(p.checkstate("Mapped") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_unmap_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p, system:p); + map(v_ptc1:p, system:p); + + unmap(system:p, v_ptc1:p); + + // verity that ports are really unmapped + checkMapped(true); // still mapped to system:p + v_ptc1.start(checkMapped(false)); // no active mapping + v_ptc1.done; + } + + control{ + execute(TC_Sem_210102_unmap_operation_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9857f7be62d1c6fbc36842dc8d6b7eadd964af74 --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/210102_disconnect_and_unmap_operations/Sem_210102_unmap_operation_002.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 451, STF 470 + ** @version 0.0.2 + ** @purpose 1:21.1.2, Ensure that umnap operation of a component and system port works correctly + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirements are tested: +// The ... unmap operations perform ... the unmapping of (previously mapped) ports of +// test components and ports in the test system interface. + +module Sem_210102_unmap_operation_002 { + + type port P message { + inout integer + } + + type component GeneralComp + { + port P p; + } + + function checkMapped(boolean p_stateActive) runs on GeneralComp + { + if(p.checkstate("Mapped") xor not p_stateActive) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + testcase TC_Sem_210102_unmap_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc1 := GeneralComp.create; + + map(self:p, system:p); + map(v_ptc1:p, system:p); + + unmap(v_ptc1:p, system:p); + + // verity that ports are really unmapped + checkMapped(true); // still mapped to system:p + v_ptc1.start(checkMapped(false)); // no active mapping + v_ptc1.done; + } + + control{ + execute(TC_Sem_210102_unmap_operation_001()); + } +} + diff --git a/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_001.ttcn b/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d8d6751f07cb5e3b577ae60007ace6f11a0b567e --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1, Verify that connect operation cannot contain a system port + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// In the case of connections between two test components, the connect operation shall be used. + +module NegSem_2101_TopLevel_001 { + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_NegSem_210101_TopLevel_001() runs on GeneralComp system GeneralComp { + connect(self:p, system:p); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_TopLevel_001()); + } +} diff --git a/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_002.ttcn b/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bfe154833418fded62c4f6685864ab32259dc2bf --- /dev/null +++ b/ATS/21_configuration_operations/2101_connection_operations/2101_toplevel/NegSem_2101_TopLevel_002.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:21.1, Verify that map operation fails if both operands are component ports + ** @verdict pass reject + ***************************************************/ + +// The following requirements are tested: +// When connecting a test component to a test system interface the map operation shall be used. + +module NegSem_2101_TopLevel_002 { + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_NegSem_210101_TopLevel_002() runs on GeneralComp system GeneralComp { + var GeneralComp v_ptc := GeneralComp.create; + map(self:p, v_ptc:p); // error expected + setverdict(pass); + } + + control{ + execute(TC_NegSem_210101_TopLevel_002()); + } +} diff --git a/ATS/21_configuration_operations/2102_test_case_operations/NOTES b/ATS/21_configuration_operations/2102_test_case_operations/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ATS/21_configuration_operations/2102_test_case_operations/NegSem_2102_testcase_stop_001.ttcn b/ATS/21_configuration_operations/2102_test_case_operations/NegSem_2102_testcase_stop_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3f302dfb40036fdc5d89de4955cf5532d6c8b04c --- /dev/null +++ b/ATS/21_configuration_operations/2102_test_case_operations/NegSem_2102_testcase_stop_001.ttcn @@ -0,0 +1,20 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.2, Stopping test case + ** @verdict pass reject + ***************************************************/ +// Explicit test case termination test +module NegSem_2102_testcase_stop_001 { + type component GeneralComp {} + + testcase TC_NegSem_2102_testcase_stop_001() runs on GeneralComp { + var boolean v_b := true; + + testcase.stop("Unexpected Termination"); // stop runing test case now + } + + control { + execute(TC_NegSem_2102_testcase_stop_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fd39ef732385bfcfb64b6af698916996052c4cdd --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_001.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named components on hosts are accepted + ** @verdict pass reject + *****************************************************************/ +module NegSem_210301_CreateOperation_001 { + + type component GeneralComp { } + + testcase TC_NegSem_210301_CreateOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create(5); // it should expect charstring + setverdict(pass); + } + + control { + execute(TC_NegSem_210301_CreateOperation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..543052d4948e342c9d9b8acaba923be4c4aa8c89 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_002.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named components on hosts are accepted + ** @verdict pass reject + *****************************************************************/ +module NegSem_210301_CreateOperation_002 { + + type component GeneralComp { } + + testcase TC_NegSem_210301_CreateOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create(true); // it should expect charstring + setverdict(pass); + } + + control { + execute(TC_NegSem_210301_CreateOperation_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_003.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a546da0850499c1ec79da194f091adfb46a9ca5 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/NegSem_210301_CreateOperation_003.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named components on hosts are accepted + ** @verdict pass reject + *****************************************************************/ +module NegSem_210301_CreateOperation_003 { + + type component GeneralComp { } + + testcase TC_NegSem_210301_CreateOperation_003() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create(-, 'CAFFEE'O); // it should expect charstring + setverdict(pass); + } + + control { + execute(TC_NegSem_210301_CreateOperation_003()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f972e8f8fa63f2a13c1af958977a85d20c41d3b1 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_001.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that unnamed components can be created + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210301_CreateOperation_001 { + + type component GeneralComp { + var NewComp vc_NewComp; + timer t := 5.0; + } + type component NewComp { } + + function f_testComp() runs on GeneralComp { + var NewComp v_NewComp := NewComp.create; + t.start; + a_createComp(); + setverdict(pass); + } + + function f_createComp() return NewComp { + return NewComp.create; + } + + altstep a_createComp() runs on GeneralComp { + [] t.timeout { + vc_NewComp := NewComp.create; + setverdict(pass); + } + } + + testcase TC_Sem_210301_CreateOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create; + ptc.start(f_testComp()); + setverdict(pass); + } + + control { + execute(TC_Sem_210301_CreateOperation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..30745bd211a38c02aa99546ba34fc684876cd759 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_002.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named components can be created + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210301_CreateOperation_002 { + + type component GeneralComp { + var NewComp vc_NewComp; + timer t := 5.0; + } + + type component NewComp { } + + function f_testComp() runs on GeneralComp { + var NewComp v_NewComp := NewComp.create("1 & * 5abc"); + t.start; + a_createComp(); + setverdict(pass); + } + + function f_createComp() return NewComp { + return NewComp.create("some name"); + } + + altstep a_createComp() runs on GeneralComp { + [] t.timeout { + vc_NewComp := NewComp.create("component#" & int2str(2)); + setverdict(pass); + } + } + + testcase TC_Sem_210301_CreateOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create("a component name"); + ptc.start(f_testComp()); + setverdict(pass); + } + + control { + execute(TC_Sem_210301_CreateOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_003.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7b8567d4d217ac2bda4daea01bc627b13af7473a --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_003.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that unnamed alive components on hosts can be created + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210301_CreateOperation_003 { + + type component GeneralComp { + var NewComp vc_NewComp; + timer t := 5.0; + } + + type component NewComp { } + + function f_testComp() runs on GeneralComp { + var NewComp v_NewComp := NewComp.create alive; + t.start; + a_createComp(); + setverdict(pass); + } + + function f_createComp() return NewComp { + return NewComp.create alive; + } + + altstep a_createComp() runs on GeneralComp { + [] t.timeout { + vc_NewComp := NewComp.create alive; + setverdict(pass); + } + } + + testcase TC_Sem_210301_CreateOperation_003() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create alive; + ptc.start(f_testComp()); + setverdict(pass); + } + + control { + execute(TC_Sem_210301_CreateOperation_003()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_004.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ffd99029d307c3f7a3ccc0d497bb343808e70795 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Sem_210301_CreateOperation_004.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named alive components can be created + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210301_CreateOperation_004 { + const charstring componentName := "component#"; + + type component GeneralComp { + var NewComp vc_NewComp; + timer t := 5.0; + } + + type component NewComp { } + + function f_testComp() runs on GeneralComp { + var NewComp v_NewComp := NewComp.create("1 & * 5abc") alive; + t.start; + a_createComp(); + setverdict(pass); + } + + function f_createComp() return NewComp { + return NewComp.create("some name") alive; + } + + altstep a_createComp() runs on GeneralComp { + [] t.timeout { + vc_NewComp := NewComp.create(componentName & int2str(2)) alive; + setverdict(pass); + } + } + + testcase TC_Sem_210301_CreateOperation_004() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create("a component name") alive; + ptc.start(f_testComp()); + setverdict(pass); + } + + control { + execute(TC_Sem_210301_CreateOperation_004()); + } + +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Syn_210301_CreateOperation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Syn_210301_CreateOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..639d91e103ea04f528f6c88dcc4a65643d4df511 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210301_create_operation/Syn_210301_CreateOperation_001.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.1, Ensure that named components on hosts are accepted + ** @verdict pass accept, noexecution + *****************************************************************/ +// only syntactic test since it cannot be tested if "localhost" is not supported for component creation +module Syn_210301_CreateOperation_001 { + const charstring hostname := "localhost"; + + type component GeneralComp { + var NewComp vc_NewComp; + timer t := 5.0; + } + + type component NewComp { } + + function f_testComp() runs on GeneralComp { + var NewComp v_NewComp := NewComp.create("1 & * 5abc", hostname); + t.start; + a_createComp(); + setverdict(pass); + } + + function f_createComp() return NewComp { + return NewComp.create(-, "localhost"); + } + + altstep a_createComp() runs on GeneralComp { + [] t.timeout { + vc_NewComp := NewComp.create("component#" & int2str(2), hostname); + setverdict(pass); + } + } + + testcase TC_Syn_210301_CreateOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc := GeneralComp.create("a component name", "localhost"); + ptc.start(f_testComp()); + setverdict(pass); + } + + control { + execute(TC_Syn_210301_CreateOperation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..32a0385792fd98501d206d581134532a008d681d --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.2, Ensure that non-alive ptc cannot start again + ** @verdict pass reject + *****************************************************************/ +//Non alive test component cannot start another function behavior +module NegSem_210302_Start_test_component_001 { + + type component GeneralComp { } + function f() runs on GeneralComp {} + function f2() runs on GeneralComp {} + + testcase TC_NegSem_210302_Start_test_component_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + ptc:=GeneralComp.create; + + ptc.start(f()); + ptc.done; + ptc.start(f2()); // test case error, ptc is non-alive + + setverdict(pass); + } + + control { + execute(TC_NegSem_210302_Start_test_component_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bacdd8194c8b630e9e5fe892e30855a610b06931 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/NegSem_210302_Start_test_component_002.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:21.3.2, Ensure that only component type is allowed for ptc declaration + ** @verdict pass reject + *****************************************************************/ +// VariableRef (being a component type variable, a component type parameter +module NegSem_210302_Start_test_component_002 { + + type component GeneralComp { } + type record Rectype{} + function f() runs on GeneralComp {} + testcase TC_NegSem_210302_Start_test_component_002() runs on GeneralComp system GeneralComp { + var Rectype ptc; + ptc:=GeneralComp.create; // VariableRef (being a component type variable, a component type parameter + + ptc.start(f()); + + setverdict(pass); + } + + control { + execute(TC_NegSem_210302_Start_test_component_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c295345f57cf016abf544a3bc4bcad2e96ee5539 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210302_start_test_component/Sem_210302_Start_test_component_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.2, Ensure that alive test components are allowed to start another function + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Alive test component starts another function +module Sem_210302_Start_test_component_001 { + + type component GeneralComp { } + function f() runs on GeneralComp {} + function f2() runs on GeneralComp {} + + testcase TC_Sem_210302_Start_test_component_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + ptc:=GeneralComp.create alive; + + ptc.start(f()); + ptc.done; + ptc.start(f2()); // allowed since ptc is alive + + setverdict(pass); + } + + control { + execute(TC_Sem_210302_Start_test_component_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d426f4ce928ca5b33468afb13d4092ee81c160e7 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_001.ttcn @@ -0,0 +1,46 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.3, Ensure that component.stop causes the stopping of the target component. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_210303_Stop_test_component_001 { + + type component GeneralComp { } + + function f() runs on GeneralComp { + // wait until component is stopped from outside + while (true) {} + } + + + testcase TC_Sem_210303_Stop_test_component_001() runs on GeneralComp system GeneralComp { + timer t := 1.0; + var GeneralComp ptc; + ptc:=GeneralComp.create; + + ptc.start(f()); + + // wait until component started + t.start; + t.timeout; + + ptc.stop; + + // Test ptc behavior after stop + if (ptc.running==false) + { + setverdict(pass); + } + else + { + setverdict(fail, "Component still running"); + } + + } + + control { + execute(TC_Sem_210303_Stop_test_component_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65c60a791ad57f450adb87b489dd739cd3c71b68 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210303_stop_test_component/Sem_210303_Stop_test_component_002.ttcn @@ -0,0 +1,56 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.3, Ensure that self.stop stops current component + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_210303_Stop_test_component_002 { + + type port PSync message { + inout all; + } + type component GeneralComp { + timer t; + port PSync p_sync; + } + function f() runs on GeneralComp { + p_sync.send("Started PTC"); + self.stop; //stops the ptc + + // wait 2 seconds to catch the self.stop not working + t.start(2.0); + t.timeout; + } + + testcase TC_Sem_210303_Stop_test_component_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + + ptc:=GeneralComp.create; + connect(mtc:p_sync, ptc:p_sync); + + + ptc.start(f()); + t.start(2.0); + alt { + [] p_sync.receive { + t.stop; + // wait to be sure that self.stop was called + t.start(0.5); + t.timeout; + if (ptc.running) { + setverdict(fail); + } else { + setverdict(pass); + } + } + [] t.timeout { + setverdict(fail); + } + } + + } + + control { + execute(TC_Sem_210303_Stop_test_component_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ae62a8ef5a330e20693a7148a1bd757329ca6cf6 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_001.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.4, Ensure that kill operator stops a non alive test components. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Non-alive test component kill + +module Sem_210304_kill_test_component_001 { + + type component GeneralComp { } + function f() runs on GeneralComp {} + + + testcase TC_Sem_210304_kill_test_component_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + ptc:=GeneralComp.create; + + ptc.start(f()); + + ptc.kill; + + if(ptc.running==false) + { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210304_kill_test_component_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5496b5fdadeeb2277d014bae822be82e1c94f81d --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_002.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.4, Ensure that all component kill stop all ptcs + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Kill all component (ptc and ptc2) with all component.kill +module Sem_210304_kill_test_component_002 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210304_kill_test_component_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + + all component.kill; + + if (all component.alive==false) { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210304_kill_test_component_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_003.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da809bb1c1153e1f0a9c72691b45f0ad97a57a37 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_003.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.4, Ensure that kill operator stops only non alive test components + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Kill only stops non alive test components +module Sem_210304_kill_test_component_003 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210304_kill_test_component_003() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + ptc.kill; + + + if (ptc.alive==false and ptc2.alive==true) { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210304_kill_test_component_003()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_004.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bdc75544ae115ea413fc03778042a3ebdd39e868 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210304_kill_test_component_operation/Sem_210304_kill_test_component_004.ttcn @@ -0,0 +1,59 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.4, Ensure that self kill called in a functions stops non alive test comp. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// non alive test component calls function with self.kill + +module Sem_210304_kill_test_component_004 { + + type port PSync message { + inout all; + } + type component GeneralComp { + timer t; + port PSync p_sync; + } + function f() runs on GeneralComp { + p_sync.send("Started PTC"); + self.kill; + + // wait 2 seconds to catch the self.kill not working + t.start(2.0); + t.timeout; + } + + + testcase TC_Sem_210304_kill_test_component_004() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + + ptc:=GeneralComp.create; + connect(mtc:p_sync, ptc:p_sync); + + + ptc.start(f()); + t.start(2.0); + alt { + [] p_sync.receive { + t.stop; + // wait to be sure that self.kill was called + t.start(0.5); + t.timeout; + if (ptc.running) { + setverdict(fail); + } else { + setverdict(pass); + } + } + [] t.timeout { + setverdict(fail); + } + } + + } + + control { + execute(TC_Sem_210304_kill_test_component_004()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3f64ac2d5c5c0a25384551303da8cd12a7de7c13 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_001.ttcn @@ -0,0 +1,47 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.5, Testing alive operator with an alive test component + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Alive test component calls a function f1. Afterwards calls f2 function + +module Sem_210305_alive_operation_001 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + function f2 ( integer p_integer ) runs on GeneralComp return integer { + v_gc:=p_integer*p_integer; + return v_gc; + } + testcase TC_Sem_210305_alive_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + ptc:=GeneralComp.create alive; + + ptc.start(f1()); + + ptc.done; + + if (ptc.alive) { + ptc.start(f2(3)); + v_res:=f2(3); +} + + if(v_res==9) + { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210305_alive_operation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..00a28ed1ed12415b2711d6b229c91bf00cb254d3 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_002.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.5, Test all component alive operator with alive test components + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//Test all component alive operator in case when two alive test components is already running + +module Sem_210305_alive_operation_002 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210305_alive_operation_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + ptc.done; + + if (all component.alive) { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210305_alive_operation_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_003.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14f450b90d9445ca26853c989c090275516dbe75 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_003.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.5, Ensure that alive operator gives a correct boolean result + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Two alive test components.ptc killed, than the alive check. +module Sem_210305_alive_operation_003 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210305_alive_operation_003() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + ptc.kill; + + if (ptc.alive==false and ptc2.alive==true) { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210305_alive_operation_003()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_004.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..224c5ccd56b7b88b8d17f52e4c81717098fe9854 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210305_alive_operation/Sem_210305_alive_operation_004.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.5, Test any component alive operator with multiple test components + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Any component alive test with two test components. + +module Sem_210305_alive_operation_004 { + + type component GeneralComp { + var integer v_gc:=0; + var integer v_res:=0;} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210305_alive_operation_004() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + ptc.kill; + + if (any component.alive) { + setverdict(pass); + } + else + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_210305_alive_operation_004()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78ef400cfb18880546b689f5de7cc30882c42d01 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_001.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.6, Check that running operator provides information about test components. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_210306_running_operation_001 { + + type component GeneralComp {} + + function f1 ( ) runs on GeneralComp { + while (true) {} // block forever + } + + testcase TC_Sem_210306_running_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + ptc.stop; + + // Check that ptc is not running, and ptc2 component is running + if (ptc.running==false and ptc2.running==true) { + setverdict(pass); + } else { + setverdict(fail, "either stopped ptc is running or not stopped ptc2 is not running"); + } + } + + control { + execute(TC_Sem_210306_running_operation_001(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a1dbd754155f243ac0aa309425a7085ede8cb3f4 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210306_running_operation/Sem_210306_running_operation_002.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.6, Any component with running can check the status of the test components + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_210306_running_operation_002 { + + type component GeneralComp {} + + function f1 ( ) runs on GeneralComp { + while (true) {} // block forever + } + + testcase TC_Sem_210306_running_operation_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create; + ptc2:=GeneralComp.create; + + ptc.start(f1()); + ptc2.start(f1()); + + ptc.kill; + + // Any component running test that from two test components at least one is running or not + if (any component.running == true) { //ptc2 running + setverdict(pass); + } else { + setverdict(fail, "ptc2 should still be running"); + } + } + + control { + execute(TC_Sem_210306_running_operation_002(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..64e0a3cafec369b349d00b0dbef4a75194efac97 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/NegSem_210307_done_operation_001.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.7, Ensure that done operator can be used only for ptcs. + ** @verdict pass reject + *****************************************************************/ +// Done operator can be used only for ptcs, not for mtcs. + +module NegSem_210307_done_operation_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_NegSem_210307_done_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + + GeneralComp.done; // not allowed. Done only allowed for ptcs. + + } + + control { + execute(TC_NegSem_210307_done_operation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/Sem_210307_done_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/Sem_210307_done_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5cda27b8d45cae1d154a222122afdf6fd17c7f53 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210307_done_operation/Sem_210307_done_operation_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.7, Ensure that all component with done can check that at least one test component is not done + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Any component done to check that two test component finished. + +module Sem_210307_done_operation_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210307_done_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + + all component.done; + + alt { + [] all component.done {setverdict(pass);} + } + + + } + + control { + execute(TC_Sem_210307_done_operation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/NegSem_210308_killed_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/NegSem_210308_killed_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9ee77edf4398caf852bac51fd304860cf3850632 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/NegSem_210308_killed_operation_001.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.8, Ensure that killed operator is only valid for ptcs. + ** @verdict pass reject + *****************************************************************/ +// killed operator is not allowed for mtc check. + +module NegSem_210308_killed_operation_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_NegSem_210308_killed_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + + mtc.kill; + + alt { + [] any component killed {setverdict(pass);} // not allowed. killed only allowed for ptcs. + } + } + + control { + execute(TC_NegSem_210308_killed_operation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_001.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c2fce0e47ec77d35883d47bae907b9dc0f93379f --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_001.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.8, Ensure that all component kill can be checked with killed operator + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// all components are killed, than check the status with killed operator + +module Sem_210308_killed_operation_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210308_killed_operation_001() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + + all component.kill; + + alt { + [] all component.killed {setverdict(pass);} + } + + + } + + control { + execute(TC_Sem_210308_killed_operation_001()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_002.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e68026a1b81ddb939154cdc5328ffe1e288da479 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_002.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.8, check that any component and killed operator can check that at least one test component is running or not + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// Check that at least one test component is still running or not +module Sem_210308_killed_operation_002 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210308_killed_operation_002() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create alive; + + ptc.start(f1()); + ptc2.start(f1()); + + ptc.kill; + + alt { + [] any component.killed {setverdict(pass);} + } + + + } + + control { + execute(TC_Sem_210308_killed_operation_002()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_003.ttcn b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b96434470f87213fbb7417d5bb8e20ef2b7d1b1 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210308_killed_operation/Sem_210308_killed_operation_003.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:21.3.8, Ensure that the alive keyword is properly evaluated + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_210308_killed_operation_003 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_210308_killed_operation_003() runs on GeneralComp system GeneralComp { + var GeneralComp ptc; + var GeneralComp ptc2; + ptc:=GeneralComp.create alive; + ptc2:=GeneralComp.create; + + ptc.start(f1()); + ptc2.start(f1()); + + ptc.stop; + ptc2.stop; + + alt { + [] all component.killed {setverdict(fail);} //ptc is alive only kill stops it + [] ptc2.killed {setverdict(pass);} + } + + + } + + control { + execute(TC_Sem_210308_killed_operation_003()); + } +} \ No newline at end of file diff --git a/ATS/21_configuration_operations/2103_test_component_operations/210309_any_and_all_components/NOTES b/ATS/21_configuration_operations/2103_test_component_operations/210309_any_and_all_components/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..0dd0cba154d6eac5be518c2f0d36d612c7303e02 --- /dev/null +++ b/ATS/21_configuration_operations/2103_test_component_operations/210309_any_and_all_components/NOTES @@ -0,0 +1 @@ +Test cases using all and any keywords are already present in preceding subsections of 21.03. \ No newline at end of file diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f6229481af7fd436cc4533314151327ff1423d45 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_001.ttcn @@ -0,0 +1,104 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass reject + ***************************************************/ + +module NegSem_220201_SendOperation_001 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_220201_SendOperation_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + template MessageType mw_sendingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=*,b:=2,c:=true}, + field7 := {a:=1,b:=*,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(mw_sendingTemplate); //can only send specific values + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_220201_SendOperation_001()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_002.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d698d32c4a916a73f9d4f4f79e50d39dab59f424 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_002.ttcn @@ -0,0 +1,104 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass reject + ***************************************************/ + +module NegSem_220201_SendOperation_002 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_220201_SendOperation_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + template MessageType mw_sendingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=?,b:=2,c:=true}, + field7 := {a:=1,b:=?,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(mw_sendingTemplate); //can only send specific values + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_220201_SendOperation_002()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_003.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f0d989233eafc09501424e3048207fb1a555978 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass reject + ***************************************************/ + +module NegSem_220201_SendOperation_003 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_220201_SendOperation_003() runs on GeneralComp { + + + messagePort.send(float:2.0); //sent type does not match port specification + + alt { + [] messagePort.receive(2) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_220201_SendOperation_003()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_004.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fcd31595191ee846fd07381fa5b960e30e871e25 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/NegSem_220201_SendOperation_004.ttcn @@ -0,0 +1,63 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220201_SendOperation_004 { + +signature p_NegSem_220201_SendOperation_004(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + +template p_NegSem_220201_SendOperation_004 s_baseTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := ? +} + +template p_NegSem_220201_SendOperation_004 s_returnTemplate modifies s_baseTemplate := { + p_par3 := 5 +} + +template p_NegSem_220201_SendOperation_004 s_wrongTemplate modifies s_baseTemplate := { + p_par3 := 3 +} + +template p_NegSem_220201_SendOperation_004 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 +} + + type port remotePort procedure { + out p_NegSem_220201_SendOperation_004; + } + +type component GeneralComp { + port remotePort PCO; +} + +testcase NegSem_220201_SendOperation_004() runs on GeneralComp { + + PCO.send(p_NegSem_220201_SendOperation_004:s_callTemplate, 5.0) { //cannot use send operation on a procedure based port + + [] PCO.getreply(p_NegSem_220201_SendOperation_004:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220201_SendOperation_004:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220201_SendOperation_004:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } +} + +control{ + execute(NegSem_220201_SendOperation_004()); +} + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ba852bb0d24cb298c5348cb25d1769c5bf5e5512 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_001.ttcn @@ -0,0 +1,104 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220201_SendOperation_001 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220201_SendOperation_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + template MessageType mw_sendingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(mw_sendingTemplate); //can send also template with specific values + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220201_SendOperation_001()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_002.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a43b157ec4aff118c49cc383112f80ad84c439d2 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_002.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220201_SendOperation_002 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220201_SendOperation_002() runs on GeneralComp { + + + messagePort.send(2); //can send also in-line template + + alt { + [] messagePort.receive(2) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220201_SendOperation_002()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_003.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..aec65453c98600f51161c3e94df29bbef3308e71 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_003.ttcn @@ -0,0 +1,50 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220201_SendOperation_003 { + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type port loopbackPort message { + inout RecordType, SetType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220201_SendOperation_003() runs on GeneralComp { + + + messagePort.send(RecordType:{1,2,true}); //can send also in-line template + + alt { + [] messagePort.receive(RecordType:{1,2,true}) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220201_SendOperation_003()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_004.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a9009ee4b8dbc3403a819a937051cd74bba2d208 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220201_send_operation/Sem_220201_SendOperation_004.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.1, Ensure that the IUT correctly handles message sending operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220201_SendOperation_004 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220201_SendOperation_004() runs on GeneralComp { + var integer v_1:=2, v_2:=3; + + messagePort.send(v_1*v_2+1); //can send also the results of operations + + alt { + [] messagePort.receive(7) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220201_SendOperation_004()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..02e0bb87b1ef5284d9e44dc34baa9711a30debda --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/NegSem_220202_ReceiveOperation_001.ttcn @@ -0,0 +1,63 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220202_ReceiveOperation_001 { + +signature p_NegSem_220202_ReceiveOperation_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + +template p_NegSem_220202_ReceiveOperation_001 s_baseTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := ? +} + +template p_NegSem_220202_ReceiveOperation_001 s_returnTemplate modifies s_baseTemplate := { + p_par3 := 5 +} + +template p_NegSem_220202_ReceiveOperation_001 s_wrongTemplate modifies s_baseTemplate := { + p_par3 := 3 +} + +template p_NegSem_220202_ReceiveOperation_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 +} + + type port remotePort procedure { + out p_NegSem_220202_ReceiveOperation_001; + } + +type component GeneralComp { + port remotePort PCO; +} + +testcase NegSem_220202_ReceiveOperation_001() runs on GeneralComp { + + PCO.call(p_NegSem_220202_ReceiveOperation_001:s_callTemplate, 5.0) { + + [] PCO.receive(p_NegSem_220202_ReceiveOperation_001:s_wrongTemplate value 1) { //cannot receive from procedure based port + setverdict(fail); + } + [] PCO.receive(p_NegSem_220202_ReceiveOperation_001:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.receive(p_NegSem_220202_ReceiveOperation_001:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } +} + +control{ + execute(NegSem_220202_ReceiveOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2df5fd3e9edb065556ae32015f507f297ed7fd59 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_001.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220202_ReceiveOperation_001 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220202_ReceiveOperation_001() runs on GeneralComp { + + messagePort.send(2); + + alt { + [] messagePort.receive(1) { //must not remove message from queue + setverdict(fail); + } + [] messagePort.receive(2) { //this alt is only selected if message not removed from the queue + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220202_ReceiveOperation_001()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_002.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..37d63acb43aca27f23a5d276fe2c665bbd0f437c --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_002.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220202_ReceiveOperation_002 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220202_ReceiveOperation_002() runs on GeneralComp { + + messagePort.send(2); + + alt { + [] messagePort.receive { //must remove message from queue + setverdict(pass); + } + [] messagePort.receive { //this alt is only selected if message not removed from the queue + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220202_ReceiveOperation_002()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_003.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e98d7b10e31caa121bb3e58aca55d68b88acc2c --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_003.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220202_ReceiveOperation_003 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220202_ReceiveOperation_003() runs on GeneralComp { + var integer v_received:=0; + + messagePort.send(2); + + alt { + [] messagePort.receive(integer:?) -> value v_received { + if(v_received==2) { //check that correct value has been stored + setverdict(pass); + } + else { + setverdict(fail); + } + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220202_ReceiveOperation_003()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_004.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..901afb542257d7e97864ddcdc35ebb258c0b4e6f --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_004.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220202_ReceiveOperation_004 { + + type charstring address; + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + const address c_address := "Tester"; + + testcase TC_Sem_220202_ReceiveOperation_004() runs on GeneralComp { + var address v_sender; + + messagePort.send(2) to c_address; + + alt { + [] messagePort.receive(2) -> sender v_sender { + messagePort.send(5) to v_sender; + alt { + [] messagePort.receive(5) from v_sender { //check that correct sender address has been assigned + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + } + [] messagePort.receive { + setverdict(fail); + } + } + } + + control{ + execute(TC_Sem_220202_ReceiveOperation_004()); + } + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_005.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5faaec74667b74b9c916b23c74a753509d3baa74 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220202_receive_operation/Sem_220202_ReceiveOperation_005.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.2, Ensure that the IUT correctly handles message receiving operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220202_ReceiveOperation_005 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220202_ReceiveOperation_005() runs on GeneralComp { + + messagePort.send(2); + + alt { + [] any port.receive(2) { //checks receiving from ny port + setverdict(pass); + } + [] messagePort.receive { //this alt is only selected if message was not removed from the queue + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220202_ReceiveOperation_005()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0df4ae948632a710b96e7ef5828a240035fad38d --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/NegSem_220203_TriggerOperation_001.ttcn @@ -0,0 +1,63 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220203_TriggerOperation_001 { + +signature p_NegSem_220203_TriggerOperation_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + +template p_NegSem_220203_TriggerOperation_001 s_baseTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := ? +} + +template p_NegSem_220203_TriggerOperation_001 s_returnTemplate modifies s_baseTemplate := { + p_par3 := 5 +} + +template p_NegSem_220203_TriggerOperation_001 s_wrongTemplate modifies s_baseTemplate := { + p_par3 := 3 +} + +template p_NegSem_220203_TriggerOperation_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 +} + + type port remotePort procedure { + out p_NegSem_220203_TriggerOperation_001; + } + +type component GeneralComp { + port remotePort PCO; +} + +testcase NegSem_220203_TriggerOperation_001() runs on GeneralComp { + + PCO.call(p_NegSem_220203_TriggerOperation_001:s_callTemplate, 5.0) { + + [] PCO.trigger(p_NegSem_220203_TriggerOperation_001:s_wrongTemplate value 1) { //cannot trigger from procedure based port + setverdict(fail); + } + [] PCO.trigger(p_NegSem_220203_TriggerOperation_001:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.trigger(p_NegSem_220203_TriggerOperation_001:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } +} + +control{ + execute(NegSem_220203_TriggerOperation_001()); +} + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_001.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..58f3ad0651388253accb6dc387ff958bfd175c94 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_001.ttcn @@ -0,0 +1,47 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220203_TriggerOperation_001 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220203_TriggerOperation_001() runs on GeneralComp { + + timer t_timeout := 1.0; + t_timeout.start; + + messagePort.send(2); + + alt { + [] messagePort.trigger(1) { //must remove message from queue + setverdict(fail); + } + [] messagePort.trigger(2) { //this alt is only selected if message not removed from the queue + setverdict(fail); + } + [] messagePort.trigger { + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_220203_TriggerOperation_001()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_002.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c6b75c84473a11ace6466fa455a0074da2bb2988 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_002.ttcn @@ -0,0 +1,43 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220203_TriggerOperation_002 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220203_TriggerOperation_002() runs on GeneralComp { + timer t_timeout:=5.0; + + messagePort.send(2); + t_timeout.start; + + alt { + [] messagePort.trigger { //must remove message from queue + setverdict(pass); + } + [] messagePort.trigger { //this alt is only selected if message not removed from the queue + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_220203_TriggerOperation_002()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_003.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2c0f93b39016262ca358110b7bddc6f10dbebdcc --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_003.ttcn @@ -0,0 +1,49 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220203_TriggerOperation_003 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220203_TriggerOperation_003() runs on GeneralComp { + var integer v_received:=0; + timer t_timeout:=5.0; + + messagePort.send(2); + t_timeout.start; + + alt { + [] messagePort.trigger(integer:?) -> value v_received { + if(v_received==2) { //check that correct value has been stored + setverdict(pass); + } + else { + setverdict(fail); + } + } + [] messagePort.receive { + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_220203_TriggerOperation_003()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_004.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3cbdbc6238b45f1e5aed8e838db6f87fa57bfef2 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_004.ttcn @@ -0,0 +1,59 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220203_TriggerOperation_004 { + + type charstring address; + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + + const address c_address := "Tester"; + +testcase TC_Sem_220203_TriggerOperation_004() runs on GeneralComp { + var address v_sender; + timer t_timeout:=5.0; + + + messagePort.send(2) to c_address; + t_timeout.start; + + alt { + [] messagePort.trigger(2) -> sender v_sender { + messagePort.send(5) to v_sender; + alt { + [] messagePort.trigger(5) from v_sender { //check that correct sender address has been assigned + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(fail); + } + } + } + [] messagePort.trigger { + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220203_TriggerOperation_004()); +} + +} diff --git a/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_005.ttcn b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d80d5ac3ecbb3a4256d927fbb1befb6219d6f58 --- /dev/null +++ b/ATS/22_communication_operations/2202_message_based_communication/220203_trigger_operation/Sem_220203_TriggerOperation_005.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.2.3, Ensure that the IUT correctly handles message trigger operations + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_220203_TriggerOperation_005 { + + + type port loopbackPort message { + inout integer + } + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_220203_TriggerOperation_005() runs on GeneralComp { + timer t_timeout:=5.0; + + messagePort.send(2); + t_timeout.start; + + alt { + [] any port.trigger(2) { //checks trigger from any port + setverdict(pass); + } + [] messagePort.trigger { //this alt is only selected if message was not removed from the queue + setverdict(fail); + } + [] t_timeout.timeout { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_220203_TriggerOperation_005()); +} + +} diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..445188e6d33ee9d738a01919d5510d091f2a7a54 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles procedure call operations + ** @verdict pass reject + ***************************************************/ + +module NegSem_220301_CallOperation_001 { + + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + testcase TC_NegSem_220301_CallOperation_001() runs on GeneralComp { + + messagePort.call(2); //cannot use call on a message based port + + alt { + [] messagePort.receive { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + } + + control{ + execute(TC_NegSem_220301_CallOperation_001()); + } + +} diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_002.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3484e4a0bb6f40e5379fb26a004c52659dcedee7 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/NegSem_220301_CallOperation_002.ttcn @@ -0,0 +1,121 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly procedure calls + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220301_CallOperation_002 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_NegSem_220301_CallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_NegSem_220301_CallOperation_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_NegSem_220301_CallOperation_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_NegSem_220301_CallOperation_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_NegSem_220301_CallOperation_002; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + //nowait cannot be used in this construct with timeout checking + PCO.call(p_NegSem_220301_CallOperation_002:s_callTemplate, nowait) { + + [] PCO.getreply(p_NegSem_220301_CallOperation_002:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220301_CallOperation_002:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220301_CallOperation_002:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_NegSem_220301_CallOperation_002 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_NegSem_220301_CallOperation_002:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_NegSem_220301_CallOperation_002:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_NegSem_220301_CallOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_NegSem_220301_CallOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..067827b4698fcb2fe12309f172957b3ff6c55775 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_001.ttcn @@ -0,0 +1,120 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles procedure call operations + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_001 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_001 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_001 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_001; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_Sem_220301_CallOperation_001:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220301_CallOperation_001:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_001:s_returnTemplate value 2) { + setverdict(fail); + } + [v_one>v_zero] PCO.getreply(p_Sem_220301_CallOperation_001:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220301_CallOperation_001 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_001:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220301_CallOperation_001:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220301_CallOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_001()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_002.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b0940b081e425b0e797ca0d0fbc660732434ac72 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_002.ttcn @@ -0,0 +1,120 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles procedure call operations + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_002 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_002; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_Sem_220301_CallOperation_002:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220301_CallOperation_002:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_002:s_returnTemplate value 2) { + setverdict(fail); + } + [v_one param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220301_CallOperation_002:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220301_CallOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_003.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..00775521b4a85772da9d9e55702202611a6bd0d3 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_003.ttcn @@ -0,0 +1,124 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles non-blocking procedure call + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_003 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_003 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_003 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_003 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_003; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + timer t_timer:=5.0; + + PCO.call(p_Sem_220301_CallOperation_003:s_callTemplate, nowait); //check non-blocking call + t_timer.start; + + alt { + + [] PCO.getreply(p_Sem_220301_CallOperation_003:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_003:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_003:s_returnTemplate value 1) { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220301_CallOperation_003 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_003:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220301_CallOperation_003:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220301_CallOperation_003() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_003()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_004.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..573d16b346c333529e81de7d02cdedcd3b3c4018 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_004.ttcn @@ -0,0 +1,130 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles multiple client calls to the same server + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_004 { + + type charstring address; + const address c_client1Addr := "client1Addr"; + const address c_client2Addr := "client2Addr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_004(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + + template p_Sem_220301_CallOperation_004 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_004 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_004 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_004; + } + + type component GeneralComp { + port remotePort PCO; + var address v_myAddress; + } + + function f_ClientQuery(address p_myAddress) runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + var boolean first:=true; + v_myAddress := p_myAddress; + + PCO.call(p_Sem_220301_CallOperation_004:s_callTemplate, 5.0) { + + [first] PCO.getreply(p_Sem_220301_CallOperation_004:s_returnTemplate value 1) { + first:=false; + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail, v_myAddress&" did not receive a response"); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + var address v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220301_CallOperation_004 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_004:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220301_CallOperation_004:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + function f_setAddress(address p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + } + + testcase TC_Sem_220301_CallOperation_004() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server:PCO, client2:PCO); + + server.start(f_ServerResponses()); + + client.start(f_ClientQuery(c_client1Addr)); + client2.start(f_ClientQuery(c_client2Addr)); + + interleave { + [] client.done {} + [] client2.done {} + } + server.stop; + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_004(), 30.0); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da8508814dad76e0f940aa2c39c426ff40e8289e --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_005.ttcn @@ -0,0 +1,148 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles broadcast/multicast procedure call + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_005 { + + type charstring address; + const address c_server1Addr := "server1Addr"; + const address c_server2Addr := "server2Addr"; + const address c_clientAddr := "clientAddr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_005(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_005 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_005 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_005 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_005; + } + + type component GeneralComp { + port remotePort PCO; + var address v_myAddress; + } + + function f_ClientQuery(address p_myAddress) runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + timer t_timer:=5.0; + + v_myAddress := p_myAddress; + + // validate broadcast calling + PCO.call(p_Sem_220301_CallOperation_005:s_callTemplate, nowait) to all component; + t_timer.start; + + alt { + //check that we get a reply from first server + [] PCO.getreply(p_Sem_220301_CallOperation_005:s_returnTemplate value 1) from c_server1Addr { + alt { + //check that we get a reply from second server + [] PCO.getreply(p_Sem_220301_CallOperation_005:s_returnTemplate value 1) from c_server2Addr { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + + template p_Sem_220301_CallOperation_005 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + function f_ServerResponses(address p_myAddress) runs on GeneralComp { + var address v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + v_myAddress := p_myAddress; + + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_005:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220301_CallOperation_005:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + function f_setAddress(address p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + } + + testcase TC_Sem_220301_CallOperation_005() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service") alive; + var GeneralComp server2 := GeneralComp.create("RemoteProcedure Service2") alive; + var GeneralComp client := GeneralComp.create("RemoteProcedure Client") alive; + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server2:PCO, client:PCO); + + // set server address and start operation + server.start(f_ServerResponses(c_server1Addr)); + server2.start(f_ServerResponses(c_server2Addr)); + + client.start(f_ClientQuery(c_clientAddr)); + + alt { + [] client.done { + server.stop; + server2.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + disconnect(server2:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_005()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..565dd8c2948e86bbe19684cad596d681399beba6 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_006.ttcn @@ -0,0 +1,147 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles broadcast/multicast procedure call + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_006 { + + type charstring address; + const address c_server1Addr := "server1Addr"; + const address c_server2Addr := "server2Addr"; + const address c_clientAddr := "clientAddr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_006(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_006 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_006 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_006 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_006; + } + + type component GeneralComp { + port remotePort PCO; + var address v_myAddress; + } + + function f_ClientQuery(address p_myAddress) runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + timer t_timer:=5.0; + + v_myAddress := p_myAddress; + + // validate multicast calling + PCO.call(p_Sem_220301_CallOperation_006:s_callTemplate, nowait) to (c_server1Addr,c_server2Addr); + t_timer.start; + + alt { + //check that we get a reply from first server + [] PCO.getreply(p_Sem_220301_CallOperation_006:s_returnTemplate value 1) from c_server1Addr { + alt { + //check that we get a reply from second server + [] PCO.getreply(p_Sem_220301_CallOperation_006:s_returnTemplate value 1) from c_server2Addr { + setverdict(pass); + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + [] t_timer.timeout { + setverdict(fail); + } + } + } + + template p_Sem_220301_CallOperation_006 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + function f_ServerResponses(address p_myAddress) runs on GeneralComp { + var address v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + v_myAddress := p_myAddress; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_006:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220301_CallOperation_006:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + function f_setAddress(address p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + } + + testcase TC_Sem_220301_CallOperation_006() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service") alive; + var GeneralComp server2 := GeneralComp.create("RemoteProcedure Service2") alive; + var GeneralComp client := GeneralComp.create("RemoteProcedure Client") alive; + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server2:PCO, client:PCO); + + // set server address and start operation + server.start(f_ServerResponses(c_server1Addr)); + server2.start(f_ServerResponses(c_server2Addr)); + + client.start(f_ClientQuery(c_clientAddr)); + + alt { + [] client.done { + server.stop; + server2.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + disconnect(server2:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_006()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..86c06f458999253be84d6e86364b5512ba67a630 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220301_call_operation/Sem_220301_CallOperation_007.ttcn @@ -0,0 +1,120 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.1, Ensure that the IUT correctly handles blocking procedure call + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220301_CallOperation_007 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220301_CallOperation_007(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220301_CallOperation_007 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220301_CallOperation_007 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220301_CallOperation_007 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220301_CallOperation_007; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_Sem_220301_CallOperation_007:s_callTemplate,5.0) { //blocking version of procedure call + + [] PCO.getreply(p_Sem_220301_CallOperation_007:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_007:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220301_CallOperation_007:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch(timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220301_CallOperation_007 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220301_CallOperation_007:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220301_CallOperation_007:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220301_CallOperation_007() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220301_CallOperation_007()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc313d3e297b9e641ed657decfa00f410bb0241e --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_001.ttcn @@ -0,0 +1,38 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall operations are only used on procedure based ports + ** @verdict pass reject + ***************************************************/ + +module NegSem_220302_GetcallOperation_001 { + + + type port loopbackPort message { + inout integer + } + + + type component GeneralComp { + port loopbackPort messagePort + } + + testcase TC_NegSem_220302_GetcallOperation_001() runs on GeneralComp { + + messagePort.send(2); + + alt { + [] messagePort.getcall { //cannot use getcall on a message based port + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } + } + + control{ + execute(TC_NegSem_220302_GetcallOperation_001()); + } + +} diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_002.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5abb4f41439ed409440184c438732796848a50c3 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_002.ttcn @@ -0,0 +1,123 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall operation does not allow value assignment + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220302_GetcallOperation_002 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_NegSem_220302_GetcallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_NegSem_220302_GetcallOperation_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_NegSem_220302_GetcallOperation_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_NegSem_220302_GetcallOperation_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_NegSem_220302_GetcallOperation_002; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_NegSem_220302_GetcallOperation_002:s_callTemplate, 5.0) { + + [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 2) { + setverdict(fail); + } + [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_002:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + var integer v_return; + timer t_timeout:=30.0; + + template p_NegSem_220302_GetcallOperation_002 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_NegSem_220302_GetcallOperation_001:s_acceptTemplate) -> value v_return { //not allowed assignment + } + [] t_timeout.timeout { + } + } + + } + + + testcase TC_NegSem_220302_GetcallOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + timer t_wait:=1.0; + + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + t_wait.start; + while(t_wait.running) { //this gives a chance for server to still test for second getcall match + } + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_NegSem_220302_GetcallOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_003.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6ba8e338ca2002a8516b0c53fb2fe69b3c642209 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/NegSem_220302_GetcallOperation_003.ttcn @@ -0,0 +1,122 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall for any call does not allow param assignment + ** @verdict pass reject + *****************************************************************/ + +module NegSem_220302_GetcallOperation_003 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_NegSem_220302_GetcallOperation_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_NegSem_220302_GetcallOperation_003 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_NegSem_220302_GetcallOperation_003 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_NegSem_220302_GetcallOperation_003 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_NegSem_220302_GetcallOperation_003; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_NegSem_220302_GetcallOperation_003:s_callTemplate, 5.0) { + + [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 2) { + setverdict(fail); + } + [v_one>v_zero] PCO.getreply(p_NegSem_220302_GetcallOperation_003:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_NegSem_220302_GetcallOperation_003 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall -> param(v_par1, - , v_par3) { //not allowed param assignment for any call + } + [] t_timeout.timeout { + } + } + + } + + + testcase TC_NegSem_220302_GetcallOperation_003() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + timer t_wait:=1.0; + + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + t_wait.start; + while(t_wait.running) { //this gives a chance for server to still test for second getcall match + } + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_NegSem_220302_GetcallOperation_003()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c6f21d07e31b3aad06ef0adb202dd3a2ce1d2484 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_001.ttcn @@ -0,0 +1,126 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall operations remove only matching procedure from the queue + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220302_GetcallOperation_001 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220302_GetcallOperation_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220302_GetcallOperation_001 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220302_GetcallOperation_001 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220302_GetcallOperation_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220302_GetcallOperation_001; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + + PCO.call(p_Sem_220302_GetcallOperation_001:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220302_GetcallOperation_001:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220302_GetcallOperation_001:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220302_GetcallOperation_001:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220302_GetcallOperation_001 s_noacceptTemplate := { + p_par1 := 8, + p_par2 := 8, + p_par3 := 8 + }; + + template p_Sem_220302_GetcallOperation_001 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220302_GetcallOperation_001:s_noacceptTemplate) { //should not remove incoming procedure + repeat; + } + [] PCO.getcall(p_Sem_220302_GetcallOperation_001:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220302_GetcallOperation_001:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220302_GetcallOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220302_GetcallOperation_001()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_002.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9b5be95c77b27b967ff6a79951a546cce9f28fc9 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_002.ttcn @@ -0,0 +1,132 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall operations remove the matching procedure from the queue + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220302_GetcallOperation_002 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220302_GetcallOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220302_GetcallOperation_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220302_GetcallOperation_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220302_GetcallOperation_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220302_GetcallOperation_002; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + + PCO.call(p_Sem_220302_GetcallOperation_002:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220302_GetcallOperation_002:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220302_GetcallOperation_002:s_returnTemplate value 2) { + setverdict(fail); + } + [v_one>v_zero] PCO.getreply(p_Sem_220302_GetcallOperation_002:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220302_GetcallOperation_002 s_noacceptTemplate := { + p_par1 := 8, + p_par2 := 8, + p_par3 := 8 + }; + + template p_Sem_220302_GetcallOperation_002 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220302_GetcallOperation_002:s_acceptTemplate) -> param(v_par1, - , v_par3) { + PCO.reply(p_Sem_220302_GetcallOperation_002:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); //procedure return values are sent + repeat; + } + [] PCO.getcall { //this part is not matched if procedure is removed from queue + setverdict(fail); + } + [] t_timeout.timeout { + } + } + + } + + + testcase TC_Sem_220302_GetcallOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + timer t_wait:=1.0; + + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + t_wait.start; + t_wait.timeout; //this gives a chance for server to still test for second getcall match + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220302_GetcallOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_003.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4f5af04d6b8c00c9ff277c6fdf2ed7ff446aaebf --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_003.ttcn @@ -0,0 +1,134 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that the getcall operation can be correctly restricted to a certain client + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220302_GetcallOperation_003 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220302_GetcallOperation_003(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + + template p_Sem_220302_GetcallOperation_003 s_returnTemplate1 := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220302_GetcallOperation_003 s_returnTemplate2 := { + p_par1 := -, + p_par2 := 5, + p_par3 := 6 + } + + template p_Sem_220302_GetcallOperation_003 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220302_GetcallOperation_003 s_callTemplate(in integer i) := { + p_par1 := i, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220302_GetcallOperation_003; + } + + type component GeneralComp { + var GeneralComp v_clientAddress; + port remotePort PCO; + } + + function f_ClientQuery(in integer p_i) runs on GeneralComp { + var boolean first:=true; + + PCO.call(p_Sem_220302_GetcallOperation_003:s_callTemplate(p_i), 5.0) { + + [first] PCO.getreply(s_returnTemplate1) { + first:=false; + } + [first] PCO.getreply(s_returnTemplate2) { + first:=false; + } + [] PCO.catch (timeout) { + // done + } + } + } + + function f_ServerResponses(in GeneralComp p_client) runs on GeneralComp { + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + var boolean client1_received := false; + var boolean client2_received := false; + + template p_Sem_220302_GetcallOperation_003 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + + alt { + [not client1_received] PCO.getcall(p_Sem_220302_GetcallOperation_003:s_acceptTemplate) from p_client -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220302_GetcallOperation_003:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; //procedure return values are sent + setverdict(pass, "p_client got a message"); + client1_received := true; + if (not client2_received) { + repeat; + } + } + [not client2_received] PCO.getcall(p_Sem_220302_GetcallOperation_003:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220302_GetcallOperation_003:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; //procedure return values are sent + // response for other clients + client2_received := true; + if (not client1_received) { + repeat; + } + } + [] t_timeout.timeout { + setverdict(fail, "server received not enough messages: client 1 message received ",client1_received, " client 2 message received ",client2_received); + } + } + + } + + testcase TC_Sem_220302_GetcallOperation_003() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client 1"); + var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client 2"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server:PCO, client2:PCO); + + server.start(f_ServerResponses(client)); + client.start(f_ClientQuery(1)); + client2.start(f_ClientQuery(2)); + + client.done; + client2.done; + server.stop; + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220302_GetcallOperation_003(), 5.0); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_004.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f635b0d31035b789bfc9a37c1f0a0f3abb7ffc1 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_004.ttcn @@ -0,0 +1,128 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that the getcall operation can be correctly restricted to a certain client + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220302_GetcallOperation_004 { + + type charstring address; + const address c_client1Addr := "client1Addr"; + const address c_client2Addr := "client2Addr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220302_GetcallOperation_004(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + + template p_Sem_220302_GetcallOperation_004 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220302_GetcallOperation_004 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220302_GetcallOperation_004 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220302_GetcallOperation_004; + } + + type component GeneralComp { + port remotePort PCO; + var GeneralComp v_myAddress; + } + + function f_ClientQuery(GeneralComp p_myAddress) runs on GeneralComp { + var integer v_zero:=0; + var integer v_one:=1; + var boolean first:=true; + v_myAddress := p_myAddress; + + PCO.call(p_Sem_220302_GetcallOperation_004:s_callTemplate, 3.0) { + + [first] PCO.getreply(p_Sem_220302_GetcallOperation_004:s_returnTemplate value 1) { + first:=false; + setverdict(fail); //receiving a reply is not expected for client2 query + } + [] PCO.catch (timeout) { + setverdict(pass); + } + } + } + + function f_ServerResponses(GeneralComp p_clientAddress) runs on GeneralComp { + var GeneralComp v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220302_GetcallOperation_004 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220302_GetcallOperation_004:s_acceptTemplate) from p_clientAddress -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220302_GetcallOperation_004:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to v_clientAddress; //procedure return values are sent + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + function f_setAddress(GeneralComp p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + } + + testcase TC_Sem_220302_GetcallOperation_004() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server:PCO, client2:PCO); + + server.start(f_ServerResponses(client)); + client.start(f_setAddress(client)); + client2.start(f_ClientQuery(client)); + + interleave { + [] client.done {} + [] client2.done {} + } + server.stop; + + all component.done; + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220302_GetcallOperation_004()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_005.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a85b4ba1a7e53c9ee663860def06f63840182236 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220302_getcall_operation/Sem_220302_GetcallOperation_005.ttcn @@ -0,0 +1,117 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.2, Ensure that getcall operations work with any port attribute + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220302_GetcallOperation_005 { + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220302_GetcallOperation_005(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + template p_Sem_220302_GetcallOperation_005 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220302_GetcallOperation_005 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220302_GetcallOperation_005 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220302_GetcallOperation_005; + } + + type component GeneralComp { + port remotePort PCO; + } + + function f_ClientQuery() runs on GeneralComp { + + PCO.call(p_Sem_220302_GetcallOperation_005:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220302_GetcallOperation_005:s_wrongTemplate value 1) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220302_GetcallOperation_005:s_returnTemplate value 2) { + setverdict(fail); + } + [] PCO.getreply(p_Sem_220302_GetcallOperation_005:s_returnTemplate value 1) { //check that boolean guard is correctly evaluated + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220302_GetcallOperation_005 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] any port.getcall(p_Sem_220302_GetcallOperation_005:s_acceptTemplate) -> param(v_par1, - , v_par3) { //validates getcall on any port + PCO.reply(p_Sem_220302_GetcallOperation_005:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1); + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220302_GetcallOperation_005() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + + server.start(f_ServerResponses()); + client.start(f_ClientQuery()); + + alt { + [] client.done { + server.stop; + } + } + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220302_GetcallOperation_005()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a7b3c5353fcd6cef952aecfe43f04fd301563257 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/NegSem_220303_ReplyOperation_001.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.3, Ensure that reply operations are only used on procedure based ports + ** @verdict pass reject + ***************************************************/ + +module NegSem_220303_ReplyOperation_001 { + + + type port loopbackPort message { + inout integer + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_220303_ReplyOperation_001() runs on GeneralComp { + + messagePort.send(2); + + alt { + [] messagePort.receive(2) { + messagePort.reply(3); //cannot use reply on a message based port + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_220303_ReplyOperation_001()); +} + +} diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_001.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..73347f144f6040df838245c4b903c485b53216d9 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_001.ttcn @@ -0,0 +1,140 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.3, Ensure that the IUT correctly handles reply to multiple clients on the same server + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220303_ReplyOperation_001 { + + type charstring address; + const address c_client1Addr := "client1Addr"; + const address c_client2Addr := "client2Addr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220303_ReplyOperation_001(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + + template p_Sem_220303_ReplyOperation_001 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220303_ReplyOperation_001 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220303_ReplyOperation_001 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220303_ReplyOperation_001; + } + + type component GeneralComp { + port remotePort PCO; + var address v_myAddress; + } + + function f_ClientQuery(address p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + + PCO.call(p_Sem_220303_ReplyOperation_001:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220303_ReplyOperation_001:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail, v_myAddress&" did not receive a response"); + } + } + } + + function f_Client2Query(address p_myAddress) runs on GeneralComp { + timer t_timeout:=5.0; + v_myAddress := p_myAddress; + t_timeout.start; + + alt { + + [] PCO.getreply(p_Sem_220303_ReplyOperation_001:s_returnTemplate value 1) { + setverdict(pass); + } + [] t_timeout.timeout { + setverdict(fail, v_myAddress&" did not receive a response"); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + var address v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220303_ReplyOperation_001 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220303_ReplyOperation_001:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220303_ReplyOperation_001:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to all component; //sent to all connected clients + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220303_ReplyOperation_001() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server:PCO, client2:PCO); + + server.start(f_ServerResponses()); + + client2.start(f_Client2Query(c_client2Addr)); //query only waiting for reply + client.start(f_ClientQuery(c_client1Addr)); + + interleave { + [] client.done {} + [] client2.done {} + } + server.stop; + + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220303_ReplyOperation_001()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_002.ttcn b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..959c193fe133c664d8638a19ccda80fad457a002 --- /dev/null +++ b/ATS/22_communication_operations/2203_procedure_based_communication/220303_reply_operation/Sem_220303_ReplyOperation_002.ttcn @@ -0,0 +1,139 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:22.3.3, Ensure that the IUT correctly handles reply to multiple clients on the same server + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_220303_ReplyOperation_002 { + + type charstring address; + const address c_client1Addr := "client1Addr"; + const address c_client2Addr := "client2Addr"; + + /** + * @desc testing of inline return template for remote procedure call + * @param p_par1 only input parameter + * @param p_par2 must have value 4 at return + * @param p_par3 must have value 5 at return + * @return must return value 1 + */ + signature p_Sem_220303_ReplyOperation_002(in integer p_par1, out integer p_par2, inout integer p_par3) return integer; + + + template p_Sem_220303_ReplyOperation_002 s_returnTemplate := { + p_par1 := -, + p_par2 := 4, + p_par3 := 5 + } + + template p_Sem_220303_ReplyOperation_002 s_wrongTemplate := { + p_par1 := -, + p_par2 := 2, + p_par3 := 3 + } + + template p_Sem_220303_ReplyOperation_002 s_callTemplate := { + p_par1 := 1, + p_par2 := -, + p_par3 := 3 + } + + type port remotePort procedure { + inout p_Sem_220303_ReplyOperation_002; + } + + type component GeneralComp { + port remotePort PCO; + var address v_myAddress; + } + + function f_ClientQuery(address p_myAddress) runs on GeneralComp { + v_myAddress := p_myAddress; + + PCO.call(p_Sem_220303_ReplyOperation_002:s_callTemplate, 5.0) { + + [] PCO.getreply(p_Sem_220303_ReplyOperation_002:s_returnTemplate value 1) { + setverdict(pass); + } + [] PCO.catch (timeout) { + setverdict(fail, v_myAddress&" did not receive a response"); + } + } + } + + function f_Client2Query(address p_myAddress) runs on GeneralComp { + timer t_timeout:=5.0; + v_myAddress := p_myAddress; + t_timeout.start; + + alt { + + [] PCO.getreply(p_Sem_220303_ReplyOperation_002:s_returnTemplate value 1) { + setverdict(pass); + } + [] t_timeout.timeout { + setverdict(fail, v_myAddress&" did not receive a response"); + } + } + } + + function f_ServerResponses() runs on GeneralComp { + var address v_clientAddress; + var integer v_par1; + var integer v_par3; + timer t_timeout:=30.0; + + template p_Sem_220303_ReplyOperation_002 s_acceptTemplate := { + p_par1 := ?, + p_par2 := ?, + p_par3 := ? + }; + + + t_timeout.start; + + alt { + [] PCO.getcall(p_Sem_220303_ReplyOperation_002:s_acceptTemplate) -> param(v_par1, - , v_par3) sender v_clientAddress { + PCO.reply(p_Sem_220303_ReplyOperation_002:{p_par1 := -, p_par2 := v_par1+v_par3, p_par3 := v_par1+v_par3+1} value v_par1) to (c_client1Addr,c_client2Addr); //sent to both connected clients + repeat; + } + [] t_timeout.timeout { + setverdict(fail); + } + } + + } + + + testcase TC_Sem_220303_ReplyOperation_002() runs on GeneralComp system GeneralComp { + var GeneralComp server := GeneralComp.create("RemoteProcedure Service"); + var GeneralComp client := GeneralComp.create("RemoteProcedure Client"); + var GeneralComp client2 := GeneralComp.create("RemoteProcedure Client"); + // map the PTCs to the system port + connect(server:PCO, client:PCO); + connect(server:PCO, client2:PCO); + + server.start(f_ServerResponses()); + + client2.start(f_Client2Query(c_client2Addr)); //query only waiting for reply + client.start(f_ClientQuery(c_client1Addr)); + + interleave { + [] client.done {} + [] client2.done {} + } + server.stop; + + alt { + [] all component.done {} + } + + disconnect(server:PCO); + } + + control{ + execute(TC_Sem_220303_ReplyOperation_002()); + } + +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_001.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1812bdeb20a6bc0a203b7356869e28015f63d622 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_001.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(receive) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_001 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_001() runs on GeneralComp { + p.send(integer:1); + alt + { + [] p.check(receive) { setverdict(pass, "Check operation successful"); } + } + p.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_001(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_002.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1c4a61be1bbf9429d4b4937dfb3d73fbac80820d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_002.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(receive) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_002 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_002() runs on GeneralComp { + var integer v_addr; + p.send(integer:1) to 80; + alt + { + [] p.check(receive -> sender v_addr) { + if (v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + } + } + p.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_002(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_003.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88d98007ac71757c91a26ecefb1cfe2f88025cf0 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_003.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(receive) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_003 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_003() runs on GeneralComp { + p.send(integer:1); + p.check(receive); + setverdict(pass, "Check operation successful"); + p.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_003(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_004.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a8a7d069584226ae01d9c54be3c7022860f41df --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_004.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(receive) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_004 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_004() runs on GeneralComp { + var integer v_addr; + p.send(integer:1) to 80; + p.check(receive -> sender v_addr); + if (v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + p.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_004(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_005.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..80459b5aafe8cddca748c5523084ef206bc8fee0 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_005.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(receive) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_005 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_005() runs on GeneralComp { + p2.send(integer:1); + alt + { + [] any port.check(receive) { setverdict(pass, "Check operation successful"); } + } + any port.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_005(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_006.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e697e889cc5ff04d73e4e6f3e1374c39f505bc21 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_006.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(receive) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_006 { + + type integer address; + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_006() runs on GeneralComp { + var address v_addr; + p2.send(integer:1) to 80; + alt + { + [] any port.check(receive -> sender v_addr) { + if (v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + } + } + any port.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_006(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_007.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5d3fa6188eba5fd86868fd84b035013f42df0954 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_007.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(receive) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_007 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_007() runs on GeneralComp { + p.send(integer:1); + any port.check(receive); + setverdict(pass, "Check operation successful"); + any port.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_007(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_008.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7972a50723ffa26ad2bf3a7d0f57a52797c2d293 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_008.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(receive) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_008 { + + type integer address; + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_008() runs on GeneralComp { + var address v_addr; + p.send(integer:1) to 80; + any port.check(receive -> sender v_addr); + if (v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + any port.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_008(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_009.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e7c55880e820988ce8f90a4e352149279e86c71 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_009.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_009 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_009() runs on GeneralComp { + p.send(integer:1); + alt + { + [] p.check(receive(integer:(100..200))) { setverdict(fail, "Incorrect match"); } + [] p.receive { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_009(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_010.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17f19bc9f131d4b067f1585d3d61d242ac98bfda --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_010.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_010 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_010() runs on GeneralComp { + var integer v_val; + p.send(integer:1) to 80; + alt + { + [] p.check(receive(integer:?) from P.address:(20..40) -> value v_val) { + setverdict(fail, "Incorrect match"); + } + [] p.receive { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_010(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_011.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ffd0cfc5d13813e59ad0c5db7cc167a127831e4d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_011.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify port.check(receive) behaviour in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_011 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.receive { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + testcase TC_Sem_2204_the_check_operation_011() runs on GeneralComp { + activate(a()); + p.send(integer:1); + p.check(receive(integer:(100..200))); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_011(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_012.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c9bb7b4544c6af6caba1866ead58ea460d965a3c --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_012.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_012 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + var integer v_addr; + } + + altstep a() runs on GeneralComp { + [] p.receive { + if (not isbound(v_addr)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The address value should still be undefined at this point"); } + stop; + } + } + testcase TC_Sem_2204_the_check_operation_012() runs on GeneralComp { + activate(a()); + p.send(integer:1) to 80; + p.check(receive(integer:(100..200)) from P.address:(20..100) -> sender v_addr); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_012(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_013.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7389caba7c77563ab8b40138ad4f0aa8ac9e3a08 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_013.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify any port.check(receive) behaviour in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_013 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_013() runs on GeneralComp { + p2.send(integer:1); + alt + { + [] any port.check(receive(integer:(100..200))) { setverdict(fail, "Incorrect match"); } + [] any port.receive { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_013(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_014.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..879c0bd4b43857fd697a88b565311556acc2a0ff --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_014.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(receive) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_014 { + + type integer address; + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_014() runs on GeneralComp { + var integer v_val; + p2.send(integer:1) to 80; + alt + { + [] any port.check(receive(integer:?) from address:(20..40) -> value v_val) { + setverdict(fail, "Incorrect match"); + } + [] any port.receive { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_014(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_015.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..93cb483d6bfce65d476e863edfd2557e257054a8 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_015.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify any port.check(receive) behaviour in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_015 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + altstep a() runs on GeneralComp { + [] any port.receive { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + testcase TC_Sem_2204_the_check_operation_015() runs on GeneralComp { + activate(a()); + p2.send(integer:1); + any port.check(receive(integer:(100..200))); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_015(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_016.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4883a308c00b8d94089edb00eb04be69a8830b47 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_016.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(receive) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_016 { + + type integer address; + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + var address v_addr; + } + + altstep a() runs on GeneralComp { + [] any port.receive { + if (not isbound(v_addr)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The address value should still be undefined at this point"); } + stop; + } + } + testcase TC_Sem_2204_the_check_operation_016() runs on GeneralComp { + activate(a()); + p2.send(integer:1) to 80; + any port.check(receive(integer:(100..200)) from address:(20..100) -> sender v_addr); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_016(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_017.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b2b95bb5312adb58940ffb161de44fdf5ce2881 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_017.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_017 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_017() runs on GeneralComp { + p.send(integer:1); + alt + { + [] p.check(receive(integer:?)) { setverdict(pass, "Check operation successful"); } + } + p.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_017(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_018.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ea4a2264b282755d74dfeeac075ba63920100901 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_018.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behation of port.check(receive) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_018 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_018() runs on GeneralComp { + var integer v_val, v_addr; + p.send(integer:1) to 80; + alt + { + [] p.check(receive(integer:(0..10)) from P.address:(10..100) -> value v_val sender v_addr) { + if (v_val == 1 and v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect message value or address"); } + } + } + p.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_018(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_019.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3a6a15d89a7ae197368fc2d149b3da0f86d89ae --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_019.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_019 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_019() runs on GeneralComp { + p.send(integer:1); + p.check(receive(integer:?)); + setverdict(pass, "Check operation successful"); + p.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_019(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_020.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56cd6bfbbb5cf16ef3c07f86f2b1da88fb5a2790 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_020.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(receive) with assignment in case of successful match works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_020 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_020() runs on GeneralComp { + var integer v_val; + p.send(integer:1); + p.check(receive(integer:(0..10)) -> value v_val); + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + p.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_020(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_021.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..32e40dbc5a7f9f5f4f744fe80101167406f2164b --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_021.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(receive) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_021 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_021() runs on GeneralComp { + p2.send(integer:1); + alt + { + [] any port.check(receive(integer:?)) { setverdict(pass, "Check operation successful"); } + } + any port.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_021(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_022.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3cbddcf37f55a14303844435d8b142a40380f7ff --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_022.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behation of any port.check(receive) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_022 { + + type integer address; + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_022() runs on GeneralComp { + var integer v_val, v_addr; + p2.send(integer:1) to 80; + alt + { + [] any port.check(receive(integer:(0..10)) from address:(10..100) -> value v_val sender v_addr) { + if (v_val == 1 and v_addr == 80) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect message value or address"); } + } + } + any port.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_022(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_023.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a13b32d75623623e63dd82a40207c4161d4c5870 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_023.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(receive) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_023 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_023() runs on GeneralComp { + p2.send(integer:1); + any port.check(receive(integer:?)); + setverdict(pass, "Check operation successful"); + any port.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_023(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_024.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..811cfe4bdded772b57f5d292124a4439c38f911d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_024.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(receive) with assignment in case of successful match works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_024 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_024() runs on GeneralComp { + var integer v_val; + p2.send(integer:1); + any port.check(receive(integer:(0..10)) -> value v_val); + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect address value"); } + any port.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_024(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_025.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..29bad170860ae88674f91074f96fb147e3acd270 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_025.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getcall) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_025 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + alt + { + [] p.check(getcall) { setverdict(pass, "Check operation successful"); } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_025() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_025(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_026.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9bc4f2d1a6abc0aa642dd75ca510082812d0d623 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_026.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getcall) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_026 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] p.check(getcall -> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_026() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_026(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_027.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ae199d0e05607481d2cf75f946afac5934ccdaae --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_027.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getcall) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_027 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.check(getcall); + setverdict(pass, "Check operation successful"); + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_027() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_027(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_028.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..71c7e6a294b44e1979118601fde2ea6c5ac42fd8 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_028.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getcall) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_028 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + p.check(getcall -> sender v_src); + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_028() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_028(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_029.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3424a92643097abee791912684cc22fcb80d9076 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_029.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getcall) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_029 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + alt + { + [] any port.check(getcall) { setverdict(pass, "Check operation successful"); } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_029() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_029(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_030.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..000e0dad84746f75b12d10378c33094b5e5c7ef6 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_030.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getcall) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_030 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] any port.check(getcall -> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_030() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_030(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_031.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d655ce6626a7fcc8426a11130152cc0895cc4cd5 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_031.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getcall) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_031 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + any port.check(getcall); + setverdict(pass, "Check operation successful"); + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_031() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_031(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_032.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4fac08adefc459a4ad21dda8b9a93280a06ba122 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_032.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getcall) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_032 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + any port.check(getcall -> sender v_src); + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_032() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_032(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_033.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f4030b08376c4497d2ff1fc5d4556a4cf9f4c623 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_033.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_033 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + alt + { + [] p.check(getcall(S:{ p_par1 := (0, 2, 4, 6)})) { setverdict(fail, "Incorrect match"); } + [] p.getcall { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + testcase TC_Sem_2204_the_check_operation_033() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_033(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_034.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed810ac451d1e40581ec17aff2b6b006f68b0539 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_034.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_034 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var integer v_val; + alt + { + [] p.check(getcall(S:{ p_par1 := (0, 2, 4, 6)}) -> param(v_val := p_par1)) { + setverdict(fail, "Incorrect match"); + } + [] p.getcall { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + } + } + } + + testcase TC_Sem_2204_the_check_operation_034() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_034(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_035.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5af10e5edfc0ea800f00d643a2323d239f20ffb2 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_035.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_035 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + altstep a() runs on GeneralComp { + [] p.getcall { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + function f() runs on GeneralComp { + activate(a()); + p.check(getcall(S:{ p_par1 := (0, 2, 4, 6)})); + setverdict(fail, "Incorrect match"); + } + + testcase TC_Sem_2204_the_check_operation_035() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_035(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_036.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_036.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..239f45545d11bf0d289e025bc0ef27b017e064d6 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_036.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_036 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + var integer v_val; + } + + altstep a() runs on GeneralComp { + [] p.getcall { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + stop; + } + } + + function f() runs on GeneralComp { + activate(a()); + p.check(getcall(S:{ p_par1 := (0..10)}) from self -> param(v_val := p_par1)); + setverdict(fail, "Incorrect match"); + } + + testcase TC_Sem_2204_the_check_operation_036() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_036(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_037.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_037.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d0e6a76ddf56daba29ad859d9a84c5cd08b3d1a --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_037.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_037 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + alt + { + [] any port.check(getcall(S:{ p_par1 := (0, 2, 4, 6)})) { setverdict(fail, "Incorrect match"); } + [] any port.getcall { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + testcase TC_Sem_2204_the_check_operation_037() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_037(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_038.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_038.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..998fe4f2b67923949b237df7908339c35df4aa90 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_038.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_038 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var integer v_val; + alt + { + [] any port.check(getcall(S:{ p_par1 := (0, 2, 4, 6)}) -> param(v_val := p_par1)) { + setverdict(fail, "Incorrect match"); + } + [] any port.getcall { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + } + } + } + + testcase TC_Sem_2204_the_check_operation_038() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_038(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_039.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_039.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ef9b245eac086d869948a9fc4a08047fc19b1511 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_039.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_039 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + altstep a() runs on GeneralComp { + [] any port.getcall { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + function f() runs on GeneralComp { + activate(a()); + any port.check(getcall(S:{ p_par1 := (0, 2, 4, 6)})); + setverdict(fail, "Incorrect match"); + } + + testcase TC_Sem_2204_the_check_operation_039() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_039(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_040.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_040.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9658c676b119c66368a7799a822b7f96578f5fad --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_040.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_040 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + var integer v_val; + } + + altstep a() runs on GeneralComp { + [] any port.getcall { + if (not isbound(v_val)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The value should still be undefined at this point"); } + stop; + } + } + + function f() runs on GeneralComp { + activate(a()); + any port.check(getcall(S:{ p_par1 := (0..10)}) from self -> param(v_val := p_par1)); + setverdict(fail, "Incorrect match"); + } + + testcase TC_Sem_2204_the_check_operation_040() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_040(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_041.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_041.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eab05ca150e94151ac6cdc27d47b6b95bc91cf2f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_041.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_041 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + alt + { + [] p.check(getcall(S:{ p_par1 := (0..10)})) { setverdict(pass, "Check operation successful"); } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_041() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_041(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_042.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_042.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9613cbe8725b0d498d52c45b16e197e64fa03fac --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_042.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_042 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var integer v_val; + var GeneralComp v_src; + alt + { + [] p.check(getcall(S:{ p_par1 := (0..10)}) from GeneralComp:? -> param (v_val) sender v_src) { + if (v_val == 1 and v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter value or sender"); } + } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_042() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_042(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_043.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_043.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b92c282e56af2d5dffe71b0898f167ff73c89bba --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_043.ttcn @@ -0,0 +1,36 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_043 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.check(getcall(S:{ p_par1 := (0..10)}) from mtc); + setverdict(pass, "Check operation successful"); + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_043() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_043(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_044.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_044.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3446ca32ed4926a0804080636c1474e9a7fb119f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_044.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getcall) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_044 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var integer v_val; + p.check(getcall(S:{ p_par1 := (0..10)}) -> param (v_val)); + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter value"); } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_044() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_044(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_045.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_045.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f70b922235e45112c8a38d9d4d3694819d4ee4af --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_045.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_045 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + alt + { + [] any port.check(getcall(S:{ p_par1 := (0..10)})) { setverdict(pass, "Check operation successful"); } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_045() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_045(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_046.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_046.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ae39351cfc1431e1802589d47bb879ac225c7732 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_046.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_046 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var integer v_val; + var GeneralComp v_src; + alt + { + [] any port.check(getcall(S:{ p_par1 := (0..10)}) from GeneralComp:? -> param (v_val) sender v_src) { + if (v_val == 1 and v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter value or sender"); } + } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_046() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_046(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_047.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_047.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0e7b5f18ef373f0f7a7e2b27ab2ed91001999bf1 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_047.ttcn @@ -0,0 +1,37 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_047 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + any port.check(getcall(S:{ p_par1 := (0..10)}) from mtc); + setverdict(pass, "Check operation successful"); + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_047() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_047(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_048.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_048.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7487d4391098f223c655ecc5b4a26e76c7de8a00 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_048.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getcall) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_048 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var integer v_val; + any port.check(getcall(S:{ p_par1 := (0..10)}) -> param (v_val)); + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter value"); } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_048() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_048(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_049.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_049.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..33dc6f5ec5f1d93f338f4b76b7b7028592a2feff --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_049.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getreply) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_049 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_049() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply) { setverdict(pass, "Check operation successful"); } + } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_049(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_050.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_050.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..31e25487b3464d72450ca0c0e51d9164cd68f14e --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_050.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getreply) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_050 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_050() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + } + } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_050(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_051.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_051.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..287094a2ccdae2c617fdffae93b81b4c894cdef6 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_051.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getreply) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_051 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_051() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(getreply); + setverdict(pass, "Check operation successful"); + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_051(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_052.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_052.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..116d4c4641bb0e5c653e1e5f5e46625a34e88a47 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_052.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(getreply) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_052 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_052() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(getreply -> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_052(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_053.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_053.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..95bd8aea29df7fc5abb09dfbdad0904911822c03 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_053.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getreply) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_053 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_053() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply) { setverdict(pass, "Check operation successful"); } + } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_053(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_054.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_054.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..478b81be882a6ab4ee5dc6a1f64c38cb5a270f55 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_054.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getreply) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_054 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_054() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + } + } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_054(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_055.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_055.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2f406db03db9cfe9923b54be09f83fc3e237dc7 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_055.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getreply) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_055 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_055() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(getreply); + setverdict(pass, "Check operation successful"); + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_055(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_056.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_056.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f3fe0b541d7089c739e59d7bc1a105d4a9829b7a --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_056.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(getreply) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_056 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_056() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(getreply -> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_056(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_057.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_057.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7fa6f6b06e6a3bee5d1fec4672d4ffe252125317 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_057.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_057 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_057() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply(S:{p_par1 := (100..200)} value ?)) { setverdict(fail, "Incorrect match"); } + [] p.getreply { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_057(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_058.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_058.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7d36fb96138335f180897c0283a238935f2cde15 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_058.ttcn @@ -0,0 +1,47 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_058 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_058() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply(S:{p_par1 := ?} value (100..200)) -> value v_val param (v_par := p_par1)) { + setverdict(fail, "Incorrect match"); + } + [] p.getreply { + if (not isbound(v_par) and not isbound(v_val)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_par and v_val variables should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_058(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_059.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_059.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6bf75114be419f3355d85bc286ab519ef1ff38c3 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_059.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_059 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] p.getreply { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_059() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + p.check(getreply(S:? value ?) from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_059(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_060.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_060.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..83f059994a1e02bfe73be1d6f750b73118aa3e0e --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_060.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_060 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + var integer v_val; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] p.getreply { + if (not isbound(v_val) and not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val and v_src variables should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_060() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + p.check(getreply(S:{p_par1 := ?} value (100..200)) -> value v_val sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_060(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_061.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_061.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1a2d0827c67b29dca753d6a266e8a0c32c436843 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_061.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_061 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_061() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply(S:{p_par1 := (100..200)} value ?)) { setverdict(fail, "Incorrect match"); } + [] any port.getreply { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_061(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_062.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_062.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..970475f33061ed133adc8665a03df95bae2d2bd8 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_062.ttcn @@ -0,0 +1,48 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_062 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_062() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply(S:{p_par1 := ?} value (100..200)) -> value v_val param (v_par := p_par1)) { + setverdict(fail, "Incorrect match"); + } + [] any port.getreply { + if (not isbound(v_par) and not isbound(v_val)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_par and v_val variables should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_062(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_063.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_063.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fa7d6ec4b3502848832d57ee19b1a0ec80ccd438 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_063.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_063 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] any port.getreply { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_063() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + any port.check(getreply(S:? value ?) from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_063(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_064.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_064.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fbb0e1a3c40ecefdca69781f08ef6b21f82b4182 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_064.ttcn @@ -0,0 +1,50 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_064 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + var integer v_val; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] any port.getreply { + if (not isbound(v_val) and not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val and v_src variables should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_064() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + any port.check(getreply(S:{p_par1 := ?} value (100..200)) -> value v_val sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_064(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_065.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_065.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0382799ab64d18bcb04b3cf527970cc00e1039e1 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_065.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_065 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_065() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply(S:{ p_par1 := ?} value integer:(0..10))) { + setverdict(pass, "Check operation successful"); + } + } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_065(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_066.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_066.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7cf127f8ffbe8cbfa7cc562e0a2831cecd7b6976 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_066.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_066 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_066() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply(S:{ p_par1 := ?} value integer:(0..10)) -> value v_val param (v_par := p_par1)) { + if (v_par == 1 and v_val == 5) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter or return value"); } + } + } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_066(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_067.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_067.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f644db9f7f161f2128c849b4c0415a3c1ab564f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_067.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_067 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_067() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + p.check(getreply(S:{ p_par1 := ?} value integer:(0..10)) from v_ptc); + setverdict(pass, "Check operation successful"); + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_067(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_068.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_068.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a1237b9d4d3e008a5e37a21a4d64b2a298469ffb --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_068.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(getreply) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_068 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1 } value 5); + } + + testcase TC_Sem_2204_the_check_operation_068() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + var integer v_val; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] p.check(getreply(S:{ p_par1 := complement(4, 5, 6) } value integer:?) -> value v_val sender v_src) { + if (v_val == 5 and v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect return value or sender"); } + } + } + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_068(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_069.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_069.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b3be753e92c258566640bd0797fb78081d77d4fe --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_069.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_069 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_069() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply(S:{ p_par1 := ?} value integer:(0..10))) { + setverdict(pass, "Check operation successful"); + } + } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_069(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_070.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_070.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7b981a00503abcfa78837a76943c725c565f5386 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_070.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_070 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_070() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply(S:{ p_par1 := ?} value integer:(0..10)) -> value v_val param (v_par := p_par1)) { + if (v_par == 1 and v_val == 5) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect parameter or return value"); } + } + } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_070(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_071.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_071.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d450c9e2b6fc041d5dba02be6321b0d64a8fb393 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_071.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_071 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_071() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + any port.check(getreply(S:{ p_par1 := ?} value integer:(0..10)) from v_ptc); + setverdict(pass, "Check operation successful"); + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_071(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_072.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_072.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e91f284517d4735a75d2123dff802db514cbbbd --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_072.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(getreply) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_072 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1 } value 5); + } + + testcase TC_Sem_2204_the_check_operation_072() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + var integer v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(getreply(S:{ p_par1 := complement(4, 5, 6) } value integer:?) -> value v_val sender v_src) { + if (v_val == 5 and v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect return value or sender"); } + } + } + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_072(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_073.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_073.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c22eab7b95256c11a87ee84017f1d0b3ff1787cd --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_073.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(catch) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_073 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_073() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch) { setverdict(pass, "Check operation successful"); } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_073(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_074.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_074.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3a79c77b9da6eaa6943878ecb5cdbe2a7ea5a562 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_074.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(catch) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_074 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_074() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_074(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_075.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_075.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c34b3506271816ef51c7e30dd30c0c5ab8f7e28 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_075.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(catch) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_075 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_075() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(catch); + setverdict(pass, "Check operation successful"); + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_075(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_076.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_076.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c01d112a5808e368336f7c68e67bf39b73ac4509 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_076.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check(catch) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_076 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_076() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(catch -> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_076(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_077.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_077.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..648c8f9e7a6b93d731f67bad4ed4159b1ba3c724 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_077.ttcn @@ -0,0 +1,41 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(catch) works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_077 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_077() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch) { setverdict(pass, "Check operation successful"); } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_077(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_078.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_078.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fde58a20c42d0fca2693a8ba4b5890ae44f4ea2c --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_078.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(catch) with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_078 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_078() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_078(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_079.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_079.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dc34b86f3e7fa611d8505356516520a40c262965 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_079.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(catch) works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_079 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_079() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(catch); + setverdict(pass, "Check operation successful"); + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_079(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_080.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_080.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7226750b1aae4bc67c4e24b3fb5cfef0c0932b3e --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_080.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(catch) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_080 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_080() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(catch -> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_080(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_081.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_081.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..20152dfe44f413eb5f3583184ddeeadf7915d0de --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_081.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_081 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_081() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch(S, integer:(100..200))) { setverdict(fail, "Incorrect match"); } + [] p.catch { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_081(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_082.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_082.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cc03b4b490c444efbf7d0693e919308b6ca479d7 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_082.ttcn @@ -0,0 +1,47 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_082 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_082() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_val; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch(S, integer:(100..200)) -> value v_val) { + setverdict(fail, "Incorrect match"); + } + [] p.catch { + if (not isbound(v_val)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val variable should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_082(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_083.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_083.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a54039fa6af0ab971db08d1e17f39f9c130f6f2c --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_083.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_083 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] p.catch { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_083() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(catch(S, integer:?) from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_083(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_084.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_084.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3bc11768a2e1ad78b51ce951fbac47286c340b18 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_084.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_084 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + var integer v_val; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] p.catch { + if (not isbound(v_val) and not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val and v_src variables should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_084() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(catch(S, integer:(100..200)) -> value v_val sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_084(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_085.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_085.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a3a5b8208db96b848438fb2f540471a282ed051d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_085.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_085 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_085() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch(S, integer:(100..200))) { setverdict(fail, "Incorrect match"); } + [] any port.catch { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_085(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_086.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_086.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6de061d2822aa5750e9d000d15d900ac1cfefd98 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_086.ttcn @@ -0,0 +1,48 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_086 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_086() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch(S, integer:(100..200)) -> value v_val) { + setverdict(fail, "Incorrect match"); + } + [] any port.catch { + if (not isbound(v_val)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val variable should still be undefined at this point"); } + } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_086(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_087.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_087.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bfa5159b298a86784c885832ade94b59fb7bd529 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_087.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_087 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] any port.catch { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_087() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(catch(S, integer:?) from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_087(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_088.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_088.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..09c094986bc72d7d2b56e61fc88777f9da51ca6f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_088.ttcn @@ -0,0 +1,50 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_088 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + var integer v_val; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] any port.catch { + if (not isbound(v_val) and not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_val and v_src variables should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_088() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(catch(S, integer:(100..200)) -> value v_val sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_088(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_089.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_089.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ef03c55af2c265defbcf4c2a4d814985d1cd76eb --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_089.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_089 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_089() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch(S, integer:(0..10))) { + setverdict(pass, "Check operation successful"); + } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_089(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_090.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_090.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ce7050e19e06003b45b4e5c0e43ced3bb23673f4 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_090.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_090 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_090() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_par, v_val; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch(S, integer:(0..10)) -> value v_val) { + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect exception value"); } + } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_090(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_091.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_091.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2158c0cd3b931ca56b24c8964df2ae93f5001d0f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_091.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_091 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_091() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(catch(S, integer:?) from v_ptc); + setverdict(pass, "Check operation successful"); + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_091(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_092.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_092.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3af4d62d9b96b2f1582d5e2631196d5e0ffc293 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_092.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check(catch) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_092 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_092() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + var integer v_val; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(catch(S, integer: complement(4, 5, 6)) -> value v_val sender v_src) { + if (v_val == 1 and v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect exception value or sender"); } + } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_092(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_093.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_093.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1ee45ded3e19e1cd54ebc4f158f511abcd6879c0 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_093.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_093 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_093() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch(S, integer:(0..10))) { + setverdict(pass, "Check operation successful"); + } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_093(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_094.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_094.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b44bc0f597a346f12b4d6026d0f32297bc7aa8d3 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_094.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_094 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_094() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + var integer v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch(S, integer:(0..10)) -> value v_val) { + if (v_val == 1) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect exception value"); } + } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_094(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_095.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_095.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3fc008924bc65ac900d5121038e9b2a6734ff98 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_095.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_095 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_095() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(catch(S, integer:?) from v_ptc); + setverdict(pass, "Check operation successful"); + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_095(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_096.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_096.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b12479b0f3a8e288e6712f6f916884d56182c0df --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_096.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check(catch) with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_096 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_096() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + var integer v_val; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(catch(S, integer:complement(4, 5, 6)) -> value v_val sender v_src) { + if (v_val == 1 and v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect exception value or sender"); } + } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_096(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_097.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_097.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..681555ef96545bd853507cf68558501428f57920 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_097.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_097 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_097() runs on GeneralComp { + p.send(integer:1); + alt + { + [] p.check { setverdict(pass, "Check operation successful"); } + } + p.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_097(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_098.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_098.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..55059db4a3a2aff33a7a52dee4fadc979391918a --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_098.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_098 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] p.check(-> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_098() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_098(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_099.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_099.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d81cdffe2b3c32e617b789196fdbf1c6037fd3ec --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_099.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_099 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_099() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check; + setverdict(pass, "Check operation successful"); + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_099(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_100.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_100.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bdf926e123f8cc5ba3aa3c37125f6b8a44d1e07f --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_100.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that port.check with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_100 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_100() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(-> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_100(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_101.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_101.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..54aa8a95d0dcae7367ddd5297a7f5eb01690611c --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_101.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_101 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_101() runs on GeneralComp { + p2.send(integer:1); + alt + { + [] any port.check { setverdict(pass, "Check operation successful"); } + } + any port.receive; + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_101(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_102.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_102.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a1747d3d47cba9911e88b815e9579fe3bee25f6 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_102.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check with assignment works correctly inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_102 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] any port.check(-> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Unexpected sender value"); } + } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_102() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_102(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_103.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_103.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..603009f15ce75d4c5374775fc8a167e9668421da --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_103.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_103 { + + signature S(); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{}); + } + + testcase TC_Sem_2204_the_check_operation_103() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check; + setverdict(pass, "Check operation successful"); + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_103(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_104.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_104.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7320fdbd94029527ba77580b0fdd845cf790519b --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_104.ttcn @@ -0,0 +1,40 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify that any port.check(catch) with assignment works correctly as standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_104 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_104() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(-> sender v_src); + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Counterpart mismatch"); } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_104(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_105.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_105.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..41579e535a8090a9ca4ca8bad108e9c9ac109dba --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_105.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_105 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_105() runs on GeneralComp { + p.send(integer:1) to 80; + alt + { + [] p.check(from 8080) { setverdict(fail, "Incorrect match"); } + [] p.receive { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_105(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_106.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_106.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d81ab62b69b9c97f946749c45ace742d8d61efea --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_106.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_106 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] p.check(from self -> sender v_src) { + setverdict(fail, "Incorrect match"); + } + [] p.getcall { + if (not isbound(v_src)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The v_src variable should still be undefined at this point"); } + } + } + } + + testcase TC_Sem_2204_the_check_operation_106() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_106(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_107.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_107.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e9027a1b7d7eae71030f1c181993978908f4b66e --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_107.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_107 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] p.getreply { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_107() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + p.check(from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_107(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_108.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_108.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..27552f21d7f8dc2d2859b740775ea54e38f84aa8 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_108.ttcn @@ -0,0 +1,48 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_108 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] p.catch { + if (not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_src variable should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_108() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + p.check(from self -> sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_108(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_109.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_109.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a2544d7d2bfde2cb99600f82707715b1fc5272b8 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_109.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify any port.check behaviour in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_109 { + + type integer address; + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_109() runs on GeneralComp { + p2.send(integer:1) to 80; + alt + { + [] any port.check(from 8080) { setverdict(fail, "Incorrect match"); } + [] any port.receive { setverdict(pass, "As expected, the check operation didn't match"); } + } + } + + control { + execute(TC_Sem_2204_the_check_operation_109(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_110.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_110.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b630414ef2ec094d628ca8fd107c8b1da96a8076 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_110.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check with assignment in case of unsuccessful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_110 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] any port.check(from self -> sender v_src) { + setverdict(fail, "Incorrect match"); + } + [] any port.getcall { + if (not isbound(v_src)) { setverdict(pass, "As expected, the check operation didn't match"); } + else { setverdict(fail, "The v_src variable should still be undefined at this point"); } + } + } + } + + testcase TC_Sem_2204_the_check_operation_110() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_110(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_111.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_111.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..261b37c8a6bf35e59f11cf15bc2dbdd093320c09 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_111.ttcn @@ -0,0 +1,45 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_111 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + altstep a() runs on GeneralComp { + [] any port.getreply { + setverdict(pass, "As expected, the check operation didn't match"); + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_111() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := - }, nowait); + v_ptc.start(f()); + any port.check(from self); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_111(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_112.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_112.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..047ffafc9267497af673c4100d22c531dfed60e4 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_112.ttcn @@ -0,0 +1,49 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check with assignment in case of unsuccessful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_112 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + var GeneralComp v_src; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + altstep a() runs on GeneralComp { + [] any port.catch { + if (not isbound(v_src)) { + setverdict(pass, "As expected, the check operation didn't match"); + } + else { setverdict(fail, "The v_src variable should still be undefined at this point"); } + stop; + } + } + + testcase TC_Sem_2204_the_check_operation_112() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + activate(a()); + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + any port.check(from self -> sender v_src); + setverdict(fail, "Incorrect match"); + } + + control { + execute(TC_Sem_2204_the_check_operation_112(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_113.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_113.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65971f5e41b9bd66a0583810e596128acc8cb589 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_113.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_113 { + + type port P message { + inout integer; + address integer; + } + + type component GeneralComp { + port P p; + } + + testcase TC_Sem_2204_the_check_operation_113() runs on GeneralComp { + p.send(integer:1) to 80; + alt + { + [] p.check(from P.address:(80, 8080)) { setverdict(pass, "Check operation successful"); } + } + p.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_113(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_114.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_114.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..10e06a1cf36a27be24ce5cfdbbd585fb3a1d1841 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_114.ttcn @@ -0,0 +1,42 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_114 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] p.check(from GeneralComp:? -> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect sender"); } + } + } + p.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_114() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_114(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_115.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_115.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..76c65ba5be18cb48cc37cf32120b5ef6473d0d7d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_115.ttcn @@ -0,0 +1,38 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_115 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_115() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p, v_ptc:p); + p.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + p.check(from v_ptc); + setverdict(pass, "Check operation successful"); + p.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_115(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_116.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_116.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..48dedbadf61db81399c3b3bff81086856f8fab09 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_116.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of port.check with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_116 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p; + } + + function f() runs on GeneralComp { + p.getcall; + setverdict(pass, "Call received"); + p.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_116() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p, v_ptc:p); + p.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] p.check(from GeneralComp:? -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect sender"); } + } + } + p.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_116(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_117.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_117.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7015a353d223495dc5a3bcea8d9bc7c05fc55b2d --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_117.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_117 { + + type port P message { + inout integer; + } + + type component GeneralComp { + port P p1, p2; + } + + testcase TC_Sem_2204_the_check_operation_117() runs on GeneralComp { + p2.send(integer:1); + alt + { + [] any port.check { setverdict(pass, "Check operation successful"); } + } + any port.receive(integer:?); + setverdict(pass, "Message still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_117(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_118.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_118.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c3068f151a0c795ab58723e6b03346f2b6f95773 --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_118.ttcn @@ -0,0 +1,43 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check with assignment in case of successful match inside alt + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_118 { + + signature S(integer p_par1); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + var GeneralComp v_src; + alt + { + [] any port.check(from GeneralComp:? -> sender v_src) { + if (v_src == mtc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect sender"); } + } + } + any port.getcall; + setverdict(pass, "Call still on the top of the queue"); + } + + testcase TC_Sem_2204_the_check_operation_118() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := 1 }, nowait); + v_ptc.start(f()); + v_ptc.done; + } + + control { + execute(TC_Sem_2204_the_check_operation_118(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_119.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_119.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..592ba3b93194aede5c6a078d961c9f76da5a59ef --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_119.ttcn @@ -0,0 +1,39 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_119 { + + signature S(out integer p_par1) return integer; + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.reply(S:{ p_par1 := 1} value 5); + } + + testcase TC_Sem_2204_the_check_operation_119() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{ p_par1 := -}, nowait); + v_ptc.start(f()); + any port.check(from v_ptc); + setverdict(pass, "Check operation successful"); + any port.getreply; + setverdict(pass, "Reply still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_119(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_120.ttcn b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_120.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7d53a0cc0891d2c8e5546f8c7086fc372f9f8faf --- /dev/null +++ b/ATS/22_communication_operations/2204_the_check_operation/Sem_2204_the_check_operation_120.ttcn @@ -0,0 +1,44 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:22.4, Verify behaviour of any port.check with assignment in case of successful match in standalone statement + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +module Sem_2204_the_check_operation_120 { + + signature S() exception(integer); + type port P procedure { + inout S; + } + + type component GeneralComp { + port P p1, p2; + } + + function f() runs on GeneralComp { + p2.getcall; + setverdict(pass, "Call received"); + p2.raise(S, integer:1); + } + + testcase TC_Sem_2204_the_check_operation_120() runs on GeneralComp system GeneralComp{ + var GeneralComp v_ptc := GeneralComp.create, v_src; + connect(self:p1, v_ptc:p1); + connect(self:p2, v_ptc:p2); + p2.call(S:{}, nowait); + v_ptc.start(f()); + alt + { + [] any port.check(from GeneralComp:? -> sender v_src) { + if (v_src == v_ptc) { setverdict(pass, "Check operation successful"); } + else { setverdict(fail, "Incorrect exception value or sender"); } + } + } + any port.catch; + setverdict(pass, "Exception still on the top of the queue"); + } + + control { + execute(TC_Sem_2204_the_check_operation_120(), 5.0); + } +} \ No newline at end of file diff --git a/ATS/22_communication_operations/NOTES b/ATS/22_communication_operations/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..fbcdaf42dd549704c0204fba8878f1adec5f18b1 --- /dev/null +++ b/ATS/22_communication_operations/NOTES @@ -0,0 +1,5 @@ +Most aspects of message based communication have been tested in B_matching_incoming_values, +and most aspects of procedue based communication have been tested in +1502_declaring_signature_templates. This section contains test cases only for those +special aspects of communication operations, which have not been tested elsewhere. + diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_001.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..415cde8bafb4b6310654dff5927a9504ee24199c --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure infinity is not allowed + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Timer value is non-neg float + + +module NegSem_2302_timer_start_001 { + type component TComp{ + timer t_timer; + } + testcase TC_NegSem_2302_timer_start_001() runs on TComp{ + // Timer value shall be a non-negative numerical float number (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are disallowed). + var float duration := infinity; + t_timer.start(duration); + } + control{ + + execute(TC_NegSem_2302_timer_start_001()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_002.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5661dccc0c8fb29210a7907979b65924b3a34852 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure not_a_number is not allowed + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Timer value is non-neg float + + +module NegSem_2302_timer_start_002 { + type component TComp{ + timer t_timer; + } + testcase TC_NegSem_2302_timer_start_002() runs on TComp{ + // Timer value shall be a non-negative numerical float number (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are disallowed). + var float duration := not_a_number; + t_timer.start(duration); + } + control{ + + execute(TC_NegSem_2302_timer_start_002()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_003.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5c74f937bbf9715dfdcc5dfdcd7d39d188548bb8 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure negative value is not allowed + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Timer value is non-neg float +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/neg timer value causes error verdict + +module NegSem_2302_timer_start_003 { + type component TComp{ + timer t_timer; + } + testcase TC_NegSem_2302_timer_start_003() runs on TComp{ + // Timer value shall be a non-negative numerical float number (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are disallowed). + var float duration := -1.0; + t_timer.start(duration); + } + control{ + + execute(TC_NegSem_2302_timer_start_003()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_004.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3aba210c640168fe92aa6a5c62d1e3c16ea1ed13 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSem_2302_timer_start_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure negative infinity is not allowed + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Timer value is non-neg float + + +module NegSem_2302_timer_start_004 { + type component TComp{ + timer t_timer; + } + testcase TC_NegSem_2302_timer_start_004() runs on TComp{ + // Timer value shall be a non-negative numerical float number (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are disallowed). + var float duration := -infinity; + t_timer.start(duration); + } + control{ + + execute(TC_NegSem_2302_timer_start_004()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_001.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1c7ee1e8e8dcc1e001b942fad6c08dc5718fa416 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_001 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2302_timer_start_001() runs on TComp{ + t_timer.start(); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_001()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_002.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f09a05ac907adfeb94c0284de10819aff0dd20d8 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_002.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_002 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_002() runs on TComp{ + + t_timers[].start; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_002()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_003.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4bd6ff07b6e05881cc2530b95a75bfbb1a57a3e1 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ + + +module NegSyn_2302_timer_start_003 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_003() runs on TComp{ + + t_timers[1].start(); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_003()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_004.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9eb4ec5649a6ceffe07f876996c1c6dcb291a6de --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_004.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_004 { + type component TComp{ + + timer t_timer := 1.0; + } + testcase TC_NegSyn_2302_timer_start_004() runs on TComp{ + + t_timer.start 1.0; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_004()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_005.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5a1168496d60d3e87dc9d14de142100130358235 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_005.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_005 { + type component TComp{ + + timer t_timer := 1.0; + } + testcase TC_NegSyn_2302_timer_start_005() runs on TComp{ + + t_timer start(1.0); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_005()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_006.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e828863323ca35507f16bef0a32458acda206970 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_006.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_006 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_006() runs on TComp{ + + t_timers[1].start 1.0; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_006()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_007.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7dae0ca97538c2cec45eb95a024799e3a640d43d --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_007.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_007 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_007() runs on TComp{ + + t_timers[1] start(1.0); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_007()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_008.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..13441eea954970043892f4efad74c40d3a8a1f22 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_008.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_008 { + type component TComp{ + + timer t_timer := 1.0; + } + testcase TC_NegSyn_2302_timer_start_008() runs on TComp{ + + t_timer start; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_008()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_009.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8bbc23ff739f73c13aedf12ba85aed4d71b1cc9c --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_009.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax + + +module NegSyn_2302_timer_start_009 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_009() runs on TComp{ + + t_timers[1] start; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_009()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_010.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..47c72efd01220d56e49a2ae8ad8b847eb4136ebb --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_010.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow any timer.start + +module NegSyn_2302_timer_start_010 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_010() runs on TComp{ + // This is not allowed by the TTCN3 grammar + any timer.start; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_010()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_011.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..148d0032d9cddbd9326807067a171db8d2876562 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_011.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow any timer.start + +module NegSyn_2302_timer_start_011 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_011() runs on TComp{ + // This is not allowed by the TTCN3 grammar + any timer.start(1.0); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_011()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_012.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f5ad8ff20e38a248765abbd0f469ca72bf296b6d --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_012.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow all timer.start + +module NegSyn_2302_timer_start_012 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_012() runs on TComp{ + // This is not allowed by the TTCN3 grammar + all timer.start; + + } + control{ + + execute(TC_NegSyn_2302_timer_start_012()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_013.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..168ef784e35ea17ab88d5548813b0fd11115dfac --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/NegSyn_2302_timer_start_013.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer start syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Start timer syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow all timer.start + + +module NegSyn_2302_timer_start_013 { + type component TComp{ + + timer t_timers[3] := {1.0, 1.0, 1.0}; + } + testcase TC_NegSyn_2302_timer_start_013() runs on TComp{ + // This is not allowed by the TTCN3 grammar + all timer.start(1.0); + + } + control{ + + execute(TC_NegSyn_2302_timer_start_013()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a7901483f449e62cbd229d0a1934fe8630351c4a --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_001.ttcn @@ -0,0 +1,44 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer runs from zero to stated value + ** @verdict pass accept, ttnc3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/timer clock runs from 0 to the value set + +module Sem_2302_timer_start_001 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Sem_2302_timer_start_001() runs on TComp{ + timer t_short, t_long; + var float v_elapsed; + var float v_last := 0.0; + + t_long.start(2.0); + t_timer.start(1.0); + t_short.start(0.5); + + while (t_short.running) { + v_elapsed := t_timer.read; + log("t_timer.read = ", v_elapsed); + if (v_elapsed<0.0 or v_elapsed < v_last){ + setverdict(fail) + } + v_last := v_elapsed; + } + while (t_timer.running) { + v_elapsed := t_long.read; + log("t_long.read = ", v_elapsed); + if (v_elapsed < v_last){ + setverdict(fail) + } + v_last := v_elapsed; + } + setverdict(pass); + + } + control{ + execute(TC_Sem_2302_timer_start_001()) + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9efbe2f78506fc77f874e29599a32a5d0e4015ae --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_002.ttcn @@ -0,0 +1,53 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer can be restarted + ** @verdict pass accept, ttnc3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/timer can be restarted by repeated start operation + + +module Sem_2302_timer_start_002 { + type component TComp{ + } + + testcase TC_Sem_2302_timer_start_002() runs on TComp{ + timer t_short := 0.5, t_target := 1.0, t_long := 1.0; + + t_short.start; + t_target.start; + t_long.start; + + alt { + []t_short.timeout { + setverdict(pass); + t_target.start; // restart timer + } + []t_target.timeout { + setverdict(fail); + stop; + } + []t_long.timeout { + setverdict(fail); + stop; + } + } + alt { + []t_long.timeout { + setverdict(pass); + } + []t_target.timeout { + // Expected that t_target timeouts in 1.5 seconds since start: + // 0.5 sec. elapsed by t_short and 1.0 sec. by restarted timer + setverdict(fail); + stop; + } + } + } + control{ + + execute(TC_Sem_2302_timer_start_002()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a2dff46a7ce6f73ab7204946f61c0916ae0be789 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_003.ttcn @@ -0,0 +1,74 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer default value can be modified by start value + ** @verdict pass accept, ttnc3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/timer clock runs from 0 to the value set +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Overridden timer value applies only to current instance + +module Sem_2302_timer_start_003 { + type component TComp{ + timer t_timer := 1.0; + } + + testcase TC_Sem_2302_timer_start_003() runs on TComp{ + timer t_short := 0.95, t_long := 1.05; + + t_long.start; + t_timer.start(0.9); + t_short.start; + + // t_timer is expected to expire before other timers: its duration 0.9 < t_short < t_long + alt { + []t_timer.timeout { + setverdict(pass); + } + []t_short.timeout { + setverdict(fail); + stop; + } + []t_long.timeout { + setverdict(fail); + stop; + } + } + + t_short.timeout; + t_long.timeout; + + t_long.start; + t_timer.start; + t_short.start; + // t_timer is expected to expire before between t_short and t_long timers: + // its default duration t_short < 1.0 < t_long + alt { + []t_short.timeout { + setverdict(pass); + } + []t_timer.timeout { + setverdict(fail); + stop; + } + []t_long.timeout { + setverdict(fail); + stop; + } + } + alt { + []t_timer.timeout { + setverdict(pass); + } + []t_long.timeout { + setverdict(fail); + stop; + } + } + } + control{ + + execute(TC_Sem_2302_timer_start_003()) + + + } +} diff --git a/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6badff0cc51a3f9662bf4aa40b7f70c290f6fdf8 --- /dev/null +++ b/ATS/23_timer_operations/2302_the_start_timer_operataion/Sem_2302_timer_start_004.ttcn @@ -0,0 +1,45 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer with value 0.0 expires immediately + ** @verdict pass accept, ttnc3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.2 The start timer operation/Timer with the timer value 0.0 times out immediately. + + +module Sem_2302_timer_start_004 { + type component TComp{ + timer t_timer := 0.0; + timer t_timer_with_long_default := 100.0; + } + + testcase TC_Sem_2302_timer_start_004() runs on TComp{ + t_timer.start; + if (t_timer.running) + { + setverdict(fail); + } + else + { + setverdict(pass); + } + + t_timer_with_long_default.start(0.0); + if (t_timer_with_long_default.running) + { + setverdict(fail); + } + else + { + setverdict(pass); + } + + + } + control{ + + execute(TC_Sem_2302_timer_start_004()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_001.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1401dffd4878e391da55526ac28fb23fbdc71862 --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + + +module NegSyn_2303_timer_stop_001 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2303_timer_stop_001() runs on TComp{ + t_timer.start; + t_timer stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_001()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_002.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ba96348fe2a32c66a6caa1311a51b1158e205eae --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_002.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + + +module NegSyn_2303_timer_stop_002 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2303_timer_stop_002() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + t_timer[].stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_002()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_003.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7ccc09a51c19e00e32c67373ebd77f2821828502 --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_003.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure all timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + + +module NegSyn_2303_timer_stop_003 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2303_timer_stop_003() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + all.stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_003()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_004.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e91caaaf628a46a8272e3dcc7ac43769f41ad07a --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_004.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure all timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + + +module NegSyn_2303_timer_stop_004 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2303_timer_stop_004() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + timer.stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_004()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_005.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6d74d32c095572ef07886fc68ec0587719b4949a --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_005.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure all timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + + +module NegSyn_2303_timer_stop_005 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2303_timer_stop_005() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + all timer stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_005()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_006.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fec409e72c101fe9e9133d21ca8f0d1803369b6d --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/NegSyn_2303_timer_stop_006.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure all timer stop syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow any timer.stop + +module NegSyn_2303_timer_stop_006 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2303_timer_stop_006() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + any timer.stop; + + } + control{ + + execute(TC_NegSyn_2303_timer_stop_006()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_002.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..03f0da8fdc372636a972b77143d5ca0a761a753e --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_002.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure timer stop sets elapsed time to zero + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/stopped timer is inactive and elapsed time is 0 + + +module Sem_2303_timer_stop_002 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_Sem_2303_timer_stop_002() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + t_timer[0].stop; + if (t_timer[0].read!=0.0){ + setverdict(fail); + } + setverdict(pass); + + } + control{ + + execute(TC_Sem_2303_timer_stop_002()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_003.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..34d8839ba615b086aaf8abc5e50f768f2e88f4ad --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_003.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure timer all timer identifier + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/all keyword can be used for timers in component or module control +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow all timer.stop + +module Sem_2303_timer_stop_003 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_Sem_2303_timer_stop_003() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + all timer.stop; + if (t_timer[0].read!=0.0 or t_timer[1].read!=0.0){ + setverdict(fail); + } + setverdict(pass); + + } + control{ + + execute(TC_Sem_2303_timer_stop_003()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_004.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..17c025073418c58330386d8a4dad5340d283f57a --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/Sem_2303_timer_stop_004.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure can be stopped after timeout + ** @verdict pass accept, ttcn3verdict:none + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Stopping inactive timer is ok, but unobservable + + +module Sem_2303_timer_stop_004 { + type component TComp{ + timer t_timer := 1.0; + } + altstep a_step() runs on TComp{ + []t_timer.timeout{ + t_timer.stop; + } + } + testcase TC_Sem_2303_timer_stop_004() runs on TComp{ + t_timer.start; + a_step(); + + } + control{ + + execute(TC_Sem_2303_timer_stop_004()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_006.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5609293c676d6d1ee0e126b06c8633a3d664d24f --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_006.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure timer stop syntax + ** @verdict pass accept, noexecute + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax + +module Syn_2303_timer_stop_006 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Syn_2303_timer_stop_006() runs on TComp{ + t_timer.start; + t_timer.stop; + setverdict(pass); + } + control{ + + execute(TC_Syn_2303_timer_stop_006()) + + + } +} diff --git a/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_007.ttcn b/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4651f71c13080dcea82e24994ae1c120fefb44e8 --- /dev/null +++ b/ATS/23_timer_operations/2303_the_stop_timer_operation/Syn_2303_timer_stop_007.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.3, Ensure all timer stop syntax + ** @verdict pass accept, noexecute + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.3 The Stop timer operation/Timer stop syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow all timer.stop + +module Syn_2303_timer_stop_007 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Syn_2303_timer_stop_007() runs on TComp{ + t_timer.start; + all timer.stop; + setverdict(pass); + + } + control{ + + execute(TC_Syn_2303_timer_stop_007()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_001.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44e240609007abee85f1bf578b8a3b71cd4d12e0 --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_001.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Timer Read syntax + + +module NegSyn_2304_timer_read_001 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2304_timer_read_001() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + t_timer[].read; + + } + control{ + + execute(TC_NegSyn_2304_timer_read_001()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_002.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4440b608730b61e047750a4e96b92b1f728b755c --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Timer Read syntax + + +module NegSyn_2304_timer_read_002 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2304_timer_read_002() runs on TComp{ + var float v_float; + v_float := t_timer read; + + } + control{ + + execute(TC_NegSyn_2304_timer_read_002()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_003.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..81bb4f6d040640ff86b97e5ad96e732528a051a9 --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Timer Read syntax + + +module NegSyn_2304_timer_read_003 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2304_timer_read_003() runs on TComp{ + var float v_float; + v_float := read(t_timer); + + } + control{ + + execute(TC_NegSyn_2304_timer_read_003()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_004.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..952e11c3fc1f2b0df88db0ee2411efd8127fbbe1 --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read syntax: disallow any timer.read + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Timer Read syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow any timer.read + +module NegSyn_2304_timer_read_004 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2304_timer_read_004() runs on TComp{ + var float v_float; + v_float := any timer.read; + log ("any timer.read", v_float); + } + control{ + + execute(TC_NegSyn_2304_timer_read_004()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_005.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f31c795fb3deffe8339519addc093831f16150b --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/NegSyn_2304_timer_read_005.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Timer Read syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow all timer.read + +module NegSyn_2305_timer_read_005 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2305_timer_read_005() runs on TComp{ + var float v_float; + v_float := all timer.read; + } + control{ + + execute(TC_NegSyn_2305_timer_read_005()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_001.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..96b22452bc82edc65dd157786b956b5b62caaf6f --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read result of inactive timer is zero + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Read on an inactive timer returns float zero + + +module Sem_2304_timer_read_001 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Sem_2304_timer_read_001() runs on TComp{ + if (t_timer.read!=0.0){ + setverdict(fail); + stop; + } + t_timer.start; + t_timer.stop; + if (t_timer.read!=0.0){ + setverdict(fail); + } else { + setverdict(pass); + } + + } + control{ + execute(TC_Sem_2304_timer_read_001()) + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_002.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..be10b2cba7a91dbf892d10e82de36c2053f5b007 --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_002.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read result is non-negative float + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Read returns elapsed time that is non-neg float + + +module Sem_2304_timer_read_002 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Sem_2304_timer_read_002() runs on TComp{ + var float f:=0.0; + t_timer.start; + f:=t_timer.read; + if (f < 0.0){ + setverdict(fail); + } else { + setverdict(pass); + } + } + control{ + + execute(TC_Sem_2304_timer_read_002()) + + + } +} diff --git a/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_003.ttcn b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..bc0b690bd6b82fd3a061c5e03a5fe931d8a12317 --- /dev/null +++ b/ATS/23_timer_operations/2304_the_read_timer_operation/Sem_2304_timer_read_003.ttcn @@ -0,0 +1,47 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.4, Ensure timer read result is non-negative float + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.4 The Read timer operation/Read returns elapsed time that is non-neg float + + +module Sem_2304_timer_read_003 { + type component TComp{ + timer t_aux := 1.0; + timer t_aux2 := 1.05; + timer t_timer := 20.0; + } + testcase TC_Sem_2304_timer_read_003() runs on TComp{ + var float v_elapsed; + + t_aux2.start; + + t_timer.start; + + // wait for 1 second + t_aux.start; + t_aux.timeout; + + v_elapsed:=t_timer.read; + if (v_elapsed < 1.0){ + setverdict(fail); + } else { + setverdict(pass); + } + if (t_aux2.running) { + if (v_elapsed <= 1.05) { + setverdict(pass); + } else { + setverdict(fail); + } + } + } + control{ + + execute(TC_Sem_2304_timer_read_003()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_001.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5baf8d5a0d038ee89418571fd7fe4c4550fd805c --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + + +module NegSyn_2305_timer_running_001 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2305_timer_running_001() runs on TComp{ + var boolean v_bool; + v_bool := t_timer running; + } + control{ + + execute(TC_NegSyn_2305_timer_running_001()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_002.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..adec549686cdacc12afaebd8d821e6dbaa1ccf43 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + + +module NegSyn_2305_timer_running_002 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2305_timer_running_002() runs on TComp{ + var boolean v_bool; + v_bool := t_timer[].running; + + } + control{ + + execute(TC_NegSyn_2305_timer_running_002()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_003.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8221fa6adaf5c03d3ebced5dfff930cf99137826 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + + +module NegSyn_2305_timer_running_003 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2305_timer_running_003() runs on TComp{ + var boolean v_bool; + v_bool := any timer running; + + } + control{ + + execute(TC_NegSyn_2305_timer_running_003()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_004.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d419e6a9757acac2343dc28977d32fb6d3ca0814 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_004.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + + +module NegSyn_2305_timer_running_004 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2305_timer_running_004() runs on TComp{ + var boolean v_bool; + v_bool := timer.running; + + } + control{ + + execute(TC_NegSyn_2305_timer_running_004()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_005.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e08d0ddd96747ee18673933943b4c4b5958ea37 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + + +module NegSyn_2305_timer_running_005 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2305_timer_running_005() runs on TComp{ + var boolean v_bool; + v_bool := timer any.running; + + } + control{ + + execute(TC_NegSyn_2305_timer_running_005()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_006.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f425ff1d88e315dd8afeba4987206e3ffa07621 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/NegSyn_2305_timer_running_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running syntax: disallow all timer.running + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow all timer.running + +module NegSyn_2305_timer_running_006 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2305_timer_running_006() runs on TComp{ + var boolean v_bool; + v_bool := all timer.running; + + } + control{ + + execute(TC_NegSyn_2305_timer_running_006()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_001.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dc58ef7f69a821f9f3ba03eeb3f0a82821513a58 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_001.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running any timer identifier works + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/The any keyword may be used to check if any timer started on a component or module control is running + + +module Sem_2305_timer_running_001 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_Sem_2305_timer_running_001() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + all timer.stop; + if (any timer.running){ + setverdict(fail); + stop; + } + setverdict(pass); + + } + control{ + + execute(TC_Sem_2305_timer_running_001()) + + + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_002.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1dba1b868089db2009f356e472e6c70d7ef31ce7 --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running operation works + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/The operation returns the value true if the timer is listed on the running list, false otherwise. + + +module Sem_2305_timer_running_002 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Sem_2305_timer_running_002() runs on TComp{ + t_timer.start; + if (t_timer.running){ + setverdict(pass); + } else { + setverdict(fail); + } + } + control{ + execute(TC_Sem_2305_timer_running_002()) + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_003.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a6a26138aff5b3424ea371c79f14dd66289f98be --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_003.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running operation works + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/The operation returns the value true if the timer is listed on the running list, false otherwise. + + +module Sem_2305_timer_running_003 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_Sem_2305_timer_running_003() runs on TComp{ + t_timer.start; + t_timer.stop; + if (t_timer.running){ + setverdict(fail); + } else { + setverdict(pass); + } + } + control{ + execute(TC_Sem_2305_timer_running_003()) + } +} diff --git a/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_004.ttcn b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..32736270ea8624d93da1aaa2ddf597240c9fca9b --- /dev/null +++ b/ATS/23_timer_operations/2305_the_running_timer_operation/Sem_2305_timer_running_004.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer running operation works + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/The operation returns the value true if the timer is listed on the running list, false otherwise. +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow any timer.running + +module Sem_2305_timer_running_004 { + type component TComp{ + timer t_timer := 5.0; + } + testcase TC_Sem_2305_timer_running_004() runs on TComp{ + t_timer.start; + if (any timer.running){ + setverdict(pass); + } else { + setverdict(fail, "no timer running"); + } + t_timer.stop; + } + control{ + execute(TC_Sem_2305_timer_running_004()) + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_001.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ee8c08c6fac9d870cc2eb1d8924bc7cf1a119bf --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_001.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax + + +module NegSyn_2306_timer_timeout_001 { + type component TComp{ + timer t_timer[2] := {1.0, 1.0}; + } + testcase TC_NegSyn_2306_timer_timeout_001() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + t_timer[].timeout; + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_001()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_002.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0dca5a8d5ecd81218619eb491d5e87519767bccb --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_002.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout can`t be used in boolean expressions + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The timeout shall not be used in a boolean expression. + + +module NegSyn_2306_timer_timeout_002 { + type component TComp{ + timer t_timer[2] := {1.0, 1.1}; + } + + testcase TC_NegSyn_2306_timer_timeout_002() runs on TComp{ + t_timer[0].start; + if (t_timer[0].timeout){ + setverdict(fail); + } + setverdict(pass); + + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_002()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_003.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e21f0954a6c85ca3849c95c214f4f5e6d986feea --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_003.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax + + +module NegSyn_2306_timer_timeout_003 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2306_timer_timeout_003() runs on TComp{ + t_timer.start; + t_timer.timeout(); + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_003()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_004.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd4e84dc5f2d245e91c418799801da25e8dd407f --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_004.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax + +module NegSyn_2306_timer_timeout_004 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2306_timer_timeout_004() runs on TComp{ + t_timer.start; + any timer.timeout(); + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_004()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_005.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cd3263228f97885c472f3529bc256bf5912a383c --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax + + +module NegSyn_2306_timer_timeout_005 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2306_timer_timeout_005() runs on TComp{ + t_timer.start; + any timer timeout; + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_005()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_006.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fda94802ed4eabc8a8c06f77707c6b978c87cacc --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_006.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax + + +module NegSyn_2306_timer_timeout_006 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2306_timer_timeout_006() runs on TComp{ + t_timer.start; + timeout(t_timer); + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_006()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_007.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..853b222b7aec9d9f6569f0ab59be40d05a4833be --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/NegSyn_2306_timer_timeout_007.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout syntax + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timer Timeout syntax +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Disallow all timer.timeout + +module NegSyn_2306_timer_timeout_007 { + type component TComp{ + timer t_timer := 1.0; + } + testcase TC_NegSyn_2306_timer_timeout_006() runs on TComp{ + t_timer.start; + all timer.timeout; + + } + control{ + + execute(TC_NegSyn_2306_timer_timeout_006()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_001.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8bd4315729073d95d0a221339b80020f38a3fdd7 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_001.ttcn @@ -0,0 +1,33 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout operations: non-started timer does not timeout + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timeout operational semantics/Timeout unstarted timer + + +module Sem_2306_timer_timeout_001 { + type component TComp{ + timer t_unstarted_timer; + timer t_started_timer := 2.0; + } + testcase TC_Sem_2306_timer_timeout_001() runs on TComp{ + t_started_timer.start; + alt + { + [] t_unstarted_timer.timeout { + setverdict(fail); + } + [] t_started_timer.timeout { + setverdict(pass); + } + } + } + control{ + + execute(TC_Sem_2306_timer_timeout_001()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_002.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f89be2f133f8706d9f43c56332a666c1de58e530 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout operations: timed-out timer does not timeout until restarted + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timeout operational semantics/Timeout a timer that is already timed out + + +module Sem_2306_timer_timeout_002 { + type component TComp{ + timer t_timedout_timer := 0.5; + timer t_aux := 2.0; + } + testcase TC_Sem_2306_timer_timeout_002() runs on TComp{ + t_timedout_timer.start; + t_timedout_timer.timeout ; + + t_aux.start; + alt + { + [] t_timedout_timer.timeout { + setverdict(fail); + } + [] t_aux.timeout { + setverdict(pass); + } + } + } + control{ + + execute(TC_Sem_2306_timer_timeout_002()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_003.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..490980fb5c999522fef5f0ddd5a31ef514097615 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_003.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout happen in order from the shortest to the longest + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/Timeout operational semantics/Timeout started timer +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The timeout can be used as alternative in alt + +module Sem_2306_timer_timeout_003 { + type component TComp{ + timer t_short, t_medium, t_long; + } + testcase TC_Sem_2306_timer_timeout_003() runs on TComp{ + t_long.start(3.0); + t_medium.start(2.0); + t_short.start(1.0); + + alt + { + [] t_long.timeout { + setverdict(fail, + "Timer started for 3 seconds expired earlier than the timer started for 1 second"); + stop; + } + [] t_medium.timeout { + setverdict(fail, + "Timer started for 2 seconds expired earlier than the timer started for 1 second"); + stop; + } + [] t_short.timeout { + setverdict(pass); + } + } + alt + { + [] t_long.timeout { + setverdict(fail, + "Timer started for 3 seconds expired earlier than the timer started for 2 second"); + stop; + } + [] t_medium.timeout { + setverdict(pass); + } + } + t_long.timeout; + } + control{ + + execute(TC_Sem_2306_timer_timeout_003()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_004.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2a8366e35a8be8a9fe5e8652914b80a06eb97f15 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure any timer.timeout operation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation//Requirements/23 Timer operations/23.6 The Timeout operation/The any keyword used with the timeout operation succeeds if the timeout-list is not empty./Wait for timers in scope of the alt +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The any keyword used with the timeout operation succeeds if the timeout-list is not empty./Wait for timers in scope of the alt +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow any timer.timeout + + +module Sem_2306_timer_timeout_004 { + type component TComp{ + timer t_timer[2] := {1.0, 1.1}; + } + altstep a_step() runs on TComp{ + [] any timer.timeout { + setverdict(pass); + } + } + testcase TC_Sem_2306_timer_timeout_004() runs on TComp{ + t_timer[0].start; + t_timer[1].start; + a_step(); + a_step(); + if (t_timer[0].running or t_timer[1].running){ + setverdict(fail); + } + setverdict(pass); + } + control{ + + execute(TC_Sem_2306_timer_timeout_004()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_005.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8331e532ac5200f4fc2b17623e6baed04c569871 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_005.ttcn @@ -0,0 +1,65 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure any timer.timeout operation for timeouts that are not in scope + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The any keyword used with the timeout operation succeeds if the timeout-list is not empty./Any timer ignores timeouts in other components +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow any timer.timeout + +module Sem_2306_timer_timeout_005 { + const float PTC_TIMEOUT := 1.0; + + type port MyPort message { inout charstring }; + + type component System {} + + type component MTC { + port MyPort signalPort; + } + + type component PTC { + port MyPort signalPort; + } + function f_wait_for_mtc_timeout() runs on PTC + { + timer t_timer := PTC_TIMEOUT; + t_timer.start; + + alt { + [] signalPort.receive { + // any timer.timeout happend in MTC + setverdict(fail, "MTC detected timeout happened in PTC -- it is wrong!"); + } + [] t_timer.timeout { + setverdict(pass); + signalPort.send("I'm timed out!"); + } + } + } + + altstep a_step() runs on MTC { + [] any timer.timeout { + setverdict(fail, "MTC detected timeout happened in PTC -- it is wrong!"); + signalPort.send("I saw your timeout?"); + } + [] signalPort.receive { + // PTC timer out + setverdict(pass); + } + } + + testcase TC_Sem_2306_timer_timeout_005() runs on MTC system System{ + var PTC ptc := PTC.create; + connect(ptc:signalPort, mtc:signalPort); + ptc.start(f_wait_for_mtc_timeout()); + + a_step(); + } + control{ + + execute(TC_Sem_2306_timer_timeout_005()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_006.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88d639fc7621400a1c06a3a583b64b71962c6231 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_006.ttcn @@ -0,0 +1,61 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure any timer.timeout operation handles timeout of any timer in the component, not only visible from a function or altstep + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The any keyword used with the timeout operation succeeds if the timeout-list is not empty./Wait for timers that are outside of scope +// #reqname /Requirements/23 Timer operations/23.7 Summary of use of any and all with timers/Allow any timer.timeout + +module Sem_2306_timer_timeout_006 { + const float PTC_TIMEOUT := 5.0; + + type port MyPort message { inout charstring }; + + type component System {} + + type component MTC { + port MyPort signalPort; + } + + type component PTC { + port MyPort signalPort; + } + function f_ptc1() runs on PTC + { + timer t_timer := PTC_TIMEOUT; + t_timer.start; + + t_timer.timeout; + setverdict(fail, "The component was expected to be killed before this point"); + signalPort.send("I'm timed out!"); + } + + altstep a_step() runs on MTC { + [] any timer.timeout { + setverdict(pass); + } + [] signalPort.receive { + // PTC timer out + setverdict(fail, "Any timer.timeout failed to see the timer outside altstep scope"); + } + } + + testcase TC_Sem_2306_timer_timeout_006() runs on MTC system System{ + var PTC ptc := PTC.create; + timer t_timer; + connect(ptc:signalPort, mtc:signalPort); + ptc.start(f_ptc1()); + + // Start a timer outside of the scope of a_step + t_timer.start(1.0); + a_step(); + ptc.kill; + } + control{ + + execute(TC_Sem_2306_timer_timeout_006()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_007.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec2ca88e9d178d0ebd071ba726d22b7eb33eb7e1 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Sem_2306_timer_timeout_007.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.6, Ensure timer timeout happen in order from the shortest to the longest + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.6 The Timeout operation/The timeout can be used as a standalone statement + +module Sem_2306_timer_timeout_007 { + type component TComp{ + timer t_short, t_medium, t_long; + } + testcase TC_Sem_2306_timer_timeout_007() runs on TComp{ + t_long.start(3.0); + t_medium.start(2.0); + t_short.start(1.0); + + t_medium.timeout; + if (t_short.running) + { + setverdict(fail, "The timer has expired too early"); + stop; + } + if (not t_long.running) + { + setverdict(fail, "The timer has expired too late"); + stop; + } + setverdict(pass); + } + control{ + + execute(TC_Sem_2306_timer_timeout_007()) + + + } +} diff --git a/ATS/23_timer_operations/2306_the_timeout_operation/Syn_2306_timer_timeout_001.ttcn b/ATS/23_timer_operations/2306_the_timeout_operation/Syn_2306_timer_timeout_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..994515ecc663d0a0bad49f47506831530bc63e04 --- /dev/null +++ b/ATS/23_timer_operations/2306_the_timeout_operation/Syn_2306_timer_timeout_001.ttcn @@ -0,0 +1,42 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23.5, Ensure timer runnig syntax + ** @verdict pass accept, noexecution + ***************************************************/ +// #reqname /Requirements/23 Timer operations/23.5 The Running timer operation/Timer running syntax + +module Syn_2306_timer_timeout_001 +{ + type component TComp {} + + testcase TC_Syn_2306_timer_timeout_001() runs on TComp + { + var boolean v_bool; + timer t_timer := 0.1; + timer t_array[3] := { 1.0, 2.0, 3.0 } + + t_timer.start; + if (t_timer.running) + { + t_array[0].start; + if (t_array[0].running) + { + v_bool := t_array[1].running; + } + } + + v_bool := any timer.running; + if (any timer.running and true) + { + } + if (not any timer.running) + { + } + } + + control{ + execute(TC_Syn_2306_timer_timeout_001()) + } + +} diff --git a/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_001.ttcn b/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4c90eed673f1c27a50c9f8c89098ffa950a9b1ad --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_001.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer operations are not allowed outside of module control, test case, function, altstep + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Timer read is not allowed in component definitions +module NegSem_23_toplevel_001 +{ + type component TComp + { + timer t_timer1 := 1.0; + timer t_timer2 := t_timer1.read; + } + + testcase TC_NegSem_23_toplevel_001() runs on TComp + { + log("Value of t_timer2.read before starting it", t_timer2.read); + } + + control + { + execute(TC_NegSem_23_toplevel_001()) + } +} diff --git a/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_002.ttcn b/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ee993310dccc3ea5952b9a745b290889ade01ddc --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/NegSem_23_toplevel_002.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer operations are not allowed outside of module control, test case, function, altstep + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Timer running is not allowed in component definitions +module NegSem_23_toplevel_002 +{ + type component TComp + { + timer t_timer1 := 1.0; + var boolean v_bool := t_timer1.running; + } + + testcase TC_NegSem_23_toplevel_002() runs on TComp + { + log("Value of timer.running before starting it", v_bool); + } + + control + { + execute(TC_NegSem_23_toplevel_002()) + } +} diff --git a/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_001.ttcn b/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d12f2bde951232ad165f8d70912e4a6dfe083488 --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_001.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer operations are not allowed outside of module control, test case, function, altstep + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Timer stop is not allowed in module definitions + +module NegSyn_23_toplevel_001 +{ + all timer.stop; +} diff --git a/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_002.ttcn b/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9039ca22747c89cbeeca142b74770c704ba919a6 --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/NegSyn_23_toplevel_002.ttcn @@ -0,0 +1,12 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer operations are not allowed outside of module control, test case, function, altstep + ** @verdict pass reject + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Timer timeout operation is not allowed in module definitions + +module NegSyn_23_toplevel_002 +{ + any timer.timeout; +} diff --git a/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_001.ttcn b/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dcd826feb600d109720f0c0ff381fea0e2886b6b --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_001.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer allowed in module control, test case, function, altstep + ** @verdict pass accept, noexecution + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Positive syntax test + +module Syn_23_toplevel_001 +{ + type port MyPort message + { + inout integer; + } + + type component TComp + { + port MyPort p_port; + } + + function f_function() + { + var float v_float; + timer t_timer; + + t_timer.start(1.0); + v_float := t_timer.read; + if (t_timer.running) + { + t_timer.timeout; + } + t_timer.stop; + } + + altstep a_step() runs on TComp + { + [] p_port.receive { + var float v_float; + timer t_timer; + + t_timer.start(1.0); + v_float := t_timer.read; + if (t_timer.running) + { + t_timer.timeout; + } + t_timer.stop; + } + } + + testcase TC_Syn_23_toplevel_001() runs on TComp + { + var float v_float; + timer t_timer; + + t_timer.start(1.0); + v_float := t_timer.read; + if (t_timer.running) + { + t_timer.timeout; + } + t_timer.stop; + } + + control + { + var float v_float; + timer t_timer; + + t_timer.start(1.0); + v_float := t_timer.read; + if (t_timer.running) + { + t_timer.timeout; + } + t_timer.stop; + } +} diff --git a/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_002.ttcn b/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f58b825850fa979edbff5851daf3bd73b699b3a7 --- /dev/null +++ b/ATS/23_timer_operations/23_toplevel/Syn_23_toplevel_002.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:23, Ensure timer allowed in module control, test case, function, altstep + ** @verdict pass accept, noexecution + ***************************************************/ +// #reqname /Requirements/23 Timer operations/Usage of timers is allowed in test cases, functions, altsteps, module control/Positive syntax test + +module Syn_23_toplevel_002 +{ + type port MyPort message + { + inout integer; + } + + type component TComp + { + port MyPort p_port; + } + + function f_function() + { + var float v_float; + timer t_timer[5] := {1.0, 2.0, 3.0, 4.0, 5.0}; + + t_timer[0].start(1.0); + v_float := t_timer[1].read; + if (t_timer[2].running) + { + t_timer[3].timeout; + } + t_timer[4].stop; + } + + altstep a_step() runs on TComp + { + timer t_timer[5] := {1.0, 2.0, 3.0, 4.0, 5.0}; + [] p_port.receive { + var float v_float; + + t_timer[0].start(1.0); + v_float := t_timer[1].read; + if (t_timer[2].running) + { + t_timer[3].timeout; + } + t_timer[4].stop; + } + } + + testcase TC_Syn_23_toplevel_002() runs on TComp + { + var float v_float; + timer t_timer[5] := {1.0, 2.0, 3.0, 4.0, 5.0}; + + t_timer[0].start(1.0); + v_float := t_timer[1].read; + if (t_timer[2].running) + { + t_timer[3].timeout; + } + t_timer[4].stop; + } + + control + { + var float v_float; + timer t_timer[5] := {1.0, 2.0, 3.0, 4.0, 5.0}; + + t_timer[0].start(1.0); + v_float := t_timer[1].read; + if (t_timer[2].running) + { + t_timer[3].timeout; + } + t_timer[4].stop; + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NOTES b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..05f826b28ac165b00e4577da5ac78f9e89164990 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NOTES @@ -0,0 +1,11 @@ +Tests Sem_2401_GlobalVerdict_xxx validate the following requirements: + there is a global test case verdict instantiated and handled by the test system that is + updated when each test component (i.e. the MTC and each and every PTC) + terminates execution (see figure 14). + ... The test case verdict is implicitly updated on the termination of a test + component. The effect of this implicit operation shall also follow the overwriting rules listed in table 30 + ... The value of this verdict shall be returned by the test case when it terminates execution. + +Tests Sem_2401_LocalVerdict_xxx validate the following requirements: + When changing the value of the local verdict (i.e. using the setverdict operation) the effect of this change shall + follow the overwriting rules listed in table 30. diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NegSem_2401_SetverdictError.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NegSem_2401_SetverdictError.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..96de84fe845c0c1a788e378bf07cb5dec695f0c1 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/NegSem_2401_SetverdictError.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.1, Ensure that setverdict can't set error verdict + ** @verdict pass reject, manual:"Ensure only one test case was executed " + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Error verdict shall not be set with setverdict + **/ + +module NegSem_2401_SetverdictError_001 { + type component GeneralComp {}; + + testcase TC_NegSem_2401_SetverdictError_001_setverdict(out boolean pb_error_occurred) runs on GeneralComp { + pb_error_occurred := true; + setverdict(error); + // Must abort here + pb_error_occurred := false; + setverdict(pass) + } + + testcase TC_NegSem_2401_SetverdictError_001_check_error_occured(boolean b_error_occurred) runs on GeneralComp { + if (b_error_occurred) { + setverdict(pass); + } else { + setverdict(fail) + } + } + + control { + var boolean b_error_occurred := true; + execute(TC_NegSem_2401_SetverdictError_001_setverdict(b_error_occurred)); + execute(TC_NegSem_2401_SetverdictError_001_check_error_occured(b_error_occurred)); + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_001.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a9215295e69539ebb624ac221fbdbc95d7005ceb --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: pass can overwrite none. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_001 { + type component GeneralComp {} + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + testcase TC_Sem_2401_GlobalVerdict_001() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_none()); + PTC2.start(set_PTC_verdict_pass()); + all component.done; + // Verdict pass can overwrite none + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_001()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_002.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6869d3b57b3f06008fccd0b2879818924c8b9a88 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_002.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: inconc can overwrite none. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_002 { + type component GeneralComp {} + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + testcase TC_Sem_2401_GlobalVerdict_002() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_none()); + PTC2.start(set_PTC_verdict_inconc()); + all component.done; + // Verdict inconc can overwrite none + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_002()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_003.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c0708a1671d8ff9edcc15f47e629afe56eaa522d --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_003.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: fail can overwrite none. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_003 { + type component GeneralComp {} + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + testcase TC_Sem_2401_GlobalVerdict_003() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_none()); + PTC2.start(set_PTC_verdict_fail()); + all component.done; + // Verdict fail can overwrite none + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_003()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_004.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..db5128effcea1b2dc2b3911634a99db9092d9561 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: none can't overwrite pass. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_004 { + type component GeneralComp {} + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + testcase TC_Sem_2401_GlobalVerdict_004() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_pass()); + PTC2.start(set_PTC_verdict_none()); + all component.done; + // Verdict none can't overwrite pass + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_004()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_005.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b52e930f67c7627723827e97cb41e0cac8fe1330 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_005.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: inconc can overwrite pass. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_005 { + type component GeneralComp {} + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + testcase TC_Sem_2401_GlobalVerdict_005() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_pass()); + PTC2.start(set_PTC_verdict_inconc()); + all component.done; + // Verdict inconc can overwrite pass + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_005()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_006.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c022fed9d34a79f83ccd6b75a983efea4be18d21 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_006.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: fail can overwrite pass. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_006 { + type component GeneralComp {} + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + testcase TC_Sem_2401_GlobalVerdict_006() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_pass()); + PTC2.start(set_PTC_verdict_fail()); + all component.done; + // Verdict fail can overwrite pass + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_006()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_007.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..38f2859f5e50f3c19ed540367cb57c31d397e60d --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_007.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: none can't overwrite inconc. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_007 { + type component GeneralComp {} + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + testcase TC_Sem_2401_GlobalVerdict_007() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_inconc()); + PTC2.start(set_PTC_verdict_none()); + all component.done; + // Verdict none can't overwrite inconc + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_007()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_008.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da5a596d6438412d9c0ee2e2fc91e819fd118fe2 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_008.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: pass can't overwrite inconc. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_008 { + type component GeneralComp {} + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + testcase TC_Sem_2401_GlobalVerdict_008() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_inconc()); + PTC2.start(set_PTC_verdict_pass()); + all component.done; + // Verdict pass can't overwrite inconc + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_008()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_009.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7f63fb169d227dd7e63424dd147ae3a3a2ceafd5 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_009.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: fail can overwrite inconc. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_009 { + type component GeneralComp {} + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + testcase TC_Sem_2401_GlobalVerdict_009() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_inconc()); + PTC2.start(set_PTC_verdict_fail()); + all component.done; + // Verdict fail can overwrite inconc + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_009()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_010.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6015e73f2abdd6ebbe867344e5dbcde27a6b71fa --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_010.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: none can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_010 { + type component GeneralComp {} + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + function set_PTC_verdict_none() runs on GeneralComp { + setverdict(none); + } + + testcase TC_Sem_2401_GlobalVerdict_010() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_fail()); + PTC2.start(set_PTC_verdict_none()); + all component.done; + // Verdict none can't overwrite fail + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_010()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_011.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebf94cfd45a10867fa822ad3448308cf4bf23594 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_011.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: pass can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_011 { + type component GeneralComp {} + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + function set_PTC_verdict_pass() runs on GeneralComp { + setverdict(pass); + } + + testcase TC_Sem_2401_GlobalVerdict_011() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_fail()); + PTC2.start(set_PTC_verdict_pass()); + all component.done; + // Verdict pass can't overwrite fail + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_011()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_012.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dda5e5554f4c0a4783e6b570263fc6461338c47f --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_GlobalVerdict_012.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for global verdict: inconc can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ + + +module Sem_2401_GlobalVerdict_012 { + type component GeneralComp {} + + function set_PTC_verdict_fail() runs on GeneralComp { + setverdict(fail); + } + + function set_PTC_verdict_inconc() runs on GeneralComp { + setverdict(inconc); + } + + testcase TC_Sem_2401_GlobalVerdict_012() runs on GeneralComp system GeneralComp { + var GeneralComp PTC1, PTC2; + + PTC1 := GeneralComp.create; + PTC2 := GeneralComp.create; + PTC1.start(set_PTC_verdict_fail()); + PTC2.start(set_PTC_verdict_inconc()); + all component.done; + // Verdict inconc can't overwrite fail + } + + control{ + execute(TC_Sem_2401_GlobalVerdict_012()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_InitiallyNone_001.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_InitiallyNone_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..33a06491e6c35fd2080aa92e9b457194850900eb --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_InitiallyNone_001.ttcn @@ -0,0 +1,27 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.1, Ensure that local verdicts initializes with none + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Local verdict is initialized with none + **/ + + +module Sem_2401_InitiallyNone_001 { + type component GeneralComp {} + + testcase TC_Sem_2401_InitiallyNone_001() runs on GeneralComp { + var verdicttype b_verdict := getverdict; + if (b_verdict == none) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_2401_InitiallyNone_001()); + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_001.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..08c845e57049d7c7302b2155979399bfd523ec52 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_001.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: pass can overwrite none. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_001 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_001() runs on GeneralComp { + setverdict(none); + setverdict(pass); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_001()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_002.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..62b40ede3caa762395143f6f8ea8748131b4d39d --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: inconc can overwrite none. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_002 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_002() runs on GeneralComp { + setverdict(none); + setverdict(inconc); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_002()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_003.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..78aca87fd1cdef34403954884d3d08fe2cbc9343 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_003.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: fail can overwrite none. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_003 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_003() runs on GeneralComp { + setverdict(none); + setverdict(fail); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_003()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_004.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..31831fe37e34b68729490c8c2693047251a1d1b6 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_004.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: none can't overwrite pass. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_004 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_004() runs on GeneralComp { + setverdict(pass); + setverdict(none); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_004()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_005.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..709e299dc47eb75955ed4f404fd75b76af19a0d4 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_005.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: inconc can overwrite pass. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_005 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_005() runs on GeneralComp { + setverdict(pass); + setverdict(inconc); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_005()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_006.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2f503c1232f0959fd5af4e3b9a5d65d41c32e9a7 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_006.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: fail can overwrite pass. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_006 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_006() runs on GeneralComp { + setverdict(pass); + setverdict(fail); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_006()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_007.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..92da45d59e2562310863b89e5673eb8689e19dc3 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_007.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: none can't overwrite inconc. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_007 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_007() runs on GeneralComp { + setverdict(inconc); + setverdict(none); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_007()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_008.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6de881c9e81c90d0f2b4e55ce46b3215f76ba799 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_008.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: pass can't overwrite inconc. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_008 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_008() runs on GeneralComp { + setverdict(inconc); + setverdict(pass); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_008()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_009.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4ead154562c904c0c66eab27fe70de01eb903609 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_009.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: fail can overwrite inconc. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_009 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_009() runs on GeneralComp { + setverdict(inconc); + setverdict(fail); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_009()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_010.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..320539bcfaaa2f704481f31ec89f3708eaa0f70e --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_010.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: none can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_010 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_010() runs on GeneralComp { + setverdict(fail); + setverdict(none); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_010()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_011.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8897407c1b869e4ae932baa0bc790a9d183838ce --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_011.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: pass can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_011 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_011() runs on GeneralComp { + setverdict(fail); + setverdict(pass); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_011()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_012.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..022d63e31e2713c4e1e3bb44ac17829495531b89 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Sem_2401_LocalVerdict_012.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.1, Ensure overwriting rules for local verdict: inconc can't overwrite fail. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Overwriting rules for setverdict + **/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/The value of the local verdict is changed with the setverdict operation. + **/ + + +module Sem_2401_LocalVerdict_012 { + type component GeneralComp {} + + testcase TC_Sem_2401_LocalVerdict_012() runs on GeneralComp { + setverdict(fail); + setverdict(inconc); + + // The verdict is evaluated by the validation tool according to @verdict header + } + + control{ + execute(TC_Sem_2401_LocalVerdict_012()); + } +} diff --git a/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Syn_2401_FiveValues_001.ttcn b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Syn_2401_FiveValues_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..840c0119f9362f044ec9670b8c4d57553a13b6d4 --- /dev/null +++ b/ATS/24_test_verdict_operations/2401_the_verdict_mechanism/Syn_2401_FiveValues_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.1, Ensure that there are five values of verdicttype + ** @verdict pass accept, noexecution + *****************************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.1 The Verdict mechanism/Five different values of verdict + **/ + + +module Syn_2401_FiveValues_001 { + control { + var verdicttype v_v; + + v_v := none; + v_v := pass; + v_v := inconc; + v_v := fail; + v_v := error; + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_001.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c29e98ab195577b37857f53a16087f436325672e --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts parameters of verdicttype only + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Setverdict allowed verdict values + **/ + +module NegSem_2402_setverdict_params_001 { + type component TComp {} + + testcase TC_NegSem_2402_setverdict_params_001() runs on TComp { + var charstring v_pass := "pass"; + setverdict(v_pass); + } + + control { + execute(TC_NegSem_2402_setverdict_params_001()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_002.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..04d012541f1bb19a2496c23eb5939447de94301d --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_002.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts parameters of verdicttype only + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Setverdict allowed verdict values + **/ + + +module NegSem_2402_setverdict_params_002 { + type component TComp {} + type record TRec { verdicttype field1 } + + testcase TC_NegSem_2402_setverdict_params_002() runs on TComp { + var TRec v_pass := { field1 := pass }; + setverdict(v_pass); + } + + control { + execute(TC_NegSem_2402_setverdict_params_002()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_003.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0735f0b3d0d2af07b27080720cd810403d1f688b --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_003.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts values of verdicttype only + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Setverdict allowed verdict values + **/ + +module NegSem_2402_setverdict_params_003 { + type component TComp {} + + testcase TC_NegSem_2402_setverdict_params_003() runs on TComp { + var template verdicttype v_pass := pass; + setverdict(v_pass); + } + + control { + execute(TC_NegSem_2402_setverdict_params_003()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_004.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..23e2755dbed270abf54af27cdc74400f3da429f3 --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_004.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts values only as the parameter + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Setverdict allowed verdict values + **/ + +module NegSem_2402_setverdict_params_004 { + type component TComp {} + + testcase TC_NegSem_2402_setverdict_params_004() runs on TComp { + var template verdicttype v_pass := ?; + setverdict(v_pass); + } + + control { + execute(TC_NegSem_2402_setverdict_params_004()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_005.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d1c7676b096a1d040e387c1aab1519e8df2d8704 --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/NegSem_2402_setverdict_params_005.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts values only as the parameter + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Setverdict allowed verdict values + **/ + +module NegSem_2402_setverdict_params_005 { + type component TComp {} + + testcase TC_NegSem_2402_setverdict_params_005() runs on TComp { + var anytype v_var := { integer := 1 }; + setverdict(v_var.verdicttype); + } + + control { + execute(TC_NegSem_2402_setverdict_params_005()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_logging_001.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_logging_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e1f7aab342f94fd8394da65b29e12e06c4df8fbd --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_logging_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure logging constraints + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/For FreeText and TemplateInstance, the same rules and restrictions apply as for the parameters of the log statement. + **/ + +module Sem_2402_setverdict_logging_001 { + type component TComp {} + + testcase TC_Sem_2402_setverdict_logging_001() runs on TComp { + var integer v_uninitialized ; + setverdict(pass, "Uninitialized variable", v_uninitialized); + } + + control { + execute(TC_Sem_2402_setverdict_logging_001()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_001.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2605d676de06f72b3142ed1e3fc3261adcd120fd --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_001.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts values only as the parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Optional setverdict parameters + **/ + +module Sem_2402_setverdict_params_001 { + type component TComp {} + + testcase TC_Sem_2402_setverdict_params_001() runs on TComp { + var anytype v_var := { verdicttype := pass }; + setverdict(v_var.verdicttype); + } + + control { + execute(TC_Sem_2402_setverdict_params_001()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_002.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e76aa96e1a40a90a638e7c0e587730ab31a659a --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_002.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict accepts values only as the parameter + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Optional setverdict parameters + **/ + +module Sem_2402_setverdict_params_002 { + type component TComp {} + + testcase TC_Sem_2402_setverdict_params_002() runs on TComp { + var template verdicttype v_pass := pass; + setverdict(valueof(v_pass)); + } + + control { + execute(TC_Sem_2402_setverdict_params_002()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_003.ttcn b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..21b867599149f30ac4e10bc9d11a7ea1e7ff1fba --- /dev/null +++ b/ATS/24_test_verdict_operations/2402_the_setverdict_operation/Sem_2402_setverdict_params_003.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure logging constraints + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.2 The Setverdict operation/Optional setverdict parameters + **/ + +module Sem_2402_setverdict_params_003 { + type component TComp {} + + testcase TC_Sem_2402_setverdict_params_003() runs on TComp { + var template verdicttype v_pass := pass; + setverdict(valueof(v_pass)); + } + + control { + execute(TC_Sem_2402_setverdict_params_003()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_001.ttcn b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d0661233294cbb7cfbd21e75ab83a24b45f3474c --- /dev/null +++ b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_001.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.3, Ensure getverdict returns the actual verdict none + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// #reqname /Requirements/24 Test verdict operations/24.3 The Getverdict operation/Getverdict returns local verdict value + +module Sem_2403_getverdict_001 { + type component TComp {} + + testcase TC_Sem_2403_getverdict_001() runs on TComp { + var verdicttype v_verdict; + setverdict(none); + v_verdict := getverdict; + if (v_verdict == none) + { + setverdict(pass) + } + else + { + setverdict(fail); + } + } + + control { + execute(TC_Sem_2403_getverdict_001()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_002.ttcn b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8027f22375874b5f7543a6dd03ca2ee76c8f3cb4 --- /dev/null +++ b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_002.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.3, Ensure getverdict returns the actual verdict inconc + ** @verdict pass accept, ttcn3verdict:inconc + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.3 The Getverdict operation/Getverdict returns local verdict value + **/ + +module Sem_2403_getverdict_002 { + type component TComp {} + + testcase TC_Sem_2403_getverdict_002() runs on TComp { + var verdicttype v_verdict; + setverdict(inconc); + v_verdict := getverdict; + if (v_verdict != inconc) + { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_2403_getverdict_002()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_003.ttcn b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8ef25b2b9508df53683921c40a0a30706a289479 --- /dev/null +++ b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_003.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.3, Ensure getverdict returns the actual verdict pass + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.3 The Getverdict operation/Getverdict returns local verdict value + **/ + +module Sem_2403_getverdict_003 { + type component TComp {} + + testcase TC_Sem_2403_getverdict_003() runs on TComp { + var verdicttype v_verdict; + setverdict(pass); + v_verdict := getverdict; + if (v_verdict == pass) + { + setverdict(pass) + } + else + { + setverdict(fail); + } + } + + control { + execute(TC_Sem_2403_getverdict_003()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_004.ttcn b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a71f4b33b3b7f259834d589c69866513fe795cd5 --- /dev/null +++ b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_004.ttcn @@ -0,0 +1,28 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24.3, Ensure getverdict returns the actual verdict fail + ** @verdict pass accept, ttcn3verdict:error + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.3 The Getverdict operation/Getverdict returns local verdict value + **/ + +module Sem_2403_getverdict_004 { + type component TComp {} + + testcase TC_Sem_2403_getverdict_004() runs on TComp { + var verdicttype v_verdict; + setverdict(fail); + v_verdict := getverdict; + if (v_verdict == fail) + { + // Set error verdict + testcase.stop; + } + } + + control { + execute(TC_Sem_2403_getverdict_004()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_005.ttcn b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5a7f221594ff6bf86dd62f17b5b8f213b15f4ce8 --- /dev/null +++ b/ATS/24_test_verdict_operations/2403_the_getverdict_operation/Sem_2403_getverdict_005.ttcn @@ -0,0 +1,31 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24.3, Ensure getverdict none for uninitialized verdict + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/24.3 The Getverdict operation/Getverdict returns local verdict value/Getverdict returns none for uninitialized verdict + **/ + +module Sem_2403_getverdict_005 { + type component TComp {} + + testcase TC_Sem_2403_getverdict_005() runs on TComp { + var verdicttype v_verdict; + v_verdict := getverdict; + if (v_verdict != none) + { + // Set error verdict + testcase.stop; + } + else + { + setverdict(pass); + } + } + + control { + execute(TC_Sem_2403_getverdict_005()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_001.ttcn b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e95f007c673e77d068aaff3bbd6f74bd2a63020 --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_001.ttcn @@ -0,0 +1,24 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:24, Ensure getverdict is not allowed in constant initialization in control part + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions. + **/ + +module NegSem_24_toplevel_001 { + // This should be syntactically correct since BNF does not restrict initialization expression + const verdicttype c_verdict := getverdict; + + type component GeneralComp {} + + testcase TC_NegSem_24_toplevel_001 (verdicttype v_verdict) runs on GeneralComp{ + setverdict(pass) + } + + control { + execute(TC_NegSem_24_toplevel_001(c_verdict)); + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_002.ttcn b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e3a3a774152c60f8cf1377d7bed35d7fdcd55b45 --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_002.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure getverdict is not allowed in parameter initialization in control part. + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions. + **/ + +module NegSem_24_toplevel_002 { + type component GeneralComp {} + + testcase TC_NegSem_24_toplevel_002(verdicttype v_param) runs on GeneralComp { + setverdict(fail); + } + + control { + // BNF allows getverdict in expression -- this is a semantic test + execute(TC_NegSem_24_toplevel_002(getverdict)); + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_003.ttcn b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1659e3230172f82cd99417343aa4384238584880 --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_003.ttcn @@ -0,0 +1,22 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure getverdict is not allowed in variable definition in control part. + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions. + **/ + +module NegSem_24_toplevel_003 { + type component GeneralComp {} + + testcase TC_NegSem_24_toplevel_003(verdicttype v_param) runs on GeneralComp { + setverdict(fail); + } + + control { + var verdicttype v_verdict := getverdict; + execute(TC_NegSem_24_toplevel_003()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_004.ttcn b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b234ccc39c8ce2932bc46437a851f1587a31561c --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_004.ttcn @@ -0,0 +1,26 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.2 + ** @purpose 1:24, Ensure setverdict is not allowed in part whithin compound statement. + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions. + **/ + +module NegSem_24_toplevel_004 { + type component GeneralComp {} + + testcase TC_NegSem_24_toplevel_004() runs on GeneralComp { + setverdict(fail); + } + + + control { + if (true) { + // It is allowed by BNF: ControlStatement -> BasicStatements -> ConditionalConstruct -> StatementBlock => SetLocalVerdict + setverdict(pass); + } + execute(TC_NegSem_24_toplevel_004()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_005.ttcn b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..88ee972aca19d355a07eb1f69ead1720ecdc0887 --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/NegSem_24_toplevel_005.ttcn @@ -0,0 +1,25 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.2 + ** @purpose 1:24, Ensure setverdict is not allowed in control part at the top level. + ** @verdict pass reject + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions. + **/ + +module NegSem_24_toplevel_005 { + type component GeneralComp {} + + testcase TC_NegSem_24_toplevel_005() runs on GeneralComp { + setverdict(fail); + } + + + control { + // TODO Check with grammar if it is allowed + // At least grammar allowes it in compound statements + setverdict(pass); + execute(TC_NegSem_24_toplevel_005()) + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_001.ttcn b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e949165532b8cedc1b1a73059f4a1f4fb748f3d --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict and getverdict are allowed in functions + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions./Setverdict locations/Setverdict in functions allowed + **/ + +module Syn_24_toplevel_001 { + function f_test_setverdict() { + setverdict(none); + setverdict(pass); + setverdict(inconc); + setverdict(fail); + } + + function f_test_variable_assignment() { + var verdicttype v_verdict; + + v_verdict := getverdict; + } + + function f_test_return_getverdict() return verdicttype { + return getverdict; + } + + function f_test_const_init() { + const verdicttype c_v := getverdict; + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_002.ttcn b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..08203bfd62402cb2050b9dbd9a31332bf72cf6a7 --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_002.ttcn @@ -0,0 +1,30 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict and getverdict are allowed in test cases + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions./Setverdict locations/Setverdict allowed in test cases + **/ + +module Syn_24_toplevel_002 { + type component GeneralComp {}; + + testcase TC_Syn_24_toplevel_002_setverdict() runs on GeneralComp { + setverdict(none); + setverdict(pass); + setverdict(inconc); + setverdict(fail); + } + + testcase TC_Syn_24_toplevel_002_getverdict() runs on GeneralComp { + var verdicttype v_verdict; + + v_verdict := getverdict; + } + + testcase TC_Syn_24_toplevel_002_return_getverdict() runs on GeneralComp { + const verdicttype c_v := getverdict; + } +} \ No newline at end of file diff --git a/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_003.ttcn b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14a2a004ebc530b20e8eea11dcb608dcd1fa788b --- /dev/null +++ b/ATS/24_test_verdict_operations/24_toplevel/Syn_24_toplevel_003.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:24, Ensure setverdict and getverdict are allowed in atsteps + ** @verdict pass accept, noexecution + ***************************************************/ +/* + * #reqname /Requirements/24 Test verdict operations/Getverdict and setverdict operations shall only be used in test cases, altsteps and functions./Setverdict locations/Setverdict allowed in altsteps + **/ + +module Syn_24_toplevel_003 { + type record MessageType { + integer field + } + + type port MessagePort message { + inout MessageType; + } + + type component GeneralComp { + port MessagePort PCO1; + port MessagePort PCO2; + port MessagePort PCO3; + } + + altstep a_test_get_set_verdict() runs on GeneralComp { + var verdicttype v_verdict := getverdict; + + [] PCO1.receive { + setverdict(pass); + } + [] PCO2.receive { + setverdict(inconc); + } + [] PCO3.receive { + setverdict(fail); + } + } +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_001.ttcn b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e1c102b34fa2cbdf2a0b40cba8c3bbe5c5d2e629 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_001.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that non-float timeout parameters in the execute statement are rejected (in this case int). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2601_ExecuteStatement_001 { + +type component GeneralComp { } + +testcase TC_NegSem_2601_ExecuteStatement_001() runs on GeneralComp { + setverdict(pass); +} + +control { + execute(TC_NegSem_2601_ExecuteStatement_001(), 1); +} + +} diff --git a/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_002.ttcn b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..787c3f5bde1e39790f72813fd7b135b03a01d51e --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_002.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that non-float timeout parameters in the execute statement are rejected (in this case charstring). + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2601_ExecuteStatement_002 { + +type component GeneralComp { } + +testcase TC_NegSem_2601_ExecuteStatement_002() runs on GeneralComp { + setverdict(pass); +} + +control { + execute(TC_NegSem_2601_ExecuteStatement_002(), "foobar"); +} + +} diff --git a/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_003.ttcn b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4ae72bf7d0e7515291b2ebc6966b9fa73fcdf3f5 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_003.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that host id can be only charstring. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2601_ExecuteStatement_003 { + +type component GeneralComp { } + +testcase TC_NegSem_2601_ExecuteStatement_003(integer p_value, charstring p_string, boolean p_bool) runs on GeneralComp { + setverdict(pass); +} + +control { + var integer v_test := 20; + var octetstring v_host := '4469707379'O; //not allowed host type + execute(TC_NegSem_2601_ExecuteStatement_003(v_test, "hello", true), -, v_host); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_004.ttcn b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9e6dead8f2c7093ff50137d923a9911a120976d3 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_004.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that execution rejects test case execution with infinity timer guard + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2601_ExecuteStatement_004 { + +type component GeneralComp { } + +testcase TC_NegSem_2601_ExecuteStatement_004(integer p_value, charstring p_string, boolean p_bool) runs on GeneralComp { + setverdict(pass); +} + +control { + var integer v_test := 20; + execute(TC_NegSem_2601_ExecuteStatement_004(v_test, "hello", true), infinity); //not allowed to explicitly assign infinite timer +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_001.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..07ce3fe14fd205498d6c88bd8db1e06526e7e943 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_001.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that parameters are passed correctly into the test case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2601_ExecuteStatement_001 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_001(integer p_value) runs on GeneralComp { + if (p_value == 20) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control { + var integer v_test := 20; + execute(TC_Sem_2601_ExecuteStatement_001(v_test)); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_002.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..13c20f425599a61150c81ee6438a0e75536bf036 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_002.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that multiple parameters of different types are passed correctly into the test case. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2601_ExecuteStatement_002 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_002(integer p_value, charstring p_string, boolean p_bool) runs on GeneralComp { + if ((p_value == 20) and + (p_string == "hello") and + (p_bool == true) + ){ + setverdict(pass); + } else { + setverdict(fail); + } +} + +control { + var integer v_test := 20; + execute(TC_Sem_2601_ExecuteStatement_002(v_test, "hello", true)); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_003.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..afe9ed160d4145287ea3784525150c9130b39881 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_003.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the timeout specified with the execute statement is respected. + ** @verdict pass accept, ttcn3verdict:error + *****************************************************************/ + +module Sem_2601_ExecuteStatement_003 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_003() runs on GeneralComp { + alt { // this alt is intentionally blocking! + [] any port.receive { + repeat; + } + } + setverdict(pass); +} + +control { + execute(TC_Sem_2601_ExecuteStatement_003(), 2.0); // let the testcase timeout after 2 seconds +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_004.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..46ab36089cadf42f7d7137c593d8d0affe86c035 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_004.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the verdict none works correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2601_ExecuteStatement_004 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_004() runs on GeneralComp { + setverdict(none); +} + +testcase TC_Sem_2601_ExecuteStatement_004_second(verdicttype p_verdict) runs on GeneralComp { + if (p_verdict == none) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control { + var verdicttype v_result; + + v_result := execute(TC_Sem_2601_ExecuteStatement_004()); + execute(TC_Sem_2601_ExecuteStatement_004_second(v_result)); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_005.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8c8b90cd8cf87f65aadbe1b9d6e4a182c3deba04 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_005.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the verdict pass works correctly. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ + +module Sem_2601_ExecuteStatement_005 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_005() runs on GeneralComp { + setverdict(pass); +} + +testcase TC_Sem_2601_ExecuteStatement_005_second(verdicttype p_verdict) runs on GeneralComp { + if (p_verdict == pass) { + setverdict(fail); + } else { + setverdict(pass); + } +} + +control { + var verdicttype v_result; + + v_result := execute(TC_Sem_2601_ExecuteStatement_005()); + execute(TC_Sem_2601_ExecuteStatement_005_second(v_result)); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_006.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..aabded7af67d7d032bfebe1571752107ba07913d --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_006.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the verdict inconc works correctly. + ** @verdict pass accept, ttcn3verdict:inconc + *****************************************************************/ + +module Sem_2601_ExecuteStatement_006 { + +type component GeneralComp { } + +testcase TC_Sem_2601_ExecuteStatement_006() runs on GeneralComp { + setverdict(inconc); +} + +testcase TC_Sem_2601_ExecuteStatement_006_second(verdicttype p_verdict) runs on GeneralComp { + if (p_verdict == inconc) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control { + var verdicttype v_result; + + v_result := execute(TC_Sem_2601_ExecuteStatement_006()); + execute(TC_Sem_2601_ExecuteStatement_006_second(v_result)); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..572390ee8624fd826efb89d451c6b8804e2641a6 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn @@ -0,0 +1,23 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the timeout specified with the execute statement is respected. + ** @verdict pass accept, ttcn3verdict:error + *****************************************************************/ + +module Sem_2601_ExecuteStatement_007 { + + type component GeneralComp { } + + testcase TC_Sem_2601_ExecuteStatement_007() runs on GeneralComp { + while(true) { + // infinite loop + } + setverdict(pass); + } + + control { + execute(TC_Sem_2601_ExecuteStatement_007(), 2.0); // let the testcase execution timeout after 2 seconds + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_008.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5e56669a1271ce73217b9bd62863d53df1b2463e --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_008.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that the user error sets the verdict error correctly. + ** @verdict pass accept, ttcn3verdict:error + *****************************************************************/ + +module Sem_2601_ExecuteStatement_008 { + + type component GeneralComp { } + + testcase TC_Sem_2601_ExecuteStatement_008() runs on GeneralComp { + testcase.stop("User error!"); + } + + control { + var verdicttype v_result; + + execute(TC_Sem_2601_ExecuteStatement_008()); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_009.ttcn b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a771315e7f28f692303c4823d87c9bd77d9213b1 --- /dev/null +++ b/ATS/26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_009.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.1, Ensure that host id restriction is correctly handled. + ** @verdict pass accept, ttcn3verdict:error + *****************************************************************/ + +module Sem_2601_ExecuteStatement_009 { + + type component GeneralComp { } + + testcase TC_Sem_2601_ExecuteStatement_009(integer p_value, charstring p_string, boolean p_bool) runs on GeneralComp { + setverdict(pass); + } + + control { + var integer v_test := 20; + execute(TC_Sem_2601_ExecuteStatement_009(v_test, "hello", true), -, "wrong_host4232432432432432432432432432"); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..668650dc7d387a4e21e893254c22e314e36e8f9a --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that setverdict statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_001 { + + type component GeneralComp { } + + control { + setverdict(pass); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8587814fa2b0187023724830b5d1283f2d62fb03 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the create component is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_002 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + control { + var MTCComp v_myComp := MTCComp.create; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fe67b7bd60340b2d8a9afeb57c71aaf48f396b86 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the create alive component is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_003 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + control { + var MTCComp v_myComp := MTCComp.create alive; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_004.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..810633638bc04a67847a5a8a1f5c6810f6952d37 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_004.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the start statement is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_004 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + v_myComp.start(f_myBehavior()); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_005.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..011598f75c7db0e7b870d1f16b2b75f95f2eb5e3 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_005.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the stop statement is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_005 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + v_myComp.start(f_myBehavior()); + v_myComp.stop; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_006.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b71590a71cf6d7d04a1882f9fc2d305c44b1e74e --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_006.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the kill statement is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_006 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + v_myComp.start(f_myBehavior()); + v_myComp.kill; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_007.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4112300b4502bb7f5a4b1635261ad8cdb593973b --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_007.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the alive operation is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_007 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + if (v_myComp.alive) { + // should be rejected + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_008.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..650790653a7f24cb58a0dd77dfe3ef5d62d39bf3 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_008.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the running operation is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_008 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + if (v_myComp.running) { + // should be rejected + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_009.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..981b75ae2111f84e9873521336e2ec77cbd855d4 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_009.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the done operation is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_009 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + v_myComp.start(f_myBehavior()); + v_myComp.done; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_010.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b4a7b1ade78954010314301f6b007afed515c3e1 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_010.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the killed operation is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_010 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_myBehavior() runs on MTCComp { + setverdict(fail); + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + if (v_myComp.killed) { + // should be rejected + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_011.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..662b86cf3b9d3c342df5ec7b716f3254f1506f23 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_011.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the connect statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_011 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + type component PTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_firstComp := f_createComp(); // assume create was accepted + var PTCComp v_secondComp := f_createComp(); // assume create was accepted + + connect(v_firstComp:p,v_firstComp:p); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_012.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..daf00dfd9963fd5d56dee4e9bc6742ec64d0f503 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_012.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the disconnect statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_012 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + type component PTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_firstComp := f_createComp(); // assume create was accepted + var PTCComp v_secondComp := f_createComp(); // assume create was accepted + + disconnect(v_firstComp:p,v_firstComp:p); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_013.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d13f05be08703f765d441eb5bd1d2ffcccae301a --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_013.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the map statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_013 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + type component PTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_firstComp := f_createComp(); // assume create was accepted + var PTCComp v_secondComp := f_createComp(); // assume create was accepted + + map(v_firstComp:p,v_firstComp:p); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_014.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..40925489e0536790dee1952878d60e06855892ef --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_014.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the unmap statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_014 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + type component PTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_firstComp := f_createComp(); // assume create was accepted + var PTCComp v_secondComp := f_createComp(); // assume create was accepted + + unmap(v_firstComp:p,v_firstComp:p); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_015.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..753a7530bbf878a46a3776f7b6ce8e278987ac96 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_015.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the send statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_015 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.send(charstring:"foobar"); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_016.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9a75ec0b1036ab2202dbea52d4d5d333f4658be1 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_016.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the receive statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_016 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.receive(charstring:"foobar"); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_017.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2da0afbb955f1e8afe13d0674005dae24c3b6518 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_017.ttcn @@ -0,0 +1,33 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the call statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_017 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + template MyProcedure s_call := { 2, true } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.call(s_call); + + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_018.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_018.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..115b48ff064a56698b5c76537743b29a7a3cc370 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_018.ttcn @@ -0,0 +1,32 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the reply statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_018 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + template MyProcedure s_call := { 2, true } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.reply(s_call); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_019.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_019.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ca481608b27e86ef9ccfda30d3809b375528a856 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_019.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the raise statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_019 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + type charstring Exception; + + signature MyProcedure(integer p_value, boolean p_bool) exception (Exception); + + template Exception s_exception := "Thrown exception"; + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.raise(MyProcedure, s_exception); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_020.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_020.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f75c186bc318d345cd3aa151231b5e4807eb660f --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_020.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the trigger statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_020 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + var MyProcedure v_procValue; + v_myComp.p.trigger(MyProcedure:?) -> value v_procValue; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_021.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_021.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b95e9f2939b7beb31698305a8aae2b94f4125e0 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_021.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the getcall statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_021 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + template MyProcedure s_expected := { 1, ? } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.getcall(s_expected); + } +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_022.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_022.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..606997a8cf09fc4e70837a4f99d18206876298bd --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_022.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the getreply statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_022 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.getreply; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_023.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_023.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2cf795a72fff1e3be9d4d2088012ca412e524d3c --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_023.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the catch statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_023 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.catch; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_024.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_024.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a33e4164ae07585231f2a45cf6341bad4874d3db --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_024.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the check statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_024 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.check; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_025.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_025.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..001377f2d426381976d3c93b037acab6ae3c850c --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_025.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.2 + ** @purpose 1:26.2, Ensure that the clear statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_025 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.clear; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_026.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_026.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..909f6967c73fdf4d4b4ba52b56b55f8cfb6bbd1f --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_026.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the start statements on ports are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_026 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.start; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_027.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..726e523e57dab79ff475742a6a96c1d3ca696347 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_027.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the stop statements on ports are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_027 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.stop; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_028.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..54d478bfb13be6bab360aaf10c391ca8474d4ea2 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_028.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the halt statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_028 { + + type port MyPort procedure { + inout MyProcedure + } + + type component MTCComp { + port MyPort p; + } + + signature MyProcedure(integer p_value, boolean p_bool); + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + + v_myComp.p.halt; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_029.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d5b551849f78ae07081a582634afbbdb4c93b558 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_029.ttcn @@ -0,0 +1,30 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that alternative behaviours are only used to control timer behavior in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_029 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + function f_createComp() return MTCComp { + return MTCComp.create; + } + + control { + var MTCComp v_myComp := f_createComp(); // assume create was accepted + alt { + [] v_myComp.p.receive(charstring:"foobar") { + } + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_030.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_030.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3c26d42cd56b6f5fd737b9e686fbd7923209f31e --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_030.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that getverdict statements are not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_030 { + + type component GeneralComp { } + + control { + var verdicttype v_result; + v_result := getverdict; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_031.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6019423d35a451533d2400dad7d18b8f8f4923c3 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_031.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that execute statements are not executed from test cases. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_031 { + + type component GeneralComp { } + + testcase TC_NegSem_2602_TheControlPart_031() runs on GeneralComp { + setverdict(pass); + execute(TC_NegSem_2602_TheControlPart_031_second()); // shall be rejected + } + + testcase TC_NegSem_2602_TheControlPart_031_second() runs on GeneralComp { + setverdict(fail); + } + + + control { + execute(TC_NegSem_2602_TheControlPart_031()); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_032.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ccaccb80911780779bd99c875a81edc81de6ecc8 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_032.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the create alive named component is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_032 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + control { + var MTCComp v_myComp := MTCComp.create("component name") alive; + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_033.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a7bb8c3c3623722a95b195d0556373eb04d4500f --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_033.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the create named component is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_033 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + control { + var MTCComp v_myComp := MTCComp.create("component name"); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_034.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d4a19d89a763fda5666ebb684136c8eca9bd97d4 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_034.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the create named component on host is not allowed in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_034 { + + type port MyPort message { + inout charstring + } + + type component MTCComp { + port MyPort p; + } + + control { + var MTCComp v_myComp := MTCComp.create("component name", "localhost"); + } +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_035.ttcn b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4cf0b570531827fbcb0b59c9b35da31381b277f8 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_035.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that alternative behaviours are only used to control timer behavior in the control part. + ** @verdict pass reject + *****************************************************************/ + +module NegSem_2602_TheControlPart_035 { + control { + alt { + [] any port.receive { + } + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_001.ttcn b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97db4b6f72a5ef6fd505af724b8b036938665c86 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_001.ttcn @@ -0,0 +1,34 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the selection/deselection of test cases using boolean conditions works as expected. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2602_TheControlPart_001 { + + type component GeneralComp { } + + testcase TC_Sem_2602_TheControlPart_001() runs on GeneralComp { + setverdict(fail); + } + + testcase TC_Sem_2602_TheControlPart_001_second() runs on GeneralComp { + setverdict(pass); + } + + control { + if (false) { + execute(TC_Sem_2602_TheControlPart_001()); + } + + if (true) { + execute(TC_Sem_2602_TheControlPart_001_second()); + } + + if (not(1 == 1)) { + execute(TC_Sem_2602_TheControlPart_001()); + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_002.ttcn b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ab0812a3540178c68f872ae15459146b3d191a0c --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_002.ttcn @@ -0,0 +1,24 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the execution of test cases works from within a function. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2602_TheControlPart_002 { + + type component GeneralComp { } + + testcase TC_Sem_2602_TheControlPart_002() runs on GeneralComp { + setverdict(pass); + } + + function f_testCaseExecutionFunction() { + execute(TC_Sem_2602_TheControlPart_002()); + } + + control { + f_testCaseExecutionFunction(); + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_003.ttcn b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..990fa27801c28e30e8a164d79e0eba8c17dfc152 --- /dev/null +++ b/ATS/26_module_control/2602_the_control_part/Sem_2602_TheControlPart_003.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26.2, Ensure that the selection of test cases can be achieven based on resulting verdict types. + ** @verdict pass accept, ttcn3verdict:fail + *****************************************************************/ + +module Sem_2602_TheControlPart_003 { + + type component GeneralComp { } + + testcase TC_Sem_2602_TheControlPart_003() runs on GeneralComp { + setverdict(pass); + } + + testcase TC_Sem_2602_TheControlPart_003_second() runs on GeneralComp { + setverdict(fail); + } + + control { + var verdicttype v_result; + v_result := execute(TC_Sem_2602_TheControlPart_003()); + + if (v_result == pass) { + execute(TC_Sem_2602_TheControlPart_003_second()); + } + } + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_001.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d8c083315a7a280073ae9b5219e748e9fb3e294d --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_001.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that assignments in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_001 { + +control{ + var integer v_foo := 2; +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_002.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a91d39f5f02dde000a263f6dce97d420f8568c35 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_002.ttcn @@ -0,0 +1,18 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that if-else constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_002 { + +control{ + if (1 == 1) { + // do something + } else { + // do something else + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_003.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b16404935d0d9af0b55fd2af783f06f17cbd2aff --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_003.ttcn @@ -0,0 +1,25 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that select-case constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_003 { + +control{ + var integer v_test := 1; + select(v_test) { + case(1) { + // do something + } + case(2) { + // do something else + } + case else { + // do something else + } + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_004.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..711d33b882dabc7c23e86e20a444f83168e96026 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_004.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that for loop constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_004 { + +control{ + for (var integer v_i:=0; v_i < 10; v_i := v_i + 1) { + // do something + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_005.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..844548426c0fdab82dd1cde0c36193dd06fe8b7e --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_005.ttcn @@ -0,0 +1,17 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that while loop constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_005 { + +control{ + var integer v_i:=0; + while (v_i < 10) { + v_i := v_i + 1; + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_006.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..59a52778c976b542fd1699e592051a5dde0315fd --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_006.ttcn @@ -0,0 +1,21 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that label and goto constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_006 { + +control{ + var integer v_i:=0; +label loop; + v_i := v_i + 1; + if (v_i > 10) { + goto end; + } + goto loop; +label end; +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_007.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8c88aa5add04564deedee7137f06dbe9b8d7d501 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_007.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the stop construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_007 { + +control{ + stop; +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_008.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..74d44e676af93356dd81d5c59abefc9bf19cd48f --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_008.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the break construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_008 { + +control{ + for (var integer v_i:=0; v_i < 10; v_i := v_i + 1) { + break; + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_009.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd885aa6f9489622d4a0adf1af972f79ca90d14d --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_009.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the continue construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_009 { + +control{ + for (var integer v_i:=0; v_i < 10; v_i := v_i + 1) { + continue; + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_010.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b01dee70284c1feb73b46b5008269dbf787561cc --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_010.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the continue construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_010 { + +control{ + log("Hello World"); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_011.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..871127522a0340d17f4ea6d4d38bfdcf818b862e --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_011.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the alt/timeout construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_011 { + +control{ + timer t_timer; + t_timer.start(20E-3); + alt { + [] t_timer.timeout { + // do something + } + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_012.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_012.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..32349bc9ad8890d0634bfef39814d0c674c96091 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_012.ttcn @@ -0,0 +1,20 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the repeat construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_012 { + +control{ + timer t_timer; + t_timer.start(20E-3); + alt { + [] t_timer.timeout { + repeat; + } + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_013.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_013.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..529b9b89a9c8e558aeb0ce8d88ef67a3b52a3017 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_013.ttcn @@ -0,0 +1,23 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the interleave construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_013 { + +control{ + timer t_timerOne; + timer t_timerTwo; + t_timerOne.start(20E-3); + t_timerTwo.start(30E-3); + interleave { + [] t_timerOne.timeout { + } + [] t_timerTwo.timeout { + } + } +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_015.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_015.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3db0520aaac04f783be8e1f2f8c3e4cc07950ff5 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_015.ttcn @@ -0,0 +1,29 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that start/stop/read/running timer constructs in the control part are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_015 { + +type component GeneralComp { } + +altstep a_test(timer p_timer) runs on GeneralComp { + [] p_timer.timeout { + } +} + +control{ + timer t_timer; + var float v_value; + t_timer.start(20E-3); + v_value := t_timer.read; + if (t_timer.running) { + // do something + } + + t_timer.stop; +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_016.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_016.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..65bffc5480644def3a432aa958e0dc6a6b8f21ad --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_016.ttcn @@ -0,0 +1,14 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the action construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_016 { + +control{ + action("Send template on lower PCO now!"); +} + +} \ No newline at end of file diff --git a/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_017.ttcn b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_017.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b85fb3c1aee1aea2b9b3ea89007410485002d4e4 --- /dev/null +++ b/ATS/26_module_control/26_toplevel/Syn_26_ModuleControl_017.ttcn @@ -0,0 +1,19 @@ +/***************************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:26, Ensure that the execute construct in the control part is accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_26_ModuleControl_017 { + +type component GeneralComp { } + +testcase t_myTestCase() runs on GeneralComp { +} + +control{ + execute(t_myTestCase()); +} + +} \ No newline at end of file diff --git a/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_001.ttcn b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d0e40a48baa4be2c348eed7ffd2b2cd39ac25ae0 --- /dev/null +++ b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_001.ttcn @@ -0,0 +1,16 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.1.1, Ensure that attributes for language elements are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_270101_ScopeOfAttributes_001 { + + type record of integer IntegerList + with { + display "colour red"; + extension "MyRule" + } + +} \ No newline at end of file diff --git a/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_002.ttcn b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1eb6a2dba11bce0a6acce1cbb123f24b9003c92a --- /dev/null +++ b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_002.ttcn @@ -0,0 +1,22 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.1.1, Ensure that attributes for language elements are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_270101_ScopeOfAttributes_002 { + + type record MyRecord { + integer field1, + record { + integer innerField1, + boolean innerField2 + } field2 + } + with { + display "colour red"; + extension "MyRule" + } + +} \ No newline at end of file diff --git a/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_003.ttcn b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f6452e804dfd1f7305cc221aa138f8634cf8c28 --- /dev/null +++ b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_003.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.1.1, Ensure that attributes for individual fields are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_270101_ScopeOfAttributes_003 { + + type record of integer IntegerList + with { + display "colour red"; + extension "MyRule" + } + + const IntegerList c_MyIntegers1 := {0,1,2,3} + with { + display ([-]) "colour green" + } + + const IntegerList c_MyIntegers2 := {0,1,2,3} + with { + display ([0]) "colour black"; + } + +} \ No newline at end of file diff --git a/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_004.ttcn b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3f5cfa8461c868d814f562a5b2201155557dc17b --- /dev/null +++ b/ATS/27_specifying_attributes/2701_attribute_mechanism/270101_scope_of_attributes/Syn_270101_ScopeOfAttributes_004.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.1.1, Ensure that attributes for individual fields are accepted. + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Syn_270101_ScopeOfAttributes_004 { + + type record MyRecord { + integer field1, + record { + integer innerField1, + boolean innerField2 + } field2 + } + with { + display "colour red"; + extension "MyRule" + } + + const MyRecord c_record := {0,{1,true}} + with { + display (field2.innerField1) "colour green" + } + + +} \ No newline at end of file diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_002.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5cc377271064fcb20d1be72d71d069ba3bb7f6ca --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_002.ttcn @@ -0,0 +1,94 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass reject + ***************************************************/ + +module NegSem_2707_OptionalAttributes_002 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } with { optional "implicit omit"} //not valid optional attribute + // TT: this is not forbidden, it just should not have any effect on the templates + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_2707_OptionalAttributes_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + +} + +control{ + execute(TC_NegSem_2707_OptionalAttributes_002()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_003.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4fd50f1ee1b4a0016232b299f302e5c1c6c52bf --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/NegSem_2707_OptionalAttributes_003.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass reject + ***************************************************/ + +module NegSem_2707_OptionalAttributes_003 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {b:=3,c:=true}, //a is still undefined + field7 := {a:=3,c:=true}, //b is still undefined + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional (field6.a, field7.b) "implicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=3,b:=3,c:=true}, + field7 := {a:=3,b:=3,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_2707_OptionalAttributes_003() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { //cannot match not fully defined template + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_2707_OptionalAttributes_003()); +} + +} with { optional override "explicit omit"} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_001.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b6b4993818a595474987256b911a90020473467 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_001.ttcn @@ -0,0 +1,104 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_001 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {c:=true}, //a and b fields are omitted + field7 := {c:=true}, //a and b fields are omitted + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "implicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=omit,c:=true}, + field7 := {a:=omit,b:=1,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_001() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_001()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_002.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5412a54dc5d2acea6374b916971f98fb104d79c2 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_002.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_002 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, //a and b fields are specifically defined + field7 := {a:=1,b:=2,c:=true}, //a and b fields are specifically defined + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "implicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_002() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_002()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_003.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a4a67432e267ba8a5b28ee1d8b30239e2814489e --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_003.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_003 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, //a and b fields are specifically defined + field7 := {a:=1,b:=2,c:=true}, //a and b fields are specifically defined + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "explicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_003() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_003()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_004.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..07d45fdaec1a8af82e040970f9898f9fdeeb53b4 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_004.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_004 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, //a and b fields are specifically defined + field7 := {a:=omit,b:=omit,c:=true}, //a and b fields are specifically defined + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "explicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_004() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_004()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_005.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..72f5cc1a0cc40f1f1ed0a4886f40b4969147cf72 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_005.ttcn @@ -0,0 +1,104 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_005 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {b:=3,c:=true}, //a is omitted + field7 := {a:=3,c:=true}, //b is omitted + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional (field6, field7) "implicit omit"} + + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=3,b:=3,c:=true}, + field7 := {a:=3,b:=3,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_005() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_005()); +} + +} with { optional "explicit omit"} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_006.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f4ac76aa517d789f4e9dac47a4138b61269ad52 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_006.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_006 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {c:=true}, //a and b fields are omitted + field7 := {c:=true}, //a and b fields are omitted + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=omit,c:=true}, + field7 := {a:=omit,b:=1,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_006() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_006()); +} + +} with { optional "implicit omit"} //this attribute has an effect only on the template definition in the module diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_007.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9d4d1ec18ecf6f5636821fbfbf8a5097690e0bc4 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_007.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_2707_OptionalAttributes_007 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {c:=true}, //a and b fields are omitted + field7 := {c:=true}, //a and b fields are omitted + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "implicit omit"} + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_007() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_007()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_008.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a82f4cb48590a169a615acafd807b070396379a4 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Sem_2707_OptionalAttributes_008.ttcn @@ -0,0 +1,94 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass reject + ***************************************************/ + +module Sem_2707_OptionalAttributes_008 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } with { optional "implicit omit"} + // the optional keyword is not forbidden here, has just no effect + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_2707_OptionalAttributes_008() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + +} + +control{ + execute(TC_Sem_2707_OptionalAttributes_008()); +} + +} diff --git a/ATS/27_specifying_attributes/2707_optional_attributes/Syn_2707_OptionalAttributes_001.ttcn b/ATS/27_specifying_attributes/2707_optional_attributes/Syn_2707_OptionalAttributes_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fdffcd248fafc04c86974e327c601ba9fae88e35 --- /dev/null +++ b/ATS/27_specifying_attributes/2707_optional_attributes/Syn_2707_OptionalAttributes_001.ttcn @@ -0,0 +1,93 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:27.7, Ensure that the IUT correctly handles attribute definitions and their scoping rules + ** @verdict pass accept, noexecution + ***************************************************/ + +module Syn_2707_OptionalAttributes_001 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + const MessageType c_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=omit,b:=omit,c:=true}, + field7 := {a:=omit,b:=omit,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } with { optional "implicit omit"} //optional attribute can be accepted on constants + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Syn_2707_OptionalAttributes_001() runs on GeneralComp { + + var MessageType v_testMessage:=c_testMessage; + +} + +control{ + + execute(TC_Syn_2707_OptionalAttributes_001()); +} + +} diff --git a/ATS/27_specifying_attributes/NOTES b/ATS/27_specifying_attributes/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..3ecc7fd341f12d6f1b0030d95238157b86cfb2d9 --- /dev/null +++ b/ATS/27_specifying_attributes/NOTES @@ -0,0 +1,4 @@ +Semantics tests of section 27.7 also validate generic attribute handling behavior, +which applies to whole section 27. The reason it is in subsection 27.7, is because +optional attribute matching provides a means of semantic validation through message +loopback port. \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/NegSem_B010101_omitting_values_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/NegSem_B010101_omitting_values_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6e45c053508aa9a711b8739d1b2ca494321fd982 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/NegSem_B010101_omitting_values_001.ttcn @@ -0,0 +1,59 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1.1, Ensure that the IUT correctly handles template matching of omitted values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010101_omitting_values_001 { + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record MessageType { + RecordType field1, + SetType field2 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010101_omitting_values_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {a:=1,b:=omit,c:=omit}, //omitting a mandatory field + field2 := {a:=1,b:=omit,c:=omit} + } + + v_testMessage:= { + field1 := {a:=1,b:=omit,c:=true}, + field2 := {a:=1,b:=omit,c:=true} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010101_omitting_values_001()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2954d8ad311fec9c39550fcd7adbaf9d9cbf5cab --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_001.ttcn @@ -0,0 +1,67 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1.1, Ensure that the IUT correctly handles template matching of omitted values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010101_omitting_values_001 { + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record MessageType { + RecordType field1, + SetType field2 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010101_omitting_values_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {a:=1,b:=omit,c:=true}, + field2 := {a:=1,b:=omit,c:=true} + } + + v_testMessage:= { + field1 := {a:=1,b:=omit,c:=true}, + field2 := {a:=1,b:=omit,c:=true} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010101_omitting_values_001()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f3d247979ec9718a6d802d3dd14844f1cf528791 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_002.ttcn @@ -0,0 +1,67 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1.1, Ensure that the IUT correctly handles template matching of omitted values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010101_omitting_values_002 { + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record MessageType { + RecordType field1, + SetType field2 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010101_omitting_values_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {a:=1,b:=omit,c:=true}, //value mismatch + field2 := {a:=1,b:=omit,c:=true} + } + + v_testMessage:= { + field1 := {a:=1,b:=2,c:=true}, + field2 := {a:=1,b:=omit,c:=true} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010101_omitting_values_002()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4a5e845de70d64eee5e9fec15ddb8599d6c62a28 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_001.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_001 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_001()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a4e096d4a0657485c87ce308330251357f713e8 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_002.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_002 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 0, //mismatching value + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_002()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4054633ddf1e575b80927cb186632df601aa36be --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_003.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_003 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test strin", //mismatching value + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_003()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed1a9f94f6e5979ac85ef00dd7008a9ea3283189 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_004.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_004 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := false, //mismatching value + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_004()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4f086648d240b40c040b433035909113d45264af --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_005.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_005 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,5}, //mismatching value + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_005()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b3aff636152cda3950212c7dba4bcfae16b3cfdc --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_006.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_006 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_006() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_white, //mismatching value + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_006()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5b3471db4c114ed1fa9eca35ca02e59ffcab3ca8 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_007.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_007 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_007() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=3,c:=true}, //mismatching value + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_007()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..fb950bbe695a20e79e066f850de4fa782d978eaa --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_008 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_008() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=2,b:=1,c:=true}, //mismatching value + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_008()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8a7b66659d3432365bad7b988f402181d69fd8a8 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_009 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_009() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {c:=true}, //mismatching value + field9 := {1}, + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_009()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..da006ec33f1e427809051548aa5f9832cd131c05 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_010 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0101_matching_specific_value_010() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1,2}, //mismatching value + field10 := {1,2} + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B0101_matching_specific_value_010()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0fb3d608b3a8c52bebc005e8bfc56f33597dbf02 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn @@ -0,0 +1,103 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.1, Ensure that the IUT correctly handles template matching of specific values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0101_matching_specific_value_011 { + + type enumerated EnumeratedType {e_black, e_white}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type set SetType { + integer a optional, + integer b optional, + boolean c + } + + type record length (1..2) of integer IntegerList; + + type set length (1..2) of integer IntegerUList; + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + boolean field3, + integer field4[4], + EnumeratedType field5, + RecordType field6, + SetType field7, + UnionType field8, + IntegerList field9, + IntegerUList field10 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0111_matching_specific_value_011() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {2,1} //different order + } + + v_testMessage:= { + field1 := 1, + field2 := "test string", + field3 := true, + field4 := {1,2,3,4}, + field5 := e_black, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1,b:=2,c:=true}, + field8 := {a:=1}, + field9 := {1}, + field10 := {1,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B0111_matching_specific_value_011()); +} + +} diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8eb977cebfbffa5c6b96b7eb5fe867e101d1055a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.1, Ensure that the IUT correctly handles template matching of listed multiple values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010201_value_list_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010201_value_list_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (1,2), + field2 := ("test string","something else"), + field3 := (e_green,e_black), + field4 := ({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := ({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=2,c:=true}, + field5 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010201_value_list_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..768aeb7a22ff65569b88638d8c5ac475a12a60c3 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_001.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010202_complemented_value_list_001 { + + type record MessageType { + integer field1, + RoI field2 + } + + type record of integer RoI; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010202_complemented_value_list_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template RoI m_RoI2 := {2, *, 4}; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(0, all from m_RoI2), // shall cause an error because t_RoI2 contains AnyElementsOrNone + field2 := complement({2, 3, (6..9)}) + } + + v_testMessage:= { + field1 := 0, + field2 := {0,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010202_complemented_value_list_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c8beeca171d84a4ac9a9bf7abc157e71a60a991b --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_002.ttcn @@ -0,0 +1,62 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010202_complemented_value_list_002 { + + type record MessageType { + integer field1, + RoI field2 + } + + type record of integer RoI; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010202_complemented_value_list_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template RoI m_RoI1 := {2, 3, (6..9)}; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(0, 100), + field2 := complement(all from m_RoI1)// causes an error because member type of t_RoI1 (integer) is not compatible + // with the complemented list template type (RoI) + + } + + v_testMessage:= { + field1 := 0, + field2 := {0,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010202_complemented_value_list_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d51a55383485df75b70536acdd59382dac8f53f0 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/NegSem_B010202_complemented_value_list_003.ttcn @@ -0,0 +1,74 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010202_complemented_value_list_003 { + +// type enumerated EnumeratedType {e_black, e_white, e_green}; + +// type record RecordType { +// integer a optional, +// integer b optional, +// boolean c +// } + +// type union UnionType { +// integer a, +// EnumeratedType b, +// boolean c +// } + + type record MessageType { + integer field1, + RoI field2 + } + + type record of integer RoI; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010202_complemented_value_list_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template RoI m_RoI4 := ?; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(0, 100), + field2 := complement(all from m_RoI4)// causes an error because t_RoI4 resolves into a matching mechanism + } + + v_testMessage:= { + field1 := 0, + field2 := {0,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010202_complemented_value_list_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97fcd45c549a1e682493bdf86dcbc533b8ae231d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_001.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test", + field3 := e_white, + field4 := {a:=1,b:=2,c:=false}, + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7fc5da8c93eb29b69d9d359b85947ee268f414c4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_002.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 2, //mismatching complement in the template + field2 := "test", + field3 := e_white, + field4 := {a:=1,b:=2,c:=false}, + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..37d880433e4130c2703e9685001ff883360bb400 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_003.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_003 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test string", //mismatching complement in the template + field3 := e_white, + field4 := {a:=1,b:=2,c:=false}, + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..44e1a28d350a19d68f467c4613be63ca5c536dc1 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_004.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_004 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test ", + field3 := e_green, //mismatching complement in the template + field4 := {a:=1,b:=2,c:=false}, + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..20a4e3f716ad20407f40abca6b22e6bb5a735314 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_005.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_005 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test ", + field3 := e_white, + field4 := {a:=1,b:=2,c:=true}, //mismatching complement in the template + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..00e23b86169f2ea249301eec785734947d59f30d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_006.ttcn @@ -0,0 +1,79 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010202_complemented_value_list_006 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_006() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(1,2), + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test ", + field3 := e_white, + field4 := {a:=1,b:=2,c:=false}, + field5 := {b:=e_white} //mismatching complement in the template + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_006()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7c03480709244f31742d77f4a5594f60c6574e32 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_007.ttcn @@ -0,0 +1,82 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.2, Ensure that the IUT correctly handles template matching of complemented value listing + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010202_complemented_value_list_007 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5 + } + + type record of integer RoI; + + type port loopbackPort message { + inout MessageType + } + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010202_complemented_value_list_007() runs on GeneralComp { + + var MessageType v_testMessage; + + template RoI m_RoI1 := {1, 2, (6..9)}; + + template MessageType mw_matchingTemplate:= + { + field1 := complement(all from m_RoI1, 100),//The type of the complemented template list and the member type of the template in the all from clause shall be compatible + field2 := complement("test string","something else"), + field3 := complement(e_green,e_black), + field4 := complement({a:=1,b:=1,c:=false},{a:=1,b:=2,c:=true}), + field5 := complement({a:=1},{b:=e_white}) + } + + v_testMessage:= { + field1 := 0, + field2 := "test ", + field3 := e_white, + field4 := {a:=1,b:=2,c:=false}, + field5 := {a:=2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010202_complemented_value_list_007()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ecb2b12dee1c6eae5dbb04372f6812b487763afd --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_001.ttcn @@ -0,0 +1,83 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.3, Ensure that the IUT correctly handles template matching of ? values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010203_any_value_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5, + RecordType field6, + UnionType field7 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010203_any_value_001() runs on GeneralComp { + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := ?, + field3 := ?, + field4 := ?, + field5 := ?, + field6 := {a:=1,b:=?,c:=true}, + field7 := {a:=?} + } + + var MessageType v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010203_any_value_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0f71e151bd341e776d5452a3fa162fd9a809ae80 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn @@ -0,0 +1,85 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.3, Ensure that the IUT correctly handles template matching of ? values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010203_any_value_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5, + RecordType field6, + UnionType field7 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010203_any_value_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := ?, + field3 := ?, + field4 := ?, + field5 := ?, + field6 := {a:=1,b:=?,c:=true}, //omitted value does not match ? + field7 := {a:=?} + } + + v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=omit,c:=true}, + field7 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010203_any_value_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6a638e80435099a213c23ffe45fe1b4600cf6873 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn @@ -0,0 +1,74 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that the IUT correctly handles template matching of * values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010204_any_value_or_none_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + EnumeratedType field3, + RecordType field4, + UnionType field5, + RecordType field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010204_any_value_or_none_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := *, // * is used on non-optional fields + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := {a:=1,b:=*,c:=true} + } + + v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=omit,c:=true} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010204_any_value_or_none_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c12320411439afb19f41069cb41e889a37e71cf4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that the IUT correctly handles template matching of * values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010204_any_value_or_none_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1 optional, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6, + UnionType field7 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010204_any_value_or_none_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := *, + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := {a:=1,b:=*,c:=true}, + field7 := {a:=*} //use of * on a union element + } + + v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=omit,c:=true}, + field7 := {a:=1} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010204_any_value_or_none_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ebcb286d870178b42cb3fd9e33fc28210b468665 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_003.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that AnyValueOrNone cannot be used for matching non-optional value + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// At the time of matching, it shall be applied to optional fields of record and set +// templates only. + +module NegSem_B010204_any_value_or_none_003 { + + type set Set1 { + integer field1, + integer field2 optional + } + template Set1 t_anyOrNone := *; // top-level static template + + type component GeneralComp { + } + + testcase TC_NegSem_B010204_any_value_or_none_003() runs on GeneralComp { + var Set1 v_val := { field1 := 5, field2 := 23 }; + if (match(v_val, t_anyOrNone)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010204_any_value_or_none_003()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..498db36518c61a7e943100fb2ea651c643c10502 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_004.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that AnyValueOrNone cannot be used for matching compulsory fields + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// At the time of matching, it shall be applied to optional fields of record and set +// templates only. + +module NegSem_B010204_any_value_or_none_004 { + + type set Set1 { + integer field1, + integer field2 optional + } + template integer t_anyOrNone := *; // top-level static template + + type component GeneralComp { + } + + testcase TC_NegSem_B010204_any_value_or_none_004() runs on GeneralComp { + var Set1 v_val := { field1 := 5, field2 := 23 }; + if (match(v_val.field1, t_anyOrNone)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010204_any_value_or_none_004()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..24e6d749b5620d5f1317ec839ae02b3f16073328 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn @@ -0,0 +1,82 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that the IUT correctly handles template matching of * values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010204_any_value_or_none_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1 optional, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010204_any_value_or_none_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := *, + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := {a:=1,b:=*,c:=true} + } + + v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=omit,c:=true} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010204_any_value_or_none_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b5cffe27f7137b098c4e16feb8318c1bf799ba36 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_002.ttcn @@ -0,0 +1,34 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that AnyValueOrNone can be assigned to top-level template + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// It can be assigned to templates of any type as a whole. + +module Sem_B010204_any_value_or_none_002 { + + template integer t_anyOrNone := *; // top-level static template + + + type component GeneralComp { + } + + function f(in template integer p1) { + } + + testcase TC_Sem_B010204_any_value_or_none_002() runs on GeneralComp { + + var template integer vt_anyOrNone := *; // top-level template variable + f(*); // top-level template parameter + setverdict(pass); + } + + control{ + execute(TC_Sem_B010204_any_value_or_none_002()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c677f9717248281404c1e7f994deb9d83ab076f2 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_003.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.4, Ensure that AnyValueOrNone can be used for matching optional fields + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// At the time of matching, it shall be applied to optional fields of record and set +// templates only. + +module Sem_B010204_any_value_or_none_003 { + + type set Set1 { + integer field1, + integer field2 optional + } + template integer t_anyOrNone := *; // top-level static template + + type component GeneralComp { + } + + testcase TC_Sem_B010204_any_value_or_none_003() runs on GeneralComp { + var Set1 v_val := { field1 := 5, field2 := 23 }; + if (match(v_val.field2, t_anyOrNone)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_B010204_any_value_or_none_003()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..dd17a377e4eb9194531dcb69ebd21cb837865167 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn @@ -0,0 +1,68 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010205_value_range_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + EnumeratedType field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010205_value_range_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := (e_black..e_white), //attempt to use range on enumerated type + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := e_black, + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010205_value_range_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eefd6d43ffba3e5c0585d5082537310db917473a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn @@ -0,0 +1,68 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010205_value_range_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010205_value_range_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (2..0), //boundaries in wrong order + field2 := ("aaa".."fff"), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010205_value_range_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0b9eaf250c58d335a33d26fef134ab71df11d801 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn @@ -0,0 +1,68 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010205_value_range_003 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010205_value_range_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("fff".."aaa"), //boundaries in wrong order + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010205_value_range_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2ecd57973386e66b38f724ca8ed4b68cdbe5bf11 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_001.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c4012ff937aab7914e39ec8b129a377904dfc3fe --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_002.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..1), //value is out of range + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0cd6ff997fe2436dacf87f53727ae0eef82b4012 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_003.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_003 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..1),c:=true}, //value is out of range + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..87405a03c50ad947dcba5949aa6a9f6c36b86dc5 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_004.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_004 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + float a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(1.000001 .. 2.0)} //float value is out of range + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1.0} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1e1226151e84eb03a5b6763c60fd4a6eeec08381 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_005.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_005 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + float a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("a".."f") length (3), //character is out of range + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(1.0 .. 2.0)} + } + + v_testMessage:= { + field1 := 2, + field2 := "akc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1.0} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1203b1b034707e48178be6d9f6f22fa81aeff62d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_006.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_006 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + float a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_006() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2), + field2 := ("a".."f") length (3), //character is out of range because of an empty character + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(1.0 .. 2.0)} + } + + v_testMessage:= { + field1 := 2, + field2 := "ab", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1.0} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_006()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8dfbe3e1566cb5f0bebf7adbf14702d9b7a868c0 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_007.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_007 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_007() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..!2), //value is out of range because of exclusive upper boundary + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 2, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_007()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_008.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7f7b51d69fe25565c93fa776a708ec5a22e1fc8d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_008.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:B.1.2.5, Ensure that the IUT correctly handles template matching of value range definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010205_value_range_008 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2, + RecordType field3, + UnionType field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010205_value_range_008() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (!0..2), //value is out of range because of exclusive lower boundary + field2 := ("a".."f") length (3), + field3 := {a:=1,b:=(0..2),c:=true}, + field4 := {a:=(0..2)} + } + + v_testMessage:= { + field1 := 0, + field2 := "abc", + field3 := {a:=1,b:=2,c:=true}, + field4 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010205_value_range_008()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..891627604dcd9a8bf963a7ebbc684ab22705783c --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010206_superset_001 { + type record MessageType { + record of integer field1 // superset definition is only allowed over set of + } + + type port loopbackPort message { + inout MessageType; + } + + + type component GeneralComp { + port loopbackPort messagePort; + } + + testcase TC_NegSem_B010206_superset_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate := {field1 := superset(1, 2)} + + v_testMessage := {field1 := {1, 3, 2}}; + + messagePort.send(v_testMessage); + setverdict(pass); + } + control { + execute(TC_NegSem_B010206_superset_001()); + } +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..14285136a7c57d7deb0276424a254f8b348534ae --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_002.ttcn @@ -0,0 +1,41 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010206_superset_002 { + type set SetType { + integer a optional, integer b optional, integer c optional + } + + type record MessageType { + SetType field1 // superset definition is only allowed over set of + } + + type port loopbackPort message { + inout MessageType; + } + + + type component GeneralComp { + port loopbackPort messagePort; + } + + testcase TC_NegSem_B010206_superset_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate := {field1 := superset(1, 2)} + + v_testMessage := {field1 := {1, 3, 2}}; + + messagePort.send(v_testMessage); + setverdict(pass); + } + control { + execute(TC_NegSem_B010206_superset_002()); + } +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..73a99df332359870d82bac5172f74450e9a2f469 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_001.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010206_superset_001 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010206_superset_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := superset(1,2) + } + + v_testMessage:= { + field1 := {1,3,2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010206_superset_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ab021b7496d44636676fc6bb7baab1c8c1fe7ffb --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_002.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010206_superset_002 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010206_superset_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := superset(1,2) //no match for element 2 + } + + v_testMessage:= { + field1 := {1,3,4} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010206_superset_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5911d367fae5dad9ae26e887cfad992ad4586e17 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_003.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.6, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010206_superset_003 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010206_superset_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := superset(1,2) //no match for element 2 + } + + v_testMessage:= { + field1 := {1,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010206_superset_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..431e5ecb3d6d8bc52d515ab826f2fdf84a4a9bff --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_001.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.7, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass reject + ***************************************************/ +module NegSem_B010207_subset_001 { + type record MessageType { + record of integer + field1 // subset definition is only allowed over set of + } + + type port loopbackPort message { + inout MessageType; + } + + + type component GeneralComp { + port loopbackPort messagePort; + } + + testcase TC_NegSem_B010207_subset_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate := {field1 := subset(1, 2)} + + v_testMessage := {field1 := {1}}; + + messagePort.send(v_testMessage); + setverdict(pass); + } + control { + execute(TC_NegSem_B010207_subset_001()); + } +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..12d333cbc3086b2dbe6112c8b866b2ad905f70c5 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_002.ttcn @@ -0,0 +1,51 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.7, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010207_subset_002 { + + type set SetType { + integer a optional, + integer b optional, + integer c optional + } + + type record MessageType { + SetType field1 //subset definition is only allowed over set of + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010207_subset_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := subset(1,2) + } + + v_testMessage:= { + field1 := {1} + } + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010207_subset_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49581e0a723eb52875749d65c68b33dc6b7b70fe --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_001.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.7, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010207_subset_001 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010207_subset_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := subset(1,2) + } + + v_testMessage:= { + field1 := {2} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010207_subset_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6dfb7ca5adf671fb431e071a4dff3c644e83e75a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_002.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.7, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010207_subset_002 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010207_subset_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := subset(1,2) //no match for subset elements + } + + v_testMessage:= { + field1 := {3} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010207_subset_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b538475a23457202e0aedac326fb52694759c905 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_003.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.2.7, Ensure that the IUT correctly handles template matching of superset definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010207_subset_003 { + + + type record MessageType { + set of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010207_subset_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := subset(1,2) //more elements than subset list + } + + v_testMessage:= { + field1 := {1,2,3} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010207_subset_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0d84abf25aa25c8f18a2f92fddd0596daa3f4c8f --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_001.ttcn @@ -0,0 +1,83 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010208_omit_value_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6 optional, + UnionType field7 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010208_omit_value_001() runs on GeneralComp { + + template MessageType mw_matchingTemplate:= + { + field1 := omit,// causes an error as field1 is mandatory + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := *, + field7 := * + } + + var MessageType v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit, + field4 := omit, + field5 := omit, + field6 := omit, + field7 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010208_omit_value_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ab5979b4f08f2b0b27d95efcc7c8da2957e46629 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_002.ttcn @@ -0,0 +1,83 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010208_omit_value_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6 optional, + UnionType field7 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010208_omit_value_002() runs on GeneralComp { + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := {a:=1,b:=2,c:=omit},// causes an error as c field is mandatory + field7 := * + } + + var MessageType v_testMessage:= { + field1 := 2, + field2 := "test string", + field3 := e_black, + field4 := {a:=1,b:=omit,c:=true}, + field5 := {a:=1}, + field6 := {a:=1,b:=2,c:=true}, + field7 := {a:=1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010208_omit_value_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7588070d33d7ab367602d336c78222c4eb5b5df8 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/NegSem_B010208_omit_value_003.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010208_omit_value_003 { + + type record MessageType { + integer field1, + MyRecordof field2 optional, + boolean field3 optional + } + + type record of integer MyRecordof; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010208_omit_value_003() runs on GeneralComp { + + var MessageType v_testMessage; + var boolean v_boolean; + template MyRecordof mw_MyRecofTemplate := omit; // this assignment is allowed + template boolean mw_MyBoolTemplate := omit; // this assignment is allowed + + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := mw_MyRecofTemplate, + field3 := mw_MyBoolTemplate + } + + v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + v_boolean := match({},mw_MyRecofTemplate);// causes an error as a record of template shall not be “omit†at the time of matching + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_NegSem_B010208_omit_value_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4e1f67ba7dde6ed0adfb8a99dfd7fbdf1a2b7d38 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_001.ttcn @@ -0,0 +1,83 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010208_omit_value_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6 optional, + UnionType field7 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010208_omit_value_001() runs on GeneralComp { + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := omit, + field3 := omit, + field4 := omit, + field5 := omit, + field6 := omit, + field7 := omit + } + + var MessageType v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit, + field4 := omit, + field5 := omit, + field6 := omit, + field7 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010208_omit_value_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3b2f4c71ce8a47724ae847caf8794233bb8f7b2f --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_002.ttcn @@ -0,0 +1,85 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010208_omit_value_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1, + charstring field2 optional, + EnumeratedType field3 optional, + RecordType field4 optional, + UnionType field5 optional, + RecordType field6 optional, + UnionType field7 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010208_omit_value_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := *, + field3 := *, + field4 := *, + field5 := *, + field6 := {a:=1,b:=omit,c:=true}, //omits the optional field + field7 := * + } + + v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit, + field4 := omit, + field5 := omit, + field6 := {a:=1,b:=omit,c:=true}, + field7 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010208_omit_value_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..54a7dfd787c29dc2e349823201bbec736557fb68 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_003.ttcn @@ -0,0 +1,65 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010208_omit_value_003 { + + type record MessageType { + integer field1, + MyRecordof field2 optional, + boolean field3 optional + } + + type record of integer MyRecordof; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010208_omit_value_003() runs on GeneralComp { + + var MessageType v_testMessage; + var boolean v_boolean; + template MyRecordof mw_MyRecofTemplate := omit; // this assignment is allowed + template boolean mw_MyBoolTemplate := omit; // this assignment is allowed + + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := mw_MyRecofTemplate, + field3 := mw_MyBoolTemplate + } + + v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010208_omit_value_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e36ebd1eb16ed5d9ae05381112ce6f488e698be6 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010208_omit_value/Sem_B010208_omit_value_004.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.2.8, Ensure that the IUT correctly handles template matching of omit values + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010208_omit_value_004 { + + type record MessageType { + integer field1, + MyRecordof field2 optional, + boolean field3 optional + } + + type record of integer MyRecordof; + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010208_omit_value_004() runs on GeneralComp { + + var MessageType v_testMessage; + var boolean v_boolean; + template MyRecordof mw_MyRecofTemplate := omit; // this assignment is allowed + template boolean mw_MyBoolTemplate := omit; // this assignment is allowed + + + template MessageType mw_matchingTemplate:= + { + field1 := ?, + field2 := mw_MyRecofTemplate, + field3 := mw_MyBoolTemplate + } + + v_testMessage:= { + field1 := 2, + field2 := omit, + field3 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + v_boolean := match({2,omit,omit},mw_matchingTemplate);// matches and returns true + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010208_omit_value_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f3e89c95abb8adc8b59e09ff75151606ee6c09d9 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_001 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test s?ring", + field2 := '10???'B, + field3 := '8?A?C'H + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..cf6735f1090edd08d98a7a3f17489859e524b03d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_002 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test s?ring", //attempting to match a missing character + field2 := '10???'B, + field3 := '8?A?C'H + } + + v_testMessage:= { + field1 := "test sring", + field2 := '10101'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..59fbbcdbb25d8f145f844537bd2c1694fca72780 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_003 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := "test string", + field2 := '10???'B, + field3 := '8?A?C'H //attempting to match several characters + } + + v_testMessage:= { + field1 := "test sring", + field2 := '10101'B, + field3 := '89ABBC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a1ed347bb96073c2fda66060d62094ae1ddb996e --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_004.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_004 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := "test string", + field2 := '10???'B, //mismatching string lengths + field3 := '8?A?C'H + } + + v_testMessage:= { + field1 := "test sring", + field2 := '10'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..38a49d57be9e4193bd2d69b76a1c93fa699c07d0 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_005.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_005 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := "test s?ring", //literally interpreted string without the pattern keyword + field2 := '10???'B, + field3 := '8?A?C'H + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8b7518ce86151f562c10b80b888660fb1844c6ef --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_006.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_006 { + + + type record MessageType { + record of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_006() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {8,?,10,?,12} + } + + v_testMessage:= { + field1 := {8,9,10,11,12} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_006()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec193d56078f346c8b6a9dc6c8749a8aaa2e01a9 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_007.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_007 { + + + type record MessageType { + record of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_007() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {8,?,10,?,12} + } + + v_testMessage:= { + field1 := {8,9,10,12} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_007()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_008.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..edfb3512607fb062c180bc123c8e33688bfe56b2 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_008.ttcn @@ -0,0 +1,54 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.1, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010301_any_element_008 { + + + type record MessageType { + record of integer field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010301_any_element_008() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {8,?,?,12} + } + + v_testMessage:= { + field1 := {8,9,10,11,12} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010301_any_element_008()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..49ec0790298eb7b3a2baa70a74bbcb665e577dba --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_001.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.2, Ensure that the IUT correctly handles template matching of * symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010302_any_number_of_elements_or_none_001 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010302_any_number_of_elements_or_none_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test s*g", + field2 := '10*'B, + field3 := '89*ABC'H + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010302_any_number_of_elements_or_none_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e21461db688d02d61a200d2e8f1cca3640d0f776 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_002.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.2, Ensure that the IUT correctly handles template matching of * symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010302_any_number_of_elements_or_none_002 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010302_any_number_of_elements_or_none_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := "test s*g", //literally interpreted string without the pattern keyword + field2 := '10*'B, + field3 := '89*ABC'H + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010302_any_number_of_elements_or_none_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..16a37d206128db1ac95236f7492d5d131f8b09fe --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_003.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.2, Ensure that the IUT correctly handles template matching of * symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010302_any_number_of_elements_or_none_003 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010302_any_number_of_elements_or_none_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := {8,*,10,*,12}, + field2 := {8,*,10,*,12}, + field3 := {8,*,10,*,12} + } + + v_testMessage:= { + field1 := {8,9,10,11,12}, + field2 := {8,9,10,12}, + field3 := {8,9,9,10,10,11,12} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010302_any_number_of_elements_or_none_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..28c00f9844210b5dd0e80cfcb9432d010bc74107 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_001.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010303_permutation_001 { + type record MessageType { + set of integer field1, + // permutation can only be applied to a record of type + set of integer field2, + set of integer field3, + set of integer field4 + } + + type port loopbackPort message { + inout MessageType; + } + + + type component GeneralComp { + port loopbackPort messagePort; + } + + testcase TC_NegSem_B010303_permutation_001() runs on GeneralComp { + timer t := 1.0; + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate := { + field1 := {permutation(1, 2, 3), 5}, + field2 := {permutation(1, 2, ?), 5}, + field3 := {permutation(1, 2, 3), *}, + field4 := {permutation((1, 2, 3), 2, 3), 5} + } + + v_testMessage := { + field1 := {2, 1, 3, 5}, + field2 := {2, 1, 8, 5}, + field3 := {3, 2, 1, 8, 8}, + field4 := {3, 2, 2, 5} + }; + + t.start; + + messagePort.send(v_testMessage); + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] t.timeout { + setverdict(fail); + } + } + } + control { + execute(TC_NegSem_B010303_permutation_001()); + } +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2c83a0dab456b7e7fd8c9b0db131dcc52743e105 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_002.ttcn @@ -0,0 +1,36 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that all from operand can be a record of or set of only + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Besides specifying all individual values, it is possible to add all elements of +// a record of or set of template into permutations using an all from clause. + +module NegSem_B010303_permutation_002 { + + type record of integer RoI; + template integer t_source := 2; + // t_source is not a record of or set of -> an error expected + template RoI t_perm1 := { permutation ( 5, all from t_source ) }; + + type component GeneralComp { + } + + testcase TC_NegSem_B010303_permutation_002() runs on GeneralComp { + if (match({ 2, 5 }, t_perm1)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010303_permutation_002()); + } + +} + + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a16d1e21cf6c3d9d2bdcc7724d44f438c527c76a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_003.ttcn @@ -0,0 +1,35 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that type restriction for permutation elements is applied + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Each individual member listed in the permutation shall be of the type replicated +// by the record of type. + +module NegSem_B010303_permutation_003 { + + type record of integer RoI; + + template RoI t_perm1 := { permutation ( 5, 2.0 ) }; // float value is not compatible + + + type component GeneralComp { + } + + testcase TC_NegSem_B010303_permutation_003() runs on GeneralComp { + if (match({ 2, 5 }, t_perm1)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010303_permutation_003()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..45e3348a58b45203c06ed4a8b387024627105d7a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_004.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that type restriction for all from clause in permutation is applied + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The member type of the permutation and the member type of the template in the all +// from clause shall be compatible. + +module NegSem_B010303_permutation_004 { + + type record of float RoF; + type record of integer RoI; + + template RoF t_source := { ?, * } + // float value is not compatible with integer (even though the actual symbols are + // generic and would work with integer elements too) + template RoI t_perm1 := { permutation ( 3, all from t_source ) }; + + + type component GeneralComp { + } + + testcase TC_NegSem_B010303_permutation_004() runs on GeneralComp { + if (match({ 2, 3 }, t_perm1)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010303_permutation_004()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4eab6182095889fb1725e6d7abc07ddd764f1344 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_005.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Verify restriction on individual members of all from operand in permutation + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// The template in the all from clause as a whole shall not resolve into a matching +// mechanism + +module NegSem_B010303_permutation_005 { + + type record of integer RoI; + + template RoI t_source := ?; + // The source template resolves to a matching mechanism. It should cause an error. + template RoI t_perm1 := { permutation ( all from t_source, 2 ) }; + + + type component GeneralComp { + } + + testcase TC_NegSem_B010303_permutation_005() runs on GeneralComp { + if (match({ 2, 3 }, t_perm1)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010303_permutation_005()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..56d7afadedc3cb8150d124cb7919f1e3f8caf33b --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_006.ttcn @@ -0,0 +1,40 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Verify restriction on individual members of all from operand in permutation + ** @verdict pass reject + ***************************************************/ + +// The following requirement is tested: +// Individual members of a permutation and elements of the template in the all from +// clause shall only be expressions, templates, and the AnyElement and +// AnyElementsOrNone matching mechanisms. + +module NegSem_B010303_permutation_006 { + + type record of integer RoI; + + template RoI t_source := { 1, permutation(2, 3) } + // The source template contains a matching mechanism inside value (permutation) + // that is not mentioned as a valid content of the all from operand in + // B.1.3.3. restriction c + template RoI t_perm1 := { permutation ( all from t_source, * ) }; + + + type component GeneralComp { + } + + testcase TC_NegSem_B010303_permutation_006() runs on GeneralComp { + if (match({ 1, 4, 2, 3 }, t_perm1)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_NegSem_B010303_permutation_006()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f89ddf3f26581f32d00778f0c04c5ec9b4bf0e5 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_001.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_001 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), 5 }, + field2 := { permutation ( 1, 2, ? ), 5 }, + field3 := { permutation ( 1, 2, 3 ), * }, + field4 := { permutation ( (1,2,3), 2, 3 ), 5 } + } + + v_testMessage:= { + field1 := {2,1,3,5}, + field2 := {2,1,8,5}, + field3 := {3,2,1,8,8}, + field4 := {3,2,2,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1b2b9c4688371d86248eb2e9d48e30ae77afa140 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_002.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_002 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), 5 }, //3 is missing from the match + field2 := { permutation ( 1, 2, ? ), 5 }, + field3 := { permutation ( 1, 2, 3 ), * }, + field4 := { permutation ( (1,2,3), 2, 3 ), 5 } + } + + v_testMessage:= { + field1 := {2,1,2,5}, + field2 := {2,1,8,5}, + field3 := {3,2,1,8}, + field4 := {3,2,2,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..eb3551a65437f32746ddff128ac7978bc431482e --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_003.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_003 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), 5 }, + field2 := { permutation ( 1, 2, ? ), 5 }, //there is an extra element in the sequence + field3 := { permutation ( 1, 2, 3 ), * }, + field4 := { permutation ( (1,2,3), 2, 3 ), 5 } + } + + v_testMessage:= { + field1 := {2,1,3,5}, + field2 := {2,1,8,8,5}, + field3 := {3,2,1,8}, + field4 := {3,2,2,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e1037dc430bc6db00fb31dc36de447ef3847d5e4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_004.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_004 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), 5 }, + field2 := { permutation ( 1, 2, ? ), 5 }, + field3 := { permutation ( 1, 2, 3 ), * }, //wrong order of elements + field4 := { permutation ( (1,2,3), 2, 3 ), 5 } + } + + v_testMessage:= { + field1 := {2,1,3,5}, + field2 := {2,1,8,5}, + field3 := {3,2,8,1}, + field4 := {3,2,2,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f8e085f847f60e605184eb5779a93e6b8fdcb850 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_005.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles template matching of ? symbols in value elements + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_005 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), 5 }, + field2 := { permutation ( 1, 2, ? ), 5 }, + field3 := { permutation ( 1, 2, 3 ), * }, + field4 := { permutation ( (1,2,3), 2, 3 ), 5 } //wrong set of elements + } + + v_testMessage:= { + field1 := {2,1,3,5}, + field2 := {2,1,8,5}, + field3 := {3,2,8,1}, + field4 := {3,1,1,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..30a751033b8299803aed1f9648a1df64ee9c9956 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_006.ttcn @@ -0,0 +1,67 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that the IUT correctly handles permutation within arrays + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010303_permutation_006 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010303_permutation_006() runs on GeneralComp { + + var MessageType v_testMessage; + var template integer mw_field1 [4] := { permutation ( 1, 2, 3 ), 5 }; + var template integer mw_field2 [4] := { permutation ( 1, 2, ? ), 5 }; + var template integer mw_field3 [4] := { permutation ( 1, 2, 3 ), * }; + var template integer mw_field4 [4] := { permutation ( (1,2,3), 2, 3 ), 5 }; + + template MessageType mw_matchingTemplate:= + { + mw_field1, + mw_field2, + mw_field3, + mw_field4 + } + + v_testMessage:= { + field1 := {2,1,3,5}, + field2 := {2,1,8,5}, + field3 := {3,2,1,8}, + field4 := {3,2,2,5} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010303_permutation_006()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..86041be4b82da197b3009718f7fe47fc5b9f3f23 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_007.ttcn @@ -0,0 +1,37 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that all from clause can be used inside permutation + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Besides specifying all individual values, it is possible to add all elements of +// a record of template into permutations using an all from clause. + +module Sem_B010303_permutation_007 { + + type record of integer RoI; + + template RoI t_source := { 1, 2 }; + template RoI t_perm1 := { permutation (all from t_source), 5 }; + template RoI t_perm2 := { -1, permutation (0, all from t_source, 3) }; + + + type component GeneralComp { + } + + testcase TC_Sem_B010303_permutation_007() runs on GeneralComp { + if (match({ 2, 1, 5 }, t_perm1) and match({ -1, 1, 0, 2, 3 }, t_perm2)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_B010303_permutation_007()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_008.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f2e9a9c019023ea4215de286f74f889248dfd398 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_008.ttcn @@ -0,0 +1,39 @@ +/*************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:B.1.3.3, Ensure that all from clause operand can be a set of value + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +// The following requirement is tested: +// Besides specifying all individual values, it is possible to add all elements of +// a set of template into permutations using an all from clause. +// + +module Sem_B010303_permutation_008 { + + type set of integer SoI; + type record of integer RoI; + + template SoI t_source := { 1, 2 }; + template RoI t_perm1 := { permutation (all from t_source), 5 }; + template RoI t_perm2 := { -1, permutation (0, all from t_source, 3) }; + + + type component GeneralComp { + } + + testcase TC_Sem_B010303_permutation_008() runs on GeneralComp { + if (match({ 2, 1, 5 }, t_perm1) and match({ -1, 1, 0, 2, 3 }, t_perm2)) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_B010303_permutation_008()); + } + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7c7f1f1ccf9e5c844df7651da82506ef3a63c3ad --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_001.ttcn @@ -0,0 +1,69 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010401_length_restrictions_001 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3, + charstring field4, + bitstring field5, + hexstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010401_length_restrictions_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test mess*ge" length (6 .. 8), //pattern is longer than length restriction + field2 := '10*'B length (3 .. 5), + field3 := '89*ABC'H length (5), + field4 := pattern "tes?" length (4 .. 13), + field5 := '10?'B length (3 .. 5), + field6 := '89?ABC'H length (6) + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H, + field4 := "test", + field5 := '101'B, + field6 := '899ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_NegSem_B010401_length_restrictions_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..79ae702a0482c00058a8f01c8ac15b7423fe2610 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_002.ttcn @@ -0,0 +1,69 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010401_length_restrictions_002 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3, + charstring field4, + bitstring field5, + hexstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010401_length_restrictions_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test s*g" length (6 .. 15), + field2 := '10*'B length (3 .. 5), + field3 := '89?AB'H length (6), //pattern is shorter than length restriction + field4 := pattern "tes?" length (4 .. 13), + field5 := '10?'B length (3 .. 5), + field6 := '89?ABC'H length (6) + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H, + field4 := "test", + field5 := '101'B, + field6 := '899ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_NegSem_B010401_length_restrictions_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..df67e06e0752021e28ba424c2524dafcab1c71c7 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_003.ttcn @@ -0,0 +1,65 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010401_length_restrictions_003 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4, + record of integer field5, + record of integer field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010401_length_restrictions_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), * } length (4), // message length is too short + field2 := { (1,2),* } length (2 .. 5), + field3 := { permutation ( 1, 2, 3 ), ? } length (4), + field4 := { (1,2),? } length (2 .. 5) + } + + v_testMessage:= { + field1 := {2,1,3}, + field2 := {2,1,3,5}, + field3 := {2,1,3,5}, + field4 := {1,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_NegSem_B010401_length_restrictions_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..984059f858ed76d9d851810ece97afb0b2951b00 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/NegSem_B010401_length_restrictions_004.ttcn @@ -0,0 +1,65 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010401_length_restrictions_004 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4, + record of integer field5, + record of integer field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010401_length_restrictions_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), * } length (3..4), + field2 := { (1,2),* } length (2 .. 5), + field3 := { permutation ( 1, 2, 3 ), ? } length (2..3), // message length is too long + field4 := { (1,2),? } length (2 .. 5) + } + + v_testMessage:= { + field1 := {2,1,3}, + field2 := {2,1,3,5}, + field3 := {2,1,3,5}, + field4 := {1,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_NegSem_B010401_length_restrictions_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..9f31b97fab851f041377997c502c0d20415282a6 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn @@ -0,0 +1,69 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010401_length_restrictions_001 { + + + type record MessageType { + charstring field1, + bitstring field2, + hexstring field3, + charstring field4, + bitstring field5, + hexstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010401_length_restrictions_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "test s*g" length (6 .. 13), + field2 := '10*'B length (3 .. 5), + field3 := '89*ABC'H length (5), + field4 := pattern "tes?" length (4 .. 13), + field5 := '10?'B length (3 .. 5), + field6 := '89?ABC'H length (6) + } + + v_testMessage:= { + field1 := "test string", + field2 := '10101'B, + field3 := '89ABC'H, + field4 := "test", + field5 := '101'B, + field6 := '899ABC'H + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010401_length_restrictions_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f497f2e1a018391fa620c985e1ee73482bbde9d9 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn @@ -0,0 +1,63 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.1, Ensure that the IUT correctly handles template matching of value length definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010401_length_restrictions_002 { + + + type record MessageType { + record of integer field1, + record of integer field2, + record of integer field3, + record of integer field4 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010401_length_restrictions_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := { permutation ( 1, 2, 3 ), * } length (3 .. 4), + field2 := { (1,2),* } length (2 .. 5), + field3 := { permutation ( 1, 2, 3 ), ? } length (4), + field4 := { (1,2),? } length (2 .. 5) + } + + v_testMessage:= { + field1 := {2,1,3}, + field2 := {2,1,3,5}, + field3 := {2,1,3,5}, + field4 := {1,1} + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010401_length_restrictions_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b372c01ca25e0328d4c76820b276d5733dbfc12e --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn @@ -0,0 +1,67 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.2, Ensure that the IUT correctly handles template matching of ifpresent indicators + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010402_ifPresent_indicator_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1 optional, + charstring field2 optional, + RecordType field3, + UnionType field4 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_NegSem_B010402_ifPresent_indicator_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2) ifpresent, + field2 := ("aaa".."fff") ifpresent, + field3 := {a:=1,b:=(0..2) ifpresent,c:=true} ifpresent, //use of ifpresent on non-optional field + field4 := {a:=(0..2)} ifpresent + } + + v_testMessage:= { + field1 := omit, + field2 := omit, + field3 := {a:=1,b:=omit,c:=true}, + field4 := omit + } + + messagePort.send(v_testMessage); +} + +control{ + execute(TC_NegSem_B010402_ifPresent_indicator_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a3845b9e9f5a4516378a1827370ba4f0f6935782 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.2, Ensure that the IUT correctly handles template matching of ifpresent indicators + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010402_ifPresent_indicator_001 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1 optional, + charstring field2 optional, + RecordType field3, + UnionType field4 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010402_ifPresent_indicator_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2) ifpresent, + field2 := "[a-f]" ifpresent, + field3 := {a:=1,b:=(0..2) ifpresent,c:=true}, + field4 := {a:=(0..2)} ifpresent + } + + v_testMessage:= { + field1 := omit, + field2 := omit, + field3 := {a:=1,b:=omit,c:=true}, + field4 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010402_ifPresent_indicator_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..37bc068ab05d939c640e7c6a02a5d13388669356 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn @@ -0,0 +1,76 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.4.2, Ensure that the IUT correctly handles template matching of ifpresent indicators + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010402_ifPresent_indicator_002 { + + type enumerated EnumeratedType {e_black, e_white, e_green}; + + type record RecordType { + integer a optional, + integer b optional, + boolean c + } + + type union UnionType { + integer a, + EnumeratedType b, + boolean c + } + + type record MessageType { + integer field1 optional, + charstring field2 optional, + RecordType field3, + UnionType field4 optional + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010402_ifPresent_indicator_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := (0..2) ifpresent, + field2 := ("a".."f") length (3) ifpresent, + field3 := {a:=1,b:=(0..2) ifpresent,c:=true}, //element b is present and out of range + field4 := {a:=(0..2)} ifpresent + } + + v_testMessage:= { + field1 := omit, + field2 := omit, + field3 := {a:=1,b:=3,c:=true}, + field4 := omit + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010402_ifPresent_indicator_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/NegSem_B010501_set_expression_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/NegSem_B010501_set_expression_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..348c18d0a135db402b107988b69e74a2357d6985 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/NegSem_B010501_set_expression_001.ttcn @@ -0,0 +1,32 @@ +/*************************************************** + * @author STF 409 + * @version 0.0.1 + * @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + * @verdict pass reject + ***************************************************/ +module NegSem_B010501_set_expression_001 { + type record MessageType { + charstring field1 + } + + type port loopbackPort message { + inout MessageType; + } + + + type component GeneralComp { + port loopbackPort messagePort; + } + + testcase TC_NegSem_B010501_set_expression_001() runs on GeneralComp { + + + match( "test", pattern "te[p[q-t]x]t"); // embedded set is not allowed + setverdict(fail); + + } + control { + execute(TC_NegSem_B010501_set_expression_001()); + } +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..af0175349b4f0cac0ff6bd8924b13de72935f708 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_001.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010501_set_expression_001 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010501_set_expression_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[pqrs]t[0-9]", + field2 := pattern "test[^a-z]", + field3 := pattern "[A-Z]est" + } + + v_testMessage:= { + field1 := "test1", + field2 := "test1", + field3 := "Test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010501_set_expression_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..74f49581764664c58f7394938e1504d44125f70a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_002.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010501_set_expression_002 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010501_set_expression_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[pqrs]t[0-9]", //mismatching set + field2 := pattern "test[^a-z]", + field3 := pattern "[A-Z]est" + } + + v_testMessage:= { + field1 := "text1", + field2 := "test1", + field3 := "Test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010501_set_expression_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..92d6d3ce4ad74668e11e38fbca33ffffd1d0c29a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_003.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010501_set_expression_003 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010501_set_expression_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[pqrs]t[0-9]", + field2 := pattern "test[^a-z]", //mismatching negation + field3 := pattern "[A-Z]est" + } + + v_testMessage:= { + field1 := "test1", + field2 := "testx", + field3 := "Test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010501_set_expression_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1f6f7c421dbec469a9e56b7b75db2261a1b9e0a4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_004.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010501_set_expression_004 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010501_set_expression_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[pqrs]t[0-9]", + field2 := pattern "test[^a-z]", + field3 := pattern "[A-Z]est" //mismatching small/large caps + } + + v_testMessage:= { + field1 := "test1", + field2 := "test1", + field3 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010501_set_expression_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b9d8e6909a3157ea27d17055a269d0a6723057b5 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_005.ttcn @@ -0,0 +1,60 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.1, Ensure that the IUT correctly handles template matching of character pattern set expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010501_set_expression_005 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010501_set_expression_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[pqrs]t[0-9]", + field2 := pattern "test[^a-z]", + field3 := pattern "test[-]string" //mismatching literal - separator + } + + v_testMessage:= { + field1 := "test1", + field2 := "test1", + field3 := "test string" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010501_set_expression_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..85c64a862ed1ab4a48069167a9925fd744f39a24 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_001.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_001 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort; +} + +testcase TC_Sem_B010502_reference_expression_001(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_001("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..074378a504dfc53fd60534ccfe4bd5eb79bed1da --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_002.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_002 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_002(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", //mismatch in this reference + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference ", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_002("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2b36f8b2705d7ad2d89e8758f4958d45da56890a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_003.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_003 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_003(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", //mismatch in this reference + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference ", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_003("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7bba84e3034fbfd0f2208bff9f6a92160d08cf2f --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_004.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_004 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_004(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", //mismatch in this reference + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference ", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_004("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6f7334b049db8f8110b2e448ce7c817e8b6bcd4d --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_005.ttcn @@ -0,0 +1,80 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_005 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_005(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + template charstring m_RefExp_p1 := pattern "{m_"; + template charstring m_RefExp_p2 := pattern "Ref}!"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", //mismatch in this reference + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference ", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_005("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ed55d74042913674ccbb9debf14d15236901d150 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_006.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_006 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_006(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", //mismatch in this reference + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference ", + field6 := "constant reference!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_006("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0bf21a17fd0fc4d5e06beef3aef4e9b7a77dd054 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_007.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_007 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_007(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", //mismatch in this reference + field7 := pattern "{v_Ref} and {c_Ref}" + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "{m_Ref}!", + field7 := "variable reference and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_007("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_008.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_008.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8f062d9110042a0ca0f4bd838c9a2983d81314b4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_008.ttcn @@ -0,0 +1,78 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_008 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_008(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{v_Ref} and {c_Ref}" //mismatch in this reference + }; + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := " and constant reference" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_008("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_009.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_009.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c457407d53ca5cbb498af4a36c88565e8176bf43 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_009.ttcn @@ -0,0 +1,55 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.2, Ensure that the IUT correctly handles template matching of character pattern reference expressions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010502_reference_expression_009 { + + + type record MessageType { + charstring field1 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010502_reference_expression_009() runs on GeneralComp { + + var MessageType v_testMessage; + template charstring m_Ref:="a-z"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[{m_Ref}]" //mismatch as {} looses its meaning inside [] + }; + + v_testMessage:= { + field1 := "x" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010502_reference_expression_009()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3d1b23bfae985406744b632abaeb4c5ddb21d88c --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_001.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.3, Ensure that the IUT correctly handles template matching of character pattern expression multiplicity + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010503_match_n_times_001 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010503_match_n_times_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[e-t]#4", + field2 := pattern "[e-t]+", + field3 := pattern "[e-t]#(3,5)", + field4 := pattern "[e-t]#(3,)", + field5 := pattern "[e-t]#(,5)" + } + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010503_match_n_times_001()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..624f3d5b53da189a135b03b990878a04a89c31e2 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_002.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.3, Ensure that the IUT correctly handles template matching of character pattern expression multiplicity + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010503_match_n_times_002 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010503_match_n_times_002() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[e-t]#5", //mismatching number of characters + field2 := pattern "[e-t]+", + field3 := pattern "[e-t]#(3,5)", + field4 := pattern "[e-t]#(3,)", + field5 := pattern "[e-t]#(,5)" + } + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010503_match_n_times_002()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5f66d84d91df1b764e9a49ddb7c1c97b23dd85fa --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_003.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.3, Ensure that the IUT correctly handles template matching of character pattern expression multiplicity + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010503_match_n_times_003 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010503_match_n_times_003() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[e-t]#4", + field2 := pattern "test[e-t]+", //mismatching number of characters + field3 := pattern "[e-t]#(3,5)", + field4 := pattern "[e-t]#(3,)", + field5 := pattern "[e-t]#(,5)" + } + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010503_match_n_times_003()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d4dddd4a842b0bfcd05b2a4a5b096e78fcfabe24 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_004.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.3, Ensure that the IUT correctly handles template matching of character pattern expression multiplicity + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010503_match_n_times_004 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010503_match_n_times_004() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[e-t]#4", + field2 := pattern "test[e-t]+", + field3 := pattern "[e-t]#(3,5)", + field4 := pattern "[e-t]#(5,)", //mismatching number of characters + field5 := pattern "[e-t]#(,5)" + } + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010503_match_n_times_004()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e45680f3f2bc2dea8137a27aa1def65daea3bb64 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_005.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.3, Ensure that the IUT correctly handles template matching of character pattern expression multiplicity + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010503_match_n_times_005 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010503_match_n_times_005() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "[e-t]#4", + field2 := pattern "test[e-t]+", + field3 := pattern "[e-t]#(3,5)", + field4 := pattern "[e-t]#(3,)", + field5 := pattern "[e-t]#(,3)" //mismatching number of characters + } + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010503_match_n_times_005()); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/NegSem_B010504_match_referenced_characters_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/NegSem_B010504_match_referenced_characters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..a262135ea3369e7d55d39e0e1f1e6a0b3f801898 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/NegSem_B010504_match_referenced_characters_001.ttcn @@ -0,0 +1,69 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass reject + ***************************************************/ + +module NegSem_B010504_match_referenced_characters_001 { + + modulepar { + charstring MOD_REF:="ef"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort; + const charstring c_Ref:="s"; +} + +testcase TC_NegSem_B010504_match_referenced_characters_001(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", //reference length is more than one character + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te[\N{m_Ref}]t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + +} + +control{ + execute(TC_NegSem_B010504_match_referenced_characters_001("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..99fb2b0c59af775f00e5d39fc6dc490ce5ff2c4b --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_001.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_001 { + + modulepar { + charstring MOD_REF:="e"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_001(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_001("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0ad3e3d8d752a9d402b47780268bdd704bf1bfc1 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_002.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_002 { + + modulepar { + charstring MOD_REF:="e"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_002(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="x"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", //reference character mismatch + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_002("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_003.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..47b058cb47e024dd302144bb93ef558cc5d2c10a --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_003.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_003 { + + modulepar { + charstring MOD_REF:="e"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="x"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_003(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", //reference character mismatch + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_003("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_004.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6fa4e2b5ae256c1f0462b8a419b8293d6c7aefe4 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_004.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_004 { + + modulepar { + charstring MOD_REF:="s"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_004(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", //reference character mismatch + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_004("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_005.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_005.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..26be7cb8a6af7163ce647d3174fd7f8095de5d82 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_005.ttcn @@ -0,0 +1,75 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_005 { + + modulepar charstring MOD_REF:="e"; + + type charstring CharRange ("s".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_005(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" //reference character mismatch + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_005("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_006.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_006.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2631c760081f38dd90ded8d7fbbe4fc0c39f06e1 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_006.ttcn @@ -0,0 +1,75 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_006 { + + modulepar charstring MOD_REF:="e"; + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_006(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="s"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", //reference character mismatch + field5 := pattern "te\N{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "test", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(fail); + } + [] messagePort.receive { + setverdict(pass); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_006("x")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_007.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_007.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..25a390d886e7cbe88417522640e31d9dc1893db9 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_007.ttcn @@ -0,0 +1,77 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.4, Ensure that the IUT correctly handles template matching of character pattern reference characters + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010504_match_referenced_characters_007 { + + modulepar { + charstring MOD_REF:="e"; + } + + type charstring CharRange ("e".."t"); + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="s"; + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010504_match_referenced_characters_007(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="s"; + template charstring m_Ref:="{c_Ref}"; //assuming dereferencing is only done once, no chained references + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te[\N{v_Ref}]t", + field2 := pattern "[\N{c_Ref}et]+", + field3 := pattern "[\N{MOD_REF}-t]+", + field4 := pattern "te[\N{p_Ref}]t", + field5 := pattern "te{m_Ref}t", + field6 := pattern "\N{CharRange}+" + }; + + v_testMessage:= { + field1 := "test", + field2 := "test", + field3 := "test", + field4 := "test", + field5 := "te{c_Ref}t", + field6 := "test" + }; + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010504_match_referenced_characters_007("s")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7aa440e38bdd6a440ca35729b409171a72e21ee0 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_001.ttcn @@ -0,0 +1,81 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.5, Ensure that the IUT correctly handles character pattern compatibility rules of template matching + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010505_pattern_compatibility_001 { + + modulepar { + charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + universal charstring field1, + universal charstring field2, + universal charstring field3, + universal charstring field4, + universal charstring field5, + universal charstring field6, + universal charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const charstring c_Ref:="constant reference"; + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010505_pattern_compatibility_001(charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var charstring v_Ref:="variable reference"; + template charstring m_Ref:= pattern "{c_Ref}"; + template charstring m_RefExp_p1 := "{m_"; + template charstring m_RefExp_p2 := "Ref}!"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{m_RefExp_p1}{m_RefExp_p2}" + } + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "{m_Ref}!" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010505_pattern_compatibility_001("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_002.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..951af3d13a95f4db95a00c69a6e3346a500e65b1 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_002.ttcn @@ -0,0 +1,81 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5.5, Ensure that the IUT correctly handles character pattern compatibility rules of template matching + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B010505_pattern_compatibility_002 { + + modulepar { + universal charstring MOD_REF:="modulepar reference"; + } + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5, + charstring field6, + charstring field7 + } + + type port loopbackPort message { + inout MessageType + } + + const universal charstring c_Ref:="constant reference"; + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B010505_pattern_compatibility_002(universal charstring p_Ref) runs on GeneralComp { + + var MessageType v_testMessage; + var universal charstring v_Ref:="variable reference"; + template universal charstring m_Ref:= pattern "{c_Ref}"; + template universal charstring m_RefExp_p1 := pattern "{m_"; + template universal charstring m_RefExp_p2 := pattern "Ref}!"; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "{v_Ref}", + field2 := pattern "{c_Ref}", + field3 := pattern "{MOD_REF}", + field4 := pattern "{p_Ref}", + field5 := pattern "{m_Ref}", + field6 := pattern "{m_"&"Ref}!", + field7 := pattern "{m_RefExp_p1}{m_RefExp_p2}" + } + + v_testMessage:= { + field1 := "variable reference", + field2 := "constant reference", + field3 := "modulepar reference", + field4 := "parameter reference", + field5 := "constant reference", + field6 := "constant reference!", + field7 := "{m_Ref}!" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B010505_pattern_compatibility_002("parameter reference")); +} + +} + \ No newline at end of file diff --git a/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..53be9e9da6c4a47d8475210329e7a95b98749292 --- /dev/null +++ b/ATS/B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn @@ -0,0 +1,66 @@ +/*************************************************** + ** @author STF 409 + ** @version 0.0.1 + ** @purpose 1:B.1.5, Ensure that the IUT correctly handles template matching of character pattern definitions + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ + +module Sem_B0105_toplevel_001 { + + + type record MessageType { + charstring field1, + charstring field2, + charstring field3, + charstring field4, + charstring field5 + } + + type port loopbackPort message { + inout MessageType + } + + +type component GeneralComp { + port loopbackPort messagePort +} + +testcase TC_Sem_B0105_toplevel_001() runs on GeneralComp { + + var MessageType v_testMessage; + + template MessageType mw_matchingTemplate:= + { + field1 := pattern "te?t\?", + field2 := pattern "test|string", + field3 := pattern "test" & " " & "string", + field4 := pattern "tes\w\b\s\d", + field5 := pattern "\[\\\]" + } + + v_testMessage:= { + field1 := "test?", + field2 := "string", + field3 := "test string", + field4 := "test 1", + field5 := "[\]" + } + + messagePort.send(v_testMessage); + + alt { + [] messagePort.receive(mw_matchingTemplate) { + setverdict(pass); + } + [] messagePort.receive { + setverdict(fail); + } + } +} + +control{ + execute(TC_Sem_B0105_toplevel_001()); +} + +} + \ No newline at end of file diff --git a/ATS/C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn b/ATS/C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..ec691555cba555d94eb5845f19a80808ebf489dd --- /dev/null +++ b/ATS/C_predefined_functions/C06_Other_functions/C0602_The_testcasename_function/Sem_C0602_The_testcasename_function_001.ttcn @@ -0,0 +1,29 @@ +/*************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:C.6.2, Ensure that the IUT correctly handles the testcasename function + ** @verdict pass accept, ttcn3verdict:pass + ***************************************************/ +module Sem_C0602_The_testcasename_function_001 { + + type component GeneralComp { + } + + // add a second testcase in order to see that the right TC name is returned + testcase TC_Sem_C0602_The_testcasename_function_001_other() runs on GeneralComp { + } + + testcase TC_Sem_C0602_The_testcasename_function_001() runs on GeneralComp { + var charstring v_TCname := testcasename(); + if (match(v_TCname, "TC_Sem_C0602_The_testcasename_function_001")) { + setverdict(pass); + } else { + setverdict(fail, "Expected TC name TC_Sem_C0602_The_testcasename_function_001 observer " & v_TCname); + } + } + + control{ + execute(TC_Sem_C0602_The_testcasename_function_001()); + } + +} \ No newline at end of file diff --git a/ATS/C_predefined_functions/NOTES b/ATS/C_predefined_functions/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..b78174200c39420ac1991bce87fea4d988e9e22c --- /dev/null +++ b/ATS/C_predefined_functions/NOTES @@ -0,0 +1 @@ +- NOTE: The contents of Annex C are tested by the tests under section 16.1.2. \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn b/ATS/D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..97c662652fb90ebcd64af0d337b668f7e5385f9c --- /dev/null +++ b/ATS/D_preprocessing_macros/D01_macro_module/Sem_D01_macro_module_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that __MODULE__ replaces the module name + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// The name of the module is stored in __MODULE__ macro +module Sem_D01_macro_module_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_D01_macro_module_001() runs on GeneralComp system GeneralComp { + + const charstring MyConst:= __MODULE__; + + if(match(MyConst, "Sem_D01_macro_module_001")){ + setverdict(pass);} + else { + setverdict(fail);} + } + + control { + execute(TC_Sem_D01_macro_module_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D02_macro_file/Sem_D02_macro_file_001.ttcn b/ATS/D_preprocessing_macros/D02_macro_file/Sem_D02_macro_file_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8456e3ee6aeab97c850e190eaebe267e8e11cf94 --- /dev/null +++ b/ATS/D_preprocessing_macros/D02_macro_file/Sem_D02_macro_file_001.ttcn @@ -0,0 +1,28 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that __FILE__ macro stores the path and file name in a charstring + ** @verdict pass accept, noexecution + *****************************************************************/ + +module Sem_D02_macro_file_001 { + + type component GeneralComp { } + + testcase TC_Sem_D02_macro_file_001() runs on GeneralComp system GeneralComp { + + const charstring MyConst:= __FILE__; + // will match file paths of the form .../Sem_D02_macro_file_001.ttcn or ...\Sem_D02_macro_file_001.ttcn + template charstring namePattern := pattern "*[\\/]Sem_D02_macro_file_001.ttcn"; + + if(match(MyConst, namePattern)){ + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_D02_macro_file_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D03_macro_bfile/Sem_D03_macro_bfile_001.ttcn b/ATS/D_preprocessing_macros/D03_macro_bfile/Sem_D03_macro_bfile_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..b574924542b448692ac3e0ef36ed7935d4e0520c --- /dev/null +++ b/ATS/D_preprocessing_macros/D03_macro_bfile/Sem_D03_macro_bfile_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that the __BFILE__ macro replaces the actual file name + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// the actual file name is given in __BFILE__ macro. +module Sem_D03_macro_bfile_001 { + + type component GeneralComp {} + + testcase TC_Sem_D03_macro_bfile_001() runs on GeneralComp system GeneralComp { + + const charstring MyConst:=__BFILE__; + + if(match(MyConst, "Sem_D03_macro_bfile_001.ttcn")){ + setverdict(pass); + } else { + setverdict(fail); + } + } + + control { + execute(TC_Sem_D03_macro_bfile_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D04_macro_line/Sem_D04_macro_line_001.ttcn b/ATS/D_preprocessing_macros/D04_macro_line/Sem_D04_macro_line_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6d4f36e4423a2d600cf87128eede661d754b4f52 --- /dev/null +++ b/ATS/D_preprocessing_macros/D04_macro_line/Sem_D04_macro_line_001.ttcn @@ -0,0 +1,27 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that __LINE__ macro stores the actual line number when it is called + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// In this case the line number when the macro is called at line 15. +module Sem_D04_macro_line_001 { + + type component GeneralComp {} + function f1 ( ) runs on GeneralComp {} + + testcase TC_Sem_D04_macro_line_001() runs on GeneralComp system GeneralComp { + + const integer MyConst:= __LINE__; // line 15 + + if (match(MyConst, 15)) { + setverdict(pass); + } else { + setverdict(fail, "Expected line 15, wrong line number"); + } + } + + control { + execute(TC_Sem_D04_macro_line_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D05_macro_scope/NegSem_D05_macro_scope_001.ttcn b/ATS/D_preprocessing_macros/D05_macro_scope/NegSem_D05_macro_scope_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6a9e4880bda27d4cddcd548b758a2ac7b912ffd6 --- /dev/null +++ b/ATS/D_preprocessing_macros/D05_macro_scope/NegSem_D05_macro_scope_001.ttcn @@ -0,0 +1,31 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that __SCOPE__ replaces the actual higher named basic scope unit + ** @verdict pass reject + *****************************************************************/ +// __SCOPE__ replaces the actual higher basic unit + +module NegSem_D05_macro_scope_001 { + + type component GeneralComp { + var charstring variable1:=__SCOPE__; //variable1=="GeneralComp" + } + + type record MyRecord { + charstring variable0 ("1","2",__SCOPE__) // variable0=="MyRecord" + } + + testcase TC_NegSem_D05_macro_scope_001() runs on GeneralComp system GeneralComp { + + template MyRecord Mytemplate:={ + variable0:="__SCOPE__" //Causes an error as __SCOPE__ is replaced with Mytemplate + } + + + } + + control { + execute(TC_NegSem_D05_macro_scope_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn b/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c1543b66eeb27ff080c8f221b0fa529169b4dfa3 --- /dev/null +++ b/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_001.ttcn @@ -0,0 +1,26 @@ +/***************************************************************** + * @author STF 451 + * @version 0.0.1 + * @purpose 1:D, Ensure that __SCOPE__ replaces the actual higher basic unit + * @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// __SCOPE__ replaces the actual higher basic unit (name of the test component) +module Sem_D05_macro_scope_001 { + type component GeneralComp { + const charstring MyConst := __SCOPE__; + } + + testcase TC_Sem_D05_macro_scope_001() + runs on GeneralComp system GeneralComp { + + + if (match(MyConst, "GeneralComp")) { + setverdict(pass); + } else { + setverdict(fail); + } + } + control { + execute(TC_Sem_D05_macro_scope_001()); + } +} \ No newline at end of file diff --git a/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_002.ttcn b/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_002.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..6a7b8452b1eb2bd0830b1a36711bb7b162e2be7b --- /dev/null +++ b/ATS/D_preprocessing_macros/D05_macro_scope/Sem_D05_macro_scope_002.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:D, Ensure that __SCOPE__ replaces the actual higher basic unit + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +// __SCOPE__ replaces the actual higher basic unit +module Sem_D05_macro_scope_002 { + + type component GeneralComp { + var charstring variable1:=__SCOPE__; //variable1=="GeneralComp" + } + + type record MyRecord { + charstring variable0 ("1","2",__SCOPE__) + } + + testcase TC_Sem_D05_macro_scope_002() runs on GeneralComp system GeneralComp { + + template MyRecord Mytemplate:={ + variable0:="MyRecord" //MyRecord is a legal element because of __SCOPE__ + } + + if(match(variable1, "GeneralComp")){ + setverdict(pass); + } else { + setverdict(fail); + } + + } + + control { + execute(TC_Sem_D05_macro_scope_002()); + } +} \ No newline at end of file diff --git a/ATS/NOTES b/ATS/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..4298b54344324d004b52e1425579521a1cd906c7 --- /dev/null +++ b/ATS/NOTES @@ -0,0 +1,11 @@ +The @configuration port:XYZ directive in the header indicates the type of adapter being used. +The two possible port: values are broadcast/loopback. +For historical reasons, the absence of this directive means loopback adapter. +Example: + ** @configuration port:broadcast + +The following example indicates external functions used in the test case + ** @configuration external_functions + + +- TODO: check that each match operation is used correctly (must not be used to compare templates!!) \ No newline at end of file diff --git a/dist/.project b/dist/.project new file mode 100644 index 0000000000000000000000000000000000000000..b88c2220f6d1425ad549aadbcdf0e76c11b49138 --- /dev/null +++ b/dist/.project @@ -0,0 +1,11 @@ + + + dist + + + + + + + + diff --git a/dist/15102010/15102010-t3ats-tps.pdf b/dist/15102010/15102010-t3ats-tps.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d426016b3c69491ee1ba07227d7c89607d3753cb Binary files /dev/null and b/dist/15102010/15102010-t3ats-tps.pdf differ diff --git a/dist/15102010/15102010-t3ats.zip b/dist/15102010/15102010-t3ats.zip new file mode 100644 index 0000000000000000000000000000000000000000..3d0a45019067166df6ee4ec7d9585e8c9278d2bb Binary files /dev/null and b/dist/15102010/15102010-t3ats.zip differ diff --git a/dist/15102010/README b/dist/15102010/README new file mode 100644 index 0000000000000000000000000000000000000000..406b677ca8097424b503e47644ffd3b362d2b2f5 --- /dev/null +++ b/dist/15102010/README @@ -0,0 +1,80 @@ +TTCN-3 conformance test suite preliminary (unofficial) instructions +======================================================= + +These are preliminary instructions on how to use the TTCN-3 conformance test suite. +Unlike ATSs in the usual context, this ATS does _not_ provide any means for test +automation, but the TTCN-3 files provide the test inputs for the TTCN-3 tool - in this case +the TTCN-3 tool is the IUT. This means that test automation has to be somehow scripted, however, +from the provided ATS it should be clear how the output should be interpreted. + +1) ATS organization + + The ATS is organized according to the clauses of the TTCN-3 standard part 1. There are + either positive syntactic tests, negative syntactic tests, positive semantic tests, or + negative semantic tests. + + Except for the negative syntactic tests, all TTCN-3 files from the other three categories + are always syntactically correct. In addition, the positive syntactic tests are designed + to be semantically correct as well. The negative semantic tests are designed to violate the + semantics only in the one property that is subject of the test - at least to the degree that + it is possible. Because all test cases are syntactically correct (except for the negative + syntactic tests), the semantic and negative semantic tests are syntactically correct as well. + + Every TTCN-3 module corresponds to one TTCN-3 conformance test. Where more than one module is + needed, the TTCN-3 file contains multiple modules. + +2) Document tags + + Every module is annotated with document tags. Of relevance for the test automation tooling + is the @verdict tag on top of each module (tag usage adaption in the TTCN-3 maintenance STF + is pending). It is composed of three parts: the tag, the conformance verdict, and keywords + regarding the expected output. + + @verdict pass accept, ttcn3verdict:pass + + Hence the format of this tag is a three column entry with "@verdict", "pass", and + "accept, ttcn3verdict:pass". + In order to reach the "pass" verdict, the TTCN-3 tool under test, the IUT, must accept the + TTCN-3 module as test input. The result of its execution must be the TTCN-3 verdict pass. + Therefore, if the TTCN-3 verdict is pass after the execution of the module, the IUT passes + the conformance test. If the tool output is anything else, it fails the conformance test. + + The keywords in use to describe the third column, i.e. the expected output by the IUT, are (currently) as + follows: + + reject + accept, noexecution + accept, ttcn3verdict:none + accept, ttcn3verdict:pass + accept, ttcn3verdict:inconc + accept, ttcn3verdict:fail + accept, ttcn3verdict:error + + "reject" implies that the TTCN-3 module is either rejected at compile-time or at execution time. + In the conformance test, we do not differentiate between these two cases as the standard does not + make any statement where semantic checks have to be performed. + + "accept, noexecution" implies that the TTCN-3 module should be accepted by the TTCN-3 tool after + the syntactic check. For passing the conformance test, the module simply has to be accepted and + an execution is not necessary. + + "accept, ttcn3vercit:xxx" implies that the TTCN-3 module should be accepted by the TTCN-3 tool + after the syntactic check and that an execution should take place. The result of the execution + should be a TTCN-3 verdict and the "xxx" denotes what verdict is the exepcted verdict. If the + verdict differs from the specified "xxx", the conformance test fails. Otherwise, it passes. + + In the usual case, each TTCN-3 file contains only one test case. In these cases the verdict + determination is clear. In a few cases, the TTCN-3 file contains more than one test case. + In that case, the overall conformance verdict is determined according to the TTCN-3 verdict + overwrite rules applied to the results of each test case. Let's say we have to test cases. + The first test case ends with the verdict "fail" and the second one ends with the verdict "pass". + Then the overall verdict is "fail". + + All notations are designed to be easily machine readable. Therefore, the test automation using + some sort of scripting will only take a small amount of time. + +3) Other prerequisites + + In order to test communication and matching behavior, we expect that the test cases are executed + using a loopback adapter. + diff --git a/dist/MTS#52/MTS-00132-1-T3Conf_ICS-v0.0.1.doc b/dist/MTS#52/MTS-00132-1-T3Conf_ICS-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..386780ad6c962031349ab1baa10a8c319b943a78 Binary files /dev/null and b/dist/MTS#52/MTS-00132-1-T3Conf_ICS-v0.0.1.doc differ diff --git a/dist/MTS#52/MTS-00132-2-T3Conf_TPs-v0.0.1.doc b/dist/MTS#52/MTS-00132-2-T3Conf_TPs-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..38ccf7f4eb2554caa8c2a9eb95437916ca834502 Binary files /dev/null and b/dist/MTS#52/MTS-00132-2-T3Conf_TPs-v0.0.1.doc differ diff --git a/dist/MTS#52/MTS-00132-3-T3Conf_ATS-v0.0.1.doc b/dist/MTS#52/MTS-00132-3-T3Conf_ATS-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..7c9ceb8c5419c3b18f8704aa747bb279f87f328a Binary files /dev/null and b/dist/MTS#52/MTS-00132-3-T3Conf_ATS-v0.0.1.doc differ diff --git a/dist/MTS#52/t3ref-MTS#52-draft.zip b/dist/MTS#52/t3ref-MTS#52-draft.zip new file mode 100644 index 0000000000000000000000000000000000000000..b5a532e921cf8601c71cc364fcf9aa8d0f6f8a38 Binary files /dev/null and b/dist/MTS#52/t3ref-MTS#52-draft.zip differ diff --git a/dist/MTS#52/ts_xxxxxxxx.zip b/dist/MTS#52/ts_xxxxxxxx.zip new file mode 100644 index 0000000000000000000000000000000000000000..5d5348144bf0e3f6585f219236cee76b578723ce Binary files /dev/null and b/dist/MTS#52/ts_xxxxxxxx.zip differ diff --git a/documents/.project b/documents/.project new file mode 100644 index 0000000000000000000000000000000000000000..b399e907b3bb9bd868a48df82963e5c193de425f --- /dev/null +++ b/documents/.project @@ -0,0 +1,11 @@ + + + documents + + + + + + + + diff --git a/documents/drafts/15102010-t3ats-tps.docx b/documents/drafts/15102010-t3ats-tps.docx new file mode 100644 index 0000000000000000000000000000000000000000..1ce399ae633cdc0c78063c59463744f3d30bf063 Binary files /dev/null and b/documents/drafts/15102010-t3ats-tps.docx differ diff --git a/documents/drafts/15102010-t3ats-tps.pdf b/documents/drafts/15102010-t3ats-tps.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d426016b3c69491ee1ba07227d7c89607d3753cb Binary files /dev/null and b/documents/drafts/15102010-t3ats-tps.pdf differ diff --git a/documents/final-report/STF409StatusReport_FR.xls b/documents/final-report/STF409StatusReport_FR.xls new file mode 100644 index 0000000000000000000000000000000000000000..9f383336156b81a386b187996b2e1442acd279de Binary files /dev/null and b/documents/final-report/STF409StatusReport_FR.xls differ diff --git a/documents/final-report/STF409_A_FinRep.doc b/documents/final-report/STF409_A_FinRep.doc new file mode 100644 index 0000000000000000000000000000000000000000..f7b1c42963e57788c8011bc7367bfc82cc1a84f6 Binary files /dev/null and b/documents/final-report/STF409_A_FinRep.doc differ diff --git a/documents/final-report/STF409_A_FinRep_template.doc b/documents/final-report/STF409_A_FinRep_template.doc new file mode 100644 index 0000000000000000000000000000000000000000..417ecb4b322e221f8b7f913210b3c5013d6de1ed Binary files /dev/null and b/documents/final-report/STF409_A_FinRep_template.doc differ diff --git a/documents/final-report/STF433_A_FinRep.doc b/documents/final-report/STF433_A_FinRep.doc new file mode 100644 index 0000000000000000000000000000000000000000..b5d837eb334ce8d9c923dca4aad7aa871073c82b Binary files /dev/null and b/documents/final-report/STF433_A_FinRep.doc differ diff --git a/documents/final-report/STF433_A_FinRep2.doc b/documents/final-report/STF433_A_FinRep2.doc new file mode 100644 index 0000000000000000000000000000000000000000..30d9b5d0d35e184caabc3289c807cc483166df28 Binary files /dev/null and b/documents/final-report/STF433_A_FinRep2.doc differ diff --git a/documents/final-report/STF433_Requirements.docx b/documents/final-report/STF433_Requirements.docx new file mode 100644 index 0000000000000000000000000000000000000000..42b7129f7112fe10e129a884bbb31e6f9d77daca Binary files /dev/null and b/documents/final-report/STF433_Requirements.docx differ diff --git a/documents/final-report/STF451_A_ProgRep.doc b/documents/final-report/STF451_A_ProgRep.doc new file mode 100644 index 0000000000000000000000000000000000000000..7f6801b9373e258a510bc07cfdfedf931d484204 Binary files /dev/null and b/documents/final-report/STF451_A_ProgRep.doc differ diff --git a/documents/final-report/TTCN-3 Conformance Test Suite STF 451 Status Report.ppt b/documents/final-report/TTCN-3 Conformance Test Suite STF 451 Status Report.ppt new file mode 100644 index 0000000000000000000000000000000000000000..b8c385b688d9c5b06f4472a1f781b15f9402a15c Binary files /dev/null and b/documents/final-report/TTCN-3 Conformance Test Suite STF 451 Status Report.ppt differ diff --git a/documents/final-report/template/433_A_FinRep.doc b/documents/final-report/template/433_A_FinRep.doc new file mode 100644 index 0000000000000000000000000000000000000000..3b0e0a7e0a07aa0248da01ea7026a3b1f6d9a4fe Binary files /dev/null and b/documents/final-report/template/433_A_FinRep.doc differ diff --git a/documents/final-report/template/451_A_ProgRep_1.doc b/documents/final-report/template/451_A_ProgRep_1.doc new file mode 100644 index 0000000000000000000000000000000000000000..5d24a6a7460bbcffc92148bbbda51b60e1b37f42 Binary files /dev/null and b/documents/final-report/template/451_A_ProgRep_1.doc differ diff --git a/documents/final-report/tps.csv b/documents/final-report/tps.csv new file mode 100644 index 0000000000000000000000000000000000000000..3273a9064af353b825f45eadebc2acaa5ffd9a05 --- /dev/null +++ b/documents/final-report/tps.csv @@ -0,0 +1,1185 @@ +"Test Purpose Id";"Reference";"ICS";"Dependencies";"Summary";"Expected Output";"Notes";"Sorting Order";"Heading";"Clause" +"NegSem_0501_Identifier_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.1";"None";"None";"Ensure that cannot pass a charstring value to an integer variable.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0501_D";"Clause 5.1";"Identifiers and keywords" +"NegSyn_0501_Identifier_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.1";"None";"None";"Ensure that when the IUT loads a module containing anidentifier named with a keyword then the module is rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0501_B";"";"" +"Syn_0501_Identifier_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.1";"None";"None";"Ensure that the IUT handle the identifiers case sensitively.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0501_A";"";"" +"Sem_050201_Scope_of_parameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.1";"None";"None";"Ensure that the IUT correctly handles scope of formal function parameters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050201_C";"Clause 5.2.1";"Scope of formal parameters" +"Sem_050201_Scope_of_parameters_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.1";"None";"None";"Ensure that the IUT correctly handles scope of formal function parameters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050201_C";"";"" +"NegSem_050202_Uniqueness_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"Clause 5.2.2";"Uniqueness of identifiers" +"NegSem_050202_Uniqueness_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"NegSem_050202_Uniqueness_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"050202_D";"";"" +"Sem_050202_Uniqueness_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050202_C";"";"" +"Sem_050202_Uniqueness_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050202_C";"";"" +"Sem_050202_Uniqueness_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2.2";"None";"None";"Ensure that the IUT correctly handles the uniqueness of variable names in its scope";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050202_C";"";"" +"NegSem_0502_Scope_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT correctly handles definitions of local scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0502_D";"Clause 5.2";"Scope rules" +"NegSem_0502_Scope_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT correctly handles definitions of local scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0502_D";"";"" +"NegSem_0502_Scope_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT correctly handles definitions of local scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0502_D";"";"" +"Sem_0502_Scope_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT handle scope hieararchy of component constants.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_C";"";"" +"Sem_0502_Scope_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT handle scope hieararchy with component booleans.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_C";"";"" +"Sem_0502_Scope_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT handles scope hierarchy via functions.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_C";"";"" +"Sem_0502_Scope_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT correctly handles the scope of definitions made in the module part.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_C";"";"" +"Sem_0502_Scope_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT correctly handles definitions of extended component scope";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_C";"";"" +"Syn_0502_Scope_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.2";"None";"None";"Ensure that the IUT supports all the nine scope units.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0502_A";"";"" +"NegSem_0503_Ordering_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that declarations are in the allowed ordering";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0503_D";"Clause 5.3";"Ordering of language elements" +"NegSem_0503_Ordering_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that declarations are in the allowed ordering";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0503_D";"";"" +"NegSem_0503_Ordering_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that declarations are in the allowed ordering";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0503_D";"";"" +"Sem_0503_Ordering_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that allowed orderings of declarations are supported";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0503_C";"";"" +"Sem_0503_Ordering_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that allowed any ordering with component definitions are supported";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0503_C";"";"" +"Sem_0503_Ordering_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.3";"None";"None";"Ensure that allowed orderings of declarations are supported";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0503_C";"";"" +"Sem_05040101_parameters_of_kind_value_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.1";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of module parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040101_C";"Clause 5.4.1.1";"Formal parameters of kind value" +"Sem_05040101_parameters_of_kind_value_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.1";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of module parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040101_C";"";"" +"Sem_05040101_parameters_of_kind_value_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.1";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of module parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040101_C";"";"" +"Sem_05040101_parameters_of_kind_value_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.1";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of module parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040101_C";"";"" +"Sem_05040102_parameters_of_kind_template_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.2";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of parameterized templates.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040102_C";"Clause 5.4.1.2";"Formal parameters of kind template" +"Sem_05040102_parameters_of_kind_template_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.2";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of parameterized templates.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040102_C";"";"" +"Sem_05040103_parameters_of_kind_timer_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.3";"None";"None";"Ensure that the IUT correctly handles parametrization through the use of timer parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040103_C";"Clause 5.4.1.3";"Formal parameters of kind timer" +"Sem_05040104_parameters_of_kind_port_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.1.4";"None";"None";"Ensure that the IUT accepts port parametrization types for functions.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"05040104_C";"Clause 5.4.1.4";"Formal parameters of kind port" +"Sem_050402_actual_parameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.2";"None";"None";"Ensure that the IUT accepts allowed assignments of actual parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050402_C";"Clause 5.4.2";"Actual parameters" +"Sem_050402_actual_parameters_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4.2";"None";"None";"Ensure that the IUT accepts nested assignment of actual parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"050402_C";"";"" +"NegSem_0504_parametrization_incompatibility_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4";"None";"None";"Ensure that the IUT correctly handles received testcase parametrization type incompatibility.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0504_D";"Clause 5.4";"Parameterization" +"NegSyn_0504_forbidden_parametrization_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4";"None";"None";"Ensure that the IUT rejects forbidden module parametrization types.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0504_B";"";"" +"NegSyn_0504_forbidden_parametrization_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.4";"None";"None";"Ensure that the IUT rejects forbidden module parametrization types.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0504_B";"";"" +"Sem_0505_cyclic_definitions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.5";"None";"None";"Ensure that the IUT correctly handles recursive functions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0505_C";"Clause 5.5";"Cyclic definitions" +"Sem_0505_cyclic_definitions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5.5";"None";"None";"Ensure that the IUT correctly handles cyclic imports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0505_C";"";"" +"NegSyn_05_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 5";"None";"None";"Ensure that when the IUT loads a module containing some definitions before the module declaration then the module is rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"05_B";"Clause 5";"Basic language elements" +"NegSyn_060100_SimpleBasicTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign float to integer values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"Clause 6.1.0";"Simple basic types and values" +"NegSyn_060100_SimpleBasicTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign boolean to integer values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"";"" +"NegSyn_060100_SimpleBasicTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign integer to float values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"";"" +"NegSyn_060100_SimpleBasicTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign boolean to float values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"";"" +"NegSyn_060100_SimpleBasicTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign verdicttype to float values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"";"" +"NegSyn_060100_SimpleBasicTypes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign integer to verdicttype values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060100_B";"";"" +"Sem_060100_SimpleBasicTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign and read integer values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060100_C";"";"" +"Sem_060100_SimpleBasicTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign and read large integer values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060100_C";"";"" +"Sem_060100_SimpleBasicTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign and read float values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060100_C";"";"" +"Sem_060100_SimpleBasicTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign and read large float values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060100_C";"";"" +"Sem_060100_SimpleBasicTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign and read verdicts";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060100_C";"";"" +"Syn_060100_SimpleBasicTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign different integer values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Syn_060100_SimpleBasicTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign large integer values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Syn_060100_SimpleBasicTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign different float values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Syn_060100_SimpleBasicTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Assign small and large float values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Syn_060100_SimpleBasicTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Accept float mantisa for float values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Syn_060100_SimpleBasicTypes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.0";"None";"None";"Accept all verdict values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060100_A";"";"" +"Sem_06010101_AccessStringElements_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access bitstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"Clause 6.1.1.1";"Accessing individual string elements" +"Sem_06010101_AccessStringElements_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access octetstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access hexstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access bitstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access hexstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access octetstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access charstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"Sem_06010101_AccessStringElements_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1.1";"None";"None";"Access charstring elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010101_C";"";"" +"NegSyn_060101_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign invalid bitstring value";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"Clause 6.1.1";"Basic string types and values" +"NegSyn_060101_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign string to bitstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign octetstring to bitstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign invalid hexstring value";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign string to hexstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign octetstring to hexstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign invalid hexstring value";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign string to octetstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign hexstring to octetstring values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"NegSyn_060101_TopLevel_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign invalid hexstring value";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060101_B";"";"" +"Sem_060101_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read bitstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Sem_060101_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read hexstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Sem_060101_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read octetstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Sem_060101_TopLevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read charstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Sem_060101_TopLevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read universal charstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Sem_060101_TopLevel_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign and read universal charstring";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060101_C";"";"" +"Syn_060101_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign different bitstring values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060101_A";"";"" +"Syn_060101_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign different hexstring values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060101_A";"";"" +"Syn_060101_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.1";"None";"None";"Assign different octetstring values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060101_A";"";"" +"NegSem_06010201_ListOfValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted bitstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"Clause 6.1.2.1";"Lists of values" +"NegSem_06010201_ListOfValues_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted hexstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"";"" +"NegSem_06010201_ListOfValues_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted octetstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"";"" +"NegSem_06010201_ListOfValues_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"";"" +"NegSem_06010201_ListOfValues_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted integer.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"";"" +"NegSem_06010201_ListOfValues_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign values to restricted float.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010201_D";"";"" +"Sem_06010201_ListOfValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.1";"None";"None";"Assign invalid values to restricted bitstring.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010201_C";"";"" +"NegSem_06010202_ListOfTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.2";"None";"None";"Assign invalid values to list of types restricted bitstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010202_D";"Clause 6.1.2.2";"Lists of types" +"Sem_06010202_ListOfTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.2";"None";"None";"Assign values to list of types restricted bitstring.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010202_C";"";"" +"NegSem_06010203_Ranges_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to restricted integer.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"Clause 6.1.2.3";"Ranges" +"NegSem_06010203_Ranges_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to restricted integer.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assure that not_a_number is not allowed in float range subtyping.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to restricted integer with exclusive bounds.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to restricted integer with exclusive bounds.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign range to boolean not permitted.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to restricted float.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to range restricted float.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid values to range excluded restricted float.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained universal charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained universal charstring with mixed bounds.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign invalid value to range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Invalid value infinity for range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"NegSem_06010203_Ranges_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Invalid value -infinity for range constrained charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010203_D";"";"" +"Sem_06010203_Ranges_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted integer.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to infinity range restricted integer.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted integer with exclusive bounds.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted cahrstring with inclusive bounds.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted cahrstring with exclusive bounds.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted cahrstring with mixed bounds.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted universal charstring.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"Sem_06010203_Ranges_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.3";"None";"None";"Assign values to range restricted universal charstring with mixed bounds.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010203_C";"";"" +"NegSem_06010204_StringLenghtRestrict_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.4";"None";"None";"Assign invalid values to length restricted bitstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010204_D";"Clause 6.1.2.4";"String length restrictions" +"NegSem_06010204_StringLenghtRestrict_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.4";"None";"None";"Assign invalid values to length restricted bitstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010204_D";"";"" +"Sem_06010204_StringLenghtRestrict_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.4";"None";"None";"Assign values to list of types restricted bitstring.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010204_C";"";"" +"NegSem_06010205_StringPattern_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.5";"None";"None";"Assign invalid values to pattern restricted character strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06010205_D";"Clause 6.1.2.5";"Pattern subtyping of character string types" +"Sem_06010205_StringPattern_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.5";"None";"None";"Assign values to pattern restricted character strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010205_C";"";"" +"Sem_06010205_StringPattern_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.5";"None";"None";"Assign values to pattern restricted character strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06010205_C";"";"" +"NegSem_0601020601_MixingSubtype_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.1";"None";"None";"Assign invalid values to mixed restricted floats.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020601_D";"Clause 6.1.2.6.1";"Mixing patterns, lists and ranges" +"NegSem_0601020601_MixingSubtype_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.1";"None";"None";"Assign invalid values to mixed restricted integers.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020601_D";"";"" +"Sem_0601020601_MixingSubtype_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.1";"None";"None";"Assign values to mixed restricted floats.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020601_C";"";"" +"Sem_0601020601_MixingSubtype_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.1";"None";"None";"Assign values to mixed restricted integers.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020601_C";"";"" +"NegSem_0601020602_StringMixing_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"Clause 6.1.2.6.2";"Using length restriction with other constraints" +"NegSem_0601020602_StringMixing_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"";"" +"NegSem_0601020602_StringMixing_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"";"" +"NegSem_0601020602_StringMixing_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted bit strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"";"" +"NegSem_0601020602_StringMixing_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted hex strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"";"" +"NegSem_0601020602_StringMixing_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign invalid values to mixed restricted octet strings.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0601020602_D";"";"" +"Sem_0601020602_StringMixing_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"Sem_0601020602_StringMixing_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"Sem_0601020602_StringMixing_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted character strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"Sem_0601020602_StringMixing_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted bit strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"Sem_0601020602_StringMixing_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted hex strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"Sem_0601020602_StringMixing_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.1.2.6.2";"None";"None";"Assign values to mixed restricted octet strings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0601020602_C";"";"" +"NegSem_060201_RecordTypeValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The dot notation used in record type definitions is correctly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060201_D";"Clause 6.2.1";"Record type and values" +"Sem_060201_RecordTypeValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The dot notation used in record type definitions is correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060201_C";"";"" +"Sem_060201_RecordTypeValues_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The dot notation used in record type definitions is correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060201_C";"";"" +"Sem_060201_RecordTypeValues_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The dot notation used in record type definitions is correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060201_C";"";"" +"Sem_060201_RecordTypeValues_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The dot notation used in record type definitions is correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060201_C";"";"" +"Syn_060201_RecordTypeValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"The element identifiers are local to the record and shall be unique within the record (but do not have to be globally unique).";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060201_A";"";"" +"Syn_060201_RecordTypeValues_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.1";"None";"None";"Ensure that the IUT correctly handles empty record definitions.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060201_A";"";"" +"NegSem_060203_records_and_sets_of_single_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.3.2";"None";"None";"ensure that the inner type referencing is correctly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060203_D";"Clause 6.2.3.2";"Referencing elements of record of and set of types" +"NegSem_060203_records_and_sets_of_single_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.3.2";"None";"None";"ensure that the inner type referencing is correctly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060203_D";"";"" +"Sem_060203_records_and_sets_of_single_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.3.2";"None";"None";"ensure that the inner type referencing is correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060203_C";"";"" +"NegSem_060209_CommunicationPortTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that restriction of port definitions are appropriately handles";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060209_D";"Clause 6.2.9";"Communication port types" +"NegSem_060209_CommunicationPortTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that restriction of port definitions are appropriately handles";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060209_D";"";"" +"NegSem_060209_CommunicationPortTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that restriction of port definitions are appropriately handles";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060209_D";"";"" +"Sem_060209_CommunicationPortTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that map param statements are allowed in testcase block";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060209_C";"";"" +"Sem_060209_CommunicationPortTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that unmap param statements are allowed in testcase block";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060209_C";"";"" +"Sem_060209_CommunicationPortTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that map and unmap param and local port address are allowed in a testcase block";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060209_C";"";"" +"Sem_060209_CommunicationPortTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that map and unmap param and local port address are allowed in a testcase block";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060209_C";"";"" +"Syn_060209_CommunicationPortTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that message-based ports are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that message-based ports with address are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that message-based ports are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that a address is allowed inside port definition";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that map param is accepted by the port definition.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that unmap param is accepted by the port definition.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"Syn_060209_CommunicationPortTypes_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.9";"None";"None";"Ensure that complex port definition are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"060209_A";"";"" +"NegSem_060212_AddressingEntitiesInsideSut_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.12";"None";"None";"Ensure right type checking for address types in ports";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060212_D";"Clause 6.2.12";"Addressing entities inside the SUT" +"Sem_060212_AddressingEntitiesInsideSut_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.12";"None";"None";"Ensure null assignment is accepted for addresses";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060212_C";"";"" +"Sem_060212_AddressingEntitiesInsideSut_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.12";"None";"None";"Ensure that the right port address is used";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060212_C";"";"" +"NegSem_06021301_LengthSubtyping_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021301_D";"Clause 6.2.13.1";"null" +"NegSem_06021301_LengthSubtyping_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021301_D";"";"" +"NegSem_06021301_LengthSubtyping_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021301_D";"";"" +"NegSem_06021301_LengthSubtyping_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021301_D";"";"" +"Syn_06021301_LengthSubtyping_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"06021301_A";"";"" +"Syn_06021301_LengthSubtyping_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.1";"None";"None";"The length subtyping check for 'record of' or 'set of' types";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"06021301_A";"";"" +"NegSem_06021302_ListSubtyping_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.2";"None";"None";"ensure that list subtyping check for record types is properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021302_D";"Clause 6.2.13.2";"null" +"NegSem_06021302_ListSubtyping_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.2";"None";"None";"ensure that list subtyping check for record types is properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"06021302_D";"";"" +"Sem_06021302_ListSubtyping_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.2";"None";"None";"ensure that list subtyping check for record types is properly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06021302_C";"";"" +"Sem_06021302_ListSubtyping_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.2";"None";"None";"ensure that list subtyping check for record types is properly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06021302_C";"";"" +"Sem_06021302_ListSubtyping_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2.13.2";"None";"None";"ensure that list subtyping check for record types is properly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"06021302_C";"";"" +"NegSem_0602_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Ensure that assignments with "implicit omit" attribute are correctly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_D";"Clause 6.2";"Structured types and values" +"NegSem_0602_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Ensure that assignments with "implicit omit" attribute are correctly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_D";"";"" +"NegSyn_0602_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Invalid recursive union type definition causing an error";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_B";"";"" +"NegSyn_0602_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Invalid recursive record type definition causing an error";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_B";"";"" +"NegSyn_0602_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Combined value list and assignment notation not allowed in the same (immediate) context.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_B";"";"" +"NegSyn_0602_TopLevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"The omit keyword shall not be used for mandatory fields.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_B";"";"" +"NegSyn_0602_TopLevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"The omit keyword shall not be used for mandatory fields.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0602_B";"";"" +"Sem_0602_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Ensure that assignments with "implicit omit" attribute are correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0602_C";"";"" +"Sem_0602_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Ensure that assignments with "implicit omit" attribute are correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0602_C";"";"" +"Sem_0602_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Ensure that assignments with "implicit omit" attribute are correctly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0602_C";"";"" +"Syn_0602_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Valid recursive union type definition";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0602_A";"";"" +"Syn_0602_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Valid recursive record type definition";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0602_A";"";"" +"Syn_0602_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Valid recursive record type definition";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0602_A";"";"" +"Syn_0602_TopLevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"constant definition of a record type.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0602_A";"";"" +"Syn_0602_TopLevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.2";"None";"None";"Fields not mentioned are implicitly left unspecified.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0602_A";"";"" +"NegSem_060301_non_structured_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"Clause 6.3.1";"Type compatibility of non-structured types" +"NegSem_060301_non_structured_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from incompatible type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"NegSem_060301_non_structured_types_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060301_D";"";"" +"Sem_060301_non_structured_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060301_C";"";"" +"Sem_060301_non_structured_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible size restrictions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060301_C";"";"" +"Sem_060301_non_structured_types_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060301_C";"";"" +"Sem_060301_non_structured_types_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.1";"None";"None";"Ensure that the IUT correctly handles assignments from compatible type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060301_C";"";"" +"NegSem_060302_structured_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2.1";"None";"None";"Reject assignment of other enumerated types since they are only compatible to synonym types";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"Clause 6.3.2.1";"Type compatibility of enumerated types" +"NegSem_060302_structured_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"Clause 6.3.2";"Type compatibility of structured types" +"NegSem_060302_structured_types_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from incompatible types or type ranges";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments from structures having incompatible anytypes";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments having mismatch between undefined and omitted elements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments between incompatible structures";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments between incompatible structures";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments between incompatible structures";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments between incompatible structures";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT rejects assignments between incompatible structures";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"NegSem_060302_structured_types_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and lengths";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060302_D";"";"" +"Sem_060302_structured_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"Sem_060302_structured_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and lengths";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"Sem_060302_structured_types_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"Sem_060302_structured_types_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible anytypes";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"Sem_060302_structured_types_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and type ranges";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"Sem_060302_structured_types_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.2";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible types and lengths";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060302_C";"";"" +"NegSem_060303_component_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.3";"None";"None";"Ensure that the IUT correctly handles component incompatibility due to differing list of constant definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060303_D";"Clause 6.3.3";"Type compatibility of component types" +"NegSem_060303_component_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.3";"None";"None";"Ensure that the IUT correctly handles component incompatibility due to differing constant types having same name";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"060303_D";"";"" +"Sem_060303_component_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.3";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060303_C";"";"" +"Sem_060303_component_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 6.3.3";"None";"None";"Ensure that the IUT correctly handles assignments from structures having compatible components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"060303_C";"";"" +"Sem_070101_ArithmeticOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition of two integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"Clause 7.1.1";"Arithmetic operators" +"Sem_070101_ArithmeticOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition of multiple integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition of two integer variables is evaluated correctly when the expression contains a negative value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the substraction of two integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the substraction of multiple integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the multiplication of two integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the multiplication of multiple integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the division of two integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the division of multiple integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the modulo operator on integer variables is evaluated correctly when the remainder is zero.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the modulo operator on integer variables is evaluated correctly when the integer value is smaller than the modulo value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the modulo operator on integer variables is evaluated correctly when the integer value greater than the modulo value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the modulo operator on integer variables is evaluated correctly when two consecutive modulo operators are applied.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the modulo operator on integer variables is evaluated correctly when the operand is a negative integer.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the remainder operator on integer variables is evaluated correctly when the operand is a negative integer.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the application of the remainder operator on integer variables is evaluated correctly when the operand is a negative integer.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the consecutive application of the remainder operator and the modulo operator on integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that operator combinations and the modulo operator on integer variables is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition operator works on float variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_020";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the substraction operator works on float variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_021";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the multiplication operator works on float variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_022";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the division operator works on float variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Sem_070101_ArithmeticOperators_023";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the combination of different operators works on float variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070101_C";"";"" +"Syn_070101_ArithmeticOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition of two integers in a constant is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the substraction of two integers in a constant is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the multiplication of two integers in a constant is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the division of two integers in a constant is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the modulo operator on two integers is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the remainder operator on two integers is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that operator combinations on integers is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the addition operator on float constants is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the substraction operator on float constants is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the multiplication operator on float constants is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that the division operator on float constants is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Syn_070101_ArithmeticOperators_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.1";"None";"None";"Ensure that a combination of operators on float constants is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"070101_A";"";"" +"Sem_070102_ListOperator_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on bitstrings is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"Clause 7.1.2";"List operator" +"Sem_070102_ListOperator_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on charstrings is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"";"" +"Sem_070102_ListOperator_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on record of is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"";"" +"Sem_070102_ListOperator_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on set of is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"";"" +"Sem_070102_ListOperator_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on arrays is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"";"" +"Sem_070102_ListOperator_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.2";"None";"None";"Ensure that the list operator on record of is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070102_C";"";"" +"NegSem_070103_RelationalOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"070103_D";"Clause 7.1.3";"Relational operators" +"Sem_070103_RelationalOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on integers is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on floats is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on enumerations is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than operator on integers is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than operator on floats is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than operator on enumerations is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on integers is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on integers is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on floats is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on floats is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on enumerations is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on enumerations is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than operator on integers is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than operator on floats is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than operator on enumerations is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than or equal to operator on integers is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than or equal to operator on integers is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than or equal to operator on floats is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than or equal to operator on floats is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_020";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the less than or equal to operator on enumerations is evaluated correctly with differing values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_021";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the greater than or equal to operator on enumerations is evaluated correctly with equal values.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_022";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the not equals operator on integers is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_023";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the not equals operator on floats is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_024";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the not equals operator on enumerations is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_025";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_026";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_027";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_028";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_029";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_030";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_031";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_032";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_033";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070103_RelationalOperators_034";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.3";"None";"None";"Ensure that the equals operator on records is evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070103_C";"";"" +"Sem_070104_LogicalOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.4";"None";"None";"Ensure that the boolean operator supports negation.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070104_C";"Clause 7.1.4";"Logical operators" +"Sem_070104_LogicalOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.4";"None";"None";"Ensure that the the and operator with true and false as operands work on boolean variables.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070104_C";"";"" +"Sem_070105_BitwiseOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.5";"None";"None";"Ensure that the bitwise negation operator works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070105_C";"Clause 7.1.5";"Bitwise operators" +"Sem_070105_BitwiseOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.5";"None";"None";"Ensure that the bitwise negation operator works as expected on hexstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070105_C";"";"" +"Sem_070106_ShiftOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.6";"None";"None";"Ensure that the shift left operator works as expected on bitstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070106_C";"Clause 7.1.6";"Shift operators" +"Sem_070106_ShiftOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.6";"None";"None";"Ensure that the shift left operator works as expected on hexstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070106_C";"";"" +"Sem_070106_ShiftOperators_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.6";"None";"None";"Ensure that the shift right operator works as expected on bitstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070106_C";"";"" +"Sem_070106_ShiftOperators_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.6";"None";"None";"Ensure that the shift right operator works as expected on hexstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070106_C";"";"" +"Sem_070107_RotateOperators_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.7";"None";"None";"Ensure that the rotate left operator works as expected on bitstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070107_C";"Clause 7.1.7";"Rotate operators" +"Sem_070107_RotateOperators_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.7";"None";"None";"Ensure that the rotate left operator works as expected on hexstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070107_C";"";"" +"Sem_070107_RotateOperators_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.7";"None";"None";"Ensure that the rotate right operator works as expected on bitstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070107_C";"";"" +"Sem_070107_RotateOperators_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.1.7";"None";"None";"Ensure that the rotate right operator works as expected on hexstrings.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"070107_C";"";"" +"Sem_0702_FieldReferencesAndListElements_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.2";"None";"None";"Ensure that the IUT correctly handles field referencing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0702_C";"Clause 7.2";"Field references and list elements" +"Sem_0702_FieldReferencesAndListElements_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 7.2";"None";"None";"Ensure that the IUT correctly handles field referencing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0702_C";"";"" +"NegSyn_0801_DefinitionOfAModule_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with multiple language specifications is rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0801_B";"Clause 8.1";"Definition of a module" +"Syn_0801_DefinitionOfAModule_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a "plain" module definition is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Syn_0801_DefinitionOfAModule_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with language specification is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Syn_0801_DefinitionOfAModule_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with language and package is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Syn_0801_DefinitionOfAModule_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with package and without language is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Syn_0801_DefinitionOfAModule_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with ed4.3.1 language and package is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Syn_0801_DefinitionOfAModule_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.1";"None";"None";"Ensure that a module definition with ed4.4.1 language and package is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0801_A";"";"" +"Sem_080201_ModuleParameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.1";"None";"None";"Ensure that a reference to plain module parameter with a default value delivers the default value unless it is overwritten.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080201_C";"Clause 8.2.1";"Module parameters" +"Syn_080201_ModuleParameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.1";"None";"None";"Ensure that plain module parameters are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080201_A";"";"" +"Syn_080201_ModuleParameters_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.1";"None";"None";"Ensure that plain module parameters with default values are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080201_A";"";"" +"Syn_080201_ModuleParameters_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.1";"None";"None";"Ensure that plain module parameters with default values and visibility modifiers are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080201_A";"";"" +"Syn_080202_GroupOfDefinitions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.2";"None";"None";"Ensure that a definition within a group is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080202_A";"Clause 8.2.2";"Groups of definitions" +"Syn_080202_GroupOfDefinitions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.2";"None";"None";"Ensure that a definition within a nested group is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080202_A";"";"" +"Syn_080202_GroupOfDefinitions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.2";"None";"None";"Ensure that a definition within a group with public visibility modifier is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080202_A";"";"" +"Syn_080202_GroupOfDefinitions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.2";"None";"None";"Ensure that a definition within a group with public visibility modifier and attributes is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"080202_A";"";"" +"NegSem_08020301_GeneralFormatOfImport_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.1";"None";"None";"Ensure that name handling of imported enumerations is properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020301_D";"Clause 8.2.3.1";"General format of import" +"NegSem_08020301_GeneralFormatOfImport_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.1";"None";"None";"Ensure that name handling of imported enumerations is properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020301_D";"";"" +"NegSem_08020301_GeneralFormatOfImport_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that transitive import rules are properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020301_D";"Clause 8.2.3.4";"Importing definitions of the same kind" +"NegSem_08020301_GeneralFormatOfImport_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that transitive import rules are properly handled";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020301_D";"";"" +"Sem_08020301_GeneralFormatOfImport_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that transitive imports are properly handled";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020301_C";"";"" +"Sem_08020301_GeneralFormatOfImport_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that enumerated type definitions are automatically imported when needed";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020301_C";"";"" +"Syn_08020301_GeneralFormatOfImport_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.1";"None";"None";"Ensure that import all is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"08020301_A";"Clause 8.2.3.1";"General format of import" +"Syn_08020301_GeneralFormatOfImport_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.1";"None";"None";"Ensure that import of specific types is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"08020301_A";"";"" +"Sem_08020302_ImportingSingleDefinitions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.2";"None";"None";"Ensure that the value of an explicitly imported constant can be read and carries the same value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020302_C";"Clause 8.2.3.2";"Importing single definitions" +"Sem_08020302_ImportingSingleDefinitions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.2";"None";"None";"Ensure that the value of an explicitly imported template can be read and carries the same value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020302_C";"";"" +"NegSem_08020303_ImportingGroups_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.3";"None";"None";"Ensure that constants listed as exceptions in imported groups are not accessible.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020303_D";"Clause 8.2.3.3";"Importing groups" +"Sem_08020303_ImportingGroups_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.3";"None";"None";"Ensure that a const defined in a group can be accessed if the group is imported.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020303_C";"";"" +"Sem_08020303_ImportingGroups_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.3";"None";"None";"Ensure that the IUT properly handles 'except' clause in group import definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020303_C";"";"" +"Sem_08020303_ImportingGroups_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.3";"None";"None";"but that it is in fact a shortcut notation for explicit imports.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020303_C";"";"" +"Sem_08020304_ImportingDefinitionsOfTheSameKind_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that an import of all constants allows access to a sample constant.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020304_C";"Clause 8.2.3.4";"Importing definitions of the same kind" +"Sem_08020304_ImportingDefinitionsOfTheSameKind_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that a previously valid const import is not removed by an import covering the same definition with an except.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020304_C";"";"" +"Sem_08020304_ImportingDefinitionsOfTheSameKind_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.4";"None";"None";"Ensure that a previously valid const import is not removed by a second import statement excluding the same definition.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020304_C";"";"" +"NegSem_08020305_ImportingAllDefinitionsOfAModule_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.5";"None";"None";"Ensure that the constant is not visible after import with except.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020305_D";"Clause 8.2.3.5";"Importing all definitions of a module" +"Sem_08020305_ImportingAllDefinitionsOfAModule_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.5";"None";"None";"Ensure that the constant is be visible after multiple imports.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020305_C";"";"" +"Sem_08020305_ImportingAllDefinitionsOfAModule_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.5";"None";"None";"Ensure that the constant is be visible after multiple imports.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020305_C";"";"" +"Sem_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.6";"None";"None";"Ensure that it is possible to import from previous language versions.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"08020306_C";"Clause 8.2.3.6";"Import definitions from other TTCN-3 editions and from non-TTCN-3 modules" +"Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.6";"None";"None";"Ensure that imports work with language references when importing definitions of the same kinds (in this case constants) is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"08020306_A";"";"" +"Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.6";"None";"None";"Ensure that imports work with language references when importing all definitions of another module is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"08020306_A";"";"" +"NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.7";"None";"None";"Ensure that the import of import statements works for import all.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020307_D";"Clause 8.2.3.7";"Importing of import statements from TTCN-3 modules" +"NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.7";"None";"None";"Ensure that the import of import statements works for import all.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020307_D";"";"" +"Sem_08020307_ImportingOfImportStatementsFromT3Modules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.7";"None";"None";"Ensure that the import of import statements works for import all.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"08020307_C";"";"" +"NegSem_08020308_ImportingOfImportStatementsFromT3Modules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.3.8";"None";"None";"Ensure that imports referring to future TTCN-3 versions are rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"08020308_D";"Clause 8.2.3.8";"Compatibility of language specifications of imports" +"NegSem_080204_DefinitionOfFriendModules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.4";"None";"None";"Ensure that friend visibility works for a sample constant.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080204_D";"Clause 8.2.4";"Definition of friend modules" +"NegSem_080204_DefinitionOfFriendModules_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.4";"None";"None";"Ensure that private definitions are not made visible by friend declarations (for a constant sample definition).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080204_D";"";"" +"Sem_080204_DefinitionOfFriendModules_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.4";"None";"None";"Ensure that friend visibility works for a sample constant.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080204_C";"";"" +"NegSem_080205_VisibilityOfDefinitions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that private definition (in this case a sample constant) is not visible using a normal import.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080205_D";"Clause 8.2.5";"Visibility of definitions" +"NegSem_080205_VisibilityOfDefinitions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that private definition (in this case a sample constant) is not visible using an import of a friend module.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080205_D";"";"" +"NegSem_080205_VisibilityOfDefinitions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that friend definition (in this case a sample constant) is not visible using a group import of a non-friend module.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080205_D";"";"" +"NegSem_080205_VisibilityOfDefinitions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that private definition (in this case a sample constant) is not visible using a group import of a non-friend module.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080205_D";"";"" +"NegSem_080205_VisibilityOfDefinitions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that private definition (in this case a sample constant) is not visible using a group import of a friend module.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"080205_D";"";"" +"Sem_080205_VisibilityOfDefinitions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080205_C";"";"" +"Sem_080205_VisibilityOfDefinitions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported by a friend module.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080205_C";"";"" +"Sem_080205_VisibilityOfDefinitions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported through a group.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080205_C";"";"" +"Sem_080205_VisibilityOfDefinitions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that explicitly defined public definitions (in this case a sample constant) are visible when imported through a group of a friend module.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080205_C";"";"" +"Sem_080205_VisibilityOfDefinitions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2.5";"None";"None";"Ensure that friend definitions (in this case a sample constant) are visible when imported through a group of a friend module.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"080205_C";"";"" +"Syn_0802_ModuleDefinitionsPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2";"None";"None";"Ensure that a TypeDef module definition with public visibility is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0802_A";"Clause 8.2";"Module definitions part" +"Syn_0802_ModuleDefinitionsPart_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.2";"None";"None";"Ensure that a TypeDef module definition with private visibility is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0802_A";"";"" +"NegSyn_0803_ModuleControlPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.3";"None";"None";"Ensure that there is not more than one control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0803_B";"Clause 8.3";"Module control part" +"Sem_0803_ModuleControlPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.3";"None";"None";"Ensure that the verdict returned from a test case to the control-part does not influence the execution of a second test case. The result of the last test case execution corresponds to the overall test verdict.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0803_C";"";"" +"Syn_0803_ModuleControlPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.3";"None";"None";"Ensure that the module control is able to accept execute statements.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0803_A";"";"" +"Syn_0803_ModuleControlPart_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.3";"None";"None";"Ensure that the module control part with a few commonly used stateents is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0803_A";"";"" +"Syn_0803_ModuleControlPart_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 8.3";"None";"None";"Ensure that an empty control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0803_A";"";"" +"NegSem_0901_Communication_ports_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9.1";"None";"None";"Ensure that the compiler handles the two port assoc. with error";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0901_D";"Clause 9.1";"Communication ports" +"NegSem_0901_Communication_ports_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT correctly handles loopback port connection to another port";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0901_D";"Clause 9";"Port types, component types and test configurations" +"NegSem_0901_Communication_ports_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT correctly handles port connections";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0901_D";"";"" +"Sem_0901_Communication_ports_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT correctly handles loopback message";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0901_C";"";"" +"Sem_0901_Communication_ports_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the the IUT receives the message sent by mycompA";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0901_C";"";"" +"Sem_0901_Communication_ports_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the the IUT receives the message sent by mycompB and mycompC";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0901_C";"";"" +"Sem_0901_Communication_ports_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT correctly handles message exch. between ports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0901_C";"";"" +"Sem_0901_Communication_ports_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the the IUT receives the message sent by mycompA";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0901_C";"";"" +"NegSem_0902_Communication_ports_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT correctly handles the assoc. of two port to the same system interface";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0902_D";"";"" +"NegSem_0902_Communication_ports_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the mycomp is connected to two system interface port.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0902_D";"";"" +"NegSem_0902_Communication_ports_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the two system interf. port cannot connect";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0902_D";"";"" +"NegSem_0902_Communication_ports_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the a connected port cannot be mapped";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"0902_D";"";"" +"Sem_0902_Communication_ports_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUT port correctly mapped with a system interface";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0902_C";"";"" +"Sem_0902_Communication_ports_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that the IUTs two ports are mapped correctly to system interfaces";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"0902_C";"";"" +"Syn_0902_Communication_ports_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that two component can be mapped by one system interface";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"0902_A";"";"" +"NegSem_10_Constants_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Assign rnd to constant used in type, not allowed since constant expressions used in types have to be known at compile-time.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"10_D";"Clause 10";"Declaring constants" +"Sem_10_Constants_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Assign and read constants";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"10_C";"";"" +"Sem_10_Constants_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Assign and read constants values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"10_C";"";"" +"Syn_10_Constants_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Create constants";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"10_A";"";"" +"Syn_10_Constants_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Assign default constants values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"10_A";"";"" +"Syn_10_Constants_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Assign component constants values";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"10_A";"";"" +"Syn_10_Constants_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 10";"None";"None";"Define constants in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"10_A";"";"" +"NegSem_1101_ValueVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Variables should be assigned only by values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1101_D";"Clause 11.1";"Value variables" +"NegSem_1101_ValueVars_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Ensure that partially initialized variables are evaluated correctly.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1101_D";"";"" +"NegSyn_1101_ValueVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Define variables in module scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1101_B";"";"" +"Sem_1101_ValueVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Define variables in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1101_C";"";"" +"Sem_1101_ValueVars_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Define variables in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1101_C";"";"" +"Sem_1101_ValueVars_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Read and write variables";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1101_C";"";"" +"Sem_1101_ValueVars_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Ensure that partially initialized variables are evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1101_C";"";"" +"Sem_1101_ValueVars_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Ensure that partially initialized variables are evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1101_C";"";"" +"Syn_1101_ValueVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.1";"None";"None";"Define variables in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1101_A";"";"" +"NegSem_1102_TemplateVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Template variables should be assigned with unitialized variables";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1102_D";"Clause 11.2";"Template variables" +"NegSem_1102_TemplateVars_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Ensure that partially initialized templates are evaluated correctly.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1102_D";"";"" +"NegSyn_1102_TemplateVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Define template variables in module scope";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1102_B";"";"" +"Sem_1102_TemplateVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Define variables in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1102_C";"";"" +"Sem_1102_TemplateVars_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Ensure that partially initialized templates are evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1102_C";"";"" +"Sem_1102_TemplateVars_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Ensure that partially initialized templates are evaluated correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1102_C";"";"" +"Syn_1102_TemplateVars_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 11.2";"None";"None";"Define template variables in different scopes";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1102_A";"";"" +"NegSem_12_toplevel_timer_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can not be initialized with negative duration";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"Clause 12";"Declaring timers" +"NegSem_12_toplevel_timer_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer in array can not be initialized with negative duration";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure uninitialized timer can't be started";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure uninitialized timer in array can't be started";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure uninitialized timer in array can't be started";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax - reject single timer instance initialized with array";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax -- reject array initialization with wrong number of initializers";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSem_12_toplevel_timer_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax -- reject array of timers initizlized with a single float value";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_D";"";"" +"NegSyn_12_toplevel_timer_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can`t be used in module control parts when declared in components";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"";"" +"NegSyn_12_toplevel_timer_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"";"" +"NegSyn_12_toplevel_timer_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"";"" +"NegSyn_12_toplevel_timer_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 04";"None";"None";"Ensure timer declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"Clause 04";"null" +"NegSyn_12_toplevel_timer_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"Clause 12";"Declaring timers" +"NegSyn_12_toplevel_timer_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer array declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"";"" +"NegSyn_12_toplevel_timer_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer array declaration syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"12_B";"";"" +"Sem_12_toplevel_timer_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in module control parts";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in altsteps";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in functions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in test cases";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer`s elapsed time is plausible";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in components but used in test cases";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in components but used in functions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Sem_12_toplevel_timer_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer can be declared in components but used in altsteps";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"12_C";"";"" +"Syn_12_toplevel_timer_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure non-initialized timer declaration syntax";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Syn_12_toplevel_timer_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer array declaration syntax";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Syn_12_toplevel_timer_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure definition of a list of timers is allowed as a single declaration";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Syn_12_toplevel_timer_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer array initialization syntax";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Syn_12_toplevel_timer_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration with expression";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Syn_12_toplevel_timer_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure timer declaration with expression";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"12_A";"";"" +"Sem_13_declaring_msg_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 12";"None";"None";"Ensure received messages can be a combination of value and matching mechanism";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure received messages can`t be matched with wrong template";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"Clause 24";"Test verdict operations" +"Sem_13_declaring_msg_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared by in-line templates";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared by global templates";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared and passed via template variables";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared and passed via inline template";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared and passed via parameter";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared and passed via template parameter";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_declaring_msg_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure instances of messages can be declared and passed via template parameter";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'record' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"Clause 13";"Declaring messages" +"Sem_13_toplevel_declaring_msg_various_types_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'record of' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'enum' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'set' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'union' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'bitstring' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'boolean' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'charstring' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'float' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'hexstring' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'integer' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'octetstring' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'universal charstring' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"Sem_13_toplevel_declaring_msg_various_types_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 13";"None";"None";"Port with type anytype can send and receive messages of any basic or structured type: 'verdicttype' type.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"13_C";"";"" +"NegSem_1400_procedure_signatures_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that nonblocking signature contains in parameter";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1400_D";"Clause 22.3.1";"The call operation" +"NegSem_1400_procedure_signatures_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 14";"None";"None";"Ensure that blocking calls needs response or exception handling";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1400_D";"Clause 14";"Declaring procedure signatures" +"Sem_1400_procedure_signatures_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 14";"None";"None";"Ensure that the IUT calls signature exception";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1400_C";"";"" +"Sem_1400_procedure_signatures_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 14";"None";"None";"Ensure that with noblock signature the IUT can raise exception";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1400_C";"";"" +"Sem_1400_procedure_signatures_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 14";"None";"None";"Ensure that non blocking signatures can raise exception";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1400_C";"";"" +"Sem_1400_procedure_signatures_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 14";"None";"None";"Ensure that multiple calls can be send without ack using non-blocking signature";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1400_C";"";"" +"Syn_1501_DeclaringMessageTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that a simple record-based message template can be defined.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"Clause 15.1";"Declaring message templates" +"Syn_1501_DeclaringMessageTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that a simple record-based message template with a wildcard ? is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"";"" +"Syn_1501_DeclaringMessageTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that a simple record-based message template can be defined with a pattern in a charstring field.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"";"" +"Syn_1501_DeclaringMessageTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that a primitive type template can be defined with a ? wildcard.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"";"" +"Syn_1501_DeclaringMessageTemplates_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that a primitive type template can be defined with a one-of notation.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"";"" +"Syn_1501_DeclaringMessageTemplates_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.1";"None";"None";"Ensure that all port operations are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1501_A";"";"" +"Sem_1502_DeclaringSignatureTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Test in-line templates for accepting procedure replies.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1502_C";"Clause 15.2";"Declaring signature templates" +"Sem_1502_DeclaringSignatureTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Test in-line templates for accepting procedure replies.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1502_C";"";"" +"Sem_1502_DeclaringSignatureTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Test in-line templates for accepting procedure replies.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1502_C";"";"" +"Syn_1502_DeclaringSignatureTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Ensure that signature templates with explicit values are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1502_A";"";"" +"Syn_1502_DeclaringSignatureTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Ensure that signature templates with wildcards are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1502_A";"";"" +"Syn_1502_DeclaringSignatureTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Ensure that the basic operations call and getreply are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1502_A";"";"" +"Syn_1502_DeclaringSignatureTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.2";"None";"None";"Ensure that the raise and catch operations are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1502_A";"";"" +"Sem_1503_GlobalAndLocalTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a template values can be accessed with the dot notation as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"Clause 15.3";"Global and local templates" +"Sem_1503_GlobalAndLocalTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a template actual parameter is passed through correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"";"" +"Sem_1503_GlobalAndLocalTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a send operation with actual parameters of a global parameterized template is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"";"" +"Sem_1503_GlobalAndLocalTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a parameterized local template in a test case is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"";"" +"Sem_1503_GlobalAndLocalTemplates_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a send operation with actual parameters of a global parameterized template is accepted with the actual parameter being a template parameter.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"";"" +"Sem_1503_GlobalAndLocalTemplates_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a send operation with actual parameters of a global parameterized template is accepted with the actual parameter being an inline template.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1503_C";"";"" +"Syn_1503_GlobalAndLocalTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a global parameterized template is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1503_A";"";"" +"Syn_1503_GlobalAndLocalTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a parameterized local template in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1503_A";"";"" +"Syn_1503_GlobalAndLocalTemplates_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a parameterized local template in a function is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1503_A";"";"" +"Syn_1503_GlobalAndLocalTemplates_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.3";"None";"None";"Ensure that a parameterized local template in an altstep is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1503_A";"";"" +"Syn_1504_InlineTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.4";"None";"None";"Ensure that inline templates are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1504_A";"Clause 15.4";"In-line templates" +"Syn_1504_InlineTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.4";"None";"None";"Ensure that modified parameterized inline templates are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1504_A";"";"" +"Syn_1504_InlineTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.4";"None";"None";"Ensure that modified plain inline templates are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1504_A";"";"" +"NegSem_1505_ModifiedTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that a modified template does not refer to itself.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"Clause 15.5";"Modified templates" +"NegSem_1505_ModifiedTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that a modified template does not omit possible parameters of the base template.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"NegSem_1505_ModifiedTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that a modified template does not omit possible parameters introduced in any modification step.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"NegSem_1505_ModifiedTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that parameter names in modified templates are the same.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"NegSem_1505_ModifiedTemplates_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that the dash in default parameter values of a modified templates is only accepted when the base template actually has a default value.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"NegSem_1505_ModifiedTemplates_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that the same parameter name is used when modifying the base template.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"NegSem_1505_ModifiedTemplates_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that the same parameter type is used when modifying the base template.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1505_D";"";"" +"Sem_1505_ModifiedTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that the values of plain modified template definitions are as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1505_C";"";"" +"Sem_1505_ModifiedTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that a modified template of a record of type using index notation access works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1505_C";"";"" +"Sem_1505_ModifiedTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that default values in formal parameters of modified templates are working as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1505_C";"";"" +"Sem_1505_ModifiedTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that default values in formal parameters of modified templates are working as expected when the modified template uses the dash for the default value.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1505_C";"";"" +"Syn_1505_ModifiedTemplates_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that plain modified template definitions are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1505_A";"";"" +"Syn_1505_ModifiedTemplates_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that a modified template does not omit possible parameters introduced in any modification step.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1505_A";"";"" +"Syn_1505_ModifiedTemplates_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that the default values in formal parameters of modified templates are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1505_A";"";"" +"Syn_1505_ModifiedTemplates_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.5";"None";"None";"Ensure that dash as default parameter values are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1505_A";"";"" +"NegSem_150601_ReferencingIndividualStringElements_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.1";"None";"None";"Ensure that the referencing of individual string elements inside templates or template fields is forbidden.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150601_D";"Clause 15.6.1";"Referencing individual string elements" +"NegSem_150602_ReferencingRecordAndSetFields_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that fields with omit values on the right-hand side of an assignment are rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150602_D";"Clause 15.6.2";"Referencing record and set fields" +"NegSem_150602_ReferencingRecordAndSetFields_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that fields with * values on the right-hand side of an assignment are rejected";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150602_D";"";"" +"NegSem_150602_ReferencingRecordAndSetFields_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that value lists on the right-hand side of an assignment are not acceped.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150602_D";"";"" +"NegSem_150602_ReferencingRecordAndSetFields_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that complement lists on the right-hand side of an assignment are not acceped.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150602_D";"";"" +"NegSem_150602_ReferencingRecordAndSetFields_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that referencing a template field with the ifpresent attribute causes a rejection.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150602_D";"";"" +"Sem_150602_ReferencingRecordAndSetFields_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"? shall be returned for mandatory subfields and * shall be returned for optional subfields.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150602_C";"";"" +"Sem_150602_ReferencingRecordAndSetFields_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"Ensure that the recurisve anyvalue expansion is performed correctly when new values are assigned.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150602_C";"";"" +"Sem_150602_ReferencingRecordAndSetFields_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"? shall be returned for mandatory subfields and * shall be returned for optional subfields.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150602_C";"";"" +"Sem_150602_ReferencingRecordAndSetFields_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.2";"None";"None";"? shall be returned for mandatory subfields and * shall be returned for optional subfields.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150602_C";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that referencing an element within a value list causes an error in the context of record of.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"Clause 15.6.3";"Referencing record of and set of elements" +"NegSem_150603_ReferencingRecordOfAndSetElements_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that access to unitialized fields in the context of record of is rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that anyvalueornone fields in the context of record of is rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that complement value lists in the context of record of are rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that subset in the context of record of are rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that superset in the context of record of are rejected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that access into permutation in record of templates is forbidden.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that access to record of indexes is forbidden when a previous index entry is a permutation with a *.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"NegSem_150603_ReferencingRecordOfAndSetElements_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that access to ifpresent fields is not allowed.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150603_D";"";"" +"Sem_150603_ReferencingRecordOfAndSetElements_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that assignment of an anyvalue on the right hand side yields an anyvalue in the context of record of.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150603_C";"";"" +"Sem_150603_ReferencingRecordOfAndSetElements_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that assignment to a anyvalue in the context of record of is handled correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150603_C";"";"" +"Sem_150603_ReferencingRecordOfAndSetElements_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that assignment to a anyvalue in the context of record of is handled correctly in two subsequent assignments.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150603_C";"";"" +"Sem_150603_ReferencingRecordOfAndSetElements_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that assignment to a anyvalue in the context of record of is handled correctly when the first element is changed.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150603_C";"";"" +"Sem_150603_ReferencingRecordOfAndSetElements_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.3";"None";"None";"Ensure that access outside permutation fields is allowed and works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150603_C";"";"" +"NegSem_150604_ReferencingSignatureParameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.4";"None";"None";"Test modification of signature parameters.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"150604_D";"Clause 15.6.4";"null" +"Sem_150604_ReferencingSignatureParameters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.6.4";"None";"None";"Test modification of signature parameters.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"150604_C";"";"" +"NegSem_1508_TemplateRestrictions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with anyvalue(?).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"Clause 15.8";"Template restrictions" +"NegSem_1508_TemplateRestrictions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with setof template.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with anyvalueornone(*).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with value ranges.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with supersets.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with subsets.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with patterns.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with anyelement inside values.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with anyelemenornone inside values.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with permutation inside values.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with length restrictions.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with length restrictions.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is rejected with length restrictions.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with anyvalue(?).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with valuelist.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with anyvalueornone(*).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with value ranges.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with supersets.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with supersets.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_020";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with patterns.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_021";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with anyelement inside values.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_022";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with permutation inside values.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_023";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with length restrictions.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_024";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is rejected with length restrictions.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_025";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(present) refuses omitvalue as a whole.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"NegSem_1508_TemplateRestrictions_026";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) refuses omit as a whole.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1508_D";"";"" +"Sem_1508_TemplateRestrictions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a value can be assigned to a template(omit) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(omit) can be assigned to a template(omit) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a templat(value) can be assigned to a template(omit) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a value can be assigned to a template(value) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(value) can be assigned to a template(value) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a value can be assigned to a template(present) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(omit) can be assigned to a template(present) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(value) can be assigned to a template(present) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(present) can be assigned to a template(present) variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a value can be assigned to a template variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(omit) can be assigned to a template variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(value) can be assigned to a template variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template(present) can be assigned to a template variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a template can be assigned to a template variable.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Sem_1508_TemplateRestrictions_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that a base template can be modified without restrictions.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1508_C";"";"" +"Syn_1508_TemplateRestrictions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is accepted with value omitvalue.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1508_A";"";"" +"Syn_1508_TemplateRestrictions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(omit) is accepted with a concrete value.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1508_A";"";"" +"Syn_1508_TemplateRestrictions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(value) is accepted with a concrete value.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1508_A";"";"" +"Syn_1508_TemplateRestrictions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.8";"None";"None";"Ensure that template(present) is accepted with a concrete value.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1508_A";"";"" +"NegSem_1509_MatchOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation refuses two templates as actual parameters.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1509_D";"Clause 15.9";"Match operation" +"Sem_1509_MatchOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation works as expected on a template with range restriction when the tested value is inside the range.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1509_C";"";"" +"Sem_1509_MatchOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation works as expected on a template with range restriction when the tested value is outside the range.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1509_C";"";"" +"Sem_1509_MatchOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation works correctly on records in the positive case.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1509_C";"";"" +"Sem_1509_MatchOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation works correctly on records in the negative case.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1509_C";"";"" +"Sem_1509_MatchOperation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.9";"None";"None";"Ensure that the match operation works correctly if the types are incompatible.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1509_C";"";"" +"NegSem_1510_ValueOfOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.10";"None";"None";"Ensure that the valueof function works correctly on omit.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1510_D";"Clause 15.10";"Valueof operation" +"NegSem_1510_ValueOfOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.10";"None";"None";"Ensure that the valueof function works correctly on templates with wildcards.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1510_D";"";"" +"NegSem_1510_ValueOfOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.10";"None";"None";"Ensure that the valueof function works correctly on regular value templates.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1510_D";"";"" +"NegSem_1510_ValueOfOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.10";"None";"None";"Ensure that the valueof function works correctly on range templates.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1510_D";"";"" +"Sem_1510_ValueOfOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.10";"None";"None";"Ensure that the valueof operation works as expected for fully initialized templates.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1510_C";"";"" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types yields an even number of digits.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"Clause 15.11";"Concatenating templates of string and list types" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of strings types yields an error if specified ranges are not fixed length.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"";"" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that a simple concatenation of non-wildcard octetstring must not yield in a non-even number of hexadecimals.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"";"" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that the inline template definitions are correctly concatenated.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"";"" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that the inline template definitions are correctly concatenated.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"";"" +"NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types and ? patterns works as expected.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1511_D";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of charstring types works as expected (variant 1).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types works as expected (variant 2).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of bitstring types works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types works as expected (variant 1).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types works as expected (variant 2).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that a concatenation of charstrings with a fixed length AnyValueOrNone be matched.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenations of record of charstrings work when parameterized.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenations of set of integers are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that the inline template definitions are correctly concatenated.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types works as expected (matching patterns in quotation).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types and ? patterns works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15.11";"None";"None";"Ensure that concatenation of octetstring types and ? patterns works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1511_C";"";"" +"NegSem_15_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15";"None";"None";"Ensure that a template formed from a union is rejected when the union somehow contains a default type field.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"15_D";"Clause 15";"Declaring templates" +"Syn_15_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 15";"None";"None";"Ensure that a simple template with a single charstring field is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"15_A";"";"" +"Sem_160101_invoking_functions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.1";"None";"None";"Ensure that the IUT correctly handles function invocations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160101_C";"Clause 16.1.1";"Invoking functions" +"NegSem_160102_predefined_functions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"Clause 16.1.2";"Predefined functions" +"NegSem_160102_predefined_functions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_020";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C.33)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_021";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_022";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_023";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_024";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_025";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_026";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_027";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_028";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_029";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_030";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"NegSem_160102_predefined_functions_031";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160102_D";"";"" +"Sem_160102_predefined_functions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"Sem_160102_predefined_functions_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.2";"None";"None";"Ensure that the IUT recognizes predefined functions and correctly evaluates them (as specified by Annex C)";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160102_C";"";"" +"NegSem_160103_external_functions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.3";"None";"None";"Ensure that the IUT recognizes external functions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160103_D";"Clause 16.1.3";"External functions" +"NegSem_160103_external_functions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.3";"None";"None";"Port parameters cannot be passed to external functions as inout parameters";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160103_D";"";"" +"NegSem_160103_external_functions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.3";"None";"None";"Timer parameters cannot be passed to external functions as inout parameters";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160103_D";"";"" +"Sem_160103_external_functions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.3";"None";"None";"Ensure that the IUT recognizes external functions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160103_C";"";"" +"Sem_160103_external_functions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.3";"None";"None";"Ensure that the IUT recognizes external functions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160103_C";"";"" +"NegSem_160104_invoking_functions_from_specific_places_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.4";"None";"None";"Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160104_D";"Clause 16.1.4";"Invoking function from specific places" +"NegSem_160104_invoking_functions_from_specific_places_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.4";"None";"None";"Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160104_D";"";"" +"NegSem_160104_invoking_functions_from_specific_places_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.4";"None";"None";"Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160104_D";"";"" +"NegSem_160104_invoking_functions_from_specific_places_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1.4";"None";"None";"Ensure that the IUT recognizes restrictions described in section 16.1.4. STF409 assumes that the list given in section 16.1.4 describes mandatory restrictions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160104_D";"";"" +"NegSem_1601_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"Clause 16.1";"Functions" +"NegSem_1601_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"";"" +"NegSem_1601_toplevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"";"" +"NegSem_1601_toplevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"";"" +"NegSem_1601_toplevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"";"" +"NegSem_1601_toplevel_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1601_D";"";"" +"Sem_1601_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1601_C";"";"" +"Sem_1601_toplevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.1";"None";"None";"Ensure that the IUT correctly handles function definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1601_C";"";"" +"NegSem_160201_invoking_altsteps_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2.1";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"160201_D";"Clause 16.2.1";"Invoking altsteps" +"Sem_160201_invoking_altsteps_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2.1";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160201_C";"";"" +"Sem_160201_invoking_altsteps_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2.1";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160201_C";"";"" +"Sem_160201_invoking_altsteps_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2.1";"None";"None";"Ensure that altsteps are correctly handled for dynamically mapped ports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160201_C";"";"" +"Sem_160201_invoking_altsteps_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2.1";"None";"None";"Ensure that altsteps are correctly handled for dynamically mapped ports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"160201_C";"";"" +"NegSem_1602_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"Clause 16.2";"Altsteps" +"NegSem_1602_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"";"" +"NegSem_1602_toplevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"";"" +"NegSem_1602_toplevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"";"" +"NegSem_1602_toplevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"";"" +"NegSem_1602_toplevel_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_D";"";"" +"NegSyn_1602_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1602_B";"";"" +"Sem_1602_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.2";"None";"None";"Ensure that the IUT recognizes altstep definitions and correctly evaluates them";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1602_C";"";"" +"NegSem_1603_testcases_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.3";"None";"None";"Ensure that the IUT properly evaluates invocation of testcases";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1603_D";"Clause 16.3";"Test cases" +"NegSem_1603_testcases_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.3";"None";"None";"Ensure that the IUT properly evaluates invocation of testcases";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1603_D";"";"" +"Syn_1603_testcases_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 16.3";"None";"None";"Ensure that the IUT properly evaluates invocation of testcases with system clause";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1603_A";"";"" +"NegSem_1901_assignments_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.1";"None";"None";"Ensure that the IUT properly evaluates assignment statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1901_D";"Clause 19.1";"Assignments" +"NegSem_1901_assignments_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.1";"None";"None";"Ensure that the IUT properly evaluates assignment statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1901_D";"";"" +"NegSem_1901_assignments_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.1";"None";"None";"Ensure that the IUT properly evaluates assignment statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1901_D";"";"" +"NegSyn_1901_assignments_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.1";"None";"None";"Ensure that the IUT properly evaluates assignment statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1901_B";"";"" +"Sem_1901_assignments_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.1";"None";"None";"Ensure that the IUT properly evaluates assignment statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1901_C";"";"" +"NegSyn_1902_if_else_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.2";"None";"None";"If statement requires curly brackets for the body";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1902_B";"Clause 19.2";"The if-else statement" +"Sem_1902_if_else_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.2";"None";"None";"Ensure that the IUT properly evaluates if-else statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1902_C";"";"" +"Sem_1902_if_else_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.2";"None";"None";"Ensure that the IUT properly evaluates if-else statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1902_C";"";"" +"Sem_1903_select_case_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.3";"None";"None";"Ensure that the IUT properly evaluates select-case statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1903_C";"Clause 19.3";"The select case statement" +"Sem_1903_select_case_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.3";"None";"None";"Ensure that the IUT properly evaluates select-case statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1903_C";"";"" +"Sem_1903_select_case_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.3";"None";"None";"Ensure that the IUT properly evaluates select-case statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1903_C";"";"" +"Sem_1903_select_case_statement_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.3";"None";"None";"Ensure that the IUT properly evaluates select-case statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1903_C";"";"" +"NegSem_1904_for_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.4";"None";"None";"Ensure that the IUT properly evaluates for statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1904_D";"Clause 19.4";"The for statement" +"Sem_1904_for_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.4";"None";"None";"Ensure that the IUT properly evaluates for statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1904_C";"";"" +"Sem_1904_for_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.4";"None";"None";"Ensure that the IUT properly evaluates for statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1904_C";"";"" +"Sem_1904_for_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.4";"None";"None";"Ensure that the IUT properly evaluates for statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1904_C";"";"" +"NegSem_1905_while_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.5";"None";"None";"Ensure that the IUT properly evaluates while statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1905_D";"Clause 19.5";"The while statement" +"Sem_1905_while_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.5";"None";"None";"Ensure that the IUT properly evaluates while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1905_C";"";"" +"Sem_1905_while_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.5";"None";"None";"Ensure that the IUT properly evaluates while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1905_C";"";"" +"Sem_1905_while_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.5";"None";"None";"Ensure that the IUT properly evaluates while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1905_C";"";"" +"NegSem_1906_do_while_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.6";"None";"None";"Ensure that the IUT properly evaluates do-while statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1906_D";"Clause 19.6";"The do-while statement" +"Sem_1906_do_while_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.6";"None";"None";"Ensure that the IUT properly evaluates do-while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1906_C";"";"" +"Sem_1906_do_while_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.6";"None";"None";"Ensure that the IUT properly evaluates do-while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1906_C";"";"" +"Sem_1906_do_while_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.6";"None";"None";"Ensure that the IUT properly evaluates do-while statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1906_C";"";"" +"NegSem_1907_label_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.7";"None";"None";"Ensure that the IUT correctly handles label naming uniqueness.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1907_D";"Clause 19.7";"The label statement" +"NegSyn_1907_label_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.7";"None";"None";"Ensure that the IUT correctly handles label syntax.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1907_B";"";"" +"NegSyn_1907_label_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.7";"None";"None";"Ensure that the IUT correctly handles label syntax.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1907_B";"";"" +"Syn_1907_label_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.7";"None";"None";"Ensure that the IUT correctly handles label syntax.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"1907_A";"";"" +"NegSem_1908_goto_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1908_D";"Clause 19.8";"The goto statement" +"NegSem_1908_goto_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1908_D";"";"" +"NegSem_1908_goto_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1908_D";"";"" +"Sem_1908_goto_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1908_C";"";"" +"Sem_1908_goto_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1908_C";"";"" +"Sem_1908_goto_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.8";"None";"None";"Ensure that the IUT correctly handles goto statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1908_C";"";"" +"Sem_1909_stop_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.9";"None";"None";"Ensure that the IUT correctly handles stop statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1909_C";"Clause 19.9";"The stop execution statement" +"Sem_1909_stop_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.9";"None";"None";"Ensure that the IUT correctly handles stop statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1909_C";"";"" +"NegSem_1910_return_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.10";"None";"None";"Ensure that the IUT correctly handles return statements.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1910_D";"Clause 19.10";"The return statement" +"Sem_1910_return_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.10";"None";"None";"Ensure that the IUT correctly handles return statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1910_C";"";"" +"Sem_1910_return_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.10";"None";"None";"Ensure that the IUT correctly handles return statements.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1910_C";"";"" +"NegSem_1911_log_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"1911_D";"Clause 19.11";"The log statement" +"Sem_1911_log_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1911_C";"";"" +"Sem_1911_log_statement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1911_C";"";"" +"Sem_1911_log_statement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1911_C";"";"" +"Sem_1911_log_statement_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1911_C";"";"" +"Sem_1911_log_statement_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.11";"None";"None";"Ensure that the IUT properly evaluates log statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1911_C";"";"" +"Sem_1913_continue_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 19.13";"None";"None";"Ensure that the IUT properly evaluates continue statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"1913_C";"Clause 19.13";"The continue statement" +"Sem_2002_TheAltStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the alt-statement works as expected (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"Clause 20.2";"The alt statement" +"Sem_2002_TheAltStatement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the alt-statement with a guard works as expected (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the alt-statement processes the alternatives in order (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that activated defaults are processed in the reverse order (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the else branch is executed when nothing else matched (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that an altstep invocation works as expected (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that an altstep invocation works as expected and that the optional statement block is executed after the altstep staatement block (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the done-block in an alt-statement is triggered as expected (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the killed-block in an alt-statement is triggered as expected when the component is killed (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the timeout branch is taken as expected (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that the behavior continues after the alt-statement (loopback case).";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that alt statements are correctly handled for dynamically mapped ports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"Sem_2002_TheAltStatement_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.2";"None";"None";"Ensure that alt statements are correctly handled for dynamically mapped ports";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2002_C";"";"" +"NegSem_2003_the_repeat_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.3";"None";"None";"Ensure that the IUT correctly processes repeat statements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2003_D";"Clause 20.3";"The repeat statement" +"Sem_2003_the_repeat_statement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.3";"None";"None";"Ensure that the IUT correctly processes repeat statements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2003_C";"";"" +"NegSem_2004_InterleaveStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2004_D";"Clause 20.4";"The interleave statement" +"NegSyn_2004_InterleaveStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2004_B";"";"" +"NegSyn_2004_InterleaveStatement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2004_B";"";"" +"Sem_2004_InterleaveStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2004_C";"";"" +"Sem_2004_InterleaveStatement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2004_C";"";"" +"Syn_2004_InterleaveStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20.4";"None";"None";"Validate that interleave statements are properly handled.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"2004_A";"";"" +"Syn_20_TopLevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20";"None";"None";"Ensure that alt-statements are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"20_A";"Clause 20";"Statement and operations for alternative behaviours" +"Syn_20_TopLevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20";"None";"None";"Ensure that repeat in an alt-statement is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"20_A";"";"" +"Syn_20_TopLevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20";"None";"None";"Ensure that the interleave-statement is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"20_A";"";"" +"Syn_20_TopLevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20";"None";"None";"Ensure that defaults and the activate statement is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"20_A";"";"" +"Syn_20_TopLevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 20";"None";"None";"Ensure that defaults and the activate statement is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"20_A";"";"" +"NegSem_210101_connect_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21";"None";"None";"Ensure that the the IUT does not allows two output port connection";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210101_D";"Clause 21";"Configuration operations" +"NegSem_210101_connect_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21";"None";"None";"Ensure that the the IUT does not allows two output port connection";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210101_D";"";"" +"NegSem_210101_map_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.1";"None";"None";"Ensure that IUT cannot map input port with output port";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210101_D";"Clause 21.1";"Connection operations" +"NegSem_210101_map_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.1";"None";"None";"Ensure that IUT cannot map input port with output port";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210101_D";"";"" +"NegSem_210102_disconnect_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that mapped port cannot disconnect";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210102_D";"Clause 9";"Port types, component types and test configurations" +"Sem_210102_disconnect_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that all component can be disconnected";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210102_C";"";"" +"Sem_210102_disconnect_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"Ensure that two components can disconnect";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210102_C";"";"" +"Sem_210102_unmap_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"unmap operation of two port";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210102_C";"";"" +"Sem_210102_unmap_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 9";"None";"None";"unmap of system and MycompA";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210102_C";"";"" +"NegSem_2102_testcase_stop_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.2";"None";"None";"Stopping test case";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2102_D";"Clause 21.2";"Test case operations" +"NegSem_210301_CreateOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named components on hosts are accepted";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210301_D";"Clause 21.3.1";"The create operation" +"NegSem_210301_CreateOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named components on hosts are accepted";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210301_D";"";"" +"NegSem_210301_CreateOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named components on hosts are accepted";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210301_D";"";"" +"Sem_210301_CreateOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that unnamed components can be created";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210301_C";"";"" +"Sem_210301_CreateOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named components can be created";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210301_C";"";"" +"Sem_210301_CreateOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that unnamed alive components on hosts can be created";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210301_C";"";"" +"Sem_210301_CreateOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named alive components can be created";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210301_C";"";"" +"Syn_210301_CreateOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.1";"None";"None";"Ensure that named components on hosts are accepted";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"210301_A";"";"" +"NegSem_210302_Start_test_component_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.2";"None";"None";"Ensure that non-alive ptc cannot start again";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210302_D";"Clause 21.3.2";"The start test component operation" +"NegSem_210302_Start_test_component_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.2";"None";"None";"Ensure that only component type is allowed for ptc declar.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210302_D";"";"" +"Sem_210302_Start_test_component_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.2";"None";"None";"Ensure that alive test components are allowed to start another function";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210302_C";"";"" +"Sem_210303_Stop_test_component_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.3";"None";"None";"Ensure that component.stop produces the";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210303_C";"Clause 21.3.3";"The stop test behaviour operation" +"Sem_210303_Stop_test_component_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.3";"None";"None";"Ensure that self.stop stops current component";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210303_C";"";"" +"Sem_210304_kill_test_component_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.4";"None";"None";"Ensure that kill operator stops a non alive test comp.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210304_C";"Clause 21.3.4";"The kill test component operation" +"Sem_210304_kill_test_component_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.4";"None";"None";"Ensure that all component kill stop all ptcs";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210304_C";"";"" +"Sem_210304_kill_test_component_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.4";"None";"None";"Ensure that kill operator stops only non alive test components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210304_C";"";"" +"Sem_210304_kill_test_component_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.4";"None";"None";"Ensure that self kill called in a functions stops non alive test comp.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210304_C";"";"" +"Sem_210305_alive_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.5";"None";"None";"Testing alive operator with an alive test component";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210305_C";"Clause 21.3.5";"The alive operation" +"Sem_210305_alive_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.5";"None";"None";"Test all component alive operator with alive test components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210305_C";"";"" +"Sem_210305_alive_operation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.5";"None";"None";"Ensure that alive operator gives a correct boolean result";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210305_C";"";"" +"Sem_210305_alive_operation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.5";"None";"None";"Test any component alive operator with multiple test components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210305_C";"";"" +"Sem_210306_running_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.6";"None";"None";"Check that running operator provides information about test components.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210306_C";"Clause 21.3.6";"The running operation" +"Sem_210306_running_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.6";"None";"None";"Any component with running can check the status of the test components";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210306_C";"";"" +"NegSem_210307_done_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.7";"None";"None";"Ensure that done operator can be used only for ptcs.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210307_D";"Clause 21.3.7";"The done operation" +"Sem_210307_done_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.7";"None";"None";"Ensure that all component with done can check that at least one test component is not done";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210307_C";"";"" +"NegSem_210308_killed_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.8";"None";"None";"Ensure that killed operator is only valid for ptcs.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"210308_D";"Clause 21.3.8";"The killed operation" +"Sem_210308_killed_operation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.8";"None";"None";"Ensure that all component kill can be checked with killed operator";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210308_C";"";"" +"Sem_210308_killed_operation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.8";"None";"None";"check that any component and killed operator can check that at least one test component is running or not";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210308_C";"";"" +"Sem_210308_killed_operation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 21.3.8";"None";"None";"";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"210308_C";"";"" +"NegSem_220201_SendOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220201_D";"Clause 22.2.1";"The send operation" +"NegSem_220201_SendOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220201_D";"";"" +"NegSem_220201_SendOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220201_D";"";"" +"NegSem_220201_SendOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220201_D";"";"" +"Sem_220201_SendOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220201_C";"";"" +"Sem_220201_SendOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220201_C";"";"" +"Sem_220201_SendOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220201_C";"";"" +"Sem_220201_SendOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.1";"None";"None";"Ensure that the IUT correctly handles message sending operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220201_C";"";"" +"NegSem_220202_ReceiveOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220202_D";"Clause 22.2.2";"The receive operation" +"Sem_220202_ReceiveOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220202_C";"";"" +"Sem_220202_ReceiveOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220202_C";"";"" +"Sem_220202_ReceiveOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220202_C";"";"" +"Sem_220202_ReceiveOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220202_C";"";"" +"Sem_220202_ReceiveOperation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.2";"None";"None";"Ensure that the IUT correctly handles message receiving operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220202_C";"";"" +"NegSem_220203_TriggerOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220203_D";"Clause 22.2.3";"The trigger operation" +"Sem_220203_TriggerOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220203_C";"";"" +"Sem_220203_TriggerOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220203_C";"";"" +"Sem_220203_TriggerOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220203_C";"";"" +"Sem_220203_TriggerOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220203_C";"";"" +"Sem_220203_TriggerOperation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.2.3";"None";"None";"Ensure that the IUT correctly handles message trigger operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220203_C";"";"" +"NegSem_220301_CallOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles procedure call operations";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220301_D";"Clause 22.3.1";"The call operation" +"NegSem_220301_CallOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly procedure calls";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220301_D";"";"" +"Sem_220301_CallOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles procedure call operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles procedure call operations";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles non-blocking procedure call";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles multiple client calls to the same server";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles broadcast/multicast procedure call";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles broadcast/multicast procedure call";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"Sem_220301_CallOperation_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.1";"None";"None";"Ensure that the IUT correctly handles blocking procedure call";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220301_C";"";"" +"NegSem_220302_GetcallOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall operations are only used on procedure based ports";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220302_D";"Clause 22.3.2";"The getcall operation" +"NegSem_220302_GetcallOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall operation does not allow value assignment";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220302_D";"";"" +"NegSem_220302_GetcallOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall for any call does not allow param assignment";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220302_D";"";"" +"Sem_220302_GetcallOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall operations remove only matching procedure from the queue";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220302_C";"";"" +"Sem_220302_GetcallOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall operations remove the matching procedure from the queue";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220302_C";"";"" +"Sem_220302_GetcallOperation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that the getcall operation can be correctly restricted to a certain client";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220302_C";"";"" +"Sem_220302_GetcallOperation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that the getcall operation can be correctly restricted to a certain client";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220302_C";"";"" +"Sem_220302_GetcallOperation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.2";"None";"None";"Ensure that getcall operations work with any port attribute";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220302_C";"";"" +"NegSem_220303_ReplyOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.3";"None";"None";"Ensure that reply operations are only used on procedure based ports";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"220303_D";"Clause 22.3.3";"The reply operation" +"Sem_220303_ReplyOperation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.3";"None";"None";"Ensure that the IUT correctly handles reply to multiple clients on the same server";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220303_C";"";"" +"Sem_220303_ReplyOperation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 22.3.3";"None";"None";"Ensure that the IUT correctly handles reply to multiple clients on the same server";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"220303_C";"";"" +"NegSem_2302_timer_start_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure infinity is not allowed";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_D";"Clause 23";"Timer operations" +"NegSem_2302_timer_start_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure not_a_number is not allowed";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_D";"";"" +"NegSem_2302_timer_start_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure negative value is not allowed";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_D";"";"" +"NegSem_2302_timer_start_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure negative infinity is not allowed";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_D";"";"" +"NegSyn_2302_timer_start_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"NegSyn_2302_timer_start_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer start syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2302_B";"";"" +"Sem_2302_timer_start_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer runs from zero to stated value";"The test should pass if accept, ttnc3verdict:pass";"";"2302_C";"";"" +"Sem_2302_timer_start_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer can be restarted";"The test should pass if accept, ttnc3verdict:pass";"";"2302_C";"";"" +"Sem_2302_timer_start_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer default value can be modified by start value";"The test should pass if accept, ttnc3verdict:pass";"";"2302_C";"";"" +"Sem_2302_timer_start_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer with value 0.0 expires immediately";"The test should pass if accept, ttnc3verdict:pass";"";"2302_C";"";"" +"NegSyn_2303_timer_stop_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"Clause 23.3";"The stop timer operation" +"NegSyn_2303_timer_stop_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"";"" +"NegSyn_2303_timer_stop_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure all timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"";"" +"NegSyn_2303_timer_stop_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure all timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"";"" +"NegSyn_2303_timer_stop_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure all timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"";"" +"NegSyn_2303_timer_stop_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure all timer stop syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2303_B";"";"" +"Sem_2303_timer_stop_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure timer stop sets elapsed time to zero";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2303_C";"";"" +"Sem_2303_timer_stop_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure timer all timer identifier";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2303_C";"";"" +"Sem_2303_timer_stop_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure can be stopped after timeout";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict none.";"";"2303_C";"";"" +"Syn_2303_timer_stop_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure timer stop syntax";"The test should pass if accept, noexecute";"";"2303_A";"";"" +"Syn_2303_timer_stop_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.3";"None";"None";"Ensure all timer stop syntax";"The test should pass if accept, noexecute";"";"2303_A";"";"" +"NegSyn_2304_timer_read_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2304_B";"Clause 24.4";"null" +"NegSyn_2304_timer_read_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2304_B";"";"" +"NegSyn_2304_timer_read_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2304_B";"";"" +"NegSyn_2304_timer_read_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read syntax: disallow any timer.read";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2304_B";"";"" +"NegSyn_2304_timer_read_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2304_B";"";"" +"Sem_2304_timer_read_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read result of inactive timer is zero";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2304_C";"";"" +"Sem_2304_timer_read_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read result is non-negative float";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2304_C";"";"" +"Sem_2304_timer_read_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.4";"None";"None";"Ensure timer read result is non-negative float";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2304_C";"";"" +"NegSyn_2305_timer_running_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"Clause 23.5";"The running timer operation" +"NegSyn_2305_timer_running_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"";"" +"NegSyn_2305_timer_running_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"";"" +"NegSyn_2305_timer_running_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"";"" +"NegSyn_2305_timer_running_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"";"" +"NegSyn_2305_timer_running_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running syntax: disallow all timer.running";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2305_B";"";"" +"Sem_2305_timer_running_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running any timer identifier works";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2305_C";"";"" +"Sem_2305_timer_running_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running operation works";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2305_C";"";"" +"Sem_2305_timer_running_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running operation works";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2305_C";"";"" +"Sem_2305_timer_running_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer running operation works";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2305_C";"";"" +"NegSyn_2306_timer_timeout_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"Clause 23.6";"The timeout operation" +"NegSyn_2306_timer_timeout_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout can`t be used in boolean expressions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"NegSyn_2306_timer_timeout_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"NegSyn_2306_timer_timeout_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"NegSyn_2306_timer_timeout_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"NegSyn_2306_timer_timeout_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"NegSyn_2306_timer_timeout_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout syntax";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2306_B";"";"" +"Sem_2306_timer_timeout_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout operations: non-started timer does not timeout";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout operations: timed-out timer does not timeout until restarted";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout happen in order from the shortest to the longest";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure any timer.timeout operation";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure any timer.timeout operation for timeouts that are not in scope";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure any timer.timeout operation handles timeout of any timer in the component, not only visible from a function or altstep";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Sem_2306_timer_timeout_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.6";"None";"None";"Ensure timer timeout happen in order from the shortest to the longest";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2306_C";"";"" +"Syn_2306_timer_timeout_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23.5";"None";"None";"Ensure timer runnig syntax";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"2306_A";"Clause 23.5";"The running timer operation" +"NegSem_23_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer operations are not allowed outside of module control, test case, function, altstep";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"23_D";"Clause 23";"Timer operations" +"NegSem_23_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer operations are not allowed outside of module control, test case, function, altstep";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"23_D";"";"" +"NegSyn_23_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer operations are not allowed outside of module control, test case, function, altstep";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"23_B";"";"" +"NegSyn_23_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer operations are not allowed outside of module control, test case, function, altstep";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"23_B";"";"" +"Syn_23_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer allowed in module control, test case, function, altstep";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"23_A";"";"" +"Syn_23_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 23";"None";"None";"Ensure timer allowed in module control, test case, function, altstep";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"23_A";"";"" +"NegSem_2401_SetverdictError";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure that setverdict can't set error verdict";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2401_D";"Clause 24.1";"The verdict mechanism" +"Sem_2401_GlobalVerdict_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: pass can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: inconc can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: fail can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: none can't overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: inconc can overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: fail can overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: none can't overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: pass can't overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: fail can overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: none can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: pass can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_GlobalVerdict_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for global verdict: inconc can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_InitiallyNone_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure that local verdicts initializes with none";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: pass can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: inconc can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: fail can overwrite none.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: none can't overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: inconc can overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: fail can overwrite pass.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: none can't overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: pass can't overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: fail can overwrite inconc.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: none can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: pass can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Sem_2401_LocalVerdict_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure overwriting rules for local verdict: inconc can't overwrite fail.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2401_C";"";"" +"Syn_2401_FiveValues_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.1";"None";"None";"Ensure that there are five values of verdicttype";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"2401_A";"";"" +"NegSem_2402_setverdict_params_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts parameters of verdicttype only";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2402_D";"Clause 24";"Test verdict operations" +"NegSem_2402_setverdict_params_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts parameters of verdicttype only";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2402_D";"";"" +"NegSem_2402_setverdict_params_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts values of verdicttype only";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2402_D";"";"" +"NegSem_2402_setverdict_params_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts values only as the parameter";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2402_D";"";"" +"NegSem_2402_setverdict_params_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts values only as the parameter";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2402_D";"";"" +"Sem_2402_setverdict_logging_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure logging constraints";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2402_C";"";"" +"Sem_2402_setverdict_params_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts values only as the parameter";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2402_C";"";"" +"Sem_2402_setverdict_params_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict accepts values only as the parameter";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2402_C";"";"" +"Sem_2402_setverdict_params_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure logging contraints";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2402_C";"";"" +"Sem_2403_getverdict_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.3";"None";"None";"Ensure getverdict returns the actual verdict none";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2403_C";"Clause 24.3";"The getverdict mechanism" +"Sem_2403_getverdict_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.3";"None";"None";"Ensure getverdict returns the actual verdict inconc";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2403_C";"";"" +"Sem_2403_getverdict_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.3";"None";"None";"Ensure getverdict returns the actual verdict pass";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2403_C";"";"" +"Sem_2403_getverdict_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.3";"None";"None";"Ensure getverdict returns the actual verdict fail";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict error.";"";"2403_C";"";"" +"Sem_2403_getverdict_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24.3";"None";"None";"Ensure getverdict none for uninitialized verdict";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2403_C";"";"" +"NegSem_24_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure getverdict is not allowed in constant initialization in control part";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"24_D";"Clause 24";"Test verdict operations" +"NegSem_24_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure getverdict is not allowed in parameter initialization in control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"24_D";"";"" +"NegSem_24_toplevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure getverdict is not allowed in variable definition in control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"24_D";"";"" +"NegSem_24_toplevel_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict is not allowed in part whithin compound statement.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"24_D";"";"" +"NegSem_24_toplevel_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict is not allowed in control part at the top level.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"24_D";"";"" +"Syn_24_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict and getverdict are allowed in functions";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"24_A";"";"" +"Syn_24_toplevel_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict and getverdict are allowed in test cases";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"24_A";"";"" +"Syn_24_toplevel_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 24";"None";"None";"Ensure setverdict and getverdict are allowed in atsteps";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"24_A";"";"" +"NegSem_2601_ExecuteStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that non-float timeout parameters in the execute statement are rejected (in this case int).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2601_D";"Clause 26.1";"The execute statement" +"NegSem_2601_ExecuteStatement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that non-float timeout parameters in the execute statement are rejected (in this case charstring).";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2601_D";"";"" +"NegSem_2601_ExecuteStatement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that host id can be only charstring.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2601_D";"";"" +"NegSem_2601_ExecuteStatement_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that execution t";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2601_D";"";"" +"Sem_2601_ExecuteStatement_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that parameters are passed correctly into the test case.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that multiple parameters of different types are passed correctly into the test case.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the timeout specified with the execute statement is respected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict error.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the verdict none works correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the verdict pass works correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the verdict inconc works correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict inconc.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the timeout specified with the execute statement is respected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict error.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that the user error sets the verdict error correctly.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict error.";"";"2601_C";"";"" +"Sem_2601_ExecuteStatement_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.1";"None";"None";"Ensure that host id restriction is correctly handled.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict error.";"";"2601_C";"";"" +"NegSem_2602_TheControlPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that setverdict statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"Clause 26.2";"The control part" +"NegSem_2602_TheControlPart_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the create component is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the create alive component is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the start statement is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the stop statement is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the kill statement is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the alive operation is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the running operation is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the done operation is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the killed operation is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the connect statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the disconnect statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the map statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the unmap statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the send statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the receive statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the call statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_018";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the reply statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_019";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the raise statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_020";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the trigger statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_021";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the getcall statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_022";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the getreply statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_023";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the catch statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_024";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the check statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_025";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the clear statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_026";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the start statements on ports are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_027";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the stop statements on ports are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_028";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the halt statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_029";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that alternative behaviours are only used to control timer behavior in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_030";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that getverdict statements are not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_031";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that execute statements are not executed from test cases.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_032";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the create alive named component is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_033";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the create named component is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_034";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the create named component on host is not allowed in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"NegSem_2602_TheControlPart_035";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that alternative behaviours are only used to control timer behavior in the control part.";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2602_D";"";"" +"Sem_2602_TheControlPart_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the selection/deselection of test cases using boolean conditions works as expected.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2602_C";"";"" +"Sem_2602_TheControlPart_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the execution of test cases works from within a function.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2602_C";"";"" +"Sem_2602_TheControlPart_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26.2";"None";"None";"Ensure that the selection of test cases can be achieven based on resulting verdict types.";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict fail.";"";"2602_C";"";"" +"Syn_26_ModuleControl_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that assignments in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"Clause 26";"Module control" +"Syn_26_ModuleControl_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that if-else constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that select-case constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that for loop constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that while loop constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that label and goto constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the stop construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the break construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the continue construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the continue construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the alt/timeout construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_012";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the repeat construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_013";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the interleave construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_014";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that activate/deactivate/default constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_015";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that start/stop/read/running timer constructs in the control part are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_016";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the action construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_26_ModuleControl_017";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 26";"None";"None";"Ensure that the execute construct in the control part is accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"26_A";"";"" +"Syn_270101_ScopeOfAttributes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.1.1";"None";"None";"Ensure that attributes for language elements are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"270101_A";"Clause 27.1.1";"Scope of attributes" +"Syn_270101_ScopeOfAttributes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.1.1";"None";"None";"Ensure that attributes for language elements are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"270101_A";"";"" +"Syn_270101_ScopeOfAttributes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.1.1";"None";"None";"Ensure that attributes for individual fields are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"270101_A";"";"" +"Syn_270101_ScopeOfAttributes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.1.1";"None";"None";"Ensure that attributes for individual fields are accepted.";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"270101_A";"";"" +"NegSem_2707_OptionalAttributes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2707_D";"Clause 27.7";"Optional attributes" +"NegSem_2707_OptionalAttributes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2707_D";"";"" +"Sem_2707_OptionalAttributes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"2707_C";"";"" +"Sem_2707_OptionalAttributes_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"2707_C";"";"" +"Syn_2707_OptionalAttributes_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause 27.7";"None";"None";"Ensure that the IUT correctly handles attribute definitions and their scoping rules";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"2707_A";"";"" +"NegSem_B010101_omitting_values_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of omitted values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010101_D";"Clause B.1.1.1";"null" +"Sem_B010101_omitting_values_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of omitted values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010101_C";"";"" +"Sem_B010101_omitting_values_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of omitted values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010101_C";"";"" +"Sem_B0101_matching_specific_value_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"Clause B.1.1";"Matching specific values" +"Sem_B0101_matching_specific_value_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_010";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B0101_matching_specific_value_011";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.1";"None";"None";"Ensure that the IUT correctly handles template matching of specific values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0101_C";"";"" +"Sem_B010201_value_list_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.1";"None";"None";"Ensure that the IUT correctly handles template matching of listed multiple values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010201_C";"Clause B.1.2.1";"Value list " +"Sem_B010202_complemented_value_list_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"Clause B.1.2.2";"Complemented value list" +"Sem_B010202_complemented_value_list_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"";"" +"Sem_B010202_complemented_value_list_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"";"" +"Sem_B010202_complemented_value_list_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"";"" +"Sem_B010202_complemented_value_list_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"";"" +"Sem_B010202_complemented_value_list_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.2";"None";"None";"Ensure that the IUT correctly handles template matching of complemented value listing";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010202_C";"";"" +"Sem_B010203_any_value_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010203_C";"Clause B.1.2.3";"Any value" +"Sem_B010203_any_value_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010203_C";"";"" +"NegSem_B010204_any_value_or_none_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.4";"None";"None";"Ensure that the IUT correctly handles template matching of * values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010204_D";"Clause B.1.2.4";"Any value or none" +"NegSem_B010204_any_value_or_none_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.4";"None";"None";"Ensure that the IUT correctly handles template matching of * values";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010204_D";"";"" +"Sem_B010204_any_value_or_none_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.4";"None";"None";"Ensure that the IUT correctly handles template matching of * values";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010204_C";"";"" +"NegSem_B010205_value_range_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010205_D";"Clause B.1.2.5";"Value range" +"NegSem_B010205_value_range_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010205_D";"";"" +"NegSem_B010205_value_range_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010205_D";"";"" +"Sem_B010205_value_range_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"Sem_B010205_value_range_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.5";"None";"None";"Ensure that the IUT correctly handles template matching of value range definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010205_C";"";"" +"NegSem_B010206_superset_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.6";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010206_D";"Clause B.1.2.6";"SuperSet" +"NegSem_B010206_superset_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.6";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010206_D";"";"" +"Sem_B010206_superset_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.6";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010206_C";"";"" +"Sem_B010206_superset_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.6";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010206_C";"";"" +"Sem_B010206_superset_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.6";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010206_C";"";"" +"NegSem_B010207_subset_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.7";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010207_D";"Clause B.1.2.7";"SubSet" +"NegSem_B010207_subset_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.7";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010207_D";"";"" +"Sem_B010207_subset_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.7";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010207_C";"";"" +"Sem_B010207_subset_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.7";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010207_C";"";"" +"Sem_B010207_subset_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.2.7";"None";"None";"Ensure that the IUT correctly handles template matching of superset definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010207_C";"";"" +"Sem_B010301_any_element_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"Clause B.1.3.1";"Any element" +"Sem_B010301_any_element_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010301_any_element_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.1";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010301_C";"";"" +"Sem_B010302_any_number_of_elements_or_none_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.2";"None";"None";"Ensure that the IUT correctly handles template matching of * symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010302_C";"Clause B.1.3.2";"Any number of elements of no element" +"Sem_B010302_any_number_of_elements_or_none_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.2";"None";"None";"Ensure that the IUT correctly handles template matching of * symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010302_C";"";"" +"Sem_B010302_any_number_of_elements_or_none_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.2";"None";"None";"Ensure that the IUT correctly handles template matching of * symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010302_C";"";"" +"NegSem_B010303_permutation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010303_D";"Clause B.1.3.3";"Permutation" +"Sem_B010303_permutation_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"Sem_B010303_permutation_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"Sem_B010303_permutation_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"Sem_B010303_permutation_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"Sem_B010303_permutation_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles template matching of ? symbols in value elements";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"Sem_B010303_permutation_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.3.3";"None";"None";"Ensure that the IUT correctly handles permutation within arrays";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010303_C";"";"" +"NegSem_B010401_length_restrictions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010401_D";"Clause B.1.4.1";"Length restrictions" +"NegSem_B010401_length_restrictions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010401_D";"";"" +"NegSem_B010401_length_restrictions_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010401_D";"";"" +"NegSem_B010401_length_restrictions_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010401_D";"";"" +"Sem_B010401_length_restrictions_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010401_C";"";"" +"Sem_B010401_length_restrictions_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.1";"None";"None";"Ensure that the IUT correctly handles template matching of value length definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010401_C";"";"" +"NegSem_B010402_ifPresent_indicator_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.2";"None";"None";"Ensure that the IUT correctly handles template matching of ifpresent indicators";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010402_D";"Clause B.1.4.2";"The ifpresent indicator" +"Sem_B010402_ifPresent_indicator_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.2";"None";"None";"Ensure that the IUT correctly handles template matching of ifpresent indicators";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010402_C";"";"" +"Sem_B010402_ifPresent_indicator_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.4.2";"None";"None";"Ensure that the IUT correctly handles template matching of ifpresent indicators";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010402_C";"";"" +"NegSem_B010501_set_expression_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010501_D";"Clause B.1.5.1";"Set expression" +"Sem_B010501_set_expression_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010501_C";"";"" +"Sem_B010501_set_expression_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010501_C";"";"" +"Sem_B010501_set_expression_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010501_C";"";"" +"Sem_B010501_set_expression_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010501_C";"";"" +"Sem_B010501_set_expression_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.1";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern set expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010501_C";"";"" +"Sem_B010502_reference_expression_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"Clause B.1.5.2";"Reference expression" +"Sem_B010502_reference_expression_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_008";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010502_reference_expression_009";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.2";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference expressions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010502_C";"";"" +"Sem_B010503_match_n_times_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.3";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern expression multiplicity";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010503_C";"Clause B.1.5.3";"Match expression n times" +"Sem_B010503_match_n_times_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.3";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern expression multiplicity";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010503_C";"";"" +"Sem_B010503_match_n_times_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.3";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern expression multiplicity";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010503_C";"";"" +"Sem_B010503_match_n_times_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.3";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern expression multiplicity";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010503_C";"";"" +"Sem_B010503_match_n_times_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.3";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern expression multiplicity";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010503_C";"";"" +"NegSem_B010504_match_referenced_characters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZB010504_D";"Clause B.1.5.4";"Match a referenced character set" +"Sem_B010504_match_referenced_characters_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_003";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_004";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_005";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_006";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010504_match_referenced_characters_007";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.4";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern reference characters";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010504_C";"";"" +"Sem_B010505_pattern_compatibility_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.5";"None";"None";"Ensure that the IUT correctly handles character pattern compatibility rules of template matching";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010505_C";"Clause B.1.5.5";"Type compatibility rules for patterns" +"Sem_B010505_pattern_compatibility_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5.5";"None";"None";"Ensure that the IUT correctly handles character pattern compatibility rules of template matching";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB010505_C";"";"" +"Sem_B0105_toplevel_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause B.1.5";"None";"None";"Ensure that the IUT correctly handles template matching of character pattern definitions";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZB0105_C";"Clause B.1.5";"Matching character pattern" +"Sem_C0602_The_testcasename_function_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause C.6.2";"None";"None";"Ensure that the IUT correctly handles the testcasename function";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZC0602_C";"Clause C.6.2";"null" +"Sem_D01_macro_module_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __MODULE__ replaces the module name";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZD01_C";"Clause D";"Preprocessing macros" +"Sem_D02_macro_file_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __FILE__ macro stores the path and file name in a charstring";"The test should pass if the TTCN-3 module was accepted by the tool without beeing executed.";"";"ZD02_C";"";"" +"Sem_D03_macro_bfile_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that the __BFILE__ macro replaces the actual file name";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZD03_C";"";"" +"Sem_D04_macro_line_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __LINE__ macro stores the actual line number when it is called";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZD04_C";"";"" +"NegSem_D05_macro_scope_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __SCOPE__ replaces the actual higher named basic scope unit";"The test should pass if the TTCN-3 module was rejected either by the validator or after beeing executed.";"";"ZD05_D";"";"" +"Sem_D05_macro_scope_001";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __SCOPE__ replaces the actual higher basic unit";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZD05_C";"";"" +"Sem_D05_macro_scope_002";"Part 1: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06), Clause D";"None";"None";"Ensure that __SCOPE__ replaces the actual higher basic unit";"The test should pass if the TTCN-3 module was accepted by the tool after beeing executed. All testcases have to produce the verdict pass.";"";"ZD05_C";"";"" \ No newline at end of file diff --git a/documents/part1-ics/MTS-00132-1ed131-T3Conf_ICS-v0.0.3.doc b/documents/part1-ics/MTS-00132-1ed131-T3Conf_ICS-v0.0.3.doc new file mode 100644 index 0000000000000000000000000000000000000000..0b21dd286ce0b8577ccfc1bbd4984b1b6998f2d9 Binary files /dev/null and b/documents/part1-ics/MTS-00132-1ed131-T3Conf_ICS-v0.0.3.doc differ diff --git a/documents/part2-tss_and_tps/MTS-00132-2ed131-T3Conf_TPs-v0.0.2.doc b/documents/part2-tss_and_tps/MTS-00132-2ed131-T3Conf_TPs-v0.0.2.doc new file mode 100644 index 0000000000000000000000000000000000000000..f4b3a6576cd679af47574db8e3890f6b8647bd11 Binary files /dev/null and b/documents/part2-tss_and_tps/MTS-00132-2ed131-T3Conf_TPs-v0.0.2.doc differ diff --git a/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3.doc b/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3.doc new file mode 100644 index 0000000000000000000000000000000000000000..93a223914ce3f0b751b6c1f56795a340913246c3 Binary files /dev/null and b/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3.doc differ diff --git a/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3_ats.zip b/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3_ats.zip new file mode 100644 index 0000000000000000000000000000000000000000..c1af706c4de5485ed628778b635d111825a883ad Binary files /dev/null and b/documents/part3-ats_and_ixit/MTS-00132-3ed131-T3Conf_ATS-v0.0.3_ats.zip differ diff --git a/documents/releases/stable_draft/MTS-00132-1ed121-T3Conf_ICS-v0.0.1.doc b/documents/releases/stable_draft/MTS-00132-1ed121-T3Conf_ICS-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..7797e49553e85c95576a76c420895efb065611ed Binary files /dev/null and b/documents/releases/stable_draft/MTS-00132-1ed121-T3Conf_ICS-v0.0.1.doc differ diff --git a/documents/releases/stable_draft/MTS-00132-2ed121-T3Conf_TPs-v0.0.1.doc b/documents/releases/stable_draft/MTS-00132-2ed121-T3Conf_TPs-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..133d29c57b893c71cf28d9163ebeebea6f6347c5 Binary files /dev/null and b/documents/releases/stable_draft/MTS-00132-2ed121-T3Conf_TPs-v0.0.1.doc differ diff --git a/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.1.doc b/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.1.doc new file mode 100644 index 0000000000000000000000000000000000000000..9c80630d93f6c468fe9b3b73c96ffafcbc790855 Binary files /dev/null and b/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.1.doc differ diff --git a/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.2_ats.zip b/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.2_ats.zip new file mode 100644 index 0000000000000000000000000000000000000000..b64441a28cfb371d27b6e5b1e6b3b56ec2bc968b Binary files /dev/null and b/documents/releases/stable_draft/MTS-00132-3ed121-T3Conf_ATS-v0.0.2_ats.zip differ diff --git a/documents/releases/stable_draft/STF433FinalDelivery.zip b/documents/releases/stable_draft/STF433FinalDelivery.zip new file mode 100644 index 0000000000000000000000000000000000000000..fc93d482bbbd228fe4096ff539456580f1ff0940 Binary files /dev/null and b/documents/releases/stable_draft/STF433FinalDelivery.zip differ diff --git a/documents/releases/stable_draft/STF433MTS_Delivery.zip b/documents/releases/stable_draft/STF433MTS_Delivery.zip new file mode 100644 index 0000000000000000000000000000000000000000..14fa735e5bbd718d94a5e8c5822e5ea748168e0d Binary files /dev/null and b/documents/releases/stable_draft/STF433MTS_Delivery.zip differ diff --git a/documents/releases/stable_draft/STF433_report_reqstracer_1336980630407.zip b/documents/releases/stable_draft/STF433_report_reqstracer_1336980630407.zip new file mode 100644 index 0000000000000000000000000000000000000000..c05b42cc8c57459383f99e30a18b848b39c52d70 Binary files /dev/null and b/documents/releases/stable_draft/STF433_report_reqstracer_1336980630407.zip differ diff --git a/documents/stf409/MTS(10)0066_Report_MTS#51_Draft_Meeting_Report.doc b/documents/stf409/MTS(10)0066_Report_MTS#51_Draft_Meeting_Report.doc new file mode 100644 index 0000000000000000000000000000000000000000..1142a1e37e16d432f9a4301b1d7cbf941fd9241d Binary files /dev/null and b/documents/stf409/MTS(10)0066_Report_MTS#51_Draft_Meeting_Report.doc differ diff --git a/documents/stf409/PM_409_Minutes_v01.doc b/documents/stf409/PM_409_Minutes_v01.doc new file mode 100644 index 0000000000000000000000000000000000000000..3c34b6be29b93e8ecdfea11d3c4cc8684547016f Binary files /dev/null and b/documents/stf409/PM_409_Minutes_v01.doc differ diff --git a/documents/stf409/STF_409_SessionPlan.xls b/documents/stf409/STF_409_SessionPlan.xls new file mode 100644 index 0000000000000000000000000000000000000000..a5f462b37a4a96ffc8280da078c16b3a9bc3051c Binary files /dev/null and b/documents/stf409/STF_409_SessionPlan.xls differ diff --git a/documents/stf409/ToR409v08_MTS_Test_TTCN-3_tools.doc b/documents/stf409/ToR409v08_MTS_Test_TTCN-3_tools.doc new file mode 100644 index 0000000000000000000000000000000000000000..952d3b21c9daf85e23fe6969f0a348475d356b35 Binary files /dev/null and b/documents/stf409/ToR409v08_MTS_Test_TTCN-3_tools.doc differ diff --git a/documents/t3uc2011/TTCN-3-conformance-test-suite.ppt b/documents/t3uc2011/TTCN-3-conformance-test-suite.ppt new file mode 100644 index 0000000000000000000000000000000000000000..c57f68155143928ea62de8b02302e4358d3f1b42 Binary files /dev/null and b/documents/t3uc2011/TTCN-3-conformance-test-suite.ppt differ diff --git a/documents/t3uc2011/TemplatePresentationT3UC2011-rev1.doc b/documents/t3uc2011/TemplatePresentationT3UC2011-rev1.doc new file mode 100644 index 0000000000000000000000000000000000000000..d6df131605584762250f031088977d3a8a0a5830 Binary files /dev/null and b/documents/t3uc2011/TemplatePresentationT3UC2011-rev1.doc differ diff --git a/documents/templates/part1-ics/CAM_PICS_v005.doc b/documents/templates/part1-ics/CAM_PICS_v005.doc new file mode 100644 index 0000000000000000000000000000000000000000..d3bacd923522af9aa8daf4cfc11d82fb79b00f32 Binary files /dev/null and b/documents/templates/part1-ics/CAM_PICS_v005.doc differ diff --git a/documents/templates/part2-tss_and_tps/ts_102595v010200p.doc b/documents/templates/part2-tss_and_tps/ts_102595v010200p.doc new file mode 100644 index 0000000000000000000000000000000000000000..cf7ceba767b15dbc834aa4aeb1ff4d3eeeefb8a3 Binary files /dev/null and b/documents/templates/part2-tss_and_tps/ts_102595v010200p.doc differ diff --git a/documents/templates/part3-ats_and_ixit/ts_102596v010200p.doc b/documents/templates/part3-ats_and_ixit/ts_102596v010200p.doc new file mode 100644 index 0000000000000000000000000000000000000000..045c90c8e208054c0fee9584720087ac900b6d26 Binary files /dev/null and b/documents/templates/part3-ats_and_ixit/ts_102596v010200p.doc differ diff --git a/misc/.gitignore b/misc/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..bcf12de2a86a5e58221967b51a7fc4b86bc7364e --- /dev/null +++ b/misc/.gitignore @@ -0,0 +1 @@ +STF409Tools/bin diff --git a/misc/.project b/misc/.project new file mode 100644 index 0000000000000000000000000000000000000000..3f4b28923a929dea45a602df03b79c894715cd9e --- /dev/null +++ b/misc/.project @@ -0,0 +1,17 @@ + + + misc + + + + + + de.ugoe.cs.swe.trex.ui.rulebuilder + + + + + + de.ugoe.cs.swe.trex.ui.trexnature + + diff --git a/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_027.ttcn b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_027.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..240d803f039ccab05dc8b4f8b32b2792247412e9 --- /dev/null +++ b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_027.ttcn @@ -0,0 +1,52 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6707 + +module Sem_070103_RelationalOperators_027 { + +type component GeneralComp { +} + + type set IntegerSet1 { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type set IntegerSet2 { + integer a4 optional, + integer a5 optional, + integer a6 optional + }; + + type set LargeSet { + integer a1 optional, + integer a2 optional, + integer a3 optional, + integer a4 optional, + integer a5 optional, + integer a6 optional + }; + + +testcase TC_Sem_070103_RelationalOperators_027() runs on GeneralComp { + const IntegerSet1 c_set1 := {a1:=0,a2:=omit,a3:=2}; + const IntegerSet2 c_set2 := {a4:=3,a5:=5,a6:=omit}; + const LargeSet c_large := {a1:=0,a2:=omit,a3:=2,a4:=3,a5:=5,a6:=omit}; + + if ( c_set1 & c_set2 == c_large ) { + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_027()); +} + +} diff --git a/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_028.ttcn b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_028.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c35102a9892119ae5b9d8a8440c719c776f1a957 --- /dev/null +++ b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_028.ttcn @@ -0,0 +1,52 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6707 + +module Sem_070103_RelationalOperators_028 { + +type component GeneralComp { +} + + type set IntegerSet1 { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type set IntegerSet2 { + integer a4 optional, + integer a5 optional, + integer a6 optional + }; + + type set LargeSet { + integer a1 optional, + integer a2 optional, + integer a3 optional, + integer a4 optional, + integer a5 optional, + integer a6 optional + }; + + +testcase TC_Sem_070103_RelationalOperators_028() runs on GeneralComp { + const IntegerSet1 c_set1 := {a1:=0,a2:=omit,a3:=2}; + const IntegerSet2 c_set2 := {a4:=3,a5:=5,a6:=omit}; + const LargeSet c_large := {a1:=0,a2:=omit,a3:=2,a4:=3,a5:=5,a6:=6}; + + if ( c_set1 & c_set2 != c_large ) { //mismatching in a6 + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_028()); +} + +} diff --git a/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_029.ttcn b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_029.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..8e643344a5e65a524155ed9c46f6457dd8cd093c --- /dev/null +++ b/misc/ATS-on_hold/07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_029.ttcn @@ -0,0 +1,51 @@ +/***************************************************************** + ** @author STF 451 + ** @version 0.0.1 + ** @purpose 1:7.1.3, Ensure that the equals operator on records is evaluated correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6707 + +module Sem_070103_RelationalOperators_029 { + +type component GeneralComp { +} + + type set IntegerSet1 { + integer a1 optional, + integer a2 optional, + integer a3 optional + }; + + type set IntegerSet2 { + integer a4 optional, + integer a5 optional, + integer a6 optional + }; + + type set LargeSet { + integer a1 optional, + integer a2 optional, + integer a3 optional, + integer a4 optional, + integer a5 optional + }; + + +testcase TC_Sem_070103_RelationalOperators_029() runs on GeneralComp { + const IntegerSet1 c_set1 := {a1:=0,a2:=omit,a3:=2}; + const IntegerSet2 c_set2 := {a4:=3,a5:=5,a6:=omit}; + const LargeSet c_large := {a1:=0,a2:=omit,a3:=2,a4:=3,a5:=5}; + + if ( c_set1 & c_set2 != c_large ) { //the two expressions are not equal because of mismatching lengths + setverdict(pass); + } else { + setverdict(fail); + } +} + +control{ + execute(TC_Sem_070103_RelationalOperators_029()); +} + +} diff --git a/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_003.ttcn b/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_003.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..552498193f3981a9276739fae8895d0dce691871 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_003.ttcn @@ -0,0 +1,55 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.6.2, ? shall be returned for mandatory subfields and * shall be returned for optional subfields. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6711 + +module Sem_150602_ReferencingRecordAndSetFields_003 { + + type component GeneralComp { } + + type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional + } + + type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional + } + + testcase TC_Sem_150602_ReferencingRecordAndSetFields_003() runs on GeneralComp { + var boolean v_matchRes; + var template MyRecordOne m_R1 := { + f1 := 0, + f2 := ? + } + + // m_R2.g1 is mandatory, therefore it shall be ? + // m_R2.g2 is optional, therefore it shall be * + var template MyRecordTwo m_R2 := m_R1.f2; + var template(value) MyRecordTwo m_value := { + g1 := 5, + g2 := omit + } + + // match against {?, *} + v_matchRes := match(m_value, MyRecordTwo:{m_R2.g1, m_R2.g2}); + + + if (v_matchRes) { + setverdict(pass); + } else { + setverdict(fail, "match against {?, *}"); + } + + } + + control{ + execute(TC_Sem_150602_ReferencingRecordAndSetFields_003()); + } + + +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_004.ttcn b/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_004.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..2924e0f2386a14e58e9652a513659ed9e1e27e86 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_004.ttcn @@ -0,0 +1,54 @@ +/***************************************************************** + ** @author STF 433 + ** @version 0.0.1 + ** @purpose 1:15.6.2, ? shall be returned for mandatory subfields and * shall be returned for optional subfields. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6711 + +module Sem_150602_ReferencingRecordAndSetFields_004 { + + type component GeneralComp { } + + type record MyRecordTwo { + integer g1, + MyRecordTwo g2 optional + } + + type record MyRecordOne { + integer f1 optional, + MyRecordTwo f2 optional + } + + testcase TC_Sem_150602_ReferencingRecordAndSetFields_004() runs on GeneralComp { + var template MyRecordOne m_R1 := { + f1 := 0, + f2 := ? + } + + // m_R2.g1 is mandatory, therefore it shall be ? + // m_R2.g2 is optional, therefore it shall be * + var template MyRecordTwo m_R2 := m_R1.f2; + + var template(value) MyRecordTwo m_value := { + g1 := 5, + g2 := omit + } + + // match against {?, *} - use dotted notation to cover other expansion thread + var boolean v_matchRes := match(m_value, MyRecordTwo:{m_R1.f2.g1, m_R1.f2.g2}); + + + if (v_matchRes) { + setverdict(pass); + } else { + setverdict(fail, "match against {?, *} - use dotted notation to cover other expansion thread"); + } + } + + control{ + execute(TC_Sem_150602_ReferencingRecordAndSetFields_004()); + } + + +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..1f2e5113fafa627410404a71bd0d009cf40b9b88 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_031.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template(present) is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_031 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_031() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_031()); + } +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..5db234acbf7214dcff7680ff5120a6c086860796 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_032.ttcn @@ -0,0 +1,54 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template(omit) is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_032 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template(omit) integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_032() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_032()); + } + +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..4ced7b9396e9d43558f661ac2f6edaec32caa1c6 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_033.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(value)->template is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_033 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(value) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_033() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_033()); + } +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..e35e4f602b4bea32fab67d954c93bdeb88c05b9d --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_034.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_034 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template(present) integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_034() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_034()); + } +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..7a6439761797bfbe40ba6817a6f9ca71c3584ec8 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_035.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_035 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(omit) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_035() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_035()); + } +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..c75b8bd8e5a42e26bb902cac3aca68f1a1f28d12 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_036.ttcn @@ -0,0 +1,53 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.8, Ensure that the restrictiveness of parameters template(omit)->template(present) is handled correctly. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +// ATTENTION: valid for TTCN-3:2013 (ETSI ES 201 873-1 V4.5.1) and newer +// Older versions of the core languate standard didn't allow this type of +// modification because of restriction 15.8.c. + +/* +Pro opinion: +Test an intentional change made on the request of the STF160 in TTCN-3:2013. In particular, restriction 15.8.c was taken away from the core language specification (as marked in test case comments). This restriction did indeed mean that the tests would behave as you described, thus producing an error. However, with the restriction missing, the tests are perfectly valid. I also do not understand why you claim that it would not be possible to instantiate super-templates in these cases. Restrictions are always related to actual values and if the values satisfy both restrictions (parent and modified), there's no problem at all. And this is exactly what these test intend to verify. +Besides, the core language specification does not say that the parameters must be the same. There's a rule saying that the parameters shall not be omitted. It is rather unfortunate wording, because it might be interpreted in several ways. There's a CR 6692 regarding this issue. + +Contra opinion +The problem is with the semantics of modified templates. For every actual parameter list, first, the template-to-be-modified is implicitly instantiated and then modified by the given modifications. If the template-to-be-modified is not defined for the actual parameters, then neither is the modified one. Of course, you are right in that this restriction could be applied for actual parameters only and need not be checked at the template-level already. However, it does not make sense to lessen the template restriction of a parameter, as implicitly, it still keeps the stronger restriction (because of the modification-semantics). Therefore, it is misleading to SEEMINGLY allow a template(present) parameter for a template where the super-template has a template(value) parameter. If allowed, the user might use a non-value template as an actual parameter and then get a runtime error, even though the template-restriction matched the one in the formal parameter of the template. Therefore, we interpret the standard in such a way that the inheritance of the parameters includes the inheritance of both the types and the template restrictions of the inherited parameters. Strengthening of template restrictions would indeed not be a problem. Lessening is. + +*/ + +module Sem_1508_TemplateRestrictions_036 { + + type component GeneralComp { } + + type record ExampleType { + integer a, + boolean b optional + } + + template(present) ExampleType m_baseTemplate(template(present) integer p_myInt) := { + a := p_myInt, + b := true + } + + template(present) ExampleType m_modifiedTemplate(template integer p_myInt) modifies m_baseTemplate := { + a := 21 + } + + testcase TC_Sem_1508_TemplateRestrictions_036() runs on GeneralComp { + if ((valueof(m_modifiedTemplate(1).a) == 21) and + (valueof(m_modifiedTemplate(1).b) == true) + ) { + setverdict(pass); + } else { + setverdict(fail); + } + } + + control{ + execute(TC_Sem_1508_TemplateRestrictions_036()); + } +} \ No newline at end of file diff --git a/misc/ATS-on_hold/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014.ttcn b/misc/ATS-on_hold/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..432076fe391cc441975021380b40d7fbb9ebbf42 --- /dev/null +++ b/misc/ATS-on_hold/15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014.ttcn @@ -0,0 +1,35 @@ +/***************************************************************** + ** @author STF 470 + ** @version 0.0.1 + ** @purpose 1:15.11, Ensure that concatenations of record of charstrings work when parameterized. + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ +//on hold till resolution of CR6564 +//The syntax used in the test case does appear in the examples and explaining comments, but there are no formal rules that support this notation and explain how it should work. + +module Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014 { + +type component GeneralComp { } + +type record of charstring RecOfChar; + +template RecOfChar m_myRec_par(integer p_num) := {"ABC"} & ? & * length(p_num) & {"EF"}; + +testcase TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014() runs on GeneralComp { + var integer v_int := 3; + var template RecOfChar v_recofChar; + v_recofChar :={ "ABC" } & { "Z" } & { "Z" } & { "Z" } & { "EF" }; + + if (match(v_recofChar, m_myRec_par(2))) { + setverdict(pass); + } else { + setverdict(fail); + } + +} + +control{ + execute(TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_014()); +} + +} \ No newline at end of file diff --git a/misc/ATS-on_hold/NOTES b/misc/ATS-on_hold/NOTES new file mode 100644 index 0000000000000000000000000000000000000000..a38fc96c1902822e00f6c134806be064d84cd3d8 --- /dev/null +++ b/misc/ATS-on_hold/NOTES @@ -0,0 +1,5 @@ +The content of this folder contains test cases relating to yet unresolved ambiguities of +the TTCN-3 standard. They can be added to the ATS when the relating ambiguities have been +resolved through the standard maintenance process. + +Every file shall have a comment that links it to an open Mantis issue!! \ No newline at end of file diff --git a/misc/STF409Tools/.classpath b/misc/STF409Tools/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..07ca123c631adcc68bdbdb3380f617db38fdaf33 --- /dev/null +++ b/misc/STF409Tools/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/misc/STF409Tools/.project b/misc/STF409Tools/.project new file mode 100644 index 0000000000000000000000000000000000000000..420c167bd4fa2faa3434b116d620a37bf3bba85f --- /dev/null +++ b/misc/STF409Tools/.project @@ -0,0 +1,17 @@ + + + STF409Tools + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/misc/STF409Tools/.settings/org.eclipse.core.resources.prefs b/misc/STF409Tools/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..ef2e0b38c939d8dc20b4481a783be64c631f2179 --- /dev/null +++ b/misc/STF409Tools/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//resources/ics-section-head.html=ISO-8859-1 diff --git a/misc/STF409Tools/.settings/org.eclipse.jdt.core.prefs b/misc/STF409Tools/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..c3426e6a47008a7e66fcd9a0fcb10d2252ec1416 --- /dev/null +++ b/misc/STF409Tools/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Mon Nov 22 15:29:08 CET 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/misc/STF409Tools/README.txt b/misc/STF409Tools/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..72b000bd80eae55b4c86c759664f8db21da70170 --- /dev/null +++ b/misc/STF409Tools/README.txt @@ -0,0 +1,12 @@ +HOWTO +===== + +Configure local paths in resources/STF409Tools.properties +Right-click on deliver.jardesc to create the jar file. +Usage: + + java -jar deliver.jar + +It generates in the DeliverableATSPath the ATS folder containing the TTCN-3 code as well as 3 HTML files that have to be copied to the documents delivered to ETSI. + +On errors please check the T3Doc from the reported TTCN-3 file. \ No newline at end of file diff --git a/misc/STF409Tools/deliver.jar b/misc/STF409Tools/deliver.jar new file mode 100644 index 0000000000000000000000000000000000000000..e5ca7bcc350a8a27b423e0fddcf7b0a85c328efb Binary files /dev/null and b/misc/STF409Tools/deliver.jar differ diff --git a/misc/STF409Tools/deliver.jardesc b/misc/STF409Tools/deliver.jardesc new file mode 100644 index 0000000000000000000000000000000000000000..7563649d350c5e06cc84a9d322501a62c6bb0892 --- /dev/null +++ b/misc/STF409Tools/deliver.jardesc @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/misc/STF409Tools/resources/ICSTable-sample.htm b/misc/STF409Tools/resources/ICSTable-sample.htm new file mode 100644 index 0000000000000000000000000000000000000000..d97f93d3759b1ed88df3821ce9c90d9d5bd6179e --- /dev/null +++ b/misc/STF409Tools/resources/ICSTable-sample.htm @@ -0,0 +1,875 @@ + + + + + + + + + + + + + + + + + + +
+ +

A.3.2 Basic language +elements

+ +

Table A.1: Basic language elements

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Item

+
+

Is the implementation able to...

+
+

Reference in ES 201 873-1

+
+

Status

+
+

Support

+
+

1

+
+

support case sensitive identifiers?

+
+

Clause 5.1

+
+

m

+
+

 

+
+

2

+
+

support the nine basic scope units?

+
+

Clause 5.2

+
+

m

+
+

 

+
+

3

+
+

support the scope rules?

+
+

Clause 5.2

+
+

m

+
+

 

+
+

4

+
+

support uniqueness of identifiers?

+
+

Clause 5.2.2

+
+

m

+
+

 

+
+

5

+
+

support arbitrary order of language elements?

+
+

Clause 5.3

+
+

m

+
+

 

+
+

6

+
+

support formal parameters of kind value?

+
+

Clause 5.4.1.1

+
+

m

+
+

 

+
+

7

+
+

support formal parameters of kind template?

+
+

Clause 5.4.1.2

+
+

m

+
+

 

+
+ +
+ +

 

+ +
+ + + + diff --git a/misc/STF409Tools/resources/STF409Tools.properties b/misc/STF409Tools/resources/STF409Tools.properties new file mode 100644 index 0000000000000000000000000000000000000000..19e7f9b7c4ab10e1f475d31743f2848e97704cdb --- /dev/null +++ b/misc/STF409Tools/resources/STF409Tools.properties @@ -0,0 +1,4 @@ +#TempPath=/Users/bst/Downloads/STF409/temp +LogPath=/Users/bst/Downloads/STF409/log +ATSPath=/Users/bst/repos/ConformanceSTF/ATS +DeliverableATSPath=/Users/bst/Downloads/STF409/deliverable \ No newline at end of file diff --git a/misc/STF409Tools/resources/ics-file-foot.html b/misc/STF409Tools/resources/ics-file-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..bb4f56546c1ab5f225c9153f48bc8c8a86c52c53 --- /dev/null +++ b/misc/STF409Tools/resources/ics-file-foot.html @@ -0,0 +1,4 @@ + + + + diff --git a/misc/STF409Tools/resources/ics-file-head.html b/misc/STF409Tools/resources/ics-file-head.html new file mode 100644 index 0000000000000000000000000000000000000000..168e6b7f7ee6b35759e2f679e89c19949b4c0c59 --- /dev/null +++ b/misc/STF409Tools/resources/ics-file-head.html @@ -0,0 +1,599 @@ + + + + + + + + + + + + + + + + + + +
+ diff --git a/misc/STF409Tools/resources/ics-section-foot.html b/misc/STF409Tools/resources/ics-section-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..3b1b2b7300e2eb9ee7517065f9b7a8a672708aa6 --- /dev/null +++ b/misc/STF409Tools/resources/ics-section-foot.html @@ -0,0 +1,7 @@ + + +
+ +

 

+ + diff --git a/misc/STF409Tools/resources/ics-section-head.html b/misc/STF409Tools/resources/ics-section-head.html new file mode 100644 index 0000000000000000000000000000000000000000..ac172ed47fbf816b55e01f3d1f43f62f52fb809c --- /dev/null +++ b/misc/STF409Tools/resources/ics-section-head.html @@ -0,0 +1,45 @@ +

{{TARGETCLAUSE}} {{CLAUSEDESCRIPTION}}

+ +

Table {{TABLENUMBER}}: {{CLAUSEDESCRIPTION}}

+ +
+ + + + + + + + + + diff --git a/misc/STF409Tools/resources/ics-table-line.html b/misc/STF409Tools/resources/ics-table-line.html new file mode 100644 index 0000000000000000000000000000000000000000..d1f771b4a25d1d59087c8885754e3030e4a0acba --- /dev/null +++ b/misc/STF409Tools/resources/ics-table-line.html @@ -0,0 +1,39 @@ + + + + + + + + diff --git a/misc/STF409Tools/resources/references.properties b/misc/STF409Tools/resources/references.properties new file mode 100644 index 0000000000000000000000000000000000000000..dab260dcfabd10a677a7ded5488227d1f96ee574 --- /dev/null +++ b/misc/STF409Tools/resources/references.properties @@ -0,0 +1,343 @@ +5=Basic language elements +5.1=Identifiers and keywords +5.2=Scope rules +5.2.1=Scope of formal parameters +5.2.2=Uniqueness of identifiers +5.3=Ordering of language elements +5.4=Parameterization +5.4.1=Formal parameters +5.4.1.1=Formal parameters of kind value +5.4.1.2=Formal parameters of kind template +5.4.1.3=Formal parameters of kind timer +5.4.1.4=Formal parameters of kind port +5.4.2=Actual parameters +5.5=Cyclic definitions +6=Types and values +6.1=Basic types and values +6.1.0=Simple basic types and values +6.1.1=Basic string types and values +6.1.1.1=Accessing individual string elements +6.1.2=Subtyping of basic types +6.1.2.1=Lists of values +6.1.2.2=Lists of types +6.1.2.3=Ranges +6.1.2.4=String length restrictions +6.1.2.5=Pattern subtyping of character string types +6.1.2.6=Mixing subtyping mechanisms +6.1.2.6.1=Mixing patterns, lists and ranges +6.1.2.6.2=Using length restriction with other constraints +6.2=Structured types and values +6.2.1=Record type and values +6.2.1.1=Referencing fields of a record type +6.2.1.2=Optional elements in a record +6.2.1.3=Nested type definitions for field types +6.2.2=Set type and values +6.2.2.1=Referencing fields of a set type +6.2.2.2=Optional elements in a set +6.2.2.3=Nested type definitions for field types +6.2.3=Records and sets of single types +6.2.3.1=Nested tpe definitions +6.2.3.2=Referencing elements of record of and set of types +6.2.4=Enumerated type and values +6.2.5=Unions +6.2.5.1=Referencing fields of a union type +6.2.5.2=Option and union +6.2.5.3=Nested type definition for field types +6.2.6=The anytype +6.2.7=Arrays +6.2.8=The default type +6.2.9=Communication port types +6.2.10=Component types +6.2.10.1=Component type definition +6.2.10.2=Reuse of component types +6.2.11=Component references +6.2.12=Addressing entities inside the SUT +6.2.13=Subtyping of structured types +6.3=Type compatibility +6.3.1=Type compatibility of non-structured types +6.3.2=Type compatibility of structured types +6.3.2.1=Type compatibility of enumerated types +6.3.2.2=Type compatibility of record and record of types +6.3.2.3=Type compatibility of set and set of types +6.3.2.4=Type compatibility of union types +6.3.2.5=Type compatibility of anytype types +6.3.2.6=Type compatibility of sub-structures +6.3.3=Type compatibility of component types +6.3.4=Type compatibility of communication operations +6.3.5=Type conversion +7=Expression +7.1=Operators +7.1.1=Arithmetic operators +7.1.2=List operator +7.1.3=Relational operators +7.1.4=Logical operators +7.1.5=Bitwise operators +7.1.6=Shift operators +7.1.7=Rotate operators +7.2=Field references and list elements +8=Modules +8.1=Definition of a module +8.2=Module definitions part +8.2.1=Module parameters +8.2.2=Groups of definitions +8.2.3=Importing from modules +8.2.3.1=General format of import +8.2.3.2=Importing single definitions +8.2.3.3=Importing groups +8.2.3.4=Importing definitions of the same kind +8.2.3.5=Importing all definitions of a module +8.2.3.6=Import definitions from other TTCN-3 editions and from non-TTCN-3 modules +8.2.3.7=Importing of import statements from TTCN-3 modules +8.2.3.8=Compatibility of language specifications of imports +8.2.4=Definition of friend modules +8.2.5=Visibility of definitions +8.3=Module control part +9=Port types, component types and test configurations +9.1=Communication ports +9.2=Test system interface +10=Declaring constants +11=Declaring variables +11.1=Value variables +11.2=Template variables +12=Declaring timers +13=Declaring messages +14=Declaring procedure signatures +15=Declaring templates +15.1=Declaring message templates +15.2=Declaring signature templates +15.3=Global and local templates +15.4=In-line templates +15.5=Modified templates +15.6=Referencing elements of templates or template fields +15.6.1=Referencing individual string elements +15.6.2=Referencing record and set fields +15.6.3=Referencing record of and set of elements +15.7=Template matching mechanism +15.7.1=Specific values +15.7.2=Special symbols that can be used instead of values +15.7.3=Special symbols that can be used inside values +15.7.4=Special symbols that describe attributes of values +15.8=Template restrictions +15.9=Match operation +15.10=Valueof operation +15.11=Concatenating templates of string and list types +16=Functions, altsteps and testcases +16.1=Functions +16.1.1=Invoking functions +16.1.2=Predefined functions +16.1.3=External functions +16.1.4=Invoking function from specific places +16.2=Altsteps +16.2.1=Invoking altsteps +16.3=Test cases +17=Void +18=Overview of program statements and operations +19=Basic program statements +19.1=Assignments +19.2=The if-else statement +19.3=The select case statement +19.4=The for statement +19.5=The while statement +19.6=The do-while statement +19.7=The label statement +19.8=The goto statement +19.9=The stop execution statement +19.10=The return statement +19.11=The log statement +19.12=The break statement +19.13=The continue statement +19.14=Statement block +20=Statement and operations for alternative behaviours +20.1=The snapshot mechanism +20.2=The alt statement +20.3=The repeat statement +20.4=The interleave statement +20.5=Default handling +20.5.1=The default mechanism +20.5.2=The activate operation +20.5.3=The deactivate operation +21=Configuration operations +21.1=Connection operations +21.1.1=The connect and map operations +21.1.2=The disconnect and unmap operations +21.2=Test case operations +21.2.1=Test case stop operation +21.3=Test component operations +21.3.1=The create operation +21.3.2=The start test component operation +21.3.3=The stop test behaviour operation +21.3.4=The kill test component operation +21.3.5=The alive operation +21.3.6=The running operation +21.3.7=The done operation +21.3.8=The killed operation +21.3.9=Summary of the use of any and all with components +22=Communication operations +22.1=The communication mechanisms +22.1.1=Principles of message-based communication +22.1.2=Principles of procedure-based communication +22.1.3=Principles of unicast, multicast and broadcast communication +22.1.4=General format of communication operations +22.1.4.1=General format of the sending operations +22.1.4.2=General format of the receiving operations +22.2=Message-based communication +22.2.1=The send operation +22.2.2=The receive operation +22.2.3=The trigger operation +22.3=Procedure-based communication +22.3.1=The call operation +22.3.2=The getcall operation +22.3.3=The reply operation +22.3.4=The getreply operation +22.3.5=The raise operation +22.3.6=The catch operation +22.4=The check operation +22.5=Controlling communication ports +22.5.1=The clear port operation +22.5.2=The start port operation +22.5.3=The stop port operation +22.5.4=The halt port operation +22.6=Use of any and all with ports +23=Timer operations +23.1=The timer mechanism +23.2=The start timer operation +23.3=The stop timer operation +23.4=The read timer operation +23.5=The running timer operation +23.6=The timeout operation +23.7=Summary of the use of any and al with timers +24=Test verdict operations +24.1=The verdict mechanism +24.2=The setverdict mechanism +24.3=The getverdict mechanism +25=External actions +26=Module control +26.1=The execute statement +26.2=The control part +27=Specifying attributes +27.1=The attribute mechanism +27.1.1=Scope of attributes +27.1.2=Overwriting rules for attributes +27.1.2.1=Additional overwriting rules for variant attributes +27.1.3=Changing attributes of imported language elements +27.2=The with statement +27.3=Display attributes +27.4=Encoding attributes +27.5=Variant attributes +27.6=Extension attributes +27.7=Optional attributes +A=BNF and static semantics +A.1=TTCN-3 BNF +A.1.1=Conventions for the syntax description +A.1.2=Statement terminator symbols +A.1.3=Identifiers +A.1.4=Comments +A.1.5=TTCN-3 terminals +A.1.5.1=Use of whitespaces and newlines +A.1.6=TTCN-3 syntax BNF productions +A.1.6.0=TTCN-3 module +A.1.6.1=Module definitions part +A.1.6.1.0=General +A.1.6.1.1=Typedef definitions +A.1.6.1.2=Constant definitions +A.1.6.1.3=Template definitions +A.1.6.1.4=Function definitions +A.1.6.1.5=Signature definitions +A.1.6.1.6=Testcase definitions +A.1.6.1.7=Altstep definitions +A.1.6.1.8=Import definitions +A.1.6.1.9=Group definitions +A.1.6.1.10=External function definitions +A.1.6.1.11=External constant definitions +A.1.6.1.12=Module parameter definitions +A.1.6.1.13=Friend module definitions +A.1.6.2=Control part +A.1.6.2.0=General +A.1.6.2.1=Variable instantiation +A.1.6.2.2=Timer instantiation +A.1.6.2.3=Component operations +A.1.6.2.4=Port operations +A.1.6.2.5=Timer operations +A.1.6.3=Type +A.1.6.4=Value +A.1.6.5=Parameterization +A.1.6.6=With statement +A.1.6.7=Behaviour statements +A.1.6.8=Basic statements +A.1.6.9=Miscallaneous productions +B=Matching incoming values +B.1=Template matching mechanisms +B.1.1=Matching specific values +B.1.2=Matching mechanisms instead of values +B.1.2.1=Value list +B.1.2.2=Complemented value list +B.1.2.3=Any value +B.1.2.4=Any value or none +B.1.2.5=Value range +B.1.2.6=SuperSet +B.1.2.7=SubSet +B.1.2.8=Omitting optional fields +B.1.3=Matching mechanisms inside values +B.1.3.1=Any element +B.1.3.1.1=Using single character wildcards +B.1.3.2=Any number of elements of no element +B.1.3.2.1=Using multiple character wildcards +B.1.3.3=Permutation +B.1.4=Matching attributes of values +B.1.4.1=Length restrictions +B.1.4.2=The ifpresent indicator +B.1.5=Matching character pattern +B.1.5.1=Set expression +B.1.5.2=Reference expression +B.1.5.3=Match expression n times +B.1.5.4=Match a referenced character set +B.1.5.5=Type compatibility rules for patterns +C=Pre-defined TTCN-3 functions +C.0=General exception handling procedures +C.1=Integer to character +C.2=Integer to universal character +C.3=Integer to bitstring +C.4=Integer to hexstring +C.5=Integer to octetstring +C.6=Integer to charstring +C.7=Integer to float +C.8=Float to integer +C.9=Character to integer +C.10=Character to octetstring +C.11=Universal character to integer +C.12=Bitstring to integer +C.13=Bitstring to hexstring +C.14=Bitstring to octetstring +C.15=Bitstring to charstring +C.16=Hexstring to integer +C.17=Hexstring to bitstring +C.18=Hexstring to octetstring +C.19=Hexstring to charstring +C.20=Octetstring to integer +C.21=Octetstring to bitstring +C.22=Octetstring to hexstring +C.23=Octetstring to character string +C.24=Octetstring to character string, version II +C.25=Character to integer +C.26=Character string to hexstring +C.27=Character string to octetstring +C.28=Character string to float +C.29=Length of strings and lists +C.30=Number of elements in a structured value +C.31=The ispresent function +C.32=The ischosen function +C.33=The regexp function +C.34=The substring function +C.35=The replace function +C.36=The random number generator function +C.37=Enumerated to integer +C.38=The isvalue function +C.39=The encoding function +C.40=The decoding function +C.41=The testcasename function +D=Preprocessing macros +D.1=Preprocessing macro __MODULE__ +D.2=Preprocessing macro __FILE__ +D.3=Preprocessing macro __BFILE__ +D.4=Preprocessing macro __LINE__ +D.5=Preprocessing macro __SCOPE__ diff --git a/misc/STF409Tools/resources/tp-file-foot.html b/misc/STF409Tools/resources/tp-file-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..6084cbf673b09a221b4c10500c27994cb86755ae --- /dev/null +++ b/misc/STF409Tools/resources/tp-file-foot.html @@ -0,0 +1,8 @@ + +

 

+ + + + + + \ No newline at end of file diff --git a/misc/STF409Tools/resources/tp-file-head.html b/misc/STF409Tools/resources/tp-file-head.html new file mode 100644 index 0000000000000000000000000000000000000000..7b35c968f1fb7d260b83f81de6336869d1afc3ed --- /dev/null +++ b/misc/STF409Tools/resources/tp-file-head.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + +
+ diff --git a/misc/STF409Tools/resources/tp-sample.htm b/misc/STF409Tools/resources/tp-sample.htm new file mode 100644 index 0000000000000000000000000000000000000000..caafe2ca85db2d147fa895e7cbfba36f333e1d38 --- /dev/null +++ b/misc/STF409Tools/resources/tp-sample.htm @@ -0,0 +1,734 @@ + + + + + + + + + + + + + + + + + + +
+

Item

+
+

TC/TP reference

+
+

purpose

+
+

Reference in ES 201 873-1

+
+

Status

+
+

Support

+
+

{{NUMBER}}

+
+

{{TCTPREF}}

+
+

{{PURPOSE}}

+
+

{{CLAUSE}}

+
+

{{STATUS}}

+
+

 

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test Purpose Id

+
+

TP_NegSyn_0501_Identifier

+
+

Reference

+
+

ES + 201 873-1 [1], + Clause 5.1

+
+

ICS

+
+

None

+
+

Dependencies

+
+

None

+
+

Summary

+
+

Ensure + that when the IUT loads a module containing an identifier named with a + keyword then the module is rejected

+
+

Expected Output

+
+

Rejection + as invalid

+
+

Notes

+
+

 

+
+ +
+ +

 

+ + + + + + diff --git a/misc/STF409Tools/resources/tp-section-foot.html b/misc/STF409Tools/resources/tp-section-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..c42daf6464196f24b2a8d7a636fb92629b77ac5b --- /dev/null +++ b/misc/STF409Tools/resources/tp-section-foot.html @@ -0,0 +1,2 @@ + + diff --git a/misc/STF409Tools/resources/tp-section-head.html b/misc/STF409Tools/resources/tp-section-head.html new file mode 100644 index 0000000000000000000000000000000000000000..f5518f6d7c20f4866fbbdb95178fd16ec0c49f62 --- /dev/null +++ b/misc/STF409Tools/resources/tp-section-head.html @@ -0,0 +1,9 @@ +

{{CHAPTERNUMBER}} {{CHAPTERTITLE}}

+ +
diff --git a/misc/STF409Tools/resources/tp-table.html b/misc/STF409Tools/resources/tp-table.html new file mode 100644 index 0000000000000000000000000000000000000000..f4292ddc06fdbc80f5f252640fba41f2d4201a0a --- /dev/null +++ b/misc/STF409Tools/resources/tp-table.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Test Purpose Id

+
+

{{TESTPURPOSEID}}

+
+

Reference

+
+

{{REFERENCE}}

+
+

ICS

+
+

{{ICS}}

+
+

Dependencies

+
+

{{DEPENDENCIES}}

+
+

Summary

+
+

{{SUMMARY}}

+
+

Expected Output

+
+

{{EXPECTEDOUTPUT}}

+
+

Notes

+
+

{{NOTES}}

+
+
\ No newline at end of file diff --git a/misc/STF409Tools/resources/tss-file-foot.html b/misc/STF409Tools/resources/tss-file-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..6ee71e3d7c8395209cf9d03c6e0d1a6ac50afe8f --- /dev/null +++ b/misc/STF409Tools/resources/tss-file-foot.html @@ -0,0 +1,9 @@ +

 

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/misc/STF409Tools/resources/tss-file-head.html b/misc/STF409Tools/resources/tss-file-head.html new file mode 100644 index 0000000000000000000000000000000000000000..38d4a9393bb63a83ca39e309e00a739c8a0457a1 --- /dev/null +++ b/misc/STF409Tools/resources/tss-file-head.html @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + + + +
+ diff --git a/misc/STF409Tools/resources/tss-sample.htm b/misc/STF409Tools/resources/tss-sample.htm new file mode 100644 index 0000000000000000000000000000000000000000..ee748c460d2292e968ce60cb759b2c92b12db9f1 --- /dev/null +++ b/misc/STF409Tools/resources/tss-sample.htm @@ -0,0 +1,673 @@ + + + + + + + + + + + + + + + + + + +
+ +

Table B.1: Test +suite structure, positive tests

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Basic language + elements

+
+

Identifiers and keywords

+
+

TC_Syn_0501_Identifier_xxx

+
+

TC_Sem_0501_Identifier_xxx

+
+

Scope rules

+
+

TC_Syn_0502_Scopes_xxx

+
+

TC_Sem_0502_Scopes_xxx

+
+

Ordering of + language elements

+
+

TC_Syn_0503_Ordering_xxx

+
+

TC_Sem_0503_Ordering_xxx

+
+

Types and values

+
+

Basic types and + values

+
+

TC_Syn _0601_BasicTypes_xxx

+
+

TC_Sem _0601_BasicTypes_xxx

+
+

Structured types + and values

+
+

TC_Syn _0602_StructuredTypes_xxx

+
+

TC_Sem _0602_StructuredTypes_xxx

+
+

Type + compatibility

+
+

TC_Syn _0603_TypeComp_xxx

+
+

TC_Sem _0603_TypeComp_xxx

+
+

Type synonym

+
+

TC_Syn _0604_TypeSynonym_xxx

+
+

TC_Sem _0700_Expressions_xxx

+
+ +
+ +

 

+ +

 

+ +
+ + + + diff --git a/misc/STF409Tools/resources/tss-section-foot.html b/misc/STF409Tools/resources/tss-section-foot.html new file mode 100644 index 0000000000000000000000000000000000000000..1c58c9acb390251bc47aacb256a594ef8770f543 --- /dev/null +++ b/misc/STF409Tools/resources/tss-section-foot.html @@ -0,0 +1,4 @@ + + + +
\ No newline at end of file diff --git a/misc/STF409Tools/resources/tss-section-head.html b/misc/STF409Tools/resources/tss-section-head.html new file mode 100644 index 0000000000000000000000000000000000000000..3323517f2af05aad09a2ca49b2a4ce1a5547f6bd --- /dev/null +++ b/misc/STF409Tools/resources/tss-section-head.html @@ -0,0 +1,8 @@ + +

Table {{TABLENUMBER}}: {{TABLEDESCRIPTION}}

+ +
+ + \ No newline at end of file diff --git a/misc/STF409Tools/src/Clause.java b/misc/STF409Tools/src/Clause.java new file mode 100644 index 0000000000000000000000000000000000000000..c0911ea48cac5a0d106c30e1c121fac2fb60952f --- /dev/null +++ b/misc/STF409Tools/src/Clause.java @@ -0,0 +1,276 @@ +public class Clause implements Comparable { + private Integer mainClause = null; + private Integer subClause = null; + private Integer subSubClause = null; + private Integer subSubSubClause = null; + private Integer subSubSubSubClause = null; + private Integer subSubSubSubSubClause = null; + private Character annex = null; + + public Integer getMainClause() { + return mainClause; + } + + public void setMainClause(Integer mainClause) { + this.mainClause = mainClause; + } + + public Integer getSubClause() { + return subClause; + } + + public void setSubClause(Integer subClause) { + this.subClause = subClause; + } + + public Integer getSubSubClause() { + return subSubClause; + } + + public void setSubSubClause(Integer subSubClause) { + this.subSubClause = subSubClause; + } + + public Integer getSubSubSubClause() { + return subSubSubClause; + } + + public void setSubSubSubClause(Integer subSubSubClause) { + this.subSubSubClause = subSubSubClause; + } + + public Integer getSubSubSubSubClause() { + return subSubSubSubClause; + } + + public void setSubSubSubSubClause(Integer subSubSubSubClause) { + this.subSubSubSubClause = subSubSubSubClause; + } + + public Integer getSubSubSubSubSubClause() { + return subSubSubSubSubClause; + } + + public void setSubSubSubSubSubClause(Integer subSubSubSubSubClause) { + this.subSubSubSubSubClause = subSubSubSubSubClause; + } + + public Character getAnnex() { + return annex; + } + + public void setAnnex(Character annex) { + this.annex = annex; + } + + public Clause(String clause) { + String clauseString = clause; + if (Character.isLetter(clauseString.charAt(0))) { // we start with an + // annex + annex = new Character(clauseString.charAt(0)); + + if (clause.length() == 1) + return; + + clauseString = clause.substring(1); + } + if (clauseString.charAt(0) == '.') { + clauseString = clauseString.substring(1); + } + + if (clauseString.contains(".")) { + + String[] parts = clauseString.split("\\."); + if (parts.length >= 1) + mainClause = Integer.parseInt(parts[0]); + if (parts.length >= 2) + subClause = Integer.parseInt(parts[1]); + if (parts.length >= 3) + subSubClause = Integer.parseInt(parts[2]); + if (parts.length >= 4) + subSubSubClause = Integer.parseInt(parts[3]); + if (parts.length >= 5) + subSubSubSubClause = Integer.parseInt(parts[4]); + if (parts.length >= 6) + subSubSubSubSubClause = Integer.parseInt(parts[5]); + } else { + mainClause = Integer.parseInt(clauseString); + } + + } + + public String toString() { + StringBuffer result = new StringBuffer(); + + if (annex != null) { + result.append(annex); + } + + if (mainClause != null) { + if (annex != null) + result.append("."); + result.append(mainClause); + } + + if (subClause != null) { + result.append("."); + result.append(subClause); + + if (subSubClause != null) { + result.append("."); + result.append(subSubClause); + + if (subSubSubClause != null) { + result.append("."); + result.append(subSubSubClause); + + if (subSubSubSubClause != null) { + result.append("."); + result.append(subSubSubSubClause); + + if (subSubSubSubSubClause != null) { + result.append("."); + result.append(subSubSubSubSubClause); + } + } + } + } + } + + return result.toString(); + } + + @Override + public int compareTo(Clause y) { + if ((annex != null) && (y.getAnnex() == null)) { + return +1; + } + if ((annex == null) && (y.getAnnex() != null)) { + return -1; + } + + if ((annex != null) && (y.getAnnex() != null) + && (!annex.equals(y.getAnnex()))) { + if (annex > y.getAnnex()) { + return +1; + } else { + return -1; + } + } + + if (((annex == null) && (y.getAnnex() == null)) + || (annex.equals(y.getAnnex()))) { + if (annex != null && y.getAnnex() != null + && annex.equals(y.getAnnex()) && mainClause == null + && y.getMainClause() != null) + return -1; + + if (annex != null && y.getAnnex() != null + && annex.equals(y.getAnnex()) && mainClause != null + && y.getMainClause() == null) + return +1; + + if (mainClause > y.getMainClause()) { + return +1; + } + if (mainClause < y.getMainClause()) { + return -1; + } + + if ((mainClause != null) && (y.getMainClause() != null)) { + if (mainClause.equals(y.getMainClause())) { + if ((subClause == null) && (y.getSubClause() != null)) + return -1; + if ((subClause != null) && (y.getSubClause() == null)) + return +1; + + if (subClause > y.getSubClause()) { + return +1; + } + if (subClause < y.getSubClause()) { + return -1; + } + + if (subClause.equals(y.getSubClause())) { + if ((subSubClause == null) + && (y.getSubSubClause() != null)) + return -1; + if ((subSubClause != null) + && (y.getSubSubClause() == null)) + return +1; + + if (subSubClause > y.getSubSubClause()) { + return +1; + } + if (subSubClause < y.getSubSubClause()) { + return -1; + } + + if (subSubClause.equals(y.getSubSubClause())) { + if ((subSubSubClause == null) + && (y.getSubSubSubClause() != null)) + return -1; + if ((subSubSubClause != null) + && (y.getSubSubSubClause() == null)) + return +1; + + if (subSubSubClause > y.getSubSubSubClause()) { + return +1; + } + if (subSubSubClause < y.getSubSubSubClause()) { + return -1; + } + + if (subSubSubClause.equals(y.getSubSubSubClause())) { + if ((subSubSubSubClause == null) + && (y.getSubSubSubSubClause() != null)) + return -1; + if ((subSubSubSubClause != null) + && (y.getSubSubSubSubClause() == null)) + return +1; + + if (subSubSubSubClause > y + .getSubSubSubSubClause()) { + return +1; + } + if (subSubSubSubClause < y + .getSubSubSubSubClause()) { + return -1; + } + + if (subSubSubSubClause.equals(y + .getSubSubSubSubClause())) { + if ((subSubSubSubSubClause == null) + && (y.getSubSubSubSubSubClause() != null)) + return -1; + if ((subSubSubSubSubClause != null) + && (y.getSubSubSubSubSubClause() == null)) + return +1; + + if (subSubSubSubSubClause > y + .getSubSubSubSubSubClause()) { + return +1; + } + if (subSubSubSubSubClause < y + .getSubSubSubSubSubClause()) { + return -1; + } + + return 0; + } + + } + + } + + } + } + } + + return 0; + } + + return 0; + } + +} diff --git a/misc/STF409Tools/src/ClauseEntry.java b/misc/STF409Tools/src/ClauseEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..8776aaf9c5008ac3b9963d40b126bada8f9b6b52 --- /dev/null +++ b/misc/STF409Tools/src/ClauseEntry.java @@ -0,0 +1,32 @@ +import java.io.File; + +public class ClauseEntry { + private File file; + private T3Purpose purpose; + private T3ExpectedOutput expected; + + public File getFile() { + return file; + } + + public void setFile(File file) { + this.file = file; + } + + public T3Purpose getPurpose() { + return purpose; + } + + public void setPurpose(T3Purpose purpose) { + this.purpose = purpose; + } + + public T3ExpectedOutput getExpected() { + return expected; + } + + public void setExpected(T3ExpectedOutput expected) { + this.expected = expected; + } + +} diff --git a/misc/STF409Tools/src/Clipboard2JavaString.java b/misc/STF409Tools/src/Clipboard2JavaString.java new file mode 100644 index 0000000000000000000000000000000000000000..242a5e0d737336de767487dadcdda5f9d0bfef20 --- /dev/null +++ b/misc/STF409Tools/src/Clipboard2JavaString.java @@ -0,0 +1,33 @@ +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import javax.swing.JFrame; + +public class Clipboard2JavaString extends JFrame { + private static final long serialVersionUID = 1L; + Clipboard clipboard = null; + + public void run() { + if (clipboard == null) + clipboard = getToolkit().getSystemClipboard(); + Transferable clipData = clipboard.getContents(this); + String s; + try { + s = (String) (clipData.getTransferData(DataFlavor.stringFlavor)); + String[] strings = s.split("[\r\n]+"); + for (int i = 0; i < strings.length; i++) { + if (i < strings.length - 1) + System.out.println("\"" + strings[i] + "\\n\" + "); + else + System.out.println("\"" + strings[i] + "\";"); + } + } catch (Exception ee) { + ee.printStackTrace(); + } + + } + + public static void main(String[] args) { + new Clipboard2JavaString().run(); + } +} diff --git a/misc/STF409Tools/src/CoverageLister.java b/misc/STF409Tools/src/CoverageLister.java new file mode 100644 index 0000000000000000000000000000000000000000..ca408cf9f1b27a62e19009143361900f71c7b73c --- /dev/null +++ b/misc/STF409Tools/src/CoverageLister.java @@ -0,0 +1,116 @@ +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map.Entry; +import java.util.Properties; + + +public class CoverageLister { + + public static Properties references = new Properties(); + public static ArrayList foo = new ArrayList(); + public static HashSet atsDirectories = new HashSet(); + public static ArrayList atsFiles = new ArrayList(); + public static HashSet coveredClauses = new HashSet(); + + + public String clauseEnhancer(String str) { + String[] parts = str.split("\\."); + + String composed = ""; + + for (int i=0; i < parts.length; i++) { + try { + int number = Integer.parseInt(parts[i]); + composed += String.format("%02d", number); + } catch (NumberFormatException e) { + composed += parts[i]; + } + if (i+1 < parts.length) + composed += "."; + } + return composed; + } + + public void run() { + try { + FileUtils.loadReferences(references); + FileUtils.visitAllFiles(new File("/Users/bst/repos/ConformanceSTF/ATS/"), atsFiles); + } catch (IOException e) { + e.printStackTrace(); + } + + for (int i=0; i < atsFiles.size(); i++) { + atsDirectories.add(atsFiles.get(i).getParentFile().getName()); + } + + Iterator it = atsDirectories.iterator(); + + while (it.hasNext()) { + String entry = it.next(); + String[] parts = entry.split("_"); + String clause = clausePreparer(parts[0]); + coveredClauses.add(clause); +// System.out.println(clause); + } + + Iterator> it2 = references.entrySet().iterator(); + + while (it2.hasNext()) { + Entry entry = it2.next(); + + String str = ""; + str += clauseEnhancer(entry.getKey().toString()); + str += "\t"; + str += entry.getValue(); + str += "\t"; + if (coveredClauses.contains(clauseEnhancer(entry.getKey().toString()))) + str += "**covered**"; + + foo.add(str); + } + + Collections.sort(foo); + + System.out.println("Sections not covered by tests, please note that only one section was referenced by a test. There are tests that cover multiple standard sections."); + for (int i=0; i < foo.size(); i++) { + if (!foo.get(i).contains("**covered**")) +// System.out.println(foo.get(i)); + System.out.println(foo.get(i).replaceAll("\\*\\*covered\\*\\*", "")); + } + + } + + public String clausePreparer(String str) { + int index = 0; + String targetStr = ""; + + while (index < str.length()) { + char prefixChar = str.charAt(index); + if (prefixChar >= 'A' && prefixChar <= 'E') { + targetStr += str.substring(index,index+1); + index++; + if (index < str.length()) + targetStr += "."; + } else { + targetStr += str.substring(index,index+2); + index += 2; + if (index < str.length()) + targetStr += "."; + } + } + + return targetStr; + } + + public CoverageLister() { + } + + public static void main(String[] args) { + new CoverageLister().run(); + } + +} diff --git a/misc/STF409Tools/src/DeliverableGenerator.java b/misc/STF409Tools/src/DeliverableGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..6a470096367a0b82c1b3d2132fd5fc0eb5648353 --- /dev/null +++ b/misc/STF409Tools/src/DeliverableGenerator.java @@ -0,0 +1,107 @@ +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Properties; +import java.util.Set; + +public class DeliverableGenerator { + + private static final String[] IGNORED_FILES = {".svn", ".git", ".externalToolBuilders", ".settings", "bin", "ttcn3build"}; + private static Set ignoredFiles = new HashSet(Arrays.asList(IGNORED_FILES)); + + public static Properties config = new Properties(); + public static Properties references = new Properties(); + + public static void generateDeliverableDirectory(File sf, File tf) { + if (sf.isDirectory()) { + File newDir = new File(tf.getAbsolutePath() + "/" + sf.getName()); + if (ignoredFiles.contains(sf.getName())) + return; + + newDir.mkdir(); + String[] children = sf.list(); + for (int i = 0; i < children.length; i++) { + generateDeliverableDirectory(new File(sf, children[i]), newDir); + } + } else { + if (sf.toString().endsWith(".ttcn")) { + File newDir = new File(tf.getAbsolutePath() + "/" + sf.getName().replaceAll(".ttcn", "")); + newDir.mkdir(); + + try { + int moduleCount = FileUtils.countT3Modules(sf); + if (moduleCount <= 1) { + File targetFile = new File(newDir + "/" + sf.getName()); + FileUtils.copyFile(sf, targetFile); + } else { + File targetFile = new File(newDir + "/temp.ttcn"); + FileUtils.copyFile(sf, targetFile); + FileUtils.splitT3ModuleFiles(targetFile); + targetFile.delete(); + } + + + } catch (IOException e) { + e.printStackTrace(); + } +// FileUtils.countT3Modules(f) +// copyFile(); +// System.out.println(sf.toString()); + } + } + } + + // ----------------------------------------------------------------------------------------------- + + public void run() { + System.out.println("STF409 Tools: ATS Deliverable Generator v0.1"); + try { + FileUtils.loadConfig(config); + FileUtils.loadReferences(references); + } catch (IOException e) { + System.err + .println("[ERROR] Cannot load config file or config file is incomplete."); + return; + } + + String atsPath = config.get("ATSPath").toString(); + String deliverablePath = config.get("DeliverableATSPath").toString(); + + File deliverable = new File(deliverablePath); + deliverable.mkdirs(); + + generateDeliverableDirectory(new File(atsPath), deliverable); + +// List myList = new ArrayList(); +// Iterator it = references.keySet().iterator(); +// System.out.println("----"); +// while (it.hasNext()) { +// Object value = it.next(); +// if (value instanceof String) { +// myList.add(new Clause((String) value)); +// } +// } +// +// Collections.sort(myList); + +// String atsPath = config.get("ATSPath").toString(); +// System.out.println("Gathering files..."); +// FileUtils.visitAllFiles(new File(atsPath), files); +// +// System.out.println("Processing files..."); +// +// for (int i=0; i < files.size(); i++) { +// File tempFile = new File(config.get("TempPath") + "/" + files.get(i).getName()); +// } + + System.out.println("done."); + } + + // ----------------------------------------------------------------------------------------------- + + public static void main(String[] args) { + new DeliverableGenerator().run(); + } + +} diff --git a/misc/STF409Tools/src/FileUtils.java b/misc/STF409Tools/src/FileUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..3b014583894e1662bf0bbe2810e347af4d15c346 --- /dev/null +++ b/misc/STF409Tools/src/FileUtils.java @@ -0,0 +1,251 @@ +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.nio.channels.FileChannel; +import java.util.ArrayList; +import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class FileUtils { + + public static void visitAllFiles(File f, ArrayList files) { + if (f.isDirectory()) { + String[] children = f.list(); + for (int i = 0; i < children.length; i++) { + visitAllFiles(new File(f, children[i]), files); + } + } else { + if (f.toString().endsWith(".ttcn")) { + files.add(f); + } + } + } + + // ----------------------------------------------------------------------------------------------- + + public static void loadConfig(Properties config) throws IOException { + FileInputStream fis = new FileInputStream( + "resources/STF409Tools.properties"); + config.load(fis); + fis.close(); + if (/* (config.get("TempPath") == null) || */ + (config.get("LogPath") == null) + || (config.get("ATSPath") == null)) { + throw new IOException(); + } + + } + + // ----------------------------------------------------------------------------------------------- + + public static void loadReferences(Properties references) throws IOException { + FileInputStream fis = new FileInputStream( + "resources/references.properties"); + references.load(fis); + fis.close(); + } + + // ----------------------------------------------------------------------------------------------- + + public static void copyFile(File in, File out) throws IOException { + FileChannel inChannel = new FileInputStream(in).getChannel(); + FileChannel outChannel = new FileOutputStream(out).getChannel(); + try { + inChannel.transferTo(0, inChannel.size(), outChannel); + } catch (IOException e) { + throw e; + } finally { + if (inChannel != null) + inChannel.close(); + if (outChannel != null) + outChannel.close(); + } + } + + // ----------------------------------------------------------------------------------------------- + + public static int countT3Modules(File f) { + int moduleCount = 0; + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*module\\s+\\w+\\s*.*")) { + moduleCount++; + } + } + in.close(); + fs.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return moduleCount; + } + + // ----------------------------------------------------------------------------------------------- + + public static T3ExpectedOutput extractExpectedOutput(File f) { + T3ExpectedOutput t3ExpectedOutput = new T3ExpectedOutput(); + + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*\\*+\\s*@verdict\\s*.*")) { + Matcher matcher = Pattern.compile( + "^^\\s*\\*+\\s*@verdict\\s*pass\\s*(.*)") + .matcher(strLine); + if (matcher.find()) { + String result = matcher.group(1); + String[] split = result.split(","); + t3ExpectedOutput.setExpectedOutput(split[0].trim()); + if (split.length > 1) + t3ExpectedOutput + .setExecutionResult(split[1].trim()); + } + + // System.out.println(strLine); + } + } + in.close(); + fs.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + return t3ExpectedOutput; + } + + // ----------------------------------------------------------------------------------------------- + + public static T3Purpose extractPurpose(File f) { + T3Purpose t3Purpose = new T3Purpose(); + + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*\\*+\\s*@purpose\\s*.*")) { + Matcher matcher = Pattern + .compile( + "^\\s*\\*+\\s*@purpose\\s*(\\d+):(.*?)\\s*,\\s*(.*)") + .matcher(strLine); + if (matcher.find()) { + String result = matcher.group(1); + t3Purpose.setPartReference(Integer.parseInt(result)); + result = matcher.group(2); + t3Purpose.setClause(result); + result = matcher.group(3); + t3Purpose.setPurposeText(result); +// System.out.println(result); + + // t3ExpectedOutput.setExpectedOutput(split[0].trim()); + // if (split.length > 1) + // t3ExpectedOutput.setExecutionResult(split[1].trim()); + } + + // System.out.println(strLine); + } + } + in.close(); + fs.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + return t3Purpose; + } + + // ----------------------------------------------------------------------------------------------- + + public static ArrayList splitT3ModuleFiles(File f) { + ArrayList files = new ArrayList(); + StringBuffer current = new StringBuffer(); + File newFile = new File(f.getParent() + "//temp.ttcn"); + if (f.exists()) { + f.renameTo(newFile); + } + + try { + FileInputStream fs = new FileInputStream(newFile.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + int moduleCounter = 0; + String currentModuleName = ""; + + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*module\\s+\\w+\\s*.*")) { + moduleCounter++; + if (moduleCounter > 1) { // write file + String targetFilename = f.getParent() + "//" + + currentModuleName + ".ttcn"; + FileWriter fw = new FileWriter(targetFilename); + fw.write(current.toString()); + fw.close(); + current = new StringBuffer(); + files.add(new File(targetFilename)); + } + Matcher matcher = Pattern.compile( + "^\\s*module\\s+(\\w+)\\s*.*").matcher(strLine); + if (matcher.find()) { + currentModuleName = matcher.group(1); + } + } + current.append(strLine + "\n"); + } + // write file + String targetFilename = f.getParent() + "//" + currentModuleName + + ".ttcn"; + FileWriter fw = new FileWriter(targetFilename); + fw.write(current.toString()); + fw.close(); + in.close(); + fs.close(); + files.add(new File(targetFilename)); + newFile.delete(); + } catch (IOException e) { + e.printStackTrace(); + } + + return files; + } + + public static String loadFileToString(File file) throws IOException { + int len; + char[] chr = new char[4096]; + final StringBuffer buffer = new StringBuffer(); + BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "ISO-8859-1")); + try { + while ((len = reader.read(chr)) > 0) { + buffer.append(chr, 0, len); + } + } finally { + reader.close(); + } + return buffer.toString(); + } + + public static void saveStringToFile(File file, String str) throws IOException { + PrintWriter out = new PrintWriter(new FileWriter(file)); + out.print(str); + out.close(); + } +} diff --git a/misc/STF409Tools/src/ICSProformaTableGenerator.java b/misc/STF409Tools/src/ICSProformaTableGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..2e43a347712d179092e3440a8d2131c3fc7d16bd --- /dev/null +++ b/misc/STF409Tools/src/ICSProformaTableGenerator.java @@ -0,0 +1,160 @@ +// ICS is not generated anymore. we keep this only as a reference for possible further tools. + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Properties; + +public class ICSProformaTableGenerator { + + public static Properties config = new Properties(); + public static Properties references = new Properties(); + private ArrayList files = new ArrayList(); + private HashMap> clauseMap = new HashMap>(); + + // ----------------------------------------------------------------------------------------------- + + public ICSProformaTableGenerator() { + } + + // ----------------------------------------------------------------------------------------------- + + public void run() { + System.out.println("STF409 Tools: ICS Proforma Table Generator v0.1"); + try { + FileUtils.loadConfig(config); + FileUtils.loadReferences(references); + } catch (IOException e) { + System.err + .println("[ERROR] Cannot load config file or config file is incomplete."); + return; + } + + List myList = new ArrayList(); + Iterator it = references.keySet().iterator(); + System.out.println("----"); + while (it.hasNext()) { + Object value = it.next(); + if (value instanceof String) { + myList.add(new Clause((String) value)); + } + } + + Collections.sort(myList); + + String atsPath = config.get("ATSPath").toString(); + System.out.println("Gathering files..."); + FileUtils.visitAllFiles(new File(atsPath), files); + + System.out.println("Processing files..."); + for (int i=0; i < files.size(); i++) { + File origFile = files.get(i); +// File tempFile = new File(config.get("TempPath") + "/" + origFile.getName()); + File tempFile = origFile; // use original file instead of a copy + T3Purpose purpose = FileUtils.extractPurpose(tempFile); + T3ExpectedOutput expected = FileUtils.extractExpectedOutput(tempFile); +// System.out.println(purpose.getClauseStructured()); + ArrayList clauseEntries = clauseMap.get(purpose.getClauseStructured().toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMap.put(purpose.getClauseStructured().toString(), clauseEntries); + +// System.out.println(purpose); +// System.out.println(" " +references.get(purpose.getClause())); + } + + + try { + String icsFileHead = FileUtils.loadFileToString(new File("resources/ics-file-head.html")); + String icsFileFooter = FileUtils.loadFileToString(new File("resources/ics-file-foot.html")); + String icsSectionHead = FileUtils.loadFileToString(new File("resources/ics-section-head.html")); + String icsSectionFoot = FileUtils.loadFileToString(new File("resources/ics-section-foot.html")); + String icsTableRow = FileUtils.loadFileToString(new File("resources/ics-table-line.html")); + + StringBuffer result = new StringBuffer(); + + result.append(icsFileHead); + + int tableCounter = 0; + int sectionCounter = 1; + for (int i=0; i < myList.size(); i++) { + Clause clause = myList.get(i); + ArrayList clauseEntries = clauseMap.get(clause.toString()); + + if (clauseEntries != null && clauseEntries.size() > 0) { + tableCounter++; + sectionCounter++; + result.append(createSectionHead(icsSectionHead, "A.3." + sectionCounter, references.getProperty(clause.toString()), "A." + tableCounter)); + for (int j=0; j < clauseEntries.size(); j++) { + String purposeText = clauseEntries.get(j).getPurpose().getPurposeText(); + if (purposeText.startsWith("Ensure that")) { + purposeText = purposeText.replaceAll("^Ensure that", "").trim(); + String temp = purposeText.substring(0, 1).toUpperCase() + purposeText.substring(1); + purposeText = temp; + } + + result.append(createTableRow(icsTableRow, j+1, purposeText, "Clause " + clause, "m", clauseEntries.get(j).getFile().getName().replaceAll("\\.ttcn", ""))); + } + result.append(icsSectionFoot); + } + + } + + result.append(icsFileFooter); + + //System.out.println(result.toString()); + FileUtils.saveStringToFile(new File(config.get("DeliverableATSPath")+"/stf409-ics.html"), result.toString()); + + } catch (IOException e) { + e.printStackTrace(); + } + + + +// for (int i=0; i < myList.size(); i++) { +// String clauseDesc = references.getProperty(myList.get(i).toString()); +// System.out.println(myList.get(i) + " - " + clauseDesc); +// } +// System.out.println("----"); + + + System.out.println("done."); + } + + // ----------------------------------------------------------------------------------------------- + + private String createTableRow(String tableRow, int number, String purpose, String clause, String status, String tpRef) throws IOException { + String icsTableRow = tableRow.replaceAll("\\{\\{NUMBER\\}\\}", Integer.toString(number)); + icsTableRow = icsTableRow.replaceAll("\\{\\{PURPOSE\\}\\}", purpose); + icsTableRow = icsTableRow.replaceAll("\\{\\{CLAUSE\\}\\}", clause); + icsTableRow = icsTableRow.replaceAll("\\{\\{STATUS\\}\\}", status); + icsTableRow = icsTableRow.replaceAll("\\{\\{TCTPREF\\}\\}", tpRef); + + return icsTableRow; + + } + + private String createSectionHead(String sectionHead, String targetClause, String clauseDescription, String tableNumber) { + String icsSectionHead = sectionHead.replaceAll("\\{\\{TARGETCLAUSE\\}\\}", targetClause); + icsSectionHead = icsSectionHead.replaceAll("\\{\\{CLAUSEDESCRIPTION\\}\\}", clauseDescription); + icsSectionHead = icsSectionHead.replaceAll("\\{\\{TABLENUMBER\\}\\}", tableNumber); + return icsSectionHead; + } + + // ----------------------------------------------------------------------------------------------- + + public static void main(String[] args) { + new ICSProformaTableGenerator().run(); + } + +} diff --git a/misc/STF409Tools/src/Logger.java b/misc/STF409Tools/src/Logger.java new file mode 100644 index 0000000000000000000000000000000000000000..f457d0f71bc4fd781ef4f9849e9c3847d44a999c --- /dev/null +++ b/misc/STF409Tools/src/Logger.java @@ -0,0 +1,88 @@ +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +public class Logger { + private File allLogFile; + private File criticalLogFile; + private BufferedWriter allOut; + private BufferedWriter criticalOut; + + public Logger(File allLogFile, File criticalLogFile) { + this.allLogFile = allLogFile; + this.criticalLogFile = criticalLogFile; + } + + public void init() { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath()); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath()); + criticalOut = new BufferedWriter(criticalFStream); + allOut.write(""); + criticalOut.write(""); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void writeScreen(String str) { + System.out.println(str); + } + + public void writeAll(String str) { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath(),true); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath(), true); + criticalOut = new BufferedWriter(criticalFStream); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.write(str); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void writeCritical(String str) { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath(),true); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath(), true); + criticalOut = new BufferedWriter(criticalFStream); + } catch (IOException e) { + e.printStackTrace(); + } + try { + criticalOut.write(str); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void finish() { +// try { +// allOut.close(); +// criticalOut.close(); +// } catch (IOException e) { +// } + } +} diff --git a/misc/STF409Tools/src/Main.java b/misc/STF409Tools/src/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..5d039c3ce525dcea8dbe5ca607bff00b3ab85932 --- /dev/null +++ b/misc/STF409Tools/src/Main.java @@ -0,0 +1,14 @@ +/** + * Calls the required java tools in the right order + */ +public class Main { + + public static void main(String[] args) { + DeliverableGenerator.main(args); + TestSuiteStructureGenerator.main(args); + ICSProformaTableGenerator.main(args); + TestPurposeGenerator.main(args); + CoverageLister.main(args); + } + +} diff --git a/misc/STF409Tools/src/T3ExpectedOutput.java b/misc/STF409Tools/src/T3ExpectedOutput.java new file mode 100644 index 0000000000000000000000000000000000000000..843ef80ee0d58bd1cd8c3fc6e65d0bbbb2990974 --- /dev/null +++ b/misc/STF409Tools/src/T3ExpectedOutput.java @@ -0,0 +1,27 @@ +public class T3ExpectedOutput { + private String expectedOutput; + private String executionResult; + + public String getExpectedOutput() { + return expectedOutput; + } + + public void setExpectedOutput(String expectedOutput) { + this.expectedOutput = expectedOutput; + } + + public String getExecutionResult() { + return executionResult; + } + + public void setExecutionResult(String executionResult) { + this.executionResult = executionResult; + } + + @Override + public String toString() { + return "T3ExpectedOutput [expectedOutput=" + expectedOutput + + ", executionResult=" + executionResult + "]"; + } + +} diff --git a/misc/STF409Tools/src/T3Purpose.java b/misc/STF409Tools/src/T3Purpose.java new file mode 100644 index 0000000000000000000000000000000000000000..6d4b509dc9c588c9def244506618331b79e91859 --- /dev/null +++ b/misc/STF409Tools/src/T3Purpose.java @@ -0,0 +1,46 @@ +public class T3Purpose { + private int partReference; + private String clause; + private Clause clauseStructured; + private String purposeText; + + public int getPartReference() { + return partReference; + } + + public void setPartReference(int partReference) { + this.partReference = partReference; + } + + public String getClause() { + return clause; + } + + public void setClause(String clause) { + this.clause = clause; + clauseStructured = new Clause(clause); + } + + public String getPurposeText() { + return purposeText; + } + + public void setPurposeText(String purposeText) { + this.purposeText = purposeText; + } + + public Clause getClauseStructured() { + return clauseStructured; + } + + public void setClauseStructured(Clause clauseStructured) { + this.clauseStructured = clauseStructured; + } + + @Override + public String toString() { + return "T3Purpose [partReference=" + partReference + ", clause=" + + clause + ", purposeText=" + purposeText + "]"; + } + +} diff --git a/misc/STF409Tools/src/TSSClause.java b/misc/STF409Tools/src/TSSClause.java new file mode 100644 index 0000000000000000000000000000000000000000..168c1eef183bf95fcf34284f59322b9de5ad980e --- /dev/null +++ b/misc/STF409Tools/src/TSSClause.java @@ -0,0 +1,34 @@ +import java.util.ArrayList; +import java.util.List; + +public class TSSClause { + private String clauseName; + private List testCases = new ArrayList(); + + public String getClauseName() { + return clauseName; + } + + public void setClauseName(String clauseName) { + this.clauseName = clauseName; + } + + public List getTestCases() { + return testCases; + } + + public void addTestCase(String name) { + testCases.add(name); + } + + public void setTestCases(List testCases) { + this.testCases = testCases; + } + + @Override + public String toString() { + return "TSSClause [clauseName=\n" + clauseName + ", \ntestCases=\n" + + testCases + "]"; + } + +} diff --git a/misc/STF409Tools/src/TSSRow.java b/misc/STF409Tools/src/TSSRow.java new file mode 100644 index 0000000000000000000000000000000000000000..cf39fc7af5008935dcef71a8c6f4b004d8d3f098 --- /dev/null +++ b/misc/STF409Tools/src/TSSRow.java @@ -0,0 +1,110 @@ +import java.util.ArrayList; +import java.util.List; + +public class TSSRow { + private List clauses = new ArrayList(); + private String chapter; + + private String tablePart1 = " \r\n" + + " \r\n" + + " \r\n" + ""; + + private String tablePart2 = " "; + private String tablePart3 = " \r\n"; + private String tablePart5 = " \r\n" + + " \r\n"; + + private String tdPart1 = " \r\n" + ""; + + public List getClauses() { + return clauses; + } + + public void addClause(TSSClause clause) { + clauses.add(clause); + } + + public void setClauses(List clauses) { + this.clauses = clauses; + } + + public String getChapter() { + return chapter; + } + + public void setChapter(String chapter) { + this.chapter = chapter; + } + + @Override + public String toString() { + return "TSSRow [\nclauses=" + clauses + ", \nchapter=" + chapter + "]"; + } + + public String toHtml() { + StringBuffer result = new StringBuffer(); + + int totalTestCaseCount = 0; + for (int i = 0; i < clauses.size(); i++) { + totalTestCaseCount += clauses.get(i).getTestCases().size(); + } + + for (int i = 0; i < clauses.size(); i++) { + int testCasesCount = clauses.get(i).getTestCases().size(); + + for (int j = 0; j < clauses.get(i).getTestCases().size(); j++) { + String testCase = clauses.get(i).getTestCases().get(j); + if ((i==0) && (j==0)) { + String tPart1 = tablePart1.replaceAll("\\{\\{ROWSPANDOUBLE\\}\\}", + Integer.toString(totalTestCaseCount)).replaceAll( + "\\{\\{ROWSPANHALF\\}\\}", + Integer.toString(testCasesCount)).replaceAll("\\{\\{CHAPTER\\}\\}", getChapter()).replaceAll("\\{\\{CLAUSE\\}\\}", clauses.get(i).getClauseName()); + result.append(tPart1); + String tdPart = tdPart1.replaceAll("\\{\\{TESTCASE\\}\\}", testCase); + result.append(tdPart); + result.append(tablePart2); + + } else if ((i > 0) && (j==0)) { + String tPart2 = tablePart5.replaceAll("\\{\\{CLAUSE\\}\\}", clauses.get(i).getClauseName()).replaceAll( + "\\{\\{ROWSPANHALF\\}\\}", + Integer.toString(testCasesCount)).replaceAll("\\{\\{TESTCASE\\}\\}", testCase); + result.append(tPart2); + String tdPart = tdPart1.replaceAll("\\{\\{TESTCASE\\}\\}", testCase); + result.append(tdPart); + result.append(tablePart2); + } else if (j > 0) { + result.append(tablePart3); + String tdPart = tdPart1.replaceAll("\\{\\{TESTCASE\\}\\}", testCase); + result.append(tdPart); + result.append(tablePart2); + } + + } + + result.append(tablePart2); + } + + return result.toString(); + } + +} diff --git a/misc/STF409Tools/src/TSSTable.java b/misc/STF409Tools/src/TSSTable.java new file mode 100644 index 0000000000000000000000000000000000000000..2c7fdd14187680a95c9953c2ec853b3bbe50930d --- /dev/null +++ b/misc/STF409Tools/src/TSSTable.java @@ -0,0 +1,33 @@ +import java.util.ArrayList; +import java.util.List; + +public class TSSTable { + private List rows = new ArrayList(); + + public List getRows() { + return rows; + } + + public void addRow(TSSRow row) { + rows.add(row); + } + + public void setRows(List rows) { + this.rows = rows; + } + + @Override + public String toString() { + return "TSSTable [rows=\n" + rows + "]"; + } + + public String toHtml() { + StringBuffer result = new StringBuffer(); + for (int i=0; i < rows.size(); i++) { + TSSRow row = rows.get(i); + result.append(row.toHtml()); + } + return result.toString(); + } + +} diff --git a/misc/STF409Tools/src/TestPurposeGenerator.java b/misc/STF409Tools/src/TestPurposeGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..b9f77de34ffdb7d3f5feb597c36b6d18d1d23081 --- /dev/null +++ b/misc/STF409Tools/src/TestPurposeGenerator.java @@ -0,0 +1,325 @@ +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Properties; + +public class TestPurposeGenerator { + + public static Properties config = new Properties(); + public static Properties references = new Properties(); + private ArrayList files = new ArrayList(); + private HashMap> clauseMapPositiveSemantical = new HashMap>(); + private HashMap> clauseMapPositiveSyntactical = new HashMap>(); + private HashMap> clauseMapNegativeSemantical = new HashMap>(); + private HashMap> clauseMapNegativeSyntactical = new HashMap>(); + + // ----------------------------------------------------------------------------------------------- + + public TestPurposeGenerator() { + } + + // ----------------------------------------------------------------------------------------------- + + public void run() { + System.out.println("STF409 Tools: Test Purpose Generator v0.1"); + try { + FileUtils.loadConfig(config); + FileUtils.loadReferences(references); + } catch (IOException e) { + System.err + .println("[ERROR] Cannot load config file or config file is incomplete."); + return; + } + + List myList = new ArrayList(); + Iterator it = references.keySet().iterator(); + System.out.println("----"); + while (it.hasNext()) { + Object value = it.next(); + if (value instanceof String) { + myList.add(new Clause((String) value)); + } + } + + Collections.sort(myList); + + String atsPath = config.get("ATSPath").toString(); + System.out.println("Gathering files..."); + FileUtils.visitAllFiles(new File(atsPath), files); + + System.out.println("Processing files..."); + for (int i=0; i < files.size(); i++) { +// File tempFile = new File(config.get("TempPath") + "/" + files.get(i).getName()); + File tempFile = files.get(i); +// System.out.println(tempFile.getAbsolutePath()); + T3Purpose purpose = FileUtils.extractPurpose(tempFile); + T3ExpectedOutput expected = FileUtils.extractExpectedOutput(tempFile); + +// System.out.println("processing " + files.get(i).getName()); + + if (files.get(i).getName().toLowerCase().startsWith("negsync")) { + ArrayList clauseEntries = clauseMapNegativeSyntactical.get(purpose.getClauseStructured().toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapNegativeSyntactical.put(purpose.getClauseStructured().toString(), clauseEntries); + } else if (files.get(i).getName().toLowerCase().startsWith("negsem")) { + ArrayList clauseEntries = clauseMapNegativeSemantical.get(purpose.getClauseStructured().toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapNegativeSemantical.put(purpose.getClauseStructured().toString(), clauseEntries); + } else if (files.get(i).getName().toLowerCase().startsWith("syn")) { + ArrayList clauseEntries = clauseMapPositiveSyntactical.get(purpose.getClauseStructured().toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapPositiveSyntactical.put(purpose.getClauseStructured().toString(), clauseEntries); + } else { // sem + ArrayList clauseEntries = clauseMapPositiveSemantical.get(purpose.getClauseStructured().toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapPositiveSemantical.put(purpose.getClauseStructured().toString(), clauseEntries); + } + } + + try { + String tpFileHead = FileUtils.loadFileToString(new File("resources/tp-file-head.html")); + String tpFileFooter = FileUtils.loadFileToString(new File("resources/tp-file-foot.html")); + String tpSectionHead = FileUtils.loadFileToString(new File("resources/tp-section-head.html")); + String tpSectionFoot = FileUtils.loadFileToString(new File("resources/tp-section-foot.html")); + String tpTable = FileUtils.loadFileToString(new File("resources/tp-table.html")); + + StringBuffer result = new StringBuffer(); + result.append(tpFileHead); + + int clauseCounter = 1; + for (int i=0; i < myList.size(); i++) { + Clause clause = myList.get(i); + ArrayList clauseEntriesPositiveSyntactical = null; + ArrayList clauseEntriesPositiveSemantical = null; + ArrayList clauseEntriesNegativeSyntactical = null; + ArrayList clauseEntriesNegativeSemantical = null; + + clauseEntriesPositiveSyntactical = clauseMapPositiveSyntactical.get(clause.toString()); + clauseEntriesPositiveSemantical = clauseMapPositiveSemantical.get(clause.toString()); + clauseEntriesNegativeSyntactical = clauseMapNegativeSyntactical.get(clause.toString()); + clauseEntriesNegativeSemantical = clauseMapNegativeSemantical.get(clause.toString()); + + int totalEntries = 0; + if (clauseEntriesPositiveSyntactical != null) + totalEntries += clauseEntriesPositiveSyntactical.size(); + if (clauseEntriesPositiveSemantical != null) + totalEntries += clauseEntriesPositiveSemantical.size(); + if (clauseEntriesNegativeSyntactical != null) + totalEntries += clauseEntriesNegativeSyntactical.size(); + if (clauseEntriesNegativeSemantical != null) + totalEntries += clauseEntriesNegativeSemantical.size(); + + if (totalEntries > 0) { +// result.append(createSection(tpSectionHead, "A.2." + Integer.toString(clauseCounter), references.getProperty(clause.toString()) + " (Clause " + clause.toString() + ")")); + result.append(createSection(tpSectionHead, "A.2." + Integer.toString(clauseCounter), references.getProperty(clause.toString()))); + + if (clauseEntriesPositiveSyntactical != null) { + for (int j=0; j < clauseEntriesPositiveSyntactical.size(); j++) { + ClauseEntry clauseEntries = clauseEntriesPositiveSyntactical.get(j); + createTestPurposeEntry(tpTable, result, + clauseEntries); + } + } + if (clauseEntriesPositiveSemantical != null) { + for (int j=0; j < clauseEntriesPositiveSemantical.size(); j++) { + ClauseEntry clauseEntries = clauseEntriesPositiveSemantical.get(j); + createTestPurposeEntry(tpTable, result, + clauseEntries); + } + } + if (clauseEntriesNegativeSyntactical != null) { + for (int j=0; j < clauseEntriesNegativeSyntactical.size(); j++) { + ClauseEntry clauseEntries = clauseEntriesNegativeSyntactical.get(j); + createTestPurposeEntry(tpTable, result, + clauseEntries); + } + } + if (clauseEntriesNegativeSemantical != null) { + for (int j=0; j < clauseEntriesNegativeSemantical.size(); j++) { + ClauseEntry clauseEntries = clauseEntriesNegativeSemantical.get(j); + createTestPurposeEntry(tpTable, result, + clauseEntries); + } + } + + + result.append(tpSectionFoot); + clauseCounter++; + } + + + } + + result.append(tpFileFooter); + FileUtils.saveStringToFile(new File(config.getProperty("DeliverableATSPath")+"/stf409-tp.html"), result.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + + System.out.println("done."); + } + + private void createTestPurposeEntry(String tpTable, StringBuffer result, + ClauseEntry clauseEntries) { + T3ExpectedOutput expected = clauseEntries.getExpected(); + T3Purpose purpose = clauseEntries.getPurpose(); + String tpId = "TP_" + clauseEntries.getFile().getName().replaceAll("\\.ttcn", ""); + String reference = expandPartReference(purpose.getPartReference()) + ", Clause " + purpose.getClauseStructured().toString(); + String ics = "None"; + String dependencies = "None"; + String summary = purpose.getPurposeText(); + String expectedText = expandExpected(expected); + String notes = ""; + result.append(createTestPurpose(tpTable, tpId, reference, ics, dependencies, summary, expectedText, notes)); + } + + private String expandExpected(T3ExpectedOutput e) { + if (e.getExpectedOutput().toLowerCase().contains("accept")) { + String result = "The TTCN-3 module shall be accepted by the tool "; + if (e.getExecutionResult().toLowerCase().contains("ttcn3verdict")) { + String v = e.getExecutionResult().toLowerCase().substring(e.getExecutionResult().toLowerCase().indexOf(':')+1); + result += "and all test cases have to produce the verdict " + v + " after execution."; + } else if (e.getExecutionResult().toLowerCase().contains("noexecution")) { + result += "without execution."; + } + return result; + } else if (e.getExpectedOutput().toLowerCase().contains("reject")) { + return "The TTCN-3 module shall be rejected by the validator or after/during execution."; + } + + return "FIXME"; + } + + private String expandPartReference(int i) { + if (i==1) { + return "ES 201 873-1 [1]"; + } + else if (i==4) { + return "ES 201 873-4 [1]"; + } + + return "FIXME"; + } + + private String createSection(String sectionString, String chapterNumber, String chapterString) { + return sectionString.replaceAll("\\{\\{CHAPTERNUMBER\\}\\}", chapterNumber).replaceAll("\\{\\{CHAPTERTITLE\\}\\}", chapterString); + } + + private String createTestPurpose(String tableString, String tpId, String ref, String ics, String dependencies, String summary, String expected, String notes) { + return tableString.replaceAll("\\{\\{TESTPURPOSEID\\}\\}", tpId) + .replaceAll("\\{\\{REFERENCE\\}\\}", ref) + .replaceAll("\\{\\{ICS\\}\\}", ics) + .replaceAll("\\{\\{DEPENDENCIES\\}\\}", dependencies) + .replaceAll("\\{\\{SUMMARY\\}\\}", summary) + .replaceAll("\\{\\{EXPECTEDOUTPUT\\}\\}", expected) + .replaceAll("\\{\\{NOTES\\}\\}", notes); + } + + @SuppressWarnings("unused") + private void createTable(List myList, String tableNumber, String tableDescription, String tssSectionHead, + String tssSectionFoot, HashMap> clauseMap, StringBuffer result) { + result.append(createSectionHead(tssSectionHead, tableNumber, tableDescription)); + TSSTable table = new TSSTable(); + + TSSRow row = null; + for (int i=0; i < myList.size(); i++) { + Clause clause = myList.get(i); + + ArrayList clauseEntries = null; + if (!clause.toString().contains(".")) { // top level + if (row != null) { + table.addRow(row); + row = null; + } + + clauseEntries = clauseMap.get(clause.toString()); + + row = new TSSRow(); + row.setChapter(clause.toString() + " " + references.getProperty(clause.toString())); + + if ((clauseEntries != null) && (clauseEntries.size() > 0)) { + TSSClause tssClause = new TSSClause(); + tssClause.setClauseName("Top level"); + for (int j=0; j < clauseEntries.size(); j++) { + ClauseEntry entry = clauseEntries.get(j); + tssClause.addTestCase(entry.getFile().getName().replaceAll("\\.ttcn", "")); + } + + row.addClause(tssClause); + } + } else { + clauseEntries = clauseMap.get(clause.toString()); + + if ((clauseEntries != null) && (clauseEntries.size() > 0)) { + TSSClause tssClause = new TSSClause(); + tssClause.setClauseName(clause.toString() + " " + references.getProperty(clause.toString())); + for (int j=0; j < clauseEntries.size(); j++) { + ClauseEntry entry = clauseEntries.get(j); + tssClause.addTestCase(entry.getFile().getName().replaceAll("\\.ttcn", "")); + } + row.addClause(tssClause); + } + } + } + result.append(table.toHtml()); + result.append(tssSectionFoot); + } + + // ----------------------------------------------------------------------------------------------- + +// private String createTableRow(String tableRow, int number, String purpose, String clause, String status, String tpRef) throws IOException { +// String icsTableRow = tableRow.replaceAll("\\{\\{NUMBER\\}\\}", Integer.toString(number)); +// icsTableRow = icsTableRow.replaceAll("\\{\\{PURPOSE\\}\\}", purpose); +// icsTableRow = icsTableRow.replaceAll("\\{\\{CLAUSE\\}\\}", clause); +// icsTableRow = icsTableRow.replaceAll("\\{\\{STATUS\\}\\}", status); +// icsTableRow = icsTableRow.replaceAll("\\{\\{TCTPREF\\}\\}", tpRef); +// +// return icsTableRow; +// +// } + + private String createSectionHead(String sectionHead, String tableNumber, String tableDescription) { + String newSectionHead = sectionHead.replaceAll("\\{\\{TABLENUMBER\\}\\}", tableNumber); + newSectionHead = newSectionHead.replaceAll("\\{\\{TABLEDESCRIPTION\\}\\}", tableDescription); + return newSectionHead; + } + + // ----------------------------------------------------------------------------------------------- + + public static void main(String[] args) { + new TestPurposeGenerator().run(); + } + +} diff --git a/misc/STF409Tools/src/TestSuiteStructureGenerator.java b/misc/STF409Tools/src/TestSuiteStructureGenerator.java new file mode 100644 index 0000000000000000000000000000000000000000..b5887d7a3faa56044d0dba6426346a0ff5a9cdf8 --- /dev/null +++ b/misc/STF409Tools/src/TestSuiteStructureGenerator.java @@ -0,0 +1,194 @@ +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Properties; + +public class TestSuiteStructureGenerator { + + public static Properties config = new Properties(); + public static Properties references = new Properties(); + private ArrayList files = new ArrayList(); + private HashMap> clauseMapPositive = new HashMap>(); + private HashMap> clauseMapNegative = new HashMap>(); + + // ----------------------------------------------------------------------------------------------- + + public TestSuiteStructureGenerator() { + } + + // ----------------------------------------------------------------------------------------------- + + public void run() { + System.out.println("STF409 Tools: Test Suite Structure Tables Generator v0.1"); + try { + FileUtils.loadConfig(config); + FileUtils.loadReferences(references); + } catch (IOException e) { + System.err + .println("[ERROR] Cannot load config file or config file is incomplete."); + return; + } + + List myList = new ArrayList(); + Iterator it = references.keySet().iterator(); + System.out.println("----"); + while (it.hasNext()) { + Object value = it.next(); + if (value instanceof String) { + myList.add(new Clause((String) value)); + } + } + + Collections.sort(myList); + try { + + String atsPath = config.get("ATSPath").toString(); + System.out.println("Gathering files..."); + FileUtils.visitAllFiles(new File(atsPath), files); + + System.out.println("Processing files..."); + for (int i=0; i < files.size(); i++) { + // File tempFile = new File(config.get("TempPath") + "/" + files.get(i).getName()); + File tempFile = files.get(i); //new File(config.get("TempPath") + "/" + files.get(i).getName()); + // try { + // FileUtils.copyFile(files.get(i), tempFile); + // } catch (IOException e) { + // e.printStackTrace(); + // } + T3Purpose purpose = FileUtils.extractPurpose(tempFile); + T3ExpectedOutput expected = FileUtils.extractExpectedOutput(tempFile); + // System.out.println(purpose.getClauseStructured()); + + // System.out.println("processing " + files.get(i).getName()); + Clause clauseStructured = purpose.getClauseStructured(); + if (clauseStructured == null) { + throw new IOException("Error scanning structured clause for file "+tempFile+" purpose: "+ purpose.toString()); + } + if (files.get(i).getName().toLowerCase().startsWith("neg")) { + ArrayList clauseEntries = clauseMapNegative.get(clauseStructured.toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapNegative.put(clauseStructured.toString(), clauseEntries); + } else { + ArrayList clauseEntries = clauseMapPositive.get(clauseStructured.toString()); + if (clauseEntries == null) + clauseEntries = new ArrayList(); + + ClauseEntry clauseEntry = new ClauseEntry(); + clauseEntry.setFile(tempFile); + clauseEntry.setPurpose(purpose); + clauseEntry.setExpected(expected); + clauseEntries.add(clauseEntry); + clauseMapPositive.put(clauseStructured.toString(), clauseEntries); + } + } + + + String tssFileHead = FileUtils.loadFileToString(new File("resources/tss-file-head.html")); + String tssFileFooter = FileUtils.loadFileToString(new File("resources/tss-file-foot.html")); + String tssSectionHead = FileUtils.loadFileToString(new File("resources/tss-section-head.html")); + String tssSectionFoot = FileUtils.loadFileToString(new File("resources/tss-section-foot.html")); + + StringBuffer result = new StringBuffer(); + result.append(tssFileHead); + + // positive tests + createTable(myList, "B.1", "Test suite structure, positive tests", tssSectionHead, tssSectionFoot, clauseMapPositive, result); + + // negative tests + createTable(myList, "B.2", "Test suite structure, negative tests", tssSectionHead, tssSectionFoot, clauseMapNegative, result); + + result.append(tssFileFooter); + FileUtils.saveStringToFile(new File(config.getProperty("DeliverableATSPath")+"/stf409-tss.html"), result.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + + System.out.println("done."); + } + + private void createTable(List myList, String tableNumber, String tableDescription, String tssSectionHead, + String tssSectionFoot, HashMap> clauseMap, StringBuffer result) { + result.append(createSectionHead(tssSectionHead, tableNumber, tableDescription)); + TSSTable table = new TSSTable(); + + TSSRow row = null; + for (int i=0; i < myList.size(); i++) { + Clause clause = myList.get(i); + + ArrayList clauseEntries = null; + if (!clause.toString().contains(".")) { // top level + if (row != null) { + table.addRow(row); + row = null; + } + + clauseEntries = clauseMap.get(clause.toString()); + + row = new TSSRow(); + row.setChapter(clause.toString() + " " + references.getProperty(clause.toString())); + + if ((clauseEntries != null) && (clauseEntries.size() > 0)) { + TSSClause tssClause = new TSSClause(); + tssClause.setClauseName("Top level"); + for (int j=0; j < clauseEntries.size(); j++) { + ClauseEntry entry = clauseEntries.get(j); + tssClause.addTestCase(entry.getFile().getName().replaceAll("\\.ttcn", "")); + } + + row.addClause(tssClause); + } + } else { + clauseEntries = clauseMap.get(clause.toString()); + + if ((clauseEntries != null) && (clauseEntries.size() > 0)) { + TSSClause tssClause = new TSSClause(); + tssClause.setClauseName(clause.toString() + " " + references.getProperty(clause.toString())); + for (int j=0; j < clauseEntries.size(); j++) { + ClauseEntry entry = clauseEntries.get(j); + tssClause.addTestCase(entry.getFile().getName().replaceAll("\\.ttcn", "")); + } + row.addClause(tssClause); + } + } + } + result.append(table.toHtml()); + result.append(tssSectionFoot); + } + + // ----------------------------------------------------------------------------------------------- + + // private String createTableRow(String tableRow, int number, String purpose, String clause, String status, String tpRef) throws IOException { + // String icsTableRow = tableRow.replaceAll("\\{\\{NUMBER\\}\\}", Integer.toString(number)); + // icsTableRow = icsTableRow.replaceAll("\\{\\{PURPOSE\\}\\}", purpose); + // icsTableRow = icsTableRow.replaceAll("\\{\\{CLAUSE\\}\\}", clause); + // icsTableRow = icsTableRow.replaceAll("\\{\\{STATUS\\}\\}", status); + // icsTableRow = icsTableRow.replaceAll("\\{\\{TCTPREF\\}\\}", tpRef); + // + // return icsTableRow; + // + // } + + private String createSectionHead(String sectionHead, String tableNumber, String tableDescription) { + String newSectionHead = sectionHead.replaceAll("\\{\\{TABLENUMBER\\}\\}", tableNumber); + newSectionHead = newSectionHead.replaceAll("\\{\\{TABLEDESCRIPTION\\}\\}", tableDescription); + return newSectionHead; + } + + // ----------------------------------------------------------------------------------------------- + + public static void main(String[] args) { + new TestSuiteStructureGenerator().run(); + } + +} diff --git a/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.pdf b/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d59f1e2a5a308b8609a3c3e3590be02e134c3892 Binary files /dev/null and b/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.pdf differ diff --git a/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.ppt b/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.ppt new file mode 100644 index 0000000000000000000000000000000000000000..3b9965f03dbfc67599c58da1633437c96209f2ff Binary files /dev/null and b/misc/TTCN-3 Conformance Test Suite STF 409 Status Report.ppt differ diff --git a/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.pdf b/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..df0f45405f7493b189639e98586a937f120715db Binary files /dev/null and b/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.pdf differ diff --git a/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.ppt b/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.ppt new file mode 100644 index 0000000000000000000000000000000000000000..d4dde7fc484882700442aaf54c267050663c7d4b Binary files /dev/null and b/misc/TTCN-3 Conformance Test Suite STF 433 Status Report.ppt differ diff --git a/misc/TestCastTester/.classpath b/misc/TestCastTester/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..07ca123c631adcc68bdbdb3380f617db38fdaf33 --- /dev/null +++ b/misc/TestCastTester/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/misc/TestCastTester/.project b/misc/TestCastTester/.project new file mode 100644 index 0000000000000000000000000000000000000000..7ebf2a1f78549d69f3e8de23a4d5e9286ef8f2f3 --- /dev/null +++ b/misc/TestCastTester/.project @@ -0,0 +1,17 @@ + + + TestCastTester + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/misc/TestCastTester/.settings/org.eclipse.jdt.core.prefs b/misc/TestCastTester/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..d8ac5ab02357482922e354303a027d7b9971b4e7 --- /dev/null +++ b/misc/TestCastTester/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Thu Nov 18 10:37:19 CET 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/misc/TestCastTester/README.txt b/misc/TestCastTester/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..b41297eefc8dd339163a634c88f91917fa017526 --- /dev/null +++ b/misc/TestCastTester/README.txt @@ -0,0 +1,11 @@ + +Required: + + resource/TestCastTester.properties have to be adapted to your paths + +Build and Execute: + + run "ant" in the project folder to build it + +in order to run execute + java -jar dist/tcTester.jar diff --git a/misc/TestCastTester/TestCastTester.launch b/misc/TestCastTester/TestCastTester.launch new file mode 100644 index 0000000000000000000000000000000000000000..406b1deff018852721e58b95f9dcb503e3890f1f --- /dev/null +++ b/misc/TestCastTester/TestCastTester.launch @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/misc/TestCastTester/build.xml b/misc/TestCastTester/build.xml new file mode 100644 index 0000000000000000000000000000000000000000..ffac8c206b3e317ff8ad7ba10ada3cb5d7ab3e1b --- /dev/null +++ b/misc/TestCastTester/build.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/misc/TestCastTester/resources/TestCastTester.properties b/misc/TestCastTester/resources/TestCastTester.properties new file mode 100644 index 0000000000000000000000000000000000000000..fe45186bfded41381b6e854355bed1ab642c0068 --- /dev/null +++ b/misc/TestCastTester/resources/TestCastTester.properties @@ -0,0 +1,5 @@ +TestCastCommandLineTool=C:/Program Files (x86)/Elvior/TestCastT3/tc_cmd.exe +LoopbackAdapterPath=D:/testcast_stf409/loopback_adapter +TempPath=D:/testcast_stf409/temp +LogPath=D:/testcast_stf409/log +ATSPath=C:/Users/bzeiss/MyDocuments/svn/TTCN3TOOLS_CON/ATS \ No newline at end of file diff --git a/misc/TestCastTester/resources/skipList.txt b/misc/TestCastTester/resources/skipList.txt new file mode 100644 index 0000000000000000000000000000000000000000..062af5fc90406dac72efe95b366ce301b90a5ded --- /dev/null +++ b/misc/TestCastTester/resources/skipList.txt @@ -0,0 +1,27 @@ +NegSem_0503_Ordering_002 +NegSem_0503_Ordering_003 +Sem_0505_cyclic_definitions_002 +NegSem_06010203_Ranges_003 +NegSyn_0602_TopLevel_004 +Sem_060302_structured_types_002 +Sem_070105_BitwiseOperators_001 +Sem_070106_ShiftOperators_003 +NegSyn_0801_DefinitionOfAModule_001 +Sem_08020302_ImportingSingleDefinitions_002 +Sem_08020303_ImportingGroups_002 +Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 +Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 +Sem_1503_GlobalAndLocalTemplates_002 +NegSem_150603_ReferencingRecordOfAndSetElements_001 +Sem_150603_ReferencingRecordOfAndSetElements_001 +Sem_150603_ReferencingRecordOfAndSetElements_002 +Sem_150603_ReferencingRecordOfAndSetElements_003 +Sem_150603_ReferencingRecordOfAndSetElements_004 +Sem_150603_ReferencingRecordOfAndSetElements_005 +Sem_1601_toplevel_002 +Sem_160102_predefined_functions_002 +Sem_160102_predefined_functions_003 +Sem_160102_predefined_functions_005 +Syn_1907_label_statement_001 +Sem_B010401_length_restrictions_002 +Sem_B0105_toplevel_001 \ No newline at end of file diff --git a/misc/TestCastTester/src/Clipboard2JavaString.java b/misc/TestCastTester/src/Clipboard2JavaString.java new file mode 100644 index 0000000000000000000000000000000000000000..242a5e0d737336de767487dadcdda5f9d0bfef20 --- /dev/null +++ b/misc/TestCastTester/src/Clipboard2JavaString.java @@ -0,0 +1,33 @@ +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import javax.swing.JFrame; + +public class Clipboard2JavaString extends JFrame { + private static final long serialVersionUID = 1L; + Clipboard clipboard = null; + + public void run() { + if (clipboard == null) + clipboard = getToolkit().getSystemClipboard(); + Transferable clipData = clipboard.getContents(this); + String s; + try { + s = (String) (clipData.getTransferData(DataFlavor.stringFlavor)); + String[] strings = s.split("[\r\n]+"); + for (int i = 0; i < strings.length; i++) { + if (i < strings.length - 1) + System.out.println("\"" + strings[i] + "\\n\" + "); + else + System.out.println("\"" + strings[i] + "\";"); + } + } catch (Exception ee) { + ee.printStackTrace(); + } + + } + + public static void main(String[] args) { + new Clipboard2JavaString().run(); + } +} diff --git a/misc/TestCastTester/src/FileUtils.java b/misc/TestCastTester/src/FileUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..87df4f39c9a81970acd5cd71fae2db7d4c48088f --- /dev/null +++ b/misc/TestCastTester/src/FileUtils.java @@ -0,0 +1,195 @@ +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.channels.FileChannel; +import java.util.ArrayList; +import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class FileUtils { + + public static void visitAllFiles(File f, ArrayList files) { + if (f.isDirectory()) { + String[] children = f.list(); + for (int i = 0; i < children.length; i++) { + visitAllFiles(new File(f, children[i]), files); + } + } else { + if (f.toString().endsWith(".ttcn")) { + files.add(f); + } + } + } + + // ----------------------------------------------------------------------------------------------- + + public static void loadConfig(Properties config) throws IOException { + FileInputStream fis = new FileInputStream( + "resources/TestCastTester.properties"); + config.load(fis); + fis.close(); + if ((config.get("TestCastCommandLineTool") == null) + || (config.get("LoopbackAdapterPath") == null) + || (config.get("TempPath") == null) + || (config.get("LogPath") == null) + || (config.get("ATSPath") == null)) { + throw new IOException(); + } + + } + + // ----------------------------------------------------------------------------------------------- + + public static void copyFile(File in, File out) throws IOException { + FileChannel inChannel = new FileInputStream(in).getChannel(); + FileChannel outChannel = new FileOutputStream(out).getChannel(); + try { + inChannel.transferTo(0, inChannel.size(), outChannel); + } catch (IOException e) { + throw e; + } finally { + if (inChannel != null) + inChannel.close(); + if (outChannel != null) + outChannel.close(); + } + } + + // ----------------------------------------------------------------------------------------------- + + public static int countT3Modules(File f) { + int moduleCount = 0; + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*module\\s+\\w+\\s*.*")) { + moduleCount++; + } + } + in.close(); + fs.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return moduleCount; + } + + // ----------------------------------------------------------------------------------------------- + + public static T3ExpectedOutput extractExpectedOutput(File f) { + T3ExpectedOutput t3ExpectedOutput = new T3ExpectedOutput(); + + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*\\*\\*\\s*@verdict\\s*.*")) { + Matcher matcher = Pattern.compile("^^\\s*\\*\\*\\s*@verdict\\s*pass\\s*(.*)").matcher(strLine); + if (matcher.find()) { + String result = matcher.group(1); + String[] split = result.split(","); + t3ExpectedOutput.setExpectedOutput(split[0].trim()); + if (split.length > 1) + t3ExpectedOutput.setExecutionResult(split[1].trim()); + } + +// System.out.println(strLine); + } + } + in.close(); + fs.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + return t3ExpectedOutput; + } + + // ----------------------------------------------------------------------------------------------- + + public static ArrayList splitT3ModuleFiles(File f) { + ArrayList files = new ArrayList(); + StringBuffer current = new StringBuffer(); + File newFile = new File(f.getParent() + "//temp.ttcn"); + if (f.exists()) { + f.renameTo(newFile); + } + + try { + FileInputStream fs = new FileInputStream(newFile.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + int moduleCounter = 0; + String currentModuleName = ""; + + while ((strLine = br.readLine()) != null) { + if (strLine.matches("^\\s*module\\s+\\w+\\s*.*")) { + moduleCounter++; + if (moduleCounter > 1) { // write file + String targetFilename = f.getParent() + "//" + currentModuleName + ".ttcn"; + FileWriter fw = new FileWriter(targetFilename); + fw.write(current.toString()); + fw.close(); + current = new StringBuffer(); + files.add(new File(targetFilename)); + } + Matcher matcher = Pattern.compile("^\\s*module\\s+(\\w+)\\s*.*").matcher(strLine); + if (matcher.find()) { + currentModuleName = matcher.group(1); + } + } + current.append(strLine + "\n"); + } + // write file + String targetFilename = f.getParent() + "//" + currentModuleName + ".ttcn"; + FileWriter fw = new FileWriter(targetFilename); + fw.write(current.toString()); + fw.close(); + in.close(); + fs.close(); + files.add(new File(targetFilename)); + newFile.delete(); + } catch (IOException e) { + e.printStackTrace(); + } + + return files; + } + + public static ArrayList readExclusionList(File f) { + ArrayList files = new ArrayList(); + + try { + FileInputStream fs = new FileInputStream(f.getAbsolutePath()); + DataInputStream in = new DataInputStream(fs); + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + + String strLine = ""; + while ((strLine = br.readLine()) != null) { + if (strLine.trim().length() > 0) + files.add(strLine); + } + return files; + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } + +} diff --git a/misc/TestCastTester/src/Logger.java b/misc/TestCastTester/src/Logger.java new file mode 100644 index 0000000000000000000000000000000000000000..f457d0f71bc4fd781ef4f9849e9c3847d44a999c --- /dev/null +++ b/misc/TestCastTester/src/Logger.java @@ -0,0 +1,88 @@ +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + +public class Logger { + private File allLogFile; + private File criticalLogFile; + private BufferedWriter allOut; + private BufferedWriter criticalOut; + + public Logger(File allLogFile, File criticalLogFile) { + this.allLogFile = allLogFile; + this.criticalLogFile = criticalLogFile; + } + + public void init() { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath()); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath()); + criticalOut = new BufferedWriter(criticalFStream); + allOut.write(""); + criticalOut.write(""); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void writeScreen(String str) { + System.out.println(str); + } + + public void writeAll(String str) { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath(),true); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath(), true); + criticalOut = new BufferedWriter(criticalFStream); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.write(str); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void writeCritical(String str) { + try { + FileWriter allFStream = new FileWriter(allLogFile.getAbsolutePath(),true); + allOut = new BufferedWriter(allFStream); + FileWriter criticalFStream = new FileWriter(criticalLogFile.getAbsolutePath(), true); + criticalOut = new BufferedWriter(criticalFStream); + } catch (IOException e) { + e.printStackTrace(); + } + try { + criticalOut.write(str); + } catch (IOException e) { + e.printStackTrace(); + } + try { + allOut.close(); + criticalOut.close(); + } catch (IOException e) { + } + } + + public void finish() { +// try { +// allOut.close(); +// criticalOut.close(); +// } catch (IOException e) { +// } + } +} diff --git a/misc/TestCastTester/src/T3ExpectedOutput.java b/misc/TestCastTester/src/T3ExpectedOutput.java new file mode 100644 index 0000000000000000000000000000000000000000..843ef80ee0d58bd1cd8c3fc6e65d0bbbb2990974 --- /dev/null +++ b/misc/TestCastTester/src/T3ExpectedOutput.java @@ -0,0 +1,27 @@ +public class T3ExpectedOutput { + private String expectedOutput; + private String executionResult; + + public String getExpectedOutput() { + return expectedOutput; + } + + public void setExpectedOutput(String expectedOutput) { + this.expectedOutput = expectedOutput; + } + + public String getExecutionResult() { + return executionResult; + } + + public void setExecutionResult(String executionResult) { + this.executionResult = executionResult; + } + + @Override + public String toString() { + return "T3ExpectedOutput [expectedOutput=" + expectedOutput + + ", executionResult=" + executionResult + "]"; + } + +} diff --git a/misc/TestCastTester/src/TestCastProjectBuilder.java b/misc/TestCastTester/src/TestCastProjectBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..bacff6d9871030d5453b4a14534365e24fad326d --- /dev/null +++ b/misc/TestCastTester/src/TestCastProjectBuilder.java @@ -0,0 +1,99 @@ +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; + + +public class TestCastProjectBuilder { + private String files = ""; + private String sut = ""; + + private String template1 = "\n" + + "\n" + + " \n" + + " \n"; + + private String template2 = + " \n" + + " \n" + + " \n"; + + private String template3 = + " CodecRules_Project3.txt\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " Ttcn3_2010\n" + + " BER\n" + + " 10\n" + + " 7777\n" + + " 60\n" + + " 1\n" + + " 20\n" + + " internal\n" + + " \n" + + " \n" + + " le\n" + + " \n" + + " dword\n" + + " double\n" + + " 8\n" + + " null\n" + + " 32\n" + + " U16\n" + + " dword\n" + + " dword\n" + + " 16\n" + + " 1\n" + + " word\n" + + " bytes\n" + + " \n" + + " \\r\\n\n" + + " \\r\\n\n" + + " none\n" + + " \n" + + " \n" + + " \n" + + ""; + + public void addFile(String filename) { + File f = new File(filename); + files += " \n"; + } + + public void setSUT(String sutFile) { + sut = " \n"; + sut += " " + sutFile + "\n"; + sut += " \n"; + } + + public String getProjectFileString() { + return template1 + files + template2 + sut + template3; + } + + public void saveProjectFile(File f) { + PrintWriter out; + try { + out = new PrintWriter(new FileWriter(f)); + out.print(getProjectFileString()); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/misc/TestCastTester/src/TestCastRunner.java b/misc/TestCastTester/src/TestCastRunner.java new file mode 100644 index 0000000000000000000000000000000000000000..93a462af13608b15c7751068a6343411e7b2c59e --- /dev/null +++ b/misc/TestCastTester/src/TestCastRunner.java @@ -0,0 +1,183 @@ +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +public class TestCastRunner { + private File projectFile; + private String scriptName; + private Logger logger; + private StringBuffer cmdLineOutputErrors = new StringBuffer(); + private StringBuffer cmdLineOutputAll = new StringBuffer(); + + private boolean accepted = true; + private int testNumber; + + public enum verdictEnum { + pass, inconc, fail, error, none + } + + private verdictEnum testVerdict = verdictEnum.pass; + + public TestCastRunner(File projectFile, String scriptName, Logger logger, int testNumber) { + this.projectFile = projectFile; + this.scriptName = scriptName; + this.logger = logger; + this.testNumber = testNumber; + } + + public void run() { + List args = new ArrayList(); + File tempDir = new File(TestCastTester.config.get("TempPath") + .toString()); + System.setProperty("user.dir", tempDir.getAbsolutePath()); + File tool = new File(TestCastTester.config.get( + "TestCastCommandLineTool").toString()); + args.add(tool.getAbsolutePath()); + args.add("-proj"); + args.add(projectFile.getAbsolutePath()); + args.add("-s"); + args.add(scriptName); + args.add("-r"); + ProcessBuilder processBuilder = new ProcessBuilder(args); + processBuilder.redirectErrorStream(true); + try { + Process process = processBuilder.start(); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + String line; + + while ((line = br.readLine()) != null) { + cmdLineOutputAll.append(" --->" + line); + cmdLineOutputAll.append("\n"); + + if (line.matches("^\\[ERR\\].*")) { + cmdLineOutputErrors.append(" --->" + line + "\n"); + accepted = false; + } else if (line.contains("Compilation failed")) { + accepted = false; + } else if (line.contains("The test case") && line.contains("has ended with the result")) { + if (line.contains("")) { + updateVerdict(verdictEnum.pass); + } else if (line.contains("")) { + updateVerdict(verdictEnum.inconc); + } else if (line.contains("")) { + updateVerdict(verdictEnum.fail); + } else if (line.contains("")) { + updateVerdict(verdictEnum.error); + } else if (line.contains("")) { + updateVerdict(verdictEnum.none); + } + } + // System.out.println(line); + } + + } catch (IOException e) { + e.printStackTrace(); + } + } + + public boolean isAccepted() { + return accepted; + } + + public void updateVerdict(verdictEnum newVerdict) { + if (testVerdict == verdictEnum.none) { + testVerdict = newVerdict; + } else if (testVerdict == verdictEnum.pass) { + if ((newVerdict != verdictEnum.pass) && (newVerdict != verdictEnum.none)) + testVerdict = newVerdict; + } else if (testVerdict == verdictEnum.inconc) { + if ((newVerdict == verdictEnum.fail) || (newVerdict == verdictEnum.error)) + testVerdict = newVerdict; + } else if (testVerdict == verdictEnum.fail) { + if (newVerdict == verdictEnum.error) + testVerdict = newVerdict; + } + } + + public void evaluateResults(T3ExpectedOutput expectedOutput) { + if (!accepted) { // testcast rejects the input + if (expectedOutput.getExpectedOutput().contains("reject")) { + logger.writeScreen(testNumber + ": [pass] " + scriptName); + logger.writeAll(testNumber + ": [pass] " + scriptName + "\n"); + } else if (expectedOutput.getExpectedOutput().contains("accept")) { + logger.writeScreen(testNumber + ": [fail] " + scriptName + " - tool does not accept input, but acceptance is expected!"); + logger.writeAll(testNumber + ": [fail] " + scriptName + " - tool does not accept input, but acceptance is expected!\n"); + logger.writeCritical(testNumber + ": [fail] " + scriptName + " - tool does not accept input, but acceptance is expected!\n"); +// logger.writeAll(cmdLineOutputErrors.toString()); +// logger.writeCritical(cmdLineOutputErrors.toString()); + logger.writeAll(cmdLineOutputAll.toString()); + logger.writeCritical(cmdLineOutputAll.toString()); + } else { + logger.writeScreen(testNumber + ": [inconc] " + scriptName + " - cannot interprete expected output!"); + logger.writeAll(testNumber + ": [inconc] " + scriptName + " - cannot interprete expected output!\n"); + logger.writeCritical(testNumber + ": [oncinc] " + scriptName + " - cannot interprete expected output!\n"); + } + } else { // testcast accepts the input + if (expectedOutput.getExpectedOutput().contains("accept")) { +// logger.writeScreen(testNumber + ": [pass] " + scriptName); +// logger.writeAll(testNumber + ": [pass] " + scriptName + "\n"); +// System.out.println("==================> have to check execution result!!"); +// System.out.println(cmdLineOutputAll.toString()); + + if ((expectedOutput.getExecutionResult() == null) || (expectedOutput.getExecutionResult().contains("noexecution")) ){ // no execution result required... + logger.writeScreen(testNumber + ": [pass] " + scriptName); + logger.writeAll(testNumber + ": [pass] " + scriptName + "\n"); + } else { // we must compare the execution result + try { + verdictEnum expectedVerdict; + expectedVerdict = executionResultToVerdictEnum(expectedOutput.getExecutionResult()); + if (expectedVerdict == testVerdict) { + logger.writeScreen(testNumber + ": [pass] " + scriptName); + logger.writeAll(testNumber + ": [pass] " + scriptName + "\n"); + } else { + logger.writeScreen(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but expected execution results mismatch! Expected: " + expectedVerdict + ", Actual: " + testVerdict); + logger.writeAll(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but expected execution results mismatch! Expected: " + expectedVerdict + ", Actual: " + testVerdict + "\n"); + logger.writeCritical(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but expected execution results mismatch! Expected: " + expectedVerdict + ", Actual: " + testVerdict + "\n"); + logger.writeAll(cmdLineOutputAll.toString()); + logger.writeCritical(cmdLineOutputAll.toString()); + } + } catch (Exception e) { + logger.writeScreen(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but an error occured during the verdict conversion. Possible typo in test case!"); + logger.writeAll(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but an error occured during the verdict conversion. Possible typo in test case!\n"); + logger.writeCritical(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but an error occured during the verdict conversion. Possible typo in test case!\n"); + logger.writeAll(cmdLineOutputAll.toString()); + logger.writeCritical(cmdLineOutputAll.toString()); + } + } + } else if (expectedOutput.getExpectedOutput().contains("reject")) { + logger.writeScreen(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but rejection is expected!"); + logger.writeAll(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but rejection is expected!\n"); + logger.writeCritical(testNumber + ": [fail] " + scriptName + " - tool accepts the input, but rejection is expected!\n"); + logger.writeAll(cmdLineOutputAll.toString()); + logger.writeCritical(cmdLineOutputAll.toString()); + } else { + logger.writeScreen(testNumber + ": [inconc] " + scriptName + " - cannot interprete expected output!"); + logger.writeAll(testNumber + ": [inconc] " + scriptName + " - cannot interprete expected output!\n"); + logger.writeCritical(testNumber + ": [oncinc] " + scriptName + " - cannot interprete expected output!\n"); + } + } + } + + private verdictEnum executionResultToVerdictEnum(String str) throws Exception { + if (str.contains("ttcn3verdict:pass")) { + return verdictEnum.pass; + } else if (str.contains("ttcn3verdict:inconc")) { + return verdictEnum.inconc; + } else if (str.contains("ttcn3verdict:fail")) { + return verdictEnum.fail; + } else if (str.contains("ttcn3verdict:error")) { + return verdictEnum.error; + } else if (str.contains("ttcn3verdict:none")) { + return verdictEnum.none; + } + + throw new Exception("Unknown execution result"); + } + +} diff --git a/misc/TestCastTester/src/TestCastTester.java b/misc/TestCastTester/src/TestCastTester.java new file mode 100644 index 0000000000000000000000000000000000000000..a8d6be6c227eb18fc90823f094d7de7a254dfcba --- /dev/null +++ b/misc/TestCastTester/src/TestCastTester.java @@ -0,0 +1,124 @@ +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Properties; + +public class TestCastTester { + + public static Properties config = new Properties(); + private ArrayList files = new ArrayList(); + private int startIteration = 0; + private ArrayList exclusionList; + + // ----------------------------------------------------------------------------------------------- + + public TestCastTester() { + } + + // ----------------------------------------------------------------------------------------------- + + public void run() { + System.out.println("STF409 TestCast Tester v0.1"); + try { + FileUtils.loadConfig(config); + } catch (IOException e) { + System.err + .println("[ERROR] Cannot load config file or config file is incomplete."); + return; + } + + String atsPath = config.get("ATSPath").toString(); + System.out.println("Gathering files..."); + FileUtils.visitAllFiles(new File(atsPath), files); + + System.out.println("Reading exclusion list..."); + exclusionList = FileUtils.readExclusionList(new File("resources/skipList.txt")); + + File allLogFile = new File(config.get("LogPath") + "/all.log"); + File criticalLogFile = new File(config.get("LogPath") + "/critical.log"); + Logger logger = new Logger(allLogFile, criticalLogFile); + logger.init(); + + for (int i=0; i < files.size(); i++) { + if (startIteration > i) + continue; + File tempFile = new File(config.get("TempPath") + "/" + files.get(i).getName()); + + if (inExclusionList(files.get(i).getName())) { + System.out.println("**exclusion list match. skipping " + files.get(i).getName()); + continue; + } + + try { + FileUtils.copyFile(new File(files.get(i).getAbsolutePath()), tempFile); + } catch (IOException e) { + System.err.println("[ERROR] Could not copy file " + files.get(i).getAbsolutePath() + "! Stopping tester..."); + return; + } + + int moduleCount = FileUtils.countT3Modules(tempFile); + + ArrayList filesToProcess = new ArrayList(); + if (moduleCount > 1) { + filesToProcess.addAll(FileUtils.splitT3ModuleFiles(tempFile)); + } else { + filesToProcess.add(tempFile); + } + + if (filesToProcess.size() <= 0) + continue; + + T3ExpectedOutput expectedOutput = FileUtils.extractExpectedOutput(filesToProcess.get(0)); + + TestCastProjectBuilder builder = new TestCastProjectBuilder(); + for (int j=0; j < filesToProcess.size(); j++) { + builder.addFile(filesToProcess.get(j).getAbsolutePath()); + } + builder.setSUT(new File(config.get("LoopbackAdapterPath") + "/LoopbackSUT_NC.exe").getAbsolutePath()); + File projectFile = new File(config.get("TempPath") + "/testcast.tcproj"); + builder.saveProjectFile(projectFile); + + TestCastRunner runner = new TestCastRunner(projectFile, filesToProcess.get(0).getName().substring(0, filesToProcess.get(0).getName().indexOf(".ttcn")), logger, i+1); + runner.run(); + runner.evaluateResults(expectedOutput); + + // cleanup + if (tempFile.exists()) { + boolean success = tempFile.delete(); + if (!success) + System.err.println("[ERROR] Could not delete file " + tempFile.getAbsolutePath()); + } + for (int j=0; j < filesToProcess.size(); j++) { + if (filesToProcess.get(j).exists()) { + boolean success = filesToProcess.get(j).delete(); + if (!success) + System.err.println("[ERROR] Could not delete file " + tempFile.getAbsolutePath()); + } + } + if (projectFile.exists()) { + boolean success = projectFile.delete(); + if (!success) + System.err.println("[ERROR] Could not delete file " + tempFile.getAbsolutePath()); + } + } + System.out.println("done."); + logger.finish(); + } + + // ----------------------------------------------------------------------------------------------- + + private boolean inExclusionList(String filename) { + for (int i=0; i < exclusionList.size(); i++) { + if (filename.contains(exclusionList.get(i))) + return true; + } + return false; + } + + // ----------------------------------------------------------------------------------------------- + + public static void main(String[] args) { + new TestCastTester().run(); + } + +} diff --git a/misc/TestCastTester_GUI/Auto_execution.php b/misc/TestCastTester_GUI/Auto_execution.php new file mode 100644 index 0000000000000000000000000000000000000000..0b89db468142e5b123f8f69f064272cee0356b96 --- /dev/null +++ b/misc/TestCastTester_GUI/Auto_execution.php @@ -0,0 +1,202 @@ +') { + $endtag=strpos($pfile[$i],"$out_name\r\n"; + + $wfile=fopen($target_dir."/".$pname.".tcproj.user","w"); + for($k=0;$k")!=FALSE) { //go through all tags + $vind=strpos($lfile[$k],"")+9; + if(substr($lfile[$k],$vind,4)=="none") { + if($l_result=="unknown") $l_result="none"; + } + if(substr($lfile[$k],$vind,6)=="inconc") { + if(($l_result=="unknown")||($l_result=="none")) $l_result="inconc"; + } + if(substr($lfile[$k],$vind,4)=="pass") { + if(($l_result=="unknown")||($l_result=="none")||($l_result=="inconc")) $l_result="pass"; + } + if(substr($lfile[$k],$vind,4)=="fail") { + if(($l_result=="unknown")||($l_result=="none")||($l_result=="pass")||($l_result=="inconc")) $l_result="fail"; + } + if(substr($lfile[$k],$vind,5)=="error") $l_result="error"; + } + } + if($l_result=="unknown") { //now check for runtime exception + $lfile=file($target_dir."/".$fname."/session_log.xmmlog"); + for($k=0;$k")!=FALSE) { + $l_result="error"; + } + } + } + + if( ($c_result=="accept")&&($l_result!=$v_result) ) { $error_list[]=$in_name; fputs($logfile,"\n".$in_name); } + if( ($c_result=="reject")&&($l_result!="error") ) { $error_list[]=$in_name; fputs($logfile,"\n".$in_name); } + + //delete session directory + rrmdir($target_dir."/".$fname); + } + } + } + closedir($handle); +} + + + } + + if($c_result!="import") { //don't generate output for import files + fputs($resfile,"$excount,$in_name,"); + if($compiled==TRUE) fputs($resfile,"accepted,$l_result\n"); + else fputs($resfile,"rejected,rejected\n"); + $excount++; + } + + } + +} + +fclose($resfile); +fclose($logfile); + +echo "\n Listing of unexpected execution results: "; +print_r($error_list); + + + function rrmdir($dir) { + if (is_dir($dir)) { + $objects = scandir($dir); + foreach ($objects as $object) { + if ($object != "." && $object != "..") { + if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); + } + } + reset($objects); + rmdir($dir); + } + } + +?> diff --git a/misc/TestCastTester_GUI/Comm.java b/misc/TestCastTester_GUI/Comm.java new file mode 100644 index 0000000000000000000000000000000000000000..11fb9b15ee673065d969d7227319fadbd461a758 --- /dev/null +++ b/misc/TestCastTester_GUI/Comm.java @@ -0,0 +1,283 @@ +package org.elvior.thermometer; + +import org.elvior.ttcn.tritci.TriFactory; +import org.elvior.ttcn.tritci.TriProvider; +import org.elvior.ttcn.tritci.TriTciChannel; +import org.elvior.ttcn.tritci.ChannelEventHandler; +import org.etsi.ttcn.tri.*; + +public class Comm implements TriCommunicationSA, TriPlatformPA, ChannelEventHandler { + + private TriComponentId m_componentId; + private TriPortId m_tsiPortId; + private TriStatus m_triOK; + private Analyzer m_analyzer; + + private static final String SENT = "sent"; + private static final String RECEIVED = "received"; + private final int MESSAGE_HEADER_LENGTH = 8; + + public Comm() { + // Register this object as the instance implementing the TRI-SA interface + TriProvider.getInstance().setTriCommunicationSA(this); + // Register this object as the instance implementing the TRI-PA interface + TriProvider.getInstance().setTriPlatformPA(this); + TriTciChannel channel = TriTciChannel.getInstance(); + // Set application name that will be displayed in the TestCast log + channel.setApplicationName("Thermometer"); + // Register this object as the receiver of events generated by TestCast framework + channel.setEventHandler(this); + TriFactory factory = TriProvider.getInstance().getTriFactory(); + m_triOK = factory.createOkStatus(); + + m_analyzer = new Analyzer(); + } + + public void run() { + // Attempt to connect to TestCast + if (TriTciChannel.getInstance().open()) + try { + synchronized(this) { + wait(); + } + } catch (InterruptedException e) { + } + } + + public void enqueueMessage(byte[] ayData) { + printMessageInfo(ayData, SENT); + TriMessage msgToSend = TriProvider.getInstance().getTriFactory().createMessage(); + msgToSend.setEncodedMessage(ayData); + TriProvider.getInstance().getTriCommunicationTE().triEnqueueMsg(m_tsiPortId, null, + m_componentId, msgToSend); + } + + //Thermometer has received a message + private void processReceivedMessage(byte[] ayMsg) { + printMessageInfo(ayMsg, RECEIVED); + + ThermometerMsg msg; + if (ayMsg.length < MESSAGE_HEADER_LENGTH) { + //Error: message size is smaller than the header size should be + msg = m_analyzer.createErrorMsg(ErrorReply.ERR_HDR_TOO_SHORT); + } + else { + int nMsgCode = BitConverter.toInt(ayMsg, 0); + int nPayloadLen = BitConverter.toInt(ayMsg, 4); + + byte[] ayPayload = new byte[nPayloadLen]; + System.arraycopy(ayMsg, MESSAGE_HEADER_LENGTH, ayPayload, 0, nPayloadLen); + msg = m_analyzer.analyzeMsg(nMsgCode, ayPayload); + } + enqueueMessage(msg.encode()); + } + + private synchronized void log(String sMsg){ + System.out.println(sMsg); + } + + private void printMessageInfo(byte[] ayMsg, String sActionName) { + int nMsgCode = 0; + if (ayMsg.length >= 4) + nMsgCode = BitConverter.toInt(ayMsg, 0); + String sMessageName = ""; + if (nMsgCode == TempRequest.CODE) + sMessageName = "TempRequest"; + else if (nMsgCode == TempReply.CODE) + sMessageName = "TempReply"; + else if (nMsgCode == HumRequest.CODE) + sMessageName = "HumRequest"; + else if (nMsgCode == HumReply.CODE) + sMessageName = "HumReply"; + else if (nMsgCode == ErrorReply.CODE) + sMessageName = "ErrorReply"; + else + sMessageName = "unknown"; + log(sActionName + " " + sMessageName + " (message code " + nMsgCode + ")"); + } + + public TriStatus triCall(TriComponentId componentId, TriPortId tsiPortId, + TriAddress sutAddress, TriSignatureId signatureId, + TriParameterList parameterList) { + return m_triOK; + } + + public TriStatus triCallBC(TriComponentId componentId, TriPortId tsiPortId, + TriSignatureId signatureId, TriParameterList parameterList) { + return m_triOK; + } + + public TriStatus triCallMC(TriComponentId componentId, TriPortId tsiPortId, + TriAddressList sutAddresses, TriSignatureId signatureId, + TriParameterList parameterList) { + return m_triOK; + } + + public TriStatus triEndTestCase() { + return m_triOK; + } + + public TriStatus triExecuteTestCase(TriTestCaseId testCaseId, + TriPortIdList tsiPorts) { + return m_triOK; + } + + public TriStatus triMap(TriPortId compPortId, TriPortId tsiPortId) { + //saving values that are later needed in triSend + //see step #5 under chapter "Step 1: System and Platform Adapter" from the doc + m_componentId = (TriComponentId)compPortId.getComponent(); + m_tsiPortId = (TriPortId)tsiPortId; + return m_triOK; + } + + public TriStatus triRaise(TriComponentId componentId, TriPortId tsitPortId, + TriAddress sutAddress, TriSignatureId signatureId, TriException exc) { + return m_triOK; + } + + public TriStatus triRaiseBC(TriComponentId componentId, + TriPortId tsitPortId, TriSignatureId signatureId, TriException exc) { + return m_triOK; + } + + public TriStatus triRaiseMC(TriComponentId componentId, + TriPortId tsitPortId, TriAddressList sutAddresses, + TriSignatureId signatureId, TriException exc) { + return m_triOK; + } + + public TriStatus triReply(TriComponentId componentId, TriPortId tsiPortId, + TriAddress sutAddress, TriSignatureId signatureId, + TriParameterList parameterList, TriParameter returnValue) { + return m_triOK; + } + + public TriStatus triReplyBC(TriComponentId componentId, + TriPortId tsiPortId, TriSignatureId signatureId, + TriParameterList parameterList, TriParameter returnValue) { + return m_triOK; + } + + public TriStatus triReplyMC(TriComponentId componentId, + TriPortId tsiPortId, TriAddressList sutAddresses, + TriSignatureId signatureId, TriParameterList parameterList, + TriParameter returnValue) { + return m_triOK; + } + + public TriStatus triSAReset() { + return m_triOK; + } + + public TriStatus triSend(TriComponentId componentId, TriPortId tsiPortId, + TriAddress address, TriMessage sendMessage) { + processReceivedMessage(sendMessage.getEncodedMessage()); + return m_triOK; + } + + public TriStatus triSendBC(TriComponentId componentId, TriPortId tsiPortId, + TriMessage sendMessage) { + processReceivedMessage(sendMessage.getEncodedMessage()); + return m_triOK; + } + + public TriStatus triSendMC(TriComponentId componentId, TriPortId tsiPortId, + TriAddressList addresses, TriMessage sendMessage) { + processReceivedMessage(sendMessage.getEncodedMessage()); + return m_triOK; + } + + public TriStatus triSutActionInformal(String description) { + return m_triOK; + } + + public TriStatus triUnmap(TriPortId compPortId, TriPortId tsiPortId) { + return m_triOK; + } + + public TriStatus triExternalFunction(TriFunctionId functionId, + TriParameterList parameterList, TriParameter returnValue) { + String functionName = functionId.getFunctionName();//qualified name here + int nIdx = functionName.indexOf('.'); + if(nIdx != -1) functionName = functionName.substring(nIdx + 1);//remove module name + + if(functionName.equals("add")){ + int o1 = BitConverter.toInt(parameterList.get(0).getEncodedParameter(), 0); + int o2 = BitConverter.toInt(parameterList.get(1).getEncodedParameter(), 0); + int res = o1 + o2; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + if(functionName.equals("xf_Sem_160103_external_functions_001")){ + int res = 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + if(functionName.equals("xf_Sem_160103_external_functions_002")){ + int o1 = BitConverter.toInt(parameterList.get(0).getEncodedParameter(), 0); + int res = o1 + 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + //negative semantics cases always return 1 + if(functionName.equals("xf_NegSem_160103_external_functions_001")){ + int res = 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + if(functionName.equals("xf_NegSem_160103_external_functions_002")){ + int res = 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + if(functionName.equals("xf_NegSem_160103_external_functions_003")){ + int res = 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + if(functionName.equals("xf_NegSem_1602_toplevel_001")){ + int res = 1; + returnValue.setEncodedParameter(BitConverter.getBytes(res)); + } + + + return m_triOK; + } + + public TriStatus triPAReset() { + return m_triOK; + } + + public TriStatus triReadTimer(TriTimerId timerId, + TriTimerDuration elapsedTime) { + return m_triOK; + } + + public TriStatus triStartTimer(TriTimerId timerId, + TriTimerDuration timerDuration) { + return m_triOK; + } + + public TriStatus triStopTimer(TriTimerId timerId) { + return m_triOK; + } + + public TriStatus triTimerRunning(TriTimerId timerId, TriBoolean running) { + return m_triOK; + } + + public void onConnectionClosed() { + log("TRI connection closed"); + synchronized(this) { + notify(); + } + } + + public void onConnectionEstablished() { + log("TRI connection established"); + } + + public void onError(String error) { + log("TRI error occured: " + error); + } +} diff --git a/misc/TestCastTester_GUI/Compilation_results_check.php b/misc/TestCastTester_GUI/Compilation_results_check.php new file mode 100644 index 0000000000000000000000000000000000000000..cdfae0d165b5eec56a5f3d9db747e585300fef5c --- /dev/null +++ b/misc/TestCastTester_GUI/Compilation_results_check.php @@ -0,0 +1,72 @@ +') { + $endtag=strpos($pfile[$i]," \ No newline at end of file diff --git a/misc/TestCastTester_GUI/Converter_to_TestCast_project.php b/misc/TestCastTester_GUI/Converter_to_TestCast_project.php new file mode 100644 index 0000000000000000000000000000000000000000..00058c8654c9c0fbba9098e719ead082484ea6bc --- /dev/null +++ b/misc/TestCastTester_GUI/Converter_to_TestCast_project.php @@ -0,0 +1,235 @@ + + '.substr($filelist[$i],0,strlen($filelist[$i]-5)).' + '.$filelist[$i].' + ttcn3 + +'; +} + +$pf_text1=' + + + +'; + +$pf_text2=' + + + + CodecRules_'.$pname.'.txt + + + + + + + + + + + + + + + Ttcn3_2011 + BER + 10 + 7777 + 60 + 1 + 20 + internal + + + le + + dword + double + 8 + null + 32 + U16 + dword + dword + 16 + 1 + word + bytes + + \r\n + \r\n + none + + + + + +'; + +$pfile=fopen($target_dir."/".$pname.".tcproj","w"); +fputs($pfile,$pf_text1.$pf_scripts.$pf_text2); +fclose($pfile); +$pfile=fopen($target_dir."/CodecRules_".$pname.".txt","w"); +fclose($pfile); + +//copy TTCN semantic files +$filelist=array(); +$filelist=copy_ttcn_sem_files($ATS_dir,$semantic_dir,$filelist); + +//build project file +$pf_scripts=""; +for($i=0;$i + '.$filelist[$i].' + ttcn3 + +'; +} + +$pfile=fopen($semantic_dir."/".$pname.".tcproj","w"); +fputs($pfile,$pf_text1.$pf_scripts.$pf_text2); +fclose($pfile); +$pfile=fopen($semantic_dir."/CodecRules_".$pname.".txt","w"); +fclose($pfile); + + +function copy_ttcn_files($in_dir,$out_dir,$f_array) { + +if($handle = opendir($in_dir)) { + while (false !== ($fname = readdir($handle))) { + if ( substr($fname,0,1) != "." ) { + if(substr($fname,-5,5)=='.ttcn') { + $content=file($in_dir."/".$fname); + $modcount=0; + for($j=0;$j1) { + $wfile=fopen($out_dir."/".$fname,"w"); + $modcount=0; + for($j=0;$j1) break; + else fputs($wfile,$content[$j]); + } + fclose($wfile); + while($j1) { + $wfile=fopen($out_dir."/".$fname,"w"); + $modcount=0; + for($j=0;$j1) break; + else fputs($wfile,$content[$j]); + } + fclose($wfile); + while($j \ No newline at end of file diff --git a/misc/TestCastTester_GUI/README.txt b/misc/TestCastTester_GUI/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..fac199b86f5b071093b66a22b39cffdb5c0764bd --- /dev/null +++ b/misc/TestCastTester_GUI/README.txt @@ -0,0 +1,16 @@ +Instructions for the automated ATS compilation check: +0. Use Autohotkey compiler to generate exe files from the .ahk script +1. create input/output folders: +- ATS: this contains the ATS +- TC: this is where the script will place the files for compilation check +- TC_SEM: this is not used, but just create it +- loopback/broadcast/external: this contains the loopback, broadcast, and external function adapters +1.b The Comm.java file contains the external functions. + Compile it into jar file with the ThermometerTriJava example project, and put result into + external folder. +2. execute the Converter_to_TestCast_project.php4 script +3. Start TestCast and open the generated project in the TC folder +4. Select 'Compile All', then 'Run main script' selecting any TC, and then 'Save all' +5A. Compilation results check: use the Compilation_results_check.php4 script +5B. Full execution check: use the Auto_execution.php4 script (10 sec per) +6. See results in the generated logfiles diff --git a/misc/TestCastTester_GUI/Testcases_where_execution_result_is_unexpected.txt b/misc/TestCastTester_GUI/Testcases_where_execution_result_is_unexpected.txt new file mode 100644 index 0000000000000000000000000000000000000000..18aa6019802a5b1ad9ebbc5d2672c3999ca658fc --- /dev/null +++ b/misc/TestCastTester_GUI/Testcases_where_execution_result_is_unexpected.txt @@ -0,0 +1,24 @@ +Unexpected testcase results when compiling and executing with TesCast v6.5.1 + +NegSem_0503_Ordering_002.ttcn +NegSem_0503_Ordering_002.ttcn +NegSem_0503_Ordering_003.ttcn +NegSem_06010203_Ranges_003.ttcn +NegSem_060303_component_types_002.ttcn +NegSem_150603_ReferencingRecordOfAndSetElements_001.ttcn +NegSem_160102_predefined_functions_020.ttcn +NegSem_160103_external_functions_001.ttcn +NegSem_160104_invoking_functions_from_specific_places_004.ttcn +NegSem_1602_toplevel_002.ttcn +NegSem_1602_toplevel_003.ttcn +NegSem_1602_toplevel_004.ttcn +NegSem_B010204_any_value_or_none_001.ttcn +NegSem_B010204_any_value_or_none_002.ttcn +NegSem_B010401_length_restrictions_001.ttcn +NegSem_B010401_length_restrictions_002.ttcn +Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn +Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.ttcn +Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008.ttcn +Sem_160102_predefined_functions_003.ttcn +Sem_160102_predefined_functions_010.ttcn +Sem_160102_predefined_functions_011.ttcn \ No newline at end of file diff --git a/misc/TestCastTester_GUI/exec_script.ahk b/misc/TestCastTester_GUI/exec_script.ahk new file mode 100644 index 0000000000000000000000000000000000000000..02c23ade8a5489d003168cbf21563117ff53b404 --- /dev/null +++ b/misc/TestCastTester_GUI/exec_script.ahk @@ -0,0 +1,5 @@ +IfWinNotActive, ATS - TestCast , , WinActivate, ATS - TestCast , +WinWaitActive, ATS - TestCast , +;Send, #b +;Send, #n +Send, {ALTDOWN}bn{ALTUP} diff --git a/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tci.dll b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tci.dll new file mode 100644 index 0000000000000000000000000000000000000000..6f9d97cba84222a80aab7a8fa509851a4eebd1c9 Binary files /dev/null and b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tci.dll differ diff --git a/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tri.dll b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tri.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0c47b1e353863bcc265a539b5c63b7cd314336e Binary files /dev/null and b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.Tri.dll differ diff --git a/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.XTri.dll b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.XTri.dll new file mode 100644 index 0000000000000000000000000000000000000000..dfb1c35503ebd4487fef162ed868d3d3410f7114 Binary files /dev/null and b/misc/TestCastTester_GUI/loopback/Etsi.Ttcn3.XTri.dll differ diff --git a/misc/TestCastTester_GUI/loopback/LoopbackSUT_NC.exe b/misc/TestCastTester_GUI/loopback/LoopbackSUT_NC.exe new file mode 100644 index 0000000000000000000000000000000000000000..c27ec4efb5d52ab7d64cf39aaeed1dc994e35044 Binary files /dev/null and b/misc/TestCastTester_GUI/loopback/LoopbackSUT_NC.exe differ diff --git a/misc/TestCastTester_GUI/loopback/TestCast.Ttcn3.TriTci.dll b/misc/TestCastTester_GUI/loopback/TestCast.Ttcn3.TriTci.dll new file mode 100644 index 0000000000000000000000000000000000000000..d32bb56e79ce73cbcea1143217e0d5cb7784c2a3 Binary files /dev/null and b/misc/TestCastTester_GUI/loopback/TestCast.Ttcn3.TriTci.dll differ diff --git a/misc/TestCastTester_GUI/quit_script.ahk b/misc/TestCastTester_GUI/quit_script.ahk new file mode 100644 index 0000000000000000000000000000000000000000..0126b595024bf8452bbedff53d7ee4ac34c8b77b --- /dev/null +++ b/misc/TestCastTester_GUI/quit_script.ahk @@ -0,0 +1,5 @@ +IfWinNotActive, ATS - TestCast , , WinActivate, ATS - TestCast , +WinWaitActive, ATS - TestCast , +;Send, #b +;Send, #n +Send, {ALTDOWN}fx{ALTUP} diff --git a/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tci.dll b/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tci.dll new file mode 100644 index 0000000000000000000000000000000000000000..deae041122f29a770b78dd97e5c4c0976aab6654 Binary files /dev/null and b/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tci.dll differ diff --git a/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tri.dll b/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tri.dll new file mode 100644 index 0000000000000000000000000000000000000000..d32817a6e7adc3550e9ed3ceab860bdca09e4592 Binary files /dev/null and b/misc/adapters/TestCast/broadcast/Etsi.Ttcn3.Tri.dll differ diff --git a/misc/adapters/TestCast/broadcast/InterLoopbackAdapter.exe b/misc/adapters/TestCast/broadcast/InterLoopbackAdapter.exe new file mode 100644 index 0000000000000000000000000000000000000000..52b9b35cdb379400bba53ef0746503fa62c3216e Binary files /dev/null and b/misc/adapters/TestCast/broadcast/InterLoopbackAdapter.exe differ diff --git a/misc/adapters/TestCast/broadcast/TestCast.Ttcn3.TriTci.dll b/misc/adapters/TestCast/broadcast/TestCast.Ttcn3.TriTci.dll new file mode 100644 index 0000000000000000000000000000000000000000..148828c78c9cde829acee64ce4bcedfad3b4531c Binary files /dev/null and b/misc/adapters/TestCast/broadcast/TestCast.Ttcn3.TriTci.dll differ diff --git a/misc/adapters/TestCast/external_functions/external.jar b/misc/adapters/TestCast/external_functions/external.jar new file mode 100644 index 0000000000000000000000000000000000000000..a44ae5db8fdb9a06bdbbac7f22950e442f2f99bf Binary files /dev/null and b/misc/adapters/TestCast/external_functions/external.jar differ diff --git a/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tci.dll b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tci.dll new file mode 100644 index 0000000000000000000000000000000000000000..6f9d97cba84222a80aab7a8fa509851a4eebd1c9 Binary files /dev/null and b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tci.dll differ diff --git a/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tri.dll b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tri.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0c47b1e353863bcc265a539b5c63b7cd314336e Binary files /dev/null and b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.Tri.dll differ diff --git a/misc/adapters/TestCast/loopback/Etsi.Ttcn3.XTri.dll b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.XTri.dll new file mode 100644 index 0000000000000000000000000000000000000000..dfb1c35503ebd4487fef162ed868d3d3410f7114 Binary files /dev/null and b/misc/adapters/TestCast/loopback/Etsi.Ttcn3.XTri.dll differ diff --git a/misc/adapters/TestCast/loopback/LoopbackSUT_NC.exe b/misc/adapters/TestCast/loopback/LoopbackSUT_NC.exe new file mode 100644 index 0000000000000000000000000000000000000000..c27ec4efb5d52ab7d64cf39aaeed1dc994e35044 Binary files /dev/null and b/misc/adapters/TestCast/loopback/LoopbackSUT_NC.exe differ diff --git a/misc/adapters/TestCast/loopback/TestCast.Ttcn3.TriTci.dll b/misc/adapters/TestCast/loopback/TestCast.Ttcn3.TriTci.dll new file mode 100644 index 0000000000000000000000000000000000000000..d32bb56e79ce73cbcea1143217e0d5cb7784c2a3 Binary files /dev/null and b/misc/adapters/TestCast/loopback/TestCast.Ttcn3.TriTci.dll differ diff --git a/misc/config/references.properties b/misc/config/references.properties new file mode 100644 index 0000000000000000000000000000000000000000..ea2e5c40d833a63be8f96c33cd26008dcd922794 --- /dev/null +++ b/misc/config/references.properties @@ -0,0 +1,349 @@ +1=Part 1\: TTCN-3 Core Language - ETSI ES 201 873-1 V4.3.1 (2011-06) +C5=Basic language elements +C5.1=Identifiers and keywords +C5.2=Scope rules +C5.2.1=Scope of formal parameters +C5.2.2=Uniqueness of identifiers +C5.3=Ordering of language elements +C5.4=Parameterization +C5.4.1=Formal parameters +C5.4.1.1=Formal parameters of kind value +C5.4.1.2=Formal parameters of kind template +C5.4.1.3=Formal parameters of kind timer +C5.4.1.4=Formal parameters of kind port +C5.4.2=Actual parameters +C5.5=Cyclic definitions +C6=Types and values +C6.1=Basic types and values +C6.1.0=Simple basic types and values +C6.1.1=Basic string types and values +C6.1.1.1=Accessing individual string elements +C6.1.2=Subtyping of basic types +C6.1.2.1=Lists of values +C6.1.2.2=Lists of types +C6.1.2.3=Ranges +C6.1.2.4=String length restrictions +C6.1.2.5=Pattern subtyping of character string types +C6.1.2.6=Mixing subtyping mechanisms +C6.1.2.6.1=Mixing patterns, lists and ranges +C6.1.2.6.2=Using length restriction with other constraints +C6.2=Structured types and values +C6.2.1=Record type and values +C6.2.1.1=Referencing fields of a record type +C6.2.1.2=Optional elements in a record +C6.2.1.3=Nested type definitions for field types +C6.2.2=Set type and values +C6.2.2.1=Referencing fields of a set type +C6.2.2.2=Optional elements in a set +C6.2.2.3=Nested type definitions for field types +C6.2.3=Records and sets of single types +C6.2.3.1=Nested tpe definitions +C6.2.3.2=Referencing elements of record of and set of types +C6.2.4=Enumerated type and values +C6.2.5=Unions +C6.2.5.1=Referencing fields of a union type +C6.2.5.2=Option and union +C6.2.5.3=Nested type definition for field types +C6.2.6=The anytype +C6.2.7=Arrays +C6.2.8=The default type +C6.2.9=Communication port types +C6.2.10=Component types +C6.2.10.1=Component type definition +C6.2.10.2=Reuse of component types +C6.2.11=Component references +C6.2.12=Addressing entities inside the SUT +C6.2.13=Subtyping of structured types +C6.3=Type compatibility +C6.3.1=Type compatibility of non-structured types +C6.3.2=Type compatibility of structured types +C6.3.2.1=Type compatibility of enumerated types +C6.3.2.2=Type compatibility of record and record of types +C6.3.2.3=Type compatibility of set and set of types +C6.3.2.4=Type compatibility of union types +C6.3.2.5=Type compatibility of anytype types +C6.3.2.6=Type compatibility of sub-structures +C6.3.3=Type compatibility of component types +C6.3.4=Type compatibility of communication operations +C6.3.5=Type conversion +C7=Expression +C7.1=Operators +C7.1.1=Arithmetic operators +C7.1.2=List operator +C7.1.3=Relational operators +C7.1.4=Logical operators +C7.1.5=Bitwise operators +C7.1.6=Shift operators +C7.1.7=Rotate operators +C7.2=Field references and list elements +C8=Modules +C8.1=Definition of a module +C8.2=Module definitions part +C8.2.1=Module parameters +C8.2.2=Groups of definitions +C8.2.3=Importing from modules +C8.2.3.1=General format of import +C8.2.3.2=Importing single definitions +C8.2.3.3=Importing groups +C8.2.3.4=Importing definitions of the same kind +C8.2.3.5=Importing all definitions of a module +C8.2.3.6=Import definitions from other TTCN-3 editions and from non-TTCN-3 modules +C8.2.3.7=Importing of import statements from TTCN-3 modules +C8.2.3.8=Compatibility of language specifications of imports +C8.2.4=Definition of friend modules +C8.2.5=Visibility of definitions +C8.3=Module control part +C9=Port types, component types and test configurations +C9.1=Communication ports +C9.2=Test system interface +C10=Declaring constants +C11=Declaring variables +C11.1=Value variables +C11.2=Template variables +C12=Declaring timers +C13=Declaring messages +C14=Declaring procedure signatures +C15=Declaring templates +C15.1=Declaring message templates +C15.2=Declaring signature templates +C15.3=Global and local templates +C15.4=In-line templates +C15.5=Modified templates +C15.6=Referencing elements of templates or template fields +C15.6.1=Referencing individual string elements +C15.6.2=Referencing record and set fields +C15.6.3=Referencing record of and set of elements +C16.6.4=Referencing signature parameters +C15.7=Template matching mechanism +C15.7.1=Specific values +C15.7.2=Special symbols that can be used instead of values +C15.7.3=Special symbols that can be used inside values +C15.7.4=Special symbols that describe attributes of values +C15.8=Template restrictions +C15.9=Match operation +C15.10=Valueof operation +C15.11=Concatenating templates of string and list types +C16=Functions, altsteps and testcases +C16.1=Functions +C16.1.1=Invoking functions +C16.1.2=Predefined functions +C16.1.3=External functions +C16.1.4=Invoking function from specific places +C16.2=Altsteps +C16.2.1=Invoking altsteps +C16.3=Test cases +C17=Void +C18=Overview of program statements and operations +C19=Basic program statements +C19.1=Assignments +C19.2=The if-else statement +C19.3=The select case statement +C19.4=The for statement +C19.5=The while statement +C19.6=The do-while statement +C19.7=The label statement +C19.8=The goto statement +C19.9=The stop execution statement +C19.10=The return statement +C19.11=The log statement +C19.12=The break statement +C19.13=The continue statement +C19.14=Statement block +C20=Statement and operations for alternative behaviours +C20.1=The snapshot mechanism +C20.2=The alt statement +C20.3=The repeat statement +C20.4=The interleave statement +C20.5=Default handling +C20.5.1=The default mechanism +C20.5.2=The activate operation +C20.5.3=The deactivate operation +C21=Configuration operations +C21.1=Connection operations +C21.1.1=The connect and map operations +C21.1.2=The disconnect and unmap operations +C21.2=Test case operations +C21.2.1=Test case stop operation +C21.3=Test component operations +C21.3.1=The create operation +C21.3.2=The start test component operation +C21.3.3=The stop test behaviour operation +C21.3.4=The kill test component operation +C21.3.5=The alive operation +C21.3.6=The running operation +C21.3.7=The done operation +C21.3.8=The killed operation +C21.3.9=Summary of the use of any and all with components +C22=Communication operations +C22.1=The communication mechanisms +C22.1.1=Principles of message-based communication +C22.1.2=Principles of procedure-based communication +C22.1.3=Principles of unicast, multicast and broadcast communication +C22.1.4=General format of communication operations +C22.1.4.1=General format of the sending operations +C22.1.4.2=General format of the receiving operations +C22.2=Message-based communication +C22.2.1=The send operation +C22.2.2=The receive operation +C22.2.3=The trigger operation +C22.3=Procedure-based communication +C22.3.1=The call operation +C22.3.2=The getcall operation +C22.3.3=The reply operation +C22.3.4=The getreply operation +C22.3.5=The raise operation +C22.3.6=The catch operation +C22.4=The check operation +C22.5=Controlling communication ports +C22.5.1=The clear port operation +C22.5.2=The start port operation +C22.5.3=The stop port operation +C22.5.4=The halt port operation +C22.6=Use of any and all with ports +C23=Timer operations +C23.1=The timer mechanism +C23.2=The start timer operation +C23.3=The stop timer operation +C23.4=The read timer operation +C23.5=The running timer operation +C23.6=The timeout operation +C23.7=Summary of the use of any and al with timers +C24=Test verdict operations +C24.1=The verdict mechanism +C24.2=The setverdict mechanism +C24.3=The getverdict mechanism +C25=External actions +C26=Module control +C26.1=The execute statement +C26.2=The control part +C27=Specifying attributes +C27.1=The attribute mechanism +C27.1.1=Scope of attributes +C27.1.2=Overwriting rules for attributes +C27.1.2.1=Additional overwriting rules for variant attributes +C27.1.3=Changing attributes of imported language elements +C27.2=The with statement +C27.3=Display attributes +C27.4=Encoding attributes +C27.5=Variant attributes +C27.6=Extension attributes +C27.7=Optional attributes +CA=BNF and static semantics +CA1=TTCN-3 BNF +CA1.1=Conventions for the syntax description +CA1.2=Statement terminator symbols +CA1.3=Identifiers +CA1.4=Comments +CA1.5=TTCN-3 terminals +CA1.5.1=Use of whitespaces and newlines +CA1.6=TTCN-3 syntax BNF productions +CA1.6.0=TTCN-3 module +CA1.6.1=Module definitions part +CA1.6.1.0=General +CA1.6.1.1=Typedef definitions +CA1.6.1.2=Constant definitions +CA1.6.1.3=Template definitions +CA1.6.1.4=Function definitions +CA1.6.1.5=Signature definitions +CA1.6.1.6=Testcase definitions +CA1.6.1.7=Altstep definitions +CA1.6.1.8=Import definitions +CA1.6.1.9=Group definitions +CA1.6.1.10=External function definitions +CA1.6.1.11=External constant definitions +CA1.6.1.12=Module parameter definitions +CA1.6.1.13=Friend module definitions +CA1.6.2=Control part +CA1.6.3=Local definitions +CA1.6.3.1=Variable instantiation +CA1.6.3.2=Timer instantiation +CA1.6.4=Operations +CA1.6.4.1=Component operations +CA1.6.4.2=Port operations +CA1.6.4.3=Timer operations +CA1.6.4.4=Testcase operation +CA1.6.5=Type +CA1.6.6=Value +CA1.6.7=Parameterization +CA1.6.8=Statements +CA1.6.8.1=With statement +CA1.6.8.2=Behaviour statements +CA1.6.8.3=Basic statements +CA1.6.9=Miscellaneous productions +CB=Matching incoming values +CB.1=Template matching mechanisms +CB.1.1=Matching specific values +CB.1.2=Matching mechanisms instead of values +CB.1.2.1=Value list +CB.1.2.2=Complemented value list +CB.1.2.3=Any value +CB.1.2.4=Any value or none +CB.1.2.5=Value range +CB.1.2.6=SuperSet +CB.1.2.7=SubSet +CB.1.2.8=Omitting optional fields +CB.1.3=Matching mechanisms inside values +CB.1.3.1=Any element +CB.1.3.1.1=Using single character wildcards +CB.1.3.2=Any number of elements of no element +CB.1.3.2.1=Using multiple character wildcards +CB.1.3.3=Permutation +CB.1.4=Matching attributes of values +CB.1.4.1=Length restrictions +CB.1.4.2=The ifpresent indicator +CB.1.5=Matching character pattern +CB.1.5.1=Set expression +CB.1.5.2=Reference expression +CB.1.5.3=Match expression n times +CB.1.5.4=Match a referenced character set +CB.1.5.5=Type compatibility rules for patterns +CC=Pre-defined TTCN-3 functions +CC.0=General exception handling procedures +CC.1=Integer to character +CC.2=Integer to universal character +CC.3=Integer to bitstring +CC.4=Integer to hexstring +CC.5=Integer to octetstring +CC.6=Integer to charstring +CC.7=Integer to float +CC.8=Float to integer +CC.9=Character to integer +CC.10=Character to octetstring +CC.11=Universal character to integer +CC.12=Bitstring to integer +CC.13=Bitstring to hexstring +CC.14=Bitstring to octetstring +CC.15=Bitstring to charstring +CC.16=Hexstring to integer +CC.17=Hexstring to bitstring +CC.18=Hexstring to octetstring +CC.19=Hexstring to charstring +CC.20=Octetstring to integer +CC.21=Octetstring to bitstring +CC.22=Octetstring to hexstring +CC.23=Octetstring to character string +CC.24=Octetstring to character string, version II +CC.25=Character to integer +CC.26=Character string to hexstring +CC.27=Character string to octetstring +CC.28=Character string to float +CC.29=Length of strings and lists +CC.30=Number of elements in a structured value +CC.31=The ispresent function +CC.32=The ischosen function +CC.33=The regexp function +CC.34=The substring function +CC.35=The replace function +CC.36=The random number generator function +CC.37=Enumerated to integer +CC.38=The isvalue function +CC.39=The encoding function +CC.40=The decoding function +CC.41=The testcasename function +CC.42=Integer to enumerated +CD=Preprocessing macros +CD.1=Preprocessing macro __MODULE__ +CD.2=Preprocessing macro __FILE__ +CD.3=Preprocessing macro __BFILE__ +CD.4=Preprocessing macro __LINE__ +CD.5=Preprocessing macro __SCOPE__ \ No newline at end of file diff --git a/misc/config/t3q_stf409.xml b/misc/config/t3q_stf409.xml new file mode 100644 index 0000000000000000000000000000000000000000..7eadb98e0c919ee5f75cd010aa47a268f9a7f8f1 --- /dev/null +++ b/misc/config/t3q_stf409.xml @@ -0,0 +1,126 @@ + + + + stf409 + v1.0.2 + ttcn + t3p + true + true + + false + true + true + true + + + false + false + false + false + false + false + false + false + false + [\*]{3}\s([fta]_[a-zA-Z0-9]+?):\s(INFO|WARNING|ERROR|PASS|FAIL|INCONC|TIMEOUT):\s.*?[\*]{3} + false + false + false + false + 0 + false + false + false + false + true + true + + VarInstance + ConstDef + TimerInstance + PortInstance + + false + false + false + false + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + .*?LibCommon.* + (.*?LibCommon.*) + false + false + 10000 + false + true + + [A-Z].* + [a-z].* + [A-Z].* + m_[a-z].* + mw_[a-z].* + m_[a-z].* + mw_[a-z].* + + + + + s_[a-z].* + [a-z].* + [a-z].* + c_[a-z].* + cl_[a-z].* + cx_[a-z].* + f_[a-z].* + fx_[a-z].* + a_[a-z].* + TC_.* + v_[a-z].* + vc_[a-z].* + t_[a-z].* + tc_[a-z].* + [A-Z][A-Z_1-9]* + p_[a-z].* + e_[a-z].* + + FORMATTED + + false + false + true + true + true + true + true + true + true + true + true + true + 2 + 2 + 1 + 1 + 1 + + + + stf409 + \ No newline at end of file diff --git a/misc/reports/mts-open_issues.txt b/misc/reports/mts-open_issues.txt new file mode 100644 index 0000000000000000000000000000000000000000..a595fcfc746b9042f87bf1a6adf80e93a0e9b172 --- /dev/null +++ b/misc/reports/mts-open_issues.txt @@ -0,0 +1,53 @@ +The following issues have been reported to STF393 (TTCN-3 maintenance and extension STF) +for clarification or disambiguation as a result of STF409 discussions by either STF409 or +other who participated in the discussions: + +- CR5785: STF409 question on [Part 1: TTCN-3 Core Language / Section 6.3.2 ] + http://t-ort.etsi.org/view.php?id=5785 + + (current status: feedback) + +- CR5791: STF409 question on [Part 1: TTCN-3 Core Language / Section B.1.2.3 ] + http://t-ort.etsi.org/view.php?id=5791 + + (current status: resolved) + +- CR5789: STF409 question on [Part 1: TTCN-3 Core Language / Section 8.2.3.6 ] + http://t-ort.etsi.org/view.php?id=5789 + + (current status: resolved) + +- CR5803: STF409 comment on [Part 1: TTCN-3 Core Language / Section 19.11 ]: ad-hoc restrictions + http://t-ort.etsi.org/view.php?id=5803 + + (current status: resolved) + +- CR5795: STF409 question on [Part 1: TTCN-3 Core Language / Section 16.1.4 ] + http://t-ort.etsi.org/view.php?id=5795 + + (current status: resolved) + +- CR5786: STF409 question on [Part 1: TTCN-3 Core Language / Section 6.3.4 ] + http://t-ort.etsi.org/view.php?id=5786 + + (current status: resolved) + +- CR5513: resolution of CR5092 contains bogus examples for charstring + http://t-ort.etsi.org/view.php?id=5513 + + (current status: fixed) + +- CR5809: CL chapter 15.11 Concatenating templates of string and list types is not supported by BNF + http://t-ort.etsi.org/view.php?id=5809 + + (current status: new) + +- CR5845: BNF does not allow indentificator after keyword pattern + http://t-ort.etsi.org/view.php?id=5845 + + (current status: resolved) + +All Mantin issues for the TTCN-3 reference test suite have been closed to the degree that we don't need any more +feedback or clarifications from the maintenance team. All test cases that are currently in question (at least those +that we know of) have been removed from the ATS that will be the deliverable. They can be reviewed in a possible next +STF and reincluded or altered depending on the results of the clarifications. \ No newline at end of file diff --git a/misc/reports/testcast-19112010/all.log.txt b/misc/reports/testcast-19112010/all.log.txt new file mode 100644 index 0000000000000000000000000000000000000000..1bbb761c7b1cd1fdf3cc68f508bc0e3ea319918f --- /dev/null +++ b/misc/reports/testcast-19112010/all.log.txt @@ -0,0 +1,5024 @@ +1: [pass] NegSem_0501_Identifier_001 +2: [pass] NegSyn_0501_Identifier_001 +3: [pass] Syn_0501_Identifier_001 +4: [pass] Sem_050201_Scope_of_parameters_001 +5: [pass] NegSem_050202_Uniqueness_001 +6: [pass] NegSem_050202_Uniqueness_004 +7: [pass] NegSem_050202_Uniqueness_005 +8: [pass] NegSem_050202_Uniqueness_006 +9: [pass] NegSem_050202_Uniqueness_007 +10: [pass] NegSem_050202_Uniqueness_008 +11: [pass] NegSem_050202_Uniqueness_009 +12: [pass] NegSem_050202_Uniqueness_010 +13: [pass] NegSem_050202_Uniqueness_011 +14: [pass] NegSem_050202_Uniqueness_012 +15: [pass] Sem_050202_Uniqueness_001 +16: [pass] Sem_050202_Uniqueness_002 +17: [pass] Sem_050202_Uniqueness_003 +18: [pass] NegSem_0502_Scope_001 +19: [pass] NegSem_0502_Scope_002 +20: [pass] NegSem_0502_Scope_003 +21: [pass] Sem_0502_Scope_001 +22: [pass] Sem_0502_Scope_002 +23: [pass] Sem_0502_Scope_003 +24: [pass] Sem_0502_Scope_004 +25: [pass] Sem_0502_Scope_008 +26: [pass] Syn_0502_Scope_001 +27: [pass] NegSem_0503_Ordering_001 +28: [fail] NegSem_0503_Ordering_002 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_0503_Ordering_002 script is up-to-date. + --->[SYS] The test case "NegSem_0503_Ordering_002.TC_NegSem_0503_Ordering_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_0503_Ordering_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_0503_Ordering_002.TC_NegSem_0503_Ordering_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +29: [fail] NegSem_0503_Ordering_003 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_0503_Ordering_003 script is up-to-date. + --->[SYS] The test case "NegSem_0503_Ordering_003.TC_NegSem_0503_Ordering_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_0503_Ordering_003, Line: 28). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_0503_Ordering_003.TC_NegSem_0503_Ordering_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +30: [pass] Sem_0503_Ordering_001 +31: [pass] Sem_0503_Ordering_005 +32: [pass] Sem_05040101_parameters_of_kind_value_001 +33: [pass] Sem_05040102_parameters_of_kind_template_001 +34: [pass] Sem_05040102_parameters_of_kind_template_002 +35: [pass] Sem_05040103_parameters_of_kind_timer_001 +36: [fail] Sem_05040104_parameters_of_kind_port_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_05040104_parameters_of_kind_port_001 script... + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 41: The operator != cannot be applied to (Sem_05040104_parameters_of_kind_port_001.TestPort, Sem_05040104_parameters_of_kind_port_001.TestPort). + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 64: Cannot skip parameter #8 of the function "f_parametrizationCheck". No default value has been defined. + --->[SYS] Script "Sem_05040104_parameters_of_kind_port_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +37: [fail] Sem_050402_actual_parameters_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_050402_actual_parameters_001 script is up-to-date. + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 8, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 8) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 10, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 10) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 12, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 12) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 14, Script: Sem_050402_actual_parameters_001, Line: 40). + --->[SYS] The test component "MTC" (with id 14) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 16, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 16) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 18, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 18) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +38: [pass] Sem_050402_actual_parameters_002 +39: [pass] NegSem_0504_parametrization_incompatibility_001 +40: [pass] NegSyn_0504_forbidden_parametrization_001 +41: [pass] NegSyn_0504_forbidden_parametrization_002 +42: [pass] Sem_0505_cyclic_definitions_001 +43: [fail] Sem_0505_cyclic_definitions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_0505_cyclic_definitions_002 script... + --->[SYS] Starting compilation of the Sem_0505_cyclic_definitions_002_import script... + --->[ERR] Script "Sem_0505_cyclic_definitions_002_import": Line 2: Recursive reference to the module "Sem_0505_cyclic_definitions_002". + --->[ERR] Script "Sem_0505_cyclic_definitions_002_import": Line 3: Unknown type "Sem_0505_cyclic_definitions_002_import.MyInteger". + --->[SYS] Script "Sem_0505_cyclic_definitions_002_import" contained errors. 2 errors, 0 warnings. + --->[ERR] Script "Sem_0505_cyclic_definitions_002": Line 17: Unknown type "Sem_0505_cyclic_definitions_002.MyIntegerList". + --->[SYS] Script "Sem_0505_cyclic_definitions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +44: [pass] NegSyn_05_TopLevel_001 +45: [pass] NegSyn_060100_SimpleBasicTypes_001 +46: [pass] NegSyn_060100_SimpleBasicTypes_002 +47: [pass] NegSyn_060100_SimpleBasicTypes_003 +48: [pass] NegSyn_060100_SimpleBasicTypes_004 +49: [pass] NegSyn_060100_SimpleBasicTypes_005 +50: [pass] NegSyn_060100_SimpleBasicTypes_006 +51: [pass] Sem_060100_SimpleBasicTypes_001 +52: [pass] Sem_060100_SimpleBasicTypes_002 +53: [pass] Sem_060100_SimpleBasicTypes_003 +54: [pass] Sem_060100_SimpleBasicTypes_004 +55: [pass] Sem_060100_SimpleBasicTypes_005 +56: [pass] Syn_060100_SimpleBasicTypes_001 +57: [pass] Syn_060100_SimpleBasicTypes_002 +58: [pass] Syn_060100_SimpleBasicTypes_003 +59: [pass] Syn_060100_SimpleBasicTypes_004 +60: [pass] Syn_060100_SimpleBasicTypes_005 +61: [pass] Syn_060100_SimpleBasicTypes_006 +62: [pass] Sem_06010101_AccessStringElements_001 +63: [pass] Sem_06010101_AccessStringElements_002 +64: [pass] Sem_06010101_AccessStringElements_003 +65: [pass] Sem_06010101_AccessStringElements_004 +66: [fail] Sem_06010101_AccessStringElements_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_06010101_AccessStringElements_005 script is up-to-date. + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has started. + --->[ERR] Runtime exception IndexOutOfRangeException "Der Index war auáerhalb des Arraybereichs." + --->at: TC_Sem_06010101_AccessStringElements_005(), in script: Sem_06010101_AccessStringElements_005, line: 13 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +67: [pass] Sem_06010101_AccessStringElements_006 +68: [pass] Sem_06010101_AccessStringElements_007 +69: [pass] Sem_06010101_AccessStringElements_008 +70: [pass] NegSyn_060101_TopLevel_001 +71: [pass] NegSyn_060101_TopLevel_002 +72: [pass] NegSyn_060101_TopLevel_003 +73: [pass] NegSyn_060101_TopLevel_004 +74: [pass] NegSyn_060101_TopLevel_005 +75: [pass] NegSyn_060101_TopLevel_006 +76: [pass] NegSyn_060101_TopLevel_007 +77: [pass] NegSyn_060101_TopLevel_008 +78: [pass] NegSyn_060101_TopLevel_009 +79: [pass] NegSyn_060101_TopLevel_010 +80: [pass] Sem_060101_TopLevel_001 +81: [pass] Sem_060101_TopLevel_002 +82: [pass] Sem_060101_TopLevel_003 +83: [pass] Sem_060101_TopLevel_004 +84: [pass] Sem_060101_TopLevel_005 +85: [pass] Sem_060101_TopLevel_006 +86: [pass] Syn_060101_TopLevel_001 +87: [pass] Syn_060101_TopLevel_002 +88: [pass] Syn_060101_TopLevel_003 +89: [pass] NegSem_06010201_ListOfValues_001 +90: [pass] NegSem_06010201_ListOfValues_002 +91: [pass] NegSem_06010201_ListOfValues_003 +92: [pass] NegSem_06010201_ListOfValues_004 +93: [pass] NegSem_06010201_ListOfValues_005 +94: [pass] NegSem_06010201_ListOfValues_006 +95: [pass] Sem_06010201_ListOfValues_001 +96: [pass] NegSem_06010202_ListOfTypes_001 +97: [pass] Sem_06010202_ListOfTypes_001 +98: [pass] NegSem_06010203_Ranges_001 +99: [pass] NegSem_06010203_Ranges_002 +100: [fail] NegSem_06010203_Ranges_003 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_06010203_Ranges_003 script is up-to-date. + --->[SYS] The test case "NegSem_06010203_Ranges_003.TC_NegSem_06010203_Ranges_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_06010203_Ranges_003, Line: 15). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_06010203_Ranges_003.TC_NegSem_06010203_Ranges_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +101: [pass] Sem_06010203_Ranges_001 +102: [pass] Sem_06010203_Ranges_002 +103: [pass] NegSem_06010204_StringLenghtRestrict_001 +104: [pass] NegSem_06010204_StringLenghtRestrict_002 +105: [pass] Sem_06010204_StringLenghtRestrict_001 +106: [pass] NegSem_06010205_StringPattern_001 +107: [pass] Sem_06010205_StringPattern_001 +108: [pass] Sem_06010205_StringPattern_002 +109: [pass] NegSem_0601020601_MixingSubtype_001 +110: [pass] NegSem_0601020601_MixingSubtype_002 +111: [pass] Sem_0601020601_MixingSubtype_001 +112: [pass] Sem_0601020601_MixingSubtype_002 +113: [pass] NegSem_0601020602_StringMixing_001 +114: [pass] NegSem_0601020602_StringMixing_002 +115: [pass] NegSem_0601020602_StringMixing_003 +116: [pass] NegSem_0601020602_StringMixing_004 +117: [pass] NegSem_0601020602_StringMixing_005 +118: [pass] NegSem_0601020602_StringMixing_006 +119: [pass] Sem_0601020602_StringMixing_001 +120: [pass] Sem_0601020602_StringMixing_002 +121: [pass] Sem_0601020602_StringMixing_003 +122: [pass] Sem_0601020602_StringMixing_004 +123: [pass] Sem_0601020602_StringMixing_005 +124: [pass] Sem_0601020602_StringMixing_006 +125: [pass] Syn_060201_RecordTypeValues_001 +126: [pass] Syn_060201_RecordTypeValues_002 +127: [pass] NegSyn_0602_TopLevel_001 +128: [pass] NegSyn_0602_TopLevel_002 +129: [pass] NegSyn_0602_TopLevel_003 +130: [fail] NegSyn_0602_TopLevel_004 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSyn_0602_TopLevel_004 script is up-to-date. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +131: [pass] NegSyn_0602_TopLevel_005 +132: [pass] Syn_0602_TopLevel_001 +133: [pass] Syn_0602_TopLevel_002 +134: [pass] Syn_0602_TopLevel_003 +135: [pass] Syn_0602_TopLevel_004 +136: [pass] Syn_0602_TopLevel_005 +137: [pass] NegSem_060301_non_structured_types_001 +138: [pass] NegSem_060301_non_structured_types_002 +139: [pass] NegSem_060301_non_structured_types_003 +140: [pass] NegSem_060301_non_structured_types_004 +141: [pass] NegSem_060301_non_structured_types_005 +142: [pass] NegSem_060301_non_structured_types_006 +143: [pass] NegSem_060301_non_structured_types_007 +144: [pass] NegSem_060301_non_structured_types_008 +145: [pass] NegSem_060301_non_structured_types_009 +146: [pass] NegSem_060301_non_structured_types_010 +147: [pass] NegSem_060301_non_structured_types_011 +148: [pass] NegSem_060301_non_structured_types_012 +149: [pass] Sem_060301_non_structured_types_001 +150: [fail] Sem_060301_non_structured_types_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060301_non_structured_types_002 script... + --->[ERR] Script "Sem_060301_non_structured_types_002": Line 45: Index exceeds the allowed range. + --->[SYS] Script "Sem_060301_non_structured_types_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +151: [pass] NegSem_060302_structured_types_001 +152: [pass] NegSem_060302_structured_types_002 +153: [pass] NegSem_060302_structured_types_003 +154: [pass] NegSem_060302_structured_types_004 +155: [pass] NegSem_060302_structured_types_005 +156: [pass] NegSem_060302_structured_types_006 +157: [pass] NegSem_060302_structured_types_007 +158: [pass] NegSem_060302_structured_types_008 +159: [pass] NegSem_060302_structured_types_009 +160: [pass] NegSem_060302_structured_types_010 +161: [pass] NegSem_060302_structured_types_011 +162: [pass] Sem_060302_structured_types_001 +163: [fail] Sem_060302_structured_types_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_060302_structured_types_002 script is up-to-date. + --->[SYS] The test case "Sem_060302_structured_types_002.TC_Sem_060302_structured_types_002" has started. + --->[ERR] Runtime exception InvalidNumberOfItemsException + --->at: TC_Sem_060302_structured_types_002(), in script: Sem_060302_structured_types_002, line: 44 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_002.TC_Sem_060302_structured_types_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +164: [fail] Sem_060302_structured_types_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_060302_structured_types_003 script is up-to-date. + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_060302_structured_types_003, Line: 43). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +165: [pass] Sem_060302_structured_types_004 +166: [pass] Sem_060302_structured_types_005 +167: [pass] NegSem_060303_component_types_001 +168: [pass] NegSem_060303_component_types_002 +169: [pass] Sem_060303_component_types_001 +170: [pass] Sem_070101_ArithmeticOperators_001 +171: [pass] Sem_070101_ArithmeticOperators_002 +172: [pass] Sem_070101_ArithmeticOperators_003 +173: [pass] Sem_070101_ArithmeticOperators_004 +174: [pass] Sem_070101_ArithmeticOperators_005 +175: [pass] Sem_070101_ArithmeticOperators_006 +176: [pass] Sem_070101_ArithmeticOperators_007 +177: [pass] Sem_070101_ArithmeticOperators_008 +178: [pass] Sem_070101_ArithmeticOperators_009 +179: [pass] Sem_070101_ArithmeticOperators_010 +180: [pass] Sem_070101_ArithmeticOperators_011 +181: [pass] Sem_070101_ArithmeticOperators_012 +182: [pass] Sem_070101_ArithmeticOperators_013 +183: [pass] Sem_070101_ArithmeticOperators_014 +184: [pass] Sem_070101_ArithmeticOperators_015 +185: [pass] Sem_070101_ArithmeticOperators_016 +186: [pass] Sem_070101_ArithmeticOperators_017 +187: [pass] Sem_070101_ArithmeticOperators_018 +188: [pass] Sem_070101_ArithmeticOperators_019 +189: [pass] Sem_070101_ArithmeticOperators_020 +190: [pass] Sem_070101_ArithmeticOperators_021 +191: [pass] Sem_070101_ArithmeticOperators_022 +192: [pass] Sem_070101_ArithmeticOperators_023 +193: [pass] Syn_070101_ArithmeticOperators_001 +194: [pass] Syn_070101_ArithmeticOperators_002 +195: [pass] Syn_070101_ArithmeticOperators_003 +196: [pass] Syn_070101_ArithmeticOperators_004 +197: [pass] Syn_070101_ArithmeticOperators_005 +198: [pass] Syn_070101_ArithmeticOperators_006 +199: [pass] Syn_070101_ArithmeticOperators_007 +200: [pass] Syn_070101_ArithmeticOperators_008 +201: [pass] Syn_070101_ArithmeticOperators_009 +202: [pass] Syn_070101_ArithmeticOperators_010 +203: [pass] Syn_070101_ArithmeticOperators_011 +204: [pass] Syn_070101_ArithmeticOperators_012 +205: [pass] Sem_070102_ListOperator_001 +206: [pass] Sem_070102_ListOperator_002 +207: [pass] Sem_070102_ListOperator_003 +208: [pass] Sem_070102_ListOperator_004 +209: [fail] Sem_070102_ListOperator_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070102_ListOperator_005 script is up-to-date. + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070102_ListOperator_005, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +210: [pass] Sem_070103_RelationalOperators_001 +211: [pass] Sem_070103_RelationalOperators_002 +212: [pass] Sem_070103_RelationalOperators_003 +213: [pass] Sem_070103_RelationalOperators_004 +214: [pass] Sem_070103_RelationalOperators_005 +215: [pass] Sem_070103_RelationalOperators_006 +216: [pass] Sem_070103_RelationalOperators_007 +217: [pass] Sem_070103_RelationalOperators_008 +218: [pass] Sem_070103_RelationalOperators_009 +219: [pass] Sem_070103_RelationalOperators_010 +220: [pass] Sem_070103_RelationalOperators_011 +221: [pass] Sem_070103_RelationalOperators_012 +222: [pass] Sem_070103_RelationalOperators_013 +223: [pass] Sem_070103_RelationalOperators_014 +224: [pass] Sem_070103_RelationalOperators_015 +225: [pass] Sem_070103_RelationalOperators_016 +226: [pass] Sem_070103_RelationalOperators_017 +227: [pass] Sem_070103_RelationalOperators_018 +228: [pass] Sem_070103_RelationalOperators_019 +229: [pass] Sem_070103_RelationalOperators_020 +230: [pass] Sem_070103_RelationalOperators_021 +231: [pass] Sem_070103_RelationalOperators_022 +232: [pass] Sem_070103_RelationalOperators_023 +233: [pass] Sem_070103_RelationalOperators_024 +234: [pass] Sem_070104_LogicalOperators_001 +235: [pass] Sem_070104_LogicalOperators_002 +236: [fail] Sem_070105_BitwiseOperators_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070105_BitwiseOperators_001 script is up-to-date. + --->[SYS] The test case "Sem_070105_BitwiseOperators_001.TC_Sem_070105_BitwiseOperators_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070105_BitwiseOperators_001, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070105_BitwiseOperators_001.TC_Sem_070105_BitwiseOperators_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +237: [pass] Sem_070105_BitwiseOperators_002 +238: [pass] Sem_070106_ShiftOperators_001 +239: [pass] Sem_070106_ShiftOperators_002 +240: [fail] Sem_070106_ShiftOperators_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070106_ShiftOperators_003 script is up-to-date. + --->[SYS] The test case "Sem_070106_ShiftOperators_003.TC_Sem_070106_ShiftOperators_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070106_ShiftOperators_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070106_ShiftOperators_003.TC_Sem_070106_ShiftOperators_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +241: [pass] Sem_070106_ShiftOperators_004 +242: [pass] Sem_070107_RotateOperators_001 +243: [pass] Sem_070107_RotateOperators_002 +244: [pass] Sem_070107_RotateOperators_003 +245: [pass] Sem_070107_RotateOperators_004 +246: [pass] Sem_0702_FieldReferencesAndListElements_001 +247: [fail] Sem_0702_FieldReferencesAndListElements_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_0702_FieldReferencesAndListElements_002 script is up-to-date. + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has started. + --->[ERR] Runtime exception ArgumentOutOfRangeException "Der Index lag auáerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. + --->Parametername: index" + --->at: TC_Sem_0702_FieldReferencesAndListElements_002(), in script: Sem_0702_FieldReferencesAndListElements_002, line: 18 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +248: [fail] NegSyn_0801_DefinitionOfAModule_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSyn_0801_DefinitionOfAModule_001 script is up-to-date. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +249: [pass] Syn_0801_DefinitionOfAModule_001 +250: [pass] Syn_0801_DefinitionOfAModule_002 +251: [pass] Syn_0801_DefinitionOfAModule_003 +252: [pass] Syn_0801_DefinitionOfAModule_004 +253: [pass] Sem_080201_ModuleParameters_001 +254: [pass] Syn_080201_ModuleParameters_001 +255: [pass] Syn_080201_ModuleParameters_002 +256: [pass] Syn_080201_ModuleParameters_003 +257: [pass] Syn_080202_GroupOfDefinitions_001 +258: [pass] Syn_080202_GroupOfDefinitions_002 +259: [pass] Syn_080202_GroupOfDefinitions_003 +260: [pass] Syn_080202_GroupOfDefinitions_004 +261: [pass] Syn_08020301_GeneralFormatOfImport_001 +262: [fail] Syn_08020301_GeneralFormatOfImport_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020301_GeneralFormatOfImport_002 script... + --->[ERR] Script "Syn_08020301_GeneralFormatOfImport_002": Line 9: Unknown module "Syn_08020301_GeneralFormatOfImport_001_import". + --->[SYS] Script "Syn_08020301_GeneralFormatOfImport_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +263: [pass] Sem_08020302_ImportingSingleDefinitions_001 +264: [fail] Sem_08020302_ImportingSingleDefinitions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020302_ImportingSingleDefinitions_002 script... + --->[SYS] The Sem_08020302_ImportingSingleDefinitions_002_import script is up-to-date. + --->[ERR] Script "Sem_08020302_ImportingSingleDefinitions_002": Line 18: Unexpected template. + --->[SYS] Script "Sem_08020302_ImportingSingleDefinitions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +265: [pass] NegSem_08020303_ImportingGroups_001 +266: [pass] Sem_08020303_ImportingGroups_001 +267: [fail] Sem_08020303_ImportingGroups_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020303_ImportingGroups_002 script... + --->[SYS] The Sem_08020303_ImportingGroups_002_import script is up-to-date. + --->[ERR] Script "Sem_08020303_ImportingGroups_002": Line 15: The group "CONST_INNER_GROUP" does not exist in the module "Sem_08020303_ImportingGroups_002_import". + --->[SYS] Script "Sem_08020303_ImportingGroups_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +268: [pass] Sem_08020303_ImportingGroups_003 +269: [pass] Sem_08020304_ImportingDefinitionsOfTheSameKind_001 +270: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002 script... + --->[SYS] The Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import script is up-to-date. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +271: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003 script... + --->[SYS] The Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import script is up-to-date. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +272: [pass] NegSem_08020305_ImportingAllDefinitionsOfAModule_001 +273: [pass] Sem_08020305_ImportingAllDefinitionsOfAModule_001 +274: [pass] Sem_08020305_ImportingAllDefinitionsOfAModule_002 +275: [fail] Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 script... + --->[ERR] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001": Line 9: The imported module uses a different language than expected. + --->[SYS] The Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import script is up-to-date. + --->[SYS] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +276: [fail] Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 script... + --->[ERR] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002": Line 9: The imported module uses a different language than expected. + --->[SYS] The Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002_import script is up-to-date. + --->[SYS] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +277: [pass] NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001 +278: [pass] NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002 +279: [pass] Sem_08020307_ImportingOfImportStatementsFromT3Modules_001 +280: [pass] NegSem_08020308_ImportingOfImportStatementsFromT3Modules_001 +281: [pass] NegSem_080204_DefinitionOfFriendModules_001 +282: [pass] NegSem_080204_DefinitionOfFriendModules_002 +283: [fail] Sem_080204_DefinitionOfFriendModules_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080204_DefinitionOfFriendModules_001_import script is up-to-date. + --->[SYS] The Sem_080204_DefinitionOfFriendModules_001 script is up-to-date. + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080204_DefinitionOfFriendModules_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +284: [pass] NegSem_080205_VisibilityOfDefinitions_001 +285: [pass] NegSem_080205_VisibilityOfDefinitions_002 +286: [pass] NegSem_080205_VisibilityOfDefinitions_003 +287: [pass] NegSem_080205_VisibilityOfDefinitions_004 +288: [pass] NegSem_080205_VisibilityOfDefinitions_005 +289: [fail] Sem_080205_VisibilityOfDefinitions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_001_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_001 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +290: [fail] Sem_080205_VisibilityOfDefinitions_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_002_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_002 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_002, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +291: [fail] Sem_080205_VisibilityOfDefinitions_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_003_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_003 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +292: [fail] Sem_080205_VisibilityOfDefinitions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_004_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_004 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_004, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +293: [fail] Sem_080205_VisibilityOfDefinitions_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_005_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_005 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_005, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +294: [pass] Syn_0802_ModuleDefinitionsPart_001 +295: [pass] Syn_0802_ModuleDefinitionsPart_002 +296: [pass] NegSyn_0803_ModuleControlPart_001 +297: [pass] Sem_0803_ModuleControlPart_001 +298: [pass] Syn_0803_ModuleControlPart_001 +299: [fail] Syn_0803_ModuleControlPart_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_0803_ModuleControlPart_002 script is up-to-date. + --->[ERR] Runtime exception InvalidOperationException "Cannot start the timer; no default duration has been specified." + --->at: module control part, in script: Syn_0803_ModuleControlPart_002, line: 25 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +300: [pass] Syn_0803_ModuleControlPart_003 +301: [pass] NegSem_10_Constants_001 +302: [pass] Sem_10_Constants_001 +303: [pass] Sem_10_Constants_002 +304: [pass] Syn_10_Constants_001 +305: [pass] Syn_10_Constants_002 +306: [pass] Syn_10_Constants_003 +307: [pass] Syn_10_Constants_004 +308: [pass] NegSem_1101_ValueVars_001 +309: [pass] NegSyn_1101_ValueVars_001 +310: [pass] Sem_1101_ValueVars_001 +311: [pass] Sem_1101_ValueVars_002 +312: [pass] Sem_1101_ValueVars_003 +313: [pass] Syn_1101_ValueVars_001 +314: [pass] NegSem_1102_TemplateVars_001 +315: [pass] NegSyn_1102_TemplateVars_001 +316: [pass] Sem_1102_TemplateVars_001 +317: [pass] Syn_1102_TemplateVars_001 +318: [pass] Syn_1501_DeclaringMessageTemplates_001 +319: [pass] Syn_1501_DeclaringMessageTemplates_002 +320: [pass] Syn_1501_DeclaringMessageTemplates_003 +321: [pass] Syn_1501_DeclaringMessageTemplates_004 +322: [pass] Syn_1501_DeclaringMessageTemplates_005 +323: [fail] Syn_1501_DeclaringMessageTemplates_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1501_DeclaringMessageTemplates_006 script is up-to-date. + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has started. + --->[->M] Syn_1501_DeclaringMessageTemplates_006.MyMessageType: 4D 79 20 73 74 72 69 6E 67 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1501_DeclaringMessageTemplates_006(), in script: Syn_1501_DeclaringMessageTemplates_006, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +324: [pass] Syn_1502_DeclaringSignatureTemplates_001 +325: [pass] Syn_1502_DeclaringSignatureTemplates_002 +326: [fail] Syn_1502_DeclaringSignatureTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_003 script... + --->[ERR] Script "Syn_1502_DeclaringSignatureTemplates_003": Line 33: If the nowait clause is missing, the call operation for blocking procedures must contain a response and exception handling part. + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +327: [fail] Syn_1502_DeclaringSignatureTemplates_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1502_DeclaringSignatureTemplates_004 script is up-to-date. + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has started. + --->[<-X] integer: 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriRaise operation returned TRI_Error" + --->at: TC_Syn_1502_DeclaringSignatureTemplates_004(), in script: Syn_1502_DeclaringSignatureTemplates_004, line: 33 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +328: [pass] Sem_1503_GlobalAndLocalTemplates_001 +329: [fail] Sem_1503_GlobalAndLocalTemplates_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1503_GlobalAndLocalTemplates_002 script... + --->[ERR] Script "Sem_1503_GlobalAndLocalTemplates_002": Line 31: Unexpected template. + --->[SYS] Script "Sem_1503_GlobalAndLocalTemplates_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +330: [pass] Syn_1503_GlobalAndLocalTemplates_001 +331: [fail] Syn_1503_GlobalAndLocalTemplates_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_002 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_002.TC_Syn_1503_GlobalAndLocalTemplates_002" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_002.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_002(), in script: Syn_1503_GlobalAndLocalTemplates_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_002.TC_Syn_1503_GlobalAndLocalTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +332: [fail] Syn_1503_GlobalAndLocalTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_003 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_003.TC_Syn_1503_GlobalAndLocalTemplates_003" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_003.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_003(), in script: Syn_1503_GlobalAndLocalTemplates_003, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_003.TC_Syn_1503_GlobalAndLocalTemplates_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +333: [pass] Syn_1503_GlobalAndLocalTemplates_004 +334: [pass] Syn_1503_GlobalAndLocalTemplates_005 +335: [pass] Syn_1503_GlobalAndLocalTemplates_006 +336: [fail] Syn_1503_GlobalAndLocalTemplates_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_007 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_007.TC_Syn_1503_GlobalAndLocalTemplates_007" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_007.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 02 00 00 00 61 62 63 31 78 79 7A 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_007(), in script: Syn_1503_GlobalAndLocalTemplates_007, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_007.TC_Syn_1503_GlobalAndLocalTemplates_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +337: [fail] Syn_1503_GlobalAndLocalTemplates_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_008 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_008.TC_Syn_1503_GlobalAndLocalTemplates_008" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_008.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 02 00 00 00 66 6F 6F 62 61 72 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_008(), in script: Syn_1503_GlobalAndLocalTemplates_008, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_008.TC_Syn_1503_GlobalAndLocalTemplates_008" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +338: [fail] Syn_1504_InlineTemplates_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_001 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_001.TC_Syn_1504_InlineTemplates_001" has started. + --->[->M] Syn_1504_InlineTemplates_001.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_001(), in script: Syn_1504_InlineTemplates_001, line: 25 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_001.TC_Syn_1504_InlineTemplates_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +339: [fail] Syn_1504_InlineTemplates_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_002 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_002.TC_Syn_1504_InlineTemplates_002" has started. + --->[->M] Syn_1504_InlineTemplates_002.MyMessageType: 02 00 00 00 66 6F 6F 62 61 72 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_002(), in script: Syn_1504_InlineTemplates_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_002.TC_Syn_1504_InlineTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +340: [fail] Syn_1504_InlineTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_003 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_003.TC_Syn_1504_InlineTemplates_003" has started. + --->[->M] Syn_1504_InlineTemplates_003.MyMessageType: 02 00 00 00 66 6F 6F 62 61 72 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_003(), in script: Syn_1504_InlineTemplates_003, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_003.TC_Syn_1504_InlineTemplates_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +341: [pass] NegSem_1505_ModifiedTemplates_001 +342: [pass] NegSem_1505_ModifiedTemplates_002 +343: [pass] NegSem_1505_ModifiedTemplates_003 +344: [pass] NegSem_1505_ModifiedTemplates_004 +345: [pass] NegSem_1505_ModifiedTemplates_005 +346: [pass] NegSem_1505_ModifiedTemplates_006 +347: [pass] NegSem_1505_ModifiedTemplates_007 +348: [pass] Sem_1505_ModifiedTemplates_001 +349: [fail] Sem_1505_ModifiedTemplates_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1505_ModifiedTemplates_002 script... + --->[SYS] Script "Sem_1505_ModifiedTemplates_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1505_ModifiedTemplates_002, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +350: [pass] Sem_1505_ModifiedTemplates_003 +351: [pass] Sem_1505_ModifiedTemplates_004 +352: [pass] Syn_1505_ModifiedTemplates_001 +353: [pass] Syn_1505_ModifiedTemplates_002 +354: [pass] Syn_1505_ModifiedTemplates_003 +355: [pass] Syn_1505_ModifiedTemplates_004 +356: [pass] NegSem_150601_ReferencingIndividualStringElements_001 +357: [pass] NegSem_150602_ReferencingRecordAndSetFields_001 +358: [pass] NegSem_150602_ReferencingRecordAndSetFields_002 +359: [pass] NegSem_150602_ReferencingRecordAndSetFields_003 +360: [pass] NegSem_150602_ReferencingRecordAndSetFields_004 +361: [pass] NegSem_150602_ReferencingRecordAndSetFields_005 +362: [fail] Sem_150602_ReferencingRecordAndSetFields_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_001 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected ? + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected * + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +363: [fail] Sem_150602_ReferencingRecordAndSetFields_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_002 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_002": Line 44: Syntax error: unexpected ? + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +364: [fail] NegSem_150603_ReferencingRecordOfAndSetElements_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_150603_ReferencingRecordOfAndSetElements_001 script... + --->[SYS] Script "NegSem_150603_ReferencingRecordOfAndSetElements_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_150603_ReferencingRecordOfAndSetElements_001.TC_NegSem_150603_ReferencingRecordOfAndSetElements_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_150603_ReferencingRecordOfAndSetElements_001, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_150603_ReferencingRecordOfAndSetElements_001.TC_NegSem_150603_ReferencingRecordOfAndSetElements_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +365: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_002 +366: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_003 +367: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_004 +368: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_005 +369: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_006 +370: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_007 +371: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_008 +372: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_009 +373: [fail] Sem_150603_ReferencingRecordOfAndSetElements_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_001 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_001.TC_Sem_150603_ReferencingRecordOfAndSetElements_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_001, Line: 25). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_001.TC_Sem_150603_ReferencingRecordOfAndSetElements_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +374: [fail] Sem_150603_ReferencingRecordOfAndSetElements_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_002 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_002.TC_Sem_150603_ReferencingRecordOfAndSetElements_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_002, Line: 28). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_002.TC_Sem_150603_ReferencingRecordOfAndSetElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +375: [fail] Sem_150603_ReferencingRecordOfAndSetElements_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_003 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_003.TC_Sem_150603_ReferencingRecordOfAndSetElements_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_003, Line: 32). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_003.TC_Sem_150603_ReferencingRecordOfAndSetElements_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +376: [fail] Sem_150603_ReferencingRecordOfAndSetElements_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_004 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_004.TC_Sem_150603_ReferencingRecordOfAndSetElements_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_004, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_004.TC_Sem_150603_ReferencingRecordOfAndSetElements_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +377: [fail] Sem_150603_ReferencingRecordOfAndSetElements_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_005 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_005.TC_Sem_150603_ReferencingRecordOfAndSetElements_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_005, Line: 25). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_005.TC_Sem_150603_ReferencingRecordOfAndSetElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +378: [pass] NegSem_1508_TemplateRestrictions_001 +379: [pass] NegSem_1508_TemplateRestrictions_002 +380: [pass] NegSem_1508_TemplateRestrictions_003 +381: [pass] NegSem_1508_TemplateRestrictions_004 +382: [pass] NegSem_1508_TemplateRestrictions_005 +383: [pass] NegSem_1508_TemplateRestrictions_006 +384: [pass] NegSem_1508_TemplateRestrictions_007 +385: [pass] NegSem_1508_TemplateRestrictions_008 +386: [pass] NegSem_1508_TemplateRestrictions_009 +387: [pass] NegSem_1508_TemplateRestrictions_010 +388: [pass] NegSem_1508_TemplateRestrictions_011 +389: [pass] NegSem_1508_TemplateRestrictions_012 +390: [pass] NegSem_1508_TemplateRestrictions_013 +391: [pass] NegSem_1508_TemplateRestrictions_014 +392: [pass] NegSem_1508_TemplateRestrictions_015 +393: [pass] NegSem_1508_TemplateRestrictions_016 +394: [pass] NegSem_1508_TemplateRestrictions_017 +395: [pass] NegSem_1508_TemplateRestrictions_018 +396: [pass] NegSem_1508_TemplateRestrictions_019 +397: [pass] NegSem_1508_TemplateRestrictions_020 +398: [pass] NegSem_1508_TemplateRestrictions_021 +399: [pass] NegSem_1508_TemplateRestrictions_022 +400: [pass] NegSem_1508_TemplateRestrictions_023 +401: [pass] NegSem_1508_TemplateRestrictions_024 +402: [pass] NegSem_1508_TemplateRestrictions_025 +403: [pass] NegSem_1508_TemplateRestrictions_026 +404: [pass] NegSem_1508_TemplateRestrictions_027 +405: [pass] NegSem_1508_TemplateRestrictions_028 +406: [pass] NegSem_1508_TemplateRestrictions_029 +407: [fail] NegSem_1508_TemplateRestrictions_030 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_030 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_030" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +408: [pass] NegSem_1508_TemplateRestrictions_031 +409: [pass] NegSem_1508_TemplateRestrictions_032 +410: [pass] NegSem_1508_TemplateRestrictions_033 +411: [pass] NegSem_1508_TemplateRestrictions_034 +412: [fail] NegSem_1508_TemplateRestrictions_035 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_035 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_035" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +413: [pass] NegSem_1508_TemplateRestrictions_036 +414: [pass] NegSem_1508_TemplateRestrictions_037 +415: [pass] NegSem_1508_TemplateRestrictions_038 +416: [pass] NegSem_1508_TemplateRestrictions_039 +417: [pass] Sem_1508_TemplateRestrictions_001 +418: [fail] Sem_1508_TemplateRestrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_002 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_002": Line 24: Unexpected template. + --->[SYS] Script "Sem_1508_TemplateRestrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +419: [fail] Sem_1508_TemplateRestrictions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_003 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_003": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +420: [pass] Sem_1508_TemplateRestrictions_004 +421: [pass] Sem_1508_TemplateRestrictions_005 +422: [pass] Sem_1508_TemplateRestrictions_006 +423: [fail] Sem_1508_TemplateRestrictions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_007 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_007": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +424: [pass] Sem_1508_TemplateRestrictions_008 +425: [pass] Sem_1508_TemplateRestrictions_009 +426: [pass] Sem_1508_TemplateRestrictions_010 +427: [fail] Sem_1508_TemplateRestrictions_011 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_011 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_011": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_011" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +428: [pass] Sem_1508_TemplateRestrictions_012 +429: [pass] Sem_1508_TemplateRestrictions_013 +430: [pass] Sem_1508_TemplateRestrictions_014 +431: [pass] Sem_1508_TemplateRestrictions_015 +432: [pass] Sem_1508_TemplateRestrictions_016 +433: [pass] Sem_1508_TemplateRestrictions_017 +434: [pass] Sem_1508_TemplateRestrictions_018 +435: [pass] Sem_1508_TemplateRestrictions_019 +436: [pass] Sem_1508_TemplateRestrictions_020 +437: [pass] Sem_1508_TemplateRestrictions_021 +438: [pass] Sem_1508_TemplateRestrictions_022 +439: [pass] Sem_1508_TemplateRestrictions_023 +440: [pass] Syn_1508_TemplateRestrictions_001 +441: [pass] Syn_1508_TemplateRestrictions_002 +442: [pass] Syn_1508_TemplateRestrictions_003 +443: [pass] Syn_1508_TemplateRestrictions_004 +444: [pass] NegSem_1509_MatchOperation_001 +445: [pass] Sem_1509_MatchOperation_001 +446: [pass] Sem_1509_MatchOperation_002 +447: [fail] Sem_1509_MatchOperation_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1509_MatchOperation_003 script... + --->[SYS] Script "Sem_1509_MatchOperation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1509_MatchOperation_003, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +448: [pass] Sem_1509_MatchOperation_004 +449: [pass] Sem_1509_MatchOperation_005 +450: [pass] NegSem_1510_ValueOfOperation_001 +451: [pass] NegSem_1510_ValueOfOperation_002 +452: [pass] NegSem_1510_ValueOfOperation_003 +453: [pass] NegSem_1510_ValueOfOperation_004 +454: [pass] Sem_1510_ValueOfOperation_001 +455: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 +456: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 +457: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 +458: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +459: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +460: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 +461: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004 +462: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005 +463: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected ? + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected & + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +464: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +465: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008": Line 22: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +466: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009": Line 21: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +467: [pass] NegSem_15_TopLevel_001 +468: [pass] Syn_15_TopLevel_001 +469: [pass] Sem_160101_invoking_functions_001 +470: [pass] NegSem_160102_predefined_functions_001 +471: [pass] NegSem_160102_predefined_functions_002 +472: [pass] NegSem_160102_predefined_functions_003 +473: [pass] NegSem_160102_predefined_functions_004 +474: [pass] NegSem_160102_predefined_functions_005 +475: [pass] NegSem_160102_predefined_functions_006 +476: [pass] NegSem_160102_predefined_functions_007 +477: [pass] NegSem_160102_predefined_functions_008 +478: [pass] NegSem_160102_predefined_functions_009 +479: [pass] NegSem_160102_predefined_functions_010 +480: [pass] NegSem_160102_predefined_functions_011 +481: [fail] NegSem_160102_predefined_functions_012 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_012 script... + --->[SYS] Script "NegSem_160102_predefined_functions_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +482: [fail] NegSem_160102_predefined_functions_013 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_013 script... + --->[SYS] Script "NegSem_160102_predefined_functions_013" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +483: [pass] NegSem_160102_predefined_functions_014 +484: [pass] NegSem_160102_predefined_functions_015 +485: [pass] NegSem_160102_predefined_functions_016 +486: [pass] NegSem_160102_predefined_functions_017 +487: [pass] NegSem_160102_predefined_functions_018 +488: [pass] NegSem_160102_predefined_functions_019 +489: [fail] NegSem_160102_predefined_functions_020 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_020 script... + --->[SYS] Script "NegSem_160102_predefined_functions_020" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +490: [pass] NegSem_160102_predefined_functions_021 +491: [pass] NegSem_160102_predefined_functions_022 +492: [pass] NegSem_160102_predefined_functions_023 +493: [pass] NegSem_160102_predefined_functions_024 +494: [pass] NegSem_160102_predefined_functions_025 +495: [pass] NegSem_160102_predefined_functions_026 +496: [pass] NegSem_160102_predefined_functions_027 +497: [fail] Sem_160102_predefined_functions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_001 script... + --->[SYS] Script "Sem_160102_predefined_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_001, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +498: [fail] Sem_160102_predefined_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_002 script... + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_002" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +499: [fail] Sem_160102_predefined_functions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_003 script... + --->[ERR] Script "Sem_160102_predefined_functions_003": Line 40: The active union value is "f2"; the "f1" member cannot be accessed. + --->[SYS] Script "Sem_160102_predefined_functions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +500: [fail] Sem_160102_predefined_functions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_004 script... + --->[SYS] Script "Sem_160102_predefined_functions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_004, Line: 30). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +501: [fail] Sem_160102_predefined_functions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_005 script... + --->[SYS] Script "Sem_160102_predefined_functions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has started. + --->[ERR] Runtime exception NullReferenceException "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." + --->at: TC_Sem_160102_predefined_functions_005(), in script: Sem_160102_predefined_functions_005, line: 29 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +502: [pass] Sem_160102_predefined_functions_006 +503: [fail] Sem_160102_predefined_functions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_007 script... + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_007" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +504: [pass] NegSem_160103_external_functions_001 +505: [pass] NegSem_160103_external_functions_002 +506: [fail] Sem_160103_external_functions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_001 script... + --->[SYS] Script "Sem_160103_external_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has started. + --->[ERR] Runtime exception TriException "TRI failure: TriExternalFunction operation returned TRI_Error" + --->at: TC_Sem_160103_external_functions_001(), in script: Sem_160103_external_functions_001, line: 17 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +507: [fail] Sem_160103_external_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_002 script... + --->[SYS] Script "Sem_160103_external_functions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has started. + --->[ERR] Runtime exception EncodingException "Cannot encode value. Some items might not be initialised or the encoding setting is faulty." + --->at: TC_Sem_160103_external_functions_002(), in script: Sem_160103_external_functions_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +508: [pass] NegSem_160104_invoking_functions_from_specific_places_001 +509: [pass] NegSem_160104_invoking_functions_from_specific_places_002 +510: [pass] NegSem_160104_invoking_functions_from_specific_places_003 +511: [pass] NegSem_160104_invoking_functions_from_specific_places_004 +512: [pass] NegSem_1601_toplevel_001 +513: [pass] NegSem_1601_toplevel_002 +514: [pass] NegSem_1601_toplevel_003 +515: [pass] NegSem_1601_toplevel_004 +516: [pass] Sem_1601_toplevel_001 +517: [fail] Sem_1601_toplevel_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1601_toplevel_002 script... + --->[ERR] Script "Sem_1601_toplevel_002": Line 15: Unexpected template. + --->[ERR] Script "Sem_1601_toplevel_002": Line 20: Unexpected template. + --->[SYS] Script "Sem_1601_toplevel_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +518: [pass] Sem_1601_toplevel_003 +519: [pass] NegSem_160201_invoking_altsteps_001 +520: [fail] Sem_160201_invoking_altsteps_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_001 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_001.TC_Sem_160201_invoking_altsteps_001" has started. + --->[->M] Sem_160201_invoking_altsteps_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_160201_invoking_altsteps_001(), in script: Sem_160201_invoking_altsteps_001, line: 40 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_001.TC_Sem_160201_invoking_altsteps_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +521: [fail] Sem_160201_invoking_altsteps_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_002 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has started. + --->[->M] Sem_160201_invoking_altsteps_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_160201_invoking_altsteps_002(), in script: Sem_160201_invoking_altsteps_002, line: 48 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +522: [pass] NegSem_1602_toplevel_001 +523: [pass] NegSem_1602_toplevel_002 +524: [pass] NegSem_1602_toplevel_003 +525: [pass] NegSem_1602_toplevel_004 +526: [pass] NegSem_1602_toplevel_005 +527: [pass] NegSem_1602_toplevel_006 +528: [pass] NegSyn_1602_toplevel_001 +529: [fail] Sem_1602_toplevel_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1602_toplevel_001 script... + --->[SYS] Script "Sem_1602_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1602_toplevel_001.TC_Sem_1602_toplevel_001" has started. + --->[->M] Sem_1602_toplevel_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_1602_toplevel_001(), in script: Sem_1602_toplevel_001, line: 44 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1602_toplevel_001.TC_Sem_1602_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +530: [pass] NegSem_1603_testcases_001 +531: [pass] NegSem_1603_testcases_002 +532: [pass] Syn_1603_testcases_001 +533: [pass] NegSem_1901_assignments_001 +534: [pass] NegSem_1901_assignments_002 +535: [pass] NegSem_1901_assignments_003 +536: [pass] NegSyn_1901_assignments_001 +537: [pass] Sem_1901_assignments_001 +538: [pass] NegSyn_1902_if_else_statement_001 +539: [pass] Sem_1902_if_else_statement_001 +540: [pass] Sem_1902_if_else_statement_002 +541: [pass] Sem_1903_select_case_statement_001 +542: [pass] Sem_1903_select_case_statement_002 +543: [pass] Sem_1903_select_case_statement_003 +544: [pass] Sem_1903_select_case_statement_004 +545: [pass] NegSem_1904_for_statement_001 +546: [pass] Sem_1904_for_statement_001 +547: [pass] Sem_1904_for_statement_002 +548: [pass] Sem_1904_for_statement_003 +549: [pass] NegSem_1905_while_statement_001 +550: [pass] Sem_1905_while_statement_001 +551: [pass] Sem_1905_while_statement_002 +552: [pass] Sem_1905_while_statement_003 +553: [pass] NegSem_1906_do_while_statement_001 +554: [pass] Sem_1906_do_while_statement_001 +555: [pass] Sem_1906_do_while_statement_002 +556: [pass] Sem_1906_do_while_statement_003 +557: [pass] NegSem_1907_label_statement_001 +558: [pass] NegSyn_1907_label_statement_001 +559: [pass] NegSyn_1907_label_statement_002 +560: [fail] Syn_1907_label_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1907_label_statement_001 script... + --->[ERR] Script "Syn_1907_label_statement_001": Line 61: The "L2" label is already defined. + --->[SYS] Script "Syn_1907_label_statement_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +561: [pass] NegSem_1908_goto_statement_001 +562: [pass] NegSem_1908_goto_statement_002 +563: [pass] NegSem_1908_goto_statement_003 +564: [pass] Sem_1908_goto_statement_001 +565: [pass] Sem_1908_goto_statement_002 +566: [pass] Sem_1908_goto_statement_003 +567: [fail] Sem_1909_stop_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_001 script... + --->[ERR] Script "Sem_1909_stop_statement_001": Line 14: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_001": Line 15: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_001" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +568: [fail] Sem_1909_stop_statement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_002 script... + --->[ERR] Script "Sem_1909_stop_statement_002": Line 23: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_002": Line 24: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_002" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +569: [pass] NegSem_1910_return_statement_001 +570: [pass] Sem_1910_return_statement_001 +571: [pass] NegSem_1911_log_statement_001 +572: [pass] Sem_1911_log_statement_001 +573: [pass] Sem_1911_log_statement_002 +574: [pass] Sem_1911_log_statement_003 +575: [pass] Sem_1911_log_statement_004 +576: [pass] Sem_1911_log_statement_005 +577: [pass] Sem_1913_continue_statement_001 +578: [fail] Sem_2002_TheAltStatement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_001 script... + --->[SYS] Script "Sem_2002_TheAltStatement_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_001.TC_Sem_2002_TheAltStatement_001" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_001(), in script: Sem_2002_TheAltStatement_001, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_001.TC_Sem_2002_TheAltStatement_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +579: [fail] Sem_2002_TheAltStatement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_002 script... + --->[SYS] Script "Sem_2002_TheAltStatement_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_002.TC_Sem_2002_TheAltStatement_002" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_002(), in script: Sem_2002_TheAltStatement_002, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_002.TC_Sem_2002_TheAltStatement_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +580: [fail] Sem_2002_TheAltStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_003 script... + --->[SYS] Script "Sem_2002_TheAltStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_003.TC_Sem_2002_TheAltStatement_003" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_003(), in script: Sem_2002_TheAltStatement_003, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_003.TC_Sem_2002_TheAltStatement_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +581: [fail] Sem_2002_TheAltStatement_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_004 script... + --->[SYS] Script "Sem_2002_TheAltStatement_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_004(), in script: Sem_2002_TheAltStatement_004, line: 34 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 50). + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +582: [fail] Sem_2002_TheAltStatement_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_005 script... + --->[SYS] Script "Sem_2002_TheAltStatement_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_005.TC_Sem_2002_TheAltStatement_005" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_005(), in script: Sem_2002_TheAltStatement_005, line: 22 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_005, Line: 41). + --->[SYS] The test case "Sem_2002_TheAltStatement_005.TC_Sem_2002_TheAltStatement_005" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +583: [fail] Sem_2002_TheAltStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_006 script... + --->[ERR] Script "Sem_2002_TheAltStatement_006": Line 33: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +584: [fail] Sem_2002_TheAltStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_007 script... + --->[ERR] Script "Sem_2002_TheAltStatement_007": Line 38: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +585: [fail] Sem_2002_TheAltStatement_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_008 script... + --->[ERR] Script "Sem_2002_TheAltStatement_008": Line 26: Parallel test components cannot be created if the system adapter is not explicitly declared. + --->[SYS] Script "Sem_2002_TheAltStatement_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +586: [pass] Sem_2002_TheAltStatement_009 +587: [pass] Sem_2002_TheAltStatement_010 +588: [pass] Sem_2002_TheAltStatement_011 +589: [pass] NegSem_2003_the_repeat_statement_001 +590: [fail] Sem_2003_the_repeat_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2003_the_repeat_statement_001 script... + --->[SYS] Script "Sem_2003_the_repeat_statement_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2003_the_repeat_statement_001.TC_Sem_2003_the_repeat_statement_001" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2003_the_repeat_statement_001(), in script: Sem_2003_the_repeat_statement_001, line: 22 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2003_the_repeat_statement_001.TC_Sem_2003_the_repeat_statement_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +591: [pass] Syn_20_TopLevel_001 +592: [pass] Syn_20_TopLevel_002 +593: [pass] Syn_20_TopLevel_003 +594: [pass] Syn_20_TopLevel_004 +595: [pass] Syn_20_TopLevel_005 +596: [pass] NegSem_2601_ExecuteStatement_001 +597: [pass] NegSem_2601_ExecuteStatement_002 +598: [pass] Sem_2601_ExecuteStatement_001 +599: [pass] Sem_2601_ExecuteStatement_002 +600: [fail] Sem_2601_ExecuteStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_003 script... + --->[SYS] Script "Sem_2601_ExecuteStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has started. + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Sem_2601_ExecuteStatement_003(), in script: Sem_2601_ExecuteStatement_003, line: 13 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2601_ExecuteStatement_003, Line: 22). + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +601: [pass] Sem_2601_ExecuteStatement_004 +602: [pass] Sem_2601_ExecuteStatement_005 +603: [fail] Sem_2601_ExecuteStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_006 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_006": Line 27: The identifier "Sem_2601_ExecuteStatement_006" doesn't represent a function. + --->[SYS] Script "Sem_2601_ExecuteStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +604: [fail] Sem_2601_ExecuteStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_007 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_007": Line 13: Syntax error: the statement must contain at least one alternative. + --->[SYS] Script "Sem_2601_ExecuteStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +605: [pass] NegSem_2602_TheControlPart_001 +606: [pass] NegSem_2602_TheControlPart_002 +607: [pass] NegSem_2602_TheControlPart_003 +608: [pass] NegSem_2602_TheControlPart_004 +609: [pass] NegSem_2602_TheControlPart_005 +610: [pass] NegSem_2602_TheControlPart_006 +611: [pass] NegSem_2602_TheControlPart_007 +612: [pass] NegSem_2602_TheControlPart_008 +613: [pass] NegSem_2602_TheControlPart_009 +614: [pass] NegSem_2602_TheControlPart_010 +615: [pass] NegSem_2602_TheControlPart_011 +616: [pass] NegSem_2602_TheControlPart_012 +617: [pass] NegSem_2602_TheControlPart_013 +618: [pass] NegSem_2602_TheControlPart_014 +619: [pass] NegSem_2602_TheControlPart_015 +620: [pass] NegSem_2602_TheControlPart_016 +621: [pass] NegSem_2602_TheControlPart_017 +622: [pass] NegSem_2602_TheControlPart_018 +623: [pass] NegSem_2602_TheControlPart_019 +624: [pass] NegSem_2602_TheControlPart_020 +625: [pass] NegSem_2602_TheControlPart_021 +626: [pass] NegSem_2602_TheControlPart_022 +627: [pass] NegSem_2602_TheControlPart_023 +628: [pass] NegSem_2602_TheControlPart_024 +629: [pass] NegSem_2602_TheControlPart_025 +630: [pass] NegSem_2602_TheControlPart_026 +631: [pass] NegSem_2602_TheControlPart_027 +632: [pass] NegSem_2602_TheControlPart_028 +633: [pass] NegSem_2602_TheControlPart_029 +634: [pass] NegSem_2602_TheControlPart_030 +635: [pass] NegSem_2602_TheControlPart_031 +636: [pass] Sem_2602_TheControlPart_001 +637: [pass] Sem_2602_TheControlPart_002 +638: [pass] Sem_2602_TheControlPart_003 +639: [pass] Syn_26_ModuleControl_001 +640: [pass] Syn_26_ModuleControl_002 +641: [pass] Syn_26_ModuleControl_003 +642: [pass] Syn_26_ModuleControl_004 +643: [pass] Syn_26_ModuleControl_005 +644: [pass] Syn_26_ModuleControl_006 +645: [pass] Syn_26_ModuleControl_007 +646: [pass] Syn_26_ModuleControl_008 +647: [pass] Syn_26_ModuleControl_009 +648: [pass] Syn_26_ModuleControl_010 +649: [pass] Syn_26_ModuleControl_011 +650: [fail] Syn_26_ModuleControl_012 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_012 script... + --->[SYS] Script "Syn_26_ModuleControl_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[TMT] Timer id: 1, elapsed: 2.0E-2, script: Syn_26_ModuleControl_012, line: 14 + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: module control part, in script: Syn_26_ModuleControl_012, line: 13 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +651: [pass] Syn_26_ModuleControl_013 +652: [fail] Syn_26_ModuleControl_014 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_014 script... + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The statement is allowed only inside functions, altsteps and test cases. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The parameter "p_timer" is passed by reference. In an activation call, only timers defined in a test component and ports can be passed by reference. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 28: The statement is allowed only inside functions, altsteps and test cases. + --->[SYS] Script "Syn_26_ModuleControl_014" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +653: [pass] Syn_26_ModuleControl_015 +654: [fail] Syn_26_ModuleControl_016 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_016 script... + --->[SYS] Script "Syn_26_ModuleControl_016" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception TriException "TRI failure: TriSutAction operation returned TRI_Error" + --->at: module control part, in script: Syn_26_ModuleControl_016, line: 11 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +655: [pass] Syn_26_ModuleControl_017 +656: [pass] NegSem_B010101_omitting_values_001 +657: [inconc] Sem_B010101_omitting_values_001 - cannot interprete expected output! +658: [inconc] Sem_B010101_omitting_values_002 - cannot interprete expected output! +659: [fail] Sem_B0101_matching_specific_value_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0101_matching_specific_value_001 script... + --->[SYS] Script "Sem_B0101_matching_specific_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0101_matching_specific_value_001.TC_Sem_B0101_matching_specific_value_001" has started. + --->[->M] Sem_B0101_matching_specific_value_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 FF FF FF FF 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 01 00 01 00 00 00 02 00 01 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B0101_matching_specific_value_001(), in script: Sem_B0101_matching_specific_value_001, line: 87 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0101_matching_specific_value_001.TC_Sem_B0101_matching_specific_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +660: [inconc] Sem_B0101_matching_specific_value_002 - cannot interprete expected output! +661: [inconc] Sem_B0101_matching_specific_value_003 - cannot interprete expected output! +662: [inconc] Sem_B0101_matching_specific_value_004 - cannot interprete expected output! +663: [inconc] Sem_B0101_matching_specific_value_005 - cannot interprete expected output! +664: [inconc] Sem_B0101_matching_specific_value_006 - cannot interprete expected output! +665: [inconc] Sem_B0101_matching_specific_value_007 - cannot interprete expected output! +666: [inconc] Sem_B0101_matching_specific_value_008 - cannot interprete expected output! +667: [inconc] Sem_B0101_matching_specific_value_009 - cannot interprete expected output! +668: [inconc] Sem_B0101_matching_specific_value_010 - cannot interprete expected output! +669: [inconc] Sem_B0101_matching_specific_value_011 - cannot interprete expected output! +670: [fail] Sem_B010201_value_list_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010201_value_list_001 script... + --->[SYS] Script "Sem_B010201_value_list_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010201_value_list_001.TC_Sem_B010201_value_list_001" has started. + --->[->M] Sem_B010201_value_list_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010201_value_list_001(), in script: Sem_B010201_value_list_001, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010201_value_list_001.TC_Sem_B010201_value_list_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +671: [fail] Sem_B010202_complemented_value_list_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_001 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_001.TC_Sem_B010202_complemented_value_list_001" has started. + --->[->M] Sem_B010202_complemented_value_list_001.MessageType: 00 00 00 00 74 65 73 74 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_001(), in script: Sem_B010202_complemented_value_list_001, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_001.TC_Sem_B010202_complemented_value_list_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +672: [fail] Sem_B010202_complemented_value_list_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_002 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_002.TC_Sem_B010202_complemented_value_list_002" has started. + --->[->M] Sem_B010202_complemented_value_list_002.MessageType: 02 00 00 00 74 65 73 74 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_002(), in script: Sem_B010202_complemented_value_list_002, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_002.TC_Sem_B010202_complemented_value_list_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +673: [fail] Sem_B010202_complemented_value_list_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_003 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_003.TC_Sem_B010202_complemented_value_list_003" has started. + --->[->M] Sem_B010202_complemented_value_list_003.MessageType: 00 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_003(), in script: Sem_B010202_complemented_value_list_003, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_003.TC_Sem_B010202_complemented_value_list_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +674: [fail] Sem_B010202_complemented_value_list_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_004 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_004.TC_Sem_B010202_complemented_value_list_004" has started. + --->[->M] Sem_B010202_complemented_value_list_004.MessageType: 00 00 00 00 74 65 73 74 20 00 02 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_004(), in script: Sem_B010202_complemented_value_list_004, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_004.TC_Sem_B010202_complemented_value_list_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +675: [fail] Sem_B010202_complemented_value_list_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_005 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_005.TC_Sem_B010202_complemented_value_list_005" has started. + --->[->M] Sem_B010202_complemented_value_list_005.MessageType: 00 00 00 00 74 65 73 74 20 00 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_005(), in script: Sem_B010202_complemented_value_list_005, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_005.TC_Sem_B010202_complemented_value_list_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +676: [fail] Sem_B010202_complemented_value_list_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_006 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_006.TC_Sem_B010202_complemented_value_list_006" has started. + --->[->M] Sem_B010202_complemented_value_list_006.MessageType: 00 00 00 00 74 65 73 74 20 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_006(), in script: Sem_B010202_complemented_value_list_006, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_006.TC_Sem_B010202_complemented_value_list_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +677: [fail] Sem_B010203_any_value_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_001 script... + --->[SYS] Script "Sem_B010203_any_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has started. + --->[->M] Sem_B010203_any_value_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010203_any_value_001(), in script: Sem_B010203_any_value_001, line: 68 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +678: [fail] Sem_B010203_any_value_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_002 script... + --->[SYS] Script "Sem_B010203_any_value_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_002.TC_Sem_B010203_any_value_002" has started. + --->[->M] Sem_B010203_any_value_002.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010203_any_value_002(), in script: Sem_B010203_any_value_002, line: 68 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_002.TC_Sem_B010203_any_value_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +679: [pass] NegSem_B010204_any_value_or_none_001 +680: [pass] NegSem_B010204_any_value_or_none_002 +681: [fail] Sem_B010204_any_value_or_none_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010204_any_value_or_none_001 script... + --->[SYS] Script "Sem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has started. + --->[->M] Sem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010204_any_value_or_none_001(), in script: Sem_B010204_any_value_or_none_001, line: 65 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +682: [pass] NegSem_B010205_value_range_001 +683: [pass] NegSem_B010205_value_range_002 +684: [pass] NegSem_B010205_value_range_003 +685: [fail] Sem_B010205_value_range_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_001 script... + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +686: [fail] Sem_B010205_value_range_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_002 script... + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +687: [fail] Sem_B010205_value_range_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_003 script... + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +688: [fail] Sem_B010205_value_range_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_004 script... + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +689: [fail] Sem_B010205_value_range_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_005 script... + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +690: [fail] Sem_B010205_value_range_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_006 script... + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +691: [pass] NegSem_B010206_superset_001 +692: [pass] NegSem_B010206_superset_002 +693: [fail] Sem_B010206_superset_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_001 script... + --->[SYS] Script "Sem_B010206_superset_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_001.TC_Sem_B010206_superset_001" has started. + --->[->M] Sem_B010206_superset_001.MessageType: 03 00 01 00 00 00 03 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_001(), in script: Sem_B010206_superset_001, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_001.TC_Sem_B010206_superset_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +694: [fail] Sem_B010206_superset_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_002 script... + --->[SYS] Script "Sem_B010206_superset_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_002.TC_Sem_B010206_superset_002" has started. + --->[->M] Sem_B010206_superset_002.MessageType: 03 00 01 00 00 00 03 00 00 00 04 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_002(), in script: Sem_B010206_superset_002, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_002.TC_Sem_B010206_superset_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +695: [fail] Sem_B010206_superset_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_003 script... + --->[SYS] Script "Sem_B010206_superset_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_003.TC_Sem_B010206_superset_003" has started. + --->[->M] Sem_B010206_superset_003.MessageType: 02 00 01 00 00 00 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_003(), in script: Sem_B010206_superset_003, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_003.TC_Sem_B010206_superset_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +696: [pass] NegSem_B010207_subset_001 +697: [pass] NegSem_B010207_subset_002 +698: [fail] Sem_B010207_subset_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_001 script... + --->[SYS] Script "Sem_B010207_subset_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_001.TC_Sem_B010207_subset_001" has started. + --->[->M] Sem_B010207_subset_001.MessageType: 01 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_001(), in script: Sem_B010207_subset_001, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_001.TC_Sem_B010207_subset_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +699: [fail] Sem_B010207_subset_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_002 script... + --->[SYS] Script "Sem_B010207_subset_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_002.TC_Sem_B010207_subset_002" has started. + --->[->M] Sem_B010207_subset_002.MessageType: 01 00 03 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_002(), in script: Sem_B010207_subset_002, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_002.TC_Sem_B010207_subset_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +700: [fail] Sem_B010207_subset_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_003 script... + --->[SYS] Script "Sem_B010207_subset_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_003.TC_Sem_B010207_subset_003" has started. + --->[->M] Sem_B010207_subset_003.MessageType: 03 00 01 00 00 00 02 00 00 00 03 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_003(), in script: Sem_B010207_subset_003, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_003.TC_Sem_B010207_subset_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +701: [fail] Sem_B010301_any_element_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_001 script... + --->[SYS] Script "Sem_B010301_any_element_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_001.TC_Sem_B010301_any_element_001" has started. + --->[->M] Sem_B010301_any_element_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_001(), in script: Sem_B010301_any_element_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_001.TC_Sem_B010301_any_element_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +702: [fail] Sem_B010301_any_element_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_002 script... + --->[SYS] Script "Sem_B010301_any_element_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_002.TC_Sem_B010301_any_element_002" has started. + --->[->M] Sem_B010301_any_element_002.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_002(), in script: Sem_B010301_any_element_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_002.TC_Sem_B010301_any_element_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +703: [fail] Sem_B010301_any_element_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_003 script... + --->[SYS] Script "Sem_B010301_any_element_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_003.TC_Sem_B010301_any_element_003" has started. + --->[->M] Sem_B010301_any_element_003.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 05 00 00 00 A8 06 00 00 00 89 AB BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_003(), in script: Sem_B010301_any_element_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_003.TC_Sem_B010301_any_element_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +704: [fail] Sem_B010301_any_element_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_004 script... + --->[SYS] Script "Sem_B010301_any_element_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_004.TC_Sem_B010301_any_element_004" has started. + --->[->M] Sem_B010301_any_element_004.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 02 00 00 00 80 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_004(), in script: Sem_B010301_any_element_004, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_004.TC_Sem_B010301_any_element_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +705: [fail] Sem_B010301_any_element_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_005 script... + --->[SYS] Script "Sem_B010301_any_element_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_005.TC_Sem_B010301_any_element_005" has started. + --->[->M] Sem_B010301_any_element_005.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_005(), in script: Sem_B010301_any_element_005, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_005.TC_Sem_B010301_any_element_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +706: [fail] Sem_B010301_any_element_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_006 script... + --->[SYS] Script "Sem_B010301_any_element_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_006.TC_Sem_B010301_any_element_006" has started. + --->[->M] Sem_B010301_any_element_006.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_006(), in script: Sem_B010301_any_element_006, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_006.TC_Sem_B010301_any_element_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +707: [fail] Sem_B010301_any_element_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_007 script... + --->[SYS] Script "Sem_B010301_any_element_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_007.TC_Sem_B010301_any_element_007" has started. + --->[->M] Sem_B010301_any_element_007.MessageType: 04 00 08 00 00 00 09 00 00 00 0A 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_007(), in script: Sem_B010301_any_element_007, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_007.TC_Sem_B010301_any_element_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +708: [fail] Sem_B010301_any_element_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_008 script... + --->[SYS] Script "Sem_B010301_any_element_008" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_008.TC_Sem_B010301_any_element_008" has started. + --->[->M] Sem_B010301_any_element_008.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_008(), in script: Sem_B010301_any_element_008, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_008.TC_Sem_B010301_any_element_008" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +709: [fail] Sem_B010302_any_number_of_elements_or_none_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_001 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_001.TC_Sem_B010302_any_number_of_elements_or_none_001" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_001(), in script: Sem_B010302_any_number_of_elements_or_none_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_001.TC_Sem_B010302_any_number_of_elements_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +710: [fail] Sem_B010302_any_number_of_elements_or_none_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_002 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_002.TC_Sem_B010302_any_number_of_elements_or_none_002" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_002.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_002(), in script: Sem_B010302_any_number_of_elements_or_none_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_002.TC_Sem_B010302_any_number_of_elements_or_none_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +711: [fail] Sem_B010302_any_number_of_elements_or_none_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_003 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_003.TC_Sem_B010302_any_number_of_elements_or_none_003" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_003.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 04 00 08 00 00 00 09 00 00 00 0A 00 00 00 0C 00 00 00 07 00 08 00 00 00 09 00 00 00 09 00 00 00 0A 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_003(), in script: Sem_B010302_any_number_of_elements_or_none_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_003.TC_Sem_B010302_any_number_of_elements_or_none_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +712: [pass] NegSem_B010303_permutation_001 +713: [fail] Sem_B010303_permutation_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_001 script... + --->[SYS] Script "Sem_B010303_permutation_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_001.TC_Sem_B010303_permutation_001" has started. + --->[->M] Sem_B010303_permutation_001.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 05 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_001(), in script: Sem_B010303_permutation_001, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_001.TC_Sem_B010303_permutation_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +714: [fail] Sem_B010303_permutation_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_002 script... + --->[SYS] Script "Sem_B010303_permutation_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_002.TC_Sem_B010303_permutation_002" has started. + --->[->M] Sem_B010303_permutation_002.MessageType: 04 00 02 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_002(), in script: Sem_B010303_permutation_002, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_002.TC_Sem_B010303_permutation_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +715: [fail] Sem_B010303_permutation_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_003 script... + --->[SYS] Script "Sem_B010303_permutation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_003.TC_Sem_B010303_permutation_003" has started. + --->[->M] Sem_B010303_permutation_003.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 05 00 02 00 00 00 01 00 00 00 08 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_003(), in script: Sem_B010303_permutation_003, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_003.TC_Sem_B010303_permutation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +716: [fail] Sem_B010303_permutation_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_004 script... + --->[SYS] Script "Sem_B010303_permutation_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_004.TC_Sem_B010303_permutation_004" has started. + --->[->M] Sem_B010303_permutation_004.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 08 00 00 00 01 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_004(), in script: Sem_B010303_permutation_004, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_004.TC_Sem_B010303_permutation_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +717: [fail] Sem_B010303_permutation_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_005 script... + --->[SYS] Script "Sem_B010303_permutation_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_005.TC_Sem_B010303_permutation_005" has started. + --->[->M] Sem_B010303_permutation_005.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 08 00 00 00 01 00 00 00 04 00 03 00 00 00 01 00 00 00 01 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_005(), in script: Sem_B010303_permutation_005, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_005.TC_Sem_B010303_permutation_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +718: [fail] Sem_B010401_length_restrictions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_001 script... + --->[SYS] Script "Sem_B010401_length_restrictions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_001.TC_Sem_B010401_length_restrictions_001" has started. + --->[->M] Sem_B010401_length_restrictions_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_001(), in script: Sem_B010401_length_restrictions_001, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_001.TC_Sem_B010401_length_restrictions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +719: [fail] Sem_B010401_length_restrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_002 script... + --->[ERR] Script "Sem_B010401_length_restrictions_002": Line 16: Syntax error: unexpected } + --->[SYS] Script "Sem_B010401_length_restrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +720: [fail] Sem_B010401_length_restrictions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_003 script... + --->[SYS] Script "Sem_B010401_length_restrictions_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_003.TC_Sem_B010401_length_restrictions_003" has started. + --->[->M] Sem_B010401_length_restrictions_003.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_003(), in script: Sem_B010401_length_restrictions_003, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_003.TC_Sem_B010401_length_restrictions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +721: [fail] Sem_B010401_length_restrictions_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_004 script... + --->[SYS] Script "Sem_B010401_length_restrictions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_004.TC_Sem_B010401_length_restrictions_004" has started. + --->[->M] Sem_B010401_length_restrictions_004.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_004(), in script: Sem_B010401_length_restrictions_004, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_004.TC_Sem_B010401_length_restrictions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +722: [fail] Sem_B010401_length_restrictions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_005 script... + --->[ERR] Script "Sem_B010401_length_restrictions_005": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_005" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +723: [fail] Sem_B010401_length_restrictions_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_006 script... + --->[ERR] Script "Sem_B010401_length_restrictions_006": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +724: [pass] NegSem_B010402_ifPresent_indicator_001 +725: [fail] Sem_B010402_ifPresent_indicator_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_001 script... + --->[SYS] Script "Sem_B010402_ifPresent_indicator_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has started. + --->[->M] Sem_B010402_ifPresent_indicator_001.MessageType: 01 00 00 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010402_ifPresent_indicator_001(), in script: Sem_B010402_ifPresent_indicator_001, line: 59 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +726: [fail] Sem_B010402_ifPresent_indicator_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_002 script... + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "fff" is not defined. + --->[SYS] Script "Sem_B010402_ifPresent_indicator_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +727: [pass] NegSem_B010501_set_expression_001 +728: [fail] Sem_B010501_set_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_001 script... + --->[SYS] Script "Sem_B010501_set_expression_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_001.TC_Sem_B010501_set_expression_001" has started. + --->[->M] Sem_B010501_set_expression_001.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_001(), in script: Sem_B010501_set_expression_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_001.TC_Sem_B010501_set_expression_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +729: [fail] Sem_B010501_set_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_002 script... + --->[SYS] Script "Sem_B010501_set_expression_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_002.TC_Sem_B010501_set_expression_002" has started. + --->[->M] Sem_B010501_set_expression_002.MessageType: 74 65 78 74 31 00 74 65 73 74 31 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_002(), in script: Sem_B010501_set_expression_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_002.TC_Sem_B010501_set_expression_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +730: [fail] Sem_B010501_set_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_003 script... + --->[SYS] Script "Sem_B010501_set_expression_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_003.TC_Sem_B010501_set_expression_003" has started. + --->[->M] Sem_B010501_set_expression_003.MessageType: 74 65 73 74 31 00 74 65 73 74 78 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_003(), in script: Sem_B010501_set_expression_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_003.TC_Sem_B010501_set_expression_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +731: [fail] Sem_B010501_set_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_004 script... + --->[SYS] Script "Sem_B010501_set_expression_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_004.TC_Sem_B010501_set_expression_004" has started. + --->[->M] Sem_B010501_set_expression_004.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_004(), in script: Sem_B010501_set_expression_004, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_004.TC_Sem_B010501_set_expression_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +732: [fail] Sem_B010501_set_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_005 script... + --->[SYS] Script "Sem_B010501_set_expression_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_005.TC_Sem_B010501_set_expression_005" has started. + --->[->M] Sem_B010501_set_expression_005.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_005(), in script: Sem_B010501_set_expression_005, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_005.TC_Sem_B010501_set_expression_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +733: [fail] Sem_B010502_reference_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_001 script... + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 47: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 51: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 61: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 63: Syntax error: unexpected alt + --->[SYS] Script "Sem_B010502_reference_expression_001" contained errors. 14 errors, 0 warnings. + --->[SYS] Compilation failed; 14 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +734: [fail] Sem_B010502_reference_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_002 script... + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +735: [fail] Sem_B010502_reference_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_003 script... + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +736: [fail] Sem_B010502_reference_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_004 script... + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +737: [fail] Sem_B010502_reference_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_005 script... + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +738: [fail] Sem_B010502_reference_expression_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_006 script... + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +739: [fail] Sem_B010502_reference_expression_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_007 script... + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_007" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +740: [fail] Sem_B010502_reference_expression_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_008 script... + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_008" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +741: [fail] Sem_B010502_reference_expression_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_009 script... + --->[SYS] Script "Sem_B010502_reference_expression_009" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has started. + --->[->M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010502_reference_expression_009(), in script: Sem_B010502_reference_expression_009, line: 38 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +742: [fail] Sem_B010503_match_n_times_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_001 script... + --->[SYS] Script "Sem_B010503_match_n_times_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_001.TC_Sem_B010503_match_n_times_001" has started. + --->[->M] Sem_B010503_match_n_times_001.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_001(), in script: Sem_B010503_match_n_times_001, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_001.TC_Sem_B010503_match_n_times_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +743: [fail] Sem_B010503_match_n_times_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_002 script... + --->[SYS] Script "Sem_B010503_match_n_times_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_002.TC_Sem_B010503_match_n_times_002" has started. + --->[->M] Sem_B010503_match_n_times_002.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_002(), in script: Sem_B010503_match_n_times_002, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_002.TC_Sem_B010503_match_n_times_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +744: [fail] Sem_B010503_match_n_times_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_003 script... + --->[SYS] Script "Sem_B010503_match_n_times_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_003.TC_Sem_B010503_match_n_times_003" has started. + --->[->M] Sem_B010503_match_n_times_003.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_003(), in script: Sem_B010503_match_n_times_003, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_003.TC_Sem_B010503_match_n_times_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +745: [fail] Sem_B010503_match_n_times_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_004 script... + --->[SYS] Script "Sem_B010503_match_n_times_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_004.TC_Sem_B010503_match_n_times_004" has started. + --->[->M] Sem_B010503_match_n_times_004.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_004(), in script: Sem_B010503_match_n_times_004, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_004.TC_Sem_B010503_match_n_times_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +746: [fail] Sem_B010503_match_n_times_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_005 script... + --->[SYS] Script "Sem_B010503_match_n_times_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_005.TC_Sem_B010503_match_n_times_005" has started. + --->[->M] Sem_B010503_match_n_times_005.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_005(), in script: Sem_B010503_match_n_times_005, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_005.TC_Sem_B010503_match_n_times_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +747: [pass] NegSem_B010504_match_referenced_characters_001 +748: [fail] Sem_B010504_match_referenced_characters_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_001 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +749: [fail] Sem_B010504_match_referenced_characters_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_002 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +750: [fail] Sem_B010504_match_referenced_characters_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_003 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +751: [fail] Sem_B010504_match_referenced_characters_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_004 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +752: [fail] Sem_B010504_match_referenced_characters_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_005 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +753: [fail] Sem_B010504_match_referenced_characters_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_006 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +754: [fail] Sem_B010505_pattern_compatibility_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_001 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +755: [fail] Sem_B010505_pattern_compatibility_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_002 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +756: [fail] Sem_B0105_toplevel_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0105_toplevel_001 script... + --->[SYS] Script "Sem_B0105_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has started. + --->[->M] Sem_B0105_toplevel_001.MessageType: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B0105_toplevel_001(), in script: Sem_B0105_toplevel_001, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK diff --git a/misc/reports/testcast-19112010/critical.log.txt b/misc/reports/testcast-19112010/critical.log.txt new file mode 100644 index 0000000000000000000000000000000000000000..d95e1b278db4ec66d07e7b9534a5b601974f9227 --- /dev/null +++ b/misc/reports/testcast-19112010/critical.log.txt @@ -0,0 +1,4510 @@ +28: [fail] NegSem_0503_Ordering_002 - tool accepts the input, but rejection is expected! +Akov: the mistake here has been fixed +Akov: because of the same issue as #29 (below), the pass verdict is expected to persist +Akov: the further pass verdict is a problem of TestCast, see this sentence in section 5.3: "Inside a statement block, such + as a function body or a branch of an if-else statement, all declarations (if any), shall be made at the + beginning of the statement block only." + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_0503_Ordering_002 script is up-to-date. + --->[SYS] The test case "NegSem_0503_Ordering_002.TC_NegSem_0503_Ordering_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_0503_Ordering_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_0503_Ordering_002.TC_NegSem_0503_Ordering_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +29: [fail] NegSem_0503_Ordering_003 - tool accepts the input, but rejection is expected! +Akov: the pass verdict is a problem of TestCast, see this sentence in section 5.3: "Inside a statement block, such + as a function body or a branch of an if-else statement, all declarations (if any), shall be made at the + beginning of the statement block only." + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_0503_Ordering_003 script is up-to-date. + --->[SYS] The test case "NegSem_0503_Ordering_003.TC_NegSem_0503_Ordering_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_0503_Ordering_003, Line: 28). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_0503_Ordering_003.TC_NegSem_0503_Ordering_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +36: [fail] Sem_05040104_parameters_of_kind_port_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_05040104_parameters_of_kind_port_001 script... + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 41: The operator != cannot be applied to (Sem_05040104_parameters_of_kind_port_001.TestPort, Sem_05040104_parameters_of_kind_port_001.TestPort). + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 64: Cannot skip parameter #8 of the function "f_parametrizationCheck". No default value has been defined. + --->[SYS] Script "Sem_05040104_parameters_of_kind_port_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +37: [fail] Sem_050402_actual_parameters_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_050402_actual_parameters_001 script is up-to-date. + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 8, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 8) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 10, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 10) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 12, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 12) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 14, Script: Sem_050402_actual_parameters_001, Line: 40). + --->[SYS] The test component "MTC" (with id 14) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 16, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 16) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 18, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 18) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +43: [fail] Sem_0505_cyclic_definitions_002 - tool does not accept input, but acceptance is expected! +Akov: this mismatch is a problem of TestCast, as the test case correspond to section 5.5 / Example 2, which is an example of allowed semantics + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_0505_cyclic_definitions_002 script... + --->[SYS] Starting compilation of the Sem_0505_cyclic_definitions_002_import script... + --->[ERR] Script "Sem_0505_cyclic_definitions_002_import": Line 2: Recursive reference to the module "Sem_0505_cyclic_definitions_002". + --->[ERR] Script "Sem_0505_cyclic_definitions_002_import": Line 3: Unknown type "Sem_0505_cyclic_definitions_002_import.MyInteger". + --->[SYS] Script "Sem_0505_cyclic_definitions_002_import" contained errors. 2 errors, 0 warnings. + --->[ERR] Script "Sem_0505_cyclic_definitions_002": Line 17: Unknown type "Sem_0505_cyclic_definitions_002.MyIntegerList". + --->[SYS] Script "Sem_0505_cyclic_definitions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +66: [fail] Sem_06010101_AccessStringElements_005 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_06010101_AccessStringElements_005 script is up-to-date. + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has started. + --->[ERR] Runtime exception IndexOutOfRangeException "Der Index war auáerhalb des Arraybereichs." + --->at: TC_Sem_06010101_AccessStringElements_005(), in script: Sem_06010101_AccessStringElements_005, line: 13 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +100: [fail] NegSem_06010203_Ranges_003 - tool accepts the input, but rejection is expected! +Akov: this is a problem of TestCast, as number range subtyping does not consider the following restriction: + "not_a_number is not allowed in range subtyping" + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSem_06010203_Ranges_003 script is up-to-date. + --->[SYS] The test case "NegSem_06010203_Ranges_003.TC_NegSem_06010203_Ranges_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_06010203_Ranges_003, Line: 15). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_06010203_Ranges_003.TC_NegSem_06010203_Ranges_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +130: [fail] NegSyn_0602_TopLevel_004 - tool accepts the input, but rejection is expected! +Akov: this is a problem of TestCast, because presence of mandatory record elements is not being checked + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSyn_0602_TopLevel_004 script is up-to-date. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +150: [fail] Sem_060301_non_structured_types_002 - tool does not accept input, but acceptance is expected! +Akov: indexing has been fixed, but expected value matches are under investigation + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060301_non_structured_types_002 script... + --->[ERR] Script "Sem_060301_non_structured_types_002": Line 45: Index exceeds the allowed range. + --->[SYS] Script "Sem_060301_non_structured_types_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +163: [fail] Sem_060302_structured_types_002 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because presence assignment between optional elements of a record and + the undefined elements of a corresponding value notation are not correctly handled +Akov: as described in the test-case comment, the correct handling of this issue is not very clearly + described in the standard + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_060302_structured_types_002 script is up-to-date. + --->[SYS] The test case "Sem_060302_structured_types_002.TC_Sem_060302_structured_types_002" has started. + --->[ERR] Runtime exception InvalidNumberOfItemsException + --->at: TC_Sem_060302_structured_types_002(), in script: Sem_060302_structured_types_002, line: 44 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_002.TC_Sem_060302_structured_types_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +164: [fail] Sem_060302_structured_types_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_060302_structured_types_003 script is up-to-date. + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_060302_structured_types_003, Line: 43). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +209: [fail] Sem_070102_ListOperator_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070102_ListOperator_005 script is up-to-date. + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070102_ListOperator_005, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +236: [fail] Sem_070105_BitwiseOperators_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because not4b operator has not been properly implemented + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070105_BitwiseOperators_001 script is up-to-date. + --->[SYS] The test case "Sem_070105_BitwiseOperators_001.TC_Sem_070105_BitwiseOperators_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070105_BitwiseOperators_001, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070105_BitwiseOperators_001.TC_Sem_070105_BitwiseOperators_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +240: [fail] Sem_070106_ShiftOperators_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because hextsring padding with shift operator is not properly implemented + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_070106_ShiftOperators_003 script is up-to-date. + --->[SYS] The test case "Sem_070106_ShiftOperators_003.TC_Sem_070106_ShiftOperators_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070106_ShiftOperators_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070106_ShiftOperators_003.TC_Sem_070106_ShiftOperators_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +247: [fail] Sem_0702_FieldReferencesAndListElements_002 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_0702_FieldReferencesAndListElements_002 script is up-to-date. + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has started. + --->[ERR] Runtime exception ArgumentOutOfRangeException "Der Index lag auáerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. + --->Parametername: index" + --->at: TC_Sem_0702_FieldReferencesAndListElements_002(), in script: Sem_0702_FieldReferencesAndListElements_002, line: 18 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +248: [fail] NegSyn_0801_DefinitionOfAModule_001 - tool accepts the input, but rejection is expected! +Akov: this is a problem of TestCast, because language listing restriction is not properly handled + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The NegSyn_0801_DefinitionOfAModule_001 script is up-to-date. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +262: [fail] Syn_08020301_GeneralFormatOfImport_002 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020301_GeneralFormatOfImport_002 script... + --->[ERR] Script "Syn_08020301_GeneralFormatOfImport_002": Line 9: Unknown module "Syn_08020301_GeneralFormatOfImport_001_import". + --->[SYS] Script "Syn_08020301_GeneralFormatOfImport_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +264: [fail] Sem_08020302_ImportingSingleDefinitions_002 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because template import is not properly handled + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020302_ImportingSingleDefinitions_002 script... + --->[SYS] The Sem_08020302_ImportingSingleDefinitions_002_import script is up-to-date. + --->[ERR] Script "Sem_08020302_ImportingSingleDefinitions_002": Line 18: Unexpected template. + --->[SYS] Script "Sem_08020302_ImportingSingleDefinitions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +267: [fail] Sem_08020303_ImportingGroups_002 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because the dot notation for inner group identification is only required for + non-unique group names + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020303_ImportingGroups_002 script... + --->[SYS] The Sem_08020303_ImportingGroups_002_import script is up-to-date. + --->[ERR] Script "Sem_08020303_ImportingGroups_002": Line 15: The group "CONST_INNER_GROUP" does not exist in the module "Sem_08020303_ImportingGroups_002_import". + --->[SYS] Script "Sem_08020303_ImportingGroups_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +270: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_002 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002 script... + --->[SYS] The Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import script is up-to-date. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +271: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_003 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003 script... + --->[SYS] The Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import script is up-to-date. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +275: [fail] Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because language reference is not properly handled in the import statement + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001 script... + --->[ERR] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001": Line 9: The imported module uses a different language than expected. + --->[SYS] The Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001_import script is up-to-date. + --->[SYS] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +276: [fail] Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because language reference is not properly handled in the import statement + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002 script... + --->[ERR] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002": Line 9: The imported module uses a different language than expected. + --->[SYS] The Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002_import script is up-to-date. + --->[SYS] Script "Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +283: [fail] Sem_080204_DefinitionOfFriendModules_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080204_DefinitionOfFriendModules_001_import script is up-to-date. + --->[SYS] The Sem_080204_DefinitionOfFriendModules_001 script is up-to-date. + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080204_DefinitionOfFriendModules_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +289: [fail] Sem_080205_VisibilityOfDefinitions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_001_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_001 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +290: [fail] Sem_080205_VisibilityOfDefinitions_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_002_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_002 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_002, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +291: [fail] Sem_080205_VisibilityOfDefinitions_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_003_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_003 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +292: [fail] Sem_080205_VisibilityOfDefinitions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_004_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_004 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_004, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +293: [fail] Sem_080205_VisibilityOfDefinitions_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Sem_080205_VisibilityOfDefinitions_005_import script is up-to-date. + --->[SYS] The Sem_080205_VisibilityOfDefinitions_005 script is up-to-date. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_005, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +299: [fail] Syn_0803_ModuleControlPart_002 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_0803_ModuleControlPart_002 script is up-to-date. + --->[ERR] Runtime exception InvalidOperationException "Cannot start the timer; no default duration has been specified." + --->at: module control part, in script: Syn_0803_ModuleControlPart_002, line: 25 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +323: [fail] Syn_1501_DeclaringMessageTemplates_006 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, perhaps an issue with the loopback interface or perhaps a loopbackPort naming issue? + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1501_DeclaringMessageTemplates_006 script is up-to-date. + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has started. + --->[->M] Syn_1501_DeclaringMessageTemplates_006.MyMessageType: 4D 79 20 73 74 72 69 6E 67 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1501_DeclaringMessageTemplates_006(), in script: Syn_1501_DeclaringMessageTemplates_006, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +326: [fail] Syn_1502_DeclaringSignatureTemplates_003 - tool does not accept input, but acceptance is expected! +Akov: the mistake here has been fixed + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_003 script... + --->[ERR] Script "Syn_1502_DeclaringSignatureTemplates_003": Line 33: If the nowait clause is missing, the call operation for blocking procedures must contain a response and exception handling part. + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +327: [fail] Syn_1502_DeclaringSignatureTemplates_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1502_DeclaringSignatureTemplates_004 script is up-to-date. + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has started. + --->[<-X] integer: 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriRaise operation returned TRI_Error" + --->at: TC_Syn_1502_DeclaringSignatureTemplates_004(), in script: Syn_1502_DeclaringSignatureTemplates_004, line: 33 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +329: [fail] Sem_1503_GlobalAndLocalTemplates_002 - tool does not accept input, but acceptance is expected! +Akov: this is a problem of TestCast, because parametrised global template reference is not properly handled. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1503_GlobalAndLocalTemplates_002 script... + --->[ERR] Script "Sem_1503_GlobalAndLocalTemplates_002": Line 31: Unexpected template. + --->[SYS] Script "Sem_1503_GlobalAndLocalTemplates_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +331: [fail] Syn_1503_GlobalAndLocalTemplates_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_002 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_002.TC_Syn_1503_GlobalAndLocalTemplates_002" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_002.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_002(), in script: Syn_1503_GlobalAndLocalTemplates_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_002.TC_Syn_1503_GlobalAndLocalTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +332: [fail] Syn_1503_GlobalAndLocalTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_003 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_003.TC_Syn_1503_GlobalAndLocalTemplates_003" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_003.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_003(), in script: Syn_1503_GlobalAndLocalTemplates_003, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_003.TC_Syn_1503_GlobalAndLocalTemplates_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +336: [fail] Syn_1503_GlobalAndLocalTemplates_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_007 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_007.TC_Syn_1503_GlobalAndLocalTemplates_007" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_007.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 02 00 00 00 61 62 63 31 78 79 7A 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_007(), in script: Syn_1503_GlobalAndLocalTemplates_007, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_007.TC_Syn_1503_GlobalAndLocalTemplates_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +337: [fail] Syn_1503_GlobalAndLocalTemplates_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1503_GlobalAndLocalTemplates_008 script is up-to-date. + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_008.TC_Syn_1503_GlobalAndLocalTemplates_008" has started. + --->[->M] Syn_1503_GlobalAndLocalTemplates_008.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 02 00 00 00 66 6F 6F 62 61 72 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1503_GlobalAndLocalTemplates_008(), in script: Syn_1503_GlobalAndLocalTemplates_008, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1503_GlobalAndLocalTemplates_008.TC_Syn_1503_GlobalAndLocalTemplates_008" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +338: [fail] Syn_1504_InlineTemplates_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_001 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_001.TC_Syn_1504_InlineTemplates_001" has started. + --->[->M] Syn_1504_InlineTemplates_001.MyMessageType: 02 00 00 00 61 62 63 78 79 7A 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_001(), in script: Syn_1504_InlineTemplates_001, line: 25 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_001.TC_Syn_1504_InlineTemplates_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +339: [fail] Syn_1504_InlineTemplates_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_002 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_002.TC_Syn_1504_InlineTemplates_002" has started. + --->[->M] Syn_1504_InlineTemplates_002.MyMessageType: 02 00 00 00 66 6F 6F 62 61 72 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_002(), in script: Syn_1504_InlineTemplates_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_002.TC_Syn_1504_InlineTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +340: [fail] Syn_1504_InlineTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] The Syn_1504_InlineTemplates_003 script is up-to-date. + --->[SYS] The test case "Syn_1504_InlineTemplates_003.TC_Syn_1504_InlineTemplates_003" has started. + --->[->M] Syn_1504_InlineTemplates_003.MyMessageType: 02 00 00 00 66 6F 6F 62 61 72 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Syn_1504_InlineTemplates_003(), in script: Syn_1504_InlineTemplates_003, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1504_InlineTemplates_003.TC_Syn_1504_InlineTemplates_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +349: [fail] Sem_1505_ModifiedTemplates_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the error has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1505_ModifiedTemplates_002 script... + --->[SYS] Script "Sem_1505_ModifiedTemplates_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1505_ModifiedTemplates_002, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +362: [fail] Sem_150602_ReferencingRecordAndSetFields_001 - tool does not accept input, but acceptance is expected! +Akov: the error has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_001 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected ? + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected * + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +363: [fail] Sem_150602_ReferencingRecordAndSetFields_002 - tool does not accept input, but acceptance is expected! +Akov: the error has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_002 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_002": Line 44: Syntax error: unexpected ? + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +364: [fail] NegSem_150603_ReferencingRecordOfAndSetElements_001 - tool accepts the input, but rejection is expected! +Akov: this is a problem of TestCast, because this test case corresponds to Example 1 in section 15.6.3. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_150603_ReferencingRecordOfAndSetElements_001 script... + --->[SYS] Script "NegSem_150603_ReferencingRecordOfAndSetElements_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_150603_ReferencingRecordOfAndSetElements_001.TC_NegSem_150603_ReferencingRecordOfAndSetElements_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_150603_ReferencingRecordOfAndSetElements_001, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_150603_ReferencingRecordOfAndSetElements_001.TC_NegSem_150603_ReferencingRecordOfAndSetElements_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +373: [fail] Sem_150603_ReferencingRecordOfAndSetElements_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because ? value matching is not properly handled within a record of integers. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_001 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_001.TC_Sem_150603_ReferencingRecordOfAndSetElements_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_001, Line: 25). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_001.TC_Sem_150603_ReferencingRecordOfAndSetElements_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +374: [fail] Sem_150603_ReferencingRecordOfAndSetElements_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because ? value matching is not properly handled within a record of integers. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_002 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_002.TC_Sem_150603_ReferencingRecordOfAndSetElements_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_002, Line: 28). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_002.TC_Sem_150603_ReferencingRecordOfAndSetElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +375: [fail] Sem_150603_ReferencingRecordOfAndSetElements_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because ? value matching is not properly handled within a record of integers. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_003 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_003.TC_Sem_150603_ReferencingRecordOfAndSetElements_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_003, Line: 32). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_003.TC_Sem_150603_ReferencingRecordOfAndSetElements_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +376: [fail] Sem_150603_ReferencingRecordOfAndSetElements_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because ? value matching is not properly handled within a record of integers. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_004 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_004.TC_Sem_150603_ReferencingRecordOfAndSetElements_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_004, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_004.TC_Sem_150603_ReferencingRecordOfAndSetElements_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +377: [fail] Sem_150603_ReferencingRecordOfAndSetElements_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: this is a problem of TestCast, because ? value matching is not properly handled within a record of integers. + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150603_ReferencingRecordOfAndSetElements_005 script... + --->[SYS] Script "Sem_150603_ReferencingRecordOfAndSetElements_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_005.TC_Sem_150603_ReferencingRecordOfAndSetElements_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_150603_ReferencingRecordOfAndSetElements_005, Line: 25). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_150603_ReferencingRecordOfAndSetElements_005.TC_Sem_150603_ReferencingRecordOfAndSetElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +407: [fail] NegSem_1508_TemplateRestrictions_030 - tool accepts the input, but rejection is expected! +Akov: this is a TestCast problem, as template(omit) modification restriction is not properly handled + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_030 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_030" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +412: [fail] NegSem_1508_TemplateRestrictions_035 - tool accepts the input, but rejection is expected! +Akov: this is a TestCast problem, as template restriction is not properly handled + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_035 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_035" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +418: [fail] Sem_1508_TemplateRestrictions_002 - tool does not accept input, but acceptance is expected! +Akov: the issue has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_002 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_002": Line 24: Unexpected template. + --->[SYS] Script "Sem_1508_TemplateRestrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +419: [fail] Sem_1508_TemplateRestrictions_003 - tool does not accept input, but acceptance is expected! +Akov: the issue has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_003 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_003": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +423: [fail] Sem_1508_TemplateRestrictions_007 - tool does not accept input, but acceptance is expected! +Akov: the issue has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_007 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_007": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +427: [fail] Sem_1508_TemplateRestrictions_011 - tool does not accept input, but acceptance is expected! +Akov: the issue has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_011 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_011": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_011" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +447: [fail] Sem_1509_MatchOperation_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail +Akov: the error has been fixed here + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1509_MatchOperation_003 script... + --->[SYS] Script "Sem_1509_MatchOperation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1509_MatchOperation_003, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +458: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +459: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +463: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected ? + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected & + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +464: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +465: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008": Line 22: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +466: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009": Line 21: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +481: [fail] NegSem_160102_predefined_functions_012 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_012 script... + --->[SYS] Script "NegSem_160102_predefined_functions_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +482: [fail] NegSem_160102_predefined_functions_013 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_013 script... + --->[SYS] Script "NegSem_160102_predefined_functions_013" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +489: [fail] NegSem_160102_predefined_functions_020 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_020 script... + --->[SYS] Script "NegSem_160102_predefined_functions_020" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +497: [fail] Sem_160102_predefined_functions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_001 script... + --->[SYS] Script "Sem_160102_predefined_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_001, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +498: [fail] Sem_160102_predefined_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_002 script... + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_002" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +499: [fail] Sem_160102_predefined_functions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_003 script... + --->[ERR] Script "Sem_160102_predefined_functions_003": Line 40: The active union value is "f2"; the "f1" member cannot be accessed. + --->[SYS] Script "Sem_160102_predefined_functions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +500: [fail] Sem_160102_predefined_functions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_004 script... + --->[SYS] Script "Sem_160102_predefined_functions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_004, Line: 30). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +501: [fail] Sem_160102_predefined_functions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_005 script... + --->[SYS] Script "Sem_160102_predefined_functions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has started. + --->[ERR] Runtime exception NullReferenceException "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." + --->at: TC_Sem_160102_predefined_functions_005(), in script: Sem_160102_predefined_functions_005, line: 29 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +503: [fail] Sem_160102_predefined_functions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_007 script... + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_007" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +506: [fail] Sem_160103_external_functions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_001 script... + --->[SYS] Script "Sem_160103_external_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has started. + --->[ERR] Runtime exception TriException "TRI failure: TriExternalFunction operation returned TRI_Error" + --->at: TC_Sem_160103_external_functions_001(), in script: Sem_160103_external_functions_001, line: 17 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +507: [fail] Sem_160103_external_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_002 script... + --->[SYS] Script "Sem_160103_external_functions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has started. + --->[ERR] Runtime exception EncodingException "Cannot encode value. Some items might not be initialised or the encoding setting is faulty." + --->at: TC_Sem_160103_external_functions_002(), in script: Sem_160103_external_functions_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +517: [fail] Sem_1601_toplevel_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1601_toplevel_002 script... + --->[ERR] Script "Sem_1601_toplevel_002": Line 15: Unexpected template. + --->[ERR] Script "Sem_1601_toplevel_002": Line 20: Unexpected template. + --->[SYS] Script "Sem_1601_toplevel_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +520: [fail] Sem_160201_invoking_altsteps_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_001 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_001.TC_Sem_160201_invoking_altsteps_001" has started. + --->[->M] Sem_160201_invoking_altsteps_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_160201_invoking_altsteps_001(), in script: Sem_160201_invoking_altsteps_001, line: 40 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_001.TC_Sem_160201_invoking_altsteps_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +521: [fail] Sem_160201_invoking_altsteps_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_002 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has started. + --->[->M] Sem_160201_invoking_altsteps_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_160201_invoking_altsteps_002(), in script: Sem_160201_invoking_altsteps_002, line: 48 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +529: [fail] Sem_1602_toplevel_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1602_toplevel_001 script... + --->[SYS] Script "Sem_1602_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1602_toplevel_001.TC_Sem_1602_toplevel_001" has started. + --->[->M] Sem_1602_toplevel_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_1602_toplevel_001(), in script: Sem_1602_toplevel_001, line: 44 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1602_toplevel_001.TC_Sem_1602_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +560: [fail] Syn_1907_label_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1907_label_statement_001 script... + --->[ERR] Script "Syn_1907_label_statement_001": Line 61: The "L2" label is already defined. + --->[SYS] Script "Syn_1907_label_statement_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +567: [fail] Sem_1909_stop_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_001 script... + --->[ERR] Script "Sem_1909_stop_statement_001": Line 14: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_001": Line 15: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_001" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +568: [fail] Sem_1909_stop_statement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_002 script... + --->[ERR] Script "Sem_1909_stop_statement_002": Line 23: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_002": Line 24: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_002" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +578: [fail] Sem_2002_TheAltStatement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_001 script... + --->[SYS] Script "Sem_2002_TheAltStatement_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_001.TC_Sem_2002_TheAltStatement_001" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_001(), in script: Sem_2002_TheAltStatement_001, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_001.TC_Sem_2002_TheAltStatement_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +579: [fail] Sem_2002_TheAltStatement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_002 script... + --->[SYS] Script "Sem_2002_TheAltStatement_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_002.TC_Sem_2002_TheAltStatement_002" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_002(), in script: Sem_2002_TheAltStatement_002, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_002.TC_Sem_2002_TheAltStatement_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +580: [fail] Sem_2002_TheAltStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_003 script... + --->[SYS] Script "Sem_2002_TheAltStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_003.TC_Sem_2002_TheAltStatement_003" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_003(), in script: Sem_2002_TheAltStatement_003, line: 21 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2002_TheAltStatement_003.TC_Sem_2002_TheAltStatement_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +581: [fail] Sem_2002_TheAltStatement_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_004 script... + --->[SYS] Script "Sem_2002_TheAltStatement_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_004(), in script: Sem_2002_TheAltStatement_004, line: 34 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 50). + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +582: [fail] Sem_2002_TheAltStatement_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_005 script... + --->[SYS] Script "Sem_2002_TheAltStatement_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_005.TC_Sem_2002_TheAltStatement_005" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2002_TheAltStatement_005(), in script: Sem_2002_TheAltStatement_005, line: 22 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_005, Line: 41). + --->[SYS] The test case "Sem_2002_TheAltStatement_005.TC_Sem_2002_TheAltStatement_005" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +583: [fail] Sem_2002_TheAltStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_006 script... + --->[ERR] Script "Sem_2002_TheAltStatement_006": Line 33: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +584: [fail] Sem_2002_TheAltStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_007 script... + --->[ERR] Script "Sem_2002_TheAltStatement_007": Line 38: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +585: [fail] Sem_2002_TheAltStatement_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_008 script... + --->[ERR] Script "Sem_2002_TheAltStatement_008": Line 26: Parallel test components cannot be created if the system adapter is not explicitly declared. + --->[SYS] Script "Sem_2002_TheAltStatement_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +590: [fail] Sem_2003_the_repeat_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2003_the_repeat_statement_001 script... + --->[SYS] Script "Sem_2003_the_repeat_statement_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2003_the_repeat_statement_001.TC_Sem_2003_the_repeat_statement_001" has started. + --->[->M] charstring: 70 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_2003_the_repeat_statement_001(), in script: Sem_2003_the_repeat_statement_001, line: 22 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_2003_the_repeat_statement_001.TC_Sem_2003_the_repeat_statement_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +600: [fail] Sem_2601_ExecuteStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_003 script... + --->[SYS] Script "Sem_2601_ExecuteStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has started. + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Sem_2601_ExecuteStatement_003(), in script: Sem_2601_ExecuteStatement_003, line: 13 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2601_ExecuteStatement_003, Line: 22). + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +603: [fail] Sem_2601_ExecuteStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_006 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_006": Line 27: The identifier "Sem_2601_ExecuteStatement_006" doesn't represent a function. + --->[SYS] Script "Sem_2601_ExecuteStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +604: [fail] Sem_2601_ExecuteStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_007 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_007": Line 13: Syntax error: the statement must contain at least one alternative. + --->[SYS] Script "Sem_2601_ExecuteStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +650: [fail] Syn_26_ModuleControl_012 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_012 script... + --->[SYS] Script "Syn_26_ModuleControl_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[TMT] Timer id: 1, elapsed: 2.0E-2, script: Syn_26_ModuleControl_012, line: 14 + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: module control part, in script: Syn_26_ModuleControl_012, line: 13 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +652: [fail] Syn_26_ModuleControl_014 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_014 script... + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The statement is allowed only inside functions, altsteps and test cases. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The parameter "p_timer" is passed by reference. In an activation call, only timers defined in a test component and ports can be passed by reference. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 28: The statement is allowed only inside functions, altsteps and test cases. + --->[SYS] Script "Syn_26_ModuleControl_014" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +654: [fail] Syn_26_ModuleControl_016 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_016 script... + --->[SYS] Script "Syn_26_ModuleControl_016" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception TriException "TRI failure: TriSutAction operation returned TRI_Error" + --->at: module control part, in script: Syn_26_ModuleControl_016, line: 11 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +657: [oncinc] Sem_B010101_omitting_values_001 - cannot interprete expected output! +658: [oncinc] Sem_B010101_omitting_values_002 - cannot interprete expected output! +659: [fail] Sem_B0101_matching_specific_value_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0101_matching_specific_value_001 script... + --->[SYS] Script "Sem_B0101_matching_specific_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0101_matching_specific_value_001.TC_Sem_B0101_matching_specific_value_001" has started. + --->[->M] Sem_B0101_matching_specific_value_001.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 FF FF FF FF 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 01 00 01 00 00 00 02 00 01 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B0101_matching_specific_value_001(), in script: Sem_B0101_matching_specific_value_001, line: 87 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0101_matching_specific_value_001.TC_Sem_B0101_matching_specific_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +660: [oncinc] Sem_B0101_matching_specific_value_002 - cannot interprete expected output! +661: [oncinc] Sem_B0101_matching_specific_value_003 - cannot interprete expected output! +662: [oncinc] Sem_B0101_matching_specific_value_004 - cannot interprete expected output! +663: [oncinc] Sem_B0101_matching_specific_value_005 - cannot interprete expected output! +664: [oncinc] Sem_B0101_matching_specific_value_006 - cannot interprete expected output! +665: [oncinc] Sem_B0101_matching_specific_value_007 - cannot interprete expected output! +666: [oncinc] Sem_B0101_matching_specific_value_008 - cannot interprete expected output! +667: [oncinc] Sem_B0101_matching_specific_value_009 - cannot interprete expected output! +668: [oncinc] Sem_B0101_matching_specific_value_010 - cannot interprete expected output! +669: [oncinc] Sem_B0101_matching_specific_value_011 - cannot interprete expected output! +670: [fail] Sem_B010201_value_list_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010201_value_list_001 script... + --->[SYS] Script "Sem_B010201_value_list_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010201_value_list_001.TC_Sem_B010201_value_list_001" has started. + --->[->M] Sem_B010201_value_list_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010201_value_list_001(), in script: Sem_B010201_value_list_001, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010201_value_list_001.TC_Sem_B010201_value_list_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +671: [fail] Sem_B010202_complemented_value_list_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_001 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_001.TC_Sem_B010202_complemented_value_list_001" has started. + --->[->M] Sem_B010202_complemented_value_list_001.MessageType: 00 00 00 00 74 65 73 74 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_001(), in script: Sem_B010202_complemented_value_list_001, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_001.TC_Sem_B010202_complemented_value_list_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +672: [fail] Sem_B010202_complemented_value_list_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_002 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_002.TC_Sem_B010202_complemented_value_list_002" has started. + --->[->M] Sem_B010202_complemented_value_list_002.MessageType: 02 00 00 00 74 65 73 74 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_002(), in script: Sem_B010202_complemented_value_list_002, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_002.TC_Sem_B010202_complemented_value_list_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +673: [fail] Sem_B010202_complemented_value_list_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_003 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_003.TC_Sem_B010202_complemented_value_list_003" has started. + --->[->M] Sem_B010202_complemented_value_list_003.MessageType: 00 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_003(), in script: Sem_B010202_complemented_value_list_003, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_003.TC_Sem_B010202_complemented_value_list_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +674: [fail] Sem_B010202_complemented_value_list_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_004 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_004.TC_Sem_B010202_complemented_value_list_004" has started. + --->[->M] Sem_B010202_complemented_value_list_004.MessageType: 00 00 00 00 74 65 73 74 20 00 02 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_004(), in script: Sem_B010202_complemented_value_list_004, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_004.TC_Sem_B010202_complemented_value_list_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +675: [fail] Sem_B010202_complemented_value_list_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_005 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_005.TC_Sem_B010202_complemented_value_list_005" has started. + --->[->M] Sem_B010202_complemented_value_list_005.MessageType: 00 00 00 00 74 65 73 74 20 00 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_005(), in script: Sem_B010202_complemented_value_list_005, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_005.TC_Sem_B010202_complemented_value_list_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +676: [fail] Sem_B010202_complemented_value_list_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010202_complemented_value_list_006 script... + --->[SYS] Script "Sem_B010202_complemented_value_list_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010202_complemented_value_list_006.TC_Sem_B010202_complemented_value_list_006" has started. + --->[->M] Sem_B010202_complemented_value_list_006.MessageType: 00 00 00 00 74 65 73 74 20 00 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010202_complemented_value_list_006(), in script: Sem_B010202_complemented_value_list_006, line: 62 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010202_complemented_value_list_006.TC_Sem_B010202_complemented_value_list_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +677: [fail] Sem_B010203_any_value_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_001 script... + --->[SYS] Script "Sem_B010203_any_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has started. + --->[->M] Sem_B010203_any_value_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010203_any_value_001(), in script: Sem_B010203_any_value_001, line: 68 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +678: [fail] Sem_B010203_any_value_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_002 script... + --->[SYS] Script "Sem_B010203_any_value_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_002.TC_Sem_B010203_any_value_002" has started. + --->[->M] Sem_B010203_any_value_002.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010203_any_value_002(), in script: Sem_B010203_any_value_002, line: 68 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_002.TC_Sem_B010203_any_value_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +681: [fail] Sem_B010204_any_value_or_none_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010204_any_value_or_none_001 script... + --->[SYS] Script "Sem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has started. + --->[->M] Sem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010204_any_value_or_none_001(), in script: Sem_B010204_any_value_or_none_001, line: 65 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +685: [fail] Sem_B010205_value_range_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_001 script... + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +686: [fail] Sem_B010205_value_range_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_002 script... + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +687: [fail] Sem_B010205_value_range_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_003 script... + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +688: [fail] Sem_B010205_value_range_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_004 script... + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +689: [fail] Sem_B010205_value_range_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_005 script... + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +690: [fail] Sem_B010205_value_range_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_006 script... + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +693: [fail] Sem_B010206_superset_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_001 script... + --->[SYS] Script "Sem_B010206_superset_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_001.TC_Sem_B010206_superset_001" has started. + --->[->M] Sem_B010206_superset_001.MessageType: 03 00 01 00 00 00 03 00 00 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_001(), in script: Sem_B010206_superset_001, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_001.TC_Sem_B010206_superset_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +694: [fail] Sem_B010206_superset_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_002 script... + --->[SYS] Script "Sem_B010206_superset_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_002.TC_Sem_B010206_superset_002" has started. + --->[->M] Sem_B010206_superset_002.MessageType: 03 00 01 00 00 00 03 00 00 00 04 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_002(), in script: Sem_B010206_superset_002, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_002.TC_Sem_B010206_superset_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +695: [fail] Sem_B010206_superset_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010206_superset_003 script... + --->[SYS] Script "Sem_B010206_superset_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010206_superset_003.TC_Sem_B010206_superset_003" has started. + --->[->M] Sem_B010206_superset_003.MessageType: 02 00 01 00 00 00 01 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010206_superset_003(), in script: Sem_B010206_superset_003, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010206_superset_003.TC_Sem_B010206_superset_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +698: [fail] Sem_B010207_subset_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_001 script... + --->[SYS] Script "Sem_B010207_subset_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_001.TC_Sem_B010207_subset_001" has started. + --->[->M] Sem_B010207_subset_001.MessageType: 01 00 02 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_001(), in script: Sem_B010207_subset_001, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_001.TC_Sem_B010207_subset_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +699: [fail] Sem_B010207_subset_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_002 script... + --->[SYS] Script "Sem_B010207_subset_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_002.TC_Sem_B010207_subset_002" has started. + --->[->M] Sem_B010207_subset_002.MessageType: 01 00 03 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_002(), in script: Sem_B010207_subset_002, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_002.TC_Sem_B010207_subset_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +700: [fail] Sem_B010207_subset_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010207_subset_003 script... + --->[SYS] Script "Sem_B010207_subset_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010207_subset_003.TC_Sem_B010207_subset_003" has started. + --->[->M] Sem_B010207_subset_003.MessageType: 03 00 01 00 00 00 02 00 00 00 03 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010207_subset_003(), in script: Sem_B010207_subset_003, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010207_subset_003.TC_Sem_B010207_subset_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +701: [fail] Sem_B010301_any_element_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_001 script... + --->[SYS] Script "Sem_B010301_any_element_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_001.TC_Sem_B010301_any_element_001" has started. + --->[->M] Sem_B010301_any_element_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_001(), in script: Sem_B010301_any_element_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_001.TC_Sem_B010301_any_element_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +702: [fail] Sem_B010301_any_element_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_002 script... + --->[SYS] Script "Sem_B010301_any_element_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_002.TC_Sem_B010301_any_element_002" has started. + --->[->M] Sem_B010301_any_element_002.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_002(), in script: Sem_B010301_any_element_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_002.TC_Sem_B010301_any_element_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +703: [fail] Sem_B010301_any_element_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_003 script... + --->[SYS] Script "Sem_B010301_any_element_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_003.TC_Sem_B010301_any_element_003" has started. + --->[->M] Sem_B010301_any_element_003.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 05 00 00 00 A8 06 00 00 00 89 AB BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_003(), in script: Sem_B010301_any_element_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_003.TC_Sem_B010301_any_element_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +704: [fail] Sem_B010301_any_element_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_004 script... + --->[SYS] Script "Sem_B010301_any_element_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_004.TC_Sem_B010301_any_element_004" has started. + --->[->M] Sem_B010301_any_element_004.MessageType: 74 65 73 74 20 73 72 69 6E 67 00 02 00 00 00 80 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_004(), in script: Sem_B010301_any_element_004, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_004.TC_Sem_B010301_any_element_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +705: [fail] Sem_B010301_any_element_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_005 script... + --->[SYS] Script "Sem_B010301_any_element_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_005.TC_Sem_B010301_any_element_005" has started. + --->[->M] Sem_B010301_any_element_005.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_005(), in script: Sem_B010301_any_element_005, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_005.TC_Sem_B010301_any_element_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +706: [fail] Sem_B010301_any_element_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_006 script... + --->[SYS] Script "Sem_B010301_any_element_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_006.TC_Sem_B010301_any_element_006" has started. + --->[->M] Sem_B010301_any_element_006.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_006(), in script: Sem_B010301_any_element_006, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_006.TC_Sem_B010301_any_element_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +707: [fail] Sem_B010301_any_element_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_007 script... + --->[SYS] Script "Sem_B010301_any_element_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_007.TC_Sem_B010301_any_element_007" has started. + --->[->M] Sem_B010301_any_element_007.MessageType: 04 00 08 00 00 00 09 00 00 00 0A 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_007(), in script: Sem_B010301_any_element_007, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_007.TC_Sem_B010301_any_element_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +708: [fail] Sem_B010301_any_element_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010301_any_element_008 script... + --->[SYS] Script "Sem_B010301_any_element_008" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010301_any_element_008.TC_Sem_B010301_any_element_008" has started. + --->[->M] Sem_B010301_any_element_008.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010301_any_element_008(), in script: Sem_B010301_any_element_008, line: 37 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010301_any_element_008.TC_Sem_B010301_any_element_008" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +709: [fail] Sem_B010302_any_number_of_elements_or_none_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_001 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_001.TC_Sem_B010302_any_number_of_elements_or_none_001" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_001(), in script: Sem_B010302_any_number_of_elements_or_none_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_001.TC_Sem_B010302_any_number_of_elements_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +710: [fail] Sem_B010302_any_number_of_elements_or_none_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_002 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_002.TC_Sem_B010302_any_number_of_elements_or_none_002" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_002.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_002(), in script: Sem_B010302_any_number_of_elements_or_none_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_002.TC_Sem_B010302_any_number_of_elements_or_none_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +711: [fail] Sem_B010302_any_number_of_elements_or_none_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010302_any_number_of_elements_or_none_003 script... + --->[SYS] Script "Sem_B010302_any_number_of_elements_or_none_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_003.TC_Sem_B010302_any_number_of_elements_or_none_003" has started. + --->[->M] Sem_B010302_any_number_of_elements_or_none_003.MessageType: 05 00 08 00 00 00 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 04 00 08 00 00 00 09 00 00 00 0A 00 00 00 0C 00 00 00 07 00 08 00 00 00 09 00 00 00 09 00 00 00 0A 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010302_any_number_of_elements_or_none_003(), in script: Sem_B010302_any_number_of_elements_or_none_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010302_any_number_of_elements_or_none_003.TC_Sem_B010302_any_number_of_elements_or_none_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +713: [fail] Sem_B010303_permutation_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_001 script... + --->[SYS] Script "Sem_B010303_permutation_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_001.TC_Sem_B010303_permutation_001" has started. + --->[->M] Sem_B010303_permutation_001.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 05 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_001(), in script: Sem_B010303_permutation_001, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_001.TC_Sem_B010303_permutation_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +714: [fail] Sem_B010303_permutation_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_002 script... + --->[SYS] Script "Sem_B010303_permutation_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_002.TC_Sem_B010303_permutation_002" has started. + --->[->M] Sem_B010303_permutation_002.MessageType: 04 00 02 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_002(), in script: Sem_B010303_permutation_002, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_002.TC_Sem_B010303_permutation_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +715: [fail] Sem_B010303_permutation_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_003 script... + --->[SYS] Script "Sem_B010303_permutation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_003.TC_Sem_B010303_permutation_003" has started. + --->[->M] Sem_B010303_permutation_003.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 05 00 02 00 00 00 01 00 00 00 08 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 01 00 00 00 08 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_003(), in script: Sem_B010303_permutation_003, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_003.TC_Sem_B010303_permutation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +716: [fail] Sem_B010303_permutation_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_004 script... + --->[SYS] Script "Sem_B010303_permutation_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_004.TC_Sem_B010303_permutation_004" has started. + --->[->M] Sem_B010303_permutation_004.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 08 00 00 00 01 00 00 00 04 00 03 00 00 00 02 00 00 00 02 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_004(), in script: Sem_B010303_permutation_004, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_004.TC_Sem_B010303_permutation_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +717: [fail] Sem_B010303_permutation_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010303_permutation_005 script... + --->[SYS] Script "Sem_B010303_permutation_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010303_permutation_005.TC_Sem_B010303_permutation_005" has started. + --->[->M] Sem_B010303_permutation_005.MessageType: 04 00 02 00 00 00 01 00 00 00 03 00 00 00 05 00 00 00 04 00 02 00 00 00 01 00 00 00 08 00 00 00 05 00 00 00 04 00 03 00 00 00 02 00 00 00 08 00 00 00 01 00 00 00 04 00 03 00 00 00 01 00 00 00 01 00 00 00 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010303_permutation_005(), in script: Sem_B010303_permutation_005, line: 46 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010303_permutation_005.TC_Sem_B010303_permutation_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +718: [fail] Sem_B010401_length_restrictions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_001 script... + --->[SYS] Script "Sem_B010401_length_restrictions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_001.TC_Sem_B010401_length_restrictions_001" has started. + --->[->M] Sem_B010401_length_restrictions_001.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_001(), in script: Sem_B010401_length_restrictions_001, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_001.TC_Sem_B010401_length_restrictions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +719: [fail] Sem_B010401_length_restrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_002 script... + --->[ERR] Script "Sem_B010401_length_restrictions_002": Line 16: Syntax error: unexpected } + --->[SYS] Script "Sem_B010401_length_restrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +720: [fail] Sem_B010401_length_restrictions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_003 script... + --->[SYS] Script "Sem_B010401_length_restrictions_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_003.TC_Sem_B010401_length_restrictions_003" has started. + --->[->M] Sem_B010401_length_restrictions_003.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_003(), in script: Sem_B010401_length_restrictions_003, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_003.TC_Sem_B010401_length_restrictions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +721: [fail] Sem_B010401_length_restrictions_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_004 script... + --->[SYS] Script "Sem_B010401_length_restrictions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010401_length_restrictions_004.TC_Sem_B010401_length_restrictions_004" has started. + --->[->M] Sem_B010401_length_restrictions_004.MessageType: 74 65 73 74 20 73 74 72 69 6E 67 00 05 00 00 00 A8 05 00 00 00 89 AB C0 74 65 73 74 00 03 00 00 00 A0 06 00 00 00 89 9A BC + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010401_length_restrictions_004(), in script: Sem_B010401_length_restrictions_004, line: 52 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010401_length_restrictions_004.TC_Sem_B010401_length_restrictions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +722: [fail] Sem_B010401_length_restrictions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_005 script... + --->[ERR] Script "Sem_B010401_length_restrictions_005": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_005" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +723: [fail] Sem_B010401_length_restrictions_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_006 script... + --->[ERR] Script "Sem_B010401_length_restrictions_006": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +725: [fail] Sem_B010402_ifPresent_indicator_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_001 script... + --->[SYS] Script "Sem_B010402_ifPresent_indicator_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has started. + --->[->M] Sem_B010402_ifPresent_indicator_001.MessageType: 01 00 00 00 FF FF FF FF + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010402_ifPresent_indicator_001(), in script: Sem_B010402_ifPresent_indicator_001, line: 59 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +726: [fail] Sem_B010402_ifPresent_indicator_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_002 script... + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "fff" is not defined. + --->[SYS] Script "Sem_B010402_ifPresent_indicator_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +728: [fail] Sem_B010501_set_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_001 script... + --->[SYS] Script "Sem_B010501_set_expression_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_001.TC_Sem_B010501_set_expression_001" has started. + --->[->M] Sem_B010501_set_expression_001.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_001(), in script: Sem_B010501_set_expression_001, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_001.TC_Sem_B010501_set_expression_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +729: [fail] Sem_B010501_set_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_002 script... + --->[SYS] Script "Sem_B010501_set_expression_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_002.TC_Sem_B010501_set_expression_002" has started. + --->[->M] Sem_B010501_set_expression_002.MessageType: 74 65 78 74 31 00 74 65 73 74 31 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_002(), in script: Sem_B010501_set_expression_002, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_002.TC_Sem_B010501_set_expression_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +730: [fail] Sem_B010501_set_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_003 script... + --->[SYS] Script "Sem_B010501_set_expression_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_003.TC_Sem_B010501_set_expression_003" has started. + --->[->M] Sem_B010501_set_expression_003.MessageType: 74 65 73 74 31 00 74 65 73 74 78 00 54 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_003(), in script: Sem_B010501_set_expression_003, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_003.TC_Sem_B010501_set_expression_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +731: [fail] Sem_B010501_set_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_004 script... + --->[SYS] Script "Sem_B010501_set_expression_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_004.TC_Sem_B010501_set_expression_004" has started. + --->[->M] Sem_B010501_set_expression_004.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_004(), in script: Sem_B010501_set_expression_004, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_004.TC_Sem_B010501_set_expression_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +732: [fail] Sem_B010501_set_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010501_set_expression_005 script... + --->[SYS] Script "Sem_B010501_set_expression_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010501_set_expression_005.TC_Sem_B010501_set_expression_005" has started. + --->[->M] Sem_B010501_set_expression_005.MessageType: 74 65 73 74 31 00 74 65 73 74 31 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010501_set_expression_005(), in script: Sem_B010501_set_expression_005, line: 43 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010501_set_expression_005.TC_Sem_B010501_set_expression_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +733: [fail] Sem_B010502_reference_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_001 script... + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 47: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 51: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 61: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 63: Syntax error: unexpected alt + --->[SYS] Script "Sem_B010502_reference_expression_001" contained errors. 14 errors, 0 warnings. + --->[SYS] Compilation failed; 14 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +734: [fail] Sem_B010502_reference_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_002 script... + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +735: [fail] Sem_B010502_reference_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_003 script... + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +736: [fail] Sem_B010502_reference_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_004 script... + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +737: [fail] Sem_B010502_reference_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_005 script... + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +738: [fail] Sem_B010502_reference_expression_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_006 script... + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +739: [fail] Sem_B010502_reference_expression_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_007 script... + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_007" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +740: [fail] Sem_B010502_reference_expression_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_008 script... + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_008" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +741: [fail] Sem_B010502_reference_expression_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_009 script... + --->[SYS] Script "Sem_B010502_reference_expression_009" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has started. + --->[->M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010502_reference_expression_009(), in script: Sem_B010502_reference_expression_009, line: 38 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +742: [fail] Sem_B010503_match_n_times_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_001 script... + --->[SYS] Script "Sem_B010503_match_n_times_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_001.TC_Sem_B010503_match_n_times_001" has started. + --->[->M] Sem_B010503_match_n_times_001.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_001(), in script: Sem_B010503_match_n_times_001, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_001.TC_Sem_B010503_match_n_times_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +743: [fail] Sem_B010503_match_n_times_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_002 script... + --->[SYS] Script "Sem_B010503_match_n_times_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_002.TC_Sem_B010503_match_n_times_002" has started. + --->[->M] Sem_B010503_match_n_times_002.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_002(), in script: Sem_B010503_match_n_times_002, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_002.TC_Sem_B010503_match_n_times_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +744: [fail] Sem_B010503_match_n_times_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_003 script... + --->[SYS] Script "Sem_B010503_match_n_times_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_003.TC_Sem_B010503_match_n_times_003" has started. + --->[->M] Sem_B010503_match_n_times_003.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_003(), in script: Sem_B010503_match_n_times_003, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_003.TC_Sem_B010503_match_n_times_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +745: [fail] Sem_B010503_match_n_times_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_004 script... + --->[SYS] Script "Sem_B010503_match_n_times_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_004.TC_Sem_B010503_match_n_times_004" has started. + --->[->M] Sem_B010503_match_n_times_004.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_004(), in script: Sem_B010503_match_n_times_004, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_004.TC_Sem_B010503_match_n_times_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +746: [fail] Sem_B010503_match_n_times_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010503_match_n_times_005 script... + --->[SYS] Script "Sem_B010503_match_n_times_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010503_match_n_times_005.TC_Sem_B010503_match_n_times_005" has started. + --->[->M] Sem_B010503_match_n_times_005.MessageType: 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 74 65 73 74 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B010503_match_n_times_005(), in script: Sem_B010503_match_n_times_005, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010503_match_n_times_005.TC_Sem_B010503_match_n_times_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +748: [fail] Sem_B010504_match_referenced_characters_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_001 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +749: [fail] Sem_B010504_match_referenced_characters_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_002 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +750: [fail] Sem_B010504_match_referenced_characters_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_003 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +751: [fail] Sem_B010504_match_referenced_characters_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_004 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +752: [fail] Sem_B010504_match_referenced_characters_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_005 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +753: [fail] Sem_B010504_match_referenced_characters_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_006 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +754: [fail] Sem_B010505_pattern_compatibility_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_001 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +755: [fail] Sem_B010505_pattern_compatibility_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_002 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +756: [fail] Sem_B0105_toplevel_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0105_toplevel_001 script... + --->[SYS] Script "Sem_B0105_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has started. + --->[->M] Sem_B0105_toplevel_001.MessageType: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[ERR] Runtime exception TriException "TRI failure: TriSend operation returned TRI_Error" + --->at: TC_Sem_B0105_toplevel_001(), in script: Sem_B0105_toplevel_001, line: 49 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK diff --git a/misc/reports/testcast-19112010/trierror.txt b/misc/reports/testcast-19112010/trierror.txt new file mode 100644 index 0000000000000000000000000000000000000000..2ffc0f1382d90e767bd1b7600092eeb9433067b8 --- /dev/null +++ b/misc/reports/testcast-19112010/trierror.txt @@ -0,0 +1,73 @@ +no pass/correct - Sem_B010203_any_value_001 +no pass/correct - Sem_B010402_ifPresent_indicator_001 +no pass/correct - Sem_B010502_reference_expression_009 + + +not ok/on hold anyway - Sem_B0105_toplevel_001 + +fixed - Sem_160201_invoking_altsteps_002 +fixed - Sem_2002_TheAltStatement_004 + +ok - Syn_1502_DeclaringSignatureTemplates_004 +ok - Syn_26_ModuleControl_016 +ok - Syn_1501_DeclaringMessageTemplates_006 +ok - Syn_1503_GlobalAndLocalTemplates_002 +ok - Syn_1503_GlobalAndLocalTemplates_003 +ok - Syn_1503_GlobalAndLocalTemplates_007 +ok - Syn_1503_GlobalAndLocalTemplates_008 +ok - Syn_1504_InlineTemplates_001 +ok - Syn_1504_InlineTemplates_002 +ok - Syn_1504_InlineTemplates_003 +ok - Sem_160103_external_functions_001 +ok - Sem_160201_invoking_altsteps_001 +ok - Sem_1602_toplevel_001 +ok - Sem_2002_TheAltStatement_001 +ok - Sem_2002_TheAltStatement_002 +ok - Sem_2002_TheAltStatement_003 +ok - Sem_2002_TheAltStatement_005 +ok - Sem_2003_the_repeat_statement_001 +ok - Sem_B0101_matching_specific_value_001 +ok - Sem_B010201_value_list_001 +ok - Sem_B010202_complemented_value_list_001 +ok - Sem_B010202_complemented_value_list_002 +ok - Sem_B010202_complemented_value_list_003 +ok - Sem_B010202_complemented_value_list_004 +ok - Sem_B010202_complemented_value_list_005 +ok - Sem_B010202_complemented_value_list_006 +ok - Sem_B010203_any_value_002 +ok - Sem_B010204_any_value_or_none_001 +ok - Sem_B010206_superset_001 +ok - Sem_B010206_superset_002 +ok - Sem_B010206_superset_003 +ok - Sem_B010207_subset_001 +ok - Sem_B010207_subset_002 +ok - Sem_B010207_subset_003 +ok - Sem_B010301_any_element_001 +ok - Sem_B010301_any_element_002 +ok - Sem_B010301_any_element_003 +ok - Sem_B010301_any_element_004 +ok - Sem_B010301_any_element_005 +ok - Sem_B010301_any_element_006 +ok - Sem_B010301_any_element_007 +ok - Sem_B010301_any_element_008 +ok - Sem_B010302_any_number_of_elements_or_none_001 +ok - Sem_B010302_any_number_of_elements_or_none_002 +ok - Sem_B010302_any_number_of_elements_or_none_003 +ok - Sem_B010303_permutation_001 +ok - Sem_B010303_permutation_002 +ok - Sem_B010303_permutation_003 +ok - Sem_B010303_permutation_004 +ok - Sem_B010303_permutation_005 +ok - Sem_B010401_length_restrictions_001 +ok - Sem_B010401_length_restrictions_003 +ok - Sem_B010401_length_restrictions_004 +ok - Sem_B010501_set_expression_001 +ok - Sem_B010501_set_expression_002 +ok - Sem_B010501_set_expression_003 +ok - Sem_B010501_set_expression_004 +ok - Sem_B010501_set_expression_005 +ok - Sem_B010503_match_n_times_001 +ok - Sem_B010503_match_n_times_002 +ok - Sem_B010503_match_n_times_003 +ok - Sem_B010503_match_n_times_004 +ok - Sem_B010503_match_n_times_005 diff --git a/misc/reports/testcast-25112010/all.log.txt b/misc/reports/testcast-25112010/all.log.txt new file mode 100644 index 0000000000000000000000000000000000000000..da45711bee33b184390693709409078fdfc7fca2 --- /dev/null +++ b/misc/reports/testcast-25112010/all.log.txt @@ -0,0 +1,3173 @@ +1: [pass] NegSem_0501_Identifier_001 +2: [pass] NegSyn_0501_Identifier_001 +3: [pass] Syn_0501_Identifier_001 +4: [pass] Sem_050201_Scope_of_parameters_001 +5: [pass] NegSem_050202_Uniqueness_001 +6: [pass] NegSem_050202_Uniqueness_004 +7: [pass] NegSem_050202_Uniqueness_005 +8: [pass] NegSem_050202_Uniqueness_006 +9: [pass] NegSem_050202_Uniqueness_007 +10: [pass] NegSem_050202_Uniqueness_008 +11: [pass] NegSem_050202_Uniqueness_009 +12: [pass] NegSem_050202_Uniqueness_010 +13: [pass] NegSem_050202_Uniqueness_011 +14: [pass] NegSem_050202_Uniqueness_012 +15: [pass] Sem_050202_Uniqueness_001 +16: [pass] Sem_050202_Uniqueness_002 +17: [pass] Sem_050202_Uniqueness_003 +18: [pass] NegSem_0502_Scope_001 +19: [pass] NegSem_0502_Scope_002 +20: [pass] NegSem_0502_Scope_003 +21: [pass] Sem_0502_Scope_001 +22: [pass] Sem_0502_Scope_002 +23: [pass] Sem_0502_Scope_003 +24: [pass] Sem_0502_Scope_004 +25: [pass] Sem_0502_Scope_008 +26: [pass] Syn_0502_Scope_001 +27: [pass] NegSem_0503_Ordering_001 +30: [pass] Sem_0503_Ordering_001 +31: [pass] Sem_0503_Ordering_005 +32: [pass] Sem_05040101_parameters_of_kind_value_001 +33: [pass] Sem_05040102_parameters_of_kind_template_001 +34: [pass] Sem_05040102_parameters_of_kind_template_002 +35: [pass] Sem_05040103_parameters_of_kind_timer_001 +36: [fail] Sem_05040104_parameters_of_kind_port_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_05040104_parameters_of_kind_port_001 script... + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 41: The operator != cannot be applied to (Sem_05040104_parameters_of_kind_port_001.TestPort, Sem_05040104_parameters_of_kind_port_001.TestPort). + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 64: Cannot skip parameter #8 of the function "f_parametrizationCheck". No default value has been defined. + --->[SYS] Script "Sem_05040104_parameters_of_kind_port_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +37: [fail] Sem_050402_actual_parameters_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_050402_actual_parameters_001 script... + --->[SYS] Script "Sem_050402_actual_parameters_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 8, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 8) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 10, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 10) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 12, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 12) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 14, Script: Sem_050402_actual_parameters_001, Line: 40). + --->[SYS] The test component "MTC" (with id 14) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 16, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 16) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 18, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 18) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +38: [pass] Sem_050402_actual_parameters_002 +39: [pass] NegSem_0504_parametrization_incompatibility_001 +40: [pass] NegSyn_0504_forbidden_parametrization_001 +41: [pass] NegSyn_0504_forbidden_parametrization_002 +42: [pass] Sem_0505_cyclic_definitions_001 +44: [pass] NegSyn_05_TopLevel_001 +45: [pass] NegSyn_060100_SimpleBasicTypes_001 +46: [pass] NegSyn_060100_SimpleBasicTypes_002 +47: [pass] NegSyn_060100_SimpleBasicTypes_003 +48: [pass] NegSyn_060100_SimpleBasicTypes_004 +49: [pass] NegSyn_060100_SimpleBasicTypes_005 +50: [pass] NegSyn_060100_SimpleBasicTypes_006 +51: [pass] Sem_060100_SimpleBasicTypes_001 +52: [pass] Sem_060100_SimpleBasicTypes_002 +53: [pass] Sem_060100_SimpleBasicTypes_003 +54: [pass] Sem_060100_SimpleBasicTypes_004 +55: [pass] Sem_060100_SimpleBasicTypes_005 +56: [pass] Syn_060100_SimpleBasicTypes_001 +57: [pass] Syn_060100_SimpleBasicTypes_002 +58: [pass] Syn_060100_SimpleBasicTypes_003 +59: [pass] Syn_060100_SimpleBasicTypes_004 +60: [pass] Syn_060100_SimpleBasicTypes_005 +61: [pass] Syn_060100_SimpleBasicTypes_006 +62: [pass] Sem_06010101_AccessStringElements_001 +63: [pass] Sem_06010101_AccessStringElements_002 +64: [pass] Sem_06010101_AccessStringElements_003 +65: [pass] Sem_06010101_AccessStringElements_004 +66: [fail] Sem_06010101_AccessStringElements_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_06010101_AccessStringElements_005 script... + --->[SYS] Script "Sem_06010101_AccessStringElements_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has started. + --->[ERR] Runtime exception IndexOutOfRangeException "Der Index war auáerhalb des Arraybereichs." + --->at: TC_Sem_06010101_AccessStringElements_005(), in script: Sem_06010101_AccessStringElements_005, line: 13 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +67: [pass] Sem_06010101_AccessStringElements_006 +68: [pass] Sem_06010101_AccessStringElements_007 +69: [pass] Sem_06010101_AccessStringElements_008 +70: [pass] NegSyn_060101_TopLevel_001 +71: [pass] NegSyn_060101_TopLevel_002 +72: [pass] NegSyn_060101_TopLevel_003 +73: [pass] NegSyn_060101_TopLevel_004 +74: [pass] NegSyn_060101_TopLevel_005 +75: [pass] NegSyn_060101_TopLevel_006 +76: [pass] NegSyn_060101_TopLevel_007 +77: [pass] NegSyn_060101_TopLevel_008 +78: [pass] NegSyn_060101_TopLevel_009 +79: [pass] NegSyn_060101_TopLevel_010 +80: [pass] Sem_060101_TopLevel_001 +81: [pass] Sem_060101_TopLevel_002 +82: [pass] Sem_060101_TopLevel_003 +83: [pass] Sem_060101_TopLevel_004 +84: [pass] Sem_060101_TopLevel_005 +85: [pass] Sem_060101_TopLevel_006 +86: [pass] Syn_060101_TopLevel_001 +87: [pass] Syn_060101_TopLevel_002 +88: [pass] Syn_060101_TopLevel_003 +89: [pass] NegSem_06010201_ListOfValues_001 +90: [pass] NegSem_06010201_ListOfValues_002 +91: [pass] NegSem_06010201_ListOfValues_003 +92: [pass] NegSem_06010201_ListOfValues_004 +93: [pass] NegSem_06010201_ListOfValues_005 +94: [pass] NegSem_06010201_ListOfValues_006 +95: [pass] Sem_06010201_ListOfValues_001 +96: [pass] NegSem_06010202_ListOfTypes_001 +97: [pass] Sem_06010202_ListOfTypes_001 +98: [pass] NegSem_06010203_Ranges_001 +99: [pass] NegSem_06010203_Ranges_002 +101: [pass] Sem_06010203_Ranges_001 +102: [pass] Sem_06010203_Ranges_002 +103: [pass] NegSem_06010204_StringLenghtRestrict_001 +104: [pass] NegSem_06010204_StringLenghtRestrict_002 +105: [pass] Sem_06010204_StringLenghtRestrict_001 +106: [pass] NegSem_06010205_StringPattern_001 +107: [pass] Sem_06010205_StringPattern_001 +108: [pass] Sem_06010205_StringPattern_002 +109: [pass] NegSem_0601020601_MixingSubtype_001 +110: [pass] NegSem_0601020601_MixingSubtype_002 +111: [pass] Sem_0601020601_MixingSubtype_001 +112: [pass] Sem_0601020601_MixingSubtype_002 +113: [pass] NegSem_0601020602_StringMixing_001 +114: [pass] NegSem_0601020602_StringMixing_002 +115: [pass] NegSem_0601020602_StringMixing_003 +116: [pass] NegSem_0601020602_StringMixing_004 +117: [pass] NegSem_0601020602_StringMixing_005 +118: [pass] NegSem_0601020602_StringMixing_006 +119: [pass] Sem_0601020602_StringMixing_001 +120: [pass] Sem_0601020602_StringMixing_002 +121: [pass] Sem_0601020602_StringMixing_003 +122: [pass] Sem_0601020602_StringMixing_004 +123: [pass] Sem_0601020602_StringMixing_005 +124: [pass] Sem_0601020602_StringMixing_006 +125: [pass] Syn_060201_RecordTypeValues_001 +126: [pass] Syn_060201_RecordTypeValues_002 +127: [pass] NegSyn_0602_TopLevel_001 +128: [pass] NegSyn_0602_TopLevel_002 +129: [pass] NegSyn_0602_TopLevel_003 +131: [pass] NegSyn_0602_TopLevel_005 +132: [pass] Syn_0602_TopLevel_001 +133: [pass] Syn_0602_TopLevel_002 +134: [pass] Syn_0602_TopLevel_003 +135: [pass] Syn_0602_TopLevel_004 +136: [pass] Syn_0602_TopLevel_005 +137: [pass] NegSem_060301_non_structured_types_001 +138: [pass] NegSem_060301_non_structured_types_002 +139: [pass] NegSem_060301_non_structured_types_003 +140: [pass] NegSem_060301_non_structured_types_004 +141: [pass] NegSem_060301_non_structured_types_005 +142: [pass] NegSem_060301_non_structured_types_006 +143: [pass] NegSem_060301_non_structured_types_007 +144: [pass] NegSem_060301_non_structured_types_008 +145: [pass] NegSem_060301_non_structured_types_009 +146: [pass] NegSem_060301_non_structured_types_010 +147: [pass] NegSem_060301_non_structured_types_011 +148: [pass] NegSem_060301_non_structured_types_012 +149: [pass] Sem_060301_non_structured_types_001 +150: [fail] Sem_060301_non_structured_types_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060301_non_structured_types_002 script... + --->[ERR] Script "Sem_060301_non_structured_types_002": Line 45: Index exceeds the allowed range. + --->[SYS] Script "Sem_060301_non_structured_types_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +151: [pass] NegSem_060302_structured_types_001 +153: [pass] NegSem_060302_structured_types_003 +154: [pass] NegSem_060302_structured_types_004 +155: [pass] NegSem_060302_structured_types_005 +156: [pass] NegSem_060302_structured_types_006 +157: [pass] NegSem_060302_structured_types_007 +158: [pass] NegSem_060302_structured_types_008 +159: [pass] NegSem_060302_structured_types_009 +160: [pass] NegSem_060302_structured_types_010 +161: [pass] NegSem_060302_structured_types_011 +162: [pass] Sem_060302_structured_types_001 +164: [fail] Sem_060302_structured_types_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060302_structured_types_003 script... + --->[SYS] Script "Sem_060302_structured_types_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_060302_structured_types_003, Line: 43). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +165: [pass] Sem_060302_structured_types_004 +166: [pass] Sem_060302_structured_types_005 +167: [pass] NegSem_060303_component_types_001 +168: [pass] NegSem_060303_component_types_002 +169: [pass] Sem_060303_component_types_001 +170: [pass] Sem_070101_ArithmeticOperators_001 +171: [pass] Sem_070101_ArithmeticOperators_002 +172: [pass] Sem_070101_ArithmeticOperators_003 +173: [pass] Sem_070101_ArithmeticOperators_004 +174: [pass] Sem_070101_ArithmeticOperators_005 +175: [pass] Sem_070101_ArithmeticOperators_006 +176: [pass] Sem_070101_ArithmeticOperators_007 +177: [pass] Sem_070101_ArithmeticOperators_008 +178: [pass] Sem_070101_ArithmeticOperators_009 +179: [pass] Sem_070101_ArithmeticOperators_010 +180: [pass] Sem_070101_ArithmeticOperators_011 +181: [pass] Sem_070101_ArithmeticOperators_012 +182: [pass] Sem_070101_ArithmeticOperators_013 +183: [pass] Sem_070101_ArithmeticOperators_014 +184: [pass] Sem_070101_ArithmeticOperators_015 +185: [pass] Sem_070101_ArithmeticOperators_016 +186: [pass] Sem_070101_ArithmeticOperators_017 +187: [pass] Sem_070101_ArithmeticOperators_018 +188: [pass] Sem_070101_ArithmeticOperators_019 +189: [pass] Sem_070101_ArithmeticOperators_020 +190: [pass] Sem_070101_ArithmeticOperators_021 +191: [pass] Sem_070101_ArithmeticOperators_022 +192: [pass] Sem_070101_ArithmeticOperators_023 +193: [pass] Syn_070101_ArithmeticOperators_001 +194: [pass] Syn_070101_ArithmeticOperators_002 +195: [pass] Syn_070101_ArithmeticOperators_003 +196: [pass] Syn_070101_ArithmeticOperators_004 +197: [pass] Syn_070101_ArithmeticOperators_005 +198: [pass] Syn_070101_ArithmeticOperators_006 +199: [pass] Syn_070101_ArithmeticOperators_007 +200: [pass] Syn_070101_ArithmeticOperators_008 +201: [pass] Syn_070101_ArithmeticOperators_009 +202: [pass] Syn_070101_ArithmeticOperators_010 +203: [pass] Syn_070101_ArithmeticOperators_011 +204: [pass] Syn_070101_ArithmeticOperators_012 +205: [pass] Sem_070102_ListOperator_001 +206: [pass] Sem_070102_ListOperator_002 +207: [pass] Sem_070102_ListOperator_003 +208: [pass] Sem_070102_ListOperator_004 +209: [fail] Sem_070102_ListOperator_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_070102_ListOperator_005 script... + --->[SYS] Script "Sem_070102_ListOperator_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070102_ListOperator_005, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +210: [pass] Sem_070103_RelationalOperators_001 +211: [pass] Sem_070103_RelationalOperators_002 +212: [pass] Sem_070103_RelationalOperators_003 +213: [pass] Sem_070103_RelationalOperators_004 +214: [pass] Sem_070103_RelationalOperators_005 +215: [pass] Sem_070103_RelationalOperators_006 +216: [pass] Sem_070103_RelationalOperators_007 +217: [pass] Sem_070103_RelationalOperators_008 +218: [pass] Sem_070103_RelationalOperators_009 +219: [pass] Sem_070103_RelationalOperators_010 +220: [pass] Sem_070103_RelationalOperators_011 +221: [pass] Sem_070103_RelationalOperators_012 +222: [pass] Sem_070103_RelationalOperators_013 +223: [pass] Sem_070103_RelationalOperators_014 +224: [pass] Sem_070103_RelationalOperators_015 +225: [pass] Sem_070103_RelationalOperators_016 +226: [pass] Sem_070103_RelationalOperators_017 +227: [pass] Sem_070103_RelationalOperators_018 +228: [pass] Sem_070103_RelationalOperators_019 +229: [pass] Sem_070103_RelationalOperators_020 +230: [pass] Sem_070103_RelationalOperators_021 +231: [pass] Sem_070103_RelationalOperators_022 +232: [pass] Sem_070103_RelationalOperators_023 +233: [pass] Sem_070103_RelationalOperators_024 +234: [pass] Sem_070104_LogicalOperators_001 +235: [pass] Sem_070104_LogicalOperators_002 +237: [pass] Sem_070105_BitwiseOperators_002 +238: [pass] Sem_070106_ShiftOperators_001 +239: [pass] Sem_070106_ShiftOperators_002 +241: [pass] Sem_070106_ShiftOperators_004 +242: [pass] Sem_070107_RotateOperators_001 +243: [pass] Sem_070107_RotateOperators_002 +244: [pass] Sem_070107_RotateOperators_003 +245: [pass] Sem_070107_RotateOperators_004 +246: [pass] Sem_0702_FieldReferencesAndListElements_001 +247: [fail] Sem_0702_FieldReferencesAndListElements_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_0702_FieldReferencesAndListElements_002 script... + --->[SYS] Script "Sem_0702_FieldReferencesAndListElements_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has started. + --->[ERR] Runtime exception ArgumentOutOfRangeException "Der Index lag auáerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. + --->Parametername: index" + --->at: TC_Sem_0702_FieldReferencesAndListElements_002(), in script: Sem_0702_FieldReferencesAndListElements_002, line: 18 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +249: [pass] Syn_0801_DefinitionOfAModule_001 +250: [pass] Syn_0801_DefinitionOfAModule_002 +251: [pass] Syn_0801_DefinitionOfAModule_003 +252: [pass] Syn_0801_DefinitionOfAModule_004 +253: [pass] Sem_080201_ModuleParameters_001 +254: [pass] Syn_080201_ModuleParameters_001 +255: [pass] Syn_080201_ModuleParameters_002 +256: [pass] Syn_080201_ModuleParameters_003 +257: [pass] Syn_080202_GroupOfDefinitions_001 +258: [pass] Syn_080202_GroupOfDefinitions_002 +259: [pass] Syn_080202_GroupOfDefinitions_003 +260: [pass] Syn_080202_GroupOfDefinitions_004 +261: [pass] Syn_08020301_GeneralFormatOfImport_001 +262: [fail] Syn_08020301_GeneralFormatOfImport_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020301_GeneralFormatOfImport_002 script... + --->[ERR] Script "Syn_08020301_GeneralFormatOfImport_002": Line 9: Unknown module "Syn_08020301_GeneralFormatOfImport_001_import". + --->[SYS] Script "Syn_08020301_GeneralFormatOfImport_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +263: [pass] Sem_08020302_ImportingSingleDefinitions_001 +265: [pass] NegSem_08020303_ImportingGroups_001 +266: [pass] Sem_08020303_ImportingGroups_001 +268: [pass] Sem_08020303_ImportingGroups_003 +269: [pass] Sem_08020304_ImportingDefinitionsOfTheSameKind_001 +270: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002 script... + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import script... + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import" compiled successfully. 0 errors, 0 warnings. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +271: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003 script... + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import script... + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import" compiled successfully. 0 errors, 0 warnings. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +272: [pass] NegSem_08020305_ImportingAllDefinitionsOfAModule_001 +273: [pass] Sem_08020305_ImportingAllDefinitionsOfAModule_001 +274: [pass] Sem_08020305_ImportingAllDefinitionsOfAModule_002 +277: [pass] NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001 +278: [pass] NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002 +279: [pass] Sem_08020307_ImportingOfImportStatementsFromT3Modules_001 +280: [pass] NegSem_08020308_ImportingOfImportStatementsFromT3Modules_001 +281: [pass] NegSem_080204_DefinitionOfFriendModules_001 +282: [pass] NegSem_080204_DefinitionOfFriendModules_002 +283: [fail] Sem_080204_DefinitionOfFriendModules_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080204_DefinitionOfFriendModules_001 script... + --->[SYS] Starting compilation of the Sem_080204_DefinitionOfFriendModules_001_import script... + --->[SYS] Script "Sem_080204_DefinitionOfFriendModules_001_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080204_DefinitionOfFriendModules_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080204_DefinitionOfFriendModules_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +284: [pass] NegSem_080205_VisibilityOfDefinitions_001 +285: [pass] NegSem_080205_VisibilityOfDefinitions_002 +286: [pass] NegSem_080205_VisibilityOfDefinitions_003 +287: [pass] NegSem_080205_VisibilityOfDefinitions_004 +288: [pass] NegSem_080205_VisibilityOfDefinitions_005 +289: [fail] Sem_080205_VisibilityOfDefinitions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_001 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_001_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_001_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +290: [fail] Sem_080205_VisibilityOfDefinitions_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_002 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_002_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_002_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_002, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +291: [fail] Sem_080205_VisibilityOfDefinitions_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_003 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_003_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_003_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +292: [fail] Sem_080205_VisibilityOfDefinitions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_004 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_004_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_004_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_004, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +293: [fail] Sem_080205_VisibilityOfDefinitions_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_005 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_005_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_005_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_005, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +294: [pass] Syn_0802_ModuleDefinitionsPart_001 +295: [pass] Syn_0802_ModuleDefinitionsPart_002 +296: [pass] NegSyn_0803_ModuleControlPart_001 +297: [pass] Sem_0803_ModuleControlPart_001 +298: [pass] Syn_0803_ModuleControlPart_001 +299: [fail] Syn_0803_ModuleControlPart_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_0803_ModuleControlPart_002 script... + --->[SYS] Script "Syn_0803_ModuleControlPart_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception InvalidOperationException "Cannot start the timer; no default duration has been specified." + --->at: module control part, in script: Syn_0803_ModuleControlPart_002, line: 25 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +300: [pass] Syn_0803_ModuleControlPart_003 +301: [pass] NegSem_10_Constants_001 +302: [pass] Sem_10_Constants_001 +303: [pass] Sem_10_Constants_002 +304: [pass] Syn_10_Constants_001 +305: [pass] Syn_10_Constants_002 +306: [pass] Syn_10_Constants_003 +307: [pass] Syn_10_Constants_004 +308: [pass] NegSem_1101_ValueVars_001 +309: [pass] NegSyn_1101_ValueVars_001 +310: [pass] Sem_1101_ValueVars_001 +311: [pass] Sem_1101_ValueVars_002 +312: [pass] Sem_1101_ValueVars_003 +313: [pass] Syn_1101_ValueVars_001 +314: [pass] NegSem_1102_TemplateVars_001 +315: [pass] NegSyn_1102_TemplateVars_001 +316: [pass] Sem_1102_TemplateVars_001 +317: [pass] Syn_1102_TemplateVars_001 +318: [pass] Syn_1501_DeclaringMessageTemplates_001 +319: [pass] Syn_1501_DeclaringMessageTemplates_002 +320: [pass] Syn_1501_DeclaringMessageTemplates_003 +321: [pass] Syn_1501_DeclaringMessageTemplates_004 +322: [pass] Syn_1501_DeclaringMessageTemplates_005 +323: [fail] Syn_1501_DeclaringMessageTemplates_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1501_DeclaringMessageTemplates_006 script... + --->[SYS] Script "Syn_1501_DeclaringMessageTemplates_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has started. + --->[->M] Syn_1501_DeclaringMessageTemplates_006.MyMessageType: 4D 79 20 73 74 72 69 6E 67 00 FF FF FF FF + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Syn_1501_DeclaringMessageTemplates_006(), in script: Syn_1501_DeclaringMessageTemplates_006, line: 32 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +324: [pass] Syn_1502_DeclaringSignatureTemplates_001 +325: [pass] Syn_1502_DeclaringSignatureTemplates_002 +326: [fail] Syn_1502_DeclaringSignatureTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_003 script... + --->[ERR] Script "Syn_1502_DeclaringSignatureTemplates_003": Line 33: If the nowait clause is missing, the call operation for blocking procedures must contain a response and exception handling part. + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +327: [fail] Syn_1502_DeclaringSignatureTemplates_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_004 script... + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has started. + --->[<-X] integer: 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriRaise operation returned TRI_Error" + --->at: TC_Syn_1502_DeclaringSignatureTemplates_004(), in script: Syn_1502_DeclaringSignatureTemplates_004, line: 33 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +328: [pass] Sem_1503_GlobalAndLocalTemplates_001 +330: [pass] Syn_1503_GlobalAndLocalTemplates_001 +331: [pass] Syn_1503_GlobalAndLocalTemplates_002 +332: [pass] Syn_1503_GlobalAndLocalTemplates_003 +333: [pass] Syn_1503_GlobalAndLocalTemplates_004 +334: [pass] Syn_1503_GlobalAndLocalTemplates_005 +335: [pass] Syn_1503_GlobalAndLocalTemplates_006 +336: [pass] Syn_1503_GlobalAndLocalTemplates_007 +337: [pass] Syn_1503_GlobalAndLocalTemplates_008 +338: [pass] Syn_1504_InlineTemplates_001 +339: [pass] Syn_1504_InlineTemplates_002 +340: [pass] Syn_1504_InlineTemplates_003 +341: [pass] NegSem_1505_ModifiedTemplates_001 +342: [pass] NegSem_1505_ModifiedTemplates_002 +343: [pass] NegSem_1505_ModifiedTemplates_003 +344: [pass] NegSem_1505_ModifiedTemplates_004 +345: [pass] NegSem_1505_ModifiedTemplates_005 +346: [pass] NegSem_1505_ModifiedTemplates_006 +347: [pass] NegSem_1505_ModifiedTemplates_007 +348: [pass] Sem_1505_ModifiedTemplates_001 +349: [fail] Sem_1505_ModifiedTemplates_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1505_ModifiedTemplates_002 script... + --->[SYS] Script "Sem_1505_ModifiedTemplates_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1505_ModifiedTemplates_002, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +350: [pass] Sem_1505_ModifiedTemplates_003 +351: [pass] Sem_1505_ModifiedTemplates_004 +352: [pass] Syn_1505_ModifiedTemplates_001 +353: [pass] Syn_1505_ModifiedTemplates_002 +354: [pass] Syn_1505_ModifiedTemplates_003 +355: [pass] Syn_1505_ModifiedTemplates_004 +356: [pass] NegSem_150601_ReferencingIndividualStringElements_001 +357: [pass] NegSem_150602_ReferencingRecordAndSetFields_001 +358: [pass] NegSem_150602_ReferencingRecordAndSetFields_002 +359: [pass] NegSem_150602_ReferencingRecordAndSetFields_003 +360: [pass] NegSem_150602_ReferencingRecordAndSetFields_004 +361: [pass] NegSem_150602_ReferencingRecordAndSetFields_005 +362: [fail] Sem_150602_ReferencingRecordAndSetFields_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_001 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected ? + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected * + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +363: [fail] Sem_150602_ReferencingRecordAndSetFields_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_002 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_002": Line 44: Syntax error: unexpected ? + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +369: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_006 +370: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_007 +371: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_008 +372: [pass] NegSem_150603_ReferencingRecordOfAndSetElements_009 +378: [pass] NegSem_1508_TemplateRestrictions_001 +379: [pass] NegSem_1508_TemplateRestrictions_002 +380: [pass] NegSem_1508_TemplateRestrictions_003 +381: [pass] NegSem_1508_TemplateRestrictions_004 +382: [pass] NegSem_1508_TemplateRestrictions_005 +383: [pass] NegSem_1508_TemplateRestrictions_006 +384: [pass] NegSem_1508_TemplateRestrictions_007 +385: [pass] NegSem_1508_TemplateRestrictions_008 +386: [pass] NegSem_1508_TemplateRestrictions_009 +387: [pass] NegSem_1508_TemplateRestrictions_010 +388: [pass] NegSem_1508_TemplateRestrictions_011 +389: [pass] NegSem_1508_TemplateRestrictions_012 +390: [pass] NegSem_1508_TemplateRestrictions_013 +391: [pass] NegSem_1508_TemplateRestrictions_014 +392: [pass] NegSem_1508_TemplateRestrictions_015 +393: [pass] NegSem_1508_TemplateRestrictions_016 +394: [pass] NegSem_1508_TemplateRestrictions_017 +395: [pass] NegSem_1508_TemplateRestrictions_018 +396: [pass] NegSem_1508_TemplateRestrictions_019 +397: [pass] NegSem_1508_TemplateRestrictions_020 +398: [pass] NegSem_1508_TemplateRestrictions_021 +399: [pass] NegSem_1508_TemplateRestrictions_022 +400: [pass] NegSem_1508_TemplateRestrictions_023 +401: [pass] NegSem_1508_TemplateRestrictions_024 +402: [pass] NegSem_1508_TemplateRestrictions_025 +403: [pass] NegSem_1508_TemplateRestrictions_026 +404: [pass] NegSem_1508_TemplateRestrictions_027 +405: [pass] NegSem_1508_TemplateRestrictions_028 +406: [pass] NegSem_1508_TemplateRestrictions_029 +407: [fail] NegSem_1508_TemplateRestrictions_030 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_030 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_030" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +408: [pass] NegSem_1508_TemplateRestrictions_031 +409: [pass] NegSem_1508_TemplateRestrictions_032 +410: [pass] NegSem_1508_TemplateRestrictions_033 +411: [pass] NegSem_1508_TemplateRestrictions_034 +412: [fail] NegSem_1508_TemplateRestrictions_035 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_035 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_035" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +413: [pass] NegSem_1508_TemplateRestrictions_036 +414: [pass] NegSem_1508_TemplateRestrictions_037 +415: [pass] NegSem_1508_TemplateRestrictions_038 +416: [pass] NegSem_1508_TemplateRestrictions_039 +417: [pass] Sem_1508_TemplateRestrictions_001 +418: [fail] Sem_1508_TemplateRestrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_002 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_002": Line 24: Unexpected template. + --->[SYS] Script "Sem_1508_TemplateRestrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +419: [fail] Sem_1508_TemplateRestrictions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_003 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_003": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +420: [pass] Sem_1508_TemplateRestrictions_004 +421: [pass] Sem_1508_TemplateRestrictions_005 +422: [pass] Sem_1508_TemplateRestrictions_006 +423: [fail] Sem_1508_TemplateRestrictions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_007 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_007": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +424: [pass] Sem_1508_TemplateRestrictions_008 +425: [pass] Sem_1508_TemplateRestrictions_009 +426: [pass] Sem_1508_TemplateRestrictions_010 +427: [fail] Sem_1508_TemplateRestrictions_011 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_011 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_011": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_011" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +428: [pass] Sem_1508_TemplateRestrictions_012 +429: [pass] Sem_1508_TemplateRestrictions_013 +430: [pass] Sem_1508_TemplateRestrictions_014 +431: [pass] Sem_1508_TemplateRestrictions_015 +432: [pass] Sem_1508_TemplateRestrictions_016 +433: [pass] Sem_1508_TemplateRestrictions_017 +434: [pass] Sem_1508_TemplateRestrictions_018 +435: [pass] Sem_1508_TemplateRestrictions_019 +436: [pass] Sem_1508_TemplateRestrictions_020 +437: [pass] Sem_1508_TemplateRestrictions_021 +438: [pass] Sem_1508_TemplateRestrictions_022 +439: [pass] Sem_1508_TemplateRestrictions_023 +440: [pass] Syn_1508_TemplateRestrictions_001 +441: [pass] Syn_1508_TemplateRestrictions_002 +442: [pass] Syn_1508_TemplateRestrictions_003 +443: [pass] Syn_1508_TemplateRestrictions_004 +444: [pass] NegSem_1509_MatchOperation_001 +445: [pass] Sem_1509_MatchOperation_001 +446: [pass] Sem_1509_MatchOperation_002 +447: [fail] Sem_1509_MatchOperation_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1509_MatchOperation_003 script... + --->[SYS] Script "Sem_1509_MatchOperation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1509_MatchOperation_003, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +448: [pass] Sem_1509_MatchOperation_004 +449: [pass] Sem_1509_MatchOperation_005 +450: [pass] NegSem_1510_ValueOfOperation_001 +451: [pass] NegSem_1510_ValueOfOperation_002 +452: [pass] NegSem_1510_ValueOfOperation_003 +453: [pass] NegSem_1510_ValueOfOperation_004 +454: [pass] Sem_1510_ValueOfOperation_001 +455: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 +456: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 +457: [pass] NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 +458: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +459: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +460: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003 +461: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004 +462: [pass] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005 +463: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected ? + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected & + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +464: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +465: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008": Line 22: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +466: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009": Line 21: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +467: [pass] NegSem_15_TopLevel_001 +468: [pass] Syn_15_TopLevel_001 +469: [pass] Sem_160101_invoking_functions_001 +470: [pass] NegSem_160102_predefined_functions_001 +471: [pass] NegSem_160102_predefined_functions_002 +472: [pass] NegSem_160102_predefined_functions_003 +473: [pass] NegSem_160102_predefined_functions_004 +474: [pass] NegSem_160102_predefined_functions_005 +475: [pass] NegSem_160102_predefined_functions_006 +476: [pass] NegSem_160102_predefined_functions_007 +477: [pass] NegSem_160102_predefined_functions_008 +478: [pass] NegSem_160102_predefined_functions_009 +479: [pass] NegSem_160102_predefined_functions_010 +480: [pass] NegSem_160102_predefined_functions_011 +481: [fail] NegSem_160102_predefined_functions_012 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_012 script... + --->[SYS] Script "NegSem_160102_predefined_functions_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +482: [fail] NegSem_160102_predefined_functions_013 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_013 script... + --->[SYS] Script "NegSem_160102_predefined_functions_013" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +483: [pass] NegSem_160102_predefined_functions_014 +484: [pass] NegSem_160102_predefined_functions_015 +485: [pass] NegSem_160102_predefined_functions_016 +486: [pass] NegSem_160102_predefined_functions_017 +487: [pass] NegSem_160102_predefined_functions_018 +488: [pass] NegSem_160102_predefined_functions_019 +489: [fail] NegSem_160102_predefined_functions_020 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_020 script... + --->[SYS] Script "NegSem_160102_predefined_functions_020" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +490: [pass] NegSem_160102_predefined_functions_021 +491: [pass] NegSem_160102_predefined_functions_022 +492: [pass] NegSem_160102_predefined_functions_023 +493: [pass] NegSem_160102_predefined_functions_024 +494: [pass] NegSem_160102_predefined_functions_025 +495: [pass] NegSem_160102_predefined_functions_026 +496: [pass] NegSem_160102_predefined_functions_027 +497: [fail] Sem_160102_predefined_functions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_001 script... + --->[SYS] Script "Sem_160102_predefined_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_001, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +498: [fail] Sem_160102_predefined_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_002 script... + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_002" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +499: [fail] Sem_160102_predefined_functions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_003 script... + --->[ERR] Script "Sem_160102_predefined_functions_003": Line 40: The active union value is "f2"; the "f1" member cannot be accessed. + --->[SYS] Script "Sem_160102_predefined_functions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +500: [fail] Sem_160102_predefined_functions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_004 script... + --->[SYS] Script "Sem_160102_predefined_functions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_004, Line: 30). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +501: [fail] Sem_160102_predefined_functions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_005 script... + --->[SYS] Script "Sem_160102_predefined_functions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has started. + --->[ERR] Runtime exception NullReferenceException "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." + --->at: TC_Sem_160102_predefined_functions_005(), in script: Sem_160102_predefined_functions_005, line: 29 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +502: [pass] Sem_160102_predefined_functions_006 +503: [fail] Sem_160102_predefined_functions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_007 script... + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_007" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +504: [pass] NegSem_160103_external_functions_001 +505: [pass] NegSem_160103_external_functions_002 +506: [fail] Sem_160103_external_functions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_001 script... + --->[SYS] Script "Sem_160103_external_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has started. + --->[ERR] Runtime exception TriException "TRI failure: TriExternalFunction operation returned TRI_Error" + --->at: TC_Sem_160103_external_functions_001(), in script: Sem_160103_external_functions_001, line: 17 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +507: [fail] Sem_160103_external_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_002 script... + --->[SYS] Script "Sem_160103_external_functions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has started. + --->[ERR] Runtime exception EncodingException "Cannot encode value. Some items might not be initialised or the encoding setting is faulty." + --->at: TC_Sem_160103_external_functions_002(), in script: Sem_160103_external_functions_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +508: [pass] NegSem_160104_invoking_functions_from_specific_places_001 +509: [pass] NegSem_160104_invoking_functions_from_specific_places_002 +510: [pass] NegSem_160104_invoking_functions_from_specific_places_003 +511: [pass] NegSem_160104_invoking_functions_from_specific_places_004 +512: [pass] NegSem_1601_toplevel_001 +513: [pass] NegSem_1601_toplevel_002 +514: [pass] NegSem_1601_toplevel_003 +515: [pass] NegSem_1601_toplevel_004 +516: [pass] Sem_1601_toplevel_001 +517: [fail] Sem_1601_toplevel_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1601_toplevel_002 script... + --->[ERR] Script "Sem_1601_toplevel_002": Line 15: Unexpected template. + --->[ERR] Script "Sem_1601_toplevel_002": Line 20: Unexpected template. + --->[SYS] Script "Sem_1601_toplevel_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +518: [pass] Sem_1601_toplevel_003 +519: [pass] NegSem_160201_invoking_altsteps_001 +520: [pass] Sem_160201_invoking_altsteps_001 +521: [fail] Sem_160201_invoking_altsteps_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: inconc + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_002 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has started. + --->[->M] Sem_160201_invoking_altsteps_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[CHK] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160201_invoking_altsteps_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +522: [pass] NegSem_1602_toplevel_001 +523: [fail] NegSem_1602_toplevel_002 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_002 script... + --->[SYS] Script "NegSem_1602_toplevel_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_002.TC_NegSem_1602_toplevel_002" has started. + --->[->M] NegSem_1602_toplevel_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_002.TC_NegSem_1602_toplevel_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +524: [fail] NegSem_1602_toplevel_003 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_003 script... + --->[SYS] Script "NegSem_1602_toplevel_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_003.TC_NegSem_1602_toplevel_003" has started. + --->[->M] NegSem_1602_toplevel_003.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_003, Line: 23). + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_003.TC_NegSem_1602_toplevel_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +525: [fail] NegSem_1602_toplevel_004 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_004 script... + --->[SYS] Script "NegSem_1602_toplevel_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_004.TC_NegSem_1602_toplevel_004" has started. + --->[->M] NegSem_1602_toplevel_004.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_004, Line: 32). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_004.TC_NegSem_1602_toplevel_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +526: [pass] NegSem_1602_toplevel_005 +527: [pass] NegSem_1602_toplevel_006 +528: [pass] NegSyn_1602_toplevel_001 +529: [pass] Sem_1602_toplevel_001 +530: [pass] NegSem_1603_testcases_001 +531: [pass] NegSem_1603_testcases_002 +532: [pass] Syn_1603_testcases_001 +533: [pass] NegSem_1901_assignments_001 +534: [pass] NegSem_1901_assignments_002 +535: [pass] NegSem_1901_assignments_003 +536: [pass] NegSyn_1901_assignments_001 +537: [pass] Sem_1901_assignments_001 +538: [pass] NegSyn_1902_if_else_statement_001 +539: [pass] Sem_1902_if_else_statement_001 +540: [pass] Sem_1902_if_else_statement_002 +541: [pass] Sem_1903_select_case_statement_001 +542: [pass] Sem_1903_select_case_statement_002 +543: [pass] Sem_1903_select_case_statement_003 +544: [pass] Sem_1903_select_case_statement_004 +545: [pass] NegSem_1904_for_statement_001 +546: [pass] Sem_1904_for_statement_001 +547: [pass] Sem_1904_for_statement_002 +548: [pass] Sem_1904_for_statement_003 +549: [pass] NegSem_1905_while_statement_001 +550: [pass] Sem_1905_while_statement_001 +551: [pass] Sem_1905_while_statement_002 +552: [pass] Sem_1905_while_statement_003 +553: [pass] NegSem_1906_do_while_statement_001 +554: [pass] Sem_1906_do_while_statement_001 +555: [pass] Sem_1906_do_while_statement_002 +556: [pass] Sem_1906_do_while_statement_003 +557: [pass] NegSem_1907_label_statement_001 +558: [pass] NegSyn_1907_label_statement_001 +559: [pass] NegSyn_1907_label_statement_002 +560: [fail] Syn_1907_label_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1907_label_statement_001 script... + --->[ERR] Script "Syn_1907_label_statement_001": Line 61: The "L2" label is already defined. + --->[SYS] Script "Syn_1907_label_statement_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +561: [pass] NegSem_1908_goto_statement_001 +562: [pass] NegSem_1908_goto_statement_002 +563: [pass] NegSem_1908_goto_statement_003 +564: [pass] Sem_1908_goto_statement_001 +565: [pass] Sem_1908_goto_statement_002 +566: [pass] Sem_1908_goto_statement_003 +567: [fail] Sem_1909_stop_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_001 script... + --->[ERR] Script "Sem_1909_stop_statement_001": Line 14: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_001": Line 15: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_001" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +568: [fail] Sem_1909_stop_statement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_002 script... + --->[ERR] Script "Sem_1909_stop_statement_002": Line 23: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_002": Line 24: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_002" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +569: [pass] NegSem_1910_return_statement_001 +570: [pass] Sem_1910_return_statement_001 +571: [pass] NegSem_1911_log_statement_001 +572: [pass] Sem_1911_log_statement_001 +573: [pass] Sem_1911_log_statement_002 +574: [pass] Sem_1911_log_statement_003 +575: [pass] Sem_1911_log_statement_004 +576: [pass] Sem_1911_log_statement_005 +577: [pass] Sem_1913_continue_statement_001 +578: [pass] Sem_2002_TheAltStatement_001 +579: [pass] Sem_2002_TheAltStatement_002 +580: [pass] Sem_2002_TheAltStatement_003 +581: [fail] Sem_2002_TheAltStatement_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: error + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_004 script... + --->[SYS] Script "Sem_2002_TheAltStatement_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[->M] charstring: 70 69 6E 67 32 00 + --->[<-M] charstring: 70 69 6E 67 31 00 + --->[<-M] charstring: 70 69 6E 67 32 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 46). + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result : "Test case timeout" + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +582: [pass] Sem_2002_TheAltStatement_005 +583: [fail] Sem_2002_TheAltStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_006 script... + --->[ERR] Script "Sem_2002_TheAltStatement_006": Line 33: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +584: [fail] Sem_2002_TheAltStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_007 script... + --->[ERR] Script "Sem_2002_TheAltStatement_007": Line 38: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +585: [fail] Sem_2002_TheAltStatement_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_008 script... + --->[ERR] Script "Sem_2002_TheAltStatement_008": Line 26: Parallel test components cannot be created if the system adapter is not explicitly declared. + --->[SYS] Script "Sem_2002_TheAltStatement_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +586: [pass] Sem_2002_TheAltStatement_009 +587: [pass] Sem_2002_TheAltStatement_010 +588: [pass] Sem_2002_TheAltStatement_011 +589: [pass] NegSem_2003_the_repeat_statement_001 +590: [pass] Sem_2003_the_repeat_statement_001 +591: [pass] Syn_20_TopLevel_001 +592: [pass] Syn_20_TopLevel_002 +593: [pass] Syn_20_TopLevel_003 +594: [pass] Syn_20_TopLevel_004 +595: [pass] Syn_20_TopLevel_005 +596: [pass] NegSem_2601_ExecuteStatement_001 +597: [pass] NegSem_2601_ExecuteStatement_002 +598: [pass] Sem_2601_ExecuteStatement_001 +599: [pass] Sem_2601_ExecuteStatement_002 +600: [fail] Sem_2601_ExecuteStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_003 script... + --->[SYS] Script "Sem_2601_ExecuteStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has started. + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Sem_2601_ExecuteStatement_003(), in script: Sem_2601_ExecuteStatement_003, line: 13 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2601_ExecuteStatement_003, Line: 22). + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +601: [pass] Sem_2601_ExecuteStatement_004 +602: [pass] Sem_2601_ExecuteStatement_005 +603: [fail] Sem_2601_ExecuteStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_006 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_006": Line 27: The identifier "Sem_2601_ExecuteStatement_006" doesn't represent a function. + --->[SYS] Script "Sem_2601_ExecuteStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +604: [fail] Sem_2601_ExecuteStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_007 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_007": Line 13: Syntax error: the statement must contain at least one alternative. + --->[SYS] Script "Sem_2601_ExecuteStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +605: [pass] NegSem_2602_TheControlPart_001 +606: [pass] NegSem_2602_TheControlPart_002 +607: [pass] NegSem_2602_TheControlPart_003 +608: [pass] NegSem_2602_TheControlPart_004 +609: [pass] NegSem_2602_TheControlPart_005 +610: [pass] NegSem_2602_TheControlPart_006 +611: [pass] NegSem_2602_TheControlPart_007 +612: [pass] NegSem_2602_TheControlPart_008 +613: [pass] NegSem_2602_TheControlPart_009 +614: [pass] NegSem_2602_TheControlPart_010 +615: [pass] NegSem_2602_TheControlPart_011 +616: [pass] NegSem_2602_TheControlPart_012 +617: [pass] NegSem_2602_TheControlPart_013 +618: [pass] NegSem_2602_TheControlPart_014 +619: [pass] NegSem_2602_TheControlPart_015 +620: [pass] NegSem_2602_TheControlPart_016 +621: [pass] NegSem_2602_TheControlPart_017 +622: [pass] NegSem_2602_TheControlPart_018 +623: [pass] NegSem_2602_TheControlPart_019 +624: [pass] NegSem_2602_TheControlPart_020 +625: [pass] NegSem_2602_TheControlPart_021 +626: [pass] NegSem_2602_TheControlPart_022 +627: [pass] NegSem_2602_TheControlPart_023 +628: [pass] NegSem_2602_TheControlPart_024 +629: [pass] NegSem_2602_TheControlPart_025 +630: [pass] NegSem_2602_TheControlPart_026 +631: [pass] NegSem_2602_TheControlPart_027 +632: [pass] NegSem_2602_TheControlPart_028 +633: [pass] NegSem_2602_TheControlPart_029 +634: [pass] NegSem_2602_TheControlPart_030 +635: [pass] NegSem_2602_TheControlPart_031 +636: [pass] Sem_2602_TheControlPart_001 +637: [pass] Sem_2602_TheControlPart_002 +638: [pass] Sem_2602_TheControlPart_003 +639: [pass] Syn_26_ModuleControl_001 +640: [pass] Syn_26_ModuleControl_002 +641: [pass] Syn_26_ModuleControl_003 +642: [pass] Syn_26_ModuleControl_004 +643: [pass] Syn_26_ModuleControl_005 +644: [pass] Syn_26_ModuleControl_006 +645: [pass] Syn_26_ModuleControl_007 +646: [pass] Syn_26_ModuleControl_008 +647: [pass] Syn_26_ModuleControl_009 +648: [pass] Syn_26_ModuleControl_010 +649: [pass] Syn_26_ModuleControl_011 +650: [fail] Syn_26_ModuleControl_012 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_012 script... + --->[SYS] Script "Syn_26_ModuleControl_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[TMT] Timer id: 1, elapsed: 2.0E-2, script: Syn_26_ModuleControl_012, line: 14 + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: module control part, in script: Syn_26_ModuleControl_012, line: 13 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +651: [pass] Syn_26_ModuleControl_013 +652: [fail] Syn_26_ModuleControl_014 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_014 script... + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The statement is allowed only inside functions, altsteps and test cases. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The parameter "p_timer" is passed by reference. In an activation call, only timers defined in a test component and ports can be passed by reference. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 28: The statement is allowed only inside functions, altsteps and test cases. + --->[SYS] Script "Syn_26_ModuleControl_014" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +653: [pass] Syn_26_ModuleControl_015 +654: [fail] Syn_26_ModuleControl_016 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_016 script... + --->[SYS] Script "Syn_26_ModuleControl_016" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception TriException "TRI failure: TriSutAction operation returned TRI_Error" + --->at: module control part, in script: Syn_26_ModuleControl_016, line: 11 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +655: [pass] Syn_26_ModuleControl_017 +656: [pass] NegSem_B010101_omitting_values_001 +657: [inconc] Sem_B010101_omitting_values_001 - cannot interprete expected output! +658: [inconc] Sem_B010101_omitting_values_002 - cannot interprete expected output! +659: [pass] Sem_B0101_matching_specific_value_001 +660: [inconc] Sem_B0101_matching_specific_value_002 - cannot interprete expected output! +661: [inconc] Sem_B0101_matching_specific_value_003 - cannot interprete expected output! +662: [inconc] Sem_B0101_matching_specific_value_004 - cannot interprete expected output! +663: [inconc] Sem_B0101_matching_specific_value_005 - cannot interprete expected output! +664: [inconc] Sem_B0101_matching_specific_value_006 - cannot interprete expected output! +665: [inconc] Sem_B0101_matching_specific_value_007 - cannot interprete expected output! +666: [inconc] Sem_B0101_matching_specific_value_008 - cannot interprete expected output! +667: [inconc] Sem_B0101_matching_specific_value_009 - cannot interprete expected output! +668: [inconc] Sem_B0101_matching_specific_value_010 - cannot interprete expected output! +669: [inconc] Sem_B0101_matching_specific_value_011 - cannot interprete expected output! +670: [pass] Sem_B010201_value_list_001 +671: [pass] Sem_B010202_complemented_value_list_001 +672: [pass] Sem_B010202_complemented_value_list_002 +673: [pass] Sem_B010202_complemented_value_list_003 +674: [pass] Sem_B010202_complemented_value_list_004 +675: [pass] Sem_B010202_complemented_value_list_005 +676: [pass] Sem_B010202_complemented_value_list_006 +677: [fail] Sem_B010203_any_value_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_001 script... + --->[SYS] Script "Sem_B010203_any_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has started. + --->[->M] Sem_B010203_any_value_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[<-M] ?: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010203_any_value_001, Line: 75). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +678: [pass] Sem_B010203_any_value_002 +679: [fail] NegSem_B010204_any_value_or_none_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010204_any_value_or_none_001 script... + --->[SYS] Script "NegSem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010204_any_value_or_none_001.TC_NegSem_B010204_any_value_or_none_001" has started. + --->[->M] NegSem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010204_any_value_or_none_001.TC_NegSem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +680: [fail] NegSem_B010204_any_value_or_none_002 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010204_any_value_or_none_002 script... + --->[SYS] Script "NegSem_B010204_any_value_or_none_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010204_any_value_or_none_002.TC_NegSem_B010204_any_value_or_none_002" has started. + --->[->M] NegSem_B010204_any_value_or_none_002.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010204_any_value_or_none_002.TC_NegSem_B010204_any_value_or_none_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +681: [fail] Sem_B010204_any_value_or_none_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010204_any_value_or_none_001 script... + --->[SYS] Script "Sem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has started. + --->[->M] Sem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[<-M] ?: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010204_any_value_or_none_001, Line: 72). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +682: [pass] NegSem_B010205_value_range_001 +683: [pass] NegSem_B010205_value_range_002 +684: [pass] NegSem_B010205_value_range_003 +685: [fail] Sem_B010205_value_range_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_001 script... + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +686: [fail] Sem_B010205_value_range_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_002 script... + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +687: [fail] Sem_B010205_value_range_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_003 script... + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +688: [fail] Sem_B010205_value_range_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_004 script... + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +689: [fail] Sem_B010205_value_range_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_005 script... + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +690: [fail] Sem_B010205_value_range_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_006 script... + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +691: [pass] NegSem_B010206_superset_001 +692: [pass] NegSem_B010206_superset_002 +693: [pass] Sem_B010206_superset_001 +694: [pass] Sem_B010206_superset_002 +695: [pass] Sem_B010206_superset_003 +696: [pass] NegSem_B010207_subset_001 +697: [pass] NegSem_B010207_subset_002 +698: [pass] Sem_B010207_subset_001 +699: [pass] Sem_B010207_subset_002 +700: [pass] Sem_B010207_subset_003 +701: [pass] Sem_B010301_any_element_001 +702: [pass] Sem_B010301_any_element_002 +703: [pass] Sem_B010301_any_element_003 +704: [pass] Sem_B010301_any_element_004 +705: [pass] Sem_B010301_any_element_005 +706: [pass] Sem_B010301_any_element_006 +707: [pass] Sem_B010301_any_element_007 +708: [pass] Sem_B010301_any_element_008 +709: [pass] Sem_B010302_any_number_of_elements_or_none_001 +710: [pass] Sem_B010302_any_number_of_elements_or_none_002 +711: [pass] Sem_B010302_any_number_of_elements_or_none_003 +712: [pass] NegSem_B010303_permutation_001 +713: [pass] Sem_B010303_permutation_001 +714: [pass] Sem_B010303_permutation_002 +715: [pass] Sem_B010303_permutation_003 +716: [pass] Sem_B010303_permutation_004 +717: [pass] Sem_B010303_permutation_005 +718: [pass] Sem_B010401_length_restrictions_001 +719: [fail] Sem_B010401_length_restrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_002 script... + --->[ERR] Script "Sem_B010401_length_restrictions_002": Line 16: Syntax error: unexpected } + --->[SYS] Script "Sem_B010401_length_restrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +720: [pass] Sem_B010401_length_restrictions_003 +721: [pass] Sem_B010401_length_restrictions_004 +722: [fail] Sem_B010401_length_restrictions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_005 script... + --->[ERR] Script "Sem_B010401_length_restrictions_005": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_005" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +723: [fail] Sem_B010401_length_restrictions_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_006 script... + --->[ERR] Script "Sem_B010401_length_restrictions_006": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +724: [pass] NegSem_B010402_ifPresent_indicator_001 +725: [fail] Sem_B010402_ifPresent_indicator_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_001 script... + --->[SYS] Script "Sem_B010402_ifPresent_indicator_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has started. + --->[->M] Sem_B010402_ifPresent_indicator_001.MessageType: 01 00 00 00 FF FF FF FF + --->[<-M] ?: 01 00 00 00 FF FF FF FF + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010402_ifPresent_indicator_001, Line: 66). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +726: [fail] Sem_B010402_ifPresent_indicator_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_002 script... + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "fff" is not defined. + --->[SYS] Script "Sem_B010402_ifPresent_indicator_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +727: [fail] NegSem_B010501_set_expression_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010501_set_expression_001 script... + --->[SYS] Script "NegSem_B010501_set_expression_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010501_set_expression_001.TC_NegSem_B010501_set_expression_001" has started. + --->[->M] NegSem_B010501_set_expression_001.MessageType: 74 65 73 74 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010501_set_expression_001.TC_NegSem_B010501_set_expression_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +728: [pass] Sem_B010501_set_expression_001 +729: [pass] Sem_B010501_set_expression_002 +730: [pass] Sem_B010501_set_expression_003 +731: [pass] Sem_B010501_set_expression_004 +732: [pass] Sem_B010501_set_expression_005 +733: [fail] Sem_B010502_reference_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_001 script... + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 47: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 51: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 61: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 63: Syntax error: unexpected alt + --->[SYS] Script "Sem_B010502_reference_expression_001" contained errors. 14 errors, 0 warnings. + --->[SYS] Compilation failed; 14 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +734: [fail] Sem_B010502_reference_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_002 script... + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +735: [fail] Sem_B010502_reference_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_003 script... + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +736: [fail] Sem_B010502_reference_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_004 script... + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +737: [fail] Sem_B010502_reference_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_005 script... + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +738: [fail] Sem_B010502_reference_expression_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_006 script... + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +739: [fail] Sem_B010502_reference_expression_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_007 script... + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_007" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +740: [fail] Sem_B010502_reference_expression_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_008 script... + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_008" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +741: [fail] Sem_B010502_reference_expression_009 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_009 script... + --->[SYS] Script "Sem_B010502_reference_expression_009" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has started. + --->[->M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[<-M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010502_reference_expression_009, Line: 42). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +742: [pass] Sem_B010503_match_n_times_001 +743: [pass] Sem_B010503_match_n_times_002 +744: [pass] Sem_B010503_match_n_times_003 +745: [pass] Sem_B010503_match_n_times_004 +746: [pass] Sem_B010503_match_n_times_005 +747: [pass] NegSem_B010504_match_referenced_characters_001 +748: [fail] Sem_B010504_match_referenced_characters_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_001 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +749: [fail] Sem_B010504_match_referenced_characters_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_002 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +750: [fail] Sem_B010504_match_referenced_characters_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_003 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +751: [fail] Sem_B010504_match_referenced_characters_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_004 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +752: [fail] Sem_B010504_match_referenced_characters_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_005 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +753: [fail] Sem_B010504_match_referenced_characters_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_006 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +754: [fail] Sem_B010505_pattern_compatibility_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_001 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +755: [fail] Sem_B010505_pattern_compatibility_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_002 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +756: [fail] Sem_B0105_toplevel_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0105_toplevel_001 script... + --->[SYS] Script "Sem_B0105_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has started. + --->[->M] Sem_B0105_toplevel_001.MessageType: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[<-M] ?: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B0105_toplevel_001, Line: 56). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK diff --git a/misc/reports/testcast-25112010/critical.log.txt b/misc/reports/testcast-25112010/critical.log.txt new file mode 100644 index 0000000000000000000000000000000000000000..6bb4bbe80bba41ab91446010ee0f1a041a80db3a --- /dev/null +++ b/misc/reports/testcast-25112010/critical.log.txt @@ -0,0 +1,2553 @@ +36: [fail] Sem_05040104_parameters_of_kind_port_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_05040104_parameters_of_kind_port_001 script... + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 41: The operator != cannot be applied to (Sem_05040104_parameters_of_kind_port_001.TestPort, Sem_05040104_parameters_of_kind_port_001.TestPort). + --->[ERR] Script "Sem_05040104_parameters_of_kind_port_001": Line 64: Cannot skip parameter #8 of the function "f_parametrizationCheck". No default value has been defined. + --->[SYS] Script "Sem_05040104_parameters_of_kind_port_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +37: [fail] Sem_050402_actual_parameters_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_050402_actual_parameters_001 script... + --->[SYS] Script "Sem_050402_actual_parameters_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 8, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 8) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 10, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 10) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 12, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 12) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 14, Script: Sem_050402_actual_parameters_001, Line: 40). + --->[SYS] The test component "MTC" (with id 14) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 16, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 16) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 18, Script: Sem_050402_actual_parameters_001, Line: 37). + --->[SYS] The test component "MTC" (with id 18) has ended with the result . + --->[SYS] The test case "Sem_050402_actual_parameters_001.TC_Sem_050402_actual_parameters_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +66: [fail] Sem_06010101_AccessStringElements_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_06010101_AccessStringElements_005 script... + --->[SYS] Script "Sem_06010101_AccessStringElements_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has started. + --->[ERR] Runtime exception IndexOutOfRangeException "Der Index war auáerhalb des Arraybereichs." + --->at: TC_Sem_06010101_AccessStringElements_005(), in script: Sem_06010101_AccessStringElements_005, line: 13 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_06010101_AccessStringElements_005.TC_Sem_06010101_AccessStringElements_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +150: [fail] Sem_060301_non_structured_types_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060301_non_structured_types_002 script... + --->[ERR] Script "Sem_060301_non_structured_types_002": Line 45: Index exceeds the allowed range. + --->[SYS] Script "Sem_060301_non_structured_types_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +164: [fail] Sem_060302_structured_types_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_060302_structured_types_003 script... + --->[SYS] Script "Sem_060302_structured_types_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_060302_structured_types_003, Line: 43). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_060302_structured_types_003.TC_Sem_060302_structured_types_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +209: [fail] Sem_070102_ListOperator_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_070102_ListOperator_005 script... + --->[SYS] Script "Sem_070102_ListOperator_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_070102_ListOperator_005, Line: 26). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_070102_ListOperator_005.TC_Sem_070102_ListOperator_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +247: [fail] Sem_0702_FieldReferencesAndListElements_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_0702_FieldReferencesAndListElements_002 script... + --->[SYS] Script "Sem_0702_FieldReferencesAndListElements_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has started. + --->[ERR] Runtime exception ArgumentOutOfRangeException "Der Index lag auáerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein. + --->Parametername: index" + --->at: TC_Sem_0702_FieldReferencesAndListElements_002(), in script: Sem_0702_FieldReferencesAndListElements_002, line: 18 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_0702_FieldReferencesAndListElements_002.TC_Sem_0702_FieldReferencesAndListElements_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +262: [fail] Syn_08020301_GeneralFormatOfImport_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_08020301_GeneralFormatOfImport_002 script... + --->[ERR] Script "Syn_08020301_GeneralFormatOfImport_002": Line 9: Unknown module "Syn_08020301_GeneralFormatOfImport_001_import". + --->[SYS] Script "Syn_08020301_GeneralFormatOfImport_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +270: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002 script... + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import script... + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import" compiled successfully. 0 errors, 0 warnings. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_002_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +271: [fail] Sem_08020304_ImportingDefinitionsOfTheSameKind_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003 script... + --->[SYS] Starting compilation of the Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import script... + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import" compiled successfully. 0 errors, 0 warnings. + --->[ERR] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003": Line 13: The type "c_myconst" does not exist in the module "Sem_08020304_ImportingDefinitionsOfTheSameKind_003_import". + --->[SYS] Script "Sem_08020304_ImportingDefinitionsOfTheSameKind_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +283: [fail] Sem_080204_DefinitionOfFriendModules_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080204_DefinitionOfFriendModules_001 script... + --->[SYS] Starting compilation of the Sem_080204_DefinitionOfFriendModules_001_import script... + --->[SYS] Script "Sem_080204_DefinitionOfFriendModules_001_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080204_DefinitionOfFriendModules_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080204_DefinitionOfFriendModules_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080204_DefinitionOfFriendModules_001.TC_Sem_080204_DefinitionOfFriendModules_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +289: [fail] Sem_080205_VisibilityOfDefinitions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_001 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_001_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_001_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_001, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_001.TC_Sem_080205_VisibilityOfDefinitions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +290: [fail] Sem_080205_VisibilityOfDefinitions_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_002 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_002_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_002_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_002, Line: 18). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_002.TC_Sem_080205_VisibilityOfDefinitions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +291: [fail] Sem_080205_VisibilityOfDefinitions_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_003 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_003_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_003_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_003, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_003.TC_Sem_080205_VisibilityOfDefinitions_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +292: [fail] Sem_080205_VisibilityOfDefinitions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_004 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_004_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_004_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_004, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_004.TC_Sem_080205_VisibilityOfDefinitions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +293: [fail] Sem_080205_VisibilityOfDefinitions_005 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_005 script... + --->[SYS] Starting compilation of the Sem_080205_VisibilityOfDefinitions_005_import script... + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_005_import" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Script "Sem_080205_VisibilityOfDefinitions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_080205_VisibilityOfDefinitions_005, Line: 20). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_080205_VisibilityOfDefinitions_005.TC_Sem_080205_VisibilityOfDefinitions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +299: [fail] Syn_0803_ModuleControlPart_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_0803_ModuleControlPart_002 script... + --->[SYS] Script "Syn_0803_ModuleControlPart_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception InvalidOperationException "Cannot start the timer; no default duration has been specified." + --->at: module control part, in script: Syn_0803_ModuleControlPart_002, line: 25 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +323: [fail] Syn_1501_DeclaringMessageTemplates_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1501_DeclaringMessageTemplates_006 script... + --->[SYS] Script "Syn_1501_DeclaringMessageTemplates_006" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has started. + --->[->M] Syn_1501_DeclaringMessageTemplates_006.MyMessageType: 4D 79 20 73 74 72 69 6E 67 00 FF FF FF FF + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Syn_1501_DeclaringMessageTemplates_006(), in script: Syn_1501_DeclaringMessageTemplates_006, line: 32 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1501_DeclaringMessageTemplates_006.TC_Syn_1501_DeclaringMessageTemplates_006" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +326: [fail] Syn_1502_DeclaringSignatureTemplates_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_003 script... + --->[ERR] Script "Syn_1502_DeclaringSignatureTemplates_003": Line 33: If the nowait clause is missing, the call operation for blocking procedures must contain a response and exception handling part. + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +327: [fail] Syn_1502_DeclaringSignatureTemplates_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1502_DeclaringSignatureTemplates_004 script... + --->[SYS] Script "Syn_1502_DeclaringSignatureTemplates_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has started. + --->[<-X] integer: 05 00 00 00 + --->[ERR] Runtime exception TriException "TRI failure: TriRaise operation returned TRI_Error" + --->at: TC_Syn_1502_DeclaringSignatureTemplates_004(), in script: Syn_1502_DeclaringSignatureTemplates_004, line: 33 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Syn_1502_DeclaringSignatureTemplates_004.TC_Syn_1502_DeclaringSignatureTemplates_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +349: [fail] Sem_1505_ModifiedTemplates_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1505_ModifiedTemplates_002 script... + --->[SYS] Script "Sem_1505_ModifiedTemplates_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1505_ModifiedTemplates_002, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1505_ModifiedTemplates_002.TC_Sem_1505_ModifiedTemplates_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +362: [fail] Sem_150602_ReferencingRecordAndSetFields_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_001 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected ? + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_001": Line 31: Syntax error: unexpected * + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_001" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +363: [fail] Sem_150602_ReferencingRecordAndSetFields_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_150602_ReferencingRecordAndSetFields_002 script... + --->[ERR] Script "Sem_150602_ReferencingRecordAndSetFields_002": Line 44: Syntax error: unexpected ? + --->[SYS] Script "Sem_150602_ReferencingRecordAndSetFields_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +407: [fail] NegSem_1508_TemplateRestrictions_030 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_030 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_030" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +412: [fail] NegSem_1508_TemplateRestrictions_035 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1508_TemplateRestrictions_035 script... + --->[SYS] Script "NegSem_1508_TemplateRestrictions_035" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +418: [fail] Sem_1508_TemplateRestrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_002 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_002": Line 24: Unexpected template. + --->[SYS] Script "Sem_1508_TemplateRestrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +419: [fail] Sem_1508_TemplateRestrictions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_003 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_003": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +423: [fail] Sem_1508_TemplateRestrictions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_007 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_007": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +427: [fail] Sem_1508_TemplateRestrictions_011 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1508_TemplateRestrictions_011 script... + --->[ERR] Script "Sem_1508_TemplateRestrictions_011": Line 25: The operator == cannot be applied to (boolean, omit). + --->[SYS] Script "Sem_1508_TemplateRestrictions_011" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +447: [fail] Sem_1509_MatchOperation_003 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1509_MatchOperation_003 script... + --->[SYS] Script "Sem_1509_MatchOperation_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1509_MatchOperation_003, Line: 31). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1509_MatchOperation_003.TC_Sem_1509_MatchOperation_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +458: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +459: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002, Line: 17). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +463: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected ? + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006": Line 13: Syntax error: unexpected & + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +464: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007 script... + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007, Line: 22). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.TC_Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +465: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008": Line 22: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +466: [fail] Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009 script... + --->[ERR] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009": Line 21: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +481: [fail] NegSem_160102_predefined_functions_012 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_012 script... + --->[SYS] Script "NegSem_160102_predefined_functions_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_012.TC_NegSem_160102_predefined_functions_012" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +482: [fail] NegSem_160102_predefined_functions_013 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_013 script... + --->[SYS] Script "NegSem_160102_predefined_functions_013" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_013.TC_NegSem_160102_predefined_functions_013" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +489: [fail] NegSem_160102_predefined_functions_020 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_160102_predefined_functions_020 script... + --->[SYS] Script "NegSem_160102_predefined_functions_020" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has started. + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_160102_predefined_functions_020.TC_NegSem_160102_predefined_functions_020" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +497: [fail] Sem_160102_predefined_functions_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_001 script... + --->[SYS] Script "Sem_160102_predefined_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_001, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_001.TC_Sem_160102_predefined_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +498: [fail] Sem_160102_predefined_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_002 script... + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_002": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_002" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +499: [fail] Sem_160102_predefined_functions_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_003 script... + --->[ERR] Script "Sem_160102_predefined_functions_003": Line 40: The active union value is "f2"; the "f1" member cannot be accessed. + --->[SYS] Script "Sem_160102_predefined_functions_003" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +500: [fail] Sem_160102_predefined_functions_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_004 script... + --->[SYS] Script "Sem_160102_predefined_functions_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has started. + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160102_predefined_functions_004, Line: 30). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_004.TC_Sem_160102_predefined_functions_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +501: [fail] Sem_160102_predefined_functions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_005 script... + --->[SYS] Script "Sem_160102_predefined_functions_005" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has started. + --->[ERR] Runtime exception NullReferenceException "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." + --->at: TC_Sem_160102_predefined_functions_005(), in script: Sem_160102_predefined_functions_005, line: 29 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160102_predefined_functions_005.TC_Sem_160102_predefined_functions_005" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +503: [fail] Sem_160102_predefined_functions_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160102_predefined_functions_007 script... + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 24: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 25: Permutations are allowed only in templates of a record of type. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 35: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[ERR] Script "Sem_160102_predefined_functions_007": Line 36: LengthOf cannot be calculated. The length restriction contradicts the number of elements in the template body. + --->[SYS] Script "Sem_160102_predefined_functions_007" contained errors. 4 errors, 0 warnings. + --->[SYS] Compilation failed; 4 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +506: [fail] Sem_160103_external_functions_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_001 script... + --->[SYS] Script "Sem_160103_external_functions_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has started. + --->[ERR] Runtime exception TriException "TRI failure: TriExternalFunction operation returned TRI_Error" + --->at: TC_Sem_160103_external_functions_001(), in script: Sem_160103_external_functions_001, line: 17 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_001.TC_Sem_160103_external_functions_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +507: [fail] Sem_160103_external_functions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160103_external_functions_002 script... + --->[SYS] Script "Sem_160103_external_functions_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has started. + --->[ERR] Runtime exception EncodingException "Cannot encode value. Some items might not be initialised or the encoding setting is faulty." + --->at: TC_Sem_160103_external_functions_002(), in script: Sem_160103_external_functions_002, line: 31 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160103_external_functions_002.TC_Sem_160103_external_functions_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +517: [fail] Sem_1601_toplevel_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1601_toplevel_002 script... + --->[ERR] Script "Sem_1601_toplevel_002": Line 15: Unexpected template. + --->[ERR] Script "Sem_1601_toplevel_002": Line 20: Unexpected template. + --->[SYS] Script "Sem_1601_toplevel_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +521: [fail] Sem_160201_invoking_altsteps_002 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: inconc + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_160201_invoking_altsteps_002 script... + --->[SYS] Script "Sem_160201_invoking_altsteps_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has started. + --->[->M] Sem_160201_invoking_altsteps_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[CHK] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_160201_invoking_altsteps_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_160201_invoking_altsteps_002.TC_Sem_160201_invoking_altsteps_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +523: [fail] NegSem_1602_toplevel_002 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_002 script... + --->[SYS] Script "NegSem_1602_toplevel_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_002.TC_NegSem_1602_toplevel_002" has started. + --->[->M] NegSem_1602_toplevel_002.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_002, Line: 27). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_002.TC_NegSem_1602_toplevel_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +524: [fail] NegSem_1602_toplevel_003 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_003 script... + --->[SYS] Script "NegSem_1602_toplevel_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_003.TC_NegSem_1602_toplevel_003" has started. + --->[->M] NegSem_1602_toplevel_003.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_003, Line: 23). + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_003.TC_NegSem_1602_toplevel_003" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +525: [fail] NegSem_1602_toplevel_004 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_1602_toplevel_004 script... + --->[SYS] Script "NegSem_1602_toplevel_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_1602_toplevel_004.TC_NegSem_1602_toplevel_004" has started. + --->[->M] NegSem_1602_toplevel_004.MessageType: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[<-M] ?: 01 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: NegSem_1602_toplevel_004, Line: 32). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_1602_toplevel_004.TC_NegSem_1602_toplevel_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +560: [fail] Syn_1907_label_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_1907_label_statement_001 script... + --->[ERR] Script "Syn_1907_label_statement_001": Line 61: The "L2" label is already defined. + --->[SYS] Script "Syn_1907_label_statement_001" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +567: [fail] Sem_1909_stop_statement_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_001 script... + --->[ERR] Script "Sem_1909_stop_statement_001": Line 14: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_001": Line 15: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_001" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +568: [fail] Sem_1909_stop_statement_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_1909_stop_statement_002 script... + --->[ERR] Script "Sem_1909_stop_statement_002": Line 23: ";" expected + --->[WRN] Script "Sem_1909_stop_statement_002": Line 24: Unreachable statement detected. + --->[SYS] Script "Sem_1909_stop_statement_002" contained errors. 1 errors, 1 warnings. + --->[SYS] Compilation failed; 1 errors, 1 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +581: [fail] Sem_2002_TheAltStatement_004 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: error + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_004 script... + --->[SYS] Script "Sem_2002_TheAltStatement_004" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has started. + --->[->M] charstring: 70 69 6E 67 31 00 + --->[->M] charstring: 70 69 6E 67 32 00 + --->[<-M] charstring: 70 69 6E 67 31 00 + --->[<-M] charstring: 70 69 6E 67 32 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 46). + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2002_TheAltStatement_004, Line: 50). + --->[SYS] The test component "MTC" (with id 6) has ended with the result : "Test case timeout" + --->[SYS] The test case "Sem_2002_TheAltStatement_004.TC_Sem_2002_TheAltStatement_004" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +583: [fail] Sem_2002_TheAltStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_006 script... + --->[ERR] Script "Sem_2002_TheAltStatement_006": Line 33: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +584: [fail] Sem_2002_TheAltStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_007 script... + --->[ERR] Script "Sem_2002_TheAltStatement_007": Line 38: Operator setverdict cannot be applied to boolean. + --->[SYS] Script "Sem_2002_TheAltStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +585: [fail] Sem_2002_TheAltStatement_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2002_TheAltStatement_008 script... + --->[ERR] Script "Sem_2002_TheAltStatement_008": Line 26: Parallel test components cannot be created if the system adapter is not explicitly declared. + --->[SYS] Script "Sem_2002_TheAltStatement_008" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +600: [fail] Sem_2601_ExecuteStatement_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_003 script... + --->[SYS] Script "Sem_2601_ExecuteStatement_003" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has started. + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: TC_Sem_2601_ExecuteStatement_003(), in script: Sem_2601_ExecuteStatement_003, line: 13 + --->[SYS] Verdict update: , "Test case timeout" (TC: "MTC", ID: 6, Script: Sem_2601_ExecuteStatement_003, Line: 22). + --->[SYS] The test case "Sem_2601_ExecuteStatement_003.TC_Sem_2601_ExecuteStatement_003" has ended with the result . + --->[SYS] An unnamed test component (with id 6) has ended with the result : "Test case timeout" + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +603: [fail] Sem_2601_ExecuteStatement_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_006 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_006": Line 27: The identifier "Sem_2601_ExecuteStatement_006" doesn't represent a function. + --->[SYS] Script "Sem_2601_ExecuteStatement_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +604: [fail] Sem_2601_ExecuteStatement_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_2601_ExecuteStatement_007 script... + --->[ERR] Script "Sem_2601_ExecuteStatement_007": Line 13: Syntax error: the statement must contain at least one alternative. + --->[SYS] Script "Sem_2601_ExecuteStatement_007" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +650: [fail] Syn_26_ModuleControl_012 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_012 script... + --->[SYS] Script "Syn_26_ModuleControl_012" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[TMT] Timer id: 1, elapsed: 2.0E-2, script: Syn_26_ModuleControl_012, line: 14 + --->[ERR] Runtime exception AltException "The call caused infinite blocking." + --->at: module control part, in script: Syn_26_ModuleControl_012, line: 13 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +652: [fail] Syn_26_ModuleControl_014 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_014 script... + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The statement is allowed only inside functions, altsteps and test cases. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 22: The parameter "p_timer" is passed by reference. In an activation call, only timers defined in a test component and ports can be passed by reference. + --->[ERR] Script "Syn_26_ModuleControl_014": Line 28: The statement is allowed only inside functions, altsteps and test cases. + --->[SYS] Script "Syn_26_ModuleControl_014" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +654: [fail] Syn_26_ModuleControl_016 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Syn_26_ModuleControl_016 script... + --->[SYS] Script "Syn_26_ModuleControl_016" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[ERR] Runtime exception TriException "TRI failure: TriSutAction operation returned TRI_Error" + --->at: module control part, in script: Syn_26_ModuleControl_016, line: 11 + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +657: [oncinc] Sem_B010101_omitting_values_001 - cannot interprete expected output! +658: [oncinc] Sem_B010101_omitting_values_002 - cannot interprete expected output! +660: [oncinc] Sem_B0101_matching_specific_value_002 - cannot interprete expected output! +661: [oncinc] Sem_B0101_matching_specific_value_003 - cannot interprete expected output! +662: [oncinc] Sem_B0101_matching_specific_value_004 - cannot interprete expected output! +663: [oncinc] Sem_B0101_matching_specific_value_005 - cannot interprete expected output! +664: [oncinc] Sem_B0101_matching_specific_value_006 - cannot interprete expected output! +665: [oncinc] Sem_B0101_matching_specific_value_007 - cannot interprete expected output! +666: [oncinc] Sem_B0101_matching_specific_value_008 - cannot interprete expected output! +667: [oncinc] Sem_B0101_matching_specific_value_009 - cannot interprete expected output! +668: [oncinc] Sem_B0101_matching_specific_value_010 - cannot interprete expected output! +669: [oncinc] Sem_B0101_matching_specific_value_011 - cannot interprete expected output! +677: [fail] Sem_B010203_any_value_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010203_any_value_001 script... + --->[SYS] Script "Sem_B010203_any_value_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has started. + --->[->M] Sem_B010203_any_value_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[<-M] ?: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 02 00 00 00 FF FF FF FF 01 00 00 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010203_any_value_001, Line: 75). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010203_any_value_001.TC_Sem_B010203_any_value_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +679: [fail] NegSem_B010204_any_value_or_none_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010204_any_value_or_none_001 script... + --->[SYS] Script "NegSem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010204_any_value_or_none_001.TC_NegSem_B010204_any_value_or_none_001" has started. + --->[->M] NegSem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010204_any_value_or_none_001.TC_NegSem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +680: [fail] NegSem_B010204_any_value_or_none_002 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010204_any_value_or_none_002 script... + --->[SYS] Script "NegSem_B010204_any_value_or_none_002" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010204_any_value_or_none_002.TC_NegSem_B010204_any_value_or_none_002" has started. + --->[->M] NegSem_B010204_any_value_or_none_002.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010204_any_value_or_none_002.TC_NegSem_B010204_any_value_or_none_002" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +681: [fail] Sem_B010204_any_value_or_none_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010204_any_value_or_none_001 script... + --->[SYS] Script "Sem_B010204_any_value_or_none_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has started. + --->[->M] Sem_B010204_any_value_or_none_001.MessageType: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[<-M] ?: 02 00 00 00 74 65 73 74 20 73 74 72 69 6E 67 00 00 00 00 00 01 00 00 00 FF FF FF FF 01 00 00 00 01 00 00 00 FF FF FF FF + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010204_any_value_or_none_001, Line: 72). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010204_any_value_or_none_001.TC_Sem_B010204_any_value_or_none_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +685: [fail] Sem_B010205_value_range_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_001 script... + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_001": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +686: [fail] Sem_B010205_value_range_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_002 script... + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_002": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +687: [fail] Sem_B010205_value_range_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_003 script... + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_003": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +688: [fail] Sem_B010205_value_range_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_004 script... + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_004": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +689: [fail] Sem_B010205_value_range_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_005 script... + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_005": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +690: [fail] Sem_B010205_value_range_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010205_value_range_006 script... + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 47: The symbol "fff" is not defined. + --->[ERR] Script "Sem_B010205_value_range_006": Line 62: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010205_value_range_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +719: [fail] Sem_B010401_length_restrictions_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_002 script... + --->[ERR] Script "Sem_B010401_length_restrictions_002": Line 16: Syntax error: unexpected } + --->[SYS] Script "Sem_B010401_length_restrictions_002" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +722: [fail] Sem_B010401_length_restrictions_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_005 script... + --->[ERR] Script "Sem_B010401_length_restrictions_005": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_005" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +723: [fail] Sem_B010401_length_restrictions_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010401_length_restrictions_006 script... + --->[ERR] Script "Sem_B010401_length_restrictions_006": Line 51: Uninitialised or only partially initialised value detected. + --->[SYS] Script "Sem_B010401_length_restrictions_006" contained errors. 1 errors, 0 warnings. + --->[SYS] Compilation failed; 1 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +725: [fail] Sem_B010402_ifPresent_indicator_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_001 script... + --->[SYS] Script "Sem_B010402_ifPresent_indicator_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has started. + --->[->M] Sem_B010402_ifPresent_indicator_001.MessageType: 01 00 00 00 FF FF FF FF + --->[<-M] ?: 01 00 00 00 FF FF FF FF + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010402_ifPresent_indicator_001, Line: 66). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010402_ifPresent_indicator_001.TC_Sem_B010402_ifPresent_indicator_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +726: [fail] Sem_B010402_ifPresent_indicator_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010402_ifPresent_indicator_002 script... + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "aaa" is not defined. + --->[ERR] Script "Sem_B010402_ifPresent_indicator_002": Line 47: The symbol "fff" is not defined. + --->[SYS] Script "Sem_B010402_ifPresent_indicator_002" contained errors. 2 errors, 0 warnings. + --->[SYS] Compilation failed; 2 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +727: [fail] NegSem_B010501_set_expression_001 - tool accepts the input, but rejection is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the NegSem_B010501_set_expression_001 script... + --->[SYS] Script "NegSem_B010501_set_expression_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "NegSem_B010501_set_expression_001.TC_NegSem_B010501_set_expression_001" has started. + --->[->M] NegSem_B010501_set_expression_001.MessageType: 74 65 73 74 00 + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "NegSem_B010501_set_expression_001.TC_NegSem_B010501_set_expression_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +733: [fail] Sem_B010502_reference_expression_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_001 script... + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 42: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 43: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 44: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 45: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 46: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 47: Syntax error: unexpected , + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 51: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 61: Syntax error: unexpected identifier + --->[ERR] Script "Sem_B010502_reference_expression_001": Line 63: Syntax error: unexpected alt + --->[SYS] Script "Sem_B010502_reference_expression_001" contained errors. 14 errors, 0 warnings. + --->[SYS] Compilation failed; 14 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +734: [fail] Sem_B010502_reference_expression_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_002 script... + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +735: [fail] Sem_B010502_reference_expression_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_003 script... + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_003": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +736: [fail] Sem_B010502_reference_expression_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_004 script... + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_004": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +737: [fail] Sem_B010502_reference_expression_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_005 script... + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_005": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +738: [fail] Sem_B010502_reference_expression_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_006 script... + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_006": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +739: [fail] Sem_B010502_reference_expression_007 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_007 script... + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_007": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_007" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +740: [fail] Sem_B010502_reference_expression_008 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_008 script... + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010502_reference_expression_008": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010502_reference_expression_008" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +741: [fail] Sem_B010502_reference_expression_009 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010502_reference_expression_009 script... + --->[SYS] Script "Sem_B010502_reference_expression_009" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has started. + --->[->M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[<-M] Sem_B010502_reference_expression_009.MessageType: 78 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B010502_reference_expression_009, Line: 42). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B010502_reference_expression_009.TC_Sem_B010502_reference_expression_009" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +748: [fail] Sem_B010504_match_referenced_characters_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_001 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_001": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +749: [fail] Sem_B010504_match_referenced_characters_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_002 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_002": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +750: [fail] Sem_B010504_match_referenced_characters_003 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_003 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_003": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_003" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +751: [fail] Sem_B010504_match_referenced_characters_004 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_004 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_004": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_004" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +752: [fail] Sem_B010504_match_referenced_characters_005 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_005 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_005": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_005" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +753: [fail] Sem_B010504_match_referenced_characters_006 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010504_match_referenced_characters_006 script... + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 32: Syntax error: unexpected const + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 35: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010504_match_referenced_characters_006": Line 38: Syntax error: unexpected var + --->[SYS] Script "Sem_B010504_match_referenced_characters_006" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +754: [fail] Sem_B010505_pattern_compatibility_001 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_001 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_001": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_001" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +755: [fail] Sem_B010505_pattern_compatibility_002 - tool does not accept input, but acceptance is expected! + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B010505_pattern_compatibility_002 script... + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 31: Syntax error: unexpected const + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 34: Syntax error: unexpected testcase + --->[ERR] Script "Sem_B010505_pattern_compatibility_002": Line 37: Syntax error: unexpected var + --->[SYS] Script "Sem_B010505_pattern_compatibility_002" contained errors. 3 errors, 0 warnings. + --->[SYS] Compilation failed; 3 errors, 0 warnings. + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK +756: [fail] Sem_B0105_toplevel_001 - tool accepts the input, but expected execution results mismatch! Expected: pass, Actual: fail + --->=========================================================================== + --->TestCast TTCN-3 and ASN.1 compiler + --->Copyright ¸ 1995-2010 Elvior private limited company + --->=========================================================================== + --->Verifying license... OK + --->Loading project... OK + ---> + --->[SYS] Default codec rules activated for this session + --->[SYS] TRI/TCI module: waiting for TCP/IP connection requests on port 7777 + --->[SYS] TRI/TCI module: TCP/IP connection request accepted, waiting for handshake + --->[SYS] Handshake message received, protocol version 3 + --->[SYS] SA successfully activated (external module name: LoopbackAdapter) + --->[SYS] PA successfully activated (external module name: LoopbackAdapter) + --->[SYS] All TCP/IP-based interfaces have been successfully activated + --->[SYS] Compiler version: 6.2.0, default TTCN-3 version: TTCN-3:2010 + --->[SYS] Starting compilation of the Sem_B0105_toplevel_001 script... + --->[SYS] Script "Sem_B0105_toplevel_001" compiled successfully. 0 errors, 0 warnings. + --->[SYS] Compilation succeeded; 0 errors, 0 warnings. + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has started. + --->[->M] Sem_B0105_toplevel_001.MessageType: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[<-M] ?: 74 65 73 74 3F 00 73 74 72 69 6E 67 00 74 65 73 74 20 73 74 72 69 6E 67 00 74 65 73 74 20 31 00 5B 5C 5D 00 + --->[SYS] Verdict update: (TC: "MTC", ID: 6, Script: Sem_B0105_toplevel_001, Line: 56). + --->[SYS] The test component "MTC" (with id 6) has ended with the result . + --->[SYS] The test case "Sem_B0105_toplevel_001.TC_Sem_B0105_toplevel_001" has ended with the result . + --->[SYS] TRI/TCI module: TCP/IP connection terminated by the TE + ---> + --->Releasing license... OK diff --git a/misc/scripts/check_module_names b/misc/scripts/check_module_names new file mode 100755 index 0000000000000000000000000000000000000000..c9e871ae675cd0e3caaad8d4f5699f628f6881bd --- /dev/null +++ b/misc/scripts/check_module_names @@ -0,0 +1,21 @@ +#!/bin/bash + +ATS=../../ATS + +svn up $ATS + +echo "doing the magic..." +for i in `find $ATS -name "*.ttcn"`; do + FILE=$i; + FILENAME=$(basename $i); + MODULENAME=${FILENAME%%.ttcn}; + + MODULELINE=`cat $FILE | grep '^[ \t]*module[ \t]' | head -n 1`; + TTCN3MODULENAME=`gexpr match "$MODULELINE" '.*module[ \t]*\([a-zA-Z0-9_]*\)[ \t]*.*'`; + + if [ "$TTCN3MODULENAME" != "$MODULENAME" ]; then + echo "module/filename mismatch! [$MODULENAME <> $TTCN3MODULENAME]" + echo " full path: " $FILE + echo; + fi; +done; diff --git a/misc/scripts/correct_sections b/misc/scripts/correct_sections new file mode 100755 index 0000000000000000000000000000000000000000..a4d72ca381a254d251f43c6b2b8bb67338418e05 --- /dev/null +++ b/misc/scripts/correct_sections @@ -0,0 +1,41 @@ +#!/bin/bash +### +### DO NOT EXECUTE THIS IF YOU DON'T KNOW WHAT YOU'RE DOING!! +### + +ATS=../../ATS + +svn up $ATS + +for i in `find $ATS -name "*.ttcn"`; do + FILEPATH=$i; + FILE=$(basename $i) + SECTION=`echo $FILE | awk -F '_' '{ print $2}'` + FIRST=${SECTION:0:1} + + START=0; + if [[ "$FIRST" =~ [a-zA-z]+ ]]; then ## first char is a letter, hence an annex section + START=1; + else + START=0; + fi; + SUBSTR=${SECTION:$START} + + NEWSECTION="1:" + + if [ $START -gt 0 ]; then + NEWSECTION=$NEWSECTION$FIRST"." + fi; + + for ((i=$START; i < ${#SUBSTR}; i+=2)); do + SEC=${SECTION:$i:2} + + if [ $i == $START ]; then + NEWSECTION=$NEWSECTION`expr $SEC` + else + NEWSECTION=$NEWSECTION"."`expr $SEC` + fi; + done; + cat $FILEPATH | gsed -e "s/\(@purpose.*\)\(1:.*\)\(,.*\)/\1$NEWSECTION\3/g" >temp + mv temp $FILEPATH +done; diff --git a/misc/scripts/dumps/verdict_checker.txt b/misc/scripts/dumps/verdict_checker.txt new file mode 100644 index 0000000000000000000000000000000000000000..66179203e9bd7e9352cd92e3b89fba2d6c208e6d --- /dev/null +++ b/misc/scripts/dumps/verdict_checker.txt @@ -0,0 +1,15 @@ +At revision 305. +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_005.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_006.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_007.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_002.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_003.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_004.ttcn +File with possibly inconsistent verdict description (positive, but reject)! + ../../ATS/05_basic_language_elements/0504_parametrization/0504_toplevel/Sem_0504_parametrization_incompatibility_001.ttcn diff --git a/misc/scripts/files.txt b/misc/scripts/files.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf42568ebf0c6b155160811ef3785d24b909fde1 --- /dev/null +++ b/misc/scripts/files.txt @@ -0,0 +1,723 @@ +./05_basic_language_elements/0501_identifiers_and_keywords/NegSem_0501_Identifier_001.ttcn +./05_basic_language_elements/0501_identifiers_and_keywords/NegSyn_0501_Identifier_001.ttcn +./05_basic_language_elements/0501_identifiers_and_keywords/Syn_0501_Identifier_001.ttcn +./05_basic_language_elements/0502_scope_rules/050201_Scope_of_parameters/Sem_050201_Scope_of_parameters_001.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_001.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_004.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_005.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_006.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_007.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_008.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_009.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_010.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_011.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_012.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/NegSem_050202_Uniqueness_013.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_002.ttcn +./05_basic_language_elements/0502_scope_rules/050202_Uniqueness_of_identifiers/Sem_050202_Uniqueness_003.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_001.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_002.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/NegSem_0502_Scope_003.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_001.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_002.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_003.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_004.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Sem_0502_Scope_008.ttcn +./05_basic_language_elements/0502_scope_rules/0502_toplevel/Syn_0502_Scope_001.ttcn +./05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_001.ttcn +./05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_002.ttcn +./05_basic_language_elements/0503_ordering_of_declarations/NegSem_0503_Ordering_003.ttcn +./05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_001.ttcn +./05_basic_language_elements/0503_ordering_of_declarations/Sem_0503_Ordering_005.ttcn +./05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040101_parameters_of_kind_value/Sem_05040101_parameters_of_kind_value_001.ttcn +./05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_001.ttcn +./05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040102_parameters_of_kind_template/Sem_05040102_parameters_of_kind_template_002.ttcn +./05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040103_parameters_of_kind_timer/Sem_05040103_parameters_of_kind_timer_001.ttcn +./05_basic_language_elements/0504_parametrization/050401_formal_parameters/05040104_parameters_of_kind_port/Sem_05040104_parameters_of_kind_port_001.ttcn +./05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_001.ttcn +./05_basic_language_elements/0504_parametrization/050402_actual_parameters/Sem_050402_actual_parameters_002.ttcn +./05_basic_language_elements/0504_parametrization/0504_toplevel/NegSem_0504_parametrization_incompatibility_001.ttcn +./05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_001.ttcn +./05_basic_language_elements/0504_parametrization/0504_toplevel/NegSyn_0504_forbidden_parametrization_002.ttcn +./05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_001.ttcn +./05_basic_language_elements/0505_cyclic_definitions/Sem_0505_cyclic_definitions_002.ttcn +./05_basic_language_elements/05_toplevel/NegSyn_05_TopLevel_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/NegSyn_060100_SimpleBasicTypes_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Sem_060100_SimpleBasicTypes_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060100_simple_basic_types_and_values/Syn_060100_SimpleBasicTypes_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_007.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/06010101_accessing_individual_string_elements/Sem_06010101_AccessStringElements_008.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_007.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_008.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_009.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/NegSyn_060101_TopLevel_010.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Sem_060101_TopLevel_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060101_basic_string_types_and_values/060101_toplevel/Syn_060101_TopLevel_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/NegSem_06010201_ListOfValues_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010201_lists_of_values/Sem_06010201_ListOfValues_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/NegSem_06010202_ListOfTypes_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010202_lists_of_types/Sem_06010202_ListOfTypes_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/NegSem_06010203_Ranges_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010203_ranges/Sem_06010203_Ranges_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/NegSem_06010204_StringLenghtRestrict_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010204_string_length_restrictions/Sem_06010204_StringLenghtRestrict_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/NegSem_06010205_StringPattern_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010205_pattern_subtyping_of_character_string_types/Sem_06010205_StringPattern_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/NegSem_0601020601_MixingSubtype_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020601_mixing_patterns_lists_and_ranges/Sem_0601020601_MixingSubtype_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/NegSem_0601020602_StringMixing_006.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_001.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_002.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_003.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_004.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_005.ttcn +./06_types_and_values/0601_basic_types_and_values/060102_subtyping_of_basic_types/06010206_mixing_subtyping_mechanisms/0601020602_using_length_restriction_with_other_constraints/Sem_0601020602_StringMixing_006.ttcn +./06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_001.ttcn +./06_types_and_values/0602_structured_types_and_values/060201_record_and_type_values/Syn_060201_RecordTypeValues_002.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_001.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_002.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_003.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_004.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/NegSyn_0602_TopLevel_005.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_001.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_002.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_003.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_004.ttcn +./06_types_and_values/0602_structured_types_and_values/0602_toplevel/Syn_0602_TopLevel_005.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_001.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_002.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_003.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_004.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_005.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_006.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_007.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_008.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_009.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_010.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_011.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/NegSem_060301_non_structured_types_012.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_001.ttcn +./06_types_and_values/0603_type_compatibility/060301_non-structured_types/Sem_060301_non_structured_types_002.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_001.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_002.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_003.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_004.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_005.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_006.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_007.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_008.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_009.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_010.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/NegSem_060302_structured_types_011.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_001.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_002.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_003.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_004.ttcn +./06_types_and_values/0603_type_compatibility/060302_structured_types/Sem_060302_structured_types_005.ttcn +./06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_001.ttcn +./06_types_and_values/0603_type_compatibility/060303_component_types/NegSem_060303_component_types_002.ttcn +./06_types_and_values/0603_type_compatibility/060303_component_types/Sem_060303_component_types_001.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_001.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_002.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_003.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_004.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_005.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_006.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_007.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_008.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_009.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_010.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_011.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_012.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_013.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_014.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_015.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_016.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_017.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_018.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_019.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_020.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_021.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_022.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Sem_070101_ArithmeticOperators_023.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_001.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_002.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_003.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_004.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_005.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_006.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_007.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_008.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_009.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_010.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_011.ttcn +./07_expressions/0701_operators/070101_arithmetic_operators/Syn_070101_ArithmeticOperators_012.ttcn +./07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_001.ttcn +./07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_002.ttcn +./07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_003.ttcn +./07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_004.ttcn +./07_expressions/0701_operators/070102_list_operator/Sem_070102_ListOperator_005.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_001.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_002.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_003.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_004.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_005.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_006.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_007.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_008.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_009.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_010.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_011.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_012.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_013.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_014.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_015.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_016.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_017.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_018.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_019.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_020.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_021.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_022.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_023.ttcn +./07_expressions/0701_operators/070103_relational_operators/Sem_070103_RelationalOperators_024.ttcn +./07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_001.ttcn +./07_expressions/0701_operators/070104_logical_operators/Sem_070104_LogicalOperators_002.ttcn +./07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_001.ttcn +./07_expressions/0701_operators/070105_bitwise_operators/Sem_070105_BitwiseOperators_002.ttcn +./07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_001.ttcn +./07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_002.ttcn +./07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_003.ttcn +./07_expressions/0701_operators/070106_shift_operators/Sem_070106_ShiftOperators_004.ttcn +./07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_001.ttcn +./07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_002.ttcn +./07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_003.ttcn +./07_expressions/0701_operators/070107_rotate_operators/Sem_070107_RotateOperators_004.ttcn +./07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_001.ttcn +./07_expressions/0702_field_references_and_list_elements/Sem_0702_FieldReferencesAndListElements_002.ttcn +./08_modules/0801_definition_of_a_module/NegSyn_0801_DefinitionOfAModule_001.ttcn +./08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_001.ttcn +./08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_002.ttcn +./08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_003.ttcn +./08_modules/0801_definition_of_a_module/Syn_0801_DefinitionOfAModule_004.ttcn +./08_modules/0802_module_definitions_part/080201_module_parameters/Sem_080201_ModuleParameters_001.ttcn +./08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_001.ttcn +./08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_002.ttcn +./08_modules/0802_module_definitions_part/080201_module_parameters/Syn_080201_ModuleParameters_003.ttcn +./08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_001.ttcn +./08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_002.ttcn +./08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_003.ttcn +./08_modules/0802_module_definitions_part/080202_groups_of_definitions/Syn_080202_GroupOfDefinitions_004.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020301_general_format_of_import/Syn_08020301_GeneralFormatOfImport_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020302_importing_single_definitions/Sem_08020302_ImportingSingleDefinitions_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/NegSem_08020303_ImportingGroups_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020303_importing_groups/Sem_08020303_ImportingGroups_003.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020304_importing_definitions_of_the_same_kind/Sem_08020304_ImportingDefinitionsOfTheSameKind_003.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/NegSem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020305_importing_all_definitions_of_a_module/Sem_08020305_ImportingAllDefinitionsOfAModule_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020306_importing_definitions_from_other_t3_editions_and_non_t3_modules/Syn_08020306_ImportingDefinitionsFromOtherT3EditionsAndFromNonT3Modules_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/NegSem_08020307_ImportingOfImportStatementsFromT3Modules_002.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020307_importing_of_import_statements_from_t3_modules/Sem_08020307_ImportingOfImportStatementsFromT3Modules_001.ttcn +./08_modules/0802_module_definitions_part/080203_importing_from_modules/08020308_compatibility_of_language_specifications_in_imports/NegSem_08020308_ImportingOfImportStatementsFromT3Modules_001.ttcn +./08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_001.ttcn +./08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/NegSem_080204_DefinitionOfFriendModules_002.ttcn +./08_modules/0802_module_definitions_part/080204_definition_of_friend_modules/Sem_080204_DefinitionOfFriendModules_001.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_001.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_002.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_003.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_004.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/NegSem_080205_VisibilityOfDefinitions_005.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_001.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_002.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_003.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_004.ttcn +./08_modules/0802_module_definitions_part/080205_visibility_of_definitions/Sem_080205_VisibilityOfDefinitions_005.ttcn +./08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_001.ttcn +./08_modules/0802_module_definitions_part/0802_toplevel/Syn_0802_ModuleDefinitionsPart_002.ttcn +./08_modules/0803_module_control_part/NegSyn_0803_ModuleControlPart_001.ttcn +./08_modules/0803_module_control_part/Sem_0803_ModuleControlPart_001.ttcn +./08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_001.ttcn +./08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_002.ttcn +./08_modules/0803_module_control_part/Syn_0803_ModuleControlPart_003.ttcn +./10_constants/NegSem_10_Constants_001.ttcn +./10_constants/Sem_10_Constants_001.ttcn +./10_constants/Sem_10_Constants_002.ttcn +./10_constants/Syn_10_Constants_001.ttcn +./10_constants/Syn_10_Constants_002.ttcn +./10_constants/Syn_10_Constants_003.ttcn +./10_constants/Syn_10_Constants_004.ttcn +./11_variables/1101_value_variables/NegSem_1101_ValueVars_001.ttcn +./11_variables/1101_value_variables/NegSyn_1101_ValueVars_001.ttcn +./11_variables/1101_value_variables/Sem_1101_ValueVars_001.ttcn +./11_variables/1101_value_variables/Sem_1101_ValueVars_002.ttcn +./11_variables/1101_value_variables/Sem_1101_ValueVars_003.ttcn +./11_variables/1101_value_variables/Syn_1101_ValueVars_001.ttcn +./11_variables/1102_template_variables/NegSem_1102_TemplateVars_001.ttcn +./11_variables/1102_template_variables/NegSyn_1102_TemplateVars_001.ttcn +./11_variables/1102_template_variables/Sem_1102_TemplateVars_001.ttcn +./11_variables/1102_template_variables/Syn_1102_TemplateVars_001.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_001.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_002.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_003.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_004.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_005.ttcn +./15_templates/1501_declaring_message_templates/Syn_1501_DeclaringMessageTemplates_006.ttcn +./15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_001.ttcn +./15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_002.ttcn +./15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_003.ttcn +./15_templates/1502_declaring_signature_templates/Syn_1502_DeclaringSignatureTemplates_004.ttcn +./15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_001.ttcn +./15_templates/1503_global_and_local_templates/Sem_1503_GlobalAndLocalTemplates_002.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_001.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_002.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_003.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_004.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_005.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_006.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_007.ttcn +./15_templates/1503_global_and_local_templates/Syn_1503_GlobalAndLocalTemplates_008.ttcn +./15_templates/1504_inline_templates/Sem_1504_InlineTemplates_001.ttcn +./15_templates/1504_inline_templates/Syn_1504_InlineTemplates_001.ttcn +./15_templates/1504_inline_templates/Syn_1504_InlineTemplates_002.ttcn +./15_templates/1504_inline_templates/Syn_1504_InlineTemplates_003.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_001.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_002.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_003.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_004.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_005.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_006.ttcn +./15_templates/1505_modified_templates/NegSem_1505_ModifiedTemplates_007.ttcn +./15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_001.ttcn +./15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_002.ttcn +./15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_003.ttcn +./15_templates/1505_modified_templates/Sem_1505_ModifiedTemplates_004.ttcn +./15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_001.ttcn +./15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_002.ttcn +./15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_003.ttcn +./15_templates/1505_modified_templates/Syn_1505_ModifiedTemplates_004.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150601_referencing_individual_string_elements/NegSem_150601_ReferencingIndividualStringElements_001.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_001.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_002.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_003.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_004.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/NegSem_150602_ReferencingRecordAndSetFields_005.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_001.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150602_referencing_record_and_set_fields/Sem_150602_ReferencingRecordAndSetFields_002.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_001.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_002.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_003.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_004.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_005.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_006.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_007.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_008.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/NegSem_150603_ReferencingRecordOfAndSetElements_009.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_001.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_002.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_003.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_004.ttcn +./15_templates/1506_referencing_elements_of_templates_or_template_fields/150603_referencing_record_of_and_set_elements/Sem_150603_ReferencingRecordOfAndSetElements_005.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_001.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_002.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_003.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_004.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_005.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_006.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_007.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_008.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_009.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_010.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_011.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_012.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_013.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_014.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_015.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_016.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_017.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_018.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_019.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_020.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_021.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_022.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_023.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_024.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_025.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_026.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_027.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_028.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_029.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_030.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_031.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_032.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_033.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_034.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_035.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_036.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_037.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_038.ttcn +./15_templates/1508_template_restrictions/NegSem_1508_TemplateRestrictions_039.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_001.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_002.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_003.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_004.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_005.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_006.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_007.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_008.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_009.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_010.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_011.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_012.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_013.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_014.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_015.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_016.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_017.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_018.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_019.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_020.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_021.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_022.ttcn +./15_templates/1508_template_restrictions/Sem_1508_TemplateRestrictions_023.ttcn +./15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_001.ttcn +./15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_002.ttcn +./15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_003.ttcn +./15_templates/1508_template_restrictions/Syn_1508_TemplateRestrictions_004.ttcn +./15_templates/1509_match_operation/NegSem_1509_MatchOperation_001.ttcn +./15_templates/1509_match_operation/Sem_1509_MatchOperation_001.ttcn +./15_templates/1509_match_operation/Sem_1509_MatchOperation_002.ttcn +./15_templates/1509_match_operation/Sem_1509_MatchOperation_003.ttcn +./15_templates/1509_match_operation/Sem_1509_MatchOperation_004.ttcn +./15_templates/1509_match_operation/Sem_1509_MatchOperation_005.ttcn +./15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_001.ttcn +./15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_002.ttcn +./15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_003.ttcn +./15_templates/1510_valueof_operation/NegSem_1510_ValueOfOperation_004.ttcn +./15_templates/1510_valueof_operation/Sem_1510_ValueOfOperation_001.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/NegSem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_001.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_002.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_003.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_004.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_005.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_006.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_007.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_008.ttcn +./15_templates/1511_concatenating_templates_of_string_and_list_types/Sem_1511_ConcatenatingTemplatesOfStringAndListTypes_009.ttcn +./15_templates/15_toplevel/Syn_15_TopLevel_001.ttcn +./15_templates/15_toplevel/Syn_15_TopLevel_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160101_invoking_functions/Sem_160101_invoking_functions_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_003.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_004.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_005.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_006.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_007.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_008.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_009.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_010.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_011.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_012.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_013.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_014.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_015.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_016.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_017.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_018.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_019.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_020.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_021.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_022.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_023.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_024.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_025.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_026.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/NegSem_160102_predefined_functions_027.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_003.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_004.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_005.ttcn +./16_functions_altsteps_testcases/1601_functions/160102_predefined_functions/Sem_160102_predefined_functions_006.ttcn +./16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160103_external_functions/NegSem_160103_external_functions_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160103_external_functions/Sem_160103_external_functions_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_001.ttcn +./16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_002.ttcn +./16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_003.ttcn +./16_functions_altsteps_testcases/1601_functions/160104_invoking_functions_from_specific_places/NegSem_160104_invoking_functions_from_specific_places_004.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_001.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_002.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_003.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/NegSem_1601_toplevel_004.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_001.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_002.ttcn +./16_functions_altsteps_testcases/1601_functions/1601_toplevel/Sem_1601_toplevel_003.ttcn +./16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/NegSem_160201_invoking_altsteps_001.ttcn +./16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_001.ttcn +./16_functions_altsteps_testcases/1602_altsteps/160201_invoking_altsteps/Sem_160201_invoking_altsteps_002.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_001.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_002.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_003.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_004.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_005.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSem_1602_toplevel_006.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/NegSyn_1602_toplevel_001.ttcn +./16_functions_altsteps_testcases/1602_altsteps/1602_toplevel/Sem_1602_toplevel_001.ttcn +./16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_001.ttcn +./16_functions_altsteps_testcases/1603_testcases/NegSem_1603_testcases_002.ttcn +./16_functions_altsteps_testcases/1603_testcases/Syn_1603_testcases_001.ttcn +./19_basic_program_statements/1901_assignments/NegSem_1901_assignments_001.ttcn +./19_basic_program_statements/1901_assignments/NegSem_1901_assignments_002.ttcn +./19_basic_program_statements/1901_assignments/NegSem_1901_assignments_003.ttcn +./19_basic_program_statements/1901_assignments/NegSyn_1901_assignments_001.ttcn +./19_basic_program_statements/1901_assignments/Sem_1901_assignments_001.ttcn +./19_basic_program_statements/1902_if_else_statement/NegSyn_1902_if_else_statement_001.ttcn +./19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_001.ttcn +./19_basic_program_statements/1902_if_else_statement/Sem_1902_if_else_statement_002.ttcn +./19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_001.ttcn +./19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_002.ttcn +./19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_003.ttcn +./19_basic_program_statements/1903_select_case_statement/Sem_1903_select_case_statement_004.ttcn +./19_basic_program_statements/1904_for_statement/NegSem_1904_for_statement_001.ttcn +./19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_001.ttcn +./19_basic_program_statements/1904_for_statement/Sem_1904_for_statement_002.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_001.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_002.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_003.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_004.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_005.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_006.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_007.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_008.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_009.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_010.ttcn +./20_statement_and_operations_for_alt/2002_the_alt_statement/Sem_2002_TheAltStatement_011.ttcn +./20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_001.ttcn +./20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_002.ttcn +./20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_003.ttcn +./20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_004.ttcn +./20_statement_and_operations_for_alt/20_toplevel/Syn_20_TopLevel_005.ttcn +./26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_001.ttcn +./26_module_control/2601_execute_statement/NegSem_2601_ExecuteStatement_002.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_001.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_002.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_003.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_004.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_005.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_006.ttcn +./26_module_control/2601_execute_statement/Sem_2601_ExecuteStatement_007.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_001.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_002.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_003.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_004.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_005.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_006.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_007.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_008.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_009.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_010.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_011.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_012.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_013.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_014.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_015.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_016.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_017.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_018.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_019.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_020.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_021.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_022.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_023.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_024.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_025.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_026.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_027.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_028.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_029.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_030.ttcn +./26_module_control/2602_the_control_part/NegSem_2602_TheControlPart_031.ttcn +./26_module_control/2602_the_control_part/Sem_2602_TheControlPart_001.ttcn +./26_module_control/2602_the_control_part/Sem_2602_TheControlPart_002.ttcn +./26_module_control/2602_the_control_part/Sem_2602_TheControlPart_003.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_001.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_002.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_003.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_004.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_005.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_006.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_007.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_008.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_009.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_010.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_011.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_012.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_013.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_014.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_015.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_016.ttcn +./26_module_control/26_toplevel/Syn_26_ModuleControl_017.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/NegSem_B010101_omitting_values_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B010101_omitting_values/Sem_B010101_omitting_values_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_007.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_008.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_009.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_010.ttcn +./B_matching_incoming_values/B01_template_matching/B0101_matching_specific_values/B0101_toplevel/Sem_B0101_matching_specific_value_011.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010201_value_list/Sem_B010201_value_list_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010202_complemented_value_list/Sem_B010202_complemented_value_list_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010203_any_value/Sem_B010203_any_value_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/NegSem_B010204_any_value_or_none_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010204_any_value_or_none/Sem_B010204_any_value_or_none_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/NegSem_B010205_value_range_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010205_value_range/Sem_B010205_value_range_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/NegSem_B010206_superset_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010206_superset/Sem_B010206_superset_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/NegSem_B010207_subset_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0102_matching_mechanisms/B010207_subset/Sem_B010207_subset_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_007.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010301_any_element/Sem_B010301_any_element_008.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010302_any_number_of_elements_or_none/Sem_B010302_any_number_of_elements_or_none_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/NegSem_B010303_permutation_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0103_matching_inside_values/B010303_permutation/Sem_B010303_permutation_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010401_length_restrictions/Sem_B010401_length_restrictions_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/NegSem_B010402_ifPresent_indicator_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0104_matching_attributes_of_values/B010402_ifPresent_indicator/Sem_B010402_ifPresent_indicator_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/NegSem_B010501_set_expression_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010501_set_expression/Sem_B010501_set_expression_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_007.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_008.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010502_reference_expression/Sem_B010502_reference_expression_009.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010503_match_n_times/Sem_B010503_match_n_times_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/NegSem_B010504_match_referenced_characters_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_003.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_004.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_005.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010504_match_referenced_characters/Sem_B010504_match_referenced_characters_006.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_001.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B010505_pattern_compatibility/Sem_B010505_pattern_compatibility_002.ttcn +./B_matching_incoming_values/B01_template_matching/B0105_matching_character_pattern/B0105_toplevel/Sem_B0105_toplevel_001.ttcn diff --git a/misc/scripts/fix-ttcn3-extensions.sh b/misc/scripts/fix-ttcn3-extensions.sh new file mode 100644 index 0000000000000000000000000000000000000000..b01e4fdc8ef2301e77cfee04e172bc54fa6a9b3a --- /dev/null +++ b/misc/scripts/fix-ttcn3-extensions.sh @@ -0,0 +1,3 @@ +for i in `find . -name "*.ttcn3"` ; do + svn mv $i ${i/.ttcn3/.ttcn} +done diff --git a/misc/scripts/metrics b/misc/scripts/metrics new file mode 100755 index 0000000000000000000000000000000000000000..9e89c266774941ec82ec69a381a30f1e9fd19e69 --- /dev/null +++ b/misc/scripts/metrics @@ -0,0 +1,28 @@ +#!/bin/bash + +ATS=../../ATS + +svn up $ATS + +echo -n "Total number of conformance tests: " +find $ATS -name "*.ttcn" | wc -l | sed -e 's/ //g' + +echo -n "Number of positive syntactic conformance tests: " +find $ATS -name "Syn*.ttcn" | wc -l | sed -e 's/ //g' + +echo -n "Number of negative syntactic conformance tests: " +find $ATS -name "NegSyn*.ttcn" | wc -l | sed -e 's/ //g' + +echo -n "Number of positive semantic conformance tests: " +find $ATS -name "Sem*.ttcn" | wc -l | sed -e 's/ //g' + +echo -n "Number of negative semantic conformance tests: " +find $ATS -name "NegSem*.ttcn" | wc -l | sed -e 's/ //g' + +echo -n "Total number of clauses (incl. subsection and subsubsections) in the TTCN-3 standard: " +CLAUSES=`cat ../config/references.properties | wc -l | sed -e 's/ //g'` +echo `expr $CLAUSES - 1` + +echo -n "Total number of clauses (at least partially) covered: " +for i in `find $ATS -name "*.ttcn"`; do echo $(dirname $i); done | uniq | wc -l | sed -e 's/ //g' + diff --git a/misc/scripts/replace_version b/misc/scripts/replace_version new file mode 100755 index 0000000000000000000000000000000000000000..aaf59a99c9ab52feba66d1f823aa5de799dcc279 --- /dev/null +++ b/misc/scripts/replace_version @@ -0,0 +1,14 @@ +#!/bin/bash +### +### DO NOT EXECUTE THIS IF YOU DON'T KNOW WHAT YOU'RE DOING!! +### + +ATS=../../ATS +VERSION="0.0.1" + +svn up $ATS + +for i in `find $ATS -name "*.ttcn"`; do + cat $i | gsed -e "s/\(@version[ \t]*\)\(.*\)/\1$VERSION/g" >temp + mv temp $i +done; diff --git a/misc/scripts/run_t3q b/misc/scripts/run_t3q new file mode 100755 index 0000000000000000000000000000000000000000..05c993f97c2ed9723dfcad7aaef7e74be7295757 --- /dev/null +++ b/misc/scripts/run_t3q @@ -0,0 +1,27 @@ +#!/bin/bash + +#copy somewhere and adjust the paths! + +ATSPATH=../../ATS +T3Q_CONFIG=../config/t3q_stf409.xml + +svn up $ATSPATH + +## start script +cd $ATSPATH + + +#run on positive syntactic tests +for i in `find . -name "Syn*.ttcn"`; do + t3q --config $T3Q_CONFIG --profile stf409 $i | grep WARNING; +done; + +#run on positive semantic tests +for i in `find . -name "Sem*.ttcn"`; do + t3q --config $T3Q_CONFIG --profile stf409 $i | grep WARNING; +done; + +#run on negative semantic tests +for i in `find . -name "NegSem*.ttcn"`; do + t3q --config $T3Q_CONFIG --profile stf409 $i | grep WARNING; +done; diff --git a/misc/scripts/testcast.tcproj b/misc/scripts/testcast.tcproj new file mode 100644 index 0000000000000000000000000000000000000000..e69b64a247d29aa768c275ba668bc38d900468ad --- /dev/null +++ b/misc/scripts/testcast.tcproj @@ -0,0 +1,61 @@ + + + + + + + + + + CodecRules_Project3.txt + + + + + + + + + + + + + + + Ttcn3_2010 + BER + 10 + 7777 + 60 + 1 + 20 + + internal + + + le + + dword + double + 8 + null + 32 + U16 + dword + dword + 16 + 1 + word + bytes + + \r\n + \r\n + none + + + + \ No newline at end of file diff --git a/misc/scripts/testcast_tester b/misc/scripts/testcast_tester new file mode 100644 index 0000000000000000000000000000000000000000..757356de4803e5cbd5fb6d828454633c32d3347a --- /dev/null +++ b/misc/scripts/testcast_tester @@ -0,0 +1,57 @@ +#!/bin/bash + +TC_COMPILER="/cygdrive/c/Program Files (x86)/Elvior/TestCastT3/tc_cmd.exe" +ATS_PATH="../../ATS/" +BUILD_PATH="" +# must be absolute! +TC_PROJECT_PATH="C:\Users\bzeiss\MyDocuments\svn\TTCN3TOOLS_CON\misc\scripts\testcast.tcproj" +CYGWIN_TMP_PATH="C:\cygwin\tmp" + +counter=1; +for i in `find $ATS_PATH -name "*.ttcn"`; do + verdict_line=`head $i | grep @verdict | sed 's/^[ \t]*\*\*[ \t]@verdict[ \t]*pass[ \t]*//'`; + expected=`echo $verdict_line | gawk -F , '{print $1;}' | sed 's/[ \t]//g'`; + executionresult=`echo $verdict_line | gawk -F , '{print $2;}' | sed 's/[ \t]//g'`; +# echo "verdict line : $verdict_line"; +# echo "expected : $expected"; +# echo "exectionresult: $executionresult" +# echo "---" + + escaped_filename=`echo $i | sed 's/\\(\\.\|\\/\|\\*\|\\[\|\\]\|\\\\\)/\\\&/g'`; + + cat "$TC_PROJECT_PATH" | sed "s/{{TESTTTCN}}/$escaped_filename/g" >/tmp/current.tcproj + +# execution +# "$TC_COMPILER" -proj "$CYGWIN_TMP_PATH\current.tcproj" -s test -r -log d:\\log\\ >/tmp/tc_out 2>&1 + +# static checks only + "$TC_COMPILER" -l "$i" >/tmp/tc_out 2>&1; + + tc_result=$?; + + if [ "$expected" = "accept" ]; then + if [ "$tc_result" = "0" ]; then + echo "$counter. pass - $i"; + else + echo "$counter. fail - $i"; + echo "TestCast Error Report: " + cat /tmp/tc_out + fi; + elif [ "$expected" = "reject" ]; then + if [ "$tc_result" = "1" ]; then + echo "$counter. pass - $i"; + else + echo "$counter. fail - $i"; + echo "TestCast Error Report: " + cat /tmp/tc_out + fi; + else + echo "CANNOT INTERPRETE VERDICT: $i" + fi; + counter=$((counter+1)); + + rm /tmp/tc_out + rm /tmp/current.tcproj +# break; +done; + diff --git a/misc/scripts/verdict_checker b/misc/scripts/verdict_checker new file mode 100755 index 0000000000000000000000000000000000000000..707c485349227b6e31b80588ba36485d703e9f4b --- /dev/null +++ b/misc/scripts/verdict_checker @@ -0,0 +1,26 @@ +#!/bin/bash + +ATS=../../ATS + +svn up $ATS + +for i in `find $ATS -name "*.ttcn"`; do + FILE=$(basename $i); + if [[ "$FILE" =~ Neg.* ]]; then + VERDICTLINE=`cat $i | grep @verdict`; + if [[ ! $VERDICTLINE =~ .*reject.* ]]; then + echo "File with possibly inconsistent verdict description (negative check, but no reject)!" + echo " "$i + fi; + + fi; + + if [[ ! "$FILE" =~ Neg.* ]]; then + VERDICTLINE=`cat $i | grep @verdict`; + if [[ $VERDICTLINE =~ .*reject.* ]]; then + echo "File with possibly inconsistent verdict description (positive, but reject)!" + echo " "$i + fi; + fi; + +done; diff --git a/misc/tpgen-documents/Test Purposes.docx b/misc/tpgen-documents/Test Purposes.docx new file mode 100644 index 0000000000000000000000000000000000000000..3f9a69831a090517d7af980a1812dea02940fcfd Binary files /dev/null and b/misc/tpgen-documents/Test Purposes.docx differ diff --git a/misc/tpgen-documents/tpgen-sample.pdf b/misc/tpgen-documents/tpgen-sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..56a051b96482463078fc7e2e24b084317fd244b8 Binary files /dev/null and b/misc/tpgen-documents/tpgen-sample.pdf differ diff --git a/misc/tpgen-documents/tps.xls b/misc/tpgen-documents/tps.xls new file mode 100644 index 0000000000000000000000000000000000000000..addbe020884260338ce13a7e9d0962f3595152e5 Binary files /dev/null and b/misc/tpgen-documents/tps.xls differ diff --git a/misc/tpgen/tpGenSTF409.jar b/misc/tpgen/tpGenSTF409.jar new file mode 100644 index 0000000000000000000000000000000000000000..6256aafb45cbb5ca498c761108fbd0c1a0a1ac9d Binary files /dev/null and b/misc/tpgen/tpGenSTF409.jar differ diff --git a/misc/tpgen/tpgen.sh b/misc/tpgen/tpgen.sh new file mode 100755 index 0000000000000000000000000000000000000000..18e3afd50a167e0ad8b0539f9309b3a1d5d35eb2 --- /dev/null +++ b/misc/tpgen/tpgen.sh @@ -0,0 +1,2 @@ +#!/bin/sh +java -jar tpGenSTF409.jar $1 $2 diff --git a/misc/ttcn3-snippets/mtc-ptc-sync.ttcn b/misc/ttcn3-snippets/mtc-ptc-sync.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..d3b881aad00bc3bb667057654cefbeaa3b64e21f --- /dev/null +++ b/misc/ttcn3-snippets/mtc-ptc-sync.ttcn @@ -0,0 +1,52 @@ +/***************************************************************** + ** @author STF 409 + ** @version $Rev: 150 $ + ** @purpose 1:20.2, Ensure that the done alt-block is triggered as expected (loopback case). + ** @verdict pass accept, ttcn3verdict:pass + *****************************************************************/ + +module Sem_2002_TheAltStatement_008 { + +type port MyPort message { + inout charstring +} + +type component MTCComp { + port MyPort p; +} + +type component PTCComp { + port MyPort p; +} + +template charstring m_syncMessageA := "sync1"; +template charstring m_syncMessageB := "sync2"; + +function f_secondComponent() runs on PTCComp { + alt { + [] p.receive(m_syncMessageA) { + p.send(m_syncMessageB) + } + } +} + +testcase TC_Sem_2002_TheAltStatement_008() runs on MTCComp { + var PTCComp v_ptc := PTCComp.create; + connect(self:p, v_ptc:p); + v_ptc.start(f_secondComponent()); + + //sync + p.send(m_syncMessageA); + alt { + [] p.receive(m_syncMessageB) { + } + } + + setverdict(pass); +} + +control { + execute(TC_Sem_2002_TheAltStatement_008()); +} + +} \ No newline at end of file diff --git a/misc/txt/IDEAS b/misc/txt/IDEAS new file mode 100644 index 0000000000000000000000000000000000000000..128778fb86ee63d7f50c8b38fd81032029cdd379 --- /dev/null +++ b/misc/txt/IDEAS @@ -0,0 +1,11 @@ +A collection of unsorted ideas that came to mind during the development of the ATS: + +- The development of test cases for this test suite could be part of the CR resolution process. That way, + we ensure that the samples make sense and they underline how certain rephrasing or additions to the + standard are supposed to work exactly. This would then probably be test-driven CR development :-) + +- It would probably be possible to capture concepts of the standard in the form of partial abstract + syntax tree patterns. These AST patterns could be used to derive a dependency tree among the + test cases. Using the TRex infrastructure, this would be relatively easy to do (for syntactically + correct test cases only!), however, it is probably a lot of work to create this kind of catalog + of language concepts and their AST patterns. \ No newline at end of file diff --git a/misc/txt/README b/misc/txt/README new file mode 100644 index 0000000000000000000000000000000000000000..3cf7dd3049264d0e08ee9ae0074f55f95f4f2678 --- /dev/null +++ b/misc/txt/README @@ -0,0 +1,92 @@ +TTCN-3 conformance test suite preliminary (unofficial) instructions +======================================================= + +These are preliminary instructions on how to use the TTCN-3 conformance test suite. +Unlike ATSs in the usual context, this ATS does _not_ provide any means for test +automation, but the TTCN-3 files provide the test inputs for the TTCN-3 tool - in this case +the TTCN-3 tool is the IUT. This means that test automation has to be somehow scripted, however, +from the provided ATS it should be clear how the output should be interpreted. + +1) ATS organization + + The ATS is organized according to the clauses of the TTCN-3 standard part 1. There are + either positive syntactic tests, negative syntactic tests, positive semantic tests, or + negative semantic tests. + + Except for the negative syntactic tests, all TTCN-3 files from the other three categories + are always syntactically correct. In addition, the positive syntactic tests are designed + to be semantically correct as well. The negative semantic tests are designed to violate the + semantics only in the one property that is subject of the test - at least to the degree that + it is possible. Because all test cases are syntactically correct (except for the negative + syntactic tests), the semantic and negative semantic tests are syntactically correct as well. + + Every TTCN-3 module corresponds to one TTCN-3 conformance test. Where more than one module is + needed, the TTCN-3 file contains multiple modules. + +2) Document tags + + Every module is annotated with document tags. Of relevance for the test automation tooling + is the @verdict tag on top of each module (tag usage adaption in the TTCN-3 maintenance STF + is pending). It is composed of three parts: the tag, the conformance verdict, and keywords + regarding the expected output. + + @verdict pass accept, ttcn3verdict:pass + + Hence the format of this tag is a three column entry with "@verdict", "pass", and + "accept, ttcn3verdict:pass, manual:'Freetext validation'". + In order to reach the "pass" verdict, the TTCN-3 tool under test, the IUT, must accept the + TTCN-3 module as test input. The result of its execution must be the TTCN-3 verdict pass. + When needed, a manual inspection of the execution results is required. + Therefore, if the TTCN-3 verdict is pass after the execution of the module, the IUT passes + the conformance test. If the tool output is anything else, or it does not comply + with the manual inspection, it fails the conformance test. + + The keywords in use to describe the third column, i.e. the expected output by the IUT, are (currently) as + follows: + + reject + accept, noexecution + accept, ttcn3verdict:none + accept, ttcn3verdict:pass + accept, ttcn3verdict:inconc + accept, ttcn3verdict:fail + accept, ttcn3verdict:error + accept, ttcn3verdict:xxx, manual:"Validation inspection, free text" (see Note) + + Note: 'xxx' for ttcn3verdict is a placeholder for verdict value. The actual test cases must + have one of the allowed values 'none', 'pass', 'inconc', 'fail', or 'error' in place of 'xxx'. + + "reject" implies that the TTCN-3 module is either rejected at compile-time or at execution time. + In the conformance test, we do not differentiate between these two cases as the standard does not + make any statement where semantic checks have to be performed. + + "accept, noexecution" implies that the TTCN-3 module should be accepted by the TTCN-3 tool after + the syntactic check. For passing the conformance test, the module simply has to be accepted and + an execution is not necessary. + + "accept, ttcn3vercit:xxx" implies that the TTCN-3 module should be accepted by the TTCN-3 tool + after the syntactic check and that an execution should take place. The result of the execution + should be a TTCN-3 verdict and the "xxx" denotes what verdict is the exepcted verdict. If the + verdict differs from the specified "xxx", the conformance test fails. Otherwise, it passes. + + In the usual case, each TTCN-3 file contains only one test case. In these cases the verdict + determination is clear. In a few cases, the TTCN-3 file contains more than one test case. + In that case, the overall conformance verdict is determined according to the TTCN-3 verdict + overwrite rules applied to the results of each test case. Let's say we have two test cases. + The first test case ends with the verdict "fail" and the second one ends with the verdict "pass". + Then the overall verdict is "fail". + + The manual results inspection is a free text describing how a valid out should look like. The text + is informal since different tools have different logging formats and facilities. The instruction + is surrounded by single or double quotas on a single line: + + @verdict pass, testverdict:pass, manual:'The following elements are logged: charstring "Extra", record { 1, "HELLO"}, integer template "?". Make sure the elements are logged at setverdict, at MTC end, and at test case end.' + + All notations are designed to be easily machine readable. Therefore, the test automation using + some sort of scripting will only take a small amount of time. + +3) Other prerequisites + + In order to test communication and matching behavior, we expect that the test cases are executed + using a loopback adapter. + diff --git a/misc/txt/roadmap.txt b/misc/txt/roadmap.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e07ccc5c021148dc6258ceeb6a809251a956674 --- /dev/null +++ b/misc/txt/roadmap.txt @@ -0,0 +1,45 @@ +Current work in progress: +-------------------------- + +06_types_and_values (wip) +10_constants (done) +11_variables (done) +07_expressions (wip) +15_templates (done) +B_matching_incoming_values (done) +16_functions_altsteps_testcases (done) +26_module_control (done) +20_statement_and_operations_for_alt (wip) +19_basic_program_statements (done) +24_test_verdict_operations (done) +12_timers (done) +23_timer_operations (done) +D_preprocessing_macros (done) +C_predefined_functions (done) +05_basic_language_elements (done) +08_modules (wip) +13_messages (done) +09_test_configurations (done) +14_procedure_signatures (done) +18_overview_program_statements_and_operations +21_configuration_operations (done) +22_communication_operations (done) +E_library_of_useful_types +27_specifying_attributes (wip) +25_external_actions + + + + + + + + + + + + + + + + diff --git a/misc/txt/standard-issues.txt b/misc/txt/standard-issues.txt new file mode 100644 index 0000000000000000000000000000000000000000..0115dbfdeb55c5651b42e664f2f313d1a4af035a --- /dev/null +++ b/misc/txt/standard-issues.txt @@ -0,0 +1,32 @@ +This document is a list of things we have noticed in the standard that might be subject of +change requests or otherwise noteworthy things while working through it. Feel free to add +anything that comes to mind freely with respective clause numbers. + +=================================================================================================== +List of CRs that have been already created. +If a CR is resolved, improved or clarified, tests shall be added to the ATS or a TODO/NOTE shall +be used to clarify the situation in a corresponding NOTES file. +=================================================================================================== + +- CR0005788 / Section 6.2 +- CR0005789 / Section 8.2.3.6 +- CR0005790 / Section 15.5 +- CR0005785 / Section 6.3.2 +- CR0005786 / Section 6.3.4 +Update on 2011. November 1: all of the above listed CRs are in closed state. + +=================================================================================================== +Problems for which no CRs have been created yet. +Remove and add CR to the list above if the CR has been created. +Separate each entry with a line of dashes. +=================================================================================================== + + +--------------------------------------------------------------------------------------------------- + +- Part1, Section 6.1.2.3 Ranges p. 37 (editorial) + + add for charstring and universal charstring allowance to use ! - example exists + add a definition for ! (exclusive bounds) + +--------------------------------------------------------------------------------------------------- diff --git a/misc/vendor-feedback/Elvior/09-11-2010-discussion.doc b/misc/vendor-feedback/Elvior/09-11-2010-discussion.doc new file mode 100644 index 0000000000000000000000000000000000000000..df819e07d0433e1c08b89a771454a762754f9977 Binary files /dev/null and b/misc/vendor-feedback/Elvior/09-11-2010-discussion.doc differ diff --git a/misc/vendor-feedback/Elvior/09-11-2010-response.doc b/misc/vendor-feedback/Elvior/09-11-2010-response.doc new file mode 100644 index 0000000000000000000000000000000000000000..98092e083ae5685f1428f71b3a5e4b473f4cbd16 Binary files /dev/null and b/misc/vendor-feedback/Elvior/09-11-2010-response.doc differ diff --git a/misc/vendor-feedback/Elvior/09-11-2010.doc b/misc/vendor-feedback/Elvior/09-11-2010.doc new file mode 100644 index 0000000000000000000000000000000000000000..b0c578a1c016b0729d0cc682286c87f9815c51c4 Binary files /dev/null and b/misc/vendor-feedback/Elvior/09-11-2010.doc differ diff --git a/standards/.project b/standards/.project new file mode 100644 index 0000000000000000000000000000000000000000..dc23b17bc35900a5fa054c9b0a1c1f4fd1213a27 --- /dev/null +++ b/standards/.project @@ -0,0 +1,11 @@ + + + standards + + + + + + + + diff --git a/standards/4.2.1/es_20187301v040201p-core_language.doc b/standards/4.2.1/es_20187301v040201p-core_language.doc new file mode 100755 index 0000000000000000000000000000000000000000..de508c10db796b0bcb8680bf92f2faaa119dc2ba Binary files /dev/null and b/standards/4.2.1/es_20187301v040201p-core_language.doc differ diff --git a/standards/4.2.1/es_20187301v040201p-core_language.pdf b/standards/4.2.1/es_20187301v040201p-core_language.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a70bc8f55da7cf7826c4aa448a63ddf4892122d0 --- /dev/null +++ b/standards/4.2.1/es_20187301v040201p-core_language.pdf @@ -0,0 +1,7959 @@ +%PDF-1.5 %âãÏÓ +1322 0 obj <> endobj +xref +1322 429 +0000000016 00000 n +0000013876 00000 n +0000014111 00000 n +0000009064 00000 n +0000014278 00000 n +0000014494 00000 n +0000014647 00000 n +0000015534 00000 n +0000015572 00000 n +0000015755 00000 n +0000015833 00000 n +0000016736 00000 n +0000017636 00000 n +0000018540 00000 n +0000019322 00000 n +0000020163 00000 n +0000021007 00000 n +0000021968 00000 n +0000022481 00000 n +0000023041 00000 n +0000023222 00000 n +0000023414 00000 n +0000023605 00000 n +0000024450 00000 n +0000025324 00000 n +0000028018 00000 n +0000028079 00000 n +0000028189 00000 n +0000028279 00000 n +0000028412 00000 n +0000028600 00000 n +0000028731 00000 n +0000028836 00000 n +0000029029 00000 n +0000029168 00000 n +0000029297 00000 n +0000029478 00000 n +0000029576 00000 n +0000029719 00000 n +0000029895 00000 n +0000030012 00000 n +0000030128 00000 n +0000030314 00000 n +0000030439 00000 n +0000030553 00000 n +0000030733 00000 n +0000030871 00000 n +0000031051 00000 n +0000031171 00000 n +0000031329 00000 n +0000031479 00000 n +0000031586 00000 n +0000031737 00000 n +0000031847 00000 n +0000031951 00000 n +0000032067 00000 n +0000032228 00000 n +0000032337 00000 n +0000032450 00000 n +0000032603 00000 n +0000032710 00000 n +0000032839 00000 n +0000033002 00000 n +0000033158 00000 n +0000033275 00000 n +0000033436 00000 n +0000033583 00000 n +0000033734 00000 n +0000033925 00000 n +0000034035 00000 n +0000034177 00000 n +0000034340 00000 n +0000034439 00000 n +0000034543 00000 n +0000034688 00000 n +0000034792 00000 n +0000034962 00000 n +0000035097 00000 n +0000035195 00000 n +0000035353 00000 n +0000035469 00000 n +0000035606 00000 n +0000035736 00000 n +0000035854 00000 n +0000035970 00000 n +0000036126 00000 n +0000036230 00000 n +0000036336 00000 n +0000036456 00000 n +0000036644 00000 n +0000036751 00000 n +0000036859 00000 n +0000037002 00000 n +0000037111 00000 n +0000037217 00000 n +0000037364 00000 n +0000037498 00000 n +0000037619 00000 n +0000037772 00000 n +0000037921 00000 n +0000038021 00000 n +0000038179 00000 n +0000038289 00000 n +0000038395 00000 n +0000038542 00000 n +0000038670 00000 n +0000038767 00000 n +0000038931 00000 n +0000039029 00000 n +0000039128 00000 n +0000039274 00000 n +0000039381 00000 n +0000039489 00000 n +0000039592 00000 n +0000039696 00000 n +0000039826 00000 n +0000039982 00000 n +0000040125 00000 n +0000040230 00000 n +0000040359 00000 n +0000040508 00000 n +0000040622 00000 n +0000040737 00000 n +0000040860 00000 n +0000040980 00000 n +0000041116 00000 n +0000041254 00000 n +0000041411 00000 n +0000041543 00000 n +0000041647 00000 n +0000041814 00000 n +0000041963 00000 n +0000042121 00000 n +0000042255 00000 n +0000042375 00000 n +0000042513 00000 n +0000042638 00000 n +0000042795 00000 n +0000042912 00000 n +0000043028 00000 n +0000043155 00000 n +0000043275 00000 n +0000043384 00000 n +0000043498 00000 n +0000043645 00000 n +0000043771 00000 n +0000043901 00000 n +0000044032 00000 n +0000044205 00000 n +0000044319 00000 n +0000044460 00000 n +0000044621 00000 n +0000044745 00000 n +0000044875 00000 n +0000045007 00000 n +0000045130 00000 n +0000045293 00000 n +0000045447 00000 n +0000045574 00000 n +0000045706 00000 n +0000045842 00000 n +0000045991 00000 n +0000046132 00000 n +0000046313 00000 n +0000046443 00000 n +0000046571 00000 n +0000046711 00000 n +0000046849 00000 n +0000047000 00000 n +0000047154 00000 n +0000047272 00000 n +0000047424 00000 n +0000047530 00000 n +0000047687 00000 n +0000047859 00000 n +0000047974 00000 n +0000048100 00000 n +0000048241 00000 n +0000048390 00000 n +0000048523 00000 n +0000048634 00000 n +0000048753 00000 n +0000048862 00000 n +0000048967 00000 n +0000049085 00000 n +0000049206 00000 n +0000049326 00000 n +0000049449 00000 n +0000049565 00000 n +0000049727 00000 n +0000049833 00000 n +0000049948 00000 n +0000050079 00000 n +0000050242 00000 n +0000050358 00000 n +0000050503 00000 n +0000050627 00000 n +0000050783 00000 n +0000050961 00000 n +0000051103 00000 n +0000051246 00000 n +0000051368 00000 n +0000051503 00000 n +0000051625 00000 n +0000051743 00000 n +0000051866 00000 n +0000052034 00000 n +0000052139 00000 n +0000052280 00000 n +0000052472 00000 n +0000052604 00000 n +0000052735 00000 n +0000052855 00000 n +0000052974 00000 n +0000053102 00000 n +0000053235 00000 n +0000053375 00000 n +0000053527 00000 n +0000053682 00000 n +0000053830 00000 n +0000053924 00000 n +0000054032 00000 n +0000054162 00000 n +0000054284 00000 n +0000054408 00000 n +0000054533 00000 n +0000054656 00000 n +0000054776 00000 n +0000054899 00000 n +0000055029 00000 n +0000055149 00000 n +0000055270 00000 n +0000055394 00000 n +0000055516 00000 n +0000055635 00000 n +0000055763 00000 n +0000055886 00000 n +0000055998 00000 n +0000056113 00000 n +0000056239 00000 n +0000056361 00000 n +0000056480 00000 n +0000056607 00000 n +0000056719 00000 n +0000056859 00000 n +0000057021 00000 n +0000057121 00000 n +0000057245 00000 n +0000057369 00000 n +0000057495 00000 n +0000057618 00000 n +0000057757 00000 n +0000057895 00000 n +0000058034 00000 n +0000058154 00000 n +0000058280 00000 n +0000058451 00000 n +0000058566 00000 n +0000058679 00000 n +0000058801 00000 n +0000058972 00000 n +0000059080 00000 n +0000059190 00000 n +0000059358 00000 n +0000059467 00000 n +0000059579 00000 n +0000059704 00000 n +0000059827 00000 n +0000059954 00000 n +0000060079 00000 n +0000060204 00000 n +0000060331 00000 n +0000060460 00000 n +0000060591 00000 n +0000060761 00000 n +0000060893 00000 n +0000061027 00000 n +0000061192 00000 n +0000061339 00000 n +0000061462 00000 n +0000061593 00000 n +0000061719 00000 n +0000061846 00000 n +0000061973 00000 n +0000062099 00000 n +0000062221 00000 n +0000062342 00000 n +0000062464 00000 n +0000062584 00000 n +0000062705 00000 n +0000062814 00000 n +0000062955 00000 n +0000063129 00000 n +0000063258 00000 n +0000063385 00000 n +0000063542 00000 n +0000063646 00000 n +0000063762 00000 n +0000063920 00000 n +0000064028 00000 n +0000064140 00000 n +0000064254 00000 n +0000064387 00000 n +0000064509 00000 n +0000064635 00000 n +0000064755 00000 n +0000064876 00000 n +0000064986 00000 n +0000065095 00000 n +0000065250 00000 n +0000065350 00000 n +0000065460 00000 n +0000065627 00000 n +0000065727 00000 n +0000065846 00000 n +0000065983 00000 n +0000066123 00000 n +0000066261 00000 n +0000066387 00000 n +0000066512 00000 n +0000066638 00000 n +0000066765 00000 n +0000066894 00000 n +0000067021 00000 n +0000067148 00000 n +0000067275 00000 n +0000067402 00000 n +0000067524 00000 n +0000067653 00000 n +0000067780 00000 n +0000067910 00000 n +0000068023 00000 n +0000068176 00000 n +0000068281 00000 n +0000068410 00000 n +0000068581 00000 n +0000068692 00000 n +0000068807 00000 n +0000068984 00000 n +0000069125 00000 n +0000069227 00000 n +0000069405 00000 n +0000069506 00000 n +0000069621 00000 n +0000069732 00000 n +0000069845 00000 n +0000069961 00000 n +0000070083 00000 n +0000070197 00000 n +0000070326 00000 n +0000070505 00000 n +0000070620 00000 n +0000070732 00000 n +0000070870 00000 n +0000071001 00000 n +0000071126 00000 n +0000071249 00000 n +0000071372 00000 n +0000071494 00000 n +0000071619 00000 n +0000071758 00000 n +0000071880 00000 n +0000072004 00000 n +0000072127 00000 n +0000072250 00000 n +0000072374 00000 n +0000072516 00000 n +0000072646 00000 n +0000072773 00000 n +0000072906 00000 n +0000073038 00000 n +0000073161 00000 n +0000073306 00000 n +0000073440 00000 n +0000073567 00000 n +0000073694 00000 n +0000073819 00000 n +0000073944 00000 n +0000074070 00000 n +0000074196 00000 n +0000074318 00000 n +0000074443 00000 n +0000074569 00000 n +0000074693 00000 n +0000074819 00000 n +0000074952 00000 n +0000075078 00000 n +0000075200 00000 n +0000075317 00000 n +0000075435 00000 n +0000075557 00000 n +0000075681 00000 n +0000075802 00000 n +0000075923 00000 n +0000076054 00000 n +0000076175 00000 n +0000076305 00000 n +0000076437 00000 n +0000076567 00000 n +0000076722 00000 n +0000076875 00000 n +0000076999 00000 n +0000077108 00000 n +0000077272 00000 n +0000077378 00000 n +0000077550 00000 n +0000077680 00000 n +0000077819 00000 n +0000077961 00000 n +0000078098 00000 n +0000078218 00000 n +0000078338 00000 n +0000078474 00000 n +0000078605 00000 n +0000078712 00000 n +0000078856 00000 n +0000078995 00000 n +0000079134 00000 n +0000079248 00000 n +0000079362 00000 n +0000079469 00000 n +0000079599 00000 n +0000079714 00000 n +0000079833 00000 n +0000079961 00000 n +0000080073 00000 n +0000080205 00000 n +0000080332 00000 n +0000080468 00000 n +trailer +<]>> +startxref +0 +%%EOF + +1325 0 obj<>stream +éïÃ0Ï–¡`¿GÇÜ+ y( pÞà>©Ò¾Þ‘! &䤢g¬,JÎ?ëCšÿ™‹CJ¾œ×m;Ïøt®Td‘€ìDP|ªÐrklC·º–U²\ê ÔYv»*ûQè^¾¶n+“R–ÔÞ¦‡kA.b{ïDJÔ¤g«ô43êÃân<ƒ’±„«š^2ᆆ/'5¤/G¥ …Лà>êœÕдøž)´uœÖº`ÿ?·j± 1Þå¿ÛÚkHøá¬u^:Õµ“­)ǘåõèV:ŸWœà”¢ÒF;Ýt⺕[ÆM¡Ye(ç4‡èÉj‘wL˜%È]£ãsÇÈWï_¯=™@ðŠŠJÌf.KøØn¤à Q†Ú'qÁUTq^N„ÝÐë¹³MÖ‡2˜FhÉT,mÏqGóÏ–hó-"1§o Õng4Ñ,Ïøü?wþ1Y•Í‚“y´» wâ_ñbºíEØp»£”qoÚŸ »kÝD%+왪#wrù‰{÷dÛ-‹ª£UçUyÙ.[jACK­4ÀS0rqv@Z(Ý¡,`zrqçHn† šëC&;©´ñÿeÍ+›àKvÖ± pqÓègu6ÝHÓ¬B#úRh¼lŒ÷úÿMdªXˆ3 sÓkFzº¾N8$á4˜¾¹Ë¸ÒZ.îbù)biµM\ò(&¹b…8…—‹]è:îR§’˜OÌ™ñ±¿Xv´Aª@îÐÌ8HXò»É’ß`¡ƒÙ/0cý@[cÓô"€bƒü7[ô™õ7Îæ0‘o5=M+@®žêŠ¾4ëmúñ½åªô¾ÃèäÃcšæ.? ;´¢IŽ#äsržVº;qϤXe˜Öí–Q¿Éþ´o;ô_J}dÍf6¶Çf…To¨;¥gZáÍeßü^.¡aaÀý¢+ŒNðhö*uÞ8Ì»(ieªYm …E¬5–’ŽGÚ2ì)JZ1I;ökN}²Ë¡í7À”Òavd¨±iÿPxKk€Ý¥·åîûF ªù"¿ÅRI|¬k•ê·|qÞ{™Ô¶w£>î•N¹J 9 +®ŒóIÎÏS—ÖÒvŒQn´„…´ELëR9Úr=’ë„…a¨i¿S\×>a`Ò8¦ãK}LB,qH\Ñ HD^³o +* Dç ‡;'Þ™ç“6ŸbXÈx‡…¼ß:X¨õ|;T¿cÊçü„öñ¸ÚÕ)+ ƒDùz‹ U&•šµs¢”â¬øó™× D%«fµhVÍÂÏ#W€&G­÷Ï ¦³Qê–Ìm)}Д tì{y CÐ)– 5Éàó¨-²u Ûu´É´dUQJ^ZøBägOD¯ŒvÕ´/™%uëÕ›¸Ž§²Â„q—[•£ˆÇ;Éô £—Oº3"ÿF¬0½¿à$Œ C…³¿Î•/å»:Z½iR@š8w%j‘­Œ0ìLì­Õ‹dH´ÑVácYH§/ÜÃÖ!<ºôèñ¿Ó™yŠ]øTª]gÇœSÌøjôÖ,Ëb6?é-y›yq<ÞÃ5AÊrõJƒ*D4p‹x0ËçV• ôuàrgxÆœ`µ½’]Yˆ#Ïæ˜U&»¶åµY•ˆÇ¼þ¿šå›ßŒJÓCñN¿WP¬ ójƒNlÈ“æºL[Òj*d{>¡•ï<ÎŽ´Ji½[qô¦î + œ´]üÈ·Á3p—ç£åv«Å²›Æ뻉$êRˆÒ#Íõ¬',ò«¯`O`Ó–3–vM’@ pú%9È[dQn3Feæ€ +„h[=Ñ-üð¾\\´žÇÝü©q ŒwCŒA ¶Bˆ¶2â4wBAÊ÷ª(wkZEŽa­¦T íYÒØóÎ&2íó \àš4/·mŒù®G$I{_Þ¨ðø?hž!àœ=¢{…W•ÈÁiY ®±Péd +cÅ†ç ¢~ª*o(žô“2ÄRÅül‘¹›¿Åà^y„Mƒé n|{†³Å^ÅwٱѸ”SûU +õƒXrz–9rgÍÿÌ¡[$ê¤ÍüÔfªB~,X¾r—.¤h[—´€LUºèìÚ(/T9 lvÛG˜™ÿ[=În–úþï¡`Þ××Á^œµkŠ·-6Fû¸v›‚:r‚µØ_um* tÃOŒ‚w“ìòÛGNµ`¤Ã²õ¸p±tÙ)HT÷Ð×òÌ]Ž8Nœd™±4ЗÑÜhw …Di§ª[¸̘éÀ0âÆ=ßKº†a¶ê5{æHAä¬ 7þä“LxH¿þpg`Ž7¼àõî™ÈÂT(\L +šäûÁ¸è V•_¡íº)÷„ß'!—‚{A ¹eþGˆœ`Þ2¨ñÉ~5×߯7†eæÿ©ýL_is‰sBÍÓE¬[ÿ~â3å—ÍÕ›(Ê ’é0÷ŸÜÕ–å¡È9þ2}ÑymE~+üMZ³¤õ)tg‡õ²¦›áä + Nl»ž‡hIYSf±NWÌ'ÀÛ¡´Æ±O­BNjœEç„Í ŽÜ;ö7=ò¡^é´{3¸ rQìï@EïC,rõ\t4–ýmcÎûÆ.½n‰S£Àíʸ Îœ?œÇ´Ü*v& ÄŒ2…?ÞEd«TÖ>Šà†^™¶KíÉ€øúe=©ÂÚÞ{xY'!ý­0ÜÛC  v=#/zâ@-•<®ä‚ìø×/o8J•æ<1 ÇY¿ÂFŒnøù!él¨è“ ªÁ‹»yVVMW(Éш( +yá{rÍ­¿´†²­¼ ©T6Q²H˱ÇõðfVëE[-Ü‚I“¾ùjÀ´zÞ¼Ú·í5Ûâ)ÙªwùÜ<ŒQŽuG“èÄáB0NSpÖC9"Íê»ÛT–õ,Ü Ë— ÁCâ;òS9Qˤ½KkÈøw!(·3b9ës(o({%žä—ÎŽ­D²L +V^ÈÈ™tµT½Å²=Kÿ›(‚øð,z‡ú̧¶ íï©(tÿa´GØPìí6° º‹3‚ÀëÀå­˜½—]uÌ4í Aù¢2NõlKƒôd¸é7[^ó%É0@<âLNŸ}óý"&¦èU‹’¥—ëdÏ{¿/Ä Ìé“ø‚Ô¢Å<ß2‡Q £ûŸf„÷¹}(W‘:ÖìlHxq»» 6‚%ª<’¡¤‰MËÇ]w÷€@Öö©¯9ðЂ¨rÎtÍf÷‡Ÿ`û`GÎ"vì7U]yˆúë:ð3=ã‘iˆ¹ÑÎ9"/ßC©1¦¨,) 2êP¾S[ëYr®$Ÿh«&ÎÒš%™"zÝî«ÇÀ/Œp‰PïY­eŸQP¼×NT)©YûTN÷mŽ¥£qžò3v=¡½>‡â±Ú8šGw@õ +¼<¥L­-!e€-Âwˆ­UŽšŸÝšwÍŸû˜4Óä;k⣥ÃóA -;¸ÆBÒ–¹‚nXËŠGðt߸_l¼c™2_I*ê÷%#ý5Æ5öZO5ˆkýµhû‚-QXCΟ.t¯^Ør?HšBQŠ#DÔÁÌå˸ÑrBäô‰1×Îvkè:Ü–¹ eÜ?¦ØÄüú)6QùZqÌ”ï9z§¨†óŽ`ä )ÉòÜòK‰ôE©m§™¯w/ËR×Y)k`¡½Éã ?ÍuC³wl¹ø*Ȉ™ü t[B9ìSJ„»N\GÈ°)£²nç4$dù=QljöŠÔ_+¤1¸ý!e}ÍÆÊ9ŸoD +ó_õÛŠé«êÜ¥Ú`Ìö’ôýãõÙ7é]°Š¯zëD²Õ2³2}æ>¤dØ@¹ãbDXÕ{#YªjòÉó_Ƚí.‡²Ô'‚÷SÊMÂŒ¹®ÎŸmDsÛÿ©Ú!ÀýÄÝ (︶V¿_+¨PÍi6œÕ,óØTÁgÉJ4¿Ý=Î`£†Eò €%ªxª&(¸*a°d<ØÄ«,Òp“Z$ÆÙ‰ð99NlÃÆÿåßjÞÂävôÓ6[Íëô›¬Xdâ,;Üz~¬žW{ñ‹4ûª”kÀM­;`Æ6ma@}¬L\€Æ™µæ’ËC&`Zôøó½ÀÅÁT۬ΪF% +Ù.n¸Æ0Gßl4SIÕT“îÊöÁáŸ,ì~ß"-iA;$«±é¨…|“·†öglÂ_h$U{v“r×Ã’yÏ»[Îcøß® ò€½*.>æÌaôS”tSòÖêÏ U”&û.õ²¥­Ãð2Vv;³¼1Äħ¨( -0²}‹Û/D³â¸˜²¨áðFd›ì³Ð'ã2h‘eï|NÜYœÎ·è*¤Q4½#^Ô÷Tö`šGR9AmŸ9“ដ}0n™(Y>í YšÞØ¢›R¬õO†ç6âˈƼSH/Ü{ÙŒÄã¿*ýõ„|¢†lÛ=ŠÈ€ç²º¢Ò¶\²È{ãÚÄlx«H%¬±"ºŒ–ŒÉ”Õ œ"Î^UÃô-SV3Ô´$Ð.¼zûâ ¢p¶ è†× +]ßùSFÆ`9C…•Ô»Æ[r# ÍÑS]…:X ~3L³q(¤«m/ë$l:®rˆõÞˆÞhlŸ@:˜¢nÅSkÑih‰·|Q‡ƒõ'q6JL d;B×µ!(@…`«¡™4ÆsK‰p ºžµ¸»t¿Piò n©Çu\(Èbò˜Ì”x}$ÌÀ¤F§ 0\>Cöæñ +‚|ÐÏ´Š#µ×Æ{4.Údþèâ£t ÂêVzâBÆnxöÔö°ÎçÕD:Â- 7ÆÛŃ2-7”W Ì:œ±(6µ&œbéøðwûŽj1Ô,R(ÊÏà¬úFâQ²Á}P —3_«©?(œs}Óݦ[»dð 6¤ª70­¨É^.W¦ií QÔÓ,gÙÊÇ–Õ³9šæšdû·fM5¯ÚÚ²ÝÄ„˜?BŒ×Sãý›€ËraÅ?+S9D·vU€<€ï„ãY³N¯€ŸM ìf ݨ¢†¶“àêd{¿% ”ý±%Sìžõ\lËÒ1™c.9Ž:‹¿!ï¼bîû<çb½/Ø7z4Ñd‡¾˜¾îO£Y1seºdŠ(ê*¨wƳ°Ûã×Lóc¼érä¡Tÿåï핹¼(œ<†´`r·Z‹£ðqJŒtðX¯±ˆg"ùº5-ØU¥Lqÿ}×_‚]%ý|ÓJø˜¹L7ÍxAÆŒ£ã*^ïÁ‰<Ë}|õ¯Ñ®vÉBÏoQë Zr‡(äðÓÙZN*“Ý›åìF=CÛ³¡D]ï–Ê,pnÍêg鶺ªË%>²£ö ç2XE]3äokÊÏÉÛ4ºÔûwKÁWuÇá YºÅùÚ‘³‹zo›Žñ@|åv°_í5ñâ;Âê€sÊÒ Òñs…Në>ã)ãDÍ;yvõûøš&1lwqwr£N‘ÁR®7èšÎÐ!@fçq{dEg¯ú5êMÞySKëd{`»cß?•ôI ’ŸI/ƒ‹•ÜÙ6ƒÙ +endstream endobj 1323 0 obj<>>>/StmF/StdCF/StrF/StdCF/EncryptMetadata false>> endobj 1324 0 obj<> endobj 1326 0 obj<> endobj 1327 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 1328 0 obj<> endobj 1329 0 obj[/ICCBased 1346 0 R] endobj 1330 0 obj<> endobj 1331 0 obj<> endobj 1332 0 obj<>stream +äâþt`bRNzªÃS<ø“ŽZo!DtošÚødñý`5þ²üÐq<ŒÌß_ñ¼8j8ï&xÖ⃄ԧ(&ÌiÇ£° „1IWׯ¬wkzQ2å½ Â‚Ã?0ŽÆ›+ÞÙÐÀ6 Ævùê+ª‹´^ÇõÑD +Còòÿn$%ãËÃ/;?ðŠH3Õ1ªÏƒ§Ï"`F|B¬”y]áu4oJÛø½ùGßÁ†‘Õ¦.]^³i®tð<ÚîÈzJ¥{ž2•ˆ?é`.¨¤Ò_6\…ƒQ8:æÛÙÿËO'¸jÊû¸Å"e; c·‰–£“Âm1 4 –A€îZº½2 ­6ì:U< Uôβouƒ/©¡ÂO÷‡»à,Ã]LjûœÖÎß ¿åI[T5»ÓZ7[¶ °«h¨ÇßSlav£ç½ÉšÀZ5YŒ/±ˆ¿¦Úá䦡ùÊD֙̕‘ùìËU¿§~Š~;w"¼CfÑk?øäb²ôW¨juvøMËSŽN»Ñ" Ðdm;ñ™‹À&`láß“ÜË?{õõõüpÙcŠA+Œ¤gøZºD˜·Ä‚:Ã~“Þ#çh/’\1oÿýÿ½–P +wŒ”|ýœFÛÀXJnðuí¹cvx+³'a¼Ëìéˆ úš×œØX©p+K´üòcDUò‡=@Êfqœu=¾–‚éZ;['d¡™×¢´bç@›Ù1,l©¾n>¢²a 5ã%ºAîÁ’ñ JF¼¾eî¾:TÐ_}ÒPè)t ò^ D6X]ŸGÚ½H†•—.ÒJfDÀx–ãxο•è¾ñd¦¨YÛÛª¨Ó¢ä œÂŸ2“OT4Ÿ±é_›túuð^7Ÿ.6‡Jwòék3¨??fqÈ»dÎeËNÝÄðèž_hëV@â@™]‡B7§ìPq`Q:ýûN°Õ Ó õeÒÏ ’˜~¥8·-ezLÐ +éÐå¾øÛüšð¯C–]¥ƒgóä‡ÑZK%²ÑÇIv^Mð|l]°9BoA +endstream endobj 1333 0 obj<>stream +Ÿ6¢ÿ<ØûgéÁ56~\óϵba«³ÖcwجËrnH¹Ð‚Þ)¡|b]7Ö›I÷Œ—ez×f -M_ÄÉD²Ö=‰†»Ç»h0, +ìH ÚàžJsÊ4Lb’–°@Fè•ØßÌ„ëÐÀ Á,€½à÷ rR²2‘›k…é<"c³ºávxF(ƒŒ¥¾ Zù8ܽyû¤X„U¿î­‡¶¨}ÔŸ$ÁG…ÀV//õFïgV`á>„³ÆùÐy4ŒoÀµæùðipo¬Ý¶šÜ:³{t'\À ž]Ü–{0æ°Û£°]†÷ö/ÂÞýá)©ôyç³Äô5O¢73V RñJöWø(N(‹¦òÄç Y˜Ù]Ù˜Fÿ[šCœ~TYº¡Õà¼0«/«éLUÍVïªUµü†“ËZ»ü':•Bx?WIõ‡ç®ã[3¿=œÎYÐ<Ïn›NÓ¶×æÆ>̺jÍ0QE„¶î™–ít‰~>ÿwÒDt›>Ä6.+@EYëžuñÅIÛ´-Æ7½n¯Õø•ñÓà¡Äa×¥>˜fs¯ H÷xQÖMLÙã>ŸóôœsÉåR†õ9¼8´è.`GT·]ÍT”süLœxNfè?àV±ÅøŃðÀŒn†ïÏ~ fÍ–}rmõ%+4xù¤²9怂GM×3)Ž&}¬4ÌVÎ24@‡ªÒM¾{Ï(ÕwD¡)ÏA¿ç¿+Æ +aÞD(¡ÎñÙ!¨±ášM˜V4-Òºo—½'fÜ3Úg”„¾½ÌÜóqÓ—‘Ýíÿ¶ÔC +œMúøù¨æJ$з`1©ŠåµñWgŽÀÙq›Ý0ÊíÿàI㤚¦ @ô]»™ƒwx3Ç1˜zCgÓ—¶…•2Kãã¤j¶Úmr' €Öy² À›úN¥_±:››V^Œ8kˆåԲ홥¸ò…^Téhÿö!Þ*ƒÝa“ ·$Ï´FŠ<$ßÝ)"8fïÄl‰úH@\ý·yvƒmŠ Æy>stream +•¨þÅ»*î[æF(ùé¦ù hÉ¿yk.W‰yÐNg鬓ÔŠòˆç’žã Ì®œ£îâue–Â>'¶rÆUdYÄs¡¾ü;h1PØç”°>lg¸ƒ-^ +e¶ßæE2¹ ”8‡"œ4'·N©o7ksÜSyý›d_ÃÔ6M%‹X †5Oÿ±6§g¥a0a&¿Ñy§Î«WY®dî=¥|vp™!,î!ç ›‚à+¯¦§Ù{2Ø3ÏLõ/Óµuø¨ê"Ç®+4#™nÏÙ€Íl4qÞVîc`É£TÂÍõµè/„÷ð°| pÓ¤¾ýŸm8Ú„PFª.‡~“¢´Aƒ§‰^>Ž£›ÒÌwù­+8£Ö»¯Aº¸‘º¼ Êp rL¦Ä[Kš;ôÉ‘Õ¼òXýº‚“àG×GïÊ.í´YÀR îíF+`²Ç«kXÃYA¤sòõµUW°7¾ÐðAº_¨’R(W9¦%Ý2á~Ljx6±Î…B2"æšÖ1ÀµQ©%“£‚5IÙ™T¾$axDRJÄÕhaær›ƒå2±ü*™­2E õŠßA_L×Ô „0[¹9‡9ágÁh¨ŨLÕ¶ƒbÒÄOqL;´)»Œ‡ët=I+Up9ìnãˆ"­{ñrnñbw`팆p-fÉW‹ï:á?Ÿ)ëØ SL²âó›Ù^«gĺKð­M"ªr#mhºÕŠTÈÕ°ýú¡_j3DšoFS‚5ÊÂÑ#«*ÛŸ˜ÞÊåÇ€æ +ƒ*°ÎRÇi I¡E8ìî¸8øƒòU +Q&>stream +žCÖׂÎr0æ;Ç¢ci¯+$A¢#íJ)w*–}túäÜÇfÉÍä+܃µÜÜÀµhju[| ļ—ô÷Àqøïܲ×¼¿IÕͧÃ:âº'¯+[í=¦M"ÙAúKüà 3_¡'ÛánÄA{9Ò5ηýÅ¢ô…5iªûغ5\.Ú1ÆiVCEÀ›+:Žˆt4ÈàXLKìƒ?nà¹&™L‚w¹Ç¹§3M* ö«u¥ü™ÔÖA.½§Û+ "B;+ôð`Fž¥Ø¦Bw_Ôåýœ(±9p Ãúïì¾ïÏOÞÈrÖ€¼éwZ•Å¯X wyÞ$YÀV1}ÅPGL +ÛÂcmûR}À9¾Ëo¤} ª‹šÈúÙöÖkÙŠ3½û#$Û:››mÖ÷„£JØú9º-q®®øe HÓ]\u9©þç¸ßù<àÍØ›/{èÒ%]pÛ)e0¤$i º6çÚ¤éK•fÖôÖR· +áÝìdÿZzÿ“~žÌ§Ú¢PÊà+ŸEVÓº¬3MX@u…;Î"’¿ÊÎËP)BûpÓ…ú Ž˜ÙQèm%ÀGy80ª'ÜîË­ù‡±˜ãÔcãX9lùÞ;¼ÈdÅX‹µ;[*õýg °ˆ{Á{i +cÕ@ Ü%”ˆ)ë‹\‘æŸw^ïzˆtÞûŒºÙ¦ºsˆ¡6ãg@Aa§ŠµìëÌC i#®U£™”I£Õ” +lÅÿÓ"e› +ìÖ/a^T.GœîÝwÓìS‹lEƒ£kt¥>S,3ö¶éMﶨäÿÍ’G¿Ÿs É µiÔ 1mÛGÂ1eãn}ˆƒ——ç~§è`ؤKAä] i|g¼áhI=[4¡xý¼abÄ—wîÎ%£ €âOB¦=›6UI¡û¢£âÇ|Ÿ*Òyl•«¨WßÉÆc‘OÐ’ëCK“ +endstream endobj 1336 0 obj<>stream +·*Ÿ–„äu®ž‹Å–óùbç™ «m†T"·«åû™2Y‹»ðô:Ô¬—Ivõ‹šòi³Ÿ–é¿wµ]/´£j~Ôߴ悪ón½oÇ+oD“ë¶ä¤Þä_]ü4%åÔt‚Ý1M¼ØË.ˆáÈ3âÝ èþ…4Ï„´;x%\UŠæ;0rÝW^½÷Qê»ùmç¯õ¼&j…±ÒG²0õ ‹†IE— ý£V”ä4àaž;óQ¸o<гúô*¢|Þ,D¼ŸôÛoH  æºjE©[iŠs–$AĶTÅ’!XC†äòöÜ#uW†ñkp×2!ä˜÷.ó7hKfðôº™0±2Ø …TP §­WêõÆ{£Xž÷ü69èè6„È6†…ÑJ‡ û”ç=¥‰PeÁ% +tðÓ½&ñsZß'Ù³a‚- ìÙ¥ßW—Ì™;îEéô‡¿±ÁÙêp}ÕX`ø¦àHK%á’Xa±œ+!ƒ0)…©`œ +w† ¢3¤¼I œÐ¤ÌbËzãÁzGmds¬‹Ž–ë­° dB»ø^SDEg¸Êà¶mTÔ·Ž?„» Bf§–£¦ö E_AˆÅU`§ZŽw÷éú­¬³!N3@F= ‘Š²l¡k¹‹ +ÿ‰0˜O(Z“÷ÇÊSvm܇„ø«Ÿx?MÀ{ðcrÌ*bPŠHàhö ¤ý²Ô6(ÖbÚŠG”{MKa™ªŒØ2£êÝÏ Êíª ˜߇õ oë: ¦Sxðóâ±Ù,ñ&}úW{m:ꥑ²ý4¥W/ê,»:‰’©øn,ž“¼-ž¸©ore¶Ý7 p¾¡"²i„örAL†®OöØ]¤5ÌfBGßV½¤ƒÓûŽ{»Ü„Ÿ®Wc³kn¬…H£þÌUºÃdÂÃ-B3Ê;†÷r¿Hº%X “¥&-åÁÕ=›§BM¸ævžç4C÷¢ã½G¯(‹(;âiC +endstream endobj 1337 0 obj<>stream +å-4L…èqÔVa£Eîü 3œÜŸò´og#iïNçëòÖx§‘™ú]Pn¾Ž¢Í‚}µÃp¶7ø‹GýŠ´õ8оi—ˆ½û ‡õO-rý Ÿ,´ŽµÀVl’%â“Õ·t$Ñöî’Tx+3|r`D´Tê¦iÒ%?É?º ÿß)Z¸ãzaþ–'0,{•ž X“0w!3§ ¤ÒøÏ} —©zÓÓÖ;Y¯øab¸k+Lˆ¶ # +„ËÓÌO;‚Õ»5¦M?¨;|3?¶–ÀÑ9›”€(>›ÞÍ´¤ãéÐ'‹%“_+Š1ÁSFÁ×ï0ØŒE,NžÒ«•O¢¢ó>P†(]â{=%,±!Njý°ùlyÚÓj‹µkÓÐw­!¼ˆëá¨ÓKVà3ãÙΖ ¦çƮԪO}¶a ÆÑ~wæÛpç„ssë²?`Úû +ò¯8–µ. /:Ï­" ­ZCW_eu¯ì ù!•Å»{TŽÉ?mRCéZD¯å3<šas§Ð•W†;Ò±k^X †5þèA}²Âw}82tiÙò•Ü2°Öÿ™=FÒzñõ?$Ã?M‹Œâ½MqF"ƒb&ÁÊ°²w*(UÚà=,l‚<‘¤¨qTþb 8üšŸ×ÉÔŸ¯œ2Å‚pÛ-S¡ãbnìcÚC“/óÙ—â-¢,;f¡¹×¶­ª8_ ö§q/à4€ï3Ìc@Œlh"‘È Ü”>8ØÅ^ª6DÖÁyúÒ.g«tà ®*ó`s1øÓ¶£EOë1b«†³{›îfÑi$Œ«’ƒx¨?y{ϲ.?3Jïµ}Í`"аij ’×'P Ž–nkŠwh¯^g>­0|ÉÊÔ­èÍ}(§ÂÚÂà"oOq%[‚ Ü@»ê}”o'iØO=½Ç¡O ktúãžZ’¯ào§±rTó1Ÿh!z€ýÑm*3 ò?2&ÂÐÚþÈÞ¨08SQÇy¸ªD Èo- + +endstream endobj 1338 0 obj<> endobj 1339 0 obj<> endobj 1340 0 obj<> endobj 1341 0 obj<> endobj 1342 0 obj<> endobj 1343 0 obj<> endobj 1344 0 obj<>stream +W ÿ)ySÐB:±«izÄÙCã´I˜@7aë ¾T¥1Ú eÿ%ßÜ,c_„÷¢£ï9áWJd¨õË×›ÚL¸-m÷¥æ¼Är7“#SŸ·£6ªê†—§›FYWšØµaß;.^°Êã©d²vô|“óx ÁFØ—_Ð!Æšáa™5¢eI§‘©káÈ1Ðõk~=®ƒ™Þ ÉÃDuß2¨ÿ@ LØðË“ÃÖµÆÄmþ•Â† -h©&îm"‹z¬ubÃ*v‚®ôÚ†Æ1!,E?›*tD°ŸJ?Ž{€a0…=òi,÷d%§dæFWH ÄD"ƒ+Z˜V…ÅÍzH¦jrZå}åår)5€˜¸8Êߪß놪¾â1¥ÂÛ'×Þþ„{šžóXh[†-û\ò°Ÿ?…žgÍÂÇI2>h]è3ԛDž¹ÊTÕ®Xºî†d\L'g”x-?w$A w@ÛFÉxq)zÿQ"æ‘yÒaëùs«cuT3Þ\iÜ3º7Ÿ~ž9|$"ÔÛ6ñî%ü'ð½’ðÚx@W ¸@ü¶U¦P×a^‚:81¿Qà„Gˆ®Zé ¦[ ¿ +DhíÀÝtU +æêæïpÏo~¥³ÚY™ WƒêB¶Vj:Ó-'a8¨Ñ¥ÿY"®d èþY Ýöž4,ÁC*Y«ýQšù­„P.Ô‘àhÜ'& +Q +endstream endobj 1345 0 obj<>stream +ÇEL}σˆ´± ßæ¾.’á/L¸ÅÉf·sŸØ•È%ÖuÑ…×ßp´eæÇû=å¸ú.aƒYר° Ôn×·¥`ž;7 W´D»‘Ú¶e’ºÝnzÏj°©~‰ˆ¸[P<í§H¶›ÝïôneAcÎxÖœ’ÂÍœ“9pã·¼Iü+¨t’_.¸{d-èEÐnZcv,€m,˜È«˜[ ÎEü„Ë&è¹ Õ<£VÀ€èn)rf Ò×L…CÑ¿˜¹a%íUÁ ìþ~-;=Lt]ê¾õFUá,ô4ž×½„Kê„ÆÚÁˆàúºãß/ÍÇËw{U予4 üX#¤†#’7W7žL«ƒÎ kæ1¹ä Áà&öìØyýx£s­£™’ã„"†}×`Ž»P¿=¸3[a7¢É&«†(ÒŽ=¸ÿ +ÜÌ$‡ÚéMµ°í„8âäºMÍRüB³‡Ê˜E;%ÄÄçÈú3Ôu„®Øg3›¿›Zï +u «Ø’2·Œ9öÎFÔ¯È$®b‹Ðwôµð²Vdÿ^„YzœWÑ™™…õ ½uEñmÈå?Šºb襘‡Ì,¨¦j¤Ó° ÏGv.×^Ý’wð³Ì‹º.]z-Ó\MAKã%qI¥ÀHwTÒ;š RÑ>ଘñmJ3©h€pC·}[Í}–ñø©pùõŽðAã”ÍfàEÄ‘#1ÕÅË9}ÇÀ ú)̨G >Õ\cIð„=ùd€r½¯±‚Æs`4jS…>yùvFK;¥5?^åý˵Á `P£bV©X1”/˜¸Ö§¿º`÷¢1º¢&)t$`ý‹:›Sª*Û(¿¥ S÷ +kå9Rrûà’Àm¸énŸÑá®Í.¯2ßÀvÒe i· +endstream endobj 1346 0 obj<>stream +’lZÞCÀW‹ŽÁtvTÃñ¤Þø¤+¶'ÜžšcŸ¶è?õìû€Ñs—ý]Í›™mgfù-›Œ'”ËKÆ_r"MÌÁ,"õ™“Nâ°’O. +$ÏçNAµ%·Ÿøð[LuK `Ñ3]D.žÖå|mkÓ|4&LPUÈk¡K`e=6›Qmº`"›ïÍ­ÃÁ‘ bSw¿ÂÆ´Åb«$îˆJ +"ãtÈàPƒÊ@Qп+Ö=â`±ž?,uœÝD&¼:åÖ­‚sË£9©o»”ÎG˜^{/‚zE„N¬âoîÀ’ØF”­z¥<2X¬‚® tAæë“Åçè—‚l©vWKrÌrçôWÓñа¤ÒLeÈ„ï”VÆC¢®wÇŠ1Š”Q5£Ì&Ý'$Çz¤äL £-€U|à\‚ ªcÚ_(i…"z¥¹÷9yeYûyEýLf p©ëçÒkX>)ØxŽµÕ#?Y†`QÖ–Û=‘á ?…ì [ئW’ +Ö•”˞͕õéÕBÎЫ³L¨’) †3ÚRöÖæì&vHƒÖbù=õÊ ý1íö ýrtV8½5¶id[3~:ð€âãìRIpñln¬¹ìg¸>&]ã…w´±ì&áÜÕqU=èË~ÀÐøYšzÉ6±1tèq7àqdc* ñ†Ž Þ®à L2Î;?ºJëÝTœ”ñ°-›®;ác‚`zªúXTƒÕ‹%¬'w2ê ¾7=çoK΃›3Ô¸ú™õ¬Iw.”**õ_?âg—´5ÇNû¦¾íŒWL)Ôõ6{vnŠŠgPWÚ$¾*b‚ÑôXõv5—ëzìP)YˆVYj«‘x–(‹É~EU3ë +üÍÜìêþ˜^åSšÎ’U`Z~Yfíí¤P3puôaÎgUZúS‰â—bJ×ûûÄ|kÒz»-¼Qjš;“¹‡çŒ¥jü<ñ*ì ñL{ùk¿ûÖ'$OÇCÌgˆœg7ô=ð³¶örwï¾ÊIçC +tñÊ(R™é +ïTÀ +üm1aW”̠ߪÐ0©³íù€y. Quˆ Ÿ¡Üõøæ¬c˜Üæx—ëñuû@Ct~ }QûE€÷´’¬ébˆgÏFÏ7s{I—•³"T %Ê9”Ž}óÌZï%ú!f:ïÚÔUÏ`AÿZˆ![qQŸ¬öO½4&W†"¿}PñŽeàçáÕÄ=ö¯W`Ê`Ñúü”ÐSùO쇙ËHÚdÔj´C²®b“"(¤@ÐE#’FB,²ŠØA‡ÔuÈà ÂS2OžÊdÖùtÝBKrÄàM©TàÛmÇGéŸl(t-ï~ÊÿטÿvÀØÑúLÓ=q*~ž,Óÿƒ4vú~2—¾¾ïË2Úµ©Œ.·Úξ-ÃF KpèHºñGc±^ PÓéç*RhÍjV³XÄû’luºopÃZFšÈÖyHè1/’d?AÉòn.¤ôš€"K—æeyÉÆniÒ_ðUËÌ¡ z;5žR¤ï/%Kg£(þ¶îª::‹¤À­ÜÚï-Ú"À¹Ù´’¦'!R¿ _RpçÔ‡¿‘>ýákÝ‹B7[Ylfâ]dÔø»Š·ïÏé¥[ñ°Çb/d²ƒ ™ëJZE¬äd+/ýêh?¢¥}ë©Í¤§F2MÄùµ ^³¬hÚ¶ÀCZljQÀh7#4fAJm/zîOÀ®H® XšEéÂêŠü(g8üíd.²ÿ*cÐëc5&ÐuÑáUûÃ}PÕ¢&ÀÉŒµŒWV-Eˆû)˜[뱊b£ñ:R›Z> endobj 1348 0 obj<> endobj 1349 0 obj<> endobj 1350 0 obj<> endobj 1351 0 obj<„\(÷P³ñÝÚ§4zôCšf„ m.Ô¼b ·;¬1Ë‘ë7lw»y7…5)>> endobj 1352 0 obj<> endobj 1353 0 obj<šÑ*‹›öÉNˆß)>> endobj 1354 0 obj<> endobj 1355 0 obj<> endobj 1356 0 obj<> endobj 1357 0 obj<> endobj 1358 0 obj<> endobj 1359 0 obj<> endobj 1360 0 obj<> endobj 1361 0 obj<> endobj 1362 0 obj<> endobj 1363 0 obj<> endobj 1364 0 obj<> endobj 1365 0 obj<> endobj 1366 0 obj<> endobj 1367 0 obj<> endobj 1368 0 obj<> endobj 1369 0 obj<> endobj 1370 0 obj<> endobj 1371 0 obj<> endobj 1372 0 obj<> endobj 1373 0 obj<> endobj 1374 0 obj<> endobj 1375 0 obj<> endobj 1376 0 obj<> endobj 1377 0 obj<> endobj 1378 0 obj<> endobj 1379 0 obj<> endobj 1380 0 obj<> endobj 1381 0 obj<> endobj 1382 0 obj<Ô@ûì49'TI0ÛkLÉû´˜AT«WCsÿÞh)>> endobj 1383 0 obj<> endobj 1384 0 obj<> endobj 1385 0 obj<> endobj 1386 0 obj<> endobj 1387 0 obj<> endobj 1388 0 obj<> endobj 1389 0 obj<> endobj 1390 0 obj<> endobj 1391 0 obj<> endobj 1392 0 obj<> endobj 1393 0 obj<> endobj 1394 0 obj<> endobj 1395 0 obj<ßãX7áºøÆ»©ó“­Ø×MN.?K)>> endobj 1396 0 obj<> endobj 1397 0 obj<> endobj 1398 0 obj<> endobj 1399 0 obj<> endobj 1400 0 obj<> endobj 1401 0 obj<> endobj 1402 0 obj<> endobj 1403 0 obj<> endobj 1404 0 obj<> endobj 1405 0 obj<> endobj 1406 0 obj<> endobj 1407 0 obj<> endobj 1408 0 obj<> endobj 1409 0 obj<> endobj 1410 0 obj<> endobj 1411 0 obj<> endobj 1412 0 obj<> endobj 1413 0 obj<> endobj 1414 0 obj<> endobj 1415 0 obj<$T4=ƒô?š1!Xyì®ÑÊ+×8)>> endobj 1416 0 obj<> endobj 1417 0 obj<> endobj 1418 0 obj<> endobj 1419 0 obj<> endobj 1420 0 obj<> endobj 1421 0 obj<> endobj 1422 0 obj<> endobj 1423 0 obj<> endobj 1424 0 obj<> endobj 1425 0 obj<> endobj 1426 0 obj<> endobj 1427 0 obj<> endobj 1428 0 obj<> endobj 1429 0 obj<> endobj 1430 0 obj<> endobj 1431 0 obj<> endobj 1432 0 obj<> endobj 1433 0 obj<> endobj 1434 0 obj<> endobj 1435 0 obj<> endobj 1436 0 obj<> endobj 1437 0 obj<> endobj 1438 0 obj<> endobj 1439 0 obj<> endobj 1440 0 obj<> endobj 1441 0 obj<ÃåeIVp_mè)>> endobj 1442 0 obj<> endobj 1443 0 obj<> endobj 1444 0 obj<> endobj 1445 0 obj<> endobj 1446 0 obj<Hf½  ^“ËU\\ÙæˆT.¨YR£¹GÎ'90?kÑ#)>> endobj 1447 0 obj<> endobj 1448 0 obj<÷Ép)>> endobj 1449 0 obj<> endobj 1450 0 obj<> endobj 1451 0 obj<> endobj 1452 0 obj<> endobj 1453 0 obj<> endobj 1454 0 obj<> endobj 1455 0 obj<> endobj 1456 0 obj<> endobj 1457 0 obj<> endobj 1458 0 obj<> endobj 1459 0 obj<> endobj 1460 0 obj<> endobj 1461 0 obj<> endobj 1462 0 obj<> endobj 1463 0 obj<> endobj 1464 0 obj<> endobj 1465 0 obj<> endobj 1466 0 obj<> endobj 1467 0 obj<> endobj 1468 0 obj<> endobj 1469 0 obj<> endobj 1470 0 obj<> endobj 1471 0 obj<ü›õÍl…p”UuQc+ô;WšÃè©SbïV¿hGÁSo¾`¦ )>> endobj 1472 0 obj<> endobj 1473 0 obj<> endobj 1474 0 obj<3\(Áɘ'jvFƽCR þŽ$_ãOzUÚ¢¡¡ì…_ŒÇêJó])>> endobj 1475 0 obj<> endobj 1476 0 obj<> endobj 1477 0 obj<> endobj 1478 0 obj<9Ž¡ÍŸcÕ ª—RV\\‰bXqžy}aCLný‹u©bá°ÉƒÕ\(Èi§ÓÝ@©~mz[)>> endobj 1479 0 obj<> endobj 1480 0 obj<> endobj 1481 0 obj<> endobj 1482 0 obj<> endobj 1483 0 obj<> endobj 1484 0 obj<> endobj 1485 0 obj<»^íT–‹ê0ysa¼³“Ñ¥ò‰VXHê*ôþ\n?/ì¸ý)>> endobj 1486 0 obj<> endobj 1487 0 obj<> endobj 1488 0 obj<> endobj 1489 0 obj<> endobj 1490 0 obj<> endobj 1491 0 obj<> endobj 1492 0 obj<> endobj 1493 0 obj<> endobj 1494 0 obj<> endobj 1495 0 obj<> endobj 1496 0 obj<> endobj 1497 0 obj<”q?",hÙL÷²Kär¸U´àfZ)>> endobj 1498 0 obj<> endobj 1499 0 obj<> endobj 1500 0 obj<Ú0¸\rj¶MÌ1‘Ïî”»)>> endobj 1501 0 obj<> endobj 1502 0 obj<> endobj 1503 0 obj<> endobj 1504 0 obj<> endobj 1505 0 obj<> endobj 1506 0 obj<> endobj 1507 0 obj<> endobj 1508 0 obj<9NÃ¡Ö )>> endobj 1509 0 obj<> endobj 1510 0 obj<> endobj 1511 0 obj<> endobj 1512 0 obj<> endobj 1513 0 obj<> endobj 1514 0 obj<> endobj 1515 0 obj<> endobj 1516 0 obj< ™»;æŒúÞ*r Çž<$åüeõáê£ÿ\nÒýe\\îñP3mt)>> endobj 1517 0 obj<> endobj 1518 0 obj<ð7äóVשbOž')>> endobj 1519 0 obj<> endobj 1520 0 obj<> endobj 1521 0 obj<> endobj 1522 0 obj<> endobj 1523 0 obj<> endobj 1524 0 obj<> endobj 1525 0 obj<> endobj 1526 0 obj<> endobj 1527 0 obj<mÌR ¸±§èN%tZÛŸÃJm* óh¤)>> endobj 1528 0 obj<·)>> endobj 1529 0 obj<> endobj 1530 0 obj<> endobj 1531 0 obj<> endobj 1532 0 obj<> endobj 1533 0 obj<> endobj 1534 0 obj<)>> endobj 1535 0 obj<> endobj 1536 0 obj<> endobj 1537 0 obj<> endobj 1538 0 obj<> endobj 1539 0 obj<> endobj 1540 0 obj<> endobj 1541 0 obj<> endobj 1542 0 obj<c,Õ)>> endobj 1543 0 obj<> endobj 1544 0 obj<> endobj 1545 0 obj<> endobj 1546 0 obj<> endobj 1547 0 obj<> endobj 1548 0 obj<> endobj 1549 0 obj<%nÇq1>wý¢g9wüÅ kT@¨“ê)>> endobj 1550 0 obj<> endobj 1551 0 obj<> endobj 1552 0 obj<> endobj 1553 0 obj<> endobj 1554 0 obj<> endobj 1555 0 obj<> endobj 1556 0 obj<> endobj 1557 0 obj<¬Kh܉îsI…¡)>> endobj 1558 0 obj<> endobj 1559 0 obj<> endobj 1560 0 obj<> endobj 1561 0 obj<> endobj 1562 0 obj<> endobj 1563 0 obj<> endobj 1564 0 obj<> endobj 1565 0 obj<òLèÍ*ºG†3.Ö§”j œô€Ü æ»GT×í–/ã´\rñ#Hb±)>> endobj 1566 0 obj<> endobj 1567 0 obj<> endobj 1568 0 obj<Íaãûò$»ë‡n,V7u*)>> endobj 1569 0 obj<> endobj 1570 0 obj<> endobj 1571 0 obj<> endobj 1572 0 obj<Ÿ£–̲—ÍñÄ\(Eñ)>> endobj 1573 0 obj<> endobj 1574 0 obj<> endobj 1575 0 obj<> endobj 1576 0 obj<> endobj 1577 0 obj<> endobj 1578 0 obj<> endobj 1579 0 obj<> endobj 1580 0 obj<> endobj 1581 0 obj<> endobj 1582 0 obj<> endobj 1583 0 obj<> endobj 1584 0 obj<> endobj 1585 0 obj<> endobj 1586 0 obj<> endobj 1587 0 obj<> endobj 1588 0 obj<> endobj 1589 0 obj<<îÁò+ôœó§Þ—æö)>> endobj 1590 0 obj<> endobj 1591 0 obj<> endobj 1592 0 obj<> endobj 1593 0 obj<> endobj 1594 0 obj<> endobj 1595 0 obj<> endobj 1596 0 obj<> endobj 1597 0 obj<äb<3[öâ 'u«×Ø’OÏЀ^æÎôeË;)>> endobj 1598 0 obj<Ћ-/Žy¢l6%³—ÒM ómú¸% ä\(Â÷)>> endobj 1599 0 obj<> endobj 1600 0 obj<> endobj 1601 0 obj<> endobj 1602 0 obj<> endobj 1603 0 obj<> endobj 1604 0 obj<> endobj 1605 0 obj<> endobj 1606 0 obj<> endobj 1607 0 obj<> endobj 1608 0 obj<> endobj 1609 0 obj<> endobj 1610 0 obj<”Í<ø¢)>> endobj 1611 0 obj<> endobj 1612 0 obj<> endobj 1613 0 obj<> endobj 1614 0 obj<> endobj 1615 0 obj<eÓ9#PºµTNNêÖScps§p™á•)>> endobj 1616 0 obj<> endobj 1617 0 obj<> endobj 1618 0 obj<> endobj 1619 0 obj<> endobj 1620 0 obj<> endobj 1621 0 obj<> endobj 1622 0 obj<> endobj 1623 0 obj<> endobj 1624 0 obj<> endobj 1625 0 obj<> endobj 1626 0 obj<> endobj 1627 0 obj<> endobj 1628 0 obj<> endobj 1629 0 obj<€^¼@3M¶)>> endobj 1630 0 obj<> endobj 1631 0 obj<> endobj 1632 0 obj<> endobj 1633 0 obj<> endobj 1634 0 obj<> endobj 1635 0 obj<ìÏç ´0VRûìO+«‰)>> endobj 1636 0 obj<> endobj 1637 0 obj<> endobj 1638 0 obj<> endobj 1639 0 obj<> endobj 1640 0 obj<> endobj 1641 0 obj<> endobj 1642 0 obj<> endobj 1643 0 obj<> endobj 1644 0 obj<> endobj 1645 0 obj<> endobj 1646 0 obj<> endobj 1647 0 obj<> endobj 1648 0 obj<> endobj 1649 0 obj<> endobj 1650 0 obj<> endobj 1651 0 obj<> endobj 1652 0 obj<> endobj 1653 0 obj<> endobj 1654 0 obj<> endobj 1655 0 obj<> endobj 1656 0 obj<> endobj 1657 0 obj<­÷v\\ >JUÀìÒüN2Ñ)>> endobj 1658 0 obj<> endobj 1659 0 obj<> endobj 1660 0 obj<> endobj 1661 0 obj<> endobj 1662 0 obj<> endobj 1663 0 obj<> endobj 1664 0 obj<> endobj 1665 0 obj<> endobj 1666 0 obj<> endobj 1667 0 obj<> endobj 1668 0 obj<> endobj 1669 0 obj<> endobj 1670 0 obj<> endobj 1671 0 obj<> endobj 1672 0 obj<ô…¶ü:ÿü…—eG¿^A \rµ•ZÉž¶ðq\n¥-ê#)>> endobj 1673 0 obj<> endobj 1674 0 obj<> endobj 1675 0 obj<> endobj 1676 0 obj<> endobj 1677 0 obj<> endobj 1678 0 obj<> endobj 1679 0 obj<> endobj 1680 0 obj<> endobj 1681 0 obj<> endobj 1682 0 obj<> endobj 1683 0 obj<> endobj 1684 0 obj<> endobj 1685 0 obj<> endobj 1686 0 obj<å˵ÁÐ'·ž)>> endobj 1687 0 obj<Ëg¥š-ª?Tô|‡Ç·èÚu -;Dh‚5õU€ ’cÑëkï )>> endobj 1688 0 obj<> endobj 1689 0 obj<> endobj 1690 0 obj<> endobj 1691 0 obj<> endobj 1692 0 obj<> endobj 1693 0 obj<> endobj 1694 0 obj<> endobj 1695 0 obj<> endobj 1696 0 obj<> endobj 1697 0 obj<> endobj 1698 0 obj<> endobj 1699 0 obj<> endobj 1700 0 obj<> endobj 1701 0 obj<> endobj 1702 0 obj<> endobj 1703 0 obj<z,58×á»çC¼¨åêíì)>> endobj 1704 0 obj<zQˆÙ¸¥)>> endobj 1705 0 obj<> endobj 1706 0 obj<> endobj 1707 0 obj<> endobj 1708 0 obj<> endobj 1709 0 obj<> endobj 1710 0 obj<> endobj 1711 0 obj<> endobj 1712 0 obj<> endobj 1713 0 obj<> endobj 1714 0 obj<> endobj 1715 0 obj<> endobj 1716 0 obj<> endobj 1717 0 obj<> endobj 1718 0 obj<> endobj 1719 0 obj<> endobj 1720 0 obj<> endobj 1721 0 obj<> endobj 1722 0 obj<> endobj 1723 0 obj<> endobj 1724 0 obj<> endobj 1725 0 obj<> endobj 1726 0 obj<> endobj 1727 0 obj<> endobj 1728 0 obj<> endobj 1729 0 obj<> endobj 1730 0 obj<> endobj 1731 0 obj<> endobj 1732 0 obj<> endobj 1733 0 obj<> endobj 1734 0 obj<> endobj 1735 0 obj<ÌjÉU-À9²Q£Wù,Ì)>> endobj 1736 0 obj<> endobj 1737 0 obj<©Sn;;®Ya\\³ž®uŠA¦¸Í.ã)>> endobj 1738 0 obj<> endobj 1739 0 obj<> endobj 1740 0 obj<> endobj 1741 0 obj<> endobj 1742 0 obj<> endobj 1743 0 obj<> endobj 1744 0 obj<Ì¡ÐÌÕªš‰™x\\ç)>> endobj 1745 0 obj<> endobj 1746 0 obj<> endobj 1747 0 obj<> endobj 1748 0 obj<> endobj 1749 0 obj<> endobj 1750 0 obj<> endobj 1 0 obj<> endobj 2 0 obj<>>> endobj 3 0 obj<>>> endobj 4 0 obj<aËþ'ÁRÛ /yÂ\(÷ɳ )/S/URI>>>> endobj 5 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 6 0 obj<>stream +ÇÎ0s\ÊìÎ/̤8<5Îh`eÖRû!õ2¸»] `U7¬è:V,kßnpþ¤Þ­…Vª¾ïü›!×ì³ÅÝäEHù»$ƒ¿\,ˆ€W¦ëË9YTEl‚–~ÑQ´¥ª±‡yÉï{IÐœ–¶#FN[Ó7øÄéçøɹQÑì‹0µÄvê®›HHÿr ŠoÚIÛ®œ&§e°UêÅDäy‰ãQ¨­bÞQ̲42ãj½}›däžÛ)¬Z—˜$4%ù¶Woi– "û¨¥¢Üu® +Ë×õÅöÙ0¨ Iš©Ýb{î`êkÂR†Ù4iÆ\@士Mß#¼Pí^Á‹³Ñý*à,¨òïÛgÝ@§Ðq‹À¤˜@Šž! ÔÁæ!Mñ3fýx`×xÃh½6pÙ’ ÊYOV_­zýÕXƒ‹`@ÇýX`Ô5ÙMþöˆ,@ I¹“B8Ãñïx_T‰µ°<œ,™'TŸäæ¥2õ¦õË^Í–Kž*q8žàÓðpÅ;¸Îàˆñ_ê¡e  °çâû… ” òèb„’ÁX þ(;®Ò?£Ìo9Ã%*¬e“ýºçÈã½Ë˜»'ø„¯û©"34Z0ß‚¨j¾†óŒÒ›ÄÕb2ª»Ðû*L‰bKœLj³w¤½º®®¶Š;ĘÇruBr/‡e¡íÀkeÅ0Àêi‘ü¥Î^>sT¼TF‚ 䦞änL—}~\euE~XW«…™¹gÆLÜæѧY:Zƒ™ðlNy½ºúùJ Ìv5¾+9¿fès[²„ã¡R];™w»IòÐÞ‚òGNpÇßef‰±ð»³ÛàhõL÷ Šz©VPuç3s“iƒ’êÔ,ð?Ï K?]­Dý$¹›Ý‚»w_å‰C¶žû¾ŸœÞ×êEXÁB—õáD†ð¸®?Um=–ï'O‰N•Ìmsë‰ùfÿ¤¦ ¡´{æÈf`Þ\î->{,£&®É¾6ûMe®ŽJ̨ôÜ#~o?ä +ã¡É‘¾—Ó~z"C¯L,0¡/Š±…S¥ tBG§¢¯6Š i¢ +ôªƒÈ$´JJSG WÐ ŽeT ØCyïßøo`Xµgú= E.-¶8)¶ "ìß=Óu:êZèeñ 3Á"üó¡Ÿ8òÛ–¡å¡n׺,4¢º+b ¿8 œDLs8åpÞ +3Qºl¨HA¡±º tͳ·Ïµ…Y<ýࢥa¦¤tJH Â'>ÒȹMÂÖìehù#Õ˜@6ª^¼Ö˵æÊs¨íé* +ûßœŽ±LßÉp²•€æ'YpÕ·ù*HwÿÓÄøêÚϺë<ÄÇ-C’¡D‡éªbÁZ˜÷™!%ß Íã¿þ‡»F.Ò¼Eš. ¿0ž‹<%ÞdðT¯T‘oÜK5û"8Mw—eB`ž\)¾<ä L µ§c3@¦Ø/fIê”vaoÀÌ¢´¿ô]§cu„Žd²Ø¢UZ*«E!Š£SB83ŸXÂÇ󘞉+ÒlŠ÷™Ík6).Mûé¨Uë…¯_–Ì„ÖA]¸Ü+çHä} =Ÿû)ì8{ÄÓ—£3ƒÜ3H´hÅó>W4)Bc„¿áûJ‡Ëmª—<éB×…\ÀÖú»šõ¡xlp IþàÓ/” 4Û’”‚Ø„žêÕy‰)Ÿ!äìü„¼Hx´3‚0ÂŒ‚øOQ!U%Ïö$Œs_íÑY°1ÕßÝ`J ²¯ÞäßÙäs¸ÇÖ|{Ïpöúâ>ŽŒ˜ÉüØn]ç¶Jàs‰ï(3ŽŽ¡äÿù!ÊxôèP =—/%gGˆJ1ÖWáÌ&YTÔ5æ­„Žd[Ìi‘êW@‡Ù7b$. +þÿOî’uÝȲ£âzêùef&ïE+ÁXþšÔydb‡¥¡ÛŒÞ–í¨°O&²±£y»-äÄòÔÿùo+Öq *¬0È„ŽC¯}³,á¥`EŸªÔ^,€H¾­$dʺm‘«û†µûd®-} žR¶O††Ñäþ¾ÄöLóKw·–XVŸÛ̯wû;ÐYùÜ ¶>?·?/m|óð¶¥GÙ{ÿV<‘^˜/Æ9š¸˜™ç„kNû\öLM]ù ¹ù/çx¾Á ¯QÚÒ¢ó*1 ~äVqÏdÖzV873jª°ïk âÌD:&Öc¥hOü²Ý2Fj÷jDâ?.¤ä4íuë·Úív~ Ñž‰Ú«$«Ï~Ò0" ½¹ê©V£Sgú’< ¿~B¼ì>x(C§ÌA5äÆRý„ª‘ ¬Ägø~3|=æ¬ò&øÙÞPxd¼Wgë×iØC.Zh1òºôÃ>Ãitó[A«ð%gy€ä»¸†Rt©D¤|1˜*úDè*žt/… –¼KÀýÿu€,‡M­“ÿÔ"¿ MùkQTånžþö2­ÕÒý–jˆc´—Éôá&}­ó{ŠIþä«a4ÚÒLoüm úãV.L{ܳgHo´LšãHµy²xœúÝΪÒÉ牓™n´ïCdé$ÚLgÈͳAotƒ—Ó†Ó×Õ'Ö€)×ÿBœ‡Ó9³N˜KÍgC³n"dÁE1ÐŽ‚àé0Kî9¨¨•7b¨ÒdÙ½ˆÖŽ2ÑFÖ1ìW*S%Ö[§Ôʘs„pQ_zIÁðf-ËùEÉF¡¡FÁ˜A?вΧ1hº£ +éÅÎläU€üQó· Klø­­ïà;šO«)ˆ¶1 å`ÝãµûÉœEÖ¾› ©°UΊ{ü^‰7žåû_L=•àe>;G>8åXô§–Nõ^ §£P_‰‰À7Ò&EÔþ«<ðÿµqúø¹KËAU˜x1uùs ZËá:Ô‹PݲÄ!äËEßÌ }Gä°è…’ðÜFǧ³»ûZánE¿ÌÖ@j"Ö9mDê×0˜+õUwW»ß‡êÇýßÁ™U‹mY«H[n¡:›lÑÂ毢féͺ¿!e}¯è4%È?,r÷ïf¬™¬Â«!±7æŸPïmoäâ@þl*ï"‹XâÀèêé/äL P í ç3oÔB$Ä2npƒ¦ƒ8f\ãi:õÏò<6dѯl¢²Š°QîÒcë›Ì’3‘Öà_®wE|ÉÐXüWÝ+ïåß. ã57^MÉÆóÕ‡ì»CaÀ(Tœ®“•„ΰÌ2Xƒ§+R]šã;&« j Ÿ¦…®`ÌD™©ÏÎÆ«ñü¢¶h «é–*¯.ÏZ"À~¨§Q4Q;mùuê2mŠct…sUÂ%’+’DïðsâÁö)uúâä`Ïoy`¯³P³ÔíQM8ê ÊÍ‘˜ápd¿lÔM4À¢bû?$û#Èýx>eTCÍq-ó c;]…Oá° ø:MA ÅDf÷ƒWp?O‘Ÿ¶¦V®æe¾Ë"K$ŒâÌ#…!¿€•æ¡ê<Ì€~•óqÊ_ï4æ:zŸž—ÓgrU/䣎z½Êé %Yé扳*æš¼Aɳù3¬Ô¼@¹?X[¸@ ¥.ÓÎOSy3År»ï¥ £ÚaZ_| }ÛâÂÛ5äÜßgiŸsß´U\å“Z.†¬¥ï_cùœÊ`W—ðø[2Š ëIôª£M@:DæU}¼z Š™! ã ,E'5àò²Äë¹Àœ˜£_Ù_2> endobj 8 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 9 0 obj<>stream +¤Zw\TðèŒÉ@G¢ÖéF°ëNwJQà†ëXÜ×ö {“Û׬.­KSbÑÖl­ñÀrÆgË´±šŠ\^Ȉy'e„ðY¯ç#5æ5!0›Ór€•œ‘Q¤?4ù¦ã ‚ŽÛ\Cùðôøÿ{ªÑ5 ÛÞ-Ó®V_ó©kŒOvÊYÛí)ÙVÖróŸ=8÷ÿèÖgh‡(.…mÌäy±>D¿ ¾oÿá.0_$Ž°:„A̺m@¦Àº0Of4«¸´µ¾' ø£äìòÚ=ß­òö¾èûSº71·°C~@–È'Ý·ÔáëÓwšHàÜn ±3ÎâÕj÷¯_K”+ÿúèÌ$ƒ½Ù-U²ß«x¼1«!Ç8Ý4§‘Ii.ÕcÆ’¤7'Á[+ cVûÄ T÷ïõ ”ÜìlÔ߆Z„bóÏò.î¼,×ñz¨6®ÓÂ@ƒñ£Ìùáf²ðgÞ£ö*\óÒ…–({Fgñô‰`Ï +ù6Ĭ|c_y% å¢YÚ®ãJHÁÐ +ÛD25ô¼ÅHÊÀ¥¥RݱöXðnú›"¿cªÉélŽŸx¾fÔÔ¿õZ®<Œa&²Á³¾U„k'oáÃZûs‹*ê‰ä¼Ã#—þ˜u.Ã쿉†õSã—ž_7”"¹ÔÊsõ{å÷µB6ƒÃ®TRräi©{l˜1€ÝŒm¨Újpâ »8ËèHHi—<ʱjo‹Ç´<Ì^¿]ò°žÞÿ3Lzž€˜Þm`©Ç:‘ÀGª{Ég€ }»*ì _ÝÒT3L" ¥BŸ§·b2­PnÔoæ¬='˜’ÖÈ"¨,–W'iäE;Ý¿#Ø/É?7e·d0ev½Qx`GÖ»+ƒ:WÎtŽ¾ÜxÇ™aŸî°µ]¶Û^ZU2>ÃtkoJi];Ê>‚2Åë™rpÁ†ü#'´±gÿC°êq+/IÉePÓ ‡Žéeã¢è ¤Îà\±Î¹Ðí-R +ÊžPb؈•+M° ¡$÷-O›Ö^¦±¼ ¨q€’‘Kÿó %¦IL‘ÞQ‡’wœÒ–_v@)ft+J6ó‚UŸšOs€Ú£AŽ½¼yéRDkçÐ,øk§QàŧÍת’©,2@0õÒ×¹3Z¥ÊŠŸ®e$bÖ÷.H´‡Vò“ wâºÊ»cò]«ÓÔ¡½¸ÓÙH»¸5/(CU¿O7ì¡hS´Ÿ$ó8XÍn>÷xbFÚr]˜€?*ü·NzïåLÑ(Іï,¨¿ƒ£Æˆ¨ùY»\,ŒôX‹Ü±MMüd¶°Îº2sÀü„Aj@säóNP—¾9—r϶‰µ1ˆEiÚE0Ã<‘ ¦ËÃg¨”ãQLUéĬÒg­õtصC€UAs8ÓâÚÖIÊ)Ñý-sÐ8)"‡­$ÀŒÕ~ù Z1 Úý[3­Åã9– E †7Ì乑l•&yIÃ}TæŸåkŸIš¹°2]‡ˆeŸáᤸTß=Ë5"_-&¹ÔdÍ/ðB +Kp”ÐQI×2ËŽË;¸­‰º úQYT-ÔÈ _^ï_I"»µõ ¸Þ0Óiâ¹"‡¶7!bÚÍ¢}/¼’Öôy>'E¿B~…ù4-®n¢«NñIÏYÕ›Ò·ø»^læÙ~á‡ÌhXë  /ñbî ›/`^Þ³½Æýszh ‡D»^¼PBʼŸ w'‹Á›˜Ž•ñ(o°«®}lö³¿Í2ˆC­âòÁù…Ø3²óP¬ZeWyÃûÒqûìêÿ}ÄâDÛôIîú#5Óµ01Žü)"Ny¸dQ-V ˆòo£Ÿ7˜È,cêš¼VbvÒ¦Þ (­˜~\*YÊc +ê,žîuç?ž(3“=Wí3,ËÅxœgÇŽ8:ìjíÆ îŒw\pxš^C/¤ÿÑÞ4šŸ«q¥ü‰‰û´ülÏ*n˜ â,cw];›i–Å +Iã–g±Ëú„‘nô8¯•Œï\ Û/z0ržäè³¥€3®Ð‰…Êž~.h¤‰ÿLP1+øä”ùƪ•åâvîàlÁYlš»&nÆßÀ¢çJ"–u°b»q'@êó¯e2ìM½ªï‡ˆb¢™O­Ç:w,h;ÿe§¥ÆÏ™c9àÔØê;K4Pþ<”6ž¬2ëöñ%h7î-ŒZ]¹×|ü–SâåJ'ÂF©Lt*Ž\ç;5é¢Ý¼qÇ=¿j§ò¿}Ò5/åaìkɳyr@ü‡÷1 †Q*!¯e[AøTR°qž*¿/JžÃËó?Á·iYÇ70‡U8šÿ #1ؼ—“h·œñåìiƒz˜¿h”þËY­7’ÈÝÝr6"!®ÙaÙ‰ÚrµÇ qàS/‘_Ç×c±Þ­ïŒÌ±xŠ™ÉèËÑp¾+…¥»å'¿³´^øÆ¡…´ ·eÜCó·£ù²:’´ïæêýKø¬Ð­@‘†“é àƒ7vi@UKLˆª4H§½¶lvßt^€KpOþ +¥à6ÎÀË;§Š÷ÞÃZbú æjð÷ÀhL¢xóÆymÁÞPÚï#FMΖg•Pôí,2G7.ýD½¿& ãAŸÜ=L´œ«^à2w8ùÑÚ!Íÿ‹î@3¶rÙ4§á¿'RL­þW#§›ÛzŸY$Ò sÃØãôÄéÞô¥Å^Nå¬iÿ] ýšïx>â3m»w:¢žQ“áqñb}-CjÊ6Jù.^ŸŸTN…ÛØ­DŽÏ!smôxµ`VW¨QµÛ  „¨ä÷ùPY]â‡ñtáGrÈÉõ#H•¹€5~°G +\Î4Üçà†å&pæGcãMuÛ;R…ÓD/Ìö‰@ˆ À@W^Šeï"Kÿµ@ùÈ'ã?–^bE”ÿ ™x6pìjOþp¢t¯tS9ð/Ï##¨‘¤­ægÄÒÚ±h}T¼bžƒ°A_Y²‰/ËLÀìSÏ©Æw³‡”4Â2ÿe UÓ¸¯¿Æ.‰MÄî ‘Gx7~T@§PtÉ6Dæ/ÜÞ2‡e3–ŲCJ®ohËVóh•:°ï»âÒ–Kðã&iÊ‘Ù(8WÅO½P™í{ÿQÝ©õÿb¶¨ÏQbÌY®âÌ3f%(ˆ—§m«2vÚ:Ëš•Ô¥ KÄšŠPtcuW ÖÅá3óñ„Ë¿ÈêÐ(NëP¤ŒßqJq¦à Ti< àða›ŽIwˆk-©ãvj—Í9G”ÍÑk·ÒûëÃbÖêœ bÑú7«’RYé«Lè©3$„é~ÝM%óëƒpÂ~—ùÅÚ(Øgžˆ÷4ß<ˆ!(ü‹¼8'ßIÚˆ†AðlÑ42 ²yMè²û“1jJaO|•‚;vø(Múk-±ì W‰Ñ»8NÓđÓ ‡ÍX÷JutÏ«JçÃìBü|ï´¨iW.¯^Ey’’à]ž=.uó{UíF†p¯ŠØÞçjr\À‡Üq`D®X¼i´(‚;hµ€JÆÒçº0¨0¼SÔþ$ÙÅØvUª%ìÑ|jtE:B Á-¯„±4güü±*øÿ·ÎÜ€q™±1€:­—½ ´"[:Eª1>´Êû'„j¼ìÌ'nÙÃâ7 qáœLEkÒVe*VqÒwP´³±y³r§æ‡5õ–Z%ÝJ ‡´*ƒï:Çhm#çÀlt1?Ë»u¼ZÌY¼ÜV_Vé Q¬IG‘TùyÓuý­©iòÙ´l‹-ä¾D¼Ò=ˆ†6ÞÞñÝ?€+™½‚Š$ϬÂ$V)ªõ¾sË Þ8n„¿ŠŠmÁ㲕–øÕ‘ŽŠ;¨Ôà¯q,l¤)Ç£€ °&î—þ½¸¸¿K/ú‡¢§sļ$àÑ|Úåe½yþ±.\Ô¬ÆËgÐÄåFôA~ýbŽ#/ã÷ÅFÍù“ZŸX@AúÖp©ë„1È¿uÌ1US1Ž³d8‰ \6÷áe1Sÿ·.­%G.nÿêÏCnnXWaa~¢4-™tßdµÌ<ñŸ]ø ¨q»wÉÙó¦µHßÓç‚ó5ÚÔuÕLÁkñÇçf¢žü>R‡ÓUjšlò9 rýÔ¿¼¹z!nzvv ¥Á™yméÈZ¥¢M3w`¯KÅ]ÿ6Ã×ÀK† +endstream endobj 10 0 obj<> endobj 11 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 12 0 obj<>stream +ÿ®]"•.øÖ*úß –™"bª;Ç¥÷¬£´ê[ÇT§þÍìÿa›A@´iŽR4/‹é°½ ÊZÁF§Dvh<³0ù¬ýLÈ@W‘ bù¬Üxõóœ»÷¤OöÍû%CsEšc t¬OÃá><²“òùÔ±™½ã²o¡–¾ÝŽ%±¹¶²<3|1lùÿj?°m#ÿ`ÿ‡”ú/ÓerzBX\Lܦ>ÉÀ™<Œg”F#ãÕžÿmt·J'¯Å씑Ã%ái=ÑlˆuXéžÍǯ)µÓ¸Æëˆ{d ؼ0. +ÍaW 9 â ªu¾Ê!+™ +O—.E’»ÐÍn²ßÀã39þt8ðõ8¼³õg!à8ª"Sí8Ñ’5Ï5íÇ=~¤Ûõbf{±rrÒO?pv-^ø™ócüãï„ãÝèÙËê…¡"¯3ÎYÁq©HT€rdÿL`ÇøòÆ]ofa Hà}¦œ_‘/໬ÕÀÔ«†S8ËèYˆóôëФ¨g'´cæÈçmÈzˆ%E=€ê@vËNe …7Ž2ÝŸc1d½•F i…0 +v\MžPpY•†YÎþ{âC&_«Îíƒ7 aèT§ÙÅgV +è˜K¼¬Kÿ œ3ø(Wx«½?Â;—U«î¿W{ªZTº†~ =dÏXù{H¡nÄ9ZUKŽ§Ü´ýKÆýJ)Dn=YË’Ðíà§ßCU!à'þWÔTF6Å´‘­«ÁÒ/9˜3“n'~ì±+…\©sê#:"Ÿáš*,…ÆÄÝI@ÊŒÞÂõùâ+B\­ZP¾^†­Æ'pï;èXéA6b4v· ÌT„Å׊ LP'†m‰µ‘gF­Í0òž³‡âxUÿ¥:¼’ÁLmäx#t“Z¨" ½ÔèâëCüf‡Rhå½0 +ZFý¦“"¼‚lPò絧^9 î.{€€™p,¤£ZúNñ®xå¬io'ÄÏcþêþùÞ×JnEm6.ë\nVã*ž"ŸÃ¡`GÖ•J8ûµFñÁ?³»ùà*àv&8°3ŠþoÓ!lNÎÒ0B†ƒæÿ¥ís㈆ç-ñ­â‘Ù1$â­—X¬³&¤kˆž+2D'ÈfÒçþÐíª¾SP/N"‹ÈÈÖ!ÐÌ/»vrŸõìÆWëxí2Þ>4çžÅ«ùštCŸ[y¾Ö|oà{á. ÛU0î¹ÙJ°ñ5Œ‘ˆ‰eǸTéQ)º.3J$þ[Œàh›ÞZõÙ¼y =)\­ñO¬õ€éL ´HÒ\OÕó¤oŠe4’X*‹\ý£Å»VîeQF}_/}UÌó™6…>ûÑP'b4Wì“MÎDÞ¨Í& ´¯R`»›dx#ž¤'(¡Æ¶p8’ÈsTƒDÕm6ŒêMzgvZ +büpxçŠ{u‹Y€<*}FýRñ¼Ë©ñGFY–uzwÇJ£•)ç9Š¸Uý4H‹öl#@šÍŽ¯©ƒÅJûšý±²(¤EWÿ_SaèýƒL7r^Ç’–låC`æŒÊ*6êóái(é˜yADn…”oå–WúE8*ÝA×æÏή¾}©ã× ~Qž_—wOkñ"Ìéói¦yŸ{¯f—~+r•iñ›a±\rfP *Ãb¡Û®ÇÞ8Â5  ¨—¤´:ÌšöeÇ0H„Y)”8˜î¡V}2ç¯ÂoGÏC+ªñª/3P)ý¶ Gz±Jîc8¯móyxfˆ6#2gཬn.þ(¥ÒUµÉB )áNÊ@È2Å’Óå*S5#ŸÀ)iC*ú™íØ"«¥“QWjŸ”º“0y„‚€b(Æ­u#÷[׺•²N~)‚ü#Ìþu"ð„¹¹$å8Ò +ÍóÇqö:+Ò—:‡ÐðU M¹ÏÓ0×]¾«=(àûºð/þ^£/:Ö¼¢ÛŸræüSdƒ‰âhÈ>9>˳Oý:¦RÇÏ·O]h?)Þ‘´Ø+•‘ÔvGŸÛwêǤþOÍ^Yp?’Su-½GØ Ö5r3£ˇÅäf,vdûOú|ÙÕ „~)l­»îA™‡ö,€¡Ï$1eÅÀÔqŠ‡è­UË«^ « +ß&™‡‘RiEÙ-?zÅÆïËJçO¿Õãm*Ù$é•€ÂNñÖÖCßÙ@lêðM¾„i˜ö!Þc÷“,í˜Ñ` I\<Ê|¯‹†ýôiš¿µð¿âYn³º—ÏÛ›RúéÇÞús¥ Ö<¼8'¡^À×-‹`y_ÜÛRu«µëì¥ù±µ³‘L÷­wCÝ–3ôÜ™‰êæ6R×þEªs™ÑÖÂ4w’Pwy[~þË›ñV–A«F$µC½Ó.Ê×@QÖHKQTÇ›„¼†šÖÜ9ˆ›ÚžvÿٟѪ´oð+…ô»¦XÒëõÿošçF0 ÞFWʦ-âôM¢eVgIQ,–Ÿ­êš0þýÔÖC¹¤è0ÈüÀ?FA¾¡ªâýoM ŒwÇ ÑÙk~¯6I'}ÃÎñuËÎÎuVŸ÷Zˆ«;˨(JÉ(•i·%÷¸Í>¶÷(¶ìÚõ¶Q{/K§w<)…[1šiº³´6›s.âzLxÝE«ÌõÞÙ‰®W'žìÊÄ:´±¼£½¡Æ}HòaÝ{CQ›••’cea°2€À¸ÓÃÙvm‰=Üä¨ýÒç·!ïi–3âfõùÿ& X)??¤"5@ÒbŠJqys S`*re»ÑÛ XÎÊr)ÕùW9+n`µö ¨êdÙÎ~Hg…õCìãrgZQç»÷>¬é8äŸ×ë€PïÑì¢rÃ6ïÔ-’{NjJÄÌ4€ÓTjtÑøöHqUÈ¡Ej¿#Ê'BˆŽ@ÃŽà‹T>¦1f…Ó“òy(ÒúU„óÙ·=›bJñ¾É-úYŽ×—TwLı‰þáïóÿU •°åÆÅ0?/ ÌtRÐî‘"µìÛÆÎ?M”(¦S–•v¬2¦xmžÛ¿Þ…sy,(¨¿žIÀlñËSÒ`Òxé2!ÿY£û"¡¥UÜ^¡ƒ¹eU)ÛÉäàà›Ÿ…h_÷0Û\!&];Z»Æ^§Ö^%–f›D¢k'€?sV}?_Ó®·*Snº@'½'M BÕÌ–åʈ×íñÇR°íÕÓóPpêUáìhä¢Óò!㜛hMN™f±Gb}¸=hÐÉ6h ›ç2V‹5‰¤0Ýc’qþ¸UÒ?AÌ¥±.žkl•ÆJí@ÜO žvß›i’H;ŽËª )gtÓ|I)ÆÚí¢{©ä¨Îß½cÐ ƒH¦¤øñb³UÅ<¡ƒ±ö|ûÿOcœ>üèÒ¥„ŒX¯g.ÂÑ¥MÖ‰HØ8dYkÎÚþMß!O—¤:[l¹âªë`‹ži Ð&|ò†²‚< ª²6Zϧ7°\õßLUœò¡óçÞRÎ!~þ‘‹ÆOö™þÀH«Ôœ<4”£T1øKšÕSºÏäÈa‚t“à/(c +endstream endobj 13 0 obj<> endobj 14 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 15 0 obj<>stream +8ú ðZôÚ>ª-fžHâ2^·ò¾Ý-1o¾€Âý±‰œaXÂ첌‡ícV¢5jñ6¦OKâ‰7îê¤yŒyém;Ìzà¥i(ý|ÈÕ6m8e›Æ"ÕN:F@  +Ò¸6h~p‡¡-‚U?òEÐMZ0:… »rhXÿ=±ánZRQa7(ŠìŽübýôSõ±ÖØÇ>Õrd¤ò¹B3»³C'„?OÁ+™•žxp<€¹É?mn%„ÎçÀ§’`óTÐ\¶¥0&ðPqkáÄö‘ ãšsr€R•‡&TšíF1¸((‘  ‹>NðõÐt_+w¾OêŸÏ_–GyÎõS0]D–ñÃ΢Oëz÷²ðu³Ž…þó8¡4Š­Îô4¢ʱ¸ÏZâá6¼üò„À£èò)ƒ1I!)Ô×AWÞõ +;ð<#qÛÖöÿ.øÏߪœŽ%úH@³“V@wc»Re¼­äÒ¦ßÎÍò¨ýèñ>¢‹2n©ùfm†-Þý¸LãáÏ„"m0øSjé°q#¯"H|³GXhe6º62jF`k.n!¦Æ¶~hŽNízÃò98 ´ iV‰JHù´âüíZ« A¤¶XïÄá–‘ÿ‚ý!;{f­ ¿o–ÚÒjò$luï³y1Ù Ô1¬æ|w#ý fQB%ð»àhŒ"j1kY ,œLx)G‘õ©YÂsw€U±êŸU¸ãÁ2æõ¡Ú8^ä€ÐO®Çå“+ó+•~×{ÒSâ]rdÄr[ò4ˆ“GÎ4unUp®´lAqgTDå<^_-ò`iÕçÍè=j.H¨…w«”qMðɘ`æ𓯤&<*ç¸,pÊ/ü66Ãt?îÀÜ~Ïx;¯éŽ´D3΋†z~˜‚/u[ä¬z# +rüH9So$#ýR8NöoRRËÎ8"€o6P"²—ir± `öbãöʤñz‚òtp[ìd÷`†Î>}鹘òÈÕ%¦7sm¡•¸O=bÊä¢TÊÖð·À9€fj¶ƒU®ŒAó¶*Âà”RÛr¬+1óÕÐß6¾‹÷„WÿŠ¾p¡›±Ø¯VØšCPð³]Ñ‚‡ßyNQNÊýÏÊzTGÄ…×Âp™´É%KóÇ✬¯O[…qPÈõ•ìcü8¸ð(±Zïÿö&¢¹\¬ó•—öú¸Šž4šÝ.Ì˲ }²æFD/Øë3øîY¶ÆLÄ–sýêÖ3£Î}·Ž¾G×#QÇÈeËÿ–!³‡§lÅ#tÌÚÈ-t@ðãÌZ wæÊi´ô(Â’ÖU0"÷èùmØöþ–„ëkÄÇl…©#m'ÑKÆ´ æ­‘ pÉ‚]2À€ž7én(ì™ÝgT¤ÒÃÕÎu¬¨¸\›ZCmïSýuDÊeQ1|Éâ¼W‘èR\š\DJì1‚scšAãF'¡KWÆÍC­ž«ó.£0/l†ïw¥E"^ŸÉqIOÀf{f.7œ‘¨2Ê-ÈÃP¶d!ðu¨M%˜îp­ó4UÔ¤gþ|éâ¶iâEBºž#ìruÂ'UÆ„BV쵎zšjÎè8°ã4—'ôĘlšôaȦ¬ ˜W´Í!Ón6œ¸Â0­·‹WU¥Wrã%øjG,Ncw÷݉J•KS±[ÿúò~åë‰HëßÆ0om¤€°oÌÓ=/rjò>ã8$5Ó˜]Ÿ‰Ûç¨4qS|†0n<û?‘gfó`¸X~Zd&³7™{÷À²v™v‘ó¬eežN£WRXC̹^Ÿd™ƒ·?zÆÆpÀÝ3Ƀ1ÜÞ–9±øûQn¢«eˆÝÓãzBƒÉQv¡ð½:ô”•£Ë', e¼U™3° ]%‘¡Ô†tÊ¥â‘2(šº‚*÷ŠU Y};-C}@:1Tùz0,:ûA]!ïæBj¢?oê’¶ŒÛÉ3xv¦ $D6ôΑ”s¬#¨5@7;îÌ0°’‹‚\;ñ¿.2îs ÝGYÙ!æcí9|gæüËüQÍPïûIUé9Pú³~&9©@8½@£ËþÉW%n|Ë ÿiÏœØ_Ù¯ãð±333 šaèqÞÔ¬Á&g” ¸­((ãÍwºGËŒ´ø Ãê8 ³®v𳶗¹‚½GVXŽšŠ’ '™n̵ۖtWûŠ9–ÒºV™r‡•j÷ÈHç@Š›j‰Ë§ºmèÌ•ó&ZvïçJ„)˜!J4¹˜¼{¥T0Û³–5ñ¤jXñl‘nÁ‘õÑÞ°JèÙŸLMñj¤ÜtÏímY¨âXò÷.ߪۿý£Æ¼‰:Åó0q EC¾B†âª·=å¤Òò‰H“ãÔ¶ý aºŠª"² “üh‹®„ÉqŸ¯0iÐû¿;úQWVE5䯄W8÷Ú÷‰G¬ÿ&•4˃¡ëâ+˜•i&·0‹`öh( _Ïœ‘VyG|¯ ¹ÅŽo¤Ðòˆc}—Hì‹ìéù zŽâá,¼O°c’Ú6ý³o‹u£„cXùË6ôhVA˜r&ŽrFó¼ˆ$–ròhHô >dõH@Ž)ñ½OÕ_µ¤yšhŽ:(_Eš©†fW̵4 ˆ$Cõ±‡)k Cãýµ~o¾jÔºOOÉjp¯ÉÌi‹G)?³XJ7Én溗+HarßÊqé¸îÛGä^—JÂÅ0.ÄF?DÑŠÞÙú;+MB&Õ• ŠÝ•Í¹@Ç™Sþ¯¶§(ÊÙ¦{—Òü¥Çܹ1ÙFZÎ"?ÄèÀÑÝê*þµ%yÊú¬äÚÚ pZ%§žþFŠyŽ¬ÃFü¶!jèK%xmtS€Í®Ÿøò“y너€¢K­7)òž°>ÔhÈ{7M-B@·¦øÓÎ}s€ÓÞÌmÝ?*n¯ÞËùýi®÷o¢Ôq”Åk´!XÝ 2±´n‚ßjÓØ4fÆ1«z¯•s¬âÉË„Ññ¨>·±iwÅûñÃì(—ÃjøœEZ¨cï-øTgÎ+Ú.Ó]ýr°ÃÑÜ`,oˆ…R”ÀrXC¶Æ¦A^½Î à)uO|P¿ò9ri/Ñ^ç(ñûÁ†3×4@e°ßóa¸šRv°Nw ÒÖå-›c·Px¶RõøIœ[žREðt.!6*nÐ,OsR]ð_RÆyÇU‰>3ËdßÏûÇð˜&nèpBdš rM•tè}ÜŽR°ßVôJxp†Ô›/ ì>&ÀÐ@üp†œv¬ËM™½VH¤É[ú¿é&ð3Šˆ»­â¬x¸1œíWØÖÉ΃³Ê}ÓKZ†@ ß šsª€TǯÚBn4Ü› qj»ÉÊÚmC‹ 3Õ%L– é?ÞMÿÖ4Nð h’rû +FIØŠxГäÞà{žÄ›.Ò”^z›W¾{YWŽ¤ØMï*0Ûx“”ö›åì§ý4¬p¡üA–Ï’«}ù‡Ü7صObP³õ€q-ªM,RïË%qÆdädðœ`ÿeÿÿÌw¥¡úüyÐdÛò$;†c<6uyÍù,Ë/ñZYMoW¥/4ûïK’OŽÛ'l›\´7ÌÌ¥<5<°n/kK2nߣXì[^ Ptqôn;BÎ\e€%¸TW•rGhi_ôýÄ÷5¥cú“ªæø#4¯¶ÅãÌ—®‹÷×ʈýg$~ؘT¡ïñÔ´ü 0Žgæ9_´†«Ä¸…-àÓzrquî‰u¿ºØƒÒ2³ JÖ—Hù(]b'ÄND_îÚÛ܆Ûøkx¸ôÓ1§•]F"l: ÇÕ×®%é“¿±`,çp†_6j%Õ%Ñ:{'ÎËÎt†ùo÷ +‡A®i,ÅÍ¡ÎÎ/ú]_<ôžÏP4ghæå‹“êÊ\r«7£ûˆ}’ˆÚ†<ºG~û¾á&Oçn#ƒ·¼ÿk¯pü’D]˜•ÜmÿÚ‡>ÀÀFÙé”Ô î]ð“švèh#¡ÜÞæóypÄúMà ÁÃÉ€ÈöÆɧÈÂŽ áSdÃ5YçÚ´¹UÃKˆøñ«<ˆÔæ=¡#&8‹ój@Ý +sºë²:{uþÁ#.i‘tv³s÷ØLH0M k>HYƒÌ+öR¶¼õ¾ò½µw§Oí4vWÄû)òCyÌÅJoàÚÏÞ‰X ‚³BY0>“ZgÑC£I¿‹Db'FsØ9™—s÷À•cá§+4E~ó/Âd'„‚Ñ÷AüÔlˆq òˆqßyg¨Ldî ÄÜ™0ýk©Ÿ6ȇtEæ¦(\Âûf))Ž‘?å{öGÐã uŒ–®P ²óÊ¡–f `¦îÝ“³°Ê,FžÑF9Ms©W‹ö×cQmŸ–]Ò—pªïýjLÅ +ÃLC3æý-.ˆðnÝ fWÒ²ÝÎréVÐß–êÝ43¶\™®ÚCÂÞðòòW¾¢JÄ ÆAü@/_ÛËÀá¬gƒÊ‹§ÀÌV¯–rnÉCËi,“ £í”uõ÷E@ô;ixß™¦ï=cí–åk˜–œ„Þö”L{ôÍÿ¹ih¡ˆÞScg¨n6 ƒ\ÓÿÖæÚ¹¸ÈOA³Å…À`—ÿøæ(çé™>j¶‡Yn­oÔ2bCW}“éCNG¡4ÛŸP#$×YYÏWÃ$€ëV)-BH¯¼=ê¿\ìÁ„'1…ÇØæoŒ ZõQ('˜Àœ²Y{’Ck`¶ø…ýä= Ÿ¤úw:*À¦ªd3o±zï7F N à‡j²¨½Qü¢þ&\¸V`/yÊ&›fÕax˜¯Gý\Ò +Ý»GáÓ0þyóU“ê +)ç¬ß#͵/fJ3C¾ÚJïçë¬1¼‡3ðo²¯×-µz`Æo2|sÞn7Tµ¡{Oë£Y?ÁÿS6¸ƒÜ›Diƒ‹eë¨Ý+V ¢§³D5ƒA§É†¥çC +–®\ÙÜÒŠج Š÷]ì¢C°Sò²Þ•Ø§2Â&6¤îä²çacÎõ;ðÁ÷Ma.§n„]¢uåÄufè[†#œ +endstream endobj 16 0 obj<> endobj 17 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 18 0 obj<>stream +¸O\cЖúŒe~—Üôð(~K§§½©{˜¢:ÆJ[ã¤Úº³N€ýììrp0–N«#ìmw‡¯àP}).ð£“YìÓ+´`L¨ØOÌXò‰ëì6!`š§„æ"d<¶ó}‘|”2I¤öÛG¾•?ÀgÛ`~oÔZ£]Ô"úÑûªÝì,y²FÆÑz‡”•«èn¯ý%DD+Éû'Fð}œ|\ Ó¿ÃU Õ5†iÉépÚ¶i[nÖ÷DPróQè3»Î3í£B¸5ƒÑìoúdÿ6kÚ^Ðüâ¾­H\Ñ6o:)ÅÍÖR´"90$÷u<[Ú[ˆð&]¼ø-ã-=7ŸKb[)>)®zÿ˜–^FôzÖÝN󬀹$ 375‹×«þßx3­RÍäøžc7Ô*vZ;»si…Û:ÒHò/f©Ûp3'lžÄO»x²^‚õéÒW“p#zŒ[/Šð nÀøFÇ}§r]`Ëzx6™gðºeˆÌ²Ë 2ü?É‹*+teºÉ-W Í'Š{èìJ¶ùÁüjÙLíu—sÃÉ(jiãV °FgCÿÓŠM2[©HýÆg†Gö¡H”6”Ì,Hˆ¤bôVÕâ}Eåð)sN7×':4 ëÖL8"Ù7ÎãAm©mšµk7ó§]å¨Ls×/V)³ãwþ‹¤¨ø^´ÃB²K#øi5Ü) “ìÞe¬,m8Íøö—‹äe¦ô™¯ZFÐ^ª]Q38Ð$c€žä‘a”ê‹Fó;(͵Ä?Ïþ~™ÒCÿìNkó™­ES·ãtø^+`›÷Zå<›ÔÖE$°ìû©#b)¶lŽ…Ëð"Ì!-¿ƒm%JGÍ’Œ¡kçœ;t@S©³à'ŒP%•æ›XR©)¯-ŽAtöÿZbÝu0õS èFpÇ ‘'ZÔã ~fItsk¼iBiÏ; ®’N ƒeÃ,%Ço5!VôïkÀŒÉ©“.PsÅÔß¡4ÀõcÂðzL£ñ <•$Ý×Ø[¯é6·±ÛXôYÎ\aR6$ +Šh<#Â…íAÞ\®¸†”ÿ)³D,Z0öÏЉ8oûÓ—K÷"(®0É·¾K×ïmS)+‚H©+uÂ) ¢¤ÞWYÖÑ ¥]ÒÐÇÆlóʤ˓ Ú–`¿ûg~ôtùS%ËWFn¿Þ~õÇyº`$îiÁy?Ÿ®TÌUxa;ˆÚßÅ{u6jG]ý't¸ÛÕÙrdÄ‘p€jü5¿,ªFiQg΂¶¦š kðHVM±P®ï)ܶÖ[ `FÕâøÙTqî¶ é±”Ã?´«íàj£•âë[@±'Á :§ÖÒ*æ:s¿©I®Ñ5ú¾ÆOéÑ!•óP &«º‰ÿŒfD稛 z±¢Q#O鄤ÎN¹Þ”/V¡gj;׎†™ñ·˜ð“M¼æÀ%&(gOÓtÝ_ÊNÿ*±œÒBh—Éïf‡S?Ï\Šd³[$Š‚ufƒ ¼¯)9w“|ñ|ñ{© !¸e¿f±üþñ~¦ˆ+…zÌŠv¦ç«H›/QE¾x±­÷b·ª²6¤¬‰ óÇÄYó(Ê_õ³ Àú] – ´zz}íÀ‹­ê°Ÿâ垣K½–©{”…©šT.V#ʃ^#߬p:Š˜`Qˆ–.íˆúÆ¿Ùø„Or¨¤~swQgšfÓHÒ¾áË[üÎ(Î[ÈÄ΢…³LßðiRƒ/kl—Ý\±Ìi“¢Âœ¥¥Zj*¤g1\µ†óó ½Ýèù/`×â‘´¡B »§L3ÌX$úÑ 4P¦›Sí“žW?k $Éq†ÇÛ )È| U³4¤(¬=òÔß@VûÕ½%M?Øì3á¶&¡hù~j¾á™o¶tR7ÚÇžs½…JÁô¸BE§ÖÏ—¨å7’"¾q.[G5úIßÙœž]“°RÝî~’z“vFCµžµ›f÷§sg1 +¯ÅâOÖuH$Òà +M¡Uî,Ñ51”%é@Á†_¬zÓQ°€ÏÅÓÝžø‘L¦±¿p+¼D³ÉZÂÖ{ñÚ<ŸÐ‹÷ãìû›$G¼@fT¿ :ŒgªGw㹌 ×!íˆ._ÝM‡E½µêA*2õœò·‚`üÔ‰C‚^ÚÜ·ÄW¾<œÍN«‚´¥É{Iúì^GÒsü†Éæ­ÍbS\rù׊Ç,c;#B-y1)ºî/Oí-;lƒS#éc¯ÔUdFB!¸ý«ÌäÍÑ=s´ÿI#0ëY[ùêøÎÑ—Àø±ínŸ0 Ž¢ ÏÂ)ÓÑBX5€›Ün̨óªõó'C&|fÀë6Ü\Õ¸ž›ìyŽvYîAö¬A5qÂÒõrd¥=O ÉÉ39%s…!‰d£Å yáñÈol[\;ÞnMGdÖ¯*ÍÅ nËuÚ˘{µñŽÏ‚ÛÚ´Õè©ó»ØPÔ…6=t…„®NÕ’Rmµj ¨êe`·ú¹#ÈËÜòk‡Ö(Ç ¼§Ñ¨’ÿ›tÃÆ|_~=VµË™Ø1&O¿>&§ß×N¡Îíä”r%´ß48_v¬x1¢P»ïèr=UJrõØZߦ¶øMW *Ç«–hnU‡NX2kJ Ž’õ‰N®›üï%ü¬¾ÛQbv{Ý-ásžô‚<@Ê€y³ÎÍ“%¢ò‡LNNoèQâ§nMÓ—Œ¦Ú¯C‹ÞèÅÏ©±@xA¿–dMþïŪ˜7WÿÚhyˆ¼ˆ)æà ¯u$T$Ú!gåDôY®.cÍ©˜‰>¡ÞµñÝÔ¬oÂ×àÚ6Ç+ãmòÏeXËÒIð6ó²™°hC0ÞÎ,8ìíVÖ@ ÙèåÝ Ž´À¶J þS/,r"tu—È……nÙÌšŒdZŸ[Ÿj•ûï ûF®¾OOiGûÒƒ±Ê.þMÇ¢ÔK“³ÔÓVC]ÀĬ·©†’”ÿJPï˲´QòSŒLŠV¤`[?õ¤µ‰ÐHµTámÿn}A&)gŠßådA KÇ}%šÈ~ ÷òuèa䓱øx¿ì¨[5~×j ÷Þ뢹;G5}†ÎCÆÁø}AuøœÖ~cÂç±Û— ï”uqq¼zÀPuVý jÏYg¬{B.L¼¹ö÷Tx.¸z¶ÒEÏ(c•ŽòqÇq<8‚}„ø³2×…Ô*ŽíKcgár7º(DLW©üEò¢Ù™Ï[³¶Õª}‡äà #Ü÷ñ¹!mÊvVÌêiÔ®OÈIÚ·%«y+›ï€¤½¶tã 3ðß—”*à¬(®.öE¤hŠòÝXq†§„ßæ•òsÎèÐ:Ž£M·wEàÛ¦šÿÿ³‘õ °¼„Ü&ŽYô¢ RH©¹nàœÂNë{'ýIH"˜ÓÅàX¢Rµ²åZ~>©Y¹S]U9b½¾Ü:+¼ÈwÀ»¤!â$ï£Ega…ZåÀJÉ°[‹{¼F%‰]1óÀr¸d¥àDÑ$p¥@Ä.6TTF‡CÐ: jËÄîRœ‚ãtCOÅ°-)eZžÁ0q<Œ`\Ê1ÚsÇîoh]m€¼(óÓ0 +‘îýƒÎÐD%8A:ïF!ºP"ž±ç{@ƒÖœê¾olÐ%c÷Ç>›"d|Æ9 ËÜ‚¡•w +aŠÍ=÷wrÌs‡’ /H¬&šT4YBþt¾êP1 µX±ýëcͺÜïvûè¬æIQ¬œ§Û†¾Ç ú8 +¦m“^ ÌòøG;‰ý‡ß~¿1HÙæ—¾Æ,NÔÖ–òd²v(œYZ»<ÉRoiá¸é0K¦…‰-¯¶ƒ+cd÷!x¨êQœŽKõø¦º&Ž¾óNTwÀqG]ßuûŠf®äûSÜ`ûHPÇó÷€”™{3BRn_èK:©Ò!Gîšž ‚4˜«ìÆW‡˜vêüy%({¦©¥j*—â‡|{W +endstream endobj 19 0 obj<> endobj 20 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 21 0 obj<>stream +>õA5oªóÊÄØê® A©®”ÿ:VôGJ©P1 ¿î¥ðÜB„{²¼R½*Ø­`:a2Ì@ô¶¯áI;ã 6`[¾\ê½É¢hÉåKý&‡Ì‹¤ŸàEê$[÷ŽÇ÷(ÒãU!G r±¯¦“qïŽþ¥ +UªjJtý@[¹^® +ˆ´}—,—_´Öêt-;r72æÂúa*SÔ†êãMñ›ðPÜÃê +Ï'œÛ +€‡Ô $€(ÉNŒŸ‰Ë÷ϺuÇÅEœæö¼n¹Ð<(óÞ I³Þ.eÆÞ6íÀì«+‡ÙÜÌ ?“¯´¡J=¦5€`›€Qm²vù_w ò a‰«®j¥÷:ÿDö-d/dYĪéEvX Ó…óN²R ýF”Ôg‡©ÜKPÀHÆD7›z5yêýWÈ­ðY—§9 ¾lFíC²NrÊÅfp1öò˜¶ï‚¶.VMäX‘°4¤XVö pAH"|$›E@£ok5;za’¢L¼Ö÷m€o8ARçrÚ Ç–‘á¥0µ¦e +zËml':1sü˜Œ-=Ê“MÛLÃID "§šIã¸ÎbÂægé1q¦],‹j°ì±ú+”Ú'‘ìµbôCBF‘O‡_y–¸¸Ž~k{q²¤^ÄùÒ(ŠÅcßësi§Ö–&š¬>%|ˇàg;i%»¦QÝmèJK׃TÚl°½?Ó#H#ÑǼ2`Ç€”/ YÂÒ¼„¹àéÎbPÚskû’ºÌÛB^Øø¼¦L8³= + ™L@ž{ù_’2ˆQׂÎDò@$Õ?GwâmòéqÁÍ~Hø7®+ ˜øͲ8jö6^Ë ð/ÀÒ¡¿Ó·Õ­‰c˜8YJFž‹Ò†ú•ÖúúKö 0¿œ†'±}4–€W‡ØHa{”ÒÞ}i'Zöˆ„õ-ߦ±¡Å ÞV\²Œÿ3”VßØoðŒ–¹ÚÏj›áÝØã°‡‘Þ$òç.ÐÑ„¶d¥ r].{5 +ChxI®_¼˜dl‡J¢6l¢)ù¨7†æœò'zXr.V²Î†¿­ÄdáÒ«u;#”PŒA Þ­£šÀ5mFÀ@°aa†¾Ìno^ÁµSìž5rÀ'¤ÒR-½y\ìý¤Ïò< Öz®zjÔ/pYK/‹Y–¾ +°iN…xÒ¿òÌy뙶Úg„e-"9^«ÆcÝieм² úYµ^«1¶¥¥//ïžNb(ܹ ¯®ëU)1ëzXV¥|z„fpH{çË*d¢©W<þ@ŒIs­¦ÉµÂóËÎsþò;õ+Ð"± Ûïë›ø\Kˆ6<öÂDܽƒôcÓôî6«n¹l–d£Ýû˜ŸètNÂ{ýX±JÁd%€Nt>ÌÊ éAÙ[)ª7ËpkªÙ4pŽô+Ï’:îDÖÙX-Ö3…ï4+Fw™ƒ r~Ô„P ©sI«ýíP'8iôrykx_/¿\ÿJÖRÖË® s ¿‡Š´^ Ü.âêr\ ÀIEôd„ Ck ³î¨ñçe/ ð EÔûóÇ[â éàJÿ¿8\çø)íIÓú|'W?»)°¸©ßÃ-ÞEYñ¢?33†1+CÿÏmÒþ[û…Ùf_D6Ž…’Fɺ¿ ÎqÅqûÜ]È/ ä+<Á®,oFÉ^V½&ƒ2ŽÍ…‘eé×ëJè"˜7—žþäºqFÊ…Ë?ø*¢jÓ‰•h£>õ£…W 0J-¸à׈]ŽUYÕžñ[šçcVüÈrSØ×–haµ±+’K´KÀß©„$²rÒrã]@W?3à”•ÊÔµòÍ£²po¥†Ÿ%‡¸c0É®P…!toÎüî`ÝKÓ§*S7«\5× }ós•ƒwæqívÀJ³ß&^ïóõ©\©Hš ®Ø,ß©ïì€:½¿jÝ“©öAp‘ +XBà j×ãÔü•‚ÄdÁM+e¤’l$±Z~â9¾É3Ü‹t1õÆà: |ÖG/Jµ 1Íun꼿›‘zßôº9Þô¬]dÿÌ&›ÍyÀÍ‘:$/“ƒ©cÃ'ÿIÆêmü£õò,ÝgX¿_ñÁø¾ù ÑŠ±9ûDyß‚="à!UNT0“©„ñ€à ·&¤¹+ÿŒí×jŠ¼±ª86ê=‚´ìpƒìbÀÉ:«Åf†9ÒˆÝô ð#iù<àÙ–+ +ö¹õ3 E 8·ÁÛW× k‡F5º0I¨¶…RBG åæ‚:Dz™™c…¥/òÄÊ+oìm#P>!ŒúMžß•¶\‰GP £\+ÕÛ ÎÎ߽ݿå AÒk|HáêãeJð ¹ÕË%×Úað( +¾Zo}ô_æô ….½f¤ÙìP±˜˜6ü0ÞWˆVsÌ¿„Ž ÈoTx¼F[¬¤Þâý¶d®:“—¦¨n®¼X(#ñ:–Çä¸03\ï‹Ïè©ÿn×Ú=<æ8æn|îï®Õ–¡ÎlK¹ô8÷ðA7%XÏJ7áß2ŸTs +@f‘ê;)LìŸ-üÑÃÜàHûœDo1z", ±","ó-ñ'¶ú¸c'¶x&¯ž7ðÎ/Wµ¸Ò©¶SùGÌJÅŸ‡zµså~´ó%ánUbe5 ÒÂ!¼7WF#„(Õ«O‹^ê~›'Zʶð®·W®¾S¡šªz^§uå7ÆÄí_˜½Å­ôwŠ|^8÷ˆâ*?ÖŒy¸h‡†xAcLq:ŒG×v] &éÆIvr˜{ϯYÁS¹ X•@¢}Î’Éu ÅËÀáU~/™[†)˜!'øÜ¢ƒÒžFë  §ïÙ2…ë.7ª.Žr)‰é±þ™úU;Örìiz¢,cÎD|››dŒ³‡õzv-ïKÄùm£â1Œ:ð‹E!×ÑHÌ“z÷/PÍ6Ê"¼;†Ïå2þpöœqЮã”Òuµö]¼[ÑV²‚wÔ޽鰳c뺌ƒÆ»ß-íô $“5ái d^6½šò÷Å ,Gµ=h-Âýžñ“(*—ÛrèÉzÚ;Ûݹy»PïÊ“6SßØXa G^ŒÜcˆfÎ¥%й+Þê:öâ*×4&'«€ÀvÑGc[)„v·=Ê^1R/‘x»Þ¡„6Ú)}È,tßÛ>V¤šaA úýÉe厖—ŽE#K›£/‘5oš +Bñàçg¸:g)¬ôsƒéœ»é]f[O.r¢–Gs±Un”™ª_[aر#w¡_?Íz¤“À ®·”’#ÌKé=0#õ3†ˆW«[Ò ¿•ó}”}"˜A†éÂ"û»ûËÁÅ ë[‰?øÖ‘Œ˜zϸfRGÙßä­¯¦^£AäxY›ŠK",D¢}£‡ø¸ý²žó¸e¦ªŽþ +Àìhëc>¿Ÿj*΢fVDÇÙˆ}úWÆÁ³¥ÓòæÎFú¢P+Û,΂nÛæ"­t»ÇXÂwP£÷v¥ŒoÌsGPº‹¤”¯™]M Û£æŠy—‘’ WñJàçÓ†ýP  F¼)¤Án)ŸõsËvð—óÅ[ ”<±_îÉów‘8>€ŠëxnÁ‰­G„èxCÛšB„øšNš5+Äï;¨‘Wé§Sl$¢Ä´*„3þmkGŽ´ùO@󪲭Ñ]L}|7Z°µÉ1YÕ=_™!Q»ús>M^pQ 1ˆ²>Àfã‚ôÐ÷i˜$1¿ ·rOš”\÷,|ßKzÅ:øò^ÆN§<ó Z¢Iï6¼‹q´(lP½ö&;ÆÂßÛN _× îhEG/”Ä<"4ûkWZ¸wÿ/ò¾È!=SRÒ¢{„ÍéÌÈ«ïµoÃÿ[|اBJY¸0R|Øëæ­ïC.}Ëe(ÖÔ ÅÏ,‘…ËÀ£8ùáëJGOñHS36y§oÒ¸ÅíÎ˨´µOLŒ1š¨Ày—ŽÇÝÇ£ÿÈ7*n¦ÿ&ù26s’'È;\]ñ¼'{ZŽ„Bž¬ÐÞ಼y¬VŠÁD²ïÿ[Û‹‘G:Ø2m›(+SC£±¤¶øѳÕaj|C;¬Líëù¬»JÚåàŸS—¬ÌX·¼UáØœr}ÅP‚H؃7Ò¦ó£% Õûeû2u¢)vôüj’ß,Œ>/¹š?xyÚD!2÷`ãm)êÓdf5Â?Æ ‘ð¢¯ùDCt‰ 0Ë÷0`ž +Iôý ¥k'‹bë®ó¥!KÆmŽZIZåFøW7›ß'jJ;ùÅe×T Ãú"˜uƒ sý7€<›wÏKK—nÕ`ñ ðJ/‘ +ïß3qƒý=ÙGhK¦ÜÊ*és‚û½6= |àF¿!¹žš÷ò~iÞ7—F^¶®áJÝÁÂM§a¦3£¨Óf>…§ˆÃ¸¸*–\ÙJ&LV¸uÎm?ÃŒ"¡3ŽŒ1Bƒ.CpFÉ×{s±ŠÙõgò¿z/ŸâKÖaÛ{H5Ou#ø4dçÌyâMî²þôèúÎôm–´6ßPs º©yŠ[t$ûªv>®9Ëà°µooåà]ß³â­È: g±Eòg?Ö75òÊ"ÀßGŸ| …ßRj¿Õc)Ôo(å[[èïeµÑZ\ª«ßõŠU|Kv,H)}:ÎÉþsKu䨩<Ä0: =}aÜ)~þÖS+É ]ŒòÏßnÂQù«J sÑïÍØm£#ð€ù=+v$å/w¼v.¯ˆÈ@)¤ŸB R#Þ‹²HØ ÇêGèí´è¬« +)ŸærQ¯Íy}ð½Ÿg+É•Z¡J€“ k]ïc^í “·7…ñË*nQ€áÏIaHŠ»ûôÃZŽs s (€…ý<Ñã×xh˜†kîiG‡+Cª¢Ã‘’ @¢Ñ¸Aö½'(˜à5À?æÖ„÷‡Ý\òäz©ö,YõÜQôÚˆR“eþ5ÝÛýs˜r#K ÷Äün 5Eª]£ +endstream endobj 22 0 obj<> endobj 23 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 24 0 obj<>stream +M˜Ð^~xÕœJ!-¼cŸo½pûÅygçÑákç²ü®Ž,  [®5oÞ¯[ øQö­¦Ã•V4h¸DtÜö˜bÿœ<£¶ëêýcSþÍ…±ûe}Ì3ÖôÊXγ«eë±Q6ÍáíÇ +UGâ,ê'—ÜÖñçî ­¬ú¦ÀÁî$†>Ë¥‚©aÀzîÀ6zô íOÔÍg¹¤•+¨W·ö.ŸÀPØ\‘×¹(ÛТM>T /SÊ̳‹—#1q¿v1g‡Î4þ/¥+&{B›Ñ½?Üjþ¨ø{AºÂ1DrH¹GÌñ…*Y‡„Õ1µ–Pßʶt}tìüTpÂl}î‚Ӛ݄ݱïÕ­ô)ãÉÞaµ·óÎ3Ë’ÚW…}%~Š®Á))uæÞؘ‰€ŽUÓßÇÔ)ºw€9?$?_3FTAI­ªÙ]zÃwSJÏNÅ|!ƒ´­Í ÓŠ…O°¦wmIѼJ„pã¼ìWb£¶ê0(~ÅöÁ¹sܳÅ0BÙ›a&—u¢áSfˆä (eÐ¥r'ro*]òABhH¨d/YG°`‹ÓÏgåû¾NÐL›°DzñJ­Œ¤!“ dY„ôwyGGŒRI6ÓF(*@ ¤Ù'í}ÿ÷ÞÉøI’4Fˆ£O`0Š*àìé-òkî:Ù‘NP+-1û;ܦ˜Ø(ò8-v øÿ¬ ‹}ˆ"d{ãb"‚ça%Æä!›jw>4AYP,ƒ?0 +€(“¤¶“ú”ý-)Ú¬Ü{2¡¿#c4©™Ÿåy¶œ ÃÚM‘ÞEÁwìÈØd8ªn¼ètBÅŸŠ1!Ò‹±–Öâ ç&[ö1Tñý×>ƒç%ÚÈU¥6è¼Âž˜ð‚• Õ›§'7“«bý±îžH €$y¶ÆzNrªáý…¶M»᢮æ¨T|ì— Ðh u™‡;d±ÍowàEÝKÞçã{G‹*CüÿX~b*4akš.©¬Ç‰0uÐ~&¡½P794ݾ…ØóÅÖÍ×É ëм!qul +°T–sÏ`.×>Œ¯Û0ëvUîØL–ØTæ3àþ,t”j?Q/Po<ªüzNiÏ<»~Š27/¬[¯öz”8û‚Oc¦N¿jür‘Â6nŸ¾ðÆÓl´ð¯ÿ ÅXYXµm#À&„âÒgÑƦ$Â,ñÌjÝ*–ä0·žßWslÛ?±põœ2ýŠÀþ|¹°»Ù¡Òù2oðõ°á´Ö¾œ &¼ƒ’Ä Íf¨ÙZÞ`˜ú¶ÑzÉ Œ˜&AÞ ×#± Ïý\wJ•RÆ;†“ãrd¦~šaÏÑ-Âðžc/gWÅ8iàq»ó¼’#Þ"@.×Çr QoTUÔ¥<ºvÛ™çØtf‰©T.à‰„qµO< 'Î.¦ÛÚ̪ËZš¥rÃÅŸue-»æg °ÂÌSˆDß•_=ö\@ég¤W/¸oûB¦v3÷žË axóçl5v‰MáAìóà”¸Ašp/èÍíüˆý/R}õ@ P.OmÂÁƒ Ÿ•;žã&7ïŠ/¥!¹¼ù÷[Mèû«m` ùqÚ×d泄ۡ)Ħg]À—р瑥†l´Â‹ÈÚ^–hþþ¾¦På8Fj÷ÉÖÓAJ#±:J,Ya§Qa"6Ö„©Ë.—Lö EäL>ÿYÇ+D5ÝEôp/€^h9×Ýý™Ž%ms¼†©Ž ©Ì—¯“¹e}¢'®V=bqíŽhnäÏE͉’Ê\ 2Ç—¡ØÔ£‡©‹Æ^u[°R„º‡mw…X•ˆbäBò)=&këòYBˆŸ§k;|ÔHv»_lví†ÐÒÙf î:Ñú‰.®ãñõÄšú‹EÑ)‹™iŽ3»Z„®Ä»¤]##¾ýÐt YŸ±Cþž¯âêsx*1AU? „bh_ß K‡0ªV…(ÆÎÆ—Iâ1nÆ#½x÷ʵ²(9kE¯Ct˜1­…=œ•å\@΋42¬éz\‰Ÿo9ôe«bbãy|;7¢r)`ià÷YÒ²›¬@42H’që1­2Sg_þŒOJ¯S„v–ýëàÐûz¤­–ãÓ³ñrZ©>k.[!¹ø^ÎZH_8ê[}#D£Q/g¼Ä#Ú«a*{£ùin͸x·g“y¼zlSÙ+±§Ý·e=ó¨é§ûcb}+ +žJÃP£W\o™joa‹éÛ䦮ö2L6wuŽPják4<ƃsÇÊ$G©GÄL¼Ý©™² +FZ¯ý|^¦‡vÁ]ÓÊ5í+gÍæ¡ÔÕ2ãFŃñþ,pöïe\Ê,úo£ÐÄÖÀXNL4x»ñrçÒyÆšR<¡Ä$H3y`àŸ·“Ø=éP"òám¸/…'P¡UŒÕyæ׆+3Qnd2ÛjylQÂPxëý¹m ˜±œT"H|ÀUi7úA²'½U£“n{5(UEÞ!ŽÁ„‰~þOü.Qú¤YpÙ‰IœÆz„aoºŒý†ŸÀU¬¡2·­æEuˆU?9¾Òç%{‚Gêçy€^zªP®øüÐTD@KöEÅÙ¸|rú¶Á[ñf«ˆ ³øÒ'ÛŒMAK§‘}§H˜áÍú(;¯Ðe_4VôŠùÑXJ)P[›þžr4ükužãÕpð—öüCÆæNeW aÖÍ&oæzl˜\'³¢º¸-§›HÛDéõö¡Jt‹Ö‘Ü Ñà.-cYƒÄ1a ä732YPñ¨/ÊýYy¿iÆ‘åf[¸ Cí±È<'S=äài}Ñ Áƒs¥Ëٚؿ_µVßuû.4 —B€§zÖÑaÛÝߊ' æ+°®tX)iÌʼ(Yü>€òà1¡(èSSë|+Áõ ¯/0³Ë*/‡KÑt.êGs_~I¨õ îkÔÛö‚÷Õ2Ïõz–qû4—ƒÏN‰ÔÓ¿[6ÉèP–ÃÀª“*5dú䶘ä—ÖâΛ˜ 3Q#­ú­z£ÒŠ´…NØíãà!iÖÞaÌ7MÍ +žÂÿS\AÝ_þÓ¹1ÝÇó]‰Œ}Õ{ <óW0%Öw@§M%Œ °¥¢¸ÑïÔNjîz–Îwcë PòsÝLsËѨõï7óeÂÌE·;B1‹zÀü’Kb7ˆa}ÚÂö¼:ó÷1»3GÉ‚~2ø³„>á»â1ÿxI6sýh{J g˜‚·ÊUO¢r±0—ŠÕBDh±B®/·ç$L« ò庨¯J€:¿Å‹¦4ib‡/Àbg;Ž—D+>_?Ý4ÄYy¹c†³†IåWåvCEC9)Y†q8 :¶ ‡}'Ó‹ú ˜QìShÀ’aEføƒ¹‘€|êï``¤a¶«3w½#ºsëù aåƒuXÅhIê1 +ý™ˆ@¯¾~®5›GšFL-u|ÉqjDø[‡ÐÜíAÜ0L œtŽ(€Q² +Ï-à¶r,'¹#´,‡'z‡ ë'º4÷ÃÇwÕ][ÖÄîk£S¼Ë|³T]e7þOÌ``RMþ—ÕÛ¿‚“#×£A\¶+JÐ1RwŸH_ÏJqÇÁeTð¢hö>–ÅE–Øíöc¬×7¨GÕåP¢6FAGÆŠÞe*ºó/JM;lU½Âã{áÉž–{ƒ†$%–Ü#‰¨wÝ·m¨ÑpŸ/WF.M%g~¯å}çg ¶oFßq` @ª‚ˆÏ}æ¬P®ÑžEË¢~ ®e1Lèg…K²SºênAN»R¿TØmä/ñ£'‚Y*uò]5€,6ü˜÷WwFª1,+ñÝ[m ¤Æ©¸5ç#¥×é0¥Úÿ…¤h?~[µ`Cÿ&6V6ˆ”Å +ÝÔi \ÈÙsô~ ^Q`~C&V#²YwØ5c!Ü + ¯þ_L¸!jÔFGR‰ƒÛ €X1õ¼,¿Gö¸=Ú»³[w\_½‹”Wð¸•8Ѥé½ÚŒ¬_]b’RAéœÐÉ™c7ÿ§(þa¿ ^N «:i%QËòY$?¹}]]")ÆØeœu|Ι´ƒ_äÈFU÷‹–óèÜíT°åÐA‹×ª¯l—€¹Lâ¹/U¡°ëb<ìyO¹©‚‰}òÄþª ’^zÀÆdieEðÙôVðMh£9Ë9YåÂÈk]µ:äb Õ_‘T¸×Ç\ý£»‰ÙmŸ†§Üýš’f, Óh†×$œ3;žÇæ®LBUýÏ•—³É̾Ygµ@ÿ5Æ£6×<F^<Å•+9c>£ÀÄ0£«æo¢š"®­Ì ÈÛºY……¸“" è¡'·â¦Ú£prEGpx,ž¯uê4]Š­³!†€¸^¦®…Ä+¼;ÑàÍ¢<_âj$5Èàgpˆ ž_KÖ¯âM?Àìsößú+ôè•?q'i“É«}߀4`õ/Ù-^au„Bž(V%­n·wÓèpñ¹ž~¯8¯ŽÊ õr¡™6Ýv00‚—ä¦ý|«1gíâÌ6ñ„Žù°›åÛ‰òSQyòü[DkìÆðjù³q&hÖ> endobj 26 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 27 0 obj<>stream +ß¼Á¼J!Ô¶÷™Ø¢Ã=úrmCˆlèó2QÛ^¯ÛZ2N‘"¢HdÃÕCé4̪‹’€ù£Ly?õttZí©‘Z@BØa#¼EsùÛ{1<—MrÖFDI:þ:­KÕTØÅûbÅ,3€- Ô®“þøN“Œ6¢r®\àt®l€™ÉÚ¹òšb°Z®•äž…^Ý[ë=#;óð&¬%ÊU·îö¤Cû›W™IÏ‚®F"ÚôwR£Î­Qö¡ÐëüV l¾ +Ð]CÎ7$:ã¡qh-kddïKáQ*jÙ¼™¤.ñÛO’ +òt%6‹~¦}½öÄ3µÞþ·*xªéŒü6eSAÄ3R²ÌÇ$艎êŸ|ÇÕâÂA&Z ôÌUÉw‡Ð+7³ÑåØDñDüA=ŒÌ³â ø‹šŒ‹ûGÝþöí*×ö‚¹Ë(Ÿ´ž±²…_1f)DÝ ‹ûtú"G–“‡N×ùαñÀŽ1%BóÒ¨fš ú#DÕàò1¯|v¦¼2ßûW'ªÂýñPbð~Œê\$,[¸.T*-ú×8 +·«±aÚ‰Šbâ*?R¹fF÷]/àÁUΚ„퓺µ-nbÈvÛahù¤ãˆ¬ù^¦4çi„Ï3øàI^2(j¿óPI'Te:³gùyë;î|Œ[6¯fÂsòi + +ííæâgúZ Óð2¡èÆ:¹ó:»aÝ)ï{â‰ã,Tûï׊Òg‡Õí¬B6þoꮑfDŸð_TÆnSöú%Ï«½÷S)•e©Œ²‡Mßn Æ(Ã4ìµíó*ÎXÀÂ^Õ«V†.båŠ]µ×Ö +)ëGtXòÇAÂÉn°BÙzx]EÖîÂR:^úóE©Ím]ùi3½oGÑôˆ ê…æ£ËÞŽãô¹íÑù¾Þãô¸®ÖÓO +s›òt¿É,3¦«AÞS,nw(0-B‚ÂÖµ4A€’z™,@üê:Û±W“u½…|©0Õ ttÃgÌ!O¸®À +£Š)=6±v¾'™Þا`ëg#Rðapip ?•a'Å%ö$.ju|F)R¾vÍúµw±J>îVvkÓ#&¹pÈ©Yh„ãVß=ìÉú–AÔZ*ýÏ™é»Ï°ñXh5OO~vÃÛí˜É8¹•\ñ+šþØÁrßHŽ+ã .Uh2´F"$a”blÎB5µŸÉrû+na|EuÅÕ™ö+²!“l'Q6tÎx2«ù¶¢Gʹ–²X¦øÆG`ù‚ö?ò'ª¶ü»"P®âÚÜ0b÷0~þ̔ڼ+|Q¨ë×é816iÀmŽªõzq°S¥q²iòÇ®®füÐz¨¼Wºÿ+Ï3¯òFmÉj€Y¤‚4±÷rŒ[þ纆wñ@w¥'ëž`7õØjÿ-Ê”8ˆÍ)A‘rÃjdP—‹ßñS¯·] é<ñ eTh»àÓTú%†1E0ü‘˜»¯‡š­º¢íwôÕW–0ϼ|c/é}8X€7·9Êóy!C±8s Stq•6ò|˜¾& ÖÄh^¸/žÛnhƒãz­¢[˜Æôûéî毼+«®í ÎN.ôö9a¾Ê$eÂÞòýÝm<ùI¯î­ZBÍîÜ!¼˜·— ïÕr¬ +ÍqÃqYfñv„a×ܽ¬ûŽæÁèôJDzn‹×™ +øL‡åù-¶¸†ÚE<|Áì7È“%ö·l–û#NñO‡*î…Çöÿ‰%WÛÕ%~'¸a«èÒÿ6Y©+Ko¶¹ 鿼7Ä;iSçY¿Œ¢/a<É{å6œR;ýXí £*=‹ÿ‹*ÅUÅo„œ‚Ü’‘{7+qˆK^¦T½à™áÁî/W@áÖI6ú°œ´ÿÉe@¬wL#ýz¾¼ýB =¦†1,[dÁºa±âß`8>7à<‘Z6}팆y‡%7¡ýÕw‡ ‘‹™‘$ºÂ†É1íý›–·ï/ @lÑ‘lŽÃ~.ê›ñ%¡™ãí<›¯íG„> +Ìô­û5ß~ülY'\Ÿ“Ç Í;AFSG=ÄYCÌh?’n)ÄÛ3²1º‚†û †¡A×Õ/ÕîåD·J'î# ¦•NÖÝÑZ»® ´o›^iFÕY°+;ŸŒ‘±†î¸y[Ž{ ‡ÜÜZD8e'î_/×z±©K6É5èå•Šµ9Àâ¦ùs¼ÄXr¹†ø`Úã>´ µ±¡F=|+½Mmziâ¯åHöWüø®£O>²Jp>ãçZ¸¿}Œ×Á'¶Å®¢öéÝx_ðwØ@}GJV@Ñ“Û^.¯ÅUÆý­©p%Œp,#…4âP„I¬À´˜NÕÞG|Îz%]ƒâäV~%Óëò:k½÷íuVù¶$8¹¨ uÓq*ë”ñe,^ ů¤µ}àT¯Ú‰Ño¸µÍ€™IJã\‹÷–8ƒDÕîûx€s†d`ðMš– 'A%wŸ~\•q(þ=•hÒSq2ÄpT* •3wû˜¿‹Õ"aw£ð:WîÌÔ&Ö·ùlÜÁ¼×/ACÛ¤4ÔïÆжz{C`NÓÒmU2î=æ_ò°Q­ÔšgÌŠBúòW~îàú´¥pPùݼœa%¼‹´dc1Šö`–ŒN$‘2¡¸¤û3qôyDãì×Q¥j5vô¨¢wx‘¬Ó’mkp¾ŽÂJQÒç +ƒ©JŠÉÌÆSÊÖr.ɧԡ–H¤,€%Õ1¯¡ì'py>ß%S¼Ús8T·7«å¢åÐ*jöß $ÜâŠשèÓ‚~~\Ž2› Cû,¼t ~¿PR)fÆŸ”GÞ:òëyþº5!©dU¸ùv5ÓɳT3çÄG}ë%  Þˆ:e¢ïì"’ÞkGóíÃŒy¦° í¸©ïQ"£rÖÔ‹.Âú//,D7/—{ØX4Lç+ÝÍÐŽç6›Îå(e7õ/Ø)¥èç|¼$)HB8#Ô¶Qd&dvûþÈÉYUŠZ-hÕÂLÅW)Æ*†«ç«K©Þ7¨ƒV¨7~76¯ £¹=Ñ‘=!>žhö¹íÏjÚ?¾t©IþyìZ>Á±§0|ੈ|“2øµœ X‘%Þ ðç¾DmáöCéWŸ3.a¤]çûéšC‡ðX¯˜ûn… ‘í5Èø¯úT_;Ú_œžjRÞ]”gÛc ó|è)ýç`-Pfs¿Ôýï<~ÈU€ZÊþ1¹~q,»ÂÈ1†f];»škPú„­œ-G•xóÃ;O0? ǹlîàr7˶K‰ORÑEûXÓŒgT\ãîqÖ+FdÁü“Ý–ÒœãxXyD"¢¨›þUÚ·'†Ày“ÃqbÊ[ÄÃ0XÇÔ)×,+ÞNû²ŸØâ+KU $¬c·ýD£×í:druF™½ŽR•‰s\|zÏÎJÓ,ƒD”û±:×DNƒ$…úKÁác]G<¨ ù1í± ÷Jì¨Iw9*æ«\Á¾ \lmgÆð—Ÿ%qX«Ñ÷‡FBG”!-lL¥Lïÿ¼?º%²ÀÙ×B.ÒÌÈ +ãÙD%- ––ìqN +EÅãQŠ×ü­Ô·nÙ%ñÕ!BeûxÖ\ŠWÁf’×bWÉ+„î²NP FEÀÒoÍÓHòùþ’ªôúÌ!G· +endstream endobj 28 0 obj<> endobj 29 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 30 0 obj<>stream +?átÅ Þöˆ¢d"¼Óa(%þP7ÚËöã˜Íò—ñcÇë€> ‡ceºF ²­¥á´£ù]]Ò1|À*Údèê)¶uúŒ«Ø] úÉ@ÊvåÅ&‰èÏÓx‡+sEs¨±j$²¤óGA=@M¶ø€âH‚¨fËmµä7Kv,hâtu„Ž7ˆÅÓKîÒ µ¥]—Äúšà]ìÉä Zd!ÉIaN2Yˆ¢´õ)”"ówOR˜j§Gñwó†—Û•¼‚pš=4å2'–‘ŽÕ^ºÿíâšÅ”Arþ¼L“ˆÁjOjÒÖ†\Ÿ5f¥TƒûF5‘ü C­{R@üW;üŠ~¨fTbé]ÀYä€o+ó9õÆŒ´mé‹Ø€ðóUðö[Ýè'Ý^ìgŠ:ìdwQ› GþÀ9Bh È^ Õ ðÇe(à~`z³1·Y¥k›Xs=ÁC]K< ‰ýG7°Qtg°„©xN9ôÔ%Ù2Õ&Uöšœq™zÉTƒæÕUú(¨LjL´ÜõpF‚ØT$(Xû‘ÀpeÏ' ⤡¼µÂ¢C-=Ö÷•föøU5–Å’<ØL»Ü]³l^ˆÖs‘p®@Ž 85¤ùÄa>uŠˆxDÜ%œä[3eÞ/ÝÊ«»‰d³ùá±yjM¬b4¿ü±1ØØ^Ÿ¶—íÀ“t´¸êŠA ª! ¡^ZÄÏh˜Z’ Y ¥C;ݼ$Ãe“[¦,!îx1)#£ [¤¿jÇ’&ÍÚ£µT@*†“÷ƒZíCM/gQu5;èøñm$2¼õDW7r×Ölù %þ‚!*Ãó¶\h¾N‚æñ]IäïÝ{q !-´ö8›òšþà]HŸ€¼³Ã'¹_ÐWmokþ4fÍ2‰ú86¼¤ô´e5×cz²Tþt¹š%îÌ×»llÞ8³)MByÖËÇKxì…Óên,ÑDÌoì'x)= O˜ä:+Þµj¦)“ú­[©ze+¤›0¸â‰¬ø¦/ÆÛʺ¥ÎòeŸRо¤vî«ëÑ ­KP}7î.OÎCÚ_\XôµB²á탧d÷·¹¥Á¥Ù¨û ¶u0[l¶–WxÂÔ9Ý€˜›ßlOö1FçÈT Žð+ô@YãÒ« +=¤¬Y«±PÈÞðw1€Å^62—ZikgÛø_XÙ±;PÐíl$†°Cyð˜öþ¦óÚñx<_­€&¢Ü;…8Õu‰{¢ÙL6Ç åÌ€Hx¸ô§Ý!…²Â°@ØÈšÖS,Uút~ŒZêl,ÖJ(5òR­±ïÔ ¡C[YJÐÖ‡ÅâZÓΖþãe`Éçá1Q˜„ÒNê¬ê E`€T?¶©^‰q¸£åJs•Ð¤Y²í¦dÌþò”ãz.S+•ÆǹÍt£.@Pr'Ñzº3áât£j m +Œ]>ÁÏhh'åµi‰ãä‰êÔaò1õÅ-Ö®€Ôéq•ç)'6<  íI*iqà! ,¦‹óI|8êVÀ„_<5fŽ +P”BC…包þ%?c6h]°•mBGÇvŽݯKVýsË +|wbÿÒÀäÆtû#÷vÿ,ÁýZ˜öÝÑZ¥ƒí¤Œ'%¥ÕæÊþ†¥ÕóKìoE£ SÎ#ÈÈ•Ç«Ìõ“>uÍ +bk® ÞoµŽ7KTáó(WàiüÁÒiÄÄ{ð/üo¸?¼_ üúuq +¡RµdlÀ™t€^¬"@Ñqq™¬ƒaÏXÊZDéo¨Í¼Ë¹U’˃š™J?SyDò‘¼ëκšBã%ä zŽôß´ñ+=´qKîÎO${šÜQ냶NŠ/ÀýWš'ÊfŽ^5’÷1c†`œª)Qy`<…õŠb¨ÍüŠeíÓ­pz}ƒãf ¼¸BŒê{äj›ªN‰qJObp"€X§AãaXvòzG®…£¹—;!j~Þuç¦åx‹äFÀ¿/ˆu¶ !¦˜Ë¶#½©ÓÂw3à–;übtXs)Ò+Êž'ô0ºÿÿ9Þ‘ÆJt +3‚Ì»3­³þ®údôœIr*EÆ­yLDê€fƒ¥-ä̪†ûê!zݘ`øX’š& +*´•]Ð0–zÒϪ¿ IhÏ”Œ&â&a©Z3q&Ú{£•uoâ8$_þ T»Cç·Voí¹3Áý©3áÏlñ +²ÐPÞ|V-Ww^‘»^ÇMSFÉw ­è{Š¹0ssï<Ì5· ®]|¢uÍk[*‹µÚ/ådÊsü̉¡{ 3¾åËý–(ê…cC·6øÇzùÚî:{„õÏôz,ãæ\:>ÿj”Ú@U¸TZLƒh÷pÚšŠ¯Hs2ž÷–ó%}_OùcÃ&ªî¯à³¼Fe*ù™qåv!ý›»Ÿ£ö¹œÁôpØÏ– ˆXæh L' ˜m9¤ô&vGȵÝè5¾­Êt0¬> endobj 32 0 obj<>>> endobj 33 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 34 0 obj<>stream +Ý·} +ô?ÌlÁ†½Y¸üG +s*( ç3ì ø<¶b"N4ät…ž>C|;ïãV.K¨P¾_éã¿OkÎ#%Z{­ZìDÈÅ r+Ñž©&$]…p›VezBÑnhAÂ:–Y‘øô)ÉýpÂÍ„N…ŒaqwU`G:S —Œ²Êê†Ô±^ò³ëI$þ”*µs.gb^ØZ]0 {ŽmÙ^îšÇAéT›¹݄¹! Ëz®?"‚j ,×ÑÉ>ò÷Û‚îß[¥SkFcÛŽû¯†rAbÑÚÐ¥¯ÝûA!ß(¶{liQˆÊõIY_”ÖéxibŸù›[“5;xuº†jŠÑ@x]wð©Ð.Þó=–Ë-wö}²gõ…0‹òܦFjÓ´ Ñèðý’ö`ÎNJ/sþLÈ\Ø#õ^'ÄçT˜uì‰'n}Š/¢ Ycü8|«|ê’ ´ùIMóf‡@â¯þ´?/lú­¨ó’#”ŒgÂü Üxô­Æ)y…¢ðd$"׫ßjàÆúÎ:{k–<$DC¬cTVeÅnÕe‘ËŽ9:×+3à5_£þ2åúã–“!—ýB!¼\ãH¥S1MÕb8Ç`&àÃ…®hË+Ø'`°Y¢æsèH{þtöíé +ïü BCçú²ÑõVòø@É)¾d¥ w’ç1uAèîß¹:Z@e4 .X[JT‹ò;oS¸»K>¨Uš#`QS-UËŠÍÏ\Ü£xD/¥Àq™·E_Vâ«YÉøŸÇ¦¿ yGÆæsïÿ_BtûïF»'nÍðúµkk+ëYëë­‚a&fÍ·n‘Û*îBÔÍÌ°°l þ”D–îÜ$t $Ø8(‘»QCÇ9ß$4¤„žVù„ÿµéëº6¸êµ¬Ø´’Tb§EmêæƒøÕƒŒaü29**qÃU%1¸wJÊAN”qÃ}{øXY#¡½Ý:wGaeÛ•KgÂêR÷ïØ6þeÐõþ‹q"«ÙŒf‚Û/ù.ÒÐÖ´+Ï®«ì!xÀh ÖÃÂÔ¥œ¡IŒOôõú].!qËVž¯]ÓWyê”<-ÈÊ)‘}ºq ½mq7Cw˜÷\®Âv$‘…Ø`éE:¦fPú†Àk Á©ûËÛ°k<#ÎÃÔåLd߃SÊq²Ý\k|†T£•5/ø¿~ÅüŽ£ñ±û€èÍå ŸÔ]PuÁ“áŒIl:î©F7ºáÉÎö¥ÅUë<›9Ÿ@¹’@BÏ=Ë/Ò±ë÷¸¢MÎaMAú˜~NF3’xå7[f$ùá¾ZcZ.Œÿ1Á5/fLÛï´:ˆÇÚÇrõ?¤[Yí52‹OT6cÄÙ`>n, ÊÍlÏØ-‡e»öy"…@¬:æäÇä7züPJþ­çcXÉ~yYýpø/ü€ãHùÁJ6m¸ öòm$á*èuyÚ“S„Sü@ -Ñtr®2NËq‹ÐWñ¸ZJÄ\‚*ÙÆ€yo‡op“3}z}àEEzèð !/YðÝiˆDæ:d9·Íá jÛ£0 ÄpÎùÜ°öÿî™tÚ‹O»ài¯‚±³w«~“žkƒð9> +W˜Ã–ïß ={«ëëM ?˜³PÆ…£O1¿ws©á_¸…ðBjð;ºbI›‡(£5K ‹ZRªÎV»ø4pð]Ý(Q²7ÿML’L°ßšéôÔÈÐ +(Âaâ íë10ž“Ø%˜rÊËÄ‚’ï+’S÷- b_V¯z¼ B ±› <èOÚ¹u3 2 ÏD9~_^NÞ“ÇEþ°+D\\µó%µ"‰|^YvT-‚z¼ªkÃס>™ºZí)ð”Ägz é+ÿ˜.êC³à0ë +óá&ó¾'¢PÝ@vÔšy 4%5Ôñ:Ò‰8£øn-çIBõ,PS¬ìNçZÄõN‡ž[^ˆn´·;GË–ë0cñ©R"3ÀQõÊìr—´d4¡?*»|™$¾Ã¢žxî¹<–P˜Â iF¢Iá–ƒ9$§X'ì-ñŠ§5ìᑨQzñ,ãNÀ艈ä˱jçÈÞâ!P¦iO“vìTáå0#ALi}ŠÜ‡ÛùߘüÄ/7U2˜”rè´É\w{žH±ëˆŸ=¤¹Ùÿ‘‰Þ1Àéç̈ l5ú +sAߊ֣D/e(äïº}^K8jm1Î9C”]?¸/P ³þ³]ÞmÎÙjÿˆž¶©d12¹@`cßx¸Év “~ æDö%ǘH )M´Cj +¢µ¢;"}M×v„nKÞ!_£÷&‹ê^îR÷æ`¿ÝX€_¯Kí$5öºË놑^Tă$\Àý’¶3‚&›ã]óM7J¼b{<ým;6Uµ.?Ìœ¤EŠe_ôºÁy:G€Æ£Á4LRë(áE¸Þ¾z lQ3árî—Š‰¦CQXk+òW`Ê]~ÑÕŠ +åñ5WŠçe­Ú‘1v±`n$Qj7üó‰¯Ilq‡óYܦqö þ–@+õ„îä:÷.é]Nöx0ªÎ€vª­93‡}«]5B”õªûuˆŸ %»šÌ¯ö³Ë(…¥Zôº\l‰@ºyJÃa +¶ðîPfˆ_7ªMÉ~ìˆ<£*‰ VËUÀ¨ÖŸzÚäöí”—â`þ56Ɉ¦ +õRÈë3¤­¾2Ù©¶iWj§}=æ«Ñ²ä?ƒ´.hlÞ^(Ý|a5òÊy‹ÜdAabA‹èmœ;×P$E,=WËðqó$NQ! Úw÷‰ò5“Wƒ* mùkj^EÑͺ7öÞ”CsKgiª_¼ˆ×A¡ÛÈBÆb—ˆ­&ÅÉ)x&‡»çÜ4¬ó½®ëbø(û¨eÅ5íê'‚Cú¹z´ÝUÕØ$ï?z|ç`¾Ì0&¢ “ž¬FǤ}}ï7Wä0r—trTL÷Ò#⟧ fDàDÖÆ…>È«·ÕM+VôÏ)­“¨²m Q÷lמÁm¸öý¹&©Š¶µˆ/cÑË“B«Ò·¸ù©8¤p&ɤǪî6j½"f>Ú“aïöÃ^Æ£{/y:zT8¤ €}š1¯óã8¥ =§@“àŒr6BéGpÊ;ºðÊ¯Ø Rü £p¢O²ûG„7e´Ñ‰d.«ªð>B‚ÖdC'2‹ë4.¶u²•èòµÚÔeÕ0_±\+¼vUyœ“q4>€Qf®Ý<‚$§½Qâ*rOþ5eÊÝS>ÇǤ®b3â0‡m5áȳƒÃ¼4}W“‹>#_«å¤øo»7Å\Y¥É}€{.3ú‹ØRîg-io‹nOx´¦;[Ù®^¯œD…S=³=ô”ý(ßyZhÏÅiû1Ÿ˜x{€|.ktA¦`ª¯BòÈäPÇÞ¸–™j‡ÚÚÉ_1[>r˜ +7Ç@©/ïâ‹_å~{¾*I<]CÇÍHHáajåkišð”â"-ÊiÀ£/—WYÂúà¥HŸ0Kù@Ú¥.ÅH#&©—ÿý{Æ®iï~WëúÉÚ)3,Ó¹ç©#«~f\;VÏb)ИÃô¾ü¿é¦5³ëÃú\~RKü[Ô±œM[–çR¿ðþ +s昞†ám´ÒaÏ ç‰ïms"üXjd¦~ÐD,2Êc¬ä\pô]Ñ“`}°×qÁ‹ +µ°œd•`¨ìë|ÊQ+ŒÀ¸­Rìåps‰Ú÷èMPas 3Êâ‹Ÿ§e+✙›€ðUØ+O¸[üiÉ­›¨P÷mf²ädcßC?o…¶:ÃÞk:{3ŸÖ—àð +endstream endobj 35 0 obj<> endobj 36 0 obj<>>> endobj 37 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 38 0 obj<>stream +²§¤{ü’ë µh}Ö,¡ àl]’âœWáÁÇï_2׳Úëˆ5ÁÜ/¯y ó瀞*îGÏØï>ðË‹„ž{Z $î²P/{47/Fè²y2¸²Êb±…³‰l6¯Õ=ïØ’–h#y¼Ö¹óuNYeó# éòÎC,Ñh‹*C¾E k) âÔû/qNÐÙÑqù䟳Ç÷Å,¨cPƒ tøš`|¾Xø~ÿ÷Ùê´Müx"ä(>fPä,ɲÀüÁ0½lá-×M¡A ý(`ŸÅÒë=Eh:@)Œm.\mqÇ&H=£@3µ[‹{)ù ”XÓÃ?RË<) "y ×»EÖì‡ý`YŠû½¢8§b)ÓƉJ“qMrÂ1Ex׌»y/ŸPéÏ}W5£btø ,Ž0/lóASp1¡ÿ{E¾^÷fvÈ… ’¸ ¦ä&}TöÄѬ}GN]*Þ” s)?*#%Ñâ½8«yÎhK¸Î Ç' ¦·û©I·áP`ø·¥¬ßme‡4š‚¾Žg*>µŸÀ×sò±ÈP( «ÂÜcûQ’œøË›gø +çÚ­¥ôCÅ8T|‡¦µcñBßïC®A¢:ìX‰Sÿ{–¼¿~ûšhV6 ñ¨‹ï)ÞD;Uh*‚òAGaú D +˜I>ç¥8ñüMÖæÑ‘ß{ÅUo^Éè[JëÙ¦I5ßÒl{OKD[LB9¤ÝÌí'¿ô‰~x +ÇlS姩 +è'ßÉÎãüs3Û;â‹Ÿd+8Ũ|R ë©ç“%¼Éˆc¨¡–Á‰ÞÛ’ù#6ù¶°<© ÊÇþTßï\L¾zb¾³ÙÔO`+¾iá|Ä£×g]‘d5g*Oš&ßt«ÄÉ6m£:±Æ«,|jŽ;v‹(ÜÁèîëÖ·$dÌûw +ƒ7VÏ«1ì-ëžf¢øMëtÛŶ˦ÌÍç µvšë$Øy½ü¾»_:Ƙ“x\²Žn6fÍqþ£¡­GØSú²,Œ‘úG¤Hôà×jê.p-½_={âÖ}éýxwåºÔ¥ÏÑ{pûŒoÅ ¤oT+ „‹U§ã¶wײ:ôç»Øašç`ô€šphçz‘(kÛ£Le1IJP“ˆù‹ßºŽZ¢åŠ jTXà6Hâ%õ#è6pÁ^{UÄíIŽ?xy¶ËßÞã¡<#ZüÀ¶¶ÖÂpskOÞ5לXcj 5‹>S’UWEG‹ôNħŽ(Ž4؆ãV,HnÖÙš.]­sh©ân àð§.©oJ‚Ûºðæú”_…Ér0«MÂ;öýçGa½Ù#ÌQŸ·„'A¦‘ëˆë<_-H¯* ÅÏÍ;[à ïB^ ºÏxÈ=ÄüŠË^ <€ÈìtcÂÃ9ófA~º™Z•»—v6lÒˆ……4Nøô² i¼úâ}s õ•]^ÿæô/ßs(©娹»Ú‡z‰S¤þdÕDõÙZo'χƒ†š%á +ßÅpoE^¨9û‰ZPDr^[ZÛûðB(é·-àãå•·jÒ¾™y˜j,TÓ_äO}Í„—={{þðEØu¯Uï¨Â®ïk@nâ[­ük4æ‚“ò7”By.Ô‡%r˜h^ÞK§ ª©ˆš1 ii+÷á’I|[Û”[SÈÅÝI×ÂPXúÔ?F›µ²òb=xÄоÕ8ö°ÔÊ:Üò’ÍW—‰C‘éNàÙ_îMeS`*>6[â\÷0éà6ˆ²";ÂÑûÛ&•V^=jáu±S¡Hò?½xr@ üó<ª&“ƒÌydjX‘wݘ‚æF“ÍÎò4o!x{O…¡ÅÈÈÀW áh!èªJŸåç)};8šÁ‡,§ñl¶}ý’>I[;ÁFPtcžóK­~ÿŒÌkûEpjž|¸Ç?pý¡æ +ºŠÄ…Å<9UªD^›G’“4É –,[b¡öYrs‹¦%iX +ûô*X1š@ð8`hŸPãQmR÷É_øY\Áå©/ß3Ëæ“Jj ]mó@H±mX,€ÙjÁ’|1àƒm¯ÒF¤±šç²â®Ë¢N&õô R ODÑ”«VK£iÄ8¶+V£WHb½xæºê_qY›&èål®©*óžÃð[ΔîÈ^ÿbz«¨ß¼H®…YŠk3Z’À-œ–èÃwæ#éR–2ír¤5¸üµ- ‹Î6ÎMAá3r  # +ß¡Ž‹2\‡È5^;¥ú xÿCÇ¢™9¯Ò[¤«Éó8æD„~LY`¦‡Ôn‚~,%:—†¤^™ïÃõØ+ óý|gæï}èþ'°ý?ŽÆÜ–CÕ×¢@ÌíÝݪ\RïŸØ%&¦ÆKð!Œa(æ$õ”¥B|ï²9|ö¨JKF¿R6™Á¦•µuš¤àûìÀ„y<¦)?ê9³ö§>ý¶êYj¨ÇøèižF/\>]tÌï’Õß"ä“ÆÚ +a%La1Ðð™Õ™Óæ VP’c÷×÷ä%i…ç’hè7uaº‡)Yæx¦6ûL?©Á›'Ò\ÁHÁ±„GtL€á°òGÜâ<åø”Stár’ï’@¹ì2~BkÊ$YhwëÁ¥9[½C;P¸¶°ÕL,)'îñ§«öÍ‘zaV'Œ&*C´â +‹.• œ°ç +¸d¶çlˆ‘íâº^aÑ!Yó×.Iƒu®ó2·ËÕêG‹Y åßÔ êµeãëêì(+†µ‰…ëÆä|n†Ñç“›ÉÁ‚š7’Ø›® µ…³³Þýs×ÌW‡¦B2ô7¶ç¢VžñI.®K´¯ ö˜‚£Î¶ªK9íJ!uÇkrÕ~lÄ0)fo×MøìΔ}ØQÅRÙ,}þ0f65þû2܇¶Ú­"YójDEªOO9¦æc³že{¥*mgöŲÞÈdß.L,/ðg ÁrOóºLO7ŒPu!Sæ~kÊéIs¬ÒøŠ±"»GçkΣã Ì äA™:™ÖmȺ³ç·@¸T‚ujÝ’”°E~¬Üî»ß`bÃðì.œ="¢C¶ÔTûˆNüâ#våkg‹?H3ÁœÁu«Éø­†Î(j~¢Žv»Lò@ÄE¥Èæ4CøU‹jA×j¯‚’¹yAYŒ ¾¿8üI¼.hf ­¾ãÐöŠj/~ovLJÜ”ÜÑä\ùyy"ìV®(“ni»ðcåùygTT ¢LmKÄ™T‹ØÎå)E1vÖV…C„ÂRaŽVpm÷vöŠ¶üýtgRgN³þ‘Øàãc›^¾Ì_ﶆ:jžK€Íߘ6”XJß]g¨¯ . "'É3—4:Óf&jù±ì²5Šúë­ªf(5ÑLÊþ=e ýAòuÈÎpƒ‰%šÖŒ6ãb–Œ@ÂŽÍx!cX§P‰ºlc¦ÀÜòCº“lѲÊ;ì6A=.ð§lÜR /¥lAÎý ŒvÊúem¯A§7нºNÅrIÕªiƒ_µsŸàq #óggÿ»i€²õ.ìî»Å"I•cì¬2‰¡ý“îY¯\_üõù6ûuó6岺<'®}ÞŸ£ÊAO‡"*=t2Øɧ$‘ŸÞžQõÖ¨Û{ËsÍéWá—M³|E¹Ó Ù XJƒ*Áänssl\Õ¼’à&¿=1U8J¶s?–aeú0'²Áÿ +%ÜÐæÑE>ør)òkó™Ü#ª½¤?ý›ª ¤þ„zQ—Ç&ÚŒt¨ýû¥:%ô²Q®ó"çÇáí‚ÂÕ}ø'hE8%7Á’@Ý"BaµyœnØzlÁÚgÍ7²&Bþ©´PëyÂùQ¡ Å©ž5ÜÎ¥Â;Íç­Å‚·Äût`©Ú{%ÓƆZàwÌÍnâ>¿Ÿ +WˆW22(Éʉ"š2+hëÔcó£ Ê^ÔZ8|8 CÙQ×îIA.†¸Â¼ãD%Ï3XN«˜I™àÌwXV'&Š•©2R”“·h%Nõ‰¼PÙC  3ó52Pi…> ‡'è/É%¨xûÜËlŸ¡°2ýd¤™¨ê9x|{ŠSç ji€h&/Xgz9GÈ`5jRý߇دl.ÝÈu ¤5Ö¡ÅÒ™n]ÇÀÅBÛƒèQõ"]Ø +¨—N9fÄ7b•cZxLùöxâVÊcaƒ> endobj 40 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 41 0 obj<>stream +õHòñßÕvÎÅÎŒ¯É5÷ÁÁtMÌíñÍ¡ßWüg©~iS³/†lP»¿ªýd‘™6 eIQ»µu&jN߬4ÑßëúÖi$ZC·¿$;uµh7Å>ÓFŠùáÝ>zÀÄ”áTå¨)Ù&¥©/ÃŒ.Ÿ‚—hul¥è¾T7z2Áº•Î$[»"Çí#ÀRg1f'vá} 5IÚlMV = žÙ7d–ýf¨ê±¥_í¤®šB™Ä4fI|Ê'gªÌ. $¨¹ „‚è7¹&VI},¬ØT35­°lN°!ïÞÑa.ÛÃMÀô&n&øŽ¶(Ã5âÞÊŽIhEøкZ¥èóñÎœ’°Ú@ûOiŠ â¾*æ²,[úl_òÃWDƒ}f_¯7·jqò ‘ôö‰Ùôb‹^¶©’jTÅÙ楻< +pЊd!ùq"g0a#LyèDË;b.ù;?F|ªF®Ÿ©;Í<4¯áÊ) e8ºí¨7ÊÏÙ¼¡wñ`Y«énÊ$¦àYhÅŸeÁ¥1`ežsu"Lmx_ݤÒCõ'Þ @bÌohHùwPa;!Æ5µBKào²::pÚE‘cog V¸Lïp&éÇíߘãîš°Y I«r?ÒÍ?Ív $H­âú€Ußص””Õp¥j2z9-wAäÃùi +Á,cäÆu ™_ŒRCMý†£„û[^G¸d<îñÞÛ› ÞAžç[÷h†‘à­5„lõ©•£z\kñž#5¥Œ¢ŒYPÑ;zjgæôˆÛJd¤W!™‚Ó(9P +SÚÿW’dž¢Ãcs? Aù++ªÂ`Qìº añg.zô9ßuPDÑ”@wÒ]¹˜‘{L®œÝ9Eº=Öó¾ ýE4,˜(«rŸw­Õ« +å)*<á`~Mk‰iŠyÜ¢ `&XéŸ/ÎÉKãÑòðu£ÈKý8Y~Êí<Ò.zñ«¿Oâj³Û ëxWe¸äϹè[Ð>Ÿ MòJ5ðä‹[ÉÃŽSìë « ‰;­+€ôaª®Ëw[*¯ºëa@bMpn½î(®¬æuªúsZý²Œö R8¢uéê«m‡·hÞyök:¡•IÌ̈i‹ZQÓ½œ®moRm‘&¨bGùÊy±‚vº™õ¶Pt^è9sšoÀ ]Œ’NyGóàó*Â÷ uâP +<ßÍŠî»ÚéþB“™¨-NEû¥œ C“¦ Õ|ñOˆYŽµ °“ͧ §U•Âãõ”º[ßèRùŶÀý½šÒföT‡‡¥ö‘.ÙÄ}â",?«¸*–”òùñªªHΊßÏ€YŽï<3£%Ñ +—“'MË\•ù˜š7E¶¬©» ô3¨#‹MÃzlÏm3®‘XŽM†/._ e“uàûšã LÖ«a養ØÇÓõ“ypÍ,1b…^mìUX +ú†ÁèT„m ¸äZ7_¡UÇé~°Fó°FŠ”l’«µòñÀˆÀûì÷‰úl˜£0èÖ²‹ñ^• kîa;@œ¢A /¬O‚+U·W +Íí+×4÷ ‚Œ÷g §X|XÁHcwP–Ïö >Á€ýU’™ üKjÛ6è+ö_¦P˜zø$•9IÉ®¬¶cJî'=ù»PÜ¿Rš¸ÚOÿú}¬û€œ\[¡û.Ož!–ËW‰Á^³(„º–X^Üßâ;¿) Õ/มjL.„zY6ÕÐ…ÑTKvŸßPÎ?8*=ÆËŒº>ƾH Ýf¹ë-°æ~O]¿3 ?œK‚;ÔÜ4úc°ìC–ž'‘ˆ‰@õ =òÞÖ5Kµƒ0ß©QõdÔ„]âOí±¨ýÕ9£ ’NuyŃÉ'%ái´³a|ÚЩùKS©Myã৉un,´h{©ª?ÊØê› +¦À”K–6‚óÃupß×,ú‡¬™;(`›=/&ÍþÂaÅjÞwçߪöy²êž¤xþØ 5&¶Z›Ú"Íû(}k†»RÇÍ=UÞ{•_øðË2pƒ¡&9›²¡Ê.:ƒÓG1Áî$Þ,ËôxÇ\æ€G ¡%~*Ò ”rú—#7÷²iÕF @„Z1M4c±"»ckâxŠ~!l¶VñnÛ`h9Ém”ØŽ0FîÍÍS˜ºbHŽ2ªì¿ß’6RDºæ!ÊÇM÷Õ¾†¸Ã^^’6cšÚ8èÉÉüÌ<Û|¯"œÃ|¦.T ë4âc?C”ÑRˆ…päWò3]Èê º%EvÎh'Ö>¿ ÁËLµ|¡f¬¿"Õعs‰¡…\ùtoŒï2¹É>Tb ë˜ÏQâbZ’ì¾n1+¤g¬©ß±zelÚ=N›×|>‚°}¸t=#æ9ôèê™Å[ ¦tõƒ©)Ð&´šŠÁ±õ¦¦2x g}³W¶äÐ5T}d‘㊫X¢,~û¤èC7iÿî OwÍtˆ*ÌÏÅš*7‚^4¯äýŽ[xç÷V˜”¨•·%YžË„x“*¥_^î<¨®JT²à8zŠyd‚P“‘Gqx¨U}¸›ë'ñ_Iÿ~¹÷¼ƒ(l'èÅõ±Ï(šK¤z'l1Ãsš6?Åâ®ÿ2&¶óe¡Ê‚FÔ½Ü%ÜË_Å.¯‚,Í) qô+òÐmC¾õjÂTòBŠøDêßÍ€[º0=¡ëg½›üJÃ×.°,ƒ÷ +endstream endobj 42 0 obj<> endobj 43 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 44 0 obj<>stream +^µçˆ»Í©uL!}Þm›ÿð½yBP8M¸TÜ_¦®$[tØ/›ÊA~àšë9§"ä]3¯uŽBšýsˆû,èÞΰ3¸k~{ÅVH_ýˆþñ€‡‚ÓüÉ5tÝc»³Ñ]QK~î¯K{…̽"dú¨Þiì›ÂÛaóGy†M¶k`“—é û Ãd™‹†Ói3 ­jBÞ¥gmhòÞà ¥*ïñØDE°Wè]ÝQ¥Æ&b,œ;àÄÈ áI³ÔJô”á·Ôð“ª_ûJQ›°¿Mq²ü¿Lèb!;¶ÿ¥¸³-†—tï-Cødþ²¯õïƘT€—(`, ÊòÀˆAÁªH—Å“&s 2”U«sXoˆêZr±g—‡_þX9³`‚÷ÿdÇŸ»ýÚöÙ6ës@ÇbdFB˜—L9᫯ ŽM±¿5AfßZ Íö¾^q+s« ˜×Ï晚̊Àœ*”y-ù}Ž‰=«Ù»Õ^£¦”BœÅv^!áG@Qt8’L·¶]¼ë®ïðŒF‡¶Ön³yGfbþ'ǃëe›à¸ÛZ—ÏÕáo ´ á—8)¬ÊÞlÒbÙ”Hpã®WóÕ,%¾Kw9c¼™$àéaÛ€’A€DÚÿ榵>­›× }3â ÐäÚF|Ÿrµp¾?lì¹¼È-J¤‡QââÓz #V¶ª‰ú&/Wtáñ²ma¶§²«=—ÙgTšyQæ]E~Ü ­žä.E¢CØŠ1O¦ö.› ôH$Ù»¤$#*-óÚ‰êD6cè½ZÖÈ=˜^÷IÏôýòTýh_¤5&8ÕÏ.OA?;D2b"Çò´YzÄ>=ïÅ‹q +S{cFOæúÃÕÚá%à„Æì± „/¿trãg3° .Ô +sÈM”žšì\‰J?<‚Ô ÁÊ$l}Z3Í0!î›Bð[ÞNþhä U+¬ºK€DvÁuG"!£ö€i[6fó*”æféÌQøøxtyL„½d³ÚyÐ47ÖßF9±–¶éfÂwEeã o9vt‘TŸßïØJ(Ë[Íö[Ëøî2 —Ò)>šL†£#öŒ®æÝý _Bï›Ã1`ì¤7u»´]nêp@ÄõÒ}÷~¶qrÎ*pc·×ÑMR³†«ÞÄ÷•LÓ„å²øŽz'颪ÒÀ ÏB¹×VŽ×ž öˆâ¿¢ÁÁ†ƒÂ?Ž‹WNì+uc"ÆgŸ€¨© †ùÈÄ0ß-@ÃKỶ{›À«/™Ïž¼RÖL<Þ©¹ŒÜe”|­rÿU/ ½¼p¢ÿ´‰žÍ‰ùQ÷‰Ž‰ÍM;Pü¥2ªµ/+LbøÚ{·ïOèØû2líyv…Ç}ðàüD_/®„½´Í„ê\Û'h®;ŒOqMòºS†Ž\¦–*‹ ¬| +—êôš44÷‰š¥`Ba‘P†Ímò{¼R«™¾þCr€->©ÞöÈŒŒ°<]Zl‹X•& i଱Eü½²ô®÷BZ §Ü¥ä`ø¼BæÒß±sqåÏë3›¶›”‹¬:X¡ªÃ +Ä\ÇF6ãYÀí›Ñà 3Èòòbõñ\}Nÿ ¦¦É§ƒFŠ6jÞ´N9RúøÏ[÷oC J-o(<2·³7MŠw‡ +°ï“ÝâYe"XÔ¾_¤Y¢…Êšs†eŠûÿP|9ô/Ú.ÀFÚ×7ªmÐ^ò„°#o^NÙrÏ+iëZ¤¤¼t4nˆÜ†òy.r†r:(ÍÏñ4(ç®åY^gP ¡õž{EÆš¤¸„ü'#)^yWÄ裳õEé¸ NEê@ëЀaçÚô»ˆl·ë¬¸þÞcŠn>‹¹Dµ¶óYˆö«÷Ô"’˜´œ å)‡ÕRAÛóA¯*û²Ûý<:†$ô´j€ +ŽÞgCÔF7ïz×—û‡\À/£ÖN çh7¾™øP…9Ó?è/ìàëDÄstI^vŠgÌÑÝ">¿£å’¬eQv¬ÙŽ'ž²|xŽREáu‡*'¢þWîókͬ¸c… »ÀÍŒ©5Góä`M÷´¢áÈŒ>¨\©|m\“笪øŒwåñÄ#÷<±õÔzº7e‰nI÷ýeŸô8WüN㽞íu%9&àëÄ7P)|]cßçú£Ö7áÌZti0âNažÉä+ÄÀÀÄTR¯!ü(‰ò%J/PhB±|)[”Yð›úÒCéïuÝß\[^·ß,DhZŸÔò†g‰BƒAmZÊïÀÜèc àüÐû @çc½~èé +r±òÇ"~lhnÈ tb„Òe +IÛÏ~n̸<¥WÙž +t¶¨“çO¨¢§Ÿ1öŒìÑzÖ7Ë@Pò¿Gã"}ë™kï¬(¢œ‹½ãe°€ëY;RØú,ùSÏéT«´@oå*õmÀ<¥…Æ5Ss­` ?ƒÊs®,'Wcݾ²hõìÕÅ[µ^§;È`M5ù¿Ôÿ«wìzbÆ. MbL†õÿÀ1¢Ù³‹7qÑ4KFcÇð®…#^¡Þò£AXjÁ—/Ó"ù’Þª¬YÈvTÒQ)Û´`Oå¼ËÆ«Ó ‹D)'“/´`Å 8–™øk}ˆ™1“¶’›Å¶¢äÅÄÜYW‰#÷ÖŽÛÄèBäk©Ùkùp´BèwšñÀôziú6Èótt£Ø;¿Û8.g}ùŽ¤¶¡yVÃW]ÿðð)m'­Dqœv’‡À4,0ši”‡þ=pWAÌ Î[ +þ‚â9?»Ê‹½¾÷+K[¥ìC‘kz¿ˆb{yyâÙ9Ä`2‡eÛàÏñ¶¡p*Ö?áêG…L'Ù`t@—–Lp$,Î_?õå7årGèÞÛÙ¸E¶tiHyeMöMl™Ú64™èå<Æâ¬Y›c° ®ôá¿àÁoœ Œ ´²ÔCÙX9ÔâÉúÙºø4¾+$Àß +oŠ4â¬Íý*‘‚”qIØÎŽA¡ñeXxGn-¨®DŽ{oŠàR扈2tò>Ài\‹qI.èGS! £9ò¦©RĆ2RZùïî§_uJ3âæþòÄ© +ÀÁçˆ'²an­n|Wÿ€´´~Ò““f–FÃÅîÙø¥-kMbò=Óö)*s&–mŠÄò课 Åùü a?wªÅÇ6ÈFôsw/±ˆ,™–âc'ÐB’½"LÞ^ÞxæÞÎ °Õ–*]á²fä16N‚yÕ¯ï‘>§›FR2NÇ _4³Ë#ÙDÑâiÆ®ý*Ö½Jt<ÆßBÖ¡²qßFÄòƒÔznÈ–ø_ÄJ$ã¶1E"¹ý"•^•áÓ[1°ü3< ™ù½B´@$V[u¬¥/rÐßt/÷‡+3L ¯”ÉšüÜÖ^r½Rô¿…©ÿEæW!Ov ð*›WCDñCBhõV4ý{³ÝÿU]R„¶6e8“Kç_¯ü÷ÑM`¥Ò³»¤\Õž«¦ª>‰E7ä6f]âä‘›+û .ŸþÞ8Tߎ#sñÓ@ßÞÈ€‘X&d×㟎+’¡ß´Ï€ý ¢“pS<öCCfšî÷()èÝ™›Ï^³ŸóE µ¸ðˆÅÀžÚÈG\ó©g0<ÅÀ]³Ûy3£©ÒÅ‘o˜Ï?Õž3[ï;â⩾¦QÛŒž=n·µ²ô¦ÎþFµÓ;$0 ÓÈ.³§€õKhJQm9˜6 ‹&þ¸ßûþ5‡+#ý§1c^D“\j¨¡;(X¥øæ6 mó¬¤+9Þ2z߄Æ +BòÉ·Ó+Ðo–[nØ•à™ÊOƘnP7Áž•Û$Ó´ &À(Ϊ¤1T„N¯R;ûõAg†Ô¨xUïÜ?`/yŠÐ"8œ£´$ñ°/j¿‘·¸éORåx‹°ì/sœýIGT ÑàY÷qƒ×ôî'¥Ú.E‚.¨iš ÖÍmËÛäš]¡{õ¤bVˆW ·gì&nA2Y£äx¦'%¡6Õgl©/·7Ú.]s¬ã¦4€8.)¯‰“¬"v‡gûPÚG&Añ˜•dâ7Ã%ˆ’‰­ú¿íVLô½éàH†Ãã(.0r‘ñïÅòê?¡”•†$ZB‘ø àW(å‰qv+Úöe>Ig—1²eÄz™íå"™¿*r軨_K,RÄ7ç2²)µÖÊ<-ÆÄ=t +hJ»ˆ¡°~?žØåóœbü¡Ò< tUíXoJŒJü?ÚCbÅQ¾S½7{qW}à` 5ÿŠ +YÃq&榀ÂⲆz˜h,£^Ö{îßëzv™:ÇéÊ9'èúØaî—¯¤{…–Ÿ^|÷T:¼ér ½rÞž Ȥ¯Í‚»ºä>T ¹8ìœÓœÎ3ðºûqÚ”.eoûwùÃÇ+˜´q ùÿV€-ä^•7C©g ’à Á¡ðˆ‰ÆØ¢ªøgQ{ͪŠÜ¾Á=š*¨±Êy›…'%ž¾¢l¾tâÑ©G-‡>Þ(Ö«Œ,ICtk%T|(è‚üÝ€³»—°«|½æ+˜Y¿?r›ŒYýOøÁ7Bdœ_D©©Û;‰³a­æ•*øGˆê7lZîoì(šr–øXU Èo[P* €Ò; +ÑšÜAÊ\Ô¨U[„ösŠƒÍí<†›Âõ~ìdN3Ç^bS oÐâëb¨ÃÀ\ +)Ù2fM Dq–™ZìïÕûî Ž6 Dæx§KåAƒ7…}äÉ 9ù)‘ÈØ.ÿÉM¶žs÷畮ܦMºü§Ñþ¯¾®>Ÿ:\†t`Ã:gŠ¾2¯×|uüÄ;â«:9¯ +T×È„VÖâþ¹AÕõîì¯ 4‰³),…ýª"Ÿ 7«²\ÛåÔWtÉI£‡!CŠgWx¶@ŽÄªnƒrrüÁ=Ú‚~6£8Þ‰Gä9qTÅ ±ø|—‰¨DÝ‘:é ke¥uÀ#m^P즒hdGFš +ŒÛ¡QÍÝCÚ˜Æþ2-V§'íb“ˆÁ…<-¸c¯á~\©`@º\hÚnïžûßîŽò‡>.‡ØÅ^‘›Í¼K€“÷mß„´W¿À¬ ûü«Ô õøç9^hSÓà¦æ–Õ®–_Ô¤T‚In ôB¬žÍ²|a¸ÐyÁ4´ª"Ëè+ߟ¨½¿<Ü!E'óDš»‰¸§u|%6îûHpcsÄ×Bë0x¬¦ «kST]ã£ÔôÞîÀ$ÅI)/€W˜ñ¤g±5¸‡/e:C¦Ó…Œ1w´°2ë´XÃCÐ0²‰XTàÆÒNAÀ¹w7tÛ` gÔ·=Çþðè;¬¤{‹Ü ÔoWô·Fl§ƒªÅÀnËã1qu£iÿ¢Ë©Ë…Ãw¬ðùs‰Ù´(W—“ Ñÿ=°Ê´‹Ñ õë A]! ˜æÌd­àPôFÇêÉ îûŒLÈêÍãã©œ›I>ܨ``€²ÓÍOåá˜un»ÌzäÑ4/Ô£¾-S•?L[Isøt3äŠ5,›~«çÌÚÕ{"ÁNøèJl—^,øAÒwè£Ë‰TëÖ…a(]›i¨š´rz[B=,S»EÙÎÀ³a×> ‚ºO]ÆZ˺Då¼g Ùh÷—5·äÅþ"Ç(Ð]œ{^ŽÌQò ÈÅQ?,¿L;﹟+ù_t÷²_±c_L¥_¤ÃœãìYìñžzÖêTÍi…My˜=½'µ“ŽIô-¬$Në0É‚VÖ …t7.46îˆ?Ò¾ÈAÞÂä)SkÂ8'壶+4_ Íø¦õKñÅ¥e;(ˆi“‚å›þY +³õì“W¾Zˆd—‡*g +×ð°nDø£½Pvó3¿Ð>6)fÓz3Þú.±žÄAkQÀy€>¶Ìðw™ò¢õD²ƒŒ')Ôg[)1ÊÓÒ] š¶QΙ{¨Çž;øC®†u´¤ÅJÒê¦׌°]î°GE Ä‹‚á›4ä‡[3+ ¦0Ïľ£¬RE•JÕ:'eeꃒc¤b2®9‹‹”—²á"r2Òžêû¯} Y«9Á£ˆC Š,$"ÕKB‹Žz”Å‚ÁÝlò!Toð³:aú +µ'XÑDof¶àk2Jî7eð“£ö.ƒ³:[ˆ·ýŸUéq]Œ抛;„…‹ÌJa”ÀÞÆE (2ô?C{¥6ï‘͸ FÍVq“Y#ÎCcä¨(rº9`{DéZ½³1³€ê°ø/Óù +8éà.‚ÍúôkÙÇÚÉ6ÖUçt rø/²ŽÖÄa{Õ’èk¾ k-÷"Ix­€ôùÎÆË%à½Ùá—ýZ['LaâŒ(Ù‚–Y«9ÂVù‘&È„ñ˜è}lêd{?O}®¸ ƒÅ4n)Ûws—© ÞÏ$J…óÐ'ýaõä_8±©O;ô!öž˜ËæQ6Ñjˆ>oø qŽ¥¬ÝZF ¤¬5k+9ÒLöÅ•ÅY{V›¿zdÄ¡ÝÚ’2ŠMñ o§‘Ö¦šËúf›X“_Ìët†&ÐÙ:~L³XØç1M+_ù£ÉGsŽööÏ\)ù)í”Ñëئ{OJ¶Æú´½}·¼FLï7œ®Ù5p•$< )›‰ ÎQuÍ7@XdSPMÙcÈÒ'‡´è‚ž/}›LsILŽ%IJ‘z9oûB§-šùU§~{8r6³Ŭæ#5Gv‚Ðè„×ÖïSÞ®x¾þ7¨Ã<<ÚHM-´°3$Ý‘ybT#í +endstream endobj 45 0 obj<> endobj 46 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 47 0 obj<>stream +_ÍWój6v¦E@…ƒ¶»1ÆÇÖc7!¥Ëð©Uñn¾vRË\ÂP˜IIŽïˆ¦@çG¯u¹øMgGœn‰ú õû‘dV;RÝMqrdR#O»§ÿP·Cý°!ÖqváÕ\Bå±+â=þd!ÄÔj‘ !«G^Ù'åW;Ë;Ú÷WKzÖD¦rŽóžˆò²„Ÿÿéæ¶I€0\:’˜w:R'Utl2¯†n°DÒÉ´Ž¯âó×îØØ'ã’½{H}Hº… ÀÄ»ž™§áÚoo™ü|Ž¹ù²ñ^ œQ`ÜxrjüçÙcCöKÿ?øðHJâvþ@@Œw]0PÍ~ý>*šëìÍç¼|+I)àR}·êÇu`(/l6÷ùbW²ñ.¯í[˜r×àX¾.P¡“7Q´æ3|äN ýwëQÇr¡Ù ³xR‹ÍÆ_ €½Õ³h_—Õ@@ªøj£ÿðn±ÁyÅá­Óã`l}u¹mÈniŠUú#øx˜`ÞäH¦åtUàW¾©büÊF­/özŽ×öV¥¸¶á÷F!Ïk¸„Ö°hüäÃœ3»õ/ÿu—OÖ§ò½Ù¨»ög{Ü[?Ð’SrâßÇ+‘\<œ2MÑ¡k‚S` +«ïwÅw†S8c&j«%@Y£k±£|.lŠÿ¶ψJ§Äó½ƒïgH<òYêß\ÆàUhNŒ‡˜6)õÆBPUETµû |Ï#OñDŒ—?Ÿ¬„賜LŒ»„åÚàŸÊ}ü¦>p–¥å`vÁ;£]èwÌ22^Šu7=~%€†ÓïªPû~b‡yªÁa—¼-èê(}…i+\?¯r…ŠúªþHšžFEÈžF)ÛZ„¥ˆåä"$ æaÜ·ˆ$ªgˆA†Ì§‰õ:‚ÝÔtÇî=šZta + JÁb‹0äŠþQDgô€ÏsAH½¤d2eﬖ&¬`k*"d°Bîï³?Éu1#™7„ÙÖ2À…D:‹áš£ ñc¨=ú¾™%,žâP +™ÔÙ–®Ÿê@`RŒk4XXñS%£ÿLvW™àGâ3lÀrŽ;¶}Or¥ø¥¦Öa*jÈz9¼’ÎHˆ‚ÖW7Ïûy kí?/cÓKÏx"­2Êfý½B0%ʻړü'ÆôP T[¾d€\„uóqWC½üðž%"cîgJ£Ä+3ŸÓ71Ðb³LÙ¾"?àÎË[¯>—Vx–Á€Xú{<‹œÎ%¸á(‘ˆòdiå/à–åæWéÄìæQþI)vòž—=7&X€¢çÔð +׶B'ó\låÑ.ÌM<ÒX´¤@„?Üjû»zëÿíµJ‹ùW ¥fÚ(›:˜A÷þcŸÇöÜÛdÜÿòœP2\5“Ê(I ½Q¿\ ÚŠ­Žáú9Á1x…¯p¤W‹½Y~FªF†B.=Pùñçd6„ X_JNœx éš5J¦6+¬X©Šsø!a6ÆRxË=‹çÁ½xNDól–P[ÕÏ}•åP6žuˆ.F‘’gcX<í:{ÊÿÂÝÛÔ&·¸hMÂfÍñP|ˆÛw) ‡µC6 1«kvV½ÝAËæÕ'ÁFz„è Ïu>ð!2BsdÐ5ÏV[9ƒì¥zëð@9ÎÖobÛùPÌ?äøߣ,¿LyâdÇÕ®6¡±¹yAÏYGC0NNÄÒ\GViUN³¦y +¬=/úzÎ*è@ˆ’áŠÅºüø±X!aË;Ç öŽÈO©éàP\ƒéó'Ìz‚/¨ç-®Ì_Á“V[A¥[{QòÒ­6¡ãF™õã¶0Íwå~¤ë›­Ç+aòš§ÑlçÆm¬ýÙIFWêÉ‹nߌm + õñJÜ.s\zÝgGe™]Ç5‹n hi"0D˜ú +—ë†Òü«ÊRòå«Š!r\î×jÚxÀüR°LÇÁJø9Lf+«k›Ë tæ;´2A¼ŸÄð\Ø4ˆœ™ù…kžnk¥k¬mŒÔmè!æ¦ÈüNùý™TþÅ°ü´ŸõD­¯üA xë±nôõHJÒ»y%µZ®ö ïûÑ‚Q +⥷p—Ñä!ØF^DªÄ© üc(ØÉØį˜Ê€âd˜—& Ga„“ùl C´‹‘~mâWOSü,À³’ƒÞÒ!í§ñ¶x›ºÙMüñÝ´b¹ÆËà"Ó„Œ„„7_rç ÀDŠº¯†­Î:¦[ÂYàȇ/µ¡= GQ!X§“Ùã tA +*!ä€7°ŸŒÎN\©&õcz–¤§ÛÈM¨³ø?b%./ÁËt’ÚÙÆø4ž0WÌMéزÃW\ë’|aÄ–©VU'3úO‰ W}1"Š.–~50å`ßt®#ÚuÙ/¨hG°'׃¶ß¬8Ñçíªqû ÁŠÊÔWx†Èˆ™Šáùàr¦xAwü ˜qÁ• + æb´vhgù<ªÿÙbÒ2œ,o~oQËðµE¤1ŠB³S§U7Ð*K%Ûk|XÐKW'9®æõ…ªs/ŠC-IÓœ»¸ÿ‰3ƒu'7G  c·âfÙ0”g§ù+œiÃÑõWÓÝÀ'oÖ¢ýJ¯V'mjâT¹÷ö]éÖqý'𥔭íÈ«üS!лR·I”ÑŒ…HCæeð ~j£Ç݆m_»C]š²#HeåFý©½ô¢¢“RÙÊß6´ù4:ÒÚ£ÚwV¹` àUÃÕµÁD/.‰D„ù’&ú ,s¢«ß=+U/O|Ò€1•Ge½0/g¿OŠƒ—u #p×QýàêïÆU;h4q¢½sÄWö™iXQ+Ê‚Çl²Ð ÄÂWQaÔÀP3zK…õxšU­©é)“ &i¹ÿŸ`4¥½mZ:ʼ¿¯²VJ3ÀŽíͯäÄ,P«ËÍù ßÿÚ³Û°ÄEòž‹¤âÐ^A>o88bEzøæ:½!$% ÑþôSl¯ëöð¶ K7qŠÑTw‚ñ ì3»©Û¥»´Æñˆ¬Û0cÀ‰Å¼á^Ú䨜ׅÐÀ¿IS³hå‹áí :1h\?½&^?â”Uakl®’¥c—þÆ|v?Jàú°P,µ*–»¤•.5ËÉüyËëcvŸHž ·Ú†XãÐU'÷ NÛç+çpïó“|‡“cšFhbzZÓÕeëÈê5LÛ')tJ9‡ùƒ¡Ñ}Ú àmoM$Èts¯É4DFY^œW3F{ÚvÂ¥¥—WùÊÈÙ›À2&k…]xí£uVÍg¿|÷ yÚSç߈èððˆüõióÜ3•=8‡¤ƒ-Smcªlœœ`Ì2=Qf˜ +èMû0Ž.xQ’Ñ¥çÒØì$,ƒ’Öp„|•€ÜÓ?b¹ã뽇éãgü¶îOcKF[•å=Šë¡@¹ûŽ*ÿ“IO8÷¢«6>;±áhuœ +HÔèü±ë‘¢,aßiÄC@G‹aX)1r®fi øζ#|[—òe](çwèd8 æ?à!9ã]&!×­a 4\È!{³C Aùœ]âŽÕ7ÿmÚœ .²>üÎ!—oŒÜþü>BÜð{7.ÄǽÎfœG˜¬ô,ú-"^¿>ù9Pº3æe3Ž¶ŸŒÈ90Q±ç?“°•ŒÜ»G +'9yÛe¶Å…Þ#ByçQAúÝlËù=f¨”mõMiÂŒŠ»v•¿~[Ølácö:dåËWŽüÞÂăôG'a*#F²÷™&§Îop¾SIúÑß¼$âIYKü?œ„ü|=·—<ÃÏy0Ò(ºáÕŽø¶vañË…V½`¡ÍŒòÛ•øoÚ8QÔh֭اà5¨öã–ºÞÛP®ï·:^#ņØNOní¼ãê$‡ x]ÓÅÃ?ãêR7G¯ƒ¡×X¿÷Ö@{ºG›[€]£¦µ·µ{õ’Î.ÝÂ6õab¦Õ8FŸ"©X«|Ž—cõÂÉXfàÏ3Á0’­¤‰u®‰á‰Á•ø€•ÕYü{¾¼C3ß1$ªA€ÁvÕ§’.ÉX5®…W¤¦º#v-éìvaÅ»ãy /²âŒù“uÿJ¿ÞCFJl1-H« <ŠãüÀšz«@BtØx[;Ùê'Y¦æa!ψ½šZÔiî&-5Iji˜iÓ +æ ­¶Ã…ô¤«LiÌÑéËM†ÐEIfFÒ6Þ-|nÍEˆÖ‡gæÏ_w„vÐ=*ÓÒ„$–ƒ1M2‚~] ËÅXˆÚûÃ{[×v<ÐæÆÄð„qˆ¸¤9V„›„¬>¶×AA¯N›Ÿ—€;3Þ—cÖ…kèSëv–Fä£5fÀíÏïƒÄgêV=Pß²¯utªš£@©d8}nt£…HÿÒ,Š°†/ +ÁtkE?Ž8ÌÕâx.D…tº¹ÿñ俸±Ž§ƒMU¾ættÉa;=ჱ‘O¦×`ìH5iAc€g,zÐqüV´áh@Æ\?Ê46½ÒEØ›«i ^ãÆr&ƆԾÃÇ“0O#ºÁ~½ñà rMÛï7/d¾˜NtéâqŽR¾~6í‚29GYv–sOË’ZÃó ¤}òZíÅÇ‚— £Ôqv@‰Œ¿Ý¥ }\O*ó`nVq¼Žzù#Ò/°JØç»,D[öǧŠÛ±t­Më„öU³JVàæûw.z½×¾kÒöð'€…ý7ŽGïFxLäÔ*ÒÖ‹j´nVtoCSÌë/àÛTB‚°œ}’»ƒpÖ’sD­]â8*ç¾¥§¼éf4˜ÚÏÝ7ÂÈ´ðaŒ +(xèi“°m3Øù=îÈ'¾= 3Ó’ækO®D’.o*Ï=÷?ê¬Éà+·;¬Ó6.kótªYjᒥݠbØøü¦¼èžÎÛ~>kU¹Æúý©ƒø‹8-éƒ{UW:ϱ2dEÌ߯(_zlŸ/ðJùö¸|þÔÚhnNF÷¤ÊŸ ßYjàÛ»7¼S7*û(´ÂÅO§ØC©“,ÒÓ,H ÎÙ§rÕèzìÛl“Ú *çÃ…5q‡Øê#0‡íÂÅ„»Ÿü(WÌ‚Uvο¬~êºNè"H(æý£àÝs2}†²JOò+åÌÚµ‡œŒ;[ŠtVü Œiê›PaFÌVˆuy¿'â}âþDŒÔÍÛ ¹ù/£õ‹ÃHðS;Ž:y¤?jeÔ+Æm{ Ö¥ö³²øuqjTÒm$¤¾R¢œâ·‡=<Á" ÜÍ#p°Ó–”]ˆ”8 Ül~î’” áØ`?òÃv¸vƒãåËCÐI ÿ+Ú×î„ZÂ!N;·¤v'º"ændpå%ºku*A¿'"ZU@½ƒ$zð6S“$­Xqxvö-ŵ!vvz+ࣃ#2â•3'Fv觴Zää'P([ê0§/ûüGëH +ÌIðÎ}­X‹F%Sjz+%`·{VJD¢ §WÑ€¯lÆ.Áô<ü‘©åv39ånXR åï4‡«jØ©%ÁQähûH5Šx‡s·Õ"ë:¿q#ò=@$w†r"чeæø _ÂÜzµ¯·?ûýWxùÿ»u@@ª*"Ø SŽŸÉns»Ê á#‚.ËvÛšUSãýÑËß«j”)!%‰ãïù»Ö~$ûIå×]ûz:x3r,2ˆðI÷~î:FÞ\d¤$ß/ŒCíŒ7¯»L'Pzïú±O V¨Czee¸l¶dIš.e:­µ¤Ñ½xF×'¯ ô[á,Ǭ)“þ¦ 1,°ø.Nu÷ø¸¼Ž=õu^Ž®àa–~vÑ®âÈ_Ëšc{×l çAñ›Œ/r™ÖÕô_”T¶?4Á·ÅNn[·ûÿoV{ü!›(oM\\rc›53ô[£„S¶aG‡A(¸óf?|gAoèu˜N×æO 9b°ÛTR*B.Ýj·@ á_ܳÖd<©ý5± ²fÎÄýô·Ï‹S–ö t`ŒÉH}3{”þþè5×}»ÈïW“ÂÞ`_Ô\ÊNWŠúÛsÄ"@²lï¢QPý%X+kZº-ÅÓ¨‚Fÿ‘ +¾wÅûñ2ÇŸ:½Ð„n¬ÖÁ9²2Þ(Ö²eoÛŸ ìÝž¾y¹8oâué„”šº4ÀÏÿ€ÞÒŸ[a–ó§ƒ …cHþLDrX3V(žÉ]ÑOrÜÿðE"âá•‘Ëуu…¾ ,5SoM&€ï¤¥4ëØ@Lø] =¨D=ÊÝû‰c:7âKb®¿«>c“âîÿÇå)Š)ñÄ×€÷:¨Ù·rqÆ<žìa!ÃÙµØÜt2±s¨nCðÅ80YGFÌEU9ãkú­§“Mü{ÙZ¢£m“›Þ­.¿À¼'Nc³â“íËו"§åµŽ> endobj 49 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 50 0 obj<>stream +¬Š‡c£Ep'¶§’~ÚN*ëêuäZTk «'ëp÷lý\<ÿS`ÉÜÝxóŠÔÔË!pþ´•MBµï]ÂŽ¡˜gÕ÷ÄË•ÕÈ¢¹/ ¨‡’¹r'$׎ë»m:׿Ìø³eL~ƒ¶Ï|²…{¯BpÞ«ªÚ÷êZ‡/¿Ká{|²×·Ó—/[¦µ‹‘åLÄGè´. °šb†Ã'?Î+Ϫ +Ž· ?•šªã€ÍIOòªˆû¾Ô ¾ü›ìwí×’u @‚ª¹h /©2êÇ3§rý§àD¢"mP(ç…ÚA[ƒˆ¢ÌÕbTÞ´V)êpÜ¢¦î…‰D=þ2nìM¤¡O ¼Øá¬×¼Wá6vöùDaR:Óuµ†¶†QS('4× +o4wºÎÙ9d`¤§8ehò…žÞÏH;ÙѦ ×%¼›•Šià›P‚«¤Ã¡…¹€O @ëÒÖì¼Äëøç‡IôWœ¬¼Èºwµ/3xü¶ƒHçÚqà‹ö+‚S¸bß‘‰«{qƒÁo|R‘©Nºç:$<7Ðu p•ò8GEYh¬óøM~|7i†iL†„Òà±2Í¢ìÃÙ£[ú¸–òû¯P5‰NòƒÆAÖ̤ŬIãdÐáDoJÛtî¼4²¨ž×©[jƒûÔÏæ!ËQr‹€0õ=gT=bêc )=0^HthËq)—àÜ+V¤"¹«ÍIëÞ9H5ñãžRk%góêFTÉsfÚ5ééÁ`J:´âð‚R¸ò^‚Á3ZþÊ®0Ž”n»öÿ§0† o3âe™ä`õ½tÛ?ÐB³w#IÛä u7i–z¡¥CÈQµ¬®BÖq¡-tø.öÜçmxwèšl=’Þè_r¼]Ï¥Ê\+@}×’v`0Ðúìì,½vÈì˜ç戫„3v[ßMUrS´Ï²î”)ÝdH‡3hl¤<¦Äî,ZÐ ¶C0½¬Üœ]¤Ñªà‘…o)„Õ€Ë%œ6Ž‡MÂ[ðCKyÒ0Ódìã×-+Œ^¾°ŽÙè;¯¦èræ?´Ô)ÂBOcáøŽ¬åÞGTª‡q¼²ÆuºCéX·ÚeฅØë +—3ðz‡gÖ¬Ò´p«®£¯œüs], 5‡¯ë üF +koXÑ=…o­8HµÓ·ª I8–cÜÂkíJæwJ( »`å*ÄUáb|²8Š,ó´ Dà~-Û)gp«ï\ ¸nÙ\DQßÊ'® cçåQÒ}¿(-÷BÀI™\·t­µrŒ§È¼ Os,¶I‰†CX|YŸ 3fÔ·µ¢§£^GMYÏ£c—3ò¨3Ì®¸IM­Äõ%t¡íH¶ó6þûŽ aS±x+ó_dj]¦DÐj +_€q¬ÀnoÀÕn0"&@·ª°ˆˆ.òÁܤ)cè‰pÈÉ”XÒuÝÙ™hYm6›+îææU:VrÔØf„dbµde]\èý(ã(1"2SÚÚ ’¶X¢u°å»Ð:‡Çko q-dÏEŠ°|.™õÙÙ7ù}“Úèç-¯qA/úòÔl“Ÿ3Ã!<(Züû®jû$‹€‡Š„·°®IÞ±§ÃLeòè5"I~S|¹ Ðc>óa»(gbá)€:-ª…zØT7OŸrZ:U¨_TÝr®tÆÛgNjªþøz q= ž¼õNÑŠªÄzØt¹8½2!)Ö’Oe`ðüWÿ‹ã{ø _ay?l©™¿b/Å‹O¿¤q +cåM~¢u¾tŸšµ-Gdµû½ÙÿL·#cÒÚëöóàѺE.ÚèÅD©“K'ÙžTV¡¿h ¯þ`á¡T]eÄúe"¡‘’ ,eÖ°0Vñÿóê DIJTiÖ— Ke¤’°I¡u´ÖLO¿¤—^_·¬ê ݈·šÜR¨‡¤‰wKîµ™ùqYÓ¿vày#J­\Xð Ì©Ë}é+W¸ò®í Xž™€Õ'¼<Ú~9®‹òm#«6‡ÝÞ)·hqñtœÉÓNò¿$eñØŸˆª¾Õµ†Þð¹ã02|ñEy°s‡ðËd¯”%,ŸcQÀÊ'‰…R=C<ºsaH~ÕÙ!¯'^–@׉ý1"VáLž|„³Ô0ÜÜ_npÐs=]mpofµ'²qºÕÌV°J dH&7›¤ho ÛaËkŠéÀ,s„ÃгªÝm.,çÔvJ$ÿÊ}¶C0/ÿ… k“|uÑþ$´y}uÛN-êe¹iÓÃ(ºr<ë5‘¡>—ˆ‡7æ K;ù€©#†[Õ{íËïâO›Ú 0ë<£`‘GúâÔ´ã9AÔÿÕV¡‚ð2ÜÕ¸/…6Þ®â»0Æ¿Úæ“šú-ǶrÁ”h\ä¶+Ë]7Js1#Å#Ý©˜Zå)¯ý2&ò‘ÜßôK8äIy‡NÝo³Ž¸8¹‰ÄБüÈw}âb‰X3{Iá´©7îÎ ZI¤ë;9ŸÌ*š}©Ìb/@Éw˜24ÀV¡¼Nxù$B:öJuÐʾÝ6L€ŠZžÀ­1EÔ|Q:&r¤c?oβ:½âÙ yxP²¥=WÅ£ê’V&ÄÈÓ˜­ëZÐ$0£k~EOrËn´S<ùªî9»vuæ×8. bè Ã= ¾¼õûð˜7ÈUéÄ«¡ê·ëUÌ¡ŒæW=Ü ?.èè£ê5ïã-m2©ñˆýŸáC#0êªO»¶úvpTfk[Å,÷=šÂ4SÊnnàRø…öïÉ?›ðKr‘K›(DäðFƒð£÷†ÃeŒ&¶)Ô +O•Q¥ƒŽèt„Ü¡kÌ%¨ê‚m;ú5*c#À§†mŽjŒ\ûº+ÕfÕÒ[*¶ æ–ë¼$‡Q¸~¥øuô_„Ž0’\¾¼Gµ,°P«p€8ƒWAh’‚¼ƒ½¸-§Yµªïö°¹Ò}U9ˆš4`DDO²ÊZpEâ¾rK2ÞJeR’ÑYlŠ…Yµ“Œ +æÇÉâ-Ñ­5LÄ!®‡˜«,|Jåf iq!pº:I€âP &¦àP( oÂÀ#(|ЮŸ®"Ð 90eÂbÔòD:¸¹ºbÄïzÿýŸè{Ù†·ðÛ_*Iïí!¦åó¦uS˜é3{ç«?ýI›{¬z +X‰ì°²iêGH-€/8£ávªð¦NÙêêó–láR£™RtÝï;õœ-ËQ/Ÿ%KÁòqœMªî¶$úJ”rËö~ÿS,ä·ŒL€ 7tdªæÖ†j^è1\¨-94Òáoœ=ÜãΣÞô6mOÒÀàÛ/£5¾Êœ5ƒÄ¡%_-Ø*Œ$fíõI(Ù‹ËÄ+`εAÇ"ǯ!î¦jô›Ã„hWZWw€J¥•&!§hÃEcóY-BÒ#U”ÆÚár—"ïF_Q•è±Ÿ5—¹ð(YÑ™òó»½­‰­½é{ÊýiPÜ™2Ô¢]î¥F "þ65+F³ ÎÏ÷À¡È(FdŒyÕÛNnÚÝ!uÙ\pÆNÜ bâÎRA4è÷•9Ü6ت€ÝZãÉÑ]£µž >S¹”Ø5n©ÂôØS]'*2#¢Dî†T‹ÍÈŽUѳŸ8¿}2&w÷ +âWŠ"©Ž G|6åsHÀä×s…Eò0¹×1þ¨¦ž5ŒJ—'Š*zjZ!=Χ<›äਯæKt÷|¾ +û€$æé×SG_7¸J^Ï´‹¹­MíFNM#AÀ@vÿåÂÿozer1¬÷¶Š$º6Þn¾)ÙwÚF\7€oß"›GÊzðu£.£ï/ÎÓô!à2Eôb6Ý1ï½6DÏq]cË4Î~V0ž «Ÿå¥ƒv„;´y•EÚXÀؽõoôéÁ¹ÊJ^¾ïÔõýøP¬L©>2Ò©í(bõúó¶X;‘ɧåó‰s/bçVemèEÜý”ô@ç¿Bû•È¶º®<ÓœŒ.iú¿D•‹—D}Yøëš^V‘ß2ýÙøÖÆ—®0üŸ£Š×÷ª-Wsmãu‚eQõЊŠ•33q€Âõ€¥Ž¿!² +€Á×’ñUŒÈ^`œìþvæŸkÖÖ™¬4LÊ6,õqB¯mò¹IŒ[­“<øk„¤y‹ÔApŽ#1‡ŽØŸRŒ0Œ=û…2­Xiy4"jøä„Xg%ƒ9­üÆϺ;§xEµ» gM$!1¡”‘MÀ![é7GÏÎ=<Å19hÑ#¢ù_»Ö X?šxÆ4£6€¬*,Skma<{ò‡Æ ooW'WJêk|+¨HÒÁÖ w2ÝöïsXV¸Ä¹œ¼ÙI²Û”ïrb:ùó×C,µQNÚ3Uĺ>µ!Ù([g1 ;»†j ¥ªóèRcP<"TÛ¿££D½ZÊ¿yy]k ØTYG\‚oÝÄHMÒS\$ÁBùz¥®^Q}Öè­Z÷æV:Fëa·ú$¨Üè€s?€(”Â×cì€AZΦ9Îèxl–ó•¼íñ<Þÿ11¶0¤+²f0 Õîa;áR¨4’aÊU~Lÿ±ÓÆ++„AN8ÞV  ºž «o*1A‰Ð?6\µ†Ê›HØ—+€½X +ÿ %¸4 Dý2))U;f_9m[=YK€Ã·ØžÄF¢wyW‡80.ËÛ§Aa†ý¡l%¡ìž vŽÃGö¤t<äþ e“›`Ó˜FVsUh¨Ó¿,LL—Ðk<¾Gmpý•q³YÂ[b1Úxj…zMYzvMy”~¶miÎ¥sù5×Àê«ôg¥¢k¤øÊ߈òÊâv|ÊÀà5ÆÃ2ôC@]sòͤóÕ#¬™ÖÌž|pÏ —“3ƒÖ(Oš-Í­_ÄU€˜Y'DýÚΙÞæ¡O«/‚$ZrYh~š¤˜Š°^ÄUã““øŽ³u!JUž2ñ[Ã~Ÿ¸ÐT,£Ó€YNdT °§ði3M/sñ”lýñœ1¼>PúcXØ€l6ŸõùkS»:¸„ã,6Ú<ðàPR3}¸¢ÏM6¶&ŠÜo+-jñ‹_ÃÅò õ_ +¼4™@¬ü}m@+¾àb¢&3 «¯r&¡Æƒcç¤ÓvŽ»—Âò0È-⺱FH=Ç´ñÏÌ9†[ÂëÕgΛ´PtÜí(Ô—=i ´:Néýé°¾®zFê—NÄ9‘)ò·y™“É鯙á¬Ë]T.W¢W†^èEÄÞ6 PYº‹ iÀªfîpÊkÑ+TàrŸ§ù–ìWJ˜zhÉ2ÉæX¦ƒ·®±wàíšv`çåâVyº…ën«¡¦íoéãÔJA±œ_ô =íìý¨×ƒH/RS8C šŠh㾿 ¾vØûŸ½;¶â¦l0xÏœD¥±Y‚Ç¿Ê3XX ¢‹¸±±Ö²ýÙçÒ#;®_CûþÓ¯‘­¨œo Ý‚T`ÚÝF¨.qUü|D"úX«DŠà$ØžÖ Í*€ž ÷€<4[ù džÚT×Z% +ÃmÔL¿·oK¢•ùU‘¾’£!ÈÀ"ÿ§ žú1ç¹qöp_¦X?Éze|l:qNMõ•¢£Ç°mfy½˜9Z'"\‘ˆ¯¢ÔËÑå +Ýåò(iHÙn•n+ÊŽ±¨õ´U©ªnd­6J^Ðñ¶#œâG4 *‡ùing‡~cNÚ !!;q<-0)Ë‚áƒ&y² ïà9ù©ëÂk^Ü#8 °gÚ“GYãaä±× |»UÊè0¾rĤtôÍ™P`+ñe,2+«TSƒˆÃÉ`vûEËWî~(ºšŸ·8ÍǾlY +endstream endobj 51 0 obj<> endobj 52 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 53 0 obj<>stream +8œ08òÔ¤PïÜWY`½Ð|ww£ê×b`WÐŽ¼ ˺õ¯e€Î +þQ`…îØ;õýµg†®ÿ»€ÐB_Žü^!®®Àû^m!@ãÐ^ F9¤®¼õ«Ùq­1¤ëu=„¯H{#'é¶ Î½Ê_fë\ PàG?Fíøé +dýÁCÀ÷mòðÅ(0™mñÚKl¸ZňŸ˜9ʈœ«pZþücFîõaíAAýQÐpñŽˆUi|s@ï3y¸©;ô»ølŒ¡9ÛícÖ!¯­Oëûíö9!¸úŸ©{k[ç}ã¾æîm»mì•öñµº~Bû(:ëbf3PÆLj—[¤ +íåâlÍ]E^‹„DykïØj«åâ¤)«F^aÉ­7hƒ„”CYÓw))¥äòpâº6Ò¼xeü:„øYþ–·í†FÛúûBµdyüoÇÁ±H”-þ’Ä÷HM4zhº›$ºq&Tзõ9 ê1ñ3y¦ÈqÿÇ›¾av6;ÿI¢Žsœ¼Üa3ä¸')}”­[Œ ¦¢$Øë6LUÑ2^„:¨'*'E£•‘ºo„õ2ò»0t¾Óšîä"ÿ”ÑöïüU„9 –•é7¾•˜­6ESSÔ=‡Ùñ—ÒXFIDº7îJ"Q¿Ý"¸¥ç‰l®FÂÂðŽÐd]¸•—݆>ÔŠ’ˆST®ÎµL…õ`V {à[øëª(lÕõ깶;ŦäœÌ½¿0»åP¥ƒ/ò)BœŽl“}.sƒ ¬òÀKËžõ‡ +_Ï=Ÿä:ðqÂ<’)·Ú×ØfŒnÄ"ÞJ2)‹y“dgq%ð{v0Áè}˜-G¸ìÖšbnôÙ'DŒÉÇM»Wsx yÿü †ÿÿï¯n¦:/MW³‹0&}êSºWèŽZãúëñÂc¾ëà~H‹/úe!Ñëά/¨W`fÿgÓñP¿–Zä®ËE&››O[§Ðý–¯»8Ÿd©QÇx#Œrð7ö)ô E(m )’ù:BăHhhoÖ |ïpî±ËNF\¬eÝúµ`OmÊ×¥Zàìàà &z9®/#Umå7®¬…ô™¹fñU®žvc\­tþÍ·~!Ë; ˆlȇµÔäE|aÒòìJQ«¢6•‹¬«gví­ø)Ù]Ù8&~hɹ'h&õÉ0¡Ú WÙ[ž<ÃéF§Ó +n‘"Hsê3ÿ>õ·³ÉBkÈ»Gï¥#  °eB{kå]}§Q/WpŠªbÏé§ïîLÌÈ°ÉèCcoóºPùå·ì@aùƒ<(Ž‰Ë“ 4á‰ú'žÏ°Ý^µ£ƒ ¿Žv5µs…>}YØÍQ£¤7áŽÛ9IFR[E«d4u^/Ð>žH Ïyøèö2v²?ãd/zT¾÷­ßÏÄF:­!"C\™³šÏh±ïkóú+è/Dgp\ƒÎ®ÉÖœd:÷§å²~³¾¾.)ÿ1Ir–ìýЯ¦ö2[DvJò»/<V0 îÓc¹÷,s†¸ò^Zîœs¥™KÆAh˜ulQÕ +@p?'ÏZ–ɽjÖú£^=¡i +y 5âXwVܤONr¹;×w]Yšþû&Nw”ú2ŸÑ÷û ®¸Crßjª!Ε±Á3~¨43‰¼Påä²zOu¶;õb”?ûËtÑ ûÔÄ$÷\ÄØÎ4 î¿š¦ã_v™ÀN«,¶âÊlSúÑ4àÙñ#~ ÚoŒ»3—@ÇÃJÛ½yþ* ½wcìd€& +¦‚Ùìàæz3Hæ¿wœ7vr|QØ°6B -Ç_üqˆz¨Ü]9j®ž‡Pé¨ÎÕ²þ1“îL'Îb.hÌR—;Odè,ü;EE’λ½­‚Æ×R<&ËÉ`÷IȤ8¿þÁ>”®QÁ˜™+Sàb .s(mmß4@tÞ_Ò•Øz<‚*w¶)šÎ‹™}‹ÌäQý{±ýù¤õ¥é e‚ë/ü“¿uöæDî¿wëmQeßÜ-Š­…_ÚWYšxï;Ž’Çaø¼{F ·œÈ×{$ä´M0Ždp„*£0P95Äž¨ZÜ0hæÎ7Kó¥ŒY3®Ná=Ê„1z€ô Ц²äë"\eŸê,a¶ùOšüñ€|]ŽWòi8Åì³QÁ´„˜ºódúÑ1êfþ1·zÐâ)¿ëßàÑÐÔ8§n!qÃÖsDÊ7~ê3t»mÂÔƒ/±†ßvH“—¾™+o qýØm4õØ}Ù»¯ðŽÄâNÜÙÅfã1!À%yFª^$ƒÅk¹âªxëÖ$T|‘¨¥`ûŸ?z Þ'xé*@iŠ÷:zÄU-λ·˜âzsnC—‘îíñ›!&kpŒ–³'gj`‰þÊìÐGþZ„Föe8; †<üª?wÜáïü×ÉíYþl#!Q“Í„µÇÓHòq •VZ +{xÁ”˜šrEt\sØV (²Èb ©iÊe'ˆ=m »©ÊGSHP@<À:FJ`‚Óë±v³¾Ù£¡´g¿ýNFùøÀó—_!í1«½4Ë:°”¾#|A¶ßä© ‰ýŽØ);›žiáhË`PöÄgÜþRø“Hñ/ð\-rkúŸðõöØr`ÆÒÃ6=‰Ý•X/%ˆ(˜‹˜æ)k%³ v‚Æì"þãu¦…ØáÑܘ@†Š­·óEogòX¤]%ÑËØøÑÑ#5SÓšª‘ªŒÖ­V­r¹!öÚŽ¢½Ï·í2ÌŸ@C@!þ¢µ%àÐk+‚c·€>çéù†WPäM„û”Craê]ω6ÊÔ®<‡eÁ`piU"1c¨¤0bfÓ¨Û-ëEgæi'õ‹‰;aÊ·«Iá°2xÓîÝY‚EBbgðlãîQ–Ãu$dmÏÕ…$§V\#52óSãå0ØMÂ|˃|9ÙE7É™;û Ä8+Žëqæ$íôg‘Ý*š‹Ò5™­@ÔÑ.E÷%¸‹¸THí!¬v¬6ÎÑ«-Å5eÿöŽpíÙx‹øÜ~èì£é$Y3W|}Q.Õ>ªÐùÐ{»Rš¨š…ãRÁQ#Èîù…*–¶rWÃZˆÿ(€@eSZè|3~ÕǼÅŔÂ:RŸc›ÉÜqõ»† öü ßúÏ2~¼o,SR’ëô•i‘nüm÷º—¨u„´D5éÎWLœíÅXÕßèfßÝR1b"‹‘|kwIÔ¯çÉAO¦1„u?»éä\÷0 ñ5ÿm¬ô ”Žq½Ä¶B9æð¨éÁ2ø¸&ìŠ ;X×ñq e\$NÐzFÑfÂÁÜK²c5[R-ãô´¢énMûVV¾·-ï"=bÙ¡Óÿ–±èj½_äûþ9 ¾|kÖ$q½MùôÀ SSýœ‰ +Ø<á€%g6Ç?.õ`o[›µ”•‰4Š… >¬iH×å¤c<&IÍÒÊœ8}M|O°K€¯ÿ¾6x½œÀ*:DA]m`žwQ'ì<›f#F<«fw¨IK’ø(Ä!hâ(KiÕÆ?4ú7J–P-ò:´³ªëÅ-•×°+±û#±ä4±œKöËì?©´Z=V8 ±0pn.Þ4r¼Ê-/UúÆo…—îÏyªg(T®!o¢v +fSÌÌÅ!˜„ÌKÀ)åLÆßµß2Š¼a†·dt£âú—þPIÈ4̺Nb:,@ 9 º#o BR2M“c:ä’‚œÆŒy (K3ÔŠ–ZëCfA»‚y_rcQ2ÄKò˜lQrfŽ©(/7g™tü‚¥ôKœj%é˜fˆL~,FC?8p£íK0ëãJ»Ì+vä‹úÿ'%ÛùD­&âÐ^Ôy`žÞÓÍM†y{ê=é:Á™<ͶµD§/ÌÃz¿VZ‚㦣Ö¯£¯ËuÏ`Íâ³—#oR[ošVâüóJ³õÆùd¦¶>:°èrˆHšö¤×ˆÖ´ÕË„ÁP_2ð—ŠQ– _#“àíÞNr9ë‡êº¿Þ´r ,«;eé'‚—F.œ¢ $<ö¬!º·.gcƤ)Üšë²â4åé,©<®6pM™[¥‚¨õ-N½3²¾¢~‹ɼÝafc­×‚O±eëöçm)è¡duˆôëEÓzÜ´ËS2¹ƒ“¤*Ñc‚¹‹é:G -£Û³»žIS$‡ +óo‡ï„Nì¦àiÎŽ$Âm)RÙRŠB ,)ìÉu…O¼ Ž,=oíJÉ´]€z‚eŽÅ0vw,€}3ÞïH!h 'Z¼‰=¿äÅ39_ÅRHk«´aÓäçŠ wyŽ® v"Ô+U$!öYÅ`S×»1¥ˆzìF¿°²–h߆Ñ4Ù;ä¨çí·0¯v+óÖ À/bùK{X§ê%YxD§dA‚„Þøœ(ðb#ËcHöiޜ̺ùĦ†;±øK’ÿœ¤’TèeÑŸÜ~´ÀÙ +endstream endobj 54 0 obj<> endobj 55 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 56 0 obj<>stream +¶¿µÉ«U›`X¸£x ì5­'öu–g¨™^oÀ(0B\¬ì×—O>0e¢üÄ%žð0—ýI4 Ò„0{ÜÛc—Ú{–oàC¹Z,¬\³yü®‚K×ñXy:Ö©>}’4¥~^M‡kR8ZYiË"WY{ðq*Ï õ¦¶Ž~V¾ˆßßþïÉ:ù[K9Ä]>Îól'=ìÝÊA›#,j¨÷ßl7'&‹‰üaŠÝãUV¿òæFÚ‚²1ºÇ¨0\yµYœ±ú‘‚%²Ô°=«ÓQR?¸iFE}$y±©ùSˆ}ï5 +×b‰¿Êý¾Äùe€ˆu’û˜Äí©²a§­yܳø>ˆãÏØÚqxÃpß6&û”È—r”6³M_¡{j¾Ÿ6MVtw3bÑ¥§zV‡^§ûð3ã`h‘ÌÝÛ "/õC&…®p|Û ëtcö~0„èÒ0ƒÉ©¤r¶{ði<Ã>|ô2Ó3RïíÅ<„8¨W+&(Ú'1¾@m;65=¢nˆ[&…¨Ö±µ<© -Wc¢Zá­äõ櫘íÉ·oÎ^[„EsLJ¾cžû9M¥€Ã´²*å¥gŽ\?’W7g?¡w +¾Ë…TíêZ2iÄ7Ï€ãáiÒ'µi¬ §éE¡´£U|4õ=~rZ sÑHaê)25Ys›€ ›¼«‰ãbC)2å^u寑†F@‡ ã7©|?”/iA—f™C¥k!¾¹6aþ AúQíb²;!RÄ’ómilÚ…Þ•DW…ž7ÙÁY7pmI:ˆJ¦K2CèòÈO‘%nÍWýß P†XQíƒQç<*% Ãʺ?®8\T¾,Fò|§È¢³Í.ªJv7^ǽŠÊ×}3¤æåáj4myãc±ÿ@¼ÞpbBU˜AŠ‡ñôOt,hõ&ë°J:Ô÷~yÜ-Il4ï+÷&¡b–ðCp®má…™Vî¾Õn¥7·µ©ù¤É¥¬S o (—)5Ò).mÚ´ö”žõåAœà`Çà˜*ù2z2<6± ⑵1–¸~òç·<{6S1NLg!0u -ªÅpÆ@B‘ð»¶H`cÚ¤¿UÝ örÚþÒS]P Ýaž¾„L]¼Ýn…B¿KTŒ‚ð”ÞQ»fFÉã»; 3Hƒ+Ïî%gw‰Ó‰ª¡ôúkßhðÐœÇ|–cfaµ¦jû0©ºYjg¹!'¦«Zê®}1ÑWè†×õ¥Ï8Ÿ3Œ– À'²+½û‰|zcEš5Ëå"ÀðÃBÉ—zsÔÆÂh«b­ ïe¯)Œõ>.’(³8à¢ã¤`¢æÙ(É뎹Þ;nä]Qˆ÷ÊçÛÖ©W72úšÔµ³Q*…ÔšÞ$÷BŸ&Špµ—=™Ó]ù_ÀˆœFlà¦]‡¥û&}£b «G‡0ÒUà‡ãAv™æ@}Dñ> T\—Ÿ/ò†tÛåjo°VŠTòÆuGäÏÅ îÿ¥þ‡Q„dM{Ûo6èa·µ?Ò>kÚ~‚s\Òÿt€~®ÃÊad¤P³6Ç Š˜1š-À,ù›QŽ‚ó–8këãâG”†.Ü"¼ÚâLæ“^èÈZÙ+¼ä¨t}£§¡ÃçñõqŸ®¹jû™m[Ìùú© ³ˆ/NΔ‘iššÈ %<–œ¼Š£Hh"&fö;Ð è Ôè¹èhÉ ÍÒ÷6ƒ’©"-i|ÀY—žto^åV‚ £fA°>Ú¿õôÈ Þï?G3+Ÿ•ž˜F™ù?ðªÂÄ«!'Yxß¹ü¥Õ]l)ʆ1²1æî…Ç-=š/VÞ-\SçcÈF|E¿?ßк‡[his m.n3:n¡QR/«nþNîQh¥*²B¡dµ[>luM©t¢ÉŠ•Mœo¶“Ëà,sÿvuÿvNTŽ[ãKTÍš|y:9J$¤8ÔÕÝœ·ö®»¥zIwØäþÝA¹{榼W&ñåŽNQ6NO’d¶BbL8 ™Ó&Ÿ _féàBT ';¥çR>Zp¶õgMcÎØu²÷†§ ^¹n~óîÈíì<Çj¬ï”´FHÁhq1@–åM¶fbƒÊ!ºB²OУ´î-Ðó0ÆÂP–þî_ØøÒ[”l&rô(]Adr#÷gžì×ûkÉq¿MÉwJ’­,nQZBb΢۠جtË~âó’1ߥÞp}Ï@©}NãàËJ§®í£«^V–Æ´ùWÄvFý6Ÿ…£n*oz3€‡¸ºÆyCánÏÒ fžÀ06¯î<7«P?}—Àd -´¿ÉZœx°ºˆ#PÆ™öÅ"ôÒËÖö,ø"ðÞìþ¡sΣt‹É^†­ð‘n€_–vK`ÂÖÕ³ðE‰ λ¹Åç^ìñðº•0¶#PòîÑ¿'ŒI&Й›½›Ó[e-É\²y›I¹p_\B¤+I¶ ó7åOVÈEÒ8®!­°ŽÆýå=…%GCô°(S[½îv‚äÕ±>'‘“‘:Uï k>¹ûh>DÀþÔ›R„»éƒ¬…u§ÅñÍÉaäÔ-kÓ]Èh¢C +UoT{u™Wꥼ¿;!¦ÖË<ÄhB bîÄ.Ã]Äç¿hK~åø)¿ÿ·œ–Œ72qç­nÐ*3Y h…øë:ó¼LÇ]‰š±±'C ú‹Ð’2_1ð»;­» _£6(ixfCÅ´qÚat§·–æÓ£~¹'÷æì!IÅ5¨IzÖ¾¹1¦?>u§ B·½^RlÙäJFûÓÔQ.h¸}lîƒ@X\>§Z1bÙ“`Ïû­‹by}uÜéÅë¸20#p·á³B–'þ¥RG´ÜDHg$) C`51 ¨{Mô[ì"pÌ€ËÊ®d …ZSú8ø–"jøÙú‚|QL…÷³³°×Ú@cÙóE{pZ[-JШWâE‘3Â4cĬ›Õ'­¶ºŒ_MëCVV}œf¨ˆ/ûA³Öå.ÝÁÿ& `ËeLjÇü¼>’÷é–"Ò[3Ä7¨ ˆy}Îõg.Q[n¼¼³É`¿SÌH$‡%KNÅÙ>@f> ¹ùs¡JS„ÜL² ù‹`†©Á¦¤Úpqö>nÂ1àɦ°øû¶ØWQL ´>^ì1w¹v¸<¬U¼§ù\5³©@œÊ>?ÎA€~;¾ö0››4Ä¡á‹»)dÌ­DtÃ_ÆRž%Ì ÷q.µHú-*¬ÕÒ€2î÷³myÃt Qʤx +€«t_Ô xp­›."¼àãKhmá3ˆÒ[Dçc<§kùMwZgÌÏÜ9ËZé¯ÉðöªKˆÜ­ ÞA]ë—í¥D¦ð9'”xKû¥›¼¶¥_ëÒEò†§ôÄ OÔ¢Ò©ý̆å™)&-iÔóB¾ùt, @ +¯é6,uùžgÔ_qâ¾ö\f›Œ¥·Ü»¦cðÞÍñL)»äp¸Ì¥¡yøâ±àl3 <¥0ñ­ím¡ÚÿÑ ¾!j´*S 2ä&øí\@ÓMà\éÍ(,ã RåY¸:R/V—ÈY8»Ú`ú–Pé=ü£Œx,Pk-Hæ|Ê㔧Y~ÞSíåawp\ž¦v€ìùÙ§83 O QàWÙpôp% 3§:3Ãuõ„I»`c¹að‚™†›MØßïo¾úŠy¦ÌΤè”y¶_Ñ“3›˜æã=?ÚâJ¤åõ~¹Xãªa-¯_L ¹çP.â8˦©ÂC|pÅüÖ<.›«¿ªºIçß”èžsÆÌê$"1¼¿­,ÆõA@ÄLµ‘+jËiÞÌÎónõC/}uÀ¡ÜòB!ç*?/ŸyMoV:ÎïϤ3û13äV+;ÌWwc¶Ò‰k}t9’±£¹¤ÌG×Êíi0 +Æ».õ(ìu†pK^ÖÉ¢&f9kD{ §Ë6 ÷¹óEReô +@OX-T‡‚†Œà¸çI†ïäh#¿>²öz÷\CÎm‚²t×FF¹:ÀÜz¥b½}½´?Ž²hì~ìùpšS³ìÆ‘m‚8”òpq„èK¬ È›_õh†<ªÁÇÙ&(–+„qß”¤ßjÃ<æc!)@%–ÚŸú Qª/¥ð/绌@tñYüè +edb?”ÎFT¼T5–øu[;·ƒXyÃ¥-„ÙA†$‚÷VÙX©/„YSA|c¿Ü‚REg‡zŽ–eº2šÊßQÖŠYeäÑê‚órË(!Pn]ÀjÉæqë¥^Àµ'Qt2Dyº»6s6Ý}ü‰}V¬‚‰€K5¨Ó•t@‚pëI•þwœ–«*·2:»ªÿBÍ¡óÔˆ6Z†4ï^)¿v?“kbìò¹íøÜ’¿oû1ñ.;¶oÕ!õ¬õXr^ÍÉôÃÚNLyÿÔ grM%³bvuå¥Auôk øV@‘Ìò.Nsï9 hß%è•a‰LÍl›Ýú4›/ãæz‹jloüàøt°&Ìá!t«hsæBHPÉô 5±Êã +endstream endobj 57 0 obj<> endobj 58 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 59 0 obj<>stream +”ܪÎ~×"÷¬¯j—1Y} :·iH=Æaˆ¡™áz¾º®¶}<œ, t úÛ_¼tŸð‡׳…?ã¡Äà N¿¶ÀžŒ÷ôCé>i†Þ=6úçrGÕÙd¾š(¿¾á<ÃœÂ2i`rèÀ†}öŠlSžÜr‡ƒL¨ºOÁ‡Áå093ß6^Ïûát›kvþÝ ö¨_÷ < QëµÀo¥‡9° ÁàhÂViDÒNÃWtðÒC3)»K'Úgq˜Î’~ãªîÚ=õó÷Xha­0„±÷cÑ|oÓÄOQƒYbL[øÿ«¶r¼Ïª±Wï?>IعE/5ÏÀëZ–¸Â¿15¶­a[@KÅlßRR;°Qí4ññ<¤Ô)¹À4?OXžzDÎZsß/ÞFß¼¹…E ÂO[†öЈ,³(øÖzBàî(È,÷]ˆ¢^Æ'Õìôÿ­VóÅ´š¹¦ÑTo†S„™ËÙa_¡v +‰—UÝÂLé fH…­+RðP`'ÒZ‹ià,Kc{jBE‡8Ñ­‹àoUé‘œ©8Òýûºñ”ÚÕÿ(/Í^Á½¥É…7ïS/¹³uàrƒW´èr¹€zü‹gwÌÂEÊ{Nßøxmºã}‹G2ç —x[ºNcOßf¶aÌ»··i®Áï€SšÐ¸#hbÌõ<™T/ß`#ùwBsìïkp­Ÿ£ª­Eäõ%˜°4z¦Tê&4•]W@ƒ ïfÙèG,¯ç$‰éì{ë¡ç Ös$…Z6µµÃ¸g££ì04v,½á ¶y––üRKÉZ{þÄ¿ù‡ë>itÐVGˆx±ûsÛ§õWžc*à3¾àwÉS¦/œ§»†“‡Yú36„#¸”UûœVŽð(`Õí…í|³¬•Ð& PSéÃŽ¹jçÚ 8p›ÜÈ׋ödF/Ý)ççºûéÊþ;¥!»ÆO„ ܹy9äb„»cÐSe‘üÀÒ#2±?r½žù¼VȇKâ|…"iô0/F;éÀ‰î6wêó#·óëÒƒc£'?t;³krÁ²Ë±šxØž¹ýï§ß4rMá7hEíPb%ãÆúÿ4IÊå;Ž“¤qÄÖ’?o\µ3¼i›62ë_á.¨k'_ÛÍ˵¬»ÇŽFàm®Äì¹È|¶ZNd½,qåqiß:†!2"³>éö°™žH„5Qêç«AK''v¬eÚxhþ—Á:‰ 0di±<Š-³Ú[ÀHQ2 +¹¤œ¬0¹Ð¨âÒîo/Ö°7ö»tZÄ°eka£ë¬y!Ð!¥ðBÕgñpE¢ê ëÌ f –ô×;],&€Îtœ-U€»OƒÖŠV+ALé¼í0± úl“®†ú’ø*Ô¤êxÔl¤LÊM‡ý…⶷4'ÀÀ¨p¹ž¾Íñ‚^cœ%âÞžÓ äì7})k1CZ |Ñ‹–£Á›E’'Ï<ì!yP¢,ø%ȹPÎZ Ý[mþ+QdXÚcfM€#d°é–!’-;‰ºlM\Ìžôz±6@„‘?T9ƒƒ‚9ÒÈìë:þÐð/t®OÐB–¤"ÇÇÛɈQ¿ +©€w‹î-ñh«ßzåþù`O€3òW³”$ßgõQ _üV’'«º¸âál•«­ô£¡'€Q©¶‹eK¥jÆÅ2}:ÁCw,ÍŽÁKç4Ý6¿›r^rY"ƒPùÙ˜*¤­ÀÞðœ×Ó{„)pè"QíǶÜÐL S“0V­‹ Þ‡„Šÿ¾“gÉÆ°ò[nbÅ«‰E\é˜\³‘rÏE¶·ØN  Áóûtp”ïHáÅ'³Ñz1¦Ä¬£ÏCU{ÊÛ+Ú´ØY{MžSrjßwMb¯Hl·öIàæsö»lۺˬ{ïEµ.Ö(Çœç [éÏ„@¾ƒ£Jo.Ø5IŒj¢Ÿç´EÄ3}d+Tøò‰m—tš×YÍŸÿú*¬BâWyÞ„ê×ç µhh*, ©¸e +ØÂÔ^‡sËs Ãªì‚K:MÁág"qíoWpp ãN” oäœ2R†V P°aÆUÿßT 'ÜâÙs¾Yšª#úŒ²UÖý(‚Á±Bb/Þ?¤ßac™EßmG£åèÈ áAX‡iÄ?«ÎÁ¬ID¡hsGAòµ+1Å>a¾OÜípSçG äûÜOà üSM‰& ?,]¢v¢\^:'+/ñ[HZFr.Œ5P“`¹Jê|I/&¦ ç´x£¡õ>³7S‰LU?ü¼É=7˜z‹-nEëÓ"C©GW|1…6Cõwy.¤Ñ±–£Ý{‡€0Êï"+úËŒ+. ‡AÓN”°´‰pæ_¾FJÞ­ÃôècJƒÑô £Š´èÿà@òWGîXŠH¦@rüCný±õ®=.Í=&“<)A€üìÅôÚŠöÐT¬.Ÿx”d¨Þ¶¨Ø¸ñ‘P¾@Æêãðœ?M»qË#cÕ%e*ëÚü8)2K…ë³ä ©.Q8¨i¸rÃZŒ‚ÅNš6VÖòGãÒ|‰†M!.K°¾ìcC%}_²Ù6¯ѱ!àý¯ : cÚ…(Oý¡Á9`àòãì%Ä$¾/55µW—ÿ~„h {3nKNL5ãó1íÎÒÞ[_†$aQŽ ZÔ£aªÔÎ!“}é6:hgg}•VW5†p1!ŒømÑÖKÊ°~иpT×þ0=!ãÔ%õýŠé±µgGâÁK—ð ^¤ 2L7ùz9©64û›Ê¾•ùö3±tp™‹ˆì£n_ØeÙ±‘V*¿À‚A!ã ì{éÙkÇQä`y02g\µ°„ýàhXæ%>²ø+¤5”¸hÄÇ¡òœáÈ5Ì:"µê{]ÖKë·:…Ú¬Ü=‚M@½;¨‘CjÞø.ÂÝñì5í"-wfçRUÃd‚ÔìUÇ ÷Ñ“Xwq +X>å¼¼¦S÷íw!*Z’užï eï$7 ÖøªsÕÄߡǧÛÆþk, ?òkúã&ïJÿ”Ãl”" Bß<Ô”ˆìwg|ƒa¢Ð ü9u9—éuR›óVŠ õ²‡à¬êï´¬Âõ¯‰4N‹ü|0 +êª ‰™m-üQÞËÛ+‡2Ibž/÷"wUÇb Y”lB¡íÔøþŽÍ°eªÎ“} ̃a¸Ôe¯þÉ ë®0¯×7lÚz-C¸c 7#G,•7u KŦ V¹w[Ê̯•™¤ä5Ll³_~ö'Êz†æ?Õ09bïKÜ©àþç´«Rd¦D"¹¨À¿.|6›¼bº:J Ï 9?îcçùy𪠃 Èàyf+«}Ê°6ÿ|{HÐZåò;¯Ôÿ,@Tcž…aÃȇö€š‹¦š‹2÷àò|÷)ÁnÕœöDô`•ºŒÈu3y~+ÜDœ¯;&‡>¸%«þxÝWŽ +ϼ,êw¢×ò•‰ÃUDúT-z9DzÃiçq¾_:€Ö[Ût¼+綮2‰ÚGýç~m1¹Ù[Ågñ§™ªAOgIÚ:aCœ wÏŸ;ÓÉŒq?,Cù@0˜&À{SàÙsºfýÿ+ãѼ±%·X—6V­|±æ3…÷zwûªu‡õIØÞ =$ñKkªÍÕm3:üÔe}vk´'üÈI²­7°wtkƒ^šÄþŒ»2Aë-DBwLí+  +n'R©õœÌ)ò"\á_VÈn{Šþ×–Mú]ÞäÃNÏÀW…š‚F”Þÿã·BS 9BJrGr×2©Ò(B$qƒ­Èwœ÷ZTÕK"Žœë>«;ÀãsK~Hi’·ií#p¯xǽÓǯ^K Ü’®¾jE¨SwKç#@ð.<~]xÉÍ:þ]Ýè*/.\ÓøÆ•ºlõP}dçÀ“õ™Ë§prßcÊÅ™eB@þ>q¸ä²:2Òb¹Â‚3o„ð5¢•ôDì*ÝVŽ¿&dñqr›L¢ŠÉOªµ‘x:ÉÒ¡ôá"RGË$x¤bn3‚Üýu›ÿ•4>c2t(Ž_¤âäUš Ü \ÂÖûøXaßú“—«B¡5Ýž.a¸Ê1*âhA]w;96ɲ +‚Ið–h•e2œ¾² õQsòqFÝl#Õ¿¢Ó{3? ±ØütÒßÛò˜á^ô°9…”^`³1EÌÚÉ[ÇÜY©FÙ}¹å÷wÒ$ðRŽ<ñ»ñ“L®0ÎÄ"#Ô'`.yúWútºpÍŽçÜjM +áò$úJv/(éïEõÔ¾5€üÕnPÂ< §´bübÁ)ÎÄ>GÖ{*ÆÄN]s¿üR_æÓé Šê•v +%‰ ¤wêÍ{a¯ç¹”bžËqÖ=yïÒ°E«êþ;cª›rÝ ”ò'ßÔ†Êû ·Ž´XaÓp#³õY4¶=Þú¼ãÙóÃV}§fmÈ÷3Hö•„Ñ? +»¡ÝMµ¡§g¯³³S¢ê­ý¡ÙÌûëkÖ.• ÷ôÄ¥²¿<™Ò<1ÓÍCH‘CtDÍèk]°5øèҚİlÒ¶ûI½óCÿ2mòWe‘,cº BLÌ15²\$hæG¨‡l”³"ˆ +ÊÐð§ hú€ß& +H°ÿò[>ÝDuÚóöß!öXKh~&ÚB=à¸Ò:ü]ÊÐÂœ$ßW¤ÅÙwýßVêÒ  0æ©]ÎR³œéˆKPN!+³E‰[¦–NßmŒüíÌ—Ü4Sc¡`Åóy”šãËò}Šl[~“ë}Sò>jˆ%÷tJe@„°°€™f¤¤'e4˜=¿>ëðù2ˆöâsG +6çÊc¿ÜÐÅ>ïÿÕR +eÛ˜Û9ün¤6PõפëOñˆm«—ØÒ“˜Ý°o&1½ *wí¾ä iZ­ìݶì)õÖ @ý«9® •zSçE*…åc¢Äî\½c^nO‘àÈí¥-uý÷ã£t&A„_aàÅ…(2ÖpcD”.àÐV%¬M” _ÛªR m¢w¢Ö.Ýl¹m|XùÙ½«³}‹£p§Êú°Ûv;Õ]¡/P¤(>\û¼Åo²PœY™dx¬Ò i³YWp¸!ty5²úe¬î@N%*Þþ fMOè’MpGL’ÿ²áð÷ý·s0Bù“΂ÑR‚z ð‚°œèC6m< ®²_;UT­ñs“Öƒ—´öÜ.y e>º7³e¥Îa[zˆ€‡jaëjæé@ΙþÆÍÀý4粸°}‡|n¬¢¯‡E}@s*¢Jplþ½–nc©íé<†#E_º,-ŽÑ[%Ü^ø-›[Ëïé‹Ü«żIçìR,W‹Xfd £in EBá WnoòÅLAÃΧ“þByÕÂóg/³»ªL!eâÄÖÜé h™ äîÚƒR$kâöÞ9·ú]Øh–_~~@7UÁ·#¹üi‡ŸÝß ¦%@öÿQnO?w"@¢„ `ž(|åúþG­¯ªï•Ñë¶i]ùïuè¹gO „ɽ¢èý‰–ý§œ¶¡»„ôhZ§ò?‘¹wIŒE&ð>ÊC6ØH{´„®“é¤eÈãt=cù±FÀu>%‡¢Zp§là õ¢—©1¯¯Ò»”jŠƒ]ÙÜ‘ŽeüÉ÷ù ««ÿ€®¤(uòhŽ_H~aøß.÷Ìøüòfbâ·U¡R”¥?Á«GhÅ—‹@HvÈT»ÚmÃuY:­¶;Å\IÀ®k­~yöÓ̓kô›Õ·5ƒeó6‚mz,|4£>85œè—uD+Á´»—*oAÛŽ±¥Œo+ý;Ìd¡ÊÑ°Ï;à7:SÖŸN,ƒI+—HÚšk0eœ…ŠñjÔ†ß>*u?/lžp—YqÔâhoÉ3>üfo)m‚Ÿ–"—½ê3Þ]@ñÐr‰baùÿÄm>RëupmÄ ò”(A–LÛ¥âjOëݦ +°8sþíŲ{¹S‡N¹xÌÿRæJ±]A_+´ +Ï\?(Z4?hE"}ùã슇ÞWŒØÚU–ú=b«Ò€á±\Þuq‚Í¥u´T^:[M}¦æìêÙ:Ì™ ÓU¯X{,cÝ[†d‹ †E²1Qs‹Ø„¢ß^ÀKjaÑ?ŸöâÉÌ8Wp·ö*û C—¾K@ɤŸê#Â#rb!y¿ÜÄ"cÃnß2 +£eGçÒÓŸ•@2Ž”á€ùMŒ~ncÐÇ×߉Z˜Û†&Ú†)aZö›¡0íQ¨w—vZ +ßM#×2Ç*vûN¯ÑÜ *û´NÒFV­ ²¼D–ʲäåæF¦õ\Íš`éK<€4ÈŸv&j/Úˆ:Öîžœþd°brMåd( ¾"‚Ô‡jUqoMMgGñ•š½+éÆøuÀpß/P«ÿ og¢p¦·á€c7þòDƒ“PàîT,H²yñóãÁ'×UV°=„Ç)¥²³Á“Ýæºúþ¥|³$Lå]§yR±3 î&÷@Y‘¹Seî[[ïœÇ“7Jp±‚¶5΋pßÍÙIÞM(W\³ð„«€ïÇϨ ËžÄ"Çßj3•Hìù¢óÚÑHÛ§%Š1«ìɯ¦%4Û—i>rìbKô©nŸ7¶ 1 ²BCcçŠd‰ÒSþÑ‚6á#0Èž Q¶g k{Òi4—¦Æ{O¢»újyŽË"X­4G˜=!*€øú §CÏGñ~J÷Ëí“]΋?Ðažï‘†å>ÝVì[n¨ ¢IÙ‘+›|Wûh‰bßïõÅÞÚ±ŒJU¦J=·[<=æØóHõÒR^jÜÒ²Šœ&wÊè¤ó¼F«·ÐL}²Ð$ŽRm£ŒoU‹5+a.Üø°ˆvæuÙ¹ðjÃÎ0m£™FŒm´X‰°pJÔhmÑOévÞ#3>ãÎ-Ù߇½hŒ{2l ߘ-¼oGŽ$¤­™ÖÍýÃ#–¹Ó)¦ CȽ³HùË}A“½ÕN[Îá/ÒÿE^›ÅðVAÎ1à¹Y±Õ »Jùt.5ÞºÔ¿v}ýDñA†®Þ(BåÙØeã{uñ3Þ‹7+?p=bÉ_=›¼ÍÖ6&•¶+¨vˆþ¶{E‡ë뚸Où¯†Ì$’0øÓ}²UÒäÝêj]R‚¯9Áq™øbÅ[¢Ì"{s.c\Æ6R ¬}Äÿe€ÝÅ)ÕýUI2¦¨l\{¯ +Fr7§~ÖÎM GGCÎ`H¤ß¹¹Üi£E@ø 0h5°EmȇsûÜ0®²\R,ÖÛ¹Ru÷ºCƒóütüb_IÎ#¬Cé*Õ`>/ö4áÁI&oè~Âý^Ä®@}oþ5Bi*ƒñhŸ¿Ó_ßÍ>¹¾1¥óZ³•V´ÈÜ¥óH Ýo¥?åÒŽl¢Œ²(J\´¬aüÿ³qRÈRx§åg³7&*³Q˜˜úª£e¡È€ÍÏ ­I²ù15Ÿ¾Ô`²}ÿkᤜ'ïßÍD1~pŠªsk¬Ê\×ÐôsÌ­¥WªvÞ¨"¹ÌÊSYû<ÃË»¥©&Z5bõP»ÒBsÅ@ä«Ax«šÞwy¤Xùé€ñÛeÍ7í+¤„Øid×[’a<ß׆hª¥(’FP¿1“Kcg9'ãð=ÓÞ‰&ÿUò©‚ÌÔ9Ÿ2ÓsGu¸`üfùÚÌxSJõÜÕÇçu¢ +ceD0¾òð¯€ù™z÷‰/Ò&ÑʽÛœyr`"}ü`Ε·2fá›'”`Íß饘½‹A1Ùñqˆ†h§ý¶ÓØ’Ž2#ïHÇj"–ånò®¤|.Ðeájž[ÅåÈÄèb$žmú“{AÄ=Ñ_³"ÒÕá\Lè~Ú·$:Ê—Æ÷?Ž7·zftIfµj­™ñÐ ýs–+N.t´áÒkÐLƪ@†­ù„!%[” ‡é³R0ýJQ¯òšsd‰)ëY^’ÕôéLRÇÆæÌÓÂ4Búé ŒeßÍDÝ@À $M|’ŸÄã¢#ËMðTñ+±í kDsÄ.V{9Iä2§ÿvP–°KŠ5‰}¥œB<Á?‰€š¯Â%æ(L­ÝR|~Dw1`€o^Š.®K;þ{d`#ëA £¿ð#Qºj§µøÀ¶W-7XXæ &wüfôu•¯ Í•°á«Ã·»jïGE@ÍlÁNP75:Ò‹§;è¼Ø$µ¯V =C¼ä.ïä?Ê’]I‘ã.íÆ2šËËPªçbH¯u–8éØíí0_ôR‡›  źËã<1,„;™‘G×4f¢Ä÷ð{…Ð.«º’Ë­E[9yÂ;wáelNq©ºè¤ES¡3ÒZÑ#•0{YÈœõ«¿Z¬£akDó7~™‘üÉŒºú§Õ,¬,Gaæ8úÜêê‚©8,XÝíþ hÕWýÚåìÐ_¤ß³ùê¸øe€¨p +ú妇§ÆèÝI·èÙç˺{íþÓ )Ó9ø%³IÂfƒï^˜~«»i«i™ç!}46ó…¶Þã†Üs¿”·ªcC\hû2&Ç8®é“Óþ°;>U!J ¬µ'rÂÖÀ×'Á$”ÑdQ¦pt?»7І¿‰2‰fy2’¡3˜Lúž%•. +¸ú®R‡ͱ1ÒU9q³2H)*B÷’MïWÙa»6°Aœì5Ùck*iÀ×ÖzßO +£9j¥r Õó¼ÜnBTdßo”B¼MûMÃú‚66®ù¤à—ØííMªƒ“›_ô,ú΀[[\¢ ÃbÜìØ‚@T÷@{]®]¢à.xR< +endstream endobj 60 0 obj<> endobj 61 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 62 0 obj<>stream +B{݃d:NTÓ7 · Vó”ïÊ°BÇQÃÐqáÄ>8! ˆ¢V¾¢„±Ò²X¼€zÀ d‘¥ä–t‚»Ã¸v¯Õˆ–f¡õËĮ̂ۖ0‰b…ñOÙô ‚o·(8¾yü¿K‡˜»È8µø-Æż®¢ßÞð(¬n¥°l‚w4ïœ{ P]vA­oV‡þté‘Y‡ˆyÛ*á+L4ÆØV_•±Úh’æ0Æt§"£¾û7œ¶M%þ{kÆ•5G0õŸ¥"€PýµÃöQÈ’žäîÍJXÜió'1ÝÔ«fŠÒ >¨të—ˆM ÝQuê²e£òòÂÎçØZ« LJÒazêLô-[c%2qÁf£Â‹'éÓ`;ØO#˜Œ}±¼U_× ‘jY’±òN‹üz´Š[5» ëíÇÓâS˜§ÁªŠ{¦þpR8vÿ›¼*W>.Å«˜l¾´j`N¢ýÆÚUC"ϵØ(&b¬G•’;'“1µw(;35ü"Ù\À£ÖªìaMkŸ!¯™Æ+w"âL~ÕЕÌË˲ÓïçÚ…ô¨dîÏP>dE™ÙÙú¢ˆ/M; BGùÒó8Õ‘ñÝ´«4b$a I6FN`Â*vÝ Ñ㸊Æ2]|‚“ñv€Ä]*\ŠÉ«0€^5ý©8RáVÝæFë X\™+­ÿëà`ãaŠåF_AýÙ–‘îà~³V‡Œ9$Êe¤è³ò† ã·uæ8Ž~>3uÏà›| !àõP›ì®&­Ð{[Ö<Ó5µ}x-Ã\ˆ´ØˤF¥99ëõ!I÷*¼6Ùtm甪â÷°ü?çáî0%òa£ê?%k345bíÿ!?É°öѾªý ÅÄÇ,ÄuMòé_7í·œÅœÑ:Ýp>—îËvqÅL=Ø€ÀÇ‘öDb$ÏÁxWfåñop#í;Ã`¡L ÆG¼Rö‘¿ ð¤$É1v‚a¥Í» ¯nß(žy=æ±5HN%®0„» •¾)Ìæ… +þ>¡ £~k    Ø^ºK¿‚²\¨;ÕK¯µÿo2«xDI‡iúœ½ÍG¢ Š®Š‘ðèÔ9;¥ËH¢ƒn½O²lœ^¶õÏ×5t‡\,Oò~ø“s¦ߣ¦âJ47IÒ¾¨ú¼²ÀÀ¸.k›u¨ƒ³äsñ½Å/Ûgþ÷õ÷\apB;X6t"‹D°c +ð'кü@ Ç´­k°‰òT“`0œCœ² ¼çþòœ‰¤LߤSOÈúk!yrµžÌo˜J!Ó.Ý©ªsÍô^½„TŽ?¿ sêÛ~Z ³ðy3£×n‘!:`ãÈø@Å& ƒTmh­žÊ¼Ë ñäë(  ½:iÏF Ä +™\n< ¢×B­4e ˜‘¡€¯“h”«è|TIóm}‰þs¹2ÎÀ\" ÒÒ}À<¯Ú +mÅî”Òèü÷]œœ?7á€6¯©ãžÔÅEöñ*U?œZ¤º‘\«ÁAè2áÔ§-|1á„ó–+§éòÅ€¡Û.ÿ6`¥‚ ·:~´s@@2òÇ]G:´†¥!`F–’k°g¢?”¶åí6Ðkß®tŽL¡äÊIšëµ$ûËJp!u»¸i{.A£g¥,Ä0?”æp`$á:–7ЄäŒê_èÆæò_±Lˆ·fqš·Û(ÊFxý–2Ÿ(¹(çÃg¯EïÇ{—j#ä…ÚÔñ–OŒ²_òtÈ Äó)Ô-‚O*ú¢@<¯ÙH• +¦„9ú:´’)j*b9ªÝã%|lJ‹:Aê`²:nž³½£ +‰¸oki3àšLZ[Vßg•«ò4!¼>F_—~+øÆ*Ú¦ì>`f¥~ÒY È,öèÛ˲Øô!¶4¥Æˆz²äÔVM!SzùÐw +¿)›¤Ôñ"ƒF/$Žûs + néþyŽ9 ÌŸ‡ño +Àæ"¡éÅuÏ#Û­ °—*uÕXHYO I©BdYX I´{Û^©·aª²¹â½,@KPw× ¢¬‰pÅ-GŸ@D(9ã¡lñm>ÿÔ{¤'Í\Ôæ>UJŽ;z›‰[Ô:BøZŽ4Ó÷ÔRÆþ”áEºŸä­pÎÌ„Hà‘ö‡Á1jã6…4u–š[JÛÏÜ”?1y==Í“ú§,ûìg.Q%2Ê*)s¼ÙxÞŠ%üÈ+ÕÀGApLÎüríµl÷£¸ ®]ØŽp‰­/rŸïåùb¸Æ²AóÄ2NÛÞÏ~ßâ*2†²%xŒÐ4àîx‚£?C¢¸0C ƒª“׈©ýåùpD3^}Ÿ>¦[¥b†¢—ïß—Ï£Rå¦_ÝáSÙUþ†Á=\«ÑÙCžþÜ1ÉÍ㯋§Î#¬\‘!<|°@ ²$Sû•S¡¶F ÿñ;ú°Ñ¢^(gpÛ”ˆñ'ÃgJ¼ +½Çæ€BáZ2;”HÊ]#×Èe“ÝÞñƒ)‚ ›uWr'Š·;£&‚ý)G æÒÖn}È9Ylèa›Ê}j]èëß+Xî쥇hœÈøVÊ*2yû' |#Þ§ìñ¼Pmy2 ~œ\ûíÌT›PûÀðÒpù'C¤áKß U:—ntÓ&zH—ñÀEdãýL¥Üœ€÷ŒV4ŒZÐ9b°Sf|O£x¨;Á– {~³0/ +\\9ÿ:œZ*[¹¯p— +,rÙ¾œ—ÅÞ¯{¾ÝWìVõL6‡-3nÂd75ôò fµËßÑK*/Dã@Œv2a@{Ãdºsg xLÇu·ºyAÚhøq¯†Áÿ]5â´ÄÍÇø8å”QSUJ—s äÑßG‹ÚX¬=ÐDìs?4QòBá–î.šµäó evüâ\(b5hZ:h‹£œO2A£[A~¯8ŸŠð“?_ "ÀñðØýóÓÌŒþ=v],†}ú:£onK“Ó©E8Ô”Éú?±|5GZ²¼eZŒp\ŽÀ«º2ý ƒëh&ÄÒ^€6%&I +|<ÂQ™ÿ Õò,4£Ê®è0ÆÏGèÖõG^A(O.Äú×ϲ]23©f²AÔ¥ûc2ÍàÈìÿ”ŠÑîXÙí|v0àõùk»!Û¾¯³»pYͯááÝ•ḣZÿ>0A +q”F"JïŽ9'Ò¦—Fë9þ»žû·\j—þ°-l"nBâBÒ=k×ãA8ˆ¶É²*%9)¡[_/Zí¨s|d5N=”Ñðqƒ°LÝÓÇp»ˆ¿¢§3Œ¸¼ƒ3¤_„æ3JN°Ï8ͳw`4{" Î@Ýβ1sðÞì"7žÐ“¿L$|:hiðøYE"ÕiÜ#Q~â\Xñ‡ÃÍõ‹Àù U}O™r#´¹|¤ò©Ž|Íââ1Î"Ž#"2£ôŸÍq5ͯqHùÃ3sÎ5i–{?6pŽ-xål­ølƒ›.tñÝÖ«Ì~5c™£À/"r<Â|ו,ñ|›KÇ-7rˆ>^öJYxxÅãÔt‹Û: ~íQ»MB ««7oRlµ¸š©ó`<ÓۭК…wÜbg±ÇÙX–¦”dzÑQ-œ#Füà40åÈsLslz‰4‰3Ù~z®ÄØId0¼©bïEW9¾05õõ¢¹àeç8U*°V£€9"‰]0q ;…Bpîá§u„#}sÿkÈ°¸V@[¹Â(îg²=µeì2:‘rãï,­oÇuÕ«’–Þÿ)`m§õqa”¸OÒä¶[Ú-n¸ð•7Ô 8׃¸˜Ù²†ØgH†¢yæî#9a*ö`rÍxÝϺ”„ÿ1¥‡õvÞQIÉ£ÇЃZé¨BýVÑ•cÃònÞ‘…9BÃôÙÍP%³fØ;x\‰) ±)«Ù~¡åÝ&µe.2€cÓÓ§–æî§cp—éqP.‰¥‹Ó&ß>ïhÖ´>ö[Oìó·±à¨Šñ%œlx„§)îjþÓ‹=ƒYª¿e_ê7€±¤Ç²*Õ•â³ö {Åó›ùpëƒ 0ÆW~Rü`¬š ’Í«KŒJ7œM°‚ß>V $[ÿªÐq?ò}fÑ z×z®Œ_½Úy.?aã¤2MFÁœBÃê£êÊ1‘¼”e—,V= ¼ëÈ,Xm‡+Ê;×v!çxB2†’G)8YIŽð}^ü³2’@O½ª‰{Qóüß.Q¹qè+Õš'Eklcs×Ó±{?ZÄ>þ^¡k«Úƒ(‹URÃMòKrs1ôÍIçB;Þèbò,îf÷.Ï-;úó^TÏ3ŽÆõàtÝS S ŸXÙÞîÆÄ ›)²~|e¤Î7o±R$XS&\!SO•°m‹ÚŒw@˜w…nYÙönŽ“ýVCãjS:-ÒF¬:µÔTTw[lï²%L®Ë³SgùëbãGfk¬ú(·ŒFBTiîo.´|ˆ¼¬kZ«!"ÄÔ‚œGC0³“r"ÐÍš¦ä7òô1ïýj?¼wëÅr{t°©Rck•'ëÉ5G(VЯxYsϵÒü¡K»¸ã€ÔIZüð²%SˆaF³Oí ´jà“³ŒÿÊ÷Á³‹OtN}ú—Td˜S­LÒÃ+"6Và¢Á¬þ±Aʉi©]Ì«Þ˜~½?ÝC…‘΋×W>¶ÿ–5°‡A°÷Ôß P_ßåçÅÞ£XÒ›æú‚–9bWá{:{iisŒµ„ƒåZC‹Ø;•èj½û#¾öB·}CÇ3s¹×ùà`l~¯{­®}r³]TÆtÕ´*æuV¤ÂD2ýp(Øós§ˆ¯¾Énˆ=1ð&”á«$ÙuÔáb5_†z'ÙXšãÂDS›0áè˜h&¦>ï†þ„ü^22fzŸÇ«·\¶Š¯ôÍHrϯÿÆE‡íK}Š±û‡"oñ1ðŒù«ÉñƒœHõDe|Ê`f.®ºcóÚþt¬eYÞnH`ÃàCª*© +d§u]äCùøË¥ ùt÷llôRw^ÃÁúJïxïÝlãùa5_+Èá‡mÃcÓÜÃóM2oh6Z]÷ÐÉœ¥h…ÿáäéûÀÀ*:W¶ÆBâ~:†Ûƒ +qHŠd§Š7ä]%>§G¦·œuªÓw }~«MÌ‹Ú#‰øÙ*Mû‚è/|Ë«® OÔ[òV B;KáX” +6ù‰Â›ð‡ð_8X:° }(Ò@Š±'ÌW³ñ5˜’ÇÍ¥¶ŒYø¯h-F§.¤.´ŽªY+2‚ý}Øžœª§cùÜ¡ f< ävlŒo«8Vº¯ëie +bÿ53Á!Š>¬ôpªµWq8àìÔ³«"tšuK_ëËð¶:i?>½P¼^ ÛNä2yºªÀ·æ8¾Øri·¶ ÑlA’•|63yŒ®I~u¿R>µPLx¦MîjyŠ]­°“æmte=âQW]ÅnqePµª¿ôâœÿbG·!¾E`ݹçU0Ú=yÔ)ŽÏìÔo›€©=rêR/ÓAb…í™ÎsßownÂlh\lþ«Ä€Ï}h€Z‹^Cú HíËpÊ«Ôl¯¨¼o–È7ˆHq?³¡Cs<€Ð½³v†j "²³z¨q¯ëðéï"ͨ`|®ÓÝ;Ö2^$]ËëþŠ<Ùƒð+ð°>ž¯±âíz¾ÅrîÇ5*£~i{¿lÁy|]eMÖêEԵʄèW3HjÀ7–ÿݯãÏžÑ&fDdḩ$«º•Ü¶}PÅ(uƒ!ùÃ÷¾r*€KøÇrˆz¤ÿrÒ@“ú'jè:¤‚yîÐá訴ôaͪ¾õy¬¥—ÚChð…[tG¡”csAg¢aEõxÞs ;Ù’t9¸=EœN:ai¼Z¹j—¥Žœ úò;,9~pœƒ˜Á¾ÁðÐþÁý'b=`®±ðzO:<Á÷ŠëŠŒ78¿}6*Šz,c‰½#¬K`D?J÷,J¥÷²ú[0tø—µ^ÓɱKd ˆ¹ú Øû[[Ÿ”I›Úã©‘å ¤ù@ Ó¤å5Ž7Ø71¸b1Ô¦TÛÀ2b6Qá†l¡ô¬Iüƒäå-Šñ«‘;d j´ò„´¤wSê6‡7dR̪¯5,‚Zú·×:ÉuÌÈ$ÈàS_ùyÖZxó€ÀøZjXtÖÁ?JÙ#6qÅ"a/Ùy1À|³iê‚+<ðPåR:V°dË~j€.ðË +=ýæ:~bõ-¤et0çIJ24¦Ff5Àýh¼œt‚ ’ÁÛ–œ¬¬oÝ DÌ(³¬^ñ‡—bˆV¤™ë§Ë.ð²ßS;|öá§Ã„"ÈuT& +endstream endobj 63 0 obj<> endobj 64 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 65 0 obj<>stream +ð“ëõÛðnL¢æ#˲Ú33³°Šjk¾õ¤S¯9ŠŸÕ +Žs¼´dúGÅ¢j¹T}={¦A©dYÕªõ„zM‰s;î.l‚ÖŸ[Öpd Q¦ôLÒø«š#PöC@Œ±ÈŠ¾g=6D„yqûªHEõvpÑñÖ²rŸÇe€kû+ÉÆRyGUÏæaI®PæÜX¤lŸLˆ×þuIOûL÷-ýDYF¾C>ÿz¦l ƒ6^uˆ%¬2„þ3;-èP¨û£¿³¯=õ€ÌDÃæðc„ A¶“`P2ÆÓ’3®X A®©Z%øόێMÕ9B‡½'R¤ßwS:&#ZjÒ¦^†§TsLuh +†õ]CG0pËr¾C“hÌŸícBì{­¡kPÄ7Šè'N‡p;y´rqØ.Õ½S›x¦%½ÀÉk / ­Ñ‚%ø2ÝèÁçJØæV,G +<ïkõýñ?¼úa ºXJ{¥@Év“Þêü‚wX2|nA3G¬6K¸5Éí º[c03ŒÎbÆx몠µbáý<gnˆüSTo Éw©ÎÆð”Aõª=Œ¦>ì¸ Å !áˆß»V!¬Ç·YO]}O„áVª}Á=/ßbu• +³Ÿà¤ÝfÏǶä,Ðt¸3‘RP¿­ú)æ›®÷)°E-iê’‘v#àpG}tÎOw·rgzfζ:™Y„•Ë Pt(§Uf\ax°¬ÅÞƒZ;ʆ/o]-_ÐPŸ•åF˜ºyM‘L’B”-‹ßCl ö'ëÐÚ¹âo…ç)0ü4räó2•<÷ˆkÕ’èygL½bÈ µ2\òÁóüŸ‡^3áþ'ò Œf}ic[\0@U¢%2!«7óryïf»l@'3›·‡A¢2…gs4çæîÄY>9~Ð$o±=¸•:Ò_²Sîft¸—ð„>ÛS’KÝöWèóïR¨ú·§ïHé« eD› íBÆ&Àg8¼Ïæ7 +þŽ€PL³ÒΠa La"ŠHéãí,ÚòÆ]RÌ«ß*뀎©Ç†ôÂο¸é]#â;½ï‡bvÁB5}ûéwjø R¡†À|~Ñžåä&U[fÇ\PààL¹ì½/(£UŽ°¿‚Sþ°Ù˜ùÑ{åû´%&j•–>šôïÁN¯ Ï +¨"°) ?X¡}âîÛXcÐäÈÚéÝ—­_TŒÕ2œR˜Nõˆ–ÏùLqŽù~W VÜÒŸ§p9س0¶"i +ù‚Y'©YgÌwHÒ*öå'Pk^)‘§¤¾îUÛ@´Enˆu¡ÕÕyZhé@ê;7‹ðOM¯G8ö|ðcÉ‹—¸Å.Ûè´ý À©¬$ +ªý:¶ƒ|RSÖQ„­”1(ý„*ƒ «>ïÂË‘¶j²½`ä’·âg],iµÄâáó–w Ø=ÎHC™¬@ÈSÂÞab@—U˜}ù@Š‚€g¬f•ç¤=yŠÚu«øÊuWlŸ<Þcó´3«Â΄š!`ñŸÜOÈhµ,ÏyÁ½™ÝâFŽsx`c§æ5Å v\5ö‡’œ VLj‚tÉÏѼÚ9ˆEÀÌO›Ÿ‰<<Ÿ³àíÅ°e;uÞ¡â;©éAlJø%Bèû„ÖºìhXòSí,pYØÉIrÆuUÕîAY}‰Ã'Þ»ï.®jïv_€iicõ~²œ•šÏn,«;ØÄüHY°*ž:@ݹc"'Sv—ƻ湌šýu!ôT†/iȹÎØçö2I–HD³¯~ÄØ)>³Ì–ÂÇ;O‰:5Ý—ñ…´•¢|]'šÜaã920\yBSƒ–˜Ñ’_­5è†{fÁƒ0û*塚$.ÿBfø² ë6ÜÚÐh^Zñä|)BÓh4|…fæåìN—`Kíÿ&ÖE¾’­õ}YbÉWåj„i{b¨8`Y'[qW­O¶¿ôØ*ô]±ØÃÀy©_D°÷§ ›+…6&Àj†ž.B˜mþs9¢È¤v²FêKB½Æ^êáZÍh„—€¾V²^[(”Ü•‡M£ý»´?w. ¿ýÊ<®.×Ù½À _€˜ªŽ-ÓžXgúæ".Ó—˜#Ÿý]’,vq[é„ÃâœsàéÍb•¢sùøs²Øé£CežiÝÂ1¢—”¬Tf^t`ßvc±G‡{‘Kó²!öe8Ví‘ÞÇ=zæ{û1K€ÉE J +qêÁ"½ßØ&>”rdžÆèQ¯jü@ 1ã‚Clñæf^…ât6têa®^ñ¨½ä}c9ÝHÀð׶2.H”û˜†Ž£áà±™ßóUù»Q„7!éoáìäŠmAoºË{w¼ÚÌÊ•NÈ…fº)€m´ +Õ5O¾“©©ˆæ¡&çÔÉ(\5M†FmU(Å,zÀ3~KXWal¨Æ.°}¸Uˆ²-Õ²ÜÑicЕ`Šc]Myß휈`ÿ†E=±N.Ò¡ÉùéºDàRˆ€V› H®•³.èr’S" œ¯5i6ÜD7½XÀ/·| ÓŸX9;Þ=5ʵ3ÛI¡Ç£b³é d¿«ßç9ôºG%þ P ú&Ø…ý:ÆÑáePVßþ¬„¼u<ÜÛ…J7×kðïÅ¡¿5‘ü ;ªciðmEJÒMM¸SD÷¶Þ>ùl¤'è9Ác¾Ù”úexv0ï«¿qã©#ÿëyÝët¤Ý7vJ]¢À†ñóézů=¡µ ò2Çïv?´n¡úûî}Bâ ÊÆ·oVÉ€»ú +zŽRƒúF‘ŸJ`^ïuÃÓâ"ƒÌä^Pç¡ ƒÇ$¬eOyÞÙ¡än³[X€oÆ€€à×O|z…Ch»JÙyÕáQÐð‘±W½é-´_©ãX¹m§wt¥™ß‡ß G¥À™™Ð‚D(ØC.Dq¦¶§j-g¹?9}Ý]n q [{`gÈ}XXòlØ>ë¤áW÷ý;!æ÷ÁäÕ?WÆÁü­/7ž]²èÕRŸî-AUã¦ùàÝÐUÿb‡‰IéáÎÚ¨«ž{.<1Ï)8—!CBö+í˫߃£U Pó¬Üé#ä7'‡”%WKù18­Q +&óíšA²‡ –ÏKT™A·j£GM¸5x‘ǃ/}-Èþ ¦ªÂiÊg‰žòèï¢d4µfK|”$ >ÚðcoÌð‹ÙD5Lå+žê"vþÜ*úËV!ôsMArgG*;Fû_ãËßèÉ Û•šuK ≅ŒnƨNÃqJzÜór˜ù§ë¯I¨vsØ¿ À‰IGærÐS$̇½Šjˆ¢Úù†´Sò +9SËZý]ýìÒ{ÎûÔ\¶î¸¡ˆ^òÖI¿@z›h…ŠÎ‘ye¾œÖ@é#Ã&²!Ò‡ë5CÓåΔCÀàýG};2ßîX`tÐŽ̳§~Ê= ÐF‰IÊRæÛ&¶ÎmÜÁ=[¶¬ ZÒ•¾8—1V¸¯ŸZkyCÍU•65òO +¬ºÔâ÷¤MU%£”Ç2ÝRÂ÷7Sc{{G+É >¶¸sA0È Ö¥¥e«øo†,Ú'Éó—ž[ð’N¶þݲR¼Ø£EðäÂ8¾Ñ2<.5òÔ<Ñ/ŒPA§½‹ÉxÑÃiIæƆÇ?Rþ¼Îýfµ2²Du¶€Ñ?!-ÛàÂ…¡~ž®IÔ¶µ5[\õ­mýúÖ&¦9YKò¸U\Y–‹4Ä5ET̯–N|¸9ÿ<ÿ°íŸ’]~»²ŒB/Wx5Ycš7¤PÐÀ”£ ¦cíš~c|)$¬Pª"“æ(/©[{½‘nÿMôÂȲè%Zþ¿*ª‘¬J蕲«‚Ùö:+X&] BÄþ÷Ô%Ðæá¹ÎÔ ë']tBåæÀþÆ‚Ï超’üî"{=[Rg=Eމũ§åÅS5ƒ¹WBç»&4ÌFË»EvälèÁ»?±­§uÝÔ %z®/ +9GÖجVSp,fððGȶa>j•†VÅÔÕu>áÅý‘g“DQàÔ|tmÄÈè8œ€ëaǸ>>º§üÍrÙsXó „m êóC?GÞž+í>]÷ f˜c8]®¦”'"Ô¢$ç¦Z/ël¹W…n‚‰÷W~VÖm!¯.å×”©óð3õöeuƒñ:U%(y¸â´zªÍ&¢º©MmÊ)B{˜s àóãŠ,—@«çfî ‡MôZá<œ7\0åÈ/–8í/ôpÎœ#r­z9Ör‹vwE²á쬉,)4,ÀE1-ÍéË$ +endstream endobj 66 0 obj<> endobj 67 0 obj<> endobj 68 0 obj<>stream +j… a„ðüCÕÈ.@*J¯…àà,i…‡Ñ.M0ÝòµÍ]R»Z‘" ÝÕ¶¹IyTûˆ1®>C¿(@²ê9Ziý› +endstream endobj 69 0 obj<> endobj 70 0 obj<>stream +Ù©}Ôù÷·…!vÖÄ3­“òm$cß·Z2©ÑŸðÚ£ËD0·Ëʉ +T‡˜{¾ÿTý<ût Ižê›ï-aV +Ô+éIé/†ïÀΧ:‚çŒÉê6¤å¿)ó=G¿z\O|–°1çãpkw-ÐÁ…y€ +ƒðû-yF8Ç ¸¾Î%xÜñúˆ ²¤WâªÇ½ðË/YTØUŽ*”D;ô¦ÓÔÞ&*ÃڎטE Ü‰”Õ"¶•þÍ£Á騧9ȃ?«¸ŠÄ4¿­KÕe1 +endstream endobj 71 0 obj<> endobj 72 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 73 0 obj<>stream +µ#-KA7w¾W{eæ¥æÎ&·Ù}˜¡üJj”f/J'Žp’QŠ-Ñ<~7Ñ>.†RX½®¹Ù½uué‡w•¥öRy%Z)ƒñ°ÖÀ4¶nqPHX?a`"߀£Âp´y0´jîÁös·[6÷᯴©…šŸåô¥;ÏmÖç+æj«"8„ +/¤U`³y‰š…¶EmwŽ¡â›[k¶Ëvd…—a‡²®kÝÍ£©ØnðÜ~,ÆÀ,é¸ÚæZëW=Þ#Î÷‡óÇú`½E»Øæ‚Çõ6¶“ÞÑÈáD¬'Õ™­g|ôyÿ~,´ËbmÇd‰~¡oéjƒL€š7ì +7úOëUruÚš«ü¼™˜×ë¸AVv“°[¦‰£b4!ØÏ(†3<žŸpÄ{¢âÁ¾_`’éÒ ÿå#Ê“û¶ü¹p8ªoçP,™Ð|qª·—}·Žÿ—p5ß*)QåÈ8ý¯¾®9bº†^{-rzùVëkIDˆ,0Ôôíîž­cHHÔ +îÛÇÜêÀ·w²23·è3šˆ§Ë·š÷Pþê¦~<­‹¶·½i6q§YŒ@(•ïyã;èc’—°—;Ïië¼Ü4™ãùÑ-}I”®ÏøFCuv8QEã@“ÛÒ+›#;TK9ùœ%U [†»O0üÙ¤‡¥•´R׊z˜*CŒaË+^>¡]ö#Œ§u„ŠYH=°kXq%2ó"ÙZòU‹¿v>z˜WýR!ã©c×-©C2Nñßäf èV¢üúÆ!’vLzJ )jyàu¦©ÖÐ~‹$n¦vº¾“ @)AŒ÷° 4óLM³¸›<ÛS<&gN4~b'ÔpÄÕ„1øgÌëfFŽl¥÷öÁUgˆ]XªEû ûÐÎN£Š®÷täîe‚'hŽÚEjÍúÉ×\;±î¼Ôï9~¡\EH¬¾þ…o‹á £íÚ!#k°¨¿™Ï°»Rƒ¤À ×ñÊsEÚjçûí»Èà?‘õôû¥#à +š²ÉÏ‹}§È”~ž‹p,"ÅrÀ;Æ›”þ÷C(ê¸Ý:”UEHÀ.Ï×0“(ã übÚI;¿BMÑNìrÔ2í¢ŸìýZ¡Öú@tþ¿>L~Qn@'bþ˜rD¹uCé‘(ëØgТ΋lB£ø¥?ÁFwt†Õg¶D4V®ãRÕžÊ&’;ÝÉÐu¿ˆÛšxj5[£n!­ÀꘕAecõÔROÚÌÔ€ŒÁÃ[iTâAðý‡ã­¾?šÿ+K¥¬Gþæ8áûdð<åÛ¶ó”Ž@ °è×—…kVÔ´S;w(Íl×wËOÿög«R®&Ýó’gºQèðÐàÎ ©ÑãdR£_|µße±zBaÉ,á ó=ØRFV€<–½—1þèìx¹wTíL)VG~ýŒQ¶7ÓO–Eö÷¤º$Â:&ϳø¨¾Ê¾¤ÚXҠżŽpìÖ)oŠ™ä«ˆäªuôt<±pzË¿>¿+Ÿ/Ú¶d½PVä<™ÅRð¢úïÊñ«z¿5Í%QÁRæ€u&9¯¦Ñ0Mü邤mA)¿qÇ%cU6¬#WŒ„#T}yœxrÕ?4F¦ 7Ü8Öw`"Ã’~#@7LMåU‹j«ò½gHwË›kê›Y¾:ÑŽ _¶G{N=ls@§¬åúøLx<‘4^p .ï$#`­¼ÕH:áË»¦.Éì»6kIfAµ­èñ’f$Z#\æUö³$jÄê.ÈF‹$& 혥Gw*gó1ÂlhÝ!Ÿ¼8—ŽƒK/™òÇí™gÛU¹‰8|ƒxöKMÆ¥£‘¦”/‰`¹…¥2泋ã;7â¡Mµ!4œ¤õëLj+žJÏܯ ~‘4Yì¿][¥J‡Ùx®ªP×°‹8¡þçÑÏãñÜtŠ +,ÆÌú%!#¶˜ÚVŸV\àçCƒ_­lòé^-IwÌóG»Øê«,Îí"_VT[ðžA\TN·Sõ­X¸çÈÓ.$³y,³öz,8M‡$̲L̶;†šò¶iyÆ¥íŒ Xv«¿ô=œ;/«€%à¦xC·$ýSs/¿)‘zå|À_7æ ŸIp­9NŠ)íGWÞADËìUj'½97ÓW¿&ª±t{pFÞ0¿ƒ‡¿æˆ[ªéËÀA“”6´¾˜“6gGa–“tíevØÆðçM 'Ý îÈÊ)¸—Ý—G°Cj.¾§¾´õÉ©_ŸTEÂÑñ¥ä­·t!eöÖö¯i╾—ö|‡½}Ý¢°¾æór‚9ã¾ “a¾»ËMC$4 ´û¥AWæ„Õ.Zž©dBÅK¬œœðV»ŠóJ˜}U›Ènj¸eò<˜`ÑTl :jÏ…HÖµ1ô©ƒo $‰÷vγE–·s’S|ᦓâÞs†!´w£gLØÌÿ¹'ž”œyrçU¦k¶q¦ê[sHŽœ–Øöl|Ç‘ P…ë!°´)‹¹ê’ÿÑÚ +6œL×Wb©a˜ÈP]®¢•ÊÇ<Û)]–øl]|Åi~ ¹³µÑé» d/"| +endstream endobj 74 0 obj<> endobj 75 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 76 0 obj<>stream +[¡ü‰®ï›ò³Â +hÇ#°ê”±ª´GŽ×D©ŸT®N„¿ä)Bn+Ô©€(v°Ùº_‡ƒ~ʼ`¨ê ñ$¢ð.èMºv~ÿÀ÷ƒŒ/þ¬'§¡‡ Vù°Ãt ²¯¹€(.x½•€5‡}@Ì¢Àçï€á¯q­=5™Ê-¢¥æ^}å6š“}Ä…íš-~­i¢šð #2ËU=Æ­-~±Ýcïk®ZóOÈv½Ƀi{Z2%q'»AõÏí·Æ›[äû.GE ÓH™‹½W¬©5 7)4²ÊoP»í˜ÈWšpº¤?ŠŠkí4•ýö!¤ „};Tóà47ØÜVŠ„m ð¾«Àï¡^|q#£¨vó¾ˆ4åVSç(Û…«¹`aú{ôf`+aI&‚Ù©7UŒÜ[W¬æ ¶oi¬BÛ#.êˆðh/Õa¦zÄKY]ÛPÖhÅ(÷ê¸= 9¶õ&í¿r¿˜üùK“.k…iÑHF FÁû‘â0¢Rêè‘Ä™0E4ûí^…©”MLGûÍH yÈä·ïV‘¬8¨£F¥>òÔC‰7€\££™é|¼·ZËIiÇ1'm†Ê† \¶‰ûE¤©WÔaý0ŒÎâlvptc$Jyqã›cBwÏYÉe¬>[’­öxÚN4±^¶ âÊ)?VTz¾—iB“TH|K”•Ö6ß“…"±¬¸ƒªcb¬Â™¬Áj©%q „×ÊîÎC6ÆIès×Ý¡b£y6Ö~ :¶hi’é;²+oœ~5´×X—íXèÅÛs¶žÚÓ4H«ïwO” øD–{âعêSrÏûÈWMöˆM¼jš W]Ï«BaË¿v =ÙHó ¦ã|@¡‚Õ5´müægSŸLº—÷è5(5– pÃ}-9öKŽb¤ƒ<.šDt5×4Üg‰[|TB°iã\3ÏŸËÀäসW¦Qv« •„õGå7ŽS•eSöÛõJ,ª˜¡Jgž¡’ú:!©ämN¿§YÓïlÀßÚæ†j/º<(Û™'[?fìÿ¬½jG"IjJ\á6º°fX +'ܺ°ë6çûlä½n_8Íü-¥·ëpzT2zÜÄFÅß⽇è¸Cð¹Ö g0¡W/XÙ{S .=ðþà©Ÿ@™ïëì üîäÜ{­EɸîmÊ\véó>>,É+D«þk µ*[Êow\Fåôœ6¹üß3ê)ãÇélóŒ`°t¥ ‹ŸÄA/„¹Y³¢ÓÙ sx&·k0k™=¶CÎô~ÌÝ´•xð~jÇðµŽmû÷WÖÃØAWáD°%$cS­þQÀsƒÊ³væ,ý©2J’X"‘Á’ t—mHù°#{êöD,+a=>’ïçÄ%»ÏËLo©ÜÑÿª&•C0Ò9î3"çˆ8ü}PÍÕ‘L„<èa$cÏ0j¿Ûu®š2(+%éÅ'ˆ™l°/ñ N´Xû@  yV0:j›äPƒ­ÂX§;±Xιë©ìùclãÏKaÁ úÿë|QTŠ°Ëwòdìhõ“ò—¤–üÄÍp¦n­¬IcŠ‘ÁôWjk¶‰v7q 3ZA).8ÿ² w†¼–Þ¥G ÷læ×RRPDˆÍ£@˜ñj²ur c"àîŠÉ‚jþÍϽÿPß–ûÔ +”ƒµ)v&£œMšXäc€:¯ûá)Ÿ”ÚBQ“¨ØÄØz3Ò;A¬šà­“1OPŸÍV˾”â·Cø;ÌÍI-%Ôî%wu$ÄñóQX–½b¡22"s§$ƒž@Yðd‹ó^÷jÕ¶†ld­u8)©Ú›p5W ô ¸»ÐLèµf\.ŒzŒ‰­2á—Åkáú?P/dá¯X͆Ü×Ü­A$ë¾q X·‰‘ïy5)]é 3AoZ¾;œé«x=ù8Åe’ß+ol²ì?E„uò•ðˆ¨Y²`q©MÏ)vÅ·:°±^bEàf¤_øÚÛöÑ+ç…Õ½fKÔ4{æua0ê­DM7.5=5Çj"´ÌZ-¾ž«;凊n™Û:ÿ5î¬{2GLtJwø8û@!¥°•ÜýÇdºŸOäl +ËÃdž2³y_ñ{ÄÌÓ©Œ²Ø[9›á4þzÙ-1¬ÓOòRJãeÀëo­Úg\—*+¬Œ’éÉšŽÝë¢éˆ\:ÒâA•0’¿&vG–S^Lƒ-A€&‹†T ¿ü£É]O·³‘í§ÓŽ­—J­Tøˆò©îyÞ»¿ÎPìùJ¤ý–z[±2Êw«F££Ä+”%EÄü‹0y¡2 YìëFu%뻎 kÑÀ½¶¶JĽ0±‚½)ò5Ì;0¶•)`ý×ÖqÆڸЛª³¡ÒãÛyi”°àj¿Îëøýd²e´]†™•òDÖÝ|Ô‰±£\¿Á}i­Ø0$Ñ| Û‹Ú–[òmÓ“±²1R¶Fao*0\6©M>ºhþÅø.Ò‚œýð°ýÑImˆ^t Ç]&ÍÇyš4º ›X”\vr¶”µÕj{z &Œ§)tfÕà­A +˜Îb»ÇÊHA~¹ï!O²mÙÿI´~×+}À#±®W›×];Ñ`Ä:ZR³}4c¥†~3 US„”UC‹j»ã%‹î§9_Ä}iŽ9ˆø- ”Gdç·ž’eºX®e¨öãu.™œçG¨ŽÈÜÎßéØ©Ï"ýêXÎïýî‹ÍA`51‘A˜&îê˜IŠ§x¥ð/÷/÷³ÈYÊÉ0¹è1(š—­Äh‡¹JW4’/ý»¥ðÇÆ&·…þܲi'äûÀé®”õy±¡:ßÔã§L÷àÀÜÉCßܲ‰¶4.6‹ñ:¿}KY8‘¶"6¶jÇhUN×bæ«lc:Tˆ®@–(¼ã«1y{E¦êjbíÿ"øP£ñ½Ä‚™ïé¡Ï¬Å¹Ñí7óÊ`õ‘„®%äš|ÙÜÌa¿((s¤µö5Má$âEF‘se“ý|ðÔþ´L…µØ ò2$êHþ·9í|ÛL®?6÷ ¾Ç ÙFÊÏaıÝ@M†ä<Ý®MÃãz§4˜‘óˆw.(³<3óa#Ú±—E/ÓÁAÖØŸó®ÎÂщWSGÂ+0Œ7/“á›ÁŸc©°è÷Š–å +YVµG0Kæ!ìb=fkeÎ@3gQV;¿]yu4-r$^UÙ#̤ÜKit™žWì¥PçR(.!èyÝäãÀ[Ζ–×øaiþ1—´$ø¯oׇ·“¾ZZè¬LÑTg–Ê7±æˆ9T© œ;ÀÒ"¹ÏÇÖ˜QÆ£MÍ•ŒYqüú›Þ4·`+ý×>4 M’hp$Ö*ÁMxCªÆŠÿöÆßMÿ-Í8¡¶ã2£y-ÈS-ÒŸr†o-àëd"«4 >é +ÏOÎÏjØ‘œR +endstream endobj 77 0 obj<> endobj 78 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 79 0 obj<>stream +„–æµÁ¡Zc>×—šý ›:¡äù2p²µäËzÌc¥m!0zElÑÆË›PËåÛJÕë_!±ŒC0××I.iü>ýÛA,U¬%»áÆLKCß6u”lÍËŽg´2b}mw[ÄpË%„<ŒiÍÉJ–‘•ÒªÄƒ°òü‘¯Éð¡"R4Èï1u ÁÝÓpGu4³ÉÈHcX7<ŒÜfÈÊ´Î|;g¿“'lLmÜ8Ö÷ÅýòÇ/cŠXÍç¡È@QÊ*!î„\‚DèXÕpp¤ˆÃîÌ—ú%mjû s©DÛy„-°ÚíCºý0Æ£g`9ìŠ-çP6s5ÒÅ%Sd,ƒs¦wnò=ÝÐÅ ©Š)WkS/P-†ÀSäÔsTÌç x)¡ù®î?À¢oDêP‘qÁÞ2Ôò3;ƒÁœ.õé²ïß5{ϯhñ­1 _éAÅœlÌŠhÇÞ&P§"t LiV3Ù…À w"Opñ¯ôý´ d‰¯µ?J ë;°‡I†ÎbDA΄ßK§lžà,Äü¾hG ä ­¥¢ôì~q*SJ› Ä{ ##×EñS Yd& +•Ãã»Ó‡ãi78"çSyW? u’¤nAÂaLu Ý/.ᇽ%B‚s~÷…Z¨«`©ìüýªyÈá11{ï¶)Ñ[¸÷ß5á.cÛö=ò•fû +Wêιæ#´}I]Aœ5 ˆ9 Åš/Q)˜þA÷«õÉ°Ò‚¹uñm?œá¥%Z% + SÔf¼×¿næÐÂŒ0&8èt? Þl!"Ûà¶ßõ?13¦8ý©êKêf"”õò†Â,l»~ƒÒ3i ÄrÎ5)=~Ðm»Îõ ø ïO˜,•F5Øõrtt§Éæ†!+ç.ΊºÐ[$ñ™iHXªŸÅ¬®lÀE˜X ¬ø3ºÅ¾ÎþŠ¾g£_Åx¡iywÚL4Îþ/~Uò,êá”°”ðËÊ("¼ÜÚÊx ‚ëÊ:âwCý±²ùÅ.Þò=¬uBêŽ5¼¹ÙYFpKPÈK¬¬®û—›¡?ö%ÝK±Á`î¢WÉiE&¦@K7çBõ¶@ˆ¾êŠ&vGÑ7É¡¡Mà öþðš¢ßå¾Ç0Ä'ÄqÁ~£á6üÿ_!žÛõ1úÅÁãöXž7øǪ§º1¢l“}ÿúѼ ÇéÏÃð•¡¡U&~…0îáŠî‚¾º&φ‘¢§È®ú Ù«ñõ±!5fž"L +é÷¡÷“²›fÌ^kÙ7M3]R7¡e‘8Ày¨6§°`×lÿ +B‘Œ½#/TaRÂ,•Ü¦¶# ¶ÂÊóÑW¢DØ6}x™!¬ÿÛñ<G«½à—E:‚´4v§ÇˆWµL§å&Õt'ÄL{n¸›Œ÷Üø:É?õå†M»yq2ãi#ºÕó´Àõ-Uó±Á¦‹”ˆOVü‘.RØÍ,&Pn!1fŠKðì´ÁüOz %O= +0ÖÈ*`ªýzÿ;„ýµé®F‹;5Y°Ì¾¯o¬‹±ÉíÚmjâÞ^§vFíLOBNù8ÆÅ"ùÕ£3'ðÒçGPKëØ-¡çµÊá£\„ýíšñöŒÖÂ×?PØi‰LÒmqÁg¹œ=äÒ .ÿµÛ¤ƒ²ÎÅš.9Ù¦ÓjÕmü_§„c LK£öiŸÀõ#ó Ök?å½U “Œ$!ÒSOš‚Áó܇¬Ø`|…1—')ÙÖ,z¾Ãû2ø²SjK³òµóey‹hÏÑ:22@Õ‚Ât­HŬcˆm¶ 2ú…™r¸†Œy@ìuyL1ëF©I¡|¡eåLÖºÈØ¿­ÓzÃrüðäæZZ⻾ðÂÚ##Rù¡Ùd +ñÃYë XÁV6â$"ê-‡ÏreŠ+WN#óõ&@j;ÜòEKÌR0}á‚-‡P"ˆ\ó†Æ%[o“5v}ó‡Æ×:_ù¹›F¾¡‘èÕZeÀJ>´wc¼þ&×ëWóµß­ e{Ebâ ·YSÀÏXWaæ ÄõóÁRQRxiC¾–:cÌ–z³01´þîð'ú‰@"Á:™z´ Jii˜&D’Lj£­Ñvá&%ËŒ%«ªª·ß²!  ë‘–œ>›»åÔ_Üið3_Ö¥²hÛâ6냰O¤ÊÙ4rIÛŒ¹9ÄóÆEó KJ{­a +L½«mf8Å®4tù¦àǵ´»ˆ™‹j—”ˆ«¢|Òa툟“-2_'Ó8™v8U.݉ ºÅHAæ:YßoôÛÒàA)Ñ•,–Ž6žN$°ýjßG«øÁŸÊÞï¡ê8X©–ÃXx¦åáPïÂ"¨8Ôð €à5l;^ýT#¶Ã,Òíq3«Ø}»«ÿ.¹Lõç2”]n ç­w7XZK„ÍÂ\´w¤'t²! Oó‹V$vø·3?ìñ±ö…~[S€Oþ‘}ó¶í`ç #2e¢J• ¼3'{d[ó²ûR›ÅíèǺª¬ÔÙÏ_p­ñi®Hp=9fðUç/¹¿i袢âÒµ~LÈåz U#ݦÏH¹þ†ˆ5õSüŸ@Ìò²[rÈe‰ +Ø 4X’‹‚îÛÓÓºþ<ÔþÅU[’ þÍà½C{Bã'$òÇñ1ÌônóÎî»&R¬µáð‰ÐT'M“JA'q¢r"6à´_•5i>'ôðMxÁ¸Íô ´#Ò Mï}`(.’%ïæ1¸ÖßÀ~ÆkòË‚z,ÏÓºÏY<€“ôó¨*]D#é¹Çr¢K ÁÁ×:»°”Ét¶–Èžtr¼ítûÙçÕU¶áRe«’ÛËÝ·¿@ ‹¼0c2ü|[˱†Éƒ0ŽJ šhùu¡Ö¼Â’¾àÉ/4â®àœïäžñö\9\]¯3„þ»[à‘SÒ_C\ˆþ¸žÂÙð-¡¯eÝ­šý†ìëÔ2¶GÛ:ÅóœàZ:~…o–mÑ‘Y䆔£Æ­c~(*z³'4AèÔµ¼ÑÈ®ïaÆó>ô‹éüïààLuZhÝ.ƒHÇëè4Ó¢âp£¡^>¹7’YÒÚƒˆ=ïu¤v&:”ÉÑ|+—Ï­3¢àä“\Äða6”ÁÈp&¯öé–0æŠ"e8q*"’ÅõãVîßtüÀ‰Y¬:Ìпib“ìd[óÛRÅ6-¶šˆÁþ˦¼™Zûk]]@;õ-kQæ”:Ó{ÉÈzé¸Åó¦n²þîá1óc>ÉvÝÌÛ†‚Í'ðlûG>_哺J…ÚÂxwKa1G­,U2ý:¹>zÐúƒ:!r¶sVèW·ç¬Ì”²7¯Ó¢3=¥Š/ pÐv#qQ Þä +q•à;a|®ã_zßBÃR‘a& «NÎÿ§‰ü›¾„@Ÿ •7tR¥;¤lN[m=íò®AN4ßy[¼…5‹ÇôãêF +ÜÛ‘ÐJ Ù.NÄÛ½ô7¸Wý7{H<ëYAŽÉMÊ0Àh|;žLSé6]cŽ¯“½ÑŠCçW‚ ®}ñǨßR„½ ;þB‡P?¿œ£zžºzÅ©„Þlº†O¼Uö †XMR×,BU¯,h*µöó>‹¨Ò-ï–mÊ& Jwè HÛ%h8xÛ¸ç¬mÇÅҪ㤉}mþ²|a½äX¶l~”>Ö¡pEI¿$ûØ•œiàÇô4V $bW@êœU3Ôª­zîi;.®Ñ¯\ì¢Kd.©'e›üJñ-|ìYŸkŸe´cþ¡±`äð<^Ôòž7Œ<³KF :ÐÓï‚¢¯yšs'´_3=N=¯r‡\ðÍ$¨Q˜amˆç$sà'sƒ—Ïs쇘Y¤"ŒR:3T6y P%­P[…ßELûC’ÆÙ¼š%¬¼Ù—Q¤ ö纕5¤Iö¶&[h7Ì6]K)³1Ìëï)U*òbîQC›ÌbØRç¸9çøzň€©Ô‚o-èÄÎZ»BÆ—@ [IF\¡ÏãF¿»­×yu½¤¤+ÝlÃÇPÇ—€4#ŠÆ·ŒrƒuÉöøS«kP9‹#<>mÊZ[R0@š$°r©ΧzϺÝZo Ø%ÓsóÇÅý®‘É£U³Mo´Ÿô«S«‡73‡¤ëœB›*´i$ó‰,Ò;z¦ç"ÀÀÎoš +¹Sƒé³×È¢ÚCz7\²?ºÛs^XÑj:p ˜qã_t½{“1“Ìó‚¦ÝiEeð’WãÈÑtÕ;qP’bhsÄÇNfˆ qzïÀÿ-Ÿ'楄%ÿû0ϪôÅØ!#ùËYv3nÙ˜ ªb‹͵ã¸ç‚è¸þ)g}ŒÍ£¸’â+]‹Eq‹BÎÕ—rPUƒß")' ¢Û¼$ .cˆ×ÈF©V膄ä¶ÒÍ“ì¹ÒΗLÊ'â»&@¼1ãoŽ>ß„ž;GªÿO‰óYærÉšùïò•ˆæ$ûÛm4DÒAüÆêܱÓ$B¾/”™nô‹z_¯ o Ž¬š& w-úÉÒÂâx_úåÿy‰9×´# ›<Lyœ¨ïtYC ¶r/÷·b@û/ÿÕÍûÀ{›aÁ¡¦Ôö€ ƒYš¾Ìoùˆ:ÚÁ‘´¢ìkX¤€g;Fk{)ð=NÛÛäðÍô@Õ¦ ´Íj‹aÈÁSCláÂÛ}y…÷tõ2i{w/âÜ2ÌÁ1 xy1æýöøE t²­ÝöƒtYûZ½*&ˆD +‘&?•´X" Œ~Hÿ]*ÉÅ×õÛ•úëEŸ°› +þWzwgŽj’s¹Ä(bnC‘äëèŠ]EÛqHKÙª˜LÑû %ˆKËm\”T{JÇ¡›Ü ¿¿´¦Z= )ãÄýÞZ2Íå yòðÐMLÁ±u‚ cÁƒ0r}¾К7`Ÿ›gvq– H§[ 1 NTâÇ•¸´qÙ¯ä&-I»Ê9»„Qt„MAÎð‚yƒ3œgÒ“Qyßë¸Ç£Ør\Îôr,V9S¥r3h¹¦¯ÌãGëEñ½Þ}TtÓF÷. ЕßåùQÛh÷ý*¹²†Od¨O&¢ÄÁol£ÿã s’R»+JÌf6/FI‘öŽŠVª¡eöX-?ÿÐQÕ/÷);ìŽ é-»ì¦îØ=Ž—ü:£ëeÀËÊ/¸=ïfm8‚#^ 0ÿñ[3üîö¾Å¢éæf4ÁxL}隶GH•Ix°É +‹.ºq2ã@×v(_Ò5éX~6g$b¸7”Akiu#ºæ Já6?¹§ŒjV5ˆ=¢ÞU²hÞ¯uÉ]¬Œ}Ê°ß%e›ú¹IäW ç«ê ¢Ÿ\”*.(á»ûÅ›§a‰„^eS󣎻¿ëÿÓ‰¾!’£§JÂÛ`J7·oT†Þªìñ4fr«Œ]UÊ+‰ß í[²é§üäÝ¥yœš˜EùUDÞÞ(”ð¸™YDþsń˧…š'î¹m ¥v¯†X²îÈÓ©VÞÂ!¤ÙÊüH'P#ÝNÿ—^ñÍ]-tªÌ7Ùñ|±!kìxóOÄ'Çßôƒ'ü Ÿ9„wbÁš«’ €¶"t'Aãáã÷Z©†MVõ8“Ä0“ºfÉï¼½T9lâêV¨“!°¾ƒ^Kå]yÿÐ3¼}™g¸&wFla®øþh’ì‰äcÖrIÄQ¡mÌ‹&×&`] .Žgð»ë€‡Ü&9ðX¹ÍÖ,rð6°žß…biAÓc˜Ÿ Îó«9³1I`÷¡I`*V7 +endstream endobj 80 0 obj<> endobj 81 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 82 0 obj<>stream +ÙÖë"BǨ0£ïê8² +ékµŸ³²%˜‹¼m1n½#Cm±K'8Ë& iJL“3Ôa‚ƒ`ˆüæ•À ƒ|®Ü&Gºéeñ[üO”*S“5ì[™ Jú¾G«ÙÿÓ™4OHœ®ëTÆ)Mpçð W¥Z)㠶ɋ…-¦îÒã"bŒo¿çEpé9£¯gÃ=´¨gÃAõòÜj™Ô¶(”vÓ­©‡‘Æ·i¹¶Çuã7Ý©hžÑázV5uµ|Ô™ÓÞ&³ÏC·¤ÜaDµ´l– ͪ6j7ÿk+Š¬³vß–q¯XmÅD0»í.n+පŒ†hÔ°M>ì”@®5ðbJ+C ˆºÊÕˆÔünøŸ ItgÏ +?t8›ºKË0öe¼€JŸ»46ÙøhÂÀ+ÃW—Þ‡Ç Ú’_:Ùœ1ñŸu¬V+à…dIl•—£/Ñ9ÉKuªnÌ9d¨P0 Ygãñc bH³f½ ëú1§Á*‰œiØÀAmtá•ÑÍÿûûÄå¯?ÛÖÔþäܳŠzCh–\ý²8 +$;5'¾%®ÚÈÓKïû«2aîÏ÷=óD)Jµ‹‹6H‹B¦«¡í¦Üùõ÷´P}­‡å7 YÍ ¦‡jÔÖŠˆ’ºe''KêéÍ´"† •ÖÚ@ß3Fµ ’¢³èïöïÛÝ{eyŽ’Î,f’œpmç§6 ø¾Œëà¢OlBiÔ!ýÛ7]vÏI£UYWÂl‚&ÓÅE50¶8¢¢õph¨ÇEŸ6„ì¨þeã6|”x Ü1UId5!ä½ÄÆkõ~#ÎÛë¨ÿ­°üⱨ§©&(u[ëd…ü¼£É¥¢5Ûø:’7#œÞ²›Wõ?41{A’z;‰/ÿÜ‹\ððÜ–ï‰Ab]\F2šxª›Bã Å¢”b) +mãÔŸö€m8ã4&¹MF®øÍ>ß< É{€:H9N HAÒ¦oMʘÇó’Èh0 ÖÒÍQ$ƒþÀ@Ê_Â5O¨ÕùsvB“D:»;…âg¼.J 1%••0"&×æ•è<¦²¶DbïJl± SS‡Ã¨Ó€€îG*ª·“¶òc›’5ÈÛ@¨L¯ïsêð_oÒ%ÂvM`–‡N$3çH­>¾ðS<Ÿ¤>E"Ae_.RáV ÔØtùhÅœÊzJQt)Ž¶ÅóJ©w{,"Iqšm¥«`z ꈄHɽFeʼ(egŠv^®Æ„£¯¬4ˆuйÈNâý ’®ƒ¨´&)Ë9–…Øßê%éò„Ô9¨dÌ4oúÙÙ‘¼*£¦ã WEBú$(‚¹† âñõò«~År¨ä4Šf¬j’EA•Áwœ+ å4à‹qä}³h¡à쩪cDù{U¸|`ƒ¼Kb­Á?ØGU^ÿf¶<·îúêCýµfa‚-Ó.ÌáyìÆT ×÷ +ÕföÜ ò†AÊ%lk®÷«ßþ¨ÍÙÿ_ê Ôi‹@{H:0'ˆ'+ã0·×Ú ÄW›ÜA¥?CKÿèɺ.t/ñóK!ÕG*ND¤¾)[é†5.ïs‘ d2ö£ë•RqyøXçäØ,O…Ê÷Ž"%ò‹ˆ/ÿŽsLJrأϤ€+¤*?¼.ž^…*÷‰-R®X‰^½ñ_p¬AŠ‰.´õYâ1MZ¾ó 7³úL“%;·2¬øÀG†âÇ¿«“­°‹~Ì<óMòqäÒŽdÒsí†P‰½«ÎÞªÐBóõn+à¥?‚hoõ€«ï.‡Õ}|Í hŒŒÉÏ°PûÉÔœDÔUæ®Í— ÒÇÃßFT‰´QÝ“÷”aR>£¸k鋳nªX'ÕEº&ªŽ•ö˜¢cл€$&Y÷V·,/'ªQè( +—a²ËœÆê½wk¡Xqò’A\2F]6IØ5ÊãÈòW3+yþ>qœíʯÇÐrï¾.ËÇ„¶"Ý$t¾°äó£œ]"{ÅiŸ'†zµ4( É!vêñtî´4iåŒ'@Ur—*ÃÂÑM³Ñe!ÕphûõÓø½p¿,µ)KóÉuÎݪuð¶¨õ`mÉ„mý¹©—kѵÔj7&“¬”(tór¹»[ÆÚVJÛºéÞv»HZ2Ü¡´Þ0ט¡dæ°~±I#¢Ü…R. /Õlï\€nq\#¤¡Â'a{ 0NÙèÐ9ùý~®húqæ¬õ¤œ‘—ÇÓ}qw{S¯Á—°\æO¶Ð@¾lº„ÿe· ¯‰bü•ež­7÷lÊUoKJ<63tÿ æéÖo©¡qRıŒÝ%TG°È¬|ŽzrS¼?±¿–oÉ™HË„zÕohc2Ýh4J}ñŸ»éìû-;Õo†ª,Y²’¸„f±þðàÎô䩶û¹'ýwºP+‰–“ ¸ÀL^[-õÉGÅÏt-Ç!8~ãÚ÷Ré«¢0¡kýJ¢óê¹JÃe±j“EhW`ÃSÒ¯àÊÕË©™S *0.+±²"-*¦¸T7GR(\`•uŠµWx‰ë_EF…âΞïA¨¯|k5È€H³C’Nþ¬Ç²d<Ó÷XL4°ë­Û›úaŸ¡ÏúoÖGb#D¾šó‘µ?ÆÂQ¬!¥i5Êë#:¶Ó·uFn+n´Bgy3N½MæÆr™ÕÞ:BÂdë¼{ †O<2Ög‡õW#rÉD1ÿ¯žùüŽ§iè1c{¥ð27Mû$Qšr`m]¬èt'ý3T t¶½ó9)ÂûØêf*…—?hñŽÂjµêhçm—zC¬¬€kü8úâ¤õ]¹ú‰HPºË!mY€ßB„„€o÷–KVšWÅl!I“µx泜,n¦W•k= !*©øŒH+(í(³E:)VuoiÖ}‰{‘ª¨ehCkyuI*Ä#õ9Y¢Œ Ôæ%\2WU€Ç6ìˆÛ€ïâÎÏNçýyäp~6AÜ–V¾:I±—m64.Þ>"z}…ÿRyðÉÕÚl•-e4ùS[%îö)E=}Úˆ”¿ØÁÉ$›™4 î;ÚŠY—í;x^@/l—VG•ÝÀäØWtàÝŽ~äZ2; ¬ÔÿõEuøê3\¼_Aøﺒ…ÄÞ³ÒS7b¬dàÞiù+Œ_àŽ0' +|Ý쎑6‘7\ w@«wõ¤Íþ÷¶J)k¯}*Ê °±ràZó¿“¢Ãü°nµ~:¼–Š~ŒÅ —^!Œíç‚ùŒ…XoÜöºÍHMQ½M™Ã2@Ä'S?kº+£F${tð*½h²=P(ãŽÀ„×%p…U¨ºþáf'ü»Ùð‡P:DöQÀ|OÏÆlþ¸r¢nÊlÖf¤¯¯Ì*žF·“Ô¬K†CÌܨù–¹ƒÌG¸/Øu}ŒÛœ§¹òä˜T/œ§j¨Ý²×ƒ-{pF$¿ÒlÇi·Ù;4]Æ-Ÿ‰”{Dü º:òßî“Ëð¯r-‰I^¨øÍwÔ`*:Ð2áêQ¨‹Ëq:´ip¤Îy½°¥ßoïШm`å@Ç©O`Š+IK¾—“IF8…†¿Ê_?æ¡Àþ¾BÑ:]%ñDþO˜Nè‹ZïẶ}êy´xÈø1Cßû¤ñ ºë0Ëyà‡EsÑVƒ¶#U£oŠ«ŠÄ>Jø£½ʲnl³ªÚø?rÔ—PªT)߈ôI“É"¥ä¼ÆÂ{.¡—¤+¾ioøÇvEÌ)®2¶â{é=1™aa¥¾«e¾ÐoaLîëÁu§ÉDÛ­34Å\¶î( —ðxš­Jùpj†‰‰ÚxAG‹ Ë$µ 1"8p›<´/ÇêaaþÒžDɦí›:0¹­é ov>A=š*oùäE-;Ä»ï·æƒ1ÉrÕ–ME«¸½hó„ÓäÆϦ|âB²?u’ŽÛ²yNÅ0tJŸÐîþÚVë0¸ŽfÁ@Ï÷™T¶Bü‰¨)/C‹‚üRûÚñ hú-×ä WÔYªV"Ã%‘[Ôöòô¨Q©)[]*ï`¥­P‹{·ÕÆÏAMhlòq4aŸãžÌjJ(o¾ûc+˜ßðã—µä–i¯¬i@Ÿñ†ã2—, ãü¬ù4ÇÑ"t¹Í6-o•Ò9G‰ôˆ0è@=òkÈz¸N¸KÍ/\žW­! À?ð—ô ƒ‹)ôð.Þ&LÂ)¦?@Ø"Ñ;'V£>*§}õTÝ MÁ‰p:š¬ ¨ëf‹O:g(;[@Ðpøa‘*î +Te¬Žr›l¿ŸüÝmìqY-µ©]eååá³”‘JŽ;`¥bß[ù›oÚ¿YíVfûÀ[ŠÄÍ‘áËLÌŸ$ëÊÛ_ƒŒŠAgáÄ‘Ù„_ÍÕÆF&¶ÑÁ5'49x“ó24…å~!m“@ÃMyì +D?¯må—K>}›R@rKU+B )-"4²Ð%è¥Ò:}QŠ¤ø=¡£cÇeÕéVÖ47cçTÏ =‹pÛóDkxB„o²h7VÁ­ùµ«Ý§ ô:dõ«æ… ØoìE ×cw$ËgQk×çBD¨³õÿüݱy±Ùæ\áu6Ó°ÙÕd§zRÖEÀ৷o*µdÁ¬¾Átû\Í+è­¯úˆBÃ’í°‰|ñ@ÙÂlmY¥Ý:Æém¾V$z•+ÛÖ.Ô©wªÔÓ4Æ­* ÊåÂè a +ȹ¯%okB¨µ«Î1‰ NE¡òtºqbûçu®0§t±©ô>²\æa;,2'Ÿ¸› öjn B5{ÜʳG–5íÄ3Ÿ±ég÷†kŠÂÀøÅÇ7ÓÝâïÌ‘°Bp¬ƒ‘í’á‡é ­ÇÎ'Ói»=[;¶x¸ú_]gbó ö»>¾Ú^v¡{;ëR@‡ë¼Úü­¢51Ý|3•QÖ=¶Íw5¹Œ†ÜW|`ãBÝ×ö׆+×òÜr[A¿ç@\8­ª¡uÍ•y/Mv“®ÉX +»7 À9j^„íŠOkfFI“ê[¢Y{5áCŒ˜iúÒ¿˜Ò·Ô„°ÒqÊ%sÒUù†¥WÓÝ}kUâ½ýŠ9)Û×ÈÊeî`¥íOÌß~‡eôcã +‚­9ˆ ŠrŽ÷ fš±a‚}PvTØâɻܢwù[gK.Y´pKû·õ1²­-IøLç§ó-Àg"³EŸ½>ÎHðI… +‰ +b°²^è¼S)š9±CÍÌA ìäΡmðãåˆPíÃù²Z5s#›/\£÷„8@PoõQ³!’#íõkȤ¾‰Õ‘鬴¥¸î »žTÇØ­À’{][t0“Ôyƒ:wj$ZŽŒlú¤×½Jeègõ.OM5AäU_j…$¾!¸oøü ÕÓ@+þ惚Í0ЭH +•«àE[•n+õ-iÚ ¹ŽþâÒ•OVèÝ)öÜÓèXJã{.  +_ÑÀUºØôþé‘a–S5&^^´²¤Rš¨ç)%Aãô%9G@?ÎÝÇñÃä"Æ +aOüe„f›ÄBÁTT½jv[\‹Çií-ÉoÍhM‹“lŠï*Éa³×76ðjãj¾ SR§sÌ:9R©cÖ1‰xÉ[ê +`%̬ދ²Löƒ¨/[%¿ àÌ}**ØšLfî¥ý«î‹tÛˆ:T¹á7¸ÂËK_¯÷S¶ò™\Ù’ „guæœÕïÍZ†À¨½®–¥d:Ì +¤iZªRãm&Ñ!ÕÜW%ZNóâºÿ±z®éŠB\QƒÅàαÈ`wÖà*0iL wº³Ê´ëYîuBk%ßx«0ð5îè¦iØû\DL Ð§U0Æsü4ÃÀ‚*Å‚Gœ8XXÊzž}Gx34QUîr1>!%5vü4¹Ý^¡ö)©È;})GØ ZvÆ’_gÚ´½  æ°ýÀ‘‡õ 21‹²éiY‰á]ž´çÆ0þYoUg«µÝQûÈñûÁ²vºZsPô–“°% ”èÓ{<ÈúŽöækÚ:•?©î#,‹ºù‘¾ ¨C©‘…¯ff€JÏoÒ®zñ¹¡µ+1‹õ…?fY¯ˆe〠¢ñ-q«-°ò ùrÆço'š´Q-©§E+_ÚËÀb76,<óìiÒbÜ–Úæ–¥S™0)ƒM¯q¨7 ©ëgŽ ±CÜ°¢¸S Œ JEF*Ò‡:–º¹%¬…öêô1ÁÞaªúÛÅèÌœOX ¿Ýªºb`”`ˆÐ +Ô +eÁØv}5sgîR®èrà`K•cüÌ`2ÚÐí,pÎYnéÎUˆŒj¼Çç«­x˜P/Ñ;ZÈŒ?õ³!;/=CUÝägÿ#!u f ¯Xñô+ÙÌ Çdgp2$B/ù§tŠ¥ÅõÒ™0ðŽG«ßzäæ軺ݡ6UMÄ^}³ŸÜ‘TU;r”«7tBäÿ`etÌÅùþ½Ö ª¡Z›vX׬>$äç†ÔÆVä æ:é ›|ÚQ4ÍÆàµòú™ÚO;ÎgžÀ(uA$[&‘µ ÷›DŽ@]¨—ç´ê +endstream endobj 83 0 obj<> endobj 84 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 85 0 obj<>stream +b$X/=”J Û>ëˆáK{å2õV¢¡Ln²ÂbS á‘cŽC_Swè´Ë"ZBÆ÷ÿh³J\U »º}ðPÂ×iI4cQéf„æp Œ 82Íåôh.\.ÒÐJžÿôZAÿElÌO³¶ÃíŒG Kƶ¿(o?í\N­¹Am‡u9ç«ù_[ú?„q ÔIÿ®8·”$þúŸ 7™wÌ`º¥°I&$=¯Øu\&/±¢•æ/À¼èƒ‘Œü•P‘êêðÕ +¾bÀmõ?|îjáÌлõ”øæx™wÓn{e‚ÀÃìÉnµuàZÃü\ີþ_{V7Ô@ܯüû ª^»ý SGŽU‚ãxÇúŠ¦ÕkC…úÌI’OC°ïu&uæ ³è.qRŽ³ozñ†c³uðŽ½ŽÿÕC/ç½½‘®•õo=p¾¹;¹™…Ià!¬’Ö%¤ZSH¶ðÑŽP¿ñƒØà´äql•ÓºYV*·Ge5êÓ{3ßEà8Ô«æød$|̦ÉÙ¿)Ã`C§ä̟̹ +“1uSÞð4–fòWˆ´L\›csÇDúZÑ9`þA@dR8x(\"Y„·é t!TþPhØéšM•ÇÆ-oâK.Oqì»)û‡ +úÑ«‰\×y|[’fÕmËd?5iÜ˹å!âyáÝ7šmûÄ-‡.á¦òùêlÕI3}ç0{VŒ°MÔ„+%ÌêlV ÄÄ"þïý•[®ªi»H1O ¬y+Bö0fF‡9€áDåŒÁ¿›ïº”Ô¿#¿¡HÄØêäIÎWÒ¶ä]d9DªEÌË݈•Ï]fžš–Xh ¡ä+€Ê¬ ­þj)tFA÷ +KÊPý5»àÝGeD¨ +–/ ŒüÅœ¡Lmy&>#•ÖÏSzXˆÃk gÔvþ@Œ,%Rúžæ:Ú—4ÄêMŠ ûè¼2¼æÖ=$A 3´ÝÐ× ä®øƒŒâ èÿ>ô]rÑh˜åÜìîß:)0»ô©ø‰$nXÅ 5îVùŒ3¿Þ¸ ñ06fy”d%3à<ßpÀèóæ_Z¸Tœ°ßûÆŸ +º÷xe–õZõ¿Á5âÎz]üûrAN—s&¼ó^MÃÄ`ÓÀÁ!C§*õº—hËÕ'Ro ·=õ)P5áIYÍ^­; éñ:zÓC’ è n)к­„‡S½wË3èLײ{(Wÿë&J¤¹_»h½FÅÒŽc1ï5Øjïå"ïÞÂ_ !5;_ébM–ƒ 0NÂ}xz5¾Ób¥…$Êü›—¼ ùŒš¤+àÁ zã2)“9F•%ŒÉ•JÝ6‘Ìe³ÃCòv±ciAïÿêœå é&ì iKGÀÆŽèé‰à¶ñ¹7aʵ₰]™}ھϨ X“¡Â²N/L¶1§[Ï@ו »€’©´»ËfÖW›KgöÒß±GÜ×ól¥2“uY½cB +@ç‡bh€“øCôæL C—AωåßÌ„íÓéo„ +×DBûJ˯LW½Ûà‡<îÃ/jþ‰”™`4 +rš‘ÖØ·9¯=¢g«Ø]² Åù³×ÐŒ ¤m˜±OÜ…ÄQ˜  #IÕd-8%IÝ䧷¿qmZÛ‹eg?Óó]”œ|¯hæ‹ÙXÚ­ˆWÁ¯‡å7d„Ós-WþºBNÀeXÄMœ$¶a×ÈËŽ¦@GAV?á)—p%SD™Ž¤Ù€¥ÒY@hÉåûP‘4æ/™‘Ÿpõ)ÁÓl– G–¤ÔsÙ=Ÿ³å¡ +¢žÙqÚø«Ö&iâ_(#c>œ¿à¡^ÔP ®å‰ƒr> âÙûí‡(„i‡³rÇŠy#ð›ÏZ Ó±õá6>eKœ&¬„•Ìº²³ÑË~Y⺡Öxƒg¸/»QQM'´Ð’/Q)&h70ª~‡!{¹ˆÄcôªs׫uœ¦ž$š ‹g^•áÓàûr6#Ö¤ {ÞþM©g„ÕŽÁœ)ÅhÙ, uY.`J­OñÊÏÙÊm?Û©ñ:NºÝ¼xÛÑcoÚS¶‘Š1Ôs™Š§T ö¸ïå(öRï‚Tø¢t¼ä²çØÓjÕòÊïñV ÀPÎÚ:l”Ž`$”­(O×߉ðbqáÝL*Æ{Ã÷zÔÖ¼v §mI;c]ס8î2¦×™2rµ´zÍòT]„$-œêX§›áW¦©¦^ÚGVŠiœëo¾¼zÏsJöO*2¯Q­é•tv×°‹²uâíED±óÑSôÇóg¯ +l¦áý^ ‰I8ŽC‘Q¤ +dƒ &±˜ZÇÿ€fRhdÌ ‡‰…û¬·3`´‡$8†ò§5'Þ¼*-|bÛq??§¤+{¸LR)åÆã¼Ô!†´gÁJe¸åÒî“~ØQî¤~ÚžíõP«.4WsÁMâÍcÖ(o–ض"¼¹ã͈j)¢»í_ñýï §úŸÑÛ5X/ýF¾‹à³÷d×Îà3X%Ôé>r +5©Õä=·å³ï àïÄva(ÄÀó÷yñEιº°"ü£U°¹Ã²­‡â:í—±b]ææ!4[HŠÍ6€¥Ä¾ÜÛÇL`hú½R¥‡K°cË+Ç̹03ß¿luK„SóºC­ñã_/+†‚.b­3wxUÍ,d+GžxB.t g@Q³<Å”ÿˆÁÍ=Q}-À€¬ê¶âésŠíí4þÒë"ЂӖ™õõ”ÖšÁÉhd§u:JgD&£oûhfÏôÛ”)Oƒ¦lWnEðÿ?ÇaW#¾GYqwæPî4² Ö»=®uweåÖ. ÝòwtlDÓ<ü­4jÍdïÆ#V³ê˜Kß‘âÔ#L<ía"BÔÛ·€Úä6•N_\g`“_¥Ÿš +r!à>H@|,¹¼5Ô¹¸±ja +endstream endobj 86 0 obj<> endobj 87 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 88 0 obj<>stream +Ä—#uŸÁ ‘’Œ¥Ó:Šº:pÖkòd‘–Û–áÚ‘ÚN»ž’pñ +E ýtjl³Êμ…ë o¸é" "q6'§(õ=^çÞÒì"Ž\CߧËM¤—[7Ëá #Ç°a#BÇzè S-J‚Ë qÏ–ã\õnZå|xúGx° cgé·{”Î ýÚ³µÛ w—¶>š¿ù(¦¿r`7x%HDÎDAvm8à³Ðçì’U•y ²÷e¯g[ØþäÌý(§žÌí‹ÁkCˆÌn¶®7sEßG/.æíŸ`ʲ«"-û…#]ÞsàhÁ@KG-IoÃzDžð ¨5±Ï%Z UzAF»kBâ©G¯`§š¼n!pA!ƒn…÷sç.¦”TŠ²®Kåñee9•—Ý—‘E^âÖàPp ݤ¤…Ø­“ŒF·b$ñ*PT´çˆíc|`¯#À@¨ù›¨Ošl+Š‰²›Dß7Ófnà”±ª3+ žÉz¾+tŠ~…tûŠú²šÏ›¡sŸ+ÄÝ€T/Ö-Æ…ñ;ÜA )·€d"F‰šÒl0˜ÞZHMUùU¬,CÌ.z±9¢åMÆõ6óðw„‚2æZ¦Ù(&Ho°5G™ÃêºÂû:{§ ov_ž/ŽË&Æ9ˆÚE)Ü”Y Ô¿©ê‰xÆêÌl‡€² k뎥ˆÀ ¬Ï§$ŸÊþ…|X»íù²ˆ± )D‰‡óü{‰hךŠyDŽÙæ(Ϋ%W?K{jAQ8릃®%Áåµ·ø5äŒæZAxpÞåߎyA)¥v­×aÚ'ÁŽ@Útw»¼‚7-•Òî¸;/ݧâs1“ÿô2þ™ÎÖ…¯½ìådCŽÎT¥S+/FC ÓO¥É[(Ü)ÏϪ¾¨×Ó°:ƒ¹œ~®†ä8•½nÀ²… àtÞ›ü) Äþ‡ˆB(ƒe|œ?sƻ׆Ixõv'çû¯¨\–1Õ}¼Nl"5f»t|f‹„†oõŸ8euO»ýÞ­Œ²á<8м^azû{è  +¿ÀÂâ °ÛGJ<„5€ÓåQÌ&}CÍbh@…vh6ÅPI òä?å><0ObTûwrRüÐ ±Þ+#âp¯³ÙbÚÎLw=âxÎ6n÷ÈÍó€x  f¸LOÓ.¸Ù7ŠDÞÀ††•’`! ®rstêI­)D‚!Ç~U*·uX¢ÚM,ž¬;C]ÞYf˜ôRþ~ÎÒÿ»ŒZ‹ëÌ.J"Jõ JT™7úhž +7ãéM±²ÜâcŸüǾ wòðõºô[as‹Ä˜0_›–» +Ó +ÜÏ­øá—Øä w lÇÞTAŒZ«(R ?žút]6Íe/Ü€±2uÜÎö.z§1çAÄ=AØu6Y­-Í<昽‘œç†TsÉ{z0–iu®b¦Œ§ãÞ«ÀŽ›̽eC3®Duº;š,»½8·Ô 7–ð½ÐœêxŒOw‘»)‚àÿ²áíÑ#3<Ìk\¥ÖF½sJ¸¶‹¯¡ÌH´ªb|JŸ''Fdì”åË<1ÅMk'| + 2ùßUŸç-ôŠçkÒ†²å–B‚šÎ9ŶÁL-•}„E åâƒÈšÇñ·6ÿ ‡@t1LMO•œ°.¯_Š¬Ád+7yiÁóÆ•f \ ÍË]:ú–*kƒ+ïÆ.éR´U84´ÌŒ‚´ˆ¦Õ\zðjCwsPc«‚ •jÀµï4´‹_Æ”uÆ¢b{ýøÕéà·¥ó‘\ƒØç陜N÷p¡¡Ó{Il=씬ƒ¢×#‰~ÑѬ •³Ñn|…Ïʽ.¿…$}ÿöŠã3M\”¸Ú÷?\¥­JÌKý`éê%Ü$‘£ +t&'ýiÛL(Ó}‹ÐŒ¹z÷¨hÏî]Š÷ˆt=£ýÆÜh›ÆÂðjr1Ø¡á „×¸¡ÿÎÃ,³F1Äíƒ:Äáûû`º¯1ÁJ•» 3ʉ‚Aî1kª˜=;ÈÔþ{[i®c»Iµ³¼ÿ +Àžä1Qü= ¾Œwì$X7°Äì|yÑv‚ì»ì†k²þB”Ï(Ë‘(¤wCg E™Ê3¿n¬B7¹Á³Xp7í¿êÉ‘-¸º»h½Õ¨È2,ïÀ‰@©–Ø-‹eN˜ÛõÖ¡<æ@WáÿßÇeÙ¬h×R·ðò_ˆÙ®—§Ö)Êÿpf ÄXGœ0k²2¿W…ŠÚÃÏ(:—-:Ñç©y‡fñsØ6bAȺªeÀ!ò+º/ÏŠJ#Ưp¢ACGƒšpM¡}¹JY„„ô4«ò +nLÌŠBt"àoöˆ:7ƒ|ÈÀ>Œ}‡bX¥|§Û¾ÔÒ4­wèÀPÉêƒïþ0¤‡2lMk}dzî¡Áëî-‰§ {Ï·%eÎ9˜ÎùŸg®¬H{G+ªÔ0ìqŒÔt—ºÇý«Æù:Ó·I¶°wQøaaé>I6FæœrññÔþ•GÈ`r×d›é»­‹ØZkð©7ŸÙ¬AÖ,ò˜¬ý¨Û·qü;rE67g7‘ýT:©{IJeÓŽëz€inŒ¨¨¡è¤#Ï %©sDM]r˜ÊçòHyê‰6òÚbÙîŒ^`å ¾ÿ‚õxÖæ±1ü®t©tºJº¤1ÿ%-Æ™ó²æu3;—8ž—L4q»‡!üÂHQFÆ-ùœi'ºØ;÷IûÒZĶFýŒ–‹€:åç®vÍSž»›D’¹V('Ũ¹]p”ÇÀ¤¸¸OGWB’” #cÎÍðLªEåJ{µ1Õh|w¨Ã}æ²: +R?ð׳+ýxúÝ1âOÀ:ßÔxc«òŠX•ïRD¾< `\öX¹mµ*d~õõ͉zyW¯½lG–¶#Nv>)Þ‹ï§#È`;=©œ·êïòAÜ4Ê-קU˜”˜î§x +'Üá „;äœKŽW*ñIƒ&É&ÞÅÐ`¢¬«þ€ Ûñµ¦,ᚢ®ë‹µ¿r2yϲïÊŽSbªzÅ!äÝüê4|†Éï¹$[—»vIú{òÛ\ïÀbEVlÀ ïÔ£d‡‘&h6}씊dØqD'½a îj(<þÔ'Ry}Œ›SŸpºªç\N‚«ýjaÒFHÒ"¨|YPR!k¶ÉõÁ<òJ[òJb^IøÄS3«‘šãÌ° ô›H‘töUë=ÞëI3s‹ÈúkaHÙðÀ¢ø¦ü˜›p;µý|?ÖÎ`øá9·ÞuFðjqzmæ|#Œ×Ýl¡Ì›žÒãTJÀEé4¥‘âñ–Îg´ƒ×LKtkØ.5È@°b,&ìŠPsžo+úÎ õíóþ_ËT¨ÉмÚQè!0›—w©äs®f +7dëVÄG7åfÀtK#PÚ”zùãììh+0+Ù®ÎqCÑDXïòÁVÄÝI§Õ `Yu­Õ0‹ä[¿±@tÅ(ºežÑ??Ï5ôºÍ°‘ gÚ¸Ó’‡2ê`ÖV¬é"lÁZ Ô±(Úáꇓ9²¼.S¢Oià׳ƒHÿ˜Â 8\~®5DÓ¦êLeºE¢Þß÷Ø–kÿ9Šåµ¾7[ªÍÜÄê»wö†ã?NÊ{é ê5Ý*,¸¤²ò´@Eï:ãwðy“ § ¼òØhT®ëYÁrjÎOj ß“2çýK6çPCò6_«J ËÎ÷¡*Y¶à¸×ÉCÅw1ñk¼(Ä|™«Â[¢©($}œ—<Ù<Æ«0J,Cê©xÆið¹7&]%;²bÖpoP½îjK­õèÛ£{ ”_£¥o´È =F‡¯|ßਞ +!OA¢(v$óóù· ,÷`ñbõÐn= +F„i¾ô½80¤ýº„¹®ÇÚî½Yµþ¯r˲ØwóYyÐ1á]À•Ù·|ŒÑ#@ñp…¨†ÜbÇ鸗<9lŒÛ´“›]˜©º¼ÝX“ 7[à!]~Ê¡îÁOˆÛ~‰sr›y¿VDSÅ](hQŠ*ïi=¯¾„”à_š±*Æé s¤€ôFeêNæ™fs/Ú¯àhÅ_uÁWÊ~y¥Èþ[ºO»P¥§sÔhô’n%ßj*¥6ì¡»‡bÁ«¾0<¦E‚{ ç‰_K鱄YÖ¦6! ;½õçGJeªkSø,g%IòÑ.AZ~~ƒDÿFº ÿlÏy]r¶Œæ ºVž„Äù ø—Ú¢oo¶þÓ|x·æÃ…b­µ}Üït³L¼dXT¥oƒÇ€ë?B’4ôèç‰4.#FÑ[ïºc¡U»wû3˜3=ÛRN>ã±3ñ?òøíúWŠG©CaÇŸ?ÛŸ¢Þ¹è}¯•‹ ÿ˜—!Íø9â8¨U—â +…Þzñ}ÅN3‚7ß™æ¸cÆ ‹õÍä•L“.ëO“Š¨ÑîÎÃt­ê€ôf%NW³="M†u§Døù‹€õ§˜+zà>qîÓݹò˜ž-/lŸ»…²šÛyÛºv‡Ü”ŽÍZ —›¥9Õ)û²½HKÀ¸€ðQroFä ÿÐÊ—l5‚¸=p+si;ÝÝñ—q©M²])¬w]y”T~¨G­ç ƒÆõ-kMçf?*Âÿ¹¤sΕEO "ÒßxöHÈÄ7íïÆ¥“ªYÚóç®—½Ú¢¨.œC}Öy-,Xæœv ›C=–è€4Òí:·ÂέK•AƒœÐ7äëËÉí¤H^Y¢ƒÞÄwáÞ‚¥§kÉÛÀ#ˆ +S¿’Jxõhæ'4Å(†WTi&:†½ªã{w¦Êd8n®««t­á•ßŒÔé_¨w|¸ãáùLY¸,¡ß‚lí‡ à‚4Ùê©Ì¶ºÈ•œTõò> endobj 90 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 91 0 obj<>stream +ñ],ê ãµË~Ìï†Ô(Rã›T&¾Îog/Ęu/sZ[oÿ±¨:ù¥S5ŸtŠ­»|P^\ ݽBŽñt'YiéGˆûÖ‰êÏ4pë™ÀŽê몄¶AUYÙ­h<æÑ]šÔC’[«)üE.sL³æW˜nð3ì %O­ZÕrJ÷?öιWôc¶?¿ˆ%†-ÆàÂþÁ¹ÐÉ »Ó2xCè«36(lFúÝU¤íŠXæJ·Ž†57?ŒæD#—Äåzâº"œÚӧܗìüuß«j>l™9¡eH#þ\WÌÙñÕyí¸éN/þ ÏXÒµ—ÈÕˆæÙ3ðãÍ}äE]ͼëU +`¡ûƒ¨N±XÑ dRôZ-äǽOqFfW©ÏMÄqûwô4À3z®8 +8„“ey&u¿ÍeûñdŽQ”ôB2¼Fç\Š$Àü%an•xû²ð /GÐ]b`è!`Ñêÿ&8ýVIèüs†s)íxªdš+g ÀAi ,‰6ƒÒ͘~ë1o¸ed¥ÒhjÀDH¯PŸˆ!¶¨&-iMr®? ÀÄFlÁ¤sݬ§VƒW‚{X¾½_ôl–^Ýf…™Tçu`fÑéX¿xIyCPò™ê¾qHùê ðU¢%i˜Dò2CÓL©OÎe½ ˆŸõ`ù† –½{ ÷™ä¬}ª¼ÆÁå—ÅOFÓ8ПÏF$-TƒýÑ´ƒ.ü"ÜÆ[¤ +³QB¬]+ExmÔ…Öt> 2„푽±±Gö4¤õÅ@2å¹ _Ôe'°šu’«…¸¦Ä|ÇËf¯Ì·Ž"{6á¤wl¡Á2—«ÒfÙ5Mæ@Úš•t¦)q—å®y9ß1~CßÊÕÖ¥QÇ­!yùFM \úéW€‰ +ýþ¦áeû‚ÜHÃCŒ/jtê†Ì‘4§ƒ.$?Eð€ +Õ¬‰~µýºISU+Qn÷"³?¥BK%§†Â;ÌCé@Z8ûš:i?Ð?Ý…AX…@#¥ŠKOòHßX³‘÷šð!Ä߃è<±ÝX¼n‰…m«É¬†%+iñ€&åšÈàâe,b_)Ûäˆ;ºcWñKÍi®t© -de3—,þ\!y2(UãHN¤¢X[ÓKŸ€ùŠó‘ñÞÅŽÊ‹›}«hH¿M§}QÇ…1†d¯í Ý.;ò²]•tÜÂ<ˆ‰)1…² ÒÿË1#üÞôj¸ª†\˜:àAã,ù¿Òþ¸Ì̧úé s…–P¾g¼$½0z³ºeš²×Ö~O¹r;­²í6 ÿ è!L7lýÏÏúNÿµO•°žß÷ïq ¬3y˜xߥàŒ“߇IQÞ1d¼c<§zŒ8qpl*ßœôk‰Ð§Fsª´éßaþÁ®Îˆk†•ÒAî=2¥_uÍ÷¤ßnÎ^!¨·ËŒt{fKY8c¿øó~Ç,úu¼Ç¦çëÇ‘M¦Ö”P׺ËBÇTK‚d4LÈc_$)Y„›¬}°`90mp²É( Ø9g÷n„šUúgÕ2®½ Z!åÏùf³õ&ÆioMué*Çú Ì鮪àû>±×ÐnN¤91ì h•<4-1–ˆcÑÛ4Q½V™° & O똔ß:.›®½ùéŽÓÕtøÞ¿H¢¦Ñ½mx—$eH sMªÀwL…;½MÿsNi›¿<Pžá­€EÜìâ%X ‰†³‹PoŒª½>1H·jÉÝ…Ñq×4°â’(¾×쬘áZ¦]›" ¿7nŠ)ˆRM×Ë!nòz¼Sá6·¹Öï! +d±Î¼îÄGK‹õ3Ë=Ö±ë5”¡Û’%îÜöýÛà‚wXË–-JœüàG+Tl(;´‡ñ±« ? ]äD½h)³d3[AÙïfו’,8prÓöâFžGfì„÷XùóôB(gÔ5o–úÎFÌ9÷S'i@¡)5•¯¢×-ðàÞ}à[G/^² ýôü‹,ÓŒt–¢¬¨/–¤7“ÄFjɾ‰sZ-UUÄËpÔÝEÑ2O×V¶ùrÌDFsÅGî:©*O½bË!¢t¢pˆ©a8 áomí*&KùÍÁvŠ<ÌBP*Û9W7Ò†”¬¯ +#׋sVHp–¬Q}PGíøé:Ìâ¬Z{0ó%Û6 +Xuë:AsД´ExöIÐL¦ˆŠÖ‚?.òŽY™6Ì %«w”ƒ#¼%î¤9¶;âràÌðçÉÐ >rí~su%0ße«b’ oŸëpEDqLSU3ýn?u±+C‡»ÀZãzÎc­µU\¢"Ü›ÖÒ/ 4èÍú­·¼øKf†m +oIƒ÷ØÆœuáä×ôïè@xíšã³Cö1e%tE~;—ð9¡ p²Ð.œ¦ë u¢(øµt5–^ñÚå\á]ÝF°2uÁ˜þc˜ï Ñ!` N#5&ÉoÈŒÉe-’x-,mñ¥tãÇê4à,v'ÆêÙFQ÷B6²€ùk†jžˆÊ¶ +ÇF§¿awA¨¶Ÿi—EŒ; iØô=x–ª$vŠÆÛŒK;l¹¿øfûg謙™|@½%J-s¼ítÏoöü‹$¬áaù:‹¡|Žà]V&FçV%¡ÐQ"ÒáEóÛ& †Îo=tž¤'^OhfqÍ0ŸÜçì¤þpoÓt…КB…$–ßqXwKu¬^Þ7’dÖppàiOÊüÁmÞ(ñ0ìsîÇgXdÐ÷Eoë“}¼l·å3…Îä8†Ÿù¯ÝÆÇr¶ŒâT‚½ñïó!ð?l£F8߃P²Ý +ˆ½’[05½óF¯Š¼4õ@’˜J`ØÜ‚kO)‡—uïêÕ.-× b†ý±ù•Áå¦5Ã’p9_>΢©VÔd|Ë«Ç«eiÌ$œ³UH%œÍ'['°Ñ3Ô„Yn{о\]ü9 ¼Sèi\ 0 ¿?¤”ýX]füZ½K毤¾&êÂ9ûïËz‰¿&2!¤~[@ ÑX(S%†Hõ +‰²”öë!?Ž‡:–(¦- S§týýËP¹¹Ÿ{ ŒÛÁÞ.XåI(ÃilWÜ3ÀL݆0¹‘…Ku™NØè¬Á¨H¸sª±$ØVë/:u?i„ÞÔ·äêé^ ˆö4]× \ÚÍ©¶KìV9KÅ ‚ïW{‹úð:m^Ê= "¦ƒ-Âüiâ—aˆ4†eýï¤ÌÎÍæ_ÈÈïoÿþ+JBNL~…ÇåMßÃ@«®'ä,2;éÛ£iáÉ먘ûƒ¦½Ñ”èÓÖ‰—3àÎÛù°fÂß@¨B_j~âöÃùiI-1‚|<öŒ3UŠ`%2ÜÁÞM þŽG= ÄŒ{ß³¢T¦3±ÎMGTÎ:¨{ÀŠ*øg#ðÝÄE&|·i²ÕÀ Š|/k̸‘PnŠËâÑK,ûm6ZdbæÔ]ÿóíùáÿg…ÀAÕ¢‡XÈ™ATÙÑ6ÔK—8Dj( +«8”9À,ùvˆƒ¯éxö<%A çl,ÿÝö‹Yã¦rèûÎ¥ÏÑp]“š\lÄ{!)x¢â·«$Â0lt͉h XÝ.§“æÀJÕ&ý¹f½´bÝÓì#"ÎSWÇ?ëÄþ#o(q0´{JÛ~îœ'Ðôhü†¤ŠÊx-}¼®%]L( ±Šb»dÍå¢%­EFŒ20n¸‚ üµN^¶sQv\)«‘Šç’®5d¤¤¤ÖnVDXgîT6ÃŒ5´0rº•Ât³ª¸K­Ü”N½ôH„™Û§ ìÞ0m&Û•ÎàA{χ#aë–ß\C—9 +endstream endobj 92 0 obj<> endobj 93 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 94 0 obj<>stream +GÿAçòÍT@È…AÒ<=a!. +by1°pû7'6y3¤ ÿkPÑ_õ˜ºËqÔT‰fµ#ïùïŠ1Aý‰ç"ÈÕÒÚ%†=UÊ"iêHÙ›Ûã,14óÅ5ëhC)ʦ!)¯‰tг,I-Õ`òn,~¦²2„vÙ‘TèŠòr9[1ñv¹œ„Ø Å‰µ=«&iËc…B›uïúP)"\ñ Æ_9™ÆP膌®V'àúìËŒ€’‡ vºˆ¨Î3ÅW¿Ð%¥ºPG©Å/­j^ˆ‹‹ãG^H§×y"¹_‘@Ç5$®hÊO{2V€T‰[Ê^9…0c©@CÙèÊ®~áþf²za›Âµ€>6|/¼b9_BlØõàe¥;þ1ÕÃFwÑ&í™±}aåã|ÏxTøG\ÈÞчÿ%cˆyÜc³“Lj:È€ýu±·e43¹°æÌôksÆQ‰6±ƒE‡ÿ¡Û2Ü£ÛÃÜ´|Ï(ÛôpÌtÙÓ»¸wÒâ_r=%çgjB@Üé‹麻ÉW·ÖÙ¶.E›TºO‰éó“µ·è\“e`D0’„¤ÑêPy?¨@ á=ýl©ˆN–m-.´÷Õ¾ªUñ¿gêZ²½„°Àá,Õ™ +ãP†žômp§š£kéæE]-ºmÑà€ÄˆWGÊ°\¶sE g^‘ôè—‡ŽoÛ *:õ2£:¥v)lH}yÆMS5ßÓɨRz {"tÙ‚“çå¬jÃÕ‹RúÁX!Ýq}v§Æè‰\ò?«‚O¸¸¢{S©‚JÃ`7gßÐôÂ8Òä”AS›èüB¹ !)´ú˜Z¹MD”Lh•Ò©8y5c-9ŸÐAnà(ÁT(FœôW6üªÁ‰+šà²Ó£t1!6*@1zèVL…®‡g/¼IDK€¦ê7/é¼w'þ@‰9AǬÄlº<×&Û-D˜ZŠ2>yLz{oCÆé‹E¡EÎÊM5õÅ'ÿŒøŒÚçHúy8Uÿªpî;||û˜+c8ö`qßPPDÇ„Ù0àסq§aÃÁb}+·Äît’1p‘:ëFöuKïG97¥$‹¦¸…eÜšÃÛKÖ@¼mDÁUïâ2oßÄkJ‹Í¾”˨G+>×.ä7ŽPÒBDÕö«Î…8)±×èŸÇÛLwƒ†“#—n†¦óBñ¯CP qÅiuŽ(oTÅÿ@.M >V–KŽS7Í‘Ï[qo«˜ãüÌ?ˆ÷wï Cu€“[¨\¼FTyˆ^ýV4ƒK.i»™k߃ÒDøók•Ó +Ãv©^¹Ž›†qwø¦ª6$Q +»x²-“¥š‡Hn°š‰Ã͉lDí ýÇ_5õê‰&JÄx»R«õ ¢P5`6AÞÍëi¿³Ázð~|&X4Ÿô:Êj8šJ±†ƒí…ŠîeǾj€’Ø7¹B rðÆ㥛”Ê`! vÖ÷u;Uõ+BS ‰/Ïk…u8´¢®^O*H²Qýƒ„Îb‚3€ckî$4%EÅ-M¶É=Ìqß© Ï£²êâ×3îenÖP3ä¥QÿJ$EQ}¯˜Ük¬Çö€ú ¤ÌÅ@×׊¯K[~Öe¨TÈ:pDÕ f?wÁUÊ¥L¼ +·_³Å‡zyô|5v1ˆ¢—4öíýÐJð‘K€Œ$F /˜’ .,Ù¶JË\&h*ž£^è ¤QÇŽÃe9m›ÕNR=ûìŸÐø¶J®ðoBüŒ2Þv* +1-Ï–ðU_ó n>ˆ,&2@-~[ø¾î%±6¡''ó Íœ“Z½æÙ€'ºj •lìÃØTtMÜÍf¢É}]^ «Ö§X½¥²ÿg‚™¬j/@ +µ¿Q¢Þú– òrÐâ(zÆÞ´ÆÏpg* +Æ¢ôT”^«†Ë‹@bQKÞö Gª¼‘ ¤Pôéä‹ÿ4 .’„m›W˜½÷Puk±7·úy™6cQÓÍÚå61ðÚ ±o˜ùú`îf§¾¨;_})êûVèŽxÏW¯p‹RøæxÃë}b’ ¬¨—,ké·9Á°jvx9‘ÖžÆ×í+ÌÓ!BvÄ™wû9‰A°±±ûáÅK‰º#šhB^>G ‘µÎTjðâzÞ}$ºÛ…÷{îI-¶žN]ê*ÝKÏ#ûh/’ܵíbA• Þ¬ƒãÜÉBÜ–öéÆ_›èë“6‹®sc•·/¢ QF¶èœ¸¾.ÊÌ1’ ýéNDž¸Ø Õ_hË’öøÏmbÔþ´Âð©Hj¥‘v@¦¼£Õf4µ¶‰xv=ñ}séqƵ¬Reà>2¡àµa‘ —Céû|4­:•)óÒõ ÖéP¦Ÿ‚ÈX5.ÊbO)ŠJ$K˜›!UÏ\º»×Âio”ÌÕ¬ˆêÍ›ïœõ +ÏÁjQ¿´zõ{Æf…A¤Àbo=Ÿ}µ÷ä#s‚»Ä´púy«›XÓüFþƒt¿ Ô=T +íeÊ›äGëýzFÙï5¿!8@>OßMÑ“!O)e»Ðí¶Ü2”ÄV¡ –©²‰6à( n €–,Êò“¹ˆl1§@$’ˆæeâó¦öñÁvk£´qåpS^Bj ×wƒjÀot§-µ3æ½ ÞåÑéñ0·yU×$òÄ.Æ€Èy-§ä@ÏéS˜tÐÇdön1¼oVZTJ,c’k^¸ÏÂ(PóÀû4ô‡xøažä1ÍiG'ôö° +¬ù‚Äm†/h‚qŸf|œÁG¦J¸[¨.ÌË{‡ ?ÌhA.|ª\¯=+a´ÐI¹‘Åv·³Â¿"Eü'D3ŸµÜ ½%¥{¨Xõð} å± ÃZñC\ÈÔ\®¡} FÐÆ‚QX<½qÝýIÐÍ^3ûr„.Á•þCŒ”@G6€3Y£s°§YšêΔ0Ø.Dž_ +dÌŒ-¨VGLÉÁ•~n>˜^ÎoRò£‹„ +æ‘ó ë1Omá÷Ñ–ôË,Å&ö˜Iæœ&XUm =’mÂàÊJQm3 P %|ÊíÎ(Gj¡”ÏÖ:ir1„Z“rƆ™OÕAHJþÜ.xKÖøbfïÃqNÅã;X¬rA2ry‚Ë!‚@mÉxɨ-€pÛé|Teí]Ϥò'Ú؉i«¬[hçïë’VßÙŸlpdø'¥Ïõí³æÔ›’ô$ú;Lû:ºË¨Ú'`­U”òöð¿¹kàQ¥0Üä¹ÈÌ@x¬@­é +YpÚA±&J=àn¼y~rz:s¾- û5Ú‹^šë 2ú=‡Mæê"B¬e¡Ä¢©â)g©èú ¢Ç±'©Ê†ÓïIÓSÜ;Ð +ˆÂO«Â'ÒK‹ª#1¢ A ÈÏR%Œ(JdCeÞðùcš€hjÓVšÊ.S­@‘²ŠÄ](?"“¾¤þëÜ &2öì«‚¢ö MÏ):ût˜5ÁŽí;Àõoœç,£pݽpƳfßÛ +ep8ÂçO·˜špu;¿…-K‹JEJ0A03N}}òPÿcXØX³7B04&<{Ò³GÔ¬H¦k­SÆŒ/!í‚„7fBÇ_Ý‚_8û–¢š]=£ÊŸèvk­¹çñaTQ;†ð^ˆ€Ù›½`µ)ŒrÔÏ ßú”ËÖ„ÚîLy åsf(,7÷¾³ÛqŹ¬(i4ä¤þðç©NãR†Ã6œöWÈ·ññiÜæþ¤ü»\FÈ$A yPÏcÔËz5I­ˆÇŒ-˜›òljTúâ|bžŸ=ÊIR_/Š×SìSbŒŠo³Š³¨ íÀ^FƒF‰M‡óBa˸`WnÑÒtwn[dD´ {Ê*Mj—‰šo ëˆHeEáj¸yëE\ÉÛaµc,f3´©9Â%.V‰”÷~ôÊÇK›E™A$«2äÖ=Xª¾D”…põ…ÖT°-ù@#¢ª0Nª{_*‚¢eÚæŠ]5U±×M± +U?£ã奬£¥âýâ ¾îšèŽÁev­’Š«ÿo]®EȨnÊ{«³ùNºÊøÝÚAóx«Ô*U+åÈU>É׿¥÷ØMÑŸj_¯m ò$<øƒ‰B…ÙbˆèL˜AùbÔwTDZÚæ«~ú"âIñô E‚ ΂UÕM˜{R*o…±&gL…÷Ó¸¦¾ïÉró‘œ,ùG5A‘R­|R!ì° Њ™ CM§üö–ÑduçowˆŠò#í‹ÌÐØÈÕÚ¸¾dÊÄ‚ŽVJ€à]0aÍ*;FxÞÃn2½èfs¡/A¹¾³ |–¡S“»óf…ØÇ8zÀ #‡L †)£v¼»“¹¤ÈÏñ‹©(¨ ¦«•±ùzFz8€9Q +endstream endobj 95 0 obj<> endobj 96 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 97 0 obj<>stream +™ÐÊW´àiÏ΋D¢Jsã`nŒ&GËBT‹ÍÛ˜ Á‘‡h3=)PÞN 4H*˜(>ùzŽ+Ý bà-¹”º“¥9OƒAÉzX­¢ŠÒ‰ ˆ¼¸Ž‰F%+ì»a¯¯ÀHÿ¢¦mÝRo˜³™sa*üq†TöËuja´%J˜È€Ó©$eö^×@uíðKJI¨'ðé rQr´“cv%rûFŸW§2»’T"ðÎuǧK¦.³¡ÙE“âŸÌÛ´wèQ8#`&¾)…rE’öŒö4ï蜉?\«œR;Ðé8Š Ÿb4º|Ô]hÜÅ Óþ½øGÍrŒÇüQ²wŒÙs0*!‰x–_£—“²ìŽ$·ÜÜë7 îXËNŸG xSmñ3?×ü²>7UÛP NðÇóÇ,fQb,±®áºë¤±¬VgÛÄh×µ5y’Pû0ý5í¸"ZÀM­ß'¥XiÕXGsAÎlç F²+îl¸iwã±øÍœ ø—b‘ENº•ãÖã¯õ†ˆKÂ콨J*° ¦Ò¶RÀ¶ ^úÚïZe'E_»°}ŽBeŽ‹™zÿzµU<Òu} Û/‘¹®'¤Ë¬¾<²?ÀpÙˆ˜–jG­?€¡=wÚQc(®Ž¸óIBâ‘NïꆪÆ#™mêªyÞ¸î?mô|¬íú^®Œ³ –uC“ o J x4¦­ü…膓ý£-·˜‚â—Â%‡J1ïd+¸ìºÂÏ’c—4‰B)gQÁ _…AÆZPvïÙ¸T‡A pqËõµl!"“ÈiÅ…áë[´ÒpÅÛ¶_\aW‚ðX%È>ZH]—øê;d±ÿä¤B Ug6£8K/Îi46 ñþ(bÑ¥ë/ÞŽ¸qú›Ëo3Ö8 ­õ½6áUw3êÒXPÊÙ~µ†«TºÔ Œþã*˜‡M¯ $I6Ê:q¯„?~V)Ÿ\Mé|²ïÎ:~ÝZùäõLSH¤ …óŠ¦Kñ±bdêU½i‰æ¶îkçb%‹ý„[SX w@Úì-¶¡é«ØÂÉùšE!!lo2#üÍo5'*y þAùµ„zÈQÂM*<Hh¬mßŴоIâx^wÎLÈËÊ°þq-x¦ëWësý ] (ëç$“%`SG/O#N_ÊjÎö4Á +îiÒ\Ûú<ÉAÊ<‚'ˆ¬›dnS¶ [Ÿ/* ;™L™ÅÂu(¢Ö¡krºnPïíºZ÷€Ä/Àäž”ü9i?Œ`°æ§{B!=Äo"§ßë4Ñxyý,žß2ÞÞ‰1ÊmòDh Ô‹›-IÓ“ÀZ1ŠBÏ­HüúZžŠôÌü°‰SD Æñ/ +õ%ÎmÆb– y\4û‡§ÌJ{ؽfEâŸE?# í±£×Ë =3Ø…Ò²õè'5Ñ&bËt/ ê—.óª_ú£œÀ£‘ËѬìÁ7Ö§âqp¨Sç µ;ÏòÌÞEb=¤ß:G_"¡’àÒ\H$⯔ô +ÔàåÀâ["ƒÒoœ#ÚkØíQè°‚He+¼¨Ú +·`³?N~Ì¿™òšZzÈ91 ûtà•¼Ä¯ç¾'ðQÅ£ÛËv±›.â³:Ç(S@)œ÷:PaT¡-@ÄÓe ¾ÑN¹´8ËÆÝëŠÐ2ë„ôS+q\Ê,cè`ñNM0ë2!"º6‡·~ê¥~Æ€’/4^ò'gÚ>j„Ëk*SþÇFuã…¦aG~–6R›]SŠF}ÚTGfþçóC.Uö^ÎP¤öY¦ÁÆþ@ÊŸ·º!øœA´ì"”Ÿ`ØI×&÷ÓüèÇg”8Ö=ã5üc§šb¾¡• Ñ›Ûm(5$»M¨q†ÖFD¤HeƒpÜ•Ë%lgäG Ê}ü')Br³û‡…b©Ôä9Ø<[t«£˜óšåàû£ÊÔ¼š$±¡&ÇeQŽUª¬Ph‚ö4¯šoâ«n5‚úÓ: â°Dl˜n瀵µÅøéò#@dc±3äVÎZa³®0CÈx=«K³ÓÌ°H¤›.·ASΘ.Y!?Á¹{ê\Ôџ~&àdnÕ‡+c£[U£4Túš<_ÖU=ì+dB•`kšŒ +)® "äG ßèÿ ؼ;èRî€ôæpwc`ÔéíÞ©&-ŒoK«à“rÊ‹Báª-tüÚàDÒÐÖw?˜ÐXºµ°>gkîÇËkªØÛƒ £5Ú5ð3ßTÿyιïÍ{A9îKQÝ‹O.£–µ’m¦/¥6ÎW$ÄdU·‡!9XõÈ'Uš¬4ä©Ä¦3ê’S÷ÐFÌsz›£k@oë CeüÁ±ðY«0}·}ª_É0‘8/”B–ƒ¬جüeŽó¿…ÄŽÓc+þˆ3{'k»õÕ[JlIJ{JdÑÔvY/dhþï~j U 2%DæU>©‰ì×ïäcÑn«ì#©x é:ùäV¬+dáXB:ožôü#sb3ÃêáK†hd%[®.¤;¹XC.{”£ÙVufój:egw^?­nú0}€6Ò×br袢8ÊÀÕþz§çÂIðjãÚ£, ½FiAÖÓ°‡CBœzÇýߊ€la èéç%çcëøæÞ½Á—̇|Øòµ¢Ö-’M5n ‹:z®•¢!H ++[•„ä3åEÆŽ}~dÄ~Ï~+Ë~k^›ˆÄ¡fQò•®ˆÞ®}Údç@^ÔÏÖžÀºÏ&¢êöæ$Âr©ûß|þgx¨ù2ÇF5qÔy¨Š»v_„}Î’mY2*`“鿆Ýt>Gc_ë¥ψɹiÈ(€€3ÞjNze£qL=H¶$QŠ#IDB#x²r~%s?OÙÙ¼€: ø¥w½¶ÞÅb}’‡KW^a£Æ´%÷é6ú\.¾Î;¾1…g»/Ö T.Õ¨ù¸¡[e̸T*¾c\T4Üέ´Î¥á¾Jöâ|!ɹ#9þ^ løPø2íoDrrO`û»"'cì«ŠíT›ë·ÛÓ\èj̽­ƒtêÇXíõÁû:ƒ+öGà&A-ƒì!<¿®ËtÝG ½slžkñÑÍ“’ÊR=*° ú8òÍÊi(¡ÙqŠÊt[|ùŠ[`ÝUkHµ¢›tÓ+c©ñš¾$€òKMµÁ ã“©WÉe­µª–†Û%d2QƒY…®2TJr"a´~Añ­Æƒœì¶ê³oQÚCÔ˜¹KÄü2ˆyŠ•°y×tÄ/o%&}çj‘ˆ&yC_‰yDxy¦Ä=Œìt »FEÊZ› ægf*ôÇ.òÚE`ë¡ +VÿLäàÍ©p 8ù«7» ÿ¹ô8Ž™¿¥=–Á|cL–É=¼±f2¢õ^h"дï–5Í} +¬©¼ñ°5´ECerˆ¥üYKÑרÀé}håñ¨µ(hö±¶EÔr/´A¾0Ô•‹k¯ØèŠ@sûe¡/»s:Ù>YHsö§uPû“ŸÇYœ]ŸMY\¶†f|\¿iÁ!šuæcìË@² }6X‚é@;UÅ t@î%GRüÔ5 e3ýG—8p(Ñ/Ž Í ¯T_{F®éß:@oã@0!/EP}Jöµ<Ú×q PP®ôfÈ›Á)`ÐAﯓkÕŽí¤r}Ϲ·3ɾz3¡T™³)ÑÊé„,]´ZZà°{°óü,Ê¡¸Ê;Bë¸Ä‹› !´Å %6HG”Æü’-]õÀ7}®¾Å­w.9;Q‡¶ˆqí•F¦@Ï·ÐÎæpbÅ&ž` >€³^·<P>kU–EÆÜòCòÿkÕÌÒ||*δÍ Ö0ç<Éîž Y“vèç'ŒØ}Äß1æGJ¦Dñÿ™.æxÓà]4fÛ^bEj<Ÿž«‚–!µOžÓ’˜é¨÷¼ø¶2Ó¾ÆvXŽƒƒ)ªî§Â:ÁÁeI 63Ý­ XC‚¤Bõ6§‚”î ¸kåÆÓl2þôcyLh•ªC™˜Ý˜½]áIôö\¬äb¯ñáÜcwëo$ƒÚ"BwÛ¶XÛÊô!HõFËäVŽýƒ$*ä;ç;Zgs?I¦9µô}4”/ +ÎkPµ€ë"Vó©nÝŒ]t¯‘‘ÕB5‹uÖê ·Ê@vmf{»ŒàÈЋÌiüM…/Ö#©£úhmg„ƒsFbÌÏF«éšõd +‡Œè+Ö9öψL~D©"dÖ§…`ÓÌÕ£ïÙ½¦¿èGq‹B‘X‰¬@ 'ü!)W­ª×˜—CçXûÕµ‰|Þwj´ÿ©Ù$~ªèðù¢wã#ÑöŒ;¯ß­Žìà˜Æ=9Ü·ÇÈ_pm­aí–ÉâÅá +endstream endobj 98 0 obj<> endobj 99 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 100 0 obj<>stream +/^4Ÿ[rXÝ#j›Ê†›Ì%Ohý»¾ŸàZðH缡æÒèÅÁCãyÌq<Àa£AQÔ…âç(t»n2šù ÛÑ”RD>ÎxÁ²ÒyØp€] çxèÇC9žQßÝqö[¸F"ñ¤:7Ôr +ÍIú_H]«™JPZMºù5Nƒh$Uߨį_z˜ƒ7¶)`ƒgUì({ òv6Œ¹ú.. +ŠÄ1~ôwÄb' w)ðDRÛ»xÇ wü÷¨vú7@nø ‡OYKåmÍ°ßÛÂã³a¬iŸ%—!fAb#ø<Á×'°2¸¢µ,H ÛEÃ"/7€)eCñ‘èPÁ V™”ô¸µœs+ÍûªµŒd²?µjŠû€b]Íò +à0ÜjßÜ^»Æ.+.áéÆr3†Uîì.);QÓ‚úÑ>qäê“òöjø„žÀ Ek=ºÉø®Qn‰7©þvDeÖ S«À;­±()ËY°F0­ƒ$v¾,=€èrÕ ž”4Dæ˜òLs(&(‹Œ’’Q­s‘[$Ϩ?ÆîØžR'a¬—9¥¹[9€4®|ëã¥g«aéJŽ|mÚo,mÑÅsr*<Èâ&áwà ¯oð^?”Çl‚«^ðs’µdÇTÙKQR«îVˆ¤å| p7-1o<ÙÍ»©÷¿ÕcY䶹—}ÏdŒ¾¬<¢[SNŽÏý9 ¿ó—Jv#¨®!‘6æÀxWXq~ÐCïË“…J{ø,hœ„bªôE€û›¦M-Ô}Ì/?Ç‹qøÑZkV~Eåë÷V@vKD•A‡zÀ¥³7i22$coyp#8 ªböI úü¦ð„Qw +=‘sŒÔ¥=¿{ëŽ>)+ ;¶¬«ÆŸ¨Ñ Ë"ò‡fÙ¬¸œýÚð3·k¶Í¼ÆùrGŠ¤M„™$uDšæ-ÁëNÜ^BÓ|JQÁ­/ ÷mº³(}(Ѩ œl_ –47ÙÌéÛºBƒ#9†”L¡ŸÎy0Â`NÚgUš(,jýõ蜱•Oþɯ·†óÚ¬ONmç&‡,Pò têáñ<ĹM›æ縘8ݱO.¹°¤1’ê6‰¤ŒEïëÂZ 5ÚÉ¡]‡Þ pôÈ÷2F¯} ˜­å=pîö{@ƒ5´ñx‘¬ø¼69Öèí¥‡°Ž#6y?³ðv }=f­zÔÆ;ó4ýê²Nì·µ;F#ßš.ó£Ù¸~ÁäY‡4æ\S•c`$1'ùUFÁ@Ï%Þ¨t¹îҸ ÿdvËÝú6+µÉ*ÈmçDÁ¾;J&í*ªÝ¡û\ž :¶àÀÔ§VhÞÜ_ÂÉäÛ¡H~µ‡0“Ë]Û™ñŸ?G‘Û¦ÿÃ)ž(4›íñáåGÜïw¬.ËÖã¦d£Q“¸XPËó]™üæjs×#Ç:÷|”öï[£D"ïÝ,8œ4=dìa˳&ƒµÎJ*á~UÀg=DŠêA¿ A.Ø89/j't̹ãÖÎr°Æ=žÙÏØ¡¸ÁH¸wÄôBZ& ¾ü¼÷JßëlòÆ-X^‡‹ŒÙÌì>¨YX”ÝÑ´U2ÁqVcÓ´âŠ*²U¬öÇ{ª¦ÇÁ7ß)ž‚Q1N}RµßÛ)*Nzf¢¹H÷év£â ]Àг/qãr„Òj:ö²4Ðø8c©j1Ù|𷆤(j=ö@Ö6¸d3 ñ-ëzH+9ÊR3Ù#Ã¥VtBØPMÛk°O÷%€s1}Gjçvg=Vò]7 Aˆß6ñ¶óLR6…—I ‰²HFOb7z€Ä#·ðx‚@¢(° «½­Šæõ-°S’+·ß««ÆçkabèÒû°Vg¶Ú±cEÕ˜Ú´<$=—!òŠ—?Ì–âu"Þ`„ý'•VÄåM~<™Íá=[Ð2=ý‘+ínZ*½K ©a•èvÖKÑxÕ$&[s·YÌÜÈ•¡D™žZËß7‰”²ç)¦¨9oŠûwÐ5#wÒSPÔS—ÊuŠX3ZòúvîýýCݸ‘aZ,öbF=Qho^ú]úö ×cn»„?㘺ÉHˆº»*úê¹áûën¼8Z@‰äk¨’iÃP£ôÞQ«ýýõ—R¿æèñ‚îÃ1˜»<›¾À"ìøÕötl›lù—@Ø„Ã×xʾ²KîjN˜|WÝ~ȧ:Üéþż‘xOP³>‡Ü„&0g–Ôp2ù›OØiåÈÏ`–ªµºš£ú,žqAû;M¶E‹Ú«‘—Ái•2?ì±GeZ1 +b‘¥sV]‚LÔz$>˜‘ˆ#J”3:#ª%B6oÄTe¦!)\ºûmòÅqÏjt6ÛÝKt‰Ð”¿ãÎn3î8m0 qwž¤L×¾n*…Ÿ;_ÏJp-´’õnSØÛ§ùüÈ#:ÑSQ*(hZÅ£a ÚÇÐ=—q4÷·ÉQ*n`¡̊_’ÎéšM–þ´•>#¦ó}[ÿ\Ï4Ðù*„³$Ï PÃ_ }¡g¥6+ÔjÂ>Þ¼aí» +„ÍxZF#„⹬Œ©¨¹Á½Ziöó?¹‡Qâ U²QóÙ´Èxeö=¯ð£ol +pµ™9$ŸÁÔ,T¸úœñÈBªòf¯ŒznI×:}³Lzkb +endstream endobj 101 0 obj<> endobj 102 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 103 0 obj<>stream +_×4åbA{@ËÕŠ'7‰Éõ™F¼°4~šj²=á{ý:#Bœ\´q†Lvuý× cžœ2„).gEÏ«·«\/:¢§ñ£òСùM`.ô,d»¼í[VÏòR™$ œ=.ax@ë›Ô.ا#ÓcÙN·Ü>²AGœ®A¡ïAJá ! ³ÉéaMF”2ƶQØ=–”é„c—/b^vÛî.ˆ7;Þ$üºÙ±1~VAÆñ©ztaÿ§½«áÕ g¼òÁ > IøLPžyfRË°÷<Õù³Šùd]m™»…hœ#Öú*™{† acê“Î?ŠëšèÂMoÓÈj²8[ƒìÐQù°íƹÚÚ2)-ÔŸË÷7ñ8{>ñ¹0‚SÍ{âûÃg³V]íþëVµ>h1-#>"T&úŒØc¯‘WÕ-ôsÅë?«¦!ÀTœPÀW•£¼]ŒÉ°ÖR.€91ñ¥D;lN‰é52v±º¦‘H EÁ<™Ñ"× 5þfØ.yrÈzJ\úÔÑŽ êÀ3Ÿq’w”~IU%fî­Ã9¬)šZ±í‘›íuÝË“Ù4b1ÚT]œó¹ÒS‹¿N¯áaU hoã› ¯djn*¬ËÔ3)?Ø $&D(ʳ=hŽU¦º›l'/Wó ò»2€« ‡ŽÈª¬ì oØ÷QI!I•7ÞY0±F´^&Ør˜Öü—7ú-;QeúÖ±@×É­É1gŽZV« \K Wd‰}'¤Z,=4}p&r‰(¶Ñ˳ÄXO'€—ã§*²0 †k°Ðh÷=¯íªÚwfÚKÚbQ¦\ÙÖQxÌÞë‰ + ¬!o^D/›‘mù—-à:?}}a!*òòVæy~"P‘Î*TÜ Ý  9cE 6e£êÕ2ç™nñ=þŸZ×ϙꃵV6íÍp%a¤õ€zõM—[-óOäí¶D“¢*<ïJ”ƃœ_ZéÖ-yJž ©Mu‡E³¿Þ°¬)zåH¾ Ë.Gª÷VÃOµÌ&wî‹,ßÇ·„(ß[GÒR¡¼‚”œf™Àꎃ“S“øË6<øEÔÝ9²mË*´ú ˜©Òu˜Šó:óãÕöÜô"‚ù‡¥+éW®b]vêÑp´æáÄ]‹‰ŒKøØ4Hh÷¶8¼g­{Dt[Œ¦—ÙÇá}@j”ßǺbÕüÔÖ+þÍP&cc-õ8&5VÛ‚\S™OU­}Úk`Õ–'š)(MÀç)ž1MïǾP‰´ºE+‡BrÏs’+ ƒœ¥”XÍjXîVÅÃ!¾÷°MQ朵[@”³ŒÝ#}Ÿ/ é"wú¡cÊw,3šú½› ³+íÌåˆú·ÐÔróœzc6 +ò #äå²~ AI³#kFnT£b^Ràß:Y¥Ðáƒ+fè‰Åãï‡Ì1ßî9ÏÓ±–§ÏÄCp›å÷ñYâ.ÝÌî¼4Å’i8çñž“ FDØ¢šÅØ¡ùOqãÖ}Cì«Päáñlžöydhì.׈=Nê»7£4™{^l/‰ÀV U›µ`›-ÅÐ’m;m(„ ™ÃU{óëqÎAÒ¦ÝV§Cx€.'k.VÅ£aÎ÷³T`dÃðc?;_6Ýy½ÆÓ“Qzè\ ï¦îu—ºÛˆê¾q¼lð½VÇF0GW•çW‹}ë(ê͉ÊáVÚ¡PçLâq½”®Ø>£¤7räÕÓ/Oºã´“Y®ÌÃ^àե˖ӱˆúO*:®Ë5—âªpr-b9t‰Š¼²‚—U(µËpr˱]7n!ᨷ[Nì¤=¨ñË2Å +ØÏñ…š¬Ÿ+YÀ^ü–ø[ºµì‚.›ïsºü8/7⋶½‡@A ‰“³” áExFÙ¬¹<&_EÎóWŸò™kúv¾o•ÑØç+­eUp¸æßÇ»õ'àÌï¬þÖGð¦-t‡&ïðÔ˜7eht1»B¬+ŽE±WÓ Û˜,çìôÌØë3[[³Lk=i°š`ddç‹[WZàL0²ÛÐ,Û»×'2’ýÇ&¯ô^¡¡…g|ÊÞ­ò↋X­Ö¿34¼‚GGQÈVlë#[ºŠíwàœ*rÁª9m/JÚ Ówö¨cTÝíÃk2*Eç¯ïÆ!’þ¬˜ØJÜ9lÈòqkUnS€è†AGE7L³üSøÛ?¬à ùçOcž|²|”Õ¬ ·"aÙ“dþ£.ïH<Áïi\$> +æБU擼Zo!“ÿ8Ó šÌ{üIºñšI#{9²Žv¨ºDêÚÂ+L²ö(Yß^¹´U¾/” +‚FˆØ=XÈüŒéÏGÃfy«ãy˜›ÙZ¨_ìR¡†0g¬Ú+c Œš±ÏÌ~¯ˆÉa£Ý­äm[æ×À¢ú=-wMß¼Û±$Ë™ÂVÆYc&z´U)úÊj"د”é,S=7Úkµ›Ü´ªó½Ï^HívÙ3ñ¢ïEƒÅð3Ú4^ûeÑ-DíXz Í ?Çìå$AXÕ+|L³zr¿´rù"-ôbƒw#¸w]Ë•§ör +fžËBt¯3âCßסŽhˆ„âÞ¥ÅuOÀ†Ã»ZÄê\å$ýO•O²‚›PL×MÙç:¶šcªðš +;nCÓþ%øR€¹K?%?D}yùq?èƽ&QB-˜:Ø•K™ Î_Ö9Äûß[+l~w]TîfÕm“©ËÂ[4@OU;rBiÏÍ5!¤uÛ¹œ"†ÅÛX„Ù©uçª%ß òLœþ/ È#՜ڈãNh]ÑúHæ Hø­Zú‰½e*­~%AÞÐŽð)ûÆø4ØHš%¶÷µ[q¦éf;°ˆ]BÉDGŠ!ñ4ôšþw¾3÷[ÅZv"–ˆtøô$Ũ§¥ëy‡a`¸¤"] ÃÆS‡KÿDy|Ü {öÀG%ž¿b@]„3µíÊ­Ä{®uœ²NtÃRHgÆX­Q ø«×p¦-±|ćUèø_ (~wG¦ 5×ñ‹cr}†yeòw[ï’. ZÀ¼‰6å/ð‡%2þãFluߟÀ/‚âqsÝsS*MÕw”ðF||RvàOÑb¨UŠ¬ö5ˆ _õ9ã£Øiç£XýrÑz—,ÕC¾ÎiZ‰¹í†Ì¸c!ö> ·f T@0´=L\ ÊðÊ•ëëÀļe­ÓÕ]"à˜>0åQfmíÛ”½ÜY¾Îké|¥Øx˜iøíP¾ +ÏžxÔ «íÜvfdé,MlçnõO™PV~¥G?W¬Hn£¢1RYíãr±Èô=’™ŸÕ 7VxùñùµhWú*£ZÚÿh?g”-ù°»)‰ÝIÔRã½[垇‡´ä +šõÖVÇì_ }ºüQdã^©´nž•ÄË™JÉL° +©×øQ.fLe—\§>*>åI”}}a|üÓÌ|jÏsg±rÜ"–ÌVóŒà†ä—¶a1v.Nº§Ê÷É\•qâQÚ tû™›p­ð¦À#F/7ê“°ËÙÖdò%Š_…f¸6öÄt½ ²ˆ¢«H,$zìgH-$…°J/Óû U$«¨j€€‚쓈y©ûÁ|Äñƒ÷\ãÚšdZmögZ*ƒ3Þ“¬°šÀ«`™M£‰…jUqãS·Ý€<[p¯RUœ§¹pHòŸTwíDBYÙ„ŸÙžTëÚñ.*:×8›Z_Ìm'QUÙ/±¢¥(¤ ½ÌÒöÌÄß3¤ÝªÜ×Ãßä)W ¯’D7p#ÎÍ ½» +$Éû; ‰vb´´ ç«û§ÇdÀ&FÒW/UJ|¿¨ñ­¡ +<ó÷eVh(!¤Èî`Ras9k=1cÈiƒ…·]`htPS\Šž +y„$ÂÅ÷•Jñ‘E›ÚÑ2€¤'Ò´Nv]‘à¾ï!‘GýÔlMØdÇJ]s+Q}°—š9¾É4G[Ñè[ÃþWO"Šj´ð/¬Ë¸´ öTHkÐàåúúŠÃÜüß ðÛóöçÇæ]áüÊçÀÌV‡K}–FFÙ†ƒ½ÑAåýmY‰rÒycÂ~=TÄâg˜ò0¥W[d¤¡;ÐÃW¸1$÷Œ({ÙU 1¼ö'±®ÙuôŸÛp²¶qŠ¡Ì˜†?Ž÷»`WÄ‹Qó +æ¢)tþ)†W(â[ëyMTú_»3ƒ»/c'yTJÄ¢w©¼ih“oBë+£'»Ó2¢šup¾»Î¿`‚æ +†q j¾yšSÄSNKÀð;È4*¥A¼ÊA§5*˜‰×»n‡mUp f£q‰üV¦‰‚ÓH.QÝtQ1ÈK‚å8åñ9|€- Õ;ßw !zœUâÊ>ػȿ˜îErEðŒçâÌ™ž®ef³¦ìM,S¡®BѪòæÔõ}\j”Èþ.…PCà)ɾ£7ÇÈ/ð÷÷éjÑú¸ £9̤" »i F ý-¡Ö-¡ú—À0ÏGE7·ã"C+K—3¾Km_iÎÎê÷É4Žm:a œ¼mì¾ÙO¾žÀèÇê†D S¨Ô<ö[²|bð ®­suÞ§u_86ÉPÝ-ùÊ¿“šqa ¼-“xZHÉ$À=AáõÓ¯[’öª +endstream endobj 104 0 obj<> endobj 105 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 106 0 obj<>stream + »ù¿¥¯…º^ Š&Ì!fúÍÚö1膵ñ ›– êìAPÓíÕ½AZÄ!€•Emh +©ýrËÞp:驃 M¿ý@(“U2Áá¤ó¨çÇp8)72‰+uÄüQ‡ïZyí~C± ¢“õ¤}Žåa¥=Y˜ƒ5GÕ +(ï†Éré_!jå'6FTœpi´mõ[ QÕ ±–ìMwª/Ãîµl‘÷ट†°‡_|°1ŸÀs¶ÿ]&Ö¸¥qׇ-ÕÖ>û‰Æ–↘/qwTí´£°]† 4’4©”°¨_3ÿíWA¾¢ÙdðYÜ›þÓ&|p‘û«ƒÌ áÏ8~pÇBçèŸ Â’Ö‘¨›.(Íég…Ó 'FA¡‰ c·*9Îì +‡+ ÕíÅ¡zía"œ¼~öpN ;xJÓÃÅ Ao׃ë|U’S@kQŸGŒÆ7Xñ9O¨a×^¯í!ÒdG¢ÆÖ˜È8ö¥“_‹MÞ&èÆHm+ 8ïï´’Ùg˜ØÀp¯—õáóº8è^ûïäO˃z@zú‰óõyí+kŽlZ‚cÁk´^>£üŠ˜„éfQšTßµ„ÿᣜ÷Q¤Œ|>J[wóœweá+‚[¶ìG´˜ÇÓïthué…fÕß´š=à‰H!¿°v$ЃÕ6Ø|ˆzíLVŒqŽ¬}fxî±fÄ™Íl*0{©ïê»Þí<ß9n;FN¤ôWŽ^€ +Wa(Îz\à·ªÚû0îØÁ{M7º_T$‹ƒüK83ܨÔ(”Ɖ;‹G‰.æ7ÀÒY]ÀHM˜wuFŒ#a 3‡c7Q2ûYðT´Vâm6º'àÿ3iâÅXçîû¹Å—gyý»àõ²<dTÕ>`:¢µm¤äxI„k²ê vOÅßãêypB¥ÕЙ•Ã iýÞš,«Ešnäœly `†R²¹úZ.´òô?4;¢åŠ‹˜€úÃ$á1iÛd¥à—ô‘­õG0Ážé?¹½8>2µ/—ãÍÒŒÁ0z”÷ÂG…èUm7'GÞ¤g0ÀªÒãÒD¨œ^øÄ¢Ú0C:‘Ó‰È3³ø_ ñ{Žæ”ýÇÆ• ]‘À™òw½©^E³@Fùˆzj{7îç»ä?¬ó›9Æ]ìR´›ÑMçY ÇÓ_°¯wXøBl­ÙpA æ†ÀEå_ÝÞ¼ÇÕmÚå»)]…é¦Mò»P>úhÈJ¢­ëÌp©“.ÂQÀc Ð":dV’!€ë?êÚ6ê}} ¸‹ûØA““ûiÑ}ñerb{Ýú‹p¸&cq+Ç_y®þqUiìê™pRÏ DÇ#Phµ³ÀmÊ-VÿrQAQX±k$rn\Þ¡Îó¾O +Ûþ_§§YKÙt{ oŒæÌJ4_¶ëßó ù¹® uÉm-4Ùzì›TYÓ ÞLéX[)sìšü™EaOߨ‘ئɰ~²ÁOØK­Ú…>/f¦2Æ«ê‚ËÆíÜôò%c~Ï.X_ó‘¶ØÝ™9F"d¿­ª_˜ÙWä@ÒºìLÊ…€‘ëÞÚónùönù¸·®©ß§®^S‰Éœ•X¦¬–¶"O^ŸÊvÙ@<„ð @]s?¼y[3µ5à„J(‹d~§N%»)î°±Fˆâë°½ “Üæ«Ó`~j.›ÀÉ{t¡¬|¤é½êðòüTËWéꎖ²^’ü'3œš‚>ÊþCwOålÀsº2qÕ¤OH™â×ߧNØ«¿­RźcúÐÚ¥‡õ¿„m©44õEÎÔdöþ1m©¾Õ;Í•ÙüÓªÈvï{C-m|šl(~P«Çö§ZÏ_ôX®±ÁB#’ïØë¯E,<"«±‰ùµصÿ³-¦žÔf~æÁžµ®5?uEeHT¸¶eÉïÀ=;l‚ÈS© ʸ%aÓ†ëæ·ÕŒœÓñ²l‡A“—ëŒoŒ¸`ôêeA +Ðý5Ù7ýáU‹Î,•ø4Ø,%`ÚU1u¤„sÃÙ™Ú3Á×¹ŽÙgnkîœÜÃ;Á¡ðë¸Êf“—aW$ ÓÌ1ÈM^}ÊŽ–:uÄ%#ùzkÅ]Šcø4ñÊ«ÿ UëØž”3õÏžÕ´ G¡ŠBÅ“5ÉFÕ±âUô’Q2&g.b£2û0µþõÜÀÔ8œi[ÜZÑ„k[tðº¥ÿ[ìåCo€*'ƒe4wº)‰‡â¶ß(ÔNdac¸VF9YŠ(4VÒ"°'( dÄè(ûEü|OYC3©øù¶þŠ†Ì®ÂÏÉ\§Ž©¿*˜Š’%œnÐʱ÷šÃ +[k[^ͼïÑì­g† OÜW§Ùí—ÛØv*n¬u‡áTHTkñ1;÷„CÁÉ ‚õJ£ÎºÑ²ìS€ù‰#e+£ý¹KUùÛ“Ó˜I Ðû¾Tü{Þ¦ +°ÄùÑÍâê؊jè$ÇX«ÞøˆYx©$ïÊ«ÒOûÅ4ìC™£;`J¡¢æ€c!,€á¢Ð’®Å«säO'À'¸¿^ö†¿¿‚üAU-Üû…B\ÙIÄñG +1³õº£ùrã]±ª§ŸöÌW[Š8²ñ,ÂåœÚB±›Ç\Á(4‚ÀE“û¯ü¯íô¯ð^¸añ þüÏ&éÓF!•!öå›gXÆ ‰]™xMÏÌWþp—æÞP_>§y‘ÇèžÅ;ëÑ|ßc)õDÕàða–8®ªdsþÛ­…o®$Ë)÷¤BBä+²=ÃâU•,XZ1ëI;_ò­üÚ¶Wöçx/4øÊBNŠm¥Uu3l”ô¯Q§J"0ªðÿç½@q9ÆѪ‡¶Íô•—·†ñ u °Ÿ2gL¢ÍñÍxoº¹w䟔IU%ÄyW¬ÑÀxâËæÕªXƒ%+„À_X + }þ®Ë2^­;êâÿ š…7ª>Üß½´P$AÜ.±a¾u6ó)°ŠÈ*Âdß~!üöÝæqÿ¦ñ«x¤Ý¦Ù÷™˜oÍ¡‡‡÷Q'ÏI‹”ä(Ź­/Q‡0q­vQ=’Çl“:,]“}ùË‹»¹(oÚQDû·á$" +F÷»¹kÔ.‹gîÜz›*Àc\DŸvÛ™&Ì„?ÄÓH"œí+Qµr±¶9#/韣\ÿ$òAw +ƒGö$¡œYøa½Oœ+ÇD8`À6ý§G_D6`ðáCZsJ¤Ý×éÝrÊl»q²1 +æÿ±{Msoîg^Xs&i¦}lïudAó6¼ê Qéßí®ß*™Ê9çíƒ4€þ‡#Þ»q ›)Ýeù¿\]o¼V\ä«yUŸ}6èx89gøz/öHƒ–þ!¡u)™ï Y½Í ÔbøÔ¨Ý3ˆ&]Á1Á¼1ãÃØÞàÐB`æ rDIlÑWÝM”(o þeÆ@÷’Ë!™#t€íWº ™×‡—7ý¬ÉCoèλVƒ:1¨Ô†¦×z ŽÐí€Ö¦˜`¥ELNÑ·%v•Þ0c |™¼ÄçÅÆê[ÎSðgãèÒqØ•´…±ä3qÉEx¿jªÌ¥9ú:ÔÕWÑ,…{®fñé“¢|ÊÙí~=©è-ÍÆ#¨8º˜öŠ¾ƒp²2½s#¸‚Æ#üØ¢¯ÛšÔÀA>ŒŒÓ¸3j©Tù5ÿAb#ØKðàVT·nD³¡˜Ò-Ç@ß;ðÁskåÀþAàêãOÒ&j«˼'~*@Ù ™Ü–+=[4¯ËùÌRbpñW™¿7oqâ½sèM[!9˜ +ak)bjd¬^¨x¯ªÝø×H|G®sì²âúÍÌÌöŸXV°¯ËͧÐÊ”ë³Ä¡ íÙ÷ÄݘÂFkŠÐŸæW%ÝsÌ»ù+úêÍ{Š$šÌ5Σ|3"Wj«RŠ¾Ç´/žÆ‰ŒÍÖ³×ùŒÍQ‰. $á˜*$…µ£©ÒÉmð¯Vçïóìžôð_UR‘€Ÿ˜è1àßÝ]­š°ï)»½az¯–öPŽ¿–ø±¦³rؽÀ½äcŽ?„\{©Á.¯ÜáãE” VÁx¾í<öC Cõ<ëLˆP^$hªkQx]ó¼0f&]‰z_m—°öƒ!A¸d³ +=Ô:¸È{‰Sà€1Vœs]Xo¢çq¦f"ÜÊŠ\·ŒJ•¶fŠ¸Äkê£æiqjgû ßíѤøøŒ[,Yº¾\3fŒ…©ÊS5›"ÕWÔöå;¿‹ +ÏSÀ1Bb ³Å>º0ÐŽß]À]5Né¢XqC¯[MuD·÷{áiÙ(—d/_sC|”›wðǨ–HpÐøÞ­aÿ*À¨Š^’8Á¶ß æÖOMqe}FÜ„Š¥q î+$Üb‘¹*'¾Šd8d‘ùïpY<—îièÂS0Vî§îŽ„’}w!¿Åd¨Ñ¼¦C»`ðãêIhñø$‡!VüÍý^l`{ V C[…dxêP"ýpªrÅj©œPí†,n‹GÌ €eLx#?¿M¹`Ëý¥?ÛÚãBjò½‹í;ª'ŽOílzf„¸†¨ü^w®ì!Ó#SÒ×d“a?ò5¦xÙÔi× –T@;;–‰’*‰lô¹÷µÂp†yÙ? Æè•*„fg±@6^² ³Î Û‡(iºÜÈ|Ã8¿V˜…Á˜€nkº§IcmAÏ‘ÿNÄ·Â. Õw¤ÛùOG>oHÙ‹¯ÒàtK›Tr£l¿áÿœ*i‚m%H]C8¢äõK8ðͽÐû²å˜ ˜nk)×™ˆØxòN{ À»qѧ8¡¯Øùx™Ù`ò³”9äéýM&Ñ°èqgZ(á&ÿUŽMâ1åñÐî)¦ëx‚]Ûr~P”qÀu;l¤ßn»ìQ¬ô m @åYý§„;b¯ÏÆJ°0 Âã°§}· ã Ñà•Y¬‹ÔE†HͲùšèMã/Ø>ú›œpX#µ©ÄÚMÄ6XYèý½‡8m$]µ¼7uäsUŒöuƒü:!JDsÂ>0¿Ñ玉è„oílÓ®nËœ|/õd‹³Í1;©“Q7źlÛ±5¹¾æö9yæÕåš æ&[ô½µ-@y}d…VèèºdÐ8¯£qÊ%„ "}ï—{Ì!¶E êuW5RdU«v¾wCÐWˆH [¶´1Õ">}­«SY4Å`õxmøm¹&,N!k°>?xTüðiÙÖL¹¢½\í=f8*Xâ<ù<:Aíæ\4û\¼kŽC ¬£úT Ý4Ì™ËÎÈn=¿Õª82á1è$Ç„á¾qŠ¤›°¡Ý Ïr5ÒPQÞd‹5Å"Ql aV[—ç6Ø;ÛKåïÒ¢àVÞOw Þ0t=I² *YØsö€'ä;f&|Þ¥L¹ÌMþ0U€A…l¢šTÙÒ³VÑ'ìŸOTXæU.¹Ê¦¼Ùæ Ñ•ÃðY:W•îïšO×ͼ­;³Dý«æýðAZ÷Õ©Ë ¾YfæÃÖ-´Æ,p7ÕìU줳m²¾ Î[ õ=܉ê)ó›\;̃zײFgøå‚ã“<ævÉzø­`hŸÅ$'ãÝG‘—®Á5¤¬\CMX´§ß™ØsÅp"N +!ø<ärb/l÷W…É ¬<멯ìñv¬Ó•+‹“:½‹*LDˆKn³tºLÑã‚QúœÅ¢w¡>™N (žˆ‹Ÿ&gšzµð«Ÿth\û-ÂθŠl&—hsœ¡Ñ&Ó`˜%é>sÈô¾¿¤~tÊ°DtÐÉf¡øBSÁ„ŠµûguÔ˜`ÿõâÙ² …¦ÞUÅ7)ÕHc8žàsì2p­€Òsv?’)d„0±# [(:Í“€1~oÍBü“·f*RwN«üãÒLv´ÿê]Ë»¦.7‰”–‡ª ÈWI½‰B 1Êf’¹|@ººb{yOå9:åFôQŵõéP:•h?éte_ûz´(žh:ˆO†x‚£ß=¿6%ÜZ-ûų!’wé_Ï°­ÓB;¦ z»+cÁ õýœ7¦ü. kcC[êï0*ãð€Ô¹4ÒTÂeWÎÕ¸ 1ù¦TÔüá¨ùënËÐ5xñ¸Ã"œ [b(;@K¼X’ úâ¥E:q• {ã[¹å‹¼¼VÊwÝÂ0×C¯Àóú³j‘>UTöß¹ä@6âŸãG‚h&‚ 6Ø+Ôüüs"ýÛ4:ªÔ›s;ù5ûÝå¼B‘ß}^{kæ¬Å2QØN$–;N‚Ü-Ü#* ¾’ëyXã;µDÍO®q£’°¡ò{RSôÇGMÍìÊÒ‘Ÿñb«@ÙyyNô¦!÷Ñ×3@æ©+§3½ÍŠly‘.ÃOý éååG }kÕ Ž~ߣAµì;“lc£\¡}ù/tûë2æ‚.ý |OûS~´átĦïïŠúv¡ÏÇ_«’y…LEýáˉuCžà*Q´.칉Iȹ„Ap€óˆqŒ|ò÷ô«¥Wa®\¡Óu{Ç `ÉÄ@ô¯[”ÍÞéèÝi[l SªBlÛêE擤0Üš“´|À»tAávÁD{—«¯šï¹~a¶XâͳÕÌùb¸Ê ãR›•:­yàX’ᛲú²üYa\eÍI¯äÛ‹#Æþ)î·*/J©0p/ù¸èþ’çV<©õ¼‘IS*§ ?ñüã,ÅÄq›ž©Vç°µ;›?¸å[CDœÒ Ûß÷8£¾©Q¾4?ƒÝœ†ãù 1Ýê%ÀyšÝØbÁN£¥h%lo—swtàC i1RO¹-& ûDUV³ø}ª›nyÑÁË ‚³3ËIHt Ahruäu…ø–êlÊ#îÇPHcz¬r'aÛýí ÅZ⠣Φè+…KÀÌå‹ãc¤3å˜Ê¶> }•ËýŸ˜|Ê êÀâ¤SΔ«—Uól›m(A~Yͤ£WW"¸ØÔ¡K'ÜÈk€ï™û¹aã\kÞú”äuÑ«Û"ìñLÞH8f@ù—šaq.oñBmÎC¬fH 6ܯ?„ñ¬¬ÌH¬Y º™%н·'Ún7‚ï¦ú¢a4šÎ§ÎBä?æ²QÒýy1f9 Â:󠧻~ÌÖ©,€ˆXÚU…íÌÖ ¶IæZFà%OQVae÷Ü>†öÊûA^3Ê‹DI›æYO´39_éÎL 1d2Q·ÀqP5,2 {z“Ô™Ÿ¼Ù>}à+Á›~Ç;ë©àþ$vˆüM~©33¤ËgŒp÷ž¿÷º£ác;ƒ`ÜhÔîþ`A·s·7ßʔީÄOp‹-Ük1‘|öËÊÖ—ht†ä3ôêĺ÷•žµ¦„}‚Î 6~túð!¸Ñ8M4‘Kô¦1@jÂ^ria+Í9ƒa€]'üˆ+³>ùR„p¿ÎTwÙ•_õº÷|Nê#f¦N¥¥iEµr;|¬©öÚ +Xªãl˜§¦âÕh$*­aÝæá+‡Û¼éã•2º„,Xp»âæç殄õ„Ž ¬‚ÉÀàý€&z+%ùþ»8i€{-@v·)tó±ñŠu.-ÛávµZÞz,–uOZ–g +endstream endobj 107 0 obj<> endobj 108 0 obj<> endobj 109 0 obj<>stream +ýÔ¡&­QÉ]Ã-¥‡y²í¨èžàƒ-‡WÀq`qC)$uú„ÝŽíü%1G©káG"gH)È=Ê°{\¾Àbٱْ·,ÿ¨äw÷%?’žObÆy +endstream endobj 110 0 obj<> endobj 111 0 obj<> endobj 112 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 113 0 obj<>stream +¤5 r¾:8Ú_6½/8ïX I”%Ðÿ¢3†˜¾2QY²+·n!ë÷ó\ƒeFðreO'òŽ )£l1#×–h+È·—®}Xy¿!‰çQ”K\ÌÝq$Q«aÉüþÞi.iSžPªn „Æ_•ÄXH !£{ž +Òp¿ýså¿¢QHÃGðÔ× ÜµÒ`ç’*¹“ôd,<Ì3è •Ÿãe¡ósÄÛ²¼ÉµŸhl6™å`ÕvJ%.·AwÛë€p ô 99&€º]1½Ø0= ¨š<ß«§n¨°ÐÄr›ù©_[‚:è8=0‘þ¤ _¼Fëíu62c·ã’`"nNÌÚ§ãE±×bùr⦆±¥}džl°ؽ0€'m$ßHÉÙ0_’E¨œBû9í–”µÌÐx;ÁN¨ãu~ú©Kî¢]aB¬Ÿ®Ä°õâL¼]Σ“ÜÛ —ðñhû™SU>—T}gÝO/f?«×€†3šº¸Ò û ©øø~º²8$Û0Å[ˆ"L¯ÀX!È"¬¢&ÀÒäLjÔê(F¤t)ÿwÍ…jÞˆiSöOAG0ýCK>báë·L]Âè–w +‘`‹ì_OùSuv±]V4è)^èèxnò„ ²pHï[º–=sž$¨XPñ¼¾«==d’°î;'¸K"<Þâ‹‘5v<ð÷ý-y›R$AAGòÐëp­)áF*³Æ'œ„´¬ª6ЈÍø¶e|µ”3g…ïz¡ü.PßFÿ§Üü£­$›G —fœ&bF¤ÚõÍð˜ÕD°H )°ÄÍõ˜JžùIî:ƒà¹ìáZA¡«7fl¿H6NW(m]¬$ÛœçÁ¡ ¨Ò¹ÐSIô‰7''ßT×­˜rZƒ`V„àð¾tÁÜh½¦7Zi¼3FAm Ó{¤z‡"~ÅzeÛF.ðå¾LáDFt#*•ßÊ|.Ž¶Þ®âµ›Ýpåíž¼.jË*Y»<#Ô)Úò*c’ƒÏ°Që í¬ƒÇËy¹pHÿ9•¤™¥ˆ¡rLÃtÏxŠf¯¥¯fÏ™Ùk„n¼7‡´|X{?ß„+9¥qÂÖ,1¬ùìAþ™Õ”2äxó‘äþS¸ÂO²4b“•~¸‘Ð;CÜ©º?ŽæHlÆk& zhÈVµç¹‹ÛÌJ{žÏÿæVQ•Õ%Öý~Ü(»çÁ^òßò¾ÌŠ¤ø‡I«!ÿ×Fî¶ÐÐÃXZÛéj”dÞ:ÈÖ$î¥W"ºÌ®Uò‡6O wâcÒÁõxÖ8¿}#[BÓÞÃM xm/D36È®¸««º€Ú«iW(ˆë[`¤ZŽJ„ î*Hy©ó8Þ*ùl5g✔­g¹á7×éëÖ›ÈÛk(غŠÝ5†©\]7ƒVŠ“ö5tåumy<€$¾Œß[œj^“XÃAãéäˆÏóìdi¦'ù±0P‘ÅL£Ç|Œ.‰Y™«®¢'{;c.6™ªtú¼M§ähÿCf°hFÄG‰düv9u’6^(në(Z“â(hT49-*€ÿc~‚_fÇ /ktëBýDÜœÖ}ÿ9ØðòF1úƒ?yöîvêpz3tuQÙCôY^æ_ù0a£•4ÔÜfï@yÁŸ¢ &úºÛæÊŸß±N}ˆà¿s 0ÑÎ@Órhž:ÝQªjÁ]'úëàFY"MMñ’Nµêÿ>”f`±•ù­…,¶/ärRþy¨Ãø'6Áu6î'ÆlÁÊ64°$d`3))?49µ+žª §/}æ "µ2‡ß‰„éP~Ö›#‹y¢a©\~°ª¼”¤é£ešˆ=Ñ!TK×Ì^J"Õº‰Â&Í<Ô«Ÿ—íï@6Hdn¦”Gbù¤×¬ÿ5FB»2»€­r¹ :A–ýEhEÜq~M¾}µª]‹Òœ!=M |æ±pûæáœ;Í7ÉñÚÜ·×-†tʲHl™µx—W¯È`üºZ#ÎåÐÃl2øì›þ0É^C¡V–Ša£_[Fp½Aݶ$²0"½&’ñÂGÌȸu7`ù0‹âZÃ%ÙG°·K/LäË1àûÀ­ +zÌ`QÕo>!™ÿµÐÁÈäŸGʺ¤-u*ñ‚T— ¶â1Û¥§¨ÄaCÝBZ-4µ(Ö²[M‰ß]»Ö3Š8†­ZÝ7Ñ™úÔöw€Rf=v`²b›aÚ¡ùƒ€S~Ÿ^5=c ÖZãœ}ÞAx\L]f)™¥²‚ŽÀ$ÔÊeŽ?Q$|ð߶Æ£4²Bü»eJ/Cq¶†“¯Û ÏJZ°ö¬ÑhNኈ#L”¬›{HeæÈëäæuwùŠ‘NWO·“÷,õTaJo® PõífG”çÓ\OÏÔEÍ]& +Ã͘qʱªéÉWw&Æ,÷àgùÿxq”÷Uº.¤À!ÁæÅÃ0¿Rêþs„P½é +¶Û½Pàöª=zâ 㥞NÛ¾å +ÓXKÿ=ƒA¤²Ý¿¶kuÒ,[€Ö<à ¨×ÀkÛwÒºÊ9-bJO ÈýDÀ‹xï×îQž.0ºõdX)íW43£åJ½Ë‘UÔa·U[K ý-s:i" YµdÃby}¶á ”žÀA=%´gðlíŠÑ•]8©¼˜ÛÇå§$A K¡{HÊ PÊ`‹P4Ja¦8|s„˜¨Œå¬„×Ö›=a«÷}t²7ëZF.ˆ¯5ØixàÔµæ€VUýÆßUäÏ*jìÂ} %…_LïÂwýk²™`[‡|’§½ éïïþý³‚1€é– wÈ«°ºÊ…‡Á†ðuQž¹ ·ÆríÏm0Ž½H‰Êä>ºùØ]žHêSÙIm‚{ä}³Åª­Qõm3¼‡~Œêu4¾ÜÅÞ:Éô72QÉXLü±#·­(Ðãa&Yïy,'CÐõ$Û +häBÖ· ?’ö:TZZ¤S-¿ +"˜-6Ç$UiÄrvs$½Åu6]L„^•qDœÐ_0µ°pn5" ý` ÿÆÄÖ)m ŸmÎáÍMº”Œôàê•kkzR&Åç/uÖWOÜT‹£à +Ùè2ÕÖu_áF¯z†;Ä£9Ց̉ö²äUæjÇ%¹5õw=¿‹©˜Ï¿:1õËAÕšÊ wé‹K³/þJ IÑ fÈf‹ÿ-¹iôŒâà4øÆI-¬Þ–Ï1íy—+ºõcÁÆ̺NÅÖ£ËÁAÙ‚æŸËöè–ØÞ»`†ÄëcáÐ(Ð~ š€©l‘¢“§ìü¯Ìï ÁdžUe«rVžÁN˜+Ðj Å*c®Òmó-KB»0àt<i=F6"šê1ñ v*Ž1æœ]9؉¬xÁKª/h¼÷ 3²Û¯ðv%Dp6šF—¼ÐËcÝjHÄ©™ù«T +E|_»¯Ä4.¶1[÷y½h` —îÉ^‹ûëþŠpÛ@9¡Mfrl‹¹6„+í´¯ÃJô‰@ N4½&6„¸oíÍÏ/›*s†êÊ–Q?M+×®YCGÚI_Vƒ2¬æ*s`ùV]m&ãìuöé¡z +~UZ‘·%Yºe1ß´,åÕ£IÊáÈ.öOÁzŒ©8‘ˆYbYUuà§ó +k܈Z"Y)¦™Ð%ÕÆÝJ‘a!³ŸJ8*ÑGð-¾Òòº²-‡ ÙûëíPeƨªÙeׂ½t˺*ñrÂ%Kê±.1}ãç²ÙÅÀ>Œu0,·žÉ.8ÛN³ˆ¼Le¬-øGwë$½G×÷ðy ]g¼þM'sò†äY–&[ªàyì9 Np +%í°U|XïB2;Ê.dBBë Àª7Äå •äkvk‹œ“;¦ï…Z{âÙê—žN¡á5¥Ÿ=°ªkb®@${ah©¨¤õ±š¨Ç•Ìáé÷¼†yc£…cÍ…¡mÚrF”ð!7z%á@jYøƒ!ÊêßQ”ÿ$U]t]ÃÁ3´c• õòMA¶¾ÄR¹J­niQ¸Kƒ]ÂhÑxö éšÆÃÜéT ”¬m,?@‘àQ5þ±joãO­9½þ¥²ÀÓ?걡3¯2ýÏÿ|ƒekÑõªHÖΨýP š æ„°Å]Àn¶F RJqçI{€Þ3¨<ZjÓ•Ä\çwŒ¢ÅgùY£³#ÍÉn°¿2Ÿƒ­ñ›µØ-¼áèŽëIZ1·! +ʃÉnb¦£zW ˆ@¯7ù9/o²¤ZIøgo””;l|>ж©$öàwZ-ï½ìÖÉ}ËoCÔ¢C-×ÀRXá†'à§Þ“Õ(¦yKÇÒ¨ýYˆÕð32ß‘<‘¹+C°åµ¯{”§·ÐŸ³ž‹®Á¿xû4èIú‚2çâ‘»€³@2iÙ1 BTªŽET¯1 û¨»ÏZZÎ&Äò#zHg‘öÎMFmÓ˜F„›ê%„î~†?/Ó@á‘aW¾Då\Å‹þPÕ"f"·´xüVŽV¶ß?rƒ9þîõ™”MP›$U²Ï_ÿxérál„”4,~Òã÷¦y»×ã7Ç¢bùÕ³""­í‚Éovn7¶3µÊç§J#n†AäoeNhe¿6°™K3D§6K“à +?¢}x&qªÿ®-á4¶ÿ9—Ní¦ãáìø o¶ÔìŽR¦Ð`euZí3Y×GkiŒ}-á8’WÏí܈Ҍ¿ˆ…nU˜ˆí@õ•Zf"Âæ[²K:£gÆ>ÄiVl +¯2‘†ôÜfbáùßD²QÔÕ¼8!ç+}@ì°€¨E¿Ž1øþŠÑZO‹òï€j +Ø•ÌÁÔôÊ^Ôô²¨ +»gÙÚc.æ]ÁÓÄ!ý¯Î7ºÂ•½<äGU×ñ¢Ó…üß·2…I³ö_8Ô0ÍÀÂ~ã_ûyƒøÁ×(>ûúü6»õʼ£^v–f¦ó5+Wæ ¹á©œ¸Ø´tq‚9”zõÆ1o†6rÚg†¶bÂ@~cp¶¹„ƒ=a5$hòð½’µ(pqÆä9ƒi±ÛŠžã¿¡ ‚{l%g* ¼œIÔC¤Cù0WcBœSíM™\å0LíŠw&Á•¾%£?hŒZu‰!ÎÖ2 Ö|)¯ufB/\hÖYb5®:¬_fóe^Ê!úy[ܨ.t!ÈDí.‡œæ7²‰ Å].Y‹´òÊd:tûþYØ’/!à¡üRÔd¾ˆT‡]V +endstream endobj 114 0 obj<> endobj 115 0 obj<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageC/ImageI]/ExtGState<>>> endobj 116 0 obj<>stream +ib4ZŽ‡Nëã-‹ µmîFJ͇¢>ÃV4.nZ`ã…î³é“ÍÉzëK'òW–ˆæ®Ò«Ü ³5ë¦W:ÄŠ¶lfxF °6ù1  ‡Ÿöä'LÑšlÙûŠ¯ŽI4óL7IºÖõ)š?¶áO-Yó8D)ðéi£°e-d¬™K¨ðÂV²ñ.’±»ÍÔäý|˜´UÀój‹,Ɔû‹T¬¸økÝ™ l`A€§»îþòŽÍÙç!кÚ/ÙƒP2Ü×Ù KLç[dæ¢ç$ÁüEîgU¿Vš…`Ûá;6R4 þå‰å[¨žÊ8)Çe1[‘«Z2 º™d®eþ-˜‚X˜´aw%x-}y1‘¥‘MN¤‰¸/ìš•EÒ©Ê~ m™²Fþ›6QñóàÇ `h6¡ {ÉQ?öÊcÉ·„ik3¾ËˆµrˆÂPD"d°`??ºÐì mó2sÕu +‰ b$¾$p>åËf‘V H G‹ “tüæìùi4ÃÀ*‚æh™ÝÝ–·Âb"¸ªž’¬=—ý† +*ªÑFQ‡&uŽ™%¨r€ËràwGP¯ +©vøü‹‡Eщ—eÿ.¥a&NÇiÓ‚çaÉÝ™ýrvÞ,åê¯3?Ü SëžoMýŽÂG5o$ÏZ.AßÌA¾º*¨®4šHI;†“BâЀ'¼J?–Kžõd’šm@h¹Ø7q"=£R°©/œeÆ Æ6U¼5ï¥mZ«úÎù»e†0Î3òÍXW7—‡ŸaLàX½ð”É)›ô ¼«ÀÚ6lå]ív«),l¶ùÔ‹DL[º3e­ \½+ß÷®Ïö@Ùœ€TýCáckxDmÃ0ļ¦4”{É[VËH•†@ÐÃb6pþ†, ?™­åÞ!e©…ñ:üèrèPýFi¨Ò“. § Î:ƒå“ãÙñ† `u†*lÿ¼è}ø‚¹eÏù-}PïIê Ž©ÙŒÇbȨÿnöÒ ‚›¡ÍÝd“ôv±"7õ(@û-3 iü¶£/ºÇÕàBœ~<˜Æž&.É[š)0ß,Šù-¹ÀC–ô3e„xB4ˆˆ">v/:ö[~ÔYZ5[¼ € Å…{~ÁN­ÿÏf³/2 %®÷Ë;h—CʹyŒY®äòá* U«´ÍÝÜÕ„¬ð<¼+Уl2¶æNÑ0[-ÇhߣVjZ´\TÝc=ÚŸ€Øk¬¥™X²äf\G•KGù G? ‰—Œ¶6 ½MkêÅ¡ë̵8¹xÜwÙ/œï¸è¶NÛKÖ#pREH#ãé`fdûKPý'Œ”àÚ̪­µl:˜88+ápXêÒa»ØµÄþ“ˆ}|¦ÛÊÒZ{;”·à»Ç* ˜AIÜÿgüÏæ†WE˃EòyNÿQÈÖúÙfd˜çfÃó6G×ß.ZßýðK´d²þöØÏYdzÇÍãM€>;ë;û¿â÷2EØ×8Í2L(pÑþÚüè6•_”G–Ͼæk4ds‰õ;…°¦qÃì&š|ñ¾°±ð£12ÍG¥üòâ•ö@u‚0Îß÷•ó"ÕƬÙ¹郟vÕYÚ‰gëŠ42€‰8ÕÊ,NÃËqúeù/NhœÛ_êZ 3¬xvK¬Ž¬Ë©i 4D•U²{rb# é‘Œ° l²Àžý¡Aío%QüðÎÄöÐãVf zB|û…ÔÊKÁÆ/S¨<@»Ž¨0ļÁ}îí‹}4BGÇ}yÆ4­zLvwÐZè îˆ a;H&&ï~Ñ¥„ÿøÔAp®sžùÌ_@R»°Ù¤1±àU°[ä‡X*¦â\ å›Ñ×Ò¾@ç9Û9Ó$à™»—ºƒ d +ãÂkæZ®á¢<¡rÝðTÆÐs&v²K%§Úq ‡¦ebu2=Τ–ÂâÝÀ 9 ÆÒ,;«{±«ïû<ÅtPW2ú(}Æ${Àn™6³¡%T¾À.êbDg;‘I^%hzo½P_‡C· HOi›Liã‘æ+l5v-n‡¿¹Æ—/¯t =²ã¨]W™>ä×L®éSµ\Zÿ0Þ{g*ÁZ¿ÞË‚ +] ’iuõ§s¥³WÝ¥ˆ*Ú£}ö2Š„ €©)9‡mb”©nÖ† YOyò.ÍžRâ›Ý!Ì•vqR4•K\I¯ƒ¦;=°ð ½Á(q¯g#7üš ¼vµw±ÄZÁ‹çü¦ +•ð¬œ¥#2Ã_JÅ讯óó·eh7uìíå/÷xª&‹qò‹·ëMöìŠPÅZ-2è׋¥𱲧 _Ö Ï ÷²Ð…aíbhøÄ6Ù ½1_úäq5ÈúºÍ_†){ wú`ßOl<ìêAF(]t~Gxû+©¢û.ˆhÒðÝø°Ph>H½¹2/â"mŸ¡öU2{qî8|»1KÚ³êŸ:.T²a©„`çæÀÊ  +¶c{SûŠšfÇ;6i(Ъö’º…o>úÌíNTÌM³Ëj¦‰Í8ãxrrGs>¿3¹Äú›¯øÄ»š­{¬p%užw%if ,Ï?Ý!×ÓɬGɦ%â¸×C—V×s‚Š ü§Ò¼«®(˜x¯,»&ÄPfŸ¯ ‡mÈ<–“ più†°Åø +éQ§!r¯Ú•¦ÀÖ§+˜„te”¥µ´'#´(”&CBD? 6ÁÝôýþþpå?mîÁíû¤à{*†Ã²pÛ{ZÈ졦MW"‰NΚ/Ì‘Õì)¼¹ÍѬ‰ÁÕ/¼:S*ÂÙ9K3´’Ù¶² +¾B“ûû‚õÿ§n)Gè¹džh:áÓ©~ÈÒÀïSå0NÜâÏ‚îQ1­=LàªÉ†DB5Z¶“‚ígïBï È/}gŒ/S$_<¾ÝÁàÿÎŽKÕÿu%äƒ%]ºe~KÙðúåÛO¿Û½\M³ÊýÓ¨Tâs£…×ê ¼/§Ü¤—(Wn*}Ù¶”U'«ƒžxÉU³GeÍ fâÕKàDÉÆ+Ú¿ð¢8ƒÞŽ;•—;>U+ tá¹dv»ž½„ü›^¼oÞ'Ùa@âUdQD+ ×u:¢áµjþÑ{7Ó·wPÆH”¾‡ÏÑ»ìü伌½ÿˆ[·­q~kn¿ŸGóuX†àï ˜ôdËϾ|¼ôIû¦-¡?B/Èù3Äødα|ë¿W¹T|Oòo52Y@¥\CE½¦[ºMmœÃ/ã·€¾XuÔºM8]v +î¯Þñ5ñ¾E3Ì—0x6òE­¾Ú’‚Œé¯CsdÇüLVB(ÙM‡ñZúþû77pf} >Ï2,ص±±ß1áºÚ;µ¹èùp˸´?’ƒnöî?Ô•óeiÙ†Ì[pi†ƒT.Õk¢–VBꩶIfÔe2 Ü„Úøcl}\^ʯcÅÓô Ý À.È?13йEÅ£´<Î"]ÿ-„u¼öûsâ„0.x<’­ê3ÒËd³TtêÖŒAïÜÄ(˜ÃuÛ™ùF°OóÞç;öÙÛƒºJ6í.5[}»n¤·XUŒÊ-Æ ÚŸÒOŸ¤<‰¼èwé /lº!é­ª„Í9ÅV¶¸vSÕNþ¦÷h" («@ä?z†–v”];AG.¥!Ä=l^—,ŽøäCê Ë +i<½ÃM û¡j^bã…¥¦-àüœîÊxôŸUŽöÄ€Ø^¥Î‹û}Í(ϳÉÕ´£¾;:ÈïåN?Qf¤n -Éz˜›„“õ6nL·¥Q.‘á‘IœùÉ4°ƒÍ’GàuF'NU¬0#‰™)òñ^¯gÞ4=ß©ÝcVWnû!ë“hWøùZP©ÄCœ:ÚòÇЇ£~â2µŠªð Î#AÛ;b†ÂætðkUWfY 2‘DXöÑx $ DŒS#îxPÇúÕÖî?š‹ÄÖ†§(‰7„ ¤f+ºMÇê×¢y½‘ø0Ÿ6ùøO•ìªeÆ2ôÕ5`7Šây{áöuùÙåBk[û°#‚¡Í‡¿ÐnŦ 0¨qˆ(5–uåOWž\y݉§YŠú<)f3ÍÖ­&»e(…hòë· ÷M^×N+ …TèöXAšà­°2¼¨ÉYMmNJhßpbµàà´Yy_é$!àÚ?(¨£À…„Oâ¶fÀgaêU±ØÞrTf´'òLâCß'1ºˆ“#‹”y j‰7vFDVe¦¬!ÿuO×iN$ ›“¼ÓÙJqOQ8seXžÁN´ž†ðŽÒ5ºÏUéàðykOÜH`=ÖÓ¾º£ÚzB¡pIŠ[Χž‘u„ néÊF²¤AðûÜQ‰ü)gÄÁÐú‡¥æ¾€ÓÀÕ¤(_40 F'Yó€ïdÁÕë_Ä9ÓÐsìSÙA0CHÈ¡Ë×qQD*¼}ض¦!0™M´$×½Eó8(©'aÃjT-¯Šz´¯~Þ‡Ó0¢Y·UiÛE«iïWi‚æ—4ËÞ-m=Oö¸’ú¾aUD–=¡úͫȃ‡°vz\@ZÒ^I3²¶˜98þ%Žk pW]uÐã…¦äµø]±Òº(º¿[×d¯{vãyÒΚð*‡ZØ\Eh®|¹Ï:¹’öUUc&ª.ðÿˆãã>ö]Ù~õ-ðUp`²ÆHq +ŽÅ3Ç·_ªg÷œnÈ„Ø\qˆ_ž}×øÏÔÀ#dI#g-6e(Þ¿¼°Ý¬(€úWO¾=ç]üiû°ö¸´HÜÑì6]ùE»—’îÒ<ýÝ-Ÿ» íšýL4C?½~;ToƒhöÁ^;Mæþ»>…¼`{®Ù:fºgQ“úO³v‰ÉÈý{Ïs§ÿ¯9`£<…bÜÎL3¢º–=‰%D4¥òÍõyg”õSºk{^:Q«Ì03Ù=2Øu,¯<î.£Þ2(Äe ˜Þwø4ËjÅp\PƬÇJ¦oÄÛ ðn;‘‚^ŒÉêaå]ÅÂáÆkeÒzwZñÞle·øm¿B?²:Q‚íBÄ£C›çU)i`€üµ“Ñóƒ:ßWÞïýObÅì¥)·¹.õdð^u¿eäø.!Jï ³Ãf; +endstream endobj 117 0 obj<>stream +ßVªÌB>(ÓQœ€`H™&BƒJþ{ƒÞ¡Á2†E¢$U@‰¼ywòë,v­ËtÈÌ»æBÜ'ŠB¡c¿-Où·o𪳦ÇÚ+Û褋ؤòÕàÉåsÅÄ(C;Iæe·=®¨V‘—Ñ<¦såùñ%SbU‘`fÔanùhOL‚>,ìl1n¸Þû`ÑÒ$©‡ñ°‘ŒZgNÉàwI÷ò›6`mÃk¦‡EÄY8ysŽƒ^‹•¸”õ‚LPãoõÍN ³NòkUÙf—·¬ xu¹×R;•} +*ë0·$>‡Ü_)¤¤XÕë /B%œN‚2'ãÀ4²íôÎîÈôcs _tò „ߪì°:)(‡–ÿ¡dVHKwSØk3Œ‚‰Ò®¥‹h$®$jmXò(I>™åòèõ8¤,÷8})¨AÇê[¹ˆ*A[È$!`õ¤ìÉŹ,«7›côù¾6;Ïò +endstream endobj 118 0 obj<> endobj 119 0 obj<> endobj 120 0 obj<>stream +h3&è :ÕFJ⪰ üÀȨڎìnøbà·ÛI¿ðŸýfZÉGÙMƒ¤WŒ +ÈX{µeÛ{¯좿#’^vAи SúÃñÐÛ—ÏPý/ç«» HØ/¢ÅZúSmÖU<áÃߣÑù’ÈGͲœ×=ÊL|y)b«H@W«èF¼]Æ"ä§ÊaOœ+V÷9t†"¶Cö^ÜO–¸%õmÖÀr‘’ÛSD‚†ÕiM ï?L† +endstream endobj 121 0 obj<> endobj 122 0 obj<>stream +ZµýEä•ó…–­1Nós“òb“#oJ‰çÀl ÿj!Ú‚Â4`€nµ}Ìk¹¨çN__7å.Î(ª6‚Ènà80^ÝæHC=ö‘6E2'Mîæ&û ˜lšv¶¥ºöiÞÀh¯Ú–e¯÷ÇrE˜£= +Y¨Ϭ +Ô#}OvÅ£#ŠƒÍ=îŽM%4Ãv!-q0S»×H^½‚käe'2‚ƒüèJòDQ&ô~êóŽ{ò>stream +7N£Çõ$ L ¾Ž÷‰HþJâÏ€:“ÊR³Ö ^[¤YÒ$Ú$ãW^ƒ±š¸ÙË14ûNúÅú†›ò´L?F·4hHòSgÛ²0–ÏF²è$¦|4#·‰0¦Ób±…’µ{Q•¹Áxß´®ƒ +hJžq ?±òí—ºúgÇ^Ÿ8"Êü¹Ô!uc’XðEøD­oÃƱdç»‡Û åú¢ä'2ê—ìÌ.öIâÚQ´£3)È•˜«9œ£«”FüÇ´vNƒføÄw8|„ù‹í ª[™–ä Ï;í§aüú®•²c0XûRý3`ãîµöÀÔôTz€„ýyµµéÿ¡‡Ýâ(÷ù +endstream endobj 124 0 obj<> endobj 125 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 126 0 obj<>stream + ÑÁ³Ì|‰éá¼ôrAªÚUvŸ“ðRN›“¢ªþ™ü…idÑwfñ1¨Ä×ù<’'Óî«>¬"7`´èLk;«,ÇzY¯¤y ÓÍ N5®WÒ‘.Üa¥Œï}èµÝI–zÑR²ßàëª1¶k¬VXÑeÔ’X¦ƒVb±ú'Úæö ïÈ‚ÿeÓ…ù6/ˆ„íõ¡LH9}Ê;ZbqÖ©*p`Þ2ô岕T÷…ÃAˆ¼dHãmÒr§w‚.¢”ÏO³¯…Æ`7|k:¸ÿE©"}¡©ê?OW<½–Õ¯¹qÎ×Bµ˜ÀÙ½w1fbªpJð+‘@bò6æ0f§æò¸ ¥8•ÌMÕ÷ÞšgcO +>e†„6 +ôÀs“ˆHôÆì©0]aUOËTÞ€5'«%§Yêï¯$u‹Žþ5›“¡òL­:Bq •0"㸠d$±U³èÿpÜý*ªÄ(õ)†ú•˜É®RùGï~:ÈQ#Ï%p°Sê´V¼ÿSöÅ›ì‡;-\ôÀ<.ŸÄG[dCÀ6U{ÛîH%[éPÙ7®¶ó½G†ŠYÃ#´ï94ãE·¿"Í}ë£î± V¾ù³#°-â{†êçjó 5¿…’Ç›X…_û\Fœ²‡Õ˜ÍáÝ'ik ÓÜ¡«ÇsE¶~BF `êL𩹥)þ•õ‚ºD_ t‡±—ÿ EyX`šæ±sXX¦Qö!žì§ë_èÎrú£ 8gŠ¬þç²S®¶žõõ–8dcä¶){n.” íJ0[.ÿ2#Êûƒ¼–ªIg‘7å^ä½Ìîº=„É®˜) jÌi%tí‹…dñ¥¾|èh±•ìM4ElåoEãÍbëLGz‹!Ö.8=]L (=á +sW{Ë¿¹šÏˆËcõf‰ÿŠwMSsoeòÉBÌ7DÐŽFéÿIf¾ ÝÊËms·`í•<­0©oü~fù±†]›¥ ^!fóåÑPñVâÀ]¾ +%•”ðüÕßJQ̧ü<>v“i¥òø­ÿ0íh1‰ù[ð¬[œö.)“*ªpYêž¡¬Îøù?8„õ¥AY_ œÇH}Ø¢*L—Ò{5°Ö‚o¡z‰¡„WiÂR¬4~\øéwËÁ}çà`‰i6 Íä•M¸/ D›ÁER“‡tDÂ;v?.èОœÕõ¦=“ÿgùߙ囓¥™´.ÜFþáÖñ÷N5mÿ“™`scSe©F‹¿*¼N€Ý¦’¾ãG4H;¹ôã†úQÀˆ²1€Í•³iÔ*H¸Âæ=æy@tP³G¨_ðÊF·¿µ´ +Ì#ÉÂþwFù³Âû“OûÇyüÎkúØé‘€]£äZa9Bmv`Ý‚±éqâϼHÿß#Ïõ¥ÞPêO#Š?d©1¾…Ò`ôxÜd•îG‡L¸ +•Å”2î¨!ˆ¯î[YV¢ñfï"¡Eè(c"!AxA&xß–Êl÷Wx×í.3Ѹ›!ítÐ;ZY!Ï«xyÜ›¹a±;v ñ«4$‡ÿ]Ü>ie+?ûªÞ…ùÐnHÖŠ"'²C$ÍdUQ}X}%goi(‡q£ùÕŸ©Õ2BżçMã¯w´Ø +¥ˆÓmŽ¼k" Œ5‚uº(Í×Ý'}yg'BÛÆAÅoúØì7êˆwÚÃåKô 'ó«Àk|¸“\»}sržƒ:¨‡ž p¼øZ²»}Ç×bEs¼Ïaþ`8+n\‡‘¬2âßîâÙ\y´}†µäd†Í>séMl¿Ì£ôóMiÑÅÑ~P]T´C(âzy ɈcջΨs@F$„:Lyà"ì7¦m±Ë¥úŽ}JÇ8{)uÑ+\ÐÜ7áHÙ….·²©Z-ÄXð©~fµ ˜z¹F gSÇ&Ó;ÀV BŸ`§h÷ü1/—X©Ê¼ôÞT ø6&:†¯*œŸ¨p›’ï«?žÍÍŸ=9»ë€í ÙGÕptÀN&þA9µ|û†K(xÖ²Ï.U‘‘[Bè(âÉ{®nu‰*}Q\)€¡ôµï…ó¬E€H½RÖûýBöx¢ïsŒIØB‹sÙ±“[-C¦I¡?ÈxæâN®\ºù”„á(I¡ŸýšºJ>á/|Ø*%»€î³®q/fe—<¼g4l¹±ç°´ +endstream endobj 127 0 obj<> endobj 128 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 129 0 obj<>stream +×æ)±°¯é«k6’‡‡Yhºžéão£^³ÌxŽä7ÜNBíDŒèù¯’$B®h\$1åM­ßB®?J¿þ·É“œß%. +ª’}0¤õ:¥½xnÑl‚ “?¯!9‚8ipB1ÕYºaf›Ù¦ÕúÀåãp߀-1V¦s¡£P~¨cî,ªßaÇ”*ïè+Ô8u8çUb¥ áš±üx“_³ÖFûÉ…›,ö!D›Ï²¦!-qŒøóFÙîÂ]îÜI·1ü‘ Zs(ü7›~Œ“D9†‹¢ ]¦Å­æhecÅÈ6I5¶Hf5ÓJW<>";H¼Šäâ°êõc{\XÙ{²ºÁÙllƒ«½;g(…Ø_î¼” 7•õÔ¢¼nàC|Š…Ìè ÈÒ¶±…ègÎ\£túó…I‘·²ˆ4FîÄW´³­s¶™]ý[ÏW7TÉà¾1 :Ê¡R½tw#_•v{kïf6€7YFRÖ¤²ÕywÀž®“B~qÃB‰ÃÜå}¥‡NoZo¢„?íš<_Åà.í)Ü›ÕòWˆ²l›©x'€¼™)>¬Ü;Hm¿žªï¨.M±[ÑJ(­Ô®t#>œ9¢7›r´ŒêØ?M­ás0Þ£‹½ Õ™bË¥ä0è/®÷"½ÈxÀ5t|Ìûâtò”{©,wò½ž°¡€6˜ž>Z¨q6fýËä@–Ÿ"ýæ¸zN¨þ/Ô ©{&£Q¿sÆŠ3Fô=DçÑ¢âØÛÚcYÚg¨ù"˜¤t!Ï,Cîî·ÛùÙ½-”0‡l +X6šù6…ábMíçÓlj½a`ÇàCWΘÌg)ÑQj÷4 °ÚPÔuâéƒW«Ç“¢Òa3Îr( •j{…ýÖèó‹pWaMäæIÞ6—!%ƒ’<¯™ üpµí–¦ýp + ÑÖK½{1È&C0¬NJôþe3G·­C{§ó:…–›ä†§mkpZÿ>)¯ˆpzÿ•¶î +zÝ%¦LCMoâX–HΦ8ÕÀT­ÎK)ÑL´™Ö,€vû¥.ìÔÐÉkÀq/ýBòCU$ÛbJÇÚ'ù=ùž&ƒK/+ÚÂSðnè‡ ¡A¬+Q€"ÎG~“Öz*Ç +Œ6â<çí$œ*$¢`[ªI®ŸƒÑSëáalË’¹Z)‡"u5– +*ú‡PGrìrØ)1ÌC³¨¯Ox43ÖêFuô[pRž &Ü6Ç‘ŽGÚøÓ ÂIDaW‘Ma]qJD/»¹ök@CfΤaJQpüûñë2Ù`øÏá +&  éõx°›QOÚ£Üah¥Ùáz/ËiÐDôÈyHáÀû‚8 4¡Ž+ z¬ä2Ø>}ÖX[Ûp1Ä’WD•Ê Ae·¶Z,)uÏ@˜ú +õÛxp¹cßîÎ?§Ún¬·æ¡›VÛrþ d“.éKpÿµáäDÂ<[5”¢;vÆŒ÷gNÚ'º±qG€]ŸŠÚŽ±§fR±ãÜNÚœ¼Í¤ ?É8£Y¢/úÖÿL¶lBª¥9¹9 +¯eA‡ÑÒ ]\m¦e­ŠîK:9ˆÃ–Ð)GffD3'÷ºoÁœj¾á*j¥¨âäNT½U¥W†çUž¥OAu¯¸ +Oýù‰TD)Üã„IRt>ìY˜'è(˜ùž×Î3â}ÉJ r‚TÈQ•‹ Y.}CÁ'¥¸ûˆ&§  ‘Å;ã€nÚªýÊû´y[ÍÖ’dú\ÖFçÑáã]ßþ%³~V=ùè9Ô<5ˆõd])ìq–ËÕó÷áëiÞNFݪ +¬`ÊXË{?âK˜Ô÷Û6X÷I½¦"(€(+µcLLú¾ÓÉ=VS8¶œg!\ +îNÉš]þ…ulXÒÚ…|`èK6a™ŒÓ±V†Ç bÂñ°”æØj"P1QïÈg{Œ}k8æÛnÙ%wÕØÿ<¦/ Ug‘‚P2q ŒÉþ*U‡¹ âG"bˆK­?Œ3aÞy=o¿ýx#ò CÐEê4*—Z—¦ÓT«â2ÑãÔ4h@eÇ#¢Í¦/-ÁœÆÃ(¿_k‡ÃØ[SäT‹ºé?ÄGÕ °L¿ÔjH)y’ƒ%oV¸)ü&çViüqþM‚õ((ñD†>Ò¬i‘@%ïE«og5’FTíU¡ÑI£ç0v®L 7ÕaËH?Å!.F_­ÛDa>VÚ˜³b‰…DIŒï–Êè—¡Ý#…Ñ BUú1Ð|ÝSž2RÛäî(˜ÔÖ½ ‰=‘DH•± +€SIƒïŽQÌò§tç:BZýž¬6ƒ9ùf„XM¼”¿½Œ|¢ïØÌí :È7°ã»]þÍ}TîIÙh¢¸Äpåßj´J ÿ¨ËfÉ(Ó*ŜŬ,Ž¤;iÚæñn°²Ó¨G\²¤|hÞN+ïpíRR7F> á&C¸ÇHÉh;ÒíÝõüÞ8Y—iM%¿Æ`·)<OgÓÙ$Âk™ßÃÆúr½€Æ”\öôÕØAíÞÍ;õ³_l±*è›Ó…U ¬tP/§lèÚêÇé­ŠíY2Ž×ͪ2uø,ª\­Üþœ¼;œº~¨Ë ÖåíwWl@“œÞQeˆVR ]…¹ Dö]AÚåäCqJK^£*ªr˜òH=Nåö* äYuÐÆ„°­E15ápYôÔŠÙ¡%C°H˜GË˽¯ÜœÔ°Û :8PöÄ»QøäiIìjMŽe¹`l"Óúïû•CC:ð¥w',aaY¼°U__µÖl•Þª§Æ¦›çס[9³D§+^+‘¥ÓÈ«>:± ˜• ¨§a·8øðõ@ÊÞ DÝPöWˆ§Á¦J3#j&ß|"ª;Ø°A¾Kø„†²\¤–PfBo·D€þM|çBGsxõ7çý›®éÖx”Â\U,îßÆoþR½èÎö)Uª +&¾þΗ{¯Ò£CÞg¿V«œrç:ˆ¦]Ž¯é6Rémc½>"† aÐÎë»Ùèél9óÜðjKR¡©0óiʧ¼¸#â’×ÂUÌñ¥-)gÎîi&;µ'\/"}…Å,fÅÇãÀ݆²—!&cµ$ÆRå ÿeç"XY=ô¢¥ÿµƒ{\X:å5Åó ÙÊ`µqû;[W“[¥kÈ\†dà±ÂmÉpr–}«bãôeÏžFÄNÀ©'µpþó.#½œ^pˆÍª\½tü—Ø.‚~¬®èÅ|„W‘®"¿ƒ*çã( èØAô”yüØ'Þ@<ŠM¢y +`ý½ö¡ç6VR8?‰öâ†\B]ÃïÉÓ–õ‰f ¥tíDTÜÙ¤á=]<6%o{ZL»[ø¢Ë·"]ïnŸ:ÛÎ7ÖTþ)µôÞä°“œ¸{ÀëfÂbèŸÖ…”ȇ ­wýaÇMP\ +ÈDœ`9Ë êgš·K÷rƒ·ÌÛ§ÛÙ˨cÖ£9f¸ê¨Ç¾x°í•0:¬÷*wÑ\(òÛL“ª‰wðGàŒŒcªor1O¤t8-ÆÌ$ò±t“p´ìvßdQÝË°WëZEAº€œËÌ7&YýX[°7rÙ†1²,}s@Êô%Ÿ±$ßÎ[Ÿµ*øpZ§aÉp÷FÆÜg³A¾HÒrK\m¤IE—¦­ºmŽQS» ÜKŽºÙ*{*>èp€Üü~¾ò$‹e ñ³Ûsœì¿ÿGÐRjˆæ§¿â@»Ñ¡ˆËLBlàEÏ4|Xד Æ©#Î8OZ³H°`96%Ü#'o½BîAWP¡NÔøNˆ1 0--"{\¿‘[»Þ#ïsï­Z¸A*3Š&##¸™ú+‹qnž°õ3×LþFÜ5îM¦ä'Òü?Sª…Éqw…n³a’ÔtouäC®G7y3a°P––è" .—éê4c–òúÅä F ×xCªë¬ÐÂq®?b¡ªß‹Û⑼bêBnø›ò®¶1l¨Œi~Ü-îÝKœŽ³×©F)âÞª&ý¯¢Dµ-ÒÖ £Q°X‹x=>ƒ sJêìþ‰´™Ù“‹yñœyÂ~&¬¹µ{ƒ…þ\«y +IÐÆ–Ä{kÌZ˜hBQö8ù–±… v¦Ò¬€è;Æoö§×¿ð¦ÍËÖ) ¶Š°ŸÅpãÜ kNÍ*Kb +‘^ܹ«ºß﬊ y%4# ^‰ªú¯FþhÛݘ—H/m\Ú®k±*´ +øó ‹„ªM™‰›%Ž0 +SÅÊ—*kî…r2,ìjŠ¨Ý?;mkÜ?öÁX»÷¸àj‡ Ñ©qbuª=Æt¡ë•Á`fåb}qk¾zSä¹…Ò,…Õˆ.tŽæ€<&Õ6”:Jºz¿ß7“<âKªGZ™X ¦ï¸òÁÖ^=½½”bÃÓž,§4oÓVÇZ=g4¨–.Ç÷‰lÅšTñ€Æ$¦_ ò?ƒÚÄäÛŠ¨ ÄîŠ!Cmi—Ÿ¦³fmßSt£f×¼òJÈÇ\$,Iy.%@ñÅ·`1b@ÎV‹º<¹ãh—áÓ]UîÓÐ`'ÔºÉôã 'Æ@bÿãLjz/•koe1ÍCt"5q}1Ÿ9Š&=|D6":©ÕïŽ-ŠJL-­ +endstream endobj 130 0 obj<> endobj 131 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 132 0 obj<>stream +î0¡>CâRŠ0b¹‰EŒîyþío3¥©»¥|»´ ]ï\ø÷KÂ} `ð˜û:ûèUiØyj¬Å,£—ŸèÕä¢o*ån‘ºóɳê_˜€VsŒ!jy¨w”³xgZÂN}jê]SË0¦‹‚¾®ÊÚÒ—`òÆ©EuÌ”vEOc/PüÍAø‹ða†¸q+V=ŒÎ\a€@æ}Üf(úù,5ç(wGÅZóí¤e„ŠÉCKÍö?ĶTbðâÙaK9¥ÆÀÛIqežç÷\³ì>Ú ö41Û +rÌíºdê1Æ8~ ëºmZÙ=äáÂ4!}Ê%bVY>*±Ó¸ÇIÌ®”‰{u;z†f µ L¾5þˆ|‚ÿCé¦/ÿý/dÎ^uйZ‡óx¥9<Š› Ñ¬3ÉÖp¾ew¿Ä)» ÊÁþй`ª¸Y‡Æ礮ٛŒ*B0á ;¢oËáù‹Kûá|wÏkY’õÕu?¡»ì Gÿ<ΰ³"x>ØHçò#ÚN OJɹ»(¹€…OçöªêiâpBú±’=ÙËðFÒƒ~—á•—öS嶈ŸËO^óôº†=E*mè"õýhKK zÑDÞÄguWºH«äm“þZŒWñX« ¯Rø¨€Ør¸WíŠOûe›ò×(סvg«½mªÇÓõ§uáJ¼æø´øŽÙÌSh)Y˜G„ãGWf çÂÁKqyÜûè~kõ¿Ìpàá}ÜêXpwb™w`ÓkXì‚Û˜/[㊙ܮ ¾p +ÝEÃLäÅtE^Ý(óƒSbcŸ=0o ʾ%C—G¦ß“öCV5Éër×KJrü2íK©+ļÞÉöiB»‹Íõ°¢xé˜iÇnÃ[<挢ŨýG!à>&ÑMQÚ1&èÈ)'>R™ðtëE—À‰ØOÚGFªçJaÌ$–±j +?¾KLª›Õ Q$ .§Í{¤º0íÄ ñ.…—É0&ºƒòrÜSšÙ×^<±FуÌÁà!ýbÎDít¶9€x‚²T¥G»Àƒ¡]­¹±|¡Štf²/áJäàH`‰kA^zÒ×[»‘0Ôÿ¸]GtÄ8%É3ˆÅ3 ¡Öžá-N_ì¤m>F°e¾ÁppI4YnÂêíñÃÞÛù´ò®²8™:õ›Ü›– +÷.ùÐÐ'{'zJî2áDfgñDt“ÌŽ‚®7Iˆ~ï+]¸¡E^;c H(aMšñd„²ò®³M¸tß0â’èG¥%zÆù²üëYŒ]7‘ ¨õ´CÄlʆ'Ñ_?´…ߟ§¼É Ìü§X®(’õzFôö_¿—{LV>Z¹“É8ÈMÀ0|QbŠvc>ØV/MáDÁÓJÜ[€Ë>MÇ=§Gç o€ =ˆ}ud&µ1—®^ …6òÁvL§¥‡©'¥Î››#9Íh:o³ "¥®Î¡+Ç’(7…Íñ£¬q³•Pâ?u1nøû „1ü¬nfŒ¨Ž¿ö`¿ …Îô€9Á€¬PBvë'{$oïÃçœíëD“ô—äÚáž!¿Q]fïÉ£ûQ?!$IzÛÄî3y/ãã£+ÔÃ[QÏ·ë¡bÀ•ïbÃŽã°æ–vCtmÙZܱcßSóýâ8þh‚n›‚ÒŠt6U—‚OôÛWDqýœé" Š²/u/'Þ(9¼\ö×FùxË” =¢Òh‰Ç*Û¶1ÕõsháœF6“4Ïç û˜°²÷½EÅÅbÃ8ÝY¨Î? äTɇ,ã«6´:Áh¥jg¬9yëõ¸i½dt T l¾¥ÌO±ÊDYÇà'Í …a¿ÖÒPƒ³Ö¸äó²Iíƒâ"fì7[ù}¡ŒRxQ=\¦“ŸÝ×Óß=–ŒÇpXsÚTC¼†º—)ÿÆþ㸨@Q²'A&fZ\!‘ßr2ÏM¦êúV?‹ûÉ4¸ó7¤·Õgù-}X„aQùF>·W€4ä \Ô¶ž†§»_ñ[~Óª¹ĸü>ãìËÍjý¥Nªd·c]_sf,¥LGžˆ¯¹Ö¦bæ +èL#ƒÞ¯!”¿­ß]o°\3èÀô8 K¿h þ²`iuUWõdTÄåèbÌ[Egd²t7/ˆ)s·…À+/ÿŸƒ¿Û–Uµ„avùu^©£ï±d¸)âd?º`´²3Ù+„Õ*ÙKÊ4,:ñÕáqJ uÏüÈû/rW5€Bè…êý¶9%½[jº+ÇŒªsg)þ«^lÔ`í@l¶•‰yÒUxu78_ú +Š(ïl;LA‹?bUƒ[¹®£·øYT+,C C%ev·d^é c°f¤4Ôa† <ɧŸâü¸Rh’mBkŒS–Ç8cÈæK"šuMʬìuŠãÓ‚&À­7õ‹¾^ˆ þ3oü5ѹò·ñÐÍ(ùqÏPæb„f'ó„úú-¸_9(-uŠ?;3NépR•E +Úô_! ’÷²™æ^báuÚD+Ìä Ð5IIÌVä=ß—õ¯Y@óOMà aö€ÄüyÑ +]¢-ôg•5 ²ŒÆѪ +¹)•øîÅÝ<ùUxík€çb“°1hæi4ÿÅû©¾tÊ(p—{Ó¸m Œ?÷áȾ ct‡r²´,JTWÃâË€[v1ƒ ÿŽ üɤ1&æÙlm—PˆRûÎXÕæøùù¨Å¥1µš†ˆ´6JÀ%ìЄÁ1—fÑH°]¹Ýô,=¦v:ʤth +W™\¸'°1äÊ´a&–ö#›\Æ&Zx|Q`ñÁìP°xÉÌiÔÁæƒ JDšxÝ‘e1Ÿ¤™&¼¾€b˜ƒýNlZ¬R¿àÜ~*.¨üŸ*¸nXÚȵä6/¨€6AÑÚM5¥ŒÐ û>Ä^†ätÙ¾‹¦›0-çð¶ºÊpÕ­÷ ÙfP4è W’<5&õæ«_¤éqô!gº@Ú?‘ìRA8XªØ•…ed´ÐY\ãI›ê1ÿßXbŒM-'ò`¹ê9å9'áê¨QÒO‚9ÿ[FBãC¤)gi<^œ.Hq9/ŽÊèÃrVôÛ_1Æ!÷ej€‡×öÒ$‡K°U vö=_QÅã †vš:¼¾>Yø_±¼†–ÆäzT•B½þ̈¤£¯ºlc„BëüÅ”äæ!°XÇ›i7'rΙ£ȉ·Í'³i‘ܳÏ-oµwGïße»2Ú¿<² è@~g¡M‰S›$¥:àBb1ܘ™ ÜkÙر¦—ʘEC‘Û€KÙM¶oØ©ªŒ0Ñ­èë8’PÔ´tÿ{ ñäÁ+è“uv§tõ׋y­U§•ÔóT'Û9_ß½×Èpö,øàåH'1™Ï˜”'\ÊVïÝEBÑ<'ºÌ¡‡í^½³ÐZ]WtI«¨p©¡=Ö>ïÜî¹NSjT¾~%“×jËö™rø5ù;FZÐ@ä[¶1ʱbóëœQ„,ÏÅ_-Öå«“t‘Qª€,g-Pú#^ýýb‡Íß2®ÝœõžŠNˆmÎJWíÆ‹ºòÍ-¶~‚ä8£ÆÖÂþ]›sG¿Q`?*÷šnC·ÀIs]’cø’(Lïw`æò`ýÚWsóG›åÒTIFŶlRnW{CÚW* +8Æi é4#Åú0_Ä7….SµžÀÃ¥)Œ%°-x àòðÿ;᜽ÝY5DÄsEŒÜŸô¤Ô#_÷(Nãs§âÅ"¡#;=éöÊWX4}¼6JˆzÞ§»‚YCê"†$fWSš¤{ß³«ç'ü©è/,÷1 +>´wèvRÝ'h©ý[ËZ…}WV7ºø¼ÒÁ˜,ä¶gL]œ¤âUÇ·õ{ ðˆ½ålü©‹{2CîùŠ˜'DB‡Õ)¥p ±¹l‹L*ìúsÃrñiKçì+›îÏ +û^tld¯hÍé·Ìê ­±`Ú¼RïQ¬¯es”ùײ¦g¢B¿ÉËš²ÇrŒ¬È(7”ÈJõȾ,ÆLÿÿýàùÇlÆeÅèfÒ¿ô‡G^ÆKbL{–ÓQà nNËŸþij7Gu 5XÒlëαÜnÎ! ëê'‚ðȹZÿygš'iaïFÝ\“‰™-Ôx”Êš\ñ×±ãªwy¤{EU¯7êîÃùPÑ³í¥¥¯›Ü ’&ð‘W¨â*£0\à2ÈmÓ&1„î¾!0µuž›ŽbôŽiEüøð|õ6›=–sU‚ø«B} ¼PvZ-e|Ã6¢0â³…ˆºa’À'3Šó½ŒàåÐl.÷=…`L ±IÇ|Mc!Nl?„ÏFñu"}#¼ò +Þ0‹òDú Õzµƒz+Š@ŒôN¦{”ºÒ1üaÅ1 ÜX±ÏxZ-ŠPk Rn¹´Ñµ-ÁåÜj6rŠÚ(p‚÷F÷’âÑÐdG¯Ü"ö3h#ç3<µÞ9Çpºaÿ½ýüã:ôhŽÌt;¤Øq4éÔVŒªI0ÊÊ$êI­Çf§Z$ ü&«®-n×|c„Ï¥}d'ÜA6³üw½ad5—uŽö¾(ïHJ=ßœP +ªJÚžcŸR{ºáéAjj vWk’3ÐIp’JpT$èËľò‹ˆ©äص9¦úG\7rø–`õá‡Ã¼ÈæyëBäDÉbñ¡þº‡‰TÒ’“˜ö(œ\ß„õ¹`Û -IH° kuŠLåm!½¬þ,¶µ./œ^qg¡œ†=ó$(Ù§8cªàžDä6Wa¤,Ï3¿·=éï¼^åO÷󗹫9ß1äX­¶ŽÑý[û·:™F¹Ú§ñÛ”ó[8)f’ñâ³Zãr »[h÷d#7 +_T¬±xí³ùㄦjŬíç›™Þ×hœ‘.q:Ü‘ïñR<²¶á^ŒØ]µ[ä¡ $r¡a±¨=xðíõçGü¹!¦ui›˜h0\|¢ŸBï¼xg•*0àºäpõ)Õ&Ó}'Ñ™àÀ{áÆ°êªÀmJbÈçó3­boù¿0iD\ð€Yüjã!GÙ~&ŸˆÜ¨å±ëT¼>4Ÿæ¢ ]ïÕ/«ÑÀÑ&Գؔ &â«ù^Ãc7kÚœ"|²yÉÝ°MûÙ,~i4·Åïüžg‚¼~Ô´‚ÚRZè´)€f¿/£¢ŠÊC4W þÀ ‡ˆOgÀÞo,mÑîÈ90}6KtMÀ3¥ƒ£.üº|Ùã¤ê°?OÎß Q@öÞu“ú´ Ž0m{”Àj€Uꈥ#Á9 R%¿î/¡g.A‘ 4½Õ#|]ë¨^’©ß“FzX%ä\gª¼ÉN_ˆó.ñ• ž¼þ…Ç=%¤³iÑÊ¿´¿·pJë@$5ægsœRÏ“ý¡ØüïÓ˜¹øQñ»³óø¬»ÓVù_lfé«í± ¢\hæyu;ŧúâboM +endstream endobj 133 0 obj<> endobj 134 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 135 0 obj<>stream +þŽš–jßñ+¿µëô ¼œ‡žµî3Çá½lúèD úÝÐÖÔŠ|p; Æy+µ¼²A©62 R%UÅTë —Œ‡I ÞcDeršU4–êÁ/…³Ù4››/wµ"ÿžVa° g §½æ¤õBÖNí¹äGú¢ Ú+3±öŸ2ªî¥Ð Ø +:l¨}‹DÂl§ +ÇÒï¶ä.DÞrÂÀ¾[Ý ¡Ë`ø††À¾Û<Ž¯2·§›ßö7Yãû¿¦$(ò˜Pþ¢:…ùdN:†Ãfꜵû¡ŒJâx9H·˜õxvƒ9ÆÒˆ¸/r÷Óƒ_ q*¸n\üªÀ¦µæxðÖ´E혻ŠMú³ ŽQ˜¸ºFƒqe¾ÆÉÔúiö&k +ÏgÎð,cpÈÙý±"²'µ¥¿(ÄKf 0ÂDó,¡Î᧺^(IŠé›c~žán¾Ô5ôÛ<Œ$_±Ò¨KòQÞÁ‘ÿHoÁ–`/k×â.³‚IŠ‚405x¶Ð¹Ð6ÈÀ€ˆáyöÛàg„ +ŸˆÅÐÊÂ$¼f [¬ýQ¬Y>-¥÷ Ï;bíÿ¶e¶b¤qò(ë'B +›:ü¾æšos”ü¾Š¯ã›ƒQ-5ð€`íSó¬ÿ«DgS¤òSŠŠfæ­_g +Æ­ñˆtÆâ›}YOæ}´6µ6XìˆÛâêÀœ°Asv—¸ÌNÜ«ß= á4xIPuÜzò` å±2½[Ì‘ •¼I4œTµÂÝÀÑ}w¡ ¸ ø•–˼JÞ M›+µc<[ˆNÇœŠ¥ñ‡E¢ÙìV|‡²ú¼{¸hº_rÆÔ“EÖ”ˆž|¹jUb)¸c¼ƒ´³¨¤âNŽZÆ&`Ë«ý%ýÛÓÛö’€ãŽ"žNßòd2Ù1á°YSwb] K­]zÖ.w6Ùžpâ +“¹¶àœMâ«äŠe#mÒ˜öS ¼©UöðõgŠ£í@žh&RIÐ 8YŠ­’R§ +|¯8a¹ã÷`ê#­eùÅÁŽÅ·,¿H•R +ü.ZåSµ¼•¸Ð¬UK*“ü-Ý@í]ƒ$kè—Ôô(P›.D…‚µ2{a +!EDLÎh!Í…²lKíÄ¿“K&€w’ÒG9ZŽFþf/3½­|FPîªËo4À¶‰¤ +`Ç€`ùYeh[Yxƒ±¯çæÙsåb;4.°°4Z§.l!‚Û‚aAä=;â©û7˜e®”^;Ô¬!ïÞ¢ÁÓFŸ³ ’›LþµòP^þk–1ûás—Šœ šžÇSb$ªüLõê<Ñ“Š*?ƒUƒCèri”úÜ ã0 *Á"zA½¿”CfPìâÑ"ï1éÖà qÞëAèí¥xkV^œºäû–çmøhñB½cÒ»[MIîá3(Ï÷e?~eÌž€:éüY×4¼À䶥º¶¤œµýàò| \«V›‘ŠªÙá¿›ô\½‹­§•"¬Ü¢ŠÅO’-[Ô3=ó/s—ÿ§ákIw±fM —•¾§&®Q‚?É‹±}J@éEy„â-‰¥`sdZÞô{æ7Î×Ï~CêþÆlì¥â*ÜíE3ñvëcdӇM‹Òu%AùÚ& Û”q{R37y‹®¦÷¥ì±¥Ûv zѽÞÌ +[wXå‰;­Ä:Á@ˆ¥ ¢« 5-ô< +·ßÕ Ì©Â†9å†Q¾ªÈb9BðDw½ÖzÚÖ${YÿoÓÃä-yâZ·û% tkGêü8¤ùÚí+´¦³Š!H央óÖvÎ…¶ý éï¶^%6Ué/3bêܱÿÒœç¢ûñ½°dÃt|“¿Y€ ûA÷éz¤›H·0.÷‹w|ƒXŸH%¸ŒZoåM&üA7‰ë~½£œŠî7FY‚æð«Û ã°Ó‘ŸÊCé``–ÛϲCF߈Ñ*9Sû¡’Ä|ïÀ»²ÊíÌx‡§¢ºzN¾n»d;¨•’@¥÷4„Ó†%K2ƒ|o æãMîãm~^ÎqÜIk@»ºÛ6î¢Vj›0Tž,¢„YÍ¿Äf.q9¡Š9&'åcWLèûÙÆnÄÝ%½:Î7m¸_9,g+ œt'|žvÜ™ý­ãÖI} |å¤'QDé(‰ˆ²™wXÕ'[ª6úüwB×ÞQOMokô­·¹ËMœ…&`+ÿm{(îJèP çî¨l¹áyœ¿äüÈp–NÐ0À`3b<3·OúôXÍWÃK©å¿$-jX§ GÆW€•óRà:ÎzÖš÷îìt©²_hía‡Åѧo"¡™–¦œ´ÑRGç¨ñú£ÛK9„ç3}yä¶ ¼h¹DØÙ¹™kçã÷êõ0ë`ˆ=#ÞXGØ÷ ³áV“Caµâ[›bšu¥ÔK*n´'SüýßÿfÚˆ62“N4µ ×_‹CNQ\VÌ*ú M®bï¡ö,&nlFi®†.  SMM$ ºpD_hø6õT瘗ÊûƒE B ët.곃]Ð[Š¬€ø¾ƒaä:Ñ0šW”`ˆa~OgÚ!§g, +oUó/87¢7Äcî‹Ñê÷±óŽ·Â/ü¿óÈ z"ãÕTÁ0/$Žn!Q†lEr+x@aW9=Û(+íY¦½UQÏäÞáøŸ + ú.#i‰Þ6\Á^¸æï©Œì×æóÈU†> ++{6*OÉí âA‘Ü-ã¹Ù½ó\(ëž­1Ï2‰„ +¡ë‡õµsb{½ï³. ¦áG’Æ6ÔMëw‡ž ƒÉ©ÇV†mý6£qËŽ#Ù˜?Nµô;ܾÇý:‡€˜6Ð¥'ÅeÂvüs¹|+PV˜7„×ýÙÒZZ^R•Ï·òñþ2uÓÿQrC»×æ€Jt=rס%+ü=Æì:50œÿ»C-áB£6¯—],z«ÇÉÚÏ·¶.Ë Âó|ÂŒ¼Ï‡ìràªbfã)IQ%C&àÑ(ˆZÑàöR_>©‹¨·7ƇZh2,²t!v^^N(38´¦R2"Ÿµ + G…®Ùù̶ù‡,%8§ÃåûŒLýWF%›¿T‘3)/b?4Ô|4ÚR“àjAK„8͇p§«3,k«+"ês»à–£ˆÖšårt–èŠ/W-úx1†šì|Ö T;“ãc@ˆÐ³,á}$¼4œ˜ϲK¯AÆQü/ýn–Š›ÐŒ]˜(¨ +ƒ\8#]KªW ÍŠÝ‚¢Ñ²[ǃãÆÉ"o5§Oã×Ë䧄Ÿb᪊¥D%°t“BP1,ÆšäôÌÄÒH©£ÏÃ0S*ŸÙáÌìt-gùÌXfé#/ƒ“RŸØGÌ­€):z¤ÒË#Ò¾üM'YµÚ#Ì—”øÉ?XÓlkÿñ~ú‘ WøH†€ïZ*Ëyk.ÕÅ™u3ð¢6Ó :3}3ùó€I^‚ù7e Y«šC0òQ+„“Ö€,Mäp:…V³SbL +endstream endobj 136 0 obj<> endobj 137 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 138 0 obj<>stream +·LvÝ÷´á׶^à¸Ë|(VÕLX)аÄw‘„2È« ø¼5ÞŠ± bÝ#‰î(ö]r–·Ã4 OKyÿuø*{ÍT­ß†ÄëŒþE¶ Z©´Y8™¥D8ÈC9x8UhüÛr•ÃÇÕhwš‘ÇÝ’æž±úVYQC¹’;¹Üð*uÎäºñêÁ[»ãBò£ÓŠì1õÁê`ó?òòÆêy-ù:ûáÚJïj$:Øb—ÍXMh´—Üe ½(0}.`ÁÕÈÍóE¯’Ù6ô“«ÔLcu'ÂIñB$½ ¸Õ÷ÒÁ;LïÀHQØÙ^b²¦è +×Ò—÷âÅÿia™U¤»UÙ‘‹^Ÿòµ©u–¿L§SM´zÇŽz½šü{bé|’ ~Gt¾\kðu胞jððcžaNKŽÐ7Ox¨åPš61+±Hr¢p"ŽfsX•>ÍŸ=‰ëáêOî„æ ’Ý`¨MHe~Õ‡Á4¬wpxñ©ÄrŸaS#Ÿ/îHd¥ŸhÀ+VìàdM^ÀQ-e€tóæqÀTr0(»’ ܬh!ÎYòÖUEOl´nPÛn|@®ò2‘UWÕ ë€9âÒ‡õå4›8ÀÐpÖÃ8Àv„;8\2úËYɾß*[šFT°‹„qŽIíŠý (¬ sO*ôÙì¡Ii,ZotC6HíŽ!L•QkaÝ6ê‹Úƒ] =v¸Ùž~X˜HIõÄ1[óÖMÇopýņOú'ö·á½Zç|qÒ*ðYä4pô7›þÑ.`œfĘ…дêÃcäšM>QsŽ3@—ºTUN¥Ÿ~]„>/Õ‡kUTN/HµûÐ[ýúÔs8¦ÔZ•KϘ`mÊÓ’ïþ÷å‡pÛ¬qAûOß×ÿóeñ£?v#2çé­;ø`$§Úx&RPìÓU╉’;û¬ö{;b(«öEE9yzRý*¶³1qrRœO5}ÃYÔ!Tñ[f´ŠÐã>Ú¹C uQÆ^ú OwŒ†Ùèr#¢^ãí;¾|…ÿ™zX ŽÂuÑ(ñ¨¯éÛÃú6 D!Ä{Š¡ÿ&,:´D¹ÁÄök³>Î,®±!¥HÅó·”݆wˆª¥Y¥0ÿ(¥+¡4„·ÙÉ;æo!n¤"í­‘Tâá ô ôz 0ßÊ;òKôðJòæËX²X­“£Ûê Ž›J–üÖǙè<k—>–Y"ß xê.#¬÷ƒÎü2†dçŒ\ÒºŠ =£ÁŠ5Ð`g¨' +ð0;¥Nj<;¬2­v~Ÿj®"V +gÆ“;ê9•w- +endstream endobj 139 0 obj<> endobj 140 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 141 0 obj<>stream +C +âîe}`ò®î#HÑ÷<—¿¶÷óPáp^¬“”6*¡v:'K7~Uö!Ó‚ʵنG+ “ùqÜkÐÚi‘0@ma·ÊgpAìá%Ùƒ½‘0ÿ8‡iù/¨¬e`¼JF¶O žö0%sM›TMú},Ã) +æß/кíJôMx°ƒGüîןãž2Š‰I>O° ÝbŒCÔE9$¨G$Pv•†½À½Í"ÃcSGퟞ84Lqe 2×âŒ"â‚¢û}1‡J­%vð=Òþ7™ëªÌbŽ'ëÑÉõU¢®=ŒJ¼Û{E^ÍöÓ^m†YêW³ÂФï[˜#©”&—ß‚°FøWkÄ°Z²Œüð&ä4 ã*FhŽUQ×_XQ³a)%¢3ç}CC×t©UY:±æd /Z}7Fxšzñ«”ùÁî¥-×ê+‹‰úÄɆV¸UCk"ùˆž +Wùë%ßÔZrËy×êM·ÿú“ï€ñ›Ïó™Ð²ØF¼€¼C¾¦™Ýë–ÙjË…yÜè:¶Ú¦ð#6[.H £Ná·º%ø]Ë“p­UiCtý“‚sô¿+hŠÙºº)4Œ¹/ Ï 7ƒkŒ&Ôãve2òläŽ ÞPÞgpßÿ%üˆ_)”ÄèUæLû„ºS êÌÌ·û?§áý3û^>Â+ÑÇý‹öݤªh2¼/®#“õ[Ò&Ž†QåÕ(‚ˆŒuÆ®^®°ï¡OäQ"ÊϱWpHû;3_} +&´W·ä½@ôìξ"|)É‚¿>P–¯èD\ÓsxØœèÌêØßN8½i™Ca»d&í5üùns¥Þ8Æ3ÛDõ kI+ ¹~5,ÞV~}Up‡:q,²7ôÂôEBƒ‰ #‘F¤5Íj6¨C+µæR¶¹Ã»fÃ59w`ãOGßyýèÔ-?,*xß3+apR§Ó K™õ”Îeèôd‡Lc1‹`£Í;£·S„< +-€Á¹V¸0‚K±â‚i™’*­/¼Nv¾ ˧:r66õô”æäe¾7ØEX;l¤èYÜíž·/Q^$ó €½*àn¿{8Ú/ÍŒÀ js– ¼ò”d÷$GôC?þËËIú½ûxùs>5ÕR v¢ã,d¬õ¼ÓÛ T¸ÃDÌ+NmÿQ²Á®þM•_„·8±ñêÒËê%¦é\ölâð¥§=(wO(\òõ¹@mP‹:`uYúÛ$¬YN‘ïIÖÑM‰¶¹‘í/±qÛJlRþ‘Áºf5ijDQyü‡fèQ“ÓN|2ƒ:§^ÑŠ‹·bXˆ&ÿ]$_PÅOί}ÃÏEMŠMŬ\±WaCkÜR¼¹OÄ_ |‰ oýþº¥Z[—1ÂzOÝìØ#<×e³Ÿ>)B Ù儲¦ÉP}~‘$ØLuC-ý_ùd›º1áåÒV?Mg=ƒ'²µÂäÆ´µ? ~BXãV€fB€›ÍíC; }ù#]ªÞ®AzÊCÂ"áx¾î'èGzr.ŠIóDBË/&Ì+Ñ_…† ÔàPQup.ì¹Y]›y`¼ûr>Ò¸urË®X§n?Ö +ˆã4PóÁÌèœð2C¡­Z§/q5ƒUÃWp!Ó)-·ë;"žÒ*y†–Õé^®Eu¶Mè¬Ú¾ .¢xž?+Ϫh…& J½kìêæ…GJœhgi‚úeÜÙº3’VX=NØÌüþžü¨·v©Êëþ§{sÈùk6+Þ[)Ón®¡'…}c•Vüè昢‹üD)VWïìgA¸L×ò‡iH5#3ÙGÖ›FŸ\ØŽQx ++;ZÛ8 +¯;åUåP/Z­Yþˆ¬°Ç&C¨p"Ç:bÉ奯RÖƒ¶Ùt»YÌ h‰¤p¹Àaâ]©¿ßIÄ·%+¥Èbþ#¯{OÅà%©%õÜÕÏP÷Ï\ñÅ•eŠÊ#ç +|pÆ[\¶:ÖÁL«ûO zs±WZƒ#[•c`ØY˜;„:þÿ(×K@›æâÈ£RF?•ÚÓDÊ›ÒË¥¡þc²Ì9[9¯›= f²çÛWç©Ñ ='Õ=X̼5 Æž* ·Ð¯Æqèæ§ÙïèN2«7]1®?ËR„ô"ÞyõŒîN¶‘¥¶¢ ï +R8_ÃK JU}b ã•á†Ê„©ñŽ/ ÿiì°rŒ×Zz>¨oBçDsE´òDU:Õß»¶] +i×±ð=$)eEŸR ¶önê¹Ôù.ÝŸz俽òQø¼Ç^ÆÑ#à3f"y¨hßÌCp—R~g½“ííÃQÃô ó'q×à.†™ñræþ7ª•Ofzw|B1.®‹EâFSd´VØ‹®GÔ›0ÊÁ|;¯Î†Û'÷X‡_½íʈlйÏÕä—îD=,wÞçý?ÀºýÆçuçî)ï·¼v–¶ÏÏ¢—DzòíÿIfã² ¼£=À©99a_à¯ççd|ë@s¹6)®|âz¸LXãSP…ö/äWÙÐ9«ÔÕ‰J’}§—G8]Ä襸ÕýÑrÀ@"ÖuSÚî@Îh·«Òñ 뱦¾abyx®¿Ûw/•Á´#¿À»ISz1qŠT%SÄ8Ãp(D$QÎð“]Df />D`÷6wa¥„yb-5†‚1Ú[%Q»Å7ô QºøÁ-ÓÚ):Æ‹j”AåUÙ..òÛqÂУ™\Tœ¹ËëB_™ Úó Èñ£‚´œ˜ðþ¿­Ž]ï¤bŒ¤3Ùéqñ›*°?ĵõ‹Mî#GÞüv?‹ ÊO9,^DŠ+d)¾ÃnÞ¬ŠG`Q‹"dÚ +Î[j +GïÆáÁ'N&£çŸè7R´ §+Û\ºÄƒVõ•¬ †@lU›q÷‡÷÷ñyܺÀ—9ÜùØæà…7ÐcL_zó×ÞN g|‰&;ë"$¡t†ƒf|BVÊÁu1iM4 Ö`“ ìM‡sWji/Ä»–`öJHÚó÷¯ÌK"]à-ÜsN‘ ÜU~÷›8Ä1ÉX¸œyó…7¢a‘;—ýC·×÷]þ 3¶-±è ² Ø؉uºko ÃiiA†z¸ÞßOEèG‹þ»íBŒYÌÔAæ~«ï„W^OµŠ’î&í™ £}ýIzŸ"kMá¦lŸ0ºGrf%IÆáÎÈ€L¦­ÊäY¸/± %ª÷_.z=sUD{³ š-6‘¨ïÚ¹Õ b¯•D(–Šhik)w%JhUGNüb˜¦d3©VõùV¾È(³NnercúÔNhæíKAÑ´v½ƒ&»ý¨mÒV"”×éïÏn”)Àm®kÐæÀ•¦µ{¹J±æX>òÞ.Vžw›õP1&ùdR<€¼².ïRþK²"‰ÅaáŒ,}ðÛÆ'c¤Q» Žëùl¦¤?b¥BŒ!QUœôûj/»u9Ìv ¥cêMÕ¡•üOÙ­«¹vfóÛ'ï‘”—Œ¨Tê†z€¹ L»S}F”Øe²g3}ŽP׳4u>Øⰽ +endstream endobj 142 0 obj<> endobj 143 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 144 0 obj<>stream +ú¶ Ñ{Xé?·M[r &ûìÓÙeÍÒ¦à;þ§aÒ¦Ãz«E±µéòLè é…÷eà¼) µ9«¥¯_®°>‚Dz\Ufd¡.×¥}$Zê¿‘CÎ\Óxný—1òÉ™b›ÎÁ ~0û»Wo„Z@¶åÈ&¸Uú<û]¤$`É¥Gqh'aÁþg`•I,EÜ•ŠÞc—Ûtüt|£!Cñ+ô˜æZøø^•YF^$ÎAgã_jR qÙu7Éýûn\%Ÿ¦ÓPÚw¨¦¿‘ðqI€ö2LÕN6x¦½‘{Žx{?“_Þ0~2¬ìz˜5~B©6xFª\Ž + …«î¸,aýוÄV,$8sÆ#Gpè7hDäÂoÍãIsSÅvš~ÈaiŽú +Êò{WÔÛ›íÞgt)‚¨ä.þ;¬u¥LL\µñÌšå~¼ò:í«o–«Î…l½L«Þ+4?­‹¡eèƒ`¦_ÝPûgöt‰-¾GÜçP°TsNðïìVé>Îçp¦Mf©eúþ‹eÌw(€ûö6ã*æúcð›ÔÍÌuƒ.b­¥¹@ä&ŽÃo¥uÚŸÎ(Ÿû½¿ÕO_\øÁÄõ`•¯Éã$5ì¹®'j̈m7íûõÛvuZ˜oF˜ò*—y¡€IBû1M‚X²èBÜ7 é*˜¨Í¤¥–v…ã"Yø`¡~Ä?H)qo©½c­Wc¬ìБN:"|fWúßzÅ+” [’ô¥Ç{&¥ú^ÖfJ•_ãÐu¯Û÷eK\H¥ö÷dz¨H´#þÎŽ‘Â\¸ÆóÒeGºètÙLöV©dunk* ¨Ò…¿r] ^÷|¦Ï+Dï„x¥ßúþ‡¹ _¾8™aŽ«tÛð§ ñ¡”‹H[Í_§©·»àYDîÎâtÍOœ=£SkÞ{Éù×ëQÏ„ûÏø~Æ’”5* êÿœäZGaZ¿‡]ñhܦžñOÅ6Ô‹6RŠˆÊ6Ð(Ø WZn¾éU¶#ñ\CZÜîðœO¥pÒ8ÉÌ„oÂ.Ùк¢ ûÜd0hÝ­—‚Q•Ï즉ңf©’?”íêtØnä·ŸI=[ÑÁÌ`ðq»°½\@-k-•¥60Õ™igk%—2ãõXf¢¸V+K÷ ÚÚFî† +#Ñ¥QøiFl7°a\O"WÛÜQÒb¡ïT2'NoÓÝ£e gwŽ$Ûx“ë. q‚¬)?ßuäϬ|³°Uyèæ–S²*YJâÁÚŽ +†ªÖPèžsi’ÓÿA§Á¬)_ƒúسeŒ‡7ì®76ˆf²!sÅÞ͘1{‰•^ŠÓäëº×Ü…mC˜f 4;êˆÂÖÃG{³³6e²"Í70ï±Sû³,”õf{–$în ±c¯•/ ëfÛXñ—E#ÛM|cF ‰-]*bJ­ji§K#SlZlÊ÷\¡Bí½(€Íµ7.¨PnþäÉ\›üÕqÃZ”GÙw)¤þ?¤Lâ O5Rb²Ê= +Ì +endstream endobj 145 0 obj<> endobj 146 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 147 0 obj<>stream +€l}׶%LWÉ œM…ßÕkœ¤‘¢^‹˜ÄÝvÓ€Žy, ú€ G曀EY +ñ`šl¢Çu¦w¥¯?ÈHiË–å¾ð¹ÏÌóœþŽ•²2ºÇÇ¢KÞß-fF‘§6v3}£K^p%©ñ‹±9JwùY¯¿¸.*dÚº7A·ÕµW´Q¯ ý¶4*¯o\ÞË„ JëaŸbÛ›îÕÆ–Ð$ùt_ó’š_S±úÖÁ»’)%Æù¾€äûÙÀÄ×Ë/>‹z6¼¡¼»4»?¬Âó#Ó¼VtNª¢ùX¡rtrí‹h¯¿}”ý&ÎÎÃQðËV°Ñ ±ÎK§,‹•ÆöLzó›ò®k,ì„Sào^–g¤ØФ?užt‰ n)P-!ðH¡À¼¿§ÙsðöÝš/)åÉ?F7D[Îó¤ÊÓþ;v©rÇ­x¨©bɳ‘ +œØ‹+Ú†pmšâ·‡¬l»eM9…Bò|¬9PýÄYOª–­ÃO-ªb ƒ»=Írñ¸dø‹˜žã39&Û’ÔþáÛ¾×ÝÐ)(ÇýÝÑìÒî +­!]ñŒ.7¢ieàÉuïá^õéFŸyóÉë É”;¯šê@;Ã5òŸ5€»yòïUãsr¯Ãk3é÷ð¿t¼£åúl,Îô¦.ß-{0˜çô´G!ˆ‡G¿¾ãc6bFQ7Õᦌû Øêuª=DdAî˜Vù>S×”‹Ü–5’ÂcåÛí +âkÚÍÂù¾çQšyy¬óp¹^îGXÀy +æûó^ogJ>[#I10kDF·åLyŒHÌÈÅ€>º‚Ÿþíömˆü7ÈÝO4bÄ©/ûvÂDaÒ¨¯gö‚ص1\†3Ž’^2þ¯ÇW- ÉxûÀVk¹·¼a +ÎàizwÛ~ãtWLºq4/Wb$–)aófYE'–ƒH—„ãº*i"/äêÈÌ9´xt9=(ÆÞi»ì«c6?j:„p?H~óYÝ…}I¬)—qóùú ¸ÇP—ºU±//‡Q¬tk?EŸ­Ö¤µnÐ/¶ +¡0ÿ[,Zîú‘ „²Þ”þÔŒ±>Ì·éb`Ëž­`Í®PöÛA[…»Z²¥Ø¬Ät8Þe•3+9[ï]DZØͯ, ÷Å-±€s…œ8Zt¾`éá+ Í®š¯3cß•hÜ-Y À“,¯hÐÒ=åËÐc„·T¦µ‘YÙÛiOFî!åwÁ‹!9§™ÐÔ}´„ÄõÀýߎ²¾]_³.G7†ba_¦%Bb©Í-ùU‚ÞÁV/|?ó%R š™ŒÎ†ßs‰hÑ•õÆ+P_°‡yVU›O­÷;HëleK)D7¡ÈÑSÜM´t-—A¡¢ª×çMŠvíìÍ@fìmDtñ +-©Cë‹u’Ž‘óΘ©dnÃD‰€¹"Ý +;ã­IÚŠ‰¢ø…KꟇ-E÷=æ){‚ËøE’P¦ã3Z€YÓ…d¼+B2Â+a$É€||çÖ¡ªH«¢Uæç˜5^#PO9v*mŸsT·×̊㟶íà'uê—3¯Óå¼¾àŸ ~K;"4ièðÚÐ Šž´­¹¨3X‹RóXÛúïNÑ<ìLžžCð«cÙ.ʱQS:Éܘ¶³¤$À¤æy›uQ74'˸$þ?®¨»<2¼¦©ûDüLræ‰ôãSÐúR´ W—5= +"knïïH¼÷9 =:9«…5™žý¦ÁÚ›á»HeÜA‹T­ÙìÒ7ã%0'w¯[H-Å·é?ÕF6Ñtïp7ž—aU;Þ¾Ò1ëLC5AsÝùéH>Ëz ß™];‘[½À£/þ2¨ñƒ£„`ÔfŽOè¡ r'yªâ(E21¼X‹­D\öt!`¥ +›êP’‘Ó©í°Òo°Ìåü0£¥Ã÷yå·©+×9\·Â[+º…f û³m3+x맀êÔ°WeãÃ\OÔtƸ?©ÎuÞ§ˆ'Ê–·—а ¨žDâU.¾¼vö‰. Æ>+ –Š³a‹I³Ž˜—äûI3ÏÚ~8;l‹$JTE4ÙÇnNíSÏŒù6ï3§y€Ã +ª[zŒÆÇRÛcgG®2}*‚ &ÈöCroÞÀ¨˜µæ´Î3¯tuTZRd¼öÃA&œ¿fG°>§m=l5-Ų4Óeèù”ÃÊ…¶«îLR/ÇÐć¾+ëˆ.óÜjÿDe¯¨ñ¢¬YŠøZ·+6²‰! ‚U7„›c!ŸÏ¥f1 ¤‰-VJ}–Ù>º÷¼Ä.ZNxÛ,ðl«ÅcåÆxÙn&ð- LT¨f£OêŽ!wØ +p”l{ÚäX|½¥¾ÛXñ”ÊIQ§ÕÅ;Á+…ã¿‚XqðBóØŽ=æ–PÒÿÍ'æŠÖZ‘ËMgFx¸— ú2†…L+0O%[3„ •ò‹4KW—ŠöRÈ=~ÒGyôëy/¥Â+œë€\c šç¯APMvC™–]ûóÍ娬‹Åb7 f(†ÑœÇøŒ¬dF)Ð\¯%ÇÕ®¬r4ø›AÖ>(rH9oÓ‹C?pé`°ó”çÃ1#ñ¾…Þ­­ "õk_Á†ž}HÀ§h¦Ýwæš_²mÈûHÕVçRDׂl±%™¬ž>)m§±5Jxr@Äžr鯳ë/9¢§&”»Î¬@JlÒqcPŸ’ßâœ!f·Ñ¤ ¡òÕ{¾8ÿ¿5ïÅš$Ù ß-ø½²É å>¢szmÔÉ8¼”'¶bëG¹>’zO-4ðŒ][øyòÙ´3A€ò§‹N¶Ñj¸oà‹5ºª›sq Öû-ù¢—?ÎÎd\ø äGIeä"ø©ubm®±Zdg;~*öDGœ‘vâÅææWúÊg´Ów1Ýcxô¢³U,¼=ŸÅÄ VŒ[ƒYõ5xVãÏåèã¿Ê-nÊ+³|£4É´³³ãith>’¸7ßò.“~rIû›Úºp»†«N¦á’^ï›IÏ”Jÿᔦ[)² hg·ÉQ « PÿëùÄs)öÀ•'áõé¤<㨆ÆrŽ_w¹hË®¹4­áã ì÷ÌíﻳäÔžŒ¡èÄsÑX5à9îÎå'°`I[õÇèžW¡¼ÕÖmÇ/Žüªè¿K`¥¨Ì¨(„•5N-ɅάR× Ü†KRÁïµ£SÐöQšËz~E{êùóø’ âå‹lÐošÕ7¿¦E@J_X°¼žàWP6,±\Þn˜¶>r|(5fa¥ZÙ¹nçÌbÄŽçI/|½x ÈW>ÎÄeSõ =AŽóaI¦¬¯/sMkf¯-õ×Íx £ô¿iÁ"ñ7dÆ 6uËj)q{£Ð žˆoA¶Eláe-¡· ¡Ù4¿_‰–È-ª.—ý´%S5…•}Êi|<‡üç©/Ÿ…WMé-šO®êt&Äí¦®§ÛÐò9Q½$»6¾$¡)jõLAaÃbk>¥ª%ñÔY³Ô²¡µ#öf´cǺ ¶Õ^å…{»ÇÇÝ=êôsÀ™ ˆÔž,™0š~šŠQR¶†42–™3[/)§+ۘʨA•Ð¯¾ptÂ#yvî óvîÞ=4)ÄÝÊѬ,Fò¥ßN¦êQiR5ÎMûÌûIt4ÔõLÃËïJ…“ ÊüUª·O²Pâc¤HCŸ~ý‹«˜±ÊJ('É5™ç™ß´€›±ÔdõAxljI+í¢ô/y131Ñ_»9ñÃÝ,;ÎHVJAM´Åå4vEW€ý¼<,;Ãí P¨,!«C…xµhMÒ1e­¦V„ ®±èÚ#)dMሩóJfÚ‚c@$•âÊE²èz¾¡&"ÙqÎŒPÿÄ>fßHùÆÞG>a2Ï“ÿ‚-dŸ¸)5žSβ‘Äs§> endobj 149 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 150 0 obj<>stream +0å1dSvâ6†‹ª9’¿{RÛe6ÌBÂŽåÃ/ 6nï”1£qÆJ@m‘r½þ@ÌDacdÛ>çX +qE4¢RÙP§5ÒãæŠt’xÆÆÊç € |Phu`T:*3'PtD¾Z’a$TÍ(GFœz.>:<>üY|^ Ã`W%ù³IƒKÊ>ËÿX¾Õ‰ò9Ìe•òxùôÊþÆØy]5,zZOÜTÈ5þèÐ^¨ +óacýƒ‰¦¤kýšmjê)T¹"ú‹ªòºÌZxÞÌý^™ƒ@ *uÇZÛäk/I"iÐù,;fÆÓ”ÊBþ.¢í&ƒ> + +h10êXM”RÅ:¨ã£]ñ¤+§Åd€…ßá6Ž×¸øùk{B2Œ5ä÷ªXÂ7?É¢ÀX‡£ªNõ÷yìƒÞ s£‡Û3ƒžü“hQ¿“Ö ªZô»å^žDšAï®}k( «{d2ýÅÃkntʈn¸””vö`äö /lôz~™Em+ù&¬@ṅ5,Pþ×hž©4Ý'‡°6Ý_Ð&Pÿgü|ö…·ý¨ðOE„&ú·‹¢¾áíÌ1è¹9£ã•ßÈÂdÿ^²"Äõ\Ýk{p"ZŸ…ˆjÒˆÄæJi¦ÑªªxØ/û{“¾Ýp%2§ñ7¢¥5sø_´iÇêèåN¾A¾˜ûغ2[ÔéÏY¿¥É7Eшí ñS:_¿ýGØ3Øþ» ÿ`}†cqóý&&K2•Õsy1NVª2\0+>Ô„{MîÝÅÓðñ<$µGMQº‘»ٙhW†ÂdÓãu †ïOí…ÛŠUÎ%ÍUTéÓNþIÇü ÜAótÛ‰k·Âüœ÷캘 BKúå":Òž‘GúæßÔ”ºÜɔ٥اdÆíO ¤ÄºC*qå—à¿£è›dÂZU+n;ÙŠ‡®Ð A×ú2ÖÛf†ž×Û£.*ÅÏœÝÚŒ Ý>lciÊË/sÌX¸8êqŒÑD¡FË,pG¼P3©ô°÷›ìÍÍ¿lOÊÓý/-ùA¨—;“m› ù㉽Hõc™¬¶µò'H +ÿ)Ë‹Áê_¥ÈÂ0ßÉ¿J— =äº0†]‹"…ŒÖpjû…qÏæ‚-ª&Ìæïëð ? +|Rþ›G÷ŒJY¿#:÷¨Ùyý;:Ú^5zQÖ#­ú?GåxpÉ:’(étJ…Ë•ì„3£Œbý (rµêx®¤ÆŒ 6¿e —ZZ»Q`ª@€NkÐò&wdO¦ÕSÇUíu4^߀ÜâÃBt ŸPïvïØ’Ue3µy0;@‰­V:]ŽÐM5w· !˜ŽˆÇ§’Pòw,Ëêæ`ÉM¹©ÿ­™‹V);z³Ñ³ämS¢+òz®'cQ^!úÁ‘6cƒ=x +ìb²–Œ3ìÚŸà.’c ªE’ɱBŠž¢>±fPNoT!ïÿ)õsfƒF5­JŠLÿ˜o5‚$ºœ¶;’u葽W棫uJŽ®-P?É €©¡¾8ùP´kþ5Íë <å +Gžþò3i6Úêª=͆±ž% ¹»êÁû"Be;ß·¨©otûÙcEåÊY2þµ©è;qyÄÿþuHºaà›¢²¢À3¼äb'Èí1LžMoâwFƒH†ÖFãb £§ þ|Ã`ì0»y/‘#·K :À-Y¸x¯<xðÏÝ’¿DœŠ +ð|ÝÖÀ1ÅYˆà¦BРFŒÂ¡Çßî¦êÆf‚}jüöv + º³¥ÝT´ 2º…|¾Ð2ÅæSâ1…>9ÄY–¥º¨ð£}á`òª#ö-¾öNè+³ª³Í.VýZWüÐN {îe/*–`Dn+’ÝZ àaòÕÅÿ¬—ëçíÿcw‰Ú‰µ®¼wW9¸~yÄ2Lî ʃ2+¡Ëz¦R1Kwxï -˜@\œF–KÀ¹ßMçÎM»8ú(¯õG3&²kòO®"¿øMÀ»ˆNØ]N”3Ú›²ÿÕåmý1)YI|öµÇk;1MN,d¾Q–|¸òO©ÑÄìtöêÉ›TŸˆxÌòŸh+Žâ¦r<[çKÌõ»ì‡FÑ !Î÷p}¢UÙk/-½é¿}[äÓ an¨R°OœÜ_A°QM]æ¡l/yeI#qDP-^ñ¦;ÇP,ã$ôŽÅÚ:‹üüëAQ«ùÇ4¤1ºl¼ k©î„Nƒ¯ßHµË„ãÌESö߯~|:$LmüÊ[:Ñ#+•&q+šúŸo\]tÊG¼s!BIÅmv,Ÿ–Khg[èÿù±›ñÈÕMìç@>ðÀVPšŠã‰èÓŒuöç!þvvQ÷¶—¦ð zý)¡äÆÜ/ù”ÛÄðÊÑÍöL^ûå.Ÿñ€P™R‚19%WêS´7Ïz cñŸ”R!±¥¦í¼‘êy·uC}Û *·Éé Šæ·_âÂãÜïg­&g‹¼§¦Ñ¨x’šÐnÃnÊ¥säs»Îô˾iÄp¡ìåÓÚ${Òä&“ˆ€ƒ«[ÁH5cÖ’S²hÀ FBÇ *ìˆFžýõ@x—˜Î2“nÀÐνH傲¯ ÏžT‘~!‚þ–í;‘/š—sË„®ˆu¯”ïìJ\SFtD«¬gוã´ÑµÌ¢ÈÅXÙ‰?B+‘ß“X5ÃÒ ÒùOo-?ø²~<ô?#­úÉ©0µÙÝš• «BŠp%ÑU'K›„¿¿KVÞA¶QÝæ@Cgx¸-€Žéˆâå:½[æ¸pЕ¤Xvè’HF·{rÃoÇöé2šŒsqPI?y'ò†Ni«Ï­ã˜ÓØ¡KÝõMÊfó@”½ðq†ŽÒíÃWÞDvŒ6=.¸•9¥0 +›lRmìRR@œçW¡óÅ®âÄ Õ6׆½æ!ìÇO9R>‡àêýúËÊWÚÍýœ2võò#MB½ïx®±%gŽ§TB€aQu.պñŽ(¶ä/£ìOïÎÞõ!çN ?Ú$üßy8[,PÔ­Hz@4§ætg5ô­· +Û¬ +1~ʽ 8"ˆÄ"$…6é¬I%±qþÊ?Öþ`¨ªÇ2 ¨Ì‰‹–6RûÙ1¾b¬ÈΙ@è %(q)«HYóL5¯t# jm(<!p§wS+Õݲ䓦x™Óž'‡kw$¸}¡XÐ; 4tz«ÿ#·a$Ýó}-Ù³Tߺh²ßiçº#·–)S2t„‡Šú$í~¶ÁÐó—üiŽÛÅ»p…RkF[Ù„±¶Õ)Š<Bl¥üåõ—UÌC˜lB0J3Ž=q÷k˜¢HðM1ÎÎy +Ôn´.Ò¯Iwö>ݪ¦Ö莶Í+Žxµ!2Ä;Aðï`uªK¶ÂuZæÜý¾ïÆiO²jdéíF8gyÍR@ÇL%³Ã†¼#$ü¤ìò}´aUÌçîYiœ:Ët@x–*î `Çu&he$]p}VI…cyøgéa[7ú%N(ìY6[Ô\Ì® “Õ;NH!J–ÛÙ@‚ÔØÊŒ9‘´1Z“€ÉÉNÙ$IáÂ2í.8·†ºUoåSPYùi/Ú Ø ØþÇ5š°ºHm3”ï@ÇÂy=pðÎ1u>°í„ ¯XR0Ž½Q‚˜µ¬×þ˜Kþºà¶gEÓ«*#…ø$5’S6#ü Ò{ +£oÆB‚´ Ó^•Ý’ìëxI¶ +™ífŸr€#*¢N£õ· áº.œøƒ–Ñ-ƒ‹^¾ábÈ°'+åPH€Ç ƒy4`ÊÂú±ù"ÌÝŸÛ_úŒÚO™7YA "ksòÚ~ïàµ!"&8è8¼5Žk(9!µSC=;wè¶~´ø»}¢Éã6L’Å’ÉKÎ\;vùÖ“xXœMù +endstream endobj 151 0 obj<> endobj 152 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 153 0 obj<>stream +÷æò1øåö—}^ZÑ8I;hš“öÙâÞ5|IÈN¦0 Œ¯QܵçùÖl?)É».U –B+(fAÊJ±~ë§~ñ‘ÉañvÞ¼j~Õýdˆ[I€- ]â«i3¤i}ƒhŇò†ÿ?Ï3Ö+jJKr ƒc‘ů8+Pjþ.º[Wý«Mpž¤dÆ›‡fÕí9¯qšúƒÄçZ?ßk­ÛHw„Õ,°Ù2DÉS»¬œÄò¨ üŽ¨ªš"ÝU•=k2¦äHùÝB¸I(Ó)d)4x®´=’R4s<Îmò—ßèÕzö(ô[¸ï²G2°ìŠ;:Õ¼ iͨ`kŽ` aɹ-®4_Ëᢇå¶~þ”c¦LŸ†îA kî$”äN€¨ú}Ê®6˜ƒße6/–¢¶;Æ[ MP¾/º&\Fíä­TÙÕ3½ñ©æß>Æ +T^窠X¦M~±ÙÐÒ :<Šõˆó¹—ùAª”C +#âsýŸ·ÜjRËâÛV°ƒ}µo‘QÚ„V´[`-¾ ´N´"¨ìSß›Î4L’÷b»Ë­À®¿c0=+!Öö,2 ÞÚM@.´ì/ 3ð’(¶§UÎ¥,VtªÊÐåŒÌÖ†­!xSœ±¬D1a€©…®aÝ0dšSíqˆ鎘!™ëmæ dÜØq‡>1Ý‚Ï«@\°@µ?œ|sBÎð:çÝcP—,j]÷«Hg­æß ØÞRÒ*º¤Ì•:a©»4‰¨z¹ã2: -?ùÂŒQýû‰FT™Ygb‘jì/ ìo½¸"–²&ÓßMµì¥¥ ͘ÝÎ;Wtt/®¶öT¡Î®é†@RßSÅN”xÎÙi%Â@ßÉnš{Ô–¾õMï¸õúdzÛ3mªlÝüìòŠ# y¹ü+cÂë0&‚ö!žö;*”’žqû¨5BÞw¨Ë‹'Fè ð‹ÄÌÄ©E Í™²mwé½J“q"­LWMÙ)…÷†ˆ -RìèóWŒ—®zÇ=q,saxdb¼‘n¬cË]è=JÔ§*‹2òZ i* +*ˆÙ_©T¦šl% T“ÁÝ µƒ‚@_>zËfOÌJ@ŒRଈ*scƒu™6…zÇCK6½æ„–¹R?bÊÒ¥€?¥ vZn%ÙJ“„1ýO+};ùn +š ?áRálwœ·&ŒDº±‹™ß )/0:¸lðGC÷ò;\5«øa9šø +•4šG¯¢/ÓìIüÇM^®õ<Øʱà†BÊX!¯'Þ¦d_~Õá ߉“æà'—e¦D+¯Á¯Dá¿Ï¯›‰ðä>¤°™#ÖŠÀÛÊïH¯\ê­ð ±DÀ‹º´£4”SŠÌa?i¼£ N`é­Þ÷”³3i_ð°Aã¡åõ¶À’è°åðz€# ì=xƒˆƒy,ê*˼°ÅÀ•^ØPýèpd,ÕÙѧ127¯ýú™d`LOÐŽ Ð’»­2ÀíÚˆÄæ—fúvëDav«®J*GH>V±¯˜u×üÔ>ÐØýÌÅPºbFúè }­ ß$Ÿ»¢Çjv?J,FÛ˟𓃄Qú6¨žbî¦z`/`vtã=u²øu{…/ÝÂâçpÙPfFtõ„§Ï‰Äî«p÷„.PÀAæ]©Îœ° ªrW&ô‚Dæ;õ­"N³åtË/— ')6“·£h2W·R~×y& žŽàdðZïœæ,Ž´Œ€ÜË2 :ôCš¿ÛèW¼ËÈ¥sþ¹nû¥×m>‰ß½„ÿ/¤Ž^ +ý’ •gÛCFÁ«¢Ó9¬ÅWϹ«Ãa࿈_bï÷N5{eÁÞB"Ÿ ´Â³òŽÙ.g[-ˆ1tÖ3§|mÃ$·5b®÷~{£¼Äkß%ê%ÀU)Ä·ÒÒ’’Rä åÒô—…gY{ПqÎ Sâ”·’^y71¨â$êþHÅÞOÖœRPØ_’b’ѲNRÏhç5n)~é¤Mo}»‰êFLaùŠ&Îpx¦øn$ kôéû²/zØg|TJ{ ±RŽ)‰ñf˜ëû ˆt*U§OÒRI­¬t5çvk‹5…ȷQ²ÈŠ­9ƒÕžõvçì^(‘ܬ•¥9Y[‘dzBýŠ^È´pj \áùAáåZzYxFLžÀ‹žÿ|Yñc>_ABÑXReL5¿TA¬ 0 qþˆj!S ’é'Ý_“í|àc7¨ë˜‰«ýÃyÏÄšZ'ÿ˜EV¯8g,j5üÓßµe€æ7ûHµåNã‰M(¢!ðÈ— £ëóq9æ®fó’¿Œ>² ÿÓ¬•­G”‹&<$û÷ãlçHq?–`J¶ ëÓàð_¥¼òâ xŸj·GøÅ/†‡ÃæGæ)R­çwäioŠÜ°? +endstream endobj 154 0 obj<> endobj 155 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 156 0 obj<>stream +Œ7„—£9p•VcrwÀÖÁ~ÛßÕøÊ䊑ó’³ä;~¡;ŸÈÊa~­6é]\1õ ³˜CI²tY™‘µ™8²°Uç6Æc†p^ñ¿P$°y(¿Äœ äÃðUűt5­vó±]»Ý«uÔû…²é &ÊL× +* ·:œBs«}⺜üÁÜŠf‡2½ç²ç?ÏêáJðÐÓ\ýõ´ ê;Ôm!l¸kÅÿ©p¿£†²3„Màj¾M¤ü%p&è)Ø÷]µJD·¾êN,b™ÌŠ®sÇ{ÆÆ­oãÏteŽ¦ù{I/Ÿ¯%ƒÍä:Ì í ò5Ï@Ú?R®wÁ¶MýÀ±L‘ª22X?´®ä{³—®;¥lwà}v0F¾á¡rÇ?6%ߪ¨}I´Žî\ÝmpênËáÎ ÇþÄ%Ë ¾­†ìæñ˜ÂaçK?ƒ5f»FaƒýTG&j™åw¢&¯®ÿ3‚q3zæ"ÁT‰Î‘ÂÏnR¾×Íc!¥:Åñ³)x—™Äbzå,Uô=üQɃ‡‚”6B†õ­4´-V¨€þ© ÀRä¼ðÚ¿Vý:>Bª®_RZQ}N0W'x{¬Úæq56„;7p |q\wèøò„ö8?ñxçŒ3JÃÕ…Ôr®ÖÏ™„;'mRcwý sÏ™ëó ƒ¸ñJ^LûmUž_ê=MÌHªým‘±\½uÕAÆŠ5z½NcTb§S|ûV”prÿ˜#Ù5TD„bðA%å´²¾iå‘ß­å)c³yfå:?²!(‰í_EÜ’[ž}ødöḩØmá<˜ šÖ|g‚æ¹Æpf¦&“ ÷=çl³áï>ÅðžItè¢ÛZ5{KÊE+ŸáÀD!ö«®¦òÊçV•šz]ÉÙ'¾.?87†‘K’ÊHH´c»†Æ÷ +þ> gæ?£¶#Ø÷¬­§ó³ŒÈ/á=‡ßºØ ’—­Cá4%‰ã‰ÇÁ]¡{UC°kâ°v)‡![§5‘uΗê•iG¢ŽÌ•û@ +XaRM[]_ýo¬÷nå3p‡Úë7W¤ª™’§°²Òؾc«Ý½N©qË®s 6ÐÏÁÆFØú61ÉR‘wì¾æ†üBÑ{ö3.¦ü½!†‘ÄQµØ£cˆ C·ZàrÕku éÐGI0,ÀúØÊCøý;sð™ß E¼S„Pô \Ûkoͱ@Ã)‹FKŒ†î4^7±J0Àþº>ÔÂÄ4dþG¨­5è¡uT‰˜œUxû`ù CÁî®mùr*ܦV˜?œ÷î©êÍŒœð_å r2ÝBÏx.±LpËIj’±ü¿P°>`ÒH3OL pj'+"ÎçWSJŽÎäEHŠóG×yÛµ=óI1ªž^<Ù—?ý1O1_½Z£à „lˆŒÔ„Q#´Qò»*D4Oèc³˜Eßo¨ YwÀ$PhÂv üIBüV¤öAíÙ_f´-;WO­‚E°E“Ä™µæüf‡± 3ü¸9Ô¦#ç™,~Ôã.Ñ$*k(É1©)[`xLÑ÷ÆJ´“³`C6‘ÂÌÚÌóUÅk”ª‚ Ϧ³ŽH,ºÞ ÏðèàmåLëçòû´ý )ݺ´öã–ñúß´èbΪז¨CÖ:a¹xDÜô±–Cè_h ”õ*™Ì-sª-÷[”ƒNw²::ûÙ+Xþ¨E<öÓ’©µö4a€7—Pè°†A2©ÐþrMܱ‹ ÑúnüCjÝ ¸E!í£h}žŸãXÚT15¨wú1K3ùwø<î¬LœPjyû†DUéÚgX;ŒÈø‚P²_PÅÛÍU"-y/ÑýÏk„Þaúð„NYqÊ€êš>û÷¤LöžÓöB˜»™I·èãì²@ì™ã¦8$–l•ó°ü WÕ)äRíwιbvÖóg訕dM¼y³áM¿œÉþëù‰Ä÷’_ü ‹Ÿ/ñI"!Ã[ǯ¤DŒÑðçŽasI³J×ÝWmÔ#L–ûÃ춖QlÑYãÖÑØØe²D%jtëâ‹h@(x -b@ç!‘ê=\òÚP™ÇÍŠê‚c‡ S j¡ÃËPr@Ù;º43˜Gþn’<|ÊÏÇfÅMåÓ®º¤Î}öW&^&Û3Š8 ÚŒ&U¤1¼Ðyri|[²qiOÓ”YéSjwÛ|ý¿Î¢½HêüoØ·ªÖFnïÀR„ovFNæ6¤æÆg€¯ ѹ†ÝçN2Ó¼ÝèªR€}[. %½À_Õì†ÛýUµ8«îúf'òxõG<¡ÈXt<ëèºI§”z<«bùÁ+Hùê`k£‘ÅYÐ6"ûX€¾ÌÀÿ¶Y¿ÿ <"çß[ï„5Ã"˜¾ßR΋҅qÜ”®ë'Ÿ¥~SÚZ>eÊüyy¯üz3"Ÿ@¼Ní¢™lÄV‹¡/i4”Â>ŸÿW9¹.º +•uàjwßLY¸Â.B K:µõ"õ”4þ}baG»ÔœbŒæ áû™’bØ +ÀNfoé0{ö7¯–#ÞÂ;樺í³H viŒSKl*øYN7RF=‹ëÐy?s‹¸ÖxÂsP«ÀQÖjÖCl˜‰U¨»‚JYú)úçÀwË1¨n¤«ƒfdRA é~äfq¿‰ˆZRÀ¼\…a’ãlv~2a›Ž½ÖÊÀÀ„î Q®–§¯êŸ¿cS†{Aü7Ëm]QY`ÃÅ¡ðóvº¸ùAö×&%yÑ£,Îjت!ç“óh4!K½XÛù(äÇ\õWòî^ê¶_;èZ™'ð†´vköéÎ0ÏõÊK•ÈIdjճⶢ*îxD‰½ˆ%?µï”+û„…[á]äb”„p?ûX°„_´(ñUGõÉÒõ¾—¬Œ„KS5Ž4G/¼‘mÙ½‡©K&6üÇ„çü,pôT^ÑXÏö­öjŸ²$' Q wjEÍE“öùA$òÚÿ'4z,‚.Ž}ðô¢Z´ªæ´icØmƒø@÷H‡›Hâ@ÇÕÖ±|)¬¼çsã/1¾ÃµÌí˜hƒš½"¯ßAïŠxŒŽ¹GùöÌÆP+°%]@¦hhIî_¸=uvâ»ñîS ŒŠÈŠvT€’¨7†— 'áêËŽê’ý`OÞoì£F´Ì ÁÝ:±‘DjºË#ùM`Õ%øò ËÉ‘ùH£9ð—9âÜàW5U?jZâ0‡~ß{{ª6_ø(]~3¨¸ô÷ *T“æõ>›ìö_™×f%¡ZÏö‘Ý­A ‰«ûúï†V TB‰¯Ñ§€Ì.¼J CI~YŒêkDn›_U3ƒ]p}$Å‹ö;ºùÙZÍw­^Ù²’v;Éj¼?øy—'Y ÑryF *``y`<kERiËb"­â%vάÕ@ú±y©g-¦(Ú‡p¸`äÊ]s§gnK“lîwPgÁÎÃÏ+1iUÿsYþR³Z)ÇL§Oß“¼í[ ÒA¢â°`Š-ô‘·%/ +~‘­?ç‡Os× :‚é|ÐÕ㪒 «ÿî‡Ýæ<]¶ëÖ—bx¨¼ íÿ¸êiªÕ9¾Dˆ{F>ÕUfKz§Oš”tbÌP•mq?閛õ kŽK½ênõÐ q “úÛÄ +û= › ð!Xmô²Çå鬷Ò!Ú:üκô&ØÄ+7dêM7Ìû‡ô)µú'ô:ù^4ØÚwàå«òf/í:Ä&."Ím^{›½åºæ¼•ìáU¥ãÜÒ WÔ$b"¢¹¯ñÖÔ¡]Žðûé|ÎYW–•ïD@*FýÆ‹w’ ¢ Ô’íhÆæg Û«ûË äðÒ‡ÀÙ \%lù±N´Ê²ÕÚ©£H…Pw@éWºÍ½EŒv8™×”öº%æêCØ)ŽéGÀÒ÷ly»!cP›£°_!=mMÁa­^]šZåú]*ú‚¦zþzp9¥ÅÐýr¼4í¡Ìý°R + õØ%…A{—ñ8m`Þ ‡"Ç#Âyx±àr&¬Å/À—~ÊÎàh%ìۛĠ40•}sQû§’_$©Wøÿ‚J®sùãÁŒ#¤ßÇ©Lnà-I±¢µ> ³ÎÀÇ4ÞÁ+?Ô{,'Bź|(Eô£ŠÈªTJ‰ß\†'P8\¦P£ž%I©™ù:nªHjžP¥iÔcÿ·V“-jxYìZÀ"â|{Å]ÏûŸ¦qLf˜ÊÛ#Ò^ Lz­šÅãË}3I©Ü17·Êø_9,ÑŸ¶æ‡¢ºZÃ,{uóçh¸Ì }%•®Äb‰;Ç#4›d9éŒ\­A„+Rø­Lœ° áù¢¿Ì§¡­rá äH¬ºÁê<¼9=Â_J}"ÕÉá[°ÇÄ‘Ÿ#ºó^.T6h?¸¶°ÆG‹põióƒ (ÔëÉ€ÚâGoDFvú¢ˆy>¬’ê²ñŠýwM›PÚ2n]ÊN¦Ò'nŽ +ú¢˜…ïþ% KüöŸeåÐz4r{Ë¢©ÍÎ4Ð\êro4Fd4šûÐà \ŽP’ cÝjWT,3·arا%¢µ%MlÐãgfƒuõÎU¡ÄëZÊÉU!+%WOÅB¼)×¾3Ç¥ÀýöÀJ9‰Ø:«U’oÊM*”øe ò‰‰â) “Ñ¢ÒUZ¦ ö•šÀ–/TÝ—‡W¡°Ð-—)W'=óÖî¥Ôªé2ߊeü•¢“ä?¹wg­TŽ–홾 †O– Øòóÿ`£¨ïº˜wÛ•Y„/ûù)ŒË¢ã/¸âÕôÛ$.ç‹ïƒ»9‘蘒Y& +endstream endobj 157 0 obj<> endobj 158 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 159 0 obj<>stream +|÷‡'Ĝ̴ð*/ËNZÏ療Š+X KU«œˆ2ž ¦üwcz㟢<뱈ÌÎø7 ²ÐàâÒ è²"=»u²Ášxõ²ûE‚mÓ&‡¸þ’ ]$$K”x¼Â~ð÷ç(¢®×(•VÉ¢i¥ +qEÒ­ î  ŽÖVûćmºž©# Ü‚=ýÂÈ P¿è HÊc†þh‘©‡µ:ç‡ ýÎT”–‹‘–ë [ÊÕ“p–Údy"¥KÂþëÀ[|3 ´”,v϶ZýýÊÙû÷M72~Â3*¡¨…d ¸–®ÀSs;žÔÝB~Œ‹‚-¤[%»ha•Fuñ|GÁ„ÞçÝ‹Èßšj´ È#‹ßÒ:;böVu±Ü¸2WxáxÔh¶ð|2K\EÞÝÍø)ÎŒOdKj™>Ü…_L}ù.ÊïæŠ/Ál,™’FÄ{"œ†êY*|º¾ï¥ƒW:ƒ6dV†ïê‚K¹ñ·j¨±ß +e1׸@ħ`Ÿ5O¿ÿÁöuÙ/”Üfü•6è¤ðLgØóKX%Ô²¯%ÁdÀ΋¯vrЦï^£Ö SîèŸtì§øÑ‚WZKø%(ÅÎs©1å|HΊM§ +·>Bi yËÂú™Å4Ჺšù¸Dù£‚ÞÏCœæÇöJ¡À#ÌÍ‚²ÛüþsN0Kn‘ÓЋ²’²ÇÅ>à–ÊÅ®A×çô„x]7×¹æclæò¥ô§° ÚÇn +Ò´càNò‰ý?Æ÷Åãq¸¨¼ÅÁÜ+û(iÝW展$†ÃW¡›-_£,'ÌÙl¢ÇÏ7«*—,âó’±ñ1øÏŠ=­–/â)áj(Ò‚îXöG\äà1ߌн‡/DkHêºu‡],¶ +èµÂ‚°`.íäó$ƒk‹AP™-q`ĺ1 ®l?áïK(ùÉ +âûú0M×u" +•8¯Ã+ÚQ‘ÓS"É:n|„|>Ž8dƒüf¡z°æ¸{+IròðŽ ß²y ÑïèŸBxˆ1ïùÀfh3}š×)e 8Ûy ‡‘¯N×.˜Éô+£8ãïY¹cp;ø'!ûÓØþ%wxöx—™çè=¤Ÿ~¤ŒÞ'2üƒ,i’@g= š¼K´â—ºÄ¦¸š«½,• “Î)h²”XK.¤Ùt¶Æ^‚¨‘a´k¢ wûÈdn(·ÛC¶x¹~±1Ï.ÑT¤¡@®-KåWµ¥¢b@7^N%ÆyvÄcMàƒó™ÎzÈã=¢íéÐî„J~(ÕÃü|VÃ|ÚÜ?ó ƒÙàɇu—ÍU“lÇ‹2œb ¸>goÏ}ÄÐ|çpZDÐ"Ú?Þ©_ ]­x×Ý%u˜×E#*é5€"‹«¤ºé,81 ùåq5ñëyÒk—‡âkGÝm±•bcŸ«;BÍIâK³SŒ9gÐgì½û–ÊÌsÞ,íM»ƒÀ§ÿvÈnýú7ç|š®Þî£ FtR+DŸwÄ¢#ÖyözsÞoԵ׎‹`®J›>u$Kˆ]6+êaƒSˆõÕ¨£ãc´§ëÿ§¢ÖÙü*tïg +¬Ø µ¼0KUÕ(o»¹²ïÌä9>=‚/ϧnp"vó “w†ÜaË—ä‘q˜žÐRIØ„Ë’µ7Áh V7;ñãîÔÙ1€ÿÖtÎý<|ëã!/90¯ñ[|ø}‰BuÞÓ,ç¡aÅfì×€ ˜Ñ–è?BŠSv&ÛUèh(²Í†äâ)@¢ìbxÐŒ›ñRt¿Ðmðq{¯éÏxÜQ'þCI‚r‰ÛÂÐÁ~Jã5ÕX ó¦f~{(F†÷ŒžéÁfi˜!8‘³@ÕPQê¿ØÙàv—|ŽÜBƒ`Z/g¿ûA¥G pÀ`—”bÖ3šaW×AàÒ"BÎÍ*¤Ü +¯,º.‡_,¢Ýþô6ÓLø£nD´ +=Q¸UÓuê@Ï‚øHžt‹ÉPHm@³ÿë‹x EŽWj’*]„Î5íº,[Ùà&¼1¨1ÒÌ9âEŸ”u­½±7E\ –?ˆ°.È a*e¸^ÓÞûŒC OAkçꜲrñ-åºí˜*;tJCfúÈ ¨bþ’ÚŽŒ% +ˆàø”9aU¤C…¯Ú‹ñ`@¢r‚Ž»Ž—õåÆ3z·ÑS +±žÍT°²#€TÏ_Ks=å)‰œ‹è`‰ñ¾¸½ÝæB«èSÑ[J®¥Æ7sø „õ4X©ûž!Ýè‡p´ºGÝ\*mZCnïõ#@é5t8u5Ö§[Ï1Ÿª¬¼+öp×gÔS>¼ÄBà·Àƒ§¶6Òàp•NÊr›ø}ˆÌºls.wdDW$ùZÌ榙ÒAÁ%™í%iã^ít}£›’— +¨ûÝAûþd#Ÿ1)¥z^ë(•ÛMº*Å>6¬ÓCôbÃÃÙý#ÞØ`Õ¿ÅŸ2ï3U¢Åüã,ÓIäüÕÐfÆ¿NYJGFc±œÅL 8ÂZ$—ž+­ ÑQä†ÍnEøÖéFôª„)Œz±…Í¥¯ç¨§PÂ1§ZMM«"’W‹¼kŒxÉXÎË4š"tÙÞ(h|<3‰ôJºè7 +Uè¼2 +"¼Ý &?ip•/ŠÜ¥œ›{]yŸí$Ùßg¾Îßm.!Ûñ®?ÑûCÄ" ¥Ñ"R0DU`©úÝK€tœmÓùN´Å×{ß¿FÙ<#èˆóyN´çÁ¨ò\ðÙ`U~ÐFØLfÂ5„A]‚§ï¿•Ë’ƒGœ»Â±ÑVvúóʸÿ_­¾ «á$ŸrVÎ8FÞú¤¹.þ +íXõät½­ ZT'pú…ÞÐüøôÿ‡8a½ ž6KËaºKDô|Ò)^¬CžŽ;Ô‘´Ù—ŒBHõ,‰$¹K; Ô«±{:†6F£y ŽK¯V%14*l¤î8Œ¿r²RäÖ D‚Õq˜â)@ΪÚ­+®4Æ«ÞïùCœìòüu +‰Þ-“Ž«É„š'|·' +MHW7¹¤aÚSëEÙ¹å»uüRÿ&i_¿µ^U\ö–zâŠîår<ºUO’1¶¸Ï{ò|ê/—ßv¦Dø&Že<*•Ë^¾_m:­éÏÛÉ£$ZÉåùÕñ°Ì[AÔ»œtÐhݳêlwÛ ÂGTätNÖ:£r?wˆ6Ë÷/Ée#ÍðÇ:›=Uê4 +2:3š`°6R e}{L1HÀ$VË,DÊ„:½–ÑUìÅŠZT‹Ë¹26$ÓõqᲬÞÊ8É .hé 6˜œÅà g%ü%ŽÞÔj=÷!I¹ð—¯O !ôç @Ëû¼­I^®1ºùÒDÁ>óÀdHì>v{쌵ٕ}‰K9ßÕ'B3£©¯ßí FLû‰Úôê +ºœ9>•|õzYÑ…yl:ËC𻎬ä¦ëØ'5>„X,#ÞåŠO‡äxµm•kJ+¿%ðÔ]kìYâ¤/å=/¼iW­­2VÉ?@›cHÂT†„âàø!(Õ«·¾sÅ¥qؤu]°KkºªcB®¶ šZÜF.èõÑÓO¢"øïH‘â6·ÁX,"Ú²ØY¬æõÞòŽ87}ÇÑa7¢èú·k/Åç¨t±ðAUr9¨›/ViUß¾  ÓSÉs•Ö¢êL½ëŒŠ[%±¥ÒÜ·@ c Ó&ç‘dÐuDÂúÉSD·Ðž_Ykív™Ñ-•Ñæ*ý>ð¿½Ê6v£M#ñ›¼î ¨ñÖp㘔X‚@ÕÛR„×^ì}<–ÀÁM¥þÑ'ž%Ùmø}ËA‹ írû_] 4éfN.ÿlü;«’jPÞ#ÿ +‚_Öj.P:€Ì5R¿T:„Ô˜·?÷-¬ ¹Ü“ɲG®Ç + Õ%Ð…^oÅi[®òMu¤ŠõÁÛÅêT~g=ÑJ–ЙXÕ½}¥p±«]£ƒ’ ÚHs…„ ݩŶÀí1¤¢$À2™« ›âˆžmìkd}Ìéº\ä}½Är;ÆFlD!Ì3AF OÏŠ½R‚oB4៹â+±Þ©#<ó·F «†^Lž 5ôsV5ÿü +XSMføùÞÐû¦2§ðeÅåšÏðŽC|R@õ~J;!O0¨S:úÀO“f·™ŒÕ¬0Dê WÃp.Tµ|mÍ[OÒ~ ý!ýVO8’)o:—u÷¨5ïy ’wíhL“¸fPžr® -H¶c`(sžª‰ï)fç§3Ú }Ži¤@Ïn„R^SîÊ€€ý» z©âýÛ‹Tr“µ%ßio_v’K¦uT4R\wå|¾n¤)™R>GËöÜè[]Bg’æzgÀùþÍBìåk‹ +ãÃÃX+Þs4'¾ù®ö Övçà+¼>À9D; È=µî7¶¶Ð—û ñq§@Û“ÿ,»J3T·íÔV¢ŠD”ûp›ÊW•ƒÙË1ù pÓhÏ3üó‹­)û YŸF½Û±{‡Èá~@I\’ГNB¹m;ŠèAŒ:ßêH ùµÍ“½..§ÔW¦iÆèžtµ5Ô‰·£ÑéŽ2Ìß/›l»ìÙábœâçX?wöŽ°À*›Ø?JçñK­ É–¯kÖú³E§MýÆ}Ý(y·Ô¸V•É´É¹*WÚÜDÄ„Éf´ÍBj" \UЖçCaše†œ’Ħ¸KµûA\ì*£É}§×j]ö![q•É2 Òš@2NÖíþ¯Òü[òÃÕ\+Ÿ%̺‡^zŠgŸi‡=À÷N 6í=ÜZ¯º°ÌÁÊ%1 ~éaÐØö&=/2G8~ÃVß^¯Ú¹rc/_­$[Þ€s4¤¾êcÁÞ§‚=Dz›CBˆÀ¶$ꉕÞuÔµ39i$\“™.{ iKÔ´VÉ&C†êÆ7×çÙ¨Ñ@̺­6Üܱ½ô¤B_¹}ÝZé,¬Ï +endstream endobj 160 0 obj<> endobj 161 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 162 0 obj<>stream +z§vÃuU–T 1S +æʾËÝ[Ò˜¿Ám¨³p/OHëÍc…8b¾5D[¶ÐÎíÀ \r™í¨pŸÜ«•(lÉnµ÷bP¯PÆà2š·<á³>0§1|È”˜£qNé:ßà—×ë™Dµñ¸{ÿVùµgw˜8@º;S8Ç?£:+@´ݽꡉz¢H‰£4 +‚¾ÖÏÑó+'ßZ«Øï7Xn‡¼/y=ñ¤–&6w¤®–‹–õý"f[Ô·éÍòië¥sËØÎ$³Jo¢ÛŽ‚¹X§ š9öf{%Æ™¡³0õkîW,fæ€S/Ýã˜fSÜsPX+ƒÐ–¾‹!g[Ð9¯G~f’žÊž„õ•¦Dz>µ!f çÁk͇Zè)iãAžq’Ƈñìg×Z"5AY•B²YrÈß’äñSsþE²þÖ*“û©m^µ.Õ—$òï é¥èézû¯{RC§ãW¦ù+ã/1ª h–ÝúÑÁ½MÚÒœ¹¶òT S?n­Ü«±x ‹ €Z)r"¹¨Kän«EÝ 3)Æog×çÓ“¶õæ¹`qŸ÷ˆâtXS5“L6FLöÚ6ü&¤¦W×¹ø’dïPVâ:D½ IBAO…¸F¼Oŵúæ4À¾,¹"ª4ßʳz\k‘ÛrKškH¿ÉøöI@»{^s`—£Xah:”ªtvùjç8S¿.¯ÚLoÒÄß+E±DÝù°÷"ÉÐÑ׶97 “†â¯·?àÒ¹¶Y%£ñm~4ã±ó]¡²à(©§Çi#zÝœš§H0/úˆ/àÿ¾÷KÏ~î™ïí¨³©³.5t}YB YÙËš8QîSPÀèÓ|A›3c FÑ àÁÙ ®€ÀˆõÆ)W"ø8IF;úó+“³zD¾¡uB¹,-Žßj³É,ýÔ‡Éu›Ö0YŒFç¹ùÖ^H`Ë2Ë”å^±1ÜËg0¢û9,£Újl©oÌØ6þEQøÓ_7®”ö‘| cTïz/™ ˜Öò‘†‰D=Añ~%é³Zd_ÉPUï0ØɃø_`ÈŸ'=`Èl|˜§ŠÖƬ6e"ýKº\Tà6<68ô„É.’ñz“h±…¢ŠÁØ lÅx[|VeŒ¥©T±o ,/š©b„ õçû¹Þüì‡Ò½vY—:?=ňJßꂘ©žšôyµõÞ÷2¼.ë±( HÇo‡ÿ±¢˜¡¥a­U³ÇPÞ®Y¥‹$?îv)ä~7`ê«ú$3BÖCUN9ç 2ÉwÌWY¥ WÆ C–NdÜæUOç©À§\’¦9fn‹ýo9%¬ê‡mý£$oÖ΂2§WAGM¢ÅÐyN)= wnÀ@5ww¡!6>æaQ›Ú40oÆü[¶ýŽØ„…¤Ôž{ѬWÎû´rA'Á[¢n»™ªÀpW7ÐcÆnåï¿øD•üPndî¬Ì5\csl™]U65T/É3Ÿ¨°Ä‘©‡7 @OÕTÅÄß,G£Ç?î±€î‰ÜõO ÃCÂé<»¥ÁM’ß›ú4’ï1g`OíkS?Lõª0OÂÑQ+¦f k²¥¤u僙Í?ðÇaKoÚ“òfšhÉíI ”úÇ ’=LãRY5Hæº5åe ïeLð}r@:`'áıco¼ÎeB•Un«Ú®ÐÕyW¢Á—9°ýrÔpZ°€ÍwÚŠª‡£7†ºÙàE]šj㬋¿º_qÓ_^{ZFFU…^ƒ…,¥ þþ«*ÈYôzݨ+A†íÙDþ ‘Ípó_ƒGŠÉ-1Ô*B÷¹ñwðxJ'7S úî.ã„EM! ƒÑÝ QáLSMG3^ÙC).ûvÌ>Ss"M¹÷Ý€&>õs‰§¼;‡oÄf½sˆÜ榄£e û%ëûÒê [ô[pö»eßô–ÓÜzì?D‚šf‰a®õyâœü5‹>Ê׉ìo°«áðSâ»9B“ÜLµ0ý—ìq…DóB:bÒá™@ìÊ*y#Þ—GçNdÊ2=nR¯Èp±gMøú"”LÀ´¯ó²b¦NaX\7‡6#5›üjá$ ÌsͦܞV¢ÏWêH Ó‚iOLö?UG«Ý4BΟdw@”}v?®±Ž|i¯†ÚÕš86µÜÄ‘9ä“QÁш9CŒjG0®í>•–S „,ÒJÞŠûdw‘©Œí‹Dz¯T/ª×ìj©Ÿ!¼BõŒÅþ–Y ‚åÞ~O‚7ë4r[vºÙ‹V_{úý F]­žLv"߸.¹ÎíuÀ´ î¬êÍbò„LÏÉÿ}¦Ý["wûÌš„"ŠÕ´Û2Tð’ÒiL?ÌÞ*¤1Ê;òØBTÀפ¤ÚRl¹omŒÉºú:)i¯¦€:9C鳿`P¥:´­VÓ~]ý‰uï#]A?Ï(2ÉQµw„˜™Ú\ÿ‰©›±å@uQö{ÅåU ¸²~öó*O,Ö[‰NÁæK#Á;{´±êÇçE2ÙÆ;ÈS=å×U@ÎMçÀÂ(ù‡‰ÉCõ<9¯5-Χir ØܘR}–K½­1 è {tËcûµ1ƒîrû-·ÅИHÓ=¹SÙ‡T#JP&ÐÖÛ'‚ÚcâýòIEâ37HØd`_]²ÄÍ!(ÞˈŽ%ôéX*ÿìo)ɧ?€.ÄT.–Æ/TSîYÄ™pEƒFaµ +ù”5^OÉïÁÄ]_´ýÚM䤵æJjˆØ´é°ÇÍ8Ïðï“7ðX’Ìü‚`‡j~é7Û½¸šmS0îTè !â 5ÿ‘¥ +]Fy·,¸yçgÉJŽÞ‰…ÌÕVjkÈ5L¸e(Aè㱈S37%ñ©HJj"ò6áBóÚ²LÂ(GŽ¨Ehÿ®#‹-ì?‚²ÒÕq»u.S ¹‰<M[ã±íÅc‚ÄQìKk0ÏMNå¯_µî…凿‚t !_½‘¼3Î<ÜQ›Úc|í9{Y«Ãh–Ï‘ð½[ae»³ƒ’A&‘ªQ¸½#“-c;úúSö| +hj3¦“P‡z) Áf´!¾éFž‰ö&@Þx +Ï>B{ìñ ŠÆåž-¸E À`% d›^¬Ä06kØ–W.G¾—ÚK…1ûlˆþŒ6Ômºz-ù¾G¿îÒšÜKäÝjäPéËluœnX«M„íвP_o Sxž|J€ÎÃ#Swc-¢±Ÿ›ã%™JuDÆÄÈûʹâ^؈àý„$«D¥,ñ\bXá†btèðÜ™™üò]ù]½,àœWü[æÀÿ4T¹m¬ŽRï|L¤C‘D™é1lšz&/t8ŸÚÁK¿²»ú}¿Íó +*a¬£ x™Ên£§²¨Õ¡ f[”R»}RÝê•YÓØ÷ @ÊK™5¤ƒ·ôSåÃ=÷ƒì|þTûx¤ÍA*ϯ2b~F¶1[ÎΪ×h丸–S·X½#½)—|äõ<ãÇ{–¸Z†±E½¯ø˜Ä×è&Ù býÚ¨Öã_Ê!a­“¾`óÉÁz·Ýq¢æÉu«‰ZåüÇ=e!‹+·’åŽÖJ[Q¹Pªõô€3ÄÎp¬A ³Z‘ÁEÈžµ(½X˜¦´W‘) +Qûš;½•oÕ?.sªQ÷‘v_œïHzhu.˜º£œ@r¥œ¡#qmÑà¬ðæõÕ½30‰(—Cÿ7pU1Ýó 7­ 7¢ +§Sz+_5 Çáüù*êu¿ì5•Â¢ +OË…êêà«®‡A«-÷¾'ôæÓHó(ÓÝ9‹• ³_ö/‚„¢ñfY|•ÝzP]g<Â㈂Šó¬Ý0Ä,Aº +È@s¼s¹(gÔCû-X Û–i3ãHš%™HŸ „` .ådRR#øªìL‘Jrþ>,”ÁY.ÒÊ•´î'Åÿ67»’ÉR°ÿÜ,JŸ°þÉüŸæª!üŒ^þÚÉ +endstream endobj 163 0 obj<> endobj 164 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 165 0 obj<>stream +ë}Â:Jçu‰`ݼaŸ¶±ßÙNÚx ˆW 0{¸ÑîPÓk6öB&O—bÐòWk÷ ØÚb;´ªsíÞ¸”k”¢>i™Ò£áEí¹KOAÄÔŽ|½´gªÓ`ºkøAs”B¢ÄŠìä°g¾Ká'¿sÂrpÛ"²6†b§z@Ó,ã~Ê ^Rù‰ñP÷ãã~ȸØ?ü¶Í­J¦CKä;+œÃJŒ9XÒÿ ª¿q–ßÜ`@ª¨«˜Fv8ÖÏ%Øùë‹dÔ¼5hÖh|«ókðMÇR8§P&­†—öyàžqs§SÞeܤUHm%EP*î{"/ûsþ[íƒvYo]9f<|š¢Å€]à ìúöÊ!Šº`¡ÖÍç½NÓ†"´s_ ˆà4Ö—Ÿ-`¥3=­ûvXGAÆ«l¦ÁðÓ¬¾²ˆ>oËCi“B|y‚á{¦MŽ¿Ù±¼’0ÐÓÚ=ûW¾B›!Ø¢ô5ËŸ>4Â7¬&å€ß˜?F_«ør¾-I?#|ŸÀ*aD¹ýÞ k¦éçä¼(ÿNz nT«þˆÓÇñ¬âÏh¶iÒèá9záц·ü´>ïo“â·q#®ˆ|¹S¯¥…VLD‚‚tàÃÀÜÉB±.pp»ÿ3ÍG€'¥Æ*i'¼• xv÷X;(=Göy!ß’~±ú]'ÖÃw/8¯Îƒ l£s(»Éu§(TÌy€"ïà +'–¦7f7™”äÓà’À¹Tá¥UÒã.ïÀ¡y¼f<ºÂSÎB_1[aï°¶h³ôî’w±Áã8ô‡PÞŠOßÌeÅh†#[ 8¦ ÂžøØ!;õ¾“6-][QÈG`¢õmÜ%Þ/t…à¦3×î|'†/%eÌ,uµý¿g|j¥ùÑÂñǯ‘[´”Ó‘y#öÃ/˜ÞÑ=n÷À“·«è÷¥…rX•8@ ŠG$ŒVˆg0 ¤¦ϸÞ)¸<ŠCK˜(¸™à6ýNìßEºJ€S¡m;x\~Œ?L–Ï!©s–¨ñ®–±´‹³·´#Æ8RÁâa|Ü¿m O¼ôÁsÔ¢!¹,›xd4{6‹ÿm+ƒô…a{0@Â5_£´x§:î.6+M8&.¼€pÕ¼6 NŽPàj‚?«g&òeYI8še¸sã&„÷έçŠÊ©+û'”/_œñ;kN¶7õ~ ¨éb(àà8‘`æŸPÏçq/´¿ãýå;ë¼ÿu´r$|ÿå=–…£¹*½êDFq«'šT#UátDÑXƒÒð§ß@Ūä½úK0,Å iŠ^„%»=çÅÌPJ²”e`¿‹Ž¶ÒÒ­L7é–¯$ŸËWŒùõ6ÂJ#çl  +(IXTú“ß›,¡ê¢ÁÍT[ˆä[Éÿáh«ã¥Ø—º +Õõæì!š›Q…»f¸z – û™è§b $Õ\Òþ”­ ,Vô»ç•Ö=`lF÷'Cë—V'´¯‹qÛ3R«T0ryfR}O ¢[¨=mãLŽjÒItd´ÃDcãYýÚ–Ÿ´[° ”0kÅãÕ¥Ÿ+¦»ê¨bWœ”ž—AÄdÛ¾ÇÅÜÖÌòÅáQûqÄd§ñ±<~>ûûÈïk¿'Ò÷~þ÷åeg⛦úC\ɜˌ]Ÿ†¥é›Kº‹¶?ìEëÞhçx4&öm$¾ÎóÄ´. jÌÊü!×é¨KÞ ootFÿd§xuÎÄ>ÛÉ¿OÌ™ÃGÁ{ðÂ|,b;øe廑ã¬Ô$´1 +t´%vãaΦà”²‡H~nh¸»/Šâ]¾Ï¯RbNˆ‹Ýîy"©‡Möo+1¿M GY|^eŒnVahˇÃþn’Û1˜ Ùªý}¶Þz/âgFåá¾TóRê6•-² +-¦cw¤×TÊŸÃámÄ}etÒ~·ædçÉ:-½Ñ¹I,YÅp)Tv¡Û¹«K4Ó"7=â.Û®ñç°™çÀWqmSbÜgÀ‚±ô‚÷eQ§ÿñÁ`F†Ókd–šê•q«·n‹‹›^µq˦ +»JAq9̆Tgjñ¼Údf'eŠœ{­ ]0‰|óBeE©˜yœÕšäM­a6¯²×J]zƒU=B0ܾÄd8€Ê𶡱ɛœçjý1îá×Û¯‰?n7߇Ð%i|ßy–`ÀM7®ŸÊmݽ1ZÞ¬ÅN†cÏD8'Â¥JÿF€Æ¥¨RÓ?enÌÚ.1^t¸*úËÒ r¯Ä²ë­¤%.D¶øvÝ=m©¥âäô#; œî`¯ Ì’Âl¿;?jU4¬“KJq¢y£[aÓ½åßå«LøÎÉyU gP*~Ï#–mÃRä‡è3ájÖ™ŽSb‡—ŒHc{t‚ù&¼It¡ñÔ¥´:s=pë÷.¼‹Òä³wBÃx5=b74}°¾ö ´ÓЇ/ß\A›©àáÚH—@Å®R¹«v$G¼C´ÓEÄEõ‘OhQâçÃ\iâñ¿ùŸ|ò+£ƒ¡zü@mOÇœÉÃ$ Š´¨õmW˜±é''[0(µŸÒ»íRô' +MX ¹‡~øGÊ^ŒUZT€JƒÂ~F2-¼¤à@&üRJø#&@ñ£¿»LåLã˜M“ƒxÃÛªg lÛB$¢„Í#U眉ÄÂÄÍ·÷"í·§Tq7;Ÿ>š–±z}á{4í|½~ë¥ÜZú\ÝýI‰^JÄ Ý ¦¡kØ ¸áª×ĦÅax4èÄÁ¯÷åj~aí&= +éB+Ó’Ù¦çßçº'Œ²Ü„Ân%­ÊΚYQ„m $ùÕ‹¹à˜eþ˜Â‡¾+"M[m@àB×ý±AX±k¬’^±¯\ߌ_dËZ< +ļ®Vå»yÍ3Vºª‚˜bßÑôQb^ ³ñÓ«„;U†“tsWVRv( py]óΤ‘aoåØ“lXqB®åâí*P½YžPϳóýi±Ã8SñÕÀ8_«D‰ѤÐ10š÷ÙS,k€žZ° ù XöéÔ7²€¿áR™*<1v+5ïꎤÖ·U(0¸_æXP'_£Éò©äŽì +# ¹›8´/ãšJyÅî({pý³ë2“׸wàûV4R.ÞògÖ)8ºÙ^‰Äºô. ÇËž.»ÿFݬ&ta‘­ RDòß³Õ9¬‚$:Ø°ì3¾rjRÿQ?7JÍÇqŒÓGŸã©0ÐíMq'YÝìB øM™I$ºî$ñ' å]í +NñÞeð´"Ü(”»ÊL®é1S½ü)l£  o +¤‚‚9}r?lq¿°7f#£{Fºçg å{µ£;L}\¦.0K8;H¤ß·«²Ÿ5éc]&>¡!…%Ê´sZ”^0îFÉFHÐS;£ÀL–~{XîÒÁ_¦o¡+eÕådqñÌ6‹)ùéP¹“ Ü‚l²Ñþ%~ryvŽ{HGV>ƒ;¿Š]D™tè àæÇâlŠ}`9³Egp–5ƒ¼q?Âàû´7¼¹fë«Ó±2a·QjŠ•“Ðë™N„ +™šCJ†\™-ׂðõ•¯ItÑvœ|Ó°‡ú=Ýn6c!·°^å˜ñÕ_oÇ;ßâ›´‡ÐtMl$[P_iôÈ#n»~ +endstream endobj 166 0 obj<> endobj 167 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 168 0 obj<>stream +le8jþb’Ó±¯SÏsŒÉ¤ç+ÄFÑ\0>¡;íœ9iPõy„.ž·†¸_•h>,ÏOùãŒgÇGZ%îðZ€I]ÚA×åCòe¼¯¨ž‡Šôùw *›¢ÿù$ûH« |ÌæÈlÞÆ»VE^HÙ`¾þW÷ÜÍj‹Çu º™™ì!]‚Pø‚ß°åBàÀ¿M¡ +ª +Õ†#!6KØçè1G×Ý{<Öü‹æåM Z4 ôD@lX~û¬ôÉðó’ÖX Pþ.{S@Y kS½Èfš¤Y饱OˆÖã5µ´’)؇ÀHB±©Ÿe'Iì¨õ‘œ9½¥;Œ)U²]|¿«Ôõ nÅÅ3OPÒt3Éÿ©‰£•–ëjPÙ&wWšù±¼L#‹ÛaÎâ{1rÅÔHÏ.S¾ªÊ¨ ÒhGªüÒµŒ"4vP߯ˆh»W>3Z… t òÁ9 „›,Ç`ÒS¾¢¬HGlƒ)RÏKjžª?TA{“S×ä#Ádêf¶™Ü +·o¯ +¸ +"jþhzɵ(l® ï`… q3*O÷É4ÔP W?YG2Ýè)>¹]X,áM#Ô¥ÄĺÑù¸…3Æ‚s‹çÛÓ, ©Zo d@Ï`m”M_ ;HŸu͇8ÀyÔêÀpÕ§0£º(ùGœvŒrbZé¹;+Ý)o?z×nC|è¨ ã_íIØ-Þ`M鮬Ba‘ìV-Ü1£k-†¿¤©bÒ 9„yñ‰Ý…ÁÉ|E˹eæUŽ• +2è=d~01³KS4"J(„LÒ¨ètAâ÷Ò¹$E±× +™1ÕðˆeÑÄŒhðm``‰³·Kß7?6hÑý±J(gl+'™ƒÃ…>ÁäpEç3¦9ÿ•ö¼î|j3 +¥OÆü´B¯‡ŠÊÔ¥‡º¨ú+Žvqÿã2áwúµ6Îâö#Pá"éÑ“!· õ;Ö í{íõ`¸ð£xºQÞ˜µHVŽ"ŽE½K˜~×)¢5ó)ݪåHì¢ ¾.}ÀÎù‘ØI5FG±ÿåè¼Ðm¬NkCXŽÜrž$ÂVÿéx‘ ûîRCl¯44a¸ž7ü6Ë+cïå/·o wLe'Q†ÏÚ©¤¿­ÀùEŠ¨Gù;pþÖŠ¥L–2*Nó_¼ÁÔ£Ú2›ªàõœ&¤¶eì¢s¸“_çrKÞD ¹úXåÙÖ“ϸ1“Gîfâ ønè=ôŸ‹,.èM궛V ªm¨…‘ÛêÆ Ùœ×= î.´DÁ‰o0e¡Tà)·`ƒYf÷­*nÙuoŒÁ±0œRF=]Ù|~‹l: sÇ»q”]©ÞyÐ'}¿[=Ú6ÆãdÍ= £òxm‰F|c5¿–ÀÈ1úé jæµ|KËô¢èL3²f#8*kRwQ•´?{ú4”y;û2Ñÿ0w“…ÓSqØ[)é¤øtKðá­šõ*y9%O½ú±6O=«N Pcš ¶½‡d!Ø!‰}éÖó#ùëØ?3‰ ʯ¤"…MÖa¡ Ê°¤¬g; +5êh½X½dJ*T36Ê£Ù~ë›—ÇLQõ«ý‰Qûû›"”}â1MAýÝåÐä ¢ªýºƒ®F¤ÍH26Éà´ªÞNýâÞìÓ\dŸKžµL¾[”wM™´ˆÓ==¥H/b7’¬U8SŸ©pù¡vë·WÍ-ÑšâX+Ž¹ÄÑ´·Þ u”èzÌnK¼]~óDöX„ÞØý-Ñ õ‡Î‡·¥6AÐø_%h¯ç9‹àøL°¥·qÀu} vÏÖ›à¿T½&n #Gøg$Pßhz‰Ë¸„wŒ´~ôØÕ’S &L¨·ÃF»L +v¨1fÐ@F”yì¼mú0SY›z-x#ŒdË+{(™ÌÆßõŽÎò;@ÒéË-ñp”¢RÍ §ó1šá Zݵ5”cBåÌ‹±ð@ÞÌ +ôO[žžöÛ1M]ºkA Õ3VRÝ€¥eýœ8á(@w-ÄÜ)¢j×›±¿Ö¶s` 2K$}3ƒ[Œ8›Û¡«ßÉAkèÿÛÁt9ñFòµÕ„e£zL¤ðy‘OH‰À›ä¦{òà¼ÖÅFü±uØítûCÔàöœ o“]6±F©áßS¾K› +ö¬$á™8æU‹ärõ5#}ç?÷Ý*y´bpu0Y +ŸŒ¨­ùĘڽ[¾Zjá3ãåâ/å°Ÿ”1hÚYQš¸.× ¤Z Ç4mêyzçM“ß +?…4v#›*^s à4fŽÙV†µÑ˜¾FůÓÏÛ>6|ÚnŽ&lÐ8éÖ‹‘]66À«Œx2"¶ˆªöS5ã0 +`Pp¬*¸F:wŠ¬ÿuÇvŽs6,ïwsÌŽÖ‹ºø!ä3düH4¶å:3$Üc•Ùðeê2¼¼˜ø26RÒôŒö`‰˜Ãº¨ãõãýˆÛhºú _ô±‰òºÌIhx4»ç~¨?„ñËÖÈâ•ÒmšPDC”$u£Yo•‰úÀ6HëŽ{•9,5Ÿ}ÚÜpr±çű½”ð†Ü>Ê;[U5/" Îl³g±•iß‚VëV@ˆ9É2 'Öο3_ƒIir´eð: +¢Çƒ£ŽÒ…¿Ø"Œ)O~ù¿0Ô ºvÎ'g 3ªèôT3ÈY$>^œgJì¢7×x°ä%ȸp˜Ž÷y%ÇÊ$³±CœÕ@e)“/£ùÆy|œÈ±pÖâ>6p½†r€òGH¡â1Li½p6RDlB—_dýjO’ ”ˆ=5jé`Úßa’<Ÿ_Ä\õu,¢ŠË){Ç–%Êb° Þâ_à:ýuv³ØÀ—ˆYóÿG1ûÌÙ*9~]œÑ¤[»ÈÏÉýëhá”Ã.ö¢&שe±ªµF6^ï®WX Ù…Dqÿ°ÆãüVv?ÂW2Óå7nõN[ü•(¶&þTÔö†¸s´;2…—˜`Ìû$û1ú žPÙPÒñüië]YkB]2…f³7)yÌ:Sz²éí™ÚçH"(³ôƒ0ˆß’(Íöý¯¡Ê¯ iâqr$è'ëÿøÚ(w¬êÕ+WßQ Á$î +Ü£äð*£«€gðRü47_ñ“ÿÎXá^XB~õWÞÜFìU–ªïnŠe?îQ’€ªø³fÛ}´°jÀq›×ç°ë}f×Óëö—O¦œ)!iáx\N˱ؒR»É“¬8~dX‡çg}æúçù8VgN÷4Ð5ª=]ó NSèÿXßvPŸ‡VBüc»&Üf«wM©¥uXÆõwUî ÚiAÊ=˜ÍÉkRäå¿o +ü'\±(ÍOˤ9áñø;ñ7¢«Øá5Erqý$ŠN|¨†E¬ûeˆÌ|Ó€Z^DÁÍóYjˈΠqŽ?ºj¡}¡¯øj<k0FÐꮈ 7t½B\‡¬`b¦û)u•h!üxoçhM]*Åקv=Š¥*DW Y؉ç°ÀEu?ÅÎÌÈP`™§e,bŠ?㘟Î{{ô‚`R¾5íLO¿ÆŸ´û×·Ìý” 8Où¬« $ݨ|dº‰Ž Ë9Û®ÀóÁEë×›æ}HKÀø@p/³êb¼#^Õxí,ïõ‚â=¤i]{XƒÖŸ÷»„à;2%xK»6oaæ**iö‹YÓìT®ZJöô¿U[–)·~_,¸ 7øògýžô‡X‚¤jþ,—óô…¸CâÃâ·€2Jf4®ùæ|³b·÷»Æ›rŸVüãëÅÊ,¥}œI Iá†òregËßOj¦_°(5œòyÛ_&òߌr“”5O%åŠ{çHÎÀŸ»G &¿Ì+Ñ®öbvÅlcmV¨{lzý-° ¨€ÚzA»ÏZi6Tm?k‚ÅP5Sîq=dÄ¢k½¢¨=}eG’YRRÐ0–Çqþ‹¬ßdî½g-O̓ñVGÉž±b}Ô”òýHúü±b"DËÑO +G9¾~P^ÑwƒY{ú÷½^ôS#¨eÿþ5WÉ>Q¦qª»¡þég Å»,¦àÍ +w +6/Ë`à¢ÍsßoŠ‡qLT+ån8²»ã€ÇÝ +¬Š%‡’+’?ÒIuM‹Aü=ðºB"•¼M1¹Jv2‘Nöb4ž4Áv¦¡Ó÷^÷° >¯bÒ°¨˜ØtÕï£'.‹;V,[š³SÀÍÔg»U£ðEÕÅæ¶!ÓØ£(áJǺðÛ,ªiîȈôX2tµ ‚κ{Õžfà.ZÎÙ€ ±D-¬t¥ËÈõ Àæ܆ûÁ×=´%AŠ¦óÿ³³„hSæ\+ÿñ j:ò–àÑy]ˆÌÅXaŸ[ìDŠT1€fËÓm‹­“î€Â/R¸‚˜ørc÷CÿÙüJ õ•¡Z1ÏŽIò(^J÷ÿ$Æ>C®kÝæxÝÕ®¤;õHõѵ"iæá,`þ‡ÎDjv@;vthþòþYÃsº‹ À …JwXpøƒÖÔNMŽpm¦°w“Ã(ŒåñЙ§û¡ŽÊæ,]ªÜ·»OÍ®¤ñä:*Üï¤#è®`V{0ûd|¹„yýb{ݹjwÍG/&Cûí ¨w“c¬ìÊ”úB¹íDEªu&ý— +8rùq`ªB•S…ûTóÁÖäÉN Ù¾<çV·)Sùÿ$3 M¥t+4þ*Fýˆè±ÿ +0þŒ°aªa݇E Æ8Ú5¯zZ•KLa峊µÁ{WUDª^0ä´z ²×CœtWwH9ÑþæêHZŸ½xìr ®wÐŒûÏZ>ö¨éÌÏñTúVN-yp°õÞa#ìïc^JmYùídÔЕ0â`kÛÚŒ»A·wå5;ßC‹„\ze°‚‡4"õÕUpææ :c t3(¡… G¤tY/@ˆ ³øvß|ÜU² ”=‚̸ÀVɈõqòÙuV)¡>¶a½©Z¾ËúlÞhD}¤K¥íN››“ãÌ3‹ÖHÐèÁBFørý¯,ªB1·Gƒ ³—Nóõ–¾{ÙàKÝAC¬‚P}Ó0áðǨpQ»²G ை3Lɹäj8º±x‘5†k ÃÅje+ƒÜ +endstream endobj 169 0 obj<> endobj 170 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 171 0 obj<>stream +>õ\X“ïy‡«‚±ÈÐd‹Lb&¸¤¸¼!uZôBüñµžéÀnÚEÁ‡±B†€jñE‹¼ýù‡‹‰nvœíSßùÈ)Á«à6Z?…>&sâÀ¥Pú ¢)\óˆÙ±ã•Ñd"ÏüߠˣqEø0²±Ï€ VÐŒ³ºu<×oŠ!_4§°0êS5òî®5¢¡»×§ÃBÙ˜ÇW ‘ÁÑjo*”›"¥Ö-E- âV½D3½÷£ %›R{÷M(àIÐnþl;nÿÊó/3‚VIGI¬ñÌl£ ¢áiX:($ÚtCdBJ˜“4·þZµ$†´Èëàœ}×õbNÞiÍ8Ï>ŠñÚiĆ6âÒDÝI’Ï|QíÃy|Û«Ÿh¶R±ùŽc{€_r´þ#ãJaP›j©¹×ªŸÃ3{ݽ±%Û®/ƒª¼)>èt÷ñÝ:ƒ²ÐéüB÷*}rFa B ±è6º ï'nÓïR#aa¡Á{î.¦’ÔÕ-á|Ë3|±kü¶Ô+d[xÛN]G?XMƒw¼”rQ©ÿÁ]8Ò¤,‚S²Àìã:ê(0í™ìyÕ}•5“b%<—â|ìoS{—åeÏçáäú5úCÕÕÙ„m§ÅÎéÙi+:Êðun–åí‰ ïÓæ¯Uì>Éà°0¥-ÑqøBi/'A¶àȱªÆ)&0å_§ÒÉÛ ÌðÎÕX·¨ê<œòg§9àdx§©Ý,ò¤ÑŸ²˜êÄß~z¶>DÅfL†ßt$dŠ¡‚Ý+ÙËIæÎ|XjIQ¿—I:(Y=©ª¼4pSªs 7ëœ>lLk/äà.¹ù¸Vèz1Ìãò̯˜œ§['~ehý fÓ´ÊE||Õd‰r´Âçñ;Uf“j#;=CØo·pEB}îÌy¬É®‚¿{Ik`”Äéï?•“Æ-ªì.ŸÅÏB°ÛZè3 ï × ’0VEn39ºè¤êÒ|üŒ3y‹PìÀ¹'Úx1>Æîç1k’Õ2èÊa&ûCM¹a+»ø å5 ‚Ä¢×/¯þx¥"rq<þÿKfsU-Å#Œ ˆÒ,˜VÅ'‰+AŽcìKÂ/ ò}:KÎ_:MHË26e¥p+M kž`à,Ú‰R9‰Èû.ø=bNYÝ›´‘W€ÝÕöÚ1†I½¹c€rÊ‘µBŸ·•~jYB»½Ù×þu‚ ŠÆv9µØqñ¸˜ž¿ßµOQ_Áíh”0ìû: 2$¡Ø8ƒ2?U©ýÆê{Æ¡ö™ƒµ¥`R==øB¬#mŠwâa#ßE_T¥¹áU—%‚³÷çÃW¢µKF‰QWÈŽ”zƒƒ8k‚eM©YMrîFTþB:]0’T+‚J¥I(Do@>×ÔzZÏGÍžm@ñ¾ê6jÅNŸ—3Gz<T<-–hnÌ$¨NUµäÚï?È×®ŸÕ‹|‡m¿VR.öt¢¿ö¡“/áÝ žcdëllI T#:á È]QÖëE4®iôð¢ì,-çãg_hMSðX­¹?'øz8Òx˜jÒ6ƒ#•¹cM'µ?½ÍêÙûHuüU%Ö(€G‚! « ¨ÅÙAR»‘z1åãÿ«žäé©ÚúH¢‡ÅFi#26°¿=ò³¢%€çº0÷±Mdúõh&@TÍ,’«ù¼nÛn^Ò®ç7eè2NK’–²œhR«¼&D1嬀V6gÒ¦-ìê¸I¶ µ¥9éo˜1-r)VÌ‚]¹íŠìv²½^hJçõX¡Í{/´”ª!Bói­+Jû^^âù Ò£¢zž‹> +W`Sä¼fÆòcÔD¹åÄ8®É1 +è",òh`2(ÝxÀB±Ù)¯Ü8AÿvED-ÄñÍ¢TXW„Ô³`—ªrÇÕ§Íïé—`ÐL™`’Iß›¬èàœ3®õœÃt-ÆÒ?š†ÈKW­ž Q hkzMŽÅç;AHC”ä7§^ zíúž‰QÚâBòs~é“êÛˆxG2‹l,özT‰­¸ÆÖ¢Š ¿º@òÚ¿¾¸Z®u¹hü:êûñœî'}סITÙj€0"™£:–A Œ:ÙóìÚãÛ}…êÝìYl•*Wâ#ÙmÊ-bé¤ÌúI|­RU¶yl µÄ)v­Pø°k庇)—+äðfE²þÀÛÇv'ö +|?ûIž ¾¤æò;Í£]\·MK¢ð°Ú×«Ü söÖôÔSõà¡ÍßF‘ìÕ…*ÀLTE¼4ë¡ùÎýM@Â…˜Õ¾€Ô¾œŸ`²5ñ‘<•ˆ¦÷8ë™d_i&ˆÀð)ió[Æ°JeA 9°Nø(BĦwäP4*§ds°ÁZÓ¾¯1ÃȦd®•"Vš¯)ÎûpAHýü|ïN™©ªÉ§"mÇ1ýu~¹N´z>âÝìofP_Úƒ¶$’*Z‡h¶T\¸1eùÀÆíìŸJ‘{‘—†d»Ùšp‡çðG4 ˜”5,¬•v,p¬n¾'qðXnô˜[é"ŸíÀ×L(çÖs.ŒBqQÉìŽý«0¿Ï¶ƒ—.\è ÞÄ +]ÚÃÝxªùÚ??à,vî´šYŠÉò>~Q„ëlH{-¨ÎçæøOÐX˜Œ'I{9ˆBóŒêŒÂ&àÓœ©Ä_ÜN¦$ú‚ ¸W'ßB]¸†É ³À=ó¡“Š÷Â-¶.‚&€™¢çQ“ê&✄"yZªX›±Ò~Ý城yµ”RU”ÖB>ü‚%Ó †§À/wFÞ%¼!R^kVßæÁbêÊ G&f@üz+ç!™D24Ǿ8;âS&Í—Ž“äCÄÛ€ÐÄnÂ`tó*©³12JáïàYñÄjÖš¢Ô™DŽ²âÚð¡y°Gv94šÃ‰µ—~Y¸ûkë•xžµË¥Ÿ ©ƒ÷ðœZ¦|q¾¨ë5Q5W°ut)™Mú16@ܾI‚ÌLh§€á(T³E°f@aúµ ߦĥ\ 9q‰O9Þ¯³-L‘ÛÕ´×å7,Ÿ-±WƱÈæÍäMüvÒ8;Š¯yLòHbYmzò Ô\œH¦úÓP(*ú'^öÝ´hÆÝLYàŸ‚¥uhS¬à«n Ž™hl?ˆ;‰tö†ŸR–iotÚsì$õÖ6-!TÓ&_Ï¢ë¿$‘úÖ)WÅ7ͺ@ô‚%ElйÞDÑf¶8Yº¬&Æ–8ë—¼‹‘§”’ùÿ–ÅäTÉð§$™ˆáFŠhp]8‚!L ¯¡¹Ym6|÷XÛ&¼ÜH šEu"[k5fõè£ÈËÄ-_î}vN×\¢Ö{ƒîŽÁSMÄ°p]i%”ÎÏ™¤1ñ2aÇ#'ˆž§¤G3ïŸà£FBžÁ¬G–«Šûj¬Ò!ãû{üës.}m:Zé ÇàÿB”ÑF×%O~RK+ž§êïéÁ¥‡’•¡IŸ^·ÈmžÖ=z÷]ÁÛÚä¯":ð_ž;¬1ÝI±—ßpÌtDÍ°ôÆ’ÙÖx`Tîiƒ«ÙzôŠ‰új¶ØRWç£øªjè§**"4‹¹­9¹»`ðŠÝ]ñÙ§¯GGý0ké~­‚r—áµ~öÛD¼p~3T^Ö + 'ºÕsÜFyç–æÍ0á‹,J¿ÌÏ|;g[ Æ=€[aqÒ4»^jI.j× Ky¦bݦ2(x‡hÂéÍ-}!ÙWï]n&â¬óãéعâ]üc,I3ÛÓnlU®ÔÇ»1á¢õm¼OÍ;h NËQ3u8俦‰¨Pþ¼¸³;²µe1½­¨Š]Ç#éÕƒb¹Ë¹"ˆ)~¯ŠÒ'Bk‹}»4ÊÀD}º9ã°÷¨ý§ˆ^ú0¿{<Ϊ­h!,˜ðÈil"³ÑlÚ-u%OË›‘¢¨ßJìÙ1Jʃç¯ý½•ƒí.Í<µŒd#ÙÅÆ4ù)?O}Á2ï>6—ÚfÖÉ4ü#…Že®=z›ÊAb7eƒ‚Ë2Ÿ@±$ëQ·ˆéíq¤˜&û¶L(T!Þö±VtÏÖ¾! ˜qA"Èø£Þ +\„¬]ïz4Š£V·`~ò±…ðKhíY=÷\dYÒˆ™¿ŠÄäÕdò˜„©ÖÔiþ,x4E»³¸C–Ί©H-B (+’JÜ÷­+íÁ•Tïݦø +Á…m¹Ñ(¿T@N(k 2çÛ¶¡«²¼›oÁ6aY*¯ +é©­¥‘SÄ“ Êq&½¹®Ëö,ä^ÒÉîane0â"s¡t&,.×j’ÿ5µ¾žÇ¸¨°ˆú‚”†'xf¯yŒ4¬±c$Éo¸ül<Œ'€œÿ.CbÖð«@6`’od‚ŒŽ× +š4Ä] ˆ¨7’žìjäîÛØìŒ9¾o÷»ÙF39˜%[©ò¡` +ï2ˆû,Ncƒð=$²t:CI¼Ä=ïÃŒ)Qâ24Uƒ 6zvUjúáËUpõKQßìf4â=ÄÌ¿wáæª6ÆÓ£l¸Z)[Ëg5ý踕)<-²õ¥¡,Å$ZKUQ[Àªh(F䋶.W \ƒÎƒ¤ZœöØÒÆ_‚-ÂtŠ­7Ç7®¥à“°_GX·l uh„uëd¦OF |+hƒZu¹°ʽès #ùk[!)õAñ\­CRzγPt.tÔß}ÿ ßÞ%7Ö™ôAŸ5︰„b>dlÛf¨²ÄÇÒl å_Rû´ƒyz²3=Ú•’å+ÆëŠÑHwv«`·A 0Nòh¾Ä‚€šaÝð½& BùÓú6­í–»C‰p&|"€ÕÇÀ+ˆ–”z€ÎÆP.ÙÅñ·=ªr}ž8½:†šRòžG¹`—®ÒÁ³,Ö#HHaÉ&iù18ÿBakçv¬ N¶ÉŸŠÎ®ÊmyŒŽ} XîCû!÷„m‘ùûZB{¨ÒÞ)4´º" LŠo_ºF©aºz‚ùïh" +endstream endobj 172 0 obj<> endobj 173 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 174 0 obj<>stream +Bð¹”æS?Ì`GÒÈ'S_ìâ7Fz:Q*¾SðY ?ë’>zÒ ¾hAÀÓÍNmŠ²BçÅ×äíB噉¹7!Æ.ÔÁÖy¡6…°qû€–Àd–n§E6’ßÿø£ÐÞ—‡wÇÛ.©Õ‹Á"Îú‡,°èr +à &Ï„Á@¤|º´tŸÈÐVtô…cñ˜ñÿ„Ã9É—U`DË@,Ì™š<£{?6±a8Q™ÈvZ¸EÖº?" ÁiÛZN›*®a‘nJOíL¨æaYç¡ë=úYÙè¨÷·°";‹º€žVi6[ 2 ë`{aÎ`WÚ÷;Ä­ÖÜÄøÚõ#5h&¾¾Ì±—(Ìãð Sgõ\bÓ}Âàê)Å6(L˜ + i™«LD}^pÈ߇Z Š«º®âΆ4÷t»VòSÕÑ—–¥h [Ñ©P$ŽF(A ˜ß¿ãs²¬­/ìúx§¥´É ^Oe3•F¶¶Î  gËñà } +ØÌÔè ï²¢¿.gWVœ„2Á ˜ ‹LvQPS1Ù­ÞŠ”ÉÈY>=­×EÓT€šÎ™‘¯â +À±÷4Óäáµ >è$ŠK•˜t.ªÃVnL;9!G†þ3Š9Nå—¤ö5õ“¥«»{ê˜Ú¨æž ¢löGÕ‡dr]Å{o¹ø`;;Otæs3$²ïv BCu}‚§š'o1ìCÖÍOªï7ËÓnø.¾>CrŒs&MOÛɲ¬Ë =™4“«íˆ[%þÇ/ õ¥á¢{;N’Óõ® BÏ—~zæ-Uõõ”ðogjÀ³¡2‡3#ßc€õe×b鈘 èE˜gé¯G"Ãó5/ã5ëRËV;”°òƆò;m“M3J{@‚†Ü-Ôà¥Ròyh˜ŸßL ïÑ€ºw`i~Û½¡CtÐÿ›œxË“ÃZäTtÀj^óVØø-*·‡Øõ&gY=¿]$e%H‡|=ä²_-ë-^T…¦t0þ¤Îäâþ²k{x f‚–T3ˆK+4Ç‚u+­Q|·]þ›¬GnT½³ˆ=è2èz¹* ­²Ú %³‰*ƒë¢fo<þu—ìK@„eøQNÞç²÷@å„Ȉd~7£þCÝ;¸™ß V¬lÍŠ®dìêd ÜJ¼'ÅÕMnlp/³â[ú¦VwUe¯‡×’˲Iš±¡VÚ÷ÿO¾^Ôii³‚”"þ[' +©!®  DbóßÃÍ*X:Ä‘&]B­£ËÜ>‚¥D7OhWòZ5T`×›Ö<©(³4XÊ ¼[NÕº£šÃÿN!I °ãt8PjÖÊ„æQ”eBÞPBvámÔ/yÇJ0¶Þ¨’Åã= »N¡¾CJ=Ú¤+'É«‘d¿âJÒà £Õ· fb,1ˆL*ƒ¶vÄ¡¡~¿eÆ5»îF-¶1…TD©‚ELÝìJßM[ râÈ›[tÜL¶' gb_kMCµ÷ŒWŠé–Z¨;œ6ØÏóË'qgEI[á²þ–Ÿý»ÚŽ§€"SÞ³eר ë1Iz˜·T˺êèËyÂ>Ï+‘œg´é6:„bÂi”bG‰=²ÝK Gj´vÿ$NárõŠGßÍ°Fˆ°UØÉ-:gú*Îo}8 z™S¢ØƒY`šON×Ë¡ÜCnžúxÕ퀿5¯XËòà«‹Çç\6âý •<.÷ãê½²—{æ)n2ôl½,–¼™çÞ$”<[J}Ö$> ç -X†M¢^-£Ûñ¼ØíÜüåíͽj”‚»µÍÚÜÎ HµÙvaø¾5Yu„g2®Bʲ2ûÄðLK\P‹g?ªíûgÐÍöŸ¬&¶\‘ ¢0Ï º¦xiZ6úøø]2ºö pÚ;n’ý~…ãÆeh}&TÏǤtλ&,zˆ™!”¢ìé™ ÔYgÔ—Ñ¢×®:¸]'lYõé$D¾ù¤N 3BÀ1›a°üYÔµcÛN˜>ó`G,NŠ7e“vèÊ_§×¡ˆŠj°ŸÑÍØÍŒÂàrýÓ¸kÊ»ÑL;Ê°gúEŠÇj^ó<6꺃T÷€x~¥Wþ1^ƒÄo4Dø†Wµc¦Ü =Šú+µ–mŽ w>í>îÞúc¯ ž…ín§V¶ŽblÊâ=ðñëIð“Ô>‡·ý˯t•/…é+|Û_;?ÈSÅúãš ‘á;í7˜ÇìÏn;)û¡51uáÐè=*ݬ¸ z­+„§‚a7ÎíXæBSîܽåf8Ìu @>=„Խŗ/2dØ#)î ÷1ˆ*¦µ­µ÷$(g±ì¹7OJê)>Ñ°=ím^Ÿ«»x§yñÈTG«€ã|U›,¶P†%<§^È¥AÙÐ6èB½&i­Âvý噟ÿ)(²›˜J , +à™jwrÂ?/zEd;p)7úå×~„kkΘÞQEÀ¿èÂãV*5¶š‡ZµàÓ‰ oàÖá=ϯû[»MÄÇcûY<óf"7óÙÖ¼Íî1úhÚNIÐ9µQ9Ê›EqÉøyÒ KD7Ï·ÔTZK ͯɿ 8x´ç '`ÄSd°I˜®lš#UeH¼ rélâõk,åw™æFÉ „%s®ø— K²lßØ[BFZS €vñP_kѸ0/zr|µˆÁ˜{"ÞsKq6ÿyú @U{¬•MÅÚ¯½¨Õ35̽¹´}ÈÑб;bWkcüÛ>03 FB?DínªÀAO Àð¢Ï‚ØÞÌÛ#]×’ ÓR~^ŠŽmK’¨I…ÿ]Á®e6¡-» +Í»ÿ²ªYk¬È‹ ö&u[cfbÆRæ!³v4D—ÝüÛöw0Ì+•£ÇÂ¥©!v‚JÓ×ÈH]Ì /B¦RÂ÷ö»¼É}ìÇ1Ç5¿¹de)Õ<ÏA¬(.!иð›L{»eb£B Aíþ¡|%Rº{åŽ`Ý*8æ›Þ£ÍÄð¦M_¼‡Ü®GvÈW9J{²mæª\ÔÜÐÝÃ&,˜Z—†cNUš]Ó«ôµaz…ãCéTv`gUåpGêžM²ßÛ@Õ¸õ½@×pÕˆ‡×¹I>%Q;7Gºÿz¯gÅéÖ¾3~¿­aÎ;%>¡[)[‰J[ ‘ô¨`»ÔzïL—È©«ïÝ7É*Úàõ¯ý#ÅIjòI¡î’e*j†ÉØcÏÕ½ !‚‡Ïwé1Ê®Œ¡e@T5 2;¬™B—¨(" fC´‡¬fE ç•‹ŽÑ.êfІƂ%:7^nøû±iÒöCb¸åŠÅ^ãÉj¦BT–Šb¹/• +endstream endobj 175 0 obj<> endobj 176 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 177 0 obj<>stream +ËCçïç¬i÷%y$íc€µ[·k¼¨Þ2jC«¥æäJ…™ÕYe¥L-*Ôô†m—ME…6y“†Ÿi‰ W 5zñ¬ý8ø>êt-!|À‚¥•:òþfêÀØgfM8‰Ëï˜ñËïü6Wë ËËè‘Z䇳À* ËåÛå@OP ¤Ì^À—xw¥²:Ò››UÙaëi +î²ÆǬÆáþðò͈¿sé,ŒÜ¯Bj,îÜ ÛÉ–a7Ôg„/×èøZ`@(ôptžÜt$vFÆCjPÐÜO6êÉø½òvñ‚–üÿ6Ôméøb{b¦¿Pø]hCàïÍkƒûŽ04~à@±_².b棿¼™‰‚ÇbûìŸ.’dúiq6 ^À¤ÄBù6¨P#ŸPÂÀ†:°§ÊÖ*e{~“ƒ9$ÓÛ.F¢9g¼VAŽ˜iÝ}YØíûÂüíßo*ÜXdˆ÷Q{!ó8K+¯–{›#‚¸«99­!Ji6¨ 5–æ˜,Òâ_XùlXÊh99ÛKOôÞí,7ºWæ'ª‘‰ÃÉÉ‘¹hf,vÃqÕÏéïwÉ"º ¿‘¨Ø®¢ Ѧ„ù.ßh‹ÞéãYqý* +ÍLÒ.a€M}"{rFœßè|P2§ù¡®ÃÎ:çQ,:N©h×gþkyS²?8ÁÉúÈŒGòi¼xwp6îe¢±¼þ DZfþû;Öþ•OðÝéÍÔ§[n\Á†Ø)®”:š^²MÑšâ÷›º[¦/ѵìœê—þF7zªnB8±vU¡á¯rsízÞˆòIúÞåÉ€åkæU ——æ¢.ÉoæGÅðô­÷Êöº‚vŸß‘šæ‚jï@c-Ý™#ýMƒÈÎ>&SÍüeE´Wž'¼| ?YQ@êt½j®ÅN29¾ Š—Q¼[,®Žà•Á½C˜ +ú÷Òâ&Þ6n_Ù$ÅYŽ¼ŸñoK¥òŠ‡€s¨×±Q {¨Á vÒD:ê¡ÝòÚLJ"*ãòü|¦w¯Îô•—;cCéjUº ()ð*@‚Œ;¸ÝMl6ƒËibW„úYÓY©V5\²½°¹« |×i˜…9[§Ði¼BAïŠë’õëBd.ü†Âš™øpeÜÜŸ×z7ÅшU_Uì'J­ÌŽlug´"îíH§ +ýIŒp|ÅÜÇ‘€ø±þ8±nœ×ŠòÆø£ºH +óa?ÒIêÎ~F!¢ZºÙd>ú´ÔfÞ† kž +ÝŒËÂHøÁipkI7;í–1×æQM.Þ +óÎ.¦j.áPŸPÆØ犻ž;DG4ߌÿð¿vlà„ˆ€•œ,~vHê´a¼KèÚë»ýNoaâºx¡Æ!ª…¿A?ÿ$½-0S?ICôã¹?¿4³¾ìdI‰šS°óÌ„ÆX›ֺ洖ÿÕ£D.0,q)…|Ü:±{#ÑÒøá- +A_g¼³õÒ/ÿ°à$vͬÚĺût7!ûì}êÝ5€­TQ±š_G­ê2>Ðh[ó…o€ô\P_Táu9 SHÖ¥5ú-Ú^Ó˜½°×Õ9…'ëøÓ¤]’]˦vë–p=¬5–ö< ô?êÚ†ù”°¹ò×Jm¤AÊOJ œWŽ°=@pîNûÃt‚5²¶šBÿ˜-¬,¦Ùs§žÆ„Íq˜S¯¯4î)­ë¯KæÉŠõ%í8ÏIM³lËÔGF}­j Ý”£±SþÙ²~»‰&;e^+‡þº^²k-ã!¥ÿäÕ±æÍ|=KEAD<(sÁ”ÚÕ~^=ìj(ÕÌÃ<—ˆœ9`ùŽÊ\S9¦ý™e‰ùØMü<ôJw"[ÆAOÖQD@RWâΛêAâÑÑ$%òÜ(:[ }“vƒ#ÉÎ=¼¦ÿ³|œ²[\sÛy2xÁ‘:8 ŒäÂQÔòð Tâ f;CiÍ—Ä “ê²±¶Â§OYžiu¼…Ô˜ºô˜¸ùKe§Hû0«(cîl„Þò]' Áj볂ŸI‚ÚR=8ÑúßÛtòìÅßürÂ:‰¯Ìÿ}Šç¿pÙô.+йà·cí t‘Þ/Ùãú+ÍÛõq¯t5\*'¶—"Ô‰æ?—Ûïùÿ¿ x©4œíÌC\¶w ÕƒÐëþ}ÜŒ +[þçð‰þC§-˜¯`õ ¶$ãyKžw~nsZ¶$Ð&Ñ m¤ü~-Ä#ü QB—clÝ¡¼dÔÖŽ^Ü®$OÕ6œGtP=Šr†lú•;UûöÚåcÐûÈ©Üü‚s°YN6ê}6GÄíwµ°€ÆçMßýHâ»è)é +PîÏ‘°ƒð±Ö:4ùh Q˱9=½÷k`àƒÿ6#IM+ØݬùUÉû¨àát7¹ð÷- *ØÃÓ­;ñͳ$ô!®‚Åßrò›ëë”ì÷|—9*´F¾R^¨ÆÕü¿×"TýJ£Úw ¥L¬PS¾¤<—¡€·Å­Ô! A¼¹ŸË_G¹8UJÔAB¢°‰Š÷ËûŽ‘ܪ/?×Ïîã€w™WsT­~Ž ÀŸcœ¥Þì7U8Š^Y^9†Ng5ógVfÇn³£õ,òÙ©>1ñ@˜‚ò_a_zº4špg­3',ÛP¼µØ¡Ól&¸)ZÛÿÈW‰Ü÷ v´ÄMeEè^¢˜…=”²™Ò~4¯>–ÊwÆÛÞTCQÀ XÒýË!ü(T¢;¥#l‰{x*ÚhÇ"ÿë!ãM¹ÇYµ½låGª6òL «›$œ›º+—lŒ‡~S°§V|‹×Æ b}Šµv,ÉÇ‚ZÎ-M-ˆõ„/^®bR2†ozáBé"Þ­& î4¦1Q·ñ¯9G›úØWIBñ:ãÛuöïQ>‡­Ù»z á’‚¡lˆ¼©¯ßœ§Ü ÷‘ËM`SBL?:¸ò–# ·Ò²ƒ]ŒøA˜qHàÿÂÓÇß²Y.0àñQ–É[àÜÙ^ïN~4C5ßØrízµ…¹Íÿtñ0Ë ˆ`„óñŽ…×ïª՞þ¬— Qdà¯Þ\ˤë0yð'è!èÁ;à-ÝIÓk ‚³BÂh,ùœâ“¶ƒ]Ï´á‹lÙY Kµ©-}æa°S›Ÿn¦Kパ”<õ‹sSL«â°ŠìµØ>)îQàÑ  Þ=H“ŸJÇOlØ qÓï­ Wþr# ‹Mÿ›hD?Ü«‡ƒìÍõûb™èáµ^3Óÿ7ÓôG?tØ5¹›þm÷ðÀAŽ¡ÿCs%;ׂYÒá¬Py‡97þK}”ôªÂxÃëý¡ýÄÿg,œÎ~L~«’é²è&Õi«tÅ•V‡Çž9Î]ˆfvù®»óKgKImÞ»5ð;Ø°Õv“Š¿¨Ô×7.0iá7–ˆƒê´V +Id8)~6f¼ÅyÊi:Q­Žl4èŽh,É,$ê2®ñ(£ƒ¼ÇŽÒ@´™Éu¾ôg#6½¶+ ¶¢br* Uˆ>k‘ö¸IÍmÂ?z5;½N–¬z+¢·´C 66#hôqDtðœc?ª£ëž˜t«¯˜#–Âî¡Y˜Þ86H]m"’_2š¾¶o´D ’¿E¿S€0Wt\É`\’vE‰´²¹áÄ.½7s]˜äŽsOxÉ{ã݃‚y¹×ðùJºÆþ•Ü`ÃÛ]~ðeq[«w[¼ûÃ_‡§Þt:¡wø¬IMÓ(pÁ¿fh5̆ª6½T¯b¨d¶ˆrrK³(EHîÜ——ÀoKÐÇßÆÿé&ÊIöê@ÍÊ‹–—áN8$üytŽ÷Ù™Óݱ0¸²ÿ‹*^s“U Õ‚9§ÈOƒ—åôé2µ°OÔ}Ô‡¿˜E>/‰£±ˆXäŽFe0M…3Îê»r°5R±õd!±vŒNæò‹@ƒ¢›0Qr†Ž°-Ä;_ ÀÕWLàSüÜ2 ™÷ôH±‚= +îe;`ûsE–ÂPÊ)›NXÆ7¸!²W…Ùh¬#U<^$÷ëdÁøV+Ç=“Qëï+%F?)Șny²,Ë}T‡‡í–èÓ&’Ø¡C> endobj 179 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 180 0 obj<>stream +ÄŒPÒ#B²–5û +¡L<#ƒ rGEú¦jÓ­žÝºùƒ²hsŸ;§BgiT’.Z[Ù-ÖÚŠCßI[ LJ±Þ×øö´pk…Fœz³/¾<’ÉùAn 7ì;ø _0/M]¾ÏÚðq×›Ž~609oÔ^ѧ£Î»›Þ% ºæé8ñ'ìè¨Ì"f†I•mSn\‹4 ôöèo»%óܨõï ˆôøõyÀXýŸJÒ ýÆ"³ÈýÒ¯ÓPŒìó[`lBæ »îÙ2!±r3{-¢Ú^”ÿ‰Ç:Ša ßš˜š÷æ˧—¦¨ÙÿAš¼O¥äí„f³W» ZoXÁù$}õËú¶+µ‚g»ëËö‘s¿ {ºžöÎòTö1X´¹@öPûqG–cÊš%‘FÏ[$ª©%Ž9ù¥¾;Éšò1n 7lüDNF¥§§vž'cýÓ£ö& +¯+ Ç.¬}ù9Ã<>Z†6~—Iý¨4ù +gÇé½å›[ÑEÙrb¹»ÜàÐjéC+Ѽ“dÞÎ…²ƒdå]± ‰gá  ¢Èoq ™,hÇ€tXl…¬%«~ –Ð…;qý¹ç]¸b8Œ–Qa:}F(!Ååà†ëGRN•‹œ§u0 +ÿ§ú&~%5NuÒ;Žg¾3×iíï íiæêÐW²‰'õ±•øìŒ$³éXjã¡[çKŠ\ˆ¹ÉŸþ}Žwüï.W8’å‡=ª)'KJÆ)l ‡!7¬¼C‰ûµéðòdPœ\] Ô2ºdFI9K¦øøX@!§d~AÈ\ØU¤´U+n6ìÏh–Øx€Þ Ü?aŒàëù+áõ šÍãKJpr>m,- Oz¬_¯'Ö#ÛëÔúW!ÅPÿG¡^1—ì<6*["ó6ÁPq'¸²FÐÜï´ž,aÚ—äT·ÕR„¸ˆb¬œZ¦îõ3Ö|ÿi¢å£c ÙÈ«*&Îkpýƒ;‹DåѨå;="¢Ú~awxrõÖ XŽ¥Z‘ó5Ùy¥Èš2愯 +Þãc¥ò‘Gq€Ÿ‹7UÒð!‘6ªF­ø‡Gc‘Ù³½-­r +ÒHU ¼$în†ÉöqG8ï2ë%íâÚà×ÒZñ“#òàK$ë‡'Àb¼ë4‚;ùcùÎMÒšá“έŽ¦žñ…ßh‡×Ëz9wî–haL9N¼ßDÛ–kHP‡dÊWþ‚åèö»ò€Tó?éƒH„%½&Št;’QÁÿ3ùé}8Õ-Áo·ésÈÞW¹+¡÷¹QÙZ˜Ðôk8ñx¦²@YfŸ° õó”ÁÇ[K ¨¦¼&»WGÁ¦ 1m]ºàÛñ.žýrkAk vP¨ýµÐÇW"l4Œhê$~bq„êŒÄS_nɳÁ†E :ÁA»Œ¿¾@\­§g-!Êt8¨ó/—{Æ° ¦wööLÎçxÓŸî0ôKk NpC…çIÂ>t‰”'>½n·E™jÁ‹˜j»„^Ñc‚´ˆ KúŸlq~p»!!/pÄÌÅÀ1–)™!´è˜æË@K&¬5¨ý6¶ˆ /°i õž£õö=൶Jb†ƒÖC¯A®Ì¨®Jª+øV‚Q€ì§ÙpçÑû‹Øs¾ÈbEh—HW‹Ó¤‘݃éçTá-›×†[ïδàôÃ4ê´ŸÂè¿œ ×)¡×"‚Ë"÷–ßiªãÔ^v†2ˆZnK¨›ëði˜à¢›®¿â`..ÝËÔÖ d ‚%KqY HØÉ®YLÅïÏ=Þf²œ2|· n1ƒ)f“3ª?Ì‘t§›à³E\MàнæY/Q?iÀ ¹ôùÎOðJlËo‚¶YБSe—áF^ç´—CO÷~ah³ëäqµ„tëì¦9Œb’6ˆôœ‰Ÿrºü(ž$2{¸ÎCÆÈäGHñb4…’ÕÍŠµYÃ> hõ©Û F‡tE,)ÞÃ42_…[(˜"ø\|úÓ°dïvNu_{Ê­)œyÁúê4^Õ̧­Ø ±÷ÎjÑc·³Øò8 ÛZ2λ Í52SzɹݵÁ\Ë‹¬Ö,ZØÙ»² Fl>¡niŸZãô*n‹Ø·KZ»Ëm¯ +¨ãH†xÃé»Ø q¿ e¤˜ p#+Y¼kH™E­:1àVH—ÍÈ^ÚÞèµ*&sˆ¢Â_©Ém%­}&*ƒ(Y;™ï­Á3Y1´ZÎ:¦°Od<ó‚¤ö¥Æ„¨I_Â?Ü `Þ){˜A'Î0=‘È×<ãÁÀ+È7Ø 6Ћöø]DéÈB–V¤ëƘßçÈœLÏx9‘ß¼xC¼eüËÝ"[ðsÒz¼±Põ G:EcWÉ…žl²y7¸¡{J+|Ãl5‚’ÝK@r­'á;*çyà æ­òséÛá€uºmSSwMUb»­¤ +Y¼‹¹Æ[D!Åj‚”èWÆZܲ=ä4¿´Â¨;•FÙx™V½Í»Ã€.ïjnÜeÂþ=ÅmÚÀ)ÿp‚,âvçöÖ}f CúUkÏÜ +^©PnÇ+ÇËe &”/£ -,Û#n¶JG`€ +Ôm€q%p‚Ð:ÜÐæûl£ƒ/‰Ê„¸ñ”«‹‰îã> O¾Å¿ak¨«š¼¬jÕkC™œÍ¢*%¨Icɯ®î¨„˜Hü#È{”.0·¾#¤^ÇC¿×,´{ ¶0Š‡#)2!Á&Ç ïÞ!TóéjØ7ê“ú½1Ø£ÙŽ#ïµ;ê(¿j’3<Ÿ©ìÎun5\z*Ü+¤Ä¢¿“÷äxÁ‡ÒØq<:‹¹D‡­`+ú-ÀscÙ·aÙ)ÅÈ nu!ê@ÓF›1ŽvÞöG!Þø ïâ (@Ò§ØÍy“rh/å؃g¨¼²`ƒ-Öš/˜µAU±$¦Š×V„¯ùHÕn×ÉXUFÂø=–ó1R¹x±¤[%ÓF|ÐÑÑŸ#G¯yïºÁñ:l@ë)êÜ:áb1õØu½¤å#M®5³••D1‰) gb&ºç=à^ +Æ+c9èùÒ¥Tdäs ¼+ýœxârt`÷Ù“x.ŽdÚ‡íK:¯êgWq/" +âë0œÄÌYSº~ÕÛ_ÀÍ Ø$èÛÒñuC]t*Q¯BÊY{äî™Ø51tÖdÅæÒ}¥3̤ +({äþçÔŒ'¥}çîcé…*Õh}RÒ^z(´ª0ä×¥ÕŒ³wn¯GþÌõT˜ld›,*Á–ßÝOhÌjH*g÷k¿²>'¢W¿ È.쪱&’Í#ŠFä-Š2Vp´$0ÀÊêù8g¼¿à²VMBPKr„û¿ÍŽ%$oØ2%Tê±ÉVáòUËy4+/’8@?éâ­Fž¢ë©7U_H'¼§ü­š>Oú›¥)†ß#yJ7džVLe¦YFD}¡òéTñ¯(¯ ¡èŽ'j°hèÆ ‹½;>Ê›¾ T~Q-C0Ž«‡é‰9¾uÊwÑ€8,fœ/ÜCÚc°í•–×î§u”ïHËŒýdÏ>-€B‡f ø0QxÔ\ðx±u&M„»åÀtìU/‰´b¯5‘¬¬Õ¶ã(±è §|âpË|¦Ö±Êš«ÒEï} é~ÉÃ^ÿÑLv®¡—æí` +â>(Q-s®"íÙ=¹}ª HÓÆx Ï>;\˧ïtÑX•ì§~‘½ÉÏðŸ¥^êhg' +ÑHî$¥åÄW™YrFvo©9Ò/K”*%ÓúÍ)£ d°äE%]×LÕ&hÀ P´C5kÆ;$‚It m„£KMRfŒoÙSª"ñn†U'-;o—Þ!àY|eŽ# ìí—%Ó‹®¾æújÝQ.SU™Îà& ɶ3£XSlLWUŽÕëñ-þW”Ÿ¥·"h'V›w|·ð}àÿu¼Ž·¿,9¢¾­þx ^‰†o—WÿNIçñÎö%’H+¾\×ò é8yÛáy…­?yÔ*… ·ÿ»…c)pu{TîЊy4¤\ÿÏ Sgƒ‚Hûð0Ðdb†(*tß Œ€«®j³´·ç0’ ýäMÊoUçn<4 #}ëtZQì94åŠøÀû–¡©×“ÿ k<úg•AúwzÚ†_¸ªÍ#×lOZ ¾3l; ûYt¦žä3àðÌ]mKô´ò–k¯ºy_*G%¨æ÷ªK1RBvï†2Gp€O鶦af uÈc0n\ß-wv•d¢ôz-µ=¢îå{?S—Aý%)•è’Éiuص<±3œ<Åì§&Øeèz;"ÚÚ»èÉT^§i²Àæåʼ¹%± 1!B¿ÊŬL]¯²p|Ù÷¤3qCÞ·€÷\±**IäþZBÑÝýh‹°’o׫÷Õ±í«½ß(TõpzóÛé’à¿QKˆ µb Ê<]¿nY ÷ŴᆅE)¿=µ,îs[àRC +*ÈÔElž+²xZÒ³TÃH¯Û—àΧƵ>Z®ÿ-Ïðð–÷Â[BœnÁjo'*FPÄ-#ÿ,· Å$¼}3»}vÉ-§Dê+-%/ˆ 2ìæåË»%鸋Ù^ò"›ÀXˆ>rôžšÍ¹4Ùöß±Œ'8wá£~·1õ–ø¼cÁd¡ˆŸ„6":_¬‘ßð×_€Qå "ÐXS±¥íg§|ÍÇôCo|èûÆ:úÐ(Ýè®lGa»ÆS=Æ)| ¤ ‡î¿6½7í õÜÑš‘=¬ÊðKïÕKR—:wseXÝ;g›gNO—~…Qz›œJaÄèIZºO +a'Øl¾8BëÎ@Ö9=»ÚtºÖ´]§y…ã¢u°ÚJÒ4Tgø0ÞxŠšSu°¢øböy»2î.‰Ë_¼'ÿßÂòe5ÓTVÖÄQ”:p‰±Ò„­²Ê3£Ea!•ô«¡’²v†„ïCfÉ[mš  Á=1ð† +NC¶zn /¿¨ÐE]Îá“­mjU[NÉt„³·ŒK@XÌæã0 ßZ¬‰•éÕ˜/" yÌ÷¥³ºüÔ0ûE–þ~…;tþ¿éß Š]£S ¦Uáþ€vêJ‹3RÉ/ô”(ænÒ÷Žw50è|‹6âF§U©fR))®8F :(¥r¤!õ|Æ™ä(÷9:³iÔ¶ýlÁ¯Á +&÷]}pj @\Fëº/Ó×Èå{¶ëHñZ‚ƒ‹Ûu:{ŒÈèûp¡QåLyëÓ‘.rˆ5"Å»{w%°Ÿysˆt(MìÆvã,61ß2ÎOj»ÆnÑîö_&½äŽìf)¤M¼°w%غ…LrïÄàn7§üZ`ìÄ× +>ŽÍœÄœ©(Çw%âQ‡)Ïݾ"š¯ LûZñ¤q_*ÊqA车½Æ¥ôY^°g/ùøt»¡ÌhéÕ¬Á6o]IÐ9ãÙ #êÁ±AQÒµºn­‰ö#AèØø( ¿eUd ÞˆšxžBþííZ'ÞÖ=ä +endstream endobj 181 0 obj<> endobj 182 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 183 0 obj<>stream +ê÷gm“~jx'ц$0#=9R í 6KCÅzï9ïH\µ°§ŠïéZç•G¬f³¥ˆH9´š§I:²a I7Õ²N^Òu#/ÿIáuÊýëf¸“,8"IqÔ4Ÿó"Cò§â ÂïWÛ,1M±oÖªy»\W82hjäÏo…µ™ÿ€LßàýK¼9¡þ‘™-"hÙS¯+Þ`ÊIBNæ×›M%@̨†«í™{ºI 9ƒO &˜INS.h%•I¡P­äR4é(ä¢×RÒvm«’¨»p\̼ +šð=Ó$³.Ã:0²¨ø³áÅÓ$à­£ôaºúÔzJ‡S»úˆYÆa”–âãSË&í«\¸±ÄuÇJõ€»88²zÁs~b4»&½±g>¡r¤`4€hI®z÷d™PSnöGÛÄÈ3¤ÁßÖɉ@6Ði¢:Ž‘ÁM㨻K4ÝØHÝ‚Q¼|t2 v7Ÿ­Ê’Æúp¾ë_Ýu¶ÁjõzLA !­ z*Éwr*<ñ´èBš[;R³Áèw[Î å5]¨oÔ{9“6’Æè*:Ø;Ó„KgÈ]êrIõ J“ˆ8ZOn'é‚ð‹(<œ¯×ݯFÓ¼.xÒˆ!ÆÏTªÛNŽ†|ùÊÏVXàG€áÄ°Z mJ•áDùpÌ€DTÏÁ*sî:óÅ8rC‘¸y„yôXÉGêǤûÝr¹“½ Óá!xy×3sÀ“óÖõÇ×Ç*Ùw®³=|4çÙÉoãJ‚æ@¼öõ¿úËïpÐß{¯íÅ-Å@Í•=áˆuGjˆ”8ŠŒhh”Bºh$ç™ûÁ7ûØ( ÿ¹áß”~mt ±Ö¬œhòå`6ÐØyå&ë±±•´‚Š«¢uqôæìëòŒþ®°qçX6`בZëT}ƒéIßQêȯ#æl+¿YijÚhþü“]]BIÿÈzÈ}ÈT:L=ƒ™S.Éþ¥µ¸CñQ­¡d%F-BSÓ ²bØ+Í´Q¾v¢á:þm¨M¶FÝåMÝnß„¥ ‰n ’½ìø9| = +ëd ·¿8åìp=ÈÈ:Ïçš$&žç]’›itò5y¦Â¤g òÛMØç–t`kª'¶üKZ:$°a£O+ì5â‡Tê’¤9ù É_µ5ASŸ€-ÑÄÜ}áÞéºäÃßîû+é>ME“ƒ>%+DBºŸºgšŠÜΰUR¿¡©ù êñ‘¿£Xïj‚QSÉ ùëÅg…}i®ŒRy鯑u¾{û .sTS]«îÓxðˆÚ*I¯WÝ®`_ÍåË­HW*ŒÏèç£Ïòg'÷¾ú$ÿ±Bhÿ%‰çšãóoKiG$°êéÅÅ{èæ,DZQê> +¿oÆÄ,#V9r­@2²b´òoy6ñëðû³ÁõÑê][8ª$»®£3XîBéT[±T½_+¼YÒ.þ/ßÌ7‘/£×YcL){D<'˜LUÿÝ"°Ñep…#3Kå?yÎ?v¿\š›oãLøˆ¬Ã½U¡G€¼–Óè3ñÕ!Жø<:Y»†Üp……9{ЕGÄe3Râ¡hÞ7ˆ/Y”õ[g8Ó†¯‹òB2›ß(y™3~f³±Ý2!ø}hë£[iP¤·5ÒtásÉG$·Ë)>D¬£Ê G@¶=¶ÈL]U®Ããßò†Î€$`ܦâKUª<Åe%gERR6Ö¿ºÿ¾v/~X{°¶VtÚ`óP¿Øqû:gq\K¹oÈlèPÉ­”õ~¬áÏͧõAÂ}¼ö‘•‘¬.b<½/·ÝùÌ=€’Bþæj^©®^.vCRñÉÆŒpª&ÀæàYß5R¯Âaš;¸íe'”'ôÖùûyïDOªö§³ì¶p›G+3šºNØ|I«ÒÄî±"±¢ ­á¡c™º¢'韣Ðë/°êö!!—<\<ª°ó”V¶òè1䑸³•ÿW¨mu{NRÇû$­ËX|©p¯f…ú‚è+¥H!ÍÁ‚~Y†Ÿé~iÜnùq%÷Tu^˜Ù|·Þ-ø×û(Bví€×æGíàãÏGµ4̽v×MQ8éè¸t ¡}$KʊߟÌ›±xRð-;}äà*Wè¹Æ:Ý—§)ŸTìL'·Õ±ShBÁ*È?pp­¨]æ•ç.l ßâ~«L_EÜŸîãM‚Þ ½Ý·_¥=ð{½ôu¬í$¬-EÌÿïä??È;a˜iÆÂ÷Š£í˜Ø$KG¨XlÄJÝÖkàài{æÊ?uж%3ÇÇ­¸ëRña+ˆ C=Þ¤ÿº¨ÝÀ>;ÐN}{ìjkÚ—4®E˲b¡Œbð^xB_§_O©–c(VÃÍ„ð/êó'“¤Ç’%QÖ†­á’w> endobj 185 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 186 0 obj<>stream +|1‘œ©N„êÕ>^zô“p²j¶»\˜ vé2ú+e¥-ãU€[«Ö·&dïj‚‰PÿÏïÉ g~µEñ¿”* +s8D Øȃ²>B, øª¦t׊Kã^*LóŠQõèI¥qÔ-˜õô8pô‘ÈDš§¶´­,ü?¦v2¡äÙaY èµ:Ptîñ‚‚úi`þW*¹¶7Ò¸|˜™¼T²:¾ø9Šžph“[«gGĽ®™Ú uR¯ ž§ –ÜÆ`· ¾Vt¾¦×{éTÃCI3Y;ú˜¾jKü˜`{VÊM¢rR­™çu8½DxJ°ÒSDš—"EÖg†¯?ÜFíÕÔ¡á Ëå ÛÛ¤jÄíÉ´O¼=™Ùlk êÞáâäM +¢Ü”C mÚ†ªÐpy¾JŠÓšc䊿;röEI|výHYû]\3•X•µ-:`ŽÂ.*€ìlåkÁCPPï1(’NÍŽˆ 3ú ¬(¯gZ*܃àYðý(1=Ú>NymÒ×c鎭”TÈ"Õ^%=¬Åø(Þð–SÇ ªuáðØAIðpc©–ZyT‘¤³ø>z!màkjpw.¬“Ú"?ÛÞyî¢öî4{å]8€ó€WÆ€éêï=ò„¸e¼R Ë±ÖµÏ[¦BèYùq‚ù¸ºû©ÀÓþ‚¿pÊ´=¬[UlDM•u»¥ÕãY›‘¯h¤Ù«;{x{ÄœK‡ ™.jeM@pYŒŸ^ݶ"ûFµfiï +•·ã›²VWÝ,¢‰Zfy+õr¢©ïûÓeôAÓ:n¨ÛvÀ¥åûÅwÃ#:k‹ /bn(œËEfŒŸpŸð8X»!€ ú)ŸZͶ蜭3êlô9n.N)F$ýžgW‰XsŽÚPÞ2­<æl}nÂÎÙ¢Èë<á݆.øT%*žœxDê[A} 6h1ɾ± [ ˜öðKéƒa«‚[­$ ͵KAÀhŸ„8úV;[ ? öˆeF×3N8)ÓN᜜œt¦ç¶‹Ñüû#Êþ†qš¶m˜­º›•~úbbc|À^«‰/++gt܉rÄ+~IÚònKs–s ¬Â¯{C€E&¡;á@—½NäCXà™¹N!‡òöWå‹¿²ÝL¬Gr,ß·v146ô¿_ôOËv€àÜãà]qoë<_ žÐ‚/÷µ>Å̓ƒ‹YPSXgq"£J/1.ãŸh"& ]ÌðØÑ+>rMdûAäÍi+G6¤È‚ÓØSN’-FÔ¦ç>gÄe:ƒl[?RúäóH;É?‹õ¡DÒb1¹ÖIó¨: ^Š{$!Ý›ò_C6ظέ%ž¦D Ì%µ§5/pß2)Cü9½À•hCHGÃØë÷ƒëŽÄþÁÀ‘5'Õ#EësÔ +µ^ÀvV°SïéO€é—¨äg`f£Àk +žè¦ÿ1”¬r”t„'ƒ8½°Šè¤Ax;ý ²çŽf´¶d;jžÐîÓ[➀f•X9ÂÖyQ&5ÊÂ%¾±ɽo†Â©“>tº9Èßýî³ÛB¨¡Á²…ÓŒ0x@üýS·þ®ëbüû—y»ž‡ f½Î½~ùg¾ú–v3ú¬ÆbÞüxdR꺂oÙÉd×=}Óåƒ9U &âDT«ƒJ{Œ{‡’†hÞ`¢ÝK½ùŽyß^“ÿW¼|AŸÙöjJ!rsJŒ( cjW¢7Š®ŒãûÀå¿.ƒ„LwžmÄM;¯, k6ý^ëðâÕ›ùÉ„%/D¯µ +kE;誔‘¯á Ò C€SjRuj–å£7GdÇ'jÝΗý'ÏÑ›jFØ&+m•æƒŸ‚G¼Ë’Eµ$ÞuÕ=ìôBú-d?>• Ýå¹èWÝM‡mCô‘ ‹IœÝ‰Txöur¾l¨s’‡ô7µ÷ÞÏ}?W|÷"îT`ó¿Qã{ç|Y{ý|¼Tö')AK…ðæìQ4VVÛ®?õøã/5|í1u£0`×rØevf-ºˆO8ê]³…¢UƯ;æY87ø_@ÏBÞ­#8‰hÁ4úo“R¦M Põhe¯1û߀[ÇÑŸDÁŽ("Sju<‰_ä;B"Ñ®dduËûïÓËsªþ­ iöÓƒé“ÉÉ´m&ÈÑô¯DäŠ-*bF7êÖn @@S´û&Ù¡õ”àéºÍ<`EACñ‘€<œ_‰üd1$ÍEA,QuaÍEC™†ŽoÛI<äÆN–ŠÂ#°9Û•¡ê'UÁ÷¹yÃ%`tÂþÿЋ÷eªÓÿZ4ÉèœKHã_£ É܃cð647úo¤J¥±ZPС®Œ°ùiÅ-ê¦iÇ…ÚוðíwûflYË•8¶-åÀ8AŠ¡ëFË7Ifѹ•jHéÖ\£Ú˾„ëè8™ +nËYSJ¹ "|êÊâ›P7J·ã3výÆ@WBB{Q*~Ê–@E<”§AíAü‡1ËÑ3íëw”ÒüÝÅÕÊ™¢4N^Oø Óö\ˆ¾Ö*{šI•Maïêf‚Fº )Õñ§_½¾þÍÁa +³ìžj£Ç ’}Góʃ«e<룯kèöÛY^ñR9ͬîgâ!ôN±ý„ög^HLÆÊ9"îkk ðú>ï‡ÜÍ{fœË{HÙSN(hlÄñ:sPS£VLÊàðêÇX–C}Òbé®üav^â nøáuÃyúå6­m<ÜÞ +ÕR> jÐ6xŠh]¤“þUJ€˜¦¦‰ÚÅÀ°/·È‹Ÿ@oÕm{µ•Gí«Š;Œ²_Ïeëت¢ÂtˆB®Wl¤oÞ rËYÕç‘ç>¤Ú7®›šJ£1ŽÓD~ðÎÓMLoù0|Éúmb †GòÓÆË«U,M’É0\æ1ÄC(~!¼œ¬Ä4\O0%q‰ûcüêá<_8¢÷Èà¤,öág¥^-ÝSÅs¿ÙZ7³ùÛ´uõ†w³Áµí‹KÓ/˜-ùµ®²ãÖ¶{ÝßSa?ýüªä•¾k +“®¬ê~…0F‡ÝòØóµDNµÁ¿†âˆ®Ü ÔR,q.7ͧ×À7EgkõÔÎoe3–¼LT¤‹x9&«…0 „½ÏÂáÕ‹ðCq[ðŒ <¿š>¶àÑ ¦ÌhMÖïÇÄJ'©½‹aK¾…wòNÐôƒoj‘Â÷8”Á«QÊŸfÛ; I¢ƒAOuá’7»Ò5­:´[²mZÔ6~É–ï o•‡~žLÎÍBwѶ+žÉSùvV»aÆ_'BÂt5¨¸Á½Mĺ¤ËÎ[r#VKʪbù$ˆe‰“)èÝǶ×|'”)šå¿mÓþÑ”ƒÚÞ™ŽÄßÅó:uÓ‰’#Úö{å~D5Ð h/ûUC󥨫:†1e`5nÔà̱c³ß\È® ‘!†‰öÿÆ×¥,ô¦£B¡y‘ñS´]”™ÃƒãBBÈ@éº+¸Ï½xæ EhÉŠ¼&.ðòs;#JD:=ÚŒAçå”ý² •ÏÒluêǨ¹’AÀåZ‘(hÄ J©n‡äÝ‹)å‰(¸Vkân›_0Õ7QvðŸp î4^ÑdÈ0„ Øù˜wòä/OohMH®N'‡@Ëf‘Ä\$¤š›‹¬S’ò2DÙͶn¦÷ ºÖedÕdˆ@Õë9bœ*LËLúÌı¤WÖCX÷EÞ‡¼¹+û2Öe•£[|¨ ‘žó<_$¿\õ²ú·FÒO–°ñº¨Em;ïð¯#Ôkœ4åhÔ} ¥wÆ›ŽOQoê?ÝŠÁËÄý*!dÉ‘¤Š¨…»iïî©Å¥51\çÕzNfíý£xÛ|_]Ò;ÉWuvd\¶yëúªÜ9Cå0rò¦âÔö8QÑ~Ï)Ò¡¨Ðk‡K¦–ʤãdîe¦@T zE“¶ÅSe›Î‰ñ¼$Ýܔݣv©Ýð9ý3{I!l@öõP’åk æs®o€ÓóFd86tˆ_Ç`AüNDv¿ ðÕ÷„f‹(HÒüÌD¾üä–ÌOØ6v}1Ù>‚´Cuœhb¸¶§!5Ñô…‘b9}iYA¸y|ƒñÒ9ñL–ä´5üÙOS¯n³WÙ:ñöî •”Iž\ÎÙzBu|,tdž)ùû¬¹Û6¤ù:¿v0m“G +üSDOžW²ŠæÂýÇzUîÉ$àTw> endobj 188 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 189 0 obj<>stream +ôõ’o´ð—LÕ÷uØÿÉ3˜}D‰(\kt*$ªõÛ{öµ·Ù͵Š¢z`löññªô.¶ó¤ÃëÁ„N‰Y£Â­w“ø/OÁ•Ï1ºÉ’0½)ÖNQ”°hºÓÓþ7¾`1;Tl~VÝq­j¶êŠk¥öõ£Â\UIÅæýˆ„«x\ŸQ¹VȈè¤Oˆú +ã¡útȺ™×iä(V›êFn‚s™”.«Œ±,v >V_Ý¥~TäRâqÆZ&õ¦+2øÿ×“æ« ‰µ*Iqüúÿ¤Äíªå)µWG™J|Â3âªÛé +ºþfY\éuRŸüŒLžìÉ)qYÕÖc|\Cì/Yúú® Äï¾4%©ü¡÷Q.€AL´™Í÷;r0Òö^Ú™4€ÐF?à3n'ö Ã–3ã>NŒ>gª&ÏÛQû´‹ÌC–lè·n›Áá泸/NÌyù²åwp£˜á®èøÙ +G“ü#l /‰#Û&±ëèZƒZ‰ÝM’ÒÅ(ƒ’È=-³”¬1Ìë"ª*În„ƒH»‘DŽ§à±ë1W§Kˆ«=i^ðý‡µÀ¡ÌŽ¼~rk@Ûi«½ñ£üë{z¹..gØ~È’šÿ`Od'óÕe•Ÿƒ +§u³:|ï O7ü«aéK|”¦ü c9±³ðŠŠáKíÍja^¯¥¿/®º^øOîÄ8¥NÝ%EFÎ,ݶ¦4O%ìؾ=¼'æ².ŸNÖ¤¯ÿ–K¢H)rŸ’‹¿¤ý6tÒÚÂÝy"5~¾ÞÂ$¹wßäæéìï„õÝ>ÚR­^_ŠD€Á ¥io5 "(ù´åòwJsòÂgLñþë,Š¨ñiÕ·1 ôñÑMŠñW­š:Ò`¶Ë ¢Pßcûñ\½ ÏlDí‘d'_ÍGȥרšH¸€•CÒ·èMQ àAe?ìW?P9¡e=ªâqµK~°´#hÁÑ*EÎ1$uCaø@1æF Ün¯‰n!#iv—Æå¯ÂuÈL#§ðÍòpX•CR±ö¿< ­¬·Æ/  +› dn‰4×ÐÛ¯8¾Ï9ò4…;Z–Ï¢‹Öþ”t+x9/ãñXÐÈŒ®0ž¦"ÌOAëôEɇÈS%òQP­C¯@¡±ù[ÌëcœÈPo Ù8mñUtXIö¡J ñ16jZ¯HãBÀîw›O[ć\î[;õÐz sF<ôS4F¨ìæÑ•nVm ,´M»ÇöÈU:(°KŸXÓ¡rwG¿ÈìÈgwß"gé¼ ßksaU*”ŸÃÝlNƱYMLõ¸e-Z¼`U}\3ìM-‚ªl’U„)iŸö–´Y7ǺqMî§}mZ ®NÞ{êˆKmáɼWÂnI÷ív&òYϘ  èq¼Zè’Ö>`ûù ÃÓÈíKüˆ‚·bdBÇxóûC»µ]©ø±AyŸi­àYëGDòdC=ÑnÌý££NfQýrêz”XïaõXíE ô}›ìþÚª±ùҀ܇D|-ƒì!ùv$npŽêytf¦ÙÖˆö‰BšÇ«4Ò½Ô´€V(L÷EÞ 6¼VËæ´VÃe’ÞnÙÚÕ›Y@5A‚gÐT|IƒÙj$àøÀÕEAÖwÒ-ôö6ëó匮PŽÜY+þ˜:Ï%g°£ýµ‡½ª³v‚@¼Ó‚¥øû¹@ÿö²Ûefö«¬ó%ßÙ<ùŠðщø§o¼Ÿ)þÏ°ó¡K¦øµ™²«eÊõ†¤à-4ÍB#EÛŸôRÿ‚žUBÕC+%U»eµ‘5Ôå){æÅÌëˆ]»Y„£E&…Ä—»—ÿ“w£¡9¡ÀŽsôv^NÿÆêÁ¿Á˜E»R].F¬'äÉe»Ì39;F˜¼Ëqí@òJg ®“@’Ä%‰€T“g=l¾!سö!‹¤,Ì­ èšÝã_«!ñûŠØš$~x :¥O¥ù,\Á&€®CøáÀº³Rpv:`r #Cr£½ÁÏðî6…¯Ã…åñÈ6®§h4\¤\bV”‚RNÿ™i•%´¯Ö+ÐÛ´-€ÜAÒÆ•þÍÉ÷f¸óÀãn²yÅÄkGé=ÏŠmØð¨;ö Š0yìRVµTU%™»Ôñ´’c³ýÛ™‰Î—nÂ)?náѬÔ5±cuVwSWªÖò<ú)ê +M"ŒgfGÈ”‰ë±ÎÊ ‘whÇwÛÆ´}!Vg†ÌOÜ èe_w¬b–ê%;d»ŒVÜ\˜³R) ½E8Ü#¶y»v#,3ê"¸ôÕSÝýÕш/¢™ÈïšúxDü5PÙœ,¹ú3«2„r¿üÂG…õ·mÃabØ•½¾*€5¥à6dŸ(Ž+îÛ'uø"Ä!èK6Š»dãO v<ìF0¯0.É~=¦ÂôÇbŸ=<«°~ä/A9ÚÉ%A%©D‡ét†Më†Ò”¦ ÎãÑFÌÏad}P×æÒ^.TQøš¥,“\‰Íáv„¡ñúDãcŒmëñ’<149¸[x;–Ü ´elÔ`ª{<^?iüM‚ô©;À‰öIÿyÎv÷î–·noV£ÜVë/ ,¢09ò2ylÏ9¸:Æ‹Nå¢ÉSsÍãK•ÿþ¯–‘Þ¿Ûýöcµ]¥Üz:€Œ¡5×Oa¸i¶õÓBò·®yÉ%ðÛj§1/”aFæ º¦ÃÚU²ú±Šü«A?#÷“Î,¡pFŸ¤e,ævLt½[Ö;Qì…ã²¢»€½^ñ·ò~èí ÷œÏºtãºÎpO±hoY­ŽøhðÜ}"€n• …­: +ÿt¢hÚ.Š¡JÒÒy\|@©ôÕÙÚ”ž¾u^s΂½Õ4÷SQ~˜¸ˆpf :áY~všQ2ü (œ‰3 ¶æáNÖtW>Y×ÒÇóç +¼ûÒÍœ»6ÍvÐDƽôNÛøûg·l¹û +3ëÄ„Ó"±®ž½/œjG¸s’Üw è¤ñ¬ðLa˜)Bá{ÈûuFê°w®£‡ËV-Óh\¦ð’ÀÍ:šnAbg<`›n´KVñä$ uVž¢Ì„pf}l +ƒ_h>Ö±=üV0l§¾•ìÉQ–tLËÒmiOÂÛÜŠÑÖ x¼‰)KÒÙU¤Ä‡Ôe˜òc <´¢î]\¶»#à›<~Ü­30%öãV"P‚a‰¹“à¬%ºÞ9ƒÅ_ÿ¿îaë~P&µ’DË •–A›çÑxðp¡à2g×!H.âÝ—57É‘ùýÛŠ›"d]~¤ßÕŠQS±ðÚ‰ýÌM—‚,ÄôyЕˆ“è½—‘K‚öL¤)©¨Yr‰W! JtP%ìÊ‚/EöÀ'\Â"Q @e„ñ1€KÕôSÏeÛc­z|¢o.µºãPãÙ*Þ«ëˆó*3á_‘ßÌã¦c»w˜¼Þ6-/›âõ3êÁeé×£ìÚ0c‚Ørº1‰ÈíõæÞ© ›ÝÀ…í_’ÇcK`µŽXavš§MÅ^Ë÷…ˆ`Õ·Ïfx®„ÄJØ€Õöü‡»£0äjá$ ÚîÌ*Fʤ‹œFÝüO ¹DFf/;Iíšw>NoMÑï½øD_¸&¦¯<½ü©½Õ?‹{’à#»U^¿·j0KS1yhÚNænÕlõ\½ÄLS9Ûæõ–V¥ñõ©yò`_zµÎæ@°¤Ô­ëwú­ÍO‚Í¡…> ʼnpÙ À*×ììï°q’OÑrÓbÀ&ªùB)²[z|$¿›“7)FSS¦ûùú.=þCƒ³¨Viö9¸:hºFÏ`<&¤rDðׯ‚Ç4ÇÖ\q®USO³ˆœÂVìßß($о¯_¢‹ŸèØ[¯ÍᘳžOä{ª(ël>%¯|¡ý›ú‡Î=xWW³¦:¿²Æ:ïzß¾2vÈú˜I•1QðÇæö"ÊV`‚zµU0RI’#™×Õ [A0Ѭv°“¹57tkÚÝ3Þ£@·ª³$pö†‹ì6¥2 ö 7î4C%ÒNÒö~ÅgÀüäå2u-a€ìžšzœÓ'Ðœ$¦h°ò³³¯ì‹—OiÑf?­÷®P‰¸°)Ö†…¢KÆ´wE‚_Ë)³ò0z¦u TßôV¢ÅÆ<¡7•ÝÚï}Çì¸UqZIÌPP}Ûˆ.&€†„è)v½%ÝP\dw’WîF“a/ÈkÍ:ì˜^­Õ_¬´Céýø•›Á7ÀdXü°~—Á{SméáÂ=]Óë./„Vö†AÊÇlÃ/Æ^,=O?É Á˜àå@ÔL(ùD`Ó€Îýè²|Þt$n©Ñ·èQ–^cé%•’>;î“gjùuÄV[£úQ,B£ÿA[Éd´’üopnH†Eñ­¶Q>aÞúóÜßÁ)}çiæ‰ê‚©p’4hÍH„Šjé í‘=[Çý¿dêi qÇ×Á&¥iI„˜´Ì…Ût12W·å÷P)ȶî:EU.íòÇJèýÄé'2pŠ6éÙo¢¿òùIµRßÁÆûŸ ÇŸ¶ò&1S^å"®˜$rX“¡âYöêþv*tkú©gâSî7¥m‡^÷Ú& ñ„Ëû*ÝW‘NimòãN=7„%.̪üÍåöW?‰E mƒæ‘;|ø+c _?‰È¾xœÒͲ³D¶¬:„Õr “WMâëâŽ)°0$BŽ¥&ù®D«¯ÌÝŃùzþ«{Æ<[W±aj"YBàƒ?ÄY¯Úy¥™Óé8q¼õ¯à £Ÿ_ÏÓt‡¸ãEJ‘.roÄ=ϨH&?´KuÄ<‘±›hòÜ¥û]e|夃Î%_Âê×þ@hÞ zÙˆ@€Só9×AÃØ  ›`¾ZçL;¾ ³}¾belÃ`qBÚÅÐK’ìØ%{Ø^úǢƒ~±M +R7g-¾Ô‚z'µEµ<¹Ï3ò÷·¸u˜ê"7H‹¯1=Æ9‘~ê7¤8wñbälï„ +—f¥ˆ(’u’YUœ2LÛnð®‹ØP!çDj-¸(Œ.Él®”G®î´À䨗xûyí¶ŸTG£‹šxF…#t¦‘u´=þ¢C='ô¹È’§è!…³óv +:t]çDHºE¶%©›n£ "þã##ü";¯=-›~°6¢Üv‘A„ z)òa´VHDØü"¬M*nŒ ”íV·$ë?™™Î*‡qsÔ)ãÞ¤g¥¥Ç|ùúåªí7©ÏÃãkÓMÜUÄΗ³O‚Ó·Çn$\«ùhÇOuØò<߶Æ6>KÑ? +‹}_M#46˜ú”íe·?ûµß½ž4ÕÜÇywà:™˜ ¹ +YG_ͩ좂 ŽaF¸ù`àm!$6UPÒ}¾Ñö3›×Õп8àŪjÿärQnšò¶]Aû*€dbo© ñhE•ª +[½u2áa”œŸG¦¥@ª¸›¿3ÿ0eˆvCùÔ2\EP°ÔF¨ßï”Ë¥ÞJ?`™íÇÙË;&=ƒÇÂõšNkS•T/ÎG+L®èu§þ‚Ë›Ïæ\ÂÀs†°g„ˆ‹ ^&§IÏ®•Ìù~í<[‹[ƒzK,a^„1e/©j4";Y +endstream endobj 190 0 obj<> endobj 191 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 192 0 obj<>stream +Ç.ÁËÚ€éOGÅ’'©¤93V…,n\öŒMØÇøn%£Ò‹àoÜCœ©È÷ì ‡Ì'Òn?S´ØG2êyœ‰€Á@ðä})†×Äs¦z½tu¨MÍ™€6rÆ“·~ÃNSí§"hÐï#Zµ +­âžV8@¨–•òuK­:n³þ<šHÚ]³ÚïÖtú#™ërÖ|ÏPDôÄÇŒm«„Cx¸ƒ^ Æ…ajªÀP6|Eéù@¥``0Æâ9EY¨fWwì^øÒÍþ`|ùEàŸ!XV‚¸›«|cp­9øâò»¤6çÅ z(Õgç1LŽ +ÝJE>Í={D&œ½X¢Vº+jiµÀØÓÔxÎs ÜJÏûë}Ë’­YSw‚åýSüÒnlµ?¹ýyûØúتÇ'ríÁ,¬ÿxÊ‘{=?¨ðy`ÄÊÅí¶léi +¦Ð΂"©-nnÕ•1÷C®Ä~äí3"ñ惋-Ùò ÄzÐ/Òúå|O x…[ £»it—âý„ŠR6@Bª^Är£×üèò”œ•9±kGéÕËK릪<ÊN–åLd zB‡:é2rt Û þþýYä‚õ´ ‘£í•él)Æ. ^B¨¶¼ÇâyŠyñ_zñ^BzÀ8WâÀCâ;PJ¼£A%ýuºHšÓc]MSnÊf\ú›,“úâúìø.8†Ÿ‹R «kï·£!CZì#–xvÀ_ËçS\dq+Ñ¥ÞOr8n¾Ú!ž®,Ésò$rqO¨Ù~ゥÄhWf½šlÞ‰WïÝïõ©¤¸éH$:i/í#Ä ¢;xöé€ùÆ,fÂUxa˜‰!, äi€Îq²‹aj™¿¸}c 9$ ¡6ýF"üŒÎ3’{nbÛ$"ùÛPqaçÎñ §Yi”b>¾ovWz^L)´Ü1Ò¦{aVsÅjô½ù+÷ÿYRý;çAÛÙÏ,åÍr´%~ZR•²¿³Bxo1¨ó-“¶3§÷&ø¡ÔbØ3ˆžÌe¹yÓÚ$Ýmµ¼ÍÁ¥#V‰ OÞÆ},ý4Ù{1>kmºÐŽ- +¦Ê Yœã^9Lñ¯®IˆjÒwM:¥Aüí21b[ÖÖuVùê÷íóò*vöØ xª«õ”càâÜéN¾ÇÛåffýz$¡ebŸõIÑN™ ÇøSð#sçB÷Å0÷õYÙçO€/U<ðy·cÊÁØ^§8_xŽGýŒŠ|ëSêVT”ÀÂDÀ7‡³X±VA+=G»’E½ Ö¶âæ±f†±ãæòâüÞŸý|ÓWØGoóQ 6·Tè¹VïÁò½7¸G2*Á¥¹oâAtÌŠ [,b Þ€ruqÇÓªÝþ¼þ0ú_@D”Ûò‰ŠªAèV¥>=»W›vÓ8F If–3XÖ{?qÚ.Ï—Ïÿ5œ„FŒû߯!þZ•K,ÚëZš³GºÝ|,ÈÚx(Ù'õŽZ»ÐàvŸLh/596ŠE¨L)Úªãîj†';RD$[vÏä[æ»°’ …6¨L–ÑS»™±è5)%šÞÖƒÉt¤9eÔÙ¢Ô’5"~†rLáx™"oÎý‹ñÙ·Jï«>óuæÓµæ¥_{j\>ÂØŽ{­¹6wþwãØíðÓGTž¬»SíT}…ôóf ¹ +2p•á\[Ñ>Û`/;ÏÃ÷¼ŽèU«©¾›%8Ž"G;l?ôaKÇQ’k¡7ùúÌ…Œ˜–¿ì4pKyr²¬E𱪫—”Z'Öl,ç¢våÌ:hûSÂN] eí»Z¾(ÀOïéž·['vWì•A†Xo¡Ýû!ù6, $G-ë)ÄxùŠç¤³NtKÉ\%±ÕýÅlåüíРªÎ Ÿ×Óör‰=¦ý©Ð\ŠjÕF€~ïk˜ö–œ‰,¢)@ñì}—Š1jîÀ¶˜Ýìcó¸Ì눶gôÓf_§,žQܼ×E öP,ŠòŠ¾°PH„01UÁ¾é`B)KÏRE…Wž®(ï~ä®h¡ì"ˆo…oKB†,Áe&ƒÕûïu¦’ì>!ŽM©¼\‚Þϱ¨ø~B“Œ&kƒy/D 8ëª8‡Q°y4ÜYy«…RïZ¿¨!¼å,s˦Õ̦º2@ò6|ZeÅmÕÈ䬓`OV&¦c}þÛ"mák¥2Í{×€×¥´ãÀêë]#]ºKíªØ×-¨•'dGEºÆ~z( à ¤ÜqGg +endstream endobj 193 0 obj<> endobj 194 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 195 0 obj<>stream +~g¦êß0­¸ ØæÊ,Pì-ÝWMb):P@–*¹r“ß•?×â©‘rÔÇ}A¶òƒ„Ö4ê¹Iëë‹ +¢Gm½êHTíÌKŸ¬áûZ t¶$¯çgÇi_ þ F†¨ª ‘ñEd U±¨S%kQ ø˜=ÿ×åðÕÀ ¯ &‘ÓµGÀmË« Ç“‰L!Ë’úËÅeÌê:-ÇÙÍíyÓK©Þ%Ûm•b¾éàÄG”e›¦Åœðùÿ¥]‹Ýeúáq»¬‘ÙóË4¡¯ü@·Ö–ŠÚ=ý%Ô¼U +å„Úœ§€\@Št*P™\É©Hª¢œU!çE aA¾Awu÷ÏzöêØ;®ÀY1…Hoý¯‰í²ë!ÏÓ®õÓ5/ØdØV$寥}¾YCGjoN +Ã#Ï®ÙJ¾Ì9EÄ îMæ¥í^»0°«ÎJ¸¢”ÙÍŠ’psi¤_BˆXU™TžF0Þ+Á½¸äÁ…JÀ€àA~ÿhjlt‚Süƒ1ËY: È0Ãé†3RÀhr¯MD +öh–¾}ûæœ$õ>h/‹»¢ºb0  ¡Íw5tþ?ˆÁ«@ÿ½sÁWºÎ&œ|àYQ²¸+øý[˜VæsúL0'v¡^Îøx¢)|XÙ‚g Q‘ÀV Mcû@ýl-à– v6ÂÒ„ÞçÙ‹ QïÕœê bÂâìÈï¿|tp¸4#¸J˜ûânˆ1Ü¡ãÔ#Çšw%ëSrÔšã‚|W1Äk=©:gË]u#KáoG:Qô¬¨·‡]ÀŽÚk\åõŽÊ|vêa3Ú­Œhñ{-sHqPlü„-¯ÇÎocÈ\:§¡,"/áåìyf…áÉ-YØ‚!79.aBzKao´…;’´­tÕÏUÔòóo_£Œò)ò÷Wפq^ö+¡==(Ù]Ä•âÆùY„ Ô‹z]¨ “`Á3ÍZÛóæ¨j³ºXq-±¯…‡øY?I’“RAE>ìƒ+ïÙ#R»EñÒo(Ù¢’Ô7cÌs¸Z›Ù²À½Å´Ï ÓlØûIÒÇ-¶3=PñßJO°ñRÿé³ÌÖb8ÅÁÑó28_dÄø +Œ{Ù;ž„ا…Ÿýv=êQ%„}n³ør@ AGÁÞ^ØÜÍt•­A¥¸e½näkžß,q%%"r?§AËaªaÕ㮋å¦×èiÀ'€qBÉÁ{Rq¿¿³&‰eâÏÍ+ÖyÙáG8ßoa3SŽþJ¤£oóÔ÷ÿ·yÓÇwDêšÜ&žë c6?«¸öX[0ëØ„E`|A>mVÒ^¯ÉÈp¹_4ËÔâ8‰Ñìžÿ#:¼ƒ'è†Ê>öŸ‰@[>îÞ»Z €ÍkA—§w£ µ±Eå¤x9 ˜f­¾«êmX¥œŸ´b'EÂûÌ ï•PÏŽ°dLж~ ƒ´ÑóYÒëR ˆî t>è<oü8½ÏA'Mx_µÈX˜?ÕáT­f°q§x +aðj\˪m#µ`Б<ø†á3%ŒÔF·®G ñ­ÃÀ>áExWgø^ÌœÎ5عÎ6Áå(ƒw;žW¼e+ˆÛ¸À܆:C^ªËVA÷yTw9FDÙá©ÄÎXóÙijñè€|è1º2ÄU£unèôÉËDD&±¿pb an>ð_ÃKB…$jžŒÃàò )ªž`p²/8æ1,€©i¢ B ïí›é)N—Rm=]G¢‹âeY´ 6Üý ï`ÔID¨»p+U*-™r˜­úºË¢Ï¡0Œ¸B’"AN®³½M³$³ +%Ëy¸Sÿh2g „ÈR²£ü•ÑoIá­µÒÄÛ0žÌqæ…—íØŽ†E Jj¼½æÊ“i¬t2¿ð2Ù$ ‹Ã/í?Ñ!š‘ÒŠ^ÿ‘Ç´xïe´ÞRhñ¶ÒÚ¨ÑÒQK#%³Ì*ñšg¼è±1Ÿ3‚27Kåà# ÝWk™â eˆÉבŒÐ6/Zþyàê–æˆ@Úo¬DBhr¿ƒÁrfìÇA¿¿÷jUç &]Xg•ª‡±üBn¬LÀOÔŒsxp±1-úظ…Ñp¤Šõç§ð`5º@îIƒ»oq®\ì‡)kv±à9f\v ª“"è$u­ÛKTºícS‚s›ìµ ˃ºa§²ihxv`tŸº5ÏN ;Ë/Àž=$QŒ30 ïMGwìO|SËü”ßg­Á{ãJìÏ/Ò&ÂåÃÑ©E½Õ¯R”‰‡¹0ΣӾõl]žsݶ7W ;‡ý´î̱$W̲ˆhŸÔω7™Ì(Ëq‹ƒâ\dõUÙv>ðmnMÞá†LsŒ‡ ü(ÛLb[ƒÛÞ|)l’7ñ`K`>ô*4°¯&\lå}‘å=dñx§óf`É̇î`C÷"Íu‚¯„Tõlž`§B:z}±ü…Óz:¼Ìs"[us%ôѲæûb§ñÔ ÿÞvílcõ¹µ#÷Y´w½´½[®]¼…¼Ü[‡9Šºåøýc{‘ôŽM…±Y< ¨ûŠÔÀN0Rþ³¾ÓàЧ#5S> endobj 197 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 198 0 obj<>stream +˯Ë;Ðmt+Ã2ÚñZ2âÖe–¹RÈ×Å ‡6øß +°—æ¾— ,P¢í¾Nm¨5Ñí!öè´X (zb™¥é6Æû-ûâ©¿íî"@%F)uUdÁ ²¯bôc¦ÛÊG<üZt[шF0• +M +3Œgx0»0c’^ïopÍ·é@MÚÝr˜ÖQ·Þ^ò@O¯–ÜßR#©W“Ÿ¢ÞÕÖ(dûß›¿R³=œ+¸Ï®6£‹ š`ŒE1«ûAG¿3•èsCØív÷¥ûmU²ðEj­Ž'‘™P +0ÂeÊyò‚ˆœ¯É¶¡?ŸÉ(ŠÃyÍÿƒ«yÂ=> +tÌhÕÉ$ë:å Éÿ‚±Xüô¿»À8]t™f§×¸G÷Ôó|ÈŒÈíó$žui¡ MéâU^ü{@܃f°|°Wô›±¬²ÔGq5T!ÀÕlGæÐ5ò¢¼¡šµÀ ²1å÷¯5"d$3‹àÑó­›¿¸åôe ™€;WĆ ‰×`Ø´wë,0Bˆ¹H³y*^㧅Ög_£¸Ÿe1&“Câ«‘;_ ‚#Çpçц*i¼…æ´ƒî>XdÃ(è—³çî¼x{9#jC<¶èž—UX‘R¹r[EªNh«‘rF`¨ìñ“êµÙ1ÿËx¯„V6«µ·Bž¾QX³$²ÄZyw~°%0,ÞCÝa¦$¶ÁiŠmçU(8‹ËŸ-½¾(×Ç7Iæ­ohŠt¥í"õî°žƒÞì#£z?ËwM’D*+ÃlÖˆS!ñ¨zÆÖwTNׇX}Z{ù<ÎE´Eô ¼/ŒÉ{¢‹ Hü=öv–'3À¢e?Æ#ð»–.òŽ]Y4Rø…d™ú_©2WÑjæ ^´î¸]ÈMÿ¥îBÆ!!Û×-³M멾aµ jö¨u…œ'ÍæLRQÇiú6™ÊB¼¿1S¯ÊT÷«9£×Ôz hè¶èdg”þFë}|¢HËó뾟ªäÿšS6Ù,z÷³ÙûÉ’Rn’ˆù©zø@Ä<^£ì¿‰‹&zié'§)ÎW”Ù+ú¿¤N”ïw™\­×ÄK¬m"E̾ãY¼»­jÈ]›9/Pczn~ÈÙ·8²U’f6Ç"4ðÜ 4^IÿWק̫ÓWe…ãüâØ6é(eq3#ÏXÝ9g5qŠ§Ú`«Z1°eQR±qf9K0Ós^Ñ¡íH`$ª•«01‰¼™=榨-Uä'Eî“Á|‰w¸$êí‚}¡iÓM“kMÞ:‰+ðÆô×± £l?DS ˆåR ÐŒ®‘ãàÏ20¦9ßGkíŒf(É©*‡”NÐü=o=G¨êɤpC)‚0ú•©£Ðú_xØmÄ:“ðØw‡ÑýÅY«ƒ¿Ú´Øôo‘*á!Üôƒ.Q¶h•re!5WüÃôˆHd·5~ˆÎélq_Ö™âÜr¹•(LúïµÐ=å¡ñˆ-‘}ÁZ?Më “4ážT´°dpªL“•Jc_Õ«PAC€h/¶_1ÿ­±sñJÝîG6§)ïO½åÈ•AV’GGÛKxñËI­añ†áB—¢Íä»Ñ²fî4í„Ï'®Ÿâg‚­ðí£\sv“DìŒIÝNbÓ ƒ$—f÷ó#/j84õ€{]á|îÙ²…϶ï…Dƒw·7)œY«ˆq!ŠÂâ1>> endobj 200 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 201 0 obj<>stream +ßÊرz_4L‚€vso§63„óFxô%ßå–¶»Áxø ¢%˜¦>CìJÍ=:U¸1;ýæiÍ3¡×´¾@"ŸíŸñÒ¢±€ ë§A~Y?u É6dÛÑ°$¬‰¼*í lz’ÑÓÞ[û/ÿ¬‹‚Û@:¨4Â,Ýs@ŽU-GÉcQwwä„Ádq=™Š—©01„Iï™OÛR  ÄÖëKè•öˆÃ¼·ñûIL–Ö6Mnj×JÀ*Dƒ/V¿%!ÉåòMÓO˜5hÔ^pÄÅ^DД™H¿GR¨þ­£ÌŠ@hÏ…ù|S8VÐ¥ +ç?£1/dY_“ˆ«y÷s¤ |m0eqºƒâX7 +Þ°4¬”oNó´'ú'â´})Áše6^FVäJ˜ñôÒAð~%<ò²áÎ,cÐã©=F¯œ3+‡îq¼RnŠZÐF˜¦¥p`Ù¤uÆä63êm‚†´¬PÁ%Y ltoñ©ÊJ9¤Ê’m»Jy~Ù0ŽžÉ³ß1ˆiZ¬Æ.)?@ˆH/æSj°ñsýjgty•ŠgÜ1½aaÙ·µ™p¬èÓ i~à‰ +‰‰gˆýÄE\‰ô‡øóõÎN~@^~†rrIÐX¬Ã8,.­nnö{™‘oÅâw¾p,bmG4Mõö+(öÝ¢âÇ“B7Áì¸Þ=5ƒ.m&&*“ E€]°WGõAÂ]Ä–uA”ðù÷!ŒÄÛÙ (e-å:^LðÁ·Ë8´¬vP ÔxŽÞ™:Ç÷¥¹¥·ÃøDÞù¾.ÐbrL:-Ý=jœÈ_i¢‡u‚ÍøÀ +Šc³œáºa:¾7LnI…?>ÔM»3QÑÄ7Å¥×ua% vÜì>ŠÆAúG¯V`Š¼Jx¢ÝJŽÞ#ßÖÇr!Ž(f[áCûX ¤Ìì¾ÃH¡=;s< +òûËÂ=XVp"ŒtÝËï½BEæG€%:.br´{¤«„jN‡îÑdÈ™‚Ú9k—•/4€b½ò8M Vq²‡ +L–G/ÑZEeÀ¡A몜È*7:j¯ß.öµ€ñ§=Qu÷M’~ùmš‚ØX|h¨Çê]E˜Ñ÷ÈÓ»B¼W^HŠs9F¡ÏÉû0žéè¾¹ê[„U=Ja8ê×|‚Søuh.÷ë¾hêj^¥=ÉÐê·Ó^u" ëX +•"wY¡9‘¢F¦¨&Åã»ÌÉò ÒÜa²Wõ;j«P?»# _å"÷ŸuWØÖ»9€‘½çë¦Í»&n<ë¢IÊý.BýðU®JñÀªQ:ÄC$é‹>’¶¾â¡ +(=嚘ìÁ™¿)äûc;ä²Æ<È?Y[©!3‹FÂ3§ñ¾#[Ž…OfKþ~ê\Ô ¢L»³ôBÎÿ…¼ýd€?"Àéô0â:ý¼‚{fN«•—iÃÝe%L,Ž®Œ|¤‹y{@Wcðãä{ìùÍÀšìȲäËñtþŹ“>(LüXI²¹“ ¿Ê~<àPE oéEÒ©¨åÌÒGØ Ó¸œ=½ùm" 3ã‰&YÇ `¶ô½fšèT}YAÌe¶œ™œ)yµ#´}à(„&ǨCÀ$ÖÃ::A::^”«,£Ã0éfÕíÕ£;e¤ú/6²-¬R•Ÿ‚ƒiF9óe²qÆb½L¶[±ÍžbvC•X,ƒ[º¢Ì\ÄŽ…f¢&JZŽ-·—t”8ÿEÆYŠXŸ}V*ôÕ2áþó€%³T•òÒÚ¡ƒ®»]peF:)©1ÎEæCËn£—êWÒ>hQÉ-¼G†‹¦ÕĪ/k¤&·è™„6ý@襟d«³˜ýÔÐ"‚%„uJWaöp¬,Éä­¢iÚf6ñê¼r¶¼×3ð|Zu—Ëx–ˆÑ¢xØØŒ ë«°ÃéæëíYT-y³6Þ¢¯»³I~ß›ÙÓã75 ú°N¬gêÈØÙ†@íŸ4••ßÓßÅñ`¢æ×(Kèê´xUÛ£²1fðçÔʨSHz7µâ¾Ë×rd¨~ºwBTq>ÇšµpxÏ*rkí 55Z¸Û. @t‘1”µ¥Üëä¥]¯Lzs™V­+Zs£ÈVÔ•°›-k…RÚÐ +5€}›R¾ÐQ¦è‡1÷:Dto(éµÛ#ýÂG ÜOξ÷ŠïùûŸ ü߀¸Ö7®)Ñ}@•:&Ä0ƒŽúúõÊ yÛ¼ƒ‚!½Y†jÀÜW½¿V¯ØÔËŒi’½9¤ÑÓT1ý*V…Òf¾“.—±»5Ãï¼Ý™4kõ[ç Z¯0ŽâÎdBO98Ôæ¢%÷§UÿK]¸¨Æáï¢WÀfz¨+G¹„›»a ¯>Š©ÊÔ€ÑÚh¼ÒA½Ãp« q¢}{ÒlÌiîG@þߧáj•63½°³ãˆØ'i÷¦ü'óMý¹e¥ÂbHþåým{÷örÛ쥯…¨D´§ÑNÛˆC)!Í€bêTý蛃ǎˆ‘@¸ì1.ÀB&Ó!0hsqÈ ÄA~a +ÀØòsIblo˜_Ïáµ éo¶ÖÓÏš÷• +endstream endobj 202 0 obj<> endobj 203 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 204 0 obj<>stream +Ž€YÆQ‰lUÅÜÇV³´O/–>+:å2  +mz«Ó†wg&±hO_¥öº³aú‚”Ó‹FYi;?xËÖ¢IÍKq'²AD2WÅæU´ƒÖ¥‡3ýÔŠ°aJ¸Â(ÌI=À\Á’¿ÊvmÁ:69•‡¨j2ÇìýóÒÒl (f’@JçÊÿºïãZ²™»ˆÂ~ÄŽ„™)ƒœÒ³‹>eÁ¨Bø­EÑUÐSlH‹–<§æ ðRŽ2:™oàýhIkEÚØ2‹Ì¿–‰ù"E+í)6ÃÀfY·z'_æÍÄ>qÀþ†t¸NRI ›æ½ +ð’%Yÿ€ +Ùjpz XZôù‰'þ} r*„ßZ’Z$Ô½5/ßçî¢jV4þ)q̆¡îsF¥aƸÆÓ$¯­s¨§Ô¡,ò¶aìVæ‰N7ËʺWl‘¯ õëÄPBÈß©#ï V‰ JZG<¯³]<ÉÍUâìÉ?÷’)uypé¤gïÂ+”Ñ9>Ü@ÒÅæ~šå¡ímš›.RŒVöïŠ'm‚4V/öéë© ¦tJ|²™˜0¿Û¥±4­!Qa=±Ï¨V%¦H-díPÉýõ€_a™¢î©¼ÂZËQûãLR¢cƒù‚ú¥Û%Œ!OH¬2u0wp@ÄN?ruÿÓ¯Ãì/­ó SåÈ6• HàÞ…æåcçaù‰ê5Wð1Ç[. $¯Ð•–¶ÝWª¹•$On÷®2€iœ–úýZyŽ–@®\þiJ¶Rd–Ù³2 Àà ø¬™¨¿%êîÆÙ 1€±a.Aé‚kd¶ +°?§ŸÕŠ$Ú¸)^Y™•ØÐØŽiGæfÿÓPÚ°É÷4> R!43c:»j_lãÔt(·4\/ Íœ:ßf0§ºFCg-¨¦øsÜs`JD=ƒ^ÉU]›! žèÏ_°ž{)ØV3zÆBÃv*`Ž"Ô*¤fp¯,«¹­3µ#"Ìí¨¶KõLðë™5ÊŽŒ>Š»ÅêˆKkü‰ðq¡×eŽ½#]¢ëÃ;®-¡™ÙO¦î…‹!o{<²î¶Ý°þTêH\~åÕúÊ‹IUËOk) +¶07Ž˜[¨è9&êaß%sz=ºÿ¡ÌcŬºO™ Sat»%M£ávý0·zoÈKÙé^D^ãIp^°…7ªÑ1ç-BÿZyy ä…Ç6FìtLTµöà"°Àˆ?+Û¥Øf»Äþß—(¯ëBöÜ7Øtñè;¡\û…û“»,qœÏÈæËêóèb¾Á^:éÞ äO‘iÃö¿²ã­¥³0A±[”áäöáÄá⽚ý–w¼¦jõ¥nœÜ}Ç€‰R·¡>èÏÆ>2‘jy§*ГiþÂæ5KÆþüªZ^íl=y{Ô7B?™lZbyT‘Bßk´¸ËZqn5Ū÷§è¥OFühl+^˜@jg+V¹²ööñUYÖ„¼8a–KècŸRòº“íþF89¾©¤ýžÁÞIÜ’…ÕwS‰MÅ(8‰–\µaX/èX‹óøqf?1Û˹Çi¾=nŃ¼ÿÆæ•4ô»ÐuÜw_¡0Ê1K[¥{gN*ºs_ô P|ª%º?Åâï¦þÈkÍÓZÏS®Ø†(p½\ºP‡rø‰Öö mcc™õHŽ Xñ*÷½é`ÎÌ{¶ Ô–+’½Ê ØQN¾¶ðᣖXEøÓl®ó–øΈä)þ,ipî‹ö9™™t’½2, 0žMàzlé}ˆRѽ`Ó Ã-Èš¸ÆqT÷Hùó ´‘×#œK t8/-–¶ëÃlŽjiÿ¿¾Ì<1Ðj¬.T-»Îî"ß%Ê^ö V„uû+Âfœ³ÖA”Á³<Õªä%eã`>Å¥Ïê§ùáßdè©Æz’®ÈO;¬„Ì“¸Þ®ñ©kõ…òÏòŽ¡îöhÓXOÏÓ@u!1þ1§5Ãc£“àå0 Ä{ècv¹Ên!\ŒÕrTMX*k<[ˆt]±Ž(õÃA)`““ºœ#aÛÁk¶ód\‰Ÿ B3@%Ùí”ÞrxÄ ‘¾™5p£·à¨]]fRŽýå/Ñz~Rã(1Ž¢­DÌNÃ0“+]ƒYaå÷°‘ÞŒÑ;‰­#”Ø ú?`#ût± F¦a¯Pœ3¥ïÓvHÌU ® +Öá*€žÉ¸¨ú¸ô᪉Tãfë/g¼(0>¢Ñ¤'Žðâô7 G!UŸË ðM{mj¹G“a±[®ñà" Æê¡¥X„K‰”‡Õ%šø½¦QIŠQY)Ãÿ¦9& ø0ø¤¸i÷zÉŽe+Š÷˜ Û¿FP"G:_‰Ò°±•V|)¹>’ÌæÐ.-)‚ Ì ^ç˜T­pêDZ²‰Gl)ëS©Ón/è"'PgsÍêŽ]æÃ…ì$Ú3㕼/bÌ%„ +´ ´ y¤ÐêìÄ‚‡d?·¿‡—xÒcDŠPó( qå•®yV¬CK»¥-,: ——ú¤q¢3ÛGÑ"rÚGCÿ奎=rLvˆ¶m[ÿÈvxÓ¼V7¸S¯RCSªúùa0žÆÑË"HSÈò{H®”?06ø¦LˆÅüë7Ùyä‘™4†Æ•¬8:coz'M6,à€„Ë‡\µÈ/o%“ˆ£9m'ÚÜöR?—éœô½YÆŒÑu"EV×ëš +´©±åÿ–:˜â¤)éµ.æ¼ù)ò!°ƒêžvåå¯GÙ?æmŒ…,dÇTiÊ‹ñQ8@Ži´£d—îîs ̶.E”Ì@Îi?º™QC‹#|À˜©òIUNyH°€ÜÀµORû Ô~ÖWWWªÑ"‘0sG†/’ýÝÌS ¦Ü¼na¾gþ`m—ˆÒ!qo\0Ÿ|'½hèXb"—;ºPÇH•Ž?‰™)3~: Ã}Å'6¶ñv›ŠïÍö¼+v—“cúBÙd½÷ŒiÓ ´íöúök™L¬¡HÁ¿5ÇòšõÖu¹Ê\VE§ÿrФî*-:È„l[âC5T•R;à@!p2…Q©/²,Ï»uòüÇ©Úl,tYð0Fƒ[¨ÿµÑ{OPj%(N‰F7@¦$×êhÞw×K'O3 ™À‚ˆŠd¥;§WºíPßB³Í‚íõ·èñÙÆÈ´Î×·§F o²_ûM}y£»ÿ¼©ö/„uÂÚa ÿ# +¾ù× þ„Zª_²]¾Œ=%ØÈN“Y¬¦9DÈoï9m‹:ÛÄÀóš*ûˆMà2ÅG,þDÅà특œgSÀ÷¸\’¢/œ_äýyקԊK¿ÖÓŸ.ˆ(‹’bÿðÞvº|ˆÃZ[3ØbÃ;S”„t¼[íÓzû3•ÌG&÷5Ôž7É^䶲A-&:(1? è¡œíš' –&²Dó§£ÖÀ·cÇlô{sùõHoøî‘!J \õß÷‘H ‹<ùÿ'ò +ƒ4º'<á]ÇXe»Ø0ÝÍ«)±8 õ]›4°²)ຓžîöܬ êÚ/ãø±'(Nן§bvÎç¼í(nÖg/'Ÿ¢-ÿæálÙ¥—‘o×Ö¹’@+âÇ÷Ù ¡'4ÃX[_Ï9BÅ“Ñ_‘[{AUè¼#ÅB ~Õ)SLËSsÞ‡qô…Ÿq`az‡JJE4ðÕMÌ|‡S-+^÷xJ †×´¶”èГ¸ݘ§}\Ö„ÀÉ›§${CVùºV(jáÛô±È“´NýB-w‰&ÎŒ.qE2ai\dÓÅõÜÞ•î#T> Õ¹Ê?DP /(ýÚ¡þèWØtΊ $«™ÓªG‹) -ý6¤Ç·Û®(½}9ñ?šçÑ<Ûe} þwvÐÊÔûOˆ×‰#w3ìˆÏÆ“¥è•Ã˜`b©3ØëŽiR•LTXöð²îÍz«»Ê>éV§«Bî(½à}Éj½ëí¯ì0'IQ£žž‰*u„·óXÿ[¿v ëS,¥¸Áª¼{Bë¿¥‚cѤÛÜ|¯ÚR–¸G É-1DOèª_Ù‰vz¿‘Û·ëxÞ !ðÑ}]4éU'Õ¯k ¸3VŒùZÀ˜?SqZä‡ý׺åjÒuùà2n#X…PQ³‘Ú-Ë7Ôœá”/æF/IÉDíÛ(”|Æè×cäs.<ñ¬¬QÚW‹¦†¡obã2A[ñÎàT-ßüe‚4gªšH€?Åêa£&4·!½š§ž D/²àösIïmbñ%æB©:ÿ¯Ç|›5Ú<â‘ø6|=[ûЋb¸¥ OUý»Ïý X ušrÒ¼yc²ó>+ó•ïDþ·ÌÏœAùBEŽ5ôê<Á +endstream endobj 205 0 obj<> endobj 206 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 207 0 obj<>stream +^K¢®â©0úoØp¢ußRpBÔç²É':hF™¸¤XÈt‘çjµ€' EÎ!zr7i”8Еɠ¡ã{ýjcSé3dÛÙ¯ˆž·Jû"ôзC©‡É…}Ìf‰ü¢hk ÐÔƒ‹H+ÓM5¿£B7“£(á´hÇ~ ä–÷¯HbfŠh‚¬û‡‚žr?ߟoýÍ/{,¼ÝUæyæ±T_~}K Š¿ú!®¡\'þOAE"èf¡_Ë›_w€á¹üµ·Ûàö1ñ"+1Bjìµ´+¡KtcôheHœPÄªí¼šwiØ¿½azÄäkù¡=ÿ˜=8pc3²ôìšB2ázu2}U„0ˆ9. æ¿‘µK /[åÅ¥àq$•¹>;Uf"lNšŒÛ»ÛüIÎ|dÁÔ‹·À+^$âæðò_ž¥Ãbú©¤NJÕ—’“1(6ŽtoµHãNÂ{%{Q.†å0ñ^‚‡NN‰Ç ’¸3Åtc4=Ciœ•çeÍPi!à#Á*wS8rØœ'„óCx¨ˆˆmÕC¤1+Yb`“Â{Ũ…·³œÊ(cBÇXÝ›IŒ´+|öa.îøŸ™|LþýŒ&Ï6Å_"Ì_}QŽ«üqìê«-If(B-mQ¨øú"À`çÇÏ6o¤– Jã&åC@¨V““r¢ðñ;[4Ÿ’Ôº$pÎù ×­Žîú"z¥*Ù3{BÜwd[ê¤tòO[_hü@Eý +f¾’ã•úˆJ§ R:Šu:ßó¶æ0ôç“ôJûSg‚«Bˆ]ëm§ZzÉsœ LÉ~–!Wv÷óSQ¦:m© ±Néfl/š£JxsŒ_Y¦?“Eý;ºdôz%uTD;)KmÁÊ¥›G\˱WÜzd^¿)Jí‡c¡/û½½ì»ÅÓ¯–û@F±×õó”[VpŽ4ZŠ“Ç$½y…Eõå‰Å;>`ýkˆq ëG€5ÏáxÜ üƒ±»÷–¸SÐÓÞ$`ǵÄæS›$ÒRÍ¡àƒ4ôVãð`xýòÏÓ{YHõàwÒL!”š;Ò©lÈ;,ÑåÎ +ƒˆ¡Wi]³ßoâ=E±8aÌ5ëÌ® ®:Šjüi/˜á´‚-P¡^œ +M;•BgüÎð¸ÊuÛQ–5¾á/zŘÑq4ÿÞêR áõ:ï,™ï›ðÐn|ìƒ(‹V×!¦>€Q¾ML8bÿíÿ£Ì†SÖfèå`> |ý$Çoä'¢¸à;Ò| Jqç*$IEu¢Kûåk}•0Ãñ)1]œI ¾Üo5›!:›Â-ÖŒ”ùñ×> ÀR§~žæ'Ë-"dy¯²wÅ[á—äÝ@lSÒ¼•)åÃ2ä õЦà,™À³Ûwì2ɺ +5l±8#’î¾kóæ(‚Rë9Fóïš øŸ³Üo +H`7ååöÕêƒs§Ùá4X01£âZÖw—Þª¸f³&Š…WøX6Gœ¦^¾¹ Áôm뫬˜‹ø¼£ cJÔé‹¡_KóÄË¿ÍŒ_¦÷)7MhkŸ²B÷á ¯{ÞJâÙ¡¹8òßDUy¢§TK(óx8mŒ½Ÿ ÞµCÜÿó…òðj¹=¶Ñ$ÆÓ*ö̆Q« +$9]çVõƒE(íüÑ«›¥‡#—¦?K·O'Ã+:l»Ïz]áI4Èåp/5 ¶– #ìV#¦m"ùUtá\–×vd!¯?Š/0ïy³ÿ-g˜¿!\ÇöÚí½Ôªtm8ôr`L]ÒUŸö"pBêUÛ”5• ˆ8ò&öÛ…Þ¡Ñøý¥g¥¯j¸ˆÓ^8iÐ¥õ Ì…‘Aßؼ²Ôÿ/‡l.wØ-…«ÑhNã>#çôŸA²ºñó¾•b­¯©]xä.U;ùyª+áêT¿ˆ×¬Â7t"Ä 6‘¹9€ŽD?1ßD3áÃ+é:ùéúI¦ïq÷§´ `skÉ*ì ‹Úê+r]îâx âÈ-·ÉÿÆ°$,þlaé +úc]Âô* rΧçäÏ7ïÛt# +ÊŠÔäJ°SHU{9ý k-n)ã5Ñ8°,÷N,IC ¯i“f\ù™'å¾I +Ñ(°W…­í0“©hQ¥éטWüÏ<¤/;Â`Àgoæœs/œ¿[&Q›!4ì[x‘߃{ð‚àㆆ£Ô9[Õ…Š‡Á.îîç‚àPè<%´I» ì»i«^a}˜hÛ|ÌUÿ xÚŽ©ÆzßÒ/ ¡mXU5ÇäŠÿ®åN6{O%{lvÚÓØFr;å::U,Xò9fGûη?LáöÎÇÕQIgœaÕ ¼gôÖÞ–%ÎÈѼÐ4s€.`ö2·O:²­4;)½,Š‚…Nâ¤?ÊÛÈã)^è nP@˜Ò£¶Çœµl‰cà €a#€‰f éÊr6Ö[‚òÝOÍ{ÏkÀÆpX/$ k«  +>™Óåm̸ñ ô]º‘¥(£ÀI¤Å¿–¾… +*>]±+“l Ö›úE¿w- ×h†{¿Å™Á…ëÛªžº}2D¿£9cjÀ\ èä 9šçÞÛXC–ŒKë±ÁŒ4:äAáÊ6Þúo´¤ ÄsEžWÇ;dì9ÊïDnïʃèà’éû2%íG6üîø3sH'„"‰Óœ”¼«ƒÎxm¶Öž_©ž$xùS–ã,»¸O% ^‘þ]¶‚Û{Ÿ¸.Zô7Ië¤.QÏSwö 1î–gƒÁÞždL +0ø^0—oá B üY:Kÿ>ý –6§¢ ´ mò2û G÷Zþ¥ w`7a_í~Õõ6ÖaqGCñvr¶*øG‰å j(´1ëQpmL·Á«Žî÷»6¹_!PçQø¹qå”o–èŠNÆCÒØ•œ‚â²ì‹¤†ÿŸV‰ÒÿK1Ë©UÖÖyø n¯*$•¹Jsö|ãÉ"þó&!¬±: ¨º#“¨é–îaöãо2½#“¼ÝGÞ;åË¿©ßJáPУzÕ¥4›Û-Qóë`i: müï2‰¼r>òÚ*¨ñßòp–R{ÜöÎàa¥yHÂ͸ÆUêeWúpʹYLO·: T¤{õlaõkBSØùJ;W‰x͸Z€%ï)!æM±Ä´ ÈÃð/iéJ¾hó´Ö?ÍBss o’‰ƒ¿±R#%zR»!ν1³„…ußM°(ûÒ*c‘óÏéaMÌ徬hžûË›½ +ÜG@岩U€¢‘ô˜]®ËªEŽYð}Ú¼ÒWuð¼º&WC +'0Ýú,BUÆ!ç:Þ/3¾”Ö$âðŽMÕ5þ•îPÇ»ä…[s!òR$iI¯²ø£•N²Ë4¢Šø虜QVÊF½ÞjZòjIY^d@-G#£€n²`XšÃs¿îºëÏ4·` +ˆAÙ žˆæ•âà>²7à8¯¤DP¯s÷îQ€ ,›¿: 7”ˆ=^¸â  Ã8×Òb@÷{"9¿D" f½MjEA®Ù +ƒR@jSõë4lœE¡º²‰e*E‘â¹ùT‡È•?mg¯œÔ¡¯ÎÓ¯ëöŠñü“á¬01›A%=íÃ÷¸†¨ÉhóѧÿÕnSE¬ˆï†!JMiïd-.½"<œûð‰š[ýxi2:UFû+`…›htXS9ֈɣ×w 9q~†–+9î+ÿXæd°2'FdvÖ¡u-þx²ó‹¤Mc:À„Æ®ÖtÍü“) R J.«{–Þ¦ ®Ô×Å,¤D­ÿ‡íä³æç3 úo+rÿ¿ÍdyŠƒ04Ok|ú6ež‘¤²_áï´€(‡Ærä " ¹nÐÆÌOŸ·aÄR[Ÿ_äà/"›Å­×[A¨¦±ZLN²œ†ùÄM²!ò5”šíøÒÙkP!]°'.¥OëÏë~»ŒÀú¶ .Sý4Ó9þ F‚TÖ-‰nxìY+°ñâ .mX£Ýz£ï¨­×ÿ3fK>y°ñdßQX"fk‚„4| ;š§ÜF nGƒDq— +&Ñqyh„ßI ×À1Uü}·¥Û%ýRÑÑÝR ˆüášqù^ŠöɃ# ·>×U\°^#ö¯´U˲•q¼u +)|‹lvVsõ¶ÎÄE†£î£B2˜< ã7:N8ûUœÁóñ«*ï ýW(í* ¹ß=üÃD Ý |•ç;/ðÇ¡È‹ø}Ñ?ó~Ðõnœ8Ïñ`ûŠšfÃ_eš¤@q,ÏÀÑd%@¦Ìå,kÀð‡„ÔÒ¸.üé÷I½BÏÞäFn ¿‚.†-†Ì?x؈¯_s_>!3CËE±SŒ l°&᜺#ä*T §~§?j컋ó—Sã”rNÍv°cåïm×ú”>LÏÍh*³6?”t)½îÏ)=&ª%²ä¤}W[ƒ×à¾ò…¦\£¹]ÇÂ6–ª0³$ôüÙ<ëÖOŽŽ´wtr0îr¼á!‘ôìÙÑXþV”Èr^ïôÜο¿÷é_ä;«›o¢&r4ꩶ²~©9ÊÛg—Ó –—¶i¸Ršš²~¼{x”in?Ë»žºÏ`g&F×ÎnçñÃ3\½u‘Rèªw d/}ð"`_}ž{¢JçgM+ÎÀ–mZ燞¯¿—Ø’Ã÷ +¬ÿGÝ›ÚX’å$šQ»×ÿ42çN‘äæ ob8’v¶+påÒsçsPiã©,Ð7eÐoí3ʆ©ðÏ}íç‡9ÌïÔ ;^Sö"2ˆ|¢{uÀwbÂ+-Ç5ÕŒ®¡\á)¨†NàIMX†ÄˆÅ³²Ò–Þü,V‚ +ø$¬ÄÖBìàÕ„bc4oxÙJØÇy„,yï:I„ß¡¢ð4ÚÏlî^li·ØŒ ©Û^6ÄtœŠÞðÛ!ò5*¥ÉÖG[†i_xôèÚƒ% ‹hp?SÂ&GL—dq¿5èôÈ¡–õx»0X™ˆÂÍ2ÓYˆÜ¹ÿûè{§-S|ƒ]„õü·¨™q +¶]-©*<+8U͆ߒ‡ŒFøájƒXic<2 +tNãÛ )§(Dß3ŒóÊ þg€Mªå;åq|4x˜Ó8>™‡Î†!HÒÄ_#ºú5d}ZîßNÿ[ü¥FCë`=žÌY5o½GûÆ—ÃFõD-¤ãÊÈêwØidþÆa U ·\€ß@jÅ#€³4w4¢’•P¶â÷ï‚Všp˜)Çx³¹‡-É^E¿–ÝfÕ5{ä +endstream endobj 208 0 obj<> endobj 209 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 210 0 obj<>stream ++£ Š©`r7χ«„û‚Íý݉OŸÒbñž1PE[¦˜ ^p˜.ĪÞÖ9èóœë@ [)õþñS݈¹Êº8þKû#Ÿróä„{8MÜ=¦ñ°p¥ß™PÀð•ä„ÿ,[V{zÆýŠØàFSøÇýŒ±&²¬âT^×âÕ…ÛŒÁ0¯pêVèÃÔÎ~§"ƒÚ2}¥ÏضñÁ!×|e–ɳÉD¨…–[n*Êt¦Ðõ&¸Üô¸¤m5 í•ÑC§ë­ý23äFBG¼æ£Íoõƒ¶”³j¤R¡Â£©£ÅÍÈF\7×yôhŽîf0Êö F±ˆË%JFh< +ùÿ¶ DB’äé:5T!°æê©Ïb£èHF–õÓ¬Gf±(˜¹äH}(ñ+×8{“˜@ý`‘µÁ¿´ÔÓ‘;˜‹Ë;nòó[Vè`µG{CWAæê 2îÜÍíñþ÷8gÕkÃA—ƒG)³dK÷2ß0åSõC•6Ž{ñ›%É¥i™òC ™§¤¶: >©¸wOï7Ò¦¾j‹SJÝÙÃÎäë80Φ”Õ*§ó@ãXX´]²œ-89õR­ûtª°HY nøâ¤JÒõGýˆ¦“y)·>raÚñaþîu¶ž‹{QèJ%@„[γ۶Š½~ª¡·Sv >HÐH͹†^â1ó"wgÙæ]ÃÞ8í¿´xrrúðKÂûõÀ-–È«ô2‚èbÝ¡h—ˆà¹A¡“¤M«°ÎûúÓW‘-Iûeã_%†$$à’»•2äÄN‚ iET0VôVç4G ŒõRw„ +Ô2?G½MGëèJ¸ž€iD£Gt¢£/^‹~š³*—$DH©Ï2 –y¡o^ÕÙÙ¿ïÕðˆÈÇ}‘¿žûåî©àloD±Óš 6ã_Ä×ul;ÕÜxŽ^V36>”xZÓâe«[…É詉iHbDÀöv²,5} 1úvå¢!Ñ,tIî%ŸNªq~÷ó¦?z(h*áVvqæ¬ÂLž¢å{OÌöÅRº„¢½ùt2(Xâˆ<3”Rcî­ÉÚx…}zùËyTÙ¡*™%Eµ§œÎÃÕagìÒ›F&¼`TVfÀr>‘Kø/†ŽÜ™!½ßšaK"ÒrtИô¼Û1 þ=»(ýýñKœb¢ªÝ‹ÒC}Pè ^€è™eD¤q ÕÝŽzÖÓ«„'z²=Ðݹ‚iº}qmH0«aÉZ<£ðÕÒˆ!;)¬¶¦óµ›³Ya# å?ú˜QâÜq~s&Ïs»Í`±ªm¶ÖuèÑ©S¢A†6¼vúÇÈÑ\$ƒÔY9O9¿gÜŠ®à‘e(¬„!îMÓãNH Y‘)‚/ “þ»S(’~@b„DñÙx­5ÓàæÔ<í¸æa;FR«Zùêþvi*)‰Ý¿¼U&l—¬1q‘–©Z½/Fy½˜BªóÿäÖ}{Ùt„»ž·Œš{@eªgEÅå:±§@›ŽØ¿òjßÓù²euC|pÐÎZ%öƒš+°bNªûð§Ê÷{å9Ș,1d§™¤ü@»]‰®”րˠ¡Œ|ò5—øÇÍù=â¤6~ÿŠg~êôE­[çQÔù§£žÀÜ®cIî(ÌÜáÓ©ÅùÙr?ÏA0Ýé8˜–¡›t—ÕÀ£I$¼Ü] æV\‘¶ÿ9äë‘PìL*h¿ÛÐg^@ro°íÃPdÀgt à˜bògÃn_{…Su ,.Îï:;I Ž {²ÇÌ4üÅ~·‚J$«_Á(–ÆA]’á/óßî)V7a¡ÑŽUæ_@D2ÖžÆçOå¡ö„1µm­Q¼ªhãAYyõ€!jÀ¯¦ %Ô磠Ó(:é4l-0e«KeEË?{#@kNX\\·Di¡9úÂÿóZ÷^»OðÞ×íSXÜZæJxá»ÈoíûxfŠòòÖ +Ü›A»áÇ…oW1=3jÈ+ø\~N)ÆÊèi”é Z!­Ÿ®6(3uc÷÷€a,0&^_,áѼl@…7‰f3´°2 jGnJ·BËv»Âµj÷ºȨŽ…Z¯;zd™¬|eãoñQÉ@ëú½Ù+a%‰]Ñ®³hÂJ`8I*W× i ÌEÆÓd¥EB}—•ŒÃˆ xü ÔÝë˜":‡ž®)ÞêЯŸ“UŽÍžŸ2 8²”nìâ¯t=€Ñ“yn¿ï܃¥_ßGo,óÐ]ПNéöi2A±WOl'ûkøÞÆÝrjD6)u]/ø>”£žÀ+oŽ9k’æÎâÖXôàÝT¼ŽG5Ó?—îMA’ÃÙË“g#\”øY½Ê%;R¯¶ 6\O^ÁwHÊ=›3û¶Ã¹×OÑZžë ¶[9½‰ÒûáȱY(6êj„Ø?¨ s»ùǪ'¸%£ÆåXˆò5ø(«VµÌý:øq(C®ºÒkºé4~Ç`VÛAG†gƵå~̽üç¾xß»boÇ_æÀïˆê Ã9O%ŽÆr‚ ŒõxR ß~´YÖò²¶åø‹©éq}E8•'ðbùöÙ>¤õµˆŸ’w)0oio ÑAÛ¹…Uø ìµt%}žØìBêf«üæÃC¶“_êHäé—¬…-D-ãIŸ:üíS; wÔõ‡yT&³sYWe¡W¦>={]ÍÀ¹O¬`ÌõU/ÕE‹Ï[~_€-ͳBìuëˆ +òÏNÒí%|}š™qó§I­ƒ,S‘õ:!Q»¿}0€€RᔤbçAs +fóbò'"ýB[‡NK®7ƒ1î:âV‚ªðÝê_ÚJp‡êíòao 1³wùÖñ´=%º|ÇFNh@Žcx¹Yf÷¬kÌ@A¥Þ±œ¿¡²U6ÖÜiÆåWiê¹A­^÷–ð&‚'e÷{dÁzœ@ñ3 ÁÖX^f¦•w3Ñ5u ËNÜ-ä p8!—]!öÍ(÷ª†8©ˆÉf ïuàÈ8cQ™²}Wm:}ËÒI†.ls›Gè‘MÚ€œ.)éE]¿™ÊÂÇmBº/ŒãµròªO œÄß.ŠvÔ¥ÍNƒYùȱ–Æ)zˆGó¹Å@yq±Tù¥Xqp%gN*o`z€(rŒòËŠñ£2©H}ÆúñQ€ƒÄÓÀÍ? ¸T'` &Hýy¶ÿþf‚Áƒu°lßOm…<ÍR¢É[•ùiZ¬—ƒUª°Ï㓃¨YV´Zhqå?–P’ŽÞ˜Øí†ìW¯Æ5d}ÅÌqÎ5°÷"<NclëÓŒÂO/Ÿ="º<¢ø| nFÓ:}:ýO c¹z×ýjF^UŠH‘eµˆ¯wæ´v¢bóµSøCR‘È«8nZ±ñæúÏÓf¼Žnëô@YCž +-µ‡'R‡§üsë!p^è`NPuµKìÔ}ky*Û:â¦GIK3†ª•t[¢@h£C)lŸ(ºQÆ÷—˜Oyw'Žfò£ß¾•ï*ÚŒ7lØ»ã߉›ˆdê@8á=³_á½ö‰w· Éjk(kL^ \ S€­JûiH:Ÿ^%ÉAií±¶#²=7ÊH¢ãh–ECÒÐSxÂáâ33÷œÏ\ˆýJ|ýŽ°Vˆ$töÜäN=0«~©Éso½ÍÏ‹KéŸj4çìõú¢Ç ùÓé$z²'Òb™Z´%¢&ûî^®»ƒÃ|}A24d‰Ãƒ%ÎÛÁS×£¦Â郌;†{Ï僫Q:Ù^V Þ +QôqõCÔçbO>îÿ?ý223þM ß™~ãªrk½ "¬ E„¬ÒXDÊ©,›V”uÂp¾b[yÈZqXÓî­z l`˜†kÁ_I°ìab(zÞ˜3½¡3khVå9ÙÈIì`.Í™.€ó Á®|°ÃË—Þ3lYâÎ ‡ê‡†u› Í®&÷?€X‡( +endstream endobj 211 0 obj<> endobj 212 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 213 0 obj<>stream +GÙž­Ç©#µŽº}òÌ.¢ìþýöz·••qÐ=™Í˜€›œå`blÇêGÙÔ£ +øÈþéVøp†÷ãNÉõžáDfY¦j¦ ¡&"©^Ú­'J§ù…x+ufÅ/Äz'Ã6ýpw¹gBUã²EdCs)F[Fà` +ã2ÒÙ¢ÊÓ`,l=«èB¯Ë¶¼f³›¿WQªËaÕp3JJ ‘£ÄþNÛuÏ! ê†XºàqH0WDúFP3NrVžæÏ$³xÙC{Žh²4iƒ yulÿvéšS_©ò´Äó¡ð»ngjäLx2óÙ5Zª†ï-©7$†m¨Í¨…Æ’¥­©,õò)|^!±$Áÿ9×5N;Ðþ¿îÏñ…ðtëæûIåb¯sè°ðÍÍ0ÊÑ`@•Êä$Ùoº¹È \ö5™p_(’/¬º<¬¡[¼€FÓOìK…¬mìð·¬ì›Ù–y}æˆÅà–ïÉקY!’–oàþëö F¦-V2GüÚuÝÙE§ŠCXj>–i2üÆã棄@ztí”=é3¤[ò‡œ?5ÎÇ‘‡!¢$Þ²Zgwì_øS]!µ¥ Ž:À¶‹=hÓ¢ä}ºtQ5w‹Ç–h£Cyùnç‹[©HÿïíûÑÌ@²ƒ_: çÀµi¿|a–»Á OÛ…ª} +‡ÛÑ𧠊Q‡ŸÖÐ~§÷";pý€%(©Xâž :2g?v¬ôã¸0žëv!h7¤¡öcAÛ—¶"h…ZÛÌ~Þ/Ý~t¥Cüƒ•p]‡©kàiûƒI1uá¡Œ wâ‡~§q;6‡P¶°¹èL_#LUãbH€#‹eõ’¾ŽcTÎ,z»C4Û¾w¨GÔê¿ð¬^ êÁþ%á)gŒË÷;|·Y9?3°äé5ý &”ûP¤Ö¬Õç¹ÇÏ­÷”¬VU_OK' ¶×¸œT©8y´m kö~8¹H!âÊ? 3AÑ€M‚ßîÑÝt–{õá‰b1(õšë×búd ¯7fÞ¹z2» M‡„CÑ‹|¬ˆ0ô~lûS¿ƒ×C¡zßúÅËiªÝ¨cÓS£´•æf9ž9yu»–³©í«R‚@ÎÀ ¡ìÆÑ…gWþiçê|»õƒè×GáæãÎeÅ‚¢˜ÃÜ–Æë¹Î,(ÛÄ GD>¸·‡¤¸xÛçø¯¶tmë>¶*r°ÃÏw\—Zëß;?ï»ëKjs"úï‚xƒ;PãI­®Ü+õ}Ú„ ò×6tnßà8†·–©! Î - æÐø¬TúB + &Ì e‚¥jÔàÐÜ¡z48Æ3ʃT¹4¬¥(M騧™­ÑÓ%P/RkÎP‘Õp±ïé½ÒÑ &™S¬fáÖoÐÄŸR¯œ4`¡ Íž#]”ígÉ/À¬¢×¡W^*”a´Z¦•sÿ1ÊU3¥„íï:ûÎdùµÏžÛ}ì-ü(£¯¹|n:0*ã àlc‡™øøißÃïpàˇY÷H&¿ +æËð[­…»Gt¤­©ÑÁíC+æωÉoŒ…KC±#Þï3Áû‰É­!}¾ +{Kþ]ÌTÍ'."h™ +±’âbéšßgÌ¢¥~©:†aj¥W`C]JP.Kñ | í‡7TÍ=Áï•ý#oñgID¨=ÖþC-ÊGÕ¥F‡ò$­ýÈ?Þú- nW Q|¿eÜFô‹Ø€£÷dMº3´ˆ÷^·0u Ù3ý׆‡imëš ¾Ïÿ"ltKºÔ=!šËMìužOŽ’ÌpW±¦*mšûõT­yЧóSܱ­!4»§²Î¾š§âméër"Õês¿¡8@Ëó'á¶ÈÓñm8ÑÃõTÊ‚øë+iy-9Æ O³žÅ†aV¹L®ž¤~蕈6^ãØžW2Óä:YjHÕ²ñ.Ï¿ø·Lªq9¦Œãÿµ6Ûü¤jó˜íê|Ù“O84(~Ô¯wþÆ q ˆÃ6ù£’f1«Ù© +â¦É\Üh·ꎡŸ8¹Åú“ÿó¨¥Gò5šï$#Aþ‰¾•¬Ù¼v b±Ž÷§Ücô@ÀoÙ쟘և&«ôQ#aÑsA-¹ø×¾ŒënÆ–Akïßý +"ûÌÂ'ãgöuÕúý‚ìäB0/3aÓ^ÅÃ`"”ÁƒÍÇ^y°‰ð=qr¢ë!‡WðÄNGÀªPZ}"ð–Å/äÀ¾m†þéÖñ&·ô,¹„né‘ŸÔ¶§Ìíî—=1Ã!2¤ŒfãeÂ>Ôê°•^Ú‚o×4Oºˆ5ª¦¿ªU?;¸¥E™>s}š±žt˜šs`ðdb<Ñ÷5êfp¼à‚ÞQ>/rÕQuBÚÁ#ø4`¼í†˜3n”^‚í-äÑÔêi®Ÿ©S£„_çt.,WJ + ¯ÖÍd-ªd¬€¤˜¥}áYIJXE ^r§žY|ŒRú¡ºâDd°t €J9ìn)îØldt³ºzü©'ôºÔý#û¿ÓŸ×]Q©ûÉ­V¤‹VÖtñÀÁí‹u>µü aq •ÞŸ»—©Z-Aï1ÆÔsÚ€&qÙ@@Mòd*ÿã1á'Í"³”ß +dò–‡¸`ß¡WËèJ<ÉÂß眕€æNDz5øÓŠ*m§q|«jí€ä1s”Ü«v±y(þäb%ùÈåP¾9]äœõ»uزoDƒ\Nh©žeóg›QvL-{2¸J“µÆ]ŸÌ|Ťú‹O&ÇP&º vÝéû`ÉéɃ™AÜÒ›^ÚÎYʸ@ë"Mé´sF‹¶Äj6%)’da!¹ g%ÔÅ`Ù…^EàÔ=‡³´ÐŸÙ8Bî%ú§zÃ|¾Ò¬¬@e Å%4©>úV -Ó¡lÜvž(¢5ñŽ$‰‰ÊŽ­WÛ=/ I¿ê/T€žän5X¶Ñ@짪‡§úYX€R,¹,t“åúì>¢ò¨‹Wƒ»ÑÆnV)Ö´k#t¨uü!?ñ>ƒ×:öaCí¾·àBž|©ªÛņ‡a‚âòž1Bí™ÝÀF³,>ùAz½~)«L1:î)'mv#­y7\asšµþ^´A ¹$™-X"QµÍA¢J=F°¦Ù« SžO…ãæÍÓfpórZ…Ÿ×`^ÙÇ—ˆ Q±wMX: ót2Ìg› ‘šÝ:Ÿ… +jÑQñms€P=:B «åÕ~©*‡O’½Çœ]åpòo<`ašI~B@x¿™ …YÂË À¼H(!¿ðÜÑ> endobj 215 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 216 0 obj<>stream +·cº(N˜[©Ì÷ˆÆñ«ËÌŽ žÏÁZrà;L@„äµwCè•Qƒ¢j¬IȼxWЫÛÞ‘¼ ^ü»&ÃA½TÅT&5xÄô㋯$ô'7 ‹#z üZùžlô2(ŠŒï~_=B.È®áçĵr’E9¢Èø -÷˜ß;v1 ‰|‚sä»`ôGùÑÈŒo¶xpÇÖkøãÕ€¬³žêX¼RN«࢚"°óó£X²Zè.ŽE±T!^% »ƒíý…Žlïæû™ð‹÷J&TT—Zò›¨Í„rè[†(×¢*}RIóÉPN^ŠÉÞê5ü¥73> +h˜áû"Z{S¶å#È›Qœ½FÆs­!&zösÒ¨ÁQA¢94B¦IÓÔßj¢ñ®8WÔæ%2Þ™ê´FùíÓY3Í€¬&ñKÝœ-«yk€²uçŠïjÙS¨Ó"¿–’äØ­¬õXÎÀƒDæ³Q<}:Âsd1CÉ=ïk.IØÜÓ·–ø<‰‘Oûà¸ÐŸ”-t0ÒYÏSÀÔJq¸ÄL*¬©©^Šß²%¡סΠŽ½X”¥ƒõÛóCF׈ÛÇ;Aj®Õd`1÷§ã`²÷i@ƒüy/•*ûNAêº<÷쌀u^ÏQ®wV,õ¥Äç_:þ /šî¶`Cï¹4ª‰Õ¹H±ô´DÒQ@Rî±')èt<8#nŒû ÀóÀµ‡¢™×4knñ -~iè~GBƒ…E–Ü_v[›GÜøØv§ðÚ¶Üd=(¯|!5ÓÎ0‰çIÈ;p$Š{ðAB¦ûsÇ}»ìP=]˜7ôQ«ìÉy¯õ¾w®é>M€Òë›Êþa>*¯ÍB€0Y=“®œži7ÖYU¢C« ͉ëö ÍÖO™FwZ EŠ÷}ê  º«Iagì…ÓÂoá!æ¢Ìš3ÉøP¡åe<Äí„«yÒ ½g¼|æNÕ õñ¸@uÉ> ™YËu¸SpK‹<Ù`ª'/.Ç&\äØ<ǧ>­²§Ë=»¾ë;N<ËsËø¿áÍþ`,øhúÓfmï$[umµ¬Î:‰”@ZCÿR Þœ—+ÝHssN*jžËB ˜'i)ë´Œ%·ÔéÀjnê#'FÏ%‰cDô‹= m×l1Éùr†>Tí‹ðÙa¥Ùâ?pîŠ\ñhȈ"ÌM·Ýyk¥cÂMÕ7¥@ÐÑ=âE–&81$eÔ½÷ç—B +ú» úÏ*·}¶¬NÖÈ“)Ží– >Ô@Hj,û!¬ëè ©–þ +&TÕéªsî;Ö‚Eó‘^8éÑ—¹> “OóÌiñ‚ÊÓÖ“˜½ôûyb/"á=üÅ”ãí®µÙÌ6<$ᘚlcw+%™ÄÒ)²¨P¦${3ÿ [ÒÆS>ïù\yw'v²Ï}Ñ¡?úGêë*ñгPœ’ÙK3 ++2ð&•?'9üÁUŠßÆúõ²¤ ‚‘ä¯=º›NÖ)`Hµþo + +Ý í ”m+²4Ô¤.š‹iÝÉ ö QdT +“ÚÈorƒ¾™)-îùõ +zRPº éY;Ð$¼Ø{Ï*ªuÏÄÑàµÉÖïƒ;íª˜­jxÄ¢Õ‹Ôíë¢î^Š_´»¥<1.&¥ïõç­D‘šçã„õèhHM1yÝ’¶=ëDæuÖhŽ ¼.DC$Ãíãä°Ä;'×G·ŽÒÑŽ›,",­c ºÖÞ©eÔÑqA !ÑSA ˜“Ó¢a5i‰[YKGjI¯y>âsh‚ÁBцær +Ù¼ªj»¦¨Á—//ö(04¨/O¤çËeˆ3’Ó_#n¿°òyWzw9õÐü¥.KýÝÌvðO…®JÇ­ªUšÊ— iWËÓö Ï![A*W-‹§%«ˆ®pi-¢…†Ï‹·ý™#°ëË×ߣ3êp±0ÐÑ´:4ØßJx'SÙé³Á76UÃÈåt4Ì,ŒŸ"j§'’zZ1—r.Õš6YÂá‰Ü-'$[ˆ aBñ‰ 'lrt­^«Â‡™‰u'+Á˜˜­69~ò³ìj¥5ñTE£¯öË»öa $Û¡·ŸÝÜ0®ç%ãÈ‘A \F_’:=o·šë«0¡†ÄÔsè²»‡4sþL7J¨úZ²l¸B'Ô2X°€ô¼õÜSûxVéŸÌJ­2d?ûÒ%7î<¬ù/å¬é¢æUð…1ÛAÒÑ¢L˜ÅKQdZJÁû½î_ §óèû‡!é ßd’jSGz—‹˜@±êËF“‡ÄúM‰Ð#K!‰ÕýM‹ã^]632%9x£Ù ÿÊV÷Ù}¥$nøªò²»„OkÊî:P~ÚŠ} +ze–5×Êè6²¾'•+^#Ï#Wš­kQµqnˆýÁŠâט*7Ü Öý]Ĉ‚#KzÒÎjx×8=®tÃ)¨æ£Åa1|¿1u’®l+ï_¡åê…Ê‘¨`;MÚj¬îB†Žš¾c¶ö+öBH~^Ìäȱ¹~¿è)¢æ>ÍB¶LÙ1;h)¶±±£KêºO/ºá Îó\ëææÏ‘RÔÈp~žmõéí á0òýò>7ŽA•ÖsœQŽe:!%1ò~öj´ƒ>¹"’$ùh®o¯¾j¥Gõ5 ¯Úõ`=¥> ܽƒEIá™ÛÉVžnb³Ž[§Iàû€ 0q:=â¥É4ú\Ö²›ñ ³a2D´ƒaêÚ÷Q— Å76b¿®2ôR›÷H%уΕk¹ý>–TËÔÜmèÙƒ$š“â»2Q…¨ ‡«ÕË¡Ð-~‚< xF–}~‹Ï²Œ±n›Å…w& }Cü=ä¡.Å£#4µö*hŠjéKäαéÔKn…o–ÀÀÎG£ÊNJ›¾c=u‹ÆTôy:jlºIÆ¢y뜑hŒ‘8g¤T, –²ˆ¾k/ `7dO^Žƒëæþ¦ m:…Ùí²±¢(ý¤ž§¢ŽN‡nsLQ¯Ósd¥tõ +'=:$KÒÇG]µì1¤u–Ã$o’†3︋@`j3>J"?~vr8]ßýÒ$²‹Ä¡‘YfÞ4˜Ã¨gn1²Á‰fÙF˜—$@H7Šu´Ó*Ub¿ë‚>v&Iã66êõ@•ɨÜìps.Ê÷Öêà×7ÄL8ÈuÉP÷ÎY&E;O„Èc@r„PJÝ#…[)éšž` k­cªC÷Œ!!©]œ{¦p Ú< ?š ÷§ÃGi¼0‘ï E`ŠÎ1À!‚Rÿö(Ùu ¢U•Ó+*}Ií°NþóÔµ;åg3pLü,_æ¹E9çY‚ •Ç78¶°(EÔÿõ»]îgXxúÇLV¿È~!ÄI îvÅP*yБ-1xô©®Ó¾]t}ÜRMÉ\ß‘u}.ÂLŸ?‘Ãl¯ÖÉÇÞ÷Xµ€³ÆNéí÷ý­H1ó- F Æfékc—çßöqG!HæxåèÚÇÜ4…컩¿ÕØnÜÏäUQ-—ûÁÓì,}÷¯J÷Ü% <ÆÀ—UP"çƒSä*¸ieg*Mø‡éÓg%¢’VÌ6U64f`TË9.&¦ Ár\«úYýÆ­ÊA’ãc›ÂÍ)YÕ&ÍÙükÏï¼")Qs©¬URѨ`ÁŽ!aU Ø)ÞÜØsžBÅR~ãÀ»Un£h»ô‹«Ñã7FhþóhÀo¨ª_»¾Q +Ã4:š¥1.÷¾àªO(ݹ·†–"2µD¶ó ÕÉqªP†TPL<´gË/Co ûÇ»'ùúÅàÀ6ø˜%qr0»=Mù}³aÏ°xåÕžŸêó©ÏœÙ|ªr><*˜O0ÌãæзéytÒ(ždà×ñ¶3⚸–/À@Ô‘­á›Š‘MñCîž-+6”n@Wà7vŽ6Šº€òeÛ¢kÃWåkÙ%c I â2Ózt+S¤¼ñ ç]íögc¬‚ +Š P3]Lä󥦼¢>²°B£óP9Ÿƒ:g…[ׂÖÿjAæ-„˜¾ <«ÂÊ,ùF´*R\CÈé_’G4%uï `»Ø˜q^P€v=ð™‡Ù*è€ ¥¶›22uìT»~HEQãxqº‚2N¸Pâ´ñ÷¨õy˜86€Î ~àHFW¯gÈ[ +K:b?{ç ›ÁÌnÖ8óD=a¶Iãúà‚ò¼Ê—D4]{7r¾8 +Îâ0EüæÖju6ê~s·SÉÎÔuÍäÜ_/0\jãf4¸ïQÅ.Ð9©âÊØø1Çy0žEFß¹ÊôµZ†š3iæ‰vºT'#ü$0dÀeÚNn´H[Õ¤ŽLdùR†C|ŠÙÞ9ÍeÞOe¥öo}1¯*•ÞÇæû['Âä—#ºR[ê%ŠÌ$¼ü±ý1M™G¡¥gðòäÁWñ®É÷%Œ‡²œÏq@pèê·ƒoÓÛü[2_ô”Çóœ×·É]ÖH‚—5Y¿ê®Tµ×ÏèyáŒC ¢°–ê%›?éŒACu$ÇÅÙm¿ÊYMZ6¤1€Ñ1#œ Uܳ¢¤^ÚàÖ»Öà;f¡Šb7¨`ž%‹•GJÌ<ÒËe,è&ÍiyiÁ©\XìoÈ_8/CË<ûÎ=o‚fÿú%¸4ÑoÄS½Ï·’³Í{#ÇîÓà!ɳó ‚ÉÉx+"îçl×ÿÜ Pb'rÿ„*îNÿÌ+bEJ†/Z#9~Ô„> endobj 218 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 219 0 obj<>stream +›–öÛv®ráÅ¡²œ«KáȽìN‰×aˆšãyæbGŒ¹á‚H»zpX¥^'>?º3²7êXžøÇ{G!Ç2zWl/¡2O³k"îµUþ,æ:Lµ… ¾– êI9lYŒyŽ+‚åªôÈ—Àaª}k‰­"‘î]ÿ·¶=Ub·¼ºÉ¡]8&µ@#T$ÝôlÀH›ò½f*p‡Ý›R¿6¥ã ÁÏ Ñé0°¬œ@ÄiÅÓÎê«ÞŠó8h+á€ÑÀUÕK$9 h™Òœ+”8²Tíf‚iPÒõ3ÐV‰4vš›th10¶:ÔëoáÃI¶ 7D‹1ýxµåšþ,ñ Ç"Rù¤p)ù‹tTS¯SKÃk¾–@½¶>öÇÒÜfG›’NÚM÷Fõÿî5¹`Æ +^r¬"ˆ®]_¢¾y°¸ EعJö}2ÊUfs#XMÐtlU‚?GˆÏ&ÓKé,BkÈwÍFläÃÌ4Ö‘¦êA‹M2 +Žáuk¼½½JL-avò¬ b|…‘wa'Û¤ ’Ê5Nç°#Ev±±µÐ¼%ÿ^¬§êÔ¥½âcXì +2? ¬˜Ÿ66 'u7­”‘›­ÝR̾=㯉:Éú/ܱÏù†â +Ž3cÞ ¤Ù4 M £?žï‰ý÷ظoûB ~§tñ:HêýK Ev¬5̤KDñH†()² 8Ø\Íî aúæTí+þ”*.1‰©ízÄU~»1ˆ–ˆø˜Zf’/y*Bù6íÉf4aùÃï þŒhæEK>æʽ$2èy3›S'åBß 9X‚=¬Çm^Îçã Z];˜md_Ò’Ð&Ï=Ô\'OSÓ†zfmÍê":CbÂÏݶ®YÈcGÞ­0¬X•ûçj$y“µ¨Ð»R—€hìþ§A7%¯!Ú)e‰Ç>2ÿÁtT–ÌØÁfêep?ÛŠ©Œ¤íe+ct?µ_iØn¾€tO¯JqáÝ×Îß‚¡ò¼ÃsðIø½^¯%I{ÿ@ÿJ›1$§ƒÙ¢6°t¯•S‹d +¶¹–÷nxHˆ 4Ÿ•Á.ínE†Q¥šx4.¸µ²¾Ãfk÷Ó=ÏàJƒÜTgbï^® ¹û‘¢ó¥¡€T—3Øq"Jã¨Zég¬0¾×€NËüìF³ó|þ.+S-ߦ ú@/vÓæPôÊYQ{­©¶g9تïh]’7?8 +›½C¡¬êákÞeG6sªëVÏ»5…ÌÉtfB$rôÊÿkg•~Ö"†ã“̲}Wý“ö<ÈE¨u©VãqØõ|«Šgw +6 c¬É…À¶ÁŒmjXÎ¥ÁÄÃ0 ü™"”ð¼LºØŠòµÜ,×µòV¾ vqÉȼBxô†ëà4ãàŒ^ÄûvÐÚBUá,¿u()áúX‹@OÜCQÖ‰ƒæ±¥Õ¸¨/[É=¯6°À”î¢ûK·cJÁv}GIÛ™ø–ˆðëð¬N´xù…MpgöÂ'^ÃX¹2ßÁ£xM| +áá·Õê‚à;涷¨9rW¤Ü äݨ1Ñ÷·Ø¥%°êÔ±ÖbÀÖ`ˆ‘ïÁ5ùì¤àÆš(nË8£Úèî$DJÇq!Ã:¬#FwêˆÁЫtoý¿v×’BÛÛô—|¬üz ïì5!z‡3ÔóñQ˜8ÎBp¬òcÌv^Wbêƒil²Í¥N¼Ã˜ŸÄÆuÓy£ ɧ¨'›#bÂ.,F ~!’¢—Î ^P‡ü’ ¾s@¨SÚ |% w¾CsÖMOŽW1;iÂnÒ#Æ~;Þ‚6Áâ`«Q,¥“Xqè}ã–ZœÚÉì3®ÛQÉ£˜ú î"Y¶íÞ­C§%§6wÐT¢ê°‘X~éÜ.[£¹öÔ þ¦{°óàÔÓUÙÃe NÙm/\óþß,wchÁ¿òzæ²ìe¬þ…$½%#ű1lŒI‹ò»ûÖYl%ûëÖÀk1ˆú˜\t®ÂÔ,i¼™EÆ {>*æg—üÚî¹~Í<ê%5rÈ ùriB?VQQïP«×ª“š¶xåGüž”{ÜQ¥žX꯻À.mïm“{­-âç¨TØá[.lè·wŽÊešnžíNgÁwþx×JÚèb\ða‚‰¡µh<ãÛp]+S@ýÇ¥ýæ•gCêñ¬Á‹ˆd“¦±Q«?£0FÕ+í=«‡¼²“íÇû6Ø^”—ŽXü‡ELŠÛðEÏ> ŠM²ÆÞOäÕ"HnkÁe[·7Þ»Šr.¥M‡ï^ +êªèµx; u.Z·SUÇ4©äÃÎ~ /Í—YØÔ´ÓOø§×h™r·)ðr¦…óÃ×f•ä‡Îæã¿Ê;š®–õ‚dž!È¿ÆÕr2`±hJ¹^gŽzÓ•º§ß¿tõ%ŽöÇ…&yð%mðu„.âØï^¥ªRÛA¡7™§"Bz n¥“­zÈ]ý`(­»« ©©v êÑˬìFN¼<­ç€éÿÏóz‰ ~2{–‘•“ƒÞ_1Þ¼´Ëó„¤Dv¬&§§itŒ¨ŽqèÖ•tÆ6W!Pªs'SÖê™J_gŸ‹BÞÍ%NZõ¦oP Ÿö×;¾ÚMP›=—†æÄ‚ã@"™¯À’plá·Ž§VŽ2Î ¶N^ʱòûÊž»¥5öÜ1x*ù8ù¸¿_œyeâ• 7ù% +ùI >×»¹µ`¦ §ý-êN,ö?ÕsPTÒвÔZÿ°@„Bs3]í¦ K\6'Ô^Ø­ë×B[Ñû|ØFº¾ÛÁbe⃬øfHñì΄•hW\©mÐOu!¡„<”ŽGŽ£â›¶ìyAr¦`g€í­ü¤ý’í/7º}Fè" ü•­ÀŸr Do2å—-RAuyVTìÞ˜àYëð7—¾füªµ”ÿ'mÏ[#}¶ƒãõb¯õ¤·3B¦gˆ½.¼Ìjè'èÒ{>>ToÞl4Œ°Û4Œí-¶F¹Zxr<“B¿d%«qCs-àt q9ŠøGç Êþ@Ï´gEm^RSZ-5aYt·e0HœBùÔk¶8Mè7$÷jÆd÷B`/€J6€²õñ| ]ÇâÞã*ƒá·Ž›Áæ §lGÞë©{¨Ac~.½æØ÷Þo3¤}µuðoE'žBî´Qäñ| +áçš²¨t²Qpð{Ž˜n¼#/Õ:PmÚ0$¢ŠêYcD}þ‚ãÆy=é_Q2£R¾AÚ©Ž•~Šîp_í~v6r‡¬ñŠúà'®J1S€G–¯ÆÆÕ€6²Å±1«U\…ÁIRD.aÞE-2ŸGg¦± ½xÜf`Ùv¾W<ö–#ˆwqâœ&Ê€Iµsµñm”Úðø­m4ð½ÜùJFˆ2 Ѫ± &WmŒß0ªtXøDÊ=\ìŽSƒ“q &–#Jú!ÿ/M¶®‹4‡SìÌž[­‡b<%8DÄæîãyµ 0©Ê“bÈFú&{ðÔ…nŽR(Ѻ¯Iv_Gö~˜Æô‹[Ëk2ù _x +DŸ(’^+â’Hœ_]€ÿßS«ßŒ„9>¾é™ +rVJ²Û)ñÆǺⵕ«ˆãÔ4ù]øk×8 q…3Ù¸ÅÓüª´Á_ÛþgVøz—Ž¥©|”°]ïiEÄ®çžC7aï$½§½t³=ÂÛ¿?0¾‡BD 4-q¹ÔÀ˜HIQ‹ÊÞáÒð]&lÈ„uoÍt­‡¬!¥Ç-טTvžnRjã.!^ô™òBønHf9}ë»8’XG›HR<@WüÅ´åÓœœy«¥‡:W\åCV#;¦¼MŸ S@Žön73q¢MÝñÿ­@ÍxT¬º [TTg»ü2ªZ‘Õû[3˜6Àg¬VÀý»4Årî:º «‰ª X7ƒÜQ/ºÒm–’ Èõ{ý‚ŸùÒ±6‘Æ*³ibâ³|߉hÎßf\`[¢;pö³PQ"P&Old+öéi.ýXš"JÝÅ6®6`ˆÈÔ‚g[v@籬lØðÕ¶£6ùfÏzqzµ&JLàb‚Á¬[HF/ôÉÔk¾¦u3.}–oßð)á:JÀ†Ý€©ðÊŠG"åø>&±îUwZÝÁi",µ¦¬.߀þ¿2ñL¤Ë)““éT‘ºÑd +ìÕžf‚õîÇ(°_†< ýÓ´måŸæÙ‡I%ÆüVO+wÁH~éPŒÐýÌÔ‘GÁbÒ“%F\®ž:-¢çÊ¢-â½Ëï]~öä¹QøTþJr–ü’ʼÚ*a5ž0›S¤$²¥Ÿye_ãœÄvX׷߀˜Ú=*£íÌĉn.xÅŸ½Ž(=¾½Õç ˆÈÆ"êSÁë:µR»ŽÄß#éÏ|úzÌ!'1ûà<„¨kKÑÖ5§ÿß5(Ùp(O{)ý¿¹pL#ß$­¼Æi ,Ó…=p~øÎÝÊPO\˜¾BLÀÍ{i>4áFÕ‘&Vʳb¹ÔsŠKZ’µV‹ÉR^ÿµGèïÖ˜¹œY-<Ûˆ,ÕÛ-ÀÕå Ÿ,6{!‘b/†Là ‚uçéAì—áëòrmQ­ ·vã‚ncOÞÙ´Þ{t/gUBÞŽÿQàÖ. +endstream endobj 220 0 obj<> endobj 221 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 222 0 obj<>stream +¼|Kþ˾´>³Lšµ®í@qQmÜ’‘0¦BøÕÉ„*ôt)½Dï µp9“ƒýJô£ÝÆ;þŒ,æo]^g‘¡V㊗$ +ºnò1ž$wÒ¹iîØ({|úô?‚dõÏÀàHáÓÍsûÎL ÇjÞߌ"·ŸýwÃ|Í¢¹µ»EhÜk¡în†ä¨?þnÐ #”Z!Èë2úV‚wU Ì ‰LÏL°ûgÚÕä+Åͨ›Ê0?{€±cP±„Óé‰ÞÌ2ЕnwºòºI”ß ²ä(#®ÿ)uºmh«kEŠŠÛ7Ò9HkCò`bë7Bc /õ¼:„’Ñ1§Ý“ùO†*ÚQ·¥/à3×eíÉ\…YCeÙvÚJ†{3DZÛþ}Æú²—r6¼(‘xùwB Œÿõå*UâݵópN;/¶%Æ뱉A™‹£SÿîY`p‰P§ÄS½ ôVnK@ÉxåJ$öCP[>D®aòm¯˜>d¦_Fž²"ÓQ=KO?­°N±ªíS!•»ˆ –Ó± U›§ç¸…8\ßDÏÌèp‘2ú½3—M]Ž€î)Oð³ŠhÙ.´YÈ9ôM?Úä:¬ðÙX´’ÈÐöw5ŒZà9î‚lúp˧ow8jmÑJ0¾ŒÀ,é…ÁÄÕ…«ï÷Ûa:n ð´3ÈåóiŠî¶"£˜ #ЕÆ6»çà+liÒ†/}d"¢ÑcaCÐVÖ‹‘øH{÷ï4$œ×°¾+¯T¸³Œ%ç34Ž ,Yûß>+eTÿ½ÔÛ*D¼š0––ùvᥛ|1«Ëö}¤ÖÃÕ>¦Ï¨/l¼(­­wàoƒ=-ÿ_¾Œ%3´O{r ø,hà)rPhÔ‰¯UÁ·LµˆÊÀ®wëøöOÈÊq&\¥ÛNPlœ-ÿkZ &¦¡…“4ý¢X˜rAʺVæ‘6¶NÈ— †:™ôЊR™Y’SµÏ›1ºˆ¬ ¾=wí7 +ñÉrßë…í{Å<.*´«ÐìSBÔ3éï%Žïß[ìj³«Õ!sßÊtr³ò5›bÅC_“K ÑÌ<ú‹Ú“{J–JX³´ÍÃoÑ’£î²Ò¨c7j›Þ§­¯pß¡M¤…¦ ãl±3K_¿‰?Eí9]µêÅ)}qpþ4i-ruD#ůµrÍϪÐz­Ìœ§A`A+¿'ÃÇôÄå×Ïû˜¨êå ˆ´¨·êË™Æi|ƒ‰}XÏ€Ô)¬ÛjŽl¤¦ÁoÝ0 øìHi0P•yר¼m¹ðÓ°/²Ú·ß†}åmé`ê»~sþ°|í_1M"CuIsxk¡ÙƒßÏô%rì9†öò$áY¨1mp舀 û 5¾y–0NˆÙlôŠxÑ·¸"CŽ ÕTÄ„NÀ´p'lñ^Ù¿jóÉÔë±çÎSÜtÒ›O˜ÓP"£Mg¼nç´ä’ì{++÷ÓÙñ ü—{K9åK ¦·do j;ȳPHŽÎ~U„Ž¯Œ™°rtúcá¡n¨!Ñ»‹üé qÖd#½™2±¨úê ”‘ì‰2¢ÓñiXiÖÚ鵂UD2J;@™ªëq‰î+ç•z Kv#mknc"ªæ±Ú×/õ»ÃC›Ní­r2?)ÎZG=Ñ|Á€£VXýN«d®…(éôØü“,CJ9 +FÚÀþÂþ¼€^”_ËÕ{ `IÁ‡1ÏQ2†Whù·_í×›MàpaBA«ÇÿNqÕç`Kx½¢ç.¾L}ÆÜ-M­UÌkv³i‰ŽXÅeÕaTø¶TsÙz³¿rôÜ—O1“Ú¸ˆóä·¦ ïêø–õ5-{TûÑHƒe;„”À€‰’¦§ßžjcÁ·ôwŽ7o(¬‘àn’fÓŠ@R± Ù-|#O§PŒh«ØPùÏ^çÑ^ bºŽZûLImû%Ðôbner“ ãò{dÜ¥^þ_ž°Y“‹æ :.ÚüœŸäWˆ艉™*³ê½;È.+ì£yô_Kðk$ +5~)®ÆøÛ\Õx\Îüs`ƒóV •©?[lñÙ°'^ïù?" +ŸØ‚icçØEo=VvÞ $£ÆË5ÙË#’‘>GÙ~€HÕýÒ–ÑUϹB˜…—~k­«Al×X¦&ÄÏy„nQ?ònâr¿;bL- ˜–꣘ ü¬«È‘¿e~¶¬}Ô[²/­ '~Q±G­þÆŸÇ ~ Ý›®}ùO?¢’åqQs!í\훜ëìßÏKkr9Û·¨£t\n5íƬÁZ»Ì—CÛk7¯cÈßôúBÛßÞ‹—³¸*ï·ùï#>À'€{`Á{#ŒC‘'Ç ^5®z`ñÌCmB¦„.övû‹™Û¼+G’¹öÇßÊǸë—é šXQAæ¾jôA:÷Gû_3ª‚è7Ð<9I}k&àÉLëÍQ†DiKôËÛDÉÿ–·Î§Ž¯ú˜rpýÖ^â&éR&Ÿx‚;SH?gRÚBþü¸aaŒÑðAиèn86ð‡IÆÇx¨ëB[\.Ö_2;„\!Ÿ7xÑÝlFïf[žGîe" ñx'4_¶G¬û_D?’‘¥™–G“¸Ð~»¥ÜsÒíò&»YtäÙ&TsÿÝ|Mx HN¾¾Ð8kÂs¸Ø\X^@Ú5 ÿí@îÞzÎðƒdpóstǶÌ%ƳbT^/6éx©ic-—6Û 5D †×áÎÁÏÎêUÄ,Ôæƒs¶ƒ@›¡ .è,õVõª’ˆßŠ6Äϵ©‹3UºF³±kL£©jö’M +’Ó´>´ô‹ƒ9/’øS(F!w(9üòÚõsæ@ÖqŒøÃê‰øoˆ¬ïAÏêà;õÏäôŠ¡®YÖûçñøXTíëîN믠ÚYŒr6”˜2pP²b•ó‰¨"b÷5p—2 ‘ênߦÕûÅc†ËL¾ +oÓÊ_Ó‹•Â).vƒÇCã.¥Âõ."âÏh5¥ïYÄ%”Éo÷¹¾Ó·“}rñ e ‚¤¿·Wer\rŒ[‘‰;%=Éü±—[09™lò[fV àà˜è]]šU;É&à\X…£P¬ùTe!³U]@{âUF éÿÍ–÷‘Ñ÷#‘c$u!DŠkƒ›ÌL²cM9³ŒVa hVEa¦BÓD…GKË +Ñß ÷©†å.Çà©^äÏn¶ÂÕÃãË‹î˜þI{'èb&VýPé6÷ÂYþªO–êè)ÔGCTͤ­E3´†o0Di¯PGEr(*Çk¹‡g–‘pÇN¯?Œ>?ÔQÖeóµIM:®p¸Š²c“2“‰*(a•Eø¸ÔQò§wÕ\péÉ'¨¸·ÜQ°œÈ"xgeÉçÞ@dz‡øWÒ±]’(Ú û° +œëvV¯(9dåÛây¬ÀAH=¤”¦2"‡8XÙEDgFá“À†1ö^ð`iãBLet¨·¦}¾vßnÅWšµfFm(j¿×µà^bÔ–DÏ·FUÅQÈï,haj —SYq']´ŽVaþhæÜ2µÁ;w +ö_ñ½Ýu>;TÚjÏÌÂù-¯aö“WЄÿ‡Å©87‡’e¾’N©©¦ÈÆ + s€Õ?*-2]Ë•¨}hÆr$*5_Û¿‘¯ºd…ÁgP¦¬ú¾Í +«wD+•ø1„#±Ý zŸO3 +P + â‚B¨ +n5ÑÉw·x€±/¦ÏP¿¯’qƒµy]«*ô4ñ?ñp&sŽß¿wH'jf¦‰{g"u?_®ì¡Ê(d½jé+Dq° Ά@UþB{€ð”²;ZÇ$,©˜3Œ_â%º¤v‡Ù׬´a^:í§I-Ûq!÷Û*¢¸fDÚÑ~£\O¶Û`ËSókY¥Ÿ–Wd5ãQDÝ~pö/=;ÿ×¾B¢š´LÇW=ó×ô¥ä/61*W&¿×søC0µ Kú¯€åí™±f†Ä5yÅvÒÂî©À +ZØ#Ø 6ºÙõvp7—Æ´žxAÖõᩯ~k¡jßÂzs’0"¨…Ç6ý¾O (¿2Ãòq¾½ùC¡Ä°¬^ãäÚ†ŠÎXH`HÃïZ'§ËÔÁ#8MŸ"ÿpGÓ2aÛ;† zA’݉ óRæ øŒ±¢¡ÊÊ#µ—}àœ8f»²-" M/5ZìzJ²(2pæŤeÛ5ŸÅD¬x1»\)ðaAŠÂLäOy÷‹OM¿XEN‚A1ä¦ä¿vHÅÉ4Ƴm#x4Ó.^¡èà/Ú+ÞßðÃS +útpc?Ŭò»Ï·3FÉ¢S#7&­ hÅþ)¿XÙÁÞ~Å%·g"K’ÚUè³rµ<ó&š§lT™™¬¹ý}¼xõ8¸ÖÁs»XO «÷b‰›–O3v›VGT WÏÖÜñAΨ¥Jè"dc¿3ÒtÒö@åæ0:Ý/—âõëÙ[â:äqØ0=íjØ»Déc3dáoA/»™ö{-Tqy:bDVv¢N—à 0Žµ²_EÕ54á| MÖ`YvöìÕ]3*¯R˜ÞtÕ´rØ‚%kcî­}j&ð¾’Øs€Öeumt\wŒ»÷!yðÙ Ò +ÈÚü—%¥Rÿ;qŠrÝ3o«ÃóúZ +«#›à™¾ð«ñm¬ŒÇÔ dìш=|OcVËÉAM}üu•`Yèìí0nz.—f?sºQå€}à«@D)òÊ!Xw%“¨ûÔ+ o6R >ýÃíB)ˆqP#°¡ã®ÿªˆ‹r‘ø+îrYŒ¶(ð ™- 4ýýn‡‹gR> endobj 224 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 225 0 obj<>stream +sŠ?çÒæTn5å7¤‹£ÊÂÿB quܺ7D²ËVvÅêÉÚÑ· ·Jȸ…ƒ©®&tàu‡0#Ážr®Ö5ù /á§a;8´árå½U^ݶj¨T„be>n_XKHf÷ÄÊf*»Ÿúݧ5™°âùošÛ¢žqéEdÖ!Ùæ ÔHÜå­ƒ{¹¿‰èÓ¹i‘æ^)Ý9^_|ƒJvNúg#ç;31Gð'©352ê†e<]o²:T×·Û $5ÓXòå•s™ÃïlÍ×ü¢2ÿ¢¹;±p!”ÐpÕŸ%F³W´Ë7¬çúP¨#0Þ€$ÍßÞX5ú)Õ 9¢²ŒâY×£¯±T®¨X¬| +ÒÒC·"y‚¢)…PHLr¼ù¡A²«¬¹OË6žF`@ –²mž?ÏÃâóÞ´ªšze ØuM¿QÙ¶ßÁFä_y9'Á%þêÈ™ŸMØVʼÓ'¤Ü=ÙXb¥ã#Š™—¯¹-m<àt ªÃ¥€¾¾URë} úù{Ï:ª'ÔZné’º{Ôtsï°ôVFéC»'hùÖÓÖ–Òñ‹›Òp¿ïqØ]†÷Šª”2Sü 4†`z“òǸŠ‘žÁj¨’ bCšËkRÉÜjfÄŽ)·çÿ=242Í‚<ËÏ!Å­ð㳬ðõÞX&œóç&Öìô)B,s¤=fAºÊ¨á¡[K‘a8iþºÌ¼•S+Q=0/4°[Z,Z2«òÈàHÎľú’:-k4]4ÀŒ EÂÁÑeŸSÓÐ,,¡'Ó\ÃäTùªw¦–3¹Óú²jÔæÛSÖÁ`Õ&¹Âœ(û”ÃR/ɧ£Uúü¸´cÁÞzîõÙ¾‚®|äc‹w[gѹ蘖9§®lË\=ý¿ßOõÍ_?C`!æõ#Í~1Ýý¥º¡4¿D9µ$Ïb‰ndö± +Â~åcæµøµoؽ9á¥þg\P€ú2Ö +‰ð¹’<ƒyÙð‘™ÏÅ=ðX‰NXá©äAzD_P ±õ '©_Ž«CÒ¢må¾óäMÀüªßï–3ž*`ËÖ€l°o†åTú¦·cJ—,¸%™}àm&ÌTN#~¥hUTåÿîè—Ô;1.ÉNÓ÷i +Ç¢„ih6Û«4L¬†ú:ïžÖ²¡Xž2é"„ƒj|øåìÆ<ŽÉÖxïÁÈTnõB¯¼µ—ðè„î ªÄôuƒf0¥zÁ™:‰ë-Ï“žPÜ€7j#P¶U!踇Šã”ÑqÕ6ÆV‰­’Jà¬ÙÃ|ŽDõ‡%žù'É*Ï7ºÀ¢”§Èk((m.³R‚¤6c‰Â¸?SLÚfÑ8Î7Em[G‰š­=’U923-Û’:ÆöSßéŽå\Ç Íïãz.‘±ñ5.ýrÉí‰9ÎS·TÍçÕº60Dóz|÷î‘ãä—ÆU: "u&«mÒŽšJÏž^Æ’"Æô;"F9Ož©Ì`˜ý1·ß¹é2{^´/Y% ³i–¹PoóIæ©¡ÅŠˆî’â.m.=|„œÛ3õa²õ¿Èˆé§ÿsEbÐÏ ^¥!%#^,B>Ü–4óá_•NA¢ô)814&vx e;ö@O€ó|U–P¢Ètôéy~óQe»ÍÀU«Óuù9¾~K%‰Ü†$y¢DM¦ó¶ÐWN3‚;îéÞ_ ‡ÜJYÝŒŒ@:6f è=‡œ‹Nf«q’µÙèw<Ðêæ¾–Ü—çßÈ^ +tRçîG˦gó¾!¡Ìs7ʾ–±StéÖ± ì¯~A{¾˜Dz#qˆ;*Œ¨èÊr)œ·ø,ŽŒ9³NÊüèõùõ¾wÛ¯¸Tù¾¨S'HÓàý}† “9ö‰…ñuý0tÿÆ*vR.JÉbmŽ®úš¸°íJÀZs€×;ù…vFž½\¶÷† «j€M`Q±¯‡¸A+È} 9‡o»óÒ AÖêEݨ[ÐÒµi3ÂP8³ W„L1*ñ†' 3Òd³Ô/s((å/÷Óæ®ïÁ›-ÈëÒlª01c«;§ ÞFkν=ñÉ$çÍÌW§±@¨7­ „1Z·\;jÐE»ê*•¾¼ÛùdÑÔ\Ñ\ž5,"—um¢9%—­Þ-ÚØq"²Úó+Ä³å ¡ÙäŽS¦n(ž¸uе?Ô÷gß‹Ö´±HÏõúYìiF°2/Ì‹úà°:9Û|cY8F&$]K³Ra†ƒB.¸ð‰o»'ðgÁ2èOðþ9gâÓÉH¥  |4¢²b5‘dð¹kE;öÂ9NŒ›ê| ÷Wž¶Èûy—·ÜÿTݲèõÖ ßƒÓ5X¯×0ùÓpÿ îÕ*_;–Eþ¬ ’·ï+©´ËÏù'CŠ6ºe;“Ìôÿ¯øÂü(Û{•È¨ï¸Ý(–)–~Ê1Q4bA‘mw+ŒÏ{Ðÿpq…ýÛÁ&Z ÍGhý"I¢Ke—Ûûmj K¶ÊÊ}›èÅ»ª`a:3¢•–/²7ßÖºÎ$ «uÈ0»×œÙ‹¹Í Š%¿µ²x(:hÔá´BOœÒn& Þ@¾Uü¯iÄxAUz"=Ì?ç@ X“@×`6SÔ /´A»® û6!ŽVî«<¼Sý¤›ƒ:NŸµf)=g À³¦1»Æ\å£c¹ÃÉƆ’%g‘¡ÿÝÊ“š|Hgò-_›A¡yXÝMµï/âg„Ùè•Ä Èäš%wØÐÆüÖˆI»“u& +ÅØð¼ØzZíþV:ÕOsô®,£ZìtþQAuÒqà±.=–€RÿLˆ¸zìMdŽÒ¨¿ž:×¥ÎÞ~*;"³,¶ÛÝÑáÂBÙ'²Óþ|¤&ÔeÑüq¬Ð미,HÜGÊm3¤ä´Ún$¯ÆÄ•ýó¬ß´Ì>ÏvÈ(hÊ~œëÏìÉØ„65õ©°@œõ$àp‰Å"¢âËss°ïÌó‹àuêêRØÉDs‡„±ù\›Yø8,Ûv­à!)XŸŒâ" +ÑÃí®%¼òbE×å´Ñ‘Gè»âæŽÃ>òä8€µ¢° m;WxÙG|¼¨ÌÈâz÷±ð¬ füÝåÍÜÒVÉ +„lˆ¥ýþ/y³eÚ÷ýržÁÉ0{°78Þ‘ß8Ëá1Gh¤1x?DæïÙá¸ü²F&àΗœäÅWdðvx¥Æ +3¦‚KXû0Ó:Ðo¨³{= ¦æ +ñÕ¸ÁYÁ»G)¤÷= Œ•½5¿!0ŽdÊê8Å/\$éßyýn{dErà[º!)³š]Á–ø/ jèøäÕ©î2Ü„ÍC¿ÆiðÔYú‰)uó¸h:²ÌFœ˜µä±¸›·©hŽZÏßÙËZ<Ôðe#µa¦=Ôûî–=- +i•d^‚¼‹£N6µó#kµÒ¶•HDž@µYj³‚Û¶ó·G :`Nµ)ÈQ+3ÔÝq(%ÁkF…¬Ešà¥³aQüæé,paw[)Dù˜íTWæÄhYÊ0™rN°- ^ Óû÷þ등n'pÖ}©ãEÕôâ] ÃZÌì¶Û^~ÚÏ)ñÁT@+–I\Ð÷ç5:ÌËa‰(ßQ€ÌÖQÀR‰Íhñƒ gÆV–ËwN~®êCóÝ ÊÉuV|œù¸_u½"iYgwœ¯òæ Ìl˜W=ß«m/œíu´5öˆÒºØ'´Ët~‡Ï÷Ü8Û§S“’m4;¿ãÂJÉS?ùLŸÚ¶8[1]+›V·ýŸÁ©ã%HþBi8 ÒÂXú%,ùÈÏ˯#¬ÄØ_§=DÙðÁ™ ú-®1(@! ÆÍ‚ÛK©Ð jì…G\saLNö í•ÐX´ Ó€µ t¿ßðgH¼wÚ¸Eê`vÜ`&-jÖ˱*°¨ŸÙj«>‘{µ+8Cü]V_àº/KËS.‘Ÿ®Ñ/š®)´ìÝZqî³/çnÒ§ªàôŸ#ôbB©sÍ+‚ Ω:ë4 leÔ? »ÍVbGå¤Ð†­ { V”LBؾ<èÔl­H“Ê„#Ÿ¥ 9ìÕg'òE榧wšX„¶6=5Å¥‚@ˆ¨¼Mï­läŸhw E¡3¼J•Þ—¦”Hƒbwêe%M9 vÆËžÈ(<— Ü3Y ¢øR÷ÒÄ´W€6aês–Iuù¯G;[ý+¯Ù³?”~]Qgmóö­~!pçOøx¥>P?²XOÊØ2÷èKcÏ+ÈARê©”bl¹n`Éê·ÞŸºPWò¨žo]»]!?„,Bá©1G ¦nƾŸ!§¶1eÝT¥Ú [CJþRJöë\ßbnµ =ä)Zf5,î3Cñ”µ1K…±*êc0ó“6Úaƒ‹¹ñÇG1tKÓO<"ŽóŸWcŸº—;ÍÀÎÜt…à|&î’âÓšoò.·Œ]®k˜¸í-£yÌö¢ž¸ïçirÙ •®gd¾ü,Ôð—“èDl;È\Ú¬H$g‰Â嶢¨œNðÀ3¯k{RQÓŸ€¼,‘±ŠG‹b#Ë|Z¡ì€œ©gñýŸ5‘%¼aø‰Â/œ„»>¨ ¸ÀŒó*‚´´´Âæ,ÓBäÒBèfUdq¾TY@$šÝfù‹…a´[¥ß¦Ëˆï§£V;x2îßUè ïW¸4¥ÖÎB9týéÊá *ÿÿ*IêãnøoáõàµQ’¿Q8åk”éÞ  à )+ûd¦rQtITu»š_Ž^{Ç›SbòsmÐ7Ç£iâǵ…‹P›ÀöWô½bJUÎKkwλíX-ErIR?På]fí‚:Lï~MO¯è4*J¹]+tà$c3Zzsê³¾Õ ¹Vž±¤”[¶Ö2Ëÿç;Ñ7,GáNp€%Y!Á +òRâdûŒÕ;¤¾q°”O¡`H´´yfØ’Ê„)¸x .„ót°ñKõž†š¹ƒÂ•µížFuÌÓ ßÒ'¬$ˆVžY}è]4Q·JÒΔAr¹4¬ ÌYPV0#•¤å•U +¹Û“÷­ÿ-½hïS"+Åž”µ¹ &6k3Ì«ñÆÉÚ™ksÏÉÍ=hB.ïf`PdÜ/Urh +Oé;„é…1+ÇÅ ¤_˜þ)%üµ}ÆS¨f3µk“ƒŸ§‚Søj/¤w´“ÿÆñ5 Z9 +û‡”—ÜìÒGNó™J[¶h^†õ~ ù´ÎjæxÇIøUÄšåmµƒøÒmG,V£b—Z)§L¯!5~ÑÚý„ ù9ï×YÔ˜Þ:pðLÁUóN=^5+qpŠ (J˜ü2LƒŠSÔXÏìýÚ$UýÇ«>*·dµrYb½µ™lƒ*JòDþÎdÔ -œ_oRô¹9óAKÕ3 >8¾ûo€‚’ »RØ ½&Ô> endobj 227 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 228 0 obj<>stream +¢ –þÛ-}‰â§ºûìfÜì6>ÊJÆÁžÎ­ZÒ½ñæbµ4Ð$wsRLó¿ñŠBÞ9 tñåõPBF+ Û äú¥YÜFúÖæÉŒôÒ¹©´10$‘y• ì2ƒÐÀ"«ßQÞWªq3b„-½a)K IßV†“ ª’ßÉ@h¸œS@š™º8èá€è2>¥Õ;07õU¾Æ¤¥MƒÂÍ«×ìõ¾ŸÖœŒÎ_cŸEP‡OëØ! º¿a/Hówð+ë]yUéž„—ý'™ÁioÃîšÄ')Zš×@÷!ì;KðÒo§WÇW'¶Y附_kŸ®KˆÐÙþ·Ï—çHü€u®™‘4ïñs +GXÛ^ ¿ûLêGè=oœ üÀã’àÞ‚O‘¨<³-’—:ZñÍX8Rך#þy9ò¶5r£¦$fÌiÎ>xƒš{óÇBFDÏ7qæ¾¢\ÜØŸ5 +ÜŠ~ÜuíÒQz÷ÍËþ ¦—ŒjÏrËVíQI‚4ìÄuçeÛ¡B†ZÇHn¬*î)Iœ«¢i'¨HX¼®O6¶éû$öOùK00X˜Áå¹0h-Çî+ ×RaØ¿‚űÖ?}7Û/ˆÊðæoP™,ý$÷ʈå´ò4ú˜÷u#Ä +¨̺. &-œ’Õ36mƒ½D;*Œ‚=oìÒ¥íi²¸,o4‘Ù»qÔX¦ÀF>ÖŒRîúB55GØåzj6;²Œ½ dlGg‰IÍ}øÆD\K-†î@@rq +I‘›>yŽªÌпµX†ÀOô'ï™SCÆ'4qqÑ[ó…5ÛWØ¡ ÀjøšaUûHx…Aò.I¼˜ù¹ï]»¢þȦÒGŸÇg¡ Sùâ Hygo`Ö³›eÐ.'›–EÉ »QñW ÜþôèÝgá–‘ùÏ,éN׸ðƒ7æêpfäõ^OÀZ¢ ’b-[Uü¡” tø|[nIúFλá<óó©.*"j%dÑú{ø€w/žÕÔn}Œí3埨`7Þêi“^ <¾æyñ*lv¤ñaÞZ©(¦åÐ#Ìϱ•¢Ã-©RúÍ`¸‡IœDêÇpÛ—˜)‚pÕ©†)ˆgÄßû¯‚PßÔŒ>Îv¤S¸4U °py)XÏmÓ…<ƈ섊m¾ Ùå¦xã–¼Ú¨–L¶c„.ìþ©b+Ûc ñ$al^IX|°Æ>;¦Þ[ÔØŸ +OÆ­RúÓ"ü?¡Ozœ…ãì®>K»‰HŒ}t.yoÌŒ‰ p;és$(²`U” C¥F]/=&_¹©È¶Ykêð…IJzZ¡â\b]ô¦ZFê{-­¡QÅô¬UìŽ U ¤‰¼W’ªÌò LÊt'ôÚEÍ,Í’ÂüÙ8ÙÆv‡¼´¯Ú&øÍÞ¡JNíY²˜#L1¹¶FaÅcŸ0–·ÏW÷à¹?dÚÄvâP6KeÁ*‚pÒlûÜè~ŸÀp‘¹Â¥8’Åñ½Kµ<›CÆ´ŠWkS)X 5Y³Èð%Šz£=NñÁ¡8/†@P£µ‰ATòøÕÁûñ²!è|¼ªÉ[_Éf”AYu—iì˜ÇP|u·• Þ7d 1|è@…Káû‚]“ƒò¾õâÛî4J_DÊÓÉîQ<ú~ƒ‚­ÐJaz׆行H¡!ßhh°(d¸I«Å¦ö²{Pa—f/|tŸ¡Bì9OÉØÌè’Ã÷ýíé¬laO0¨äZ:TO~ÙÖ7­:‘'§¾EÑ|@¸ÎZ®.WDýIŒ=àr y oñjØnCy­?‡zU/Èr`÷,|*ð„~h)ó ÙÚ˸d€U§½‚^Q•X/ڹǚÁ#Ó}NÕq+ÔÐÆÐ×ÚJ¥8ýQ÷Pº·YmHY|xP®† × ú;Œƒamœ=î6Y Üaúá(/Üþ˜®h ?”KŽÌñêL7ÀLðÁÖAC¥è÷wUÞ³«¤Å£‡¨"Ñhý4ݯž´;<q™½’ +ªRƸòÂyæ‹ÃÄH°}"äó¾^ ˜‡õÐ>ê[W>+´Æ›D6IÐaÁ@ßÑŠ_ŒšüüûÌ“†¿¶c£äûo6•$ß7s­ýñ*ëcj¿ÑŒš¿@ÊK ×+SujŸ…¾!l"cš|\IÒ“ŠÜL!£Ç½+iÿT¥< G!ÿbþ0RU¹|hõ£ +^"Õ¸\ÍÕu‘MðÙÜEÏ70i>¹Ì~3Î ©âÜ» 0ú'T²â1Þßîþ_ù†"’¶ažÍNM•YŠ’õfê¡–\£t-™úW„×¢ +Ž¦ö[=4KQ»%aZ_š5²ÒúÁ{Y»ñܹ&[…å:•°Xç0²vKX†¨7%6úMÀ +•¥Q‘nÐãïF–Å +<ÔæŸp£îœ›¥›‰SO)÷hß’~¿ÚpÄø~ +²Nš»<óÊÖ¥)2Q{Šm›½>|‹¸ídP¹KsQ-ß?Mb1RÔªIQv}ü±L^{`0Á4’l"V¹%ÎZ%rïÿƒ¶F4oXúíwÇ¡Œü¿9 +B&óŽ<Ç;dYÈÙœµó¡9¬G—; ÛîŠÃF[ ðá,E6P tÙ’›åc»è’ºU_M¡`Œ1nZãqWâµx g`gɽ@ ¼ÄÃQÖbÈÕà‰À¨×éz®««èÿÓÕ8º¹GаWQ]uëƒ#WŽº±0Ô¤XõÿŒõ6E„nôZ¡oªO­ír-x!2'‚N·èñH×Ó§øzÂ*m6Qøã+å;G›/ã3"¶ÏßÃkWFÈR]¦!N¥”°É–e¾ëWYt-3-‘Þ%¼k³çgK¤Ïd‘ +”혊rz©d´zsl{™81²Y×Í7æ±iãÎeSŽ¼±ñœ+qMp…®áDÆérL+z¶Ò4䑘{ÚvZIÿbÔ\[Ò\Ãçæuáíúr÷GCÂxNoÞY•\/¸Ac˜S[©ô Fü$=8èÇf-”S9ºåsŽ.ýX&43ÕËfScï(‡ÒvàKBÛ8­¾æ83hÅÂlmFŠX´d—Ã?pü‡åh‰AT þ|ý7wýiûÊÖ.Ë;Y7Ob•n§vdûäT¹²AHÛ_{hÁ4ÊÑ9꨼‡’¯U¿Ð²Ž·@ÕDV±d3µ“æC-­GÃÜÈNw=[ Ìk»ˆƒf˜(Šþêxæ]“új£Úrjnå!xÊg…]§¨÷HKÀŸ<1}´ò‰½E·3£ú”Hjœ%‹À!a NP<¿ <È(9ŸÁTæ;.¼倊‘,ê>øX4Óó!&{¡'te(ƒMR_vÊâQnm( È*ÍÈÓÎÊi ˜ì+­xÙݘtt¸ø0óÜéÐ3à¹O×O(uYëÆ Íåõ…j«ÿ\W¿ï=5Т@÷Ú•+Ò MânG%6Ã9fC^Î:ÔXSA­‰³V+Í"u@šj?ò·X5mMŸT ×…+­Ÿá„®þ' _ƒ:'l†Çmix>?@}E´µ®‡¬óÌÞ‹s.Gÿ­‰÷îç5®”¹Xï¹ ‰z •«9ÛVù¹5`r¿Q'jíIæ!ë»tÔm÷7­FÅSäPIÔ;g±Ôœëøû°ˆÃ_º3Q¦×ït2:ŸKwnŒ!oJá€; áí®ž£©®¿-l©ÇnI‚04[3:¥»˜È¦ ˆ/s„ +WÄ07É>‰ú>°‘òãùÕuSòH3§œql(ûÏî`e©{þø|W©‘K?Àˆ=3JþNZ¯¢ +CÕ:]#X‘_æóCžJ¸á;ÂÜÐ;KT»îØ21t ŽÌÀ5ï->“rkŸQ«ÁÉNé)~f¾Ö ºvWpEZçÊrkŽñE‚U›'[áVè_Xäˆb1¢"Ô*?ÕÔ+×e:`ç—àú$ ‡]2ræFóŸôõy¢onM\šwǤ{»À¥¿v¸% BÆòKD@…){ô†Þ£‰3œháŒôI *®´ÁJNŽ eŽÔTªüú¯04Ñ\‡·Àþ¼OeAk¹©}ŽOÿkÏnBŠ)jØå+†mQ˜„ø?HÀŒÑíãjÔ +žkˆ>äÿ¢TzRdŠ|ñõáA‹ŠíM7ˆjª”ýÑ›¥ÔðE&%9ã•4ØBQ“€”!Ô!xšÛgŒË€š8@l•º}ÿq=— ö§„óé8æÚ=Ø;¸[êbúR)ˆ-„£cf`L(6wàASc÷œ×+ú+ö;Kæ[*EÐoPGýbK‘LN3F~*£ZtÇþ“Iç̹åì/KﱃŽ¶j›#·¡ï,š×&·^ËÄÊyß¹0®šªï™‚ífP¯Ê¶lußP-µå^k¾ß'!8ƒ$Ú[4´fÛtEºoi#Äê¸ñ?ë'¸¦ç+e¶…žP¨DÀžq ÄT¾º²¹ûA•ˆÈlhE"jÓÁÅ?ž.´+µ ù4wÄ™º" +ÑýúãpJéô ²Ö$ï†@@;Õ?XT©åÆ)õþ™ÙÛÛ½¤Ü3šÑ „"߃Ù= ÿ÷Ñm±ëö°å\?QX2A]²Ö`È ÓU£U.bƒ´6¨%Éä}U=0Ж¯@‡0_€°iþ_ù¨“dò7q¬€Æ]}Ï„C¸4Dç-xŒ˜´øsÈE€É¯öû! ø4 94¯vËF÷"~ë›éÊ¿0EîƒÚL+5n) +Ë°µïmô‰„µýŸA ãÆšÒq¦"12rÅmq.È×Ý_âÃÛ“uü2 ¯'ÍdÖC +˜ê`»8 îÔÚBÏ‚ óÑ9Ê•¹ŽÆES =Y6PÍÞùVÅ$š}mÒ,„Ò7¿(¨¾ù^}Ktz-¿ VBE±JíIÅé‹¡R.Ø„F⮈5`HXU¯8%øäygâS—¸‹.Âg>åJ»Î¯¦s"Ö=® @(«æ³áÜÿaq¦õðÿ#柰ü0{°ûÖÉõªí/ÏÁÕ·ýbîa^Ul\9< îV[£E¨ÎÆM.?‡y½k7‰C£zÖ…—Ÿ°ˆ®×Ã+öïÍ`WŠ£EòíÉ*žü=©-éüÓ`Wõ¶Oà ž`m2-lBš’OóE\©X‡ +s¢³0wµ™J<æë@ÄÖ[`׶œ)Ñ&_g0Ž…RDx¤—”4WuÍZLOìP&þh ò¸ýE3Æ#pMbU‘³R"jY¥Ú£Òø ÈÊQR͆V¼§è+'û$ØNý œ6'ôÂ+GDP¯AÐÏÂkè˜äÊZjwÛ? Êc†¡zûñªÕ%FÀ_6Cv{@•âoa0-ÔÍG@d_' ANc;é5¢7‚Û"É©…ãì~M³©Öµ×‡ÎÎ:íÔ žz•ä5L‹gPý8“›„ºš~šÉ<¼ÈTû—ké‰ÙàZ1Ür\2ºÓ5pà¨m€›+¶¦n¶ ÷j ÚºèîpKŸ=T·ð_)B¨{²Àíè+ŽfÑ¡Ï×?‰HUz]˜;º•X ñdg]ìÏpT0V‚¢ÉÖ›È]ýq~—ój…|ÞñÖö«2g =‡¯­<¹r‰}ë9Ìâјõ Å‹0sòzPådjäí±,ûśўŸ‡ß„,¼¿ãX›ÃŒNb,e’ýœïǺ8¯Z‹+¯Ô¢i¬[KýRa´" +endstream endobj 229 0 obj<> endobj 230 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 231 0 obj<>stream +«Íu î%„¾Íâ"mZ»¿¤Ú‹â9.ó×õ0·¿Ö[Á4yNLçÔü †7‚–=°Š œ]ŽªY$ªqL–‰¶à^ñôÔvyÑÉS‚†_taõzI™Oÿ¶1çEÍDzøÜØrï2 +wÿ`˜\êXꆹúÒ@~Ϙ¼ÇÙ™'ÈjÛ|!aÓfqc®^&ê•]æ™*pxoÝÏõâüë÷,lžNØŠQ;Cä…ØÚÊ Ð½U•Ð#Ò²ëÆõ Ä—i ø~¦%Èþ`ŽØCõUÓÚä]¤{b[y_·Ôÿ[YÓ»ér7UÄ7ôæó¬´è%/ÈØ4 JÙg¾NѪü|æË&›É¡‡ +>ß^åöU„ ¼¦‘¹‹}¬³0ÃþüéDSVõ¢ôny¡úþ{VîõÊõÖ®*Cu±&vâhýÕþ5ÝÏ5KÐÕœö-¨²Îû‰…b¤ ÀÜÃQn hòªïQvqaéòÚ¥P_*H¾h±[’P˜Ý{6ÊZ‚½ðت;Dè7"‚Ws÷wçZ•cNÏ q œÍr¿g}-Ö3Úù¼2ù+¶xÕÚ·4®]‡Ü €”“m¤ñ)dñ„uÛ:"ߎ\Ðo‘xÂi3|×Mh”Ú¡‰ cà4^‹MqõôÎü±'#„_Íõ±‹Ùk JÖ¢z6‹ éž»ÄK%3©êcr‹ZÓª°¨)ºc’˜ù´ëm !´žØz„%6öþ&K¸g‘˜°p¦®öƒ±P«Å0@w~Íø ¹í¤ä'æ€ws0¡é>œ«¯§”x}î<éh¤ ëÒu¦Ò SIOá¡×¸¢ü%õ«Çä|Œ[„×Þ=ÔŠApó³’â­Ãg§(¥I·W?A‘åOzi;bvò(!_Ÿƒ½›Q¥­Ä*Ñ  #Ui”E¼Óøå"©s6R·2ÄÍ2 ´Ÿ©ýå0ÿ|œag^h Tã/Þt„s[Þ¯òé Ž|3Þ˜ÿ¥§4Þ¥1ãPÈ^Ku«Œ×äŸb¤H ¸©èÞÞÿ¡ È[¸ß¥)Afomä +X»×?·¦oL +z—cuià +ùŸ[è“ ù¨É3úćB0è4X¬´Ëdf²åŠz7¤·ÿ[ð×ºÑ Q“2«7hD‹„88‰Œ83º%™D׃ÈI HäRÝí+ÐIúOƒ5¹Çub†+Ôê1‰íÚûz (–j"íi=ÒæŽ'\±„£ÔуÉï<ÖG®0û ±‘»…>©)y0¹ƒN7Ø'q†ØÍÒ}ç°‘‰ð¨–s©Ý%)RQEÓéP:¶%u6âЯ¦Çîú#úa7_luÚvÌÜb¡òÐwœ­Ñ^Bs¾â׿L¹Â;««E­áÓë—±ì­ðûmm°3áhQŠëØÕ>ä’èœDùœFñ(®0ᯛËÅvê7ÿ@ã¸ÑjFºØïþ‚Sfƒòª²¤@Áj>Ã;³^Æ[bª=î PÏ•[€„ º½CgiyîinzÏôŠ½ ;(1€Êû•7«ãL~ä=wPcÚ¿j\ÿÁxU@'œÔÁIŸBÕNG_HŽÐ«5|õðJxg¸îÊ”X©s "s|¢1ç+~=} õ+¾cÀºä;³…<âNëKíu«Ë^„äò~ÏÒ^nEÕYRIéœ'¤±YxèFxÏ:FbÝ¢ ª +v"SA%À~™,Û“K…:%û£)mt)‡c+7 oÅè¨N@ìj¢¡LÕ õ³¡ˆŽ4¶\{;ÛÓÙß¼ Ž õmÿ<¶¦æÀÈ{ú +=žL„t‡ì§èìÉyÈFÍØác8H` y¶v¢†“ÒoMÏåã·€öoêJÀÊ»Èâ<~"’Ž/ÑJGêá; ¥S†Ý‡›¢anr™–ß?:ds”k{dª—×Q=0D>Û E® +wå9î2•Ã«Í\±MºÙ@ðÞöEbRÃNŠMàkʃB¶¯gá1¿õ”AýàKptá…䊙ÃxhÚù&àiL¥$áJ6Usc5s,²Ì€ÿ¢T!"ç¼¼z±ÈÐÙ¨ÿ‡îôJf„.‰Xi2!|¬êù®ÞG\ì7æ[&͉|RÄeMvÍ/êp±ÞŸ÷ð®Æ^‰ñÑl/–)5Mó‰J±1#œ’8%šø9ÊÞ½œ>Šî¡UñÕ·i?UºJÈÁ’‚‘S² {ku‰×©ô¶IGËN#}›ÔT+`é…HIs¯WùKâvw™­@|Ú¡¶Áû αëÎrYw·éæÙˆ©Y Æ•Qú¤È¶Q a™¹Ž0J”0½Û3:ÍÏéŽÎ+mq“±Ï€x?fÚ¿“{P+¡’‰ùF± d'XÌ-P{ª0ë×](sØ„X]Ž°œ$Ç}Y m{qžbnÔ»g09Òªsr¬•i\Ša[Æ…/p¼7‚±ôOdëµgoóè\Ýù=£Ê¹QÌ’½ËÓä‘ {•Æç'¦Ñoûæyá çÏ,t m-/vø“Ol ^"}'ôXü¥–)Aúé¿îîa~±Àšg¹ìt B'æ,T^úoXw^”Øں廗ƭôç™AT2x¹Rã‰ãnìô:Zò ±7ÏFª9pÖ3-¡üE)g´„Útðs:Y­ÖÇ(’ˆä üÏsCSÛ’„ø@ú ‡Ÿgk8ð`²O¸è1^~OÛø%ÃF^ŸxSe½$Ö=ºûA&a¢·Ñòtb,¶0µHà> +[ˆ™lú|¹îžW–êþ4Z"Ðâlî-’çpµê!ŸSÖ@v½©IXꋺ,ý°DÂùP +ô‘´MŠÂíø3ê`^Æv€Û‹lB"λþ9NE˨Ä)œ6q§ŒšŸšØX(÷‘‚æäÆEJ ­…Xhwrn´.ØÏÚ¹MÕé',AÒ‘²yŸ))ÓQÕ‹&åXh…2SÙ‹n‡³-)5#x?à&t;'ONo¦è[ Ú‰XÐ"Üô³ ²@«¡á’e}·’Üûï ¡ýÏQÍ°èòvG|ßI‚åJJëŠyí8JElä šFC¸.⻚ü¨ß?Ñääˆ+ jÕÔ©>l†ûZÕ¾ñU*øÔAvèË­Y¶¨çÜMám1é©uÎuÍ=:ä©yìTªuÖ#N׉uò]“ÃÈ9]ÏõN;­4yÒôªÀ}Æ24µŒIšw®þé1¦yÖ<ÂØ‹­7¶ÞG\í¶Æji‘ÿÓ¥¬2°£6o†‘ÐÄúWAÌSJÊ^6^d_ª‹°1>¢UÈ[i¯æÓ¬Ÿ*à"A ¥½D4„c⥶[ˆu^ÑzÂþ£€Æ·ö> endobj 233 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 234 0 obj<>stream +¤3|i’ao£Eq#óÉê±4‚£¼‹„³ƒ-f´Él…,+¥ÞÎÿuÅFÈÆø¬×\›ñ©GÅ%“&¾KNs‡fè«Ù-°}Ålo¯±µ¦#Á.4eéGF4@î'ÁĽOwMÕ=ßíx8t%¯âä=X²SþŽ?Ÿ,@ØSꜶב—êaòÎÚQFÀ¥ñ÷Þ „mnm>LÕbRÙ«‰–ªê Ü²¬ÄázáAÃYþ&¶¦Pu#‰¸D—´w‘™é%Õþï”åkR)ùí‚å–{ƒ®ÖÏÄ5A³?hS¯Ié Gé¤aºü9»µIz³Ø r*ó'#1Ç ®³ýt¥nH€_¦ÆFÀÏUmæÌT)áä"#“â§:¹ˆ£a±ÁjíiÛ"¾Ä!†ôÿcçŒeÿåJCä³ rÛ9vÆ"£Ë;–U&œ¹JFm©’32øßXGñy€o^åûñÙ"˲çÚðe—3RBò×՜ۭÅÔ†ŠNÈê¨Qý¨˜PìUQô0éŠ3»Im= \…Ùgÿha¢ù;60m‚×(×ì>Hòë{e6“ZMÇQ¨OëÉ媿×zCMl¹§|- ‘¹«HµA‹Òö2Ú#+øÖ%ŠÐ‹zxwº4SK×+Üb]j¤ùƒöû­4Pî¡»ß0VõóÚ“ŽÙ Ñv°ƒ¤càPËm‚_ È°@9ÄÔ½&¼ÆN³*K¾#–¾°<¢á9§MÏ{QÔ”Õ&’™×ôä,§ŠW ,~ÃÀÝI‚‡ *’ç'Û§r7*½àµ?Òñ›UÏþðµDµï¥–ËŠÒö É~f=žÐýø¦òÅ_Z1ŠH0k£'žÕÀuæjk‹°'üJ´!r0‰/NxšfÚ‘fhʃp”ÄeϪ%$ãJ<áø±xÊ—ŽËÏ÷ô´"©ÝÉ&Œ8¤»Y&Ì8öªlx©%äVàï)p±@v½?fÁóž>_»Bî†Æ á­ã:„ÛÓáæÑø¢tz,!Üßi•Û€Öü$· ÁÐã·æ$|Ú"1ße…Ã?p?éÒÕŸ~“>ž‘83Gå‡"yߤ|jÄ| í?…Sãðÿ±°¥žÓœÍ¿†=²l†x»ÄŒÅì%i9Çœ÷WésSøÿi•ùRÿZ3k.¦“Œè™ÿ@ò‘ -ôrÑ¥7Çm¡îrS [ ñaxÖ’CNØRÔò’øv¢Ö4ÏϹø.«-3SÐÍÁÉRÏ/åãÓöÃwý"J¼¦üÜ׫Kl¥ÚÓ!&…· ÅÍ ++ô4ĬHí¼øˆRµmëN\Í=RæÖÐS+É0µ u(Ê@á“y7m  +©7 Ý ”Ûj ŒvrÎõþ\®”%0È䘞J˜ªÚhÅ!AÞ³Óê—ö@%ɯO¯ÜêdH‹j^=ï6,¡zI +!§¤Â¡JÊ~ŒTUáÁÒ¡‡ü~|qsN–Ô¶Ó½J5©åÓy3•bwØbQèè#úŽ ¸lsÙsØ ]7ÝgàaùЫç(q)$j¹7ÍÔ‚Ê°enÞVÃÄO÷¬ ”ºØ¼X“$­LæVoçWc°ðáRöã"–BOJ·³«U—6¨ûìß¡4ù·¬èjV'žnwKK} ‚ç'Ì'yk•W$ñ™?ØdºýÝ7ºm¯§ìkÅq“2ËX Þï»2Þf¢n¨’ÚUÇÝ0ÉQ2Æ’#†çf,f”Ó‚¼x°„Ô7ùW‰„Ò‡Ds9ÂðмK奪’uï\%Ž¼ÍÃkøÂ’ŸsƒµìÕ +é,BÝ·Íã³Õã£FE™¦6tÚTÜ8¬Ã±ødºj%m‹š¡Õk÷Z =Íò.°OÂ'T¢9¤xã§hË~´Äßœ]P“¯Ög”õ”eb:°tÉ×ãOR¡ç nê ~Eˆå;ÑÊÉC2¶Ú Åž‘e^¢ì[ÕS4 îAáù¢‚øàäxž­â ÇÄ{šù€®”HæÂ{Násõ/—hµîÝv#þÞPRÜÀï|y°L\{£ ɉ÷ÖPÐÑaÙò‘Ô]ŸžèÓ£l)gM‡N©³Óg8߆$OJ3³(ŒÛŒ«”Û1Øz_ƒ¿5òz§ì„æäœ;~½T.‚qœ ±Úði‡‘8Í1Gö•õøò[ýú°)L—‚rvû5fs‚Α¦³YÕÂѲ]Ä!O棤¾é`g’HæW¾Fê‹p£7+íg@½Z˜©dð#@Цå}U§×fzQåV¡åÌÄžÝËÍõè*Óɧðqꪱ:€Æ'ˆoäcdxÓuî»/` +ÝG=mÊMLŒ[új@!§qgíPht\¢w%GV9}Ź•:WZ-*çšÄw1ጶE‡nÍz˜b^˜"„ÄIÛ…ì‚ÜTB håðæH†ÈžDئÇ?X*K%óžù¾2LÁ:pöYÖ ”=îô.üš€®¬%¦3w‰ÅÐ =“¡ýœ¬•Ä/ð!k””-Pù¼g5mZÌ~Jn¤hhý\n9¥—»Û§±ÛÙ}§JFÂ5£‹ØcqAá>P‘É›³>½WH3Ýü6«Q½tb‚‰*w‰æðC,þª,Éÿ†FÑäqÅûöQ>Ý·/@3¤ì(Æ‚eZû OŠL /O©¡útƒn†>#¼ªÍºÒUG^[©7±‰Ú3¬5nw%æCœ•ˆÇ‚ÉŒõôê¬#¾<_ž +£ †».twB5xZIÊl2¶úLiª°­Ê#3µS¿–è⿾ž®‘pÚš‹J¤DÖÊ|ïZ°x…É®YäÉXÈ^^bd§7êããL[ƒ$•Y_–Gzòr꽫ú°ŽuÁ¹°å¾¥tëpž’®ç•½‰ÐÆÀšáwÅË‹¨]‘>ȸ²Î–¸Të‡|Ö÷Õò,P`øW,OR{èH¤i\¡c©ò·–Ö'õF;Ú, ±˜÷ k¿Q,ë²'*´òÚX”:€Ð–{îrKC»c ¼¬#mür±ÿ­Eï^¬‹%w@Ÿ^-@º"’sîKR<9dÀÇ4ÚiôÉù™üNó@ç ¾ûÈw·û”‹‡E«ËîÈ·ŸÛÙ«uêXpw—T‚u‹T‰òÐQëžÎ!À3sWLfþüfÊFg| 1>â×YŠ{åSôdÝn•%Ããp»ŠÀup·4ÉqÔgÁ/­7@!¾fgÚ±\oßØ’¸‘ÑnܱHÿí¶‡òâGA^ÎŽaQyJ~Û»qô·TˆÏü2–*™ +á1n‡xU²< éø{±¶ß¬rHüt¾cÛ|8iúÐyÝ2”j4k‹þ Ð|3´þÊR9 +Qïjº½ªVU¨D.Ézø•3ŸK¹„ ò3¶`’ÈÄ s!ÞDw­®ôäúF4¤$j÷=ëx h®`ìòñÆ,® +üz)ÜêhÀš¤¦üYÆj ÛâPê’Ãñ°U…ÔZÅ•—D¸ †ª6Òäšœ¨ >Òw.n6×:ƒA;Ô[ÔÉæxÏE„Á°ÂÉsS=mÀ;²…W¿äú¿Æ?L÷ÕÉ¿]¾ÀFŒr„·ƒS€T çª›:u÷[·)<µX¹ÇTŠÚîú°wå¨Õ3w^tn˜OV+¬ŒÀŒ³&ä“ ñÀé³ÎdeKdáôìí¢â¡c(ÓlgàJyK¢á‚ÜâÐÅ!«ÌæÆÞU{ñ7Ìø­f`Ðêàì-D»ì¾«Î™TÅâíÙÈ)´pøÑ”»Æ0ÿXžÚo.{Fÿ`ïæ9žÖwÑ_`¿îs-NŸ¬òK$‘à,ëÁ<f…GYœÈf{­ÕÓòêöõìÛ>XµÇëñä@G9 ¦0^  Müï¹Ñá)i­Þ}tŠ´ëý'Sax)é£îM¦"qÀRKbn-:Ö¾ãkáùz±¶#—ˆ16jÊùU b(Ôìxˆ†·#}´Áþþý­´inÞm;>ÏYgŠøA·DôQwTC¸}T!\̹½oÁba…¯>Á⹪vêBgêé=Ÿî”LîšæêÞã›yc÷ÞUUï²ø…¾Gã7ÕãCÞOÎM÷T Ï«fŽHq·¶¾5 ê¥öåöù—?¡è„V«*·‘z×`Õp<\rß<òUž„ë¿ËÛÛE6€‹˜ñv…_ Nðî©m»‘⵺JjiëG²ø–6=*¸-dì—2Ö$)6ÿeÂQõ+;¦~'”`äü¹XM= @{ï(»Xß<ƒ  ˜ å2¬†ÿ€ÍÛK+M!Ov:Ñ.#CÓO1“ÿ*ö%+Å@*Í¥¿­,@ݺVjP®Ðؾ`ûРƧ3¼9Sÿ~¾ê^ÙýÛ ¾ç‹€pæqøâÖ]‰«¬VP²4¾æa2ÊõúÔú+Ð>E Á8òß{9BnÁPc½$ø«/B•}]¸¬Èî´E[ã.[¼¬ÄL‡i±.KõèaºÅBJTlÆÔ³Jæ è¸(˜—Ý7Oì6WÃΤ÷K–Î)¯^O±Ï¶‰ÿ©÷ƒFVžïœÃó1uµçÄ5ƒ’âWõµÍWƒn fõÝIÓe_i÷ChæÀÚ W·áy8¥ Ž+5ïa¹]³Î^K‰…bM,ôÈi¼¥©ÔÆ cÿõ)ë¹°‡OÙåP#ý7ÿUõ+×à‰ˆç@ŒÒŸ¢ôý¶òÜšRòÕ¸ÿ2só›]®«[X±N6$ +Ñ©ê2ü˜#ñý"äÚ´SÙJžI¨=XúZ6XmkÀÒ ô*ðAÍ žÖ5ŽXä\ˆù«×†©åúD¹(È€ºíaAnì«Å^:|u7õⳖƪÿ:d³c8pس“½ÙèlÚåïl×.—fä–¢¹ß/Ú%¢¿çŸ„^ŠÉnŸª¡×­vAzÚñ±Ö΢X@ÁÚncˆTMËzfm÷z*TçÀRŸQ8Qû‚ngÊF}¬½‡zGWLÄÿj­Bp¯ðPäBlK#®¡7>î»G×{0*Å'oØïÑ…',A¶ åNÅš“öM‡%zWXôJ™#?5|~$âAú›vð íãÕ.FKÊ’8Úm¬97b‡)±Ì[rÅ +endstream endobj 235 0 obj<> endobj 236 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 237 0 obj<>stream +iG„˜„5¹ë¾O5KÕ+×´Vö&lñ6hÒó”,–¹YCYgýŸv8AÖu]1`Ô÷þKIý¢Í [> N‰ôdù­Nnh¢ ¹sÌõIOÅÑ&v&ú[s QÀH%ƒñO@vaöÑÏéQÜpÉWÖ•¥§©¡‚‚nÒÀºÂVtÓe×2±—`BŒ¥íø_‘| Õø´ +zSŠéx˜W H±ûœ0h­ÖãÔ<'ÉÝ#ÕXÖAGìq÷,3ÄpÊßÌ¥vÛ¯½°œÑîFHøåhó…—‹‹¼TP +©ïélˆ÷ˆÍâ³a¤ª²æ“[ÔÍ\ØöŸ,÷ÛÛ¡2qI1!{±¨ö‚·Y´0ã?×ëhCz.BYcе΄Ž-gÖƧ +&Uʇ×{·º]£î)kißq¼h×a­²ÛÉG¯ÖjhÂæß’0\ve×Èžp8õ;Lc¼óF.Ó^ñÛ°–׉_ÐiõýcUÆLŸðq$¨#õÎñÇmÆL#h£Ê: îØHBC.›Y aA ½½N¨ ÐÞÙ@­¹÷êã@m»ŸõVd$qhFâìöSßø¬WÐpç£xƒpÌYž!Èi.cB±ò”ª™ÏȃûåiHÓ˜-BJœáDlÞª ¯BÀnÖ«SŠO‚³•eOOx!J"v^³ ^È–=v2"D®¤&mД¥1©ÕjtÚŽÔ +¼Å,ƒVý|Ç+V"ìš/ºga•“öSœ_€$@kJÛ‘•GB«o,/d'5íI•c1èËUÅ䆖ýD–u”…‰BS<¶AÐ}hņtâ©æå +‘Í÷”]ø DI”Ѹm¢†¡ ŸRé}ý}BZÕ´³Î­ê×T0'‘bLœç¸€‚¢±ø©Lù_ñ áë_nná(rÊJr^÷3:m’RÅ/–sÝ>Õ£â~•Úªš{ÿ–ÒYéµO ¾€½SRß“Å^hú&÷ãìÞ ‘Újë:¼Å¤öi#Æ7ã*°Áp ïrí[N…â‡-W¤*Sù¨Ëv¦øÎ1ÔÏE´ò¿$ùûPKZ +9%ÒSv§ Z¢ùyøü—•1¶ÿS÷)#¤6J&7™ JÛŒL!<&×à:a$-qõPú_üýæqÁÑ´mc\,b+÷äåh´åü5ù®¤\W¦¯%]1#–í!jS†¥øäà´{mrØÊ0 <È”•ä# +¬ßjcéã4ɉg¡Õr_IƒB$êµì^Õ6Xbßâ%ˆ¹°\ݘƒ‰8B’±ö îú©Oj ©²X€›^²©¸ø·ý ê ÐXæ„©ï°¼¬=ñÙ3eC[*†ËäÒö;´Ôè¸ÒØwŠZ[À* DUGl6\ÁP?]¤*¿Ôìð&s ïÃNŸåcá[Rh’]äxOvškêßÁº»*3éˆ4cØÿaÒ7òÊüþBËä-·sbíqÏ°"Ï@L¶òçÑ‘¯«{Ãá?çª +Ù÷0¯µPYkk³ü%ÝÎʹz:™ëÏrßø¢…ÁP!jƒr¦‹sÚÚót“®ÝxjY‚©ðQè÷€™FÄ´´MOŒYàðZsVÛJ«”ºÙö +l;#ÿ /4|t–íÖ‚gñ(¬úM¢~¾É7÷Á]Wÿl{“ÀKNU {îR6îDS᯶C|)d€4†a‰¤ày³ÕjÌOòçá]p0¶í~ñ]í¤¡º!8R¸óPËϽÃpÝ †Îw„Údÿº;zfRñ?r½2;íÕÍïðAmËÔÜË’—2@ŸÞEÇkz3P Ç"k‚—6¡= $5Oãc³è€ÐÒ\d‡$bk'‰_ÂàPdÞ”=NÀéÔŽ<&©€[¢·pnSî˜:v@¸ª‡WŽ§õP8¯FÌá^ÛC¥ ›Œnf¯ ṎBW ÃZ¼9j±˜=:Í´+ùžé +tÜN´ªv‚éVwv9«!öc+Ì0­+E–†’ i è…ì4ïÐÕÎæncû®Úvºä ÷¿B–²'äN§.3稃ÝLPöžWE–_Å´‡r‘™ ”!ñ´bâ Aõß o€ÌÔؘq/:{ m¼¶C³Ï;ìlá)¯ßÜsÈlàå˜Q÷*O4¾ +f¼¦×®²"3 +ˆñΦ‰²KaîÒà lu’ˆ·~v›¡j×µê¥&ó® h^¤&΃]¨±¡ô¹ò¦™V_»9)7 gŒàJj¹|ÌKÑÄXâD¦„ÎíABådÝH–ñIû‡ØsŽ*ýýÂoki#P)}ÛZ  ò¼§£¾ÖNP3¡œ~©@ˆßlÏì„˳]{åÓɾu26wRPA³Ó7TFæ„ÆÏ-áuû±Cë_¯BœÛ[¾ñßÌ®"mò‹!ß”¨Ç¨¸úMA"MHîµÿ!ŽÕ&à $umö à÷fâhùñ±é úü~ Ñ‘ü8¦„£LË—›A’Âtå1>±SqY;d-À¶ÅÕ¥úQòØWÂ`ÿ_¯…M·  ;M¾:k=ßÔžkì;:9ëﻣ (ÑÙLÈdb<©ÿB å÷r/&¥“(>® Ä {ç:#ç¯Sò·¤)Š­ÝY\óéù´Z™åe ,.L¯,×þ2[ûL³—‘iÅ@È3èJj›þ¹zKm‹¦Þye|Ç<…˜¨B Iཡ¤ø'g˜”ö•\ˆŒËHé]ÇáÆø@{1Ø@¬ ÅFm Ú8&M |R$æ.¡ALŠd¬ú]B´oÒrÇVß5!ÜØYË_PB;¤ÉïÑÉY;ÛZ'í˜ug ;m?Þóà,~økvÉW¸b#OÈ7GÞ…Œ;@¯êùĨOÜjhäª<•zÿÂÖǹN¡hTÊC7Út½2GL+û³Ï ËžÁ8tÏíöØi³š &/ÖYeÂÿB.Í"üÚÛl#|ZCÝXã €òá kè¯ÓO37©«u¶óÚ¢. ‘.¬‘8èGó¦g8@‘"?ª]ZÃIÞÊûDþÈð4¯ô¿ïˆ:]µ ÍöŒbJ>GàÑ| n´ìæ£ïxK¨È£†ÈÈÕ‚u. öV UR;r.ãù„O¹~–p½½Xá,ìUÎÜ-q¨÷ÉË1“ª„Í#ïk©Î»í¦!ŠŸÇ(j¹áجþ¸Æí~FÓ«ã©Vå ìŒpŠEW Y€Ï” +€Z ùædf#¯}B[Ü~j‘5IvoµÏöý‰T ~—^Š»çñMAÌd,pd26M¦:na9)dR9¡‰I]‘Ëâg¶h•?TgCö‚2ìT.6·28 pXº™¥x/Üx½æ¤l1½‚ɪypÏß:šÞäÅ4ªÎ¤Î +1§BôIªå ÿz§å¡9U´§]…nã»ðåä^ö4¿1 SaíÍ;å*-ÿ« DL׌KÔžK9ЪE›?Èïþž°EL +endstream endobj 238 0 obj<> endobj 239 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 240 0 obj<>stream + ý]oÄä 1 îlFÉÈ+¯òóð ý6&ƒ‰R=¿“^#]N9ôY~‹ëÉ|œˆÊP.ªY«Ì.[†?,¿ë’ŽâËáï[IãÿØUÕú¤åË=\LfÁ¥«ÂÙþ:4,„YÍèÏÔkãJžQW·¬z_C†`ðZžÕ Ë^©«»€vÆë«Åß«ÔÏN‚Ÿu û<û÷óïUIí,]5@ÒÔ•Y$VeŸU^Ï9fûœAþºÎ#8or5€O_:Ænà•µÍBÎSì—ƒ²X¾p–ÃN}&ƒ™M‹u™¢—óP¡njG±Aá‹,P?Ü Tâé»÷ÏÂj]ž/ô•Âׯuƒæ1¬Ó-æôwû÷´…Ç£Øl9 B¶?ë>Èq<ni5 ·¢ŒFP³=X~(m VåHĨ¿I‹ÓKŽh™>²é8˜%ù3€ãQÒˆN…~Ixö¨>}Y&ÂņCâ'BʦïK«Ü•ïùbSãH¢ª™A¶Û~ 1ð§gö¹8†®ü#n‡s +Â#‚K—ÿÑb¦ÚþÍ„÷˜HpôPÉ€÷δåmÒ?úž@tÄLª~Væ~FnW»õ•üñN Œ¦6I™äƒuéy¯€¤cÛéÓuv|æ%:JØÄþr•sÿGÐ¥­MÑiH&&«°‘:®]AƒŒ²=‰ÄÎúTß|0-mù½ŸHj¿ik_ÖSòî©‚¸Ky–˜Û2CO=7UubŸ! +¨éØIÄ:¶Œ“½.åd +}Aáa_D¯o—ÂgéZ¤õ‚!gçô bêògŸm`n«zã0—Î&çnöï ?unôÇÛ +*Îä94"Y²q€¾×J¿5«’£´+ŒÅíQeŒ#fèkg”øÆVµ¤ylu³¶uþx?w:Ù¶¼‹ÂGˆÄnš"‰±6E€œÓ;6U5ßë‚?Iuª§úYy}…ø[3w!†ŸM3ÞÏ*ã¼_73V´ÝgÑ<§ÆÏÔÈt7A@îH ãEŸdÆSoö,­IÓ,,Á +ù&Ú>«¡ô¢ï¤ÉÏeÍšrÃ&ŸÏ÷~ãâ˜<ݵ&¸ë8(¯Žù U pšQ ‹Õ?«ô–D‹8t¢ ÎâØåZ£"|5 &Ϧƒ½LFÄJ)EA4ù[Z=©:ÂÆýˆv;òx-—"*Âm¦+¨évAÀãéoC$Ì…Ü–ïM m1m‰™l + +2Ó1¼À‰Z€ßοØ+éC*Ó’(ò©° ÜKQ#=œ÷€j›¦°ÔÛk=‡§oÿ˜÷À\¿¢{â˜h¹1ŽœZ(ÌÚÓ…œ¯=0™1„Íê‹•0ïüdlKƒ*"`üûiŸ:»•,Û."/n¾×‘siT•ŸDI4ìÙ·êfæÚ~dî-9ôtþç¿P±ì<{QLY‘#°À#I6Îyù ?Øc¶™…>[Y›‹[×íî‚^(47RöŠÝÌL)¯éêN¼›«¯ýløòo7ì²kÉlb+×€†Ÿ‘%ÚdÃÌÝ*îÕñ(•Õýï\_-J"˜i½:´˜}˜V8£çÈZ~EG«Î0—{$”QI™yß [ë:Ç¥¶Êj…S°Kë©­³.¾R¾¾Ô•ÝTD}X¥Ï“+V×ÕàuŽ5ae+Y‘màoÖ©“ºó}±2Ÿ_ÇÜÙžk—Yn–C9U-‚!¦æ¢ÙkŸQ ÎÛ QPC—[_…£n› L»AàÝù´ +ñÒk…3€ •ö²•Å¡ÚT"Æœe…Þ­uÀ‹ÞÿÐ-„¸úf¿ºå.w›x>^Q!<{%ôîTÙbšûƒoé¥-Ëký•¯Ä×Æ(NÛÿ•~/]ц8TéJäŽçÔIa‡ç+žnTCf˜Ã¼Ùwè[V¢©«kÖÞ}l+|ùÎHÙ¼È=~Ÿé¯},÷fvEùxyy’ûFÈæ]ßsi£…œ@Ã쇲`*2ÕêõãxVT¤ï3bIÎè‹Í&íŠs¸mW§@†€—W®28*R}°…öAçKW£\ÕhþƒI¾ÉË i½¯å¥a–WŽ§åž|rl>¶™P”¦ßõëµ êÖÖ㎦#~'h87ƒ M¥"„‘qY¸/N×Ñ?¼`Øà‰:÷¥xñuE_BÃW97ì÷¬«¾·|D ïv¸ L`Ìf ×ٚџ²î;þó‚F¡cŽ.gd0ÕVdÕÍAN3'®·µÂ[0:¾/¾ð/(o¯oœ Fk–H’óA_ß'Äb—îIws5dÞkš«hFXÁÃ]¦&@;äÿŸÏŒàý$».áGÄ4U0 ûn઄gÀy?…äR~Gë¼/fN6~XañÉÐÿbÜ|ÜøgåÌÆWGnúüó”ºNÑS–ó¤Õ ´·_¯ìRëKû•@&-¹è½Ù &ŸÜ‹%$Π¢ÙVÂå²Ušºe]ͳƽÎß©p$XJD:X8¤ºxFCÄO›²–Ë$ÍZÄéÅf>üÀ8Ç4;þ"•­iCà=AÇÄ®åÏcˆXdBD{`3–¾úA¦•jU7â`L»LEÏ/*ŽpXô¥év]Ãö¶YkUƒè$æÂ+ñD¹š9,Áe)÷,–Ø0 oÐñŒ•Ðä9Wšü]hQõÖÙ™CÄ« ÕŽi9ç“+ýò*'ú€pñH»ÎãÀP«Ø¼ +Y´)§R*æî[o¡îJˆ¿Û¤ž&áx¨Úg €å(\V!ø¬qWÌZ–â +W&-/æ¼03´¡&ëôþ‘#¤à³o_’s¿åßâE;7_C¿Z0Z¯Igäñd:4û[ä‚AFÝÄÞ»i«ý5!ͽ^W&b[•Eß‹’»sã`H®qmk-ÄÕvàÝ pC59óÏm£©säƒKDÌGÏžüÇ?!U‘¡{ÑOˆm&ŸìÈRO‡Ïî%6]óÅ«„< +ÀâÈòVÐz<њŸwW:ƆO ƪîûã«Wzåeê$$Ê"az£o0‚½Ëöñq¬(<^e j–k«ß܆˜/ãŠì.,(?îÕ°BBÈ/È75µÀLa¶6æ%[›¾öP9|‘ó$r¥I‡ SK^¡3¶ï™èPÓZ¢¹nˆµÁûk`‚–±]ù?éèTËÊÜÅb7²žÍjÉO„º`úy æÚé—ÐOÍË, ÝYÑs°¨ Ñס]²”V›4 ¢cÍÀ›o((Æáv luEnØëiöTñŒ-ÏjÔ¾Z«°åY\²ÁþÿÈ´ûøÁåæõZ¨Òè6£5wÔ·’¢í£¼qSuìmw€x 8 Ýaãw0Sù4ºa]8@a½©ŸÌÁ­Ž‘ìac â|œ Š½?Ä=7Ô.—Í ’no³W«ÿ…d‡Jˆj6µø\÷qQB³cfF´Ÿlâ ÏÞB­èé妹…ö‡èªàÖ¨$}FK0±[CV–8]þO:mÍ(žÌÜhǦ}%;tDüL"ÎéLÓEœ¢Ôå˜Õ˜9'y2ÇÎBüªq”ꃷˆä~Æ‹ãŽ:wÄ8ㆯúîži8_/"¸Žà&–‘ôÃL|p”öyCÜ„i-\*óB­vkt¦>çÌçwZ¿v¤æGÐBö(ƺßM™ðk_jΕ6—ü“fÝø¼Õ3‚.ª"“Ïu진Hé> endobj 242 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 243 0 obj<>stream + Ï:Ê öÒ6S Yø•…qÜìºÞuä4™Öv³«\ƒ_ÝEœìωE¸G; À5µVkž#±ÎjIµµø(a šÃ2‡ƒ©(³þšØΘ¨½IV^£µ|Š.­î´8eWë‚‚ÀHàòÉçemnï'Ìàú°ËÛª‰âÞšnÖxêx³=ä9øcór=b5?ÄufÄ°¯šx|.É­’Y•N:>×!æÔÓ,W-ɨžìJ¿´‘ìë"Cõ¥š‰RaͲÑ.Úã“·ô"·GÓ¬ÖËK×ašWŸlûÝÀóiŸø>,ŸñÖà@+ÌPÓ·ûÛû¸­Úѯ,2¡íâ¯9»¶õÊ+dS©©ÁXÈÛÊƾîÄ‘|~hh‚Œèy#I<; žG£·xœêÔoÿ€+~Àz5ür‚L`€ÒNf½‘h±ñ çMOw>üb&™©ˆ„‰¥•¿"»9G:Ã%Þ\ä¡L°¤[FP¹Ö×-¹ØÆØ‹7í¾!/Òå~^¨bF½Bì|‚Á—¶i¿•/ÀJ?}õ­¶+ÇjåtOèƒ^õñ*VÒ×èê^Oº­ñÙ`†C=PáèK®òæ~£p%gˆ¥ÃÞ7y„díEœ$oÚص@ˆ°`Ïd¸¸­,3_e ëÈ +¶²mNásdøãO:Ì]˜¿Þ‡ i"fú:‡ Ny{7¤×²ùl!·Õ½¸mTD<Û>æÎ¥EUœ/åޓלÇþG*ÏÕ¸ÅF˜h9²–`ŸÜÔ †^G(sT]ÓjÐâÿûžeã-ZHª[ÐÞ–öïêÝVQiQzCõ½µI‘ˆ-‡JMDoà¹NÏûû®Ê4µØÇ61«°Ò)ý}¯££m)½1ÿ +óPé5H„/¸œjÓk£·¥Òqb' +-WtfÀ¥9ö0k¥$p½êÜÏ ôÔ4„iˆ_“w,Ä‘‰¯h‚£9/<ÛÛ¶×Q’"RuþGE¶„¤TÿGu¹ÚúÓ.z‹kïÓ@§öÃ9C‘=Þn¨­®ç/†“ë Ep§ÒoûAç%f9ÙzëŠ%µ™ËTä—bùѪ{j€Ãˆ¤ÒÝ)µ6¡ñîja0QfJÉÝdV×õñSÐðUÖN½»‡Uôj½ -èîŸÔ:Ô.téó§êÛúæÂá!Û<’–TjÚôÛNÚ[oÀ6_zfÞÙ[~¤ìtù‹':õã:j‘'Jˆe½ ŸäáÞþŸX{FÉî¬*Q1Ž½‡u8~÷øÚ é¶°?†_ +6ÅŸ¾!Ä>Û4e ïùO¯q ›n‡ WUßóêãª{æBɸ~S?L-ã9„ÈÇC*Z™±–§ƒbÞ¤îïm¾M÷…ýëÚé|Y(vŠ ªiŸQHP¸‡~×òÇ~­u†Ò>} +Ù0üùǹ^nEŽ/Š~°0Bn,ü»¿iÕm«ÉTqê<ºgîKó‘Ì×ù£íß9P^ŽÕÑo…#$Ì +¹™èeAó­µ¢=|oTÎ)ogž†Ð`ICŸ>HSñUã%­ÉhŠÜΚ@¬º5]¦åŠ«[°.;ÔgƒË­7{¹zÄâÅ#Pìà®±„¨²¯Û+Ù¸'®‹Lfÿ®bŒ0Ý{òK¸xùj¾#3š<,õÇn €<ãËÙ¶ìäß—JH|ô w$,$¯ƒeY7ör]úŠgI·‡??å¸Yƒˆ%<1o_3÷³ç#3ŒLº3Õ´CÍ,nG¨órý{:]šéHA‡›è' õ÷ +‚+\öcÑ—ÖFËq7\€ÉÀp#†$ð’芻¬“©¾¹ 8A?Ò_ø¹‡p-WÀwÃTrêmå*,×;óè:AAJö*%…a÷ 4¡•:Y_øµ ɃA^1ÀÇÛÇY<>”‡>¥qx¯n¨D°[Žg÷Œ f$Ù8”`^éæ©š¥ÞÚ0»_œùgžGéÄÊKo«v²|QÈ©±#ä¾³°kç€é@`ö£Ìv:/W/yµb0õ<²¦3M+û}ŒtJƒ êœ=)k›½f½æÌpW=úÓ*Tb…;!™ +qÒ¤‚3°À÷FÞ/Ívkaëé]÷M¬¢&‹¤1ÌÑç ^mw sý`÷Ñ(ÝÚ"ü±šv’Q~ é¤Ny ˆépâpsÉ{ó§‘×&E×':ýܹ÷·útV<ö¥cVヤMˆ †OOEã¦m¾ÞÖ槪‚?›gýd£îÙr?[9Õ2ÁÿMé­tf‡W-‚º$m$˜U¾š/M‹6ç·)éÀçÆhc.†þPo'ŸJ-4çôC„<¨)’­÷ú‚Àèd­€˜ƒgë&±åÚŸü]ìðØ>¢Ä=ˆVÒп-w…6p»Vû"„/üBâÔÚ=ì¾÷Ï;U÷7¸É£Ã÷‚$Xçè¹ÄG™l>U½“1jÁÙ‡Z‰œ2…§2 wÈtÃßä2O|7YùÆô¤·^7 !–rÿP„/R‰ó9ÃŒåKÙ¬ÜBnÊÁ9P}<NŒÓ¨¼B†S|¾ì«ÿ1zŧs>n‡“)UÊV(Qciß½ã6’W«:wYa¬­‹„œ:1ÿÆ +® ä£=…:<óë +xc”U¤–†£’ÐE$}&Á,ÕðýÊ>|”²  ¸ð†Oì¡^`>¼¾®›xÒ¦!Œ×¨ /‚05¾TÊãf|=Þ«Ÿ·R1 gVÜERwg¡4[ÜSòaż¬{’+ÏâÐ*ùÛxG:‹¼ª«n‰ ½ó¸åÓ\E<7‚÷n-‘j@fÜBfjîw½•ŽÌ•<+Ýý1 +£öcq¥ßÊó¦»Ì)rö&8C4ëa<,æ>øºÐ-Ô°&É_š³·âlMÓݼ‹¢3kö²àwêü/}4RH£›rŽÛ·ŽY¨¼‡Þ Ú/­?«q6)ròf>hJOɆTM^2ƒh6×p™0*ô^ùbžÜ1*!AZ‚~/Å,熖FV›ÎÐ1*'d.˜e³?Ê…wù›€îÁ Ézeræ4óx²ºô69¿o¼¨ô¸¬×O¹úüžC?Õ(KçMg'=^Í®Ä2-¿Ž}ÿ€ÏQ|‰rY¤ºCkÏ6ŸT#Š^ +çí šxÏÁ“èÂzˆÞ(fMv$T/]›/2+ÞvJ¯¾d1Ólûög ²EÄhqMˆHn{º7)§”K±ìD+¬&ýTï2èa›çƒø1e"‘ý(«.Þ¥%«º¡“7Tß´~¤7LÅ|”9èw( µ[½X†ùÉzäø-­Î+@77HöÎò÷Î$(° ʲqJtœ¼Aj<¿”©kiÊÑðÓ„f-ÍþvvXä6ˆÚº¬å¤‘}ÖÔä#‚”¯H‰o‡Ýo\åÓÙ 2ÿ«¢¾ÎÄ R'»ZúŸû“ºµÌ©›7¬¢À¶£\¤úG4~¿v®2Š rبžěΟd5Úìî+ë^®=0±î#ôÁ®Šv!Ç12<‰'Ã>ƒÓt´b}@¾çÑŽ“mÑê×öÇ9î¡ OÛƒó¬Î‰/-Ù™œ ÿ\2Tá¢z%7=¿ö/*X%¹ô+Wý¤Í±Jcߜ܄¿—Ó§ß=!aœ»oCû%A‚ÑÓœto·”ÞÆ Ë Gÿ+ç5Eýn+'‹-eâ!ÖTÑâ¡Ò”C߇-§ÚÈ0odÔr +NQOäîmŠ‹ùÕ®œ]¬Zô)‰´; .°…ÖÛe²)ÿÃÂÉWܪ76ñÛŶV+”Õ_5qŠù£¦*(y,M‘üÊîT +†é´áä÷ѼíÿÞ‰"T¢§7 |ÿ‰ˆÜpTš9‚Àäú8µÃÎœÛXÆõ³Úß•šv¸~ÛØýCÚ~Ø90±ë|À2ê›Jú·ìS$··R,$¸–Éjå`õÏ@=lJl7p!la_“cÆËÎ-ÿ¬ñ§?JñàoX⳶ßÅx´¹¿Ö @Ï+þ“¹81–“Úü@–e^a'mº½(sRpHµIòˆ[`öUÍjVV³&îhÒ*—0ÕÄTNÏc®&’Mññ-s=¾ðsUàÂ3>âù467ÊMܸZˆÖ Þ5—ò’¨E¹¼·ÄÏzýBÿð秓ÎwÜïS¾¯®G©ÒÙ=õÄnÈdtòuÞ&¡4õó!{îÒ«¨ûäx(~(6¿fðXW".¸÷+ijØL|Ùƶ2­z -'Ñq¥¬§R-tŒÀI~ÞàÖ“å­åàpÇF"’¤úWƒBˆÌ‹‡ 0AùÓFh›^Qìjµî´•ø Zâìuÿ$ƒ–U<ÉÉÛ©ˆÜ”¡4à cW¡²²­Ipq¾pt.‹¸)p´Ö¥äøú±¤cxÜ š‚V“>ÇS3qjQÓÅÏ׊ õû™ÃÀUô:—î‘ÎOÍr¯ã°[v•žÅò[8ÑÒ—ñûVID\ÅQN¹¼:ïÕqÊ;Æ !Ô÷S¹F@Éo#© Ðôb½î—MÔ[S&r¸8[õÐÓœà=oE’êGî‡H(ÛÊïЇ¼hœ~ÎÜÈ–ûiÓ3H÷úöÔ÷dròi’ÖªØd–'l‘¡‘Zxò[l·!§Ñ$º2IU&%Š¿š[ñï3²ëCwe±ý“z|õ¾¥•¹ðŸˆ‰!m„ÏlŒ º@zÅ[u  ºªh}$KP"/ŽWGY¸x®2)/¶îü¶ì†ñ྆¯¶ë'«—èÓœ(P߉½Xß=aäD ½­(L˜.ªY³âgßx,Œe³d´ÕÆ2u»è[T÷yÂ-©—Ūv¼2 SŒ®vxä©à_‹'ó¼‰\Ÿ]Lçy–„5=^#ñ5¬¿àâ +;À”ZA9²þý i*“‚9µá TðVwbžÌœWTXÈ^>Dù)ŠV^Ueèç?v¨UTÊmïQAj àšõBJøηTjŒýYî.7ø6#°šxð¼ÉhlÐ"fª "òR èä‚{‡wŠ¿ä#B»:úkà9]DØÐ\ˆÕ®ÿy„†ÎÑÙKNåhP­m΃’HCÈ“DÕ…Ø+ŸQi$ôµÏ7±+J-µ 1ô€u]îèetôeeñVÚwŠd6m uÃçâÊ8ûÀ”¦Ê vž)>)iOÛA%ÖÄ­¼¼Ø~v\„ŽÞÿ (·T.TgÏEsŨ»åÐÑÒ÷hÙ'*;àx}=™F– 3½/ƒ\Œ}æŽ@åä?´„CüçdU{Å vÄE#Œm ŽÀ‡cBŒ3?IYL˜Yˆ\iÓŸ4'˜ûÆÄ}ÛÉe×89•U)%ù8¦ü~Í~«6D=Ìwk’7fº…ÞH— æí?K5zR'ÜÉ@µ};ê@B¼a Þ*}^wùÛ3Ñ#r·gžSŒ…7—’§Úö¦\]׬øųä:ž?ö½ÝF‡Á¼aH77ñòŸË¦…üéT:ò!Œº±½ã>¡ˆc©lÍãED•ŒpÑÖÝ$‚YO +¡ºlŽÌât‘nÀ_Ýv“ÒÃ8%ä +{710A·À]4éÈî_}ÝEÔVjŒ&Ó³tˆ 9é.unæø,PÒ›i:Š´^ʵÑ…#ë3 ËÎ(qß2–çÛ”æçˆo®Ê”cÙ=±± +1êÛ¥Å÷ ñ +î(—ph nAU‡ý,`q5a^Y¬¯²Hdÿ±°œäà¬÷Í»ÕÞLÌ]´«`Ȩ ++#ìV…Á‹^Ü$`2å§o4M©š/%Åhâr1f\" VÞ„ &뉸-/ÉAó@3-°å Dz›ç+űjgêpæBå×îý=iIдamú¡§£) 4¥~§ÕÚ +.è\ÛqËZRŒŽ†‰#p×Î6zŒüÆ +|cϯú—qwôÑ’ 9r™8N¾¹}()µ#•­Ÿ—ËËoÔEdDÜJCfæ|a%y1K(áúD³%°ÙGÚ{Ð%w!¥K)8†Œ2{L΄Ķ„ì‰ÜbB¡@Ì9ömr¹äm¼êøWDžiÑXAÈ¡f +endstream endobj 244 0 obj<> endobj 245 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 246 0 obj<>stream +…\ž–Bá-ÛŸÛ`„zÁÛ„%õš¤n7¾þ¤£Œ=µµÃñÑ 5Gyêž`Mœnß)g&Ï•CÖŠPs|¹ôÖw·bi&¤’ïF×höÏvsd™Â÷ŒÃ,?4&ÔÜÙ0±!Ì!˯+˹¯Ÿþøç^®ñœ7Úþ7#Z7rh¡¥¹³Í/E‹®º¦÷Ï Í™î’_œ°®´ÌzN„Dǃ¿úŠÉÅ ´nÞTŸrN ñI×6ñà9hüŸ!í¦S»*oÓI.MXctãt !0‹ìM22x‚ÙE¥O$è—Æ*2+vp wz¿ÿ³?oŸ©‘±!íy3·È"„güÒZ¬_Ú}›…üq ’ÚÝíxáF¶ãGàňCÈj¸WÓúUÞ»£šÚ³”4Y(—M‚ñ3’°ÆäA°€øÓ´Zî°Î¸ÂâA1X gÆG +Ëî‘UWN¤ØÇ*ž7Z½¤ä†YÊvŒª¥ôzÜë€5þ÷GèJ+P¨u^Ï4vLÙ¨À`‰Ý\µ9Žtæ„|N;§„…KÁf m.$YVÒýÛk…SØkØ>«Vw~Q@ž‹Ú´ø6 ¿pÁT$1©ÊPj¨ÝBD˜ó­ˆmØ,1§ ÜˆÀg‹6N_œë(ßÔw–œ–P\ Å5Ö>(<ƒjlêú¹n6½Ó@l}Ù‰L»¼0ô›|0ZDRDß—Z,‰(Q¾¬¬–ꂼOÌ|6§ ç íœäÌ2ÕÆhR8t–<¤r¥K bÁA!‚ä©¢.ëÀOƒ5aä kpßÏžA‹\¦¯fÔƒrØŒo.Dœƒˆˆ]» `¿=ì[ PÌZ& +ý¨þ󲟗-Bº‘« x-/@F%‡­o|s®©-Ñ9[M3ÐC³OÿŸb"תL¼©( ?¯…ˆ‹«…rlçÞ†çV`âoPðgø[C2jIŠý¹]ß;O׎رÜʈ¾ÌúOIó¯1ðókÖuøD €ÓWÚþwš¨0z@ÙoþŒu ·N†1óœÖš_܈uöVƒV±¸ÂÈÕäI¸ù |ÕFö'Ý_Ö2h†Xj¸! 4Ì™¸v0’~¢¶I`²ÅòçõE¢ÒŠM¨{4NtÙÏ:ëä24’c )óm¥eýêØõj³`øú*;YD;–ÁSÕïÂl²ÑKt§w?iåÑP5½ë¼i~æäÃ`Ï„û×Ǫ]¶çq¦Húߨùekî,§¹ýÑü¥àðà“þ€.Ö=žS·}?õDí,‰?£Û¨ Ë);çÂxr?ì=ôµŸ }JUÝŠÑ·”ø5¡2Ý£´ÿ|…2,&Âåy¨Ü+¡ì'sDp˜¿äð[it\Òc[<èX‰Ì„€ SdøÄþ¸ŸÑ¶7†H,f¶–í¬°ráâìáPæ ƧIÝ:!¼X‘g¬Ö˜9˜CdkÐpû9¬K7ý;ì•Ž²ÒdƽqÝْƲ/&í¥ŽÍoh–¿ú”§Ö¹:¤û +¯u©C†×ä¸Ú?³ñw©zòÙÐñ™7áâ}•ýsžž:ë‰å¥¬.:hvMöÈc¿ö‘Ø'ü†›Š¡±øT/¨WJºÔ• ,Ça8Š½‰Æ=9=…™íŒ^çÝŠ˜µJmaBœFæõÛº¦ï£ $ÌÛÄÚ`øÙ‚5z0p«!ý=~ºVL ùLýà‰2èF< H釱,½ò1_%Êt^™®»£n×›DQ`oÛ’Aãîð‡þàÓððê6Ìw«ÈùÃÄíEñ=ÁãKjæ^µxX—·/(t­}Bùå[…œ\Ð>fœ¯‹,Žu?ª0žèo佧éùø +˜#\ÿQÞ·ãóó]jLDØ3ZJN")‹ÙöBLiq+ˆØCÔp^_Jkt!'a½ø-_ ×ñ¨zx¹i*Ã7ƒÚvßy]Ùëv[U÷âôè"#™9±ItÕ3Œg4B¨8É<éò}É%¡f ¶dZäì·‘ßóä±ý +?Žéß›ìôló`â|{̳٥©¹?Ãa~,¿´ +T(¤GB8y2 îœë[¬å¶&å¡ãª¿£…´M)äÛÜT +Õ–I¹ˆÁáFбuÁa’ÖÛ™V‘ì³½ýˉo•ÓÄ’ÌƲÌfD®í™åa¡üCO tÅ/|*Ò’9Ó»W§ŒKŸ.8Ùôü2†¶;? s”.°I‚…Ñ¢“»4®O«\pÏòÊÔÎxû–£+Qz-¨¬—$™š£F³‰N, Vòš"æ©ÿ3É\v ‹2ÿ݆¸Ù£åâ¾D±QÜíS©$½V ú%ê–m½,'¶@2öàŒ_6¦&â»ëÙ*ì8Q‡‹³—Ž:÷1²%‘1`—o:ÇöûâEp¾ƒ/.ÂÎ5~ŒeI[×Y.|ßSËu©¯Œ¡áŽúîbÿA}}? ^vœ¸’硾Á×Ô7+é7àõȪö#x>d¤¤±W¸‚îØwÑϲÅq±¤±bt\Kak{yp4ñ¢·‹­Cã§z}^k ÌÌï{Ä‘Q ÓÜ¢GÓ‚Qà\>ž‡-v2æññe¶º÷› (žèº\ÿ¤ƒ_&¸ì U˜ü?'ªoÒÊÛ5)ãíp¡ÌH•]œÆ28MFC&ºÛêuòuPkzþ7Um½òMlø¤†< ‰òqP7la Æ ´ïf!ž$±¶â£„âªÝ6Ájr"ãvéXd +0Ã1E!@Ùá tT ºúÆ}ý•ÊEÆ”z ,íKµ(ÌXŒ©ŒÅªSÊ­+ª¸ç„äû̘ñퟹ!ä—>%"Ó;/0mpð¯©c3ùMñy×–bo•aËS§o‰csÿø® .6Zý.N +›m$-Wé¥á¾vl[’t‰¶ igÄ=IU$Ž·‹¸PùHþÜsÀ³VÆ•v‚'H7žòJ~6ÞM¯‘1À¡OÌ ÈfâÊ_…\©<êww|ñ<±±8Ï.…»6æ„ ô0±ihñ/›…úý!7`‚Hã¶}5‹¥ÕxͳÊ^µgoý÷êw綿øV¾sUèAÔ9{§Œtªn¥è´ÑËõràŸ¯`Û¼÷ÉC +ä„ ‹m(J.·'•tܲbJá³ÚTXQä4PÜtÂ6ó¨gIX¾:ç»±Gq²XYóî pbîY:‚âx„™XèåŒ 1[Ÿ¡`´~J[cyeP‚ý»~/;Ì:J ¸¸åÃ8˜6Ë2§¥†Ë„ +º9¥ýÁ–ô<ë²S,) +, ÄÄúö4øÿDXƒ£ñ‰Š›Ã&q—¯ˆ:ÝÇx=cÁ`Åp2Ð(‰qä\Àƒ7Õs¸U¹¿x·¢.«3âÔ‰F@Ô^b°v^Àr½¹c°K0¾ÒUïM2#mT’«› ‰°à:ôx ò.â‡Dð=”Q ÙÍU +Üës´þkÎ}B^~õ,y\Y<'¹fð€7¿†7vÁ—Îj„D­s1 Ið 3GüçGÊ€¥ ;vÈsà0käz +â‘];>T˜Wá'”x^3D Ç1=6ª_K¯yâC\…~L½Õõ + a{vÞæ ‘>á9Á4^œÆÕóGͳӒvã–¸»Ï’"§Ø^ž.ó}åó—%ý „ä”w8Ëi¦¨€ðEäðßyXY÷Þj«„‘ÚÈò|Æš=¸žl÷Sòz+âu]Uê¿ÊÀmO7#½¤†e†U«P^hÙÌ#ÔœÂÌ.|¬7éëÏÊ-žÁ¦à%Zù{?8}nGhjJb¯xÖÒ9ö1jò:ÎýB6?q,Οä¸H\.É:øŒ²1:–’C°°4Šah<®ÃôPz¬z ð+Ä(3W`9ë,ûÚïÑ&³?ÇEr“¼V† æÛW«C +Nã+ $i)¤šùmb½,xüôTÒÐÃ4Ï×t'í›ðч‹˜»d‡ ¡”¥ñ'ñgñlÑ»ñAtÇŽ·Ô_íƒ D{ˆÊh©º©‰9§æñ[pò¤³ýKŒ–IJ ÷žûñ-p)ØãSâvÌ[œ[TUœÇ‰O¤±- £;‰Í¸}XÝèYåÉ â“aÁÖÆþê#Ž4ÎÔnûlØÜ©“@©5Žy1ï>ªÍ8ç8öÁè3¤žð„îãü<âÕ»!€°ÍÒò†‘LÂa{¹— +íµátÍÜ÷_P«öb/%ÌÖ&R§í é¼ÁËæ/zOjí4øæÓÕ²êÁ”eÁ{#‰0ðÐÁ¯6ôª*€ϳ JG9ÒõMéûÏÌ­$¶ÇscgNÎ8}ÌùœM,§”ѯJ¼×s\¡õ +œ ½ÇüUV•”‚ð\ýkÛq&Pkj¯¦½hƒ‰—bjÃMq +Ðù¸]‰Y }ù¸<ôq‡°ê÷¸èG6¢çÎã5¾…`M™Ü}UÔuŒ47`.mk' 9^gýúe’È((›Ü¿$¯(©Ž×¹U~|¹+ÞuXØ 33G 3~m¯æ»¤(î“„S¡)U!c¿r♦t¹sçeÓ +endstream endobj 247 0 obj<> endobj 248 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 249 0 obj<>stream +R2›«9÷AI‰s Wy4Iù}ð±Ì¬ÏŸ4ð—Jþ~¾Ly­òš²{–}ƒ*^¹ìg» q^2E]uíâC ¤!É'”ÜpbkÊç>;øºÀÅ@x…ð½9t4µÉ'Ún²´ÍnLSv®•r&Ï©z†·Iºò÷A{š>:¹–œakÞô3¾%o¬Z201é¢e¡gG9`­œ/´TQgÿ$—BIm182¶éÏ!Ÿè}˜:E³˜!c0«î°D¦§ .û¼–³\ð°*¢ÞåVÝH7¹î þªß¼Ôã·wÇ5L˜æÚ^oÐ;çr'Éu¼x¯QK',{¼@6j-PÆÂ6÷X¸;,á>B#WQû{ÊGº*˜ûY@àHTm§Ó’Ç3³øo~‰ÊzNð÷ªe>¿+øÀΡ*`)(f“Ññ£…7Ö[*„ôÆúÐEUªÙ§¦ó=¢o–A4KncMÕ,› +ÁúVŠtc6³’˜¹ˆ8l –QòÝú¦êšÑòÓ2üÀÝæ½°¤7‹Û)§¤üÞp¬ÕoÐÇ&kBbæ.Ëæ³îö#æMÂ1c1ßÑÇkû÷!`ˆvpwnÈȶx$1D õãNî¹$ ê§(wÿí_¬b”‚¥cqâ RR’`’„ž„åyífW3 ç|Vè`€‹0‰´ 4k¾72áÞŠÝ +·D ÔŸéSrGlƒÑ…l0^Ô·QÓÛbÝâ×ëx _Æåv™`Ðä%Ò3‚*Ô¤µ³d—BxŸÞûïP3ÅÊßÏ>‡idÔ¬_N_úŵóa–YMR':)Þªß$;Djá!‚ÔgV‘Šï¿^˜|¡ºè…¶Œý‚CüGÑÛª¥†KO€+1k«é@£#òÏ… + ©U…Â[@6pXÒœÀà‚ÐûÙ¶éBëòŽYHzøTß‘ê;ŒÛr +€pž}›ÀZõ 0íY}e©<š]›(´ P &€mwAƒÞÃkö¶o¶pHPê”Í5ž'O¿y%0”à ‰)]ŒLöUÿ•º¢z hçÕ€Ú]q”K¾ô*óKƸYu'#Ž~âàìó_HJ¸Î=¨?v„*D],Šáë5Hñ rå\á_8¨áÚüÄýÉÀv}*šãÞÇÞ—1.Zšym©¿ô•i ržvþÄ¡Ü´†òLP&•ƒ‰Š;gPc§¯\i¤ÏÞ2F÷•G$B³í!ŠòÉuxV}û›¹Å˜•™ûQ˜˜X8|},ÿ¥å7zG|š3r,²ÿ“žÅùÚðêiÁ»\µü`ñ”à‡‹ðnθ¡4diÛÂpÔrÌ;ÁºìþC)´F»ÈZ ʼn¢Œ¨±­…˜|çƒN¸×9eÖ¼ÝÀ13«tĸ'S$Y=ršÃÞhšûuã]<ÀͲ>ìÒJ‰`ÏàJe€îŸO²W"ÎrcŠkß}™u.xœ%êŒzïKŒTCɯoqèÛüèÅhÐBP©ßÖŒÀåþr¾LÓ(jËέjÔLüÔh ¯žÿe®fÕ ZâÓ¹Þ°Ž] ž]UxeáR3 É +ô8ÈÐò­e.6 +*÷P)Œ‚YZ؃>‘‰v@¾(²~H:1™:âO/j™"êýˆ¶çü8Ô¶¦ß–¶*„º(“E}ÊXzs±ù‰¥4Ë÷¼áv˜t•v–Ä¢Gn +ÂnØ+ÍÄÊnå]Ýo®ß °ÚÐÉÔûi0îÆ™3#È«D‡ªgÜãÁ41wà¥ú†[B÷Ïç“6ÏæËâÛb⥵þ#F çÖj乜tzV¬™ããb¤n?iÕ4äÌçƒ=^ÒŒÊÅÈ.™õ|t$QsH•–O¸C¼Þ;<4BFíe ŸÓIL JÜ“ê"4·€òËTé Ípñþ«p ÙÉíõ3›NtdF¡RÊ¥êY¬ëÞk%ž~_t9h‹ßÑžº¿œ¹&€aó gG›!þ ä}%=Ë7GyÛ·¶@ƒ!1Æ·×Q`‚ÊM6êýý«@s¯×N@Øí #3÷“ˆÛWâÞ™ÕþÙ)z’Y]gÜåºI“VC9]K$­qª¯,ï§ÿÃKþ/—çªE‰‡›nÅÞ Õì7®LÒ)…¥üè½mCW•%!øèð¢} J„v#ÛL‰@Tg4ª ËE¯x1Ù†²æÇJ>‚ûTZü¸ž(Y3’SºØI½)ØnX­»mOû ˜êU8.¹ÍúÉ¥Š×oŽJ!¸¬ß¯r’Ÿb‚[a¯0z<)´vY¨s\J<½ šu«·þ`ÔðE€„½sÄõù¸ð¬uEÄHö ”gˆ8Ö9‡ àcz§avÝÈÙð*J=æÔê¾Ø7qÉÿ#žT¿0uœdŒu8T£,+Ý}¯£Œ§)!Ü+VÛë9­}ã„t@®ü4X*ñó*¸Áw‹ÕË? +!a{L‡|§¼i¬ÍÛánÔ…©DRa+¹…ÉO]V±~nE5m3)¦U+÷îT¥&P*õjvKë½ I®eeã«H4@ÁIÛ¶ëûQ!ßG£ qÉbßlÓnÄ8žäé;Ç}Fò·’r<Å2¥5ꃂRP…(“d¡ÍS„©è6úp Çôþ:)G@ÎIô“Œ©ñkçùkܳF¥w _ÑXB¡áë7xyï% SÑ6³ådýZlT¸…En.ªürk«6o­…GÓh¼ûÕ(ûÔ¿¿ »ËÅÀU&k¢}Rs4IŽ¬²ëw˜VŠÀ¬uð‚°®àŽPžÉEOÃ7Œ§¾ÐŒ.d4ËON0T.Õ’z׉ó™Õ)Äàì]A_;¿±‰ævhÃpÅÔpÆÝÖ‰áQfpä|, 8FSºØÛå€VÙ dðuË€ âãÛ}œ;—xÿ$'Œ¼_‰<¨Ý÷-´=½¿ ¦™£É!g´n¿¬÷sƒSwr0åý*·Ú%¥äNÀGwDoÜua$±?¯*kÁÍít3¡b¹ä¶Ú ®¼ÖØ©ó{é:ØZÌéj ä6 w/t8; ò¯¨×={©^Àh,ŸŸž›ÏNõ7“'Yeñè#ôŸŽdyþos×Ú¨yrzõ'„ñ†SŽ§<¶T˜ÓvèãJZ7¥À'²A»åC.×þ0Ùð÷@¦UY!us&#xeÑF +=;«ö1Íèz/Z8ìóÝrxRQÀÂÛ]…o¤~Ö£ö’×GdûUÃõÚn0ð5aÉ3(a\ëŽÃJ&—å&„ ÿáµiY&wï4?¬¸T#|í”sî€ÞJ ·3# Ïêèc, ÃÛÏ'Ùbx²"fŠTou›É©àóˆ”l|Agj‘—æÞŸðiÛŒ’ÉŸT°Ï€‡ÓŵêòPïÑž ¤ 0ëgúÈ@± üæùï0Fz¿¢|à$/Äx׋’ZÎës8”ÂùŠøËåF†Y#8ñºt}Æ­ÜX0Ñðè]¼Bž‹?×ð•p¯î|¢Ê%sñ#D÷/'LL¦ßɯƖ’I&A|ÍæPeìde …êÒtÀyQΧí †/LýûuJË÷sæðñÒ(a@±œÇV0U€WX„!Kž°îGÌÖaG†'D"B)§©\ŽªR•5°>‘ãF¨ªmF–AܲŠkxÃù÷ë™4½> ˜gÄؤ“HÉÉM̃–UÈ"nXÚYzh:r²‰ü} +ÉŒ¾$÷1myEõÓJwJ²•„l,¶üœFÖÇY è,‹CS ¤=Jûê³ÔkÇ0Ý€O§‹Î<#ê©Ë©ÎàX]…ÊC¢ÕQÉ×:p +léi\UñšCôŽ¶Ë𑲰[* <‡Ó56öƒµ¹xêKv’`M¥³H”ÝÄÍõâßÆ<Ñ-ì1‚—áºÆíß;+çÜ·¬«Ö#VÔlt÷øšQðpšôèbÝB¶ùíÞQŠô~Å­-s#‹0¦6¼› gC”¦<ž=‰¡>ÁŒ¿nXˆí•€}þ-8lbþÄ”*×kR÷Gɳ¯Lr%«\ü»IU_qýàMTâ³€†D}çÉ Cqô>,Ceäqˆ 6ôƒ¾÷¬ãaÖ’)ˆ:G—#ŽÓulZÑ»Ø@ +’:¬¥õ#¤‡*)…ò摈2yß Œ‰±ÄVg Ð#Š:a%ÞN!@Šo‰/aœ^ Ú"Ìù+šö"L^\ï íädt:äjÌ£YÙü.tö5ÙpÅ0rÍc—n8è‰#ƒ4ˆ“áXÃóOWÚ"^*º¶dÇÓKç® CÇ$`ô~ïjûúuÅÒ'x‚ Â;s3d¤¿YßÉL‡”]Çóë È“Ïj²øA5†=‡{Ëå\gn¹ä«öQ’ã9âÆPýƒ) â•^Âß-%¥EÆŸ=I†²¬1@Ú¯Z@p!9mY‹oŽŸ Y‹fNù£/:›xoªû;ñlÉ*Ê!*¦rCõ©Žˆ1Û~º+¢ÞÁÐdi_Ò> endobj 251 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 252 0 obj<>stream +Ldض¯ +_}‰or^Sõ«0òêÔȨßY/”"íªöq +v°|l,}Æ"k§ z²%à;#5¡ìßå¨'|vp ít»ÍŠÈJ˜(é¼$ŽKìÝè™FcuìH¥·“«rÌö¿|°?×æeXùpb‡!3Ñ'ÞóÆ]´eV=³7 ø %0yùHf‡[ÊQƒµ6G£´õËÕôe&¶{ÃH6q9Ã’>‰››Q~ž±Ú‡Õ3W:Õ?ñ ùÇpœAPIã3vG~'0ÑÕCmùœŒÑýK“€ãS ÄgÔ6®"za=Ö^/…}Á°8—+­/§xʾ(­7ŠÎª÷â9Œé¡&bæ¥ã3a‹6põg5ye|Û‚›æ>¬ô`xKP¯ëèÁ³[íu~ù»…f ŒR¯›Òs)ĤÃÙå¦I¢z›†t|–hi—;fî÷&ÞÊEU@šN·ÃI÷K«Ißýƒ$*2¹¼ÿôOB |{:N&ª£i€‹¤uY øº™ãŸ¯j¬âeu ²Ï+k}¾¥} ÄíhkÑn0©°x”Hȸ"ºïåzEÞ»Þe¬L÷—¡UrkþÊ¥E¬Cà€½bB\1 ËLI`ÐVS*g)“áÕ&âTR½y|Ñ6Æ6ž,˜«1KR—VZGöX´’7ç6QÛ3 €Ý·0óAxU#­`«°=­§p—#Ì×z ·ºðG($5†@‘…¾¬ak𹾡­$ŠO?âNŸŸ&kšLìÊÇ(jóï?bþÙ³VkƒEÌn+ÍH +ÀÈpûçÑ_`ï¯ s¹]>>÷M2ów +#ó¿"¨Á„‘<Þ¦—>«`¸áŸöŒØOVôïß9g™ÔRC‰*º—¾R +Š=åÌåzÇø±#B²s¹æ%=Û¨±8ljý&?ªŽ†>{ìU9%M÷Ü Ùcø¦þI»¼?¥f—i¼¥(å/ X—[NAAY4‘¸ôyGÕdUW“–k5}£UIáúÉX°tßô¬ûexèR€ò¥ÄàB92B³V‡o¦…ÌÆÍ™†þd£HnŽ6"´º™˜ða…Å“O&'i°Út•ðÃöAL}wšq²ž¿¦!|%rñGv¿¡ýÖBb Ð: ©mÈ/ç_fâaÖÚ©t-‰ÓšŠŸÅ6¾²e¥îçÌ÷ä cÚ[‘ß À“ÐÊ¿"zPŸC«èŽÝ WDlã©ÇcYíß&ÏÍ¢íƒë•Acé®ünmnùSOÜ1À©9^/o¸›LãqÝ>ݾUêÝü·¼ØSI’ŸyN(6­ÓbúÔ·˜Çäœ5˜¹Æ]£ð¦—Ö ‹.‚Èz²Á‡–«V›‚á,-_kãÌ@šˆzʵLÝêÇt„¾‡,u) OOwb𥈮@Û–´ÿÜ}C[¢Ã– à5¥a÷>¼yÏE®="ë Œ3÷ü¾üò,l •ý‡ÜY}IŒ¾óšØëÐ[§¿†ÈÈ3ÄßÃZ|K ¨Ây6ˆN¯)ø¦8 ¥TGUb ²¿v¾ŒÕ8±ÆP7ñ5JJ`î(Eß|Vtw`s›ª} Q‹µûWVçcSkQ쪖2æ¢P·Ž ¡xÈ$´N`fJ8ø©^ãùÕ…³”[…@B‘E`é[ìJV3íз2IÀŽžº¯ØJ*%®¨CÅ(æMÍ*Õó&¯©÷(d©ÓÁÉáÎb!ûËÃP)+¨'Âc¸ z¢ž”ƒ.Ju +J6+¥±{ÆË7ýÞ[\ùUàp&EKƒ“5ëóþ}±·Ñð ÐXÿç–;5:>±dçDmCØ{Û‡ÓT¾eŠç¥„åSÊ@­Z©9í3mpNú\@¬µš×O ©þ5=\,Y£Zrsœã„>Ç„ƒäà¦ól½#²µ ¹ ËE·‰E ÞêV¸Ë3˜ɵԡ&úÿŽfF¢ä1c¸bnÏŪœº–D¬¢MA8J5öÖu +ñü +í=QÇö w0¨áÙ{>‰D'¤’*TÖ~³·ÖÊ~$羬),ÎF7Á©ò¸*Ûʤs0™#Ö×ìlòm1ërT» {袂ÚCêFXÅÏ6`ËW؈Ì{½(Ñý_glê¸÷ÀÝÁWÄáâ“€X¥§¨+ánŠ-]Éßœåzvƒ}šÖ…T Ý?‰[¬ó‹@k0q 3ya« ïNn Êvtê=ˆ."s*—úg ++¦È‡^¶´HNâȃɞ¯ÝTn^ó“µ”ÜC^&êÉ0ÓX™Pž#­ùª†sú¯ÈZ•0|<¡F¢ëP‰)ÐÑ°°V;µËYÏVÍ¢³‡â±¨ —YÏM“KžÃp¼Q¡7‘¥Sk¶‚¾ÎsÑ3lˆ3Ä#RÎðuò>ˆ÷û½ÔW¼¯å" 7¼G·g·õ8â8×”©)Rù‘ +KÝô-2p;Ø:ú|È“g÷ÌUU#×…ž¿ªÁÀf§¬”-Œæ×z¡GAe‚¢™Dó*»}Pð¸IJŸx½|üUW( yÿoQ\HUc •œÑÔ+tåÛcªÝl–¤hˆüŸqì ´9;”3¶ [,Kr¬6‘ ¾UOÁÍvùm¥¨ оFD–lP¾QÓ-‘T«$ÄiWH¢ôAl“C±Ù`ì2ÇèvR@5mv»ú2—”ê:C¾/À8ÅnÅg^4à–nŽÊÃóðÎÓzèBÍ¡L²Ö:ÒƒõzSg¢åßÏXb*‡á³±¹;ÿš]jró2•%öc”B‘Š88$á Ú¿Á>8Ì¿:Ë2oðä=ÕÎY AHØO5ú*íT ®íþgµå­£icÞÞÇÓóJð’©bn˜e0ê©Ét‡¹X©˜‹.¯f™‡Ã:žT¤ —ÌÅúXŒqÔeíÓ ÃšIÔùTrµógj“‹áÁýSëÁtH6[ò^"lcý©¤'„œ˜j÷w7÷ “à +“ßUŒkÌfšPŒiÈšêÁG YaS<õꃷ¦DR:àÉ ! +ônÛ¬­wÞÏNÓq!2CßÜ•»(‘.mN!Î\å²;üí€Û UbüÇÏL>“ÐŸ[AŒ't\tó»†é}Ùç‰û£ž‡„ U-“Û”-Õß³Tä£"FÅ}Émš,Á‡Wü•©Xêq‰IÿY³ýäÞa+ÿóíOÚ•§ˆh2êÈâXf´ ¼Cì_eÄH]'ÑÓc/Êÿ¹UO ™¬p@v³®/`_œÉ¡zÂ…$ÎO¨¡†$ì„æ¥Ætñ—ãveúêaZ·Ë¥­xòÂ0ÕÕµlntIk÷–ÿ¨ÕjØ=kÇɹ(ù´™êP±Ã—9À'*¸4)Ðà1…´ï("Ù³l;^zñaIçm³õ/lEèû0¿"·è2ÝRgñ¤P€q¦ˆsóÎi‚éiP|ÌPN')çÏ­¶.ÂP6ãéCq²ø7>iÕ‡v¨š›MºÎË hrùQ9gæ´[ 5èÕY~Fn^4w´¿e÷É#¥Êå}aäk N×úÝIý¨hx·³^ˆˆ81tºôBbcwAƒ½šT¢a¨_‘ î‘ !ƒ,@ùÄKKš‚-õHÝ9ìn].9«À¼Ô‡¬“|È#*…}èIšŠMí¸øe„ú|–øZ)Ç}®X¸É²¿”XîUÎÇŒiÙÂÌÌlüsâã•kÖŸñ¼ë:TYrÄ™\âûð—êSÍÆãwÔô+ Skd«L¤Æi˜ãŠmÃQ£÷Ž‡œâ4ßu\e<$AÖgÈŽþµ4r&ƒQ$“W–O„ü>.0[[]ç…Œ‚G‚õ¶É©¹1MÎðTJ‡–\ìH±ss££¯¬á9¥úÄjx¤ŸC•“¨¢ÈÔ‡±èÿ›õ1ÈðÓ$K"‡›—Û¶ƒFJyAB*8]úŒgl­4È9µÒúè{ßN\ ÷ÔA¦njçLߊzÓ@M×Ä“üº)BAL>ƒFù÷çy©ÂØx´¢ƒ¸ŒÈ̉eœ} Œ¨ÄþõȾ„v÷áìZÛ3*ô‹|d{ˆù'"E®pelÊCiµÖOiD·JU) +endstream endobj 253 0 obj<> endobj 254 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 255 0 obj<>stream +Ì yZ"mXð1Ž¶òö—5šc騈£|LÖiWž6jm¹ j²óç‡sêÂÓUÅd¬P¿3[ßj`\D–\ãk 1hè:Z!¶ãc.e˜¿`m·øv ]˜6¿µËQò€À<Ãah¨ÁN0Zó~óÿ×â÷þzÄ©ŽPå2Ni®Á!o¤ÎÄdáO“©°áê•œÁ™®Óê=øÛÕ=^CÐ[J³ˆã)¥KœÌÙÿ»ƒÛ%Õ¶Ù- ýŒ ûµßSµòÚ¦ 2×ÄXùyÑ¿ƒè²(߉²B’kÿ¯ï,¹*V|Ýê'¦`?LúóCJ‡Ï‡ÔÏ¿J“Ø? ‰¯3‘>ßy³·2àu·íNƒ>¬~äµá-™ÍÐSLêfª•`€ß)r9Å~s¾p/˜ÇPûMòu>WoTû¡«c­5`Žˆ0ÓGl}G{‚9…Ó€eX¦j$~ì.ÈõtZ +v>DRö.P¾µOÅ‚*C„H;ç$C¶H—L’FzöY»:ÉÍaˆ(V¦F¬Usp"M[ åkèš´8ÛŽ888<­|F”0HÉ€S÷'¢™~7l*»?˸hdÊ85ß~P€ÞÛ¡Ñ!oSÆNŸFUh{(TµTSÁË«-ýøHbw[Dt˜” ؾAöÆ¥ìÝ>ö¶È¥¯’`\<ö§„3=Í@?2“l'é—ƒ£Úƒ9S2d„²ž‰€{~"?fïŹw¤p…¤,MíÆõ¯Ò±®ôþ¦åèÏAëѺˆ§Í–s×ýÎ!¤Ïl¶åáçZÚƒ¼i´tä/¤Çw{^D€Š9¥sØÊÝ‘@­YËX¸ì¿ü0‡ŠñÄ!Ö—ñ.ªÇS66&†-®Z;„¨×Jx*Ø,$Ms*e4\tíb–I3-£‡›}=Þ€/õ8ᛀyâ}'¿ÊË> {yB¶ƒ]GÆ_„õX±ÁTÿ…͆Ã2 +âãënÜGž Œ£ª=f™ví:¶ ¬—1(é1D2©p:ýo²'œÃ&C•‰!la·v†XF>ØKèÉÌ7*R¾ý7´§…½|}ƒ—ŽÏŒ‚&´# ³kú³¥áù~¨¸ÑÆ0Bóö¼MT%ôÝ@bÇŸs-gPõV +@7=mÓ¦ÙÎÁ‡IT’Üü7FìÕB_swˆ}ÍÌ­1®âî`®›áÃ} mù÷QàÕËÂj§:}€NßÑb¿ùH5½íGÓyµB¾6TŒXñ‹¥ëÏÐd3Æ"ÙÅò´‘8Œ¬ÑòŽÕß$zJ“Õ ÛJë×^ <Œ3ü ëÜÑ(Ü=š¹¡éSWfuÔ­$ï’ÖÀyð®Ê¹Üÿ˜ÓÿÜ]"&¤mSª¦ÊÉkÖuP¾î¬ÇEI_yò¾ƒY]+Ø9tc. é6ØÉT&Øøå;5RQ!a3%ÔrËGË«Ïg5°¼U‘™šKÝ{Í")|'wóc¼ÚÞ››.ŒP$%_Àœ–…7Ž ÷ñ]\õ4¶LߪwG°£2>Ðw·3Í?ÅÊý1~Š·{Má xm-@·à~ ªQð[o4U +øžRsç)VáTûh´¼aƒ,XÌZî7Æ]öœPËÄQÆ©”ô»w€2J`U›†yˆ}¾0î:Yfo[ÈÂ=š{îñraý^å +Zk>H§`NW_¥ì•Ú’á qSc&e¹EÿyÔ*óájhMÛäׇß;R”°‹å‹Õÿòɯ×ÎrW—ˆs×Ó¹`îq—*%â(T{ônrz7K)$&r ܹU)P¤·0N^dcd°‡{":œ?EµÈè‹”Ù*çx)<˜Þ|/Øé«r¦¥}w ‹5¸ÝYVH{›3Þ3OÔ½•WŽW  ªî̈™'Œ¶mJY¡Õd_0—D±Ýɪ½fÞ¨¡¥ ©#N¢žnjÄaQÕ‡`¨S®-Xl¥,kS(xI–ã(Û-¤«+£ võs/Aw7¼GêB ÁSøÿ#d½ÑʾÔ[åo¶8òðÆúÆ©ðù~:©ªL1•üϹğ¬W‰¿äcýh» ·P?ÿ>G#š\ÖÚ2šŒcXô¥n„$#g)s³OÃ7"ТMú¶'½.(¼ê¹@öèrEj¡ °émòªV ¯Þbký_)¢c¼¼cRµ\oNç“~¼»°»çü‹ìùý4•¥ €¬+2ò¬|tªýHpGÞtzE2->&˜hˬè3©éYsˆ±¯°¬sá:«b g™XÚXo^:îÛ‹ ÜLGH¼XRÆ¿ü>D`®£!2=¾áòÑ+͸;’ehœºä`ßN´Æ>Òðfâ´Ödf£ø%á=BÆràµVÚF—Ž¨K<Üm$À'ëç…)HXÜ Ù‘]š8VA¤Ü{æÈ6çÃ@®~ 5Qùžheý=¼më峬Ðm:ïgîD@Lùz³JL´· \–íãgiJ·‰’ßé3#-4ÒpvÅ!Ä«rÅÔ¯U}>lL…’ÊŸi+÷Y…;Fë"—‡\ó{ 嶈öÒdjÈéÃl»8%É$,–#¬’Ôþ$”-ÈÝè™tä ÂmÝ81¼^×éöÿûAûîpU>dD¸È궄yÎ^Šy<çð*]FïåBŒ5Ý£õ/~ú + —FU²å±ýõÍ=s +<À1n’#hÓË„f;íç 7/îjt†XØ9„îg'+ÜqSñ Õ€V9¾Ú-ŸúÐi‚Åw"#]î‰Z¿ ™å×­rÜW².ºzZÞJzÇdòíW%"bö5{¹y˜Ýv°NýíÞ†oX?aú4FiÄËy‘×æ^k%†žt)¼„JÞWÎ%¶WRòx%¾’¡à¥s9¾¿J±z?6í0Å£ G‚tÿFeñlk¥LÚ@dtÑmyÅ-µmy¸72R?À¡ON.-RV·Z=Û×7…úêX50{i¬+ù`Z`67ÐÍ÷OÅJ»:Ià£w ¸Úø¾0Áôqó2Þ½{3ŒÔ çjBÛØ"&ÈsjÕå½ùŠÞÆ¿Çû „“wLWˆÃ °Fý$Èy¨'Ó6‚ÖmfÙ˳³BÆš2pr|üؽ³ë>^Ý‚z?7ɪÔá)jÅÓr7DÐ|„°(*ѺÀ—ʇ‹ÌÊĪd‰WÜŸn1´¦ÒËFÛ_“P+V*¡v‘œ±ë™ÝXêqÉ”tWl9‚4jâA@|ë/Rìè±TvOXßT¢@RÊÉshwÖÐïaãñUwDJçuŸØL¿D0Õ—²/cÇÚCT!ÈϺôŽ/³ïBçwŠ4¡&€šj~‹ÀL)ƒ®ižG§ùWy®sºeRð~—íhNÒ©òÊi"Òtÿ>âvÀȸDÖó[<5!ö¦®åû•ê ñ&?Ž¹¬SÀm[La´AªnPy2¸/ÏyŽBn+] !C— PúU 0.ñr«BCì™GO>§?EÀÆ€£Î yŠ+àž…ºî©“ eŽ&šÝ«ÉíÌm•TI…3òjªß†“šX·û(†B´C-a÷¾…Í6Ð:5ae„9ðø¼}Õ»ùã]æ4RéH„òXv2ÊG¿^!? G/#u§ÉO·- +›7]”nV‘õˆQ.ÊÛ`”ÖÜA©FŽÁ³€õí|F$l(ÙÍló¯æþ©}XRº¯ZŠÝWºR¯è1­jãU#¸4¢§wË(¸’oée6Z)ú·9îÊgÔóµÎ«6!ñoðvŠš¤ý‹Ê!Š12Chô]ïß ]ä.4ä­–Ÿ.†{ßxÁ¿ÐåTžŽn>¿Š°¥bÛ’!¯~ÈiËúžÐ“MYîwz©ÐÚ`ä’!î0À 0ãÁ¡égª UŸ o’L9…Ò Ï°\u|ŒiJ‘kt›ët:21Ç+³èýRÊZ¬ï´M‹$/ªøCŸ¥•Ò¼ü\òa‡DnuC·“Dÿ€ä:3/d€) I/;€Oßq¸*Vq±ic¶ƒõK!øa6½·€Çߧ¦CÈÝß®¥Pzƒ75©cáÜ´Xr¶ã'lg_¼Âz¯8VÛ]ÏSŠË›ëèNô?Q&C¼Õ{9Ðä#`¢Y”+¯úGäþüW YÞ þŸ=ǸôÖ01×ä“KUj=À|ªiw¶Ð­Ê-îŽpFBËV€6•töÙá4Ba` åßÊe–ÌÙøô´U Z½L´Ö|õ÷«)ö{ã3FÙ Îm/‡š-{uÑŒu‚{ ñü­‘=$Ý¡ið#˵ bÒ昻ÎmÈá>° œâ*¡ö‡·Yþ8DK7qrkì0uã•evšÐ_¯þjZËèÁ(÷¨RŠXM}Šy"JÉMÔ•=2•”°]εý³˜x¾±J¿l© °h‰ËpCu”‰ÎP°*ýâ>5pÓT/~ÅVæ—lÌŽ]† ²×ïÆgF’Ò*ÜÚ.Û¥IÞm±8žþt€¸Ä‹¼©àL”~Ù¶õÿ™Ï`~e…óŒ>Ç4åöºÛz`Á +2³@ûsEöÙëUÖ¾žnÿí­-µ1ÔvÁñ݇ïpyôNgÑ7/ãï©Š!çv>㽓™+…<<κÃÆnï,¾fB jù¢‹h‚pãÑüÆÞõhÔ{±w”DÍÉ»3 +ÝË{á{ë¥hEòÚbÌb—B9¦‡×Ü  åè· G¤[ò›¥”‰[#üò»1s~•Î_gÑ,°G0I'¿][hiK6µŠA£J±]³H»ãðub5LÞ?ˆ%½¡ì͈müuJ ¢í²¨ jiß{ð1£ë9}÷㪠7U‹µlðYžåMdÜ0v!¦‘„#" û–ka¡D¹%$:?u—“b(>Wêø^–ÌBUú‡?: +Ȩ +×bX§ÿ9†LÖÁªáXì£}0|7VšS{2+óÜ9°˜x½\ŠM}¢MùDk¯¶H¬ûÙQö|ZÞp@Gç°Š¸zÞ/8 :_xª[ãþ6›†µtoM’Ö¬_¯Ç5âPÊ" ¬ä}/bYûXÖ_°··€Áø§günknð2XÝ-pºG{z§—£#:À´S¥Ò¿&2Ô™ð©Éˆádjñ™Ü,ÇØQp49©J÷Oê¨è³ñ0ñw@¸¦ÄñésÊ7åÿ ê:ê¯)Ò®ƒ V±ä9•ƒcŠ½W†7Dë:O¤ïçRV NðÚB¦ó[(âF45ALy­‡>ÕZ¦± ž¦½¢ìNk¨¹ÇSDôE®¨ƒjvOÑŸì5³WFÚçØxÀ¨æm;«z¢#+]«†Õ. · Ý¢b¢íøMñb +œÎ|G©€¼B8•ÊF*ŠÐçצØñ̵½±CÒ°Ò„ÛJvË2kø¿5¬½õlVQ®ì—®¸çf‰) šÉh~)jå¹°ágf­®±¿2¬|W,µàmUÕ +endstream endobj 256 0 obj<> endobj 257 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 258 0 obj<>stream +á _’¼ª3lç'ym@²Àò!,6R@¼/x"Gíù½ˆ$5TD¿{À4`³Ë úŠñ®yNÌ®6_®5fÎ’‘‚™Ý l.Î¥,xD.pÃWz¢^XÄæ_ø7•¨¨[qöY×)ïº#€6 çx…{7ÎïK• Ž0ÓÜÃß*Ú=_)×êô‚æ]ÏÑχ”‡¡ÌeÛ}tL¶RaZ ÒÌBHþŠbá6ŠI$ütV«÷‡~R“ïþµÕb¢’¸1¶£Mmÿ–©ïÉ|ÃMÊÜ÷aØ4FšÛã’˜`좤%®½ <ƒ¥àHª¾³cjw± ÕE®?¨ÿÇŽ#ây7EÎT$|/¸t7Ã?ž›Ûc“êÌÆŸ¬Æ˜¸ +ë^E°Îg…ºZ‘lY²¯³kl|ÿCQ‡&+JQÜãM€ H"kO½À´-S”/+7”Ä‹éêÄœI2ã +tsvbËáœWaéuóä­Bé(Ûhþ„ëÿ$PÈ…½½}ÐI·/±«Èù /üåo»¸)ò86¡¿£‚uoe ÑÊG³Œ¦µøßä7Í!¿(SqÜÎÉÙ$;6Ï¢;6*…1u"uovõžù‡ú@VÓ§ò¬Œ YúsÀûxÝ~" µ¶æâ$Ï>âžeØ¢O­/‹r8ž«\ @Ús&©‚-Ccâ{Ëv6 2­£@‰¨Ãùã$ êš§Çã^ª¢2¼unG¶»š~dxÆŒºŸO`[æ=˜sï{æj 鎺‡ç§È¥Ã "Ne¢/s˜_ù"l{Ò¨êçýZ§fVÓü?ÝÍ»ÆòÕô)¸ý˜e©±àµ0a=äZYD<‘¨œýúàaÒX¥£¤v½GVARjïßáßͬ½SŠzP¤ÔSz2ÞCä‚ ”or^˜"ùZÑHq¹º[+']¹ËùjQ@Álüƒ:! Ó˜¢Ÿ†¹’TBñyŽ ‡ø˜¢–…öHxxéLŽè—6v{ˆéq¶J†Z¼ßf‘æH7<7¤6…;éupéùÀ{lAA¶ì4’gÎúÌÓyÙ´N(jLÛ°#–ã*£<€”N}ÕѱXÌ‘Ì2Û¦äzm#ó-HÆC©|̃˜ë÷¿ØLø+ »b9#Ø=îB%7)ESù+œ@·3kÒÓe–~@'˜K7–âuéÛnž,’SœiÈÁñÏÂé4¶9kdu™ FíÉ´ª bñŽÁô"ö åñLª¿áø~EÎ$ƯD\ÛNÿ„ð ý‚?)0!J+.K;hØ¥ž÷Ø«. ˜r‘Â…ÛVÕrQ#Y…EðètÅԮæ"ÀÌÚjE´Ìo{‚D„–‘S©Ô(Ö%õÚµì%Ý·A˜.^Lѱ°uógœˆ÷͌ـvì)C¾d·VòË×7ûß þ\q\˜§».*(àù¹¤èP'ÖÀ "H!PïWÜægcì¢SŒJ+| à‹IY–Nº¨Bú³ \àÆG¦YlÍ]GsãÛv¼ÎVÀ¨'.ló™lÏ@êÇÇÄ|/!T5çAß/ ¯ì©Â8l`<1ѵ9ü°ÍÁF½jàpÛÆM¿mÙ;0!%¦×ÖL +_ F&vKÆ^gL&J ÓªyŽ»ZÎ J„¦ñ†ïg’Єià YJ‚w4ÚmÍØË š“%5-ö¯¾‹êv©›ñ@–›‘N:@Uá fTæˆõ%}á ¿]1œ‚þ£x¸ÿ¹fD»@Kß*öÑüZïÆï"€vm÷':øÇ-}º¬ijõàÔÁð¡¶W,ª‹Ìp_áxG+“½,hïäH'í•¢5cäyÂo߸B„(l?¶åÜÅVS4Í¥ÁÂjƒht–²3Sà@|"z’«0«ð~òœÈ:Rãnu.gz\ae8¯EeÔû„/a½.cž`؉†¬ ă§ÏOë\zènÏ÷µÅÖÖžŽ^}Ò]æ}©Ï 8)²·*h­W­hT¨•ÙDA. Dûöº•Kt:žg`j2zÚ fßÈ–YÄÊ!‚ĉÆÖU#\&ûÝ>Ü“[‹¢³EçÏq(nÁgò¢¥ål1Ÿ;u¼f¶NøMל{ŠÑÌg2=.»µø§ ¹Ö†#ø$ŠF7Ds‹æ¨ªÊä‘ŸÎÂÞš2m—ù²¬e¦‰Õ1¾YòøýqE‚•jË•´ÙÆÏsMõYÇ¿Dx…¿.’1Å#ÙíeàœKö÷F$Å·NØ©*÷ðª>´Ü±-;§Ésõ'^Õ›É3¢5òyO»ãG¢§µ&“w-¯4æÔá/¦)î/OÙð¼[7YK +ÒíÒÜåþWÏ&hÕÐêT¤wâŠ2u°óáPËÖB­y¬W"t†ï|&sÍ×!†\²ßû§ÆÁª>´XW´VT©²âç»Td+€R¾ÅŒ?Õ£D¸×AÆhØœúPkP4Š’ª}lü{öBûÇ=¦ê#A¼¨•„ P†ÅŽþ¸¼NI1 ÔÊòŽô¥,#œ¶¾´ªƒKIqüšD&@F%X-¶§lÕ•Nr½ <#Àôtå¢ÂËÜÄÅ=Ó¨Ìå¿÷•A=y°¥ëXìºP¬€úš eOÑw=¦‡r5U.úŠ £e§Oz¸7×Â:õÒUÝp1Šx“ÜUÐ3‰¬ŸºKÏxBÔïL׸DY’¼#w¹€ „ +â.·ðö§ÕÆEß±Ó"äÛQ9$dë_ÝÔªß"°éîqgÁ$'DZtlï‰Öå0sÎѼHñõhÛÅ´WèX›2ßc& Ÿ_ó·'vø[¥ùXª¾±šíå(d ÷šZìë¶Úº\íMŒ) 9…m˜ú/ô{!Ðæx†F»Tõ˜Ó"¾W9U ‡¬ +¡$éÔ—ÊÇò¿>»3 LwªþÑ#©l>IÖ; ¡ ÿl{U4ë¨\α7»h{bsz‹‡°àÞdîà9š“’p’,èdÊ™<ïYp÷ñb%ò¼¥Öz¦Œd;þÑÛY¯›5j6BÞ™t ]‡RÑR×d…ò9¼} Œ“€Y•æiEGpSBk|®'º=oGtªWžbšnØY÷êZËg¯ÓJÚ$ñQ#že…T¡†²爜Pç ¾UßB4L +´>õT›Í=‹D_F&„îÂ(Û_²tgê4M³¦Lýƒ¥§èj”Æ]j ¿‚æ-|õ¦ýj®*•£zv®C­lZŠ)RͬBžÍçsÅHaº÷ËÍ’‰±CÑ'f­‰ ÿ$^†l(mNä‚ÇýÁll½CzL뫯yiãÒ¬|gLµ GxkLEÈG×ÙËÓ·5M]ì¢<íJy%$#žG,¸¾æïb)£× +LZÚƒW‹¥ÛYó‰.w/Qý¬ø¨ÿ[ȃ¨gщD£Ô¹/V7áÍätˉ ++g·ÉW—ÛAlÇ#»Ìò½²q¶'Ù@‡v¥Z*—” õú2Ó…IæLXê´g·Æ~‘ô6¡5ãOs  ¾2ÈО 1ìFJëÖ)q-ô ÄtB“rŸ0£ÇLp)•M¶-yZ,îÚÙh^Û?Þ_Œ ¼¦–y?#Â×êG§$œ£ ãý•+3´%±òó(Æ={[ÿ"Lþ°,e­_2;MЫ§ßì›<ÅŒò’ü± -{g°avhŠK}{¾C¼„`üQèƒUJaö‰N’Ñ ìà ÄÙêš:Dq‡½+¸çf^ŒÕ((rW&G^ ig¥Ü©„¯ß «"JeúpK™E\±‡Ç‘¨©tÀ=w +S>}°8bŠqJÉÜgu2uG`íz¯lÙIzÕåËÕm'üÏ?}‚õ…å Ð;ƒ€Á÷_æ)¶gUn—-ªfG)FÈ8§ÑeÖ_Í9º¢Žžò…GxùÒ'u̱U? ‡—Ö@jß ©ŸS¶‘éÕ_D…¬*)»:Çi®¬öЮšVo@®*Šàm§µ™@¥ZÌQû ¤N¡£ÓõUÎŽí$©¶fi‚! ÊÿK®Ý®UÄm½¡£ßý÷íæ¦HÉóvœ—?Y¹×ØO?í éÕÏ[UxIéN}þŽ¬9¤üæ)­ßžÿèÔ3ÜDË5P@ý~©ijYQß&{ú÷,ª¡ëóg#Ñ«ï‘'¿3ç1 û—Ä=oµŸ-‚}QŒ…«À~Ü?:ä­Xx×·Òn¢÷ô¥nãÖY™K]ué559•Æ~™õ{•8;ÿjzñ äG±ek}h´´f§ôÑ­b +hÄ$½Áý3bANÜh»¸‰4éiŒyHú¦ +rP¼ì<ÁÆ@Í:T’Ë›_0ed„"1È…hK'Æ ¼Å¡žEGAütéš•/Û@a•™òSNzvˆÝפ2ތȰŸMJßô!úŸ¸±²6¡(0Შ6Fýq#]Êî² +–7¶¥ã+Å+vé ‡4ÐÏÿ , óîcsq´T÷œ?íT‹Þóä3ÙÐP§)f#±Žœ ^øx» 𑹧¦¶P˜ûÛ€Ÿ†ô±áìZB¬ûLlìG–2w†­jϲ-¢r9äm'à?8ŽaïºíÜjb1°;(Œã¹>z¦Ø÷?[¦¡_6ˆæ‰»ac×SGÒÀDA1Vâ¬p¢Ô¡˜Î·¡ä±í.Ù‚ŸLK½«? +Oî½7çô˜¶O”ñ^ûn&ò¬ˆXk.ôêR훸ƀ +­Kó¡ò'v¡&Ãu¢¸™ga*¬e´áK|RÆÛ#e¥Y"ãE?>¡‡1:U„ìÎõ©ÚšHüÈ£k{‘ä€ãhçan«½`±UäÎÛÌ¥Ñ6FS5¿Žh¶Öü<ÀÚ½™@CR | Þc[ÂÊ!xXdž‰“yfa€Þþ`Ë“PÑ~E®?QF.h{yzÄ:}oµ–hx@¤hVK*Ø~¼'¦jû®pÀËy‘o'[  yîáLxžÙêçé’yl჉ä›æ }®ôU±®9£aè ÍfʵÔ×Ñ°¶§ãRÿÝô]¹M–’œÚñ¬bÐèÝØ(×…]Ö7nT»ap–ÒßØ¢Q}§ªX Aƒƒ—¾¼´°ïxù®ì¿x¦]R–Ë.x¨¼h2/SÏG£ÔˆC}õ¡LD¢.¯„I0’…|<‚š‰ôøûìþ,·uà~{Kp…€Ì…otØ ö PZ(‹RC6¥²1)CÇ„ËýÑ.†4”¶ß›™Èûæ²×ÄÅÉ/Ïs¢Šz eÂ4*‹N'•l¹Î÷9«8F.åÎ~ÔCˆƽ½æ§ìæ˜:‚ªcííõ¬œuEù^˜ZÚï¦üt¬l:ïˆu±ý)ƒ›ÿ˜\GÏ w²³Ëº–`c¯ÖEˆ¢ˆ°6(h"o²„³ÁÀ›øQ¨wcú8—Ó–} ÏÀèŒsN„-.‡QW²7þ$:8æ1½‡v½‡Œ{¯¸Ï©ÏO® ä»tUi¸¼šÝkvxÓÕñ&ùƒJ L³¯õ¢ÛZžSê:wD@WLprÕ¦ dʦÊA˜BM6¹P`ر4ãU9¯Üh ¤–®.ÎX-Ñu$X”Ÿnlôo‘îRêŒ%˘DW™Âkà|âP"ã)áµ;]TxØLcU ßÒ +P쇜Ʒ‹»ÿÜ­pÄÀ´D X˜û´6á|/VsÊš{‰c‰°: –0!³É°¾ô¤S?™Ý¿µ¦'„æ?STòŸ¸²ÛæìÉéìx ³qûÈJDI,ü{wT¢#®ü÷ÄÑ ´I1³’ºÿ(µÏØÞ¨¹Dºøq’KTE²9×6C¤¥všk/ñExû‰3lÆNg¨¥g˜¨?cqq§Ó¼Ç…½¨.veòb0Êâ® ñ:øÓ5rª´d ÒUxܺ=Œ{áËaEáŽb:yzí9+œZ*g°cÖd°+´j7¡Ïjì6RX¸ÙÌç7€'Ì àùÈ)·¹¤Ž¨–´K4šöö{«è‹Nö°âʇFŽ“tè_Å„~ÌðÉgýë9¬—”µ +ñi—KAYTˆ—\ö™ˆ4ò~NÞPÏê)ÄÌ¿Op‘L€¢ŸÏ…×ôRì^£“!ŸºÁEѾÍa“óhn—óð>ß…M5ït]úˆ‡Ø󌬦Â2qÏym{À­”– ã׈â#*•}}âŸúôÅÒpK¨Éa¡¸±°‚Ž¸Ð‰‰—2H?ìb3HÛAã\ׇ(Ôô>Ä‘d>·2I +G€Ëpk ½ÛÄ‘ø`y·½·b7ÊûÕèë¸,FK™öŸ Uóx+¹}ÉKÂ[‰”gWM ~å{mæ|@> V38žʵo‹"•ìƒ!Iî5]‡ä Œǹ¶ Ak– +QõX]å7+CáíÝï¶g·:lD(+,úUW"ê,æ|¢ºó­ïZ ¦ÏÆy£ÔŸ „Ò5 @nKùÉù‹ßÛd"êÀNüŸ˜Ñ)JÖb­]¬þSmP¯=[\Ú‘þÉ:ñ+*r±nj]$k*Û§Øs*œy>©SX¤Üa€×rè&%i,áAB~ëîSõ¬”òfZ¤;ìåS©Lr<æʌ;¨‘D¹RÃ&t°•n”ŸE%H°C‹€r­7ÿ Ê-®¯tÛ:èY6<È'oLÒ‰vÒ63DŽú¶öa)§1Ü÷2¯_Î¥¹D*SÒ}–2—«MIŽà¡mîêÜí½åBpBéÉÙc¶á†Œ²ž¸4D6ïmAÙ6I¯MQî +pâàmÈ©–ò'g`±é ‚-ÈŽ5MqM „­_@¡¦ùÆ‘€e.‹L‰àE‘¥ƒ=ÂkVn LëßE«›ÉeOt:]ŠÑ*Fq„lEíËܺsÙ³"…)óÇ¿jPnŽSŒ†éa†Š>7ïa‹Qf†ÿ«TÜE¸âf•I²ôšÒ3Á"êV|°l‹ðƒ¡Ñ5ðÀÂDM¨¢I­þ “]'9,H`.Vô«[F£«@2-I­¼—Ìþ´³ž´â ™Q©s‚†æ˜î#ÏgÀ¾­KdÏU—IŽÝT#È å9&TPˆ(™-"î-ú*…×®z,hÝ +endstream endobj 259 0 obj<> endobj 260 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 261 0 obj<>stream +òj V(8ôÞ¯±¨–˜Ûú—KFã”V´ øcK¯÷„$„§_³?#ßݵ„¡]šní嬞øKŒ^à–ø¼ŽÆƼÌÉùO#|iƒ +oÑ:(£êË÷aéP3Fç-MÑhé\ã•wfÇf“Í;:"âO^bÚqäºÅQ8ö¤‘Žçƒ\z@z¸•ðIþ;h³ÿsp‘‹C~88aæЄw\-hÍýD¥Øñg›Ùf*žÈå\›È+þÓÁ?×”ÔLšÂÂóM› žÓûrL}àl.Ñ¿>äÜ &<(°`¥(G¬ËxÜwD ~9ïBFãYÍ3ÎÑ{‘ @€EàӾܽ°äh˜¬ó{Y•§¥ƒ*?_Ú`ö÷#o2ò¿G_‚¾©¿†[mvGPß…NÀ+ …ú÷×&ëÍT¡Ÿ²ÙÒŸœòfžû³êÿU 3«Õ¬ØDxO fe·J’Søv¼ó¢ƒÕ"ù¨m°5h(06ã(x2×Äé9$Œõ%4¹Î[šÖ5͇hXÙé0–Üí&ÜþV~¿8Ýšë–aü¥ý+_Ò¹hµ‘J#Mƒ‘Ô~hBÎðI"Ü¡ÜX=â˜î²Éå‹0{è8Ä:\µÔ³>¥¾ÏžHW‡ÇáµéU ÃèƒëHÍŒS…qQÅc.Ê_#¬ý~ ”¯ãW¹ŽŠµÛX6̵ç¡}Ä—¿zÝ+¹ð`\fv9þñj<4½Í%ᮧ#íàEòW9?CÌei%©@¶`{B„Õ.“}1ŽŒ‘ýqÖõ3àŠÛd닦9mcEË3Tühƒ)¾ñÒm…HQ¹6Þ>²æbï Ú"’%K- NCo—sy¶Ú±¯Û:7H~øìç.héÆú¥ ”¹ q êPVëz…ÆùH‰I%NÄWB5]~ÚbÉä™—=gHÑ)yø£P(ŠÎÖ‘¯ã*à-_èNòÝ`©þïø¢KƒÒ‰|ξ.wŸI}¬ãK¼t&92~áµBlHü#„  ›nWÔ…£Vï`—/9È/쩱á×ÄÍ_FC›¡:m’ñçá¹!æÁÞí&îd˜X3bïÖÒ¨ÍV-«U´q©ó8úýàÄ0˜*žçë)±PÎc´ÿçlw¶iÙ>]ý7 bs[}Ï«·BåWŽ‚«ó)©j»è¸;kµ¿éQkÈ:*[1 n‡@úÔq8y Õ¤³ÀBÌ~„XXcŒ{œ¤R“ìþÇÞ0 +q ªÜ>ê‘&ÞÇèÊV òOºèÌïCô]ÿGPð9Ç¿›L)ÊÀìžÀòó«ŽŸ)ˆìñ”a MLù}Ó«ÞÇbÖÈô¬nÄ)/¢"s'<χ–y*‘µWd1 +¶vȼ¹UhOØ@SWC‡®7×?ŸÓX “`¨Î‡£Fj¤²`t7Tv ÿä8Ë׺Âú–ä.¸(· +гRô<ð¸Æ¾LµfÝ›ã2›£Ø9=eµH,½ßº/5ǨÞÅ£æXLÇÏš¸Ü8q]ÑpÒACjŒD@TsûZp9ôvÕ^õê‡K@ 2ê˜Óå}èw®øݳ¼ŽØ½­>¾ö¢Ëþc2*¦Èc&É+;*slEyh‹Çr:Ðà‡ÓPÀŽ6l–× ÿz /î£ÃÓðâ˜ÓÇBDžÆ~®\åp_Y®©·ÀÌe)qš[´ƒ&z^‹c”Î#À? +Žv¶eÏåÈ¥°Š‚1ð +ªì¥·FqðoÔ„0W­ W…®}·–-õ;Í}æ‚ä_`Âþn:fücü«´ëÑ ÞC÷®§KºR«<†™¿•Jgû¯ƒneŠÝñ‡Âíðc +k íÐ!¥Ê€Pc™ñSÔMâð n<ÛÿÇá›A.Í|p(ô÷æêFÿ)Ü–_—šÿåîùQéÂêÓÆÐøxSš§Z¢f!#ÊFçPq`dkt˜ÆY~wv$“Ê(+Þwç‡Q +Iµx¿;H FlCùLgô2»Ñºo)²Vü˜`jAœÄàíf=a€NûÊPA‚–ÀÕA ¤Òõ]ù ~I|ÓK8ú‡mÏRã Õ&ŽýÇ“…mÆLýáJâfz +AÒ@¥ˆ9ÔÿtY E³‹n&=Ò˜X‡×[û!5dÑ?ì0¨Ñeð(Ø+ñ´ÿ³>æLóžeëvëŸw ¦dæðh”w¶Cº‘£ +'Q|»¾Ãa²Wø° äfmÓlƒß39àÖ 1ª‚2î/}&¬ëÇ»ÓNPðY/£}éŽ woÜ7m„ï@x¹VÃÏ©žÏy…A|†Öò[è ˜5,Ò =—Í@ÊŽåÀKb½QðX+Ö\Ï*Î>¡½_ä‰4mÖ*‰ˆûzíй£*g\‘Po„+’ +óQ+…u ZjýM% ‡qpl)e.pŠãvK|¶÷– …‹k«|ü®®°øAÃ|Ÿ@WCäOqa…°°fæ^„/-òþÑC¸w¿‰– §ù :6¨«ç]r¨}yúÓXfsšØ{*™µ–¯·ldeDfÚÔ_’ëƒUtÞ? ÕÈ–iw>òüÉ×°¿ëþ 3]'¯x¬|¦‰¢ò“~FF ^ú°à>ÆK¹éóe‡†ñæ›9dÁ$ݧ1œ§ê¥½ãì±™)%Å7óBfâJ¥/ÈçF»að˞—&êQÓÛ ©d[a­2Œè_5@ûÁW6àm™|"דÃgç#ì—ÑÈlÞœ]ÀªàÊká´b¼ü×1x?¿¤2C¶W]AºBn±áÂ{Ž.®Ò<¦ËÓ`LÍëìgyéÀvE+"•*õ [ùëõu®ó˜Òÿ22Ú¿mé¯ÛíB4sƒáöÿtÕŠ˜úíq-u è„//l몳¼ÁbrÏ»<1{ÆÊÉh>FS©Y~€ã\¡H¬'ƒû9FØIXq!ø£ÖSÐ-a5îÑÖzl$&¯{Aá.F’<³®{üðÓ²íؘúÍj½ŸñÍ´~Ôíç|â¢ôÖrUîóx•7æ¼e»l.8ÿ]Û:ªê•½" éUÀ†-Ф³B8‡—ÕÖO)0ÁÎ…»£ËÒ:ˆn÷B‹rŠwMûŽ3M±W¯Í›ì±ÃÇò-ÕÍÿ þÖšgκAÒ‚XuB$Í‚ ˆŸLè¿J‚°ú”–ùݺø …™óÂêçD¨±ŸªÖH¢l.+òU¥€©½‘!a,³ÈÅÂãXÝáUf FaZÈoȪG.N;$ñME ¸,<Í +d~GrÂó’Hæº iŽ®Âêþ+TzúÑÿ×<Ô×Lî åÏ–G:y ñ¯@îKU‘èñØõ,¯SõqÙž·sØ¢ù¶_øåo¼À§ â ¡ãÕRÇ»º+†fß=VI}ÍãFHÛXcz°1Āѳä;c¾'JÚ¯)´POð Îú Ý-·i›T”vÌm‡1§8s&”±šœ=_fѬHejÑ~-I=_Ô!”ýà\ r˜.=L|þ—>@uJÁ¢Ü%Y—†ÖV·ø'|akgÃÁÌ F$ +Üx]GOK£*cÊ+ÔW¬Û‹QTë—H+ +«öJöÊçÔ¯V4,Ó’ôФl|ÖÝå åÕ¡SÊH^¥©5ð+\h?Ù†£Ï<áŒy†å,² &]‡å.óÞÑr:c縓æï +—2–ÄÝÍOFŸánKÕ6…FÞ zöÕ ž/$·Õ9Àú«p׿Š™z¶‹×l›?ÊQ̉»¬B×€#5¶A.-Ïod¦ob `ŒB«Sµ&F6&y£Awƒ!w¥'„Ý/i”lùLBý<Í\69´œü®èÝÆ3Ðö‚†ü©Çz JÝx¸+™Ëeêùû…^¸‡v~—Q%Hþƽ"wXÓ‹áBŒuc6ÆK ÿÓXÚ2ÚíšYtfÇq%>}ëvIÄûôÞqZñÒ¡$ˆ¤±¹*ÃÍPÐêr§Þqf{ü Ö¹Žn/‹%_¾lãê^ZÀm½«Èây6•ê+›ûI©#åå'íĪ£¤ËEóm_Š °þÖÓ¹ù6”æ|ö]×yßG¬”5³›¹­"¥ŽÄ0×Ã<Œ6¢®ò¤©Sæ>ïÕÕ%-›ÃÚj7 šŒô—„\Ϻ̓&®µÉcâ!É Ã ×ÛÁµsiÀNŠ‡þÞ<Ê+Ê †µRQ°CP¸,~C+䦪í"¨æÚð ç”/k©ß1¥â—YÄpÃc’ážã¹yÌ2­] ¥a§òR«…WOB05^S¥…&3`;v¾ã…÷0^8×v¤7n7Ü,1r{®ÞA¿¥ɺC)Ð(ßOn8C^¿etÐ`uÞñ[Þ;”o:uW\·_â×ÌcêXf…ª&Œd˜_óZ ã<×ö?ÎÃÅÍef³kò¾…¸ñŽÒ0O+X.›¤ºº,àé[‡–œ~…Q +…¢±×Ë3¥¦Ó¡ž­¹s­V³ jëÆŒJÃÈá„©Ý_b®J9Ïð\Ê"šyŽ‰oA’¨ˆÛüMPhP wÎ1Peâ⤲Uº†7`{>ôësØA[c‘Eµ FΧ¨¯Å _do…~mÁ¶=%ôþåiÍØQÉ*Ý3fùãr¶S`]Cš¯*x¡ÅñÜ4w†¾ùg·¢”¨üP"Ö€uGàOŽô˜–MáëÏžRÄeÑMÈAQ†í1åØ‘à{5ù1)æÆÒ¢|éNN55ÇnšŠÀîÎ1Áˆ“&ïQéjiý/ÕsfYÓS¼ôÐHu$wäÉ9‹Ì-/ +Ò ´Þ¬C#0ØV¢g!VNGp¥Øö°:öýO¢©E‡éÜ«(É“qURù·S ý u°Ù(00ÇÌغÜÛÛ¨åãóö%¯lsÝ&giníˆWýíAõÉ#ü{‚­ç™êÆ6‹¶;Ò¹ˆ2Ô;@ÜvCëïª3©ïI˜Tâ‚Éš«€o^=¨›ïŠÜP•´tŽaÒE× ÝÝ@–'šr_‘'…Fcý,!nÞD¾ÖkàäuàòŽ¹c(]¶QÍ‘¾0,™Ëù{:‚ôÁäfܾUçä6Ú~T2ÿ“}R¨rsûXçôBÛ)C><íù~£›Ó„˜åš(‰ör=­ëª“ËN! \çÒ]!êzôMm‘a‡WÔÙ¼P´QŒ30À°ÅI°´îV+XÒXîÌì›ãà/.T3º®ÎJãuÑ›àÒ³„` =yÿ«/g”¨FÚä}TkKtmÁ란™ù'GÃŽºÐ{6«±y¸h/6)°õýÈb:ô¯:aAUUQ~É9&²jíeÊÜ¥³§?åÍ­ëóÅûðLp~q§!9ŸpYî(š~\ö"”Ú  •½ÜGÕ0ùå}¨£'24Ñvß.8_º¡aë­Ñxh‰¶Qóm…°œ˜EnnvOÆ¡»Ð… â"ÃÛV§ØI!ãl¡`©­Ÿ¬ˆ“À˜:x%VŽ¶?Ï õKÈWQ$6Ïm”»°h±è¢ô}zÃ>yÁþ #Ì><(RnËÏ)fôW¢áH¦ÊÊd â·¢(â+¥*»žkí‡&ZÞˆÔá¼Ëqç«X5…ÿúq'QjŠ›}VïN¦|Ðèýp—@ÞLS.áWÆúÈÃo‚(T”ƒ$öTº°ŒÂƒ_+äë· 6´û›À6ã4”i‰Øs×Ý* tÔŠgr±é.4*¢Áf»ü ÀŠÐpÛ¹è+N:ž‘EuÔ,wd°øu&q|Úg´Ê(Y7ƒIç4|£‹]'’ð'›†„7r¿²À¥ùJUlx«“// +endstream endobj 262 0 obj<> endobj 263 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 264 0 obj<>stream +î|çUÞüY ë5‘>¯ýÝ(å‹Î£zùˆ¿Ï;Õ´Ú|Sv¤þ>ÝYÓlBÌ»áŸiŒ4Pçm³¿ã"[ÒûOÅçzðªœáXÙ²ï{¸*ê¨pƦ4âKÕM÷ìˆ4â:àÄì󌷱Hcž°Ðú,Ž’I†©1A¡ÏÊ‹®ÿ6Ù ƒü4x½ƒLSUì4z %²‹ýõž +a23¡ŽºcŠìÝŽp*¨fÒ‡;o~½sF ÷„Áy(}¤&ÂÍ,9™ë–Ñ;Æþq)³_£ ìö­jàšb¬É¼î1“ {n‡fÁœsÁÖGu—šú}ø| ”[Òj;˜+^{‘ÏæB?"ÀQºþ÷„â*d¹;¬fÇ G¡&ù–Õsª‹B_Ÿp:ÕF¡Q§;äƒà«¸mÓì¾Õí€UbŒ¥ä׳8ÌÀÚ©|`ºñFh‹hmC3ù6Úš§òSÅ)“O„0ÎÚ´ú»-ïßyPö/û~š5ÛsR¨_`æg52V­3I6·eÌI¤ƒ\ ö#|Úù\”$d½RcÑ+GÚrá0u6(W" ê" õ;2«_@^Í RÊmGÊw¾ý¥5tds oŒa$öÙ‡|ì0èclsòygéã5"uÐûþ˜™ 9[¾i¯GW÷eŸ4ë¡ühR:Ù4 ¤Ê$WYæ]8FÅÔlh@á]¥²46©ÿÎêt²VÛFéü9öÝMCyˆç‚-ÀÇ!Øü ¾K÷ÌJWtêSøß÷™Y·LZë᦯©Åדør¦&ÂöÝ6p<›¤wv…WºYüt.ˆ¨þåŠiúñÁÕ41æà€Á¯xôiÏ«p¦Üdö²'¤DÌÌ܇Ï*~ŠbmØ¢8æ2 p#} +HŒyW^/‰š@ÆaÖ›ÛÅk)Þ’JÁ~è2!:ÁÛ@XP¦Z¥^Bíµ•¦1Ç(w¤çWTX¢¬tÆß+.^<2¶á7Íð¯ %Jà;ᯢóåifÜ´o'Ôhasµå´'ˆ%ºêÈ<Õ'"Ê^?e88„ŽYçÄT“Ð9¥æ×p6åŸOù T®–x£ÂœÍÄõó¨¡Ä©~›êœ²nÂ2™éoõ_ìôÅ-Gt¿ +µ¯mµm {a˜ãµIjàRƒéR¹™è 7âÃk£X¹·äñѸùP;Tç¢P“Üo“¤k¤i¡¶´ÏΧñDÞ¸/Ðx¹|èNš¦2žÜ#b:å“’óÅþ£Â8*Œ—ö›&Éú7¿R´·ºõK¦ ¼2P¨ÍëئþúÖ—héA0ã4ò§e{<—+\µÙRzlÔ íœÔø(·„¨²‡÷nîºo"Ó†‹ýûÇ«Ä¡÷sÚ¥{˜üÞÜtØW«^´’XôskåžNE×ËÃbhËŘ F gÀR³÷ ª¶DX†Â¦0/¶ìkx#åÅ£Ä>¡ÃÂ@ÏD «|ƼÂ$¼h©ªM{âÔš¿òÚ¥)Z°a…¹ë&J~w܈œ½OÚ§˜~Xäå1˜¦MÔ mÕ™V}è[‹|-5Ó-D{|ª5œè¢€?"Öí`•óê&ÌB™±¥àt*ðSKM—ô+‚VfFÝô‘%îÜk%3'§ãîóŸäå{kʇ3c°´‘ÁÚø!Ñ|‡@õ牗Äù‰ökÓ£ýÚ™^QžZ=ñœäýÕ¾hñæYxž‹=˜Š,›¿Ĥª€Þ5üzu@Iµ%´@˜a®¹>z”+2Ñ,6üP‹’%ŒãÑÔ`Ý,ê-îù“< øˆZHžôôõVÙí~le:0åVÛób2À|6¨=1to°=ú‘hX2ª÷9Â%RTj+ÅÎmE›YK{LGÖD„kpOv¨fcVù˜ÿ¹ÀUþ_ +¸Hr.‘Áäy”ñþˆWß±~ñ’`¾Œc½S?ù’±Fø/ïzûÞó‡>L’»lI븰hH½è8±Rƒ#¥+[$œYˆs#®d…`>Y ŘügaP’‚„ÃÊjTüåÊd·#ómŒw j…có»§oÏÜdGÃÖOÎMÌ8uæÂô4 +g Ò +Ïð¶x‰K³åÒÊxؾº´Æ"î¦È[m h²2ÂYðSH­ns“ MŠZ؃pq‹c1M–ùËø¶ov™ç¼‡óÐDåF“ü¢†{¦d ErV¨l”„SsVèH¢*LY‹QÊ zTV¤ðšØ}î±ü͇¹Ë«í¹i’øj<þXœ–½%MV±]zÃÛN¨ša1{ÚÆŒ§]OÜLïNà±­GÎ Lv2&T¡ä̆ž”=œªb9- +UY‚=a0V¨\‘’´×°‘GrÊÓs·ßß2˜ª”‹FHÚcDÉôD°‘!Uðjßí¦„ñ‡ÚóU¨¶Ñ:$Ym„Ãv-GàGn­eº&x›ðä¥âB„v9Ê·QOdR‡7¬&m½*–ü"fÏRÛ'ªð¾Çµ×™ú†D¢•e–”lËѬu³—غۢ$3§[Ö½Ò›ÃYÈ»Wš. ]èƒbµKMëGCãeíl½I3º‚Èß|˜ÔµNŽ˜8wcè ''â–#Ùý+ªé“ž)†—8çÄoC­š©ßxÐËÉàB½O“ûS7´ñCÅ{p¯7‰O<Ã*†<‹ª+Ùãå“÷*ce®Ô!’Û\‹% é4„Z «þ^cÐT[„ñhõ¤_ïtXš`gB2ñÖLj– úÙÏ`·3«t ªWHB0ÿ ¸-bÔŠÕÌõ¯~×nM¬r»^Z‚ ®s1‘…“ d°Þ¸YÌqßô¶Šaìȶ…Q,’òKF$ˆ‰•×Ê|/9<ŽâO+Ëìâ%âÙW+YÚþèòÍÝBIÀ—jcÁ~Äп + î‚ï=.hçåQlÙ—œY‹g¶?`âA¬F-³È> é1Øpî­•­~‘¢7EÙÇÞW*^üWàp2ªøW‚;«I¾Â•Ø*f(Üoš¡`[Q…Q›S€³+ॼË$¦7ÊHæ‹K6ëØJNZ:«(ùçyšA:Þ̨N©Ȫøb2î²U…-’‹ÊKþÂÒª=9BúøÖùrW+mt¾+®àÓ;$Xn´ ¾E +*™¿i®çî0§ßPFï-»r´ã’D¿ +"ýEå,¡+\ʲ– +\\jæϯ‘/L E<˜™Òˆmããê%©’‘Ä)÷ªNüv ¾ÔX&j4âùŸ0‚¾BäŸØ§$([¾Õß{ùΔ®ÂšÉÆ 0ÛÊ^œÈ¶ nÜ„+Â2D€c€7AÑ#=  V +ÎDôýJµ%á²B_¤™zùÔ1IðÅÄá,˜Ó®=€ \4µš¯RÒuú§êeÚ„6Û©e§RÔ´¦e‚=ÒR± Žc›­´ŠsýÝIò‡ÍÑpTîØaF»©À|ïäV¤]ó-  î†ì–„¹©„d2ØT»¤2œå©"¶É>;®jp0CRù»DV|#´¤óŠxõm‘›E†×lÀâˆ0¾ÍÆ—K³LÖG~ý̵òÍïDW!4S?çõ½#9«Fmq†pßLY:lõX‘í¤›M14‚±9Qg¯ ~'¬®–ö¡¦aj•¿‡õ KÓпÁ°Koé×tÿ.K<_°.òöAÝ=2,¯t :W°/ȳ ÉE›0•š„68ÇM/›§hrW`è\µYbŽZàžEé‰È•Žåb*wš,¸^#™ç™Çº®kIÛ‚ Bå”ôHµ‘M|ôÌde…1Ó÷E·m9 {’;˜prš¶â•"JÝ—óH¿á\{ü,woå]P=OÜ18}uÚÑÅÇ‘÷Òñ£ôŽv»úÅvö +ÃÊõOŠU«?Ñ;zÉiÜ'\åGµ%bË-P‚fgqgž*í(gSšL]t9EËbŒ‰c+P›±FUžîVxæñ—¶Õ'0|e(Ïý&¡6{ïA¯!ȼÜïÚŸ…1€ +ÖA?HÀï¿TAcÌ4~±NyØüJUñø“oƒ’>¡ÛOzãQck\de4iNÛúIX“õÙŽÝ -ÇÀ!Ö¨¦azpO9z¬ã\™“!îÖÈ>›/êïÏÇdc7ÍŸ¦Æž1'Û[jS%FL<Ñ´¼ö ©ƒ@s¦6åE­: J®õÃâ/Ú*"¡ù讌goÇT k¯øA«©˜+̓`|éHÔ +endstream endobj 265 0 obj<> endobj 266 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 267 0 obj<>stream +²°h‹ÂÒûöBPBnßá@„j✣îgjßr¹‚1Ýì:„÷ÂÊæ#ðú2ü·ãÌõHÆ­0VZOiŠdrêFP 3ÿ‡”xÁö‰ù¾“Ö†ßNð™eÔ¥ó8 NØìšÅ½¤¶º.ëU;î¶V¾ÌO†Å«#¿þKpr…*÷²6¡u½ø³Ò› ñæJÙYDàY¾¹4ks´ÈihýŒƒ ý@x§þR^þç^óÞ_ëuUgZ< Ö)”&Ð ˜þÇž_€¥ÀSšÇ(`„4×{êr×Ç_ᛇ½ Àì° "Ü·y` t7?7_e3ïP¢týÙ +ò p§¾¸[ÃœÝhpÖ³[cŒ5Žj‡÷ÀînìýR»'Ö ýöàgVÍ­?odûçÀœ!»ý OŽóâ¾B¾NÉw­gï5€`k”y«Ä l'¸Æ¬2[(ïù¼)ï#LI±˜°ýüŸÍnG%Û®‚=YõÐ:†Þh-»‘›$¤dÐ7]â§å%9rt¤±lÉ@íšuâÐt/ \ÒÛÃõ,±é yX]S^sò&F.íê€Âòæ]Ùñ%ÔÉÉ@ĵV¿•#;}뀼Á 7‚,;èÊò(ÒÕöc0€þÄ€oðo[#š´áÏÎËÈ \®éAÆ#”[²¤n¼°µO"©Ú„Î÷S¿÷r!•À|Pz¹‚¡?ùOÚ_Güd7´§O©FZäÇÑÿ¡6YÍ“â ãl†”Y©cÜX@ÍÅáÌó„µ­û¦à7¤jõCöœ o•Ô×m~`ÄÅú¾ä³x¥’–ꣃcBT?¨¿ó-A•híçª.Úî]™»¨êæœur÷;H×¥7i¦ZuJ/öó¼÷óÓúÖN=¸Œ$^çd3¿°m‚yìp9YÚ¿~{¢JñY†ßI öiËdw÷ +gj‘çðñû¯›k¢ˆ¦°>UdÃN >`ç"5GlÓŽ¨«uøËhØ)RÊȳ8-ãÁ˜œu,ˆÃ\øˆ‰Œð–ª¸ Æ}Í"-ðikq_Dµ9%Ô ö¹·†B“ÚÒu2}mG•âáÖ¡o®áçÏG¤ –ª]B*)뼎óg««öÍaV嵩$fÛó'´ +!Äjü,ÜôM!í;Ûf›|¿(iKÇë÷GÆÉ*ÀaŠt!@ÉôÂåµtw™ê%éùoµë÷Ñc—X…¯Ó‹ÌRJLß—®©Ð;Ig'Éî’À¶è 7ð¢KC¾ÿ`âï:^çûØvÚ0?$?˜¬—¥^¿ó=nà.6sQj,)µ2°ùb2#ÐGbBÃ{jõøX×RŽ¼›íKðe3?ÉòãWOTêwxžê Ii’ƒè—‘]é¤â ÈN×_ã0s³Hé`tÍ}tnÕ[¤I…©?nµ7þœ¡ØL;ÍÂTö:ÑÑš'µ{wû# ¯¶ð34êô í'ͧhþgX%–"—xfý[<»_ÖÇiFE¤EÍJܹ­BÌr÷½ÜÔÛv’?Ù•>ëÌBé9®Ô¡ì¡XÞ m;œ¸XÎ/–:7©By“#úïô«"îz@”‹4˜ÖëR§Â:"Fï·Es` =Úâ®F¬™7Y|ªÂD{–!^÷ïø²î‡xoY÷çãœ[¬Ê”‘'A]E,Ó +‡6>ÊÚüK1óÎ8š‡–aö®Ã±=ÖéÕýzŒõ;âIMÄ\–ÛªY($‹Ø›3®ö”§À6ã~p»j––é.éûz«û·%LUoŽ&³K¹;bÂ~½L¡­ I‡jË;…\ëIå!…Øáµâ··H-‰ Ý½[q"—i›¥ŒGr2$ðiø‰rXìªØ}­ó»æ ¾ ZÓ EYwU +@y.ä%g8tKݱŸˆÇaÀRø1­Í”4ËÄj!%ZÜ’ÑaVP’ï«0±Ôð¡Kn¦ò ¼;Ê®`~Ó@´„ìÒ«%aöÛ î((Vbrçƒj«1àס¼ˆÝ Ö=ª{yœ6›R(t¤hÕ$ìg BzÞ£èbú +÷µ……˜®Ø3e#4˜yýèÔmòË|²ƒµˆÏ9òø46ØÕS1:S¬¬øzp^*¨‰ +õÛ̆Øâ/?õ*WóŒß•o¶væ¡~«9œºs%¡pžz4!ñO×.ÓƒþùãìQÈÃ/ØŠ,±Š£üGÛ%éÄŽ9iÍØ_'< ¾Z,µ‘J9Ñîíe>JX/¾¬Ó\% +endstream endobj 268 0 obj<> endobj 269 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 270 0 obj<>stream + íD“ˆ!Îfz)¸ÙHœQŹ6˜Ç‚ÀCë¼î`iªª¤ç\‡3õíßèCR•´ÐÈ]ö Nµ9Ù°ðÐQzdîâ‡{Ô•-Þ¹;õPRtbU[4o“É­ÂP*–± ï]ùG ÄÛqÉO «âcê/sÀÈ®l)6°âV;í€^€™<À¹2-õz»ÚíѼô ݜѣ€•ýn‚°LÒ¥™Ó*Åx1?sg±Ñ _üÚ­:¹¼±°· ºþš‰š¯vÏðÅEˆEÃÑ£dœS5ç^œ€ìJ Ì­ÓcR—¬„8R3ó2œÈ‰£‹ÛøÕqÙuŽåéÏ[çóW°´à%üû -*»S™YVåKêüät„Ë7ÙÛr6&«ÄôJx=ú'纡ÁÃãvÿƒ {®â!jÿô·JØR¥™'LNßiâ"qs,çlüªz€gï"Á.ç'sÄÁÏ%#¯…뤪*R4)ñÔ·Á¢Ö¿NÍšëÁ+²äÄ Na,½ô±,À4=:C eÓZ7/Ê¡t;»qÞw½Ði=mÍùÞ“‘C™+¡™Ož•ô¥¡÷‡ôØ„=ž¯c1ì” Ñnd×ÿÉ’¡pB_¨+Ñ;ÉKyÿ²¨¨7²4¸êొW‡æ-aqjŽÑ^íìz0Þ¨ë‡ÂX/CO>M~ôOžˆæ'¢V‚$ó‡óœÚïõQÅ"–‹}0òïþ £o\B±çý-’û®´ AóUˆèš½tò¿ðÔiÛ±seÍBôóûg®{eB[^…æMoó1C•QûáÁ÷qbÛDd4uj“^¼Ù›œ ÿž§žëäႈ¼rìiÕÕÍ–ÖØ¥nÛ Æòyt­E~‹–7þ¡¨ª‹bE¹†×ãXÀ±+/Fì)·@X©¸Ú·¼VùÊÈ曯Ž–·®JWu¥dŠû˜’­Â `…Í0MŸ[Œ$nˆÄ B±óI®îÊŒ(¶wcO¥²:éÖ£‰Vm ©gþ«áþ.{‹ÙÒ|½²nigè¾SÂN‰»2ª «" +'ÚéØ› ¼-¯£µñvl|Wü|<7>ÝYE +­RJõ1—Êã/þ +li//õý(ú_gY!éŸð²u'òwð±ÑÀÃöoŠeAcJ÷ó%üh`s…ÖlTɾqàNLãmøøWn€2¿8Ðò±Çáí=Ú¯äí¥°Éùó*½ª…¥ŒM,f»Ò%Q¢¿4[n¤ÂÛØð½.ú\Ëfh²ðLQôúîZ0TžÁÜà웎¾-­É»©ÍôX䂲>’™ŸËäm”âÜu — x8‹¼úvÄB¼þÇ›·ÏJ>­ Xï•bøNÜpÏrôႯ×Tr­tá–é2ILÂTõ:=îœNCÃÀ'µOôØ¥Š¶hˆ`݈#¬!^ µ,¾jŸ—`‡àò9EêC. õ3eJÞ%¶«ÈÜOÅЇÂ£ƒzó#/¨H]6`LÑó¬ñùs{XÝ5\Ûc¢Š»-RáÜÜA„Í/× `¾Në–±”òƒé÷^fgN©á¿FÊ©î¸g|ÂsãVÙÀ“!¹MD´¢"og¬Ôý¦$—côë´LtMo«öÔV(»Ÿ+º7Dï1%Y–Î0ãð¼u ÷ÈIÛ‹6õÞxã¬1®@Ñ€àÛ¤öº,ºªºËP”xX¥ +'oKÚ3t± J–_í‚Cšê“}  /¼·&ƒ9bR”>Ú~cÖËöàBØQDC„ô7\§S»ðYÇ{š£ö·cC™W„D»ë;I&éFrEq9ø)$ „8Á‡‰!MÛKôþ¾Jròªo +%%…«¹JF½a½y!ŸÓó/Š©B:·Û¶€DH³­ëf ûÎ(Ø}û©¡wåeô Ï·h0÷—#Í«ÜPg;,BHos{£›hí÷8# +ö4´Diɦ–eÝÈí©c‹%²7¤+•=0„Ç@þrþ±J=˜´´„ö2Gèïeï#B:™Ê†s{Ï&IÿPÀJ…Î&-ë'ïºÓÍ[¯0 1è=¶“äåâ@oñL•k~µXæ¥#ÛB‚…ò­¡ ³ïØç¹ØȽ¢ì3ã¤äcÎ+ ¯mU|½÷dêÇà4ÄßK%“À=Ô„î tHæ̽‹AîŠ mFßÈà:èóîhf®P®ük„¦Y>÷ô×ù5Hþjþk†fÓ?ˆUþWX’ð‘(yÁeòs€Hè# ³ëGjÕ=èìJà³ÏÌ1Â}c¶ãƒ:Ñü½f…ì?3ëºý)äôKþÐx?¸aÀÒ §N¦)‚<ú´e³U TÉV ‡äà32u~£%kðøbö§Jõ¸ÑOå<8IU-ì„óîa™àZg?ëˆ}jãXÕÿõÞ!L{L<\©+/—Ùö¨P …Ö±ÙÓ·gÏ{QòàÃŽ°íÄ v*:8„¯Ö¹vÊOBö a"¼t™Þ5ô.óe¸¬s<ù<’Ù5²ÜÖŽ8!Ò:Râ¹c{¥ Ò´âgÚ%.Ý»Äv­³.VÌÿ~FÇêÔ’ùËùc€»é-nÔº¾ ÍÁfUD¬¡oHÙÆ>,Û›M=‡'Î)ZJ\²ZÛU°šUͶÆÉ$VÝDéTôÍJùù±/"~kæ|U•é¬é­HÑÌßtÎÙØØðVC Ľ[™xÓôÓb9Ä¢èÂÌbÊØŠÀiqÔ~ÄÓ~Éhà¼s]ÀÓ8¿íYqþ‘"Ýÿ”ž+q)å¾~F9зº<§‹/ðÒ1UÂâõ•GÏg·E#ÒÏî¶Â%È5½ì´Ù8Ôb²l¡Û]åw£Hb®šÉ0î X+ :àÇèÕ¤… +/ÛA¼aÊ“”¹µ¯Ô@דÝйí"¢ß2…d3#µI¾8!/H¡OæéÒ”ïéÛ÷¶‘~€¡±Á‰Ó0^´ Nr +^œ.¸aQ Ãv;n^’ÖÂ`IP75|©|ÒÒ)ÅgyKÕ’Õ˜¨E§{ÚCº'gÖ-ý×ï/ƒ®%Ó(Ö/L&… [ʼnöéeÓû²Ó¬NCÔJѶ tnÀyc‹çû[½,ò“¶~¶‚݉ÇC&Gðyª“)uï¡/[eÏYJ÷ +Ê6ÃïL˜iBB>Àùë+Uc†#<8aÓœpÒBõÍaúiî-‡ðÚ•Ë´¾eÔâ^Oêí–0W@æß‹¸³Z…j8’!©Ç¯½é…1hEš’ÓHH¬í˜µ vkêÆdÿ£0¡ÞJ#qŽ *ÝÜj= ä§Õ}~Îp©Þ‘¿2 ß?›Ø …ÔÍOFZן +‘¨ý!'ÍË‘31äljêÙÍíjå;”Îäø 7]ÿ)ÜÒž«ƒ;äì0(®Ü-ѹ= Ûq‘'p×’2WØÆŽL1?îý,Äv>*'O!-q…’ûªëiüû€Jª_¦ »õOñ·è)Ø%¥—_xšjœmÕë÷§µ“f)8‹4ë÷ç™×î£>ó%-°äO'V_‘¥ÙσvSfÏm³Oòº$»â\*¢.`â¦ãC ¼ûý #*7oAí& ‡1MaöíT4s¨h+!د©ú²ZŒ#d…„DY‘êTƳÐú7Z¡5ôW²×¾cVav„m2yÄ +endstream endobj 271 0 obj<> endobj 272 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 273 0 obj<>stream +CøÇ==ƒ÷dŒ³qœæÀ‘wè[›Ðì*õô GGýßÆÍXŸÙ&¦Q´Ö¡!÷åÔÛ¤Èßg³¦ö_$ÃtÊŒ ’³ ‹´Ë€9ÛËýH¢u{ÊBÓ'-ó1¿Æòh¿àûU€Ba™GÂÿLÎPÞ(Ý®Èz7ô”û´˜‘…ç w‰¶DcaVèÏÇœGÿ„Ñ<~Ñ7YóœvÞ.zM)ëÎøœÙÊu=c·ò9 j²^£ ÕÜßµ¹©Â—[-‚Âýh>k –îd¿ººÈóà¦zR®| +zð:G1H/»×?šOdŒƒËûÕ‘xT¯G:;;=ÛI~>)eå±Mö']…ÁOhÙms†0èšh­Û-¾7C1þ{Lk‡Ñ ;‘=0rb{È÷;è’Ðu¢düMG sÙs€|[´¡bI²zà 2ìÞt<–]—Eœ;X¬`¤iPú5m”d³\àñÝ×`ƒ/­ƒU"¤dÐÛO^€QoF8xTµæßkÁÜÅá*Ãc”÷ÛqVC¢ÑGñþgòŒ‹É}:Æíþå¯Â‚q÷¬ð§-BYŠO³YŒ¬ô¤ù@¿=â«o2&„ô.]6¬Õ#yÐFÛL"J9‹YzÍ éɺC z¶âþøøÇ·Ëu$ —×qB…YS;}Ëü~7uIÁôÛo „ÊŠ–⢑,s׆ñØÔ¹®}âWûV^bjïQj”¶6h/@¬\w7ØÒ/å˜ì¦ù¦•E”}Îj¢SÇÿÓ&‹áÖF«†xx8yàa@MˆÃÔ:è>`|4äsЋ]xó߀‚ÏD¯ ë5á‡Ûèî2­=7?2¬>Ü.ë î(¼œ·Þóɹ`Œ:ùß  q½Bb?© n¾ö•=—ªò™é¶€ƒƒõŠ|uø˜iÑ*Yk6ñžÐCð’=üvç&¶ó|ƒÌ/áóòýžMùk'˜ÙrY/¦“æÂÕ9Y@ßZŸjaJ@õF…|zÆ¥$ò; lvš” ŸNQ#cRÍfÙЛÎCẢIuë¿M-OVˆE{kX°)ka¥P¬ôÐù4™6GFìNE–îü·Pç v>9IîÒaÿen·ïI¶©uå’›ç8ç¤tÎPk ¸­ßê ªqÏÏÊŒÎÄ † P€ ‘ñ[£3/JnVo"Ðâ~úYiRÊŠUTºÏ ï-ÂËf­žôì v’úÄä›á‘í<­Y›ïâÿ(r?£ƒª||óí; TæU:üÑE¡4nÐ7]Ö’³Ø ‘_äücêõºöÞ ÿ.WÑ‚@ö‘mæSìK2ä!É5ægMlkò‹¥³Úƒ ¡# $/äC«ÏÌÏÿÚ_f7†v/nF1ãtkäÕôRô=÷ ~:Pq%·F`ôšêhGû­NèlØŒ{(¿U"2CÃ*"ü%û X&õøœ^€]Ho¦™D³üs<Ï'2ôèO±(îÌA”¼\쨵IìܳÝÖÙ ]óæ¿tjðkΔ95×ZÁ";Š°sW®¥=¸6¹þŒ8³)’å¸ýÁè~¼JÖtyÕ´{‚Q†¤ÔŠ>xâÀ°ÆËà%Û#\´d”kÜð–—x`:óš¨!kjÝS4¸ÞðVN0•äé–¼ [Efœ;|$ß7ÕCXÍ:9u–:3ÁÛïm¦ÿ!uÛÿ‰B‹!™ÁžÉOÁ×UîK:§!›2{Cê‘u§!Þ §hq¹±CîOv›:,Éðînq¡™RÆçàغ‚‡ 2¦a{ûòÅ|H!=Õr[]æ) ¯¸ßéê*›L+ä0ýœS¬È÷Qÿ<ÃõÛŸp‡½tavôj²à1<ƒî®ºPXñE ð,$ú˜5Bdúˆ1pdÑ“PÜWÊáì”DÂË]áر’Ø—qqˆ·ª†¼ˆSãÄzQ´ûJÖ"½ÞnUr³“"˜K7Å[>g¸®,Ap/ Kmrg¢¸=ÝëyÓ‘Åcîl CnÞvÈ÷-ßäÆV7Θ}"Û–G¬.‚X“ßdä´ý/¶ØÛ)K^wè íÞb²£Ì’åLfŒ¶hªØþn€5Ô¤SCOÏ‘¾lÝÅñTÿ®Éig¥CòtÞ&—ñWzí$Œž³;-oÎ^‰¸Ž0t«þ1ìëyr6‚zn%·gZÑvƒ·2E ]ï¥G‚Ö•]; GëÊHËÚAžø¸V¼DÞxÏ’4¡vªùM3¤W8_Æwáè”ÿŸÍ~ío¦¿Ìœpag;ç{Ïp;¾ì™.¼/øu<=G3×R¥Ñ\%°}¦þÚñ¾.Šöcæ{vr£ét?fPôšâë•ê”[s°ûc‡W÷‘“í© ,†^]šÃ*­™ÉV ”P:®oSŒ¾Ë<Ü—˜ÒóšÈ4¦Ôüzµëá¼)S‡ôoì–]äTãsÄÏŽP?K†`6{m[¾OaÑkD%3à– C«òµpÜ0Ÿk_¾p¡†ôMt¹;‚VNmd4õ™`‘v~0`š­vt§²¾ÐYÖÒ-ü¬F¯ˆV¡…8œHÑb牟Ü)ÒA4.ý8F¸#‚öY6àNEø‡”}5Ð$Ù-kÖ=ûµq3At_-æÔ¬v0_ sWž8d^g)ئbÓ.ΰ]ÒNÌO0£än€ÃX”®<é…Ësò;§Ÿ]õÁËG->¨ —Ò̵„]€z1ßÕfTâ:ÊãYÀ·J-.‹ë§Î +*Š úÎfṓÂe1ñ–3ù[æÙz}?ÿ«žîôN¿ÀÉoÎOÍiä *¿{“´éGo°²,°¨¿JáØ}ºJÉ,,žÉ[9ä:»Úœòd›k¸å¬ù…yuÅ9UUÚ$4×cP20ó\‘碟ùYsÔ G¦ g*lÑMŠuÉx5«¬…í5v;@l!ˆxŠÊ®©†ýúr܆¨³ÿ ¹lƾ~; Û×Sþ1| -÷h8eÉSç…ðWï;;»'…ôÔJ}uâý¦‰Ô†nÀ½îÇÉPpù9Æ(ŽœWa•§¶6 +°N>9dµqCF˜Q'¸fⱨ\†D&e!æ+Î3Öñ2R?Çq-[{6+Ü ˜GÌnåasT{³Á6n²1\–¤e4Ä’Jð"Ìþµû7¦°èVz%(æ a.áRÿ\àfç¯1©<•×¯ WÞCÍ ÷²±»ôNö²,¦ Ì)\>¬ÙfšE¶„ÞÀôFn‰ +–-e¤çXÿ¶"Æãÿh§aÌ饧_í…ž£^ð¹ÇIoh>:ÝRüT9®A9€`Y"+–ûc¨ìepZ F;dý]¬&"‚™˜A‹Î\žTÞ}Êgy)VLŠŒ^¾8å^þÝMCp®ù +ÉçsäL1yÉX§‘(&ñ ÎÊ~ÍvŠ3Á,¬_±vê»’‰q(ÏàrpRþÿ}M `ú6™”ÛCè¤nDD>`bçvÎâöž?¹s+Äħ¥³N„{ÌóæI|ÑØ$³®ïî–t¶·—AöR2¾™1}§>¯\AÝ(¾Y,xÜðœ¬âÊ‹þÕ·ö\w4— Ë>Ö¥ªWp1oHøgwŸJPRq-Óæ/÷nAëá©{)´–ÑAÈ’½±G@¤éßœn^Vîì©—ùÖMÕG'´ÊƒÇM¿z¥Z‰ÐùˆÅŠíx‹úó§qq!ʺØ5~µ8õ5¦ŒŽùp ô{!?kC]`ˆèΦ¹Ü{úRžö†0²<¨¦µÑÔ0¿…ò¶1½wÆ +Cµ©s—šIŠÑ½ æ<ó¨1RtëH»CÈÜh;áÞíÛ8†v%‘ næk$×Ï݃: «¡¹œ‡gË¿OYfn›ekÇ yš9Pjæ9Ø¡êìÀlAX0ªvܦ¯9–î0ÉæÞ›4"®¼PÉ3÷MB¢-‡TWSÊSÍ÷ÁÒïñÀ^€‡å1VôX +TWÝ£ÿƒ´sõS†@RÉPoêb¤²ÇÒ¢„ˆQïTlŸú…Ö}¾­óë¥MgWùÍþ nAuº–à"2‹\1ê‚07ÚÏuÆ<ÈOâˆ] JHîATf;üA¿q?ðt{ŒG‰8ž ‘2êÓôh±§‹¡b6ŵáj—MZÅ0r|èÿ„O…o^zžÞÈÑúæáøô ‘É|&‹e‡€)Â.ë¤#ÁNÿ.d9áh—Cv±Ô”<L£<÷±O(^Ï]Öp;E ŽŽ©UâèdeaÌl Çœš7{Ä•Šv1«hKŒ}t-±¼e‰D°œ̓•”àºÜ&Ív‘xî »ªôr(Bn¹‰Ç| ¸m;ôì÷>3ÒFö*ÔÕô©y~|[ë€ò˜Y ž„EwÊæ8[†‰0ô‚ªçþ´«ÒóÈ`•mˆ'.;O)²áÓI)0aD©÷_¾EÊå÷ÉVœ)0½ü¸y¡É’«ÜAÆzóÖÔÂB +ÇÿĤTXÏÈš³Fh÷µçþñ†ê§Ö|ÕD[ª“^'3ö(åž!…_‡å0ÇËøâlÁ«àÍ=i0XÀ>M꺑'/³°Œ´É½õû͵‘5'VÆ%R";“>¡÷Hà +€\RâP:Ãq (ºÛ¹¹üUû#µqœ`MŠýþ«'åâm5\bk¨»ý¾àçRJkϳê|CÒTá“i'„¥lg.ÿ?Bº‚W&­™„™z;ä¼…'A•Â2*¦åþãq"þBÔA¾.ôŽ¥iw|páMú:«å'$ìž~±™z¿U·ùoÛ¹À!NÉ|M žÃBxpåü×é¸Õ6îàÁu Æ? ¯N(1ÑJ‰Š'[=ëŽ Fu>(»Z¤.Ix)㲬¶‡gî<žåXK…Ú1e>F3®KÎßZÜ«jK­ø+0àV^©2Uía²þí±.‰øo¶ürzóŠ½Þm ±må6$ÂÝP©ˆìâH´ôþ®î +Ëîªf?¯Þð;ý½5ŤÝbC½ž2kG|¿¾izÇhά˜Ã|‘7ÑÅ7Ñþ=º)ýÏ[Ò‡!âŸ£ç ¢µ)BôCYññåõR0AÜÿ°þ+xMêR{%W^qŒPí•^NiŠÕC Š‰Y-§…ùŸu;÷Ο2²xï™T&í7Öõ=æò£M‘›‹8^Wd)^«3½½0AæGÊýqÑÇÔr@+8Ô0MØ¡Kî…î!L.^5`šê`e¤.ùú„m«Xˆ×xQ„‘À7.ɹ‚ÄGª”UüÎhsb3-69xb<5k5‘ûßÌPÏ3\ȉ=ߨ!vZç£%Ï:¾WA0ÚVv#ï(Ë'¡½mIþ‘Zô·E#ûv$–Ë&ÙAßs„b’å 62!]Ó¨¥à~4%˜ÛýQ²^aJ¢è(3L@æºßØn1IaÚ/¨ ¿Y¢ÄEá¯Û¥è²ƒ @zmtËá{ñŽB¸™¯$¤w»KIQŸË°U8´&`ô6>ëÂÿ_e™k㤧~ß ÊÔÑ, 5 !˜¤5¯.Þ—¢ïÙÓQt®`ïµðÍ?Rj¤£w¢ ´¥’Ëò +Ö¼Ãâ)bÍÞןšQçdÃO5‘m$09?Ây÷¢– š*c8Ms)´ÔJöâªÏáK¤3ANÌ¥7ç èU°û)€KsÎ$Ë„¦“m–ø#±?¼ºûL M¯úB‘È­câ‡D²Â@°'›ArúnÕ'Î_ÐZUƒ“AÞûXÁ|Æ„8vCQU… Kó½^;2 Ä¥¤ù9•“ÌSMg\ÄJ@»tâ(¬)öˆ¤Ïà<-Š¹ÈÈöd¼ƒU¬Œi¦‡ Ê„A .À®¼oC§í + žúZ°Ã(©Û&º‹{XQ'TÒËœä¾tÚÝâ_ª¾nÇ`t«³A´–`¹ñ?n ‡ª4žÞU\¢5vnp² Ñþ€¬±%¾—©<öjóoÛ%Òa|ÒÝÕpçÑF"*ºÏH††j$',]ÊtÓD ÁxŽØx +%zr aGEaK]ÖF 5ç`9mgÕ*Š‰áœxàr†³ã”¡3oYpJ Bäd‚kŠ‰‹¼cj.žÀ‡–ßü­x½~ÕXÿaññ¾Ÿ©¥ í9 Q矿—gæNÑuTž·Vm™õŸc÷y=±£é©XRÎ éQ·ÿ‰Ê +´°¾ƒãôì{G6<²ôŽáŽ££2C`øsvÇì´G‹æb´ÇÝ|ßã"S¬„ױś €¯Wt”}ËĪ´ ‡#$¶­O°h éRODïz(/>¤ˆ´‰¯eXêîL.}€ «?ú†ÞÇôæŽã.{›„§VØ^$@E¸lþŒ*ø• &…¨°DîÀ†£…Ëzò€3ï ®˜› Œ"…Ym8H·×¶Gè&å˜×ÿ +endstream endobj 274 0 obj<> endobj 275 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 276 0 obj<>stream +Î/¬‡I†ž$­ûÒÆ‹.ÔüÜcª°¿ãùe'y#~D#pyÙ5w¸±ˆ—ÊÓ¾ÐH¤ÍA-åQø0jÍ~^`ÀÀ(y ãåc¦Hx¬ðÚ¯%ÖýÝy àS +:\1e)•"ÿDçŠèBvNîˆ,õG´Aæ0’y¦úÊ71¼  ð¼ÜvR›]j>"Ü0ʘûâ¢îè$×Ä°oìü—ò=ÛÓ'âÿdam;·ƒIZ)‘ŽÌEK b gÏn~ÞX„ü¨q~%¸aä÷¼ÛšÄ׬ë‰äÒ³Wô}a(¼Ü.ú˜¬ô:©I/}P|«Þä-.^µ¼—¦hF(¢µÖãû-æþppJ}ö’£õ_;Vadבu@@kM ÉfÝýÈ^–A\ûeîszÐh×úúrñ8 2Ç{c‰¥—p”¤Øw8å.½ýÙóÑ¥­qLÝ|­bo‹ùÿ÷L©‡¤è´HuEëõ$Wò0­R³*Èð6ª¡ç_îá¯MŠ'e§ÆŽÃ´‡÷µF½[üÁ‰ŽÀb÷º¥w¾Æö¦‹oªgl"qM×ÄhZÓ‚Iê†ÄÁÇ8 +q Ž0<†Æ<ÁzqòE5u‡Ó&­ÜNiÑEÍ\ÀÓØ]²Ðuu¶ûn«3;£Y¤&“r3º~,³Pú°YðÜRK¼«Á‚†™ØSê*¿¼3OcÌÞiŽs?ù*xäÅÂu=¤¨Ü%|ß؃D›Ð•#ƒ4i7—R„tT9*œ³Ž´A­Ð½0.[æþ^—^ˆÌ¶îv¡-3ªNš\…WtI³ÎÌÛm'¡IMÛÃIa4µo„RÀ4®û¨ ãÎüøñ)o<“}$«oÀçîéÓ( p啺¸ä=8JOø2·—ùæ®,-°’÷½¾§Å ¶5Jm¨&G•|d¿ÒǸ¼ m˜ÂðhGpv—çè,©.)´+&ÐuQж/©'6þO­B/vSA¸öë¬Ã퀿ýGSöôuX.8A³RPRøY)Gÿ¥É…”ùΫø-ìd%¸\@Ÿ¢ŽÑË3e‚ÄúÓ4Ïî0ùk~†èšžoL%Ã/èH¬ÕVg2(Ä!’¡]B¤Aá¦úúêWiñ ,4ÏNt{þ43ÕJ:°CHñ +¬Ï>ž !(Zîžû¿¾6×oòoóÔAu%WÒ7±’H—o7`±îü‹ÿŠ£@|°½ß3‹£‡9¯ÃN7ï4ôÌÃ@@J؂Ѽ‹öÉø¹ê›µ£ÖÓgUßBéëx’¹„+Ä¢j ‹m%ÚÂÅxz¶\ƒø&:ù& +‰ûèåña§ HçœX»òZt× ú£ëhÙ‡Ó?* +îw¡:H4’ôÂRò®Xw^ž€ƒD¡¹¶aODTÄÀö̧Tˆm°ïûð,°s|žiÙ³aíœ_NŽ°¸ˆ+dŒñ‚¤ä|Zæá(Ä\êµàÛ +~¶])#K®D$Nزzƒy/mƾôÀžód"ü_†xZ7×ûd¯8 Ž`{1W„*Ñ(ls+Ùšh +¾½ û6„@t0ЛdÎZOûÀ1U<©gF©ûœ7ÛN™º]îÿ[`˜akûOñyÙá}ú5~•1M½˜éO‰¼¸<:™1â6ÏÞ~ hqŽMÿoKÌïگċ»cõsñ3;ÉfiêÎîÔªôbþïÇan`É_qƒ‹ùbŸiEM"& ÂH§ÇÙo%¬¸LJ;ýd²Òí‚Å`ŽöuzØà6ßcæ¾cI.ú Ùž_"‘ ·„ûƒœ±ùb%ãñ>4²FH§+ц9–å)6b}BHKFÊ`Iæ_·$´&w5² #FÊ^{ ­,-Í^†¤q +&Q ?ÙáÎõ•ïydoº˜Øì +<›R¨Ëà“ç„A*—{ÄPÿAb½E d³â 4{÷w½uA—BC*áF@p[œÝ ¼Bèí9é(™6‘Ö4£ùîÎïë æTh&!v6óûž>Ç×tÕéJ]×9!ŸÔ Ý‚Ç›Ÿ—’Þ³Èh²Å+Í(µYS­äuã +å-·»J¤…—Í,Óvܳz4|•œP÷kŠ“ÙÆB˜Šj0'¨U-uA3ú=3£O"ÅöÄN@ÏûÀà¼?(õ¼´jîb![ׇ"iŒ0Ä™ìF¤gÖ‘™v—~0_˜Šl z6sÕw@Ñß4Iô£¦Äƒ<åaŠ?&åÚ^l+ô±=®Z|”à[ÙÞ_âe¥ƒòLÀÊÙOTÂ6éÇ}8ÎHŠN¥áÒ ›Í‡ê ÑòwÊ4…ÂÔÉf·c#¹Æ£ N»áøÆœ +Û#ÚbQ*{cÿz1ã¤=S“9}C éXBRpÇ®Ê4àÇQ$ã¢fÓÂh—îñ†Rß¾ò §áOíDó"~«ç&äÚ$¼d, ÿ$`“‰LÀÐ`[8 tq½að¿£ÿp MâÖ„Òïó¨!‰¢€Ms™ÏÛDPáųqítèä/«806úÎÝø¥öÍQ.·FJâʼ¡ð•µç¬‰6YžÞþŽÀ®îf4¤iow¨Y÷gür¨Ôïj‚Çßà^mŠ•Å³#,¨¶hÆd".àÁ…:öx& ´%×< êÄsËùåUµPLK8u‘`ØJrR°ÞaÛE‚š3XÈ ñÈ•Šš ¯ÑWÿÐ Œ+×µ]Jc©Ûßz·, ¬V¦²Xƒü2K }HN4-™RìîÝŸ»Ÿ«Ž‘öÞcX‡7g¿WªÙ¾ +®äÖ"Í%æùùìëÁìI`C6"êº×aJªk@?:_ØÖ|Âx rÄ&Íìû$ÉíbøöÑÓÜHzž‘qiÙ»òlAóÂ~žÖ^ò©æ¡µ[Ñ´»¿Cc?©' ˆ–þœµm³rü™†·Ñ„!‚0ú+T¢žN’„o_˜„F¥ÝÄÃÈrNáŸk0š†ö1!HèÇû¨Lø >A7! qNq‚+q LúK†û%¨Šï6¸0;I²=záGZÞ>cSÊ4ñ¸† Ì Ñ<${›I"Š“«tªõÆåÇp­—$ꚇ9‘ò'tßT¬ûðÑâÔ²3 +‘nÑ_ívH,4 ˆýß5d3Äg GO'dÅÁåï\È®¢ÂICmzî;EÔsü“w·ÍÜZä½uµ®-¾-ü> endobj 278 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 279 0 obj<>stream +ìØ\H½%*uYYæ ¿šUŽƒ¿ÊŠnAP(˜ø–` €‹©kªïÎ %êÏø^¾æÝuÛˆûý0Ýx*ÁQ¼üïÏmb6'fñ?•x|la·.Úæ®E=_-Ý*{ï£|¦,.¤õqqŽ±Ìýe®Rd™í1œÂhW\pâ;6£ÏgƒqEö»D¯}œqG$l}€Öû>­GÚ|ε8(rÉb¹o£Ï¤ÝRœv!9¼þ.@媚¡ÈÓ¶ŠèúÔ7,¯<8b_Ây€‘¦Çõ‡¯h–bfntÜ… 3“ÇãdýMYøÿ1gÞøá€5¨3ós/–¥B`G!’ØF$ɃˆÇ¥Z»Ç2¢¸ï£ûü-Ød1i*¼‰{å§=Þÿ Éâ4ÊRk/¡{ÊF¿þ»–â,ˬ‡7n¦cÂì}!÷h gEÉFšIº-ž7¿¶}‚¦áúTÙAÐéaÉ#w©¹'Ûw&6ûœ¹ù°®*,w•OŒ"‘Í=˜òQÒ ò² }6¼z8[g†7±“K!à¤ôL-§é$p4V Ð>Ì^5 _Ë à9¡}Þk¶à$ŸYþc—´‹QÝñL‹9Å£þ€"°Œôdú¬¢ÖQ¶+Êë6ܘ” [|ë€p£®|6óK8óʤ{Àe|_%€nó…ÚäÕˆ•„FR>ŸVkÙܨgÈ<­+6òë~ö+UÈûL½0±Ó(::h"2òvž®3~cNZ‰ÈÛ³Ž¥GؘZ•ó‘0qB¦j +ÝïÁ5:Zž­[sš6@o”a@¤.ŸÂèÇbP‹çÅVw“‹Näºñ5@XUqj5!0̤ñ±~«Ç!ðôˆ«u<= ²„²µÖ?£U AþêÜhþÕßIdªkœš4,¾²Å0Ñÿñ¤ëÔ[šA8犉H/˦±aÔ¼®U_Ô +C°´Ó#†Ûb¸l¯ÔÑÔ·no1¦ ’´ÉWeñóü@bEé?b}“—»¨he–/¨ëa÷AlK[<[ä…Ë®é"º[ó ÝÑz—9È 0Çg¹LÔ^ÌM­æà0ᢈ¬b÷öt(¾R%aý¤±öô黪í®Ð6ÍïÍ.IÄÌX·0b)ÊÝÿ„0ªkâÐ.µâÑôŠíH +°ù¨SæÅflůÀ¦:Ë͉z€OG2+T¢3~ßÀ×»Â!쵊g­[Öƒî2$SÜÖ/žççÁ˜²·'__e¦k< +]šø“ŸˆŽ«YÙð7ï9õ5t}õ¨+7ZÆòQôöÊ  ntæù‹ß9¾åêwÑð9æ¡uõ,¢vÄ% ©%ƒz OPtÝb{(, 4’‹.äa«ˆÅiÐF º™m<•*ѯ)ƒ4'É-Š[™ÕmÈɧ“š8ÇX†{å ‰º @<Ó5Û®SGx´|·oá,º²IO‹ÿ|S—8ºéi†~ØÄ7­þl±†[ꌭìe°²É•zÏ#y/=öa`ù\.o€¼×CÝ0;é°åÿMO—e2z$R]ª–­j‘vü€K´Än@Àmís&c²WÅ5>ø7DÅô U‰J–ŠœÈñ…O¹Kü| @¨ÊÖƒë(E“²Ç÷ˆC‡ +$7+ôîý;úƨ÷‹ôR *½]¬‡ÅîåEË_b`!9õ"„”õ…yS.e£±ŽçÍŽÍù h¹Øô@˜ü[MÙXy¢.ƪ&W'սưäC|_;oÀÈ.‚¾­¤â]Ü BÁWÞ\ù q­f°ðÚB§3Ùá +# Ûú·ÓØ€äd+qݨ٪Ðþ™c£kùg¤ô­ºµÎc¿“zÑÌ(ë²_´ËWe¥˜ÜÚÙUyóƒ€Ìp‹õɾM '©/•¯M’4 RgŽ™DaÑU øR—û•aKyùKÙ—¦Sò7= ⳋí"ö¿EÎü+À@ûõ°O—¥øòÍvsÝ4+ç_ûÀxsÿWÎ_Lb«¨~>ƒj"šå®"4Ú4‹ Ak0ûлla +b[;¾èöÍÆÖ¥.ǯ6û{qpxpãi{Îïõ† m°\Ù~cœP™ïO˜™×8j&Døç"Ž–w#…äxˆ÷ÆùÔ¨©|dýEîF®hB£‡n­49w‘µ“o'I?Qz˜’|¤à8:8œ(új +‚E¸Š‘b" +|_¢«ÎÏÌþVbˆŽÓ §ÌˆÞÔ‡x.%àÅÛ5̹!¡7U32`Êëßpý¤³ ñÐà·„ôûkõkÂv +×1”ð­,]œbÊ1îÎDñíõ í]á¶y¨µ%^ùOš›¯lmµK—öÒwCÎ:ú3x¾ð¢@±þlì˜ Úž{ʱ“‘E‰R’™LÀèó½—›“hd/¿ô‹Ûñ'#J¨ ‹@ý“ªmÈSò%<îw;©ŽUî1ëcˆ7[Ø®Ë×s»jÀ…/lDÀzvé¼¾ŒÌu>/!•wi_DZî .ÂlœMfWóÚ}Ò˜²ÆYLï¬ ÄdXD“¦ù}¹ ¢Ö9ÉØÛnHM¿ˆåÕYŽ_R›!T}€¶¶gn[YšÓŸd—‚?qÐËD掟#>y‡{ƒ=‘Q²Ëjq)ØîMS‹»¾"¹ónBy0òûÎÕ¼¿~Hjeä:ŸñîZœzÔæ J¯›pü`äãå^Ô¨kDŠ.l'AIµ$ò@o’ƒ”A½Ò­b¦Ûç¡5±~™ ÎtÙõY®hÇFÈ‚‹â"ïbÎàϽ‹þQeñ»&÷q¯3\£æA( úð¦ŽF¿A-|‘Åét™z{{[ÞW"ý;Õ™]ê|MY>†ˆ…S!¾ŸÑj[<Ÿt+FYEÀ]HT¼ÇÎ0’ðNqý7ƒUó£–¯áQ`}nœ5ö!ƘY=%ŒwóEòå_¢»‡æŸñϩňn6#f^W¨ÒÃáørÕmê|·'œû¦Óîߘ% ì,ÒlN Ÿå†ý^R½0åÔ7˜éÅ”éåzµ¶ˆ*À†‘­°&m« ÎjÊú¬ Wrü^ið\çS6Æ›!ØúÖÔÀs ¹Î>„×Ë@)Y’_O ù'a·c“à†“Ü=¯”w%®îžéW¸ÙÓŸcÙDš7Ð4‚È‘ïý˜]ÀŽtnçaÍ:‘mo¶Ø ™×ð—y~=ò°Ý‰°Žß¥RG7Yú]Ú‘¨9¯3‘\XÜ€³Ò[^EüMn /ÊñÂèOþjc™¡Œ#Y™#Œ¥(ˆñŠ§ÄEïçõ²zÝTþPdÞá9â˜îÞ¼ç"µÄ»¬–ϧF*‹á-), *eͼ§ŸÙ6 ÏoʱîÎë;Ûì:Xšô±þYö®y » ) +bdFÑ÷ a$œ¹ ꬹ5¶”“q¢×ð3™2ŽKeio’ÿ•@À…³xñ³˜éöoçt•mòÉ6%œË唫 ¥y¿cPæPÄÉk™õʽ7´ ,îpÈ5ä檺•7.ubNM¾óØtÌïp+ mh#w~;G¢¾ „ãI0–#€@E°¨Ân&æ}¡ð!v.ô<Û¡Á@m8È…žf®ÊN¾ÏIœs•ŠÓ™Yv'¯,3$qµ5á½Ñ&§pзÒ1SÀŸ€xî?ŒŸRQî6 zØ'V;KÈK|¼Û@+µGu9"3Žÿ¦>WÖ]fWxG«Ð:šˆ§è…¬v5Ûl>¥V×U^O0Ì~ðß¾€Ã-ÄÚÖû?ÀVŽFkí}¨‘ ó7૨´‹¤øPwÏK×;#)›ò—|x\:D¹vl·&cúä T3±a»¡ë¡6#wŽ÷aÈÌ?ª¥äd »_b ½$ÓcgtÕ»}¡í€?¡Òo<–á×cFäØ¢J€~ËC +æö®iÒ¿îl¤ý%>8 q“+v!#f}Ž0ÙÓ­ƒL—.>-cBdt~ŸËdA@a¾¨$†4B$bìY®V¯µcÙ"¶3°³7ɦÖVžr¨¤/)áÄX“J«8‰"û²r‰W#8Tjì’ð:µ Óî\JŽ ¢Wr?‚Y·uœÝòšhØ{Šùî§Ñ|óu÷ÂÏk.jg!Aµ—zn>ÿaQ*y§†KAxéaÓÝhÅë=¶¬ètâh9F‚Jåz˜ÀÈÔ-/ÝMÅ3¸#øÜÆKÏ.òõã¡Îé<~†ÓÞ¼®ƒ¹Y#y£«GéË÷‘ÅóOfFüÙýÃMU­8åÑù·2~Gýox­ÔõÉ%ýR¤¼HÛÓGìN1êM¡m¨/Û¨? +endstream endobj 280 0 obj<> endobj 281 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 282 0 obj<>stream +2¤•Ó—$IŽHPÈœ¾o»F"À8+žâ1uºøp¯8þ ZÉÉZ!t‚¿UÚ6S]%Ð9ÛUr• Aî#0-¦ï +>`%øÆÔЖ/&üíŽhãÃ| +:h¿¿3]n¾j«5X :{OÅX>ÓMO´{vö³Þ×t¦£†“}?˜ ÒfA3úŽ¥ ÁîmÞF$µ—Ñ:*XHVå hä¯D€È7m(|,×/ÅûqyÓ6UÄ'tã-ê®\rn$ @í)PsžÚ…uÐëhÀ–õ +Ùë•7ðÎçl“ñmaNsÚ0AD|4 B`]È·®œ\!›¿+§„fnBí>§ó¸ÏÝþöƒ(µaë»ñMíˆZ¹ûÍß>~…[¼ü¼ù$¤ckèTm? C„ +•«@|oPg™¶A`"¨"lWeßÃeúX­ +_mêù,fÝ‹âæ\Ç/±†uJ{ÖèÎyg‚u}5í:½ o<Û5‹ÏØ!M„!ì=W¬.²¸ð$«X±Ø:I‰”ePÙÏV@·Åâ¤h# +•el_zØ«°•Ü—‹‡öy$"RÆ5Ô©ˆ)/uå”»ú!vÆ¢ñ÷d¯±ô£%d ½e'RyBÇÚ×rõ>éJpóÉ•ØSÍÒuÞD¦9€EÃþȺ!ÿ_ù˜f ß!¢›¸³Ä*P¼/qIî=œö<ËOž.:õØí‰2Ì ’XñÙ@PèLöªóÏÓKû,~Ýìæ©åcŽÔkwgæǺu`µxÀ®œ#¢+û£ÀcÏiÆŒtXˆ´aô£¾äøêÕô@VÒby&UÇ–x“ wÕû±sÞ§‡@€="èqÈk[èî¬$f“€Xr£pÃ[4i…N¯h¤ñÌD«ö%A7j/1z+Ü s¶+éüsÎ&¯ÒGAv¯‚pßÀLè«ãÝD]£ÞÕ ½û&@cÙãbŽÂieÀ`’ÓûE§)uUâ•Z¶†U¤êⲂˆª7VVÖä&‘hýŒÀ7à8†hÔ1#ÃpaxT´ @󾩷x/^lÓ ­ ¿{s¶kè˜~Mk1Ëb76’)Ÿ Þº#ˆOh§®ƒ&u4™ñœ3>¾r;ËòLÞúwCz–rÞv•Os€oÕõÂÅù}a»„¬q+×4½v_nk@ë:ƒÒXC ´­œø§}‰ý›¿od ãè¹MÇôƒÎ³ +°JcàªÈpP'ðnfð( Ñ݈&aU¬á©E[xð§n¯Ð~í¾ˆf9³®‚€ €ÑÒ0BJ&¼NPYnþ3°2 ¹Éq¹ë$ÝÃЋ³Ò4¸ ‹:çú\AÅfozÌH2*yÀco¬)(­3Í,g¼® ÎµŽnðhOÏÏ\:A©;ÕÀhB>ôâÐbǶ_÷xEÕĈT©‘×»@ÍNn†ÃÑ7»Åƒ]·ï§³”ïm™©úgÔvé}bœ¹ ›ßVM‡É²Å^…Ͼ–áùbÖÜÈØÖþÐ~b!ÛÚ€“b’j{r¥ä\b—z„ä”C:Oã%lÓxTËÙWÃŽŸi­ÅƒñôµûÉL‡·»˜q™ÛÌ“´3 #zšÅ\EÂ~¡9`l–ìèPŸ$J÷ b¦ô™QryŽÝJÎ[v…¬¨‡U®i¤#% †npԥخScQ§Â!uoûï>žn.Ÿ˜›@erù–žôy1Ž.¡sLu`ÄHaBL%_œ²ÕVħÃcâñÚpN1åè!:â«Aa àûáàyÔŠ{€‡r•ªðŠ…q‚cPú֕Ʋjp%`aŒU¨RÖj7ɇqŠ¨ŒÛ¬Öá*$é’[k×ê.™ É3¯óKAëª×õOˆZ\ÿËg—s¿â}^áKëïÀ³oÚ)Eçæ¼7Ÿ„ ãÀb«ès¹géÊiæx< ÁS"vøéf4ÞÇ£Œ!ë­÷ŃIÀÐF + +Æj^¤~ ªìÞ¾Âôd`Û›ëšA°ÿáé.)}Á3í·*Ñ°/Œ608ŠÆ ¤ä¹úEŽÎíX¶aØ3chCC‰ù´ÆõÄÓO"°n^—‡ÑéBâmI­üsûü£•yýãKˆ+ãý`\¾¼èéͧ\ò^Š®wË@èí$§-Ö_yjé÷ÇJAH9W®²‡ÏCJxŒu0õ –¨GÑÖ üEÐBe;¬~¾F¶åÖ?ç>® |AQ²Zd ÄõX5¿Aü¬Q™¢]þí„®0áˆÒ„"o²aî}œ×§ö´w jJã"úç2ï¢ûyœlóÉ(ÿ›x˯iWÎYå*š\oAE¥"aš½”¶2ùœñ(G\Ž#˜[Ê^±¯ù:\9áÕ©˜•ÿÇ4xHéøìþÊšÔ´5 +ó £vt×é¾áÕOãØW†Ê àÙäC¾á¥2Eà«ïÌ‚pZ'㟂„ê^ÿýn*eÚ8Ò÷º\í­hž¡èÇÚäEú&H…¶îpq©¥õ)Û¬úÆH§™-»¼5Á;Éâµ±ë\B-3ª#ýñ˜Õ+z¡0¾Žo,ž*óéçññ ÇS¥«¦Ø2®;—›äDyüAr‰ ÷!ÖÁ…Óû¡Ö £<³êÎLó þxë<Í’Ûá ­Uµ$jn­÷Á’ÇZEu°â‡ îsC´=õÖqǬ3×× µ¤= Ÿ÷írIHÐÛiƒ>rrØR(×eQG?ë¯ÍÃÁôg츸pŽd.#Ò¶{Ÿö?@&6ˆCe(8 +‘Ü6šÑ@¦‚}^iHpJç’Šah‚Òà&§íÍsQ.ªÙTŠHC#Êþœâ‚ŒúŒé$ΫXÛ ÔvRoFùÜNeØé e*i¸„õøŽÏK&Nñ‘Nœ§ŒøÐ`ؙҿ•7Êg©:IE*P™’y!«Ê[ÅŒ-ÐcJ ®ÄÌ–GŽ}ƒÉÊ+|º .¤Â2|kj³Ÿ¾8 «¤,—®þã£] iFI{,óÊ×Þ¥ïMØ Ž +ðŠG͇ÁHû†Ë8–{^gÌNe’¯©„`ô"CäQí 8fy¹œ¯¬‡vxï6 Õ +N¼‹;àê~’_bˆÓE+â³ò_},¹:†á5㿯Xñ¶ÆÐOý>Ù8Pfw­–"$³©h›AÅ™çU2ª·/Yî½° bQ¾Kºµ©2ˆÌ¤÷µèï ‰ +çݼö t--”‚ã!H±95aB±0þü¤ÝïѹŸ0Û¿¾EVߦ‰p‰ŒÖ2€a­ò*OY:V^©¸ÁŒùy÷[Ç1ߣø&&Z”›Hü‘Èà’눱ìÚ‰a–Ç&â#ãað #ë‹,¼ÝHBÚ/þÓÎ0ëb"N2b‘¦ÞRÜEêÝqO)ñK D #Á‰H湘Ô9/÷“Ç°Ú×麟? E·~›lZbw¨8  Kæ=´á²ÎÈ¥Ÿ[»´$¸%<=Ä59û—ñÍÄçrÀ'AvÉšÛ X1½ZdÆ>¤ãÂ]¼ aØŽç5? ¿¥jƒzŸŒ©é,ºUß#2§Ê@ý¬PÞkœ¨šá⨠{’Kã±*#ÎùOˆÈ=(R_üº¶³:jÕ§4*‹ûíîBÿ”†ÏÙ;àxAN.u¢@ Q +‡ÓÑJøP„(Ä[Ío°ñ£“Û¤X¥HÉgöŸM›È×w:^V5Êño}›Rñ€qö˜HOcFb¬+±?Ù–ÝáÿU4‡QZ¬MU`«F›ìuŠÆdþ»ÿß<ΑF7{Ðç#03Ÿ8b£¼Í .§Çl~í)¤¨}¥`ÈaÐj¥5¶mßÒX›>ÙïqÏ£®!ÒnÜ×[! ™¸ñAÚ±ã ç8áñ\lìú~NßéôX HLéÔ -išQµ”Øœ ãWN`Ò:%ãQjnZ¢;â %t¬ÛþÐVÊðLšU‚µÅ¢_7§<:8>p¦ªß˜NŸ(azp䤑d¨ë5‹ü~bXÊT­-¸ô/ª%‘E-míR ¨k~ß™„~¨E…ä]ÖEÚ P|¥¬éöfú“:±Š€ÝÆë3¼|&C±¹æ/)-³ƒ=Ü%ÎrAnú`¤8*|n±3ÄõÙå½»½Ø¾—ï›yºMc!,±.íþ;³ÉjVlæèvÜH”~Ïû¡ +½;t‰ò+I,WôµSRœ ŠOz¾±2>ƒ]‘³AÇmî¾!Í/Ô½°qÉ 'cFc¡¦0ß‘¡ „cHG“µI‡pŽ—kí˜'»žéì1bcŒU&a¦û0\(â$z/Ùl_ŒV1œ‰/°¥›¥(!Þçæz>pÜ÷Çhg«£‘æ­+Ù`‹Féd-Ò®ò¥ïwGÑâ>Dj ä…ˆëàgGZR:Ç–*M~ì•}£¡Yä? Ú@Ìu#f<"“~ÕE|ï´ÕˆÍàl"ð¯Ù(g¬5Ó•€!“=“Ô¯õCØ[¾rd×ÉÂí¹]k’ 65 +àXmê2ˆé,kƒã è´‰— ÉðÌòJ LäÍ +Ù0‰†€lñXûæÀÈõ»4–—ÄñD¸¼œC¸ŠX@S 4š¡ƒ´9[å÷zr+'­Õ$ØLkidañ{ÛKÔËþ`4"bÐöaý‡O¯{–;4Í¿õÚËùâ.Ÿ’¢îG7°ý0·FœäQXX[g ;\ˆŠd† ö×çz"x¥l+,÷¼lgûUóo/Ù0c9‘1`v’LÓœ[ùo1ì¿'Õs&u3œžOj'üô§ÇÍ ø.KaþËÿ¬'aB)üªHrTp9}®*O,C¤ou_|ˆ„l뛄-°ï¼ZçÀZ»Ìá’9@CÎ_é&&Å6w)²¡)qâ̦Üóh›ä宫30BGpC¢ÅÊdÌBYAÔŸ¶ Q'üróTN¹Ã3ìÇ«}' ‘ç †}ÚabÏ°q°#{LiYâ!…=žáñèÐfg +>{®}Q9#ÚPMçÖù_á'­¿DŒµMÌ›Í&„™Œ¯6± ¡Ú¥ ø ž‹VŒÀ +›"ߥz`2J&J>Æ=6Ýçä²ôóÓ«à—Oξf¨¾†AkȶÂ7a»‚CÊjpf÷Дˆ,*¹”Êí ªâëHfä™wãµfBŸâå¾±LZ7æ ~ÃbsŠ•§x,û»Ý »z"Ü{¡Ü½!Xߤ8‹ôR¬xþúBìyCQ¤‰¦>} ˆ qªéL¾¥U¹Ê£Zõù¾¶,ÁÌŠ!\%©9ž8„0 vI`™}firJÝdA™WÀúR/+ÖÖëù-i±S9{Ã6ÜhÝk 6W7ƒ†r…ö‰Öòjy_ö"gk»êŸh¢FÓ‡æ‰MJϬ^ë–¹t£Bó÷#Èßàú,[ŠΘ°¦5®Üâ¬7S¾úFIÕ®;|ˆ!þÿ{÷&y€ùê;â»/¯;û?W¬š:³ï4#ÿN“œÀð³ˆ4qS•B-~B¼|÷cï·®iiÖ– [3"•ú(|"6i]! 'óÁw=[9;Â<è‘'cö}öl®®­´Z40íÍúEr¥R¾y_Íúi¼ƒ4f\ràÈu„8Ï'®@•waBNaæØ‚DÔøŠª¦3ö¡Ië-Í |/ÙÀµWÒóÉÙDZÁð°·æî…£Õ¼Ó·# V÷ežJ§‘®üÇÙ+üÁË=`Ci ­NZ `·’7ÜÓÇë§ý"ïyú;zæ'Ç{Ñb°¶mCÎáÅ7±.Bµ1™0]1¨R/ 0í¹mø +endstream endobj 283 0 obj<> endobj 284 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 285 0 obj<>stream +9òZ‰]é[ÏËxΩvf'òÉ'?‰:=ʽà´Hm‚çÝa«æ2£V9ÕHYÏfÒâÛc¼X}RÔ¨>eZ¡˜µíÔ;g…¨+¿›X/%'Ñ]¡Gù9™xÐö–1TòÁ-‚õ×|Ý0“Œdç\B.I:’׫èì ±žQf˜€–4ÍÓ¿ ïD{ø ±ÕüÁ¼¼0»ÿ¾BŸÎ[W/´ï ¦.õÃz¬`Å´¥"S ¤¹SF3¾&1Ê/{ Y"÷]jsŠªNªgÚ±ø$î‚ñªýT(XLr·1.œ¤9s¬ë äçúhñ)®¿³§ÇÀÕ F¶ &gîÇà °ä…uÉÌ%“K99ÔÞVÁw)àzøºÊ±‘4bózúâŽí,‚  ‹hžÍ¼Äb…M ”#-Û¥ÓÜÆîÔ8ÓÓ–¿ßáîÂSqЀFõG~=r½™7¡ªÀˆ4´^ú ½2¸H¦ ‡ñ¾ª¾''©åTP$El‡øZ%eéæuŸhhŠBÁÂQ ÑhÆØ°f°·YhÉþÆ+µ¸§qdÖKÔb·ŠmÀâUdHF¸wOVY§TâïÔYø,ût« <ŒGG~%•î‘ X:fí¤Ä&¦Ûz˜Q©AÀAz€æ|-ãäK¬MáÉ‘Õ²éo˜}§ÐÁNàOÏ'Пx“=!‡¢*Î?ß2°xC{¬iׯø·ª¼Gœg?€—3A¬n#{àýB¥Žq! æÄ쮞5Ï#Rض…ßØôFaT~˜\<{?Òi¿;WtÝg“%,E1<:\…Hsè”;/“ï ¨¬ð Š{z§WÀéP+1CŠûZË¢¥æÿâxä9<‘‚ý%Yáužò’ ê>}åîÉA—õ7q:ÈõdfkÊΰÝY¤è}I"CÆÇ_1¸âä|;ç÷ÏK“U½n)J$(éCÅ°¤î>²Ï‰ñ³µë%$®?<»dª­ κÆ9V]S½Vd3ª‘MÒ!²Çþ‡gÓP5(R2FM›`ξóج?†{ÏGve÷mA!Xh™Ÿ Þ0Öþ¤z†=è*æM M/’í”ÏØúòˆ°Ù%´Q ÉO¤±G‹œŸTÛ˜úçÞµ>ÍØ)ÿo½=}œý´Z›Ÿ*ò±„ÀºŽ)*¡8#ºéG׫Ðw:Ÿ‡fÝn‰ËŒk0w=¿¢^”Ë©¡KEû„ž‘ƒ6Õr@Y ø6‹öœï=*FÅC S¼³þ¯3™âê/´ßR! Á3º:·MÓG8“z2¢7HŸíÞaȶòûM;ˆ—£€FÌ€uŠ$¤Ùd»†/4éÅ-ÑÓª"ë^7§­7 ;0|ëJÃV„¸(¼¸º 駉kŽçÅ=šo&?æÚ³â—Ο8b\S_Ó1–$…ð†)%Ö^ÛÝõz€¤2UWè#óX8*uç{u£.§Â3yÆ52KY£tY³]¨Ý¿8€¶ÃÃ:ß:‚Dž—÷`'½¬½ÆU_Än/«ÂÇ$ßG='‡Zà½òüpQ£›Á`[ÒŽ²êÂÕªy‰ÔÁl¾þKLÃwTqx{zA6ï>º€Õd‹zã&9á|fÂN[uˆÛøzXˆì’` +<ŒÂðÇ{ = +BùW‰Mða«¶Sà ŸS‰Ö°ிzôãN#¸=ésõ:ÊåËHwor݉³_S°’ÉXÊL¦Eø½JÏcõº1å•eBE¤þ©Ùéó½ç]ÍŽô³~à†PŸ}“¶A/)øÏ“„­T˜%ë ORo«t]‡'V',8$ÊU”: j$ü²`4ûe¦¢¨FlÌ•²Øª:¥¬Bç²›Ôü4ãô á` +*zÜTÖâîŠËl’°UuÛÁ6ÍŒš¬‡«ú~ž)8t]¥ñM¬h<ª Ö "%~‚‚;Qw\ÓFˆþ"¼¦‘,ûùåàÀ*ìIðZ³PÇïEÀ—¢‚Ê!×µáÿìÉ÷Ìf~y‡PܯʟfMÒ²®~U$1&éØëo•Ò¼ +* ™ŒË÷(·€ÝÈÈ„)Ç3Ii@M&.Öt+wÞ®èœ(˜êÉ­±DÃAi¢23.Nàô1F•7Su¹m½™ +☢ï#²‚§ëÌ´²Ë¯a§ñi#7‹Îëú¬Y¼öÌÎ <Ÿ(\½ÕíªU\'òâ ¼6“Š-åÆ¡µ V' |ÓÍ~ézpdf.RhyÐà`¬, Hò”üî¹m E½JÛt¸õwr@÷v^V/TŽ"ÌN°¹@>‹XËzJ,–FVˆzç}w‚ÿa‰ß™ªÆŠ³ÙFƒM޻ׇ¯á_ûC°›ÝÜïî !´–6L¿Ò!!„“PÊŸAÕha+µ>Á Þöyu Ô{ß¾OI†g£I°Î"†*Ï:”“kú†peºÚÌ-~‹ c-Õ§%F­ Õ ÷¸³õyZI%þ[S’ã)æhrFÜ"îÚí3‹HßÑNÙÀ͸O¼Ýr’…l™,‰ýÀ„ˆA¸„(@Z$Ù&•ÀqPXÀyþ(¶ý á“ØÇŠHת§5,ÙK2ôÞÐÊ!sà¸DæBÄ?È–ŸVöjŸv¡$Œòø–¨~o*)ÉDúì’¹²£ñÊ5ïX’ øÞ֔䅱ú½}fÐ7›-çl&6F$œáR’‚%ªÈLñÃóZ½­NÄ4Ô|‰&#mÔW@t;ó?s$ò-lû1{À™jRÚò¼Ì[¤7»/³HpÅèbÔÞÿV’ÕïLA[Ú¡³¦Æ éQUŠæWÐaK@\th`“6Œà&qÉû‹“2Šu¹f]|ªxDÏÞ(î9×:JwO¸í]©0#£”›¤-ÄJ\cuwØká¿ßKaz1¦¸kptÂñ1ø›„€HÚ§k'k˜"pª!›0}ã×”å'%iCd[‹†î2“ «‘Ä‘TÜ5y{·_EhSJF4Šé•üœÇ ™ôO2¿:â±ê¤K¥#d£F! ìjÌ“?}Ó5-¿Gƒ>0©«ÿq²¨>EbÖ㢷ڪfI Ûï™’3/žq/„E'×)¨=¤‡Æ“qjjp<D¼¦àv«@ƒÇÛ^·j(ß}ǦF$µÍ +iAô~˜ð©Eã üSZ…±‚Tƒ°í#…³¥–ñû§g\öl-zÆ}9à6¡|7¨ cá19¡ÀÒnó +i§,’u±×XÐø ÈrCœýô›üш1¸Œà+µÈ ñð»*ºÙmÈy¶xR Ãïãr÷gçB­•SÜ÷ :H¶¨Š`'j(]iò>H·eWäXR«>h0è¶`ªb˜[†ð‚‹'‘®9…²®ñïn³ý©Wx€zõPJ'4­Âü£çˆäß(ˆw¢wè”´y +endstream endobj 286 0 obj<> endobj 287 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 288 0 obj<>stream +Âk6Òœ!èÚÅ+ÉE5<èQÐêQpQ‰8Òý$‰«´”²¾Àâd}©£¨ïEÎ\i†?;?ƒ%e¤Õ;×/ x"Ö:D–? Ô%5ûúŒ>“Ý ¦ù!ècW Ü­ Èo‰7)¡p ¥q]¥ƒÂ2xëþ|Ë +b5øÎPK˜V?È<·éµnºN˜8ïÑÒ€¨ù—LF‘áÓY‚Äø+Fø²«h)ÀøTÝ]­†/ì3Ò‚“µ3R _›¨|­Ó8•h "J_ÑPîè£ü7;·}²@ ý® ø&ào: ÏDü“@\%äaê8ôû)_b¢„æ(«íBÓî”/ýêøûãadR ¬â† +½K\àj¿±S8ýaÝ™ä?ᬔ@ýv)ž³,ï¬~$üŒ–Á5/´tc~×UàÙvÕ$‘JŸ./)­ñ ܃Bpäú4s5qJ㧉+ñŸ7‡„/ͶµKâE[È|[Žg0ÔE[%uÊD‘v6ŒÇÝkZý¿YÆKâÔÙ ñ$g£Òq.÷Lûß©A£²°ÖmÂê ñ@È™/{ûãÞ–®m40S-@mf‡ äʇã+爙ŒU¹®r ýzŸÈhþhA³ µuÀ$Ã(9<§\ß¡$S:2YAaª6›¤ùºì“‚­$¼ÐÎ>žjüb›?0ãÍ@€€/¡®ß×®_ä¡Î–­&•Õ/ÛdSXÿÀL‡6…Î]Ƥl¢ä}5ÓòÕ½H”­4Wl­Ø´<ú¡*)·–6þ©sµ€Ÿ¼Lµe¹¤¼:_ÇzoEãÛ´`•ˆZrl +•V†$‹™ˆ-f)24n}ü=\Í¢HHEWÙ^=÷/¹ƒmuéHú¤ÛöÝú<½-þÈÊMqÞë—ˆµ$Zh<£K ±f/ÓT‘~¯Ã› uÎ>Ù[ù[ò94óÍfðˆ`«z-Õ6ô,o]Rjò-L|Ëâ}ãÈ ^®Þþ;-½nKEîÿݬÈÉO ›³ ´¢«Cë3‚Ćòj“»º£€ñhs9zŠk Ó²ê{]8µsR¶!NŒ¯ òlYHµ°Sòwmsï+Ô¿Ÿ¼y·f†ùï™—á[Û,ìâth†—^wXfÆ–qØG‰é¯Ó/äU6Ú:)Þ¯‚OÓ¢^‰ ie_ˆpõ™9Ñ’ TüIEu2¼»+œ ½ò›ì 9ìF¦ù˜)·_mo¡_‹ÇŒÁÇI‰+½&'îÿÉ2$鸋©QÙB(ÄDªÍgtùL áÔó·0»sJc¼åòk}Eº ”ˆ¡\´…ü>û'êùé„Uâ7 +À¤he«5—öÒÍqš…Cµ£>©±¥/^1ÌÏSwĘHOÇ1ÆcÙ»6IϨº°l³í$cíi`µVžOÓY ØÃúÅAÊ¥A¤þbŽÕŽÿÙÜE«ºõ“bSãÍ&w;Á4¹ËöJq%ìÊ›¦Ôˆ$盋–—Çt¿`Wé²wA¦·OrtoB’ÿ”ÚÿB&šQ ‹¯Ç¢ê¯ç,ø¶jÈÃ,*5nx&«"zžZRkjëvŠ¬Áÿ&¯ºÓ gn­Æ‡Z7Õ+8Ïôœõ–¹åhŠwõüÝ@òq|åî-½†j½—‚“šú]¥q§1–ÎeDÇMX&ê .tW.GàÕÿ•=G¬œf—½ÈŠ6øˆr^V¾Ú‡Úté©ÇŽô]ªT2L±mOpúË{Oˆ¡´ŒïéyŒRSƒãù‘ÿቀÚ’ÀkT‹„…|„&õÙþOûиY°sê0,ôFm1šù¨÷p'„é’M°4Gm¾ØòŽ¦¸ +úhVy’Äê˜z„ MÓàã„Uw½M®R è黩FÚWü¤\ê/Æ\û5%”Ñ|M–½o1!À®uæ$Ô„!%AüHªøOòïAî Âà CåCA'M ´–`1ΔÙ]ÈÞÃÍœiH8*糖8ÊãË€: BÝ‚S ÷§Ší–¬¼—2ÌP×/Ýñ†y_@¶£T.Dvö뚯H+­D4‡{ ‰‘´S ìçs•kÄ!(—Z´x–м?„ }ø¸¼qZ;fK¿Ü"ýسϑtŸ¥]Ûuýdä«ß‡ð˽ûÛI`‚„‰ÿÀtàUÙµ1À§­±%èÇ–5Ì8éŠÚEÉjl˜¶‰`LùTk,ä  ÎÙæç;3Á‰ÞU¯Mw¤”2%ÆLÄOhF÷˜„D•©oæš´¦Èd8Œ(öÙ§W¿–ƒ¯Hf%fYUkê²…£*Ρ‚zURm"÷–áÊqc +^²Ïi8§ +\t ÆöîÄ#+Š{È o @ø‰OW½é¾Q}Ë\û7³5ðU€xݤ…ö@|/6I|ïàLâ.¶!½¤?Kôk(®œ‰.¤ Hª-Þ®vhgLO,Û$á\´Ìdå9x¿—âjl¹óçí¸?±È`#»÷ý;ÄɇÿÉCÏ~qÑ0À¸Jùâ$× Z¦^ñUd‰¡ì´áopcæGkp£g5!´x?`æB_Óƒ„¤„ŽÛðó4Û•Fà<ºÃê-©?˵÷€$»‚o âëê"a\}sºË”ÿ.èê3Å +¨E•¼Þé·¾÷€ÓëËúqÂLö°ÿA{ªúvÛ0 "ßß{;*E@¯Òù]ïr:ÇH¥wl¼u@?á×»ŒÌ‚´)bðÕ«³=€xfm'ÕðÐKq>jPkÍ÷ŒWšR}koºëç)1E!lZ¾èý6K&ع0Ô¯ëõý ±´À¤åR°+áõçLŸ`Õ3C[»fû¼Îe µA©™ó4t R2Ròiô(ªb•êH‡‚§BÐ[’ÒE——Â!ÄÊ^Ü+¢¤9 Ì,C›Ý»ÒðËÆG.©¿æRRÌ pË„õjr² ç6BöùÓãÌ‹RÑã ¿”(a‰g†Iô‡Hè¿¿ñÃW2Q­þÏ#ìVÎέí(7ìúô¾ò`ÏL”¦ªÒ}¯+&e±¹üŽŒ"o²ŒžA/ND:ãšZfónŠIÀÕe`æÉ Á‚Á¢J³d3^žOЀ^šøcÕõ2á)]ÇÈ€uÀ©V'6¹àÓ[SÙæQcI§§I†û¦ƒÛÙÿÃÖH&æký?jhØÈYb,Å¢§®Aì„(J3§ÙQP¸½M¨IeB£Âk6yøVÍEa2Sˆ:Ï–Ù#¼ü؇;š²è{†±¾S$›dhÜÐ9‘*uÏ´ì¹9æv +¥+4žnîÆ›Ë ³¶Ã˜-¯¶ëBùP¢ã¼ÞÊbt=´hk5¾-yÄ¢êö<÷žkÏþì¦îofäv}Î@‚6zomp#BûŒq¼qâ9i¿7k½îb‚¡qÍ{|g{.\³kCê8 +endstream endobj 289 0 obj<> endobj 290 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 291 0 obj<>stream +V·î¾ ÕRÏû¤ÕD{¾2 ¡MqT–M‰G3’ÕÝ»,ŽaJS„ó>ÁÇC‘6¯i€þW½ €ÊEh1< Y°Ðûå¥2<ÕÌÂy 4ç8Ø·`WÁ‘ªÉË×èÔ€ÀP †ˆ¶«]C—ù©‚sRcQ/g™‡û±—PA`q}6å± ûR!uh-@Á-Ñ}á3ro4#j“%ç_JùŽ=ÙÑvl¹ÌNƒïüÊ€…-Mxm˜tÁ2Éß­XPEfœVVL lÕ3•yÇ+®€ñð™¬2BÆœVLÌI.æ-ýC“a°{™•"ô©ðéëÝÀ‰}(po2Yì0°¡©Ãe˜ªž*³Ùí"I,šJä3GcVt +S'Ÿcjže¬Sý2iͪâ.G!Uæ +3ÒåˆJ+;#¡ðÍ uÏÁU¦Ð¤#¦[XPT¬ÁTª_GV_«ðˆ^Žm°vßÏL¥™VJ×{É#©~Bû2Ä¥ °:Š×fÝU«<\y`ö<ÖÆý½@O§ðÝ©´?PJR)u|>¯Ý†ožz°nøHê|õ@±ør8,î‚•…¥±rêY§Â@X}ô8ÔäƒVx¼fô™$öR“wfÜaj8'•ØýcvËþ¢úªµ†KA1pz¬–©… òøR¦ ã”®wn,€øl]¤ž¶ˆÞS=éƧyËßàÒãs¸ÎaØrÚ_ù(jïpLùt3å³C0 ++cæU<„̬³Œ6O|´¨ó6R”aÜ°SÚ(‹ €¡R¡ö '>Zñß±wHVöëiÎÞÄ [¯ß@Oóc™8È„ìX^i +àh3)dAsS_uM²zNö+xjE!‡CÉç>iF/T£&Ág3YdˆùèŠïÚœek ؼ–O´U†!Œ )¯‡¨ÛþØb6q{½Û-ˆ%¼·\äÍ%|J–‡µD'ÊŒ`ÿ­fúÉCÒÀ¢¼#‰@ùÓ$ÿê©CFs{âµ¼Ž_¦Æ²áa¬<¨­a,9_ˆ†ÐMYP\³9“ÃßÊ=©4%ŒÿÉI* ÿç¤Ï¡ðÍS¼“Xz¤²¤åNÎZì ™¬¹<9ÂGÓ8n’™*7WæeÔ|–|-TõPð$϶ ¾þ&ô˜E¸Ýg\#ׄÜ0eÂԳŠéþ“%ŒñÑH_Ôp>09dïÇÞÓœiÔf{ãœ7˜Œ½Ü4ÅØS(LVÅLJ`ïÀÞwíðëÃn‚üoNÉ46o„æ{Èá‡%ä>#)©Žð ÚÚésgM§$#ï±$ŒÖaÔv:iBŒ³F}À µó¨H]†Ògu0QL$›ÖqŒÃîMg>n¥0½±]5:Ž 6ûÔß3xiàý›áM›×ËéÝ Ø½Š,°°Ìo$õtdtÁè +:Œgy³”J¿g cUŒ?>ŠÄâjG·2•¼ÀyšA:fš„þl›áxI¬.œ(ÁcîwPG s hf¤¤sÝìdºÔûäW±(¼í"c´L8³ <7‚—ªšhX˜HSßÛ’ÓŸËú<äø§#&³¶c¥(.J N?xB7O;›°‰ä³HÌ3ÀyyÀËkÿƒñH›ÑJ÷–he{òC%eÝRXÖ¯ú)¹ŸìÙA¼Sxç6Ô[ΖÝÎÒ×ða¨ Û2„v¦B4¹A +u_7Wz J]@( 0´ZnH“ª#/EKPHÒÅIÍ$Ÿ(EüTÀ;\|ÅŠÚø6¨_ Ÿ/âúH¢uJ°bàc)«ei¥ÖßC§(R `¡Ï*”j=hÇ«oyß[í[áþ·Z°Óf³xðOäÒpÊ^ÏŒHàlË;èÂUlÃ&âDbZì “9¥³ÇDéþ¦³‡ Xù÷Z*–5ɆÂLjEßµ›f^ýñXu%åšÑófdÛo¨|Ñò$mòF7¹¾•Î¹1£[$´EiŽöæÅíÊdGÕ,=¾²èT¬Ðîg®(ê›ù}ª²çg8HJw›š&·Ç O™´}•µÔþCQó}òMdó«-iðÄ£¾æ»Ãß—¨óÕ]¿þÿ\Šl­|AŒˆ³Ƥ°gªpy³kÌå¬_æXÉœrùƸÀHÌšŒpÅ„cIòûøUóhé~7¤7òôoCÜô÷“Š.تŠ¦êO>ÅК¼½îŽNü&ýFo#h±~A¿9MŠ'«[ 6ÈC¬âGStèP¢k«R=BYOÙ5¥?\Ý>x 黾èK®2ÔPÐOl"Þ~ ¹þ¶IyUŸÜà9¯¦dùPc˜ŠrâݘmÚðnÚˆbú‘2 ÈÉaëÐA~"¦  ¥ÏlóQÑYâ÷I¸Ú’3VU¶1‹W›ÔõmãÇ*‚n¸{ÌkRÓG ´mRtÝãÚh…S9FäËщy5ÅÉ¢ÈÄqس® Áâ…ÙÔÓÐý¤“êʼn„º"ì SѶ]&À˜ñ\ zç-½×§ôµ£•æï-í¶åC?>Ð_gÁOªhçU¯¹D#>õ”$ +Â¥î5\ÌE+Ýsñ¡OÕ;I2,K•¡bRPYäªt{É= ®ª^_±‹ÐÐÞ%w-ØçÍ ¤\£èþ-|¯tŽE¢ùüí¤Ùogß"C‚©«T<äβ¹åp½ïôç—{?‡ÎKêJÏ_ ë¥þ­¥÷ær:n€øf+Zª„¸" +ÿ„ʺUÆÉP  u˜ÌŒ–L:à1U#ÀoUæqE9ÏTùÕ÷tÚ›M÷Ó)3dœ‡o”ÞmÕ—0[ŸŠ…g–+¹½év6Y.è0ŽLÙ£üd­F¶!PA‰ÅÕ)_`©“u}sCñ)(¡ê–étÌ3Y`åhhº¨iaSŸ+ÒnÀÆ Âø@ LÈF„µÜ»Ç=aå#¤1Úf|ØGWvÆp¸Š­G`Î6àE+”}-¢“¬ßQS€óù䀲# ‰` óoû É±~[µ5èFû~«@îÅ–iÁDÝí‹ ),sN¥cÔ¡%{ôb£M¸+òPÈNG‡f<ðÈí£š*¼|ðÄJMêiaż7EE¡‚Ÿ6N/Êê/uâoQJEôÏÁ…a(xSŽwôu•ªfJ®Ð:`ôCÛ0ñˆh×@Õsuƒ4I Òþ R¤2}û†IºŸ1lcOÙ8ÀíÑJÆðU®46léRöèÈœÁ“—ØG‹÷/X7‰Ô‰b<@ŒÆ¶¢Å!å6‚ö¶Úg‚[­•¿g4Ê^•1‘yG ¹BêÏÒÞ?ÎJ´IÐv +iNqvglÏ=9ewSCp¢û‘g‘FÝì#}ÄMOC_`~x‰¯ ÆcµÜÀ¹ÙØÌÕ ”D‰.´ˆ—†G&ëdrr} ÷rLTHàýû{F;s9µr6ÒÑRÄĘgd ¯PŸîœÖ:î]W“å!­Q/júHWNBùšoÄrbÍýfñRî¾òËnÝœ©‰TGѤµ¤p¤L,$§’Å­ +Rä5Vh¯7([¥6^_N׬Áu«X}¿ÔYC´±~å²@™o>£MÁ×WÙ²ŸÞÞ›¸Á‘¬yr©P×X¹éù9¾¿(ysB*¹†Æ€TœVš›KjÙ.ñ³R7%¨´nÅ»Ù:„OQÉsk\—˜¾r•¯½pϪ­r¾¸‘ƒy»|ù®„œ¬d“²%í’)¬ O³‰ 66Nu#\ˆJ:ÀàÍ~d¨ Ë„‡HJühé¾ mL@˜Ù‚BŒÓÚÉŽrJcd["„6߉CòÙ’¾®¥ÌK]cº·NÁ힧0Žä-I5ç¯Z2‡ø®$´ 0Õµ0…y fv–Kltþrš=öÎB«Tt8«uþý£%÷âSÆzàš”6DüsÉÈm¬ÓâëÕ~å”"<WºOY¯Cy.ܺj¡Ùx±Wr% ŽŸ,°K!ó}ysE¾ÈÐþü z«LÄâR®¥Â`§V6œr™Ôñ ­Z>Ëi(å½:™&e^f¥8-xBÐøï‹Dî°~Jï+ôj˜ù[:„è;”¡ÒlíFv+/]ÿ%–½Š•°xˆÝ`³¯„ýÓß L4ŸÚ†ÏCº‚¾ÆÐúX$~‹_—8=jEíþ“º.*íüR¢ç³Žã¯†¯½MuSÃëh‡œT4â©É1{.ã.Àmmg-—‹ßøï©êº?ßîM n 4VΫlÒÀM+áçò¨W:5æ­mCþíú÷Cr (Ä_¢XœK±[©"Ry^— ¼]góý#!ÆC«AÛÄ,“áÆ&–·l7™Ó¶ÌD%XMè¢>…+îË û¤UR +|%Ô š" ²aeG +endstream endobj 292 0 obj<> endobj 293 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 294 0 obj<>stream +h„1½Ä^)û n»¨‰hípGM9œêÏ뿯¿!›ó¬ðÏR»d0OÈÖyÍŠ¸¦ t¼C‡¢P:_†«NB¾h/ êÇ-¥¼Î.0ŸUŠ8¤NŽîÂðh*a]&ˆ«q#ŸPn!^G®ù-3ÉV“TZì»à³™óë°qm;ÏÍSZfõK;Ñ$‘—/¢Á*ºŠœ£‘ Õë}D°žL-¨¸àgJšQmôy÷&Å òÝB 6 ²f|£ ÑåÙ°¢>Ö€ÆÑåWÐRlz{«Žc•½Ž·Þ ó5°þ@úFÙâG€¶±†ÎÖÁcD d¡´î›°=ê +Ó½ÏlþþMù :]$Ñög ÈVOPùÅ9 I›»œ‰…ªuij]íb.CdËè"uúá¦Ëfá3ÈHœî>ék*ã'¢ìò%QªkŽ\^´\Êû¦lKÕô†+b-Üœei®9e°€V;ƒŽ=_2ü}î."„zˆgGáÓƒNÅ(Q@Èpz;s{7¸f¨tÞ}‡G õ?Ÿßd¤”Í®oò¤Ÿ” ë ©m™So4o]eæFÁËùq‘TùŠŽt´Ê :hy††±€¼€‰zñÿ_ŸBÁ±\Ó³Ý:Ö‹sŽ%;¯úWÿ@2_ãÝúw"R7LàiUø·ï¿áâ óòÝ7T­_³ÿ÷J^Ÿ]á{^rÙJÇc&ž^Û;—Fñ ”f§M¢j{(\çé2€pw,Ä©Ã56Äj}¢0¿OjÊйxËÊCñµ–…}QÆ°°ÜÜÂàbÖý«JοÞ$Ùœ·¥Wë&¡þF[Ãèˆ]÷Ú’ŠcYD&iwÓð¯(‚æå]½©ôÞ©Ó2¢þÅÞa§zg)œË”,–ŠV¬?5%çoøêÙ^¼lâÔa¶³o Ûõƒubê Cñ{ mnò—Hol(žà†Ö,è½ÿÝåÉ`”:=6¾ô)`#  óå€.YãpäÄ´¼¤=³cSEÓzÞŸÂR:zº€Ú¥† ¬@Iâî¶å'&ÀþŸÿ;ì+‚¡?N…áuBYÂ0àW$UÛ«î´ªs%o}¸ ¹ˆv§¢8`g!ÊhcÇÝŠ@ŒÜ1+VÈñvºs×f?öÔh4€@7™µ_àâ~'ü uË¥=ü¾Fåj“nbó”4½÷5¢G¦nÆböØ ‘ø›?&ñªS»‹Üð0áÉ"¢Aúîçn£^¹M`°ñøSñôÌ(燯 ’ …·'z>–ãMÇÜqtúøNãbi=Ví Gu±| üvUÐô)mgcç-8º¦“á1¡À°6ãlòh+©xOû”áÉÈÃa:ɆS<—Ö²çØÉÎz?«‡ó¹à‡žOèõ oˆ@?ø¯Ë\£;fH¾eû übwÝËÕ-MbÓ·É%V>n(…KWÛÒw„ +Aa‡ƒOߟýwÕnÿ€$î»›ü0ã? ºf58Á˜Î¹·@7Åɾ~u±(Zv¬}˜_ËÌp™«eä á)ù,ή/‘•ë°QõÐL­`‘èeÅ#Vþ‚¾¤·h³Ö÷ˆÉŠêà°PšÛ>äB‡-¸›%"RÓ'ìd4~ò|ˆÈ™Ï褟¿ +­³m.™rØ·iªÇ%P}“ Q ª<™¦ïìcxã–Pnl͹ÑÏ4Ííºj-Äy#%VûÅàÀáG|o…Ê÷¨¥V'v?¨Fû)¿×§½WÞ6½©MeʽeË$ÍZŠ3Y%äçàñ¿M;ãèò!Ÿy^\-Q°¥õ¦l]pÿ³Æ†Ð…£çvQa‰¼½2¿Šù´Ý½æ¿™d}Ï–nß«4õa˜…5ãb‘ „O°zh[ŠRµ¿ÌÁNCaûŠþßqBì­Ï +»YÅ× °¹ÇõR-”†!‘Â]è@?-çGb&’ËËOÛò{ûï)1ºU::Þχ£.—/§á§Zµ(àäùû‘.žÈ .Ô,Bqì¶ÑÏ_ÐîÕ°ùê‘Çÿ1P”ÇmÿZKnºWùeÁ/ÎQí„B•5óË[[L‚# ®ì4(%í'8—ÅÊ¢ÛíB+|„mE‰†74”TÇö®µÉ€ÐtœvN½“Td>tþóJBõ“/}nz‘#]*tŸç©Zþú#°ÄÓÐ]$ņþIZ>c½aò™FQ×ðÑØEàì-´ÞBÛÎø…óÊ_3·%ÓÛçïYØy€AÏ…£4XÖV”Ôž¸¼JS\Û€ ö32]——r´ö<¨j*p½×™C/ ‚šÒöhLINºërF$ëTFî+‰ïTÈÜGݹ™.”+1dQºÓÿtZ1±‘þ€nÚ¯üù㊪W2È<ôm¨cÛÇ+ ×Àîâ¹&ÏŠùak-†m0~˜×¡·`V<ði’ÊÕÞ<¢H7pJÁ&°fEmòÊ6—Ì©)r½ôrÙñ/«#ðšóJHÈýACËÿXÈÁ˜-/T©®tá…꺛#ˆƒœùjÛÕc{‡M·jTpùkŸÜNî,…º[\f}{š v n\S³ub†9,CoßÀ}á –>ï½ß¤P½èOJA«¸ Ô}ƒe/&9*b—Ý8Lç!¶™hæ$^›T \Ú3Y´Q$v6lbsjtÅRt­w Ùi­|¢ÈR©zrX{„g‚¸»Ø–EJÎpCèIõ¯øôÄääç%/v:—zðÒ†lía5yߺM.ÉøÆÈæÉ÷z{ÞB¬ÝÁÐ`ÿ,'+בZ0u®WúøMEEƒ7è•®mÕp_•J6ó/ÂAÏÖ€nª<—£|ܲ|âºõä/“G*jí¯Ð‡Âí¸+X@å ~Ê÷š)YbÊë¸ÔëìÓªü!ͪψt +e]GœÎbâ.Š‡ŠSú<©$Ýb§ ¬åÈIA¿‡œY-1%/ÙÚ¦<ßÒrs¶»i ³Ô?€§äïNÄpâp749ÐÓù­ÄÜT;ñÚ%lý)Рú:Ó’WÚ#khÃ{¨wr¬1«ÜËœÈPÇÁÚkÝ÷þ(¸Ì{ŠôDɪs^ŽÅvzp¬­Qmû§öïÚd9ÎÀÓ­f—ò•Ñ·6{ù’6|AW¹`RðWµŒò©<ÒF„üO~H%ó÷ò6Û­xA|1?2N¦Ë'Šd'û¨;‰…. íÒú/EXQ¯ËÌ&z¥\,I&Á鑆(u¹Ë7:À̇Œà0Ѥ vîd'´É=` NZ¼S‘R5‘ n3§Ã~ŲÌw {RŒ +óÉ}g¨„„}˜ÃŒ]‘8‡t:ÚåíÏxÜ•·”Þf2f·ä£ ÊdsFùøËÜGw#¸ËD¶•*(KÔä`…+`  +ð‘1~kÞj‰RFB¯D5Ç]×f(ÜOöØì9žÉ–’"é¡_“¯©ýÔú8¥VÖ5Ž‰­ž§è7oWÝ–|µg¬Ä˜<ß.oaÖ1 Hè#s°…¬w GÝ”¬Ní¸CìDq˜1-üâÛ2p*y´9¡sΕÕqŒR‘6ô–L“¢j£øâmgÐVÃvmh—ô‰Ì¡:2:»ÞzZý¸DÄ÷·ZlßážQoø•$ÝJ9ŸK3F¿šÚÿ²‘·Oq9ˆ”=€Ì£AÔÙÊ[÷' +wHœ!ÈÌaŒ/Á^d0èE)¸SŠw*‘ó§)#¿Ø1bò÷µŠ=¬çÎ"›̈ÝGúëµÙ:Ø=uÀËwœmˆ U,¨Xû5›Ï&Ò¡8ëÖML(,G^.pn¬"PÄÊꎇ6ÎcPAhéù#æ[è®®ƒáÖlvH ö—äZÚŒ.ò4:$ñ£Œ1/x—Ÿa5l`£8dÈj»°u ŒA6 ƒ¿¡1Òƒåáî5A;ׂÒÊ_X¦ÖyŸFà¤Kšìr´Röüv¼XcŒ0 +}\4~ŽOÀi±jFK"ßL˼û€Þ(ÑWø˼¾¾md”l0lí©Üû‹²’ ”§GN3%þŒèž(F<ßlŒÚ•[Êä…Áá·”­óRLrî´$̘Œ¸²p\ç»jŸ)c¢ +±L-%7žL¬ävø9¨ â{SÂßó¹Ž Q*ˆ#dá}F Ú³fÌ<\ «t&OïO†S†_³¡åô.$ãtÀ þð•G ‚“‰]J0C{*·Æî])fTX‡MyÜ}.ìÒVg?…Âë3‘`ëBÒb²Ëp·ÑqêÍW\ÏIë*ô¾ +­|•·wÕTB Y´ø‹Á971”Òú–êÓÃÂNÑ’ç8+ç¦lúõ9ÈÐÚR)ý1‹®%ž‘âS~¤‚f€®PoXnE&€ žˆCfÆU3pÊÂ$Ìä½ã£JOØa'~DòÔì:ªºô ‹(ÓqfúÏä”èñ…Aãÿßp…¿Ð$/ëÊ€—@Õ—¸ë$+4‡«¶E—Cü<A­µÚ¾¹uÚ®ãè %"µf»Z ºoÊô}i%k×ÖöÄ_xÛ‹(†FÁ‘íà˜=ô+NvµŒh•—ßé¼Ö· ß΃DÆ-ΙތrOŽUåDÄT&EITƒ~&|%JÝdI£Þqö‰<Å<¦Uzyîm…Íò½~¤²ûØ?ÎX=ÔRõ”©=»[½ÚWÇjï2u¨Kæ9d{TÛyöÕwºò#2ñ¹†yLwQ¼v5Óe{ñû–Þ…4ˆ“òú£õF³¤°JQg2ÜžÏ3®rÙa]ƒè¥UwÖ!Œ Åäf 7™0…)Ç~ìˆf +endstream endobj 295 0 obj<> endobj 296 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 297 0 obj<>stream +ªùrŒ«{9Ò·™±¹“âf"Gíòf6Ed=¾ìÚ8 k)‚àvoÒåQºFÇÅÎ&*AÚ=éƒÛ¸$¯,<Áþ·Xo»ñÊní2xÔQr=Ô·ì†ú&f¿L¢)È9’åWÌþ*êŽq‘8‘ÒoPtì¸5Þisø3ÆÑZN_ŒQL†®žÂÔÈ]:—赧֠٠ôgÃmÙ°Â%ÆZ~Œ_|AÍ5¬øGØÔ­'V,éè-~PòbrèñIß»$Šm`yý“¡üó\$âßú=W½ÊÒ¯Àˆ(]YYü(ÌCj?§óCïÚ:›x(iá=¥2©$ŠåmôÿËlÑ­4Ž/>ÿßÈÞx*Dz—>ÿ1‹ ÂÌ‚s8·Ž†¶íHO÷%V4)ÃQp_å5áï›Öw>tõG_ÏŽ-ýMíä¹{IP˜{1õv9_ +zö£ßϱ®ðÝC›µ³Þ$©žÿ2@²ØµB³S¨¾ðm¸[B×HZ¦“ÀÈz¢·!Õ]Ð@@–ÿñ·é¬YqZ$(x‡-›ûyŸŸ¶Rs|˜îƒ 'B}tƒvË+ÄW3__ÛhT4I”ý=F©š=&e´YFÒï»"â0~ìaù@BÖ‚c‘»ŠeàîYÔ! a3ÈI÷¶P½àVæ"";L3&¯&Њþ«q%C—3-3 ½Ê„»0‰Ô+×LÌ‘·8‹erÊQ›>xÖ-¢£BŨQ ‰h…‚C£¦(N>+öl¬{wNDôh°¶Çs®ÞHmm"ÜÀ…ìâ®UèàÑesT?=¦)p°B¡>ù)Ɔ;£NG³€u¿î”邱¥: YJ†¬ß½¾ÕÁ—%±DS¢È],*í–ÏT>Ðû^ÿI9^ss{SÇNݹ§¤]“Jz^'ù¤•+аøÙCÀ8(›*etqÊ1îèwd+(yŒr´ê¿/C d¦4XZ‹ÎÛiÁõ™4©²%%w©Aî²Aš +W¾'‚Šú¨ ´“.±Æö7Œ…÷:uÉÄ¥MœŸt1¯C$ôÅy Î`Ô…™Ð1öaÚO½¼6±Š×"ËȽLø®¼ÿC{‘­-Ge×&º] Eý¬bm !ê¬Ü 3@¡ûE„(%ÅØ`ç\S.õ™ÛI†9®ÞÜË4ø³‡€d'£/´žP ‹\’ïq£|ô³.p.Ýÿ·±5§8…&~[°C?x”€’h¶Øe í¬:[©š[ŇõœÎ¸ù ƒ÷ú9ïAUìg@p¨ö®ßtÎ×þ•ç"áVÇ 5™Ô…ÚÜ[D¯`æZïÎ׎M¤P´ÂÕ².dvbSO§=ª4ÈåüKYBV†B t`úýJ”åö^?øpÇd‰H&I Ä–†'Eš:05ØøêÝÌŠƒŠ¶ +4ïn0 ‘7]¯‚tšOàÎïì7wc ¤ +~…醃é“kUæ=O±`Ëïú«—O,ÿëHyòÛ9-ži"PúI”=Ñp]¹æû·É ÁÝ–ÊÈ…žÞ=£à¿(—`P~UK#¿DÉáÙ¨ÞVXiý0ô5EÔm÷ò/Ó? 4c""Š;Î 1êóÀ¨3ûÈxž#¨4×Ä öu©T(¥Ëæ´ $k¹í¸ýÏ9­c¦xùPº„æ%õ¯èŸi¼fôf|qµl*¨ÜÒzÕ˜ +…å’Œ10œ™Ì‚¬ÂƒùU!x"Û¡^ÊbœSøxYëmVŒˆ–Ý5z_,³2ÉøÑ`0„èM›îNÒ±Ž0.QÆn>´!©®µZœ1øgo”¦Ý^ÞCý…»¾Åh”°Et&ºm…µ¡lÓ…¿T'ƒDl `X°ÿ"Yl†IªØUpõ;ÐíålÇÅÖ‹>N/yþ•4ã”KNÙ«¯‡Þ”&WéÒ%íkî×0üoA‹Åá—:æȶí¬Ã•w^óh9‚¢y{œ;‹"¸0¾ÅáàîѲs}m4Åüûn¿Ä—¨YëmDÖ¡Œ¿ÔïÅ(Þ%y¹–ÈtDsCø/YÄÙi"‚Ò96ÅâÈÐU¢T9âLâF›WŒw™õr§™Ê`Ì€.–¨âOì +æ¿ûîzd5ÔoÎ +Šµ{PtMœþÃÓk0‘*w^]æ;Sä™­ADRãÅžN/7ôÕ›zkÕ‰¢1Ü;x‹ÝNÚ¨‹ï/^¦^VE¥iÛ]¿¨à·8]‘$›F`ûÔ[[(ÅVºÄ¡± pé+†ŸBŽ9š(­-XM‹L•dºy|hÿ=¢ÇL±âyF\âàTG¢Ä>ÿ” °´¹“0U$çKòÞ ~î«"…¡ Tçšš>a'jýµ/ŒRU¶EOb ;š­žš”í¼e˜õqà@Ø/KÈTƒ?ÄÕ«w莧¸ì…ç‘Ûžï`Õ¢Òf»Ï¢_¡¢1QÑš=—‰wAí§:™pÁÔ'Š%©__¤ïߥY]I>â2l;·§ëµûçζP!€1Q|ÌSâ“dƒpê%*^3YPÔJ›o}~{`fί ª^ ѨqïÞCOèÓ¸Üíoˆ /‰þ LÿrêʶÚv"Þ–¸raïxf²oïr¯k_Ε§Œ~ÌG©»ofSWŠ1ODsciú¶oé*ßCŸ`:ƒê²)î·„Ì»)cdéZ‡š$làÔeìÇ?‚×w5Ò%¸@TnŽþe+ؤKpü¿yZ¥sôê!ÊÏY¢(\Ñ|îÒ^ÉüH¸î¹­uxCç"¡Ï7%ë`e«•,å« ‡âÿ]áéŤ픠ƒÚÖ]ñ|ÎGlês+¿t]„›°wÎIÌ^ 4u}å¥ïü3jðÌü)Gš¬wþD†6=HN” Ð*jÆXõ&$­‡àâ_QŠ«Î{“mC?ðco»[Ãla•êîˆk»ÂÑ“ËqT¥Émð¶u*;Üq¥‘Ìã +-vlFk[öætâ4"¢úēέ«q9|ÈÑçtyIù@×á€h§/ÐNŽÂHË’¦†Ž9q@¨ÈçÔ£-ÚÎ0WÚÇb‹ D{Ñ›:Á@7£Áíµ¾«BÊá½®ìÙ˜çb¨?0'ûcW1I`3aduÕp‰K>•!VXÛ„üi„”×î /ש=ÍÞä3Q³·”„Ó¶ýå¤Ý{%k[ëx:Ð+øôÎB\|fÜB/XãZ¼ñÄ¡9ÐKXDÌDzƒQäÓýI)ìïã«¿Zå_Š’mß#Hò7¼‹TŽÿíò%PÍAa¡4ŽAü†së¡ødÂA5?Âm Ï%Q&ˆÓƒ—Ú,Œ°Ð)ÈÆ«Œ>‘W=¨mäFì–ËRþ©ý>š0z鈀ºë<çtSóÈ®KðN“òË JŠ!Â)•±Å&?t·2g3_{³ÏkìdQì-¼§zèsØ¥s ®yHµI€¯õ%Á£dQˆ¤ÀÎÆÁÛÜË+? +j°+õªüæÛ³–™,*Òçš©W¦Za“‹ú<¨SKà_X#GÈ¡/Ã|\—@ÆÖ€?Ê®ÉøVŽÄ7W=è|¨pkbÓdx¹™ *°¤ç^f³=ÖQ¬6‘¾ +È ª%Ä[ ~{ã¾½•¥åe?ÖPñ_?ú(mg(_™Í‚_Ù̳mÅ/kIEͬøÕ­U¯•ÙMú ‘÷Ô/¨\믕H·VjÒ¬°˜“g‚žK/wŸ3¦åp-3x–æFËÄyômúº²Þ+=éê2®£AapÂQc©t}ìçÞÁƒˆ ¾=¸T¸Ê/j¤¦'²bi7¿W¬4¥r÷L³º-Í£ƒjJ+ƒ“Âè*¸fü‡Ì +Äm³d*Ü‘Iöšt;`˺‡HÏÓz´êÕÜ{.®fû[$~_íx{¤Îƒ×bª˜ž08sYtð–u(&¾{£¹UC¤Ñš bpóöÕø‚þ;áF9Ïv9X"›èNúÌm€»7¢ý’óóÀÌ’•E=à*Òå_/ˆ¸Ú·I*ŽP®ˆ`²ð'cÝlCÂIgÄ?b¶š"°‘g*æ,‘¶»´¸¿Pº-ø¾–v¯•!CO¨Xå°$~SÕfbyvýò @Ù]YFµ׉%¼½Å‹¥âÀÃ[!¡”nÞ® ³ÅÚ—ÀC„o¿l‚ñkÝ¢:÷—d_›B긓’;ˆù‡±¥AçqmÇgåÈÛPºóökݧ¡Yï{ÄsÈöžL¬ä-äԉ͠9G¯·Öó&dmWÿ˜0,°v pš–ä着vÀ‰k±uv·Æ ®ÁgÈ@¸( +K,Y> ¾H-΃xÀÔ¼‡`0ºÛZ_¹Ñ©UìÛðƒ0šx"ÂX±‚@ôªÎþ 0 +f8ÓT!jóÁ6þ˜ä8Þý¡1jíãÁG›S¿ÙÀìÚ­>ÁXæR 0­,ûñúâ±™%0-Â8Pi6hž¬†bÄý¿˜ï‚ϽqJ³zsíÔ nW K¼gå›ô½qžÒŸÑ +=‹Šu!Çp Ñb%Ü<:å£÷kè8¸?±NVA®z‘Ý_ Gý%Z\мJ¸µ’±/Í¥ +cf~k¡&ÜãrTuŸùîâ¡?N¥sÖ=ª†·2 ‚ 7\­v{ýÞ^i8?…Òô%GåJÀ²ÅlÓˆNbž¯‚æ‘FëNØÅZp^û< …ʶ^HnÞñH3^ýâö9Ýã€Êþ)í–{²Õµê!(«½å¹vËUcx3 ÂÑЋÃT] kt°}PŽ$cÉ—gF´kïì¾ Ì¡¬´uÀØÏý–,^ª“w[ «†g¡…ñîðe?ø3vE?y ›œå0šYë~$Pœð·pÑÄ x²M;;ãPŠ>Þ"‰5¢¾Õøó"AÈŒ|ò–NŸ÷ +1`ÈY±—W3Ë)hÿÔš‹úPÁÁé^¼s~ñWo‚K,:©Z×:0|¿ÍWÿ"Á~´ÒW‡`åx³Äõ2JI žblÛ°}µÃIjá2À}<ùÁWÌÜ#ˆLm6­RT^.:n®»[ +endstream endobj 298 0 obj<> endobj 299 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 300 0 obj<>stream +sŠ¨l‘I"ŸáërSå³æDhqFjàOµpCW}›Å%Yê–Âmý M¾rú7‘Žµbinça!h¾öÅo ó²lÐ" מûÍà)g‚è:¾ºæ!pr™•P–A eya‰tº`VSÊÔÁn{BN˾3zRx_̤üžG²¶•*;MtÍH­°ëÿ³ªqílû« ¶ƒ|–ÕAUKŸß ±žiéƒ;‡þûBõ“%îiNkêYc2œel·³í ‚![|[FG<~uxÉç Z'ki>…/V>«ȋƱâ}#ÆËÔ;©%% F»,%?4Dïu?Æ–3@ëә勷[.Óô¹0!Mˆ·é¸¯ãlí zó#¤}ôëÑœ»«I6TÕôÕTKÚ»VÎ/ØoÕŽ!¶f|Jk‰VKGSªÜ!ïíøé;…>,gïƲw5 +}ÿ@úÛ}‹SÒ<›dO—7gøœ$Rˆ²G/Ç‹­!a꣋pxâEnPK‚ŽH2‡(à±­TŸÐ1Ëa4x㸗¾´­xæù9$Êıo>Ò·9ÂÖ^[ióÿÈ´æî§÷ÎLb#^9k «ù*N “št)ÕSèy€´kâËMs&ýŽæ`Š{ÓÝ3Šß—¶£&Dµàë5Åowáñ"((™¬wu:õë6“+GEוDöØl2uXdnš¸ÕBŸÎ7®N^X«(4á»~ó>¿7¬ÍÍYFƒâÈÿ© ¢^?þß'U ÷‘œír¾éä{’@®uº`ÌÊG—ûíO/iÕùÞ‚’ÙaæÝ/0ÇýOùS§U']‹;ë6©€¤)?Fó™Õ;§tïì´œFó ÌÕ”)‚·™Rï´ªLŸ&‹)@W#“[ò- »![õmTÌ&Õ ŠÊ“M57 +W=Ó^xsÒÎ/Wf8üGOH·§Â5ô•ŠïáŒÍXjfEotÀµeɧþ̸ø§·;pÕÏ7P n]©® ¥ý 9ÿ–iûAÄ]‹›¢uB§ p“¶E²³1hZ•¿™…ÐòïªIBgm5ÍzæŠÈ*!s™Ë¹È’pIì\¦ÿ{ÎñÂobŸÈ]µ Ô…ÿB‘ñau­ @©S0ßdsá€Ûžïzõ ü+=ÀÌqcÕ—Ôæ²#ëÏ~:e#ŸÆb +HÃ&+œ¤Æ"ëÚôSL#¹Ó\ö¸‡úµó…f[{5D“É^¬¶#š½î¦¼]ÇMÓ“— áßM×´G±¡»Té„~ÃWê·ß/ëx(®ð6› KQá£n¥cåó5¹5±|›ÉŸèe[y€ÞüæªöôAäÎS5Ž°™ +öŠ–Ý„²­„‡Ð³\Sür6xÅð",X- *] ºv/o3 GZÍúhvoØœ¤f³¦K@f£»È„ÊH¥Âöh½ÙP zªXwÿtòOAÜ {3#ÏO¢¾¼RºuSêy<}ȳ2òy[Q0:s£×gˆûÑ~ ×ëôp9OhTœñ›Ù Â)÷ÙîþôÁ…ô,ÙM_-ãAù*ëÙž‘çJ ÝñMQFéê|› ›JÀ·Ùy>ð¿ÄÞŒË5˜€ù dÆÁWDíôCˆÓ¿JZëš=Ž©„Ðv²6Z4àÚdk©õ½eíèsV>f€0©|<^}  #Øu¼DPÜà–;%i"]¥[V–@‡ :°ìƒ5_„ž”ÕÓÀ[´3 qÈV_ž¸xWJ ÿ(X1á½k9-pÐõÑ퓈¨,¤îñÿf]:÷KgUF¼îCØm=wÅí¥o©™È½¹'*ÿâaaÆL¤V‹¶ì”þù§Æ Êc?4Áº·Sl©¶KÓìv†° 2*-NÊ iVîA›[Ó$VBç•s€D¥OŽ×¶‰ ] ±_³Ìo—‘`‰—Û@¹ЃÅ`˧™mó¹6›Í…ˆHÄùiáí¯­§ŒÔ-,[m¼©n{ž NJܤ`UèEÅB ´“6ëGt?U㬆 +rÜÅ"ÁÁk¨Zº„º­PùÌEŸ=xAö Y?=ˆñ.ÁDá•Ö†ñÜ> _h†ΰ•fm~©ž¯øf-¸‚ž¬Q²>4ʼjŽg‹ºýýOÅ-è¥{ ï¬1É¡¡*j+Ùs²éy ÷»âQï¬û ÃÙ<ßvñ¶ÑÁÅ);SêÀ_Ðkò Šnªø¬–½?eÍô£uW14e7"¾Tb¨Ó‰Hˆ£>{áj;›½ù`´Yñ#;6ãÿ®¨'Íìã“'JéÏ„ZþR)Óݾi Cleê±fa”wî€^iq4íðÆÓÉÿO î®`»W;Mø†.êµ€)ùÀ*Ü"¬ü× ÿ§$æg…Ã×$õ½àJVªOp€ˆ˜À Ô‰çƒ.8ãd­û4?¼Û€ ¾ DÆ7™]b„‰ëè/C:zç9F°ìš«ö'…àü4“C¢= 'Aª;—gJ@AâÖB-ŽÏ²w°èBÂ8s@öÖ;ší|øD‘ï%Ñ—3é#¶Ã±ôäÀÕúÄ®cRëÑ ;ÔÎïägn g Q÷€+Õ +§ÃïíQDœÁâ“°|¡øPâíË<Ø-†úÞÈŽÉ(.‰’ÀœÓ$PH¬ÃÞ !»ù7¢¨$à2.9ø"­¾}Z%çý®E®ûÿ§u¸Õñ½°3‰[Tô4ô{È*Åú w•ý|”ço¨ÑE͘ßb,îv(œ#•á´¯$ÃÔS§‰›./U+Á§ß«N~»4Ž™-¬ƒwJCùëòÕüö«»j5N%{^!µ·[zp„¬6T÷d^Žêv•—ø¦ø +#Êß‘éG̓à]b´—VÚ„Ù›¢ä&S!¡p<±5õê‹ÙQèݤZ± Eƒ^ÐÿÞ§û&š4à›­ +™²XX'BaÄu¤ñ8FmkÎÒqÓ›Ù[CÜÃÞ?A$b&½qåk8fè6–›"âÖHÄ–¬(µkzË•,wçv‚’Icâ4š¨· „AnJ%‰äJx1‚cx?w÷h0é +4™T³4‘ëPÿħðè=à ž›šUô-íòñU›ª‘ÖêZI¿•n}Ñx1ç‹Ÿr¡8Š\r Jã£øƒÏ'ý×ä§1DåŽÛsþ‹2'Oñe U¬çw?Td-–+'f+X)ÚfìAl¼Å0³™ÑÑ›k*D5ØZ…gËx¦äº‚Ô—ÉaizC‹ùßÞ4wà_¿v#ôu›À—ØÓËôçDì$_üÑñw1K«Ö”ôóÔÿ­Ô Y¦îo~8²‚B«ÐùÈcgçXå&˜N–¾m“,øϵf7[‹e…ë2ö/VzpŸT‡/4^XXV‚yœ›’pó¿>þsÒ1_&\0Öå]ùѹµeÛŸN$[Wbhµ‚Ð,±u8ž(ØdÌÏ[Ü:ÄëŠjr÷¶£O?HLÿ¼$â¬ÔmRpw §Å +?OU¸ëʬ‘^dìõÄ™x|¼g\<z¤¥® ,þÎN™îŒ;ùè›&£Ýj¡¸ü‹G#‘Ô»/ä!¿wÑ`$š¹`[l¯ —¶bR{G}ÞgAÌÈ +àÖ«ªúÒ‰öz£âæïùLªêƧõy©f¸ùÜÄ‘.{d\šÎfÜ‹j³øܽ7(E'X‹5]žsŸ)ÐM7ûBÔc@è¢é›w¹ûFEh+ Œ ¶ÙÁ« 2)b}9¼8:Ñ« +.ÿÊþµ`«Ý£—Ä_d|á¾ÙWñéø—Ñ“– úê :øòe¨2I÷°Á÷±° Q‘øËõ¯HüµZ=ÿj7¸KÀžõ<ÈÝ#.¡;]öŽ¸ïàâîµÎØ|3ŒqRÝ Œý ‹Ç+òî~"ïéèíô +‘Sa_G™µ#¿;Ð9yXˆþI+O F™V…VÏXG ÀU}¡¿‚Øs)bì›(UEZ}a¬ØgÓ1Ãm‡TÙQHüª´ñÓä u’-P°rÝÎ8³sé!c×ý éáÌa!எô~Ü¥3þ¹(ÈË{­SðÿwÏN¤³gñÒ™,Í9ü°ñÛ€–Ç‚vsy~~îý%-º3ÀÝÑQ0»B¼ÓfìYæ`$ËpÁ(Û É™ª¹B¬µÓ¼“p [{ŒòÇ™%á+4•S;J‘K-CÚyÔ<„p4ÖS"Úr Î_ˆÚœH´ŸG"]vùÿ|bÛo»Üšl·×¶šD¨,{%A¡4Æ’ý3Û§Gwi×G'"ˆßO€az@.é$‘JpŸÔúCÿÜôt=™Z{ºn†úïÂ!³è?#Ї‚qYѧ\U×s¨¸ðœÄÙl+GjžÎ„ò*ÕGèÑý®m)¥}‘"ïFóKƒ¯–ho¬7½l.߬'±>À©ÙÅ AaGs™èÙ{‚lØž1ð;C¾órG ¹òÜd·ÇŠfõ{0Ý_¼€µ/?‚âïsŽÓNÓãq×ñÚnÖçV…6þ†o÷Æß [<Þ’[L¶£;“ÎQL}ÛJ‚¾sÜ +Ý”Ñ?DŸo °Þ‹àbÄX¾)uƒqTEW½ýCLk¤î©J +ß<ñQÓ¹vK“&«Ú÷¸ßåy+W> endobj 302 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 303 0 obj<>stream +#À{*wŒÛ?±_§|mÜ>ˆ8XŒ¿Æ»"¯—¤n÷òÞzº­¾B.i½I«ýl5±©¼bGŠÀow£€~;›Ç¤QЕh2âñ Li„cÿš—ŸpYøƒæ•e‘H•v™oSft¼<“8a1ÐÚEšïP꽕1Ó°kP‘ŸE˜Èpèåáö儽÷pÊ´FȤn5aH(‘Âo¢¦ßÀ^û^E‘êÕŸÞµœ—BŽz‡¡™j¬Ê( žh$UBg—ã +,}Úv´tOƒé™AH½o¸6Ä&3E0‘`:Nyé%Š:á°{´Eˆòf3¤´zvï]«0îëe[®…/.Rì½/ X!bãÚùQŒ´‡™úlF|•Œ ç^×ï‹hÞÁ ­»ºÂb*zS•ÃE)Oë¡|T‡GÊ—…®üÜ‚§ &ÞŸ^rùÛÔIÒÁ"ÜÊ™”4‰Otìcuûè4e +hì ðÙQr/Ï–2þ ++¹ÿÑ2bƒCMUù½Ef¹7ÆA_óÖŽ°›F* ?(²¥hîª 6%é—" t.åišÌ Í‰Í ++S´.‡ÈóO8íÔEöy¨ú<ëN©4¸¾3ãÛ¿°ˆe’0—E³ëÝ4’P4¯Ða>)B B´—÷0¡àØpn+F±f5$eGã9W ªi“òGWT‹_*Ú¿ÉæÁþeüBŒz Ý®w£ÝEÄ –!UW™uàwC;yùˆÀ,Ú>ªï缆|¬Æ+èŒþš’ûGçÙÝ¿éIk™Âÿ³ªÈúõjÞ Û¯¸å(£¦‘Ñ'æÐüÌ,ó´‹ 3·W\Èg»Êò¥…Sr31×ùv‹Ï çx¥ºÒ=Ð_ +Á*¸ üÒŸ 6ô.‰I–²túê—‚êH0û ¥°ÓÿŸZ·AeÁð“ ”×IRrêýëú°Õi¶&äš™ø€éU»õUæè_ª£D±%÷¬{Þ¦Ù +ZFu*ò:l†X|nïÕŠû¸´^0â>ìbyêòyM·&#O“x€ÃŸ)™|)ïèV-Ç3a±áaG°ÿ:Æþ7©XÛú$>HƒÞ¶û€ïížj‰N½F·rM‘B 6ïrÊñLzf4£‰æÅôhY*îÑ×qkˆªâ.cß™Làù+MŽí‘#1òŽéÆÏ_QÚ´r$Ï[Vî ¥}ʘMÜ€ÉH*BŠò©i¹*Á‘ý <ð—×)ú÷¡ºÚ|;üɘ¢,áI;zU×°9ј¬¿„«Ì6µ¹Ž¢ Î$|Ewwl4M(ƒ‘šÂõ9é†×ì5ëö+\ái~¨› Nzã걺ªr.ƒßLa ÿÈTˆÐ: mÝ}Í>Z©›‚ˆP„ËZ¢œ8ðÖ>,bz{UWÉ3[ŸŽ¥Õövõy%¯CÚaNdt$'Û•1bDb^.EçN&’ßãHG@{·¡q" *µ¿Qéâ(ÕaÙÑU8ú`ì=è=U§Ô\¡]®ìIà µTïÕø³Ò Ð)j¥*¸4»O<(˾ùP£¥5¿ÕTBäœûG†5súÓ@)+™äWWÓôz-3] +ÊM{¬NŸh7”Ùuß-3EjŒomÀÛ„žÔ£­·µWù]]¶Âä5™øÄ +×çì`rÇfPÞÓ~MæKCaë3ݻ¢I8ß.X³[k÷ç»p@ËCöJž%ÕP_€Çb3<˧zXÏ@Œ`¸­‚}6RGÚ¾J ¨˜j>‡¦¿2°*}zëpÝôô{“6ã6úJsB÷z¸¤uQ ÂþÕÎÎaVg(H¿¯‚ÔS´‚ÇâOѤ6@~û0Õ*­{[F/­+g|øšæ¨p@νܧÆlzÌ2ÎüÐÇ%®²+Ñ`%3ÛÂÊç{#õDê›ß–‹W [u8Ê¥Y™0è‹q1á$X*G ÍyAƒGDö”øAN‹O[þÊî nÛX➉¶kS¢©ó”P-)"ìEG¦FZäyêN „¾êuï¼ZÀ*®4# ·;” _Ô©ŽJÓì6ÿaò;]ž‹;¹&ËX_[«Þ’‡üN]üîB×_‘$%$þ*¾ÙÎ=ã4OcMÚ9êÙ¥Nâ‡g¡ÝºfÏ:úè„^Òôé=x´jÕ^Õ®PºÅi ›cbïlÄð±ÀЛ]6‘ž/«¿Ò€¹¼®ríKÖ°w8þMk1nQ¾­i×+>&Èÿ¢l¾[ébQû^ÄŠ)ÊgÕ}Áä.cÕNÕvq^/º·£ÁH•%½•67œMh8Ïì +¹mQ.2EGMÝÆW–C¦eëùCdSÙ÷{»öĦdÜT“bÔäÑ?nAÄ7ïP„¹ßœX=‹*X%Z€H^Z‘ ôöëÊdí-Þ,,p"ÄœëâZ›Ü&ƒÅ=%*};.7α¸&!¹9‡j:Ž#ИWM%ß{Š:“œî¾ +IQ*Oá¾í.d™R¸Ïï>X%ŸLk#§…ogD”>a$”þ KÌRí1 (…nþ6óÒ–u#Û^‘ýôO×Ìð]k-Þúѽ§)±¹OÐ=‰ÚÀ‹À-q.×KÀ¬½ô.’óYVÓþBÎ3°Kwâšäõ|—cÄ&ì ýŒï©.ö=[ÞOÛöúÏ'Ð;ˆ¥ñ÷5Þ-é‰4ÞfTˆóƒPÊ®®ª;3Uþ të4!Fý÷é‡U95_~jü}_3){ì9>?•‚H;³H|°y“_^çìgJäพªhþYd¡ý”ÏT×u•7ÿpíƼnVžóH¯xû–ËD¿OþUÀï¸Ag¨£Õˆ£ðíwÐG¯æ¤ ÄLÙb8˜EKÂè‚é],h]gß‘ç=)À…Û›3ê‡R^8×–ÈwÛÌ b—õ« +7ïKX¾N7ªz}£¹P[xXå§ÞÒ&Û—|‘ÚãŽÀOH; Ÿ™K€Sïòˆ +Ä7V”„ц>¡wœ/I[Nõd܆ôüáMõ¤cÓQÄááP¦‹ÜX#œh¿Î‡¿ °nVwÖÙ ëÙ¬8•9t äôJrWqñ>P3¡ä<ÆœRðùìÊã9—Rýõš ,‰w}Á—ÂâmºdY”¼;gu«]ÂѺÚöëà[¼1ÕÒ<;sgI­aÂÿyØ(±,~9äØ~7‰¦Ž‘²æ0ê¯|È÷S5ßæPÀƒ´Àùy ñNHì ‡î™ÆÃs‰Úâ­¸Áš ÛîVàb~¯A|­éÈÔ_£sš!HÖî¢WPgxφ@[’¬tÑ>‚+#±»öR kãŒÁ²Œ^=,Ë&¹!?Ò g,£Ã'¿u`„öL{çî +ousù7â­1ÞÐÌ\Ï"ž=›"ø§˜ÈÖ£\ý¬Ò˜¬wÄŠV-7 Êè…/¢F%GzÒüb Ⴏ%èù&m–ÄšŸwåm:{˜¹G“¤l¿3/h0œ~µ|L^Š…ºÑááð†QÙ\S]µ¥àoÑGýà2ÊÎ1*0™ç]°»]–´¢‡ÔšÄ›îÒᑇ0WRÕ6x#ÿvápLãÇ`z½é·¯ûæÿ%í ۉ緣ÑU³†I–ï$ «“Å­_øøœÕõržoY$-ºÚaÙeó +…:Ôn—œæÔÈYÉJéÓ@Š3á=©Db´á5‹š{¤W –N¿Ôû»ß0Ä€aЀì*yf궱x°=ó[óvD1ÙÒ²úðu90©{jy)Rórc›Ð&F¦§͵é.c¦Áo‡ +"­cc1ò=<ÿ±¡pùœ,Èb§œsœ‚á1¢ã DÇæ5¢ÞI´~›ê§¯Ð­<¿¡‹L©¨Ý-óa¡bä¤>Uõ—ŸxÃz„Ý+K¾¥ÝòñFÊQ¡öD_#“!ú[¿:M=s\'œBJŒ‡—@FaòІÎ ¦¦À ïÞò3œ„{hQuã˜RÁ±jμå“ÕœÜ̲­µ;‹{Ÿ» d Ìš…¢.6»(}¼(Há¨VþTÒÔ!;à<Ú‰øº’ü˜Š/ï¸Û0øeƒkyc+XIö}i3AîQšõáàù»ØÅ„e Z辌-|ö“'S.4%dpb·hXèe²É›Ò³ê&`¥±´E>¤s‚}Ey‹}s¨æœhŒ¶µç)Ù£È.ÂsŽ$Âý€q~ « Ã¦Ñ^„˜Ýƒ¨nÈÄúnœ°€·'ð ¹O…¬áZh.”Aj5á"ˆ©ŠË£e +ZÏÍËÆÄ üvn'[ªVl–ÔáÝbN¢: ZPãpý=yòïGÅiÍÇ {^lØ‹KÙmôç´LÌ1eúu[!§tbù-SBÂPz8\à[ÌŒ˜§Ú£’¼§ßõl¸X¾ÃÇ•¬*Ðâ®<—IûŽêšÞ…súmò£úR¾›“Wޕ¼‰¼•†ÅZ9Hnúf1.¶Nù)¹Ë'¬;¸Äš¹Kð Iö[–„ew$?¤[ÿêÔ‚ðˆ¦y'p‘v´æÊ’hÞª6ÙæaÑ|k¨oFòÑy´RXlÇ%û¸cÎÑ€ez”)Ï/Å#.äé;YdCÂÚÛ×M,Šãâ<ïÚó3RDüÂI¡Ü:†XëS\3”^¨þ±¼u}³x+M¨ÔZcµXª  Æ"èɇÑ;¯S5"YfÐ_αּ$R"Ú-ÈϗƬ åÅñEí§“ pÒxÔ¾¹)q +îî»×\gÌS é¨Æ*ÿçOóàV‚ÊZgK†Èj  ñï5Á¨t±Õ¨Fsi"Ê•¦9Ww0¡]<'ê>Àì÷‚•[ÜI1N9©…é)—-ªBãá­¿Wr”.Ùk¹:w|xܱ;»ê̱åÃR‚ÐóöñB$†j.Aÿ·r£ºÒke¹Æ(Óä¶4öaQ…59ý´Ò›SzQ‹ujšThJ˜Ñ+x¦Xå2‚úu¢\g›Úï<¶ mVU¸èÖ&Ô)ËI@XµÈ®(sI3ŒV•ˆ(uÝS†"MIj·ÍF¼I²ÅoJß8ÈL)i~l[ü0EË Ë5Ðyß°«È~ê8RN\SM'-ý؈‘‰¤±qKù$tš·ë<éå çu¿Q/ir¼o Š®¿E<.Œ$&*/Õß(Ï» 4æK*sˆ¤e² ¾>(Áâ=ÛÅø]Ôcœ:/κmÎA¶§<øŒ·å¦mÙ9Wü¹¸¯}G¶Y‘­÷ NT³Y —2Ï`]Ðw®Þç¥ÀιôB…O›¹EäcEa¤Gë.S9KÇ/Z­9­M.‚æARÇ'Ão=ñ?ý[!E“ZWÊ°R«œ -bz•›–‚ÁU[¥«@ü~ªS ζfãËÐßœÑxD =óXžf›Tfò3¬·ÌdÈê}çÚ¬"ï`<’š\Ù2rÎgÁ;ÏÔ`TôAá0¦×QSB—ÓùæÑcìïî×cl©g™™HN»œB=§ƒ$˜­;\ˆÑ‘J,$ýFŸš7ÐûÆœ®8ƒ'Œ +endstream endobj 304 0 obj<> endobj 305 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 306 0 obj<>stream +Ë7P¤‹ñIÑ¡¡¾.Q6à'Ó·½#ÇÞ“ÞNŒ÷câÔu¾vÁ-Imdèjý²&¼ÑWáøͯŠio€VøíŸ?`ÝlËåÑ-àšWçV·×<§ð—”óX4úh_ÈÓ¼l4€&Æ‹Bƒ=ÅõŒùá3üpƒn¶5ìÓu¶µÚÉs›’ÐUüìU"»³cö1yí¯ƒGš@slœ3å@JŽ7Jíè'»!÷߈=-ÜÄht'*ndzƒD)]íçö ôLôÕ@½¹y´Ra*Ï5/œÍ.ÅT‘17`©e× ]gÜõTò¬õ=ˆë–øˆËÇ•]Lµ³ã°9ÈôIºð`·E' ‹Ç|n:#´‘ßXnV{K%“ù?|ÌqªP¤^Ïû½D:õ£åÅìÜ*U¨NG~‹£Ÿ‰âp™¸¤_gÄa޳κuÒ×j. ìgã ‘Œ}ý·ù¡ZŒÌ¤W•½Ô#3g:.í¡ÿšú0½~bî „½¥yÅçHÍ!ùŒ:Ú§#­ãêÚÏot0žã('9º±‡_-|‘«ñƒ»“×eÚ»çÞ¡Ô¢ JyVLËZ™ˆª£¡£á}AY È=AŽíhNmê~ @—·ÚåY¹Á‘Zº¿{R–cPôqÊɇÑt‚äÖÁVó¶øFÐÇ€5Íèò5ŸI™®ùíjV¦ª.¬­©ÐÐé7³l#ã: )úJ0hÖ–¢W[,ê=?á›?µ k—Žî¥“xc™G-Ͷ4bù×ë ‡•Ñó]äõV†Ø›`ß;fÉ{ynò)t 6̶ÿ8{ WQÍó\¬µ<°tˆÛ^Å£€|µ]ú.PêÿP˪ qŠý;X(_æ6­QJCý•ìÄþ7ˆí¥ôpý=-Õ¶•U:ú²$‚¥ÉßÔÇ–‚†%?’¶}š´Gµpn8¾l‹“×£1îŽÁ.ßõaR5,’´ÁŒö<=¾*xû6Ûê]?ÕO3>¶<½Rt ´7_ÊDÅ­¨˜~é¥Ü• ðO÷ØSÈJ1îô+4ø\€¤ÁêgÅS†Úã_œ| +÷1þ²Ëpäl‚ì ù‹3ýÊËŸC컧Ǽ%CšÜ¨çÔ©h(­«L§àLÚîz„]nk$S¥1%„íÛ“üiŒw=Þ‚t²xä%R¿õ¬b×ÒGus:nç÷g•4*ó+ëº`lJ2ÜÞ€kÈsÒ¸GãIcÈ÷.Åët58ÀŠkÎ"bû£m‰¶\JÍ€<9͘†²RªøSñTé£ê ¬>Wg¢î„á[ÑÀªK†G5aº ‘'¦ŽÛ2‡©Ÿ &K儵^üõµ…ç+ÃäE?©mH)2ÜûgÍ26îO¿!’ÙÉ~ú€zVÓÁšÉÍ(ª¯4ĵÔA0ë/öxº`î]˜a®t¼+b€ó P5ó!p6?™" w+Æ«hbv@‘+ê¼cÃĆ³øPXË1ô" :Š\†ßŸòqÞÈ£.¨:eï¸V¥½².ÉÁ))å_n’‰¥D7Ù˜Ž‹2š>]ëIJïÊÈ{®®¼W- 0Ѐ›[ǪüCƒBOÎ#Ñ›ôo9'/ÿyš˱ý¡œò´ÃMV1]ØÂñ8·x˜üÿE- †µyò«ûÐ"žQ÷e:Ä[]NA1š_õ·7wÝÛ‚ëJ‹í}%¤‡!zAXPÞú¹4¡ga¿¿ –ûGqìnË*ÞÀY€ s†çH7¼Muž"Æ»š¿B&¿!5Añµ˜ãˆ|}S/ˆ,2xÿ¯Ëik)Þ†û¾O@[ü Ÿ€_Íý~÷N).A™Rß"’œœlÞ& LøŽÔ(ä¶o÷˜.¥YõFÚû8(ZÔ®í·_©/®IËw…D]ööËBÁõœ>W7^“Q’¢[c*žHf›^g™è–J_œ³6Õ÷AdNXˇïTYnºœ‚¯6|,:Ö©hš›@:))ç[ ɵ*ÚZw Œð¹Ç¯CÒ C_ï™CŒƒWº%“·µñ7/—Š'Û?zö´-€ÎÅ4Ù«gD|Bg²rH¬…_ÓQ1Yô‹ºmjô=›œ'Ý +[v‡ xHå^Êy%<ÿ“¡¸tì/§Jaê9}ö5z²™½NÄ%êð‰Ìôj6›-\êí’œýЊ€€Ñ$Í Lá>í'Õí ¾W¹?Ó^·_ñ*¶ì‡íG 1ÓaÇURš™0{dRM6ˆüþ¶$D•øÞˆïÍÒέ½ÍK¿vpKcÌ’ˆqÀâP:‰¦5²¸FÛÛœ–'•×§6X¥$•Æw§&«ºýϬ3ËiW PÂ!•ËÜá'–¹õœÂÓ¢°VnôFý‰o +Ú¼½çvÇþ´:„LÛW/“1pÞg˜µoÍé2œ¥ŒDÉ=ó[1¨¬Ÿ©p^q‚è·V<ÓÁrOåeVp!ÓXʧ·]7q€¤@ÇÆì¥h¬°^mŒ†’ÇûXèâYÁÉRñPšnaÕíQU=§«÷'³þ^ +T6Of™î&ÎöÁ2uIB’Æ?¸r7W²±º/Rÿ°,-KPû"™XžºwæóŽS—AG†o:ÆîY._Ê FZy¤ {S‘ +¬4vŸlÉÑ7¬û¶ãa¾v’ˆoWwÁÖ3¬¹l›“WÉãO}âh{×*ùË©äõîñÁ+î‡÷e[;ìƒfú—Du;Â;SEI15KàRäµI™A3K¬ºoù?ŠðCd鸱{Äe2 Ÿf{4à©eŒ-cp_*…Žm¤¼·Ó2kÔö¾ñÒ™])C"X–í$l„µ£¼CÌ(ôÜóM=hŽˆy¾oEL â¸fæòŽ¼CŸžªÑð¬kÝ <æ§ XãúomÙk¼ã‡E¶ +î³@ç]§?rµ?ÝCuÈ‘UvÚÍ¥`,LÄ>ÿµ®€YdøAÄ̸ij ¼ËùÏ‚ûu‘KƒÄi•áJz ÚUE÷»Òî§=£ÆØ–½ÝÕ&›+ãú1Í É:úìªÆ<`õb"°§wfÃB@eñ}¤q)å˜hªº»çPö…ò%.yEBCUóÓ?½ãcŶvß{õ3‚zó׻쀺ÛåE¨Ð–Ÿ,f$7ÄoSuгg;3i{E“ vŪÙãö“'˜'ëÇ6Y8¸”yч¹×v íOÖ]Ú†²eÛ&y{+FХѷ¸ú„èK³¾c#íNØ8:Õ B{d…u"ö“9UÛ +Yy- ¸ R‡hØ"}HE 3¡x±­:øÎ¥_—CI-¿;~3’‹ÑØú¹¤Õ"@†ý^,m Rî¶VÑ2†Ïµ‚ ù¡7ô³+!Ùáá èkÒP²¾€Pl½q!ð™£ã~á¼à…˜/ø{'×+Sw¯ÔO³ÝîE‘×X-`uݲ ÑH +ÃVftÕušb¤ëîhT‰ ­–jEŽ-0EË{éÃêáÊ*£Nw¨ …´²-¯6ì]û¸“ú˜¯Æ‹£üýÅ~ñœ¥‡¡)Ò½r9O~¹]q/a©§ðòä›þHƒ¹Í+ø'…Æ[¢8Q ‚a×(yˆ‘wE®\Ü<ó5íÍöQY•×(K@b­jü¿¦|ÓnÞM·ÓU“NKi ¹ÌÌbÊ`i¸šÌ”ܸqWù–ÃÉWN¦Ÿø¼³^÷­š7¼j [j+%gjØG¹b*ÌãÝ·Ù· šms3…¦¤•qÆ%¾ÝBÔq¦¹l7ÅHqƒsç–ñû~ñVŽ—}4mã‚Ú·ÜÄ+{åïÃ>£†Ã\;œ‰š`õzgâ,¦ÛbÓœä…ÑÄuÑyªû)#7r…U+jëNƒX ^[kyÚãˆ$þn¥sc×Öë ü™¢ûv^!…àGdHLëM\{Qáüª×’Œý›b"Шù5{Jš4“ü" åzWƒ½Sá8ÝvºwÝÒhmÅßáŒa( µöç¾Ô¥*<Øpf´ SO挈 Eá='íÓ‰"¹ýÇù`'á\“4r¡u ù&ÌV**xÍŠ¦cÃÜp1ýšj|›¼n©fò)=q{©¨¥úPFÀÒ¶>ÍÿcB+ã}ÙHzSæ,ø +­í¥Q z7ÈçÃPè‡ïü]eÅYc»Í Ë +H^CµF(ï#B ’¤@‰ÿŠËEºcJjpœ'›Æ„ö“¶KF¹Üz›µêKª `â…Yª(›óúÀGa:w8+Æ2„ð‚ËÐkßÄŸé»ÂYŸ¢ƉCG½ÙÝ5L-7(RC¾µk ŒÊr( ” _ÓÒ,·šÜ\j£z4‹¨üs D¢ÿ>Ó”†Œ¶Î|A÷iMBa‡ˆ£ê‡ˆµàJy‰ó0ßwñ¸Äth"ý/,Ù‚¨÷+Ãô•|~#ê¬SEÃø-A“o¨VÀ?ÙŽF™¸ò$Ä’\ß‹75€Ô®V‰KãW2šá6`ÓK¬‰«áoVYª0…:‰è +Ûm (³í‹û²b¤›!0›LõX¤Të–¨Õ{’ÊXK"’•³;Ò~³Þ•xèíaDèµà '‡3’ 3gÜß~÷¬Þ`."~ZÝQ3 ¯S ³Çp»)gÛ˜*%MtO4OqDñKÓ7Ö ¬õ Ÿ”†A•ÝE$²×¨|ÜXá£r&ŒÁ V»­¶Êá(ë%Ó»!Ú8àVQ °îÌ–S£þª^-5dD¦S´¬ñ‹®¼ÁÈØÙÔ´Øa‹*‰rÒ;\žÖÏ£`ÿo¾2¡¿ÅsÝúËríöíßzþÝ•?ü †òÚ^j‰‡!,ÉÖî¹I •à÷ÃaÂ>ûg—N¸¿Zƒã#Ïa_ 3»ç©nìlžîCWm1*¥T3+§ÿÓ©¦™4KÕú³ö6踗.Hëk1’­ô÷©ó½@çô×ËáÓµÖaGM­>c Ó3!™Q8HQi˜ñÛI›Öí*UË]f55W¯A¨Å#†Õ·(~*„fO‰^çIiµæÎÎ)€W91¥Ð(ߪJûÆC‰“^ÛÈ’îtù¾UæRE]êùZ®L:Y/LÑöððPŒ§ÛxRšË|5KÌÊEy‰Î*ë  +ØÄ­ÑÕšKµùƒtδGN]<æô•\Sà4ÚµqWK§)72°|¸×Ekr“ô°³,èA€(¯Q%FÍÄlÝâ¤ï$Î7˜€‡Öoån3µð™èP\ˆ, PnT'‡‡y9¾Ñë™ÊÝyä%ºì‚TʵIÍ—¼3¿¬¤TŒ§ÕþFÀGâv‘‘h|Å£÷Ù>¹ïœN}š¤@úz40|…/# JÏ!á‰vm”€Í$9~( 2Ív’¹*ŒÜ¬·¿ ¿ÝëÂ@¯A£+ [*üê´´…Я°Ú¤ÚZ×­¤ø¿Ù‹”/žÏkµÞ~H§4v19I?E¢N›9}"…D2Úœw‹kgí°ÁÄlòÕà,çó; kKäaÃAÈ‹ÂØÕµ ׺“ÀP„‘žÊ|”&^ ~=w‘ã-ñ´SOÒö—^VërËêZËŸÜsŠ§o¾1@Þ»®%»uv^+øvÈ­B?¡›yìyÖ¥jèuÜé䯎õ¹Ñv)à¥]7uf=ÿI¤_# Œ¤{Ô >’jŒóYÛ‚Z0ý :ÒÑÍléHÊ6Ñ(#éï Í<ýîøÏ®yôÕñUºßƒèz‹có²^’¢N¨Çkh9¤ŸâÂ2h}ÏtÀ#ü>Ñ€Â0(…\–žZ?¼nÑy8›¾­‰ ‹çälÏE˜ýLÕ\ÅÖÐ Ô„‚Uª;lAk%ÔßÍ×æ—•9Bo½Ú|=æÅAw6Ç %/ÄsÙN sE¨. ¿Ø G꧛ŒÇḼªöyD+·\/¸´+i|nï›Õ?Ç暣8¦©5Jk0Ï¢Ú–ÑmÒF%¡ž,åÎ!Vçj4S6_Þ +endstream endobj 307 0 obj<> endobj 308 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 309 0 obj<>stream +ç KžHœ7îË»|ïöñöc³mn5>V#~–X#öª5ǽR‚v®à†—km©9ýZ?¶‡Á;»d9qKZØæì«TY¸!/ÉÀÆßâ¦l±ÔåOüY²âMPï¹fÁÔÄùãÅøÄ—HàÞÀ-¨‰µµ‘ûØ‘0ð  rAk˜?'–š4ýùV 9R5Ùy®škûœª¼BÀ­F (É6—wv13æ+y6uš™‹‚¾5ñ@ÀXrò¾l†Ãu…¸-ð42\l 6éGœ.<ÆO¹í'›ÜGbYxyxm\%Øä&IU,uaÓ!Ýiß@¨Æ!­.¹ÏÇ­­tãœD¼O,hÒÍ¡*D!r`ÞØ :èg½¶Ò”åõ=]Û• H!¢ZŠ~ã(N3F¤Y°îqà%ÖåÕ[c¢aÒ<5…¿.ùÉx àÏ þ …:ewÀRá*ý+Ôæ¶j˜št>ñ'›²¾Š/g÷oFâõƒ °A‹gü,Æ.A õJC1úM¸ÒÖÿ³ãä°½gÑ«âS\YuA”ªÿ‡«ßÍ¥É?.ê>—‡&е ë`ËÄ‚‹ÀL†Û6à,ÙàX¹YheöŠ;œÐÿ“ðÏ5ê‰:§u2Šâ­; +Ô 7WsOv'³yVàzÀƳeùU&Ÿ+ír3ÍŠ×,~´½k]ÐQ¶ÁRd9Ž¶O…5³’ÁÙL³àJ3Ý´dÇ)Ó…Ò¿‡ÆXøMK¸Á܉IÖ¯ +3xÞ)Ê­UŸ +jAgYŽÃÒ÷]ùß…R„=Qž+ªmyzR +ïð]j~•šÝ¾A€Ï9 :ÙĪ¦n€6L=¬±fôI¤WcÎPXŽÁVÛˆKnôÂu­9û˜ì¥á R#ùòøòPîúòý¹N“TAécª÷B !…œ¨p¨o½ B0Ûq<îÈÁ·hŸHrêèÕÅMÓÖo¼?o fãNúÄÇgøÐ+@zˆÖ?¼8ásB˜LÖ¾lu†Ò±% 4/6ÆyZjö¿f”LêùpNj£ø §¢.0Ó­¡½Ð0ù§é,íUúFØq©ËüþBÞÑà¿>?XN ïsne£ƒïÆÃG¿¥[glµçôMD-ÞÀ«!mψäúQÒæ3J-¿Ä>S „Ä5Õ\X:ã¦,Æÿ㶢%Õ‘ +¸¢Å=9$@Ÿ®QVÉ…grÆ+Sš¼¶žÈ¸Å9+_Í$м?õDR€šZa0±AÑ9I|ÁN·ë ísüÆW½R©r+4Ä?â +¸%R ‡@¿žö6ÀåŠB‰Y¯Ïå¾€×MÇ¡Y¦ +JVÅ{4` +–Rµe%xI„Â…2Ôjlº”&½ŒÂ‡y &º±¨²a·Çƒ*“n»/¢Þ°4j{ÞçôE¥`Áh8>XjóìqÛMfõ¶£Yšø,sþña†1 È©ó2%ωuÛÛå’´-&¿þã™3S_^£Ö…XÚGò\ûŠ‚ Ã@²šD3k¤ˆ²hæ^u£[bvŒ•¯Ð™bòhl»L âö‰Æ£‹aŒ9™÷Ñe)¡Ɯ֪Å*¶Š®az`¼ë´Â¯v=&yükKc5J˜¥shšº;k¬Ñ··m«!‚iÓtp!Š>þÝpë"Ô'»Ùš¬|x‹jËêYĬµWBêQTMX=€ª?Dëc½¦7æ&Í(ñ]ÆÖ[€äŸD0»ƒhðv­eÐb´!×»hø|ñ+e®´êSºï%€W<•†²ì8f ÿ4‰a™å$v›;ëÐxÓ gò<Þ2H';¤×|Öíïô­óa§¸P›·ºûž€¿ÏäËølNý Áf;±QÓtrÉŸeùb«žlÆ?ò5o˜ÄÞž±Ù‰W}¼ùýïøç#$‡OHšÞ …'ëÆÒÁCC£ÁKœP!€»Ñj„iºŸçÎO‚IÉÈ)¬QVròK hÇgji€Z-1qF:"H“†‰Ff£‚ò/='‡k™tP’Wº¯Ñðô>Õ^´¶Îϧ²ì t†õ\Q,5ÎDÍ]¿ó0F@qâúúds`‚Új ¥t’¤©#”rP+vÆMÚõ®ÀüûÄ%q•\o·ðÜ”³ÞâþÔ@•ºôÏ7ä¬ç/¥Î6¸vÒS§m JµøÓWvH›`®Í°ˆ½µõ·×(ds2òjÝÁf ³&ÅYçæØäd_¦>±)|‡šŠü‚؇•`­g±Y+m´rqœl ÖéyB¢Ì5vüþJê »¬,B¯±¯Z²×èg¼QÏ!®Ó2¹xÀ]õ»kÎé'ø£·,Äêæ–,tÁ<Ìó:(Ú÷. } +ÇÇ÷~VÞ¤‹Ö(~¤ú­©:ðzÉ^‹OƒÖAˆ1A±ÆOkãp|Ó<•% àÕi÷M›`Ë/Ò NœÃgS@ñìÕúw;”u«1fâqõÜ­H`Ñ6HÞÑiMˆwœ%!ŸC¤õ|Í!(e;¼Éõbᯠ¡îƒåÓ3ýÉE«‡ÙªXÍÚYfyKB]lJ‹.Ââb^ 2!ÙnmDÇ.(Vxª+ñ¢7 ·kšk‘FøVÒ` ˜‰äÌaù£ý?tÇ9µ|s_Íò;8Hmà$Ã-gGre!(GȦ#ÄÞ|¡%ætÞ+¡_ +š€‚³?PH •h“”%:»+o‰úÂå$Û–¡Ù‘'2š[ì±¢ ‹>ª£+Ü€Ú…}K^[f·2ªæ¸~‚Ž²Ãü÷Õ{\¤=ܱ]áL&lïÄ£M.Û±x^8 }üëG7JÒ‡tcZn™QB > endobj 311 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 312 0 obj<>stream +Gzy‡K¾†ßŠÜÏ2ò‘ØõwØdÀÙÔc(”^Ô*Ül¬säÞW=ç:±îǧµ4òŒÖèä»" Ý!`äÇù¡íªîÚÎå^Ü3¥±á¨rÚ*å†'ÖÙa–¿ N…5ØÜjÙ‡¬ˆÀ׳iú–Hieh0¬¶ãÕkp©}5tQ:íé4Ifa“ §‡Üi›cÉ\Sä{ü>é)Í”r¶7:`Ì‘VàÍW«´ñVFKú´ Nº¡qÁÎÞ"*ž;ìᦛ×õžû?w6Ž²ºâ§fßTñ=&²èÌU‹‹½Õ}ý©A¢ÄwãLèqÅTsõ_XÃä"ž%(‘¿’×õX,§æ¦l÷ï×µëÓï9a!Aÿ¯˜•ñâ_CŒ¯1“ËúILÎÀhþ/Ðœ Û°xV‚ø‡d‰ÌÚAÛ ºµÙ£ÞK®Ã·ý:CUïâ÷àˆ%M·Ëªõ@Îõýú…ûA Ñ׸ Û]Ç pgÕç÷K³Ô¯åª´é4[ÕÛd !Ì.xÛ­=ï÷Í1Cn<Õ±| ^É£—6A¤lÊ*I±ñûÇ>ä9qˆé}Ý¿b,»r2‘KºxvFz¬¹XûQ23°äv¤Ú™ßsÝHB Ø~SžÉO!\Ú?‡ï5ì"Ï> ¡ì~¾%$ ÂíðGf&¹QÞU^¥ðãd å DÛï]ÇÍÎïuiÒd®+Õ‚!Iç%TU$ƒ™Œƒ„ ’T¦Ç˃‹X6(K8³¿ Á) Àâ¼iqÖm 3£A>-ý>AÌ ÔWÔ\Ô7c¬BØQÚPuC‹GÏB|Qzâï +§ÖxdN:öjj} ,@‘š5m¥jïþgÕ‘O­ïb }þEèÒ]yZˉ àîstI‘ã”ãù‡x;t‚ù5i;¯ÝòÇ3”uø÷q7VàA  ÔþºN{pXÊc"h5ÃÚ¥4` tÂúe)Àér‹ sIR³^Ü›‘„Ÿ¬ç˜’á(;xÐÙ™Ûà^å†G½g®ô«:DªÖê5ÿX÷ÓQ~~úÈOò6nåó;ã/ãU²ñɈ«ñ@iö3XD+~¯ÇIæA7Õ›²Ý‚L‚Ë_©Z£MÊÕ0Ðf¶t›²mVK=ûæ7Óx +´Vo‡³%˜çÓ­¡« EŽ#jY’åÊ‘(6 Ä™ÛÄMI.ù ¢[Y¶JeèQÁžQ, ËF D/ÆoÍ%UIjø”òX7ewî; +šq{ƒ*< ñì,l»¡<ë>L·ôšTHr T_³Œ JvM;»²kJn'£œÞSA‡ÆŠ“{¤éƉ¬OL»?ö”½D=³¾p™¼Úr‰«£+qZ±gÅþF<%æ‡!/š”Ç­¾”JèÜÄžgÇŠNÇxc"%×”ë"M Ü­èér&>‚]vq?œT—Ž¢þ=Á b11Jß«¦ØSlŶþ ƒa†AWX¥±9µä{¡Û/=AJÊ7÷œ zÖUÔO-9°r»ÿçNPÑÏw\Pl0ÊݦìŸÏRüµ[ô&Bˆ‘oéxIæ‘^é…sì1‘ä>wvŒyñÔíY‚Ö`lnz¾"'€š«8<ò:d>eD¾ªê-zN„º½aÈš>þ¼ô‹YPwv‡¥ù"‰ß3E§_£ˆüè„ðåTƒ>W´(rלÚ9üe«㈠;©õå ësÁhJVé.‘3Ø/F:šÅ˜ŠFÿË »¡cÜ) H–µ¯AVåBa;Hµy¢ç®©åêÏâ:iOãBÁ-fé1ÜÉbo}å‹fÞOŒ®dPÇÒÝ*µŠº/ôÎ_9A“±ÑìϹ¥¹ï‘'ÒLõ£€PÄ6çývi;>†PCÕFҎȃÚú½[+qx^4"\ˆº"!̾vý£¸Z¢C" °¯xs\<ê‰!©É–\áˆ)ض%9!=žÜµ8vÔ?µ® ÆQè³`€P㽸:^"¸U:¸²fêË‘äCàÃ*{"-c Ëñ‹Áù¡^_±® Ù üÒøá¡ zà'ú9Cðqèå€ÎÁÝKÛ!oí,¨¨(©¿‡aha8Ô±PÛãù Eïä“Äÿ’jŽ?ó~dù…à ï÷â¿eÛýCwYªù`°Ù§7yeòu:aцžGÃÀ>¬7ظ8›÷â:+‘?„ØA[Øœ€6TuzøÐ69¤Ô§èÁœÝŽ×^XÒIÛî u^”¯éå#J¨Ù‘Å?±Ù97@ü0î¤FŠ}¶°5 ,Ö[Eˆ• §€ºzÃS/_¾9,íå‡ã(EAÄjWõw6ª¥ðì`âzÊ ÿCIúÀÆÆÒû{à™3õH2#ƒ/\ò÷UÊ¡Õ&£‹H¹ÅN±éo¢è²†à®e/öë¡5T»Œ8]sì« ’5h¼kXnôM¢ÐКŒ¨Ht)”QJÚOßñÌfr:vþ¹jÒAGé#è¢hqð BWßO¸©.ÐÆyW,=•„Ìó@ÃF uÒ™š[…<Š|õ¯~Sñ'©ÓqÔÿL±Pðâþ +sÿ-_º’ œKkžó„øqBñëøLd'í’e{V‡‘ßCàß{P£zµú*¡ðüb.Oð‡`÷`1‡¥AΙñ§1PZ¹Ä·tBÚaòÞlsôêŒúyrK´»TRe®æœb* Ã\w} AÕºž»¼F‰kâÕEqî+ËaÌÔ#„¹úŠ Â䊔âm I] æo³ªL±ÐWbë‚)§qi²sù"Y~œu`KfŸªÆlµe=ÜÁ‘åi:C.án5bÈAŒÃŽrÀjÈÄYͧØÔý%aÜæ|HÝ ÂÆ?¡0š t¥fˆÌèGr½þ9yJð 裢[ÀIÇDΑH§Ï-þ“½·´ˆ ›‘%3ILþšô\°æf­1™*ì|Ì]ÿié×+ð…÷>`&»G•òÿ>vfeSœ‰œˆK€eês}֔îeŸÑkaXæfÒG1_(I­¥\JSæ*¡NÒõ:·–²6Füå6·œz…Ö(¡â„0.é+àˆtú^ÍNÖ¢úÂY—èÁ¢•EªdAiñ4ÐÀLÇ”4¯‹ÌW…í÷-µšA~vÊs÷>{Ü/ i×Ç‘¦òçOïMл4Ø½à“‡ÓíÒç Ç]­‹„&¶PjúéÜø¦§ ´¢Âiü=€m©m¤°­Ö¦õö=×·,ˆjßl6[¨C)…ehLà:ÀºDàh£_—Ö€”'~í=÷¹! šÓ+5Ïí%ÒÒ3.Às9U¨}¾q¸¼t‰ðÌŒÏä‹«©¦´œfÌ«‘J¤A?:±Ç•=Þqõ‹Ýeê‘\ek0†á‹cE»®v5ñÆ—k}í&Dm¯Œçæ>‡UŽvªÄEY"V,.&>šaälHÇbøÏl¦Ðö½y|Øì‹ŒÑgkQTâQú€ Ùv1Âuj¢Ý¿Ä±a°0]*£áÆTç“\¡)àkB4èë€+/ÝÀ•e†pðÖãDÑA¸u÷£Ò‡ãwàBF`ìú€Ùtº§âŸ 6KBý¡¢\62k@%›po6'œ^íqÍ£Ÿ;•°"H3×e~1ƒÝH^KM¼Ðþt×䊕0ºóau‹×G¬½1Ðw‰ÒKæ• :dÓØ¢x:ŒFL?Iå°Èº¯lÃzîLýX]£ä®ÌèƦ~ç…Q^’–K×1œ¢Sx¸š„ísºN’>L´Ð \Ê•l¥xÓò¿Çv±I‡ì8m6æÑHä3‘ù"ó¹FÔùG‡7ÕÍþž~ÕŽ|¢C"λmÐQîÔ2S­äÍÊuzù‘é1¨ßeg4º= Wù¾4³ß1J‡øoØbG®ºã-î]òY[`íÝ–’ÑÚ€'f T&+‰»z¡›g¬Ò[Ó¸fñ¸X Ç=ÉZCŠ!p}*÷9[.YÚ·)Ú’Ì@ögPÔ%•]^G®¨È¿W É6ÎùÒZ›ç•—¬*È'/.Ƕ¶¯ASÖCÚ8æ¬MðÓ©)MÌ›:4­îºë-ôS¾Qr3˜ \‰¸¤'îºÝæ ×íE^¯ýÝæ—ÌÏ:F,öÀHƒD‚k)M‰™)9¿ ¹ ÿ/Ç+;‚Ý9¶¿pC¦4ÛèÙÍÏñ²p‘l`0y+úçOü«Ì>-:¹Ú«bÕ*1Ûéƒ,Pe¯X*…îÒجð—v~jlŠbÈÙh5â'Ò‚Ú§^Û¬ÙòLã¿Ù5Z©’“*ûy[š“Û¦1óÜPç5vVàÃÏ×Ñ;–3Ðey\>Å[­§Ø$~Sk\.[âœ?´YÂê‹Æ!›=GºŸHÖûŽ0ysY“Z„áªÙ"&§ü):/md.sVŠ×šÛb·éQ±Œ´CRJõY¤­Vš‰¥ÁŸº›ÇÈ®\ *iÒÎiÊ ¾“§µ0°à>ʬ5’otšbÃ7?裦â5‘®UºÍç ¿A±rû0ÖiÊûÿé.°ø æüH]ã“!à"Ll(q–R€¢®IT1±ÄSÝœ|gðÎð&CãkÛY¾H±‡É›#©×ÈH§º&vi—iuÇ{Gèµ>éBÄ»-\ï's?þ2ó”§C¹÷¾o{eénZ“‹Ú"]& ™ù.™ÉÉ}±$ݜл䬑YD:Œ¾,µyû3±s”x+jH^&íí©P“.诞DZ¨¡àÈ».wÕŽ´„ žË6ö6ÛØ:E¢1ÝX‡±oé¡,°|e1}:2MˆU®Ðx¹——6Î)Ñ>_œ~:ÂÏ}` +endstream endobj 313 0 obj<> endobj 314 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 315 0 obj<>stream +v×ÿ·ú-¯èœzç‹ÇÙx#à÷N4|"ÂTØ÷svTîµÉW{œ,íé:Ýæb~÷t"«$ËIxî coŽ÷moå›ïŒ;8¢oX,.ùž,¾™Ú‡G@M\bóýýÍ£ŠQ6~FÔj†Fd¾_5YÍÊÈ÷·TÒho«(¦dU/@ÀL +fxÐncN„¼5e+5s°¥G(¡ +豦ÙUÉÆùëèå‰ØI:ŽŸ²,畦d«e嚤94Ûbžh¥Ga hö!e®#:4öçþï&M®À)³º˜€"°C|Y6”¯-ü63Û˜él•§ÅOÜe^ì˜×y6ˆ4û›ŽÂÊM°šð‚Šuؼnƒ•4"ãzÔôâbôbWXÿ¤|gŒ‘Ä‘—F)¥{4 XŒB¼á}˜@XVWšc™°¢,tæ×ðÛE%Š‰ÐåÎQœ5w朒3ŽRûéW/ Z{è'6Ö6¯é`´oœv†oƒB)8R ž¯¶Y¿ó?Äœf0(âàîÁ²>Bû4ö' Geeò²šHü¡ZäóÕô®Ë2鄺”t¿Õt<"Àmðö†*g:°PÚ„ñ&ª˜¶™k¢'^Ö‹v¬(ö\™ßfµ4Tù‹Tqôæš +…µ³Œ¸Û…ÅVpSÞ;Œ¢³µ3Ç’pUWROU“÷xÓnæ7ß,m`±1Ya-> ·\>rÜŠ˜%P€°Ù /Z¯W~! + ú¾iB ?U¨}F ^¨w/hM‹n¼ÚfI3;‹ý«y¨ïå}ZÙ¾l-4¨> ‡Ïrò*S¿Ù²Öû[šÍ"v¨˜Ñohê¿’r†­[P>)¢ß¿üa¸,^»ªy͇%G"XQ_ÿ²»6ë6@¹ù@ T“–Œ‹y¨©iHïµ:c’¬© Iƒ GÂ'>¿§içöÇç›ö±ÃöžÓwÎÏI¹êÍ\Ïåx‘3FìzeDh×I±D™„ SÓ”ÞWß ˜¬…–bµø80 O=‹V1<& ¡JZÛ K7ÅdÍFÄ•@Y[¶þ¹>\3÷_äÇΤ?Ñžó OP§hâBåeª>ÌxEjƒÀ5'¶}ª–¯¾ÚðÑQân<–¦èV«Ü„£´eFöD‰ZŒÕÔ¨+sC¾±ÿÐûåI7ã÷ú×4ÅS h7V ¦i‰—_Ö.ß' ¤-M³hœ‚_=%wPEÝ2f©ˆË~„㰸Pý#˵§\ +Û\f•¸ÈõÏßm?onBÊ"îžžkTìqéŽ(#Sí³aDb„¸éäE;c¨†»ÔøöºÁ‰·z¶€˜-†©UøB"fgþ¹>/oa%îqÄô @_³qÒ0´Ò½úÙmÎ]ñ$Ëßú„ù‚i½žÃ™E£Þ²éÅYáô:dótu`eôM†š¨œ 7h[)Ÿ]¢u֌ݟAÝF2}:œvá[RA”òÁ/.“¥|«BÈØYü‹ ¸¶å~,kŠVÎÜOÄöjÜPx÷õ¬µ•¥Àù®?<Ó‡"‚vÄ*&ÒŸœ§žf8s$r=02Èprq x&4ˆ¾i3.líMÎÙ±À6“Ö²• E4Î#Oš8ê 0KC+Ö2.åm»×8 ¬.;t;xN!o„¦M©`æfÁ\ž±:¸F“.ϧMJ8ÿ)íª~Ô NySD²1Ü’I Ö¥.¢Ÿ²‚º@‰@íPчQ› D{-°ÔN´“{ªOC﹚¨ üûÿ<=Â#=­áí¾i—ô“K_¢æ=Ä\•‚êñ‘a·•êÉ÷γºØA0“ýÚ÷ÔÀ•—ýÚŠ_¾ÔSEžMnšÃZ¤¸ë„’œV£ccwý·œÕÒ‚÷³9¹ÒóiU%gVzNÔß&¹ßf«IYJú+×( T²*ÓT:¿siÿ¢øЭià¬ü“Êùûl»­2ùY8qâJÖŽXííä ¢}y[·g¨;ýÔ?†V솯ù£Oéqó}ÃÝwu•¼,‡”<Ý%Æ€ðR•að1úòÝÖB0âþQÊaèˆF0ÂB’Ò´ub©U¬£@FÖöë²»»œÍ¾ÚÇ^Â×P-=„ìj .éäÿ£­¢ÈJÉÚ‚)!höŽuË"UipNæÚWúÓ®¸÷~ȯK£êŶ6ãj0Êä8ö°Œ¹E¢C6j¶*%…ì„´ÌMæËÀªãƒ˜Wç€(Œj«î[H##Û\ƒ¨N˜‚ñP2ƧÁßSÿÚ‘²M½á~)x7Í£Œú-² Ý:ÑÍ!Œ3:6¶Wü~Õ$ô~S…Î×›:Áàa¨W•zÊíG|ž‡Îqÿ¨‚ „Ì? "Çtêêí;Ù$΃Z½D1 šm½?iÓÍoÌ-×CyÖÿ†]„¿_(:cp@Qœì»È$]ËZC=A yÓ¦ÙR=ñe‹tí‘õŸ1Ez.Àì3ThéÛ¶=õ¸Þ@µz={'æ…ËÝ¢‡@ê™—ù5Ëú•W¤¸À9‹  êz;Õ‹Þ´½×±"¤½âƒªkÔl]+;O"Ïþßï1è±Oз%£t·0khæÂØó÷÷H]´Ô)^Î?Q>žÞöPù[ª(JzœO¾@aIÁÔÙ|V™"ìð`—¦)”ãuê•-)‰2Ž˜˜¦#„‘rƒ]MûG‡õÅ{ív,•îtÀ?³ÓøßRïAö5Àhg4vsÊj­ÕrBS‚ ®F3Ö?‰ZOÓ‹ý£Sãþ¹šƒ Ðt®tH®eËeQ‚¶’t×Í3þ›x=׋¶ F HOx]“ßY=ƳE,áP²ÄSL»A¯X…¦hÖƒžÐnÈp£¾0D„ÝãŹ+‡ÑH +æaâÉYË‚þ„xÉ~ÿ5ŸáióvÄš¢‚tw' "#)ën)Ù¶z©}öð¶4TÅI³ŒM0º+Ы…Þ=Å’ð närKÑ ˆ}°ÜXòl6ç®zk²Jó|èÍ6Ì BäŸî…¥Qç ovL`ᜂ¡ /UctJ€‡85¸Y‰"Ilz(þRÁ–[FŽH=-7æ‹|0> +^ “‚U Ÿ÷>@¡nF¨rº»dø|vS8w’†4¥ÆÃô1NÛ”k(reHI‹8N™íæí¤¾)%üD:ŸO+¤Þ=9ìn:4y?3V­”mÄüò:k¶»sÒ$žÞ" ú.úgƨgÄ/Œ~éEíŽs3YS´«(œT'Üö"ÎdÕcì¤ÐÏ -áòEäÞŸÕ¶®Ì*àZ÷üÈÃû4- âú†óŒ‰ M‹?Óô«!o‹ ‹O¶¡<œ°Öj^kÖAUè•éÙ……»_}µw@4 +gôD)³W},Z;8Ð2g¢¶E¹ˆwBJ2©³“ØCÓ„V®): ÂÅ]2ndz$n³‰¿Ú£†$ÛŠEe@ÏöèÛåcÿ+&ÏnÒøòú8\”!n¯*k”²fx‘S^*¾Ò| Ñ>è†`_ô¨ÍØ=çß"Ƽaé­ÅRM…s•<Ý#‰é +gDeeè4 xñªNóÇ”šãÔ·X±(B ˜B ¤æ +¡\ËCÖêGÌñDc$Ræ JSWb×yìåá¥cÒî@ +Ç›{ø ‹f8<Þ#Wšù䤎ßáä`±[ÝO -Pôtõ«y° +›;>»&ú§EÔýyìçW`5Ž ,n0쥞ûÊÝu¶]É´u7Å‘?L]F†žë=¦ë7ˆ—!£¦9¯Íaü¢»§U íxQ¤øZ_lé·ë )û0:íø»À|6VMÜìÒcM¶E“k¶c'Bï‘}RZ‡RÐé±iÜä£üO³ò²ÌÈy*Ry{“TPr~=¤á›•ÏCO Á© +LFMUè±xÌ6ˆ5EÚ‡_—ÞyÞd1€™k( ôüÖcñé¶Dj¬bÁÏ^eô½RáUÛf¬aò.®Ï]¡r+ˆ­~1òüˆl>zöº–ÈØPÜ Âm°‚Û§ + wT¯ÓT +÷Æйpq¬g£÷3µwÀ+ŸÚ×ÞÖ¨eÞ&;ÚyÜPkC‰àïÀ—q³€«v„úÏÏ„^æ@áÃíc™yã¦x*ø g¸ÿ&ÒÖƒ¦ª·ô;Ü é*2±º5!“ù>õÃ%JXL]'3 o2Ê1¥ð:/¾&S‚3Œûcc”œ‚^>E+R +÷ŠcTþÿžs†w“Ôÿ7¨f ì$Dbœ÷ +ÑŸ~ÉÓl…×ý/¹9«:íû¨ˆÏùåÌ,öZáÂÇn,ç@sH;#›'<ݾtÑïX–i¢ ,ФÕSHU•"Ø,ZO‰9Œr Û¨ð×wÆh1ÆŸQGÛF#o ™’ŠæL"–‡WÀð­äD~ªÀÖÅ»ÚòL¡5oEe[¹öw|g;å5€™³Èņ= M¯ºÄ›@Ð>ÏS徊&ŸWG×ÎÿWáj×]ÍÃ&rßS|«×ñ¶À‘`¨¯{±ê³¿E¶·ÎͦU)ë<óŽú#TpI ð”O¨Q†®t ¡ÕjS§ Þ€RR,!‘ëfí!Ÿšûn‹<Pƒ?7ˆÁ+ÛU€kþL•(œktê‹Eוÿ¨Ë- ^¥ùǪR–xq„Q]9`]fM~Í~$ +ø¤±"OÜçç^ãGAûp÷¼Y +p¦2úºÆ÷9ƒàSùØüì£H>ÀcƒÜi&‹F:NoÒŽ´G>QµF´N‰´í­¾;Ë3ó|Ñ#D]i î²5ë4åFÅ#‘èÏm ƸÑ1 ó 7C¤¯tüLœ#Ú†轉¢¤ _‰¼eòVÇ ÌDÁuèÎþ‚^,ä“::,Åd\Y¥1”Z…fJO?‘v‹-Ý á~ C'B-§ºêð(þf:ϯøòêw_V7c¸6LBfîcHø¸,‘A/Ù…&™qÆ`®2,ḑWbLÐ?]Ô€­šT ‘µ7´®wÒ©ô/'ìÈöv«'*¤ 63v­ï‰çR<¹î¢ŠÚZ‡€k‹Qk â„ÄS šŽÅ4‘Óbšc8|1`>.`-˜ú’m^(6Üü0¶þ}J–’:gD$!ÿD(ó“"m!ÿŸBŠ'B!߇áOû¨{åíyUTæô Kp!“›]Gz÷™&Ìö™' +ÓMòy¿ +endstream endobj 316 0 obj<> endobj 317 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 318 0 obj<>stream +ôm¯Û8m•‹$é'Uµ|Ô»Jt |£k4iÏce±V!Œîüµu%TÎðõ$»Ø@•(Å‘òôËë9"H_R&p/9› M†¹¢™Ö™îõpr‚À˜C¾ÃEU?ÓQÂÏò=Â2¼*Il7GÚ®t sB{'Æø‘ÕfP@ôåÕ‘j…^T+Éeì& ©†Zè&€}•‹ÙàX8×@ðGœ+¼æÑ‹ §ðµ"Û·]¯lò½n{Ô)€‡;¸N™'íÖ*»ƒF·$ÊùÛ`lnØù®÷ æÖ5 ¯KÒ›ùº£ÚÜn¼L?}ÞñwÌä%"`%Ê6£ ±m¹“e¾@hå¹8ˆ·6›Ù0y»• 'KÊÓ­ +æº r5¦Æ +;À%Ñ& aù†ªû2Ðw§o(XcrR#µ…‡*º2±ºŸE@ë ?ßbaë3oPáT9z³º7&УLe›úÌÜÒróYÑæíFÖ@'6™¼3â7|êÌǹY}üS©gQ€âN’‘’º_Ï1–lèbß.¿ï/WI*[´Êy¤bŸkì“yäGÓ;™x™´ò‘47Ï +‹¯F_y­üúQíìÃÔ\¹Œb(‘Øû²(–ã”KwëYFÍu÷•]lw…$âj 1ËÆVÓ2 ”oаgƒ ¾…NðåV(™Üé¾AÿÛ,C™’2zèÆY†çþ£ŸÈ1¿-fyM-ÝÒŸ±U¶ÝaVè-qI4¨†zF÷’~y;,­q4tŽÆY + øÃðÑÇwëFº†qýª +\|(Ó”µ'»eHlîÇbBY™/É<·L6 ?ÿò‡·^à3ëX žã±)"ÿ1´%ès36¶*N#FlˆÍ=jkûtr Øxq4ÜÈ0n}FNF/ÉDd¸ØD¨öÑHbˆuvIÚµ»àDn‘Ú¿wÍ„øŽ×5Õ‹&¼®]Š‰Yß9hßnn0?‰Ýäu´è\À(²ˆ”) ä­xyV@ –ñW".–&&pkT™†Äp—«Ð½ø wo˜¢ÌT‚ÿ ^à" •z™´#ìÍÅoq.–y£ðø]à ö~V˜ ¼~2, ÜÓE#Óuñ:à„È>Ç035‹CÞBä–eŸþtf`oAËþV»Ãkû}}_©¯ÍÒ0Žéîrî!ð6 Ìk šF;õäšÌÛWíøˆ‚±†¶ÏlŽ›Ë¾|ÚY–ôî5sä†VúëA‘õ\G«Ôd<àÎ *ì{{ +ñÚJÞ ùëCio>Ö¢ hºˆ|¾¤Ë†‹§ZuýeÁ%êžØTœ½çnÍ;ÚýwXÄ<‘—~$&+Ü]í:ºGµ"T|í̶ "õOo 4…GQÁF¾¿Á+˜Eö]neyix@'‹â¥l*ÍP¹¦òâÍ„/€›«PªØe.é>9oye&/²oÀàûðñ‹1PMˆ@bÔMˆ…ù“$õ³¹-z°XÜV)‰–(púm³ŽxºÁKèÑáqö?ï;~V…Òá"¦÷©±c™Tº`$#iã%\4õ —2¥hõÈbW…‘  +“Ñ°¸çh¤jœÈñ†Ο)Âýa,”(É8³„Tü=‚N“;Yܭܾ’øv»ÜÖ6[âËãàvD’áŽÅ@/:=³9]ꥋrÖ@·XDÔ€X x"†jßü[›‰Ò…Œœ¹:ÌzÕçxцÃÁŸE¬æ¶Å{Ž$‚ ƒ„#8nÙÃSe~–@RXOæCTF2o®¥Ý·:ûAŽ¢uÄɈøsNÔ¿é®ó,‹KD œWOÀV)X?'Zeo2–(•ŽÁÌÓÃ|¿Ðáªö†‡ +S±×ZY0¦Ù"ÏÇ-haQqÜwZº§Ö`öEH’2M¡EQ²þfdQ0Ãù7LjWýö1ï©qÄ A†¼²õ87ˆ1¥•M2v—I3„ŸªË%,¼½•ØXh…ÅÔ·­_cûÈ `–WG´`Ú[€ø¼˜™U‰OÄžjÀ¯óö͉ã<4iäDÊtå†DøªšO©/ˆHÒ/pô‚ ,=êúƒ«—ŸF¶]ÀˆŒAÄwdÉ?ñthÔ æ´ {L$ˆ¯¶Yrͺ`Q—A¢ºúð!¡Vö7’(ÿ#Û“³ÕáYœd—2væ¶!qÔÿ<ÄpkÐÀÙõZvÇ˲… ‡ ¤Õ‚HEU æM#%„½·饼döUœ½œQiÍ +‡oWE§2ªg³ó2ƒT嘘éb€·þž]é¨(÷Ò›¿gjÃì,mRäŒ0IË$:ˆ`“÷´êÓॴá4÷÷¬/þºÂýÅö¡ñ.è«Ÿb£¬§Žµ 6‹Ýa•Rqþ;«EµŸ«oIŒ‰,.\‰ð.pY‰$h¶ðZò<Äôñ‚R¨VÊ8WÈÅ—/ ÄûõWÐ#¸'š‰%]^Ã[«Qz[:Cî$t&n0¡ƒ‚àkY‚úñS9hÌ7¼[ÕÇ‘†Þ<϶ø(0Þ‡ Gu\™ p¯ª}BJÎÉX +¢–öÔÁ¥#‘°ú~bet$+= +Ò=è¨îlN¨r“ñX)E-}Ê”g8ã¸'¿Öž"$PK)Ha¿ŒKñ]¦´üg›q5ýLkq8,áÆø±ÌÃÈ.&ü¶Å9ÂjI1Qßþvˆ–íA ªZÁæYSó‡»à~’¨AR?yW ‚‘&x|pz|3ÅV×n¹È¦O÷](ÀÄÃDÂýåžU$‚DI/‹•šú€¤Ì˜Æ[±²C*6î`+gôˆ}cÓ'V.‡,Ñ¢K¡EM° N{â)©|¦'²L]®×H -É.“á=±i \†[¨_sé`)V8.f(ê£Z8éqjjwuJé럌p~Eϲ¢Æù^Cžél¨¦xJŠ%Árzì¿…ëh¦­`ÍÙ¬èZŠ&¼"ÿÈ(u¬©éµ JÀ,×`²ÞÊ|éYˆ0%òKžÉ>ËÍߺ¾·ë`ÓÊêem³öÊI¼XÊ4äØü­k´Pט(»êÆM ­›^§HåÖ§ùËù–ž|vQBîë\FŽðw¹|Ñ1¸e:49_K],¿ÆŽÒ+¤ÈØpXRŸß™)ôc’ ç R_yýðb" ~·´lÆ>DÄo?c)G$âb6™ñ^ÿmtsüùM*,rië5÷ÜUZ¯›Ì¦'>Ž0 ÆzÍ¿©8bDwdn3Þ ã¯‘Yòk¢d±1´„–q.™d;'«ŸM õ»7”ø\;¢çg‘Õà&/†ÈVI>6ùјñâùõQd?u¬ëñÂBÒÊËͳK„’¸‚{jñ˜Q~OÙfû ð|´õ_K.ãóB¦R`µy(ž¥ £Œ¸‡%½>öš‘ý¥Û³4î´Î'¥vÿ* ¯RŒø?Ä©´N/dƲ{‚sû8òp‘l¸¿@A,Ga·+Ÿiàô Ör)L¿ä,²ÁÍûø¾gô¶ÍÆ $ÐbÏqU:Ã@ó5Jù8»ã§ùz‰ß·7T†Áëdý=åÒzÆþk¿ 2ùPNkÑ~2~šÛmáê€nMûš°Õê¡!Z•o=GàDJÊ[oc_QU~²]Žl—?(ßbR.#ؤ—•c›z€©¡PsqÙ¤¸©pþRfÍEøá—_Ž *,ÉšöºkáÙQ¶ÌÆ#20Ô†öit¥1^&"Âu¤º`I(äˆ:¼¥©75ߌdî‘°$öþ8/­±|îGÕ—ØS£®ÝöÈ’äúؾ(L,!’¢TÁ{ýÝ4|òBô+òÉxp:§ñ\ˆw®Ük`‰ƒ2j×…îÇÀꛟRØÏô"õ{{) Ö&VòE“°š}¨Ù–wÚ4GF¿Ü°ø(‹œ!›Ú5›:¬8ÊF0£ÚÝЖ™‚¨ä3K7ÐK»CMp $À³?ÙÖpÅXç¸Vo Ø£5‚ÂsCÊs_0~+™Ž”¨& ¤Í»‘hQ”ìÒPú?ª£Ëý[¦‰_€^{C«”kTä;âü!e⿨Û}jˆQüìP-%ˆm4ƒüR°µÞ 5¶æ–©º£ýŠÊŸné^ÀEià°Bz:õÛ"ªGt\QÁM&CN¯s¼FO¤Ý‡Ì«”L°„Ä/Bݺ.mó†ABiÜ]¸n¹ƒpò¿ßEg +“<´ÎˆéäFæî–p¾OÎ}L9£v R9xD*Xz–Ï›ûkõœ‘êù/OÄO,µxÖjO['EûgÝÚhíç`Ræñüe³rÑ\âè!óU­ÔðÜH&äâ·¬w©^gÈYã^š•>À¼˜ù]ÛΪúò_*ß:^=üÁLÏÅI:ù¨@±ÉŒÃ–éfÞÖ†±s¿a¾p'wf\B°“LõFÑÍE¶Ö&òªxXÉD¬n•òæJ¿ÉåO5«\×eÂê"ÙX¡ÀUyÈû'Ã¥"brD*äo3³#/ËuàdE–‰ •ŽYA“J£ˆ˜—ð m`$ù*¨3êçw:#ÌTbUqïÛ çòô}À¥@½zx9 xó9YQÂlEpËš÷©X¨dMJÓ† ž{D Ždx¶© ¨È$[A Ü»-ÞîЊR œ|ÖÊÁI#óú.écq_‚Жg çÖÆ}…êÜÓ¾lzL8(Ù*©´•›éW°~Ùð+Ù×rMĨç­tAa – ž«.°UªEdÐ2­‹e’´ÔL²ë[guê +M¹fºMŽêÉE¡È€>«z©Î²¯\‚XóaA '`\o@x £CZ{åÑ@‰ÊDE4Òí›4fÁ‡ð€ÓEµ€…¸,&ÿíZ²‰ ›Ý?›Ñ,\“~¨¯-4Wái°óÞ}…:þ¨®4_¿”Z°L%á}VSîzD “¢mÖ­F=­Cë5ãŠ~–±‚=Œ>yƒ 眒m ôËîuñlÆ$|ðã¥HùcöAuíÎØÑ)Ãü}—à–Ÿ]4P3o‚_“¼øÁÞˆ kÿÂÏwÍ Ê*lJöÜ›/G¬ñŠ'l¦<"@ÒIq‰‰ØÀ¿|Eãû%ö"Ñ‚@9ɶÃ"-ùacZÑøÜ×¼œ?%ߧfÜ ÐÑc²–¾â²)™*ŸæÝÌŒ„<ÛåTUj‚îÝwF€ÏL)slE©.>[KÝc Q‡ûÇ‹û¾=ò€æ䜲GdÓÑEp›‰` õíÝ}q­)c‡š]!} J´*›@ +1f•ì^”1Õ+$Üc®.¶j¥òËä®/j +îa6áªæAÖr®1øKÙàD†ÃJ[ûóÇÇç-`S–ùf«mὪµ¢~pîÚ;­ *æÏ"ܵ«×þž±ˆ¼Ãí¾ëÑ.WK³+»‹zÌc,cÕë|*òà ÌÍŽzEÿ'‹òÚŸM«Z†úÑ@6.™²9çLQý`Mñí›,ŒèÃjEZú/Å|27°ãÁŸ DâØ3àõë’WÚ.Œè‹¢Ç·Ÿ$ø^¸Ú x4FÏÝŠ®çÁ_9{ëæ*–Ë« ”ð…¡•Çs³Ä‘Ñ­ØËU±Ü +ûóì^ÀLšâÅø¶,Ü«ECÌ’\ÃýÛ%¥*ôßú†w[Úñ…—<x²Ò¾–·pîÔv;öf®²‰T Ô]¡éw@îuç7 ¦c\ºÊ…XpºðcO…¦C!BeÑÂkånÛröÍSø…eá“<¸áøó"J„Ñ8°‹ç°rÛ7!>âä ²žŸS …¶ÜÈœ4Á|Âèµã7Xåý¥ BÃtrUB‰‘qÙ’Éü$âIšŦy8ý |•þUéˬUîÖǦhwý÷›z­WÖÆ[na˜'ÉÏòœó#ÀºˆÓ"¿!“‡z"œf´%Ï›88J+IÅ<Å¥%|â;ÈÕÌAÎy¼t:ÅÛJ¨jûAÂø^?BOk“eŒ¢È4 Ãìà+¤‰Ï¶›ÐVâ:=ó±½:;ÀúzÄ' + y".0ÀA“š^Uê[Ý®¨ˆ‡¤>ú]Åsái3%§…xŠa³ù°~{ˆ‚*ÅmG!Ã"L~lÏ|‰˜O¤]8úcm¿0Ûլ*ëÓ(¶Ç…'fÔ `p êÁ>¤Å¸¥~&ú‚>pµŠV79Ôò¶Øª"q<™nR,¥7Á3‘×–˜¨ +Ô/'øJûµ–¯1ºyÛ×c/IBì¦ Lĉ$ ö›J?©Nû0Á©öAÅëµ9Š´·þ¥–ŸQïʵWõ›H­Ù€Û¹aº‚o2lçZšâêõ¥÷7J’X=x‰-±ðCýýX¸t/…ôšë,lÈþœ˜=Èê|ƒ8‡pe…1«õÎpØdƒ*–y½âwÅÝŠ0XxÖ"Kr¤UŽ› <"%q+!Õ…Rb£ªPpv2?ýÜA»TçMiÄL궼/%ðHw¬|º¾+—h¤¬4)w<ž!áõZ$Sõv$q­EðF¥T*sr|Ý©à щ|`/íÅ—*¨îà–§è—Ž«Åæ'·R<ÏÝ}À¨å2˪öÐØùm…žêEfÖ›© ÖåÚùÁ“­gœÑ((ˆªÉ\‚Lga†ÖB^9M/Æ.&ïÎŒ¬¨èFÍ$÷¶!zhVã> endobj 320 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 321 0 obj<>stream +RŒåùÿØ$ZµôùíÚ©JI0¦®ñ[e×lÛW/eFbÜåË¡¤iÐ`¤tzV}ðT+è·0£‚x Ô[íâÊü§1¶ÎYU™’z4–"wó~°ß‘‡FYh÷Zöñ'>5ÿ¡žå&Ï{ý/;ë‚Žëp}J~M]"pflêþÔŠ«î´ßnœ€?y£õ{«¡‰\Q©iŠûÅ`O™VMò‹XcùVÔKXÀŽ¼föV÷;;óÕ²ÈéÚ„Ñ‹\t«þ•éŽwú{€ÉL¦äPÖù¡Éí&=@ Œø1‚àµï“~LÛn€_­9Ô‡!£IÜ·!T,¡ Bì)FovÛ4ƒ·Îbã´ +3V(«û™<ÅöBû1'tµûcc´âÛSbšiøQyøœC¯«Ø@³mx Ín;&ýÔPØw>@k,?…>}!ú4þ* ÉE(~5†‚x2J˜e]ï½ý=ØnE¸š-S¹ÔšÔU¡%æG‰rB9Ö ¢81ª“äF§º¹jÂ5&šCù¾Ô .JV +ˆ|O¡àÉ?Æ”±îyÎÁ6[žþYÑ)òÙQ¾¢îB3Ë9dΰf<Ó)EX£‚Ò¤š¦*­3rî›úe{uAôO/¸Ãܪæ]t]d ’Z¢Ö›OP®Cæ‚»M#ôú@C?†zGƒˆ‰’7ÖÛ“@µŸ¨Êw— ÐXDåc÷Oáœj¹/C̻ٔZ}c7©9mÓÛWç”RòŽU€ÏÃCXp§ð›ÎI3Úú'„#ö@ߎ=Gß ŒVÕN«|x/zeçh Ý´lhU¿m~¥yÎ ÌrNíÀM_˜ëcG«ª 3âu$í ƒ + 1$,¢:zƽÖ"BüÓ´Èx³£§+"ºØëAíÓǨÊãþ{g2)¦7?elç@¯ò׫£»ˆZ€m PÆ´&ç¶Óƒû‘í²g\n/»9ž–<¦LJÚ[ø/KaÀÇî.1³—RÇÛh2Ù”ÇW»D¾úá—Ÿ[WÆzáŸ÷Ö€r¤L&Å”ÙpˆHºÞ”ùç ñÍ ¼|8»z¬è%¼š¦¦4Pd鬓};E»;©0Ìs¡€ Ûı-ïjIÀMß©Üš!mX•ÙœöÆI%\y„àÕ# +1I†Œ­#?¹áƒŒ³‰¤ßìە‡ƻqvˆe4ÕgÜŸ`r‹²ÆàO‚§]kdP´¤,…‰D_<Ž”peî.êŠËê…¦ºµŽp³8Û6Y±@Ój6×}vܬoœ5,Ô‘eè«ž.å,¹¾Ÿ>¨×I꥞û›˜Igt1t)Z¥3¿ ÿF\ÁŽHç—ÜÖ€ëg+¥ë%µê:&h#ÐÍ@îF+þåÕüÖ„Ù}œi°P§Öüñ;}ŸQâýÿú®“ô| Vu?ì®üt}ÚÊ{s£9\y.³‰J.Æ^ôd!k‡uƒå²,ºëÜ3H…ÌpfÄÙ¡Þhy´B×ÝÇE‰bøvz E‘ÙX¨xnZR¤C†®zßW̨E&•/!€·IÏ(À©µ-Ån­!æbT|:øø(€èwèðÁ%¥1S±Å² sQ÷° þAŽ,ÚNÜÅ«Ï_Ó ïGQOÁ]+ °.kï¸PÔHô¶äë;?1!廫«p—AO£?5žmF<ˆŽžÔËb +„×"•ö¬$P²£ ½‘uÛÔÚÃïfžîYx +íø%œ­Éf'H}‚þ™ùêÈøuýÅDÿⵆʱG»{u,*%iŒi!Vé!ÂÖ_Ô` yeÙ…æÌ®æ +/¿ ‡ÿ|æø~Ij+ËÐ’þCjÁ˜òß6@³†òã!‡ Cï/ÁeÐb6¹¥—žµ=€ÁL ò¶1@sÀõÄjü¶͉vêðÏ÷ ;;ã{–‚Vñ,z>Õ®™rùêºå )ÁD íŠ"6ù7\Ø +`ývýeêì>©9,e!^ÕÒÎK[Ñ;'ãm$©÷±ºÓ°I$*%íÍÚßÐcwÉË3Ädšµç“Ëèòá·ÄéJ’»ìoâHñ§ÆRräæ›Á0S§uùäºx¸Þ¢“dç ÷¦e”˜¸Éê{¹ßž`}R +¿ëõ³ÅË p?D'I7Ú²à‘]ém°±„ÄÈ\hë;äU¸=¥— 2./Ü…ãbý·“?~ð¬yö_š„w ½»vÇç7¦¶‹< ¡fãûä Ñxt­ÁèäNjç&ˆýåqð [šÇ–Þ|nK÷~T)_ÀÊtnrv{™=ªGÕÛ%‚´!ó5¶ê5ÜL˜´YUâæ +ؤtYQ4 ¢Uì6ÑJ£Ñ)ŸÊ«Ê­œ€Â +ZBd/;ÙñÒá{ê Tà/·ÞŽô<€”[O’6$Šç•®_]dªaö#ÇwAÄÐÙªn8—ÔÌŸWÏycrj-‰ÌùE&_ä;© Mi¸.•3 ?7ÓlŸúpaÈx…´ô8§ßJ\Ö–E«žZ [zXi¾UÐ8ð‡Ú›(Ú§úŽ˜¯¿hÌcÕ?Ï…ËÞú‡\}lÈ…4h[¢bì± cFž¤¢X-æû¶ý„ÐjÀùà%.mš9Ø" ¦Ê¥-)zÆöŽd¾˜È;>°Ë(·@ ÆÞ‘u§{;µk¼§0[U>(‡þŠŽ$÷ó|:-î$âí ¾AØ>CƧW¢ê% +ÛöL¢ •¤Î¯H{’‚Lx~±"ËàUòÞïü“F‹ÿoû®H?S!îî  ÁgáŽl¯çQ?û"ä NÜhy £›Œ-ñ¥^変n­kÞòï’×@¨ÏÝC +'ÈÅÑlD-ÄΖnX[¤,ÝÆ­MìëÐYñ1öqPCâfðÝùEÙ6 ìP&ðFL$}J‚0's(ävF<8 'ôöØ©]špÜÕ€^¤Áê05†qTË ƒs>CK¤2e¸vŒ'¸:ûM±Â§ögùÂWu.‘'PŽñeÑm‰A‘Z2ÃÀ^eÞµIeÚ™É]í‹òÈhræzÚÉ»t¯èŸÐl ìŒÍß”®ˆ×ù ¯=Œ|§ªK&¨ë¬dàÊ=Ê(CWϱk#{ý{|8XOìëKAÉ> endobj 323 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 324 0 obj<>stream +û Ô±«0<rmtžMÉÂÎ +@åG'¦ÀãüÖ¾NLpsCvv)©%›Wð³Ý¼a5©=g/-Qì}%Pq“8‚<Õ«VØÖ-—â#gŒÇbÙ1¿#žcÖˆ3jÌñX‰i߆ۀ@açœQ•0ÅþÑƼÐÎ)P„%ž×BMêv/)G™´ð%úGuÃx¿ûªY].ÉX “BìwuÚ'ؚؔYÇìÑ0½±þˆÑ釭ЉÆu3¬†¥¶*çåÕü}8Nmˆ}ïêMý²BÀ­Á¾Ï×ÞnYD¦¯…`³¦O›—.¶Z‘7—jnü“™—ôÙ…t4×NŽ!–3Ÿ•+ʲ4j +³ÏϊʲˆC»à6Ûîü ^s»¶YÇhqÝboú°íV¹x}¿ÙGcüÕ¦h¾p£ÞD¶«?º¼û\â“1¤Ð66ÚÙñØýþµð …`õçe5»*£Ø\߶zm/m·í·¢‚n_›£sbîIŽ§f›"¶`pÖ·{j[SžiùLë‹„3,R•÷—©ÃðrØ‘‹ºàÄË<·Fy‚W§ZoUýn¦H°ãX KpàÊzÛ $‘«#n2‰õã{¼ò¯+œ»?G }Q:4á[nþsè‡6L‚ÓŸCÓ­VdÏëbCšB±jºedN?i¶“ho¥3û4àì¤yÂ#8‘}ÍäV|Šè>í‚D~ðGñþ~ægK餅ziû¦…‹<+b‡€nÓŽM5ÀÇÐùš¾ý£‹"Gx‹·i4N—_µLñ™H¼VRÃÐ/Ÿ]Øhmã ñ!+3œ¡kQÏSÏ¢ó5☡ÔcœÞp±¢afâ˜<ÉÉ0ÿ‡›âtŠ›%s)Œ£ðÚT[EÊ…ÒkúxéRQ5ÿ*<‚LOx»lÈx á§fí;Â×ÂÜ«å¼gL½©1poî>,ž:•º’úÓBô‰ 'à›KæÞ™Oº#߸ÉN΢‚’†AÀY÷Îò{ó©à +å¿QÊž¦~þ§äƒÍl[m®sFƒÝ:@ÃyTãápùhnäAÞ0ç`#é PÎÕÁð)iÄM\H× Yä%.oÉD¿ýžQ¶¤Ó‚ëì7õ $ÔÖ{ÏìÁç:¢C˜OÔ˜®ƒ}HŠœ¡ØÍŒŸD šˆÞÙ)Kgç#–¼–…L€ð‹Óø<¹0n†²t)yàhíærá  ô†I”Ò-0‘ô|3[Búâ¥CE Å êZ´´0Dþ?œèλóFíƒÉlk<VM4 ѱ‚èÃYÑö\ºª€1äW Â_¯Ê#yrA´xƒ¦¥£³&2¢£ÚŸù¯ë‡Ê Ò-s")ivaL>@x~­CRûÝÁ}×f¸Î’íͳ¼A9-LØWÀ7ÿ0Ú.5ëÏ"çø§ +Œ3mínU…]oõmŽ'4£ÊBd wê¹ãN’‡®Þ¨hdŽÛX›N,!ò"ÚีE^€A}$ÛéÛ ü3¬l LEy \áL& §Âö'‰\vb^j‡@Ui˜þ5˜.0þÒy­Å3·9>ðÔÛUAËvûªª).4Úקò£ÛVu?èäïȈ\ñÊ%*3cƒ¢g«à6£°†!—×€6†·n¨z³3?VÆ$ª¶\™]¿ËdW–R®©NЩ¡Z£¨Ø¥Å›&u˜·œÇÙ8Á¡?q†krëÏýèø—pµZÈŒp© +lÇ/•Ùp§çvÄÕ»n ¯;KÔûo0ªæÿ_ü]—…¶séý@á¡êfwÅ¢à#LnÌ ÷@'jầ“=àåê|,Ra"·‚&&$¢þ×µÊõ0^V–z9j4ð‚Õ󞨶¤1¸÷/2íD>z. +B¶±0–â²ð›bòf =nÂJnÁ7v¿Þ71¥LÓãÀoþ}éIç·s˜EŒÿ>:Q¼»ûR›Nç[ˆ—Gáêç¨Ð AI5€êÑvÊ%^LÐฮ # ’ÛKð™„(þ‹èvòÅó½‡ÓFCè‰&"œk;ƒ;ƒÌÇ*ö}‚1]sZ–D¾yK/`¹m°ý˜p½yDŠät~â´Ù|m +°šO»Dœ¦•-R£ëªÜ5ù˜ø8UXõ¦Q0Ö9· În,xÝ’ZXÖIºjAÅNMáh°F^ –÷ìªfÏ,‡ŠQÃÅ9ÀƼwËkh³dš:ÖBý¤Îœ‰² ¢ï™„'ü—X£üp27«Å]é2¤ÇCÞ‹-¬Ž¥[ë=¾x&eO»¹BG*~r!9¯a¥´@EÍ×Ú½Ð*éaµ³z(Ò–øÚŸ»w«X˜a@"™ùÅ#€Ü´[£Š¸¥¦+Ýä|-¯2Dî°­øÏÑ…õÚü Ø2Í'lÁÁúåÍ3Ì%~ïÕK„ms +nß 8Ò!‚JåØ„ð½} Ép³`Œ)`µ°~yÖä"º!ŽÐÆÅJIŒcÆÿ¸%R +QÀŠñÂÜ«q~{ì–W@Ø®wùAf6†¾:Wï4?8Õ£w7Ei¿¹cŸl{ksƒ4Š:¢$Ô™a>ó©â¦qîi½:ñY*€ëïý2ʧ(íJ›Yë{sñµ“˜Ÿ¨y¿™þ>}èÛá2Á6¥1ÕµˆCT«ÝQ0álpŠúê²·n£W£¯4N^G‘`*Y˜O%·£õ +›AôzÜ©j¾/ýZLÓ<šmPm&+ò}cƒ¶ h&-|8-MÒ1¼¾ó÷þ”J×9ê4qnROù^¬È¬ý\@Ö¥ý}™¯ÔL1ß—©U㤬4‰‹yç´Ì߃‹ Hó´$Š‘Ä€\ÍHyV¦:]aû4!E§‚ˆ0±%ñ‚iAPYTœèíÁÉ™/n®:òàe“±±Á4ov® ÜtpÃoöˆO´é2êeCÌöŠºu–þÖ$!ü·q½«€‰úÇ[K„ß]|Ë™’€¥øÍÉ—æÅšÀ £pÄZæà•æ±òÉZL@Ä'¦”ȦÓM eòøS>MÖüaÌ +­‰[—dEQ Ɔu1Û9ƒ~@-“%øL¿´BO?b(-Ûi…¡s.0VýþŸYN©*ÉK’z^–ÀØc°º9ʈÕ7ðú,¢À”i“¶áS;:O¶X;£4aëH¾”v¤D`ÚGg´£dª„*ˆÊLK§ýD¹"Èç\Æà"ªÚÌv…¿Š¿ÎTà”%ø½¨véöFíz,e,Ð ñwåiG13À27?‘?K¸ ä%0ëügÃB’ôô7XæhAÈÌó€Ž.;¾2Tܘ¸!šzÜ/ qS)½^§%ÍŸ£ÝÐrä©y´3ÝQd§þw9ˆ}ÎÈw…e4H±6 HtuŒ‚ms.³Æ ê0™æ¹÷å:\–Ä'’¶ÐÊ4í¸'³‚®g.î.&õÏÌï;¬©M+ãœiþ»Má+M9y–v‘Àëz1¦?}Ô`oX‡¾ðíXì`/eà*ç’ }ÖÛ('N®qC1jëé¹5Ž<ëyj†M=¬.y@½‰Ò±û ž­9¸C}4Ãá«lÚõ L“›¬)…>ž›¨µÕj²ó¥Ú>\y˜+­Gñdéä‡û9³+­§øJÔRÊV÷™¿¸,ï°VÎS•$N#mŒ8ÑìDØæøQ32ðšø=‰á€D¨DX TÀ™ý‹Ïzfég¥ç1©é :ê-휼û<øÄ‹8÷«Hû×ÄBˆÛT•)z¿=RÌ&ñÒ¨[Þ×iªÛ>:Ç»7srk†ÊÝú“isyÍÿ,±äÄî[s‰+¡™×D7åò]më|œŒ†š‘Íá·Z¦ÑÑ.š2Á—йÒÏÒ•j n·R ¢@ø?j÷Ñ%¯IØ»aàá+qþKºô½Ýþ=uF0S®ƒZj€^Ëœ´™ÁÒÄP¨©-–Ù«Ëʲ–Ó?N+JC^ »­-nZb÷¤“nãáadz»U€©™L‚2˜Tum˜bÈYoÿïT¥u‘)(³ŸM³Õ¿6¡ÆÚÄõ„S/Q w`1*õ~f›Y´©Ü´ÑµÖ×QDK«Ž +Bô|÷Éf¤u6ü=Þx…2÷Ü@mwrhHW–/nOrøŒj%%‡ÍTé ÔpÃry¨¨ãOæú¢ŠêæÜßC}ìF­‚Xñz)šC¢Y€®H¥±ÝÛôGnPŒSßüºJž#ݜڑB÷Éü«€:šàÏ»¸JwQCÊÏå/È¢ êéì¦õá´‡ S«¿6›` +Z²ñ;@§wqGbÞäåa"K’¨¸ +Ô£õÄ?53ã“°ˆj%"R!™{Ën!îCˆ…XuÄ3:©5Ìáú¦0œL_x ªâ:ÈóÍ‹ÓñVBǵ¬îYC Xõ"‚ј‰84 ¸ˆ=ÿ•³ì’‰¤ó…`6¶æà|è>È×iW ý +¿:ªI½èV!ÔÌì)m NM-=Šª€ÇÉ `9ELåV½Õm½8O ¿G®ëÈ·IÒh[4¿;‹u0EÆ“)Ì‘Ló~ð +dX–ØX(Ž’“b^ j![RhPcùÊ¡0›m¯r_2AÁU!&ÊùÆnÍ⬉²:—ˆ†DÂi[­4÷ÞŸµ*¸þٽ纀G UÁ¹2ê*`R{–ÈmIy¼mÎ +¯5~êó,.ùq™QñçwÒqT~ÿ§Kí$¶ PzüQ,×xõ⌲úué­Ùæéo:ŒµéjNÌEÓç0´6fσñ*Lž¬Ö \×%.Rˆ çH>ñeÂÆcâGŠB†×q.¹ š9–5-î9v"‘Ʀì ÆžÓ·QëÖ£m'›/MÏQŽ/SÈdi¢›O5”øã’Úª–ûÑëÔ@Ѧ,=…5w'måØA™ÐCZ, ÎdcGf–!¸¢€°» VÛàïҬæªôÂqÝOÙÈ«í‘c·âôä­;RÌ"»vΚù·>ç²ac1Õ!Ò/CàÒršZÅtKå5TU[T+!\«°PÏÍiCÖ4‹†¹³[÷‰LDþóým7`Ã…òìR’rÐ Ñ» eîŽ?¢SIHKŸ·+ —w{X²Sß#I'×*mvA„Ó4ßøyü‹Kë39g$éÈGµ’JZ•³Ö£á1pNHþµ¢ +=ˆItΩaV\SJÍVrQe8‘‚a¼9Ž²7Ý9VŸã„HpFj}…‘#Qñ}²Edå[L^e¾¦2kNŒû‡¤E­Î¿ð)¥bbTó…,D§°'¾¡[Lì0 7_‹ý $Õ’Îë Â.…Ë@ûmˆÂÝ—^*†säü†ýÂsGï"‘Uw‡uïÏ.¾´ýœžŽÚ¶«ªÛ“Ç÷të™ËâH`Ãu&˜Ò¾ÿ/b'Ü ‡ÕîBRrì)·ÉÍA×ò/X·Ë—”âSLW ×¹)˨¯m 0Å é9¾9µ'®¥”Š¹ÇšÞØñjXKô¦ý}-¯E–ß’QŒ\µÇàò+˜ÕH5ÚêÕ¹lsá-»ùnèLjPÍêmF‚îƒÔ†Äƒõ0‰²ËmÂÀT£{Ýìå*v …; DJí¼±”ÒÊÕerŸj2©ù¨¹$‰)Ïöañ´5æLÜÆF÷¤ˆýL9UûøœÿAMš£ºøÙò©¸´›*÷?6L»±öXBV’#,í3bËÑÊ›¨¾ iæ4CW{ëÉ™CÍãeÏÏ(©éßêïrr¸S«%ˆë\Q€]‹f©»’()öë[kئiËšä×ט§‘"q Àtž`∜X›FR¯¾žmÓÁÔ·èùÙI,ŽÑÖÚ:$§–šÆH_ð¾}‡÷Zmê“tS©@fDtÄ +Û‹5Ëi^»$Õz!¥ éåÞU嘷óÝBôr´ocÇrIeÞÇõóü,œˆ´ª)0+$¼!CR—R?Mꟊ|!ÐéÌãü.%ÃÖ(Ÿ™k{ ‰û¸ ),‚¦Þú‘½­\º~R1NÙMa sRêòäbƒúÞÞGÌ\F:2XFµ@ÁD¦²>}ÉÝΕ˜)Ãp^".5¦¼’ÿÛF’~¬0Yú(‰8+MÅJBâêÚ¨ŽFHq&ª[`žI*5ÿælËœOù»?•s·Ú_Ão"¦ö³(!ëLq@%!®b9ðÍ ŸÇ»êxž!¡V¾L1’4j° ¸¤@ÆÐËUÛ¹gvµ¸PÇ +endstream endobj 325 0 obj<> endobj 326 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 327 0 obj<>stream +»EzŽ`h.‹Èm Sý‹HŠ¸º™'áþ"{±ö\]Dy¾PSl¨Ë .• +Ö.KáÑVÚ&g ?´ªRQÎáCú@ûrh¤¤©mÎtl±CQkl2!Ætý–U¼R&›ˆ¸…Ê­X¥ô~ã¥M˜„?2Цö¯Œ ±ƒœ.PýŽM¯ ìaO+ªé†@Œ"ØàÞÙCäz¢; ïáÿú—jô`TvNõ!¼N*wËõŠÙg&ñhqÍßàŽ*Ì^§Ûe¯2ë9;ùL¬§(Î]w;ÚЄ¼MxàN 3Û±ru_jyé;+8Ùô(C¼%¦›Ô2¹ +zÎï[ðý:×–õñbã8 Lðg™ý©ÕimÇã¤ù ÈéœzZÿÁ¿z0¿!$äÝõߤŽ|n.kw Àçèôv#?‡¡Å,Š×ZzX +ΠÒKpáÓLàP8/jÖå Ìë‚• +(õí¨Í(ù¦Î.4Mçâ’šeO7IIj2°`ù6·ÂúöžEõVÔ’šóÒ4K²p:››oÆ(\}6áâÆC.D‹è†5Ïÿ Ýʳ+ÍÇiƒ_58\Š‰î¢€M¹þæŠ2ϯ»WBsÕn§bH¶óïªénTÔFõx/êtc”×»­ô¸Y¹o#qå0[¤snLöE´9Д9-/d†¸9°Ÿ(Dl? -Ný:·Õߌ{ðŠ8Ïc»Ó§³#‡g*%÷â²ûG&˯c²ÃÕœM­>+†ôb\ÿÜjfú‚ +Hézô“½õöÛ[ÒDòT&[Þ³™N§o…~ëó'äþŠƒƒsKÇ|ÌÇà Zö¥¨[ TÛ0ºœÔòAcÊÏ€3Âþ]ãTÍ8÷à ÒÚe)nÊ×i?¯ã‚nxp¨“ãÖ´%#)]uÏ9x>«ˆŽ…Qª®ú4Ž2ÀSì¦^iŠŠéšd™÷/Q©hhÊ÷tEX·\¨>ίKƒB[)Kã¤c±¾ÙЋK€¶Oçoñ\u¥%ú¶ü2é¤3¶‰¢‚K0Þ*¦ŠÐ©ýWwéô+3\k¸ìí#Ñ(Wpb©¼&¨šôb­ Y8\'džîæv‰×|~#™~AEÕ+0°Žº(Dõ?ÎBŸ?¡¢bG_×#:ÃãŠúH^fxXv°"f(¤@™GJòeÆ•`¶Uú{½dòo¬&.Ò&f(³<ÍIÌM·öz@‰í+³ùö¶!à£BþŠ°{ñ›å•F¿’võPÑ)˜àDŽ» +mMÃ÷}±}žçñ²a7`ƒG;ß›ÛfßP N*óô·1Þ%ˆ2W³ò~+¶‹V¶.¥YÍ3ˆñ{çÁØo=–ñ¥…àú*;ÅcfÛ!Õ~=õkÿ„í ãß_yàïlH2 +9¶Ùß‚â0¬—bb~ñ¶íªíG`sX°O'‘íýVˆNÝέv§ê×`î-¬®9ô†¸^áÄ«žUk¢Me/ùh‚^ÎŒ\(B¨ª@…÷²ñä49·Ô½þÉ·.Ÿ¨ÇkôäÃ1NZ1ùzµfÖDÚ,ºÚƒ5¡ŽóS³$X.ô·¦ÃñrBÄ_Åš*¥é)?V‘“%®ü8‘|OrËõ”ˆBì+Êá Üj-!oš¯íÓ•3{éGa²Ò)H]­r5ÇÍL™~Ί²dÈ…Š»ğ({CûXbÛï:±œ¡üá|:M‹§öµa}Е¿@¦†ÐQñ°.Ø×.éQ¿œåÝçWtPßå¾Ô +ƒøˆMÞ@?òÆ>)žq â,ùdKÐÓ㻾!dïŽphDÒ{²å‰GÚUØ@% ŸrÆzÎc• ÕÇò¼ñ?ÔÅ»T»ÎWàªwè›dÇiµ‘$[ÿV;•ÏƒsB ®Ò¶’¸ã€ÌHF"áÈ8ÁRZEx ¼j7,^È[?³ìÚG§ºÆn+ïß±’PÔÿºª$yÑåXOÜlšñ> õeìͪŠ C`ëÍ[CnÌ·¶²@‡9’ÿP¼ß¾Oq_•ÀÃq Ž’Zž)¿uö¡†¼¦çÔ!Óaõ&9T ²ãÏrÖbC" ½Úí ˆ\’ð–Iùè"ºä§;”T1§KŽ<J…¬`J†¤Fdõ¡IWëзÔê€ ¿2Ëï‘OìPVKZnÉLœ!Vßx‘¸<䚊©9ü–X^ 7´3ŒnÎ*ÅgE?¿ Ê›¸ÀøÓ—ñ¢Èúä”èª0CD,äà|Bt´7“™±¾A„ÛÄ2ä¡>¡jÃÒ§W‘aµ‘˜\ÎÑ"%Òƒt4 î´ª_éWðrHm KÌÐZ˜çœ•KÛг1k¹";2J ³ + %,—¯x¿/ Ík{ä¸Ü¹3®!ƒéŽˆë}t»]cæï–üß<÷#‹Ru]¨ÿfeDFEÿtÒÐ*ìÇÝYÓÅ\ÚÚß•a#e +÷Ñ r÷<ÒŠPÏ㟂EâT'^^|m/" Ÿ¶V^Dåt$)Tʨ؜ .ˆvf(“SB{ô4ˆcÿ‘SK×F­sìXÁ»Óâ;RåÀåªÒ뀢~ÀË7½¬—kÇÓ¤F›WW›»ñ›Iæì 㩶¨†CÒb ®ëZjúÖÍ-âÍË!÷Þ±k +9\Î¥~IS*nGfS³k}LVW±Ãá‡×j=¯µ•¡‘'É(¡ ¬>Ì?ÛÛËÈKdÊœ|ùà$x¤ædžÕdÝ·[™[S•Ãl +ÅÓ$ú¹·€ý¨Ô³c +ê JìÜèB‰ÙvËýM*ôò6óñæ ¾©¤œßÿv5h½¯ßàü|ecðm¾ÂKΑݾœ];îŽQ,îuä¾47£<<Þ±°7øûÜ+Zoå+Ÿ§BF*&cÐ6iERo”ºVjx*ßc’dgE”r¿.ä‹7}ëþ¦Á~{§}KÇçé“q›R7PæjIŠ¯¬ß-&wê +yø£’±°©ô±l§¯.DÝ²ëº b'P:"gJã«ßŠiƒ•$‡”hZf´!l+ë<¢Úñi~žK˜Í t¿Ç~ÉD#ãäs2‚„ù› ÅVIݵ`Ñn}:Ð}XÊaîb²Ö AR•fT:9}åÚÒ7¸aK×O~ª?î}þ²þ‘QŸ ƒ¨m¨³¤ºÙQhÚ> +H…’'‚cï\Nýèo‰„δß…<(iÔ9˜…G_º(s‡¶ü;™ïe̳ÆÚ˜õÛÑ9‹H^d‚û³¯Oöê)‡‹Ã|>h‰K<ÇìY¢. ×¾ÇÁ a|ƒ% §ßü¨PÕs§™Óoü`ýƒ´,Jß–‰ÕÃ{ú·Ri¹ZÊú\¼~å#Cøj™Þ–ô]°Þº©À3×þ;²É«ËõS©–‘†ýfÖæS¢t·á±à>ÀÁ¸°þŬsÅó{Á‹~VVù<‚!ˆ{µØXž¢´z+àºÉ!®QÊ.Í‘Ö¨8Εjÿ¥©”V '_ö”0jp›¤¥á¥{ìåfç'ý‚^M;ÏrËU΂¼¶²=iˆ {’"*å(v‰~ïó3ab­á4îÍ[¨§ŒÐÕv¿p¬³o9€6g ßöDˆ“šEº­%²1—Dû¹<h~6SÊF›ýSæuúÙÇ5Ù7–®fò|2¬l¹jÓâQ0ç¨î”7åJ¼’ Ö´)¼© cƒæ‰<+u. ]¶Ÿ«òBl&};ÛRHΓISð™ŠERõŽ Û†'¿¡¡²¨oœoÿñYAÙªg&*œ¹‹u¥Ðß«Ðñ·&®CÇ›L“Ó(PIú m’ù$I·M²  +ã#Ô ©(à.&ç”l=%U­ÅŸ·hrªs5X”s—{Âë3DÜhù U? $¨*B31Cñc÷ +xì›L*¥_m~ ax¯¨¼A—Ì0…jÖ–÷z‡÷¶èù¢Ÿ‘»2—\ëû§là +Yæ¥8sÍOßž^É rÊüâ-xIEÑatuPÊä RËÚ \ ìOËýTß8îß=¼ÐÇ_b‚ÄØF´*g…£‰¯°áƒ1ßåÖß6üyÂ.ÓË´{€IÍzó +GBFr0,I&V`OvLªR¯#Êh¢rxê{;‹±# “g &ç:žJVX¨dÅt AÍÏWÚ,nTî5‹nÑ%aÇ`ᶲû„?™¿m炸x#Xù>‹p»JŠmÕsÀÒž£²!³-sE|~Ã/óË•=k$à +endstream endobj 328 0 obj<> endobj 329 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 330 0 obj<>stream +-PíbVô¢{ Ó—¥'燰Á‹ì‰­jÙÀ›–›òÇd¬Àª@®$ÕÍ ß¶óØ©¬Á¼õ²I4/Fšä'ÐjE³âsnu‡¶ËÐÃ÷«d—O\-BÎûmÙX9zãBê¿P„ÆÂoë‘ÓóQÑ€ªìŸ„üeŠÂø9hµùGeñ Ê5Ø2ã¾µ(±;¡}Û¸-ت¿ÉI,É=”}‘´*zM"Lú ýÏ–m?²á‚[¸í§—yÇMuaŸÇ%réY„œ„Ëët§”\Ø__н”ÿæi Ó¡àôF)vÄ Ÿ"º•¼Ø«_C¥<>aïŸ(z}%”ãU¬[fÁ$ñàT_¤úbW*/Ž”7¤O‚àÙá5,ø +£Üà–bV'¸“tØr Íœ¥`ÇÁôÔƒLÌuŠ::ÄÝn@×2Xé`_ž%ŽUyßux]ãßÏ£ÛÅÓWÝ<‹ûm¬+ÓÞ#/lØ%)ÄAj.à˜qJº]kwÍÁ†êÉÿ43Gÿ²ðZ~¸4‡Ù$Ú°Æf0¨ˆ“£WœÏ ¸‚§[þ(Pi´ö"ãu4[dcœö ‰rF/Gó ÷\ÏïKC£%×ú$ +ö0Usý¬ „#ˆm„ó=T®¶çx}ݯè†úÑ +OSš¬³’#àÎï´žÆ*[^¬˜±Ã{×VÄuqf=ÍÓ%JÄû˹¬w ‘îR§ „ìÒì«­a½H?afÖ¾RˆúDrtè E0ÐR•ÆTb±¬ +d•óÄÐ*1ÏÞ»«!vœÓ`a³¤ýÚëÿô=Ê|B6@¿<¿oÁä½K+?V“Ö¾íóp{K–Ç’P ¹n1;ä%Ç´!¯))Úé¥Ðð,­YÒ!@ƒŽG@ÓÖ¢x`ººªÛX\U )⻕(xóÜžK'Öãn°©¸X ý€Š™…mõce¡IZx*~J:ÅêtŠ–B0±…«ÿW¾f_@äÒ¶³¥BÏ^($b¤o²Ãt8›— ½PHæÞʃNbþ¢k‡\û)µ-y¨þ‘%D¦+Gデœ|2p©ç¤/£àOè©S'zÂþsý·_³þžvþý[Pp/½×)KR¦_¢yAÁ^’ª62;ïË|8g!â¤O*cÑ`¿ +„ý:KUÖÕÓ—`È6é(Ôe¤TÐ0®áÄd\°†XðO-‹ôüÛŽ™^p·öƒ'qEÕ¹4 $—Ç&èpÅ3i"ÅðÚܤÐñ£OáÇbð‡†Žø‚4Úª<ø¤§£"­¯éáĆÖc»ïUA\Nü|ÙÛl_ a:­)Q&?¤1 wòYâ:¹w±U]›Äãt} ‚á.Ø5•ouW9ÍG<¨„À3¿™g–‘”›È?t6 urO9yýNø™P éÿ€,Açh®%FXã_f&¹ûÿÓ$B¼OKÕÄu²8¦ç9–´'à„%ÝF!ñçWŠ³“‡a¿Ç›#8Qð˱Añ¼6§3Ä¥H H®Ò²bCz;;âé~¯šõÕ\IJ^OlrÞ·ùè½Æ$ÜÏž˜)=ÈU8!›Œ¿"<«òP±7ÊÒ£ÌFB0î{b².ô¤Ûï0aø‚¥M¶\q?f’) dŸ-`Ü_5rB’†S¿‹™}ÁdÞ?øqÀv2׹ɿ^';•&ÅøJ‹6×­¬ 1ÿÊ¥ªh+µ)ÖÙ¼Xö:ËBÓ¤2×?Ø£ÍWùTÞ‘B¡~;"·M¤QܦâD êÉVXÊÑ»‰Jzy§&ã`±í'L¸:$š7œZc%Ìøê8°>€:?í¾Y?M+„Š¬†2É (é×µæ%#+Jip;Càbþuí4x› ´Å†÷@D¨Rž›æ\ü¦EZdzQ<¸6ZW¦·éd£ˆ¤¶çœMß1i«­ r<º:µZ¾ +oi™½±p70æt’†tßÛ_rt7-Qö«ß[»WÙ¥a¦îß°4°®÷úXµä­õcÉó¯–“[Àã7ëËœ¼£ß×ÌÕHµ§ð»,á幡‹ß•íÌé£a_TÛt0äNÔÞ³¤dFÔmÊÈMý¡>¢ïÙ:ÏMU¬ÿ<õMÚ˜ +3ÉÅ×g†BÙ1ÌW Ê´øø~8N²"¯(ðU×òñkˆ«å*ë”vÔƒù@]~˜Pì¤`î rŠ,ì‘`È3üð} º_+¤;ô±kÌÔZÖÙòÇ]Ò«‰¬ìøª zZþ+ áP*JërZ3w)D¤³tQ Ð×3ÝÏN°ÊW9"I×—Z‡¥‘³Ÿ‹Ÿí‡Ø0U—µÌVŽÎm¨ÍÛ”8l].+vá +Èæ DeG¦ËÛÊÒ=éMÜ’¯øé¶]`Jil33jóô ükfåà9Yâè­qÅUX©Ýï=ƒáY$ÀSÑš¾g#©C‡òeËì¶Z;ÿØJha‡V%©(„Z&h¥úñƒÍ¶è¯cR~•­§±þw¹í›­"„åü…¬Yκc2¯È®d«³œà‚ŸˆÁEܹšhLÒÍ›#µÜæçW +&‰Þ ý0lþ˜ë Ò…~:æpkèÇ¿hü^“ਅó,™Ôžú®ë_/Ãïc®ÑÛkacISåàáƒt%ÙÎ%»%ŒèJ±ÊŠÐÒ¹ÿý)wƒÅ€a¯|ŒßjgJÙ†s®FGå??qÎ1sCÆø‹S: ìÂŽ¿Ù¿3»”×4šP)¹ÓŸþ™›G¡Åc¤tV‰¯=î!_eÿ„Ô‡Êô~ŒS*꛳ÿE?öm¯F/çMÆ–¡p#‰†Û&—ŠEaû̺ŽðAüלM¶‰i Õ F†›=vŽJ7M[Nä¦ +Yå$öÜy @Z0Æ‘¦Á‹i†’³Ü³Ä;ÎBS(=‰ÇÐ^qWŸaÐ"‘ÚBÀšµù÷<’Þ¼z…ù€ë…v’‹=…èh)CÐNּׂ€Iz¾Þq†|逮Yk{/90箯Iú„#”mƒG6Áà ˆ†7Δ…Ê9%"cn>ÓŠâÚše0ÏÙDé¤>Lp‹ü-–·ˆ$H?&›µ3Þøð3„FO'EïÕ…ß÷˜³zXÇÀi#ÉѤŒ9ö-Ìò¤ˆ¿ÖDÊô£âÁŠZ¦~FyâT1”w賌×%O=é×Vu’œÛ¸Þ-XÒ;) èÃÃfSé­vʶʉÅ)9wŠlëÐøhlµµÁAFÜã” ~É*ÌÇ_ÏhײÃÝgs­_ÑžTB°Z+€íuYÜCõ¢€±û®¼+9ä¢`ü¤HAË&…Çâ“\R¿y×#ŒŒÔºƒT·Ý{MßüÈ!• ©\4í…ª—Æ"g÷Ösq„º#Ç}W·Ì¤ÜÇ3‘€~ö-£ekÐã4à¼)ûš/âÊD¾rEÿÔ×n®ØòªB¦ôÆ  DÇ+hÈížê!Ó©Ÿ¹Óó9Ãë®Òö›Ž¤³Ëð_ ]‹sAª³t™µˆ÷Ṧè’æ84¢ò.Ž E­H'È¢!Œá6=}´xGL>~jÙóp¥<çÆjo5O!lGŠÑ›™³öÿƒ1mWó,Ø3ŽLtûž ËÈØlöÀË…˜‘+äîPÜÍm ûa4ý )5вN§³c<6e`Ûš%` jQIBÍe#ýQ.‘úž/>AÂr“t’‹Ü[ÕÃ3C—}áØRÆøüõ 3]4¨›(j´›°\0|7ìþz‰ÕaLºGü”e„}M«£m.f"ÿ¡Ž™¦¤€TŠ^²óÐ؉6Üy­ß×ZO†'**´žÞÕž$Ù~¯ÏƬ­§“!↖¡«íùVè×Ü\‡Í‚#ˆ¸¹e|·E-¬R Þæ…4’€ÜÏWQ^(ŽžðsÔQKºšë¹ÖÒÖZçxÿ€Åij³öÅ3õ¡gpböê-ºãã`LO .3¦.3ã[½iBÁy<öê\ÏΪ¾@8ö…€ýëådìN5E&ÄÞòn‘¥ +<ö¯Þ¶I'] )£¤éhyoUþ©îÙ0ŒÍ7ÜÔÓŶ¡r¹ŒÏ5܇ÚV"iÅ) ³IŽ®0§ÿf­weÇe°Ìii·-hT8Z*ŒWM ¾—¸G#2ž1ï§yÀêÉÈØVKÒ‘|Fïêœ ³.a=vÅŒ2TöÜÚYû€å?äè¬ø¨ó(3¬¾ À]·Ò`ÌZ»ix…Üñ1W°3TþLº[ð%ƒ ~ªÐ7’™ÿ#± Hõ®ò8ÙГU®´SÙÂLº£Á-òl‡;µƒe½Ñ•Ît&¿š Ê­u1©çDý÷knRÃòÁïX¤ºWìì’ ¼Ë•2Mà·Î¬4Àýv¥1Ê(O-€¦ÈO2óéÒö»š¤.v*€å^ #Ía^X×oE3üÔ +endstream endobj 331 0 obj<> endobj 332 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 333 0 obj<>stream +0Æî êó2JZ¬Œåo3©S™t¥›ª.:Q¡Þâ¯9¿” äûÏÇÊl'LY±pBÐJ^¸” µÎsòz~qÒ;±’mj&©«CžH’-ý×.ÓK¥qÛV³Á¿þâÖ6µæê?–ydVRD3ÛÐ΢­¡Æ™­…C“è <\åÂÑ?Y¿eÙʱþmÙDšA3lY¡ÑE’‚—bŠØ}À…åÆÔx%,øeLy¬}Ê”º3s‡v(hñÒQÐwH×›C¶ÍA^_v¾v9»·ðÐÞmm|[ìa(&ÂkˆMè“Øý”xý˜"˜}ÅZ—ˆ€7dT™×Õl?ƒ[²:jí®Ù­f-@;ÊNÙ—Éy»E.ÒØã&wûºø1æ½K’Zcg÷Ûõ²à¹ãaì\Ð#µ®Ñ^ e†ÄŸ?•RbàŠ:¬¬éiÃkDWÁò‘Pí ÖGH)ø€’·ßX_¹nëUO^£/2.Â&C¡ÁáØο§sìî©'Ý0½;‹Ë,½ðmÆkÏ>?£*áeà)MÆ(×H‹’ZôD•­©ê•A€ïˆÉѳªÉ6ÏY´`è÷gÝnØám\õM÷®!xKÄEîq6ã&øLØ4²°d–uäbåD¸ÚR¦P½ß(`‚ÄÖ3½~Ï­ ü#„/œ÷þàfÓ“Å/î"<ñ§•Ä„>Ä÷/D]q]‡V":,Amj¬8"mñ?ŠNHôQjd…è1(?HñŽõÖ¶[±#‰»Mw‘Lm¢-z°eSáÜ'ì{öô,LÒÇ“ú-˜R¡Ò*i.àãjº¤3“\Ñ… +ãóÆÎÂà3Ëä7HxÄ™-ˆ×¶*l=l`"$¢^ ˆP¢²‰Îx—!ãpÀ¶V2Ôc.iõ¢Ï¡Êˆ' ©Ó¾FAÑàéP¤6KAZÖ?ï)åïZê2–üžYT†Ø¥ý~½…š+³×¯áÁvÓô#ÉÿZB®¾¬GÏ TQ-èbh¾¡¿»ñ6% +ˆšë}g-j.¾½›ü€]G‚š£ÿUŽæÀ;Ý¡‹‰¬Â$´é;ËIH´Áì>d$j•£_¾=3`Uã#ÞÄÙFk¯Ô¬žLýÇEÿZP’^¨&9Í°5E–phGXNô÷yJ¹ø»ÛÂclú^¥j ê–2Ù9øøw—Ìð(÷—é¤ômbŸ ÿu+&Áæ¨@,¬‡É  ÷7ièy…½8cµ Ííbç‹ßIçˆðBÇ¢U¿4lãQcR—»–ŠËâRù5P*Ä_~XúÉ"Æ`“™d§ôxP›!ƒéoÀ_¼fíöKNÔìÎs›sœÉÈŸZ$X#WÇWjò‡Þìv×þEØ¿•Á7S/f±š!¹ú2‘Öè9*Tÿª¬Ð î½Î‘{bb‹oMÞëÐ…bÿ´³ ±iË›š¼ÖôF‡m‡È´–ï(ñ”*õ½XÄ/R‚³ZXxVÔ_Š‹}wÆ¿® e¼o‹ÃããöÐÿx›p<ÌNˆ7ºëí¼Ü~ +WYNZªÉÐW¢¹†HætÁ'Ë'ÎGŸåªE·\_P›–ãU]¶v# Ñ»ˆÚþ3æ6<õƒ' ¥À6Œ¯¼v×°¤Í&øù؈xs\¹m/HÔšR”îUÀÓ ·›sˆõdnÿiÏY’=nXvçªÈÅ…FêÉŸb…¶]—K­&+êÍ%Í¥EuWWóUMŠH¾Ä&ðeü>%?£{ž-”íù˜ÛÔ¤×C™k=trMX@Òp¯!• ·{ýbµ¬› ‘É»j!KtMÉ”±*I6´üBÕˆ EBÛ[2/ý‚%=x¦á–rÎöÊÃ稢à%]æ;êŸVüïs•iÄŸÏR4lx¸ÌßU ˆ9ø3¢H¯9ý;:jš9dHÇ—ÊÀ=m€Sf¶#"ˆ;àWOjžKÿÚOè½²M(Ðí5X&€Æ,žL'GøÉõRŽÍd&’Ti´ÿ$VeŠËÿ?ì¿õÛúAVõZïyd¾X‹±F ++ï¤/ÌŸ•óÝÈýqõ±ù\w´ xˆ`¬u#gp€ö©õø–»•{²ç%ÕyØÝõr™àј¦44ÌiÏ«(Iä×±£ëqL¥ÿ8CJÇÅŒ¾áÁ´ñ•TÈFÞ*§jR"Ç»ú[É46šw~øJ´ ‰CzbÖi¶¬©ñ”a9å†yq¥©À¶}tÌ¥<Ùûó1ŽñfR¥šëØŠ7E–)RJޘ³‘„€T¢y|ä‘hw-;q«xNEØuûÚ‡›ŠÀWjé{»AdÉ|Û ÓäÔî¢}æ£[ÏJ'à^pÖ­h"#øs.¹õ9ƒëøb'6² º¢}z`æÖòòòm¹kŸDöUdíÍö´iÚP( è '=°þM윫?’¯½h…vjEϵ¢ó>/Ì·RÅ«Æ¡.Aû˜Ò Éó Ôq(ùU-¸ëâ#iŒÕá•ß‡J¦èiÅH¶‘Z[±ßùmÈ’ª'Ád‰¸ø…¬Ørha³š hRŽÛDÆ@rÙke’ Â.hfîráݤ~V„®§ï>ú܇SLD› ”°Œï-8GO±VC_£ ¾Põ!Sò._¨a–æ„tïü×ÝðG­z]èØÄàÌv–»NÝ2}ºÌë'9ü¡785/%Rl¢3Ï¢½8}‰7;Vh´åÖð•WÖv’"¬2,Χ'Ohš°Z&×on¼‚Ìë–ãX§±.“Õ.1Õí"”e!š.?æY²K b¨ØxÌ9û¹fBÁm’*<«!˜2=g QSl…õ\ L#:¯A±*ži‘²Ù•ÖùãħáÝ”Â@Ì4)üAb˜44] ¾|AòzE3+£d¿Èj +t΢ Öv‚%Çc¼ZËbBoÓã.VÈaµ,mlnL,¹¡"B _‰gŒ*²üX×3Ub¶sÔˆ‚wêØE(Õ°%]¡´{íïn+)m¹2ÝvtèK­ðR4VÛ¬“5&™‹ôíQç+<®{ŸÂ¢,bÞÜû^0x¡)Dë1ršËü¨9{žüšW‚(Ä­Rž¢Išt½û4#ÿ¦òø0‘v…¥ê邸µuK1屛œ2¾).AÜ‚1Î¥U—KÐJçJê2[ã4‚ŒKŤˆógoâ ñ` kÍE>ëÙÆ»¶p9‘¯?°ºÔ—ŒÙàKÿŒE·nÉt¡vѹ5 +Xúá¿ò·ÏÝœ›÷SE¹ÔRÌ,žÒó¢mëRöQÒ_ÀK…Ï,”EFöv(rùÜŒ¶e$.…¤ÀÔ”hãq qD*ç‹ÃNÀ)´ÞŽ:Xõ{:ù»§Ý!"î§7ißß8‚²ã†~6{l z“ë<ø˼sÄ„<†ßA ¯œ›ãëªu®ƒŸÃ;7~j}µ:˜qg¯Ô’t·ÍgRýÞÉÀX~~½.©•úæ•y ÝzÌ%ÜâèF\»» AW˜,ª}1àÄÚë¨ëpƒµ,‚@à+Si'›4A´¨f1ŠöÑL79/Ì!Biˆ'uÙ‰qÍB6eho Pζ«Ä·`9˜Æ$üÅækZ1åø‹)¯Žœëý5ÏtÎ’¹ú†CÓxÆ/ÌdÜÐ`Õ†UŽ›Ù GÑ,ÙX+—ýß͈Ú5-Îy4ç輤øBéz¹3vAôÚÓá,JÑ©'WŸ`a¯.}áÇ:/Å?Ÿ}?¯c»_Ȫ| +šÚü§|pmWdVø|)¦Æ¤ÈæÚÁ)I×F”Öo§ ‹”¯žÈáþtÁ¶‡ÕvfïL^æ-…°· ¥ådj;÷nK‚d+-<†Q)“àKzpÅ`y©­¾wr@ö›pþNãÓ>¦aü½`*ã$Ý èS“±Q¯?èyÜú'ÏÖiöˤ úp^Án\ö‰dǬÏïíÍ©Ò§wlj]l唵œã_ t<3â}Æêž?k‰"5Y¯É6ˆŽš"à~j‘ƒfå²Õ/m!‚Él6m¸÷Å=ZòN- Û^ÉSBZ%hõûÐÐL4° +ˆ¡ÒO|ËÌ ¶ÇCZñî"ûˆšÝ +j¦¼\Óœo¬À+…–mÁþµÂ XÖ:)m8«ð^ôÈh5îE5² 3­:lmo‹™ô‡˜{`ÀšïøaÎQW#†Œ¬ª®õ¥øÜYözõ§õfénÆÁk¬7pT8ù!ØZ«ïfÛ.Íéó÷†Ÿé*”‚Ãí¤5¥TÐ~ë ¶¯¸2S‚®«ã9Ý”¶êúÙx$ýà˜å3SVÏ+X’¸µàiÌFб\Í8'Ñíç?Hõ%‘Ÿˆƒ{øfRhN„ÐzAª¼ª‰‘„àN$UWH± ¨S·k‰Ãε‚˜öò¾7vTW1B¨&cÍ¡²no†XÓ†¼Œê‚¬ä,ìGÔpà:W’s) (®ä%5Í/9'ßhÑK6ì~6÷G*Z µ‘ßV-žhOÕLÉe¾O'Sé0µ%¿#½:‘úì·EcWÇÇ%ƒ|ØÑÜy¼TüªˆÐ|z…[Ì÷é7!«Öý{ó+Àâ$å؇Ôvt1“ünBhàȺÉæL4‰¶å%FøO“Hâ<0|ÐdCO_ô[prcãM¥Â3b\o báÊbbCÖ)Z-¨\°Z é‹ezÚÊA¯೑gÚ#̳;0ŽÝ§õРòËôzöð—¡L,ò:À³¬ç/ûÃDÄIE÷ÐÒY~Ñ„§ŸÖ8=µ= Ÿ$M“d‰QÖK€Ù"ìdKcʘG:ú½/Ù6­ °Sv +endstream endobj 334 0 obj<> endobj 335 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 336 0 obj<>stream +{DšF›ßM$¨oq“v²Ö^ƒ«»ëöBœ +âö·X%[/=Rsé¾ä:Û×Rg|F‰´Ý3 è9<œ¨ÄÆzûØv‡›7Qò¶¢õ¸)4_vóvY¯¹æWÁÓ‚œ%U· f1|ýlv*̦Ýߢ¬=hU±áüö:P/1k2iCÒöIå)ôɈÅB¶9ñDÏÿ¯É œá¨.U`A$áÖ›þä_‚ç€ìçÙ¡HRÖ†c‡þ‹»úˆ.eB}‰J5{oùbö2ÛyK¿•¾³) d·:.ð¸eN‘«ÇzçÏ¢*n”žrôœ<'hLaÐœúšÃò¬ÒѱfÜvw–_ßwó+û?[Op¥võcûŒv´°„¯›BèäÛTm7ÛÆh9´ªù´d‰5æ„Rn©68•WÝŽEjuwü­W¯RúhE0|z¶Èm:€0S¯§ªn÷ +~"¥½†©‹m‡ð Ý×ð‘Ož¶h¯v"KíÏlÙ6'Xo³é0l{ó þEßXÖÎ綖µ±Ø—x—mÕ"Õ-‡€{×2:C£IPrT³v.5ì©Æ&}Yšc嫦Q‘À¥0n-‡:Ó”F#Q{UyíPKâ“7›Éw²zÛu©&ï¾lÄ:8µ¾° ôq•X¡(ÔÔösëkÚ8OEj\]Þ•»)"ìÑ”3Ðq¦Þ‰3á[Œ‹ù­}T_Ĺ‘>¹¢¶>ø{ÓÌèk.ë…þÿwz9$jˆ¶Ì—9gíA•¨­Ä¹„W#ô%k¼Tzà@Ëz_œfwv\ãº»Þ +Qs %°âèOÏMÜ,º>³Ž~Zã?æŽë¨“»VË‚¥ Ý"X§ëh{RÕ¤L»l«~Èwã€}ø»°ÙË$M­€,±¢¤®¯8%žŠWâŸÔq5N5¹«®ÑУ#×0c„Î"´ß#úOû®‚kþ¦6N:\ŠŽOÑ?ùšK‡‡ÀÇ#@´ÿ2Œ’2DÅçÙK=º¡üí…ie¸1¾ßÝ›îì7é•^tC¬ª5„h„e®"CL¥ÕeŶ 뻌yÅ÷˜Ð²?ccìçXZìEÞ÷9&w«‚{HP…à¿;¸‡&ôˆ}™¾3«"o3ê<ŠM#UKrþb–²?»Â¹]þb2­Ó’÷É ÷1d­ºä5^ˆ†ê·µá½Âb•³Š£#0~"s(MòÔcT–y¯È>¨T‡ØpTìG§Š“Z hbîS€‡+ÄUÿuŠXÊõºr!'PuMA†wwG‚ÒÐÔE” Zñ{€ 9p‡t)Ù²•ø&(—(2b6ô‚³ìOüfǸFPóºi#llUxƒÀâPôûb)dÂ¥§†<â& ¹Cã1ß*Pßç4hÝP«úö¼òˆJœ /YæMˆ~tMôqÈs»ÃáÊqª8}ü Æ[BÒù奺0Nf»²l:ÈÄm(Š¸,`';wvIf ! §Öƒ–9¿Î…í "…B¤ÜŒ¾ØIi+Û‰ª}30+úÏÑéûÿÑZêa'ÂÇxë·”h+É•G¾j>çÚÈy¯¹µoö¼ ÍšÑÔp&R©ó›ÇYק™}; ÙÕ Âˆ¼L”R)äàE.ªi áƹƒTKĸ(‚\¼¿^öIá¸aa†K×¢…]ˆ« ’êçNuú+7_Ý)2R’OLX"ÑÀ#wtifë R°(àºö˜V’§Ž¥Äñ¡öîØ,ìôö »Z¯Ôx—Ûàî°Ft;†¢ð[§ÙKÒÉw\M®Ç‘UIÅÛ`p7,‡®'ütܲP»ÞàLhn7®&d…%Šš<ž* y^QdØÑ>ðŒ¼¾sÎRŒu—(}ÝP} ûÀÖW#xÂíSuýT@ß59WmþS}¸Âk~m®)µR΢×f‘Äes¦¡y(GíAQ´#‚Ýûi’BÔç8ƒò%©—)T-¥½¢èÙƒëö +R¢+Àkôb™Õ3Ú?iƒ”ÑÝÇÿ29FdUÂøXO|F— +mjñò£áůïA"÷=à£Ð‹LÝ1®=ŸŸ7r1Õ!iì'~*l]õµÆ’sœ™Ž·¹+~wø¢› š¸e9Þ|•Ñ®.’[¯9ÍlÅ*j'˳܅L¾Ømñz½#†¶¸æâDŽ‡<ÓÑâeñç_1PÖáÞ8¨) +³Ÿ¨ÿßn_…Ñ¡ÖVj¡P ôG€ù.‚*. ” ÂœÞjÖ¸2„f?ã¢KþW·AåðÊ¢ƒO$‡YÊ.Föƒîûqâ°"¡k x$õ^R4FgN8PZÍeª1>z’S¾9kÉaa¤†íàø´sí¶c`íÚRŽ=žÏ ¬Xy›¨Ñiö_ÈyJ{TÙ».΄„£æb”¿$c§ðêšÞ”¡o>ukŽó¿Ï®§ìp+È{ "¿°àUy^Á³QD7Öä¢Æ¢á$š¶šþ@C˜žÇy©²Ž3]ÞYí„eSpeÎ ²£¥ (ªÑû“ôz£4-A§CŽéœÎÈbK’@Þ XŠÒˆžG¸ŠºarÁ|>­ºöÑQºüÿ£’kä ”|»v[–‚©hm >•]ûÂs%tû¿"ñ2pn’„@]ò^ŒyêŒgg'Ÿž~)x'· ‰¸ÞuÐ*g wï #¦¨¡Ü~›c +endstream endobj 337 0 obj<> endobj 338 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 339 0 obj<>stream +Ïä.ò\ØOÉi®£rÁ¿ªû®\Ö4gÙ%´\Ø#룂·êߧq”©ßƒ‰Žtôq\×AA·û²šz¶Çb×@Uò‡p†]g©8ª]§éü†’$¯n¬]v_ÁÒ‡pToyŸ¶ˆ¼YÂzæ'lî’8$ŒKÌ%Êh^Šjìn3’Í{ ÎAê­MpîJwì$Q…jžV<ߢÞÝT ­Âñ,ÑÞ=Ãú–pcio4íÝÚí e9ÏVbêìýת†ïe·mao G'«™Nüî—›’ÕÀ•@õmõØCþê½V“H ™²û±Ä÷–VL]÷HlduÈÅõÂj©TÊÆfBi„ø#†¸©êsî<r‡Ï;áuž’8‚3vg…Á5Ll¨@¬a}¨å¦éX‚YŽ±’H­·‰7…«öC8àùæ©!Ãíɤåbn%„˺5ž½û1]Š.¦´?2Áj„¯¸X•w1¥cð b¥´Í,&#»› úżc= +ßÉåâ\æÆøèXÂÀ{Ø•ðÆ8“AÒIõËúóרˆY¼%B$ÖìŠ)b¹í£¿¨L"aÔëm¶°mÕ¬íöÊ_Ýú`f}7âgb;êÝ-*vQ>³à,wBû­O…ô?Fk‹ôŠ¾ÇE^ì:²EÁƒ‹B¸3Ygð›O4™õi‹‰p&ñ] (æjµz!춂%²€­$÷¨æð8Ü®eZ Ö.(ÅË`Ûõå"m7Xõ´PÈZßÙˆD{2ø·GBRûäàñkºÓ®^¥gI\ÕD Jv¢k’|PúJ66´PDFô2¬²ýK¤Ì'%»s'¸ ócÐË’ûN8Mz‰(‚¢^ÒQ몶dyžx½CA)Çd´aMÉ”xÔ–è—·*_ #ÿ½¾Þ@ÍW†TÛ±ìbÒÕ‚9©ßºÈ…1M«’“qðl@…f¸²òXE{>íqÉÎé£#*M=Ó6H´2}‡ ýåù\aÑPá.rßzå3qnÈ­h'ê0” EÞ—nZjº˜TÄÚó”£2¶TWIçš9]öf\¿†“‚B°U“Q@¯­!«†tGþ¯ +¨÷ç2®MAìSšæ¯¯G×Ü&Q·WgöêEZîøÃÝ-ЇüpJÞús6z€yeS¦$ËQÚ@FWøŽfN2&fLKU]êœ÷οV? Ûrî—P¨ƒü°ãT0•†œj*ÁmÉ<& ?‘zOÛ3ˆKe¼÷÷*¯[c78¯`›?^­'iÙÔÛþ ¨ÞKD“SÈŠ¨zYqvò"5l¸SÖLÇÅvWé `˜öý¹5Çé‘U´‚Òb3åtÜÇŸÂKu?·´¸× +¢ˆ…ðÞdC“rÊqLÒÒê—´°Þ¥z ÂwмƒB½Åie±Å˜Ë,)͹®hZã# +og›qƒ ÏM1˜øçzJcܯé-—5ÿ¬êcžBCK.`G¡6ù.~˜àÞ§ev<ÂUY¿þ]\è É§É 6ù&»0ôx¶m|€ë”øç+µöøŒ*<ŤÓòÕ¶aˆøÍà[ŽÒ½á—Í~Õ){JmH9`LM³ ñÊîâþ”ý9+ìÌgØö‚ÖtSJÛYw“JÌÃî@×½À|8K·éÞaOösšÌ©‘fË$d~6ÈçÝÚ’adèIƾz¼â&¬ÃNåt*¼¯žE DiüÃí}(U¹Î¿@.ŵð¬ÜOB2«µEéÅ|‰¨ÂO~Ü6µ âBdÃæÝ{U=(‚¿IÞBGŠ<¶¿ÍkÑÆÌÉN)äÂ5¦ö‡ùÉ‘ŠÞ{bj1ºnóÌŸé3 _ |WGÏ>Ç0p0N\sX­7¤²wE0{ŠŠF[wbõC¢„Ô…6‘—Bxæ³*+̈Úv U²@¦äá;P‹ÅÞp…rÞyiµÜxÓ±ù‡xß ¾gˆ%ÌþÛ]é¦G<Þ4%Ã$=U®š_¦áTiƹÃ쵆ÛÃÎÜñÇÎcºæ|´zLX½MjŽì¬óvµŒŸFßÕ˜ +Ÿ¸‡ØÂ%Ý=öB™7ŸnJRV¾KÞ–ñ–]ž,²Tt )÷ÇÚ7>© [ ²1D´³6U>«éYT¾L†×èz)í³ï©”txÍ¡„ÓrWQE ›õ¬7A&? +¯2¾ªM“-Fx|¹à°Á¶è:¥ê‹`GŸTt8•ý.¥B­†Bç9Û§‰ë}PV¾dd¼9¯ß;Vq + (ø–žmnÓüô<ûÿ\nX€Äâh\®Ž?¯z®ÏP9åPP~TÍð“R×Þä)¸9m™ÙxÕ±³@™Ý½þ^” ÜÀ SS\ºê¹Z‹©?狲®eÔöegHÿ79þzÉ +×VÈàFZ¨‡XÎÞ•’ôS®íM1jtšˆ>ÞÍ4W»¨”_·Óý3óJÌ{‘„'¡ +)9Ý£´ŽX¹EA«tê¯ZˆZ¬ [§„þN,H»àW+­Ô(aéݾ€‡[Ë-4÷á__ÑÁ{ϧ,(Õ¦F’0ŠÎ8éþv²qÑÑmõ4i–t)àM¡9ƒ·¨3{„Ôk½£<Â(-’̶“ìøâë’TƒÄëoöb÷”8Q‘Ÿ×¥qG0]Œ?q)SB¦95š Ašõ¾¤JO”N¢¸'­ÐñMil½{ð™ s +Ì4ß‚Ô»Ýì ¯ +Y™™r+*¤"/™A”ì ™2MA…2@Ú5 :ŧO€a‘|´AŸ¸øqèEõü­S·C,Ël<Ñð@¨Ø˜äl^Æ>ä3{ú¬õïÝG¯Jª¤ÙŸèÌ>-ºîߘ:nïªÙRâƒzRý£Iä¾¼êÊr¤„†ÔÝ%Ùhúy (Þ:æùÃùsÁ—F'XäYÙÉäÍsày´ÅÇrSìn<{í°TR›‹«R[­Ú™›~Ag Ax~(•Ñ`*jt+µýÐ˶à(Щ\ÿµQ|;‰õÜ\ç‘(Àj”Û8 å¥,¤/Õ·'9eš4fæ‚Æq:ÓzVP‰P1H7h‚.Æ+úzV£dOˆóÛ;>ìWöÑnÕ1¶Aq@ÓúÀ>Z'&¥Œiõî— ìÍoïÖ$G–`•'ìVh_…×ÛÅâ3¨o[ØvÚ6 +÷ÎàÄÔ‰c#Å5lËžÜèÄÐõ£X§‘ºûèôϲ„)†¿0bZ=ð^ÇV ÿ#Udl/ *à:yŠ;êˆ + á ÎÉý½É;®†xaÉéÍÖU€•7½rLŽbþ½¶i¡ny6…±‰–¾3^%• ¾f^:Žšääøaƒ¼÷ Êp>‹ˆœñC]ÀëÚ©µ¾­˜Š Â1÷Ä|sŽÈÜœßË\±^7­m9înÔ©ü²ûIãiû#³¤¡?§ ±C°(ñAîúT|R>Ï7P¯ßB1¸õD{çù.Úð‘¼éNüÔL˜BdŠ”æ½ÈÈÊç%vÌœŠ£—¦ÜåèÉ'pÏ„ I]×A¨º|·g¬J••´ª?ˆUîàøzá gÃöþ²_ê\ù¢Rqà 2‰¡ßëÖ”è“ö%€¡Mÿ)¶ig^ËÍ¢l™,±â,ßN+¤79.^‹ã™3éŠêXVÆdyÝo‘ØnŠM[iŒÏQN¡bj@ò!Ü=ñÍ׆nw|6¡­›6£ÄéM&.¯$¥1–Ñ¢Tpë{Þ üå¶ oˆãåT‘¤ò°Õš¢»·ä 6¬9ò^ŽÿÜLE’–Æ ×O8[íÄYÛÆ u?µ LQÒ.'«âºíBÙì Zï÷6LDôþ:…”‹»+¼>-±7´¬V¥üß°$ˆ!þ×@ì´eÐ…W4†ý¢jplb¯“ȲÍ: +ë¹Ê‘»•Oº¨† é´…)ž»+Qƒ®*lOÇY–KÁlS€ùFqwpþ°sl˜¨ÊUÌ næžî™RCc]H +Îd=¦'¬þß´ãw¤†R³­{³?#´ý+YSv”,Z`æZtáO¬°«ž=ÐdQ;·oW„ÕÂÕ„ÝOó½ÑoÛcuxN6™·¾DTHâ\;ö ¿Û¿L¡ë~©:Śѕ“×Ù\Sníwf HŠñãÁç\cÙAú·å*ÛR©MØܼ–¬®)˜OD5fÊ.ok£Í›é‡lµ`ÖÝTGÞ¬BÅ>m¦ùlçy“ÕÆEV²ºéry„È€’Þ"áz“V~ÿµE4ôç!ÉúprKÔ®ƒø,ìËrÜikþVib¸ZŠþ0™W20Q•í»lE=¿öÝXH¾—±WÏw€•}N—‰ÇèÚ—)¡šd„±µ¹f‰é–2T:í}/BNz û‹ìW12?QHY…ŸÀô†´¯³Ê•ù"49–¶Ç.~[ $ Â]¿zþxåïby´ŽçOàˆ~ïgv¡¤Æ},‹æ%<7 Àȇ#è—À8oáûPÓü‚På×Í,K6V$²ÛKqŽ +Rm’6¦RuÚûÆ +}^Y@ÂçuO¬r;P éòú’ÒÐ:Ò»:BXs•eWnSêq¾’Ü®)µæ‰gÇvÔi£ƒ‚¾À€sâ†C<¹#u~Šuze°]Ä„²wЫáî—1$ññXVßàSïyk§ °Ï Å%\ÂFÑÜܾ(!d&YÍE#¾bÍy&ÀÛ§Z’a|iš5ϪqÝI%á SÊ~™—µAߧ3‡bqÐq AHZmÍ9 „Ó Æ.ˆÌO×Þ©¼ƒ qêù4 ÕŠûP[î ŽÄŒXËæ°ªŒ®ƒ¦Ó!%™~Ÿ¥æZÄø?‡w)ˆÈŽY÷ˆ$ ?f œÒãL³ÉLâ:Ë'øÆAp‡*K³Ý·fiî_,UxþÛWƤŵәáUyH¾yðäördø¡b42b¾ñ»TI{‹2ÏàŠ±0峚jÍ›Û÷a>ãÛßvÔÏdA—3ÚÝ4„É8îr³$ea¢õF“_Ûˆ›Ö¡µ‡òç’gTÖ~óï­¡xË>¶½¥)r +3Y]ó½¯Å££a瀀ÿYîÄ£ wx!Û&N´Ä@È“R%^rŠk…tESù€|V þÊ&säï@¿ßU)¬ØÛ²Co ¨e»t^I;`¹{÷_’?7N$ÜÒ:}!¦hvEö#˜Ž"5æ"™«·ôÈUÝ…‹Çõ†ŒzUpÐãç4Éû§Ì£aúñ6Mns ›(ü*djÉ„o•ñ ·€î +„3,§ŽBGò¾×›¤ïž$ˆõسã×—…Õ„øÚí Ç9ÝƪS#çMá +ièÂTäkårZ_(:šsœp‡¯%²û¾W›E{@›P'9DT€T[q€Û«yÁÌF…†yúÚo n«pw™b¼m1ù1]¶Lñº.Võ9Ë×–rø&_EÅà”XÙ¦ª­Ã|rŠx¢ 0‘4âÄìóÛG­d]a/Ã㬞®¥\K“9ç,9:4e·³X§‹Ñ +ú:¿M»f ‰0Úyk ™'ä?Á•Û6„ãá?3„rY‡:‰kiÈ]ùd8æÆ{|öT’û—1hˆ„ùåÔZfak‰»…çHãØ{GÞ`ù7EƉã7‹²þF9xi<Ï‘ÍœM^VÝ©™‰4FøVËë q« 8æ¶8¯æᘺ¦./bÿ¬4ˆ»™AÔüÍ>Ý1#Ó ïræHŒ¯þàq[1ð6|P Ñ_4áu# ;8'Émû +endstream endobj 340 0 obj<> endobj 341 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 342 0 obj<>stream +6WnÔ­·i ¬`õ¼¶›ž^šQz|WõML|Òvw+0ÑÎi?÷’‰«üS–Ú¨öR}žß>CÅýòøNœVåþëZCþ0u )FbÈèZ†{_ñI±ÐáKÜ $>ÀR—å';«EèYÕ7ÝniÌýTbx­"Á5õ>ÐB¿‡‡B Fø2ÅéOÕa2…ùN¬¾»p–(?=ZtÇ60–Jðö½›p)~Q¤B=Áà"Gwçõ¤¢cÕLg}ñ_c]O&öEz±™RŠ ^ˆ°òŠïvâ–¢ „9–=’<Á‡—ƒìž¶ÿôâ5˜Éõ Q{—D‰ª4€o5ÑÏ×\gFQy›#€ž±æ±«NP)Às—ž»úFÔ¬{Z ;Êù™‡½€¾€²•¦¿ž“Õø1ÈæPa+àÿ[ô8ënpæñnP¬8ËÙæÖ–$ó¢ͤdF@©þaG‰/Oéj\ì΢+†Çò¦cje –ÂÛu¥lPïãîŠk¡»’ Mƒ\<àv3IªÏLúsÝ,ùϧÔù'¾mæ#O¸ÍŽ£½&—DµÏq‰¤ óÏ.­ºzzêíS.€®“Q8•Ìb÷ ò6­› þkWrÛf!æ¢5c÷Vþçî+´ð5˜„z¾P-YQ‚ É^½C¯ªÁ°ƒã—¦IBæáÜeg0 ÷äà®gk’KÔ+âU|MnYÙWÛIüåÙdé5Ëu€¯Ñç÷É<´Æ¨”0Ô/*Âñ}ØF¾`ñÂPòÄõX-M ý,ggÏsD[ÁŸ%žªŠQeÀÇ4š³Ëœ½Rº,ÅÜf“ PL"{Ÿü™©H[ÝøN³"e_¨=Î\ÉàC A-jÞÍûFÉ]ÚUz8¥çž°—b($NM 9T€Ä¤½;¸|ÒÛŠÆ3rˆ«qc€ßÍmÅKøoÏ]ä®U¾ Þ©":œg…{²1U0¶þ:?‡WóŠöÅÊ¿ÕÉ úljê´ù¯‡Ý” ¼šóÿɾõnò\=øI¿ÉLÜ@ÂÌí^l{ Þž°¼¢c”˜#J4úïDf˜Ë»t’örQŸ«½bœŒÉ(CÏ,ñŠèGj®|ͳ!¬œuÙ¢Çĸ†á«¢Öü¾gד­Ê€JÁ±"ŒOÿ=ìÖmßzõ8TH¥J¶TÝ 7;?*‹óOWÀZ¦%7ga ïËÐ*²ŒÞ ˆ¡3Ðqc\:‡´b×ÒquùÀL-ã‘NIÙ£Õ¤ò­ûRãSâLà_lwvRɃ=íü¯Ëlš ˆòåûvOJ,Fùšì¯OöÔêyz‚;B„I1¤€%ßÞhj瀠øñþå/ôÍÏñ{á¾em~ÚMøqu.yÖ”l<ƒ-¦DŸØ!Q±ÿÃê×1b‰¿‡|èµ–F4.Á<,®näÌoÜÇ{æÝҧݶ)ªhÎ(Ì 6m“"Ã}Röü(<†ÎØi6ŠÔæ½N]åçÑ|¡?r̯x˜ »[ß6ä³A¢$ðHþIµRlÏ™{` ¡mzDgŒ¸˜õw®ˆoM0µäpÛ„«ïR^ñ.².» >¸'ÀíÖ +E—ì¤vZJ.oùZŸÃTïƒh­P“<á¤l?Lùp‰Å5u"›Â";´ýP­œ2×FiÊ#4÷Z)[ƒ¶{æ˜*ìT÷ožþ¯íÈ!±2ÙøÉÖä-ŠMw½¾A9ñ³÷4'tÛJ3 M釬÷U +oæHyèCãzQ99ËÃ]° bûˆ·Ž cÕ~æŸCÕûpÉtnO.+ÑâÌp= Ÿk©·Âv“®÷‰‹¡¿Ò‰Ò§Œ ³ærGû-i`ÙO-¿öÆc9»eæl-Ò Ä›4Äò°¿H#R®Vñ4$ÜìHû-Ѩ8€,¢âU¼²­‡Ðšlâ!'Î]j´rnjZápHv'Jö¸¿¨!tš‚'j¥V"çßA?ËG¿Ý2_]~ø®pUž”WÁ’#‹ àØÕ ±¡²ÎˆJß÷;¥øøN  [¢ ³Khª7u|+R4ÞÄ ÷ßUn«ªw>è2fœ¯¯9 &]Oá ç®ôÁs#ˆðnIJ±— +do¦ÃºþÂÍí᯶ÝsM…è‘ó1u'™A}áÓ†0òÀÂ*]H>& +$äå0ª{ºøl +¬zésážÙÔÓLÄ‚5¥ÿ;gI})ðR´ t×!íü‡ÔÞ…ðu1œVÙÙ "O}ÂN•&„cné ª5—Jìó}gè4ȯQ&ìÚó„q%r°›fd'…`,ß8j8úP ÞÔOì¯Ö2¾U$wô'E›ù® ÷ŒÕOA+ßN‰—õbæFÈ+ǧ¸õ5gß;çj¤À–—F$u­SÉÝ–š(NØŠÆà•\“üäÇÊ0k~cbóãXV›ž´MˆºÙöš%ص¸#Ä[H¢8¿qYäû3 ΀‘vè¡[[._œ†—‚§¶LÜIïºÚ#îwö﬉¢ž­äë{éc¦/nÁ¡H B¯ÖµØ›óZÖ~bg¬V§¸ ¶„{Ø%,ƒ%Ø+|ù«…6Þ>o§h +òJ³äê/cÞ8ÏηßÆçÏ#».èzîy2e8øéêᛖΰ-Úõ¤lÃ-QÖsÕgW…†slØQ—›UgG•xèD5ÂSãu¨QUWÍê6#.@öxLj¼Uÿ2àJÛHûc àT†æÑŠi7HyÛnýY(¯ßš‘ŸoyàÀa½~œÎœÔnc9r°Cóß÷á©qª†4ʵwûHH÷>?ª‚èm?ÚN(ÐxÓÕq@ï°OÀùnz ïwLÜ›€—}h»/}"Ãu“4h÷ßBZʼnÍ×NºŠ™`ö;I;­¨â5CîZ÷}Rl¢ÈìÊ2pÈrqÎ&}ï[ž3üÏ1t¿6ÿ›Å'\V“ƒNî¡ÑŒÞç-ø—Z†!É›é­Âò-ÐtãÈœô¿ée .šŸá4óAÿúw!Û7}8ÈÿöÏ·1‰":°¦ÜÝʾ×V“!SJ1’„ý “}öõRÅ©&ß )Ü2I]j´MŽüó“p‡U7%ôH¢E¿ÛÜç¿áí «kuD€îùû¾Ò-i wDßFxØ +†+ýÈ lQè&h{ö óþ rˆ]¦* X{IO轎KmÌ‚:;‡–å0@dcÅ~îʃ0§SŽ°ÚÁÒùÆŪD²­ê:eí§†„a`¼Òÿ/¸yüÙ÷€Å‡lCˆ-HûiM9ù‰ÝÝb1€­Ÿ¼g©‘Œ9uÔ’ Ìz>Ç +ÞËäÒ2ž†3fˆb•8D4yzZÍ¡2 0œà«á‹–¨«ks/ØÇÿ­3S6ÍN™˜IÑÂPù¤*9RCàÅ{ë·+d½Sƒ§ƒ +.<èØ_¬Ê z½ËN°âÂÆÍ™ê. nFqçíç7s¢]«6:•~ùü)´œ´(_£÷œ œ´Y óú´ »ÕI‹è2dÎÁ->ù,ï²@ˆÞéBHŽ’Îìê©­"dÙ.,þÏql7À±¿ºï`%2­_–ð’þ™ÖÏÀEdU~eÀ( ÔT¾ià>nU”vkãÝš÷zbç/[#®¶wÓí¦¿CÆm/Çà ðbs…ï·¦0Ÿ™-š cÍ®=ØÓÓië/ÛNëbŒÌjoåÀk¡’QáBœrJ9£ ¾Ú¹Nx–=ÝÌôås"¥¡©RèOÈÅ8·{[»Ô¹ Î7—¦ˆU·ˆwÛþæC1Uà–­‚ÄÉKØNR¼ªî—ð‹úžÙÅí +qÃåS´O+_=råïxœ¸g䔨_™Ó’¬ûO¨œ&¯9É=XV¯Œät†šÛÁÊôC¦W›` u¡<Á±þ¶É«)=R2¦ ОóÅÊ}~ˆ5Œ¥ÊQ#ˆ_"Fù+f¤Öã²;6šêFÛîE¤Œþ€³y…+EóTú§°&Põ +ë9¤œ‡æ1>;*"gKP!’ý3Ô$üÃZ˜j3,§¥dš0"_–àó |ë{(Õ/šÊƒY +ò"WÆ]WžŒøÓï»Å[qh6%Xò&Ç4”ýú€ïxŠí¨ï2aþ=“ØŠ¹Î×4áw£ÅÏ]¥2îQN½à2Ò0~£Dˆ@—œ®í™#YÁMÙ’…tÖærL†7°Ú”`þ ra>cž£+Ï?>n–ÁàKM»ßè¼8¨ëˆg¡:‹©ì÷;¢ý/" 1÷~±eIpNˆxÏÝ]ê*ËöҬƷñxÌWÊá­·O>P•*vÄÚX©†6¹B‹!ëÑ.C¼ÐÂ⼪—ÇŒuªõ&*÷p¾ aI‹=È!êÁš+Êþ'ú)‰|Жa0C¤%¼ùä~’ã*@OmP¦lÅþ 1þlÏ,óæû UÚ¤¬&#k´FZ—ºOnW¶”ü½Üe@P«¨7zœ¬:÷ žøìm@5ö­Û¥G)¾?XªàÛ Žªeƒñ~C·¥ð¢gÉkÑs×ô5Ñ<ÜbÌsl@¾Dg”Õ–Ÿ$¸h©íQ0ÎÿÆÞãسø:¼f]kį\Žº«ü Ýç@µF­ïéÛŒzI¯ÈHj†)r ìô€ÛI,7ƒÃt˜6زê¶$¶~¼.šßŽO¦ÏÏÕ„ dqWÄ™¥rÉë‘ŠÿÇÜs “»F@t¥b+¦[^ÔÝ@µ5T6Üm¾P´e²ø§Hå˜x³ë?"“ÛŒ/yXøI€J húUÖÛwVÊOã0 R¯VÔªpnÑ#u÷“yÔ*&º£™ü¨ºUÝ0žS?ŸÙ¹Ù†÷(hÆÏ<½ ð¸B)v§Gž¤ÿSâ”×Ö ·s;åÓ¨@tÕn{EXÙJãÝ4åTV?ôËOÊyéPü1Ð=€ØÑbùP“¦§Ú8jnÎ}_çy®ŠÔ~43!Ô$ ȪJù1êŠ>:-õðá§%´IOe!2L=;Ç=)ïh)×ZH6ÿàù™oÐ̧¬äv'¿Êüâ?­ø£Ã=·¼~†îât„m¬¡hµEM_ÐŽg¦ÑÙ.ƒÖIÇYBß7º?·_‡Åääàk²Ú+È|:?¬t +endstream endobj 343 0 obj<> endobj 344 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 345 0 obj<>stream +—HiØÁ2Ýz6´† jµ>[Ò5gýpëˆ%ý·ƒPþ!öÙÈù`Êkóð†^ÃäÖg½óWuõWø2y1õ†ußs)‰Ž775!Ò¹u–iX:¯¹ê4f•cådévVñp5oTµ P/ü£SðÓ¼ƒkKב½6HŒ=DøØÙµUç÷—GÜ*âêuH"Ñ +~ž",^s¶¢ñùÅÄ€Z†¾kõo˜ê¯*gð¿0-ÖlÁ8˜_«Šæ4@BÃÊ>À]*±tè}¡WGiÙä)¿È +\VT2©¨dA—E dÉ#±ÏöŽWér6y“Ž¨\N9ý7zŽ&§7 +nòòÓ’'þ±G¿ŠthÍB_”˜~ªÂ˜lqJwx"ÉÈÝ L]µFç{ÏSZæ؆€ßá[Ø‘} ä‡Zyyö¡l ŒÛ(4É•`©›;ö þ!¿ð”ÄË 2+‚¬#ˆPÁ"ªÔ”faèVw^w`[¢ù[˜ëó”([o†.Ž§Ý½ˆ=Æ E!_¥Ý.¨[$T|?{0Ï ?+* ÐîyW¤àýÞÏv¯½ìã]>C{ÝÓ~›W$¤¸8W¾cŸ=o1þÑÊnt.õNªx´ÜÛXÉ¢FdzŒÎ‹à~$Ä2ô¾@Å<¯ê±{Å µ…ߥ0LŒ´ýbý£@/™ÿÂK‘¼´`Û”réÅ3  ´µ,ÜgÊÀ (éèÁ¨åYܹÀ[Ž·ð®WãP{ •ºR½4ø[Ô ù¦×jÚH‚‡²Ðï„ç‹Ep²K ÂÅôÃCá­BÎÊ–m4t}w4°«WÇc¢þ؇ŽYüê"zgfʉ%>Ž['Ϥtþ'׃Š5Báe¿¤,ó2»äE¼^QÁÖ-yŒBrQ²ç0ÝC#’³áyµx"ÒØXAg*gdT8J3IB„X +H<²­ü°è®ã0ÄXxüÍ`úö()&‚ ŽÜ—^=‰7º²ì'5 Å£UB•ñ’„š H)ˆÁ¬¦ûÞ¾ÜðƒHš³2Åè OŠù §ÍÈ"“ÑR¦üˆÓ½s!¼¶sdÅc¹TŽ=nBm†F·²ÅÜFê"‘~T1kùºÞöÏha七0e@²›A_†RCg‰•{6õ½yÂ$ÿ‘â„–~BJTÉ­Ÿlé Z̬*¾l‡%~D3¿–.ŠÀ§À5YÈÓ‹½ë•wº²œˆÃ‚öu\7ÇCÖð>UÑºÊ à‘žl¥±#¸¶ÅÖ}ËôYqXÒx÷ƒ@áÑú=ge¶F¶ª&ƈy†q ûŠœ«ªGªùÏPˆÊDŽòÔŠ‡É·â4bö¤˜âVÓ®ºÂìä48Á2‡¸½5w%ü¦й±}9Ú¡ñâàN,!~^ú¿l˜#ˆb 'É Å¯÷.>%ª1왩› {#ÖÈEÇ6è· Z}®pÒÇì§+bmÎÝh…õ€Qz¨ LäÙGô…Š™ô+¬äà‰|ŽdïÓÁOôò7Ïྌg =Gל +‘b„ê@t ¶µ€²na¢À¯­Ë&µ)"҈Π žóÈ®·Và2ÕJŠ£÷X[BÛm>Õ×_*Ŧ1ÙÿÙsëö÷Ã0õCRÙåoÈnG‡jUœ"ð¾ï¦_6ÌéL)nKós0iÞ°÷WYðjû» Aª ;п.lZAêuíäÃ"B®q*D'›_rgŠ–KˆxMÂaàâ·½Ÿ˜YZ38éñÅ™ì£áÖjºM ù‘2YaÔr½É]¦ß#w#þé»É ËƳõ%*¿âõåî²3ª ¹y²NoÊ8T{±IÓvøñ÷‡©~$xãÊõÕÿ„7‹G‘…e-¤²üë{ó}‰ybýt*§8}1PIõ…„†[S³ë[õœkû"|؆_ÔM`1MÙ¸—5™hÉ-Ñ¢°="ðY‹†ž6F o6Gîo]×´|h]ÓÒÊ}+7ÐZЯ K|ÄVqÐçÒÞîºa±mA¨U“#ôÃ*C*@ض(¨ar^†¦ÔžwQГ}]°Y×Êw^yâÞ©p¼VÑÀ +£ž“ ­ìD ¶Yªó¶®Î š ª6@s=žjm¶^jŸÔvæ;–•d¼%–ß&ý%hîCÈŒn©åÜZcÑc*¤l?ÞŠSá˜Õ«Tƒg +‰&GÂSXÈB™eÏœÙɘºä|ÅúÒg¥54äÎsÎÀ¾›ÀâYrLjo¤yÉîIyÀìr9ùéªÍ£‡gŸñA·U·/Œo—/ÊzVß wŒç ‘ÁæªÆ3“ˆžQa–¶§0R]s2¶$ ˜ÓçRÏ×ç ‹¦,ÓÔ4øøy›ë¤qÙ‰ýýQû²ù÷ÂÔ¢°þ"Ž³RÍÏ«{뮺µë¿4V‡Cp÷ÄÅO˦GÆ7Œ’R”,ÄŒ%óC-SO”#j_­.¤ˆ»ÐÔ +EàѬ +¡{zÌ#‡•`Ck°ŸMšÓûÝÝ_ì0Áȯ=ÕÃYÂÕéG»€:9–°/]™bj5tyVý@Èñ6¹2ŽQ¶Ò¿6Ë$ê»JEyí¨ÌP飶8°øF@ÕÕ0Ôßžê€Ûi¨å)ÑT§—)À’šÉ™¹7\V"){f3ï¹O6æÈ_!õ¥.(ê'NEOOK›U‘› +FÓ¬Ó3´tìÏ´~Ô…YßÞ&Ò^+øT;¼8Åû/ù@ƒ:îr4ðx~;E¢9»`u‘Ë^ V›LÄîzAHÒéoØç¨e\ä*H2³½u©ÐG€ùt_¼Ó‘+ EuÞ­½Ð=ls*u^îѸ³«ù‚j™Ñ ‘,MÁŸ%  pÊô™¦•=3G*gm›‰0 +¨p·ùZkƒ ”78H5hNÎfÐMJû«I¥çÜ? ï½†Õ—½‹è‚ÈŽI·;¨ÌÚýIWÿ\„!„õû¨‹Ö87þJ7.œðG¬±3œZ9Èõ\CÐßÁÑòèÜ)Ší±U·¤‡n¨*neFhcŒ¯¢@ÓÈK¥fÔgJ…¨ßŸ\Ô¬ÍzQï²#1)ç+ý½FªÓ€o3}Làî>¬Å„‘K`c-œØzº´ôîE(Ä‘–ãsåŸÐ@~ž¦zQš»Ù„¸õ¶õÒ´ÃNv˜Ö þrjðf°¨&ž ’­ÍtC®ëÊ­³¿Žä§DŒ)^ÿœª–0¤Ë´½òûþѨ“Œ.#'Z£YyÐÀOÑÆJôœÝ’é Ú6ƒ¼Ô1ØZ=¼Â1"I:<µ} aO(ù€´N˜RXÝw´2à¶+Á8õà¾=é;Nv™ ø +«QËyX=ÕÄ¡ÿ’»¶(¨¶»Ùp)æß`Aþ¨ÁSs!Ë“^ˆpQ1jÛÌê߿ʘÀlZ\ÿá_¤…‚PÀÌgðKýé…G3•­ÿdÐÿÝÓ”Ô2·7ü•÷vwr¥Nh5—ñ ™\$”Éöçòóã ô 1h· ¢êŸû ¾OÓ(Cz¢É}ùriB‘ª7L6¶Þ=ä@ÏGXBž®æêÃÌšïj€6æ–'V.ÖD²PªÛ‰‰qèhЇíú¼ÄU|VH +o¹­i V!vD#‚›•é ~¤ýéw`»• + ôJX ?§Ù"J§i‚ßÉu¿€0]†Ç§¢MîbeªÃµùy6áê³EtvÒa N‡Eaï×8ë@+øò´«›0Vbjzˆ ?ç…œD-ý {"™Wg&€mbØX +endstream endobj 346 0 obj<> endobj 347 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 348 0 obj<>stream +(OYÿδWj…99êyÀùvuÍá…Ï+rI<³Ä©…»—±nñ¨,¼D;°kMaO&2?ô/5Çæ¤ôó pt½¶n6 +Â$þµA­Æj²ãÙ>|ßÎÛ7™ó¯Lð- ¯Jl±$˜z?DiûS Fà×µ¹Ô:±õŠŠ : ÷Áq¾ 8ìÒñÓ ñ}[²`„IŒ[n*šë.Ò’Í^W¬ähùhúiT,l÷d„ÌfÖV½E—éFfDßt€LêíÃ)>ð´Y—“»w€RcéᎸ“e°ÛJëþ¼Üþƒ½ïX@F]žµ®¼Ëïà=šIù-Ó¾|s +MRʆ$³“Wlõ)‹žœ·Ú0|„<Z ‘QؾÈä‚È Ê¢Î*K3(aBùô±L/ù§gûÃ'tpá>ö½‡t>É[Êu¤ËKsÎ +Sï|”F•VùãÄÉk_ðÑåÝ”‘ó«{¬Kiø11V± º:Ã/é\Ó¸åžGõÓÓ)_ÙWWÝÞÜKâ͵lE/•€œ“lœ>;ц@}頓ܺÚïs'>MýìÔGÎñÿ›îÆÇÜ]:cÊ夦²93á¾_œp“ Øöä&¡sÅ6¨¶%øÊÔ}Ü0´.ôh kú\Tóø`ˆmu³a˜ÈÞeãn…«s!a˜*¾kQ] ·p§xkŠ^\Id7‡R÷K±Q¨¦½Gtdz¤Söö¢R<ê²>ðK˾1Ô *i\¾‹ýlÄŸµ« ¤;fc—Zÿ‘[@]÷?˜&7ëà}a”Êæ8¨Š.ïÇ9î?(Eq3Œqxžíz¶.™ ˆúUÒF4 êq›»îŠ[æ—ÈÒk ÷O»Rhá#¾äƒ+k‘ÑR½ àrÃ’*ß±zU¯ŒCò\ì–Îæ×›½ú®ÇþÍ–±û7ž_DFÀ íEùŒý¼‡á³Î• C‹ØÖ`ƈþn³­åëÌk>m«} ܶ‘ôÝW’Ío\Süô¿æ·W4=»a„üB3IâEßÝGÁ£¦Ö~È …‹Â^c¤jÂø_P“qP#W1©ö„ûJv2Ô+]`bR1³SNb ÔËc\|òßÞÄ“ž6e%•ó2’O¶›åÔ6„¾ùjÏZaðï 3 ZB?žŸý®Lni¯_"øì³ò U»¼zÝoU´ó†fÈ1Qëîç١̯L€ŽI³ÚOÀ¼y$IŠðTB®·ÖÎ!Aôv—Î\ °!ßð¾åEÁÙ„v #Ž±3¡gw”±AZZtË]þUú©âÀ’PFú i0 D⃇ܬ^½Ü²‘^D­%AO= àÚ Ýc˜%@»v“#Ò-×E+Ã/yøä©ýœÉ +íE÷˜æͦ©$“•ƒžCÔ¥$à 6ºãÙ•¤òX%ç®AÌ¢îÊ«#WÚÒÉføð•´Iù„:vçvß'E­ššRuG–6úÿ5d q‘®×„c”l\÷˜ƒÐaÝñ‰·LShèÿ‡l§BBs¯”(®özívI„Ù0Ͼ$xxgWØ"eÈõ’”‚±GM¿=©-#áö'öJRÿÍŠyƒ^?ú`.×溾\„´[d«Í6å6$oØb)ÅÚšéDNÙðgتÚcuHòïÍC£,T-ÃÒZËÌxj‘¤_v8Žäq¹t臩[ª… Ö©Ñbt§Êl•;3p|.¹U£qŸøõ¬W;âÉá“ç÷kˆòå\‘$!ðÄæüÊceyãa™†iUõÙ+-Ûºó™pËxRlw½I åãê!ž µã·j EvYÆÚó©GVœ±ÐF‘Ljkší£pÇ9{ÍôÞ>‡:b³([4o®~TšN W¥Ž´cvôi X±¬Ó¶>‚Xmî‘)D}çi"8ON%ï(Ãñ¥+ã ê'Äš|ü]O§Ho6 YÂû )ýÒnu®kçÓ=É«çSæÓšæ‰Ô=ksŠ—¬Î¦®3ýÁ+ÍÌê‹üñ.F²à»ìE…'ºYA•%BŠ;âÂÛ'W·¤Ñ,õ›¡«èŠ¦ç˜@˜ñöÉSm4ìöø…8yJ»<_¹¢­ÖPË>M;@¨°Ý3šŠ(2ùewª}çˆúuâö+ Ë'sÚUQÿýà_xÎT9!¦y[)̾ÈZ» €Äs‘W]ÕV@;Ve#ÖY u¶¬}GêºÙá¨?oµúF$Ûå÷F, âdºAm袢Kð+m­˜/R@§Á§‡ *©Žìð¬»G¸x{ÚÛ$®92Hƒ.2e»Ra¹£Ü OÌuüªhÈñf8z”¿mßáNžxÄÚ[¹¶Ì—T2q @Þt<´@Ed®^V3ì î€ø^/ÛåHB=»þ°UjoTÄÍÝ;ÖíŽp¬î4ΓHæ ?Áôr]2—ªõ=vÙ±ìb¿|ÔG^æüd¹r-ØBÑ„m)þû_'7†5bu!uõ¢£+í,º¼?ø3meIo^—ó$¥1ܵ÷ˆ#!¬d±ÀÝ£ ±3éýÎHîƒ{)Ä»È~HE÷}ж”RÄP +endstream endobj 349 0 obj<> endobj 350 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 351 0 obj<>stream +ã­¬*êà!ë6¦ß +Σf¾GE .€<Õ]3J)5ô¿ÁùQ¥a÷<¬ú/k­“4OÛÎq©Ëa6[ø/€žˆÇfÍ—¯ùÓX< „žú®=ìùx¹öbEÚkœÑ0À†ÿ0„v£÷ý%¥Ý v$Z×’^ú8ížR¤íŽP¨ßèÑ”3ˆO(G•¶ÃŽ|AQ˜ѯCî}ºŠUþA„Åø’€ T‹H"w~Ÿwâ÷ YbÉcÅù:ÚJ„Eö5/3E ŒÍ +ž~(‹?‹g X‚(&øMæûÞçQ›ôm~ÿ<έ{ê—~W +2™À87ÃÒ‘1Ìñ·àì>Q›N|¶Ða +ªbéö®WâˆrÅ耰µ3*ä6‘)ÀI¤y—€#©W|)PêWˆ;®žÿHça“†Aù¥a? y¢yµšB¦Wg¿žbÎÀlÔ2£Ê‚GœÜ6ì1³ŸßÉ—võùôwÙü@-뮃³™€aŒ×­Ã¼!ÃX¢*ùY±j wj¿ˆ‹K"1¦¤ã§Î ß[,‡x@O´0_ÓºG±ò݇j>ÀÙ†lcZ.q·ZÔ&‡v/|Q0¸+‰ð›¼rµf€˜+ +ì¾V9@_>io¨æÃ3GŽÄÇOT vÙ¯ @ã@°æ[%¢YÍ,ˆuùÝ—W·Ð ù{pB¼¦ÐT(ÀÉe‡Ôg³ÖAÚ0(@°âBRì ÃLzÿêrÇUý^‚ov%!ÛȽMÛ³]³i—[ÿ¬ ƒ¨ûBš{ÖbÈ4žœ¤š±¨™Ë°§É2BvåÇÍ㟬$´ð÷&³'ŠYðLyeù uÆ_‹ ’JWÇõŸÞ/±›Åö]ùmbý$TZ¶Dd[@pÀL€Ça |FD;™~>ÿl7ªU@Ï2¢°lÝDĆk3ó”¨òßæÜ­Kk‘‡ëŸæçR5•CÎï'ºUˆ¶Ô÷¤>Âë  þZ’+›ÂÞañš 2®[2‹yçØ]²¢Ô<ÏóA2Cz_~ÃY×Uœ¾Ííù~Á[ñç‘X›Õð°ñN?£ x“âتñÀ ‚†Mþ£‘…x¥ú\Æq«Ëm©îÏùƒ›wîÈëÒ-ÁQ_æ© ?óãÎçðkž–öìgaôÈ*m1Gc`ú˜Ý»»z²Œ.ƒpé ¡y—Ûõˆ9 @0 +ø’Öì¸Ö±#0$FßÍ9ÐCͬÌá“ú€â¬¨7cYTõ¾“£ÊÇ·]/S»˜‰k +3¡ØŽÍäëˆ{…és˜QX‹4Û þÛ,Gº¢0¸À˜ +¢¸º5…Xæ.õ½¸Á"õ,‘#ûo IÂgðG%¼"ÃÜ D½ãƇjÝÁ×o^¸R#ÌV¦Ç6™ˆPy sbF#Ðé¼v&›"‹gE?6¿<žàÙ;2yvè¾w@¡Ì~X‚óñOþµ6wݪΠ÷6aû`ÝX^šÄx/9 B4ÕD°Ü@78ƒw‹¢ì^g šM²›¸5¶>·’õ÷ÛÏÝè×Ö®za¬: E=Ǭk”IH{‘n±x¤&ó6̇ª]ñ +2Dï½Y•ŸƒtŽ|5îrÝìßï^åü× #’ÑžÀìwG+D:õ+¿iylIÂ=¥E¹œÊ‰TU%ÒrˆJ}Ÿ9ÿ^Û>»]äì¸Þ˜îÊ1î\Çkž-?ÌûÏÙâô¸î›ýqñ["F/Öé”ñ¼w"e;ŽÌ‘úÀM£° ·r†1Hs d¨…¡p>]fI<m1f›O(›wR:C„g„*ÕÏá >ûç@_—)›õãÁ¹ñvw öוñ¹j¹#šÄ SKÉòRéùy[ë23q‹ãÒ=3 +Äw£2é‰cì†Ù:ïV­z‘ÿthH5C ùä‡.ØTc…[wŽïõô«~ÐòX»_¯/.d†oŽAœHSå$õ‘i/×l%ïÛ5?ÀÀOKöÅ~¬£íDC‰n¤„j1ÀŒ'Bˆ#}cìuƒ8±Î ¡¥î^;oYc5IÓªª/fÈnªp'à™<åˆùÿï°^EnÉÏá¨Ð»ÀeÇí@ÜÀMÛ∸ ÈO˜;F½±êu–Îå³Ñžz®g³(¶Åï'øš‚AiãKÅÈrŸ]ÝýÍþ+™Y”ã¹wª}Õ¥ÐS I¢É.0Ó¤i^¿W[låváœìÂêfYK» +ú z|CºnKùÊEÔ]ØUYWöaôE0Ï•Ðé>Õ=òÿ½DæÿHz£ú<§vµv]¸÷á~)œvf_ƒ¥ÁuÄ(ŽFVW«Š\B7¸‹Èþ\8üiñßpëš ƒÜ‡·/æ4¤ÚDƒÍý¤>"Ã6ÓWĪÏ#8ŽRY õÔY…Íc@7þEøŬˆðÈŸ&¦·&H_C=T„Û× +T¾3¨X7€¹©éÛ`ˆ¥–£ wŒx—ÉÀ»ÿìÅ3uý\ ê–Ïðí|NønÄA½ŒCVe›YìçÖB~fヌˆŠwóÂJ×°D‰,øŸf ì]#ò ö‡âÍŸ.™¡ÕÎlJfSuç«<ͲúG`‹Yf·¹~‘-=7I®¶öŠ$0¢^Nj—د™ ½€]óÁ|Ëhùô+EøÊUu¥£¡«ò =cûk 0ð¾DZõ±HÃ@ÍËGjîÓ”xJ8²>í‘gðaj:úH©®¥î![‡t76G*þ0-Õ³3²- ‘ÈÆãÑý¥îx9`¼ïŸ„å_Ķm ¦½zTØj!Æv‚' ZöA¤¦M:ᣴҮÛÃÙ<ÌêZå‹‚ï2sÚ³C}@ö‚¡q?üÕóêÈ_ŸJ¦ROc¾«)µŠaîV”¦5MÌP¥ ‹½§Ãæ£hݘFýÌëÓɱt¦/èÚK†›à½õôÜŽ-0UŽbf‰èØc](• M'*‡áWÅʼac‰íjWÏ¥a>Ó¤“ÅÅ°‘²€“㓶[ÐÑêË™“ṳ̈hi¹Væ‹%ÏEcÔ‡ Ü“%¡™Çè–ƒ!C³•Ìíg=ÉÔzÃQ6kàû|{d`:ó¢ÊF”}q+PÄY]J#z å É¢ÏÓû™Í +ðEšÅ9÷I Î-·.nBkAY÷B3,bOúD‚›È=º!‹.’½uN©ƒ.´uþhuV"`î‘úÔ¦¤!Á5ºÎ'J + Zšå!ÁMSjÐ…2,úl¿ɘMCð­NhÔ¶_fœ@$|ÅýÕ­ZY§žØÊùû\ +Þ TI¢ƒ&à|Õls‰è½€¥J¦_7Ô¸ìù6ð…Â×q‹@2â^ì“t6a©[ß³TK˜4Ûä‚T‘èB4Ó”.EÎ÷þù˜õw¤HTš¸ðíG½á1CûNüú¬V×ø¯èLŸŽý°s¶|ˆßpgäôf–Ä‘»Jô/º.u (2I'½wÁ—œõ*¼aÒuµû²óß ’€Ooí ¯¢8dFT*ðÏäVB¯0HÎ{ÐMWt0ŒZÀýí¥Â¼•D-³‚ó„E¦bt‰#þZ»³Ò"rš§FpiÂ5lw*¶8. +I¹ÛžñìBiÜŽg nÝpà„è[x"B«ÿb)T“»;‘á½4‹ZøUÛÚJÕDwpÿõy6¿4D7ÔÀ¤OQ\°­Þ *¤¨(®.ÏŽ=3Þ†pÔΗ=΂vNû©F}{0ŒË›ï’‡&çõk|RÓoV‡qtMŽFñ{Ñ™À+ìdˆ[]ö4À +¢ËŒd3Ï:Ú³‘<ßb¹zDÀˆjùœ€Bð'+Gij6³XW¬ž†>òçŒúÁå­BÙµ4ëžLƒœ‡¼ªþäh]sB + q¹ÌC¬šZ­4‡Òè÷:÷œß¥ ÷»r§©—å¹6 ΰdmÏß¼ù@g»`ÉJ¬oV²‹Jmæ,æ“7ØëøJ \<–f€4™ÄKί¼”Õ®ž]c +endstream endobj 352 0 obj<> endobj 353 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 354 0 obj<>stream +f © ûzqtÀ£ºN¶CŽšM Ú¯•ÄƒèNœbŠT©É€§?f¢ Ï•]+mड़IKY°ÿ¿i‘„_› ÿ Í$€v/g¥¶òa¼¢Ÿ£ö!aâD¾}K¥¦Òø]Ò7º2l²%Ç…Æ5[øÑ“ò, íØË¢û·»9\"íù_Ò“ÏÑø0ÎŒssƒ„.©p¯-×Έ‡òî=5ˆÑ5bॶŸ¾]N‡š¯R¼²À¤8ÔB;ÂÓLñ”ѱTíŠ:ĶJl-dW}pµ˜IcÊÐϼtu£¢!+Êÿù=õnÑöð>x/l)¢ÏQAÞ·½hŸºìÇ…@_ ©c/ý&Ö‰öôüJÐSÍ=›…´Bφlò­T³—zi+Êkl{ZæÇé,éüy_+BFBª GÞ ‰B…ŠÐXJyR±7C‹†ÏžFAª<^%Ë rÊ+îÀèï6@ÖXP +Z\ÉÑW49äúšÝz2ñá_"Š†Gìho ÷)Œ¢.Uåÿ]ÍŠ:’¶Q"ã{ù=¬ H~ã—€˜8BW}Ïëþ­7…çmÕÜ­ûèªQ;¿–_÷ª’¨U!ÛëáH ÉhÓnü£ÁB´ZË<¶HX!{… M±xg6š²…tàJ KÍt¨u¬É·"¨‰2‰Áº¡ü—t¯q¥ºp•A^Ï`G2•^Š‰)Œ¿Í•ÅMÔtS‰¿ôKÒÙ,aŠBêëTû8«gb* +œºhŽÁ±Æû¾tì‚׆ýä?Ìæ{(QyM_°: \0)`tÖCu ¤ìtãd±Íex¨0íêpqªq¸PãKë/;ˆ‘}g…Ò&wpÐcï>=nAoÎ葵¹3¾@ó‚°s ©:’ñIñÆF£íÛ)#*²ïŽVã#dö¨K"xmÊ‚íª&qÑS  +ûOQ·ý¡9 žj=9*'?ÒYp%t†Ñ÷iû©-á²²×GÉau8‰W©=¹AÄ/®¨å±ªÆªdjg]ö-mëû§V=ÞmŠ6<$Àë*™¯òÛWœ0¢ @A–Ç»ñ `œ'VjX9Ã!1!‰Qß7ý*pžÞ„m·]º_ݨ=«[ýàNØM³JÃÐ9èŸÑ;ú€†)Ô4fú£M¿’á>Èù‹q«¤±“Ä#©Bª3&!Lø»fDy +½ckN©g¸Ò›Q'µ‘E•LLˆ +…Ý*XV§ø—þuá\¥2H÷Ö0éªãƼ-ÔÑê ]Àô@áéögà=Þ:=&“¿òí™H‰N)!mµ*ã¤#ËvsøU–Ǫ­h\8ë[®Óxþ‹~´¢Ï¥o†$“Ráëç0¥ûÅÜ]:_–Öð…¼QÚŠŒsƒ5–ò}BÚ|›¤.w¹¸ƒ£_ “Òê¨fÕÐ QþQ/Gžín ÁZ©æõY1ÖQ[Õ½Ì9Ý|jÓYߤŒÝRsJl`›uiâ}1§‹ãí/'E‹pö-]ñéÄta5ŽŠa°fV0(4íª½°[ü Xç Ç}‹{ýV2šŒan"_–…~Pç܆ +”ܼë|+Δ®±Rõ¢cY«_x7ç·ÞVî³Y%7hkk_a1IëpDÑêô©®‚,*AžßõÛõ¬çØ$ýd‹ñÛW͉xa™)ÊýÉQG¼Cu’¿ËLDô¾3¹æïn+B»GjÏ<óååÆSscì:ž'Å•zùòé’ä=z z³yÊ\ìT¹nÍñÍíuõ€’~žõüÌ^ ÛØÜ6£áF‘{º$Ú›¡œxêëÞ8¥»¹+¯[×j἟¿ yçºT»„™Äó12¦ÄÙ@[`u¤™Œ†üªß<,hùeð”—r”˜gql,G=8ˆïÒ¨Ò(Vú„"ÉájGôçu»Q¢Ùþ¶©·F."RÃHòWÀ@Õ.–!‡ð«ê*Œí¢¿!?®k¾”Y]–ˆeš3[jÚ%cgw8©Ã"ñÞ‹»îÆþJ+3Y³ ê7UÒ~w1ˆ¤ð™Z9zçöÒÍ„>­Ö¹^t U$+“ßS0äҶìí©9Ä…Ã|•lÃÓ’É(?×Ì­!ã°zÈï§t3µèLÂÒ׶ ¾ü² ­¤¸Ìáðâ_å ™ïRõݤŠ•¢Ì£/!à‚‹:I­¼2Ÿó#i¥‚ó6rªš<Â:ýn+ž÷­¾Ù4)̶H&¬G¯ãîÝRE·Š5åX44ºw3 祂û'¹ÞòFd;;_åÞ;¤”¡LA&óþ›Þ „ÁV:s E¦W/¨6ƒœ;X™/’vK‚Rªüû„6‰kÕAWëJÝ«t8ó9Ck44ÐF°ßyÒj±¡èðSüÈ2™ŠûÿL^!}$Whÿ9z²,UG°n™%F¦ü¬Ãh õÍW=ú¶‡ûclT*%×Õ¬w8³ ý!¢Qå6ü¡§—¹†Í\ýzƒE¥fœaôM:CNmÝCÿ"‚Et&\5¿ 8…±1:ؽa¶ûŠi3½õôzRꦜåÏ—IÃÿ•]ÄŒXÖqMíÏÔòaø•´`˜jÀid<5(θ®y£Û–öZùQ¯î$¾=J¸ó÷ó€äå™jÇóÒ|`ÖlÇ)?j­IùcàîyÕea¾câÒ´B†bc®r¡ *–íøT8*ÀÝ9¸a«Ó( A-$¢ ÛïgbcVmz¦Þª§ZÊŒ‘p‘Ñ_…-¿N›Ò Ré*·œßaÅ–s|ÛI¢U"xùêèùý•tM¾% ÁY‚Ž7-ŽIB°t]Íéý¸9I±xè™ÈÝ{‰õå&“—…¨.ø 1Ãÿ'3d%_“£3ñ¾B 5(Jî4¨ÐL‡|Ù|ÞÞ­‘ÏH2üàEÌš%€$ÌR-&»µ{fÏ2J²ÏF„p=##deõJ'`ª¾Ï“¿I +ÖVyewŸ»Þ,ƒ4,M¶y}è­6µyɨÄ¥ðUÅÞ¹WH±á%¯«ÕôµIÚŒ±Rí™”\luÕFOM¥–ä±òÊã ¦›â½éÝìÙ-ßîང +/¤¤²žœœtP +›92’ïÊ®ëaã©ÃVf°3´XóOÆûÞ¬¦·«èF¯ÙàÃ8|!CõâOCplÜ9þj"ë ÞÎÐy¢¯yUf{€Z$&"XJ~˜úf0y›,³s™¯ºÝøÂ{$„ZÞ"Æ/Ò@AéýÖõÎFùŒ¤›»Àÿ–—›é»nîÈllæYÔÔôòX8û _î"Î÷¨’ó2 Kxì&iŠæµÝÖ@md,ƒJ[ƒ·(&î$0$ýÄãDíΓ®O]Åèç##ÛûŒx‘y_F^ƒµs‡·ÃAsHaM‚•QÆ$!»¨Q\{sÂÒÉükO_gxè†æ¹ßìïr É*À +ȾI$QòÉÃj_‡/Õ¤ý=èzѶâ ¤ë“D1GêÄ;AƒcŽ¹[æf1X+ÂaùIÁç*Ý4jZñ‡+ÉÃËîrsœŸ§t = -&ùeÀ”!`ˆ½x7uÏÏ¿žpÙåcÒ9R舤ý¡¤?œs^á ŽêÏ«†«+KÙ“¯deú…«ü{v?Õgº*ÈWPy>š2ÐÔS°èeêŠù¬ýœåÎ3¢< »îÀÈö«ôzkj'¬„ 1™,G+U¹"@;§¼•˜ä5ŸGRÕ‚‚R9ŒmC̘¦ÔÏ‘ó  ª8Ì–•V!xˆãÍVõƒ\+ž¤îÂË$N¤÷tþ¢Ádc¨OÂZ#u’„Ê¡*ªÙö;DÁšÏ<ƒ ¢‘›r¼Á3×üÆŽz¹IvoŠÕCAµvtâRÎõ›ãÈàòhJ¡~ñì݉N«M‘i’ $oÍ“ü*C¸_ù¤ÙÊ—Òxáÿü‹Wuœ²ØaÅgæ:ÞÓ÷CÎÕȸ +;«°§ôˆŸ¤ü"ópÛï–ÝÌ#…/§X}'3l’‹ìùË*„äŠoá¸ä96æ猬M×^Ïê¥`¡]¹‚MOöŽ¯kjíÀñˆl¿-ª“aßá~‘ øÀ“´÷³Žr¬ +±ž;k5µœ„Ã™ë ¿,a™ÒZ¡3¸´¯ãìVEæèJQñÃb© ëAJh6Òøø|]º¹b&‚Ô¸éfUúèeÔSò€”W}D‰öiÙ\û$D‰¶ÓÉ\ÌbæžQP…A¦U&‘©ô°HîÁ¸i`ŸÂ«/8Uo”êÌ­ôסêzØæ/•PWG'ÖÒHa?ëDöíNÅ9å“ò†;ÊèIo @Ú¨Œ R †Ÿn÷(ñ_öô ©×y§Â?zžµ\ÞæÒ‡êqJž XËm›×—‘´³äÝC¦`7ÄVàe°ºL¦‘JþýTøï{-ùRý_D›«ËBÎMÍÆö•¦B¬L£ëñw†rÝX‚Ó«—Ó©->+ÓÂxFæ+¶J^hÈc+)ÜWÆeèâ›UAòn½jH¸tÄoPŽm:£À"¨ k=mxMQt#SŽ—AÂ;E§ïÙÒt:eOI~yŸejí}[n’æ>^M1[ÆKÊ<)Ðä:¨¯«Í:½$ÞýS É™ ßùé‚j.QáÉ«î¿÷PKÑý ãÈq½ +sô:aQ¼šp’¢Öy+†nI*µWa=Ö=C•ëAŽª‘ÿgƒ«©ë0.øŸ‹·ˆ;™g?¢²îÁ§µn&ùÌdp2üÚ>Ö²XîЪÝx'3E_ʱS…*Ôçö»¿0òÔÊ÷÷*Ri–\8Ç*Ég[Ch\w×îÝÁžv¢=Sâë·­“l+n‚òï¶ÿ%9L,ZQÂi·Žú=Ç·ªftå1„T”j/º_ÑvªU£ü*¡u%îq9Cí¡Æ‹“ÒÒ$/ÔØž ÃBP<ðøY{“_ŸÖ@\ã²æÙH5“#·ŽvöØ…ãdZ IF…óŠ‹¿àùæ°.}Z~ó9°lÅõv“1Õ%ÝÝ`#Ùøöz÷3¿A¾ðμ1yEªß;A³¡¹UFñQQ«ÿ‡„ÒÚdxâ¤õ£Â_ÿžÁê0¶oo7¥6Ñ(J/´¥>UºI–‡óðŽÂ‹=ÜË èø_Þ’ó%B"aŠ%@' »nRµ+U:pþ:é@‘p—Ç\ÓÚ˜Û¦Éé"‰µŠ`ô@ PÃ×¥2Ɉ@‚³>øssô1¤É³·A–ªÞ3ØM3œ¸œe¥°PÑŸÝKsý¶OP@M³IqhýÝmF¿>¾žŸv{ó‰IËŒÄy2´^3ÓZÞWùž”ál!%µ°éjóĘ°Ë~ÇõÎ^dÐÞúÝ +ÁÏ…6°¢éƒE.ݤ¥ù»Va°8°{ôü*´XÓv×ñüÜÙÞT–òZ]D!ãž žª­o9˜ór hÁ‹Œ 5µ©OˆQZZµ q#¯(¦yMÛê¨g˜Õ(Zâ¦+e3)#›Áq=Qãi¦Ø’-«4bGÛÿø‰:[2nroa&4êJ‡U5kdãÁ{±À‡sO‹Á-ÿÙ™¿—.žºwŸÅò„ÀÒPÝV®ÄÞÑaÝ™M›fo•‹Ïñtùò£]LÞIßà¥Ú{¶·Rœ±ÔöX/V¤½£ý¾ÖÛ(”ÑN ]Ê‹²§[Àÿ+·ìëò{ï½Pº,†m /EèÉÝÆØð›ç‰É|òž Ô¼ãCgå)™›2?9> endobj 356 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 357 0 obj<>stream +VÞNx‹"èªe ªž[#OsSRëaTl¿Ý¼Ðæí*i"ûIóûnmÃ#´¤Vx Lt¶.ôaU{*Ë®L»~VO~„íÒ ¼´ør^¥1äœTŠÉRªÌªë¤ÜòèkybmY_gHšªƒÓf ð=w¨MÂÞ_~ía%Ü¥Ão* •\i”2Šùxˆ8¹ˆý_Ja'=bŽÀÏ”µ©÷'f5ÄÒ?Ë¥–:y7©ª„$ÛÉ?‡·Ü2‡©‚óÿkžÿ.rÇkÓÌ”—òÁ`ÿÁŽØbfÞ¥B·×G¤“ ¬<´ ZÆw¨sWæ…æcçÑwðͪ‚[ÕQ½«þLÜ?§¢€Á@Šu9Ü‚;, +€O{Þ@*'ªH7Ê"ôü“¢¦¶Ñ‚Gl¡ž4ǘhçÇ–å(¢Ûº¤LE1 Ó Ï§³ÞÒ¡ÅÜ1Ì›‹À³¹oŠ`ûe +m‹+lßÃZZ¥vÊøFæÕò‘JþH*$Ëô¼Q–†JÙkWƒ-¹×Æì-ô2Ëík+ÞÐOeÌlèß +k‡We£c0Ñdôpùf ‰Þ 5³…*Rg?ÉUDÓ»i-bç¡Ëq(+CB°„MëoÚiß4W¥Ìµm¢}-`šCMº²LÙ$îèCŽ{z3š»av[g(w:À$ï~ +£¸BÙq’|ô3ó#liå.µoªŠYX±:?0ØH¾r}pºØ¡‘ŽD–«Ýœãšˆ'µõJœê¬HÈ]$mƒ™c© +…›Gyšš”p8h5Jhšq@Ѥb$¼?8Ê™HÌâ†[ê˜LñÍNp+¦±amÚ€¾ÓT0˜".|P1%áŠ1Àý‡à%ž³íd´=¼„™¹£ÈT§»™w–Ž©SÞéHm9žy%ø5x•~éeß:2a®a™èò½“C³ž0ë¿0CZè€ÌÓa|ÛgÀöà ¨$µgænü6Òe±ÓïÒ%ALs Iun8ݾ8ÜaÅîxâ@,×P +ë ¨kX­gD±¢€+ÒûN&:õ&â”J€¡\@ªÞsÖ<^±Ö-ÑîÚu¡è¢1c‰ ›Ñ~ãÍà·ôg#ªXR@í´„/2ÕE]ÂÄQ"BôÞ¤-\3¡¾‹ *sÎ5éÜ€›¼îc˜Ô“­Vö^è9ff¯F4Ì,Þ›´ä48¼,XT ®ÿ£çœÄ@çžm!wùã× IÅzžü ÁU(Ón­.ç1O~Y2Uû²,}ÞHË5TœŠ0½Þ€ŽèòoL$¼|!Á¨ŠsÍ'1¬Ú6‰åÒ”.+·]r}¼GB­}Vü ‹ý2‹WL¸¸·)m,Š¤ ƒÍv‰ïF@ÝO¥`Š4ø:x–¯ÀÀ¡Ìˆúœ{‡ë:Â'.qäÆ·1Š?™úÿøSpU£êÅÜÑ×&êx±Øã›ßÃäj3I¸Ü$œ›¦Yð +€SÇCtyf™¸úž¦•<æèåJÄB‡ÜÆ|Ò-dB5,O¼çáµà"ó‘ÓôÔåiÐà …¯ææOp¾ÊŠ¸AŒ¨˜ÖªÕ2ß“÷ìïꦛXÄžAwÆâ™ômc¬(í)ü/§â.T Šg™ªôm@+½¶X·Ö2½šC´•r¯Ÿ«°6ՎŸ©ó¾ˆŽ} +Ô:â·HÖwÉx-ˆN9K‡ÛŒË +ÜMPÈê¼µoòØ¢¸Ô)zO)5TftÔd“/•qU,]Dí¼ ­Š{^¾:ä ðŒ¼l/rñAÖJ3U» GÃÉpYž½—ûN)uðwÂïÂÕvƒb³Iæ­2¿NÁ2xôU¾m.ꪊ&¶RÃ,óL—!ÿ†Ç%ìmhšVª$ºÛèç#§¬b7ælóqUKøù±­a;1ÑUÛ>æ’Èo14à¿7Žb§âþW™\t¤hÉq·]üµ±-bŸ&]ñH^ß< O×™š«íyàÛhù[¿êÝo®]1eò—È.ö7žÝÐ/÷»D²;2$zÂà‚/Ò‰‰0Öl"ÁyYÑÀ}Û‹ô~Õ«ŒÐ½‘[#߶ŒG¨¤š¼)æ!Ä¼Ý .vÈ1Œ|àßÙ(ìJšv¦eŸ€üÔýãšÖÔ\™v= „á¹ÿÒ¢£áš7Ë5ò<§\gþkÕ¾xÆ(÷Ó§zý–vovsÄ“¶Å¢'èëÖmãr¿ÑB¦ƒ#E߶† +–ÅV—V£1ñd­¢«]Øw¶|×ß@”šê€*²„jîÑØcßE Ð!,È,^¹!?ŠÉ°ŒÛý©ì0_Bp•ò » ì­Î=q›bæcþ?cx‡ÒI•BMê•Oh!ÛÁz›¨öxZ|Üô¡…ÿ °c?k%P~(ÅïLn7cŇ ³–Y8ä´i2˜±r™Ï9«õñÕLføAás$e;„Tëïz÷+hnª­WCóŒ})øä~SùîÅáHe•";Ÿüºòß|*­©¶¡®ÈòƒúI`˜P“þYîLÑZì¾N‚l@S#¸„=± [vÔƒj:lÔqTé#2ïHpÕ¡×àÁb"­*£.gxÓ¼MÖÖëøpÒô6Œ©äî\å.ÆâÄÏ,¤ò•S©ã$Q0¢–÷!LI~ÃÒÇ'øu‡'È_M¿KSÖ„Jó@5ŒÙwçSUèÇ|nŽkŸ<ŒDîâÆšµóö! >ßØŸDöâ·Y’Ü%Õ¢Ýû âühCùr5¾Ÿm¼ôóÜm)C¨Ô%?)Âl& +?€z«ÁQ™Ý8ŠIîÉmb”´Iý\ý¾§Ä<Λ§©ûð¥VYÊÛ"n§E°"ÌQ§‡¯n +Ç9!ÖO©™lÜG”mÏÕóƒ“Þ•Øæ‹wD·XÓ\'§âÙn¶,õçÒ¯‡Šc/<~¿Õ›Ÿ­õæ|@Óžˆ Uè> +{RA>0÷tG%qJ÷œ%ù *°0|Eõü1‹ä¸ž„±€ä…ÞBˆ¼¥.„¦î +endstream endobj 358 0 obj<> endobj 359 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 360 0 obj<>stream +W;œ)9ƨ¸1½B…Ñ“ÿ %LŠ¥gÉ€ÖÙ£VX—­ö5zzaƒÜw*®òìÕ½­ÐAmöDvo €&Ñê5X”D#bbÛnƒ#ØÔ×ý7²¼”è;Òª»FCn¯Åh˜l:Ú¼Pýš\—“'rýßò.o °ì¥ ¾¢x&}j[–\ÇXNº¿Ñk©í-Š_óèí8ºédÛ)Éç z‘Lãèç~Úâe<×Bé`ê ¬z·H1ä4Þ `J&Ü|Ó$ÿ·]×ä]x+™#c5BÅî:~r*V¦^gžIƒS$\~â´¶#-Ñ>ÐSÜâ­GE@:\üÚ·4­VLàî'¤"¥ÞRÑ|»QŒÖØjó£%4ø›—5Ö}Z¢Cɯf+"*4Ĥë-WÁôÉq¢ƒ¨¤~ñ,;¢‡­ÝU}½Uá1”mߪàQ¡ˆ™²üŒ° ëV¶éÒJ2¹©Gÿ<ˆ^ò°³eã!ýƒó¢º°®FVÜÃäÜétèïdó¬° ß&X›OÌUOH$ƒáÀLKÀŒí:ræO€oH¬“Æ<ÆPçP­J =£[Oú^V[/ +{W»võ¨æ¤«1ž¬Ú7š,ÙÚš +]I?2ò-az¡o›lÖýˆ’¸Ôîµòuð•½åg4÷‰|¬§šÙNÿ% +<¬aä»ì¼r­á- §'x=ýå±×c¥äE‹n˜Â{ˆ? > 6%Ê l‡Ï‡ÜÙ*¢}÷$°òæ!`ðbiýØÌЙڃûâQ‹=G2È‚Õ%k[qñÚAS¸3çˆ:l­@èŠÖCæ“£—Íï'j.‡äÄžt1<–ýÔDS#’ê–»±myšAø¤ +½d[ß^Åa€ÞâI™¿’É>XþϨ?G=ɧC‘nÅaáÞk— 12Ÿ¡ +x‰Ó3/˜|OÈ€x™ýOòñVÿ?¶¾‡PÖ¦ãü8E§ñ3üš¦> +)Mh\fš{ª±a¢“‚ÇÝŸ¯NæÀAÁ5ÚtÉ]{]=ô‰CnXÓxæcÀŠ’Ålḵ…Ý«+ ±¦75ô±ùŠIÙcl:õZ@O8n÷Q̱xôÓéñ„,dXfëü¬¸±þ¹1’r] €8 Í­û¨¸ù’†¶KÞiËn¤bp&š%#_<•±ƒÄ*ùÄ9®K¥‡MÎ¥/ôÖ#E<r ÓÄÝ“ªJ>$ï‚~´:EºÊ` êg‹vÙë"øÂ)ÑbsB¦ Bþm Ì\X^ªVaCß,PŒžÂ$šz'©W?óUó‡b‚†6´-OÇïZé^Ok²MJdŠ1ÛA‡| Mé¢ô!'y$-i6ˆã€Ká¾á9ÓÄhßNYr'®.¹}A7Í=y¡&­îÈ«“ŸÒsÕœ0%_BK÷žvQÀ$³Íœ[ ÐÃqÒy?¹áK³:ÖØZZJ¾&ƒ­æ4!LçbkáfAÒ—œ²5ÇSÃÔëã#¡ —ÅžV†YLÂPÐê¡xJß'¬ ÏŸ÷Ëq8æþu¯À—/pÓ2^õ.`t)uÌr‚~ß’±«¼Ò Ú™ &¢)Òºe›Á©p‰ÂãÔ7%õ_x¨ôQ¼³ÖÎéUÿÃ_äÚ«RŸ  ¹Oà:Q;*å¡Î¦‡ÉæIÁ»Ê‹çâ#×'ÝÒï[fëfI€/²¥5±¤4î“Pº¢§7‹™†®ÙX•³Kºí6ô?§Âw2Óˆ ì(¦¼×—œà`E3y1< +¦í¡Û^ØqÝó’5¥Ä¾ÁÚíR›N 0Xû(üDÍa¼‰E Òzbžžl˜}txß$í2¿ëâÚÝ=ž(½±’d|'êTÜ&ÑD»çozŒv‰¦ý“<¹¡S„øœ–Ët¾Ä„õ!eQª'|5>›kæ¡¡ÈH´z¾‚fÈá%Ôí‰úÏÿ—$›:&­ øQÎÆß4‚Õ ,x¶&4 ^†ÚNF}2—Ä“—"yÔ—i¶ÉT,ï âóç2€£&úd”n1CÙ†É~XÑ‚‚,Ù3X6€9 6½O§6å1êI8|;qR&Ìaˆ<ÎZ­/{—¢­"{ìÙ·fr-Ûj*À[Ý8‰×°wðĬóÏêpmG +±#NWiNM‹¸•^‚Í6QÔ2Á×_mky­N{¿+Ʀ¶®ç;*Ê÷¬â<éÁ¨a:r£6/õN 'šŸ(‰Š’× /”õ¨ÑöËÙ®àšëÞ&Þ•%ÃèU|çÚ¶&aÞ×Gá®iœOÎß$*OE0E”IM!AGt:HÚ`ü:=tÖjHºù¹—ñäS6ª§'Ð%:# ¿L…Y'Ö^û¹@ÿÞž Uº¹!SkÄ~8µ¯4ï)'sN +ä©Ø"»Ëãè=AŠ©Pªâfd'Q²óo˜N8DˆQå3oJlúKá±#ÖÜû’F†zѸü‰(gz5Åo‹¤º Ìu'Q~Ë´ä—à©)múïfÌ‚yGt¡Q-f¡•M« ®+Z’ýWê½–W‚»O¡Ju„Y8*HèìYÄæÛm½öf9tÛ9 zÅ= î­åbSÄuœÍeºz¨(ÒüÈÚB^®Õ»†tÝWP\ƒëKjÉîÁµ5` +DùÑZ<y´I(80–’#på“Ž)ÌY³ é0 Y=·{ŽQòÆY¼iÌíÊqSÖ´ 7Õ¹YÉ“(é­7^fý§ ïk¯·Ü|Ô—´íÈgœÒ>‚ÚÙnmàµÂ‰œü|G,X„2R$ÕÈ&¤[/:óyëïG˜„s5jV,#oÚŒ?î‹ó ÙîG0»MµÁ>N k9-/¦ZmÕõük%^«òŒ’¤XØ&¡&}‹ˆ¬ÆUÅHÄKß ¶5Àh•ÕæÑëIG£lõ‘'Ù0]„ùRÑû«•BtjŠgÊ šÁÇéêW+Và@auî´²ós°Ñ×Ôôù ¢³>áÒ^Œf8ïe`n¦š­xnFD\ß‹¦fuÅ,5µNÁ,ŸŒ´öùç¼wuwÇζ?%ð…i‰Ý’ @€5 b›.œùŒ@¥‹¬|{Ø“…Nz=·¬ëÞ¡o˜…EÃÝÁŠžü¡ÃŠ¥îAø/¨»ŽÌï¾åÁGç]œ³;PCfoXÈ @ò•e”<ÈAç|D<5!‹ýAJ䌈”Ž‚[ÑÂxñ‹YÀŒŠ¥Ø¿«7§ŒÃù¹áæ ™òe°Í¡·Ì¢qÚÿÙܺÒ0æ:B3<à¾ýôãAS¢ÚJ¹ïÈ`ü±Ö¯ŸDÚöL¯\Ú-w=ÿ_—°­HSlìלµ™/Â<ÿíŸ}»šóõ‚ß[Ã9¨Zÿi¥âP$‘ƒ‹k7±mvúÂ#í?5™»bÀEÖ«‹2Æ77ep¬Y5²2w lw!%¤k3*v?9:q¡÷O?µ8K·&ÅŠÚAÛ;RCcÛÝPZ*„›é…Jµ„ÜU)?]mßêåµýXh¯ë°È°Ù ƒü¨xŽ:ÕîV¦¹ÅÅeÍ$Rì¦ÃU!̱¾æÕÒGCî×ÞÝ#LܽãŽæk²ÛÚ6"¿ ÞÄÛïlJ1ý37sL‡Î›3À•"؆N jZl§•OÏ-8ljNøëÒC©`Žcn¥mщ"õ„øªÞÀ½3’i9¦”`-G8vô¶ñ¨~BÌìY“ñ¡£üž(kWù´ñü5'Œ…žª¨SOi¹5¨âúÖŸÀ†bHy¬ƒCä’XHe xìÞ!´Xù¹†K>Š|É”ûf_Œ;uø!×»#¡"‰;~CÊk ¨IÈÉž&Û;pß‚êe2fñµSR±ˆ.ñÏ­1i¢t9Ò±qÞ|Á‰v›þ¬sm·ý +Çç䟷P^?¹=Øxìµ[¸=ëÙ?f²‰œÈ–žK§U1Y`߉Íâ…?Û­¤%·EU½šÚ7j¬×D®Žµ”¯¥0?1ó+áÒ[jIâäîÍE­›Áv»ØÌ»ò;‡|èŒé¤Ö m›`>¥Z¶V)ôØK» g[™¯ Ó¸¡œ3V`ã*l `u +¡v`ŒvÑs Ý{„Â>AÅ«kô +¶ò,=±Þ¡¹GÌ Q)+ÔuyÍ Ì&ïÞXãÑ“Þÿ¿R¤JTŠÅw•/²çÕw»k›MW㊦¸NŒùsxp,U>­¹þk0QöD¹ ¼:iñûNIG.xÃØxç # +IºªÂ‘K¤Ñ[ªÈ³Í@ôó1\;šfØE‰ZNêR}%TÓEV¶Úk|Œ_šdÃß ·þ§EÅY›³¦úi8[#Ú€¤2*E“MÆEã’Ôxtq)ÎÄ‚¦3/æh°±îà» –WcÖ`ñ²”fMäù²Ë¡±öiW{²“¾ÖSl8¯Ã½tiÔáG%h:Ê¿Ê^YõÞð×+Z"Åòõѧ8ìØ/ùp0ˆµÊ5Ö4ÛÆê+¦ÍÆüu©¬1œ¤»œÇ°Á®q"ÿï•¡ó•=š[}vâ)¦Ï›B3*ûÐÄBìûh[¥Ò´›lu‹!¾îÒNç‡.®cPÙÛººKØ$ÐÒ÷°Ö9bÚ£sÜî##ϨGÏÉœëÈÅÄ€ŽrÃc"+¥pU½.úê¦1Ùã1&¶:`èñ½@H •R‡‚†\µ¯›aݧNO#Hß1 +34ÜLNoeq‚­¬úBå–÷ðý•ú?.`úÊ` +;î¯kÚ3SÝ6‘š«„Žõ³—€ êŒ·]I±n¢ÛÆøÑnÍ~òEdÜ +è›|Ò'K¹ž”Nï4ƒší¬«@ÇÉS@ÍÙ³Y†/ߊ÷›IøÅO#|o ŸáwîAÐÚÿúC‰ªv7Pbüa™Ù•4,ÉÎèE¯SÄ3êvQ躔œ Ö ~ FßcÉ­#.X[ïy ‡ˆÍLsÐ54˜\aøÉ´ö¨êkéA?kí½Ú SZùy•‰3›Z±?Kƒê¥.y#ÞñÃÑÓYEP,¼Cô%ÑÚÜ6±uËvÕA¤n¸+ã°]JÃÇØQÃ@×-°á ØÊ™ŠãÜn9êHOiÜ_h€ PBì|5š!§ú5­.#ç@±Þ*B<˜­Fé®Ò¹8&îâ5F§ªhó‡õ®d÷J¶ö´¾h*‡££u®¬aÀÉ~ÚÈ“)øæ ªÖÝ3Z»z¿þ6òÑÓ+£÷a_¯Îˆ—ç]Úèk#>¯Ÿ©åÊþUNTìRâº÷#,3nY¹´Û&1g¹Íã#ŸùÀ†Ðê{¨T°Ê©g¶ñU_àÙÔ²hÄ–˜p³’Ïe9=á²€B áVžzõ@Þ‘6¸Âu}ƒÓ§bÂz5j)Ím)–ŒŸPœ—(! ·µšÞŽÛ>ÉosÓÉf®4M4/÷W7ŸF)¥N™pBF¡NéŠb_™¯`8Cˆ'}±Ñ|£’uü®ÀçWÌ&.Ô®°W%À‡Eú›C{4¯€¦.ºoqgîTå b¥0dáOG£UA'üó¦,ëF‚fø ºÔpM×»ÕpÐn¤)s=BJffû½:zê=Ö?uÓßs5UWVb Låi~v&ap ˜4Z¶± +|1•$6Ó­à[5—é Í’BåÛfDC³~vaiÎÄÔîòEøæ¾gcd’Øú!ÓµÚz* +³üV`ŸBvÊÿ’Au5ñâo¶#µµ¼%r”~Ö¦xï¢]K•$#fWBÓ£Ô¨ØJŒ¹7ÿc碾œîy²Ã@ë Ñ>clƒ Z9ÀÌZ¦VBaÅp«Ç=~'3%@Ð`´$­Z-›#¡éGácwo2 äX‹ú‚ o5Â8œ dØù +aª“ öU‹(újj¾8€Øøm’S_pFB+õ}»¬ºT‚Y?x×C Ÿ‡°—ôÐtOq òþÓ.ÊâlëHXKÖ&GÞ8?Ü¢Mý¾ ¾n+l>|üY0:óÒó ‚6^YOäŠ[í£iuQ­0)°!æ(Ö¬0*èð¯Ã‚Øl¼—½ ?u¬òz¸¡!%^ŠÛf†i`À•L¸ŠÚ„(´ì¿×¹³þL¦ÐOQò«F,4ó ‹½´@ÑBŒ¤øsá<]æ-Ó?Ð[‹Ô"½á¥‰ÚZ´žÀò 7Wå)Ÿ¾S1—S:¥qÒp8,ùÌJzõQ„Óvb¢iW »ÍÝbéC±1B¨4)´÷\`ž€U‚Àc\üãV¶d.†°ÂØÀžq{¿W•gµRûe#v,b>k´cÓ,?ëOI?\ÚÝ-Šîf¯=˜õ}$ñ1¿û¼Í‚ý‡Yd¶ûÄØ3Èɹò[𿥑낪鼧uA«B#¬x¿®â¥¡©-ùv·H×n\—cW'W%´ãÑ…d©ª¯nìŸTs MÅ×Xê˜~¢ë#’œóÊÕ°c-Ý%Œ|{*u#VÏ+ÞmØÒ]£9Ži鶠aùýyEÏ0Ò¢…š?gt’³Tø,çÆÝ8å×ÅN{L;~‰!½êô±$µ‡·÷nÉ‘Ö[æà©ÿ¼ªõ—Ï‚ß²¹2ÛµŒÉ6[A~UËW’#ƒ¼ ÌøÃãYÇôôp¤tÿ‘Ç g¡gë/mYCñ®ôI; +¯l¹ßtDê‹"å?!•{d­¨q*טïV úñË…@}‘•çŸ8‡–^}#u^FÄm±LèGÆ _5=”@cšÚ¬åC_/û+geâóY FóÙp¸Õf…†¸ºõ§DCcp+®ÕD'€ÖUœŽ¹WGDZ‡¾+µa¨I†p=ÍÐåRežx[å”ä:“§;]Žƒr&ø¼Øü¦ bvfUE÷q‘ˆ6¼S|ò„¢_}²˜XÎ]šØ®+ÜqÐöÓûóP‘^¼» ÄôòÀ Ü¿Oìùâ"/kRîÁÞJáx¼›7çíÝs‘u8 ã–b¸ŒmƦcÇ«Sáæë"¢r-65 @‹r¹½¯lÃ}£\Õßó¹c£™Þ)\îÍÚvåá ‡œdn”‰®T*¬¸ØÊ@×½­¥%h”Œ¸ˆ[ñ°JF3Gú´4älîm=“uÓ’‘]¡Ò¹,´€&í`¥£Ï®‚'3Cw¤•z$Ôeòy€òp!ƒ‹0«¸x¼0‹³‚/àk¼Ék:âddÞÎ~|™”¡Yì ò<ì¸dQ%y¬‡(Y‹´À¡^¹¡ŒÿÓú9¹èƒ80rªÇsª‚lÕ`Æ=èU[’,¶Y³28bãJ轜wN*+o@à¡ÂLëóʹõ 28²õê€p [_ÈàšõuèÏS-‚S:ÈÙW;þuDËǹ/ÙòƒH3–Væ}NÚã >X.á6%ìŽÔ/‡©zØ_ŒÀ´CÓ&%è*¢(sVô$Ê6)ê: ™Áj(1Ýø‡MzœãýîKjs¢/$û$ù-t‘«g§ˆéü›Äª‡Õ³‘n ž+U#zD¿Ø"V㕪ѭoÐŽéË,URsŒ#[µdCé‹ +mæåv#0™KÃLw}ûò"–ãLLOqKÿKåDÀ±Ó4]ì–ÉL¼ú™Œ¨åàNwÆsÜñžfN_y[ø!ï%”d÷ë:ä„ ÇbÈe—Ä7ÒD$ô£Ü.¹ªÐUÙ`j¼.‡í8ÅL‚Æ€gMK +Iâs,Þ\V/öpu•ËÜž8èx•·Ö‘(ÔC½¿@Ñ€›os/‘šhËöw½¼Á9“ñ½ݼ3Ü"²3Xü·ù\ÆïyKµAðca…ÑPr!Ò’ÍÎŽæîˆJñAõY#R)iBYñ^Q™3Ad×e> à~9C±“Þ£MÎÙ[ö"1åœ. Àí¼%î䆬®«=åæ]¶@ãÃzt0]šÍZËÒ(‰Ÿí–O„ý %i÷-ü+?á[ȇe¾4”û©j8­†5N93Hý‘ðH¿BIL"cX Ý$õ5âÁKLoÀnª]äáÓà&çOýÖ$j}Í»7T<„„”Ò¢yjóZÛOãYÚ³4¦ý¬¦„E#ßm½Ik=¾ôf<‹^Ù׈ÖÏwÓC“"ÏƸB”ÔŠ¼yî^tÈ~ì[ò× .¤Š`ùR‹æe¾¼¤oG>ì]¦ªUéÆoSÜV´•6­u•»ã“t¬$a£,Änd•ûÝÂTUVŽˆ<–ãù.Š¦“\ËÓ(.jÔÉgƒCü ]픪Ÿ‹™½j=|ú±Qe•ƒõˆ'ýnÔÓ56ok^xos*to‚‡SMá¾ëQk2¢e†}Õý…\¼â§ª9>ü[Ü$ÛuäI Þð ÀÔÌ2ð™Á‡TåÜSÊÕß7´e&ZGåsÚáÙv¦’@ÜLÃdJvø`ãUV ·‘Çã¦i8ÎÝM5ö™ïúqpxn?­naÔìË£¼`Stˆ/ŸäF«õÊ>_ÕǦräe¡*xïˆhH¨[moªºÌ7 q^çU!mƒ-÷Ñâ!m¨b»zàü¤½¹3llÞI{¥<†e\ÜéØ0Ϊ²HÄõLÜ þ¥ÛÎt+ÑîáhnÖ¥µñºzûfFÏ·´¶ ªLnp´«”€årzoá·.UR@l‡ÀóÜÓ)qPýDÞ@ìØÉÂRà¶Й£¤ÑÊ<¢€è!=ÍlxžH}ï{ì’"´êßl9çðÔ¨g·ì‹š¢+÷^DoÔUÔ÷ªÎeÅ*/Û¥¬ ÝúhÙ#lIÅ)y.ë ¥¾àšÚo½Ó­([œïëxÎ>x~G¯†ÀܶY©éj/ڈ·bQÛL ÷Þ™ýÄCϹþϲíǾ‡{*CàBY› íî'c©†æO_Vf_~“¿+’{ÃÇH¼X€t8«½­p6ï‡ÝÛÎô yÛLï?56÷q¯=!Y-¥ÃîÙDLLÆ'@AF¤[qàýpø~*Dœ- +˜»“ˆ?ãÜ“zÎ*ìÌÍ_Ëë—X!)ƒv×*éQšTþrZå3•n'ìúL0¹qD²D$z +1ŽQqùÕ +þ‹V¸Úh¼³j`Àÿ-N¿hc.QŸØѺŠUƼ}nê,80%_ÁE{6\:Sšžh?ÆóžóÕ;PL܃JÑÞ-ù[YEµqŸkˆµ5z°ÎP’—½ ´F=aœý&¸Ò‡W½>7lÆžHNËÁ[?s“¼†@×Y +ùÏ/û²³GЕÂ%œŽe÷Ü„Û ÿ)_¥‚ióÃðexÇÓÓiWžö)U΀ˆƒòi%Ý"ÕÚ·¸K‰ãƒ#(ÊÞ^¹jaå/sK;Ê–ýc™ûOÁ£ÁïýÈÞbî¢ #JÌm €+ÉC9-•=E“€ñ"²¥ˆ´æ8Ç[’šWšØÚÕ‹óm­ˆÎUþÛ¿wà-:v‰®Š ŸN™P†xÂn¶Pí¬½ýŸßuZmR (œ—‰4”"ÿ¸ÔanB½­ù!ƒŽí­v59ÏöºtÇNXÏlÂ@ËÕk×¥`‡‰}?±ÕBä/%”?a`m«éSÖÀ<>¨6u1¿g }|’+R™Aó`¾àûŠHtmFÍzß· +endstream endobj 361 0 obj<> endobj 362 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 363 0 obj<>stream +\Î_¢íüm¢C¤‡) “†"Ø,Åk'#¶lB&ŠTVÛ–"©UÚ›‹&”a´rÅÕÜZc3§Ê¡içj—ª5àG¬xy¨ïD0Îì•y¢¢|,:µ,»6쉯¹éÄXŒ¨S72iÂg¥FR-ß +ù×W”f³êϦ`œ[±&}¡7†{¤†í€-XÖ'‡Öß<Àr$Á´ŠŽ¢Á~þd_;ãètrAjHÃà8'uÕ×4¡ Ûÿk8~g6Ì?©ªèdÎ*Z¦@²™žš+Z‚†Ûƒ¡æª‰£„oÔJ*Ù0 øCüùK›­6†„/$ü׺»¹ôøÛ'n“ÕÒ;é B½*Ø­é)§¿¼O‹:讬PµÑœž£ëô6ÒýY‹sÁxbOsïó“ ƒ å_ª;{§‡ž6HÅùçR÷¾Â\…9Ãa¨ê‹|Iþ¢Ä|̫цVöFq¾Ã—è`h­„IVO«£âñ/ßÙe_¿îÑißð~4<`EIŽ m¦Þ R&Ô³AC×ÍîKÏ&†ƒÀøAÛÝ„½V<ϯ‹ü`/xoíRž‘=>ÇäÈ4nÐ&P‚ Ûd1j":šŸ×Wž“ôEeVùð@`ºË_r#ã¹ÍÂiŽ¤alíxKž ›ª;à#Ç/yžÚ³´²É ˤ0þO7oûïø¯ X‚ü 1ë«X<ŒÏ×`šÂǺi„ŒsS×c°+Б}ËÃä7>{ê–‰[ÁP¼£½õ™ét–(me—™’¯›J,nÀù{D cgIÁÔSRî…×/­?¶ßÿסÅo· ôB"ÇÐQBˆ3ðZJ?$ÁZî’Ë(é îÞœ]òOAšŒÊ´ç5í>‡OÄTòÖëÍ :‡èû#þ„Šyd&Öëà÷ÕJ¦šŒv•ßFaä¹âRy§â•d-$œ¿ä?ñ©•¡Ak¡k¢3•©€„ä{•4u‘ŠX·N±“îF;p¥Ê_P˜¸|Ø(e=»Ô§L€°_dý~åŠÞÅà=ŠV5³»:¤úß•€¢ºQù8 ºþ/[È¢à벡(y±`*š’A¿ €EÆ7 èÉ„ïRé¤ý;“œ«DðÒZ=õ¡‘o^Ji'òQÃáþŒB¾[Ö¤żbÐGS{A€*ÁÚn$'X…nŸñcÿ}B~<¨úÁÏRcìmÌiŽñÍÝhÞ¦x‰d$ö «¤ðÓ* Ú¹(Ę”T!u‰‚𛧈h¤®¼—wcëhSü)(rL·»áMl’> +²%¤©š¸LÌ©büÙñƒc™`|W&3 e·•†‹„£;ZÊ­Ùu¾øøg×\ΈEÆ4yP /‹“·ÜÙºîÞiÄ™l­X§(Tàã•Ý|ÃY¼œÙ1¥ž#æ8ßÎ¥H€«z~%P9+úú〪ŒÆu\§ ÚÃNØËÜÈã³]2ïT× “î'èÕ¨¸M +´ö%©¯áñˤͳ‚è_P°ŒÿérÐU­Cà«“ÓˆÜß¹OßPÖßc’|½œ±'蕈íI°Wõ˜ó&ˆSâ©\Ü•:@‚—[Û.3rH m3ùÁ„n–2Ü{Ì`ì4ÓÜhOMÄJj•êþéëà,usxk Æ4α'¬Cí~éšìÐ¥ ]iÿ«ÀHõƒùÓx¹1N/ÂæµxG=GJ´ª ¹ƒÖ•Œ­ß9WÖ-?f¦‚êFY:Yg_‘¾Pâ:­Ž†Ëð‡ê…ÜY<ͱ°FƒmÒy±®×ÈኌϘ5é¤Å°¦´W5%Œgšó6;ÊÐð³—®Ñbë½­ÔØÞžáŒÃ[ÿôïJ¨Vˆ*#(׃ÄT +5Ö’c×ûñº{ïrNzLX0ata¯2¨]:­Æ¨ù ¿×îíËá +6ˆ‹:Oþ%h¬Œi8뇩ð÷8ðmöç]wÎ(ô °[™´xXª¸­â¯é%tû¡ñ¨L,‡ûHë'cE"ý]Wäiyø‡Â§¢0F5lÀn•JŒX§6 fëÃoW1WÔš›ˆjõ¡xFÍ”Ê.þÒ‰ÜF= Ùmòe„…BÜ$£öŒWŸëÜÀ¤ôÝ»†k%µhã2!ÈÒýfê q‡í AJ ë2Õ¿°ôÿ1×Êýo¥øeRàÇÞ„S*Q´Gï+‡$¯Ù_ +Ñûâžú¿xѦ̄\‚»¤!¡ØŠGîÆ?Fþªg‘³áÑblw^ +|LU[Ó§—(¤ß±a©¢¾¤hcs *½ÞøŒz® X/C†½+è(GÈëcí)¦`Šz$ÚÚ‚&s¾B¬Íû¿’ÜFÛЩ1M¢ÕéfeE¬UÅIžĦ­Å?ÎÈ„–'Ø&˜§ß’Î0ŸßOeAýdãÿÆs6ŸU +É’”ë4P@™¥ž¢f=B‰Æ¹RX»qÓ'_ÚKOtmÂI-ÂoI_ÍL£ ˜¥[üRc<ïéjŸUŠóŽ¯u´HiÇcü:$µ´„þB{O!qò•Á­ËTz¸ä9ÚôJ@”‰&øíì"‚ÊaAâî45o¯CÓÑëøv"_lœ›OfÒÖqhiîòôZî>sÓßÅT¶d€Ãùšæ…ðŽõ‚"íÏZµ2桯‰ç +ãÅ‘¤‰h¥ÇõFÿ;¤°ÿsï¾e½˜öhÓJ&f¼ ']g %UŸ}?e‚PpûO­˜¹†LhI±¡ŸÌe „;@1Ä9˜‹>¿ç<-i쟓Zô½¦&ÏF(ð–vಮžÈ8g৉hà {ÍËë <òÊZq ¸g¹ýfªˆ×êH>¡¾¯©8½œC êÍñ¡ò¼f·ðƒ ¸BMÁˆIuË¢3Â$äúé‹yn®Ÿ­ü^´´±·@€$Ì,zÞOe ѲÔüi̯Q}m:Þl… b¤Ô»ü!,_ôH™¡Ö¸ò£bSº°éEkÙÎIÑ.NPAãPúßÁM#¾Q?û(?ÖÅ¿Øñ\ùô°,dh¸")½KŽÎÌ6QZñ¾sóø8ƒ 7ûb’kSbÉv"]ÄÕf((œÁ  Rµ<ƒÛjªûý‹™z¹=ÒtjZ ûG¹ÿ7×£eÿÐQè°Tõ ¨ +endstream endobj 364 0 obj<> endobj 365 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 366 0 obj<>stream +Л4µÊ³².[«ß39èKžÓá¢Ëú¡6 +?uHó5ós_,•·Œ–½hÇ;FÛŸ¥1¥:©æsdŠ#;rWÆ€û–¾´¼ ¨%Iiµ`[ÇI8Âz|ÂzõÈHÎÜJù`"FxýßyÝõûã&ãÍmI¶V¾W_˜Þý¿º_utHÁû`¥S3­$íô:`¦pËdGÙ 0è`8ûYÎ@>Ÿ8§© ‡ç7õ¡K”~èg'zŠàØûi—ü«ŒW&‹­ö£é2¤d ž»}Sm•M¸^£«õN„£Ä΀Îô¢¶žß=©Pñ‚tñÒS7³óPl‡Ì`$j$ºÐymÛ©Rô#®¢¹Ÿþï¬ämÕ§á¯=Ò]0u2[F>É5>uºÜv;¶ç8B4¨wÎþV äš 0}†JÏ%¾µëGˆŒ›Vø`oH?¿Wwëù…ù±±‹Ëèõªu ÎÖ¬·vÔÃ÷we”ö!ÒGÿ˜@Ãí0×íFlJ5c8ö€ØȇIÞ»õcŸÜz ÌÇœZ9ía_ýšˆ”¬ÆŠß}¤)¹jäKÞ_‘ÀãâËêÄT$ 6ª pQŒ¹m¿Ët¢ÎaXÖÐûÛ]o@»ZÀ9}º˜º/©ÚTR~jí…Ne+‹¤v)o•ð½a`œÚÝç$GÐD³R]`S ¦’ žÀ3ºñÈ$܆7YÞYã“ÞðÃiað¿µAÛz×lÙk–ÊÑßÓÀöùÞÍ8Í8Ĺ¼‰­Òm4$nW¥g« Ø1çt‡-Ô±c88jz~<ð–Ò}}ÏIðÜ +û"!N„3q\©å\Äa·ÑàÄrb…<²ÓeçÊ¿ H*;=‚0¹ÒÄdq¢úãË¢“í½dÆ…oΆ‹ Êà1­ +Ê[þ/×Eä]gT³ÍZùâ|“˜Ggåqü`¦Ù›Ÿ-Mj9´0™û0H,ê>ëó} UG|ï>‚­UïávñLaŒR–ˆ}ÞZ6ÉIr'3‰áý'PX´ÓóªAþíßh$3ô|î_O4¼&P°qq„çvír c"щHÿ»4PÝ÷Rò7}̼•Oñ7L_AÙÂÑ>C®H·å@KP' ÷Vü$¦˜(\˜”@ÄôÃÆ›…5 †¬˜ª`¿p·4]z*ÿAúÎÊG69ûÁX ‘‹3$ò‚jÇ)•b,H˜?åy¹ˆÏ­u{­ržº]\«6¯o&DÊÇ×lg˜ÅÞ2÷ +KpVH³OKùùT]èóQ”¢½ã¼„Éšéâ0ò¤\CÁN…}#$¹U\átY•¥=ìêßqP”÷ljeÚãwžå@Š™‰¡Ññ—‡ñ¦ôSæ#ì„ýä¼€ šjèG_0€¼áÄJHìd3m…ø©rǺŒ¸\Ê»¼’ðœœ])ͬµ˜Í‚†ŽÒ&~€Â¤ÜñÃÞê‡ÌœX:ë±RèµO|`aÈ’¿r9lìü›XùÑU\ +)[2QUü(hß.W…Óþ„Ç¥Ìû# öøú–2²¿ÖóajD¿H€”$ Lú9e†RÉ¿véÊ7(‰h8D y£nØÍÛ(B1G½ðÝ3?^\(ÖëÕ û'¾õu¥%”E oP7½5—­Ë5Ç2¼Ü5FêxÏ/Õbä…KŽ¸Z‚ ÿ‡¹Ê²v§V§«=H•Ì¬ÐŒÝ½ôðÍý@S6Ï1Ej+O¹äàaëÅ'@;µ{rÔµ|ùSQ»5F$¹ËÒƒ\—嵬Ój‰|òÕîÒ—£ü¢Ã”p +âã&™™’´ÛÝ“Oƒ‰‰G¨z‚¿uŠÿ³1é«Õ?ø—²~l9 6!@š†àÓñB¶Ôˆ#u~Pk€”á˜_LOSΟ`Ý.¯•3D‰Ežký§pµ_˜‹ÆªMôºÒ&NÅÉTÔYÏbèA&¹;P€ê±„'ñ2}Ÿ/R 7OÚUÍù*éµ=Å°šVæNѨûsßÈb`4CªÃ³¦1p«è–mŒ/:ì•y– +â©Fg‹qÙT;ÏÖa1föhÄ E¢> (ŸZýzu¶9ý(óÇœæI¤*ß £ÛðrgUv÷>‚xIrŒ>¹ÁÛx;§£ÆRlM…uãã#àÎF'=­9‡»f¢,¿t~i}c.7P3«× Œ·Q˜D1ÊL¡ükŧ¨ôÀ£^"ÓÇhÁ5rÞFÐNoôvî¬9eUIiŸ«W>èéhj±bQæ©C$׸ qb]•en¹5½¿a:§›Ü‚ ¨.»=§n½8Û6~$Ö„•%T`Çsoñ!1-¸ßôoôIÌ‹ËG\bæAjUiû[Ö"("5ÍyÏ·Pƒm7°Â‰Ã_NY}T]Œ%|}͈‹ó]~QÐó‰ïy÷5ÙðH¬®_Ì*Fï Ë +[»Ê‘6©ùˆœÂG;–ËMÝswjö@™¶bN‡z¹Q­ ð;‡·ª,È5¼Ld¥à32Å®‹¥9LÄáÁT¨hõy̱·¥/4 Ï®j$áXf…F¬ZËò Šå–Õì,_­?Š£Ú«²èz€é®+aH Þm-+4³ÈJb…íp®áÎ ·©z{é†+á/AÇ)Î +ûÛÝ?-$oÕà"XÈ÷MtÝ ‰G-Á1³Ë­ þ‘Л•ÂããòsSú…sn™¾ëßò¶ùùÈǧ¥MB;%EY9qšgáܺÍ 7™.ÝJÿ[†Ï£''PS–Ò«Êo;ŒA°#R³ßK«¡ }\ôHr&gÒÊ™ñ²¤Z(1Ù]5çkM›¿±jÖKYSv"T“›ÇRý éŒFÊւЮNÇŸ°Ü=–¥šƒ’½M3ˆ­K–„F|ë(<­vÙV߀û$o)JêQÒº{øF¯§P?+„ž¦M<ËÕ‚ï­úYÒ$‚Õ‘œÊs‚tðá2²‹Œ–gÒ÷7^'a%Ôlù¾ú˜Îê°Ò÷A@,¦+þíÂXòëåá~z;tçd!‚§’ßS·ˆ1‡Ñ2hF¹¹Èn 9ˆý¿ö`ê±)ø ó ýúdà÷TB"o¾°.† ¯õ„k¤ì I0¼†˜¦š¤>D ›•û[滼ò³43=LT4œŽRÏ,BI8_Ɔ›é甀Ëe“ˆŽ·òHþ ²5-JáPg’Gæ”ÈýiA¿ñrSöûç­Å`X³ç …OQàG•)ÿºÍ¥²¼Û0‚{ski÷[mX\ø‹a˜[ó`Z`û|-LßìëGÀ]Lõ´¨w¸oPÎøä.…q}‘~]ÓÏ*hczá–çIçöqÍ™«¢xË ''[¿”â¢`ý±öKièÉt¬†f"#øñÉäOÏ8mJùX{ŽÏMà +X­  ‚¯«?¦l–äšûú$Kû„ +özÎ Z±Fº‘¯ÎfÝ{©ê{DZRl»ÀÂÿ„߯ìo`ugª-QëB?) +J!è®{¯]½Yà±8X¾#É@™}ǬÇÅtÕBõ ±d6Ž H}{¾}†t%ŸÞ,VÒ¬´^®.PÁć( ¯!T|RÊxI·ÀÄåœ{2`à$­MȈ<`f$lï[k)MVD"©¨>QÛJÀMåRš‹œåQÉž’þ+Tô%Ò"äæÍöógËé :Ñ’¢]à|¹ÂŒ.scë¡ôçCb2-ŒÊcÂHˆî;#Å”1ùÄÒê'T;˜°„b26ó¢Ìu¯¾wïî¯Î…çöXvJã-û.'Žw­ˆÃRœÂWs7žX :㓾š\c{‹Ç g„uu0Ò’—}xo’Ú@–ÓEû¿ÇÂyM‘üšS´Kƒá…L€k}ŸS@yàžË@SsÁEÂóЄUË{ÒÍŠÄß²J0¬!|¤bÄZûåÏ ÚWã®ÆÕýŒ]¡ŸfmÊé©NQÖFõ³³¼º›”¸%Ö?q›†À¯!ÊÑÊcµDÊ•xÂO’ÊÊeŒí÷«.K +endstream endobj 367 0 obj<> endobj 368 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 369 0 obj<>stream +YŒ kèH³8š5€T_õ ÷.2Øÿ>{}‹µP žÏ¼›‹ª}Pf×ÎzÓN!‹ÜÞû­G1ÉoÂ>xþ˜³;½&^í[ {˜Ü#?iáµÈ0¬”ݸºäиš²èrmY`9—·$•.ïiA¦ß(ÓjSpwêQ¤æ¼Xƒ,Ø~¸Ë.jC{7ï•à˜oÀ4ÇfvïcÙŽ¶Š7<"„ˆàñ Me?&Çg‰šÝþƒÌ¢Œ›Y¼ã…椫Oäò -•Pº)Á#!£ä×I W=)ᯌú(D%ÿ=¤$½$/ò½ œÍw‘nõð0Ì‹§É}zÖeyÒ®3kª:ˆ¡MÔQ@û_ü +NUÊvSô¦ù‰×Þ9ñ¿çÆÖÈ=¨ŽHAJÉÊ ¯x¹—Ç¥Ô‰m+%—…4Å$½Sí¶*Ëþ:Òã[¡Ã#i +1g¯æ‚v¿Ž²ya2ÃìöX šä¡ž±· g¥¸§ Ø ²2qä½eËÓ1tZ5B-Y²c° ‘¹S¨£uMY“ŽfÖ¥¾Ïabú…ª—ÿû·¯Þ€í —=²÷E¬_ä'>ÃI6IéH žYÂâ\»È·Q}ÇìâFIXŽ'óËÀĽÅõE¡ÃO ÷‹›ÀKN^À"Ç2Pdãêí-Â!B¡ßD\f¾ì'lØ󪃉ñR^VúkæÓáÄY[ò§'Y""½Ç¨:iD¿ko7Jr þ¶Óí‹7n›š| fxIß{ZêìaÈ£Ãâaêº7 §G¯Lñyî±&q¿N[§YÊ—W~d7$ª#àšdB4Úoù–yöëï,—™¼qÇȇ'ÖHË»¶ÊÏ‘µ¯m |$ƒá "‚n&ÿÏ[EXâò9ánÁšÆòŶŸ.ÑÊÚÈ& L‡ ~ßâZ•Ó'3Nvͧ”€ºx âßi Fš‹m)rŸš˜WD’®Bé¸ÈeÐ#î1íøu-½6?èå7ÀÀ'~âT9ÐÑÛ\ ^ª qÍ-U˜)x‹wú™óü¢¯Uœ3±â"¡7]7ßQ¹¯ZëéÙ\‰~ãòWÞ5"Ü·'H˜š|•Å®òô×{ Y‰·xÔM7°L{BeÎܾ¡_‹ÆýÆ$üˆØÒ߈.|rüUýøïï½4uäÉù'nôû':Ö¾DµA¢Þ!bÎÂr}·äÇ€ÒråÒoyëí>/ +«©máQ×xòàëQ &šVÔ€´ŸÀõ~?Æ윗Å÷¿«WŽÑ3Ü{lK¼ŠFÁg³m”ïÒsã—GãÞß&%0;Ž4²ÝZ«àáÆŽý¥» &ÅïЖV =Mº>q r ì‰ßûŽžBt̆‰ 29G‰L~{áÜ*¼~TÏëšÁ%[ÜXÃǺ>2ƒ¡w,a$/_—ŒŸ:SÅ^3,Üœæ8<8_ýkÿhþÀùYÓìw{ú_ßîÛc[‚_ ¡-^ö õ°Cµ9½¬Œ- a|F¼± 9ö˜±¬þÔ€ŒûúÒµüJ…» "®Ê;]bSiý¦¦Í¨ï>ø轨7C3äâ\1ŒßV»²ÈÀ¦µïlê¥*K{˜:á»8t±âí= çûç×O¹•v PÕs$FýE’ßv•±Ež¬žØ>¦o:WL°CÁC”·¸“‘øä{‡SºÚbr'ïêCÒqíüqû}ðn÷Cœÿ.Œú2V¯§÷«§©‰ ¬A¨7S’¶CêbKµ|û‰nõžYm†.r]Ô£=¯¡k=«ÊÏ·g¬étL’§8µÖRÏG".=7î¥ä.Š¾Û)»gËiµað㢼eù%€ƒ,™äææÿÙXm†o¢YIQ6‡=ž[6òuGú)Π¤ú­ö.ÓзÔ›¯mCÇZÚÅR’[z84Ë~½™³=hú3¬w§ÑPÄ@ÁÌÁ˜—DŒR©©x]Ô+ +‚ƒšEµ*:É`e¢Úo<{¢@á"õðæí$®F(àײq“Ùc©AVc:RG ‚Âs ;Öó-ìšNvŸsy©‹â“ÐÁ³¾ 4Ù·hb=ÊÏ)¬R!ÐwŒ’cãmu,ëœò 7<ÛÏ*Hä­šN #eý)k8{×–/Þ9ÆfJé<‚Ú;)—ÐŽá ßš#w‚jù7½ªÎcØUu~Øq4‚›1šì;ÚM=Éo€æç’+û—ºˆú®SÏ£§»0Äÿ=;°Ëª€åEÂS»ö™ØHfv%ýš{Û tJÖÉžì¿äè{¯P"Ðî´Ù<¹j³ +àB’甀hƒ%˜1¡„44 ÐÒÀ²‘êoý"˼æÃEçP yÕLæÄÈþ¶ ÷ï4à>8Ы ¯G§e‰-Rˆ¿ +È©ÝiËx’"‚'Œž)=J`÷”žÕá8f)Çõ£s€§þŽZ|Gç•ÀDý`¸A° êHOÌ?„#r/hr*02àù$ÐO‰î¦T>RÄ_ãm·¹LΉô +"Øp¹ÅDq­­z«Äýƒ paEÓ-¶£µh^&â}Xú“í~x,<ÎjÛ²8ùn0ËcW§h¡^^ïâ!":ÖP[ÌrºY‰ar\²zA|¹‰Æ@5It ©+U¢_d‚¨’ª=׉Bs»‡^ÚSàMCÏmŒé0ÖãI %óà +dn—ú¸•Q® ù‹c̬£•Œ6Žéø/«±;°}r0h ¨Øª‚g#ƒüÎUxue­ «Ü½Ž‘³âðé—êxîïìºÁ…®:Òƒ%W?ÄjTN‘dܼ[éžm†§±Ek]}C.«¤cÿ¢ë°™„ßY2‚®êç½ ±ýȯµl>—^áý­&„eh~p0CÄRå\¸Ì;W5)Ý•›dT%s¡ ³G2¸™øC1´ÍL'ö1øõ¨«NÕ²? H"Foa¤áð!ß·½W?µ$¡»äH¸ªŸkñŒ SÞF|“Šÿ¸˜¸-I+¸,u;%97^À9Öw:ðÝXq¡b0\¥Pñ!lO´¬ð'ýÂL²¬÷³Yð&Q9(ä½8÷ xÊ÷š€T“¸)ÑiÑ·¿:í¦+1™ {–Ö멧Ä·°†8»K@B¡Wq¤6ÐæEH:~Cûj° Âý£SQPà Ü3íQ®: ç‡b2\ÄÌJ=ŽJçÁg;‰%=N¹G6”BÔ“Fe3Ã!ÓH_ N”¢×êã}œÄ6U yÌ*µ-ø¤Y½‡¨×2ÖÓáìŽÈYï4•êÓÏ…°+ßÞüéÆørÚ;¤áºj8g³Wt¾#N³­9úÉo=¯›·¨µ9¦$éÿZ“Ã0âÇ–ÏÊ‚‘_s;(m6ãDlAå©|ôÙ<Ï8U‰EJ¬šŽ̶g±GFë¬1[[ŸÂqä5Tç?ÓêÕÌ#mècȲ­.×Übøq¢A¨Õ?¸éZ­ú·‚ôyï›CC¥(Š)Ø‘„4:È)ÀÝÏÃ?ÃAeL#®òÔ¸Ò.‹rkdÙ [wn,H|‹Xm9óš,œç?i#hŒpî̹tØñظ£ñ“¢z¥\د+ÑÃf:§p­e*ÒZGÑÿ„ÓêPIÞvËCø‰:‡áÈr߈Fñi‹…ù?M¤US«†©~#íTÏ7»Þùùä— WÓdûkzÚ ç{vÿü5ñœ4ò†Ó¥27¶„ɬ²Ùí5ä#8R9ð~r˜ø#_;¤ŒšBóògë¥{Jgƒè:rÖ®¢à·ˆÐšjuYV;1›5»ž×å¼´Å>ý€=kÚmW®¨–P}Dhd“µ‡Få‡HRñl~*Ö`ÂN!ë0û +endstream endobj 370 0 obj<> endobj 371 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 372 0 obj<>stream +°}`Ögì7RºU£Ö‰PzÞ?t£Js WAHaŠÛãŸH0#aé\mCr@nª&÷.Ær°O0?Ø ×'È>Å (ÖVç±½$õqàŒ¶õ¹ýFPå8=k£Wì]ù[M×µ”gVˆUBw´! x¨‚:E*×–Îäõ«ß)pÖ0ˆkò¨GÛEJf•-,ÇÚqp¾~ÞîdÚ¹ÍÀÑ4àrÑ´92BÕ—Ö¥"¡´‘´8°‚L›ôï¿#Ü/–:†_†JÖ«KU£ž·hëßr®ÆØÅ?>áKV¡˜£½~׊0 ⨌CpªóÏ^qßÁÁvzyÚô’¬ MÁÊ~‹çVˆ·úìøÞh–ÚÖ.bÊÿ°Q¤,DAÚ/ˆ E–ÄõÀÒ¢¨¡ÖºŽžœÉ DÒÕüAtÛ#ó'pøbÚ ŸšP …ñœ¼ç(Ø…›ÅW“»DWÏÌÀ™ÍIt÷§¯KòD4ष•þ—6@¹–u9_Iˆ¹p)Ñ@]¦øh±“ŸÀqv—Ë2 ³I¹â¬ÊÆÏA£(‘³w› 2^/´*¨ Ôž <)êÔà¸îÍx=–¿…£nbë~p˜v´Ø*êœ;uÕðÎíÿ=j2–(Ý´9aq4¦ZSÏ'/'¶ª! N¼6†)¾R~}>lÆ9$G~}8ÊŒ„¤™¡n÷åë‹Õ%»kœ“Ì> &%pbv'¾Ç±‰½˜Ÿ\…Pª¼=?tèUƒ¢&“`›µð–’Ÿ¨•–½Ü ¾6ä™õ·(†±~«ZOY¼íxlÇuÇu54²fÖéN© +¿• ½óB1 ˆ´ß4¡p„;¡þóX«q–3Š£ÍíX]{¡…9Úâ4I +(£a\Z³¸§S-×2?ç7~}¦ÙRI™!P‚º­@­S+ á­6?ÉÛvR:ÔäGõ*ë+¬%[ÒX`É;±9ŠyD“õZøéüS/Ÿ§ÿâ<`oÅ­Èô©W‹V<œ+Ùá«–ãzBÈÛ-†ÂÊnj7¾6¬/Ä—il/‹Š@Íq†S×!²WÎnÆWË° ñ{œôçã¹..¡Ð xX@þ­_Uýj¿ãX²’Q†(’j»WÑ{…²µû­6‹ÁªY"™ã©Þј·½}ùçWyų!ÊXIÂÝ.§ÏØ’}ä¦Û“œŒq>Ö!H(ÝDË/~·cVìB‡,›Ï„½‚N™+†mÔ§ÆÛR¯ÃlÇ^­OCÎÒp‡“¡öó+VñJŸ÷5°³¦Ã<†Cî%öj4:=`• fá¯#,oòž© ø&@èaþ$Ê ñö:È€Jh¢ò.Eæ[]z²ÆZh7ßFË ò€¸‹®€”ÚÝb.œ âØ4%ÂÒ˜éú{wZºÑrV<ÿ(Šõóu)#ü ø&ÊÍx*¼ÃÂÒ«Qpë˨´J+3Ò>g¥ÒÁ§”Z'³b€uO¨Fu³[}š!P­¨» ‹ï¢ pC!ÊT΢¾’(’i½ˆ–4¬7ú°¹Z¹Ø¬öb0Uýy Ô6ƒDuˆÑ‘a&ùº€eÒgŠö£ZÇúÛ-ÖûÏbà¯Ä¨åIda«›6G›=ìªP]e‘N¼-±X9ún°FùÙTÒ|™ÿL¡:3ç\ ]b@ ÄÊ¢6–W² •13P麨¯åž{1S³Iì–Ç`/ÛpT¸´B >ÉæÞU¡gü”#Uÿ995£÷`§A¾%§âQælì9zó§?—;,;6GcÖŸàÍß’Í×(b±ïÊI³X~,C1¡¡ø{Vt —ÿ6ñ…KŽzƒ¡pà?Ǧ1Ëm c‹0]²iM#ö•¾Èçs=]Ø’Pÿc¹¬fr;²M¿Z"‘—ƒPÈ6ýÙjé·Ù(â`¾[lüCE±áZª¼çÒoâã*r¿x£\n곿nJ«™ -ãº/“ýQüU;Í&a”þØÛ\µiû0¼¯z»G øel'eh³cÿ¹`ðb[n*§só™5ðÖp 9ƒ­Ÿ»€nÅÇ°@2.z Ü¢ŠVèüdi, +!UDZÓœ|4Ê.hÄlÙ¦¨ÍEÙÚj†z6Ô H–±‚Ùèä?´VB”“•)×8_«¾|¾ì0ƒ/Po-ŒÃT[X×®ÜÓÅ8Úan”’)¡Þ±i¿ á®ÛÌqýÖ«¦úÃ;Þ"쳩©Ú^ IS``õ™9¹}‡Cb!Ÿ"Jš»NÃQ[ÅoÑU‹üü +Êñf~Yñ´¿¢UP9?½¡â›ÊA†š±Ö’E©-¹õ,37U¤©zž„œèˆàŠHEH|„0[>žÎ–pŹԟôúêHZxaŽ®¤#7wsDîùL_ÉxU*ˤ"ñÝ­—©R̼Bt­ß;.Š©:–6–‡9?z&W#Øèþ÷&M'ÅO}÷¤ŠÀ$x»gNN1¦Êóî6Øg™<Þ·tÑ6’#hq[§J?»kÆÔI›ìßnŸ—óxɱÜòg±r(†˜eây™ ÁT4âbÆž±sŽ ­Õ ì h”t,y]Eû_óCçåPvÈ%‘ÆcÎÞN“÷ãùwúè–Z׉¨Øß•´T8œlâ)(´œ8%™ñâ u/«‡°çFJ_ñBåUOc—ü{X–Fû4õœmCÖ½þ¯ùçÂçr2Ÿ' +_cêw)=²|g¼h€5Vý/æšg¿?w½4Í€ÃÚM $$êçŸ5Ñù%äŸæ¯9Ç t YâKž‚Ì´D4F0>”I™'&kŸ'½Ülfyø`1Ð=Š³´˜ù[âεÔNÃÒ%|μŽKúdGéù¼¦D©½¤U2¢êíÒLypvù­ÙfÞÿÍEmQø¬ø¨àà[˃è¦N&dþ}Ç‹ëDŽ䆎uzG¯•ŒÊÖ•†ŒL§äùkW ŽÎFa}!êdÇ Árm÷$îTñ˜]ª…EiÈ(ÐÅ“Èm¯‡ý_ÛÛ뻹;Ž´{ïí–¾ErB™T}âð`eë×-°î{ìýߊã ÛüA§ëìýö¿ÀäUÖ›øF^KH”Ýý}gî0®gs€ZRïÈÞ¸ã3ã F©$òÒ:¤g5f~îè¢}Z…Ý øùùÂÜ>Ñ©|mÆJ,ƒ_'ia<çÓtÍc4×>Iatz2ôÓfÒúó«2é!´Èk¼,ªÓ'Ôó‚0Þâc\c’õ¶ù‚â0 + +ƒu W¸pײ?OEócÔ?®Ôû¸[z¸ñ«yÑÄZ·¨úÞXrqyÝõ–‘}Ž0Åsø™~q‘äSÎ$™>2ñ@öÕÙó’§ð÷ªF¡½¿Zgùoú‘KÐp¢^YðxcH +·Åw‚!ØÝÑb<—/žVnút»%Š¯? +ÁGÔ¶zmÆw¥¦øµ;¤D¹öC9t˶»˜¡I7± ŽXaDr/ÀŽ66íIJqqVòRɨ'§O,.Ÿ­N?QÞâ%@Ÿ_ÌŒµAºáqœË½MR@Àqa?‘hÏéÔ"ôö¾>šºhp =ø€î–5ÂÕž"Zñ-P;}láÄÝ +Çj”»Ä¿ÂÊ|K@F§&:/Ê¡áa±¬;tbI4Ð$¹žŸïnŒ>›¤QJŒ£EJÊÒ­©6•xpqµÏ\ã°iYëºÂš«¸6dë«M_²–aIJ‰ +CNºÁ:NOñ.äÇ>±®¨ÜÅù–¡æÃ#¤´|ÐbÕ€ç‡çÈ€ýRŠÛ=l&iʳ-üõ('¾Ô±¯Ô<ý’3(¬ ýÎ<(¨>Éæa1Ñ­ñ" ±¥S +{æ°£ã[Z§¤}î›(¨ô¾à­Zn(“_]¼ë+HâË…“™_S²—úÖÅ·8 ýÄN9Š‰¥Tý½8²86O­•ÅúŽya¾ìá>ÂxÇoc»ÉcI½h ä»Í‰ëQpBÐ;‡@ºôšŽ‹c·åG.I*‘¥~³*êùy olˆûóÿd·§™  "¤Äz æ­k2’¯ƒlÓO”zwpåW_Úȃ¿!•ß­ú4TfL¹ Å•õçqt/j{ß^'pN^+2Y˜·/¾Sf‰•qÀ}‰0ôö +6o*14‰OöhÛœPqÓá>‘(J-kqóÔe?’¼G-êÑ0d«3PjÇ·Ÿ|\—îà¾qøK:'èl«º uk±—«V—À¿#NµgAÛeÛÎkªŒß‘HôД@ÿZšGÜÉ%ÖÛ#úÏOKrìnOŸð˜£Sèxkd¹r)Ãy»ƒc3k_ó˜j À6¶Wá"•»%nzf Óêåâs6X÷2¬,µ4¾Õ½öá&ÂΦšÒA4WÈßȨ8ªå~ûUk¿oµ{]Àõ¯»£‘ëÉ mqˆ·¹ýéÃõK~ø›j¹­Ëzym_ö‰K¯;E§dÏYÅœâã“ç×ÂO9‚¶PP%*e@#Œ±7ç~Æ«Gµß—w›&7‘)ÔZ4äËaUlG¼¡ý­'åf`1ië$[ +QÓÓ&ó$ã‹ËÜÓ™N“ëö6툛Q±Æ?¶ó!YÃ4—káS¶`í+- OÃNÎ$d¤Ëª IqÌf€7¼Ûu¨2ªâs]hgÝ×p¸©¤¯òøg”yêQ¿?âÚî8ô)¡â€_'4@|3EAHuBaM;¾5*8˜¸¥UIº‡`•ßa(3ƆÅȱï½@kL³ì„ÞÐcü†äEô͘wz´ÆŸ(æX0þ—4/¹Òâú>L×;žPnvxG+ê±3XÐAÊ#Â!ã´ƒ=R°5’78uÉ)*© |ì\WeJ±ð(V˜ZiǸ +>NV«ÞVõÕ®ã6¬#]‰‘Y?xÖ„`|  Ã"Øa²¿‡ô Swš",Xa±* ôdþ±4;§5cJ9USòÁäo‚E>­6—í¾…4Å—ô¾ÖMä\Orôr­ãœ`´ê‘?‰ÿ#¿¤RF¦#4tϺŒHê‡'ºûãá#¥fÕ‹”óÀ†ãE¬ÿMКWðÌ©Þk·ÒË‚Þç9_RŸ®`r–+,†Í¼¨Ò;<ç\¥êp'¢Æ>îNöÏÜùéÛ?Ô['ƒÁx÷MÜ&*giBs­Y^ˆ$—'¤ #Ãàõ'\T³…€æ@,µ÷ •cµÑdÐ`s<˜9mèmðep +í]Öô~jÍ‚^ê”ðá!^ X-–svÿÃr¡YäœM³¤ %<³çwÙm§ƒ¯ì!èZéhâÜ<1#¹ÊµÿŠ„¢ëQøSö'‹·-!˜aBÄ.‹øG 9ŠÕ¬ok¢äŠ£ùY Sß-ç ÏsÜŽ¾ÖÆæ{Åb vÅ •;iâseb·{%[6öÑÀþ@þ3C cæð<%©¬ÿ(¾p5Zð~”»xòDºGš,Üä„ëñ\BuÐÔÂЪ¥Z'\ªšÿ¤` õõ³÷«ëŽc +£rßÔá5MSBÓ›W;‰ðy«4ÙµÛÄÁ~¢WˆÙï»N¤’0K:¨èGy[·`mkQ$7¢ aF’Eˆ–5‹?:ò3žëþi³Å6ÌrZuåsêÖzâ5ÈŒŠV©rtÁäCŠuØbës<Ž,žž ìLGÜÚ÷ž¬Ø<„oßÊX%Õñè ÐÎ `ŠŠmWü|–mIAw…±Ññ?¯½ÕÃU2Ôð˜©ðÀ;Ôm6:ôJrrð—všâ."h´ç$Ø¥‘.(„ºìO¾{Á£à…’åW¸Ä)ÐêßfDh&:ä~dq$}Ëi`æí=êôÓF +endstream endobj 373 0 obj<> endobj 374 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 375 0 obj<>stream +Ÿ”I(ŸÐÆ€ +ÎóaÊcbPm#–v.×Îá[²•Ex—dD­Ë0Àò¦¢rw¡ÂØå S½:|º"f‘<{¹˜èåà¬ý~÷vÅ{lÐÝZÏw øË­ZHwŠ›kˆ¶µGà}E€Ø27SÓÀI·”{Àᆆ³yÄKùÀÛ– Æp}ûŸ†lM$™»LÙooÜz•{%t¦P?Ý~/NÄ ²Å½×p{n7ÊC^U¿CSµ( ‹#[Y)ck®ð˜í_*ÐÞáæTsçô³'ø[ßc㛺ˆk0wÝjeú¤`gM,\^OÁwV꧔ ŸX”?×,ñÕ¦üºÖçg0ãƬ6ÇŽ9wŸ‡'É‘€z._õÏ»º@*“(…Ò8ÁÝž¹ÿ{g1yÓLuíö›´ÃÚCp8²¦Q´cÂÄ=íÌoæ÷j­–boð¼Î£‹êj6|¦ ++ñ-œÇ=¯ Tá‚ßewã5mX ;h;Z$fÑ}*]kiOò†O¢ÝÉý’ÌeÜô„¨>`s¹4]ç~OËgÞÐx;}$Åp³lĺ~üÇJîªsø´Ûæ²ÎZ(d çü‰ ÃÝZÚ¿i]DSŒïé¸ÏNWz,Æ«FpQ†9âÿœZïmaD9~¥Ì¥þzbé “­€á[ÉÆ4q Ð ¤). )\Å‹Â%ÂYçVŒ÷ªa&Þy\ÖVáýô %ÔsÒ¥.†_Ðìƒm|ˆ«)µT_^ßõ†­¼Õ¬2‰PvÁ N³·ýYE›ñÌÜ3ºy DbúÄY‚<· +LÆ/ÓŒx6÷_­)–U¥àQ®~À»uw¶³à­Ñ!¤Ör§ÂpnP[³ ºê)‡ò"@8^^àðJ™_‘‚¹ӣj®`È %ds²ƒG™n'½:)°1åéEsáþ²œ‹…™²©Úì9†¸‘AR¤¾ëjk­i’ú¯á¤‘tðï±:ÐØ ãjX +¼ˆÚ §×s?–unüM)nºÃxIêÂÅh,¤%ÇmÎy6d¿˜Í¸sý$©/èÂÊŠðÁ‚Kš9~â~vÒ¬uÞÐ +ð„lÆ÷|9ÀËÜЊÅ&ëI½‡¸jQ×·ÏÌ^‰©PÓ_EÜý.Ñï¶-%ÓîZY’7LèÚ Ó¸ìP‹fiëÚðû˜¨ÿšÜÕÖ¶cP{žÏŠú¸kÀ©WµGǾ0ëQ™¥¦|eÇBó³m»â7 9'`Fç5ÒrÜ›A])oACcLàÂ;Måâ Ûrp å @i¾Øõ²Qóüy|Øq×B¹°6‰lSZ¸yð +ô¸…³d;=Ñ ¬Ã­€‚r/ycÆÇãvcx¨^{}Qļɘ&P˜%}É_ÑàKÎ×nùòöc‹ãÅX7Xĉ‚ª¦z,F¿tºJO^wl pþË£«‚v—ŒljÐý›‰I é!D¬[ã”Ïz‰` ìzôx½tCdõxÁ>‹>7Z$>[dI:s·-šmv"M”b g8ñWm·ÓuC> endobj 377 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 378 0 obj<>stream +ÌaÕµFT‹/”I•uïúÿÝÍE†u'—O¹†È#‡Ue¯FXMÈ”²³¼¨Ú." ú èÁµ`ƒ –HilÕ1õ³zUcþø’dlz ‡@:­®Mn¼©2=[í3Ó)ã÷ŸìO +±‹øntìhµ•Ñ}2~ê²ñ3;rÈn|·ÌÛÇUDT©¿4Ú$~oò4@LèßYÆw4táRcÏ7(UU¦3ž,Å=_Ô–(é=”À¬¯ãðeÓk7WõæBÌý·(=8Åv’0ÝõÔŠjW\ÌÇïðƒò Žà´]ÑŽÖ­ò_G$øÃüÙû4OÈü±7áÆÅVgª:c±÷^B¸@à²Ý=ûUض¨Âg¬Òhð‹Æ×›$T™ ÙùbG/žÌ;ëÓß•ÉxPdDÉôd}„áñêé “`œ»R>2Q¨h[«N–¡7&Ä-P™®–1è÷é«Ãôj–‘/bÓ2ã'Bº¥¬+(]¨hNE›@µ ¡êÖ˃ä¯ðOON&=Žt ›gÞÅW˜C€œ³N3Ú©‘2_N‘àÇ$rX·¼vOz¨† ¸åâ_ð $;Ê]c‚ôrúŠø¿O5ÚÕÝ„xKÑɲô†Ûhu£:a‰½Zêåº* 3n†è©Ú8«ñpdÑ»´ß¸¦ˆäæ…ÞF4ÃÝ:T­!& +g!0à€«dö½£ß'¥^Àyåa.˜ÿè(œå¥‰î96û[k.h !Ùn³¦†¥l†Aà>q²1Ý/”ˆ÷êIF2äæªJÂ)ÙÜꚘBü]ê;•+Àš£ÿ%ádãµ5Õª3w:ӗݲû^€úb@“_*ßZÃRPwêð‰JnЧl]ª"¦t²GKƒjyC†9»‰Ze»†ô*0ì.+”¶u8 ÄŒú +bÀ{ˆI•U‰ÚËŒ=S­©÷ägd·(ù@žÁìÈVPùÄBE.x$‡V=âe0Ô s:•W·Åmæ6­:ˆ…ÒBœ˜NêÖfhæ;„¡CÅ*GÇq?pÉ{í§¨c£Õø‹õt³´–Ϧô[†ær%ü=Dõ0µÐ cÔ{çÚ}Æ^Þ[çóNç´vZ»«ü»¿é. ¢I<îô$dï”ò6ÇpkCÖïï×*ù5àU®õ¨5ácŠðãŸ9ˆRØZª¤Z>ý€“/­û©,^YV$˜Æ°¢ù´çëZ¨ÿ)Dq¹ Nû«™¯yî^Ø^í=6'öË@rλ?ÿÚyg¡Hg_BüŽˆ²ŠËTGûúD9ÙÔ™îØcÔ/£¢¹Qs é>gÖÎ*Iö1¨ZõÃ=¼Õ€WÍ .~úÃüäÙ‰Ÿ”;¡£ämf–qa&«ñs7–ñº¯øÙ‡‹à¤h4ò%uO5f*Z’*0òÑ *ŒÇÕéQ÷z ¦š:ñ¶J’¤ß_mq­ÜVz³ï7aäj†F-4R»C¶¾xÁÃtØòÙ·Y@äë›"†w4Bµ³¥·ÖåÂóy¼µÔǧ߆|ÍL$em-û¯ì2ë„Ë2ºì/ÉQu£†·ªZ¬XøÏxži0ÿ“¦ž›6ÏŽÀ°v¢÷RttO$ö¾b·Ì˜ +g㥗oçG¹Âê¿K’GwvÎ<|y±jŠL¯ˆÙŒÀsùEÙû+¯k]Ý ^qÛ¯p ß·->ÔÔÐV\!@6í’ÿìg+c{t¡÷¨}iVá€rÌÃý\›'åËÜšŒÌÕ†”Ñ»‚<20œ0B+¢(NÏ4 ò´ÐPÛ¾«¼„HÄX¼‹µôÛ8tÕ.=Qúö±XµLy=ƒ\½›:÷¥Hh2s3y¯1òÔ­Ú~iÊÉa'80ú„°ØºEè}ß>ëöÙ;ìMúç *˜ ¤h."—ôX–/´Ê®^jàƒ ]Ç>$åž”W^HL?¶.—(‚$Ëy ÇWåÆLx%Çb3 $­$¢w½$01ÝALv‚VúÙÎz Îbt&§Á\j ^&vO-øn4…/f·¸<@>šÖKj~Óí=j +©¶›¨T{³;>5qù} 6¨€yŒ4\'ÐïxS™E¹t戧%­ê¼–Àqª·)54v9HÌì7ðÉ—|„Ø(I¿{-W×æÄTÀáë8 j(×»‹‡ú^óyéi¨ï½e”YùLzŽK9aøuŽpŸhô!Êï=rZÀŠ=wà¨Q)f±ø˜¡ +¯öTÖ‘Ú¬4hwfÿù©R!¶Ì¬Åb(UͯÌU‡¡œßH[ eF³Ø>3›À‹Ý…T3ô‚úõ¯{¤ƒ†™»ÍG"Ý_ŒËIØté1{¢7Ë £ºO½7Óüü²†È‡9܉qv¨¨JÄú#?“ØtSŠ2tåD(Áh]ÙcsÏÐÜ¢m²EÅ÷ÒP, ˆ7¶Gø‡a)¿j>8Dn=ÈÎÞ "mj,Oñnˆ}Ž¶¹CñEÍX§ÈáÒ«ýš$šÙ0˜‘ãP]`AÕãñßO°¸a›€ä¶Ó[·}êî¸V%6}rÍ!a¾. +hÃÜ€0Îæ"á +endstream endobj 379 0 obj<> endobj 380 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 381 0 obj<>stream +ÇSkNõ†Cÿ÷ËÍMËÒXÝ=ILf`DÄ‘ó þ­oHuŠÒœWåçRKžù%@6ñ í9øp“mhö^,^|óí­\Në ï¥Ô +» +bñ^ä“q“t\P?þñH\T%:jušœl 'r +FéÞ~ûEdõa7°×@1]Í“òxðƒ½géøŸ÷Îc«[i-ÐB’àdŽÎ `%úáVC~ü¬&ÇïY¬ °´ôÓ0…fQoª1TÉEÆçØ.¯ÿëãÐYÜ +–¨1³ÄŽSØ*èµMJ+Æí5Þ~zþ/òÉ–b͹éûÀ_˜£…™%m•ê|—Vþ’EÅe7}Î@ñ]JÚp`U™g9bö¿‹6ŒËÒ…ƒoá~WØ¡²÷îß©¤¨áš¯!L±[®Ð’Ó9M’ÐfHqÑOS„,WùVøö3ŠNñáòùÿmÀÎ.òìåý=¡ýºûTöI’À™€Šr-ÔŽÓ“ zÃØW¡^…ó¡be£Ó~N!Ò'Qð—Ø+‡8ñµ¹Þ€\–³w¥ªp¢á`ïê*í²f–ü|°?`»™Â+×å‚!ûçv{‰Òø5>£Y⣋ØÝè$`ÿÂ{@ƒ`õ–’=(¤%!¥=<Ô”Mm'ù€Ž(Y¨óŒ3ItTàøJzu ÞÄļÍ:÷½Gq!'±í0´;—ÜèyIß7¡^ª–ï¨PÿNb +ç꿇z§ŽÏÆ¥q°˜½>Í«‘Þ|Ô_üܨþ1) JÆ`KÊËœK»k4….æûWF•Sa”ïÌ%N&ÛœÎ-!×OÍ€‹¶õ-‡ê{NÙ–j=¶Â¹k‡¦ý-p»{=h>ø +qa+—‰ù'¢^ÊI›Œ;v Y `" kzž ÛÕ_RÎ!9žœ(ÓJ‰k”D"ãv6[…‰þ8a‹1áoýY`3èZCà^BâØOO¦=‰[iðúƼ:’߬ôMå@ðE×"¶,-³hÏk\h´lrtâLDÍäj}pºG<ÚØOµp$ÎÈòÈÅ:G’Ä…Âà1®Pã†ËìPÆltQ÷bæì™Î<óW1B;}¢sO7ÿoHņ^²Ä% 9ßÑ<¤À"Þü™ˆq_ îß|¡<5mI¶ßĽæncåð¦8ÀY'™*}Aíç”übð• ¡à²!Ê2î‚o&6Ÿ[Æ—X6BðDµB1È üÕé_ô*óQ,äU¹-ªÈíÌ?@ÿ³ïª÷+bœ¯ ‰#Q^rgÏšõäÎ$çC2÷|ô5—µ¬ôµ®M¡»ïªˆ™1H~9œy‰è•²¢7 +·œí´ HW]¯ð2)‡ÒßMÝhÀ©iG„G +¾VÇ$ÏU-†æf½omäž° [=›À 2éM‹ EcžûP’ N€5Û«×Fìo«[SSiy`ÉLÈ{ñ“mé‘ÔýppÃM¢ÒÈ †6‹{7+=Iny•ÂR}X¬¨¸ i‰ +ƒ$!¯.(¥@5ÈUy54U”|{ÀMýôjmø˜»ªNwòΛ¸B˜þ (–E´A4/È´,÷'Úù¢r(’£æªŽúzxùÚPÃSaœê±› K_þ†²£1v"¯hÔè"Ifî]Ê£LŒ"AQ‡²lc)âßjŠkÎk )¿ÝÑuÅT#x>¨/íŒ>¬¶y̶œÿ‹tš)kˆ„acǹÂy–u.n‡wM’æ­ ¡™P#üW^æ³ðÍzóýíÓÀçÈ ™–cƒW2Q„¨VªiåWŠèÕ&Ž6§õ–ÀhÇ"ÅMyòcó|ênÝ‘Šx„± 6Éù˶n'®s4Ïïícz¼ +Õ…t¢ú‹{©zª/^*Ï=£õ›¯(Ø:ü(ŠËÃÞÁ@eüÖ:ÑOŠÊ,û‡SÕ¢14›oñhVaå‹Ã%ƒ„í)HØtÕpä¡Áæ\”T:,ŒƒÅE¹zù:¡œ©W¶´Þ„§&”è·¸2'-$TÑv’ƒï à +!ú’b™çMõ7ÞH€v=™cµÕZ^fÈÖçËV­=£Ò™ \n÷ÔñÔj oV±Å“ƒD@/W½Ñ/Ds*´ÏlÇ8‡áòÊã²6³:ï wd‚¯îs…`2‘™5èÕ¦7ßP‘qå ˆ¡bÚˆTðåöE iùSûÊEîLÀi.ƒ—ørɘ{€«¥t@c›.ÓÎñy(íÝ™Š©‰¼Q†ë%8Ý kŘ¢˜ããàÔ§< ðåÍÈZ$¬k[민¼£%²HbûÇn¿€÷#Y®î²ú€HW(îÈ:´ìâa +&0Q®J#Ï“šgÝ+X‰(ŽÑä mΟÞV^ú¨Dcƒ”YðéÝá¡Þ?EoSð>’‹‡â¸*¬ÛÉ «è ö'n•Å%õ€(Ÿ®ºJRW‡Wk]f £NøâkšÚãü ¨sY|¬¢c Ì„}8s‘ß7“¯ü!\&äcÁé‹Nõñ²˜ *,Ià/ÐèÅ´4§-¢Õ©1ÝÆß•šÆòI–t:­Ìx˜£1•tÝÃËBÝj(ØíÁï$¥›N“ßã[6ÝöLh—a·ñ»¸@ÔÒË¢Í%sõSi2Ó‡¢Ï%CDe{ŽFÐØþS}›Zµr-1 ‰s¯"óû–²ìløÒé±~¢~¶TI”[ų~ÄlŽ'¦Ìè õÈk‰ˆÍ²EÕ›ŸTÛ| +endstream endobj 382 0 obj<> endobj 383 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 384 0 obj<>stream +GT&â!¨ÅýßÈ«‡ý¿Ô®5ʯ'8óäSŠß/ÌüW]¹·\Žß`ÝŸøÅ¢¤Á#!”Ó žÉ>“’@˜· +ŽÖoÓ2Ú?jyŠ£ÊF>'Oh<~2⌉|‚‘Rò˜ÔájºËš¥@Ç_˜™¡éJ,–M]”fu¶•‡Roªs §U7ËÃ'¬Ô<üF ÂC)ëÜ:D°ßD,d•ðývÇ $ùZìhgK¶Ô1ÑœêÑý5­ðäù›QÅØ`øS +̽F„íÒŸ@&µ¥º¼ì³ßQ §^>åcTF$™¡OúàÖþ·´Å!iõ}u6T±@Ïjv@Ò7Cÿs$ÞHª@Å!¥ â“mUqϪUšöøÛ |Ž ;e¹ßûÐ-ÚGÌÜÞ%óËÌSâJó(Mlº ¥¡ú:F¨Áˆp¹ Èç¿Äº +y]£Ôµ–~¨•ru¼jË3¸ÅÍò±Ï†`’œ"[.c³š¾ó87_eM,dy—Ñ:mßÓ_{)wã\vCÐ3že£ì½ööŽŠ®`r—$y]ùžÊ0©!^u­Fä€zÀŒ?ªûHsØ\4õp~¶ ®wƒB`5o0IKÆRÞ¨7u 1x.uíW“ŠPs,©,vižc,9 +Õ6ÎøŽ\¦õPcTV–8V+WGGÙµ[¨?ì!Ó«QVù)ÕKB–. +N*¡‡;ØEh7D±c2}ð­¸j÷5ó¸Bn¸—de¥¡¼¼³#ïlšmáä’„¯Øâa(„—ADaOÚ…¢Ò¸u= + ‘-õ„¬ìº‚«PEìú7pHà%8fsüØÁüå€ Éɪ«¹¹Yß±ù׶!9`ñÓ»Ô<ƒ0˜P)ʳBÐ A«¢"Õ±~ÏaÃ;K4YŠi ˜"?LäØ48a-ã?Wž¥¼MF€Ñ)ˆÿ¬¦ Îêo•_§Ø FÓúje,Ó-–[§ÒÐOú£·X’\q JXL¬óÑtþ~¤¤Ì…¾¸«lÏóºÔöר;æÉ5ÉHǧ­ L®µ*úâþ>/!ëCuc?hÜ`Ã…‘uD ÛLO®l»×jÅ.Ã,öÅ´Ý6‰VÛ¡ù[ÙCä’6ì¢`ÉÁjŠ5-vBh»k6™‚•‹ˆT¹ìëé& Vg~7ˆ¡ >ÅÅ“ógñª“67Ësy¤µMF_ü‘yëiŽø/×[@63’'õ#B4Õýeÿ üUùçCÌS•„îÚÚÿd~,G‚_$©çñ‰GÔâßÙH¸W =ÀÀ†m0¾¡÷²vÒt”Ø™4}Ö>]ª~è"^3°j‘(väøÀ- + 5ÔÒí´-CN/yÂ*€öÛ9˜ØžTîoý«Š6r¡ÃƒÈ‡’{ç D¶›.úL±âh‹÷VúÒ1šáŠØ”dì Ì#Ñ_æ{ÍùwNç „”èiM` ŸšE®’¥ã¶ÙæAÞä|EòîâÈ^„õÖ9=wTBö°s}ű@Æb#´=g°²Óêw¦˜d5 ~ÖQË +ª*ð]‘ÏFpÚ‹n€r¾Ö”ùiôàÕj$øõ-|joKŽõ4ù’•šüˆ¯½:ÐÿŽ{uÁI×ÝýeÌúaàÚün6Âûºjqèÿ7¤4|l £jˆuCiÁc{ïðÆ2H¥ÅåY¸ Õ˜‘ØÿbðòCAÃÙg¶³A /šÏ'@öq¾ª’Ù\Hcº†ræõ#s³‹û…^ÇŒð«ÐŽ 9‹ ¢™Bf™}ó ³×°ûˆ«kx†çÓ¾xÄkýG"9þ¹_SyèyGdœ<»ÉÛÉ›¯w‚†‘¬OcÎ8Œ¦ó#Ë¿/…ñm*ÿf=€rŒ×¢g!½bÖÊéµèë/W ü-ÎëpÏ{& +²:¾æþ~.aJ_ÃÁPëwb;÷¬ GKaŸÚPŵџw¸ã h +¿ã„CQ¬DazË÷Þ”/qgï1TpðE=Ÿ˜`„¼HÖmÇ8lÄ=…ô{ø¼ÇÑ3wªB•"û´Z_n&¿ÄðŽÉ&Âìò ÞVýõNÁº–Ö8KV/3LŸSTUƒ²àó‚tîyа·k +>i‡ M˜j]ºÒHáKÐÁäÅS2ùÏ"X:2:é²-·9IBÿþP³ÔÂ}Ý 6¢ÈÕçcæßôã>^·õ(òm—ôÒG• ŠÌCB[ýK«ÛJ©!€;TÔòât“äz…p ä — gâ®áiáÅ”=˜/ËH¢ª#¥ÞÚù¹²²™¿œš® M6âêŽÎp §ñ^¹0®;˜>ý¢\ìDé†M‰ì©0ø@Øeî'pê­6äÝÜw¤›¨+[å!ftׂ̋O»”y p+w¼#oÐÖ¼Ž&p“‡·1=ï’áŠÆ g¼`ökØÎæS0v¨ôU/¥—å¼<=‡%«õ°GeG¥~¨4™uäÕöò u„üœª °{iÀŸ.‹R=nM$Ãb1ýBÇ[y#Ñ°{W›âsŸ´)Z7ÀåùcqÉÙË3]¥Û­Èß™Ùòþû¯ü²ç!E øh-£Í\¬º4• ÝÄ)°VM[ü;ÑQcxFîܹœ7n ©e‚ú4¥Ò€¶¥ijô¼à¶M\»ÄîXø·jfý'ûÿŠ3ás£UF‡"_Ç䯆ú"j¶pk6žS:ìÅ]%}`ž-À +~ÞãGËŸ¾óèmÇ2EÎ’%á/U&¹ Ù 邇O¸Íù3ÅðUÎñ‹/Ò6…½FîÚ¹­±ául¿ +ÿ+Ú*sÉr+’šC%mÏ>rõ­ÝŸ;I7OŒ§zm „m+þ„ù—ÍsËBº#Ô) ÑK\Åtó3ëù‘µ>Š-=m œ LäÌ´Ës?1ý?óT¤Ÿ]d]¾Ê0k´ÐŸ¼!“•z·«s€F0¼Pf^ö&Œ¤öiŠ_®#7äX§YNý¡3‰‚ºa¡"_MîQr b¼˜¤geÙd»"({äžçávïYÇßrô˽þM“öë|Êlɾæi².#ÿP£6z!°KèwŒP|J (å ' áDÄ*ƃ¦ãÅð¤~mª[40çþ¹DdD>;å±,d‰Q÷K‹œÆunO¿xˆ´Ç)ÝêMCz˜žg\Ýçf²UJÔS†ÏüÃy¹Ø·íŸ{ËÍÁeGšàg·~A"ÚÄÙá…sãHLÚgßÊ2“å­ƒÉð1è©ÇÖ§Ÿz=ÒÄšŠºº ]°Tºh.Èo`ËèðgñX.Y^$“)xõ§¶«ðïü1÷¼2¯OűÓ`<(M˜Öõ7QêFU¸ë’€‡Ì9gÍžèÚ r©…ñøãc,™¡¡t%½«Â%6¹&Ì$µ ¾IMûGŽ+¹Ár3äSjýG¿]1/P Ť¾ ²Î‹Áþaã·6ÒQ +˜ŽZ°=s™c²›&^ôJ5¸ùCl.~s Ð/Žˆt¹w²˜&oIÙ"ø9=ÛÔ`Ò3€•EýÚ{!†ëÓí|²ÿƒµ%kv†MÜ• ñ¸@=¦c[£¢­Ð©Ð5Uönb£’ÿtÄÝ ã”AKõ €d¬ç JÜÊ.“ßVXŽFR Ñ¥·«vã¯Æ-_·ØñˆdîÅB›iÁ‘JRÐ?z Leà:Š˜r8Ò¶¾¨Á©«*2ŽÊ)<¾ÛŠ‘°ë)åÚ($n&¼O“<¨°ýçX‰WæØ2c +vúžâ{›tJôj{ôêÌO?Ž$"BTNgQ·ˆF+i3Xƒ\ŸÐmJg‡>7ú“‰u=¹p!N³/œíi•è§f†Ywl¤ê¾„ü¡YF,› +[dàú¹ñŽê/ªóUŠø•5݈·îüÌÁ„á4>¾ú¼å/qƒ¹»6½bŽ~9«!¢u"QÑ(Œ¬¤õ½ÜÛ±ý>){5ÊXu,°ï“]ší(´x7þúeðR4êt ¥/ö:³¦˜ÆÝoN/ÈS+O댟÷Ðq}e0U)ý©/þxúÞk¼©ÚS5Š‡7ü¦ÅÁþŠ}ŒÄöÞ.Û…"rÉ ;¯:/XÅ<[U4¹·“ˆ­P2Èã•Þå8ñ”ilc8DS3M˜¹Ê°šLºÛ„p+Â],d‡Úí¥3‡õ+¯e¯Œ¿‰îÏûèi”§o+ʨÝ戽àãEy—ÙMîD8÷jBÏ~+EÇ]NÙÿvi¾Þ“ÞÚïÑ2}ýMD¾/ǬcÞWÜÌzÝÓ¶¶ÙqÇ»²ÁÍ ç +åG™k…ª"1KnPàÕèè°Ä¯uJÝùßÕp#vEä5Ê#û‡33A^´M6Ãœ°1~{ä9ë¼5ð’¶k91²ó_ã 3ŸW—{†W0Ùá*>ÞJ}Üý¬Ûò´L~™þq†:MÖ.Ó~ˆ£’šç§àÆ¢EIË£³â+UÂMÆå¡@QÈAº…¡C9ÍÁœ²la‹ÞtˆÆþ8ÅÍÖ<þ«°qTÄqß&fåB2Ì:â/¬*FŽä$~F¥·… £){cKÃi}¦·)ýŒŒ; +ï¸ §]´σ„aEj 9©´Î©1ï!1µ"ŠË› ~¾OãñrKY1Ý }‘¦…¡k`ø™z›ð±1ï Ú¦3Û¯ïùWËöV~žE´vïî9Ê­=ò‡*”mýí_xàNµúðßTñcL8 ÁÙŽ˜‡p×ï{¤3>9‡¸8¾¿žç|bRðk^¾<ÛËô=áÔð«5ð(´’³ðþ¶iת~ö5Q£ÃG¿Þ•˜BîB¾#(Ugy‚p«Z² +V†š6€x"–Hƒ_ÚòR“~èÇ¥áÎ*hŽt-nÑ=ZF 1“PƒÙƒKDî·¨Ùð Î;ÆnU“{±mív¤î¿I×þélcÒ´½W삯5*;œœ +´q[,‚ð·7…›Z ÖòhµúÏÿ´)ò³Æ%ÌStÈy¬Ü­P÷1á¿}ÞAÞá†FH£€×ûÄÓô×u—gƒ‰ü9•1}]ØÀÌØÈ:O ÊZZÖi°›ÊûÌ‘f·’È4í¸Ø¬¿êr¡Ø¦È-A* Ú`)•´¦í[Ü +%Ù«¸’XFºéп/w +ðžm?õ“Ôò_‘ú Áda-y4a{î)ëë{U¦{+åUßÐ6™j'ÑEó69o–KXŸïÝ×ä¤4©UpªÕ¹©Y´‚Ã:ß„s5nK؆yžç¼;¬MÁæ·ÿWÁY´ÂÄ')É=H-Öê|¯)§F{Û?ôŽ +endstream endobj 385 0 obj<> endobj 386 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 387 0 obj<>stream +-”Æl9gùJnï’‚K« \ÿ˜eìMHCϽš.µrkB¦|–Ø¡`¥Yc°î}/¿%•Å^xÒ×y[–y]srOŠ¦SÊ0Ïì‹a½‰!¥LÛwZDý ¨I‰¤™“;oé¡ÍrNþã=Q‰ß+´éú~SØåuæ‘\—’3Vˆw«Üͯ—ìD5Ãe§äƸ ÷¿”ªÈFmp‘ï[ ‡m¾µŠŠ%·ÜwG>ÏNqôcdPÈ4ß>>7ò¹…æÃÙxf:5 Kì•o¥À„DG×E[üÈŒ‚—?‚¥Ž¾0ë¨Ð„V«åþ8Àp!ö(ÄO¢ªõ¶2ÓmÃjËF +[ÈDîi;áLzí›WÙ‡Œ¯ÍWm ­%ôãÓç|Ášh'> 9–kK̉à Û‹‡@üs²Æ`Ôá0©áUU¨Û]a–cê×i§SÁ5_é5’`nSQÜdªz¹WZ€VýI«ˆOÂ:J詤ƒÄAP8{™@oc¨ˆ9äK…ÕÄ•mZu}WmAƒC°e”½xÉà΃=’]-¼ÒR:é•× ´¡YmúÀÂ*¶ïïéµÝÔVÂ…ç;/<$ & Í9Éç…Žö×÷\Åp˜ìÜÙÃTü„܇­#É™0y( +¤îsV/µêß}SÆâ¯biÔŒ™œÑÚѳ?À˜‰fFõ.8&iNÁrX°ˆ0‚']Bù¬ˆ¾ŽÖ=zÌc/9ByRL«]1cüÃãöv3ÆY˜u-–¼ë@øî"¯q#Gh‘dˆÖªmbçÄTÉl‹ëx÷+œ+¦ +…Ä2 J'ÝÐ*™~òKÔå¤KM–W0ÕᜠO±4½Añ„Œoy?öh¶xýßIýµf¢‚+Œú¿“û\2 +!½Q?®î~ ßh1”½ÐsE-ÅÌ‹†'pÚÉ&¬ L?n;™¨…úG3»Ðµš„ð£loÙf›tZwk²\¹­GèNEÔA ç¯{.¢Ë_ÂTkÒk¬ø€¿ì¶f€—Ÿ{`ƒšªvÂÛz ±Í– –’-CrØ3‹ó*І÷ÜaüJ`‘G0y¥Ç!ÏíÞÁwÊ>Á†àM5.Dÿ£94; vðnÅ¿È#Ûr7Î̇³å™º`“à°Sû ôꢻ{ÂÂXÙÅÕdDú|´¹Å—ÏÕñµ×ÃS?îÂjÅU‚«ŠDd¢”wdN–Œ2ÅÚê[°ÏN½¾\ƒª- ¸Ñ'÷nQÒÉÇydÃÇ¢%Œ<6‚ÆÍBäó¸¢íy6)°»YQ¢Yn“*ˆîö A•ŸÂó¯^µªØÈXY’$Œ¡È[¦†Ë³”^D!ìEyÐ`m'z_ËtöÚÌüòÍ›îüÑÒìoØûÚé‹Ï>f«ÉJ1b£Ò±s.ÁÀ–ÙxMk#úôß®YÖ7·.s)°Ô*ÝifP¨ %‚¡_7åÀÁ…~vÃÉN)GálNỦäN´­T“6ücþô«¨[$ÖxeËÎn–· U qM¡Ý@tf¬6xÅTíû{:Zí±âÞä(Iøqs}ßz“su_r8ÍáÒïÍ}ãåKžÂ›¸ ñŒ1°×—+‘GùZ¥4-ÿ˜—Ÿ‘A‰7q­n²g¿ï‘caBI~LŽ£G*äccÌ™b MÞý*ãúÕ¼ó; *aBý•¸ÏÙq¬.ŸŒ©!þê·AåÞý+Bºkè¿Y‚¸Ø:OPuë¾ÿŠ$©ÁÄÇëJ¨ë Þc®k"²»RÙXIQ+Õ);T†Ü”juÕD~pVÙF£m€րöÕP,6×”—ªðÐÑÌcÒg”ML LBFùRºMm˜(ÉèU,¢¤èæ@¡Zñ6TÑðQ}ì½Óí•o¼m\™`çä»{B¶còøŒ·³=qLhêC–æš¿ÚÖHà8èzéØÕÂÔÖ<ý†Fv‹†+-‘?R¢/LY-&÷LÂæp`Ä# ‹n÷²šqÿ +/u¡àœši|;øÐìû”ƒnÏ(eWM’añø'€Ä`òš Ðëï[ñß6¹ÆRL³&aÑ2/A1Ðt™—W߬õ£ØÛpZ5Ð Ùògj<iúä¸WÌok7òÉN¸ºj©ÅjZ­±U/™ì)øâî"ƒj(Ëëdî¡`Ž¸DˆdßÏÝ|æ¸ÀòŒáKNv‰#½¹wv¿•ò-‡‰*M~µ‰µsšÈdyLç°lÕ«!ã^º·™ç9hqøÛ’1+†Çðq1WŽfÕ&_mÄ7SŽHB]0´‡¼'VêV¿”BëÒQžKT1ýêÃT¡±&i^DI*Û%U˜éa¨¥ø82Òy»ÇF­ËfMG{lÐ5Œ‹¶ÕýªŠÔìûäÆ}û0»‘Tï¹µ6è³Tç‘øñôõ~˜æz½:"73”ÔòkÂów&c§XÐç}ŽÈÎÕK8p'Ñ÷ùS"„R*ÝMa(¬¥£™ QSé°ìÙ&Rª³©â˜¢.õA5ƒ©åŽdóí¢- ¦áôª^+X( +$¬õ²oA‹+£QÖõ@ßw¥©A£øù\e/Þõ(†vFGrºÏx¼‘×Ç"×aÊ™]q79‰ää|ƒâ>u5Ä‹öóÚß×1 Üê^E?ó¦@eÍ";ªncv˜ ï|(O{iç.Æ}öy·{% CÀ¼fü©—‘gØОÄçÖFhs $±ícžDx¿0‡[­ÃF¢øHÑýùÄû}rWˆrà©Œnè˜Iõ– Ž_q³{‹Oò‰â,-¢æÖM¸[í”O‘…øó¿nõièŽr§Aû·[åì!nØG«ÑEà;êe0ÌÅgËÀ^7× r=|†è¤(èYP2ÐXCÙ´Ò†nÚ’Ï´¦Ï¬ŒÒ^gI[ºuCᑆ›_)BU“ =¦ðÀØó €ÉцS¯a¨9ºž$òux‰ñZ#ÿÁiÍædÞžzo½$¯EE•…Àš‡)‘­u,@'ië²Âöoq=OÐ|Ç•¦ ˆh}wH ØÀ•¥HQØÒåmh£ÏךA›8dþˆè—§Žß cHbÒ5F!”¾2V É)¤ €šÇ@.7°–äP<6üi«ß§,üŒÛ[áq AE»„/¢]2RLw¯pÄw¼¢ rí÷“©Î:j½$4_d&X»ºÔ§SOÃcKYÏÂc£GËžOFp;´£êļ9¶Xþ¾™Þ/ )jÕ/¼ !÷O8Q7JÍC÷ôJóàÀõºB÷¶ÔO„(]ÎbŸaùD:GŸœÊà°«>2hqÅ@3f¼Ð”“îOîÍS«"Á蜣‹¦Ƴ> endobj 389 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 390 0 obj<>stream +±}Úžw«@›·h™š]7 ÛÍ~’6¬†<¯Þúþ NîþfÅãõå4®%ç#ZK ²s@þ”(? sWöþ¢;L… ´‹ F'òpÊ-T÷Yp7½>wÒªrfGP¸™†ÔÚ)ã!5%7¬¢®„ü+ žÀLãK$y1v‰wËÍÔŠfh„³Ì©v4 ]\Y׸ûAaÊ0ÓÏì_*‰|ÀßDQjë™·+²n2X¡F°‡‘ߺ~ø1ÊŒl„Râ¥ÇóyÄŸÍ>ÊKÙ°èW½I¤“$° Ë&RüÞƒÚÇX ´üþôTE/‡'Ö‚,xÌ(Â7åÖ1DèØ@Ž‘ðŸíhuñ#-¶mœ¿ë ØÝ +`eöðN´ËFkœ—êÝñ!!¨ ‰µ±À9<¤Kzë|Îfö7øùSå3N˜7¨é—_ñ5b1™{¢þyš‘ò–ƒaÖNÏOy BׯYg0Ò=Ôô[½ngv8Úb¨˜ ÓºvdkPPž#ÀKÝVXr[à1ú@ãß ]M']AõdàV£qÖäîUÒD±m)(¥ç»zIßÙüî¼ü¢ÕøwlNó5–!ÌûN®´¾Ê^l ì¾+$¹èBâe6ðÉ:ò;\â¤IM‡Øzìì¼ÌjÔA`{ä0Ç3Ž]W$žWî ùlTIJs®t¶Ì¸Ñ¦]ßï$Ë¢l—¾0¬Aõ¿‹Ù½÷òÞ³—ð„BW°€Þ°¦ùlQMo[j¦ð"§‹Oæ “Vh·CùŸ>±ˆÃÅÕ ªJzfnîH@˜îZFd@ö7É7ùÓúxßšŸF@òôRuT%‹x5ÜÌe»êñès)nË>EãBë˜ÁÆöè÷Ei|ïÂ7½å¼¡ƒ¦à ½¬|ãÙÆeîam¿ä¾øÓ Ï å—T¥U߬3võäðfëF;ÎÕ–» ìäŸäá–/‘’Ò”ën–ˆ¶§Ð.˜,”"Ôn¼OÓ(ŽÞ­¹kÔdšç +bÏÈ¡ËC!}ÐÓþ»ÞXÊrÌoå#üîÙ 1ÊeÔ1@¤J”A[xÅâ”Æ *~@f}éóP¶ÙñA ^{}€P[$þÍo A…|èª]öhÆ[¢¸ŽÀuÄÚ¿áôp—'£xÓµ0TâÀ³ìF‡l„áW¦™ èïæþÁÐ<õ=£~!ûè PP9¾aùóo»Îl¦€Ù"6½ü¤’ÁÜ:ðŸÅÛýõÑJ|`^L&ybí8VYAý(“H·oäi ¡‘š#þÆ4–}°„’š§«•!4Ê#e05ë>qïÂ`ú +W’ßÜ–À¦n<|h/” (µ²l9ÙIíÜ+Dí…&è? ÷â4ÇR}/ã²·§hû7•6s–S.àN‚gkª•uš¤ãfó±Ð/÷êrØ„6¹»«þ€ƒN¯ÈjÒFBÚÿtQÓ;œ+“tr‡áÇ«èÊÆôon.oÏwUB‘=‚ÍiE‹ˆ V™`^¨æ*]%‰-Å–Zÿç³Å(¢lºƒä]Ó~'ãû¶Ë$Ÿu= ˜óÛy¯¿f”`ªzm±½IÉ‚‘iø#þö…Ä=ˆÐØ8'ýQc +å'ðbˆPA}^¾[‡ª:6+—’ø°ÄOÝÜ#Oˆ¾º<ê¨uó"˧ít‹Á…ÐK`ª®«ªØþË ÈßÂc>Sz©5Á´ÃáÖF=Œ—¦nU]@š/¬Ð8NÁôŽˆ¥'Jù=kƒ÷wô?Dñý~—Ø) +Ø<Íç |edÍBQy߃C‡@«6¬°Yû'¾»pHVns§Îxb†æ•„bÜVêl-Fœs‰<2"Ž”Ú;óÎýIâRúÖ=†îæ”ÖbËp˜Bno´8ÏFi¬¼kàGhw¾×ŽO8ã«ÕÀÅ/¿ÜŒÈqG f>cË6{»®fm…z°K¾ˆ4:8ñxkÕWJK줅Q&`º¬–£lÀº¡8}‚+Äz±ÿ#“'Óú@=€^àQ§o‹ÁË´w—’)Û«ìE–Û±šaª©ÙDÓ€ný`~jŠoÍLå–O„!êùðuY¦hV‹Õö„j¹j+,¨™–@ŸM‘$gþ/.¦I*¼ò>¼ŸÒj#ŸLé -ϸÎâ¥AÌ‘ŸÏw>”JɈ°hnRÑ=êi¸ ÷^½)~.o#Ø;õžæ#v$Ä‹OâIÿ8ôÑ”ßï1yöš/>A+‹XœLîÁË_Q¥ënÛ0‘ÂyÛ"[‚VКÙ&€k¹Vlß_‡¿X,ãq\3=nŠàÊcE´ö¥ó >1±AIÉ×åªGmõ­œLs½R”-„`ôkšÆ€baáê´m_&.pŸÆýÞ‰H¸Ñ›e«&ew\Ä©N¨÷  +´ KF½êoP1Œº’ïÿºã´ Ë2I G7™ÎÊÕ óŠèr}z§G$’C%¾…kG5[N¸èWf%þebÒ·2sßYïð$«×S°5r!1nÐAAµüfZBl1¡£€FÅFìúmT†Ÿàè“ÓÆêtáøÌüzö„ñŸG-ÃÞB>[H‰`â‹Û¬å[¯œ¨DÅŸ9Œ§éQøÀÐPo›*y%AL[ܶ¦å¾î°ŽÚ<¡Ážƒ~LMq™›çù×{õ¿ŸL“¦èìM¸t¿‘FG S = ûmV¶»Ù+}¤W&˽7T@ÚXõkDs7ætÛ*¯éŒ€4 +߉‰æ”+O²9`ŸOÞ7uÅþ˜ISEà0Ôìpüo˜JÈ¥Büù›FsY©î ÐíH²=ëêHcž.'Æ_ÜôÙ¥Òî‡ÝÕKàŸß3Y¥Ô¦~)C(’<¼I[0ÀS ¤e »N¬F^kÄVÉLž6ŒÝ5‰`ºäÊyAQtg¢Ú—\_ /Ú" èCëw»žun¢¬}îŸÅ²Ñ¾Gy9tÅ ¢˜A;9 éW×gŠ¨´°Ýv :q §³‰sö¿ýÉT_5èQE¹®°uRÓzªË3*hïŒÂóÕjñö{|w+,–ˆÎ ÕŒBi¬-k&ÍÝŸíFÑdúlš‘Žl=¤Ï· j›–å©Û2Ï Zçn£“I”ê#[˳ý·i'y3œ×áœÒv³Ø7à`¥²Ý®|<ÛðŒg1ùÆU\×Ρ"®Ìp™:7'©³ÔŠa"hú$¨ž¹‡X´,•§þ†ÊÃ'Œ©àïØü¤w’tç&ð\‚åiT®¨0äõ²HóØRÑ-ïaNºéÆ Â~¡¢WøkDMýŠ<#€5ù,}åE*®ª¤q«VùδüÔöZdŒV¦–O(f¿nç“w›@K ÙV"[€˜”Ñî ÙçÎ~GÉÉð¦ñž!n‰®yRÙ–Ýmï½ 1ÙkÓ¦åq'ÚÜÆ*¿½;Z9ó£ ZGW¡—­ië 5bܤ”¿ýû=0³ý¦gŠX!¢ÄŽta»Š6 ü„BÅQ‡0N‰á³3ÎÏû2{híÛ¾`ÃL¤ÜµšµçæÁóèóq ²¯ª3ï²äE€žD¦c/G)°Š~M›…¤_©%†’Ø –·ÒŠÞŽ¹•I‰6ÒF%¦F‡e¸äÇm|™…ŒÖ8RXgà–[Å\ Ô} ~7’qÄfÔW/šûmŸì!ˆÌÕS+©ÿ˜?(Mø9Ž¸æÕr”Sßau»HD𕼦©Beи* +,J6KleÛÐ}òLüž6w§2Níã±îkÿ—™’­±¢z'‘ŠÆÐ^GI‰/¦‹++AîIÓ6ú.cžòU ÄÆ«b­§âIKú‰šVB +Ä®7ã­™ûM'äd^) ö»úo6p€h»—Ì°”IXÝ°îŠ$€¯º ¹ÀŠo7–›i2eÍÊÒLöE94í+›v/i‘ 4›Žz]J"X ~”uS{5¾¯LKËbh_2h‹hâìëž Ö[y½ë¥ÎÊ=EYßB8ŽçÄކ÷ 0ðX¢BÌ­<¨Qç83«¬'ãå]¢EL†‚‘K"tç±~<¤‹£™:nñÎm‘´Œâ¸XøÖ„ôkòS„J÷Š‚ +qhJVp~ îöIeM§l"}Ø‘1žàÄFìèø±í缓¶—; |¿Æn¤ü74UÍþý^ÎƘ£Mz»›B÷æíu¼–áÖ÷Þð«@‰å´”G£§Y†*_Ÿ¿\GœRBS2QÇ··_&$‡–k%G¿>(€­O¸·ULÿ¾ð$'~±&Tèqµ6&‡zÆ ªPy÷‰ö§¥É×—q""¼wUu;Õ;˜íöâqÚoNOòÒÌØ-µgöñÓr¹ÿ7šž\‡GUHí"ßpßÓè?ç¤ì³¾YÿëF3¾ •+mÿq¢ŽŸ3ÄO¶Ü/ÆÉŒ¼P Vž¦˜‰\ãiXôM«Y1o(;BL!'â^ß„’&BÕgf!£¦Edé,7Íl ño}7#Dí;pk ÑäóÁºP Ê0*=R"HБÊßþ[ñ}"àH† •×‘¦\¼5ÐPÓž +ö@QM+çÑ*ìÅô¤xæ©Ì°–Sß=|a2ÔTbÖ>¶“5Si´;4Ð! ÏÞSHPË»Xk/Pš¼¼‘ VAj ÿ¸<äýä¡ñR鲡ÓÍïÈ·’°ÅkH Æ–³IÇ5…Ïo +ÙI;J :'®Aá¹³Þ×öëÓºQ#ÝÆßzÁ`X‰7S!cž/€^l%×´!BuCðIÊ»À06U®Õ”*ÜR<ÈË*Q8øY#±kÓt‰…­>=¾ E®¼ ¡IžÕþä%Áçœg¦˜-Øý5ýûP¡ö‚¯Ñ¸é}@þéÉó eØß yƒ YÖ¯Vt¾ù}7¥Ú\Æê²Д³Ôhr«'[Ë$>V ¾DLå'eoÜKˆ9¤—Ýv.ciØ_ÊÁ¡ÜQN•ãÈ}®›r}f振ʛÆh1³+S~À"TéïµãôÛÎ@TòÝÍŽÿ»FC÷[`÷¿ g\Ñʨ(6Ò ÜéÚö£·V-HYApI“ª÷|™Ò»Îom.À/C±§ÿlÌT±Ëˆf1ÈÔÏÔ×÷\ñ›0c©éϺ¬ºÅp,Ü>¾,îïUáI¿ªÑ!W]þ K—S·…ìi~¥M6…¶Ú­ËæâË‘×é þ’Éú8f'Âò¦ÌÒgÆùÓzÞë9N‘ÜàÐæ®0~ºr¿›;Œös +Ñ`2GÀ‹Ìn”ú±T+sïþëÊ’˜§uxÌ;\Æø#'/G]ˆø&£æ0ã†7ÎhRPG„•9šÉL¸…µŒ7k¶iíiÉcZ*J ð­h:ଇ—YKþu澓áÊPÇ–o€÷6|2.øoœ2 Ü5É»×ù  æd¥ÌúVåßr6Ú^»7^O)c¾À…EsÐÅí2‡s&g®*ºr)ü›=$Ÿ ò°^ÀŒ³cn©€h”+LÈHêmúþÈ ^ÿêæÎñš±/ýûØ%Û²~šê>ª*ÉDöµ#ñËMRLUÄLÉ//:W`¸O6z(M^¯~óRÁÁU’s0ûŒ½•ž@š=t]X§ +(:.GA45æéü‘\ã<¦‹¤ÐŽqX&ßÜ”˜l*›Ltßmmï.£l,ãú<”üÈ4HÑò×XDW¦d&#v2Œ“[£ÍÌ A ŠþMýþ§}m¶£[ã®ʷ_Ïjñ ݵ¨è#gôP—r¬{ Þ÷¾ƒÍØV袼/ó©Ý´—03…µ-ÞÒBh}þÿTÃòT3æ®epÙ“ò¹Å<.CçÜà%kZèÍ÷UNR›ËÙXçŒj@rbNÓØ/7bf¥`±Q÷)^¶gyÊ"ª©»ÿÚ]÷ôˆz4/¶ôúÝD:#C8=š¶ +6 fôòH•‰ósõ9Ÿ<­ÚŒp¿HZ=]š­F—}ºŸh/óxf'žd¼¯ƒ¥±<¶Æ£`Apd;H‚з¾ù½÷·Ö@v!4yŸµ2CHÜÐîêB›fBÓö:³Ù'†[—c÷[$áŸa‰0ý¯QGѶZIØÁ»…¾ÄK7Ëö#$9/uÈFÌMªª«¡^‘úÐGh‹Ìè»Ý—C­óÊÈÄŸé?ée¦;`Zº~³„ßEz/+=¾UŽ|œš€2T»Ü- \3K…“— +Gö©‘„“m*·“~fÀ”’#,Øg(/z¦JÝ~¤Êo -òÏ?˜­Ÿ|¦v¸ ´ ÏÞÞyŒyÐp„‘‰¾¹ +>wôèkǼdý×踥QB‰éuž]ð.Õ™ÝÌr,ÜP|èU¤¿j \³ï–oSkK„PfÚ*F²B!bGØFŸs¨ Ö_¼$àÒ°àK{DÄ®p´%ž“® Ë…¨Ì ½9¦9…n#Æ°ÖBÌùòñ4Ž„_¤È~Ÿ¼GÂŽóÄ­fƪÚÔ“ØŠ©=SÜŽm:zeƒ$NÒy㦿›.šSð^}ðjd»€yõAÒÊ+–ï!XfKêÈû/a ¢DfÄ%6Ɉg¡`Yïq÷Ö.‚\Ö¨ãûàD¸]AEª)»h·–Æ0ç?ÿ2¨ E)Å×c½´œ]*/;@bͪXŠG“MÝTËê& ÏêdŽM?!MBÏàn&MáOŽ ^uz¼z;è¸OÜC<«‹P3þ€'VF> endobj 392 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 393 0 obj<>stream +&CVp5\WÁ#­7£Ì¸’×!Ïé˜<áXÕ¨YRAóÇ£N¹ òÝ‘rÊhGú r y3ÛƒÇ"Fg$¿r# ¾7ú~Ð0%å€*¿NŠ½› _á£E,Úý"ŠâM¿¥2`È00$ãmcpd«'$•švï:$ÆÛÛvß̤ºVSg¥ƒmù:ƒ£^ê¾÷õ€¦„+RÕµv¿™É·{­øTýÙÏRr_L§z  ÆßÇ#Á#—šàÕ &Kõ¯gþÜ‚©>¬Ñ0¾Å•áý-ÙÁÝæ^Ö1VôK“Éå5ß8f]6ßt pRÅ›ô§ô“òVãˆÖ±+`_¦[Ü@=¦fœ Í¼C ô. +WXËÕ*¤šm¢6ƒ\ÄÜö«Šë!¯ 8"oÍó± |ـǗÕU‹ó„š´ka(ЇÀ kÂÆ ÙÏqR¢«©†2•ëFø¶0 lûåjܯž$¡¥éq¡$6aÑ„ƒn‰äÍŒ”øˆÔ»£²ñþcU…[šØ™ÇmbˆÃrzÂMžÖŸ²âõx,ŸUÁðŠ²n3J8Ë춨Œ +ÿüˆyqÉw´‡ô†[à›Û’Â϶º¶…n'RÞĹØÍ@߬q†©F¶ó¿å›„­çtj +j¡þ +øo¼²ÐÑ>Ôp!šêý<‹»œhSäL^<'ŸÖ8&f•Çä0 Y®5ûýzYñb(ˆÞGú_c%žo¶=$ÞìñGŽ›¦¶>íO8 ?‚Ý ïš;©»½².”°-Ì +éÎP ž—§lƒvüî\ÖØÈépI³¥¸â á:GZ7üòÀGL­E·³W8‡Î[u:RK¸Òª} ß;ÍÀEð<óMÒþÀLsËÎdóæ9À¢5âÂðôªÛÓ†@ðñ&ólo45Õy &œ³íZºÂf4ð)ÜòqBLêæNEåAíÁz Ú®/>äMCPX;ËÅåð/ϳI½g´hƒZ¬Í›ß¸¨Ë’Ø–ú퓺dnYüM;ÄHo ËÜ6¡ö^©Ê–šje¼<«Ü-’h¯¸`±Ü¯w<~Tä·ás—(Ø” &SV³/*£º¾÷¼†:÷}¢|Y‡‘DŸK«¡„»š´W–¼†w%¼H“úX[tM~ŦXÞaý5—Ý°»èÒ S ÛBÊ3Ï® Ý x=ý&‹ ªæ où€o®t«× É:Š×¬]Y‰ñÚÄ(sWïŠH¹ž ªxkàÉýú\Ò•i ­7mD?ÔPC^c†°ìe f"sÙÁ– ­SÛ kàR߈𡯟!?¦ŒH(<µmVzW¦”6YТ4Œ$ÉÚ–%»)–4˜‰­r™OÕL1G†fòY8a\äÄ]çä”q®»¢ONÍ“Ÿù%˜B™yŠúîí²ZÐRÖ÷@ÐnõJ™© +ÍÏ:Ô"1]£³HkGìF5”|S÷“•ÙžÉؤ‡`Þï ™x:KÖìLEáij’öÌ:ÀÀH%Àà; ]nÚ¼¤q[BªP<õ€­@Ç)ŠPa-:%Zo‹DOÑ~Û O¾`ÛÁéå´¬K¥ À„²<$ÿo‹dÖ'& Æ‹•ÖŸtéÊÚBWHy#øµ&Ûs L¾eNA´÷œðé% (a^í›È$;?Js^Õœ0ys³|½Q³e…`y|a‰Oì쮕†%ŸJ´Cz¬˜ŽâãG;Ð>Mý5¯"¿ +gx+œäîu—{0O@mfÌ5Xÿ™R­Ä¨Î 89ôû(—Ñ`¦z=0/ÇWXÎçiåX’ËAÖÐaöÔ˜VΗô“ãŒ9ÿi‘­|nêCM®ú«L_O‹šÊO÷³-ÝÃsQ8é7ÚSñŽ§Âl¥xØÒm=&ÁõýÕÂ>ƒºU$<ûèqѦžÿÊ«‚vŠ¼+¨lÔ$ÐÅgêf'ˆ¦¥€FA&Ìš˜{De»“–’)­ ŠªRƒî,™58õ¿´èvÀ^(£e…WΘdIt^ÀÞ‹B#ežÅP¢ŠìØäÐLy:h‹h"ÄòÞpìrÆ>Õ-¼pppù„â]N€Ê-BXZ–¾[ûu"½ÅÈW>V\Š³©‹+ÜT&²cõ©GOV5”k”7è)"Õ·œ¾Ã£ÆN@– ö]¶ä<‰¤>‹!d[©›§îÝºØ G†S HÈ£©¶&Ôþv— ›(DZqQó×ÄG¸ƒc ÿ£B¯ƒ@¸©P£®ƒ‡J&ëìsFÁ!°Îæ™3wíVCcv³ÉÐßÕ'ƒÏXfc ¾ŸB®Ý\ ì×—¬›ÿñÎõIÀ–_ÉüψŽT¡ìY~HÞ©7‹Ò]L€ÌÚ´ûBÐí-ä°›EAéùáµ[ŒºFuø„uúÏr}rª=É™xµ +uÒå&Á» GMMƒ/ou­>2éj¤Šµðl³–;¯Øõ =”[úf«Ÿ ò'p5C0NE $9`“Pq€vû%ãUv›0ÆKø•)ßÒÜö†¿Cô:vÒÄ_U;‘VσªmÙÚ°º{ËÓÌ?&»±ýšŽó7Z·ïüúÒÂ~«,o†–\î{/Þ}d«™Næƒ<®k’ãÒ4j-€#l@~C 9Ÿ6ïwÐI3S­§%2Ã( 9‰êÏ? òt™ñq‹æSت,Ìk”ËÊ^µš²6zÔç"ØÂM¡ RÌÒôýÒúQCþЬ›’àÚ“[¦÷ÿxç¼röîZÇ¿À»=O&T­²„¿eoYÊ4Y ÇÀ©év¦Ìè­+ìQ{©t‹ÌËõU ‹ïßÌñ%u¿Ç˃ÖçÂI{{é¬`öú7„± +å´=ùZë°SXŽiú÷ÔκVÛIX6Œeµ³@ìíñF†ßÈ(èX»Ý?OÞ]ÎDÁµœK‚®ˆ=🔠ÜÔæÔýnpïˆU”Vü•û(ÝÔ’ÄæFs"†1NhÊ@L)'¶Þ;Œú’“jo“ôø>Š€÷×S²¡à8 þùðÖ©»N¯Òà§ËÙíû˜›IX·4ê­C@ +endstream endobj 394 0 obj<> endobj 395 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 396 0 obj<>stream +‚tþ¯É»C;XüAÇ÷b·E`FbiöD~·€w %hx‚ïá—]äø«ŸzÚT/u‹!_ô¾ˆ®UØû¯‚±€ÚÇÐADA›òŸµ‚¶ÒÝà7D ð"TÓ<Ðê€)åûr“§ß;F©©kꎑzÄ’q¢Qˆ}Ä&æ»íL{8 êÉvŠãä÷à~Ó¤‰ µ(ç Èõ Ê®_OèP#KCÀïŽ,"ˆÒ9`nQ§³Ëñv2oÉ›2èß@ÊSŠ–èwúÖWîùì ÆäÇ‹@!ä$+“p½âuâõ!sYÆ™ Pâ›’šÔHÑ„ñŸ©EG³gú ÷ú ô5ÅW3ß;Y«õ€h…Dϵ hÜŒÊ ™í-šw«Vg±-åV_FÕè¦ëlQÔFɸÙ6q²°Né m°ៀŒ‹nî`ù…Ídº¨ó0—,BQûcýôõh‘Ù@ܘï+Ž–W,É :É8 µrkƒä‰þ"çO©§˜WªÆt +J|.*#žÓ©±M¾nvÅ9é:•¤oYÞ ¢¿}z_z&ƒÇ¡HÏ@Ûý¥M¤æavˆkÒZšv³âD…í«ÂžÝbX… ØZâÀ/ž™rn/ú èÏ ÉÊ€9¶­X´Êή($ˆ»˜ÎûÐÙsšùl]AÎ{Þ•­~h’!€e•xD]‡ç_d?†¼2lt1¯ª‘P<?~ð# h÷Iï…þÔx~´7í +Pâ©X= šæûž(É>â¼åÇ0/i`«&üÝm\“`P>ƒÎñv~<¶;bˆÀ?é;£\-èö © “Ö”ƒå£²Ê^šQiRË•Šjð„aÂBÄf7†c\ýžRÜöÉ ¡àx€èw×¥·c¶|«À0ë"±öCfô² ñË¡¯j¿OW"kmhLBƒB`Cð]ž ºÙ"W¸©‰`EH“[DÅõ›Çp;¨5–8•šf‘£ÜÞ«¿Â¼ v +dqå¿Ÿ›Ëne™zV8j/…1è©}àz”Äž™+¬†Qñ +Ý-q(2~ɼU ?~«ÿ4ðZŽ +_ìú0^â2Œ# +œ£ºK¶d—Æ°ª\„ÞüÈßb>a‘WRç{ ×ïÉS·˜>¼‰j7ðó "0Rn.¨ß¨1¥‘aDŒ/¶–7>Zƒ)bãBþ7À3‚ÙLüCƒ¬%óYGÿ¶â/]#Y¹>D¨—Õ˜ÅDx¥ðùžK`*ȯDSñÌ7½|½ìY‘íIª«: Þ~¯rl /‰ÎRƒhŒüSšù®Ÿ5a©{#°I„‡Ó+C÷Ñf¥ôUЀšÀ'"Xz=<ßö zA ÉC÷ÕŒEIÊËwR=“…ŠƒŸ½{„¹}&ÄôájÀ’FjÛ ÅE’LõÊ4aÛh-þYŠÊí·D$I–OWÇq›6Ê‹%a¦ ÞíÈ3•Ó¾B÷× HÄ(¥»‹5Ý áq„tÿ Å¥dÊqGÚÇÛ£Ž2úrˆc!T7ýœÑ…ãìà#Dû·dZ7‘˳ˆÆX«ûz¥¥`õ€âQ M-È¢}«|jÞÌD¨ É3.ø)´í§~ù}g†¶Ø›Ê: ’÷¶s]~ŸJ|m§Ë³õU1Èè³sª¤nÜ82ãw Eg×hÙ¥¼c;SÆsaÓ/EêwÓÎtÎä‰,®5¬¼oô”^%+cAß‹X¶š”uP®hD³˜Dð7ÕSd&{ž"ón®E7¦AßÆb×uqÉ92’m¥GKHºw0„˜ÉËp–ˆ¤ÛŸÎ bÉGÜK%H™õ›¢ U–N,ðßz +ÿgÅO²ÜêojMüµû%rj-F—ìpß1š–á–·nj nb¬îÄø©WÕ¦ñÆsk¥›P7>Vú@Ã#èdÄaë¯ÿ&Ni¹Š"&p@ÖßÒLý ßÓé«sl+FæZ¸CI½ÞÊþ랬àfvY|Qõ» +s?dOškH¶ko¦OšZÕx +èÄùB!þ?bˆâPÀ•ªªnȟ瀎¸Q˜zÓçüVÞ“‚1 L«P­ñ8×eÝH\X–0H­­tâ¼>=9K8ÙÊð[ŸÊ…?a°~æpj»Üu’Mýx±VÑ槱V°cO}nD6Wh¢D|7”y-G=ݵzùº(èbŒzqH”léóù&6L:²óæ4ínÊÔ»É^}ðs׶ÔÕÇõF [jóTÌ*éÄ++aÏÅpÇÜ=OBBP\$²ÄÕXêÈ–ÏÐݽ¦ð¼eñi` HàãÖoϼ#ê ^jèlD—~v¹g†‚IRËI[ é°ñPIÁ!èÀb)FùAK‰¥¬÷¾_{{·ÀžÅóûTÈíyáDСŸ?îèx‚îíï”AO”GšéOlä]ðÜYO·¦´µØ“†ŠìewZ3ÌÖwpé»±±õÓîc±ŸcÓßX¹€dáÄeàÙÜU øÚa^»ºøŸ“Y59ÁWÛB»ÈÅN|dÍ_"dSV}ý$Ï‚Å°­ËñWƇ/,‘ +éÀ ’ù1Häég\WHø¤‹¦-’âz†"]ð Ò`êõ»h±¶”…—ÞOO88´Æ‡!XC.C?€E`x­A_¯{)Ñ–¸èŽM÷nÖÇ BÌ=âGË_ëÞÑ<{‡4.Ê5ͬ¶å3ƒ’ª‡o0¶­“Ɖ—“Ž­÷ 3úÿ,íQÏõb°fÅl£¸,f爧ìpjxLævõ‡išBQûÁ´i”0ˆ ?ºÉ›ðŽe±èÄ´¹"ð¤ùÊ–%äj,Yfâ‚ìú¦-¿Ï[¢ê”ºÎK ÁÈk¹/ÇP6o%ðLÚ^€a˜|»ýá\èÝ +›uã *¿-ŠMsóÑfÈ~ËKä¤ð~-ýŸ`N±õó>8ÉΒ΂ ÖÔQ åŠ*HÙÐprg‰–KfÉø/èÓmæC'rË æBwcýCÝ-–ë~X÷§ò%ÿ¼üIð4èü †9 hòbàŸ0žå¾'ž—-¬Šþd¿´›ð 0”ø–Ì mÀœAíÜÿ ðB#d»#²‡›ŠrUÜ^f9Œ"OÇWÙ6(í)?"cÛmù§Ú5‚¢»iíæýÄz +âp®è’®dv™€—4D¢t=Î' ÍURŸ +gš^]WTP¡àB°jy–µæ8ZêG]•5ƒà/ÄxGAé;šƒpE›÷›ß¾¾ƒl'«"4.°’å$¼Ýò=-TòVŒqzvªÎjȈY“p©ÒáòÂë£[¹¥¡9yŒÅ1î.ó »+Üðáx¿W…ãaK—ªF:µL0Ê05ÝbRñ "Ô0Ž·ðÓ°¹êÐiE T3”üDP +zð( Y)_|ÃHšÂ¼$ZÜð^ "p|/k¿2°¶äÀÖîw[4ñ.Œ^°ÑzIs»n£USý…·Ã +ÍÄqYPN„€˜jT˜Ò¾‘>P_Ö Öò³¶i+ð¬ü–¿å€l|@´rßÜ<ü=TÔƒ©s¼ –0X•3zrãfšÛ†n þ4̾ѻTq›Ë—~ùy56·3PP}±º÷NËûulÑÐÛ ±V;Âidj³Aþ%ì B*ûT'TÎa ,>!*-¿8šÚÚ_¯áÿg„c5,6ÆÝ¢ZŸeŸG¢ÏªMehMFÄN÷+‡rH:|®å# ë‚ètÔØqa‡Nêf!SÖ6¨§ˆ¦›â¢ä¤’ﬨÂZ¢v”ï6‚ò“:Û4Ka®3½šÙJÆ>â@Îì\VŒÁÀvzó­h3“·¼±®ˆzŒ7DV\Ö?bËOãRj0z›Ó ËVHrÄ[~õUS»¶×^Ôq vJæMú0iË®dÆ?ñ7’Y9§òÄè¯îÑøìC^H%Åæ7…>žÜ¨2R/«¥eâ°‹Á©o@ÙQäb¼×ÝÞnòÇÙæ‘ß» xñ8¢[×8a0"£ñ¸ðv·ÝŒ#»Ÿ ,·P½gyáû3Iìqžúǘ,ŸõÖ+=Ö£­5טÇ'Q|]¡—ä±b 4ê¼q¢âhc¤Y! ]~®A6 £ÅßAzâá|I}´‘%O§ü¹ðÐÇÍ +¶íËi³¯J;!J¹ã +º®µ”áÎMéãðªF +I?ÝËŽñ¾¹dì¸/~«`Ë>»ÕV3D´ÝöyT0!x÷˜½(‰§Y!ÈÃd¨Ïc›/{u¢‰ä¿¤Zhð8g.MÙ7´;4ÀD~Cà4‡É¹‰ D›!1ÌFÔ™½ží2<µö¯¢`HqNC¾Ð²Kž;Þ*{õƒÚxfVÍ-l¾Zœ!) ß±bnÔœ‡èþƒ|q R7>-™wƒÙøA ½ÐF­¹¡e_‚Ž½˜¼¤Mä2a9¯Î-Àò¯t~Êa)]5qä!Où«ÝÖö!ȼCS­òÌ/f"áRHñ» Xž4£.ó6N+Û¢Àò»Ôô4š™ˆ†Ý”B¢SgaÕ…´LTµi¾J±@ÞH!`&áàIþè]¥+#òtÓu{AŒ¯<úG²FFkBœþJßN²·B¹ÿßñÄN-ÿ,5&K2Añy_‘t3x+„U—ï@Êsòæb‚ÛŸ%Oùà_[’’GïÌ^j"j8¸Ó">šúc?5Tö±³9š´:r‰y!Öš +`~›QW‘š¥û—_(›»ÉæËÔk¤¾ ·ÊG H`ð«ì)Ϙ2MTY™ +Xœ*¬õ÷E̾twšs» oG¤ššu{!}ÔøË¢\"8ßr +eB]àøí8|S àh Ò¸SÇ™â§Q·*b¡;øõ‡Zëv„£q¾#wÔPTˆ±è® 'p ñúœHãÈ‚ÞþgaÃ9ß²©€é~Ä<6vþ,Ž3¶/ƒyâA&(šÛsÃÆayÒÜ£7À—6äöÏ©¬£:Ú‹2 ÉPLCê“aH,¬ûmtI/Ëì/Jt2ÒbZT¢%ü¶1¹ÓΠ6Ü°]m8½87ÞF¼*–=:‘Zd5nÃ×FÚÛ‡‘Ëå>x’t^iYfͪ£ +XPx„(›õèä *Yd#R´í’p8¼$>\ü€nÙ‘ ñs‡t“A;¯ÔZ ãñ'KyÂQ‘¤ïýC6WAà/Q[Um®?IèšA))!œc?íýèkù£Ãø1¸k—ÇM˜Úaõ¡š\Å 5|%·sø(Ÿ,& t­]2$®cj|¼‹Ä/ æ 6±MB‚(„>nÍٗ癢Ùù%¨d _æʪáfê8heç}™t÷>52ÔXSÊ\ÒNùiþBí +=Ô~AÚ˜m°d'B|Š‚Yÿ JN¸3ât_—ÌÐpnc ŒÀž$œ|L¬pDJU„Â5hË8ûfÚ?…ÜÄýßW[nÚYðKæ*Vâ‡9ŠÌxj«³=wöÁuï,cÐ3n'µº¸ßp;J€í#äÞà.ãjÒñ bù>0˜,×xfÈ~•C-Ô{Yºö +·‚¾,êâöFÓ‡%xaÒ#¸<Š‡ +,Ò*;µ|¢XSgÌ ÿýž­¢ìÙ/ä×ÓX0µ¬ˆV Ð~ŠÅ=Ò+raçÔHHX¯A5óny‘„éBFL¬J´úFÐ×ÌT†ùú˜tžXD#©Î¢-ä@ã~»¥Üƒ'êi\~HÑQv?\-î¦^ Upa<~‘ûÿ :p¹­êj¬Éu@J¸^³8}Ûýá+éßœèÕS„¹Ô±nåX:§—Æ(ç(å‰.÷zÛæšë‡C씂„°,ø)‡4ƒÐ²·h-z”uU!@pÕs oŒçú­ Õ4§Ú¼…’ÏÅ´oz1‡åw4ÄM½¨…\h®ß_¸|Óìîj™e§ÄÕûÁ§ûÐñ·Éã3ÅOFÉå +|c—³Ðð·1¹Û‹"=³ž NÂ=å˜tÞn™`u)ÿÆû k¹×o»‹ +endstream endobj 397 0 obj<> endobj 398 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 399 0 obj<>stream +ó9}\ G@ZŽËK5BNMªÙzÅlùËj:ÄQÈ=™Ä»kºOÑí“ƺ‘|˶ŽÅ! ]—Ú™Óo›Ñ sª‰Ûê~3XŠæÊûäö¢×*Ðú̲ð'óø­buÕÒ¾¬c$¬Ë¾ñãè–6ö“j›®E £«GŸÿy}{œœÜ!º ÇtZÙçEC°å`_9à?9Üù¸¹ÇŠ‹ÐéáÈN¡q¯`#,-ÌM¢Lè–ü¯ÀJlMdOÝ9]ú2Äžƒµù»ƒíø©—1=ëé‡f<›K3Fí̶YßΣ€ˆ'òXó! +j•£ÕŒÞQÄ:JÂ1LäkÆâOY ?KÍ“éG²‚³ïX½¾ý›7V)Lä [Xa +ø !Ú8ä¶MðsàضÌ,ßïCº1÷A“úq\yœ¡ýü3·ó.ÿøÚ,¥Mì Ge5¯2£7pf;25èxßNlª_kÒ°v]$ -ŸD.&ºÈ¦Qp†­DÛ(Y™‡³ºo畼\{"ž²ÉidmÎë9 ÌÀ¡?ž‡(± ‚ñÑ:–G²V€çîå7¾=1U6´|]F󘶷ÀŠ2šùnb×ÃWýRïœÌžm½Óbª\v]½/b¨*áf¦ýéþÚL’8$Ád–€kŠÃr7ÞDŸ AD Ø ›­ûN_Ñ{3+™Ê¸Z°8Ò–0x`aëÆvK*eÖ Êc†Ïµç¹â[ˆN%óæâ +ŽS ?®òŒv‹0ÆKï ãJ£ô(2ȃ´¹” •[)ž)5zN>†åÂ倇‡\RD«È7ám`.ÀˆQÉ¢n Ö°s|…´‡(«r4¦4_vª¯jc(ì•Çi"ÿ9´mʶíZ ŸÒ¡m™‰¼ÈžÇÒ)ܘÁýÀšÜ¹C®3Ö?ÂÛ‚ýœtÐÑØ7"Çu쟒l%ÌðÏõ ÀEôš!Uµ[?…‘ÑßèFÞX”Hu¯ŸÛ´ÎüÆNcF¿ 4öjc¦æÉ?Å;³ãT…B«ë´±æ1Q‘&Ù«lPÁéˆ9Ô±¡D!…M­µÉ|ÙâºHÿÊçY5·/)$¯e=lgµÒ~1k  Òéþ=СhGMa @'#üÏø á¢Ûœ r±Ù‹Z® z!HùÙ7Ê:€Æh}Qê„<±XRÞj‰ºØcG³ïü¼v&iyÂûtO¡G1ð¯}eÂK6êo„ury¯b%Qï7kqÜ$´øêZ2D’l^’–@6ú9Ÿ=ŸÒÅ1Þ©º0?(Ê’³ùAtÃsTéÍvìÒ^„)~:ÆØçz£è‡òw'9‹ùØî¤EP;¼)¶®¥Åü—Ø$Ú05”⹯£ÃˆÛ;ý|YLá•4¬dlj‘úbsKŒã8p'œ¨O>~?žA\ï8$C³ÀùAWVò‘éI);4}]„ød™o´LIyY41ðFí¸-œ ÷Ù‹ÈUŠ¦7$ćoÌ$§É(4@ú7ƒ‚ÂѼ…E®»åóIûŸ¾yŒöî]ú¤¶&ì7&£Lá QÃh %Ú|ÞPÚçŒyÕÇÁ ¾][M7Uâ%u_y;SzV”:Oy›Ù21¡•Yròæªv>óæÊnƒêc…¦® ‰œq5ºfn–xóè±|ÿ$«1Ü·;ŸétâT44 ðì–æ^mÉmåL´aR UA ì†MÞՑ"qévìXEÝPtÀ”Ðá*|6¸k¹‚Aª¯k`¼ë!¤,­¦"Í 8ÊL£(9à÷ä‘/¾hz¯@Tþ²"i:½8EÈ¿(©¤ Cž¬çœ •Ó Š–šê…<@zÜ1£ˆ§”ICwÎ3Û ò6)luv^ضp€™Áø„^‘„rB[4ýgQ>Ì=!(_˜ŸgŽD·~ jŸ]‚6+ýŠq;4)½hÖfàÎömb·žòJ_.Ž(™¸nj¾I©ýÞl:•þ70 »°Mòƒ”uGtaÀ¥²Zäî?N+qHø/ø^vùPÁÇþÁ_udžFTh]ÒÐ-t€wtkÆîZ-˜ÍtÆÉ4ß鯡ì;s‡P îJü.œIáL&‘-ÊŸÆóri +bé‹{`áÒ^ÃkôÙ4È%Mõ^wAKù¿Ž6XrôÑ…9æ0¾ž~ã™L5Ä€áàJl'½á&Óí93³Íô=w¯çb90Fö¿'ú¡2ùÖ-ŽîiÚŒñèçuÓÀE³øõ` +üÈr®ÉÄ*¶¡l/«2 +Ù ð7 +ô( +­¡r…«Žõ¾ iú×Ûô™ÇÞ­ü”Ö ÄÑì)° aòŽ@øx +(Á#y`Ÿ¶š hwá­ ýÙü”ý—2Õwé/sƒG#é-[fýZ×nÌH ª_½3àÅ5P»:Ðsín½í^ójÏL'‚ª ð©²õ§ND #>o¢Þ?ÆZ|¡‹¨¡ÀbÊÉ“·€­Úúš;“à•Ò&tçiS "¡S¬à;È®¶@|Žö9OáH0Œ((A„}Y hdD/oÖ=…– ÌíÉÑì7ÚXYS ›}ÎÝz‚¡ó(І?Ò¬ÔËtS…í,^Ÿ2àÄÕP¡§{žrþ}à¦XEgJ•-KgÞ q¡fJâa¢>g?‘¿™¼tnî.³Sp~êJ?³,%ØK˜·+‚o2âÊb7%î£æЉh=â½»D-èc^F‰ +GÂþÈJI’µr# (ß½DXÀUŽÎNÓ0 ïGdýGäpžø†ŒãØÄ…ß/ÿçf\Šà­íп~Ù'ÛŽ, Dëp÷Cã䬇۽(ÑÄø"ä£OüÂ~fU àmm †UÅ’-ï2à`Áèäz;d£>ç䔥ÑÕѧµòñ¼½±ò?ó3ƒ$ûÖ©ÁÜîW²%Ρþ=ʺ¤ônl§Q;â¦=·›n=ŸÒóËý•†ÒaÆÔdK0#Ñ‹ëo jPÓŠÿþÿ*>9s+ŽDô&t1 +…ËOŸý¯9Í¢e‹ ÍÚCüb°P+¹(:è`XÔ÷ðp½GsB¢Éö”Õãñ=aŸ¡ùü£´Ýus¢5š)ÌáÄnIŒ×´}&”„¸bSɈ‘¯x[õü}„_âùPB*õ¾˜Ø§Ýï_#©ôD. <*mrg©v–éà ®‰Aðciæj§4XÌ*ƒ¹aœå£A씼}Q;ÑqÒ4s4?J{ÿf¹¯{ŒѕÄ@Ní¯Dyã¿ÔyÐMëÂ}“·`J3%½ôi™<±ö¹zV b'ç¡üDååuùâpŸYçœ7Æâ+tg*+]¢6ÜÂäoMF @â]HnØ@ÍA¡šw,èhXe7šºÃO.–ÔÎÓM¡fÁ–}þ€ܥfHîMõVþ!«R6““TK¹z+JS¤<h"˜òDÀZÕ0çƒÚ)&Nr+ŸÌú\Ø{‘EÒÝïT$Ý3ÅõNÙ` L,CåTÖxzbÕÁ`8ûž)Wu-màDY™c¦…ùA¢wÕ f¡G{nØndCëõ3ߢâG¾úÌÂ,³´ûRÔWð?ž™W¼5žœ¶;1¯¦Q +í³ÀÚ€Ë(úR`-6{Y]G|_~«HKlJª!@ÍãÕŒ¶r¼-š¹–®€Î‡È=U±ï+÷ %nùŸ¿ÿ@._•Hý¥Î–ø®MÍ[–@`tZ!”3õ©šÞƒKGñÊJ¸³OßÕ1ˆª¬ìt?ÀÏžÆA‹°ìÄÝ×W|>¦j‡Aшþ-WäN"(º“X¥ j±Z”Äú¨~µÜ‹vͦ]aÌø{A ÀM@Æÿ  çYÏUÃÌšôšÉXoÿ×ÝÈiªG·Lj'g‘ìÝh ÊBò>Šáz-“'6œ¹Ï¼N ~zo)ßÈ‘I/eŒa6|ky,õXG'' RQÏU{ìÏÜøëë¼'OòŠx˜ PÙ–Ýœãj*S[û}Ÿ.…Ö‘ z·ÙK9¤#'u!5O5ßWبØ%! „ 4tBÏÒ)Ï–ë¨Ì ^IéY­á]Ù— +kBîùRiñVä›$gj~¸Íîž ÅýŠ‡±Dˆ6‹£1¶(³G@©¯=A>Oqé6Œßܪ3Ñ—â¤ì’Tû¾á`§èŠãÙSŸ‡¡0iuµˆ]í6t‡9˜É(â@ ÉKÅE.œGPAžæbêÓ•m`5_*lÚ¡•qæÕ(7ào9§^Žy{,•Ç-ÏËÓÕåä¶rR rDÔ.o¿nʔҔ’ârŽ r˜¿Ž:ùÉ&pÃíyœ†ƒ€îl»˜žûñÆ×.l;á€ðnÞ¡î¹]âr«…Dž]!sÆt+ÙâõQ^„M¡†bðyùA,1õ+’Žmpvæ­¸¥‰úVœàÌ2I|ïþ!@Ûÿ¡çã£Ì-¶*›ûqe“,yé8‰éO¡àí7þ‚˜É&+¥X +*¯0p5*Â)O¨R—B?#Ï¿†ÂÇ6‡¥¬àÊ>4ˆQ‡‹BT2ŠCD©®þUo¬L¸u@è?·3è”»Û %‡Ý÷_‚éZBè'†tñIx ûI¡.xYMÓ°ÌÇ¥Üvà«à mr¹êvu€ö°Ú–Ë<öSÓïEèVþxßîÒod€P«¿±PK/íåj.F¬“Œ#K—IÀ œWzyr0ZsqosÏ"Ýæ„@mËÐ09qøª„!M–ú k´Æ}“Fn5tnɼ$`m%–a@Ä¥M¦kmFî4ÿy«û¡\ä×ø#Ì5¼‘‡¹ÏjoÐJ{ ôe¥©½nv½ÅšÐ’QÙÐ2æS3"U‡æ²üáK¢6÷Ù;WhÝb¾’P͘£Bø»ï‘²©Ž˜ýeÑD@§ ,{ÝFaW0"”#ˆ¤Y|7åõ z“ ¾ÖuYØŒ—¦Ìâ6ø^ŽƒÜÅ/â.oè!å+ýŽÚ,"[ß |ðQz¸R‚‰³kÚšâЫP@aM“îïp5©AI=qÅ Ù#¢u˜;Ã.”—A~¼D³`™yœ¾ð”hlÛ”vƒk%¸ßíåI*b Ä› —¿b•ü?¡7é+[gňÑ\:\¶Í¥”E$äì¨ý¹/Íý秬HºùãÔNbœcW,_¢S‚NyX,ÉWïÕÿ“®‚ù2Ú ¢hé¬>x‡»¿–:4oÃ# ·¾3!ˆ²Þ'„U‰~µ—œÙ”\ê3ÂÜ»NÀ¨sf,¯N»Ñ‘šºþ”–^Êò–’È*æG”»k“'Ÿ]§½:Á‘+ý8;7dæ ½9ÿå5€Új@SÖ 9 •šS0|\3à2b=lÜmÉìØ*HEKž‰Ý8ÐçÂðññÑå§R:cú+Ä‹¦°Œ<\Ë[Æø³úÕZ@½¬_ˆùfîu[áê®*¬á\êwʼnüúô€ ™ïV¬¾lz×wÂÜ_ò5øª•4„Ûõ0ÖÞ^ÛS„4ÚãoUŽur¶ŸÊ¸Ìƒá>„γXve¼Ôexò+ùN‰¶þ—”B¦‘~[l2Ã¥—h R‘R«åPNÞ¿¦– ÄÏtœxã®'4í¦ø–p×[HBÌK/´|‡ƒ—+€—bªJ»2ëM­§œJLÖm›V¯/"BƇHAŽê¬­Ôf¥({­gìJ*!®I»ØèÖHõ´P®ÄZ0Ê2Ò×À€H5ÈiÖ¤ùµúÚT&q=üq¡ú{𧨞ìdëØÃ+pr¤}ß +P"¢e؇" {àÚŒ¡«<'/»9oý’FDQÚîåmÖµƒ}àH¿ùßbð½¤51Çè ʨ.?!9‡í—w¥à*EHô^"‘Ý> endobj 401 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 402 0 obj<>stream +×V-‘Æ…ÚdõÑÜ,´Þ1nù×:„µàª A`¤­ø"k1^¥ÛìÕyçK‹T$裧 ¢ø®¨£0²OÊ„µ¡mñàßi`;%&ÊÖ'¤2ÿ9¶ìdð&|HÞ5ÄV.¥2mØZK+‘AÌõáË‚Ýi .¨ë%6zñÞZÁ>gÒõžG‘eÆL^øŸÇO:ØÂL»§-…aN1…÷\Ù™Òxð:ˆÃ{¶L5‹?˜Ø,PјÂaç7yD$ÿ¶@[?û¶¼ð=Åè‘5¤é>ƒ©¸]©ó„ÃíñÕÞaÉçëiŽŠTœT­Á +‚ÏðRF`Gfü{=9ÍžènËBCÒJŽ‚5ªû“ç9[ÂwEÝ!ÙY€(ëö}¦Ch6‰ŒµÈ”­3*\üØRÈ“Yþ© Á7}‡$Yù.ü¸(ÐÎ…éùŒ/Ùb\.çµ;<éA]¨ÏþH®nßíÔ—,ŸF·åfTÐ-\Lò`UÐ 0é‚ÏX ¥‹ëv/ctScâ7…‰ +ëÜ;õÖ»LŽ½Õ^»iD^|ó`6°:ˆ¼Èî¹óúñ[g–ôpìOäaÖÈÀ>¿¦pGWæ––;N t)n”8@ëà°Î‹óïP9•@2j ÓYGÑÁr1+š¯“Nà©’4Ö³Ÿ¿‹oÊæ¯çloëæ$jï̸3ô›ûj¾0%š³\¸•Ämöûô?7ݹ2Á9.ÃMÓÒÃB]‰4j÷DÖιŠ]kR3"ñ¿èªu]¨÷Çtipo±8𯳱Ã\Ì)>0–â&½I*D˜ÅÑC',F<õƒ†õÑqSç)!†'˪Mó†£ouÒqvÆó•aŽ4þs‰úQ\¥ëÜwVˆ9¥¤ ÐÇU€Í§Hïû–›F™ÓÚ¨K£Œþºð9¦e*c¦$}‹ó_]‹­MàKÚ’NŸ„=ã‰yÞoåó²Ëc¯2ÉÀÛü#Ú¯ ±’ŒüŽ|i]Êõ×øäÕ‚·—!ÚÏö  ö¨èr=f¦·õÛÅ`mO@Û·´ÞN0á‚Š(ˆŸ*¡¸øu:ö]Ž-ž*¾ÍM±Rœ¼'Ó÷GËi†Œþ,qJþíW‰24LÇd]bíp‚&ôþhÕ?Úïfiÿª@iÛðƒ˜™èQûåð@”T–VÿK,Äähp—Õ1û„5òƒ0ø n‰Ø:ºXƒ×Ø4ä0ÅäÄ«yÚÈËõF‘5` Ī QåÁ]«¡ò4Äo>ïÄ0ìößš.²îÉåW°Wë¨×)P(‰‰ñÛäì¥%–˜ ð\¢s ³9S 6ø/&d¤Î4íPN6'u³8}¨z¨ã®W¹«bË·Ôë÷û3´0´}ö=ô eô¶Ã軧¸O´Ô¼ÊK<=di Y„KŒ—›éNƒö÷ò‚8ša®ŒÓ®–‚¡2W [ F~n*„DGyOuõ‹ù:fE¼À|S/¯1Zg^InÏý¶Ø11Í" +ý?OsÁTÈLÝýÉÔQ|Ÿ|GZg ÏóȨ=þáA>¿ë tR¸;“Qâ6§ä­#Õ/» TÇrˆÄŽ·”Šf\©œ>cˆš-Úqܪy R”â‚ãå­=œâp¡?j4‹܉ՀJQ½ '­´x™šÚ$ï1"F%»ÿLÐŽG­ÇvÕ¯ð­õµá§U#OWD,o>(ç‰UÑá{,VÒB5ËŸYTH@'Šný*›d·qfhnžŠ¬uÁ4M0IÜ–‘&™U3çëþ‘•ŠÛŽE_è†ÚÛ0^#«”P&þ-¿<àüÓTù³Y8!1ý¿À¿=ÀEId.â>ÎUôiI ÆQáwrz(Aµš‘¥ž[” æ)KdÃh ŸCób4o‰‹Ê''z‘ÐW;œÖb« Å9ÅcÄ €‹Oü£š¥ã/Sl/¯J±‚@âeÝd+ÁÃÖ¿”0¥¿¦!êÑD收 È-"Ä!õöP@R¾&}ï܈HçÐrí(*A¹g +)懖I˜ÑQlõ* ÌgmC¨ð‰ÃM;ÑÙ/oHª‡AJÓò`bN[cZëG‡FÎÎwZàIØrn¾¡× è»y—Ïäô'Öq/‹`õ"¾ +ÑMé£W¬úÓ]Xú€Þ—úðb&Z(bÕ7¥ÀoªS÷Wi4^§ßã¡sÑ3íìýRªˆÈ†hËö×;ß⧫ƒ‡_ö©Óg2§¹þ:˜SfEà2û§tdס³j Ä©§/,I30¸01J'"®õ“Íò»£æóøç>­B¸5¿«ª{‘1ù@V°lý¢ý#|k¢¥ví KÔÃrä5Y€ÍNK­é.1‹³?x¾·viûÀúŽ`vƒV¦D@´qž×²[êéŒiwZ(„ â#ÓGQOl.ã(„×kuC5aýç´˜ýºU¼V~j7á°\éK1»ÈûqöÝÉ*_9Øf!  $©æÙ" baÄ1J †ØˆeåÚ|=Ë„—oækGW@ÿ'uÈþ‡g¨Úd¬„ê:;Ç> °íB_|Aôž\ÑË‹$à#´H\÷wFÓb´vÃÛÏ!ƣ㱞†øxÇsœÄdÑ’!Ð'Á›Ô-“¹ÔŒWÀö¹£ñ–î©fŽx¯e•„Ú'h^ìD¦…ÉÚWÑ1d²@(º#é>߯•ÃÅu#èÛ¦¸e˜úÿª2gˆbåÛCn Áœ‰ê«¨t».ïŠ"pAš˜Ëu©SõãÀ£,™½š»Ãjxçv¸¼T¿ìÈ<¶Œâ¼¤i·.ï]"» $Nk–ʽr%1˜”OÌIÃ^WòÕ A‡ +øa.»áÂ:­Z*km©ÎÓW#ÕFOd6Ó§Ï=*™‘ÜŸÞKÒe¶´Ÿš†á Õâx¥…+'Ó§·kÛ(ÚQ)†ËÎœEøZÂ,öÐ??…÷Ϋ{®×–mü½A)k xâ· ›M™?*‘$÷Ða„'˜‰AGèHéߨkë`iÝT4²´Z¤ ,FYÄóIöJREfg3Wã¸Ü™VR•¨×e)º(˜S0 s^ê54r͇«uÂE²ªE¸žw±i¿Ð~=`-øá¼ + \»:¬•xaÓvÝ7T·Ó/Ä1ÇÎÇÇ LCbëú¿’z~ —&×å6¨öLuㆢ¬ú`, poèŠ?DSªv”õ~:‚{œ&f)ò¤ Q’§êÜ¥” G;ž»¹¯žÙßT•Ÿ¿*ÔjT¡³ÕÉ—j:Ã<Ç¥§ª”êí¡)0¶ÏÒ¥R„>œ)˜ŒQUŽ +Šuo%†Á“„q³ïŸö‹¥ x#…7s3Uy +o„¥-ê*ëîÇ)vÃÜ9±0rzùš-dñP;!×Þ·½ž%×P¿*ÌZœó&×o!#膻Ö­ñ€òƒIxLìw2ìGõà¿ŠrŽÿDy|`IRßO¸v’i'”çÍx‰’4ò¯…i€lêÖøÅ,%SMÂ}“¢BqpÄ«D·ìç~…û¬¹1]ç¾ÅßogÎ Lå v©:TëJ¼Ñ25UÈxZ÷’˜š¨0uÜ—4üÙùà°`±ÐÕY›¼¬¶ÈåKúÈ6 ¹ô^¤¥[âQÌ!Ëä4Æ´vÖn£Ô:Ëí ¹<Ö<«¡~¸¡A¤…këú„ ·$è#¦ƒuAæõ’1÷óggž^\˜Íô°þ=MèÙ%zrâfüÊïȧ1Ñ'oàßX÷Ý¥“ž” öcOØÕQ¨>j×üWv˘Hb•dNñÎæäþ ¤=Hý…ìΛ«B+O_H›&#±„"4¢Í˜õPl‘ß"wsD”õkø`·Øû_fñ—­©W|¿:yµc–^ PÔÂÒà4‡AE4Û†ç‚ ˆa.˜¦4û|CÆ–Ž*îœV|ÚÍn¹Ù¿æB(^Bˆ>½Ë@ã§<|Õ¨­žfïcÓõŽ¥_ƒ#\’ñBEñžp«²ÁZ[Î÷±†‰!ì1‡TQ÷͹¾$êûí¦JQðF…¾íb jÔN%ž”@¨Tˆ¾ÓÈVí„aþµû~957ä™U!.ü+éÑš#±|0–Ê5§ã›'ê yŽão Ìvýå®Âà sŠnù‘¾3Ï¥f5‡_ Ö eBs‡þÃý€aËw…ÛÖÈh:䦫>©è;yq¾Ú·ˆƒ{½öúûÚU‚&Üàå»ò³Ña\Aªˆ’ï k¸&YŽFD¤œøW÷‰®­ÐÔ’ôb—g˜ŠHöðóº]«}²¯\µ‡j1¶ã<[]àè/kÄ,&ÔƒèQJúÀ¼¨{·Ûñ™° #íØ·wÈIЬÌWÄ<'wï<ÃøJ·yâRþšvhùܱý¿Ig¯{ÿã"R²MŒ7¯Ÿ†U·›.ßä1,pÖ7;ú” ŠB–­É&e³ŘŽÆPÞ5 ”~ÎbØ3lÇ9(â({„Â:n„ªB\P³<ž‘÷s¹Æ–­Ò$w(]áÊXâ„:S‘l̃:¾4šS‚zVtæ–‰õW©¤¨§ýœí&¼{¥æn}úß6ö[ÎðÏï>Š¡åiÆò©w(¨¸Ô4 Ù?–ýPž!Àͬ¡9ÒFæ¯Q¨þí¦ðR‹YäV§-˜õðå­á!Ug~4Á¦Cá·¯ðcø5ô.<æ(L¶Éëí1@™¤d-齇ügixÿ†¿c#N?Þ|,\YÀÙ_”8"96:v¡ÁÍÁÕU.lÚÙPáãÛ‡öW¾J¼"+ #Ëúœ"©](%³mÇpò¤lÀâåá³#üϨL•Á·ï±´­×o°þàôlàuï4Á +endstream endobj 403 0 obj<> endobj 404 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 405 0 obj<>stream +œ¦ñy—&‘›ÑuÏTšPo}¡Ë“ ‹7ü'5¡ûÑIHÃsŽnÃMbhœu&08”Úxt!ú¹ÞI¡ç’ñÜç0Ætl~ÝXôn2'm»²²Y)«Nö” k¾hŒCqKúI4³F}9éUƒN»[œ1“¬Œ ”êX¹rp?ùeÛøÁ¤šk`1>´m)É hð~ývXO—b85Õ“VË`+[É,¸¬8Z.·LáEx76iã&&2£¡P‰¶¾üXѹ\Ú—÷”Á:ðÉ›äŠÎN*p×ÊjÕlí¶&$Ì‘L²C̼|­Ÿ)` å J~4KÅFYr¡B¡° ŒX˧tápHwuÏ\tP9Û' ptzÓ¶¼­ ºÀW½Ý…‰ÂCÁZš$.© ±„ʇUB^Š`J8û}‹#MÞ-’˜'Åy55­Nð“]ð¹FÉuùÏ3;,^¬ ®;ªøÿë„ ]µ |û«u~wa´U”]"ÉK!4è+™Ý,°Å_£˜?ÍŠòèªË;Ì×yîÒÄAwÊqVÙ¤´r ,ññë—÷û"~›ë+PÀÀ*ò¾ËeE&[¼…ÁKm:`¹µG Ì"ð'ê›ö¸›ÞÒnÇà‚ ?ŽôRy@[U>ÿ…xV/:ÛÎÿÝ(}\>¿§^”¿K”Dõÿj(Ô³ŠœbëÎß‘Ïý²ãXä'SCQ=î/,’µÕ>hžoü0dpEË*iÆŸ‰Î;ŽC¤W«ÍOŸ 'Ÿ‘ &It@¯xž¯¡L";vtsÒÉX¡pJr¾Ü?ɵ‡˜¥ø¤HA‘;qÎm7$€ý·¦_Æ +ýÁ½=‰—L B%êË{¼Ð%ô>3Sþ´–«¹iøàV\~ÆdÚ!8|”òÁÒª˜3häNƒÿš‘XSe«€è¡Z#eµA·Œ¯vÚùG· £ ͱü\Ï<Àk#‹)w‹9ó—ng%åÀéÞ- )ÎrŒÅ€Oo5ºcï†Ö¬ù!·ÀøÏʸ“{Ç3}ôù"¢UBF„Lú‡UÇC] ò=|t«ø ±l¬+íÙÿuØg£sç¦)c=^Û¶§Ä@Á½Gƒ~A²¬?Ê¿ÃúÿÑ>¢J©j°kdáðÃ4Z¾ÕàX¿äE³CEo?o˾ÄuöØ…-X+†rñõñÆ‚Ê …-0-xWèŒÍá'ydzžç|0ñ)2ÈB&¦ˆ…ö‡Æ’K¿˜ýàŽ=Ùÿo»ã =Ís@¯e¹2ùvT,GÃÙ„Õè «<uh1eá›øû©œƒjaÍkŠÒ/b¤M¥~&S·…T¯Å5æÞé€Æ…ȳåð‡ ó÷ýV±ÅôyV—‘T·0MÚ@ÛEOn5J}…<; ?U›ØüÏT7ç0•-»‹R×*„QðêtfD§áž¡ïŽNÉò¾$#õPV׉ô–ÓóèKrw§:oB;ó¨<èzuŽ6¡÷nOQ¼¹‘!I“®šj£Ú´CþåÖÆ/ýL d)•ÛVg½Ã_Jˆä5zƒãj‡fzÉjCñqçRqA¬Y¤æ¢œyž06àLùIäkž5ƒOPàÙÈä/箟a¡›q>VLü Ö´òÎfÓ ÉvJ Añ wéÞÆ Aø“Ùº-þ‡Ñ‹_ ”x+÷À™[¢! Ý#7ñ]è'¦ÿ*EžÊ×Âók‹Ûí¡^sƒòùÑG>„©š ÜuuºñššMeè£JˆvºrF–5›h8‡qcÚ\¥ŠùÍñ:… c%·§ØÆÂZaÝ@w¹Ák8ü+ÉÂÉ,Í„¯m*{M†rŽêQ%Tzj¡:¯ v–<Ù»[ìC_ûÍK=*Fš&:ý Ï© ÁÂÿ_5£Žäh+ÒÛ« $ y®ŠWŠosÿäXEÆ€‰Áåû–¯hÚàŠ‹®Ûïp¡“7óziò{Ý#4 +endstream endobj 406 0 obj<> endobj 407 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 408 0 obj<>stream +b+z2¥¯^€¦î‰°©ò‹Í®€Îj¢ hžWõGŽ¦èïÑ“åA[Œ ~†¢XÕ&š´S¾JÕ½]4–¦CstÚ6ÇŒôØež~+¥m6ŽÎƾØL¹‘ÿìjèô-&Ä^·nÑm(,øJ}†€RzÌß 9 „Ë÷Oß’oÊäÍNªaÓ¥±ã(ê¡ `-{ÇeŸ”–>“X}ó:á`á#Ä/í…Nc½r ±ÿ§C@)¾Ü¾4Ķn¸Ã`ÿµƒ$(jm<ïˆàϋ܆c¡0L5x«/O°ÎjW¯mÐè÷ØæͶ\)EÛ‡{[°.¾dSv–í¶ÍÄõB˜[¼o«ñªž¶ƒ:•NV3¸u»ÃÝ7JÚ—ÃtWLxL¼8êôô)xféˆëÂ)ö¸ÐhépÅTû\ó5EÕ^Y32W; +0"hM‡™ÌHŽIÌs±¢‘¯ÝH{´‰fS}·+Ó,Eú¿ †ž{K“œÖ!HGX©öüj§¥@/ejÒ ¹]’¬Ö”fktT.õæ1¿ø÷ùÇ«ã¹*Ý¢Äùè@v/ŽÐ´›%8¿ +‰_‡ep’Ø(9ÕnNªÖs^çêyvßâˆÿE0µCL¤uµ¡‡T~ßÎYG” 4!KÞ‡?/¬0Õ jðìÕ„+=yÃéOÓ:ýxï–Â!H„uæ@=Nà5Ã&ÆäÕ¡ètV+¢Œ ï¬y·ã‹< DHBôî*ÁÆU­ßI¯¹vG\% +Œ,ts¢xRX=.#D•<Š ëR±mp ++9„d¦žØ3ÚºÙŒfø +• a÷A(º¬î.0?³ï—¼«MW” àRlJbÖ>aÁ’‚ƒÄ +Qw”’âþRÛòAàè¾ç˜(B<)p«ð+‹r +¨›ßÚ‡)ô`¼²“$¸<ç_RöšòH=‘w™f'\½@m ÞÛ3”[Zo¬ÀÏ©YeW’†½ú2!³úPíԡQÊ,_KO`ã—2´óqº_ûõ7 +k ;GìáÍf ÂcG¶!E@ªd%ˆ÷Låÿb$ÌÜ0{ +ó¿ +Àòó-A,ÿ†KñÿjÉΡh‹å›?Â;Î=¸C&êŒÛoHÍsfbnjñ²Ëò¹#£YâøšU’ŽdQw/Œ½ÔÍû§JÁúÄB|œ¯ÈŽ}ï<úiºC<‡E¬ò³¤KºÒƒam=•zЄƶg%¹ââÇy}º¦´°Qh÷s +©6ÐŒ¾Ê)¨zH`7Ml]éÿ¹ÖÁ)@BÞR– Þ6Õ´ 3r¯®ûlP^ ü+·sÐ!=ÖÒûû‰…jbw»p¿E-ö®žýâè¦ (ãÅ,}2ò‹ŒMX¬QFà$F]!CIfWx*ùP[S ¡kn—,ŠYÓÒ{Žì&)I{ëzcr0È ›Ç¯Ç­½ºp¿Cñ "0„d,Oþ‚õÅZMY–‡î³uŠkŽ€r9^2Û§Ôåg âWüÿ :z%¬ÒÖ{m +Çñ +í/i]~, 3+Ÿ…‹¡&Áí¿fpb¤4›Z×ÖõŸYLïTÓKlüO.ï•Êÿhþeƒè!wÑ!±¥87bŒ«Èƒ,]&R7%åöñt ë2}OKˆâ6NóD¡gÆW&¤\©ˆ“`)Ç^– +Ð3rSA| 6¯QÏ¡ ¹oü™Ô‹ÂÆÙ–É ð¡"ÔÿšÌ£B"s&,ÝŇÆÂæOBÑêŽÓvùFsQÌý#E?i54@BCÔØŸ)¿=3Jˆ á¸¦ÌÞ=ˆ¹g˜x¾¬Il×jà¯×K5‡ ßË©~Ê.MiJ"=àÎ?³ÏŠ(‰µEÙ÷GäsgkK×åÛö8ÕžGºZUÞ5× ˆ½Uü« +Âã%À¥7Æøäó''?x]·±U)Gƒ*äÇ6¾Û¦@ B]á¾6až49Ü$sé jÀr¹'Š æŠ4um2*q-É0ÝLÿ3-ê_©?ÙCöiH-=_†kp’iV_‹ +XJ*6¶CwmîJ«yáéý0VŸ#g0o19xùC±Òž³Ä V¢ ,°ÞÆiÍþ«'iÝßJ$ÈtÛ=ñþ·÷mõ7±r5¶áÚ´«Ç?Ë–«`Œw3lv63N˜56&ÇRO7+ï:Ÿ¢äØ ©Ç¯ÖŸ€Û‰GJz(õš·Å’@V¾Ÿ~uÿ œ0;U1.mAãðïO:¬")¿dûKî%¦ÿµ¿¨: Ñ +‚BÿçÙø8«òêjÀ[ë:DŠIòBÉ×»ÆkàÝ1¾+Äo°ÜÇW´Y1Ç¿˜ý«5Ñ,rȤçÈ’¤ÿ„·yq§/Ù–3” +SŠ§Bbçþi ýæÇ{žf3àøîÛ‹ËW…Ȥ5`¬ÐKnàŒÿxè~K… ݃x´ ûÖFQëFˆ94 $Èþ‘!Ò³‡{¼»¿TÆÈRFÆïGø¥Ã6Âñ|ñ­Ä]?½Sé£cð¬'9ÞD47OÄTV,ÓIJ0! êŸ&¢1†õ)ªý× ++ ÷jdÑ‚£îÐk£eSAüÀê©·¼JI}ænöº…£ùïæ +º—?y9 1 “‰¾Õˆfu^mÛ—äàÔÀ0Ö%Œ•⓵»xM·(­BÍÁ™9ô†©¬»Œþ¥&u3Ä™Pv{aÔ³4ÜZ—Ý! ±5‘¿Ý Ú3¯¶ÿiN¾ãY_O+ý£1˜éq[§†SÓ¤’)õá.̦ár@0IlWÃk;Êô½”¯8=ÇúÕ1àÕP——F¼>ý÷È÷{½H¿± P÷0td° —ì.qœ„A“'ukRXáoÑåC•åf¼wÙw?°­P7¥ðµ&ѱ1¡±È—SŽÒ ²gÕ™-‹‘× =—þ8Æs§U°!–dX²K?ìEÝ!ȉš ;hÆ¡ÿf‚/üÆr:ð¡æÀÔgÀ‘lm3UH½qº2 Çš7P$´ˆŸ[R÷Ïå ôÿFf­)K¡ÍZ½|¤Aí/o“¦çjó`£²Hׯh+3Â6Þk“¹!Ó¯Œ^;qZ‡tä!i˜#ß/­ïbƒtÿšŠE8±Þjår6ÛÙ¿¨âoæYåà;`Àe¯ +嶯WçF+Ø°“ 9ýnƒšeÄ  NÖ–½ï×B‹˜Ü‹“Fnhþ²k¼2•ÝEÊqÕH‰kµîçJÈÕfBe×Î' rÒ5TTIÚiŸD¶h”öŸ +‹BVCR1³òk‰3Xg²_shÂ@-ŽÅÇ*Ú‘ÿ>DäܛϤ–ÏŒírɘ¡ñBe"«¢ÐÔ “½4À"ò°îfP®Ò8žÍØ£ˆ¶ÕÞ@¿àÁž¡öö'#é=IÏŒúz+î™ñ¾>cDU£'@à©Êôí˜Ùè”?”œ~¹ ±‚‰˜ŽÖ˜È»£¸½† }6‚ÛøÛî@÷bIz™Vdn„7±\kÐúy‡6öœæu浫qOué°Ü®ÿO ï"¸ƒC☀Z;ÛkÈ!3€Õî*Åì1p? +…¤z‚Í÷Éîª*uÀ$‹¸ÐÙ1öm@ðXP$öí{“ «£Íå|oÅ#$i)Ð8þNáÏâ¢\«íU"Ï +4(~E°³ë?A¶¼_ÂÜ’˜s_߆`±»È'賕„p¿J;(@³Á/Z"˜PôãÞDka¬ÑQ~ê66×ö˜0õÖ!ãpo“dþåf§½ÊÞîÜpOE›_ +®x–ôí××¾µjç…©sòÔíQ0\beT^ÕMøtWyåÖKÿî‡)n7ö6Ttê•Ï=¬¯ °éjïÎü¤Œg†þ áž~ãð¶º1(ˆ]òÅäÝ"¤–ˆÝc•‹ù§_‡tN''p †Q`Í<.ж5V×äæ ì¡<üÊ¿Múÿ2xëö~KÞe@Õ¦x ?ð,Ó]b†ôþ…ߟr¡Ë\·ü22Ú£[¡øl£ Õ¿ZYW eöB;ŠR£q ŒƒßU“—¥M/´WàDUêöÑN´}8Ï—t‘rÒ–ñ¤³˜0…&O6Ž‹N6oï\t·,ÎØ;’»øÛ¥Dñéç²½àÖ Ø†›±0ºÉCGYÖ•–*/ÝuÕ°|ý©aŒ&ŧ¥ €¦~§nC@rÏç¦'§“¯ðú£G`êΰŠ®’Ü~ +endstream endobj 409 0 obj<> endobj 410 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 411 0 obj<>stream +ŠHÔX ÞtV“I^i‹ˆà@‡‚…‚’…ª6øžupÔx§ª™Œ’JrúîîpýV!ãî_ +$éé7Ù]WêS ·ãï¿yÊ6Ðë¸2À=XOF0Ÿa$›Ï=4¯ã ºÚŠK¦™+>‚¸+É„j9½¿¬ÄÙcã÷ÓÆ ‰½ôwš˜ô–ÂÎü"M{®¢Üƒƒª€Å„Qï•ìu“olí9¡ð‹ÆÄF›!) ý=¿¨(³€šÙô4úŽÜ®¢‰âBŒSG‚Ê)_˜ +XùЄUkÆÄÆ’<ñÔ%g™Â)5A}WÏC¸u¡Úâ&g$§B÷`ðó1­¦[–¯ År¹*R@ri¥&,»`lj¼i—¨Ü8¸¨LEÁ”00QZñ¡Î]ù,¶ wØ=¯¡Ù1Ô M«o˜¦è?Jö}‚¶4ƒi¨ÄSeÆ‹qOQxLü™¿í”åú²¾ÀhþðPÐMhó…mÊШc ˜ÛwöŽâç…WEAè*HÅuú•m0÷ëðò6Û€ƒ):õîôñOB‘¹bÁ4˜§óûŠö­ B½"XöÅ3V9#löp0eµ]«¶üÍ*°PÅÉå +òèÑh¸‹…ûÅ/fQ —koh’ã]i(sj§¯ËûÿÞSk–<==„:¯ûø¯WfÌ_63ç rkÿ:úƒNá'´U†è}2–÷úšwŸ!&ÎæÀŸ_öìlCnBÇkaXeâ>Äp†ëO¿8£Ð%bå×­1½7Ûe¶è+{,!`?Øá>PžÃSS}%½ž¬Gãö¼ëË‚ªŒÃþÉ©#˜^®q–®-Ï_ß?Pß,è[§â7jù/>dä­ð²Ôññ­î`wƒS“ËÏ!‚MýƒÀZ]rFÔ6'o¶<ã¤ÅÁ5•%'¹dæ‡äÝh@ÿÚ%µ¤%½§,ˆ_M¢æ`ó:!]µû'Û%{×* òï5ë/H ä¬ûáÉ¢ãÂVꢩ)}Òàñ(àGrOOë$¤ûÇ!O +Àm[b™³Ùú‹K3[Ž'r²—nrœ@ŽÝ½%¦˜®w¹AÄÙahkçYLèä•ñ9M…p[³§ÐV‹Dᯓ4Ë•ž\™I yTé’,y®D³,VÙÞŸ —®"a—OЦPE?Ñ!µ +ÒžªÁ X¢ay–ˆÛF‚ÈU*ZÛ;ëjîŠÐqå/Ï C¯nüɨ§ën $a¬c¾4q-ñƒç‡•‰é¸™ËDÐ'»ò:"Ä_{n°•Z¤ÿg0g'#¬Ùu%r‘îtH}¢ž)¥®8I@=.JSLûG!@mI&Ì´à`E4ÞG¼™ÄšÚè oö|*֔ܺºPÚå!_lÔÏakð»šÁ‡¨9ï1{Ñ!›êÀ›e·°ÏoX¥ò13¥# ·í +Óˆ*–²d®oÖ˨;( ~)„ÎÔ•›ãีsrúÂ[åEmÌۃ$¨LƒiZ+tÏÇÞZ€uÁD˜ÊFŽ¢¯Ywh×ê)E}wÖûM#¡Å1¾2k BðöNÍ·ÅÕ"—§!d~:“QÖ,ÒúÜþ5¡o™²FTŽrÃù¯a¹ólH™r‡U0DT•T÷¹xüƒ§Å8¯ ;m$™ƒàm4Ì¥ÔZê7|óP Ü®i>ıÈñA³—_)HH¥›³ã·Ohü4‚í"2#zÅdÔ@A³&ò\GŠgÒ=JìÙC!!0m¨Vz^Õ¶®Ö³Çð¥¤éµ?¶³m¨¢–Rà :yÑe5#òSþºX-:-€U™­'*¡)8Pê ÐÓJÀCM¿¹†‚ɲI0&ÉO¿ð^9¼ZØÙXmÝMiGîÞ<@AØ ›^L JüKbqšç6¬Œ:—@G6y‰€±ãˆ^a×éÕÁ@,î3!ór®o#JªCµ +Nü²]¦‰ËMã÷éfµgNËÔ©ùýáÁhÎ÷ÿ»y÷@vSv)9ä+Iéø7Í{K!\ö}ÕØ1š#‰1Ìôwƒ]Y¢Yrµ èf¬[Èè×Á Àþ^µË4Ë‹0õ íç¶9æâ.''dûÑŽ¸•c"¨‚Æ™É9¨" ¹–ÄÞ¹9ÌÂ’p$ËγNxêb·mb7ѳ*”o†eÉÍYõÞ?g¶;CÆÓi £Û2‰Üý¿tyéw#ó³ÿPVèÝ‚µŸE7‘_—Mþú?‚ý욤’6–z:çN0÷ëÕÿ5"Û«K¨Ú­Æ»·¤ì׆›¼@þ5/듶ý1ïç ¦®nû ǬÎT*^J ²æܧ@Íç±Ù‚¤?sy–®ÕP÷;4%Püqïü6 *ê±±£h2÷˜&ù¤F;¦éÚ) +«Ãèq+cI]æ)ßëxˆXßyÐfp‰ì(Aæ1–óöwcÕ$+"Û~ºËWAHa· Hë#çü|£ ‰¯ZÃ%täžE¥S¤‘ÌÑÙOÙÀÙa¦Òˆlï¥ý«0wÞtNÐó7H$®GL³MöPÅeÜÁ] ‡•±¿Î;"zQ«'Ëo âçvçDîŒü.96w2åK Ô\ ãû+¯+ªØ(¹¸ÿä ³³˜¶Q +Ê› û6¥5l=¸°^ì¡fyð㛥@çdK%²BF“ÓéM̼H©^"ÉCêè48UxmŹ]‹Žò F_ëÕA ÊYµ;66r/~¦ûZÅ;ôV-1˜ÞåTr¨—6W·~ÞÓâFzþü+ǘ4……}Í/Õ6"Î;ÏÅܱSOmÆŒé ãØ3ÒI&\lü ,ë/å)4)ãÆGÎL5¢íå°šÐUòص%V6Ô{k_‡é6‡á!yDÔ¢ÌÖY­ÇN*ò“6µhYÆ•×kÝ ªÃ±Ïk棌r±‹ºA5ã&f„Êt±:¯bÏ×z±MNàB‡šé +`Ù@†ðÿ¿‘ÌÜé!–3I]ª¾HK +Œ’í­‰†î%DùÁ¤’ƒ€P5L>æ/Q rt(¬V‚I«ðØÁ\‹¨Îû#¢ ]\ÐÊÏô%‡«½ÌO) Êüœf­Ç¦æDq®b/öþâz˽‘¶/8ÁJÝyL™ 6Òºë͉¨å]YœP +ÔvÜ÷@Ø[çߢ0´ÇQ×}~`‚µz-ïË–~#ÑÁydF^5ªÌv划盄q2>›×¥†ùžsB=î*º¯Uç}.Ñé—!ÔMÁ‹oþB=ºì"ÛøG`ÞcÂ0d W/yQ© •{BSﶌþ.C‰k…‡Wg>¦u³Âƒ®É<½E1 ½G¯Þ£%ýv^ƒØ…ÐÿÙ•a×ldz5«EØø4ÅFÜè,Ê9fý.ö2ßHzüJí²—ùœöb"3òÂú]p]G9¨Ò*øýF¾dåi2E @«õБL[,ÅÎörÙï­¹À»·4õèæa欢•åZFI"*Ûu2ä-ÙôàåêvbÛ[—Ö‰ „ß™æu™Ó+XÓvA…†Ü(ß +˜²6JxÌÏ[ØJ¦%¾¨žr56ìàâqѬp-öËâö’EÎSðWú!$UQ©'wºÜYMÚàH5ØAˆ,Ùí? Òrí²¡LeFþˆŽú(Á%^5/£^ÙOÒ,éïXÓo¡…êÐ+C¿&»÷ÝpÍý@Ó=D€éì¼2ÚëÐ"žÅ‹òrv:c6ÎwNézèN\²±ª±~€÷o÷Bsmî*ð?±’¤ªH°Ë=S¿ èáÁh9Ÿ¢H«Çžµë8øuÏnú0ÍlÞÀ¶ +8¼Þ_IW@[}¿|pp8ˆpæR0h¬MÝ‚ æŠú ‘¤#4쇀 +ðÈçqòF>Öìïál+É’úÉQQÆ{F0©#,¸¦úQÕAÛVž7dUƒ˜W(ï¹nè.À?lìdKMÁ“Ã<ôv„Ä}²½W ua@™Yú¦¨ºž«ÿÊÀíú¾Q´ZlâñµéV³8C¦JÒþ¢X»•?:Ó‰ DÖOU|íx3ËÁ‡h†]>)Ö”7Ú %±È¦[½ Ñ؆ÄÑÕüaîºñ°a">Ôu€|ØUöp"Ouºc­·—=Û;¤×ÙO_¥ËÝMàfêüEZÀ.{ Â}¤]ñÓs/?ŒÞÇn àËõ6{®qãQ…ú­§#í5-fä®ïr6êLßt$=’ 3ÿà:>ù8“LÃääà˜›+ +ew8@·¶…ºoAanÏiäìÈeæ² ŒuW[•ôy'k”»ü»·ÀMÖŽˆLåºøõ%‚¸DÆ°£"KÕv‡ÿyžb«Ó »<îLPl4÷Ûõw$sà,*K‘£ <|EÎ,·³n`miê>SëgAÄjRÿ!|ïxüR[”ù¹&g +GKå2aûúOÆyÐó3²?õ·ÝÀ*”Ѳâ­Ü!ý©Ž”}p<3Ð}È·ü(x×—}DgÖ¿i‘ w3>b6˜ØaxWŸ˜íf¢ŸGë=ÖÄ+©äj‰UM±GLAÎÊq×/`Ñve¡Zúášp¼¸¤´=qÏY|*!HY£÷©SÀÆÍ~³5 #™ »ñÀÔ^ lÈ&(Ø)·ñ§vŸydV|xHmD¼õÎqw¬©}…ë±~f¯Ò$_KÚtüq–?÷êAäÄMuxcGD†¹×ÝÇGBÍj*»Üšµ¡á‰'ПW â½ò8Ç¡«e;³Ç¬IIsËep×ëç©”Â먔iÎp¾hÐßü°Äç—s^êÎN¢¿wñßþëS†gÿ•ú~¶ÚZ—Ã=•o/ò+’Dÿ€ûøAˆÇD(N)ª!zÍjõC3àçeebØ|©ðÀí–xÄœ“õ2„“Üdî„Í‹HÆZö2ˆU9¯wÝÅüï‰ÂÓ/wêiÕ«FD¯í0Rê%dr€ÿ›nžÃöƒþtB9„Q£ËÚ?JÝ»{«K¸ámôÏ:SÛÓi(@%’ÅÖj]1¹ªüVµ…KÀQ”nfSV¡4¢Îó®ékòx¹ô€[RÝß&Ÿït‚s”Ò!ó…,9UÜ›HfÅL¯ç„É@]Ñ\;½f¥y…ìpˆ{)ÛÈ+ÔªHÉ®³´ÙÃ’'õQŽ#ƒ}þañµZÄ ¡Œo2k‹Ýµ½Îæ_g‚5‹¾hVÀŽÇ×´§ÂbSžKëÕå‹¡^€âðD+âôµfKÐññiß1Žê +þÂðbéIñBé57€¸ÅŠ +R-dŒÿÄ€ŒOÚÖ½¹‚G¦W*[|\MðÁ€ß`¿7RI´÷UÃÉ:ì—Aø°wÎΑÓÇ>‹,ÛºÓŽ÷/I°Xü~«” ÚéïBWìÖÏN¸ìTT…°O4s­ç~öŽÈ›dcùÔ½@iC™c ÜØ\ÑËT |Ê”–MÎðt†ÇÕµh ­ë”žãw\å lQsf{íF~k‰X]†šºîc_A3³Ú öX‘ñ +6LJv÷SöJú•Ï…§õ%Êà(Os”ÕŸZÊ>«¢>Ñð@®Ï•3è‹U‚u- Uí0“Ó_Joðx%T‰.C«Ö%Å«lÝÎd{ÁÄ/Q +‘³umÿc™"Ñøyx6¢nÖ`Ù çØ+éîUSÂò}_‘ zLY°Ð¾…´ÌîÌ.e0å ®#fmb”Ÿ´±‚ÏSQ+OÁýÌg£Šs'! 'SÒB AÂ’ïTU´ÑI²^âe$`Fñ&È·øZ…eCÁ͘¢~Nù´Z|!fÇd”j&w±F7ÕH¸‡•ÕÝ»™eÚàŸì ¤GéÞ…PT-Þg¶½Ñ9 Šÿ&ÝÛ™ýu¦ÑÈÀà·e©èþa†„•ÿŒXŽÜ”?á•tpf÷Ez­oü £ˆJ%ÂïË5¢¦¥ª¾ŽÎ÷à Uyº²«MÝ‹ßÐö6”´X{æˆ?Õ"¶}d‹­9Ö¯$z…"ãÃ)£“Ï"~vMS¬5g †• õ²Ž¥ÓÃsyaÀÖGøjm“¦sP}çPfHj±Ð×.tçøK^¿.>g–ë- +f +endstream endobj 412 0 obj<> endobj 413 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 414 0 obj<>stream +åÍI倡•¬Ô|»¯þ”%ÒIH„kÔ½dÑä“i~·È¹‚FýÖe`6#¸·=pWþQä «§ú(ý’ÏV»å:úûù¨…A ͇ÒìÅèÖ æ’ÐD*C.ýÑgJ‹ÞéôßæäÙBv# öëˆvs¸[U›M»V&¯q•:ö¼, +Ÿ)´ö’ÆJÛ³Á=ðÛZHø¼p"¼`Á­ú2Zé x˜€ÅMÍÍŸkùwZ´M_Ïßx×z)!~öó#üæH—Û^s›CiLæYiŒ~Òjá‰k$2‚(>ëa6 eÊM£˜ ±ç#'ü`Êðâï¼2]dZ37e¢ž¤ qÝÆÑgðKo±˜êpÜp·lÕHx2ÁÔ•#€RÆj‡D1ˆÞšî-3k£O«‡s'³t;–’bÇ»/_¹Û%zA© +øt¾tgŸ íAáûò殀Õ`÷ÐÊ$ÙÂŽ¦ ›fŽ.é6ìе ¤n<ï)¥›Î¡žœ/‚ƒ÷¥8µH©ˆâC‰¥åôðóv¹÷¹#v-D¶ïût€ç¿ÝvåäŸôód_·æa¢P’ãA¡5f +³&{᫦ +b`Ãù°,;]Oæ »1Ì+ÍÓÃÙÒ~k'Êãs?¦Û[ ¶âSd1«àK¬3Ç<˜íþ”<™Újí:¬ß¾ì¾lÈm¹¾M-cûêFµ‘MÍböõ䑸 +ôAPícfß­I¤{RÒ…ÿ±z¼Ž“ÎhWúˆûPž¾Ê(rç}Ï£Hä"¡ÄȤvq T'$ƒ å†#6/Ú*ƒìm®<‰„N"–Ô«2Ùò/y¬(>v}ÜîÄ«s©ÞàK…–­ñ[`'¶åün·$’Œ¿Øi6m K"z@µö± eã°õt÷_HaÇ 9£Žó”'±.H`±í]™….Š½Õ¹“$ÌíþäŒ!ÏV;^VRà2ݘhïµÓ“ùѽŽ†UºØ][¾»˜Fð“ížâ¯/ì}P Œ„^Lš .xNC÷¡ý0Àõ‚o´ƒˆÖ•~¡ÊܼéÓ¢r:Ó^zþèíì°û¼¤œT¼Ï&›Qn­Ò…|a—ÅM4`|¼œºå n»qèÕÙërƒÕñ®Ú +Õ¦TµÏ¡÷RvíšP’$¿¯›Ù|P¿U¢îéækÊB5C+u·IJ7ùrW¸«òƒ“ýŠÎg +–ÉÜæ©6æÜ™µ(ñAßö¨ 0CNÔ=Ûšôyë“° ±±ÜwA ¯À“Ï$¯&,rÙgÖýí™÷D¥y^±qᓸº„GF'–Ç#]¥Gàÿ—²Nm— +XE~Y¯Y-•’°›–­‚6löU}ªLD`q4¸€ÂG¯~ά­õ€MômŽ,—Ø.®«WHÈüÃüÎEkrkTHÓª›Iª°ÈKo€Úúì>žs¾j‚¯ºº4è CÓêã}£X…9Ü¡0¾oÄ ^„ÜVrl[ƒ;IIßHøWŠ¶M ¢¨ó±;Ž²5UHXÛÚ¨hw“º”c"s½ª •ïzÁÕƒYô2»Žf³H€«´4‰!ðz"6Å»}h=9ž×qiL!µ]´ãƒ»'Ô—ëï›Iç¹¢àF x!꽩ʜ5‰ùž$¬…€z“£Õ +åúR[¨rP'®:c4w÷,(2@b€&ì.Õ¶ŒX@í–.ÐÖLpѽ4­È×·!†~8Àwé?M1i!Å’cñ\ªÐ6Mþ@6Ë㹘&µ×,æ÷’x’¶ãÕ@/uZQÞb¤Æ,Õ´Z¨~`ÃivÿWú—h$/ÝÞ"6X{Úz+¯€vßM‡ ëÈnûË ¼ þQÐ^Äd”`‡’ø®#ƒE½‘F®´ÔÒö2غi|ô°üšÓ&È^Ý|Hîú±7Î#æ@&¼Ïóeá)½OV ÁiÙqL=ÛÜö9€<=À²CøLâ…u†íÅ¡r=t[†ïì¡=ÔiGÇ€â#8•¶"%ÑG¯Ó£åñÍ…ÅbÂ*/£GÊo¾¾L¶Y¬ì,Þ÷òî"Æñrʪ٬­@Ù»½¬ã=>›i + ×óº$Ô80·Uë¸P@j¤H&Qú±÷q%Ïש:?ví»qï|z<šËö„䇖6Rä/®¯ãÚ$B\y¤Uö¿N])w4µ­8«ÂØÐ!}m$ 4½¤× +³]} èSçžA»º8PÃÑ‚õeÑZ åÎn`>güLú3Y“‘?î ç,Œ;ÂpSy°hÝ0œ¨C8} øÝlÉ)hM+ö‡ª¦j#°îÿ¾Ç“¶5ÅŠÕ°ì߇j¡n·ó_CZ^ìÒhÉ +ë§1YÞ;YMæô #tòéE#[HáL?¶±`¶+Yú úáY{'4á„~ÖëÅ&‚dä½( £f]AÑǘ7Cœ.« ¢ÌA6¥!&HFìl(?CÜ Gp4qqÔÝžöâ:917%%lqðýÍÉØðRóÒšrí*𓮦tªSóÛ„Ÿm¢¯: Ðໜ¶Œ“š—E¨Tí,¿`Zh'pðÓç‘")Á¾  ån•ˆbHò¤€†¡'`DÓ’*êUzNt|Dø¢j¤”÷&Àä×^XAi$eG‰8U5Y; †îÅŠtv§î!¨­|UŒz£xÊ–Ùçr©Áµ<ÀÙœ#¡(Ql1œý«¼¡„ÅOÌ7éš`Àsg +ßë[Õˆ˜r» #Õñ7£x©¿¶Ês H+ PöÏ"Mô§Zí¹ÑK:B*)ç®eª_¾!“^\ÃE+~ÂYÊß3VÄÌ·Þ+±åÜ;¨ÛóȾ~Ä.;ñ%RÁ°-0ê[aQo‹CI¬Tfª¨nž#—ÅZ¸dß©`jÍò•Šy:ES{›M­H#1ñ³Ú®©u<(¸—§½k˜™Rã™ÏÃKO$éEr y~¢º-惔“÷§´3gÁÐ ŸfU$"“Òå]…ÿ¹»sœ9C .|Ñļ–S½Ð¤Yx0>NÙÉ2h*þ[I«U"ÉS³ÝƒÞ£ØØÌgeÖ]Ìîq#ËT~§xáÀÂH¯ü¼ã™ËÆC'Úзœ‰È÷EÊön°’Ð;Q†w%„ªŸ#fŠSx¤¦*(.jÆ— +ÿ&#=âVƒøôúñÝK—þ œT ˜es …1oGÉø"*"ÿ§3wôWÀ÷–ŒæÌê™N=Ñ¥ãŸÈÎlŠEL¢ÓÑuñ¼¢‘zÅ£R®ŽAM%_ÉV¢è–ž=>(5 d$À“lžQDãæÂ``âlÒ›Cq‚ˆ™C³½„3É¿Ž½A_˜`Ôw©`ä³+„¢›ýv¶çµâS•ÖŠ {Z8ÀÅ0¹¯‘iÕqÄûJ)­ž6ÿéÖ§u¾µý…Š6ËõǽÖu÷îXõºü|6¼M[„^ŸaEO Äiþnñ¥¸À>ÌÌ1Z‹]Üfäõ%5„Æ)$«Ó2††ñ/+Œ'OzU+Šð-ˆ/×í**m°n–|v‹õ ŒJ.{—Û/àÄ5­s¨jó[¡œØÜ® „(,¨g-œÃ/dUÅÓ> +Ÿ…ÜÇ0€¦À6,«tÛ ç­ŠÃÇnjN“³¼+Ñù¿•áý&ÆœPi<_£eè‡"IøI½ÆÅ7GâÉZ»³b +SSÖ©„"°ksrtnÝCGŒ«n¥¸i]àŠ²$F/tàÀÕ"9ûØ\çMrL»N«ÅýÔŠœÍ€ÐWGÄÍÈ“ŠÁï—$ØÓlî”–×v@6F³\Fl§}…׿Ó¾~ ]j³7}¶šm^s9.e9YM’³2êG¤3 LƒO&jĽ”XŸ‹¬M>ëö/yŒej«:ÅÛ1jîÛ õ ¶kXOmØÞx•æî^ïš<Ð#WaàGâÎ5᥉m„‹.v› iY6ªk¹‘®>´õϦA†PÃëžîøÍu¯2s W„ü›ê'O§´ü:¸m•àfbÑùJÿ`^ ¢V§¼6†÷®¿ÁN×ù5/¬£þ2*k²•é19‰Š¿ÂñÍ\õ:Yw¹a"!âWÔŠ³ÄÞùàjZþ#|ЪÛòäÿC ¾9Ì¿Ñh¶3Ýl¥àlùò!ž(_±ßf(Þ€çÏËûP“KO&Fl芈ÇÆ:ŽÒ`œu>µ®8ò3ictTÌj«çhU?’¡SnþœúÂâ?"{ÑOšÓ]_«Îb›Æá)*Î. ý•€i¡ÎNÚ–‡M&¥Ÿ‡0Ö ç¢µ2Ž4&í·OšávVz¿ãši¼B¨©i!qY€¸jœ|Ëö£BšbB¥ÓÕíˆ`•Øq=zöJÓQoŒB½KFÇÆ ¬ZUsŠ£ø3F%G£YšçKÞ'?lË«Ú†™Ã} …ÿnØôЉø!&mŽ9zò¶ÝBü‹[¸²@&ßTûäZªSBÆÙ.…Z–²Š­šµÎAûóÝöß“ ¨…urÉÝ/ÔšÀ‡$[éÐ0ÊP$0Ë»”å„+¥Î%K»Üç¹@¬eú°ÀZ×4YÞ-;8þáš>Æ*Æž'ŸëϺÎcf†Hgç²ÉuƤìITŸ5ÄQœDÏ0–’(ërC¦è4RFâßNûÔK„q‡ß)ùZ^Ñ3ð°ÇÑ6~XÅÒlà{ì—ÈEɯŸ @ÉãÏ@&ܦHßÃ嬜¼ rœ;Ä™ù À#ÖÚ¼JLJáãóÊ€ÙÇp“hj¯ðI4Z + ~¥{Yúî’Êè.Ü!ïéÿyÛe|.òõͽ‰iï~ÃëžÓÕ÷m!äèÿ¬»íßPðxœŒCö#!ZüUQp$ŒCÍXª¡:qíS+è·XF%jh$Ôkõ7a[Dó˜‡bÔ@þö6ƒ,ÔÜ@d'ªÎÁ¼"Y#ïW'Uí¬Úñ^öB÷´³7 _Îf>Õü¾òÜ‘¨|’\jèÅCå™&–ü*˜|sì=E>£×`.×¥\uñ ¡Tµ,î ÇŒcàô™jÄXþ :¯Ì’AmÙçô7´µÖÇyªÀ–ˆ}¦¿öAfWnÆŒ÷ˆÛ*?ê|:ï£d*ò’8ÓÀ’‹ _û¥øÔYR¸^ôâr­(RÝbþ|Ö€_”H‹ý$?Öôxr§ÜÔ1ˆí@m7¹K¦f³…ÏVb«àÚ"ZH¦v‚y}ßz“µ>R­·÷"Ni-á)\2ÂEÈ6Ëû¦ã˹o‚ÓÕlFí+NØ\ç!HÙ´€¾|/ÅYy½Î }*Š˜²¡‰](¥•Ê—^»ý]7,󪔋‰Q¸=¯,ʼ=ƒ‰ –~ñbœêÄt0]`o2ikE»Üקb.QØ××#³SÕÆ ²_аã‚„%”]˜˜Ñ'Œ/q>(–`ÍMl–QªF#.k†órÏ\°¼ÿˆ3®InB"<žà™yh1gõ5À¤Ã*ö^Aš ÂÖ8ÖR1ÉÀ‹ÒÖ,äc¾Îå‹Šbeîöí@¡²îšöî¸'…ßœCscË0)é²ã¡òŽÔs9çÚjajú1¹~}¥øÚAçõÜǘ”p¯*1“žø‚s­Uòb(ÀfN¯BÈÌ2¨·&ü[ˆ-eºskBp>žw¨êWàG(zÏ®ñƒU}W1s”˜Ý¹„™úœÕL¾hVåD­-ÒæPô ÎÆùÓÈ•x¤´ÝÆAàÌ<à¦^-U¶ ß·<Ú´ÚKöb^‹”G~‘åOÅ= „¼>ú§‡ëdļ"8Òã@ƒîíßØ.QW÷k|@“Ê]tÕ[Ö¨ Â=/ßé³1žÁ(Úg;OMF'÷}Rø"lHë+3k³e"F ’ÖÞ-®©ãåTÂÇí8wø¯¹OÚêþȃ)%ëíkˆ§â7ÑÊ`ð‹ƒ~çb]/s)¢’Óvw9ƒ¶kg=Yd ÆWË©ð}yŒ»¹Wü©mC)<ö|VAé"£>ü¹ô=v‘U‰«û +ðQ¹@Îoû@ó`,TOE« +²‚%¯™ëŸëž/¹"ñABº+F˜õlW»ŒùSsÝnç½¾}uÑ(@y±ºÂœ.KUʘ)+RWUù×6­“ºqR¸8ô£Póñ³ÙÍ¡ ‘®XÏO˜Üô"ˆ,t××;Vë¤Ã.°^ÔÓýÅÞmÀVÙ„Û;SË);±ª®u„×Ëó€W{ðÒJ³À<âÕ õñ\ä¦núHõ2Ðn—²ª¤›ØŽ©CÕg«<¥È­7,¥“…†•û–ÎÉÕg¯¡çp³6&D© ×+î?åÑÙûŠÂ|ÿ.‘Þ¶¾Ø­êjÛü\3iyæÛ‹Yû=]•®gleX}ŒyLC~2Pºç½Fj¡É§Ø%ã$ÁMVÉpç: 2B»áŽÎ1.…_úŒXV %wˆX+Öh`°‘“‰·9ÂáÕm¼Ÿ›«ã¥g[6ksÅÁÔ¸«* í;ÁÆ‚åá¿/ëÒ â 4¼$]M\´Mò ƒÔjl}wYÿ† eo´©á·V`¿ûšjwßš›ª^mE„ù‚-Íg'’æÀœÿ §RÎŽbTJ»›ªŸš¸Vl =x†Ógìß +ôµ`âC´Yf4ÊÏÂs_˜£S:0tLS‘ù*îhP²Dêæ-µn"~gðŒ¿~!åñl¶m‚òíúÜ+ž—³TúP«¥Š +R¶ïŠæ%T6¤~x‚  úãÿDó’.1SÔ¢Öæ¿‘à—¬Ÿ¥Ù´µTIÊ@jeTqyqT§Àodo#’ñOæÏòGêJB(¸ßÇÈNmžï +yQZ†tÅ×€jfž&–ðÖ(q? !8ñí^­¾*õ‡ §åÈñ‡Ñ-Ô— ï¬M¢’õg‚BUD,þŒb³6?¢,åû#\åÚVá}d 8¶‚)vŒ-3¤FlŒíø†â®aÔ~ÛÏ=pÎ4Ñu7óæâšÈ‘¢Y®Ê¡õ&!b¦%á_ïPüm|é×ôÌBÿÇýLµ¼YæÃô¥*É©‰pÔÿ &×ñá¼Ü¡užj/“᫼1惺@±¿ßñpLjbn÷Ls +‹·×Kï0¡‰Ñ†[uÔZIXN;í®žoä‹ÀÔ }3o#íþœ¦ â©–n“Ø‘§YbWg,N¬YóŸ „·…=KÂx *úlXš4ÿú®»‡oC'-þY O|OέÑF§]ÕªÍyoK/Ø 6÷=ãјhï‡nWµšÖh€W.œ‘B»Ô”•ÈÍòñ°dK·jç¯=é=}]˜o“Å1Ù›gåQev[ XØ•+‡+ š(ó®†óÔ·ÌÁô¥N¦)ÿ‹'ÈD£„¤‹u©cŸ}äÃ8!a¾î¸cE°$Q›ÄI.7h’øž¼tr\@ÆãßêØØð'Ì‘—¥zøï‡~ã£Ö¹¡ÌÝõ¬úL½ÝâÎb^ÝLd`-7œø‰Æ‡d­Mˆñ \ îë/òÓŒêjÖ¤… :’ÐFÈ1œè!ûVO¦B&-ÞÇ( lDms4bq2,zE3MF&•Û•` ^\ž”ý`-²ø¹øLá¬UUÊ< ÑÖuEjæÕõœ=[š4ð½%Zšþ"¯·+‘Ž/Î̹.££Yª¡Ç >çFç ã¿{âø˜‘–k~¸CnÆtäñ$g"£ÄmÀ™dÉ8ö´Ro8Š¦H²4{ƒ‰;䬑‡÷Ÿ$\ Ž5I†±Ù}Ø2ÎÈG«¾gm²ÔèH0õ>ä|Þ~9X`$‰¦¸ñ/TÙ†¥ÔØ•·šb=µ]0È|Ô ›[Ãê,o wBãaÒü{X‡u¼˜„ÍŸ¿Œ¢¸zCæMú»á¥ÿÇ ´s­`WXŽáÛUÅ} +¥3×@žä¥%¢£wêr“„…;¸/-øm««R%ÜqKfDmIIžÇoõÈ u›®0F{éõªòÃ@üP©CNdIç.z4&Nù¯ô»–àÂr Wà…¹DÀ¸ð@ÎÀFÁˆ74;€.¥Àÿ)ì¤o4˜Žß¾m èx¢Ca…^Ölw§DÖ¼Î4flô8Æâþ\šÀñc`…Û%Uª¥3Ú¥ª®$X4žÁ9’þ½¸Ì°Æ³wç)Ö[aÕQ˜‡„;¦R=« ɪUVÅ º ¡QÖÛמz±i~eSžPÇǨ¶eU$ÑaF¯zM5µíP«³Žš‹üÈŽSŒ‘>ê1l­˜}Ô/¤ë•76R3¶›y'#oä-Ü”þ6¦l²·¯FlÌ]| °tfÙ>ö£`S‚È­+²:Õä}Ó70.[ª©bæ¹"ÛY¶1÷Ë”þ¿O„11œU¸KI;ü^ö$„k ú\ÏÒ…÷}E»c^©!å•e?ÔÏ xáá‰`˜²iŠz„0Õmiý›ÊÇ,€§†ßÃ<ïùÕpŒsL²ÊöOOd톼ߚÛÈ> ±9£4¿@^Ø„[ä%"õôKƒŒ5z© ÒÀIþ¿ëD“Ü?A´Wh™t y¸T¯d õGÙGË> +¹ ’žÀÝÇýø‹¤Oc,¾ÏT¾¤%&<=·Ñ«Å¡(dÄ™·ðO• ~ÝÔ\Ô’?]Û°TöéúCˆ#_,»«¯Yˆ†=)¸_ZÛÎßê×¢{–?8¢ÃcBž”ŒHl/þò9N¡6ڑöliŒ©ºö礇50Iž(1}IqvMivïÌ)p ;%zÎÛž÷Á)¥½¾™eI]ÿye™’܆ÅÓT ÄL’};­¶‡ŒÔáɃL.«M#›ßaBWrñ _È[ø†ÛêrBýª +endstream endobj 415 0 obj<> endobj 416 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 417 0 obj<>stream +N¬Ó +®j¬B2­×,tö‡[5«ŸxÕcµ·mèS®ûà<7ÕôÍg€Õûxº%yõ/üG—ÜJ´V’**eÚ‘ ¥Û â–eNŽ½ŸdZ©=‘5yKÚ̯Ø=u-€€¡÷,ôx¢‘¿úlãÚ ð•…’<ÆŒxnÆõ€;œìΧ~äÒ•CG^y·íÔŸ£˜Ò°›®Hòüžj'Ÿ>››EXï$Í0Žýx„¢é|ZUçBßìÐK]-T^~5hš¸àŸ¸*G ŸˆDÿ œ[›¨V±ÉoCm(»›?^Ë]à‡&SJßDB?¦’zŠêÐ ¦LÚ1a?U¢ÿrisDBiž#0µ5íÖYï_6 xgÉ]aHö@“Ü¥~ŠŽÑSHiðáÎRÌ¢ïÓ“êO帒‰—IÓ‘#½V;£’MUìÃÇǨ”°’Ú-f­ñàh°GÒøqY +)­ûÕœ_È[ˆw̯¦!ÿšIƒ%VõÇ?¿ƒ‘úH7#Ó „“ÛðT®[E›+¿Ê5®í›žüײ° +ö;hpÖVxF#””ãÆötÈô®%æ;»5Y«HM"å FTæ˘rõd¿¥ôÌ„ƒvi—Ÿn,K®œØz›±Y“ªì®#ìßuf£õï;VFÁé0Ò¾¿M#ôo¦/VôNíóz嘅â6TBheáC–ëµIÔ›­ú[~†˜ØòY'&ÓGž‡¾}»þúoˆ$~z›“á&Oüû3/Â3`tÌ ºxï¼òÁÎ6Uö܃—¢í¡Èõ×G+€Kø—×u.×ÿC뾓_>:rÄ"°××ÖÂ%'Þq/mtmkpÇáH[6-®ÎPþ G?AûË|ñ¬ðTaY;üÁó§iç Ý~•ÎplX6²Xpx1À¹nS‹!aSMpb§$*²f`üp\½‚aÑ°r­Bô¿/GqËûÍ ¥‹«¡!{uùP¾íþ€1tkMâ„@P­@Ùnrsd#±ÍƤxîÇÀ‡žCk)> ÏâãúŸ”ˆÐËú¹„vðR>è¼7hg,j q'­©YsP"؉Þ,·Gß&™áRoý2 >Ò¶º7TÚ柂|ÐöÚ¦“ì(D©F"lªdóG|[¨®>%ßÛ-XãÈšô6ÖÒž +àÌ„È×.hÒv&á:Ï1›«¡=0òw¹Œ¾Ê¢Ó \(ÏÝy_­G,;æ¸x¹r©-zïLV7,&žGÖÄæYpŸVÌ7ÆŸ§8ŠùÆ#‰C¤'@KˆŽ/W‘ä{lñ!U­ÄÜÕCAÙ5L;~Ò»„ô‡`‚2a]PæS³æÜ!W5AÈí×Î:˜Ów¢¯…Ü°™Ià Hg[ýÛÕ/„$BÓ8É]NmöÜúÈZ´-©ìgìÅ5lŽHÊœ•ø¶3Çôò!:Mˆf厞½à¿*Êðæ XП‹øîÄOñBÿø]ÙôÆ ŠzXAÒaþn¥=¦¦âŒRh­äpfÔþc$ØÕ +æÁ¢Ý'Gê/+CŽezάÖÐÔøÇŠê„¢¿ä•4ᛂ0“ ¦E>&w(ÓÐí.§ Y£·(ÿq¿¿¾ŠU<ó&S”óäªDÎেˆgú5¢2Ò&@¢3.u›‰ðŠ[ ZØ}ãÿ +S¾À阗ò°ÀG=7fmkkE ÅDivUL{† [+k?òÕO’ê ^„†…¦´2\ã/·5O2EZSÄ&Ä™åqç´!£ÒÆÊJ4ýIê™Òp4 ‹]ºÙ;ÀXò²yB¨9¶ ‰8ÂP—bÖ +Jð êEãëfÏ2OÙLÅݙΦWÝ>+ɇ”Ä~VpŠ[ÀÅI#°qlIµ’MûšAŽUúâ”oja:hkñ…»ˆ,3þxE ²j¯²+ €yWù—bêMÎA2 Žv.Ù‚ÜØêG`¦RSó5iÓl0ÀÁJXÇÌ|<Üû³2>1š”ƒt9-\>ð½åPáµ™D¬ â €“â8ÌÃB*€ú=Gœ¯7FlÇ[ð¶y ªH)æÝ×­~°„e4 +©”¿û{} /íP& Ëñ}˜Îƒ!ͤÍh„I­)®ïV¾Qž ÖеL=ED)5/RˆÞ\ž§û[ãÝ>”Y¯Ëª˜'D¨,zùè‘JôqX'žQ kXó£™´Ø,@)°Z*9³ã_€V“µ9´_ˬI ÄaÞ è Úߟ™à“¤øhÉ÷˜„4³ž—j‰¸¢wõ˜ØüšÍ™ÎI‹FYöÌЧ~Hbói¤§aÆ)q¬ ÜKAн‘"pß·t‹øœßéVw½pù#?`†Ð›àíÃh ,¸‡²†òÊ:Ìk‰&þº¤×¾Úª}ßÌ2MÛQKàçì–öé· N¯Æ´EâG¢µmÇ76VþÕU±dóê»*Bt ˆÉzj+5ƒ»ÑõªTE4l'úBPÎ_8Œ‰}Ð’Xg$|Üì½÷wì»÷‡H­6Pí™TÄ¡4‡ÀiÂvìÞü0y?Ußµ4l\¯áAXCQ³O“ˆƒþr¯žÒxAø\Æ3å£ÊgweŸÉzÊ—¼ÜI3Å‚—U Ïè ßĦy‹ "Њ뷞è÷"’DyºjxîWSœIE1Ä÷(¿y†­e´¦dÞ÷Ø¥î%¬›Ûƒ‘åo¤ú(*{aþ¤€³¦tŠu—\3Þ7»åÌä#XÀ9‹ÛR‘uùA‹ÿ|ÅÜBÔHx'k»Ç·¯>¥áFU™²ô6bB'0‡oz*0üÝ›ã@8P¶‘>>•º ÈI4NŠö\Tô%¡§ ó}ò+ÌS$Ð=8èíbωóâfj’u0S<´ÌU2çØé`ã7LöãÖQ`›ÈE`a=Ž$uÚo€ÿŠŠ&"‘ú“>ï!?ŠŸÄ À{ +@F–!Ñ¿ÂÜ‹‚fhd2#þÓÔEíï J|ûpöA¢s¦ ·z½q‰8 põ€Àd®v–{ò­Ó0[Zig¤ôH×¼CK–W„âC»^"íh“A§ úkî¿C¨•|ÉužéTºpŠtcS–#ö>¦û°ÛsÇO'Æ­Q¨Gãì#(°ÿ `‚ämXõ'"bzj?aŠ§­¤©ô‹Xç´½ª0×4Š…ÓW‹ñ “²Ô[Îï8¤Wù=L‡L¤ ´TRœJ +&K÷S»‰2z¹ÊHfòÈÆI,¦ô£É/Ù’'ôඖkï›Âèx§(/ì/lþE„w™kxQ6L×ðV»a×Ù%–›Çägêxõºäž_¬§®ž]nÖZ òGlU5ê&‡^TÔk±€/²Ö‘²=(cËý˜Or¶$ÜqK–<ó3Þý`òTjÁvûssƪ0 g†™¥.0MÕ‰Ãp0Æ +’†Gå\ ˜E~Œ9ùèZ奛&ˆs€¤ïR/’ì˜jFûØÓÜ.–üDæ'sw,Ù¿a?ã7³¶½—ܯmŸë`ýB|KüV€Œµn"-kþækÉ”«ßF~A´Íbô¥n/C”zi‚ûÖÊS øÈ¡IôNB&êö›ïöµ9˜›ÁÙ”óÍœ‘ýT‘–„òñ¿Š1û üÊ8_ÿ§ãJKÆfw·mbðÂø™¸•˜ä„«´ t±;çIΛYÕo”ý_¾/G¬˜É ãôÓâ4ÃäkÆßáŒ<´¹½r·€$æ{lXÜÄIÙïww¡1ûpÚSWVðŒ±æQŸ Gïåæy¨Ó‹HŸvICH·èã'@Z¯9Ž%èò…ù¶søõQTžPtO^¢S´®Éåô?VIYï +§§¿p¦Ñ‰ýÚÓ!nðS^MˆïñˆíT1]%½õ'𳪷‹ÙK\ܬSN#|oð•ñÐlŠ†\Óøêb/˹ïñªf„ŽFQ•9–j*êáÉÊ›}ÍnƒÌ\¦†ÇEº$Ð~bnWëˆ3ï™þ­{—a6êݼx±M;/¢ÕñÃP!åü-hôÑ"–§ðô÷?Þi×H<Ä‚Ñ-ï öD1 ͳ"¿ü$°6~'È/ðñ6x<ãskÂùÎ7¹o°‹á– SƦr©– +ùÞ„À™ +endstream endobj 418 0 obj<> endobj 419 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 420 0 obj<>stream +jÜ ¬cá‡dÿ¯ðÍÍXàvÓ’½èćKÓíh8œ ]Êlä „#“í›l± ¼1ŒEªQQ¯Õ¾î‹öÅ!(R€¸–Ö峺ÓHM÷5›Œ£z ÓMU€ÃØ^ú’Wü³±%¥Ú–/£²Îÿr¢´¡§’éµÆÞ;¹—=¯Rïå¥j‡¨™ÝÜÏ¿®ÙBüǻ㕞 Ï´Y°o@ÑEe±rb kíÛnô=—ðmZɱ>ÐqËÞÉ6ŠB{9UƤu©;JO¾áíßé¿m½º{Që©0úÇêÑTÞþ½Ç­ß¢ì˜o¼q›º¹pX¢‹-¼qî°£ûù)~CbØf‰c@+BD(¤ª·¾Ð^„λô|.Òó†œ-Á)êµà<Š]aõAŠ¯S†F4¢dÌÝ ˜Eq~ýÙ'°R©*|iÿ Ã5Ð$Zùu;¿×—i™­V“%€=Œö¶üÑÝÐmâ¸í£)XQùéZäGç‹åN\¿d !þK!†¿ƒŽ:9–í/þËþ 8çÌÄ ÓŠí“õÙ%˜?>O"20ý,7yaÁYÝør!=Y#iË„‰•‰×„Uûæ} +Á<÷¸ÖšØjŸž)öŽÝ€éàïW|×¢%¨EøfÁ#1Ðô¦û7àŸ£ëÌ—H7Iƒ6µÕm1°K> †XÏbÏh +}=#Ò©ù%Õ ™ÚWP‘,ÃI½Sröúún×kÉÀf7ÄÂ÷zGžNÉ]ÖO€£YöÑkÓ[œe™.¤J˜pŽ!ë…±—Ù2ž;–RnÀ^ô6†îv¼‹xAû"PúÊõ‘©…©¥ DýjÞÄs¢µ[==x…¬¯<íÁ³ÛæYqmeSG ƒx–nÏ—åÛU.@ñ¸í‹e2ÖÊ׸‹4‚ˆi$z\m¥b¢Çßh¤LúÓÒ&m &pB Þ¾ñÙ)µÇüfm›6ìúZvÇ„[œ`úIæ|;‡•ÍÞî‡x|ǯâ‰eíxCá!ϲ‹a 0Fß1º‰–Jüb7“s×ëÀgëÂÝãÐÆ€øS§ãßHƒ3¢äzºŽUV¥uFƒâ8Ò§.á–ÂÚ.n!OO^U¥š„|·-Œ´Üd\Ó£°›Žè]}•[ý: XUݤt`é–•ûÊROᨱìÀB‰IDøÝr2øîÙþòÝesoÆQ†1…Ž´‹WÏ9ÛQÑÂ%s2Û. ïÎö߸aE§¹ž +À¿ŽÎé·5Ò‚^{ãMØÚ weû[‡}Q[€ùÇýåi¯7Tr¦4•ØÝ´àWQ 4P}zYÒ ŸYz¬ÒÍ†È p Â>à‹sS×gZÉÐëÑ`À‰nz˜¤Jß«Ë,ß>YÿXñÈM°.$Ò=q®oÓur½-¾’²‘]wðAÚèÔ7úÇþ2‰ ßüáMˆ¿ÇáÚ8åªPcµPG¾üùÓóý£Èå­,]±{öY¦ÅoÍ|͆ ÄS³á’ÓÖíÞmêz?É­ššy³bŽšomDÓ ù=€Mº4£Œ0;²)‡ ‘Ïéf“긨ø÷Û¥@Ód› •Æõ>c:ê>D£©ì¿+ëùÂø ‡ÎD8+(ƒï™Z‹”Ÿ›d“£Àô I[wáó”òMþˆ ùÄvzÌKÙ*ùycìÜ'Bœþ†¬PÐy –ß)Â.K{bÃP³c)ùëiS97ŠÃ½ýŸ_둯7?4Zô¤¼S4]'÷è÷ enkÅ6PÔÎïò ücOùª„6õz Y4ÄéT;¸2-?b=J½ÌÅŠ/g îÎÁ…|ïþÄ!mþ›Ó§áhý3™=ãsÁvý̱!Ò¢Y*xøVuŸ5fÁ*€X“w.¦á— +øå‚žø0Ïæ¬s¸¯»¹[I…8ø77=Ö)Ñ:ÚIÕ¯I‹˜+"ºœ¿¼#ÃŽ,e…X–¥;1^üiÑÍ€ïC©Å_Â__h©b*“Îx¡sŽd˜eöWHÕ}¯SHé¿ 4Æc\·š_¡~amDíG{ª­Ó\ùѺÿ¢ ñfKJ˜ø=®*bFÜùè—"¥ šß³ê‹“ìÉ¥ƒ…U·ŸƒÀÉ]gÂ1<Ñ©øø8¡k°%»1ÜãÖ +$F4úÁs7Œ´Y¤¨›À`>º¼%õ9'ÔqÜ;}·–3Ç„t‚}ÿƒm'rbAb„<–,:äE¿|SR™/ÎÏ„TçáùTñ0†U >ZïBl¨ CÆcCOX1’çnÛzÂßL1m0Utä éÆ·z‰’÷ Óƒa|—û+Ú=¢'ßh$§t)+QcKPWˆTØÁh} بî¹ b5!%1 A~ð]a0|:â LŠhD\H¸Æ¶Ñ7 ‘<òï¾Fïé`I¼+üŠc®Q•l@]üþ&ãFŸ1ÉáÚ>\íÛê9Žk”ªÃAe—áJ݃kóò©‹ayÅáðM"M‰øç6Ñ']ÕQ\iõþ/Ãûa5þþöç°Øt³òÝÆžñȞў{T|Ã5_÷.Øõ§’aÐB—3Eøhi¨D Ž ×>´¶Û„<ÑPãq?ßZ0¶¤¯3‚º†¤Ée.Åæé­ËùgÉq&¯µÒ ¼©›ûúaÄ­_…Aʺ•&€«6`ëX¯OhÞv±ù‰Úy\IÉ1ãI–4(x_Ë<Ê]z8UøÔ6_ÿì"W~Ô0ƒò0´çì4ÖÓx_Íã’ƒ==½ÈÀ¡ 7¦(þ“W\CØoüßi)MëÚMDv‰D'kDPk‡5ˆ¨°‹a=,í¢‚¯R éC…º­ÄU`8P’ÔÁÐFxú8ˆ+D:ýâ˜6liÊbÁú'ÞštÛ«N—äïf$\^.bOkB@ånÖžJu N Ÿ:˜a˜ß‡ì®xzÐ))CçGÓj*'ÔMhȲPêÙ&­XQ´´1/æáZýËìAö²ÖSúѳ$ ¨;áCö›ô’ UkËZ´¸wm­#Ù÷äÖVÑ>[áAÅäZä’+Vˆ  +¸W⤤2·“_Ærnè­¿Ä3Vü + ÍÀƒ¨kUVÔ“ýIˆ ˆ´JðÜê×ôä™ùù̪oŠÅ¡’õ…êoŒaœþ£–Õëê.À¨Õ|ü’¾ÜTOk¨4%+ì65é}H +„Ødµ’áÁe`º›`¿X\ÓêUø㬮ZØæóâPȆÅǼ2p0åíÌOlïÂûä]é![ÈÎN£Ûk”¬ïµ«ÈUjnpÀkRW±«ŸÂñ|È¡¿cA¿ÉПOíaþœe±"ul9›‘¤­b¬K E…líòGýÚ#,˜ðšQ´Ö`P½R1p0f‹á>eøH¬‘ ã:;ßcIÝ%,P†g=4«;Ñs«Ì*?.öˆú¢Å‡'“Òæ:-Šù;í¼ÄÅbƒ&µX ,¿ðš[›Ýœ­›ýãÆR[®HÐ6‰ì´zÅÉCñ­ÖĺŒ°´õþÜcuýÛÞšy8‹™mÞ¨l±)mb&ò÷{ÁØ*@†ivERóN©”}aÊ5…,«8$"[Ü +–RS›jm„GÄæœ@‡¸»z º‹`«ërÑ>FC|¦óq×¾B—è²Õ¶¬ï½Æ=Ê$ìbsiÔb*CG™F j\š5aÎ6—Ùý`ÇâüÌìIiYLøÆZ^>å0‹qcížMâ„#µË nè[L‚^£H±ƒ1u¯ž’‚TÕÄe¾.«‘^]=ñƒGy­úä)‹}×vôùä­-ø½©†dy£Ÿ 'çN›êÓ' ÖjÛ¢8'·;¾½³x2›¢Ä¬ìÂøÁêAߊpÛã¼®V¿2Úx ô0 g2èä/ ;Ž“Í¡^±<9›_›r¨}-‚ò¯þ‚{päTXe4¥™Öw•ZJájÇÒF¼_søâ&Kì›KÇ‘CNÉFtŽº®þ\‰ÆŽ@ÄdׄîVšØM}'PiMoJRÑ6•wwb†ª.N 3¬EŽKíiÔ-Üz„5òê :)ü‡j¬?¦u´£Ô£3ã¤֤츧°£Itž8Ï< xjn¬5ÃYp’}³¶ˆ3øÃ)×’8«½™fóS9_ËšãúÌCUMô2tƒCû¢ÂK9´Ö›¡h€ n„|³63l²H+¦®í6‹ôŒ¤ªlQ¢ŠæcBk|S1\«SE>¢sÓóVÛ瘌zK!©šÑ/¯ëénfD-ÂwÝ™Ž_c#ÕÓï{ëgìîĺJEB]1„ð摇Áóf¼·x‘o¨¼¯â¨çV8 _W-‹FÓ°ªÆ¬ÈÜû¬Ê©3K0ɸæùrÁßõ„hnvÞáš3VÃF‡´ê—‘î2êêz¾ƒ_+Ê,Ë–+•Þ¾¹l©µ#Ð`ªZY +ZνŒž!´¶¾Ç±~j¡sœ}¸g+wõlšl¶Û¶à% B—wæ%û ›(8äðÕ[NÌ—i¨ä›¥^X ¦¸<¨[«˜áÛ ²OÁ$Þ*’â¨äwd~7‚‰ý3+ }²n÷ÉÕ%(d=¡Ö?û2â-Û׳ìh¥\B ‰Tò×wØÊZï–'÷‚:aÅ„÷õd‰0l‘ãÈFD§!@`ü&üCðTÞéÚ}öÅ`Àë`ÚtOúôãëîeJ*’Κƒ«ÿÈ‚‡az/ZKN0¸µ˜·4Ü¡LûÈn>þ+tœhT·zŽÿ Àý;<¸záäEb|wôiY +wkèÔ‚=zKõÃ{Ñ/¼kªÿ–šxïûBJJ“¾}½¢gâ6LÈ”²£e¬¹Éá³NÚîü@gׯ©¨“;Äùù4ÛÝùû8í#¯MŽT°ZPûPšþ½ªIvØVúVZA¢ >k„|—ê sŠ>ÒÉ s܇MëaÁ<¿ÎG¶eØy¶¼è5-*ù^'2‚×EøihX¼ëadKò´‘„ªcZ*Í1I̺HŽ²´üÐH°M2¼>¬,”Q«º2ûbŸl#šGÙ1L&ôä«9NÑØK¡õ3¿ Ýú\oiéýz¯Í÷ê¶ 2:sr3{Ùç„X ¥¯óV}Ø—g8¾£zwÈ9Wôñ°ä³Í„fÊ6‰žXˆK0´Ìƒ1×ïÊ~…&eR5I¤H¿‹=‚"£$Q¹Bö¬Û°º7A‡÷ÔðÌí¯ò) ¬Î +endstream endobj 421 0 obj<> endobj 422 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 423 0 obj<>stream +ü`<·7ñ¤ŽÒ0@Z l(šmñïÐÒÖc&tÈ廟ûyÆš3=ÿ—Î2ìåöõ?0Ÿz›w8% pãÏ„.N˜|8o¦$˜Öß~úð¦=®D`öêµtÒ°MëTN©ŒØë˜UM[#@¨™mlÐ`aSBF´ƒ/XäåM-øƒçËh•\ä‚Á™>Þ‚ñ¶‚yUa–2m*£Z‚‰®Ôe’d¡Û2KVe@mwfš]¦ÁkµÜ‰Ÿˆ{­e´£HKNÏ«t@°LWL Y¬l<¨ôñ“¸¼ÖÎdy¼ÄÜ´ Õ,HhÁìïNžPSKqîC +³è6¡ +FØÿ¤+ðK‡×&klÈ^AI‚:bµœå‡^#•¶$Ïçà<Û„€02y"¬uƒ/)‡L3&ðdBXrñ’9¿$8jõÎIZÀ.èç-ŸàKS×ð¥ûaœ‘9AõŸ éÞé…Ș{X!àieæÞ»µ¬ÍqÿPP&I¿ÙÝï þÄŸ*ÕÌØb!tp+ˆW18Á@)I-ùŒ0ý ²)¸Üosi ÚK„ &'âi|Æ ü Ê Ÿ£—Ì~£v‡”~*ÖuŠåñíïèïÏ/é&TÑ=(ìvoiNaDbÖ +h¯¼¶víHï},ÂñaáÌöøuâ#ýÜ+¯é‘;£uÕ37ý- »3ó5 NÞéĹ£›fέrÌ›Ž©l·Z.+°D“h¹˜M*ίÖÃÍ…Â…:FxÝþ-™qÅr;¹ +Ξ~A´û7¬Ýzá +Y{¡'Y „¦ø âI•ú£[ ¢YƒwéWñ"%Z àhRÛ/ ¶?û/Ž‘ô*$¤š£"&<<{se‹Ô^ՔϬ\®®Ëúg1˨Ë˳_™pí߆©¼Õ ±ê*$.È¥0R‘Ö•EG<´È2â”~ÄzÒ;¸‹—ãiR‡8— OJËÙa8y•ŠËÙ_CÀ€X +øAHyñŸlyd0Z7fÚÂz+ !RUÊõù<àÊ+ÓÅÿËkŽ‰N°Ê#oXèëï@>,·†„Xax¿6läiîkY¹Ø" û9ÁzÄ|”(ÊÀ½³5ÇïZXžÄªUè‰d¨ +åµ¼˜VÅóû¶h‰m[ugZcÇ­ªUx'}m«ºá@PÁà äÁÞ[]ªõ;éú¤zù˜òã® Íã.Š6)¨R,6:AÏƬsÈm¨ù³ÿ0"öûB’Bb‘m^1kχ$:ë#L}Z‚ìzÇ×vë¢5óŠ)þ‘ù¼•á6z£ r©‘5h‘ñ"ÎrhóAN!ålQ.°¢þÖõ3Ô4t‘¹—"÷B|w +p³eå(ÊJƒ¿•OÚëCòÿp8®v_qN 3¾^cêµtˆ‡.¦"EºÆËM„;ß½yÅ3½}·CÇuìG4 +ÏF-Ýi—)¿Œ•¹‹cÆ&~·ŒÊPÀeÄ¿ÁeñDA¯Z(÷©}7ô„-Sñ&­MĽ ‡åEÁÄ])yݶdºHãÍIúW#=I^xOÜEØ€Oä™ Ôî9ÐÏ=î +k,åÀ§paùþà‰÷%›=G‘ ÚÊ…œÂ äù¾$Än“`Äþ™-ÜÅ09.¶žà1šUÆËœU¡j)”XS=êWÕôú±JbÑ–0Îz{#ðdz€¸:Å<­¸`—2ÕÅôWm°æXÈ>ÃiH›Êú.Ìñè.9úÄÒÓ+'üÉ~¦âÔFßBl­Ú6푲>¿Ÿ§&¨$ ý /Yùÿ) Knö­„ûÔa ã6['REX‹;ÃEBñ¨d +hB:ƒü‡g¬Hpeç]Róû“Å +`ýC¡H¢s)ÍŸ~*½0]ÅõGpÿ†ççNþ§ÝŠNã)£ +õ'Å„ŽoÜYüüSÒm½²Mç÷}ˆx„úJU`Ëû7w\¨-ø,cÜ€G·¢/ÙN­%…ù‘؇¨Ç5 ’zALí|ØJuhÿcΊjÇr3Œt‰'°d¥,ðL'®DgÿL›œ*`ø¶I4µÖÚùzÜæ&ß©R c‘Üì¸ì Á.ô:úâ¿Xô‹ñ\†ô{tžµ²È{Œ ßnH¢ èø…£AEV“pp:g#¤ÒFg ‘C\Prým-ºÂuä¤Ð,8”fd™é‹¤òï2ÈŒQpü×ÊJ÷Ô ·ÕŸñãؾ|ÄÅŠz’%ºìJó®Þ7B#Ö.”X…ߤÔ~Ûß>‘ž@gÿO[_£zê(&§§ÎyÕYNï5eÖÔé¯=€›ØiÞ.û/¥-.Žax…Â姀£~\ë¸; ™O-CMÞ溥yñé½ð¶–=عÚ,Áx àÐwEÞÁ”¸ ÃS•˜¨¤XÜ´.i¨œ}‹I‡Hš¸ð®¯“²Zb1Ê:"`H?TŠývF‡Ç蟨đm=ZÁº¿ºä ¶Éɳmwœ¹Ž…üCîVñÇj·2Ù»G~=oÔ‘yâEAW”y|Æg üèELÿýmÎ×AóèrÀáéN$ŽV³ORê +‰aaùíf5}Á¦Ûô*Æ^û¤pLU+Ó’þWrZïŒ*‡ §Š§gIÆÊï CIP;Úrݵ „Ú}|ª—$IÓK›/p`<ˆÈJÄ$ûéfD—>TM?xÁ. ~6h½…£èi+V Ä Ú‚Í¸‰0¡Úqã‹^0뵟èVh¹Ýà¢r—/Q×IA¹›¾“CE~. ç@‹Ù¨¯$¼üZž&šÊ+•î‚{'ë)ý^³;÷üß{£ªä¿Hä,Z‰€à9Î }qK9Ëò´8ý@NøNdrþÑ œVÕ°7®XÀ¦‘õô¦Ôl }X=±ÂÜŽÿúJ¸^ k?<òî—ö0òüs7‘öå9rj¥G±Ã´­ªXãê I €”ÆŽ¨?%€„Û\z$`ožxa{;aéÄë"Ã+4b®{×ÄŠáù8~=oYG×ÿTv8XRUçÕ1ˆ‘Zgo‹˜äQòî ®ÉU?ñw|fó¼.ëb×Ô)†]’¯òñÖB@ï$½UFl¡PàÚíÁžþQÞúúx·!Sb:7Ò·ºÆÊíë–ˆNÏ)Þ׸݆3ê ‹çöæ†ÙÚȺ²l—?©÷c¶˜óÓ¼ˆ‰üȦG‡&q³¦ü+=7á˜-/¾ìn;-&¹éÓÂŽ22ap»Åo¯ägl¢ÊÙ®”;âfüâ˜þí xﵿò†.wä£ÔIK²K‚£×ZljÊïí†F‡pkSôÂé¥òfGqÒ>ÿƒ9°Øi!ÌÙÅŠ(!Ùæ$ÊX‡F½ üÕ©:š­*)†àºð'x4‚Rz>îéÌ°9²®qÜ@#¿fL6ü§)¿×zxòõB_ãª7Ó $ÉáOkCôŒ w~( +sJóÊ’H¡ì¡C€1°<Æfpº¢eDŒb Ä†4ùxÝehç Í\±Ô Û§¨Þ‚>ÕÀ›É.=ã/Óf¶àÀœ÷€»cJYú7ZxyØ5Kvæ5"ø‰ÎœÒ ¼}á*})U-¡Nz~œü‹é1NYS²¿Ndg,A°<ÇÌWMå…76Pè,nÁ,¬ô˜ÙòjÐSÿ“¿¢5AÉ=°e£©æ8xÃÀÒ(¢¢,N$o²™žKŒè&7cЋ +¡=´£·äò³YAÿ«4Àé$TÂþá„€AWmwX•FÑnbšV›#ŸT±ã ø:V¯U'yåjn¿âvD1Ï=¹Ï§dÖ¼”8K@A¼\¨qA +Ž˜ÃHû˜Rñ¸©X«µæ>Ž˜£púÌ—#ãZXQW#~(Õ-{†=†ÇÀpD»Y 1ؤsý £.yCIS¼,nÝF¾evÖìU—Ëá¯ép'"ê… [¿uÏ" ‚¸ä¾‹†1gäjXivÖ+|Á OÀCÃ\ÛwÁ'Ë=h–b,¯aÜý™´±fó ªôôÍãCu$»BQ¶SÖ’«Z…Ž¥72¿†\ø&È›$¿ñ´W>|_\?u¦ËèQâ&•vë¾þ¦>ÒŠöµ'1Ü‚ýëófq:aHýòTNeR’{j³1IÏ[8E« §>æi—®CØ}и0m”B† ^\,òí,àöÆL#¾>†<‰ßâ¬_ã&Î+z˜áë ¦ +rµ‰öÁ²ân®æ IãÊAݦܣ~x|×Ù¼¾²¬ù–È-7Ý#¦Iùàš)!pŠ£A?J±Ø)ÇrJ>dZN€suK¥–é®ß+Â]x߃©¥ÌÁÊúÒ¦ôÌÇãü½\¹/eâؾ’vPâKÙ±œ=DäæÖÑèÎŒåÓ>®Áð;ÃâƒÅw ‡> endobj 425 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 426 0 obj<>stream +i!m6²ãy¯ º¶œx³E¼ ІúÁÆT”±ñÝ” §<—ý¨í…Bó[ºJ"‹úoI_–Èb÷åìXîÈ´‰„ƒO&.HY¡¬ñÙ€õ­OØ2M“({i¸«Û$üòý‰MwØÏøC²dø/û·›ç¿ÐÕè Z‚œ´mp³Ñ_#ß"SèÌÊz£Äªª~Ѽ y__Ä•A1™i+ùgf=t¬Ù×ýI8ð³I«yÒÙ¡³;¹‚*Ê“wÆÙ}C¦뤃NY‰_{ ëšôkLù:–¦®“bmž²êY~m¨7Ïz¹*µX[ç:~›÷iÖP;Ñÿ[FÀýðböGY<³ ¾·èÍW +Cðàè°=™¬HP¡Ô³,HÇ•žÐ8¢<<ž oÜ‹!rgÓ6žG¸»Aš:±èË¡ts¸•M=;å @Ć)æ×çž½xýŒ×ˆ«Ðõ§0ï„÷ÿH5:€E0ª=ÇâÏ”c€ï§=@üØÔŒÝlîÅȶ]tàüx-÷ÿ…Ö]q'ª¦ÝE}™é–øD‘»Vùeœ[×[øš¸”öÆÇÑ H£.…®·Éb”F“©–ž¥ö¦À4êe¾Üd¤½œ`êaî£w ×:&ët¬õM¥¢ ˆyöx su«.Öµ3ãõÁ§$9_¡ÁµVC[â ŠIaúz¼ý—£‘>×}Av×'sFÚ÷«Aà =’Ê“â0«?‹ž‡b»EÃM\¿"ÅIÓûPýýº,¥”¾¢c±ß[h±€Ï23ôŒbµüÒè8Õ•t4OŒ7ìZ°Ó¼¹9µ²jÝÈôùköð{ö¾Iظí¦0EêÔ²ü&¼@!ç¥0UÛŽça)—"„Bš=Š™íÞ´’Š¬[uyÊìÿéñs\Öä >) á^”àíµíWl±ç( s¦DñЄ\ÉJÁh|c‰Í ‘°BÖ¥€¡×3"‚µÃ–7ZÙ¿#„°‘…»z&.Ô‰V}ˆiNñ|_¾@Ðó§[B“oQH^]íÒxŠ³•¥¾ï-€uÖ ·FÊšÿéEÈžºÒ‘ÇAfjbgMI¯ª€YEß•~ô(›¡ùÒïø?2…Fððñ‚$£–Cçº"Šÿ…´JJÔöÀ:üÅ•_Ëg¤¾Uæ´¡Ì›3bk¨Æ¼ê¦zcÍ1»®wª¼/Æ/dðlq +€åy(ÚBÿmžØ$ª!!ð¹‰!þ‘C7Ã+1“•ÓŒ"j;ÀGw™>EsO9¾€l)Šµœb”¡R8ù5?Ø/*i̤+δӽtâv¹ô y‚cR„/·âwSm*ý %žÏ Íõ)«W_¡³0a±!ÇrÉòfÛ0ƒkk›¾hNŽüAÖB"LÝëNsø¾»I‡Ä%HSkVí!Ã;ju¬gúmhºÄ?䤀„Ë9/áäžj]îQžÆ ÌýÌWW‚1#Âœ#GƒÛ½ø½¿CáDÜiÎ܃¬3 q +wxBâ4'zغÎÏ—idÚl嚟ðµN »*‘¹iê)镉RdLDGx//ØПÉ@ŸPc¾é©ès0LZÃÌû‘W…Q”zâv†ÆÖÜׄ–.þ>wÐ)€‘òÙþêú±ÈÍýÖ±àg´tÔÕEçîuÌ…ñŠ £åÜfƒ)+b¤×`ËЮ„‘BƒØ¬ÞšÑé¿"nœô Ɖñ€.·Þ$ä•16kݶ¡5grÓ.8ìF¶\šâÁ"ä žŸgšì‡×f<û·”™¡'Ä4¸onY&¯A·ñº¨/é$¢7J¬ô%–Bhz4HBW„ùtøÊJ>7 oßZ\¿HF):˜Ðü¹6gšÜc«;ÔdoÒ¸U&§'å'Ïîd¹f·¬3ÀS£ƒ¢4á¸L÷‚ìásŠeÖEcJ“•10¾ÛIš+#ýÁT3}áÒÇ],Å$‘j?¡ì쎿—(Ò*Gxð~yõXî8Èô­¿\à(#~¤»¬M°j­«¸î¥2bb»—$O–¡7Ö‹fÕ %¢Æ_¯¯ìnöÁq¾ª„>¸ÒÑ@h)Ž%Ö&¢¹9Üe!9+ê¤?]0SÔ¡Nvš‘RH:£}%ø͈N78$`,Ø@Ó ŸÝJ•± uÁ¤Éì­½ô¢Ï3ú©NÏ..²QÁ2vÉXR̵Јx¬?A¤PèÅ0è[-YØ6ÑÎ÷zäq.ºU¿S`²­u?‰hw&uÐ!Š±#+ WÔ§ÑÑ úíüh±-C×~Þëð² +Ÿò|a;Ú­ÀÕèôìÛÓréMC^u¶Sµ;*¾‡  Úx§€î;Õ!W§}~(’‰Eì±¹l@ŠšH,ž vµ=6*s*AŠnMòÙƒñ3ê3µ¦uÉUcù°#K +ý^3®cª% è·øJ̦%¼»Íç<õs茵¨e½I>ŸÂsÝh‡ÌK¥5‚ ІÈn9·òWŠ“™õŒüÈ÷ºJ÷&¹ºmJÉrÒv˜èÍʶeÇÚõ®´åFžPƒ% +Œ]›m ÄÖÿ ö»²PÏð62vvˆjØF­¬Ó—tWú<'rêUØÒJ:GºŠÒá™—½n¼é*&`o~+\IÝ}ÿÒÆaþÕ²ìºz|=:Î-®}(D)7Î(çy$Vhª–ò3vÊ"ÚùÎY›‡äa‰×jáÉ×ÂB4©UÓ Ìüñ³/B³Êm/ÙåFëR3yó!ˆ÷òdÝDNÂL£iîøZñ%®ë”;9kYYê3×[?ùúZ­ö4ÃsïwmzŒØ°QºO—Â(?&­Ž ÌRd3„–NVWÖuO~oËP]BÈ™¥õ; +«,ç’r7©˜{qüÓÕªxô\Èe£ï¬Eø¼Ÿtãž -]‰ÊÅ_¾>\-‚;•‘¬‡¥N +÷Œ‚r2ÿš´ÈÙÖ°=¸`¢›zÌ>"±Þˆ3AU»ù,<ªæ9[*  +Þ ¹l`h˜¶<Ë÷zq=/#j÷Šë$áM§@vZïüáE !_sxèèæý–¢÷¦º§ž.Á96U<5n«VÀî~Š!PW«d¨¬Ì¤ûl%—Ó¼QšÐ\–Ÿ“žib<êÈœ)@kFv,BÊJÞ›OÇcÿl²Èí¯¥"¸b•Ô9¼"†E¼«IB•ÛšÈpÔ ªgÊq-û“£¡Ã(ôâ‹yôY8‚à´ŠÄá8~s§êá +ízþOK­ÂHý6BéRÂÉý2:ç„åQ˜*8†¨ ?ú›.¹­+xs>” ZÃ`ì D:«ý>!¼tÌ]?m¨SóM!=6Åb=WÆæL2¼´u›0k ×c@— ¨"˜„ûa:<”å/]shBßôɬJ‡ƒc¥{¬.~áiªOèÕ)vy¬õBƒu[)í<±{ÖÁê¼Jà˜ŸíZ†E¥7°"ÇÙÞ+ ëóc^‚B¤ë¶ñÅÀÙaüÁÞ}/w›”EˆÐõ­Ùz§¶£.×àâ]òâ$Œ†ÿRì>1šNñcì.ă‡é!フ´:DQe*FÐu§ôwËY„%ùõî¨êpGþJ×îj¦fm‰dÝô#6Ò`¢Pµ;DÂ]2Ãé©©¥ù“â„gH½ØÂäOl’ö*sKN¾/RÜY½aX,7YyiOJ€ÜÈ—‚×bªŒ–+ Ã1±“‡¼:»šdyææøMÕóôÓÜ£6¥›ÚýJ +¾zR#õ} +A3Ø-¥«³O†/úã£tÈYmY?joÃa Ñìñj¨öáŸàq1 …ý«¡å§—µ4+\r WºÓž…Bì·]-$Y‰±0 òd9ØJ˨º¼è²÷k -O¾—Në?¬ëlƒÓžÍË[ +Kª==%dãK† +8˜¤>¼?«i› ÎŠY}ã&ªoºëáææ»`MV!ÍVâ­t6±l€Œ¼TæUM +ÎÇ–Y6É’G˜åÝS_ZŒÎS±uË×ÌÛdH¬Pù¯ÈŒæ½cdu"ÊfXJOØð´ •ÏúG“Òü}$l“Iù_D ‡änÇ5ÙŒ-Ô/"ÉNÇA ‡ ‡ÓÅšòêÊ^@du‹þ‘•Í zŒhcä|Aix0ïùH%S‘Y±5¡³ +÷h;;lˆeÉr³úø›{’}xˆiJcTWUÅ›ÅA²«6zT)û9rÛ†˜´¬*›q]cŽ@Iø¢d£iWç¤ß 1¤DGZ¾"÷SëþZ8k…ÛpÌ9RSD/öÕäæ'ÖÆ1§rçäC{ã¤-°òT˜·¸.è"èÜxôˆ²d·ÅŒÉ¶•i,«îžÇH8> endobj 428 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 429 0 obj<>stream +©‘èî[ùï±ö£®Zƒƒ}f¤ºzf•£À9?Є³QˆR‰)!¤Ô™f 8Ö%ðÒì׺¢UýÔÒÝwé^6äϱªìi?ë(ɤ°Š¨è‰aG! ½,äêÁǼ…÷$Bœ"0Ì°4o€j”™V_œá2ØöwZ±VüSŠó Øœšƒãw›ÄfY˜²‚ìÞ ¬OŒòh¼^þ$äþxÈêÀnÐlYûº +Vssœï“Ë‘§M’ñÙ}È`ù‡as„£ _`ND_ªß\ÔbpòPýIµ>z…Ë€“étƒQgQúýpØ"†ðô„Ág[Ä‚ùADü%…íºËè"ɈgmU¢\üd‹;óßÆÌ—ÖʆÚææÜ ÆÖ‘»<–zuÆÃ|I'áL !ÍÀ¼¯%c)†n븾+š#…„½¾±QÏw^Û,ÆêãúÈ‚éXAÆv™ìI9bòà/vÅ.¨g<íu#¡Z…`?®úÙØ©"ò( —ÊYxwöúál7×B€ñÞ®å•Ê>¹-Ø€•U¼+æë\~î”›vß¾£ZO2ÑÓüOÖlq>ŸÑ #SG 9¢Ð4¦Òžâ- úù¶j¬äáín€so_kOædÛuOõïup$! ¿¤Žõ‡YÍçƒöôVQˆ­4™0Šÿ£êz9û ¾ü½"Ù|ô*¨“(Nx_lõ¸j¸pꎎ÷6»{…Ç€ú _Uºô':qÞn–\‡iˆï1v¼<Ó‘0%í14v—ÿÃn‡µ7lR?~ßa+Ìÿµj»gÐ|Nõñ§#qµ6 ÂÕ,—ˆŸjp݃^7˜ˆöMs%1Ý4Rx4²õF£.<%pµ¶:­d1¼F1©ô"x>®†FýUøM1©æ‡ûî÷2A­=¿6CÂå²;UÀ)˜ätð¤#ÛgFý”¼y=ÑíMºm‰Ìç¬Ç?\þºû¬¾’bôÇw§¦.L'«pÈ%㥰ÄH7Wžˆ¬}ö¶Du)Ùý̉z"ÿLÿ{H^áÂóI»rv f=ŒÔ—ÝuÔ¸HÖ^A² +ZO«‚Vg–*ÀàÕ¡­ï¼;»î¨§øyª ÚÊ–ûk®ùv¶Ÿ5 Ópž2±8>Ùl4Ç.¸2ŠÐÿzÍù!2À6ôÎÙQRÙ|r¦Ë°¶ðÆ#ë î7ÞîÐw÷z"QA·‰2‡Ê%\8ñH6ÌxË6´”¡ê‰­Lü•®CðÝÆÂ(.•#w{‡†‚‚ÄØü°v;7’³²Ò¨-—Qä ¸`³¹î?º±êŽ¹6oÒHÍŸä{Ìí®}‡)"|.`ÿÙ“œ pÌ1±åM˜j>ªï¬ô®­O7šÕoŽ)بrx½¬<VþJı@/t`ƒ>{„XÙCož¯ŒL¸h³ƒöÕ¡ÓK»ä½}÷rNæ«®‰Æh…—[´c'oO¼1ªp¤%7aÛÐwÎ42¹Û}ÙXm·×iB G€…Jl4OÒ(—ÑÈåÜ&½XàRûÜxM7a +øíÓ ¸L6{…# ÷J"Ït½Ú”4)G—¾Rr¢ߤ§ hŠx-0Žtœ“ù·ÑëÛ@ 6uúÕ5«p\/³.Þ—¬ì™ê3,§Äd“{ÙóÅ0O æ¹#„*pË„ú­¸uXkUóúŒóœÓt™wôß*òWžN=šŽ"ÜKy´'dÖô9’·nVåaϽùoŶ ‘—p~&Sæ‘4Yè<ì×9y ™h½h_GQ”£†ŒH˜dçs VAŸÀ9· ƒèQgÕÝ*NvEézÊ|m„ZÕ^oxôƒà©éÓŠûcÈgâ‚ûˆ ¬Ð }òt°ÈÅøcÊN§nhĆ\Žåòi‡;±Qq]Ì&Ó0v»,C4¨7Ô£=^ Èÿn‹‘ûF>ï78ÖÌPÝ*Þø¬`úÚƒb9§\Õfbf|hOúÁ³Nhä—buØx.î¢æëȆ,”Dˆ”©fÃaω_XÿBp"Ú|W0”;–ËÉ„ù­7QñegYdÞªÚö¢Ì"KêÝkj¹ïXΘjîémN¿$ +U±úx<îa`"C—-„xŠùƒufòªÈž 9ÉöñŸ9œþuºSý2@®›ù|‡° Z}H%‚(o¨5¿zM  ˜+¬ýmàút 0>§[$OKcŒyë0Ëæ’%:ÑS™ù]tߌ¤W$7½k> ßžù, ¬“p¸€#Å^Î$O[ÑXý…ã±½/:çŠ cÍ­*ÆÑ‚Œjó¡CÄ£SÁt\§on8׶³h̬µî}’/ +æ2q›¢‚ªR¿v F–:Æjµ½fª‰Zì«(üÁ€ux€;ùˆ‰R#R¶ H®hRWýcßNÏA—eÈ[œ¶è¶ßŽÀ©™)„s0ØÞ®ô—é-ЅƆè0íà[åÉÕm´gS_o@ä"5ª„\/kCtáßÞ³*tÊãXÔ¨Ý9’ÿ¦2­9(Ÿ€’®EVÎ5o­þ¤y¶K8æ™-ŠÂ€¢µ]HÅ;iKÔ¯i=|ý•Úø±Õ78ý4ó᢬Ó ¼[hpîýGÆãèâ€>úx>y7Lmƒëùg¹ý}A9&zƒéíÌ0÷Q¾kÎÜ !êVÆÅi¥mŸM¹Ú³LÈÚ<Á2\HèÞšÕSÇ×=ŽJÃøéÿ×)3¡2ðПeÛ=íeÌ÷¨íÓ©ZE¦åäºú;ùÉ$ITy@×/%Äìš|u}—п$…}ÃI'ñ·+ãéŒÎØäÛšüß¹ýut<·äšö¨bqG‘íT@h8gÛ$ +endstream endobj 430 0 obj<> endobj 431 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 432 0 obj<>stream +ò ÖM|õD@ÚoDS•¦G*ù J¶ç¦ âõ’ÑCö¨¢Ó‹û4 4˜å`þÙÅtÌ¡aëØpI? ŠhËnÒGërgß9æÀÈå´q*Ô¡Øê1÷ÍÀ^¼åMÞ黹gò½»¿ïì +'-8U²Ü Xm­°qwPÕ] D7ëÓúícçJRìÅ"Ö¦ïÒîGL$ÿ_b±Yô¬çæ@äsiºS.µdÝg’£FÔÿÃ6ñ‰ê–‘„ûã„NÐþðéÐçõŠ"y=ýõú\L¿ +(”>ggÀu¾{Ð)J?[y…cÿNvfw(]ÆöÍ2&[LýækÝÈJ[þ“á÷¥iN³ñh­j†…OÍ"vàÀ—é$×Ýöw¤ŽÜ/"Œþñ«‹Ø«ÜØð² +K ¾Û8E£;iySøJùïu2O×Ýv)¿Iw³Fë10Vfvò\§BÀZÅwÿ¨Ó­> $‰ŽÍ­5¯š—|éÈúçžÌIx™û»I˜‘>Šžý§äRþÄô·xâg{DÀ~Œh›ê–Œ¸ôÛ¹©ÜG5Á‰ÑÉóÜeVHXÓa˜µÛ)¯Á(3 XÌ›ô¨<¤!³.ZãDr]àÃ-xWˆí.n—6¨?Ðï¦h¸&ç„vkV%znúŸFç-¸3ƒæ÷(V²-yõuAÔ`BIÂÆúU5+úôYñz¾(SL5Šš¡ „–¡Ÿ F‡ÈŒê£hg%|#¤éú 8$S#ÂÁnÚD°cSw$}ûV¤Þ­ˆ4É èç4$Ùî®)95Ë¢ÄÂBE =^ „ }††¦˜«Ü9Pܦûͼõ6¡B!º,ïj-wÜŠ˜‡xùÝ4ð1é`ìÀ â±íèƒ5®BîK)ž&!ÕÜL$fw·W:@8Ÿ‰E½i2%Îüëð,:üôõÏø;= +¤ŸØÀЀf›jÓò¨ìU8—Wj_¡—³R+ìÙ cn¨š:_ú&GRÏ“*%ðyº¼EûÏ/"Ψ†OßÍr Æpäòð`ž«;,Ò|k>&ŽÐP‚o³»•Î3‚é¯!O‰rßÙƒ¼¥_ñ¾ÿóÆò§¥Å]8j…àƒH5¿Šùá>KG_rîchØÂqf08µèyý#·+õ¾º‰SUÎ’XÀ 90MqSœA®5霩ãÕû½úÚ±´×Bkš›¡ØL2Oß*¥”ÒϨZùÌ ‹ð4½öŸzßw;øi¹†¾²ÂÑ™VI‡©U¡9A +iº<¶_Ss\ûj<\´éƒ£ïœ¿ôëÑIpëé{‘k«AÿSê{ï!ÐФ#KX«¯27ï$Llg†#ºV–š~ˆmÞø½±4¦yç°ZöÓ 1”¨:í#¡+¹.`Š†|@=fwJ|rFÔû˜ÁkuÓ%Ÿó¸ÚC‡žƒýZí/él,@ƒpJ÷#o:Xö ê7o•Þ†mçBÍN¸'9²m)&}û –ö7e ?N˜X+ +ÝX!‚§<*vGhp#~ºfß5äZû6€øß 5©N£›lchÆ· ܺô«elÂk´dƒþnȤO;Þ°é9¾AWSïÂê'©¿¼ý›!% ĆmkµúÌJ<ô‚ÈàÐ'íi ÓQŠìâÒ¯3ú©ãÓ–‘¹‰ü:1l;#-Z¥‰îË«º ÄM[”¦\ ü¨G_•ø]eZsÆpŸ&ô»IzÖB¬Cúv„yÔlÉä²H¿‰ÇëUa\oååo@Ó¡4EPˆ4ú/៑-»îxùÐ@^¤þµÀˆo)XLÚÍ°ÝDZ±âíeÒÁ #7×ônücÂ.ßeD¤Y»2‡X aŸ9£(}Sˆçú:ù=‰UƒX¹Xu²œ1½ª°ÅZy·”ï…(™g…ÿ\eÔmÔϳÙ÷½0ÝqÉû[ d˜›Ì7fíqcWkngu&ÁÚTÉ0Ï©îÒIðOÓÈ]‰ß<üøŽˆ§¶ƒÎH•ÚàëÝúùYÞ›Ó“k¬|n¥ZB Šˆƒ¤3F9+/%ë6èIõºÖ¡rå+?SNH¤ò,ÿiÌî¨êb‰yŒJÿ¿6‡—¶]7¤ìw¦üºl¨ô¹L`&UxT¯ž€<åÖ²_±¯;±¤œ²É00o_ˆê§-GŠÁ ÅX$Ë¡9ÖªÑØF˜VNã8™ic4¾|}䊃g~^Q­Á†QЛ:œ„– DFÊÌjñ!œm·v9”ÿ5€c  +õ±‡!ù®?³þ©ÔtÒ¬ýñ7…8C½ôcõPÊöh%W‹¢jØX¸5è&ÿ•TɃ*Ù¹ {xMüu$Ýn“H”ߊ¾ûl;Ÿé îEù5-T ScÖê‰zOX0Š=©8£Ú%èùlPþuü±}Wɧ!æ³Ý»¡$6_8 +^uÔvšñß3l/³È\ø´lˆm Bcº¤ŽÀÃú\U*lÓ/7×¼´êNb¹Çì…ª §¿Ÿ‰v +xë¹ÝÖ¸û¦o¼ÍÕ;¾ÀÆ Ðð ¸K—ˆ¼&x#ﶄ<9>»sCÁÏX|[«I§àó1Z2lHŤ§¦¨;ƒ«´+Eĸš\1ß;Z4'È8ÖýSÄýÝúÂè$s)îË"…wñ¶»Ãk,—¶hßm™ÀÔÊ)Š? {_¯:•ÃD‘ŽÛ"æ?Y>v5ѳ8kèC¡)rÚàe à~˜“²P·½è ãA{ˆ‡0œ|ÎüÌv¡ƒÅ†(> endobj 434 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 435 0 obj<>stream +äd^ßgy….òX_8¸4‚¸‡HM³edG#CçM1åCìN—Ò~(&ñyXB5Z?4r#÷Z½bÿ” oÜ3éNFæA_|AÊ!¡Ä>ïí×”ÿM/Ë ‰Öv=Vï뻜qÚåt]Gd'g3È /ÄàlZÑŽ‰%_5®I˜üéÂÛ£A#yÏnc3¨,Ñ—C`‰€g,í:T ,êÃü +IÌ)`Ÿ‰ã%D XÞ“‹Á\þL­rò»çÎq´{^³“>úÔl' ôÓz±GGŽNQ¦õ`¿^廥ÑdÉn3êë0+ÿÂüDñbF¿O‰ýÜþûþ$<й›ƒ¥¢•ù’Ö›&ɵ=¡hßîM«Â1}‡ñ¬šÒ¸{ KYyêÏôÉò4 0¦w˜Ö”Tq/í3~.^ê…™lá¤|¥Z'cRß\rMÊ0¬*[hÓ $‹ãœnœ;L ’üwŸîÒ¿±ËßSšsâŽwÂüKôó¨µ=40§ÈÐ\Í'}–E3²ZÙö^§MÔÞ `;à5wä‰yEw[¯\èen“œzTK0Ð n@S'òS>;Ü#.ýÍ»ôŠy8ŠÆá +òèŽøo̯²ú¨««ów½!Ãþ²ªÝï¡ôÇA^=ÖvþšÅ®ÏvM®F±ÿ AÁDvv6S¢üÊru²ò}pGœØ&ùc¾l¸ é(c Œ¥òRVèåòÝmTÎ_ºÚËîH` P›/ä&6—ؼzz0¤%îŸE£9úçPÝžļzZ§2ÌzìIh4Oý†H’ŒÍI”uá3önšÙ1]zƒµdÜÙ}s¦Ÿ£”–KÇ—Tz§Öµ¸%]{žŠÇVÒЬ&ú…5dB´Ä䒔ʶ¯s3M‹ò\º‰W‡‹sÚ±´"­ºhÜŒõñ6•Î‚êÑ}Дaèy é}ûþ<õd€XÞ׶ëÁ#{±áÊ߈Qǵ½Â´Ì? ·ï’ +À˜Þ™Ýû:z}žÖû}k±xl—YfˆðÖçÌÆ´Ma\5ZžcÛÛº_ê‘—@@ëT8¥®&®R:·,W¹8¿Ûjh8ÔÉN éÖø,]XÊÜÐì‹)99CGÜ™ñk83)B… /¤`àZ)Ý´R ‚”](æ,ùdbÔ[ölaìIHÕï­Ã§è߆Q¹Á¼"»àÕ$õ«ÝI‹Ä'ÑžoðNÁ,²®4!Yæ}KO‘"š¢èyÑ™äw\Æð¬Úppñò U¡Ç¸Ø^Ê\´·uÍïÕµªŠ(if-Ç ?dQÔÄG…ÓÄ4Û\—§DÓK¤A­1ƒxóhmŽ¿”Ên¾ÔŠqj3ãÔ²6 :-ÒF2pYë)±»¯Z’t9þ1þ=aVÐ{¶ôðfœy½;N5LÄ'›{ àãPÙi륲wÐ!?¨$U,·ÌmP–3ÿsäkÅr&ÎäˆDXõTIç”{+yâÍŒœ[ÿ@Ãeg|~x—iôªbk² +‡§5ûõ D(çÑáBð-Ó½,’À-3[ê>Ph·$ô Fmx•÷âRûËvÈAn$‡,¼ˆši +°Â’Û¹9×óÏ5$ê¨>Ñ»‡ëÔTÄ‹ËÛ8EÕÑ‚aë‡tø«å&B¶w t0Ä…ÿyåo…ÍZÿßu”’@®²J‹Ï÷f +^{Ù#IÂÅVè#%æÐŽ¾°È±”HËßï¶$$Iàl&˜?à÷ìÌ ˆÍlÓiHqIViÐ…,ïëK-½<Ç©fVò`³¢ïõ +ôh1¬Ñ7w 0>c5‘-ãm£Çñ-š‡üa*…3; ÷ñÖzX­«”$_]¿`Ô7„²~5*N˜zHÏÂâF¬d4O;L°˜ebEï±porp©+so3ƒ¤V&ô_™ 4!» ]¢}•n¤\±;_½T´àúŒ•¡k 4fþ10…¿#Gý[Yýwm©š Œö,¢Âé´½ ëšÒý°æ*dG ,”nvE æ¬? rVrÅIÇÆ,~b'Kç©ÁÚ—â‰d\qÐ8ó|œÊ{ïIÈ„… +Esü‡¼e%ý8O• ÂÒ‹ñ¾î6>»s¤²}±ïîäÐñ«Öª‰¥¥Á óæÄ_mç«MŒ·(ŒöX'Ò׃̽>Pë?+Õ®Q-i3Ç…¤$%Û KäÞ™$¯‚m½´[P –63|N߈`[Cø¯—-($wRˆ.0Þ½Ý&óB—7EÂQ8ì`d4Ð*nQ˜¹é0Ö,› %¦âŒäoN({ž>Ï‘Ž­åX)’þt'¸3´ùgÌ·xÊ:­Ìœ@™¡E—­ŠÅ`' áQ9ö%áô8ŸF+]S[ÓFoªÄ–ïŠ +#aøO+9JXNV)ÛKk¾“‹µ¯9¦$*¢†Ó¼æPh‰xX#u-{p$ +gÑL‚^ºû+Ú“dÛeóçPl­Å?FdY‘ô›ª_jÆžý¦¨d˜æ•Ô#õã쉭æ\’myf!ÞMÕ~«!ƒ£‹°ÏqoSaCªß²Ú}ÄÚDî‘w~ÇJDË×:gÄÔuÈ[þE/>ßËŠ£à´WE÷¯[÷äí3K |AÍ‹æ­ßC2ˆ¤ü_¥JåJ÷½Bmy X×Åеü÷“CGŠ/Ë©7µP©g¡8?Ï5I=žÈ$”À¬å*pNå…f#¼/n®.•V¾qæLºö#݆w#¡ +ð[ ,\;º5Lw±¥|g=ùj¬³«óû§„ŽÑÁT 3f‰sN"ºË œ2£cqMîð•-5m±D¸{p;ÛPºüwÆç» qû‰7å -A²Ñ3À$-½ÜÐ[£Cs\ßþ!.UEØÕ[+J ÎáTå¶wš£0î‚›3<2Ö*„çFä?gUHü³¦Îþ~™¥ðÖº§d ëÌOËnÓÀU¯éÙŒx“0uoMM- +l’ÄòæB|rÆør¦é¿Ã…â+Ih3xÊìz#÷²’QÖ D’͈q¤ÌY|,›‹F= +ª_5NË’†úþGz–Ñ~ÂÉy‚ëwX$Ìï@ƒÿí•TÎOJgÞÀQË°ü‹<›¡Kß²g:rÑÔ•äŸAxÛKË3`b¤@Øÿá±ÅŒ¶:÷Œ4vœé)mäÊ¡Éuw[AjÉèÓߎ×3 ˜HìA\ø×ZQZl”küŸ~ _y‰«øg)mù‹Üõ6É”û(­ =ây5ŸÉÏ2Éñô³Züóx'´ÆjÜ;,??CDE„>æˆjT^Ó6‹j6K~26ñÚ%hüœ./®»‰¸£O¥¢l¬7ƒ8âõµd -8?Þfá<–Íteó8¥ª÷yQ5#Üð¿À³{ÊÐu¥ýï¡è0ÈÛ|1Èàƒ‡Ó`oŠØÝ“ÖÀ’i^Jžt§_‚ÖøìŒ÷þnݶƒp|ï•–$ª°ÊÅ`G¸›Ë§„`¡=Å(å{¯!ëlÖÇ™öaŠ|¿æ‰;C2mªx €ÍÙlÞfZŒÒt],è26Þà¤[|hÜ7Û +˜™ ºšjúÁ¸Ë’®E W«Z/…!Ôð#WêS_ RŠñõ›•ha¯HÙè8¨Ž`µ ºˆ }Bm=Û})'€Á¥“Ÿ¾sÄxÝ×Â7nj [ݘp]ÖÐYÇ| ©¼Ф§‘½‹\¹™… +ÔpŽøSx•!{õ•À®¦7îŒáˆ 8kW쌋ZPŸhš°r2*¿twëþ$7XÙ7ˆUmUöLº’ø)jšDHFÈ340ûì½íaSf]ÌæÓ0â³ù¼Cȶ9¬å©è¯%$ˆ¯ÏöëJÆ"pÆß¡‹!*NíµÊÆOÒÄ´jp@ÓœºÇÐV «t•Ã *ùp[ÕX‰ãc_æu÷):â_ÉÌ7!š®Ç0 "õ™F®J +a¢Î5@ÆöáÙw~?~ 6B~îë$xÿƒ÷äa1€P ‹X¢Gƒô“ð¶@<ƒsæÆ€þV…¦¦ïs{œë):, ë³qO$Û,u*h@Î9ç0§ÔBö/¥ú(Ú +‡–íROÎç“;Yšø!7®N1׆u%W–ºwwù]¤ƒvnúŦø–ƒTY|¯¨™ç€Zß:ÌJ<ÄôÍðÞ_¼×®&ós:¿ Lnën0ž þ‡_w4x­> endobj 437 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 438 0 obj<>stream + JÝEÀÃÞ° Îd•5Ü`Ÿ8\2i)i1¿P:aº‡ë‰nÒÞçTM‰þ¡ÉºûÝ©›¾%ãÂ3°šúðmú›0¤cÔ;« i¶ÔÖƒ½AGT¹K8·5:qŽñSªœÞW¶Î`¹–›U¡sCÌ2™T“óïž™¡wfõ×.'ïOÇ:H6`›«RW¯vîãTÞµ Ê<Ï ’uj“§N—Y:Ì€G—XWrЀxJ8ý‹è VNÞ_$“¯€–;”´=Õ +ÁžÊ»2ËAø VIó“íƒE66uþ^ÏpýJSLyJ(µ*#×!Æ:Ô“îˆÀ6¹ÃàT<:+4gðo«*Øߤ徇µ4ëv¾þéç‘n Rbˆc¾lÖÌ6S,£Î>ÿøñ¹.™S"X%E/"NBnˆÀb=Í7åP\©JJó‚ú¦*£¯8nhväiùTíúÍkc®eȆ¤ìPòµ¾ =ÿACÎÜòþ$ÒQ÷™ÍdFPU›uqé +‰“®“ªÕˆ³‚ãù@»­¹ó`€{^ôôUƒv‰LP¸¬‡åɼ%$×ÿù3Ãü]ÒCÌÜ}eß#¡ô‘ak3•*KÝ<ÃÁðFs ¦O@ˆøéRG†"[ê]†ñ•¥ã»¶bS«y"έûéSñ’KŸ»R41bdI¤ÔÁQ¡ZÀMX™"6ÞÁhÅpúçl*ÖÎlÙÑ@\€ +"‰+r>ñ8ò\·ñ(¦W‡eMååi\DÂR¯²æ}r/d3 +®Órë?ÿ©}5ÃÜ?@{ž|– W·ÑM-UûLKPJƒåë¥?+VaÝñÆ⊒ÒíCrŒêÀÁ©Lb µ+0ãÊkEo +€É‘Þ¸P¢=³…ë·ŒXè— yXÊ…xÒÏ#2œã„”ãÛ*àÔ`B|#²gz##/ÇÕÀóÑwƒ E¶¹?ÐbœŽ B 䯋.@ñ¦^€õ|ÉÅòœøÃ(ó0Z Ñ™»½A>beC»‚66DD>oŒhXƒlþ°®ñ‡â Þ=ÔXpÒ V ‘=íØ#;'¼uÁ*;ëïèõDÕi‹åž|m4+J©Õ¹!êpBÁü ßàuŸí†%4¢ä¸X=óHhã:?¨–©æÀZ‡íзËwp1ú“¼T$CТŽ×F9…I$9e†UÏ…-o{’pqî÷°»k +ÁAû*däF<ögaéhK’èýæ0MøD ¯í ”‘( Ãû¡ÉS‡<ÄõTÉÍ8GI^Ò©b¶uêÊçýÌØ €5‘"r†'·lI¶Tù7(Ó‰iŠOcÊb€a&ž¯±Âöþ@®GS:ׂJ*žXöÒÕÚ¸dóS³é›Ã‡Jwv%Xx0ï¢=¨5#} ¾f¼2ô ʇý1êVäe‚g fßrßj«[¯úcŠì9KÖ «ÚíÐ> íKT_—?õ¿T×ðÌ_дZèϺ†}ô]Á½b¬T„*âQ€Xápvc ®˜ ~1‘¨%D™C} ÿàÊ~Ç›ð-’{;îN›€T?MÃs#èêP/ +÷“¢¹Wå›0~¬ø}S«‰£ÖÊëØöu•Ô>ù¿!ùBF"EßÀ}ù7Ãæ;ïà0±?ñÒ]'|wÁÖ Ã~†Ž>ð¹Øã½µ£ÈªI/_Q)U1îÿ·»Ñ_ôCnÀ¹ÈVÆËœ*›Íqêšyj½G‡¹8n=á%Áp¿ÆÔÎQÄ! &ì‡/¦€Ñ8ÒÕÕ{,IJ“»ÆÞñ4kù©Sƒ,,ò‡ù_Q/M1ÁYêêüÔ¬Àö +FX\à°Ðd®j¡¸…ÐnÇîga°rù«RTñkÍ(À‰ˆMœÎ"•‰0Y\TÄçòÙ™()( JvÛ–ä³f×Q êÖ ÖÌÎѽvÚ†–Ë;wNy/KI@Ñ5"gX¾ªM»²;Bqæ£(Ÿ3¦nj´̳swéð²Ð± 8%܃J\Ê^ Ò+£µŠÅö쩈Ïz&W=—Æ’ñšŒËã­k +/\*oES‘Y³ú¥;ß“ÕD ø¬­ò å ÆîùApëk™Ò@ŸæZÄ"È„ã ÄÍÉñè;`ÚzLO x`sÄL˜zþyYaN +3vÿ§Ö¬ÉïwãpÂg“‘ö6KOÀ¾^;¡I€ÌÌEdí5–cÊvS¹t3X£¤ úŸÀîfý>”_{‹M͇҈ة±Ôh0§@éÖMƒnsͤÞâº#ЪõÉ— öò-Û+¶™:E`ûY}–³ZÌB d06ÿï,3=:ßP¾²(¶vfÜ”—˜wˈ hkíŽb†¥‘’1KCÙC•ùé Ôõw0 N†ìœR‘ +b?߶ÅÐÊî Ÿ¨R‹«dȳò §½ s©_BâFײ2l/ + p*1Œoª)iÓ8è‹”¡R®sök ÚCœÚðÜô?÷.‰µôðôÖ†›-ˆÔ,vL>øþ2˜ÓÇ»GP ’Ñ÷ϸ7>då‡*[ò¯®é»M˾¯¿ØäÎm µÝçï•0Þs QèMcë¾êú*ŸÀKRÇ™ÜÑ ¾WŸCœ¸¸Ëf ™²ðAkŸ™l\•LŠ­ú—€FØ”³¾‹F±y÷qDø2µïýʪæyÇVtYhy^D©Â~Ü‚é@6®:C&£\Ó ¥¶ÒÍsÑS\¢¶©¯Iä¸éæɧƒ~cÊòÐj$‚<&Ì° –‰ZÜq^…Ëò§4¤gQ©zÌ|Á† fVín‰ï bØNX—Jß´w±¢É/ðee»>ƒz ];;„vÈ* d$Ľtr)ëç¬dŽà¯è ‹sP? ÉˆpÏ(Vº†„Èð°[ ô>ƒmP| +‹L‹0™:*m¥øàI…$LÖ¦E)ýùØ:µÙ®L¼„+d»A¯žŒÿ8j”u9Éú•ªˆü7wÂfÏx „g7ëïcT"Ýœ5“3^P.‹äû¢ÎbD®ZNÖ\¨ŽFLO½¾ÂäÄ=Ð{û8w+„„ʳG ãê4u&-€Ï˜WÉë«/ùW‘ X„€_s3 éØ©™G´ÚiåïôËz”‹™6†Ë¸«[ÞN9Mbz¸¥×êÌÄ$?#Œ0½<ÖÊÖ•a'¿1ëÎ>[â&ëŒú\U4žx½™“â=ÂENF@u»Üâ^”  ³ úÊfx¿VW‹EqKð¯ÎhÂ]ŸE#Íø_ßœíÄq©èŠÀk‹ÀŠ4ؤ`z¤RêEåäÝäzåŒ<‰³‚¿3 ”lG³q4窀oqWFÔ¿\Iaé¾&’vØHgŽ¨Uj7›/{ØÚio™e–kmÌþºÌ„ÂðZ´^{¯Ÿ=÷}®¸^«á=Sú?Îú­%#Aþ½©çX&Vwï> pí™Æ«¢4,îÛW²?´«Ž’‰†L®i†©*meA¦õ)œã`ÔìNÙ°Ô•îÀøÂ;Ò‹j-¨"YÕwÔ¼ +IO­ þo«ÿD F=ÜTÒôéÞÖ×gÉŠÉÔEhi»Zaèh’ŸazvaÉœs“oÄ ÞšœEMGÞ7ø­€ÇÂu/…˶ çcu®p>«e9$þ9A ÜÙ]ò@ü[iéòqP1Uû÷áJŸwáŸc­œ8½ßJòº'ŠíßEòÿ}SïÀN®[¼,ȯ7QüIQ‡ÑÈvþ9øPÒ¾0‘§PEqsÆ]à,éÔüyÄ úæ‘]LF_‹°ä?ô¼š·2¸¥J.®$tÔ5Åü¨•ÏWpÌVM 1¼*$W²¿N"cð(ú¿Ú'¸Šò@t¨ò¾µI‡ãA1¨¢KGûÈUÇJ&eÖxÀ¡žŒl‰ÌBlÆ3ì +_i ?Ezž“ÃyCŽ(œ,:ßvj°'$ÖvÃPbŒ¸YŽ™Ò ÅÕ{öƒBp“£3^Èà|>•=¶!*Á4ÙÞõÅ»ÚÀßÞë± ,û¶¸Ž*j†0àzõ¥ 2ñÜÏîv‘ì%¯Tm¿Ø¯1¥¢¬}ùÓÌbHN˜ç»Õ·LÊ¢D_!¢‰.'‚ž‡K°k‡õRæ§*ð~Ó1g˜s6™ÈË)‹ºìZ#…ù†–Ö?Qýqb1…Ç}ffJTš]£ìœqü£ô h#Ͷ‰½H¸Ô«g(r\$vlDN–ÍÃN&5äe¹Ã¬7ã%ºG§¢þ-Én>ž{ì¬Ý\Üt´˜ðñg¸2ý?6Ñ—Ú‡ Ä:¼­ù•Ì­M;ûàØ ä9í­å·¨TÉcÖáÞŸ”†7?”)‘%u÷¦FÔú­¥m~Çx¯P²úGÑ¢Œ§k¡·_ðT§dàÍÉ`9-gte$s§“M2ÞÒÿQ³cŽÿ¤±G5Û1#Kà]É,ž‹P{¾_Jˆ£­%ß)2®“—z£õÊ7 ›¶¥ ¨Â)@ž5Éi£ZÀ5.I‚±Î$ßÓˆ°P“rÐbz(©dËÆñücõúY¸šº»£¾1›ñh¿ƒ4?#$½ÿgÐ223öQž<ˆ;€ýgxÜÑ UF²”ÄëØËÎsá“+j‡l~ŸÖù( µÍ‚Ò â‹×»Óƈ§–ëä€Å„þµÆÕ5¿`øÝâý7õ½p41jP ,j¼)ŧë#“A¯"Iq^³’…‘ôÇ;$NêkŠP.¢ß=~ª6øÿÂSSº—_ehøëz6RRüx­Ò³éÞ¡ê^³7^K6üÒ;ôœº9«¸õ1qìÍâ× VNsGGÓþŸGb+¥!-õë'¢þ+È­Ÿc€¾~òD©œâ\MöÏ©)È?ºÅž‚:ä}Ðn†e 7l¡Í3éÃ[¯Žâùi¦/Ùœ¥ f%›»wNõ®…À<‰gòjîÓ÷‹Cý¦¹Û&G¨Úø)1±îf÷¯òÔ72)H¦§ðŽ–h…—t™Gpµ +xæå8Ùp7³ŽÝÔ6lð¿|ÀK`Þwù°±·$Ëñ²J€°õctw`®§EÑz7a<ûªGìÜö:o+:ÆKµÙyg9ãò},²ÁŤ6,ègîXf¾º™F*2g橨 ”ÿñ,e_ÕÔáÐ÷ò-P«2G8ôÆLÜ/ãdcU£¸ýj1çâ›jŽHûl=´ÊÅ(¥ÏkïŠòJN~Z[UÞ¡mH~ùØ$J»ÝP›o‰Fà6U#AFš=»LÀrÈ©¥g#»ÎQN¶©æ]°O×äß1¾íLŸ´Øöß«aneø·¢ÑبÃ{t&íÔ@‚á’Bõ€Ux*©MF`ŸR4x¯Ú ±2îš,÷ª±y@Ó=`ƽB¥~r›ËÙQ»¿4«½É%ò¤oÓMÑ›|+méç”Àñr—rhÇ4 ç;M—C—66<GùžÙð÷”ò·» vìû¬¥ÊÏLäOH8t ¢×‡>³üàWŽi^´òÄó4JGëh¢¡QÁ‘² V•Ð#„za|Eþ¾0 qß³k†î|¯íŸìÞa §kuÊg C +endstream endobj 439 0 obj<> endobj 440 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 441 0 obj<>stream +-È®©–$dó ¨$3iÓÂï©v^$@IÑCâD Ÿø[ŽnÀ]\)Ú18&Iõi 'T1ÌŠg®V TÔEŽá™röyWÁäâüÈPéo¾*çä̼rYàÇsË„·ÇÖƒÔáò¯k”ïýƒç=(9Qó–TLg™t¯(e“ .gl7Pxkb×›™­ôF¦lº-¢~¥®³vÓ Ç/H)˜K_t¨ˆ0£$ÞÌõ9Vw_4)õ Û»òV+•¨G˜¿¨¼aà¸yý‰!|Õ]kDB㬔‘Ù†µËg}M³Å.{º&v?®ä ¨Í8“^N´å€< qõ[|kö SÄQT«¼<ïË:{°²Áª/ñ è“4x}Ó’¨²Å ŒßÉ +®tì –Æ?×’²N¡ªìv¢œnÏêaÑ*Ë g…>ÿõpU)ïÉÔ•Ð70å*°(þ>œð‰ŠD…ZÁîÒ m%÷ä… + ¨ÑVY¬…û+”„f•¨ÈH“`®t“QVŽJ¦ I¥4Fv2˜€.Qr.Í÷ëÿoÓ·ôJ?K/Ç ?†þîÔBàïÒ=…»‰š»§ \ ÁÏ/N^d¨AWüÄÒŠhÚq€9[ý,ôH)zÎàÃ66X¡é~qMù~ëÅ9,Jò…A]Id]¢ Û×2‰®FW͉ûÍtøâ¾Þ¼§JÍñÀZ +÷ßd~__ï e§ðÌž=ljóq&«9—!ÑL¬ó¡µÿŠÇJq6ï ¹¦$Ï”Òi4 $ 8î>+¬,ò={8¶ +ªÚüé–š'Ú-søº¸ømßRŸ«Æ¡[êæŒ +«'J»æÌc¬i8ßFRÔ /tb-qòv]{‚ñ«ãpœH/³™Mᧃ$Øbƒ#ÀÊEª ÀÞ´O*0 wgð¿ŠàÜ,×Îú`.µîgs€oº9¿ÏƒûÉ,;oa! ¾îQ¿²J•ËÉ ~ä†ý=0m!kŽº PX{„Ý+z‘Ðáéhq,b]ta† §Õ÷ÿ†aö;¾qú÷k#ž'Ô·gnÊ9ªØ¥kõÿ/v-$ÌÊÜ¥Šnà±Ûÿ’@7¹ÝÔ)*õ&ñ+®ÖDò¬s¼Ëm6³-w£ßw °n#•Uõû=Xð³}¼Ê5=µºìoþ¢ÍJÜÍ: ˆ¿mud˜lú“$ªM<7ƒÎ\#­6Vîe5pÐ+ÙXçn˜µæqÌ}Ê6qGohÏÑ š>[öݲé+q\EÀR¯oÜ̮̈́|ú þ{®e«.3Ÿ¼Šh¬g¸–?Sü‚ÓQj@în‰úçy›Þ!ªp2: 6+„6¿]k'ìyrÂvï;I£Ö(=I°ur¹‘=_‰Uø¢OrS©æͱ¾Êö™ÛÌ÷ a»aÁÉgýDį&Î?ƒ¬Ö_íPOʼÓî–è›~» „°ÐÁPÈ&¤ŒlGœ[€¦º‡ðhjÈ g¨u¡ÅüÚãè&è>®ž õ1÷#P‘ð"†\mdaßlðL qäÔ€MÙêVRð æyŸy±í+á]Ï´ìîiêË³Õ +÷ùsÿLâ|ÁLýÝüûâŠ>Ÿ-íaHF‰ázìT‡Ã­'úªJï<7&’ÿ BRÀ¡bMHÔÑä“¥IJ¤©ðOË,è`axº VþÆHõ`+Ñ^þÍmœ…œ½s †ÃY7Aú·5»íÎ=>²†Õ=Îx‰Œ­4-nw¿ºXŸˆr£~ðb™ $”W†\•8Éþ[ÀœñoP?ô$›¢iY; ‘B%nM&¾ëI‰ªœÝ²O{?Pé°™:=÷1~4YpsÞ6+nË`Ì+¶ÔjRØ„"LbN¾æœqQ:ùI$Íyð2©ÓÕ êAs“dóÖ¶íÈrmÛ°æ‹\7j|ž2nú;ÓÞëµxH?ÙrKáCæTÒÆ-k‘ƒ ÄÊí’ÜVÕ¬RDq%ù¦óà(|&Xq …ѵÿmÏ4?â…Bü?…þ¿Â¤dÖôW’/ëÂS +™›¢˜Ý'Úcø,‘1:b˜ñ£½hwìãÀy¨Ä›Å„CM©kú2Ïv{5UC ]:Êš0ª'ÍB×xD9ˆvß%é¬h,sÙuu$îâD”¹C^ä¶Ç°€VÙþIü^ˆ×¨‰D‚Ž¤Ò”ðóqîð=÷LûýÆøáN„o’V8,em¦Š¤ªëß %d\tN<;ê»’ÜE3â(ܤV «¾óeNýŽw§Œ½NLç š°ä©†Ðþ ð6kB`—sælCuª… 3K> +Szé„QÛ€[4±]ƒÆ•UNŽÖêWŽò0ja^ +BRhÎð´<mùU¸Xæ >yW©x˜ŽÃp@bĘ[¯Æ¹Aù™øãxnO¦DD¨øUªþ/cCØWRkCg¸;[û2Æ9Ô(WˆcÝäÿ8Ä"ö<åÿYÇŽEQŽKtsœ˜âZý1ðh'ˆj±qî‰ec] »Óœ jšc DdE£ƒÐÍ‹3ù ‹ŠUâæøÈiLßx¤äѦ§pÚÆ  jOz?Äw$=1´N|¶ë}ðeLMü”J.¯ °ò+ÃtçÏ×ÔžO³I8Žùã’Ϊ6¼ý4wÇpï}èF9r£éAì·6©ø0œËòqD<˜ª£úÙ|Û4f¨ª×ˆÕtóõÕÊJ~É!”ˆl_ßâ JÐ0#¢˜ë=y8ß´u‚o‹ÿe°5°µ±Ê•S¶Idø¹‘‰§Òhä9ȮËÝÙHl®[#¼Š?#Ü9¬'’ã™n{®eÃôºªá˜ÄýÒ¼¨ï\aË—£N’9ð佄ÅÔó;dT¤”/#g'lROÓM?e~[â2éä¢d¸XE)¦5ZNbz%U -üãÀ,ãuK±ãD`€fbžÑƒ|zÛÞ“+=|/¡=x8Æe%ÿ'þpÔóù1šó ‡$”bÔÙ+ÓW9Á—Žœ†(e‹£Üw˜¡Dä‘ aÆS"‚ +¥ú[Â&4EƒêÙ'4sŠó\Þ$Ùº®Z_°“×sAÌ­î‡9‘xdY“œn/;›à·: Ÿ…é••‹Ûïñn$+wOÕ©üõÛ*M*[iË@4õ +-ü´muÛqXXýôWÛÙ7{I{yxÚé°e˜×žÎöâÒ4}lä`Ùd—š¿¡364zéD©ÿðCEѵœIæGœžýÚ] +Ußõ¼mÆêrÇ„ÝëJõˆò-ñΑî°lõjѹo)¶Å‡þo÷2 ÆÎödÝfo°„î˜ZÞ¼î:=àßíIZsIòô+Ø¿`dºôÉӉݤ×7MpâúÈrµPmE[¿K9Nkÿ²)t‡dµ«ýÚÞÃ[è© 3Ü<þ.y1»nìp#í½3 ªH[&š´ +ó6§Îé>A-r‹f@ý–ª„<´uÈo€Ó’rI·J@Uç™|ÏÞƒ$dºæ ¼9Ô)g:ùràuÿÛ" +š±“¬Yñ{“F}ú¨¼-ÛQÇ!àˆ8…¤aFžúl#hdÌ™)\xG+„º' 7™¢-Ìû@†—±{Ô¸ÛŽ.¤àgòÛ`î/‘Šâ¼™Ž—ÉZÃ=ãà" l×òQdVHÉktóo”8øãÜh\ßÑõÐJ$­ž/w†AÃ*­(A&€ùE^1~ñ9'Ê)°°ê}ƒZãT¥Ã”Õ¹8.êyÀW–Ã-h®mA׃¾AíÑcGj¥kŸ£;æJ@¦g®²Œ¾÷yûoÊ#¯V"‹€µp¿•ZN¿üv¼öFÏ» RÀÇóè‚“ÕzYÊø1)µ uø5²á›0#ª´ˆQ~µÂg^«õH€zÎLýA¯µ°l¢™{ȳãg$R(dT0«µŠæÕ¡L4̾ 6Þ†ì‹D ˆ`>8å‰Óø:ƒ_kMm ìÄ\¨û,º–Û["önÓ¢}ÉL'„¯˜üÛUycpæòœ¦mH¥ÂÊT=£µ¹CN­Ék›Í鲯è”+èóþ1«Fq!©X} ¶&HÈŸ¶qsnÇšØOVFÅõ€Þà 3u£X12ô”$2¾_T  rõQ¡÷0á÷bÝ™ø=´E£ß>Õx µÖAa·õ‘¢SP£7q–Àñ øÇ åËk~=ËEǤ*áKrºÔÖKÔšYÁ0Œ˜ÃÈvô’;¿pºŽ®íï`.ŒèH +‰KÄùX`¥çCõ' í¨Á¼cƒe©ÿ:¢è“ŒÒpšoµZŽënäG }#V.zýk¨ÑÇ\lÒƒû)N³MÐÅ!Ú[9+ò®UvBFˆi×H)¾%yA÷©Ò>³¡~çí~è ͲvaPtór–„ç9û@µæˆaà—×Ö‹!ãI¢Sƒñê?Éq图ç]¼£ß8ž»IjÉòé©°WT [XQ‡ÕZU¿y™üÑËb> 2rÛ=Ç@Ü?ôŠó´Œ+l ²^:Ëøt~²«dü®möòK.è_ôARØx®{cŠC(.˜Û}Ìô¥x=Ñ÷YᇙAuñiP$Þ +Âö*ÿ\ƒ(<Ï‹Ãø,Hc¤ñkG%ɵ"WÈ{ªß–jË‹PYd†C±ý +endstream endobj 442 0 obj<> endobj 443 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 444 0 obj<>stream +À­%p€Zú_ö9Ž2°²2©¼"Øœl“)¡Ó 1ë·gb´d7œ+‰" žø(]Š½Ì“u½S¡qÒ«ï‹ ÀwlµøÉÅhª©>Šá¢€[)íÄVxâ†OŸ’`† hÍó–:^A9^ñ¯Áѽ%¨Llõª¾£Èy†SÓCÞ¿·.§ha ,ÙhS—íýúRâPZx,#oO±÷>¹­(uŠÊÅêPÔQlØ”TnñêhWƒäΨcš3W± e?¦å~3ÐÌJØ×5ð"ÉÙA[ùèSKkïëB¬s “ò?à®6 +uðîE¼K¶(ïØÊ}m}ëÖM¿]5˜w{j©ÅÝ›£ë¢ûVã»Üˆª@ÌøëX+uow™!lŒæFâ¥ð–³siï ¿aÑ!m2©""Q£Lç +ÜéòÑ zõ!áQéµË \i¶©ü™ +Ê[›ùp ô¹›?Lñîa¶;ùþÌ¿lÐ@Lâϼ` r#´|ün©IÍEQÍ~\Æ,S%:Îã‰ù©QÊMªLIê5„*#n™›Ôç‡eÍâž<7w=!"1ÒÀ.âWÇ6áÙ °¬ r©g¬ºÛ‹§XQ„O}T‚EЖkÄÄÀ!Õë©*gDó¦ ¥ÉªI'7F°‘æh( j·«ÞºHØØajñÈÙðÆv8.Bj +5kI@½*¦(&….ý»Â¥‰¾Üj^i‡mmÈǾDIË£ÜIÀ²"þ8&Øà31ãþÉøº ~=rQ¨¦¡Í0+”|‡µ2EB#®@Äo‚ûëŠ.1É߆r·£“ÛÉ”»bõþ+'UzÌ}€o¡ßkW9.Š§üÛ5d^¦’WÎswê¡ãNú&0Éd(cHRAó3q§š}^¹[ì‹ÿå0˜»˜/{\+1¡å$e,FpHjPæ 5Ñxg¼AX)ã…¼Æ=•À̯õG^à£p–=ß}ãî]?ìxjþÖ‹ +XÒ³ +QŽ|ü%–lux´ÆßÁHÆ8l­68ÛE¡Tß0D) B²åàlÊ1”Í­z,ç¼ÆeþRË… …AV¢H»$#5¨ÈË7@JñìV¿ã?‡NÏÞìáü*Ì"ÌKS‡Gj™^ò_+Øîw:fJ­5ŠåŠ 1Ã6Îâìó½UŸ¾b-¢>,Û†~`¥ÌAƒ6©s`uÏÄzYÀò‡‡ë.úqJæOMc졆/ˆ„«KÆÍ><´S^ÛÙóÆŽÓm×Þž&W^}Ô£‡ÙKùj§Ú0 E93Ð"ð¢Å#nëM^/¡g‰t¡ JI5È…¨§…²ÇìžM8þ´SÞh›-MÌO ‚¬MË_ŸÁ  ±Ú„³ø~).$¯D^TK¹³zÑ6'¾ÕÍI»Y—‡¤ƒßщÚ2‚ Xr9*©»eÚ™‰–âܤQ1o­qj Eßpk¨sSÛyMÙ¿?ØŽeZõVGØðî2Èâucñ¯-§W$0"~?—9ºˆ.¥&Ë)¨ðX<ùÌäF¢êwx½nj0Wñ`§JkiOã,F'±_®Òujžò,ßÌŽ÷‚¢ík˪߰}žt;LÃÌnµ ûîÖ»UZÝ*k3~„GŒ•^ë2Ši¿IŠÃ3íQ^^’ÔN8fĈÄÎuuňÀï£sI9óøçN¼ˆô\>¾ÓÔâ±'f忺ზÙWObi£…Ç¡\PR|çR×ÁÄpzpž?ø"bo¦aq‰ßp4›Áw_̯XnÛæp%ÊÕ!gÁÚÐÝ<¾#³Qx\6ÞqðU§²]3Â[—h7–’r=BY²2’ÏHÃï¿Röüth¿e´:÷†¸„}•ÓûPvÛ-h +º£ë„o°0ë +(¡Œ¥ª‡‡ +MxÞì8œîu+ ´1”¬ô’±ãàÙÉZ¿Ÿ‰bª†‚»ƒ-‹%%lVèlËb²è±Új{T$l{–÷1qØJÐx"I”¡â|«%úý÷ì_ÀåÅ`$çÒœ*-q@~nF +{»Åmî6eT¹fd„î>£þVÝ¢Â`Õ¸€áØä`ËM žC"”•ôfD·qhÌšXŸ$’Ìç8Y€­öiPÌõá‘Þ~`œ§]Ó†—‰O‚Í¡½Ã!ø +štbàò¼Ú{½s´Ý«Ã{§Ç—ý˜“˜fÃîm²Ôï©k]W–b³ ­…@çÿˆD÷<œ!{6>$¨§„&ÔpüQ=§j:íмõÕ1U3ö‘ôé¬W»< ßG¡½¯þ++?¬SÃ"Ö)þUq˜k>¯FN‡—AnúröbU*öUßÂd•§;²gÏK‹>'•)»”S`ë ªÝ-¾Ÿ6Ã+¹†™¯üëW,X›y‚½® §¹VNØÜ”’œU¶þ†[p6¶èA¢Õ-ÏíNÇ~, š¿h´lkX oøþ6œyy83&+Zé +¹NyÊÛH—ç¸ñÏýÈT†@q>#úÇFà.¾’½$5éutüë«îÜ»Æ!¾u³'¾à}yÒz3Gˆå7°]ìˆ$ÂdX÷ˆ4Ýæ E$ï;®÷l¥uƒÞöŽ¬K·þšýŽâ¦$êâôo*’º +ÌC±·¹ë\Ðéú…X«ÕÐÕyfØüSÛ>{A‹ÅAò«ÇÒš~0䟀zD€a+ÿ=Nr¶Çë‘Â,RCüÄÓzÚÎÌÖI°H`K;Èâ+äÿ‡d­Ro(r´/ñwïF­*«ÀúT]¦F¥ZW÷©02ÌùV ‘æFY%ÇÅÎLx'9ÉøÔçÒ%Ò&6ñðǪí6 ðÝ„K‹[.HÃE„'kƒŽ¾Oæ0ÃË¢îéñ^éeÏrƒšŠ[­tô§´ÐŽˆüéy‰PÄ Hb/!ƒÃ .Ô`à| ÂOí2Üp’E£ƒ0+Æ_À®¬²Q–»äÀC ò,j6ƒðõ„û8 …­e¥·q *Õ²Ö«¤†ˆˆ˜v ³ÉìÑ!%ÊÎééª8~/Q$؊ǧ®÷Œ£‡Cl8Ú2ßx½ è!_oŒŽ?¼CvÚñçªS@¯¡›÷¾þ£»ß³†*ÛüÍáÌ'½ÿ¦a|}˜¨ß{2‡›é"oÒ²ÿkL¹ +À¾U…‰yv’: +°G8µ}ŠHObDt=–û‰Ê  …b’åÓ¥/àôk‘—‘oJ±ã:ÖŠÆOW‘:¹F¸¥êb¼ðœ=7(~ËM5lã†'n’†/(Ôß_—,Ka#%Þ™râE(¤ TR°\ €þÏÀ|~I.öu°Hc~ŸŒ+tˆPv*çn;˜Ûm¶U3]ƒP„£Ò½žµõÓN7p;8ʇ9ŽªÙ €ŒñN¿P6Å®Û.¤ãËEÔ¥¥ÿ«•È.×_wÔÛCo ønÃKúñ‰üÅP}M˜&<4¯Xy‘?0´ð³.%Õ3“¦· jöV«(g^ã-iml{ŠXû°mSú³ž«†4‡f[·›˜g8·ã%1æ?å M‘ ŸÎËðο'Ÿg È÷„µ'ñôî}çJ@[N©r +¸ë1iýU€¦fõ)<³L8jΛӒ•[ªEoWþ¥ØMÏ 9;7ï¶S ÌnIFæñ¯C¨‚/¥ƒ¸ë²;ð¡›ôqܳCÕë÷jb¸¼] 0*ŸKzKzã B=»­Óªµ;ÖÖä‚·„ßQQÈ5±æa‰Ö\ç1ÈÞ8ûÎÉ)íšøAŸ#ˆ“ì׎Ys*ßi2?DmbÍ;cÑÁ‘.ùÑPR|7±k ±gY-÷dt+AâåK¼é4@ÅjøÕ¸ö @@ŒœûÜgWRw™ßAuëMüØr×ròV¶Q£–Þj¬ú‚øûs1Ü­¶£Üm›~çªeyÅÎ(‚q¡Ö1Ž„«¸k¥™»©Lx±¼ç’S[€ ïöƒjî¯øÕÜßüÜÕ§2½GÁ)g75 ŒEkv/¶õ'À”`‘áÂ{xÁ}tŠcý72d¦KØ)i‹Ü·ž©¬²j ßo™vžPH®y-E÷Ô‚@Ë)÷E¾|2£Ï¨¼)ÄÔ¿W‡Y0}ô꧔¦ÌŠ`î"¯¹ +ƒ<"¿¯ô-9íÝï/]ýìZÏ€o ª…è…©ºãXÇÏ öÚ¸¹ñÑŸð§»SjD£Ûâ.ÉB€]zΘUjG6¥ ë¿@^W¤×.>é#jÏ3”âƒ+6V-Ú´›X?',¹i•œžük±­†–ÿ¾%iõ©÷D©ô~(p¿¥h¥’E„ mzäîmÀžF*PÈî’’ ÷RD,¼eL'1zg3~g23C­ÖH ñAzÍø7h¬£<Åf۱੪iª2< +endstream endobj 445 0 obj<> endobj 446 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 447 0 obj<>stream +¤^äˆ×Fëéî-rª*º7“×XÈ5§µT ÝÅ»cCÓ± JŸXû3#Í2&¹°x¡d'™+Ÿ®p÷p þ_FÙWʼn}äˆKdy¤$<*²¡žÇ“åm&´v`¡ãÒô_d›ôÆ|4+•ÁQðxêþäÆ‹yäM–œoA¦U´àÞ›¾Mâ>œŽ7[Õ$‘ðÜïËúRš1uãâ8&uwPe©}%¦’ϹòX5V–¸oA~ðW÷‹4°õ¾‡,OX×\Ã7•GûÅ’Cr3NM‰û‚?+<~œup;vö¬hÍý°¤¶-z·IèÕâ6¡mŒ¤éá>p Ûy +$å3Ž0o( û¥Ùÿä D·µÚù)÷DõÌú#-Ä\¿—ˆãMk¤¾:X Ǧ2Ðtlã•#è»Pp°wrkdGHÉ,dCoCbAP<Áõ1jH=g8y.=—²Ö– M:«nìÍÀEwA³gb¸A÷û…ì.œô+]aá6¬‡76`à‘ÇÓH/íFû¹h}¥ò^ãù-6ïoÕ0dQvûŠR™ƒ9‰è=ãÅ´AUé# ÆUòä|Õ¸, ¸èý©ðd´î»ã– –ø »1  Ƥø¾ lJ65àlœÑͶpÁÈ ê&¿Õ@ îÈÍ% ¬nTõ¯6fɵ38,[û7M( Ó£‡ÀŒVäDí¤“™”ϘáT‰’í‡0€œA¼} †Î&ˆ”ËÇ e‡Ï"{RµËч²î…þ˜ü•Œ¤ž%6­© >훎²Ñ”ÿEâÍñ‹ìv«‰r`È犎ˉÚÉ,XHY4¨Àó²Á/v¢8˜ÆÀÔ §u}A诠®«5{†Ê ~ª¯OŒŒá9d›×8Ô=NÝ&íV2Ê®¬QÞW©ŽÕ”œ9¥Õ1·§ïÊò—ý²RC%ŽóUõiе .ÃvÀßé“Ëýë}ÅÉèž²¿cöôΞ‹^`zpöL¢Ý^ÿo‹~7Øl?Å1Klj´Âj¯‚Q™æmýCãØûëÙû8p1”„ðÊó~‘Êسh]ÁCÒŸxÄ1Ž•=N€{žr¸vÆk?š”Rå//ÉÌðïfšf8WTŽ;O°µ{¢ÙP8KG²-Á©‹HÕ;ðì{KuúŸÏt][ t¯Df¾+¹Ê¨1‘¨:+]OÅœ\’UHHIí»NMþØ• Æ™Š œ†m›À/®ò/í pf”Öbê易A5¦xÝ~õwwá`yø½9Œ +ž¯…792^'A’éÕ¥VreÏ£3:_"ÏW‘ÁÝÅuk ×á8€>&’)OЦè0ãДI7…v%yJ–óðÎ[a\ï ôûYLµÈ1aãªËÊaaRZ•ÞcdâaùQdb1k"ìÝ%”8®>K,(7ÌîœéÍ0íÙ™ñò[?¶Ÿ®X±EOy¶ûÜÅý²Ñc0©[°ýƒÙW³Aæƒ_ÚÆ=N@%£ª€V¹{¥ŠÕL$Æu#´p†Å²LY×Îz.‡õ»«–sN…üª Z s R†ïÓÉÇõö…Ô—ù/CŽ£€ù&CQr¯ Ù»³·ÛÎ:C–(vIL\ÇþSc€‚Þ1Šj‡òa=˜c>ćÐÌü~ý¢<§Ž–¦}," +/àÛµj¨¿Z(ç…ï‡<;—å·AùÛT²¬‡Ü…¢×šks¨ï‰Vâ×ß*cÛäG݇ºpº,ÉÀ`…‚Æ‘/íÊ­JB: 4RKA¹ÕYÂûe9&-#­õµXøWv~_8?Ð ,`Ó3Îw•’PSrÝLE´bžIü=*jÛ‹¸±l 󜽷\¹bN[/axH+²Œ2ºRˆ$òÜ ƒâô²eF- ¶3³IlÏ/T®t +ÞžFäï9EÇAŠÒU À¯ú/óbmX‹Oͤ?@@¬¢ÿH[óá^sͪqD^FÆ*Þ£ÄÏl‰â™^¨SKጠ®*zn´Ïì'žj‘¿ñ?r +§‘5´þ¬®€ÓÙV«¸MŠE$g€·”*á™p,q¸¼ü…‡^†Èyžõè$\Ì!¡ºY(ªwCî~ü6ÒëA}çó{ŒùÒþJÞÓ¼L‚€ÀÝ@òˆÜøß784Jç›kQÓðÙ^²¸Ä°ô¿xŸDŒhCY·5^º84r2ý÷ÈÎf–uϯcžó—#33„{Ü{T$MÏ–ôhrœœ!' ˆei‚-ßÕ,j–ÔKw³åhðîÑC<8ƒÔÌ*ìvþb–WGÆÕ {Æ5ÿ`H=ÛöIŠú,,`H>–K(^fRe=ó‘Bþf.©ifPi­Å©UB³w+|ÉøX5bZÓ‘å_;»ßjù1¯(äŽ5Ǧ„C÷·aÇ“p¢Ò[W+õÇcáqÝÔŽxèm£™Ê ©¨UV£†»¶—¹®ö¶Ž½×3Ð÷FŽ®þ‚ T+YT×µg~‹öRÄ‹éo´¼µ²À¤ô°zp{‘Sz}áö>þÐHN!·nUê C§ +MìI'?¹Mb {^úž7”±“9]¸tvˆŠKÀQ‡>¶¼8;ù[Si«&µmÙ §\Ï>ɲ$Ç« FqF@“îÕîFôÓ§;’‚—‰«õ@ªúÃÖs5·Ù†Zº!&´.ô[5VW5›¨\8ÕgÁ˜rºnT›­‚In&â;P·”Û4µãrÆÀ3ÏÇ„½EÒÀµ1wxqw|!ÈPp¦èlqJê=Þ†æa’ç²oå»5Æ€ãÄE7ƒ;öZÞÕ´8üi@Ñö¿ùôïÕ')Y +Q•4àd¸ÓºðEÊ`ÅÀߎ#óì„1òƲ¿©2‰;Åe7üñ2Å$Ì©{´—bÏ9²#rÏ—¼ü\ƒe½-yƒ”€Nÿÿ¶™)§Ža8»$XD|«ªÌ5]–f¤yJ€;ú;{Ý ÑŸB»Ï‚[o–çËûº um‘…²:j÷Ò+ t?TKÀ?/×H¯ò ðçÚÈxÀ$þs…v«+HW}ÑhÏ“ÄD#4úïrq3Ý_ì.É‘nhˆÙZ.º½4Þišš‚Ãu÷Ü™@E¬HÇÖ¼ÊÎGÐÓIU?ß’€`~_Ãg!ëXÿ; ýøŽ¥2,V‰# µlòÖ +Ø<ìCÆÂæ&ì#i ƒÏ{[ ›ÞÑE}›Û°E¤ …ª «×PCƒ,€•9Ï rÙÅìÙ‘°•ûZœÝ=v—ösF‚nkÊ {‚æ›bIêJO4%‰GT“¼.ùØlnQ&‡×¯2f>3²ßFSH[1©´9Q¾K9#‹_4¬<¦PdtÝ୷͘Úb³E…™kU6jz¸ƒYÛ +;|H÷| {u.ø–Ãevš}¹1•ŽÄãKe¤× +@mˆ€ñîÓÑUç[H(²÷°V[Çù6Û»´—›‡+ÛÜÃ`Ð/ï¯ ½¿=¼GÐ&h±Q¸\é7È€ ¼Yø®Üåc–ml ›ó¹Ë~˜d€˜X†(§Œ6’ëcdÎΙٖˆf0p¨ëè·M…–yÎéñÓFHÉ*NÖ©l:M®˜ + + •6òe™i¡/sj$I:<Ì.µmЙZ+Cºµþu·iÂ5ºÁMY +ÆSn>ÞT¯Òt¨ß]&*o)]-Y`S…È1Qd8µÛçD/W«ª–IÈÕïa=AßC^ÆÞªÔÛX¹R/, +"se;˹noÁüZKÆXu¬ΠLÅ©ôðúN¹rÝI)ù?ÐÐÂTÕÓû#[z“,¯ÄðÆ'© fÆþ®e¥ž,™*7«>.°¿±‘xµÑ³iOŠ‚ààxÙér]Âr%Qå¥5 žÚŠ¸fë‹Î‚üv <qføX‘èvaÁj˜¼;Êåk¿<Å®·‘˜E©3ž.AQÕ!p¶ ²ÂH~°"±5ØÎ~\7«7Eq¶°Ù„|vRñê^} ¹,ÇsÕì£êŽ ˜`¡Ã3æpÞør£“}òÖ@ |@Žé¥r…I *lˆ¾¯»uññàj…ŒÈið•ªz½á’6dÓjáïÕH†ß“ǸˆWȦ«7ª£¸~Ú¹ +ºì{py±#ìvùd^Ø`ë.C‹‹þõô”ƒËG[¨®­š„;\Û¼ÈÙÑ.€ÃkðG‚꿯—r|úŬZü‹–ø>‡×fUtsóåS¥b&3`<.ÓTáy™Ñ´]”oãvÆÈ{×\øc~ +ÍÕÄs° Ó4z1¬oœïƒS\Îw€‹› }‰·°åÉfùß2C2‹°,í£25[3‡% +F!fY1ÞG +ïä„FŠ›=Ð95î˜ +endstream endobj 448 0 obj<> endobj 449 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 450 0 obj<>stream +ûCl ×ÀŸà_Céà¼i_Šz­h‰±mmJ»çbYžJÂgfÿ#ÚŸ©WªËÜü&hÓω>:åì°60®G´-ÿ<® ›ñì ¼< Aí5ÝÓw ._…¿Ìºmߘò/Žâ£ðŒz7WmBwÐê¶Aî|.Ê AQsüèT¾¶vc…€s¸ë›rnÃá”îZ½™'×aŠ U†Ã°à7™@ÒdÙøÆ|Žxm}¥\ ×JN~%Ü\ÖF%¯áÐô‚s¨37&8 +¦ý<Ö*Õa§ó—3ýS­aßëpeT;b:.‘º¦.á,d=ò°s<Þiü:ÊX6þ㼇½ÞBˆ q<@½ŒUr†)Grì;ªs¿ÿrû•âÖŸ¡º”µ‘‰Øu=•ˆ<óŽÅ÷~KíQa­§ŠÖA§d។4S~3̺ sÝ‘šxÛKçA«ZG¦ÒgaF»Ìé·Ÿ“aã'ì¡.;º€yH¨›·ÿº9#î{áh˜©½ UÿÌWpìÓ¶ë¤yÄ7­YxJ$ *XQŸU»1 ‡Y¨j9Çi^†Ðn»Pàðå8`˜eäK”"±1±ùŸ?hŒü–åbxÞ§>nI|Éž+r*ä~ð„M§Ø{”˜Uðž.+:/F–ëè§â $‹»ô4‘«ìG‚<¿aÓ‚BmiIóö\è‹ÒÙþ2›'ßn—ÒKâièÐät§’ŒÓv´e²kƒhåó l™Ž.Öéžçü…hW÷%‡%K«MaÏàrQTWr! ÈìöV˜´¤Ÿ X \˜ÚIúêo‡g"”€§C©¬æD*7¯µP3 ×Zâ«Ô@#XÖiÚéÚmàN`ߎ“a4q²ÚŠ˜¾KFîňÒHÒs"+<Ó×X ^Wþ•ÙtµWof¿mnô »úµ’/ý´ù¤áZqbñ<5àÛÃ[€+ž‰ñø™ ïÍÂq³ @,_qÕø»þóŠU_ZÌø¥¢%[:½†É+Ík²Í` +€lšü=KúÔIl{uã"@Úuà0ó¡ÖØô,YRÛŠ%RµÖ°©=ÑšB¬°1K2Oà„&¹÷°çd£Tªi·ôyl”$:[BFÉÕ«ó&!ØkU”çMbà!ZIµ—‘Ò5q2áìHIGil;¡\!.-´ÖÓ¦Ž§«ž¿Þ²"¦xiäéŒuØ÷ÆOòËþ# DÁ5Ø߶"ø¼¾¢9‘Ôæ£Ñú‡ÄOSg_*ûÃ7(5(„ ºÍ€Áæ˜Ä3Ô;že r„"i8$V{2 ‰xU¦† +'BÕׂ*EÏ4:qùäÚ{‰nóÌ7X^9Fê°’`îÙE~c P?mQè¦5õ-…«ç*f±5vÇvY™8ÛÉâî­·7ŽÇ4¸§Ä¸éÁ• èÈøí] cX\#Ræ¤20£²‡Ð>§}⦾Q–Ùèç†ÍåA•òO@¶h€ñ.òT[urwY‰îUÿ¯”¼$evzZb¢s€ÜàE6qp„É\ôf§Õ#jĈaó$G6uÌaüŒž7S¼î«ÿe„%Ö3._8%úü!ë“&ý@a@ÎÍ…*øõEâÁäÒ·Ž^0µŸÀ*Cú#OŸ6á—¨ãЬb4ò|cÊ#…5[‰Š¬wfŸ#µäó»nß(¢®&íTï‹Zy¢xç• ÙJ8~õë H”±9¦Q‹Y_6 Ñ+eÖ‚Ç­ú§K4–áúa'yÜP‚ZYòK[&æ›dåñÆ&êT6-Ú\—ÛÕ>À%(Q^`Þ_4ð¡Õ‰×dD DdZ>Ú!ÜÏÍ åãZ÷JûØ˜Ú P £áµááúΚÌÜçÄ$Q9¾U€Ê@[¿³ÌÎe÷™M4d™BÉïŸvk¶¸VÃ2}$wr·. CÏ4¶¥›iµO¬â8Ñ|„Ã×m¯ä›ô¨0üÛáK ¥¶£²às)6Òñ3]ܤ'É3¥Ì1^ÖUZÕ]8'Ü\üú@QxP³ï9†ß¥¸²ëmB†·y<¤#û£5 +šYìÜÝî¤c0â‚ý(X>›ÇOX ©Øßû3þ¬hf O›FOàÐøâÔk0Úê—ä“ÙUñQàÕNSæ€ÄÖ4%‹s麎païù{ûwyU—7i=dZ0zt‡6æ&†¸¢sÌ €‡jl0°_š=ÝòD]’Ç\º¨°É,­K< áGÃÙ#MùHÌz”ÎoÍÎJA,qöÂ)}ÃQ’™2*®ò‹G32[M _ Ô†}5ò–Ÿì{£'(c¦¼ ¿â(ტïªîÖÜö:û@˜¦ÓV£´àF|QP+ú|9®yn0À¸'Œì# ÄLcR“›ä¡+ +9l÷øX•—¯ÚfªTk×4±Òâ-®4ÌÂ|Q‰Z /G+Wì5ýTž¨Ãßèw-Å¤Í ½·‰ìÙ¸R•¹\0dua×îT¹PïÎûQÔ€yhŸE;ÉVj'KÂmì_µ“uSôMŒ¬|³¨²Ýwé«t¥´ŠÓÞ¶¼T±ÞÌ8Ï’5êÂá¿N –VRSµ;¨gáÓž“íÆÊ@‚(¡•¢§‘C ’tîlÁ—:¤Ø‚‹4¤>ùLUüYW²‰Õ¤ÒÝ¥EœeR85é׳µ3º<ÂXlúÍÓlÌŠ;Peë‰í&µˆ‹§¤§Ìä`m? 2æ"»¬q /Sž,Ñ|/Y²^e*oŠ˜ÊòFÙ)Ó;-fÂGqi¬ÍoFèÊ|ÔÇ·åœ×ÜÎåÞ˪ïØõ7Š1°k )ò¾ºH‚ÑÀ;Ê’åCÜ«Ea¥ag–Éï0²qˆàŒNŽÉú–â(êsá$;íPõX0'º [ƦÊÅšæ( ¥æSÍIGî„‹8—‰,V.Ii$Úe@Ê›ZÓ´]ö@$Ó' `þ6Ó¯›¤PóÀÚ@ +?Õ+_XPæë•0x0…ŠyïòLõdýÛ¡uÚüéIF°+%p¯«ªé]Ow:ð¢„d3Åì)3`ù¥^‰~̾Y:2.D¯<–CPÿ(l_ŸO¥•ÁµP Õéf«•7T~6(#ºùˆvLvRD‡öÚ,ëjA¼ÊCMPï•ÜŽi×fÕþé®Þ6ŠÖÍ—œ_âÀù±,YúÉîUÌ° ýª(‰ în²¬$-A¹!üQýHå0"Mšýõ°)h J@­3ɹ)°¡â­OQ»¶v¦½rÀáÐ>èß±ÓOÙÑp*Ü€= ÕŒxÈhE°æþ+ÔFÒÍlžI«Îÿ‡åŸè[óZ$ÄÑt¬¤ŒÄ#*Û_߉Ѻ›üQAÀòó)ËØæe_û¬§7 sòdß{51SÁµ«ãO°è aV'‚Φ\j¨gÁúg9œÖÒö Ú~Ñ.¼CD&¸@ÕGÃÃÎPÒ{×ý¿úÈZé%xÏ6iõgö0™ö|ÓŽùàxB¬Fž?DeBñb—„Â^ÎkÉ¡7À¤Åx{3.[J“¹æ¦8¶ö fDô82áÕÏJÀ€«/{OQrA¬×ü·C )c–x™<¯ö(ßÁ0õ"xQm¶õK4tZoš …=HŒ˜ÎIè~o1ð‰ûI†´âRÞJÀIÊ/ÂÕ-5¿ö&»*‘M#×MMÌ`hµñ{O÷ÃEÁ¢˜Ñ.0²|,±}fy…‹R;WÙ“Ó)Qrs®¡0ÅœÊÌY¶kÖï%ùBk¿2ÿÞœ7˜PÏš÷IÕÕ½vc™¾§ª0=.I…Ä i;±4CeÔŽÇ蟧OH#Eoç¿xÐZ*«­¬êû*àäû±ùb´ð™´<”^wºÝá£æ"˜S˜^n 2XfXùgpÉ0ù÷é¾dŽÌLÇûÀœ½KѸV ×µŸµFÅɆ/ÂÑ4Çàºe¾«Ï€ä-"[Q‚1„Âålm}#n-Ün,ÙÛ$&ÝԺڸŔåZíyr½È×DTËϤû–“^6ÜCÒ0®ŸÏÅã“Ï:|3ƒ`êįŸrŽ‰n~§Ó@a \;”Ì„I"¢l*iÊkì¿Â3çJ§Aw‚³#2F2jÌâyãFýðø®&A§€ÈG©9DïÆt«×æ´Ù=Vz¥è#à`e;_Í”_¡³œÍÓK0Ȥ‰e†½ÊÃÒŒ!7ºï’KóàCþ¡¥Õ%ÃñýÑÔ…yßš¯±¶ò¿`êÄêÍRtU“1°]Õ7LZ^/ EÑé¡‹9½LÙ]S=pÚr΂¥N@%îrk¬ê6Âñn£&KkM‚_ý¦ÃB +Í^™éG€­ÚÅVÞ„ƒ¦t™éüFjüΆ³y–¯\œø¶æ Ä×¹ò +œ¨µêŠ”ØÏMp¡rZ¾ûÿÂéÞ(à]˜X5a~C,m-J»üéMIJÖþmz—[²SUñìÕ>Uª‚—b¤éî}jˆeDCÞOxÛ¹€»Í…>ÿ 'ÚlÖÜ@©/5uJžI«]xK ˆ¦Æs°ogDñ—¯.± +“jƒQF·™úÄ9!) +»VÉ¿üãVˆ UؼŽ_Í‘áo XÔ†ítEY YUz¡ÜË^Ïã¢8f ñð®9ÁØR0k?õj6/(_=9Ð+:TdØÅiãî* ØçðAž–¯3gáÔ»D½fßñú¾×¥I¯WõŠ5Céµäm<Ý&  çv/0¥•EÒ´êP_à´BK_óASEF ˜ÛO@¬,·³oÐ؛޹´Ì²¸zòÏ6BºŒÌÆ!n}¡.Šl>;©&L–öic]Ó»PáOò¸õžÓʸñ;þ +™‚þ®¸Ñ´à–¦¢ë fÁs(¡ûˤf£ Ž›êÞ¨fP³îèªP!zú Uù +4aP~+i xV°ž‰sŒ‰Y\‡e¥ñÅŽDëAÒ@ç[¨AxÍÿ¼2×ɹøÁO 0o\Ž-Ø›ù¤Ø1ËTí|Ò<éN"NÈ­ âÿ…œÑt¢¾9×Õl *¿Æ £æ¼£¾ÓyŠØmZ_ŠØþþ€Ó¾hù15˜ðCú¢U†ñ Ù®¯™QWÜ(ßz=šÿÁp´“ÛåÁ/*ÀÆ(Jòµüè6q?±jYºa:‡I.‹Üon.ï2Ë}ÝÞ†¯Ž}b—A¬ÃSwœc–•'Üg=Té¯UdÄ·-D€o½Än+á5"®Ó¶¤2³OϽŽèëofhD’ºLü%)­h’råGdLfŸi519Ü«ýöRm[XrÊD:B2dIßDFÏÇ¡ëîA¦4Ïe!«òP'€ü€ãî°\ ›\Ä|¿gЇò²ëɆ>äUÆß÷-²çšµncâbe4ÐK0ätîƒf}v¹ˆj* ·'––‚Weóˆ`硘½àÿìd¡­é*•BË'ö²¬0J}mU´.\3°°½Æ'Öº¾†bºŸÃÒ¨•XFØtÝnh‘âè¹¼Uwш’ \%¯É)%=ôŠ*] ¬é¨‡ÄEœ 7°‹ƒáè=†”¿f1 +É +šo€¸ëNS7ÝtœÃ›`2µ¯.þ¥ÃnÒ†±ñ™µaýRe‹õºwÀ(0×Ì6ªóè¾ à8“®Ètiºä+ÌyWp=4ty>tE7ÊÑp>ŸG³(ú¬LáLyÞ‚ ƒÁújd{}lá›I½P©:}qIAòÉNN+&ÏŒMÎõKæ½Íå7)çXÈ{7È<úÀ¹$ëJ°•Ì„1íA\ùÙ'©Ô[àɬ7†íí¡0;žÿúããbïš7¨ËnþEÏôã‘O¶¸š3a3ѹ’í÷øUô$4Ümôå·®˜ýY~ñzý64$Ɔ©‡ï¦s!ÎQ_g¡ÝÍ‚}•ùw¹¶› œ·&ö*(¼"›ŸÞƒµÑ 7hdÜ œ•‰\¦Ku¶Òºë]³D(íºo~Þ쎫‚FÁÆI<žkï¼û£ú?è³A$2BZ#Ä°f>ÌÐáb"Ý0¾µ½n“0½4LÛ¨AˆMÓI•¸* ,@¹ÒÃS‹_*e`C=š Ó_¯3¤‘\¶ì“y•_Ù§'—4ȨÖtÙÈK_þªÕ¾¯M¸^D­y.L@Ž9|UËD”¦bû¨É3òé +»½ ÔK]„LH°7s/ ±Yº_Rv>" ¹2L¶~ÍVž—þuí]ð6Àˆºc?¯Óo? ¼?DŒµö’ZØKÎØr¼ó´ó¹fMIÚ^ z wPôÎêwt³ÿ˜˜é=œä>+Ê~ýGÁG@eêxY¬$ÇèrñϪ2ÍŠµ,|qªôå({d¼®ŸöLCÛÈg²lƒ~1XqŦóº³VåŸ8tyßwþÁ—2»¿WƒÝÿúêÏËïºçÕ0_yÛKërÑœhàm!^z»®óCfH7Ö4ݾø4íhƒ2O¢ 6TøÕvÂþ¯`b·‡AWÖó¶  Y]®åEôK/ž=ìpý©l{ Ïi9ªÞ9k7*r2]~8ø·Èã- Òµ/£D™X r9ú.'õÀÁiTÇcí[Ôp¸ +TÁ}/ȶ ÐXó5z¿XîP°„%nˆ?2ò>¯C%Y¸lˆKÇHd&òÚÆúèû¢Œ-÷êýŒ“ ŠqM>Ô:¬"×[B¨lºvå+³“ËŒˆZG{am¢œ-¤Òz'EbžtÛ¯ •Rå8Ž˜ÓãùÙç!PLÁ8 ¨§¶â@ô©À4ÐÏ\ÓEéèR™8ˆ#D/‡öàͼmFmwêœp2¤pÕåz¦ž§2Np ‚7HO}> endobj 452 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 453 0 obj<>stream +qgšðX±½ %Ô°GFŒb/×àëJ5H{Ÿ 9mEVL7Ê||´l§‡oÜKzª³mzMª'wž:W÷ì'vÇ‘Ö/(q \‡ ,Ì— {aÅ›¤šá‚â/¬{Ž¼ÝM+{ÞóM’3ù±éÂh4Lq­üº½mlµµj@-ŒY“c¼KUžòg›uÓ[Ž¹·va”÷ ÙäÛ¡ J§¦#¯{cwc×6w¤ +é[ð•XáB dk¼}éØŽaì®e€q{ÈDŸcâ*yy×ò’ýà|nQU +¢ù§³.Zžê’–W¤ÒìšÌ’j-éë‰K´8Úü}°K®M/H{Â`‚­¸’Oc3ÓF>»Ý{ëf×':ù„ý÷Â|û + 9˜_®D&X݃Âùí}}ìDÈd· 2)6…Œ,'Ã'X><“¬/^e8§/bTÎ¥-hòb!]mÖÈ= ™N¯i¤£âÍ€ð=²â1€g·E™jK)bà)T…6íéàQMí l|Ÿ÷eg°‹‹¡(|äÊ=¿ÒùúíҖ⊠ Ÿž¡vk{,r¹ØÕ'‘ϲÏÊ›ãŠé34–‚“½µXDßYÏ^swê|a +Ger…"Z +¦h¡ƒÌ5~ +ˆa\xù<öà.ЧD/Ð2Zàºþè¶*5µõP_÷ÑfTt÷ºX˜fƒ8MƒŒs5ÇÕÏÐî()ì8B«µ mí©>¸XK{òKl· wÓþ£¦Ð´¿GR¬ö(%¶ÿ•GS°K÷õ@¥X÷‡PC¹v ñÜ™kÐ\ãÔþ Û”r±¨\if›yþ—m¯=CŽîÇ,P¡²!D•AžÖò^Ó°<ŠËku@b¿? Ký<îôµÀÞÓsû퀵ç‰ØA²i«gÊ1’ ïbÈž¤¡MÑ;Xª,^¶Ò±”žQ‘W‰í*oŒ·Zaœç4†¹%|Ní5)½î”e…"e —T_h|PE?ml!ùÑXpî‚€xL‚OîéÅuUiØ yÏ% QZ¾piÓjY³¢–kˆüÛ¯¥5]¤9¡Å,I§l‚±ÆŸÖÃú3Én"Ý®;4ù¬¯Ób2ô°¿Ý¶÷lØøqo eëœ#65ŸýÂaÀÝL)·Yœ8¼yʸ5·3tYDt†ø½–Ôæ!Á´îâæ.=ÂóZ£DM”íõ j‰JÎÉ@\Íá6g³ëÍùêÂ@I ?&ÂI fÖ*¸‘ÄÂ賃<]þÔ&ýj1ͱŸòÉG¸ ViÜôr‹P©@ ¤ùñŽ°õ&-ú*>7%¶æH´º²ò•'½Íß.ò¶Šž}8VÙ,jØ¡wKtŠ)œ0>¥ô¾z®B3æ̵î0ÕdWÚìÖY®æ +«Îëåú(ȼˆñ‡6JVPk¶ÿ6öM\ü¤š<7.á2+Ç“6çrª‡`2¯†šv—OtLé +/ Œr[bòy]£Â‡¹$XóD1¶G¶ _̇'\ÅäÆÇ—ÿßîçMÛ¨n»¤,ê’Ñ); ÈB»PS}¿nRN ¥ÊÇ„ÈÄ˧ ÙÌn‘a\ÀåñÌ$ï´üÏ·df˜³€¸á•Æ(¥€JÏüú^¥"„‰PðYt¥`_þTJWFdrJ ˜¢&«A[}†>/éá‘Îáü@TüŠÐ2N¤uK>•m;¡ÿÛd¿5ŸäàëÆ„AéŽJK×7Z?hþã‹ ¶?—[§õ¼—–>EB"(Ž˜‰ ”ñ0¿Hvº!‹;¨ÅÏe ȼ +÷Þö¥=¨“4À) Ôø¹¢Ä Ï(3’ѹ­†ï0ô„^ÅÊ©ú¾5ñqÍzú©‰etûJÚBVrvíǪþ 儧_èF‚ å®”<κ8}7üã΢Íkçš¹ çð"ùƒþòŽyæ Óù0ð&#îçë[]£1ñoTêv)?§&1ìvúÓ¬1µÎ¤cTàCHpBøU,t‘F‘ØØöÔŸ‡¨9wçÁg2ˆüä ìí´ Ç@y¯0i ñé†H2ÅûQD0z·~û÷×%'<¢"~ï.’@ÝÔ[0ñΤ|Wý€ÇY†Å: DÔ#ŒÈƒ­qV}vb€‡ˆk…:élùA€º¡È»=ˆüHYž…/+L'ðŵl»‚½†xŠèm +m5‘ÍŠ‘t1*M. +adã&V D6õ +†½²›#enå°uùI :A# ïÚÅûòʯ4®Ñiæ’˜º’W{ÂÜ)P²©´YD9v|O^ì‡.àó4d7ï75F"f +À¯Ý>„«ÒÚºšrn7åá˜S˜³¦Jš +ÿôCŠ 7vŒ½¥:oÃξëkp… "ÊÒ¸N* He¼²¸²Ì·+õ +CÞŽa÷›©xCôÆü^¶™ N멨•¢5x›P‹oæ·æ'_o*ΖN¼8³ïfÁ¢3;Ä\uUœÏ›_Dˆòt‹H†­Ž‰(|©;AdQz! ΂Y8ÍFå"²l>êŸKìì¨x'3“*0ÕpÁö ±¡¿·Q'ö³ XˆÞt!|GQÂœ0ÚÕ§¾è»Á­Eœ‘뉲þ~ü˜8lƒ&ïcs%§3·­QŒ"ª½Ï·v\v Ò,óp€FsN1Ê›½‹?KŠNYêã^ä)ÿ¢P}>˜¯òNÖº.ü¼d'Àzìcµé÷æE„0•S5,¼íå¿íÇ°“ üñ³‰0¥F×RgðÎPãi7ª~ø‰ÊE¼cÐÌãBÐÌËÀ雪[¿Œè1Ïs—Z£,ºa¨Ñ?pùìRë]Sn˲æ.¢Õê1daëù›œî.¥ØË~(Ç‹Øö¤à»)å}€¶'¯Ù‹6{ÜÔK¨tú⌯(Z©SGzÎÀE¦¿!nšhÈ”¦eç¤mGO”H´˜† jñ—™IÈ«ÓÏõŠq.EÙ^;««ž”ôÏI¯{Å×ÃHÅ$Dé"5…w܇H.ÒóbJNYzÄe/QQx£=i…`Ã^*ô9^`ª>û—#Ü­âpÌòÇP«ùo‰»Iš 6»ð CñÅ(m5OŸáõ¦A¬~¢8Ejùèr¬‹Vòæ4ö|º%æ†5_£{œè)§ê,H¾Ñí ™ïxDX݇ªCUx&[4`nd€[Ô”’Æ>ÕE\Ž½_ŽW5tƒ«ºøJÀTáq«%¨à¶Û® ÒU¨4ííç²r$UäÛ9y_b}¶^^ÛSn«õ¢Š¦#æƒ'O{Ü°ÌIs¬ôxEM—Ï4Ù¯.ÌÃ*Šéº!žv‚¾÷5Ü¡Åõãçúñwź¸Ð6!íßµK!ʧŠ,¼rYÊŽ +ìS»ZØã¼À›{O±¼ÀF K$<'=ÒE¢[»­û|­9J[€ vU*m­÷‹Ào`ÓœCHU{’ÀYHÙwwÕÅD +Œ î•l¬S~¼)ZkÑדÚ­E!3L²ÍV®z )áÞš à²æ›jò@NH©…å< P ht§{Nëxk[ (m“ÜPŽnBÑSò@Gy"çioY«\@ïî +; +áLù§wå»éxæyû?G>G´ËÌx/ñûÞ]sçúÖ]”Mlo1`;­¶f +<Çõ½ùA>êrÌM>Ê‹Ø c‹BêRÊæä Ý)ªØ3c#±uÊG¬kÓCÆû°IOåù‰­îbðN$Jètù—'J¿{Ê‹˜¢š’‡y‰ÆzàÞ¾ÿ*LØOð[\»µ,ëøSdŒÁ›r2ÎÊðĢŒmií¢Ê!a ÇÊ«rab +!\Å‹.G£åeÏǦ CÇ©$ů£ÀQÔ#¸§Ousø¡_cú¬å\‡žÆÎp/gÃÀ‘ *'÷!È"ŸAaÚP’ÁÎú6ˆÖˆHùÀ>ᛠ̃ÚµãFëÐÌ$ðÙÑ»+D1Rý–€`µr¿§ÈÞ¨…Í4×6O‡~v@*æySêÓ+ Z2ŒcX, +rÒûNÌeHè›m„J÷}èèý÷þ…ÿ1Á…;Dßn×Ô½PÉ€ü'E)%­øó6 ̣ʹ&²N\ÅC†­»mN7]† ÛÁg•t²]’“…ÅìE”uxÅ\·9—Z(ßëë§ÉmúÏ… öòèäk¹,Šß^ä®Î2Ò®—[]!‚JT· åGôƒÃ‹.uÏÈCý&u©Gw[a T¹ÕGö ÖŒÅΉV&áæc Òص‘¡þÎ"Á-;ï(îÔ¡²z%=\"l­£èôoÿM¶í™ ¯í—˜ã]÷­ä³ Xhø5n“Œ>.Áå{2IÌi›ÏJõ7ªécª^è!ã" úá%j*ØA2÷i3Z(oäåGýñëp#¡e%Ú%å[bjðŠ‹y@œý1°‹Q&-c¡¾ Î].AjB §9h™š,h 5}EKP™Û¿±Ü}½FâÒn>ÿù'QØ“öï¥Ëì> tóÖ¶ 3i‘;ÜÌ4‚pè1Ü®]}&P¯Õ]UåjË¢ÉúOù!³n'cœpOHXf›ÕLF¹åvýH ,ÜeÊ'ö˧õЊ t°/‰0§üÂGµ¢­YÜ]`¥ÀÎ +$á&î ÔÔ +7µJpÑ°ª$úgŒˆ›BѦƒ‚SÞu#Ò¯ÈTê®—䘡§®édz`'ÞèMBK\344³Ó’@süŸ—¿gŒä£Uh[ö¿.¹ªaü'ð›Ž*r‡s\¿O%o‡¤#û +<Áf² Ã;G{1èËhádÝ Žf2š¢eï)].–3Q77BgG´†@„"!0B:¼½ÓÒdÄÚãœ#•ÍB!µ¸“3~ÙPþŠ*dTvJì<—Ìû `!íÂ#ëÍ.8|Aïð½A1×0$ö=ÔCXC̶·tÁoQ9ê}±Ð&ºbYöoãDÉ´‹§žM4g&‡xÃ>w€ùgȨf9†¼Çá²(\FåZjý°ªeßœ¿ìnaRýbaÜEKb®x)Õ›@¨hñù3€A°€:©R„èjlo_鎆”ÜÑš7&P8Õµ¹ ãW¯ŠЫ˜X{.íq zŒdi}7mSiÒDìú>óIfd”íÓkÌ°Lb´–¸€ñ!ôq{¹f¿’p6»**cYÜäÎûðà 5qÅ6d%+úËÂ?ÖR‹3û„/uA0/hJ*üØ£ÚôÒF-2@‡Bp^Ë5¡Ñ3¬˜™„»ÐM{UP+kÞÙ’|úBjÀû‰sã@=žáåä,ö0õ dÙ3 è‘ÙG‰§‚à]yÂûZIïQ¬¨¾ +¼•>¸©H[;k€€#9riüK1åæåò›ØUŸXìEõM §|3¼.úî'g‘ªèD̲߉ŸêmqƒªWbÜŸAš+î¸ëÑi©.¹RDa,mnï¨î‰ï‡SóΆPëÉŠ\‡Úg]*åÐsÊßøKHxZö©±×)Y…ÜÍ—ñKôNÉݳÏÝÄTdzà_@³?<1ðzç¯G!θ€2}A l¿xØ¡AÒßô¢ð:Ë +:«ûQù®QgÑRÌoÙáèUµ_µ™%çÛ@ ¦ìóäþGt2UÇ× ïÿÈü¯½®k­Øyõýëh;è÷{_¯Çy(.—³F¥§ž=”~U8O$Ö +&ãXÉiOœmWi¦¶öa{ÄçÅQ¾ƒu¯ÕVÞ~Z±kªZ¼…ÎôTYÑ—9L”*§3Ó<ÒˆÙ†ûüìWR"çû–Ö›£z‚Ÿ iç㩨 O,…ýÊÄ;!›n곬³D¼]Ô§>AX©ÏpYD„*—½L;”"zÖw‡v¿ €*ª‹†›Xå IŒÍFÀ”pÒí0-uGK7A8Ðz ¯<ÆFÃay!äqÍõ þo)vÍ´q#DXêøs‡4áó)ݱdU #Œ*7)4}²eíµBå= ­©ËÂ24dãˆd’t9îoŠ,r@†©]ÐN4‚œa¨vYx1ÚdYøÞ»KQVsÂÐ=‰¨±|#p9.n¸x ™!_¾?ì^äÛ:˜šX>2è‚l;@9kad:|½v§ýÀWàSãqy­oHaníŸOx£›RŒáYÑ?¥˜hÖ¨š•½¤Im[~„i>ÞsV¿Ã>^·—.Jêþ­ÉÄ$-ˆØEܸæ]m(,ú}¢¤Åõ³Z†ÇFéÑÚ¥èôÇT‘s|à™¦ .fwžôàö:1÷°T¸_;+bà¹4å5%&çw Ù£~J„­‰ZΟ-^£§ +y×Ç)Mêxßvc;ã5D¡­G27tž˜Ê^”æ»×»ÉV>„Ã&ìÇÓ¬L€EhR÷4/ñ §ü7½Ù¤­Õ··µû˜ƒ[‰çzdÆ%4¡uvLŽÁ­œ•sªÖÑŽSÆÅ–ˆˆ +˜Êni>uÜOdgaÒÓÎ?ü(‹‘Æö.j?>lSøL@ £ÎyÞÔ =u(,׿ßÊr³î¿Ý®ã#UíŽÜ'*¬ù®¯û]ßU{z|Ñ”­¼{bùò:÷å +?ä½Aˆv­l5é:êå +¥òlx¤;¾ ">ôÃzY†ó+îN<×)ZBs˜}ˆŽ†l!‹š› ÄO=¹Ôž_má%‡C!Uö>:…ÛçÅYsùëË6w0QÁºdbÑü5¹¼Ä~tð"ù4@÷ˆ¿Æcöß„„ü˜ªe i&¿Ò€§Cž­Ñ/ø–ˆNѪ>”:Z…ˆÉ7´&‚êvËBPîJ¿€å¡eûÑpÏU½­°Ë™ ¯%6@‰1àÀ°h6¡¨S¥Æ¼­‡’¯%D‚å_i÷¯¢ý-â×ÿh†ÐN…úþö“Æ?¾­Ãüê¿Æó1?íV¸;Ï+h‡¥"÷5¸«ñFˆO‹áOT–Ãú¨œ‚wÞ²6Oà<‹¾ps˜z;à<»½ +TŸ!uV÷a+l³ÙãèWø)Žëpí’4›j0Ô÷%zZ¢àWÒ £K‰·—=’ˆ)Þɽ´-ß#¡Æ‚pehÇ> è¯Oxª[ü.eòD³^èS K>‹MÃNíùZ®4÷‚Ëó/z»¦Öšs×Û@}ÔÉq?%Ù¤ƒî…ï›M“døJ{½ c²6+ß/ldÂû<ôy½C,×C"3ñjžeŒ +љԱºt³ÀpÛןbœòùûòÓkñXªt=õF–µ®<ÿ‡¯aÙÛqÑ«“FÕÒtk¿¿VçÚÕ¤½yoÄXK[7T‘ì—ý'ßÕ`äP™!µ»é.æõvŸ?&òPe‡{ÍþÈ‹çwéx€Æ6€‹?q({ÑrhÖϧ€È–—&Ì¢qùƒÊ֘ȻÁÕdÐéÓ…™äN¥¶’û¥Qfð½€¹¥PïøºqrwE –&[tnâ±ý ¨³È¤OÊg̽ãJ i=ÎáNµãXGUÎsBÎêÌ‘fÓz×^fv–yÏ$e_uÛ4Ö.÷æko(HEé¹ aMÑûª¼v¯Ä‚é‰Ø&±‚ÐŽ!«Q฼ ùìñÀ(!XE<¥úùÝ­- lêK% +ôæ/JÀE +RfnE¢2us»¼^U¥’ݺ 'rš.Qô4hI\¤*ËÉQX ­n¨múNVͪà Uµ°ëéi/\·`¤ŒÛH£4"ÇF¸”ïR?’ÅMÇÎ6.éÀ^ªáœ9 +ã)¶T²,%Æ­?;Ã’m¢B ¥pz¸b°²Bã¤2Þÿ’fú±“2 ýðǃ1M 6`š‰«°¢ÈïGE&ã’æ9LLE½1Hs¡º²ÊåË19dfJ9ǼÓùÕÀ;' +\%Í%­#ÅÍXì Uu`šºëÈ ]§þûƒG uù8Þƒ¾»‡Jq6`éZp/_…’Í9°Ynô³¥±=Ê9©¢mËÜèM@uÓ,_A +µâÁøAµ´H GžlÜYŠgj%ÙPú½›a—ÛÞÖj_>1ü‡hRDägûû½™l%X:]{³ls=¿¾$Ÿt†!´‚©q +U´„µàJ +þ„ÉÏÏ“”ƒMgš*;VÄ’·9ÿåXÖ•èåê‡u òÞ\Ð3 +endstream endobj 454 0 obj<> endobj 455 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 456 0 obj<>stream +-$Þ¾z8•¤¹¿n×›³•šš^óõ/R/êØh¿IçP&7nEýu±š[àÜšá#øÂ:œ4ÄõÞHGæ'vGe\•h®:ÞI@Èk6ÅEª/–âï&—_|;=”/:õ:'ÇâsÎÅØß$®¿o‡0"6Ÿ9ü(´­»1 +E¶N ì¿c€d’:¨Õ‹w4Ýì2[SÆÜk¢û£‹8žÙ—d{i3VN6¹vãDBÈf¹­b ‚t¼a¦Ÿ¶û ©DüE€#Ž~eÆN#çUòØlÕ8á Ó6ÔÁïÇ8ò®Z÷RÁ(4—Ó°ë&(Ó/ðeŽçÂ昞Š+"ºÇWV¬Ò‰fÄÃ<œ4’˜Ò ™ÐêW^E°tìÍe.¬œV•eUë1æ´Ÿ½Œ±ˆØšQˆ®Ô:©Ò”fTà¸kŠ4 ƒsÝ|îÙÿ(#,d>F\œ*)p¾l4+å|Õ_Ev§ÓìøÁë@ñyÖàyË”Ü$´'žÓ¦#8š‘ÁvŸ'`xÄ:«yBoípáM>Õ6¢œà°ñVƒ/ßq4HÚI×.lèªé§JÆ“`-¬ÂW3G½Cx®)¡è1üBqˆ³ëêsý«ŒrŒÓvÎîªbw³-šú5†úV’ñMê¿èìÂuQ£@< Èœþ…U—ºa™#ÿ;ûJÕ+ˆeÓN[ïC¿Iª´8ö¡±ˆqí‹!RI©wTä]éÑ Å¬¶XÚ@¤5W}º9sh&´´ÿ£¯äJ%Ÿ §é ãÜ{žaÚS’N`–i7ww$ð„Û2Ê +·âK‚¿`*&-"ìß$5Κ0¥˜˜&£½OD²ÑMn¬_@'™o‘XÔGø¢ºò ½‚å6V‡Š¼8Ý‘³QyÖ^çY=€áW¹ê +íBã“Ò‰Ó,ÍẬ`¬üy”Òˤ¢®T)?² æê}Øûx¤û~-®l+s,ç[™‚¹øH2JU æƒ+äg`€ö‰ ¾¨ånÙš˜?~t!“% e;æª`˜Ìû5{”×Rv´V±R¤Â.÷|8n®€/¡˜ÿDL¦W‚…»þ1™I—g_e}\b¡ê[íÛL“Ä*/Ć›™Ê®$5¢f.*}¶ƒ½}±ã£o]/°âü]u{,Žö&¹²ƒÏ¼<h—Õ1/÷ °·NæÖ„GWºä*(˜Y½º’ ƒ‚$V Ÿù}â±TšÇRµ#b “§#k¨3¯oÓ«õ¡éÜ–ùyÈön3UolŒ±Ôûž„Á8×ýYšç~l‡0hBMìh(S#¤GøðFMœqÍ´/Ù:«t¶5B¨£¸ÚfeÚÿ8ƒq¯[O Ì)r{€æÞóÓ_cž}ˆ M#²´ça%˜Šø“-g /ý]˜°æ”)òÏo–¼‹Ç *%°:TÅAÓã[bUcMbø SÒui¾òt€Ÿw@ñÜ’RCàU8f¾¦Q>vƽv€ +N£{À"F·²iÙñÜ`zïïÄX•!>¹qç’=.“Ä+hÑb‹@ÔL´ãÿŒnŒJ/<‹¯Í}—‘$dŠ( e„!‰þ‚ŽÝ!f²Ík3¦¬ + Bø®ÊTQ£ejè’—ËEõûn„¢µµŒVy”ÊÙBQŸìÆYÀé”X¤C’„„'Q¾nZj‘ á´jƒŽ˜ÐÙÏŸ=p$Â×ÎP·ç)¤$ª&}åõ­÷ Lµt@Ù ¹ hÔ/«ƒèË[‘ÇóPçkúý°UæÕ°=bé +ÇlÀÁט(}9[.I¾áõe÷˜nDUcÕûÀ(3‹Ä&ä{ =µ¦Ózêf® ·Õ¼Ü\Ž ç$YÒÛªr"?©#å³N“ ‡ GŽ•@k×O‰¤$¨@ÎFrcãÈ7~ßüsÌElðAJx hâýÂôÕ+íTq§^|æ¢Ò#ãeKO"þanæ4/ÕUÓ&Pˆl]¯ÞÓä¾7Ñò»ƒç›¾D¡mäME¡¦YÈŸ):h¿ÆËÛ˲ý´µÏ ×#åÛO&¬ X©Â'.C0 Îím]ªmˆ£süxÑÒ”\ýä>(ü;¡ëòÚÄv‰ÿƒè!×U׶ F‚ÐÔ© (µì¬+ØÓÄÁ³BÔz]Ö’@>=§8Ùš +ŽÕ~Zñ[ sx铼ñ xl¹Qª ßTÔQ.~‰Á>Èâ[P»˜\žJf¼q`‘Él^çy0ÆKê=uœ‘…°5bç¨U@ÏO® ðý•ƒx”±qààd$¿Õ½K僒 ¡u…¶´úXW‚²føØÛÆ 'Aš¸Œwv8¯NÜë¢%àòhr¨úÁÒI“qŠDk”jiK…¸Þ<ÏÕ>Rí(àEˆgP +l›n{ÓÝ(6ð¯j: çÝ’"G锡$};«í¦ U¤Wñ’ù·Ñz VÛŽ €âfÛÅÓ€›~Aèr|@‰¶þô9l±Ú'Vì ÝDº÷ÛìèßZ[ö¤™) \ñ®Ñ6gŽ©Sd5¿Ï8¤¥ÂÜÄNWhöNC,PøEEB8Bæ¾ Þö彆ÁÒ³B¥ŽÌSnpú–þcïf$Á™ÑñÃ5:³²«Gt,€,K0pα +Vèr°×óû²\“ãb°“ô'$Žè×éÁÕoCƒ÷­õ½S§±¼ÇˆÞ¬íE,Bæs-w@s׺°ûGØJ© “ƒäxÒGJ„õà=†ƒ±ÆLK´‹AZèh½"QèQ¶Ëq*ôÐ7ù1Àæ¿Ã8(Xï×QRD8Wï$4á1ÑŒ¤’•}Ü`…Ú/úØÍÊ 8‰“ñ>H4iç´nnX„‚#\У¤˜hw›‹dÑ/!J¡šára…ô‹Íwô‘+²Otóëïw†üíÐHï§ñ*á“Yqå;2’fÏÉð™Ã’išS»Ø8“ÅÏëõ&§N¥Ç5tè‘áÑNß=€Ôü¦YÓš¤ÇM‚.š?íô9ÑÆ —íIª¤ˆàf÷Ò^”.ü `ÐL*•`¿a3ñfo²¹*Xª¶ ‰øF›˜c¹¸ð"Æ×IMܾ¦Ô +v8˜'È€€xV°öÛ˜gÒÒkJuÍ…ùønª»\}¬»ÅÅ…‹ùZ¶¯Ë¬r:ùgÞ>öiÛ¿R 2]Á5Ø­ K ÒžB‰i‰€ƒ+€HÛ¡éb\|ÇÆ£;û‚îOÃðÍD¯À5ƒ¯äÉEÃíYî½½Q-Á$§H! ¥Ã#Œ¢!PÕH +Š­–Bùý^Å×X þ¼°E•N%Ûæ)5;°†Ãoû^bÞêÎʽŒ¡÷ +0ÝY®á…¬é3{'xq2ï®P}·‰Õãglr3cÔüïy|³k«èçÊ„õj júêžYDÏþVíàéŸ{˜ú»"Ëý± ¢==œiú¸…5i¿Ç.™©ôµâ¬ !PYÈ…ýºll µYS/pU(q·ïÖ®H ÐZûzg*ÚÕIuÜ}BùçÌŠ´”ÚйûÎá“‹’ÆŸ¯S•¹ •Oľbü¶ën0+ ƒmãÜ”N0"ü +'¾Mçô¢¡û›EùGV J.eoùi¼OÂLiMNû#ñ*T¼®ëãEOžA^!9ØM¢Î2LÏ1ïf;»¹\‡ª/¾¼S@ž ÌFFã¡Yô" m÷é ~R .ÿÅs‘UOdZBàS:`rUP±ÄÂõxøq¹$fWë\ÑO ì&Ë*nx´ÍUÄ®zRO©,xçpX‹¢+‚ô¯Sw+Om9’Bwýˆ‡Ž÷ä"Rj@i5þoö¢½š™Îí|6Q®dº‰ Ú (ÿŽ22 *ñab¥ƒš܆ä©Æo%~Ôoµyš¥£Ø"`YŽ­sV¥`YwZg„kòðžÉò.¨¯kÉ}¿¼`w„*à ø9qä2Ön­TrH% àT¹PVkñ°2E`Œ+÷U÷’ó§P×71°8‰Ü¥#×Wï-Ž^AÑÙ«ü•+p@Á=Y†Ý°¡Š6¦rlHìc­ˆ_{TT‹x“aºk(å2„»º¿ @Ù×èúUÙK[9W„6 èô8ÞVF|Äß •˜¶³Ãöê7{Ý*cEÌ#0‰ÌùÌhË©óØå©‹à$`é¥(ÄnèryD>Ÿf¼·'6 Ö{ja54 +0 +DC>÷ÆGø<ד‡_ë¡øáºN°”š®LÏäÕ•Q ˆ{pÚ¿L“”ÕÕ¶ßP^ ·›±ã‹Ö|AÞê¹ÐjêoòþOyd™wí™ žF™wýò’Ð!… è»bNQò‘…âz+ßh¬3a^ÄC> Ö´î÷¥6ЂºçDæ¿×ZL8.»‚hð­Cö!REQpÂRˆœþß¼‰¡ýN¨êd×Ù†_¾\ÿŠ5°Ñû#T çnl›Î ÁS,Rè¡&þiØ"¿)gÂ'ç1pâ4Éh»Ü;nrœ/Ü/âHŒ³¦o…‡¸ò”. +uÕo]”|±Î ¤³]xZxLÓ2dµ6=ü¶«ßª3˜Ï«AÙ”0p8Å\ÖÇó3]÷„×´\ë=K‘>bRxýt²w*_v÷þ¢hä&1€…n™üSmgàYqòd¬„FþYëϳr½ô.³Ú `ú>y`¡!R.' ¹-#È¢ö<²+^ŸMëÚ\D÷ +öÉi$ ‹ˆs»lv + ˆ%y£×øû:OnhìÐW.p["z„Š~üáTºº—+|KòÉž y®b£6û<õÌ© Z ©(§n'·!‰÷ûmhj”%òe«w<‡LÐVÝ:} C«k³-ãåëÔ"®Jt“~àñÚTÌÚ{„VöñÐ:·©x¤¢KOÛ4×À” à¡Ò‘ýD?¾HMn±â¼4?ÖŒëogvðó„¶(M€Ñ–À>†Äû”©0?‘£Íì£$}[6ÆJz3T°ŸšëiàÖoô»„o¹€WSÁ#§kW:&g„ߢ×K„þôùóàâ.ƒÇؘÔ÷4iîtw(Åo‹øîø ü°Zä“r”½*™XAY—}”$!`*#²Šï ©…tµ—¶ÄˆJ3‘ÂüêÉžîô´Ç<Êf]²Wæji\#ÞEi¬³ºP>‘“wû´ÑbrÝVe5B,£¤<±ï†ÚhOíEÜ=Ð3kÛÌv±Dc.Óû/ìñeP…0`¸Áˆ'ÇþËR*`_·ýÇSˆŸôžl±u8¸yàhÓL R3“‡e˜¥Š•™ðà5KÒƒXs\oÅØ2œ¬³‰ª‘$Ë/ȳ*L}Cñ­Ê ‚파B’ß«Á2?©®ºµæÍøAŠ‚ xaÐp'•5èŒp‰ûJAAŠ1úK û¿¶?c<,Þ6HÁ +–-;ùZûà¬ú¨GC5ovšªH¯ÀDÄptÅAjWèeÀÆ„þç1ù*lÊmƒÀ ¢5“Ñ~èÈÑ´Ù3¨þHã>OÃb$&Æ:)1©^ä+Ç. ®ë«ÇFH]Å¿JŠ${‡¼5¡÷`ÁfYîEÀösH\nùE$¼otŠõ¹xÖ’Ž`>áÃz ‰WCbŸR–Pnj ¿:µ™ \‰óê’_—YŠ2KH A&˜s`"xPP×v× `}%¥;;Ê#(‹cÂÒðêN´žÍQKÏ-ž)ýìλqGû¢B®øíÃtãÉÄø³!PqœJÞÚÆÄ.¯j€ËŽÈ}¡¿†íÀ}þKJRU>å,#·„cÛýL½½f]Üza7¶ýU!²#º‚æÀ„|¾”û“gàšµ—±/ä>Ú¿–{äø;ï;:Ûr¼Æ9t3ÊÊÅZi|ÐgË4m7.y‡0¶  +÷;uCyc«»S‡€™ü<ʵ ? Ô[©ÿðø‡£$h5H@~®ò ݲ·$jó-V0Á·ÊÎi§Þ»`YÓ†IB˜âlÕuP-ß"ÓðyŽìÎ߶R{IljgÀƒµ¦#8Lƒåð±5jM•‹~Þƒˆqø¼žÞ¿yÒ‰¥xà’ë÷öHAí¼¦˜Ç}ÄŠEö4¥'.8í}­³Å2}H„¸*ˆÓ6ê Õwë&‡RcÒÙù‚é·ÂªµúôÔ:¹à?ÿjÞT‰íV”p*$ôT%7z‘¹ôz±·#§· i9y¿7›HøUˆ¥Ñ Û%…We÷NÜÁ±;åâöıƒLà†•È#àî¥8³PýsqØç—¹Â&~ðAá¶O<ué%ÏòúWX:=Û Ó ehßÒa6¼"!Lw˜tëÉ"øÅ^íBÄù›r8«64K{›%UI1¼¬yŠÄDÍøx•_(ik™ݲR­±%éè FaÛÂIúC’°uæ߈˜|Ë6>"KŒ[C¾ Ì ÷B°j`%{(S†Í +›}%4çÍA›²‹£Š†µöq£NýƶŸ ò (ÌËóÍÊ»vʪZRhUÓ?˜‚¥§¥Ì‰ú/ûå¯û™¾Ê&EÄÃÊv*7²)>¿oó~Ïdú )WŠCúõ¥7&!œ‡ïÌóLŘM2¦¿ÉsÚó­º4¶¾fÞ±håÐR,±#[e)eÓš¥(Ò—ç ˜$Ð/e{è/£„'‘3¿‘Bu“ØÂ:øº+Ó„@'•GóÏŠÉc»ˆìÞÜÿ‚¼äW罆G1ÿá7ÚwåÚÊr÷šuÛ@ü®3Œnê>¬××Ð؆WÇÙ¢~W©“’=Ò‹ ¥Q|> endobj 458 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 459 0 obj<>stream +¨•í(î˜~fÿƒïæH1‹^¹¶?5ÛYî`Fþ¨\ÒöªN£PꙎòÆ»=IÀ 1TŸIÙT˜,]nºÏŸ×Yhr ÒñxX’¤ªe™wâä/ÉQHhêÆ虡4}• »‡e·uˆáCÜ Mj*Ù ¢Ë!}f¼äzzÙS@ý8¨óÕZ;á`0¾ìŸþ2PnqÆçr’þH•º¥¥Q)æ¥Ü# †×éߌm9>ª5âó©‘A^²Z;ÓvNp…ÉäoÆÙnšwˆ¡HMÞ™1jÜøW˜Hà…y<þK*}w×?ß@‰:°í3Ï¢Q–7a£´é[º¤óWÐÿÑåÀ.@= 1Ðq‹«2#“ßR“2¸ØØQ8öN‹ŒáVÀå¦Í[$0 %ÿhyþá= ëDÂy?3Œáø¼!¹±:×¢8ÅþÓ$Öí´neIl‘‘x €6u¾ TcðšóÂhA°>n·±,ésä€Í†gÓl +Îj~Ÿ6Ø0 åï +ø[ÙdžGFÅM«#ÁÁ +FÈóÇWO£é$\Î +á>v›Mø‘xÔêyã.Wÿ+øî^Z`ï\»UŽL¦€7¦PŒ$bòµÈy­Ÿ!á€ûªãïoÛ`P˜éË«®’„9ò1ù½§Ž"üÒR¹b¢)åÐZ'ph¿oE8;pÍf·ÚkÏZ9œèæ]W½hzø›±¯w'ÅÁ_B©é‹Øhèë®>ÈP\KRS¤ûOkk ÔÃò’¡5f뀶úº§i2Ôx–ˆ+Â)oÓ¥ýÆ;êaèÈÐc ·(Q-°Ø‘Ô´ÞG…ï…ï.7)´ÛŠÉ¼Q˜ÒÎf¥ )já„ò[ÆšNèó¹´¹4öåLB§s`Îá‰Ëí\Q¹± Í–óiÀ ¬—îÒ4ϮǺ“K Ÿ{^EÎÿ¦œ—£d\Vn(rïjôÏ|¨ú‘¤ÓY'Ý)7fP8Jp"„;v + ÿéxè“q>8ifî36®}y èÈçq-loÓÕ჻7CÖò¤¦qòí$a¯ +Óµ¯Fù*<°³~—ÆE±z³rß*î#‹õsâ$‚ÒtâC÷Ý”1ÊGÑ)<°=û2±ÔA]üÜw7²›¥³Îõ±ÏÛ臱þ^”Ø÷3VÕdOJ†Îà…ãs‰‰?ÎRÐ] F"ï-_«­sò 8”ß ,•±;>=Œ6û ©ãsZ°_„ª;·øJÒXh1¹nꥤÌÞüæwçõG)C–€®ýé®fÔ?é >c!øì×ãá¿/ùM|fE/ ·‘ˆÊ¦›u¤ç•Ð\°2e o…øù¸ü÷EûõÑ.v’eÑì@+¶·ioëte…'ÏïÒ)|«tI"2¼À-ã‚ ‰€IίxÑԖͦ,Ü.ñÞž”æ•à·œ³mv×S†b …¬›b*cœ0“Á-êțȋռI¦•¿îê뤨Ó|îØ_q:5ä®JÁðó*àÖWEí&d#b‰"rxIá4¾tkð]û ÅF‰ Žh~‚anYÅÕX¨T«‹&è Lv.ãdêÛÚk×3|;Ž˜ÎÇûg 2¨éÙ“7š"ªÇÓãÁi¸Eˆ·é9–za@š«â‹8¨©cÅKc¶Ú÷ +ó ~çaT]žŠ*«CyÏI5Åãj¨ä ,Ù¹òÑ‘z+G }pAÔ•FŽI£í†2 +ò3êŠâÒ2}Žìx>CíÍŠ¨Ê'±÷±Ê×|åŒVði¬ŽS‡–Ÿ^ ër{ÉÅ7‰ûs.~æ’—¡ä„cMüE1v} *£JžÈó¢ó—041…º娠lˆ6¾DSj̪à.L2ß½£dˆùk†õ2“%¯ŠD¥îו6½ò‡ÙDÎr–Ž¯"õDhÂ-“×¾ ~‰5ëÁ¡Áä‰Ô7CØaœðô/©6/Ä—%Ut7T»Ç +4m(Á(`‹—hº°¤ò»àLCC°Ÿaâ +2'ÓñòÊ„ºAŽÚ@ÀEošÄòéCÚ¤.œSåùÀÚþfMà + ."¤áéš÷æX»!î‚Š°cÎBÝïjœ;¶@”æȆ±[OcK°!ÄÍ…QmQ¤v˜M|«ðä,d»7á²#b +Ãp-½Nð,2F“Ù6˜#­[ +Ó)`» ° +r6¬ž"róž^‚+Üjd;Å{bÌDq$µ5z–€õ‘u=×üýüK;¯¨'Š•_Ù…m‡Èï™fA7zr³+hºÐúIy© *…¨úÛçÚû~ Í0p"‹ƒD6Ús§Ðòˆ‰Ìë?ɧyh‚>o÷ÑÊ„ø©Ì°qòÍÔ~‘ÙN6q²ÿ<åùÖz %Ä°ô XV»0Ø[sÛ‹ÉtM¢n j¼¹±Ã™•ºQ ©°œ›·Š.°"Gyhà2Ur‹+ é·bJËEn®{£ •ËÌŒké$šÇ±êàFˆ¶eW{€ü÷á3G´pÕ¥)ûCÝÅ,Ò.¸×Ì´šPÍf+‘Ós˜yDöz  Ò…¢‹¡àÌWØÜ.þÒ¸G]³òh蜱£Ö#ß‚/+¾.gD×–~¯K«'‘Þj–[ 4ÈA¾ Š/â^ÖllëäªK¨»{Ò…¡U#[ô‡:¦2%dr§„UÿœmÅ>²½?îBjå*Ï–º'u0øu‹d©;ó)WPF½ëÂx8˜DÏ·WCALj “‡§Žq^Ú^[6ad‹„êDZJ#gÏ4v˜E³jaܵl:è¼Ç Cªš¬Â¾‡Ù*üvrqã–ü1ÙŸ£œ‚5¡·ïîgöŒÈ¡Û&"µ±†kšB1ñ¢bû{3³™M.r¢ÔÌ“G9ÍäTè•Ab(åû—çÿk€}Ú­Öíö{MMôZ yÙ‰Ûìšÿ;ƒ‘¡,ô»ûÿ+±AY +6jž“b) +endstream endobj 460 0 obj<> endobj 461 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 462 0 obj<>stream +‘ ¦38z7+4HÖAHrVØEJà}X÷ Æ9QªUããmë¾BU•šÚsýtJvt¹öé;ô†ï&ëÞÕ¿ÚNuR1¹@„ + ¶¿‘–|Ênkl°ñvªdÿv¼q««$ôEg„XüBÅë©ÈUµn ‚Gˆw³ ní²è}²Ô=$’^ð”\öéìcÇÍ'»ª–iÔr NÆ[q^=ú÷%†6™@¨ŠÏÝ“€#."Üó¬Wƾ’jÀTe^;5=eÉZ8ú,© ªÄ0Óm9#£cRa4äâ²W*¹ôæ8uSb·Zú¨[ƒÀ:éz;)]ÓŽa‹Óä—ˆåzšþ(”g?ßC%M¬Ð‡÷áû3}Èh`§½³Y ˆ;³ÑòãŒÑÎÞ)‰) ào éLžA«@|‘9-ZфݲcùYyK3y@JÅ{¾zLí¤Úð¦™òߢXF*æ`iìÏò9e1¶˜DôË¡4p&ù×ðGü‘T}ÔÆ Å´‹©{´g@}êÊàýIþE–1®†Ëy0Ô›ÙEKæjvãüŒÇjõØêÿ¤*©åÏôÃÙoŸ<¿Äºš˜´ßžê +%@‘h^TºkƲkñO[† +سä2|Ï;D‰iïajÁ﨎ÛF=í«ÎR|”.{VU4<ÐRl£jZâõçÆ¿ +>7Ïi‹TwBÕ{Iî",è| ‰‚féþ5‘"èÏgR„hwº¼ˆ öÀuO»T¸x¦¡þ€ øSæäû «1œd„£ÒWÿ áÞ–¦ öYúºŒÂa˜8C)ªËÚÜ·SN~V¡ÿÁÈaEb„4ñÐGÆëa`fÅ@¹Õ2Í ŠðΕe²a©Ù0Hôñ¬}Ýn»©c3ù\ÛÎ5–Ïß1S!4ñØ--l¦¨©Æе¶ÜÍö0.È +­Þµƒ·ù m¹¶]Ý¥ +Wj1¢&;$9—.\e:›jøŒ¥ŽMôS<ôãÇ\ÁR37 ¡+Lšx–}8\ÑkaoÂ`%0ç¡‚Gióð03é4œF"ZŒÂ/ÛQÖO%ôÛâÏpp›€|¨b*ÁdŸ< 5Àþçi[L Dìð út#ôªÇ!WÚÂïa»2ªçÈ8Or“˜ŠÛ+ ¤·;Ü8Œf6€Ã;ÅÙŽ.‚Bîý¼©ô‡©ÿ“àöeîÆ•ãUHKQ}ë ÌŸòÌž5Ð*o]Z¤Ü11¿#Hx°N“<Úÿö:¯…ƒ»ÏÅíEr©ëó7‡ Ø8`L‚…ÿ^Éàz]¡ÒtçÁRÈcˆr¨ÇÛP꞉'ù™gìNhÁ•\¾ï¥­ÀÃXí•%X¯4Lëu+Îaă¢µ‘ûî5HyÂJuäYënÆcNЕ2Â¥ÌÜ}»~"LìvÆÿvF<ªœ¼7r/øg]±±ŒûmTEäe÷j=µy} ³`cÚƨ'OÆÄC,¼ò,ïš +ËdDá|«Ï±@â4W6a+(¦ÈpâéNþÏ“vÀï#qÐ?(…#U­+ õåBbaÿÏœ1 œ€òÝÆV¿æ¾êÃSúD “Ê¡‰/ Rõý;@õ7KÕS+Ö¦uéÿ¨*ðè¿ëÆ $À !TiE ·úzRæåÝgysV5§oV ]þtŒ-æ;K- ÖlJ—#™ëhÔF5dWÛµxEþÔCÿt§_«ê&€’BGHÕ/óW¼#‚–¾=`UðsHÀøÿÜòÀÄ{sI,J2« „ÙúåŒ:VËqÀfKûú®MÔy*»§jÄœ4¹²|s´„AÑSçq!J¸·éß’ +žñSm"Díõ9Æä㺠®y7HDJj6ÑèŒîk_4ŒLI +Ðu±>ʬpË÷o°î0cOlœ`c>ÉT„1o!ö’ËzC›ÍàÉDÂÆ¿-;x~#"§%P Âõ-2HY£¦èR¤Ý"àAÖëÊ쬜uekBìØÆÝ.>/xø6‚Ê#þûôâYoèÌî34ÞçrgàÔÞ¸‡Ø³¾…‘•²­+˜†9*!oÕN:¯—k‰ÔFØÎÏrsžUhm*XhæJªSšÛúÀ§¤ˆ¾æíyd}°@s/ÐynØ¥‰ +¥rÈ©ÒPî-hv‹{gÜcÂéØ{‡X¡{ÃáÐ.ð"aüD±Þr’Ѷ áqׄOéKy‚ñÓbç”aÍË,}KÚff h[Å€$ÙöÒ“ ‚aëNJ¤Î}(„m)×åø “ û¥`Õ΢ӿÓÈëÝy/Ù€[{›QçÞÖ©¾úŸÅD_³3¾^ÓŸL1wiáA©üM"Ä Š5oÛé6ù)5ù{Š´Äñæ¶J;)’Ã5 ùŠ(騱ðLñ(_%ä …h{bw}:–[s¹¹gÞîìà€YÒøÜ üq…ºÎü/¨ù™Qd³£“,#ÞXdýì™JMXéøÅ D"ëégÛµÀÆz¢ƒ¼=6®ˆþW?¬ ;joðvBŽ‘þ¬°Ê¾ˆçÝCiö®k1„¡‚(ÖÃ7*UBTÌN8eô,%k#Ä=£±xÛ¼ »çl‚oÍérÇ1pÁ-D¡¨Ô ´Ù·Kþ1S²Ñj"ÞXºÞn¥”,¯LZ‰l6u6ÆÞrɲ/ A‰/oÖ„ïQ+.„×.¶?MØÏû×yÿ¾Èeà‡ø@ß ºty´‘ˆß@<¢¹~íd½–SBÃW?(õq/=±RÒE(£¦1ÿíFK×ÅCÀ{€(ÒÒ'º4Á=¦I°„’ ®à3献½Û{ïà.ëÄÞ+^¿öÖ^Lo ,ÄHüºu3¨ö\ÃñŒsºrX6ÊÁ8¹D¼—Û8Š©À£'ÁáãF†d¦È5v~ƒ÷ɉˆîärÔã_öåDÿ°(ÃN*8V¾l¸Q{Ó­+¶øeÏ¡6¸½¶˜W š æ7@C„ü_×.Ð8¼x]uü¥Ý4ÆŠÓ³•õ2üÞÄÈc±êÝ)úÇV‰ÆÄ)¢í_4U4ú×/€\ “úMpé×ÿدI(¥~¡ÓzCnøJ-ýι`üȱ;®·Þô†Â âJÃu¢h)Ý â¶æ¥3`PÞù<„¤ Ëéì“]"Àaü.ËjWá“ìHLÉq ts­„–·1nñ,/·’×›Ã÷ô1Åǹ¥BYþÕ·ðAß‚†¡é°SrI‚y +¶4#ÔƒKùF­®9ñ™z|ÐW–ƒuwHâlÈ¡tST°…¨ØûŒJ$»$ÎJÖ‹üŠa‹Øá?oÖfpWvÅ}°ËëS~J®¡oÀeöIüòp¿ëö|¾…Ú<¨9Óåë"+U‚+TŠžžtÃ+ðùÞòSò]¦raZñËúÓsRÆÿŽîºh)Ö%£2„›gÛð­@ +y—žA´Òªß©[(/„ŠpZjo'Œ²ÐÎC£í¬ý‹<ŶPm¥ÉàâdÆI‘€#°n2.µ1—Ðvëê4Lÿ*æ ®Éba‹¨!ÖÈ¢$B ÅæXŸØŽ¤zS?Ó­ßn!¹áñv”LÇ[iáÓgdÛ„Óé æç糃(_M\…y5;îl¹Èi'çmWV¶ |_Á$ †¼"ñW:a£VF¸®^"]ÉDý†1ËÆÝ0Œ‘i”'ê„ËYí|òȃ=çãilˆŒHõ8óÃmàirüü€I™p²øT éó%ÀÜw— +º³i–:íò%]±ñr–Ïàé©QçÛÖt™ RÌ|K¡ôQóâ›î= cšÃ{f¨”'–% ÕºNšC+‚•›«šèÅ!iÐädmÓð%ød >½ÞR"&µ0Ló ˜PY'$l9À§*\P²šå}‹2ª"ù-à×ÔÉ¥E]ý’óA7«O=‡57ò˜´7ÉIM¼Xσ:ø‰m¢ª0š¥‰_ÓŒ¬¥Ži*—$s[5S:Òh2!¡ Y¬-àw¹…•ažl$‚AF£}ø† êKß']LáS¯½^Å*÷Ô¹ËR%éÁñÎ:CIà/‹“FŒ$rŸÂW`êÓ©4NmKõc£$<#¯’3“¨§±¡1ƒ„¼|a©ž|ôÁqWˆªrêÿù*ŽHéíK†E¸&„‡L +t%‹íîïŸ.¢/ J?+ó©Q3x?c9Mp<–8z§CåËú¬(½RÝh6wßb…åÆKä‚ÖÃDZ$Ù¾ýÐÔ˜4KGþ,Ø*|À.mž‰ãS`‘,+ß•S±ÿº/iåû:;;"Žü%w±¸ô}«øö.…À…:..eMÉßýܽ±[¸+¬ìäô—J +endstream endobj 463 0 obj<> endobj 464 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 465 0 obj<>stream +dµ¿€„t¡ígèº Wd +·g©ãOõDFJ˜ZH²ùl&Žâ¯áÆg@ŽÝí-JBU™Ç#{õ‰ˆç¦åõκ,«8ä¡M%tÏ陲n!F‰~¶ÈdÍr­t´AÊq‘P°øpñJù`&°Ÿ Ç>€/6l^rU+^}½y‰E„oÿƒSLÙ™¨OOÝ~•¥QðUt%9ëÎÆöů îûáf7Ïý ¤ázCõJ@¡à1P¸qØâ|o9 ,ÀJwÄõS0ì2¥e·Âhª¾i†gŸ–âß#?ÅóÕö¹e·ú +wsðs •xº¯æy°Ù´;0ŠÐõ}àä°),{H‡ŒÞp^eÛ‹ !~4óO +c8¦eÝâ÷¥™Šªe-Q#÷häLøõˆFÀ‰üÁuV].pzØ>Sú°ü5/L+q#Éb䈔Pãñ}>ìÀ×óôç5¹ìä‡*!5Fw7tÅÁß–U¯·ZPkâÑÈJs5A±è‰6.×>c +@"3µæ7³ß–j//`'1àùW² +õ[\:éØgF½ãJᜆDMól´JRªšç¾tïÍ~6U꯵ìC‡M"„_w¤‘F;Mzò¹jæÃ|¹”5æÜÒ¡>@ÿÕþ™mS½–áÞ÷èÈpå´uwQ²-ñqñy`Ôøô¾ ¹,fþÿ”3Þ;Å-Û>!3]îülø£´Ï¬!þ6Šù\=••z(°p’Ð)ç{°ã ÀÕ'ð‰0.n‚Åt™jRjU¶?Ã@¦ù@ä‰f§‹ðáø/czÚ m€ÃE©/N'HpÚé8BÁòÐtM:«3¿ÑE¨Ý™²Ç,‹ÿ®–Wu@ÍV!¾é 9Rñï–a²ÁhÍKbHq=i÷Àõg£“zï“ü0Ê&ͪfíù;²ãüþãœ~„“þš‰dX¾–ÊA°Uz¡m vß {©U“ÃÛ@ª·™<Ë¿ž·IÇñ £ê:luÆ;ÌÈжÍ@¢_°^¥h}ÊG÷¯Úæ6:§ÛKÚïr ×uùw ëG±·Ù¥y‰§/Ç·²ðøï®à\¨ÙOs‡TÝ l’tƒÌ¢m£ºŽã瀟 –àEu%ŠYû ©Æj™sUy„yÀÅ;‡)¯ÅÜ.o–Bô» œ °Ø¬Â=þ?Ÿ•¤®Ä¥×·Z¸’é‚:ï‹K­õ <}ÛrTHá¶GÕL"GÊ<ÜóGÄÞÃünˆö ¯vÁ‚hs‚:L¿¶Dð´5<½”>Zj¼¯­Þ¶ +L”Ö“Ø÷™ñ8Ðs~æKtÑ‹Fóm,$]œ•¶™ÑŒ»Ï +ùSquŒà&ú¹(* Œr^¡9ÊH)gi¾Y!ÏŠ¾§ÌqîÄŽ¡gγøéî†ktÿ ªËmv¬o”c%óù‡H—¹jB0’~!;J÷‚–`ŒСóšÕ|ü•²5½N¨wÛó$—dH}ò±À2<ñâ_Å_QdPød(Uc šIѤ ÆT7ñ¿ó„°KSlXÙÑW‰ÐšiÅŒÊ-ʳþë@13½#×üvêbª¢Ó‡í¾ÿbËë™ildæNû1éìZÀ òXÆßüɦ/(œwâLÂü5]ý쨷Ä1Jc…*:*D +×ìU+vXç`öÁŠ’~úW4v)WÌÛ' +‹ÞÐB–hÓØ8ntNRt>6#¢Ì6Ƶ‚wËúFuØdò¯%£ÇC†a0n\öX²`@0ÕªªfM¹.õÃXßÖ¶Âõ*L'ö‘a' ¶“dùÄè*ÜŒêtiÑÍjËÈìÈ …Ò‘QTø¦*“üÃzq¡ÜŸ^¼'O`+µ3éË%ãçY—­, æ5/N±!I#^÷²¶_~ª[•SÍP®FÀ1…ÓB“Žg( "ÕÛCgÒ©hêÔý‘§EÕ»úY¢ù_÷Þhš¬gš˜‰á=Ku:1}\€KÔ&ö5"ÁºÊçé%ïò~$ÝN9ÿó’LF@_>ƒäí=uô Žú]sðÓµ:Ë>1$”.¼®îªTER:ÃVNÀ‘ÔñÞ}%P»¤Ï¾CZ­ROÝ¡x­’VI ;Ã!ßÔR+‰Ç0û`¨DÎÜÁóuË„ºõ/üF
èùJëËÃ"A‰]ÊOzIѨa†¸ÿ!nÞ’¼%2/l«k¾~De]í#šØÂ9r§‡b¤šƒ“°1\žùø‰ŒOLìê6\¯m»M´ŠÁNe/pÁÐS¤¬’´ÏâW{C)^º+Ïm‚Ó™Ÿ®|tªüm»æžD.KÓ‚Ã\<4“ð°T¨TúŒ€-ÛlÆVû\.¹r@ó?5mkl{ÁßqJè½3/øù†ÚïÉñj§=Ö¾ÕNpÄìŽ×ÙR7Ó<2áÖô]uÒö7" å´¼—|ñ"ë±kH¡¡ëv¼ô¹+Ù>ß cPÝžÐW¦™Ä-à Ÿ¼ +5>Fê%ùØ9±®ö—ÈFŠiMý;Ê@w‡_æh€—b‹pluØ5@Àìö¶kä¤Ph—¢»ÙìR7Zùh8Ó9Ì©(!WuSÊjâ#D›·…¾Êw†éÓ¬u8ͱ%ÿLÂ2ˆ€ÈÂZ ™¼! ÝC%\ð±Ÿi£YD£ÍDÜbÀ{¥ÔiÚi?$ß.ùŽ çÀ0b²«h‡Gé32àß{EQËZÄ"´¢ ÛmLDb¥=ªRpN,MAâ6äßh)5B­µ<§Æ’=iXEŠz<&jÕ³Vë?C)(Nah ¾+$Õ'(Ö´€nl>y>­ƒ\%'™BCí{ž;5^Ù^Yšh¡ÃgˆÿÄ’Æ·vl6ýÔ!Óù@>pPšb(X¯ƒË&sDè|ú¶×É´¸œõÀå,•õ°P¿Ê&H?^•1âÞ¤ºZ'—^¾ñCH¡°Tˆ *+‡d°öÓ”ÍA[Ò Ô™úÑJ_ÖáROBìÙÊ…/â€8ðh¼ÜÉ:ýµ¬mXyVýÅ)ù)òQnµ»Pr+wËö „ ›i÷ƒLè-nBê;'¨,ý’ŸÔ~½õï€+î¸ò 0+áö²ƒ +pÙz©‘z)ºÓ’AЄ‰°,c²O²°áã¿ kSoâS1".+òÿigyÃ>½‘¯ÅÊ·­s#´ 7_kÓRxcLRy›SÅâÏÔW=¤Òqa¢úLæcýþGÇ°qNϤPhq§Ÿ–Z‹ðA¯çsßA4®)×]Útî“«ü汸ühþLûÛPØÁFi¼ÅÖ¹¦v£>5îÏr,㪓îœ`ÿ=K”ñ…\¶#6° Ö`%·ŒµžF%Ÿ/©jª¡bÊB‡»E‚zH|^öi¡âû$8>ù}¾d:³¢›ß/¯´M£Bjꌴ¹Ñ@k^@áò…žcɹ)§_†Å†58¯Ol͇»÷³Ò¸lÝäÙ¶uÿJ/9Œjj”@$˜ä³ÄC^ÁÄZ«Õ‚‰¢T䂽Ó9½Ú÷²g^Wõ¡ŽÎ2³ë¸pbîãpkj—…t¦ $„+$å5¢ò§kSÒ.ÊAÏ8îÕE«™žÓ÷Îã˜ØïèÏ +I´ï<ÿA©7Ë<èüÝt„¦ã|À'bSóôα§ˆ%û$×ù‰Q†6+øÞ'VMµQEtyb¿•wž| d’d‚©‡ ¦ “h„Ñ€kNàÿ¹ú½–¬³úZNŒ+§´šÂUƒO¥r-’ÆyŠ h½`^˜yM¹^{󽚧øדÄKyX­¶¿¦†Åe—§SƒßnÝþô*ñ…i²þìë}hâ%8°R µKy ßK +²bº &Ó†—:P,R-§CÉëà2Šj²1Å)s€£{`^ ®þØà,Ú´ñ•F­ËFwë–»†³øIö‹Øl¤ê>ÁŽ¯;ç(\¶¥‚SH¹kŒÞ¯|šÎÍ$i°ñ)'ožUº."ø:ÛïÐOhˆv瀥ù©ÔÂÉWÒõaÁ¾)ßx¨ÎA,Z¦Á‡± Ò%Ra³O°å­ä6§X·÷¤‚£h ÉDÝ&q!›5`þà•lO±6Pw6LÂDßR#óíËnß¹µøÝE¼é¤Y§‡ï`/[†ÛºðúD™Ê¸JÒ5Sì<ƒêFd±(#%›ãÎÇÔϺ§dºõ†2ásžƒå›(WsxÉEù¤¡ÏU¸ýÅØJ|P¶'̸3,£Ì«±BohÇ.±&f¸ÿ"nªsæYçÏaSPæè…`6Öõ‹·Y›l"¼¼WÆg%1Øòg‹·Hž;nš½ +;zŒt˵êV)ÒÇåñkÔoÊOA7º<ù¸»¤B´a‚P‘J\™wÓµtŸàžvòxµþA¶vÂa™¢ã–,R¨uš¤åY¿Pl'døT0etÐD¼õ'MûôîL] jÜ˸Æ3»wOªt« HòÊ9»Ö/ +Á-FCK¼O *n)vLJ+w#t.!¶t†ÄþПóç%j6 +endstream endobj 466 0 obj<> endobj 467 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 468 0 obj<>stream +{üÀêÀG¬¥G<›¯c©Û5.A®O€_Ü/–W‰r”†¾ŸÉt +"ˆ>À" ˆ…fÙ6„· rË »ÉFº_“Ô¢ƒ‡3}ÓKö¢c õÎüÌÜHs> ”l˜¡)‚ªŸF×<±<žÐ3†¶Ÿ‡H\ u7«]¦ßMÁ^5C$ž¡Ëã—}b.³5·p2ƒÎ@‰ä¶çN± Ub‹{â¬D'{ÙXC¦úµBpF·‘hmã˧y¨þ]yÞªš6„éx+è͵·å6$/Œ†< W*'U?8õ€Õ¢ÇwÐ~( +e„ßÂDc?Î?D¯g‘¡™F{SËb¦ {ƒô]œ»!ó¨Aÿ×)žÅ™lØGÑaü¹5чV­=”YÁã«DVaÉ­ú.³ Øæpº·òsØ‘Ë•oc7 ¤ x)(©tTàáÛz,ê˜!5£—o5Šz²JŒ‰é`_nñ³·EA ŒàQSFˆ5²ãøÌ–ÆïŸ2ÕvtêIäl\'¾{YV­ÃöëVíÂhhÆRt3€Ý¿±f·­u] %Øfú®P#…õ•þWÅ•ŠÝ‘ç +ÿ$£xò +Þf<ÌÒÞ®×ùy(‰·AÂäóK¡ÿl>è~ÿ÷Ö+h#ðæ­c íyüyÊUÿ£ôÏ#ê-‘ž^F¶Éq¹ù裗}ß|mÅ0ì°†‰¶¸åφ¸ˆ¡ñI*f9âk& èÙ}Òœ§Kh\šÇb ˜r~³Â=‚øUg–ž>ÌLèê>tRÄãzsRÍux3%eIMÝ\´QN&ƒŒù³ÿíÀè€l/Ã,˜ï¦þ˜± + ­;ÔCú~©PØŒŸLЊ6óØ6Nf‚š 5þzÓp‰o­uDÞÆIcíÖÓªÕMˆäáÍkÄ×6xÓçÛ®ÚPËå1=À¬eý ÜÖÕ…®¯PF«%¤€†hŽÿ `Ž©¶O™þc7k.5Ö´¥t\R­!u±Ç<ÃŒÕ «s®TªB½ûð¬Ó‹FɾÞFþž¿nZ!alæÀ:_!œh ¢ÞÐ?KîƒT#Í% G½b S8€1C-ÉÛ­Ú·$ð{J )[t|ÃQªûT5RIö Í d M¨›"0ôáVùœ ñ%ô ÍÒo0[dï,¡A0é„Eáìc¾Óo¬x‘'ŒóĹÝÖ7Vy ÑjõªŽ¥^ò¦Sˆ¤é*·Ô¯ÎHÇpfØSq&â~ÇÄrP*¯ü<2 +YÌ XÑ`³ͼߒÁ×›IÊk~¤ÌJ¾j‘÷o°C3Z¢˜ê¶ŠY¡1ü9=‚·yõBëó›ðrü³(ñsþɼ6°Ö…X{Cø]Åù’‹g/m„%WybCñ+é½8Ƹ¸a¬O]!;hù3*Ú3O¶C±¿iäÜ}à/òCWªxÂë i¿¹íÔaC2^­f„€lO2çîNêŒ×€Á°VºrƒJ¯KŒöWFQ¬)¶ìBçïFž= 8þïúg³K¾ +,ôÐ9æ¯4æ÷‡G9§(âm!„’¹¸s{Ñ6ŒÓÉõzб¿×b) ÁÝ7êIÉ&â-(4ÕJ—¨ÓP¸š:àÿ£ÔôT°ÒéôTö­»mÝ°‡¥ï7`ÑЧ¼£ãé2ÉÍPßd(Sâ«Ä”+3†LŠ5Âõòà’…Ýo‹:›7&/×½‚v f½¹YMijzcYÏë +Ùjüß÷‚%Ö¦.˜­+‰|•ÞU/KrÄ­ Ÿ@úUúFÓ±,89_]+b àÕ‹¨ ÞÖù*ìc +·¾^@°¥ˆ­qÔ'ŸÏñRI&Îæ¹ÍW°a+>Ê.g¯ñT AFAkŒè+Bq\؆gÔ3ÿu?']J=Œ‚CùÄN S×ä±5ù}ZÚIr$óݵö¯YÃOû!C[·Fá5U ¤çkØؾ²˜uMâ7üÅúÏDéýwÜ´Ô_tËÈrÆöa¬™`hÜeîç>&ó~Jeçz¡ŒÁiÓ`éŠ@ºl+pæ*„'9Dl¨‡´>ŸŠ¯ú>òÔ'Þ÷A$I˜¸‘b†Ý€`,e¡VTØK…Z_•gÁú´ñãšz«`Ø»x—†Öþ©÷5¡tâLN­ºÅ¸ïÖWÛÒ­j¾Ed‚5Î)h¢Ÿ=m²N˜§æKå7>rc)Mç}ŠRs‘”ŸÚɦe%Ý|§^£Aé©“ ³c(¥¾ú`í/ê¹dúsÓÛNvÁç<&»#ý}Ó2µ¥Ž¯fªbú5µt€Ã¤„ ºLY{=åMBž!ùµ}?d­Nk¶É'Ô|kÜ +endstream endobj 469 0 obj<> endobj 470 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 471 0 obj<>stream +“2Ô—ë*HœgäPØ4A±Ô{n⧘ÚÊÖ¸#š’VᎠn]÷kî¶Xó(ܦɲŲdau–+oÖaªuoÔmKk¨F8^eçz´©Ù/Fèo¢ôí @s<@°•Ù¿ú¿ +ltsâ\£ù¢?‰“ùur¿Î¢Âk÷ÈA;vµ¡O¦…®õ)9÷ˤª7«\ !•7÷d *â)”+NÀß¿Aõ^詪œÐA¬Š>•c’v$rœQ ,ßàJ‹…úä­[µu$Ùïú/§$(°~Û~Ð3ÝÀ*”^H€•N|ÛV‚ª-…z“N>ž–ÿÄC%ß¾\m2VC=—F í°Š¦=[ãB“Zð—AË ¥õËŠ(ƒÅX¥‡ÕaÈYNytpÞ¢¨¹ê‚ÚÙ?´J˜4¥½÷‰Æ­z½½+.C@Åæpί±™ŽÉiÄÝp‚þ¨ŒæñKóÂÅ#+Ëõ¬ Ùá9ŠöÌ™-uÉM ËYõDÚ’'îº()ùQ8–žQ0Zæ}¥Ê/ÙZÐœÐ${òfSfƒ U[½àýPC€ŸQŠ;åÞˆù嫧ò©ÛžFñ A|ൈŸÚ Å~»9“n¼ò²®L”h)g˜EõX·u(ñ<·YO>9XÓÀY)KzE§·1}yJ×%+sŸ¸oóQ äBÀ5˜ Áãâ€ïŸLçü‚ŠÒ†áWWi쓲S5)ûËÍʼÊ Êîý§®Q$ò{îñ‡ÈœeÒŒ­„#8Š)œÏ€>„b uO¿™,Ò3v†úË«ó¤d†\ñW‡w uoìíÑOh$†6š­ Ð ñöìc0:»~qdùÖžÉlŸÿÁ\»ƒAº„>M7 'ͤ< ›WÅán`†/e§"l.ñ'e2°¤Ë°ˆÂÁˆ?'beGPqIôÉOI\çËæl3¶6»"µÝ´“9ýtÏíÞ)± ­êMÞS=»êºr1‚tä‡6~GšwŽžYãEMBɘB²J5òûøe6§p³KpÖ à8ÜPÀ°HH…=§6ªYƒÝ2˜&T¼'-x,5ÒgŸ&^Â<‡\ý&QÈ#°N«î¯gš $BÒ&íâ!'†ì ‹8ÐÆéžWUggèCµbqÇìÀ©¤2×æ¯Î¶É€¶þó±Z¥“ô~P û'uN÷kÁšÍ¡gf ?}@¸렪3Š££~înï›3ƒÎK¯hSû8,6eÏ‚äWAlG±Ë¨’¥,èø)ò!®à[¨¾fæ>,c`³-Rã„’†×Qhš÷5çˆ)ÀÊs#¿uQj%% ç"=kæüôgWŽ•žwð º]——PZ9+mçH1´À3 +Î&~÷8»~ed=(¹ $ÎœÜ[vVd±’ŽC}ÅjŸUKæ+>¾p+gZ¨“+]W4 +œöUl¨§t l}~o|ÄG"CÓÞVH³»ã–ÌmÏc54˜1aØ ÈL”<ΕÔü{]! *¿ñ:þÊhioôËiòp­Ü·oäùT~¥ +nÃN6D{s%|Úù=#»žµ¤¯ÓI~†xöÌÍ`È$1ŸJéª-¥CÃö<·¥“LG"Ò71[;sñ“»ùKr{“:øù?=ÄF¹F4­YTú.¨J=Ži€Î¨”d˜ø]î(«Ã˜>;žÝbö‹wï‘b½o ì[ˆ÷îÅìw~ÛÆé¯Î÷MŸK¼^4š_oV^v·XgÅ)±¬JbÚY/aSd +ðRZ’‡ËGùŽ 6U"ââÔFRí"P74£ž6¹‚ÄÞé +Ÿ%¡9iU0ñµª ãªÿ6‰$°íÛA¬ì¼Ä5­óm<¾Ïˆ¡Êôž +œŒ±Ùn’ˆ ŠJ» UêDšóïÈæ!L¢l¸Õ›¤Ž¡:6™ÜEC£œøùZ,RÊ‹Ê_–A€Qªô•®é›÷h^ Ã?¬WC¬ñºþRÜîš«+Í!¡‘ç ÇšV^ÖwÀ.8€q+,v‹cMI²ïIA½©wîôWëì¨$kQ»%žüuÃÀ‹ì±¯$éà¶åJã5V' +Þ¤Á"ÎZÇO¼˜§, D¾’ç{ÿ‹8ýÊŒ~£ÏnfB ‚˜7ü +­‘ðÒÜé›ê÷òHNFð«YL’…~¨Jݧçß{€Ì·VÙYYMþ/›ÕMò´nͪŸÈ¬ +}¾æ’A°¨}•€)ð€Ž‚fÄ~°(º;9äIo™WŠ+K*.zç›%žÜÕÒ_döܽ Rã©;Û|…­Ì U;­üX'QAÕYì™<òµˆÆñÿ˜ž ‡¸ðÀáÏp£XKBhuøæ L ´…arYò_ˆ¸Ö&PÌúî—/Gˆã‚–‹ð¹x¹Ÿ¬IæbŸõ’ÚÝâQ<`´P y[l?(#HMÏ"¡¢$SU —&hf6Ò4_Cyˆ–ÊX…¿ë ±Ý½ß¨ªN"H„KlR 7x-àÈäˆÅÈõa’)åoÍ Ù¯§É +òÀûš™IG¼ŸúT:î¦xœÒÝw#á[׉fd“m +çš Ý‡T“ßDÓïÈv äIÞ +÷|‚ðȸ®ax‘[ _!Å»Õkã½ddÓñQ Y1qè“Õ!¼ZWæ‹<磻: üXNŸ@ØåQÌ?°°Ã¤ò(GÉÞÄɾQôŸß~¶Ì£`%KðßO&+uÀíü‚3É„j'ç9Ew¯_`xƒb”ÂâQc'6æ7?­?JÀé}‡ƒ¥VObW,–¿RÇ@üÇbûüÕÀÔœ_Uö%r’ÎÃÊíš,¾,ñÕ9¦FÒQÄhÃuè‚у5$.|K=t9°÷Š&kⵊÿû3¯¦Y_ª›û~2>Íl}ØnzfXLjÍôPA{Þ–‹ç¡/8±¯|â—É;Ä‘ç]×s™> +Pû²« + “ôï€Ý÷–0Òœ»#—„Tµ`±GŠñ‘mLåÍvé"eÞEä~š“¬î×(U»œ÷&ºøoËö +…nà*xê²ß7d"«ßØ3,ÏÖ°Ó´œkÑ,4ñ‡n+‘øîàÇ14, Žåh­±h{†‹J5‚€‹ÑYh$ô-Ï{µþúE]bÕO!Qƒðyè¹S‚š/åP‡aS³I6Jb{zDºy1÷Á9~çs+ûy¡QçVÊ÷ðm¯ôÉnô¥$øë’^–Ÿ Ê-¡L®ê½úMö1÷\~M4Þé4òQø^üïLPÿjû?ncjµhP;Â%‡U§u/Õ¼—“&uy*Ågg‚èÆ¢›*áK·WWXüûu²jlÙøÑûˆöjVZŠâ K0…¨£VJ^{²E9Ø—÷bŽ¶qmbOò;…e«Ë Ø®ÅoljÉM^%Øù¿ 5¡RêtEíÐð øêœèT¤- ʯÌçMAzãß\4Fr+?òã•hùœ­áÔ†QgŠu!$ÛU‘{0ŠlÂE¿ËõR±mÜcLΠipÆîe…½”†­[®øŠ> C#|:Í^©&{}Ä#-hóx+¬aðný\iß’8¹üƒ `6¥~Šã¦£‚J–æ§zÓx$’ʹ¦–e¾§˜@iZ›ÐÓáÙ­…Xb5œÉ!­}Ž!xøºšñUIÇöß¾/Ų²ÌáÕ$L¶¦¾âŒLˆxæ¾ë¥1¥¸9"ãÒ?tW +\h;€ô‡.õÍ@¥!]MHs(K%92£–ñ̶–¯ªïˆf/cû9È^yX Ûåä½[À—Átr‰Ä°l}çÒk€·IdŽÝWÅð'lÓ7Üâ}ðNWÈXz0 ÷‚½xâ^ú:¯ ’Ô¥”预†â.ioœÁ€ïï3ý*ì5üXyoɾÎÛMDêÄDpžw©ÂŒ_(ç·J1̶òi= ZŽ›n-1z~µ¬æïýK:QvƒKN?D§¶çRÂÁ +R2–¿p–Àí§¾é3—hxí„$ œ$ Ðwù„Yg!‹Ïù÷*õ#TÄQeÞpIõÕÛ»®ñxjÉ‚3p%|µ\iý`Ø«ûÄH©ÂI«ô…ó"æq((Ë…½w¼wõ)­Ð®"ÄaM ñ¢g&fòKT"ÓÍF©„#â#)E)á’;ý‘ILäÃwƒÈʦ]b´_hÊaÔqש³z‰$C½¥ìYž±5Á•G›eO!X9¦W’ßÆa«l.X‹»D>Ùæ¯íæÉÉ¥EvtTNöËrËf‡­Öªw©œ»‹ G™Ý¡Ñª43‹n˜a’êø”ÞTâc.ãÃäÏ›­bž§ù’æû”ÍrýªT?2oäö]ÿâv8”bÚµAŒâ¨öF†"ŒV‰³ºÄZ¤šhíœùôD¿øT ¥NÈš)Þ_t‹ \õ2¹ÿA;ÏKCDt«¹g±[\™ +Äu=ß@t›Í…H i6„ñŒ$zŒ: ò#Â÷¹Ìg#òFÀž„N:ž¦­áB ’ӑƱ13ò~J +Òuãμ|‘BIP+õ¬›N8Œ‰|ˆK¨¾sÝA +ˆ +'&ê(€ÅȺóVúj©23ÑŽ2ب6yCg ²_VSÏ‚¨fz Zf¤àWÈwŠCídDúãÄgQQßx§ 9®ßßÚ“º,š¾ìñH +˜ir©.ÎÚÆsõ sÐ9–)*™PŽ’+“âz'‘ÞôUyj…x¨“š®#QUrš4:-¦ý¡ÌNÕP™*4^1ÁžÂþÙ e¯dÇgÙEóöÜз²AŸ‡S r’¡V TM»/ÿp”¶Õ¦•ƒ8ÿmÿûþ@½mçù^D|¨;OÌ˪ù¨,®«Ýz÷ 2Ý\Ô“™*Poj̯¡ü±jú2·Õo·?¯É-„YM0eû<„ÙÁ¬%îâó)!Ww?‚ˆq`ØM[[#²”BÚæhz[0’;n’ž¶";¨­›„—ÕÁ›À©•¦%àrÕBÿÆ਄Ò"HÄöZ¹qâAT8‹lQ˜QE»kõ>u+5ºf%G’&Á—½´=ªj*‡á‚x"À‘7H=‰n繫wÁ/c8³ Vy ´ª€ÌC·óèöIæS0õ³ÙM + +¶½ì#‘ÔqÁÀf­ÆÕæõžqµr6êÈ+,ÿACd æmW³x¦æ0wè×åJ¼ê¿3Rñê “©hžü~àf²´ðáj…òS©g5ƒMæ@ˆÀí,ßÖÞ :qÞ’Ç꿲÷œC¶Ãlzÿî¯31¯c"Óµ=Ä, VSý£2ÃIdžœœ;S®2ßÚx;“zø‡z‘n—î?èŠ&ÌÜ +endstream endobj 472 0 obj<> endobj 473 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 474 0 obj<>stream +moœïŠŠ‚Ã@×]â)S:±BÏ*ß.yÔôæ!Ét7xiÉo}æ¯Ø—SÜ%öŽò%¢pvW„N Á:\¶PVǃÂÀ´lÕÚëaž+NÅu£~®R‡tÊ ø’!Š3PŸ;¿óîºGæ|‰NýÆ6ÈU-vqÁÅ}HIÏ¢—ø|ÜgÛÛ^ ?¦ã5™šKKŸJX +ŸD2 ŽÇ°ÜM…ûJj¾j¾9*ò ý•â\á¦éFzJ½#í£ ÇÃÀ8>}âyd™ð™¹Z+ ˜áZyçTÄ´¨lÖü óf_$’Àä›bœ™O²Æ”¾qjÕ7‹—‰ -Áü¦¿1Òu³ÃTöïw>qáßIŒÖ|btävN?q ¶"#äâZQœº`>çTr]råK_ÏÃYp£æÿÀ4v7 ÃÆ̘ÒÊ"rh®'_EöCjj¹˜pì‚*ÃÙzUœˆôù²ãSZ3é0;äØy†üw‡éQýý*NÏÌ"Œñ£êzªsGÚ¼÷uûOìCÔÈg©×毃ÜÓÊ›Õc?J­p¬üôÌ€Ãy!DVxô¨yuSç0Bvsjò Ñ„…H,eyT¸¢r »ŒO +^?S“¶G\¿Ÿá{Igv”9„ÍÍ›¥´¾½Ã4 nCøðf‡3ûDðz¶]ò4ÌêÙ`oø n‘;äÄ ÆS¨ý*ŽÙÛà¥|ÕþÊ—ŸåÂ_椛Á%5½’JáhC‹‡¯{£WïÄoSV)")1˜¶”ˆžœ¢ìzQôÌ­Yµz†èç³–¯ä¾uFÅ͸˜”PsXåL/Ù^ DpzÖY+wCC[âØ ï˸¨»Û°îºÒn4ø:Ðì%ØþCQ%áŠ-ªÒzi«ž#½ŒÿâèxÒÌáŠÒ0ÈÌ7}»WÎ;É€è÷ÚæjÙ©m?KP~ÍÏ(·iâÇ–«ãüìæè€$‡Ò?‹ê¿‰xîw“lÎlVº‡xÞó¥gnÄj¤_å=oýx{#íRUeÿª&¿… lY××4ÉÛP¯ËJÈ­’tdUï;Ö^üºJ‰’FCßjcòšY:XØj•wÍA4¹ÞÆÌ}ØKÉô“—Ô–eû•î±¯íqQýâg““%3Q1.i=ŸžÊcWcy¿ ä¶3}ös/ Ìë|ÁÐDã©WíŽ6î×:¯OøT‚”íüíæF÷š‡d—ûút¦ˆ#^eôwë:g¾=¾2Õý•K±-&Îݶ”¶4Óïz[·K)­)SpuuC ·¥, ÜáC{%Ësx* –Gx‡á÷Æ<÷ï*™vÜXg©ü%8P¥TË|IžŸWß–â)æá5=ø*t)RuÈ©J+O´ÄÍh,‚Où`G9A";U˶;!,ÂîæZ:^ %ãI«Á¤cÈÔ='&müLÀ–`¥$™:[h&1<ãú°`÷¥íû5‹îÜujQGØFZêX̱)„“)þ=ö© ”Ø°m§ð¤^rN%zVt£µ—é’[ýuÒ5a{º¶YM̘ðXþF%<=U‘DÚz€ÝXFð-F&ÙqY +:µ’m¸7!¸®pƒ‚R3>Ýu²£·6W[oUŽ´3t¤¢LVë,ÇÑ ‰âjš­ø\‹<$ +&ØøXß 3ukÕRgGöQ39áÅ©Ñâ•${*xêlƒÞ²9ROºû n3'HØ ¶Kõ̆²žÝÖ´ú þýuIÊ™Š28w ñà7Ë¥ä}Üi <ÆÉ€I¦šÇ( +çê!ŠV~Ù(ÖÑå)®m%‹(í³C^*©ˆb|y–f\‚Àô;÷¯À¿‚ŽxdÐ&G°éÀã?>v,â„*YµL\PukîùÎØ»òË¿@†áüâðZf• @¬ôùÁi@X‡‹ûÛ âS~»ìQµv_g~ Û½7çê;ø+CšôÍ̪ixv&€Â“êCÙzÅV0Y4{ï¢7š¦Kˤ§ßêqFSÄàNÅí»™ÌûÌ œ/•Í9!ƒÐ4s"ìq鬇 ä@‘Ÿ2„9Ô~šŠˆˆ}T4™ìn°XƒÌ ¾,,|Z+Ä ´ƒ½™Ã8+Ïb‚ŽIi´èÆÛ“„–é>z¤Fp£dyÿ`l£´†wn?ÔRÇŒAÞ`±V\¿±JOußPƒ­ÒWb¸VŽfƒëŸ¦b¼s»¾UMzPËíV% ¹ôô€q+í¹¥¨ù˜×’‘ñDû|…í++_ÿ„ˆÎèÃáÿS¶BÊKhûÊÞs˜±ÌB2³ºu긿ÅÒ´ÔRw6 ÎEÔ~Óp¨rèΦ/Ù]Ψ=É@áÈܨ^Bº9àN‹W‰5Ô7:][ãÒ9¹?×ÄÇ;¦ð»Q,ÁÖŸp›ÿZ¥L´ ñцӳž!¿ À¢Ò¢oë¨jeq#æF¶ƒk“œÛG)L<ª&@m¿ášŸ¹É!÷"‘à[{Õ4™¦§Nv:*2ød¸MÞ¸“*2Ã3YŸN‡ÓÖ[-caa%ò<ŽE8¢[nÆ‹j•—¡ÊÖž±fÁöÌUʪ£˜¦oÒàíçé™YAwPdôýŠì¿Ì8pj›ø¾sÃwUÎa]Í_¥Vóþ}8š…6÷K€>Z ðÇŸÑuˆ¥[Èí½¨f¨ä2¨;였[þõX““uééPù¥*öüÏ58Bz´…1a¶ B8èÆ?E2ÑUêém]s-z;¦=ŠÅBÛ‘Õ*¼í„Ò¸ÊûM3r¢ŒcõV+Ûƒz˜uÏÍÃ:G‹z'‰6n®µéœ;¾¾ÒJÛüÍ4åÍ»Ñw"të¬\Efȉ°XÆ.+´•‡W*"€ü­z2\Ãù†±ÛBB¦@fZLoñí|L‰uJ\f9¨Vñiäš9#>¨iäñÙûÉúóµFZ-J; è“•°iÌlŒB,'!¢žë¥EÁã|Ïj\0#àƒâ ò/k#žDdŒŽÞÛ…ùU~eˆY­S EtGŠáøšŸëÞ¸¨+)ª™b’ˆ$5þ ¼æHJ³Mȹ¨žûçç>¯=@aÂÓÝñ­Þ½ª¦”Þ”vš`[’Ê„ucrOo³RnBɵüfnW÷gï¹D§ÂR"æ<¶xæÏqA<é‹-¦S_‡ìzñBcÀNiã:]?ÄD–Ä»×ñÈ$>X(4×BzøE2.ôÁÜ«‰ ݸd[³&ž@=QWõRѾ}“ë¼X}Û{÷Û力ä…Ål`”¨)^‹Ò‰ +$`šE®!·"ÝǦÌÖë,õc!ŒŽ¿ð”Õ¸>ï©8ìõ’ë(ÙÎ`?ä¤Ñ(‘FÉßØubkg'W3Ï%3"Gu÷-S6£mòê3Ô3HQ±t2dPjÐd˜¹G`—·"çj¬µ˜áSÊn‰'èjnC—á}þìG°½æ7wÿ:¢ç-¶RøʼMgzGˆÀ° ƒ‚Ô†>¨pßDk¸ +¢—ÎQ„:/„Ø};wRQ(XÂa^ÝŽƒ)ƒž{òÔ›¥¼r:v¢tíj<{¯Gün¤Õ˜$@á¿šJn6´cx’ÜKƒîM1ê?g ×ä°•¿@Ù´D‚oñà -iø¨–½€¼µüá…ª…øKõó8÷6àÿÞômdx;A€{¤±¯š™T°Ü( yZÀõîb0(a¦ÆF‘EŸad’žk jú$Õ2¹Q•@ÆF ˜#¶“®-#¼À=´zMö +Š è{ ×–JÛæ2ˆOb+Í,ªŠ!‰˃žIáƒðndðÏt$1Û‰gK? ¥ œ]qŒ¾½L-7 '—-¼BÈú¢4­l ^¿â5Nít0ì|I]J·öÑrÙ‚´o“wŸž­©I‡“³>{?…%1ˆZE Y|ëÈy`4@F¨“%±ªÓ¨tÖ@Ìzö?d$ Í;¡\É‘šŒ¯9y»…?Þ‰ÝíîŽÄnë‹Z‹8í ·‘nÇ“§|Çô\I2<¦Zû{j¢VõN‹ +ÑoJþ@;††ù¤ŒVÑ`&z…ÏÑÆ4âDÒ©ÌwW5ð„t_'s±yÀéö ” õ”ùÀ¬>î‡ÃsCç,.Êí0: kçò¸™áç(4ºd©‹HÆ2g#Ø©ì´)e×TrÊ¡ üFkØÞþšâæ3%¹Ièfàûå‘o/廾jg;=ÀCM–ø.‡n`>¸ µÆØóJBe"´û.×¼f +endstream endobj 475 0 obj<> endobj 476 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 477 0 obj<>stream +¢#Ž©ËHEꢪ'ŒÇQ*ÂB—Ÿ¼‚F;¼\‰úIo(_Ïh.ûFDœî“Ú ùqsxö¨ÛRg\Ú2w|}×7 @:%LôRª@§LÂÖIšžY!÷.çâstPÒa¦ÿ~ÝØ°‹€úøÇœŠM-Ê×&“ZŠ·ÈáGÀ¯s´Í¶Hi˜£çìºM$÷lr¤Œ;£úWýsH­ï`†6ܲAO*Ýã'ùjyMê¦GF4Pì‡MZ©0‰!9/Ž°[8a¤CqD]ù(Ê«J`ØÄi¤P§ ’Ä®p…Fßήm´PÏÿ üUãU¤Ñ4£â-“Hþ5kñè'‚®½ãî3>;L¿ys½mQ8ªÄ”«zY–Wß•ê²þ£ð{ôFÆéLÊ\ä†äBB¥5dÕ%{¹©_{Kò9Ö1>ó˜ýÀç†ÅÚ=fÍ*ÆÍl¦)óÆê+±Íó >†‹(Ÿûs㯠xf(÷€îUÉžî¿È"h%/y7ÁïèÌG¨ž¾µð‰ÎšÔøåºa>¥º£®¿Ý -Tøë¶I<[}¶öÔŽÀš¤åñ§âp'º­\ÝPDÕ]äôaWÝSIZÚcà)ÏÝÅ• Ñ|Òt«¥? ztéÿE9ÌÎèH¨û/ ÑaE~ÏÞØjRµÌú:6Þ7;2ЦQÒÇD¶|˱š^º1†ÆñÄzi(¥åÁtÓÌTâ®yư骥ÏL(˜p…ƒ}S}î´õáÃ+Áu`© “y¢ÞqÌ1{ŒJq!s•¿ ÚyW¬­`?"˜"ªª«¿|Hšê刄r*…umJ<³}Ñš¥ŒîÊT÷Ö42Ãi¥Û‰½–W>y/ðlr-ÆÏNåµñvUFyüp4RÄ21FBÃ4 çÐK…(·Èì¸k*»»ÒÅH Ÿ#ßÔ@^`EDæNŸ6mæ‘U“í^aµ4ê[I®@M†=ô°ä`°ôÊ_ƒ8Æ:`ü˜‡ôBVÉst4 :ÑžOØ ¹ü*&p7FÌzå+Î ­’Ñì.ÃØp›¥žK>"žh¨n^¸À[3G)ð,!o6Q…¬Üƒç^K‘òÏt;G<ƒJo ?3{*ŸãN'¯QdRU¨¦F| Vtäoɨ|fúv¸ŽZÑöäÍU‡-ö)ü¿L¨þIgý¿ «þYS—NxΊfœtõE—N¯~Óø(¯[þº?FŠœà@¡úW2ÍûƒúϹåï~$dã̺?$·¨ˆ3ò 7 f ‡|‚R ì³¢t4…º°xn„wÈõ6¥&ø·´²GÛ,ÿY'$Å;!ˆÓod¿ë÷üо&6vÁ—µ¹Z2DÓ}$ü€Þ·ÞËÞ0}œ‹6'è§Î§ë¦ÀšHŸ\&š¯3¶´ôà%]ý¬äyl* +ÿÞ£ÀZBÂPß•÷…—pÄA-ífêpáˆÎYÚ¸_íQEš¦EÖþ¢Ý =•ØP ÷a0v ·a4ýBI\!òÒŸâ ój°¨£âÀŒa׌Á5­”’êðÜJ«SÛH6„¿GÉ„Ûf¶+Ž“ ¾€Ž߶e¹k»¥ ÓQYý ]CZcºêî +`¼QòcVòú)Œ•;$MªT‚ÁØMê‘NMÎœuóÓÇ@¶ýk‹ùÂÒ€¼‰µmݪU|€® œ ó:“u¿G_(»Å$íA÷£ñÅ‹ ”7»rÚ8< +QŸª‚'ÜïŸDN=ÅqŸ_¦>êf¡@’g[øoËò¨C“O`9ò¯E‰#çÞÙl½Ú\y³î22‹¬ õ<Á¯[B@ÐhºÄÜT5`à/z^8=!(uoóì~0B¯~TĈ­g&Lå`üë{ï0NRaK!ñØ`&¤jÇêȪ®µ”gÖñ~!“ÈŹõgHŠNN­ÈkuÙÂI&UîŠÆX{ ®:qôoˆ¥Xø!˜¶ $@îa'ÝD“¹I¤A Øõý„´#^h|ýÿ~xCŽk×´qd wÂ!I'ö»t^`Ég¥_cH/;0¼ã¤kÄÁv„s:J aµ_‹¼‚õ”(Âëá)^oÖƒS>éåæHÐœŒIÜâÐB]¸<óÅÌ—ÕŸèóÏØ ´÷…Uyu›S_‡ÅiÄS¤®ë)Iï…àË«†ë††ÁÁ??Ú³0‡U6ßJhð®A1ôtz™dúÚ¦m«ëðžï E²òv×)¬ƒ­®y){¡µØ3Ÿƒmó 蜂WÕ47®­ Í:5^,ïÎùø¾€± xTêÉ°¹ýœ'Ƹ31Fà—ª©f^4ÍÌqèdaõfYVB, N)$c®s÷gÝĽ˔Ž;·(S²VLÙ¯SòÎÓT'Æ%š±Êy{Œ¨Z²N.€À¸#2P ¾ûÀ·oC‚g½Ù|ºëÔQ)8­Ë`ùÞ8!×£ý±Ö×Á +μýÞˆ9F3 m¾îÄL Ål¦4ÈÒðš^WÜOË uÇq@±d…º±Š›)ÝC~Úã›S%®U¨¡QDêTüu±~C°³Ó +sWV±aüïí +.9ËÛˆgü?Ü‚Bâ¯Bÿ­±«v÷’ãC{ @Ðg¤Æ +8€jˆLi™²>fÐ(͉k¯ÉYÉËü:éöœ~:­‡pÒùdE&x¨3Å`8×9¯Öœc͵tBÌ­IrýrA!IMÏΙ5ÌôšÃ†š¯|Ý—IŠJ{vën£·´&÷E#³ д{Øð6ð¹C¹¥Á¤=‹M4Y3«“X§Wäj:.¼tÅk!ª-xäåX;ê6g‡ú:ó0+kë„^PJ@vÈëdTi9v)ŸÍ"FˆñÞÔa$¯üôoí”â¡ZÌóg3Äy& ¸ãßA™–;ð¤QSOP#»‚[à¡ç…g“ ÃTÿ?lêÑ9 QŒ'ã§:Õ¬_’ËIs›Pï¹×ªw9™È<Ù"^¹Ùá|#¼ŽR[ÞAßë…+[Ãq!ßÜ/ÏJÝÈ)"EÀKXt5åSÂT{qò”qO¼ñ–þ1½1xÿÕ¶ŸN!ÔŒ^ÐÎ/pŸÇÏœ– +\#,ÒàĹ¹d€ì¨©5:Û¬`l0láF4%4Õ¿.?>¨öˆàœN¯§-]²®¾Q ­!âJ®s­qK‡„ ‚Ê~äY20ù»kˆ•‚:0‘¸¼÷qc¸8ð[&·.Eù©­ç£œêÌP +¢rñiŠô´×VDW€“xëî» à(û^ +!ñ<¤T¶Èõ±¾ù{m΢~i9I¿J`”¢I΃sÜ‚ú³ØºBË8ï]ÿaèmÙýº&éÌXɯêc>–ÊH冯åîœ!t6ÇõÔ¶…PãßJ!£~ª>f !¹iîµkw]½t›lLµ›C7b¯53™•”:%0¥ðP Wì:‹§T°q&4ž3ßÈ¢ìJ§íÅ\ŸBÛw@¦òµäÖ>“ç¨ÍTíj™úoÁ¼Ÿ° MqÞÆ5dn“>¥KP8Û¨†´hÄÝ“åR ¡Êa•wŽl>˜ ƒ8J:Ñ­“&Ø«žñ= êx€F­¢këIáåÄDÝÀ²ÊÒFÑY„ÆгDU9lÙŸlÃcL¡;áÅ4Óð÷>ïÝæ㬰£Þ¤K kt\ÖãXõ †¨tê‰ûÍãPfÄÐËbkŒT«Fk˺€¦@¸ð€ˆL4 k"lGhÎϱ¯#RçMŒxLć+3sSó‚§ö¢©€ò°Ôq1òá‚ï#ˆñgž¦YÛì8óÊÄîQ2Û‰³aqµ(K€9åÍO¦U©î¤¿Ã‡:Õ ±6 +qÏãBs¿;©Ôr{)E¦†5øâ'¶À¿°ß¨-‰^_M}+º²ùÙRnŠ> ›P;,ƒô*<ÓnÝ <:€Z&^.†ÁrÓ$ÚùÀNÀ«®>…ÞlsÍ•½¨ÖðG¡šì05-ý ÊÀ¼ìgý”}@:UÅÕ‘D¹°=Ô³ùªG/úìÔˆÂòƒMi ±ýŽ{$ÅFW“çúÀj•"DŠ/=ìpV¢BÎØ6‹!Óè Ø£ïæ¥ÀT?G}µlùÀJóËŽòŽir§³ùyü@×HÀ»ÊLQ£U?•µ9 ò*µç·,2v帞PG­Æ&P„`*›xOYt-(éÔ(ðrªòV‘±Ìø³‹èvjÛvÀàéÌɱ!¿Óß…QhØÛÓ épcóWµ‡^ô`MøWxUjdY5•E»–7|CUçäÌE8Úax‚+>ºT’°Íe{°$=î·+3àlO‘ÞÔëã •…yL¶#Pï¾;-ƒÃ¨ÊŒ‚Q„_°èûÌèæÙå\”—½òŒ~h‡ˆ@}?UA£L/„Ó…m¾pÙƒü&¾F°ÅÙHK-×Ñ6vÏþó4 ø6š»@ˆÜî/í˜ÁˆìäøÁ6Ö¿ä~ü>rn¤úáI9ÊÑŸH¦ÞgTÍ.<ç°üL· ºYfeIºÎ}E’õŒiÃ{·&swn{ 'Ó¾‡Iâ×yP× þn¿Nˆ ?"¿jy\.h8kt(i°ÕG„)*^-ö»æåL òUÓ‚UCxgÒÅíãoïp’ Œ11Ñ$æ½öõÁy±Øi|¤ÖàŒ¹©»f¥Õ ú;×xiQ´"}œ›zÜ÷A¡ÿè :Ôfðzk< –Y“4†p víä¾#?sÞ«vCÔÿ*‹*Tw÷[TL+ÖZ‰8e6\Àe(€Ê\Éë© ßMü&ùu¢d»ð´ì®þˆ†U4ZÁÿÿ{¦Ö(#÷4ú|)Fã†á M‘»L¦´ÓÜßr8ƒqEâÍ™âxh§Dsœ9¼ý|VJ±zH r©i çä‘9¡yžÙpj¡G‹nôû×3/sJ‰$zõ¢ ÏĈú ÃV¹ª(ÊÐ!Ta +»ÆN |$Š¦L,$¡Çj«z¶Ùf›ïÊgÖ#k÷©:€¡xçÎ8åÊ~iPù§Â^oÉûœ‚©t“†Â,_r½7ïý!Iû©Êb´A~Ã…®aܯm“AÐé­NœLA@ Ž›± $­.ìXX§J]|ý Û^ÁñA£æÀTj.D  ðNpïÍËè;%5 +ts²…0Úyý·Å–ãKêÙÝnôhë2º6é=<œÔŸ‘¤q˜O™9!$M”ÅsÐÍÿ\²±É|éƶaí—†±ëIP«­ÄŽ0Š/ +º‚`ea“ÝÅ©Š¡À‹ÍF# ß)…ÆZTo wýQäRN÷RÕ^Ë+Æ@*®ÐÇvÃEBY:ÀÔ}ä•ÈRöµ¹“#èÐGê8wwçƒe}ÍŽ*X]ÍYî¼ê*Ç{6fxÅ3„^ìD +|É׌ñÉs¤Ë—;*.a§µâ߃ù˜´Ã¯š2†â ÓaµÊfÊ®ÁJ£ñÓ쎪€– »à6UiŠ_U¼"ªÚœ‘'~àóÊ}U‰ùÜ»C>®*‰ FÞjÞ”_9d€ŒÆÒxÊƃ=HAH¥YT™µº~Ë¡“ÝÌ”äϾwq¡’^ò•°hÙW/Ä%JT;Л\mú‚Óê«ë1¨ˆR¼Ëe§HHžTj烆ypI‘aEnÔœœy¥Ñ­Ý5±ª +„þ¸PÑËA"[—+Šë½B§ŒÊÝÛß'êKú¬]úLv_Ž×b·« ¦»ª¯v¢Ï÷.àPh×IÄέ4û êŒH•‘.q7æH«uðÁ0[ôzË/ñ¥äͬæ?N]LZSHúE( ìÜš31—Ø(Båo#ñ¥ß ½7t¬ÔñçËÝc6½aöRžÚdol÷H¢ÁÈB”rK„’à¶àù>îÿ€l¦@ò(ßÝàq*Jïj,š?Ç‹ïÚÒÍØÀzÆ3ÂQ$«ìB2=ÓëXS2ÎJd µ_~˜ãGŒßëÄÊn8!¢S¿H7ÛÇ¢NÖò§É–šõÏ‘13¥yo®.íñ Ãñ.¬½Â¢AwkžÔm´*… ¾ +endstream endobj 478 0 obj<> endobj 479 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 480 0 obj<>stream +€üwdÊEô’âŸýب_LGœUZÚ?1Rzo‘h38þùóE(ƒGà:MéÕ¸ –±Üµ  çÒ¸ÛEsV$„v§õDeýÁuÈ^“ÒÃü7SÇç!×Æ1”¾è»Ë«/Uâõ ]Ñ(í;êÜ~óŽŠÆ€ÕñZ‰Îb˜ºÊ?—ÅËÒYX{sûÖr@…wŒƒ@rÓ +ÊíèŒtk çôŠ9ç±dÑVßÁ2µy3¨¤¢¸–øàÙÌCJ|¶Ó¶ÞÖ½uçn&ú¼‹‹]›üÉ Åë¡›³Ú©[OòL^â­3hÉó:{2ƒWÍ€hžD)±I­h_Aã+ùu 44XYÔ1¾¿èŽY"ì‰C€àê"{áÞÙù®õêL‚âĦX+òŸO?B'Ó.Q™èˆyðÏ)¹Öý:®—:h´kÕ2¥ë‰½áÁXfÞám +ÖäOñF|ìÈÔȹ§›™ðBšÑ¨bó vŸ†|Ó–UYhÕH" ýý0IéP¥K¦˜7Ž1…¹±aÌ+ÈÅ®çÖònJ™I{7ˆ¢´¯ ù/HÓâÆ×»Ýþ»á6o¯nÍûn ¹,ûõÑ)õÑ—ƒ‚ÑWÓ“««6Õ)°‡Ë—݇±²Uì,ë"ßpÑ]ƒì~~îÎÀÄKÒíNóÇí<¢|€õ8EILଣvšL±åòF~'[ ˆÊ³“’Ž£¸ +‘÷•´CÔ”Vx­YH1ÀÓܾóò£«BKó·`Ö- +Ó·pˆz‡ÐŒqã?f{|sL^œN/¯\XÅZ’–Ëá¥ô^ì®uµ$ß°l¢ÒÉëOÅ;v¢0µ׌üÞNëÁ±½´s|*2ïOîñAzBgv˜+™¸­Û݃gÚüdã$Fnñ°cv‡¬ûßj#õµ¶­Þ Ží†U°é‰x2wÄ+ʌØ”-l§Àöz°ó .{U.ʦž,_ †&=¹PönÓSA2¾²{Ó>< <]û‚P«”K?­„~±Wßò¦Ðæ$†¥!ãÕÀ±0ÙFäÅÆ‹”Ì)³#+aÇv“4Ólˆûf"£Pvšyh£®€‹h‘ÏŸÓdŸHD,n"¦ÆLpsl–B@{õA uîW>;Ûºµ–uÍ MOÕß2\ÑŸ}¡mH‹'6e1*PS²ã¦”¤ºþ”;'ÀÞ7Ÿ¡ ê§ÚÚgÇAÏ}Þ æ;{ë…·%%<í(ÚÄU½ÿýÕR²Â¼s¾õC¥2²˜ºáÇÝ‚Ê(ùC].º‘Å–Âz¯mî(™eþòÏ«ðÍczài²ë4† aæ¶Éð re‰â "£Uk£àxÕý?Z Z~,…ŠóðìÙ˜«6ÿ #ÃRPâ˜zÛ£:Û»k. ÅdÊMR'ð>(ÖzÄ$•U‘4g³ì®P…Fvï¤ry–½ÿ{ýqp9d÷=ôÓVT{§¯¡‰sQ0ÏêF¢u4p‡¸^z¬\Î%*'F þ—èÔ¸ã½YôUaÀãYÔí¸Ý™M9¿¡fwwŸÓ‚1ðM|?~û) 8µ_¾´b5"䆾:#¿õ¡úÁìÁ9¶‘¬»–âˆO«+-ûoùÉÑ^÷Þ›}“º’ñžsê6rbÄвxÐ|ÜfÀ\Ѧ¥ŒnÚcáOhRý½:A>AȀ̅Ío(jèðöŸ‹z:½Sï1£NjdFþâ •ÀB\ÞP#¤ì@˜/Éñ7kòðÚM ÏË…ªJ5Áí}S l˜Ò°67®8|VâÙ4ÌdÈ0£b¹CÎòÂ÷tžzÔÚ ôaÊèvÒ"aõÞ±Î3`£ صQ«AjD> þàÛÔ†€¸Inqæصÿ +sôÝé÷J‡(2Lu—’žÅ½l3Aò6„`~±¥Gtá=ºî‘.ƒpS`N%fÖYCÓ]ú6¹|›Xßb…ÅIÜpç¦ú}EÀ–è®þsðÜt~Y¦Þº £r¨ÝØï“×ü!ü"(Éä‘rj¤`*Ø”¹¼èâi7°#:r£¬ßóÐL +ÈH¶zŠcÙý}Df oüˆÜ÷éÑ@m ˜ú1UÎõ(O3› +qÕÊÅTÓ6²AmcŠì(ÚƒZ›¶é/a5Â×½šõFH6Ænð¬Z">¡ßÐôL:ŸÕ€ýkè*c¹Ë* 6°ß^?S3ÅjøJòo˜6´Âo×,ßTEkr-»ÐËvn§Pýï”ùVtŸU$Gôö&Éã" Që9ÉíÕùx3¥ÓCB›s€½½£þGþÄá–Ž˜#Õw_.Š/weŠ’Åö(°: +âR ` 2KbRÛæWÙKw(˜2$A TõWœÄ àl30ž Ë(Ñ9c›a¥p¹£ÂÚ´åv +,Š.†2¸ìÒG~ùuœ‚  všò€…“õr3p4çY\¬ñr›!zPþΨ‘™,ïÜÅË«„æZšM¥u÷/›“ŠÄTøéô(#:ºb„+ b܈àm‹µ«. –ÇÝŠ íŒ`K‡šÑØÔâaðŠÎ@Ùþgðn ûÊhŒ“WåLC*¢Žnj@-&< ±@ÎØYWm²-fXÔõk¶áˆZûíF¯Ë|1I¼¡ÈݤŠcþÄwþªXp“<înà0󅵧~Å¿ÓÆÿÈ'Ðãçh¸+ëøó/òŠª<έ~Çd3‰"»›¼¹óc¿šü•¾\«úW:fIu›sé=±Kö°Â^Ó*}»¼}Ì/t;1€ÍñòhÙi] =SÜã£éÐ2´-Ϥ9±ÈóñèZgí†æ¿ý7¥ËÈѤ[ åœÍ§Ôõ$1›Cý°»DØ‘£éM6"_óÙ`%8•/ÌE†ºµZ~š¼ŽŽ¯Þ4Á IŸ"×02Ð „VüíOÎ}ÑŸ[ÜS¶Ò®~| j_‹?I§‹»T¯¡ßÔóþJoÓ¥ Æ¿–(iù"lŒI*Þ¼¼Œ¤Éº[7®H‘’¸ÑÙ[®+Q@Õ“¿êL+·ƒRâQ(V²²xÕˆ5î½þ{Æ‹éW[^þáÉc^<{úºs f˜ë i4½äÖw`*mf^кFô(`!a²ûL3ÜÛ€,E;O£õ%$zÌ…DWj4å¾·ÏS,_ØM-T‚%gƒwZîþ4ëhéšù$ͯãŒÉqG>©I\ó…WšÑ"5…ÝÆèD9=µm嵎ô£2¥æ/8sÄkû­“[h»1pkpA9BPàÿëO£zž&W™°O©Å%Æ£j—å}ˆÒyrwIYÐüíß²X‡Šãl?!1kÐ3›þ6:”¦!åÏ›Dòî⦨‘vÚY5j}Üt+ª˜&3°É#äCn—IÖó  ²¦Œî”˜1i>ÿæE àæÊ.›Œ|È}Ï_®V`­Z}˜tf×xä·l²ˆNK©8¿ãíÿ\Ýi ÈI€é‚õñÍ?äÂDnõÑÎFþD”hÝtƒ~DFG²9\iáŠW[ynq¿;’@²€?QDzA•dÎE)áA{VÕº‰¤+,夸sŸÈ{ì~oÊšJ·$ÀàñôõZ© ’ðß؈«Åš4 0¯ï­‚>d¾àãeû +%#Y-Яˆ‡SY—œ±>ºö +q e+§|‘ÉŸUä+,_°þ‡7¥ XÊǃI¬óXó¬c§…cP,owÎj Y.¤Ù\I½ç"NÜ‚G——m·€Jzçð›C´]Ì£?ˆØ])Ü (ø­:”7¢ä +>û¯øíIV#F_wC.W0Ä5vSÚ³2/ÂêG ²;‘U!»ÌÕNAê#ùtJøð¯7ºfmŽÂ™:7 ³Í°å´˜Ñ4IE)(ׯfW‡ôj{Ì+°žþ +uŽ™ºùVi¼¤üÅöÂN?øñzàg +~×i2Fó„•}¸pØíWÅ»}Š,RSX– eZM¸¶cG0Ê ‡YlLŠu̶šH‡»ž™¸Ú– P!°ÿŸtSV w«·W~#;8u.Û+™T£%å5®ï®Å*Ò¡óuˆÖ‰h}”°¤420³s,@_pÉóÓunoµjÕž4ó˜Sc†þ`Î á–n.šT—owˆÕ&›&mùN'þΖ#èHì[:t]K&áØ +þ+S›l¾ØlnânÃÝE°ßÀŸË¶ÛV½#·Å0ïzK¯’’ÿßÞ³½ÐƬ´«ûag+%ãF8lúŸL ”ÖÖ¶3HarUW’ ‰3 _«‡f-ƒ{¤!ê.ÛÂê¥}þPàÀ‘QÞ»|¼û5„SU‡.‹mž4Œ$£dsÒZsÚUÀ\ŘݨŒÄО¬}–¶²ŠD/ÔP—Qêrqž®u¬ŽV»lL‰Áwͬ#×î®­ †pî^rqŽ9ž¹í7é‰^ê Ð ½#ÍÓª‡®/f¬Övözä“-Á£B ò©±ƒl‡N±¹&R à3ëwÌm°{ +endstream endobj 481 0 obj<> endobj 482 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 483 0 obj<>stream +L?à#$ØùM–‘£;ε¹Tqå6Ù–4"ð5*aPÛ‰ÔÒW•QWœwSl»PÚð£`”¾ݵ“J¦ü?˜’‚c¤ê¢-HJ­®R³ IîÇOGwGë´ŒñV§ÀÂgûMiÃÆɽʔ„ZËËèÆ<>Ý‚‚Ǿñ.Èæ¶æ.ÕIFqÅùë3AzUº¯ŸÏ~…äŽöù>¸9Êb[IÜW<‹ìv…Ç$Þ%[!®Nb†U aRªÖ‹Ð1Hb±‡ò’bðDÇÔPqYÚšßK.k@¬¿V«j–ÆÃû$ ß<|O7õ„GÜ^S$3æ +xî;Þ³€Üóœì B¯þF÷º±CÃU< ~3°_],¶ÕA¡áNö¡˜ø4Dì·ÒÒðË~d‹°!äåN`‚™6ŠRØI‰Hp¤©ž„z70Zo:ív¨0A~Sx¬ÑdwÐ ~“¶g$?¦ODøVLI]ÙMXYáwgž±¡»Y’ç弤Šç«FóÍ;µòh‡y8®¾¹Råñ‚;b×ç༲à?—àÑ'áÐ +pÍF&GÓÒàÅmùÂo +;;&=?#ÐPÍ9}€ÓòÉÑáúÀ•þAÞ@£ç”l…’U&r}΀÷8F1Ø5Òu·üÊ!j—»Ú":tm€ ð,=¥éÍŦœÁÕÁÿ»ËåùƵ}lƒt‰oÍŸ}­¢TH…í°ÊŒs¬þ‡5²Ê™?7çzŒzI¢ +…/’¶5\lÊ¿T!™ŸÈ”ÒÏ6‚x³t À'—j©ý¦e9Lk/kW‹~rœs Šnæ/À¦ø®ñ˜ý ÕÉY… -™•»~Èå²Þ‘6©I’Z|UÐ>¡ã˜Üqˆ"9zñ´0~…ÏB5o# ñl'6~ÍÌ—cXîPîZü¯†àǤa†øáV$ñö28Š+ÉÕ½‰/£ÏØ °«Ü=X¼„þÊ;‚[æTÕ"£?[3C¡ŽÏ>Õ&tåÒ[|åw¥2“ÒµCÅþÝâ½î]ƒ©Í- {ñù•Äú-ÜÄ„ƒ•å•}íýȼ!Íqî»yAÛÁÈÞpQ@T_—dz”ãö±¬HúB“‹[\àSn¥à–Åÿ{"Þ ”‘é„Ø*¿ôôF>å~5”‘Ç Ó`,'ηL¢¿;ýz4a²9§‘xƒ£R3õ ‹¯UQî‘, gr¿BQe‡%0„aÖ¼RMÞOA·lñ”8ÆíùAb!ƒC |.ðä +ÕšƒRŸw`¼­,h\~¢±˜ˆÅ:rM¯d}óDlD‰ú¨÷NL®¨½ÅOrèºüq¨¦4¸RÂó•Â¥å_œFx>Z$+éß(»£ØQÈörH-oñ6߸qeÄΊm]E±£6z÷Þ„º™äØá]mæê]ìg*(?^Ž’É·í,ꛊ±\@Ð2«mñé·•EŽ%É£ÙÂzÍ'M¨³ŠPï²Cë¾»´Ùäê# \ëZ7b@ +Šó¯ ‰t™ËkËð·Håú>8øõ›¿€|à YC£?ÆÓ”Ð]¡n/5•3þοï~¥çýuf èáåß®ˆkƒûÁ|¥šŽÁoc¨·ÒâÆxݨ4àZØBý©ø¤/½# œ +‡‹¿¥5‹ðç)Wàà?+´¢~pX7®r'¥eHù.5ß l©ÏÚ:J¯G«ÅWyoY‰-˜Jž|¯Äè0ÿà3ðÕf×8ƺ7›¶”rsÛ´óí +ÌuÒ°¾êÑÉÄøV³¹FºÏ‹€é}í©|¹©9`1¹IϦPËjšô:»ÍËÉWÅþ»K ®¤½Œ±¹]>ÃœŸ<8ˆ9 [ÿ¡LΞ=ÉVËiÎFÊ>ÏÚëe#M:öö7Œ™á= Ouòë˜M‘´É‰iÕÆØ8ÆY¯˜×$Ëv5væù5šhdûxTÔØã>\2©ëeoó*É©[PÊ£Ÿl!ý|ÇÔu&g±¿— ¹(|Á¢*+]9xx%%¦V¢øŠ¶b!aáJp¿mÍ>&íàw)snG3ähu«,âà»0rçˬ!Îémòh䪛]$Q“›:Q]:gMuF¾Æ0Èj d๎÷ØU²þc—à +Î<Õ§9€ÐʬÕsˆsJ-°FkÀ©L—ì3U+` +1:æÜ¹× ^9¥°£²X‡zé73­\Þ;c0§R­KkÞûÒ´dT¾r@³¹PJh_A¬+ hz*;»ÑHðsd51kú?ø¤Dø+å7Y,ï k6ùe¡­Èö^.Ú¹~I1[øº‡ï¥z;=û^³V]̊ݱÃi¢ð7<î™ä1‹yFáJYÁÌà°íËùáñ;xàwû[BtÅ÷¦bqÕ¤5öif°,Õ£²>2A œÓñ S¯ÌŒ Òƒo jÙ韀ÌœG‚0 /(èñT7ä)G‹|Í®¸BÚQŸ¹p¡Í”ù7×ÓÕÁ“õÝ‹«ÊR6&¿ô èßÀZJrqévøõÏ%jAûµ+oâ@Û©QJîCþ¦]€ôq<ª°€Ì®qÁç]…ç¢LN†8{³¹.<`I?n*¡^‰£ö=s#)`…Ïêï{ý¦C¯ô ¾r,9UĈß#ü7W5|›äLù?ÛVô਌×Í \LÞ¬FçÔrE¦Æc‘ÀrŠÄƃçi¿B"¨–8 +*¦T‰ã]!¿Öyƒ~a) +g+\9þèðñ3w¢wGQ¼_ÜÉ9S9Iã~t·W-™¸Ö€‰=Ô6Wâ0¯/[pšma½ƒ³Ã¿[æÙyrQLê­€C¦Ú+ƒš±£ jy#˜m6$ã~² +QIõû'\L¥‰­ªáÄwœ8s ½ïW±~h¡ +ëä·Ëb¯ Ð§¡ ªÔÇìpìSæ¤Ñ‡o®ÖAˆûs†dõÏì½R *H—Dâ Ð…Ì·Ûí&3fÄVñý¡¹v­é<>skôŽj‰÷Œ‰5ûv¿Æy­*m3–³Gb‘t4êtÃásÞô&„»06D:ž1æH%^ÓþªgÁ™#öãŒRR~¼Œ˜Ü„9Š0B;´Ò¢>j„*Ü«{ͪhY*ZÅcö·»õZ~O6ÈP2ç.U¾Y¹þ<º¨>Ð:áÔ…P´z|m„ßooí Ï›qg]ôÀ,<®‰›«›i/¼±;ïnŒ[ð2$’¡JïlÊ·öDÏñ‘È6¿r^ÁÔ¡1 +2QšN³Œ¬´Ê'ýê”$õ¬¨_'G…Ðó0ÙK-ß_X!úC7´{)WQ\<:Ì–ÝÛÚ¸Û²8|\þ£OÍ1Y°òû±qAY?IQí6¹"ád5kßTÜ_ŸU—|¼Å .-¤²[u —d5 ¸–¹¥“ny<›h‹y÷"Ê?L^µz^-š?Wjølx¬9A†ý\d 3†¾ÞÄE{°Ñ~'Ÿ +>2¯$¬zPVÉ5ù«. +P7¼ìM–Tµ7„jU:4ªÍ¥²’»—ëÚjÚGcñƒg£§rDoÃÿõœÞ>qB¶D…ÀR_½J’ßÙC¿* ù:EÏ—õì‘ŠÄffn¸?w{ëâÎo9/è€éh»9×xlyœÍ¥Ž_ªØ>VráD5 Ö¶ +µÁ!äRiî÷{¦†oR+`É­ ‹+ý-q+…×¥‡¨‚ïhY²D÷sJ|´™ö£àütŒ«üJ$æê‰VÎ1ôÅ«Ð6ÓI£ª÷§ágúÔäïFb¢X&ÌÈÒŸ¨=êÞˆ‚™¬§¢(?-.÷É©2ž¿Š FKã,üYìžÁ$­éüf(¡qk=›ئ’øâS öñö1ÑyÊ´ Æ‘Ïl™›“®6å+ì„æ>Y™ sbØ{» usqÃGYaårŽˆ ÄÂ:øȸ™ˆî¢”¸k“1 _ØÌ—pú¾:Õ¿ ¯X˜Uþ¹š_$VÅû¬§`qªá‰A$pO›$Þ­!©Â¤uX—70ÅDщÁYMpØãšþ”8—h¡ÖùòiUzÊíˬQ3Í«JŽo¼ã»Aû.%V¬Ú "rT‰»a¹²t濯z}†ež7$«è²åÂäümÕiüŽ9.<”(w¾w|–~ɸHÆtó ÿSÎT%Q¶_%`i¾bB…,&sˆÚÒá™WØñ‚c}‹¤ bú–¢ü–,³³ w*òÊÐ=ÜÉóiÇÃ? °ÿ¸‚CŸ‡…´½þWÔƺÐj±B+fÀ7ñi“dž€æfߥè:"ÁªçÝÉ‘'-ãlöý/3Ùà(¿MœÏï¿—õK…‘ÉJè-ý¤=Á6nPu„»Š MöªKI·åájZ1DÇDµ±òèÛAØúÙ ^o ƒr`Jt,KsšÓér½k†N„_wÉ×qÕU{¾Ì3Î^VDóJd¨Tã.º»O¼zJµßFÙàe=tzIFLÄyÆRWeOì݇\ó¿˜yK±'i¡¹MïW8¬~ÑVU…2Eb®DL%T½áùMóYŒœŠ6¢¡=žÉÏúô9ÿF;ÖŒ:{Þº¸ŒÏ¶µ!Ap¹ª\eWí\Q90_¾1äÉiÄvoxç¢Rx;gNc4#€¸YHÀ+Í‚Õ¥Zìê&ð]|!¬ÏO€º—’n€m¥×\óúhá ‰…ÛXEIŠ‚>Ç+\â§è½¦4õfÜ0,†Æf +k5 +‡‘cìf$G°7^‹µaÉá’É +SK®D]µüŽÖ$Åý¸ØâB¾½°8;¬l2îYZ@XMèî: …Õ:ò£$+¡@=D%ñ¨TÓáC¨˜2ºa¹åŶ¥$Æ,±âòÝí€ýJé"µLëûØQwº=o}UHŸ1s¿ÍãüžÁÕ¶ŽÓÿL“™Å +endstream endobj 484 0 obj<> endobj 485 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 486 0 obj<>stream +­1@€´j°¢Ì!°g5Ú©Ó*À‹áZ/NXK"ºâð‚¿ÿ1·ÉÍõ-”ÚÚ§;x! hHž\i¸×b‰Ùóôéù¾°#+í!å0Ó£è"’ßÊ÷KVþa€GSG$8 Kã+÷üí•Ÿx²#33¶ ¶EƒÐÒ +þ+#¶w¥Á¦!MIè>Û8›,܆7Л©‹„˜8üÇÜåhÀenþ_ê?ô¢T‘'ý¼Ôi–…Y)‰Eê•#ÞÈG[ŒÜ.‰?ÿé"<>Ljj„©/)ßýŽ}¦Ãïa‰I7J}žh|ÈÓ©GŸ÷“¶1λ3ìÑ[ý®]Mè Š/µóïN{†‰Ýz¨RZ`“å}õÅ=ƒþÛÅ2ãe¢]À†9áJýÛÒ]âD=ò¹%qíS[Éá !û")­uoÔ n™««ÏÔQÛ aÊ;Gb“-áp¯Ìa},‡}*ëkgb1ËlûNçpRõùvìj§×ÊJ¼ö¸Ëâþ{Fábþ”½ Š(i'†=<–¶-_@±Š¦ê*V¾ðí1—þ"ÕçC¤êƧ{¦» ÂjÖðìóõ( ì¢<–³h2~wâºç5Ð"~ðÞ ¦<çáÈýÂÁ;Ç9v‘¦Ë”€Ï»ëò¸ŸæŽÈ‘—OŠŠôÛW ­ ^cÕ0Îf…!­u´nuoßFËœ +®R¯8sg­P2Ò9_#%µ´Ÿ¼Ü—P삪XüГ ),G}¢Äðr7Î%xÖ(e¨ HÔ¨“…ŽCÌ,@v5ÊÝ´ +pÛ£]ͲMäoŽûì-äb¦ÅÕ‰e醴P9 69-ˆ9*Ë1ï‘GݲµQÿþjÞ¿&õk)å^v³ëD]†Á? +ûÉ:¥ôˆ!h¤Ÿ3ÒT|:Ü,bÔåøq@ºÎÚ(ô¢gb§µigÇ©\‡0sO‘LqÏ:M´ì*ñpj)œ;  ܸ?þ7[â¿ï8àÅ@邧ØS|…z·ø6Ô$¥ójŽkÿÃjlnH‹þù££UØU\T̵,»xY!ß7Š "Ïú“ë;5ÜO!xSþ¾SõÐKM&9ZhTñ”žŒÇ9“Vh:ÔPHxõÒîä^ô+ŒùÞô!s ³ý†Ä¦cD,Û1ó³È6=s›íG ¸T¸ð±y÷~¬I-€0ä.`¤¥ËTÍž˜oÃ×F'žæc,9!Ëk>eÁ©Z¹L'(õ&ƆeÓlÍG\=ŶaO4Ȉ<1žèêæ—,0Ǻ9:¡Ÿ™B˜þß÷¶hx°û‹k›5tÏéé¯áêµÀ#…!²/^“ž }»˜Mš>”ª·¡J’ºìéuŽþJïåGh¦ˆñ¬}Þ²/;£ê»$³iÏ« ëà¨'¤M|5%…ðM íøA¼!Ñ”xÏ  žVÍ®ÀŽ·!g§Qî‡Ô)õÍc:2ò˦vCÿhõys¿µ¡ ›-/c­Šï¸×PçfwNÀSŠQ!´Ãä&ªñoVO²s¤J•`SìËøH5bZ1€–ŽR°á’ࣹµÙ‰“ÞÛÉÜñz¾aåí6:è5ô|¹Í˜ ¼Ñá”Dv„š÷\ÇV•+¡IRMQ½Éd§™Â•g àžR´ÕÈ]¼m™R´´³ªG7ð^m‚r:›X“+cƒ4øb¹N(ò¢•ÍBxó_ážLÎÆr*PÌéÈ$ùÐ!ä±m=è 2¥vÁF½ˆ"Xl¨2Õ’¯ÀuOõqû úýñ‚ÀòñâA­öÏqý`Sž¾tAÊØ€ƒ˜fo< +˜§Áº½%ïnѳÖDG&U”;ˆTðáUå ;ƒÄ¹KMçAsäDiÊT-T5íÕuPÜ×DX0‘ò6)«lÁr¤ëMôfz­ c¢ g›(A|«ºhÝPÎåï.߈±Åíä–±‡ÄÊ·’=Þ° aÐc¸È¼g‹4‹‘rKÝ1sØHf²°i C yÃbŽ¸½˜[“6á…¸'íù=²%…»(D|ï314bƒœþQªnÞÔZÁPp«Zä#Ã&Š%ꀎ/ƒ/©úøüoäÔà þŸÇÛ™^ïtOÖ•ø€nÔÃ#×­ ‰I™²ÓÆYa)¶ýÇùãüsSÕ^ aTÀ]À®ú° 7£›Þ!Ïv~»ØÙ@Pœ£~ñÿŽäwX¬w¶òÔ:Ìu†|ZFÒ˜áJÊýò%1]€½g%‹Øî*”Q~—ßæ³1”GÛà^ 7œT¶¥AlãAAXL²“ñá°TëƯb‰ð‡£ XŸcuI6˜–{%`­ö¡O/ç ;=7;Ú…æÔ†Þä–Ë +=ŠÎÿOç„Ç?ÄÑFL»rl/„üG¿*wR)%XZà~ˆjëAA'~Vfˆn{:Oxù ’¤í»Œf¸ÿw:ÈŠE &j6+fqîŠ$µ†(@êàòE› +À¢Û#´s6tÊŸpH&‹‘t]Jqþ§Ó¢‹Ñ`¯²Å ]êÌÏÙÊ—£ôHiä.‹r¦êr¤ÈçË…$×LåC¦x´ñ5†•5ª¢Ákÿ<À•Žáßô#bÀPÒç&-5KW‘ÊXlî–b ø'EW„ZÃ#°·±I16³˜m[Å|\½'mäœáŒôynÜH8Ì6ñkÚúËßÜŽIPýp¦Ò“&GŽ™éa5>p…©IAŒ+&ltÝk—ËRù}È]±9Ô´iÀÐñ{hÑ![µ«•_bÝ<2d@lI­úû`LW¤¡;):ì?Yk:ñî½ug@¨Êƒ,Ĭ¼F| “…G¡è%m˜"úLd@D5›" +‰Ÿ½JÔe9/¨ènêÓ<˜ÑØuyHÁÏÐRÑmÑ~ÚÚb+`7èT¦UèG” »øÆ'gý˜¢ ×çjGø½àäWónu0å¬SFÔ%q9)…³ÖÒ"XU_m@ÔNPã#U4bе^!—Aq°•XáEyÙQj`‰³É‘"•â2ÅÌè¿ŸÞ¬¨ÆYkËw{ÛH>„â"2ÚöæÎ;¤J§Òþô2èt`%tdÁ»Ûš×E–á ÷êaé9¯ Lá5áR[H4¥ÏÈžtdãNQY2ÙŽÆ‹¼G_.Š,æß½VÅq7›ùUx+ÍMÂå3¯Yø›°‹PQ!ìoéw—¤üÍŽGR?7ö'Yá§aq2Á!ƒØß`BMG½ÖgY…@îö NîAȸ +Ò[‡÷Î&Âæ|ùš–ùïVÈ¢€ÚÃ9Ƙ‡óþ3{‰“ÑS¸P©!¦¸…`1Ç¢ûÕçBošqU†½®„ê¼ê‰?œr˜vCÃëéØV!#;Œû-¤tê–úÑvAÎ.ìkß9¶Öþa¶ªöDNO~ËTÍGh\§áq£#ƒ•î©[ÿvÃœ¯I íü©w³íÛTÒÔÁ¸&æz\êû%0û+Wq¤Éÿi?ÿ³i-C2e¢."o1hqGFå“Á—Ò{Ùœ× Oi=ØŠ‰´q€^%Ei06›RÚ!xÅacùQ:ü +endstream endobj 487 0 obj<> endobj 488 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 489 0 obj<>stream +5œjHè~Z1ýê¬Á—J’“ÀrJ¥îeW»JÜW`?ÅÔÿ´Ç[×+ÎFSª× +# [8¹t(ý´FM€ãX3+I ­ƒÉ&«!üÐÚ´•fÿXfõU¹l%ØBF¿ÝŽjS¾ 5=‡F™ >”-&—MñìSR92[ ™ÎaøëƽîÐÝým!S +ÜxšÐ‘îš}j –èp´QJ¹V¶H7Gæ?U¥V~  ’$Ÿ÷2çi•:JÄÀPÅBŸDÙuÐðÈèÔÔVžŒy2š$nyú“/\575îW¡†»^0Ý›³br†;‹8°›¸dþ^û ¨Å³AO‚Þp(Ù½ ëü˜¸exZú `9cP¢x±‚ž%¯tÐæûëoÒ÷ÙE@•†y`šòÕ oñÙëq××bBi È9åUmñtƒ«Š×¯é?ƒxƒÓ=á¼ß’ÅÒÆX¼Ûîô?]Kp_u ÂC><¯¼l¨GeE”Ð6äg‹,±’„’£öÓùåѦ×ùWJ³Û•°T¸O²k˜É©µÀýH?ÙÊó±oÚßeîn`Dn’¢E}FG´@³Ôþ¡—H“|oïZ»QÛƒ‘òå¦W~õŸ¬Lº…í»jº'ìþËnÚ=lÛ±eÐ9xMò6Ü2gŽ$=_±ÇŒ– +­îÖ4 È?.Ìq|Ÿ©içd¸§7 vbÓˆ“ ¶`çTýöÑOi,:[6]‰À|ö‰‰€xÀÀ¬¬¨_~É Ò÷øä5FHè:´¡ ø!º™tú®æ!’‡w%S_÷P3XÙ=“å‡Á·b°Y…ªõŽ¾¥d^€ñ*Ï\d kgÙ•³€@*dŠÕ=ýxG¼Ž0rÐ OçC,otY†¶Åc›éúƒÚeÖn¢çÉÔ–»Èž»š[¦ð{ðÏîÇ ³*”£$šåü”b>iÀ·xì8ý)M¼­x.Uf!è2àÌPÙúÒ×KèÐ~PöYHr/TÉðŠ$*‡«€Ím3ú|ûä$ü?óÍÃ…ã#OËa…?†¯?;\\£Wf V•†u£UÉqô$©»IÜmÂó‹uÁXþ20I™<k3ªíu‘ç/φIp‰pI eVpcJ­D_¿tnM˜d–`gó¼Úâðz”ÉZJI¡k2?q)¹Óq½RÔÆ åF¨^“ûk݇7Ž.¾²ë×+LI`DåäêÀ‘ùæÐ1·ƒ"°9m¢@ÙWlÿm +Ò¤„·…â–·{˜¤®ÄG2£ïá¥r±³ß?0\øû´4¿¢ï‰²1½Þ3w‘ Še1Ę‹?_®ºkÅßùÇ#ì‰ì!_xìPØþH¡úA€Þ dßcþŶj8Š£"Ó8©àe›ô2ž²K‹ÛÄxŸÖDÙóù E¦¬XÁÏ-¼&ۨݫ þßÞ÷;oÇ`¿¾É¸,¹Ê|:Ço2ºt<²ÉJZfë+žNòAõÒ‚ÃèÃd"ÅøhxA¶âyí­5’b‡ ˆWvSBñ`:œœCÙdÃ0»I6~_í¬ƒlDÅ]˪͔¬Ne¢³“;Ä/ô»y8PãaÍŸS›4šùY¢Ïr‘lDƒÀs ´1=ŒèTI«Áa±DEojÀE¿à˜Ô~šÊ'ëhƒŒD/´ƒ6Ç„¯$Ö€ðÈÈÇ«lòœ]üxóÐ1›úN½ÿ:¼(sø*‰Í€“AÁ:"îì’kE &fFSì!·Íú"1äšÎó4E‹†¾`‹¤DàUé=¶Ö"€ç¤½=¡Jtá˜Ã\r>j àQjøݸO»º râÑù]:µ•%À,ß&à‚¤$ƒôKÐElèDdÐBÐC”·+8·˜WÁ+³gûðšÑ'†‰d@z¤~Ah1›D-ƒ…}PžŠqX9Ç\á1@‘¹ú=ÖÉÖÕÁ܉¿ Ù5›[سj(h'p‘DP¶¢Þ ˜¨f§},Pû.þ$=»©,.ûñY’Œ±öçNQâÖ3ãÏ÷{î=`¹çæ¤ñ‡gÕѯ(É—t=Ie9*,I!Jù¸ª| Ê%]É?ùÒ/ðôÂ1ØcOo¿Õ)ƒ×$r—ŽBˆ"éWÇ\&¯¾Qfì7ì0;j(|“ÍÝ$Ž8“…ØÖÏ€¹v@M@€ž‰¦À⤠-‹_ XèyÃàŠ<ó n%»³ ¨z¾´%Ðæ ÆÏfÇE2ôÐäÁ追4ÿãåKvÙDÇ0Ð(3“í~œ&7ÙÛ&jw¯Éw´?±‘®×HNÆ|«¡ðv ç0yHc1à ˆ hîõªրѯŸ€t_-€:Écº©¹ö§ÍQën ð»ÀQcáèŸLrXøêÑ—¶§TÍÊq÷$æ;ʶ\Y=©Õ‘›½ï7©ˆ–JÅǘhA,K6nË2òÛG`UVÅ× 1v;z¸.©™ÿ$K8¿€™zÍ×®ÍóL]õ&ÈÌ&‹žß6LíêœÅ+—Þn vGMLï ±Ÿ<†¹TT¶­*i‰†ÁêR“^ß)$ùAÜá7U{¶Ãé_ãæu/Wú©¼ñÁc±FQØZ,m¤ärµòÊÉdУÆJÙ=‹úu³Œe@¡‡u0õFI‡ªó·GËvðe¹q˜ŒoïÂ뎠~›S?ã*}ù0Õn¨B|Òù—ÍM/¶H’DÊĺ“'x#\çVQpëýSÇF<xvŠŽð™Zp*‹›éHÎR xæâÇ,’ü,•½ƒ<‹®Ê¦hQðñ€|g>au‚U_îòÛ‰x¢=’°ßþpàkBïºÑî8¼Ü u…ƒ$y³þvU^Lµ"¾š–p#,˜¾}mp1|ºQÉ ÊZJ×6Tšçže–9¹åÃ,óƒt>4â*s,îoÖן^Àªc¿ÙC$µ÷àصx"]-3›d˜UI÷x´uJ+»Ïš ÄLð+&®ç ·ÆY+¢»iø†pÝíñÙåÓ¡˜ªlŘë6LJ¦q ÎÑlY{keû+”ùo>á ϵä#²W¬/áæˆt×€–ë7Âö°4ËÊS0†Ã+Ù J·ÔÆ^àA”n¾&5´âÐiçš.÷ÖRrªÈ|uÖ:cÅF_’:žªµ‘2)ýIW¤K¿3ÖHö§nì©ýq>8Ô!«t¦(À®¶>þžØã·Ë8(õ{ºƒ=;Œè•º9‘úàH +é±@6-ö{2°à¨wÏCn6:?&žíDñ¥ŒïÖ$"yh?o{~×ÚŒé¸ù.LQý¦ÅTi†›†ß°Å¨ ü©“ŸÀ扠­‚Žå\h¹±3½-MÞ¶¹LÛáu xyHgÜ0´Þd’¬fòÞÅî¤è?Îz€êÁñ؆jØÏ.ÄËgWOcßD¯~M?¹÷4EèB.| ëƒ2†s~Mã\¸¹ÉÔ„Y"èhxð*¥gOúU_Ž‚ï°ªXç2 +n`£oÆ®‚‰JúBf•xLá!"(àÅ¢Ø[Jme¥^ñé)iÐü…5Ä=3xI –n™¶W¦‚&J3±Y[ḯǓèÈdšºc/ž‡KTß}Ù£·¾òï‘/®»"$.L*©Â›ú â·è•¤rŒ`hCìK0Pã0‚sLèš&´š¤÷ÊRWƒf_j9ú€ÒÛ4ðñÌbINòûL?4mK6mì\@SÒCèÞª~Ø^´§âp6eíCàÒÁÊÏ.æ:MÅÌŒ©F'ÓÒ ˆ­á`Iƒétm$>¸ç°Ú¥H×S‰ÇšÀØûÕ“ u¼^ýÇ&ýNÑaJÇ*v ¸ä°­%™{/‹£ÒàÃÞ~agc=@”ý&`=–Ö­ùhxË©»¢Áú¬Zd±<\ 7ʹi†e0ëfòî7&ÅÂ2•¡µéê„eþxçßÍžÀIÖše4†þÿkÀÌš‘¦ñañŒ‡wQg=Ãê œüJ BLv¹w¶ê>¬*ûOÈ-ïäðÀ\r{¦¶9ktºÛôIæ¨×>_}ÁEp2ù2R…5¾o*’ý)‹YÇ +Íí-HY9¬…5Éìí_EZàš€ºIù¹¤¦Á`óÓÔ¾ú~ªójUû|àßžJ9t<¨†ôo°aH¸æôüàÒbj^Í' ¸J?êÎ<ÌŒY®ŠLøÐïZK7èóB§º3-üP/œ9,³¿˜vRSòwÁ]3½(A\YìVÝÞý7å"‘ç0JfÎ*ÙvȹÞS¤QäSø0™¾úr'ÉRñŽÌŽŠg?ˆÚXôd’eä¼Ý”‚É!Øø%Jä»Ãû… -ÄâºnÕ‰Aø£MDÿmÔã,¿ÚÀIûg²@¦¼8XXåý{øMï—ëB{:M$»V Ö}¼ôjç +Ž5U‰sš v­ý<`sÆÿ¹¯Šl¿We,²€¢«öW +´2›kAiM».ŽW‡À/P*üRU}†ZÄEL`϶¬%¸¨D]#L ˆ-)ºÿíéAaÜÁRCº0¨Œ—ÙW+ú,ÎP8†½åÜ#c5þ íY×¾:JÑ30G]À÷*žÁ±»¼Gרz’H¡¾•ù¦x;Öò¢¡6õ©UXXåážu̘Š\¬\â4—é‚wE·ÑüekQæÿÄÆäVóò‘þËïŒZ/OO»V=ÿ¾i,ˆSƒÎ#²ïÂ8©.ôÑ8ým¢´¬"cˆ‡™±n¬A®‚çM}©”ùìM‰*à6«D‚´Èáœá4‘5¸¹‘lÚÙÙµ³rmIRL,T¥ñ€#DÆÂfSV°M¿ëJ=Æ!áPÄ}sÈ®‡ô˜°æ—@ѺɈÚOá2¿¸%è(÷InÄÊ +endstream endobj 490 0 obj<> endobj 491 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 492 0 obj<>stream +)Æ;Hð(Çê9˜^žæ Cï¨êßkU1 þ§þì-•· ­îÈ)ßäãgX¯i½eIP0]5#–sÈBIk ù#K$5go†u¯;¥ã°Ù&ÐÝgVaäÃÆï.´$8Œ§5Î'‘zE wµ†ìK¥W+_+iŒÇ“ˆ]ØDŒ´!»& WÓÎ.h¨iUM^F}ÜWª‚@Bß‹90`‚x©ó<¦½DLPƒ$±ÖXÍB8­Q}W÷õ*·J„¢½·™a” ÖÏZ"( +;팔›ƒÂ¹ñ`Èœ–#KÃÿ£qP±žéu‡%>ø܉Ö9—F<Û‚clÔè(`¾iD¿ïWHSL7è ÊNjÃD§ØǸ2bqFÉp û4'ž‰mˆí?ÇâýŽë’‡3Hü Ðä ‚Á5»¹ ÀŸ‚)¥Úñø“WФ–R“Ò–Wõâ›zO +6S©‡?œ@%=KMÚ¬TØ–WsÍOê)Z_¿@Jµëq9ºÎ + æE­:*¥ç”9„MXÀr½Å²_éHDûe5¤OàLþÚô6Ý•{È) ó³Úû¶OWZmÉAÝ »J{gà)íN ðã¸æÓ0©Ò¬ÉDáãh+"àKÚÁvóu¨‘éSåTB='#­Ü‡4œhšáBeÑœPyጠ]åVÙOZ(,ZÂ;­õBã ºJSâé1¿4žodM¥ wŸÐíî2 +ÎPéfÇ·Àæùcvop†ìúÞµg>Qµ ¿ ûánÕÚLñÔñÞížù_P +|K-¿.)2xè8Œ–ò—Vm€$ Ù§E‘1º+þ#ºòÊ—Bî®ÇÇ(¬šH¢MŸ V™±È4µ c:ÇÅ€øÃn‘[P…2âê{掱J(é‡UþC¢fùI‰ .û1ÖøA€ñ]@«ñÖ¾i€/°”Ƥ7QrÊ9A¸Bö«ü+Räëʬ®×O¨§Ô»(¸L „|[D;îÖ†¯m¹Æ(·‰³üŸèÒAI.u×rèê=qö‚¡Ñˆw±G>ŽèRŠÊÇ9G¬C×(ã€2—tˆ3{^Y;R°_4*£tCÚ¨ƒþ&.|ò>æ=(ß_γÊ]è€8Ò82p÷sPÚűžÎ™;]XšX·f_±‡$"'ˆ˜Þec·zÕ¿Ç4¾c°%GÓu*ÚFߊպ*uȆÕ3U+IsøV ¾=ãbaÝÜ-~OÖ‰u ©TÝŽ‡Gâ>@A20‘‡çÇF½Æ°šY-Cú\[ôð½QŽ¾Äxƒ\ံ7Q¿Bq4 §‚xKZ4Zšo3m­ÁâO,.vhsa늩bK’R4®År~g|*6¤;ÈÛVNnŸf’†n*îú¦K ¨»sÜÖ_dõúM{oyãÄ4ðNC`µ£»#úBŸ‰½Ó{fuNgäÀîE!÷Gäx¶Î.àÞè +üUo›„×<*РĹê?‡F›©Ô¨ÔM™DŠ™ Zc O· ݬÕp;uPʯ QÌŸcêVÍ"O6iƒÏÐ0¿/GÐ=˱Ȗ…&ƒJT8P/†‘½D2På’ +7œ‘ÍÚ½`Ê0žXŸ]Õ{ø›uûó`Ä»yòps²›E×kÅ’8}óÌš9þlMÊ9Î2}\܈(_Á¼Í¨ì©»˜QëweygP³¦MgG‘$…ÒT¢V4È Ú׈½WDG=Îög[²äzn]% +–ëçڱŻ;+’%Úá”y¡hÒr†«DŠDuᥠzry¤Wвš(ä³9*„¥©²¥ülIkEªQMÍ2ˆuý5Åû¼½ŽµÈ C¤Ÿ¹д@çÃÍ ¾ÕѼä1LK³âÄåª]6Œ¥pVH‹§-z@ÙKurרôêœC‘õÐwìظsæ{š½ˆÀ6E´"ˆÖJó%Ÿæ‰¸^Bi>¼°iõ†F…AÆSÛå—ú2ì*óÁ)­Ò¡B–NÕÐÕkï¯ö"“Œ›"&mCÌÅ23bÏ ÏÏŸ{ºzÅ/æ¤Ð$FD±ö#’»¤YèˆCæIÌÉñÿrÁ<ô¾Qm9«RÏ•ø?g[¥®EBd‚k#éZÿaÃC7(B¼ß·¯—CBœÃÂÚ¾m©ÓÕÉIZÿÿ7.Yo3¦©Ä<¯K‘&÷©¼˜ërN!J3ɪªf•÷Ž)ů]Öÿg4uãn->Ñ•ÛT2A"gt†¸¢Æú¾¯^àÙx÷Ä^ñnË%ÕL™˜˜Î@û¬áýüB^ĨÎ"P +þ¤¢Äë8ë“þ\’¥öØSäM‚”„Ó¬ísEÏuYn…øðlf(ì’3guôŒbõ5ãïv3á 'ŒÝÍŽvïÑ£µc[HI ±mL¼©¥ù‰ãµ@ ŒOîÓÎxµd–Æ’p(Œ]+÷Þ;öÑêVèyÎM{>k€P$,*HpV ¥4¬Âæ4€ÜêÄzŠòq~ó· ©¢‘åŸÒùSéµûo¼öeÈ´-WmÚ¾ÇÛäV[²b7ªÿ4ÚÏã¨Ø¹nžUæ.1þbƸ¡ïùj%20³$yî‘3Æß'3iÄ|碮|#«nÀÐH”dsú"¶äû(kN>údÔl†MÅ¥ñ@à†C=¯QÙPŠMɵÀPëgü tÿÕ ã3Îç|R†0Ëö +· ÌåF«D69¬·Bö^Kux|F/³šòŒ xmJ=c×–üéšoÁ6¥:×Ï`r9/dÖØ«ƒ ½,„säV±‡xaˆVvÝΑ’Í0–ú£D6`Ç‘QâßOã[–è£\3À±u9›r2²ŒªqÕŽAp…•H¥C‡-LâtÜt©Ú,‡ô[®JñÃæ ±x£U9púŽ¥ß¦2kÙ ?èZZ(ó”<„wFÕ ®ãD­ „+5M,²=+ ¢ƒçÒxqEÄqlUHÙ>•ä¸À°{V2a©ðå8”&OQ°DœL¹º5]|$öKÍâZ;V‹Lž™HõÔïû ç­ªÛê“K«âú$©Â®û$MEG@>9ƒÜW`Á'bÙ2ÂÖýÔ Ì™Bk¹t½kL˜[~m…Ë)±î·UP ôycá.ÚÀ a™®1ò~~žƒ‚©ÿ=?©¹:I á;‘ ¥žåü(Qâ¾UnÈòN™›š^ ÃÎ0QTS j_“ñƒ`ÈÅ Mùh; p Û…{òà ø+FjI…dC:YÚtFaj1ˆ¶EÅ!çí”èwŒ-GÂò\uá§ÿ;˜M[*÷D­yÂ\)rÙwÕf¶ñz~åI'Š³AM&úþZ’%Q?fc}UÿoÞ/;EtWD·á=GNÜ 4•P-÷2ÿm¾¿üÏ& +>áFWÛ—Ól‚’]ÖöL!¸–Ì]Ð}Òb/ó‹Å­/>¯aožáö¾³¯zê-ø>ªáé@ ×:]ãÿÌœ[¸v”c$Æ1?ŸLëÆd€àÞ`¹¦;A0yCR]ð½`TÌ_%½€—„}It@!GC¤L sZ¤º‡¸Bò”:G€KZÉC¼ý º +òZš;;L~ 'A@Ë4ºÄøŸŸ34QˆÏJëØœª÷Ñns%cBûœòä ÎUvämUˆX\ƒ€+ä +ÿk;ü¤E]yñð‹ß J Ôè';Å%¥'ÈŠúJIÔÛbþT˜ž8ÁZÎS5Òà’û+Ñe†ý¢‚6ŽßÜå³²YúX‘‰¥gŸ¸­1«lô;/ª +6ËÑ@ÖŠð }$YÝ£Ô@Ëä]…l%-¬¸Iôˆv˜ÕÐÀ°®Î·[%l¦ð°ñiƒ ä €¾vÞ-·Ä‚Ò€ûst2+Ãí'o*8ñ•Å–øÒoJjŽËÖgãÜC™ï)´º.ÌôEžáåw¹¼€m n9×\ÕaíFˆ·is¾ºÞTMM\EÕDNµhHU%§»ÿ±’¯Sά 2š@ÞÈêü‚úYO€=UẨ¬/iŸ[ÿøxo¸µ äqGÆç, J­@f +_µ§+‰UíñõOxfqÍ’‡[nÓ/ÙD0ÑzGäèè‰í¸j¾g¤Ø¹Œ'ÉSƒ×}21±Me¦œ¡ñç߸/ãƒSð2êÒÐòíë,Aå–®aÑëÔ×Ö‹r¼aÜUJæ#£‘½Sh)›·ý™/ª2ôºJ˜äÛÂÝuî÷¡¦cÆ]1ÌæiÊÆwà·?óAY´fzŽ]·¾/ŸT0þ&{|)Fà{E¨^8¾·PDÈÞK`1û#Ueþlžl·¹å¨ ß‚ÚÝÉ|Â+`>ª¶¬ý@î¹âI'ºn­Ø¯$eI߀ÛÐñy÷s…G´iŽs&¯H˜j¡.ñ@(ü]²Ó‚J +ámæ2¤d(›•ºjV²nvy¤¦þ{AK3…îBŸœO¨ ÕûÑ^ +·|ìïf:ŽQêy–2äÍæã©I¼mä£ßo—‚{ädŠny„¤üG5¿<àx{õ\—XfRu9ÿðÔwxƒ.cHt®ôOW2îÏfßI›ìí$T@ ¾åDqËL`ƼùMµþG€),TÛ)5‚Y9G´‘Ÿm`QºµdG©_›ÏÏ@ðìÐýà[Ž '–ãs«ê¤s£3î"* +eûäUzj–Ìä"Ö°c„«ÇÄJ¹Äàû©ÆGTcaɺ£çÍáá7ä#­¿÷Ù¬’].0wD[ÿmçy®©Û*XÑ ùŠ—íTÿd5¤ûmªM§DðË{mdÙ#ƒ* ÓÅöu.*ß]‹×>WÍî;KL@™¾ìW–$G;“ëª%¼2üM/7äº+k*GÖKö¸#ïšâíú&£ÿØ›l»)×íºÀ¯åÌÂcÁÁÏjûÇR É):PÀ¾©ìvÆìùœÍw^±/A½† +z£鲫ë+J`IjÃ<‡O¶ÁOù&8RŒ•F Z5éúá§}mךRÝ+ÜÓ‘ÞÎêlÄc œÏcœ£ŠÒ­RŹ µµ¶¢Â6cê³’Ã~w à2"â}}?ü´f2WãÐr݉ý0ÈL‘;¡¤~¸Ü7Iè¨Ü—TTÍøˆ›¸gÛ‰‘inçœ-Äoɯž‰IZÞ5uØOúä±I4 "`I G·l­"&ú¦b•\†¥T]P T¥ !ŠæêÀajÒÂõPpðB~°$c +éâWÉ“´!5J]¯¾> endobj 494 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 495 0 obj<>stream +¥ +•6l²Z%Ë;µÆÞÎ[Ýxˆ7ß«c„ò0…µ¦ÌŸçß÷­>‰ÕN—¦>³û¬û$ $M”ä×L¯KæÇnÑ_vs„™%Ž²NwêÐ3…X-ê;íؘï`z~ÜûÙ„á©ÝŠý œÙ6`Xj8YY±dx¡Oa<¡Æt¾ºðZGÍái‚«sûwoñ,6MÊ~ñ^9S\Áè£g”6Ñ›‘g(ì¢È±ü3w®eI5@‘´¤Å¥òÍøЗj¦@Û:à®!Õ<‹ìëË&|˜#“â±Âv"¡Dûò™{çŒJ¡;ÓÁ¬ªNpñ°£“¬–˜^txH{Å VNv#»(xÝb“ŽÓŽüCs.æo†è”b ®Ó?xéÁ–7ŠÎ¿ñõP‡¡ÖOÄtÜ«&ÂÝü!ñlІñ±.ˆïª`ÀUµÇË%4L;B仡ñÂÊ`ÙæYí<“Õ>Ž"•Ç¯*ïÆ2œëkFù")¶ÑôGHmÉýS˜Œ­ìMÂç|À9Òdòihû3‡~{vÅ ÿá.˜ºçÙª=â‰2 ›p¯XG} ðRú5H@Q´®NdN®Ñ¢aæ +8,p“$nc Vߦ֩ž60m¡ŽðŽ Þ#λDiôC2*™Òö­¾¥º#å-áñ] Wr<É‹‡z·ãxù>ÐðUV™¦3øÉ»~\˜“ÛR cÔz…QG¨’›eM‡9Ôkš=›Pg:iÙ#Âc›Æ‹±]q Q§ +íNÑãœï”`ç$?íR4Ø;ˆýþà¸.ecä]¾q€yòÁ9‰zOúÌo‘q0Êfr]`öÞÍ8Ôlš¤|ÿ°Ñ±£¡†íç9éU5n½Ð§½Å#uøZa#^7‰ öø»é`PWôâèLk#Ê}ö` „ï4 ­L°ÝÍuÄ?ô^X ñÏÏÍ^STëO­_eÅ\SÝ_Í¥ö¡·¨´ßRQ —Þ4W°võ¢‰Q¹?¿M홈†:Ö®Íy)¸“ã‡ÎbîÝX r.ÌîOàN°«û9™ºwí$Ë5I÷=5f¹"P–Ü>Ò—]M>sBS*Nçèl,åFóЂ†5.^¹Ã-Ï _ rçö§‹ ¬ ô$Œwï¯5ž \¢9eœ@²qòéëÞ>ß[ü ¡®€I9@Cë±jducÕ(c›:ÚÏ°ýŒ¯úÉtÝÜ£‚µOŸv=–ÆNeñ:…¬šF)£W+þQ53 $[üí\áÂ!™ðÌÓÙ~½òh› ‰sç¤k÷ìÍ8|¤5L¶(µcPrU¥…ÁN!&ëÜuƒªi­¡n“ö`íŽ"G4ëø6Þ9>Ÿ~š¤Z9êã¬nwÙ+2â·[¨éRâ:Äo*zo¬A=Ò[žØþV>¸ ’ƈÅjtg\Yk›z;¨%ÛO{Jzšüï4ÏìŒ0*cÐðe ÖöÑrŠlk·SΚ?Ð}ú¹™‰Ÿ“?|ÛU”÷÷¿÷ÕÁÕ’"$lÛ*Ï¥ ›@Üê¾0.•›öïòiMîà¿‹r±"ߎÀ«†—Úlýâr1¼ˆÔXÝ`k¢0é~äÀ~þ@7èé+õ{ÁÄ ^G,K™I<Ùv.™ãZýê«Ÿ¹»Z¨~×C¦'ŸÙB <~·…ô nÐÜo±z×û±¡RâÔæw,î¢?Z}.Êk3ë„Ô³Äé+UÅ3Ú¨yЕXBl7 >õ" ¯0X;•J'no4 °G õBë¯y8V§39çs8+aà‚Ž¢WÀq‰ùÀq¿¹Ð;ê\\r~3›Ï.m¥©FÕBvx +ø.ËX#sZ‘¦¼¸£„í¥T~¬ËV‹p®C²Ë"iÊb>q‚ê-¨ýlÞÚNš F£Wk] aŸ·Q‰Ov€»‚ÇÂxNS)ÎHgá_=ZÚX³<¤¶Òë ’Ó³12 ÇǘOïͤGÔ¢Pž›Ñ1AЛ;•xÓDEü!`>úí\jÚ™£1×Â׶¸¯’r0£”ns©¢ZÝ9f*'ýpïþEŽ¯Ư«­ð­å$1›qí+D¡%6ãKÚ +©I/-†%Ž¿´ì4ŒyiÔàÀ1ÇŸyðWé¢BÇ ”¬Âé¶Q(o«®•o+ƒÖaÚêÿ@…èî–p5Aöj³‘>Ï!„eéò¤ë.Ò§ÝTŸ£Fh^S“9éþ¤ñ1„Ç•›¶±®·±ä@ƒ>Aè–ÍwÇ'jç/Gã縻8Á‘–¢à[óŽ×/Ç g·+`µjã‰êú-¨ÙŸÓñ¨ó»Q u¢ôS†—˜sB7Ná&‘6l<µãŸ¼Kû=Ûˆœí±~¯]i¢Ãû¹Ó ï]Z1õ­3ïøŒ¤ˆ3ãôQ€¸àή•(ê¼IPH ¬0­A¢g”Pº.Í(…!(±>jDfÐ}uâ1É&paĎ§÷wöx"[®î8¬¤Ä(ie våæzèäf®èÇK4Ixê}*ë 7Úµh¬I«º¤·MÒMŸhmäî!ÎlpòzéèEK™¬òãµÌrÚCù›‡.XåÓPwd\ œ[ÎNß•£ÂŸ©šv €)™:k¾r;­‹¯" ½«Þ‚â8V‰™º4™ÊÏË/_°?øú„Ñؤ€ïà4rà#1¿¥‡ºBm–ŽØ1ÌõZ§†÷•g>gì/C?¨ªüZéZt¿ÓZ‘9g2°¯Í¶+š•Çîí}'ÛoJ6Ì>%*-ÓÝéÂþVLEÏé‡]60Á´ð%ݬ’aMüoÓ+_‹ðæuJuVë­ŠWébg‘_üIÈ@¿RAÏݸÌ用Ž¤Ô¸ñjð…Ä zÓç,‘ß´Wôï´êÍÓℼƒÁ€ CºdO2X¶9ÚÌÞ1nÈz\xðÕœ»Žç¼ØÚãËãÀ\ÃZ䆻 â„Wrº9͸ƒ(ˆ™ÄÁdPJLG·†YÌI,,׈_󪌸na¤>¬J9_S¾u¬VÚ ®+_†Ø. +œ«?*88“æ722¡;®£3Æ-¾íÙ]Ú<©žýÓ¢ðn3ýMš³~Nù§íè²ûDkó9ª °!ñ”[<4á$L)mÔ½½†aW9 ;ž]b°`Ù±÷«fÓþ¡œÓ-V¼LïÌpÀ¯«ÿ4¦ÉÃÉýžtß [ÌkÖ„‡òúªÍÞYæ;ÓÉ]‘ +Rƒñ·ó0Æ÷hV~K¡ ­¿-Ñbir/ÂSîöêºzB@Óày§¯*EN›k¬š&yg#n·¦áë…ΕÔëÛ‹·¼ ̆‘›•:Lð?^²Ë.¢¼ÙýE§E'¤2.9—Û÷­}Q0p§Ì£%o5 c>íÉ%l;±ô¶—¡— qf6úÆá›{xåoFgtµ…Žèô.|P°O¦‘Km¬ŸhVgJêê»Uý/ÑâG#q†Ö–=’Ü#µ8$foxª0è*ˤB÷Î\¥œ«‚°7'kÎÿ#çÜ”‚i¿tJdö†„³!v ·Ÿúëš;Œg›È™áQ]3`ßúðñePðù\j4Ͳq“½«É׺‚#Dò»SÜ“…È@©nÌEÓ2Ó‹Ä&Ò—%B¡yIbsT±þAëlïwB•†åÅsœ%¯œk¼SÞñº@èbÞmA/¢Å%ÍÚ@ %xíõ+ä‘:WQ"~vוsŽ·»$œØ3ÔÝŬ×Hè÷‡š•o%O ›Û%Õ"ßѤýŽP)ßu$Õ~ቋÀ#iâ,4­- Nš;Ï,'%Ï­áíéjýÂøâoBöt­fûè;¤Æ𲟸$¿Ü{Æ&ÂlXl6ûòѲa »†€ æ¦zÂs9î·‹ÃÞÅXü?\`»ÚáBl3’À _è‰]ÉØÀ!QŒ, S,¶n8¨uÛ¸’üMÌ÷†Ò…B³;ÒR¿ /ÂvŽPbVFp•yJ^E=f(aÑW&^ +“ íÚÞÞ¾šÀ0ßÀÌ“X‘ÊH‰ëã2CßÌšnÃxÑç¿÷R·l"*¸¶òL»¾”@œ†vŸ8‡zH&8f +¹ñVúsÛ82ìT¦:$ÿÁÊ}„8S-ôlý8 +æ,V^áêöVãó6TOc}݃¤ÎùÄ?ÿÔu…'4 "x|£ÜœJ†á“[èEØ?5¬ñ´W>ëe¿¯lÉ¢ýK-„¾Qšdf|@šq†{&³dAœÁ™fÌG¯î%ð1îBðOJBpGLÀ™„p* N&n¥Wµ +\í¢Á½Ñœ®/›â’HûE=TLÑR…>G îpàŒ>»hŪ´=¥Ñjª‹GK9¬êÇݘËþ0ˆ8†^-BºÕÇ ùë«­§ðSïØKRdŒh‹£a=p-ÉÊh~£’›&¿÷DnÏÎÈqe‘Mëîô†Í­]Zý N$Å m;‡KM¬+QŒÒh!nè‹EêœÉ¶åä³£@ºaå‡cɯø±¥&÷ybR¦|ÞÄQùŸKÓ^aÉЈ§°3ir¯ES/&Ÿ©8T·­ó¨WýDÈgÔˆÎþþni^Ñxz+^ŠÁ‘y™àx#Q«îä0ý|Ѻ„ùË[Ø%$<¯¾ô£ðÄë28’`ß1ÒiMÒ ißN¢o=U$w2t î²Z¤Ïµ¢Ä§.ªl¡ú0ƸV›Î*.tûT«ý˜jVv ÅÆgiÇ:öØ~‚UÈkë°±ðÌÿø%ÊеT±ªãº ai¢^ÿÍA’ c¨O›ˆ=–T´– ´ +L´hcª†ñC4ÞDÆRk=’ +s~?5¿­Ïyà0}õ[Æû#]Ʊ†úEŸÕžì¨*o›ãò®³B—7ÝäãR›Å£þt«ýÎ6üMrüÍ5½tÆq[–' A–È<Ø»Ò~ül”yy@É*‘œx m1k¡j8ÖÇCó`“ß…Æ*K»wþ1{SMKìÿSF‰ÛÆ#1p= ÛŸŠ²ø5[2TSáï½U BôÌ×¥ÈV¥Ik®Š@o’Hk "ù¡8åã¼åÊ’Eš8õ +Lò^4w´SÇeµdòƒ):RùYŒÐ+³ïø¦:Æ hDYOiÍëþæüóqEoŒX…`¢¼B g†wºÄtŸ²¥bl(- +endstream endobj 496 0 obj<> endobj 497 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 498 0 obj<>stream +£Ú¶Ìå»çî^ðQêâq•:ÓO4EúRR†Fû½iÎäÝ;ȹ—©i—¶ŠH _°æ”ŽñÞÔó‡PÍæ@ÄçKS–üG©¥™!Ð+Vcæ§J”rj ÙÙl¥Á›ó {’ðQÄË…Å,ÈóïÂs‡Í_Ÿ¨Ûz¥¤Þ™áò&i^ßå£|•ß¬0óePÛŠbÚVõ´YA·eì” +¯•¬5O’îvt›Ú>ÅooÉ#ñúDQ©Øñë¯B0¶0Y•t¡W\e²f¢è…IoPO͉šµ'}ŸÚ ÂÌ2˜\°© +<Û|þä9²Ý$`u–¦&Tô •qÓ¯[èyÄ9=¡Ês#öÜäK´*KÃ@,ÕíÎý½ú4wø¼½„Ü^[>èÁ Ma.èŠpž6pû¬ÿ챓~ᛣ@0Œ@ÎA!ºÏEóUŸœƒ“NS`ò(¯õ2¸qå1Dð¡/º ñ+áSC.ó=çõÉÂ¥t1?9b5ŠÐæÀ§¾b·.ëO‡è¨8Þi³ ýúÕgÅ_æÇJŸ0íÖ`<‚Î'C„EÞÆ­¼DàZð…Õ4˜×Š)¢à!ÏW—ƒ8Ù)aqXŠD$oÀv +ö$È‚£aŸ¡ùùánsðJF©ÔºoZ¯Ø7Îà ÿcK´v &5áa&3ÜGÏW“*’LºÃ%aã#ÀDßy«üA„F8ÚCš¤åšÉà[Tîaf5 O_¯[ĶN™{aät{´/Ð ÷{êtŠVdzœÓ?Ø©(Z6®¾›/Ùªqº§Uw\§5bž…DX u`˜XocLÎl[7ô%¡¿€×z“½P“C§o(O^"5Ê°Þ¿…nvbXGS +ÓÅGuèV¤¼„å~Æj8´›Œ•üÇäüV»ˆµ`é]шö¤ð”y|o±lv cÈB̯â{å-ªv¡„2òR—^&­–N:jÚð"ñBþ\UG.ky¢ÿ’ºëãXåRyå²…üÛΔEkû1÷÷f¸XsðAÂv ³‹Æµ¦¤bí k›ªUiíêì7Ô¬\õÍ…¹R+ nŠœÈ e~q«ÇXÖß²®ªËAÞß3¿ÙõH %/›€¾ÇOªî£“ò*èú8x¢cìŠÿSouózQ0X£H©:û-ÆÍ”~MõB2ÿØ!—¨L-Y‡NòÐó©}÷šÓWγ£¯«ÆðãôüÚù®ãþ©ÌYÞu3Sÿr„™‡Úf µ§‰_8QlÊèüeÿdzƒ&,ÏZõ­[t’ƒ#öJ¾-C?£ßv™tsEÎ +œ”Ÿ—á1ÇÅÑÝ™ñ½ïCà)âÀ.Ú ¾br/ÊKéQ-ê}Äæí¼“#OçNÁw…ȇ½r²¯RË#-öèt~§ù4~(ˆ…]‡îß)#¢d]n2zÆù©‰’áp7ª–;"†P8($œ;7}5{B†¡—Ym9î}&àu…|ÃIÀC<ÕǸ÷èÉWBùË *.(tJ˜¸úÁ ¨oPƒ¹ŽB8Žwwy”[¢~ò²`ÖJž~·jSs;b¿8„k4Ç¿™à>/w8–ö!iG•\!ß«+ÜFC|ŸC¶¼zò2;y¹Sc„ÂŽ 8žðDôË'¯ûKêS©,%–Û¹î*ìI4hä£Ôþ6P41d×ÊÝ(.Yá‰*43ùBI°%x-—oTI·= ùQ˜,ª&Ó}±¥â¡VÆ_×ëT)¬ÎUæ¯1@ƒñبB“¢çö”(¿ëö…ÕÌ͆Ñ!ÂÛ^º_:ùÈ¿}ú|m±!yi±‡ £ +vu,œ.8tîќƒÊ\õ©Tw1 z£ßÈÊú›kÑ +­oªFÍ(# +äÇb~e’›LáBɹçÚM§ ¶Òæ~“0Ö’@t¥÷@În5‰IÑ ï&3óîž·ÚÎÆ"õ[äj_Œ¾â’RÝÙÒÓ“‡Á¹Xœµ Ç'?•Ú#æ¸j)9 *§ -јù7·6y…A.-ÜÑòi„b‰#¸g϶ŽÕCûæ)Ô•é&¬¬NÐb“¢’ùòñIûÇÜŒ¿ƒZ<úùoÛ1ñ$J pÁ´ó6®7oG“Í50~Y’{ ŒŒ•¬N¦ Q~žYÉÎÑ°'Õö¾LàKÕøШљƓ^qüÖä‰0¥ÜúðÕ²×[1zçó¿÷ +û÷J­Ñ͆ƒU0&q9 +¯aûÆÝ òTîR$÷¸©©“"rSÈ15¬=ùÚݹä_ÏñÿoðV Š{DŒþ™û|óŒpã;˜Á°Ó ×U#ù襻MjNN¹¹ÉÓ¡ºèî&³Æ'¿ŠE–Ö¦×4þ~Ä a©&!H¹ç´{Ý7À0V¨lJCü–*™WoT®ª*NâwÜÙ{jG÷³@F†8 ] Î(ÞÒ —Uì Œ2oØymM]³óéí¹53nÌUÞ¤ìŽG<²,ˆÒZŒÁ’³¢Iii­hŒ<äTMñÓ¹`>튣kêf¦6{tÖ¨}xõO[Ï(Ýöåv˜5·¥ÆÌ+xªx€œ$!d¼ ÞÏfZ“Ÿgq|MÎF€ê÷]Ò¨êLùÉÍ÷ú@0x²yͶ¯Õz¨†Ñ~\®( šy´ÞUƒ8Z2 4PÚ\-¾„/tÓî—ðIRñÈß0X-©Ÿ^,^¼#ÌÉ,ètEÜPÉbúصäótÛHLŠÑÎûˆb±­e…VæÎ^ƒô®À†oÖuxÇ2mÿç‰-Ò±‹¬Ÿ¿¡ SÇI©í3‘ïnâ¢sª®J–%ƒè‰ˆ¿YF¹’Î-ÉÊ(~«õ³a65Zx‘«hÆ.”,±|íÅíõ/PXñV†$ÿußR&®x¢–ß ¬N¬Ÿ¿v‡ B‘ÁÔ/j?Cåœß²&µEÊõåzЬVÒAækú­–7Ép=b"Ö‚ò…ÿ¥®øÐ@ùÔœ:ÈÔfþI“´ó¡·1ίýµ¸ÊU­ +ti +·K¬êÍ,¢b°šoYÐG ³†«¡·`Í$äMEÈ(‰†žšKÁvÎW+0ÑÈWRŵÌôäw‡“Ô†òݬù¨ö—m×òöà?AÑ:“»Íkr‚”“-*£tÏÄÆ@;‡_ƒ€€w¨Q¹aˆ1tJix4ÿÝopË–—@/€Y`ŒnYJÛÝñ5‘ç6¸6AûNÅ–ÞòSÒ ™h©ðýºkÔa3’×@HË]KÌ?!Dž'àWr`¥#Ñe’'o`{w]_<ÓøÊÆGº@¢ñ›¯ýÛ<JÇ…)¼™2!dï1× +¿6Ј|äX÷m. ñu¸K„ÌfŒºyˆ¿èˆËDÌϨ]uÏVŽ©þl˜+Ú„Œ³aÀžA]AVS…«Ð37£Bs±z“\,ÔI²ܨ>|:¢Ð#·q¾íJ˜¢0GžÀ){ñ£­. Ç÷Α«{–Z¿w¢â >h ê„^º´çf`.0ƒ4qn ­”üùÄÆÄ»íiÉ "Ù°èŽO–y›8k¿x)ø¸xmÊÁã KÄL]÷ 8w[\ú'?M%š¯˜M92ç8šÆºP,h_9|Ùõ€žTÇ0…¹ÆãÂaí½Ú8‰toßÇ[ýzÏ ,z9™øÁªÂÄû¢²U8I¶Ûp|‚d´è>Ý!*kÁéï×l-hú(©©ž>¦Ñ“YïõãYˆ¸kä)M³¹&_gÿÜÜ'QÆBÚMf3³Á™{ø&d' ;2×7Ûg3ÆŸ›³ê%t!íQ3|ÿQºt°RäiÚ.Âl˜|…ÔQ –X,tëäÓ¥UàK„Ú’4ì#^âO1#Zª#²œRmèþþ0›}•ó”½ÿãN`M¸çÇŒ& qVNÄqÉãK¿EÞÙ jSɹI;÷c´†])T§œª(–Íb 9Ó+Ê“øã?Ö(èqæÊcÄÞ€ ¯RÐüÊwÚj@an’í<=½òCi}f ¬¡È‚g:™½¸‰zD­Ü ºqUígÛC{Çé¨Ã+j@?_CÃ=èÕÔ ÁÛ4_IÊXÖ!?éE]¿}êÄè›5Gp—ÅÀ28ÿ7þ's5¬µËÎY>R|\.R“dS¾ì+Ý'´€`Ð [WŒ:è$¶€’Õ®ØLº–ànª;©2Ò?a\N)ô}JÕÄŽxéÚ±ÝT_gZ3HÔ{.£4 rÄ‘ßç\Uyñ‘ÁC— •æ_ífò†®éœ@˜y=DçµY&…DsO¡vºU?ïêÿ\gCÜûH«ûf¾à†Xê“ÂφâX¯û:èIï+ƒçÄ¥N7ØX% ¿šŽ}9yMÚ êä ØÎÐHó~ñð ÃÓn—_Ÿcu6'„ã ^´azL›¡°k+èØžøÚ)€¶cšS!ßÝZ]!´v¥I4ÜK`UÃà›ûN+uòRßf­–ãšX8‚ª*©V þtj`ÿWJ?·qO' âÎOP¼gÍ=Êdìíf1ºÙ̘¢ZÕ§ÔgWÓÊô/_6aÖƒb•À< +‹j(tp‹^§¸Çpg]¼ÈEü8%qR”¦mË*5¨Ëýýj"5 C+yŽ”Óp~ê+ý7®ÔŦ98PœÓš¢5m”üÜÔoV8·X ¥>´H&àa[‰".Aš}ŸKÚ'éìÂÙvvi·}ôÆ MÒ-Û’.àAá@uÍͤIÀp Á^FŸ…¦T5Ð š"JÂ5Xrú,÷tªÆ[si¨²·K^)EøXÑ1‚»YŽ{Þ¡™¦þWÚ¶Öç~t}3y¡ &Ï–·fÇ—SÐ! «ˆ!ûâÿQ¢ð$kLÝæh‰—rh¾V•OßÑ +endstream endobj 499 0 obj<> endobj 500 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 501 0 obj<>stream +Õl±Ú™ÍY¯™Ï} "iá™â^]f¦×7Ì¥.BqØ ÍÚ§Í÷ƹx³Ææ…,GE2tÑÈÉvXF7Iº¥lÛ-=:È´‰³çÂoLŠ³»Fw²ÝböÓÊ‹C_öžGÂ!ÀÀ1¡Ôá¦Õ¹*r¬@ý +Ήj³(ѨÚФz”2åZB§+ãG~MÌFôXhÜ @ 8#LuZ#â¼úzúÈÿþ»'ÄË­U-¢x¨w’wŠŸM%,å¿?ËM~+»·¦ëÔ‘¬vo!…XIûlÊðÜ™‹l©‡ ¥#þC²25ìy0¹ç¦>O»ƒí7´õbµÁšB¼¤Ó†ˆ+ÇøÔò…Ä”ÅÚ‡5SGÑ%­ò\xØ"¹(ÂK溾=Þǽ=~¿<ø›Ü¢»V·dï×JÚ÷ªæ¨ÊG2‚ÜG}ÑB€5^TDôk8’l Ya¯¹{˽lÕÍc +ÚóÇî €2»ýWÒiðÁzSô)½í$òÁalB N4· ¯KÓß=¦ªtß;…›Æܱ–ã¡Èõæ*¿1[ZÕÅfÞÙÒEóè»›}‡¿OkݼORtñZÁãñöž%"p¼1 ÙßÓ–YÈÇx{˜UöÌÛ¶„{,©à”¾îfí‘tNÏtºk°ìý«¦+”-'ÏÍÕÊéÑ.ã‘È´~v¤R=mnVöõ–Îéã΀E7T,Ê£¶ë7Ê{¯POþÎ1,qÿ!·4;͈΃}üçÁY:¥ñs¨`!G±}ArÅOÜ0¼*ÚÆi“ᜠ+¸c¡eÛˆ ›’e#A©²¡&“%qGÚ¶·!sü|:ê÷z!Y¢Íž…Û4ڶ¶hÖÒcIOÌê·g51zp¬yâD»ký$’Az +ÕV¡¼vÏ€(4òkºfìNpUn¦aƒ¬’„°éÞÒ™X‡áµÌºÉÇHáD© ×Ô¯m‡i§BÕÔh¼+®‰–· ö¦éÓ…Ô6íòôpÖÐAÓÂßy‚ <{&𿯸éÏKW&Õ‹fB?4Ý©†‘Ü4÷eoã!pN8øZXl93ZÜ‚8êl› +Û ë>Í%ýüä‚E]1¯Î|C“¯ƒÒK + 9Õí„î kZ3 W“Ú¨NV:Z›8¼Üï$¸ó§*_ì f“‰¼®Îþ©æ —®AªÞþ{óAüíDÞkŽßP…M·ö0†ñ-¥ˆà ñºŠ‘yò®B›õGH.×¥*(ê~©ƒ[´6±‰²Mv…'Hv¶0¨OBQÙ ÂçgnvÊä‰uLÚ´f°ªð1Ð3I¿ ÔågÍbÔ1\NŠª˜®ûsÛ~DW¸QÛ}³àËs9hn‘EÚ« Pc§„,ËÕ§‘Í3î*˸Šc„åÏôåÍÞÁ=ÅL1.G~›(&b„:îÂû%U$Õ¡k{ibP†gI•ú˜NúÑ«ÉÉ$ƒl™*6µ!L(n¾"ú ä”ö#¤µ¶L;4Q› +ƒ åì[¨ôêqLvv…ŠÎ›5s±³î<¬äq¥kE¿k÷(w鞘IlÄŸpVCQ½¿7ÃÒÄÔ)…ã?´\¬!+¹ZÓãÖÅÖæ—ù‹ÁÎÛÁ-žÎ†¾ƒùAѾ©Zé8»®匡‚1ôÓ ¿¢©ï¬ä{Q¡.Õ@Gý¶5oµ)dç²èèÑ'àÁÚë»2}:ˆ}=c{Ìò,GM1GX]?T¨gfÃó2HÅ‚Sæmu´3§·žcÁá÷ò 1(ܽ˜UVâë®Ìá5ë1êh­A7wOm8ÁŽíB Kk&ÙKŠ o%H±GÄë6èé]ññ°y>C:ŽÅ+gJ¤pt’±)¦&êU8”õ~²sæ ‰am³\0¤ÇSrúgîUi©ÞÃY™çz;㓲Ä=PÔS¶ôüv×Í]Hœ—¶Eî!bXêàøE8<~ÄùVïîÅÙ¸¾ùT{µu¦I +Ö²Œ°52ÇW’åÚêû×…»Å¨ÒJ–v “ÄÈ{JWõÎ9ü³B^}ƒÚv™<çjδúÀ¾Ú®fÄV.ÜUâ›d„OXÊ +eG éäÁá'ï4TœIùæF‚,[†Òüp¢­köî­ã#ÊZ+I(€¡ÁG[)ÛNÅÄ$Âá¢[€»)².2d%£wK£¡å^‰Æi”6ÿAEe·šFnÃÖŠûƒÄ5ý´ÇAìOX!­2[ü2Áàãn‡A¡:ez‚¨‚ˆs¯´N'†Üî'ÙÑ5Ñ$~òs5œÖìè×Ìé܊Ƹ °æ<0»jë}³/°>:uyJp 6Œ5픘2QÈ®(l¦ò(õ—¡!«dÞÝù‚ ×›³*vµs!wy‚vr²¾kKÃ¥ÞÒ²\ü®ÓãËÆ9aÍž—ò®®+›·ó¦*‘ÝË|¶r’«P%qjRØa„2ïé,~›Îï%l}£èx—…ÛnõãÚ¾`AI\ÒAäµ1l#nÎ œ=’–‹6ö“.kÝÜ6,E7 éŒ‘-l‚…qxÓ“š Öq³ÓfYÙóØæŒ.DHî†á"‚Z]þ¢p Í‚&æ®°›'u‹¨{Þï…ŸN7¬ˆÙBÄ—Ó‰WÿSYº‘*ø‹weQ5çÑÙ¸øÕWóR¨lòþU€Üð!J“9ÒQèý|Jɵ¯|—ô<£$Æ©T üìÜ ÊNÍ,¾û’Y§…°aÊk̲†í@Ùé)K¡…@õ]öF¦lBÌ1&Š”›þøüäÝ‚¿%ãÁ hç2‚ep#ÜHCéÓÞ¯ÐåZëÅJ«¶ŸL;laå +£^] ÄZ±eßVœÜújûFäZär—«€ä•ÕØ7EsiƼ^ªöˆ1kf°C{Kë©4_§¨‘•-Y(ìb ëó`âtýW—5¤Ö_ú·Î{¿q“ÝtQ{¦£ß¼@}zýx}"]Þ½fë=mü¬–K»} Mªä¿újrPJ¾Ìdg: •M!§õɬëMÌýÎà=SÌ1Ö᎙c¤§ z‚”…Í`J\p_LÛܺb©+šýÊó"Rcs²±M`ÉÓ<å&ÅçSWj¦ÞùãÂíZóiq +¿SœžádmZéÚçËåñ˜ô¤™if¢ 8DIÅÝ¢OC_Èúß&ŽÚ,ÕQ÷ Ïe^ÿ~íµŒ=’„œ*@µ +>ÔZ^Õƒój4h'"ä…X<¼õM +ÝòYÀ˜144´ñkµ+kå /Â*Ýã ©=]¨X_Õ0a\Ò§¡¬ 6þÙ9Ï^Xr@]ÌàŸGy9¡ú¹œÑ‘b.—ÁþëŠÛS¾•µé;!Mà˜X@Åã7XC¹èߺŸÖ‡œY$þ x1Š[74¤XO³Í ‹ô„\¹¿½MBN.*ô°ÁÞþ3T[FzWº[#l{cæ5 +òYÒ|Ç ^CvòèÁÄQ Çë+ðív‚¾@ðmi5oIÞWzL 3†$}ƒ/µãßÐù½vÄPd’Zxu¥à¾t& Š£2È­Àœ Çµ<(moÿAΡdy¦}ïÍCJãM( [þ~IS†?e±Ái&àâwšÛï w•âµžËÙ9ã‰îbyÃ?q4E–7 %´c~È@`µ«sKÏ„]ï3•0ÖÆÊèuÉ°ïª[Øü9QÄ®Eˆ¼Â•ÊÜ$,ÄívY$Q᧢ÂèÈ“èæ·Þ6Ê Ü+³>&p½>²‡µ¹¦—ئNਟŒ >iõñTÞÈuB·0váis¯åu„·RÂôoéO¯æ”L}È ù\=!!5‘ý÷Ò°ú²Ýòr£Œ,ëYÒg¸“/èµ)? Ý=L1FÁ9Æäh\M_‡Ñ"z}¶x)¹ N[C(“ÔŸ{Tl~Juºj‰ûj¸mù%~ÞüÝsŠ ~š­ù%:/>ÝܯkR=f³Š¿†”v)Ä8_ɯ÷‰“ÿCÞê’¬G§ËŸ +ÞÒ]ó¬J*zâ‘3­ñ1õÈ»P ¾;YøÈ7Pq@öF(è\$CRý«Ÿröxù‘]r›¾Â?}‹áY³Ñ6¡_¿||F­ÊSÌUáz¸ §2ÔYb3Vå¤Ü(g)cæ#4Qñ¦0ÿ0ÖP wu=È6töhŽŽó Çn~!Så{7’"žÝ”9ã¦oM§±#‹‰bÉž‘äàjŠ˜ D¥\Ó•vo?=÷vÀÚü¢]¯kd|΃¯*3æ¤0-wQàë"¾Ùïßjå ˜¼Öq<¾¶/·Aê»Ëj° åð9«4V€Tõ)€Pɉ¾ÂŠ y9/EPp¢ÿ»êX¤“aCÝ™Ðü¶åò™³ÓìÃG.)ñ)#¼\ØXoìß®q Pö&›6=2»±”&÷*§‹ìOéŒýàÀ)/õqL`a'å¾-øÜI4ÿ\èîzOZ%lS‘ÓÞÏ‚×À›>2nM'£5Ãe +òåÅ +Ž2)2Žõ†Ïï"fÒ#ò 3šƒNG—‘D “ŠY5õ£a—‘az3 v;AŠÆ€,àý)Ý ­ñKàÂÀ1åÊÖYb]ž×i̱Áúðõž}ã‚Ÿ ‰ó¹»ÃÌÔ—ŠWm¼‚›ÍX=¼J"@‰ ¸•2º²hÿoØòâüÛì&>LU{Ç/Ž8œÔ¤]òß\–§EcéB,~S ùá¹³†ÓxÅú”Mœæ0L’Ò“DRL¦p+eóe¬S¿ôh²×TAW|Èj-⤥­~‚øùiày²ÆžÞªª‰¢O´8æåtÒaö +endstream endobj 502 0 obj<> endobj 503 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 504 0 obj<>stream +5ˆÑ¯JrmºƒO7mî(N<¹ï¾'§i„ðý +Ü3LŒf4¾Ñvé_"9±%N|cÕÞKê_”Fo‡¾‰YQ¬"Ãa +ZgF&W\¬+Ù 0÷ÌýšÅêgIžÓ ’ˆ 3”hz/±ùGÀÑÙb Z쌃ùÏc­gµz˜Â×5$ëòü ,Íó«îÉ¡÷+LïŠmá-—‰l —»®¯È“ˆœ8{öÂjœ½wìÒSçõ›…kâÀìÓd½\뼉¦;Ô7[5É›‡í±o—ò>ÒW÷9zsœ`[)h}@øÆù ”VÜK2Rjï6‘;ûøåð™'pek§ÐŒ3LŸF‚Jɯc ûµ >vE9û%WùžE›B<æþq×Lñ™àW3¨BE¿ÔîáŸ0¡$;f©äà[µIŠ aZs¨9òJJ}Œ îNcrFÕ¹»™Ô®òt0 «x·. p D3ôðØFG}“üú' ‚ÜE¤VÐÜ:¡+\¢}‚¹¥/@¹T¶Ì$_? …Kµe;Ìè•[bwÏZâ<«ŽpAÃ"ÝŽ»ý˜©ùŠÏz5> •Úíý Øã•8L@¼ˆ=gp^ÑTGQ,b,py!RϘÕ>0¬ ù—<Û½lÑ~ìBkTs¥ô/7¶¾Öé6†aç0öÔytýÚMô÷pŸ©»C/¨ÉúWù7ĸ}ÿPB$×9ãA`­°¢€<8¸Ä‹›®Å¿ÊSWf»™˜¿&툺èÌÒ÷‹ÕØ6X´Ë»eŽké7Æ~ÌeTø‡Š)ÊÀíøL"·gv4ç5ÃÀ>Xj ³^~·‘úÅFv#4KûåÈâ¹ã å4㘳ùhW„昹սŸgÑÃõÌÅàÁîÅã"«?"rsÓ42 VF^2•œóèyûÊòß @6C#ú.$I-9Ò]3/¤ç÷Ë£©©.Ù%Çq¢ˆ‘~¥l¬¿ +Õò&f8"³ÇŠ—ä)¡ƒ§6À èÎ<gtViVj Ì´‘²Ü7\©ã–¯:ÇÉ K¨„œŠÝ×%l!sè± ŠR> ĘMxN Î%ášQ˜ñ +´ÚD¯®‘É< ä$BŠ“½iŸÚ”×°eÏ,*ŠUÿŠ6LK†é¹³»É°Ø±3¼#CÉ¢7*øøn‘i’°o sÞÙL‚ÈgÎJãTTÇýÇÿO¼Ù­÷Š«V7¨:IãÔû®úúJnsJÓá o}[‰˜ÊÑî¹ë=fbàîiÇÅËÇì›`ê”ùHdô; D¤ +­%NY—äÍÕ]üw’C"!/á»^¶TuÔÔ”»gUºNœµfop·âäfä)Ê­VÔûý “',è¬ù£e¾ÇNòŸX9ª›þåN3`ãûSàœúÉT´k–”n|M¬n±ã€„lܬnÔrr«Ó©ã&?B}†¢6̵û¡dŸÄÑN59ÿÆÿä¿b/2•¡o¹š±•‡25,±²‡1£ÒfüÅí›a-kž{Ï•LèùK÷ÝSZM÷ãó2ø%;tõP[¿ØYçâ‹4¸—2ªÔ穪™ÄhåàI ¡µÝÂåöÉõŸØ¹OX¿{ÞÁ +2ÎïR‚î8uF¢µ!äÿž üšQÂ'š9 ÆC’SwZÑSáY×yÙÐ5,JUÕ7á`&¥È±êÁ¤¨Dìú#ÈšgtÖúO‡*ŸEb73á¨ÌdbëÒÿkÏ­]Þ$ó$÷®‡˜:j‰º4do‘åÖóÍ…1¦0/Š)YJÃ’÷‹ +¼;ãÿÚ=›x5/Ccâϧ*~-¢ÞѨ²Ó'rør<ÄÐû=.ÿ¢‹­'wkȼ –Ç"UÌƲ¬j²3ý6±•>ÑáÿŹ溴„À¨­¢[Ü’̤²ŽòZõâ­»¨V5¤Ö¬µóߧe0À›PÿS¶NÆ> y¯Šþ2Ç»GaþÓBºªªˆ\«Ïïof«¡ñÛ—6¶­¬w3/Ry¶¢ŽybÕBCGé' ýu½xå?‰”QvbR-§l–nñ2A®üíÙ±×"R3s›¾¦—T¨§¨wAeý;ÿw ’ƒt3ÙñF¿Î>Ĩo ðgÇð½S…xE‡¤VŽ>Q—g™tóÇôoGŠâÓW)Ù½ˆ£ÐôD¨ì®^VÑ®ÅÉ +¥qµL7½hŸß2–'€#Sˆâ•Ððüy•jm¹‘õ¦C~].Sb²ik"E/éW›µ'(ðàzJ´î' o¾È9“‰y»z¥¯D`EÄZ>°Ù +üvHiZB| +!ìúb¾9¾ÿ²P¬ë²W(üBšÛH ÷…é¤:cj÷R;n­ZVæ  1ôiâ/¶ûköù(~ßeõD¬Aö!<=j:ˆ ½×-œ$håå;ѼåÞ.;=Âü®ú­¦"fîvOÚ(»»á†h‚V%Y^–ÿ]B¸Û29}@TB¹1ªZ‰•QE´ƒf¥w-w ²qx¿v†Íz  ~K‡¨ååb]Jú¢ƒ5ß(“³ÃNe]ÒŸ7bÔYMµ7û­EH°@mXÌøÄv"•‹CÖÓÇžyz×Ä\ z?ž²¢f7¤ð±)?÷fÖÜÊË° 2 1ë¬r‹Y½ Âc⟼mÙ••tßözÿ¨ +öV…´t‹½­î*êkùª)Ü ínHVSÞmœ}ßs: ‰rÜ]Áá¹-s\Vý9ÔÚsxàØj*«|å±³.JêWâÓä{jKñk§[»ðW;¦'¯ÂÞrÕˆLÿÊèü‰ÕµoþYÔ• +endstream endobj 505 0 obj<> endobj 506 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 507 0 obj<>stream +†èz[q{!]~VûÂgeå™Á)Îu…-•‡Pcº +¢9ù™ ×ïàŸÔ8ßTé“W,1 êkGÎ×ýÄ~Z z[°hm`;Ãû5 €R”M`¹ +Øa‰¼_ºÂ±´ª ^ßðÈÓŒ†ÛŽ˜Ÿ<\Ÿs “~ÖpPüÕƒFÜ1åI(ÞîLk©£ ݬ†½›¼GIýôÖ-5:þ¡èÅ:À!Ô¦éº:±÷FÈ¥8WF¸r‡–™ÝÿšŒÝi¸\‹tß=lçµY›ÁªnÏÑ`×Õ|³Ù²=Á°‘»ÿ¨gÆs¾tË®‘ò¨‚ƒôH“8´"1åã…õì”îq"—M¤~ÝCeȆ[vË"c¿/!.WˆqX‚-ŠÚÏ >{žªŒ44TÓ»¼oE‘/`Î0Gƒ`̯qÂHÙZb'ÞŒæ9 + ß­ÆòÒ½lÚŒ^M¨ôÖŽt[ ~OÕ×ѽ¤6x†~®ÏCknöi±úýq¾×`ϨzþÀ0ׯ‰?—yAp–ÏØogœD]àâéyÍÒüXV®q¤’ô±ždÅ +|!”˜ý FˆA¾WG…®ØÏ5÷ŒF`;É7’YÚMr_éŒ$ŸQè„qf“u¼Œì Ñ(äwì,^@™XžÖ{“ŒðÞCpY—rëpžì?RÕÒ‘­‰Mm oè¸*ª9áH&zPOˆ¿tÜôƒI6„›°¯P0“¿,Z€Í¡ïSsÝÐ(ðï¨w¬l‚ýoù*^[¢/ߢú͸4gxàc|º¨ö”nkNJ«í)é·ªü…{k½9Ôðâ„w6½ÊeÊ &ÿÔ³ïWñ¢ºŽËcÝß/–K^²8¬þXKöcLEaÜ +MBÙ œVOÃlvÒznôk¼Ç³ª/X§»_€q`ÞÔ?O†*Oè©Z—[zDùŠ˜¯­£kÜ)¬Pÿf½ =šUi¡x(Š\—ê%_C‚ÿ)3Æ/J +;¬èUš¼Û3è…õ¬Gž» ­#JÙÅZ‹ð†?L©¯e²¦µÂ;q™iª›#0)µ¿Õk–jȶX·Gc +ÇÅ“ð`$¿ŠÞè³D;ÕTg’øÞ­¸8›Ë­s>þv‚#Ëç½æ– ìá5À ;Ÿ6ç-ɳ +@ÎvpUî¼£§(CFÚzU`Ü"ŠØ¨ +>Ä 8´%¨Ð<ÕðØ»O´H¤ x®O-„N` +‚gl?. +80B¨oÀg0ã˜óðåŒßð3bECÛˆ&(mŠØY«Ñ¸>ù½ÎyT¼:Hªù§§xÙðœÜØ($Á|æD“œ}*´‰ªú‘¶fIÜ%©ŸÔÔs®˜œš.ܧ®Ý‘ &§ä<øÔÅá%D¬ª@ŽMäC3 'SB©ÛDÛ°ï=a~×Åð݆b×ü™vðJ±\_ê±€H—§÷¡îè¤3(–N`V»ÚŸâ®eÞÝÃ’îŸIñŽ™9Q<Åï6Àþ!›*œ‰⛃OÁÚÔLsÕP37'I¨"n¨.AoÓ[( ’ ¥QÆ ã{-¨.oÞÐ>ùæÑšç D‹q&å»wRõß¾(èûdtþ¹i’wš¡éysY²Y=I{uuÌOO‘?ÿ?잯œµÐÜ8–êø|Ãáù¾¹6;2—ÌÊ¢¾èð¸uá°mÈ2]«Âª=JUͧ´o4ØUR…Þ)"æE&Þ›Ó< #2#»uå•ý"ô£R<Ÿ­µÁVÏÄ\·Ì6#«sŸD#o˜~p«6tûa8hUmHðs¤áïˆ; Ú˜iª7R©¶»h¬`q'{ʶ‚èêæÙ“ÎMHå-š¢5Ž±ü{ô,6#Æ7Íî²léP¹}´ýZdCHØ…©©n¿Z6^¦²ýŒ޿ä¹ÛÂY¿]ÉßoÞé Ý ûò¾å8V-YdoÞe¨C÷¾P8ìbYzPñ ;eOQàŽá¤'”WöÌ +b€„åÄHA³¦#„ v3J xv’¼Ïû3ZzY—ˆKa W0 OGSÁ¢îî-ÊŸêKðZõ¶e دb¶Y̨ðúéy£þ‹Ì²äÇd6<ÂA˜tèÐõ÷ 9&Zo⺸²yÜ–Zò“é|•Ù(a­œšÓfœ¬ÔöÓ|x£«2ý¡9"FŒãw9G3ªm»0ÙÄ s;e³U/{#t~î¡ ™Òtí2@]Ìêª?0®e—òf›êŽ4ä?I(¸#R5pû®/ë•Agz]IèŸ(ú6£Þ›ðÅõk?Ëgl¶‡%hŽÀÿýÕN7°‘»- +mòk“ŠO«d ÔÉ«Å•þèCv¯¹›ÐÆÚËÈï,rÜ­uLï» ª7I >dK¡ d·KØn´Œ0ÐÅQåÉjCw|‘m€àÝRº;õs˘¶#)Ô: $gûÿ§i»ñ Îߺ°‚‘†: pi|«´XŒåɪïäNZN@tH*s¨lx™kˆW5…܉ЅÝR5æÕT(÷ú£„U8ËÏ×PÕ¬ÛR5Ç8VÉ®"g¼ #«KÁ| ›×u,¼j^f'F¢cPm¦¿lŽ ýGñbÌ»q•± ˜»¨ßLs`=Ìr¼· ÔJÛ6÷kˆp-Fßë +?àš£LÀ£©x0%Ïþo7[|­ôí¾xÇWIàAmõ™mC9c{ãcéÙ'CI_¸Ëm‰b^ <ÆØ yúŽkCãQUF°*ÐE3öˆäxÏŽÍh¢(â"’‰©8dÔ>ë×ný»î¢È +¿¢4N úÕ Á`›täU÷ XÉ.Î^ÈCE³åO>6 +çõΠöÌïä JÁWˆ~~8"Ì-­Êââ 6´œLÜHƒg¤ÀlIÝ vÆ8±¾ª /˜Æ/BÔ CIØR5NüCGl³Bs÷íž í²sTq¶c„'8Š©wÍ J+`T¸¥ëƧh-{’ÊFÄÜ|0µQ–+Ì…0®p£¡@ÿ;z }ö)-SýÕxÚ§ÞÌu‰É&K9Be;H¹ŸÂsÃƒÇ Þ Ú0ž¥è«#Cžjæ,èößJ¾óF MiˆîBLàß¼­uÄÅ1NA©ÚdŠDŒVD§<¤Hú´ÞH…Äqý‹'ãM¾e9Cz:]l•ö“@# ó}®S$eÙhý0F:ÄÀ³| ­pœªíiKsm·L|°gNÿyȑŹ‹Ž²Ü‘H‡îâÑhvƒÇ£[t!;¬" Œ~CºpPgÅVSš?`;§zS¥Èop}ú@S‰ÃöÝù‘àËïV’TyÔ¢Ÿ«Cß\Ư¹0æ³*ðÈäVÓ”J®>oöMb¦¤Í¨!Ϙ¾ÊW6hU€˜ªÿr¾}4m¸ÓÈKÚRßTuoÌ•WÜ”šUV±‰ul’ìɤd2MÑà™¶³S>ܶaPÃ;ÂǤxJœ#æf€0B4$†|¢Žxeúw„Berñú©“äæÒ„4è``ðê¶þò{Ö\=r%(ÞtxºNÇ¢°ñéáS/(5097çɧ2ƒÚ½ðÓò <Žë ÌQv’‘8n«\æí4U(3,Óð׳jt«ø—ÁYªT.è|…-CζýöÆ7k8ð¹dƒ!ñl c ÿ:©ë‚øð€l í—­óXJ4«|*Ñë’&cïöpR°7žÚ4i­Z,Þ2¾íÉ«ß¿áÝâOá(EWÙal·¾Ñ'æ%ôºC°^…‰Õ§ˆÈÇÛÙÞ½ MØó0ÊŒ­Q:Gg…ûw aúµŒ†’©O ð™¾å½ã…âo”á 5ˆ¦qáÀ¸ê„}xû…–=yÁ\Ý‚¼Ó)(ÿ +ìç’ÅI‰¾ÿïö{‚&ž@Â@C8»Æ>Æ®Ê>=ÿÖ³5+zñ‰š; (ž`]ž ¾ ðühÞƒùíûªº¿3#óÝoȆ™þ)-ïaGvÓÉûQÀïsvÑ·´0Cn$˜›DŒ²°]â1›·—¥0³Q齑õ(=Ñj5*°=´x€K|ïbQð)Õ,S÷ËÌ›´ÎÀ,ºk•†–ù &ëÕ‡q;—OÁë –>kÖ JCý´ ž¾Ü³¶• >øVÊ$V·(f=`Ê6 ü”šQÃáÊ ‚o§.Ä_1.±˜0Ç=fŒW  +2Ia̯°œcP¢Ø Ä¿¾£¡BliPªk€8ÁâLz䱿Ý,œøCI„ÄÐëhë_!g5žÐð€èæL½?‡¦áíá¯1Ù†±Çm½}ÌUÆYý’H +žà°ÂnÚ6pד¡ßA©ѵ7ÆZù×>ý²EoÔFzêŠø7cTÇÆ‚Y{T'× +EµÇ:‡Ø%,WÚCäA°|úØ“½\ÇìžGä,smæFÄ ‰dêú¦u½ ªÃ +a@ЮnŠßÞp¾F.ŠÛA'Qѹ̱_ôýK4¸E„æL(,ôv/.‰`…ø!‚ø§ìo€o“•2 Ó(€HTç0qÿŠϪǢ\´*ÞKç„P1è³­F7=5KGéšv³8›Üd2ŠLãÁ×ç‹âhuñ´“èÍt[ˆÿ +endstream endobj 508 0 obj<> endobj 509 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 510 0 obj<>stream +¡{ ìŽnŠÖû†ÔƒÜÖAÕ˜}©œ‹ªÁû€mmPUus!&°QAØ’`%­²¹þ>€”XT•A¼R F*„áaã­K¡§$µÆ ÊOÕ`ø sCû!À^BÛBóš%UÓ&)zw4± ìV)À"Úð‘Ä¡ÄìD}9}îÃi?!mßî‰'ÐqŒõâ$]ô‡„ENøæ¦Pc]f¤û=Ë-0P%0K3Tï5m»*‚‹ 4RnD„!ër_¢…µ¸xjÈŒ!Íà;B´Fh~ì¹bOsR©ìJðóÃEºÅü3¾G1†µä–F­I@ÝØ}_8{Zs:®EÒ ¸w7_ûbzèÝU¸å3~*¢À–‘ŠÅá»™„ ÁŒ+%xŸËIŒµ(²0¬CÛey÷ìgßnŠ¶Å¤¶åøQí(BCãsš"!Ô˜ÒŒþ_•‘ \¡)ð6u T†y¡ünߣi(’0Õù« +÷Ú%k½Îa®Â¼$. + +„Œïû['ÁÓ·ãÁfé,ß "jºfYß +…¡ßê“Þ   ßzÄ…äŒh{c˜íˆþ÷†.ó¼KP¼†ZX5òîl…GÜݻ•Gr½P¡¿ss/{?/nÆf¢ÚXƱÿ)g„Ôη(=LJ+{©ìUù[¯Û_Pü¹9©ì*¢ ;eï4ª eµïߪô¯G“»¿WXÖÙf+7ðð†¬Å¶BhŠîZš|Ø÷1VË•× -ZòÙÊ°MÅönÉ©,ÈÕ}]!îáÚˆË7:ÎCÀ ›M`¬=J‘€–dë­ÎƒE)@ÿ#ŽÜP´· è\ýuý ·c]PêR!‡[©€þ õ|Éêќ “Fß½j‡BÑœuËÞ–uNF†—× Žä­&ìúŒ€ï›ÙŸ4ú°€slÔXâttž += +y‚1¢*ÕÆc­X+=«ÛN&a «¦ù#ËY±òçÅ,<ϳƒƒRa<ñö"/Â"çqÃE¯BüŸÁF/î51Ð1B(¯Çº¸>;T•¹,ûø¢aÊšXîYÇ3V œùGt”Ç^+j‡ßá)»9Ëz¯ì‘Ç“@!i¾>`Þ)2ÏJŒ¤Ç&seúTQ[¼Žsqõ'pjŸý‹‡~Üóè새‹ïQÍPË‹˜Ów×sþÁ4(Œ³ÚEÆ®ÃÂÆâEgý«YÞ€{Ôª:•äÅ(¬Ï¼o¾ÂhÏeNcWV +÷o.Ѻõ‡Ë-Æ®±Š×§kDWQ&9=5wF«@ `Ò'JˆF¸iY‚H ú+ûæ<·K'(Ž4Þ?çE!ËöŸø¨"ÀÇZ¥{n]o‹Àkî2EVºV‰7|!ÃíÞ±†}Áÿ?¦~#þ/~$ßY“©Ù†®®„:Jît«^‘&³Õàþâ›r9je¿EK°êÐ@Ûœ3‘hõæ‡XA‰Éº¯ XF¡1vâêj™x05v´œêŸ™—*vÍ «ªE¬ÆÈÞŒC5èé(‚mfâdºå í½ ¶Öoôâhãoñ±1 ×>š +Aw†[š¼|S[εç!~ƒo IšjJ$|CŸN>Û½jÍdäB7BNÊ}í8§M¨ñöî8ž5W%/F\Þ³å=EÎNÝtu],öÖ;øÛízhŸpCNß›µ21H•åPÉo‡‡ÈtjñüÕ±JcÉÐEË^š²‡oE9÷¡ñ‘µÄöº0žBæoÝÑØïgìr1dh£<Žø9/¡l+ +% 4íù:øþÞ£ƒž\×ÕwŒ ¾‘¬”ñš¬XR‘ŸAKg£›ÀЭvAç^)öMå?;\N¡{ýÌÓã{0À'ƒÁ„+©øÄl¨ ~®dÐv¨ß`»›¢ŠÏF2Ï@ïÓ)'àÌ…ï¢Oò¡}3ק„$:lçÚî⨑øŠ‘&öMO ú6oðf1†뛎êЬÚY“ž$YŒŸbڌڗ?’ø‡ø%=V¶+ÅNU’ǹØ{Ò$‚ý´ò?äÕ×)×zÙU!É4 ýŠÅÝsdÑÍÄ ÞåQ©`WiskðkA0 Øx_£è´’ÎfŸx htzäpZ í'¯¤‹¸c ×ý=ŒÎ&¨_çìÈj~e6=°S¦Jæfþo5öX¼š]!2Úr2?3Þ™àœrr‘ïRÞF¿V"Õ 4Õ¾öç‰Ï׶­i²/ ›>IÚ‡Œ—JKÄÛwmáïê Ïç4jÙc©ÈÇ°_J†,N0`NÅøí*JCë&áŸô´i£_†‚‰›2Nž¤…ú©¼•ýA) ¼ ÍEàë}GT‹<ÞÐR®ûXöœjIgX £o–Ü'Ì1”Æ#é pG:ŒfõAÍäô·$k¤ß÷ ®)‡^RtZò^¿áëå˱Én¡a쌜W©|N¸ñzÉ\/`]¬7 „å Òd\ð÷x»¬ ™váÜÚsøâÝ¥¥ˆ¬@Q³DºfÿšÓyÍXÆsÀÖ¸nhÈ–¡YÞHp¡¤Œ“bv<âhÒ­¸ '¡  Äçô¹Î“-S–·7€ÃZ7ЦËp¡¡lCcys8¾V§Šç®˜Z[´ð¼¨¸ùìÕO­Bðfèeæ @[n‡æT¼D@9gP˜¿,ŒÓ´„a=etpí ¨¯þÚÑ_d¢RwR꺼1½Ÿ<Ó;>rÿZ»pÙq)ÿö˜ûdæYPFKÿû>Ó¥zx… Z•Ò ²bTÃÊt2p¶ã(HpkÒd”à%¨Õˆ´ÎXbÁ)ŽtRY¼*ö LÞð,ìh6Ãþ8^,Òóo|xÜÅEñ|ôqaáã*2m&¤h‹W¾*w{w‡^G‡yÓKpè ÷ß %Ó?ÈÍ]î—píT亭êGAŸÊ¬{øÒÊ P§‡û)‰W(ƒuƒËrTÈѳ¥Ÿ.õGÏÔ-U³õÈ U–µ÷¼¹};•ª(_…«ÔW_æ1#®švùÅô:Mš!ÅðQ"àecn}mƒÄq^ÅV e´M¬&‡eÓUa2Š4 ¦`vœsô)_LDÆÓ¶™BJxÕÇ°(›E*œ(ö$ŽÑS›O¬;ŒAŽä¦ «ãð.œ9§&)?˜0¶'{M^ä‹=©§<¾O…ÊŸ­Ôî륮ÜÈú§÷W> ›08é5‘Š X$CóžÏÓ]ÁÕ(ëÌÏ&a @ï_T1òµ@0/l‡yû*,…Éd²G³‡„›’t<çD+nžñá*Ššn‰B÷Ÿâ2naÌźÌ*»‘jõG=Õ´¨¬ç‡ Ì!¦Ÿøï«öÁªÑ¢{€ìÝå),ÊËkÿÅPš"{¿ø¶ºWb½F”+Q¹  +¹ºï/ål,OÓ$ü{Œ~.¤Ð½h±;ðgþãÊs{Ëë-òIöøJúã´S +ŸÏ~4Y…iómÝih›ºîNP$ëÿ®I-O„®’Žd×c²£³ñÇ„{Sùv°2T=àE°¯eIéùçøÿ7.S+°Ü«íŠR¨81"tµŽxx·óO\é‰*Q^Ы·_cøœtÇn){42ؚƮ¨L“ãÃO*vW>#ö"¤®F&÷Ž7eV5Ç£OŠÍôpÎ* m蟈”ÑÖ58ÿ5ëA@~ S14ƒJÙÚ¢áË7'E/‚Zš‰×å´rl˜äßNŸ ‹xXrLŸ©Äëioé—à›ý’þgD” Õ㧨‹woÛ*ÁÝÅR~ÁÜeÜ*+Ob„áÎ[dÍFÀñŒPØ ®ß—+ШA7-©1œW7^úÏRžyN–Eî>œáþøoE‡bávµ¤Vü8Ššç¡<™¼+/õЧ2¬·„ŠáŽ##7”ÍþCº+vV寫:Øz5Pïßðœ"¸Yo~™QošÙJß1…4ÖÿÄ|YWrÝèh¥³âÒdÂåóòŠ€M ÿá¾”H ÊéËÿ^{ Á¦íÀ—ß2´ Á¸&×­±7n€Ùuí}±s܇/”¥¨aê"Ó»æò>%*D'fåòI*çý"Çéaf²°pÛÀo>Þº°hö?Ì\†©ì÷óy²Ïߧù"E¸Ýƒ‘¡‘{”Þ#Ú˜ôa®!Î~Ž¢Ïp˜7ª€ƒ&]ê!ž –T!JK´ØTýµ¿‡]åoÁȯ6 +œÙ¼NÒy!Kjÿy¬ÄyÛýâj¤¨aŒk> endobj 512 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 513 0 obj<>stream +‘>y»ØSojUº@>á½0H¯ ÜôûBhm{4Ÿ´°3i#U·þl"ÉJ‡f6ªÉ¼;U#öƒOj!?®W+±'¶&‡-À‹e´Á÷LY!$bÚ üá¢{d({˜Ù)òË!úÒ"~x”CÎÇœgõâQ ?Ãot:œcØÜViÚ4¬ÄÑþóq*à ¯PžþJƒ’•N?ú;?Ÿ'ÃÞÿþUØfl›`ÿÚ†Ž=¿…gˇkƒ…^tâ¿ÉL·ÔêÁÍŽi¤ÿh—4‰(•ºQkâ𨆧oÁÐä¥É½Ü‘†IIÎra®EkRÙC‘Â`—/5ÎàɃ~íl¸‚½Œ¬¡Q–_‰¹òíhÖÕ²¯¥~rº&Ýí<±Ø)‚ú há`jÍwÖ€xÚJRG1¤ž5Š±€>^„¸-0Ü\>µ|±eXÝ›xŽX1–s'i¤=þí ™lwË’3qŠgcBã±Éº £)ÁzãN9¾?ÿs:šr »í`Ã-~ ÖÔ?îxf‘õŽB†6{ÿüûôFÒ ANjIØl“®Š•¶hóq>ÃÑ ³Ö©$’¥@ïãËr¥ð'Ý:º)ŸhÝ Z¥s8RË২‹1Ÿ!`áx¦==ËJFúFOnî@þÑ»&Oü’'Ù|PÂÕs°~ïèÖŠ|-°›‹Ø6Uà±6¿|åO#, >êo’üØdi°¦¡áÆy|\EÉ<a™¤ ÏF‹ø j¬|úÄE¼„jU^0à̃З+ñ’l”Þ­Ô0ÌîN1ôM÷¼on ñýõ=ß<¾¤,ÃyÃô¥É}Š Õö&*Ü“ÅšE» Uš†ÖHg1õ /1äƒ 5ùF¸¯¢jòj S‘2œiæºÜ –pª*èªáª$^†k¼¿Lk™•ï»;Ma>~rh°UL¬~üØM©ô7:®„‘§„ES…ž·µ/¤ªølU8ifvŽ2þzÌK·¶²m¬B˜‘ÕHt‚g¶µï€M¼™e¯ÕèEÂR©$n÷ ’º.ý¢;hS–M·™†5',¤På5ÄgU*9±T~=' e–íh!—’‚HXBÔp׫¦×cq)›÷Æ«õ@âòEeoš+2 „@Â+Òš+~›°»åÇÍŒÜÐÃà‹H€²ÙW2Py“« +€f ÆX4ÝXÝY&!üÒ Ò2mPýMw<«¤ôtã^%ÑsTFÁeXǺÆMJÞöîð`òßvìäX¨–¤ÿYÖ DæøFUáWTRòŒ-QÅÞò{Ër6ò…¬G›²bÈØ>ÝæÈ!±ušÖ/ .yaü^¹!k!ª–È0¬ŠŸãÈk0< I\bu~TŒÐ¬¡úeûkÿÅöÐ ’µŠ_örÍÉ,Ï ÚóQ$E‹”»(Î:gú²©·É@ÔÁݶfn'ê¸8=Øš˜ 3w›Jè(z’΄ ŠîG_ŠÖcÑÉ$L©†-­¸~]Rã™â³ÆšŸ«Êc(7.Z^Yã×`š<¬V +¬ù¢ýî—ÑYõäb¬Ðg‹%Üåκ؂L7ˆ+ƒÑµU{Oâ¿DÇQ{®ñ ^¡j¹Ôì?ãëG_X¾%ék<«{U +¾m1m—…çí:œsñ9ƒsðšÖ`k?F)?~ŠŸ æJ˜s]ìËß‘¨ÊÁžÒêÐók–Fagã—ÈÛÌ•{û‰ +ÎáZ¸©áøÔŸ‰øÓ=è®Eèß\¤.Hƒû-4¯ü>%J¿1ƒlÙ`0Ò$7In +†½û?­Í\[SÍ"¡ 3FKÉó|–’eþ®ž8}G^·•ëÄùöq¾âÜÍÑ5£Œ,âÿ²Î5ñÙ¬ãÖÓfÿtËjÈ©_±B¤ð”!ïØâJaƒ°t X‚$˿˯ûXÀ°“" +þj3àVFÁ±Öâ Ó2ìÒH$vµË o“5ñ!@½K7W‰­Ã;nGÅ{ Å“4÷|ÄnÀÊ‘Ó»YšÅ×hŸ_>fX¥bÅM=}gïƒÉ{ÉåÅ*Õž$ÞÍMo<9Ÿ­¾?8köÚ£b#êe®×6´ÿg¶ÄúöñRL¤À ,ŲŸÊ[æ4¢Ô9~pÝXªa²$p¥ë=>ÏKès]oã•3ãspEEy¡É™þO žhÚÇ™I}ùX '39#2,{å~-~~œÖ]f&W§0Yp´+Û1¡eUm0@1ßê}Ãíú—ãºÞšºÆÃ!/ì†ãpëm‹!v¦²ç9~¾ì³‹ˆ[h´ýר“@jWœÿ·³I É´õnŠIò·gºwTâñ“Œ&šó”g&6i‚#{V–îºÑÐÑàÏv÷‘]ó19YIz‰¸nÙ£g@—‚¾B»‰r Q$ˆ)«°V)|¢˜2»'ð5žØK ÆøJŒ"ÆV«‘Q5˪a â;Kû3"Jí¥À×Ìù“¢±4Ð\¯Èbã!Û +§Y¾¡ìí ñÎO£Hpx‹OE{–¡;$’c½ú鿉2Æ2ŽÃ|ë-•£ÛÆÒ"ÛÚ"Ä‹´YÄnSuÔÚOQD‰ 7íQb,h˵¬[”1u™£pöÏ—°ìËöøæøyhºo:»,—ê‚E~cù?²*DŠX'aó&;pÙ³KH)Ž«Ì‹51U³Ž†òÆc^˜‘…ÐÞ%Ùt†ÉØ·«ê~Y¨{½ŸFiŒd ž»ˆ»ågšó>¸'Õ«Û=Í °`[žKŒòb\d…·j¡½;È´ÅÂàö:›è_L\¬[V¿Å¨‡Š¸‰&*g|øEÙ{2 >* D¸jÿlè=‘Ï!¡‹g"6‰3·@¬­‹íõÓ6áÌ®‚øYyµÉ)“ù¿ö¿oÎj©ë/ÞØ,ŽIImø°,I Å(„žvv ÆÛ/¥°åtyÂ]Ü `…¤¾Lw)¯Ñ c¤1 +}ÃÉð†©™RÜkØ +nþQ£½41𹂠ìsòaÏcì­ü‘ëÞd±8ƒsV\5\Fn°ÐKíFp‚O¢Mbiï²,±ÔûÅ“ÍyAmǺñËSI½82d4e¨€ìþòœ +ä§Á0÷uûÿ§š È&ÄÕ®ýÀÆ Ëq‘l˜Q¡¸:Áä„ÀôÁÑòà«]~!& Á±F¸…D-mu9”Ìo ü)œþ“[ñW §$ú,„UÜ]w*VRžq’Ð;¿ˆohÆéÇMÜüÈìÄ“¹îiNËÀzq®)“éLÍýh®rl.ͦoÀb~'H3¶qqVŸ5Ä“¿0Ÿ\ýX\´°­i ÿ#·î \6Ž ì*^ˆï‰õƒíœ+ŸRÔàùr™&(Æô ¼If¦[>×ra£eó3R‰¦h(-ÐòE¸\ê8š´mEv`%ßêb::Q¯:žªÝÒñ'útÆÂTÝÐT·¦ì*ƒk^é’°*©÷XþþÜc@4Èà%éžxÔIñÀš Т *– 9=Í›E¶ŒKÁs2}€#]J%_*âS™>êÐ[øÍôÓ Pi–N2Ö&/yÂœ¢tþ«ºõÎ׿ì:xÖñ„H¶ûs<«—Âe±îŸÌÛÅ°~˜€„SO,æDÖÙ"?¬L¸Ü±ÎÀ=,¬!©4!Gvèn,ŒËëKué—ÏQçB ûXiaƒ:f…1±IÛ9ABeP 9­":ŽvbODÓf6íឈ"»7s8ss£°Aïn/,Ze¼€ÊÖa®gaüÒÔ‹*Û„âM_Ó»ºùPÇ/V_ÿ‚I¦¹ÃLq ¢ÒÖ•Çy£F{”bxÙÒŸ?âAoŽ# ØR*•KôßÊ!e-ÃŒ>°£Œ¦Þ›ìÊKŠî*æ}j3Ês¼vÏeùu¯é‚€£në§dËQñú_¿¾®m·Šd¾ÊvS³ ߪǚC­Š9¢t8êWÐi¨„GF˜ÎxSýûz½#ÕêD|D!âî)œ‰å€W;þ4[èü•Õƒ²¼  Ila©Á b) !ž²Æ¹Ô»úM¢¸â׊íG$d OöNÊD†¶E'¯âú?t¤^7õí‚ôÆʘ5ÔÊÛ€†¦ü%A®@,UÙJCQ&㥿¢gˆÔ:.‘{ùgX_-‡QÃÀÔ¯Fî<`÷1I!g‹ý²“>¨Á’“,_˜Ö­z_õ„ f¸\TÞ›O¾¯I? ²^¼VdÏqVñJ Ryú3ßÑj×¼g6ÉYŸU%©ZšÛJÍzR¬ØYS ´TwxrÚàœ5 ðŽÈd(XwÕ0ú¡ JÏ6"éÉ+ü CÈ_èv¿!Oâlµ%tôZ¥ RÆÏ|„}èµG],™E±§+XÒ‹ô3-o Û?j ƒÕ¦!ò–¡qÖuçBBשˀ״p|ù(upãmü=`_ncƒ8zQ¨ûžj¥Í-a^Ånw£¬à ü–Iµó—|3W‹3äO„­Öä™FÚ$TãCš{m²KvÈñ‡†]›ì$‰]>É•ñ ¢3JA㋱_7Ü"äɯÁa%h£*’‚‚¼@‘¡†E1=æî¼”¿ H®RN4•™ÚCðº˜è'´ÜuÛ¢ÃèËtI§8ªù3¹˜›tê0RŽH¹»JëpdZ”wõÈ!®ÄÈ«ˆq²÷·ƒËÀæþxˆ×wvå%Óºˆ¡²ŠzÙ1E)ÍüÊÊZÌ —‰’—‹åT¶9×”‰û7œ.– œòåb±œ•ëkÓ— –i ^1½xŽÍmYd>w&û4Š ^­Þ©,”ðù¿d÷ÃhÍè$qûo~6?_Ž’ŠQ žãùûñÏÞµÂqÿ7}Ô=ŸFºáæ¾ìέ»'[~DÓál™µà´"ÊFÿ;,Ä„nGçÿÈ“¿ûŽ‚GÏY¯Úü‰;È»MœÄFÍ{jíùDZKQäo®´¥j>Ó0jõ·s¦r¿M^ðdôwrÀ±òg³”ˆµ¾˜µÎ·jÒ~ùîuÏPŠ‚øÓaæ +‚”¦èBdH«…´å²ÕØÁ%‡==ÑK aƒ®—Ü凢ӧšo®ž;Úye¦“Wãôq•ÄíÝ—lþòAiº=AFpd‹y׆®ºE¸têxâj|zcð‘•eypRcS¢,é{ºŽ0‘º5õÂd1É?e‚šÉóîîu9 ´AÖwpi™1‡åQkækwÆ!X{—UiÍLˆ4gä™e™õ !.Ç®g$PYpo=µàwÓAÊk[‘dk2ߺßä}-šžã¦^ÚYš¥ +*>²†Äßó¾–Œ …S"`O“ž·r³r1:Ã[\wvûê©»+ÃR»4<©jÇÛäºñ¹ZoTÑèA’ÚsªÏûê¸57J›³×²WëÄBM¸")KÜ;½©-¬wø@„cúéS:¨J\xäFŠž3&Ö÷®¤• $ó•ŠŠÔÐè€Íå¤BãR„#ðXB¯šõeE&¼b>­¬WÐU^¶˜ÿk`MnX ˆ, EB¶8Q+¤ô§Ó”àzÈ-gâ¯* 駚qŽµ~bsö٬陒º¤ra9d4G;I²ÿñ×kâg!ɳrbcv5§òJ^5O5ßAÂ{{…š¼çRi–FÖ—ã#õñù!ïºUÚX(^t&MòX Ã’^vß P-ž 3höWm·NM¬ÌÐŒt­ãÞÒúDÉÎÇ@yÅ +,×{;ëÁ½—®xY'‘€éïªZøö9$¢~ÀÓ`óâ¥ÅI=碉ó ™#çïªHáL„G>j´|>/þyë<ÝÓ‘½^‚y¤ob}©²8)>¶äpeçû¤°åÍéb‘M"}¡Y¬:í ×®µ÷Ã6€©5¨Þ˜]xå¸Õ„fÇŸ>cBD’øîwÙD¾q(…òLø1 +þRÍ$%8ÁºV{ØÎÇŸ¨x4ÕôóTÁ̧¥õA¾Žb6€4 QkÅ۾ψ3œùPH0‰Ü(a¹×ùÒéf3©ºHL%¸†í¦àÿJ·ùWʓ܈TVW|/ìo~œfí´6„Tˆ&\{†ä¯Äý†ÁØIѤóÅù ͽÕg[6ü_BÌmÎÐ ùñ*cy®­(ìpF D{†ÏæÚ«Mˆ£Lk¦ O%>„Ò +ì MjŽ;-—°mÒH“Ñ,HÏDÝ!Æ‚\”õv'w×™y?’Zž2Ô±æ¦>gç1aþC§'¾Qk£|!“ÊjUâFô}áuµJÁžÃ‹š‘ % + +w:=:™÷Û¼ƒÏ®¨‘ÝùŽ…w™. +D;¹ˆÑ6A¬yâq´HPo5–ùãRl 6Î8‹~Ê¿8ì÷Š¾pS,ˆ¬I³ +kLdØóéa:•š2ÚÒ×< uŒv%ö°Î#g ÁïW ÍÖ)ªµ Ū9Àjw*?1¶ö)>…(ÂÏ'rkWCP d&bîój#¯ŽQzä(æ‚•'Lç.qz#ݶÜ`ìæ.∺ä%ÿPC9°A_úÛ&UÐ*4­ÓìNIÿ^ñcXE…+á5Š+z¬òpó±X:ÑŒl,ÓžC¹êaW¿¨Ò“ù®fæRI¦hÚÕ¾Þ®ofúÖ¼šãÌ!©t€;¹[1«ß:¦,•‹Òóo?¾hn`i7±òèÂjO©d©v1Jîžõ7ÿEŸ]ÁTÈS ÞY0Ö ÑÓ(JÂâÏ_×9¬,«bZ¼ò÷, )¡™‚¶è FJ[¬íÕJƒaH„CƒÞBœ"¸ã4oȱMÂÊwçÕ)D&WÍçª^s?éAÎEÄ­zK…Ñ2çÞ,V'ˆ«íNÁö½ÊÖo#·Á-2Zvǹ=aíf³˜5~„ÂÁmT—l‡˜ ÏQ©Â\I¯éçV®(/¿yVUY¾/û’¡£­Iæ%Ù+Mû„š-ÂLT™÷ˆNHÝÖC wIRñ€ žû;.­óMM^€§aàØÈ1 ¡ÃêÐ"Œ‚ÛÀ5ÃðvÒ$„ëò¬õÑîÿœm¨ý^HnQ &‡³É¯áÏàÈú?Ê +O"U¤àTÝQ)X—«)³ÎEù«vP´Ê_FH’@A» uš3wU±P0#¡hô¶hÝŠ€HÕ—{óo?{%˺`P”1'Òô²ï¦Ï Ê †c"¨yÛ®a¥?ÏóÚw¸R…¿a™bC'â#u™#tÕ’ËpžœŸøŸ„¸Ÿh}Yc!^Ä‚zl_?TÿÀÿ'õÔ¬wl‰j *‡Œ ºïë­Þu4W×›"·)x}±42ö­jnRsTˆ¦žò°EØÓ€­‘Ý›†W}­q2ÖÊ6ˆ“«Å‰þ¨>µD8퇥}ÐÌ^×PÝEâçAh(%xð3ÒG÷.:o0kÃ%Ðt!ür:¿ãPúAÞ*fv»o¿› 0q!˜QæG¥Tb×ç@TSm\²31”:°\ÊDó»´6 íó⇣µþÞŸGÑ,wUÀŠóG^6ôx…ïª [{ÌâËœ”Ÿ +ÓÞN§î'º}y¯Ãô> E +¢öö›t!vûƒïüÉ,eÎt™7®ÏBûyMù¢ÕÊòùíËß©˜§ëywÓö£»— +endstream endobj 514 0 obj<> endobj 515 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 516 0 obj<>stream +ÙéÿMMùÃ5ãár!‰ÀtÑ,-ä÷à5fÖ!Å“ûßÄŽûäMÞ¾æ`1ì¨Ĉi•iƒ[ÜÂQÞhmßéÛ§Jÿ»î2Œ:9¢Ýua£'%ù™. ÷VÛÕª›+~ý/ð÷²ðsÔ½z)™Kp@ÝWæ#Þ Ý_¹ÈÝÓ«†ïµ±a[ѓkTïè«Ì¢ç’ûȧ&ô¾3YÌ&Íßyù”ÛƒÜ{ÑNá°û¥Ž ò^ů• ®u['8vÓ„mrµ³Þ×ùÚwn&ò|:¼‡42My2p#ÞJ +hɤój餎öèâÈ8,Ž[ŒBìr¡ø<ù)°€„û£ àhMmö[€«ÃæáJ7_X-jëY‰3Òµ¢öÊ-úƒ÷·Š…×5¬âž?m– +år'(W÷x°|>]}/ô2Ås4ÎüP¡ 3é0\S?!ûÁŠ5†P!SK_¢¹LßØ¥ú'*!ûÒá<#q)^êN‘lþ‹ä=ÿââ‡TmÌ““$”p;{vÚŒ‘¯LΦóÕ|Ú§Šk h}¹5¹ÝyJë´v(›ÿoqÃCº‡Üj7™W[€?2ǬS®Âà/cèˆÅªta–ã€gÃAC^½€ºS|Í\Ÿb=ï®?ïBцóPhŠÿ}p{ æ@òsêÑìxˆ…á|ÈwÊÈ0z]±­»Glu “ª´‹Bñ…RRXð¿ßÅ®žÛlç(NöàÚ•3å\†@ €–4ƒƒ=ã.QˆÊJ+ùã²Yaê ž¤RíT›Ë(O‘wA{y«Ø XÚ¶sj§A5MÑpâim”²)Râ ŸmX!j¦n#;4Éæ¤9 ³É«@ÃèœãÆ´¦ñíømÕ!,ç3âíôp(ø‰«µØ¾AÌÚSv>ùÁ™ +Kÿðñ]—4Ï«`ÎàwË—àfìuß䨛ÇHŠ¸TÀa- ƒÈ¦cYÎÒíaÆu±+Ä.á%J”¶g,Ÿ¨úÚK²tV#ºçÙ]^XEÖr¾òYŠœˆÀIAô§z¥ü‹Õµ g)åËY¶'6Ü£Û¶F7omçq&ej<Ü]ä?à%ˆÎGÖ¼ö’Ä[1•–Z¢(„â6ü{¡EÛ=eý èŽT³…lF0ßËì")µRK`Áˆ[ëÑ=ñóq‡< àL¶ $00J\ºlMIyålkVÕ‡LGØ€èqxo²ZçFsÛ(3sB¼W±ÁøD²Պû©Ëh.m*ŸÔtôµœ‰»¥×Së½µïø炼âç·­8•óÂÆæñÌ{>>ŸëÃîÓ}I‚$ô^|ÆÚye¿ÚC ^jF…=Œ±`·äqÒä<·ÊO¨»fÐîB‘E† À0Œq_õÁ÷ìG› w䔬Û ›é²šn×IfÅŒ*O—ت©iS3"Ë+G˜®×oï2S¤[hp[S¶„ Þ<Ìy0È…¹¥±÷ Î`ÞÍÀÛõJ½id;I¼… +§'4•×\9x^ë(vb£Ø^fÁA8®|I­¬ø]@<û*áðM-_çZ|•®[Œšqm†6³Kï¦n‘ëÉ;çN/6%íÀ‚¸ËV»ƒ”`nTÄ>€‰›\ã’Ï~¥cÈRØ/”Á³í/¾`ðÐ0•åô>?hkÁ ©R:MÔ—n£­ ™cèRÙ÷ +¥i``+éY ETèQ`hw·÷~ïÄõG§8χ¼-³¹ênÜó«T5ÃÿÝ£›&´£‰¨÷ i½]âN(Óæ¹²Û’β?¿´0H– E?)Êw¹¾Øð$OCK +\2K à\%Ü+áN-òÉðZ=J'£| +3iç÷›>lFôNs&HϽÐz¡„ëõ~Š$·ÛzÆIŘ²K \¶dá;âŒ~ÜxµY½ÈwGkûµ|{‘ÔÍ7>¿õe®l{CË=ntÓ-°4)L—lŸôœž+‡’$Œ…ßP¶)JÜ매Ûb}GFû¦eƾìÈ*&¦ž ”êP©í&=*Ð7˜ÍÆÿÆîlMýõJ¯” ! ‰}:…ÚMÎB+^àqê'7HeJ!|jã¹ô2u±ºVuIßnyb„Ôc¡ú +ÉוCìª/)k´¿|‹¯š>`ô(v=ðô@†» 3ÞíaÅ—®¯†ˆîÅìÈVmQ°P^5xŸÞÖ ²2Ëxm¸. \« Ú¡ÏamøƒÓs°0²ƒ/¡'Ú˜Å=jë XvWVóØ»×MB^{Éñ<ܼÀŒiK<=«¾ÂÊ á×+ûãû¶\GÉŠmŵh.Jr&µä´ÅÛÕÕé#å× 06²Soß>Íƺ·ÚPÐvåHôô6ñ(†Ÿk¼»ËßRÞQo‚YÄ8èmПL¾ÆÏ0Š+yw×™q”Àø‘9Ñ×\-fÌ Õ¾-(óvº¤~7ÊUéyÃcÃË8£¾«˜üçóM|?Š#ZÖ¨¸‡þÌœ«MC"Ðx<¨…`ð•_°2p-² ÿ¥!Lµ¿r7©„Ñ«þcMÝ¡F³n¾z¼sÙÊíacdivJ~00‰¢+1‡O#î&Ô£Bݲ€6* »™å^Iеx“Qê‚>:Ìš~BÁT¥J²Œ±w‚5¡*Öô˜´ÇBùÚ‰  nÒoSˆ„<¼'kœ>dÝääaëÉ A™½¯ŠèÓ=<ɦ +¿ú.S1îí%av´­€À­ÍýÇ·ÉX¬ó¹4àì=vÿZ‹ÉM9'ö…cÀ$Ióæ—[KëÞ‹>]k˜ %¨"Ø ׋ Ýb饊çç°É¬S–³“•ªI³N@Kó gT/oeƒ ¼‹$|¯’×›ôR|—åÄÞÐŒñHxœ._>WN=¶0Žcª]%yŽA>Š%¸3ÖM½]dÕÜØ2+ºÙI®—K*/T0耎cÿ§:ûb®®ÓýcT\î3ÚùHî——ìb,=«š’6³ê„TDK§¤·Æ,/J÷ªîáu ¯½þÖ0HXÀŒŸ±ÇõùŠ 6ç^¼ÕLººÖo7‚U6x2 ì"t6}óOníãb£$)†ºk™îöÂÑ©Oh-Á¥+K̸& +¦bSôpA5xÝHÖ2ÀÉîlc˜†ëRª<~ý†xÒu ÐK€àÚ‹ +ôˆBûnúC?=º¸ü½švö×R{rA³¦µYáô:]ýçï ü·êsõ;ñ² +ÌJ‚Y;2sZðöÚ2@V¤eÐî*_y®™¢û[ÕîÄ¿§¿Ÿ-wuç!ÿ%¯5Ð'k„L‡°Š¥£+î_lšÉª¹?»·E÷ì㈦v‚òc3*Ï´ýû^/ί‘5uÏ”Y©‚ 1ºæïèÜ"ôwgÆA!×!/y|GÉŽ +(³Œ«^¦½NØ.Z¹Ç”ã=5]ˆÜRÓÓ^! ÙÔ?€Ü€¶ç|¾UÔJ­¡²Ìßë—û +¸m%y‡èn_b·÷ýnTñ¼öœÑgCSèÐh `2kæ÷®’g_¾;ÉPLJ7pâFÁŽk+9q¶(Í~Ôïó Q˳9Qa5’Ô´K»{m#Ç8í™,L}gnÒsGÅಠ=cû¾¢¹¼ «¬Kp雽NŒ ßP$ϳÑÂÉ[ÆƸ(i‚­#Eî¼ÊÕ¼a†¿ðªpƒ28<7 šX¦ë^Ö8x,˜iî¿ •]ëX™¥•^eföAº·µd²r HL,w…ã¶Ý-]Äý³D6e±&Àâ¤Ý}C^ÿªlQÖÆ×à/TÚ ‰‘H¶c¬ØúßDóØÞFw“`l]Mæb!\eÏUÿ“-?BÕã«wž·¬tV3cºíSn2’Ÿ̹ñ:IÔeù8?Á¤þþ*Æ°ÂÚ©0‚Ò Õ¸‹z(½Ï™7Äz„/°f˜(ô$÷ éï>esðyšé¶žÂÝë¯íÞ=ý¥lú(‚%r ïÐ& ^¢¿…úˆŠ1,Â"ÎÁøŒ8Ÿ_%àÓ"C>bŸb‰1¯SV4íq£AΆ¹§D³îÂô·ŸãzpÞÿ“_[ÐáBÒL>£|šh¤5§2½Úw~R€ô˜:@š%lºØúÐ/ŸEMŸ¤’ ¯ +×Ñع'n§IlÒûÅê]/á¬Z3}’ÒW\wÖ½ìÃCBÏ!vñð5à¤<ÓaÄ£ŒƒÏÐY}îÁ– ’̃Õ"®@¬¿V“2ul~ºþ Ü—7T> +ÎF‡ öE ÷·`ÆÚêªXßéã³Ð"ˆ(’¥6s €c®¤ QáÀ¨áù§:ÑÞ;4æ^¿ö4KM¥öãƘ‚„²·Qî`ùëP–Pß7-ÎT>xF7ö]L)Bˆ!Å–IËÿ™ôJ@(k®—y½ì¼«•v §òˆ:‚…š¬)û“\o•¢V¯‰ìÌ?<Y—ܷμuá™®œf-´‡ÂáõrY¢€ôµh¾\ÛÇÞÖ&Ät”oÞ¨ä¢ ÏGFô²ôÌ×mcWš`Û­± .UlO–z_òÉ*ÿòlžððz;ÎŽþuSÍÅàz5q£U7üÞ‘øðÜ R­Ç“ ‘ÇgÏ0Þ +¤F>_–McHÓ­aãE¶Œ×Þ¯¤ +Ê–k/m/©w›èòßCuטë’ByäÐÝ·>wh‹Ø‹ÞÎéë36ÞGàïk²jÅÑY3zÙL–žÀðˆ‡(‚½X9¤JWÆÊvBˆ€tèùzlèþÎLD‹´M;mÜ€¢é¹‘¶Ä¸§>rz#}Fþ,´ÿ¡Æˆ¶€<â„å¡É)DZµ”xx±¼9Ë\ê#DµÖ&êºXfÆûØRN¬U{çÝ€ÃYêúë°WÀ{(ºa(Ãg–8“儉ýnü¯4£É¦Ájêþ9wj¥m¥À¥´¼µ£Ût«Ì$ù%×gr†þx8À( ÊŠ±RJÅÆJNcåºHï+{>ÙŠwI¡!f% ¯|þQ[:ÏF3EÏ{:¬-\p½fjOTתŒ¹ÌºŒ·•Z(Œ¹ýÙ œÌGIžV5†ˆ˜ÓÚ'»Ô»)QÁ‡ð ‘Ä+n„K4pâ±»T}BÐ}´“ǵV¦ÛâÂÔ/{DzK[„]´kžÍG䙎Øn¦‰aïr#ä-;6˜>ß>Áÿr…ôöÅgÓš4Cç@~p#OT<£öL`Gx¾Ñv;ˆ#¿œíq­UŠŸ4Ò ì—Õò<}M1r¨+›ó˜ÿuØ8=ÈÞZ˜I¼èC³M@<¦0ÞÍ´à*S‚s^ͦåÊûªµŸ®’Ö««?3äꞸ7ZøچЅbP±‰‹h°Ý“ø±ï0ãC8IŸzŸ‰gB•ÈÞe<®x[4'Á¹{\$—=§2’1¹oÑâéî¸6=ù‰îÄ ¸;6Cá…ðùBãy#ÜéÿÆÏn-¶§æ½ø‡v”²\SœÜê¿êUƒ!(8û{KòïfkoÒZ$~2¼÷U²€n_›Àt¡ÑiêÞ½<¶–×™y³¾¨’V|\Ž›Ï;ª5“,âF7(Yôd‡@»FœÏË“ÏòK'[(þP…³ ‘'=±.ñKiEý~«]Ì xØ€ÔMÒÈÑø½ñGÞõ6×°O¹=ÆžTüÕ) ìê`g›b_ñaÜV®Ý2l ³¨–I® îèc”gal®WŠër» æb#qgíg ±€ï[bÉ‘!®<¸²3|¤eÙUŠÝ6”%‰vHí­´@:!Óu´¹<‹«ÊcÀ£Þ¤m ŠD?¶åJ+qÙÁ>‚S2 Е«“Hóf,Ë“˜³Ðó¥XMY\ë-»¶kîaŠ&èøkÆãÉÊã žT¬òq_¸ÅÔ¸0©é¾Ô`^ØAò í’° ´â(«ÔuŽëøu7ÄIÆæ¥òãô+¤%£ÚÈ¢ - ’Pœ_©#ZÍ'•\%»(“½z=[uM® ì•õ;›¸M Žn0Ì€Ë +eZe«mõA¿„d/¹'[F*&bú­e1J +jDòê£û/Â…¡Î¾eæÔÎuŠW“…0Q'PßÉ,Ï…¾L¬<Á),Ä—|QFê-ѱDyá½Àll|wûü7Ïšµ(Ð>}PÄ»pÛhy©CÓ»½Ï- $†#øâoî¡q +M6jëÙ(stÌÈnç«1IÖŽ³Qœyzz<È &0o„îÞtxÎ(céûÕh©ÕB„k›qe‰ˆ ‹]Ù<4§óT……­.kU ›hŠîŠTHwòÛÄmãȃÒ7œ¯ëî‹F •d¨ªYæ×ÌüPà‰%@®~𦠹µÄØ£šW,oXç-…Æ: •0àLJS­’cçÈ¿ÄÁ¼&PF&7lþ¹ÆIËœÁ"±öø¤c¼ {i-)Ì4#«¾öÕÜˤ齣!·ždü+Õ’KÓßÏÚúíC—ƒ™ÿ4lLgouíè i݆WûŒ`‹­Œ`g.Ž¿-1¦šUcËN›÷"ÿÑáQ,z²iV¸çƒ­¦_Š’ y¹r1RUÙçÜ’ëë!ÀN€S^ºë¨F/(> [w­;tÀ/ƒ 5©’%3‚tež_ì“Qì«ëK@(Ë¡Èà…ZIDŽ?ùa”"R³ì­=ƒ£Õ"_ƈ§td؉”¤G,VWå}³—¯µót;Ålñ’a´Ú%Œt úCaXrÍøŒó9©ƒÎÜärL 5–,ˆmÿ‘-€jUrG&!iuÖ,]Ðe!²¸„iÖ#Y£÷®¢P|£SŠò!@È…ÖÈ c>FðV&+ö7ºH[,ÔÎY_'ˆ/]‡ß2)5 ä[g•Îm,|S¡®ÉAÀ`jjZ*jË âçz[§~=lÖÜá‡Êdä›æ,h–Š’µL#èP [¡ ãÇ\;M´Z¥#›5ôR†sßg*ÀÇzçÖr}cÙ¸W ÚÜ'–ÏÃ5GPýšü)âÅþÞû‰žíÇ,šßŒØxáŽ{§«+{÷+Jw7°•ÛEëÒT/Ô8ù“O9°.k° ©ÐÜf;ýjøPš»v@1 Ñ¡¸”µ¡v0»*‘JIó?1–¶V½_ …×;AA{¡]Þup£z S«>¾äBzÚïìŽÙo"YF±Ì4ÖDí}£Ûn>cs@ûd@Ð$B®ÿ­Ë—E¥µےɺ? SÀ„0TuÊœ½ >õj¼Z˜„U6ê4@¯9Í縷zÕ›åqZÊÉ€ðï–ÈÇôß]wÄ.ÂË}¼Â»X8¾HžÃ梦8³—§rú¼$ ãý¦¥%» +zÞÿ*Ì觿Õ¶¹÷ø=¡.#ò•™îãY¹ÙݤÏûg°Rö|r Bx}hn'Ü®–AWƒó'7™ïÃã{CoJø*wU<9r¢”aÚ¯ÛQ'ä4ú›">‡˜Éì¾°6õpvù5.Õ…yŸg•g˜gëõ·Ì}§R;#kÓ`Y&T"¯ÄËßáÍ×¼ùD‡io!Rh£Ò­ÁŒMΊ!~ó²~Ëã–`_ÔÇvf˜ÉS`Š^¦:‘¸ iË‘ï\À”Ø=rïíµÎ ïò™u䢈â÷—ÆßÎ5^aù@©qìVœ€å¤¨‰¥S¤Ë…4­3á“'n!tcÍ£JÞT—cTóWþÆÿŽˆ;Ÿÿ-lmŠ‹õë¹&ß}@Áùéx|ÐHk=—¢Q<kÊš’cy¬†"Öm—CK/Ðoë8uù3|šzÚ;¾w8´ Ò3%Â7N" î8(ü‡¥];çEÑW²Â 9“v×±Ò"ìk¼µ9cåæ<¬DyÁsÓKq#g²’odéûa9¨o–ƽ:úm23ÄÉ’üD뚇ÑRXMQ­ÒwÅࢫÃai#‚ÕúHˆË”¥€1xaŠ5i“˜ Ål/üm‘‡Šö|YŮډóÄï÷tÞž/,QÛý¸¯„†ÝO”å?4Ö>ì ^Ûüêò1Ó+_áÀ¢Lþ›ÎÄT…5³eÄ®Ë)I€¥ÝN=l×2u +endstream endobj 517 0 obj<> endobj 518 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 519 0 obj<>stream +öhÔ´c_£½ÂÌ´ü0ÙÍòˆeöÜ 5Œ{X)F5ÄÁ‹ÔDè_àt ÉëÏŸ^ 2²&÷L»Ê¼¼nº9»Ûü¹Ðý>>¢¯iÉC"kÇD.¤F ÚŽÒ[W{-FGþ™åþ«-ÄKþ®\ò ª¯Ý4W+dÔõ Á—lø¦úë@]ŒA–½cä­;b­2&¾2ǦU/XO·Ð‰z3. +Õ¨ûkfˆ[#5:øó´ c÷xy—>Õ>íy¿ŸÝ&äÆæÁš˜u[C ä4¢!í )>iA$I«Ž†×®¸;¿ÁÛ’¦³RþQõ!ÏÆÞjï6®b,Fäþ§Eìt€4ÉŠIì8gš œJðþ†xšö~*vôf{`q”Ò²: ŽÙ>Ì+ä]²'‚P x¼Õw´¹–!9~ì&¯®¾d…8ÒŒëV»³²Î?Å0_ÝèoÕ¯ßÝéóÌÊ6!2°!tpmÇ©öج*5y?*$–kÀ`ëCqмHMì<[UF‹ù):Gä{äÈý_4ï‹èA࢓1E$MüᣮeåU”¶°_eFBߌPÕb,ÿ¯Ö®Ý +Ìu\Íÿ†MBxØI\ÓÀÇévV °×Ç8žéçŽîð×÷h±<ÍÑ;f‰g_Ðî>J‹tšð²Ùˆvn ð7]•Zü‰y¹HU<*Æ)•õHõŽͱä×Ú‚ tÁ`Í£PºUÒÎPüË‚rV™r&O‹D‘!ˆYýº|/ýKLµ DÀ™¹=)ܽú¬*Ò„÷3;ö‹Ï3Û˜`@1ö9â(Xò³‹ÈÔ‘jôªòoO†RoVŠ]n¿øEG,™iA±Á³jÈlÈ}ŒZí<à"Z"¹êj¿v±þiFÑ#nG8^[ÿ”Ò+Ž1Ln¾í*§¤ÕLà8"ËžchüEŠ»…š…Èü2+ÂÀ½²ãVì#êÆÆ8|b¹e%¯.‘½ždŸUk¤Í,67âyt–WæöC­ÄÿÜó$@·‰Mˆ`… …yææXTžæ +A•èGXCB&pÙŽ³V~RÀ‡Ã! +3Th&½Ò¼èGÂQ?ä„à}dÉΑØê–iÇ‚Ÿ(X¾]PÙª`+n Žû¶~¿u+à©À쀕[Ä +^Ùh)4á!³sŒ®›Í…ßÄéñ™®ºÂÈ!dŽm? NÁÊdµÊÍaL˜Hî¦h=Söð+߆¹š6K„eúÓ‚~-44"Ò¢9â°ñ”X úîí$š7èaC÷ÇŽu-Wɲo5t0V¥ÔCEõQ¡Ïª¨‚D™¥ƒŸÑF,]üFÉ°s=¢ýŒe&|‚ñçÀF”=(6–ÙÝ3õ{§ÅÁJ*W¤…±QžyÔDÈÉõL &H²²6†çÉj¦7’t5±°O„ÒîhS”ncY±sFÄZ4xºM§Š›sŽ³âQ”­¦¶à\Ê^ìÇg»q$.ü¡Í9I/V³û‘­è“80¢š±)㩼R¾¹hÌ®ÞMå™l¼RÄd±‘¼¢3;?ƒo†ò!žz9¼ÓšYè§sSÊëR9²Ÿ9Ó3†U û,ùèÀÒXÐÖü§cmÑ´ “õFQæáÁ@úߌBfÀ]Ö,"|˜ZÉ#²b»¤ÿÙîß+E_b—ßœYCMƒæ ßLì#Óa0zeÂNáèf²[cg/ONjý6R?¥ÎÊ;pA o·©ôã[•Zu±¼3冻t£GËVÚ§:|òº¿–P†*6qN|ºEò)àÚžüºôJXR9l±Ëz—r¡dRgŒƒ%Ü%l\—I,­Ë•qÁ"_R +Še¬±Òp×ôj‰Á/³<©˜oo±¬VíÇu]ÿº£š¸P®Q¼-kª8æÌa?¦5¨û8ãɯl ÈÑ AȬ߬¯E¥™ž¹Ï¤¸¨GÏ_/ëØ€ŽßA÷R/¾õåO|”’Üðuj,–̯¾šßáœ]æ2æey®¯öŸ$ݶŽ…õŽPa|Cî4 År¸õ}µÐ»¦ã]fI­ùV²Hå‡Î•Èa½—wׯ¼-òâWÌ?°2*òÔ”èòÙwß5Ú+/¢€a¾Z,–µ?Ç’e-#c1åÞ”|¥äœ}‰™ÐB} RåóꬃqmEE›ê†Z +ªÍ\i”ýhÝož[<8æÀ4]Š²¯Šp\2SÿúK8áÄäÉIfûø…çO1 +e6ðúÙ5NæŒM¹=3جßLJoÎ{Ñ$¿ÈR"z˜ë:F%iwf#±ŠñNjý žœ­üˆÏ¶ënF¬zøŸ×OÓD“’ð:Xh¼Áä¾ÑúcÖƒ)±·µ5Ñx_ÑL8U0´¬`‹IzXcU<Ú ÍÒRW íF{ÞCÛ¢h &Ö>.:±sÙãÒÜåøȸ9rôtù¾Ïê üqOé»ÑaKaâ&F!ö,Sb¿]™(û Ã&?´‹¤¸ðm”L/Lô\iæÄtò±V—Y½O$íCßƃÄ%©Èú×?ì0(Î÷5×ûG/z›·%/ZæUæÍÝ3A’Ô#Î9 +©Á;{ÐK×mè)ÑP7UƒOÔ”8ám¸›BYÅÔ< š˜~Q,šVqL&Ä?Ñ<ìÿÒjŽm4;‰ïN3•`«‰à0*=t}çiÜЛº$*íSÁ4µóŠ[(5Ÿ*Üi[aö(2u‚ÎLb”ôôû’Ev5Ç[Yhç8WaÂ^®ƒ2ñ±äžÇ'ßÞ}P;‘–s¾V‘\)]t&ô˜Æó3 @àš“‹Èÿ…‘loý”œn‚Ɍ҆\ktûÓˆ¿ŸÑ“£¼&)uÕ~j1Á¸‚Iž©o`¡þV•ûû¢Kwìð–2èÀI3]$Ððiþ?³cïr9TÛ)Yr·kfQop|Ûtƒ2SX£GMb•jò¹}‘h©0XZñZZŸ$W–þ¢«_È-óBŒíŒqGÏýKý…Ê-U‚s +Þ1:[Ðc¢"õËÔAe$«5i­°xÍNc3Õ1M]Í}ª¾’þú±ç‡Àu0…¨3½Ä6‹)èi%²–ªz~ŸJ¨òsÉ;Õ( Ï£gý^è š h™sax¼œ)QpDì/^g\—÷@¦P[J×’]¼ÄûºU²IêØëë~žÊ™±Úô÷ŒùIïyÆB«—±ºõDG‚'(0ôtJ‹Ÿ8¤òI7”9ÇHû‚±)(¯5Ê©}WÄE'æE²¢{C /Ö$®)•Fï½×.Ý‹/7ÑSÅ®3_eç¼-]™«oï7͇ÁSJÄJôp +ÿÂabü€‚ŽÓë4ªGbFθYZ»oøhÿ´ÁM¨ÒbPñ…¾£9¢7ÛÑ#${Ç’„ÇW+˜æ ,‡|u¿£¶Ã 0þ +xzK*,»›}og~²u‹RÚäÐþ÷JQW´èsJÞGi>ÞïEÛÔ5%¦q“Û#^kM¼J^0Y‚²Y)Ö<«¥; 'I_ëÛÏn¹È/*U—Ä}”^$»ÉEPñå÷²Õ fëögÊŽ> Å¸m ÁJócj¸ªwÙË¥)o»J¥¤õ6a‘‹`Lú +½E2Lkœ¹ ðÂô«vLzÖ_ƒÞ™‡¸êBy|J=¤@È{@uº…SËÎ?†ë|´·Ùý0CÉLš¢åÅK§“%’]WøƒU7ÛUÚ5P̧Ay*E‹¹/íïêÑ}’« Gm­½Ï yÔÚU°r°clG0Z/ËJ_õ½O>y  {¼CÔ}æ‹aÞ-íê ÷†AÖ‚çä}Š3§ut»Vç:VY†\ôñÒMDÖÕ(Ÿ”¹âE¾?]:èì£ü ìâ³s]Þ-`õ¡õø¼òÈ©N±{Ú!j}AÒÀ=˜çú}ðY}ßü设•z4{VĚѲW#5-„²ÅJŸ-ùf6„ØÙ„lpàáØÙmf}ÁnÛÆgÀ¯›çõÊp>¦T—ÜH z2¡ Cäžo\Ô‹dÁÿò+^ZOúèÛïgw qÊ s.mnP·f& +*¬¬¯sDd³wÔGÒ¡ó3t†6P›¬ àÝW< ßÔ»QÐC7¾úMµnÊ„öþyEïUJ /ÊŽJ¼Þd[%üEgãÌ»*uŸV°×Mé³P]ˆ± `€ƒ° +žä/i床Vœv6Ë·ŸÕ«Èfnýcq§,ÿ+1t CÀ‡t1îþÓ|}{>‹¬¼u²”«8šïaôÑÈs²üqþ¥#ýÕ×áŽ[ëʉƒA¯¨°%…¼ªñŠ‚òƒÐî¸Ër“k³Iâ[¤ûÇ£Só]AÖù[†eØQÇ^§µ&@j(I„Òyh9ôÀ«{”›çÓ *9×t/1:½ûý³ïÓ¶ß_ãY 4ƒXu³Ç1ììÒÌònÚE·&røë¼.^$H¬]=q ™ÏûÏî5›i’ ©0+ €¹Âœèm¤40â€ÁÍç“suÍ ;ïìõ±…÷ÛnÚå @t$ÖBpoxªàøvÙEC}-™r´²ƒÇ×&®—É_ÂŽ52­ð»éÖ £ý·F'Š/ÆΪgš÷|ƸãÓ*•^XC “Ç“Q!ó+èùKHrDçÊùRJp—‡ý›Fδ¬b”L^U@È3ƒ¡ó†~¾Lv¬¥ µw-¤w1F_Ûªv©´Q‰ê‚å ræϤè'°s‰„¦tïb âHÕ©U+ß¹GÑ¢{ß1NIi 0Õ 2Ož´Ñ!9Èj"Ø4DKªó³þ-gX–ÿiú»’† tg}YqµçÄo$¡vËa‹ª†Ëé 8ƒb¹ÛÎ’¤t‰rá“g-HyW8ûŒ(}êÙiEð[—Z°ˆ{?ŽÔ|þ·œé=³ŒL5,Oò·ñ[ö¬Wµuç:eJÎ1ŸœÞª ~ìø¤•òäµÒõ0ü`vùyA¿´™AwÜR5/}™Y‘n¥«íÁx,‰? Ú=¶ir­í*uLY«î›O}ñbtª~üÖa£Mbw}F¬/=žNÄï¡›^3ñ~´èã×[r©Jj›\][Q] òâÍZàrCæ@sJî¿”ÉÜzšG3ä2ý@ºr+2 ~Yñ5œÁáÊ„ßC3Žr8DÁ‰*@_’ƒÜoèxRF¬ŠùBŒx VäB E`—¢”ódû"ïê›s‡} €‚&`g^Àø¶I‹7ý8½l.h¯EÂ0YÂHPpÌšú)Ò2È.Óå§?¢'0•ÿ¦][ýü=±0ï¬&C±oùx°r8±‹7Ä%N£nË:|£æŒÜ|«™Œq>õ2ìºUÑ*¿h¦oíQ¾=’A^ËÄ*rSæ±´jö¹#“L´¯hW˜†øM'azäÞ¨›vägÙŸòOÿwð‚p‚F]c–kKIK¦¥Äíz§`…é%ì²b‹`E#ñÉ”œ÷Ë ìE¼«ä2¢#L¤I'—ªÌ»êÑz‰ VJâúÐ/ ûœ«WA~Ý7—wPû5§œmšj:»çq¡€ñ"5¦¦¶–îAÅB¹€ôp°—ìשœ +endstream endobj 520 0 obj<> endobj 521 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 522 0 obj<>stream +ÁnÙ­ Ê^è6‚ÏÕ—m¤ÖdÙ~spøC ^¨±—ŠÝ$äÏóMA‘ÓZBüÙâøÌ”þ¼aßpZ8t "Рæ}@tO•Géá궉äz”y=ÙP©–ÔÇÂ{ÅüvÒAUöe¸h’ÁcÐE½7QîÿÖJ+OÁ¦Ò¢q‰c=ä(u‚üñáuÃéke4e{°|É þ(¨SàØÒ¯_–þ¬hö¿ºÔ†³ÀÜûIq"½ã¢Ãsñ@%pìŠs†eao®Éœ7WŸ´os21€UcŸIÍ =$±8ÂRŸâк·’"Ê:zcšÒuoOvZ`aIܹvð²lN;÷ùÚ1¾ +ÿÞØ3Ÿ ³†´2×nYº­Ö!€<Œn°ÌJx¦ÔÀïó^¡M¡)óæQÓÏYOö  rO$O<+.zq1Íz¸zÙ· · @Þ/õ4†¼nYãÑA&°î¿Û¬*Hˉµ\ èÈßYÈ7@b²Ñ’9Íë5’-b—av˜,¡Ký¹#r!…Ä{ÅÃåk턵÷=BÙ† Úcž8¨ÑÌ=Ü}áÏJM]“áúzª’=‹‰ÌùñÒMƒ—0Î2ÐÈkï&ú‰iŒqíWÏàРꦬîF<ðGs½úíWÎ<ðÓȘ¸›ÇZu›]!°x:jØ6á„\¡¶þ¸ç£–~˜?¯+}(Üv†ÿ¾ˆ—aݾËA‘ª[| ™Ûê*Ücù.R¹Äm!ëë…²:ƒ- øCß96 K. #Î;1Ö‹»Ö–*°ënsb‹•‚î.fæ¼æAYfp€*ì9kq“–aÞ°Ñ’‰‘=!-²ÌÖ¯ènåSœ‘I¶p.*«C~`‰“Ç^È®¾ˆÏ3¿^u–“ŘhO(†ÂŘà R‰Q³ð‚hç7^£^ëO*Â1µ=–1¾²z ÅZûZWOܬÿ_yÆ …bÞ­Ó¹5_kø»²`F¼º^mûy3Ën <âÓó0U99µ½ØÊxµÄ›(D«xÝ÷¶àU%¥\KÞæå,ð›¡Á"`ý!ÊZ£FÀé ™ßbzTÔUC{$£­¡ñÜ¢þ–° úM1uaÒ$l¬Q‚@<ü²+ZÄ.úfâî•iN)QCÇ=+)6¡C„Ÿ²ßÑ°r¡°\нiØî3*"LTKšÀêBPÀËjPE“íÓ$ h5·Î{6²xY~ïS8RØ@[ÊWß)£Áo‘Ž¼ +:%QKŸ‹‰ùîO£ *mî ûN êH[ŸŽ,ðjÓç¾c¥€&­¸b†÷¦3͆U5 -évë!^Fñí¸ éž´ª‡’1¢hºT0§qÂ`1ŽÅ©pAWb”Z]¨¨$ƒ¥Œ–m*µÏ£°ÛŽ!‘(y`Ö@˜T4Ž“K&ÚÈŒ’¬n-¿®%·:³$s:@B©Ÿ±±øV,ûçŒØc²Ó± òZe:$¡æÇ%A«ã‹~•Ã`ºw‹¢(Ë%¾±ëov@žÕ•XŒÏÌÝ«x¿¶ BÕb +ÿÀ7ïÖ4Ãgõn5DÛÅkñ=u•,ïÖ*Þ¯·Ö.îÿ»á,ªýÃ{ |Ê`üÂÎC|>熒´XôU¦ +â3NË]øh‘EYÅqBÞ’mÚïQÎaš´¡ÙŵƒÒWÜ‚OU Ë €TêíI˜zRœfÝ*c©v +w²µ%ã PŽrJ2Üf ê°µFÿÇ´‡+ùq់t#íê!Lpn¹c»"ª;b3slRÃß­ } [L@Š ™´]ƒ ü­õ9÷6ú«Ká@Óìý«k°ð>é™Â3KöY¸Ú;ïÀ±]Kxl³ÃV¤à¯;(¹ÀIi1—“…®ˆ¶i³åhËê}ZQ7rféŒN±]SºoIœþrš¡ðoQ–J2ˆ&ÛÄ „ów>ÌU*måóË“ÑÖ@áó. 7|P¬Š–‡CŠØã§U)D³/Pt?öãà)½aL]~Üò…f_ÆâÓ~:¤S”z›9Î`Þw:^¬ÀaŽ=ÀWá&»ö&@rMn@ -:‹ÙÑgYxíB¬µîT®SYì¯Cz³««(L +Œºˆ™„‘G?z¬¡P,afp»‘)À¬ô­<8xÖ‹bUçïM}PŽ¹£^—Ÿ.êØúÞRBà"5Ì°ï€Û©©ØW–ä +ÌAö뉌ü:»…‡˜Þx) ˜+ÎLÊz«ë3_ŒuðPCðÂ`ŠÉFJø«¡Ò˜& +ùÒ¶!iP§ù»0º + +ŠFïFÒN0ÑȤßÞ5;[Õ¯ækÜ6·Wó¡”ßž6i­Õ6f’–anX·›ûì]k²>®$ÃÞHÛ° Ãõyf*+ –ª éQ/:íÖàÄ ,Ãtö3RpŒÂhò.‰†™üíèÀoA*rœ†?¿ø·?x¸D>Y0œ(ŽÆõ+£Zut ».x‡¹å|ÄŒPŠ™xN×bGò~®#yÝgÑ5%c}²Áâhð xg(ûƒâŠO5‘³mnä ¿‹I¾ŒßÞ€'”Ø ¶CÁ¸§Í't ¢JkŸà¥îJYtÉGùFàB{XžH?¤!Ҧ؊i(ÍNs­ßl¨3òQ1\.Â"4+lU;Óë%šÎ÷8‡”/p°„o5Vú,c§Rµ¼Ðú;áƒÜ¡ wݤ°JâB ­W¬»mn~öR%†¬O×ûŠðdŠI’yª¦“N ²bŒGðj²!f)—¡RTЦ¼á¶)L¡Œ¸®Yñ‚-¡¾¯ê™DŸÔ0:ä6&EÏÌ]îdÙHg^BYì Þ83›àáÌTû»¶gžóy)(`õûxéù5ȵÏêªÜS¼5š/*à 0³uHô|YdÑ3ïòØI!–@Db .Çaß”If1EeMû"Êê{Û1ªàúìšIE‹Wî±q½½v`i",Œ¤dk»9ÒðX"e³ÄÿÁݺVé‡ã>¿#jjýNp·ÉM’+º® œÙeYíg|Œ+C¿Š¹Õ˜~Qt(0O^¹“ÄI7&PSàÏ* +ÂUÑUd``üØÈG°Üo¸ dáÈ“p‰“Ö†pš¥£Œ«é_Fî!Ø)Ú £„ˆ /3Jœ°ºmÞòûN)Dß"7É¥v­½ºõ]9=ª`¤®+¸,"PƼØÕ¦T‹”>o' §ÓPš)!?õ´~4èßÁ‘“ÆÚ÷ÉeTϹÙo ¬Y É÷ßåÅPgªôFaÒV?ÊÊŸÄ÷§5¥¢{·Xd9åbŽÒýí¥Ú8;ÕÕö¶´/ DÈ\*wÍ^˜öß´žŽôZIlÅ+ø…ÿOl<»õ„ >‰µâÿ§nê›SO!¥Z[ÛXNˆHÝ×7kdfZ ¡·_óé,ðÌ.Ñæ´`YrüÊc–b”è×ï >áñ:t. ³Ýà^•ò† '¥‰7˜J™)˜¨Lßùh6AÚ<ƒÖ :o¹Èo7*¯Ù¬ûFðë¢Ï±æzW{ÿ|ÌÛŠŽx£'\¨ÎÞG°g¢2oy¼xU/úà©7·!¥ ᘂ4?ÏØcs–`“/»*“îÆËÍ8çL2Ç?ðí¤Ó¬64ȶ1vè燊„Ÿ°û¡ ¥¿ +¨aM +p°ÄSd ñÀëÍjC`Ë”+qÐl„)/ÒÞ¨1ºmÚ­YÕæ|sô//ȯœ ZøZ€__÷¹ +z·³o*çŸB¿c° +œ½+E?´OpPu#qPé,sL¡6Ž~!ÍÅ'ÝÖoI»k.ª#úD“eÕ-¶NyŸ/YM†Ã“Ñ ¶¾` õZøºúIpÕÝT½¬¯.ØÂçÀ¿ql82Ný®T¨…ý-»Ä½É,ìRðwÅô[ªãºÊÏ{ec<„2Õö‹²à¤æe^if|wÈ’¸´œIJÒDaÌÝ)_¥^–Àbª;åžeY+ª¤V&·£'°ÚS4êÄ—¯WÚ~›Òr‰¹°'L>ZbPlX—QwÓ«uM˜‡UÈnÐ鶪þ:ãªÃwDEúÛ©Hêc7KQ((Šâ¯'Ùæ鬰V\Ü€B$èæÔÿAx°Ú.¸™˜¿ŠªU¦q¶©$À=î2£Fº_›µ?ô‚ÄGÎ箆\Z"€;gðÕâ×ežkdžg]Ñê¡šë°“ºÜtâ½`Ö7%A|$/Ó>˜[Ùz!V¾n`''A`¼¹ gäÛ°i)NÿÚd5 ¦ ¬„вó±hPåa ç'sdÀÍ|” wÃ÷tk¹ßÚ¯7åiEM|fËL^ž»Äêx 2)¦—ÇïcñÒ™šÖÍ:‚}+ž‰êf ðV5ðçªêa†^†Wº,k2'ceÞèlA4KìHÇëg—õŽM,†ö\,Яã+'þªÁø^š>ùª4ã™[úÃ~PœƒRæËPíæAâuX9ßà '÷ØáÎ×´Cg[(˜G¿w}PO|®;Úh¦O)Ȧ·ue÷žg჊gGp’nî*·k ž Ø q/Ä Ð¨æÖŠŠ)ºsÝÚ€ç›Íç3G›Ãê™Ó‚âõë¼{&~=øA\Ì)¿£ +?]é Ìäå[‹ŠŒ¶“Šª§14ç+ž›{'$ù |€Cˆ9ÎYÖÒ ‰n~Àq·ápñ Lˆ½­ÁÉQ…L ~½}˜q±T þåÖoÎUr,-@KðgµÊ sŽiÅè93ƒ-È|MgíQžNo¼©]ú¶Û ódUñ½[@³ú·Às9W\sIw"û0¾ÒÌw^´ýC?^Où”ç Õñâ¤JL‘Lïf¬EN‘ôjRûàßï—W»'™æZ5é“ÛfÎ(Rgw†>Ms¾ÝYEgWéëüJÖ[ûR´ß:°SÑŠT±ƒ5Ÿ6O‹Cù¹&%Q»…ÉwŠýkžRñH°%*<ÄH>~‚•Á)òÊÉx¤ë„²uÛ­54º—@Ýé G_¬aksDr#®ÛºüP£r& ônÑ+ðqT–þ^ƪ¡;Ý™cõg¬âaýóŸÕŽ5òýöq¿µª»£'Å1.cQëºÂ8 ÇåO圓G±Ç“µ©®ÉÖñ‘Ÿ‰±ÌÕûzØ2è +VÅ%qüå`øóO(¹—<°l3—ÔÅÞ|Zu—tbâÎ8Пm)²o¾šÚ‹C,`#«TâÈÝÛÎÁÑ‹Ðt„8êáäû'ÀSØÍÞûcÚB¡º žú*\6k¢œ }ðn‹fм±@ÉNmq¸­‹6‹&å}h©éÓ.ö'©öÌìê>6O dw¸Óä”èœvÿ¿J9IZknÀÿ@—ph©ÂðŽ…)ž”o^Kx¥©gA­³â$ +I÷¬ä%±¢>˜#sƒ§&‡P;Ž¥¿PØ‘(&°3-O…÷(nºqع·ƒ¶1»EÕ3xpº6iÕyVXLTžû»z‰óÈ­7L爠©4æ#3.éÊ"EƶBÈL&—TÏnõçˆF¦Zmeÿ=ÅÒ¥²*Ëðdß8¡¯¢mÕ“ÆîõÒ<]ªà¬ +]§À¾Œ—ºµ+ŸñeIkçh³Ïá¦cÆ)Sù%> endobj 524 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 525 0 obj<>stream +ÙÑÌ$M²wÔ1?¡<í‡ÞäºNý`ñqÎ P;a75 ³%IŽèJ"gogU\¦`Ãp8ÙôÏÒ>än;ӕΛfQFjhèÊ2{N6 +–‘ˈ ™³ào¤ŠÙ8éeFP| qóÌ|²j«h5’Å«1±õVGæ5Y|°91òh’YäN;£i½œÈ´{\Dͳˆ¸bIÔY=8ÿiÿX´ùv[ eÐ}cv¯^AXƒ^3sHew´€×À¯:±U”é!7“ç±|Dà//Ào*GÈÝÀ`vubƒÐ’ëè[!WÁ¢z~³8? +Å;æX÷ý;»—Y.oÅ?œf„E–om‘êåšúõ¯f*?áÚ-ßùz +Û? ?J™ˆ76Ê}£&7K.DRïïúV°÷“4£ôn¶NžØoAáE)ÅWlÜypäϵHñ¡GÅM·™¦/lg—´{ í '`'2-®hÝ#ά‹êû–\ð?]—=s”§¬µmùªºÂ…ß³‚ÕU@çêà«›UfgY®o¤Y +sE̯,ÚÎDº Ø?¼·Æ‚ìC-0™w߯CXæ2䈋þYèCéß«Üêj¸°ÃÛÇ-ß4 ½Iô™iE:»Jͪu_¢5­0vZÔ+ã•íyál­UÓ䧙—Â?oÎØ÷óÙ„¢HIcá^‡Sr?Á£š.„ñ@V"9ØOòØL;/Óí}°öñ0&ú9Š—’V •]—\ÀrB…)kâø$Å? n¨ƒž/©ë»ÈšœíE¾CÀ-ÁWó†8ïGËïþEëx£€?08j4Ñ&^©‰KÒ,–„§¿ _Š¾2¼/¹xt:Ah T„¿:¼(tÏÙ`î·w$×ÒqKº®Ñ8}I#Å:f1F`žN7„‰E: + +3‡4”-ŠÈëIžñÀ’:tÅÿ>&Ä¡OõÊΉåJf€SG±boFOŒM´Õ¼€D¨¥H1ÖʳKÒée}ýAçÔÛ(,ÓOͪÎd%SI|{ 'nVʸ EI²úÂŒ‘þ]•–…B|ñÕžD4 ‘¬¥±äúøf @}¥âÀ‰úŸ¤ŠZÒ#‰WZˆÓY|§ãš˜":Ž'Ÿ0ÌJrtëßË‚ —(wNÅ#)¬³HVHÆeîä3 +]ìF9OíÒ’É{¬5¨ášjé¹ÞGð^”2—h¼’;–A«¦Í¬E;ä‡ æ·µ±ö£ä0zj%1ɛˉ{Cò½!E 4¤•0mÉcqi4žZç§}Ð1Æá¿*|TbmfpÛ’f㤽Z¾“›²Ú´ÁZÒ~PsšífJ¨¶~AšLÐ'I{¢þö\.å"8@¼2tt8@[_^mI-Gq­õ½z”Î$øQ©-»D2šZ1§/¿0¶Ø÷¬ŸœZq¯>˜úó'sñ9{íÿ2y}"’ƒ›eù“_øãFÎ-IËð¡Ô éÎ + +ê]"+’ŒÂè¼¹ToÌÁ}Œ?Ã7Ï(“¨îߟý£E½,¹ÃÝϹ^ ÃŽÒfQÿÇrϹqm¥uT2_GXFle–95%n—÷¾û›EÝ[ÆÜhºš‘™¤z¤ñàÏ·2%p+á8ôs +Uõ£Y&P§y·¥öï\ø¬^s™gÒ/{É°ÿb.aÞøOŸPŠòo!;¿!˜ã•Õ€ûþ-ÙPO¸§Î‹«5œÝel…ÄUÖj%³iUŒ‘ÝPüb®å‘ãzéyå{»³¸NÕ¸ÂdK §5NÍ?4µæež´¢êÒXŠ­†ïIÒ12®¾%]X!–êdòË7ã=uc+ZcÂ÷…@í:/\@ºÐf +~Î+2˜Ž˜qhøÔ¦>}¼g¥axO*MyIï +f÷g`ß;!}*¦¥) ÄIÖrM£SAí‹.uŸn¤/4°Äiº‹Â[Ìië[êi”vCþcÑCp v¾*€>­ò ‘ Ûð,žæ„{ªz+›;Ái¶áÞ7Ù{á:´Ýö‡œ—ÁÏÛùË}ªÕA‘œ …õé  ¨ØñõnÆõÛUós…RŠZ§©Ö&²«>3€jGDΦÑõŒ.›¾/ÚûòNÎi>§2;GÞߨ° €m®óI}ÏÔSq”®µÝ¥{Jÿè/ýÒ÷«ñ€ÒU“æÅTÍþÂ÷ sB•>óÛ‘§þ—¸e–t‘°GQ1$äv›&3•o&.ÇFåH¦ä®DáWÝ1\« ÞbbïÐ0(ÒäÞ†:k7«ßðé¹²S'Îv^ýO¶/Ј0!?EBE DË! +]CèÙà‚‹ ²Æ ƒ/‡ëûVjég–úzK‘jØó|µé èï~›…ºý„°i;`?D̺úÞB”_¥o*FÒ‘iпp¶EÉ2°ÞýôbÂE ÚPBCÛùÜ[Ò@d;’ªïÊQ.^óŽºK ”Ûcz›]/ÿR®d$#ý?å «öqˆ f&Ÿ|i‚0|Ç’žâ=EÃËꞆíåˆ fËÓ0ÉÌ;XÇ œH—«°WÎõt#B¢v0™$Ô }(P‘±ÎtB‡·6XݪæxMrP–ÿG¡çõ2¡Ú2áÍ -á¨q®ÂæyM{I‡WcJ9›:;Û °¸[öeä°N¨<и3~߃l¬f5¬•W„¥ÚöÐÑ”i ᢎ¨L«ŒQÜ{‰ÃvñÁX¹$qù¹þžúz /‚ïÆtí˜9ˆ¥waä©õ QÅÙ0Äu/ʱDÖùè2]'öm"Þõ¤Ù„® µïfðÄí(†w ΛEw.‰ó5$Ìi7™(Óå›Tv›Åò½¼[>Å.ܸQîBN³9EdŒ±6æ¸Òh\R›­ƒ¯ܾ†©röç™Bh¨çfÙn" õ P +Î$º¡îBâ­/0‡p²SƒŽ8œ{2¶tLi·vÐë#ëèN(Ù„ß94ݨ+ ÿWô²O4¤þªÖU%z#'¬žÏ”G×·ZBT›³Afæa< JˆÒS? ÍWÅë}6™%1¥®Yo)%"•„hæ¨)F¼Ý. ¶yðþ +I“ŽxíÇå¥À‘*˜d³h g +„xRÂòÊ*#þ5©Éf+™P ‘s ³"ûÏo9Ç™° øxÌéã›>1&Q qÒýhê;éþÔó`ü.e5”uMOüÍ+A÷½I.žˆê?üžNþi,ðw¦-••‰Qrð Áê¯0´ìw—Nˆµ»8üE ÝàiÉzK¥&=lf­{ÅC‰zA°Ä•È€G¼õò¤¤zŠØklîÙá”xB‹Géä~UL‘YB1îÑ\ΉÜtdní¢âåýˆ Mëé'A·’]¶©_íÞ”KùÝ"c¢¸È… Tg¢Vú¸’OB5ƒ?‹hJâÖÜÿ\ÓqFjp +e?ù…$2(ïæã¿¢Iι]ë‚r–nŒômÝ=)²ˆ3¶Q +¯m‰‡WB”±Q·¯­|½èKÀhàõDËW×¹~ÛD&}l$?)TáÆþ·ß¼1Ê¥üEkÀíϲºr‚]*–ß`8ek©Bi݉…f¡]^¶›ÙÇ:SSÛ×má)ÞÀNlÙç ÔˆX½9ÑC¿Po”7¥2Ââ{eý€Yv031\t”d¼èi v{Á^ÈnI\~œ3õ†áÖûzzGŒ”•N_ýñ£d¨ ¯¦2b Ä –›1†‡¬@Ëv~¦ëÌ3Aç,†_ð+40³jZ’/äëc!„˜ç[ÓgWzP§,3av“mWý|fÑRðåYJ §ÊÖ |ÔÅæ*™©Àì'A E¶çCÓÎ,ÁtRA xß·¯Î…i§Œ­ªIïð·æ‘^†ÿ¶"!ˆ¼~„u74©ŸÑ+=²xÒÕš)–D挸†ÁÔ,"«ˆ–»¶IpûðöN²!ßÑ ËMç.xÚž›xwjÎœ×QF}LÕÐ{¢X§‰¯o´!ÁÜ.æqNM´›jŠBGªh–ž|Ù ¢BìØ%ëÔšüÌч¬g5ï9Uj5ÍGcöè“s‡GžŸÜ„ær¦x§‰)WW·¬?®Ü +ù´b„&NÙf“)ç*bÞÉÀÏ@+Ķ©6 ¹=Ù¥¹Oø}ì°æþ¶wµq^ìs*o‘¢£yÃd@3uú“ÄÂ;2þÄÌï¸Åæ3âµFêÊê6óî­ þÃ…[ô,Á#… —O$É4é+5ø/¼nªv³Ü y^Ny泥7RAçe’–y‡hø‰; +lÙž€<Ý¥¡MÛ©3w YsT4ŠØ$V:øî²Ê×øœ9Âæ­ Ñ€¥ÂÆnaÚe¾Á„D#’i^pGUz»¾1Q¼È)åÃv ©~úý×ÙÏq8Á·õnG +¸á›ú§V:ˆí›¹bŽÐƒú¿SÈÊò2`›Ë¨éF‹2aör^LÚä’Íâ[Çܺ¸Ô–bÚCiDÏ|$Yrr²Z,œJcÍHâIŒ—E¶¿>=ßÁqß²pÔbO¥ò,½“¯æôŽm…#r%7œ$€"§ƒRò™+¡¯/Ü,Eþ© ªOê!qQèÁÙ籧&èaW°O +3íž¿¡Eá¾½ˆ„ßduí˜óg·K'È]GŠƒróæöN#xvèFNî?'$à)Ê,Ä©–:°4µ yܵÐ&Èo‡+&ínäâT¹WâcoZ”Ãh³éÅQi²ƒlÓF¥Œ%\)d´ebY—Ñ—kuךÚåÎפī“Ñ%R>jã òêJÌÝ&äIÍD"ôqðã4‘¼ï1–€ñ‰z͆¶êóŠˆ ëÓðÇÝc4e^ÌÔ1ìü\­.ŽMwrñº]~jKh¾L˜Ð Þº@ôü)¡¿=¹‹¡Ï˜¹(!òx™sIüâ1L=¥v.È)Ù„Ô¶i¹©Ÿ ócYß%yôEª¸£½9rÜÿ¤z„QÇ… n"ËÃØW‰Ö¶¨Qø#à¾?[rSº±œÜ`z,?‹_D©Ø‡ Íç³·|G‡‚¼EDÇþŒ»?ƒSgQ%J |•ò¾*­]ð Üµ4Š¬%±‰÷)PШüá"éOŸ94þÓÈŸ™bò—¶éÆMù]ö–_ŠèçøD løíÄóîßûÑwZôàßÝl“ÈjÃv?k,×–M1ž~ª¡ PŠ#&ŽsµŠŸœà¦òàI£[åˆõjrÉKIɧ,Z„Ãy¶d(š—Y÷Ó¨[“ð zwÚ´6Bô_P¼´ ‰è<ëS„àó®¢âí £ ›&€þŽ¹Ú%ê¼X—û˜‘"îz:IIãï ¡ÛEþž6²}T‚Õ0Oçµ Ü!†š¯Ÿ@У¸º¥4©\X³aE;äÛí"E£1ú¼Ž±4dùR8Ðç9󭥋 †ôÛx° h;3­•CaMJ†‰Ò|ö&£Ó'.÷µr ±êð:¦Î{‰ñ‹c)¬~Íâo Pçs±ˆ}娚 þµ‰]ü.±®7·È.š›yQrÚ{þ@4¡kV&”=£ó i²ÜÙÆÍ, ×ýÏÛaöÒÅ)/ý€Oyá‡2‡ÎY9YÌå+Ñ0Ž‘~Æ?#‘HA¯ƒÏkÝù˜žpUsö+âiRuùž@+º¡.4æXl±³ÐƒNä1bD›¢·ã½ðO÷Þ¡TÚÊ6鯋qeR¢C†,%Ò„F á<Ô.°·ßz$¿ð³ã¨k‡†pÎÏCg6ÀÉÜëL«Ò¼‹þGäŸsa™ŸÙ潫Î^$š¤a_›KË¿ß zw‡„qq;d0&\1î +endstream endobj 526 0 obj<> endobj 527 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 528 0 obj<>stream +{+œ|ÔÚ·%}ÆoAN{a.ÓïzyÅèôXÐÜpjh¤S’¸Xâ ¤S/3R·“H1¬?½á³Â¼ 9ü¿XºÀã4>Q²B¼Ö YÕ¶.Öq=LÎDVtAq¿Ô¾=¥}ÖNÈ•µKiš‡ðÿS‹‡¸ž:!ËÄq ¾–´ð]{“•¨á£ô„m÷R¢ü0¤æH” ËÒ!²ü=óNˆ"Æa$Uy 4ÂØÔm^Tþ8 tñ•3ï€4âahãs«µQZö:ž~»Wª">ÓÈãfô?k7"0K%ˆ^|g±¡óÒ‹P•|MB ª½ºÐA±Zƒ€`ª³DÊ|ƒ:8ÿÛ /œ°Ñþp¹Ôäë¤js¿‹¬ýê©¡™Š¨ÔtNð±9\áÎDÒöqéÜ^n]<ÒÌýYõZë?yvâõ=éÇ/¸˜‚.‘ÄEC[j4ˆ?RXjƸ߳|¹g" +r,8zý:²­¢ÐyÙAÜ_^{Ùˆú<Ïù›jWú­‚A7›ª2‰„bž”Çc¬\ò(ÚëM½é.Ie\$Ý6:íÍýñ£¨pI!Ö[ªk¸ì¿JÇ1Ý#—n–€)ß¹=q¡Ð€–v»IºØï{Ó<‡sþ²è7A¡b_XUÆ­%1p6ÍΡ¼u4³AôËË¡W|uB™ZŸónŸ·é~ 3ñPdÌërT ϳ¾2¯( •˜e(׸ö/~9<îgô¨b”z5õœ…廇¤Z·¤}9ɨ!f 31 +^N“€²}]žhŸ´ïÕé gcêƒÆjË rv(sr†ÏjY<&á e"ý‘'ÿàI3'}L7½I_‹n¤s±¨J¸‹ÇmÙìE»XÝùÖyùò`{ü$î[›ª¢ÈfÍ´s¯?ûáïÜ aⲂ%_8jÞÐâ¿Š¨Ã(&Cf^½ð3¿vÈ›í5è`Ä™’ó<±K cÏÃ^âÕ`Ÿ;c$nÁØÅêâ8;¬ýfüñQÝ ÞæþSàÕ«6¸£$ž%5$°>£ÌÏ:(ó2î‚úª`Eã|ù¯œJZH–Ðvyˆ‰4Ÿ›'rk‚§d7‰ n§âÃLÈ•ÀØêœeÌ6u»ŽwjÉý¾’ÜmßJ–÷…1iÔ—‰ª§ 'ƒŠÝç1aié…ÉbœjÄN°†F6Ì>¦ôRarROçËßO&Vü)ÖœE€uà ¨f#R±lØkLÌ°† zÇ÷f®k˜$õªg>“$sÔ¦~e°Á-¥âÒ¾KQeìH%atWN£ n¥¤‡’d—ÍÉŽb°SËûƒÇ0Ž4jò¾Ïßœù‹ SàYÅ‹ß®ê%óM1ZŒÑ7ЧôÈ÷\ÐÝ‚3îóÛȵRBNO~tÉ;Ð\zRì¦Aþnµ9Hûeûsw=ɸ´€çàË +èÅ ŽýZpQo§û¤”ˆK2¹vWo4}lç×NØ™3Ä©i·Ú¤kj«‚ûä@—eãáÜ÷‹–H:'–ëiÏîm¾¾Á™ã^ÇWX(`YÔ–x”3ÞÔà9K+ØןŒdä I¹MtË´&p ‘ãÚ“Ã?¦¦]Ç>íîs#p¾&¦Å¥ÚWkín!+ŒþY‰m±ÍVäÉLÌ×.™áý9Á?›ˆ80þÙDF½¦_7*˜¥å+Úó8/Òá_:œ[¸NDê¼0èrjùéc„–]¤ÿ¤ö)Kì´N?÷±ÈŽth>÷ý · CnZªÄ`b´1~¼„”*¼ðù·‡‚&ÚÓÌ¢wcóýÚΞUEd"Éò;TL°±ÆO6á-ÿv·R°—z(”ÐÌ”:úü1ÌïÒ0¾Â)tÕ"…îÂî>º[–Ý8oZQŸTBÍ¿V%øŸÎ6]î} ýmÂ"ýGDJõ ÷¥„‚À@(£ÍmQ:ÛÔêïÞ°!Íoð̃Åʹ‹lŒ!àŠ’@–ØšL›y»ê +ŽðÑ,åZë®'O)Á^Ô,`ØÝ…üqŠ¿ìþÛûó*„ªç[§ ú@õ¤ RÌäbÿ¦IŒ…MÝô¬j=Lâ¼Æç—º5¢¤!áG+ÑS`˜ç-ž„îÞ…H*¯0Õe¦§—¦ÝõQ¼ Zza%²|lÚWOqlc}ð|2ìÓ<ŸpÌ>‘ÆK6‡D"ÇææÔòüUȘY;kò 3°¹º}¤¨eYží5-û [¡“½7¯ !²ouïÉ77Ñ罟ÄJA…ùä $XPÞæ}à¾Ý”"Í-÷Ì-Xf§ý¥oèçZÛª€"ÔÓÞ×R¦0߶k‰° +Þ´d<åVƤ? ¶Ñ}iwBIfÝÆ,"S¾žA¹Oã±À¾Ó éüÇnäª„Í á;¦üÉ7“E›6™í¤òî(,&  Î±;½Š]U0ä‰6ü}Ç‹óI{7­{û…J[˜;T¸µäåbÓ\6kBèçŬQ¯ÌG »ÍÑ:˶‡ƒBü2Ÿ%r%rW” ‘¿»ä¯Ú.†3z D­´ l–ï>Û byš·îƒÅKÐQ«›-¢ÿC6G›áhœÞ¿J”,|KÉK"°<Á…j’R˜°úÕG—$£äYLfÊåE·E|ñ•c´ç:å­‚‰’Ø}%7βêW÷€X#™ÝÙú\;Cñ+ËCÿp@Ç£8§ÓýCˆM . /&‚€Iû™a›ÈÀ½Ä¸ÔŸ˜Ûû7!è[¦›vÔ¾LeâÏL;aÀyÃáªNÒŸ… +†Ç=åÐRA•í^\ë6ϹÙãl hØБ'è•!c¯ÉòÞiŠ6"'Ù•ÝœG´+›ä‰–¨ 1¾KAž÷[0i£wµ#.ɧ©ªmñÉã°€äÁîL…qq™J³mÅÞE¹98`2(àl~k邃Œç #ïžu¨±}§ï2Sugœ´½÷Ø,Ó|ºæ“Ü»ÙcçSCvs\ºÙ±rç;Š{ûveðcpVsC pOØÁŸþ236ÕÎ/­w/ãSÅð¦ê‰ÓìN EGIf!'¯Y`Èü7ÙkËj'{59I$ä2±¤èÁ]—àPøA'L&3È‚¬a°©ÿžSºéK–ooÇZ<*!Ÿ%Þ'Íf5£GVÆñi¢OUüM3€{Fš(Œ•Ó³»H6d½‚µãØÃð1yp L•ä„SayšIÇZZÂvÛ`HŠðï ,Éù, Ÿ‚ û±(¼Xy”xçú82çD¸R¨û¬‘{˜F©)%!BLË+ ™Ñí­ÿ"}éÈɽ‘ŸZk`^s!îh~Ùë$9a›“!{Ê¢wT×]Z×hò>-¾T´4ìêÛ Ÿ¡‰å!ç†*rÊB þˆ4 +áX/ó•ÿÖú}œm =ù;àf>+ GGRæ÷݇âõø±óZÖþ!å4æï”vC’0À“óÖ§€R +RH %¡,0⥊ÞL›;)`{*!YÒˆ·‡¦°Ââu°ìÑ]HR_J-¤"çBà’C°]1àuò8ˆDþLOwIòé»ã½›@× ƒ Q]V àö;§$—¼T.0-ññÌD÷%TÞ=ßgQm 0n§<ßµ$¤§¿;ô¡Å;aQÝ–ùTýÛã8^×_Ú0ãvQ¡(é°s{Ó¦œRÈ6ã£QÖÌÎö“j¯Þ³ÐîóËo´V°ˆ%zô\³}½ðò÷¹éºF’2i*Q«!IÞ—¸w¬qcÕ–ƒ{¡„váÜ¡ŒLÃ@Ía½òŒ©’Ÿôt©¾Ëô}z¶1;ŽýÇžrˆ–°öyü_aJbW¼;¾b¿ž¾¯"Ÿz €_X%z0™•Ì]Ÿò‹ÎQùjaâªHŒÆ¯~KÒÔ š°4Rê¢ÍS›— ñ™Ý +¾*’\2­½BË*»Èh§FËÇÇæû‰ŒJ"Å‹^Ê¿g´GÔÈâ„¢‡(ÌW>0­•²ñ±CáþˆÖϊǶÄ )_ÖýM+fú¼!Õ7.3¨ÈØϼÒÝ.ƒ¶ôY-E6ÄüI/r´ëÛW«3:€XÔB‚aÅnÀ0Ö(ßpÀÀþõݤ~?Y™)fÙˆ„oÏûˆlmuþÉ.?‘° ¬M…£¶zTÞ¤@n‹"¤º'òøélfÔ‚å©jeÅ%ÖÖP9Ïý˜ý2¢ì±Bà,Ž™£a°ÌÙÚKiN¯ýþÝ™UœÚlAÀ`òZP‰-Q“ÆðšÜ*¿yŸc~ê!¹§*|4Èjô§ +Û3¥Ãhè.KÜùÊå9·¢W´@FbˆÈV½ž×œÙÍ‚ÚÄnɘ¸z+TºüŸ©ý2E-ËD‚dþãjË#ÈòI¦þþ伃·?Á‘ÁcUŠ[ªÚ‹¹n¡+¹gì'%P1Ý"‡_*tÔÂ¥:6«`dØaݘŠKè¶ÝñÀ8ó•û}U)nìÕ><ïÇ®r€O?•‹ÐúΖУ7@ÞÊyç½fAxËpÐîmtù1Òý`­E¢¾Pý6«$yž°Þ—ÁŒlØèe4SLe$Åro™h¨Ø²oÐŔÜÇǧ’õŸÎ¨‚«„Ø;HyLG¤«ñfswîˆ9¤þ™Ñf8ç; "…ÃbâÈóëIôƒ +Þ¶³pZìr_ÚÉœ*íп üœ6d‹yôô$%?ÆúQ#ͯ¡Ì‹`éˆâœÅ)Ûû0E¦‚DæF$ÜâŠÐ¬42¶Ì蕳2ú’ŸˆžÛï´içóíI/£:m ª_d¿3Øi8`]­Š„ a²³…`©ÉIà©ð[w”ðŸ—Û)óÈ7³DHÝß½žo*ÊC¬½ßbC t7¤ïQ@äDä*jTÖ(;<1mÜ*¡û4¸G3‹û¶î x~ .ëˆÆkÚЄ€œ¥0Žå!,ï§c|ËýžùÜÄxÞ ôj>¶Ñýx×F„[Â-© ĺ'+1ÏöÀ5ñò̤áÓ£3v6l: ‘v˜O¾Ðû¯ßØýžah¹¿€G-C6i/‰^*(€õNèÈK5¬Å—ë»ïgrí<âq¶…Dô{Z7ï=×|?6¡µöW ¾öÞrþ%ÔäÙw¦É6=ߌÕÛlk™ÐÆjmšš(¶b+ÿ–mïÿëê%åß­N›Sí­÷Eb°¶*c×¾¾ œØŒ®\›<<ùE¥†äåDð'>½Žw + +endstream endobj 529 0 obj<> endobj 530 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 531 0 obj<>stream +2S + m8™yé#§„Šfæ¾Ncì‹èöÙ›9¶Yª´øžÞ oÓÓ¬Õÿ&Rir½K­½?V#U1–s¾VÝLÊIÐñ5]¯ ŒËL»™zŸ}3ÙfUƒ2:QvÕáV”'Gï5eÊÝËú¥¾°é[äüMÆZ³ h<[ȹÊk a7BIÅìPûßR)÷©8«Séz雫ä¨]6iñ<'!–—hhÙá(Œ*B*F _}®ŒCÌFVñ³u±E3'J7kU”L'“\ÖM¹/®#iÐ\̧ ùªM¥ù" ¯ø7~v=fVPÝå ènˆð:¤RÔ! 8ÝÁ˜Ù–ß ‹Šê(G¥c°m‡@«ØÑæý‚­ê߉îé± +¶GésVõØzèsâÂg&úLS‹ +: èK9´ðLa*:`:øºÝ!¹9ÆTŠç‚fYøâ¶ÚPˆŽ;8Ó¹(1¨/¥zQûmC9Ô©°†AQÄÀ&ÒÎ ™{/•Qš^(¦Å=Ê÷!ƒõ¥Éåï`™I ýô;йa™Íå…Ý ÃhRvµg÷c—·_Í›]Y1E)È»¯U)fC±‚•î> D'åüÍd +¦Þ_ƼÁ³ò¶‹£X-.-ƒžúôážØ6$€Ðø‹cvYš,æ°!þ)ôÇO‹~(·«Ô14 ã1ið»*²Lä“p3¦•#úêxq<ë€:ëÉ¿.t*°Ê‹rC@à&Æ«›:ý"ÊŽ¢Aø!S$ ‡%šaÔŠÙ² ÀÚ¿½›ñÿz)|R;ŽWq«*Ú……ÔR3´?hÙÞÒ8FæŠßìu9Txe QuSM)Íå%[ä¦æºýZR7§öÉ]Ð1aI£&~~Ø*/&‡‰è_Ìíýå4¢¤‰™¯-ñô¤7ÜæÕŸ&¾nÃ1¶ÎTš°:ÖùX½¤\õ^ôþ<¼>S/¶3R 첼ʜæóHgâL¦:¤f€E±hºß{c{*×5öšTXqK ÅÄ?…tl…§Ï®å’õ$Wñ|€g¦Ce[Í̈æÚz +|ë~Û©I•y-AÚ¹váØWÌz~œ…-²ÚùÍ–Œ«]µe›˜MEî- +‘¸ÁSqÇV“£q®®½«¥Àzçª{÷:›°:]¹f±ø¿?ù×î̧tƒÇ†÷ÄgjÏíö³ùÄðewùƒeŠj$è&yfŠ„˽¤1B%­4ïQq¹‡dÛ¤”µ™Ã°e@Ú*zírûæÑã~ôw\F«”ûKýßÝà]öjµzh%!ùÆ4˜†â¸#@k_æÁ8 Z’$57…/ÂðûS‰Êyä—Ƀöw•šcžhzÝ™¨8mƒË¦G\• Q âáÂìp.s½«Mkk1…›}+Ý’Û@-Ô ißXpF€ஜpÅ\½†‹l´Ñß79Éø¼é¯%~™›±±¶UêŸÔqèÝ)"ã⸄ôØÔ¤Ö" Iýµ—´¦CS<§Co/•íÐæSh¹.ŽGL33·èð¨è7[ È#fUlËð’ðç[2œiIǸœP s†RCí"9W¥ÔÄž C¶b"ì”–Æð]ƒŠ}”ȯqÂ>{És6–ÿ«RPÔr ô~Á?ú@CßD ¬ú¬}½À#]ƒÕ¨Ãüë!¶ªUà¸&ºíЧBã¥r™©RgÉ^»*4”:nÓS6ƒ[${'nCÒT)áñïpÁãN6©Ž³Úº œY‹Z\ ÊU‰BIù»‰ª£TüŽ ¢ºvIì e;?8`*”áÅ™ô•È3µíy •×’ÿw¦ -‹SÉ^ÒœGUx%4åýCS¡E%…·ž–%}ó.>g"ç”r•KL=ÖÊ»×ÎÁvQ€·H?°ÉI5±Š³íó‘êATy$\§çÙÏÎmÆ„ë®Ã=t³à%àI3Õ HÙ'((IV!2 ŽãÄ·§Ènö[)ôðn§PH­Z­$£BÆlÌmºaHî`¡ª±;é1ÿUì½…Ü”>v—i¿9Jh8‚X zM‰‡Çóp»éõ€1VW^sf"åZÞá[{lPÓNòè¬ûGÀh¦]iá3zÖ¼RHJ½Ê3g›årÏöD&—*Ú3S‰9CŸÈØSß¼"¥ª0m±7ç˜+è˜Z2,èá†þ1Ÿ…l*Ƙ$³9´`0½´âÃbIXÉÊÖ¼Ð$Κ†3­îÍ–ù§¸å^U"\D⯞/s¶.Ý‹‘ýx†¸l”íÿ˜Ñ½"sWÝçüPš™ïÃ8ábF +œ:µÍA|ÞçÝšâ]ª]ëöÅé[#Ð +¢[`'Žå…<Ýo³­k”&•\QUulÃ’0z…[ÿ¶a°Ø¦p± Fño§°¯¼ò¶°f5è › K–4†ë4yÉŸUÿÀVW¸ƒ¥³¿ÅžÑ¬µG²úúÏðÍf®›ý¯›â™3œ†Ûž±€‡ýäm®ô7bàÞdöCEm¨þ bp'Ç]a!|¥‹¢ü‘n1ÏO˽åÌJ&Ù׺¼–¹é†t½—6c…)t*C!v"h)ö/Koã›ØÑ…+Úkß_v•ZÆ>­²D_¿†¿âª’˜‰é•Ã”#1 ÑÈÚù)ÿ^àÄ¿¸õ' p¼^0ŠÄè€X/xJÛõµ³€~€3zïå»ÅÛkfóçIñ+'kL…náÆeëǧüaòa±OÜDÈ6DŒ†ÁŒ-F¨-áAhØɉĺ¢¶\Õb˜¢BÏ4i«ÄðÅCpnµf·òin´ßmŠ4Ñæ;3 „§Ã]Ö³œìKz±¨›L„¶§K„»íú6x“h‚cÙûöJ„ÀÙâlc¸ûÒÑØ „y '€šËèÛ¶5²æ‚~kÙ)N‘|d‚ôñ6GKÉ#zÅî]Ýt‚¼ßº¸gp§³I#5àE°hðÇÒ»Šè=ðzJ¬cpÞx:WÒ¡ƒ`øôã °¬ÈD€ø]âo£“0Cþþ”ˆjœÖh?óF–·¥ìO³¢ØwÍþƒžÌÅÍÞ0ën‘>߶·Á^”—ù<ÿ»ýÞÇâã¿J;ƒSÜof^fo+> ÿ7ÞªD>í4šJÔ_Vœ¨]È@ì“%®•'§ÖVЊ·"szVívˆù~ƒ˜\¨>È‘‹¡-¢ý4KlWœ–žËH¬®š'žë%-aàájp +(eY‰;óCö ÍSXüÝ£VXÐNæãÀðÀ£…šÊ{nv@;!,ïJ=“°jtg¬'p9’ÍÓÿR$15ržñ|',Ÿ•"ü#‰eÐŽayõVº1BBHÕ´‘ž©°DºÅÖ–¡3¢[з¯;«:vO¿Ré¶6qŒaÄ}Lk`]”‡è<þÞÙáÛäÔ4¯yž¥"•³Ðó–g–ã—SÍ{h@fÐ>³n•$siaå3úÊ,”ü›»­¡ï‘Úù| "ãYÍÂ)f08äƒ šX„Ô.•Æ¬‚Äú¶$NÕ¡0.Kñ C»›2J¥U< +¢l}GÙ ‡9K;åU€Bð7å´Ï +ÎÝ*ZDí½¥²çQcœýBüllâdˆ¤©Hó±%vzH¦û ~Ý âõðæ?¥•@,¾ŸÕsD ðIMÿmZå7sòžß<-ÈÖd[‘) +†n((®ñ/⋵¾Åôy8¹Ã#|K÷Tub,v ¦ôc%„åòD/ôz„½½˜e*ôajdSŠ$FñeøsaPÌKò\HAé ‹2mU~Ø@ÿ/7nOÆñ%q[œi1'ìõŽ›¿U©Í#¥ŽÚÃc…Ðɇz“ÌÚ")%³4KëYìv_læ¦ïb¨yeæúAÎìGÖ^6g)oLìÛ á{韒€Ê*Fh=ö7ïšègä‰ÂÑpéFäÔÓ%Ãë1Ž8Ü&Ý#?ÂHâFÓy’µrÒ÷/á°f^aúrÍô:,°7vÄOÕµ€þº  ÷¿7âhå» Ÿ‘%QvOâÎÀ˜}—uˇAôDñ†[ü×&(«ÍÑ8u…´ØÈŒ[‹Ä-ݾ›8ziÑp“>e…¸-*À$ÌFo™z|4»(ßnbuG¬|o+ÉÏ­¡¥“—@ÇT‡?K8·]×Êl‡Èzy4° Fäò˧Ÿ¼†0Ëñ|”ŒSÄÔdìfOé'ùS$†vtb¸µnC ð}¯±¥äL‘r-Œ›úÈ®Áy™cOßXóʪ¡ÂÕ›¤†4ý-ô +¤BWöÌhÚ(ûzó{Ÿ¹fHöSᚣ,IÊ^ÔfËÔÿÇàö¼m9 +*I¡ †œ…ÉlØE΄ÔFÄV¶Ít}Ó¶Jt¥[ „U%2#)À¸|¬ê­Å®3[7‹Æ{PÉZ=êÀ›H\(("ŒÂ{þžddza2º€= y‚1ÝAiù ˆŠ Û€ÐFÇ;QÖðìn{ ÚÊGΓUØÈ¡#Ü^Zt®qúͦ0ݯ*Uäz­‰ˆ™`›Œ³cNWðë²¾að6øPZ„@2¤9qzŠRÉŸþ$t5(`ML|©jÜbÐúŽ¡ÜÀ£›¸f²"%bLÍ¥¶!HÄwAoÔwcrˆfô($h²PË%ú¥ÜšÑ²´'œˆö+–]Å G´Žú^¨ø¹²'䙜nk<9ƒCÎáøÑJ†'ÚÌ,¥Ã×hðÄ.ƒpŒ¾d›\C7ª(ˆ»Eïò£Êæ@P­#ƚϬÐ$™²HÖU2¯­Iéz#¸ÊbÐòd‹ë0¬7'þ¥3åIö×'§µÃR›¬ +Fí—ò¿;¹| +4kç¬ñÙAƒ‰ñ…*ü~ÙX²eUËÞèX¢È¥wR€ÉêÓî¾£bh«8A)ÐDÉ$hÆlì§ÑfêN_}}ø6 +d"JWó›5­=‡{âÆ>|¸tŠ²²Œ/Zdž¾”QåÞçÆ‹Àl¼¿úÈ~¢¯1#0$}Ú|H`©Öˆ¾YcX*Þ±ñ=<ðÁG/.»ÂÂCüú¤¯¡\Ðu§þ¿|‘#(VrS¨s­™åÛÏ¿M`·_ˆû’(>+ùtÆ‚ú¦OÈR žÓ ^P/ˆµ8)2:íïÝ +»ßô©Rw­ »_d4Q&ñÇë;+–Sð`ÜFŠã_êw‡aЈ=|¯%®’Nf¹'UÇT€Ìj « £?åÁµBŸ>hÕèÒpvƒdóº©n0Pø‹”´ Žñ·8ÇUÞ0’²o¿¾ñŠšË¤mþ–;=%wÕÉ×|ªá"…?Ê< ÉÝ©~+­c_î^¸ãEaÚ‚ó™-å²a.uDëXn³¤¡âœ–™´i§;–>e‹ÄðDd´Cô MS=(ˆü ¶œ³òÇeÐ’€½öº<Æ®­TG:+OA¶¸’myRËDÊãÇÂ]ÕU÷n (yœà"ňÃ^´Æ!–M‡ÚI–V +šŒ‡gíášSXÎ÷?ØÔ.Ò {Ê÷r¥Û!Œh¾Ê®ö·YÜÑŽuü¼6~6Óz­}r<.¥Á%|BÊ?hØxqCnyrÒ,^ê˜ÉèåŒMœ­«‹ ±ÐRAOF0~r/¿:7ÚúcbL +endstream endobj 532 0 obj<> endobj 533 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 534 0 obj<>stream +o;ôà®hÈ“½¾¡RU_?=ÔFâÉ’‘âžDGä¡(È:@ö|]§ïÔÏõ®`°Ek~ŽÓE%ü$¡Dþv@0Qlº¬.H‡ƒ„º»íý‰[:{–$°E-½ÿ¡~‹¬P’Q<ÊÎŒ˜6Æitž¡0ümSÀˆü asy]”x;ë«wß3]w*¯NíW¨§7¢H€ôDj¯’Uðäkb£ã®Û¤;™Í§7_õ|ÀÅŒå‚Å,LŸ;»0úêrtüð‰¡Õv,ùKfM“ꢜ ÝÈßq¤ÏUzè÷Ëë‹_ù2Ý=é­jèõ]øM”ñ .šÚ1Dôçë‚q”S«{v/w]|JÑn^Š—´ò§7u+Žæ.ü½¯ô'›¡œSg4f8}”cÒÔàÔ‡ì +Ÿtñb%x3WÀRŽ™²‡ü£¹ÔäÄ9ÇiI41ËÄŽÆ YHZMߌéÅ\‹¤e*·Ê’4`OYo àsg`P: +(¢_Ý—\Ä}S §V€€¶êÅݲÙ dͯE›ºäw¸€ì¹hdˆç¨2½hRµGó®‚÷Qô¨™!ÉáçØsËØäîžX$ÃÐ.Q¨G,ŸH!v#5R:ýP*œSÁ¡–±Q„2T¾}b‘ºx|¯Žwûå³¹÷è„}x9ä}é1·0¦ÎLM„»m- a\ Tfã?@I›.ñ•/‰4 )8>Ì Â-Àq„/íwká~£ÓH§{žã Äõn !É&´Üg·-móÙ7猣®É›kÈ3'!0â§Z…0~«õc-¨c'cмMMXû„(îìù.ð*Ôûv>JÜ:©Øê¿#X5×IÀ¢§aë™þ³ÎH-hû¸mª¸(ûgU_w¤œ Ÿ6_ÄÀ°Îx¨Ã¢R“àû°ÛË)þ\ˆc§=”¦.!?½³ÇGi]1R@]=AÏ­$FN¼ÏJ6e=\@µÎ„¼4ä½ï?Ô†šåÍÜ{ô6»Ümª_Þ¹$² ¦šQ¸®'Ïv&˜>å×üln ¯o"ck0G‹->ôãX廢Ô×&þ}+Õò¢k@ØwQvÇgœÁÆmôÂHâ‘!Ø‚À…zꯢÆ;WQc­4@Vy‹àÁ¼ ygÏü/!]9Õ«û6J¨¢"μ Œb7ô^‘-É•&ì=ÏP*Î~Ç5G!>&øv"$bz1ñòÓVuéç ¼v½XŽ/·‚•ÆÓ(Úcü{]«ľŒŸ®‡¦]îféÜî,ííàcâ¬X«¹¯·cŒwÆ 3骎ÚrbÉâ¢!½ÙÒˆó'Ò¯bþÇNŸ¦ µ½=*–ÍÍ0w݇åYMöÕeæ$ûÿåæ¢îÅ +&ÐŽ¼­@xüu,fHr ~yìÏÃ?VGùc`A,ºqXHYµévÉDL¥ÜòñwÙÍj¯tÇ|n|[éùOËO÷*2vŒÌjyå2Xø†*!Õ+šÛ¿ +è\Õ˜xè‚’|ˆ}‚GÞØGV·1 «¢ˆ(ß +¼Qj¡x4‹ò²³1vTKÆLÞI”¿¥ðÔÕYdxl3Q×B¶”@´Å Ÿ^0½O˜ x5˜Oë™~v •Ã÷ˆ ÈD’°.Lêð½E™“ôwŠBõb²­›„öTøŠM-"Ø'¬ÄøäŠ&;B6Òx—W­²¯¶ýN“÷Úé¥W8ŠLv·+¸oÁckÑYõ'Yë[x ñ^³¯®æ<áOšìÅŠ±|׊N¦~CMªKø¡øÍnGŠÀ ºà}¶‰kÛEÄ…e!Æ—Kó´-œËî‚›|.TuJÌPà q†5)™–¿F,ÄQy‘Ç&b°[éÏWT£júŽµMþ^ärù\ÔцXLsSÔŠBê±JàÉ6–ÍýB6òÖœqfEE<DE^°â»/mmÍ›+ÏÅ.®•Ñ‘<“ +~»%g´fT$®+'ìo{ºø¤ß®ìËt*¿7Á]…¯c*àk} Új8¿Áu>ã EE›C+tXìWùî²%Õ.×2 ’щ9×.Ìw9Uç[EÆZÛiè +S *àÿïÐꥅʠïqªsxIBNW+È.è^Ð:¥Ó' Çrƒi çô¨Š]…«u‘›êmUŸuèRõe!á°_c9òÀø>W@ªÁƒ/?7J‘©yIÔ¼}ù¼4Ì›U9mî'ºQätÓGr×çúK’ÕEÈpÙ§¡…Ð`WõŠ$®ÓuH³înÏ Vùɵ«€ÙýŠ2¬Ú7¸æÃݲ3IöÓàS3g}Ü@FgÒäÁ¤i¬0iìDhÿâïXìp¥€Î]&è_÷VGH°˜nwzʪép ƒ:¢ê“œ»Š,¨§†cÿ:'S ˆPš «ƒ,¡zF·‡©^«¦Å%Có£I÷ÇÑ Bábºý¨.…»µÌÞ–]i@òzmXB+êM¬š,ÇC“dR—æ‡aËï%r¸Äs-Û24'ðËný—‚‘V ùê±Ý +ËSê|Ÿ4¥å³.wý%TšUs…£0ñF¢Þwq†P³p4ZçÞíüÞ¢B@G2l}Ä@Ê9P(¡Ì÷ý¬ÂqgZ%Bè2 ÚÚ¿¬ _Í-%f‹¼èúÀ`Û‹yx^JÓ©‹ò‰ŒmGM_Lîü"UÃö$K|mö|¯Q%dh&°¢ÓRP¶|}2¼lj>íaµ¾;µ IDà'à‡²¥ñv»¾"Ìz© (›ÀÕÞÿø«Þƒ¯ òÚzd?÷DåÁÞ®Aÿ@€ÂÕv „ugE5ÝT’J’b`M˜ÃÛU76ñ^,‚ÿ°åù–üJx÷†è‹ ¸‚ óè$x9tÏïçj“ÌòjC‹³j¡fÓqˆÏMB¾ç»Ïò›)¼ªžÜJºÅÅRúÔ&¾ye¤e#~EûšD…ˆ¢RçÑÒ»‹_ôm„ †KÖ;ݹÚA–é©8U ß±ùǹ†KÃ=…\IÇEèƒØ0qM=ëÏ-3뺔mTξcõîŸàÂNûì¶Zq”þ3'çbÁ q}}‰g7-=Çc‰¹…ˆñ±ßM:•:ãUàÛÄè¿Ùfz I „CFö®s_;á +~ó­Ô\Éÿ3æXñK·}Yn ÷éŠ@¸}Qi¾ÏšzÔ£ø Æ %}“ÖÓôj43ø×#ôÀ²I¿HNBÉÐGzd9®ä6Èã¼×Ïõ*Zu‘6Œ×À8'€ÓNíãCa‚ª8F]R xpˆo]M+Nøº¡¿oý/æ""WdeÅåÍæ“·ÐO½·gËH~yD©D¥þ£ŸJb«;„DvIßð&q!w–§n9úÍ%¬ËµÒW¨IÊIkó7MßÅA¯q5Áö[k…K+G3¸‹tK›Y×r¸ãL™÷2ù>kL¦”A  ¨„":¿¡<“Y8þ/yù Û´»“ž^;ôß~„M}ÛXòr(»%HîåVNù÷~öÞuê +ÓG ,kuÇ÷urS«Œ Pö`„Äž£`06“ ðƤ!!+”e©±Ê Ôê×ØGà \øÑ‘zIDP„P‡ä˜“~B1$©Þ™ëœ±ý¢³=Lš:ý‚¦F(ùžÚŽsÓNQ+OíL*Db¦ d*Ið‘1t›²jˆ:+Lè +‡2rÇ“Äp«úëÙb¾È_¢x×Ô„p6wàˆÏmׇzþ6Åúyÿ ~†fžÌð›Ä,Óƾ×UÊ ôä]o3E0ÎÍ*$/ÀœÑ5ì/[o²ºWi»æwcºjÊfE±üH˜p®Ð”ï’©•ÜaøwmÑ)ë!ˆ¶ïùG#‚tIÉY + +[Õ j‘Ytþ[+¡ýø +endstream endobj 535 0 obj<> endobj 536 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 537 0 obj<>stream +°cX­5LBÍ(¥·´`û˜}í+ŠÛ¸!ýaã~¼Ëb[5ŠcPh‚ç=ý…®Å¿3—1ôIí!1pvðæst£Ý+­³ÚþÂSKô´Á'z) +)ÍâL±¹§=ÄTUÓÁæ’]ûÇȦ-L° ú§¦cè'X4‡Ó§z©;_Í’ô}÷ì“*Ø"Ýh¦¥6)Çð0ÕwG[ÏŒ×ìm+©JccÑΔ +¦8ó&œKW^¼±Z•Ò¢Ê bw0]Ý̪YE1=ØZ¾Þ8(#ä·Êm OJÝüµ¬LxOQ[Æœv¨e^€U£îÏçø4à šùòE»1Br˜ÖªúD#“Î=é^Y+\7Ú“0n;Þ›×ËThõw.† 4ƒ$îUäºO¤S½Î7Õ¦6à5Ñv"¸wñbºv u'sS”ßü\a¬›sö†ë`‹@Ïâ³ùŒ.·Ã€DqEí‚P(VæMÖzÚ-LÐÌÛleÍKQqU:^Þ‹Ë¢XL7,^.žäag¦~Ö%ÿŽK!i$È=SÇØ}"“ýiyZ[°‰n55çõ}Õà fvÕ•`¬.³äEfÒê"h.Ô|Ó‰¥”E pÈ"–8ú™ t…Uƒç]Îh«ˆ ƒER‰ñ)fúö¾#6õXa”`yÂÁ³ñœn¤Ž9Nsøz%,ÊÝÞþpiñã‹!'‹œ¨¬ŠÁXDX­Š’ÉkÑtÀ[˜h=õ)7Œùly§¼Ø1Î5‰%TcYER~âdJ»0oÿEÆ“  8@„[U%:íocw »¸ÿO÷úºFînÃBçKŠÑ^u/åY²n7ƒ¡¶¢kΦñ (RMÒqêíZgN1¯LbMéî‰nä‚Œ¡r+ÐÂeYØ~c[ ÆöÇñyKé¸}‡¥¦“_ÐÅãZÍ]>õ°1òQ>ù¶¶F9Þ1¡zHîBÊßÎÜè‡ÖÙÔX®¶½"ôÜÂ9ëú”ŒøzZ¥f´œÍ†QGÚQ’ +3û-ƒ7ÔÅ„x¾5µÜ¨éI`ÒVìÄ+©sløÎ'ÛZ̸P,ÁWÒ Ü9)yFƒ!Vuk',˜Ä³Œ>¥[¹Äª¶”G¹Íl«¦¿[~ˆ._ÔZ&Ð8Ei+ƒÓòzëV€-ñ×Ý>Q?à“Éž£¯ø­l†¬”@ÛÎö‹ÅR*hÆ2CcWï;™wwSQ óYû:÷QçaÌÊs`XÃ, ÃÅÙ•¤ôŠó´åÁðQÆ“n°³>9‰†$O°RÞ¿;mÈ‹ vy[/1N E¡Õ§ 7Úâçà;ûE4iÉÄ|„­Ñ¿cŒÖüK½ü= •¯kÑ<.!-"ÃÊAÉ{­lÌ´Ò•dšd¦¬Õ¡RÛ—/ÀEfÜ°w½"t ì_2 bVHûWÏæfוg¼¶§æ#žì” òZ¤e“ï¸Î†IÄÿr^«#_ÚZMѹ÷2Ö¾mîžppº÷õ6q+7¯ÔÛPÍ6Ä.X4ß]^?ÒN¶Þ‘‰^À%‡üÙÇ9¨zßBΖ÷—Ée‰SíÁíÕÌÿÏ_W7½]ÒŒAàì˜6yͯ“¸z¥ ò<›YÓw ÙiÈH ]p¤j掖D%¤"¶ªØ—p ¿;p ' áµS“ÎC‡#‡òÛŽ T@äT^¹³‘,­¾#‰§@¬MÕ8Þ47l¤ÎÇ5±ÿ«åšR}?:DåXT¿Õî!ŸUÞ¤Æ_Eš£œ~ó¨‡}c›ž÷R‹Ã]@þÊâf³ØxÃ'ãXi/c>Ž+HîŒ[—F”e«Èµ1›ÊÞH1î&Vx•2ËnÀoJįŽ¶N™k¤eQs£’ÝÅCÙ]6&×–$Byž¯pŠ¼~+ú„ºéƒ0¦oßô•´kÞî›BS¥™Æ×M` R´ãðsJ/ž ¯nÍöv‚غÊ'HñQ9ʈÈKÚ×¢¢3Jvk~§ÌÐùïX`ïêxAn±Ëöv³ŠôIÇI;V1þ²"Ò\ßq“7ϡߎ R¶™U<„4˜øE­þTÂÅk`ÚPÿËÙ¸³K*!é᪬‚‰¨Æ"«"Ww±6݇e÷KÝ8ÛûzÄè¼?ÁÌéPÈÉÑY¯ÅAz³\¿§Á  $ø%ÈRŠttø‡8ò4@ +ĺßR‡ÃòÑ êúÖôØã¹7zÖd^Æ–:½´@!Ób|ÕñzT-ÏhýŸñÈzV4µ¿ðFhÏ2MùMŒÏ;ñ|8x¼OÍ ïìœ$¾¼…FÖpX5´M£òOq¬{$¸I$ºOl¿,/-0ÁòbDëÞ¢À+äíùÊwK5ˆZ vÐ)nƒ²õ!p»µëAóêùÆÁ ÍÅ·õï0çDÝ„ÞØfÑÒIÕ¿9ÂyàGÀ ç?¨ÍL‰×ZgÕìȉI¨Yv3±1°uÜÓÅóïPŸ úÕëOãÑåÚ™ÿå‚qB™’Ðxïž<ÝáO´þlú*ƒŒx]ú$QÈyž«È6÷œVŽ.°¢ýv.9ÈëAã$”{ó¹¾ôñæî{ëËNâ|Ø×Ü! Ë&­³ºT¸FI†0sq§:¯å ~›=Õ^'Ø.Ð)RÉq…Ä\°JIáï#(ÄzF߃†ÐIU7::géΆøXr±ºK:ØIøp¤Ì÷Ì kyUµa¦éò5D F$çw%ýóNæô*pÈý1¤"â™Ç¹•T‘™2ß:-8„k/´¾JTêkŠ£Iz…çŠI³CÊÑöpDe8[C5í€Y– ­ ,€D Y¤†ÚÝy”)³X q3©Òš ¥Õ‘ÙÏ·dgyæD#ì»çp¼`ñóÿr©“yoœº64¨å0ÿίº^Ø›BÚÙ☮à›mhô^áUâ-ñÖ¾ÿÑÃz–_ß’*„¼$ܨ¦!“îɦ¼>õÇèep:€-Ó  ­Â.(áQ?@!¥[\îé± N°½±ä[§O:÷$¾<ÂŽ–*8´‚:åéüƒøõ  ®Qì4§¸÷44Y܈Éo9Á!–yRè¹}˜>˜p¦ªcˆž@;3Ô·©%:/!DèèèÜ&›_o ­=ˆÁ’vh q£h(Î\-|°(¾®# +}Œe½VÄßÞ×èêk+VºÄÇãEë[XÐÕÒŠÎXääìNm°´—)3rÚ_Ûá¹eí÷_i0€IÎÿlqGøº‚D¡j˜ßbÈçK‰®zMxªÛ¢sH¿õ>ýHP´aç>«]Ä œ,N>ø+–¾)÷¹ÿ‰·üº‡ÔÈ^²2Ë: + /·Û´z,b—_aÅZHDde8ÕC<,Dæ:=daEÉW4:æušƒœ™ ß釾à©KÒ$ ìôp?î +ý§àu„áÅØÔ¼ˆ‰oO©uhP4xhúgeüÏšgÕ’Ç™&&GÏOʇäa,ÍDCõ¥P_4œ“Žg*SÖ8U¢1o±kYJ>¼!]ùßÅØ0§·é¤kg4Ïd¿ÔxùžªÆf+hOt·XèLf) Ùż—k‰ù£ +[îe6„dÐu Y‚¥ZÄò·Ûû`ð²åw3†ZÇ ¼…P§b®ÁnMlþqXp9GæËY³e;×–ìukÎÊšŸm °ÚÚ¶¥’~íѵ•Ï!Oªãóææ¿ë6„ùÓNnc^A„)¬¥ìS9T£ ëEê群Œ2ƒ­ÜFù÷丱æ,raÜ÷¯¦§.Å :8â£e)× ‚9[²«X9 GÁ¹´½£àOõ)…Ëø{ñ^Ÿ;“1ç³ÕÉž +7Ê;&5’ysg1‚‹îa9M.̾ª-×Þ<ÕŽüpŽg(²{MñË;6¶¢^&é v'gî$~ñ×!9|E> Ãœ™Ô1ÕžžãC)> Rõ5é9 O'8l%»Úµ¢"OÍL»m`[gÿŽq‘%T]¨3e")75±WÕzؒ٤P•eŽ¸(o“— Þ€Ée«Nï2œP†'@<ÁY%î^vkØ¸Í +è,N÷6Eg:Ý,ôw¾³L:„²C^p_×Î3],8ršH¿E«4Äê ^öO«}ß›ÄÆŸ³£$©þfL~×4ë_;…ûàs"ºUÁnÑœË é£ÔV£9Vysúà_D²ÈúAÑ|ªàaøêºHÁÇ¿\Ôs{i#¶¡;×0f9+ìWý©\© «N´k´þ“[ê”ï5¥ç0„š¥Š¿“¿$§aEœüóÛCÐÓƒÞÎèè%N\„l´þºkNs.­a +endstream endobj 538 0 obj<> endobj 539 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 540 0 obj<>stream +ÝŒ™‘óJRg´å=i÷R@iä?¼ìÄKf¥ÛD¿²tËîÂ`ÊÂZÇàzêü8û#pP ijúµ4ûtìX2|‹‰ë›™¼ý¸pÛ–[u.3å Ú (×Ò‰íÜ›ûº£–ÏîgýWÌ‹=‡ù«ã¥¨”™S±']ò¬B?ik•:i{c5ÂŒoÜ9Î)Qˆä¦ +ûk+ñ‰ÈÇá˜Ð&,Å·%ͦv(2OÕÃ7qí)©!µ¹*R”ªÔ¶‡mP$•yÏ(Wæ`d üNvamK{a¸3|-ZÙâ‰Ø!sÄB¸¯BP×ßA…W› +9ÿsPÔ³Öf–Duây°«ûv_L£”OmYiç0>mX÷ºÐ‡öþï¬íá¼—S´yºÈÞKêÕGì°ú½lï4=;›”âÀL°©ÿ$QÜ7”6³A¶FÃø¯èLa„¶éˆª¡!¶Œ|áxuI~Ê›Q³"Ê€fI.J}Ù–«6lAÈ +H±ô­t¦ÞÙÐËAªÍ´/ÍzŽ/‡†þ_™!;h$Jâ”(2Z' ;?ä²5%]t¥Øð5e-_TAˆ%Öú9âK„¥¦{ ¬X|´f{ÿãñ”LÏ.·bJv”æ?¬~Q [É–«ÈˆD>ýíÞøD„¾QýqDèöYgL`T1ˆMüÙ¯Ÿ†§œ]œ½&W3åÚ=¶Å›ZkÓÙÓ=â¤Z¿¬¹ì3-‚ßqÃú`lúÎ…\ÚH7ÈôY]Ž¸!H;´V%GËÖù/…á¢?³Î7Æ›S©³–îñ1 Û]y[-&”Vú¬`x–WÈâ.ªˆk|硨³÷~n™? üaVMU—’éH>D¥8ðÙ†,K-­kûó¨ZO½Ct|—Ó¥Ëÿnæw‰^'…½—îìVqÛNœA¥Ÿ¥jÂU©ŽÅLÝæ u+³™¶¢ÀmÂ…Ws¿~=LÌàã{€¼4ESÊvÞH!#œ{í(}€¢“Aâá Žöÿø¸ìÂæªÜðøÕ$Û#ZÒC½¯Œ2} +Âñ›/± +‹‚:¥¬|«åŠÂã,“¯Â– ¥bÁ  âå­hü[gÄKgþw§fHòŠ ªW!ìÕVƒÞ“ÖvPCÔÁ)v_‘ÈÇÖBáo“ËÇÙ”r]þ㉚u´ÁùÕ4D÷*úÿ©:±QѾ”E”`Yu'ªf}ô‹CÓ¤ö…ðÅŽîB°úK´ŠSü¥¬Û%Êw†_y·ZY¸ˆû÷âR\îz—™©×­‡rdßÞeêKøÏAÝóY•ª?©ëû› —@âóS»ù a 0‹9–%DÈ»¯”2Ê(°³êöŠñhñ¯HÌ«‡D$ݪâ±o„è$¥'´ÝæíRzŒÔ›¾>ódQ{ƒÅj1 Éx‘š¼¹À©Àh„RDØ5 Œ) ÈRoû!Úüåßy2Óæ/Á߯(Lò¥»N´ |& £OãíÚp[O±µµOÖ©—U½€ŸZ +&ÎWîšäåhH¦Oψ^áÆÇ„Äõ’ŒïeHïkQÌ[ü-ƒâÉ>3Úâ„zM§,#ö¤€÷ /‚?0‹×¯Ñ—{º&'ºP!¯–lí]eZU nŽ¼‡_tÑmsa¾* ®^"¤VÆß ØÞ«#‹5´RÆ÷2•è;(ã'Ïá€j—g–ý„/ÝKߎúW6k<9­Ú+ƒ½ý%ml©û¯Ò¸*yòºãÔ ôùtä|’ä[ó=ͪ%ÜCû—\],#k=šÉ®p£YD’‹ÑWÞÊ·–ÞÎ_ƒ¬H߈ÇX+ùYsÌ¿Ð÷Š~Kµµƒxµ™ª‡Ý¥kè"à÷{ °uÐ5š©`c$œ°îúPs¨*®"äì[o¨óŒ½¢ÕTÔËE¸Â‰€S(:Vh«enùÚ%kìjŽ€Ð€ÒNòÄeŸJÚVý) g³—Ëæü‘S5öÿR +%—àbk’TY5´·àÇÁU «1€:D)b~Û3Ù¯":?Ö(·´·®wÝ3ÑÓ£R@ì –zÅ7ëºR5ëÙø¿xv•[’_…!lºõôš¢Ÿé•SþѬ…$#^ÖàÿÇŽ“];K®•ŸSèÅ{ð¥úoÁ_Ÿýݶb²¤ŸE‹õEÖ÷qëWD᧧m•O~¨<¦31 ¾l•y †óòÄ#T>!dî ï®±z KñXf؃RDÅÈ·LkZf9¬,¡ê¾tç6uúåâ+÷¯&ÞȇUA™,ã!{ág¾œ(Ž”Ÿ7áâÊ.˜³×Ŭ¦vsÜ––ò´/X +þü®ÆÏ«ä˜ù*öŽe¡ÖÏòZµÕ:Ë^ã‘BÝyìëºj6YÚD)Ø|oÐDŠq\LÈÜÇ—XªY1Y·×Îò˜ÍÑ+|Ò,Hd×S}ç¸(&h&:ùÝ×ñŸo¦¤&èë¶g±Êæò—Ç~I¸oNª¸úcöÙ&¦.¾ŒŠêk[ê8ß\«¶ ì¾®?Ô£$‘ßsW…Þ¤<{nf‰à~燑ª=m€MÕ™x®&,­§)1;YMÝÚ)Oóqå@<`¦›]d¨".ÚÜÏ:s"Á¦  ¢²àå8ßÔ‘w‹7ÙU~êÁëÔ”"š¯³L% ô%Á°|Z1ó{ÑÉfIaÍb¤44ˆ ¤µÂi‘^‘!ePef¸öª#®;8íï,!N<®’6/Ƚ¿âL"ÚVP +a*Á ÓÔÃU«GL0ÈNzy=S&Øyø¸‰ó½× ù}4I“Ý­ù´‘›êÏõx w8ìsóåEsá­¾`ªöô^ú©hTB(jèêG™q~Q‹ÔÜ q£Â²QŠÐªÙç®Õ;ì|xî8îX9·ü,ò-´š˜ƒ­=xõ ½Mw9áæò~ÖÅY·ÁÖèØ›Apþ8xBj½Iñ‹`àÖ§šþâ+/JùíG(«uñ~Úòt'&Ãw¤žvŒƒo×”úø[V Í•0&VáZ: [ñz'~ ô°»Æ¸³O?ö²›¯vµIšÔ¼7¬‡Wä.WúRáOW$¤0<³¨šÕúŒÒvOj(׸éËš×ô:XÚ-SÿáËæv¥gÀ"hï€iŤY0Æ{¹œ­…ÛuÎ"¤ÈÛ|³pdçA]t4dOPÈ VAY“š¢Ž Ä’+ó¨õf7$‡eÅÏÓ ×QQ] Ö$=ËW|Àñ®RwgÓì0â’ò 4Y&¹„ûJ9€ðNmsŒj/öºtôh/§ú¼¹V†™º”—6–؈äZ,„·ÊVþóB‹=ߎˆÚMŠ¬TÒäääØ+ ïU€ˆÄWäCEÑ„|8ß eïcZÎÝÖô®ÒIO<Ð ðØ w¬«KDpJª¾åâ j‹J¨åYäL¶ÿDU&ŒM(Ð +P(•Uæže4¯Þ–›P’2˜0ç¥æYÓ¨ÝuöC éèJw \d¹‡ÖœìO*ŒÝwvZñ©Ôö +~cß+;Tp¤æûÅ*[ZZLÚ…Ø;Xî~T(’^5ˆ~Å•gò=ïôß=Áð¼Hʦ³@~$J¤ºë_¦ÀMœ+ÄPŽÄ?hø´\?Žï f‰lz¾›È$Ð"5GõÇR†F§¤ÖäftJÔ ¾®ó·‘ѵiC#T“«\‰7;u¼QP™AöÚÔßüº ÐNd$;ÿ½û±u—çSTÞãU{…CžC +ü[¡Ç)!÷4…‡àŸºÇTÃ&¡Î€ÙØ-8¿7™’ÅÄNP†õ@F}r N@‹=vžiŸbÞOóÑ?ä)}³WS7V§ +ö;4ŽW^«ÁЃÂÕU®Ò ÊUýæÓR¦$?”ý¼RƒÑïƒeåÖ(éLQ×È3ƒF\Ý*OÅ×ûÐC×›€^ 9ÄÃ)ÀWóñ¡B †¦óQF’™;È8AÖ06¬dcHŠHþo"m|]-~¯ŽŸµJšŠfØLzV¿uïjPÀYcÒMÕàˆx6î×¼0ëæmØÿP }wzT‹•ÏkAì/–µ°þŸë¿T½®¦[ôõ—Óˇ>3eZ=÷–uཱུ=Jò„ƒÙèDçflóÓ¥üÛèa]J£kúÛ^µDèìüh»ÃOy3†ï e¨CÆÔ + Ýç€SùŒ££a?˯‹6ò Tôrµ3>y†ü¦N@tŸ _?ÍèÞ5ÚÆEM“:êd¦•Ð/èì»mµ*G +)å|•†$†»Ù•’óîZY(³3…‚ôMÜçUŸ‹nQ@¯?4§1ŽÌnÄä¹v}T=ï'’îôªiø¯¥YÆ©ì m‘FS¢Ö +ùqPÊj +u fJ¢øó;ÍvbÛp?oq½‰RùTŒ£c¾Û£ m«–Î!iÒR¥.‰·t·)ì Ú)4Zob'°}a–—ØQà믵äx`®©sfÌÑ%ì6mewt˜›»&u³‚¼êÛ¼´ ,Å6`Œæíq Nšç]Ã^b­mˆ¨K­æÁœ”ï¿U_ ®“ô‹t> endobj 542 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 543 0 obj<>stream +·´{¿,ä·¹Î(ñ§u7±SVO.rE´¬*âX4fÑ|7"’ŸºáÌ?Z ›‡¾ ó5_ÅÊ‹µ×:lKÏþFÕŠ YÕðt4¬®½ûy`KW·S6Fj(;p„|›mp›ŠgSiwÿˆD¼öC¥#Eò5E’Ç”> %>á¤6û?:‰ õÃÀuF˜í¶aê°`N–u{ÀÔ«ñÈ8Ÿ Vš7§² ¨϶¡Ò„ui Œq¦RÑ +„TŠð²ü4Šõ³«™ì I¾¤Â²°9:TKxIu×ù±V7úƒuF–Fuöù®Ðçg•\1i£ñÙµ>vMä~ +•R´ÇRå¥Ò´‡œ/K'#Û™é¤^î.(Pìñ2fŠ ê·¼("‘B*öû:H¬Û*£WçÙÆŶ UŽ7w 0A¿W2ÒЕ®,4Šª}HI‹Vå +UÞë_b\wÿǸcj±9îG…èmy.Gëû~a¡UÎðÝ€ŒLÀi}DähÒ° ;ýU~É:þ-Š‹}>9?RƒÇ¬«¡÷ ×)ïÆ’(HÜk„ç/fT)àÔ*‡“ WþÂGwø^‹Ä‹‚@ÜáÙÒ{ù˜1YZ¿ÿîÔÕ~ªªÎÐÀÓë ßÌôŠùÊc²YÊB~ÿåõÎ[áu P/Ûþ¾Ð1£‰P¢bÉNm¼_ï.Øè°G£ JÀŠ+—ˆù=¨®6§¶¥ ø¼ ‰ÇQ¨O„Ûþ ?C å8zˆÚ†*ë/÷ŸÏ#Ö3Ä}kß½¡þ״ƈ l*Z¢Wå©O(ù½V×3;êì7¦J"ŽD.4ÞU…,˜{›¡Ú~&}nÏ·rY÷¸ÝW­G'*ómHì›É0d)ÉdÏò€+RÁÜ,Ž¦.éï¡ùµ`ÒÅžz}Lõi ¦ZòÅÂxŠgIÙº‡ ñnZQAíd˸ȳ›À¢äFò6"Y¤ålÒÿ#¤qœË Õ¨žâ+žPѨ)ÆTú³.ü†€ã· m†hp -DzyCŠVOZòËë) MúôVy¸D±Üö—lyàŸYv 4š^WÕ¶œû¥õvÍ"ìÿ$ï”~œ¶úVÄÄvÞ°íçI3öõm»øo¨4>‹qfh„_•¤X®e,LÙ£dضó#Cnl^AEñŸÐ£1+ YdÏ*0UÀ8y¿þë‚'²a3Œ" ‹-ä†&) êÀÿ({Ö›Û&‘UüçÈÛ½8^ŽÈ¦ÿÅqÍ|»3L8,Þm2zE—_ïõ„:Æœ$u¸6U,„†þuišH±—Ô|~eÊÚ&¢<Ý)j;÷´ü>A)¸Ü÷y±^xŽˆBG‰d+|–În¦ªY5,–v¡ÿ½8Uƒ­5[ËåþšǪÉì‘üTIÑkÄŽ®”}ë’vÒ®W.˜½töN›” + ¬Ñ®^ø Š„-X0ô;áHÚÇÔãL~¨s¦SþáªH8òâCÔ+S>¿J¥Õ”¡Ò’ãx­Ý Û”†WÁ~+Öìá\»ªÐÏëIŸ€}·{¸ÂµL!:"f¹ÛÕ.a—šÿˆOÄf SáÍÚÝ÷Eñl{„Áªðp`:]ƒŽœ? v7îÜÊÕÊtâÀbÂU!}ãuZ$Á„\᠉ݨ¯‡Ì·Ç€±îñ…ÓÕ%€ÊæŠ/ežï¶½xH†p2Ž6òÛõ¾zìBÔ%Dor¬1Ãê:®è“ý† |FŸ‰íHü0ÐùU'Ö jU:ªq*|óæM0´y¹’¶,GØ°×s‹£+ú‚wim@rneD§ëÓŽÙÊ/2]†"Š{$©?Sl¦?å±:wZGl—O~TtŠ¾e}‰‡eµ“ý¨[Ú5”è]Ž.Pcù©…KîVåcN© –©=Àë!ÑøË9VRÓ°­ µb˜Cò¸šÿ^9ãŽrbŹGL[{UÂcy„LÑ-4ªÐùš¤5L¶vŽÛUý,Ìn›0ñ×û*ƒŽ8â~ÀÕ>”V­ wkß[~™$\ h0«4IØ=&:>ð!剒Ô!Z¤ÝÀ•@×âG?èÝËLdÿ™éöËéÛDZ¯8Ä÷\–¥L Òr×’t %"nË™]t"Fòßæû_÷ÐZ¾ Ñû>Cׯ¹†ˆYAÒóÖy®¹I/&nÔdákÐ^ƒì€ïrÏ¥6l~½ÛÔ>³ +“w–ñ{æør‚‚@ù!\·¨Äê×;oœnwekZ°mÙ\égÝr4À%¶V)çØH@õžÙRxòÜâžn…Ì •£Rf{ʱ&‰¾‰ÅÛl,”~ý˜ñÑ‚»e7 ¾1ÍZo3ž~ÞH1ž)å‚"‹zÁiÆòs 5Z—¬E™(½7âÛ=ºW´3µª™²v Áó¨nî&@.ǪûRM~'ë@¦Ž”BŽH–«+­bKxE±–A&ÉÐmÂcfë¤­Ü $æã2šQ +aš*ª# :š+OåâüßÙÚB0,B·ûb">%1Êpã(édÉð–‘z $Þ[> 29²œô.†|âc)¡,ò¾f¿¿dÙðÏ-ò´TÔt‘ØhÍw0šòA¿u¬`…~Oä2)!f¤&kÙe콆¯¿íéFÄ-oÀÑ6 _MIN¤Éæ¿ÚÅY·´êy{/ ªP f&ï#ÚZÜ_Ï)/»>iO_Ýõ_–Ò&m»•ìwyOÑRa)i ¬¨YHq±ÈPo_‚öëúòÚr|êd¬"BAèØñ=6K"jêïÀ ŽÐ‰«¨§fN¤TDdÏ+½=‹µÿ0ûùS.`E‹+ntˆ²H)qk#g¶k²Q·ï̳üÇ:0Ø YúN9Tã¡5D¼Æzƒâƒª|ŽìÛp4|ÞÉW-%šXÃËÚ$âÂŽÁ$ù§¨­Õ$>Îö–HŽ“(¿Äïv^çÆay#/ÈÀîþ™êwY©è³­=ÊÕé1ïÛðù'@*ÃFk΀-bç3îMî»Å§º^ÃúÂJ¦¹%ªïÄ4=èž½Å}««E<Ø«.î„PqøÂEr’9I|õÙa¬ßÈV%:WVàOš†¦§z‡(eò{bMqÄ4W ¯SHýœotÌró²Ö ?ïm„±›2xÅQˆmP-·vóèáyꑤBÞ,)×÷næ‰ìó8ÑÙÛWlXã’%…æ#__ó§ %/x’½ÆŸž²ÇÉådŸ¯ÆXª§…lHYT„´¸‹kY|¶ 7úHŠ:3Öϳ«j=û±êŠÀæyÝx÷þRcL3žÑ…_ßüqáºo³²·Çв,2Uö) ¦DñTxžù+^_õÀÇ»aÝî”Ã3ðûÖfX„Çàü1Éô³¹8wl4÷R'¶:ÒÈüH1ðS÷ûODjµýªl^êX+lfÊ{ikr…ë{býŠçäss‘ɼqó²V—º`÷KíÔߺ¡Òz’0;mœ½Ý¾Ê½4ÌË›†ýsàOŸ›Yplíj¨6/Äâx½yÊ–ô´ï6¶afáÁbbÙ×>ÓF²}ÌvKù3­Ø4ƒX©£?éwv¸ú²ÎÄÉà¹v‚ â;ì[‚ëÌñQ:sË”ü‹˜™]H•z}S¥ÿ©wWý1ÈÕú="ûømâåíß@íÁü9²k|“&¼$8‚p¶¦:i'€5‘f§Q±s-óÉ~ÓeH~|Þ¦‰4b^–G¾ˆMýp•– JQß[J¬Ýpk  tãd(sh€%’À,“«õsxå‹À1€#yÀ 'öè9éÄ`B~…ø¶n¿aÌò„åNê ¡i৽òsV%Ù0RuÆ©Ý÷ð6…+Fÿ êtí¥)ŠÀ •¡Úî$ŸcÝF ™™àKÄ®““U‹Š¤qj˱ádF÷#9s··¨Ô‘@ oÃ{tºqhôäË o¸ò–ÄŽŠ%ž9öªåÈà+þ^—K]ëÑ×mÐœL$¤¬—!ÁìÇçú¿¨‡ÈSºäŠŒ H±Hîï‡Áãê•^AÝuu#v·§0&Æ:fí Uœ%£…¦ +ÏÀŒ×+ótt„Œû_ `ï¿=*=e$m³ÔS¯ï¨"t­r;¾ãY5!|Õ&Í-AóM¬m\P›ß?yü²âƒ\m.@ +Ð}÷†Ò'«%ð <3Mœ£Dq}÷¬<22D|*Ä ³@5™½z«8NûˆL–j„xœ-Ú– Ä3–³šK˱}j @àiÇÖw÷‹OÀ.ò4Qòò€N°m§àƒÂ5èc0²NT‹ !p…g#Y87udqú˜îÖàÙ´Úx¤ÜiçêO·†âÕICˆ:ýî÷ù”‡N»_GHfm¨ß9©v£ Ϊ_34'¿q«&M¼kÂ`þøͦN’wS–ÏsµÇWÄò±ýã–'Éþä™ñhKf_nÇ¡…=ÛKÖvêî\ëvDWñ½‰cäþý!^h·ü04¥£lNH1ÝÊ& ÂL¡Ašg ù|Á9€87xfý–ší=¶Åâ*Idñ̓¥@ÕÇ/ë*߶>¶¼èÔ‚ú¿MÞÆ·e¢ÙRœ´Ne¼Tâå_<×¼[õÝ>Y9ª¥nãZ +5ÁŠZû0±1s5¶P‰™ ¥µXÈnóÍ!ÝYÿ.‚»¹YK4„)}" ›€˜RzüŠeÅ«4ª)ZÎxЈµˆJuB¤ ì=£ñ|!¬ÓüÍŸû4^eK¡è ôÜ +ùž~òM OÙ»žPF7d‚94IÁA¡V"¡Îî°+êN7SSXÁVÇk +±éÀm©7VõU1ž¸kzÐ +®Ç±ÆÜÄ>1‰ü] Û=göñ(óTÖçy r[¬§9¬V‹žÞÀ¿qý?Ùì `ôdD(\DœÍj¶úªFü›fäqûè#£´=/Ä$Æ®gí÷ý½×áCÅŠèåiïØ×2iÍgæ[\ûÓ‹ŠSèy\;ñnÊãÒ-«ô¨[Oƒ¿vÊJêjOËO4µÇÝ{.ÖˆLÇ ¼«U_Óˆ­+vš‰årz‚Ndá*=qVn —:( ÷®¸¨šSܘº_mÕx§»H™‘‹½»s&P Z®ÎÆA½CÚ7iîõ†'™`ðð¿Lb3ŸL›ƒ^ä ñ#Jû•b ®[âµÌÍ_åÀOÿÍQ!λýtߎenEí‘â„{ê`Øeœ©¿‚òU”ó@8{lÆÛðG Æg‰aÈýd|YÓ@7!)ô9þ%Þ4-ÚUÐxªÿhX¹,Ùíº‘ÂòÉÜÁî/ QÖ%¿e…î¸èÄN>kÊ~-OÊLÖ…Ý€‹QG0”î¢÷ÚÚ]¬wT-Cˆ .Çöw®±OŒú æ,É)ñõµñP1p1¸Óö*"ìâßõ¡ddýïůá[ð¶â2¦ÿ–·‘Öˆjј»£²"Èy'©»mU£ŽÚ@UÌîæoæ’ïᬙ#ix†Š^¸^‡ÏRá h)Œ,€`ã&M6¬}£ º'ÙÈ"õµø(S?å™v?uŠæ»cQOiZGS„Å—!äl)C[8ß=Äñÿâëuºûµm…px1Dì\û‡ù¢ØO½]ÎÂ"‚e³?“|V2›†¯Ãh²RÿÍÁx£íD +#ûí/¸–Ÿ›7´ìw¢bÌÕŒø×ûáT]er4&!H Äój·/ n5ê„yãð©nzäÃ&¤\¤Û²Þ¹9M|2âûáðòýyU·Ìsè"gÇï[`©G[{ÊèÓãEÞâ\£ñ'ÅÞDwáh|Él+zÕÝ‘uŠ]W¥Ž÷wFGú Ñ.12Íßp ‘k#ÉÅ’»&Û Ñ:'³JU$ô|(ÀPU[|§Ÿß̬:Ko`\,߆󅊼ÆBÉ5§ ºýîË®ŠšiKa²= +º6ZéDŒÍRõYtQÊDv÷t:\áä¼¹Þ½Šù6Б3ôS +Bx‚è» +âÒCAš¥v^ì[’óŠÿ<8ÿ'>»-˜þ‡Îñµo*W]H§1OJÓ½r®òïÛuÕzÒ5ÝÕ¥SDÆÝ„n5Ÿv Å¥ +¥ ¬Æ¯FÈäwt;4Ý‚…­xgÈã1M¾Rì?)[è¹^±åo]©¾$5±ñ㱨]ï’2AE@7Í,Ðö3V Mø¥°ÂhR7\ºãµ0IõF7X' -±àÃ|Î8ÀÙp„C¸B;³Õu«Ê~°fâ”HOÍ¥p ØSorFljwqf.Ô¡¯’a÷¬±Ñ>F&Bò¡øØkμ7¨©‹YÜœ¦˜‚ì© ­Ö=yˆcU™Óˆ"? ‰wŒ4ü°øÚß;Ä&pê)ÞÚщKºÚ•dLW×c„vlZ2I„‡O`à)¯»¬ÀÆÿ—µo¨•tÚærâû3D+jÉJE 72ì†eŒl?í¡vÊnå°TÕØNlíL÷ŸÐ¹î{.„õiNî4ö?U]©m¯Íh³%$&=‘æbìEšN_K§˜^ÄçI@(ôf Þhæ®…ï•øÊÅfÈC¢ACïª×‡èYžô##ÿ^õ Ã-u¼îm{âþi” +K¼©à ¿‘n íÊÒ«Bë·y 4š ÛË6Œ:˜š—•¢SÖCïà8·²º GßnMií^o¿O øÕ<À®Ü…àCì¾²ô<ü;„ªmÓÀÐîA-‰/LÅ ‘C¯-ƒÀöÁ\° Ô|Ø!§‘¨LAôû/³ Uþ×õ ã9m—’.2C$Y*e5‚¸ WØù ?UŸ$‚«qR'àeã¥< ©a½Ñ,VƒžZ`¼—ÈíÅ) qµ¤Ê7.Ÿ<]…‡?3“Õþ1([2K8dJ ÒÏ9©·$5œ__ï3wï}ߨ5Ša^xùˆn"‚.ŒÄCýDöÜÓ©¾…”·µ`¦€Ýø8O7/„øóµ¼ñ§§@Mañ™?çÚ^w1Tt<-ƒ³yEÖÎu[vÙÂ=œ”)层;×Y$Ò·è`Ä“.p徊¸}²7e …PLÐCŽ¤ý#t,æ€"‘†hĸ™êZ1»Ú&Ô).°ï¥ßüDÜh9¦^t9ŸY|Ï0tM 6ÑøõÚéøû%$¶¸² ò—K)ÓRRiZÔ‹sÇ:¿ŒÌ:…³\+¥RìX±F¥˜§1ÿŸ-ÐqQj«{7MN¸è'äSù#ƒ’?Po âNlÉÆùÊ d¦ èTþ93ï0ç¡•9qJ¨…)R~µp=œµÒ@¾'",‘ÒÅÃ÷pN2þ€PŒ ShÀgp çÉf¬©°J¡%Çã(ŸÒ¬¹§«%cÿ¦×>U¾[ øÁC #6[²¨Ýc=¥9êŸX‡'Ì^ÓžL:ˆŠ¼9 Ì$ +endstream endobj 544 0 obj<> endobj 545 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 546 0 obj<>stream +-s"Pî'dÑdY‹éö8dÄsy°xŠß’LqË;O´Øø< ãÒÐÆü¨ÑÚÒSÅ^¼’Ëâ-˜+2BNÿé!Ë%Ô™µ¼Ç»¢ÕAGs”ÁýÁ°@eò\¥Ube!Çgòÿ0 n_˜¹IÝŸ£ +/ü+×8wû¼­hÇým#³òÍ,·¿ Ö¨ãU*TÇiŒ²ÞéGUi­îá(ÑõJ=r4w“ïH©Qh–¿ çÖþÑ"КpÕLZc°¬"“ ©HµÂvMD\ŽþŽ}¬xZ¬x¯MÄÇ4Gl^5?Ḹ÷ày»Ùbôn-ýÛoÿ&ÿÇMX±rª7™ »eóW …d=9o9G…×hDa8‚†¹=¤oóî©Tô"£0[½ŽG{“Æ¡—ˆ™ãa“¶–gqQð<ïu¶Â—±7D‰À@ì†2ÎîiÂuæƪšŒŸosË0ªíufá_ØÒ|µTËÃÊJyÎ÷Ð;Á•óI‚_>—w±ž«Òãy‚ˆ²  óJç“÷‹îwƒjô’‚xÛÄ4¡.ñÿOñEFÊ`ñ™ç[¤[D}•Gìs®öðbýN8R)¬eÌÜã¡43ÚEÑ?Ôñ–Bõò1œv0Áï6ˆª7»”³ø¼¸’•ÿ|­Ÿíï_èI˜ùˆÈãLû¡ÒÁŒ‚´5a @õHlhFàe,¶¢ Ñ­|2t[ŸtÓ×{}[‹VVÞŸ–kW;!ºoGHy¬Dq³SÞ–¦­³ŒÓý†âkn®ÈU47æºàÿin³Â,’EâXºUå'îvüCò ö–ÂÇ—‰0Á•0âö…¦šPpÕòdÒ»U>¦´LA†6l€‚ãÞñð)׊ ¼í—Õ~‹?ÔË"Aùeú^9„—Ùîáb]ÊÐÒP= #T¼[Üdóf +Y Bfhè!BIÜõÞcõvýE„ea”2s²Š»7A?ÑŠ¶!§kÊbHHÙHÈWxëD0”ðÖ™yŸH†îµ¥¡:¡ŒÙJ¿EiˆkÎàmYä£s1ÄLK›}†"ôbÑá:êMð7lM@§aUB®_JqE£i¾›»Áa5móÌB‘åÍÄAƒ[†ƒÞI®ÈBd#üLºï¶ßòLTáÈ:&Ãxå} &ðØ|&:¨_’’fôšõ:DfÏa“c[&Y®˱U¬xZŒmÙÒçF‘ÃÍ"Õ2ëÝpÙøwˆó%-”eýqÍF«}bwpTó·,+EiÝ?Ògtß ’qŸÐÚMÓYiZÏôźðó˜ò…]â­Aúå[Œ>ùYBp­&¼p¾ ÷Kú·Í^–˜˜$çY; +•øl˜¹Eg77—5=* +MÙWc‹Rw» ƒ>ùÔÕrV1OZøè‡îëÂá V=•^p)ÿ¥¦Uá8Ð&èÁtœÉUDŠNZµ5±E>0¯Ä’zDÆÍÖ_R`*|î@ÿƒCYÐ,5 í.'¯ ðÅ6Š™[T~ÂõÕGý7t=à+“çWµþøsQþ«ÓžÞE“fˆjçýgF|Øç—ÎÔ̼9KšÇŠ~{}–]Òiá$Ú£ÿt[˜÷‘ü/'™™* CYõþ1al³‘IX®{¾´¥‹skkÙ›iØÁÆäó<:ÒÎËy?ñì·Ý’¶Ÿ)ÛY•FÏ \æŠOsÛÂJðPÈM¿"ÿd”áP†½Ó.8fÛí —9s[ÒÄVË›F_ÖµhôÃëÙU¿Žú¡RÒ1Fˆžºù5æv#®øŸ#°âj@éDÇÑL— ®“ÜÓ +¦|_?õ  )›!{nBžˆuà í³šæg†‡0ïÍË äÅXèD{Å4ˆnã3oÄ·­¡px&Î#–dŽ|û5½æêßááCt§&öÌAΆ”00Z×]ßÏyöû(y×KS¦ÑK †‰º“ÈÎ –ÙêfómËŽð¾ÞÑ¡Y·Ý+ˆíNŒ ¤ÒñÏÝÿjÜtaÞ2MknÐÖ”õþ¡ÏÞÞ´ˆW<’|ÚbewÆAp0§;—Øs§¨*y°¤m¾õQÀâw­Ú‘"÷ Û¬<Ðð^Ô ¯ñ­\N`ŒÁº¶+™iV˪l/–lÃhq/r·ÒÚÝn|¿[dsä“N“ÎC¹–9Ô]Éšâ5N FîºÍí“x%qWµ|ï°ô*cÛ³(}šç‚oüÉ-fi-X@Êù¨÷hÜdÊ6“ÛÕ`ÐR·vjâgÔÈ°â&¤?´<´CÖ0DMä~°þú…I;3 a™r-f_^?_Ò:áð¶^b¤ãôqHWÐB„,“«™OîkB•Úð=ˆóÄ^®4áŠg8”?X¶ÍíÀ€kdà.‘00ù{;ÕòäÀ½¤M{'tÍ¡H1ŒR}.á6ÅáÆ°ábàóOTí¤.ôØýZbDÇÜ—T~gkV_áôBÛÌÛª…Q1÷aû%âåœX±ðbibO®™œIWœ‰KKô2¶wû3J®CÔŒ²ú°Æ­ÃÿFgHI‰'5zT÷=ziÀÇM(OöRRRãBõRÜ¢–ø]’Ÿ.]?]—§Ñl:Ó9Î7ÒøóŸ•ÐQ«£`‘(¨Ò0YÕôCg^VÏóö$_—Sön}h?vh…²H Fp…wµ2‡Ö­ „ž*;òS„w¡èW Ý#ÒF؉# Â/­/2’mÆÞs +’¯ËÒ´y¼¤MY¸'µ*뎻Ÿ¾«È×ZÐ:2×(o1õÖË}ÃlŽ-•57è´—ÀæØEùû.æz½2c¾lg~V^½_ÚFè%‘ŸJ˜UNÌE¨šƒ¨ðrÚ͘¢82(œ›pgN‰´ù™V•3„:3»xåýâïØ×^z%XƒÎtêÉEtÈæàË^è9çoŽ©ŠS4v}m[l°K»z°_çÍBrRKÿkÈ´¹éK'  ñ–YêáyMÀÑD¡+Cü$Õ½B«½…˜×K‡)^áÎJåúÊÕ gQ’h=Ì[+”[Š$8½´m*ùNVaƒ­Ú;—‰£¬26VȃضóàȾ[úYTÂhÃýzd½ßêIòU÷`…yx^-H¸×M6–ºÚüå%˜ÌÌ@ÁcjŸTÙ.äxd4í'örÇM§’h7-à`[ îŒ?ÎþÔ_wF<[+ü>€ÌŸ|⧕KžVK|8g6 pS|±Üæ®Bë38„€kÉ@ÀMœüVþª¹“ó‡eŒ/eL ÷G¥¤A¥í¶ÑjŸvŒ_ÚN„iÝ$ +¸A¼§!—]¨°<¹ÂÆê~ A}šªu–%o"®—ö÷–‰-ê[¬tE\×U`×S,ù„ ´ÛëZæƒoG©c27Õ÷¶Êu~²Œ¥!\Ó(™Ÿ&Ý ìñ4<;Ô W‘A Åaÿ+ƒ™ÿßõU¢£´ <ÁºÊ¨SY(o.Fɨ8ª¼DŠ´‰¢« f +|“DúÌžÜ'·LV_½ÃŒÕ¿½bÌ_‚{h ²–¨1BA°o>}h·«“¶Ç™b¥‹7 ëTòÏÂÇ% žÅ ¯äG†$£$¡—"~Ù"G%Cìƃ«‰ç3 +qˆ-2ø¥ç »[ƒT®-¶[ôæ’ Þ×\AÔr¯¿ éµyªp94ÚÁ #¿ì yò-ÌÜM9»©Æk"Àæì©]L’ºà}h.£á‘|“¢ÜŸQ+ž‰3†Ð$ÿªnôÿá«hmÉÓ(Ÿ¡vˆßà.ú¯qƒ7ïé³9LÕÝ­éþc0ëÞw •æ^Äöxh5/‡Ý:?Ÿ\ÆÁÉÑË /<@S1dèW-Ñb$ç1wàp” ÊǃT¸kìZ÷˜”Ŭ§*®2Ϋ<ªÅCÚPí?l÷×wL|—òï¯#òÄ‘càT€ãàu<@·Ú^K¨B·ÚÅ»ÇôòÙfuˆ×¿=ÚFäC¥‹Dh–Æ>b¡'r?3cö‡xqú4Úƒ’Qäg£¶ÃáÖº&Ò 1A´ÄêV”áøÇ]NhŸ5 ë›ÍþD×4Uah^èþ™{F¸0ê“)ŽÝ±¾á>ùÎ"«Þ "Öö¬âž:$凱«ôé’<9%Êû“9šÜÅfr¡¥õWEkµÖBO€‰aƒF–Ž­#?ãê±R +|O`ª;] é†RXW–3¼Ky½¶Ûp!õi%wˆ)í 0åPa,á¢õõ ¹–D'Z¹`ô(¤–Ñ̯÷Kõûñ0?ÛŒ=*ƒ°—†ô×a]lª$‘·1»µü‡¥+ˆI£èÿOëâÜm>S™ú4H¾=yr3r½me¢ìýÉ'«fÈ5Óˆ€.CëR‹ñ†66ìçAý7^¥C²É÷±Á‡Ñ#ðŠ„hnцI,:J +„×<õ°cœ¯'ÓcÌv\…„X„«Ý¸ùä*qqV>9›y¶Âø¨¤c•áN\˜KÕo›âazÞF¤>e +«Ó  ƒÙ€¼‰ò¥W£t([䀾Ù3™-é-ªàÏIkA<—!À,­ã,É{¸PW?]€Ìöa{ºOQá§\PânÐâÆoÔÂêŸPTíÃ`Ç„œè2.ê»V¯ñß^š±Zá[Ö{åJŸ²€‘»­=‡þ«Xák 8<«ô›yCEvr§ð{zàœšÍc”ÚÂmÝ/?wùˆÅFöchf@ +þbî†0Ÿ¥©égÓ‚wÕÓs>S€á&ßSRMòåi»(€ÂÝð&6»–¸ò&´`ð´N ’Ú0ª¸3Ä,>’m=9„蕇þí¾! Uo4,˜µ Ùñ½iƒÐäØ!J±±Õ2Õ×b3QáO{Kµ‰Å+¿|$«‡ë(ñxN«‹¸ÍFeVÏÅFEdÂý4Á úØ„ƒXô?’Éf*á¿CWƒÞ¶Z]È´”å¡u‘ä:8¾É`:(ü%™æKOŒûO"²Íïÿ­<ˆQÜlPVïâ}$w)ó¸£ +¼<*¨‡š¶ KÙF 3‰»ë>¶ÀnÏùሗl‰›ËJóÆ2$ïî—zâÔܾr&q>4þAMgC={à¦ñâlmfÀ@y†ñ9YNjô¦6¬%I¤bÑUWv+jŒ. =+Æ/1o'¾ÛhoÀ·åœkßväÃòkÈ?™AYÅ»îÑÄÌ CR]}¢ï´_úWêÐuY7tÒg2pq¥§ +endstream endobj 547 0 obj<> endobj 548 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 549 0 obj<>stream +†ªˆ1¹"^Ɉeg#òi,´›ø>KBö}ü}ùùzàv0çÎ]ÿŸÙ挳l+çp©ôÿFÕ§ÇjV¶«Ðôqãƒî*)‡–¶I1ã>Øëáñ݃\_· ¡Á´ÁùŠÜ–¿yˆqy#‡úÉßÞ%ʽtàoåUbôšÀT•½’ø6ùàI|#8HéúóÍž5k®•_äô[î „¸¯I î³N1÷t7¯Ûf=`{ù ©6»“17ÿÖæn/côL ŠR›Ëzm!‰vù³ „¯ou·Í ÷ oí÷ta7OŒ›I§Ùf“O”_ù°H8€³zo¹_ôÔÎ}ŸŒ_·ê2Z¿öòyuWȾ^~¨³µQœ›â)þÁKωoÅÈn¶³¥´çº]ŒY íÙ%ýÛ™¾8Éy mü3Ï[c +8êpjŒ—±âõã°¼ìÎ_¯F¿c¹å–µÛØ¥2uYôÈ‘{$WÊ R@sý¼qNœ0ÿ„ϲ¿UG•Ò¦ëÆôoÑùc+ZüXóéÈæ_fr qµu_¥ +DÅZÜ‚®EùƦuFÄŠTŽéÄ+óǶH>u@]¬#ò™Ü1¦î…O~]"èx8ݵ8"Gɼ,—fNgCíÙ¯±&#'^ÊebÎýõ\« + Ç ÜÄTn‡û6——¤Ì¶•nùžeo×€ÿgÌ*›$*çÚniƒ»ëK| ,$TzkǤPêÄâ$ÑQ¢»ÀǬáC¨x÷?<1,O”·9dæ8(/[rêV>+y[„Ñ<@Õ]ƒ }ÛÉ n†~?Ásá™-]Hßp fPÕwYªü÷0•n8Öë˜Óm'AÒšNƒë& Ÿþ.É” 0Q{ì3š©W +ŒÖZEè;LÏ/qÔ$rp6+®¿cÝ6- ÅöËßOÁ¥S¡'qý8œÙn±gG¾êØ„+¨nK˜áˆmÓÃ\ôA9a‰uj¯5WôzC,1~Ú1ÆØB‰¡Dÿ¡^y ™?qN–$ÛÕ»ƒÊúºï.ýCgö=é„ä ?mAò —MšwSÿu…ë?Å{ZÖ- ‚Ûk*[Ö´Q"ÜpBJ™iiF°tÄšR&EGÿWå™ØGxO@UÔ!éÛ?Xš. ¥]/‰w‘CÛORón}º^ƒkéŧ+#ÆZò‘'JVxqi´ )ëdvñ÷$ ®OÛk]î ‚õc§a™øœ Î0’/“ÃÞ7¥fƒ8@…Cî[©qºªÏ$Ô·—£çw‚dÀd¤ªù=$Ê÷Ga}¤HÆîùêÒÆßz EÌ쎈M£†˜oÓCùS2¹eº=1Éò'˜´°Ã瘊ÔsÞÝ Mõ‡Ø¨U*™’]ýÃražæ©vÜÂ1™Íî ±º¹ ô.À4{:—¬šП¤˜QÎSH£|InúYâoi­¼5¥ÃL5›oäƒ-Q0BK]#¸ 8Qä ùw~³ÉgÚ9-Mš_žNJîz‰?åÌš?²ÀÈO™šL¦9»”Z‡˜gÝÊ] DþHÿòa–l?ö¿9 Ë#ø‰-rÙÿMKPdHQ GÊ÷´Þ_(˜ þ2XuÉ$ÒÒ^!ÓÂ(§fz7òK8Ú5M€˜ýwí›ÇÆ‹a]bÖÙÏHó½Â‡?»È»ÌºÞøY)©ûƒ‰7ÍdìyZxýèÎÍ”/V·•Íÿ¿Èk;º[g¶)ã‘1ùC;‘6°R¼HÉêá2§ÛÙ$Úûß½Ø …”i_Î0½;fÅÍâ›Xr(Í›â׺¿1ÙmK¹í˜ø•Þ¶g3b}ÃHa ’ö¡ÐÓbÅÓG€ +ˆbbó³¹ï|/ë R^cîðÝXÙ·ÆÛÓ6ŒRU¾òã’ï7 °ò^ÓÎ7F£{Ú©Ù§¤ö|@5¼Ä©³„M¼d^—+Ž‰ŠÛê7}†« /êÔk{©„QJ€YVl£,® ^ç}Í»G‰LvÇ$…&ê~ mèÑîñ—9Úq¢½#ü_¡ºÔWe+HÄÐö:-9_XoÄ¡“ȹ>ôœ‚üuÀ."õŒ $^ ÔJ‚'©c-Ä÷¹D¶¬~Á­Š`/ÅgƒZâ%Tç°€ÿn YØùç?¾É% ®{ïÞL¾ÔEJrQ`€ÓP¸QüÑÚÈ„I!_®õ: ôȵ×}”} P£Xÿ‡}Y^ªGrp6Zm ëÛ~ÿ{·ÝHž@Ú­P¯X'?²Ç:D.›Ÿ‰‰ƥعÎżö4†{eq¾ù…óVj£j»V@÷¥gãµ]½á“]ÞàAaµ›3¢ Q‘vüèƒ]ðÔ`Æx/…*ÛLeÆ•Ö‰SU3é/‡ëê5¡ã«Eò­)ãgó3ɹp€y¿]Á­Æ¾º@l÷»a½m§oÁmƒYŽ'>…ñÖ'Ý Ù‰3/ñŸ§MÄQlÑ ‚TÈ8®»džŠ 8 XÐ`JæR÷§e>9­ó™Ô”Š9žY¬¢W2 +V%½@ýÁ†T Âäæíæ°‚å;Øe*)„œMNÐ>«‰‡€´,¢¡7Óûx|®z^¨ ahV%3ÎÔ¢¨—‰ˆ9íñ›h`?N<§Ô ò’¼êL4AæêÔÈÛ© ykØc¬oŸÙðX½ýûx„OøÂDÎ]¬Ä©ŽÄÞI ›¦«}ú ï‹U¬º{úÓTWŒdʼn¥ö <Ñg99µ– î}ƒ +endstream endobj 550 0 obj<> endobj 551 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 552 0 obj<>stream +©7Ð?:ηJÔáó´ÑRfäsIýfœÊ[úN²ºÆBÐ6­CP^¥ˆÿ“"Ý™Á‡ÔŠØsj=„(¸wËž@ö‰íPßÎÜ +D^hÂæR5>þ?I„ Ãþk¥epðoòsÖ]ÿÁøÁø¹ôA¦k1æ<|Û?ˆÿ9ážb—>•¦¼·S¢`ÑÿÇlK4CQ7Û‰ã~Ë vPñè°Š°üö#Tìn@£E0ü+ü—¯• + gJ5Ø„ ¬uEúÔ‡€ ”‚Ú´Ô“‘Z±Ç}Ju¨¥V|\Ëk·pËYž¶î -ßKý~“ ¨Æµ’9î ÃÞŠC_vØËÊál·Ñ6¯œ²†r{‡>I(-«ªÊ­ij·§å +ÇÍB ¸ú:ÙÊûÙÒMj:°‚-~8“ú7-¨ V‹½‰\ïèwèxU¿KLŽË’.¹X&øÓ¶“&ë¥6uwD[/`©49îr½Ùi ®Žù·ÛFéêß©%Q¥Š éûýÀTŒyǘ¿7 +ÕÎg²î!®z˜n³4n +Ø°ðîÛkˆ»ÂÍ„–?HóY°Dh:lÁë˜ñöxdÕõ¯å{Hœ úaîϧ^Œ1ïoõ¶8è5¸!ФԖFÕ`õ×>[Aà'ÝÞV*íĜ؎*­µí—¥øÛªªŽP>Å §ó맪•’l“j¶Ö­yoy¿g[ÇÌ*/&Ì\%ñóF½­Ç^>¯`¡îšÐ.Êw~•{ÓV6q¨y§z½(Å|ôÚÃàKQÅ}@x¼óOåÇ7¾þÆ¡FŠ,?%š!\J¨›o×ïˆ#u¼Uá¹jèuïË)ï‰zÁäA¨5Ôièû8FðŸF<1C«­à» îÔ[Tµ×9î$š•X†q@E·0¢;O¿:ê>³šà; ™á)…êƒ'%å@˜^Õ›5UÝšª<®©ãSÓëÕ鑦¢hw —„m)6Ÿ a8#Õ7ðj¡"éÓ@k-3$Óì•ä ²,p €¥\÷U½éÂúòœ ”fÂVø„Å7.GñÝßV¼´n6[µÂC5Æ´ù€,A¤H+o«?ÞÞB°8åÁm[)pN™²…+f^ôE)¢âuqê˜~-ÊkÙÊ#¿.ÎÈÕ%³‘è +¦¶.pIà anD¦ñ24³‰½¾9Z,pBìp›¿eëðp·ì7¯nëñ³En¶å%Mç +b™þ°¿õ’®IwMt e*ÉBF29Þ#±4£Huâ^‚˜…¡ÈÊ¥åÓ÷ÒFÛ Èü÷IÇ]’£w¶æ‚œ;ä&`?¿ç]$<ü ™%OÞH$4W iÜZWûëˆs“,»S6G†W“^]dgzºçÞ‰ª-É}•äí +X[ªjq2`ØJ¾×—­%Y‡õZ*ëúûúA“ÿ`Ñx¿'\‡Ôsœ¼7?ØwÌþtž;8Ú%Þ¡/ ®cØåYgãDÙ®¸Œâ{ƒü-×<ôƦÎx©¾pî˜q©ûˆÛA@èúyÍâ¾Ún…öZÄbu¿^»°–ù¤«¥+ý*´Æô–—åÝ8Â=%Ïå‘É«”ºrŒEÌ,ïWŠÁêÔ¤7QB‚g—>؃Ѩ¿ºßJ“W3­§î1+KÌ™,"Þ†á’ö4áW›©ã@Œ¬L!¢3pC‹@°«Ô›Ñ¼ ‚À]ëL0)C3ïLEÀqõ©ž™Téûb¯Žî—§bª§¹yVà2íÕíd %ƒÏAÓä[â(``÷Ð3›Iôžb‚À[´¡ õ·Í?œns@Sž7©ÔÞ+ît8^æììu š7v &Wb¤J÷6Z/{ê @™ÁÁ9j?{íàñ*–i<ž]š4GL§ì|ã[™yëà÷Œ_µïD¤U¾{°'6›ÏS ƒÚ1,œt¦!ž£°£Dá6â1¹L<”.¯q³øC']ל…’Z£9ÚÆF†í™@ýtKG·‘‹WyFýDþ§I¨Í[€í%·õI?2|,£À˳ÙĪ™J+èbÞü9“âße"·ˆaaï伬«çt\œâÀç…aEŸÃAÚˆ‹ý®:3µ5ÃUG£Xì‹UBäïcxìÙHž} ¢Oï.«ûÏ[í5(p]øWÐ6[¦®ðÁ;b±Øh‘}ÝüÕ²>v%¯íÅj„–ñÌ™©KP(Žcö*ã·æYç…Sç +>NØœP˜Ex³î ÆÇÎóZ2^râ ´èW·y„´¸èÔÂa¶L¯åË|Ó¡1qõþß"±íþ­søyúˆ–D;#頾벻XW¸))P§–ÿÙÜ5‘>ÖdÁt倷PåðG'ðÓ}ñ.Sœ—ow øtÆ—þ€×Dÿ–87½+p…f3o­’‘ƒØQõÙåî÷^ y®\v  ÌÆ”ð V/£™'·¹Uè©^Ë¡uEõ½QÕøò¬åa³&r*÷ ý.˜—”S¿võýÀ-ú–§Ny–|-QΪh‚$ »;AóOñpžGlû¨´§î·Ä>w:Žô+IM*A‘÷­3ºjó *;Rz“‘Œ½jå]F°!?ˆÊ`˜ pìXA'èÒ(ƒ}/ÿD09'‹Tn‹Û›pg­ õàzÐ Üø€4W…Æii(ðy·æµK9áêl¿ñ÷]^Žå>7ù]Œ‘v$µˆ[5ZK`fJm\Ó£ü®éóK·‘zTf\óõGk.q<¶ŸÅUŸp3íw+‰ãŒ+c³/Ú‰þ¦PçÝþÙg §ä‡Al¯jc¥ø#ü¯V9Ü:Ñ4À°[eÃä²T‡k²Ågì›Î|ǵ}ƒ!V¾x‡ì°7ãZá¶[l5m;–õ“…”j÷ú0wø¬ /&s\숑ÏÃ'‘ü–ÀòA¦EZ€„½›¨ K©×ÎåâªÀKŠÙâ 1xM;°–¸ ü¹HUuˆÚ5€b%kz‚i¼dGJ.ßéÊ."¶±ýPmb}§^ËŸ‘«9Æró_ú¢£ªþt¡Ò©’¸9£vš’tP×pGŸ¼D<õ#7!ƒhÓÀä£r‡íe±}Êü?ÎWÈ~„6|›W©¡tÄä!¶†!–Ÿ6}œÇ8zq Äf™½Ð³"†´…ƒƒãLÊß奾ô$½j¼ÞßãvC@ͯ«Vjüç–õ,å¼èÕS \=¥g²X]qD – !p”òÐΘ¶}'n YÈÿy1âþ PuUCnÅø1Ïå{»ÎL¶Ìi¦§%¢§-òþP–©)¡.|Qr鮆ý|Ñ߯có¤®{å仨Té‹PÃæÁ˜"־؀Ý|̧6ªXº?32‘˜æ$äý„kÈ~CÖI.÷ãc‡¸èɸÅ–wVwf’)ŒÔN-Ü}'´‡ œLTËöŠFŠR&áC6Š…p×hчÉJÝËœá~Ê¿ª®<ŠP"ZhÏ¡JعçŽêx±HnÂÀ¦w¨.g•gD1hÜ16liÑåRÜÉþlŒ]9 $m˜Kɤœ¾Y̼ñ˜žk ©pâÍeÒèÄtÔ+Jìá%ý¦bŸƹ_÷·Äº ¢§Eì +Yß4–‚ áÉ6ã ¾#Uv”tl„ÔrAì|§9­#!ø’pO“%ö¤V­×ü3Ð.t¸aò tþ\ n‰@f¡Ãz„pD2¢ GÉ 3SªÍé)«rØàPpme^gUáÆ24ƒêó^Ž3€‚¸¡«…ÐÆv $H´+Yk¹`ô¤Æú„毸¾ &S“%Ñ—…Spü®Mûá³·°3ýè®Ú©wèFÎH‚òÝY”(ºÍE甬j@&Ö¨[õóxSÈ­AYŸˆÂ^žújÜ&¾ÈAËóÚƒég[<& ËL{î¤ëã£Vq,èT“ψs¾Š;·Ý›x© ÕÆ´‡qp£躽pFú;‡þ¿p„p‘%€AÞëí¥þ€‰õ•F`.å‡]»³ÙÑD/+öÓçæ(j ø_Ä€~Dk»WXÛÀpW?.-Â;ó¡>n­ZóWg|[’HŒ˜ãÿÍ›`ü& ‚² a6»)*5²„Š\ÙÉ&’cj(aØ$ å`£øö³r='P‘µÌC&^úÏ*ðœ~—˜é¦Å93]B‡õ5ï©é)d0B‚ÈQð6ݼR‘~½ ”²œE®9jŠÒx°êÈÈ#ÑøåXçÖýëS·#Ó•9FcÀ”µ›H¹@Çõ¦€¢X³ä Lò¾­¶˜ÅEN2ä +endstream endobj 553 0 obj<> endobj 554 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 555 0 obj<>stream +ƒq·¸låH> '}ˆ“‹@0B^½o¤±B­ÊïèÒèÃDëç9 PRHì¸÷#Èùµ3rCâ; Ü“â½(-hßíÂnÝInjšèVQú/¡_Î$žVp#cno±Tƒ,_Ëß¹€¶ÊühœÆ]Ƈ]áÉJÞÓQÖ_$JëLŸShÍh5iHÎÀp\ K|Ь œqyd¬½” Ë‘ˆOöÖ¹i.â‚ZMM°¹ÕõäqðHZþÚ{wëWÔ*wHô=O<뉗 •v»šÞr'=¢)g|}öæ³jt€=€60;íà=ùRV›Ó’ŽÇIF«¨³?‡†ðûÌæè?A¾†…xRÿ¡N˜áÚ +ºìfG@u“‰Ì ’WA±eÜd‘}”œzœ›ìɹÊ•ã䧙Eº•'ÓÚÂ_‰8”^¢b¡w)"ÄQí* ¯w2-ÚÃk[U‚©Úzæd½¹}vV-JVî~âË€ €$Ys7?óåÙ×ÐbF)åg ºQ¶CL,J&l#wb4Ÿ`P`|-8¥8úVËŒ†VÍP4\âh._-©Žë—"Zp»K~éÜ‚Ëæß‘îÛS\=r·›5ÞxÀv•âž*r§os 4k…Š^2g“»]&A² +:ü/µïœ}Œ„þ~ŠÅзtU¸E…’Ã0ŠUöB:AsŠOždúÐ9(“?S^{ $?ªÙõiŠ›PÌ&Ã_û\dòšáú¨š=xvé_N¢më·Ø.Q_œ²»Â)ç‰ãf$çpîEƒH(â SLJbS…Ϭ„ +]%¯*=’Ô4vï³Ýãî +~/Ñ;±çV2ù#\ÆlãèköýÚ¼1¾ºøƆ³à…'Š„B €ã8Ž˜Ã„á¤k'¶÷.IMѬmî2íɃ´ †§Ÿ‡ð"QÔQøü‹›ÜH%OË¡“ÎÍ3UØA2î‚ôWŠg¿3ãcàQªvc,²z®±‹ƒà¨ÉGVb‹?öqÊhÒCSåá˜Bw‚Õk4Õs{¦¢l«ÄqƒF¨´Þ•â’€*‡¬ºCFw§g[ÈÃâU¿dtJ7`X:ôk^!GÇCÀ;0¬*ÿª>À¶˜­ÞbÍðDa 7u„%Éž< Á »%¡Í£­4 Šœ +•›á¾‡$ïÖ-•ªv#èØ6/’Òæm˯Ë(ÁÙÃx ıãm€‘© UÖìc‘ÛS™áQŠ…°iEM¸¤ªì¢Pè!ZÖGNÈíoÚÃØST/A[zæ(¶èí‰N¾h²xbpûŽÝ8Û| ˆÈ3n`©G7ÑúâØh4óvÙà˜úµVs/ +6¬1èPuÒÛ<°Ò;i j)ÀÖ¾k­á9Ù‰Ä"Ñöê€n‰Û¶*¶tzž„Úå"èDó~wØrÀ»Ç +¶£,§dæ; +€¨eà½Ãq}ØÍ·‰þ){3-ÆQl>'†¼ðÎhÕž¸7ˬ7ÕY[Oõó‚/ÓÅÜlðºWº™´Qt¿š¶.j4Y_I$`Ó§h‡èF8Ø$w7n‹Vh´‚o¦F-ªS¤w»ôÐ2ø\Š;NÈö²i.<²)iešÐª„s¨?^–@3VìÎà´îM¢sE©pŠóf¨"²ìö¦ ŸÐ EÏ‹ I¯ï¿ôÄý:A­{ 0}‚ĦÃDgÜ»ûú-n<ñ©é[…ÏúúIˆ“Ø_Ôî‚F@šñeåeÏÚc$ti?C?„Y‡…•R¢™I¿é¦çX×:Ø㌹ç QEÈŸÃç=^9:;xVÛî0¼2’Ì]Sc¥Îúh0;î…ãàÔuç=ij=‡#”þ½ýiaš“âÒ„>FÊš» Í*p„œùÅ”úG¬£ˆF4Mmõ}Kn›ÁÂ0‹$öÙ«M…c}M)pýÞ—ì vÆ…–ˆZ›ÿ[~Úø&S·†r»²–:·Lmû¹—ƒp¬i‡ªûÂô•ã[æhøÑ<=û`‡†—d ’y…¡`#6~ €9™÷xKÁþ¿p|ã.åÑY<´±2å Å>*¦E«G÷ËnëX¶—š’ˆ³ÙËݼ¦Â·7Ïm´ã ÷Ž½‚W“ ð»¥ù"?Ë >|ÈØ2Öþc+Vá÷…TÅD9>‹ž[/m€d +%ØÈZý/÷¿)-8Z“²I©äZåØQßI^¨ÉŒ3„ƒòp4JrQJ5 ;‡¯Q‹柳4?m?yoØØ CuØ´$ëâ­7Z2³Ý6išFB$Ù'YÅ"n}=©ÔGŽï[žð•K[=Ò™½[@”›p‰eÅ]ŠaÓkŒÈHâGEÎóÇx ™Oð®: :Áï¨]=]”ë-ùhÿ=·àñÇO$Å»ºðiüˆEßžBWÀ›+n>;)ïî†ÐJÒ†3/§ÙÔtyj„n<RO!¦*ö&q9ÿàW=™\¼bŠô@ynm7»á×jîþ´½EZ9—é+ ¹Èn$WóæWúÉÉ¿K¤œñIÅý&ššm0çeháð–É_~HR¥É¦@·r†[å.Úh¤JÕ,öïÔ—”Cß‚î©m÷< ß”Å4°´ªåxÝ>¿ ‰ÂsB)¢ü×èC~Fx|#¿Ÿ9ƒ‹úo8Ó݃9Ò(és¬‚cåQ§Å +µJr‹ñ†¯8ò7Žìô‹`G; +? |øëóÜÙù× c0ò€)}c1@j]¢ÓQŒW‘ýžQéP°GbÛÈ1¨nLSdþÍ@QØ‹]}í(G†CÌT\ï]¡Ã˜ŠÓLF,NÎ{ p£Óèðobi ÊœÄör¸s¬/üI8gš'AëÉ…•ƒh2–Ã2 +endstream endobj 556 0 obj<> endobj 557 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 558 0 obj<>stream +jDN(˜fÞFˆ£QÇ'Ÿ¼|y“Œˆv¹B¥äÉ${$äX wÎ IY íáÕi)ˈØÓÉìz§?ƒ×‘j+TH½x‰Žƒk%Lwâ ¿žï0¢pÀÒvùögq™uRlââ^xŽ·±œ7}¡Ì£8C:FôÙ:¿t6óŽûÏkrDcÕ\!ÂoËÝRÒ irojsúmv¡I%¸(îÀ*W? ßcÈ) ‚°~‘xúÚãЖJ§¨$-жaý±»5£“ƒãtücHñ ¸€H ÃÖoØQib¾ðÁRÍ€«qÍPô‡pŒe’ÛÕ9®.Z˜‹*cs¬CG[Bì\\’!jlšýwã謰…Ž»äE•Æ³xBÕ/÷ÉÅOØ“óH/º Uˆ•caÅ:e7‹¿ši9²üJƒ×¦© sñcþŸÛ‹¥ŸÉ¼D ÜJ$»ÏÂ,㈸êí}Ì’€uÃìïw&ä× õ‰ª¿•ÒòÓ BQ ê㦖%¬†Ÿnœ[>VaQlž/Åytw<ª!—<Úpìr 7f™ lÏùÖú×ïmAÛBÂ@Û$Ea7ß¿Y|œ<Nhè0¾^ž•C\·÷«e˜¨ÒåæUc²¾ö `©ûÙPc^%‘j:Fz¤%Sè¬9’1±Gs@„ +쵪˜j¬1ˆÒ¾–AêÆý`vB=¥Â7¦¾éЧÇõP’sÈE/òÄѲNÚŸ^ý:0ÒèÙǤ + a](Ô´… óþú* -i¥ë$[öÆ Êˆò«bj²™|]`ÖìÂÔÖ÷dSCœƒÄ äÓªÊ9‹µZÉA ËbYíòY¬—§ƒwgÃ'L Ö’Ý^-ÍcÆá­¶p´¡òcu#„N3g×Mò›9T-\g:ç”as,Î ¾.-R³\ WM‡ö7^¹*-^Ypä˲ÜM±û뵃ÉÃfcÅ&paƒTò‹Nì烖Bu¢åñŒÍ¢z£çØ S9TÂàÖöHwµ³žxã­;š?—pk(Rß*¨u£f¸¦é 9mr‚}ÛJž¢œX>S]£¿rwÕìåá<à5õb›¡éÍÑ„vAÃ5’·CöU1šfÂß®I8Á‚âk'¾(Úa‚X˜ õáñÏĦ%Õ-ˆ¨ÂÞŒ#%VÃîK¿úéï®áX, Y´^Lÿ¡ZÇ?ñÖÆ” Ö@­;»ô3/ˆý!%7Ÿ2YûU{/r=Î$•ìzþ`±,‚Û*«€'|¯ É<|vrRk2£½ÃéÏNŠf¹ÏŠ‘eþnv÷æäÅ/´ˆj“cI :ƒþ†.î6ìÉ<=ݼ¤¿Tü±æƒÄøŸ>€Ø¢ßA×— NpL¯÷©Kë!«o[ok½ÄhênsÑC,. ãðy ä È_,bËRxÖJ,üqBãsÏŠž,^ SÑÙk¨øš±5Á)'6 |M«Ào ÅŸfä×OX0¿ÙNIéšUMÿ x#œr:«¡´öñɹŸKçñEÎ!å,• åŠîµësþ¯à\ÐïNïV=ƒæ¸Ò™«fAEöT»#/pü#(.©ÎM@úƒ¤nž‚4ÕÌf " …Ü³Û +{ ØÁ-÷‡oϦñë`°«¯ê.ªËŒŠÕ¶ãäøf 6·G€0nì? Åzk Ù# Æšü˜Õ9F1pÃ[?5\èU-HBùíÌÿ)φìòEasúsÓ?jÓQ³ó`ýæþ\ñ ?>,9\çÖ¤ABÿ@üKe4[£Iü±‚Þ¼–ÎN +š$iúê÷T('ÑdJÈjkÑʾ”InGV.@ÕRˆÙÔòíˆëð,­1+U:›ƒ*ÍæhÿyÞQæíwÒóc‰6&ô_9¬Dg»Ì®b¶/ê;$¢")Œ8·O)õ¹Ñ,VeäC +¢Ç…Y†SolÆ6úäÌ£óÖ]ß×Í- õ@™ãüI½® þ÷—†=ØKãZõwàX¼É¡')$ÉLoÓùÅ°‰7iã v§‚‚ «KmÒTlrЉeü›€ˆA.#¸XlÎô†ÑmC +^ÚÇý¥°Ñ’iƒ£.hòÏ­ˆ{‹õ“Ž*Véé÷±îžýÈóW쌠Þm÷V;¶üâ·9w^àÔ‰;ž^å!ÊHœ÷ß.ÚÒkñ—rízaU½‚1©,©[â†çt–¾b;ÚmÞÄ^Ñ‚ ÐV§­mTÖ̈؞Ôr¡¬c¬QžSº}ŠãèÞWP8ÖæÈKŸÆV˜$Òчù¼¡Ío©’D+ÔXû-ÌD¦ú1¹×‰³ãDzu'¨¿Cm )ý…÷,USå§ Ëo핪"IÎ`¨VÜ|QêÈtBk¤V,“ÑŸ®òØŸøwú¨J§eþC÷Å +‡îŠ<þåÛ»ÎQ}ðÿ“XfÆ,Ä®ïÇâß­¶=›ÿså•>Ó¸5ÍÿV³~d°` Mùð¹*6žlûpF¿×4Ê0Œí7»Û>xˆ|ò×ü YëàäÁòþ<Š!Ô•A\#Ì~ý„­nUöxT‚ØY;Íe«¨Çææ3ž‡Î¹xlαC0y—§ó«O‰ÚÓ36gq¾GHêxþË­‡Ôê¿¥€f|ˆœÆ»ÞÚ_íôW;Öa§­‘~¸*ð?&ŽçÚï:ø×½7Wï ´öÅBŸœ¶Ã¬@oûíbœ"ûn™äj' ¸ ™xü¯- ý>ÏêÒ ù•š¾+¸éC‚Ÿsw7ÅD©æ^çJ#ƒö–JŠˆo‚nÁLiß» WXïgªpÖÂ¥åtdd«¦ÐÁÕIV!Žqosºµ½AJ»ó +Íà\qa•éÁüX³÷kG¡v.ДÆ\b˜×kc‘Rù±¶ ÷n T°p9¥V¦K%<¶ü]®(ï,çý<OØÅ´]r°Ï¨gö‡ùœy©·Ÿÿ_Ô·“öÙ¼go(ƒò¬•‰r<å0<Û'œwÏî.25ÎEën—®éJïÕ`Øc7zð^!Šú[‡ÆV%WPëž ßV©±®g¦ñÄ£’ö È_ÌৠÙ"Íbq?ì‚Ëè=×Ȇ±@<­8'ÞùWýz1u2(@Ö¹k!¨¥ØeëJÕú’A[ù@{ oí(VN‚ ‹‰ïãF˜Ó¿86Ž3Y5¾‰»Mn0 S =÷ÙHÝ“Ì?t°m' +9¶5–;:a‡¿í]pY9Œ:¯Üe³Ìè¾Ia]]Íä=ídl2züUø1Qö[ï£ÒŠ¶Š:Á:Ê,GK|Ì8ÔLˆµø)^ Ç!dà½Öó†òÒ=rà ¦æÇÝÆFÒOTõòÎÔð øÍ9¼Γj({`kñcsÌü€q%ͯùϹªšÀJlxGº€“Úvf" gËzdfÄ*SÓé°6ÏA›D×lVåq†ECtwÊÉËnøW¯Ø1¬tÃ4 ¹K8C¨3PšèÛµ©ûñ&Åê Ó4!aÕØÑ´Gûò·sÐÌŸ!æ;¢{Ä=m§b%(0++`0ß²VžÓ­N97ÎnœƒT%»£Ò5e?BÁÚð×*wö•xn5am‚˜É˜|¯'µ³¤Ìbǽ ÷뢛uBjf/v¤‹`Éá+Ü+íö•]7Ëši‚'Y0"D/q(-õA²^@»C«Li6¢4Z?úñ4ÊØÔF/{"Æ85˜²Ó\t·ô­cm )M7—[¹Å«×-—õ¦–)¢†‘žOj.ÿjÁŽ®·†UHÎ2pÝõÞòXÊR½;CT7û_À¢G›Ñó9)âà? ]ŽuUa9fÿãô¸ºÆú‰·AÚt*_."¹Zs€Tu Ž•Æ|êصëŽ.ï$š|# ¢W«fŠ‡êÒ´.•÷Ü]Of0”_åòŒÒdºý² [`Ëáf ÊÏjpŒsª3<\/ïòÓ‰ªCúÆ5‘>Ö˜Æm†ºêß“}¸'CdD•P×6q©fB(¸B™Ê>×߯Şõ¬µ szìê‚ïý³ä‹R¨û¾R´q'3Ë1²¸v6ÙÚ7Ü­]ï•“˜ùŠ¼eÑþêN›²&»ñçE“þ uïäeAp´°`ÄY›•}¥2©âç}}R'X˜;?S…ûO€¹o÷3„˜Ú€>f^^$&2ú{Aàî®°'v>¥“‘aƒ`¤&™Ê¯¹ d â¸øë079Ï~àZ*6jÔ&@Æ2S‡–‘:gLnlØ¥D¢yÒÞAusvN7ðË;‚ÞP¸|P9@ÎRõè#»6”J¦÷íOÈÄ Î1]KÁhrTlþ‹Y±LçIJx„òg4¼Æâö´r2ÐbåþtÏEN‡—úáD‡ä]u& á(øJpÿXÝ YÎÍ]­A¬ÄÝäÙpJ»gR +b­ $§šý·U†Ç·1hÅp‚œÍ>¢‡{vq-Ù!m5¼«–‹N˜’÷i&ðOLŇ’¾Às@ô˜"še}Ù‘ŽJò9jT»E'”$ýeRkM'ïÙ üImqŸW‰®õ·0Ò¬î´v ߀nñMb¥FBª:W +Bf rpÍïÔóÓ( =„zÁJtá;{‘G¦å§÷v¶Ùh… +,×T¦äÄQâÚ©VÒ¥bHÖÒ^_5_´±Ïnwÿ fØË{å’²ÝÅÖ¥ßg(§ÛŽaXðMƒe¸m¸w8HÃVaŽï]Ÿ˜3&hEg(š¸0 +̪’]Õü¬ oõ•,–Ûzàÿ¹4 l²/ŠTÒS®É +-P„zûï) ½›PJV3¯_ZÝ,¼ÉÀZ$©µEqƒfŠ°=ƒÿ´z ÷ľA-Õ;yôbÁÚÌÁЪ¥`% +ÙÞ:. õ`“šA€êÛÕu¹äÏΦÀ®Ø#HÂòO³’i0Z’Þ*´×†ý;…¸Éÿ£ZC+0mƒ‘E.kÀœGØsÇ×d–ZÇéæCìZ1K‰Ô-rŸ¯zI¬t)œßnúáRŠå®6œäÞœÝ^¯`‰²ÒVB’àw½|;ÊšA{œ·š®Ã‡iày1÷¤mZaÑ.•K”a`¤ÛsÉE$ÝâH“eG V©ÿ¦‚˜(À®wa\hhw)‹ŒNôÐøt©ƒÒ÷{o>@Áïc(+\+íPãݦ'1\jæÒ×âù÷µ‘6¾ïÌ”|<Ìw 1•$ ¨Ü|TÃa"Ì#œÂ4û’ÂáOCZ7‰}››,¸ÔšiXVêû)ð _ð±ÿÉ2†f95[DÁ†S&ÐÇÝÐ{dwy6 å*bËÄæYñL¦ÚGѪzQ‰CÞ åH‹ÏÌùxCõÖ˧x†í {€è=t»wx@ƒubåÎO¡f$ µ-Œ“Ž±°ç͸¦ NJn×UÍ¢­„­½ÿ¦JˆÐÄbQLY®"‚íSñ:\¶êŠ¤ÂÔ‹nšÉvš+øH‹ú=¬SMÚ#ûHT‰{§zƒ–‚oݶã‚>¸ˆº+þ +£¡OyvîšM5£0䱆ÐS‰.Ñ^8xùä/nr1Z?⧰q¢ö:…4ì5‰Þ-ÚßCËù«ùæÞ:#(u({ n:t/Óù¨·}wô}å.Df<«7úP{ }ä}jm´Ä¦_Uë.k«“’𥶠‰L»P3ÄíÕQLôìÕ|;™7MH›;5) sŠ®j'›5:Xñ€ (TÓÅ/á?ià +HaíKàÇ矱 +Mgbœǹf¾ õýh÷|!4mJgêßJ‘†¿I`ŽÊEþGg vTÞn¡YŽ/ 3^©ÜÞ¸­l3¯œ3Ð(îˆwy²»#ªBËÓ“Š»¬¥µU +endstream endobj 559 0 obj<> endobj 560 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 561 0 obj<>stream +¬OË8/‡Çãê2Á³ ­Ýåí©ôõcFm5ó}"C¢^tÞ2”_B›õ!ôv' +£,’ºÁë’ÕìlŽzCÚølýäˤ´0¢á…Q³ú'ùŠjCù³¼­nÑOà µ[sïšúP)Ë÷ƒzîÃW͵Cê ü3ÔVg­Þ„;‰•ÈYë ØÇ h™ÖÐ¥jebß×.·û3ÌIe0£¥$ãb´û§,U\çÛûª蘕|œY¾¹“´¡Ðf9Ýl¶ÛE}e^2ñ³G“¯c×ܳåá KÕAÔ½Ž#‹¥Cí Dø¬ëKû¼åÑ_A¶Íp1§]ëÉ:‡€;ŽA”>7ëX·ÕB®\·gˆ Y}V¬£D×/P|e«£É îýªï=‚8¦³¶Ãj¸|&—Cº^¡Ý3éR7ü>ÛeXôˆÂ•i©¨úð Ub}Š³y–بÙ_Þ;ÖgÞrX‘s‚ÍcæLìÍí¨žsÅe"ÿSS‰h^ÿK•Œ!ÌkNgD˜Ñ/¡T¾üºÌÊY%r ­UÏ}iÂÎì[4©<”ëá‘i–Ãtc¯ñk:OV>ž¥(¦:›@½pràz}Jl‰.á^¯c/û™û’ÍB•iSPyxb ßµ±ZRžˆè²šp ÙÝd'5ýÿ붉q}ÓG`ànØHD`ÙS;/ÓJ¡«Dþfo›DW(ÄŒŒwœ3Âp¹µ:LÓ!0Ðü·VZ›Ã¼”¾ÿmïFþcò¤Äv•û{Ù“ÕS´ªâXMwçZà­J\Qº]ªô§ß0©¾áªàYÙ9¬€~è|ßìCDZ³=½® HsÊÙÕw·GÐúÍÍW¬ý¸©;HJAtw¯@1ÃmJ}dm£âÄ­­Jº)¾!Rúv‚:tÄs/¬¨ËxµH(hïéþ¶@Ó~¾¢Áð%ÿæÐÊ+}÷öG4X ÖÊÂÄ-&û¸'¥Ç¶»eDŸV™³·Úˆ—a} pÓ]뜿¼»9È›µUs}æ,îL ÜÑËsÞ´Îo CÔé˃ÀªZbtj™åÕHc»ôö[2úîåP4z•d4åÝÐ’ƒ'û$‚þ^n…ñ-©UÑ[•&­ºíeÈYË.hå¿Ô7C°‚ÎsÆ„]kyȈs¯Â$çݸË`U¿4™›YëíGA§¼ÉdÞ,›ŸCèn÷Ø•hh85,¤®%•ÄáÔßÅNÒHõFüƒ1ÖÇ?c½€æ´ØŒaè=žÆA|Mã k½ÁÑiï"–ÃVS´ ÿð˜'º´Ø5â@z0¦H0?x¶÷›‘Q\cž2Bç¦Fõ2ëv vÄ™?ÜY×ËmRá™K)´î¨OMSÀ²¢æÈ>fšTˆ©˜›lø„J'C„î¤ß”g“V~€ú‘¢WÔX E²¡Ç íöìSW¾(+šw—Ò²böÐaͪ d¼`6û‚Â{'¹ò7Í6J qZ•šPäBüq‹Ü×@Æ)Æ +hãAî2Ýå;ûÄ91Ç6žá{K°û>ùÌÝn‚ÞeÊ`œñsç0¨IéÊ-Ä`s[ë<“„—@YWŽ_¼únÙ+jU üMêÚ‹þVÆ +¶HríÑ…4-Ða'Þç3>à‡.Whì?ŒÅÞ—wßû{ò|$r„±}t4£ï!H‰,¢©tG]F;l˃š„6?<¸Jd·å€ Gû2ý&v¦)Âçì4†^Î’‰Ý“O”*¯;âöšå‰,J6ëKK5“§k¦nßób¸®Ïëzµ¿v +àYxí&›Þ³+„ +Âoºh¬G×w ì.^í±¯9 ý£†€¿ø·ˆú¬/åÃ]@äU¾ÚU nèð?¾½˜ŽA1±­l,9¤¤¤oueA?{¢ZÞ]Š"ZK¶:$Jý°óA‹ŠÛNµÄ/2–¹»d…åúGÞºøGÕÞq6Âê}·µ_AÉSÈóÃõßH×€ã"TªÏ%ïÐ4aCzü~Bh¶»°UÏ'¨àÔ–j3‘†VþÊ9k¨Îß^ί£içQÀWt¯îô†`¢ÑãKá³Æ|«¹\E!ï +BkÝ èè; øƒYeäoyܱ%Åá(ÈJiú1m2Qç¾ã¦éI!ÿJû÷6H+ÅP…ðIB u“¼ýïi 5v¾ÍRiu-­Vï% ŒT—®+„DåFû({Ñ5ï]üsÃâäù‰µã\wdõۇóÂÑñ<œÄE ªf¦ }dRSÃÔÏ%V${I10´Éè@PZ!­ÆPsÖa¹‰R^BgVÿ ¾5a÷ï|uUÔÍa»ñŽÏ 1ùÏ„RÙŽØIlÒŸ:í€ålÝáBÅNz*EAþÍiù wšîâ…ßõ“¢Ÿej×Q…ƒ¯“*K"›%¾xçë]u_Ÿ> ðsó×´¾vþ[²Öa°ÙÈ C·iF°þ¿^ÕË4äzé•#a†p$®ön¡/ÆE•%ïu ŽÛ¢Fy¹KzŽ±o&ã,D°¯‹H oPÛ +ˆ£~}0)>IA‚ºCÄúzÙ2G%èa}z=Ä!ð¹ezADOR¼tÕ”ÊÛhk©Ýkù¢ÔS½`çtnšÁªwPÉ„Âw“sWŠÑG ~´–(+M¦?×ÔOèzÿ~ ý Cä›Ã ªq-Ãa³QRÎŽ¥Ñ ”w°œ8ãa‡CdÖå X$èriY{¬&Ñ>K±¥3ŽwÆr ñýó6 + +öÈplF#ãÁ ˜9¬¯ȩ̈.œ EÀý5ogÑ}¥‰øáH5&Õ¼³g+³%NJ¸™$žnjN¬#eÉȬ’)<Š+Óô 1÷h¯ßÒæþ‘;sÃa$ ÑuGÑ‚E,è +U_<8Wº¶¨³&κòÓŒWÿàû ºëX%4W3ù>/±WÍU-Ý&¯­q¶ñ3ÄË_gñ0›¹7Ì&åÞaoê‚ã‡N>šT€li´˜ÝqÑÖ¾²ð +­Œ>Á& \Ð. Pcíƺk—x‰…%Y©)hfl1(ž¤¬6dšÝœ¥,â LI‰3ÜÝæ‘Íé2=@I\Øu'ëÙlrRÿdÒAS4»ïˆà˜‡Q¶I 0‘: åÇZ"ã Ä›p?¸¡“(áxSþÅ'‚xd¬}Óh*°¾{Žîû.†™ÇmvÀ±ëpSm´R¾†mí3å%›ú¬^V©‘†ñý5ùcRÉmqÏG¦]’ŒU ôJ§<%ˆ,§ÏyÛÈ^Q¸°êbÀ‰ÃúºÆÝTa~®Æí6j/S6…OŸy¨ñÖ`WO¦½å¿ÝÆYX%›¨ ÆŸ%‰é‰êyKôü>Yõ½›MÊðꮼeyŽÒÀýŽ˜Ö-l•QqL6 E”õ¨Ù;¥$éÞóð{ƒ qqp¤Zó8ešÉÝt)¼[cø¦Ðï-4Ð@§êÛ ä}í` ^ïNnïlªÄQ¼Yð ÒrWi Áñ[è~Ë°m9†PlåØã7W9®Ä=5‚{°¦x„XfêßVb~c$Y@¶ +×Fû‹(£þ§nÁÐÁUÖo-î¶X´±(”dn’øxWØyàý¨nð^qmP +#³G´I‚_\Ý-Ñ ”‹T{°³ +ûRåºòƒ'6Q³QEä®’8Á¬©™YžÚýéDoé~;…RÿayŸÕ8Á/ ˜Üˆ +¼SʃðT )ç†Ê¤Ô®ž!|èò.€1Nv—ìÅ€oöÇ©»á +85!A‘C8û?†Ku [zäøVÂLo7¢fm×{ó¹y‘÷1%ˆ p‡£¢—"ØQ«ÃúæùwÕK'Q 5^ûÎ]6ug”>7}Z]¾åŽÂÕ£apnÕ¤Ô€¤¸Gª,Úû ç¤åTÈþëf0É–é%/*Œ4šlh›…ýMiSRü€ðGx{kV ×øx‘&£Ö]ë³`òèmsLŸ/Û¦Öl›ŸÞ.(´®‰Ð²Ig¸±jÒÅ¿bGÎäÇ»ñ«0þ +ž¯<ÊhçõKFóCáã‹`Ûû 2˜üR,r+¶Ú˜Ç²0®…àj©qÙ¸ãÃqÖV©ð¼­8ÖKï×€Muà9‘AUØîïÚWq´ŒÈ½vgp¥XûüÅ„ò԰ʹ’&\&wÊ›÷â`SL©4`YoÚ5Trƒx¿@ÓkÁ +‹¨"ÁÉœsÒU&Ô +?«îò¯æ‚D×,ËŽÒó¤“Î@êiEs¸Lă«€âèE‰­##AÚ]}iÝkS*ù‹ÑB/)¦sݹÛ0×î›—Dpß<ø_¿é>¤$ m3ïÇ<ˆPPZ~Í63ØQÔÏeÇp×¥ÝcMóíE5÷°-ÎvÆœnÕÈÞ03/þåón߸ +ø2Ñ2䘰ժ"?m¬ +Ž€ˆZÚƒ[Ë1ï9nŸÀÝ~©mñ1’sL®Ã)Œšf§^²çœÎ.dÿ2Dc ÛzýŸ\4]:ë&B“´ôcD–Öv›Uwó¡½øºP›ú»µ6\Ñ1aLí+böv"’<0øügôç.ò1LÑñÙ˜O»C'Ÿ×›b€Î°¶ˆéŽ˜Þ¿ô­ò OÈÄ"Œ§¥’Ô¡<ÌËÄ ˆf—bèʼn¥ºT§9Òô#ç)/ý**Ï‚¶DÛlÕ7i„U@Ü™[®º9óC;žH!ôºi‘²Àýõ0åš×Q)þý6’a¨n²xá~Æšß«;ÚûC¢+fg* ƒQËïÒYazRħDßkäý›kãå¥Ê†Ò—Hà–سþˆïn×Þ¾ìˆf¸VüCç)QÙ[‡2Ç»Ýé ¸”½5SùÔDÆÿ7KZÄÚŠh´GH§å+z>1q¼òÿû]þRÿ,&ˆˆ}G”Pa •õ£­S®@ËEÑ5düç·@”pKlÓ®TMÇC“õ¾oø+Õ ÕøC’½Y‚iàæF—ßýû, Œ96 ýmC]{ +9šyÙ@ +endstream endobj 562 0 obj<> endobj 563 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 564 0 obj<>stream +€ŒÓ~ ¶­‚÷”ÓEd½‘ÒÝÎ¥p~eQØÞï)A¦õi<Ôw Õƒëé¬ÏÁ-SƒïoÞ¸¦ ”ÊÖ}¸ubß”,xò Ú(ÿSësãTÕôÖvå™+îØk€Ðd£ˆyö¦×Ö ?÷Ót_‰ +þ9{Iù…^wUAê9ÔE˜«}¤Ä +ex0[×3¿[taDû7Ï·³Ñ&<Óšy«W!(ýå›`ñ%RP?µyE@)(Ç$<ƒ—qt™ÚÄýQ%šäl-/†¦_À@³Óñƒàå º¨B{ü’lUØî€yÈÎ(obôÀ*ˆõ°ÈÂ7ßÌPikYÜqÁNá†Lß] + &”Ë`¾ë± L–Ô³°GȪ&Éû'P•<-iÁï¢á ðp²a2YÁ(/ U{j†¼–ãÞ~ÕymÂÂ+Èü€~^Znšž|ì=®ãŠ…€aœrU K„àªþâB=ªµ^Üææ åʯpöÙŸŠ…¦‚–<cåÌùpEíUÊ#P¶ŠÜí!T°Ía1éyÅRÖåék”"0]@?ïqˆíÜÓi!Âp÷Ý}®{ñ£):ET•ÕïÄPU¡êÙ H{Õª5§d¹ï#¶Ë—êSœ4»1—•„¬7äÙ B$mœÇ74c(Lã´[5Âǹڶšÿ8]@"¿·)@À@£Ÿ„–á$å•hwòY¯ƒŽÏXefðUšoÒ9™9ÜÝñaüNwâr`§¢6>48Ô­…gòi +`®!ì÷d±î¥ˆIœGè€ü©&›WçTÿ$‚ŸÏ·1ZH¦’ççné(‘QÕ/ãs½±ê+ùCôÖ‘}žñrˆƒ ¾Ç~Ý«iÏŸÓ۔ϲŽÈ˜©Œõ•õ@í¾'D÷üØRg¾'ß75CÎk:C¡l¬}êÕz7JÎa¡Î8¶Àû̇õ™—:.’ìQ)ö‚Î¥_®ÞË5Ò·YBtÒ:ÊiéÿufMsãõæbd€_jŸÑl–-5Æ) òH“%¦$©,sQ¬þbœ½%¼NyRéñµ×B‰˜8=Þ·à»M#xaÎdHNç2ûO É-u.Õp=(2¨4ÂoçYÓW”SS«:£p¿ÏG² iö eN”Œúl“Áz| •ãô’g°&ÿNK0¬n‡µFg@Èh1ȶ‚ßÖŸVå©’Ù>ÆÌÐ&é¥Yòé@§—ܘËú_vÓg›”¬+ Ö.ø¦Ï½<šY¬Èä5œå!€SnSX—E¥æµ%µµöUD†LªIà©r°›BâCJá=>áõ°O—õ*qÆW°kmdëlÕò^A®#jÈ­ïTÂ%·°Ü·îf¶‘zôQMŸu0wD!‡³Då( cöö8À,Ý£l+4P£eƒfòƒz`hUë{#©¡c'ÖNÂtFvˆŠ¸d5a‡i]<:UÔHË7ƒî#Å.±°ùþzI2VäÝ Häµí¿Ž¥nGŒž†£^kм€›.ºC8ݨ>¥/˜·òzæ÷L[èz‡,Î’s{{>ÚìHåÛ?¦Eµ™Ñè ÈBã!?.ýÐíýF;×EPÔ-N1Ãä~ÒO¤õþûô ÎÍä>Ï«E€ÞñÞTœ.mZÿŽ@f»wMCÞ¶Çè¶äèm˜Åñ÷Èñ=ü7„ĹkÙÛ;K„¬©~³¶Ó½ie³U×N»)B xYžnÌR—*|j¼L1ö+¬è²S'í$ |,LM‡Œ¡E(¯ë_íÌÜ)hdëó›wüà œ=^x8Þ@x›ÿÊÖɼÄï†úò„6ªxìSc|>%<(M°à[]Eï!('‘ëÚøTéÂ÷²‹°VÅÑ{T§—Ú£Aó•×ŠÍ·¥‡ õÖ2‘%ÞK—!øWóQ³¥“³ +{.¼D'Œ‡û(c?!:£ì kÈɘug!Cô_¾*eáŽj +±Åÿ² Ý †.®<š›ÔQôµN.â0… +¹Csö®ã“sèg.-=õü®HÉ“åƒZ5êø»„‘èîîÞ­-ÈðÂM,r””ãÇC†0PfTÂ3NÙ\÷¼Ï2¹RLGò[Iq­ÍXƒVvýâkÂÉ_»ÍƒÔÌñ×k 09PXJ6HQ¾ü`‡›ÇDLÐÍ~3Üåšß%“¼ƒú8¸OèuJNVGüË9våðwSzcA38¾Yö¤¤ÍöÉŠÒ7tª'CBG°í]@êªØ®½Y›Ï–Úoǚǃ*¥êK\½ +t¯Û½so +oBYP²„€}‰ËÖ(cóWm¡Œt™áÚ­;{<äÀJÙŒoI;ëC×÷W]ž¥Ü¬ç¥Zi\$\móH±–\ÂÿÖH\- ÿ*pœ9t-=b£ÛÐÏñ¾f/õëx4 DÙТªž‚=…È8õ2ΖD‰^Ԍڙ|€a*¥á¯g¼9Ú )ÿSªÃ¿žÅÝB]Ï;z¦_ÜCq¼Æä {†ÜÈVÚÐ*yÄδu§×Íûe”©®ÿP‘]LÉF€î"9]!¥›Å + 7çE°ŽÍµp&BKgÿ¯ ÙªÛ‘K Xt-qZ\£‹«9„7+¿Kl–s¨lE®ôY¬Ö»U.·l®W(-–îP´MqÛ•ÃR+rbé©ŒÃûû¿@0¦%…ֵ‹l[ ìw®pÄ2–Gâ,ïÑ4%{Ι{Ž£LÌ ¯Þ :aé¨ yä‰Èi¨ö + +èW5•NxvFÿ¥8sÒAZš;1ËKŽ÷R“àð³ÆÙã_x¯cw^È°_Pƒ‰ +B$P¸ã¾íY‹=çÌãzFRòÍQËë²~Ce韽ÛìàbM¼¤ÿã[‚ +¬·öd¹ö¹è\ŸNàÝooCÇLÆö‰ Tô†Ø×Ùªí®•vH›ÆîíÔ ƒ[9MIlA²óÝÔgКHçÐÈ‚ú+†åf_º×¢ž)¥Ÿ]XQ…X§êvÛèÃèIfìƒÌ•#<‘`©sÖ 6¤¼Î¶¨ôO¿ˆõÓ0o|>joò7Pÿ¿IÞpÀ&ìÔêöªñä½ï¬cdGÇ:¾>l¿Ÿ > +¸RÅ(Jã>•ÕcLëFÚŠ}v!—½7#@`r6^\^ Y,@ÇVBIË–ELƒºôSvÄ +C|ýÈ“çD¤^<¦&çªæ¶ÿª¹J®”{#§m'ì3$—R$ÿ¹ y¨¤3§CùAê›ñ¯å±oˆ‚Íù’Ô’ê)fÎè­7SM€®Â,…›î»là· Ò¹íc ‡ÝyFº^ éÝßøÆÒ±—lô”ìq©äí{;UW?3<‚9³'/¹B¯Ù<È„Õ ­´¡©£¨´ ôÇ&{èBð#9{0/#Ìó:¸Ðï£ÚC¼®ŸauêùÁ@_nœDÚÐÚøDè8–TÊ™ù*![ˆ›KL’i¹ÔÈ\œ®K„ÃÝ ¸ˆ7OXÌaªÔQºj –/ÍÏöŠ6Bá`½ï”:Â:µ|Œ²êâ.SJ†j9¦Ì¶ñEçÃUÕ O.2(šiè»}ëdÈÁ²JžãÑç6T@)÷´=‹œñèla<@évfïÝAá‰'Š§-ç|tHšDöêÝÒá*–À„Áºý$™EöÖÌ!•_«Är–ž›ÇƒL— L]Ô¨ïÝ¿¤Ö¡JçG1·V’×üñÞ0J ,ê‰]FÞÓêc$™<€¹4•”€êuU` pû1ÂZ¶Ê‘®ºÐì<ýjøEÅijVæ«áiVÜè/ÞXò %rI•gÊpÅIif¨íÚn²$n€ŸF ]% ixc-½`Ý#_L£=<=^ ‘zÒ%¨~” RÞ)Õ¶¯°›_†¶…*õl##‚£ì„Éi‡hljS[ê|¼"N^Ù™Xé.‘"¹_=ÍÊ¿;ÇØ©Àý§$â|ãQ+*ú 9wœr% OLÇÇ^- `οÔ¢XsŠîäE¨ËRWÞs‹Tiã¶sÈz€Þƒæº\€îÆ3rɳÚ|3ºL®.mÀ÷®4許hâ^Éý†cvÊÛal5ÃÙáÜÑúGs›.e>ô=Ñp/t´u9²—ÀjV Qù6&„ªÍC l F;›ÕÔËW"ÅêÌ™ü¿»E”+üÜ’²–˜GìÈTxUWÔ™ œáU׈•¥¨«™‚XhT`ÿb[Y)„ÞZ “‡ôÃa°åuóÃÙý¾™òN¹;‰pbÍncñ 8îý$ItWfæx©Z$gÓN£\h×îÏûß„HµÛk—»‰¿¶ç±`ÉX‹€½ø¾¢ŠÁ£Â–ÿ^I QBÈmÇÙ•:½^¡b{hèBx¿ƒ=ù1ˆ±ÕîöSµFŠù: +TvÇÓ™Ù³ÆøöàŒyãm)ƒD³––Îß#jêir;»r4dZý†pÇþŒOp$úL"ÄzuÆ÷ɺú„­9Mo¥Q9¸_$xcÄuŽë+Z…m,kŒó>±©BÔ¬úi¥½“xÜ‹+kÊEêCßÏ/îG+ñ×h Âr5æ4Ž»p4p žø=ùCe`ô®ô WB±<útÍUž=!ŒøËò7ýwroT§M"¶ÜåøîÌ„e®¡H ›²P>•4¨K’U˸~¿ÕE#V¿Ö +endstream endobj 565 0 obj<> endobj 566 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 567 0 obj<>stream +ú½’H:fŒcZõíöëQ¢˜s õ¥×ÛÄæìÖÓzØ6ÍÈ+x,!ù3–@XrmMFbËcÜd½:ViíÀYW<³ƒo€ŒYÜqZ滈GÃÊ.¼«è°†’Û5Ñ Ù!í:ú³Rvš= oå‘ ø©¬©ƒ +Z¦mÊÒ¨± +–£ý.Îáµå0·A{ +ô@¯¨ëÖ{bµ;yÞÃdzõÔÎ;±àšÕmð„C*š‰6¨À<é.á{¶R‰æÅaé™'-ÝL=ÈÿP¢j KRÎ’ggÐiJ¾Õ-§[êócøò‘V•ö½Ànb›jv"SýÑ.O+ÍYîïå!J…[)ÒòÉÓÂãÆLW¸W-š³ŽqÐ¥E×ÞýG¯¨•Dÿ4›Åì`|Ö÷|qÃhÖ|‹BVRê c—A+é]õ_=¡»¦¥òžåÞ+´]Âú7nŽ‚@ÒítïvBu~Õ·¾îHÉwŽ~Ë¿ºc@¥yHƒxÕΡ•”ºJSbS„=^KÝ +µá@èi°2Ëoaî„C¡wy+: Ei‰11|>.“ªtÔ¿”F‹`r/.¨I%’âæûË‘vŒaä®4³fnµ)ü`Öê0¨¥²¦p2 4¤FãIAÒH(Œ&—–¼ê8vvA´»{rËævë!¦Èoål6v F¯åpu ¶À.UÁã›+"xmb&Ò 6g Ûà¼y +³Ù,r|éö’%¹(¦I'é^’D%fÙ 4•Ý`¥ëªôß.ZQø¡»*튎•EÆ+ÓCÑÆrïy¨Û¾6zå!Mb E*€ ëy¬‰Þ™qÕBKÑ­›ö­·N¾ÍÚ:om·ÈG‡KÇšø-¥Žæ›ž6OŽÔ[TŒëmúò<ƾ0çŽz‹ŒØÁ/ÊfÂM\{<‡h‡v}âTÕ¡#š ækCJ¬ÕLE‘âÎÁüÖ=¨Uû:¦Áq6/À-£îZi‹3²xE=B‘£êálñcÇØñ5±‘ׇ^= ß„ô§¶þyžh®ãDM±¿*ÁǵpGée–ýg™¨*Ô¨öÂhâus‹/}öØVqÊž¤ÙžB?d :éWŠÝ0N´»ÄN;mFÿHÔ¾¢tÃŒâÞ)§ ,å3#›|…¹)<¨|L)ǪGvÓÁÕÞÝ}£ŒÝ$“®+yJ©"a&¾ûDÉõçÜ<êü¶¾k q–§@^ È>d&I±­Jž3¼é³¦Ø ¤DÐtþ¼&?üîÆzf®zò€F—›Mù})‹ˆ%1o+ë@ùÇÈ”Ü(¹RM)UrÓ‚¡•õöÙÔ:…*sÍ‹?ö-[/Ö¦ ºJCü -ÀO€üâ3Éamèhe½.´|Ö%ô&u~ã2>ÍRZ¡©øm°<ß“ÚRŽbEÅÃ1}Ä1™0º0 ð õï†në—#§u¨Žw¿©owñ•-¸‚4J‘.~ƒÉN÷˜N|‡ßó®2Ž¯_úc7/·š[wßK eZÈn@y¾z{×ÓòvFjH­sµ-Ѧ|Ž­"f ÁEgjO \ …ºøCÛ1„E°&{eèí¥'«È–‘à€wLZÀÁ ^{Ö~ª’5¤d= ÌuÁtøh8úŒ{˜´‡ @'”î-Ù4+ÛüôVî’¿Ú·,«” ¢F2³Kƒd{'có ©¿Åiú2g'Më¹ò˜Cvnsˆì¾ûÊ…š×c=‚{Î^ó1dcŒ×&LyØ*ÑRú{‘xãŪW1?Ñ6`¹s>(ç,¨ç&©c´ÀÕ©QÏ»¥‚üíËs¾O`$ô+ßÕ•œ¾ör­ ËŸÌä(,@â|b¢¬iÛtCÍœ[Ý(€$ÓÜ=Á®‚Aýæ‘^KvgdkØ!E["ù AºëW©úg:‘+<~Cž”EÃrÔÊŽ¨/YÊô¾ì\BE–áuz*‹u,»²|8Z,ŒÈ6ð(*”cîì§ÀBí?À# ëÂå…–¤öõ0Vä*.}J%2ÁØàèb¤‡²‡a¾é¦ÔúuT”C‹v™$[ßG·ßñ ÷Ѭ4ù +°~ÌéÚhtþÛÀ† üä–®-±lBD¯¯Nbî¶^Â|¤XÏ›÷>UÿÓµ?ŒËu%Œá`sâjö¾âP×ßîC s¦‡qLãØïQ΢‘“Ù³Oüß™”yn½-z ¹2:!s›x5ƒI]~3$ê­ºj·ÈøÞFbf|[ïËnF² ²Hu7…_Þ Ê6.ss£¼‚·½4­ I5ÖØ™NÃ}£HÎyòÈé±3lé)#¢±iÓiLΨ<âMK‰OJXž„$é-p}ü†¡?çO6ž…É7Oºv¤3e_ÿSLØ>Kœ7Øû?¬mô^¬Ïù%‰]m±óšÒo{| +’Í÷…ˆáûŒ2v˜A!°Ý©,hž)B‘¶ñr•»©f:§ÌÂA —ßÝ"&mHBòyy2jȤÅå>¹ÂƇ%Üð”aG3Ù:šAß+tŒÈ­;Ýi±ZþÉR%’+…‚ÿ!„@ÍuiÒ"ÌÊ~å-M™klzú^Àc,ÕŒ zÑèþoÏËÖ.©èvC-1ývÁ.ãCàu«zl!Á…YØÂ…ÂÕ¼¤](ðC¥áý ¢máH¶¾ƒûv»-ÓZðPÏZà‹„¶Î’¼Œo™CQã¯-±îsÃiô(îÖŠ1«?”‚=…89x½æK;SÛƒ¸¼ ꬧†8ïßö†Ëù=hê#,ÍáS!3¦1[)gtJý€‹îk«]9FôÜéÀ^™Eû<ì)†µ[_j˜ påÄÓ|+°03EÎ0Î>/°DÒ¼äZu¢ì ~ëÈ›ýž€UÕÞ0ÛÆ ËŸ7ɺ>¬Ñ]–aâC?xKUÍ]L <‰,ÿË2èš7éà9ç¨V!˜k¤È¥|–¯?]ŠáŒÄ¼r×ÑÝôˆ%Q÷ôkÖ…ô‘T÷°=qX’/Ýp­:âo\Š._Ÿ OKŠ¾´¤v^—Ø Dž•¿7Ñ›—éľÊhÒøÙûKËêB¥FBÿoy>p™šœ&Ö©~åôFZ:€¿:~ÖFaŠ@™ ÍtÙ›ýJÊÉ}ÕbGn’ÞGóõ +O& ݲÖoÐÑ:ÍN—*¶·¿µ +QÙoá³M +).Â~„ÜÙY´”*'o0€ò_ÝÒúÙ¥<„ªu¬º +óT¼ª §vŸôþ|'Úîß´€êª®‹¤û(wý2T*Jõʼ·„€(:È.ƒzØÔöíÑ®8)gÍf:EÙZ"5£ yýg³¾ŠVw÷ÀJZH²׌²œN’Ï‘E¥)ÔbŸs`ÏÝ‚°ˆëj&@È ¶ÔÏf€Xn‡ñã×çsæ¸'?ŒùŽù³â{ºw`[ö½å9#1TX—)EÞ“  ¡À‰ÜÆ#¿—ÊĹÅ1åë¦ÃN~îa9 à÷LÜhн¨(¹Tù»yF<>¬€ª—09ž:„WTxç&y°ægïÑLZ'5†ñ%!ž ê‘Uº¼3†¸Ë‘o[â|Å—äŠÍÝç¬Tœ]“Šs£ƒô‰5¸+à>ºx­ˆY(ó8Ÿ]áZmJñ +­ƒÞËNuìÌõ* +F!Tž™0 ÍX3´}]Vy.bž²¶{úÙÞí싾ü µ›mΓêS+QªIm0/1h5ó9îöȸbd¥ðÁÂ_Ü8ª–fñpAèämðäÒ”ûg +™2]X,cðQKn!×Y!cÀ›£´e9èýFæ‡Â.|·™‡4hí>á¸EýDDùÛÛ¦|è"[žS6õò+Òn2"+÷ª‚oYå ½G¤Åö<ÂJòw”›×«?Ź‡4‰–­ÂÜSÞ!-wZ>J4Y|´-B’æ€o»tAÓë‡ð ¿s¼{ŽRÃz‰˜¥»ÅKú«‚›Góu,÷AD滞~6qPþ^Æ Ã:úªX²}AŸ±a43œÔÑ âoV¿hõ]½;ì)éyH»e Ûª& §²Ö’öþ3¡Šò0öxEeÂvÑd?iƒñB’S°O6#!'ªùµ‹ŽW©s@ý½“y'$+q¦žë赓è-q~ñŒKç·6ÈuÐ(ŸiNÁ_6ù.lsxÆ¢n\°>¦í +ßjBßîÉ)è`Ùm ;'NÜV~þT_(=Ét?hÍõÄDB c½¢Ø‘·Å(Œ;>˜N„Vº¿ €ÊG °cXÂΪôÓýïŠß_“=K¤4]ïßÞo$Àvbˆ`a4£ÓâLá0Vœ@e{ ¥öº‘P¤m½uâó×D½CZg&7åÞ¾˜ 3mƒ“¡˜½óë‰05èÓÅ­ŸbSz؉ô%ÊÔT¤ÐÎF\Ũ½¥uõm…~PªåÝ] +endstream endobj 568 0 obj<> endobj 569 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 570 0 obj<>stream +ô[š„ã¤éî±~‰¹+î–\­]Ž©6®öŽ¢7žÁ.Å`Ýän¢B˜I~ laî'åq­ kV|Þ¢Dñ\k¹`ÍG—$j×ïõìÌÆZƒLèL‡Ö9$ ¶ AÁFH’³ÎûÀoÉÖŵ9sÍãåæÒ;E¿îÿÎ@ [¹m?›cDº¦zoW0ð,³Ìz=çO#Ųç èTsG[7èž…JÄã•s*&’ÒCá?Ãùl¸Ìؾœ¾Óqí­!%EG‰†c¼Þ4¨å™¯j´‚¢s5ˆˆÚÀ¸ œðóУ]¤¥û œ4Uhu[bkàý‹Ä¦¢÷e†‘´íF×®MúÐÅ :'uƲŽÑö{=¥Ú%4èŸ'òø‚d)…7Ý⟤@¨Îªœ.Xž [¼~+I7í_S6[ÎÙ̪½¨­üN/2ÞåeO=`eØb.f“@Wº4èFD›oÛa_ÕòwssNµß˜üK¢É”¬GwæCÖ“†âyÓ7Ö»쵄*½µì¶qÚçîBTEm£iròh"Ç ¶vaÍïVœÒ,÷9álП6B!aÇÞÑq.QQjÂI1Wѳ‰|¡ÂÜ“¯%•â”h£óòD´'G•›"š™ÆF{¼8ö¬UIU§R8P%K‚ßcKdê¤7s1u_nÛ-úmFXÜ«7݃“ù÷¹Îtd¨ªˆ”zS„*œþ…æÀºIü¦ö•!äü¡©|V«l⊉ Í®=9 2ÂÏŒ$þ§ +^7SÉ\„4˜â™6Ö›€`¾º5+@Pë\*íÄ‹|´Àä—jˆÙ¤Äªw›\Ô-É$¾ùúÄ7hœVŠBÝ&Jµ±æ‡Ò$öl‚P8#PÿÊË“ħßËB”ã°8gÕð'ð²à%ö£†ds‹É;½ +“mC#yÍQyë¼/–ñSìWPÂb•(qí]{ýe9•Íñ^mcø=áU 4‡F]íþÍÐ/JNœÀv3x£”‹Ê&@ 4†W— Æ—¨V†oqÿ•©I7}ÑòC‘7¿wt)-O[&äèÙΪŒ‰bG«Sè®p4ÔŽ¿ÛS +>¾°=¦D4/Öö‹¾¸òÄ,?þThIû~Š5i\˜¿Ó’ªNmH²«g` .¨žç!ìâ‰+Üõgá@Æ÷'RfŸåp#k¥TxìÚ˜lçØ/UÊŒefÃ1‹p¼Š4YBÌ6‚—¤«¸7uGÞ½u²6stŽ&3 ¼¶cùt¨%”6;í¦ÜÆa=ŠxáL_Uü~Ù–óc§À-% ñ°ÃtͽÄá™9æ(LO]Á£ ©Èµýž“0ßÉêsiK>ÖÐåïyÍz¡8¶N5 âÏæ³|-gf"͇6 1.ô!¨öäº'ÁF£zo?ŸðˆÇƼ‰ðGEš±üÕ‚êÿFÖùÇs °¥à¯`'{wu7ÞÉÏWøuP6I~‰_ð«·ÑòŸcÚÙ×è§EÔ¨tq‰›J»ä™)å°Hv ž}»Àá‡C©sÆ—è¾\´æÔK, Ì#HM³Õœ®Ì\Â$iH3pwË¢y‚ÌðF5ræ»ôÑ#±¤˜O0^š0(mæ ¯ãňŒN +¨ñ(\ßóR°–ÍÎËÞ—U¦w5Ž|ןSî=;ö¥0¼¹þIúü‘9Û,f^‹\Á}˜IkŸü¢¦‰|”.GZ¢›Cv9,—~Bè¢Õ½UjË桃.ßÈB¬šJ¬«¯4­õÐ+¨žðîÃs×¼*¼Äß9Ú(Aãȇl©¥¬x;ëäï§Üá(DŪyä«LÛÇêo’†®ÓL<Çû.jäó…Ù–.áìšZL‚m!y0GK©æÜÝf¿7›ñzJªepfW;?)²£ëßHÞÐ9uçƒÀÂy¼±Ê2™´iu3Õ%«h“{V:»â²pÌ9ºÆû5mÔõMqeÅZG¶±ï?2Š»øw/!l•8WùÉd'ʼ”a‘O8{ú@¾xžãÁöqÊú¤{ŠS>œ úHó’êvÙ°%T׺&']4ʬ¯¤Š|Kú‡Ø;NÓ<¶«‰6x‰úƒ°AêI©¼IˆñÄk`ˆøØœu0ú²¥(ôH«BàrëÀ>«@Ñ8ƒ——|Õåò ̳ Ât€²°\¤B“Òh¨:aø5£Kó2›$--™zܼªR½Þ§ð?%7Û,ÕQ[Å&[õFýC !÷ât¹4a%ó…½S +`͸y1Éz-Axd‰ÀÓÏaˆLSȬ½À¢Wnß@íiúa^†ýÈ®Ü_+¬Ñó}¬uS£sŠEÎ Rÿ¬D%"/K@€a—Oép[ê5+#Äøc[=¬ÆËŸÞöŒ±kZGIz6åÉe +%ÊiĽMÛÓG –XyxŽa?#i¦uxën ÅÐ-0½Ç¶ÌPÃËOíðh³-wëqËr°Mk‡dôiÜN{³4—£L’p²Œ©´™)ȘYlv8¢rá5K¢¡G½¯Y(0ŒÌ>*Áë´êÍeªÊ®§–›¥½äüsM…ø†ü@1ÐMå†ê:zàÑZµÒÂF1¿±@Û'nhø–í/X¨ã§ö±%.S¿’á—vQ¯ÜT@ŸRx:ˆôïéZ# ë ¡²ø”Ý}¢Õ«Š)MÔ.½aXÅ ­àC›2¥PÓŠXPrý¤î+¼÷ûƒ½ ô“ªwaŽŠà›cqXv5½Ù¨„p—"E^ÆÝräH&ÊÓ5ñ¬ÂÚá(ï`áêÁzø-§(,Z^nÔå ¤"ÛÏ4±*HUã V,ÌZ% Z>ù´!UÄݸЬ1s²vŠ…ªnì͘bŠÁ”göNÊ0•c¯!\8´a1ä9ý#@9n©u!Ö)©ÑX<…ÑW•Œ]d Ñßß«t_שB›@£SÕÞ–Û["„F#ÿ¡ O!)Ö7gm0C¥‚QÚ̮͚ùkí–þõ}ÌÖ‰4¾£Ïš]ο6ézXÕõçóÜ/ý K—©í÷,"[f¼.t£Æ Ó= lÈÉOãÝUÑpwd¡¡z‹†ã„½—Ð(2}7<ó•K¿|a÷ÜkïqéæŸÓd»ýtȹö<-÷J‘Ï.~Âc<\hTK1è ¡A‘Α±Æñl¥á1[ÙÇ•Ö`ÖYÛ×ë.(–÷¦øy_ùˆ}–¨+ì–´"• Í›­‡°aÐòz"šSt `©=Q^Çëj§Ÿz·9¨CÙÌéõ(¸ovzºÀÖµRFüè©prHÝ÷™"[y€‰W +`·Ä‘DgýJ·M7pÐÑ43Дb·oóøÀRžX3z‹¿Èq’ʳ4ìÓjè\ïó*ʳ¾3ÿPn.â,ö6RÉ¡² ä]æSëØ 3o¶Hˆ„/”EWãF#1ó`› þð‰o`̃¶PÖå; N8:Üu[“ȼ¬Ô`¹âêMZÇtì˜õ +õò²õ7\KŸJ2>E>Š¦ÜtL´Hš¨å+¿ÔcÐ!üã+8jh ܱ$UPrŠ™ÎAÜ+Ï^¼B/ÍÚkésÞZ „&R®—YhýµOË +Mg‘ã)P9 ”V6HÜ º$€“·Ýé?ltÿž5Îvîª[±&§š·Û…µ ’Ex1Ò©àÉ9Ï +2Yñhw»~Xó$íêF˜¦R~©¶¨œnk —fLƨ‡*õb‹út9ꀈ& *ö±éòéò¾W:½ÈQ¢'ñ“êZÙ«&'@ÑCä71í-k‚õ;Š÷Î;ŒÇ6(ûLåŒäjaÙöÐŒ°{EÕ$ìƒ((ˆ¬—öªÊ Ž‡ôY"“ÌQ$¼Nœ&Ü]þ4G8œ¦R˜×òdelPŠLGÍ,< P.?€ÊñþhBª-W஫¸ÔøF›YîÞh%©Tº”ž«ýssšI µ³ø’ÆÃz €44:#¸bl§JÑ0œc‹‰uÔBØ£îL¢×`Ù{¤=w`O[G™Aª¯—ŒHy_ËÀñÚhãÀòÁeá ƒ3¸Á‹üŠºŽÜt˱ÖebŸÙ†„ì»OÖ‚·Ê`ë75ï‘ä4ùI#ÞÌqGw¿Ò½Ú¥—ˆ’VkLnÔVw7¬qïøþ5ŽIüœÊãhƒõNÏßCí—Ê +¦vzuÖ4/˜ÒMÙ¢Q\ñ/gàÜ5…ã+Œ•êapçϸ¹™b08üéèÍ\ª>pïbÒ Î +endstream endobj 571 0 obj<> endobj 572 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 573 0 obj<>stream +ÑÃãÏ6Œö!!tb_Š¡˜ØnÛEÇè“Ê®A8’DÔÖÔ¾¨[ +ªƒc€O5þF²_žšòKz±¼v6<30sÚÌ'EÀã<ÄùäÝ`žŽÒÁ~„×ÒV·Xœ?Ù§Ï?̾bCw| €pà¦èW³Ýh ×³ÂàF 6Ås¼±Ó„Q³0»Š~”ÉLMûæÎqÚQ%—?õ©Ï¥ÀÖ¼«s`Ð +!Ðâ«P€þ"RmR<ËÝ@9ÔË™'+Ä Ž 2ÀW\”U‡ ü L&š"]y5Uâ«üÖWgÄ)ˆ’ò¡•~:&œQŠR@ÀŠñ}köa›AôÉ >2¾W(UòçÏròº¹Ý>LoÚÒ•Éß—CWA'Rˆ6",(¿T«m¥›:Èö¼ÌYžðf›Î+ôcõ+äù,¿°@­ÄªÆ%„ì]œÄ¸ÊWì©TŒW¹¥ÉNÃü¬R¢VJÏ=|fgÇήz¿´R‚þš]äBÐêlñ_‡ªPÔÍ[‘¨!÷‘ˆ C‹(¤FsØ/!êÑqgðÒ§œý +Lï°)­I.½°]YÅGII¬z‰Ælù—5dgåZ™ìµƒ]•®ùEÆYÿ³ƒˆ¼*ª§?·#Íœz¨-e•¶³ /E¹=‹¸B±Àm[;/™ù‚ú…g}P­z…öÞÏ-˜(ÃA‘çy} +±Fø³‡>Õ“&9 ²ÎùÞnä”m¤ûC¦ƒiS§ ÚM¶Œ‘»Ø‰aˆ®ð+@âæïXeë?Œe+ß·Ñ_X®“)†¿`y¼_Úaª? ‡ÃvBô_RlõO©„öàƒ}ÈÑ8_Pwøwݼ¨d¦·Öx¼ŒJ>O\i@”ªW—-¾Ù-n9HÐ?ƒº2êr½ì4wíW†*|­…r‘Ѹj×Ì0ßs—?w†ï‡„²ƒV|ÁÍ”5dMÊ)‚e u\^µ~ñuW·uâ³P'×ÑÑ –eù¹™ç4Uîrs¹Øµn +@Éyx*«ˆI[­sé#Pñ½Ø.s×û +ç‡×^ _- ÀKÕz ƒÃ’ÈúŒë +Z2;´š*¡ÈŒÄCY8Yܺ-,•~Bf•‚ˆgx<ëÊä;ÍRÛ´ãa«EIî¾&±÷aSGK›zÚb⇈@…9ùBâÞ6±¼ Ü”žçøF–ZàZÚUì´ÉÎ…}=Æ‚Àœ€I’Ç4˜ø Ò›gÀ‘ë>‰HÐœ‡¸«1rX‰ÀY/ž˜~¸Np± Š`²(£²„úx†ÙXvžïÉòŸ E"•Néͤ)æ½Ã=2ö[ öìM³Ÿº±Rþí +¼JŽ'qù]ŠÛÙ#ìú&R_ž]€Y£·-[À·|©ˆï}ØæÇ"„é%åX¬Ã7çØ· …Ä0ô-î36^c“¸¤Rýcèšx7æ"bÕ¬²Œß+#Â#rÚ%Âó@öÖG¬•ð¯‡ê€0ê'~VrFd®3]‹ìa&œ_ÃVö¥d&ÃpŒQôð^KˆÌ&È9w"öæèˆ=>¥gYŒBÒ7G`6ÕwÖÏ^–pΆÉVˆW뉅œªbC ¡Œ40³µÑ­¯‚HCF­_|¤F´ÏÏzέÓ6䤊oÌ°æFÕ?Ðo©ÁÙbŠû(å"§»ªä^øiã½ó— F-FT¥áˆ§–PçÂÌÓ¦~¦tÞž²è’bïƒpвï3›CŠ“ttsöcÍÜ®?Ëÿ¿×[À?˜³¢œ2‡ý›`Dó!ÀwÙ`}åß^·Vç‹f ºyˆ*z“IÝÂ;ÿì’é׉¸Â!{8ðØP+&ÁóFõ­>ü"F +u^ç/ J5^Ýh=lò&ƒL¼©Æ[;/*¦lAi/;VOv¥Í ß—¶¸çTÒ˜¸j¢ì˜Aš'dä›­JàK ¨ yí¼ýV ¾NÀyÂfëÖj±ôö_€-4„Òj!¾ŒKÉÝ=^àÛF¯Å¸K¤¹NSš1Ü · ºTC¬v¾)=°²ùÁÝI*#ñ³ºû 8K‚’ۗ┣hz«ßÅ»lZŠ“@6g³_ø ”F'dÔVA¼§–‚$ì‹ìÒª‰½„½)uŠGK!„rC¿ÐŒ"·Óçfa…f¯m)Óõ]˜ÚÕRÇ_üž«“.G{Půƒ&Tð£aèáñzÀ6ÿ†ÖƤÅk2^_…φe™å`kó܆SK•\RÄìjQ­v˜ÂQβûV×ä½?Ï%¶úϹŒêÕ—1Ç——NeÓ&*0½ú25¹øÈò, ©à{RãÎR+Þgì­ù¸q- G/°™½ÒÖÜÝd„å`.ý,7”`¢À¨Z~–jõÝö±¨ßF–= Ùð«Å³ý¹…r}-ÐBH†ËËqͺ½UŸ0À.iþÔ¹UÅFû¦L~-†ƒ}cÚUN觢É*Ùnµ*Pù¥>²y¹í¨Áž£Ó‡x´xªùn‚™L“–Ë +h5'ÐK÷ÙíýûÌDr§ ]Œü3}žJ‰‚z= ÷‰)¥ùƒßþÈÚ¹ƒ:%2†(iâß&W0R…ÍN©ç ×37G11YmyÅ£«˜½¬þž³ÒBšH—~°fÞ&UÑ[þ¢äfMñF¬Íe¿ÔÊÉ%j¾´quƒš “6K>\ÍSŠ¦­h*ïh[uïÅf/ßœÅÜþv~Ý°áÛò©a@ß?¶ ’ºo&Ï¿àgêôs#œˆwÙÎý[„BL¾ãÂ}†Z"»ºézZ-WOíÚ6½S$ òQä“OëRV•Pû›ü[Ü?=§ÕÚ%ðTêä”ñm0Ô=FVX0’tOÉÖ¨ÿ‰® ¶5GµäVõñBßaAo”å÷ó;Ø4VDM°»Àº†D)ÔÂàóé-¨ŒùA + +*†s²ÅÞ3­:ê\<•-æ« èÁ>P‘¹!ö\q)oGî|z15(ˆÑÜÖáš4X®|‚v’-¹ÈLñú­êu‘?FþP_Ö4©™Æ=½5xÅà‚ OK‹Lãözí€s^‰&‰±h7®ŒÇ +¢Åð«ùìõ7ÉãWw¸G\•BÑRúÂÊÕâg +Î<ƒp·‡îB¥LwÉïóÅ+Ýë‚’ÓŠ’¦Þ˜É‘hN¼*…ësÐ`á¶Xó£2þåfDvŠë–[8l®×oª§ò^bÏæ5‰yIêYãéÇ­Ñ`ñ,9ÛXÄòI¥M˜Ñ‡L7ºŒÒוï'aYå4^†V³º“ïœ3VÇ‚?%ØU²‰^”cðîwÉ×û€w¹¢%Ò+òS¯ª*í¬õ‡N…ñ‹-$OGC$0ðÌ\i³ÆÍ8øºw4ë²D¼Ž +¾Ú ÛÖòüÜüC=„)YkÛ¯8q´¨õÁ}>¦~Öðô|ndkä=ŒƒsBE¶±42AStËÅø„Ó»µ’ÛèœÒ[žžnäppÖ6jieôaÂÏSw ²yò…É/´ŠÔî‰K¬aâ–µ G£žÜ£qnC¡ã¢žjŸ‰Lò p l4¶nY+2Å,~d´sív]\q.¸×òœä4Zk9åNÅ5¨@öz¨€ Ž\eÓÊ©`­™ÄÊ>ýJêgH£¯czÙåoÞK£BS¥F-UÝ0L©m(kRo fZ +‚ÌáËö­C„©¢©œëV4RÁÓ¿ŽxÏ_&ËW'˜»…† y•«6ÖD°•íe u¤!}¿|ƹ6¨k¯Åy¬t®ÆÈC€×”yÑÿR4èdùž@wùEä¿eÇr"’§ËKä ú–£2KÓ)90àp©Y²¼T ´ìÊm­±±•YÐ m¾EÅ }u´ý¡…˜Œ ¢¯Ÿ5Â'dh¿ ,j{—4ÓcÖ>Çwhç¼¹íw>E¾|‰¥‡»ÃÔƒš{þ±¼fÛÞoù½ì2y,øXUGÎäí™s…$‰Fìš/]ó3L¨ªÇ¤eàÿ;7LܵºÉÍ5”ÅZI^M©¹¬·ýaf/Í| &,B(_#c8¯øͺ¤ß©|¨„dHŹ=±Ü¤Ê/òFàÓE*éfù•?W ò#s¥/aïî–¬­áÏÚ/ämªŒHü#šÇEÔžõ,Iû¢‘/æ÷t2ÍX«Ùª/Åá;£¶¹‰ñÔRq Å61Ð=Áî½f=}ÎhbÃ+¿&"~Ê$oE¢œ‹Bqµ’O¤ßW1]¼µÕ>uüôYZ‡{¤6‚hðÇ‹ÐÆoÄã=]9 âzòm!E|«q©½ÔÛ³Ÿ~‚˜ÃAÓ,ýØkÓÊJg?Íé+~Èós¶@¾+Pº$B4ètUP*xÕ¶Tþ&Gjwq$S=¬¯&x}é¥s ¢)d×Yp"å ~îà…lþü­ž åëØîPYv賈÷! ËÅ%SrQMdb›}.) Ðr̹B膰;ÏôYèö‡ð^ËT ÎCSôXÛM”<¼5"{ªDŽã™hÀ'Ÿ~6õ­Óÿæ1@'yÿ[åXÙÀd‹.üŽ@ø2†µ`Áa¯O°Í°—1×’RGkºµ7ÉvÄ/\ÁÖRe2¨I— nÉÙ7RîqÊù<¡-;}Ý®«’G£cºÝµ†öÊ¢"Rƪ‘AÄì’}ð¾-=›$Dmš(p¬ù³'µÔ©÷Zã2[*º>3ÍîP5•‚Î pNô-Æv’ ý„è¤ä%4\&È%!$ ÏáÁ“>¹¹I™÷©6‘zûv’ÅF-n¬ ¯~ËF Äf2;XÇzã·|ÐÙ} Awݼ¸ISGPÍðt†beýx‚1yÊZ ¸Òÿ¼1¢ôÅÏLÖÜ~š%x x¹#(éù¯ fs„Èf{ôånÄ"ËXÀéüAb‚eni–ÁO>Áz@a¡_¤:Kç‚÷¥G_XSïì÷)Š+@çÏ+ûÏTåúø5 m´\0ûÊóZFƒf‹¤›R…I,Mò Ã6™–SE6[ŒC2ó];3-JËsCSIcÏWgˆ ï…E^ŒtÛ}ùoN/®”ƒWéìÅ +„•ÓÒùÍùg7 †½Øи°¥&YôiŠQÃÿ]™Ábåo¼Uší¨ÊCè}›Z „ ¨ˆÔös)óöØÆò<ê©ô1bÆjü5íÈÜÛHá2Âal¦ ©Xh'ÛÅ•å á!ô­„=¾ï9É¡¨ø® ŠD9œ* ?Y7f»àC#Òsß<ÉNÕ«Í»xûÿv“v*KîšÄ¸©CÞ¿u@o“æ‘óª œÄýæÝ®ñ|©# äc:ó—ÉùIá!]Ê°ÿ6™¨%}4.žö+M(ûoã†5ÈÙ‚ …ÔB|Œ–™XSÏYw§MKIçÅ»bo¹ÆP*‘µ’èÂ/ûЃå.šÚ5¿žé +ÇúS»ßQ—p”¶HMš›;ìmzì,°t–]A£Ü +~œ"E‘ÏÏI"Ç‘½”­rp6Aï☳ËÝݾ;ú« µ·X»´s}•-—lø¢é6~ÁÊ/ ý¦Ìœ6—ý«Ü¦RØõm6 nM.â13–Û"§$lCl#qw ¶µR?(ômnË£Ñ%ä²ÿq¨£IÏA°dqÎ'‘l©¬vp]ÉLÚ¬þ3+ÉÍÙ[9T +ñáQÄÒ¼™a=ù +ö=¬àæÜ¿pO¿XVÒ…g”$Qiª°Ÿ¶Ä o8žN!Ð:ØÚnA_Á—õ<úÃXbEvÑÆ~bjW‡]L9Ê:Yt°ã¹°ÓÞþH@NwOk°0|å„è€!¸ƒs5;}FìDY"©ìbXS“Ù<– +°w;æx¸êÊšjº€Þ¹˜‰ÿAq/q±¥i©à Öc¹êÐÇåÈt@êäÍRuf=ŸÇôHMtLøšêX­k£„{‰DÛ“ÒHøñÖ{h4dKG<8Í6 _¶ÙßÔpQ›—Ç›~. P»øÈ°À  ,-wuñ³²Ñ2t/öˆhaéYnÄx¬Š‹Ö¦$r›Pð‰{ó®™e/=ê7ÏÎ7òäJc}"9®ã KSÎ~¤¼KF³«ÅrõUÕÏmîÆeI·œnã;'V‹þP2 ŒU…–ƒÔŽé}|Dßdê+h½~ÌN™7Ÿ8^‚ƒ§-YåXÔ +mòKâ-…E3´œî?S\®lE±ªC^ƒOÚ*ÁWAÉØÑf/"“Ö— +endstream endobj 574 0 obj<> endobj 575 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 576 0 obj<>stream +nÙ®x¥O™W?Œú *²îˆÆÞ]5159Ԭ{ôÔ©5j“´QkÞÙ¯VL +o¡•„8Ñ4'î#|œ;ÕÝÕ3Z¯c'ÂmÛÙ]÷«íõ&ÃO·òFŽ +ñ½˜[¤„@Èçãkü/÷soÒ‡–ÖÈâLÐW9‚¼L³JÆ'Ø”iP’®ìÑ)¢Á|Ëȉ-æŒUËô£<€æ±»zâìJ-Ì:C…JKñ((å>bDm¼žŠ02ÅpÝ»a»09`|\/o*\´±¤›&[ˆ)ZßÕÈ@—]üü„”®#™æžDÎD¢:LËÇ‹ªœâœžÎ›÷*±AÕ:WÃr,qy½+æ3™ÜVù¯ñ=üŸQµR")±B†(Ù·û8 +†.64;d“œÁ?Ûí=ª:>²µ©&-^ÎRõ5ý¤Àû«ýz ¶ï#$gZe“QCF^‰BnÍÉÌV6Ç3YÖmØW¡|CDt”‘ÞØní¾ÂŸ¼8é!OÎË#¬Ó(€)Š-PiÍbü,Pµ{qœ"Un_Nâ…”sÈçåtÂð•Œi‰ªÐüa]·\}è¤ÇXw#%)ÓÇÍ…ÅSõV;éKÒXGzú²r°`ßËI®¹PÔ(}X š{Ô|ŠèeN£nIÍl#Ú-¢n1•îiò› ¥Ï ¯¨šêN·ú¤’Éþcå'#üÇúæ`<+tÌøób®¯ìƒ˜¡Üâ*i)‹ã)·Ö²°Ÿ’*VztÒ ™9Åõ8XŸ"±+íŸöN ­~CiÏÉù¿CÍ)ÜØ¥ëzwÂZÃ(7Û6ûvEáM¬òh€ ÚéÂ0¢>rÿçVµGWGvdˆ +zmZf<(ƒ¨ˆ½©aè·¦¡ÿ .ê]ª|äQ5Àê¦=yj¬D¨ã)žóh«n^ hïü¿]¦ë3öþt%Y–MôÜ` j&5º*¦, R°Fêß/q4ñÀÐÕÁ]Ýxì üy³z¶¼… 6\&‰“MHÀÅæ©ëÛl`°!⮽½²ææúy¦ÞXr^˜«•¶Àæ«åVW~Âíeµæ<¥®]™¹ê9ÄÕ¹º·5ì×3®¥+éò†S+ÔX¸8Ë]ï–²~ÌÄlîúò,ëÎè‡_’ÄW Óo.h Jˆ·jôKS冷=”nÚJw7AjÜôE1 ›n#â|«´Ok%Êøÿõï{±zµ³?Ò¾\²Ïßé +Çߎ1z7°\V¹Á°b|»Ý-“vá¤Äz¯xw#~›”@\‹+Í®`Øc=ÿrìüO3جý·,dz€k"nШ†}q7S ± jÅ ñÿÉZ†­H3¡Ääß3䧡{´åjˆX÷“žw¹fÊ*(£’½_d­˜ÇÞHÇMÓ >½¾ëõ·v%d÷¶žÚÍ-øŠªÚ‡)Ýl¶¾¢=‹p›Õ@ù‘ûáÛë ¡(À¡p¾ ¸\YÜsZ‰r¬¸Bå}ì›í«kîѧe=p¾Š9ãƒãŠGˆH„COup¬3ÊD òx<åç£Âö81I°˜I—^š©-—*…¦Û;q§3ÃÈ4­&v,øzYäéÎUÖ¨O.6ñ‘NÎý™ìQ|“_³#X½ÐòW+Ðh”úÒR9í‹NÓóBäawó¹&Ö†x¥”'I ÓßÔiÙ>?¯4Pk½U›K)©«Ür†uW‘ÏiCgCi‰î×ÀYãký ¢ÑÖ?å"ÚÐW!¡¦Bmý4*x½ÿͪëà&‰ÞÑüÕ݃´e”’7 TÆoy°l+%=Hª líšõ§Ò{gÕ‹0-Ë­ëf{g0ôûbª³L– å0áPIOÓèæWA ÿ«vÑ€‰œµÏü€!lD{A;]ž¿Ùñ?ÎÀ¦¥êö’Ž +ßÙÁÔt=á*‡©BŒ‚¤y6_ó[!At§£µpÝy(‡|äl‘YüàÔ·>Mœµ›SL‡˜Ï\g‘¯»™ó†mÀÔt­4ã‚]ÿm'û¦¾¬¬©YñÛÞ6ž•öÿWØEe¶wd¢0Œ èaô¼o½Ê!%¡x Ì4;„²´gSeÝ·Mïçî¦m+ýa’Ï¿Xƒi'³¯AÍm˜Sl½†ÖW”¶öáŒÐ{ÂO=‚§ßz¹âß›ª"®1]ó¹t7þM£Gx{1Û˜`7íïc +3 >Ä)(4\‘m£m\{LOYêêR‡PùìZu ËεfeïŽØh3/=ª±6@HÆ{Ÿ\çb¢"/ÞÆöišÉ6a5Œ`Òù¤=oö$©A_È2×nÇ¥]77Ÿ11+Äô£ãŒÚÍ>@Içä¯~n5§ëß 1}%£eÎñGìèkTÃÂ{.cÏâY’}~›<–!’9®f¾ZxX£á­Mš ’ìI«ä€ £JÍ +òœáÖJÃõ;\ü >ë=Ÿ¤·ÞØœ^µnœ!%nQßäÆæ7¦ýæ +䟭=ÆÀ¬ípWIáŸÈOªS[mͨMßEÉ·ÐD‚|"{¼• F8;¬óuÞ×ͲA +Y¡ùäQ˜1U>`N6òå­.S"YTFcÏ(—Iëýņ¾íŽ»$„l(þ z€¤Ì¡Ý‹¯®>ôFÿ§rË÷´u+E¯!ýæCÏŒ)¶qãf‹þŠäUÇ Âü×ØPpÍt`kúΗ “Ää¾âVÖ0jøÓô>ûͨ›VçèÔùI¸W ÿ"CBgýO mÕÃx(rµÅÖ*šFèK Ïpi –lZÐ@…¥ Nç'Ï‹ª~…*z8%m‚;îAÚ%j¤Cv/9옻eEEå#´,ˆ`¡&Tü;éºα>5 ß»ñ&å‡L„SÿqÈ•ÇŽ—”¹&í[ŽE H¨Z86èäZ…ÍØ÷ìG²¾¾—Éf_¤IzLúóÄ2d _Ò + +ªÐkù¢§x'¡L'¬2ç§í…Òw-oûõù• 1íÄÊÃÛ–^;ûf®8G÷¹©f®¤V·‚ô`%A`¿¸ø&Ï\w +wPé +ÇcçD™™ö;1=àoÎmR|Èê¸ÎZ6Ǿ8†‚cøFš0­€ÈÉõ#¥ÓAÜFS’Cc8­÷!«I ä¡hPf¬öJwUUì&³L™øhæ›Z|VÌôÈx[öò¼Ÿk§„eM™Çà œË¤è‡ÈÏü£{™¼{æ >—«^6´0ƲÓF·TIôFbŸxòlÍUÇ¡ó˜öÐÃ^vª–ÇæêähUƹ‰7œ±:ûý,«½û57­=“~G%åHÐ:ÓWAµ`¼çÄ€ãÇ‚–nûß9)T3Úï4÷ì $Üc]ÎΡùvmM·8 Ç=ö’D‘P«’3ÀY°¸Á©õ³Ÿx×0d`QZ~h'åiÙÝDY…li !aQžI ¾OÉ_¿›2ꀜXò-©OÌ¢+µTJü͹ùœæ«p•OÁa=‘czåI“WD}g´ñâVÂ&ò·Êù\ø}™ôå©øXÞ  ±jƧ“¾Î¡~ÏalP/¡³F‘k̓Á@(KpÙíÐ(³º3oàH'Ž?õ¸±]AŠŒòe.ÿvò³×±â’EÖð··ÙûñTÙŽÔ(gé%ÓJBcúþ!Á;ñÛÅ;»cÈs¶g±cEAÞtRßt¼ëi½1Uëh­êÖl\(ÛX]G¦–Ö†OýÔÀ‹®›~›ÖAêŒï E~©%Þ›-o{Ð6€PxuÍb…oÍ pÕ + ºPÔ£üK…ë´´ÑŠÕa‘Ân3¦S,§¬³uS¸'ÇÄîC®v[ÉQe X§Ê’ Ì©ÉF„Ø¿ñS¹¢Ï¶mwö\Óð\Ÿ3Ï *M(ïRÎÌ îøÔʉzšHͬ3%®«ctCO Çe aWå¹ÂoqóÌÃ8u¶ç¬·¾ERQ ˜~^i=šôÞ‰½F•ßp®àÄžCk¿ªìƹ/I&ŽO¹Cz¤50­XI›˜1ÅùE¯›wåL{gæª#ÿ¾å“8bžèZƒ¾Ž®P‰Ïm™7ËKƒ. +sRÅ6ìáy³ŒÅÛ}‚ð‘YÒATäºYië ³ULëÆ`t°ŒzáQüÛÆ,ø¤c`fÑñ>ù +endstream endobj 577 0 obj<> endobj 578 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 579 0 obj<>stream +¶¨w{þ“"¶É›¹vDöc;«Ï?ÝfïxÑ)ºIê=ÆV›Ëi÷éýÐ꘹…£N#pqëƒ.$á\ôIQ>À‘ˆ«‰a¦üQ è.ÌkJçá ìøïלF‚? ¬’"æo?Œ|ŒlÜ ÷'VdMÑr²¾¶_wqª³ƒ ex}1ˆg¯ë²aö;.¸&Ž¹ÞÝj +t-H•© 횪çO3×|„–u~6žW_ékªß×É.Ë \#0d?)ÑÅY*evJªŠŒH_ì0$¨ÒØ!T˜N¾6‰·õe†yo‡‘x@ÖÂçWùêý7m‘öÉC×!á=ØD%ÄB 8m̪W†*R\3§²$¿*$Ÿ?’BfÁèß<·Î¤E¤ÞÑ‚÷Nœì:÷,&¢•’ó¨ÓD;n—n^ûŽŽ ¤]xRñAÓBÞ-ñ¾Å®‘pn±·ˆÙlÝù⪲„ŒDXÐ¥º\¸—Æ¢2)üN4àWÞü!©…ýÇf&·aqRìüW£³†ÅŽsÏ ÝŒ{“¡¢„âg*`QÍR½—ºm’ek6OL‰øäЮ käÅ?Fb3X´]>Ö )¡Á>vHi⹂ T¢Ñ6}ÈjÚ4Q-Š¤±ˆ OFC%ÈãP(šuÌ«Ó¬äó¨\ÉØ¢ÓGªô ˜ ‡©{¾kÒ„VΟ4<bUjG4Lrfëbkÿ·j—Ü&|ªä›õB€ À+àSdœHIáB Eùê={WÞoº)ª™.ÜW(B¦÷i•í0µŠVû÷·'§x¼¬…¡šãK€î¤†)TœP¡ã—P ^+U9à·Ú·8޵اãÙm‚Í+SmO§t-OqIqr—ô­Ÿ:ÞÕ9A1W[qè®D¡Žî#ÉædMÚ¨À†TúY÷`ðÓó¨_RX‘2 Sörai^_¡,¿§©ö}ÛÚ PA¾ØŒxf,Jà€io¼ì¤p$ã+•hVóN-|äáä R{Š<ºç+)w'’Á³žûÝh®u'üÿmQ5°œ3&¸ï ûõšA¾Ö`ÃÊSô™ð¹¾m«úE¶™Xt]@¬”%¯¢B®“öéß«o õH¨ÎÆÌ:¶gw3„âº7Õìrvxí=hÒ1^k«E8yù…†ÖžÈ]ßêؤ—m§{ôA¡]œÿ} âU3ël˜!OÏÚ¡“0îˆÏDI‚Y¶{#P©‚>ŧÝÒ–à7±Ô¾”2å¨Ï®¦˜¥.•è(ƒo–©E,ˆ†(Ä¿ÝY³5Uvvc,¼B·~þä[—Ï;×^tö@iÄÄ1aÿ¢†²ºQt~“z´$ fXÖà ?e“ªÌ1Â| ÏCXRÁŸàïQf)=öyk^(¸ŽE!­"AüÁà̹{·¾¨ -˜]±jÏ°BŸÅ‰í­YÆ¢¹çµÑ™VT¼mHc|”RWxí›[´esl“Ñ_ 𻞙U³¹G >Ï/¦ý‚™8ç`ž±NÒ¹ÔoÈ°ó\/uF¥=8+º˜M›b<@—„Œ¡ø¥é–^@õl#2Z#ÙöuÚÛýÉ\: À»>a¯)týØ…‘q¯Åæo°ª¹þðîy#­Ö–WO ”[=õ¨,ù®ÈE¡,´ˆ6ú|’4TÓ^¾KRgs«{ŸÁ{^ï†.«K^84úÄÐKZÓ‹>¦vƒ’*€P:…äöÕbô€u0iŸÀCžcØùØÄ[Ž(aø« .Ç:nŽLûaÂ/4Û(@BþäzOJz?ù½ÈKór¡‡WþÏ°J¹Ô• 47™ÂdÚI¹ îz¤Âa¾ZÅ2&ȧÅÈ4¨ðæX<žÓˆßšô¡Ùå)É pô’Kg¨-»ó^ÚZat½ïq‚¤Á^™E¦£¹±rþ/©9×+¾¦t,{†  7µc ½GŠ‡0d-W&‹µMö ¾ý¿Ü“EóÂO Ëòß 4./ðoÆn¦;Lk<=lÊâÛüV qšL´#at¿ þW)2¿&}tĺµ*ñôÆUL̉¤ØVOÐbá¢=z»fHMе ‡,( ¡øÿ’t ÿ€ºWdaÿ§·p¢Ð yµAp éÖòmöÆo%Í4®:¿Zc>¡®è„6zï0ÿ'¿p<>+v"bqʬ¢qÀ}ë{Âïs˜ —àóO(Y=&Y~o…vÇ%‘ ˆ8{¦ò­Èq;«<(ÛÑjÝ…¡~3Š®q0ÿOéíòs¤š»ùΈ“Ï<ûöÎAXÓ¤)—µ×3°¾¬÷£µIbúd¸óÁ“¨äþi°%ÁÝœkŽV—,­ +€CËÿvÍJ²~5¯e²mFÁÁÚ£o*ê"^¿oé9ñ1ŸJ=­¥—lãŒ"鸀씽—·°I´L@ä&;"þâR + „G5|ØOø.úå¾S^ä'3ÐÐ% 9žeÂß$e1KìËNJŽ†¦.J”Œz£ú.0Ñ…ó6ï¢Ü¸Fzaf0dªNxHGd.k^‚5å÷¥{:œ«U?¯ 7“²k®í•á n;ÎzÊÔ´ý¯X» .D}Çcw&´”»YŒi7À©JÆÈÓ|,5Có*ûÑóZÂ-Þ,q[¾¢¦Åè¯ÛrÁ¤øpk݃µõ´ïâjþœ@cß\“ö>Ìýl}p=Yxê êSQS a#^«(R‹á$L¦¯0×€h¨Gp| ¾i@̲YT5>zÅNиԂcf“ô¤/×Û¼®™£wc—\Íûû +­lÿ¶©_O=dA»É,¨áφL„tB6Ø4/1-‡Ur4(M0¬^ÒOŒqÚp<$Ô§á>±ÖŽ€ŠeV~õ¯Ô¥ ›Èú~§ Wž] à ’U`É ‹ûùy€p¶[üݲ¿sx}_ÝÔ´ÿï›Ôþω÷îf¸Ü™! ß»®ùlëEÚ$wôŒÃA4h5â„YM—>4íŽTH‘o®.Ù!xXÆ$F–LP1|ñüzŠ×©À"¹]d²rTýÙ«Þ‘Y¯²2AV,×ÓWÃ:vøöÍ×ËÿÒqRóX°.æþ¿1•.\ö>¹òãpÁíášÇ`ç54¢ K:üM™ÏŽm=šaøÐñV¥Îªñ‚‹ðÊ™IxDº½&H›KP–Að:Ár€ñ,9矵ɼýK\Vƈ;Š Ró#­8×v9Ñ5ù:¾Nõòj¿-P‡Ç$¤m¼a³IØÜñHƒwý#ˆhŽLÜ“5$¢ÎM°¯ù>bÛ²äP3Nô?ߟd€ÉÊHdÆ­² OŽø¾ýóä@ð&LÑ£Åqr÷öÔ·A÷­äMìÃ3”×êÏo«_0ø”Fo6<åj~ž)ËX¡Õ5çIQ½ǭVÒié+DAáŠÉ‡ 13EE’&#üI3Ò¯ôÊ=$èàRÿµX;àc@ÁfP?5ê2õ»…‚d«®ÍôZßiUÄ)ª¤Ô9Èá¼ZçB¦yUgNc/w¾ðÒ-œžÝÑÛ.g‰ÌŸh‰£ý¨ùª +endstream endobj 580 0 obj<> endobj 581 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 582 0 obj<>stream +3¦­8–c¦ô²j:h'–3©â™wxú|Œ„Ø*>ËÍ­E;‚ËU‚™FtXfÛ`;2aÉð+ù×™òÈ ýQ³ÕnÅ{Á„ž5%oЭ'ýÁ¹>‚6äÙ÷J8#°«9Ôj¨èH*>äOO­õ±ÚÎDÊF¸mAßbZ‘¼4 ­Ð®iA³×÷_Å5•-ò°Ès+†£÷GËΙ``s9†!ðÚ†$°$õ“»…šákœ`‘ªT»tªc[QÍ}ßÿRêÍb W9K5Vï}íÝq‹ÒÅØWêO/Æ6±'¢/uŸÉ(­æ&”òg×4ºÔÀ„™Mœ¢£Œ ½ÕIW¹cˆ¨»% Ôx|JÇwa­õŸŸg~fD›”ïڃϬ 0× ¡Ž9{ߤ&¨ë-ãþ ûõ¤Fcöw×`t/×ë'2³º„Ù‹ê +éo +T •‹˜+róÿ›ßÈf71FÎÜã^ÖÍþ>¿:ù(@"g0Û‰»á£˜•=h…äo^"ö—­»Ð'‡€³&E_Ó·<íe<á*¡ Lô…ÎÑ43¥ëFd'ß3#­æhEÍÆ5!ƒýx/Øa¼éA¦ØŠ°"Ê~¨´ªZŽSC@hš`UŒL³â.÷kͽŠ¥ÍŸ?|ɧðfl© Ò·Ï°°Ò^U¾Ð¯±°Bñð`çgózð·¿u‘ÚÚø-¯!¯‚·ÁœV‡õˆ8›QŒY1CéTæ߃ %æ¼a .M^žôˆ^ØÌ}Yn¸mMÓKÏ^&2(kP‘ï²ÿ€%àö]<i ÷Œ¡¨'Z¾î40¦xè G @ÁÜÕ:jK€°ÆÿOŠß‰¨U ëÚ ¬¥BÛƒ`‹„ èÑ—=ƒ_…eSéÇ~Ü~{–žI{¯f,Ñïÿ¾Ð4ÝÎŒ¾Z`ñŠ¹êFåGØT»>:ƒéŠÒpß”ýâPݶèÝcãuŸ¥*ìŒØ¦6ê€é-RüÔ¢Pmð„IBá5ª~hYiQ0Ú‡¥ôhÉë3_2¾;âI—ÉElo§×]„§`¿Ë2ß”Cµ5ç¸ãCðûH®ýÒÁqwäõ†záê 9¾Ò¼˜¤H%¡ºq*.ê>™˜ûTyŠM±Yh† »¹ÛÈz½Ÿz& _Rö*¿y§X%{Ϧ•ŸÎ†$-ã4+Eßæ]$y!u¸¦RBe¶j„Ï{ ø„i\~±o&ß +¨ÌPq]"ó§MuãÃÄ|Âi`*m$‡Ý)е2Èx"¾…TWÚC6æu–n­nœf‡nctHV"›æ`p7OÏ;Œæ.è0€(Õa«"¤bP’}Áˆ&ÔNXÄ– ^K—z +c~SÒ +Ãìh† ÝÜj3ù¡™“|{&ªš1Á8ضDÛï–Ž±Ù˱ W:E·‡6aoû=ÁüHîÏÙ6“a÷JuÐæBs\¤ „öZÚ×;V-¯ƒîÙÿ”§ßßÝi( Qå,@ýÜQæ 8·,2WóŒÿtuþÌ•`Mui··ëàK _°I÷5õ±:pBµ"*!Š_ô‚Î+¡K7÷j™´#Jñpi ¾ÁéCB±W‰:I²CʦT A€F´NO|¦€vªÆ?Â/ËKQ6ÞßëPé«´>ƒ5ŒôºÆ€€ò/GXÕdIj°û”šØªÌÔjúwX(kǵ-:øpÔî4ŠKܪW²±2/ð®~¯:Ï™±§æ+U$¸®ÿ* p¸°º¢ó¦l5Ï•‚¥¼¹ÔúÚÑð‹Úæ[ŽUCÖÒjí¯QÑEß(aœÕ52k$H¨8ôÔŸ¡l¦!£K{I\9 T#Îoíå÷\ˆ£§#¬rǶ£(͆©¶$`‹뀌>Ñ Éˆ«6€öâ{¬'þqyQ¨¡2Q'ÇtíX\Éø–ËÏÑTèêùü¤4]˜ +ýÈ^ìp¹ñÏÎcÁ·2ȶ÷óˆëz„Ò%cÍøìÿzL𿬯²XG…8Ôøò-å¡4> 5d`ÄÛ:V¤Jÿ¦»Þ½½ÆskpíOönÙy +†0Øõ×çbuµ¯¬„Ñã¤N³Ãu8h|z±–Ÿt_^åYK¹Ü6 ozJU`Ba}ž]) »|F÷ÈÐ/ï¤Zæì÷~é ÂtMµ¶&6{“L—tÄvK뛺ªí.1Ê +1hLIš=ã]OÏQ—ðÞ%zê@HxÁ.¬„ý—}NíIÚI +_¢Å~‚Áƒ_Ÿ”<‚"YLäQ~CG:ÃÖ ¾™– i •Ø®b,çë最 +ÓڧʅaáXÿ³ûsü S̼Š\¹ õB‡u&v5àQÄã—bä¶ÊËhH†zFôÞ.Äé·‘çÓn#Y%‡7@<­ôˆ NÅqÈ›U¥ˆùâ=w +2@åŸÎA3[äxZèÊæHUFM¬0¿ æ‹ +¶ê™’zTÕ/O°'.B+ƒ,µ_/Â}á3áŸwS<⧂¶ò3BÌ¿ºÅòJˆÔ£eY…/|iþvó|/ëö=öl ÿ£s{Ö–ƒ‚¦;ÎΈC+…ýë’ÞxÀ{«¢„…/cÉ7Ò‰VÙËÛ†Þp®Ní~~ß?ŒyãI n©…%ä´¡Ñ΢Pø'LÍø 0„D#þu- Á-ëc»ÞîœT®’º Þ݆W<5ì­ A¯EDv×ÂÆî´¿ÏÌyš~ífÐ5ô9BgVÓ,£™>b@Šã*EÏS¹|P°³À¤,Ò{Pâx¢¹þä,â(â"ƹŸiÁpU«ÓÛ}ì¡w”k‰.¢Ä2Úª~ÉzCØî×;Í@!ÏA³Ó’ ¶90_#TÂ/ËÒªíSõí{œÝDy\ˆ¢+Ý ¯AnD»ÒnŽ‹þc¦Ò|øÞ ŠÓZk‹ƒ"T'f›Ó¬…Œ¬/FnZá@æ”à€×R‡P«ÐÅ9”vO…^\ˆ œ_X¶ÀƒÈ—×t½:'àý‡òÅ.…£Œ}öª:Úï_ÖøÃNµw®cž&B º×ÅÍ“bW®½rbü³¾ÑoÛ%ôÒ0fµ=Ïå5Çu„iÝ{‘~žM±=ž¶„Â7uË ¸!)uÿr:?רž‰L£ß!22:÷‹nº§e¯ß¡µ­L³=s‹ 5=Aø +´v¿}½GSP™Ä‚eÉéÛaó‘„ËS¾GµõÔT´ÿã"¶çþ¾g>¾šZå…ÙM뻟¶þ©kâîòé¾ûùÁ‰>¼+ÌQ¹  3•&½†þ¾M"<ëÕãMáyP%êKP"Â|Þø¾ÆNϽuÊJæþ:Ö’Çy4½áFÐÚV™fúúˆbq&ÏJkKÓæ>?p/éœ0Âñbê<×ö´iݺˆáÙÕ™Ÿ¯ÙB83É{ȹ¼Žþ:‚)¨Èà¤80‰Û›ù³î®Ož$b_ð…Ú1úIAL«Zì‰ygýùxÁ3 .Ø5Õÿ3˜üwðˆêÛþ‰¢]$„{èNþ>:\XÒÞ“ÐÂûÔ‹ƒ×ØՖ›ÕÃOô¬v]»§h†`©"…ý™•† À1 + +Õ¨EM‡åBAÍDÏ®˜Øò}ßá KŸ`º…ðõœm]ÿG÷jzãT;;bm#÷©Õr/ñsæË7HÀç„tìd¨“åKϵ"ˆT8\†!Äâç®ndR"ã°–h-§C¸W½L™ÌÎêŸçyTƒŸŽºù +C®ÁºG>¨5 ûš\}F6üC´(5 ü>rÙnC™0/•Ç xs˜MeÍ.(… ¾óÇÖ‡$@ áý/%Âæ3çZè9Ëþ¹Ÿ°b€/š”(ÁýœRŸ¹õ´i]p{]oNCZ0\ÜÉV#7‚­è1Ìøjò0NßXCXvRT¢RÌ)Ë)µƒ´D©c¤ë3âš½‰$ŽV\cë£>1*Å^Õ׬ޥ):‹ÿ˜›^}~^Ï.‘Äí®©~r¥•ð!&ÊeãSÍÐdѧoxB2ý´H‘7…±,u¥X ÆAéˆ`ÆÍ=:üHXe¯ ¿¸N—¢c!±RãÕZôûh]Ï? ’#Iã)Û6Š~*]Ê{–ó™h£´Ô dÎl;š“ÃœÇÇ>OÞû½g·ríÍ>ø¹VGAœÁÚ9Þ°«”ôãæÝ᧗òö$’ÜŒ +ú&zyw +ÄÇ~'ÔPS˜²í L^-Û‰ÙQÇ3Yšz6ŸQT0t ÉëÓ¡lý}ù¾uvn(†!Ñz+î<Âð½^«d– °<‰ñõ…¨£ý<ÂeÅ"K Yr+Ÿw²Ç¨òƒüŽ„ŒbÑNvÂ< Sͺ~-œe:Ä5ÖÔ~o7g gñ?× ÀpÖ`†SåûëNˆXÙ)R ÓéÁ« ö=pÈŽœaŒË´xöÉêì90¼ëU³¦{.bóÞŸ¾t’Þy=q°µ§>2¸Te /Ò­€NmÞžÔÌJªð¯£wê¥|yb$òª®U¢0îí Y;’úC ŽŒÛ>þN&©™ö}¥›®G…lÇmYÈrMR0v8̳‚¸qdš£@­êÊÈ_‚wã:v7/úÂ%·W‹Ž~¢Øüqv6{²ø2àùêÄ©éœWoßLéA1‚<[¶«jJá·® B—Á¤üu1I’¤&¦ ¦w!e— Ì; Qºðz¤šæ7Á§ÖK¸UYüã'…}O¿Õ„yâ’‘`Ÿº¸³Øô +u÷çmµlLåuqþÂNÿß@Ûgš›à˜Àw½*4ë¹ôMLJHWþ]‚Û¢Jꃌ ›KkÛ4 Uëq bZK¥A1WGU0"i½ÖDœPò¥;+Îɽ6P”óé›%•DÈVéÈ»Iªú€‘ +¼ßlô‹ÚÂøCË»“ÞÈÄù\Û =Ó®€ð'‡dõÔ?ó`×c¯!eR÷o ‰0õ ®¥ÆŸPϵV§M«/ypŸ‡ÚKd,¡.}ç:Ÿ‘}ì©ýâDˆ?Íåt*QÆȳé¬úTÌÎÄôxu$Éqþ¯×4·’T,ñgšÜnÓoíÈA eDPªMv¿‰š=Í@x<F®KUNbšw 3'dýÂ&æá†è¢ã&Ó'öñ°y®µB,ˆPX)ªýYq¥¨Yϲ„:lœ¥9Ã0WA1Ýð©õã~E +ýÊqýêÓȕ섉;  i‹«VÆEX/ùÏóGbq‡Fõ¤²ÝµàpÓzH¸’¶sG„!Ư¢îjËÒýwšqÚ,£} –kâSò‚Mé"‘®eÙ•Ã<³È~O€¦ùr¼¹ xâÿkÂûÔeA +NÎz—€#ÌV´m´è7›‚r‹dø¬Cîg¬â«Ÿg‘ªÇÃdÊS¤ª¢Jôí)<¶†ñ&t;¦53ìQZÒ€Í6²2Œ•%gð;«Q²}ÿ?°®¹U£3Ä +²yÛ¿9|¦¯n¾••´µ9æ…'\ïÝ/‰/î½Ë’(n7§·ÙŠXÏ` 8™ñ‚ô7V¹H¾’þ7OõøŒ>Ë —Mké¯9ðëâšèEéìIˆ`àÄiv²@¢9®ÒYëWµ w¾–X¼N˜8°•ý’ݺò=¤F5¼µ<=—RÖû„[ÉlñÈ„' Z@a˜…›&c §Ô5(‰àoêÃ^ÀUöЊþ^w] ^ŸÁ(;;ýI1áÁÓ‘@iÂt{ˆñ +8ÙÌŠpdëFˆéYæŒc5+G²eldAÉG“ô9´DÌ眂„)=¤DîˆÐsIGÜê„¥‡ÏF[$v~‡øJÊc±6 + dÈÒó)u +—ò¸ üÿòªJú,SŒìa¯,³ŽK©ç—­»¤OYI„÷¶« ;öKÿ¹P¤‰„'µ½¨ù6úWRp–î€+Ç ÜVŒ,3m^DoïëkìUã;3»Œ£Š2,áô?‡À$YòÃ_€ èté ¸5Í!nÀ¼¦•¶õoÄ$9$œ=¶S±§€X &ëΟ|M›Žå…3‡v}÷УÕë6nÄ%´p'M%WåÙ_RÚ¬ž3©´ j1¨9DÛB3+´…áÒ¬Ý A£¢?h¬öV@eZsE¡zo7™T§ìÊ¥U@àÞÅKê¦øÅ> –M ÜA™Ò+ÿ'ã™ÚÑ6Z÷ µ5?£Æ„HǘqaÓ0¥×ßG¾mÓr!K9]…³Kѵާ„ —›Nx8Œu²r 2P4Póü®ï1’°E6’£èø£Â¬LÍûm +ü.yk*Ö;vúÁ'Šß<¸»¢G {JTGÝ'\þŒdFT¹Þœa¤(UÃlÆ-Ìbo Ë‹ù§Ž@¥ºì拟䳇)þ&?[‚n‡š‰«t #ªè> endobj 584 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 585 0 obj<>stream +u‘Ž@uRˆŸ¾òKCf¿ÕKH!Õ{ð¥1KËRsµvœìÍ‚˜ös*¢)•tU’}¸…@&f\ø*ú³~Æé"ªr¼Uò»]ò w™Ë<‹àw-N¼ÇíT@†²E•ÍQ/*fÎdú‹ý ×C?€ ¬ÌèMgˆÝÌ\.%f¯5IsÏ)**ÉyCùÒß›|Q%½Œ¾ah‘ºà÷¼€†vsøÌÚ ]ÿ|p,×$cÜ9q…»ìÊÛ¹öù°)t—;øÔÂh¿C³‚kú¼xè"›.;‰6p§'6-îk„ÝÞ ­ýÂñÞ8²ÂðÈß>uùθ‡ú¥uâuÕ~ùTa¾Ì:²^Š¹_“3I“L.€¼ ¬íP¬ê6¹î¾V +¾±3ÎlÍ"qƒÓ=­…ÍêNBªÐ w€Ÿÿ ‡dg[Yÿª±Ô¾w7Í-jŽ£,Ûxé(l9p#]—ïæˆ,­™bD'B’N5Ž.P¿¦b£“»¥½$¨K¨¤p‘}0Þ +£ì:WåìæÚz:sroWC?yµoÚå;bgPŸjÐw.ÒNþJ’œcˆ:u¯ñîëÑ¿[6àü…Šd@ +êx¸òo¡Ñõi6ÌË M5þ*LÛÿÒUNß‚O•Oz…Q?ÚjþK ÇvúìHÀ“wÕ|È£Óú£"Wõ‹{ssJ®aIûáfrNn†1u÷õÞr²*NÕ&ñby£QxÙ²\˜¶Øo"ªgÐ-Ï3C®³Í¿‡ö~¼ ®€'0*Š›h_Ÿ ð"¿ÌÃopFÛ¾ âÇÅÛJ@ŠÜß®1*^Wä1»tô`ôÇPavRP0ÝýWé ]À͸¸ÓdJÏl[É÷á(ûõéz9‘b 5fˈów/u™9Dâ|ÿ¥DO ¢ÁtªU¡‰=Hð™@.롈ë(ú h£=ìì/¿kß•­·šïèÉ·ô‚1¡¡; Lñ2±Ewnq +hï0 ËÖ— €ZªíìE7ÝçŠ_ob$šæ6SÚ­LgoQiŠ3îVYȵ „6VDÜvoLO±cŒN´˜+4Cþ'îmØÝÐáñóÿ‚£¯?¬¤)jxêÇêš¡p¹_P¨ÿÓ»Êö‘H@¸‚..B»Ñé‹zu/ʱkDÐœ·™UÕ ši]Äzo·×_×Cš ¼8YBEdI{-ß +#­Î9ù¨ëê±n€uïæ TÃ;ZÍõƒ_K×’#î¼»ÁßûéW>D¦ox )¤äåâoŒ»WÖ5©Ð Ì%¬ÇÛ¨ãÚŒ;ØÉz=(È5v óc¤Û¼`Ùn£KòLù”rªr¢yd"Ž"¡¥õ)j<…Àðlª\?ÄuãÞ'ëëºÔ?žBªs²xªœ­ +"7xí‹zvCE0ÍŒÀqxû2ƒÔ{Ñÿ%ØêÖ¢ÞRòKÛ€* ²ñªØCË4Óø‡Áwx~§GÅ!pˆPR>ãø—hF¬ˆÑäàó]Hw¹KP²Äà…UN1ûób­)囫Ñlž¢¹Ò6}úQ€áÖøX¨Þ €ÓëzD(5Ü ¤+€ÿ·ä~7ê^•¯asÞÑÄX‚jÙÂ7K‚[Ê.ìȵZÇÓôð_bïKA¹5nµðj2‰1²³ H^m×çì"#¯˜>ù¯îŠv&‘!·o°©NÔ~YiNÃý+«,,Ù»P¯ùèùýhMx@+u<·ÀŽ;'—3#‡Äµù—žr_¹m:nG\WÎv?í1ÊíÿHGô¯Hòø—âOA™b5Ji%2¯ ‘K,f +¤¦Í6Îå˜ïq U RyÌ8>kÀCÇ­á‘ba5ð¨ÍÒpµ-ŽAD§y)¿Ô[sgB XÃô$×K)iã=µ_j¾½x#þg4±1ù6^\.¥ÀôÖ=£áë–Þ¶üZ,×70ývÆc šÎ„ýòÊ~õì6ÓË oÁ´M´æ}b`&I8J>švÿ8ç6*”¾~@µ?Ü,¦x1êñû-´*’ï+Ô’ý²¬ª‘È“¡¬ZR&ëM×¢QÉз#žÊKæó=Ñ ¸ëMçÙãV÷’¾GÎêxÛÙ|îíÉ¢~cm~å€àU¯u-–Ɉ^]{#(V¼KB ëÚ²ÒÊ^X XÐfï‰õý;„ÝvJû]XZŽ[‘4š À³ÖÌþ£¬ü¿>ÉU1|5†,“¦9ì]~¸bk4ÁÙCW5Œï§3£{ lsÇš”6~Â6KBýáßÄIßâò.ôžœ-Œw|i>d‰‚ûMuDÝI  ?‚û>Äø§»T‘‡H ?âí–fÃ.&R«pìÉÍèsðîø¸Ë Ž§¦&hMY]O‰Lvºr&bX¿ àKâöØAbÛ:À?õš ºA +G9Óá›0.Åe¤Ô¿ÚšwƲ)ÝþÞXYO£­|g’M¥cä©cȂ祥&ÔQµÿÂðÝwÿ¾ýz=‘]ëý3j#áõ¹ÉÕ.ºTN‡ K€ƒ¨þ±£p²Û絪꒨2!"õÔÇ dåy­ü&ƒÇ¯ˆ7ʹ¿}Š#.ú(÷.)G뀺(º›ÑúèÙ^ +ÃZL?&·;€“Ÿ‚¥tÕ«EÈÀ͵‹®XL) ?ç&úgÈ,túJ2=ô4몰æB{÷êiÙGšÏn-ÈElé¦ÙEŒÕ{$‘B£ë¦pP†âa ß¾ª1Ij{îTëÆĤk¿RyŽað  @i$o$ó%Hc_’ÀÎÉ Üâ%9s‡Ò'vk;¢F2¦D—ïµôY79ëà¸) +;ypöh ÆÄã@Šëlý;Ë©ásñ£~]'F¾Ç +¡Îý¡JÚͨª„Gã6}Ö]| v‚tÉx,D"JÏËÍ#àÎjîQ£µ¦6|r7ÈŒ¹ù§šÒ_©y>â½kad±ß5Öݤú¼ sK(͹jÌkô›²´H)ðêVñ"¨ipü ¥J@ô@%Šx¼\¤íÛ*ÑÍÉÑÕÆøðr{cß{¶+Ø«Ž%¤ΰî©”u?6þDŒB­Ø‡/sg–‡5„®:·‚¼b÷€•‘ÑÃMwg.x ui ¹.«ÕòPÑ=ÎØ{¶¼ݺRLŽïûä$b%ëùkjRæãY6-Äðt鱨ø‚ªÉ|¸¢7Z 4š.­ö,+À]z±;fÖ0Û ?ñ1˜­ZIßP-¯&"½ +Q^T˜E>›¡l†ÙßàûЈ ¦¨žñ=ÌA–ÄÅ!&÷ˆ~jTö´Ù¦iò?«¯¸RG£.ˆ/]x–´õ ¤Ð¡è¥"?Íø•<.Aj"Ýð`Ðè/Ä‘‹<ï•JGmú°ñÃV¡.:ê²%Y~ý±±6Jœý­¢É†Ð„fQ°ÄÇ’ + ozÞ ½ly)6ùﯫÞt®æ÷Ó`F¹QØúS@j¦7ç Ýiê‹Ä!1ÐwôN:ß"œ‡Ñ°– ‘×u +šñÊ•ü¿«t²¨JÇÅi´ J{#N¸û +º 2iXí2%9²híªIdæ؇¾Q=4µƒT¬Õf³c_’VØTÝ]œtnívŸ±Òôíu¯ûT˜â@‡Ù%–bo꣈£@î..’®®}=ÜYÖ«,0eà«@r·xX°Võum˜^Á¨æw|ü“§Ô9Ë +X{Ï ÁB§#(MÛÁ'âe![´¿šßæY{™³*9~2V#}.¿¾tí¬0^Žã(Ûš1: ûX°%û¹½††VšС®5„:R0doëà:K0›»°… Fï€ÏÜ vOØ9⤗_è¼àÁŠ‡Ô<¾MÄP%¨S˜f„Y‡²a Ý1û£þñõøA‹7ÎÔ?Û›Ò‰‹&^þm»ÎŠðBÂ{Ú³˜Ž¬¹À5½8ÐDl{}çhoÄÛFó7%2dìÞœ-¿«ä„ÕDúÅÈAé AJY¡ž÷YHJ²jiÖJ€<%éa;ú\ºˆ :”1Åïrj‘ÂIzôn¤> ˆí*Ûµ•šˆmoóåÚIÚ7ÿsrü(¥Õ’#ª®ü™‡$‡ç‰ùH‰¼»>ìßçÎ|;Å|r˜{S&µ2ˆcærÛ(µß&&Ð Ž}ƒ,˜ß\.+n Ž,7Ê%îœ/ܵÃÖÈÕ¦¾¶Ú.e’[Þ8%¢ F@Š-ê@ß/¨jBèÍ8L æÊÕºú¡ýxß¡f¿S£¼—Ÿ^fŸbë`ov;Û×æ§ý ûˆÄ!–è£ñʉüíúŒîì ."£1öÔÕ b<¨—»V»nbª#¦~ôOáÖp‘ <ÕEàX¶>ž=7FdCŒu$f~`¦f%W¢YôìÁþÄ"aÞ˜LúÞÍõEÇ¥j!‚>¥íM3'á‹æ.Þ2Î >(šb—ZÂç)!zÃ×–ÚõY/0Órâ™èÔðžj¯YceçE¥0Jšœ„ÿÌ ¯ö¾¹ˆ‹ê¹=Á¥õØÖg1ʹÓÞêBÛ»yÏÆlZQŠŒ¥½Vß=ÉΔ¾Ôk«rTÇ¢(ÞHîû¦‡rq‰Ý1œ‰æ]ê\Ž0+ßYÚª…'½øð¤Øû º°á6ÏQ+ãLt­ƒ–“‘Ëb.n´°gĘþ^ H1úXš½ªñ‹ á$*ðs2ÉËöQ/-s$(“7!¹ñ²é~ý6±Ùƒô;RxŸ‘•.®ý«’s뛨IqjÑ^F‘øFиÂJ¤Õpê³e Î>ÇU¿êU²±\ÂË +é=P¶a¯r½à)ª\ç±­#¯²í†ÙŒr„³TxñßnçÕà,2 a䶡À²N$¯N¾¡bmÜð›ñÞ½jOlŽ„w&ߺ´Ðo½_ôNJî¯ÂLáD pÌŽj, »ò56Y…¿†¾Ì…”P}EÔj?ðÊÁÒ‚ÃpÆÜ•…“B+…È#PÃ(—SÄCÉ(m>¸Íš4VÂi‡°_–›Oø5‰í³Ð{…+›!ŒV—á?P»åÙǹŠö‚Çóròô|çN€Ó¦®º«+¸A.ýÖÌ—ÐÕì#Ãù,$CÏ‹|øëJÕؘ»ì•°l½°º :“¶­UB‘¼Ÿ{Hî,šµr 1©=È_['>Ø ØeM +Û*í x¿£f9ßÇó+ËN^aÜH¸ù³©5iJ\Ó/ªhÞ5 …¬äý|šYܪ¦Çh_Q’òC_B–MŒ _MQF1áŽa£)ã~?ùÙ:ý,û÷´\Ý:ärŽ:û"Ôû˜\^ÀPÒPÜÐwBáÁ!W5†&ºgùПåæÉ·’øt$æOl--0aV›½8Ñõb}ˆr!­²ÌÑo[(ã¼ ¿Ü®ÑRƒ³¿7v0•ßD˜IèLØ.zãS1„„akâÍÔÿhGØöÚ +3OM7Ö;ƒ;1†úmù_žJ¨MQ Å×ïÕ³yt?á±·¥ó_y5¸7;à[¹ö_YvI!¯ˆõÚȇLO5g" &‰[æ¢$dç._ï…6±ê“k˜”~n¹]8mN2ÁƪSò- u«ç±º— x¡”Fƒæ¡h"Ùþ1÷8\<;ÿà=ƒÓè`Õbñê8÷kÓ‹L¶ÌR¬*:¼ +Ð stÜÞŒ˜ö§•®L¥|Ü~½yTñØì.ÕB^°4u™]‰Ò ¹MyÍþéýÌ.`p0 +\'8"ätDòVÖ·›w@Ã_ÔUzv:’ :K,ù€þPé~ÚÚðÐ07Nzñ$ñðÌ¢,7Ü€ªäöüÀ»Ãsܯ”æv}¯ù"^½j¿/%lÙRçåŸ_¬0žûÚbO Ák$ Çðv[ÎÇå¨%o}Y/Rî®2°Åi˜­‰¸~óÞ Š+>^ijk½.3O- 3hö©Œô6] ùÎÈv({Rô¡ ঠø#!4íù‚ä’›"ïØüWž ºC-=~ÎXÈÅõÑá:ská•ÞÉFeª(›e,áöeðGžFÆI±æÇêdŒR|4EœbÑŒÌQ2¨óJÕqX‘—H‚[‴Â|þvñ‡šÔ§Uǫ́Ç$Zò[\!ŒÇš鱊ìUwµý)`ºåÚ ÔKu•f•¸¬Ì Ÿ­oAúj¢t÷`C3øq{#8…C²`PsÀoà㪊ɹÕ.ºÌ£‡YÏÁSÆÿ¾ûøw´c+¯º$ņ?£þ8š0ZB9¯_ =‹ëN_qµ?Àû˜Tè ¡]Š)f+w83ÖZ¡+¼aÚ1¶×] ÅL®o;Ð%¶3FÒ²X±ÁÕÖO9 +aRZتßKŒ ÂÒ¯ï¿m\?¯¦ Ášˆ²6ç$˜ƒ4ù-p°~vã¸5gÒ[íuâÒ€ŸÝUáÈÒÈTV@8Ö.DB˜ÄSC˜Ÿ]ñ)-{êS×_¤¾Í_[K–ÙbÔVs²1T_j„}n« ´™Hçí¯¶Ú4ØÒ-—$²sãHϨ-AwËóø¶”—;ø P[ÅÌp DѶ˜lÔêôìZB±Uˆ°Ë÷«{ÄœÐ\ý±x˜¤ÒX© I:k‡>'åµÊ6WRªîÌ;cihÙ¡RÕQ7p¯ÕuT(1Lõ¹åM*vliÈw/{’&uxúEí„ïõÏ¥§¤ÕBÛ¬œ>+)ÍìªôO­aèVÀØ+c*¡¸¼#Å<ʨm¼€¾»XÚMX$O4uöñ<Êñ»-þI×ôcËYAHçmJ—6Ô²ƒ¬Þ¶ŽSp˲.ÉÄJqÄY, Ö)ê£ÊΨ p—ù“cÐFu¼{æ.Œ3±~®”¢åÛùK ‘ðŸ½Z\—Æ‹ÐZžvÄ“ Š«§¤/ìKzD÷OD¥Hû@‘BÖÃeˆ£ïzƒ‚¦Ûß.R„a(š,ð?Æî&.úË›__ûùÙ‡[(!ÿýPá‘=º´âµ[#è|]të͉“~þÔQT©Úahc„ïEÎG<<ÄÚ_.Pk¨ð€Ó¢=UI5“¼n=ûŽÑ£î B¢íÒ­Ôwú +´É%>èÁdU¤ý +™¨³OÚãî{»wNëþ&ðý rÀˆ—y[È‘ò¹q§¦;Ján­ÍKÇœBëx›rtB¶$ߦC[hÉôÇ\”#¬Á-7\S½c< „3$ Ï»¥zÒèˆìj +À¶Â‰¾RQæÙwÇi«ÔØG ^Ñ1Cq+ª§K÷¼;^&ïÃa?üBÊ¡d¸åìZ õF0ÌfOÅ€Mœ2SèâEXų.Se&U6¬l9ýÖ€ böP¾HTh^Ðe[š–Gcy5ëãab`}_Nð*´äÊn'&ˆmÚö +ÄC» « û†ÆàÉT‹]LuØ5µQÆÚH¶Õb–Tàôê U‚)Ù0-kØZ\CaŒ Y4"óUR0z¨ºYµ—Áá–øì”{£&Ã(- +endstream endobj 586 0 obj<> endobj 587 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 588 0 obj<>stream +[¹*EÔV$HñV¹ ‰Fb©`Îó£›]ÀÝmŒeýwªÉv£ä +y¯žfX*(r2·*/à®eå’ƒñ¶ÏËÈÊ…â¥ÈƒÞvhl&¯õòÃz]—Ç}Îàœ(d öjµæð‚©ÝÚwùÉŠõ“|‹3ë–vTå1’ ñ‰õ¸å-ýUo×—ú±&S¸$W©7Êõñµ)9^¶ +ü¡Ï4§Î’ýqÍÌñR5vï”À¤ì~Hä H“Èô×àî'4ânÃfÓ|ð< ÇLF4Í…M¡ÁÙiN™¼p#ôuŽˆh¼–eæaèÁ'åOUbBCÄêcù_Ot™zžÀg™Ç>˜2 k½½”4\ï8a ÛFÂT®ósôc֛՛ȼ—»tiûؽ~†·Ñc2€Qßã<Äný_ CN%ÉÓ+÷á©œ˜ù¥&z×>&8øÔWÁ¡°5WjnRxú¬ƒ?Týj¹Ài"c¯®êÆ^èæèɳƒžä­§ô“§õIŽÜ½‰îIËýIj?·ËduN¯š'"ºG'<¤ìî+8)\ŽÇƒ%@ïGUêÂz—³ÃèK© Fûá–UÕU²ðÙ®ó~ zÚ­ý,ÎyùÒG”M)‘Fg€üÈØ$~\=ò: +÷øÝY™hN0šzŒ'€æyœêõl#Iˆ\)y²®6à lì{íš±Ui†‰8Y«ÌˆDŸjÊ_TF„ž[³¡¢ÔëpÑv¾‚?ˆ¤¦Ak „‹×Åôl2ÊÙ§^Û×cš»˜wÖyA­HpSþ¹dxÚCgÄ.˜¡Mr¦]>šÕ$ŽpYsŸ«µÊ÷"Ü)äÝ.ß—·¥¿Kä׃^>Xª&¸ýlŒMÛ &.\<ÛL.r§ëcWÍ <…[39éf£¼{± t­Á™hûjôI9¯Îùc¤€ª}ÆÊ)ü$š¦eAbõÇågBL2 {'Rå|ÅêÑ:àÆ1áM>Ò¿yZÖåhk̬³,qˆY2úa?É–‘ž5Ç ¢I^ú2Ó&"d=Ý{­ÜÓQíõ°UÀ&Ê¿‘|ìŸ^ÖˆÇ †Ö”ãX={a¶'¦AÅz\.ìÙÏ\*é°ƒ»XÁûé§zÍ"ק.f¨ˆÇ5òŸß­‹þl“ajpP xr±O”f>¤sBæò”‡½ˆŒ=öÇÍ°J‚´Ïs4Q’&5iÑE °fžJ ÑW`Â#¢€¤´˜}ÑBÃ/E1+¹ËRzÆÓJÇû0©êº5B[V£ƒµ2;h …»ÏÓ g”*ô娚Hdyg²¨^ȇèÉýË^f<Âx`È.Уée®áÛP|ƒaJºÇ÷#—Ò "Ê^ ߯½#ž‹Ÿý%-ôöJ—}w|8\U+‹E&ªÌͤ+ãOÓHw‚¸vë3 _ZP/±Øaµ·šSÜõªºŸÁ>ò»ÃqGÿŸ0xU}—‘«Hœƒç9ât~uf^‡ +OóòÃ-åP¬gÐ3½ïNê®ã©«uÙ" «m›dìd8ˆ5œ>¸-èÝQ˜;&VÝ.k°nÕ×ÐÚ=JQvö¥ÔüÛ,’S[ÈÛ¯WWQÓ(w—Æ|¤ÒËG•ÇÃ8&pvsé±ÃÔ„ÇíxNgä;õ›ëO*"Ü È›E/v•Ô«Öò)E^¼ø¹ÿWLúNy8økÛÒQ÷šŸÎ²H"`ñéÊî¿2‚÷ÈÑevWÁ«ïîvˆàL¡ÈËõ6yOw¨TÙ1Þ¿ún]…\PŠÄñL¥Öî´1'‰ÓS )_¬¾dµmªÌãKiŽX3RÔpʦAfý­0‘AÇ–ÿ}{ÂU> {éÊÍ'íáI-aíLšÐQ°ÜMq$¨dMmž-]uäªVç—y8:È£¯U†ÚØMþ™¨q¼Tû€h3—·È§è¶¼ò4b¼cGˆs'úxý"êǺMmX§šœîI©Æµ;óŠØ¬X@_;·|ûÉ{> (ÙéM”öú»xÕßþ D=bÖx<ö¹²ÙóÆ7ÏõØVè?F–e”9¦>ÛdÓVŸÇš»J49+Ì}T* !óh5[…çDþb\©SÚˆbZÐëÉ æ®¦d,å‹R¢•»è­Ø§×v®;Ô˜bˆÑ±!ÆÀÐ×›¶EXã|O®åšsË0¼»&ÅdÌ`ú2q´¯…ŠîX÷¿0Ø3}R™uÜ* `¹yk•Y{7G8Kö¼ëëY–‘qá$Uc«`Ôç! À^²aÏšWc¤mR|q2Ã== >&‚5•fS­L£‚¢ñZV¢6„kËŒ ×éœá?¾¿ðc÷r;mð S‚Öá–Y”>ÂBC6ŽÎjõá›Ùö–Ï-G¦;m„·qÓ[î7,nä$7hÒlGû?Ì•\Ò,‡³ƒÐWPøgêïÛ:»FJO$ ]ÄاEfôÏ[7ƒáª/ìdÑÿ QÂãËæ4`/*nqŸ[H%÷"émbS¢Ž€³w* °ÏQw"ß<Òsa+|ÌÍ7°? ÍÁ•“AßíøÞ‰¿m¹Òx÷á‡ëEŽÉ"sd\j&­™Ÿj»U4¡N}( -D?õwÓ9(F¾Æp‚'ð¹þ„pÝ™»µ +þ“D–:CÕ/?ß]Ä@ñxÒÊéïq¿$Û*°– HkwûÃsR2L©ýž!§p/’x>ˆ €h°m÷¼þ7ÞÀMtƒ5®æ¤³¤_xf ÊþëºJÊ»Ÿ(âŽlòx°-38¦“® ù&ð\ÙzѸœ?‰Ì5MMnPâfÍ a¸$Üñ!Mq¿gäÊTb¯ŸhÝÃg§N—ŸÇO Â,ÀöÌŸûw93 +™S:*0Cv=îåiS|ö† U¬q|ɉ&¹­ DTLþ]b—¤`Q$«Ÿ(=áHðŽ†?¢‘¹ÕA¸ZíSZ@A”3zúÁ]`WO3±Á´CD;&YƒNW#wé.ÍPx!z» ¸Óɧ#‰;»Ýw~¬sά‡Û©¿g\@jw i®E•‚êLp8b(§üÅ€W¢Ã¹åƒ*b*©,÷‘ÓÌИêñò:4(O0Ô_žK]71BœNa<ÇV‹³×ö@æEÅt´}îÚzýÙÔ:+DîL¿àt$–K]J°yäŠs1izb$:-ü*¦[ŽÍ±¬|îzÚ³8ŽW"¦±5¢„÷ù¬Óxèä¤qdÖ·ÜtÏ¿˜W µ¬Ú¾ýä\OÖˆ1üÙ0К±eT ì蘻¬ñïa‚á¡ÝႽ0¿1— ºj=Ûñ2³¢åE–^·Ž2*X Ðab|D +çyƒ­&;õ){¢C\{‚.TÛ¥6ØèµC~“ðzéN6ƒ²¯ömÚ +µ†Ê™«1€^Ó""ÀD¾ò£p/IÜbD”ÙHy½+Ü—X;çÓV/# +:pkÌî(ËD‘š»¥è0ªT¦\#^©ËžÙuyù–ÊôžãƒˆÅ,Gÿ ç¬ã„j óåÀ¢I°' •ä×BgÖ¸-øÇáKhg!-û§¹%XËI]$ìq-UŒ›]ŸÁ¿Ç´¾ÏdX0ÉMš^sq]sb¿lÈw›u^û 86´ +ãD®(5‹Yã"•Ì„Ìã¿/„¿*ŠG9A­[ÒÍŸY9ê »ŠP耻gõµàlU›Kè8=·ÂX‹@ÃC’…?áo ™˜’«P ™p Ô€kõAÁ —¨€:„¹¼%¾'ÝÞs#Äß¼è¦ççl¥!îNb~'ídS"‡–F›/‹ß|¼Å¤<Þ^£ä„‹˜tè==  !w!Ä(mv‡1×S‰v€¼F«C9Îë³åŠ½‚Í‹í­S(pgH9m-ö@UF-ÒZÏ.9@©œœþx[Ø½É +˜o”«‡È艅/ô¸oZZÎd”.X3ÿS‹Ñ\‰hé»e-çû“æÈÉŽyOHÎÀŠÁ—VCÖ3ðàz9<;Ô¼þ0aÓwý¨æÆ0úRFœKQÍ}žþ…8>º†é9(ÀèR|±†*ˆ~ç4B‰Šoí¼m¥0ÕšzØ»òöD® CEá«LBJF‚Ô¦;ýR½/µ$§…xr{sS+¤‡ÂgâKãà﬛; +ZI[” È®mÿ“?qGQ@9]g™ ¹²\ÏIÆ_Kÿ ‚µ—gÂ\rYêvÚ±û÷†Ñ>…0©‚3C.²’žë}ïbbwyrÐ)3Hœ{\†ð)=K9p„ÚØ›bXÍiº nÀ0Úö§å¿9°· z—ÍNõboCºÎ3(Iž'•[©îÓõuü¼%"h!楤¦»ZžŒ‹6 $‹¯ðá÷œÁFyè¿ÜàâÑ) ñUšÊIÎ]õ/¤à™)ÛðVïpì®æB–l/‘~;æG-?U“·žöçòwŠe»Dîç·aO&v¸Iìè"2<ÂÜýÒ÷S­æIl°\E(MøGë X÷ùnékt3ÊÙ +endstream endobj 589 0 obj<> endobj 590 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 591 0 obj<>stream +êžÓ¸ïÎÈRN Ծǂ¡+wx4Õ€$ð«ÒBèKm _¯äìöžˆ(ZSy{BúÙ’Ï2ÆwNe cŒÎ¾>=„|Ös€þœ^/HñîY4T^&‡ºX•Àö¦ùIXhXL)OV-Ö~Wã` —vùn›@^s•*ÃÐ:…oŠŠ²ºLˆªLÜw;€rì•×T‰YBˆöTžwZ•$ÊS~”á†8âc¤ÛÜŒtu6’ŽW$Û–+P+|÷ã9VgªÕH2É©Z”ËlÀm¹"°•ºÆ9â?´Í›Ê%&êì•K‹–7Àü@VŸ˜uß ÆDÖºä27ƒòpÆ\'û`—êè> æ¹ôiFϾÕß Wšòë~ŽÄà"XÜ;¤š±ÿ)YÎE5'Hs!õ"Ë*ÎàÒ8׌7=§§f¦HÖ ¨ñÇ YÛ#öÔŽ×l¡"b¢‰Kíô§Ôn¾ä8-F À™ ŠÎð[Û׳Ԣözÿ5çá:ì$4TGg¤¢=ŠLìRÄá)š;¤rä2Ïq©™ÓANBÑù?¿˜@‹3êÂM!ñ/Ž]9¨f¡¾PäP ’r¹ñFÅ毓ˆÈ$oüâÝŒ9þj"Ý–šn\ØFºüòIñ¶š,ür?²\hºËÊæѦ8zÖûáÆï1%3K•c,dÝyÜ_ëÔËÍU¸YùM,ñÿÏåÖE÷ÿ~l‰Ôþ™cJŸ\ÆdhÒõDÝüHLŒ|½ õð¬[#—”SÇ5›U²y†?L +"A›Ô`·ª)Î9?öˆ­Ç_î`¡þ'³s nºÊ´‡"-³¿×Öm†$¸7Ý÷Gk·Å®`ß`¬«¬õæ¸ Û„Iîש›ÁØ E=üoÞÉÒ›‚®Ž¿""zsqYbÕÛQ"oD„aE{Ûq…9d f˜Œ)^¼$n…ýÜäã7©y'ÝEyø1Š×µ”ãÁ‚*ù‡ÞE08k­’}ʼ—·<`JŽ‘SvøT’>4ÄZ¸\•…½RÓ-èáfÎ[XWŸ¿šî]s¡:°(§§{t@º^š Ô*Û$ê«Ûñ]­n3 ÷@‰enVúF/b„Nöûá:dЂÙL$Ïئ^I²æÊŒ[qÏžç•/ŒPÕ‘µ“-·64èSÒ¬/ÅìÒhßó~±„EŸï#ËÛÙ]µpŸ™¦-ø!ªêR[ÙùJ¹oL¾G‘ô±I±Ã"e›Nøà~Èöq¾Hë%6ìÈ›¾»ã»WéDöŠc§å\…Ôu™0X€9ÿÝå¾è8¥äxÕCBŒ]%Íëú ¡×FÛ„Óûî¤ÐmC’>íáË«±tÒ½_zˆËØÒì ètºÖ8òû\»Ý˹‰OŽ‚£PŒ¾ÈøÚ±>7;žœN#Ó…U¬öqâì)‘¬$§B«áêW’Âk—¥ÍXwæ)âÑ]úò®«Y&þÈm°Ãȹإjù‹”B\žSvS½dë:Vøñ®ä®¤–t¢†Ú P§ª8ñŒzß«w":-:iV^xCÈ]¯¯¾JÆ°ÏK{(3öÚ‘¿ž +™”Û&ãðý%¬­†—ù/ûyî·µ`§Õ~^˜#o^½¥ˆhÁAñÛÝt½Båˆ)lLãëy(tøúÄV™H¹^ÕCj>õä 5Ô©dîÄ2á4ã 7ÞC.Ot2m³7yw›U¿M^ЗŸ]—ÐEëó2Lgånü·I0­#Î#Þç¾7Å£4)ØI I-|Ÿá-9ñ/QË$†[«hä­´k`3gÒénÐ/ !áðÌc½IësX½Zøù°äâª.2dkØàY‘e¯ôÔCì¹ ÌF§ÏP´ÈŒ’_±%Y½ûÐ27§ä ‹ gÈj O­ÃĨ†Á†e 7išIËê÷«¸Êéy•[âÓ7YïÑJbôĵfÀŠ{jè’"¸i…þÕÀg0Α›Åå?cƒÂH¦èÊߓ׾g"‡ŸìÅ>Ñ6å2ð^ M×Q“´öû^DËûö©¤Ò.c¶ÉïRÆ 7uÿ@Œ¯K²ùÀþˆZêŒpÏÒYoe®®nÿƒ•Ÿ‚ïki†Ñ$?‘’À'ñ«ÇŒ8/¹½¨jJê±3›Æ5Fò,…3±§5¶û›ÎgQ0iÍÕ2Iƒq®úRÒ]Í01@«“QIYd‹êψ±é ûcÚ«!ÛtP÷)U$éÑïCv+MdL¼ñsBÈ¿y~Ú¼#åšÊâ_ØèæFŸÿý§}Bþ€ÀÌ,žz ¹*%=Uùã¤Ú×Ì®uòÂœœÇû!(‡ +_ØÔ×A¬E}#“3óÛÊ›š¡ŸqµÃäÛº´Î‚$ÚrjŠÖŒMק”­¿¶Õ7Tqy@%o”Í +Ù‹ìøœÆrno«åóö"M¯C|ô4ÚW¦ièhê­mœÎÁQ¨äwàÑÏH¸ÛíN39ÿþ0 YxR4žYÛÃ<IŽkøÀNï>ßÍÁŒ=$ËFI‹Aý%€Žêðô¬jN?QÓšý ð«7§2WèþîÞ}S*žvÝOrTvÃRç10U`F@ª'ìÃÞ¨0šsÛÖ”>O¼4 á.~RÐpŠè™ÍÍ:á:ý<—YyV)î+˜ëžGhñ–2è>-õyXQŠÂg»¹£«¤ûÄ‚Bƒ¿Ø ZGjÔô?G°qÌ#Ãz”×Ìýð ¼ÙToªrªµƒ­õ§†ÿâ ¿7ÀŠ/€5öø}*ñóžw°—í£òe€™ªÔà ’ç\ùS*BrÛD?cGB«Ê+ö% osí3ûx+* ÙKæqÙMŽ)Ú'ÉqM†‹‹_RS[t[òœcçЭ|h>*O’^Çð!ñ<Ðe‚pÂ’äÙi±³è#/d±'ˆßñKhgþ‰ÇTLd?]¶¡Ãq©ê"tg—îÿB²?‹¸½÷ëIäÚ»<Ç@ f µäfé<ý62à‰2IÍmQY-ÈcBÓ¹ „0 `Ÿª[û gFZí¢,äø'‰–|z'û²Wt!T|¨9L<†¼=ßÖ)r:Š*Þ÷.‡•ù¬¥ÊÜl +endstream endobj 592 0 obj<> endobj 593 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 594 0 obj<>stream +¸ÃzS!ì°ÄÆrŸï<ûÅcJ`PÉõ˜B·ô†Û‡A°ôÚô ºÜÊ–çtÄ ŸT“ßS:<®ùÅ6ô„â*°ü­»jËû-[(òlÄüW†flYû»OdøóÂÖÕÚ„>Ó'íÕpÒ´ÍÜYlú¾9Ó$­6À.ø\”aÐôìÝP%:5 @ÌZT·i­ºki0»–žñ‹`VVMîùfÂâÚDz¢àFÔ~—"ï½Oÿ%%4µÃ`j/½ãöómÆY\qx–9¿æ |š($Gu„Iå¹µXIê‰zTÔ£fÞ{9yÂUé/ÇA™œ¥Aå[å‘öyÀNÊe¿ð¹ÜNËtã‡ñ^oògKKæFäªx1Ú $âpGpœš/ÝÉ¥xÝvŽÈhrÏó¬+Âå¹é«'õR§…é²ÿýžZ=—ÚÐÒP¤¡@¦®ÑZ°ÌKÓv—‘ ‡xM¨Ã£²í #yØ +ò…¬s«꧃ö7îø9!}dToÕÜå6®d0¢ªŸpÜÙaRm;ΰš\‹ƒRÖ§VsÍq®Ç¼Z «â#±†›ëž†>À À æÑ—7!ÕðŽÜôj„¸{éyÕ- Eˆ Æ + ƒ¯Q“§p½)†µŠYÊa¹Nõ ‚| ©^Ýñ“(lïvÂÀ°çíZ]V[q`†$jæFŒÒEfFA$á 51eT´ÁÑ‚-¦:4ž›J!¦‰¼O?|ƾ'7%,ìØÖƒoügÐ{®BJ?ýî}¥¬Cy—51ÜÙ{>ïFo‹)Ê©Rû÷:ÕŠè(A—ýãâæ%“Á?Œ§ìç9­TµœCbÁ½QZ­T ¨ÈÇ àqµñõ‡²ç^84¬Ò—h9¨iûø 8}HjE.ŧ2v/NÜÕ+§ÚLͪwi¨b­äzx0Ñ-Øp{œÿCɶÀ`jå +¤cu“ðP³¸N¾ѲKéQgåã&kñãßζ`~_#J¨[År­Qô!ØÔFÖºøSNÿYR+hJ¡†:A”Úò±ºq¥Ëü_Ü™¶§Ç°fhšMæF÷^ +ò@eågÿŠbà†u,&‹\-;³sxíñûì)‰7dº©HÉ-`A)¨~õ¨̓ŽqúrB=Xõ¶‡iž“,1¨‹¢ðV(ÃLë m§Í"#ò±è8Ý^¬#8€qBF,j´ä÷m>­¦šh¹:ª…¼jœ²©MP *Væ}|`Âý¯M“ƒ¶žVGâÑä¸l˜Z<È‹÷C~>ÜqG‡Ï»p‰ä*Òœyÿò§ìñ +éLl|%fØ-MKLÕÙ¡†µ¶zÅfòN"CbîF|'é_î¿ë÷î6‘TÞ$Ô—fÄÆ®Œ'm*’P€\äZ­ßåìA•w+nqëu@2&íûµ +¼ïq®>ÿ¶$6Ú†3t+-VÅ¿¥½Û.LDE®ãIŒà½‰ôEVù¡Ä…”úâðàÌ‚–ƒšugû”!j¥i« Àeú>5}§Ò"é0IsÃP£VÅçD7™g¨6· :l×W‰»åMtÿçb²´p„8Éñxê0†pš–+–¿ã Š“ý`ëOVÁiuÒîÉš8…Ö& D¸þ6¤´Á?©”œ¹•ËÖY½cDi·îr¼;vKïÔ÷“.¾]”éuéf©r¾€ÿ›g;]Ò/Ÿi-wPŒ +äs4£sY{Ø€¦r<²TüþýÎÈ»çħ–V°¢-ßiþ(K6šÈ¦¤ÁFø,Ãì’u•ÅßY©‹ª>P(PÙ…-ãàx™%Ä—Ë&ÅÑBO/RôËf"‰ÅÁÎúõÉ6€áÞÔ¸›pgw!æLËN/e“æŽ×/«Mt„¬SÍ OUMß¾¢úP(¬½"Aˆ_ ®¹LÔÔ÷g ·yãøéŠúkbLáFßÿ 4©çé|:`¾56x¿ŽvGÞųÚ&קãêj` ðo¦¥¼ªwìEÄ­jtE‡»ïlY³*.ƧY¢cèúòþŸîb¾ÈZy2™ç^« Uü#7qþÑëÙMx_o +•æèAà©wJöŸøf¬–f¯º¿yI‘mÂ$J_vöîv´ÿ%–~ní$OÁ2ÐIú†°{=ßDrà Ñ@\Ct=ðOu~:+€îåQ­‹X8ÝÕof %{5îóö½ LÛÄ“Jhó ¬½ýÿUÍ'¬à‰i•˜ËδC­<^ïÿ‹.Íhâ ‚µ`.>·{‡­ cºžw3=¸O+EkŸÄ‚ÃÚžçEÂ|*ri!SÚ>Yyá¹pO †öÞßSôê. ±NfˆÁÝ¡V³ùxÙ_A +`ó­Žê)öŠúÉ4íÞdã…ÈØõnÌøëu)-¥ûEÁˆœv¹]g³ ¬ZXüÂ=¥"†EîŽ>’‰4ÈÆöá,`¿%ó•è'õH™t^ ý³ËW¦›Æ ¯>ƒéˆ857Z߉L !Ò¶”Kq‘—°@Ç~~kRÂp^M ,|î0fãøSHÊÓ€[hÆ«?ÌÓw Ë&Cüsš‰92°-í}`¢`^CŽëwý+ì¡ ·+ÃÝ«ûαœ¼¨$XBlßgWÄ3R/6s¯t9ªuk&áíbJÏ.øo‚$7Ù¿»Ïϳ«äò<î+áY!«`aÕ¹ˆÍ˜êhUÑœ_¤ wJz§‚z©ÚRÝ(ÿZ‹Géÿ û,$†“wI&1ŠÉåT7E÷‘Ò±pq¦’üj„̾@D`éM+¯ø>( ȼ?YS¾}Ayß c*¸åþaýo¼î)0‹‘½‘²5ÿ$^A‰´WÇ\Fo뽡H伈ðn7û˱Îò; JÍX Ðl³*—!ÿì*]궯’Ró˜Nâš"‡ +U¡€¾àv.<ƒöIòîZ»`¦1øÊö,Á­ßŽÄ‚0€êæËË¿L§jö?’«ºáòG®ûÖƒ¾MAý¡h»u^kŠTl\¹HMèBIr\îG‰¹J.3p•IßYäzuS è!ŸÓ&ÇÅL—d6²’m¶Òôz˜^àÍ@Ý›6Ël12Ë´Ö”¶¿|Ú”X³þºô‘äa貘Oãí†ËsHåÀDÁb‹" œ‘B•7ÑâTX ãRÿÓo¼ +L¨;ì¸éxÏ}’×aª({êTd¹çŸ6 %auV‡ªvr¾ÒŒCÁJÒ ç†xÇÃÙ® I–hÛ z££Í‹ðÍ:áS{p·kó +àr‡Ò‡¶§=£ˆ7-‚‰ë²ma˘žì2xCu¼ª*ÄáZ«÷ô-ŒÛ\Õ¡êD%±)Ó }q¥ S‘ wÇ8â²’Óp¾ÿX4H@-wµûL…Q HKc…-4gs£6º —È» +É »†Ê,ˆ‹MHe‰~@‘üÛa]£­\mƒyÍõ@Ø,|}©@(qm:ƒ"-¾“U&c ÷Q—Èê5n6¢gI› 41ù[´²ZUÖ¤iàF€LŨ_>zrʸ¿‹9úT±Sù€`¡6,È£p$vÐ`SÖ`窛ÉÒ\ÿ»aùó*ˆý ªMh)8—~”;[°ûG>¢Í;…Ü–Þ¦3yhŽkýH‚äºVdva&áœui×ÞÆÔ‘h<ÐàÍŽrNÉUþ½A -ƒqÍ›r“ð Žx¦kfBE{&sh\¥ªþ!BÕËRdɪ¸ðo]ëDÛLÚl€ ü^Ô†_4*¸sçð"|¥^¸•¶s—Fk㪩¤Åó&ÜøÍÚAá2Õµ©oH²ãñ&½¼pn¶‚%mÃâ·«¸odò‡d+ë¿Qꢶîº%!ãe ¶ &ùhmÑùâö©ò¤?#;yÒ´È~É ¢lÁ 8¸ŠV%èËf€U¼‹éæà`BwËo;øê³JCfz争۩õI€h\5¯}^íG,Å®0žÂüŸŸÕ‘Ù«ÈÇF <·³@xKë÷P*îÛlçÝ6X•¤i‰ KˆûÄÜ`jûö™ŽƒÃQ>zÇy@?lcÓôlT·Q¨tý¨0›Eñüo!2z…bR›ô#vÌ}±iÕ儧rɧºÁƒïv…½ÉPÈxʤ£xGD„I]Rvi?ç¤& ™À)^Aß:5ÓTY$Aöv_LÑlÅAhªE]}ÌÔ•|h÷cæq’Ðt³ß&|‘ç$¥Í…Ê×Âé¹ÒÔUNI<¿ø‡•týg_‘Ô%ä_þµŠFäžUù¬Ü9È«"fb|pF£×ùÓóI–ËUZ²iÜùñ¾½Îœ >n‡qEjœƒUKt™‡©Œ<•Ö´uhŽnKÔïÉñ½ÐÉäßÛ ‡G*,¥™ÀGO.e¤Â?hÊLN¸òu †äéͬî¯÷ߺëçz­ +×ñN¥×9“!ç¶å³ÐZ}7a™àP„d\òË’øBõòìÿ'Á°5ƒa9v¦a~ºÊN +ék´k·ú¥‹ÐÙ¿Ž$Å'Ú‰@¡ÚE}ϗǸëÛÒë%ýqø§¹.Õ­¼t Qè +Rê&6Ì ei²é´n Œ$;쯬€@Ç·¦^´èÕ8û2ÂÍøH˜ý鶮ô¢K¤ûk™]عٌð‚¯P B» –§)}¥ÈÐÔ‡øc2Œeg5t¯U)¨eý„M¹éA«_®©À¢åJÈeÑí +N6î]ѱ'´Ó[$wìH½~—ø%㪠Áy¥§’Ñ*¤ðècŠùp±YD+IAkù”}æÖq÷âÜÜñüM _¼[Þo˜»ÔëZ7R.eFàf§D¸.9¤h'4w”>VëÈ…dªÜ˜ò†£í›îªïÙ©Ú6€õ¹P®«.¬7@GÏ› +œvYØ%J¯NïqsÝšÜ-Ì剨ì Ý*£À§ÔÅYU~!÷õ’•ZÝfîýts)[Ð/³Ä‰”ŸkFFÀ¶¾BÔÍï+ô&:J>æyW]Õ´€_G®u‚ ƒ0æ<=îÀÞ}[83h€€²ÔÞ"wNScMû üü<–²Þþ",ElÙè!~V=„5· P9 ü¯ÑBÙ«Yj.ôŠñ¦ü(^e¢Ž0ž!';zÊ\wáh†äz§Ž÷mªäBØ« äŒ{Ìô¥rñöK¶›Õíá+<çNlïn‘ÁUTñð2ö;Íò“Sö:…ãÂß²žþÒí+È8+ç;¹5‘U0ƒ#Uá¶ç¶¡ü–îŒ'oÿ›EÉÍô"hø·Î]Û…å¼.û4ÍÙâ鵈‚udä´"h¬Ò)¾Qø-ù}h;$²ïlÅ"é}{=åóï{Æ̶ëH KŸÎ +rèþ¥ì +±( l7E´rG EŸRåÁHô@V Ù¿(‰±Öôýd¯¡Ä.&z +-˜µ¡Òÿ\œ–G¾°‘-•ÛĦÞ"Ú–ë>éáÏÑ’ý}Ê”¥;¦2奻NÙ$¤ù‹¡øÝŸîY«¨®œÔ×vÐzBúâvÓ–I+©¢“š²ƒ6rÌŒòƒçÍŠ½Lg/Û½¯ ­mpøM4ÔÕϵ<Ù -Œb\ÍÑO× +†qä¸; +Y:LnLO@Ù¬VÒR„—pª)”—’Aɬ=ª9wxœ­Ç3CÆϯeÕŽ,ˆqCûÎwΓ?ZôF&­:€}¹n <&xÙë„þ×"¢¦ÖD‡,{@§ŠÝrÆ̇ŒŠ„´…Î-Äsà"EË’t<®X溈Š))~J8¿÷F¬eÒ¦»Žî(Àúô°9ÉÕÈ—ƒ¢è8Å¡;šB? ™PrììµMÂÖŒ,°ÓɈ¬®;¸1®‚´K®ö€ F[#Ï™‰”‘^’yôñ/ÎöTÔr703çú]‹ðõc; œu榭Älˆ©añ[·²>ƒD×Vå6Ú ,ÜOH ¾•£åqK{yó8j|ÿí¥2@Ýd5ϺÝÜeŒoŸÿ+“Ê8HO;£mîÀ\X ?™ø›SX=ȨÂK©Çwz’by:¶qa’«mŵBZUÏ­¼Š…Þ4MDûžèKÛ£¤]n®Ð¢Ñ Q¡©~·Í¿7ÍŒl?cPÞVAðÌP1n²æÅs滂CŒÿbrBV6Mê¨-d—,VîÉNB›ÅQŽ2…‚©¤^b.ŸJÙÁf|¸I¥[µof^ÁÝ]çh§ãZ@³†[¦rËó—Û‡–…=üOEcª®T;ÃÓ²%L—†¢²–Ó*ÔùY=Ò|VÓÿ`«ÀzÛº¦Äöå—qyXÄ×ZC¶éûhyñÄ@®Ußçfk=Å|P`Aƒ%¾í,»ö´Ìé>v ôÓ ôñ¡™Xm˜ùQ¡¡k + +[â=årg.÷þvð-BN£ô8_;ŠV,‘b^2óß®q#ffœ^/ºîPBvÒ} êÖä’0x< + ۠΀_ö´­_~†ø%ò˜˜d¸)w®ŸV}#tÿ¦Ý.…ª‘ØGÚX· +endstream endobj 595 0 obj<> endobj 596 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 597 0 obj<>stream +B™H¡öþ ¹¼¨F‰œ]×VwŽ‘-:*Ö]§¬L‘yŠ2WŸsì(Qp åƒîåEi㊥œM€Á#06<üÌ}%gqÍÎ@J¿AÞ‚ CÝ„À>G;Ã(ŽVÒÁæ6I˺:à C +Ë磅Sâ{Á£:ùÓ–”k¹{[±­dæøû‘ðõ®(­äX_';ÔݵwÝ]ìËm‹Â~|-F/‡‡…[^þ 9¶?0½&¥ý¸Z’tš :6v%´­Ú¶YU\%̱QšrîÑfn9N»zU³! E*'Q€Á;Ô,i¡}ü^¥‡=o!—=.uÓý„X»{Þ³7¿¼j¹Bqÿ*Ò JĈþy +]~ÔϘÛOç™ÜÚï™=¯¬«EÐ]þçó ð«t¼¶céG; È粯w)|ÎE'ÎÁ ñû>Ær¯Ä:â?ž"• ÂD ŽÌýq²VÍÎWÞ:–îô&Ÿ'×½Öè³™º_­ÿÜÉZ]s¨CÎÀ7Tžp<¹õiw0S¢n†Ý÷r +&*îxà +ùj_d@¸dNë/wêa‘)}LK9ṉ––áæsR å5˜9Me¹Åî.]¶f–è?”*|Ÿ6à|dB=ÂËõ:µVU%C­µQýzÌ,-¬¯hú¤ÎHN{!]I/5žË1ÑpsêÁg¿®øÈ^Íø‘ólªÁét^ǽÛû`_µC©n uMèÒ4fþ\t ã LêrÖi6ؽ|Ì´>v"w%®±ÜBØðGˆšûCN}ûw"p0ôjÆÛ›<$*á[¼æÖ]p4Vy¡àÕǵžYª|S $C•Y§£AÍ_1«°õ“‰Úl*4×í °2øoJɆy®|Wo' +!ÿæKµdžùf‘’È'5I‘Uðð¡`Ë€ƒ¨NþˆdývÈ›¨d/(·øzêKiK´ÑN¡¤ÎÉcÊ»~¢Ì*ܹo8Rÿ<ÍqŠ³êh&¯¸œ‰båã ¤ŽîH6¸Ó½@q™ ×iU³}gûOåÀIèyà £;—óôaR¯ÁùbuVô<¦”ó^ö7 ?ÍEIiÊ ¼&¦Mn,å;"¸qEkî¾Ä¯«0&"lÌi•×%}ÄÃiÊŠÆñ§ÜDƒq@ÂU¡ðÍLA&üÌ\î³ÒµuÞëù +ýèšè&_ªØL_'à¼Ø/üÏoL0”v”Zeêž0D÷k!¤Y¥ÁË% +®åsŸ9ŠÅc<®Ôà±/½]—ow=±³íéóUiÁÌÖR6Y~ÊVûo9ý„V¸»ùÓœRð’=»î=¼YU}+#«~Xvƒ‚Å’ü{;48mb¡­øâ€t?¤Ÿó…‹ÔÚhÃAÉ­#L?°TYW)À8k3 |x˜I½F{ìI(ÁÇnE(vgª¾„&«[í³MøÛÝó¦jŽp¸ó~%„](³ºDYÀ?¨DC2Á¸²Ö,›8È+€ÿí[È +IõˆÌ¾‘ œñ„J@¾c/âX€Úf)$ßßÙ>%Ò57TãÅ)™”©1öÇt>h•¬ûFT<‹?(ÈH…΄’¬"’xË/4ŠW°WYBúkæ{Ä|~ÈÁS=¼«)ðuEÂïõíøýs4ßyâõЫEC:S¢jXäk¾!±²gÓÛôeÀ¸ÍnÅúºqë뜅U’ ºœ ÖfæôÞ¢Z‘£ž*}‚xBhé²ß%ø-Mçxì3ˆÞ×䦢¼’ÒqW‹?pÆŒ^j'À +%*˜þ«Á’€¸—Vó>éaÆ'U"jÂð…Näùö(wcßZ8ü3_Ý›ÔßÏÊ3;|²æJ67~m»'¥Siœ2¨e¶½nGØÖŽ(=Éà¤ä”wÆ…UÜÚ*ðˆª§ô²²vÉÝŽ9 Øü%µ ä~Åæ…ìü[Å Hâ7ŸýI`.ý©ØÃÓ0딵¹¥Áìoû¨Á¹íÚ@©Ôþ.b[wPlf¢I›o*ýÃ`Àí7yüI7”˸¿†p:Šñ]«IZ¤lQs B3!Z5™þ—æjâ’¡GZ·úÉŒ’.¾ò©BoYFêWÀÆÎD³¨#è¼72¿â¢G—b%@\ÌîÙ'ß÷¢ß篇Á˜54–ÚÝö™ž‘–‘#èî™NïØͤÇ•„äã~œ~6bÒû¼Ë‘îjå’ãI€Òg•BÁ(Ÿhço–·ÄíõT™ž„!¨ypÕÅü “vƒŽq%Òkû·ŸµÚO‘ÌÔ#D=ð{îãÞÄ!sû>iÎIóaP½nú1ÿ[`‰Œd~a‡0idÄSyó\£á àÊôLÃ: |ŸõÁFìÕ(ÎfJFB?4öªˆöuS”±›ÂUë <*ñɒĵ¥®þDŠ–à‰g¬y¯+öŸÇ:Ö¸ +Ìiꋆ¸u^‰ŠÞ¡aª¶¦¡yF“Û/o×+Ñbr2ò®®!âVWW½¼_ü»”æþ]ÔŸ)Ž˜¹_ÖHí¾ÒÍ`£uØÆù > žgƒ™å +ñq1‚4Œ_².Ei`ŒW!GâóŸ JâFxRÝ/SA¨Q)H'8¦Ðø(¼SU®„2È ¥x˜‘ú€fNCeŒóõeL#£â#Õ•rµBðjäé­+9Ö£4´:æÈJ±Í‚†f†6ãK^ÏߌSÃL—<õÏhŽ"¶ˆ_ i–âš¿ää3pÒž+,,ž§ðõÛoÿAßc°Teרo[r¯Q9O•Hq¿’WAì:-—ÒÀwXµfÑP,ˆªi?cª¥Ç¼¿Þ'ûÆk#؇r}}O‰ºÃ(pj˜Öµñ}` Â^)g¹òÆ­(hÄ 0Ú®_ŸÙ:FN³œGëü¿¬ðx0C1QñmàJÙOQ#âã»Î²è³¶Ö€^%yjÐÌK +¼Ø ^¦åÌ/QƒnÕç6Õð|<ªÊÈ +É,R{÷¯FtRZ×h]9@E9õpŽO[ñç¢rÏ,¯õkºV'íôRp1âg"R½ÏC<8K­¼²›AhŸŽî¼²RŠhq@`J4™µ#ÏþIv5Õ?³|ùv‡’Œ¹V¦A †~Zg>Mê9ð¾¶ÕöiUGŒ ¥vˆ?Gø0éo ¥ ÂGæ}Kú5¡À<ªÛÁ^"±ÙŠ3½W‹Œ 0e…ñ­ÿîUQ@¼8¶e]”†Æ$QàŸBõˆþ;ÒK~ø„¨°|6¾.;°y‘·La•Õç+L=Ö*G ™Q,—}:€éÿæUf΢¡®{Íf()1°Ìý—½™Õ®,Lþ$ê¶bG?øØ•çÀÏ;a*¢!^(#­Ü}î «;¹°ïeF$áÅ©2[y)ˆõÉ®Â\À^t]ú$’8UNÆîö÷Zìš{ q¡ú¶°­eKd,‚Ìék +$ˆ«YãmS&–:9[—û£¢3-~nÔ˜!Ÿa1NX$¬ÖŒÑý§é=Õ½Þ`á™FëÔ4ãÆ»}!·àI5ìn`ñ4lu>@¿>æûÖ…‹üñWŒï‡*'fàA8ýÏógn«@öÜ"{Ž_0[àÂâÈ9‚Z†Vsùà+I:‰9Ü>aÝ&YœCwkGcæ4@»«bø„ei~Üï28S¬¶: /ŽWMß‹+´†Ü3kƒØø4´X€”öaÐ@ÈhS½ô¼¨xµ—ýÌ2{"jxòzM“Wb‰•~eP[ˆ''4z¯é`¤‘¸UpÏT­ÒÎ ÐO·=“¡lâ9f?*t2û\©¨hêcÉäȈNúÚÉ‘ègiBɘ¢Ì!q}/h ¬YŸÕÊQ>ö596$d­ƒžÍE ýéómÍð^„` ªuØ&vï–$yDY€äæ4y~­èv½yšä@ÑÆA™ž·s9‡¨¬ ðuÎ9$¼Œ>N)Ó¸¶# ¥¡EVB¯e´³.W@o§}pX@—Â_v +Ëï–hºÚx­ˆDMD£¯âPPxóÿð‘uWõ‚¸Ñ€0mlýü#é8½V9+¾D‰=е—ážc[÷5ž53ËO™I/oSnÇùqqú Ä›Tê¼³žšqp_\æ_ÌûØAÉ®2#ó>1$u‰ñeÓBx iWͳ.õ íG!½OÁˆ›PÛÑ@!H‡!2“¤ ¥ D8,N +vËÃúž fdmšv&f¤ƒ‹›»ê­Ï‡aivK|ÖÒôŠØ»§-X®¿t®aù>—‰Ï·¥ASí..-BEj{ʪ³åå|*QY7ðo4ú/Æ[é1A‹ñI¿È“ú›CAÂ¥Ç Ö‚ä÷›k{:r‰—‘\b3•ö¯YF:í\4Àιé˜ùÊfg\ØrkÈÞ—B^H„âl0Y³»Çc‡¸Lªð©yg‰Žo<: +[6GçЖWüÝÈÁÇ÷]nœ}¿¤˜"­yen𭪵ÌèÙ#®xPÏb¿ß<ƒY´T"ı”ãR¼ïr¤O¥ž_i˜Ïg÷!C /3n@£7¡Ò+ ñÎß<Âñ§í®Îìn1Fáäß´¥gq…qIžWÇÚíªÀ“'%ºð ä@qù%±PÝÏVk/ŒdÏ ª†Öƒ% ,NjÑ¢ÝwœïôçL‰Q8.#äžn lDK¯³pë/âÍ!‘˜ßfÃj ‘¼+Dÿ²$Ã|]¾°Äñ÷Öµäæoª`‚GáuUû uàÞ*¯%TŽ÷Œ׳3ÂdÉ»,ækª®7-~šÿè}\R²dðfÞ»ßÁ1ü8 ¶ˆ°%Ù£‡%€‘®W©$Jã»!¾Á½*Ú‰\µÙòŠ±E ßñmÚñí¬ŠÝök–õXÞ>ÙEŒ/ÔWêrœ&LjHÒ‚I7V"¬_ÞX–e^…ç_ŸÝŠß=‰Ö*Ó*JaêÏ­V*Q‚í;°zÏáÊÐ œg#þ”qÉkyixþˆT2a‘¾0K¬d|¯~ÓÔÏÛf;@Ðz)É †Þ«^ÀxNÐÂEÐpóÚÿþ$­Ý`ðóâ*êÁ§MVë­£ZÅã÷ ¹È¯øõÑ`Au,;H‘ú2$¡;°TЉÆþWguÐkµ¶*°É[©š¾RZ‡ìH-ö,œ›"#÷Ɔÿ· XKñWôÅïCتwËþ´}T™ˆ€5…}^z™cšÉ#JñªÜÁ <îægÜl)IÁ;âÜj;JU¢Õê‹ŠÒÓ®Q.š¥k·Œýíƒ%¶œßÊGùfãèýynG_JÔã[HÌÛ[aêƒ~é;ƒ;ξÇ{@Áçd]²„ÕM[DI¸áóšl^z>aþdÈéÊfî-ø™šþš­¡çæv·po,,åæ»1^ ̺[nEUiD´0Iêl•Œ¥™À󎙄ôրݠa”¥-#5‚‹meŽ&î½æIDz̳ÎÈT¡3RWW ‚…®ëÐW€fxFý¨ÀéÃJ'‰æ€Qº“q»7-Xü_:=s³ÀÍ÷%`êË•On04qYŽŸ²&YiHh]eëi?ZÛoÎEtn·¸TèÃÝ  +N¾RŒÈ'¾Kì)jnÓ¶>A›¶ÌÖ†—ãçpÌŽÞþE]¾%õ§Ÿ£“¯n«zÅKÊ4l¢KÀ`Ñv!Ü ßoÛ-ðDφ´²Äl$™Tç¡íÃUÅ¢Ò“5ì$ÊPsWØ$Ǧ·¤Ûà°·†~*ØΉ¥¦þrïqtz°k:8u+ˆûsƒbO¦Ý 1ªÐ` þOà[Ý”‘›…çÁ¤DV +î|agPÝÂ\ÀcAÀî@Ħ‚®‹æ·¤ÜQ³¢$ƒÌôÙK|Õ¢Ë9«wÿJJ¬òͳŸJ­Ø ìÄí°ÑG/Ù9Rb/ãÖÏiÎ,ÆOzÒl;b (lâD£‰Ëhã/eâ}MLÇ"¸™%þÃ˹J^<_ÊÛÖE3™¶\_6¨‡*è=‘Í8ºývÁ¼Ýè"!~bop©´!ÖYðÁAZ/5"rÕ55ìë eáy¿PPÙ:-7­¥Ü«sSÅåWí øGô¡kFÖ“à jX¥ŸJ¤¤èqî#Ÿ¬áäFsµ9ø(´ñK%ûf‰ÊåKáÏ•‰÷vúËƸÚ=Ñ ZiÇÌpG +äy >¯ Ĩ/Ÿ+–ß„|·å1þäD?14#—¥ê¡O6Öl4ïÉ"Ž9Á;»ªiH;ÆÅbLâùj›wÝ”žÃD˜.`hà +/©9Ö›•”wF‹zØØ]ØI˜G™àÌÊ”£ +ïEén Yó-Þ¡`­è‹ô> ¼m矚è²ùõß +3Ž¦ÛÏKRäÀu¨ÙbDÚк赅"ñ»Ûø(­¥Q”J¦Hh…B!ÏZvo>^oPE [?ƒ1 ÌXRÃWž3QÛúC•¿n; + ‹¿ë7rÈ¥k4®XCÏ}âªXºËkì`œˆ¥ËÃ,ØÔ`vÊIm/Õ¤5zI¡/U¾‡/L²“Iõ÷!mkç%—â½ZîŒ^EcÙƒ~Öà“\Ê°õA{²aqågbû”¥òÃë#ƒ×ZŠŸ±0ù½ënU†ÄQñeGP¾´Ñ¨2–êÔ´ÞÒöxÄiIÌv²+‘§ÐrÕÞ²ßp­Øüm¼lp‹*ëðP”sAA‡Ä8Ø+r‘Ýð2ä ,uå͆1Ù9 +“Ö÷¸UÄA>¡Fªc +ÒÅÜÄ%¶,v5¬Üh1\†({¨ Pþê@•¢_-ì*ÉàÈP þ>l¹Tœ='¹ü”#¥rìVjZ'}C)*%j!oH«Kg”UºåñvÚÊ"ŠçA>F°Q(¯=SQTíµŸC1ƒ™5ø`¦z‰ç_†¬@WPE™Žõ`jrš>[‚ü}²yë‘AÒ”þ”ñ’ž;øÜÝB¦—˜þ”¿„QW€êvºáX¤Ðî€À$_øŒ®0H íY‘®^°œ¹¥Ž®ã¤yO`O€5GE™|Pœ>)¾ú]ié@[P9H9ëëA«÷i‘n‹ºg?Þ¤I®×è) +Õ2³åÕ¶«¹ Ež·$Æ-9-ŸÞm•®J7ô¡×òøŠ¸s×ÍÂÓ]‹qŠúôøMűŠÃþÁÎЦö—”Sk ¹þÎPø6Þåo&€Ù¦Ïšc +3àŒ§(ô⺴.²œ©ÆÝ1l¾.ö©žÄ‚Ial½4‰ÌˆË&4¸ ëMùYŒuNÁyMª<9Fn·®õ N‡ÓÖ$4áöMwQxÁ]!àNnÏܺ֜P.%¼A~[ÌĘ–vCÅ»/ÏÿÿѼ¡>tUص ÷ÿ¾:£0‡Ô(·<!F•Weç/ÇW ôœÞQº ‹FÜ¢ÅD³áÛ}ß[ÐWFFʤWÃ^€»ûƒRöâ}ZVãàWLô„I¶¥Öm8°Ë4 +j‡v‚˜ÄÚ©c]ÖüNÛF”ïhš> endobj 599 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 600 0 obj<>stream +Ö€6׃n­^¿{QÁSÍC㑱Å)õå³mEêÐÓv×É¥~žÌR)ýs÷Ϧ4â +"—ÕØ [0>R‘6´eRKÇð]4 +1Ø®£Ê1ÂÒ”ƒ„Áu°Ž…Ó•¬2|ùÈDOò›1¯2G–~R>¯&ŒuvÞý’[bœ™äüƒ˜™ÿ∬í5 öÁð]L¸Þãv7”Aq\g?Hï!“Ð Ô¼‰¤Ï"â:"£ðÏ\럂G©Ùi4CJ у#¥{å?‚? |5bwÚÇGHËÛ¤.‚Øë³…Ó8VYwŸÖ’½Î)ãnq¾GßMºÑ2‘¹*‡c…îÒ×ãWQœÑöò°°üÑ”‚$UåUQÆ;r¸Ó˜¿B®[Lh™ºD7k²IÿiƒTŒ(c’“k”£¨W‡¥òw‡-ËO·¡âÃoç 3¶È…GŸœiáCÑ=2s~Øž9iQꃪ;ÎE|qé‚(Uœˆ¹Jôx"Çö†æ¡´\µµæ€Yµè•£NÉâ¼-ÈØÅYÁšå#ëâÕSžÈ¶ÄDÕÇ‹5#øŒM±Qo»Á¼RbðE³“#0;ÿ;7ÒÚ™’2–…©”èCxÒmküO»ŠƒÒ:Yö¬³L*ïÏfmîA¯ø~z–Ê×õÊ: +QÙëÌ‚¼tÚ* C%¤g0ˆFØ݈M¡›zIóbUéôÏý‰û“6‡Ä´…nînp0V¸ñ³¥o¢n¬D‡·áSÿJœ`ËVžF±R/`W€Å›#À„HSëºí„ö‹ ±T%ؾ^ü5ø(âÝfB*á÷ŽUÔÑÊþ`Ñ*…ÀŒÏHülà‰Þ£´ì.êâà;›ñ’JÜæ¼NÞÙDzù¸‘Ò +H¦õê;´ë^Ø%†ÆˆàÃùk„ðp…ØçÀ†¹5³' ˆìØžmõ×9² ÓÞUQ÷QË ÝŒùm€Èw 2e'»>©åÀ¦/áe± ò‹Y§Êc¤¨wŽGK·V/ª…µË:‹ÀJxzÖ–IˆDàÕ¼jG†é±ÅRúRÌe¶>6¹“ïiÕ‰ÞßúÙŠ(wh¹…´08pWЦžóJÁ–•¸<5çªnôÒ‡ÕHä>«w,€ß»Î51á+É­÷}{ÿ»WfÞ°Exâ%ïÅ“ ù…Ó¼MÖïúþoÎÉlEybrÁ‡x¬ýREi7ìMAP³/R×¹µcÁuå“ZŽÛôÛ[{ð*Aá)1‹)Û@WþC¼_Ë—Y_mK`TŸý@TtJA7»Ü´’ëáÞƒÚ°š^Àö¶]'OKד³O‚³©‰w!ªç'p\`›DMþ ú)ýBâß®C’² Ãmq÷­€Ôóæãl*YHd)ñY˜"CUW­£çB-øIJlE®<Ïví•û…¼F*œQU(tbv¢H缤Zfåpɤûê–W¯¤e#^>Ñ 52ý‚ΖP’ëé½,pýrŒ­å þÀÑaQ])/Â÷Ò4ŽŠTö¬ZaÙ5ù©Zs Àµ ’„nÀüe@Ï t.>ÍpìdÜüÇŒÈVKS t{¸R´( 5̙ƭAzgž3¶0™Ó>ÞöînÛr¤Å|¿ñ°ªI2–’sgVª^eØ VéWžvUYf!Ü#p½+‡£p¡ ‹ÅûÈÖ/J—©@¥íý¶P¹•Áƒ¤Ö%P«ØÈQº +z¹-_'î+*ãQõ³oÉ)þõá¹S¹ù“Ñ/LÝW¦Šf˜+™î:ŒE1/œ2›´°ŸW˜q–q\Ò|Nµúd? y1ihšò +Ä}-ÆÉɾÌZ÷ÊÉ¢´¥âD£T±ÿT;?aSÈÑú,áL÷ñ±…fN ¹=Ì5¦Jt(LÆD†?ü£ù4u•˜‘jl¬!WRI~Äj„7Sk˜ê÷‹‚½Í!;¢×Wà¯ÃE¿’"ÎœÐt¯I7‡ÍAÐ?ØÑhDkÕ"’ÿ…QÚjÙÈR¼wìw׌Ú§—áW—ÔM¹…|ûj(Þ—Ê)²{ƒš•Ö›¼L>X w+ m¯9çü~WtdÑÇ”àF!knÈRÙK Ú²4±æ”¥‡†¹š iàú‚mÏ2ô·½¼|G’° àˆ&®Ò¸·Z4KDZØW±¦I¸Ì-Þ-ˆ~h‡Ã3E$V…ÌΘ¿W_ð–E­{g8pq ùU+&>‹ãK·Ä\ýÊ{l9÷/IÜå E¬|hBçtç¥ã´D¼Q1Kàp‰¦ZQ…J¤Ú°7Ö7&„¥¶©ëÞ*\Âi,5BÜ $`¹¸øÅO#ûxD\¦îðH€!ìòöƒ@å¿@¯zAÉ<……ã)©R1˜\tR€ÕÅùšzG2¿C) +m4NqÑaùÜŽ$4S)%Á%¯‚^"Bg2X¾–A†ÈeHmˆnëW±w¿„ËêÝLÌùùg¾“£ïTȹ}>×jCzÀ²cÍÊ[ºæ”úÄ™J$\pG`Šï>€‡êrLc\ìWþ§Ãí}fõz}Ã(gé­È”|» *XV|¦D„Y“™> üÕõž&¥7|›/àþü>Á{3ã9‰¬Bc¸G$”X¹ô7Þ½‰ß¾ú*KF-LÁÃàÀç-¼àþ +îHjx?Ÿ-”`0¥ M lZ¶3)© I¿kV ù0­ ú,"†´)*hŒÊI½-CÁ3 À8@K—lYÑÁ‹üZYŒ×óù«B +é™Ôƒ˜Jè¦(BR‚îðUV, åëŒ~*´‚˜p¥\Y×h‡ÑÂ~·á¤L_7åú©\«RQÀŒÁÀ ^%Û 4ï?’Ì 5È &]ˆM0¼¥ó¡2“ô®Ë𸃜™…ú9ä³ ?š ó§Ïj˜n?)ô›õ€3‘OBXðŸÒéC'¡›Y…Žô0HàŒ¡CV‡i&ÙÀ©hÓX33­EXßa³!.bñµÃº.õHAɶ´«@4,Â|Œˆ™îÖ'bz€öýVGƒõ$KcÒûÇGŒŸ?ðöLgΪmûpÞâx"ÌØÙ¸KÆßÈÕYÑ7 «bG7óQÿ=¶-HJeŸCo[.'JJê"«Ë¸<•4:º…ì"'US/Ó¹OÆã3wˆÌ¥Ò/Ua@ïJJ>e¤fν“…+‰WxYÎpðü^¬ÜrLœŠâ€£+|í[û¨¬ ÿ¿v¬øSêÓÉ¿²Zؽˆ6Zî€Üý `ÙO@ÛßTüÞ'*1¨!´šX+—8Þ\'«ç¥ªcWz|AÂÆö틦é²ÓJWƒâ†»ÓhÇvoê¦CùšÐ4§uäZ2h ¥ Έˆè@{|ìJG1óì$ >‰1ß®ÇÁŸ¨ñbÇFp¢Â±yµ(ì!5™mnš/׉(^ȉ{Žd¯AŸ;•Mùi…"õµ!IX—Ž,Í渄â¸_³Jœ–Kã‹ÿCˆMÙ 9гàË£¾ÀW™Bt/S){Ô ˆ¹-ö±Zì¼ùä9¯áîy¨™²e_ªik®©-û•Çd­'pž!Ô&½ºŽL•¿IW–ˆ*­eº¤ÝGZ f£¬›5BiC?™ÚTˆCDÈñÙîîæú¼¡¡ +ó0èøë0®wŒÎúh<;•B,”ckÃr.˜òεۃQ~TÎLa†4Æ/ˆË…Å‹wÏ…ûÿÔ‡í• ëžqY?©Ô8ý˜»PíP´5.‰´ +hQÍ{1rßðkžÀ²ä.D3hÝæת%ƒoí‹E eÀÌ*`MRíf*Œus[\EšEJ) +‡z +A"`²Ú…kX眾„,žôäЈV^'N³äÉe}šµ^~rÝá/¦€O-T{‘$5æZ—æ=¼/rúÞlØ&1î;¶IûdvJR€:V¾ëæÛ:¤Ú‚T? q`½ªììû"' ŽŽ–²ÞÞ¨lJ^@Ò…ïIòïð~Ðdeî"mö³êÆâ‰~NL]7¦Ý—‰8iÈ÷ú¿:ƒìUú&‹Ñ^¹Q»'#·•‰DeEœÃ@žxÙd·‚Ì™ ‡ì3Ý[CøcPþY0ç`g•£ÞáA”¡wÄàœQ<ק°tÖ÷ì‚Ї¢«â¶ Q¤B‘òúÉOÏPùj‹¨®%ÀÖË/¹À;LMÀGWÑ5yû;Uñ·ì³ÝºWÔŸ¨\i’¡8.íÒ1ÔÖñã·]ë³|™ÎXzRàçÒoÞÀŠî”¼ÄÛ[÷c|´W¡®’6$”5–ÒŠ¾×Z@[bÖ­g=‰^Ì ðm¬¶#îù—Ë2/§x¢×“j6à¯Ê.dÝ9a«T׊٠eÅ{pp´!FK¼ô$Õ²¡‚îRJ2!·Ö5Ž<{‚¡ÿo£§‡Ö…NC’Þ^íq¥æMù°wa/ÐӠᮄ(ÒXÛ±¯€µˆ™×ªï~œÈyü1Üæñ‹3lzÚ:*b /Ðí« …Þ#¯ùâ%ÁÃF1< +s»™tiÉé&w\?^ìC²ó O¸ÁpÆJnÏ¡9¿ÅN– ?³Å?uAúÄSÃY*Øð½u¬má" #«â®Œñ¹¦t8ƒØx¹S`· íã2ywI­\·"¢Œ ’Ç1æè®W9PãDš¹àd"I.€6:cÑuÓN(GO}Õ@úUÑÑøÐÈšÔ“Îø®‚-Å@}™šÅ°ŒO§ÑDMö=]ÛcûªgBÅ-¦™E»Ü ¨P> 3×¢ûÙ’Ý%=1S¦ÊôGɈgx€¤ä°Âº7ue!6_Ó%aÛÆ<™NáÀ6|ÙSZ¹‘ÎTŸõ»°êÁÒ´,²yJøž<¸à¨Ü´šóžêsQÆT^ßµ¤¢Y‚­Ä}/ú†FWMÕ‰°âÈV:Ì#/ w1Ò†›ü3¹{ +ºƒ‹Œ bˆ‚Σ ȵ¹'…ž±vúU€Æ)Ó±ÂûÇ°€A˜ÿ™p©ÈûØ-¹ÁñfJ+oHŒ ÖEÇ¡Ño ;ìÔÜÀ8U+Ìó¯ÐïËú…ןê%9`дk’ÿhžmÔìAîEq[S`Š™•k[3òºøB}O K@CŠ½'É¢JÓ)¥ƒ[ˆj1)æC6úœäݤ¡º¬™»î§ôZÔiù½((+MQYF†A¨±{Èßoì0²(þÀ`”EGÌ¢ \iÂÄë)´ˆ}^Õ&ª®XDÎÙNVºÝÒ8ƒ¨ÇЄ,P^ç–„ hÁô¾ŸUþ§iÖs@k‡Â^7€Ç‘"½ çüfÍJ)ðKQþNçgTÛZlÑL[íÔý½æÖ†m¶4´Rÿe9/ˆ BåÑ÷Pçæ@ƒC龯%µÍ¥Â·ZYpC~ÆÂökê¤@’{Ì@q¨¯ƒk%tI½dÚ,×O=ðm…,Å·û+&¾ gºŠƒ(íá¸ûãÞì›õ¸W+Ú•¶€Éôl€B1/¾6ù å²>gö:&øjEe¢ž4uB±ýàäžÍ¤vB²°á:û™¶…½u> endobj 602 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 603 0 obj<>stream +J/§ì‚f]CKéÓtBÕ >ì°È‚6y̳T’…ÌO ®òº¡©³ÕlBË>q¶ámvÕcr¿œÙÞ^.P°(ÃÏ=¯‚̪{¤r~¨7}¤B8’ÀrÇ_O"—¡èþBPybÖÁ‹1-žË3é-Ø©¡‚óÅpðÎmÓ(¸2ã1ÇzÞywuCKÛ:1ªÐ P_+Óî‹Œ7µ†¤—Òe$%Ús­Í¯ ž}–l§]˜Åïˆ`“ým0èjr!@h£V€™á9Ž¯ÊvÛ52.ípãMŸõ\*ýûšë7™*Ô…ÿ€AŠMœ{C‡‹nþ»Oyd3©úÃ.²ºèÌðÞ=ÉTpŸxû©¾Ó®õkôpgìY‡ý2l!°vš.¦Ò§ÚÞÎ+’^.à¸ë÷ÜšM(à-¿.Ç°’ïð¯Sy<Ó“Ô…©jÃFBc2ê ãæÐj*mâX„¯k®lâÝu뚬ëêg‡ï†gµŠ:ð¬%íî™þž°-~{³Òö—t8^¡Õ_:ÒÏ¿ºÃ¯{§¶V[¬Æ?‚/ƒ¿8)÷6Å1°[Ÿb’æ]Ìut¬˜ fTiõŒ²oê 1^ÀȹÄ3-‡]QÅöþR˜Âžá¯=o8G§êBÃéVnÇKGoŒSH©–­ÊIž#¤±âÊÃ&õaðœÁmº]t=Á3$[àƒÍ·i‚€ut`„6!åY¼Ëªdå]Ö°^U|;ÙTâ4õíªïi0ºP& ›¥ oe úž»¤>h¾õí W5Ž7’o“.5*¥°‚ÅV©&!z' ´î8‹ñ}” È4$äE:%&Z‚xÕ2>É®8FPp Æ¿»ˆëpV=ÔøwVù™„Ó­.Â\l{RT'«i÷GAª3Ò +G ZýŒÂw¡å ;ñK0H²mHq5³­$&i ›™óBQ»E5 dšæoû¡~ë܈;,­k^EkË’ÖCyŸO×Î]m/­áAe ߃çùTu}ûRm}ä.’Iž?ËÜħ÷&`íkwB?Ûøþ0Ôv§?‹žÇÉS”n°KfmØüÔf{ý%a^ªHÈ€¤Š—~©_ü¶Ýp àcpYF u´m7"É ÁR.Z¤™„k. 6ôbrŠ›J’ä$*á!:+It[Â^ V.{k7F{G ¨Ríîb¯”Ý–˜A +jž‹8(p•&h:wg(³Õ(Ý’žè=¯g§ RñI,m»ˆ\nAî,èX©‹qÉ2à<1’Ž ešiÒoupâÈ å¿ÔÊ$œh¿ÐÒQ‹u~ÁªséÉIiŸÂãÈÑ:}Š |eh©…£ßˆ,¤ÏœÊ¥?ë*í0ŽÔÑ8;6Eˆƒ§†ŸTQ`ªW‡ÊlâósN<¥dBhðÑyªãêàÇ mòM-åñoÇ)¾ OŸö| d¬»1ðD¹çúå¦7C7F@5z2Š=,>»Ú§e¬Yì¼æäà·*4u¢2ž8x@!­æDnÒ$èŽþ"a‘©¦ãa?]§5­ ø#Ÿ÷ ¶3ÞŒäéÐ쀜ùEÆG;¶†S5^¤«þGˆ“F"ÎûøÛàAÑrÜ‘;Ó€e×}¶ÂBKëçCÄ(ŽŸçIÎÌIÝxÄ»5OH/êCŠêºÿµüæNr½>çì©_Pö¡I¸Ù_]¿ÝÚ›íª[(Þýu4Ù,Óaf®æÒõ¯©91xân-D[8n4u³Üå cÌcV,ãeRQpÇ(uÉ?UšŽ~† ÃÌ…&H¹¢šÉhîÎ2¡¿4“ïÿÛ,øÆ-¼W°»,ŽëŽüiä’ôšSÐV¦+Z(˜9ÿ“|°n#å˜Ç°pÏp°Òjy øàóÄQ¨lßJðÂq[ÑWF§D´.©5fFð)^A³OLJ{‚•*.í;$|1)§ŽÚMŒÊ—`ÃÝiœsø:aP´±Lõi؆<·+;ªR°¿§±þÀx8C°Ô¨?¢¥jãÖÑVGv÷N®‘89A-F¬IaîÞXo… +CÈâ#:p‹QT—»ˆ’Gx¯ý!«Íë“£–èêCû@V¤vR‚ïÕÁ䘆wkàB}z½¹â[‰ùÄUnV¤¡ó¸Š«•<1ºkÙbb¼`ôŸÏl¬³D€´ÁJ$‘â LBèߎµVcs¡hïÐeëjlÆa* ¿Í‡¾9Ç7"·§gv kÄxÓ˜é ´R¸o a€%Él’¡#§£¯±¦n"P™ŠRÄàÚT3aèœ"£U)ª”qåIÃâZËïÅðP#jÈ/#"°ðWIy¨%´,¥A^ |©cRó…+7Ø„[]x)}h£”-³ÛFêñH ‡(üòÉÕókº°ì6é:+©áç;MÌ…<ÌÉ.X£ É&|æ2HèæZsý¸9oî°GD_­GN™ öIâ©òDb@ Ež: ÷êcÊß‚!º è±ù©œ´{&jð,îó6fåcK5¦TØ[•–ƒÕB¡¬ö°óØÄ ö ¼°òm:ª¦7ä)Õç¼”jd,ÞyöRó5M ’mB2q×X¥¸èÏ¥gÑX;²wÆ ¾>^0º÷SÁÛ½ŒüÁB<ÜI]¼¶-Á,ÄÇ]êÿÀHo¥©è×,ìÁ£ +Õ +oXøêšÅù–ꢯíñïÊmcÃ]çÅǸp.cJ3`”w×&kmÓ FvçrÕ 9zàÉW±¢¥8K{Öc˜1#Ø_ZÅ €UE/,jíoè OB”wñfGò5ÝÒTPcNmQºÕÏhš›üÙü AÈÔø‡ÕÂÖP¹ŒõO'|î(Ò†>Ȩ‡ìò‰×OÃVWíQøhX˜>dkÙuôG>=ZÎÐ~êü*ž3ŸŸŸ›Uü«km² 3Šï§_‘Æv!]áU•›¤åM­õ=bSzÕÅ^=ýR1/»ý$CÇÝíþ~Ë)†¸’wÐÀ§Á +ò8T2ºw «— C`ðºÄ+ÂI†Ç!kuWCØK¸¬ú÷5´bÿóQÀ Èv¦Ñm} ·q–ê¯õú±ú[.ÐýO¤ùM_÷/t unöÌÓË×K‚}IWRWæÿ.`~ü‰‡ù ²WB)¿%öÒ¼Š47r `€M®ö ­ùBNAI‹f½Ëð}É~£ÿC+A°¦¡C̼ï‡*-”×V7%jDjßú6‰ò3?IÚøÅ/±|pIýmjK6H×Y'²Hî§=ÒD9dçÀá"§N”¦³¤Ô`·¤î'å3Úðß¿°LW ¶½ïÒ&“tø”QÉ…:|gü‘“Jêôá¡&î¥Ú½** „nmÇn·´ý=Ì ?ú‰&2|kå/^ô…M*0€m˜¾KU™ù¨Zòí z¨öþÄ|KÆ8ÚEƦ=Äà‰{.Ç›B¶äS1Ÿq0qq§’.\p‹ƒk¶0oÛWV+q¹·GÜOZÈ}ÿ€÷¶-¶»eºÔ› ýrô;h-½é£‰„t«'É`±Idïh·}V @s:z´s + °‘d£FäÖEh+Êœ¦UëÖI*wb0uêÇõoEUQ”+Yàð_<ß“3x ?ÐÏBwÓ<õ3Ígëa§|V–¿(S˜zdYŸåÕ6 +é90âý‚ýñDëÓ±`Û³Úè“6P8»^6`[ZoÏNB½µsßd9.EÖÉÖiU8„ ¦œ5*áµÂ±Ì·ñ;‹'ìä•• +•„»x†~l­¥LBHïñƒÔ¦”ÔW²ÓÁUKTˆ‘7Ìãá¥YBOöo;ÃâUÍ.TÙ¦bt|â1º·—<½d øh¼ÆÇ,ÁFÖÂÉ Òÿê*º>ò¡¡0ãô_¬¿m÷ø=¶Õ[Í|õ³!õÜ#±!?¤R0Ï¢uÏÕ'S%ÚÈùöæ⟥^«\; ô¡/¨q`ó6™†¿)[I»Ù\~PLð—UNú Z»_çñˆö(¼5(Ûýd¢IƒÏ¸ÉЈ'OÇgÐ……ê%êÊ]ükŽRÒ áìñ£¿8¡T•Æ‡¯[¬M¼ªÑj4Sxš*SÛ‚— ÍT’þýK:²\Œ)Îf!,AcO»»ÕÉ‘LmuzÝÊEҢ¬{PõöŽ3ûœ Úð Uþ¨!‰\ûHR,ùËȯhWÅLÁ®1½ÄnÅþ™¨±<Ӟ؊£Q“çÚPaÁðÓ¡µ¯ôCnœÏNSl€}tUPXP´êÜ_õÙOÝ´Š ,8¯Ã9HrO§HR‚µ—é«múVCa\ª³fQy³"“IÖº\wáÿ^ÿkQý7:;ÓxD]·%É3½JlµKúšoøë\rGèÍMEøç—ï½ `‰à Líêøt ªäš}¯Rí‡,‹ÒŸB›†§âó—Š€}`Pvž¸LëårßÒ)ÅPòl¡Œ}R»¢I{AGœg QÝ»ò¿:îé;E$õ6'óÀÐôO5õÛë3äc²±:Œ`u"ÚúÔÃ^-瞨iEc»VÔ½­ÛV zH1Cá/¸-¡+nÀ³1ˆ\«ÄÀŸ£eeL^ ìïžV =&àå–R:»³» 7Kœ3òúyàüË°eÄ,>«˜›™¨(ø!Ce•¥Üu¯î¡*’cÉ)\e½>«À!{*#Æ%zmIã3Pî%_c°×žÍÍ–ò.N*‡u/ÿ\4T=,~ÿ:Äæ•õ™BÒ˜Ø'”2ˆ‰8OÿDû‹òˆæü9¾ÜK O „n´´9¡\»Û|îjç¦Ê¥ÐÜŒþsàýž`Ó¸A¥3ª#}k'ˆžšüý/¤‰xÖá÷‹ˆèþºJ¤ldT™`Rf·¬T‚+âýdeJoýh&–»­±ƒ0˜ç•;A@üÈ6Â&os#7aã°+ð’hÌê²™Åuܶ]’¥R[eÐõBþ&*jZx0ó(jÊWÿ…ɦÆÕîfSl¸‰å“["õã¹s:ÑŒuH‡—8&¯²øÂݽ[A”ü‚©ä™Úé^Ð×V– ܯs~ˆ´(U€vú‡®È­ÆxPóê8|˜ôBõI½æwŠyšW‚¢14³ìíëªE€Ï2æ¥L³ŒÜF¬VËÆÎfo…m§³ø@v)å{ë €6Ðá$Í•§àQ "ðm +ÆåG_PȈ%UÿǪáóL¡7(’²¿þi½Ï\sÕÚ9ùLŒ^.ì©ó¥Y7`ŒÿBÔ¥Ýéâ¥WÂŒëS ˜=A$/gAþ'¸ÙKøSIn¬¼L ­ Òoæ +°#³òºC^Óa­x"Á›ì~¿SÝ÷ûÆ—±è<¾#Í´—@‚ c^}.öIQÂj«§ù“œÔÅhõbèéÔhñ{/13ÅçeS© §,òÕ™JuåYOžî/ó"ã:o¶/Κ;Ÿ…TÚ²xJ_-TfT¸W®vÕ}â­î7ßX’%öb ocœêêß×K‘õ[Ngç=pi^¬Jéø§GnQ&ËÃfÓ4ÒÒi—ÛÿsZñ>Õ±ÿ¿F÷,ÅsÚý.ŽFÿÁ°R-;i>Î4â=_ªjOfźåÈoǺ͙©ûD›<î"×Ý·¼3sÓÈwÔßßæ°i"0µWJ´PúɩΑUêˆå€Ç?}2ªD¸^{2N`§O㟺Þz]ÜÒ¿S(šU¿¥ï¢iÌ.ß²ÙC” +endstream endobj 604 0 obj<> endobj 605 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 606 0 obj<>stream +&"vßxgEâN,øI^ùΑɬÌ~‹²?*_™uòÏÐQyi†–¦PÊÇœ|ú«#÷KkÕ¦ÚõoÖnoÃkã[¶ÑåR=(‘g7r$ù§êssÑ/ÀˆÚÓv.tѤ·‡gU¾ØTô/.¯šó.*²v°\¡Ñ^>«N÷ˆúUkÈ%‹R(ZÕÝTñeÛ·˜ÂÅŒ5{QÁa†ˆ_Âmoòð¾Â§ –í¦¾Ì¡…Þ—WÔŸ¿þ>$¾À¯ÕmÜðŒÙtjq`rŠè(ÇÕs÷ïA>&’ã¶hÙ¡:iˆÀSy?¼Ÿðè ›»2­À¨EŠR›Ðnü{°´“Pí{TÐÀcoŒ¤UN8ó÷ˆwˆ]„Ddá¤de¯v÷¾™ s µ@vglU‹lÍ0lÙø²j£ŽVˆ\Ê—êßÔúÉw4gÁ92€~ØjcÅlÖ î«°wª¹Nç«X‚É샲/%ídº¶îôŸ—úèð,eý¤#•¥ Ý[ݹ 4ºØeE8vjMQ0ÿÌÔ>tµHÅ kˆÅ×;q/Ò˜€9WfÅ×NqC`3Oë…2¡tÝ$Á[Çæl“Ö]àZÿ˜XÍgMåQ(-ÃÁ!å($ƒúâÇJÁ¹d®JµWq3òï—#ºžÄª:NÓS ßm3žvV½è£Fv©Ð‡ °'ÏÇ^0[˜!f_éÑfé^oÑÊSÄ!Me°Ú¦‡‰|¾Iˆ7†/< §_q†„Ìöž,Mâfqq?fö{„K[N Z¼—ÀVD¢Öf×Û¾XէàRÙ$òQ÷:±ªduýÍÇ̱VQʪ}þ¦PÄ}ÙØì oºè:ŧý(‰v,{CÝì{xEP¿Þ¸—ÍDòF¹ÁD€®GÝ…Àê–(WaÛ»rnèÇOuEÐÈï>RY1üÀ‡½íìàýWÈý\~¯Á»¥XÞpä:$º‹Ê°îÛ†W§N~Õ亂džayoçAPEaÑÇéWû×ôp™M1¼p”6[嘷3Påíä–€‹˜C‘Mg…ÿè£è¼EXrŧ}º¤*áAK£VÊa'Óñ…{秹ÙÒvkr½«,7H¾4Æ ÿgùÂsçÌ úŠõ78ðk“ÛÖí‰wÀ¾w,ÉÀŒ¼ÊÃMâ’³ƒz¢Iÿüòïà=‰­ÞÃGž .ÙØ Ž6ܶ4e§9WJü^‘*…°ó»Ç2ÎÌŽñTˆw”Í„é—J_ÏÕ«¡5Ga_ߥ­Ó}È*ÁCýúÚ žáYLvX\ÿÒÒóf +q¡Ïý˜u3!°=ðÄmA¶Ù™’ §lîÄ&ùýµÏ}(²7*€‚â´Ÿ"à V;=ýwC¼‚û†€j. ƤÌú)ð„k¼¾êDm“7¢¯GK°K6õD\ ùž7˜?™>fÒßS®ËhYûàïV/‹æÊpƒ)Ÿzrú©x"ÜWpÓ¦9ç©Æ¢Ví݆¤ÞX}Ä ~¤*òª@^,³õEÔ{j3 )¶5à²ÙK;[=¤—æ9D7‹ Î3Ó`5fÆ©¢)t0¾D/”) ,ì‰ç.“)ÃÀ(wÈ%Þ9Ég–8øØbi°àÜwôÌY1åÛÎ.P2u¢Hq ɽ%Xð&ü¦a;ââÎfQ‹¢Ïµ[+‰‚4ÆÄ{C†šXš”Ù¦ª@a3±ƒGŠëØbº€²F_`RôzÛ¿Eøú 6”Ì%YÍÅ6M PC¼Ÿã¥}êϳ/(ƒ?òÓÒ2Mõo!’oåu1j¾K¿ÎGý¹Ñ©(‚&Êÿ—j±\Ý·ÐB÷O_.§Põµ÷ï »CòB8éF´ü‘9­žúià Ÿ¥>¦=}KUG9Öh”s„KÂhPÛÉ—,šdWúRMgy8i{H#ÀKc„‘·ßÙbýÅ¥|©–7q/©2NF{ã»&ß”I–øWk0t‘¾¨¤£˜™þl +@“UV‚••|î›J§ƒrêä„ú©\¤è쮦‚ÎÈž={ù‚:“v2ÖõÖûD†EZ‚Ê'vêâï»z™ªñ)Õ¾ 9¬æ¨_î‚—1šç©Å™y*Ef|µ²ªà6•Œ.n(Éi·kpDJ5kÌ8gJ KÆ•«èÂò;²6wv€x3N~±©¿ ŒDzµ #(›œ½ðŽû°Žó”ü°ð¹‹ìdpBD”³ýš¦žò亴ñ‚¶ãëE.0@Æqçiê°Àóú‘‡pB½B°>0rºZ:€þÊn ÈáG.ñ*¨àåïY˜ÖŠÂ‚OçSûpþ¥ôØwÎÑ>”£ì™¤½Ý‹Åz£J’1€ëôr[“Æg'j#ÉtY'Ú’b.sˆAkˆŠ&ÞóÂ+Ye/µU$µ¡´ÂöQ{Îæoe½¹–á,ʨˆL|¨Ô( òiÓõŸP ’AóíÈ¢ó>—ôxZúw5³¯Ó׳²R|&PëS3ï'ÆÁÚÖZI T-ÛƒMÀñ¤ïŸM Þ…NoË •®ÎF¡]{0˜æ³Ö%ì^ê'§$?г_€V[ÊRmÌÞŠàu¦î™úMû“"H\L'yhgß…{‡˜>GôůqÖ™ÇùYùä¡:äÿ¡›R3Çj«èŒö”"ç¯Ô'ª +ëeîܧ…M3®Z5‚òülô…ü™B•§Úz"§¬®ötÂ;b(H$ TӱαŒ°µe|ͧ(ßDá¾NÁ”Y:¹zJË• º•-Ô_4±wQˆ8IòÁ„Ô WX¹kç³Ûýck¬Üŵ›h|%É[(^å?è©Yõ&¹ÁpqÛQ<ê‡. ~þÞÎy[Ä:ÈÖTI >Þá 1ç jëåÈûÍ(ʻʞõHAê‹7„¥•;îeRXEYßokúËðzE£_ASi°W§œ}wÛ™æ’ö¶õVU—\ù õtÚ®t1„9š¶¿ÓYŽ¢eèoáA¿V–KF³á¡ïЊ^úý5ÂÑyRЉû:¬ñ,ÀUˆEO%­ÌîAb牗|t2ÁÑ\,D /zÒOâìzjþU!7ٕ真¨§ªiŒJpǀܵ{"R‘üÃɵÔ×? f­*\#ñÀºNž©]×eùÑ«Jþ³é<ÁA™Ó™'º®§úw¼ø#%$¹&‰ª1'ºtyOǸm?§PTCµcV’{ƒ­U–ºƒÜN|ÑÆɹpl¹+ðGÏÖÔ$¾bÆšÑ6ƒ~-ßòYlKWÌ D‹´MBíÂF±";¢%¹] Tg½ÚåýÄ7·¹¤”xú<¯¾òQ!†ò$£<îE)xVÞÔ/‘Â<劲? ÆRn.b· àk ÖµBˆk’,ªÞ !JTö«P¨ ÿyÖQ ã÷W#vУpœabÕÑk¾÷(*VBW?©»Õ‡îïô¬^âæ¬F|ƒ>è–jDxHì/ô¹®Ñ¹u)5ËÆ9øSCÛ_ïøyø29ÉíÊôü쩶³f>ý“ÔîËu ôY¶YÒ ïcÏÔ›Ö¬ïía5¬nt|(V0µÚYÞR)ÜC‡_S˹¼ä—Mà±­ ªH”¸5µ« —Â!¤ºG î¦ §m*ººSˆÿSÍ($ˆ0¯? ¾šu24ÀºëJ†÷æ¶)J6’=OøuªÝØL'ßbÝK‰3Ú¯òǘ´ÝïÅÇäýüÍÉ0b$ãƒM(´ p²óQûÉO\X`çfé +WPÙªC¸ã4… wÏû8Tl*kéó[ÑÔa±$²¿¿ÒÒÊáô<%ož1CŽ@Üϱ÷\ÄíóÃÁòžz,ç#h–DÎe7’ÀW¾(É2Å=p¸ºm?ÎÏþ³9¶î¤×ûD|þ˜½?!V&4ÔV+ýå h¼ŠýÞ&I×GGGm È °ùÖÂ(º”S¡ÏLëöëê½oÓ*»ôLè'ª¼‰U‡ÇÀþäØ} 'Ðhÿ¨_ 1hoè1aÃÓœˆP ±`K¨)ÈßIj­¢À°¦v̤'žk×âòÜ`èý#Vð[”Wõ‡"™žd•ú/Œ©n[’«ïíº–e]/'Ï° +äØ®yn !]ÔW¥?ð»™~’QòêE¥¤ur£3©~‹ÀŠ-ÈYì4HÍžŽ]mW9u.L€CË®@…¯¯“ì±W”%f‘\ÇÊÝ ò¼Ü5øR%ILêð> c±/XèŸþ†¬wJ㨩CÓ':0_eí`üÒ¦÷¤üל´¸MT ¿RÌ.&AÜ$Æc2Bu* ÉèI: …ôxîiù±úuQg㰚ǠÐ`»9„<„<ÐXñ4ùGL:©(óµÒxŽ¥«‹©íÅÓñP…í“É÷‡7nL³}6×zW-úÅQ/g^˜_–ûèxé·ô 9ØpZ$ÚßC¥À©6|š…öÕNÒ¾/¥A²‘R힆óúDƒN?%°\å[ |:ú§VÅ¥Nöø¼: U“ç"Ð\䪧ìIOv+ÄãŒ\ +Á ð¶£^ñ’y¦ÁvŸyXÈØ¡|f‰²Êm¤é×¾1{ Ð¹A§ùèy$HP›b|"Êʳ !ãð v¤¶æ÷¼u 4à–÷$ùž>º4Ç/Òé²û±ì»ºãëwí4ˆêÅo$fªî–¸[`p"`d®øèÖàXÃþëSKþ0µ%e<‰!I\УŒä–¸Žz­wÎw·¾ŽKodÏ·1aR¢#þV¤îÃy‰H°]ª½\t;Û1ˆÇÙN®7©`,+¿—¬6Vp~Xëïš;ÌЪVÀè«Å~+ýèd‹ïd9[A¶L9! 5Un¨°Õæ“øäñü„ü—uÓëã8s%FÅž+&ƒï^±9¡À:´ùrö5)å\k2~CM¹ë Þ&\>,ëìƒv~ÖD§,Z&8ëùå=; e`Ãî>ÉPŠx¦s +{åF‘¥ªaîãÖ(Ùi:d »œMÓßH/ÐäÞ[¡ë†‹åv¯ïû˜c™ªu!Dr…Øàãfóèaç~sÊA®HmÉÜ +BÊ^lŠÜAÁÃòEÝ ®ñ¦a/¤6 Dp'®JÇ|iätHÛÓ¡™†,*Dzœ+úkª`±ÿ·gZ÷”ÉpÊê‹{&UÆÉsŒÑxlŸôŠh'÷j|æ†ä>ØÅ'²1þ~Úá N¹HãVµà¬Y‚ëÆ ¬¨ÿ +žËé›ë±uSU¨›…±_ÅU »«úKP]nÓF žû.¬ðJ.eÕ®*Ðן¹½>4ým/¿H1ÓÀKTíE>mçÖ—nÁb¬C©QŽ¬³‡Dé´YÖÛÍË +U¨ïñ´ÍCŽü?•h»Jz}Žû8ö$¶x®š^b‹{n›}’H×ùv®¦“Æ#;Í}ê\J%œŒ|;òè£h¾³ ÛX"6›Å&õv†²R°» +endstream endobj 607 0 obj<> endobj 608 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 609 0 obj<>stream +7½qfV«-®aaœÉ[Xê3¤O–ÐUáVã}ƒFÍÃâßдŠÛÐŽN•ý8Ui‘vï*-7ÑÚî૵´Áõ¦ò³Š$¹36°½"í¯¸ñøö¯ðÇšZãÖH½Åò€#Ññöê@ôcqãÛYàH*ýËÈ@ãOýôl?•Ömúå ÿüÓµ72n»€q[Ëû²a½ûýOw´” `IaV@A‡öWå{‡kÚõ-z+ïþ´”g2~ôîÜSÊÅÙèá£]äKÙòyö°v€TGn-CЊûí’æÆõ4qíP¬Ç îÿYQ¤ÐP¿ &|ô—-?>eìÿÂô‘¦èW²°äBþ]jË.H·± +çhp©ÇvDû§Î_#š“Òj•I¸B/µí/ªà-³>ÚÉ6¦‹Ìq+÷¡îu®Qm¡€@Çp~ŤqÉXOd+}üXâÆ8DÄŸd x†±×ñ˜â»•‹­LÂn¿ô¼/‘8Áñõí^W/ã‹–…“=¬á‡:¾$L¥ªR•ìZ µåÉ9T©tÒbç—cŠ +-ˆâŹ>Ñj…ÖúS‡>üLƒs˜­? %ÍæÇK2]d@…nN…?"Æôã¥o·Uš©fį·À[Ïú ’Ö"ÂgÈžW~«ë¯¹‡V*[šúhߢêʯB_QÕ¯â*¤¸r_Üi4´»ê—gkß@Ü®æ#„‚}·W +Aez«º¿@ÇöÏâ!ÊDµ‡F^õP$™_ %0è—Cøf §×(;åìü_Sc›V+…„ŒÞsL5©ˆ7€KŽ׫ý,»ÙÄ¡ÞUÉJLW{×. ݤ©¹ÈjÂ%dÏe0«˜•Jû›üeŒ]žšèÈ3¹y }%Õõ„tx}¢Ò:¼ÜAþymÜ΄E‡¸Jƒ÷Iº;Ñ9 o—D=‡Âͤœ’Ð’Æœ7šz¯ÄáZ!S‚'½V<ªU¿®ãðBÓü9ÖÙ½˜ö¤Oâ"»¢s…,@õÖEþ -^pt´5­Aá¨ò©ïà\~v+LÆ#þ$&Ïæ„zÈ¡ÍQü¾˜ÜU,Î1‡p ê¬Ò¢]ë«2ä´þ1tWOÏÂËf¡À‰ Jφ ü~)¹ÈA÷úôý~Nò… Ð2tj´`·¯…FÈ</A Šp'p˱•|’Èøtœ*"|A!›] pú¾ËÀWˆjµùÞ)NðýŒ{]fQÿb±n]p" +d$ï›í^f3|Çoú«dS’óÈ|¤Nãçûÿ—жʛÉتö”øîWoØA˜ñÄý¶ Œi-„«IuÈt[ʽð%K*¼¨ÚÒçãˆ:bŠD—”iR¾{Z‰–.‹á°?µ»ËÅždÛÎÏúåÏç­é]ÿÊ +õW8ºî÷âïÌÙ¦}ê[<ýа‹¡ÌØ®oÀA9õÌ-g&šÏe“PîýÕnΗæ¡U²šÜº'~7õ­y:íã¿î´ö€*i,ºâmWD9JQ³¡Õ?{¸×µ­ÜQïS+7UW5ŸN¯Ö©êŒZ ¨Hz)õzRI¬LÐ&£zÃ@¢pÂöl9ÄYЯøaTO݉˜×ÀZÎÌX}S•u‰±w +Üýr¶™ 0PTÉžBÔ0´µ•FÅÜQ6e–ñ¤muD“Ô=RJU7ØgÔɆ“®Èdù5Žñ¹0½¥ƒÁ+d¾´Ö¶(lk#pÚIWZ–…G3Ï+Wþ­øq¬i)Ç;™¹¦tA£•y€ ãÜŽUÛÒ —‹ygìQohíôw¶ž}|àŽ¯>mS† 0kMÐP N(ÀÑõhOãµT ºuÍLÍå9å«‚ÊT}:üMé*Öh¡Ì¿8P2+8#â `ÿFä¯ykRña?’©‘{¨¶Tý§˜Zsà­Æà7Ì%ê„ ]§ëÝJ‘ŽÄ¥°¨×sºÆaN'þjÚôÅÜØÈžCb—_›ÒW4²>‹>A!$κòØ. R÷{@0²O=fü’.(æÜ« WJpˆHtRbàÂàhB!mvÒRäÞhËe—*õ[q!ínAm½˜ÔâϲM<ÿÿxþ‚íÒQò\5©“ŸÒGadxDrp½2}øp7õƒ§1ÂySQQ›™ðºÏµïp«sˆPõxÆŒ‘‘ÁÂ+îkÀr+)ÒZ㜩qÅαþ³¤œ¦yÿiåÍm;ühä$wBx¡Vy«Ö¡õüÇßöÖXÁv»û[½‹ö÷˜Ñi¼€=©ððº¬ÇæR®… Å8A8Ý‘­`õéDãŸȳ¶ŒŽy¿gºo@Z?«Ž©µM¯‹bˆòï×V £L•q;m5d“œƒÚŠŸÄ¹ÿ£?à™Ì\ªÄRdO¯®a!ÁZéSg¿?••*D9 D‰1"Ÿ4Ö3j6{§®;BðH±{楃J‰ñ`sÛ¦­ÍÖn%³Œ£n­º"›÷„&³ „‰C€Ïù­_F|.ME?“v! a߃ Ž.”û“‹ïI'MÕûÉüæ‡eˆý.zl6 ¿WO £QD¢ý5c÷²wej!‡_r@ëåuiô‡1Êÿ(”»=/Rv^IÀ¼Ì%úp‘Tdb½\ü2«Qu*éL–²xνC9Ïz!nÿUf«yéŠm­ù¢Ç6Žúa¡üluN4þQ˜bSŒÔÎ6sqÜ’ße~ª‰Ø{çÌ©]æ\v'˜êÒ±­ú·ä{Ä}8Ü5æÑ´´¢ªÔÞÉf›3!Áªµjy8ÖÝÒ¡jö܆Ôl2Æ"{âîqJ…\ñÃΚLåÖ¼¥ÚW£=}î}…x^dðvQÁmø.©¾ Cãe;ÙŒª +XW=¾"4«[4/}*O¸õ –¾ËèáKÚµ?Y‹»?”d-DÿòB9ñÔœ›eji?p ‰³JŒ!¬Í™+E!™e“6¡Ç0 j”<ÁŠgï Fƒè"îwX£j8$¢¨êº|£·Â6ÎçÅÉ⽩·–µÖJ¶2¥·ªço æ%´‚Ä@ZEö™*‡EÛ×/³§¸Uâ QÀ–趆Ò7€îÓžø…钼˦r¸r¬ñÌ?–ìåµÉX„>V§É”=oªI¯ÜþaÉÇÀöíäK:·ÂÍùÀØ]0ìG±ðÙœ,#í6¾9Ôz /žR©f•V’¨ºQ•øØ^ž “³Žé¾^Þ u[,I]Íkyít†TnYmNôѳÕ}÷hÈìä.¶ýÞ¹r»Ç¦ÑSCH]1„:ñ@Ž ¾´–D'8èÊ ´øÿ¾ß™AŸ,¹ÉÙ¦ž©~0v8»ÖH9ûƒË0Ù?W,ÈŠGLÃìüJŸµÏ°XEEãÒ“ñ³’„³\™Küœ–r"r°šœ20®ýªÝˆ’eŒÝÂ胩îb±Ú©L|Y…ô8ÌHD2ÜÄpòlÓüf$™„”­>7ƉìV­D·:î2ÌßA!Ztk‡µ—.Á¸˜^@ð±. n[}È3g‰•ÛdK^(3^¹ºÍfK6´ÛóŠËdþ@#‰w¢qçÃ×gNÇTL{ð*b»‹Js‘2Á;²Ë‹a1’óŠ»d°ŸkáñȆ;mø€yí…‘qÄF±Ö®1þ`ÕþÂaa5ÅãÌÖ¡~Aî“œp”]8¼™-d$¬J¥ôf ¶ˆ]Äs{&7ã¸ð¸d֌ӡøs½9ppd$YÄEJpÌù¬É?`Žw„™ÇÇBC[€¹ÏG’•«gî%gBËӦɅT!ÑÕñþ*:¼Â¥Ð#ªc×°£ñ»)bð3ýNìQ«ÒpæxRªØR +‘“¡ µ€CylJ +¶ +T‘q(åuÑáE©Ç¿ë¨¸ëýj>Ç9\²ŠU; |wÇÍTGÎì"–ÝXâ h½ósð´ùçKR5'08+†Eø^FÜ–æ”Må v€I®eÚKarš¼fEèÚ½t…ÄÙZœìä}Ÿ8Ç“L: +æX,KR묥\ æE á²qŸ”™_Q­¤Ú% Å_Š´—Œ–ËÍ,J}T0»Š HZæd`ïBa@€XÖjà6E”Ï‹ó°í4=R7=¦)){ç×%š°|ô눓NµÄP°rÀ}aA{¦4Üf•†D¬T_*t›”g"5"§ŠÜ4ª–ÿ$ÃØÓOÿŒl>ɼïçï1¹É%‘VU"“§PÑS&ÿ †éí.ÛJyi“z} +ÎÄ?½-ø£{¾Ë¦ª‘W D;Àó!¨úääój>2¤4Á{¦A¥×‘2¤q­Š«†ärlË׈­?`œ8+ÔÓ©Ê&¿fs^Í”ò> endobj 611 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 612 0 obj<>stream + ò혗]dœXqôÍ‹é5gµï2xZ†‚GK.g‹Š± %4ƒ&ªzååÿ:Õ[ä”P”“»>íøW5Þ•„0¶‚ ø[ÜKÂŽÑJÊu˜-‘\þÏ/Í°àÍ ùp÷'-ù–$6ÓŸ +L%8L¹·_¿\€k#g/5¡†Iëm{8¯q*<ˆeGƒ2)6Rv ’Ù “GMçïY(!9>zZ÷%â׉0 ó¨’dÊÜ뤒ë„Ó½òà¥u{ª3ÿÒ*±H+ˆlÆy JÀãtS/–¦u㑃MÀ®â³´ÈGéü˜QãHG–ìþXèªÒ$*ÄÕ‘í <.?ðüÁ¯¯a½ËàE#l7ÛS *¾õ¦ÌÖ¥+ù"„íõ­=ÙÉ„¿ÇŠÈâ-Õ_fì Ç + Þ°›Óƒjƒ·y¥ ad4õï”Bþ#ùÃŒº Ž¨ÞNZˆf¤¦wº<špw÷uÑÁÒEç—ݦÙô¶Úoè¼L` +„R,ⱨR ¬öÉÏG}G¯êè­›íJ(vn®pj?“ü<”#//…ÓO¶bû\d.°7#Ñ<ðjÜþs/Ölî¦Û¥êWɼ{¿§ß^ =$­õº ì:wØÁ,š…D<УðqL¦†œ%”×x…½)š2Š;z‡z3,î§BC,¤cšºnflm±„tž·Õ!J­kg`{,Ö žòŽ©mpBètßÙ$Úü›ikÒ« ÂVÛ¥ +ARÙæà74dL;ÕïG6B;z\ÎþRÇ_õÄ€‹æÙDIMÃ:7{å$µ-j€ýç±Nõ´ÎÏŸ† =A‚]qTùø™Õî掦 º8•¸ÖÎÂÜ$äw0ñîþî“g™}}>ŽÄleŠú‡lñðd®%zönEGµ5éƒ/¢S`n-lÿø‡þŸtü *xâ§"Y&ŒCžGæu&õl¥ò” éÝ”\Œ¢–1:\ÿ¹<(sÂ\¯« ÙXÕAlsø^ÛcKøCèÔ±ô4ιå¦Ú›h…î)˜¼OòwN¨¶ê¥›>7òµœúÁnO.•›/Oæ –[÷/ù·¨dü¨5šQ|ÕÔ­±o*u;pP wJÕŠûÂ%*ìÙßî°QpwÕo©ÛMë@6p-4é‚œå?Í´“OuÝ 2È]›†½@²}ˆ’ý¥­W>ó%Ü‘ÖÖñý`®•òÉž$c±Äo>v‚V$bß ™ø.V‡G`Ö碱ºIÈžJˆZ±}“BÈ«§k±‚oUrÁ’J£hp‰ç—©$;^ãn‡¤AŸ*Ô>#Æ3r–2tÒ»çt,ÏMØÂ|–^nú>Xe\Š”/'ÈäQ á4ù‰ßR{ åPWÚ )]s3„>8_&5*²<“e¹_MHz¥~ù&vã­Â¼ÃžGFì¢û¥Mk•`)žƒ¹âõB¨yvÚ)U†j´<Ðõ5ð„쟤Eø‘M¤û*¢­/ÜÔ¯ PüÕÁìoS‡ºõ|¶Cïý6•¾ãLúÎè«fࣵ«@r÷Tü›§ÎÙÈ ¸`aýVºðv‡ +/'°¶ÊO …áòðòòó?3î–Éku+]¶”[ï¬ØÐ¥h«÷,2Z²ÌꄯˆdÛÆ A¤;M&x׋Óî%ÜħmnGŽNR÷’ù±s+/vÿÜè÷eÆ´/¢Ì˜KJ –åuŒ–üÃQ0—/rÏÒD³¹äûtY@ßâ¹a ý 宇 ¨yz…Û¸]¦÷ÖDú 7šó ›á"îRP*»u'HµY8 m,QIÇ)¡ÿÁ:Ý=2SÕÎçò3Ço7ÌçóÚm–:hþø:Û ÖþW/ž¼ÖÖ ¤—ËA¿4þÌÄ~’é"¨^ö÷‹"ëèV% ­*ô.ûÕo-RêáÓúhì–ŽŒ‹=]—!„©âž0C^,¿‹GæqrÙÓ-L1>a„ý+ qo®íAq*çaéjö‹ ZªCi9…³Õƒ³;2ÍTVͼN‚šºçvƒŒ)/u»,õFXJM\v’/åU+ËúòÞžgÙ +Qµyÿµ¶!Ô–×ò…R¶,¹h¯3¯Îú'äX‘ÓŸžÕLJ&Tö¢CÓ£zúbq³ £ž›³¤!¦=Çâè +…7{sáNmÈ÷THY]³“°SÚu¶¶» ñð'\„7¯pWvӈ߽W¸JCÉŽýŠÃÝ[®ã/¨ãL¦–çŠÞÐïCTE1Þ¥‰3ðÊ HŠÿT¡/Û’CЂr(à|ÆÿT69Ð$Ól÷8s>{µùz`õœ†ù›z“ôce\•ì7jíq¨ 2Ž ŽµF‰e¤C[r1ZV?†‹é“èB¸t¤¹¼¼r†ø–$°GÎ'SqÂѰ QÆ,Ðcf&2{ï’Ï8’ì™âbc–»AÒ¦–ÑǘtIÓõ‹ ì¾ôjškžßˆÛ} éÈy IùÑÓ™¾°K FOØåU4êuz[ +*Ôå„ÔˆÑH<¾·Š™²æt@¢Ê¸Ö(ô ¾ ~ñ:¨ëWÄž(† «ÔÆq#i:߬P1Qå¦! 0iÇ\Ÿ¡¶šc«®&†ìV"RèЖD?å¿”ö•Ê<°AabF¾áúL }áyöF”^Ó> ÉØ(×ÅžÑM~(Òµ¦²¹Ì”$ú IÝá˜-®šψ +³B/jò·oX¶¸ø8Mƒ0eÅ1ë‡Q½¿%.º)ÌEÞgJµ€+’¶G9½­œÁÙŽ §ÔÖï<×’ú.ü2 î.¿ú-ñ™ ~À&˜ê*ZÃxÿÿ)S¢Bß(Ýê¶l¨µœ#2Öõº¹yfÉؾŽZè'sxÚU‡TuDHžµ0úm¿§–!—Óác›¸ãqÛÔÌÙœiê' +C¶VZ~ˆ¾ùFÉDÇ4­\½:$;N¼¥žì10ÂÙϬ==ßÃÖššJ×ä&ÿš½î€-b®jZqšïÄ:z‹Ññ$>J²º åƒ&¸QŠ–yÌÕþ{„ 6ã+DÜh€9J)ÈãÏaɆ$Ow²öÀNûfŠ—uHÁ= í^=¨[”Õ‰Ž…ŸµÍ\Ìþ~†S㞌IbUì§a:°–ˆé)ÕÁÆPôYAgRäñDý˜J49oeLäw.ßtS9²¼›Èó¡à`¨+8q‡ëcAŒBŠãž»„ö«]Éwíx^¥ÃZ[ùÎÿ¿k·÷(dáõ3ÐïW Þ ·=RÎ2dÂs&†ˆw-ý€@–Û€ªðòØn•ó*šEà—Š L?ÍgK#¶ÂBž%Ïðd¸dJgØržN®¾’»(¼3é²ýq’$¯ã¬QøiŸìZ1ÇR“íººq\]¿ÿZÎÕѦv%¢fý1¿ ×übè•Š´£ +uŠ!æ+ù*øˆ| „ùO°|øÂàГÎÞé8ŸÃ 7ÚáHÛ™à;Iç'±?·¤ÃA †fßï2?]ˆ QÓzӃܹ‡‹©ð²Q8N!è:ol0ÜØøQÛÍMÏÙH(°@oì×à¯)gÄƪ!‚ÐÎÈÃf(§çÑÿø¦ÇÀ练U¬åµvÍ9hƒhcÉ[˜­b/œZÉqÕdÓÈÛ­˜t¡01+a§Í¦<û¢9ZC&œ—Íïb6Ÿ&ÍJ˜ÿ zBË t;ÙÊ_ö·¤|ZA—ï~ì¬!"1+H$4—±|‚<‘Fyý‰èá“l ôï4>…«+{/; Ý'vF„§U” YÑGž†< gaP£UÁ6C¬k(ˆë8‘¾¯ÂÉ– +³æö÷(^,P±àÈ,ŸiEÝ4L·?UA§‚³:.{2}oª§W̉ŠÐRÞ‘.b:8OHBÁø!ÏzS¡—.7WŽ¥lü‰0¦H>+—ŽTæúgžuÝŸ+ëu•ª®bÄmÇ.†Î¾¯qæZà9¹ëĪÁà¶#‚ø¹VBæÄIV#I8ñ\ÑÝUùáÁõCûÅþ!Á²Ú‹Üƒs…X¬ZA +Iã&Ø6†“Š 2mÒ‚ÿäd5‚ŸGƒ¾nnÂÃæ$+ð9ÙV£+`$Q2ðöpß{^‡ë Mæ;ãöØjŸ$4Ïvщól¶±ÅAN±‚6ÀÁ­Žj¹eŽÛ'ƒC‘ÇG×R"¯ÅãˆÅB¤ ȼ{Cßâ¢ÍÂ{ÌÛ zü–G`–ûMÓ“µ„¹:<ð;» P×kn®†š€kæ,Ï43ÈnãÎ(´üâ8^hd&ï"׃À¬ÞéÄ´ô9Ö÷UÄLNȆ¸öÁ&µŸ×ô°´ºêä„©A+/7Šþ +½‚2ü¢!6j%Fò‘Ä Xå~?—ÖòlÂv @ЛîÚ¢ë œPˆt9@2Ë·pèh1¹m‰k œÊ&v6–cƒO©Si‚‚Î?S´þGÊΪûåI2N–v6íKøò<] +·tçwÂ+*­G}XÑm¬d-ŠDkRêArÝcE…ŒN§ïERn±Í|žéÁÓlŽ\uºÙ=b)Í>ë°kLÆh=X‰§}».k£ÍÛ¾vE?ðÖx(_µÆ 2½@(ç¨.¯º1A@eíµ£5RQp ¬¿•¨§ß¬ä´¿·Ë\ ª~HE6[Øv)&µÍÁ(‹žáb²Ã‡Ò»¼n¼RËšè‚SWw3–óѦž&Ò™]o/…¥Á.)z'ðNž*oKÿqèË÷Hcö28³K]WЫsÞãxË>Iù¡ô—/4zÆNY;JÄ yÚV( ïi/eüÝä KþWu#P©ãwÌ÷œ=OÇw +½¶œœ™é˜t…×<Œï”é¿Ž{ÍÎ$9ÌUUxу=¦ ŽÉfí%Oñaè”Þu +endstream endobj 613 0 obj<> endobj 614 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 615 0 obj<>stream +œ;Æý¬uFÊYKx JÄÛ;`K-@åºr,a~ðÌ÷Û\Ø, ›_¼WOÀX›‹}¶Îs‚'Ô‰»uôbm‹Q¹*Á{Åzé+H6\¤]7mS‹Óp z¯oh›ñóÓ°¼!6ÈNn™É˜¡[Fì|èe5Àü=們ƒÖVÞ­´T5ÕV5T4¢[1ÑÀæ ò‚ÖlH*±.†Ÿ07³žÚ?vÔÊ4c¼Š+„>X‚”¹ßÓ«çgêb´0£Z¿¥%¬¸ÕÌc4ù¶Ï¹‚›Ûcó[‡¢P¼/¹ {³Þ i×ÿD$+ÈÝì-äEwò‘ßÑà/þ‡°o{¬ù,Gž + ñ%šž¹Žß̈m„(WÁž£cìÞQ=…a² !0Æ>x²`zÕ)ý3¶Zõñ0K’ð”P/›¹ éR1}±B¶„— eAµé¢(ÀÜ6us* –Fã°šc +8[ŒK.ÆÊ8R@±ÃMƒ”â¨xƒv‡«nÿžó0èþ¥T–:îf˜°Z8Inî·Uÿ¯ÐñíV²M¯Æ›l@øâO ‘14äüwSd¥¶æ¦ ö‡"·È—ñ&W°¹TAìHXè8.§(E \•‡á»~[šX±þÄôó¬3öÍÔH‘==ä¹–šæ÷À½ž(R¼’`®@Úw%á*K¥E fð\(h±—¹" ªÔ ÅÅþËowá} ¢gÀ&Á€§)[˜×“!‹dÚ }BnVÞŸïdN)96XÛ1Á‚eI­«3g9©í¾]׊„§?Ò¦yâ±ÿAå+ÑRl†çÙ˜öeaë{r´hJæ½w.—cÓöÂ0Eš€Š&ÓÒͬãLÒtÑpàK¿a4’Æa8JVQ¾ ÃÎ¥ðÌ?Ÿug4½X|Y=ªN »Ï–|ŸBâ³'¤.ù#¯võú2Fh–Ö£¸0aÃ6c(¸÷"w¸R$ΙÂ`’د;*5ÿ)¥€op}Î;¶¬DÏ[¨ Õ[àÑÅ®E¼_==n2`íQ6d6£¢\S½±í0­îÞµþòŒ–n™7Ä”ü‘8+þAË'dPŽ§ÆöŽª¨I†›^ ÒvsjñѲùÐe\òb”XÙŠ~’‘ö<Îi˜¾¾<ói9REKï—Öç*h\“8GWŸg™íöHâ›Ú°`:8ëæÆÙؽ~èÃPU­iØYËø>.ä$ô:ÛLªhÖÉåù7[ ±vL´y%æ-\zºÉ?_ç‡sÏ ïjrujŠ†8´ì/6“#œ'm/kÁž ‹ÖÄ"FÕ¶û†–Ða¬Ô¸ì_bPe€ Z¼/Ï%Êëm»È•amø ð}/ò/Šab˜ +ûæ?söÞuý3Ñ z߈Å/®D†Ó@Gm Ò9”Ñ­ã=Î8d@½nN=s¾¶ef}‡ |˜‡×æÿ4‡¾&t;Nœ­E|H˜ ·ö®LTöU¢úÝ’ºë«ý‡t P…l !é4²ePOèë¿Á{Œr"¸)’6pn+˜Ç«ß„Á$í¼Z@Ž­™uÃ`ØŽæ"k¬,¸£‰sÁ€ðdM´*JúsAáºßÓì!yÉæQ6Ç‚*öÉøàºÞÀ£‹=?ÚªA$‰42¯ˆÒ/ÆÁ—–h^á·­´Èg¦ Ô™W7ž…žvþ'>,tÐ0U )Ú0slS³™ìè]Ä”2~“ßPÎU¦Òh;áÚ’s²œÏöo"È(r4'Ô‡4È4ÀÏuFÑÕ|-aŸzè*<ýÃç’D‡ ¿ÜB§»öÌÌ ~Rãr6ŸÊÔ*ñ”¡öðÇùœÑ7Ñ·$QË* Õ yµów´!í|Œíí#‘¼ŸÓA…(ÉÇ +?5æzðf,“s©< ’â>ƒãê¥/8vÕª-þã'/dtZ‚ˆðYb:LðëcýQºB£†H<Ë‹Ù·˜­flÌMÐÜÂýû‹†2ì“–^Õ¦»ömºÉÿHÉjøõŸP2òVœoŠ1zÓ/Iý+LJ)jNV/i!”ƒëûõé”þض]ÉÒŠX!µ>x« ‡Ý‚*fN ·?ócž!+°`hQ›cÆØ@Ñþ§Yïä•k#µ>VwÚäKÅ}æá¡x÷ Ûpç€X¾²t¿™/­T“»Z,yÀ_~QDi™`³{&GÚrÈŽ§$/`s•¨”ÿ”€£Чè§&—Âødâöä,‹ÍL<»®{•SÚÚ]ê!ÚRsQ™øvÚiQÉÁ¢‚Åpöž7HpÆ Z(÷Àp¨rø0\¬{üÝ`Pnïi—íÀߟuðþŒ,M0;Ô~Žãÿj:‰8!âÒKìjRA­ßµøB£ÓÉiƒ`;ƒ¢˜~IÊ–&…3äd×»¦õŸÉ˜(ùá½›Á/Ó”ÞÓÐ$›Ôð{–»&¥fksÙÑî}©êÑèAU-8¾õ‘ù{cšYÔ`×Z”2BÏ+Ynn‡ +,šÇ BÜZ¾ª?¸Q ªS)¦Žx.±JÇA‹7 P×YøßKNk>òø[a°vŸÄu¼Ó&:ý,¾Ç°½Ï/-¼o„Þ|ÇÖ©¾g«¸Z![þÉ>ÿ§Þ΀ñûäYpçœIE¦õ9ŠìeÒ¾‰ +ºKíñìÂõ@ßང…OHæ·ã—z†P`-H»ÇÖaf®ÂM?Ö ,$#¯K’šMœM­æ,4Kó;ù¤IÀI”÷§R†ò°B§Ÿ .P©‘+™óßOD )ÒúY;1“>¨ŸRJ>*Qˆóà­’:k{4¶mzjŸTÄåÔÅ  Ošz7>“P—E”Öä¸'lòęȡâÆWbO´ÂP}M¹ê‡½¶*]œÇŸK¸”d×Ø¥níç+gÍWf­Æ¿»ðÞ1èÖøæ%0•Éû`&µ`'¼týxÎyZùëöQÓÏiòVèÿ¿Ëùf…0\†IÙçìŒÂ²•)D®šÿÒ¬ïe £-L¹jô?žXj+ Úã&Æzù}QPCŠè>®!Zõ‚ Ãm˜³`äÔqoÌS‡öJDo)µ+‡‚mM­Éýåì<üpãqIQº»ê¿jÿbþûë‡ì€¶—§Š£ŸT›~wÆKÐÖf¶¥Ðb†ür¶f†L ´X@äš*ø©)[PàN¬& J™AÁmWÏê¼*/z.Å“‡šA-ŸTZõ$â|ZÉÅC +endstream endobj 616 0 obj<> endobj 617 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 618 0 obj<>stream +ðÝ +@:ÿ éCz¯–û¶§ yN_©ÍëÑ㲈<¶õÍ6ÁÄ-ääÉ +÷V j›Z~¼?µ¦NN¬Ut/\o¶z§2ö<ÆÙnS.ß2ɶ8Q²•ç*['&NîɹûË©‹ ½òº7R: ­ŽÿSË©kŽ¡çɃ[±ó(þ²‹ÂÒРT¾Ö!ßpþQo“»®7(ªÇû8*Ý~‡cóJ³Â2¿}\C +oº'Û+ç÷U÷ð a3V µø0ùÆaeÖî΄Â³´ +X™õìœÝW¶·d0°cU}X˜Lg,XKù¨=’ƱC>¯xfì8™Úû63q|/ðóf²#ï»´Ýq“ùbÑâCzýº5¬u¾õ£hÂüv3ߘKý`æ$Yá3­ßÎÛßS€ZÙ{ñåþ¸–ìaïò…}’ˆ«å–ûk_uÉ›pÀ;Hw'[¯”:OÓ°l|yÅ*ãŽ\§L´üõ‚–/¿5:°áéâðýJ6œV¶ú£÷‹<]ô“qÎÉ6ðzíjØ*$ è4÷™m+Û-a–Îï¹îoÐOß/K +Ã@³óÅx Ú7!½þ.xüïzƯ$ÛÔ›#†¿àu©¯d>bŠûJPÀß?5î'‚+¤—ĢîD!én:6¥E”–ñzÿC¸ááIeP=8³šRA  @zê*î¶âò:Õâ<´Ç@ŠbÅ n¶0Ð$]ª`ùk=†a3íyV+TŽf€´õTgé4šÂiâxgë%–óöÁˆN¤¨¼¯R+÷?¸Wï±Éc’\ʦ Ïç ›ÛrìJÀÚƒÒÅÊcªöO›¥5CÉ÷›dmxqmòƆ +™ ¯ŽpÂ%t-@™ÜJÁú˜sÛt€üÅ€1^\ò†äbô.@6¢J¹Ÿx‚r¬üVà ‚Þ†“ÞyŒØ +ø!ã¡ÆKc+âu¾p³G—o7ø‰hü÷ ¥—F#„“›hÀ){‡YNøåYGÜ°UNñ«­ Üz¡?¢Õ»Ûˆ´†;¸5Wâ óåe°Žc(rÜs•sµd  „p–3¬té!Qªk‰¬?¬˜D¸ü‡î¤Vÿƒ‘æZ&–¬`£#Ÿ–à¡G›ž’nQõîØ›, Âïfã\ðk±!Ÿ“^¯_ÛC‰ÖÇ÷xl7!éaÂÔKËáw4VFcó‡ÓÌD^Å*qzj¦ytÈMykÇ HPçÆåö6_qsM5"ÞÝòEX¯]KÚž†]§<Ó 82àY’¸ñ¹/a|°ÇöºgVÛ É&y´ÞÞÖíµbF)·ÐWÍÏd(|ù»ËYcI°Óâ3ž-e@Dƒb„.€82BK£xà嘂bg…«¸ÍÝüÚù³é_âôã I„%Ûÿ'ôC·¹eÕ»_8­9) 4bxêçÿ²[’ìÄ×÷N“£’k­íóH/O¨ +|³ ×A^Tþøó«¤i¦æY6¿¤ÒÙ +ÍJi2ƒ <ò2çÛzí…éyhâïòöWØ_ÿ%¸¤Ê;C ¸]ÊØ=ðâïÇ¥Q5?ŒÅO³áx$gÖµ^!ï¡ó‹&|râ€5 ©s#ë"ÔÏ•Äd´5Ç™“Ú’¾.âÔŽ+W–zÈZÖ]«·ÄõV%1Q²•æØ's¥KéØ>cýHq9ÐLнÙï¦pPÛj4UHGQi,‡Rk~À•«oõLîêäD»§¼¿1óÀA‹¡í3¾3£ÿ »m.ˆbdW;n ̶UÁH ‡“8‘SÁ›»V,-³Ÿ¨ÙG¸=BãƒÓÓbŸl>.¢*5FÜZC(Ø^\핾/Ô4=ÞKꪢÅбÕ=:yf¬õæ§ÄI(è +0ïÁÇbL?šo[dñLD­à.tß8.ÓO[âêfÔ0ÝÌ:±MIH’­17óh¾#¢{ËJÝB ¦›æÌAwàGï…`Å&•k{Âé+àÍæ@ž´ˆçwÅå¼á'#͉ÍîΨí³E?ÿ™žwðûCTvA5kwèò—vü³ÙÝÓºží0òkq*ªmçîj›ùïuŒ­R‹^r3¥ìþeZn¥%ŸLB{™Z¦/'ÆbŠ%õÅÐ.quÜD :W k°úû¡Ì¯ÅßH¡‰$ØäϪ.Š·šÝ ¬kíEÔäËa=ÿÄóØó,«Á—i{×RêŸs u|¢AÚˆ‰õÞ05"]{6¦žÈ¹¸÷‹a]·Öæt:y´‘FîŸSú<0bVS°‹ý÷+·üLç*†AÈj»êì.ó6‡*ÌÝ/ec 1ˆOD%{³+8ûb6`¬³µš=Zo/åï JÙ w¬´ÚÊݨ¶Ä Š"TKÊÁɨ¬EÑ嘔¬N¯>P!+‘¤”ðÖ\ÆJ åDð¢$ C(6þñí»á‰Ðc.u®b”…UmW‚` £}NŠu˜"Cų,¶÷0§¢ã`“ˆÊã—V§⟟áE¿q'f© EµPF|ˆ±þ|¿šÊì¤Êw¿"Ðuím‚á‰JÕxI D˜Ø§ß”1·^ÙøêpL:¸.õíÌ®ÍI„[ê'ÔXÊæ©À <;ïÐÅo |¯»1Kv«ëR62a.þ,Ìùá|ÿ-86”Xäú.á±$ú ¡aÉ#Cü¾Ì!x+äì‹{t³ž)¥v +.¿ÌyY¥e`ÄFÿ$&ùŸ’)õ¸Ø¾Ú ü ÷ Ô/'­Þ§ +|WÿØ–àNdò›y×,2¿‰ß‡aÊjÞöGs#ô31Uj.2k ›ù{–…Q¾éyÞºšñ!G`‹êhk¸N;„üòrÊbÖ+€| ½>¡¾Xë. +~¦ƒ!þS:DBòèõx“ÂYó[¦j3bõÙQ!ëÃ…e1,î|§`àrìüY•r éiÃg%ãëQú&Òùwó¶Î¬½‰ëÆLéyË•útX§„GFì1¨"åƒüA®þ‚Ã7X$lŸöCe_èèý—ÑZáûÅ#£1S¥Ø^g0‰ “ÁÿûÉøÄ°/÷Òg,-p« :t¶.r¤ßž¡éÁ`á]"*çHkÀ£3‡ìЪç'˱ØܼŒˆcšøQòçãòœ:RGÏך#„ñå„x±å,è ±Ý?üÃø^Ù€}>NO[Óò6¼°ë­Ç‡ø±j³’àjç‹_>º¦éWO‘Q«#g1ž¶ZÖE +zŸ>†!†ŒËmÖóŒa'ÀýÚMO¿í¯—J®±Qò3àŸÔÕ2BPûsŸOC{ص2÷Ú û×ðÿ‹\œæWîùìæ9hXdGŒ×žÿ$³_peüɘÇRDš’§´CeÞ¨šÝ–n}1—•Ð#Cò£dHx1îˤ¾ëÔ+6s] +Ò·&bبŒìDSóÔ·ÖØì†ò!MAeð›J²êˆY1Šæ€žØÊsãEe™Å¼˜¦ê8¼ãî˜í²i~e“¨³öå)ûjþd.Ì{Ô`ÌR§vÌ{¡,öñÔÝg YZ3¼i9§¤‡*{«í Ú³%#$ Ïdž€ès›I·­C^Y|˜TÎÑ:AÏI¾r¡Žšá(Ežì÷½1ëíDíE'ÔQŠ‚P¸|Ÿ +Þû¾CP*µèÓ.qÃuóÕP•¸VYš¾yˆP¡°X!CxÑE%eáSzþº-þ|ïèz=<$ ŒŠ#G½'¢/'K¸Pð`‡Á¨À«ý +÷.º_í¬Û'Z^*f¡d:{@Ä Ú §\Ä•ˆOï>Vjü@-Šk;_PÕX–GÒ0!óZ»¸¾ßp7J{›wAÓO„fctñ’ÅøåÃýÉ.êòkè"–]Ò:¥å=Ω΢`f{ Ÿg¯ög¯éO&lÃ÷ºû/Ѳä/âÞõ<šQŽÍ+âÁáaŽù1j¾ /ÖgSlgÝÕÍ[×ÏÎpÂ’À†ÇHB"C‡I¶ ;#”rp´¡äRcìFü=Fóaü™7¦¢~tu™8àëA«@6xd‡ôš0„ ×ÔŸÎiYô ŸwÄN:ÚŸÚ垟W¯âÊ ­–"ýÔ­ŠL.PlwŒ½Ó%r‚›¿l¯ÿM•Ó@®ËYÕõ éFkrâ´?6—ÁB{OEª•{EºÄ¸»®úêóðò“¨¾âªÅóU‹<“”k€#ä¶/=4â€É6Ç9š"‡Tœ$ü£Òªa«EyÎ%E!`„ /x¹ègCW±Sîe¯¼,gÉq <챬`2xãËKü’0˜HÆýå1ÐYÈ›¦|Óo\>yìYÄrƒ2ÑYû´^bÚ"¥÷ +ÑTj¢œ ¨h¹ç*„Ò0Y(¿&4ͲÑ{C#2 Râ\fµõJÖ¢gªÀ‘a¨Ø«YÌåZJù® ©Ð‰<¯ÞÓZŽNh·´¿p/*c¶2ÃY#‹-Q;?¨4ûR øPìÕ¦ò85^BbI«"×d¯ +endstream endobj 619 0 obj<> endobj 620 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 621 0 obj<>stream +åUm‹hâ¤Í³~ù^{á3 Øâ¹ãÞÎ.‚cl28óÖ +„—tÚô¬óXRÐažË²«â?à‰¬·–Ú€ÊÄ ^-—:†ÉÏ9 —mõªªC0îµ|ÂTÍ‹˜ðÌᾓFÿÁrn߇ûPÌõßDnû*b<oò aÊúiÅZ ›ŸUå™çûúÖ×}ÅOkæ"ÓX¥(M1] +õØûÌpí€H›’—@Æ…jµ#eLÆ>ÔmùDtmÊ7Ò;ãòEŸûFƒ¶Én—ƒs +C—U§³„ç&â÷S+“DY&cêHÞN:Ê·£ÕàÒ׉b<ì–a„¾ Úý¡Š +Òï’7ZÇ´á¿ý·0KçjìuŽά/µ2!’ájô‘hGæp›s ò£SUI D ènážãHê +¹we:áAÚ=ÿ;ØPÇoÁáÖÓøÑ©Ú4VñÏ3À#Ⱦ"½ÚZm÷DÊhXo…à.‡ sÙš9^4ßG™Ö;nÏçi J¨N Í +â_ã™±{¤ž’ß/Ãßµ4©ú#ŽMûjï²è}{ê@2ð–o}=ññó™Ib°›Ÿ{IçÏrm–~b=ñ¡.ãÛÄY)ŒÌ&!Å€1Š!É]+±Ö[ŠXR=æ$€¸J9wïÐè¿¡ìJÚqÚ eûˆ²ÈÿuÀª˜âý +rú²¦ür.f‹–Š÷§ÒÉíå‚Iús!€J/ôV’_G$Ç°’Áõ3JÒàLƒºÒÑ9µBá/Ì{õÓÝÛì x…>|§²tÎä¤MÞ̤f³kƒ˜ƒÆìŽzabà^`Qà¡“Û4hÀB¤k!¸tú·á"KI÷qèLí7ÀYFƒ>Q×ãUz°ÛSÓYms¹‚SÓêó¨9Ín‹ž3ô;ºö—›w+”(2”˜› l™"݃á£ý†+JëÊ€Uu¾T­äÀ\€¼4ù¡C¡O{ж+âyÅè•è·…ÕÁðÖ¨aò¡eÎçl8Ewü"Åó´rUïÌ*µm@T (#ƒ«fDãºL “ùÍ-š(ì *CŽØïY¸t¦êm!Œe^;¦Î->ÎÆ”sáõгVŒlÑé{À›ø–(¨å*{×8¬ž#» øo´hû¯Û6©­ƒ§y MKÚ« FÖ–õ!Þ‘Mõ7-ÝÐ3ØkÚgXr†;§Ø€›û—5a“Þÿ,g.Y\Þ¦ö µ•v2¾l¯Éxbþ˜WJâÞ~ÓZK¨ºƒªúKAP€&‘DÛ†ŒÖÜ4†ìwWûƒ¯Ï‹Ò‰lrŸPâ~½¬)Œv‡•ó”e¯ºõöõiö}l`áiôp¯¨‰¥þÉ캫ÎÜ› ^ù‘ð6++zy-+t;!-ß!x˾_ÛKZÙ5R›øQßÕ+!°öI•Ô®¦ôTO€¹ƒÄ1×Ϋê&|šÂ}ãÜ +…÷ž»ó̱Åç¾w·ÐàˆŸ[DèqÚZ]ºËJß½ £úgŸóÉ Àu0 S¯¯¥Ì+¹ñ ¹ÁUZã°&I|“€ r\ƒ%_ ‰|s +g“‚e|»¾Å +++[n¿î˜5f’.Èxn ®gtÓÌ;Žuq¦œ¨kÄ7b3îÙ䯠&Dc,ÿ¸)ß^s++úG> æÁ>X¤Ñ€¬Ð‚Hèj‰5/-À½•Û{§×$`éµÇI°ÖÉÃîëÚ˺ÓýùÀÑ@=rVBGwåßzåï<@åR¶bÓßÝDßØ–…å#TÙýÞÿE0KYéö÷Cµš`ç¹ÐãógCÊVôpðpOyh…‚WÀóꟜsa¦¾Ï÷UAîg6Ít•øÂÛ™u#%®©_tw¦’nÀ¸îøã2ñÚé>²3$ßó£@àæ|Èc[ +dKfeœÆ²°Šçóó§WgÇ/ÂeSeL™¿aZ”vw¹¸)·jÅáˆ@NÉ­{ÁT~8óæ.m›8Ÿø·é¿¼X¤6ønƒ'ü‘µ·½CT3x¦iÂ6u·ƒV!þ×BÆ“D6Ä o6®zFã¡uïçTYŠÌJÉ«0½®D1È~™gMb›Ijµ‹û [ %ó¢Ø£º«uéDý[Dÿ” r¤?1êR!2wè'`…ͺ þÊS´L½Î¯–A ëíàqK…‹®º+#î…ôPÀå蟰÷ÉàKòkcž¥JÍï½­Ýn=e)ê=À¾‰§hô> Ùõã‰Dßè„N̬îŽ÷uNhAq°NxˆfAôoä‚'0Ì™çœtUaxm‰mlã¸Êm•1(ÅÇXã5í\þçUÒÜ°¥OOOu@ñz5PðW^K2ñøˆÉû7eøª/^Uº¥Æɪr=¤%‚íðìämˆý6äNGŽ¡J…&Ú½H6ÝäOôVµGª‰Þ±øwÅ’úÖYáGE ü ¨+ÙÜßëó•wÜ»¹¯X9Å€?…Â/Gèõ$ßÁ³CWû”|Ödº€™N"—,«ìøÇÍ"¤äÉ=UÉqµœ~ˆ²sá|<ÄŸ›ûÖm¦KíE¿2ø›ÍÿêÈ,│{<ˆØçÙ©“G ëð,‡OK=¦™«k¯‹þF_éõ›t~hûÂÕÐZ + h€ÌY {&dWeÑüàDÚfzÝBB zÉñE*¨Ü –‚fÌ ¹.¢Mußá %Ø®[‚gì0!Z p†pGžïä¸>e`âd$@ÇßlÄhš8,pª±TÅxù©¾ZŠ‚vÖ9:œ®Ò¶qž9¯•zÍ(¡z>>¦¼za¸Ùš¨íÜ"zún šÚPã,Ó`“( ðÎ2eq!tNùÞ´wßí ]ŠbžßÉtõz,QælnøÅŒ->Ë7m™/bÌ1–ú¤¯£ïŠeêώÀÒW¬2ßíbbÅ’ê[ïñXÚ-k¡mIöDŸ’ýoVÐf!™Hçúò™&"Ú=œˆÎãÒì]}õ`õŸ«Ðˆ=ͪ¾ý1„¯¨<ÉPrâê°¼8“lpÌ\íÍ{Ðòäó»<á˜.ÿg<«—øQC ¹¦K¿6Ök¿Z«vªrYÂQÂT!ȹ}èÅ»™©´®×KP*˜œËú 'ÁF¼Ÿrûç/k¯aygw:ÀлV~ë ý~ÈžÍã òÒJb}ÏaK/å²FÆ€&ðU,n.¨?T t2|_pZ$~EîºÛ×s`š‚þ¹>žÐ#,^ö”ô=jj·¸EWõ~ÿ¢3,³Á…ÉÈ\Ž æÌ a]íQc˜„h©Ql³•1{ªH(Š™‡Ó*'ŒêA0ƒ Û5-7¡ú Þ¡þl·`l›ÄYÝŸQZ="§æ΋k4ÁpBxÀÛ™µ¹³ÒÚ5¿î#Z èè>‚ý¾P?ª‰-;X ˆ‹´P_°Üz ˜Õ¹-lN^Uµ¶n÷ˆ6Æ>Û«„¤ÄóÁµ© RÃ6tî—šÅ÷s¨¾lãÍ©~¬ôŸ6ªŠœ1÷~[±vÏ!SAyä­èO#ªO%´Á¬Zk¼‘]·(¤†*0<=½ÉßÇ~¾5„µë©²eªh`eŒoEbíp—^Ni¸áå¿ +0)_}™ìµ°CuIû¿M7‚Pñ}@ç:(Ësa{ÇDa³/sû™3b½Z,Ïýj\åê‘j‚“êÑ¥ÓD* óCXvpòqù §µ.“´7Ü+^Æ‘3i³°õ ”zúá¨}µì•Ö×å¤zñ_àliwE ^i÷XdCÑÐBÔ§ ”«Ü‚†GX‚qœ¬PéV/¨ì}^FŒÑ{’µt9Ì4Þ° +2Ïâ˪:ß[Nòñ0Y‡6Ák47’™álºÉRØ7¯Z&x?3×Ch˜y%ÞHŽPæ¹1"N;œÄŽÄ9ÎŇj"øáâD‚aǨF˜Nfa9})•w…Ÿ?´¦€ÖÓ”êeÕóy’Ý™ãF’kÍèˆ/Ò©­âà4šü ³V®÷_9¡TTßb ÂÂÛÒdŸôD?Ä8Ž:‚ÿJ&,œr¨T]M³1©²¢””G™Èý%ó,¹ÃË_íÆg=Byʶ(>þù”…;p¾ùªßŒ¤Â§àäô9éo,÷=KË Æ] ÷ßÃè`ŠMhÖ-q6ã^¥ O Ñ “¤Öf]2è½Ö]ù“ûÒ½pRœIn7ð¢)PÞúJŒÞ±;Ek¥²§Š:áºQã£ã…ÕÆÆK»sþ_•ßMÚ(êõ£Rß4ÓåeÀÅúwDm\tÙeÁü†¨¿Õ/ý7)Û†»o3®Íf¯*’Ûå/çSh2OVs4j¾o‘0|sKhYœäµËèµ +kÕ1[·#¢¡`ò%èÓ6Èò=W[ØšJ0™±Þk´ÜÄ9?B$úe¼‡ÔLÌ+~ö¼ÚÁu¯€pYÈd­¦¤A )û~MSX ^«…÷y¤=1mˆ—ðªZ2yw¶åä©P{;S¸I c=Öh‹?§òÚ7Êúm¶´3F/¨± +GVG8hsƒ«}fiåæn‰UPö¯Žÿ7À%¨ì..¸.`ó³ÕæÖ†Xzóv5P5FþÎ9¯KÒ¡1ÄëZ…”4/¸sœáÒçlFózÐ9|¥áhu (ø˜–”yÂj(’eú*¨£×ýã”ÞùÙHÓæµqŒú ‰”C—<7Œ=í<8Zü;3 ¥D1€ü×6é´ùªìl×h~ƒ›¶»µHYÆËÆ^Ô±îÎ×2r}xeï@<ÿ¡d†§±”º:Äô +‚£­+E)tV +ž£ˆÏ±ƒ ¡u579¹è9PùNvÏõü#b„r–ã'f,š¯›Byçq>rÍp‚¿yÇ®}8EÅQ¶ÉTeäUp„t¢ñäÀ»‡,beýw–^xâ–e"gš’>gªÞžMA¬³šŒÉ°†à:†óØãµÅÀÎzþ¢”“ˆû3¨ÿŒJš5ßËÛÊ4Š(ryÔ'ŠË „0uÚHu2> endobj 623 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 624 0 obj<>stream +€ÎðÌ¡Z°°Ú¶ìçþ7Qß¼rQê¶k¥#Š*š}ìsOd3A§U굌~µ=¨RQþ›g•/_ˆ´ÙaX™¼þ4ÓmúY’/- +D…ûiY„ïõ·æñªÌæÎú ]î~V˜äš­Ý À6³*þ®^h@ÑŸûœ²‚Q„ØlFA‹Ñe…8«Ma=C¯÷ úþƒÀU;oÆÐéaÄAú¾­ÇKøfOöëþÑKÍh øibÎÀê¤ñªÓ92Å¥ÐK´Q ½yh‡¸§ó¯».qäõŠY .&JLFAq ÷¢à¹vûù# Hi¦æ®?ŽàÁ˺Ã"Ò© øMtu\hÄ´K¾<(¦˜2ô¨éŽÃNÐÍ] fµW½Ý‚CER/’4~j!!I#×@´µv°h˜$ÇÄyË•áT=ò-ÿrUvüèççžIA»L +§Ä“èü ê9-VÂÆçB”ÚTvš#¤r8ão†Œñí¤LìXŽÅxnó›ñsuXÏ®©ñMRÙØi—½Ê0tMó·éÖùÙŠ T; ˜ˆã®Çp&Óäxp_Aᶑ˜‡|´çšÏM²Í%Ï¿Èß( Ù(2¢*ûPNÎŒÑ÷·Íï’5’ˆeJ„V›¾¿¡;OS¬¨™­‘£«bÏ z-6Δrù˜˜ä üþÙ@†|ƒŽžï\® LÖ%äz.ë›r½‰ltØååcÉò‘´Ô§èÚ—Oôëª"£ìÕ䜗¬* +HLV&ý…Ú5¯‡«ÑLpùd¼üÇè·ñ~éM+7J–ž(ü¼uXª£›z+ûù«5üNkñîËÒäç;%“ˆÑöĸØˌ١ë¶õPˆ•ÅØL$÷¹ÈÏÑì¾Q饃Õ7²Ðs­‰‰@q|¥’Ë«t=û‰.ÜæIh=%÷q2Π«nÇô0 'î¹ ³}¿‘6g××ÔJû¼ÛlëýJA¦¿æí¡ÎøŽÙ½²}Guvcù 8~TÆ“°Á·f»;É­Ü«A·…¥nzg}C™|”?•˜.u|$Sˆ}cºÖY­OöåýæFòÒÚK Ðh•K§â‰Üã[…gÎ0§j,Eù"4(B·×ÌT­~k©äµ8ËœÚÒçx˜õÊ&ŽPáZìJ§òû,„„´oeôT#ݤ§DX$”RkI%Àmjëº6Œõ ìÊM9¹pã«Aö³9°’ž¾Ã™ïT~^Zt9bÐø¿”I>6^Sæ02Œó\Ôì[ÁÐ+4S‚Â̳ÅPØìà„ÁE‚L*1UU6ÌŸ* ô—‰9³éjk3ÏøþK`!/Å ËÍ’ÆâÒŒ©H%ŽÓËçñ A-b>m}¸ý°@J…?Á×U®ÑÐ7nyó;Ö=À²­]^¶DÞ s9]p^-¨HðÒ©Ü@:H†a$ŸÎgª8$ (}ÿ¾qsHÈ#>$¦ÚOaŽåB*?åpK÷c‚æÿÍþðœežÛrÒ¤QT³çÔãgT%¼O5U뇟Ɯ6l†ž ~~RÅUnxóf‹¥ÚÀ¥(°ªÎ™¸)8ßoßFºãà Æm«T›sZËo´ø.ŠÄ—5¸Òn@®œcöò(1&-ÞõgæALrå=¥)²tˆæW™¢i‘ëgÄ|Ë+¥›e¸ã¾¡¯>ܲòf _½‚ÃÛL0ýIf1')~¾Y@gé*H½ß•@u’¢IÇBì dAR_£[Õ/ÊÏåܻʾÓ9_•T˜Q?9­?˜*^gO.®ÍkZSö/¨SmûdÈ(¢jŽsÄWÌÚvõ%†ÿG+« +θs•¤CI¿èiVr´6ç7»nmõ3Ò\Ïm°˜"½ÀCbƒ¦×:sÒÿ¸#ÿð–ÛûbaòN«±$· oL‘¤‚#“ËÔeD7RJÙ áI?¡ ógs Ý #üPäítå·PxçîÆÑ•õ jðeí ¥„N_b{'S¤ ·—V8úmåèˆ,„ìg¿Ÿqšò{¬I-É$" í¢gås¬|W€tÍ|ÓC +œ¹toiÀ?%Ç1”~ÁÔîõÖRßÈ]çý>_Üð+&_«¸q£¶âžhÐh𵈃÷b ‰ªÏ­^~ΩÔ$r?Ûa1›.D¿ 2,™+ X ‡ˆ‚%|R¨Ÿ_)/v] NžoaüNIÿ§¸¨mO9m£CNð@îZI%ôÔ#IŽj“ãı‰¨†äGMDH……í£j&y–æeµ”(Eµ +]w?NmA¨ïïZ ‰Žóå`ØŽ*Ö½‘³Öökjà£õâù·£²ýî`|D¡JžºŸõDe·¢ÃZh©óËqAš²EKTtįËÍ~¸c¿lç€/Úc5V›£ˆ@YüñálI÷Í¿÷o³¤ÄÁ pjžIœ&ËÒÛÙ‰?¹«ÑW«Ç ª a§‘ž„so`!«F}w)f¢3võù¬:ÇÐý"ÈMS 0–ìá÷G =Ñ®-δeÅÞQ­L›uRÙaܱQàjäƒÝʪOk`ò€4ÀªÓêD¸ÑXˆ{›Áð r#7–(Ð6íÌàâpè Âœ?¬Åj­j²¦¶iõMv+ yŸ_eª»;‚­®:«»KvéG~È»ž¶æ¬ŸWø#²ð†³–ñH5ª•jA(WŸ +-Ý<_¹©@^,††›ÏY|:´˜¶›4ÑÓ‚}Ÿ¨nåÓèË úÈ„Uó×pP¤G«ÃA‘I—~*=Æ(Ww¿³MJb¶³Ž~[×.Õä–Ši˜!sÿ¶–¡j•(@Ý˸Tûé~zÐap–¡€_f7!jKÆ5×2jYfJa˜“+ì:F¯³ù¨d;*'÷à|QÓŒX†Áº܈¼¶üvY¼V¦ýæ1{ÏRüE£ÜLM µ|Šh<Æß™²ÄMd»í€jëÒÉßÕ â¿_Ÿ-«j¤¤Ø4À–_¤žòK-¡‚AC§šs«1º‚”§{¾¢ñ*#s [~@ã¼[¤NK¿—U¬5­Z³0kHŽ˜Õ3¹MHN4³Ëõþö©aü«ú/¡Š…r”¹Ó¤FªA1<8÷‰K*O7-91ªdÙ:±ía]C€€9ß » îxMAJÙž«ÆÊtü7ùÚôõþýlÿeF>®ÇGû ”Ê•IDÞµ-·›Áƒ™Æ婪ȑ‹¬½”Æ ñXõ·=¢³s`®‹nvŒìâ„í‹À”ð+rŸ!KÝIà„æ|çÛIa¬’íoÎYñ™ZÄ‘oÇôH¨zá>ßê4|üËíF7ÁjÏW^)/“`|¼¸éÚÌ­×Ì>ƒT¬n&‰"øù5Ý>ð«H<r®+)F@£3”9GYG)zÉæ›}g.Ï rþX‚C”uÜŸ°¡L¡AJÒé°çã[!„í%£-|qâK­MkB£r<犣›œ˜N Åz–—¹(±z#Ë,aµS°{ Ui†9å[¬ßCFú)RÄ€tÑÃÄÒBPðWô)èÑ +endstream endobj 625 0 obj<> endobj 626 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 627 0 obj<>stream +›N1ñ±†ÆYážœL2ŒkÅìCÍ0‚}"â„/àÎƃœËÇÍÎïžr +©Qr¯žÏÇB˜ÃöX£ù<°6kðë‰Z[aPw˜@“_Åš[G¬oÓÔ"¦H¨MfdQ\ÃÞz‘žÿWÛÌ¢"*¿×ãs‡‚ÖèĹ©W#MÓ<9 ¹¼ùŽWÒ ‹§ ‹v. ßµÑ2H=(âç©ÜšÝ¬®æÒ—Om,úux,¯Š'jJâ¥W´½%ƒT=?Yâ×ëÿM8Øhy¸ÈÊÓW ?9&Õ„Ìwd®=Æ?ÏÂÖ(Ó{Ø7¶à¿ÜüŒ’ ÒÔ:bêÊ1·ÉxUò¡gŽùEìÜÆgÉœCá£ä8ïªKÍž•-%–Nã$¿×cë;YŽy(Æú•Jb¸3FéÚäZ™ãÞzá+ÍæUã¸r¼¡WÏ媯…ØâÂ"½:êaq¾„.-q¸Æ2)tûv$SîC—N»¬pÉ´†+ÄÃyÍþÈ ©1]”p´y’™¬Š÷UשvY­${ÈADlµà8&MîÏüWpkdydÍ1ñ=eªÀR×Ô>tF£!_Õ·½êFÖIk@%ŠøR§a≵eïßÍ°­(z«¯×m5<°…±lFšÄ+ûÄoqŽ’—škÓx ÌƱÛPH1üÏ/,›1ʘû‡¼=•|Á]ñ&j‹Z£<U<ªPÚ½zìŸî¤ZõÒ)ËOHXÞ@]ñGêc¼´™ ÕƒÞ”«9Š>5SA9Š?oÕÓŽ¿@=[×oçtRC;°FŒCV"vR™\ê™]ý:óõJÏ*ò<oI£G;ê’qîcôi~ë:²fý¶!A­KTˆ„zïödõ\Ó8˜¡ÍbÀôz'tÅ*|.ÕpÆîqˆ"E]z ‡WúžPùï±f<0s¶ðíÌûà‘Kwï7µdß.°ìò³VO -M)üu' ŠÈ<Æ×€3;Š†a1üY×LòÏH´gÅ¢»1Ÿ[LÂ!@e¯Ëu»ÌcØè5Ö›9±¯>Â0yíµ# ÜâyíóQ&¥v±òß’5VÔt@W.]tn dG' $7-¼S +ƒƒÜÞÞÏï›:Aƒ¯…ý΂潦ᡓñæY Z |i¹Õ-),“ +¸o)ÅQõœOºÌnÛÏ^lÑ+Ê;gRã™ÔÙ"KFò7«»ÞM?WÝVÌ´Ðò´»÷ ºân?áãR2¥÷[”Ë yÄm + O^ÀñÜaáÅ*GjXC&ç† +€ºˆhÙš‹».¡˜iþ¥’‰4{Ì cñsE 0-uýy=Ýâ†?‡¿+¢ç ÐØÕV~ó(/”×| +¬9vÕQª–KõÝ%šÆú +šµ{õéHÿ·§×pŽµ¹‘î†,p?CˆX;Þ^ú+Š;òt+äI3ˆÌúXíæ—©ß¹­Ø¤PHo·SU[ªŒ{÷ÍÚIvW)I‘³­æÍæ†`,:K?²4çŒ.ŸÆýGOëyÍÕS)TœÑ¥6ÀÞ§óÿßàêÉ€ŽF-«m¡c'>â´x"/ã¿C«eã à>º;`š|ŸëOvŠ@àBs³û‹˜¹òqV{(xªs1Öä±4ã¢(Jb1° PXÐ+TØÿ&!Ž:‹ÿyØ=ùÌKï& ÛË“ù‡Ä•j¼^ÜÚJCˆóå8®eÀ(š¬ãW +¢3ã¶A,Gvå—‚™=Å[Åaf:}ÒÂé¨<Ûø"ïI+«“ä)RÍ~éV"y€u½ÝÝZv­î¸‘[:ù4σ×'ô>Îr{Å”¿d}3‡ƒ•BqåÃ˪„1¾šðÜ|a/ÿ"»/Òõ‘vº¼Mù*3VdŠ}ï9€!©åH½ŠéX¦N‚.FXÓÑ-“üÿfi:ªˆ¬MJ´•ªŸx>:i–F(Û½R® +wHZË4ÑËÃÌG7o¼Yñò^lo¤„ÔæcÐAËnºJD¤?ÄW[&AÛ»Š¯)nl^' —Œâói|‚Žó O]fzþ ™êzÝtä_È•¼¾æ²H¤@ÌÁ?ÙÔ['pu«q­‰,iùAîÚòʳhÔgérŒÈ‰Âõw¹D’ÛígßäsôùWÎPÕræT@˜3<‚™Ô²¾pµà”»1M{^nع®ñB›G¬a¼ÓE¹.¾7.&f£ØÁ+j<ñP ¨jgE7UΈ++T~éÉW·†Ñs6›²/ˆracõøƒáªW¥Ž¢¯CdºÈ·–»å—?{’»ÈèÚôž¿ûæŽRA]*/Lˆ›âc6±™5 >n¤ïp£ä[N•g©HÍÀÙ%uT#u©Îo†MÚÂä?ßøœõc{Ž w`:µ6àÆ +›¹ü D)?ųÍ!>äæ6zpª´Ê ¯ì·C~ºMŒü +^CÛß#])×Ø8ÀZØ*câÖÓ>Hw Bò#i“£¤‡`µÀ7ɺŠÀTNPíÄ´k‹,\|öøþ/ÐÆŽf›ký1¯a<1܈Ú‘˜ãaŒ‘TZýæñvíµj"íj»åJ>*¢"?¼Y")JãðYm4ê»åZ•Ê4’zeŸ²c*t©½søZÁhûM »¾Ï…º5ÉÖÊrþñLøX¹q”É»?*>°u1–†9ÖqGi÷EAâT ¬0´‡.råþ¡è£l2·Ïµv9qöiêäD™ZzYcŒ;;qû†8U¿¨9Æâsº(ï•/:ˆ;[cºî&`nïH3xBÒ~i )kýßw’úÄŽß¼4sCë&¸×ôÏÞ¡ÙlžO/°QŠF€ajrìfî=ÚD‹q8æo¦AþÅâ±aSq*ZOŠwU '£”n¸{3B+Lç‚æèíÿfa7lt¯ÈU\ò>3ÝÌ㬽YUÌ<¡¼h´œ:bÏ~"XÈkYOñN™QÈÖ“”†ÏüóÁ±‰¤¦£DJ~ ]á^zÊ1húbr¼ %Åsdj•m°gï¢(b³%ÓÔh1&ˆ":…>Šœª7Ô0ê/2ªô5H%/mÉØDÐMýUùš¼¹!öÁo!ÍÆ‹«žÉÆjʃߣ:˜èrZR á¹A0\u³moñx˜9Ì©ë«™'ÜðˆN8å4-¯Gv‚›Akº½þax{=âU¢IÉà™ÓÏbV!pªYËãD1%T¤jw¬‘q¸VÛÊíü‚CtámŸ¸=¥ðOæ…ÂÏ á‚ppo‚%M|Y¥;ýüÏÃ/ÏýowÙ°¶É¾ÜÐ1UºÊŒQ®ûjÑCà¸Û;Áý¦šÏ¿ÞåEŠüäÔçb~3ë”d˜ú9¸AáKFl°Ø¦ßU…m1{³B^ýõ†6ÆR<(cjɳlm‘ †|åÓ^ÕM¯Ï–I×GRc;AŽÁagàþƒÇ[пƒ*`-$çK:ª¡8çqàv4Öà¼Ä*?ºÉFߨçWœûD*¼ôº…¢þÒÀ)¤«w–l.ƒ×.Õ<»ûPßþ9WúBPØÐ÷‹eÑ7RzÚH-RHÃâ}Ow,Yfàn/à¸^Lû—‘»ÊR‰OŒú·ö¹ôCëŦ FÞ½øü+V¸ÖRáéÌ„üα³0™9|I+toS`KN0­iL8Ž«¤kJh˜ ñó)‡9Á×ø7ÚÆŽ_îCú€}v,‹Æ—-èxMâË'ôQ-ê_cã +endstream endobj 628 0 obj<> endobj 629 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 630 0 obj<>stream +ÏhF€d,°z?”ò¸i2ê$†ißýèõÉ]Ë5žµV®ýªÙü—*TÙkÕYÿº®‡9Õ 6ƒ$~d‰A›ãÛYÈ}Wg¹ó»>A™¦ëU¡„ÅÚm¨Ðg þì‚[û\Ì{Øæø¥åîŇB-,²Ô¢ÚN©:ÖðG4ŸÄfE'Ã:¿»Ÿ]zÖÑp{Ö5/ÌŽF¾cÚãëWFèy*(Ã.SLnÏʺùô7·…Æû®µgRE^Ѫˆ°¬,oX¾baÉ&l…ã©Ñ9¬‘Á›à?»¾òøI·šÈ1%¸ã y×Ô(Kº™§hj¦¨¯ÝÜøaX>D¦ÅÛãIWÎ8Ì9´qÛa@šJ»ƒ#á¯*#h +f¿Vá†{Z†š)û öPº—¦ G²|«¸A‰mÙÔ[_w4a#o¦Hïs–w²ÌB“°"ŸrãŽÔ[¤ÿ(wsx¡à”¨iv9­uoø\<í(°þ`RvûG&:ç|l‹Qv6øþe‚f,X½iz€^`Mn-RØtŠPä-!ð É“«ß¾…>·<öÑ9îžÓ%×üH«Õ‚ªcTü1è€ÄGÿ~,WÙ5ƒŸ‰]åÄ/$šì[S¬5þ`“Ù÷QÌ8ˆçî¾Þšâ:\cU÷ Ç1<ÿ¬»­ˆÞ +íÃüŽ&ÇÃj]5‡°3ðz»ÊLÞîeD`(¯¤Bö®çµµôlÌÁG:GEgpÏ÷"žwx¯´Ò©»ÔàÎ=Gbܼ4O ”§àó‡ùoÒxÍ:ïÐËžÂòáßÏ«üÃCýà>:ü ¸2]5N ¦ÛP¤½Uc£œ3A^ýû7ÆT JÚä3úâÅp$%÷‚*Ⲋ~Ê.mB]Ψ–¼ ôF/À”x–‰ªÖ ç£Q€ïc¬Âø£îw•¢½$àÏÕ‚t.³«O# E^@­’ÿÓM¸qՂî©Eù€Ä—èFhBIø9Âj(šˆÐÛ¸æž6ì`Œ7GF--º;ŠëO¾?¯ûƒ¤$ôÈÃN ü™¹–æ¢XÜçÞ+ÔòÓ¹bþÒš?mŸiN¡Tä¹Äk0@V*8K©‰øð –M9ù#ŠLhŽÂ)oÎéWeۜ،¤Ki–ƒ‘{zÕ9D°³´ã8xwW¼­PÎrk…Lqè”ç“qÓ© §Lh+Ü¥ì V²L.£‡ƒÇÐ V°Š¬ŽÈé;4MÁv˜›ú…CÿÜ^ÐÕÕÁŸŒD£8d«ÞÎŽ…¹êÈô>3\ `¬µGdžNëHØK‚ö +ÏÁèK;È?TÂR]h•?}&å0SY9ºkbó‡æs’Y– ¦byñ~FpqIÑÄû-½ïáwíª}Q—àÅÀ~øo\ó|^—ÁÝ*¤-bÑV{ð1€1D’¥Q ÆDõ½hBÉ1VdÚ„âÂèoÖêÎdª.Ô>S‡>üÐÓ\Þ´¤›è+¸^uQÏú“߯׎²F ¹ÓTlm¯JßFvG…à Tiþ¸Df$unô•[ ƒégSž°á0ÀÈÈ[éÙ#©kÃzQzúZû´–§< +kH33õû³°©?ùÞýjONêz±9‹¶-ni”T0›mEMT±.îoå>©æR=g}ï-ÁkENŸJ ‰:—GvÃ|£î)Ô@±ôN!Ѿ HÛÿx\Øœ`S°Nx”¡):p)%Ëe4Y=¨Øüíq9ÕšƒVVjËU)…º^{É®ñàᬒÿ‘KþWF¼ÌHâÃ95t̘#ü!aÔWs´Ù|*äì=ÿ‚ÛC j[ë)€,I2¦Än?©¹nÆ· ç9‡°Û%'p¾ Cjµcˆ¨ÖÛEÛTÒ¤ºŽ"$B0Oýäu>Ð +5Ûîûü°õ®dÅÎ[×»PAuÅFÚ©ža6uùmqÛn‚ ¡ßîüG³„ÉpøßV~Nv1’<‹ME{91§]-„á^òÞš8…ö 5Yñx¢¤5pAžE˜'"ƒ‡¡:þI8ç|š äÄÂ3*ï?«þêî*áùªI +[§Õ*Œrö0)ü‡Ú¢ûâãø¼}?†Œ‡Jk¿…^T-Œ«®¥Œ¶ŸqS¢R,fÉ[ÐNsý™²§¥ËÝÐÚµÑF ˆ:Ž}Ð+Š¾Û"pÝZ»d§wëx˜h(áñ‰‹ ­˜uUkNüBìÄo©ÿ.3Íؾ´ßv…&©‡ØÎ"Ifêè|èI‚;›x;࣠"Þê½ +Ó#Šéâ…F3Þòtd=©¼êtÊ›yGbz`ËZÈ̃ç²ãôË ‹Ë©‘Uœï±"üo³Ä:)£m›i$þ=ùÖKÞH¾Ë0ƒ\×R´õÇ$Ói9^wFk?®VžöVg¨{v,ìììë]·9GO‚i»ðjZ|û ‰QK2:¹[’8!À#Û!§m•‰âK^ûBQ˜ÐmÛÝ¡7ŽµiZ`pôvUÈÕ/@9^ÒÊúw„yÙo…º¡ñ1šC‹-aãyõHS^“ðÒñ+¥&!R*ÍÜŠ? E=ø”O?©¡0Ø“/t¸ +Qøxç^ì·]##”7ÕF–@Ã)c*Ü€}%´¤#oØ è:É[BŠõ¤¡þ½.V£RƒŒ`…“G=Àtû+žzkrNiè±3þfQþ+†ßž¹ê\²uÅvÓ0oþÃBðÎBà ÅòÅrª èÈ7–^ ݲ»kU7©…ª¯X¤}©©ryb+ÖÚ© u™ˆ‘êÔ@D +Š¾ÍF{0˜Ð5¹9 I+6Öj>kZHЦá}—Üwê³ ’îD)->åÀž<îG¢È>¤\Øêã×dæ‘t^Ø[dWød`÷³ «@øEgRô— +®A*±óT ?·Î&VñÑ»!V8[lô£‡ÿ‚–~b¬ªEØfáöÄë>EÛYœçÙùhø€¢ZÓ°cç“îÍXî÷Á‘Á-´µá8ª²6¤¹œæ° +Øv”¨^¸6KêÊV;X·R~6LúÅ/Ë „Άœ€"ÍV‘Üvžm•Þ\.b»60€ ëoÝÛrì°JC6‘±=PPœxbØãIQ@±·K«šžÝy0N#pˆ®»=¼À·± àÆ®… ÛÈCø +ûþáä’óÊ·€ù6%è¿ú°áoƒd³•ëܧ]<;Ïæ|ÂóÉYr}Ýcéò¬.]±¥Q\êÛ+²ÖmÚõKŠêˆ=ù6EùEs+ˆ—ü뜓•´NÊ<±ß¸9®Å,5okþØ„d½[¡•­î‹ûzÃ[Dð4T§À¨hž§©ó,eÝ,3Îœù·h: ѱ¶)(–Ô„Œ¸ºÃö~Ühorõûì³’ê/Ñ·}YJ¯!‘Ù*û{ØÈ.iS p{AÛ¢¹@r“Æ*ûñ#»‡=ŽícÊmaªEI9YU“ák@Í0ÅùK²¤ wß&P9€ÌÏ´Î|%þ0T(;ÇÄnY‚a€ïò‹/øpVɆ°ö÷´¥h>Æ$âˆ#Öã=Īi• /³$#žª–®§tTÞê¾—VdÀ«ãVàƒdï­§ˆQNBi¹<þ›ù&Ä`[­›ÒÔJ+ÿ‹š‰y&CÁ`°Ûð8ª +Ða£dLC×·†Xîï3ÿ£Ã"ÉuÁ¢rˆégD®œÆð†Ÿ ŒÄhælÌM¨' Ž”Æô@IŽ+ÇJâÓ£éß +Kú¦\¼_‚±Ç6îUËnC–Ba÷\þÆs8¦· *„s)¡¡PÌÂsô¡^%oí(ò¬”ì@/ZW«£óš I`2LS T¢1׊y‡\ §—DT+(Jfa3ëÕ­÷ôapŽÁµÞåJÚõQÎöÕ…YQÖºŠ¼¡ÖZо'P$uÁëßwd/6¸—û `¨Éˆ| ‘QÐL‡ ñŒqÝ|^_ ^Ï üÀÐn÷ ª‹u±ôC™KüSïÝÆ]ODsêM/¢RèªÚÊúž%–š—VB´)Vø8#WLgÝܖѹD"†¿gÆdBþùdg–Ù8ÉŽBÀigŸÏ•ž7’$G‚m?ŽûDUi8€ŠÐqI÷ÔIµó‡IÃð¼/dÏ÷›S°MËÎ’]ùTã¡ÝO¸Ò’པÁð. 3néÝöüeÑåý\øfôˆX©„¹©_%À+°ý)ù<œ\q-À¹}­ééÊt敦<ÚÄàŒW i_uT<‘?)ãR¬[ÿoRŽgÓ5q%„ä|ꉚ¯ÏÃ!;ã^XŽt$¿q­o¨$uñ™ÉDv–Ôcvp +˜â „Ó éÀ&d¼²RC•&;R¯Òyµm;°C¾±³þ—ÁàÕMlQÍ[9‹Q¨ûÀLñUÝ,üZ:Õ}·µÄtmú§‡ÃÄ_ßxŒ’¹‰Þ8vijbe=)Ôï<xÖÎåAÝv¦ a£D–ȾdEdac9é‘« ˆ…C”=…u:ÿlP;BÊ Æ2ü¤Ñd­p(›hWv£©ZFRÕó¬ûb‰¬cÆÛ£]ð8ÌèJimbNò»§ÌË:àTÕVr…Ç!§ ýˆå„ü:§L—B}Û3Þ‡…B>k yB¥¾v¾ÖH£d¢ú° E^ƒT,cr[ï‘å ½ÒÁ®ð–JFa)è5$ÞŠ/ÁB»ÍÙ;A&¤ÍÐpG¯@I¾ Ç{¸ˆDVÿ fžà—©+«œBP³nAñ÷ôq?÷ìR'>Œ­è +rnZ”†h=>jokßßG¦1˜U`—t*—F†Ü/‚ÎLH·ëÀz ?ä03w¸IUŸ§1ª$YæÿJ)>C†ë¬Ê89˜­Â¿£ÅÇ—l)Ü0^zÊš¼! Ú`7œÃ ˜K)£òHÜ^x¼¼U·r#KŽãu÷$Â{Ðt”'Èÿ± + +o€8íùÂ1™Ô+ïäŸ%S`÷OT|r† ¶7Üjyýé©h&Ž­ã’@iÄ5v\#)ÚÛÐWwˆDX‹_[{™Î5 t)µF\\"Àrœä…?aù×èH÷º>ƒÂw¾h}jŽ_‰ÿ9¸X…ÕiŸÑ®ÁÀÚOÑ”ÝiØ ÒÔyoC†4¤µÓT¹Ñ‘;ßì,ÀªGO6zK'Öû[…èÿ)*&œÚº¿²ýx¶y™,|Œ¯cÌý˜+‰;!ÙöuQÚß©ÉVB©W”â.#ÚÑ%›Õ4mò¨±<ãåò¯ +endstream endobj 631 0 obj<> endobj 632 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 633 0 obj<>stream +ÿÊf×ú–hžö3à09yÿ½¸e8v™ŒÙŠ>óô Ú ei¨ÁYJà êÐÃGS4d!ª¥kô!’ãQßÕÌH)çŒÔO„»,q5>¾'L e$7-ÀúSæ\oH +ë’&¿x3Ÿ¯ˆ ’Ýí…9™‹å8 ÇbôQ=ñ´Ì©åöC¨ýó´HòSÇkiì2+Ç4-þʈç,¤?n-sýÿA£a¤…ÎdžUbu‚¾Ù”dg"cù % Š9Ÿpño´Ÿ:³pJ–hT*uÅ45µe˜°{%Ê7€ß$ñz‡®è?ƒ‡!:•_ã2¥;WÎóÌGó5Å(G,À-.óŠöõ±ÃÏKXƒþð¦œj*´þ ¼œ!'¦{b×4Zñq3 Èå}ßÀI„ŸõM,])8\ƒÞY3Æ?~ÈŠÍm\Ñ G§ˆ­<µ¸Î8æªÄ¼NÉŠåÿ|/»ðè¸FuöüSr:¶1 +„P Š!ÊíTB‹LiQ¼ðW•õ3.EçY¶öÚ Š„”Låž«äa»fCÞ|dZé©¡Å‘ +áM¯üøÞ,ô¾ÚSj;š¡›n=QN÷*Á[•Ê ×å[ØUF_êD¿ˆE#ÈrGLE"ö5Óol…ž§ÝòÜJnâÌâ,,%B½ývœ°?e¨m¦¡¦fðÜß3Ï¥°†JHûX¤Ëц yw& ˆ”SÞYY7¼ûÖ‡Ð-PÍ–ÄÚjG?y  äütõ„ú ¯î 9¹-€” Êa’9óº ^­(@*Ú·VR“ë¾8¿®±þZTóƒÜ\¿J¾a)Õ~‰ch\Ï1êΦc}ôqXœÊA˜6!Ísš¬."~HWbY c„7ç§ET—ƶ¹fé›q7õ! _´Ì×!žÓo6L«Î\>E;"’@Î'^°Àf\^S‡ÊÃÄ1¸eç }z°·?vlv¢ò8ʧ=ÍõÄœ¤+AHd…—ëE'»3 ÅÍ{æ‡d&ö™yÄŒ`Ò' *§qzꀦ5Kâó°¶]q_P’†×ÿˆãå—€.㜤Ûr´£[14qsÉ©Ž%\k'TSÚÛ-Ãœéí‡p³kCõcÎY°-Õ°ÅoÊÛˆ ©G`Šû…²¶FÏûÓ¢>Ãçõp vÞåSÇ¥&ÏŸv§obž…ºs6ØI~ÃÉÔDôW“:1/a¡,¾Øì!qѽm6­Ì÷Ö3‚©­~…ß)©)¸Å}Ã2¯ÉSU)†ÒÓ …ä´yî“ݲ¡Âê¤\ñg×@„à1¦®šÇ;()…¸®¤HQ†z¡|û jœ$*Þ¼›ÌŸèr–´å¶Ä\Ô»qW¦Ø@ ìkç»ÊÆû}W½owÕšv’–TÖ'“c8 ;l› Tæ’»Q¶ˆi°³<¯FN9€’äc—ßRß"ê;£úi×› álöÓCgþÄÏáŇ`ÝÄ{-”ÁïÜOîˆ2È'…JkÕˆõ^òo•Æ°7Lo/ Ô¯ü”T!±Ñ`ñU“˜s„Šh^0ó÷µÈYHÀ¹ ™<²¥m3<äˆçÎî‹Ä0 #Yݾ¸#ç³ èè•¡nQýeçDÄyت‘˜ö›Ø ¦Žïeón[˜íSæ}Š«ÅMáH¶~=·YxŠŽ5Ø&Ë÷ÈÊ’$º„®ÄÚ]±’[õ¦XlLë„EWëýº¾Ø ÚIZwâbôÌøÍÓø@Öd‰§/Ü"zÉ+Çö†‘fnh’% Å6w?±—Ê!‚ \1}â}©ûþ³=]‹ÒvÌTyy™™­ÚÉ’Þ;?ÞÍà•0ी[2AŠ{‚ jÛ¶SsYå?8Úq‹/i¥Éû}%ËúXËȲڀDvµ;ošÐr^FVI°F.•Q ˜=}`»Þê#Êœ/@œ3×/­; 1Ùgb¨2—ªÔ 3Mªí}ºÅÇ1î¨6l¾ë}+­Ô VìCÌü¬0‡»«y¢÷]Ö³©\ Pm/”ÞÎä‚y‹ ×’ÒÐÖº"2›öpY +«²äÛ¶,“þhÆM@Z'{¦ûGïøñÃV +gøäÅqŽÈ¢°ú`âúRÚ Fؾ³c„“ˆ LO…¶AY6±æwC'ƒ[Ë£õH4Ü¿Ü^”˜ß|9f6’„·®‚>‰6J¾¿½×‘ÄÃÏg¸š7¥‹–@—¦¬~ lá©E¦åpÎ8æ-@NïT¡¼›aûv̨l"ŸpVs6Ñ0˜lXûÖÒ³°âÞ·šâR½=+óª0d¾â„‚Šõm­´`Û]Üëû"–Øþ‡‡ù´½Aܨž,îK­Bkn5§¨“ÉWr Éøõ•Û†]QsNê£rᩨõ¯®ÊŽ¢¶¬:æd–Bííó +’­žª4ŒM?r—3ñâáü¤Ã 6káµ/œš­¾ÿ˜IP¯Ì‚ƒá'ÎÞÂãP3©5ØJý:­êæfÇävdzB¶‹tM5è»7FÊSI‹ð~°"¡(XšíˆèÓ_O<:aú¥™Ãt6l4A½Ok*ËwéŽúHp8©E= .QTI˜K¹›“Ò´HnºŸÁl<ÿÓ‰½šÊFQ9~ .|a¾ÛµÖ›i%À•€zÝ>i'Š†Z t,AB%‡eWüæù}tä”-‚q‰/CIþ²U==Þbô-qäƒuÖ¡™w§½Z·²£Li l)u²¬Y6ÕrÅû¥£'àkŠ¡4]WÝ'ÆÎ:z•svþŸ”#/“¶aÜTkÙØ@p­|š8pdèi@GÝÈ—íp×ÿÊÌcÒqc¡‡Ï<š9gb×ó#MP²Ö‹ËèpjÐ@}Ìç.Œ–ÿ°„[ZÁDÕäIçïgê«ž.bi/Ž–^ìsGÜåcñý&7¹ZÙ5â¼T«‚ŒÆXÑæ;ÃC%·lõ˜xí'U«çëç¬=ĸ–„¯nÑí³|.‚*ÙÞX®‘4ö?}V$õJŽ!&àÑ/ +íïÖ;~¼Âç^Xœz©ÏëE€ßi1ö¸˜BìÄJ$5x +Üà”S¢½^‡‚ÄÕ5—[2¶[Õ·Ò~Vh1bØpËf „GWÒÏþVÇ9›hqdîÞFp¡x]ÆÚúôùÇ.3C¯U~«Òý"CO4D01n@‚õ« ²QÝRx¨^|\§Ù?ºðÒ«¿Ëðät®Z7ëAþk2ýõc GçÃbF’•¨¥¹§Â€\%uNÔS,3Ø [f¢Ä8ðg‚Ⲳ͇¢ñºÚ¥FL¬ªT7—aŒÏÍÿ@i#}dBʦɧ‹õÇ€øùôhYAMÕX¡ÖÊ¿è9R¶¬ý7ÞÁÕûu9gÝô}»ö€H€Ùøä0ÄN‰¨A|M5¸'7ƈÔÙ* ¸<žoà&¡”=zðF+Ôœi½Ž„ !Ÿ¶ˆï½7LjO)ap&¢(>ÜY1Ïã8Ò:¾À}•:×.ŸdëÿŒEé²¢¹ðn[‘a3Œ™«"¨6œ~WàÙŽMfºg ùäÜÂé!uæé ö¦92w§…hšæYf +@A5œ‹žp•W¶)»Øû°8 ìÔåe P ^פcZ×€h|dq톅rwZ£õУj,be„éw¾`ÙŒ&oc¶8äO¼‰yí'Î&eœ‘eþñ‚I“þ$w³ÄÖ3E‹èÕ VN^B} œ²¢ñÓÙ’ñ]ÒP.þ~ÏœÎrÏ¿z€>+1ulË0ËY…H6Ëf$u×nõÇËBœh/„ñrà ZM•u2 +~·°Ê‡Ÿ" Fr$L'nòÿë¹Ò°yûHGØ,ÍñŽÃX7»àyxÎx¼ß…«:"ý­B=o«úÖÑs°zàÉ#XÄ^Ò‚{®_ÈSüw°| ÝÈ\Ê›àbT£‚TÁS…„_ŸcÁµ•6ãN˜:> endobj 635 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 636 0 obj<>stream +¤¤$"vË™ +!Ùn„äÒ©-ÆG­UéÚ8MŽºâ÷qËðPÌ°¥öÕÇ`ÎÈÂÞoÔnõ…€OgÖ8ý:£YÚ¡šÑ›F­õ)ÐþÞ*G,Læ¾'{? +s3Z.(QsLª†jQ–ê-‰J[žO”Y õ]¡D™P—»³pY´Â•þÿá-`n΢NIoe9{j–MKàr… Ð]öUÒ¤‚6?áz~Â`9‚ÁÓIúɾ…pDf'ú©{³’Ñ1»pòÌ-¸%Ávw-½¬µ®¶Ë''4{\*ƒ>k誴`aÑ‘ú"h¶øo¯˜ý]™åÏ#Ùd•DäiÓÀEˆ!ɳÆfãij¯nè‡Ø«Û“ï€ÁG+ÃÏ¿Ö]·ùº®„Þ®ÓX‚azþïižD¡  ­&% F««ÙEº>¾J'@ÅÆë²P bڶݣÝ^Bj'bm#¥Ä 0Ëé~` œ8¯¸ØT‡JcJSüÁÄ izAy®¨¥•I‚ ÛÛ:“ß^IOÊÕ,K‰ŸØÉ +ê’§*Ij„íÚì²zã ”l¯­þEšÖlÖGÃZ·Ÿð'$ ) <m!Ä6ç× lmIŒ/§uKil5@™¢lóŠoÈê·A–´¾Ñ0¡€jS·Å=‡u‘yQ6ÎF™_—ßOPû0/45ßêÚïsÐ…Þ­åE¥öijºXCÙ¨¿Q.·(,Kê,4Lw³°œ[{À9¤uMéB—gX’[´û[]—xÇÒÓ¬šÃ!ÖrŒA7äËB?‘9Í$\xm©JyÜŽÓ‰¤Ó¬Ÿïý©Â[u´¬„pxNáuˆEÌÿÿîÄ"‘7Í¡|*¿Gþ“ï•hàÅè)0^ÅC–<ÓŒuÊ^*ÞR ÿû¯¤¹Fú¢=ÇýÝå … "1«¤,¹Õùc*“C6âÄrÜ¢ÚªàKÿõcßƶ”hÎñÌo)J7‹Ÿ@)[Ë O)©T0ãevêE¹>ÿ ào|iú͈&±ø.‹m ÕÏT](#Š"NÝú-¨%cÁj“hŸŠ¯y ßLwQ7ÓMO‚78ÈÑ_šøß©D9 eüÙz!ÐY kcF#l€7ØXÓÿ²qeGùŸ®3™¡§³â0V•ýö.r#œöÓ¹°]3ÛŽ¼xN—ŽuæCDÒΉ·Ä ,èÚƒcÃUÞXLüN(„¥ )ý@“á)Ý –„° ›nm…a§xfJ Ë·Ä¡6™x&§óí]·åû½¦‚[™œû =Ía'‡²Ú˜ð&Z¦àþG +€„ë™àŒÕ5€®d«*†ÉNžvÐGÌËÀ&²a•xŒñØårüÛtJû|S¸¥™èi›^òœ²§ýj‚Gª[è¦Pà üò…"îu¸£d¹UAî•Ñ“.,7((W2Z,§eæë‰w !)Ù7Ô·%‡ \ĉà]tG™h’$©<¡Ò•Úl‚¥¾v0wâ“âÛëj¼íy– q§oÔ×a?0ÆÏ„¢k"m쪉[‚ê如㻥ÃP9)F[‰»ûÜá)x»ã弘(Ý"<“,¬g[áÙÍT“þ¥½L´ÁŠ"9¿$qP¹_ç “IÓ Ýl{lüÄ‘ÝÎöUîæšÃ–ønYg§ È]F¸íËjjô«‘‹;F„Ý%ön«ŠÏ¯=áÖý-$[Á”ªÁï`XSPùŒˆ‡dÂ?=CIAX¡¶­¿is}K¶Ý:)&ƒ£ !ÂØ íN‹Žwpƒ^{ +MfKIÆ_öfM wX9£{1§N» +Òpq¿áÅÝpý(2Pô‹*2[Üšë*`I7‰ rúó$">åSÚÑHÖZµ0»°NŸ¯ðL¢Eˆ§^ø‚%ÌlúT°Çèõc,Ú†¿ ü=…‹L\7Ö¦uñ3RëÁj‰v¾%üˆ¯ëÖ?“þÆ^¯2RÈ£3Iw% bI‚Öfd\½ÆoéË:2!M’Ý@íý•¡ /…îYgÃVÈ´*ód…4nòH£ŠüŠÑë”RZ¯‡­*Múhê|y<ÓýGÍÐ"P¯î“®úmßfqO(Œ8ýf±ÿO¬ÒÃã)Ÿ,hÂ^„¦Û!¿è´yœ;Ò™GÊqa<¯ƒÈçJw7\€¼­ÈI±XxÙʪ‹PÀð5Û[D +VÀö£˜aQ³S£CôGÿ“éS°~µiùÆ,®ÂêÞ&_÷‘ ã+ÐKÁt1‘9~¬“‹Øhù¹Á' ÐV +K‚Ù£u8Zè`Ó9¸w¡ª÷Ç£z9/—ÿRÄMŘxÿ¦*‰#4«ÈFSÎß`A@Ÿ¯—NÝ8±Oók½IÅYÀYºªÜf£ŸFçø$žÅàûK•ÍXî³sä‚0Rtâ£ctýolð`±'ØàÈ¢ÊÙfß=BŒªÒòó³]¬Ò"ØZóÜW Sj›Ä¡QC¬ 6¨²Ë›é¥;wQÉH„Rtç.è¼ßM`C`8âßyÂýé•{Pªp…FÀ=7up°kapœÕ¬þé€ë›u¡Øï …Æñ~¿k•b*¹ÊE"g»›¹VUß´€˜4Á{1&DÜý*[@bBg±|Z¬@â:„•ˆ,r®€=•¢Ðÿ|QÁêÚ~à×’µð¯@Ã*Xa\×Ãå#ðl®ù§Ýà-UHÅ+mìe›ãÒµ +ÒŒ¾Ø7FË+ø‘b–äME†…lu$HÔª,‹÷£ÃÒ†ggh†<îÑóë7`ÿ£Ç™òUBÃ`Ch§sB¶›Ì¹IGN/E×ø«Õ@øÚ†5r1P–VðÇdÚ­œ*ûP9Ìb^ÿF(ƒfôYëA\åŒÆÄ‚V†Øåbyï{–¬Î`zªT7äߪû?@ÆQu·y]Nj©÷õãùt‘ p™ 3{|Ô·…gñ?¯ß>|"n_ôü“¦rX7`+9/…»ŽCÖ0Dþ!Œ”ê‰c»=8ãy´m\…hM¤:Òü‘ 󠯵ñ!•U’¥H¸ 'ŸÁD™ðÛ±þX5ØtX¢Þdr¥Sj.Wç·ÿÖÚòIRÇ »ßOØ…¨Ä9–½Šç›l/Nm^M Gˆ[…•’l†Édz—ìÀ9`Å8Qu@I'pªZ$Žoje6·<…‰ÀìãZeÈ£D/Cê´¥–`FÊšÚ‘½ŸŸçÅ-/!°n_¼· Ë·7×Z…6»Aú‘.œb£G9c~óbð=Ž­r™ùQð±9ÇÄ.wN\ÝþÚ.vÖÖgÅ âµ½Ïó¬72÷3WÓŽf(ëÑTvæã .qvª×AÀ\þæÍ^u±Úmš¢ v[(ö:Ì.ý¼”Ӝ͌!xIE»õÈßdæiBVvŽ‚fÆ–‰'¾qkò(~èŽbêpü 0·äeåcBejÜóžWòíÄÀ÷G‰ ^w>1½²é>Mff|‘ˆámú§…V$¬Â¹Þ€[˜íÄÌéÔîaõÙÁçr%°æÔ:iO”ep»*¡ûŽ|{£˜ÔæøÌ{¯“Fí'%q²ˆH­ÔFã<®å`{®Ç Rλ“„šuüøÍhÏü'uäj†{‰™ +µþâ%}£ÛÏëHÌVÐDâÞ: á~ï „ÀI '¥Í'?,׈ËÃÑ4¡Ùñ¹Ò)_*Cµiæ#ï²Ðå)ZÙ¶¦%®;ÜI£S‘‘9ö C9þZ'û}ðùŽ °#ÐZöVGfi!Â5D¨þƒa¿€·«5-ÿAÖß¹CÊ} ûÊp6›u5‹úm÷xö.úˆóoåèDÀÌMà5~Ђ¢¾“™åD¦HÒUõ H_ëp…Nb[º@q×Åf›4뺇O)-!Ä šÙÃA)ä$÷ÛY£›/A[–=(¾ üŠ‚†)=€ø#M{uÿ­\h¨Î'7(­‹°|l Hî\£ÓƒÖhL—O¢Ÿèe@nÝðN¤# ;@†ƒ;ÛâI6ˆšœÌ5d™4ÿ·ú Íè†g¾F8l26 ûG»Yæ<4?àò‘Þ'îh›‘9šxüØõ› Hçêijöîè[òq½NDìÏ|Ž6/»‰¶Rj›¼®!ļbõ03”¾|ÊÒhð.Íc=S¹—è Û8jZA? n@.ÙL#¡Žö p´9Ðø>â–#Àå²?ÏËI!4<6A)?)™}æ@a9¾À’¥Õïç÷KÿqqÅ£2e4&(:æÊ6L¬D_&=£4et€²øü\—Öþj‘ؽAÀžþÜ¢‹D6ËU‘v¿–Í^ÐÜ ZÅ{1ɬÈø-œ'kI)D™0Âœ9†-kŸ·7 +.B½þ@K¿³§S¡ôÉùC„DæÊýÉÒ·ä÷Pë˜ÿ:¿Êk€—Š8èh}»š"¿ +endstream endobj 637 0 obj<> endobj 638 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 639 0 obj<>stream +PñĆàá¡0sÙ©&n‚òëdôë–÷ø¨ +ÊȧÅ#ë¸N&¨¥¹ ¨_‚+‘äËFó2À.ýt;¾Ô¸â"‚Ž«jl]zQÉWXV”ù{¶P(Ï_Fº26¢¶C}PSZ)úRT&ò—¯ÒU –;+‚Qä}!ÈOö{ùL¢e–©äæ¤â +¯ŒÐÇ'ýFÍÜ'ŽØ#6µüVD‚´À”Ä%†1 ùÉò_Œ˜¨¡ó…ZѵH´zj_Ío¹xVµ­òhä_ S; Ë4Íx©ãwÉ`™Æ“¶èÈé½°Öå³_êfâ[npÝå³Ýï¯ +âÃC/Ù5&fGõ-µ3¶¶NhE<¬¥a~d ï*fNœ{Ây o ·÷%«0²üñéU˜ˆÒʆ%´ÁâAèÆ(ÒB)9X–ü65»sgsù½,µt—yÃÅ›ˆÞ_Só‘+‰J2¨¨ F }˜i!xþš#Gø0M·èW¨ ñ€ìW.M˜·=È)¯|ÍÞŸgõIÚ5q —ZµœÆí¦pQ›\9)rùñ*3(ç ¾œbmõ„É÷uQ®F]E +æU¶'WpXW:aàiAymS.Ú~ôg<²Ò;ÕÃ9ç`Jì3ùx·Ý€1Z6â+m±ïG—‹¬FÐ5«Æ‘ŸK;ú13C#fžÂ ­Ÿ²šÁ-ø ·¥Êƒ]%Ý×*v‚àÉÃ@C¹G™I€–ú T¶n)Zž*ýWÔåÇEÓk‘¿¿Naì“Rî"¨‘NFÑ 8¾¹ê„Ä"Ç—'Á±$ZÑ× m +:Â_ÄŸLYý(»H*Ì ZrpgѪÃÕ q…KÎ|LC䇣ÆHUõÈN­F£X2ìÈß­ŠVlgÐvƒA#šw¯í¡¥ù0rÎʇ/ÈPÞÊfY„×5íüöêÉ=ˆmÅv¦!b©âH¤õéj˜7éöŠ²µßS-™H´š:,–âKz–N—gÙOMi6«Ýv¶¤ŽÙŸÏ;i·ÌCÛ‰BåH¹XK“@A®šÃ:NŠ?G­?¸sç½âž_:ØÔ%Câ ·Mrc?7yc«4 …ãþýZÍ‘jÁÍ;:cÒÄ)“JYÏÖj3mUó¯"jI`±²Ê ņ„¥°µýêôQ‚,Àœó¢°¯ð¬×[jî%ã,gS¡x3æ/Ïyv·G‚&8^Å”ê+€9Ÿ‚mQ­pýÙ§°Qƒ >;ö'˜q®A~D¼—Æ]SÄ‹Ûlê¼Ð`†¦syz¦b‹@çÀneƒÆ¿ô*ÂaŽÃ›µ ¤B²Y½YÊÕ-VÌiîid,¼jçØã|jnëê5õ­ˆï»Äšý•œÿ( û~àªÈáž Cz¹c¥ ^Ã}ówe}5GãèeäцŽEÊ3”0ÎrÊjµÛ*OÐi’¦Äáwjw¢¬ÉžG¶k3;A¶×Õz>Ü"ÉîÛ\,üBÈ +?Çò‘–=ä\±÷Ø·WyÝacc±ê{÷(pí º­]«!õæÛżpkᥒ(ÈéÅ2ÞÐíuËŸÂ2>¶¬4HÇ? um’.^7ctå[ŸÕA±pÐÖ9¡I×5uÁ}9¡1“fõY‰´]d&SŸÆ;NˆÈLs¹¯*…5Ÿ)÷_¤.—Ê“Nƒ>AøÛe”‡ÒáEx¿âJôhÛWaã–mó\ždÃ/c+€îµÆ¸­d+·Óà/ñÏ£ýFBÆï®’htßÆÐä8ÆjM ϱ³?ßELà›à+¶»avƒY•³¼“ó0!±žqJ¾Ûu®¿Æ¶°EØT‹Á⤠¡¥a òoš¡ÌØJ›"ÔŸ–¢•‹gS1L7î ‰¶ÇXü9,bz— [²q”ÎocjTŸXœd«Ò9 ÷ÍFác¶‰WWCÙ9mŽ5y(sÄÉ­Ò5¯Ð#²Ò>ì)“×?ÉáÅÃlZâ:€jE›¢SŒR~Ãô*ûA©ˆQÇ}¸}eIdT+£ážKðEÈ€èJhšÇùœ,àr”~ŸZ²Ë;öÅ'sÝ lu¼éOÎ>qú+½&nú¸ ŠŒxLÚ‚v¨çòAš¼ï)ýgžÜí :;²îÄÑvþ9Ò´wÓǬ ‹½Þ¥¦¬‰O÷ˆwOQ>H̤š sÃÑ@ÅÅhYú´nÆ÷¿Ôâ=yÆïùZc²E^#†GëèÈ1Ÿ:c:âÖ—A~v¿Ïú}¾A¢¦ÏThÉx¥QNÚûzËù bfè;Xûï‹i»‚¸øW9˜Å –Îœ‰ß¯÷É{üH7Ô´$À[íÄœ|ÃÔHY¤m0žW¼·i .‚õº|L”çŸy·9ѨÃgÿ´ꨟñ^Ý…ðL5†ñF߆ßáœãxtL%*ÙrÃÛ¦ññE·­ ·¶[EôÄip7ÌÇ™ÃE§Ñ]ÙÉpüDƒ< ž»ü™Ånw¬b8ªàqzZ=ÌC¦…uì–ײ”9‘ÎÄpdìÍ„R&Ñ:ËÍ ¸‡.l}˜ãz쇃ôuJ´LG³}ÙÎkÜ/æ<]hÇ@†ÿSy)Ï!:Ë5ÌúCE µj€ôª,\YçÆR‘m’¹ˆ1~OWé Øþ‡ú¼]¨'Ý p $¹ÜID)2òËEOä1ö<²•b•Ã‚ÐB¥1 ”¡ÅºÞç¼¼ih­"®jmâØž¡çç•ï­­š=¨mœú;™¨Ã' šx–ýùa£›E¡V4ëI46xÓ¨þÚL +*ôŸ#Š3«ßðÇõË[I%&O9ÁµL–\$áJêDA™wÞ­ )µlhßô‚HkhpÜ“ì]æ­[tƒX ÿI½#® íÔD]©º/÷[QTJ¾±~ªûx†„Ýô"XL§Ròc9)Bó‚ØïyJ-ŠiÍê#”¼(Os:šsº½ó§Ùè–o ˜ã@µ¼3ëù­rj1éŽËþÞPÎJï +éCËlgå^ß"Æ;}á²nûË®ŒÔa¸àÌ +ïCh)š|Îzø¿²ãú'ÝgOíR½°þ¯<+g瘦ÿ.‚¯Ï"´°*Ñ#Ë:î®,ÔjRŒÔpžÕþÆy]a¨.بIéMj¹ÔFfIŠ_K‚Óoš‚f­‹n gQ¶»Á)te‡ |ýÝp Q¸ƒÛÌ®ëáê®eT9€€±#×å™!bÊëuœØ7?£a£Ñ +endstream endobj 640 0 obj<> endobj 641 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 642 0 obj<>stream +X'tXÐõŽOSÂøšëjáKÒnÀÄšYL]Ê5†}æm2– Óò[³wz·8_‹€Bo?…G0æõèT+éeL}ó~N¥¸Ée«r­Tn@‡B±vå¬ZJBEŸ"-Öw'´{¼iÖ8ödö×ætXz—(èÎç—9ÍØÐÓ…„vEvet(hA[á~^\z‹3@ΣߞZDѤ²DQ’ª¾^e"Ÿ¢†üô¦Â\zÅáÿ¢K‘Àlõxð C[]Ú÷ë붳UÉîpÄ»83°FYѤè[Š«˜Õ +ë‹ àNý,A£l-±“ºÒƒ0IJ÷Žö²UpªØ+¿—`Ê” OßH#û 'žÞ8Æàm^†ÆJÑ×Íæ1%_ÖÇõg>„,Ñ(™¥Í +/0­Ä{KTM£¥vºÂüvø¼šÇ÷ô“¼`?ï… Ô Áñ“›‚f[K` cÔáKÕ¹dy‘IºëèW+S ñyÑ𠡬Lïìñ¾ÈÒ³l‰,Ê€]ÅíBPéyŒùšö™)»jãQØàÆH﯎£ðÆ +èl‚‹ÿ•s ¶¤] +«§7€ÈŸ|Íà9!?(ºhý i6) ÿ㙚"Pgf†ð†˜íÝ÷ Ý2h¨ò±_/nðMP^Ù'ë§n·Ý)ˆeúºMqL¨ÕØcÙj¢&ûñC’sÛ€™³¡®”º }«¥O~¬y¾`™„‡VS‚èÚCU^Zò&”ô^|Øúð–ëéZͶ—æ€^t'H¡Âà÷–s¡Ýoq*žßR1ŒBtP ÒÝ"Û$6p¸6CG³ìsöÊÁØó,ÖеO}r‚Ýω¿kçIR.<áèÂRÉü#dÉ”IîÝŽKìgøePa Ê+l\£S>dèèÛÚȺYŸ¹|>>“ªJ#F Ü Kk'¤ýúek,ÿÅyuû@ç ÞÊ…+óÂÌptm¶Ô{Âû8£ô@,õ1oçXÆ[h#4ït2.š÷RŽ]9v•Ù.x\Sܬ†¿8PÜc‘Ï–Šm Þ{–„'ÉJ’ƒŠ çéÁ¥I™O/%N›¯è"[s[!~LPÍMãüM{…ØÁqÛwç `fSÎw#T¼š=º’È-»]X8±W—¼t®È$ÑA˜¤T*tÝÜF´'Eßx®*t}ƒÒ‚å÷µh€'ëyYôzO”5[7=) WâÅöÉcuF1Cko‘ääT‹¦Ì aâþ#p¸Ø7¤„ ´šÅ3}x\Sw0u›ú!®Öì·"™Dš s¼¨k +|ÂLÀ•c†.ÚQþnÓjž™.Ç´.ž¨5égç",í8Ù™ºZ»(dÌo¾¸'%ïe4O¯Â÷X,ûÈ’ +endstream endobj 643 0 obj<> endobj 644 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 645 0 obj<>stream +|éñÒµ7pÃ%ÁPÕÎ^%ØÅbà÷#â½|6î÷èh‚mY¦¢¸éoê4Ɔ ¾—ÃÄÎÙ#­“å‘a$wUðJYmò&hP~s—íY[g>ë9ÿKáÌÐTô…-CÊû>¯«0qDÛ$Ω€*¼ýˆ¢JÇ…(­yŸÊ#u[åÊB1ƒßÍÇ ÇÅNx”™så=#pø˜ejǼŒÍÚhÌ«ý:;ÁNbÁ¦¨pR;¢zD¯y/¥~Qìæd€s©2ý”Ú®EFÊpšçÊßú£Bˆn§ '_¼0Jz¡A‡Bz%£­›ãë5¦µÀ*3ú•Èkõž–Uz"•“k^l¸pšŒÞz‰b‡ Øæ2¤^Îáxè ×q†`9²‰AºÄ RË™¯F‚·Ûlq»Ühû(>mÔšÑuàf&!ë‰Ògæâôªü–³Û*:6‘°WÙ£AÅÖÌ}:U·pË €‹‡0Þ[ +q&ôq·ØÁpÄSýI˜¢÷_R²ÑròþüÑë%"SÑî¤ïƒ*Ù“%^Tp²Vä3 Õ aZ9Òd‰@¸·N-žå´@’Ëå‰! Ï“õhº“\Ìžè(¸Õî|lo£WάYø äž ]&ÒVÚjÕ#úgº$qýÝÛ+(p‹žãörap‘ÄŠNŒub’—ˆ ³Ê>h77ÊíLÁÇ_Ê~huݱ¦ÊƒJ˯=j„‰z´ÌÃüÖ/ݘ‰"hÃHM* uä:GK¾ãâm¿©$Þi‹˜dEq=Ò­ŒKF\ᵨi¸lÈzãæûžþÖªÃ,öC£HZìœÇSIÂúT’®rìnJx^猊bÙšU’&½ùôŠ8°CaTŒM`þý¢qËu­tH>é]Û×)eÍ1[ð°X-¨iOüYáPÙ[à—š•2»K&Vf\z0e=EZd?A¤†=¤ï½9uE†ôdèM¾×'É¡#û 1¤”¼¾`;_UBØŽ}Ê›àë¼n’à¢ÖÇðü¹DBŽ.Ãèoì žàó´¡!ÿ†ˆÔn^ð[}c‚ö2–ÞÓw™¹—g+ç4I£ºÏ È3ÍçÛËRtƒmJo]70a|pÏ®²1gBÉ~§ŒØrÁl(9˜Eãq—ÊÅU+%\3ÂÅRR4òm‡½¿ |aÁeì+Àé[A„#€Gä^›üÚ“¨z>vu$¡eQ$RÝJ–JÏDæŹ5ö}v«¶¸~`æiqÊ–ÛA„«ß¯Î÷¸£P”yÉAp«•õ»{‰ä´+ñ5ME]!÷– B\Ó›ÐÝg))ˆ&5÷åb%à“¾+¡dI¢¿ÕBÌžÔw`‹P±3$ƒR+ÜÇó9´;ÿQô¨ÿûµ¡ãGÞ¥+;.èùšÈ&h÷ã0öÖRöñ +¶¤¬¸¡ÚÒc+x3—1@f,͇ôìݓëî/–½ÁXMƒb¶ñ´ŽªåÅJË»+ß±3¹Ïä-±àœ[Âz0Þ. ðÑĪ_žÖ…ÛÕ áp!_C´È +é=T”Fì£(L`´.¢¦‡uþŒ„A|/ünÚu³0þ ÷¸—êU´†o’ܽw¯ÁusŒ4†ïO>TÖQªNtåLm¸»5ÓªÀ zûŒ6¸ÀÞd±kËånâ±úÅðÉ¢›1ÉYÚ\—ã=òOr@³û‚«—g€¦ÐMTR¤ýíJñ/iÌ>vüuP(o´ôüºŽöàsŠYqÌ…5´žãƒWN—"R˜=T›@¶lŸßÅ\œò@¨†“pƒ!²ï ä5ÿ«”\ņò;vC`­X€(ÂÇI”d[iºÈxÕj(Gý¹ñ±Ò`€Of»±»ëÎ:`ë†R¨+|@6Çé% ʬ%< ñ +¿¤9Þ_ +wǯk€yÊ[RK‰du0”B„mM eÚ¿  !µ~ÝíççÄÁé2!bDÉ~rÕ‚þôØUí•í°I‘rv1®°¦<ÒíÜÏVš_ÐÀÊбdAÂOÎïø쮑ZGSÈ–d„É€ +ÜÞ²²ä;Ö,QmØáµ¾váfM­íç­ç/†“'è~Ú/ÐT¢ªßܬ¹žê% ½z¯ÛöO~’xÑœû𻻇a›sÍ× ~Øt‹Àø¾äz'(’…œzìàK!ÿ½é_‹:u:ºô0“#¡tÙ´Ìllœ#;¶;ÎæI­²Ò>‡ÐØ.TÙ{÷.zÑS‡N9YZzá¯Ãâýòr 'ÿ\×{•Ú¿ôÓ¾qÔ5И…ïö2@¿s)ÒüÀ¸O•pVÝê@ÛöÐÞöçŽè"¶]btÅeRÀt7ýÚÌ +놵ªDòô[çÀcø<«ÍY’õÁW‡C½a7FòÓhFø9¼þééýËPJy&~$‹HÙÑžtV<6[[ð‹ªØ /]9zÛè•*ë¤ðw3–ÖפJ´ô'•ŸÍ‹ÓH¢m‚Óä,žã©]ÃåÌ• 1gDtÄ&ÏK–é{B@QÃ`ÍþP=íf§ËÎJsfh3æKa‹iLý§- +¤—Ì­ñÑ”6ˆ‡`À/§9ßiŠÈÒŸ³Å”Þ‚lS > +)~nˆl+v×tÞ¤gú×Òê2 Oøzð«!Š®È–±k¼Qv@ƒ^Y!žÃ5‹^D¹ÃBÛë¡ O–‰Ô¡×桬щ·ÎB„Ñ>•ø.<¡ü‹‡3bÅíAH’«FpT5™™kÔ?‘R7E q5ÔpפõZˆeûÉ^Ã&^y15Yÿ³œwPš4iŽTvLÞxx¾Ä—0ÏÉPâhãÞ\9Õ`ŸVܧ|9B6+é`d€ÿÕä !kó@îµ×ìÅh½Ä¾¸ÖwéãH:¿1fóÌH¦L¤ÂxƒFòÒ=ÇVò±#±çŽÍ…â4+kR+¹AŠ1ÄŽ­ŽDG̃ñ¶Ñ࿪xqò@cAQ»‹d¼Å0ñƒp9éîÓ´³K;}´ „ôÔ˜0™Í*)n6raQ%ãÞµCŒi¾x™|&àp–¾J¹ž¥"·Õ @ 7ÀÞ±ˆ/€”Ý—½æô1è3UÅOª”/Yþˆ³øæùzg ‡0§àÊÜÉù¡/Á°ôDæGa•Y„cé1ú?TÇp»dÑ°uaÕõTeÁåänBg"Ð9è>ÓOƒøm*ðö„"Ÿ®:«&ÉYR™ÖÝ÷Å´KÝù6õÿˆ‹FÒl:6ƒß/é1·v•GÖwg¬#?àÉ[Áo–¸yî€Ïˆ%¡bu:‡¸l(ÂYÙ:ÄV`ñ’eõ\‡wê’ž ¼øC udÄ°…ˆÖl“ç"bé*Ô /£ç83ŸõàEÍ-üu]/‡m !Kiªk™?š>¶÷û{wÏ÷’ÁÕ¿ú³¹\#õfñD ½ÎˆeÃåm>ÆMnQégøš-¹BˆKŧÃéÅ +o y¾c°ë¿G¿D†áÎ©ÿúÁ´E`æà„N6¸3Q[Ž®CvLô@»4°ÍÙípö X×éXló¢œÁA5òUV’É$ˆÀ¯¡Þˆr:T†*2qi—“صô¢Ö;oíþ:ü¸·YBë4kî°íõÏWNBzIs0`Žá×ÄÔ®8¡‹ÁX€*¿_Þé“Ò¦å:;¸:Å"je¼ìÅjåLF Q8¥Ìx0ÑÀr|H,ËC†÷…æ4“†t9ôAùo´W„‰)D»­ü ï_qÜÓµ>–=ð@ÔÏT +ŠÊæϲ¥Ü®¶šij®k¾ŽjYQ`a¤/Á=šFçš~ÁÃT$g)l$8†@.W§|¼4»‰×éfB õ½žý‘\7º¢%SCÃ]fà +çú‚éÌ r:WÁ£Áù0a5{\ÉIr•Â.çáx™i]}/[»bGHºä˜_xŸ.#¯‚žªTЋEpæ{Âñ\fÜ¥W&~@ß}½› ߘ•8` +endstream endobj 646 0 obj<> endobj 647 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 648 0 obj<>stream +bϸ)§!•Ì͉ËÆo³ê:£†ìö5u(+šÖqÌÈU|;Œ»P€ôm‡ôaÿðë' ïx,òÐ’ÔÙ+sMÝu‚ö4ÄàGâç½Is=ó-{tCQj*"/©‘@+Ûrbµü:”ÒªI¹éTä@Îé†[ɲžÎ·ŸWÛÏÃà.ûÍH$ïâ×oê2Žð$BߎנJ”N˜jZ HðÍàü{Š÷\édw‚À‚­‡Æa® …e O\«¦¢pÙWù˜©2+öíÆ€wÔÓI‚•n|r«}Þ7=Zdgîåhù|Ì–ô»$€ì~‘ †N _ÉgŸªW>Ý$JÝ-Ú®ÐM 9ôÓ Zø_ܱÓD‡Àœ­=ÇõóP~¤^žöµ×¿Ù‹µfþPN@xl§œ•Î®R2jQÖU±Þ£X™íÿ¦Ò6:3Ýba\/á4í@trhâì§zýÁ¿bØEEx) +IÁ] +~ëÅ ÜoUb’:Qh˜J2}3C—k*ä;Kă3[··7:¤†‹ßÈt+ºÒC QiK1/_á•qC}ã[œ®Á (DMîs‚“ÍEÉhCmôQp­ ®ÄUÿDViÕYîÄÿ˜q¬ŽU'Q(ìôÔ_áFÿ“çIÇ]Ÿ 0&Դ͛Ι¤Àÿý¦Ûk +[èK+ç^¾£¾0ºD×0"Œ¬`. ~ !kt<¯?‚õçÖvì(ÌÕ!xú_Z#GÛ’uÈj*5ºmÄuîèËJY\–U/éáψt1|V ”ãÂPšyèW·­&>P—Nhå®'*„MÓe „i\ƉŽ)ÎdO½ÅD€vÝìe½¸ƒgŽêeÌÂFöZd€¸öŠ¿qÕ­m¨C÷¾»Ìû^ã‘m„(Dÿ©rŽÊå"X±7‘C0&ôo×rNE@ΙˆÞ¯y5òdÀ0Joï¸ÒíƒXÓÀó”iÿÃv:tiÌ®&ËÛñV¢™âTÞ³¥“Qp]ﺨÒÑVñî>{ ð‘ÏÕdŠi¤$Q|i/Õô§a‡U©Æ_G™£-í5ú¯€~GS¬Üíq^ÌǃÎn¢VûÙ]ÿ5‰Iü°xÆ$Èh ÓÖñÕ¬±OꨉFAß|p$h2–I o··eé|ôl±Ö×®Ød'íGžWãêÍX›:ä×[ìQ•Ô£=Ý€¢©ý©Ö)ºùˆÌh&º’ò‘ur`ˆa$ã#gF:‚Åúa…~ Z¤BK1ß½âÀCf^ÿ§˜ îAAýá72YUŠQ/¢®Œ/~h*™ùßä7ÆÅZ0Æfž¶ÄkÁwù‹¡ƒË +Ð…Ï6Õi @ Çà‰O&äãB7ÅÖý»àsBXÀÈ&@ ÉªVÉÐT¤4\(*U$?g@pœ ¶¯ë˜!CEæÓóYLWºà‰æäÂß1þŒ´~ÇAá«Éº]frºÚ:\3rWQoÒ°öfh4]fE‘ FÖXo ÓU?´qX¬Tp1z†wÅ-einq~ïɱ¸rºÉ·¶23\|™½ ³è ÄÍazù ÷ûƒNŒ:†Ö¥]^Ô׿Íú›öŸtF€¡þUŸÃA›ž½â5Uv±¯êÞU?Œ§Ÿvõlà¨*iš(êÕH qhàœµ]v©©&ÓŸ|²‘Ô ? +n‰Ï ƒã•É(ønñ ”_üýª[«#Œà|ºAp¾å#œ\A?h‘Þ(l¸ØÇ#£ƒ3Miš—:OŸÃæ\ÌëKá–¦vlôš[6)G?"î¥ÑFÙÁùK[huï!ÅQÅ>Qˆ×g=QF’‰£“ÌécaºSoR1OÓ¯/†^¼AÓ\ð3{¦ýÇà ÁNñ˜‚Õ‚ð0LìüR’ÏxuÑi,u/ ï ì¬Í÷xˆ^ÍÃÄã6¬ ÌÄÝ&î)g[”~TSR—íNº6¨çÞÊ`ùŒ{{Ø@MÓw¢¸·~ÆÓ‡˜ø›Îõ“x¯i»Š^H_l"Sº –¡½ ¥ùǤ•Iž×ß·þÕ$Ô äX]yylãú1M4ΰ,Ûxx_"ÄÁ:;I"¸Qvãw#fÉ•Ò•åÎÆì=‹<ó›‰Ô¦Z*³ŸÔÀ¢"‰†øsKŽ‹-?d`¸â8Ÿ½Ãb>ug6 p¶åý÷é¾ñ«Ç‚¬~¡“΂ŠðCðwU\x¨©ïn$¦‚Ó-q¹‘¥4<Á»«'·>ÈËB¬º Š‰«ëÇ[Ùˆº£žáñÄôÕcTªU5YÖƒé"îñ=˵CuŽ§ñW)0–®'è{X6¦ÄÐÖ -^`9¼«ñ¨mºV{8[§Ô¿ˆ#3ÝⓆöˆ§óýñʆcñ3GÄIIMNÎ6?þžýq¯N/éŸKhçGšqjÒ›‚þ÷Šû»'…û.:8µ;Â@:°jdÆ?¾ú_ ˆÕŠ¨ç'׿(D+„¬”øvõéÙ½‚ð¨TPß%GÒÛ˜ýqðF#Ò sÜ÷Àmso_ +è,X=%ù­»”D¸”Ü/IîK×Ͳ¶…ôf´öMéÊ@UN¾(!½Q Ç©°LC9ÝTt +H&¢¾Áµ=›z·%MW£o~]?öœ<‰#}+Ù¶‰—UBgŽ]`®!åYøÍë½»º+šëÀ«ß³¯7±°¤Öì û ò ùv`ÍÓGÖD=>³C¯;™3ƒ;¢Õ£½AçžÒúU‰ŽŸWæ VÀ»…U‚£Su"݇èÖ¨ÁqÛ¢Ìl<·t[Ù•šñò˜GÓZiaóŒþyØ Õx\n÷Î{…4®YÛ¸|OUœeá’2à\æaI¯ÖowEfºÃºîqÿ{ž‡–0³Ñ$€ x®]K%ö3ööMOzÅÖ3ö² €@j\ו¬?U PÁq7½w†]å~¡…N„~LÆýÞ«aΡÕ)kC/®n<åS©‰“cÛOd^WçÄ;VOš7—N”®/y°’” ºõØ‘ü?w]FŽXÃì§m‚` •—–õ®[‡á˜q2gj F§×ø “·®£Ï·.æ Ôÿ-}/"—n%š(È3 þ~&ú—4Ì"•smu’ß:ÖÚû|q$Ä1FM§dùÅ¿^ÎæÂ#¿!™ÏÄ¿Wåæ|glN¦0¥·˜WƒÌÔ (ä–TÊ*4 +Q„+àÔzZ­h"ŽZsWh–Ò»EµV õÓÎ0;.ÔÒæ³Ëê=)…äJóŠ¯~ÖJ£'Ž$\iÛɃ@€‹tiDŒßr[ fLìFÚ ªŒ1¡JÆsvÏúþÎc}zËëÖÝA¾.œå~üã–]6­ç..ÚÓ%C…œyƒ£óVF$F]ò¡2›ƒöMþf#ˆäô/ŠÈüâž[·„9pƒ5{f_9n Ž:|~Kçì/¬Æ0 +ù5UÉ<_£øv禅þs§(ýñ¼xàŽÃõ1ãÅüvL8ƒ©qðªLª¨ôȺ» v:Çpùå{à1½¼.ë§Ç™ Ä7°ið*¬¢Q›Â®Ý-8ˆaL„SaÄñ­z­½v9Â`|(ñ ×ZO´¸Ø!çr¥åz9ƒ9 ( Æk[ͺà È0ìŒCc&r ü9]ëb KYÕ¼'˜×QÄÞä8_1\تÚ×Ã)BÛ +àÒh©.3p>i‰º 啃òÄ;"oÐs$ÚáYÏFuMF¥4ÞzF[Î&/UÄ·“¢ÒºÅK~Bˆ :žZäÚm¤š[cÖßk"«šSãv~\òeýVýÄC,|*œw¦BJé9Åüßô2»õ[º–Ë£ ä‘#Hqcê…mØØ•=‚ñöì¤zã')ãB¦ß'Ùž«´÷xÍ_“Üêr‘Ãób +­Iêß,‘¬Hˆ¯~À7‰|"£d|lÿTG)+H{vãĘDG,PFÖkÖyÕñ%ëÍ <í_¨ßªmcƒòlþzÄã²kŸäå>¦TÉ_[³órÊœˆß/B¡Ô˜E“ß*ŠÊ€g~ùÀÀë ( >ök<Ý]â$ÞïJ¨‡ðöp¦4_ÎoÞSæu£Êƒå9»Ö"Ú9nhY‚¤ü$¡xé¨åÍ,¤¢HücZÕ?Æ&qiÃ÷Vá!;h%æ»eMÔhi Ùk¦.AP.ßf„Õµž…Øb±I¿×`b{÷L€[z(ýÛ¬‹!™±.ƒò¦l:Òî G]&z6Ú°žE¿ŒPgv­y3)Œd¯bMºE¢ ¾i[ÓÐRuƒ–ל<æß…‹ìPˆ¢ lA_õûÓdû¨‘^ +ŸKú/ÔbJA‘+¯Þ ÷Š7«x¹(ëã¸øð'Pÿ×åÐpv>'»–ÛIuÆK ;o½ÒyÂs³ô•‚ÝPFcUvÁ@?ÛƒÀÌEsâ=Æ[WÈ‹è³ +endstream endobj 649 0 obj<> endobj 650 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 651 0 obj<>stream +}R@aDE›|±Úïϛ  Úç €Ïw—Üœr¦|÷M[ÎUá]š0Ò \À–I<û²‚LóÃðFIÖ‹ eò(?¼PVŽU8Ô ,ÇíxpÌ3ZZpÕ{l5‚óHÖ­Vßh;NÈI$yB¹«?A$p@-¤ÚŸ¶zM@^ׄ¬YC$Ü–3(jü-Æw“{$œ²þTkÇ™_ûB@ø¬)å?wI6·Ëé }ö¬•^Þh/À;¦Î^”&ù0Su`øð»þëÜ„>ª”6u¢I k3íÏÐòÙ\ „“¸ß~û !Q„[ªÜ”Õ÷êºn#cþ&—×æŒ+râ6w©ÿYiÊ–ÿí¢™Q(I@ã˜âã «GkÁªÉOgœÚ°ÖŸ§«œc(IR©š“fQ(÷ox}C²g`6ëjü#Øôábe•0B'ç:Ÿd¶„;ª¿ßa[Ì[/[ P¦›ÕŸ}­ÊöKÔ^_p¹\>'z?ˆ•u‹îÁOh›(ö 25©mAO¦¡W‡€Là‰*Dï)CÚ ”§ŒÃk-t£üþë!’Àóò­½Kr=°êåðû†ˆž¸ —ygÑHïU¾1q»È¾®ðÙǸœVÌÂì‘›*Þ‘aHÿ(M½“á”hd}²yï£Tf9þÕSŸäöF!³xQ^Þ§e—™º‹A £HÌÚГ3 À´>à /†íV +£03EKÿ& ;ƒn£uxGJÑØé´ÁdÜ[}ro " +J,'ÿ ä$Ga`%ìT÷pë¢÷ݹpsµ›»a Áv›Ý½–m^;é¤Q¡çòColaÛfˆ¹vÎ @mËÑaÙ¬š’ä Ë®hLwÈjyÑä2!¬Â IVNLSÒAÀë‰á£ßø££­ÿ#ÕŸ3'ܪýÁ’¢iQí ’?ÿÝ^îºÛ©7oo^;¯²ìÜ+†94ƒ•½™U«èšuÔ©)@®C>·‡¼H)#ô0iF´™sÌ5„Ü!Ñ,¶qÄä9ÿË-®D”:êzÌû§ƒb3ºØ_Ç×’=8¾ä!eßùÕdÕ¬'e¨;õû{šûÁs²Nûí ëé&ǽÅê¯ô7ù+ŠG¹_4“úCá¥Ö쫤,q€4Žñ¹ÓÚ=ñòôk¹ÒÜŠê¿»˜¢â’+NW¸êÌŸmÄçs"yÉ3óË—Q¡•MTZ0÷ )éoÈ;W°H'É+»v1ák²‚¿ÿUåë:¹“¨]Çbð‚”Ÿ @Ä §í^=xû oZ˜qº¬¾FtTþ-‹³ohÑ| Hd/Ž×2ø1Ä&¼S†G™ÕEÏñ3‚(0åjn£ {—Ýû¿gô”r•  põ`¸OX +þu-Û>š@~ˆ5C80¾vn–´kP-þûò̤‹’Ð!ÚðP²%¸Ñ”;µiÌGP!`Ê2‚~âê=ÚLE.5<ÛПq$Ðß_NàdNwXð„«Ÿ†]v8l ·‹&¤ÔÔB˜F +n±ù°yÛðÑÃç2´rR«>Ðåkb®ÅD²sÜB TwªŠ†ùWýßÌÛãý¢¬XgP]h죤ŸEȘ(°K'8›Ø!–×õ=FôçmŽIº\Lµ¸*’mà^;Ô&µ ¾tH±_mXE*#οÇpºWGUô›þ¥…M’ÄÎ6î›ËQñ˜ÐàÕ?ÉÆçÁDX¿^ÿh0³v.°Žõ?úSïòÎk‰›SSÐt¹"QXx œÖ÷µeÃÇ‘ ‹Â§ž..Fâ¥lŠ;'ÈÇ™Ž.{ñcµ~ª·ú±[¸Êh¨Lo Ñ+Þ8ØUl* äÇWÄ'¦IW§­ZéÖ>3K&áÌrÕ¿“&'mÕ6Ç®ª} âÞ ¼}] ç—Î7ÄtgázŒ- <Ìk½Ï+»ö(Ü킳¡3„ñP`ÉDa>vQ‰=uK-4&Ñ ,¾Áý±dñ ªvq-7vŸe ·³ÀrÊ6µËVC,ŒR`O\V¦œ¤¦t`5ô¡Ø‹5ÇÌš´ldŒ”*HÙEâ&‰&/••¹t´KÛ›îVtòHâç²û‚Pù(é{ͯj<¬rºòÇU­ΙÃncÊ…VðgvX‚":u੼ü±ép6PQsr¢g@ÞGÚÖw}‰åSâÒ†ŽVQŠy¨’3 Pî凹6‘jF½ÆK‰² +äRA&ôêÃlA!$¾¡¶]8Ê3òYy¥ek’¸ n:Oíœ$pQ^§˜«¨t4¸î-ŸÏ"±{Ú +¨evÁ5T &õÕî:ÉÔyÇóã –2ãb¶ìd.Ô¹):lÃàí[hxáiïtÙ ¨@ÅÌaé}×SQ§õXe†rðéÁDÔ†FÃ&eÎ ÿ ,"È°(âWü‘¦ÿà”²Uˆ}TnjI¢¡ç„ šëÔÈg‡G $’Ýò"D3â1 4 +ÀQŸù(dÁÔÓ¹u4ìhº +ûˆ¡Zì+Â?TwÇ̬Nìn¿O£²\‘öP”£’>‹J@[1€5ó£Õä¸Ø¡›Qˆ‹>'Ï0o ÞªŸ0RB¸zB‚/6FcMNCÜ@½_(Þ°§¥ÛшžÕÿúžét”ÝŒvpP[„^eÿ\ƒâǪ̂J57奵F8?I‘LÕÐ’ŒÝ6ÁðCñÂǸÓû+`"Bƒìß5> Ò¡û¾X:ÍÄGU¬ût†l=n½_IA)¬.O2r_%e1cŠ¾ƒO2Ièæû£~ùß†äŸ !$±_m”EÊåÀS +=_›È?ÑÅŠ¾óâî6ØÙÖjŽÖ«gþå´ +‚M´k +K­`E9Òçi‘âÂØ·aCpw?¡çR&Ûpã ;0Ú'®È£EE òeA€U)@IÆrqg-´qm7 ZRV‡ãro9°~eîcjǺЅ¨¸Ü  S ¦–¿¨ øðtÒˆ Sás@ÄØRÒÐ.Í”…Š O4ʺù=Ø5 M²(L£ 9[÷,ÿÙŒ…edTÎ=ÜÈ5‘äÍ¢”"a¼iÔ²qP F¨ÙoMêÓúWðŸ²üïŒÈ·]zl¤Á6üÌ2ò·smø€GfÕF¢ ah÷I(êdåõxãߊÊ+dV®w&Kô†KÞ…``QáE&£bãG}…Ž¡_“Û®‚›ýÇì„AqÇb¿–]ÍÇDâýïu`h7ãûˆÝãøÿ/.Ç>–Ö5G €$ +endstream endobj 652 0 obj<> endobj 653 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 654 0 obj<>stream +•ã^ƒ(ÀŠüußÞ¨2Ö,bD m²³$”-XuF‡Â11hqÛÉ?‹.ÂX$ â½çY|4B¬wŸay$ÒàWš6š³gÃêf~ƒã/±Øõ“m4£j•’"®’ÈkxQB =Îç¡S¿md ¨‡z>p£ÕíÖœPÊØdo—¼‡“âÖW›mh ˜’óâæI#¨ (žmB;T]!‰Ì8• ÖìåV‹¥éˆƒó›f™âE´·ðÔæ~òvºp=3$Quz–î‹Ò[q0)ŒpÇž;ÜUŽà¬àܑ‡ËWÄ&îô4ß+„UÀüfÂ+e¸ •ÿ¤o=XGz¶õŽõÃ` ­a!A´Þ”ªÈm¯Þ#!bDÓ£â#€@cFFí +x*Å>[Aüؽ2‘,'Óÿ§´7ÓÌû -Þèñ3eCØ€aˆ€D”vÆx\…PøuûnZù¸sQ°8OL‚²[aX/È¢)„e˜·ö’ÊžfŽä`˜‘±úk¾ô.ûsƒÄ‡Hö²ÇÛn˜kJ‹iq +³Ø~ ˆ{/”ð´§0x’áà%?šó&]åm•˜y‡ðF”EDò”Þxò'{Úzòâ-߉ª æ´Ò’€£Ÿh‹AÕØ4‚5‰ô±Éû±®k¶"„ì ã.kþ° ]Îä²—V™”`º{Î;%§w"êB•SS_å¿œ½ tJ'|Â=ÙG¨aí)tŒ¤Ðþæõîáò˜å(þØIg$—iϹ¹ÉÅ~ÉN$*0}à´¿:É *U~’‹úÝ ŒHfjc¸î\§(2Hvâ_Eü­ž VP¨ê!¶ía?ƒÖYÐá2sÖGŒ…Ïù;$¾pÆM“ÚK`µV><¥ØtðMO4¹Ø”ŸÊù©—ƒ€Uo[D÷e°»vµ2>“B —Òl6ìwsîmí¡¯-æ1ïç_(C§ó€®»1…D_j0ia®xMyÿ•ø –÷&”ÜîL0ÍVÿ w¾ÒÒQúp×Û&ãa˜¬UE°ZãW±:YÞÌ) +~ ÚqÉÉ&éxƒ§ÝâqøN/;+Ž œ¾ø¸Šk'ñéß÷Ãk* kËñ¾û8踡gT¼ØK«19„†‚Oå©¿¸%Ò?†ïVˆ”Ý$ÙÛÉ­ÿd´¨®xsK¯ÛÕCk¥Q Œ wioÆbîýÄ ÎkÚÎœíh]ã„ú±;£˜<*³N`@áœP„•ï’f/K®&ï'OünX˜9£ + É£MîË/¬cˆœÚ§¿¸'—“cߥ²C 7lùÅ”a|·B¤Rõ™`&k§Hé(‰È[„‰Ìiï…üãÌÃ/$Úå¼Wð"-‰äqrŒ‰9º!“qÝ%‹­7tŸQÐü6ÀV ˆ‘#Q§6d[•\ë¨Cµ¡[kpAB k}ûÌ%ˆ>aãî.²cÌ8å1™;˨ZOxáTùw¹1¨[®&/Á#IW#°SZÇ!¾:+½%ÁKùk(£>ý¦[0a^BovÕ³9C tœoЧXÚaÒËîô Û€½Ûš¬j–ÞÖ¶) +VÂãªàòõ©z& ´¸ne¾‰š>ñ媎*iŽè¡ Uh‘µ`]à±<£“œ­¦ó/ì!oÇ!×Ñ…ðo?ÆýóãCaùÀ=»Ü-ÁÞÁ*²fÑFœâJ·¶dã,+$¡ÎߦÑO,ß•~qðü#S!훲YÈ%£Á1Qn±!þd§ßC9<ü£T †øg5X graGu° à§ÈüsŸâoTkÊõ2-reÅM-B˜G…Gvƒ¬³Z­Çi>ï䶔;9ŠDLÔâ +ç6@àûöd‡Ài?aP:èýQ4ÍvÕ4¿¨ù·`pªÿä£bLLR¤ú³h'6j·ˆ öòó*øs?E¿5ã1F7Œ“2™¦ñIgS¼’*RET!2ÿ:©Ð`Ùj›Ð™²kï½¥+`eÙl¶E[N. g¼ˆkÏ/üsÖ·²gßGZu ò‰§Om“’¶?~yñ'¦(#Û0 ‡ àp°xYír¬Eò½<€€ÔQB¶ŽJ‹þÍxøŽ¼F{,Ý—#Vrµ.GѶ¾ÍÎà»CÞ¦RN™ÑÄHxJôoÛy6]|«^ÝWÕ÷S©˜—<­zO€K¶ œï‹9 QxÖŽ‡­Qÿ@A‹dØÞ-œ9 ‚oÖV«ìì¹ì©<¤Çu0±¬7,³æ!—‹† £N7ÞLaù¼³1ÿûéÔ°wðÍês„»,Ç®¯æZšgàh£h|Ïÿ„Uù¶øæë +8§~á' ý©»ç%:”ÆŸT^á6T8·¸¦«$Ä ï”Ù*øϤÜðÊ_ñ·8¥š÷$§“B•.¶#•qž”Ì£ìXêœR)j-Kßò@[K~€Ìó„˜^Ìx¥‰÷"¬ëÌÕú3šK©ËÚ{奫oÒÉ”ÖáÅVn§­@®}_ÿøó/ö>|É1O®¹úö‚ÉH+¿ºÜz§H=HšºÄB¦$ž¯MÚæ²wÉÎ@¹¨4^æÁ|øñhÈ ¤^ÉÁoªÞ¾F_O•$™U“™Š &©°¨VÉW„À:ííPvaŒR±…õ8OÅ–ª8ûê9a†Ê—Ÿ åN擈ÒHº‚y²&PÝË»‘FMý«7]Ó¨©á$û‚Óñ¢YÑÌ´È°Ö0ñ4¿ÂŸCL˜C¢ßY¨»ŠÂPnP<6Ja­Û±AtŠÃÄwŠ—£‹kþ{þÏ3z¨ºhhŸ)–«ßTñäðXQ5aÆ5††GfVGà‹ï8¦¿¥?À·ñÄ /tué*>˜dwÚP¦Ûà(µ}f.Cëi€7Ÿ êÞÐå2™‰W˜.<€ÃÄ¢%ã’ œ;(|ÔfnÇê½ý¸6 •ÉÌÙVKi˜ÛþêcÄÎsèî¯=ÎÛHš©¦ç\.wªGB~eþ"Çþ™ykKîåðŒ3†b/ñä÷Ï4[@¾#ãã'!{:d2AÛ“Šã Äp 7ùWiSœ.DˆðGq|‚!/—ÉÙ¹—š©y¸M˨ð-Ê91È€ƒ‹4äÜ™– ÍÃL BéAOotˆº¹|5Õ«×à$ãÜk?!«'_ÏR›€5E´GX|Œ¿„›Q“¤w–r¸—›”75Hè¢yÙ‚¹kq –‡ «ÞÿÃwîO Þg¸å·©J!˜§±r7§™¶Ÿ.¾e‹€''NEË;›=ŸDzßÿP o/B’–ÒE$ ¼"qo˲Ðç½~‡¦LA]÷½Ä%@é}ôXüºQ0Á¬Ë5ÏØ_Ò¬àäR/îKÈÿíJ©êÛ5—Òñ¿wL©!tà•0W>†3WÕ®´pŒÙ2Õ’‹×ñqAz»XåÁSzGÚiýüx‘ŸÅQÜ4»1ékL¦ÆΨ¥@y=•î•m'‹Ì£þwiÝ‹&d#)½FhoÀqlŽ)Jø<Ê®œµxE,3씋Y¯yMô4 °üblo¦£~D­¡ÕN×ÌÀž—;tïi’Ûãµ× ¥Ü_wåŸEÞâ0~2oœß ÃëhË&Ì„aG²)-2n«"ÌtU‘¥¾Ûü²4±T3G’MzsSü·WÅ7H’Û©qi¸ˆÂÅù'Ĩ1_>\¦LŸ½jU¥[aÿ‚Õh¢7¬æc‹\?+N`B€4Ã1Èf­ÆóŠ| Êv$:°`œ‘å&K}_.*¯×®B@»ïk=îË´—ÏÁ„0øñ$vm b«Kpz²K¹«z½Y‚I’m(×xA~‰Sx÷oþ”ÐËë”[§FùZͯ¨,X8+œW®@ ïbA‡É9¯ÁO¦[1Öãn¶d+Â÷øFd•Il0†â&|ÝfŒ•¾±ÌpÝY¶ +endstream endobj 655 0 obj<> endobj 656 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 657 0 obj<>stream +«l«­ëwA8Eà<ùÿæèíVäIÿøà Òc¸ÎˆÖòI“^DæÝ Ì-/€tŠ¼}²ÎRZ\Ý»2Eÿhº,ùÊÀ¹KWf– +á7ÊÑŒæS‹ÕûhšcuøÝò~Íû¶ú…øyƒx Бւcÿ{ +;y‚]CÈê[&# +qÝRÇ­ 0:>®L&‡UÜáÈIþV®. ¤Ð«óâ°ä·Lm+ÓÄQ¥;ÓëÈA¸=Ås‚ÙuFÃFÞo9<ц’JM6É#(çX„}›J ¥Ö‰åê"ïæ2`z'd“}¬ÅÂ8–K$¦Ôψ0&̇ˆûv̬ˆ+·êÄNÎBbsÚùfîë_È1*ð ‘N!îL¹d‘äÞâ¶jŽu«Öb96ÀX´ŒlýHªŒ¦–Žà÷& ‰uJ.ØYS«ÜƒÃÅয«aai×éMžÀiȦp\îí«›¯` ß&\.Cx^›˜ðJPÍ>¨x“¾‚ÌÇ/³8‡[ŽÑÍysæŧD ßØù*6q¿¾½¡PhøÔ«VÚ¨ï÷§ß/p§úppÀ6ÿl™]ßO‘¶ƒ‚¸^娀] +?Û`¶ºh@繑  ®Sn3E «–´8Ã=¯ŠàÎYHÂû&à!–ôû8º·}.œš?¨5ä¿6ŒpG …JÊái_f/ý¨NM=g ¥ØóÐùþÙŠé_Ô ž},ÔfÀ—K’2Ýrpù燔9=¥'ʲàó»øcÜLЂaŽKì *4 ­Võ^´Š¹í$´”‹ƒã{³O:lZ†”€hõ}“¥Ûu–.üÕL)âL5z-¾…ó­ñ†× ©Øàâ,~LúA4o`÷ߧeé`x=™]a÷÷ðÞÞͶ+µ'xÁ€Ü”7pk=V/p°Hƒt‡âbà!„â+dƒrQj Ì3Û €jÂx°P 8§àRiFT!äÝ>ï®ã2–y Üœ1*qfßvk$ÔI•šš@û¨œtJ»Wó]žöôDGÌfãZpU[‡¡gûÓÙ¸ Ém·(·«7T¡¬®,ž›É¾JÀ˜ˆckvO{ßtG”Ë£°=‚ƒ¥¡c LôP)\M~ºÕouˆmÂ’oÕ­ æú#pSÔF¹é{jÃÚ÷`«fÆ}Œë’iŽÃÖ½O¡ m.bÇg¥Ÿô;F4žó  DZ^’›¢ÿœ‘N$4R«­úûèÂ4>ëèA¢?€Y7ÍÎöDZz½³Œ3æpÒ<½,*“:‚çTû½€i¶ß7¼!®ä°ž´ºC–a·šmàät«Žû“]\õJðÀÆi®•íöÍŽÖJªÙ­¼ã^íøÏãÊ¡»«ÓJ§ Ù€©_\uÁf`Øð‰&™êc*ŠÈµ®\3¢²àÔHwy4⼚2ãÐ'·è8‚ÚÖ&ÖMÃT±]Á.°ósØš”\hÛœ™óŽí›¥×HK‹e¼@› ‰ ›y!|Ý‚à¿ùQ/¿þn#­‹­ùó˜<#;ùt걡ɦÏ +ä$C/SîS¯)5~Hä”_¢ÐÆŸ-R€ +þ÷fþ£¤ÿòI‡K,€^Ø´ãdÞr¢ö@Ô¦ó§òmªÓù§¹Kã’Jݳè[½ A@Òª¡±Š ™snS='¹B¨ÕxeL¤d]w†Dq쉉¥þî}¾–5³¼0?˜”Ejn»d9;cõ$Ùx¦ú’ø§`sŒŒ +«{Ÿn˜ì¥ ­îæ—u‹¿ÃUs˜…Æ+N… 7èj3vÝÏ›”ƒ¹§†%ãïlCRDö½– :Î z^ÖÜ//³©š¹½ÕIœM²ÕC£eyŠE]º$Þ\pè{,o^ +J·ßŸÞÂ7p-y,qÔQK`Ǻ{”dµˆjñ[ñ$ïJrrD”Äï§oP‹^ž-TOî=GžH+´àf6íPB#°räÕRõ@Њ9<9öº¯J:„p×@R+0~ã1_Èd%ƒ÷÷F^³áÇg -R¸ä]é§÷㌎õ¼^[wÓè‘^³Gžœ_$Žg ï/>¼ >hx–'¾}!T=ÙªR©û¢Ìa‰ù¹ùÃxZ‡—÷¤×%ú?‘®á¹ÄÔ4=8%¹|QO[­b#êb„Ôµða(ŒEžoŸ RËl‘Üñ5 1‰Å<À¿pÛ?Ÿb +·’ze¨‘Ðbr$~Ñ5ý(X_-¹$[`ÛxwXVÿ~Bv§Ì_º©XsN¼@…üØ +H·ßí(“m0f˜‚攎­¼“½ôP%[Ë%qCS:s¬zîT¥/œ—}çô³µ¦9_äé[Arˆ¤#Í y+ì›ó@s¼& .sÓŽDû?¦¶Sš ©;Ðpä3 ×Çå”HX€š®G–|¥ê‘ø•udžùÅå„á׬ŸÐ'}æÄ>÷²¬iÔ¡™“|F‘bI&]üðO¢N­UŒþ¨¢”Œ˜¼îÐtG¸õu ¹–1?'¡:­Ð .óOlÞüáô­­¨¦xsÒÈÆÁÃàIàENÉ'Â;@|@Ýù)†ý@]À»$7û;^qIk!•Ôçã%Ý$Þ½8­¦Î£»ÙZ®lÿ®|¼¢^‰^ú^j×êÛÜz /—§¹.áõ–ïª"‹9‹S3Ð>ë9+þŽ÷o’øÑ"çoZfÖá@=¿4Ü5‘XÍÎÕI84AüüÙ»¹$Ãbbuàðf„2æö(âÝQM'®‰å_ž¸:9/-˜ãØÔë!—Šæ5|ÏÃ.<“JB0OS¶™µC¬ÖèáKSB{T•€×â¿~ˆj/}ØðÃý!Gµ>p¯®3U…ì[ñÙF€±+Ø¢öt€.”½¬ß@uÚXV#m;ò{teíà6{þH}U-™ž[yf§‹0áíx{…欨ëHYÍÆ'×ýx”X±‹Ê€`ØNz)¢#Б 5rS$w·“uvÃóP§_&U룦¨§^ÍbVl ÞºŸå6xîü'ƒ/Z/N1kª〻Ãï õZ ,ù—zᘪŒ…yˆ1Ç„ ñÅ8sþT‚e&úøsÕz›ÜeFÈ®•1¼`>ÌÚÒ¼LtÃôº|óY{5™èNŒÇæÍ©úÖ êNÎáŽ^-‹ì0`h¨ó( @Á“ ±Õ[ÿu}hÁxKZ|bn¤?!ÒÁúEA”Xì\zà  @†“‡¿Rdξj +9 ÐÆ…œwõÖbÔ +ÄúkòÍši‰'‚áD‘øð6kNê¨Þ*á¦{wäæè:ôw°üR7q<°Lè*dvýh©k$áø¼ä>Ç,.etíÑ¥RñÀnœÓEH3( Ÿ–>ë¤4âì©v⪘˜•Y.W뉋¡»ç‘ÂÎ.6>v3H¥ß„zÀGK¹oøÑIG—¢µlÒÖä̲J]…|ç>n,}F:É+îd>â«å^>–±YÂÿÖj—Û<ÖÞ‘bì¬ZlfW®n¹£·Ï…7MÜ&ÈàCN¤7®Ø£k]`ߢÈA‚sSM(x h”•årâ-´ë”áÂÇWû1. K÷ˆYQ#ª›PŠ}è1yÅÎÓ™CÊäF¼ÖF5º¸²ly¸MMâks»»,à‡¬LCôzëEÖ#WN­qpÞØcÄî;ËÅ?!7›„|Ÿ¤ëñ6Û} ËG[Ê}­ü<]•‹:§w>dbØT<ð:Ó7&EQá´±çàKpq½-W¼¯¥–dt¿‡Z·jÐõ-¼cMR?XšÈ~t/Æ +á¦C“‹üˆnE} dø»nªZ™O +^‰” Òˆo5XÓ—KLóŸKùyÆóü4QUg<-gåS= °¥hÉ_ãðÑHAê Ò+æ‹À’ñvÿŒ2 ÿAéã<±ÀzB¡†4ê9Qº¾jd–W ŒT*k}ª¤Ä“à؈ˆ¿90P ».îÄ=‘½ _q`•}뎶!{® §#†ûkô[žèÈ“ãRÁE#õ9¿šÆÜØnÒèydˆWÉÂt®6”—mÓƒ§+¢Íó&ceѾўMz9ÌBDÆÖ—Þ*ï!‰˜«è,$_±·T£_D¡#$ <Éã¢í#}<æ(XÝ«+ÚÅîèéõ–®ÉVé-«>ˆiך æáìØ×y<ÆŠ;@Ç>À#Ãì`dÏ úÎä KÍ–Í]ß””éÝ­ÌÙr%ý§ûÆ‘¹ÚÖï +Fc6•NÑjî®—ü%¡^Ÿ>žA@Ed–™¨E&Yj×£3 +ÝÚl"T0œg3h4;¥Ñž,È2„Æ•ŒãŸEﺴ/ósÌóúšbÔoJ•¼4Õ }¤ár©ÁK}R[ò™ZãZS©®¶‰œcá\ùi 84v¢ù©ï7|ƸŽwöQˆÆ¸Œ´!u +„$²›+²tHGcèIJ;«46$#ÃÄbÃH†qóTÅ– ¡Œ\Dn,˜n¸×=‚ŶŽœóĺñ¬2(þÀÕLÆZ7á;Yÿ[E#’ÄqjÁD©›.<÷¨FöÇ­ô!îŒôßî–XëV}¦}_„¶áhkÐ@P)žëô4Õ¦ìöÔáõïOŽdÿb0Àþ¡ÿaÆÖCc¨›2Þcoz*ÓŸ¶’9†½']þlÜìŒø5¤ëTžw+Ú¶ìþîuþñPÉÏž(b›ür@gˆAÑk·È«@wbàÝ];y¸.øKzwª^«a3}8¯O9“]¬%>MR«u Ò·ŽŠÞBk¹Q?cy´J%¥ÚXh ñ‚øÇî®Qª_NŸU­x ³1Q‡« ùÂUtO¥l7Œ:4aBB“B~Óf×íźmFa9u¨’1x´­ñü5½+±8’¹ *Z¹N :8ÓÂé=_WßLîjIÓF²ñÓõÿÈ£-Ìë¶gŒ|1îʼni[z¢%O9æh¬ÏBçÍ~»IÇ"oXBÔÁJér­BjmÐÁåÇôä9ÁMl€‘¢Žpêr3Ñ®zb þ t´^1M‹öeEaÃz:žR Ý.g˜Or‹®|¡xf¨Í ârÍÆ“* V„"’û¿ï?©¥*øÙö«@]ÝA g„¡÷·ëgdf«>2‡~Lfh«é_ò?Ãy|¼àØw'˜Ø‰ÕØ +›qÎcËÏò4=ßÕ€WÂzp,‹ Ÿ¾5‰Ñ ÀËíP€? #•\eq':‚|\ýí߉®4È;רM […wV–Å¡ÉoçnCHè#Pª¸ç\·3 +$>µ†E0–V¨Ân})Dôá¨XO­Â^“ˆ¨þ-gx²‰Þ¨9w¢1F¶G¸¡€QY)Ñ¿.:j“^ô~ùQH=‘Ì.rfÒcÓàÁß%}4 +Ѫ ¸V …^‹É#j "þ~Á,×ÕðtæS±¤Î Ò-‡fõX¢·/l¯ÞÚÚññf 1/j ·ç^²vGµ‘Í#“=Ø«÷­ŽøþUz²Å¾Ô\k§â§l_GÄYõ .âM”§ÿ^ +"Ãÿ4õ¨³á—žóµl÷5Ž’?ÌéÁ%v@¶Ç›½¹•Y +endstream endobj 658 0 obj<> endobj 659 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 660 0 obj<>stream +/ÊVò´§åIØXŽö#uÖv?êÛ§ºí~³‰Ï§:ÚTD9Ëþ²”á̳ž…²Ž /’­¥•¦ Ññ¡P¿4[xSèã&ÂEC}ŸMàW¦c6ùñSèv wµ{À¯ýÁ¤ 2£:„Qó£}g'*(ñ·›sj–8¾à Äå íH×3[¸ÿ"k,ü€æŠkqɧÓ@4àoUÛëR†`óVà‘¶Cyµ.BÉæq†cW†¤ì¸h7åZx|ÑQn†gñ¹7ùWûÔ.ÁìnY0{Dý?Þ£^w§¡rDqØÆzjò®o„’Ðâåù)ïí¸`lÛ[•úïo‰î®Hâ'ýÏiÿàyO½ü…‡·Cúy¤d²ˆ¿v¦ÓÔï–Õ˜h ú"Rü[ªˆo嬗tÑÑ+Úž÷†,×"GΙ®i¸÷©æŽ!>ÿEP»VÚ“!¨Tl—É\„OêÌä5é´¸¶ÓÇù‚Ú•`žõx§ /ª$°·µ®¯u•– Z,í8t0—c¦àQ¨åJ•E]„ƒ~˜ÜáGS»Ü6Â9É­Ú»CÔGÆξ!·¶2Î!z«rÀáXoïòRßä%Nt¦õ©„¯«#Ësœ´zݘ¾ð].VI8xîJ'¼Fþïg::ˆL§»Ëó‹¶,t¶ñøç’Ôæº|÷Lšû5—L¿¸;—« Mõ Bä§ÚO0 F åäÀªÕ®5w^wknÐ'îmûÊÀ\Ÿ­<G` +‚l¤Ã„ð ³èLŽQ+g^·Hb…ÁGñí0q¢ðšDA¯ÿîñÕåuw+½äj‹sz¯0‚Lò­êÊŸŒC$Íéû ô·f‹r +äÅ”’ +»ˆ®gXóiW³ì­‰­Úç +Òue„†€†V‡í Êç6Äq]WýóÂ4yHÊÅ·gã¤Ê'— ÿ;LoFÃööúÿÞ]z¦xùõ8q8ä í«—Ã(-= ñDƒµ/‰½RË0kæù¯§P™ (¨F'´j±÷ +g|Œª3Õ¦W\9eP¯¨…;Ê<{Ù®Ë-©ßDÉK´‚ª•QÂDL‰ý›±µ|oâXâ¤v¡EæšÎÒÌFÒPÓ̹{Š­™g°ëqŸX0Ÿùzá~»lÒ8¬EUÃãŸ7‘Þë•óCÈ3-#ªužœ¨ü¸÷uW–†"4ºÖ,Q_àøÿ•Ò»Æ@ÙpÊ‚4åÚ3•@ÙÔ˜1àRÌd¥v|j}1 »(š¸ø}`þ× oÀ¿ÀL‚íž>üÁ±B=ô»³¹ '¼áŽϖãÛS½©*Ö4hÇ4 Ž[bü¼Š5ñ¥ÀR’FjÜŽœM¼ȪÒêƒ3×µ¨Ø¼¤ÛP'z”‹Ø8Õc°IÔêÒÞÏ~U4†\²Èöl¹Œf_;lëmmzs‹ÕFX€³KˆLÃ"¨dŸ4©8rI_ÔäK¥ŽJiÎ#Ü¡#÷ÞñÜEý Äñ-_%á´Ž½Lå†Ky„M.å®ÛŽ]3½t퀾¦´™×TO×ÄêP­ÒØŒÕæûK&LöûÆ»Þç±½#qÌÛ“I§8l5-£èk´áݶžÌä̶¿¨K, Æþ,^MLå$‰–ïŠ{2²”7½s sòØϪ £Þ…¹À]Ô_ 5šÙüôu¢2$ÉŒèpaÆõTrï8à3JˆA§áÛb´ü¸|P|K¤&-¼~pU³Â1þbÅ9?ŽŠ“äuû4rð­IÚûËu¡—èC[»Ñ7IXÿM’x zÄ_ÁÏQ«UȺÖõøž`\)¶Õ¨Õ¬'¼‹frð})²[¹"ò  ×J¢«‰ ¢ñíÓÓ—ý;‰âv +Os¾t-ìôY°îv„ZêËêŠP–Q¤)‚òaôƒ©ù»ú,w ‘ ÛØ„–öža§3²]®‹¹u=OÔXc”¶%á7ú,Ùí½—þŒ0Çô¡Y[cÏð78ïÊA9Îk (ÚûåÖoW¼ Nf ”“7²«HU;$Wàì}³_lóâRÈQ]°ÌžÂJœêÞ_Ú€î¥w÷–½fI˜uñÊó(ʼ®¨mǾ©¾ÍZU ¾…üÊ*°>€Õ<ÈúijýLú&ÿ^ÉÒÔ¯5 ÍŠÊ&íByhüÒ™<ñá¤ìÌ4%€-RW«¶‘ÑÈ7!ën@ù„¼Y{UF³´ïêáùCêzlØüYʃ°ã¡£:Š«#œ^Ƴ{1œ€6«Öš&ÿ¹ÂáTô=g±YD¹¶íŠSÚ“ª³<[֭ΔHr&ùéaѬ‰¤{²P5¶ZBÓI> ç_Ò¨ö~8m=øŒ¥õòÓŸ”§zXí¯Nh®5QšäºÝ´}xN`FÛ,¾›t®ñr 9tㆤÆü¼ÉÅôd×QªÝ܃ŸÐ$E 3¬Œ “^?I]&`·µáœ„ÝK\QŬWêxpEœ/ºêÖÔ¨øþ±Ü¹hÿmXå‰1­ï ¸AyýðwtU"ž4˜ž€ø¥ÎѨÃxÄPb —©'´›c*Û6.,‰Áñîw„Gøò†v9b-³NN> Û£©]Êà É£+tÌ!üf¾ÖÌ« üi´ÏC&ÖŸ/ÖÚÐx%UÓ,.p! "ÄÜ[ý«$T{ð {L½y~»g9uVá<þQwá›=<¡ñê×ú±\µ×¹~&¯f’èF¶Ãhœ+j”÷ýx`I´$_Éy¼ˆ†2ŒÝË’KÙÂ×xµÐ)à¯zÅ ä®Â˜‰éÄð;Y¥»¯>(wæ;Æ0â'šGÃ\DîN˳õJ‰àGÕy‚6çʨ/¸oi‰pWÏ[@^?SIÄ})¥˜¾PúϼÕx´Œ,ˆ,b7&÷mø§avTv/L«a;qˆ¤$#í3óÎÕ½fÑhŒœ|Ù=»ðš@c+§º*å\-í»ØÊZ+›øóC +íÔî +XÑ kßÚ|Ìv‡ŒôåT6÷!rf™ £YŠ„BåóG‹gÏæÒ}½+ÈT*w½_'cøQ¯ê\ÚƒhT\~–y}ò¯²E¦tqÔ—zÐX +æÚàéìD6'¾ÛN0 ð™ +&1‰)¸[rdÞ¾x3;8‘®ãÔ.]ŽÑÌÓÞÝÓHTñT­«”Ør[¾÷®p8)„âÙö¡¢ ÆŽñXâï·žïêîé£Ö{ÿ,ÜæC6ª8ŒHï fÐ «ÇÀÎ4<‚!êQÓôÆ.\_kà캠RðdìªööÜyËàl|„(ÎDTcq‡`fÛÿIq‘fv3¹”Çe¢­ºd¶ƒñûi‡”’‹{°^ G‚U.jdÈ ôu‹[J 2Ûæ„âÕnL#)f…S}3 Z„ )êá’¬·K@¯óO`£<‰Ðe·ñÁ23uw¸ûѹÁñÿÛXd æ²Ï×’sÊAõ,ýRv".W0ÎvDÉÒéaAmÊÒiƒ•«§ip³7æH]*ßa=8«ÞØ" ¢G6{")s:z¹-œ½ ñ–¿åä’½væ tªŽ©Úé® 4Š/uWîÛ qj¨!ðGŠÔ–w£>öÜŒ Í ÷ÎGÅ19yHS¹ +ÔÒS1­w/ãd ·`ØaÈ ²”|³ Ž³ð€¦hslÅûøw+ ³ÑÐy¦ÅË 2;…¦ÖZ·:§o†ôÒX«çëº&¥µÌ^Øa”ü‘\¡ðº"x hå·²ç°{^™™î±æŽä¸}nM *# üÚÿ-laÍAR«ÿiUÛOê=çYÃ7UàŠ,W\SñòF±R1{þo „<^Aèl"}ËR ·–•Ñ†ÛBÆ^> ˜Yù·oÈùüRa«ñHˆ\¦µÈþ¿µ4JI¼&æâËŒ +uî‹”×Hçäð0ŒX¿úmœÞ¿‰ \PªFÇž»Øû€?á J{¶ÎøîBÃR["žÕžÊÖKùŽfVB³ˆíùåM˜C¢ïÁ-e‡AO: “ækfˆcü—œ ó]Œs28àctTã–f{¬xÓZ‘øˆ9Ó{ýôžÏœ·U•+÷­ä_Ä£â.=ësQßÉpy>øwš&+Ó„éœwó°xé/ϪXð‘h}2 ´ ô›«&1 +€÷b£pPf&Áó¬?Fا7Ɖ_ë(3„PVM)9!w#ã êÓ¹-arÇD¼M‰„·‚° ôWïãG“S÷jÞn÷¸[sJ67’ô·ÐCD¥QÏ!Ó^ÿì…téû~§DÛº;"£5l¨Ð~z*¥Æ“a’2i­ßÖDOmX‚Õ˜j­Î™KˆÍWüãòÕ¾¨¡AFΨÕÁh¡¹G–ÄWGNµw-ý¤`©ÙÎA}ç<'íêY:7¶¦Fº…rÓ"†á1bg‡ýSfø&ö¹ZÕ·¢Vó¯bàùÖfЇ¯úXîÆtaWXi+I y%Zèð@vÕXCª^Ày5Kî³ò"¤î*#ìÿ h˜ÔÖZú›‘ÌÚK¦ŒíFÛá®àÕÄÀüŽ«%ôÌ÷z +endstream endobj 661 0 obj<> endobj 662 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 663 0 obj<>stream +I‹¸Šß6äHì8Û‰êÞ눼»B<'Õ<Ö×0“ * †ÈŒóI¯Tà-QÜÃóíîuòÁÂ’¹k¶(O_¹/ðk~u¯9s¨õàQGïÕÅ’¶_V’æ'—L¹¦ÖÃHR§«3z£õ¶Œ†ý©Ö nUª]¬1…mUü¼søÄ»Ñ^ï0ÅÞ‚q¢˜”p¥åì#LJ·—áÅ0r~PÍ–õ ňÐkm?1cËb‘h6ñ~ßú- A<9Å+OŸ÷ýÏnC³Hî°ç¯cUdu7ð¢(JϦÊîX·Èì³ìë­&çê=mÁJÄ…Óp‰á•€\>ðhý«Ó?Å`I+¢GruâÜbh."È[•¿bvæ,ز_yXD‘Ófé`žlôÙÒF{ëød+óÈèȾ@ŒÅ¼¡ÃetAmo!RjÉvILßT¾¿ó%]±º<û]¹vz ºVHêhèÃñîvŽŽúx蛃bF_Ëg(.æÞ·dw&ºžˆõ³îtRië ª7²ZŠÚ¡°è‡×Í,a¬•] ƒ;N¶RÔñc*V&°P<¼ì»£!‹çj&`ºÁ°¸ç`GuçB²^Iy ¢2–VÙ,77ŸÀ/?l¡5ªq*ó¼Y´Ô«=&Sö·®úî}ëÂú3õó@Z¾cȘré¡(_“'ýP!¹Üç$Û×onH.£‰9ý/âÛÓ¤!{uâÿK#ÒÄX£\î€÷9ÇUûX[_§€÷æMÐl¢>ÌzI[×Åýµð#ºô€´}Ç‹4|[ o&ì™úÅb1 +³ çOšäø%\¤BpÆ]7§[g+Z‘+£DƒÙ}¡Ýuyú8FÑЕÕTP0¯r”¸ +©áYʯ£Ék•!z|;?Qu•\Tå ߟ–”¡7÷ye÷s}é:2¥¦Ç\à9˜ýlÈœXWûø‚¹::g‹„é­pà A‡ý4ÉÞ‰Ç΢àÂï0¡¾”߆Âè`aåØ“à@»yGÂ_œ(Yk'D¥ÞÈ•_0ɦÜ)Ù-±¾4;tGtOI~ÔP%uô¦èBiôoGúÀÒÙ"$6eúTçŽ/ItIHÀ÷F²¾Ké4 Z%ƒ^oéOä%E˜+‚êuŠêY³‘n½QK°;õ´$Y¥‹SöÒëƒÿ·ïµ o8ìý¸(¦¢/Ï,ÙÑ +齈!ŒøÿL™éÚ…ZqÏËm\cãá©>ÎgÓàî›z6ER×k{,øíÅ.ŠDÄsîØì i¢% ÐDøŽ/AÝF6C‚ä-{íåbÕàui¾$ 4˜FÏJyx¯:)cb?`á9Y$J|aü^œ‘dOz™Óµn’oJÔŠ&rT«dMüîÐÈŒ‡U>KÉF6^y/>NKÌ;3ÑB#¹d¢ºaß2Œ‘ÅëVw~08÷0ƒìä,ÆkÁl5ËÍQæËÌGÖšã°Œ§,ᨺñ4°CG7Ò2A4L€au{È’áÙ°ZGÜ6 §ÐªªOÐÇlêÛÉömD…ŽÑúŸÆàPé·¨«™ÐÁlt/òŒ7$ÙûBªg.{žîôYTô³ð£ŸÂ Šì?lãgÀhP#Çð›Gé×’å•¡Os–ÓˆðP“_s‚³d¦H"Š’¿Ÿ!Ÿ¯´;ñ­æÕèMÖß §@ÙoÛr±:D÷@ÿC¦5åOÿ Ân@’ÝmIÿë/‘/´€`ÓÓ>»¿rmÿçÁÕC±Œsj6—÷ý2ãYØL/¾J2‘\â|²È’T:¶zQtQé=ÎÒÞ]¸éºÚ³JRRéøŽMJcÕÛ¤ùV ±ó4mäp(ª>˜ÎÂ#"àp2!ëtÕÀnÕ·ÁM|0­0aXf¯d¼¨Òî¬E&@žfÄ ÎÅ­…ôAS Æ/Š#eT¶x¦ªÜR[*hÕoÔ¾Dü6‰ÆĦ!KºdãéxWÆÎœê †È‹cñx¸k[.QÒeæ·† ?„pÿ=‘þ…ºT:{À0a?•s7<=®`18öj€ì)Å~”‰Œº š3zÉ©È3ã|Ù7F[¦ëÏò”o‹ÐCCb¦Jm-Š«Â¥å†×#ÙqŽ?V+¦Ýy}#[Ý +Ü •Õ.Ì/eJ­NóÁ¹"E‚囟z››nÐû”Vø„»ÑàáüÊÅ…ŽnÞ”ÛîéÓäÄGáÿÝYš8{¸©Zò8·¬Ô±Ô`‰… Ø&/h˜À…åô±éwÇÛO+W9l['o¢ï¾T¤!®Çå*¾x)Šÿÿªw­4=*€“ªXÈ7Ú}êMPƒf¯øìá¬~¶Î®ÊJ JöÚÊN4ž¤+V²9Âûm¹^›´zoiy!”/~¹õß™1x=šÿD:®E“Ð_Ââš.š‡Ú¸â¿À½RfcP {jë$À¢¯…Ëñûcøù¢ºèU¬Ú3g¶º-û"1$–)ûïÄÂH„6¼ŠdÆk§w푾M—þÒöØ2µËV3ð®œ#1gÿzüAc¢¹^}ü¬¾ð^´Q.¯õjž¤ë3ù ³“ë„ÎIªónä´‰DQê‘¡”ý†já#ú3‰VJÆja\ô\Î:”ªQ[ÊÖHõ¥I!³†‡wfà@A•¡?ÓÂ}XëöÖ«’ÙðÅgÚÚá·àri€ßâ¶öœþëäoƒºñ->NhXQUpe¸šß6ê©s-:ÍzO§@nÎAŸÅù‘úÂZÉ·ª\ÛæÆÊXh)­øÕÑòí%XQ›³5šº(,ú£}9nx“¿`€E¸ +Ý;UT\mE5¸nþ>[E·KlQ„SI,ÉôL+1b4-R‚Ý6›ã–ÁMiVҌɘ…"¨ô£©4Q^Uƒ7wîzø]êó€3BTí˜SÙö"зðÍVÛ¶R“Ì>gKÇ#è ä;¸ŒÂ W\µUÊ@•{äÞȶúAÏ$x˜èÙª«7Vk®ØÑ<´Ÿ6Ä-MšŒ|B+ +µE‚ô(ÐA^„Y_øضc¥Y¯ÚÀfšâ³'y­‡E .X’ÔDÁO.›jªbd÷GÞ@F‚º;ð6_L=^V.P—a¢-K +Á¥ìîdÈoÄ&âMRÜW&˜Î¸pläÓ‹ÍspVIÛ‘õ$œLNè6/••<ö߈¯:‹Ç³#|î]à`8ëŽ~‰KÇC×|F“((;ZwPÛçøêiVt_s©E—d·Bw~e­™`ƒ^*æ^ä¿õ@¶ºøòœšO‰x÷G"¡ˆŒY*±ý ¦r `MlÄs/„tæÕC¹uOŲR龜UÍ"æÏ8‘^ÏSïŸ wß`Ë™ñtòê>^¶ö‹R„ÊR|Ã3h7˜"yAOEíÓd†âü›ã«VÌúUWÏÊ'VOû+:4×ixB€¥¹ÎÂé¾ç©óD ¨)nKÐÊ=Øæš7p§éŠ$ó>°‡ +ß«GÒª¶ÿKÈ°ZÌ=6!xXÌ»µ¾îy¨ ýý1“Ëé<š¡a¼Ùš_õÚmÆ:E¨€=°l°´ñÿL†<Æ­âô`Ü6Ïñx§ºka|õ ù6–Z¥݉p*.Ž„IÿÚä^¬Æݧn´3·mïдÂ[ÍĆôP¤+a[ˆpŽïMŽ³ÜÄjMf$'·Ù³¾)ÿ'Ŧ›l†°9 +ÿÓ¬£3Fúr ­·øVW[ *‚Ÿšýô ±î¢~:׆º3ÐedÛWÛõà«ñ°K-diÂÕX™‚‹`äŧ´û:†^[ƒ?o€Vè½(±ÞnØdöÈ8/䵨ài<8pJo„ ^Ò"LíBCBÓÊZãÇ Iô¯—F«Â­­ÿHÉÚïÎ@áÎ$€ÕÓÍ®/Ž€ì +endstream endobj 664 0 obj<> endobj 665 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 666 0 obj<>stream +Ö? HË–“Ì|j&òR¬­kkªAÐøÚÜdˆèšÖq‚œ©1Ñ4”¼°qupLH»QŠš…ñVcñ„Ìm8ðî͙ҿ>¬óR±‚à¯}ñn­éÒÿI­#×õøضÉß|A=ã®6®¹…MMºiNb1kÛPD¬ÉÏb³â:„+à“ežòHrÃa`¥žÇ®Ñ:2Pf~`áÍL#Ó´Ù…'÷þb‚<ôö‘P7ýG¿"hç}bðΰê7^áؾ«dÈ]À6j„i‚§™C 2,ž—îvß]‹Œ—/Éa ¬ Ha ¡<È PtÜà,‰•˜ }Œ R4!«Ù¯ZbSvÚaÂ?©¤ÀW,…I ÝùˆzœŽX¨Â†ôãµ.ÌÛç”,¨èq!Æ…ä8Ê®¯Y)½ŽîÌjåÀÕ!áGÇ»T.xƒñß›¨ˆø<‰!\ª­ŽóѼ |°z˜ò»¥Œ ÎÖ¿2lÕ G{v]X€”F¨¸cy×Ê0AhêèÒ“Ýò…ÖN—cý¯à|úë»"MŽ‰žpê Êµ™ ã›¬èÑ@>âwÃHƒ9‰P‘T" ÓX2Æø'uÿˆÅÞF|x3à0sWK: +g4 L”§‰sš)X©"š ä¾·õ6|Ñ“q ƒÒ=”ý:I É6QqàËÌG-ÀóX<Í=ÆEæäû“òŽnçÅü΂¸µ¨È{ô +DR½üµúœ7mþÕâÒû“ߙҒ"ä®ksó”æChŒÚN ¬¼—Uà a£8±^©”ü&ˆ£¸Wn?ÔàPÉ1Ådç5±eO‹n*k~Ò\‚ÌDáªêqINü· KÍë²~y‚ÓTš ÷Çæ2ýY}iïu‚Ì!Y‰ÁÐ,~Àud"ï¤e¿ª¿·káÀ/2&@Æ-«>teöœsÚ>ŽËaï$êï8U!°lÀºˆÞIz~5']:–†U×Ô&ê1O ݼƒ!*ˆªä~¶ßNXc£]VçÁ'QÍÇrqžùÖÇeê89~0Š$Ÿeº§€jøðr •*‘ËÊÃA%=õØY Û›-Ñ0înاM»Ù†¹L½“e‡†ZÒ`oSAs¿Dyü =µ‰lÛv—Æ8Å*‘‚¶±'eýE‹ÚìD8*TŽ˜(áøóm Y£n§òŸ I° ’QØ2VBMF¡åò#W`Æ‹QÚiœICÌxP^™äúéôk„N¹nV ž<_Ö‘SFCcÏåhñohöK¢[_ð¨€hÁ)|Poô—’÷Ý´ c>ÙY~+¤i€Ê.ÓøÂNóI”ûµ†„á7ú¥}+âõØ ½5ÂVãH[‹=ç;B§SHxLÿÞ«ö,^Ô[£Ú·’)i %5t=,EÕ¥ aá/Áe ºóBaôÚ¶`HýbìªØ‚¯ $„R‘_È®È-À§¢H#û­Pƒm0U^ês7"ô‰tQ\sI`²ƒžœ³D‹ç“°LŠ+i;—"D»Qˆ· `a¹µ?Øö#ͬG…Ÿd2d¤â7:l߸_ZsúV¾]ñkƒ?àíçØuý2’Ç¢­›ªù‡Õ_ÿÕò-ÉÊ`&×óR)„3kæ\ˆá• “<£>6?’x¬œîò$z¾«$).ø?ÅpŽ0abìo°I(j6à·B‹hG ˆ”kJž*g–?+YÆðø“©·÷ø…P˜EØ«5 ïøL½˜kò©›z!|DÐXØFœn¾ù¯H¨Õ²ƒ~{¾®xÆž=.%d‰ÜoK0v=ë8ƒ_R9ÓPÓ³çˆá“pØ[Og~Nyª²@RýyÜÄŸ: ©¢/`°2²r³Bä†f­ +¦=où骡´ú =Zx6|ÛXH+µÔIÍ…öwiM«÷–ü'Ài—4–"”Sša'«AA»‘J÷çJþ †55,l%bQGâXãй@ à—k +Cy f’;‘î}ùÌ;ÌÌR݉màfmÇÃ&ò)×l‘òÑúÄ_z×LCÑe„ç‹"(™‡­¦ ÙéÒ„ãZVMü…Ui&0)ªv*î(OŒ úôå‘äÑÚv;Åå(ö°"Âíç?ž(ăaœ€Ë| ƒAi%°PÂÌI%Îz-¯øü kö£X!!iQ++¶m9‹O†v/´ƒ•¸2±vLþr×4 •ŽIUóáøSQ˜óÀœ~¿¼ +ŸORv‡¦×õ.?0Å»“âãP?¸ÏÑ™™Ÿ‡°P|à&Àk¶^¥›Þ›f2™ŒYc‰&ªof©«aPâ8©mì9A+=ö +âÎç^ ž§ †>®à‘v +b·8Ð×H¢ƒUÖ+À”IqPÚ±1{¨¡A¬ØÚìë¨Ã}q„wH:ÞÓÇ[aw¦âŠÕÆËäõiìBíÅ.«czÀÏx•`žxY0[¬u×±l¹u˜l>Àߎ_ù¾¤ÙÙ¢9Ås†xw,ö(Aß⋦KÁÐ`þW‘t^À÷Eyˆx ºy–Z‘àø&x0—ؘ¸ æ«Ç¢!‘9Óºb*Þ)´8 KrðFîFc+9ãïhÖƒü±¬'±¼pÑÁ€p ¸ïÒïßxf™"Eaæ¾²z[BÈ1ï’­+ÖÃ{Q¬€§ÕUN˜|ª0RÁò¢zr>KŠs7çg9ÉÁÀàdìmUŠ›pHüÇ~ ÏþåXL?p»Âgî–i:£³4£’[·àçIi“ö@ ƒMk7þ{x\3Œ+1wìý¨¸¦‘Þ ¼P6«™…Q~¯¥˜W Ù¦yR¦0n Q -Ãuz:\˜®ý؇ٛÑ_vïý¦Ûö[¿BúTÎüðNÉß?öÙd‰|– þõÎz•m»ÜGý”`;TìŠcf´ƒ ,©Tg3,oV¶™å’j*F¯…,Vsíû¨ñ]líÐö]p2‰†öqÙ(!æð†Ô7³Ìªb8ú¬+‹<ë Ž¼—¯Âî&¬åÄiö5Ÿb R„£‡W—Vàr3²8â\¯¿U9¹ÓUƒJ̽Ýÿ|MöÖsJ2ÛÏŸ<1ɺŒèß²c˜„;ü;¤*z`Tê§FNRÂ^RÀê¿ý ÔÔ@¯xa„=ÕÒ-Úê“F<5 Æÿ**¯wgºý Ÿ‹µ¸À—Í 2ur%kyN×Sj¢užTŠVÓ´gÆÿlÑø6ê6–íÓêXͬa>W‚<04RÉٞдätÒúJòjסϽYPÊ‹‚ “"’Ysò¨ø¥át5R,ìæ© T„ífÑ[‡‹94…ZHüå‰òlÞ8ÑP~‚GØ,8xèBÍ d0Ç_Ÿ0Û‹ŸélæX|²òÿ±™ uØ; á¢êô«) P®Ël%&£vIjØúúÃ’µGâbÜ®…LSuš°³ö$íÒvQEœÈq\wUcØ­$»`‚3QO½Jg[8x:¥Í»"»¬`)Xóô@6)dB”1À”°äÁy%x‰iJê½ +ž ‹¹¯°ü£&ÑIÄQÖì×éŠíV§O}ŠfòéÐËÖî›­ä;ÅólœPg PZU¬B l0€„Qé »2w—êØ·¡”uãYuj§ôãfÌ-bäç“ïR€}ŒpÐïcëŽÈÂÔªmB,2*îÂךkiÚÄWV¹Å&w‡—IçØv„B—¤:ˆCÎÑìúv½ìVÕ|"#A¬›%glY ˆô˜Ò{ç3D^Ì/¼3È1±;tЃEŒÁ漉lËå!hK…wùœ€(}|úÞ²ÿ<ZoãÉ–",ñ7®ž¡gÐu,ñ˜Q]R» ÑG¼†L„ªŒKarjM÷ñv",dl,» ™£ þVEÀõšôæ–Y/…Qe‡³”‚¡Ö¥¢L M¶ž–Ü8ò¥õ~'Àìø·™"·eÊ£Já².ö8yÕ¶‰Gÿ¨U&’F.ÄÂm–Ž¯6í¦&©•·P!œÂ9d îMÁ9\0€¢5]òõlRƒàæ/ÀF³¡µûkò'² +‘nóZþ~áêÃLÞ=þy|¾ÈááA»UbQÒFäÌé#§dÉ|óÄ$j¢êzß•ãŽdtäYbß+ðtÆ*ADë€4ï’ËsTÞ.Õß&>Þ?üeÁÆ£kYcÌ[fƒå?YÈœvÈ{B&$þç]é(ÃA}è£èF]^@…Á¶q!ñTãÊþÆÌúQú¦N[i¼et%a¤¡z=g=hÌff¶…[ºo—Ã.Wó p‚* ¸”_¸z$f ·üôªUƒøW–yà UÌPE ¥@nÁ +'$åÿ Í9ØpAÚü„N™œvZNjVêy…€¯£_â$T®‰¹ÒQ—GU÷%¨8|é@mì\ÚL7g„eØ"o ü ZØÌã +endstream endobj 667 0 obj<> endobj 668 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 669 0 obj<>stream + ƒB¼e{‡{èšÌ·7Z3bîžC øµí9$ü|BçiN/¼3ªM ¡b÷?‘(uxàgP¹2Ï'002Iie¼hº<Ê`aJF¬²½ÚèZ^‹e~þîÒ—2_;,Taý³¿‰ÚaI禳h:±ñ•øHň0îú„õRCêÈÎlŽ‘pý.‡!Ç{lCEê:ž‹­ $«§íUxçô¥™rì´88ïsñ>éY(—ú¡a÷âpE9ÀvI† Çn‚zIà™)õ¢¨/~&B¥5¸×_\…ZØ&Ž¼3²K "ÖŽQU2*Š@ 6¯ýS¶ˆ ;=›½%'ÿ-¬œþ­ÈÔø´'˜À«ÔƘÿD—8*ÅÚÇN{cºÂŒ +TµØ“<ÐÑe—Vp’ôÈÎmãsð0OñìDÁÄ%ïÍ"û@,€˜Ð­BxcëŠA’qôBëoÒ»2‹Mo; ݺð>÷˦yA׋zsh ¬z )Q<ÛÑ92 jØN`ýœÃ>=k¯zâ¹lÆ]@~]1š8{âª}ÒCM1ëÂÆåd¿,æ.[ßz,ÆêªÍ.‚'ú‚ÄŠtìG9 ÒÙqeVˆÒ9 OBO3÷DœÄSti‰+î5:q•á¾'gÌõ)æùp‡åjì÷F¼~Áé—jàý A›T,¸09Ȫz}WJg„•¯»X¶VBe?¬$šñp·½8'Î`0õLýBúF>äšgÜÕ^ÕÙ4í°oç×WUIåw¹Ôy£k’ë/—<Ϥg8kŒÑÁùê º{„Ó­®N4ì´ZÒf>â–¯"´'¯•S¤ŸGqáGOy»CAÝ®´u9›eŽ%ƒËÝSêÃxÒ/A7šX¤„¨!Þ¤Á±:Mô÷×Nfÿ?Ž!¾…^ªÂfE +iGn¨t3ü×ÔN$0LQ¦¢e®/gÓµ‡§„ÅAÝ@»æјCGÉž)¢SÁ +¸-1÷RÔ°¹ú·9ܼh=b‰«×Z£ó}D˜ò°ÿÔþÙÁŸ+ ö|}¥p]µ|`ÉM>;üPKÀ‹6T,áŸ{Sg4‹ Á•çb£&ŽªÛÚ½†ÒÛKµš×4€:b9¦ƒyå{bÆëÔÌQØ}/s{Kšå o[£}D¥…ætà¯á­!oþ+îò +$†Kx²Ë%ÆÒüŠ¥®V]+¯lìfç{À©ŠxÄuž}~ýAQøq#MÓû›'tÚA_Ë÷to'u ciÚGZOW /ò®ùÅÄX)æêß/=éNç9(5±}‰ô +lx“PÑ°~)Ê“%¥— V¤‰¨TM“ô©\|sTíåá·/£…$¿3šoD‘cõˆ,ã[½ð£Q²jà·0B^ oH™MÝTzoÊÞºpîuXÚ.WÊ>Cú©cÖ<˜ä’FE­°ÇEdEQ­¬ûR}¹! + ÛZªª]icCÏ‘Qã’ÿ£i€"“ËsŠ[lQ]~œÅ†W^æauž`ieªÉGÒ¬„pêk,À¿0¯èå,b…3SÄygCÄ‚È}OÕwF^‹"D®ÉZd»Ý¬œŸp"Ýê¨:å†>TÔã©(ýCέöS ûïes/iš VÄ¡:R +ö¶f¼ {.ö‘‡»-ºcå)©nŒárÖWåÞ)7ëûË÷#Å»„«n)E Š¢roˆg¸%Ø)±ZoÊé›PŠ'ðª»|S ýk€wÃBˆ÷À±¬vw/aUU?m—Qæ<áÒð|(Ðk‹Y#*ZÕø`2Õ+ÈÄìSI"&Œ3ÿ†p!’¦‘2 árË7‰,/à Q‘vÆfknâƒ+žgt +QsA`×O®ŒÐCŸîzVcÌ•6×Z¦ò<_^±¬(8x§¾U,éuÌ"ŽÝL eš®J½¿p¡Žpµ†2'” +.P `X[®ƒùÉË +; ñåäžDPÚñ˜7“\g`XO±R +cýVÁ,s„n…ÇþGJmöx1 +”ÎtxcôÎe¯× ý]±î’÷ 'GúÙv@ »x|ã¡St¦‚Ö¦yÆsÙÒ+%~g +ï}(- [¹Èz {æk+³e€ œ{˜§ÍÁ12Pš<åý‘…úHÂr¡»ÿ*Ï6²ó팖F‘%7²/´[/¨R^“ÿ¨Æ>i¦‘zB +I¤Êóî¦ìV¸è¶œ/r0_d©~"G•©¨¨¬À_¾@yF<Åì—?7{íõM~f*ÊRÝ\T1(4Î1êcrI–zߟŽ‹îXì¡ñàŸ6u•wòen\*ÐICƒÑ"dô×AQ)¸´QÍ7Ïʉ„$°0R‘S£€þz‰í[-Ú } $aÖ¨¡C»†Zx^í´±»Ð%•gŠžÝ[à3̼ä“&ohÐqzHΈiÄ¥)Ò;j{IAñ;*F¦'©OÞMMF5gôbŽ—nt_|DZZ0¦§Ý¨T} …0ƒN°æ&+¿—%„¾.ÈÑÈâÿÑ\;0á þ‰óâPÈèÖ"QÛ¯nð=qÖM³xˆB#¬ -¾à:;«qnO„Vۂ˸ÀËUMÑÎgÚO‘Ëf&‘.hé(ñBúµ ÁF2¨¬Ù€PÄÙ]Tךæ‡Õ¼¿_:¢V¤X·ó_È?”è Wç·ˆ1;smp|{c¢¾É Ö.K7B•FÒ l^ mÝ?þaÎ5ànÂñÉì€eÐ}Òt;žš^ø~ƒ^›®¯òÿùywÔ3møëÁm“_ë£ÅR1Ø kAFó´L´â)ð‡Hƒ @}¾Àœ)¡³¨ÈóÉVžoF›æ¶ØC|ÐVþ8ˆ×ª!Ê<ëÌÌ`G‘ÛÇw`^Å=aèÚòÁEýè„/žÿ¾Nv€ ‹‚œ5=““ƒ-ªV|<#Çx*C¬A‡p* @ó÷цeõKÀøÞx?(Öìóë6«*: -±€ùptwzmZG®yŠÉ¸iLX-DÏ£\DFwDô1¼hSÏÑŠÊåýó÷w–\MQÔAq^ýJ6¹Ý3ݜ֥禛pt‚VÏâ£Wc*çˆWöÜᨔŸ™þ½˜AUÌÌÍ€‰jNñ«>éM<þ£h¹~ó‹íAà\ŠqÕQd?F«Ûåþ¥ï˜’Rq*ïÿiÛT§FJ3€¾iÅ#z'|£C@¹Ü §Ë¿Æs¯0È—ì+°oU¢2 +ìô-&\\ÿȱ 9wÉ™ M¬V$ 1f Ý×ÚòÝ7­ªÒQô¸†46_€´ñh M5ûÏžˆÁ¢å¿Ÿ&"Ê:Hå@X:Ä?„Ó€ÃL3j¿h—Šþ ÜÑÒ7—hkñ-nÜoq&OÙv³Ü¾½vT½|"Äúr·I†Á'‡.ÔÓÏ~:R/äòh›-Cu)]ûNúäå95ðÊ›0u5bwêó’ÃgR&·=Ea6h'wÆ^$ýÞÿÛÛqæ« +þB“/âÜnÓ=Åêc8.Kô¡äÖˆßN©ÿZÅb‡VѶ¸î4Ÿ•¤‡OBê;ùð;룙–ËÒXxÿs"¶Ðã?ø´¼4*Œàï}*”H}‘–NÕ±K”z“†^n¿&F•Šsn²ÏHñIjÝW·±±]%pƒNö@¿œ³T7þR¿t*è,Åu„8È¢¶°exShzên‹ ÕÉŽê³9H +Xj¶Eèà‚†±ÎyÊmpëYÉn‡j¦jýòdàØøŸÖfm(û:«ÀÉé59]O‚þ`™öPî½Áe4mßÿ“\ÿà^šZ-Ïk׆ã·o1ôÎŒ{‰ôн£RÒf"%×,(µÐ†µcŠp÷A—)/Oüœ¤ö8JþÐüf£·ý´á0{ø’J´¥±N…JÒ3©eØ•“ + ÷϶«ÅÜÉ£•fðýeÙ·é·€Àªã]coím­bÅüÙÂ6]8Jd\ DÊð‡q»Ì»£cBrê ôñ³K.¨äŸWò%:WNãÔ4tqY1q­%Hþº²ðpÛâÍ•>f¥x®'65Ú4Fo +ƒõOg +5ûi)—eNzÕ +_á½@1Ò‰ÖËÇ~MÓb­Ï~ŸûãÌYx¼H^¥g<>%Ý­7žCé e }Î1ióìÏšUMå‚7œzM(±¢©©Ue-çƒéõ,½¾ûêpôõšžýÏZ»àMBGȨ„^"ÿ#BôTølÈœR MŠF†D¦è©¸º+xp§‡ÿ`ú§ÿ9nÜEl(¤‰ºWâ9«ë÷­¾.¯-æVÌïÌ4J¾Ø îh~4(Q€õÇ1zý!,Ÿ¬X®móeP7¹b1óB)ÛrÒ#j(t7Mîðb²îËUó²ô‡Ì"ÿ0Ä´¬üüJirÒUôzÒS‰áÃpÅ@‚Œâý¬fæÚ¶;*¶Ùlhø}ç­¤•ù¡t‹±ÇN Ø‹ —¶àNÂÄÿ¤D“ЮÔ_ÄÌú)7§2UÛnHÊ€Åmã(Ñwòɯí´ï‚©Í>{ð¼rnÌÛÞæ&û«H„  +endstream endobj 670 0 obj<> endobj 671 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 672 0 obj<>stream + ¤ÿIXyºB“ý4(wÒŠTö•ÙŠŸYtèÒHØv±9pÓvá[`᧡Î3åxv`Œ|+ž_ý¥9”wÕªdñÍ”>íWÕéñ¢ÆÎ{|’v¨33ÈÞTQBh\©!™ïÐÃO‹Ôâ…hiE*¤t)Xœ°!Ó<j­8BMhŽB…‹ .Âa0üâÉÆB^oÊM' ü7WjòÁ_¹F ^«}ÃJ +°H‘cÏ¢(*ÕÞyêèLÜ‹m¹Ãâ¼ö¨uŸÜ@0û³„AiU8&žËXÞØYÎÚóêCÄÔ‡¹.ñbëz)û…úiÐ vWyupR{÷ÓòÀÇXÞTíþò ` 4YhO:ÑÅ>ßR*ãÝ&B hHE&©²j&ÂÌZŸ{ëï»Íƒ±Í€Ælci{â-Ñ<æ°K 7°àR†I¨ ô­Š¨HR¿6ßäècšI¿_©§hÅþÀ˜j\RÁ]î8EahY »%2’È*!J #$Ę„!ŸÚ1Òƒ*Ãòjz.!›:syzãJ€öaëÂ+½Ì¨"=”H*Í4¸m7FÁ +‘¾°d"³â¨È‹…Ó­"Ù]Ô“¹vBá—ª­»`‰¨Ë´ÙçÖZï_®Í‡Ç¾Ü.ôUÍ}n‡ø(%ˆö()< Ø_X=Áê¸ÚBXŽÓ²Q.´·Z°%u u£'÷ucà0§¹(#ï°í4Àʵ‚˨rP ` ¸Øy…ÒŽ5˜4·rE„+a}$é¸$Ž¨Ï’ï˜*–£fn䶴N^&Wª{%psbD OÔèg8k‘ÔB´?@ZVFLåš‘ö,sœŠM2r¿»é†A‚çµ—Á Á{g££ |Ý¡k”Œ/.oˆ:4§QDd”I§–ØL@ò*s*¶’ÞB+5–æ[DeJª~ 9íPN ð =¬{Ô8aæ[Òç1Ïý•ûu'kD´ ? }4;kÖrÓa‹fšlWå¬Äß‚ÞhºÆý«°†ë´KYÿ‰õ9ù ÛL+ö´]ø-ê1ã!L¤Fv[To"w}}Ä÷½<ÌTp•üéCð–a¸¸­*-®ÿY;ѳrðºYbYØ2c9lf>_ɾ&é8³Ô`[^Ü…lcÔi-_7‚#cïžZèUöîë†øöŒŽÝÀ‚íÚh +6>AEUm>®xm\ œÓ!ôÙgŸ ’eçN8Gøµ)“¡¶£n ?'¸s¯á`mΠ¥¬E¶„UÞ-9o9c)r¨Žóó_°[ê춬ØŸÇ<’£wj°ûSƒ&æ­Œ›Ê zOžÉL[Ž¥ßk1èÏpèêg¨j¬C™rÌKØ ð']|Ô°|“×ói¤ƒ„éé´XÏzÍ®Xð<‰VŽÒ±`!¦CÙì~Wq´ðÛ¨ñ 2 ‰?Þ6ú]$‹¡Ë¢8¿tõXˆ wçVQÆlÙF’b`-!UçUxüXìÄ5‚ùYß»mPõ—1F“Ù‰û¤Dºø(œ‰t.õ¾jÆQÕf•þÜÊ„åÎU?â/¢@÷Y&$5*Éqþ`²âÄèþÚlvQ’° ®æÓÍ“BIb=Œ87½xMw'óm +Fæ­ßdÎOaÓÎÞÅΪh +ð,ï}†\&8Ûq1Ä}z‘6}±ŠÜâ-§€¾Lêã!WÞ2ØÄä4¬Ø2؆,óïÂ|/sy8+ñUµÊYsï„°µ1×AsöoGpŠDUom™2{ýµµ^²H¨k°Þ `L—2nm´u'K‰‡…çµs´lù2låC(]›p7„¨J°Qnûç÷«ø8n¸a`¾4ç5ì‚—MÀU ßZ Ökׯ! •4ºjëâÁȨrÍŸ=’¸~ÊƘ½cÛµ; Z5“â:táJÐ+;‹ªÊ>ùÈm‡åàfO=6â7y×…R%Õp´˜yÇ„éÓÔ÷Af0ÃHÐG…¢AÈúè¤!_¿t ¾“6òjÜÜòÜŠ Wˆà$–›^“DÐñ¨ª/‰Óz=Òr4E9O!wê–µ‹æGCY æxz‰'''u1,Øo#)ˆv‡‹+{ªÑÉÖX=È)Lõ +O"L¬ÌI +’Í”.¼¤‘¢óüÏ:K¿Ô—çÃwãJ¿(_P{$Yå‘Ç'hÝ:\ñB’Þ¤Em´¿Ï…_ú° øÔ”«CH»Õ`N< œGk8ñã OµZšuFW‰¹õââ<’" ÔýGhBuä LóV/´XgË  ¤º±KâÜœ žWºÅ/Å^‡¿*ä¬ ó”óTFhâëa³¡Ì± Œr‡C‚©“†ÀÝÅèÛ»ùy¹Ã9B»YO¡Ó;–£ŒTéêàM¥ i%[q¢ôe ’ùâBèk(X¾§e}~¶úwE³ âêd–ùvr­*æÉø§ÃÀb£¯ÅÞdzN·Pýžò.hsûî\,¤ ](±e%êÙëkððVNœÚ¼¢A©–þOš“Õ5ƒä-„øÔ b²#&ÈŸžóýtU¨9‹Õ؇ °‡A¾0khù;õéA†èJ_+Khc¸ *HAÄ9)P®²ozN¼YìÏù0F€ONWzù§˜,ß‘’ÊeGï–˃×f×´ƒÅ)é´Ÿ{–Œ¹¹Ú2¨íf1'§`U>ò³ÝÀ™¡sz Q´ ]<Æù" Ta†¼ep‚¦SºLÁêvb~gŽék\á/ñXÛ’ÔÜH3JËÿÂŽõ˜ä›¥²µŸªwQÅ­8 êLD2ò±Âž LGtG,wîèœs'Æ*ÌÄN³Ñ³kóÆÃØeS"ºØ½‰‘—3«X¾Tðý„ÕØ¢·\ìQÈÿÁ¤aÕñ˜ýÀ*,mU¶"/ÖHÓêãÉ–^ñQ¯Ù¡$¢øq&@æÈ jÞU“ª;1tß4Žè@CGIveý厒Uda.gÞs£þ¯Ñ7óqÖÈŸÑû·=ÎRÓú5b†jJñž¨^\øA±›–ôÙ«üÇÀnl˜eKb¦ö·J͸2%ásÖüÄì>:9hfRáÿònºOýøx±‹I&ªx©U›€ìĸˆÏ†@gÌcxrsªâÃQ·+¨zv*Y_Û1×—¹Ù&ëgan$~]´\0ŲàûpT‹ù)‰ˆ›V |·Ý´¦AÊ‹éh؇¼Ñ·‰¢]M5AxšòË e{h/8‹{#òþ †AfkÝH)QÙA§ÚV9昜-x7ˆ|ñ̆Ÿ1'‹mÂ?ýwBjÅ{Ê·ú RM}V&õŸã*!¯ç·)‰jXšSf(Ú)XK§h2ˆS<ýí³†øéMD¡5ÿÆYŸ«â…¼Ï…år~CæOO ðaZå5!jƒ;7r²>Ÿ:xvâRwþ…Ì6"Uœ”ªH‚Çy$ÿg‘P q¥ïþlvª!¬ÑSïÁ€ÖÄYúÕ¨ƒ›F +ó„¸\_ ߯Ög´·…!Î-¼Jļá‹2ätC&a•° ­ÊÑ70 ÷9œzãžV>„>«d1öU.Œ#äU™ÔGv÷ö¦^¬ +õ—äAŸ9ˆK_ˆ…|¢èÖÒŠ]»Y«ïC‘¯ŠÃ_b$¼ÅtˆŸð øq¥os[ Ü1þ¦ÑŒ¼èlÜ•ºžŒæÆ/sKðaá· bIî °K`¯Õ%ð¼¡jÓIûÊÓBn¢ßèí9„ð†÷n Z-LÊñ)8AAq¨QžÆoÐ¥g6‡Û‰r§šþÜ¿›[‘Ua¡È%ó&'½îÎÄÃü}¯mº/5@éä™à<]¤Ë'Æ.ŒÞ6e² +Ö¨’‘0÷ñÞÞ«a(—æwb:ƒ Søn=ò]gßÏ>`ØãVízçmaÉ Hàg˜\:GœÜ®¼9ÚÝ_ +¢m=Ñ2YJvß[e„yw¡°¨÷f5Ø•Ç8AKÞà·aFÒš•k°ù Íñ¬Pÿ²‰3L–«|$ið‹›d‚‘|×!L g·‡Î”³l“Ã.D/M’¿3aN4+ïôî3ÐU’ûòyKHàq"ðlë¡~eNkµËz—Érj0Œƒå“Ø´§ÒÕ_ê.ÜâûÉ·ñë÷žG¨c}¹w †~®› +a¨’Õ.WR™ÉÜ&=…òQm2ÐH—¤?És÷wôD63í¾™0op;{=mèÔA¨Ï“*wF×Q¶@ÚEO¹Ï­¯·ˆ„ +§´/Þ¬úZ· cÁ×û‹Htˆ:íúþ;œÍb<‚ù˜ò©¼·(KÁ÷"².ê y¬)¤ÄòÜ^OÞº{ÁVut} /éç9B#<[:–ÂUt÷–nɹջœŠ¢ªà9oª.PÌ !~¸–5©K”`äWg›˜ ½ªïP-¿¦ßŸääha`ýCéëãÑ7‚ ôô>€ææ +[^=б4~ŸBN1ÕMdÌ€TWýüß>ä»»7S°Â—37æy󈳅úºâ»—Ô—´ïƒ`áC».Žù66cÇø¾Óhu1¯½µ½å/e˜ Ojÿ=¹/¾`x ’k„¢Ë­ØQ%k&LwjK°[hPh@ù~§[ÕÙ$y¤…ðcXG£“¥ÜiÌ‹Ú¿% ƒ e‡EóÌퟱ5(¾©Ó€»©&W-§»F´BæAb.AW³T£êý£%8Àƒ¹.UŒÙЛÉãöéà3…¸Â² ”*¼ZÔ&êî8|± *«™fkP›%LÖÞzpLžöe …ŸÏB•]ý1öHGùV›¶SSö@ÍC"›¬EpêXrºP.L&y ñ¼F“‰Â”ÅÑdŸ¹Ó-e;z°€gm½Ìø*2ßKÖRä_§éÛpä¯d\ÁøcàÃÒGÞékòÜ°‡È/>°ƒ;ʼgx‹7yËßS,}ÉŽËqkc³¥`ýÌkÖþ¬ëö¿/›Üù;\Ä0ŽËÞ_¨Lü ó +endstream endobj 673 0 obj<> endobj 674 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 675 0 obj<>stream +½%]î5|‚uC¸­¬…c1©Kf1Ûë×0HMˆ…ìé®] +Ûf ë駈¸³PWiõ¾u`&JL¿‡}ºL]sÿZ”}®ˆb9 0ˆ" ‘™Ô41Æ‘"Y3M‡NOÿbŠ² ï¹] XörF¡ó|:A¼–T¢Äqºdm^H®£íkA ã,(þRlmS`  °£79`½š¨²°l\èù^DC†»t …ÖÔ](¶] CµŸïzšî{ic‡¶˜­Ë!Ê•3/ëŠSôè!Ù}hí ä*7æZÀíۜͺӧo¤€i ,k\]À5¤ KHÇ·’Í!þF"“«G$$‚Zež9â[îõòL]¼ÉBkºûœyYÜeœšÇµoA0E7âYÕç!{-X²kNº@d©´“_Ю À¼#ØÆfêV…k3†*ÀëѼ¶\»MÉ6ƒšp®l¡u'/u¨q¶›¸/NIÕN‘âAüSòv^ +ÓDýæf*w‚ŒÿO൤°JÒ Ú'¥ßKíÇJÄÿQ1™ha¡w˜o×°Üþ”p¯0EêÝ•¨öB²éµ¶d¹éUÑÛ[~gi£‹þçÓtÇÇs'`lo‡ÓÙàöiv¿-iå²ÄÈÐC¢$mDW`?$%% +ñAÿm`Ô*Ÿ¦,>|²4Ãþ}e TÓE ‚=c¬ %5m™Î1|_¨L™3wÈ/ûJ–Ö …6ªMx•O¡jìçãv‹ðËb·: Þ­ß]Õ©‘nט‚ÔaQ±€)ÜÕ<9›ÞOw ú¤dà(^~ÙÜ°’Ï qž¼³ñ]ø[1Ùkxm(6É¢êí¾]ë‡bItú¦Ù̶Ž›p_0ccÃAKHrDEÁóv3«Â¸øÿÙ¿ÿLê“ÆF¢R ~h‚Zž8ÕáÞÍÃT¡ÇWîW<.¨)aÃJCügÒb×°·ÛÓîã’s¸¢Ìå\W\›½ALXñni{e¶íʉƒœCÇtÞ<)…ø…Ù¹YËÎXuCS¹¼‚øômGÚ¢a!@ á´V4kG¾:LYY8{¹N'·Éì¼V€ÇoX ’ýS&9æn0o¼å‘*} +ïüOóýS–ՌDž†›.ÏôÊ›Úê ²,Bb+/&e'Ñ@³Ùâ~©HüxJ°i/Ìø(ià•*î¥Õ9óÿ¦ýxTÎáo/žvŸ?<†2t¡µ*º-Ó]1>üHù °ÌržÐU*ZþÓGºþ\Ž˜ »9Ê[ÂëÌ´ÐÇîÝa©nÒÒjeHÉLù¡pl¹ßD™ï33:_Èôý€£çì + Ásª Ž‘¹6»bq\ N¹º=:àˆÐÙS’åì ìtϽ>cƒÙtu:]P¬=IøMsáN;>”€ Sýw#­b»ÇQÔö¼3È[ +ºÊßÝ€7ðK›+°É®}Я +¼ s-tñß$à×æl@¯ºÀkÈÞÉ¿Õ@$AÍoëÖ·¡\èžFnKRºÆÜüL˜zTýÅ•0ßSÓ¤/o{\§;Ü°èJw1&¢¬°ÑXøe€²+™;A/„ÔƒJ œƒ{õV!¤N·ˆáJIãs†Ô{;îŠÌ¾O/ß%^¿™„9…ÐQ`t$ÆÞ_5tRá;€’X{o¹ø‡|{Jîï +'P”*Ž½‰2É·kšj(&þ÷‰7rÍV£ÌÙbD=ã8s𹩫wö,fšPf}j\€W3gG$‰MOKŽßB6 ÿôÕ”>âB×ð ùá˜:ÝŠf +)·à,Þqã„J;§ Œ‚ŒnuŒe‡Oó34óËwcoqhrÝTw½†’bø–]úü…Ø¡¤èÍ‘â`$¢ì?T¼]Å& áµ—‡rº^,e0+æq¢¹§ÆññÃC³“zK•Õµ9ªq üH7ÓT­³’ù Åý +ì!‚Nrgì ³uóÁ}V†> `E ÊA·ÖrÛkbcdœòýØ÷ÍÍ 7Œ4³;ˆ7 ünWýþÃàšÎ¨€CPþkƒ¢˜Jºëè5¾×é‰A9d]õnÜÖÑô“i÷-cò±÷U~X-ã-o G˵¬_áÌ~‹dHŒ^Ìt:a’lßâÀµÀkœwMäÛ¹þנݹEºm¹5t»÷°?Bz]”3šÓ´7ƒÌì~“Ô ÃCna¯©»1i(>ê|eà¼jaf+¡’XNγ1þe·f5¢MyÆqà ”†¾»lètD‘×fùÜbîjâ(ý=òÁ-}¿îYü \ÏG]B‹³%ÃJ˜ÚGP(‡Ó'ë¤X.Ž¨kãKo^.uZ \¶» €á·k§¨}¡†õ½²7ÊÈ'Wµnç_‚|[·a“»™<Ùi¨Ì‘ꪯƒt±‰ù/O@=VÊý“Ø×hL¼…~ˆDEx÷Ec^ÑW +¹ñÖB,f,ýÅó<ìoCY2¦eoº&0Ì/ò‚.ýòî0íÁ°Xí>÷y桺e|šM{øߣ÷¡/ÕPå2\Nô8ðД¥€„>¨UÕÝíªG•\3 ÐwïAF>Eã +··ê6GT7h}´òê2MÚ7lÿÕéKüÅXBüDþŸzqJŠ»o‹¸"'VÖ'vAàAD\ +ÄnÞWŒH¶„Ô\™-,+/ =®â®­KωkÉuåOôXpI²"ëÍ ˜–6ÆÓ¥}"ô@ýF¼ãGvzKüo×’Õö“šUBÄäKA|zÔ€Ê^Ì·l¢¦rëóXÒR +í:lÙ!Úù"bbL-óÕ¸úòñ¤½¿eÀ èl_ÝÏ‚si|ƒÄö²dB² "ÝEª!\Ž•£ÕkÛŠv¡§¼t‘û>-Ó(D«!RÏÚŸ¦Ày'}^¶&AÅ3@=;I©1z»žc¨ðõœ¾O‡˜º‚´.Ã`’µYÚHN‘ûÞnNw+qÕ,qмãOVÁÞg„2àÚÓyÝlo¼œ@Áú¨œWâ9c73($æE² tKÊ”#!SV_ë,¥3÷[%Å.«Vg °b<„XH +síÜ™7ƺ±î§Ñ*† ,±§ˆÙg¿’9P·I^f¼Ó:-‰¹¦\ÎÛ=/’:(GýÒÝK¢SµÞŸJ³ã$/—Bî—ÍéÅCXªa™r¥S­€-švl©W}D†Ã}ùž&àßð³Üª+²_^»gˆÐ¨37@¦G"[¯žOx¤"å~bväåÖÔ˜=eJñß,FëýþÇ-.»/{;¦\âº=m,z·bÈCevF ˆx†Fšýä´z?Šë’A\¨^ÅeTü 9JÎÇɾÂ'”Ã×:Š²G§ë‚aS‹¿óy¢ñä+þÚ‰^õ$ùv¹P”ö¥l{oßyPÕUÄmÒòeÄ"€îÄÇ&KV°û˲‰ øÜ8¶¿9’-±Õ¥㌸P¬VwèUm>^vhM"¤$¬s<>BˆHVF2S(ú=µ¸i© IŒĬÇ~=˜2µ¢î±.Ž°š 櫤ƒ3”ñ%òƒ> tÖ¦ý¸8°‰æ€‘[E4–ÔÂyÞmV¼U Ð&˜2‘Ë‚„zºß }*Ä-išµ?=!ð”g9cÐä8R:‡%Ê5x¬©®—€ãòO4ÑÕî¯ðˆ ä½!Æà¶`Î¥(Êsu0I|–êdžûMhÆ2¯óSc]o{2Œ;ÄÄy¾[‚ë>;…JÉÁ„M[.£Œ2ûêůËõ"ü†ROÎÄLJ^6IszæÁ«w5 _±©“ã7Ÿˆî#pÏÉ4pjKii:§[–¥ ͆E\¾«®)Qª t^nî:« àîíêîí¯£ÞI1ûÈnT>§á®ôã­'M;Žñä¾Tdž6+,`†î®rôÍ÷HIO7%ÄwØ©í/„òê1Ü䧟l† ®U¼Š²°³rÈ/ÙŒ’À{-ö˜ +endstream endobj 676 0 obj<> endobj 677 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 678 0 obj<>stream +¡2ngᘫ^»ñüMB¿š¦ZÆ>Ì)}åŒBÒí¦pºlØÛ—Ö# +ŸÝ¾ôo qgoý#“WiÓ_ÛBÏ{D üœÔ¶Õ¾I%±?pg0*SÒ2ò$Éñ¾ËΘuÝxA5å\÷b‚ü‘_=>tõE(ìnØ—?|R YÑk@ƒ[„—p£'²&Jg‰‚lÑ DÀ/i€ÖŒÂ.‚_¤Àhù0ÀÔÜÉõP¶ïrh­%£Ò§g'ì¯|Ë.i-lÛ.·¼’áÁ~‘ûkÁS¨@‚Õ»lü1Ïcð%z +6Š(—§³ALë꾸hvK¦ðU|xÀáðqXAJ”ˆ.jË8¢ž¯hvø‰ ö¢{uiÔ½üTÓœógñŠ¼©p=Otq ·ôóîßÈnxL<`Œ‰v!äg yV®À:׶m‡—¨Òcø¯ï|ÛL9Ö½°:§$DõpÛkÊ\º'¼|;‡Ð×PßÞ„’©¨ÆЧ‚+̳E±9Š8ÂŽív®ZµÚ©¾A&zi„Æ£Í$^ø‘ªÂ ™)ʼ¯ùWuLBnÊÒ<ù©‡hœíHH|‹øŸº¿ÿ`ÊÃ~IÊ3’/£0Þç¶Bƒç›Ï«q¨½yvŠñÉòró¶£7_šZ(µ|j†¼ÄÊžÞà £õY¶yø›G)W÷n»Öø>5‚Mcè,éǼ:Ü€¨pîÛ ÉÀ€íJ‚¥VHξݓM<¸ùÆÙÔ‡PÊ蟱¥9U7Ó–RÖ@ïwæ]Îåw÷4‹„ Y‚ÕaàÖ˜)7àSÇW$…جšW Ÿ¼k³"†’Än\žóIiñnj&Ã\•Æ÷k%Svœ½îx  @hÇ4 £w§KX1± –ŠëÆĪÕQFU|³‘8)›ëùËüè†øCþ2ÆÊ·ÜŒc”H@•§ŸIÀÚYëÔ>ÉÿJ/Jï\°VOÇô%ôftÞ&Ýû‚sfsÈëþ´ÁÆK‹ÑÎYÜZ ¤£½¶–ðÉU°,^ª¨}² ìNcc8­ +eJISÌî‚ÐïáRm <>ú»r¦¿èë^Áp¥ ÉŽ¾· z8Æ ™lx-&ãÃñõV|»…Çz£‡¬?duzˆTÎi¹¯’2°2í÷*jSX" „á;!!wL…jÀØ´½ÇpùêܾG…@EÔêJ ¹í1½cµþÄÛawv9Rű +köÅgY¢Í›tØ> Pêñ¡T·ZÄÆÅq•Ó’º¹æ5½*ô‘`ë?Íiô£îô±קd` +Ðãœìf£ ÐI!½Ìô“ÃyLXïZAó5å,?cü[ŽsW¶)w’¡;Œên¸Ö¦ç^/Xù$4=ø ÜŠF<j,Ñ kÀA_½kÊBu™ƒ7’Ð0pD©${$CÉب}3T?°O¹ë^«”X¡äÉŠAØ l‡´_ÏJXÿOÔÂr,Š¶ÿV2´È  îýŸ¬ ú¦ò]Õv«XV82¨žw‰¤¢#ª)–ükŒ{eµÿü‹Îò|åßÿEž^jO¡¼j³.“£ö†Â6ŒKC2Dj€¼‚ÏáZ ÷ŒœÈ)]Áånr)RÐRŒÅ£xzÙˆ³Ür¹8p£CâuþÅñ#²C_8Óöø¢JŸM(€†UÑÛ0uô<Ï.¨0êB*õ# ¸}MÚ[fÒãX°Á`m%WTº`qøõs¦6Þsô°þÜ{ïÙï+§À˜ï³òGþ´´|âÿR55è‡øz`üX}Ì&ÜO*?Scû¹tã .ÍÙ6¨CC*ú­ÖVvV lN¼ð‰I‹‰@h(,68 ½²Ëc¹5þjàWþG”ûØ€µó<§äŸô='+K—§þl(øÁ¯Ÿ^*ýÜóBíO6KZ~4ä°jF&Ü"žI±˜-˜ªô{ÍŽ3´Â—uè(Éáð~¹Ø2‘h”£¦ÿìîú:Ä&Ü#ÅT³«7«öT Ò z)æóAkM‘FI¦’wÒé€ ¸‡»6§&¯Œw†M¥[‘¾ê\ç©ãZùÇŽÿ (üVwe{`ˆã+ƒp 8´Q/Íy–¤JƒØ-mŽXÇk¨qÙs›#©[ÎósM·Æ!md¬y¢Žè•Si¶ç0Ã[? Lyþ׌Ê=™ük‚Ú•h¼Svøæ“™ª ~]þÙµa»æÜôyáQšÎÇ.Œ§Ö%µE³«ÝFŸ#•*þN’PÓ¿C ëhËÆ:À5 d"Œ^9¤ûoí‰f|iW»)›‚¤WÙäÚF———a¢/pù +mo÷"ü‹°ÇŠn€WöqŒuØ¡`¹0• Âbùêm_üaD*Nb[¢ôÄ3.35©¯mPÊÒ®­,?è+£Bó¶m‰9 }ÕEþ]£*C JRPÅ,QÑ!x帥m ‰#í³ÛE*;Š©éMhm–3ô’å7fYuuò-ð>AsžZ¿£çµîAAB“9ÒÕÜìURM(ËöÞX}óÂml>ÔôæúĘ(uÚol¸$žk£šÔ6~ïÖØà– QOóŸã&}SôÝ‹1§Û:Ïãoo|`w½í;7Â>j‚¢a¯ËÌ)_aÛìh—«çµ®Ž5Hßû„"8¸¯†ø­ƒjÅý¸®þ@$×År‡N ÿ}ˆ_$spP¯çè>êð\9/?ô3ª`­…KgÛ²9ÿÐ(P")»Q }Yv‡—›ÑÖ—’íR„½ 1.ÙÜ»½¥4—ÜÕüÃw@;¥àË:Ô§õjû˜s®Ph(^v÷¤Ú`Ĭ8GÏV 4à äÏ3í’®Î;"L°{ô ÕÑï†Î©VàWE©£3zнü/ â0.6U;¾á¹'%Ã܈Ñ@r|:”›Îtâ«öUXšÍ·Âß"Ʀ«_™«„¹Ï»ø ÇXÂyçe_ñôäoضCkè·ñ>Á¦´ ÎÝ„/öEÉÆ +@ìñ0‚Û„ +¸ß‹'ßÔÈM #•©‘ +‡¸«¨èB/M=ÚIÊÚ}È8›'÷MÚ«Å^âî”<1àä÷ä ¸»´™~Å—Ço\²*ücÂmQ!Ì}ÞƒXÛãõñµ5+Ê”VÄæHDžl§k9M>~‰Ì•Ù'¦…Èíü5ãrä,j(l·²²¡ÞîR}Í«ÚhB€|õ*ê÷•AÆhú‡>(‡HúþëÖQ˜‰H(™þ£…[pâQüw’'7¼¸U#v ý.¢5˜·èI«‘vq{ûÔ“6}èø<J¨Œæ¤ãnô½^È_×Du8=áÓnpôHžn‹MÞO†ðd,˜=œöÐÄFWªž8pô{TÆï©@‹Ì,[þÙv¹ó”Ý þßuuzÞ9{‰¾ÙÊKeuî¡sõ eüytãÜiVÄÎ-ìKÈ¡¼Z¬œòúaîÈi>ÝÝW]9NÉŠ;\O'Yóó…€Ø¢‡V&7ɵm'ÙÜÅÒV[ýÚljw-\‘[w¥©Çájõ<ýŽFüÃwXó3/8Âéû3GV¡D6f“ ÄÆg¥&Þ‡…è„1(X¯ÔA2«oXŒ—'zØAc»xij‡“:ÁWeÚ!‹&³öNµbd¸ë¤ k‘)N ÊúÁ´ö`q)Ó7V²õ·Ô] ­å3Ä—êÞDÅà1e[¨Íõ?F½”(ƒ?†æ×™.Èl–1D=«™ô%€äÐù—㙄[õ‚›¯—î“&ûxí-hJÆ ¸'ГßÍ'RÈLÓpÎ,ª>$mÔDè•ÝO›¨ð¦LœN‰¸ÆØ;ìÇïþŽTwÆ%‡ ¼Ñˆ—@&¸iW£1zY“SÀ‹Û ê±¬‘õ, +žx8Ž‹HŸIIlBœˆWœfä}ÀmF€¹ü<¥‡áTÌN7«Ñ7™È«k‚'É6 TBÍù‚F]Àê攂ý °ªWnG†,å¶]ÀZI¦`ta@±zÇq›F!ÚrH >Á‚[†>·&Z±R¤Û­sû5ì†ÎiÜK¼b~ÙüNèRy1Á¡ƒãÀº[©>R^^N¹ö«¶|¾ûÿóbtê£ä†Pj#A?²ð5‚o•_XkT@°[)q“sUõñÛ'·×pG´¡9²[NªÂ˜öNLø1Õt4"3MP‡¤”„È*­YŒƒèz-\ïò¢€:3b@Ó·œ{,áfYz*cŸ’,ÿdxÀ{ ”jµk‰{À»ß5$Ö§&Á™-I2±5d,(®•R˜´ëæ圃¥±óö•™x¶ª«%C<å{í¼'DCIÐŒvø#szùsii3æìÞßï)_‘’5‹ç ÈKç.ÓËŽ?®˜éU¶N2¥ƒ^õÚØí³pjµ—Èl3ØDþôDkt¼­á|ËÏŠlÞ¡·UÏ tÕê¥ÎJ@‘Ÿ…º/™ÆûÞ²Ýb7ª¾Q^˜@ʧŸ`VzŒA$Ž)œïç­c9&{—¥ÉiÙ€îÑ&Ö&-¹§B)q·öòx¢q°‰Z-ÇøT¡ ó"—öÚ=ÏmÆû©Á¢š”e¹¾5¦RÐ,”“‘¡[¼X¥Dm¢,9ǰΦ«0ƒšûƒ×A‡œÍØ{t §ê>^¿¸T–Ò(.L0­“éE4!™Ê¥ +endstream endobj 679 0 obj<> endobj 680 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 681 0 obj<>stream + CL2Á-ˆÊb äÙ/ïR[ñ÷¸ÓBõn*`T²N&ŠVÊ£½È7} µ. Ñr&:Z¡5÷‰ì± ‹!E€ÁµÔœOµE•YßxÑ­JÆvQkLô/UHôñh¨bxF_ÏÚdIÍ•Fm*¤÷a÷©ë.9“z;Ý–pZ+p)ºD7z—UÚ"Rx— Ànœ«y¸¢cex­÷öTÇÖ¬i?l´$Vw½HpIØÀ‡8×[!$E;,Y0} ÓÐîNxö½2Ùùë]ÄÞý•|‹ÿ–8íïä$›~¾‚È‹¾ê–´Ä¦G½ˆtÏ_ƒªQ/¤uæ[ dYnþC¼Q„ÀpÀ‹Ü\a%¶d¨úéB]ßÿÒGF /“tL¬Obù1ªù2WH¬¨ˆÇŒƒ€æ¦t{ +Q~»–%<žV # +#é&Ô©&ȱ¥'û^•žþj{«(p]¢á@Õ5¹² =:tZ¡wöÍþç`4|×W§ÿÊw¦[F³æÐõît p@Xâ'.ákÄoeçoœewŠ­è†¡»Tj7u¶ æúâ÷O¯~Ýñ~ ¯Þ¾U„9H?|›¤ß݉Wâ‹âø‹Í”®ãæJýbê\ò”óæ6åú¬Ykbû> +/ëËæÿ há³nÄ/9!¡b°¥a%k*~J™üS œ#P†8F^ÏCunüS½»Í^ð¶*Ê¥q$`.¸žÎ|UIm¶Ô&Z¯½Ô£ÏôDÒ žÌ”5p…IIЉ>‡k‹n£t†k‹\™÷ð42ÅrÄu„Ïuô²ËH#hÎ…w@Õ§H*ÝT!ÑÒ£Tb5¼êþªewE*KP»v‡ žÃÿ ÇwµšBO&¥ímÁÅæ[ô£TÃBõ—马>ø· +8Çõ|¾Iu¾³Gß›²U0ä™ú3w!]s-s¹Dê£.bxÆ à=k +Ü€rhé˜~)c!5‘Ë÷•'‹Ç)òW%8Oò ÀÅ®E^¬©È.kô?c àæ¥ãÂ}ˆÈµ´_ôj¦ÊuV4\s©×Kªku79i‰bzPœÊ$}Ô_©G¨d).w8¬>Ô«Fõý²BX‰õƒÔ#ÀƬÄÑ&¶¦D™¦l¤Â[µëÉèãiÇ%‰éxèç‹W/A’ZÈ¥ûÃ#>“¸ø+L‘‡X˜ø8£èì}+Õ$e]âc(„…2ð¿ê¢óLͤLSDÉG¬Á7¢‘3ˆ–ŽŠ ÛGæ*ž¸³úØÔ±Âê+•{– ,Y{ÐQÏ]@8i¾UP5%êØ|žÕåê¯L#q-À‹2FÅ3´â×S”¾-zt”XôߘD?VL‡€ÃùHyx÷°ê°¦JçÝ€h¾Cè\³aãn::¤uÉ£Ú¯uÞuô°MKO×<ù½ßò©;ˆ¬X­|R&% Ï+±dvßž°>ÞãtS,±Ôô½W+¸SÂÊÛNÐ1zWµ‰î¨ WËX3üKˆihü•È ¹é¹hgNR"Úèç}¥Û.‰Jƒ_{]£»‹’ÅK)‡×)WOI_ ‰Ê©f+ëŠÛ®¤°l=é{ò§0yÁ-S¢Ò`:ÙæÃéfu;6Þäy^5~áZÞBÕ•ø¿ ŸRÈLøV9™™DzÉ#Hå\•°ØÂ}¢‡rÇaWŠEoÊè¯dMJ·¥+—ú©PœØdɉ}q“ý·ý~S8Œžv·C‹ºÃW¿Sø}2¬têà•} qŸ~)c9vrr,nK±„°¼ý”“ü¨Vú{ÈÚóFSkLÌïaVæ)Î&åÊëþkvRÛÌ+Õ æ™ÕÑá:j HdØ<`áB¿ÎIéÙšŒéE>ÆVÇ—H š)|ßucaŒAȃ\žÁö®Ã5êà²~Üœèîy¸­8ɹ¦$µÕSiZ2Ò&6«x2qÛœ"lÏ[?4ãê}bÂúuƒÖi +CBKŸ°° @_5ˆ+'ü>å)KèJO ~_c·€ÁÄ`ÜØãiÖ¼†ÇÜþ€O€òG»Êº…Ë/’Ñ1:å®D¶`û ,I“ vf Κ«XÈÕe÷v¥Ò¥ò]Åíww¡à€á†,Öªå=0ÅÛž°í 5^(éó££·Ãr«ãKÇn“Â鈬e=nO‚rn@̪Ìy‰B0Þ„Ul!ø¢‹† 9Î&ÐOu³ë¶‹šcÄ[kX ¢ ZL¢VuTçO>oë>mz(n„榰‹&Z¾ïÁVîé>*ó.¢^ãššû.Â%åtR7®Y5 Ñîl$ ð¹ †kêèÝ`¶K“fv’!Eö9G…ðn<p›cGZ^5:By^°[¬s€e\Néî&ãþ¯)<÷¾óêíÕg)È>ûV[-å›2z‡ÜºŒ½4­©ÍôŽ§rùùÚ6#}V <¿™ùfÀ§ÚÅ1â47ZŪÇg²¯ª4Šù–Är%"n¢x…K~°™4qì õòØêaKŒOe˜uÆÎÐØ}X†ålý.Y"šå‚Ít«/»lø +Ã!ƒÖÒëh*ÓÍãMbuG6ÓŠ×Eµ¨Šù§@ ²ã×1Þ«ËN¬qŽ–~ºy+ÅÓ,>"J+ò¹§>Àu¿KÏC°²"çÓÝ' g«°1•x‘“ʱ´-°¨Û’QÖBñ áæ>RØŒÉîy¿ð좉œ‰õ ‹3á{ÓgŽí#–HBw¡æ èË°?S„U“94òõ'©<6&é Óõ½NÈÚBLÊ32v°s©¡NaÜðQR=²•…?Cjlºà‹XX–ú*žiŠ¥…ôÅÊDlcÜå¼®®`0 «w²lkEÑã€nö]Ĥ¬ØÏp×[Ñ1ê)Ý…®A¡~ƒùV˜¸„ÎXQüBÆ[ÀW P½ÂÙŒÜÀM*¥xj…±!¹«Íæjë “@s€daìX_¢ÑN¥đöôLñK!S^ìø†V‹åà¹ÃhäP¥ ·hû¿}æM‡ä‰b×=,%æŽ9Vó+( ¨3ÝqÆ*n}Ùkåì……ò³š`ÞëXýT®MÔ͸o·žxñÐÉÐ{Y)¾2ɽæ“õ5j Õ8OÀ·…犎Z³88â;É+HÊ?×·˜Ö⬺L¾ +>ðÅ-\ä=¥]wü-Ôô[yš¸_UG€Ò­u•Ã:ÓÊ“8˜%mkõ1£52S¿÷~9Q¼Ã>Ø›‹åÜSâ€:5í–quJ-e[&-†­6·"$:ÚâêãèÇ´,âpbši·£ 7/Xׂ¶Ä+òÝ_8ã«þñOíP;¨rØw³© Ðb=©¼]ÛŸý;d~|]Q%6Ó§Ô½8rŽŸ“%øŠ &’võyeNšüùúuùˆ9휷ږ>x 'Ï'VôŽ +Zô;dºb›ùn;êáj Ü7)ôZ>\·Çâú•eÓž–TÃâaÁN°To°œšëIõxlH'C'f Dݽ’)ŠÈLOQÃ’ÅöupT©o‰hË­…¯Ù ÛÖùoN€÷Õ`“£5(þµð§5AÐ6èÑžQG’œ¯‰~)ž£ú ,™ê™•ðÊ#ÎFu {3…w91!)r7;ØpcžO€?iPî>†›kËû#|b#½tˆíCT”³ +¯Ùø¦3NÃs·§P“c§ý?Wqkö+)±=Þ…áì$7Ç’Áã#ãEÚ¥ã¨]ƒÃ“Ãש[&?¾¥«•»á ÷9u6ˆqB8il6OQ‰®Joæ÷‹,õÅ…~gå“ÝXÞ¿g·Ö¼»õ6dzõò?ĉúÓÄÕRߣ²oˆ™-4M9>¿§Ÿ2t§$') ®Òðl<:|¿ÊPâÎl€”‰0ŒŽ¢„æ`šäÉ>ÀäŸ{Ùfl/1_åšcÚ_Z=+®÷®Úh½Ö•:B¤uÈáPù¨¡ž*ÎkÊeá©j]Üw5@ÑÄV:b¯}Mpðäh·8LÌ!à_=rl™©Ê"|°§Šáô’›€—a>íy¶úÿû¥·o9VX–Û•­£ÌFÆåÙÞýœÐõº/%ã묕•/…5SM6oÀR<ÑÄ•U0.¿Ôº£¿O$ÉÓRÁÿù/Àk®ÄœRá7® äì¨ÏµNõJ4o>j[}c¶ÏaPeI¢¦„q÷“ÑRì´O&ã¾!…º]OyÛ.¬¶_ºEUòËkKB|_Ó€•5Ö ,¯¬ºCÔ]óÒ£¬¡ÉŒéë&¸¦f¶ÊëB¿¨^FS¬>?‹|”‹ÈæÝJŸ{ëÆX™fý¹ŠgüM:ó÷* Tòt«HZ %Í·rÄÎi<¤Ä>·õ4À?[4}å„”êR{ŽCmïÝiF1kq‰Ãñ¼'¯Ð‹Î7zH3p´¿¢k&¦„–LI  =9>å’ŠsFÏ T8æ–[ôG|6²Y“‘ /ô‹¦k§‘ajƒô;„fdK¶ ]dQpÈî—dß·²±pÊÃ!ðXNg)pt +ÇŽö9 ÄîºÙm‰&?Ô™Z“S£y:eÑ¿ª@4ÞF1©£Q_Ù;XË%@–_+M¬øã|­è"Gê:.ÄÔhJÎ>¨ÇÎgíò3‹1~ +Æ«*mVâE +endstream endobj 682 0 obj<> endobj 683 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 684 0 obj<>stream + +Ö‰ö¥G>dq¾g')ºŽ·;lŸóƒ™äµ>¾£ElÞtžÏ¦áÕÕÀn;*Vø<Æ”%E1MÈ=ÝqRd2ðº.ó ÎÏhz^°ÞåÒ·2j¢Lá;¯cÿ“Ðs¹¿|ÃåìŒ/ï1¤Ãø< +é} °å4šÒQ’cC„+IçK½ÒR= p—YûAƒÄPwXbåFÖ±é¢B®K“Ë‹íÿdo2Y9KVù(…Ãè¯l8.ÚR´õï¹+ÊJ#qû_ÉÜÁrÞˆ5Îûb†Øa ­÷êίŽ6H â‘)†yåE8ËzEáã…æïé?Ñ>uf‰«°æÍMªàØn¤Éw˜ç/©æ@èE9 ·±à¹[<¬*€ß¿; ø ”¾ÃCÃêÁ:6(gÞâ‰$(ÀÂýúZâUð! ÚêòWUQ™…ãNjøUOšg. ãj¨z^>g’{Ád÷—ç%ûªuaH“±Sc~d+MɈ†ÐÞ©UËÙÝñrß³„'få{Z³$Sv/Wã +ÉÜjü ü=Œ2úÊGôUÍòÂßçéäÒ\Z%¹4ß©•žêá÷ qíŸ)·HÛÇùã§ÆgBzy‡„ä&Ä™#Ð…Ù’¶ªª¦ý4Ný6váî8‰±ÓàdÑ™›ÎRz¦Qˆq¨æ’ 6žJöÜ;¶}“=Ë!­<Ô³8ù¢ž*‡!ýÿõ#ÂÞm‘î^ÂŽà’–S™¼aöX«†G½»ñ¤_(ï‘‘[EÂ4ú¾¼~ÁŽ‚FÉ«0Ä4Ç )Œòê\mƒLšyXûs­ŽÆ¨Žj¡†ˆwNb7ûýxß>îgi(­(äŸ\]¦Â ã$J è–~ßW· y÷”sLåü.q¾ö +mí‰ß!$Ñ=ø^þFÓ…®¼;1Á*íòƒõ=Ÿ˜æ I‘‚S!EðÁ<¼µêÛv|SÞ`_V A£ºë÷î S«´t‚1?zc¥+ï©ùørQÚ<Ù+XK‡y±Sv^ˆ¹ï'¬a¢ úËÿ_ ›V$w3øåm«tô¾J$ËÀMËÀGnlP£©ßª3v¢«‡,ã`e/Ä×g6¦ÈÝ„+Ñ"[Xd“Û•G”´cµ?ô]WÕ§R¤‘ž.fÛÕq§;+lSBºÛïv±·aÙ!L¢¤Ú—YÜiÀŠëÙÜ¡©Ù›f”tØOȵ¨ÒÒV¨‚Ï]9þ«?æÝ™>ZVýY¨°T°JÒªP3¹hçV€ixcàxáa}8°Ûšñ8ëBÅwµPr¿ô"¥ð¥¡y9;kê›0)/í ¤ÿ¼ +/¾Ï€ÞáhFÒÔÒ 5Ò°ky3Cî …ê[”ܧE‚‡®Á1â¸ðüÑHó¯‰%-Ϲ0ƒCçIq¬Ì`™Žæd··1ÏXïËŸë…ìuö9PhŒÔhÛ Èú +u¶=¦àúôs¯,ŸR³eñxêµ9a|„ßuèYK,‰Þø¹í=aºeÌ'_È1ˆ¾ÄÒ¬6êê¹Fs_Ðؤ%y °ÑLK£¼ |*4 ô7ËU7§üœš¹~_¼^ˆ1ÝG1’2w2D4Ó@~€ÿ|·&uŒäH+¶˜erèî7Ÿ8 þ‹ÏÙ½€2y÷Íp;a®="ŠRD6‰·;\~ý’ÙâŒ_y´_Ùa _ßéÌ(ŒŒÝŽ¿ù®6¢½ûíló¢;ÌXÙ{hÆBáä¾xô¤þF6ü†8-}²ó­?9Wóþ ×Þ:':!‹ô|q\bßc•ŽÓ|b?|èbîý¹mô|òÞõç'ùôoÜÌ1ú > ;<ÔOûl¢$Z+<œu>^D£qº7…<Ûo¯RN³ê€Y^÷R2Fñ?$yoQDè°>xòö& &eq€‹²×'qb)GèùGð Qž-Kµû_0/e& +©ØŒÖn›þÇ£½uw‹ FoF†¡¾W[!Š¡7Ú‘âºÛ¾ø©ÒHD¡ÞhIj~‰`£/-3†ßâs½YvÒ%’Œ–zøëtZ@ž8r„T£®®H.Ü¥ž3ûSsñ¯ýãÁº²rÌ,ep‚q&ÉXh]ÀL¿šJŸ¦Û{©# ßm1‡JÌꞦ÷×Én³¦~¦²m뱬 0]ôy×Óm‘{E‘vÕî¨øŠÄóxÀ(òn%%§:Ïù÷£6I\Ȩ_ •1Ï”¬g)—á‡4Á‘À†/—fT‹´½#À6ŒD†¸ÒXîmªt™ïÓƒ`1L»Ð>x©ÒðêH“¡BŽU;ëïDLÎV;@ }´Î­„³øÙæÂËɘö3¬°®€B}¿ôýoD~hQ5ìéiÅS8k~¸.w…l.o ÐJþ5Çqþ)h$³#»tª1 È¡V޴+`.…4\ÃÎnê¡I-4øåY |ªKˆ&ÿa„ù?5|D€²ûØH!JÛÌik:©v‡äÂj\xôR9‡ €ä$S»â(ý žNÚ=‰Û”TVÊüAß¿KÿÑ}Y²6ìwÆ:tš +C9›)ƒÃ+ 4ÜYˆúÉ×ì }ëz ÌüX)Í!Æ5ýýƈ k'‰ÜŒ¼$ »eDmÜÆã±þÞÊPG²áz»Õ +m•ýrÈÚ¬é «—2g>=!©RÓßU§Å³öà‰ I÷>¼PWyš6çSäàÂv!ç:ß4§ŒŽÅªßïA:E6Ï%=‰žÊK³Âl;§Vt¥ŸùåÕÇ@¿F£™ËvÈ2m>?Ë8ñk—gæVÐõEþ¦ðg“Ñò‹ÕαÅ$ïEÝ*àž%®,«½á§BÈq°_9ŠGó™ÈuKøœd³CT;ˆœ…ÍÀºþ¸¬Ö¹­ãZÏ3à3ejO¦|Û¹Ü|¡ âsŽ¨›,Lr“z(4 ›Ö¦)bôÊ ®¤²B9öÍÎ5³ìsØf k}›¡Ž¯JCÿ®Öb +_ÚMVUÈÒqOnà¼Z 󒵈£Û·i¨¤cK‡‡œ ñê¥ +|¶C7¶dJ3{H}±~ Ï"nQ@oG=s¬ªw÷UN"ez( -€%né0À©v"ƒ¹Â‰éë]Ä#mýR3±üÓ#Ø¥\å.M˜>ÜÂeZ?iåÑU¿ŽÞݲÉ[*Öâf8»¿û¤‰b.B¸]ziÚú¶ß“ç|­¡‘-Fùï)TÅ€Š}‘—¢Rø¥¡%@rRN?ëâ8ÜKÜžÅdw¾BfqZ{¬&è<ÉÔ_k¶;±sü  +2ÙÇ›àŸÂù0 W½ 3Ä…Î~ƒCD’½mØàTµ3?þÂgŸüûò-ÏGä2¥Ýrd¿‡òÇ$q<Ç ¬˜Ád½Î0©t´òÜ™˜\ø)I˜ÅsôMùuŠx +ĵ©Ý7q) &©Zž-Tˆè80ññ&÷®îØ™£ÖG3ÿ! Ç…QŒŒ#¢˜Å/|—z 0ƒG! 0©­üÀ©rëÉ*;(U±zÎîfˆµ­H{šÊ0BûÙ‘qNß> y·1²0Ìtý›|æš„YRoÎhØë%e—ÚOL¹™1ƒ˜+s>> endobj 686 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 687 0 obj<>stream +$É­´Ÿvð_pÍIŸ³~– ¿gn¢ŽÓiMó²uÛù~älhm¢+7(®'Z=Ä6ôvk…aiÛTñý¾ñÙäÝéÖ`^&»ê_ôŽ|¤jרº,RjªŽ{e9Î8ïÜJ¬¾¼pìí}¥Ê á,p¥êoÕ”ÉRp†ÓÔ†•F3åo9¢lh°P~€ ¬‡ØtÄÇ´`¡=€7<Ø.‘óØ:a úR vÞ„Šä™ÃÔyf^ât8Ý0©EWsO D5«Êgzg¾wŒqß6ò²!óæ˜øŠs[^KF +~ɘØ@..m#mèP+llÍ¿­UŽ£Ùé8À”–ß‚0­Z>´ü^û='÷póŽžßµî˜ü"hŸõ>Ù'¾]±BëD’õ‰¸`7p×Ú´»×ñ©èƒÈ#:9ÚÜ—p«›4í!=gÔMf߀gD`îVë9. BôV(•ùð# U(%ŸôWq$G£ÎëÀ.rO ­.®×Ýi¼~CV-˜Ì"‰fÍpý…ªž¶÷$¾BÞb ÁØqÚ£#ËÝ–C«ý,µKÅ»så×xWwZ•'-‰ ¢˜[Ç^ +‡=;Žg ¿ 8A•6‚»7".\¾RÕ¼3i í4ôs@ü_‰¿Ãï§Å‹vhÌá «*5’)ÕžnQΆ‡‹<£ÈfN²xÌ$¶Ýë6’UÐ[!¶³ÏžóxØ0o{ä_è­ùfÚ SöŸüäí#JðòdùÀÕ\‰¯&ÞéËËVóø³–7:’ÒÉÆi𣰚ñ|¢ûõm|GTV°ÔeJ™ey¹Â~z œÑ' è$«—}Í펠«µFp*X˜Õ «+}¶5rŒçsøŸý…òܬDîás 6O’Ï9‡’‘‹ª×™ƒ=Én:HË*³i¬åæÐä&Œ$M+ha.íÂ8ÄLÓpW£”F/z~eÝÑ{ö'ï«Taç=‚ç÷”FÌ;ŸÏ¾¸[*-æ ìF¬œ+Ñ:¸$8†A?=Ž¸ÅšpÍË€€ ëüÃ| §ì)W¹il’»&B"R³XdH¤¬ÕMu`†}ô¼Ümþ–…Õ-›¥Á¥©ax*'6å¢Y'Î#(C ééÊű`mÉ©hj2©¶’0ékãrï´Ò/ƒAZë) iš„PKÿõÌúëÄÂg„F”vRkÇýÍá]Ð*˜ËìÐTQf]r¸By]àQ¨;½´Ý/;]DG% µ6bæ×à¦")i’|Èl²eàð¾&s»]µRÎĸå9„ùOZ÷ÒÌÕîÊÂÒÿuû’HêÈ]…aH + lÓ±ö¶œ¡«RÏ_;gRgG«ðRæíaÎ.CÂgÛ~§ô“\‹&„8è?¨nѱšA·DúB)}_åm}´¶5~ŸÑ»j‘(&hÚ«Má))/©ýúÚE:ÚÔŽ kVŸ®‡Có¢ÝÍ|ãRÌO/Ãw.lH¼ŽdKÏ»Ý3§'V5EûØòi£æ¥Æ\y˜Z,ä1÷ºXæ:(Tµs:Û{z[ ÷ishaaNLÄö»|•üÁhi‡¥O««£oÔpóñ6,É´‡€埕ÁÈÞmn…"œ´%ú¤µò—8ìfß×>dS¥ö¿ådx½à+ç›o×܈Á%Â’Œ/p€…˜ÚŽÝ Ž8¶[¹ªœ¬ÃšT/ÝP³WãjvÓ½ëíqWN8ŽLþ)CN‘'9±Yõ-Sk§¾œÍ™HlüìŸ$(_4œ¯Yâ£F-ÌŒè¦W;–{–2;u¬µñwoÄœ6è¯.Íí)‹<ï#J(¨¸ᶄ¯ºœø›L +n–º=Dà—†z£¾ïµñ3Ñ©ýºm¸ãøn·Î¨ºý§ó¨l:´¢ž/Iï3²œJEh·šJm±¢½ËUÐ'õŠ @ûå5+¶W²¯© xi­^ß9‘ ÂRüj,û=7X›×£Þs“~ÓY2åÅ£2@¯â¯æS©¸ør8¨Sœs§Z¬ûÍýAj•Ì¸:Þ+‚É‚½Ÿû|µíYòCc…4SX‚¦ÕäŒaw}ÜËúC‡"K`"bšVò*Z i¼Ñ}°?ùÝbîJ™à„¨`¤ 8ˆ~óZqNƒWc#¾—À„źëÖ6t7Ê¿ÚzFvW©‡Y¢/“ö¯ßE1¢ß}⾕&RZ‰ñšÊ¹sÌ~¿”·0»EÙirà<-éËË!ï¼aÍ¡Úû©1˜ú¶&UR±ì¡B“27 Zh,Ÿsóî…Gö"gwÙj23Ù3ÔüÍvfkÍ:n§ ̸®'ø8ñFâé2H¤JM^F:€êô/8’g"i-L»Óˆ'ö¿åÝ­Eã-Žë¨nÊZo…AwÏ7O<*/ZQŠ@wFû©Ð{Zî ‰v_1á®}ô,Ê DO°  B¥òï©FYç,Ó ³Å_É®¢ ˜YcP5³6Óú‰Iøƒ’m1ÁIÁu)"/¨­ZbüÌìJœ`ÂÙ˜±ã™’8BŽf))Tgtø74Èmsæ«j.‚™‡²–h¨°M=ºm`†ð?ä“8GçÅŸØÇ8$¯G¬­¿–çâ* ÏdRMw“r‡vgð¿í;–†Ÿ“ä›éÊõÔ/öUuh{ñ}-@zµ.uª§œ`õRœ¿Äg+–g㵤œÒ¼ÍBk¢ß2ýOe ZÜxwÏ‚ŸZGÎøp6pk³0%‚²Þ²&™* äwÔiøËLdƒÕ0c!dÉR9}v‘ä£\cig’8(¼Ds‘°°Ê1'6»*fõ1@ÈÛº=“šÆ¸È' s¥Ôç‰^`˜8‚ÔkÛ~O¹`±Ä‘W•,ËÜ«~úþwxº ';’CI¤ë2ËI™[½ +émr¾{Æìmy$¼ˆÈ’ pQL*r2”¼ Úá„,µ÷q@Â)è·c€y/¹s”¾ErH´†¶}‡Ÿ„©Z»à>ò›oo« ^Ñý«=¿’ÞR‡Ç6µ¬|ètHŒ[ƒ­M'‰Œ3&ߌ#Ø ÛÁ“K-HÚ—ÏÞÇ ßµ·ÓÒ31¹/qÙ’CÇøê¦5€”áy@ƒ~Š‚'6_1¬hŒÕ*§"6!Qé5(¨SF} ™óbWŠÐN—Àþzÿío´£Ä2¾[Áý¯ ZAV¿‰m4ù=³À#Sµ†}£ +_lúpCWÚ@ÞIåu¸¸Þ[RbQ€¡…þ'~ÛÄPÛÉM©QÛëe« ÖQäù®@Œÿè؛趦 ÍYËyä•äNOJ麕Ø8J•ýIã¤æ(À¹Õ„°.ÐoÜi³áR“Iþ·6 \Ákñz²È‹•ü¤±¨ÄF¤—x²Ó¯’6ß G‚H +O§Y/wRôp ¡Kß Ì˜3Y-ÂF‹œ³¸ˆq5´o{ô»_ä=45`\Š¹z¶èJh¡úƒÿ(|ò#žY’zxóo˜ Žê7È!#–wÀÖ™üBa‚/’Íï™-æœÔÑÁÿŸmîófDç… D˜–¶T<Ý +` Në 1F\7šü·¤ˆ;kX5gÄÄËÁffË%%9£D¢ðà*³«\À¬˜p%f¦!Fá|86ǃƒþRö#Úöéš´Dû‘ší— :ÓQŒqã0<Ѩ—´È×,µÛèŒ×g¶½µ½¬;»<±5™¯V¢ÜÞA}b'ÂñóPµpÿšQ˜K‚>V þ‡¦puîù(¶C皤Å-gµ¿Ý9ƒÏ&j£ÒΪìÜËø» 5ò<·£V`€ÈHÞg¼{miÉ¢â YJú!Fó I½\( Ðjs´ ¿°Qûwñ†ìÐîTQ_vúJ ß=Þ„‹H«Ÿ kÎS´œ#ví‘¥œ<8Ë´PŒŸ›2Hã E× Ú¶R€©c^­i=¢r >bIî“´Xö¦Ú²Êq(ìZ+“7Òÿnd€ÉXñ±˜ªö„íjÜûe”Mü@Jõ³5:jœ-´…"¾ú§>—?UÔ4$›g:Ír’S ÇvsÂßUz•ùáË€˜Þvà·µ-“/Dèð eϯÍ\Žo툉óÙ˜ž}¾“]Ô=U\ö±/€)ŽªÊfÂ;ÕÖ¹äH]]A›ÊvUú:˜BS™–î(A¨y>MjŒ(u ’‘GA\zÂóQBg7̺§ a:ãÁ(·W}gP„-’f‘úþœ\ëOsÁl 0 +Ê®û=Ä}Lì:Þþã4´Š!Voõ³WänÏrÁÐåN5pÉgÃÀäCC€O/Ú  0KD²« xºsvcàÏ ½‰XVvÌ Bì\å~—Ž¾ äVŒØDù‚ÈòYù£5åJÉ$šA¢JÞ??€y-ç²I\¯ß*r +°6Í—×»ýa·Rªl› ôã„\7B(…‘Ûû¬j|œAh= +úƒ­÷ûwÔùk Ѳ`æNáq›¢K/‡MÄÊÐ9›— È¯%x™áâsÍJ(RÈ»-XÞ¦œ xׯpu¯~äJ9ÎâSÝã„þé[ÌIŸ!ýÅ÷VÚÙòÌoTÃÔƒJ±ÏÒÁT +endstream endobj 688 0 obj<> endobj 689 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 690 0 obj<>stream +{ÀÛ»¹Zñ“OZ7úëLιz³^·Â  `"D +–¦{|¦5§bÃY@êÈH€ÈS‚m%ìNî°Z1—X·È€ù4<ÑÇt”ÕJQ$;o¼¹«ˆ‚gÆré‹\ÅÅ÷´ëT1j3à=JÿK"ƒTâÒ?u×]Ëõ øîkÛ@„ÿ붊ª ª3’{H"¬Lš ÌÄaUþqT¡ N󣳩Ø<ü??6:1“Q_U¬ex4A¿³¡‘ |x5QOˆ?¹sÆÓi0("›ÇZS½À54-Ó]Œû>°¿T!:ˆ§‚Ž!¯¬ SÎ’÷gíÝNÞËÌ0ÛD¶>SK`™Š÷ƒ<”‚ž$]1Ø&ʘ-¹3z%TÌå[IQ™½M?xsŒa2„ï`y†ƒ†1cû‰Éüæ‹œÕÑ!! ”ûëSkôø¥Pçcå6ËnS@s£œO¯ÈOW}¶™î‘N2.仼Zí«·f|/O¤P´÷ÜByb7Òh\úßÀçÓ€Ð=Zhåd¸ÊÌÿz‘²Y˜W\’Êë¿øbtÛ4ð}ø|P{JFíÁŠÒýlŸoæØ´ØÙgŸ°ÓHÏiÉ—ß0ô]™050éW¿ï¸­Bÿ¿›À£»¢«Á–îÚéS‚Z¼›Ìº»Úc?C†ŒÛÒö=ú=Ýoà‚ø3e½F£¨)hƘÚç‹ü.d_®Qñ#²i{XüçïvêCâcýmg^J „#‹—Hyþž-´D+Eem¹`¤ª‰ýÀëOÉË_}ñ9½4©ª²H‘Íá „ŸMÉR;ÒVRÁˆÌZÎN8×»r=±^ +ëêËlô] ÛÇBœd ž¸UŸš?¤@ Jkl¦#½é1‡Ú®XŽ‚¿vºcI½7ºRÝFÈW]vµ= VQV‹à^—? XVS?ê 9 ÔIà›€¤ûœÊ;î¿&†‘HbJ¹^ßÏ¿æàþµCÀö—s[¨Øþ;l…«·MÆá¹ßóR0šðdG¹™h!€—t`cÜ}` +/ÝsO›¥JÍì´¨cKíÿûnI`¿Wè-a²IQí4ËÂ>vgíhõ¶§ï6ÕXΞBPÅcÜ·3Æb×uþéÌék´o(þÒ0sÉ€B¬ +M¦ýΊ Ù2rV&ê˜iÛò½Ö@AD0¿¶›Ž]uÏ䯌et¿¿m™\yIRË–œÛ(–¿Çª°c¹fø¶¢1(ˆt'ß7i†#~LM’]v#<ûókäñ„ §8\€X`IAðóŸ)ñYñü¶¬$:qòÊ€Aý“Ùxð§à¦o]¦" +tôÏþ°ç°H±éS±ËÝRP3¥ÞG!ú’ü›äÓ]ñWתt.ɇ„¦šÝ*„ÚƒŽ‡?O.ve±UtO8ÞÁ9ú*t°y@Æ‚Øñ‹ÿsä2CîV + ¬ÎÀ¶Ñ?LZ:\À†‚µµ-F÷fZ*,w(Y1¬Ÿ{ LŒ×E«‰¥çN—‰ÓyèW­ˆ—&Ÿ•UÔFjÞ]Ä]6³±2á"ñªøe9#€(Т9–óÑ?öÛMAÕë‚|!Œ`9=ý¿†+ØVsQ[Slê„ÂPË`jò/‡ ™Â_׋žÙ͇ASí%NÎP4Hiˆìýô>ÿe‘éC"~+•Zêë 7[›aÏ÷)¸àÀÙÂ%XÛß +qîÃvêvk–·qVµâ81EqÕ’LŸ\–ÿùKOŸ ì!ùEF£áBFèȳ7ºUyžž¾ˆ!ŒÀ›sTy]r¶•…Áå¯2¾Ä@»]·â§Y¹emÇgzÒàå*×ðxár8$AµM9UæÀ~‡h`kè–ËO¦câ&°P ŸŠ˜´ßDÁ=Æ_Ô§xTÚì÷ìI!Úx 1*½Ú4Uþ Í|b<öÛ«HчF¿`[9ùáä—MFÚÚAÂ@Á7zÈï‹;’â¯ùðm?ûfâLrž<42Ikj'8ùcr®ªÆvrQªžjÇ MöíÍ>ä*~tÔp!; y|ïVÖbŒÜó¶j£­V=ªñ2ß2˺Ñ_‘‰Žn”wöÝêdñA*Wæxß°¬Y8Žq%݈Ò„¥ëî’öBq±Aœü¦‚ÆŠ JSà$œîñÛ-!sPB™ +À¾}Í£¦ûÉ‘ È–íÔ¤âøÏ,ó‘„ ~É0ä“2Å‚ø&BPÁ³ÖZ³ ‡eñù)Lð8±2rδÃgIQCfža¨‘+lµTH¶ J8×Qp} s=X—òß‹´WbÏ0ë´ævFSKØp{ +˜nß5ÒàE¡Öåký°hqîë-¯n5’ì&_8£¢¾„)ìï»XLµä¢ÝÓÄ¡šâ¥Ûê +ä¸JmW!CëX~2aV20T‡u~ÃÕ83…´×PZØÈ9Iû0p3÷")?x6}ƒà =Ú¾¬ýw wÁø‹wšÍp.ÍÂDq1S6y85üŽãîK°ÍÒŸ¼¤3¥ú)ðÀÞK|¶¸–‘V”K:'2.ôø÷åq¢hÞâpèy$Ì©ü„²¹æ‰@%=Ë%É&"â®1q“ÂO,Ã\>êµJ›™_•^Éõ3‘gµo«®ŸJ;‚×µZæ¤q`î¸ïA秙¦%ô.d ¼ì^.P)t²W›Èy$»Su>)#¬ÿ%›>\ôûpYÃÞ;œ/K¤Ÿëó½nkÐ9¸Å­ºÎŸ–D ®ä ¹VN˜ô¾œÂ{‰½ÇZüÐÅF ´á¸ъZ!“³„w±iÖƒyxªe^º>ü"æL›+£7¦?÷럆¼‡oZü´m.Ðê¬Z.ò´Ü†«‚"ß™T@Ä$Á²Ø9ƒ)Ä|  _0]ã34ÎqdNÌÓäÏ·ƒ’ ÷9À5œÖQ=Œ3ۓܦlǧ‡<×â‰Á¸È<[PÈí­8ûøKöϹé·|l™ÑÛBÍbZ€B3qâ2¢-&©Ê”aUÕÅ…Èë/¨Õ*æ¤dŸºô|O¤Ö2஦ljMü=†zG†UZ£Ù­>î”#Ùf"Ðâ»"ŒÀŠRH‹ÞPÍ’dg³gÌ?ò.-Mœ +qKd!U£.3±f?÷o©Å{¸4½ű}î€TÓ²Y‚N9ýF‚ŠbS`G|²ûQýæØ—ö&’/÷Œ÷ožõïðÛw~·qß¼ƒpZ‚ZKôB.Fd—œ˜Ä.烈9Ì„2“púþ &SYiÊæå>òCäë(‘6Ú­W>ž¥jCi\4²Ã~²Ê3÷o}zçúŸ-¬{]!‡áä²he0‰ÍÂÍÉOw8 `Nf늣eÎŒIwúW¯¦ýÚúae¤è#aŸ¦¬á½šîßóGu6£œÝâÎ0µ?ó˜=Æá®kÇ”Yï%OåÄ;ÝÃ’šøîà|ËÆDõ«Ùãr.ä`$š3{sÍϬ,íÊR0¿CˆM†žÿÀ^LæÄ­ð¦·öi]È (o>ÙÇ- X]Æ>™cÜHPô›jàqQÓú+åôξi8‡’Ñz ¶ #óH+6Õ*ùÌÇ s"©:ÍV4fØ“eÞéº>!È„žÃ¢>ߪ0¸…S +Ñ@’ø£x@Š„Ô†ÇH’`Œ®.àˆ¶óÈšIq,HUr~áÈ·I—Súƒùˆ<çhV‘»á¨èfÂ{|;Q­ôÔÒë·‘ô ]+Úô@Iãánó2kÈæÔIш]™á‰9ÍK[@FYðÑù<}j-övŠ:ÔãO.1…¶q<ôt »‡eÝ[›®í6JÏvë“úšý 拯/8Ƕ&èú\juB¶†„#kú ð†°õ{®îçm¼÷Å; +endstream endobj 691 0 obj<> endobj 692 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 693 0 obj<>stream ++o˜é6D¥ÂÊH‚f@¼Þ´E—jke£ëˆèwepŠ¤š÷UvÙSôjžOÊÛ~™Q¨9é¦Þ}‰þ½àràXèy€|/•éÖö”"x…þ]ÝÉbe&mææ¯ái9k\0ˆÅ`9ã‹ +šy1Qwÿ3æ/Ù½³ÿ‚nJ@3º/ˆˆaÉ;™×ÿìå‘éB]! +mèIØæµãÆRĘ$!kŽàC¢üˆJ0óžoñÜ}ÕÚ7$BB•2ÃD#4J– åß”`V×pÛíí‘Êî6_,è›Ò"Õž¢É_%rÉû—[—Ë&¦š–ÐŽS‰t0Z¥PÐjöiÐdvEãïì6u‹P¨ Ãw¦Á+ ++Å^Ç0°ÕÝ×&lAZöPÖ$Ì×Êòú©‚OYb!nÄ^à Ú Î ;-}—w9î5ží”ºAÏqÆÞmÃéúk½ §a]Ëa’ \ƒø´í÷ð€’Ä’mitùø÷‹2u •ï…ì£×tÓ•¹)—Å^ÑïNòSµf‹LD‰SiêTl캱b³ŒP ›J)ÁõBs½—ŠŽ¹*áŽ=wÀØ•gÊÐFÂ’^˜ÉòÜ€ |L¨“½¿Ö!¾?+Sk"ºjœlBW„{Gõî‹×ò?Ã$)‹ãð`%îÔÝ<*–÷£îK¤$"†vHê@ÓŒHOz6$¬ã vÖY‰JÛû}7(fÆyÊÆG?¯¥hümó*/÷+ü^ÚSüÜcÈBrréé8[D‚ÀäÎÒ®k•»ûC +yHU?@eÒ0ëˆ"¬±Q†æß\’¾H,×$¤ðØfØ)+Jèç˜RVìC…lÉŸæ”.H^MÃí© uw£Ò9ÏF¡@!Ú'.å2èU|КO­Ï{‡hˆòëf«¾!aFÆ.÷t ¥ák£n6'`× +ŒÙ|1-¯Þn"®e 2¶Ìsݪ>[8j×Äó>OTYžb óäå?s © u +Õ†EÈÔzˆîiŽcpql%+ý¶Ë‡ùØÓkç¶A™Ï?J“^ÙP jªœ ç5gê™ÝUÈŒd`JùŽ×^~˜ïÚJÛ‚LŽÖ]íñHñ…’'÷`­‡5¼Ç×"=Š##( Щð:£ ÞØbÕS:T1»f…™ìþ難$OªË¡Î(þqÐð«ûáœü,ƒ6 [ÈÁždøìNõðÐdÂ7/ðÅ{äó!Õ·ƒ%u2¾ÅøÈÓá'lV@f·Ö ¬i"p,ÅXÏŽ‡¬t£^J>’ô "í6†~aŸ*"êá…’\¶šãédN´ÿÑì>ƒ_«X”ODèï"“¤MòÜÏ€€ø¦R嘎ݹ[BzNÇ+˜S1¥áŒø›šK:GyTÐh8*õdÚTù®Q'ÆCz§\ÚµIú‡É`¢Úg‰DÏp¤fü8ŠiÖËžOë2©YOBœ)I¢‡Ù¾"™{§H²0?,û‡úHþW +˾”‚¢>\ê~†l'~Òn£^G6fJs‰û+ò¹VÁ=.4nd1&wºè¨dë-ƒ€ç‘§¹ª¼U?”‰eGFÔü~ܸ›aj½móÈSl (Re‡ÃP÷,¯#Ò^\~ i³ Ìæ½ïprêA܈¥¸ Žó.þ1}ï8È·eV])nÝé…UMy{¤ƒ®Ä¯®Ÿ ®`y×Cº]'ÃÁŽês`‡Ú·á¢«§ø§4‘•ÎŸLFíOè»×ч|ÓdÆšš/ç’Šˆ-éèN¶¡T¶äýòfÄU“×Á;wª–-ø|x–lô| UÙ1·D)ÁÆ“îX2Hîèè}ÊÖ¿ +¨t^p³þƒ©Â9žh™õˆ ó/g¤>j‹"6+<Ó7ñE…f »p’|\ 9T¹Wõ{©Ì é•[i 9)N¹búÖÂÄl‘©pŽ”tQ\ j·ÊËîsV¦p¢È0¬årÒ²ÁR4­emO¿¤i°z:ë×oϤHèÍæÓ»;®—ôµJ}ÓLáÏr*59„:¾Š„¼n8àuXߣ²„¾v†ÞÂ,¸…1b¤¡ô>w Á‹„ù‰/§VO©£µ G$Ü+¹Å–µs»÷ò¡2q‰°‘Æ>o·lÛ`qä&™¨ô{½yí^«ZíÖZä +P'Œh×chï;—ÞK¥€M'?€¯îåmvB5E£Þæ¬î³H÷i†Ârên=Rvƒk"êE„¦Ê¹Ë…ê眞I×s„-Šßð0ï¢é“ôýªþæ¾1θ;±q0Vot7XÃTÄ#)á_‰ÿMlŸ›pÒà==ÈFŠ·(É{Ë¡æÅEýýÂÛÑÐJ¶ts53ªÒÇnU1Fpž¯ +/3›1=l„Ü!€…0“îcZÝ·–Ö@…ñÉnÖ%šæÇoEÐÏnÙ;Ô´$‹@qÍW3ñ1ìÖ¾ò&ä[üc¤3©ƒ”Çû‹G ôR†‹}PYgŒCXe!”ï] K»ÉÕ§cÑ)Ó˜r{.8p¦–ñòµ|r +»ï*¼¦•• ³í\̽˜üÔƒSò’Ù/c\Û;›1¿²´¦íb-ÛOÕèÏ……ƒ;˜… “.C>®6Hßbë”Æ\J«7‘gÜù&`ЪÅZ{¨zŒ,vŒ/|iߤ/°J_¨Fíåý£\ÅkÔß~Šì`Pp€“7ÎLT[^¶†–, >ea­êÀ߸Ð=æX Ð!­æ‚Z¨ãº ¡¸ïø-:{¾}ù@ }!ŠïiÓ<¸Ÿ3v;(DrI.ƒÖÑ;F»ÛÜ T:ŸŒk+ºçˆýØ .5:l× Û#C©EK!ÕrÙ¯é:ôœWn” «³Íyq~˜Ù‘î´›ïT0´Î Ê(âR_SÙP@í1¾å¦;ãY°Õ< ­"°ËÌMåÜ FHÒìß½G‚íƒËf›ee§6•W{Б³mJVÏÎÜÿýŠ@™ˆþb±ïØ(ÇÀë^Ý®ë$Àwé¡oÚöï­ÇNa>»¸€Ï«[VÉÏ ‚r ØŸå-<£ú‰ÑXblD·€ícíEnE¢"¬W—¶b!û‡Ÿ AL¬™&lië:ìˆ2eé¨.®Ï”qµŠÎ—¨àG‹žŒ­wgYaúï_m(èŠi¸a1žr¹ßÊšÕ©J ü)\´¿x¶02qä¥%A{G~ðSÄ$Hð^ÍË´–dÀåspEꥅ¨&è¹»»µ’‹Ó£ÉwyTÖÒ2fT¼EˆøÚ3\ß›Q•! ³æãïvÕîˆÔŸƒ؃q2ÊÑ…VV®Ê-™htnoÿ(ñU…UÃœ5çEëÈ(5x(±m.}ƒ…€ÉOÔ¥T3 Ú0¦+ßä@qÇ·&1Ùo¨ÀU¨n1<‡dr屜fãøÉHFšæiv’ý˜µ+&ÙœýM3—Òü?÷§É¡:‚ÄìVz›ÕÙ•úm*~ÑË1)häQ´ž·% ç£[èv+ƒgÕ…>¤Ÿ~Wátײ@DF í~Lf|]+´î”:Þ[¯/BR6]åeÖÑÊ·>r¼uÇ3¨/OzwÚâ2ÎC‹[PvB>;Ûêýî²]X Þ%ÈÿÚBYù¦šû«Á#- ›ÜÞÝô…VÕ;(à83Th›³hH=Ͷ˜¬Ï148Ë‘¯öØ©ÇÝácä’=ŒçGË/¸œ)"‹©(nn-þÖSù·]N8àÙLô<ó5í•õÓsG¹1Š>¬?ô7ìý]S¾ dNn$-y˜Ç»¾-ý+¹ýcãyê36Phz³\ÖZç¼ð©ºyo +HóK©i6?ñ.__©ÁÄ +endstream endobj 694 0 obj<> endobj 695 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 696 0 obj<>stream +,n¿­`«ñ §^‘. \üY7gWìOzcÊ wÅÓ}ä~ ÓÏËûçF”«<0ék)Êï–FÀM†Ì·¥®px)mùŠªÁ1Éøxg –k”x±H~ª9q50ïmá9þ¼‡Kl¹ìØûp¾õ5 ß|3ðkr– +üj‰ˆÛ>t<9EYY|’»ïèð¸:ÌñiEôÕ³Ã4ñ<ËNÿ/^>ÉÿÆ°~ªô¨À‘ŠêWôº +'¨bO •ªå¡ ]ùÏ“OÔpuèÜíãÅüÍ×µ¡ :ð0´Ð [à¤{ÍDÜ ­>å}l}”+æ<ý52ÁeC%]O¸'€ìµmbñXRfšqœÀ6!ôëÑ&3ž&ḙÊZMÎÊ3ÑZÌЖòq²zPÌZRöj§DêyÜŠÛSâàMšHlŸ*•úÌ1 „Dˆƒ.ƒol,µwŒ„¦À ^'Ç·aç§ÞØz¸WM"4Âðº­0—Aø0Ä~ÞMGŒŽãG8LE–+4ôÕrkEã©’Ç_2ùÔ˘raŽÇI‹L6¸§a”g ¼x7úÝV`œ|ÏiÅÐÇÊ|F:—©þpYoZWTPœ1W3Q mÃJéÊ•Ä`»yÌFº —Ëö£í4a¹Ð&ÃŒ|k‘ξžë³7¾†Ýû2Ð×îÐÅC"õYrÂø<ÿ,Oä·MʳN’\³c°Q uÚòÊxß0ˆ8kÚÁÿ˜Îr3÷›ä*¶÷#Q”¸·Ç–äúò×>/ƒg1(t«eàØSZÛ4“‰ë½½Ëµü¡« ,(¾àÎ7ýaB´ðOOb5sv¿À’ô&‡¬á©»àxå2¨Þòô3¯$nÈ¿Võ§÷¢*K—¦ƒ•ûà6w¦™ÏÁŒbÜ„¤L°óhåxùÌ NªãV¸õ9ûn|G°¹µQåž”zé¤Óô¤|z}©ïR6Z&k‡ª“|=¸¹è{Ø$!LÝ;Y\TBŽ—\~vFXŸãâµ–Ít5âOÊ!0-PoÀ3×(„±Œõ)"NíáÄÁ{T>.×#²†Bò=vo•kË}St¼õ` pup…v¦Ô‡­#mÀÏLÑU¨d%]y®‰Ér&1‰X%±ø¸®d"Á‹yœÜÃ:‹#¥t$Ó:Ö‰Àz¼ØSaxÓr—»)NøyX§Ú5z™ºeñÙ­Ý ÔT¡ÍvgçÜÎ0Ò§u3,&zÏ*ìqaÁº®0æÂð@b]†©æXy‘éâbÈ>®Ñ¢¯Ê“Q=ðh±@ÂÈóU‰=" ä,8Ä™Y³hÕ¸]òU°uÞ’[]GbW®5)ªîÕXP´—šx,ÊZ>*úwíÞ_µ|Ì×´¾¿=\ah[Æx`;G¯ÌÀÔ4Ö’¬rÎèˆøÉ+sû:ÞšNhŽÌ«œmÿš;+ˆ’6$«iÎl¦ÛgÁÂyÄO*žš€>ƒõ¤cQ—Š„@æpÊ®oi‚¢[B?±”¥ôâê±x`±œóÝvn£ã¾7ª³…‡:qò¡@UAågZý*îê (3]ÕU7¼ÚTùÄþm¸Ä^NÑ{å‡L%m[àoÝýú¨ð{ ŽË.t––—i<þëT;²Û¥gfZ-ñé£ÕKµb.JÜX»”Ó]hY¡Ïú)¼“F^bƒX‚—ò,Zöý‰ZÉÄ•VõÔk:žû ñ¿ªBë$ZäWªh+”î©×õÓÈ&©Kn|ôñ¡—¤å_zãÎÎöÈDfßT…ÍJ2Ø,>.)bä;Ñ…{c‡ÆP»¨>·¿_Ó +#˜š ö¶‡¾½ Ð/÷\ÇRü(?Èø¦CgÌùTrFVOÃQ7ûò]­­Æü„è>'{¨õˆå¿3ƒ\˜‚ +[QPC°ò5xÓsÔ‘0¦BÔº¾à W½ºKUŽà"jkïƒ~ª ¶Bïñ¶N)Ûâ//ûR,%û–®™2³)ª´B¹jºE»-Œž/ža$Ò,. ¿)Ô5¸ÔŒ¸ÔÄ÷¬Ø 9®ÃìáLûžZÎ% åü=4{Ë1½ºšŽM}û¢Oµ.’Î +Ûa"ô«×˜™PU|l~Ž‡»KOV.Õ/i¡Èit;ÄI‰r‡£¡WÂ}P-:è‚~ +·’‘-8Uëˆm„ÐFåÖ1»€0U,ÄvŠ•Ð7å¢Ëûeºç&Ô΂†àšDÕýº+>¤TLáyn›¼I¾n‘¹g57ŸyÇ’·×Nó¸J8FMdÛ*rΞBu´…ÇW×ÃfÝŸ{“ð+‹Y‰OT )“ÒÃ^É3^Ð'¶!‰,`.Q“`I­µcªsü>Âl|æ+ú{,R¢R’.^Œ+ +BL ®WàÏ]©–D:ùï +ÖÉì õsî‡ßªrï/3*ò0Y£ÌG9½ð“%oò˜}¦¼=þGè¹Åïô8RP»ä®'¶·{~çUzøKC]ôc¹ Á‡—{ÑÂnJƒJ>ÅÄö[uü¶RvýDR>cƒÌÒ©³Ä&Xù’O”"Eíéî 3òšu(Ê,E‘3¶ÀæAŽ0ÜFãZÝEÚÝAöŠðV|Ox‡ o&¿½`ú‘òNpÎÿ}Å­k<"°êó!Ôºô(”•J¶×®‚!c“Y{[+…PArÖÐQ-pq“ç/ ¬;cxXÔÛj­œù}ðÚ‡œ.àƒñ•y˜cJÂL!]vMoç?÷á'}©lW×cÜÎÊ+VÖ¾z‰À£ÓC }ëÛ¡ÙªÁ5®?ºÂzµïO¾ ƒÉ§ŒÏ¹ðX!r9s;Y‰Ó^ܸÞ(ðbn$3©RJ¦¸§[× Æb.Ÿ2H%µNìsé &ˆoø«*ãò÷¡!ñÖuåßÄ…—ï + ÒáÀ¼!—\åQv¢ë½‘ +Ö‘»Í B°ú’üÝ¡;†WÒL:Ædm%rbnä75Õ튴ö$3 +|Ô„4:Še,Þ¶-Ï&ÞŒ&Êk ¼âóËmö<˜º1S;Ø +_ å“OBàÄJׇŸÈ€¥ï)3ÁY€Ó¼ùÔ¶v¬©~E­e÷Æ(‚h3E‘»™<"*ÌËŸ9ð†KÞ>nNJ¿h³VÌc`—/þ3eacÒ:ýšglq# +¬¾ïfJêVu×°XëþΫòŽvè…Eüq$x:}îà ñ–(t%ꢢr„e–µ]ª`;FÂ^^vf ³GÀmq³{w £js@Ò±ôë– X•õí¡ d_­³ÖÆ×E?“_üŒ’áÃ}†[+ª@±Ö„Ù"Üöÿ+Í›¨©_*uѨžÖQ¾ Ð27BŽÈw*`§”÷7W%ŒwK’2 Ê—>žŒvOœvûI8̆²§«@ˆ¦²Llzã Æ¸–†ø÷±ªS_ȱ j%I½ØÆÜ>ÎSÖɶ¾WÂ¥£ì5²‰EQÎÇ+Œ2õæ¢\s[Çú;§ï«›4²Ë”!«äáÅøî9?Ñ&>;ä^•B’X©µ© yŽ÷ª–0h záô°6Â?zK ½…«B轸+ÏéöØQûô i+Ñà¤lEªuì1™ñ$Ök°;¼Rí z¯Q6ùÌÍ=Ö¤žÎöÕLŒÀF†Õ[’U”ÚŽ2â¼K8¼°P,=¼;þ|g/Ê‚¿«è‡Òf"G¬„YÎW×ß{XüÑšhØ_×q‚ÔsÃúñQ^«}òÏ>ïðÿ·l‚Ž.…²îÀX«qˆî‚Þ 2.CÝÑdšú°z·[›*Ë{!d71Üç!oavâéðÇÕÃïOÐC*¤dí hHVPßÞÚs¦F_›tYÖ8šÏ¬zSD§Ùç69~1„7Ü®ÅI™â{jDH>¤0ñü¥¯ºTNòl"ÿ@$Cê ”íó«OFÈÖÞÛµ/Ûž@óøÆi'ùJÓ· ˜ŸG«” +N}²Aj×ÏpÏòðÈSb¥é÷jBD!I?f²c‡Ù›0Ž?ç×<¸ +endstream endobj 697 0 obj<> endobj 698 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 699 0 obj<>stream +ÁDu‹½=Ñ÷×™"&ñ Ô¦–Š_ OìŸâª‹ sÊHô·iÉH+ùÊ`Nó× }œ¿ªg¯ýTká²ì˜êxö¢›Ü2ÖÓn +¸n/ ´[‘Ò‘½YÉåÒ/ý_šÆ„*Óé¦úóà‘Ãe-»ë¿ˆ¶ ö»ÖÍ;»UI¾Ò@êP\¬îRŸ03 ¾ú÷;³hÌYyl=›Õ>/ÇN6@Ù\‚<Š.ŒUäÏ%Åy¤/0"N;iœ$f@®b£ºals&œŽõ¡®Y'¹·°øßÞœ[{ã´ D‚‰„²Î]ÅÀ·™$¯3þÜyÙFšgÊ»ˆŒ¼GLTj.ÎI-8¹qõÞÀnqÆ¥öâýÍÂMnÖØsLí¸7¥Í´Q¸_óP8‚•/Ûæ3©¹N#ºyDÊBWMýõ|"¡m?l¬ ¨ÎI°ˆ#Š`¢ ØÍ>‡ƒ]\|³h² àød ËFEöô3ÌAF•ÂälQ¡¡ORäËåòohsôrY»Í4 [Fƒ›.ÀáÞ‰Øã ߤ-÷U%•âãÓŠ»¹]×ó?楲‚n_=#‹ûŠì1v)ô§pv6Àz°ùLå^h0)ãÉbË:)ª¶Œ†f÷úè&e=AVye(©\„eUÀ5¿ûÕ<7v§AÔ6†5Ûn±c£óÄ‘á=Ô²L¿ág¸zo2‘8Fb&똟åëSª³˜RH;_+ø©ëzpJÆ¢Š+˜k¶Ýcí> endobj 701 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 702 0 obj<>stream +ù”–A!–Ú°~Ÿg¤-Li x&IÊ–nIÔuGXœ°å¿ÈÿþG>q|"K3Îyõ•C{K}» Ž¤ +?ÞD&‘k3™âzYbð?¬‹çÖÒc¡|%À.¤Ãaúe ñG5•ñûö‡9Š¹w +¼È6è¶ÕdcX­¿(WœSmòÃ0gSï¡Ÿ|žmY* <°´fú%±*¬2E3xÝ +¼fŽ}ˆéMŽ×˜Ô±ñ{ÈÎ&°•q|ÅÓL=õ=|âõï‹3ò„žLÒ3¾Œ>Í‹3‡1““Æa­Ý^€]…NZR@Ò†=t°Ñx©Ïñ”-£!Δ‹—š®—¯÷G  M]Ëp劵cb=Šª?sÐ6a®J'ô›¤ûº(0 ªÛˆäv¾àò?ÑÖ±ý6~º@5¦ÀX =ø?[` ]0²-°ê°P¡)‹8nÂb ÞK,(z%ã@Õ_³÷†²*(÷cå+-£ÚRÃ8Y&ÇPJæ>0ärQj3a¾B'ß|«k@ÖWd;õ¬éØ?ÿh¿ø.€ÅaJ‚½åD¶ý€göa¾ "¤d99Zú­q¨ôÂúKó6šˆžxÖ¬lB<~0?`dïJĚتJcQ8­ƒ8X:þÇã¨Ìê$±í’„‚WrqÑ–N›†’ï²æ˜©Î¿Âzê´Í9 rR¨ÎÖ¦ÑJæN-ÏjÖÖùb$eÌ€ÐÄüŠÀs7¦ƒÅÓ§Ù¯‘¼Žè˜{d¥4 7<Å]ðÏ^uFI¡áeÈg;™Îie>GI$…ß&Ó bu,È…üVâ‚Ŷ01EA}W¤¥—Ò6Äß1:5ŸÙ8‹¸ÁBwŽ)Hyq– ‰7í$=ÿºÁX©÷üs*fÞät¨¶5)iN-eñz´txFB6|H!4_ø„~!»§$6ãR®Ž/Í¿K\Ž»:'î”m>6ÓÝ\è-‹pbNwýÄ»˜Ì,²P/¥W§ ˜ s’d{g’ë–,©«²yëº?…H¶a>Ú§ Ä+Œ3v)Ž¨ mc:¨“@½Û#†ÔD{ý®6ëQã°„f*˜%æ!“ís%ÍpMº¼4Z/QvÖlä!‡ññ\Œ‚|ÇÕïdLq:J>Ä3ØÝXJÆÌ>Ns ˜ÒÌ«‡*Ÿú—e–ÁaP.p y|韗<Û¡Þ'{?Vã»çÓ¯‡ˆÖ:s ÊE²l []%¢ÄÁc.á$> +#püø™v<)‘^VfØR-y”õ)5ÚrúMúY ë¢N#»$|5»ü§×PaÜúŸ¨)ëüBnùÀéÊ–ƒ+7ŽQËŽÉ;w…Àäˬ^ÍU‰+øéÃ9&OVÆÍÅ F|q§[)êtòöɯOÀ‘WñÐÍÂÚH^° ’Üé®Ï^¨r“úEe}àGçÃœ~œ•üè×80’¼eÇ6¤A[kÄ6Ð/3°} +Þä²®¿†S|Ž‰Öl˜'E_¾¤0Ï‹Òƒ«Úm)JWÈüfS–Ϫ¿hÀÚmjü5«öÈ.€«Pù”ù­Ô²´K 4™yŸèo]¹Å,§ð’ÂÒ˜:„1œ™€çïx’àR62ããûdžožüW÷¯¡Fg¿QLŒiö&"av¨W÷ï)\fSÎzÊ=‘÷Ú„ŠzJ‹Ý³ˆo´CJ ö¬!ì…*X‰’É{ÚP¯£š„Vˆs;Ǽ1Â7:¬ bÍý‡q\g,æŽÄ,]N®ïü½Œõn‘gÔâùY´sÆ$‘õ¤ /] ¸~O”èã£JI‘¿Ú >¾“#E³JÔˆvÇŽê;UÉ‹ªãg¿ùé¶O*e,áéÆ5”\û é^}5ÁU?Y×»ƒAÔÓtVÇ­öüSS÷ä®Ý+åª]<éàØ‹–Ÿ‘ç@«·ä캡x–ÆÑ^»/}Ô8ä•ö7|~Ù˜î‚ÂCuꟓ1$P5¹ùßÂN4R° žŠþXi%¬wšdF¼'æ)š"çaÍ‚7UÈ~{¢—ýè’ÕLÕRwœà"[Ùr)¯ôÂxaOôFìí›üp‡p•g@‰óxó-®tÑ~ëA²Ðàë)u“ëøB±M. fQUßš°t||x„HâÑóÖ#ð{êïÔ>™Æí%ÅúG¸¦ƒÆdƒ2ëÒÂ]’®À¦U—W»J’u:Øß9†"–mx‚Ãœ LåNP]xV*e­yAz®D±qèÖÛî·‡‡%«ë{ 7!éIXÂß8ŒmÏ,ÄÇfêT*z¥Ï¡"âÔy‘ëžÙÑ\Hn&ãðеR=éè²æÕøùK_Ç‘$G +`ØC ¨X±Ã+â!pÑBm5ÔÁ&dn0·´% |TéÞŠóqt©ÜÏ4›‰Óò96Dç†=tݦæH¢›¾Òqû…—H!±ï³LÍ:*«ý :²{ËžãÖŠÙsYòÙÃ0l…\Ûpó¯¢ÏÑúbµ“zBc°‰p0ˆö· ;ÎTeÃ.a‚1חߨ”…¦Q_;`q’×ý i²A>¦"Êî f“0$äóC–œÛ¸>ÿ³ÎðƒO.Á`ÄTà@ƒOÇçW}*D$•¯ÿEÀÇ ¶ŒWYJ×lëÔ,Äž2¿wÉXËÆ«˜N3ÓW`,ãfŒñPLãŽ伆«Ù赃OéöÞ$qÑwmT +û¹³Y¤EQ¡”°|c<Ç÷‰ÓKêe<ë§vÛaLÉ$Þã,ÞM D¬Ò¹†"i<ˆ Jk\~-NÅ‹z<˜jëôxS˨ûO÷Á™&ÎOŠÛàâáVpß”Ö÷sŽ…—¤ã¸0#ƒ=ì m†®ô6¾+Ãtvò"·«c»~“„Ô˜A³j/5½ë½عo[p&LËr$ŽËZõô7(òÄßÌénÜöl“+p7.1U=o_A¯l¼0hg2±¢ëC>¥Õ/®Ž›…d[ÒÌâ*-SY‚Ö“[mÛA#4šÐ^R}ñ|Ó|~÷‚·aàŽH±ëñ>ïÞd/Õ•Kñ¤¿ìfÎ4Õèü'Mú rG‰¹* PîYÊkA˜æÅØg_¬Þ®&ͪΫi[P•fvHÎpdTñç\V=6‡‹jÂäžž–áÀrÔ®üžcö® ã6D[+@<7×íJ™k^Ï–iÚ”ô2óÌ(Î`Àà¾ê ÒµÓ¯é?lW + {ë8ô¶u³eS^äŸßìÔ&Rù%¹Œ,UxvHBíoÒ½ÏC©3s°”8ð‡§0dc(Ê?[\ˆ*ħÈàÒú(+¥ÇõõŽ #ù¤gal¸gÈ.¼ÕÓ‡9Ü—:72A…Û|KùºØvñEáè±–ï?j|Õ¦JƳÍÕ4™¸/þ’ÀS»]YºõÃ4–ÉUC1Å÷"ãÉ|"Å~¢•Õ8u9%mA)ß3¥Áªlý‰AŽ¤h=0¡% ûüºA«#_ŠUœKnúùo"ÇOÖù†ññ£ÀÓí>64%qÕ¡€ÅRµ½Í¹-5Y9 ró±R¬œÜˆéÆèÒw›Ã50•XMÎîiÎú×X[”á4IŠœ97Ü;ËMJcß@VZ€ÇëX‹Òk ÁÛ` +endstream endobj 703 0 obj<> endobj 704 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 705 0 obj<>stream +‡ç7ÃäõT¾ŸÆ%ïѯÿa-Áú9þUê¨]ü‚N#áÚ’YIK$ Íô‚éŒ$nÌZü®²ñÎŒÂ(¿xM\ ]4Á ÐÈe q¸OëV‹HN»[£þ`ЧŠzt®1øi‘ ¾û{ïËtc£(Øp ãÇ‹teUrm(ü0ÌGz9â—§¨êW +ÇÐl…€oçTöÝò®•É ûÉ©Þ/z:þ5=í¤”´GNƱ˸#X'Tiß™4§–^_Ð :šUµDÍÖæ‚õW*ØfaºÔ*b’†4áÒïïJ1ä°ä²^A4Sß;L`jmý ‰U»‡ùƒ wcfÌKõÛ¼èp;[TjøÞö—¶w\©¢œ¾úJ‰`]NP͆F…˜S‹„7„Š ¥õƒA…²œÛ£ø=YuEÅX j9ü¨ÊTNe¡ +*x5ÕµsšÅ)å[’ùiøõ…úk¯ì!ø&}®ÿ2Õlè¼ùÖÃ×Û†}–ÉCØ< +[-oAPá$œØãBÕ‡–ÞPã +‹"`K–­ð^¥c-m•~ï×Ãýq=Hw¶×Åat!`$ñ}b–ÿ½6Äê/qSw-Tׂ¢:óöÜaB \X¯!S#ÑãåA‹ôpÓdë´òµC}ÈïN·Ö¢­ŽÓtšç‡Îçöù*g‹×æ?Kc¤Íí*¸ät›¦ÍEk`ÖvŽ%ÓM›wѯ“&du×µpV™âû0uA­o>P°7½â˜æ\x̆?t)&Ú¯°ea…Ôí/ð>yfH–(w_F>¨nšµf ÙŸw6.kû;ÒÇ# †Â›ûß÷ÓÃÎ…’ µf$nµÿá‚@¦gg ªc‘ôýð€>X-蘒òù"ÕC'SLuˆìësê%öoÒ#Bÿ©ôèKTjn>û&€®¨1®ka“ËK‰íf¾Î 5&ˆÒ†í^‡hŸX$å~rä6WêF ‰y=Ë·ÛZ¥^QÐS;N«€œsÙl¿n‰þÒmÏRøP=Þ¾Aàd&­ˆ…éZÏ¥–i„“È$n"$5xúÆ̪ÜåIlð<,PXêò~ÐeÀ½·-8Í’i9Ѹýq@ûëßlÓZ[Í.g̾×X¸ S㧅ê!šsÒæh_ÖsEpHIí¤›ü`”Ÿ†èè–ÎD›ëâ…î:*Ä2ƒ/ÀµRvh,[9¯¶:¥¼a¨Å¾ŸñJ6°÷Ä©^¸á årGl]]Bk:ÃJ›½Ñ¹1NgAœ¨¥E¡›±¾8Æn)ë–ÏD!ÏüÁ++™†^€=gPž˜Gᙕ\uÓÉ~‚Æ¢D­ 2›ôG.†ŽÂ퇒-¨t8ÁÉ.‡/dä}Ù²= ”À^“# böÁ\ûªD¨¨‚ƒx¡•+RK±Bˆ–Fíwä©WIýÈ;àÝÄ^¥¾wGZªÍ(ûäTå´þÏ‘ýã%Æ2¤d2•Њžj2vVJîƒF´…”¯óXÅEwçú¸« {«ªËP…óÎ*†Y%îñ˜ç˜Ä«HËZ+™CɹÕŸ.1‰îÚ[}‡W):€ÇrÞ©WÅŽgHƒÄ9r¸±%uÔMLù_ŽÌ•,“ªÉjt^ÒŸþ»µàã•jb…è*c`65ǘÆoâh̘KJG´”­—ãî¯0H¿6«4y¨Ü:^ó8>%ìЕ(¼œD5$ ~3Å$!Ø3–r_ù°ª¶ð°} á.\*3TKô"û‘îô³å~õè|Iº^ ìØ$Z~¨OÍG ä‰qp.|5ß2ävð·YÊëò·OÜãoC:žId• !×ÈáÐPã8>Q:Ê€pkÚzÖöêòdWÈ'?ãÉSPÁ…ý–°âöâÔhüvqÉNÍrœ‚Êšv²îÏ°VÜžËe˜Ee(8Ð9Ý «¢%$%Êr½1ÆÁ§³’pveÿ„Aýp ò¿ÃêðÊç Ïî- ‚.Ã÷PÂÈŠ>Â_QW~Z¸ÛéÝq0G1à ôütCùMLJœäÞV/ö¡?÷:d¦€’c À¥©6æ}0ø\dYr|ù*älÐA­Þ¯4JPóȸ*ôeÅ\‘-ú©”¬áC” ©<2!?öbÙ˜;V¿g¦58´¨ˆß½–¾ž„{äAHÛ­¼ÑÈMr2·2sq{/¿¥¿¤Þ'BvºÐƒ¢Âðó +Q8–)¡˜rG%ØŠr&vœ%ý½IA7`×Òlñ| åˆõ2#žˆ%£Yü²K¹yñ²V?i cXö7ËëÝOVî þ¿ìÚ~8–_§,\Ƚ]àVœŒ}¥äÂ*­ +«øRNåƒr9—ë<€õÇ‹š"ž CaTz´æ\/¥[9õR|º»†Êu+Ý›€Û]J´nj ‹åæФá©+zëZ(­ZiÆÚäöZ·¥’¾r”ÓÀ é¬?1»ë>ƒ—<E‰ÄGäPRãöé¬?9ŸûÌla7È Y1ïi,ýy¬..†f»ÿ®øÒKE(|/  O°‡ÁU&£k‚GaK‹]1)÷Ð+>šj9¢ëIW Àûüz»ÆÛõaCê™—„|(iRaf9÷7=*BÆûu¿žq=PeÅ¿´ï"òw›VLvl¾‹&uKs+òUdì ·¶h7?ß÷Úuòø¬ÌÍŸîAÕC_ÅÉŠ&Wûd`Þ “&4¬|à øNüZ2²þ2$/ä}ZΈ°`=<…Š£€*tÓyMÁ N%s•H5ý¯—EWû¾Ml1Íï3$bÃy·®ÎpŽI³TÚuªQ—.÷±ÔhhU-ýRÐY äö/ '¹Ê}iý3ûÊSËTƒ ç3­5Úðı×Gâø¶ËÙµÚˆ•9lOŽ©v@­ͱ=Nªc‰”–âþVÔÏ §û§%,D†Ó-hÕµúØ"bÔº—Efh²£º)ârX +Lv3©!ÝéÂn¨´¸Íê83~×H öá1Tž0D‡Ò=.BuB'¿@„12ýú4‰X˜kc<´UU>…Iì{up×Èr´tPz§£FW»¢´ìò­i¨˜£‰€ÏPb¹ ýñBgÐèôAC²±¹NqœoaSªFœ'|K±Š;¯óy4/KKÅõƒò W§`2]‰xTª“uÄ%šˆÛÊ •HöõÅ¿6—nbÑY9冭(÷}úL’’5mz~c«ÓGÝ÷­”JD&œuœl4:D> ]TÈÅ‚GAvÅj(¾=B°Ò;Ã*´Ó åÎ8)à@V[æá1ÚÌ…›W„Ñ¢=å¿ø*ò†3’k/{¿ú^!¹Ú›©³)u¾Ý¢ÓñA¥¡<‹TQ ¦ü‘Þëm‘O©âB˜bYx( »L…§ "žunôl„µ\(€7g­ˆÊŸØß}ÿaJ5ý Õ¯÷8ÐéùOôGQiÔtàd>!y rÉnqJvŽ"XLu!Ø„µíJî~`¿Òn80–,vƒÃðZúš qe˜¶5–Oo.jÆ´ü­Â,Þ j†‚A¢TøzêcTµ­™1Èá¶)t"¸”÷Õ±Y*{XRbr&;Ü7g›Ù+£“#ãó‚3ýÛŽ’:?Ïûv;€ìˆð +?WªÒ:x²MøŽUÃ!çãPAQÝH¦ºëË™¡Aj ö–•Ì‹*=5O惾G“;\*¹D‚.6>}lÀwÁ’ÐÃLˆµ/K3™ƒ’aª±ŽfuÞ3—9w«º„†Zf%¿9glÈÒ6a,*ÞÂâÆ{tÀ|_süí ¯Ûǽ¨”X‡ˆ¡uÃŽËu>a H¥•f…ªÒ'gïYáD²›»V9n8/\à<3³>ì)U¾ÖÞ%& Å•Æ.Xø´Üž‘fnÿd/M·m·$Àâ[ò“À‰zï¿<²cÀsfºfÓÀsóa«Ç‚{þÏ'¾T@ë^ IÐF,—WwáæÐÕãÑcH;ÓŒ£Éd»Àé_®16ŠF;ýCQ\ÆÁüõpbrs{ØÈܽÎmF¼.æ -m½ÉÔµ\P1m1{`[LÑ¿-Â_ì½dï‹(*ÁÎqüEË ‹))•é]¶õ8ô8æ´ãÃZœÕò ±_Ʋå!”hÏãøâ¥&1ŸW1c¥‘ò²Ÿ›TÖßïUçŸ$Ù¸ém8jçr…‘P¬PF‡ÅÙ¾Ù-x¿ùÙÑF´Õ[&<$ä0´Çåº/Â9„¯rñÊŸ›.“:¸¾Â™6C×SZóD¨¯?ÓXaún°3™çÂÖQ\Ç–mzaŽ‘ü®h.¬§L#p4-ƒXuõ—¿ÕNìÌÁ£ú'÷?·Æ¦=4ë ÔL£ ' äÂ{Ç%!UY¹X¼™¹þ+y$‚ä4¸å:ˆ3”b•†ÓÑ!f?všÒ]µ·Ð}}t}ï/Á#¥‹ók=Jí¨éBä80Ú*2ñCmeÑpT¤FžáXã»ò^ZkÈúØÁðl1ãÀ‘·8Ô+ÖߺTc§í´;‹ö-?¹P\íšÓÐ9ý%¹­Ê|.í?Ú%—&3¶…%þqLìl>_z˜¸úæ–Ù–ya6“%öFÂŽQº)nñ§J6- +endstream endobj 706 0 obj<> endobj 707 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 708 0 obj<>stream +Ó8­¹b~LÖ@#´¼.ŸQ|2©µGœ‡2…gÆF¹ÀÒ+N½E·{äˆ èLIëú½ÏÑï4“«Ê{1’£ß ÕçH«{ô2­Óàæ$ÁËT-Í÷ž;ÕlßzƪB²ÈÁ £aNêoL[Íyÿ”Ár"aÌ–¯–3r…ò".|Ùf ÿ÷àM’¤ÏSû5^­Ü¡©Ö]i[Ÿé8šƒAõ¹[6­ùéƒØ‚˜[œ‰¡lRT/ÌV÷£ÖÇDùÑÐUOú²z¤³|À±¼Ì³Ì¯1g0ðóLûZM(ø-&ÅÒ`{¯´–Bo‹±qq{ïCØ]Ö†¬>ÏS÷B;¢|°¥Â¹t>b'h‚’á{¼ ÜÕ"¶Â¡*½:4aSHÙyCb·ð4 Nõw ;azÌí_œ¼Ö±¨hˆ£”Bc7•hà¥gžqç¯9Ç'ŠÐJ6kÌzéÃ'æ3W<k?^«>­Éž Žƒl)OÉ …‚oI4m974÷<ÌGÇïy÷åžiܧva Ó‰èŠJ5sݦ½ ÕâkŸý:í ä]½v–fýcáÐQ—!‡Z†s¥Ô}Š}´+`ù±·ïU:dÿhú9r øz“Ïbý0ö .ÙÅ:,ç{»É©å÷_·*ºJN¹‘Àái®é'º»(„GPŸ¸fÄèËÆòc—õÈtÏ@† ö—ŽëÛ¼ËzË|v1Ufˆ‘ßb•Ë-Ÿ”ªçc¡êÑŽ»>„YccÜ@$ê=ÖPÈ@†Á]qrˆw0EM6–é³ßÞ8êj´Z}!S!÷g4Xf´ +ï¯DûAŸÐögw3iS¹gJP‹"'æ¿ccÜërâqÂ8ÔáôS‰nÕgX…!ÒÝO‰kˆ‚tSlËý-®_kì"'w„YwZüMÅ[©™hd÷¡ pOí&®J +.Ý°´—KñHuz1r‘¹õé”7zÖª©åÞžßZqú.c¿ªü C†¼°+3^v®¬M¤¥f̹Ržkø½žz.sµUü «ßEšŸe|ˆã^¬¼)¾ZoŠêCßÒg¿·#@Ï2óÍ„¨|þh­¢ÂkP<‚­A«-:º FDqØžÉëôK +З`žS„Úà{ʨí÷R[¬Ú/Á[$=Ô€ òÀ²ÝH†›;Js*îðpš¢á¼»b*¼ÌÛñÎÙÖû9shÑhÉ%Rꈺ‰‹'¹š]JŽUÚNÆzq¹æ"Ûf“«VŒó‰d {'žgA~Ÿ'¡Ø1× ¶ ËIMÈË`eå>‚~•ÅI-œ ÝùSëñÚ,´BA§Óˆ´®v6|ú‰;ž4,ʧh®É/håçô7ÓØï`u½sú’nŸ~³(×>óŠV6Ð1[›ÒåÔûŸ«U‚êçPÎwá YTO³Õ>„²oà +ß—’$T{›“Œ~)æ”èÄÄ#³åaËðö6:³çF|ïíÅ'%RÏóÕàŃ½<êáŽ,Nì—‡ ²‡[u³,y O¢Aµ™†¨J@*é +Ô Òªb^lW7,ÓüÓTH·pp¬÷\óÍ ÔFŸOuÛs= bðß…ý…Tž¦[f&ŸXb!åBq;£æ6¡±nß籂^„,³\{D¸ôªv†m/˜&§ Ëyî ±y¹Z“]³ÿÓäÍøD:ÉX§3„I޻ߜX} öÚ*|b¶ Ôx‡/ê’-‚ÄIFYSøÃFåöÖ©¸HØÑü=¿|â“^­xU¨H¢‰ç?"œ oÞ^]p1‹>XÊ‚ KàÜ›„k ²!r«ÇÈÛ„¿ÿH‹–ßØGlƒ"€ +©õ¶_–z?.fŸcð^ Äðz.¡ê‰eîŽ1IñïLù{mþš ^îAZQwP²€U÷PIl:^_„LÖð&¨Õ ’€pÙzÒÚöedݾ6`¯P_™&çu7„é%Æ M„µØ]Íc´0-é[è(ÒZÿXÎÇëþÓÛÌ„útŽºÛæœê¬L·ûrªè¯ÊaHE>`\sŒÙ“ìö ©‡KÊ; “ð„žàmVGåºö>EËGgšÜÓÛ‘ïª:Jÿ\iH{µ½¬òÍÀ‹\ãQo©œ÷Q9î€.ó¨20*u±€VâC¬lÓyɪ£—êt­§¸åÅÚ[ÅÑ_<“ˆšA õ>µŽ…Ä_î‚}¶Òät<ãÊ ÐúS>0¾g¥¶§¾g©Ê²¡3›|#ž±s±s(ÑçÚÀºVÇ«1 …Ö rq`û{ˆÄ×ïÓb>Uv"K•áÇ!–ã˜#¥Èðó¨T©$Ä*ÙݼyûD´&ØjÆp+]økÒìÍJ÷ÍD[b ¬(™q#…Tyÿ>c4Ù?&ç”Q•|Eæœ!~/2·+_c‹ 1XD\–øòQêº7¦˜OI±Ì,ÆpÈÖ2­CQÛ°ŸŸN3 ³-·002d”Ðн™:¾Æ_Ë ›zÖã+3/C®÷ sï]7ÚpI;y:„oeB\fU¦Iö ƒiS«ƒ‘Èñ‰·•\ä.Õ Ô‡îMëÕ¡ð‚¾J¬DÑ}“³þÅUjÜõ”<'ÔÔ’\mó&ædV.´ešw!«ÊÜ Õ’N +RÂë÷ZqaöÂBjÊð<~ºÀoØeGu]†ê<ö%¤´©†²ú!sDßy2 FtðÛ’ÂÕ îfÇ$¥ótæ"²~z(5ªÒïÖèþŽÖéÑ”hèmNDÔÂ%-“¶€HL·ÊM/ÍýpdÿaÛs-oô^(â…xPF®1‘ÜHž¥—ú”ÔΊùƒ˜˜GÿÅ‘p–¶ñB€^MOí×;(>ïúäš|ÞIuC,XzZ’îe #Q_¹€Ô3„‚>ø•AQª”fv°ø,³dA@DËß 0kíù R–AÚ>{'Ý@˜r ÎZþ‚èÅHÒþ¥T”{§Û<+µ*×—dЖ8„t@a5ááæ%@){/”mG×¹@Ôêï‘2ÌE§uŠIiÖã;«ÉÐÃåŸx Et:¹K_ˆ<¿ûžÄ6ŠêóKH„5½³ÂŽ‚‹““a¬ßûB<“…˜ÚôÅyÅÚ}Qº$¾o\Ã*q ÚªC¥:F«úÞî4Tqj_jzagÿ‰ãÚ€Uˆ3<·:}#C/HÛVÀ>'#ÙvŸ&#Žµîá¦Kã+/™2'•ðF9 ’tüVÍE6ÅHÝzÔleƒÕå@k Ž ¶¶ŒÑì„ļÛDä@׉S® NY(~aLˆN©¡Q†L-ðŠ]ènŒ ©‰Œˆ×^o‘aðœÏÔóG«"Ðwò›Ì1¥ÌxÁIBU|)‡¶ÊºûˆÜ¸I x7ª{ ¯$¡SýN¡N¦™ÍI’]^½Z gsyÄ\9×XàZ)Í뀾ðzEqa¥ÕÐœg¾Æ b—FŽ×ÐK/¬¹ÓçšÓ“sÛK +‡ÙT/Òó#õø9ch2‚‘{ÔÌY7Ó|J†giÏÐ9åë¹~ÅpD\Ä»À:ÖÕìwbëŸå}ðqô2Y¶~ªRp…°=­¦*4Öj&"ckŸç ¯¾êæÇا¯Þ|1Ü€ðOæ´E®ÛÍŽ j+h Maì—º»ö¢”¬ñ„Y´77­tÕÄŽUé"ÙãçÀÐc€ý7¹T^XÒ Ðhû @Úok9ÓØ,0,dÁ¥ïX=ÝÖÍû62§åÀ°ÃeŸß*ý#7 ú~ʇۧ²B3f…œkÿ#FòQÖ›8Ð5­¯ß $üxìs–¨½ø²Þ6ívnÝODrtˆ¶J9Ë0¡=…S™´Éáx áÑz¤ÕýyrbËK0cJHĵ§¶ÛIíƒæ]¶Ê7 .Ó ø‚"ËŸ¢Š­šqÚ HÊD̼¿eM^â¹YÜ}°kxÕ…“[Òë·™ZM*lmßbC†ýr7è*Ÿ‡àØ!Fzâ÷¦¡ Xš"ÕØ`8ŠB²‰CÙ¤ÃQà¼×-‹ÐüÁ¾!1ô¢×C<  ¹/f¦Õu“˜Ñ­”KÌGpÔÓà÷¦Ãc‹k`ܲ¦æ²Ü`­òT®Ü’ÀoFÅ÷Cê¨ðDüæ8A»……«=ÅuÍ‚Chý±ºÈÕÝfUÿ „o]Û*‰í1B¤oѧØO$‡Õ29á­d‡o#­J¦˜ºU‰zÏú«½úFÆn2ò<Œ0–Ÿ—wPžà¦¥(E\éO dSÏÏÜgëDþCf·¹ã°w爮ÈÓðä‚•6’Úvgõ#1ýÍ•Úü<œŠ #>peŸrnÙú㦎´u #æ:f—qéÍMs¯}ÎvÔÞ†18áï€j¨I¿Ÿ¬è/(¾™*EÏ(±í_[KNH9Ï$3!Èv©›ùÀ5’ˆA.qp Ju¾Ë6‘(ˆo5£¢Õ°›Ì¿žä W{­î¶=|¨ž™ÖœûPNÙ†¦H‘ˆÀL¦5ÇÚ‡)RÑ0Ýsò.Ínc^É•,\Åí † A&\ÙÇcøWƒ©\½¾õMV¹ST>†Ñª.|Š|:~Q°!I†«?— É`¿VUÔ€rD?›ZÈ éh$#r.iï¦9…Ì¿´ñþ Ûg8kõ>ë*ùÍòäÇ8¢{Æül7§¹ÂÜeµu/$Çúã1Ê +&%úñ!ö½ÅFUö¿Ä”²9kZ¿evÃ|Ñ( ŒÑ‡ ã¯öæTrƒ\Š±¬dàI½Nýç*ÁÓÐuòçDU # ·89MsRÇ4Θ^bïqU„ìD´§š‚’P@ ~iôÌ-w™\ßêÛ«¸—‰¦]¯¥ò¿}¦Ý´˜âÛ6ãVÅ1σ8oŒGÜâ¡3 +Â]ŠòW!ç¾ ùr —jÐì~rÜl_Õ4èŒ4,ðÌá«ÞË­€ßÅíå ¦Qƚܓ—ŽžŽŽtJ®BŒ° ØÜ-ciŸlFwCŠ¯=Ï®Þ1[ˆò}^ðßšr´¬hì æð€¼»W­†ïÎc*‡.™_0·;°é3èüÀ¢í€‰».-A]Ú9)O¨ŸÏÔ#9Zö§V5„¢ úG‡ª6sð4Nu®–“^W©BÏ.2á_½¼ø#%åð'Ø´6]MÁÊÊG'µ6bN8YàJO>¨ß&ñ¶wDÚ½ç¸?¯§ØB C*ÆÅB9ÞZª‰úGr)&4”éðMÙÒCZ¢CIL- YsÐPkŠóÁuØ«Aé厵Fû¼øÉ&¨ÆH¹µaa2 ¶ ·©D¸É²cœcª÷J„eåïž™LÓÔ…ód0jKA_²êÙ}4µfIvÔ'ÉmÁ«ƒöW@ÞÁÃ滧¯u€ls~}ÕD¤`”5´4ŸX¾/˜²ü¯bªÊ!xa]RéoXÝLUðÄžÈP‘ôQiÔñ쀰Ë#éqü3ØÏã&«}ÙoÐ…±P:o Î ÌNÒJ%#@©¦´šÊT(å¹±»£ë!éUõ®,»Ôl¤Gd½`~Ž­òîiÃÙ·Œ ŽIž$‹CE‘+Ê$€Û{:Þr'htü4£34pö×Û,+™øpb²ûUÊ9b-¡\ÔÆl³# .b›[¥U5¡3{Îâ×ÿJ<¨üJC A‰w3 ¿G€p9¦7&FÔU”¨Œ?µÎÉ¢ºÔ9 +endstream endobj 709 0 obj<> endobj 710 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 711 0 obj<>stream +£ÒïCkŒ“ôéýP_oõ©ñ³IÔ9U‰ ´§ûg[³ëõ¨Å{ð¦Îœ×ò-YñಗQ6Õ…Pøí­«°Â!hD»! lr n}΃!¯™Aþ(<Ó±ÆÁ¹ê¼Dü¾9ŽÑ\ÐXÎÃzR?æ|Zݘ¢)»ÏŠÙ…Ül1Þĩ׊¨Õ2Òxô–§fÂ’(à6,ñÕü¸â­¤# NiÀˆãçô×*ac)Oj.P¤Ž|† ì©f–•mêFÚHI¨‹ÍªÚ„– +Ñ·RCé +Êu‰•~Gë*t[íX¤iCÓ¶*¨ ÓíËö`mWT*˜M¿Æ*šDVu‹ô²8dþÕrÏ C†CÇzº»ŽÚñ6;LX“Öþ óíõG7Ô¤0á½çbâ `bpÇõÊŠ.ø^ÚŒbÉQó—“ËÊŒ“;—Óõ‰Ðsß\LV¤£PqSÞÃËSMåûÛ±ÛèêvU4ânæ¿ŠøÉHÄÛ¼`±Éå×!÷ˆ#1±U ‘|D8/J²P©âñx<ÓVYs<ßûß2RAX`ܸäˆþ õÒ9%WÑ$|Yˆ3—ç[½ TBèqV‘e)­óåd®h¥ Ï4ï:Søüdr¶Í‡<ÎoÊ%²}Ti•p8Ì¡æ„åáÿÖrLÊòçÈ„ä9€ašÓË ú€ÉaÃTô"×Ýl¶5$5þ)Á± p¹€¸ÆòLí ÔL÷Èõþ“ˆ­ýå6h@Pñt¯Z‹ÿ~£åµ».™Ë‘xfî¡ÃB–CáeÓj"™x.ÍL’ÑÔÝØÇ7Yªî};ó é~;Ún¢w½,½'ߦ“ùúÑPh¢’ ,õ¤Ø f¡{ô8ÚPé°¾ø\çñ ħÔúå­… QÃq„¤ní~£chǦIC{¹¬ñ2‡¬1ç¯/>ÎçqW m™Ô`EO/É&B¡™í& ðó4³œ¾PA ¯ +µèýرNÞIÆJz¥8¨á·æƒÔ&71c­÷î-Y[·1ym¦7ÇÞÀÖc82ž™­Õ8yQiô7¹~ü—±ô¤¥ÄÂH¬˜çâ±\Hš +-‰”²E@^0Knu¼5„'X£tK€k¢\Šƒé˜íSTNÝ"u2÷ÿcÖîäõfA|Á¯_kr;ðºÄQ~ÀñôôÃ@ëO‹,ž‹ÏÌ^2ì\Y0l£³Ÿª“îFÇú%ô ¸qx>qzfpa¼pl«M-^ҠÑýKJšfŽ ³«ÚŒ~ðWô‡:žJÊ}Hc^‘š Tlk‚÷Ì’¸{1UNÃaUH±:k©w!Ôr t’ÿƒH–pVHs”‰3³Ô&ÚQÂés-ö–¡hL ¶¦Bïá'3sò*OŽÃ·ôy¡ ”éVY‡2®’+Q 94¥E$ÈiV7¬ÔÄY)Ì-­ZÌÙº)s^iñ¢%=Š«nҠä¬wÈ£Ž»ËÀŸ;UÇy}êå +dz PJ.=O’g‡KÅþŒ{& Ýð ÃÄ ßòÆ¢ÇxàßÚ!£m‡÷é夷›ºh°oq] ’ꉚ„ílGÐÖOP +Úñœfôs¾iŸðÜíûMåÝÁÝÎñ! àç1Æë(ß×´–*S˜d˜Î³ŸôV7dM$úhž¿–1¹€Ò&e-ÞÞU9A}s¦`5‹P‰/Þ8é°Ü`­Û ôǵø ÖÞ€IF ± λOÜRvœ §š[Lp\~ªÙ²ÑiÊø+¶f†‰9Yæ±úi^Åßy–æΓLh›‰'ÑpÔà––uÛ‡b÷»%@¡Ý'G½3Qm ÿ‰å™\›.²p„ez^e†‡çpÁ™ÒߪcÕL©üÛ"µ;õ?%~E2çÇ= ™Êɯ”p¨—ð\˜•gaA™Eî0p¤Šk+Ü|b’—‘äAñDù>Jœ®6ãc5B©þE½¡uÛ5Ðç%„c38ÁØØØ4 ¹"«†ÒÓpq|fªÆ`„Ë«ºS #óø¢bv"!4kGVéÅü™éÕ¯Ù¯—Pò‰¹Y šö€9þ²aÇR]üè#§· …ïFLåàu(;4— úkä‘_-…wäßEyô箬%¯òÕEEìȲ[qþú!Ð1’xˆ”ÿÚ‡ÔŠw²Fñ•pï¸5Q&ˆ™¦ ”¬¸³$Kªú@ïÃÙ¾\”aõóÄÍþîh•”he¸¿]§J}¼œ´+YF…<üt&_2"5\ÿ2³½ÍˆÿÜ +hî£#½º—"L©Ü5î%A˜sˆðœ\â-f¦9 +N齪BXÜ“¥¾WÁ«1y_ƒ…€%vĘ-IÚħ"†ä4™ÊÃD‘¨a’-㇠֯s3®…™_J4_~·P2w"=ÄY…~±&Q”ÆEˆÇ#Ž­Ú¶“r?CòA7øéc™]î‹`€·ú¸$|ÌôAœ‹=XGŽ'”ÝñCúKŒC`hÜTÿSvì?Kn¾è·X½aД&ºÓÌ`/ºÀ¶ë)qÛz.jÚ‘ÔA¿M‰ ‚W+fS¶²Ä,€%W¡Ðp!³Õq±ßªp¹U-xy–ÏšÂ:PÖ #…ÿMRZöëŸXk -¶‹ä6™¼“¥~éå{§ÂÓ ±9ép´¸[GÁÒ¿'¿‘gTu<•‚ ƒJª¿Ùm@쯱p'+¶“íhWmÆ:äöÆ»öìNY:¾m¡Ûãدl}®á€NcJ˜©èÔãÄkÎŒ*}/ü>©ÖÃtV¨Ú¹›¸ÝÑéÉë$½):M©Q> endobj 713 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 714 0 obj<>stream +ËlƒÞ/PØ#®—ü ÀZ–Oòi³Çÿ1þ† Îl—/Y!€;ÙF‘Z)o-i6d&FýžÏÀÇÃP·Ã‰6½!`|ý©µ# ”s´“òÞ_ávÎhh;w¹ñþ­#äšÇF|UÅÕü‘­$Ðz}ašåí@ñ¾„ãÚèݸ¼`m!D‹À©æs)Z°ÅB™s0‹é·uç3x¨{2Ãcµ ëg†N¿?AG˜qå Z÷`-j$I’ËC&zo(kR +5ŠF ÄØhÍÈõUBSXL +ï÷Ê×ü—½ùœÃ]DlVœÇ±“É“ÇT}k´\WTO;ÔL~à-z ©Û d¡žY¾Þ²ғ嵜¡˜]µ¢º^0—ZÞt=§ +æmÎÞ¬Ðz³‰[¼±g ªÚÄt£ +´09g¢\òk=)0ÊGÐ +›d¯{˜[å¨" ðÔg +Á0Nà•Ë ?³Õë:3¾´Û .sun(“¬áQ:³î0Ñ¥?Õš­z³ì¼+¼ÏKCW!•|J;·CöÇœ´®ªÂÜkš©Ê·f2^×£Œ@æΠ&t„„Kn»-]m›ì@±[9Χž‚áSU×#Qt@è² ëÀí~ðwPû’7ˆ2á®Ã_32À9õeþPm1Úùaô8¤Ès|Ø6ÄÅʬ½S..<´üâ«ïf9Dún\­£i‡h/8ø7?‚*“" ÞZ µ…ò6ðž¥b\Í_¦Y³»¤ä&!àû¾¯m½\qõ!ˆnwžµ6ÎÎÙÀOvqXÈñâ´š‰\zÁo!¹O vÞèq÷ºöi]¢'óáÅPÄ*U^8ÁôfL…Ñ|=ž?øŽá|z©6ñ¥KÏÍB€7ýCü‚÷ckòG ˜öD8û/š§%D‰w í&´^;R½C,-ƒÛ´°žD1Ä#‚–ˆ–*(Þ’Z–˜N.Ò6ׂYvˆªDüa¤÷õÅ‚ >ƒug´«tEùÈóÉ7Ç&<ÉÎÁ{_ÿ¡èI3ƒuE¬~Ç>ÁË òòCÖȲµ©èf+ÌÝÑ €ÏþÅ]U€¯—ßF¯ƒc¯.­*==ÄÔ‹×c7¥iìeRs¨×nO³AC7Eæ¡úâ‡ÁýÒµLG!c\bâ\è÷éïd¡îÈÂt2lŸ®Uy"-/……"Ýôh¢§böÝ[ ô1’óq':¬T –Î +(–v·¬¿Ë8®¸þ¼¶Øú/5ÜO»T/À¦ºè¼þ×YjÚ‰óQN}œ(oc‹Ü߬T*ß^/÷SÐn™`vÔ OMu:„]RÚÀ¦\Œ#´ •í×”B—%^q,¤be€12`N櫤yçC>§^[æÛÀ¿+¸–*RÄ_\·å6‚máñì™-®RpL_üyuŽ+)§írð ÝQcÇ P¯3­¡ ˜¼îä&@Ä“×Èæf Š‡¥ô9zÑ“C>e=²ÁÖ´BÈ8oî´ŠX¸ˆ6÷÷ó$uWw¯sƒð¾eÛèCýÓÿ›9 +p ·¢NRÝoWùƒjæö¯l¾÷¶ãi´—Öº½nÎ š£4'-oŽ†,àh‹²Ã»çžøýËuv¨å }>l•‘ÎÕV)÷Ô"úËóù>‚Y‡bÑË…®¯\á£òÍ40¹áŒè Ž4,üZî« !ž/ý(klç%SòÐ!ÂehœÉœ¦·ý‚÷¨Ôzg=:f›0CSº¿¢ò¹û‹sµÎÆÛ*ÑŽÚ Ž?£œÑ´€¥*ꤚHÄ(¿²ÏíÌ=Š‹&`6_—•›Zžj°ªsÓdc¨ß µ»j‹š£èá {GÛƒes4ÃZi[¥Þ”òBóNìR¿“LΦTÿå¸Ô•²ùKz”÷Þî!NX~¡×°ÒÂþßH)‘å_(è´"öhI5A@ØÐHÞc(Ò/€w†ÀÍÞŸÅ£ñGÔ_8qA¶.¿x1šù<ƒN‰Ç©»Q×rècÅ…ø ±â +äukóà¯Î/­Û>ÙdË©=ÅšT’~a{oMrÿ8|noôñh·ÃHYaAUk§«¸~¦`[Xy™‚kÕV¡25ïhúÞJÿõp¦¨ü"ŒN»¯H£ü3¬KJº¨K<2Œ™y•’³,äÃò°˜‘ +ïÕ:qÛìØ{9 ú}—AíÚžì¡×Ú)µš·nHl_o5=?cÆ/c»Kêç;M'Ë^ Éa«hvÁ8„íéë9P^¯ò:¦/ÅŸ7ŽÀ¡×6nU%ª@;tà¡“’¡ÃÑjˆ°”ü"x·—KÅŽ«D—¢ºô“zU iU¿FT*Ü_õË­”TÑçà¦õ gò4¢Ñ0*‹9eõÿC…B• §¤Ó gª,nÞàB RoÜzk¼µýc>'aófÆ•!óßkoüÈ ;x ke p€€C–¾}<ö¸N}jHsÜ°Äô.Ã⣢EÝ‘á÷dP­êa2¬ [Î~‘>`ú„ö××õx¾¹Í ÙâKòßö]å‘>©¯i€ÂqÊD©>Øt¤Ù3‚ŽËˆü*Š”£Çœ"H·)ä¾ìn¨dŠb]¼ûÏ¥ñ&ìù¥˜ð ÌÏ×ïi¬ðWD§@BH[2¦{+±Ïð°+ +P”`/KÆ=ËýÞC )¸•qPr¾ƒÍÄ0¼Áq‰–4®‡#“žùt«Û6vÕÛŠKˆí,/¶#±¾¶y¬ÕÅ{»À°Õ›çÇÝSe¼Nßþì?.סNš—á¾8:lXú)8ˆÍïïí¤¦Õ!ŠÑÁLc7÷~væS3ð·wÚËyór¥6þõÙeüDSÎù. 'DCŸOµµ¬¬5n«}¼î:lP‰|^zgÜ÷,‹"Vªà±±›É«Ÿüs|O Ju#`$]#€<ʧñ¤ÊÓ„ù)þCŸ!ܹ\¶@è׸ÔÍ÷ð- äm”éÔï€ÐO{”¿í$ICùñÇ!·µPâØ9Îýè±´—ü„ÇQ³ò‰8²™¥8DÁûŠâ¡2j“y €ƒWï8²h¢."vª™'ÕTWòÍqoÂFšÜÓZ dAP®ªÝ|Ŭhhe›Rh¨Ö˜Æ–>dßå%Ãìõ¹Óñuv©zôpbµ¡)ø&D(…”ªMA?óºm‹nD¨}9:¯›–ãç°;O¸CÐåŽ$QNT"Á8ž”¥·VÐàDiV|w?AMdZ‰ z[ôTG9ã|¬£"æ/ûµe}+s<€~³E¬O‹}ج!w£Î!£xPb ‡–šªhb§^W]ÚÁN-·`œüƒ©ôæïalXø†T/°Â;ÓîQù1»fº Ìs ypg‘ð>Ý…‘Öñ#f°ìóR蚦À>N©­“ÙÎ@™ÞÚ 8?7.¦§…'E˜Z3ª*§ñþp9uÝÜû°ö‡)œ¯´`­s8ׇ€¾’ :¶Ô¨FÊé¾6u´‹w‰ä꿤5ÈçËÌ»Xïô‚NëxÌàÕuæ> :˜w -¯ÊÞÜßzCòSîrû+‘Ôó@\) ‹né„Èbôò +=s³)ÉW€~8:·ˆq±õèn¨¶ô@ ›mÅÎȳÏíæqJÖìîÀôÕè“NÍI.ä†AÅz.ÉIggÁ3¾£!­ó„C°x¦'«s3V“prèÔÖ¶*ª/¬®I2! ü¢®‚‚UÄ '˜5`¸ùAÞ`ˆ€°™õ¡wÚ(iœm…°x‚ä8çZm\»v¾÷÷ÈP±KNC±n3‹ªk6|ÐþBš¸žž9r#bù1ô”¯%±m¢å™`à?C3k=ª¸gN%ÝC‚,Ð NvwB»”h×ß\” ¼F* Pk&@áH3b–ÿáa}ÍEñÊjy’öçŠÁ†ä ø]aþ2 ‘ØÊîUùí¹µCórž$ÏhŽj¦;¯H&áò'yO…ÿWúÔDέ®÷€A–™¨|>ä@¨õ‹ÃÂSùßúšòå\Hy|²ÙÂSÐ%TJ~³ö;ráˆ:ô^%‡±ˆwóà œ0t%l"ÊÛ¡nsN¿ÓV§ñ&ØPÌü¦¥xèÄp‘ÖŒCJ¤£5y¬¿œaŸ ?¦ä#K )¢u1ýÊùV—)öp ãâ:FÓIœðýNÎ/ÆÁådj^ûý’‘F™za‚lÂÙîÛ3¹á „¿­Åíi‹\¦—T䇳"M¼Ê]¥;%º—j«¨çÆæº4‚BxªâÜûêºkRÝå¬g‡ˆ ™‡Ž³RÁkújl8/0;¦¹#½?DÙã­ ½€>à£=¯§ð„hþÄ"7e$½'Ç·sèæpª¨ÜÒR à¨Ó²WE4$Sõ”Z :1¨Ç[ò¿G;§öAæ yÁ †D6†)°àwW£?T`Å »d’í¶®ýœuæˆçC¢‡²Žš9‹7«4þK<®jР«›y`Â%¸dƒ aÌMgKvôO—"°‡éÿ‹û©kO=W/@—8j +?l¼½‘¹¥‘º-uv„,„J–.ŒU“aãÒ`Â+‘:aÈ¿®QKÕÄi©”¹‚À¦¤ÀxªlÒ3®\t;ýs¸¿ÕI|&ò&Ó,O™ŠÅIÍðþù…¨Ho—zÓ1¨8ጨ-T qÑqeKJ+µº£ô@lP~ÑyJ\S,÷%C’íñ^D£€Ù}^´ÞšÎà¡ù4˜¸ò O‘äðºì!—S‰“bM +Ûærþ¢ $ŒÔù¢”ç¾™åD6z5VGUäã³ ·Vbj4-ý]W’ +‚²Âj÷d/ –Ïåeaú|HÚ‰~ø5U? sçŸáªXYly ò—)ú¶šv¯}µÑwÒKdþÖ®uÔ0Êô¤w™)]»E?]ß•æü‹©òyòS 8Γ¨º{)žÚ6'KÄúÕ!-¼Ç'~é;^´‘ªƒÌ˜~`oðYÏråÇV苬±CûKÖBb0Öº”s Î¥5/¸ÐD‚4(ãB«ØÈL¬nx€Îèu~À¾RÜ :•2d þˆ-/Ûߪ®ËÒðžÉin>ððé¯Ì1äèï×Þ=DÝ;¡:Bó˜]Qš¢±{5}83íh0ê}ÊU‚¦–ÃËÕ!™M' ]ã½Ù§ ~yÉU(‚™Öó£æø,¶†äv¹å7Kðb~n5´@MïRej#má¹aÆ"tNQ5ðs‰ 6‰þãPnÿ´¤ÇÚc·ßG»Öú÷ùF–&È%–U¼êFõe(^ºFÂÉ#Ì‘ˆ^V†ñÌÞIP)Óf$=!LjúÓ3?Îe3zÙŸ:öƒS®ŽN1÷h·>M‹Èeʘ­dí#ÉK·žñAâàœ[酪›½|\“vS‹CÝgæÔ“9Í[É3 +endstream endobj 715 0 obj<> endobj 716 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 717 0 obj<>stream +uJ-KZ0G¶uÊ?5À£ézYœyŠ HäÁ[íüuwÏ +þ©v%IÄóü$ðiA³Û‘Z + ô¦ÁÞFø6í^ 𖯚BÆYÌ{@y$aqRç¨zá¯fº+x!H±×… +’í«èã‡R±,tá{âÔžöUÆ‹ßYßr‡êÃYä +D€ØÔ÷W¥çeø»~n ¿·«³x`ûÇfiŸ†ãïÐÈ20H ‹à¶àf-*ÿzB+‡ˆÒ±À™fT¾°í{cNE‘$é³a˜»X*芯!†ìc6(²Sw»òy8\J2QšøáWBl|ê‹Ü ( A¡Ž¨Ê_nC­ÍÚ“XÎá1".Š–~Dyò)lº20Š¿ójV2=F­ŸMRxçŠ×¾X +Ž /*öS{q»‡ËgB’ëql&"Û·ºF]…Áík'ë?êŠi‹²ä÷nƒ‘ …ò^Ýñ²®ÕJW”ÓRö°µá>•8dþùšF>å'A+{‹  ­9”Øø{tMyktäLyz ¦K+K>":Ú7uÊ—Ë•‘¹7roÙŒ¡¢KÕ9ÈÄNÆ?tíÀôríÙÉK+š´$ÊP ®H m¿´FÞÄ1Ý]®íÐ4·ÄŽöz‚½÷£{'¿5µkô“{òkqÙ®³ìåÍJd+©²Ã +¸þ"À¨âwÄê•A¿eO=ýÃB‰¤'CLv‡$Ûw»¢<Œ Iòž^þTö™þYدÚÑ#-ê<^ÌÑ•­TÅWŽ~仌 ËDïø©ÌãžAUVÅßâÓ}¥cŠ8øæÉú­áL¸ OçaóMlM}.Û)‚+¬k®Üø +ÉPÅ©Müz&‰Žóá>‹7ß»äMê0½û'ÒbS)ÕmSú&ÜwýML|AdŸTÃÍׯ³·Kžr’Jl -s²<èN[בd–ñ»TÑKÖºjì‡úbS¦©1$¸"ÚâEýÆ÷®|=®Ä:³Œm¶‹Ùõu{ÝuaèžéåÿÒ (›íÆMÚ㪠+‹¤øQ+@Þ äÏÛ#Ø.ÝEçÔ¥’k€ôpv{/FÛ<)E»Ø ,µÅ=ÌΰXÛÙHê3-îëòóó ‘M.Ñ_ú5{hÕ£2pZºdV†2|GK©Õꕦ£nÁþÖ2ÔŒ¼w_ýŒCžŽü˜‚® ÏçÇ­‹A9ëë折ž™gôþÕú³¾t󈹚÷wSÔ:Ò»,‡X +aNzˆñ+n°ŽmcýÇÀd¨{°®c%éDw#E?[1vq#Wy~®Ÿ›^§¬—öät]™ ú.Û*~* Utä’krêíH +¦)O€fšÙïd²Càoº3\ß¼+Š‡µøGÓ«ÁŽÈoùciO: î•2Ì B;*”ààpóhâ‚“ýÏ‚„ˆ•g¶"\ß©Ò½R%è& z@ÿx• û!¹-ÇM\o—ût¬Öz?ô>b•/a8íÔXæFÉAº/4ð¶3©Ýx&Ò’à¨x ðº/°ú|+–ÖNì‚×ZUµßHá«å‰ÞÁBólqTSXis½áXðÉ$ñ6Ξ¿›?vë &.Bƒ3mSrS#¢ž+êd–ó=~$…Ú€ ã7‚9o% nøKg€6¦+ 'Ñ`Ũ§†¹ôJ ñ¢«6e0 ‹Øs¯7ü?–‰LΘãV Ð|©çûù“Vï+Ôˆ½WÎD¤;•Ñ-¶U¶r ØvÚKñà‡kȉóöeâK×võ¨wÍ*>ÿ¬3ÄŸes7›\~ê_)„%/…QliÞ°µ²´Œ¯+³˜hÂ\üÎD7²|çð™äÙh?BÃÕ@BÝIÝð¯ŽJ6 ôc°ÅÉN+~“¾+×æå7:óÝÛUH>f¨FN|k¼¿Êyàíà§ÔÅDß“ËDgt®üîî`µõc‰q8× fÖ.^ûÞ_ˆdÉw<˜Ã`ØyÙtàKê7š‘Š/Õ…KÓ²mé\+ÙèSŽ›s†2jR}Y… |NJ·ê&ŸàRÇuã¦Èe(9Y³ºšË… Ì“ÊØ]ii‰“õ v> YÎ¥%);~’“#rŽƒ-e^¾í¸Œ»£[(my×ÒÌ€qtfXr 6]:‹‹D,I3ÃýÂERÕÕëÍ¡xžP§ê£™/¢œø'±°´ÀNmd9»S‡ À¼ëw—f ²ÚªK3qc£Ü/·å `J¿º²A0Ãtœ³Õ®)°ì”À¢t¿Œ¯÷4›—Ä2æ|D9Ì|Ipûk€„˜ —@B²Ãì-Êç$Ï#’—ÄG*¶÷wÔWM>¬–’B¹£ìºh0¥[2äg•ÿA$QnjÝú_ÛØ‚M»Æׯ¨Ž%KIhZw©öEäJGíÌÇ Ãò¼Á€¥\K]¤qùŸs˜Vu])²™–”G WK“öd:Ï;¶kŠ'@…ÚNØ@j¤æí¡VsÃ/wSP*š»”!ûuœùB¾hdÞWÑ‹ÊAPÿÉ~o_X–AlB'ص)+oû´ù¹ôsG”ìL”¬÷¾.±e ºIð¡u*œBEW‰— ÊÆ$Ýü‘SÕqnlû½®;K,>Þ½â”WH[¢D :*:ÊSøè©Uœí)Žs.·iaÑ +¯2@î냸åÎPÂÀøè,~Þ»°\²ªÕ ¶ƒü¤H¤í1¯ h2(Æwr]&>5ƒ£8¡äTèf}Nñ–Ñ_Vò| «@òf@€çe8ñô,¥SE b÷Âoõ &œé¾Bw—Þ4ÇþS9 ‚IaM2>·r³7ãg ¯WíþØTú„Ï +endstream endobj 718 0 obj<> endobj 719 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 720 0 obj<>stream +|UŒtÃS©mÚÜ‹K†*ž Z§!LózKõËâÆÛÑÑ{—&± Ki<«QÏ›±£iäõò¹¡…ŽM9't9ÊñÏÓóL¾t£Œ[Ý$†&ªÔcà|S°v~‰;Bÿý;ÓäeÅåÌFdÆ4<%'äX\õ}mßU¾@vÜGhDáÒ{ΟÌ5_—4ænZë,?Ö~Ç ·ô²/ÓŸ±Oä&š£Á™¥7Í™wSÌóñyÿ)¼ëmVD^ˆòõë›fiOju¾€°ídÓÊú™ù¾ôR.> ‚ÿ2_[³¤h‚ÉŽ‘Û'YÚrÿÐã¨=Eˆ+ 70ÿáš8t¡JéëŽi ¸Õ‚:•´ ‰'[äª,ŒP5¿$lÉŸBssßk¬ çrFÞkÝÁËM=µ2ðkÑU&ÿ´–„Bµ‡ÏL—D/ºéEh`5ãZæ§MÞ\”Íwý"£{y9‡ƒÈ’ÔçKAzÃwÛØ™9½dH³ÕŸèu‰ñeU5„—…ƾé"ÓÔE=LŽ‡AØCW Rºå/Þø•¿}‰JiùÇ|e>öl!6šéN³Î%"ªAœ´Wïæ™p"§ -¦Ž0ï9:æ³™ îÌ[òhÑÇ Š"Š2¹ró‚Ž`Mû€íz‡@)õ3\#žJS0z:NþOâQC±>tn±÷Úâ!9ÁÝ ƒcŠfp¡Ï.ž>;ô‰¸¯­±QÍè1Õ¯Àƒ8<´ªìëy€Ž+d*Ѹ#š¤}$Š¿\TáýÁBoÓféðÂ<#ݦ2z³|H†ÄÁw5dF‘ßpn ÌM°O9ª¤ä"2ŠWã( ¾Ó¼‡½4£µeZè„Þ>Œ¢¥Í>xKÆ2r12jGáñî| iÜ·€ž¶XDé_S7s@ž–èž•шÜáû Á 4IʯËúûªø…Äz‚å&>†ZÅtv§K©Q2«´°ÕÆ»žáŽRaæqÐ^noˆzüÍ4Zc£à¹×}j’nq‰¼ºàÊ>Ki+Ñc+t“ÇÃÙ’2ÁÐ BÕlá3$Ç€AWMÝ'í„Ë’uu7“âB·`.úE°Èi&à¡ü–ÆäIiQ|C wl;ª~…†VÑO† K¤`#oßÊ̤x!›ÌYo7œ“7o"Ï:ý†¥´™Èœ+>ÆÂ5÷Òü×ßó¢:É=æ×X“¿³Öd¶Õùþâ”Ï.ôŸÉû˜`áäŒí#=€‚§:_Jˆªð$dl’Šv7X`Á \‘ÀB g?=¥û¸æçØ·™}ü@+SjH—" ¬{¹2 W 9{Õuâ…ÊÇ5i±:öÛ©[Þ¯ïBÓ-é__"nÞà¯J÷ W&K1É\Jì“!ªƒêâÎèÂ/ìmge…I~1<ú°€ a ¯ù˲ŒØƒ$X¹…Ï *ÔÒFú<„b= +8°Œ›~ü¦ßêŸRňĭy"{è‘WtsyÁãc'Šì»ls…”µ;`hü«L¼HŒŒ¾- /Q#´²ßß´€ÃØ.ÐS¬9êŠ2P•óS)цè7ÉÈYîF’bqÛ€§`›ÇNÍû»ÔP{¾Ã0cQœçß?ÚÔQ²èzÂüC~j~+_J¶^2Dü–ñö} +s®+î™ë¸¦‹àãÅ<]JÓCþÛõÝTÓ=ÇÝjÿÅÓ5IC‹ÍW¶S_¯y¾Ð*1ÁPax¥#%^u´_쟛òͽ™Áä–ú¤CÓWeA2;®èJL…Àd¾+‹⢢+pM€™òâP‘^BMwË#«JÒ ¢Ï›9ôù6û´»@ÌúÜ£Áó.¸ÎpºtÙ‘ûؤy¯¶H¸”lÇZ† sÕ‡îqâåé@2Kî º%LÔè>=¤Ï é¥ãû,VH+%j#X8I~m¼mÝÌgRRåÊE/y3ûÊ &¡V"O°Ÿ¨1:P£ƒ×)am@| +„iôß@»åq—Ÿ2%mËÍ GìônjåêHõ¢cû†$‹a“}”aN+qþv^à‘ý½-,¦ÊbŒ—“¤¢¼·3‹\lcÔÈâçJ³²¥¼À¨+F)ûÂvK«û! ûµß®ÛUíÕ†u“Z>àÄ>Ы+iäWä¡ZÌJ@$¢Á;ÿŠᶫaÖPuŽ}®‡W¼ÇA‹ö—kuá|«ìþeU…P?¹Å6¬¤íp²^è!5wasÆ÷+ ÛŒ~Ì&”i?tžàQ×1t•íÈ·Û~­"¸€BãéJrIÉAvÙr೶øYRÍYÒ`ÁÐYÍG¨¸„÷ÁöS¼l”õ®‡ÕCÀ¿uù×JðGö/̵-¿‰rìå ТxÙ­WÀœEë—t™!F¦Öá6’KS>M–Ø(Þ‘› Ð~ÜSx6l)Ò¬ÿ4Rp€nŠÙm4x”$ߨS6¿VÆXïvjºg¬*qñ·!ª˜gp»›ˆM³SŸðqo´ß£|°8¤úBp¼m“øË{D:Ð’úœ¼z©“à…×Üœ±Ëé™<çS"Ýö8i^ÈEõª5ŠêÎXk97äFò[,ãâª"\–¸‘Š1‰™lA^Ád1ßf_7ä¤ñW ¡ ¬bIGu3KÕ¯ HÝ l†±$ÅŸQšj<ë*4*xÕKj=,O›Mð¶}õV›±beü¡qOð¶¤65õ„ +ï‘ò1‘o »q’_8"¢z¼¾þ5LÂsß;k¸BêCRlïÊhG?!h³ö +Z‰™¥´âŸ׌…ë&°Á¯H^¿¢øÉܖš1pôاL|H '.oÇÉ—ÞâchÓ°-î$4çîð%°3Œ`D¶Åû¡:ІõT¹yDzÑ;^¿zn[¤üp²YÈ×C)-Hx;OËhÈ­(½!ú劯ðBT?ßóÝ=_`k•“h;lY¬ "VàêR7zžÉ/,/‘…ãÓ+±Š?RÉðä~„Ddʈ]Ç©RÇ~¾: „”'»3ÌT"—hnM)Þß±cáà mLñï&hT5Vå¬Ï”ØÀ +EÀÚÃ+¼²½<éD—mXüø& HàÈ:÷4xÐvË Qè–åéãT‹5£~™1ÃÃZsf\UCó&ÀFÇ{}§],‰r;\0õH··¯w.@.‰Ò! Âk¾Í–tOqºz¯¦êßQ%ùù žtó!ÙDk´ô¦^m¸·<'çb¡ÙÝ Í]X¼ôaÔ²EZJý·Že`Ì•6µÈ0Îeθ7®õ0DÛÛãtg^é×ìŽ)µ„r¿bºG’ºÄñP?Ñ@NcµÍõ]Û;g³ïôöäÁ„IuÀ@ÜÛ› +îkD5ÀE›¨›ÞŽ)³]ÕŒa½´¥íOԡ爃 LMŠ×i´5`ží'ðWU ýZç s3vÝJ•B~–èBõF)*$mé©ny] )·Hh†òê ÏÀÂ?°§ž€H!Ä›ÑW•U=D?X%a®¶Óô¡^y}\± à ¹°€ëÖ‡ìØ嘀õ§?êa}—=™$ QÓõi&˜w*RúMÀsúS –Óíe;Ç÷·XIÞþ¹d¥ÖsÛT‚^?÷ÕÚg+Ƴ…ÅE|6”_J׬åÁW¸D¡$íöŸOý›=ÏñÈ°Oƒ̳ӶE*éHˆ‡¯bÌïÎã^ Rˆcs`'ÍŸ“U£ØÔS©ÛGÒU¼I |]Lêû–"~Ô©½'ÐìâTu¬É Ì1Qè˜í Hµö—ÍbE)¯j“­áU}‚¬;Œè\Q ™7ÏÀé÷¢Š5¬ì’qÅœãy{fï–Ò#?§WÌ÷…–¿„UóÝq¤¿Ò-íëIJs ¥îÙ>(ïìºS\SQ>6h0óHí²Q + Á·¶ÖdôùF¨JÅ(Œ`ó1Œkvñ4¹U¯ÏWsçý0˜i¿B £+Ø9n.½ËÇ‘&4ŒÆþàõµQžéÐ`Á© Ýó^üTŠ!Пþ¡çCGŽ‘edKY[JµÌÉœcð +k±ŒÚô:¢Ç§ +$Ó[äyÙ4cFöCW„Å‘gxëœsðœº.¨ÇZ¸Þð§ß>ßЕ®Rñ–=§ßÝûè4œsÄfqIÑÿC¢3¾ëË)²­eÜ‚»ˆYpÀYlCY!j›¾Šù> endobj 722 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 723 0 obj<>stream +ßî>/^÷‡' v¼ìÑd=µèÁóÆ ?jÛV.iŒr¡&Bll”ŠmJ%ÿ©7|>°Pp…>;°½”Ï.ŠVç€ +>Ï£D·m:샱v¸w\}#xð;T¶weL¥àg©Ûøs6" +DHè¨ÆÒ2¨{¸÷ïüÚK8(8¡grò‡•ï HÜgPËLìtmEê‘€g<ò£ö=›ön®Äñw‰âõ;‘9Þ¦îÚ“¸ÕbÂ×J¸Í‘a˜”z|)úÚ”&Q¿G ¥Ð¹¦ àS°èù;€ðá—Ð~©qƒ(ô9òU/ ¦[‰45jˆÄ\…¼ˆ9ävw‘GàMÜ; ¡®à@—8ûñMøDYYÀ:8*–¨:õÏýæVÆý|רùtÑhÝj•ƒ—B®Iè€2ÛÝ)Gg¨–ÂÖÍIÉù– –e2“Ø‚¶h†÷;aGO±›T˜,}zmQì; +3Š¯œÖH`¨ e:xÁê€òæ^NøœñV6FÞ»jš¾ý½ 8=œ½;7¨™ñJ%d«Ê4sÁqU…r° ­§fãŽû2o²Þê$¼’¿XSÙªiå9Ž7¨ˆß—›Vq:2á]…gFÃc“EzÙ÷H£B÷¸Ñš ukªšy!ï+Zxµû2ëîC+ø@˜ÚÏ/Ôm!0ü ²ÝoâòÌb·‰=Æ£Ó…s’XDÌü§3>ýB•ß&…‚þ©i¹ØÄ kK©|r»Ñ§öû8–°gúÜÅØX_S¢´Þÿ;ÎÚìåL"”anpŒ§4^°> %öTž]«ôVXCïÈÛŠvù‘iw†‚]²m5àC”¼íCwè†2QÊJsªcÞŠ¹9MÛô¨-¦ÃóuÍÿBAýWcÖ7¿‡gŽÏs™rçd7U2‘ 67WżëD‘ Îæ)ÕU4q_Z8 ·l &ïTbžäv™Z-%r‡J%?Лéf¯T[j›¹ª¤h%uÔ:âÄX&°¯çiSn¾w0‚s.šæ°–QíU‰H± é^˜^: Æ"ÅpfC§bQÖ;«mcj¿tn}yj8Íp¯~ÄvM8±¡–ÉÄ„ltóüèZø•«¹ßæ“3hmŠìöôõ{žE8zûû#¦LÙz|7ñ½úôOÕ¶$+Êq•·œ8h—J¹®þ²èûšuRÆd—_«ÖÉEiA·Ë3o÷÷  Wx·8¬Ù<Ú'tÆØi;oZeH{nz/Ä.H•kØ7hÒ—Ÿ¼Þ- ã°¶œ"m‰{OeÖ!d ¢Æj+tÌê–7ǦzõXtgZÄwX&í …›LñWÖê·5µ° +¯H;¤ç£(Ã:çÊÊÐ/Þ0 Ê!8I–Íï+w7F +nõÛ ˆÚ×Êo(ú’#4¡ƒXRµ"9¼–WÇݱ‡c{ÆÜzßçô¸™æ8G0}î5{ãCûÏ[©véx7¹TPvVØ7´iœã¸ÞJý´ +‡Æ¾Ë„M Ö®£l½bìôbÑp ­$Ç‹Ÿü6$\ Ó‡ï¹ë C¼ç°Ä4Ê€„c ò4t@‘žr ôÔSCøýC‚F~úÇ"4–©v»qŽeI¾˜÷qBodiÊ&—*=—Oh“3—Œ0Û¼C±b™b¤†O­Rûéíg,F˜Ë Îu{´ÀK HûÿÒM ÃdÊ4ˆ}ô«¨€åuâÇÿsIJÊ׆=sðÁÿaYcÓÿ[ ›2a£ sÝq½Úáž ™¨ΔDtÅ X‡e°”,Ê_;ab¾ñ^IVX¦›tC,(ŽùLÉî "¿!Óñ…F WípwméÄø%îÁyMˆÒùúEœG?Ý«âƒÌò=:uW¯¿"!šçxßÔäk1‘0Í€Iîe Áv#(èÓqÆãÀð`¤º /²E½…y¥!—m1à»L¸¾ï|»¥¢Ÿ&禘Wt]Îp%D€¼“‡:3ƒmZò’}A­T”µè×ÓêûpòëJ‰¾BÑM–A £†—©“'ïŒZþhz¹MAä¬ê­ž(ÛÄ$‚ÛNÍÐîý7ÐÏzï3p ܬ»=ò°³¶'v/µ.žNö‹pÌz‘–k€ +²”fªÆ#ò$œóS·x0 +×L¯@GêɶUÛ)òlç›^É`6l…¨Âµ?-#—Zoªè>¼ÂP §fÞÁ2í¾„Y‹¿Tˆø5t‡T´ÃÉ2ÈôøT¯ÍofnÓ+²D4©6·ÅÞkJ¬-(Úúr7Í®õ7t÷éñTÛ4vñý)^‡‡msƒìêõµì’USz)ãIO4‚ #p€± ©V”!Ë›cÂíi˜î+zΞôàɉœ¨ã”ˆ¤ò]óM ¹ÄWë÷ø%–\ä4d"jº†ó´êfû•ÿ©{Nçv~þ²Ê÷+ ËʜܔkçÄN@q,Qºy5JÛ‚32ã%ÞïÕâ¢c]gL,ŽÈ4¯à MÍ%H]qIäŽÈïCÑuÝ/?`øD${˜ÚßJŒ!’ƒCë€-ÃiÈú®ÆÝŸÒÁ^yx˜ôØ·óuX¡‰KûòOz¤Öi ª•™‹%Uv©Ó {B²5=%A:»óÑÚ̦AkG;À»ì+|yHá¶"ng«•œèÊ)Dh.‹Ü­ý]ôy’Þtʱ©ÏZc›|•÷3ög–â3ÑÙiâv•"v¡¨öVný ¼æµÑ=ÑíÃÒ²úéUÌùg¤æYH­0”²ðÔ‡ùŒQš»¢8°( 㪮*ÕƒfHël·WÓ9r0]£²EÔhngî—›hŠ¥}Žµød‘7H²&• XÛƒ¥E‘˜ÎÚæpδÏ0¢ÞÜÔ€Õ +÷.r•¤v¡2 Pôä<„LÚ%BVŽ=Œ¹á +öÖ›®Á¡ŒQ²¨“+Æ0¬„‚ÙöA¤¿H„pg‰ ü®Øù‰½·4ÍN¸|–pAod2C„_"»ÚÎÀ³:å±Vó¦"$†or¸?üøH5±[.¬óçEz]¼‹ant1¬[O®Hé \qß™›i;E$mïÎ4žÇêZ3ˆL8EȺ—Â-8’5íí¹e4N?ª>vÄ,Ï_ÓR8½ÁD"ݧ“ð¡ÍÍ_¯—ö6›7h¨3œÏ‚”Dæ˜Äëè_è(aðïyoÚü‘ç‚ÁxÂ=ÌAål¦‡á‹þþp±+pßû|,wþ;ðÚÏ}úÐnx[¯š}:øúËïçúʼàkGº6ýv ÆÀ—þp¹U–¾‡){N«ôá3ÞȺSÌúìõ¥À’tÒˆjV‰á;î ê$¥ ÜÍÄjã;.ÿý„é™”Ywj47m¬˘ÈèËXTðV÷s1ä¾ía³CNbrZœåÉÛ¨uò¸åšP¶ð|™¸¿˜5Ì÷ `ýd¯ÜÛãчVM“)ðâíûjôµ ¢ÏWcâÄÕ™òøµ•¢°#TÓáW"оHÿ+ôqD܉ä0†ó]þÄ…(nÓ0ËØyÕç“e€"QV†ßx Ċ³=s6 )Ë–?:\\GMGHVß5›lZöºWãÜû³2¿;2ëÜ!0ÒÝÝ3´Ño`ˆœUÀøîûÄ1hÉq¸¶ÒNÃ'€32Éõ +˜Ò3¢ñø&™ïž¬kêl4³1ÿû–æ ´\ü—983ÊŽq"ÉM@“ø?°VÐèûpg½iòñõiªO88ŸÌJ—Z0ç½Ù©×á§QS]b³7’¢*äjj|øõ^O?!#Tšä(-l3xïS¬ozÕEÌrÌÁžü®éT'ªÝŽ‹E¨À¢È–''bÙÔôÜÞ#Aĸ¾œFŽi+6O9ŽÚŒÉ@{AÂÔ†[*‘–pM¶4IGÞÓ˜î§:uS1C›8ýÁ½ø ³OŠ%/pªnãVÁÓû¹´|Yl€{i5êÀ¼ëëÑÖÆ5úo WàØ*N¼¶­‡ËÏ&8Kd¿bƒ»3ëÉm_  Å¢VΚ}5Ûï4|œ­«Ÿ;ºÇ Jƒ žm¼‹ðu;ân +=Ó‡Ñ 2€dÏ9–·£HkuÏŽyí²‰} ѱ{§å2U×¥4€š[‚™º=uƒ»WÎÙ{ÄÓ×ð¹žØÌ'¹Õj¡»ºb0rKŸr‰§éôUËMÄV­\* `›;Ãj¼øˆ²JãW1~z³ƒƒ‹ëV‹¾ß{"­fêpšŸ,rX`Ÿ*~¬„òÁùc*'œl‹G9; +Ë7 7 Þ T_Ö”ÜðÈ69š´6>ÙJÃcu-x® cIxg¾C|É:íø$Õ a{Óåˆ~-ë¶&¶ÚñÃx'ÿ»/ žnHõs¿öÕ«JõU-»^ç£ÈAÝ™jÕžÖš¶‚Àôß5§ÜjØudXF¯íù=UÕZ\M5tÀ•CÈDR1*†â7jsM¡í‰>ÉÏw¹Xñ(2ù>6åÓ«÷ÎŽ*çZÀžã›P7n]jëþSU&jt2+ái½ó_uDîyg@FÀ9wX1TFÙ[qu\;P’Ì’ð?¬È+jÅÞ36á¯-0îû¥ ò¬&¶+cÐuü&SOê!™;žÀÃÏCg]>"̨ÑAÈ”'Xr”•þ#]<œ¹èbŠßÔ{ÕãÈ.oL2´‡Œ²Y4Õ.óë<÷ ‡íÝÛ“ª°#+wAÚ‹e‚_L×Äv£9¡³+æÖâ5~¡M/ÔI$¤½úø¦ïj¡\*{@éYÆÌð¯·)È>-Q#¿C,¨ +gzˆ#ç‡È;8:™äŠo·ù/±ÍÒèaæª0þý¾‘Ê2Y¦øÿù½——g™Ža‡€Äû³›| ú" + ç6mp=0Wø\‘_$+ÓÖJŸ¡?C†v ‚x›Ç\‰A6Xtpæ8é ¦yØ‚A´÷äø2­!^ôa˜ê)£¥òa1FtتM$^|B¦îI[¿d*£×yß‚ +ˆ¨Î`+Ö”VHÕV"†¢ö« *¡0}—ÖÝG¬~¨·b—ÿRƒ_Po~8| +áåp$'à­dN]Ç£Æzû+’DîNdñe¨ÙrC7‡rÚ!ï,ä -Z»U +ºl Ñžä׸/¸"ª„¨ŠÉ<ˆ2:£šæ¯}¥ÆnQŽfYÝ=ØB`º‡©™Ø)‰A¸$×::3"稼ka K2Á¥/Ø,±qð€ê'¨»Ó»~\nÎ]rÖ(4ÚèUŸ×”Ù¿C8.ùéÖ´ºc³:ð·-Uþ[å ΠEê0R¶먿êÚX¢Ô¨'¸¦('o—›Bu>ñÒäQ¢r½×[wp¹a—Eý)ŠÕOKy’GÅ»?$-òÊö»ß®–o€>"šü‡Ç¦vSüW²|"E„±Wö»ïÌv ¤]Ûk|·bWjnòMv=íºsÑ|‡å¥Ê–O>ñô|ÀÊB4ŸàÑWǺp¥J²ÜÚ6{©ò"Ž#e€œÉš, ÿþ›g·D(ìf£Òrôbª¸ð¸ +@ÁÄ3Ãþ¥4Og+ŽI/-½Š±C[TÉs^i›ÆuwœhÒ’Ñ8Å͵’ª Nf·L`}Žâžu&ÅR^  £³÷7ÝNu}iÿÛFk_=E? â°ÅìõðOqwÔ˜@ˆÓ¬›õÄäK¦\(Ã0aÞM—Ïbòcð¥ýî½Hö”Ç«q)ÊëáóU…ïJ11|rIê˜W>€Ž»ðo¹ù¼’¼Uß>Á×°ªé»W¡|¯&¯ª4ñVîü–kDîãæ\_ªÊ¾j(¶ÝÆ÷"º¹…ñ‰j0Û‡91£`˜’àéÞÊå~ÒÜ__«jA—–i#ïô°ÎþÍÉ3ãZo=~?¥ýØâño㥠LƒTÍÅq|Ù_¨¶Û Öôu÷“å>×…'P_8• ú9‚¤Êt¹íù¤wÁ3̦xod <èXŠ’_iÚÍâÅñ¤¾Ï¥`î’,óÈBwÂË@Eöak× f‘ÐC|ò[Îý·ÀŸŠÕWGÜ zìÈ÷˜¼?+åŒ]øðÄmº…ñâH]a¸FÙXYÿ¶±[›:@Å¿+N”)ƒ¾¬šÚ—”ÄW…°YÄ×7Âus†L¼lÓ¯và á#°g_ð Én¨/jë³)G@ô¡Ž§„gøCsHà^l¸2q÷kyßWFªñƒÐdLõ>?.Á{ôpzôIJ9€æûhi]W)È¥“#p>£©–¿;FábS£w’·3 &`!åÈIvÖoîºQô£ß)•PßmPâ[å´Äñ/š‹Z^àËezîK~ÜÚch7®¯©dì| I¥ã Žù‰Ï¾Dâé'rø3sv6qgé˜ç…H•w;ñVœSWö3ë[¢÷H(ëäx$¡Œ)0âðH*UfŠ»éÖtÖ4z"=ÔÆTóqpY è„ T"ˆ…¥MB îþnZ†ÆбÌ:i·b‰*Í‹iv1ïÑÐs<¬æºG˜'ÿfqÎ/ +endstream endobj 724 0 obj<> endobj 725 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 726 0 obj<>stream +VªÞ '­â|8ätÕI¨·1@§æh0\QJ¾4œ–Ù­# Ðv¿ ågÝDøƒ¬Õ›à6ÝE*‹õ•tþa·´ôðÔvÄÂvýÍ™IدuàÒ¼×9Žö¥.ã½?ÃB¹ÂhŸÙ8¢ÃÁSã̶D&‚}"Õø1sð{ £óŸJNTEZîƒbß͜꽺¯BÐÆÂíå¡b¸_ÁNxåÀ×ýl·P M–à”÷ +L­Æm:Ö/ÍÁ <2ôƒ촡 ¢ëdˆ«².ûZ”bXo1 îÇ?\'¨Q‡ÊusÙzá-Œ.çžÐ—KÚ-—צN…I}‘¾(¼RíÞÊP{qÞß‹9P©oËIÜ3P{Eàâ“@¼WGåWøEØû+¦‹pÅVÍÖÆPšæ]¬Òz'"ï«j +þrÒ®Kƒž.FœÝ\þ Ë%¨½{êÃõ!f>/ ¥ OÝ é¢â˜î… ¾Ÿü,8Äú¶¹˜bú…q³EÿÅ8™€|ðêå‰füŸ±¼C÷lûØ Ê¸ÖƒÌÔ8O›ÈZa(j›Ê'LÃÎOý¶ù”|A¢22èƒÀÊâälЮé¯h‘GÆó:úÛdyYÊ øO|€Ó:ú„­ÿÅX85ªuÌ}i^<²˜cýÑ‹éLºb)VY>ß’ŒŠ›¯XTk‘–&9\²u¯»A‰¼ÏöEÁÚfµƒü[Ú3‚ñÜùC½3™¬_Œz”M//À„ +šõ·ð‘‰—ÆŸxpY&{S¡”’¤¼-®ç‘.Üï ?¸MamhEÙÅ.U˜È]mÆÛÎÄìU3éÙ­òR¹ÞœÆUøM +ìíã|Ïö\'`Ñn[¾¨4)KLýݵ=Ç…¼‹¶çÁšÎ2&£mÏnP˜K:së’ ‰iѸ.ÇŒ“cŽµ“óÌöëbº}‚3ú³ëd¬† +QÁ;:"ÆAß鉚~¬7Ë–ÕßÛÊy¨ÇP±YSC2"œ»úA”Éü²‰19 u”vV5m(h›æ×¾‹ž4]±› %?%I­ÿ¬ÝÍÏûSSvqÀ7eFêEk"ÑŸ§Ä~ ¶K¨¿Râ28Ùñ ÀÓx#Ŷþ.f_xÏ0óÃÊ„]¼‘”^Žnr\þÖ;ù©¢:†®@ö&àô‹{ÁtÒsÊ_åc—Aºý£NŽx8WUÀÅFÞSÅu|á’6Ûíýmn (2z˜Oy ]dü2sº¤ºJdQ+XN¢v”áàŠ[û?²,hpLÜâéœr©kDp;Ó?‹Úîü”똓ÝòÂë‘”"õ÷óCÒâ°eÖ5Øob±]¦«µr·˜2‘m>bx˜Èöž'½Q13ˆ> fyõ©Åñ^O°líu^ЛFµ™š±aº eóµÂÞ)™gg Š]19rØKÙ„*ßëT¬Ó€ý¸ƒ¬yiä¸4piŠ›kà ²Ú™í ë|]+`æ•¥ŒÝºyF+ÊïGrˆ=¥%Þßù k…f»þc=ã\æH ßþÂIäð_=íLW®Ž÷êø†}Â)X¦¸º‚J§úµ—ð2ÖŠŸå[ï·4/¶w©m(Œ¤Tÿºžr®fgãÀ4¸ÛÛF´G ¡2äÞRÀm¼~±DØä‚ÇL¤zýibЬ…ˆäCÊ/°¨Ku­LndT\öj›Ì²'jå9 +þlüÉÞDÑ×%¥Í³7“Þp÷£©Ä¦#›“§ÓÚ³kZ›õQ<äGôQ®Æ™§ï1øz® Ø ù•Y£7½¿ž<‚¡æ‹Üwx¸-üÍvx%ðk<7Šyqì4O˜¯1œ¡ÝX¹1µ0êêúÛËDzM;Ì©[þjùMkh}#:oÁzÖj_' ^a\³çfêq†zÑö^Ò+ñ£¯´b‹Åá´tŒ´ì5Yð HƒŸþP^6.À7q)y|éWÎÁZ ßn}iÈnÈhëÚV;ž1ñYˆÒ²‰æúF«¹’Y ”EÚ%#Ñ: Ÿÿ.¹MEê•VaKžÔídaÛvôN‡ˆÄ‚·Þ¢ZÔWÝe "Uá‘þúAZJÒ-åµaåò,øÙ:˜~ã‡.¢Iæ+"q`}WÂ+ñ¼äç¦4‚ÝâÁáGŸžéŸhw¹Å4/ôW´†ˆ2y€Xƒ¡+XïØ]„+ —ò»çiImF±¥)$ú2IÓÈ‚—n'è©Ïwà(œ•LwL´V-yÃ#}ktW¨¯ø×Oß`‡Ý³]++ý Âm,™°©uYVzp£€IýÂ4ÖÃmhjè%„êóêO¾xOþ‡¹™‚~6ä€_Ù7|Và²g Õ=ùžæ=-ÆTLú+Q6úÊ‚wE¬ +¢±´™}ab #—ÑñªBnÛP†ÔÑþ,GýTIÐtâÛDÖ3t¡Œ$KJ~K+.ÿú<·£°wé%|ÂÉöŽ«Å3Äî’&Öг>pÑrè WD ûÊœMù[ÀAP +8Ìβb +}Ï#ÛpcKH†õ¬\üÆ–OÎèM«!éR‚èeÂÚ¾ïbÏ^«Uã,zžßÂÈ7è…kq @{Jò@Z5­›Gá·Ðaõ0;ìŽçY@ð%²OÖ:O‡þe,OÓ—nõ’¾À(F|Ýì!­Â?e%yA\‡ÖƒUžÃðpª³HÌ*ØÙ§Çî•„j€ÏYmœÈˆ-õOñ3WÊ×U˜¤ªSMŽ² +ÅYô }zx>ÿX_¹+g+ÖPHðüWê³i¤I6°aäñn~Eòÿ®\“ÒüÎ^âêB—ü)¤ öeEH·Ðì'zJ¹Úöc¨Sé‹Ï°›‡ÿÒ‡ÌTÉx.w-ÑÒH¯å£Ú¯ÕØIj8ÞGÑ5jtÀÖ>qòÁ°ê1ä7q¯ònÎc¶ILZè +™15)ìÏ9ÎŒ«Ñ;Âí6d'2 ÇÑû+T TÈsžC±¦¥úÆ ™êâxTÙ}pÁÄÁ-SyУLŠô•såÊ‚—Ÿ¥$Ĭ‹QI4?ÚÛwüú…ž½ã#U ¦ª¡œû/¿?&¿Àϼ)ÖkÔkhF‡¢´®Ö“ô™ßSÖ—b|Òö?ÕJº¯0(ø¿ð°í)Þ†‹¸Œ9$S4"XôtâP•…&¹—Â{•Xª Ú~gò p’ˆb?hó Æ9~ÿùý_a®–LZ¡¤É’ü"ÕÔKBâID3ÎÛsJÍ7ǃ§¬¹€ŒêYz+ùÿ› uקeÏ8$#¶k¨Mè(IÍw:ªUb puYW9"Lyù®ü›è[KËcÈ'³­u£œ€N5b´F];;¦Ú#ˆD/’®ØŒÞ+“_èà¤ïX þ×4JÑÉÿ\‡bÒ*œÜ¸8ê4ô²óâ¿œ¬ý¬"çAbåb|¦ÒmB:)´LÇ—÷Š"M„a M¶OÕüç"Ÿ°µît•µeãfH$oÇG¨`l3Tæ‡÷sw½”›ø²|ºNþ“Àgc†a-O:e¾«3ÉIY>®Z s*òÝ‹X™B¦vw(#ÀÖ–jÈëÆL·x ²Kž_ÖMžƒ¢Õ¿xÄ ÍôM³E/‹‰eà2,¥g +·œž‰å€[8ê¤[mç2Me'(‚µ{úo’/¡œßÜv¢ì`Z³VÛäç q¡/˜0¥%¯,¬l=~¼h\j›­dܲ?ö¤Œbl ¦‹ïýãµiê¿?“Çl¦¸;¶öйQDt0…c8ۜ҂7·Ó#&+O™êß­ÆÕ”Á¤l]ýi€í:Ý4"@"¨5îþÞ÷YýØf}&ÄndíÇäš²FÞê¬ú%{Nëx +Àš®$–4Ú£ÈR;%­n’xëº5l½?\ó%»©»ÓÒsêŸÑ½E³Údî”{¹«GüšÓÚ¾ãÎA¥”¼2SJÁæ&¿ÑÒÍ*0¦H¿S[YwkÒI*cƒ¾ÃÓ>§~&¹ùþR¾³L•ÅÕåg7èZî¿Õ£cŸ€“y]¿«”·Å§ýÍ©i;ã:_T#Fë® ƒÃoŠ†È +KªÁÕ*§íû)ìçIO¡™°NÇxRÆ[Á ê¤hÒÒDrº* ‰AûÏÝž~òlæ•O³wÝ;Å´•ËÛÈGéó6ÎŽ¡©ÍbH†H9˜ò >ºÄè¿è›m2é7ãÓ~¾Ò+ùx’7wœõÒâ`èѽڤÙY|"œÝ›o³®§+Î䣡ÃC!IÒ½!Tˆ¹ »+ñ% šªpá"ÄÊÜ¥§ÐhqÀ[&Ôª·ZÉÈ*Û9ïæÅØÚ3லÎ2#¬.Ä»š/Ô#ëPÅcÜ,Þÿ0iáÑ羜N:{ªB)ËT1âºnW,o„òå yÍòûéiƹèν^èÝ 3Ë`Æ‚Ñ^u²!§L@€ +7õawËB’ÐE@°‡ÍÖØ ';,ÙôÐd hà += Í#Ú’:’Ó¾z™s„•¦™5ös'ì;ÎÎ?i„‰O!å|þÕ”€Q”.qšÁ–+¹'R]Ÿ÷FhrBïÞ‘œlÌÅÒ‚ >áÜ ƒ¨ƒý7•8ô{î%‡@qˆýù0ÔWQR‰ +£ð¤  +ˆÒ_S¡kóº ôŠÍ¦´tDÉM'1«Kd]Î=|X:.i= +›dªý»¢‰ö´¨«ýD™€×ƒhFq¸­x'¦5|`žuýFd#Ç5)ÃÆJºB3´‘þK>ðá\¼¾´Í›ã³;[Õ4ßÈ9/Bÿ%q}û +Š'ÔÇÙliä»ÀLvùÃ…ªF°WºKeŒ†,Øʤ¥š±Wéß²ÍèT!#Í=ûùl÷®!!9]D´éÁ• +÷m€¡²Yéq<!7STîË5½)‰³fÞÈ:É»Øt[®?“·¡äÏ'z—Ì9ª­°9(mu¿0èÛµoðádÞŽgî>ÇΛ8æ…¬$*Së :ùó§,B鵓’‚ðÖŒ'aô”1kf\K¿vH'äiº|/¸ ½ýÙwž£‡£ªiäMû´óÔÝcå]ÝÉ­s°TË£üÿ8J+KXoË.=`qÓM",ìoíà¢ëŠb‡­÷Üî…Ï–Ø’LÉÝvîÁ§(¥x{(gâ³Ì’ó2~O-XH’nIIHÏA€?~YÃ@¸3x–¸‘L]_ù`˜íKq.¬Ò‹Ä¡Ε<}+¾ÅG!$½9S·Ù‡jnsMc_õ¡d€¿„€a´¢Kˆ +B°”J3¦“á‘“ï’ Œ,PãCá¸||J”È<¼ÆÁs‰á-ËÔ¥û²o¤´3·mÒàtzŒT”Êuú›{×d(W e& w„ËMu%ûž•ÈXX´Œ•dûèkž^ÿ4@Ý­ß^á™ÐÑ’Ùá­Æ3SÚ±¾Tð»ûã+m¨·ƒ¿(*UæÓ7ÿ`éHÝ-¥._Cﶦw׋*P½uýI€+¤±ôÍ…úÂo.LIã¶çaÒx Gn.EMàü¯b,¼>?•Za!IÙPÓ¤EÀu¢4dŽA£‡h b;^P8T#-px`rÒ•xLÒpÛ\¤Yȱ¨=«†!mÏ€úƒ…4Øv{ —èÆóM®ÑüYïxì\IjJK©ÍTïéßÑ?Í»ùçÎ¥«¢ ‡+ˆÊ†õ* S I1Î.¯Ÿ“kßÓ$4c°Õßãò ‰øx)ØÃy´AEžÜ>®úô¸R²eÑ/Dþ¨ƒtË)/ü*ú:ñ¼éT€ÛÇÊÆ„§5KR ‡;I>à†°Ø¥Ò§¾+cÚ2²lј—VÍüi%Ò*9œÊ'b +>·ÉÄ]Ѥէ|ŒãÜùÚJQH*iûi?^‘ˆ1 Ìúw‡^GÄ’d¼Úø°L±—mp²ÇúFùÌ*[½+–$àÊQÏ %Ž ¶FV€ß´…c¡! +¥n¶„ÏÕƧ°¬ Áêëî]° øÄWœ±÷©Ý[.4wµHhýlÎ(¶¨—âŠ`?¾µý_¿ ´I!0Â{—†í,*tþbŒ”$ýÓ!… šUýÞ%C'ÊëŽ9þ^^ãgr¥7 B&9noª8WÇ6ÐåóTÇ÷a\³‰?££Þγ)zFð·)Ùì¥É›ö¤,*¡rzÞí}Üã‡K6¯ÅDÔ€£õÛªr?.a”@Þ]6ø±œ§ÇìâÜÔ×ã~ÉÃ=s ¢æÖJX¶£Ü…u c©Òž2ÐJ®í1\+H>2‹A¶b1àÝ‚ºpWÈ#cÜ΃ճÝÍ·G&ñÙä"°œŒª»ÎRD2´¸dLÓ'uÕßȽ_A€ðË¡‡‚íͽ°z:®•£ÎŸÊ¥|l¤:r’8 ;TYÔn4¬ !Ù<îv7\ÒÌ3§dß0ÂÙÎH%ÚøI"×ÛËJšÝgfìi¤ +îŽ|6áKì8hé¡£äm(ÉÞ|Dâ\Ò~K|K5»°:q?ͤk_ô$LtT&L­¶Â2ÏH×?C Û`¤]K?E¹b÷d’—˜8 ŸÈ§é§T«eKЉ“Ö§kÁP˜û –z/2(†]òQ}ƒ+LŠ‘šA›_Xþ¶/Ø,BÈLDìã „œëqw°Þg–âPfaV^êÿ×%Óƒ%f3Y>–õ݉›PJ¡Š&O}%6Ô›³"LVø¹ ç—›E‹XS(˜z(§¯ÂÝ­#²Ò P練ŽdeuêžÛ¿0ŸB@£ '7å£Rž1æl°p Ü A­5És“sÀ©è¦¥pïÕïÙ‘‘ú£» ÿäŒö‹FÝËcâÊ,ùï„|ÔÓ†èD{>ËPŠ“’‰î2„Ì[Gù[ˆå%ñÈ…Ö­m…ÔÔ±´",;OëšKnžpw.­Zà[æ}–:O©?“öì!UØ­ +endstream endobj 727 0 obj<> endobj 728 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 729 0 obj<>stream +4…XkP}ÂA¨¼ÏXÐÜ}¨w“kP‡æ…vðxÌRé(ÛÃÁäkà"šõŒ½žð®Ú°­^>Ù5á%“Gc$/v“>¾¡d{M®?,¬OB«ш>±RáXrËR)QUfPëÃgÏA+ÔÀ‰>Ê.¨ì³~ñ%¬[¡ùG…°×íùY x5p,Þ8é°(Gs±ˆ‹ÜEõ¯å‡ ²gÍ»^åÔ-d•‹ §ßg\ßD92¼¥›S¥˜ÃªŸ‡:ÉÖàфßhÍô§þzíÛï±Ô×@i&x¯1ŸG´¤HœjLåÈlõà¡Šu«Èòp¯…‰Í»ÉÆãsWš"SéX¥¢—‡ÌˆÎ¥‹Ë–¼å§ƒBô–âv¤iNíuó@„KLSs€ Ød5Ì벋J{êß‘•8]|]ÚäM°[ +<(Çqèñt.‚_A¹1ELƒ2:‰WÕ¤fã‹=mËðBÙ€à*jÖõˆ6nZñÜúvNV”ÁáµõÂЀ"ã3ne7¸Ë^늢!Ó>-kŸ0~Ä\íE±[VïOÊë©^É´öZƒð¦åt²$HÆh[W͈ò›Z.ÃÕ}¸/Ï,-¥d ñlyy |Élÿ„< ^` H¬šC…TIsjuC¿šÞ«ð €H*«õÄaGaû§üqrâU+"ܸäÕJ¶m Y(³ÍÕ´ýl$ˆJßSnkpRîŽÖ˜—¥9hn‘¨•„?÷Í'ÆÇ ­œËYþ¨\ë<ØÃ:vu46á^øÓѼÊßÒ_.Ã4KÑrIÒÜ‹Üv^mC5¾‚GÍra#Ü•Ûñ><Ó¯<ËöñyÜÜpßk|JHã"…¦,"}$Ý2õÌqÑÂ4 ‚«©ª’ ¶À«a}l)³ƒ›çò£)‚Ït›¼QÙ+íH¿°6‹ †Â˜gã>'Íõ_Ù˜H´Î…¨¤¬&É (Ná :¿Mò\´•$<¡b‘/¢kmÊóò¶øÎ8û˜’Bèˆí¿ZJ”ß²ðo¶Xë>›ŒI,ØNÚ>úFx'Øx òáÔÚÚp­y¾+çL©Å9gwÀ;ÍzP/bOò,}5E&ʬ,}Mî#7žcÑ{¨ÃHÍ.1W;Ó½ÏN"U&¥{¸bAUÜŸñö +Ê¢éñ¹ 5¿‘d>ñyýxòRˆJHp(ÁÂszØ )“šój¤!H|ßKg_çOÊîÉç¢6LÖzg[ÛEòÁ¤ªn2Sžg° ÏÏ~x> q6›kÞ@k¥$†g9\Ä.¶YýU¤Lp2²ÇæUí?t/g%3fºëž«Ý„ÆmwêH2Ç€§SÁŵ=A%‰eÛî„mE®€’àBÙëíþ´/ϼM&`Dů @l6{@…©2Ér$0ÆìÈÚÖƒL訢˜öýÄ\£…Hlj)©PQr¢îÌd Bi3êÿ,]å½ÚãÝa`9J:¹¿Á¢ƒáK pfλ¦º®˜1Üi_0 &Ø48db´î\¼¡Þ°º5¡:©xpž«Âßï8Û€cûâáqµW刜˜^©BJöê¨Ó•òà%eâ\wu6,ŸùpJoyÚƒš˜*]Ö]Cùa–‰ð>ñg*û òÃwÒôx(ë¾æ4=Ãx£3  ÂTùÕoýþ$_6Šô¦w]¥óÞ3Öñ½ ØP´‘ I”±çñ¥Üñ¹‹ªñ‹;¦q"°¹SíyÛ‚í.¬Zà1¸ÒÑ¥ãlÂtE<Ûr;R¢õÕg¡„&¾Á!âƒ6áÙYÝõ¸nE·€Þj‚Ïêi’é¶Y +k«'ž*P¸P¼¯`už‘£ öH»l½#™Æ’­?º ä…¼*¯Y|]`'ÿ=!î´yºö®¶Î ´@¶–`K{äÎVUÒ š€ö¾îks×õp5^.´kLiF½MB؈Y癥æjá0÷ãDcMö.ñb…08Üœ3ïà ·=¤,1ùüÖÒM+™øר±Uªë4ÙAÿcVÑ(à¥& æëwš1L0}QÆ°F°ëìí¼ºCŸí†B@7¿þLƒkXük;"ñþÄï‹Í–6Ë|Cr@·ÚZÙyº“+S#†+Juät4 Ÿ»ÍzÚ„“ã̳ô¤Ò¸ÃeºÁ\:.vÝ™ÔÀM)ýÛ/àeÁ<⹤&ºq’ü¨Tév°^ôUy ¤á7° à(†¶àæÀ…%µ©¿^›êë +¼®V1/h=ÜäâÞ OŠÒržX|M —` uo†qÊ(÷NÎ#q•=¦DÛªäjVlfÎA ZðWC'åË®'2e®_ H›bûbK=sr’qF=:ß<5Ý´@¡ˆÂé‚ŦڥR…CH4u1n0$ ~èYE½GHÁClîæ(­‰¥°z+×qõ"¸îþȬR6«þ'Ÿ-Æ…÷÷¹œÇ¿¢žŒ­ÊÌü…˼Äæ)£S iïDkA‚xJzkyÇYw˜ Jîø€nÝÔòø'¨Ò`ÁN´ÞZï®y‡€˜O~R|0Õ0Š³ÏµHÕᘣÂÑ{Θ K’ £ˆtË«--œáŒ;Æì\]‘&Lr³›–Óªð¨ä­Çïñæ•×î¢Y²ö·u©5((ß㟇ì_L|ƒ ÜuRÍ^7U«dQk@¦ö/³®¿AÿpU^í—SëZd”û³OpM$aT¹ ®œ´)¢¸v…Žì™dÞhJ¹³Iƒ†#ÛПع­‰Ø2ºÑk§Öø%«‰ž‚éþvÇï|B~>úßö$²»+pÅ2«Þh¯ÉA(J[㻯®=B¦µS -2[ mƪܲ?#ýjr-ŸžI1l¹™Ù7h `÷IÕ1öó1Œ˜pƒÖ7UFZj¹zhÅB¨ É·ùï×Ù•8ÚÆ©|ôÜ´Ðt‘ÉÇÜ9Éþ`vðÞô{˜G4ªÆz§=ƳFü Ø#:3>™¸S›} u_†˜ŽªüCpË ¢ÁNÔBÔ!6®¼ÀAm`7xÁ +Òpý ±ÑÙA’Ù×ÅŒÿŒÒ¿vêó¾´)G²?`ånU k¤Jÿ¦}ø×1µlVð‰8[™­JÝ€»T΂f8,‰ÊÏ÷¸ùW];‘§phËcÐÈAW´1¹ƒ +JYd³MǦÿWÎã˺3vð­·?Íuùà6y¼aZ Ôßld¬½mÇÄÀ›%÷²}iö>Ë¡{s­ ìã–XÑ®Bvn Gi´Ús’evrû†icQ¾v¶úgVk+¢nç¿žažRʆàËÓŸvŒ/¨[q©Šá_ì aóÇC¡ÍYà¤HÛ6¢Šaã§"_»z,î.Ù6ƒ3àBê +I‚×52¹›y`¥„_·Mº"ξ)WTŽ?XëØ[P\>,$­3B”σãòÐJ‹‰=Hwò_y»~·†£ …Ìå"p[Oú²ºÔÀ¿†Í‹Ûª»™7þ(¾³È›qD-Áü9Æ]ÂÐõŠ«Á':±U Ç ôº]RñYw`ÉZ#°•°û—èZ‰íwE[ “ÐçØÄ“¥Ïw@]‚pÚ<’v[ÖÐ]K ¾Ù¤ErÅ`8ˆTH |^$ , Óú]ñŸFùïy¦'­º?ª¸0,Öò¿R ôh ôVݵ²ùŒBfZÖ-#~YT‚î,aljËT9­½}ü¢‡í¨ÄNx5‰%ëªmXÅâ©*;P]îRåäø%ªØt»Ô§ +¶·‰Z© ÛÎò‚è×ðù‚ez-]°Kê=‡[_ݧZÛÆ}‚öÐÜÃ{ÙÍYÿ>QÜ'¸êªî+»fúó4ª% ¹²ÙQšË|-s…îþ_áG }WV%Õ1"ï*uòA©Ùø_}’àd2j«€*p ^òTLFÁ¸ƒÒ$Ëð˜aÁßý¤LÂ\Wg& ÖS \ʺBxfdÇ­ºÏ–Ô«ê®~¥Ý¢˜ÊŽñlÁíI;Qî8yù=§¬ä;v é2¹v¥.?tSº# ·Œ¤Ä&M¹Ö +mˆ·e!¾âoQ-çÑ]íÖŒ“Ô“tÊ>ÍZ °»¡*å´Eµ®Ë­½[¯ß¬Î(!‡AjØcùðþݸýÏù+dÈ&ükv<ž›Ï3‰…nŠ +ò@nQÙËUè„ÏÄáÊ¡Š&Æ­’ûŸIvdèv!:`Vzƒdï!, •k¥„ä)ô%÷oÅ»D6m›¦Ž`Í &˘QŽv—[%¥z_0¾ÆB*QM_ê1›i'ŒçË’$àƒz;‰ð·nb¹µ‘ƒh5Ê>7² “HîH9©ŠƒjÉÒBø˜:’=„[LíÐ<rÛ|’f—”°,€nÅ…ßìØ9ú*j÷êÐPçø+œÙ*S±m?l°ì£Íx?HÛožû¶–)uEÇXP•0Ë0s0¹8øFëiŠ³²eÜKëpúuV”çT2ƒy°¾‘g…i-Pì+àþˆ>DÂ>ê÷v̇‹Z3¢÷íå›—ûˆ£¶Ë™aB{Kuoü€ÂÛ\ ±n¯8‚nÀ$º»øâ|S“$ÃÂ.;áFɆ€UâŒ|ǽa‰Á*ÎÝ•—¤Ü¯Kˆo!!rLÿØÕëÞ„Ï aL}£×Ê*ˆÿmþÈr–Þ +šÀö“”嘫ojoä”äCnå;$óøo”ÏJå<Ëy•°³Ë¿ÌAÒ·Ö~Ã<Ș T´Q›xXÆAÎh;•£Š¤¡3ÄÝaÛMÓô1PUÑ•”’æÖ^˜B•²Œ›tãNÌz‡´ª /Ö0‡›‘nt”¥ÿ³5ÀÜ‘ƒëx`w{ÚI•OÂt1¢ª±°!›@NÉž>…W%ÅYzƒ%“ÿH¬+_´ôû»ÆXuúÌp©Í~},ìÍ_–Ü*ÖêO~: Aá…Õ߃ˆ;w9ѶªŸ«VV,o@›‰~&ýT©Ìy^¦ Q !; +LŽUW0AËVMƒ z”4¿aÎt +ÒHòÿ›ÔAšnuBGm­‹CÅ9ÁB1±.}S9U™%„UÏt +(r·îõR=ÚÖ&ø®piÃëc6„ÏÝ+BHæ"¬º ‚ëÒRk1jÖó0ÏuÞKn!À$C½y@£rÙ‚Hõ<¯F7ε/×Ì òüòóŽ÷SqýNˆÂŒâ¦Næ¢ÚšK‹1€z ±ïÞˆ<,©îAÊØî6í€ûAªàNN–CeXÈžFˆîF¼—§Ã=ÚŠZf~->Þt5/à+àwúäaÍ,æ*F1ƒÇ³ ö1D«_OQ?f;ýTG$–ÍKsÝ$o÷+q.„šle‚ÎU“fqžEÉõkaú³^ÈP‰É¼¢p4_¾×RM›E(Êpƒ±p*];½‚ONkÞG@ôü”ݬ<\AèµÃwùêåSÒ_1cc³ŠXëcsbíD×<2Gn¹@¼Žˆ‹ù/_Õ, ú#kœ¤EZ_¢u®Ä! /ZY ¥[ÃvWgº +endstream endobj 730 0 obj<> endobj 731 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 732 0 obj<>stream +#Ç”«ÓZÍZwâ Š‘‹îÐ û’,ìkóc%’ ,¯Ûu°‰¦?e¼(Tò(»2´z®+¿‡A +ôÉx¡Ôã +ÔMûÂT:NWß÷#»¯®Þ º  4Õ^ÊL~iÝrAºG3Ê¿Ÿbhʹj_­ÂŠÔjñ,Q†D!V„šph WË3ÈÛÕÿÑàÓ?'©ZVç<7y\&êÐûÃAÒ—«œôâi>H{MiÌIMœ†dY"e¾Oc?sÞ°0¤¬woz©/#¬ + DŠ¢xâÿy‰$a_> ]üÖ€ÊCZÌÛÄaþo†ùŠ0>1¸‡ s¢&k‡Ÿ" +3’„x|s€çó +qGôp{g­Š#Ȩ™]¢ºˆ•Ý¨¤úÿÝ»3)™1³ ©ÈÏÚÙP•ÃoKWj£ò$$ e¤ M*<¥⊢eóË  ×A®ùnmSòÀkͬ‹8„÷xô³S +aúQqLäðý&È3o;ˆGF+[!óŒ“ù£x^ˆEd‘³Óqæ_d;'5 ð@~šÄcÛZ¯$á‹bxˇÌne'§>ÖUzXà- 3üNt§·œq†Â•Ú|ŸÍÁÀWîÔ3w ÆFœdh€Ñ1Œ DI›h\ø(EΫŒ­Oh­6©9Í0ú¡"ì sX1ª¨j¿“Ãèš$š«R‚EÝ,Á{y-èªÈJý©…zµ»”_×a-ÂÆ®ùƒžÑ(H¡‚{-ÐDD?¯Hÿá¿xónÏZ{U‡3|""‚Š6EÔC+ñÙøu!ãÃh4maß„$ŠÀ²Ð›WuÆlÌNÊ`L%A«÷Wn·\bÈ/ ~Tfߢ.¶ToqM6¡Ïmɱ*Ý>p—9×s"›–xÖWN¿á'ëYž3ßõÑ9éBÿcº+yM‰‘SÑ’Ti‹ßc ¨&Y°ô´÷o‡Ôv½N+Ž’¤ÐVb{.«œ)iI&Љ/Ù~®™¸Ú]F–NÎSü 9íTÈé´lÇ© H]§*KÛ_¹mÇ"¸0· 3”Oƒ—àpK+ä –ÚJ»C ®Ø.uÀž¯*/[g=4?×É¡é¡)að¢æ C]eB•‡f-_¥Ñ0­EN¯#WTË3Ò´{†`\SÆʧ"kõSù+U5Åoj§îš×·û–ær´×0—Slìt ¡"ß*0zîS;íC¸ðÚ{~F:˱L’ëà9éÙü£ËFY,#&f+ÿiip»ŽÅ<^9 Cì_ul’A I - O9뤂~ | ý‡¢7¡Î ) °@ÎQ»+È•ÎÏÆ-C`jg âs0h¹xi‘hIhÛêŽ+>éüE‡±q!«E¬nRk{ÞSà‡…šyPœ2Ÿd+ nn¼©’÷îж¦ÞÜ,¹'ì¸?]ïZÖpòFÊ»Ö`±)øW¨¦EÎþ^QR]—Ѓ“Ã$/4’›,3à»ÎÔ²¦ù1Îñ¬©Ôëæri¸ÆéÌiÑ4 ã”0úŽo<|4 £µ¸½ñ{›¼q²oµjLžvn4$¢÷RçòDk„ÙâsO×",š³KÚ–ÌW«ÉÛÕ¼º±‚ÊX@Ö ¥šx×=Œ V#ŠßÏŸ³.îr3¥¡Á¾VG…¨Oô‚\׋6îÊ%ØéÓà´Ε׬*ó{c$Y_ú½êî^¹—#;•¯åú•Xñ­öÅþÈx†4ò_1€Çºõc}Séh)Œ+ÂýÒ<»mPý#³” •æ›9ŽÒ–­FdÃaßÿq³Q†ìAm@OQ ü‹KŒ!9hHX£®XˆúäŠýO€"1¤^½ÿý¦lGÈ#¿Ò9ãÚÆ’òψÈ""&ühLù(žr©N£¹¯†\µ,Ñgú¥ /­Ù餕²‹C¨LëÙ2 %ökØòÉê\öÝøÚàgD¸Õ)âeœó × ËCúzù½Py‚@=áØÑÁ44MH¢¶Ù‘€wÝ©ªäל€¾”°ÚºI2õÚáJpz„褾;à™/"ô’`Á¿2'¬Ð Wø Ù¸g½a›õ tÃáÙz+8(A2厊ŸÅ;âÉ£ÖUcU“=R`³öûÄzKÙpú<Ä“Ì_ÚM¨‡jžÒÞ«;”’m£fíË]#MÞX¼-ÉŸ)pîž·%æ õ éü ©÷[ùn3oǾm#Úµ<›wjŠ^Pv¢×­¶C’¨ N,0 _=@” +ñ¶ŸgdT“?%1žËëµZ|â¥FVÝùQŠ:ªÜg‹\ºJ"²DÕ¡ªíNŠ«¡(²hN;<›˜Ä;¬äØ»\­ÔÿÜ~úÝmíþ/wZìåôR‡˜^ƒïç¼]!à\–sÛåà§øÏu›o€ë±àmMxÎ8 xM:½ÆÅÿ-Ð…à +4óÆ”¶^Fæ^aTkó=fè«@vÊ—ŸêUIíSW‡×U°ï‘ÁÈ»<¿ -"Ñd2ÄV†#”]:"HaÅÒA<‚›L˜~¹ûð”妪.YŽ"9ÊŸZbv.›³vq¿`ºàÐë"ÆÏ¿Ô$3¥¯…ûµþÈy³’7ÑωÒ:¡Ø^Äš3y¢/v@`K;¡Ü»šÁer;ú3ö –é³£Á"ÇA $r—Ó%!ü$ÅüúÉc ?Ê—2ý£™­-Tþhûð  závˆE£OËÈB÷ú¼p«ÿg\xH‰©lvό§‘_œ š&ΪvĤ.™<í¤ÇaA +ð_UP^[˜Š…[¿6 9zJ&DŠíS@?¡Ó‘К)ûìͦ;?î‚lÏOÃé)½«üR¥jÝM8%O^g 4m’Y\Ãõ‡c­ô_püP†ú¾“Œufì|ðÐçø.Žr}­Î’°/¶ú[¯:b –ÐpA¾`ùå_:o…Äx÷DÆP¯að6ã#¶E™ÛÏ4š"q—C2_SújÝ3¦­no$ÁŒ£Ñè‹œ6™Læ-6büT3Øæy¨~¼TgnòÑù€ìv¦Kö¶éÈ°@œ÷a>@\=âåh-Œ¶aÙÊÄ& ‘m¨+‡]]Ýv”úæ0¾ ¦QvªDf)…óÊ-ØÓwäèÝvés8 <Š~u@ú¯ÄºMþð‹€ êo!ï‘7ßíp*Ò¶²V²ðEí“n¯}çÜlW?± õ5²v{Œ=êß\÷j/‡wûr$Û’Yt›j”ì>^éNâ‰vêËÌ΢ äš—–fgÿ¶I~b?ÒvR&Á0$™*Q®Sºž=òH–ûÇHæ\ÁºVʈÐàÞÍ•p;Z\üÚïj¶â •|•ˆ8ϲÄNüZpP]ˆÏýGšäʱÃg_‹„>€ìåÇ9£‘Ó+˜ƒtÕ“˜÷­X¨_=G6”<üÐƧµ«ýH½è·eͳP0?À–êü:¥ÇPà~ól™â˃BÿÝkAŠ!t`Eˆv-„&Cì^ûÀO³Øâ¡[#ôv¸Èöm̦íCLjçùùüDEvV*˜N"æ`ß/·\ážçχs§`å‚:¤­Çìf1W«%Ú<NáòôÐÝõM‹N7RlÎ+¼ +ø÷'4_^Sû&œQù7€‡Ò9²¤ûõÓ¢gѾˆ;¿Ð + Æí ßÄ/Ae.*:¿±QcÌWfÓJ{ñ¶ +Ô,è¸$&®ôla +Å;¯w68T¬Š¨qÐË- ÷ÎySönÖ¾ºt÷Úè>{ö‰‰ ·ÛyÌenjר EU’œÌ´ î‰SÔz#a@ÍÏ«ˆ!+7„yüFÁ¡oXÙ>&ïë¼sªÔ‹ïâ¿Çôm=–©Ôé&÷ ÙŸ,}6ƒ´ùÌÇË!-æ³CÜwµ£MÑ3D%Ç<5;w¦Ùd9"ŽtL úhÒºù˜¶s­"Öò9 …ÝwÞ%8ÿæ•Ä¨§É&azd9gæßh‹4DB2àcùÏJH±ƒë½;Áó÷S”ŠD·Å²ÅhTò@Æsö»ˆÈ¼q d˜¯#µ 45»ÐÓÖâÀóŠ¸^_IÃRrà—r9¥½ÛÀzâÈRKV­[,‚k5Ï@ñ5“;è`ÉÕ½k¬$ÊCCÁGª×Œ±£U/®ÒhtV›V—Eê=ÎŽû«ìsêAadÌ70Ãßà~`Ãiy½àÁ¯d¯tx^ÞE"ósAr–7«°w¤µ c—“³¥Ž ]Pp#GwQú7lÃj5Ž¬Z³ˆÉžôW·z'á_ɺcKobÿñZ YØC\îž-¨$-ÒüºFXO kWJh™?…–çÌz-UÞfµi~ ¾R‹o'µ,äç·Ñ(ß´§‡ é¥“üš·óžJ„Ç!•/jÕ<ÔzvZãËv‹®µ.Q•ZL‘ü7fÇ°à÷ >i ‰àb, ÁQˆ72ì‹ßS˜ýñ®Â9LÆ*aî±.霿˜™É#u…1@„a™n.Ï‚ñ÷h8TŠ´d+ '©p éTŸƒç<"1\qñhC3aŽP{D =ÆÒ[a‹K_ý‰òÖ^Bؼ9—Yë"¯¦ˆµtC5¤"p»CÙƒöËuÑ&4ÉŠå抯±m¯f Ø\áÐjÍ£ž´š—ð ]R,ï‡÷°ô»‹?­Þñ“”Ä€™$ˆŽ_ù0Ø v‡ñ\X‰ÂäªÁ}-‰¢¯W‘‘ÞòÈUÛ°áOV!œïðjÂÛ²LMªt¢]ú«ù8&MOγÿ÷8Ù0„înâ+—üM³/öèšt|ÆuŒDõ{ձ݉æ“úÆ3èj¢ŠüÏ1Âä–)ƒ¥+1ÖBîyºÞvâuÒX(xÿ Ei~„ûYr>!5„ +¿?±ø< üíίIô\KŒ×Òi;‰eP^Ð|±˜*ÌA>$iWÀüpâ²QË1"Úrp…†_i^'¢'²0 íÛÜû*ˆÀ¿&•ÜôîcÜAŒ·ê­‚=‹ 'ŒÄˆZ7 Ñu±HÉ,•É¿ß³¼`õ2ºÚÇü.o%|Hfç™Ò¬ºÛÓXÓù–2Œ!ÿ—sP*0~4¡0™Ÿ­6ÛNÆŒXz¿È8zjh®…䪱Ƒ2DuMW&'}ÆÛi H£3~`4­Ð„²#i _²dÜŠ@ÿѯŽé +Ͷ\æ¨ÝxÖÃûxÆ4x}Ób3ÀÇ)ö…í:É=ƒXúÆÞù†ª`„qšFš®oóµô÷QGo ÇÃf²Tô}†Ž +endstream endobj 733 0 obj<> endobj 734 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 735 0 obj<>stream +tçL[fög”ó¹Ï÷…#R?‹V¨T¨'l‰Õ„òˆËS©Ö~OM˜‰TгÁ¬‹Žvîlˆªi¼Çê+š0ú˜áÙO¹ `ÞÔnƒ×¥Ù÷ ùO&/(ìh Á(e¸®;y ZC¢Lýðt~,GãàŽý Àh”0Ý~î•SÅ*»žx8`;¹©Z4I\÷ª|·Pj˜ Ÿr‡C½Aÿ~Ëpq·ÏXC,®çc¤*y’åXàHß«W”ã—ïòÛCÖ&ŽJØ%UÕ¼Ù¤gò4Ke¸ƒA4àääÇÿ!ƒ·h_OÛšH]cà!^:áb—‚Ey„,Úìs稖7.7x\¥Üv΋?ìt°¬CmPÍj¯ºOŠÐ¹zô´å’úzYÇH“øé+Üa…ûh:-ûe;àæ¦uÛ. Qìje·Oݵ·v„ Lq•J ø€8Vï~ã™$÷BkéˆnA¯Ã4×x£ã«#URÁJIJ —HÊ›@-þꉢÁM7V—%¸Ó+!M13Tôô²Úz¸“ëù¡¹.ë06¦Z…ýƒôî»}t÷ŒðýOSDĪVGÔh—DÜ[Ú %±[Šo°I×ýlß‹„bÁ³ÚT‘yW0ÇX~Q ›qd0W¥9ôŸÉ¨µ ºš„ÀÄY.‘êŽÙÛˆµÃþ#gQµôM4¿û$´žÕB7;¤QwA«³è(\‚ëþµQþ±ÚªìÑ3yœýô—E)è Ë^mfŒBÞÏ'ÚNä\æÎÀÑ3ÁïQl›Jö¤um\(­œm!q½Î# •ô!ëÒ†ÝÐøÕé„T´s ŠÁG­ãnc$Ó­>¬1Œyûéçf:²ŽzO—æçëb +w Ûõ1ýÁF²é(2–¨-É¢š.äÏÏö¯‰/ŸùÖ·sïMÞ ¥@· xºÃ'œ\˜ô¨]ć¤v?F¸áãø1Kœ +¾”…ð„ÙSE_®B ¤}x·vœÀBN_Þ%è_¥ùÌ)ñ€0]¤Ã…Ê „æM‰ê%˜÷`ó ½íeQYsä{›´f§væ™ê¦côš)iÆžxòœ$³¿|¹,Cì° 1`óaði‘Z­ý‘£»^[Ÿ¡²¶þ¥ßåo¹ÿÚNĈª‘,æG1ä;¬a4LÖ󒎇ÊÁð6 (<‹G¢3Æ8Zôî»çÜ^)×&ÄÜ?ÛŒJKIm"mþû7N†!ðׂ&yaûÎ’¸“kÔ‡ì­<Œ´Sò- OЛúÎ&VûC<) +Cþ­Ù@ò6b·ÇjžËøïÄazçy†Z]š²ÄìØ ˆšp°›ð5JØj< ÷‚ç#:éJÓÍ µëÂC©cEL5"ûmØkR×/)zëHúJZ<6ËŸ{züî…¬+—ÃÔl<"IîóJQÓŠ>B*HìqÊì9qïm[b¯vÃ{K(Ì÷°©ÀPõ0‹µc­as8I*¾~î þ<ÕfH‘åZ+_±á U>s#¿,ó¬Ø&6ì “/œßó|â •»U±²^»AæØ›®q’$3ÁðK´óõ&عžB\@ÿÍc¾Ûg]­¡§‘ uBºÅøð!þÌP„OÕ,MQ4B;¥±•ßc¨³¢-7.”²§¸Ze\¥¼"ш³ûÃff×ÔŒû4[’ÇQˆœÊ0ÍäÏðwö–ÿŠ'âü½Ü K|§[ª1V8ñªÙ2&bTøÀ[™6Z”®r‹Òûqü¸ÌRTJž£êžÎ’\Y›ps3Ñ%Ÿ6ÄšWÜár³N*A7¼WêVŸ2&ŠB†ƒ*“ºŽ+ßúgŠ’¬t _ü„ö÷*F×»¡]·ü[üNðƒMb×¥ d ^‘¹CüË"¾Ø¨Äl ÚLÛmËQKîþV•ªß"#¬Ìÿ̭ëàæ120vx˜H•“§×°îh‡ÿ¯d¦!_Îí5z­Í8f¦M&¼ qzf襰F1mߤø¤£úòÚM/DÒ´g…!ð„úǹ7½Ò e­]ž3ÐT)çqQXÐøòÂ9~Ê* Éz?0Oª†Ò;gÑÄC1ªXíZ]Ûð82]›ee^/wÐe¯öQåýn³ÿtÕ!:žŸŸÚð]ö²‘| k¦·O¨ýëÙ’#5<'©4¾ˆ"ŒÜÓäÍ×?† …Ûïñ±ý×SÐ÷9ëÊa˜.‰K†»èQ%õÖ!Pò%·eÏû\ÂJPÃÈZ»;UuîVD¿¾@­V¾´µfÈŽ8µ®„v³Ñ­’á×T›þËNASZˆT÷®~èd+i¨Çû1$ÊäÌó‚¥KoÁ°êϪՊ¸°ªwxAÊxƒ¨Ø×âeÂW=§q®\÷œk—e?Hfï9—p{·v§îö, Ø!úìÏKB·;i¹F¡ÔNL|ßîÀ ¾I¦ås¨V5K!Ö`„¦ýüÆÞÞ:æUæ{÷ 0¦z‰òÁiK‘"|¦á,Õû_6üøŸÉ²ÃÂÖÍN06ÇYÔ¿ üŽZ?j¦Tî ôíXë`QìÌÖü¢†ô$Å-—…j2—4\i\:xõfRx/>ÕìÓàl^BBz}j¬¨*Åì^7í$ÅùDï÷“Î;}ÉÙ(r°çÍIJÉE]I®»ìó¢’Ãí—ÊÅÄ\à=}¡­ Í0³ÝÔÈ_ +„ì´¼dRÚº™‘­aš s@ª%s\â4°2 + +&ÔXlÊ•”ý ¼ð[`ëfÚK‹í\uºwÔäf•°j‰Bº´c±]»¸Êà­kP`G§4Ù÷":ƒò½ …«õR¤Bûv%\·µiûCÝÞj1pp×ñ±€EP“:hFl®æú{Áœ~ݤ™B7˜þd¦]¯.-µ™¬PPòŸgUm™%,žŽËG•.,Õ!£N +endstream endobj 736 0 obj<> endobj 737 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 738 0 obj<>stream +ÙíjD¶>4÷, µŽ¬°-÷“çÖ°‘Iÿ’Ö[àr©‰¹´ýÎg\¢eûÕ¹e¥ŽeáGg„Å}ëPö®à|!û•ô²“ ±-è|[ÝãïpüíÐô ° ¼oqç|uÊ3–KšHŽ‰=(ØüýR‘H®€1Ó˜ôÝ£¶±¸(&ŒµE-_r¯bYsßP“ ÓúX½øH›™,Òq:(˜]‰æ~çê1ñ +ó ƒJè¼Ä&ÂÚ é^Z? ü=÷[£>(ªämîŒ Ú;“ŠT:lD^‡¾àÊÎÍʃn^±¨íªxŒŠßu¤Ù˜ÃëVÓÅw«¹=ËêÁOÛ2{ #HóMü#Õ\½þµ–€6$îR øBBO$§Å F"±ç>îs½Pƒ¥Aó$˜y¢uüV3štÜö’dh&bÑæÏ!# e®™d¾ÆåôåßÄ&¯3Øþ\37W %@|{ÙUžrªZÈ¥K¿¶g3šYÓ´|úh»ôôFùª|Ž£n×*‘Eþü³PÎÀ]ÛN×îÏq{^?‹–Û¯0_*}'^6.bVæMÂàþ·äÖ‹ +æÆ„Ò´§Ø7õ+þM¸ +oÈwXcÁyô†0H5T)ËôX¨e„‡[©}›*%GÑX¹3±äÿ™:b)O¡d䎳Û%÷™-‘Ô{ów1‘µ³äU¼ƒfmMðiÓnPãúI¹%GlhÒNDü_yG|S€OøïèÖö¢<ßÉ~sõ4) ~õ°ìrt,Ú¿°¾wdr,©f%Z°AÐ<¿5Á< ÍÞŽ·‚}mÝ#q òûFƒm=ÜzëT¤&bšÎšx[‰R/ÁW7A—"†Ÿg¢ÛîÞ®.ͲlÔKM[¶«zF•©©ó†úŠZÿ·h +Â…ñ=[õüŠôëÖá Gˆ:hxæãå› Ô×q¾D‹}î[ö0¨æQéùlÅÓTÍì—Rþ0un¹JØ1àkÆ;ŽÐ(oaæ.¸¯¡e0¥Ø|ì[˘2ï1G#è„pÓ( i{aä¿)Qxz”ÀŸ# â®Gª¤×ŒŒyÎý“ÓÉ#Á•¤„¼Ç"ìן6Ú¥={:„Èôºg,XùRdùVL¨(Ÿ âÕ91FÀËœ´Õ?Â××…øúñ: ËdTÛûˆÈŠM¥4Lr͘ʽÿb²¾ð3Z 1µø Ñ3Ú_-þ–s泡BÌ;Z⼩$n±¢©kEaÈ°Œ]V6 Ÿ¯¯PVœ\ÙÔs¨Å"úéoøVYG ¶_.¢ImùôU‚Î?¦¦sã%Ž&RTÕ^Yg¥üíåv`­™Ê)Qúýý¯Øç m¸MÂÝs6ÜH×ÂÝ”¸?ÙÄ Ôû’Þ”ƒj”­šü˜«žŽ>ROhKçi¨÷uæº{›+Y8‹žó…ì—·Ò!²ZzæúØ$ÀÛ30ʽø®îgôV™<ˬ-ýýi€/ ÓdàVþˤ·Üøme%ÊÙ(r*¦š~q>r#7‡}höddU~]>.[vÒ -6Åû@¦Ã®C6z'‚TlÅŠ¼¼¢ñŽPOZJ¸¸uÏKZp’Ỳ¥Ñ¥‡'ͳ K+k½ä´¥‚,#³Á~ëˆ9ÛdI}øÃ-Òî&reÏî‹áe™D§k£ÖšD½£~§!ñ?­ãñy­»„¶ƒÐÙà/³í¡óV#þ%†‰@ñÖYÓ« vx][jG[Æm¨õ(“z;<_ rˆ-‡›§`/”ýôÃ*³FŒNQB0†kÆV0b’$FO󌛱<@ˆÑé±èW·‹CÛ¨øÊå!pTu¿è)7xò'éP¯üºÈ «_Ù^W¤Wà<~â¯ßÄ3GÜwÈÙs4bñx¼p«çlòI=bŒYݲðmŽ½dX0¹åÉÞ Î™Îv!¬’&eÈ?ÎΙH€©:™ë}[æJ‚!…ú-9¥Fñ =£NÓQTùÈG®n­(4o1kP]ÿ,zErŒÃFN !^¡w/œ¡1n剣(×Ñ»?™`ºƒ¥¤) ¬|ÙZ–Ârvëw&Κ Û…*":pÁKÍ›ØdÝàcG¯,±örr ØÝÛ±Á¶?>Ð(Öû˜(£ð@0Û»:ÀÛ†ÒåHëBpוàw×Ð3ãvõ%myõÄMÆØÁ /¡§™øH|§$O¢EÕ8Ðë{y“ðŒ +»åC{Ë s +º'#º C’;Íàœý>Am‹”R¸½švîæxª·@Âî¬Ø —-dÙWÉz" —f b§òŸ¬(ëIuT'ÃËxöpÚ~¢À°¥éádá0Q3â ¯1Ï“%>jÕpÏÆÝÅ]4RŒGµA¬²ôswöh ŸZmUhÅP·¬ÐÄJeïÒHJ"&jÞV™újtMÏq Ùî8JNíÉ·æ¦h×ÚS"§ +¾¨[Q»¸ÐЗh!-ñQssê­J™'Àê8!Qáüwa˜Î‹2M)z«î.3¶JâZö ¬Ü™=‰F„5|L¦Lr®€/oöõ%’§Ývü¥kñéJ{÷G*'Œu䶀ê=RÃ묤"ù#íVÑR/ôóÈOŸÁ¸‰;¦÷ÂS”~q†QgA•‚’ë¨Â[ŠÄèHn1|u– îyÍ|ùë>ŸIù2¿ë–h;àY + +ÂWNAk1zËÀõ+QõCl«ìº %~'Xžž %j¡¦Ê™*58ã"Oá?;DíI÷´É_–ˆ¦)°Ë¥ÈU[,Îr¶Ú«£Ÿ'àr5o+ÉPö©ýÉ’€fÙûq8L'ö80‡Pñ¼˜þo’Þª‹ÑÉ`ë¾ +@ ˜ñ•èÀò@@ðïìœUàkèصW¤Çäì°o^øÔýÕË¬Ø nÁI‹ +†ñ~_ÕMŠ5¢@7ºz>øéjh'mé b2£1.댪¼Ô¾‡.WV¬R|1^õÛH½½FºPß9Yr¼÷OçkñrGn4Úäèæ@YÙJo& 8/y‘>ñú¦âÕ™WýŠ®=žß`à÷PÝ^Ùƒ1äXPh@ß®‰ªŽ³ßv +ÔѨ“y—'¦= 2V¿î9ÙM~»Å¸tLª–¯Ð®,Ö1R} Ûô“jnÓg¼C³GtdЮr®$&0ggšžbl2ñ1j‹˜¸¡‘ëð FÍe5:Hï(÷€?Nëè5¸€mµ©eK‡˯È%œeù—Óþ·à6ÙŸÂL,—ÙesÝšçC­ƒ./€ô†SAÓÿÂT‹“œðÙ±»ÍV_;€™* *ÕŸó“¨Á&[5†´ŠYT#š–_µ>IÂîÐ]® 6o6ãœý ¦ÿP¦ç{‰süâf·óÔCo¢÷À©³ùP©Xêñ±èÃè!£–­7‡X}!ÄÞZïªØ/ g˹Ç‹’xi2!Ó |,¼ qr>ËÅm’"›ÓN¤ñÞÒGÕX°W`»)mMr8Ä p8A¤žÿÍ݇ #îûþøÓá;ȵ~Þy³«°>{ãQ)mnËîÞÎÅLçÇÀðš¢2[´argÞ +),òQ~Y3ò»ž˜e3ʸ§ŸË1JƒWè æÑКàFßGºàe’D]É,¬NvEÙ#ÎÞ´§•áV×IM|jŒ”é¡À¨Œ™íèy9~ExqMŽÅL•c›R…h§%mÛ[¢Ùýÿºž^YQ.¬ Ð1g­÷ñ°láyOCÏh߸X.z7KçŠuñwãΔJ,ÄII- ÕÕ\}ï¬ì’50ET‘<¤æñ^è™ñцb+ÂÙ‡9ÉgÖ¡ðr Äø~ÔKéⳟ!Þ$:ÌåM @ÑÕ¼!ûd¤óAM“Þ·ëZQHjƽãç'ã‘Pš`™ØÅëÊ!3ÆßZÒ«ßj&ohóY +endstream endobj 739 0 obj<> endobj 740 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 741 0 obj<>stream +CM«4M†3ð‚¼¸h}.ÁŸC>e­¸Ø÷ØCo(àÁýôl¨I³’E4‹.ÜSJŸú´z¶Y˜úMû'ìÅö±ƒ +e@='VÊy÷É?a¹+ëñ§â[']6ãÖ쮉þƦ³`¬ŽÖñBÐýbi]GïU×Q¹º|=ÉJ,F_,$\wƒžCU-î`횈…&W /+n»¢xjÔÁ–9Sz<¸Ô¸ŽX]™F¼¸[»‘>#P<›#ÞÇ/˜>¿¤Âiòl±jÀ4’’+>†áQõöº#ª=Сò~<ñFE +¯î<á6Ùå§g2U]òàŸ ÔY¾)þ¬üWÊ@XÊKÆSÝ)Ê ~ù¨À×\ð.;,Uq¤6_ií´J~¶ÊG±…ŸÓF»u€Ölo+Ÿé¶ž„{òSh€ˆŽÌfÁG +¶F‘“ûO«£Q@q ¤ üÙ6 +ø‹â¶wAv÷ú( B¡¯é5\§’a +†zŠfš\E§5ѱωÄÇ ;R7Õþãh挓©£J‡!|•d’>ŒCƒ«‘½{jAŠhŒ8Ñ™'ÈZTôbú?tøùŸ/ŠC£â `sƒ¦Æ;ø}’N`¢9„(/ŸK,à™8ß3ZC:>{õLjÑÁÀŒflœA‡¥47;ù+OÁ9RWžAMqTfw’%\ŒF†¢ç8¡>Z€ÆHösð|ÿñÔ~÷·…¯¾ñòš§“òzuïhizW²_òNýܳµV¿ÈF,vÄ6AøÆLê©~œµ&È#x8¢¥jGTƒ¹Ï ÉëEÃýYXÞ´€¼åò¥è  #OoóÌiÅL¥Šjv¦ÔàŽ2;nsSo¡SË(ôRîáCV˜2yÿWmSuc, Ç£:¿M­õC¹¹.B:mqÑ@*/þ‡\hðäN?ªÈ½¹Ô¾iñ9‚œm£Ý1Xö`Ú}üM6†@ÑÁYO†éß×f4âˆ@†û*©ÿH“pø!\²êš[½.[£„‚ñÎ6˜"$Ò%vTŒˆ“ç/«ØT**ò¯õ(b1 ä$B)7ý>àÓbÀ#?«Ø6þÂEÏŽÌž‘ñR†ýW­–ŠÜ¨V¡üqÑÍ¿‰øÝ»Yq7óô”» ƒié'V :n ñ~6Ãä©PMC¬©4e +l¶ðGñ›ò †ú a +ß'€J›æEu¹BÿàÿgŒÑ‹¼£ÒFÌͳUÆWÇ¢ð5†]Š Zˆôת™¬èaýû¼V* n€§‘1ˆxÖ 7÷Ãwåbû s3”34³5²^åÚÀ>¹I¦¡ŠÖÇý‘ÿÒh‹ÜMR²zµ®ì™“Ý€xMÙG„b[ÿ²  BÚ] Z½4±ä¦õ +C§Ýä¡öÑ@á ÂÈAd•RŸSðŽÝÐ5¶:r $ßE×™ÍÄmn;~ÿ)Ñ@ýÃå*q7Té/ÉiK +íÓ.&4Ñp1YïÎõ„~Óê°i¾³÷Ûà•?6Zé”’xT¯7‰±ŸDi§Å.Šª‰éÏaÖìãäe踔Fób) ¡ƒ mÚ|@Ú¨ ‰òoýÅøÚçÓ3»&•I†$QVoPèå6=‡°r¨Ø†ï½Æ0¸¯oàPU÷¿Érý­ÂeÄÍ_× îáŽf3¿y±ú÷â÷”Gâ–MÉòÞ>¸—ÄrýUè°£ðÈF¦æ@Å}l`­eC,܉érSY/c&Ï,æP–þô MÇûã®ÆÖ~¼Y±õ.Ï6cgaaվͧÓß”›æIœö|˜p°KÈ4¸|¬ü,XU°öð¥RøÓ' +q6øð=‘7›)“Ú Ñ¼´¡¦ejeê {óÁÓmÏë È*ÓY?r×Ä:¼gpý¢·¥!dñ›@0Kh÷ ü‹ðKÜMÀÝg³7n‰«ÁNRNŽàe6tØþ Ž£J YN6´„¼sSÇVôb-O“×®Br9´÷D!¡­PÄúˆ'¸Þ1](Rµ²wlD ¡¹nà„t7wÜiËlÚ¯Ü-ŠCxJ¦•+YÅCHHC1Çr0FèUÈ×x4vYCyþ\ßçT½ä‘й*oúÏá³wðFñú¤Å‘^“‰*œ“ÊI4òÌ*¯ˆ ß;ÍýÒl“Çf9e$oë ~ZAO^õ•Î‘ÂM+Yš/4Ž +ŸÜˆn³ÅžèÔ°{ ²ø.._Ö2ã0 [ÚË—»$ªjÞK8Tµšgp£lµÓUêóúCC'ÈŠÀC¼'M‰QžãWÐÌ![ñ¼KU¹YM0™îÛ`6ÃÓ™ÖòÖä<°#!ËËýÑݹ.fÿòÎOÎá|įNÒåšAÕ2•íó_½ºÍ9£µæù^EfäÙÉCr\ÉZеSš€ÄÞ:_yF_bÚb€Ë³7¶Œ?Dƒqa™rEajÏG¸÷S&ha>ÞY%,*°RÆ’ÑÚ MÐrþ¸P{ìÂAtÜS  ÔC.0ô¾ºæXëO:>ró ½;=»½t°º< Ýû3ÿÁ¨œ³"wK¯Qóx¿©Ó_èÛ”©‚uƒeÓ]½ÂÛÿ1{]ȘtÔ ²»°³|U 6P.ì~Æh(Gƒ• +•ëRgÃy_œ¡}ÌÙƒKPpÉhuÿàýq;(þƒ¬Õ‡X4˜\m08 ),uZÎh¥÷²¥z³¨.+A7&àºÏh8ë s)l0ë&I?m¨Ë[p ³[.²Ê󶈟w³LõR“ZžeÍ{»í(žMn†>„³b‹m¸ÐÅuÒÌÓ™, -à eZÃCSŸïéۙ޾Ʋë&Ïyº†ü£Î1ƒåà|w,VnÖJ0p +ÞÏ>¾OÛ+j{etJñZ ’yxMÔ%îÔæp­·Ñ¦RºŒ•l—Ÿ£Ò² Xj¡£¿‰õÕa{H˜{óì?ÿ&ˆXþ ÿ€ã‡¾ÇÀÕ_rW’–µ˜mŸHˆ·°÷ÜîÂ3Y•‘Ç=}܈S.û{ƒsõÏ”?RJÎf6Q‡~uš?<;wµéµ¶ÅD“‚ûŽ4|0‹t‰±eÅÇ\ßÁÈpPRÎm_*Mç¤N’?†*ˆ§Þa< ¡š"éìfÈ(ÒkÈèÏÝÚ¬ÑüCke1t!Dœh.ŸÅ¼º|‹[Þº^7„‡ýCC¥ÍÝ)æ¾li°*ä8‘éõ@KÃ^¦¸éNJþt2c¶£äÙ–€w ŽdzFI¶÷q:ê#]J>¤m mBø”!sÞñΘ¨/»:;·O¾fÂ~Ìw‚á}û‘hØB%CYÕðî ]¡V¡${ÿî2")BÈH¡‡œãY×Ô¸ ÓÇä¯XPÀÖX¥dµáo:¾ÚE„nõã/¬Ä=Âù76|íq¡‚g“p&½X¾80ÑÇÔ®àßm»ÿ)é{V)SÂàoU‰8Ž\ H^`WŠ»â´ FfÊ%X›iìZ$òï* $@} X<š=Øz,‡ÆyQ㵯¸púÍ¥-(¢Ÿô³…BA¦^|RØBQ5å5Òrµ«»¿ˆýùSqöQÑâæ,¶ØVPqÆp¬çÓª£/D¨À?áOȘm +|‚˜ÝL!*öƧn½Iìy@á ¢Xë £¾DIW5|†.š«AîT±™“€AévýAgÀëd#“¦kHÊQ‹–1„ ض“™Ò‰©k¢q)Ù¹ºù[ÕöÈ[ˆÙŒ#Ój¦ËÂm–“O+2pywb)’£ar”°eØ©µ3Ñÿ²é§Mp¯ü.䜮c “µ"}†tÏ+º „2ä\ôt«AUUOƈ½Nƒ|Údagdú~.÷“¢ÊI`ûˤ¦S©QàòçvD²š£: 8KÞ¥’ eSŒ™¿ÕÆÓ<µ·g5½¢Ñ VëÆ™âtgŽŠ½²)V„J@äXº³ä¦@|þJ%šð†¯àÅê*™14ð¼D«³4›4QLƹD4yFƽW9Ž áÄŒ‡6m™Y_¥Š´Â>ÅŒ5°ŽðsÝ(kè`O~8¹Žv3ù)J ûÔËA7¤ÿ3®+q^ rÖ HªäšrçÜ‹šY¿»$(mMƒáGà³æÄ{Ûý§Ö/ëý…[UâG˜Ÿ íÖ ³N Ùªe¼µÊ÷ü;ÚFŸ‹“(xpèÖbó^I>ØÝ;"‹À@{'C*?å4¼É4á*o j3u-©iá^l{ì,%èÂå¿Åƒ%㯵.5û|Ìp¾Òø}[›dÎçŽf°ß&A°Ì‘,§PN<3ì•ìkRÙ>rýT¼:óú²ŠNvyùoÊ…=ÂÖD(É«gC¿º”vEh1ÓrÕ„H˧Ö9Á‹¸;:8ï2Üp0µµ„Å{^f+œ¤?Ú‹®×+•Ï·O}:¬Ap±½€7æF_®Î´jåMJXfI ÜdE̳ò†˜pJâ¹ 8®qC`S™lƒà“HÕ»ÕÅž%eðgÂ1NÑŒŸÐnG™Ì}„ƒkº„AD3&—øW»oÐðûË éÆ6‡B5;Š¾nøŠœºÄ?a¼>£×°4Á—m ·‰€ðšMT‰-ºN?€*¾ùŪ +endstream endobj 742 0 obj<> endobj 743 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 744 0 obj<>stream +,µ®þĺö]mÇËõ?E¤pûAÑ™¨®"Ùÿr›c8•îŸWâçÚ$æµ±üÖIöê[Þü1ÕcCA¢\®G—œýIT¨5J"Ø1*žX¦ÐØÅR7™r}wÞÍëö@‹Ì„‹c@²¢\¹ 0ÆBb¥&‹ñvžãa¨¦ïCíe|Û,Ø€Ybni,û¶ö`÷Åe×K fNƒÅõèˆÞ†},å^'¸°{›V“È"æéÕΩ×_Llÿylú6@u8›a.ÿ‚ÐÆ.J! ¼ç)t†ènÍÿ4]²9ÊÓë…óþ²r™çÒîÖ‚ã÷»üz:!uóX`#xfÖSìkv¿8bòX¾$°É:±­Ó6öæ<>ە͇‡^ªœ@8à¾é©2À™êžlk‹É'¢¾ò¦}EöP Ù?X°¥_¥CÍs!­Zkó*·qmÞ~rVuÈÏmî/ÁÃ,‰X¨[׺×i$U.î:©äió'PéÖÊÍñIM³àÀUý]YÐ`–µÅ^tÙê”út(E¸@03ŽmSd{¾Ö@xõ:Mn×J¯¹‘N»úÈØý¸¯çC™x ¢øzªà'+_Œ™ûGÁhŽ°@ÈŸ\™ð3P<ëçd—C2Ѥi¬Vj†fX½ ¦mÔ÷xŸÛÆn7½¸ÔàN;O¢qü¿èåZ&þÀÚw.]ßpn~€ÞXT{íɾ4†¤vA¢7ón`¿^þ§ +=E›Ûã`Bã>Ž½A¼Ýþ¹ß(è{[6åáó@¨…Õm¹ÅQºI3!¿9Ûq’K,eâû+¶|Ú¨+*Í‹"U]ýσðÏTª¢ðYo|h´bzzñõá•«"ªóšõQqÙߣW7àþ~Còs‹Ðõ S,Š¼T?Ußà÷Ís@*ÙüÞß å¨ð98ÅÌT>z¡Vî¯(þ¨V÷Àˆq7qÇN]Rºáx3\=ÙA']2”£x $j,™’†¾Ò—á¶uð†pÜg+cSü«9nIK’¡ã|SÍg†q4s×&u| k$ä¡Œ¥:°mô$ÆÓÈ í>6lT}ò{qzKµF¼ÕÅ4Ì1Qõ2'^r§˜¯U)Ô‘&‘é=l>ÿ†âÝsž¥Ç!~kæ°»íÛjiõÜè È3ÅòÌÃý°•S0@;A»8®ºm×y"ؤY,¤bÓM¼{ý ˆg\Û°±Û{x¿óXŽa½œÜ ;ˆ/_%¦€‘,n©\0BpQWó1tAUkÿÝ4êÖ9å ­°v…øàùŠÁ¯êzyË໯¬ €¸™¼å‘õÉèà–ÑëÙD®FöܸÝ°–^d'Õžê2BXP”leÈ p¢ë¬GjÜY'V¯9kÿ„ —:œœRŽ˜ÍI+bp•œÄ”²å]ÓµJ|ú£”~%©@ØüÉšöx‹²¸Gï‘žš…XR `–[CBå¹n튢°ÄUþcˆn¬¹Æ Ìá¦ÃR,%[Ž¿öÒ6ç}Œ=zíŸGÑh2ñ +>.óö„[ÁÒw5©(¨ +Ø°±Ì!6«œúMžêVÙ3,±Ù¤/ýY¨F\Ü…˜aE8qÀY\åxñëüX–äã¢T=!hqUUÓ(™`½ Á¾$)ñËñº^ªh4n^«OhqÙ,ÏÇ>×”­xÖÅ %釅Nmå`6NËí7r‡ju_ÿ¶% -õhÔü +ý‰€¨.£¤AÙ•¨æçV~Ë”ä«îÜð¬PëOH§Y ˜ë=m¨;r¹<êœ'–üY^^0T¯á¨L¶Â-!œsHýgÍèKa›P;I]X—>N™ ™iˆä  Œ¡I²söJxE^ÚÑI }7³g¸OÎÓx²¤u5îÿ¿‚èèŒIÄ)äÂÆnÌ’©L¬¡˜à›3 vù3'éA‹¸BN<˜¡’E•Ç6|™¼Q,bÂöº—SÜ{ðÎn7ê››W2ʉXËAoòl²ü·$Lñ$TŽÄ†[v¢œ9ñ¿3@Âä4ž +I»uóA¸Ã¿§ÖŒAç°Vú‰}Ð&C¦|‘h^Ñ_ǧ“<áß`:ª•´ˆ…I_èuöíÖA½´”V®Ö÷K‹Þû7 îÖVJl `ÇÁ©§}/–ÔqC@R¿þ d0|~RaTdzÃV·àɧ²¢}O‚ýÙ|¾Ç¢ÍZÑ„÷Ò³NÚä3 „…‘ÁÁ-Ed1±Ö”qŽºásåÝ`â—‹*E¥ØgÔ"´ýÜ8ü;¯a-Ò«ly¡uw¼°é•ìÏ-åÓ̸•í-:ÒØ·ö±£ âG ©õe†›­ßù*wÛZÓ–;ˆ ¬¸@Ù,ÚKªá_ŠÈnS·»Í¨ŽÑôæ!¡%%4ðå OÁó+¬¯rl!6–ý=!&˜*^F„¼-0ÙeSÛöb¹8œ&«ºÉ"ÀÉJÏ©·’”bG„ˆåÙú[ÈJ}7ݲ´BYõž¸­.þw`MF&Ì‘*/o($Ö§:#R÷÷¢*cÔÕ0Ã7AV†¨ûd.;f¾ˆnMú4Œ +?Í|±Ä»Ã¸.›ÐLS*D¤Ú¡ú +endstream endobj 745 0 obj<> endobj 746 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 747 0 obj<>stream +#s!xŸ^ëE±dÎ?³_ÖN•ä\2ð©H¹=€JOVb´±vQ)T“Ýe#"ù-_ÖÌìü™;4Üdà~‘óËÞûžªÔô½€5_wIH.±ƒ•yøŽG©‹Fk°É·&ÆÙ„1Q­¤yß’ß– ÛítIT*oo›I³ËõF‹³<åð¼ì•®Y—ÛpåS*ÒÇýŸ Ãû± )Ȭ;Àˆ¦ÎÕåioÜÚž“Ïëé>r3#¡õÐö…_z WÌëdéxu%ÐòæÁ|}4vH.ù¯®+*š†,¸Öðw"!‹åÁÄTg¦¬ÛÃP–žóá¤ë{¨ù¥\ù+Ëý »ê”ÈIi`¦]poü`nƒ9ÍPàý?Ô…”á¢ýNÕý”ma/7jøù}±tlÔ¡¸¿µƒüí­†­ƒç,]秼ÆÕ¶FæsñDzÓˆim˜½R­DL×mÜû'b‹4>õ‚6QgFn¶•„b? Ëo³VÔôO1È¡ø¼²*©HbltÒžNÕTîjÛÅH?à¤RPµWÈõ.¼"P X ¥Ê¾ ²Ä2¼HHf5ùRÑÒQæømŒÊ¶ëK›)¼ˆÊ‡ÐÌdWåŨ¬Z½÷„.|â°Ÿ òK?–PÓ¶ø­X„ïÅLVUˆ!{ß…×…ƒcjÑëN®Ù¡È'R‹l¸v²‹¯ËäÛ‚ájíñ"%üLü°Qœ²z×Ùŵ,ƒB딾ª´¤n_j€ËÛ åÑþW¢Š5„ÇzÀ€ïŒ@X² Âê®ÅŠ ÌN×z2¼Ê»âA‚ÙDå9 .‚[©4OPò[ÕÛš^ +ëú½±‘GàK8zöûh¦E(Mr'Æ(2¦B¾ìH¥2M¼›–¸‚à·xïßšö¦Ò,·¹Ó’ÿJáFš œÌ½ïVǧ™˜“ã×3æ/ö’êq°fMº€ã¡#Yä-ÞÐÙ:¹Y±\ w}=ÅL[! {Õ&‚¯ƒ3èwUzÒä¿”®”þ¿Š Þ(ºú¹¼ÞÊ…±ú÷æövü5Îcnvu· )Òõ¦Ãés¬ö?áv½-Zmò" bÍALuZâfP GMÔ³§×–MáÀɪ°@ÖMIŸ¨¤ƒeh¼.„¶/øO/äH“ÒhÏC©3Ô{­Š²–6íN㸑èìņ6ïc•Æ€sMë©!ÛœU¸mJ€g+®³BÁµø8ä/3J¿½"@4rœ^¤vãÈîq}¨{çJè­¥ýÉD†Þµ.»‚&ß“Gäÿ¿ä6ÔéÅdWù‹ùG;_¸E›ùÁ7ö¤?-òBˆs…±ƒþ ›ˆÀ¦e[ReuJ|—SÎ;Joò@¿¿=Bà}¿ZŸD3æÇ€}«óù?­·–ËH¡‡tò0˵§àÝPF@Ý @£$Ó›%yxF¯¦>Ç0÷ú \“HÛ œ/A{á!­/Ä&û èdÌ]‘`E˜8<æ5¸5—£“L¤jîÿ“©p‡FwåÞ`çéFÝüÏÅÖ9ºÝ„” +9ZãÁãh¯–v&C]X4¿«d,P|rPßndÓ)p1rf³$±Ëï]ôí¸xäÈ R)c ó³Â} {Y°êªë?'“^(˜’^á„çJÐßq.¡èþõ”ˆð&Ý’, 7¶¯Ç"4¨¤góB–[½ï½Ý¹˜ÂMê:Œ-{ʵ2Á1^VåGø@#eÜ\îÁ• m¬ÔÄÆ~5"0”~”¾{íXEš‡EÈ{;T§xL¡n±Ž)}3×þˆg(®(—[i[žRc"Áå{¤g"t™ +N¯žÄní£N]5¾Ô:)¤ºÛÁMvß[‚ m½Zp=ÌLŽP½­ª3þÙ[½‰QvÅgSk^4Wk7“_­îJóNBcS ìcªrÁIF+4¢ÍÜx,z»aÜûüÅÒF($ºÐNQeTâá½ÿÅ»Ì6aq¼|­yĽ¯Âtϲ¡‰RhˆY.œÓh6šïª8Ü?“Â;y”î=iÉG¼2S劺7!a«àˆ@ï…ÝÌkí +øœDfnÉkÿAµÍ/ª~)ãj;{š„/÷¤™+Íg±».®ñ)lëm؉@ø‹HŽ{s•ž¹U홓CŸ¢ÏÀc8¡ŒÑ“ +<&ŠÎ ‹dï°“’oÎw>xÄúm³fúY]‹rÐýÅbÖ R<æ?13”’qV²%úÝ"ß*e:iFhwž…+ë›R±k@F):{¸åÚ*«#Íý=„¬Þ"ë…ã8¬½Eä4¢+õáñšØgŸ”ÌOÔåÑü Æ›ø…ð”ÁqbŠÐøΔHCnG×+ ·­§:zDJ|â›0;Õd0¶$Mîððh"ÙXÂ…»™Rtü¦"|ÊöcýÃõ=ÆO™^Ó2jVeØð:½ÅtüSÝHÁˆM[±?Ó8Mf„¿»ýöO-à—NWYJ«¤ Fë4±ùy3R¥nI*Àà‚§">¨1x³°pVÒãœjQbtîeÙ²uãøÁ<£pÍT5—Ì…„Š_/;t>lÞVu)–Ôâñ5tÄ.í÷rB²B±•æåúÊàGwW”÷æðÈΉ–\~_¤¼>ú¨ŽÓà+ì1Üx0A‰Á(Ige‚²pÕÿŒµìGbº3ÏúЛ¹i¼ËŲïb†¤°­ì¢êƒ,€g¡G¸hÊ#56ÄãpoÕZòï-œ—+ËŸþ'0Yé ßƒQœˆß¥ÇLMõ<9Á±Ö}*îÕ8;…¹@ÉÀ8ê^¯›AN´æ àÚ9ñ› vÚ£{%íÓÐØè»NÄ,[ÁQû²Ç±„šc£z]¹õ…§f“ù¡i;]Ú½ ¡ÉRç …Âï•c˜‰-§Bå"ç¼Æ‡(Ç€ 3ÐoLÇRûÂ[ÜqÉ:ävò’Òs1ç‡?€ åÏ~ráåRd©Aï}6Op›ÃW 7;$<”ÛêÔ­¤Ù}çoÏÏl]®pʹè‘\­'Lžš3sÍɾiu¶c‰:Â_ð]nyÇÈhŒÆT¸èn v#éŒéÖlúöÕ›;^ñAºè`Ô¤-‘ÊñMó4ïŸ!£LºõdGo¤Ñ£­¢ã¥RýÎTȱ ¯f4,T12˜Ì”}X£ +—Ã)‹àz¡ +ÏöÓ§ ‡È ~ˆ€æ¹mt‹.ÄR +endstream endobj 748 0 obj<> endobj 749 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 750 0 obj<>stream +K y*ºÕ:rða‹…>Ý5=ÐÅ{~¦H{– mU‚ÚdK+Ã>¯ÜÂìðŽñ›½Á8øÒKö:'ÏxJÍMžxtFÜ_&£ÖàÖÅþ™·XØ°¾Q–§æco­Dߤ$9sb›R¡†´ý Ò˜5>JuðËЉio þ춛ÉL'„¼XmðÉ>&B§¡ôU,_W÷0;_YfŒ +~bµ“áÞ@™ýç£o¼vúÕ9^üßÝóó_¤@’#iú2Ñ&ÈÉjÑͤžU +!Œâ‚…k~;Ž¼&öœò£ŒÂ88î\d:3Ù[fÅ×—Ó"ÝE]Ö#§Ž—|K½—÷-ü}O«0þ¼Nâ “Ú<¼¼ë{e¯Åš=<ÿ%aµ4›*…uyZœ—S÷2ÜFkÀöuŸ°Ð á9³ºJÑ„vü ó…û‚ƒškeEZ­Ä2LÕÖ@&çK|I=ž¬NI¬ÉîöÞ Vzf÷x´œ"Ðó§M+ z¦¼9™;‹.¾ó$ˆb…é«g paîæt µ¯§gR½·ˆÿûS!/ã‹–d:ž¥xüv>¥¤©Wúù“üË㘞—UåíIDÕR +»Ï«Šûƒí*¢ûz²D/G_ü¡â9œ wEKPÑþu7mû[T°nÊÐ÷Îy9n)q×Ñï™9ržô<&—‡?v·“BkÙ.Z’?Ÿõ|‚¹-›íO“g ²W)¹§á©FÛ°Gz€3›¼íl<ƒeG]Õ Ÿoh„ѯ¦C6ܡᲇ,Ö¾‘]†]´¼åU1aZ¡©Û$,–éèͽÌ7Çb­êÆÚbóì)óûBO’ðÝŽà?HÆÒÚ”ÌÙGµY5ŽŠ*gÎ>p;ý²ö‘(jÜB>n·ŠI0Ê>Ò×eÙË) ŒŽ›ß Òüì”ÐùÛIþq%­™h’D¯@¨<à¡›:Y…Lø h±a ±oª?×Çð°$¶áÃøQbA+» $SæØî˜7Ý·‚P­w‰pàx[¯LÃÌ}é»OXÊŽ±ÏU¢†&ÐÍÀ—< )3Òôd®Ez=±+Q»Ó_ÇÙt,S/W¼êŽÁ9»ŽBj…gÙ"šwLîRƒ/5½‘ÖyÓ¾¥e °ÙË×ËÄàåkK{VXs‰ý±0¸7|ñjv<Å”S¦LŠ·;Î؃5êa¼8æÃk/ŸIv’7hJ©}¥A,ë>JŠiÈégñ2Í3hJ¿‡ÁÞrËJJ•ÑÍà-±äšÝ4ÝnÙ>âÏjuõ3óé]ÄžíÀ¥ºIb‰Á´@Ç{ºÒgèlÒ~þ V—Ô%G*&KïÞm-B3Øà4áž[Yt²FÝëkÿPbl±œ Tó3ôÓK ö®xΆÆê¼\âÒª¡3ctÆÓsdžK s)&ë2Â…Cô¡‘Î+ª_«RÕwèëGcˆgkd°!„i‰{5^, Þˆ¸}§d*#?,w²–b]@ð-’4ÙS·ßxÒ½âq±õPVÐÎXh2jù¿ÙtÊóƒÎJƒÈ6ªQrÚS +‡MhCET†,†U•¢L¸aúé8íü ++>ì¹Q­î÷Ó ¢Šóè0¼j¸÷óĶì”| ³Ò* +2˜‰¤y‚?š==ƒ=1Ú>¸K½|Nò´K‡Éöt/¹é—É‘Ü“F{>ص–”6¯#N(² º kĸ}+Ö#œg‹“òa6Ž­küF«DVwÅ@U¶ „9”þ¼3¨²Iké¹÷¶§ˆ¼Ç\l7éÖu]¥Ïtˆ—ÿíôË_‡3dDh¨žW"üûœÓïxÚ‚÷ÒÚ;‚/Ò‘ ó„žÈ¼˜„{Þ‹öFD½–ªRõ*#`¡‘êÓyÛ´&RÝ­\¬I¾7õñ‹³ãxloçzË°m¼ú®õõJ—øã$[_ö’ûf{*Ç…‘Ë „,R˜t_†Üæv(Ù†ãy^BÅbÏ¿ ÀY/Fê›×¡hÓmg÷¨{}T˜¥!‰¡ ­}™ à °gOVÚ4k“wmăî&E üG/èÚIJTF#¾ˆ©³RW½ÔïSI€ä•®9•‰¤k +ð£Ø[n ?úöÉÿ`å +÷‡ìZÚ-ùœqÌÆÝÙtëÎmcQ´HÆ“û{äÍš°¨ÿj†™Þ¨êÙjÍêy r¯}ÃÕ–ÿ®å®žä0NØ/íáþœºþPÆ8ð†ºðoÕ¤ÙRÒDT±ºy”«ê`¹6Ãh€]f,-n=‚NoŸŒmÛ]ë$0èûá¯\Œ1(Å®®šŽêæZ¼—^ôAA?Œ¯FÉdFÕRzÔl²Zu¤F@ü/Rª±aàqbïZ¥è^ -l4šÉÝÂ!æ¶IÕS°ªwš y:à g‘KÃ3Ul+žÏ©šÕZ ýã_¦µP‘ÙæšÎCäeðÛj„ZliUrX[}Ä^[À^âì¶Î´à–Ù$»wLˆz!d’ÝƆ‚gaJKŽ\ˤܟMä¯ïA‘áäíAììÓ2y6DF&§?°¾WðEÁqŠ¡H6oÀBËÎØò&ú•Ÿ``¿.%a5ƒ-’•Yí—ÌÒçëÁ¬YBDËÑC5ãÞIþMö_×£ÔÔEm²¨xɉxÜS]¼±4þ•¤97B‚$*LŒøC^ ÑwÜŒFo¦€¥FöÍ4ewýCoD¿šó®´Î*”_Í£7ïUä%YÃXΩ¶0|_;Uôh?7gæt×@Ä<ŸdNßK{±u£†M¬—óÙçV®¸Y÷s@涖Ëà[’¦j¬qeH +=>+‡ˆ?lÂ_®Ï>QÒé¦:½”;®¤)Ü ç%JøÍ¡ +¡z%¹j;WÚjŸa÷DÓ¥lŠØJð:ÂWà{^‹¸©xSUO]„Ö®éEL›xFµXÍ÷ž~|B n•s™Ô ¸÷`Íu$5î½CÞzéßZÿ‡8+5V«ƒP….‰vÙš5|k>ÌL ú_¤èÁBæù¤‡AÈ3špÈ=K”Opg%÷ÛýºØ«Ò\¼¯e²U¡ à%•MªdÓüËâ—Ç¡ErgXé2ð.©€ò{ 9ãE…ë£i,èKŒnœ^Hm(½–À‹Ë0L½cÜËg£–/øÎö»: Ïæ}Nq¬Ù¯…°àü‹xBÁŒ-naÂ.gqEÕŽ£,›%™ú¶Jw YÎwwv5ÿìRaPÿ¦fØmÔeíò‰À¼ïWg¡…öeSx]I2¼õ€Gœä)¾Êµa8Wò»ÁÃ8E¤'·‘¸» ÈŽµÉ…<_`3„(ÿßgYÎtªvh6†¹CV®zB^éâoÇÒ¨Ÿ»úÙïÓbÇËfû“‡í2ЈÊų@ÄøJÛ†æ¼ë Š§î»±v) ƒ¶t óÿg!%Õ;ÚÖ%ØÇD¯pÄv)êØ—Ü`ÎõVö8î…ªÏhtB ý5tpZZ"oºØúi<4‚=žŸ•ñJ´Š´3C7]9Ø9÷ ¿à04Ï¡¬(1cÎPÈÒ6×ü¤Â»¹k ß'&U¿ZâV§“Ó%Ç7‡¬ùQãwu¢(”Ùäô¡Šž¯Š±«˜)š<é6ggÝB §oýÜ\‡%â½™åi‘W q±ôl?b7 Ä[ZzfñãW1G\ü‚/«3Ô=¾Œíjj.‡‰ƒ7&Ì0Ë2 à}Y &K½ÿt'Bv¦7É(§Y£ùY²ó|q9Ý|qÁ©ù+É…"‚2V©‰ó>ˆ +c‚ “po…¸ø¼Zÿ§òp +endstream endobj 751 0 obj<> endobj 752 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 753 0 obj<>stream +2Û„t§3¨QÒó®šâiÖÖŸ'1Ýa Æ6è»|ÞÅl&ÌWå»Õpôg‡³W?h1@/}ò¬,¸\*¥VQžúhÜr&Wmx ÅWàs³õÖ{½©¿ò¬/×xÌâê}:·cÁsV±sTÔŽU†âQ&áØ­°¨ºV‘w¥¥ÒÝ>ì06’}¿X›_Ot¼@®—êZx²1FtÈ’ªùèkqlå»éšÞšÞ" ›Ú®#ÿN¡*:d^jhwB¼êu:!‰c_,ÎJ]ç”R¡r|85œIï>U²[~L™Ë HmïÎOO؇3Ê««¹û×½wvGQ¸ã²öL,Ç@Õc[mYñÀ<º)mVˆãb¼½#ðTHH¶C¨¥P)Îÿüpï>Z-­~F)íÚ=÷¸²¾Ì»&÷tR¯¤8ƒˆ7ËŒnõ¬Âh6‰y™ðáæ¯^ƒ/µz‰;“¦j$°ñ©P´ñƒëJ|~¦ö).”òg¥;’®#—ãºûFq×EI~i”˜ùô°Ä_ìÎ~úW<<­û÷£â'äD"PÓôú_³è¤‰p¡³W1—Kbú +eS§ž£4n_àdªö\s2ûÊTÆË.Ü*À0‡çÛ;C% zAéVVÚ¼jt±|/¾^ž30á”`g³ËõyWÈß¼" uýgü­‘ +egµï 8˜˜cž6ε޵PåÓc­>¾°´r‘QõSû¿FE@™ª=\îE’©¢¬0ÛOi8­f¦Õ77°® jÓغ $Ìûzèך2€é'*?-8†áørÑðŸyé’ñSªÉOb65;eT_=@D£õeónDŠŽœhyS¸ÒÔ¾ú<.#ìYÉžr“áý×.Gi0xÊðnŸ Ø.‚Ïè|¨@…Þ£ü dFè~Üï”1²Ð|ãÀ¼ÈoHÛ»õ£®Õ +Î6÷ÞR9Wgt Pái‹S: ë.¨VÊR솞ï~ºE·Kq׈÷Ñî5AžÊ{8¦¯ þ':Kûx‹%@±¯<ÀÇIöþE:ÈæY€ãqW{ßíQ¾æò?é œXµÈ¨Þ²,>¯ ¼<ÕÓwswÛ–Ýø‰@™q~·eå¹!²*—Q? YÖáÌOÎÐæ^RŒ›£Ä%( n¸­PÍÈußdÇP^çÆaHbæE‡;wš‰¢F 8–-í!Œ«@fú@2,ÎëkHèµ°(–Ÿ®¸å¸b+íaîÙôœAΰ/}óm ++¿=ª„‹ˆ9¹Ÿž€˜Ë>åD-îcça'­ +Eyrp+ú  ·†3_%Ë‘qBñÿ8 +á;«ÕÇ +ù;1†ûÔQ»Ÿ•–îYOºÐkU¤ÇM¨ýžJRyz«`7R%Åžéé¦,g¶pâ߸YÜ&®Áj·.ËÒ\/‡uìáF"š(9!LÆÔù »4Ýä ìn´™>·öjÙ’ä‹ÄÖˆFwú-ÐCRêd5a³¤²TTÈJ  £Úµ×´2b³žäÂ^T½å[SytÒ˜”v:ù¿èã»5#‚Šy§uø}«vç6xæ„-EXfÑé·pøOf¶»Í~.hX?æH|¹œMHu¤<ݯ ¦ +‹ÜÑ„Ð(o²/–Ê‘×d/ø%\; t +ËU.Ôì 5œmZÿÊïšNyŽñ|%v?P +vˆ’.ñLìë=ŠžJoûÌKú<ˆÍ*0Te¯#q™tEÛ+\žUjä$$†ÑצL`#ãÕƒ«!+·ñÿ'¿Å¢Ÿ°¦(Tâ5Zõ%éÞL!Ñ{]SÓnr»<ûiVX¦4ÀÒ(î2û6'Ù6F ·MÄR~s²3”$ŒNÂ"K¸Üq|Ø;BâÂcN·¶,ÁAúmùâ›ss=P.Æ=²k¯yÛ°­±:"Š>G¨GýT-UåfY ‹Î8äþ-"TbA¹·Žq‡:;Èrí–õ0d¬# +ľÀ¥ÂÈK™È³™Gñ¢ ¹·I§ËááÁÛ c'±oEò”¢&ýÚZªR³Vx˜ï¤èè™ûv'2:âÒKe¼÷*8ÍvL$w*åƒqOXaï«äîóªb¨¶æ5ÕB‡l"W¤æN¿ŸwÂö{oFºŽÃ£¯ðez²RÞ¤äŒi +‡ç-#;¾‚1«‹c +{ÉîŽ>»ÒH‚îQg/V¾ߦÃ+êx‡vð37â20%%UÞC|Vá‹Õp¦£±9ŠêTuiÚ“kž¡—T€¹î¡EÏ‹æb¬¤æ³ðY"s\É»s™Ëè u¯G¡ïyGÐ_¹DTd ‰½¨™±0hàè²ìPEÿ$8UÐùÏ‘”Ñ/f#g8‡(îXüòsa"Öë‰uÛ½§­èÏ“ÖÝjHœ Vã_V_±Gôï»=@†Ì<†M+)õØg¨K•ßêÏÍÇôp²c=ЊÆÜìØÜý6Ú¸#ñwdDAÌìR/"ÜË(6_Œé‹t÷/ÃàÂ<¡îÎîôr±Q Íÿk„K(k’¸='ÎHz<ÈÎü +Š3èÙý¿êôvgëÔ•úÈ…1bìvÃA,Ei½¶mDhUhÈS¯¥…ö"ˆîô?°E^žJv¨ñ´ºhAìÕ&ñó¹¿C&[B<[ö™W/¬lvå¶Ãƒ rö¯ öøŠ ZËNŠKý\ïõCÇ^waêÆý’ç5¼­8VÃäÜh؈lMÂT®ÝŸÈ7J¥I×ÐmeÜð¶s‚Qn—;ÍKDF¦⃿ÿÓ‡ÀL-¥‚€~àòt—Ê¿¥4 &aXØk;«×W=Xæ>ú÷ù-ZYg>f10ñ0'ù¹•Ðè~”V˜±EX{ý1Þ[Rw›)/«úE>‚:ý"÷­SD)9÷{#ÁEçÅÜW4fßçDjRB>›¦¨ÚìÖ%Ð'8¶(i¬é¥oik Z݆Özb`¦~¦Ó‚–Þû¸ó–Ò[Ý­³¤èš0pljE&“Œ°$Ñï±"ü§µaÕcÄ â´‹ÞÂ,9¹gàA¨M˜lÕÇÔ>:þy¸}`ƒ¿?Ë]Ò\+æ„nW¨-)ðIcܵ@MˆË§4º…=œ"ûÏ÷›¢ø6D—Á‰t—ÇT€¯ôïˆVD‚èسýÛ~lõ Î Ÿ\ +RM¯¦S- »w…ÇPö×»Ž½žI¶ñÖH0Ò³êeý)MOT€ÌT (0Ö+{Ã×­«\V¯úN§àh~^i+¬¬†n†“ï*üK®vÍë¹Úæ÷2q^ÉWké$«¯Û ñ‡Ê€ÖØtƒª>`[!cíOf'pY;t¿±JÎÄÙ'¼…ÒîzHƒh,d-OH@‘ïÚµÚ§êû(í¥Øø1^Žk(}lŸ‰Ñ`¯Çf“²ÚÎB0Á,pÕèÛ¢ƒ2!;O“oØT6ÙeƒÍ/+ûеÚÅéÔÚ!€Ò͈èÃ(Ò–xž´ìÞM\Û|i„“P*þ­|êÂöXzÖ£”à?`ñ× S-Œšµ²½>ÓŸ‡ ƒæèda»ÍÍà +X”ý¿øg2¦Ù}C¤G§´ù3v5dâ3»Í¬r +¥Yèpùê;pã†V¥6Ã|¹hC@¾¹áú+žŽíýð]Ê2ãN&ÿ$H¹À{ÖÔCÝþ…ª­lj>ßÎS!2÷üˆ‹¹m«£®ÂxÇaŽ%‘ bwÕqÚÆ1‘¼ód²wâIÞI‚(ô)ùQ²`+ Ž—:?ä†Z”oª½pÓÆ‹ŒÂÆíŸ.©Ö>EÁmö(í#'ïȾ0®S£´V1N|@§âF¹¨Úê¬<¶¬ùù… ”1±¥öëHp—R&¤÷V]ùògGÒrÓö{\IÈöu-R×Ù«Jm‹5Og €ÅßðüÍÞŠ˜9ȪMÛ´cväòîæ’óÇ”ülÀÿÑŒ\=›EãRîíG‹aÿ›4œÂdcŸ»ÏYÈdᯠüñî-ÅôEL|߆àØSbãñK4Ö`âsCôð5t)$–p€Œ ›;ø>IzÔêãˆg =™f°>Й.ßñe›.ÛÉ|D;Ò¨ëšÕtpäÿ%Ïë&GÙG²“8 E$‘ãXµŸú´QYý}Þ4:}¬ƒº(I»³}<"Ò}¬ì·íÜi +|t­¡Œa?QæðÜ%•/ÎNª½H9I\‚ê¡y‹ˆçNõδ˜=éÙ|úî1ÊæKQC.)ÄãϬɾçwvé|­c̪ N"¤" +ox(üœSß ÓžÄ›ÖÚ+'1îc*VfVôââ±#ÛèJGˆ>ήCvé:"T3Æ#³Æ,D^„ü¼ä^.VÉýýð箸/ÿ> _!ÐŒ‡É•jÂLH?„Ìî#*EÝíL ]lææ— ¿y= ªÌ8ÎcÀù1û^X7v‹5ÂneÆ_hž¨¨^+?‹¦Ñ|Ó’B¥Ym·œIVÆ1}Ä©|7è¦X2™ÍïyI¨ë»ýNdÌäAïÒEDj9±·¹Ã¶ŸOxOõ ÞÇåè(‚×ÊCN6=“ï&m6%©\ê<õ }þiö$ÎN´!Þ.£JÊ¥xì ¯Ÿ ÐvUnö¼FëHJ…fÃz®ŒèÐϰňÕöpPî3+B¾kp+¶i(( +endstream endobj 754 0 obj<> endobj 755 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 756 0 obj<>stream +4wÄ2Ó{S§¼q‰†?¯“™Èõ”…ýkê´MÜ—ÎtÎ1“³ý'À0±!¤ŸÍØ»vDŠì“ÙNˆÂÃ…¾¦éŠ‰@¾çÑŒFÐ1Ràá*Õ1BéHhÜ7õ)ňä.t/r2œ'—® :Àe¨bèââ7£ ¶UÈ’‘=_+ •«[»ͣi\¾adüô¹_?šAz96EÏoŽ„õ5ÂÝq-°}¢­d”2.wí°¤›Ô¥½ûãüµƒ¹›áUØ:äB­VwºážKX3ƒ ™xì¸ ß|jØ·xvM…¥ç' ŸÏJt£x‰/7’¸D ɘ±QÑã ‚‡†?P6áv+©ñž‚¯µËBgÞ£¶âSxûªþù6ij“mGþ‚\­ÊÕÿ-;åj0üÀ|r*A°gŽml>¿€× þûTŠHm¦SÉI¡ U²8‚¨™¢Šj¿4@:Ù|g†h¬ÛrÞpÓ·fRäÇWÇ¢ø¥ƒµ´Š®ø£EqAlv‡TžU#ö.“Ui}l•àNªlíÖg—Ñ-WÿÀ€© C8— C 2‚M»ƒÁš.åà&“#:7‘Îe‘Ó}Ìd¢éãÏÙ±Qº]¾åéåÕÒ~â¤K¡ùÄœ+‘ÍKu5AÈpa{…=²x P)ºÂ½“ÓRì‡Tš×úï †ƒ@iÖWùõfä㊺®T6a–Dwä€Õ\ Ljb™߮ڧö7n06ò8¥]\MÓRØÕgÉhÜñ0Uy¤ë¯àöïO±áL3œ"\Ò+r¬+A]©©T)+Z?c©~/ÓÈxâR—‰x&×$™-Z•öëJ&ÇfÀƤÑÙ¬{Kü¡–ñë#î¥îï‰IVAl²ôr%"0YHúN0*û*äL{¾p-¯sÔÙ‚Âé";„Å~ †õp""ÊM˜Ä}‘øw|]aw×I‘+BM)õÔiDzC4ê–W¹£>Û/TþFçtÛ}wgteAåèùÒòŠæ‡Ì¤Rj±b¦ZJ;£‰ æ;ÌUAªC±ÎÁâ&xˆ—†á„.ì>ŽÓ„±_^gŠµýAû…ò«Ì¾§àÌ­>܈5fþÏÛÎ&ôý|CÂ~O*µ˜ºÚ&5æ$CîêHܬM±fÚrÎ'ŒØÃ-üȘí'ç§`°<ÿ-r¢ÕÆŸZÞ"ýg€Ê0ÍÁ‹‡ ”~?aîmrÄ3'ÒÙŠ¹Q=:ëôòÏÀNפ`wâ8RÜ·àÎb,`DÅÓõ†YÒ7™ˆ:¦ |+Cefª¹›ãA'Jçhj +­']í±=G…‰ß:¡a)Õ%‚ðUëTþr‰7…¼ñ·à´,×õ<ØÃÊš1ÁwÉx¡ªúÁcŸ)¼°‹ †¥r÷A*= œX­Çò¸kÌå…änï„R߲ܷÍy)â‹6ò}eô­Júgðºó‹Ö¼°`5Mc|î„[Ø3•F6ô&C•gÝÐãc jú?-1VW}~˜]E9ß +=6‘ãhµQõ+ °-ºÈíu‹„”Û´+BŸË½˜¬Þ7ÑO‡]¡¡Òaèz¿hKqÛZ5Ê=”0Hù÷ ‰rJüç =³yD?•’„ðð†W¢‹ œyü‘g¨sÒ\ ù笞,ëâµ™HsçDäQ0¬°V)‹ÀJòÆ׸’<Fâ¿VO¹ y´êR8Šì0éLšnz8NSé¥W pƒl"X>[›–‚O÷ +lËÐ%¦gæñ +5u2$y¹t7Ñ%l¥ Ó +r®',ˆ—·£¹ ísZ!˜søªÇ9¹ 7 õÆe˜ÿàË:ü•‡sª0UF>Á·çaÄXÀ ùîV Æ!hR]°ÙÚŠ·Z8EÈÇ_¼©+”Ô^“?Y|yÄÚ¥ãB0ÎJPìå0Î2½î~ôRºª…9ÇK,¢N Ž7fÀ©umD¤ß!§avEqdfì6µn€Ä™ƒ¦Ký¡Y™h.y›†Â“iÚ / ™Åã²í¨žP>M[ ö6 Qß1mâŸp×1Ù±;¸Zã]Ø{WÁš¥NŒGn‰¶²°|îôdu‹=¸†u¢¬!PÐÔØ2¢¤JÑ'¿,ß_%'ÿ¯OôÔâúNLk³^àÂâÍ{|[0ÇØçŒjn¥=&$H[ä·—––‹´ˆR§R£x1¯²Î¾ss©oœ\€‡ž2= 0XÁSŒÃ>=§´!¤±|”ZCTàÍXÅ8Úͯ`QNÞé)¶z +&Ð'¥ï"iéý±KsÀJyãÝÜ"Õé!“×þMìb­ øZ£]LÏš?”mõ:˜§›pë¸+Q?RĽM=—!ñª×‡F´töˆõ¬pM»[„õ‰¢´Ž0&Åç\fH+}¤‡–æÓŽ¹ÞÜAôìáaì¯ÇhF‘Ú1Êo4Y=I=ƒ¡’žÝÉšHña<—öúYø8ßü˜ŠIþÅCR'1ö¨J]~¾<Ë㳫V!j îÎs§cPϸûåmÎ…&ŸCjàaqB7Lþ SœáøO¦ºB„WÁ=ãàÁ¬Q¥Ú‘Ñ(o…À§Ù‰Ûd0o +”>JϦBx…Õj…PÙcø • ¦¯ÊHƒÐ΢E#û°ÕÚÑ㙥°ñCi +:ºÌ…ßh’m5(7éÇÐãèe!¬-©ÿÒÿÈ-~Lpí»+,ÛÚFN†•Ã=8EcÊlj%1#ŠáùèW,Jw^í/3’ ‰‘áŽå.¸á‰{¦B1¦DžäZ\B¦Öd›t¤‹÷Ô›[!è2cœ»*‰›cHʨ@Õ¹ +I*dü*¹êQLÞc Rþ(êö\WÍÌ&´åYáUn<)Ä[bqæ8®^˜Žfh/nL›j:‡SÿRK˜¬¤®±éAò–©¡½¬—–?/!OÍOsHƒÀºìD,,„çÇ„áó™3)õµÆ»úò%0'±”i +J$ì~”áC7‹÷ÄiÚq*×9fö¸í”Ö,~¨ÔÔp•pUÖn3»Tº ¬1èÏúÊŸ}Û+ÏE5Š¤"•žÂÎÓÝò$=»Ö[øäD7‡¾…'D€nØßÂ`¼)/è›Kû“ böåéVœÖ³Ô³‡ã½j#]Óê^FªtËãЖˆÂŸ’2ÄÍY1ŠM\²ïMJÐ;ª!´š¼@núO¸†¿Ä,ö—ò£œ¹#Üw7¥Aya%ÂÛ÷Ìð-@Åñ°vQñ;(Ghf䘫²`¸37º,ØK¸³µ]F;Õ1 |]o8n÷Ýúua˜–¿ù› zrÀc|Ç|W-U%¯(ÄA²ò­µ.‰V–èbBòLÆú°/ƒ¼ƒÙ Sd+N0†Ü ‚|Ãù™Œ3Uö]=‘쳩 rì¿™D.¬âó1+ +…²(õ¢­¸&=ɇ/(ô“´Qh-ŽwØ»lë#üZœó ;• –Ô2ŒHùŠmóMŠ ôS~^ …¡K‹EYZ¸c èÈ\†¼'/ ‹á TÀŠ¤©—#4í¡†š•ã7}Ý<Ì ­yÁ:óÙµ…»º©„2vTš$zr„û:/Q?'MÔE¦=aå]¯X‘UK¢à¸ª²ø¬›‚ý8˜³ÛSÕ¾Ÿ!Êm#Ûˆ—7¸5ìÚ„ÁËÓc\,O~_PÁ¢Ç´Í/’AíPÂ\×Ú&æÌüh€œ°5.eg¡‰= „œ®=pÉÜôFǼ«ß‚lð…''„°>¿ú2¯¸&þZÊïî“áàk1¯„I«ÿÇyW>â[TB˜Š¿Pµh|ód‡4ÙXJª … |{Fþý²¦>KåÝGëÜ‚(ot5Œ£Á£ãû:,²ŸÄCz0ï ß|sˆ½,•5w?sùÉ}òUujÏŸ/z òmˆÄeÝD+…kj8 Š3Àð +Ljƒü¯¾&hAI|î5 xµ%7 ¼m.œ|R&yÊ{`ØoŒà\ +endstream endobj 757 0 obj<> endobj 758 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 759 0 obj<>stream +دèm`èï Üg‘:¡K‘¯y’Lù²¯ÜÕe†ë%âÄg»œ~a÷4¡}wÚ–ÚqX*?ÉzÍÞKBÉ0AØPÛ&X±×$¼%ÙôµÙ6.Dö­Ú[ìÁ!\ÆáJÓå¡|/lrX•Õ¢—]vèYOÆ©*Ë{)ÝÄ»Þ&œ©¯Í0†{”"m nWp«A÷Þ2hþ.îŠG(»î³û”So2H–ÖÁ2I½²ÈÚV¹"›‰Ø/»ödâ{çgh*½¸„J‰|ïÛ’§ŽÿrH±¬ße–âuSĵ|Kq¼×”¥ncïN\½5XÝó§\ã17šíÜú%A?[¢z g©S¸.%ªØ•Bd-M:Eªš3m‘ñ<þ± X)Ûý¤$÷¹Ët$+H‚ÊÄ'øÀé©¢,#KŸ«iIy³L¼Â´L :–>Sâó׊èîŽñ8‹Ÿ‰¸Edw;PúS$-=ŠžÏÞ$H!“{üú}Š°.èkƒý4éÔò ³+ºUE€­0kdž‘»[‰uÜË$öúër)ÎèXb!¹¹î-G=¤&~kÒûoòüãžë—îJnN‹z)†49¿s¦4xP¡jæÝ”èR»ýïTÇ¥DоUØ]xÆw#,X÷¯I!¿ý»ºù,«ç€íC95®ÆiþKŸUs¡[âšÖY»nfƒò•O(Á,Íëjñ‚º¯<¨X”ë„¿×ÑÑ]\1Æ,ÛÖû¡ëw’Y¿?òkiX¾™I-Ã60çbo\þ£Viz$(”âuQ\2í4O`5Ÿkí™Ñ*5U$«äkÝ…4?ãôqø¥Î¨áð; }}ñ£úÝò  ~F'„.„6ôÑΘ`Š—Áq?*Qú¢>aª:*‹|»Òg“°OÂ’xþlIg:Ÿàw"žmx4jâX®€}&˜ ûÓ8Ä).C÷e€Å;Þ櫵=¤2Ì÷’Ûü™Ø lÃòHIÄs_f&þu3ö’L“bô^±ÁN ßrPIi Ms³è%åÊ–$Åô8é¾ZßÍ‘ÝÆ·MnGP¬š¯œó{rå¶r¬AœvÓ‚¬.[j£Ðfó¦î>W ¦U~ ^ŒÆ6XÅlÀg“š£Ÿ‡Ãn,±ª“þÕÏmËxé.EãBl×çF[31ɯI[]–ûyGà4âÊ2€?¿Mýk’EnÛ‡È~tV »3Û"ÇaD @`¾[{Z¯¨è´r-·§½¾rHï°;óøœkd½}T[³øêŽe6B!?Í^Æ •Ø)P“ƒim2»QPå+‰Åôá‚È|-$8‡Aõ¯­4ðFljTè7¨ r¼º€‘1:§÷—?é˜ûRê…5Ûasìó„³e=ò-Ô¯ê݆O¼°.ÿÿW!¢=ÕJ‹¤VÂhS_%X.’nÿø!ˆ¤^ðÅÙ©•íÓ:‚²ÚõTv‡<’ O62_ðÓ ì»1*dÜF4\1+2ßhlàÔ—ÏÔ—ƒ¤à€·¦;.A°¼ìü ì¨|åÏG)M'ü‹Å9ëÛܽôŠ½¸öÜøIOkÆÌøUo›zÖ&Ëä8DÎhÆçéHA0¯bÖŒXœ´ã­äæõ=C@³·Cë~Ê£ôpM´Môì«ZYQ9¾CÝ„…Î^ßb.›úÕ®×ÕÑDÈ!¤H4ÊM:µ+⣞úŸœg»P›xnÑeÕ¯,sTˆàž®÷¶Ø%¿Ï®…»*•A™¼U¡ôÂ`.Æa íÄrÀÉù\JŸÜ>ãrÀl˜››–¬/÷3G{Á2žËÉ’,–¡[>%D«>; ”0àŒð%p±—‰4`…/5äh†PS “/C¨îcÏ®Š4ɤ¥¹È¢H}ÞzE¶¦Çœ–ìÍCüFáú^üÙpŠíìÜûœèXœn{Ó–}ȪˆÌ£hi%£<ï½höå®Q"¬ŒøA¤XÍ6“AQ°à=ûhë`þ"=û©“ó5n¥ä¨€atÛ…G-üXÒÅ™Æ(sšd?²Iù|vx0¶Ÿù.Ã3<Éé)Žê>ÄjAºú' +%C[ ƒ„< 2ú6Y$&ꈩ‹_h¹Ô8ŒfŒ¼2úë"‰°…°ðIìÐ`¤ +çkpuú¾«ciø‹ÜsaË¢ÕkÂœ{…ŸÁ¦ûn°å‹2ĉƒ?N~W>[dº~¬.yܪÃ:jX?Ê矈Ïz¨œk‹Ë'~oòí<ç±ô-Êqì” ÚCyð{1”D#3£(N$c!°§À;€1ΙÄ3Ó›;ÙšúðéÕáƧ½v8K|ú¡Ì”»1'¸yK9‰Jé¡Çç +0ó5îö§›Žo S7¹BÖq›úPû¬JÑìFˆ<)²a ½3ï}„:,&É×­ùö`ê-êY×除,`CDv¸Çi (Ç+ž­a©¢Ë‰ÀäãýÝ<€i³¢—팂ZŽ#MÄÙïoÑ6ݽ>7‚M ÿcé=ºŠ±ƒ¡¦ÑO}`qœÖ‡€E‚Æ¡,øÔqØjÿ$nróHW”©MVµÛÍv˜}ƨõ¥¡%bl´²­*z9C)½q·v /€ëSjÜôwûíÏ#à|!!·ÈúÝBø¼¶‰žý”«Ãœè®¹—vDûì·M$’dª1ÛZŒÇ`dG&µó'ܶv÷šE.y"³ü x["û\Ê ;uÁ*|£¤.H}xpf¹…ø ÖØØDÔܶ°ÅvëF˜±Ÿ‡b6õzF"š½ô*êêSã5W€ÁŒ%MËR b#£“NåOÑ-À&¬Ð +ºjEPÇj|äϹp‡ß»jFv1z+œéŒ5Ôœè€8o!÷¯+ÕÜpx+ûÁ7Ì·–:‰×= +ó¢Að ù*»‹[?ZË +û¬¨Þ‰¹ ÈróbO$yð/®èO&â o~íD `w¥ŸFÁ¼à8Ý>Å]_Np­¾B{)K÷–ûsþ´îëHqVNlÎB>¶7½]BPeù;oÿa÷Ký õ¾Y\ívãç£MãŠ5JV絘+¶¬Äu<¨éJ}ì{ŠÉRLtÇmv܈o9V)›˜ëZÛUùÔX©è0Ma@ÑV‰…é‹ûÞ®¦ímê²i œ-wè›åŠË*Û|c€wó};Hpp°õ´k;¼t?ý¾ú:h·ŸohNRNçT»WK€Ö{0çÔksË—d¬ÑÚ`²;fïÛHD’Ù´)c·Q5GÖ”¼b&8<{{îÏÑ>Òï`6}”¼›Åâ—ýpæyOßžà1ºä4 Òbhv`ü\×d]“¯êû¶zöØ v²ŽÇ+¤Öü f!Pô|;¯ï}z´¢W8V0G!Ôõ?<·¦ÚYâ|ßvªª1ZnÇ؉ąòyìÄ3]4GÞçRÞßÀ¯îA¸}à‘ÅãÔŸA¹êýÂIt€Ñ±D#nÆ{‰ŽB¼d’à’ñ2èvOÊ%n‘—ž| +Ê%…4mq+?AGF§?·k†N#6•–äß„ï€JfGþ8¹ý€Ð4Þ4éRÔ6 §ÃÖV$\]Å•Ñ:;e®”ç¹j¼¨ï$)‡ÏW˜œQý,§}5k“â@«™*-ý^Ýý¾%óÓ”µòËí&xÛSò”ÌŠ‘+dßZ¬í÷Þ‘]_žâT=½®Õ*t¸U hRXi `$¹Þ9ðBtOñhKÓüµ…"a&݃ìcmÐœS]ʃ#e1·/w©åÇùIî»Odó÷ZîÝíËNß¹k8àñ7߯ÚÛâ†$í.É¥Ø^Ÿ­"/-:H}õÄá$igßæšò¼1õäa… *±Ë‡P³]Ü/:À3ÔàºÌ£>f¹=*9I¬~œXEÅtUEÄKÐWýO Ÿc­»³côõ@áIL›ªi‘ (íÔßA95HÄA­çJØ +Ô‘—¾€“¹\•ðQ&‡9&ó4/} Š-ÅÏ`õÈšµçNš'5v¾‘>ÓǾƒu;õ¹ìÀIÖ¢ú¸%‘o(ºC"Ù”–@_)8bef²_xÉvj׃Ƌ™Vú)4L¬¢A…Öxá5?S¢‡†œ„‰p“¸ìš +Ýœø S?±v ]xäTâgˆ§½j&!'êk\x£b>àŸÀ‡K%\Úð'œµ$ #Œ0!vÔáVFjÔ1ÌcºÌíÙâú+=y¬ß0iœsGÿ™U,åY¶8_ú‹¡¡v§Phy|ËP +endstream endobj 760 0 obj<> endobj 761 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 762 0 obj<>stream +z˜ª35˜ù2úEnp”Œ{ñzt͈z\'D}hV-9üëŒ^ñí ILlƒ‰]£Ãïí&€S¸pˆ1ñÜã†ñ}ð˜O×Å+×tL4z¬­a¦N¶¢#…(Ø6@6.jõVþ3[œ—lÔ6Á]"w¯Ñy¿fË—Ä ­ÚûºçÙ¸L&à¨Òã¤ä¯j‰zÓÿNm·Ð#¥kqÌßÑjtS*bEƒv{ +$åÀ¶mà +?@g<“whäUŒÒr¯ÑD¬ü.*Á«ôdOŒ A°Ð!{Ü~Û$¾÷¾K¿ +Þöûá¥+ã½ÜCXJ3ä{”WþRç¿ùƒ'-8E k,ðÏ NØ~Kg]C0L¡ºÈ V¿7®$Ōݷ!ßÝWÓ{/aˆö¦¾&o°gŒÍZ­^õ\ñ%L¿˜•ËÛΤ©mk AV½XìüÖâTrê]µsŽPoçÂí~ºÚþzbñŠ°`±k¢5À" ”{µÁÓ +‚«TF’N¯JLhÐxMðH)¡æpK˜sñóHaÜš– —aÄÑŸ Å´µ‰³™7Z½‹ÂñÑ«@‰DN‹,³êøSr§ò-ö¿#v{ƅμöQïŽûþ;qôêâSsR1:eBP{X»2^‚D€~Œ´`ÏíÄĨÇá‚%¼öÈe¶ $, w¿Æ)šî’¶- +–:‡í%”šÂ±ú×HÆB‘é‹$Ê­ø6Ïܶ\Øõ†ãÜ+‡YÖfÎÈæ³£‚P1“!í#ÕWù{Í%°@ù˜¨cœÄÉP,~ð¶­Ejd,]ËVâz ј¡¿a™~Þã·laqn¸EiiŽPtkY€$€ÿûÎj÷b(ÐG÷2"mÍi÷ +ƒ¿Odg¡¨F,iTPmŸ©_~ $Īðe†+z7áž’IC¼ÒÇ, õ!3­ Q +h°iuU!5$Ô>8Xv~œr2[ß `Ò.×çñgú’ò §/‡&]œ€ +#&ÒSà„”†¬ZQ&'‘Œ`Ó)âóª6Œ]i^šïdn¡p±UƒY†y0–ÔÓÈúäeXÖ6{·²’ÏkgwG„ç†B¯âv¼­æ aˆ9 1aËÛÙ•ÕÆQdÁ+#º‚enÆ(¸Êªî¨Åöƒd˜¯…âGÁ&”Xñ|v9¢¹‡íè óU§¯™E£a!0™ý§kk³ÁÑIð½Ð¬ól·kNú°½?ýw{ðPŨÚãNEeö‡  J4üKKñCn¨©«fýÒù}xê…*ÔâgRÅlîGÃ8$}d‘ˆ¨3v½qAzŸQSU0p61úÔö“PñníSž;Ššòl –á“Ü–qZ†R•S&ƒDãñÄTYa‚ŸJÈlXeŠÚuûÉÁáJ³Ý»—ïŒ3j6>¾<Î’Ù|ºI†øçbØñØX{F[“MÍ ÈþÙÌm1$3¾øG>ueâØ.ŠÜMciH1¼–4¤5;¿D+]àà+Tu'c •yFfjˆÚnø÷6ì´¯2«öº£ÿh•»$Š EøS¸Þ%õ{ÏÌG6ƃv‰(³Ov¤jÉŽ›/Ô,©ìÉ¢$hvV¢{Ï׌*ˆ¦¤ÖV'3 ~›lƒ¡<=‡e‹4({&Ê×^•¡¸ƒ1ù4W§ý­´fDûŸÎíRWµ«6[ +9ê²>ex¡‡õ4uëó¶œ@Ÿ…qÄœˆQ>B\å©ì6͹þ@ L¡«>ÜöÅ5Ъ´x»HKáý +Ð,ú¤ñæe ½Îoæòr9Æÿ°eƺ¯È7A¼ÿúbÔ5ДÈS…°É™¦YÀ$M2“lƒ¡É*0wå™_†Îã3(ß3ñÆÐ¥v^¥ÎA³|Àì tI–dú“YZ¯écñ¿z×€rËIm…ÿ"zÊCX*Än‡ ƾU€W °˜rÈFQö4H?'¥R´â M¿JQS•?A“»ÜC]€Tͨ)w=8z¿Üä‹É?]Úó —¦‰ÙÏõ¨U¦ô@·wí2áªfS}ƒkæÑ.FUÀuÅlKønÄ—X˜/æüÈëüõ¡"®æµ_üÓ9Ü*RÞet\i¥¶ÁY´¢èª +¬=c›áfÜÔSgùº oNŸ/ï/3˜›û@ÈÎ`ØdÊãäÈ>ͦí;ïc©¢øi´ö§ZH§hÑWU#<•ÆÐçFÀÉUÕaÔȪôxæK’× +çZQÂj#ù¹óï+Ãm3^¼EÃ|I¯›}Nf]{!¡ +6ÈáñZlÕ–ïÁÍ>ùËÏÅÛÚI{?}!÷Gëñé³ys…äÕi¥düò¨0%~æž}ECNÕluïw BŠ³‚ßOí·ñðÇã6ý–ç{p>yoïh°ÁÈÖ€Yã-ÛF˜Dn¹sÛ°7á¿5i+’';;#›¤‹¯. YN! +Z…‡5|ˆ;Jh~,˜è‰ÿä 3–©5ë¦;T¡ .·´©,TíÂ8hYi +%Ѫ óS˜]õ¢DVÒ†õ{$zf[“ußNÅ&‡ÐXçÂÉ`'¾jGÉmæ^~º”{ä/ú I‡Š•°ø¶DKà[*ñäÀçzŠS–kìõ‡r¦yy䃋óݱ]Rï¼38ØUÕ^ +)J.(â¸×­ iÕ1©°éxƒå:éJ;j’Üâö¹Â.‚¹üphŽ!aj¨Ñ +¶ädRhªB3_Û–ðîö,©‰9ðKÙÉ|Ûºéy©õÀg£-=ÓÈ{^él£!Pº’®fp-'½}R“r!ඩôÛxwŸ„ûh¡i:у“ ¯QKdÿ]ÕÒ+·Nôiaæ__¯@\ÆF$•ŸQYæy&@!›O²ûÙð6&£BIAjþÇAµÍªÚ +(ŽÉ“n73Š¹š–µj<»Ý·^¬±kƒ©CF.7*¡þ ‚¾mnJ¶ôD·Bc¼“ÌLV’žå‡Wka@DŽþDDÆæv&{rÅ—h}+ùt-§ßâfçîWû¥NG˜sí.ñ• ÍvªÐ‚ל†Œr‰BîŸk8ÉwuØÂM”Q{‘‘Ó ù¢r$³¬DêQ(5_[‰hé‡Gÿ¡„é>û±½%74š€[­"¨’ð‘s-—]·!4l¹b·#W”ÞíºÓèÀûÑÆ!dö:D)Õ +kñ©(L¼Ô¦ê¹žg°ã’p.T1¢=;Å_¨ß:”üÐØ•áÆ×|âtJ©IKwå ûw‡¸€ ®ü‰4ïHì:ã[z†ÕŸÄ#Ýö¯;O™•ËcÚi¯!êøn.L˜S»Hß•315^~n[‚oÂ4‰§" +(oÓÄuÖ¦+1s„–mjADfÇmt¹:(H1ÍèCæqèÜ]y—Òlw ÑP½ ‚„`¨^þ‚ëX±üÃ5Ø;ØPiÑZÔÓ©·ÅÙà~7²òc݇í_£õæNÓ_à•:C:C>ΚÓöçDŠÕ•Å;„ì 2íÚ‹oÅözÍšpDyyºËo#hÛ,il2™çl´u ÁõRhÁû_Î1Iªf’¯·ãŸt«¦Ây‹aÛqµŽ¹©LyN#M³ìðô¡£L–0'ß »ò?5WÅÐŒ6“ÿ¦ÔéÞ Ž_•}VQ·å>°¨; D{À=¸$¿QÆ)Åyÿ ˆî¼I9*ÚHqûßø„Çh‚â)#_š(ÇcYnNµÄDXfÜÅxÑ1HŠãÃÈ58òƒG×$åë¶íɬ¢ß†ìç&P\iFñ8P¥Òê€R¼êféw< +ä‰J˜¯à3[ËúK5Ÿæúš‚>@ôƒƒ… ™,Ìef£HKOny Œ3p +…H1ÀRá$_`-lcÜð +42Ø™Xê·ŽÌöÆð÷éñ÷§[u¼ÿWÖA³¬8¯{²³âº’+zຬ¤¡¦¯Ñ›ú&¿N¯÷sÓŒ{¥líVY^{Ëô˜P603—Q"gÉrŽ-£†‡),dz§¯aXaÞmwÌ‹*׿‘:÷RŠvJ`ï“|MMzJ>CÝ€TÝYg-±–cÏÿè¦Z^›ß]¯rXЈ¬T¥‘u²:Œ\ õþÄ7«‡ôyƒâéÌ +Ðâôf‚€Ø5#l¤Ŭ¶%ýž§V­4/+Ê0Y¥ƒvÁC¯ŸÁÀ:” +À@ŽÇ +#&O»!«ˆÓƒ›ÑÃË‘Ú›¥M4,X<:à;=Ìuêˆnle"›†²ðQjùÄ°² vËN˜£®rhËüÿ¼e¿D„´ !§ÍÐ*YÂ.-Ü÷eŒ9þòâOÿp™‘ÁÃUÙåÏr†ßiö£ÈîÐ@G›»3@Ì Bgå5ÿ¨´¿Œe³9óP*§f¢<›3ï&Õ:íõ~=^«™‡|Žgžâeœ©(Ô1~ÊÉéðÇAÕtVZøaÜá5¡€ƒv£µ‹d9ëVåÍŠ®Ë®£q©y)‘€í¼£1ËNX%TXàCpت$ÜÉ*ç³[äN +g.æþÕ®ßÖÔËç^>wW›J¸—šP‘ol'Z§[<)ïLâö¶Wúµº_r}è<{ Zæ\Ý`«ìqöÚDÌòZ ªÇ„XH§Šlž&b…ÂõMsɲ猶ô\¡‹Î8ìH,飧9äãñÎö¬AŒˆ¦]`gñ‰«e#-6¹Ôéÿ):¬à }K”1úå+yYöv[üÞ¨À’àΕ,ÓdådÏGW™“ÿ|‰×g¬ù€ûgŒy™gÐÉ6›Ûl +íLjäŽ,ã ýd™F馨%ÌÜA’M •:þÅGñäm;›§ j™¢VgeV½3Š@T½½D2Ç ù$¬ +_]þGT²AaÈ”ÐPÅ9mË×Òƒ%TƼ*Þ‰O¤Ô¬Ú³.öŒ‘Pæд ÓÞ]®ž¸®SÊÎ Ã&ßÃè»pZ&L¥\ë‚”OÍRýQ/ÿtÐV8îsãë$ §MÁQßrð~ï¸tx½p£´áSá*’ C»”¶“a Xâ­û"Ìì–Ð_»¹õ%ò²ºü¸iÓnFÏ¿hnŸ½šŸÑ0Uå§—Þ ^ÆÄWŸ¿(°-óCóÃ0ì<“!"‹•ß:Ï„ò»`É6áûÃ;…Š Êü²£±/&{Ò}ÃþãèÕ¼´>0€g%†-¬ýYNW Ó«nšú<Øy$Ú~’Ò&ý 5MëZbCæm0×ÖÒ‰õƒ¯"Åt»t» ,¨g+HÙ’LU­{~KÏÚ1Lî ÌŒ èÚ´$‘ö@ò‰".¼€o› }“2º‹Ï ÀqEX5Ótsè@»#N[ªê°…í ·†¤¡£§•³O½â`ëŠzÐa·«ª†ÕËå£núž÷äçÊ~ÞZ™ISD¤}ãÅVô´gs!#µ’$ìä\ Áš¥@¨Á~wëp¿Êåeø„R8«®ù©ž2fÂ.Ëát@ó|’pÒ‘§®8TÆcgÊhîÔwö}t–Ï(Tê~R:kéölO®gZÍ“°ÈËåxæ^x=×Fþ~ëøßÚ/G¼ÙÁMÃcÌŠ)ƒRÌÒ_ÿøºÛuù:Xé{CwŒ6Ò’PNÁéˆî'å²Ú¨tF¹QûVÃ%fIa¨smüzþÖí¼6ò›p!3¸o¶£®ùß²þ©€,Øð:s}hsñ^Q®ZÔÉ_Ç àSüa¿¾£†°fê¶wÜB  êQ(WøŠ¦Í1—¼t°QÙâÿBÄ¡‘¡‰-äØ“mfaÈE2½½€‘*"Q5gãÅíw{[tZìC#}“¸BBdI)!ÂÜLðž½o_Ýow²¿I|âf|Áã÷4ïhÎÓRj1®å·½…·F:‹—cÓá—U~·Õõ[¨Áý$Ù“‰è +êQÿ[Ћ²ÙŸI¦“ôF‘'B©lE|õ†XÞÎçØ»‰øfg`Îþ?.B°4°‡vg¦Ë:_)ÞNHIÍ}À6‘ˆûѯºÚrܨɨ#Ô H[ÉÊ«ˆ?J#ŸË›–’ýÝ@­²ûHJ˜q—H!ÀÂÝÿõ´°ø}Ž:zÈX¥¶TÐX<#έªÍâ¬ÌZT­†Ä`‰èGÓ;•> + •4®P|°Ê/™™Ù]ƒ×ä×.ósä«žh`/2:uŸ%‚Pñ~w§JZÎõzp­;ñ[›Õ{£ÕW]f8ÖüË»cû´vÎ÷•q¥Œ 8îˆ×fŸîPç, +endstream endobj 763 0 obj<> endobj 764 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 765 0 obj<>stream +PoÓfø-=G‘u~X×hêíß[ì~¨È4ƒríDöe¦'[a G[JªÁ¿ØÙ,ÙøÍ ¡ªµÿ]tSîh]¥ÇèR{ªS1Ž§?ÂQ¨iKáøj^š¾8N<+꺼„ˆ²,®Ô(ú6Ï©Ð'˜r¾/’ÉÇ1±Pô#¢Ù$'ÿ”†¦º(P´`ý1»o§Ëƒ f 3 ½dî®pWª.Æ)’•i.,Ó8½éõn¬¯Õ²UŒ©¡Š¢žÔ·Qý{ ¥Ê–Œø¦B UsÜñ¢øs<(³:ž~…Æ4 ƒtÊ|vPÖQH”Eƒ:6nB`“š©× ´T¹¨Î'ˆ U²Ü±zË€µ“œÂP±`ùk¦Ü+Wp°íØ~…Éé~•6îÓ{ç/€Þ‹ÓhÌÈ݇T ƒ«ïý5¥å B9 2³É³:gÇ+R´é7X¡6*®´»à[ ÚµåÄE¿ÎHùQõ†X_Q¾ÛgmbõÈ…ËdóÔeJð9ªÂŒÓ>Ub[6,ÏnR gAs˜•O‚$h«ZÄÿ´+äýVVN):^zÀÚGIíU¢K*>%€Õ¦x%!Ç=Ý„oáž1ôC)ºBÐ¥˜¢lµåV®-î« kAá¢ÝçnàFCrõO'óá¥[Ôp̸lðjÐSbÃÛÖs#óù +ròå.ƒÇ¾“ +<ÜK#‰~´Eá?A˜Þ`Âîœ8J…(žœ6T“%×}Õô,ò,:íz³È[¨ÿÐ#Ö*Ý3K©¡NÁ^ì™h7£ñdP»Ñ'0Ѓ$3±åpdm©²q¨ì>O$Æðp‹¢÷yŸÖ\XÞm(âKp57g]ÿ#q­»80¤t”CBÖ?_ŸŽxän° V“„ë>â +/®W›ò{½‡3—ÝÆ{æçgy1»\ÈûšnæQ+I+ %cbŠŸE—¢sïªp¯©Àã*+P-Ú¢”Js,ÉÂud?×+§`@W‘ƒfqŒ…kF©§Ô$æk¸Æ‘ÒY=öº9’OÀ™ßMÔjFyƒVâJÚ&®óA ·®-;úa7@ó}¥.#çª!ñPèeê¡Z½þ<·ØàºèìÐè6ÍN®EjÕyºôˆ¬,F¢9Œì61FLº©–õ·œfǶÔ+|Ù•g=C«Ù~[N*í¸w!ˆÚôÿ¯²‰»õ +¼’W&â ä&K>åÚp"éBµLæ¡‹3pžÓÚhÎv‹YInpWÛD>Tüæ«Æë×t'Xˆ©BÓ`ì‘—4u˜<.@×ä4€hìµ×¾ï±g³NVT‰š–ûNØ”ËnÞl•°» ¸(ŸžHJíg”jÉ6N–¹€Ê•°ËgRÜg£’Aw‰¯MÒÙ–{-…؉¦ÚýÎMù`Ǿe…ñá 1Ñ`LcÿJ¤¹Aœb®Ð9ë7z¸÷×ìg9„›¾z$«|ZUXÊë. ùÐ}ž‘ÔÌÂX6YtL‚ tvÿΫ|Ê1Øñƒd#{!Ì=`Ø8Žö!!*VË:PçE¥p´tÏÒÕŠÐ ÔvUöŽK©þÌÜ·q¥ùš²ó<žxd¯e° =m|Q ò˜™Idš-ªò@‚„Žj’n“6ó®õÄ EM÷ßà”¨í3æ”k‹'2á&l}D%+\£q½®)íŠÎc‘ŽœdnòŠ¬(éÔy’ç_{Ã4W¯ñiâb["ÕóéC!Üš +ØŠ$«SIYëÀ }j§pFÝ„eÒWeby¨FᱦêP<É7øÑ •ÒÊò]w£·“6ÚHªCÔwžÑ)û6$"|NËék[lØwÚSÅþüñf×Ã(fy`L•çBfo·x‹FRwÿ£õ`²/J´‰q÷WwZbÄoPÙ²'ÜL6ÈØdÎËÞÁÄUUia°.¼`›Xò +ÞPR'úòŸ{þÈôÓ\,búüÀ³À]˜¬ëAb¦§ÙÎ.ôïc37B¬² ûÌšÞ¡-6åùûodPÕ/<tì%Þ+þ”Ä Ÿ»™»ÑW¦ñÛ\S¯x>°¿•_)BHu¯4÷®o»ÿ.iHpÃZNb²Ð[¼|‹q¬&åÿÝ1 ·Ô6Èú¶B?¶4@U*+ Z7Ò4\üxb†ØcA1§HÞŸZ¢ž4ßqÖœ•Á°ðh8؇ýºn‰E¼ú½×d`ì!×*eSß9o“x_Õc€ØB/}¿aý£ñøb“„fµæ%Möâqì€Ó7²Z³ªD¾ØFÄ·®öªdGÈ9·]¹ý¶iÝ4PÓØÀCèù6—-7—BI'<&÷…hoc$4',;ÊE5-ÀBŸ<ýöB™Ùè7¡‰±‰œµ;6q?sã[Ï4D#¶Êþ*_Os:1‰p½ká5´j²ªAúÿœ–²ï%dTüí~Âj| Me…®ˆLÄ9÷¢¢]‘‘Ùs6,s°?MžlãÁÔæ†é–{3¿ÌŽÓUôvbt +endstream endobj 766 0 obj<> endobj 767 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 768 0 obj<>stream +„µg2ám½Åƒ—$ã +ž’ '‡Êyf©(2QÚ<ƒà¼ÇµõO7«È5À6çÒ§+Æx$l¯ó¡Vlm`𙣤šýuô®Ç#o4Û[<ø‘ëcσ#oÔUéŲÕËRÍ5HJÜoéoÚ—’1Ø«bî±>)®É}(ú›à·Œ~m½“©uÏåŸ=R$·¿Á`~¾uó8™ÒÄ?šíxðóX¾›àì¾ÅÑåÑFŒWTþz\|rW-sØ –ö¯tÒìÉÄ‘ =;YÐ2IyÃë†é]¶ +ˆßœÊ.ç>g¡`H:½ÌÇÚ+m*Ø5Ä@_âÿiƒ8;ÂóÀ¼è«„È^&³1›˜äŸ¾ÊÛheqÐpls“½öÐ÷yU—ê Ù^¾_ú¿Øg,² $érj¤g]‰lÇx/^.¶^è¹µÇjðàq +GwÍÏðÞÅ0|<í­6-ç„Å(ì ¢5¶6Eévê(*J쥶jk‹.§ÆççÜ\»ÛÔ¹\:…~­÷“WþŒèD~®?P·Ã!Є¤ôQ‹Å¶SÄP|Šï `xëÀÿÈlŽ0=k?Á§LWQøáX Û þkúÖª>Æ\Åd/#w_éM^s¶»’ÇÌÂœ°Y×:™V6éæ½…Mٵ怺„—>$X_Ó¯³acÇØ°oDQ@òr§ ’&›ðm’‚Gò4 †í %m†Pq2*˜XŽ§õÂ<SïÚP,c>ͨ—(ˆ/ $%ow™òÒO©ü +J2@0=̱øÿï1­f*toôôj½>NV`q#NñZ+Œ° o†œ1©U¡r~p#¥úÔÐÇØ©=ÃZãº÷~¾¾íþfzÈ¿¡••t¦ êðjV(; üí(Á&¢@dÖÄx0>¸oœl«îÚfãë¥Lsá` ×ÀêµÌ½Ï5”ð„VèX†›æî?ËæÉb¡sÈæmr”™ÓI'â~ü$úÇÕâúk„,žp^dñ£‰þÑ2Í”vädYNbE𠚟‚ܲD˘ӣ†PI2éÓb2‡­txÐœL„ÿôxćRX¦6žbOS“Å«˜  !ÎóˆC,ˆOŒxj;Pß'&lj;—2oBà÷|Æ©áRŸI þöº3´E`oÙ žÑ©ÌüêÛ¡pa©éäsE¶¥[yçR VÄ©ž>K‰+D$ôÞ|OyÇI)å5®(Öäë½lì¸ã/66p¨q\×)ôèÔBÉò¶ Ñ 73Ÿ±K„åÝÓœ´ü´”ì™e“vG¹m­•?4TÐWYNïH£öþwEPàmhÉ|1wòƒqE ŒÐœ¯añ˜–—3B‚“áleÙ`eÎ_Z@E©¢2Ì5¨ä +ï$Œ€wÓž×9§AôÓîIVv.[Ï7¹Êï/๠+™£€PÅHøˆ(Æ3íÕeâz$ÃäUÏ÷§HæSÇ?a®]iúFüZ §û}5!ì];-§AqÌŽ Aÿàn¶¶UWÇ6!²}àž> 8㱆žÄ4&¥r±ö¿FÞš[ 6¯iÄÿeL±ì´[ô`.˜då¦,>7¢*À+5Ì–_wŽŠÚe–†ÛæRJVxÍÔ›x6˜â6¾äù‰©£´…£¬ ­)Jæd¥${#´¤Ën£—tàŽ°è +ú·µ¶:ŽÕœMÆrÁ0¢h_„Ž®Õ*ü³Ú +R×h)ÑÞZè •öÄ™išÝÎ<›gᢇÕHÊs¨Žµé@\wÇÈòîö\ Ú“z’éY +„ìÆøÂÔQáQõIƒ&Ý{ë¼ß]iRß´™^Mù91¿+íôJþnÙ\/?óƒqº ö³OUŠÿìчõµ‚8Ÿƒz?Gä¶2>ÀÞœ«7ó(Z‘q©Ÿ™â\»ÈÚ©«`^Â[ͼb@¼9]2ßr•†n—_•›ÆÝgSVA©MÞÁÊK{Šи„ò5±Ôh×PMã _Í-´É<ҧ̈́«*Íp¬úY!œ§Eªö†ý¼!‡]%Ý­|X± *ÚÍÞ3ï´@‚L m2 ;µD8jNärm^ÿ oà7ÉîÌë°i¿AEb+öðÏ~ÚéMV$×R. Ã%!hpfYˆXÊCJfÈ\ÿH¬ª"Çje=OàT׫òWG!´ÊJ‘Ó}Ä:Ê_vÞtÇ +î+µº0E³°-&uŒˆs ÖX”4nMõ¡KªDm˜Ž;©›‚0mƵI Õ ÙO~¼jépRŸüï§.i ¸{¹Þó^HŒ!|ƒçU«MZ:ÿª‚<¬ònç"Þ+ª‚²o´ ‡ˆùV «œßC¼"2&îÞ ÒBui{燭$«:i÷› ŸP¼,{!-µóO¤Hýl(xIŸ=…ZéĦl2€ñ{ÔhzM-â¹# [¼ä@)x’<š†µŒÄélV.ŒVŽÑ*¢:·\~ÅŽÛ¢äÃf?µÍˆ§–ÇzÏ&kò¬s92ä~÷½†:Ðæb›ƒœvƒDeS|]çÛ`Š¥µ#gÙVXÜDüé}¦µê†¼|H~ +Ö€‰¨Z&üh}ú‚%mgRy¸ÒÏwU;¨ÑRÐ_ºhr£>n\ŠÓ6³ Á8Ú:·s¢Aï¨áoâGè؈ÂxK{Àz÷jØ%ü« +¬Y´=e¬P^¸¢OÆ „œ/lß¼™Í²úMç´v(PgÜ«p>yY“W†šTÞ·ªŠçÛá1¢aâ€2…ÅG~n#.ìÑÎ×+íL ¸THÏvmŒGšT¥´çß,Š©eÒÓ®ÏZLe,ã¶Qܼ$˜èûûóy›Ÿ.™ÀÇ]61ÓÍè„Älàh¢žãôFaÁÓsËÐç)þ,<€:÷üü»óg‚̉'KÐ+‚hv›JÜZí½ÚÂIÜìÞˆ*V±1ü5‰¯ÒEïGÎÅcȆ_µ÷rYØ+Z› ®Ž¦µÊF‡B-JsYXô¾~°j“¬ÿT³Ö,8«¨9ë¹5´á›?øÓ"7>[ø&ƒÞ/:˜—3íä1ûG?)/–—¨ÙtéM{[+–¶DˆûGäãØfÛ]‘ÀöÀûì¥nsæ†È¥q‰ß#L"mà+×t¢WF'ç§f™V@ºötfÍü©uUÒÎH?a:h­±´Ýð=­½ˆ—b°¸ÉO²þBR?iJþ1(O2–#ýd!oyÆàŽ•¶D‰]чõ>¡@Â}µææ´ÃdÅ96õHŒ® O»Þ9VÖ+̓"ŒM™‘ÓXž.8šoä³II+Q4í‚:ó¤ÐCÇvi¼kÉÒUÎÙ®XtñjÖóò¢¬‹íÓ99çÈ%Ž‡`P’kB)K)Ð+6g’o5óøпMeûÕŸæÌv"ôd»´9pOé™D2,Å]w[uy½6ãËŽ7_u Miu43Ïgç ßñ‹O½^éoü-¾å£°vl´tÅi¿C;ï ÌêÏ}ùÃÝïfË÷º—µn™ ’/så óéiræ(ˆUkz¿K1Ü5¤K‰-‘Â/Äå!Rˆ¾ÌÀ#hœ] Ðç·'Àè—ž @Ç.ÇtÖs¶Õ–(£rJé 9äŒÝZ\"ž:t;pÌ¢›bM·4Ùö¢§1È“TüO•$¡…ÌÌŸªU ®+.åƒÔ´È%ñÞSÎWsù×Ù„ú™´jt&z¸4|T4"ý©Ø™û²¨Î䄘~ÏSŽcË}p¼b8’±ÑB1Î;«µîU|m—x¤Mä`6èyÚ‡MuécýÕs¿å½^öԜǙc•Jû;F¿­^I_<À©}æ€Er^ZéA‚l…Ù1G@#:³b$ÂuDóå +‰Ó™Ç¹‹ì +Í{ŸÎ÷M#¤™ÆpŒZw$¹CÊÏ¥Ök[éÝä4Dðs¿‚3 +];EðO‡³;yê ;É].Ç'5 ò¶Ò)¨ÖZAùOÀo£êñ¶¿¥™Ã3²r­çÒ€œÃžcÿŸnš}ã$’ Ú ²˜ kSWl°i6?‡ï«m_• ¦%kw†T2öuQÎK¦0pé®Y9¥¦-¬=Qkú"ÙΚ4:ê +endstream endobj 769 0 obj<> endobj 770 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 771 0 obj<>stream +ô[*–*€É™q½ãCÜÕ a±úÙÁÁÑØŒ8P«˜B™N%pq¼1js¹9epqGwæ£X; wX\¢Õ´"<"Afô9>ôd)úúärÙÁ[™ÆõÙáÂfaÕz¼y&¶2|ªÖ5ïWx,‰Ôizâ fQ6!yÚ_(ÑŽVòZàû¹Ýf!YœŽ[Ø)_1x>Y)|}{>ƒÌÄgPÑXnñœ‡dübIqæÜǬüËœRñUó .³ó×(TéR›îpjþŒŸ—äƒ,#Ôæ~|ë9]éá§|:½Ë„.ðwžá…@ã¾S +‚·Ür>{DMŒWP¡GØ$­b€˜Í[aöºÌÂ>§ }‘ÐL\>:|Õoo—L5<¤Onb‘ èD %G¯z:Ýa¢ÁLD ¾Û°Ç¾0AõJƒt']QŸO›Ó…”3-ZŒ5æ :îGx¸¿Ÿèýƒ÷bÌ«H­&Fg2+uF@…sfÚzo”êþ]°÷h„fšZE'0fÝ]™îÑ}DwÊd”4ûØ n¢>¨·ÁÁËŠ3{Ôî$ẖb(ÅàÑ—ü‰´›óx3ëŠwà©:Íp»`ÝNŒå¾ËÓBIú@×p  JBT®ÌÄQ_“Å´=·pt‰Ñ9ÒÇ+=®ZC{Ž£´f‚h×8 ešñÅû˜¼bæèXÄC,Wža”ª§µ*”ÎK¦WC£kÐI©H³þº‚Û.ýïZÊ\´7¨Þ]5HÞ„Ö#…yjÓCzâvRË%¦E@J>ær‡AdŸéYÅ›çÛÆ‚2²½{h¯þ´cÖ3žàì¥{žŸ¬Y;Ø-T‘I_rÚ‡½¿¨3FÎ:ì¦óšv™=F¯ æJt  ­!õpÂÇŽð­Œí‘ßëÉठ’ÉlüX¢OòŒþw°š@É[\<.¾œÚð˜QÇ)åÇsDT¼Áñ¬¹®V{Œµx5ý³6ÃÊ(ÍdÖ¨¬Êõ†>…øØë\{ÕéöÙzX9>N&^zQ»‰j@ó {-”K˜jËZ2.mÂr×EKY||Úfó)CLâÿÌ}ãï9ɜЦÙÏKëò„‹qíåªçý®/ä48RÂÌÞ24hã.`’ ©Íc +½áÕZaµ%N¬Ópo‰DÛÔ?຃mP&f¬¸ár BÃX–Îw‰Såzªü·†z?= jØw(ÙeÚWÈ]Q£à씬\Ëjô`clK ‹†mõÿÞnb§Ë4·ï­±9B©©­ôo'õ~Dé¶'ßF"KÝf9®á\>åâzæÐí Ö4Ä]îÑP{_k7Ú|¥X›Iã.Ê¡Šð;Ä_©¡ð öäÏ óáêÑà‡ò$åpt Ñ)¹Ù±,Ò ÕE3ë„Ò©cÉcΛþ–)q ¬oú|\*O´âzÇü*m%‡%dBû|Ã4MZ3Ç +¥st™ú±¶PweÀsÕ(ïv8¶!ÈJc™ºãÎ/Àe5ˆŽÛþ%áK +,DŽú }zJpœb' Óï_æ0tÛ +¹À¤žá¹ýj‰l½…d°GðÄ´¦_2&!e¨›÷\UõniÈšqF‹IDn¦l:úîë#—’vú-¾%ÓrÆܸ[ßzÞ‚·ø7“T z›( –ex+5I‚—t£e"díŒ$á|Ë@#E´êî«¡$j¡œ9Õ´@N~¹Í‡Ñ˜`AmâÞ<9(ƆqòæoÀt“ŽÊc¸ŠÅÝϪ¿Ö²#-Jöo@R°4i)rœ‡ôrg " +z{‚®!y½Îè±ÝáÈ}H]rx¦ÿòË·FJšƒ-ùÇø…gŽ \K'‘Íͤٲx€è\à¤UV÷çò(Ùêe¡Pk^Ëh˜þÉØlÉçH‹“âCt^34ÌýdEÏ5L€äÇK°Rû2å?v•s=ym+W°í_ƒÌ#±#º¶N¬æúUÝóÞåÕV‚h‚yHz‘?è«>QwÚ批T¨é ù«Ôñ ¼ü\7 äYÅ·{\gÞý^J~AKzs/jÿÙìªí&—¤÷u=@[W]Ñù?üHÅÑl©j¯Ÿ9óõÛ[—ŠW +75­JYü¨ô5‘Ûiì—ü‚öA¦œæHÄ;ÖÜÁ04¤´^dÍaol— +äÿàµÖ½ZQ,S‡dÐuœüþ‰âŒ/ýÍYnah‰©ÊSÒ¿fƒ/¯|±Ï¥‹& ³xÀÞ¬Ôþ©×q¡ÈE×î~ÀrñRd +¸êûO¢ÇbRcžÇ>'÷̸{˜’7?D>¥½!¡5‚âiè +ßÝTǼbmÎÏ)vÚòE©3qêlݨV(¯_ç[^¨t4nøùöY-myGÿ_'ÉK3–Qðtr$‘) -&àóÆʦ=ûè€Åì7t¹Æ×B‚ŠÙ®Œ„¾ ÅIóäµs‚}ðÔɶ£…Èáˆh±`p(†SȀъ"e(Ð+{þÒ„¤yÈæ/ +ô¸OÔtÅ ­{`.ÚÒ ÐíWfÆj(SHâÔßbµ?«0ÞwY¡írÛ´“¾ºÀ1Ó)¹k?ºŠº>f3œì*ZÆ‚ªªüNÛ1n±|ðÃ.–Ï´Ö§vgºLÿ.Uòt +xŸŠ®„ö°:º\È! æÜ@÷s50á‰V;Ï.ŒÎ%0@}à òØˆ× eˆøO3>M¸Të.ULgÛ`Á_Œs£ø¨ÃÇ}/Ìol +Møn ñx×Ôy·£ò»ÏG#`ÀòÝép»…G¬×“:jƒ­ +xæJêø ü3ÄwmåF_x×ÑÀ„f6¼ëçL¹?Tg³'é¢$öÞC%ockéô·%ꄪ¨‰Œ>¥÷n¸|N‚T Ž§*(õCqÅŸJÒbýŠm‰v§ÀÐZ—$U˜-ÕëùBûw«bmĦË79ã1‰z܉‘ +;‡—ˆ´±F­î¿Þ:³Ýøßå¤A&Ñ}$ú÷ÐTøÙÜØ;Q)fÎFüæ7Žxé~?Î6yöEGÙ@µûkëɾъú<ž±Û§3̦·Ir%~+´Åâ•Ýø +endstream endobj 772 0 obj<> endobj 773 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 774 0 obj<>stream +ÝÝ+”ðp¶·4ÂËG2à' ]~ãÑ«ÖÃuàó¿nlÿEeÝ÷´»Hú²Ô17UñŸ9‰•udÛ0!åȵÕ1Ñøztò´"Ÿþ ­¥ò³+‚‹ð7gv#¥*¤ãa¾ÞD 3âLìuA(U‹Dn.¢3lñ*÷çXÛ¸ÿåÖ¤®÷p³ ¯ì±ó²´§2é냺2‘O´Šy¹Jx˜#<ü–Æ óáÂVÇ6”}¿úE)%Ç’óüˆ-ý©Â¦?Mˆá¥3tyçÊèâRô}ƒ5ÿ‡Œ´¿‘@ýŽR£.§¦Á,7ŸY$jM—ÖØü×1Á¨²uóZrÀ6üåÈrz¿¼")@|H„°öÇ>ˆt¥Yh i‘ÿ8-—Iƒ;‚c¾ùµœ7ÌhˆS­@¡û»~O,ŽO9ÌÓö[Ú䉥S¿[ǬÿN Ú¦u*´a úP½£ê»L߈1§¶ßµú%õ¶Né ”3ÌËÚ$¨ü[CRÿ2 †5µ/Æ4ƒ²‰÷š¡*̵3¨=ƒüò_lwÞ:(¡ so)ȼ 3==Ò#i¬¯…·°ôN´Y¡.èm¶/ùE:Æ5 v¾'f¶Ð_än+l“ +˜œÛ(XÐáƒ<3ÃL hü‚©ÄÀÀÉÕþ¹µ#ýW +b¿T¬(õÞòøqšQšM‰ –Ø*]XÁ¢$óðIâdÊîÌ#µú/-‹>v䉚ÓìñÃ@«] ‡Ðë‹l + ³B:Ù‡ßÀŠ΢Ú‡%!agüw É88¦ .ÝDš1Xi¾Kp±E³í½3xèÒ&ãðñü÷ËÄüŒôg¨ì7r–$€!|`P:“wI"\eŽNÌIHGnz »°Ü„¼Î ’ ôû5¸!§yª¤z|÷e’…ŒÉžcŤ}Q=ÁP> ·¡ÜÖÇóî)o>.çr€»›@7QѽeŽÞèNuÈC„b/eµŒóQoÖÚù]'IòîN. +“¶‚l¥']ê +´ +ÏŽSëõ%AœáÏ森‹Ç[U9jî(·¨3èßmšjt¢gA_ƒô1º3)yÆ[7fê›TSN­Çã ÷%>å8>œáj9r\ȨÑ߮٠5‰’v&áTÑ:IÅ\)þ¾ý}Š–æU*¯3uí"Ê]¹s¶`܈'ë‡Õõ|FE}Œ~}Óø_Ê@†/õ„‹¡ +ñªóâö¦Žpß"Ȩ/ûOjfoz!ú@wí ×iüÐPGL1£”å+:`Í£{ž\F¥LÙ1dJ}Jü'"£äH¥“‚õÄ£cƒ¹¨ð íá/:ã}‡.îS,§þc'&}Ý +>ˆv%•ÊÊÜÈÁû{O÷àS/Ò¬F4ô1:¼ÅO˜»¶ª˜¯,üÞ‘ŒóD¹G v÷dE.ÃER bêÑsº_/å\‹E&‹äB'.žuì^PÑ„(ø½I‚5±•KyŠØ‡ Q^#ç…GËS‰keX p·¥šUê$óìˆuô×ÞÛ‘]öú–ÚÀÑÃÞ/3µò ƒðuµýJh,d¹è À°st|bæ÷j”ÏKíÍ*i¶°_´…¥ +å@¼ÃrÙ˜¥„ò@ëj¼Â5;@h礣ajÑPžÌ^ÄRÙé;‚y¶ Ú¹ +ºMëJ°î|‰è$ß.šµyž½ý– +ᆥŽç$…,ŠŽuZ’¸’LMЩ¯ Ké¨ .¿{Àï¸"#!ÈF‹Ðî áàjÉ®´Øêîµwûògµôà ©¾£5¹¡9ê®÷y€¾µ ¤—JÇŸŸ ^© +ÿeFx]ù/ž[üRùɱÀ^ØÈë ­K}eWÐŽøÑNפ]v¶õ–ɉüÔ=,Uzà®mÔ¶Réœ\©gº{ëùýÖV›#_Ø.Lyç¨Ù!£I®„¯nƒ¼e –žî} Ð%õ·ØšÓ°].³"Æ'aÏÄ­„›ÿ®}ïË¡K1dùú‰#[@siÏó¡Š$æUÑ»¤ŽóM8Ü¥ùÒ/1뿉ëi4oRH“ø¤³Óð0„’âiù¯›ÇæÄìÞãosà_Èë¯)ÉÕÀæñ/ã#.³\’»Xâê j~zRVøßrD7¦Ã*E〩iÄ!ù´UB‡ °çÚÚ¶ÝÅÎoÃ@zÐÃ>65Ü7gr +(»`¿DãoTzV?x{Ôêíh ÷bASœp<–ìöî¨ÎÅj‰s¶Lñ«eˆ5ˆ”¼ŒÏ³è––Î;’‰0êbîÓh+ºE“–ÚJ Oiòf÷Oéã„8Áô”±q|.Ôe×h D=–ý„T›x–q=†Qª&yN¥±Tv4ùou”åÜ‹S’åAIsDr]6O9^­5ÙnŒ.°¯ÿ ÂÚ`þhd%òááiÀ¦þ4ꬑï¡ó¾ì?æ–æˆv´‡*\—¤é~7›Á Ï šX£8Dää2·ÃFiã3Q€?=²W5Ù¯—›gÅ6á™K›áÔ•—Áä‚z9röqW5 §t3ø¬¨L9&’Ž;”ˆ¸ù1yU× ¼èPsx´(Ìꧺ©ÓO NDÛ^ido³;`üð¦ü"›}øî»ûP°=S–(ì ÂÄÉ$ AÅ¿ýÞJò}⻉ôÄQ®¸ÈæÊ‘`í#»#w)F(óÆ &÷*WŸi£{CG)Ⱦ•f’pôŽÁ¶ªÙ¦_ee­ -ã3›*!I6دÕÖáÃ*£É>$5$Ü[ÈãôÝÒÑÚå›]õüi7BÐ8Ú ò4Ô¿ë'¶¢(Tã è ðÅòP{œ4@<Ö–þ€M—…4¿‡Â>¶ÃGœÞjÒ>_Öf•t³$Eà- ­ëÜoÍ¥ÿ¨ö<< +3KŠm$°¥Ö™ q³"^Cyˆ9¡‚RÞ1…oøEhð¼žÇƦ§å¿( ­½°ôUåpøÐÒmkKÔOÁ?@·UÒŨp¨×ãï?EÌòÊj‰Ä)À"Eoh¹†„]Éú¾ç̦÷“öàÁ"d±yå]'Ý©UH "É=/„_x[*3¸dyyöÈ/BÞÌ#ŧž–8å€!Ò´Û&IâǧÎúý‡zK’Ë!}z3nÐц:©§†õpVÙ¡3¡^ºTnaxE»žjÊÁG1’±¤ˆŠãÞäÅT§2¸8»pé•—sÓøÜ|G•šÏä–($]Ù£vNÜ[¿ò‘ÔðϤrÖ©¿æ—†»ëùBÇâ§dÃan16µO«!HUíó@.3!ÛžØsT7|  ©áŒ¢æ‚+ç§-¡ãá^§Kû¿ Ш¿øWÊÕ÷ð®\†ÃŒ +†»—‚‰r•øi'ü„t/¨;@©µºJ{ýñê-þF—Q8˜öÉ|ÌèÈ/Ф?ô ïäÁ”ï¯)ÖFäÞ²håœ(4iRœ¡‰]C-ìF™¬-[8çƒ{&Ƥ°Í'gglÓ[ýºB©`_Ðåd* ÎDÕÑK’Ížeö¥ {¡"íðbë°S£ºeC¶8°ñyß]v;>ãù!ØIK­1Âz oÊW·A^“øœU¼<‹7ݘüñ ³‘KM1‚ì wìøc‡i£:ÃÓ{?-Úa5Ý +endstream endobj 775 0 obj<> endobj 776 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 777 0 obj<>stream + +EéT“Ñ—•G¹!ÛÁ(Y¨ÅØ%~CŽ±}üñO¿NÉÑ^-7Øä¼û3¡k  ƒýí±ê75OµÙŠÙ òl-Tràÿ+BÀ{‡Oä.uO4>›ˆû+ ’€í:&I¸ŠM…[<‰ZtYãÒPŸ„Bt«™->?å7fbë!€×¥þuÒ öŠ°”£õówÑ”Gl Q~ïå +ôQΈ¤ýó#¡ž˜\;Pß‚ê ýUûªpƈäÈ)'-ùâÓ#R#8@™ù¨` ^æ"šj»$/€—”2ãp0³á×zûåÊU¤°¬9£¤8ÏÎFï•|ˆÊÇ2ÛýÐþ0, $Nº…tÊx‹_€”µ`Á/÷ÄÀ76¾hÞØñ®|,€À‰ A I¬Hè¸#u\µ¥jªÝç^œIÓô:?ù ,©ZñçwBÄ/èLÜC/ÏÚ‘`s;@Mr/ìDÉi3Cjö¥.U¶@ûlß I^­Ð¸¬B¼¦(©îÇ•ùJùŽ"Ú³÷¿Þ·B÷ VNŠC´Ú,U@xM`¸+{V·Œ¥÷ £„ê,”cYTdc‘8¹¬?Ÿ¤‰>éAœŽPzJ®Ç¼âšèŒä‚geWfQq×Í·/€Ù96ÿ§:ÙLe7§¦0 ¶ešæÑ^tißÞ®!ÈØH£BU—c¬`Ú1홚_øÄ'*Äù²z‹Xf½$©»A’ PÐä÷¿žOoîó®$áØà<'wI}EFd¿ûßF\"AŽ {Oœä÷¾±ë¾”äöMƒØ]^¤ÅNòQîÞ_ƒKÛ%]c¤kÇz1™vz¾W—Ye¥³1IkZ@ÐÕ”pŠeMžàiݯaÚ›ê+Ù¨ÝL¼‚ôÿÚ`Hb 1Ê}øH+ #¸2|¿p‹,íO“Ó/ÅF‡€IÓqz5oèÐèÍœÛ]EQ/ü8œá$íâæïI´/]«(¼aÿÿoðaž—æ™,æÏèÞ'ƒÛ¸ûºoWŠ×,¿\â+б‡Ql©—((Ôp¼s<{«²ý0éšuܨì®ÃŒ°À¨Cv$`·Ñš³Mt‘Æ,™Ì§oÆ-ˆ¨7Ðì©Â».756žò÷áu•¬^ɾXcMÔÒjÛpyuÔÃaz“0r©)ín<›ÌŸ§9`i³ž,€-¨¶u:ıuù}ç%i‰R‘:¬Çy)„ 9ÜÓ¨®šœà«:«”âPö{²P¹]’Çí ÌzµÏQQªaÌf£áõëìœrõÌ‚@“†ñ¥Íé´’îÏ»Bê÷À膯شØAÒRß’˜ÀÿV…säÏØ{ûU¦h¸ƒÖ|âZ%A¹“óÀ&ÒlóݨÚ4Ìóí‰QÏĵIgb;³•gið|dƒ“Âá8š•Çêb’4œŠw€èº…Ó!/ +ÅÀ/šˆ<}¶%Œ‹E5Ú+Ôú¿õQ ‡“÷n|³ç”}ÛPŸøu/š„{ì¢&Ê â’jÓ¿¦b”†àVcéõç‚8 ©˜˜Í¶@žýšÇ­ö½2V±(o ‡X²qV®›ö^/Ž[»—¯ô"*Û§ÇkNÑÏMFtþÂÅËX×O)%¨>¯¼bº.©×¤y*×M ´†‚â¡&ßjÄ ïi½`úm'®ûRý¹ï­äºáÅ]O#V8xÃÝP•…‹²N oP*~ŠÍ:N‹ðWì@ã&ç’™õœÀÃ*Æ1‘À +Æi¢ý³¦²cQc¢¥ò¨µŽ¿â# üìËê´É³vÇ7¾òÐur¡ù%K|<†¤ó¼îxü+ p!gÂ2à‰¸ZÜo¯myD¸'Ü$ ®ßÞÐ`f‰zªä:_š–®ºoðªCïì<Ù+ÂÇA=a]R¥ ‚+`]èc–S©Ÿv[ž¥a±C +liò{}3&!¿eUêʯch!ã…û‚’>Bòðç„.{óE—IÏUÉì†,€-BáJÈXŒ}))P=›ò8î/à£aè œ*6u[—´‹9ÃÚ-|°²åQëMÝ»2¥'¨<ÅòÎÝŒgöëËɶ%¸öúö;·AuùÄ¡Äõ/·Šã’ægkž¢fÉÇ$ ÿcI.L;}¦g"–¤XoXÓ2©l3t|“ó5·~º,x.¬t_FprÞ¡¿¨ÿ™‡¥ñ-~–˜÷h>¬·T[j@3>;^hÊkcj«Slä&«¼'‰qÓµk~ÓËB;ÅBc›Ë]$q]•Nct„.{< qZ`Dèså åû ¿ÞJï’Ì#²] ¯øç­@‡Š$xCË3ês}6ÍèÊE;`Xû*m«ø/i»ÔϤ¸ñÛ*$à9`Ïq"Ëñr¤‡m9U<@AoW"g<±¶PÒŸ(Â}¼ãÉ¿Yú!{é9Ø S ¿œ‡ÀZTÚÑŸ¤8b¾ØEý9†Â•Ï림$ôiGlå·~³N?Šô+tjµî7FsáÎþc9:sü¦l5#˜'TYzÛ“ºÉšzC›&BUU¸n­º¤ÉyEþd¼âE{F²0CÀäûÁÉå}ÒÞFÈD#¶éîzâ \fòàb5Vjç#@ –ýÀ“ïªÉ¾]z!TwK”I8‡­{Ç—°(;úÈ¡© L–·ÖeIagåA ÙX(Çïl’ôjBÕù~fÉÛÑ2'ëu…Ìέq ”½‘ÈÁE‡A7äO­Û˜+‡ÿI`@ä RøÇC{Kó7omo˜” fƒDÈ¡\5ÙÓZæGž`÷ìV[áÛVðÐa‰ç¯^ž»G'9-¥àþc\3.jÔÜ t/âgTÞ—vêM¹PzÀäMi•Ã=ß¹»½=ÝÖ|ПÛÔøÎí)Üüš Ò¶9Ú­Qå#1:ÂR*snX¬n34DåÿEdÄßê1þŽœ_“0Ę“ÜQSté±l# Q ¡V—8å¶Öj܆«më"ñ[§ÿÄOFG½BÃ?9[†n]<¾°6ã7‹È×8òþ³µ*™¼Œäñ$=4ÌfXo¤Jryò>ÓÁ™ˆ®L+Þ#²qA_ùEv »Õs/Æ+èês×å¥ÂÞ+ªÎ¿„ZŒ‚¤íZ·.Ú…FìÙKšõLÉ{û1çzÅ™q c2çÁu¡«XŽ×AfŽöÔuwWµHXé¦Rœó¯§n–l`ä~Ì8áž‘C¯.†Ý¥ +´ž‚M®'Ûâ~reŽ²<¡1 +ÇÉÕ%qÛØ®¾ã»~æÐ^û²µé@Q„ÌÛQR/üÊM:-IÀ{F¾]˜#H ’ìá\ŸØDkôìØÏw­R®ÓøèEq"“£À£µK² OR±(MwŽWXÆkó}kóÊ~Ì-~’3‚­·b:´‹D$|î.ˆ˜¨a´„ªÇkÌæ›FPݨWرŸ"¦L¸‡’A™ìôôâ%$ÿbë¶v¨Ô‰}tá ú‰Ôºvëb„ÞR•Žâ.6—ÅíšMÆ¡ã¯ÀKOvþ„³âùl#îlׄÇnBG„ {­/‰×ÿ­,dù|³ßqý°p2§6pGüøRäû£A‡‡[VÏîð·<« ‘´{9‰0ÃÓ¼[sMnº{?ÂgëߟS$6vüYèB€õí‘d/•Çþº9ÁIä RLoSÎ&5^C·¿D·ŒÓ2»×66HN!gÖT]Î¥,eìå9X©BO<T1R0ºp"áæ]vü¾Ñïb8¨þâÂM¡<§µFmyGwŠc%]]µfÞk;¸‹Â(KØHËü™—½dd´ï§vŒ@²[öá*>Âùb½dŽ¯ê¯-ÆNZ²£Ío"¢®[…[Èk°4Ϧ¯‚W¶`€o×%tà DZ ^s"’ÁŸI_µÇÏ;øœå—P;{S¿¨9à›=‘yU‹Ñà0f—æY%Y¥ôÇ5ì /®(©}nšé™¸ZÂòbs[…ÅsHEQá—lsïÖømÕŠ[¶Gå'éÀÝ:3¶à-ðw¿@í(–¹€ºVw£!ð¯ï\*ÕÌc¼^c]”úæô–Â$y¹¾©ñ}¥?„@0¾Ÿ7ÿpôü23÷/W3r«ÅÒ´Î#®àPcc­ñ{…•b­õ…v€Ê½¤¼2£TÞ‚§ÁæÄnWÇlÆ!K™sÇç2õlÔ ø*S5¼«Á*o†v“K“®o)<$:NÕ%fî[¤± è—Í{ZtÄâ’gMÆ_º}ܦéi턼+þÀŠ]6¨Œ=)Ïá6,áX-xCã'í4–F„¶žçQ›êˆŸ©¹S-Ô¶Þ‘Œ.].å7gK¯®•§P‡­yÓìóë—¢Î]²ùfÝÔŸ  UT¥_,Î×-ÁP²”6x.`øzÅüo§B|ÿ_¶³[ç3þøè&YF7=X(;s­e6ÖwvÜ4xöweéf8©¦s·±j," Àšáa°6;ÈÝMd.‹Zã*v,{1™ÚlËá'Àm ŒÃM[„T7D¾ùx¨Òºû+nîR!+œÃ¶–›š@ºJ¡ìLŠ_ ùgŒæ²¶BñÂ!Pno›?á{¹ +ÈCõÈA^ç´p%S…H¿°+͘飦ˆ ø"Mv!ð²m6ØÔWíŽîkØI«ãiI8.|/¸Q.: ê:m~_J[/€r» ¾Û µO +|MSó&åÃ"ö,[Ç@âuN *UTø c¾ïn=زÐ혂‚JŸ½@bg/(KŠjù–:Ÿ©WŽ‹t +î\]„;Ĺþg¿jŠ7®o¶–/ΗQ)‡¬[‰v;WþÑ‘¯‹¸Šn}Gó/ǯ¸Š†Ô¤å­NDêîš?„áÌ+ŸÂ‹mTi.ƒfZç BÀ;NÃ5ݪ`õž÷Ò ¯ùC3ãèí81^Š«§àè²ôÄÚF¸?EËmÃH˜Õ›:~4§í÷N RÙI8¿ý“dÔëú =âîm v© *4”!ìÓàßËóeGC7¦ Þ!fäà +^\+Û„Í Û)<Ì8ç.Rç‡4ƒâVH nüîeË™¢˜zi æ³;eÁyÏÂa»?í9ÏÝ42 (#­/`UxX;O Cú‹¢š­¬&}#­0Ëý˜XlM›óoÆ„N¸*ˆe5§¹ð9 ÀLÆí³áƆ !™8¿±ÁG 3ô­£³û-§ ŽEɱr+I@ß µœ‡¾†®IàC±v/EYØKƒU')²jçä„Ô<‘½ O™â( ÍüæÒ«¬¹ûæöœ6ïqV$ÔAãBYw +4EI3'ûÂ!×l*d6|<©æ­-ä+¹Þà +endstream endobj 778 0 obj<> endobj 779 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 780 0 obj<>stream +¡Á²shÜÏ’ÌYCè%Æ¢•»x¬%%xäX4lù 8í•ô¤%‹¦Êd¶ÖúÝÔVPß®2œÇe‡þàÙ}ï)½Fœ¼lò4bêœþ†VèñŸBP¹h¦;iÕ…OµÏfbY`.Ñè׶œð7Ýe=˜I*×Ùp[k uæeŽÌ+Z⺸¥)ÈÎ9rW¹`#ŽÁµgCMàÅk²›l^ù¯µ¾ˆËaÆ‹¥ ìšYH:+ý×h®Úïc¦FÐŽZy/0¼„¼iûº¦©6ÐŒ…k=911ùc‘­Ê\ !Úsлž­bâÉÙ´lÚEM7¿ÌfW^N{¢Züác ‘¾bA*Œ"ÛH‹¢Áæö]+³ˆÁmèm¿;ÆF¹hSË"¸àqÙùÒ³eº õ‰Ýý@n‚-ÒgtÎ -/fK•€ÀåÀVÌõ„7k¦Ž)3K8îVéÊÿnµz<0ÆÝÚמ #Ô5?4åBºca¦Ý½x1×ÚCélú8‹lf>'Ÿo´ãט³v~åäÅcÿÊç÷•¡€@Ì“Ê*…ƒú“™Àóùvÿõ2räÜz¦›ÐàÒA¡­¼P))1Çx4v•Šxöð½’KÁÉÊbâ$iKn€“Ö*° ÀB–¡IÂRhЕõ­²d{q¥·c¸‰rÏ_l¶:¿A>ˆ‰£Î‚­¤0›F´QDKÈÐC;IJj%‰àëŠ(CÁŒå››^‹; ˆ=Y=Ããaš¬8G<ˆÒ ~Ï,Çß6 6þã*„:ÿðëmN+½àÙ+>".þ¹”…ŽûiQÚ½:­E~j:¦’¼Pˆ'|\®ÇæÉb_¬q—Àg~”÷õèúà Aé`ц3 ×¢+ÏŽ~W œd{!áJ¾ +«XÎ굎ì"œv‘É­47©p\‰T¦×Ogü#QŒÒê¨JzM\Éõ„–±¹åQ L7^îf𠲡§Q£<ÂØ[ØP‚ŠÂœÃûvn_ŸwÔÖ9ÈÃ*x§ý –qÕtÊ Eí6mÌlÓM¼ ÈÀ…O›4ÝÔBVû­]È\~h7r«ojé™c•Ç^§5è£ÉrߔˋÈb²Ã®•-7ôÛ[ü-¨´ý—Ü/¨­–•C’•ô½;O¨SíËZQïKF±áY^ Ì`sÙï—ÅŒ¨s +_q­ãù¢€â´ûâºeµ•LU-éz‚¸©´}b'#„R‰4„ ^½Ç$|øÿp½ëîÒiâÛf} ü…ÅTK`ï­Ò@KK‘D$6xÄdÝ®ìöb¸ÁÝäúËÚÖÈ6IÆÜ((|—w+°¾æÌ>­”=¯îÍ´S¦ÇÞ.Ú +)ÄÛ³1ncMr­÷nGÍ€m{Ú¾½1lô½à­9å„©è¾aÀKn4ÐXí½6º¢så‚…:Â(IqùÅoweµÊ«G-ßãºÔ¾Àm‰Òê]'õÈ8{ß5cx¤°)P>Á×ÐëS¡m|¨Ï9þÚªvJhDƒðˆ¼hÓYð)9Âä ™Øf<ž&gô’bõŒt5F“2(ûíÖQšÓG’ט²l€ð,mxÃ'è1£ô.€6¶×Yuø$¯n+)2xû§Uâé>í¥‹ˆÅ ™Ä?ãæ”ÜeBòš¾Lkå &ÔÆ|¤ÝÆ]^c¥|B½B‘¿“œÑÆîý<HÁíGyû\c`ßg‹ëì“\°%½ÙgŠbsUyÑîF?­ö\eƒÜ°€^ Lç._/¡ý$MÔË^õü Û{ÇÛ!åç @teÝ8ï3´Ô†‹ÈAu^$°NkæÓqƒ6ÉÕîèvl'om(î«/é×ïsZf@ vRBÑêü~ˆl$EÅ£þg[F–Rn;@*b*ö‡A§dO·ôL4ÂÞBv¯qÔ˜Øñ…ÂÔ%âP”y¯"ÃkŽAß~ÈòO¶2J‹<‚£©ó,D/©±7±Jæ‚?IÆU¶­£ãˆížp<£»{éµäøê†ön¯åŠk=0eƒdÑAÁÒ Þ‹ƒJ ;žY\™Dàž† ¨q o{n¢ŽQíQ-·iîЋH;áQW†êÍ’¶Z±va¼lsò¬tö¶®€ÿÏꇺ>Rjh6€SêƈBÄAy² @f/†wÍÞBV}º^–aèx*Òp”³Õ-`ï¸Ï>‡ßLå¼h”3öïnAðùez‰-€¢èÜU‰›ÁÚØC¤2ä.̵ˆQ‰’ ‘ ÁÅ fÖï0‹µß[$äJ.? woh¶ CÂIËÙ‚9!é,¶›ŽwEqv•:°ûL€—t”JZ#$’òYCÝ­žðÓð0Tüûå›)ì‚}N˜H‡Ti¡æZ7Ê(¸µä$0[^^¿§¢€‚DlpÑ Y'…ïΗÞÉþ˽ ±|³˜i† •^Zcø]9¡íû]‹ê©ÝtyŸŒ¶MN4É éONfÔzò[5=nn_wÄÑ[£{ŽÎ`)¨”`˜?}a mMhÐQËÊÃ?&Šx®ÍˇÐ<ù#ŠF±Ø +`ý 5éÈákäOÆŠÑâõÚ,€~`åX²Ç[øë…ÐrÙA§MNdB\u³J¦ù\IÅ—â=.›qK¢l…·Bx‘±­MóõiúQ•ÓjéMÙt*ˆEjÕЙšæËB¬v ±e\ã&IQ»õ@Yh̶9ÿÜÁŒÞÿŒ£! ï3øÿfPú,³EÈš²=Ó5a‡";±ëj7/-3×J¾§¨¥’Ç”el˜:œ¸‚3Œ¨ÑP ßé³cÒ[óHO[<"8<ÙËn•6˜¾Ñýe yÂÆϹFºÞè­ÎPQƒ- ÿ© &£´0ƒyг.á¿âpsìô|)'`Œç|P¤†!Bÿ7ð/3²‡pmÜ×®™nÈ9"Ƕ~Û9_~£å´Ö'¼i¤Vñ[Rº»àÝüÀ佄<ãÉl?¿_¥Í<ëyãýÝ@þüg¼V¹D<°Û®>ijŒ(úÀ&±´Þf%¯æqvôFdwAUØ„- …ÔqÅÅÿ>éU³ã·h”zè®H=ÿú¸¥Æˆ5q~©Zÿ»{¯XTðìÆ`E%µÖ—ó¤²Ã,XP}fˆ|Pˆ7ѱÊÙ_LÈ„Æy„!’bMŸ©¶üÂPíÉùQ|ZæÀ/ÿ@8¦ÆoÝÙ¸Ús°kK÷®PV·šXqi5 ™G<Ö0|wˆ a´ë]HÃ0íT*KЕÂ'ÛØhžPp‹dP¬ÑÁÈP¨ÂA"þLSý×Ѿ"ó9¬6}ùÚ–ý 2er¥%ä?Ú¡ë[fBJr H1µoU-wrtèà:8ÀÔ®çD˜]éî±ÓŽT<(Ñåê¹B¦4ôì$uÑ/ÅÐÆŒv¥Í†c³‰ÙåñmÞ“ùl=-k)¼1,»âד¤dH*uñq]«©3i„‘›UCføErÛ5Õ4A¯øùÛ’ÂaBmà›€ÐB¬ZúCbŸ¡¼—ß³g §U·ÿ$¥ÆãjU ‡ñòS.I€¾‚0/±t~ôìùµï¯DË£6M¹9þ­ø÷wKÉ—Gßëðè­9N;À5ŸñVZ£¥´{嶖òHÄzk3ß*­E!¹é†_ÚŒ=€~קKúÚR^y*«Ó…¤ s™sd7’™¥—_Ö3$êôJ"É5Ì•wuÿè0Løo½Çº3Cæd´r°óÞ6vŸpÍwr|SÒ\¸ÎÈI8i8¿CŒ ³1 A³í²SˆVFš—{g¢ô=6(/ üÁ”Áæ£Ô¼é}øpú\"½›”#´Ù†A>^ -W EØ>Q Œ2HuÃå83Psã¯ÜœˆjÆšÝoFß~¢¡+nG§å^÷®l ×«Zà>ÿÍé)ßXÙ •›»k–&¿¢Ú—<'àÈÛjD“òõHÑÙi2`ÜSÞ^2NÝß<=ui&7ƒJ žéZð*T¯¬¢ÉÀî‹/aÎ1±yÄ*ÕórˆZ7Îhø¿Œ¢©DC¤ÿêSmÃçäI6ã~@ܽT¦°‚$²Xü.”ãxª«/†â8—VGÎêz·6g†&¤sªæiqÊϘ2A¦ÇW}_*£Ýs,Sñ"0^–†öµ$‘GÚ“*Ó´Žœþãašæ÷W¸¯«„6ôéëÈhŸÉðùÝ +nîuQRÛí22ŒÊ(© +endstream endobj 781 0 obj<> endobj 782 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 783 0 obj<>stream +JOÇÊÃs»UG”Œ m5?ì9³¯'0%dþl[Ù¬¦µ5郌)Á¾î­B§ðZÁé¹y\ƒŒ‘ „±fEaËþ«iˆ€lxÛÆôiUH¤øåMÝè{M'Æ¿Qëvú(ß>I¹ÞòÑ«y4éýÁ.7³¬ Ì0tÕßäã2üÙ¹¿:úà—Ì W-kù,]\ßu€z—r$K1¥Mv1H„Uz€ôƒ°é-5·Cå KXX¥Æ="°q +²‘±vïX®üò…å>àtº°¹§F;`[¸AöÂÛB«ñé«Q° u>®¸;›ˆkÐaP¹¬÷yÐ\v¤ÃMýsÑKÔ"'r)¬g³Ww®ŸÍÂms×7`J2™(õy ¥æRÒÉÖ?/Î{ß“ÁݵÏË¥ )ZFõ¥Q@NêÓùÉk«BåAv4Ψ*Æ¿Œ)û&ÒÞ 7 i:™«K$Œä¯­+ÜÔ/T8ûåZQ¬‚ ^N‚#@,{´%Rt°íJ€Îªý¿Àßù}G‚Ž_ÏÄG{ €MÚ­-žd•'•blU2l6 9ä±ÀšMèê¬ùs‘´Öñ8\¥®Îé5›L6ýå•å¾É0 fRíÑN'Õ³’æáE +id+ £ƹvX”ó(®”·Arû~Y/Ój·—%1Þ€”—.dFp*¿(sUb±¸,¾v¶×P@êytu@)~ÉöŒø$ÂÑÔk›Ð'´Ò(ƒGkn '>Ÿf²¢dPùj –\ý¼¼ª#Þ€¨i•¦ê-5†H‰¦¦º mL’àÈEU0¢vçYÖËä„u¿ú){C +šè, ³KEÚbÿ¾¤í©ê{ý÷™§[ùÃ^Õ ÒûœDr)2”ÇÇRb¯ì%¬Í|_'¢ì…ç!¥]ü—êEÊóBxÙ7óx‘ZÆ…ûÞH|¢ÔäÌJÐoŽ €(´ñ¯ÏJnˆw©²†‡«WìÑ,2 ߾ p¾ty?½Èb?UÌ &r4ˆ À¯@â&s(ªrÓæÕ­TªJ`b?ƒq !”­/èú‹¼ En0…Í©;ùªDYñ‘‚÷¹t¤a³í/ ¯lJü,5òÅìéï „ HÝœ¨DîÐÓ…|ÝÉ_%ú¹Ó_ô&*Û (K…ïSÕh/® HµÄ‹ÀBŒ VKÝ ¦HmPNC´)y œ™m@>ùšÝ/4ŽzH êx¸g}2°Æ¡;?ø<윀èØYß Œr ý3Ê6òò.¬,O4~~2Lœäׯ­8‡ +4QuñÿÖ‘ˆES †¦‹¸ð¯Ygoqoì.ÎÿBÂŽÍ`bÝ`góLŸðÆYš5™( s¹kÍv—Š9%©ÍadÃPK^qK¼Ú6ÃN|¢"`9¾T;[a/¥Sv©Ù»;4+RBâŒÚ[=ükºîªØuÇÓb +=Ì©Õ–5ü$ËNѧzIvµŠÅJ&áÂs˜zÖæIVam3S>¸à³ð¼QZþ€®…! “œJhKo·Rø k€DFØéz}|§¨îZ +‘Ì>Î?xð×~ºuW@SSŽ…•¼Ek49õ â“;¸‡ÿõ1¯¥ì,'õ*„à}éN,\I£YCE*.wv+aQu¹oÞ!èv·wH®è¥ 8Èï¥çà*#•ŽÈ†uj (‘&Xeqp§+M§˜*²QFs¶²ÏˆÖ”Ø„ŠÂå<Àîá[‡ÁäÀkeÀ›Žé ¡,Ú?íŠn{k}…?û°û%Ò5Ÿ=ïrXs,©”‘-kámvG´^œ+‘ï[Æ¥VH8Dϸ]øÎЀú= ~“Ó”toÓUšâo«Hz<[ƒ-ÍïfÕ¿-é´öf¦p(}ÉqWÊ3MÒ0¶®‹ä–0»¹ŸÒ^+2dýkÕ’TqœtÐ{04MUקܞ?ýâž› +<‘ +{`‘¸Á¸0Æ Ï°ÖCø.”Ýr@Úï`N `Ó#K×aïñ¨ëßLÜS•lϱÜAüùи¶þ&´¼/àõEƒ{NtÄc”œ¢?â:ï°ç±lé„ÍO¶;qIL¬?(b…QþÜ *µv®ø{ÞtÁ¬7¥,apœÓ!‰¯Y‹µc(}._Ggn[r·Ög\ìkäèßlm¤i + ätL4wɈ†ö®G%¦Šùñî{Œ#cšp†–¶CAºåHç]‚6—…&¿Ú¯S È+\ÇÅ,c©œ ~”†Ac!ß"uFaË´{ß e‰´E¥jðeyÝ1®A”Åà¬~>‡Z°=_Š‡ç0'¨>æüùÚŽ™÷»¿ve±«Á á­ +K(uŒZ”&\Öy3TAáfÌšá{b)p˜€âÃ,"KÏ‘2øÚn–:/)6ŹÛSÛˆÏɯ©’±& +@+¬Š«Š:IÝÕ£–«øe3å ;ƒv¹pPòÄn÷RýÏßå´–8QÏ`7›XKNxPvÀ|œÀXvaÑ •h=–»ËýhAïÛ;ÍYƒiz’Ï¿™ê«ÙFå—Ž›—o ÒZ“BŽß«ÏõçqZrL)óàs[JUÄm±S€ =Ô¤ˆ%.ÿ¬mìõ¬lïú‡ˆÅ‹F®Z!P‚xxJ&»· YßÏ÷b û>ÖÓyÕšcÊÝôÉÿªçâÀq³¡W‹èPúaDŽrçï NÂZ F"Œ¥0Nïü|cÆ7«=hv&Sêú[iðß‹uÃükŠ‹Šµ©5îvù]õÿ5ãò\¢T‚9d~¨“«€Ók¯=ž—È¿¨=ôÉžŠäñ1Æœ‹Aƒô¡%ÜÿÅÕŒ<ǸÓ5aÀQÕÛð¼“Ûó—”µcºÿÓÚp°¥\ge–Cà0/Ê!KŸJN YfÝ]o’ÉÄ¢èóÚˆ½t3x Hý¬¶ÿb€B&¬ÎPsÓãšõ3/—ÜFCÓÈ¢– +e-®þ›ëA*ð>õœa¢)9jw€AG?š¶cqFh ä°ˆ]ƒ¬õ;+ÔÙi\‡ùÙŸ}7Š"j!b²/²Øµ€Í†›Æ²C(†ÃØàÜ¡Ï8ýGäm(YˆÖl¶˜Ê%_ëÕ¯kCäómí~ÆA¤åòÒ\¬}[!ÊxÅ([):XÂÀçë©b»û ð1¾æ;(-ý®S{Tÿ Cƒ`0~ô˜Þ`[¥õ6© +÷4Qõ]DWÆ¡o€šýH`K”ì:õED·oxp/ôà —zxT¶OÌè=ô#àú.Ýëm´Ü<ý?­ƒ¾H¡xR‚ìü2ê3Ñ/ð CGL£kZ+O5Iá gËžqo5ú°59b;Trƒsø-†xX ùÁRz.áûo iDá˜À'ø.ÌSqY€}l €Ô¦j$Jëû·u¿ã=ö@õÓmbQ–3ù/³<—“ì\#¼Ðnb²/ëhý©Ú~»ÂÌ´äΗ ’cŽÄj“ x›¢ ìmLøH +ŠÝXê=¯µŽ“ñ¶kþS/×_C +endstream endobj 784 0 obj<> endobj 785 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 786 0 obj<>stream +äÀÃ`™‡·1Á2Kà$€ 7ç,óø:Ñ”$hg+]„[_”CÅCå´Ü¸¶šŠ“Uÿ_ø´ê5ÔJ8xi°ZÛÔÁœÅú;€º” ,mE3hI*.å¹}§~m­“@lóNf¸~r’<ÂD Ü—C±r;ÄÂþß”GWdFF§²j_ÑÏ‹W@M•æxŠNS®8®± µÿr•˜Z~Pˆ¡ #Ozµ‚‡~…«„dÓD—a±CÂ5XšájI ` Ž¼?I€õÈRêÑRO…ˆso ë\F ƒVhé2 W”mÎ'Øâ°$×lsX]µi­ç哉ë¹à!)¡š6OkFúž‘ÿ\ÿ8—cNv´L±´U°z—Ï š>¨·J<Þ +û"Ux?e€›m‘®Š îpb;­Œè&"ª©‰œ¹éº,™p®X¯ƒP9ÐBWù9¿QuóXçÆú#ôpdé©Ð#+M\ü„•õÿBCLðÉlÃj%•5›Gµ‚¤ó'`ávd.…á4€9T‚§‰7[¡o&ßácà_Xîô_¼1:pHRÍUÑ5A%Hì Ó;m›©K•fI>-›î¼çž‡o]D(&ùiýƒ,:!ŒDˆ©öêãÒí0jWžŒÞ‘^Ìeñ]ãF¼²YÈÓ™µ!¹c˜ÎÔfþ?Íî·-ü™é†%G•Ý¦‚¶úkÔ§K–F<³ê#æ_«$iºä„™= N™o×µTFþå5MkVí–¤„¹/Aó"Ù©•¤owGÞÙßì˜ÕzvhnPèH“?1ÎèAi€[$jÒ&!ž%Ï8èÚ¯Çç‚yÔÅ¿% !‘Sy…¥ÉËÍÓëaÍÖË?‡í^E±NTäd“Kte™4&ú>ȘÃ~­õ‚êÚÜŸQÈ:ÒEg¾=/ÿýÛ=6u¦œH'1ãj;}Í%ÇRÚ[UE4÷SL•¦ c•©¬ˆâÈàðs¢ï +ÈRÁhz™yKmü©žÇ ú‡NÊ1ICÁi Ý_ŒÌ_¶¡…ÐÜÜ·3êè¤4Ül~ Фd›×bsàaq`ã81 î‘ÉP;Mî[h}\šJ6Ú'Ú*ØyÅÆC­÷h¾¶Ü ÄµÂØUw¥paµ£R[4¼] œë“À VGÀ©¹K~D‡"WV。®Lº­÷NMÓ‹=‚®ef½wð[‹apš¥µTÖŨMÃnš$%½h¹UG6EIƯÌyVN£¹{Öƒ¬µ)»}”P0ñl%»:“u& ºðØCI<94›Cø¾‹ïöÊâÁF8WèŸ#†|›BiV¡°7”Ü*OGó'jo÷ûîéÏe×eñ%ºfñê¹cøj=t½?^ ”é9º¾h=Ž û›_°²Ù N÷=à“È ’p6×𞆉?É~t GeYïþëX–Ù ùÃåÌ™ó§“SËüü"I9äv]òèõÇ|{-+7Â#øϳ?Ùy\¤{úvo3±Ä¨'‰Ô…ŸøïŸ6W£ÃÌ÷2Fvfw“%éâ`òÌdžÜÓã Ròxºœe†‚ƒ ËV’t$¨€l«Ý\´ÏAr¿|ô¸m تw­mö¬x-ûÑâ;_äZ#<´³øOÖ —Wpz*ˆ? bæ@•ÿ7”ihB`þíföˆ°R(Ì+â,âüL£ö ‡ÊjÞµT:[ÊWx} {Ëä/tm&â"ÅU•‹šÎ°mƒpˆO’1#“rxÞ¡žp¢ðWS°Ô’uëL « 5 ½Îà…kåÜ'pÅvàñ½PÁ86‘O|Þ +˜Ó¸ N|Ly+Úöî•Æíqø»p`làæãÆRõZ›Ò‰ƒëö–£`î,OÎ%I‹šµ'V&J¶Â°ˆ Jõ…Uú<¿M)Ÿ¿Àí.0f;a8Ò£¯þåc¤Ì“Áçißqýð¢ÜÖZ“ÐPŠ|‹ŽGáUm“ë{aªó‹µÄŽ4ù±ß\ý>PD¢Rù·Û êyÓ>hù&äZÃuÝ_8}ÒŒ;ÜØå OD/ñÓº®êÿÙû:¬$T³Rà>ïs£K˜•:Ö¨pÕ8Vq$â=jùj‹>/ÇM.{&ÛËѧBRäÔ¨¢'øðq)®3có;‡^TÐu¤S~àÅ”:~#3(6”7 •ã£,@$%þ½ÊMÚ>¿".¶v)Çp¥ݤ ‚»_®åðâ Ü£ëLÔ£K½?‰ÿW{ì,«3:Päfšµ]ýÿy§Tt­?5yÛC_åÒq}ºÉç0œw4[!¸Îèny«+yê>í¡ºÒ†úq½[¢…@Ùf}¯vÁÚm»¨”Ê/e¥k£>ö&ÿVw¥ \õloÄ!ç(ÐýuwD´ -± Øe3›E‚ª`H1Ë ·éäÅ’¶+8)ǯ÷’<Õti +$\¤ÛßÖ/½?˜R|ááE8-MœKé;|îšîÖH}ÜÞ˜¿ÑÃ|>=Oh[°£î•Ðà¨Rßá—HkB øxÒ“½µúk†ûÔöù¯õ5“­…ðôØ<Ø×ò¥Ó ÖËŠ?Ø5ï÷ëNÜñ'ÃW…­\·â9s=LÜͼ²|‘„ÉŒP$od#WÎYŽ,Ö­¤•Æî÷ž†‰‡[ħœ`—‘õæÉS»ƒŒÄ¯œ{J†OŠb݃ýIž]|z¼æR•oe±Ð•œ 8Ó‡Ç:6Zh28ûæÑH¦|¿ô³ÍÝôë+JsReýv¶v¦;dœ¶Øuù–Ó6Á‡‰`ê{KÅ$±}›NPcšÊ'Ü?x‚íAb/7åÄ;ñr0ÔH¡ôëÁ ©€³¸^!}?h~Íqbºv‡Ö‡ÊR+"ƒg@‰'ü%lN(ÌHJUbjÏ [K—®®Ÿ)j©óümÖn­Ud}ÖMƒˆ›U‹3 \ª)#BpI)0Tµèi0m1N&– +C˜xñö^ò´¾òl@ϵúÆúœ=–1|/›Â:k݉g?b˽)­ÌQ í€8— Æ9&9ŸAÚêL!C÷ý&{œ%œˆˆníºÝQ ?ªv€0Jn&°;N:4+ D¹w§À ^*Î3V.jõSÏAz5×=†éçã\LÊû5]î椈ǘ—Aã=o÷¼Vr×ZáÞ8+›ÑÒ¡ŽŠÔ]¯:f¥ G3Ñb"u”°9¬Ïd´ì«™èŠo]Ÿ¾+†˜ÃMë"+3bK% !ÍìÈÕñÆ+‡Z*Ž– 劕§dè]V§4²–ÝÃWZéÃKÇfÑ ¤é1ˆy®qÑSY1ã&ªMŒ…<°À|€Xh²yÌŒ—=Í.B)ù‰ðœöœô›$]gë—º'Ó=N³Ç°Ý÷9Îú±Pá7-ö\0âÿA3ìÒÒ7˜gu”ÚűÕø ìH±áóçn€&¿1b†Y/Ô©BPé$Ôv2Âûq÷]ŒFñŠ_n +‘*emȃ˜¬>c2lÞ|åV³™Œcù€±[ÄÄ¿;ëðHm$g):Ó{Ô@„ûnV¬¶“®IHl¬ÿo¾lOsP %ûDŠ>äAëu5ˆû‰Nªôó½ÎÒ]“m¤ao8ôÑúW0Z½@@œ;Còl3É×/‚EÔº„ˆ~žF½´äà:°Ä&ˆ«F2s Ùš +oP—JqÒæ5r§€O;ZÒMs€çn¤Agê¦c¿iÉ_ ·¸ç•ôzg¯´û1“·uYHÎôÜBý –Ʀð…i_ &›‡Û¤|*&úÚ˜¾´&»=ù ˜B: +endstream endobj 787 0 obj<> endobj 788 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 789 0 obj<>stream +‰»ñdL2Íz8:žW¢lâCÛ©º•äŒwL~<Öç¹4–#í%œó(Uˆ_Åž*ö_s«%«‡K0‘øëUŸj¢V"ŠR¡ÄמF"/æÌì?Ê#u/?¿œl䆋{”z¡!7º¾é@ +'¢S©Þ¬òóÒÕ›ÍÓÄûÑ|g$Uk´Và5¥~Æ zn L˜ +Ø’Y¥4cø‹ú™gBb´«½댎)C\‚dæßbŒ“TOQÏŽõ Å],]+…²·ÊÊ4?ís­±‹ßwR^¿k({²–lÁ‰ +D×ô'"hZoö+õzÞ chz*)Fs5hóÕÇ•öÂ×ðAŸã&J$.ÖvµÞžDšŒ “•…6ÅëÅ‚øý­Ý£ë¢=^H'l”ÊÞÁß±k½:>Ü–¢xؽ¼°n­ÚúiI,o€wÉÐ+d¶‘äÊ7 "ç%OµAå¨ç¡éDh/¢Á‰„X*“"4ç% ~dr‚±£é±Wƒ"khc$¶u³,ïê¤I¹FBÚ‘G÷ÓÐHãθ­«™â8˜®~ì)¢ôdñ‘ßcóQHU¢Ckê89¾D§§"¶ „qÓù -t‘Q«²ù~ÂÜë¥;aJO‚ù†v()Ѿ)ãáÍÒs>/Gïi;™ÌŒZÑzÂ~ðåäz®¤Õ5Ã]òÌ,ó:|ãÅýªyì![›7ˆsR[]ÿ³«Až’>PÄÿHÊÉÁÕxá.ýL»aJÔȤ ·¬˜¡®‰ +1–¤§Ô +>t{®b’Œ0þ¶5±‘XýŠ}&=1Õ?ZKwÐ?‹‚ØæЮ±i= ÷f™2zÏ Öu¨A£LGYhÊ)A›.tÃ#ê;áD%™t¬1J—ŠÆýÓÝw›í¦ulnNLìä¥Ôò •hœŽ—,¡ûU‰[ ÑëÕ–&F´¨8’·ûþ­ƒ?è¼k¡cÃù,Ϥ¾4(Ò^%4·æ¸ÇûdԸT±Õ¤jÆDg¼‚N/Ðåô£2†6kÊJ§à ½ùÁWëíö*Ú¿æ ³9ÖbPu04øxZtŒ|+z¥ümºvI¨è¡–¾YæH%`MÙËöòÏ@¸#_G™9~=} Óü¹‚j®·ê˺%Î6§j;Z<@‰ViÑ£ž›þDæí­žÓ +äðdLâÐÎWø·p9¼'W]åú>Ñ{^3X=ôk© +Ù¸Ç>¶®¯,à,.Bø×SäÊò^YÀÞRbOz«ÖNÉ·ÛèïjÖ ²[1aëß Œl¸Î<`2ôgh¢*F{ÕœâÃNï+VTEèYŸ“ç,ü¬¤8œ2ZÎ2•0„£Û ~†Ž/`ZO¾‚º`=Èc]·ÓÅ1æä°æù®»§ã(æQUÁ_à³¹¡~cnˆ6œ¹õ5ógÿ³J±Û:Š1´âÛnJÚŸyÀ X¸pk›"Ժˆ— –~nJ:v‘órÒk¨<8¼\Ÿ-»°º°L(=“‡®ÌñqÑo"˜“$Gæb‹Qpóƒ_‰»¯»¦Y¿ïJ¯%Ù ©±†$¼ËîÌ{⪶ÉOC È' ¦ßB|D:ò‹ÐG†oÙ”v΄ROÄ4 +$šy&ÖK¯UHývç%cí<@ ÖnÔ=†/þâZJ_‡Ö*P)e“Þ60tIlXÁ +««MÑ…=_0?JÁ)ý^£JG…DðÔôœ¿Ü“cu×ä×J´H(œ£ÿ [øÛ+<|Xêo™‹)<9yª}iI¢ÒyÂUÁ€r!ü!³’ô,1#x¤s–ש+‹CSa [078}™7ßÛpWà#Y?­N @f>þíJG®°‰«×@µƒÓ8õÌ¿½O/óØ2Ô»Y"Mï=µ´ +NVºàpºÅ_ó9c=þgNYG€$ÄoMM²°êŠZùw è»úçÓS—P{øà9_Ï/ć҂{jÓ )Ë +”Jÿ6÷ÈÿeÔn}š‹xé9:fLÔÕÜBl>Ñ”!3‹¨Éå×QWž¸â*°n™f•T4jô¼«HœP!KÈ’' }¿£ +endstream endobj 790 0 obj<> endobj 791 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 792 0 obj<>stream +°&ìâVþ_곜v¼ðU‡;eŠÿù22PôÇÂqOIáEd5®åúÛ0òi>  l³ žšq>5'ZàP¡>ç¥ 9ÿd‹ð­]°â¨ºOÑ:@º¹„Ü ¯/ e©f碭ÞiWe‘|ƒÚ½ZŽZ\™P\dXËæW\“U¤ÿÔq¶Žk0²;Z’\`f¥²Ã‰? “Óm’Â8ÅÐnÚsÔŒçô¸3Í0m¡­Œû¹³9B]³o/¦|A‰•Ÿ8F%îë†õ žY8¸$¢%ŠñR½G¡—£ÐUõÓ38NW cz÷‹Èíì»W¤)lï(ï{i<Ü?ÝŒü¦R”ÀöSçŒfÏ8øùv2ŒXªhDÚ–*Fä«U=œ9Ãbˬˢ_Ѩ¡;Œ·˜Q„öîú ”x/SÅ¥?" $^(n”$BBà76ÇåÅöWힶ„"—wd}é¤wÜ툹@]lYÿˆàíϨæŒÃñ@R€û À"ì¾Ú_jÒ :NG˜‹IúJàmzÖ¦ïß„z•ÆtÉ -•¹q Ï®ÙÓƒkàêN`¸YL.Dñ:e,d7´AG˜?a®ª>%†º‰7Ô®ÔɧôÞ#À¤“˜ÞŠýð,¸ž‚'·D6ÿ˜r ^rñómP…TßÚÓ•py'£„mØÁ’cºˆ@Š’PÅ*­Ót‚_c7H¾Z­ÙuB~ôÇ%çÔ™íÃi `ô¾ô×ÜPQNÔKAæùõ°Mqš¹&Îi”lt\*¸þ>a.rsº‚â°? Y…FÅìuÓÀØÃÎ×x>¥¿ä‘þ94º³åø\­ÃÉ™vû“î¬Óáù’dák'è™® qú/.l®uïUª¹ ü¡cr¸ÜßÌ ?¬˜ô¤º¤:˜ˆ6€&Oãm=“_ŸÇÕIkå½XZ»¾¡´¤Ë!æµÚàð¿é½R=Aÿ‰Wé+œiGXЇ,B‘)ÿ¢üE´÷b-dôõ?Hœ9-óAQ‘÷:s4°Ô‘µ.ãÅÖÿ=€òög¶ Ø ñ2ÐEÿ»Œžÿ ƒ·Ð"Ý.qKyé•_:ÐÐmq»MD±Íi6‘Tq¯„Öƒp«_H[Ñ]A>?Ï›4„8kVžmÇpðÝîâQÞá5êg$#¾–l_‹eÙrgŦgàßuÇ´JA3çqŽOv„±*TÒè  VÄhYÃrªæ`:+\Ò5S~UæFÄK¾2„WöäÓìUyä9ºRgP%£Ë¿—KƒËt…xv˱žçãýJ¸ƒŽ8yÕ5iݼU÷“RÐp³“by¿#›—XSÖ²SÎ9 T_Êæ©¿}Ó^/|ŠaºÙü××—¤ú›;apKŸ tk¿%%vêáo#¯ÅX€¢ß°ÉýaL)3ösy.c?óQµ­Í>8ñpÖ²¶rÏèø¦ZxåÈcûyÂ×Ç´”ÇÇ€*ïŽv)ÓÓ³…œ`"~…ÁµŒ.t&M‰Bù¹¢P6재QÒ/[÷$VIx¾Ë @“Ó€»é‡ßù¶Äò1Æ9þ%áñYŽñûX±Ý2G÷6¥§?qCÐôã ßè‘8½`ô*ía5i;ð(jÉ^´•ÌAŪv:çÔ‘“Š³ù;ÞY« 5ƒƒ(›B-ÎÚl¦~Æú^Z¿©Ô&l—ué×E©íûÙ˜ÕK¹«ˆd¼n¸çv#uÕ6É1€?€º?e +òI÷«E’Wñ ÚŸ€aÆîô àBR‡…­Òݸñ[|`¾Ê™¾¾Æâ•*Ìë>”lHÈŽßë€á9Ÿ¥±¹g5w=B/úL —$¿ ÛZá -c©ˆŽÊ* ÍŠ"³‰úÏ{)%Žh ^,f~pÐ{̵á6~G<íUæíùü¥é@ŸfˆaXpÎWMêO£@»ï]‰å¶2xüf±êWUÞûnìíX)¸ÄÜ ¶Ì—Y•q¿1sïìa6€=÷Ïè™»‹ 7ºµ3…ÃHP ;  Þ RÉÏf•FËÄ%*ò±G Ýdã‡ßØÄO +{_´ï­¯«Šò9hÃëwò0M DY(’®Ê‡GŒ¦(ü¹±¯îŠOJ +8¯NÆ•aɳ;ãHÑÊ戊É.U_QoÊdËßRvB÷,~Vƒ?ÀÖ´&ëÐÑiôàì(dÑ1& CÏ_x—¤‹äiqd !`ßÉ\Ê”ô=)æßPa™VKÀ™ IsÀߨ¼áÞœ +Ðz'a\ ¶†‘°éLF÷æ! aЊ‹ ̆Žø¶rt÷\r¼z'PKh¸¦å*«Jåµ_Q¨W‘Õs`½]æüuúsA¡›FùQKi¬HEºôÓøeë¸o=© :\Ók »mØ_…EN`ÁaÑumœhâf«z‚ƒÉ› Ù4°Sï,„ˆYàÕ$•wñ‰—N5Ť}G¼Ë³Hh¿nÄ/\Åú#I7¥W¹,¶§¹«ÕA9ø¬3ÿêˆymÂò3»¾sW¿fa¾ï{+iv M®>›qInƒ¨ÊIË:LÙF°f]÷g³Ñáh$§0APȼ⑹…0Ëp¿Ž(Å äþ¤§å5®»;ÞEáÄ 'Ó ù]¥pZz[)BBj1¶¤ÅkPó÷´ÁÕ²¥00Ì^(Å¿Z˜¹œÝJÝðu À–¹£³AiØIöå(èb-K³Å‘nÜ–’eÒAYiŒ}¾ðõ)±áñ¯Gµé^®c§ÿ—lœ‹æ•Ÿ5KN°w017ÖxrZÙðs*9ñ\J q:ð+ÞŸ¨â(+’’DMsÔ‰PVOü +}fDÂni§XåŠæL™ÖI®Ç*³‰CU ‡·2R¯¯Y#xÊ«lãìLápn†J² h4íQøýG†Ò +I¨¸º´øM2L¦ãÑÇs',÷)çN%K!èF7*(UQ2xû-!®r»M?SÚF!å¼n„‰•c5y?Єä°k/»un’þ£ŸK;”©G­Í2Ø¥ žVÄèòß^­0õ\>Ú{÷k@¨UH§¨)¥tú#³ëxªŽbõ Cñ³ðD–òb¸vOÖ]tï\`À˜Ö:â=ün·c»%¸SÎçÂtU=sw»wžïøõØL…ªEäÓB$}Á$ÿJgW.þ8ìÙ…ß2ÀtPG#ÈJ,ß¼#¡ß„¥<}\2.ž¾åSðÎ|ÌBêÁ$À>\Ù‰~©Öy%†Šb¤FÚ] %ýîK¾^XöcW ©õÝxÛS©7ƒðÑtçîÆüÎÇY¥ÖÈ (kZpi¯¾5zTwÄÛ_â×M[ÅëÖb\³ÇÞ2·Ù»Dðù“ŸµšnÛ³ó6E9Ì›Jä°çi[“‚Ždì‚õ1CÁur¬@P»Ic9@ÉëqrdæÚ‚~G‰ñ~…ñ!“P$Ñ$ìl€zÑc9,Ï°·«hÒiÞHÆÝ(6óÞw„—ºÞÖï×b)Nã+õ*‚ÖÊeŠÍ¹¬û×úlä¶ÁuùBcs 31„ê¸ìžBV¹4º/ >︜tå¯tz¬lú¸¼J¾7‹ÊD16›ùº}ЭÃ&'„ î&PožÃnvó@Óa'Ïo!¾Cj £Ìd5ƒÝCÊɤ†+g­áy58¹¾(þ&,½ &òù¬_¹<å‹›uïf*÷&r¾Eû5FXÌæᱨ—OæDÍÞBvDáLÝ¥EôúU¹@Xõ +R¡{r¤sŽ~VðaŒˆžRb€²”ESÌRŒúèF)Y5ôåÌŒê¡Ý}!4—L•›ÃâZX´>ë¡Øˆß ‹eVWñ‘ +endstream endobj 793 0 obj<> endobj 794 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 795 0 obj<>stream +•½2äæˆ#?o=w,))è_ËE¤ÐûœÈ;Çt©rÌ©&ͯ“ÑJ€:ÇÛH9P¼röHqËõ¤F»C¯,©ªeпÃ}çÇkßx×z ˆ—O^. ‘;œãò<ÿ‰C•ûÄ ÖL;5ý¾V‰ñ°ÉU*gteàwä°~èiTTD‹ŠÚïUpfª#Z`zµ+Ò)!´ü•Ú<'ó4C®ü_ÇÉëÉn‰5†8É)k6ûòš› i“VäˆÉ šõB?~˜É•°nçPœ AÓà ó%ª=‘ ÏžVŒ%BŪÈí§‚ò¯„÷ì;Øš‡&? FújÆŽ+ÓO‰r:‘EÄ{Lg )R˘·6¾ƒo\¨ß©¶{©ŸÅB ¹Ð…·Owã¬jÀ:¨çç¶ÞþüS²ñf¯·òT +endstream endobj 796 0 obj<> endobj 797 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 798 0 obj<>stream +®ŽK[àÿ&ªj`Y‘ñ±  §œÁ/¢Ùem"ø'¯='H`‚ýì|±C‘>'¼>6ÁÀ +`zÈñC¦VÚù‘Å$ªþ™±±ªü¦{Á;!!¯Žg0W½Ä+– k\AQuÕ#° ]ΟDÉ)LLÅEoÅ{—õÕâÜ‚œ@è5øHð ÿ¥ƒÑ½+k¬ôoÇûÑ‚-Ò"†&HÓÉAΈzǪ£ûò]‰«k«` Á­Ü,ªÏÕõðÇû¡"4»ÿL + +¡ —½7‘™5dî$ÛM41z5jà®p}"Iö'ál"=æÌ.œý±E<Ÿ7cw§¿B +Àt<3‡fë¥lÉv‹ݯüÛT\åÝo[Ê–Œò@-dû|ý7ŽLá}XÈd5ÍC©©­TR8vpñ”X-.}¬Ýâd.ld!@; +Š—f 7û}k#m¹÷ü¿F“¶}³ƒ§oÁ+$ÿkq×s`è«]rO§{¤£íhz F‰?‡ ÕµïDþT*s¢M¶,bè‹÷eÝgGÏñh¢TëàÖ Îœ%àã2”ýFåËÚ©§%¶}?fa¢ê$К¡l/B2ÿ¡n<à*Hú7‹ß¨+Ò1õËráy‰Ñö›õ7JR+rǨÄó¿Íj¿[¶N^ÿCù+“½¢µÖ1†›x fÏg3µÁ›%î@&òD^>w“ÙR–Rª¸ÄÔć’dbþD{ñ².ÈɔѕšÒqÉ/˜¶êÀ“)ï —å÷[ Íïr:Bæîᎅ¤ºŒ +£¡ VçEƒY)/òÚÕ†æ†vPe$Ž†ƒY®X³êlZô @ÛBY-Å篢ãÕX´© ¼¦íFê Ñj߀âÞ6ÿ¸í ¹?xe¬O>‚…qI¹‚ÕŃ F‡ó" ÕÇÁ9‘†Ì5$ÊÓw=YÃóÎd$œoGÉш ^q¨ËWÿáïšy0ã–Qî—‚²^Tü ³?+ßA\‚C„ëgϾ&à ÄÍvKQ¶j$⢾…0$2µ:Tâ±Gù—g‚Љ"b—ÒTи xÎK°w°pïÄd#"&zòGïªÊ9“õìðµc_½[6eØëIÇ8h6~ˆÏ\°˜µ¶ÜÈ7ŒPaÄŽÙŸÞAQNDˆ“¡§’?g>L×€’¶Ùm3¤âü¶ïÄT‚àFÕ·ÞolÊs÷Œ4ñÄ~Ë(Þl”7NlqØ‚kõŸ$B}„ü7O3ŠˆaÝ»r‡CÍ‘‘Ò'rË4þÞLwìO&Fÿ³lIU•FDˆcd?Â…Që–©Ò¦j{a®]2÷©aXZ¤§8nþÿM>|‡ «]x€3e–ÞûÃ,ë‘ à72 æD=èÁ®J‚w² #3Ý%ÙÆ)=—¡œ›3xÿõ©£¥IyýÛHL«•dûÂü–.™¾™®³2&÷Vb:¯„®öÇ评½CùؘØKiNö){ï=RÂcæÅÐ5æqýpÁ0“Ìnð©vœžôúG-*ñ%µûÊ1, IËI+h íg»ò=I´¿‡eÓ¯ˆ˜[ÙHiUÕ©nâó¥[&PåÛKú-Ã!~ÓNgan°‰ñ4­°ïŒ´Ÿ§¹–¦ÜA22pÓ‘ï*œáú)B§Ü_êý[§ä/ÜëС_é«8ùo£ºó‹|À:UEäøJä8 +™³:IFÉ·­Ú’ •Þø„¡U"ÊOfÒO–̆)~@Í|{'=ïÑØ"9 „škÙ*&ªÌŠëÕ‚mÖÔEž¬F¤áõ`}·ÖWSþ)r©€•!éƒ*µQïæK>êÒÜj>?ØæŸsàzµ„ŸåJ·ä{§6U·GÚíœbôwéÀѶÔò9ÂdÖˆtý'}UX¹3ûu¡E|+Í»Ð6øÛR0]w>º‡A,.5k—é'"‘ x´¤g'4—F‘WDvEs¤„”Žv=æc6û'¦,ß+j»û¿0W¼Ü%ª¦ÚÙm¼Æȸ^›Ü[kŒtM¡†é“ÈpÚÁ|$˨ œ=¼^Ò +XÅ^R +mÜðwcˆš(–ÖTJxco1Át]…Oim[>j4Ê&ƒfZ:Ľ-Ó©‘èÜÍV˜²£œx¯ç[v8y…1}Ò`ì”ð0‹Ùáª%ÊxÔŽÐ_2Ê]Ì1ªL5蘆Ù[&fá¾*çbo‡íŽÏ¤é¯°èîãYPœÎ=;õê’È/–Lç-‚^•¹dVNÐá6·»éïX+ŸÇ6êì ª1üæâóßDf·w¼ÙmÅ°¤¡Øìp÷ÌSÁ™55y< +•Pzœ3÷:92 ùäé·/¢3‹üDù<Ì¥´vVâþ_žT¡ïœ€åÐïÅ •SWtrN¯O嫃ª@W¤ÄæxE‡ìE¢b·Íw+z I1E"]Ùœ2äÃp‰DÛ¦Že¦-¹Å(–5øÿ{ýÀ‚j,©j’ÃÔ“ „îMì+J‡Äš?u³LáÛß…‰ôíKE¾&ÙÎLvUõ ΢ʭup²À©]@Nå ä:G•?ì~’ÀÅšUæ“Éñ‡iI—ßÜ¥(½ϸóR±šl$°ç_¶ÝÂT ÍìẶÃp‰ó6Ê骎1²Z º7*?ö“$ÈRü*t‰›ÜNÓiJO$ ®©d5‘f0Ûk~Çz?%M\3ö4Kß_õ±Î ¾ø[ÐLp‚!¥“ù¯BT ÄmKýubNÃŽcfyŽJsHz‰6}3w‡¨ywçb:õ'í¹¤ÓÆ%¿˜8,á§âW'—¿¢½yóHyÃz%ÁçLPa}‡‰‰AQ|ZuëQ‘ñs2Cf¾5].SfY$^fëæÞÒõj¿6¬¹Õ6i€!ÝûR‘²)·Øô>.ª©ZòoCíí$/ÀrŒM›©Fœ¬¬³¾O'aÌÃ_·»Ì²¬’ÌQdiã 9á¦Â²þÿMtÚÌvJKŽ¡a*«žÑ—Y rÃaÐȲ2YSp­„ÖK ,žø©Çö-ž›ÓGF3àšyV™ñïi…JŒ–F”ÙßêsñǧxKý„uÐr,óŒØFï+ç‚ý’wì‡äµé=xÿåb 0p2³¹ôt¨IJ8a@ÁÏÔÔ#A2}ý:œÖ`‰À“³'ºI1iJô›1ñ¯ZÏ,&›1Ûžo^×;˜‹ÊÀìu¨§ù^D`G!'BÖqe7·m¸c Õì[¢t˜™8íe­€3¾RoŸç«â@¤ÿ{Ÿ”6UšJjù0 +ÒgOb§o5‚ lU!~QL¤êvTDaSpª€ÈW=ðóîÓ"…ǹ¯kȯïY¥jÛ)yψ½Ç„ØWbü{ý0­ûœ¾ [(ý ´ì` áX•­: ɧœ*r¹nÇéM(O½øAˆMz`Yãß”MÜš‘Œ^wÌjŠ×CRg…µÜÙ|÷µ&H-Ø}Å?ûœbÅ=m§‘D+xloùtЄ¶’w¾f}ÖDwzÁ.­|Y¦¾~ZcVû–‡jÑQAºÀz³ '·if‰UÍ74»EUHpÒÆiº¸RÕV=ÝüE)ñp@5zc” »~"wws¿ŸåNkóVÃürÙÛ%Þ,-ÍȨ†Vˆª§:7ËËZ)çs%A[}¹E-ÆŽ\Q€ÞŒm˜ã.Vg’­¾´©¡6…›ýæêì:°haÙÆM'ò|»*jËú“¢CáÛ!¢ñœI±K ý:œ YÄán +Ë?)ÌLÒWä9Ú3ö{Å»Wÿ ;²%(͆RDx­µ·Ý„Ç׋‡ë-„´ÿ:eŽ*ô"<@ Þ´×ø(x†\ÛX{NOL…ó}ï÷zvžV–ªi³. Ks‚yF}WþI!´…ÔÐ%M³nM â%JΉœþ³Â–Ñ:(8Ùì'RÉÈßõ9°þH‚ñ.;|sÐ8°BèѤâ}Óú§ÁÍ7 +T‹Sq:ë»s ¬K9(w[S®ödB2«Ÿð:èïë• T[ë ³é+K©Ã,êo£[ &¶l•*NMaA +»‚Àl:9'ÁzJf#ZaÂ<–scn¾@9~2¡`QêÆþ&²õ ·^ ‘m-?9âP]”—÷ëU®sy¢ãÕÇÓÁÿn–žd‚(‡\b´ËÄ:;Ð'R¤¯¾—ј4üŽbÜ¥¹ÔÀÃXKê[òÀÆqîê˜S]OkÈ1ˆAy—×n?Ç™˜ÚÌWm¶Nú“æ–¿}Òôî›mL³x¤Öi/´üŠS%§¡kœð^iµ”ù’Åë6É„ÞjP̓mÜØ{> endobj 800 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 801 0 obj<>stream +nÃIf6öD-¤#€ó2Éî #õšÈK8QÉÖ¿v§ +A‰]iår€wá.ÎI‘;€ O Ñg‘ºÍø–6Ú¿ŸziƒÅ\‚ÙÖ]Óö±¾„sªñª@ǽ¿#ʶ”ÖuGÇ +eébÝ7ï º/ûéëz ®ä¯iì„N+:fhºRmÜ¢›öœ»Aà¯<‰ô€H?·×`£NÓ´wMIÌv%[e™.{l àÆ‚Y|[’l® Ã=}ƒo$šá¥CøË“cñÞ³‰.êR1ì>ºZî/!Æéž×&®t(mɽÍ4O«–FÓ†M}ˆwƒLÒí}#€ÿÆZ3Eí¹¿ùQ43áðCœI£–uD¦—(¨kgÞF§ G“8Éek'5Èa;«gô¸~ݤs›Q~ÕŒ¥sž;%%›”6Gd÷âýƒžølfº<9QV fð®„aJA²_[ÂçAÙ€‚$Ô«—-Üù¶A¥yPË‚êÞ/Uϵê:ÕsSX2<©U„Q§9a±ýL㢬ÚýÄ`˜…2$ø|G7®z=ÁË›ë Ð-㋙ɌOhg¯¡‡ 'RíWj‘k it4 »ŒUtg}çAU6ôÝ*-†8B ÌŠónb%Ûàs§#¾“sxýZ«¨z¯˜Y-®hR±P$øW•,IG«ŒšŽa ŠÖ8Wä-‚å?û—°ñˆy‰— …_8DaO+©›ù„Uê@Éa¢·‰ådQV Iï㚨M1¼ÖÃ¥htK”g\‡µ !¿ìã“Ý÷‡QÿE6—ÇhZ<6Wù‘Ç£þ¨»A(8MÓr; îµ „Œ€£ð—ÕΤQ'Ïm§Ã 2û¯å"Oo3°(é9¿dŸªR3Ìý0]h9(:ÍËY3ᙂ+þô¾þå‡qNNíéeOG™º]/»28Ç€vÏÎ +=Å\7,#¤ƒí|/«ö|ÙqÛû´»aDˆS‚GE BpªŒ°ï=$W`àl4tÚþ ³¤™öÞHiKp5Pb$e¬°½ö?ZX?u¤¯h¼²¨Ø.Þ`)®h$qúê9a‡WŒOàµ!ü/›liK +œÇ6%Õúc•øÑà;íÏÍækí¨]¡'å]Æy³9²“bLp¯Ër–4HÓ]®$5ª@Ž0Ä`,>‘¤kκ%Šu÷Õq¯lbäמͳF<˜÷@Ñ걘^ÿ3·Ð1É«i²¼÷3šmçÚxL À؇Ž™Î6{‰'¦^ÉT¨î]á­d25SÈs¶¦»›ˆˆ¦f,‹i”rï$HMk?|»2ááæ.ë²’÷?b¾—¹m¶Øº YFÐC(£xd0£fvÁÆìïâî±,Œ£b¿ÕF -ºªàá · åˆîÔ? • [Ë¿gmá#ø¥wÒÁíKI@(¼ZÜdÀE,©e˜¹þxõŒÁåe›•~(–¦ežÖ–Ði;…çdH²-,ªëðêÂ_Ñ| +Æ?Ÿ„ÉZÖ×@ø_<è——˨ˆ©˜­•ZWÚ˜ó€éÇ‹ñšäÖ}Øëƒ …ˆ’¿—ÎH›áÚ&±Xçµ@›;cÖa•ª0¼IÙ=N/mö¡ïïÒKÓ~ÿèI³}õÐ%ÎÐ<ˆ<ïX 1í&FÐ#‰µ³«ýÕîÙeš… ŽPJð /»@-Ï“`¨µÄ95³¥j'DÁÎ$6?‰ÐÕAcÅnÇëüà ¨‰¯ÙsÝôRK˜tΧ›Cwú•©F*“‘ –P97‰Ñ»ˆTé°k—%‘äΚ×iå’ºuÑ7NÑ™­UéúÏðv~<[‚ñ5ì:27ÌéçþheiXÿòñ¶ªæ¤­ï¢RDŒêBÔÅf'8l(¥j÷\Ýtå9O˜Jù†ô‘v'…´kLŸ{2Ek´?ÕT,N¤¸³„b¢¸‡KSèú¾¾”µÝæü+ا%…c+j²‡ëmÝ@ÝZÃwä›e ÍægÄWL¸G¨ëz” +ÑD ñŠ¯¾ÇêYõ;_½Ã¬®UÀB1áßx +GŸ,¥®ÒÌÄbŒ;c>ò¦ó[µ2:Ü¢GˆÝ6ýÏ·•”¼Q+úÊÎFš[Hqûûº‘a~C™Ž•Tf ô/¸Éõ ÚjøÖ²Â2†gHØ}Än|fŸÛ¼¡CùÈõ:Á6(–ªàÖÀÊìvãÒ ªœëp­Ô5%*‘úÈØl¿ÉFÙƒ³C±ML°øA5OFë""0ˆvOí¶\‹S3ŸèØAÔå»ÏÀîÁ’¶jâ¬íÖ”Ÿo£ ü™Ã/â·ã: eš¶xônÃÞhŽd[O(ª•Èß^"#ª’ŠŽ4î…4µ­« )ÿá.ñaúõOJlœIøUA=fïIi"&éYƇ͜"w ‹ ñ‰Š <‘¡,:Sf¤&ÓåÜÝLÏ(°çw ’‰òIÖÀã¥TfؘU’Uþjå%ü×ê÷§ƒSbÊø*àí1M¡€íç]g“>½qú€ÝômÝDÛæ—å*(g¶x:ÈŽË­z:mÝïU®mž“(S@!ë?¹ñMâqE ÕÒËY=ÞLì¿£ËÔMÞïA5ó”ÜÔ¢Åý4–@3äZ×X1üy8BK,|p×?{3 + Ù`*ûªfÓe¸HÑ<¬ p/1ŠSdzQ zÀuÁ–¹ªŸ6üÑ8I(((#¿‘oî+õÏB)WõýÚlI…“=¯ÚVóÃO‰óÒ?‡¾ ”ˆ8Üç ŒPÔåw +zm’B‰È6Z¤ü»³î¹}s‰Ä{Ž®{Û†¡¦2±ä‡G²[áâEô÷òn^ò4U•…}Ù™SäƒÀ†Z28lUÚרKê^ô•y F¹mÖÒ“0Ô5Lòà'¯ZÏÓ‚Ò(ó—Šá.å@q]ŽÊ¾é‚¾@µV׆M@YFàqõ^ª„ˆ"pˆÙ}’¿mæÚƒͦ"˜š¼0#3Žø¶Þ½b Ð’£ô‡€,þÚgÙ°:›ÏÛ),on®²wð6 éø„°®4¡ÝUŸ7Û'ÄbžP1G OøéM +_ilk’Ñ+óCØRíp¬ô·ÝŽ<è;¬º¤CY§³}ääI85óÂveÁ7(0!%~l£0½?ÞÒ°$“*…ÛÓ¡©ÎÑÇ;Ï!“{ 2tæ2ÂŽLäùªXi™3Õ³'wºîq,9è]ø¶ŽÝÚØmÏ æï= )Øç-žWÊÌs=¥°pô±g/¬0z_ùŸœÇD$ì,^3Zù/ÉáÑÍÅŽî›»f§¢I¿Ï ‡‚,þ³ÎBú;uKA¿¾² ÅÖ{û0–ùWì­+]²Y,Mz>¾yÄX`+ãÙ[h,ÝãvGró÷õÑ€Ž5B\Cs+å¶ä´y¥ý®þðWDµ NÛæ‚Žè1íµt’bÓá8Iø=2Âìó‹û׌)†×DDú—y}sùR7WØD¢àªß’(tÈ—*t¼©êþíò‡©CR/Î…¢!‰ú—4ëÈkA€/ }Rl$­Ú=ä ¡äŤO¨c+±ˆs×$#f¹n®•‰ÍŽ<éB1¥C™5 ›ÁxÌ0{G CÙ4´(2jhqøéÇ«É<gý ßÞ¾–*6šd‡mÄ6ƒûÍ\*]CºÁ:©Îå8į•´³_úIT2UØïáx¡kϧÚè%ÏàIÒºÛÐÖ’dÇÄ^•°”¨W3°Æ‘švžÃÞo±’Ó»Øó®( ²ôÐ÷b—ÁÐa=Uµ@êu©;UÔmpƒSÍá–”]ï~ÁÊÞî½Z$ªŒº]ìÔb8A,KølDT©Ä6kK›òý`ƒ] 'a‚UÖJ©ß}¢«LÝ Ã…)qLn,i—Nú/Ï2ì.–h ²×Ú‰bÍP¯CŠÿwãÖ?v¿S/iTp‘m§ù‘”mÅ-ÄâÓ{~ý"™yö’¾„ã[¥Áɦzœò¡/Ô4KV×vªÇÇ)v8¤Œ²…úãaîH„ŸT.Jm+}×Qü2†ï›pÑE.vG +endstream endobj 802 0 obj<> endobj 803 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 804 0 obj<>stream +Q_únÉ‘‘ÈG—jµõ6{.Lnˆhò€&Ǽîõ<‡“¹[c$œ#±ˆ:FîŠö0 0t!/aœsŒøL gÜÿÓ&8Tû å8Ÿ¶ùÿô}Ìc°ÏÜs#@"—nv©‰µ5óG*j²¯•È‡4ûÂ;99>FÖÈ‚hÐÖÖÙ2cN `vÆudèîJÿË`û€f`¡Ý›!à®Z×ö‡†A„GÞѦ’nҨ¦n銄ñ»Áœ3ð€ŸÚÐ4ð`Ê5J¼‰¾);Ȧʖ\)Þ¥A³hÓz¼`Ùò ÄRÀŒeàÙDŠ»÷ ÁÖRÆ +€zÆiî¢^Øó¹bÖZ&]>®f—6†³%̓r’]{z±<Ù“%= űG…¼ŸÓ­ +Žt“dHÚ: ÙL™Š0·š"1¢]çŒ8ä ÿ±û*ºü1†ä©Ä‚nÙÈxüÚ® |ùr=»àabà;GϻΠéíã†ÝjÖnêåÕÕ¢YU2d«ÌŽÀRž¾DsíÏí w 4.ŒØ^vÍ¡>5¹#.ü¡Ÿ} „pÛøÏ=°E;í7p¾Š„¨ÎÛ6QhK¥Hvvª3xð/(‹LDn™ 2øaßÃi;£®ø%CͲó¤ÖŠ1•›-‰Ópô+<¿sœÀxP+¢ ß;©>·í)r·s®ÜPmnÓJ~ç@Y´ò5}ZE`ãÛûäÈ_Þ!à6¬ŽI·4€ªÇ,)‹zZV—jB0ènñb=¨³³иl³Ä\Ð?Cñ gÆ÷IU¹§òÃ…Z#¼×–d©qF˜\¡bt7Bü/c°o>ä¬Güàh7cVÉœòmÜÔâ4é½æ‰=@ß¼Ô +°µ J€ÉÀ™ì”JÌ5öË!îšæ+Ê+„:‡AèRèWyßÇ©¨ b™ìäg_žVζTlscÙw…g  +‹¼)þ= 톌‡¶8ˆ/\ Á’87Ît‡Š·WhÚMbËbâ€M«SpÕ€€åï³DÖȳ]tÀŸ³²6(¦ íŸßˆ•ÀŠÙ*Îm›]E«ç:—šã +·Ä!€GäëèƒM˸aðÞÌÆËT.´¸š7ûíóõzŒC1Õê®E‚ sâ VêP– +endstream endobj 805 0 obj<> endobj 806 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 807 0 obj<>stream +ˆj•DŠKs›ÝíK€y0,“Zo‘Ê\áxC©™-Ĉ‡µ Y}æí4lx;ütù*>ɼz?©›H–9\™ã!Àõ+Ý >òÄ ¥féiti…$í6£®i-­&šWJK{n *±Øk9oøÚ`óI ‡ Órâ·8 «Š…Z©p*õçðËí~Jpí¹•¸p\Ì”ê8Å((¯kI‰ßùD­‡‘‡oR,V",˜?%ž$›_Ux›\È@§KÛ”VÏÖÁP›?ö%>™TH>Õ·ƒ hàd­±–šÎÚŠ ©ÊyD‚"@—&Kg’¹:{óþ˜`#Á¹°Ø® •Ü +šZÿ£h¸ågŠÓ’=Cÿ Šˆ1¤ÞÏ,ÚçMÔ ¿uº›{kÌí€C£(ÖqsU•ÏH×- •â̼”¹ãÑítÈ"Èü2Ìg“s€êÔ²&Õìù!G˜œ’Ãø~Ñ`/.:e­ÈêÈJE»Š2­Ðg +8(5h…(¡²í,@WLZ&2™ù.´Àæê/¶Ôß`*ɾ¾ˆWÏA/f-/‚{JøŠ¤ÄœÜ%ªZˆ¿eÃFð›< O"C˜Y=NÙ¥ü0Ú¹s»GaÃġe5‚íGVxKÄšWcÐÿBïõU/§N »uvX5Mßžɱà³:\™ äSÙ‡äke@hX”O–[Eøš”Bp)&ïUuSˆ¥´g¸ÄbÉüíEï@åE™À™Ð;á_5ÉÓ»Kûó"œ¾Ê´97 ¡¬ž‚¸U“|:Trg×Ë ]¡€U¦©cq®y*£Ô,2´P$SbÏïdã,Lvõ÷yjPÐÇ’ÜÖrhe܃ò,.’#&º\ç +Dø¨N3~ær»ÅP&¶WBÚÏ-¹2‰£Š-ÉÃkïÚ² Ï­yã5ØðÅ¢ægŽ|¬¸¼K½(VÁ¹,ɦÂä^y•Ë_ò*JÁ+ ¯?XÞJWhF&ᔲ+”Ø“v©œm/Wõ5¾MVŽ¶Î\x‡„§qN¡Y_¡[ÜìGd~£ ÐWÈ¢ØFmA™ËÎÏC(˜9ÑdùÎLZíT:*KAB¦‹ofa{ûí|š¸÷T×ÚQ“è 7&"i?½XDz§ÿ®%Bùóçáµ=my!*0©[¦~Ž´æìP£ùtUù›œoFu&eÑ8|;Hƒ¶³ªàÖ…\s.ge¿eÙtÞnÇ!-í³Öc¬ÙSÒ”dFh3» ü‹[ÏZx7(;ÆêÉ8#—?дGå†8Þ%-G&ÿY*a€¡ {(È€æ_ÿÉ…áÆ«‚÷“ßrâ-(fÆ·fo&Ø·´rÍä0߀€›Cù5æ +÷säY¾zÔ|˜ÈQ ?GdEWíÿì¡uvØttþœQ@ñQiúÏgƨMC¼Æ®m¾4çðÆKXÕ0p^„·.ž%!SB|[_ +ŒŽÚˆû={äÒö~:8¯ƒŸQ­Í° “U£Ä^A"]†¾Œˆl†‘M_d_4ë¿f­"·T‡4)ȱ?9±øQ×ìu—es>W“3K‰Ýý¾F»Ê59\è—$,9]÷ W[T‘¾bíÙÁäÇht>9®d¦S–‰ƒ¯ +-“DŸêš)^’Ç(¼™ÏɧJÐÙçÎÄ„!á§ð™8‡TëŠãÞÛ`8¥â?…}¾uîSÓß=È-¥ÿŸyÆrÉ¿Dº~Ãÿâ¯-ÁÝ'f+®¹ú —o¦K?$¶Ë_/ S£¨hOÒt|Ý¡<ùiG$3À ¾%dwÇ‚˜¨, õG ï?ƒïÈÿîŠ;°á?ø1–û dëcªO8j6jÛPºÒ!'1þìÌße£I¿Á‡‰|*O» +—rÍ—ñ¨°2è‹ßZ­?½Npºxîâè`a´o0½X›@Aº—•ß>¾Ylf[¡×%M}_ ìaèþ,Øh·mßGŠë-ò¯®h._r$= €¹Úd×½»Ø‘ã%–v¼xšíßµSDþ¯ÈwŽ§Q^ûÅVm9lmw†ÜߨoÂi¥„X£%‚<7ÆTö'ï´Il p‘bžÿþL˜&̽}]t¬X1@ð’VUb£ER*¹i°æÝ*ÛU³cÒ”?!ëAîÌ@Œ€Üðèšn0šIۑ兀 ÔâÖ@È-S!·KØ®&\6:ii½¹,x«U”³w£c|wNÄ ½CýnýN]ƒê÷š q³Œ|W­¯Á˜Ü‰k- + Ä7w6êGº FÔ>_ÊL¨Ý}<ˆ¥ŽV%îù”bò¬ÿ”z$Ä<#ëE"ú{ îrù@iüþˆÈÅïsšw¦ß~ðø¨ŽH¤žvMRè¼(|Rl°ÕHÔ»g'šVPïTé–n?™=à`w> 6kØöÍ#Úg´áÀ¸CÚ#<§] 3½š—w)=1R6ÙÙ+7 ee.}îíñjîþtå.=|m:à 3,1ÖÖ¦µ²QÖrÛ.õcÌëñ:PÑR¬Í†öLL…²º©º­,ä}ÂoG‹;(ýdçÅÀÐ1ÐdžùèÇÎlºq½y¤¥¡Ýû°Ä¥¶×å¢AìЈvŠ½$ÈÔjÔžì#êÁ?ä7‘n‘³\‚¤[)놡Ÿ3¶%ÒJhåÞ݆̫ä ‹ÐÚÍ‚B†äŽðúÈfÖÞß›BóD4Z&䮄¬g%IÁ8>Ig GoOÒ|}&Éãšß©wY®£ Dr¼°y§ÎÞ§,ÎC."|z/Ö 6¨í¸F^œü@^+‰'û&ÃiÖ´^è±ãNSI?|Ѷ¤«ÅÕ{ÙvXã!u>-î´{ùÝ„yòŠt»±û…½fÈ[z¢Æ¾Q–Žz¼ÑÒ™_+ ¬•Æÿ¥¶Ûï£~‚-ñLßM„0Ûлó¤'1=z}_8ïÒxí·ôý +…ýVœw~æ³±‡Ä’nɵmœL’#Ðzü=Ò¨ YÕÈfvCO S¦Tºe"*íw¾ˆ h½˜®ô†?»e…?èdÂÚÌémhbÌöºcoÕÀŠVAE.¯GŠ„e' 6Â:61[lŒ dð§_¢Fâ†Ð›uV¶„&8̧ÖÒ*ƒõ¡­gìÓªŠè# +³[ª !ý•ÝCŠi +Ç4ãñ·Ìš›<»é6Žm³¶;ôFÁþí::'JØhPD"8Ÿje™fÐY°¢õm—OMp¡(Ÿ6þ™ìÉ/‹Êõ^þCIéñ3:]í:qõHy6MZÀ†ŸsˆƒãXjcFŽ€VSL¶}•peÔJÞÂs{–”‘_7ŠU襗"jî«-žÃÔê!±˜bðµä`Ä¿Ûö@¾²}ª·ºãÔrˆ¬È´»5«˜Þ«ÑÏ£ÓiÉgGV¶IÞlÁÔeE’ÎåÕþŽBi/r»fJ©ú¼§êVü+Î@"|µDÝcÐG<ûÌt|'§q(cãäýô×.Çß²ÙêLÃ6Ÿ—lx/À£dО[—†¬w`«<ÂIÏ“&3–t–!͵ÚÍË5~3ƒÈZÐz©d …Ÿê‡¬t鶓!ܱ?J¯Šr²¨XÎçº ßiôÈÉõ ¤/v ·¶vØr\ÜL·ú¡GÞ´F8Œ÷1AFœoºúóÄÖ!@!F´ðÉ7\õC;´PÙƒ–ñöB8~®e?Ph6 @÷ã]kßhúHÂ$ceä+Ï>iÙ”«xTÆ¢*ûÏQÎV¤Ü\÷×ad[ +endstream endobj 808 0 obj<> endobj 809 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 810 0 obj<>stream +éÅŠyú îÂõ\»Î³¤:d ÿ]ªnèó˜Ð6JÛu¿Z뿙ƹØJû.«K¤Av’fÅÀÕЉð»bÈJIÅŽ_]ᬜäf¥ÁwÎË^¦œyoú|2°Ñ_¿k¸}¨s0fâqiù}¾ÿ¸nÁåU¢ôwG>؉4ÙlÞÌ¥ýÐxó›³Q¥½ºŽm ¡H;(íZ ’¥uÖ¿¼æ’¡K(Á‰Q‚æ)˳1µõ ŽaÙEpK…Í4… ““=;¿M—Cég#(dà^ð"£P_Øí®°1|¹.…7þáÔWmÊÕjk'Åq<VFKTìwÈØáwÒôÃíY™Yoqfñj M?ÈÏQn‡²ÙAÀh·áTÍaNTš½F­º¡îñûâÌx=4‚P€³Á_õû(dÕ´gij É|-!ŠPÀ0æS\ß^7Ê#‰r«Ý—Oáó^M¤*9³Fu|lBå€Zžˆv=jÓ þ ’cÚfWéå1¨ †¨Ëºe”}é†úþpÚ’Bt9{µ:tò«g92Oæç‡A¾Ô¾k UŸTÙ†,0h÷­FZ§—¬úâzb~ 2ET›c›Õ_7¹¡1]Ûö®y§4³ ÑÊéJ9ßëïq‚/ŒBqC_¸]ýIpA@uHq¾è*J#·`ÜÀÌIw#ΞÏ(oÄl&™ i¡âQ@FŽbw¿‘5$C†õ)_1ÚEéÿ‚t­é/L®Ê©Ë®Ðv‰bOKñ0”qXk®Ç%A°f›°cë™×€bµ‘éù èáÞnÂÀzp|Z·¢Å-þwÿNŒÖá¢k§1-~Á¾H¹˜IóÛQ…Üm7åI1Ê,pÐ9íÈÌŒ(zO – ºXÃücÿÂ'Õ»Kþy~¼€Á”iÖ̦2DEP™v¥Ó¸¹]¹²ð‚Hlñ@êNUß­ #~X’5¡6ý}_¶?EØÍìë9^Ö€þU»Ë¹"˜Û ?N²Ð‹K{ŒJó1”§Û²¿-ÏÉû:c.§Yw²É;춵A¬Å]5Y3**›ö³Óš×žçžÛ²6’ørå%DF(› ¸Ð¬¿²C”F:#âQšüsúÔÑÝéÍˆÚ š<Ú‰Õk jo#ð˜pX=g¯)*/ß®dbY7`ù w*h5Ê’Îr׬œ(ZúΘ Ì¡ÁñP_ÏÞ­F½›Îm?þ¸ÑÁ–óÝVâ–#6"ÃADj®ŒôºÔ_·Ž†€+½„?È\$ ß—è<;Ô,­Ñ­Oë¥Ö NÂ8«· ½`K“fÀ⇌&¦3™ß×M1åzÃý}TøÆn§SfEý{Õ±5DxÔÆ[»Ó’­Ô©îÝf¬p·×d >” ØÊ•Çàã¸uCÒ¡=?|©³3™Å9¹ê«'É‹ø) YìáßDÍÑG£#a=¥†ÁwË,Í&gÅ“ÿ×ü7Žfí´Ò5Ñ­‡Hª{°{ +žºÁt隥ªM:]wB ­˜l¼9_»™wCòml.>xvÛZžF –³‰b|Ș¯'RÈÆH±«›Z£@©,jÝc}2|k˜±¦FŠŽÙÄÚÁ|ÉÁWŠ™DàÂQŒø²á² f4ˆ¥9 +ò\bšq mê~¾AÿDvðÁRÆ䈽u²FçM'Ì^>¾Žåª“X#ðY;П—îöÌ!r,îè~ÞJ;@ƒ½º¤’Cùšq‰î®~Ôn²÷fîQ¬ëëÝï…ñ ¡Rn¥jR°áŽñ,«ˆ'ƒôEû¾ 5аecƒœ«ˆ5ÝDRà Lð"¯Ét¯MÝì¹jÕšDï;XTwpfRÂŽG¹ ßçÌì[qo§ˆ–I›#îAOn`Úb€EjÜrç4¶Laöî«?NåH ”ÿÅà#ŠÝ¬`¦Ëô×)ÙA¬U +úÁµ¢+Q†¾ræ•^×@ÞÈ•EùéÜó2¨ÆQSšT-Æ¥{ŒëËo‡`µò½ª½àå`ý<¯ØOÛ!ê³Þ‚.~ÁúC¥`(׺ê\ÙÎMkcsCµC~üȹ!h;则ÝâbŸâ]F +‹bææÜDW¥ôÝñš(§d”'ÉFØÀA¯+íQx£+¸6ŸÇ;ëørNÄP„û¥Ð,>£s¶è—ÿr>P™W3ñ‡J‹¸ÏŒK®½ºÀ&ÿ K? ,îT÷ýMôéÎr¼kª ?:XE1¨ +¶d_&Dà êι)±ì!fî♵6T«Q[“Gå«œÜ)ÉaôÅZòÔ8¥ˆÃQÿRß©® ±ê>*²@9ÆÏÇùÆqÑI7ƒ„®évTóœ¡ôpÕv6u9@Ä2šxzì9Û::Ϧ¹NaK&°xű þ—W‹ úÒM¶@>‡YÑùddwÞd_1£=êÿ°TrŽd–u?”¨…ø?í( ´WÁÅa’ˆ ÙHå„ù¤Ô3u‹7ñ1FNÛæZõáio!è']E]„™Õfýà6Ê´¸&œIã>q´ÆNB Løç„è5U~‰cp%>-5Àúóg"ûE‡m¹‘ÒÌÉÉÁq•GŽŸ9WrQØ5þô–@©mš„™žlF†R&>}˜=ÇkZõ&5&ëuŠþlŒñð¨g]')¯¿ˆÂŸqÔw]—+Þ§<§"•Z~–‹ý¿‚iå«ÿ€0ìmsš¤´qæpîe,ª7",¨n/òåM!T*®Þй6ò_5dúË»©­é|SO‰Â>oßé ´æÍÃNKºØðç¥+PÙ¨œÁ]µ—N¿â#|Žô³lyÃðõ¬ãý–SÚ3Kî×>k8£-lO|›ë}Ì+m¡›P Kñ7kèeç,!vFÈE÷4 ’mkèfmXËA’ „*ús¶~?‹#´ h\Îü†í5”BÚã‡ÞÿK°ž~›©y°ö¦…ˆÎ˜î¯Ü¬;‘Ûå/Ê™ì—ÄßtÖ] YExjéë +µÌ 3V\~æA­R \«¾³€8Ÿë¸»- å…†j_°¦"^tÔφ>‚oÞGFó¿+ŽÖü¸»”e&‰{´÷€ÀÖ?ÃKÝ›‚=5ZJÙï)–]OáÏI¶»M=FÖþ™ùú`/8‹¶Vn~ZG`µTÝëAêòúÔúE7Îr ü+å÷i6èƒC£²¬‹ó/†Õ"t—bÔ´MØÿd©“ó0P½Jyh[õ*é…ßAðª!4³Ömn^[aû”NfNœbMD¯t» kv‰‘áBðŽ‰ÉÀ׉›xˆ8  –Ї’"ÊL”ãeØ#ÃîIÚÏ°7¯“â$ÿ´Ó¹Má´þ½«X«š`©3ó‘$ˆˆ?ó%$uï·¤,Àó+ò +gPÏf4oC¯_r%Þ\ªä“ +¦lk +g?Š×ѫðÆQ‹«êÊ›;ó¿Í)&rÈu¯›Äˆj‹=¡nÊ­2óq“O8ìà™ +Òøâ6É/bA€i_’"§+ŸÉTrÀ£@64ÙeA§‚ÆJtzuš©Ü¹ÅZÄÓ®eJ Ý\ýQª Cäióq-&I5 +ÓTË"#·¨s’Ú„z‰©®Û„‡ +ýÿ,îúýªÈ‚z½t"{‹'µÂÖ¥fEe½èqí?fÊÑ¿À>ºd5ûro‹W=xÉýÖ£¨tfü·€¦º¤È º¨œ`Ý‚²Ü`+Ø„?Ç·a kÐÜùÊš¶ðоé›e?Šÿ¤³C™÷wO(v—Ìu„¦äEa"ƒŠ·ò¡W¤Tß ³ºd<ó„„i°aZxÀUб,x«Ñý òF  dÉô à6ŸÕ Ǥ[ÑÓYƒß«vR]p5}õÐeàé×iDíÉþmí®O}w*²Vâl7¼è!°á¶<.aš «ª,U–®½r^\E gÿÑëæ\;”1ý“ gD~Ó} ÞË;Ù™küs×/q̶ý–{ ,Ñ\LÝ ¿iÍ‚\”ÏŬ8+'(½rèC”¢ý”©¹××óÜß…S +¦µ'‡(Ìsx‹Bpr“ªRû€(Ðá÷sÂì .ç±v»ùúF91g`Ûañá‚èYªµ¬{Âi܈¡Mÿ“‡qûbH‚ÜJW!ûÙwhäM¥CÚRû^é”.\˜o©RH‹Z2¢'ÈÓqà ¡ÒÕM¿ÿ~{J4+W¹Ä÷HË`ý'©CEkÆ}Eq+€S¥Ø| +–ûÉ“çã’Öc=0­+î4$+˜ÅjÁßf?›†Ä噧ba&—¢¹ÿ¹±õs@©·ÃýÛ9ÏkÁ‡º„bêÚàSýÔ«].Ÿã +Ãêƒ1ÔˆÀ–ÃDßvZ™jáMÔ’›i»9:©ó>ýškÇá·¿?çzyæ"•d7k}¿}Ø5$r3SmFfÌÒ¨jÇ«•VûÏzd~0­4Þ“pþÓ}„@•[pœÞ}žbÊ£×1œYb0-Û~ŒÐ¨*Xäí¢]\S˜'ŸŒ¥™`c é$¢$sÕö3ü3HkÝcôÍö¢•ÆY¢)%AÝ_ÀQ !?M)²Ñ´/(†éæwV±’Öõ¢4ǎǧ™{K2,úÜäçI:›ä´×4t“ÝôgOÙÜàÊä ²@çÅ9!7ŽÛ-W’}êâjhrE¡îqHqÛ"zÔòÏ!‰œv/8ôo™¦e4E¦Ì*Ff‡õ!²­W¾cì½ò²·|HߘŠRCaw;=°´7Í}­kAÖù\atÞ| ,¹Zïû>W±ÔÍ£ýø±™5òa]¯’æCéü­n„¸¦|Üê­żQˆuö‚]<ñ¥èÂÔœžÐ,t"ŽkAðKëßJ ³ßš½…J + @˜ÜU©–CM‚ìcÚ#©ÿU°7nöÆYùu¡=áÕð™ÚÜÂe#!‡]™±Z—Æ!ŠÄhr ”öQ]x0‡b¦ûœÑ +endstream endobj 811 0 obj<> endobj 812 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 813 0 obj<>stream +;/ÊšP}LÚ©åœWçý§6º}BÕÂ2qb` 9ë+±} $- +íŠèn«%e¡±ÃH! 2SýMþ'ýbŠåçÊ"ïGæ­>ˆ¬³„8¯Á-ê §{%XG‹ÝÝW…xz’5D“¸pÔuâ¦(RwHm€¼-®Œ8¤ê­owèoù{+‰™7•ÕÔðâ÷>M‚,#!êmóÓN¼¢µ”dã#œsðÔsç8*µÅ-;n}\ikŽ{ÿÍÄ2bðîÖÌøš}9tY5¹0ËHUPã̺áÿ`aý9ÎRÒ=æëåõ7Cé‹á=CÆ(Ø’oAŸaXÍ^&Ñv…jßDøv>„ÉD§%~(¾jßg.z¦4™ µâ";'pYý”û >(ÔP ¢ qÀÿö]/’|§¨^j˜meU<)„sû ˜ë^Àƒ•šM‰Õ×Ï, ŸYW÷Îö:!ˆ¾Œ%‰ž÷壱`ó‹U+¥I$éTø€S¼#åh]é/Á›&³Ãb¿Tõ¥ø%§Ú_4Z3G´K ËJ Óg/aC_0Ë^¸÷ê+ÚD³ÝĨõÀjEp€ +ï¶`ªþŠo»#ÿ‹<£5êáªn ÜX†gó‘áz~k#>pï›2>'ðJÝ\*³Ê :2œbƒõM%÷ÝáïҺȭtª³4·ˆ{§†Ì¯µñ¤šâ[x€üÔX–—6d7;«ñ•5T&’»[JRûÇ‚hˆ#ËDÕÑ@%²Y½g×@†ÌEDB¿ž;8µÄ`ª, Þo¬ëÿ^ 3/A¾ÒÉŽ8ÜrLCk¨4÷Èö´ëóÖf½:ÀàÉô¸ÝÅËtº%EÔÉfÐV»t[n¿¾?îøÎwua\ÍÆLY·Pßlž‚)¤£Î26î¶d+é”ÑÍÛ¨ÈÕgÃ87Ö<­|j.ÔJ(Ô±¿1$bw¦&0¤ØŽ¢„H†ŽhU»`‰ÐÉ0¶Ã §Î +ð â¨6¬$hFÀЭ‰÷#kP6—jÆž¹éµAâ‘m¦½¹ö‚ â´}×3av²òAâ è¾zHQlO«XIT<ü€¶ÈgºöÏNŒ»©@]B0ŸÃ… سŠ©5ï„¿(bä1@“‘r¤·©†ùŒèKÑõÞ§” Æ8ZÎ¥ãôÕÁ @¸âó#xÂtx°†,°SzÚ360ö>/NŸµê_Ø»·mÑðä¿&mñK'áŒæA|±ºî§K#zÏÑŒ8xg>Ã÷Ôï2¶ZÛÿ œ(FÜ2R=—ˆa–-à%øAÆñY6wœVNVgú¦ñ!k7ð½Âóf^£Û­=Û 6¸)´e ÁÌ_œNcŸË›*ܯRL²`N3y|Hò±â¤Ó„twÈ#?Ñ]9Çñ¹(8”›À45—‹EfºðݬôBz¦å}¿±Ú§(#S›Ð]ˆD*zõuS~I°¨g–{‰ÿßØ\?¹o$ìÉš¥îNZ± œr~J)ÁQ^< 4Ä翪©x} ·ŠGïF«,ÝŽÆ3kR÷h…Ùû²2×L—šHx$T$]ñZØŒ(ó%òç×?Gª¤²@ 5â5|zIñmüëZPÁ›MÒÁZåú.Á +™ÿSaJ¾‰-̵{k|6eáþüË;5íD"eÓjçk-|X ÔŸ/(–½ùä#R$Z³%ì¹ù%aWP_r|÷¶hjŽÃma’£e }׹ij,²#ÉC??ôrŠQêCä%¡ãÙ™5 +ˆžာÔl*•JçkA†Ÿ*Šâ(â% dÁc1„âŠ^>ñîe'w/öZ +ÕÚIÁOi,Ì=VëÓ æŒ;,g]Ô¼ÖÑv[ÛÝeØÉ„2…E…ºŸÚÚnÞ© +öÕ.‡ÑêܳQå4L?è,˜dw­¼ +â>"/‹/@Sha6¨ â]謆ۋ¿àöÝï–@Ìj:“W¬ 0VØ7½HS¶ bœù)’¥"¦æØo;œÈd[ +s¾]“ʼ}"7DOÂI*èP¶Õ†´óËà”€ÑGbÅ/È.ÝI¢Ÿö7•³xNûä!9ž ÂHà}’Ó¢ +@*ؽ‹Ï½¹„v°ÃuôƒE€+‡[7ÌDòCñ×ë‰?ˆ@YåMÓÖvåæÕÌ~9s9Zí j†“ ;äª~$T. íÁ°KrÞ÷êGýšÎspÓJØ"JÑ.â½h÷Å{/Sò°P½aø¤>'§y€µ_qâ0••ÀŒdR¹Z^ŒÆµ‡ôRm,ºMp©ƒÃTG÷Ìó‚}^ày¡ÐÉ{œ •sêÈ)s¡P2AÛû…Ð<‰výÜvY„‹¹¼"Ï$ÃÿôùtÄN­5†p—–pÑ+]ŒÁ +à€Xx—Êð?Ÿ’ Ò`„„²Öð‘­mSÇjäÉLø»§Gã:‰ýðŠî!ØÒo—ã…Täí×kzõ@Hd6°ÆŠåuïgðhÞi K9žN0­›¨rV¨Zü“ÜoOw³Êì× }²«Üȱ3æj-ø/ç².®v\ûe|+B¸q隟6q}&Jè‚•Péâ*ñAWx0 ©ËqpÎ#¨x¤XéîìÊ=7ÜA¢¹íî.…5­Àجç`àƒCêÓß¼Xhñö(îP ¬}æ„YØ*HîÒÐõûOŠöüÆ#u€¬oùÈ’^"x1q +  +_á¸v=“.ß(›|Í¿0‰_qˆâ÷¼ÔY¶ ¨Ÿôöy 3†å ö»ªo]nãºF³- ÄZ$›Öø&ßZÈ'Çž Æ"î’µÛX;8–Šxš„g¦A4’_”‰Ã{Á.3¥¶‡,|¸±4JÔ} ú‹(K4EE m1£wÃ.f ¤^u%ÌÒ›©Öß2;–æàq|+{¡lç +Ê&Š Œ(ií•—p´(׌œÞe5­‘jjD”µ]êWEKj”>Ž±èô÷Ão:3æZ]þ\‰Pßó3®$$´ß%cˆø4yyÝÄ—‰ dŒ—x»-£í´:¡|{Ø8‹xŸBÿ¬pã,B-nGL›‰wWïp‘3v”ÕB—Â×9{1¢å• å;È71À]©»2Ú—è$aÒ‹šOäöi¼{ÁÁ9ìW!Æl%ÞÏƘ/=ý Ô¬öžJdÙ€Éæ_|!V0neZĺr/ž3˜îTcüC’5ûÊ1¦A¾ü`0’–ÞM÷ê‹›¹©‰àÚïj'"é0JÇù{Îíߣ|ÿ}ÿ\ë¬ÇPŸI3È/ò^Ô0ÅáQûb4)ë,N´¾˜žëuìKš©?ñ¾0ÔÁJOÒ¬y€žÏ†î”«Myn˜œˆ7„ôëOåŽÛ”nÒ ³Þ¥·ÑÀ¥Û±—èøÓ†¤}%¾™9ó‡]@  w®4Mè#€’sv`Ü@#‹ošdÙšÊLcª.Døo ÇÖ¨£@ó÷^ï"¼7û#± Îm²ƒ2—ä˜ÃE;Â`§‰lSи0çW +à3©ØQÎ2-‚§ôæ8VÿèFÒ*Q.ò[îÞkÌ> +ú"xëé"S-¬Œ ³Ý Êr<[Åô?$ E¸å̛ĿÃõ 4Ìó´Áiý}øA3’‹±|YCÜ'A®)RÛD)³©:äê8ç<'ß‚«o;ÅM©ç =RÞínu›ÍNæ‡ä‚"qo)4…ü[îÙ ÅáQî‰ÃñÏJ†À¢3xÙ`+&(Zzº‰¡%°*T̺­ +â‘"ìŒjêC‡é‹|·*MìweÞo}‚x`pÝ1(ÁÞ›S>du= "¯oçDW’à{†]˜Ì@b4ÃÌKctzXY1re\šÉÛcCss‡18H +3½ s¬ˆ³ÖUfµk(w3 º¸ØÇ«½gq¢È +˜Oþ¶á%t´¼L},ßt‰2; ]I;ÜDŠìú…åÔÉèæÛ¢ +B2Àú,IFÄáB{ó„¶e¯+¨wÐ +ÔP¡ÿ’\¼Ìê7ÿmøìö­†hkjE«Õ‡Vî÷âÜœbyR$x°Ù+×Éög8æ¢u,¼&š4UøÚ•¤”wY=ËëÂvì‘S†ê÷ãnç„»Sç’tüw’ŒÏr ž,å*oÝ|• ìh¡Ñè9šç,·xgØ}†d€F·ëlêJ«Äb9ýº2f-¾vú‡ÓS| ióÌŸØü^\ü +¡ÎÑáÐt®Â]¬@Ñ „þo )›ü]s N¹úþWÅT„GÉ„ÿ³ð#DÞV—“°Ô{ëjÇ<„èœdñÏqVö+ÈͱWõ+wr§~ðõwÁâþþ)Úú0&*¹çvÃõSÙ°Aþ“D:³E m¼Ä§ @#ô®$ƒçãfÆ[BÑïJi‘ÅÊ¢e²S|½œg*7óÆ¡Hthß^ýñ\µ®!î‘Ð’>´jY--̹ ªI=)¼T½‡Œ¶ß¹ád°AUþ­å†V”½D9•/“ÍóR¢økвéØÛÆÙ“Qš#9H¢?ÇõŽvå ª:‡æßÍ­ÂÈzè$¡¯”Þæynô8 ¸¢‹EGœßßAã@„îH?6>ÍS‚Ù!0‹+ÒÚ ›:|ßq•à¸MãÆs=æÕ»¨º­e÷-ûdGˆ8§å¨7º}o8æwkDñS$nA:v;zØ®qTMMVû¾³vœ{‡CBŒ†¡)¸7^¦bÒ[Øa ´ŒmF{s¯Ý©¡š ¦Ú¹Ô¡—tDÕ§Æ`Ü„ÙIp)í_ÐlR¤Pƒó«ŽªÂšëùš>+VöòK¢‡Þ1‡vð‰"#.·žn +Š% @õ-ôˆ òÄ­;Zƒ•¦–”7e*¨IQ9áÀë] ù-Êk Ü +ZÒ1À , ‘¯_¸Xü£’R!?êë=W¬,0YY@“7%X¦™ƒ€Ý£¥;óì0´œ;ñcm‰Jé>"6m‚Á‚Ï ¨ÆëEÎ8e +ohIö°tÚÁÞü¼z¨DŒèåÃXiöã{™'6§!™h %Oç(›`÷îÝHÅïÜöm7þÜšÕHÜ~hUèë+ƒmåyïP/”ŽÄ,VÇà\ø’̘Ø7Sü”ÊÝ?ëÛÎؽöÈeú󽬂ìêÒ:/sÐÈOTÊ-„‘ýwòŶ. áŒTµ¡ò‘ÿ»œ²¨É×ó«¼®{£$` û +›:·utþ~Ãblá:u$yì¬?‘ ~¡ØÄ‘}£ío ôã´;õÔèÝqþ…µ£\œMÜùs†Î¸+žz^hv-‰wm–R»Ø8pQ®ãµ‘eq™ LnÌ…:Cy¿eø8¸Éö÷f3pà5aQBšÉØeû¥îÅŽDÎ/Dc?cø´X  ¡ìáÜ<Óo ÙJËÒj(Óuõ—$Ø–ú²Ùo8nw§™’&§[%²|y›„™“ŽU ¡|¾Ë=æ~ Ib–q‹\]*§o Àèíë¯AçÛTľћàcäpÂC¤Æ  œK 00Üû;s¤^H.àƒX%NuóJTî¡cµAÄë‘¥"yãÃ-8Ø3½¥„bî æìl±ê¿â}}õ´ô‰ÈÏ…'{ ³$Z„Ø+ar`‘üNÊIûLóý <]s¬PúûƒtCÝü"±_âå”FNRð{ê6ÿœ‘Í u}™:Ñ FWIçÑ©¼îâM9HE±þPtRI" +¦r +endstream endobj 814 0 obj<> endobj 815 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 816 0 obj<>stream +*;Oí¼²p~I·®ž}T™²HlC:%½p´Ì”­*0“âÜÔ.ƒö|cz"“1êv3oF#µº§ÎlÔö+ÓÞ!Dðíç£3ù€&µC‹øçW‰;®¡§`ô–;ao³Óšãôô¹´‚g+q…?K1²µø ‰xñ¢…¸BŸ4á–\B~6 f€ûý ˜;óßêIN’+9M¡C?žC÷yí»¹K`´k4†IP3ᜑzx\s8ë+%ЖûeÂWêá#˜×±m¢E‘A %Ÿ®q6Ç_YÏø!UjwŸƒíIØ"á¿uxbÀzîË/$Ž¾­“5u¥ø‹&uÒ¢09òÏø!„¤Ê’”«Ê\Ä"€éˆ÷û« u:C³—.Æ õÂö‰èzQkŒ ®ÅŽ&‚9 «C7áI V|ѩˇ2´.t;öîesŸÁÞcDö{ËÂ7©)XûoÑÎa¢\ˆšp©QþÙ³Î{…CLä ¤†Ô*°G2Y…SÓL‹8®"×ÞÎÓ&8š&lvn0°î=Õ'J~ÂKü¶æf¡/]<(„°k+wÌa™8‹9˜‚ül§0 Ùv°ŸÅA$œ;sd§Bcœî +P¸fío{‹_„Ê ÔPNp÷ïãC¡˜K’§ÑÛhC‹³ØM"v½£ý5Ï›ÈÇuÂe:l2KŒ¯„ÀÖ;Ë™uü%Û U ðÅÞù3SÅI±Âå”ìãÏ£ +ãRŒSoøœÌ­Ûç:0¾Iį0­:º•Ü|µ™á7¿f< Òù¹¨§ JAWPQ¯²ñ@åMTO¾)aãGíæ%‚Y¬˜‡»qÆs‹¾¯Ãxè3ÅôXø³æ°¯P†k,½Èöp!û›Û\ÐÓ;8Ô,Õ¾À}D¡$ÝíØ +F¼À[kaOÔ¾|úžã`l6r¬Aî¡órN4B¾‘hAß—WEkdàDz¸ß–7.õÏ´+ÁW–ï{UÁÆOL¤F°C“|'yòè®ëï÷"ü׈m˜ëD•…К¹jê ‰oUàY_‘.SŒcÆCzûɧŠ¼¼ýUVMG?_rËÀEa6̶™÷ÂõÂ×2„KŸk”|’f_WM@HÈò¸¸S‹sßâñíãî¢Çã` ŸXKÀ^å˜Z +$/#Ä ËgA…Ð…Ç\ßËP§å“[ù«£h¶5ŸA >ÙávÂÿ–ƒ²¼¢ë3`é$Š¦±À0¡OÝNž™ 2ÝŒm@O»6}x+…[4^Bw©îspôGÓ>öOÑ ,8µ¡=§Ô“¡uÈñ”#¶å¨ôïøZüŠÍŸµgtÍ;DÌ·Z©$¨ß.b¹n*42]éµÊRpÇ[SrÚþº™%À±eU7M3 ìaR.$živ.@a{ëê–+kdâî±…j)¡a…8سݦ«Yà ÚÏŽ¦c‘‡¬ ¨`S{:IÀÑ_MéÁˆËeÈ•›<ÞcétÒ\Îÿ1ˆè;^c&†ýó:Z™BýòXùÁ²ÄKÛ²Ë:H3Xm1ô8gê‚äàmäyg Ò ô<æôÍÓ3G}µþ'Ä)ôßÐg3ƒy®e£›‡×–;dQ»Ÿè×õŽ2©ûRâô^âEFÁã÷Ò¼wffqÏ÷þcãÓÐB,“ƒhfsÝÃý¾Õìð6š¯‡ëe¹:~¡Œ•pI.¡\Þ)@ |LÜ%SdàXùšÝ;ÑéêB›Y±•`Ðjóż"ýõf»Ó@EAáËvÙäO8®N|øÍ\n‰1c…\ÚîÓ°ÍOöTb‰œ`cžAå딑Q¡e¤4eÏîp€°S÷ð*t3r9‰´ïçë§ç.IÜ¥è2“òÜMÖfU Rÿ þ; €°zx7RÖw5R‹™W: ,?&âõ75AŒûñ>æÏM×)i¬"&umáŽ$“o ìq.LUFÁ ¸…ÎJx (»ºtú^©lšD¡÷•lOÂÜLB[dÞmÚÂÿÚAd]m§Óy|Žùi€›0¥ø¾G÷â²P3<¾Gã‘×’9p@ð<^gÇèÇa«}.A#×ãs³Qª¯W®´hŒengkn¸sZY4Ô°|º‡}ÄáÇ<Õ(†7æÊÓë«ø–[…­5é*¡G«ïý ‘eï(Àì»Ã;¿ÄÎ8¬‰H®RÔ5ªC°½™]$…|U¹x½HR:7PeCØxXáÛ'ÛAožn£ á¿ÈL>ì­¨O#ç¯;ÖÝŒ¤K;óµÉ<:}@|¸hÈÍ}7Žô§—"T#³<<ú¸Ô‘#Ö,œÐÉ« ×EYM6°_Ößñ [†–zPˆjF)I:FçËp¾è¨±–”–4ˆÁk¼d{¦ÇùƒM–"Jö¤Ÿ}£“­PÆÆpø9Ù|¾„sm†Ê¢Búû±— ìÄH~345JÈ _CÆZ3ET㚬Q%¤Î¶&Ãú¥C ˆŸ’×÷ÿ®Œ¸Á9&T£s¡úW(jGÊq7…–Êse{}|ÃU£êX¸ÿã¹.½¤gygTÐìõÄS®x'õ•ž!ž‰&{¶®:)¶)_d”5{ä¬ãÒ.ÙŽ‡â·´0ÉÌêRмɓtBÆÞ†›%}·¾º^&Œ¼&1üŃ®ï#…æ9ßQ…O›É‡ `™!ÌG,îÏèé{t5Óƒý¨U8ØÆÅiK÷ƒXÁF÷d¤Ãv‘tk}0ñÍYià ]…É>õå^O´!™ÍÝcìcNý}í550ÚÇ`#‚f/°RæpÀWÊî…S^ÚkïFÔoÌ»Mî £÷6ö¡q8»ŽhºÄ©pX{Õ¶½½ÿCÙ&–rtÜ­D'OÆäL ™õoWóºþ jõf…Ài}ã =þòf–‰Lûo’e­ .ªºÙ¼"'¹*v}JDj³ü­Xi»I¢ñã›Ç˜™þn¢DËEX©¢f¬VÂؼáׇ03 ÜXNzÈ•Å,Í;³¬†ßyÇu!¹Xx¥Qœö¤‰í)ëßFW+“À4)W÷¡>ëºôí‡|.ëŒ%×æM‡oSœò£x“KäøÙo Q°Ÿ•4Â_ܪ{X'¿{ÔHC•öAŽä¶Ã\£4zœAHè€7Õ‹–ì:åľÝÇQ*}QëB&—áný1¬2íÕü¨c×Ò’Ç[EZ…ÞgŽÅÕ*#ƒ¿C:¸ÚO»·…ÒùÆ€@¨…§Á¾×'>õ†˜KT ý° +W81¿IšH͹v\EÚQ‘„Š&è?𯞠1y‡EyÞ%…SnÖˆn3~+ÕOì7žÆ28¬ŠƒëHPÙÉ ‡=<ô +=6UÉž¼µ +S vg×e!ªtâþ +sÏ°_qŒØáøäi&„Œg=òæ§qãÞåM¢N ;ý%‡uIaþ"SôÙžDØ mòÿ§ùp™¸^»&m0>‡Ö¬ »²sŒÚm š‡ò·oàjÙacE¹Æ!9(7<à¡øTFòÆb—ÃpµGÂó9ÚpGh¬Å"ˆz;«­‹0E÷ÝC«'.7{Ý‹ûüë„3ìøÈÈMM[Èpi_Ö›~¤Ïá74†Ÿ .¦#=ŒŠÍ|bJdŸÙûq¢°BºÉK€¯È&Í4Qlr†££m0C5ñ²ŒÓaê¦S:ša8Â|‹ÔÜÂCínC¢QŸÈ„4uˆ¨bWJÙtnc~eævr%CÄ“jZžª ŒŽ"pÅJ¾·?·rèªéwYì[2SñôZôâdâ0ðäÌ<”·¥É6>™(( Ã5ºrºirĔܢ!+b_éã%b—Jì\·µ,ä'\Єð…L¸ÕEóôh&h&(ü-ó4©Cào; "®cktàëtG!Z4­`´iþ&ž™7œwí (l[¤ ø—Ì9`²*ìUdEÞ%ã÷Eñî q$LP©èv[Ú¸~ó®· ¿q$ôîÇg0ã~dFÑñ-¶â³mÓ_œ˜ƒ±Ôq²ü+”ÙþeÔ•!b³Î¾¶ô<wËoÇÇ»Ó6:Õhijp3†$\Uójýo»!««w‘>쵶g1¥WßE9,³:AuV/ ¸_¬Ï µWW–Þè(™NÉ”%bý.áÙïðlnÄg‰'%J…JÆE2+H̺Y–8ð`6ÿüÔXnTd©T`0\òüQ¸èÓ]þ͘g‚Ô6}foP»R"¸Qï„:ðëiÁóþD>׃×dH +ü'à”åÍSHîªjþ¨‹ÑâPœëc0X9–ô1MÅ|ÈxªÚ Ëà8à Ž4ÛD‰3͹í4¡.Ç©™ÅŸá7WÚËCF'6­sM-ˆ«B—/wÊwÙé¯wMzçü:¤ÿø?W=ùÜ«åÛÕ¡ÿ2tÉ߃9_D#óÖÎæ®"'sS é˜þ('ÿ’7*¢ûÎf!¬£a ;fkÛg׌ÄÈçR7µJð4:™ãö0+òÌëJ Yþ¸Û<ž.9ú$Ãj†:×z¤/G J²TzÄ Ç"?ìçC ¾_gñj3d…u£ýç]¤}¬“Ú¼HÁçUFå’Œñö'<ã3P!¹²«™ .\Ã{›§…ÿ_{kœ¸Î†þÖ…_,¢Ã Öý&¥¨~&‚Tsòr']¥cš;¢š5É¢¨ßÀö”PÞ觯7ÈêgèÍPÍÀ~í–p‰AòsëE‹lÝÇ̸_o×k0ìæ6”ÌÜ:é†sWªCm,ÄvfL-ó­ý/›N–tùdÃÓã':ð Uoû0[]Ž°D’¬ãPt”ž]UµÞw€­.W#§¦ÉccÂØH[ +endstream endobj 817 0 obj<> endobj 818 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 819 0 obj<>stream +;g`ùÿ/òòÂÞ| Ê)McÇgæÂǙ¯'PfBî²\õ ”ˆŸå‘+]¶pÈ㫾öW¼âJh‘2ë ;É%ù\aK œ·ßÛôôôé¨ñôx5«ü¼ò -MóëYïÝ6lé*E‡% Êvˆ4 F¥8"§¡;,w‰Ö@vÞbw½ÙRÝ(3¤í**#[ùZ'yã6Ön>‡Ú<ÛB¯è=¸|ô—eNǨU9}˜²¡P=ƒ®(­\0ñÜ +õžÞŽáóùùîwÛ0’÷0K1ÛÍ[•º˜QÞ«ŸÉñ9šñ{K,TbañŠ½­Â×µ°Ž°Ÿlb³å¿Ôg´çIŽâäå0…Y|xÚ²¸Ë0‚.ù;C$c†Ù"f|úø6†Ðfô?T@ÎègnôG¹¥ ¶~êSdõCj‘¤oäPÆýnQúª/ÆîÜÍ…—:ŠÊSýCdÞÙa"3d$§ÐÐ ®„‹²"§Š ´±3»cQÑÂh‰nˆ+ƒ_º8íȳ2i+TH¡8ÀæÊ°Û±!$(MÓËçDvÚh‰»ê؆׳n›`7n”×6˜4á»s^êÃr)KPÎ-œøŠÓ“å&ëúÚ€*³­NÉ…qz[ë‰;n³Aܬʲò"ý #ª­YÜZª½%] ƒdçZE<×-kH! Z] #!½ƒjT°AhHìC«‘ìá äTóù:ža&Ä{ÌÙœ‘óä¾—Äíþï‚O‰?-¤ øŽxÞrMožk_n;™ëþÌϱ' Wm‚N3ìlˆ…·¥ÔáàäÐ[`âÆ\_‰¤^O§ÌÂÔÔ»RŸiehevƒ!™ìçRètÍgiòô£ ²Uÿ-‚ýuÊTP…#ø[`ÄQD~•!§TÂëLc¿!3Q]¡S•Ò9£kç;u¡zHÒ ˜’ËKûÜàÍý¾åµq¼a¨I1èÕ9¿hÝ„:…Ð:ÚZ¤²#bF‡–Ëg<ÕbMÚ`PÙtn§GøÈDŸÏÁy#þ«e‡üJx±Ýë2H…æ*ÐÕ‘; ã,xƒpÏ`©žôæðIÏsršòoc>í ˜.3JtGuv ÄB +endstream endobj 820 0 obj<> endobj 821 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 822 0 obj<>stream +‘ì_}Ò9ùURãŸé!ök2÷ši9Md¦àꈺ(ù]ñ~€¸½gß¼ÔûP€ø5)â5©«‘Jã­ºVÎÑ5´ ³ÁþšéÇtœÖÒ¼.|×íóà5÷óMÄL”š'èM'ç›7¾ÎtPT›òô€3 Èü|úNŽXmâjîâa²HØž–AžÂt„ykÏ—)žu‹±Q)ÊojV¯\öØÒÇr0WÐ2[EÖ~# ‹o€dò"®–E}˜JµRÖ^ƒ§( /!8Z›Ð=gSîöMÛÁÁN¢›+ïëßOTCí†sš@mœÅ±-ªNxÐÞšâGÉ=/ZuŠì¬i–¹Íâæhˆ8:»ïµ~>ú­\Tû¼‚ïî†í+rš‡hÐæèm»Ò¥â":8Ö(”O&ÙdKþó&pFÌÅ¿ð†g9l¶ð͘ ±ßï[bKR V\[óª*|j;X«á…¾¡gá=¦+ï‚“’Ý|H.ï…˜›÷˜ƒœI¾|iÞ–×¾¬Ä”ò>ADÚÐg’·Ú$ÞÎj%lžÝ:î³Ýµ4Õç.°µoz%¶‹ƒ„†¸SÇYÖ ©mÓºOˆü·MŸ ¼aó³Õ!ÏÎfqbºx!k[|Ƚq¾‹Fù0[‡|Ælþ&«Ê÷:)BBÁqïÕôžwä” cí¥¦Å½lå¿øÉŗᮾÞ1œv H=žp¦;ôÂӢƽ+L>Fû}[I[ô±–<ø9©ƒDB‡š¤ y_©F¢o± ¹AñØ5ÖüÉý‡¡ÉbTžo„ö|ÝÚ¥ÇОŸ0wÒF£.Ó |C;×+€Jº†þ¸ !ÏÁ™“MøršX ÂÚs +)ä ‡2¿iÓ Ï‡eåÙ ÌñÍS7øË~F/ó)ȟڞËû +P¡®É~Dý©•¥,=ϵÝ}ôu3 Gf”¼påØ~ôÐrkªñѨýRÑ^T¤@ÂÒ÷=â­ˆª“£{k·[‡DB;ˆz8$ŸùA( 5Gµ÷ž ¨JÔÎ5d7.„@·¥n²£æ<e©âÖfÏX1¼u¾r–½÷Àµðt0žó@æ çzíXCܹ—‡¿.{ø< 4ýw›ôû+`·?tã–8¹"Å™ÆQ³ÉöY¹Cš4¸Ýï¡ã}ŽǶ>¬xìVêfdýPäÉ`ÎCú–bàD^„8þqÕþÙ´`‡týC/l“<óŽ’hi Ê“‰q¥µ*+Nº5j³½‘”‹J.©Üåé&ÿ&Z:±¨ƒeªQ)FŠùªYˆ¯þ„–ÅÂ$j"çüøv‰cõ¿…|Š¢Z(²½÷š7IG—K0 +Ìj2ü>3Þíd…2^Ž?læÏr(°óíB€M+’ô¸jʵÁ„ ¡v¯kâföHTK ÔéwÖP5ìf–ö¡îax=¨^9UIäýÝßF3[Þvâ̼ݖ M«Búc씣Ń(äšpwñf<‘¥ûQ4>‚n}µï†êÈ+صa£Â_´v?ñzxåÄMônÿP]Õ›•Ãä³=ékŒ&í n?ZÉVê¼µª-}~Á5©¡S1ÁsBÆhûS^´Ÿ¸°°z£aUÕIܵs ¼ÉöWd¸=wkÙ峈&jˆjXZ-ƒr ÞN=Î|€Mü…²ÃÕªùUÁï¨eÒOb‚Ås¨¦hÕ¢Ñz{¸ôKÅÉô¹y°ÖðSD÷·~ªá¼Xú``¤RÜ)ÿÀ]ì&_ßÑ\ @Û9Ç1‚ ¢òç]O¡B@Š ( G÷Ôý°ñú>£/’ßIh4â’cŒìK¯³¸To+£w/hk‡wŠL^t¹«Å¬Oð®¦Èã|ÞÉ}IŠ1^ì“:”²T_Geëô§;:ƒ~Áe‚9aO+»Dè½¼;¦-€qþÕ#~É9ût ©ãÓN¶Î( àµ:À´û%pfÂ%É.‚åµê2€ªÿÓ÷d»R±+ÑÆ¿>ä»kýÝ«¸ˆº&¥²JÛóIù¥=!+ÿoŽr\{x+R‹]c4çì@Ÿ‰»í˽½)ºÂ2P»£˜U^ûà)L/¸›h©5.,œÚ.Ó\%¢±Â¶€§ +Q×¼uÛlõo´KÚç“Ÿ§ ,ªô·!#ëP{HPð‡\‰q†³?÷'Õi°ÙÝÝW-PT±ò`¡Ù3ò#ù'“’âΊ+U„»Èl°‡$°h”­»¬Í™>‡@¼aYV)Ô괇‹‹ã@{å´^„à†,¢ô}Lð¥Ã#eë_ʃó?àjSUÀj‡nbÜ +Äz•}xú˜Âóö³Ý‚}Œ®~Î=Ó\,¥'VÛšc±?³$‰šW,³þŒºŽÎm_ä¤ïòMh›cššð¼O!®kHõ…8Rû¯*qx§óƒzâÓ)˜¸’Ÿ³Bžõö©cçTðºðRò¨ÏÂH…ŸS.,ÍëÀXèð³VMÊŒD¸ãP]I_Ò6Aãö5ù1õM¸/º}L¿ËôcqîÝÕ¢3ëí¡ê`5… Œ +¤,ð‚Ò­nî°y_1þŸ!Ÿ`îÚ²?•OUîÛ¬fÞ‡~H4Ø.º¥)ŒÅ­K°aëòl3n=Ö7‰y M¢¤­ÒÜ'Ôô ®÷dÏûÓÚ‘¬à2¯‡à@ej>±@{ç*¨£[móÕ ¨S{Ô–Á×¼X Œz£Ÿ÷ïHÉD< +Þ ˜ïÅq…I¯I Åi½¡f~ä›Ø•›7®²•¨Ï@_ÚV… ‚ü¤GÔ"d=Fîªã ½B·€•ìxû”Ï÷àßNüoqj¦ÞóÃëùê+#"o)œ•«LûJÒ©S…áFaU§5ª%úã¨u²¬"ñTÎ)?³ m-•óiµ¸|Ãx®”êÕ7xíãk¾vX+2ÇOZiˆY\”>Dœ[›`W§»;½Å‰od=jiϺâËT)MËb\¦šXžý&¹i” †›0ZÊp‡¢‰M\84¹‰çÄú|Z`øùÁĆ +hÌÝ + +Å´ó¹/4hÕÛÿ>Z^ÿ^F×B'¨[¸ÀäØ^J +Ñ¿ëst«Ý Xà•éÝ‹ª ÉB„4'tЂÃÝš~ÁAxòfÇðÏ&•HkÌs×êÝãÄvñnA|ø› veñÌBÖØ6Væ{œ³pÉÀdeÏÕ‰Uó¤µhÙ£“œóa¿Ù5·¹z&ܦ$·×»f›ðJ†5Æë5ã“å-A0l +V™ÛÀ{XÇœ}(̇Þ©e>aª÷›ûâÞrïSæ³bà¯]?ÔYŽu”š]S»™Ç˜ aW)/^¶ÿ§ç½.­¨¸p/ñö ­¼¼Yâá¤mP¾Fȳ«„”À› Ð!ûIt‘‘K¹G¯©Séà Í*PÅÄ€ÄÞpµr멤ôVùÁ}4ÏM=£ +RIÛ„¥ðÎ&‡CPKÔŒíqr!O2¿)ª®‡|”³ÏÚR$›Okÿ'ƒ»”€¶XÊ­§J2Û8Œqü»BüUߥ¹¬¯¶ä„ÎŒo‚‘»ß”˜{šÉä;½(Ë>·?¨ãì¤!!ŸÈ' ‘ªÀ`MØ‹ŒšMk­\…’WpáãaA[Œm|‡„1¿jèUùõÑH>æûΟ¼‘Sù AEmžvH·‰ØqtÏåÓÖõÖYú±ÍöEøÏUOuö§ |¹¶°"ßÂe± 5 +)œ±ýñ4baN“nQü ,o·QZÓÝ$ `¥F¶»™¯ÄÚ¶Y:·|£gÒ»Pž~Zrž€,òQd„ŠÓMlã¶Çà÷<ž·ðÄHÊ/Ê"°„p.è[g+ˆ\´^„×Ê2*‡õÕO5Š»Ú‡Â¯môÂñRñš"ÖLÀ‘@׊$|æ6·¢Q6™¬«öeÂ×ÍÛ‘Œ‰Û_¬ Š•ê´âŸO—ÜÉ)e˜,Ò7 pÿ8ÁGÅs-üM??-,>BE¨}}Hiê9TàžiKhœ¨ø¯º´zž2èRD>L½ £ÆDKËi +Êrɽ{8§lRŸ_ñ™°æ‰!"E… –“s_ ë&å­e ?$T}LS&„<¢MÏ3¼DèÑ<©o ø~é*¡Ôôá$ÓAi‡ÔµM|Sd2ªýãoAÛ4(§JNl… q9úŽ_Þòó·ªÀD¥Ð2ÓìXWÒCŽø-±3GÞ üC…×ä.æõ‚“ú»›.Ö°,þu Í£0ý!òlÕ°nK/¬ª3ù¡Kvš3T{Å—Gê‰jø(¿í9è»#(‡ãË+ ;Ñï _®%Y*Û›-Ø¡.õNNS왿Ùnë _›;Ø7fµ ­Qk¥Þ{¥aÁH?N3&ýwó­í½À_Š‘—Ê#£,‘*Šòˆ†"?½¡VÛªs¼–ŠÔWÛAÇèË<Ðc„}¢º4øËlÍ5¬ØÇâàŽÊD‰•?Äú +endstream endobj 823 0 obj<> endobj 824 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 825 0 obj<>stream +5©žê¯Œ6TÊ@¬æQ_eý_å‡qjo6û~~c.«ÎíÑšärUè"ÐùòäºX¸÷‡ºãÓtsžµp“ >çùœÑ6 _˜<=-‰Â:ö£F²Þ[×2¾ž‚icÔr„ßГÃ=æ­ãÆ~H<Šeæ~zÓ ƒ@28K7% w…GÞ¨ƒžKXž(J’“ÚmàWj)ŽïÑîK0ýÔÌÙŒ{ž,'„ ×¡‘O‚¤`?&hDE%ÆÝ]“’NpB+üµúGñzŒdeD¿¹—°<’Ó\²¢ÃZ¥Šoû–ægòr»b¦áO?HÿãëSÍcEPp#Û¿d¼`ðoCLy)Pnx~TªØ±_ ty« ÅÍXëÝ$ÇÙ­l@JçÂė춯æTÕâ?|#VPÔ8ý'ýMm4fÇðÿÒ‹Êû} A‰†`<Ñf” ˜5ºza¼ãÓ·~ Ê‡¦t¼ ·HYgs>†ÖŸÓ·Í×–õPpt!½iæÄ +# <—mbÉé.r×ÐŒ|øâã;‹ú¶#˜#*™<©ì½Yte…i0\w&Ghéú•¹øîªÌ:F¸Û/¼#¡|/©}C2Ý£ZP^(@©õÅ£  +“P?™¨KdƒÈºkÀš·VáØÙuu„6KvÊT Š@`6þž– 8L(z ´VbMþÝøªô7lo¬°ªSóáŒ{d¡¼]Ïî wHBóÝOý#ò°$/(žx ¼Dq×Mº0.&LeÍ:ùµGž‰.æÉé@`Zó"šÐ¬Ûa÷pÞ©¡$™5Ï€ž#‹y»[r¸+`=ÒÙV§¶ÒðîÂ9 gÌïË4‘h¿tw2Òï'˜„o'³{#×yPhÊ`Ç7TpùcòÕôÆø\¿aÃÚÕù¬AȽÜ;As½óç55Þì ’½»lfÈz +,:Â?—~&[Ãçê D}©]TN>Iíû6¼øÊ*¯°ê‹²GíÜÁˆÙŽ•Þ¢Ý7³)PR§BÀÑ öG +/”Ï5az‘£bïÌ^´uoa<8Ë +{q:ÖÖ$~ÝG®º˜YßóŽØmÂÉ#vLàªô²Žù¼ÏÑä—û’ã€Óá4^KŠX¡O™–vö]ß–øû÷š\ð›°%‹àäUø ’¿ÿGæ'¸¢pzÅøo=*-u;_Ü"¨Ë—l´e/èvàôæñÛŠ”éR=PÝ Kl…ò¯…(pT=4ÃI¤ái…Pu4ñƒËò5zfOînÿ‰Ä•g@&: œÍÑ2'‹“ºêÖÙ±(ÁÅÒƒ‰«½-ç0ðô¥4žõ€”\¡“K§ÄáaþrCK¨N®GŽ@q×FéÜ`äV"R¥DþZ»D)Ê@ßä<& `GÆ÷m%éçoZ‚Èò <oãÑŒŽ¢×‘>¯íiõxÆI%U++¨Åðm~0¤@€$ª.3#l éfIÄ¡!·ºôQýqAç²$*€ ‡OÐ0)§5åÓï„ÖÐÏîüô0ï$’RºðH¡\w +Ž¹ÜŽfì)~GÎ&刔-ûDüûÙè-ÉDc÷˜³èËs B+&³Œ£áf6x¡øLkb¯øÁÆx&öÜË1³ˆlÌßLí¸²` ØBn”Xȼû¢ÌÊØD´ûôÑ=´!#\dc’htÉ,_D+ü·¦Ú3gUÖï–@íì”8®ÔñË+ºýJç°Çv_jr8ë !HÙšã C•µ¿¶¶.âKîÅ9sžÃÉ+ÃÁDᢞ,sw5n€€ Ää[tòu:ëZàƒ,éV Ö6Ý)€Ã(¸Ç×´,µd!8n}HЇÈ¯›èÝËAS­‰ZU—AÿKþѵ¦Gó~/O,X(Ów©¹‚a Ià5“åz¦Ùð@ÀçOëaú½”Σf ®„:è*3 ¶‚mî´XhèöÇx³!ÿ2-M|ãi¡";1Ên´Ægu¾©æfšÚý⃵ܵŒ¦*j[VÓ·åtsç0œö_¾£ ÖÕƸT/#cØ9ê¯;ó@‘½ÒðTGÑ'~fLþAï7à9E"Ú‰98àŠ 2pc Èyäm›Ôx¾Ä3‡¹šDÎÚ¶í˜pxÕ³ê‰4*{å BÏßD̵ÅUòç­CìJŸŒ“³c@D¯™ägšéçb›«óOe\-iÏw‘];FŠnç$yÚwÈ›VÙâê…ä}åO^xT÷Úƒo}×âö=7‚W„Y]y‘z³ˆ…›z‹ÒT›×ÂP9«ðŒƒ÷Ì—ËP¢ú¤Dž.,öÐæ_GÂGê³ö}SW>€Y8é8sá–-ÊV+¡=(  Þ(+…K2›w9?I}߇M(]„ŸÊê`ò(‚Mò»rÖóÎë º‡ž'ˆ[ˆï3רo»áü(",ùÚrŠí¨´hmp4y啸ÅAU´%Ã%W{5-ýÌ0R£Ôf=gèKtr9ËE¯º¤}Í©{Ø_õ—KqöÓ‚ê«2¶VÐE­%¹®Ñn­×ùœ ÇòO¹@‚+àZpYšü1DÉÔ]Òy† ur9È-µñÄ\×N=^d+zVài6q÷6¨²Àx;Ðù„ØZ×ä· ÎáÅ=ÀÜ1}Oì¼TɺªlÕ9br&`*‹ÿÓ/.²¤Æ´Ùc +“àU™ÅñÞо}æу0výM¾öðÔ¢ü=9½ +Ô½Ó B¸Ò hcùøÁýñ†1Ž%i Ù{«½_÷¤Ó—ý ç6ÄÝŽfZ Ø¢ãBž)®£<¿É¯}‡ºïFgây°¤I eŽ~CµÈÖ”÷Úf1o»qf¸Û©6 5}Nc'd8ÅPó+Ù¡[\¼¤HʉDñwÝÏ€4÷i·Ú²}Bö½ÞŽÝêq=pT¼!ZŽ†ÉBÑ# !Atz™Çi~)é~Å´Øvëp(Ìݲ5NdÓϨ\2LÈáf +ì3;´³€CÀ7ˆŽžM¨œ/,‰,„‚ãÂhÙi<ñ£Ó–ï2¬k@ÃAÃÐ$™ì~DÉ"¤R&¤íÐÓ‹Tô]€’ÔÚ€ÀW“¡¸ùXÂ{upG”£À-%dûØ‘P®dµ'q4‹î?B_ãÛÞ|çÝ ÇßtMC#xw†õà$ÅAÇ´‚ωi•0‹»F à*°·[…ÎœpźmÓš>}E œD-Ä;ÛšªÓÝ6­‰Z­k– ñE‡4@æ)zë¿èÈ%õhmþ÷ÐOCXb­T¢™¹¶urPBå.Ð +MŠñ8`uÃÆ„2…ZòØžs–ŸÕRªûOÖ$1«N8ì6 µ$¬‚EžØæ9$6p*í2šÑ{cAícšŸÁËÁl™vXýœ/Êt,Ÿ¸C ŒÝ¯V¤ã%§hž0•[«,|ðá·×¨ BÖqLjâ"q:òÌX.7Ò'£0y¶pj‹öÖsz¸ÇA`ûM ¿qk5m%vÕ™hköÕx +àB¿2%?LÒh2@˜'½ç3ôK…-â üÍÛQÂûc·1wŒƒë˜[àƒÎ³¾<^ôKË(÷@ÒÚ;Ÿá&{eϚ˖òR'µÕ0|¾¥ªó|ékIà±ð¼ÚOaÁ8##½«Í†®X`ÙF4·ZM€m˜êwÄ<‚={G}Ïàç»^ZÀ°¿•¥5eÔÛ ‚ZÚ(€Ó1¦Vª%ŽéºTÁ ž»žIðvæÛ/”¬©Ð¥¯a!F2q’‹Ò…aI¢‘ÃÐl²Î¶4¹0 ɶ5\ÉS™òNù|Ó…Œ%EB‰iÀCææçƯàc?‡G.bèØ%-óþ^ôzÌX+¼ö›wmã_X¢‚@·û5VE~ùΔcHXÔ—…Ì:@&oV¼“Hº™AñÒ`†Í’ìµ#ÛÜõëWOðñÁ”Š#ή––Š2[ò ôl€65r) ¯~¢ +gùö•O6+»Ê7~{D™ØDoHΪÁãxÇCHßîxÜp¥¤­õŽ ÚQFü0MWÁß½d-ÌhÈå;ŸjÇ¿„?;“Ÿ/ÔRÙÐ:Ž eEÿS +…"( Ó¼áÔÖVF Í5>S:RÝäFdj%J”Š @é,ö;ðO¥¥Ì¡ M°Áä¨F€š×Ou›‚šå•±ðbsp íT¢ŽX@®Ã;ß1µ£p_ÅKËõv˜ÿX«t D°mü+88‹îäã¿5Kä­¿í³<¬¯©¹SVb¤i¶Œ˜z™GQõN5á–ü`.íz]/õ ˆ>6Õ:cŸ¸eÈç̇b*Qù”ˆuföv–û]Û +Ʀ‡m~8ßSûèŒÎóÆvrp, ºÙˆ+NÈ„ñHîw³Áž‹%¦ØW¦%Uþ?±,{)4¬<‘:³2,´¿kÙ•®kÅúµ¦Ùˆ¨ïY(‰ ¢Žó´“âObHžJ!vŒfßõx¦cÍÕ*¹1‚ÿ+ôŒbì.A²âž¹`ÜŠi&Õ~8ìôøqg[3‘ÀÛ¢#:ŽªéƒäDÉ”ðû$\{A…Åèý½ÀÈö6ê_·™ý¢B©¼·ÕÐ~Á Ãÿ”y/­8dÆRÝ„¹™T/S*ãÈéÅ‚¤»²‡W¸‘â–AR…[¹\k§]}°l•‰žiþ£e 64Â9§oí%‹'•ÉÌM¹ ´)Ö®ê‡dŒ…!_Ì·— è5”óÆkfÐtu‘lt;Ê"|³ú†S¥á)Ý‚î1H]«xÍJ¹±‚}F™¤__êLaÉ/ ÈíÝ=g`жbüÍ…R „¸LÊÄwØŽ{S|)5&Wᜪ›i²oE”À MûýxtŸ;ß—Ðè‹5’ùÉ)ìÏ»¿þdÎD¶¯V@9y§=’ ›j6ó „ƒÆ\ׂÔVØ#¡¦Rͪ¼ý@_pU'ÏC.|Ô‘šE’ã'f; ûm4ŠHˆ§“|‘…)/’&I¾ùË™¥”ˆJkßÓì>èL‰‰ ÔM¼=X×ý˜'8xJð1#5ѧ^;äUgN?…§)'òU”Ѓ¬¿J¤ ‚Zä 789¥ç~¦lßâËÝ녰EÖ׬Ø\Y½Jjc%ÿ*Áàù<Þ] +5~Á +œUÞ¨%J69õ}~1òé…yþȪëÈ1›8òmµ8„_5u4Pºc)¸7†0-±yc®CB¾Ì­óê)âËuîøjCÀG8:=T7Í©ÛsäN€£ÇL7éÄËk¿ü›€­þ–ÃøZ‹øX°^\£M“ûè­ x³Z0üðòŒÇ;xˆŠ¹)‘_N£ LŒ§‚?ëDö™š1ªZŒ1^á¼ZVåBI»ÄÅýô…g“”LŠM‰Ïó†:J;»÷¡±í‹<ý’žïÙ°æzýß{k )óob+I8ø &{ÆÔÇ]–q=ŸdV‡‚ì±Ç¶p{Šà/?˜ž,î­^Øå ýÆ•µ~P”î’˜£ÙÜÍŒö›6PÏMÌç^0´þÄ+Q-’²ž0ïP­ˆ7<ÿ»UbLY"¿ýL6DÁ‡ÒèMøOp£êêÀ—#É{e¹ïŽÕ1o_ç‰ožÛÔšzÁï!ì9'$u\™‰ZH3-Ãá˜2ö95tûÝ‹!©o\¯yì?ìŠÆGºI<,Ö#&„Êž Ü)¬pê<·´®\»Ò1:^[Þ úLÕq±ã¹¿õª´Î$ÿÝ·Ç"|O¥¹±×sD^ÊÚ”TÔì±€ÔÅЙ`ÞàŸ£ÂÓj[Å’_å~È-Úg´á¢tš¸¦;I,Šá&r 2QG¢Ö&2°FA Ô” ƒ¨ ËÞ+ýŒ¾Ö×\²NO7³mÕÙ²£nysÏÚOlµÔ±ÂÐæaˆVQé±Ñ!¾E`Ê/0Žr‘£4ц4Ź²Ç5ר 1»qïâ/+ÒLNeø0]ØG‹B­Ý†æÀ1¤voÄûT•“ÍÞ˜#áMȇ7’éa/Ý%+š·;õg%ñyš7DÉ9°J΄¬@2-p·÷Î|'·+;Le³C¼SÎ÷E˜ZKè¬2éb~Á'óQj›5÷ *3ÓÈëÙoµ¡žÚÄÏÏecŒš=Ü#So<:Ù­ÂcWðw–ó°Âêùo}Œªó¥‘e=®úàiUŸ'Þôhd,È{¬òG.x~…ðC”3¦$>™š˜A¢Þâ êé· +ÜÙq/uÏhAs°=Jj¥I> HyÕg.„¸zò{]Ùu !äë¼ÿ/=y“íŠH ÔlQ¾ÄDì¸\LÂí7~Ñ(‡ì?ùáñ>×Ñ ´/àõÜ®±>4ôÅ'¯ÈØ5ÒíI§¯ýÙýúWV? :éžB’½x✯jt¹›åÏrã1&᢯ jà ]ñž€Rc{é’n×ùd[îE®|³R¿º’‚%Z,Œi[p®»°+g4®¦¾÷1Ä·2eë ÈO:_α£®Áuæa¼_¿*B.o&/]XX§Ë­I¹Ñ­W­'aÛŠr·Ê‘ûÛc}^C}´TÑïO•Ñc]ÕB°h-GÞ°Ðgô€ }‹öõpîL ‰äÂ<·};¤ ݪ`ŸsnÑž[ñ_FB§àø÷–f—%GJDNÙpÎAlÏ{3å-&Îsú¿B~Þ“VõÙöybî6ëƒäÝK³!¬pjÒÅ òx©@µçëœÉ™{à¤ÁŠU‹¾Ê+ná¢4 S©\ã]s;«1@Bøw5@’TØAÅÄ/ßêùsB)Õ×|@š8±ØgÎüF-³_Ƴæ¼! lÚj‹&óÔôS4S©äR à¾ìµ‹{¾¶õ”Ô(V–Ýw½mÚ½Ç;,.ÊílÕȧøSk÷ˆA½Æþ!ÿ§š¤ÁnFxè™z±‚»&‘"þfŽ×« eg¬G+¨Þ%ÂWh®B!žËŽÎOÑb“¤>áÄÁ•B77Üœ]áò×A½“fwwãÉú¶=½ƒ¤oAô¡PíC1’_»ÆWfd›#¿Õ°øÆ%Ä8 È’a +³vw1qoÛPÇûÆûT D(-ëÆ”? 0å™^f S­oø ¼Ÿ•»â„ú…&^àÒp›yÈïfíFBr6³H-»  =Ku¨Ñ³áîyY£Çá_œ‚‘[µIjéú´Ø¢üîÄPÐøªå³;)pÛ- êü"ÑClåO V0áÅKÙõkvË…Žm ŸýÂ*Xÿ‰±4™¡ ¦ìÖã?»`vUé¡9X‘§¸Þé¿4 æ|—#y ¢dé+ÂG;ž_G óýݹÚÂbq(·¤×ãE¶ƒŒ‰ä‚wætÕ}´ÿŒoÜeÅŸI2#‘%DUäÔŒ¯’íÙ˜‡õçˆ[^î,TN9Ÿz!Ÿ~L{5Œþ L‡BKâvØéäðö9ˆ®Áæ\3ˆøâÿZÞë†Kqn +6CïDŽ¨žOÎÖ?ò¢7ÓŒÄÓÞTbË ÅÙŠk½Š;*…îÈÆÁâ*€ÔŽF\Yëóft"ëg«Ýè'q«ek·v’¶tq‰ÕƒüŸ¡˜o'7 1»…raSŽúT™¢,g{¾ÅÅöí 7”+ðèÞõh¯_K”ÏÆÄ<´ÍW4fËÐÍzôšÂte³ê€!Ù³¡}èîž#Œ­ö*lyÿ3ÈX +%—¦ü¤/ÅÐ ì‡KÒœè€*\·¯T´®Žq » 4| m–æÁîLmÜ Zi̺V”u©$EŠø£µ¤ 篲RÈÞ­t“+ÈZ›_æ?úÚ;”¼Xï  ù4×pHßÿÿü)zF2fÆ>´SÒ‹![%¯Ù ‡¨gnZÄ© À–åµ 4FÇVXT™t•'©¯pÄ1åõNzèözÚí©ê‰önØL,eEãt Cð,Å5‘¹¡šG eåué6ÖÞB¡×%¿u—’Ð)`¥Ô + }$ÌÐÐä#ciàûPåª;ÑKÊñiUx‚©„–?f—Œz„`*¨º>ÌàèÜÞ-‰t÷òRc‰À&h \pÉÎsö$ï‚K½éáîG¶l^cáD$Nè»oF!%y/§•™/¸áÓÓg[)½ªi‚ïˆÒµqÌp×w‹æBª ÒäéxØ ó=šuæÛ3&uq¹KJg~WÛX-]™Z b.7:â}oÞ‡–šn¦¸ÿR#[k +H7ñ ¬î×üh!{·ëÞ@•mpI¤á.Ç÷k¯yû‰H“yì“–l¯³ã xèNŸN)QÓÁ@Ñ›…°óG]eAÞ˜ôvXp’ŸXHבCK¯lãÒT xùl°ÂëǼ¬Õ%"y¯º kãMÐZûÜð‘/ïZÛÊYBk–…jŽàdQÉÞ‘†Y +;!¼¢üøù:ÑóŽ((½:#õ¦| &¨ÈdY5IØrÍrb´š…M]³‹Óí_hnýTaùX·téõ»Õ>^_nÛÌêðæìŽ ‘òKý¡‹°ôíÇškx˜ |þt¤²¦W‚=aµ¾žsêjB„ wUEïÓÞã™Ú˜'Ž7¤ûÞ¾7*iš^î—ÆØCÈVåâq¦LìtÙW!%À²½ÁxkY•ƒ!\ü®£Ó¥¤ó3à0œœûõ*¸¡­.˜.pû@ÚMŒ|®9ìy9È8ˆä{4c'ç;éwÙŒâ:D? É ¢#!a±¾u^[N½~$\è¬ïGYa@X”¸!Ýç¯vd=ÁQöç´6Yc¿²/9ì>,¶ÙQNAù'¼Ih¨¶·ƒÈ|JfnŽÔéºV‹«nôšM{8‹ºŠ.Û™Iº÷l2x—ÔêÖ=’Ãþîe`c¢ÏŸëi–Ûk\Jäñ'ßq¬p9Y›gy”_im¾’¥•IoÝ1 pei¬L°bÏ1 îrIh¿3ó9JùOç8Òô– ˜ôŒçÙÛK&g[Ã¥<ò:뉙DXNBÄH,ùCÉ:J¨býzly{ʳÃiŒŠ÷›J«Ý× +ðu*„ÇÜ>ÿÜ'XyN`) ôoœ÷:e@P;vD§zdµ.´—ɾmz¾¯p Ùg\s£&[‡ÄŽxCN‚Š™PÊþ&ŒÕAߣŠÂ˜ dæ/Ú„wíIG$ÍQ5»Iòßê‚íSE(E‡¥R/&s1>8æ«IÁn¤ +=RÞ-?}FÊ„¾áöD¯IS¡Ð=ž8‹-–Û¥iÌ•ËmšÅ|2þñÌ—•óaÞýtÜd9øv§ íúfSàawö'De¡¦qù¸Ù…=ÃYDû(.jÒ1csÞBÌ G‡‡È60ØÑ^ô_©æL7¨£Á{QŽ† 2D™¬|»²5ï|ã˜wóIÑxâTî8Egþ·CèÕ,AHÊlKb$ÏÿrƒÿE¢\_þ([ÅLÍWóf+î¾/æAl-饕ë=6D»o¦^ [0iÏUÊ—\¢þaÇ·Ûl])Ñ?^z » +ìhÚÆKH»¤™:oÛѦH½giŸu[>ÎîÈQ,œð¤Ãˆ”\c¦?H¦j.¬wó4a¾SLž©¸E`šÅ»_ÃlEšdV”°0BŸƒðþÑÉ 6JŒ²Í¸§{Ѹ_qS2ú5Y°*BçV×À_nüЂ—ÛÝžø¡’ò‘*Nd~Ùå‹æƒ4C³éÇPï*£¶!–?q’úÇga‚-tÝV™öZ—ý‚ö(ô%M“~ +¢ï@ à ˜¬è;H€ˆoLðE|/ óOÅ+:úÈ GGã¡göøÂnÂV¨ŠÈâˆedÓë«\žÎújtçšöÖWÏ +gOSŒê:œËa{½ÞÁäXÜ\†T$ Ú‰ØTQÆ+Áëüuö½&Dɪá›q‡À},Ósæ—_§g@ÊäßHô:¤†\]š³˜¤ì®V#†×Ãò{@æo^!NÂóu,ú6\|A¿É÷œ•¹4Xú°[7ìÑ»2x‚¦€'â-ã‹ð –maÌ0¬Y)ú÷¤ÝK,4ù +ïy1wNK;žÎ€ÍdIˆÝ¤ãûÍ„PÊc&ÙˆÏ\ =xåIïAä›ü$O³©tÁ5j© ¬Xlc÷ûBr-öæ®õkPv” ·>WÅšVi•†î¿@¬S¶/3××LH"çf©â@}+Ò#äéàžìâmÃ;¬@iÐå«ÆòÀQd5½se›=gûIF¿Î }š0ÚK«è¿8”ºî ÕËw=êm¯å¾t\вo(«¶©©Ñ©“ÒÒDÖ³~<~ú*¿_u.æîÈ_úGI¥+Ú2¥§q½Æ€ €þGEPõgÍ’Q¾­–Ê'>û@›1Œi:¾¹4Fp¹ÄƒôáÉ!I½Sˆ…z=Ÿðp±–ÕÔŒ“–<|Šƒa¿¸§E÷—ÿçÇCu, +=pèÚW/^ÜÄÝ fÓÌ™õLJ/™aŒJTƒ^‡¨jÚ™™W#»Ø§ï0°ÔIÂÐiû#}äõÿ°}Vµt½ªR눱 %H"ø4sUçHÂ)øZWdvIBw²h»ûãW«·Í 9À~Ù 0 Óé’¤µp-Uàü¦pÿZ,äoÀ–u"} …3bÆ,zWæ3oMlÜ ˜/X(©ãúsO—[øx;;ïÁ1p†£(¸°O`ãÉÞ]«@|ö×xQðélŸ_x¹î?ú ÊD{¿iàÏIâÆu>\ǼÎú¨‚¡‹[3°ó‘¨àchh7›¸`S0 ,Ïh¼Ýä½Xa:90øµ™?ø­nä-¦Ï=5dñ¤x`5):bÙ±ô »V¾OY~O• £t1wGþ ˜óY¸™'éƒèÉÚº3×…Õmv¸ê5ªqŠ¶ŽÔErM‚‚‚õ\æ[u×\R'òznw?¾…09‚µY"5a|ÔeÝ::EŽƒË¬ÿ’J¬Ã7õ`Y<©=÷űm…aÅ…ÌìC]Xóïƒ@"¯üR÷Ïýå_AïîÐYi‚½‘cx$$Û^ùãíð’Õ…¸u/“ eü’/Tö«zúyîÞ­4÷qw¥Á³¯Ü¬i¹»•bdÐ ³¦+]ðZºã}KÙäðUÐÀ#Íq›Þ£ÐtÁarí÷ÝÈj‘Y{Åj$TQîµÎÿñ%´¥S÷)·"ÂòëYM´TŸgÃÙdé%5/qtaR‹ºÕœð]è +†)÷µb<}p"º&U¬óü¢«7L§KÂEÊë0·ÜÜ3$óÔ-"SµPÞäe¨ f ü6»Hþä÷q’NçÒ“C;‡G]n±×>sðÈÝ ž~MRÌ¥Ùô·©I\®Ú7Ù‰Gµ —­øöÅŸ3qëœã^õÁ_ŸÐ~xC-·$‚˹Ï Cæ¦RgF#g7Ó,ùÇu¤Ý饶îØN èòÇ=‚KJó`jdFW‹_Š¶ÈN¶uA`. n §•‚6;‰*v|¸Ý>ÜóÔŠÝDM­TVú镽Ꙗ×tiê ô.:ZÔÏäù Bm+®°gÝ'"ÈŽÅ +mÍïcp½ô‘Ï­Ù"H©€©•NI£RJ’ô®iûÜÔ¼ØÙý4î}öjQ,c5–m°îŽø_¢í+bôÝ÷ü‹<;`ÈŒ€BûÄÿ[†U©”€ð ðìUô6µçq}ê*‘è`/"„ +ý~§>EšŸ€—EÚ`ŒH…^!»7¶_¦:ñ$hÎh+TìÁ3pû‰ò¢ÕL ˆŸœ¥W{¯zXª(r]mYXú½ 6kÝBT +endstream endobj 826 0 obj<>stream +=YÚPÄáLK‚ +endstream endobj 827 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 828 0 obj<>stream +ŒóóNªÒ“*+å9el‘ûŠ§„Ùë÷GÒ¹ã$è> endobj 830 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 831 0 obj<>stream +*y®(l˜Ñªé #ø·üK‡‚ø{Ò£öá¡ÛÜ'•»äW‹yÒnlt¦q‰‰k±zL$»QÑvÛ-˜ŒeÀƒdSØ/9^º%qñ*Sû ]í_ü÷¼»Iƒ9,…3% ÁœEsd*©˜1T WÓ[yã‡Yí¶53èŠdÈf»u À‰Hã š‰^7h¿Žrð}S:‹aÖQ }Ç%vq7GXô›B™Õè@Ç`€(óñª8‘«ŒØwÇÞ0Ù÷ÁKÆ.I XµíCß)h–·Jòef…ö]‚£)£b^oó‡Î-$Ud:çl/Z+ ›È"\»°Ú%1švþÅBÆ6¯àÿJtz#”­¿ š°Ø¡Iz¿äPòQ/þ_{^øÓä%}<30GU‘¸íG§¼íÚDb¾Y4‘÷•‹}1dvy5n 2üŸ`S "Ð̾äƒK £©XyáÔÇSɯ W,æH¶G’˜™ þn^SÅÛˆÉÄvØë Úy7]Z£Õ=û—+EÉO¬üx/€ÊYxʯگ>hÚ-@¯Ø@§n·ëûw€Ý>å‚Op'ˆº6¹WVênŒŸ¨tÔáµÆz…dŒãu°7ëADo"ì?Šz°³ŠFÏÞ@èýôü­ƒ6o’VÙÒ5†È ©-@»­äîPd‰Wà§ùS™{Š²ÛbÉØgK¾NGìð´f;L$½ÍB£'wq|ÜUzcf£Þž6üÒpʽ§$ª1˜2hœ|2ÔL8â¢aóEÐ5j/èÕÔçu)|ôt»è“‘LÉgþ”6bNÃ¦æˆ pE2ÞÉÓŠKðÈü¥ÜíŽxuò¸&÷H¶Þwÿ¿±#P½ÏKƵÑi¡±sOî³)’ÑÔò½Äo¤ºHÕ«’”-?»µQ"Ô} N÷ Ö¼©z#GM}¬/.çsÞ0a¨g8õP¢Ô/+‚È~ù±3åBèÛ4?2ª5º8é×Ì 6ŠCb¹o²ú D?·±ˆ*÷[¾b¶0‚Ä*Ô¦gž»­/©îøȉœÙ"¸ Ô•OÁsr7]툌µ9M‹ '&"ìÂ8ˆ&ü-DÐóˆ_~0ÀHÚƒ˜WŠor7Õæ9èü¤2ÙÂC~Ž-¼ÀF³ÔëòÆ™Q6Wu‹ØR§ŠäU[\­ßR’6Æ<ØtæÀi(ë¿IÞh…Ãõ‘Hèqzdx«g¤dk:÷;g€°ð† jë IMïbXJñNBA!|¯s:…ž)7kyóòàYõgÁL§¦NÛ™¾±ƒ +DäS­œmˆôõR)2M8í¢Ò„eºŒX³So0×­5–i |²¤iAŸõ¦œÌKˆÝã~2ѳV!ÏÇÚîõo.n¬ÅŸúÂ¥WH¾÷D††mÊÂ.÷æ„«ÿyªoÖw÷À|ɽÆPJÈÚªæàí³ò +Âuc«¦¯KS½pàfáû­:–kó3Ç£;b'êÏWóÍÉ_©“ýEí‹!Å ,2ˆÂIqACs¼ñø*¾Lä²ÉK¯¿I¬jýæ‚'VIŠE³Ìõ÷FÍKÙK!¢X¨IRÉ"‚š«}ìgG,Ð%õ—¯ÉÚ à.. Ló}4žaçu,2úÿï^ZK&ª·É=Žäd8Û(m ðî=~-s(lr±¤5K°á˜F¶å}~¿ùX ÷Å]vÓ÷¸ô—#ìö™S9f*.óFëÓÅš!–t/Ç.ÉíWt7ô›gòã E mq" ÙjÎvæT1-äogë·DeŠóäî¥]¿‡=Nd‡‹à³,—ëöHÇ0N]ȘžK÷½–_x‹R×ÎI„,dGÍkçï“-AN_#Wdiðé­U^þ<Žöð‰c¢~ «¾X.çÁ[wO²0Ã¥õsÈë_mÈt¦ã ß÷?׆\(üÆüf˜³ÑKøéJ²ýN'~i2vš»òã?m‚Ùš3øɈEƒó$øC{P¶åŠy'uÞ©?rJp'l€š²üÉ¢VWy Pzv,#JO¯ ´$zÈ9~/»ÈáÏ”ÉlÚœ$·}òbóÜÒ÷8NñcÊ\ù#wsƒš–Ä+\Š2m9gýHoåÇOyjƒý¨ý¸ß‰{/‘”‚1ºk\ïæt†…¶ß¢;| ìoð§[ ‰¦H54¯8´2úÚUjc<€ j%Ëìð2"D„Äù^h!v§!yôýÑgÀåü^E¡ø˜æ(¤;/Ýý.³ê–„Á•Áçª%xíõsSià–¨ÛкÅ'9ëö¸l÷†}HTßG$HABÏÃQ]QãBGçV>¯´‰Ú‚<A†ý'´‚<Á”·³ +Ó¢èeÂ~~²çÃKI·$ì¾_¶$Ju[—†ä&MÔóMú6×Þ¾»É ؤ¢ü§y9ˆáR+ž„“gi‡ÙEûëზÜÒÞÐâx,:/³¥RŸÃöè׃S%ñ|7ÓQ.}•X:pöê‹gx‹¬˜{´&iîpIì“–žÃZx·•eŒ£íŒ šüíÎÐRQì0ÛA鮋ðð´ÂÄaÈ;Ĭ7ýTRGºŸëo—¿Ã/>®„pŒX~éßÏÄk稷k¼ÁþeQLÃÈN.A$Çìùu.?C§SQ TºC7D«öѯqk¾ËÛU`r}fF&ÑúÇ´°ÕgÊŽ°ÿ[xUn»_qu´g ó¨r –t\ú46 á,ôk‘^›òÌ“qλVAqŒ„úSíW2ö¥˜ñ[ ïGB—™9Dƒ6;C 8Ó»–?¸Ûí-Ú^èBù=z`©wœ)¾à<ÑÃ}îõ(ôD4ú©+lœN`(™ÉmW¼[ŽS¿d—þ“Й° $æ$÷/þïž!‹pÛܳT"´6/´a—‘+CàÛë5_dØ ìô´\‡ ÔìtôÓí {5ô7Ø‘¨ÍéÁ"„‚í)c¦%ݽJ–@ȳ"h猇Þ<¼%ûDPÔÓµ!;µÚ½Gæ¾/È++[:$ú·^]ÿ¤’ŸéÃ_Juôt@ñj5‹üÀWL&e›×Ö&>„ÿ¾²yyõ³ÖÉ­¨9þ šŒ‘Ú5£Ü‘ ‘ËQ +°YK»¾³1Ó¨ò§K& hØÖ_s’…, 0É*²¤ö†?,¯}+±Rîŵ‡ÏdåèV;Õ¤jTn†ÖRMörxr¯1@m¯h¸Š’«/8¨‹S"nÁªœÎUÑbU`Hl§§äcÈÆN0·,o×άꔬdRøF‰Âw°÷'ïx98¨‡&IŸt܈¶-ùôV˜õWË’-%½6oV9Ü£n?ï 3”…:ø@#›þ(X¸™\7·ì‘[nUFÍb-ÝÎÈøÊ%Ò5ç ¢ojœI´CdàIµ¥høF¸¯éŠIÛ|ìs;÷õÀ‘Ö[âÿÒ†ø’òi™“Ê­·X%1˜¢ôyÍ=öòæëÓ¯W.ž?Þ­4Ôgó~àÉÓ“î.-Qêxròkjª²éè}âÄhIÎYæÒkºqÞÐåÏÀ¿;™ˆs8ÎwÛó#ÅóJ»#ÜZ-k¾šgóëŽ&±:1pÀÓzÕµ%L±ð?ŒŠn•dN )naw:C^Púxì7‡¥3á 'Útœ+Æ`NwN­ ­ÿ-³°ßl¿÷œ†Ð¬“Ç;rJ&Cp?ÐöÑ…´Ñ¯È…Ûù›úXàCÉÁ+ª0èã© ÉüÃh!knMHÜAµÓªN/5餋§Ê¦c„[£ð$FK '9ZF PTæg/ìÀ ‚zìá ›£t™A´‹½eQñ5c}ÄRڨȊy8ëÕ_MâþÙü°vqYjMk1€ˆ«8ðz>Œ8@ÿ^Ö§ú ×–“™–Ëû:ÂÆkoh²òËÁÒØáIóªrŠzQîŠL_ ™ìGTû™Àx—•H/-÷Þ”ìy¦Òã}4º)FM«ðA¼k‹ ˨ ìBŽì_‚ôfRgtÃu£e¨ïYP™I¾SQ¬ôR†>úšíÅaíê6Éc'ŒÜNÃc h“³$‹0‡±‘kQ‰ÑpßròK–œD‰Á‚í*‹ÂÿsL‹ˆ´US.Œ­Üói#¢]¼·w6JÉåµ°fòô€¶PZGžœÕ«í¦˜ÅC¡í]ðÀÄë>ÅÿøŒ#ã¹4Ø>Aê!íÔÖ÷À°å)(‘à*n’Ê% M +-Ê ‹•jä¡œ«VÀïfhdµ.Ê—µÙî†âxwØmlÖf, OSM'Cñ­”ñ­X¦ÁŒêJŸß Šug„E«Ôãñô!ÅpÚ ~èüŽf¥çÛ2ñœµäGÚÅèð°V.ºëWŽóaÄ0¥Lž¸Ï:…ª,ð,8éØ“Bˆ°³'àk\¼‹Œúu¼S²ÜÌ|¼»åoÅÛ¾j–ÎoÚ߃ým¬“,ĆFøä34ì'ƒŽ_P±gu¼0`¬\늋B0ûmnÁz¹#—*úšm÷}3]¶k(ô5¯jب©…‚€×sÛ"·ÍûV?þµô¶Þ(:¶Í•Y“e¨ ŽdY…-ßóm¸Ô—#<°x°h0\;Ë<“^í½ûZôt_x0J.ᯀŸ—‡ê)`ËêWw€ A1(%s•lS­¢IxÃŽß!óúITíû»1Ùøˆ¢ +ÔPòâR™œpA´­ßMü•„¥ºüUÊ.8ô¯ +Àƒ8Åø«”áD8ð–“Ï͸ƒëaµ«N„+uŸëÈÔ‡ÙÊÆ©* +„A6dS«8ôœ¿K…§WPå) €<ßs¾¼"K‰¥3 ¦ˆ©%ïÉ;÷BÉ{Ø/ú­=çÁ×ÀšW¯fš_ÏÜK|Â…\òeûÂWf<2z ºS3•! a'«É$JÑi™\­Ölb¤ü u ÅíÙr1J^¹BÈö®ºE*R¢b„<é'`¹Êç]ååäëALþœºÕk"¦‚^ïý0w‹ˆÊÁý5\¦ð¸ŠÄ³+ÿL8óËMÏWÔWåªèÎfLáÅd¨ºÕL‡y¥4a"f¬GŸ „òßîw$°híÍ!2©§XqœŒn: *s4FVÄ3ª­Ävçø Ù‚ÓOþTá6µE +Òœ«i›…Åö-Ù¦ˆ«ð’HÙMñ–õ—»À ½ÖÉu—״Ȩûr†7lÎù8{JN¼€òa¹a´ ãĹàÌÏSy—ËÇÐPúŠ¸\µêSA‡†1Ù¶µŒ8‰G ÈÆ:ím9èÏï̺A<>ÍtP‡•âsGÚk¡*ûé+¹Ì>¹A‚M¼Êß²@Écoû0èIHîe#É=í7 ¡\ÍVûEΛ˜õ»™†È6™¯²Ô툧æѹæqw…Ô}Ê»Þ>ÒIfj(¸ +ø3=7‚-­î†y¤“zoo4ñ«ÊÄ-RõÖþ¦óÌš:ÊØè³NÐXÓž¾ñA2®·Ä°^?­VÇx¼àXÎ÷‹$Bì¤gcŸr5à"]–Q“,€Ó`¤`â-ïâf¨t±aqþB©<³«xÜdV‡†Bd=¥ZÚÔÿå;ß1XɹqÓÆT3}ÚßVJ#®ÿ~+tý ×c 0í`0:Ç«Œ»Dîq€>榇á²(#þZº’í +é~oªÐl ÐWÜ{\™l.UîuÔ"·è3#ÁЗ<ê¢VNµ¾G+à„Œí§ÖÑð{ŠK‡Â' æ@9°Ý÷g3]Âø¤iV¾]L:}»9›u™¦Ý!ó8 „Eã´°óßÓ®’À5©4섨 +ÏXûÊ?jÀ]ÌIË–@êEµeÉ£ËÁ×÷`ÝÑ ÝÂàú—{ºrWyÒú ~öp‰Huƒ"Ƶ*(¤šŽ |á :zÌCŒ6§R?=ðI­¬1áù3 +¨ìj;¹þD$<Ž0_ŽuPǾa0¼þˆ¤ Ë,Ã1éj̦š-ù˜ÿe0­ X¼‚³N¦à#7L‚ ä$j—d†«%W³wi™Æl¡R‹;FB´$c\$.ðWÚwoíMß×ùçÞ!He ÞÜá¥ózƒÙ°B€® @e+pšŠ*èƒ2€%ºÔ„Ê€ÇôâÁýi2ôôÁ·÷TÛµm—ØzÓ^Ê…“Ø7Nr5W5¨ÒÀƒ¾ãyŸØ†æ5a䈱øoæÇ1#Kªwâ×3Ä—V–ƒ‹"ÇÔ)ÁžAOD ¦E¦…aÉCÍnßHLþ³ñ»ËcÕš4’8>O@UÎ$dˆ æëBÁÁ±üÔ-4Üw䓸?ÈJ¤WIÉ>…VÜr4Éäyg‰·åÜ­Ä’Æ: ÈŠ~²,7¬5Èr§DÔîøX¬Æ¬E½®óÕ Êmlóp𠡦›ˆõsVêlÆ–»ƒ7>eàïÁ2ŸœB u€[PLvƒÛbËÏÇ"w€Õæ%ºUS$üKâúXßg´ç̧qÑ…M¤/ìïÌnwáª=ub;$•`Åév$Y‚ Î=0u/»*ϱ Ñ=É@Åá(ñpžìÛØ ”Š[;LÒ"5z ýñø¢˜)UXDÝä :æiKç² ¢—Ydƒ:pÑó©B?{†+±z}Ü ö:´¡uˆÛ“y ×½z]fÙö +nLpŽ¤ìJD´¦n¿6tdÿTõü1›(Ü2gÝ>Ð>æRÖŒ¬ë ôï`4â–dyÏ?’? W¼!õÓheÏ$§—ºIñtCšÈv6àéµ ?5G l snQo1u|ZÜ‚ +µ‚Ë¡çɉhmH9íu·ãÂ!ö^Ûe'Œ¬$D¥[µ,ñQ9‹Þc°™Å¬Gåêú«þÃɺ1ù@¢§~íÑ1N´ZR¾ ÙÒ©ô›­íí~q±¼<€A„V;Ç·ÖF5Ëh¡ kh»¨¹·bQyŸÉ¤“ÏÚ!µâcv믾7G`©+`®º–ŤJܾؠǺh{Ó7{ùy%Ƥ‹(ã¹øÎtçÒ¹Ë÷PRŠ“PEÞÑ5Í5²?&7Œ?}窞˜¨õ·´fï? +¾´^y°ëñ±Þ­K¼Í—Xª{±¨ÚAÄR®£5¸Xy,t×_êJ+©–—Ô¼•é± ïahý~tÉmŒ-Ƭª«Xj"A¨¶æp•L)̱¬—©\¹EË"¸¢®0L3ý‹p˜¤N•Ð×-Ó/UŠŠ_þJ©¸&[k!R1’ Ѿ‘¥—ÐÏÏe*m¨"Á-0«›x[œÊýof8Æe¨qŽl³æEÁƒjž,HE>ýwOfÿKŠVÌ+\8)3â[¢‘(1HU‚çqL\Ÿ¼1þåµ²øµFõ—bµðÆ£óÄ‘n..@O2ƒ°|F“þ°ÛÛ¸&p¬½Ã’Íö±ò?û¾pU—‡òES¨Ÿpôv¥6´òÛÇ '‡¿-€iüÿvë®ÔÑ䨘%©´é&èˆ2*ÃQ9ÄŸí{poÂþvª²n©tø´*x]I¾þ&å‘åu[Ê32ãX7EGgÏ{8¤:TÿIWŠj¡øwjù7’þ‘ æM}ñfPé¸ é;~jxE> +£Sñľ—Ÿ’‡’&ç‡òÕ¥G®,°Vè’_ÿÌ'æ\väsó-ánm£,îF1(²™'i5DeÍlÀ.Š%7¤  ž8½PŽ×%ÓØ;ˆÅÑ2Ý­Ì/“®¥LŽ,ÿaAÔù`0ºÃ{󢨉Qc›>·UÈ‹¤˜¼LÓ[؉úáU¾ô¬ _Ýrû’»—ü°>ÿ.Š±f“\Yï–?·áÌ@÷õ|á´ä˜äQrjÙ+»_Ï>8ÍÈqSøGÿšá EF>¼iAüe»Žú +UÇ+/BùŽ%¥@ß¡ÍFA“íí§˜'i +áTD͹¬êÊf¢‡›kA ˆ=–×£ÚT¥n˜O ÉÊõa»•E~–‰ÝVxË`Zª¸U% +€il à®ä¤Þ `·gf’T#MüOé»ó¸L”“ VÆU,ŸÂ6–ek«3ï ƒß”{\É)«]~ãl AR¸ðk‚Fæòe!ÑÁít‡öÊV”%q¿8Û[,‹ƒ”›OþKàP›@ËZn˜Ç‡0µžÑs®ëDDšZ†§œ¡Ç'Á\‚ùç &=šMT¶;†ÖW$Ø‘0›oO¯ï(ßœ›jè3²­jP|G«9˾’«(ׂü9¸ÚîbNUG‘E‰C}êÃê‚K_¶aIe‚¼ð¿p[³¶j!°zgX'óÓBý7ñµMIÃØ›RÎfÛãú–21ú±ÔËòeg­+úPœ1­²°{Íz + +ƒÇÁêÌ­µ@ˆø-œwWŒ²Ùo¨nì#k%iL,ÍÜÌi?Áîê–PÕZ¤d5îA4Ö1žk¡#ï«lÕÕs:w-Åoq‰@]ƒ"”èQ¸3øËåæù”µ$ÃÝòGáOfW¨_YÏ…y17ï¬]ptŠðk{šPi')HÜ)  ƒ¨0«ûëDÒlC\'LSz©Ê¸úÂÐG;âQ ê®°ËXü…’[‡Wžà¶ZÙkAH»a††²i–ÈYÈÄþ nl¤ÏP©"©^ðP Érá —uåä¢ aÌdh‡°7ÀÑ¿RoòÁ í‹¿ÿY…êx’¥Ú¶]ÑîXÎá.«ó&±I8K†¹‰iâ%·o¡Kø/&!¶¢˜þPä· mA%™Â¿ +[v0×A¡À_–£b½VTÑ<Žr¥NÅÜxVw,š`Â3·ž Èò( ‰ãÑê“âò†'à‡/ñú¬"¼µäiIãdJy"»/8# £ÍŠþÇI\'k±&ÝÎïGë/lä^àú‘&C.;Œö˜<Ø€1EÎ6G¹ÍbùïÚ°L!Íø]W$bÈëñ|Ô™g(Ÿid@LÒ6:žz cš¸Ä€ƒË° 7’íT­Y™t\"±'§­5¡RG(ZÁ<£Ú‚²6œI}=”àVî9ÇjW9Ê¿\ßY·ëíåu"k¼Úzî…ë®,{ênî,|:-EQØv4ÈnØ~Ái®]‹ ‚;¯pÕ)#ð<»Z†à^^™ë‘¦*Ï>¶sÅñÖzŸñüó‘@*¸:¬Abzâ®ð‹ò¶ð ´ úDNoÍìCõ­çL¶.Ëš1ßA +LÀ¬ÿ2yxt¨r„ï/é_ ©Q°ñxô‚”›E$Ó­L/ß^®^Mç€A]}¾Éü¹¹!Ø3Þa ú—„°l§2Ÿ<^L¨l£*rp9å+gš¥§yþ†úV¼dª(â|¾óÀê&Á0}ž1Žû0¬w‘ú¬çuþf¸1LÍ­>, 9‚ÖÂ%NBësqL¦Ð* êæˆB‹pô‹š»}jïCS†uae»G? +ª ñµß'1¡0…þ´úXjO£Ä]j.ù Œ¾Ònt{ø›æ‡ÕáKPú´g•ûP‘øâÖÝáXòÂ*? ›ä›ùùŒx/÷È0U—Þh{èöJ_nþ©ìL¤ ž!ïš´ºÄAÔÏEY÷™ÌÝ6žˆ<òA© å5„µi%pȧïjÁDe‘A#MˆÃm›]'ÓW"^­—ðRÁæÑV±3ˆƒÜ¼J—o¹À +1½´.ÇlSèîÀþ%§-"v#OloåT]^ŸÁøÅ7¶°`¯3™¤ÉË Ü”Ðüƒ@Žj·+H=Ù†ë€ÓÅñuqSé´„™PïZ´®ªæ F<»Åg4 ©%LÞxä+™ ç~-g(¸ò×)r)x&¬vßÅ­f$óu“ðhÀŠ¶¨ES{…¾è²œ®)ŽrwèÚ,Ä(ÖbÅ°TÚ,œTÇUÞ÷¯-Åt©v–è+lOx‰–Jk>µûmKx½Ññ÷sdïŸÇà)șص'!cØiý×NñO%4>ûÅÈÕÎóÒ0ý.K7[·$Ýtô ?ènÙ2ïÐYâºè|i«ÉGKûàâR‰ÁØG]¿Ð½%Ð…¢AcÆë„;)Ô«V§Šî+ŒMy!‚#y©ÚLUO\ÛqôuO_½¸%…3Ø œÜwH\g·>L£½«%L ˆ!€IèKEùOz\(ïÝdúÄñg`ÿ€Õ»¯:Ê'†.csA¨åtÆ’qÃèGO“XýŒÙó®uÉL€l!ãOÔT“Ïê;?nΨ ÍÎQ4ÔtrƒuKí9ŠÙN©;‡©CW(j}Ic}OÞÿç¬<Ô)›×ãiy—P‹ Åoª®U±“ƒv´A‘"Ý«5rz]¹5€7…Ð)Œ$òá^íæó’•6‹ß-x²ÞÒð„wÁžroë«q>IP¿ßm‚g=Û™äÿQ“›.W´æ¸Ôü»Ù6Åß_;v‡!ºå.C Ö`áSÌò®§Ù_Ò±¦+¬ëùe&ZEq]Øm³ª Âñ#ãÐü/Gg/Rõh?ý½"t|†{˜ÞÙ£óÍ/­â×±—j`¤÷C­¬¹õd bn g+ïQÖ¨]…äGÂÉ)?<€!¿0. ÿûJŸ1â]äº,jÁdÐc©áj^ë O1þœÔ° 3и•KæÊJŠ²2‘«rFb)¼ìOCäd/ÝÂÁZ…ÛQ‡<.û!^øBî@FˆS’Ç¥óõ\vv ¦Eò_3#³æóN°žC"-£ß¾a®û¡H€wD¥è©5·`¨ê®…È—Ñå=¦xîùÐ]Ÿvlz%ÕÆ!¼‚Íé²E'&pSMŠo;72Ñ1HÃHŸw{TUÓàôÙÈõ3Q¡öä4á\ˆ²±v€>pƒ¢,B·ÖÉúÔ‚ªãרéò0$îØkÛ·n›¹Kà¸%ƒî€5â© ~T'2ý¾Ùê‚d x6x˜u½€qóêtÌlZÈ+9¦ïñ‹Ú0Ñ*¡ð±n»~NÍꡃêɘëv +ß CC\Ø©l²ÒŒ¥wfè¼Í^-}’£Ý¤öÒm ïýàðyx’»XðN'vöÿ`Ø8ð°w“²Ç{ÜÿôÚûlg6þñèߨwô Ž‡\ŠGš„1¾x4–m¬Þ!m£Dy ~JöÅ¡`Êe_n]y† K“¤Ngƒîì?”Q#"ÌIg¥’>ån¼h…È×Lˆ@Š¤ÛVù cÂ(»þüK¹Bî¶þÕuñÜ›ôéǵÿÕíë›6,Þð©jv‘¯ù}V˜æ^´=h § ø±&.bÞÝ9œS2&öá d6¢aQÏ›2žÿà å¹iA"€ƒ[/é‚4„µŽîh}òþÎIføPe H zqŒá.•4ìac:<ž{ž´¿"æTÌqª¾øuŽjhv¯¸.èÌ¿è}ª~ C·f·×]ôª›yoéî!­†=nM“Öµá®{ì°ç*M”C·º ÕõÕÄn¡FT¹Äùâ¢5§:Ó »<ñ·š¬qú±h§“€l%Ü#¥t:‹$ºöÉþXSÈÒR×f#bM½üðæýŸh¬Üð´'½õÕ¤ë‘ Ua“ŽJ™( —§¯é5Xá?fE±»¨‰‚éº-Þ‚Ùí%n¥5}ÚZþ`hÖ•—fIÌ”ài~$¹SƒûK°°üýÙ­$+xø¤ñ@šWÌÔK««8…Eúe˜sv½×³*#FI5¡ßî²3…œÎV„Yº$ +¼%/UYÖ'·øë1{Îà¸â{Æ=Tçàà#wŽu=Š¬Ü4ð!†™_Ô G‹ÛV;NÃéÕ –‘®McP‚ùVø}¨pã±…÷HÌ '2nhêÈ»^†Äèä9g•Š©ìRF~, ×â‚ÜnÀÑUA›ï{ÕÄ jˆûuØCŇHâûkÂ@)—ù×DñžÛÓ>ªþÏæsçŒÑ{K\&íéåƤ>½J˜ÆÌ’£ÀÊ UYÞL<Š%ã²¾Î_s€Ö|SYÆD{Ã!Æ´†7œx=(É ¥Êj\aª7ô¢/á4®Ç²þ²i7–O©—TEq¶ÅAG¿ý9Ïò¿¿…§Èͬ=Ãg¯¨E”o- Ñ΄­]‘9e¹èº®MohxPƒ%br™6Äcy _9SÂÓÖñþ‘¯‹ÏuhåÈwðvÛè¥J‚ãÅò.µàé£ö5^¹>Ä%¦bšõ–ëÓ +Ú^!?úÖS5A/‰íoZ·±þ·7Ü„ˆF•—ó;hÝ÷ù ·€ø‰øyñ)qXÈaÅôýßÐS5¾*r3œqR¯Ç?L¹;’J2¹¥‚ÍWÇ.ÛP*¸ç \Ñ7Тï?v–íë„2MÓê ˜[j? ¼¼nMØÅ?Ò4õgIÕž0ÇÌ=Yâµ bnÛ&‚ÉfJtd~y_ÞWD€ œé")ÃÖïÃú12Où‡"”ëLûX™n¡¹ªÎkó2[IVè¨7¼øøÒ}˜žçvò 9£þz½Gc¢;Ųq«€ Y£x{”€íšLh h§Ø£â h|ÿ³6á·"»9yz›<†CÞ—R5L,b dP>Ñ3-â0ã^èPŠpæ $|1§K¾¬Çä)}Hì{#¾MáOÚ‰ÈAzvê+•Åù¤Õ½ÝÆ$8òÍ)Õ~ßÎüÃ̬ój-Ó…ÿ€ïàÿîM4²Qµùý®0CYZ.áu˜€5ÌeÿC¢ï+Gf²›vˆsÛª Á2 ·Ra+ˆªm*feY¥‚ƺÅÁY˜i…ëy©îUKßBC/ˆFÖ>¾ý'Ul±hl0.9Õ`ÊR3'6SºÐ¨âØh>#M¢ Ýn!nÌÏÂì%ÖEâó0åx·›ý>qJ%pº G4´”å_€?Äôp•…ó!vøe”j©"çó6Ÿ—÷Æ.z©¢RlÜ­EÃŽè¸(ßê¥#{äú2’;-d²ÂÑn™s5Ÿ¹&÷nÑe€+T¸Á4ÀÔ¸e*q*Ýá®iB™Ñ6{xÅÔxO<–Ÿ‰P=;šæ¯”‡ tϤÀ‘a“‘ÕöYh9åÁ«ñËο†YÔ¦Ž–¶MY¡–\IˆOÉ{/4þ‡.kj#{BT{:¨„+DeËY?µš«ô`¼Oîqd\9ø†"Þ“JFoy²it}Ðö±n7è9è–òÓ@‰–—eNu¥]ÈWôÀ€™ å|5NW¿Js|ĺåÝáÒË¡è€,xþúIUNÑcë·” ²ÆÕÿõ!¯Rí;Œ| ©lµÔ=GZð¾×û[­Fß<1gq2õÛåàX×-Z³šü›ê,t¶`rÆ%1(MØV´¼v½ƒ(Å°¼ïí"2ŸFt•Æ—k¼7µÞV6íÕØ@®ˆ ŠÕBÈ—·¦Â7 +tÁ´5™©ìS²ùôÊ‘½Œ/䥌 KîØŸÐplúÚ­\1Ü©eõt 8×Ï¿`&ú —tðñ£wßµ +aeíÁ‡>hQr2$K›{0cjø"»ÒÌéa7„gÓûi=õäý™7Ÿ3æ <Õh¦´.´\¹R5ðþ *Š„³˜Å«ALD¹‘B`ш¯Ë¶¯6SÓ`ð+Ä¡uêòIŽd>É<í%’›Õ>fŽ³¦`+"&zŸbGÑQ¨‚˜õ´ônž¹Ò3Þ‚ªªbŸwê,)$^%æ“E‰ŒÒµ¹•6 l4yü~“EöÆÙèf“‹ÚÁl/î:ïdWç®ü¯„ZÇ_ ~jÉiý[ìQòö¯Ÿ5Vˆ¢éX¥Ïœh_(‰¿¸·»ˆ}°U§m ÏV§&–¬‹Gæ¡Sp»Þo"LvD"ŠæZVƒä´I:ž…h9ÜlH¶…LyòÇXšyõÿoµj¢Þ¬dÍ»÷15λïìP‡¨DØuÐêÔH è@mêÅúÖíçå å6L1ZwÜÎoC¶4´£ ÿ ³eƒ¥mÙDãõÉU\Hü–F6;ñžl^\b&ƒÂ—XÖTÑW,o>¦6y¤lTÚV“BÐVë38F›¶ OD@è¢ø—4Á˜àÃû†lâìã-YGž¤tõ–Ä>šÇ‘áÙÓ“ËïתzÀÛ L§ƒmɹÅî’ˆÙžAάͦ\É:M¤7"E†Ë-þo6Md'>"$ ¹•ÙvÊÆ·PâÜîgˆØrK_³,:ýŠF­uÓÎBw3ˆWQ?¡ô•_Ù¬‰m€æ[^‡Rê¯á +}+[ÿøP7×Q=ETBU1²óÒ²¥YU¾ºÒÙøɱó#Žý´±°­ú©™Ð¯k¯¸#þL°~›häemÒ}ðØ7Ø€„yUžç_üÚ&Tæ-[Ëòåÿµ‹õÚé3ûJ÷œÃ¢Ð!jµqÉe $™y1Í Dy!€r´c¼îõ¸¤†¬Ë8)qßj¢nvÔë[‚còXŸmÃ^ýc±cº(Àó4Gú²iú¿‚wa‡m)çI±*‘»#äÕë¬æ2tP"ÆCÏ”ýmRe—€8iýR¬NÈŽ@躨ç×þ¸n g¶I*¯ðNåsÀ †B› ëù#äöÙ£yM¡€èÌËAuu +MU!HÖǹC‘ÐÒHØ-Å £s¼–%󡽚Y¬¢"Iˆ,V¯&q _g bɵøB&fÚ^òn¥ÝRsØCBL¸-v”æ§öòïŸÚ]4R¿­OŽy(’8J‚w˜ÕˆÔ±b3‡lÞëBy3S\ÆÁB½%€¼“  ;tJ¢Í¬äS÷Äy©§ÝSPq!¨ynÇ¡L`?èéÁ g«…õƒ 5oBó‚i[DÌaxA¬C+ÍüµºA±Jl@Ïh„´Kd›Œ1’§¯ßÁŸ9AðŠ&á»\Ó¤7D@áöêÕ,wß“?g†?Çؾ’ÜsA26ou`ìÔˆq[7­Çó˜©Úu.ü›F ›[7'Úõp6ÚeÇ>GÄ™û)ä–Þ0{Üðƒü(¿™6¹¼@ÚúÏDi +endstream endobj 832 0 obj<>stream +\p볿}Šl +endstream endobj 833 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 834 0 obj<>stream +ŨqÔqžÒ+PeÏðk™—èÈ[û‰Ù¥ë¶m]gEêzÿª›åŠ¨û?ª§’Øí­=³<›”×®¡xüÄR3ÂêÍê:Sþ=Í +endstream endobj 835 0 obj<>stream +s>ŽN@Á‚ +endstream endobj 836 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 837 0 obj<>stream +ë×>[TvŒYÔp ð…ÐìuR?ÐèJ˜Áèe½¬ïšüaÎ2CÙÔçs†´=MÙlÖ ÔTKÔ˜3b1¬ÑO Wê| @øl«6 +endstream endobj 838 0 obj<>stream +ªÙà'€Ús +endstream endobj 839 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 840 0 obj<>stream +-gGÏ=ѹŸÕºŒ^YÑ¿^´ºl8®æ^ANŠýsQÝ’*ßÒ³Ñ5(qƒWœùº¾»qŽËkåR*Sáôëì´I® Å÷¼Ö +endstream endobj 841 0 obj<>stream +†k7ìÇà +endstream endobj 842 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 843 0 obj<>stream +\ÒYŽÏC †K?B•«;ÄTyžPÛÊþ± +h´ëV*“i­Ð8É>‘á@âÚŸpìò9RèQˆ!º$ÍÜç?ÏÑÂíÄâAóËãðÜZe +endstream endobj 844 0 obj<>stream +ÔðÃ’Ây¼êÐ +endstream endobj 845 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 846 0 obj<>stream +q§¿„q‚ýþÁ±^Ahfœþ´uÅ–ò@’²6SLd„2W_êxSŸ1Ô³)%Éì—Ô&% l?ÊgRQ {À*ùˆ]«ŒKgøò>r +endstream endobj 847 0 obj<>stream +çGõòÉJæþi +endstream endobj 848 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 849 0 obj<>stream +Wɉý‚rc*÷7¥üþN„ ¼ãV# šìx„Ž”‹kPâcÙ¡J)+å}wüãîÄÖX)¡2äZ°n8X=œJ*…þ<­šzòxÞG +endstream endobj 850 0 obj<>stream +c²Ù„›Zù +endstream endobj 851 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 852 0 obj<>stream +¹°Ò*Á-PŽ'#L¾Ù‚Ħ¤¸t3–^·B¿x”ߊlï€rJ2[¡Wv`?_©)NÖN²§sVE(࿨«Äw% +endstream endobj 853 0 obj<>stream +ðO#ý™y¾< +endstream endobj 854 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 855 0 obj<>stream +{µj¥Äìö%¸ã†¤C›»B x϶µAHáRMݲ…,¬XY¾;`ìŒO +°ákF”gñ‹éÇÇ”|.éËàŽRlH+åô¦@ú~Bî +endstream endobj 856 0 obj<>stream +ìvnÌ6ïëƒï +endstream endobj 857 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 858 0 obj<>stream +÷."f[ƒ(ånÚ=ÓÆŸ¦ÄÀøW˜Ärš,§¦BRAŸNŠ¢½š#4ÛÉcmp\1M'³pî#뙕áçQœ6‘ï7¾Ÿ|F{øºç +endstream endobj 859 0 obj<>stream +¯â›à'DMSX +endstream endobj 860 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 861 0 obj<>stream +‡Ö-†7cÚL>ÝxÁóvÂÕn•hÄѨ>‰­!ò&dðaÐT_3‚³z¬ØˆÍʸ,´cWô 駺ÄS±Ifû ݤ2(Y£›º%H +endstream endobj 862 0 obj<>stream +À’³ÒT˜kJ +endstream endobj 863 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 864 0 obj<>stream +ïü.)MTn"YY–Ÿ¿j.ý¸€ÑñKó”„ÐßùÇm%»ÂqP¾tH£X¥(ÿv¼/>stream +×¹D¾áz\ +endstream endobj 866 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 867 0 obj<>stream +wY5¥‚£kŒx ó ¶±+Ë+ì¥ÏÛ “î];“ðÉÜUWÑX‚涊(zË †è!q΂x'^ZeÁ×yhŒ•2;V +endstream endobj 868 0 obj<>stream +yI.1Ð +endstream endobj 869 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 870 0 obj<>stream +Ï(Ä`Œ¬e«»¬Z úÐs¨éô§$)U^¦Õì®8¬>stream +\ª~l\„¢ +endstream endobj 872 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 873 0 obj<>stream +J8÷ßÚ1ÊQSd:v¹ÚÖˆÆËØÇ/q½ªw_‘D—¿zÓ³oV.œuÍDÒãÐÓL{˜ÐBÞ fìqCNp³ßÁÇgœR³ +endstream endobj 874 0 obj<>stream +{DÉèN\Q +endstream endobj 875 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 876 0 obj<>stream +TS"Ô‚Ò4hG½¥#[@¿_¥£Ä³Îq‹¶pn l]kR-`\kW_µßz+¯wr}ÛP †m—Ɖ¬aÚ²'ÔȼXZ¿ +endstream endobj 877 0 obj<>stream +À˜«µ>´à† +endstream endobj 878 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 879 0 obj<>stream +ì{Ꙏ˜¤ w bSŸèþü«„â’‡q-Åþ²$ò ƒF†A—Y«Ž¡R¶ˆ£¬P£»z¨è„°Hç£aÇð¦´Ò®ƒÕ +endstream endobj 880 0 obj<> endobj 881 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 882 0 obj<>stream +sÔìR¯Œ[•ð¤‘\4@w,z|0nÌ¿r½5QCI¤yåHJ19cÈIŽ’ÞH€Jz`ó¨;]PéYudmåݶ ëeKùO/¥¿Î>¶ÿÒ;Å0j¯j½¢ï~’¾0.«p †5ûPD T-Á ûWÆ=Ž¿J.4¨šI:….°CÛÌ*%›É.¿M°é”Èý¨ØÂÏ’zRþÓVñÄzsìFÅuú<5©zQj ͥ’19m@„zpF +¤ƒ‡E²Mü`µ …oߣ‹7Lô€Fo—*ì¤\‚oéœ6^ñÈÔ6¿¯ÝvuYíý=+K]Q2S¬(S}‹-Ì,ü)Y£¹tDr×4 -‡©c¼Ioívwrák‡\YUÌúLvX2áœ14$ø€)˜…WÌU£õƒHã¡Û¸¿OõS0uìá,jV´½-iCîÜ(ÏGÜT½<+LJ!÷1;¦ƒ†‡Í +hXöKÏÌßúXŸÄtt ¿Ý(?î+ŸÙòä䋨|û ¼t™âÞ´*ocCâdÊ{ü¿¥o¬¢ºà`¡ÙÀ¦äU&‘§»B~E* w~6ݽ#¡š hVC.wZŸ@D?8ÒaÆÄϾq³>ªšúúQµÓ¾ú`æ š¹Nùˆ€mõ©Y ÞA¤=j´H¬1 M,1W~çAsmü9ã-¤›&$9¡Û"·ú¦K ½s™ã\ßGšôÂ#\ˆ²T“)ysšárd ·ª>Ëi±' ô1Ç؇m¨k¤¹‡ñª©×W…eVÎJl§-³¶Ü'Ù +ÉT˜ÚWˆ³mã’G0xµßþrîš´v.Þ—GpT°QüÑákƒHTå97î+‹ùíúÇ8v5GØ|V1Lí~Zþþ£HhZŠ_JxïÆüŽ@‹‘Þ!¹st0 +lšv^ïçDÊFÜl·m¹ÅâÖáÃýNƒNù·œê‚w,Ûåñ§kï˜ÍkÃdï’(áÍÍ#Éñ¢|ó¸$Œ7 ‘ &ˆ™šˆh¶sŠ$ +®}ó·‡oõWe?Õó·éÕ>l䠥؎G‹ôµ–ÖœD…²¾Æ¸ Úߟá3V²j”Ÿê^Ý,NtkFIÜ  –ÐÏ ¸9]¥¨ˆÁRugÏmÜVB¦¦ý¯ÅìB¤¿÷Ò8ªâUNÇ5•ìà­kÆÛwÏ=øò`C¶ ôª£ÔpŒ÷q¢ÝEjZRçDí8L×Bôô;CØÉcC¼EÉ”–Gá’C$ÅX¶VUã­‡Àí@ÜÔáé2' ñø6SR8)“ðùÁ਺ۺ³,Ñ: “Ä%<Ú£ 95SP.½rçû]t·:Ü´­Vv +ĹUép•Ö©4oªëâlNˆ¾ë|׋YÜž£V‚U×®ß&fÝ]7Y ”cöÆ®¨)p| [3´ûÄßãÍmz,@Ðx +íôäÁó- 쵎Ô¾B›ÛÚÏ?£þF3±£ñ}º±5×z™ŠÈkÃëxQæö… Ü+Wu<-7©)ÂlCZe¿PÃóÿ€4“T©Ó­<› €Þ 0•.c8íd—怣<Õ&]'bÑGXbcÀŒ†ý€ô…•3vïÊŸ,†®$?lU³å ŸÕµ$üm¾Bv#²r}ñ÷!€œøÏÞ2¯M8—J¼Ü؇«ŒÈmÿ¦a/›{¿g³QõˆîA6ZNÞ²½ÀJuÌɲcNø{QàÕ+Ñ°”_`½·Ùú؃þK5¸å;1î·»dI‰¤„øA›žØ4Z’2gµÎ¯Ü•*;eS!ó‘ã5¶¢öņde ìý̇ƔºÞ^1gÔ.yyÿM —Å>¶qsÅS¡õsÀñlæCM],ºÒ#_j?#Výå:¹ÚAѶ½4]«¢3…¸NcÊË §+5!ºáERÌÎñnƒ«éW¯¾óvMŽéúÚ[Ç‘XYW‹Ÿ R0\&ÔHþ#çÚç¾S&z å»É,ªïí×ïH&rx¶Q+`PwD8ä…œý‰Jl §y0 D€ËI›5L¤ä Ïz€¸ÝÞ;aÛ·>yìãt|wuƒ0‡ÛåOL¶óÔ•¼3ã6”£¬ÔŸ‚Ý$sï/&žã ÇÜXÆÑ!šMåð‹½wÚT:ÉE]…XjºqêCÕÀŸß0Œù w²ž${NÄP|Éñ`©®e¶‰Œ¥Ò2¯´Mrۥ߿ãSîæi’[­Yzžß@œ×lŸÏ™êòaÚDËÙööE¿èæH½ç–T|bŒÅA—ò]) Å/7¯<†‹¦òê1Óã®6Èç²FÑ‚^SœíCÿ$ªÎŠZÈ1|ÐÖãÎ>I”þ” r³bJÍèʦv#ËGðIïãhœ?™½daH{b¶õ)úÙ& £©qâñ¢®ï4îò剃¸d +cgÛ ó©Ñ_“ÂVöAéA­»Y#Â+^k]±ÞpÈŸ;›‹œÕ÷ò“„Ì‘1-S ;¦Zý&QAIsÞ?üÕ"•`öQgºÜã•¡çþð¦÷Öhªf|| »„˜ŽxGtÓáþAû„¶Â×f*1fIÉ:–ꡈ°h]„ʈ5J!BlóR¢²PÖ=dð»j´p ©)§ß‚ÐÇP ç´[°\ªu§O8RÑ‘•Ù,¥>M¾)DŸ +T.V`Îéüq°ë[Tpßv©&´ +—·<ðýp˜/ƒÀ‹uf‚Æ%D¿óúþžÔƒIø{ÉUC±4»‚ÀÌP²íî”4“3‘éªóÔÉÞܸ¯@~m2´€GtIâ´0Çk»7ÿˆü–·¥Ñ¨Ÿ)7‡-D7ë[÷——_ïÑÒÑfkÝO@_Þ%zëZÈMÖã^ÿÛì'k ü!„ p©iΖ¯g8 ôc(t#®¢íj¤4âÜm–îõâIú°…çæ®:ÛªÓ-sÿ± Í}ÏÈPš‹’È}0œ—Üì5krkŒ~‘ž_y‹Nè$Ñò–7×E>ó×Òf€ œõq~3§)Û\8EðClUü^W‚S)P]Æäö’²Mü«ŸùNY‚Gßfüw3©È³Ân½D #’e¨(U  +¹O~©@«[gÝŠÁó¥°JaŒa)Ý«þ¢TX¢ýëPR—$ŸÐœ•Íàç~cK*U_böÇòâ¿à¤¸˜†boE©ü9к϶µÿ¸°§xC‡@ ½“(րͷ<íÙÅ™:Ã5/<¿Ì!yrÊöäOä(øïñŽM9$4Z+<˜pEŸÏB.ÏÎ:Ûè½ÐCÞ"³NM*ÿPêÃÏ9*qßµµ[–瞎L²c[ô™“€¡÷® eAü„~Pr/i}ÎÊ8m,{;äZÌâ¿ò4k/PÝšSo(Ç «Ú©RÏÒµHª–RW4Q_Ô.dç»iþ×'¬pZcÏ!”Ô üÐW°‹lFø‚D%û¥¿¾¡›¹×xÜl3 ýñU†bnS>çÑK¬53j-·Ro$ˆ sÞÀSRûÐ4QùHøÈyZl£g `¬ÃPØòÊL„èóÌQ— F NGlÉ“ãÓü¥êšÖŽ©”hTo/HÎ峤b9‚ÜnéˆðÔ–äù_7E§säš(ǧ6ö-E¯Zs /›xe²—Dwúé—ý9¼6¾#ÃC»¥†$ãJŸÅž_tø;b~s³@}µLõsÎôøyÆ—jçº +ªb´¥Ç*ù5zKëæÏK7Ÿiùu5…E_¥Ýè*âß|ÿ©)2I©sl•!r®á%ˆY‡¹– +±yñ*Áü„DTt›~ÖÉwûDa^£!drGÑ/àºÒAzc“e(‰ÀYZ3jiÊt0B{ŠGÏ›Á<:³ˆDÅÇéƒg^º´•”v ¶b“–ʵiP@y¿¯š¡ö»z§™£‚üO˜šù,îð¦qóN‘Å(WÂñ"{Ê%Ñá÷@Ðè/¼âsë<ß'5ªN)šMÑà íâ5|U%¯ ŒLª…!üð\h€êRçeå ^û›1ØÖlÊÙ}m RÅL{,ÜH$tºGEûÃßð •jžïìü09”œ–:‘`jbT3Ï嬸“ðÜ«¢QÅ2ã]í—«ùZÛ^©³êú]¢úñs‚[eØdK F®µ£gj&°k«³—·Ä¦œƒ @Ãm…û–$×ÏaœŒ„K;¼²Ô ¯÷à TpЧÏ>á +4±M«ú·ÝwÅõŒÂZ4”ó~Á Ã-¤‰(OhÃ’Žsk±±>‰Wëd¢ê©d¨Ðgs©)”Éyâ3d.²-ùPïµváïò¦èƒ|œ–ï6\Ë@ÎYy¡Î—Yÿ”¤ÍË–…+?¾7í„ÐĆ×Ó:Oî÷ùâ´fþÊ&HÞ‘¡#Ö¶®=~¡5 6Ü;c: Ë–RØ +#±°ð*ÃΓÁƒ¥µ¬¦Ž\°¬üЦ0MA“tRͳQA*”{}?™;F¢P–›ñªd}ÅM˜|kh°A7ì^kD«©8´å™Øæ×RÓ[”ÉZCŠr13­ˆú=ë.ÛK"Wö)\÷þ(ùúÒñ'§cƒÙ†/ÑÊýTû÷3ß sv¹4ò£ J¢’nz`ùJÍyeR Û½€A.Y•ˆ§ŸfñÒDŸ×°>Ó…²£õ¤á™ÄÑ/뇇ÏZeGg0$;W•E%Þ¬†I‚w¤ö”‰3¼2¦¤d¨Ð©®œ×£ýø}£o5ùüŸöÕ>3ñͲ8ŽÎž~vd…ù<%•Ž†Þƒcçµç¨‡ÉëIÔ⾄ªû¤qee¯@Ò7Æh»¦Þr]jµ¡0vЧt«¶õ6 ª=ظhRõdJkvñ/É“"ë½N2ÿ’NúÖßœtSñ‹³aø!Ë6Ë—ÔV<ÈcüAUŸyOtrˬR S±—YÒò³ø¡ç¿ƒ¸º‰p]‹ÝË ¿>…Q@­÷Mè˜êŒ¶…YÇUÉQ(úY[.&Õ‡AŠ±ëSÖþ´4\ØþJ6Cç¡EMfŸ%°Îb(KçºfgzÎ=S©tÂ]9ò$hý«yOb×pI篤Èþó›éì½[vk_  b¯–Ô/Z6’z‚N4…æ¦uåd–ÎDJ…X/Í{VpÑv:þHŠ¼[%fͦ¦–>‚üôlMž—PÇßzâç-”–ÂlÔœb¶@®Ž»”qü†ùL"n>!K¹ v“(ëæ5XZØʈLÇâ…Jn!Ò»ŽJÊ]°_¸]1ʬuØÿm€üËÞ±õmL) è>ŽmX¡“·hŽ¡øc÷Òêä1ìŸÙkñ¾a=R®‘^ ,ñØ,÷ìöth˜8:·É]¬Ö¶cIž¹gý]¿y™=Ö;Ï›EOˆÉµ219è`)îÏ`öÄ´6ýg祺]ÙÁ óï°T_¸` °s@!* îTR©%~€ë:~2) ³cÓSï.àÖ î+Ùž¹ÄwÉlež&G`x-OÜ!öé pIBL'B{Ø8šÝC_ÔJ6¤hþµ6WH‰wߊ’>ú$›ô¡b ÿû}²ðbšBLÌÊK•Ç-îH­˜ +™më;iï;9<]×’ûÙ¬ñĹkœ´’ð‡NÄI ŠG ñu37äFÔ}ó5ýv?e1¶¨aƶ>ÏdqÆYä˜êx|HÚ¿³(w;'ÍGë¯ÁXú¶ÆÂY^CiEkI͇hhÜ1Ë wYÌá\Ú{2o8È{Ä6-ÙÐ\ïg ‹LvIRmšê|¥eÕÿq'SÐÑéôöhå 'ÑëT®¼<ë·äȳ¾Ô¹ºfvèÍïú™'.„\13!½éþaw½‚êÉÁŸéʘ)½7çm>çx*ÁÖŒÒAÈ]ð¾ÎhjzxŠ›Q¶àÊìý¦rë~Âö¶8èÖñð%´ÝõA˜ [ˆé®PzFk¿e°Žz«ÝvÂNø@®ð©sÌáX;Oµz&ÿgèzm‹õ°–±“„ßÜ[uœ_#ÌÀ§dü–T¾&Ðéõ1 –aƒ¢þ /…Ÿ„*‰·Y¾È\Ii…VÙ÷ûb¨²gYÓ¦ë)WÞ›ÓE8§W6žu‚1t')5´dŸÛ´÷-€ø;«·÷xúñ¶Ô5ÐNöËb;ö,FÙf†„¶$x&- +ÅýûgßhŠ³ÎRBìspôÞÙš•«~)Æî˜?/%‚è£Þï{@®ñ."XH€×ºèD”šâÁÆ`!LédŸN#9žW1«Í÷‹´[yx©ø„}qƒ~mzŽH®^ïœ÷ôï$g^ +ƒùÈ&¹}ïfàðOJRE²ƒv/ykÀ®îú¦ÙXø$/±Ê^þGc3Y{oä_+€.Kkk¾£éÉ1ƒþˆNËp{pý¾3µY§Bt®;ÚFE^îýS¼W]Šî_ç³èç7ƒ±ìÇ>vö]i]e5yN‘Ô‰âO¹Õi€:$Oð«8ËuýúŒÂâ:)p¬“¤ï.®n¥û€(J|Š4‹£ù|7ß²ðôÒ 0cè\&M/D³s ñöF7_ŸÜŽö}{&{1zI¯zÐQä%éw‡‰I(Ùvô$í¡Ž‹ZvŽ×­psOúÚ%©C!ãÚ]†üXÍw«ÆÀ4¡£ÁëQ +PbD£¡©~@rmÄ«´ýJ=]¹u m¬;´ó0âöU…?2÷wlÕ0)^øŽ6ˆCmD4ÔhCO#>žjÀxÖ}ÞpÞ3Ÿ›è¿r6®ÅMbiD8HAìÉk=H¯È†åÁµ[l°ZÆÆ‘Ÿ‡áÒ‘9k}9ùï6Å~K{*΢ÏÛ8."%¶cþ¸ïnˆÎMDçˆ;Þ&€Û¬ÖêXb'i›Qd:ábŒEŒ1ÞYÜÊHË3cÿßÏ3Raoè=Ÿ ±¥)Ã=!#ôs&S-äƦMü¤9PÝ“¸zÎv²Rè+hÝ lÎ׫ò¡KVGvƒÿôY¬@Ò—³`½‚î[ Í!?‚šž)eÏO7rNwŠ`)ÞhÚm•ÿ ëÀó@)¬Z PàùŠˆè·ÚS5£>‚8ðFâW~³ƒLY$k[èÕ«÷¡Ü!¨£8½•ЂEÿ„~÷¦*þõ½ÌüLŠÉl4±o”¶¢”µ5pK¢JØ–8øog)“­ñ6knǬRÇÀcÄô´à]½^­3Áª‡Â†láòFßÉó%Äœš“æäÿåW¹Ɉ(MÄg»õðòõ&cW¥†“èXÃæ×—êÜ%W+Â&‡àüÊ/È16@Ÿdyi5;JV+È&¥R3 ÅFZ»^î4ù>µ{,<:®›¹üƒs c‡#:ünñÚ—".‹²êt”í¬|ëQ•Q%‹|<{'ÓÊž”‘ +ß<(2ñ]SÕ@ª0´ê´±ý¸)«±qÿA2ý‹Ù¨÷þÂ˪kÖìŽ2¯ÿ›¼R…§bã§÷àþ5[ÂÉ/mo£ýœ*øÁ¸d`ß"€z, ÐB|.òHj­l¦ÞµA‹å¹ÞOÀ-µìßà«ÐføþÃ)p•eÌSðE­²N'oû¦DÞKRc–ZÂÏœä@`¶uŽ¼!ó™ã›»×îbÙÝpú63öÊHÓÐÉ]ee™`!Òø§ÛÝõ’Š_?ý_=Ç/Þÿ«òL@:B•àö Ž/Í­¨Œ£@wØ5çÀúví¨uX3È”¹†çgò@ßGÔ¶æög$Ÿa¦íy±ÇR}›ý¨2‹˜lM6îªV ë4L¸‹7JE2˜È*ƒÏô¸Ñ©ÕûJö;î 6<‡]*¥ƒÒŠÂ[Zß0…õª ²°~=u7ÿÆ[¯îX絛dèaµz“å5’c1=å'y-ýÜ£†­ï”0wþ2 g<ÞR-ë@ò÷}-µÍzk¦fd÷cFâDðU µaÑü¤ðmDi6;J›°.A±î;Ń´N(Õ%QŽ½/ 3ÁÑýs¾’dË1MX „‚·”c,ïŒü‡û½ã$Jè:‰=^B,6»ÆW €×óå8å+ü¿”fa,dúrßÑ´td{§w¸5²|B…z!ïÂÜ2xØs±§t}t¿±Ñ‰7¦¬ê÷SàW|¼„Ö#Ã’W•1Ê°$Ùê©d7oz1`’º.5=BëJ«ôVc-ÝZ¤Íæç‚Ù¾:ÓDûtݹ\o4ñMÄ=Ã{… ™˜ŸØ%C+½ºn† ƒ3µCÜ’4ÔâÊ&à÷yÔöE3R] ¯Õú_NíSªú¨‹]»ýŽBœ{ýb$þg¼\æMRÄ(w ®>ŽÁIÚɨì˜áwpö@7ÉmO´íc’¾iþƒ]ͪÖ>„î>\æĤm‰8\¿ÎhË(}r5n}?ØŠ ×ïÖýYèÍ/€õeH_ž¥ŒÓ {¨Yö¶³õI&o›G㽪‡ÏëÛm ½[’Á(zßÁF^j~ö^ý8=„àõ#@ZÇ—Û´œ )éÛêpˆ!½<Å(†µ@ø¶à—‹¸R ùìbMk@K’^¶ Èá6YËR¸ÑÿŒÄ“.*Y¨+x‰¦Üy ä刬Zˆ°8’±&vå~ Só†zuŒÔ Òå‘®Ÿ^Ü/*W’6¸eR<ÑG*†Ô×hX_è`b”e£¤tγäòÂI%"¨ñæX‰v?Q­¸PÓ æ”LÙKaŠ?ð¥^‡âvg-Ú‹N×åáJÏo—`Ÿà­œà§þOw}Fyò! Á–íŸTn?5Eúàj¼+u!¤+êY¯^T^x»S´!Oû¯Få/»8Ub§]@×5Bߌƹ+@ŽT®¹Õ'/]Hù9>Êh-Ã)J¬¬÷Ìê€3ṼBÙ¶?nª0©èâKlÓ§úz¥@qüá°ó´|¤4¸ð½vDímÇEÃ5¹Ê¡Wnëßxo±Í…l¡Çì?ë½3I_6ôî}µÑQ•Æ»eL¨‡T,{–aoF¼iúik?Ûïï²ÿDÒq¿ÐdV+i¬”’»‚ßÍ}s†ƒ<¤!ៅu|¤]œàå”túbå9¦u¥ÈhWb6¬†z#ª@Gdj-¾kØ„ªg¡Wˆžï¶zYÁhÂüÀœöË¿¾«Ü R¤Â¶Õ> ³‰G»aCî¢'L2ív¢,½ˆ|Ê; f;¼(¬-³ù±ó¸Ã›ÈÈ?ÔGÕ¬E@Y3õ|5ZîÙfR +y¬¿Ú2´žÔû<öÝÌŸIŸKs&"©Ÿ¸<¢2ãxëŒÊŠÇòÉ û·kEª¦l±‡Ùöd"¦ÝÀh†’+z” S›g*“TÂÇ…ÿÇly²¯Óôص‡<KT½ÚÕåš(;H|Å<©ûm‚:=MR> endobj 884 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 885 0 obj<>stream +jX¡ËAñò •×ðˆ? %=‚,!"?[V~ÐGææÄ2Êé¾7ùmoC£Ìò—ú3\Äa¹Þ~0„ìÜ¥‹ä½+ +X´¡=~@¼½n;)—Ø‘´WÐ$”u›»RÚ¢FÜnGƒÝÀuA»-õÅÚº.`XØZ$9¦c¨;‹K/$#ØК“¼FùNré%þÂðÛ2òÄX£¢š¥Ï}ÏÏùˆ¦Èj»gḀýsš +fAç‹z–Ì:CÉ#¡ŒUŽÓÒAú}=ÚQ˜*ÍiìÜw¦ß8/èLjµu‘Ý°sü]–T£â2•ØØxNiEèÂRKÄϭ׸>ËÆ]Uè¼q€X4X´óŸL Œ“ËÂw={8/™Œß­ÅLºº<:“ý!vúOŽÉÖàx‚þ¸œx¹BWX/ÊR8Kƒì ÆmuW+d¿UÅ{Æ“.8£¨ &ïEðÿß¾EÃòÁƒ”îç«Y]B YŠ’Q1Q<'–$R·„¾`ÅLËÀ )™dª(P†,4;5 +2FµX¼ÿUrVXBÔ,ssWp6OÆœ&B‡~–÷Oqy‡öÌÿS<¤c‚wÕ{+!I{ÜÐKl01CBœ>Œìÿ·Ù«(ƒÇ7Œ’›_•JüUDÝAè½ %„”¯0“Ø-ôá[ÑYzÌ4qpï„!›öPFy2äÇ+­ˆ#qœ2m4×QY!EfµÁµD-ŽW\wì1ÃéÅx¦eŠ¸¬œšɃ‹¹›qh4 áüt'‘l@­èSØÌ°Q鞉c'iôÃO./èÀ‡³VxKÁF™î3c÷²`ùlðãýCü¼Lï'8¶âþêv—(a \¦èùO¿šF+ú¿>¿ÞÜöIñ!4)r¾êÈ”†?“y<û‹Ž +}š<8hp. +¦ØNç—öRD3ÅÒ¬Û^' V‡`Ð6€žõ¦NK>T´y™ŸÍ×ÄÆ~I‘/χÛ(ýÔNï, ±(©3<‡p«;1ãÜ $¤4V&‹c{`0f±#õªíµ!Á~ÏxOV-1¥`ŸËVP7&»FÏböXõò@1iùb_*›q7èÌSy€[%›W~&ä–¿)EÅ­8ÍFµèU³3`kXÊ:dÙÈ îĬhl’=¸x¹L”)Ë?àróž:Jéø\ÓV&Œí¶Ì±wÓgDcQ{u@q=t–RÜØxmaj5³t¯[/µ¨I1F;Äcʪpð_ËUµüüÐ3ȉ”¥KÜ”¾‘“èL[ô21Ï)àDEèËJ†áýûÑôø_°,Ž†ì×)ò =Ñ*q…xOsÃŒÝ^#< +¾ØR‚r¹ÐQþ¸Y¦%ó=â1z•é0Å +u +| /¸¢0ÆŒZuÍ>ipŠ?üÔž ÛRgF×ÜVæcŸÃɀ܅ú¾…uðìî?„Ü`F2uÕ¡›¦î˜oæNŒqXHÿ‹ܳ„Ó•˜Éš±äFà§c©<…Q‹VÚ/ŽF϶·Â¨ÞGs±Œ!!ÓÞÈ›ïÇX©ƒWì&j›°sGµdùÂLÆèäDS-‹çR(ÓOK_YAŒ²–4Æ9X’õOÒ S +T£ªö ÉVµU)ñœ÷fd)P\+ÿHsÃÞõ’l,O6N6Æå*¹EЊ—&Ä›ÁúÍmM€6be#N•ÏÁtß?œTI"–mø·—þÌqO€†5^£2}'”¬áV &.+ö¿Db¾»î¤|w(84òaBõµ¶ÌcuB‘ÿ¼K®ÒðóÞÊ”üw¼Úf¯+bÉlœ(Ã÷¸“½­ð-a¥Æ·)?먰\Àc‘éÂÏÉg ì§/”o*Šs”´þf´òãà#§¿/Ž¾v|TgŒ‰|‡îXV +2êç¿tÃq·ÌEi¢?ÍPLlŠ˜ÿ&ir(çã0“’Îœ¤‡)ª‡½mïÏ1ºÙQ{›¡ºÈTñ˜'ÕIÊR¼C¸n*§7°&äx S&tÕTßÄþè5BGñÀ18â–Õøv91íã@‘‡{$§¤-¶t¼ËâƒL ›m¢òŒõ5Õtr‰Â-òÇæ°]ŠLH&¡ÁÁ7ÜEžY‘RÔÃ-eÎÛÿöȆ…D7è +Òè\Dæ )Õû¿ªW{ƒÓ)=©ùRK9á ÎœàÄ«@n};Y§•?K˜.V{«®Ö¦½ÖBÖÏ(•œ’EÆl™ÕËå’ÏþÅæË&‹Ë|kgŒÉY‰Zž\.V<Á÷«óK(‘½žaÅⶓÃÖðõA$˜óbû5Ô.]ÿ=”˜(ï­Œ½>w0}Û§*›Ýq"•”üA ®áWâóÚqÑTÙõÒÂV¹ìOxæÐC´üp.é‹Äƒ“…— ƒ¸J#ááÓßð ö–'Ì Ù„%|Ìýk7þ‰YõÁÜŠæâl258›†÷”È}:Å|»^K¹:¹E“_Úr0’å;Êuõñs½^GØ^GøSµ#C‡ƒ£†p9Ê)Œ2ܤaÿv:•IÇrŒa«JŒ².¡Þo=_ÖñK%Ùå +Õ—äƒm`#ë¶g)³bÝ,êEt‚º¹ò•%U; ÷0Ø)œK(â^Ç£”¦ŒnŠ=†.çînµ´Á¯O뤸ágñý ¥¨9_žãŸ½‹Î1ë>ÌÎbQÿ@§áôÌh®ÑÚ§ÔX‡¡lB£µ¥SÖg߉ø¼,%øýÿùúÈ2}Ò!3éyDÉ°Z +#3SŸ×_( Ý¡îb…¯Ë~S•Œ÷üVÜGÄ9¡àU?”Œ- ³Mpû&øïÄ#’ä{&\+nÃ0O$5Q2cPñ_¢8ç~±6'¸Œ`Éž]~Š/ Þnªe£êDD¾@ð6$11¸º÷uªjúÂF×âÐ:„Ãgœgiš8(--‡CVNt„w%7J ®Z-È3 ÙïIåsR§|eaP9J*åuìÙ#‡ ×tñ3|œEõ5xD-$~ºÎM–/š£òè@Úä`—eùp0í'ª(jUêÚf§V|äYÞ¨î†w/PßösŠ{ðX:€añ*&‘:a¯¸<·%‘±q†¾0)Ÿü´\tE[ˆ®©ç<è%¦Ñst ¶ª˜ÕŽü’v$Ô~Ÿ‚F–4–CɺÝ!•¤ãX¦‚Ëüì#\µèïÌHRó«Ð %“Â#}÷K`4©¡{Ùi I€I²ÆN‰Wåó²‡vÛ`Çp€±´BDé‹ðVUu×°œ¨ uµB-ŸëM³nM¦aü¢Â Ô¸3™z³Š&‘ÁYóN'd»\{f4F›4êÑjÀ\bZL:c‹—Â3*ìž5\D2$¤–‹Œn€GàÔ ãú„B™´¹·kBi(Ý ‚!?o³âdNL*£í+Xl©±5zÊ]“ˆŠ/\éܪ¶‡ŽÜ ³C “f€-w7d nUe80äõµ¦ïJ­B&š,ÿ®zÚš‘¸ÿ=õ¸ÿp–`moo§pL ³e„ƒ pgí–ì7À +‚|áÃÀÝý•~•¨`§á(Ò Š»¨%Zõ{(?¾z0Bø×»°íåÈRÚ½„Õ°÷èI¶0ÿ!cO>Ž7FÏl¯mÉ£([B³n#ºcŽÓàUrDð¸ í’ ‚s™Ñ줥£9Mìñ?PÂç_Y³y5'?Á¶!½âÆ·,h{fŒ^¡bgZv­é±³ì„Þ +Uéü÷w AniÛ£Ä!/n—nsôêîì¥oY‰AOàpÆlùDÎÐè²mg9¢«B‹6bµu[ͼV:„Q,5¿ò~[ù¥'¹Nn™1˜m ëNzw‹.TË‚>"—ÃŽçǨÄ%j‰¯É1öÀÓòëºø Iƒ­Ëä[AB…nÔIħ·ÁÚUüGq±õNvÿ?¢UÅ¡Yx~vZ~{KX8þ¼Ù­Å§P¾oð¯¡>µð°®¥u[O)n-–µ±¹ ù`žÖ_”Ó:Áú¼kî] +SŽ%p ,š‰§Æði¦z룙D9ª¶ã’ªTÏCH¾‘± ’—rq# €¨@KBÒ4òµþ›ÍÂ`ªA*¯WÕy/ p ;îê磵c+p:ÃØrÂ$ËmËÉi[Ü/UÌ 5;f[–>ôÜžŠÆeDhĹýd›K»bÅ8ëY&öâ½ê/€,àœÞNºÏúMáï󻳘o°ç.û¤*ûÄ(ƒ‘‚›]ÊÆú‚ó¡ÁI<,Ãçb,#õoêÍßÀjŠH¿ƒé˜öe‹5|'ìý~HôŽÃ?Þ@[ËÇDUµÀŸ gTX0«JŽ ê +hpHSYY¾Ì .·žŸ˜.‚„õ÷ +Áâ7@‹Ù¿Ã[0Oþ§§®ýŠ$æí‚àzHƒ ëwì³–ïzŧP–µñÀÓô„Éñ¿ïý!ÁQ¬¥–Ç‘VÃM£JüWsÏhÿIý#—£¹&‹ÆI)sþ‘Xîì3»xœ'€¶\v–òc8*vêy‘ߟ=- ØU·ˆRtUï:“ÔQYl…ëR¢Î˜†?¢Ÿ9‚DnÒ 7?X›¡;=ðצ4fÅP¥8ýïHÍé‰Ðš;µ¦ZÇ?Z ŧ$¥“¡Ís¿R'ƒú"ÐGó¹É¡Ç¾²³Ép‘÷²´Š–·0ñlD7ßnÇŸÓ•/oãeˆÕøåDw??Ä;rÝ>äæ&b«¡;EÏ|{š5r §5øÒ‰ê‡ÑPÖ‹MDI·i§;ɱó¦õwð:i§ÄB£¤büf %$+V_pÇ݈úD¶€í옼ݢ9OŽ +,™þ{eÆwaêTV ýæT0 øax¡¶gÝ÷™†âãz$k¥o…V…]Jµÿ6˜êâSÑ8Žô¶ùDzF§;‘F% +¾>VÌÔp2þ]¶é&_ÔäH=ÕÕ’ps~Ò¥˜Åƒ{‰ïG IÕëN—»wd+™À4~60NùþÁೆÇá…,ä}±´U°Ô®xXû3RÊ|¦ÄÄ)®…}hT¬*Ê{^3·긚½³ÂMü!¶g †÷ œM{T¡ÊÓx>{-…ƒFq¢'7æÍ´$Š|€”«Ü¸g#Õ¥r_Ù¡b¾Ò'`·å$ìÖÃLa§£WO^~åéjŸ­³óêT𜵲ã3fx]›WWËæ´¹t»otõ\fNÊ‹'€r ÆD÷wB寄ôd‡lãz ÝU†¤²ÚÎ~¬>ڻΊ>‚¬_úº3 SבÀzË0W—âóLo…Ëûãò÷@ž1µXY›ÑŸ¡Ðvܾ׷ÊiG¹ý•Î%8“Œ£OAB£¶»Ps†u|ì¦Pqu--ÝöÇ<Ðe‹ë{L¡»åŠh& ÝÞÈXróæÏØìòd(æ%Å--M]ÊØoòaÚùß:³Í•­GM®Á¤ ².­L­}§þÌ+$tÓMü|X,üD¹ZIuT¨erZ£g@_>NˆQŽ|!zÞµ¥zxd© ²lp9ÕBcgÕ¶ñ£‘ZkèûLî;=Õ ã\F©¤“@'{ `FRùJÀÚ VRn_L¿ñÍÑi1ˆ V{2jº£ÚùV/çˆ›ç´ “)Xâår³Ü¥;sø6ˆ`§\dtÒ¢ÖضšÞwŒ¶}Æ8̶ÕÚgâ9WîQ}·{éÚä;ˆ…ê_'ù®ÿ~ŽVଟWÉuS™Ÿc+ïH[EF û㞟u‰;sê<°,ê½½±,K$dN’ÚI :ýõtGËçpGÄùÑbBáöó¬N> œPABgnED(ü°‡Êó[ä¯bÿòš\• ýØþŠ-ÓÛ2ÐXlÙ3¡fËw™Ï‡+›¡â”bA@s7Í)Æ'íoñ \¶M†bV¡ßGÜ»ZÜc¥‘ßÙÙÞš V =u;ß_ºG “½É#¨¦F¸•t6“â¾´@¡.5Ô‹vH6欵Úëñ™IóOšÐgç» Ðp1öq¨©ûþ6 ~š?8‰Ä÷‰Öð›žÞći ]²Kƒú3‡Ç3QÇU +i“ +àžž/žQIRâ凶; ƺó‚l[÷ß´†LKKa~€õMëMï<Û³ò5|ûk×ÿ§mc£ßí•Kë¤sŒF~z9rcÇ°ÎÑ~1T®6íàætoQbYËã2ò°D&ù0è&Vo•â£zÃñb©*%0ˆLÆ>`6Cv³q2ân³9/A23¤ÁÄÓb¥ÈK@¼;b°ÿG4mk¿°Œ¨Ý3Þ4ZDÌÕ}iùêIÀÑ oÕ°UÉ÷®yŒöy#™ +̸êÉņq|P$Ò}©¼\®OﺭÌu0üÌ-ƒ~Üøý|õ&iN 2fƒb ÖÆëÔÕIó,´Ê|Í%Ìݯ 8ÔÞÔibjˆàcÊÖGbC~å5ÕIw=Œœ`BcLŒÙäÁn NÆÜ`î*v-e2¶w0Öî¯eâ£ÎÍk‡r²Ï}û‡b˜XTfý¦“-x.0+En‚?+µÅûàBàÒû•‹ ²lX×ï7ÈBp4sˆ‰5 ƒÁ’¢6±N4mèI˜`ĹlºiÉî±éTÇÏxëý•ÔǶ…˜íMÅPEzÐœ€ŸUžþw9`Ørmº^¹û-j:êéLægQ*%Røšš~¾†VtÀ<ßy÷‚ż–íU„ÌeÞ0Í~ìÂGóÇ3,¹Àë…ì¢9ÚßÆÓ`65eÅëv/‡“Ïá‘"˜]î áÀæR´ëƒÀ¶P¼à÷Ó|Íç;a×=Ó©Ò.:¦ÉSM­ÿð%BRüÞM~˜³©7äÛ!Lwgô¡ýAàRÞÓúQ¯[å„h0í;E+yû¡`Ç´û{¥¿|)í%…˜!´5¿æ5%„„Ò¼œi„ Kéœþwó3Iw ;ÃÐdµãâF%1!–¬ 9Ãû]ýWÈ +¥SCÝ)(ee¡IØ-cÛ ;µ‹6Q¼±èù¦£y,}J?Šˆë½øf ä+¦ÈKªBÁ_°rÕ5ßQ–¾K³eK¹gÊ>•ºp'b5ÀpMµ6fhÕ–'íÜ…- ÁQ°3zÃpÕµ DèÓiíDGMaĸ‹U'yæÏq×›d-•ÆT4ñÐÒã5‘Pc‡ñ '˜‘yРƒf#cÜõ•TtÌ~Kü' &a£¤§Þ|óèð¤èªeFæÊc>ç·UfQZŽÏ’p÷ÜÍ›UˆÎ®Ð:5§9PB Éôà‰Žz°-BÔZ–a7Ì]ê’2WÊ–‡<ŒÏIsk +Òÿ/µ1ÕP€"Ѳ|FÚhÃ/V‰ D&i$…úm5€Ñç!ìÓÖ?÷ü{û“ +Ë[ø }9< ”åç°c¬Âçȳω²º›gÉÓœÌëìÑ’A-\l¯­Võ¢wq/vž¦VµÏÅ°fhÂdf^ã*¢¢èFüóE®i búÝEuhV|ˆ¥O%±7ä• ?€ÚGÕY*õ + D!Ežæè´,¡A_3ÍžÔÊq&ö4KÎ`îæðÛi¢¾LœŸYsI†äŽÉs%_û lâ_s¸êepAÖ&ï =Í$Î_jÍq3|]–àw&Ö·b’„eMȬÓ>Û÷1¡!ý2áÒö<Œ$ë§ÌÇ<&M‹Â21’Ddêr8µ±ßc„bô´4N¾Å÷­ì,ŠtôîŽÏ k € dÓk8= |®û¨RiDHV[9¾ß#À×/¦JØ,“¥î¾ø|E"bDO‰¡©šFxl^èQ4Dg¹®Ëú ‘–q.ëhC/7í‰ÿU=é,TÞô&‡‘Ü’òû€_H¤ZJD¹uÑF8hºl—Ê ”.¢ó»‰Ûj’»Õ&­Ú´±øø¾_¹ù CÌ8yE+§-<ËK%·ŽXÀV»gHº_tÞõÕÅi>~B G¬ÎˆýB8Eh- ÜXoxµÉ)EÿäúŸ^ æ>0Õ°û„`qÓ-BkvÉ¥ß1ZHÛTëØÄyæ©‘×í0:wŒO-0îSˆ _ø…¬-]’V)“Ås͸(y–4RêÎ*óŠ") o %T.F'¥…,‹’Ò·(–¤gîÇIiÔ~ä—Œ¡Û@‹¡/GÎ6¶/Q¼ƒÖ qL¶·A,ù4òŸü=:‰{h‰¥ò^üšÍQÚ¾n`Ú váB5½' XcY=ƒ@{iù'¡­€•O×"¸‰‹îËÙDÐ…ƒïȸù¯×£]©D2©­…«`Ž'JD=er.ýËH/‚¢aªahî펌^ËÙ5ìú…É5ñ'Q!™ì%™ôBûO}6 Ï<‡‹eê¨(CnT©{Ä_(˜œÁ3g_{G‚lãGÿAÄ•Ëcã<¹ ¸fÊ`å_ I{·Tšh/gH¡ðõƼ Î¦ÞÁMR!î'â:†ìUËØ 7þ]t=hlsj€g yur0Ψv^äÎ÷wŽãyÞ»¶÷†ô•×c8×x)u¿u;W_a‰Z^ƒü„<µ£êÖÙ +Œ°w¸Ìb¿ L¢CŸ€GpÁVvŒöÐë4âÒ»šÓ‹Ñ!·˜€A£ðʱgŠ.Á+jkÔðÁ²D©uŸ«VTur±ÞÖé™Þb¾í7›+ù>ªûïA+Š´>©}‰ÕVÙÖüŸ$+ìÛ™Sò«ø‹y\óMw‡L´——_\Õ«Á—‡{91˜2c£†§n`C/^6|…©Qƒ5a_ä÷Úë¡4Åj¿¤É.KKm? ­û˜‹ÃfK¿ì{ÿ;r›é‹€ìmÁBsœY}àré¬*, +f½"(îˆþmÖ%Ç?\É‚§¦OºJÅÆ©Ä{¿ +p[Þþž¶L‘Úù$(NŽalñ¨5¶¹¿â¨dÇTI&¨‰ug6ÛPO¶QÉ|¬¤? è_Ç…©n³øBUb8-EœÛÊÈ¥"ÃÅÄñÁîÌ„‰$'yüå¼").jJ:²Oè­d¥g…Dd³í¼¿fvÎu$µÝÖ-.1:‡pzA¦\E@Éʾ€ÖxÔ>p%;À~Ý@ÑÓDî<ڇćméÿ'nk'×ci¾p±†å+Ú7fÌà¥åÑ𵀂"¸xäþ2ë(É~ó.í™ÖEBƒf˜èÀg3%}Ç%pòæâÿNƒ`?Õõ$½u|*¥qMùbð'K¢Î1d<³€ç¶èØÏvê3¹oú«W 3TCÎÜB8—O§wj,LÁ^ðßË&(H‘L•5M®­5@±åŸl±“®ŽBCš¨Ÿ\›vã?7?8ÿtÕ^™kéD.cîŽêº£‘M åàçu[˜ Ý’Àþ~•ð{GÒÖzVf±A2Xˆ†"Ow»‚“èèRi t tÒrÌRÍ‹­Ê~æ’ÿ‰‰ÏYò­Í·yû˜ð¸F<áöH¾Â‰Æ™;¿–µöñtyƒš´-{GýÅ^xˆ ¾'ZŸßpw“O| +§Á@ÒÂdîˆ1Ÿ ŠÆ¡[÷¿{/¤ý[¸Ãº ‰îH=‹o&J÷ §?Ž,}Óv†õ†£€4Hïá:’¢0]Ipÿ=‡Ȧ࿠»BT¨¦©RÀ Ý.–Š+.-q™»‡³‹Qü8Òµ(z*ÈŸ¶r…ó»ˆwýža¦£¢–~ñª¯â6’%1Ñ«{ûŽC›îÖ0ŠPŸà‰*ˆ·=‚ûÇÄÿ‘;‡%0 I»ìT‹ÚQ<ïá¡»×b þªº9à‚اýlcßÔÏ<¢X}52gíLÊ=„øá÷²iûf^ðgNæLOZ¢Þï=zqðBéEÖ©oËÄ"ÐAÁ¢#^®s† Y]NC” ¦æË@?W‡s£zÒ&¼§O'ÃWò™îÓÙRˆμ}ËÖõ‡Rü@{ò-;2!n–Y¤³Ñ?’LööeÔßî-µy÷J“{/¦ä +¼„0ü$+>¹S)ˆŽ\È/ôƒNõÅéŸ*…9%÷ê’ÊÛ¹D9oŸœp:ÚøÏ+ +u9ÁABßë!3ïä箧E±À½/':x:\M’wQÔ"I•}KÙ¢o²šé¶Öh] 2ÒeŸÎ¢«}µ­˜˜æjÕbÑ2Bôw,Y¶è ìZ(86%VQë륩+Cå…ú‚¹ÀeX,Ä°­ôYùƒ“(FFMúAsYªÀš¤_“ä\´h(rnýOeã5Å€=8$õýŸC9 +Tàgd-;”M76Xá!<2éRþˆI´Y‰*&\úGÿÏf]Œž>dBPÚBòF( v-“¿!·ï(6R_³çaÁÊò…p­“y±øµÀ¨G~Gˆ;ûÏiêáÙ¶KÊç6»b`–dÛ¾àBSz Fžx—ºÊ÷Ãñ,dÅ/qLÏNDšêvÜK 8­—«Q,¯4šîHˆ2ÓF]ev䈄æ·ÍÖ±C]4í…~õï#!|ÝÐË‹ø®Z'ÑöH¿CmM¸BžXšöçA5 uüM}ÁͪÚY»ˆÕÃÐÜ’2:»ø›æ 8ͤ¾0÷»]ê´A]uÌy<:ä}iJ ˜Oªð@b©ÖXa´£gßrDøeóQAÓt¹*à;½H“/˜¬Öèègaâ¹c`ø¬ƒUÄzÒ³½B6è95 +¿Ã]Sw>¢u"ð* ¬’Rú.éËüpξWÚë@@OoڡЋè¥H­g¦h¯Õë +`>ø|ž«ÚžÚþ¥e¿ ]}ûÐZº@9S§²ïyJªs÷”3¥aÏŽÕ5SB·•qÉT /ddÛƒp‡aÜW ¼=¹o0Xâ9 ÜY扗4ÂÚÿü¼ˆ+/q¶1:ðé´#éÕ<.Œpxâe4wŠ‹!±~¯'PðZh7=gÍ-ä±±sÆ‘‰qÇ¿#É Û¾Åaí8‰ +“ßqé× ¥ktØdÀ›2·=ÕkëíD±JŒ¦Î­Qkž¼BX8§Šù^vñBâÕA«CŸS¯»ÖøÇÁ:Ù~Â%ÑaÑ’ëRM1!¸½vøg•+à:ñÃνIA=£._kÚ†)ÒÿZ^hE¿.‚è\ЦJÖ5 +aD§æz…ƒ#ζaêßÍC¿!A#Os‚Eï”3<Øêáx™qØèêíUÁ% šû9(˜T¡Jž¬Maý™3Oµmb*·-·Ú0–5 ¨!ìçµÄ,™ÕùØ I—ý"ÅoÏj¹Q{@‹”ЉpðßÀ÷Ï•E#*SMœT¶5œñ¯¼)ä“ZÍ*BYž+Ù– 4Û¥ =ÒC/ë7+Õ…o:'%4îΖ5ùÖci PµU7Ž1Jø]àìBe?ù˜K®‡…l,Í͇ÓÝ p'û,¡=²&/4Þ‡3Ù@¥zi1W ää;AcJhèžE«ëQ„EwõŽ(ï-»õ @T(UÒ-!» ¿4r¸¥±\×Ù÷æÕÿ¸}ª ×%×ñS…°Ú´q¬Cæ´°zð ëó<Ÿc™Œ“É% ªÉÔÉ:¤é¶†NÚïb:јdéáÞ+hñ|h”|Å~w¯o˜ìÿk´h²ýo1Ù¸]!{<˜o `Úðäù’”Ërèo$¤›Ô4¯â +]x¬£Á–+ÅåmþvQˆd&Oêý•”ÒˆTu[æñxÿ¾@d rµÌ@Q7¤ê6ÝqÝöƒ%¨æ÷0/iúÂ)=÷µ±#«ÎëÃålô„“ãY+\úUXˆà)a¶Ý…ì —Ò)¤6[*Å-‚¢ï*qƒÿÖ|áø¢d"—ýöÔ¸W2 cµóÕøNùc|bYD¾gœ£åVëÑ™Ê/D2c<ÃÝW¼ª8‹Á¤ùëoOe“¸KN-ð‚ír›ÝÀ5ÍÔ‘Ò'ÿ9ruÚFËÍF/‰~­Ø£/ö›×ls")t†Þ[h¯[@š@ó¹§ün•)k»*±¤q}½¢!? ¬·ÖÅ =¦/´P5h9”°»…‹Ô4ØÕ—T+\/O§^iˆ~e­¢¯ØƬã3º!è`#Žð,V7ZCDKQL²÷{äºùÈ.áô9Y½YÍEëSw B?`î»ÞûG» üÝ“ëâô·Åp/)4ÆøêgMG%N‘ê„××øs¾p :úÁ„œ^8 +2&¢­‰€ñe‚ÁŒ0‡všý6/!x?1ÇU#pcÌVLëxWf»‚n-Õø5LíÖÝ> ê[ …¢åZQOVrë“çUBZlwSSuhx¬âOa¬Eèü´•Mƒ¸–ÎpnØk&¯ 3G¬:áâ!_‚ú@(›MÁó­Ã9;ˆŠ­(s~lZ³†â©Ú"ÐŒsymø˜sD*Õ03 +EOjmƶþº_eŸ}ž…lEöQ—ïÊYŸ¶qŸ~Ë R7ÖÙuP>?5U^‚ˆúK¯„%nßZˆg*kA‹Áø;)æm`ÿ=M8R(õD}½€„_Q§»`P±žcðâÒEºeYÚs!¾u¹ö¾æúàøcoë"/%™owJ/ÛÀ¥_z?N†S1Oæç£è<€ `G‡¸” o¥¢i0 5Âíl£Ï'UpÏí¸ïœáæ3ÀŠVÃÁ1 +Çc¢¦¿7’³"Õ>AÂjPB*„=àJæ©W”_·îhçÀý áÊTsº‰:[úîI/²UÛ¿¢°º+‡—¨c—ÓGÑÁÉÑ1âÎã$ì•öå`žÔ*æf”Iøë,{x.Qû–`jA£êà„í´!²ß°b‰Džq–>ÔDúŠdºâ“m·DÐ êºyG;cë"£Ÿn°¸œù_t#‘à&rYŽ³dºéÙ*÷¦YŽ+#€Š~;¼á©´1Ï‘ºó!üôÂŒ)êho'`[‡Y8ïü„çÀž¼*­×õ*þ•Å:/+‚pFÖ¢ù?âCà‚N`r(Bfý†™Ð3AvµI÷%wA}=‘ÃÛÒø˜&Øh +ãi;LȈ9_T·Û¦¦*qÕéØ“‰ô Êç^JÕÅB¯s|H¶dýh©‹À¥Vd²ï{ñ±Àüü‹áF§—'Ù×0Ñ.“vVú®ù-؇:²M²c¥Ïoaٮ輋8ÇîÔÖ/V6 0óm+ ’)Ž,ˆG'uÝYÕäC¢á‘ÕؓᶰÈ`•/n}©Å¹É…Ó8“uÓÁYj‘mqíã¿ð]l#žLÌ%ðê>¿xá2†(ƒŽG$¿|ùº, +]ZS‡ÑÊ%ìg)¹4w³sÝbv¼Œ¸ê€Zû»–×gûZ¤—û7åý¨-f›{ðt0;o.ÛÀßY„>*I3‹6¤—Ÿ²QÔ³yÊ>mÛÓAÅŠß–J9$ós}þ‹LÞøÃnúì¨leàt6P½•ò©F µîTýë£ +Õr¨#Ç‹+:Á‰‹]‰PÎ×À–|ÀOóâ§[¨+Ùlà}ûMùT÷¶¯^‹#§’D­ä´Ž;¼F?”3”®>ï)Æ”œ#ø…ºà$©¤ÿ¿†T; 嶊huXÓY5#t—÷Óx" ¦¤eúÝÐ ¤÷í Tõ¯ï¶è²wYüw§ñ»7ìHD«®e2©Ø¿S¿Xžu tß–³¨]eÇ9G^ÿ•[²#{Åûèùcïf+õ¿½žxº~'¿€“8FŒ³N[Yì¹êÁUv†­ÊÐÞ[.ÿ›Ú,¬œ”€äv¸§Oœè_Z©Õ$5!üaX)\)¬QóŽÄÓÒó8ï3s}Ã'Ühôþè–:P6û0|Ìk6YH\ í¡ºcðê ׊ÂåQ«Z2PlnñøD\Ô-4úŸ‘Ô>¦#“l¨B;|cÌ;”]v|3ýæ9ýVg9ŠàÕœ“yÎmŽ=-Ä"O16cøü&]¨gðàyg:kÁþУŒÃÝj¤IºE_ °dðk|È"xy¨vM6‡9nM‹$>stream +e*€à»3k+ +endstream endobj 887 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 888 0 obj<>stream +ù´ûÉÕý·™£ ¹rë› qEÿœHP6ÏÜô„üÐ#`G«µhÌQw?)–O˜ò¹™´êbèþOP<;ªU›C[zvÔ,T͹Ì4× +endstream endobj 889 0 obj<>stream +ï¬þS‡²°ÿ +endstream endobj 890 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 891 0 obj<>stream +¹«~ºþ#¦TÖÓî©¿! Â\¼4±½ ­R"äC·îÆíøØ(ƒjœÒ^LÄ›lÖ=Kú?ú™ÿI,¦ÝöôÔÔ\'±+4º„Ÿp/ +endstream endobj 892 0 obj<>stream + +5ŽL/®A +endstream endobj 893 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 894 0 obj<>stream +Î3<™Vº74–ÍFÞ›¼_%˜Å8‹©w‰.þ}¯·nSÎÞ+*È÷qþ!Â9ˆ>stream +‰W  ´‹ +endstream endobj 896 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 897 0 obj<>stream +!´ús +ñ£¶k^ÇMž›¡ÍÔ]Ÿfu¼óŠb%ø‰õ­qOïæ¶v¯+¤V”© %¾mò`ÓµØtx ¸ÐfvÐPqÎ_÷Ñ +endstream endobj 898 0 obj<>stream +'ŽLñxk( +endstream endobj 899 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 900 0 obj<>stream +C¦–?å•<PI·¥é—sfÍ`°K÷ŽÒ©h­KÃýn?ßô èü2kpâúCÙw£qe¾á.ú‹ùÓ‹âqƒ +þò×®–Ê +endstream endobj 901 0 obj<>stream +hççŸÕªûP +endstream endobj 902 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 903 0 obj<>stream +½ð=`‡ôÏ»²°pøÿAÍqD_§twb°y'LAkúñ ª&­ÛNâ¨KÌ%²fLh¬žÎÊg‡ŠHisUh/æ$–€^-<õô +endstream endobj 904 0 obj<>stream +(!Ñ•QyÌnV +endstream endobj 905 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 906 0 obj<>stream +wOÀò\ÑÌø4µ/t¤ý,Ó’Ï$Éd œ7„6”ãc¿¼¨¼< +·y¼2¬õ@ó ú€I§¢TrÊ‘›_Iå£}º£*¤çë’Ì` +endstream endobj 907 0 obj<>stream +<$ã‘/ý-@ +endstream endobj 908 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 909 0 obj<>stream +ö¼u4¼Qéý}"_Ê–œtŽ´+éÊÛÊOš]a­(SP·‚ +º øéÝ` –sùnâ0»ý*[É‘ÄF²©`³ ÿÔ*™¬åmp^= +endstream endobj 910 0 obj<>stream +†•)Ø| P¦ +endstream endobj 911 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 912 0 obj<>stream +øçì²I»#3¬5¦®™‘ ;ß¹Xºïf†æ–Ji/¹Ë,l+¤B,Þu’ÆhH{ZÒÃUkK`þ­Mvü^¨B)V`Ïe +endstream endobj 913 0 obj<>stream + +£Võ—€³ +endstream endobj 914 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 915 0 obj<>stream +ÅJïC²äLòke¯6)ŒiŸžÅëžúK*“=D5¼éõ<þÛ ,»„àäœÛè³…í¨¯V„»2×·×ú†‹þuw5ÞŸŸ1:,@ +endstream endobj 916 0 obj<>stream +àZòÉ( +endstream endobj 917 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 918 0 obj<>stream +7+A ª_žñ€‡^H¶"qçH f@Pí)HWöAO“•†Xè} ¢Ï•¢žjÆ’ð¡°®jédõÒTžX”?õ¢AöK•oÁ‚Xˆ +endstream endobj 919 0 obj<>stream +´ÝÂ6d¹: +endstream endobj 920 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 921 0 obj<>stream +CHŽ×zgÒW{ ´]!!í¶)R‡5VnÏÄ)0~ÇsŽr›V>ÿZe½CnF&jøSƃMá¿ãR0ÛדÄÞD£š–¶±q¦\ +endstream endobj 922 0 obj<> endobj 923 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 924 0 obj<>stream +ñŒ@•”ì& hƒ²µS•@~Û¤ˆg_E UÏÞº lÃL˜ê¹áþ€±—ìÚ‹çÝùÉ ¦F\XZdyv±<‘ä¿öµuÙeFŒˆX·{ÝKà Ç]Ü æãdã– Ö*ÿ+ ù1À(ß¹ «Ô¦8Dg]ÍŠ­dŠ€?Ó©<…gûEcã–J†åU¶Lleþ”¹C¾ÒåÁ$£ÈqÂ>ÑõßK·’Kª˜‰ZÌÿèJ]‰¡û<ô¼ï±ÎÒ3“ +_…ߦæÏ­ÏrúqsãG´iÉäêÔ± qB§7n +ê0<ª]¦*šm+ŽçåÔ9j*Lhä¼Ö#½ål8ÃlÚFyFöàê³Ê¹-!1ãæY¹8²6Ó µTM†,jLÕ6—}»v‹e{Wwó¯UÞ¦ªÌ­ä÷“ >è‚ëƒ{#c˜y,ª±ÇM´»™±à7AV§ÂâܻºzºCÕÜ•É2ô?í‚Z‹«ù…ö½ Mn¥4ÆU¡Û]¸éãßßVK=:OÑŸY´‘ôËšËÐs1Uâl›ô<¦4å)Poz,ÆýM7ÅŠ©kå+ÙöpÐAV[Æ蟶$t²¹¯–H&V'ÿr:‰×Bt=’¿Wˆ2³)o½~¢Ut‘Kwg vÚ„¬‘6·®‰1œ­žâX±à¶Ð·MŒ‘ø\ýq4§+?|ÂOÂØ´íwº`X_…˜†öïBJ7™§5C B;h¹‡:øL(#þ+]A™šBÒXõX‡Ç‰†™YÔ“SÐÜÅÁ©¿°´$ ªlÕ¹eÂX¯¸Ò—z«Ã’÷¢ï£ëR¸Ïï1éüô#Ú-µQtS mÂê[oJH›Í9{ᆢ…üRs¾%m£Ö_ÚR¬Aƒ–¹ó#:Åg~$ëx"øx °>3ñ´~¦×5ÚÌŸAÉ™ÂQ $d€Ü1 {l±^Ûì˜Ç†%ÖÓͪHr¾Q,½žfh »ˆ”†v¦^Î šö"À_•G.¾m]ñÅG9”°Ã«•)ŽQÁÏWlúK:1áz;ˆNÚŽæZîŠ_ü*[ýU¬¬×I´µUÃT‰¶Æ59Gc2qÑ~ ÆNæ[a¶ˆV- »ÿöEœbg{¥žmªSb `_¨ìä˜a#>£*èèèÇ$&¶”*óô"«Aség[Sqìÿê½®#4TnG€Ô–UÚÏÀR†tcÙ7Ë=Uy¤TºWÝㆉ‹‘Öq©¾êçŽÓ‡í NTšn*ê•ù‚Ù©­Vó´Î]ÓYäÛÑi-WÎ})/“ÎgÚ™ÑÖ›='ë0îŸ"‰¼²"lÄŽ.µúðÜ8éo*Ðût|ɬYëQ¾¤”½žûÙºSM=$¨z!ÛDÏ®ôÚÈ]¿LéÁ—¾Ø\¼mi?ëãŒÁçCQ5ÄàPžÚŽ\1Åߧ—‘°Œ5Ð8ðJ‘jRB÷w=Ž—Z-ÃáÊõ§°´.ËiÑ£öõQR µÉa«™hÖpƒpNmz¢*-¸¬htüG³Eçh¦9Õƒo Hx›·i1LÆ;*C;¤±åd©ßPœ ât‘0wr¡ ¼²£'‰^p8ZfK‹ŸíB*2â—@ˆß'œóT»=òïóG®¹¢òÑ‘êñ %™ì¸ +æÌGw˜é43D‹|Õ[®g–'¬rW_ƒmý~+‘ +¶_•‘/É¥I NØÀ_‡ =.¥ ÈÛlÖô7–$;mðH㪾Du´€ê÷´Q>ÉM’“d±+‹ôVW%S&¯R+ˆPÔ°s‹ ‘Jb™PÇh›ß9äuË…|Zw TK›ô7uíѪÕäBí™/0$‘~Ï2—êXIëÚýz½ŽI_+™åYR&êrÁß/Ï'4ƒéïb±"Éž-{Œè»‹©è^ÐÚÆè숱†€^„ÀÐ!±"¼îkŸæƒô‡æ;Ÿo›ÀúB‰$÷J(j*ÏefcgKl5+cñœg˜£î÷ý,“×C³«}f>ÜCÉ?O×» G(ÒÍ*¿•™ŠY‡’æe^IöD¥÷ŇÜMMjí·2hý< ð&  Z¬_Ú1óE•ÎÐò¶±6ŠVBå/N8å,®w†ŒäÛÐMsR’íY£6&³¤UtU›~`hÊnm¾Æ÷>å8ëulÀc@aØ:dŠ&Æ$¬#u3®PUX«W¡‹B¾<²È®¼Ý]Bu··ô²Rb5®„Ç–M´o2:(tõTƒ²Ëqg*2~»w¯k|5¦5w[€Bé a´IyyÕÙ¦ÅV }Ø™ ¡ +òž1U;á|®¬¿þ¤vòâvúêS#ÝÁú.Cù©šÿ¥½å’«'·P:Ö•ËWgîàpT=ñߣô¹â_$6Ä¥_JY›V¤ø$2å¦õ•ÇÁ÷½›6>¯ª•gÓÊp°E¾†µÓY4„Dæ\Õ(æú s’m)Å//s¹ÜŸ¥£ƒ<;›ît겎¦T¤ 5Á=#ž£ Ù›Ò¾Ô‡°l{ôE©¸G2òv1ÙXðP‰TªàHOûÃîmqV +œµ5x›hf•åcGq-V•£!A¯±ýá¿ŠH¬ÖÂOèñë:l«ÃŒ‘(iIN ¬ü˜i[{¢®6q¯iâg€MZ>—‰l’åÅï_"gt¥ÁhÍ_»ö» Ή˜9í›DÛË„óëgiŠå¥!xN®×“³oÉà |Ê-@Üý8½4C—z<<€ƒEÞòg^Û¨Jaì´Xç_0u£Œ?R특…ˆædl,ôÎmL~Ågᙨ¡ABXíÝÂÁª$À…pP:¢ÑöÓîyý^ä­8“Ž²5Á=/÷2Y¨eL|«$Ÿ“1+w·ú;žþ?UN^},‰ú°ÏêÌOv‚1v—ÈKà.w<@[¿®šÂaw§æ%¬4>‰>"å)@N¸- +íÊàåÚ¬?Õð¡Þ¡APlvHÚ£c ’Ž§I‚°Õª¿ÿ`®âðŒ‚«D„O dzéÜ‚ ’«=§ À¾VÅ.ÓDRï«yIô4ͼ\gg‚–ÏÕVÎ 2C´ÿ)¨iºî?0HòˆOè¢q°)eŒ?¸?¤øÓq¼¦ó¶+ï<#"xI~<æsÂÍ„Ó$ÿË7± HjÕíUÈ‹b¬Ý_žUÁo"MµÄJ¾øí`Ý™_ë‡×èx2óƒ‡'&õ°ˆÏ)xò’[“çô”•i±û#bé¨ðë.Ì ËîmEþtRMqë$~nÙ@ ¼óÑlkB‡ã­ +ÕË€o)}™4ƒwÓŽ8”î9z¥#&³ûµ@ñú=ö´:²\ÆLº3šqÆQܳþf¡Û¢;5„ý«jqu&w®Ý¯}j\ïý&:ìë:Lñ¥6Î`K&o½]Mê½oVÜu ™ƒ*ó÷"h×ο¦Œâ×"z2ü‹ñ-&ný‡Ü„§$«õ€÷‡>þDî˜$8’%7û”DtŸÅ«éÆ›4%†2šžE­¼"°ÙÏ“>­éCA•ËÒ›¦”Ä#LDúÄÿ &7\ËR¹D ŽáØ?´ME+Ga`ÉÝDÅCS&ÉšH K8Ég×ðJýI"µÑÇzcоibÑdÅZþw²–Ízt&ûêšø¶ù6{¾ çˆ²ƒEÁoÈïùmKR^ñIÉì÷Üßj‘éúžPò7 _ê¼×ëßÑ7¤0Lj·Ë[j¦ò|*Çå3Q®Ï>ÍCîzñeh0BÔÑÜ«î\eÂF‰}o)@¬ïç[n\Ä”ã6Àb­à÷ +CºmØÿå×(vU;£ŸÁßåQz ¹%˜&¬ tÊZ.@Ĭò'6¬ 1ô®v¬BE8 ™ŽI¥hWQPËÏ¡mÒ/£áØ#ã{>J¿7˜b‹¡ºÖó 8ÄÒ'G!øŒ¬£Á¥¹¨De3fqNohøÆnòØñ¢3/Aˆ9h)+R`y0«¥¾;&Œ£:¼ž‘%&…k±¨ ê…Rk—+=4¤J™üY«ñÛuÈÆ-·hõÌ:‘ˆ‡D¯6›ÙÙØzÚ±EøÂ.¸bâ.´¯ÜCÖæC`g˃›uÕ9ŸÝ¤ÚOà>jÅ}lô¹]"wìªÕ®nÇ)ûôÇ”ƒW °}o‘¿’Uµ.µ3öš¨ÁbFÚ‡=èbÚôVÍôO¢~ ”Œý„OÓ5ÌÑXÄï<„ñŒŸwµzåÏÅ gÒ¬#2Ø3ÙÅ\E㎡úÎóµ3Žý'ð4sBŒ;;6  LÑIAžÃ%Q&Ý ÝÅqÜ«xƈ±­&_zþFÞEÇþU»ó³böÅÙÍôVŸþ±mÛŸ:¯ ´QLǽ˜Þí‰àýÊáüFþߊ#»òþž?Ó=¨Bã4: ÝÎ|×ÿí™î–Îâ09ÝóÒœñ LƒðÛ:k5úç‹ü¿ÈšÐÛ{YT¡bo¨¹&-lDÆçTì”&@k$ÖlÜàøghú98'ˆß5~¬Û;Qžª”2Zx:¯Åeì[‡EèrØãW”ž¦[}¡¨µ3ügÞÞÂQØP`ßA+S³ë噵j¼²òlìäUXEÉ&ÉÂû̌Ǝc‚4D9OBu:1štùQU] + ˜*BGË_}¢Jò·Ïä¨Öº0„Óql÷.Ыïm þêšz˜·=ê…Qâüz1S^WœŠ"uŸ=ºd0eGÛBóŒ,e¨WLµa†|€k´/™èJCB‡§ÙXoâý¼r1~£ºp‹Q­7ÚSÏ6=n‘Áiç¦èx(.×ÖÇcó–äÎíßá^KçÒŒFêt+¾kÞ—“=|Å@RÀU™¦_7Ç1¡P?ëšÖ EÒjo¨ÚhNHºÃ9j¾ §tuŠˆŠ´;µWˆ0sk;g”GyÛ˜%iø¢£t‘»ƒqP%l,!…£Ò¬‚}çÄ|{ ÷*–n³\vw¬)"ç9tÖœˆç¸ÿç,G௪hønk$=æ=U‹´à~:%€¸ÿ¸E䊧õ813"à: “:UFª³‡Åô9„˜ÙÄ”¤Û+q‹÷\x¼/\ãfZlØÞ_"öJØ¢EFá‹ö öä€qÀeö«¨nº°—€º`æ• ó-^=-u<ßïÑÿ^¯hÁµYwú´¿ÀE×»äù6¨ƒe?f¯a‰2}qK–×Lœamzm×z‹"“Yt°Zgð¿&Ø!Î) ·Ã!ÉÍXwÄ õ/çšÔ£ˆ à3ç›=Ì"zí¼¢'oþdŸX§Õ a³ßÙ¬L7t8(•ÊñÉw',ͳRŠûàÙ»³¯qœˆuÆŠ¤ýÇ>Jªl©„K–5QýÓ32wq%E’:@ß©‘8V¾T:¥ÁRnáð›TA º”$iw ÷îŒ(Š¹šùÉ`.èø};ó·§EôŒ¦ “3ÌáL P$nǃäÑÓȳ=˜TnO)ˤa_k0fq§Û µð&(hÒùU§j Ŭ$ImÊuºÙqœ±)H“ºo„í`fÎe¿H˜èˆ%Q̈ÑßÛÞPÄ7úZ;ZÏÿA 7›Ï‹2…óÇH$»™`‡×|ý®¸ZQŒQÌÀq¥}Ö)¹¶tØÊOH—ñNö/Æã§åÚ|d[Sœbaãx{/Ôè028N°þp>RöZ%þ´©ôõµü`ЃqqjXE1+;o(¢ñÈ£RÅ4ÿ|‡ ÷_­ tç]\Ëü TáÃk…"Âd›ø­°hˆ^ë! z;‘­4ÄÙý÷2- ^<ÿBˆèòý#Â\FÁäžî×ùÕ:©ˆeäfT‹äæ’l¤/¢#qD´ò­G’‹¢“Š,©Øo¬73­9XMz¾F›¡|”l¤+ç þEÙ§î" ¹È‰±­ E}E5Ï ŸÜ@ˆ¿_®µ(ι¹ ûà=t¼%¾{* õü×¢)1ttX6NïB‡rö¨Õ@¯FÝ‚ø‰Ð¤w)•Àìv jhÿŒðÀ¡çº[[B5âSœ °Ø2á& u ÓÆO›ÊÄUx¢víŽÐOüUм¯°Ý)a_;PJÌA+àû^?t¦dö‹’Dñ±!Å~jÜ*dLç"±=‘‰<ëÀ»„ þ±´=‡èóÄZm‰{‰ò»Ô,Ô.a_PüŠ¬õv®[ŽêWÙ¶¡áƒÌδ­¯¥¯ò¶²fóü´`¼-$+H1ê|“Ð a¨yIJGÙN˜ñnOšÜ  „@ø¸WÕ»w´e‹Ž”œ¨¼UC–ò˜6ÔJ%7JD¦dÔ_ÕËæÌé¶óƒZ%iú]Î$¤Z,Öœ2é&hÇÜ4ù–&ž¡dë¬}" ²Æ°&{wãÁÿn9ùAüJË© Ú¹RP×iê˜lÂõ#&³úέpxÆѸðO4;ìe“iéi™°µiKôÂÏ §O† ÂÿØc,5 Nç¹Ñ¬{¦w\K „$”¡az9Rñº´¢€Xç™ÿyñ‡Àˆù|ã†Á|€I5ùa©R ´F–qÖAŸÛ% É…ød©p1½Q°}¼8xi²4fÖš2ôú0@\ró¾~àGÚ¶JSÆ—>CrÑÿ>º-EóÉ;[ÀŽ‰%þÃwveñÂíòc7˜5ËóA´·IÐî—38= ð•‚ àTqŒž8á~¿ƒ=Ê“-° +ÞéŸN.¶O­d£ŠÖ°¦å–@IOdH’g¹Å”£/i®A*/¤±)9W¿NȽ³Þ=¼÷ýRO„¥„ƒ³4g=Êòv.LÄ«äT²E©ç¢ª `èg„ÞŒYAIf¾&êê*+̈]à€.7]ÇtSÒ^Aã}œÂi”½¥>lfuÄãYtÖÙL?T0@³š¨ßr;š>níoÆÀ‰A Å,e1}Œ£+Î{¸aÔ!Å|Áìj½×PÆJ$Þó«‰ÀãÁ«3øÀðÇ‹bÄdès¢cS(\àý˧˜5})Vÿ—5CÛn)¡‡–í’fá«lwÅûê±ø.Å^ÞÖŒbÀ«÷A+ÊÏ£¼<…Mè>‡‹Špzñ“+rıXˆ¯ÃzaÇ›ø‘ë·Rq+ÉAMü²«¶•rŒ…”íƒYNèø((8ÕZ^u&üéï6#V~%°×‘›!ȤšMp§³ÒõÒL`W«8[ü{fãV ïlZZ6÷Ó¼Æàþ¯µ‚AàÜøÖíÅ4æ”ÉØ9Œr'W·EJY0çð™n¥X44¼ÈW.H—QèíªÓAÛ;§eê%!ZCQ옺uOû%QЪV¸•¼¶'ávkû]¸†WÄx`šê#ú3'#w)Þ.Úâ@rï%ihh½U©Ô¡5I®¸@%ÌhYÞ­àGÑòCKÒ‡z¡éogé¹ +TýF—¼Žr¥åûSËC"ÏM±¹·ƒ_~¬ßŽ·ô}°z%"V _ßëW”Ñûµ°¨H(4!€p‰ ”Q¢§•Ç³jˆÍö<»$H3üiÝæö›±£2éŽ}˜ ‰!&ä,çÂ;·ÐpIÀ ¾ô³lÁP3¯—›€1×PÏmÅ O82@醴.f|v WoRŒB´oÂásÈÆ’Ac¯)슳Ê\è\ÎR8% ƒÍ÷wýÿŽñ‚"q<¨û‹Œn¦ëò-öU·I¤^ðàÊ0÷0€UM1Ôº¶k=CR¥kþü¢pg5;]ÐE{c¶§UŽˆIìÓ/Œ#ÏÇ«jÒ%bfalJüít'Iê•|e°áMtÛpÅŒl œÇ'¥Êíjo2Á”ø(Tó¬\ñ«eâxH6¡÷‘Ô€±bµÿˆ°'4zA+…HßøçÄ ³ñã£öÄŽÎ`g)2ù!©%–3 ÅÒ¡b¥¿îZ"FW—ÆPX+Ôœ¥í *08†Éƒc>ôlø¸ÚR3"ÝÆ Þ”Êiµ +ÖK¨k‚n#ÿ ð·ñáÕüªå§;y˜kñ*&c€GÚÝ.3ù5å¾Âmv÷…Ǥq «c®ËÒÒ£Ï'E·ªÐí¶zpåf2‡©®ýŽÀªh(û>stream +§MEYö‰¬ý +endstream endobj 926 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 927 0 obj<>stream +7µ—ùêí4<Ñæ1ŽÕÐhDƒ¤ò&q³Ô5D}Ý»lsð È’-¥ éèÏžh@Œs̺×~"e$ot¼$‡@œÕÕñÇ +endstream endobj 928 0 obj<>stream +‚«‰ÖKÏ +endstream endobj 929 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 930 0 obj<>stream +@Å=ò”zÛ£oºÿ^ô›®™Öf%LÞBvèFm1€qþHû»ëÌÆ3:x;#Véx³áöé°ä(B5Oʼnb¢ ©©2¸”Þ +endstream endobj 931 0 obj<> endobj 932 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 933 0 obj<>stream +¨3õá–Â{Oœò7tZŒ¾3¯Û•+u³jCG¥U*ºÛØkóàG*~¹ +[lÚS¼Žµ0Aù.Úàzƒ'ah5GÚwWÜef¬×ö/’E…¾ž€Ÿ„ç~½î"²í›â^±˜2™ŽË‹M¿ý¦•BQöùÍ$–C§-™·' 'íHÕ ‰¾šŽai§dåi3ó,CU *˜2C4Ï +ÔŠxàÿÝ+(½zçåèã«žóTß*„) ÔÖsdo èšw¤J¼W2íúÔ­)Cm·,4¾(æ³#=szHx{oÍ|ô5üŸjGÇL´±E¨¨¨ …È, ùš^ø€³WŽ¦UÔòxcÔ¼Œ‰½úrŒ*s;–BTc`0i¨‚~r–Çë°;Ã8ÊâOÞôhœÚé-(ð]2KwÛ¦¦­z6HÍæQPEi4Õdò…%âió¿ú¨v=%K²¡‚ä™û·I"€fÄáw´'_Ñéì´ @"kt°eÁ†ýK”$ØHÕ¢ƒ¾­UÔÕ=é/««ÏhYÍ4môpþÐT¡¨Š+mO#2kïاÆ!Üt8 QúÙ°¡¸¬u\·…Fý@ä?7¯³ÊæÊŸÁÄ×H7Õ?ÅÔ½ÑyÈ:£G1®ð1ÎÌì’tÅŽ‚é'·÷r+Õ·1]q•Baξ$Dç­Ê^Ùw ée"á¾+™‘øæ=l´F6y=QôScš™#ðkRIÈ슜I) †|ˆEø?Eã žx =ÑVÍGžhX¾K'>ܶð8L?×ïfêD+5:~ZÌ÷¸Ë¼tŠ=P!¤åÔZIr'V–«@OÌ‘´œ®;+ª¨<ºuÛÞ1nêPÖêi\ùÎÜáèGå½¹p“)¢5ˆ«²H[$%àÊq5òÌD8©}&™ë{4vüï›<:Éɬ_îºÛ(°S ßöF3ÁϽ¢7 bMBµs¸Šrh[ÒÆãˆWkŒÖ³ß³Úl«KÉ”íf"CK¬°T(U^>nÁ/3dr;¿ýoå·ðd/ž‰èYoûØ(¤›å +'d:£ö…ãï·^la—ˆæf©‰šÙ%à~ŸëkdlåÈg4?•8v°~t¹Y‚‹Äkâucÿ¼¡<û «|øa5UœN“ûnÀÕ9wèÌÚœ}•Žc.ciâaÛJxøÜÚ +¦j,h€Ñ¯«'Ú‚³Ï> £‡§½’Ѩ§Ç®è>uØW3¶·ã‚ñ /Dç[â"¤Q¡,TË5Gö¨2.a‚kR²Ûã Ó ¬÷ù“¢Ú-Øãé.XŒÂiFÃ4DK’"Ò½iZ·SÕJ^oÚ]Ôé%Z@‰…BTpÇÀtà)Óûð[п¸Öe©3ü?ár»~âEU_/™ãY­,"¨4nH­­N„âノÈ@SüiB†‚nÚæc k×"é5ñåäñLÇ;~C ãu‹åGÀ©iW§Ë¤A”ÚKÌLP7K$;Y‹²®«8I´Ÿ« É©OAßùAVY˜'Òª1Œm³»ô“ÄSe>FÂ,ýs(»"½¡ÈÒPF/¥`EHå€PðR+¹Ðr'Sà&;^Mß^RÚ€ #-ψêsýÿ‘,~‘Ímf]_„Zv(’ߤ#w%¡„ñÕ´ÈqEþSk3±‘ ÌoÉNä§ÝKêl®úÐ'IÒòù5#oC.ð$ü¶½»–8çdÈi÷ÃnÐUšlDÂ^$·á§H`&ì²üAL#`¬+ÚTí‚2Èxƒ(l¡ÕêóJŸ¶[+¤§©'±ÃÌzIC¡4.ùèLþt›p/PÖóþýæ-žojÞ`ó}Û;yó8T 8¼Ë*èðÅãø4*j¤üºµÀüc†bØHi¾6öÍUCèö"‹BJòpõÚ‡×Hãg #?Ï4¼.…an÷ʹT´ÉŽµOú’Þ¡lPì~Ïm-°V5Å(ÿþ†©hXœ¦„–[çðY–UõÙ L§šË•Œ½ nìn{ÄÏé δq±à±©[›Ç{Q#njÓÿ,ðC1žåñáZ­µÑL¾'Ñ- Ÿ,p/,­^©TdO3z`_Ïù®¢~¸ÛDÙ™Û©+凌Ž8.eNšÀb†×˜ß€Ú=¨j;`)P®„9Ø&Ñu¦Um‰)AÄY–êØÆÅtŽÇrè³1¿à“§hNÌ>Ëæ1<¤bÍT†mxJ°èTZçé^“ ²ÌŠz‘;“þÉYe.oBŽµ© SâÍw/rÁÓ6dÇf¼S?%2ê1ôHçˆEZ´žvƒ¸ˆ‚{ÞÕø"ØNúŽy0€;€Q‚Œ(‚k—IäèÏ>Ä9Ò< ãegØ "cS°Ö‹œ~çø¯sÏG¿Dâu‹ +#¼ý ¿"’óüS jQ2ÅÝÊsþ{¥´š+ö([ã©ÅAë…çÒa'Í‘ ”L„Qͧ½AoÑ`‚¦îz/6÷IŠÃ[Nkl‡¥â{jâÜ°§~ê%â5•:¶«ã­A…|c:6ѧªÙøàªÚ ž* ¡ xHâ}eÈ^,€þ“Ôê‘Ödœàïb¬zô];€L‰“WÿŽ´®¥®¹d·öߤge¶SI5ÃzÝq¾I@ÑõùÓ¤—s´«'0šÃ':U¶¢FÿP›¬ ip ?>4ø›ü52С.”GÉà þ5“NŸVù!i|oT¾ ÔP¾5XXJx3DÑ·óÙ×`Ã˵$ CxûåÅ"w Ì,\2Óâ¬E4?#g;‰H÷·vëðÓ¶ STã ïƒùMølA(úx­êQª´©÷ û=öksnCŒàQÔîG-]vK‹ÚÒe ô÷`\eâ—UÝ míï^£¡²xÑ”Æ äëŠÄ–¨Âq´*“.1ú„Dž·Îs„D‘=íqôWþ1é%„]aû¾$‰–›Ó³º—Àh–³HbïâZH[k¥VzJ=¿( M†QþRâŽïõ.>yJh¸Ts­ïÞ#ÀyJµÖF•³¦¶ÃqŸTcÉ 8Y—¤¡y,ítõæÀ!K™C¹_ù˜rµ…é.l4‘g6Ò`Mv#bƒjÚje-ƒ9»pò†¨­ÿRT§ÊL@õ&¹ð›ûSU¼±"Óú£Ã˜¢Ú³ÚfØ!3i3è âôt ªìBfÀd¹ü`ŒÒ)«÷’,ýJ¿쟗¸«ÛWv öAÅÄÍÇÁ€«^d&ÊoÈUâ/e8Ÿ÷m+à¦-E°?a¨ûj€ù¼Øèî_ª¤cÝl0€Ÿ#™Ž€$‘ㆡw͆6¢è¬üPYL~¢"YRcÂHí§I"Å•öJ”ÝúuöÎÒ<µN[h8 5¾[guèÞ +,\Q1/×Fgƒ£‡I}ªxÜÆݹ÷JF4qB™Ãæ5PŸÉý¨aªHÇ/øm¹"~ÿåé†îQŽ|Ÿj~7m»?Œþ{t‚‡K mZé^°¹®¶ž-À…çÂç±Wây}û嘖õ…'‘ ð·9.€K´}ñ¾>•z€÷o* Q6Æ¡r3*› ™HФÝbÙ2ƒºî­xGUl_ç¦ô‰5Sº{i~hXy±‹ˆX- ׋¦³ èǵ}èÔ²t›P[%lN¹iÃÎí)*’¢Æ…Ú¬!jã3ÁI.„‚µ8‚`5Œ°Ãc-õ­ìiÜ×/CRÙt(ëøõÙ¾ñ‘r ;%ƒ.“X;•Ñ)Ë=øþ(b +endstream endobj 934 0 obj<> endobj 935 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 936 0 obj<>stream +ñ6õ˜4Z ;•£¾Ú7ìð«ÿ/«×C!^‡ßÊîp‚ÜU<„r´Ð!ù˜!¯w˜‚üXª"ñ2}ÆMÂV(àvÏu©•i1 ‘–AŽ÷`émÚ +5ª«s÷Å éUU¹ˆ4ÚaBÉ: Mä† k€NK§*m40úz‚NÓ®ð)ñ´0,‘®müàì?²5xÂ4®—Ë?Xo¾,Pó°pXpU׶’×í˜ÌGæÍŸ[Kzpàƒ<¨~½_k$‚¨à™Ÿá Ã;ö„šÆ݇qh”pý$ $•é>˜õÓÁZÛµè¿V©ßØ›qȧ7òì0`ûêþÞ€‹M*¾pN¤Ï‘¼ ‰²£&Kœc¨ïøŒXÒÁìÒ™÷Ùð7¾.ij­Ÿ$“Ÿ(¦Z5gœ^š/ój¤Ùe¼R&àêPÊä_ÚdÑÙ¬ës“‚Õ ½gªYGégRèÈ8¿ÛªùÉ¢&¢'Á"jÖHˆÌiX6ÍèF¦¼xv8„äž&qÛÃÀŠ³cü8ª”¦ª½û·RGìíê3(8h¦rPÁh`UùÓ}`¦Ë߶6ðB‹4Eûuè4U%6åsmÙª*Èú¯»ùÕîr˜^÷¯”ÍpŽòblÁÚ‰{ŒÉêX0q!TQÖ†?-–ÏtãÝöÉ–ï“à¦ðIw½0U¯T«A4}l1Ku{)ËÒª¼WH~Aˆì³–ùpPÄxí)v¶P1mf›%ØVÕI ÍÜv|±s¹e¼yÆ­…<áHrÏhÔ@+âx}qc,ÚŽe÷ÛL‘X#æ,)z‡ I2ºŸc ˜Ìzò ±8‡¬ç +endstream endobj 937 0 obj<> endobj 938 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 939 0 obj<>stream +vfsèÏ»‹kc?²ã´URþ±#q?+¢ît™Q§f_õB4B‰O‚£ô†Mæ %&Ã÷zå'Á¢ÐcÁf™Æ‚4'³h<]SÏ $›Òas­á1ÂW(úç|I\)Òdð@(ò%CuÅ©¦?¡¢Ð¦(¬kC½Ñ‚Àözä×æ¹ôü¢Í¾A£µÇž©ŸŒþÎ'œ$P'ž‰’¡¤‚î`öó^UÊ·|ˆ<òsWAá7µÞ•;ÁEÞœ õ‘âfeËqŒx µ>ˆØ«t§;f#lD]¦p7=8L—ml‹'6häàÁ¯àxG5hølìÝ<â¾ÏÅ[Z7Ù[ÐV4Ò`TÙTm‹zøi«S Õïô +¨ýâ2 Çox7™‘Œ9 j÷Ù<&Ó&Z)ôú½åWs'º—…`âñC3ÐYBÃüù•÷Þ‡(kê¬Ed¤™”%´Y([&õ<1è¬'8™a‚½Ï¸Ü)'Õ&ä¸Û­ò§û©7Pêö»7 &DÕ¼Ù zع|`þدgšäªA T"ˆ¤ yúÕÆ]ôÍ¿z%w¨t&U£/)µ’³__…"¯¼UÐß =3¡E‹†Ú“JÙ‰zA”G"¿^¹‡ƒ«‰¹ýˆÏ‹î¸¶<·óH~œ¥‡Þ°/Q¥lˆV7€q +á XÝ[˜ÉwþŠÍÔ'*æ€=å«óEËe–þ^¢#ØÐõMÕ™Ò’ä [ßÅôó¯¿ÂßÛüº°£©žñ¦ï½íÕÂHRà +U ª+I·Oåb‹ªîºÛ%™øe‘ªi€H:\ãëéíaˆÄʈò*.­bÇè~Šœ ð0O˜y#ˆ¯ÄûÉÛÒ”G"¼ÂJA\m“/û”y€ØXp§¹6”hˆT^Ã>X˜Ô5ø;ãPŒ.@rJC©ìâÓi”=ÐU¨_Y¥+ˆIßc^§Õ›–ÿØ£p,À4TµÎà +ÕªäCfVÆ4F?eŽ…¼ï>H63nyn½I¨ad±*>¾LYœ'6"jŽœ|ìÌÒ +ó¶–ű0j¿ Âã •¨Þiz­3×Ç+‡4)YâcžäêÔ]_ê1f6®àt ++±W+Õ,ÒЧ¯ºä¾cˆ›£³ªŒgÑâÜZˆ‰xé<§ŒŠÂÌGqßÅ,ÌÛ%@üù¼…"”¶1€‰"¾(,áÚìg€­6Ú²¹l;¶×øt¢Íéqò½~Ãxšt¯yÌ×:ü„¿×¹†*±®:¶c ¾f$øüÄ 3p)°’˜ªûŠÖ™ ß ÁÄßò¹™fDfãº^Küœ„„[¸å¶L¨ÏWGx¬Í +endstream endobj 940 0 obj<> endobj 941 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 942 0 obj<>stream +p—bÛ²K‚`a±L $ƒìôæKç²ÑÉSŒ]%¼ýeÅC·1êÔ¿ŠÎ'tƒ½¼¦ÑàdÂϺ]ÅIä({žè(Hþ„7ª.ÈtÞŽøL}ç2§ÉI uµW¡‹a·¥ïÁÛ[¸ÐU²"ž$ïX$®¼Vš<‹hû|{œ}w³rÅŽJ?ós«ÜÖP˜!,Dívv/ϸ{ôn³¤ Ý‚nÙol ·ƒ=ûCHçÆCÒÔ1°Õ+ôºn“6çÕt•Û[JúY­ý\Ù™šÇ^«sDóP÷\,U‡j &5Oy;æ/¼W "´|ë)Y·a!·dÞ8Ê4Ÿ –Ü$¦M~…Zõ> ÿ‘;˜#‹MõP'ZÙÜå+O…1_\¥íÁãÚÙ–¢-qšó—þZ›PEºÈ8UG©dj¼7wýváKo 3=4ñhfµ…Ð?^S€—„È‚{c^X:?hZ-EGã²LÌF_Û¯Ÿ}’¼I_â<…gö ±¯f€;ÞÎ>{%§rýË· ³>gÙìïjû2yP„‹É'ïHmawUq¢é½ô8ƸW›¿€ '+Ã=T³ô,Ô•ûó +GÞoVˬüeLÄUËyè@:ùŸHÒñ>LC–ªè©vSs)6Úò ¼‚b ìz0¢Mº]6ÕÚ‹Ra]äNŽ,§9o)1­å­–°u¥Ëó5‡¶›†ºˆöŒ—,”Ç‹$ómjpuØ>)2Í.{+ÏXmdƒ(å…ƒ+[Ž÷é·¾ù—8Â2úÔñ~„ÙyJR²â³ëf9 x0`¸ZÁ¶·E¯ìý`˜?‘”ÂoÛûÌ;ªØLòƒ„»gÆk[|Oß`¼´ô±þÑ7ûgo>€_ÎR41¾Ð½  –Q=B+¶œóÇÎ=”¾ri(Qé$É.áý«"D ?ù/ *ï~‡nR+B²æ!šs)Ì@X_=©v$ŒŸÂ­Qÿm/7Á˜·ÅÃ˹±þ°ç{†œ1)°<ƒâ²š,%ÐÇOFXó¥?êø†»´Êp@¥ÜX +äOî!Tö”ÇrTàŒBxD®ßÝØg‚9 +endstream endobj 943 0 obj<>stream +“Ý´—éäuŠš‹7žªð#Py99ýojÔìµ~Õ¤È?;¥.2YàL¢ lQ:ŒÈ¸Î[f53î6^»,æPÇ0©¼ãµ·_eá¾s¥.öen³ÌkÛ©ì:¥rûQ•U‹‡òf~á’Àß‘s‡‘¢ò¦@¦X=û߉‚"¾¤^<çîØ­>¸›ô% 5Š[ߎå$ò£•YÒàR¡XöS_[²HAE™›Šsø¦£Uú÷ð¥u§º<ª1m +Q ã@Ù¡Áõ¾8×;4­1!p’ôð¼Œái”{/OnàïJµÓS2Aë×½íÑÔ9fa–줹 +š%`Hšwd‘®àÌp ’á ½Šƒqu;fH`ìUçp™z%bÖ†è¥*úÒ]±û>VðáR­ÕϦ|©…ð¯¤b€š¤/àø~nt%fÖNx +endstream endobj 944 0 obj[/Indexed/DeviceRGB 255 943 0 R] endobj 945 0 obj<> endobj 946 0 obj<> endobj 947 0 obj<>stream +ì;@¼BUlyU¡¢³ÏÇû‚æˤ#Nö;ë|öòœŒ[So•"{óÊÒœ>ùGZ‹úr©Sï^ß5æ¢y| +endstream endobj 948 0 obj<> endobj 949 0 obj<> endobj 950 0 obj<> endobj 951 0 obj<>stream +Ï3ŽÐÿÔŠgq«Õøäc©³ÈKÿíž–ýšüÔwÀn!àWr‘ï’ +¡L–ZSÑ_#tFNqæ£#¯ø=o9’‡ûÛ×p’Ù`Œ!‡DÝ°ey¤AƒêÔÎ….‚j +â.Fê‘ÊØÐôoOé¹”]}Ý='ïùwÃPî/ïËÜxIÚPnÆ]ñtý™Ù°¦zm~ïú¢QèŒùOÁÿ êŒ 9ibGè ?Uêïʃ·a6oòÐ:É.(W–„Ó… ‰qæëa= +endstream endobj 952 0 obj<> endobj 953 0 obj<>stream +ÚI[­0q8DòÒl!¿ÿ“¿ >¤|¢fÀ@ +hdw ÝM7"ŸC‹š½EÜFG3à ¯?•£m| %u«¡Ú3ö÷¼’à´•¹Ø\vv‡ÐBçÍþ0¦@«{´v£k)» +:yY¢>‹+Bgk•ã +b}ðfdøÓø¶?@´dÔm‚·Ö=·ÔÁ¹˜=ê'T±£‘1b%W3íAF±‡ÏýGN·£‡ÃY³øųþ•Óz°Èu›ô,`Šwwø-†>ÔÉ}ô{ÖY¹S]É iþ9EII_'­‡QÈ +Æ 9+•–ƒ +) ›‡‚Nßš»XåB ïß”š³Ä)ŒýÑ.Λªýù‚úÄ ^5 =Ìü „u2åI¢49åNóã©®'ÝM®›«O|^ôåö"ð²›ÏJؾHÖ½`פ@†ÚÐEý FÅãG—·ªKÙtdä§,%Í[øúhU2Ðs÷žˆ–è?˜ù#! š´Sï”ÑשTãY¬¿Jzô³¹ºEl–:(Ä \4Íkx0õ CÈQ½ [·Ëv÷?âòVƒ€[ 1p\•¾]Ùº}ð€‘쇛˜nU…jVF\÷¿-UWåxú¤Söýuc% +a“‡ÝQêŽ*µÍ +”^¢Á_½¹'Až’D +àKa_U†¤÷Üëñ¨0Ô¿Hî¶Xßïb«´QE^ßjö»L'b¡"šçVê&Ð2ôÕÒkãj‹ó»³5W¹Ùyá‹0‡¯! BªîªlvÅÛ¦Þgj÷1'1&þðmK†K¾éÝ@æg¦šf)UZ¼$ðÚœ“êÄÝù¹;ÌÝá`Y”a1Ei),”Ô²y—âíöUÌ.|`Çhÿ^2ôãïŸýy•JI å+† +ÞÜ «ÁíEòŒlA‰¥"?±©m¢uª€À@ž2A߯è4ŠVIäVoNeš‰^ç"§AŸ”aÚ¦‹´˜Ú ¸7•\åÜÇáÇ‚“žºŸð¶¦TíŸpmgs•ðžèÖÞ×#x¯ ÕOl,ÛF1à'CŠÜÉËÝNa¤¤»ªäפ‘5õË„²<5I/õr—m…#¢Y‡yZYßøÀ34ÇpWbÄ2Š„1©½•Ëfæ½þ\2ÿ`«6,¨ž›lÈb``Ë4½é‹ˆt˜§o':ùµây­|†gü‰WÀoòÀ”ëé´¡ò®$uª',¯µ¡`#í0iK:õÔt£‹û=ò˜±2ã†'£ñEë9ËLÿ\ù–Ké¡g 8 ýœÈY•jÜÔà2 ÍÒã,k°#/QÎ$¼«è2cm²J75ýÇG•ÌØ{ô€…ž4ð®Í™?rˆÏÏ‚FÅyö9”"^é=kkÝ–-VÑ=æ#øç®´Ý­T©CÍ™s…‰ÇÔ–ð§ÅpnÕ‘kY·dîQ¶( Ÿ®á=/­\ñ©&¦<1aÐm˜B#“2-ÝëÐ ©ó‹ ÌAJ¯kÎ+»éSj HêDùÚ³à(’P•l®5ðóÜw a”d°4¶´8íª"ÎNb¾ÇÓÂÂßKw$ %ßâ.ðCH`ã®WLÈx6Á¬æ¾K*Šwk¡U v=Z•‹J04b0ÙNhé™·Üúädì¿´Êç~„« +F{ôí@ø=ÔEPþ°úJ-Þé&ÀhÜ ôXV'Ü ‰p¯®gì×y_%¤Û&Œ—ß+•ÚÛÚ”½§É >(Æ–(ÛxtJï©Ì4O°Ò‚°ŠìDŠYĉýclj%ÂcÛy·ôƒ ÁDþV +G{Ï2=s ¿§;jÉÍõôpÅ›9jä¥SŽœ‡Ä$p¢Ü-m9ï¦R-Øù|îÀ-`t"¤Ò%sRÎÆ÷¸BL3’·¶:0b&ÆñQOÛ;Ðüá×mS8³ÿ‘š1YM?–çÏ>ú}c”Ó¿z×ÏM5wØfÝü +vVB¹Ð½WŽ®nE%4{G©‹CJt·/I™°g–I^æ„-!Ð}ºž^êtäÂßÓZyxñª¢@A£Db‘SFɬ»3ûò>ª%DŒ&egÂüÚæë¹#cûÍJt;¼Y»íØ£(˧Ü/¦¸¢¥å^Z…oÎÁºhë÷í" :¢l M¯ð…5´žCk=&ª]¬”ßü³•·j¯ø§Ïåã>ª*Îôä¾=ÆlA|¯jÕ2[PR£@mÐÚ +ã­Véx'3§¤Á³˜Hq3ëSÖ4Ñþ·¨j çŠ2uÉÖøQ‹ðE¥|ƒ‰×ò"Üæš/’Æų ôeÁýçtªâh E %À‡pM–ÌÞ|sPÁ ÙläUFy«‡°ÂGy%cÞe_#‡2Â(ÎŽŸ†EÒ]:Ì2Àò¦àmA»6v© æ„ÒµÐÁ›e´If¿C†»ÞŠd£¡¾O{fIùZ ¯fÔVæüèÑJóDÖ‡`C2Š&q7úK-ä[úÐ? Ep„žd\:íªŠµs6+züúbå"úìó×Çû‡ ¡†‡fý>Ä`,+ Ö{NŸ ”™Š$ÆÖ¬AŸé÷™g$¶ç~ÏŽ? î?µ—wâÏ‘ê0t%èOªi;*›œoQxíM¡e2PÖ$ç“­„æ0{‡Û¶nÚÔâ`Â[,掊’Ü Ü8úG ¦[y +üF={SHÞcÐ[XÕIðýì}¹²Ð~Ûò&~r FÀ)mðí0bç%Ä.p®ü}—¬å—ÓÀà{P| Š§ô¾ž;Œ-FQ!H¡+k–ûZÒ¾¶Ñáí3Ÿâ¡ü¿¿û2}úÎχ +ÒÞRå{ ¶šét¸ì‚.M`‘^£‘}ÀÂhãX µµ_£3yÞ†ó=ç—ec:8ð jƒjGÃŒDoxf_%°Q•ˬÝa‰Ä3<Ž º“ϘÒoIT‡÷ }GÑa¯º—"›¶ôà?¯ºôŸÁÚ—ðËÝKEp©k}1Me›Ÿ näÿWv]6¦hTü­a”ïXh‹;@/W†°{»‹ŠÐz‹yÃʪô:ƒyoyt´- ÙgÕŠ™®Ãº'`pæ<¤†ún¸†Qà=}h, p'sOùÚ;(7èàYʈ¡«úK”)—·æ’OÆÚ¼üÝŒqn*íÝzŸ Ž˜kuβj}5²ˆ}Ó£€!öOå?Äkm*˜•ª/Ž&FÞH}{ !oC“㇢¢è:ì#v1ê¼G¡W^¿–e +‰ë»^ šišÇ¼Eš9˜‡¢©È›¨½òíeVÄM‰œUÓAçù&Öšè ÜÕÑJ«’]¾GÉD¼òÍáƒy±ì´Z‰pÑ${e@®Wbÿïâ}ÑËÇSíyékù+¶®…îŸW•~2ÌóÄP; ¡åsÓU*åú|EIöž&w±àœx—$ [òT+Òzq°Õ¿Ež³û²‰9¼G‹ÁdulݪÏä¹Bªo£Ì?φ5o‹º¨<ô´H¶S¸ªI¶xz9C +²@­€Ó.­u›5aùåxXb)öø x fȱ8NC*%¨!jæ…–„áO‰#;UŒ$I@Eš|”‚Áwؽ¢8òÂjÓr2„Ìó°Öÿ¦gèg9·ìù´Gøç´rK-ZxZ9Ôï×»å Òàléê +4x}Çô¾Q­çº½‰×eC$F +¢UX¨]€çbÿ UË”Äà’ÀLèaâŒ1h¾/5ç6e~ÝÖ"¹Trp¢ºU9z†)h•ÙÇ|s™éV*1û2ø Yy±w#ù¬ 䯰Ø-Ø3¬ÄŒz¢üˆ¥¢ék:¢œZé…*·¶jHx«â˜ºMq.ήÄ5e•>À)’#£ái¶[õåÛg ûª(Mí5¿ÎÃ|†Â¨¦çd½ |jÍ*Éx:ú1ñþäÁõ:5~Ÿ-5ÓÑ·®Rmó`y´Š¾D ÃåÜ;.V¿ßY»CÑØælÛH0’xÒš:·%5Û2€8<8n +¦ˆ¯'៑¼—Öò·ñÞŠbSGà~‰æ¬´Èàúûàkø?Á¥âÚõÜvÖƒBôày½ÜÕšŠ~1ŽÖæÂëPð8¬÷74¬£Y)¯Ímß;¾Éiu©P +z®íiIžÊ @y›¸ëÿÆM.tæ¢ÑÐrjb‹ÄI)WTÿ\ózö‘-ÖË$šþµŽÛ<Ï1:þdHÔw¦{Éá“ÿ,þÚÅPÒ³°hDI)i êšÔj¢O7ž÷¶í<ª €æsg—·™~Ú ¤g~Që|ò;]‡³§MÔQÆ2W„!£ÇruƒfóÚÐ|‘úˆºò¬!¬G©sza+²²…¬ÄWÇ;‰¸áßÃÐÀ¹[¾ÉP°\àÌ´¢ŽPç\ºP{‡¤½W üw¬ŽÈµ~£Þýû™È±ÀÑ{ÄÊW4lÿ,¨ƒ }_»üñnÛIÝHÄ4oçþ~=¡E܈29ì‹æé²zù€pGâ_”Šœj|i¦ž3ÚÔG[&tV€åonQ2MâG™Uõ{Ú6J†… ã>yc—ͤò§Ñš]åZWˆ’Š6Í©e3 ÃÜ +db›)ã¹wˆxÔàýMTÿ’@I8Íf/Ü)G2=÷à +Ý^-(èŸb‚Ó‡W‡‘†LîÔ™êÒ +z&Pº(¼/‘hÔ›'˜Rê_µaz9×‰í  ›NÄP¤’guR 2ʤJÑ©þýÃ2vJuûåK«sûOäK5ðæ5ZK§¶Â×T{3§¾yb—õH•áF3ãoÝ ËOåðZÝnhû·zKzÅu  ì=Ø>"3©$DÉ\÷ðŸâ—Ã5 o‹5ŠÍ—ƒg>tp‹5ŽlB àèõì +•íꎽΉöfbþ{÷‚Ôr úÇ×sà'Z“…᎙O<ÂÓõw@¹“ÍE«˜ú¤Ñ€&ŠÊdGSðÒE…ìý"i«n‹Qí±ð"«Ûìk~xSF0nÖË4èòPÑ®òí,ctø«uAã +õfÄ2.KßÇ?.`ná!î—h5’.¼Æ½ˆ.‚Î\¶T/ñÌꕤͣŒ+õÒ€âô‡çênœÇùåX‡EèhFçßÈ +2 >-efKõ„ÁGðôB ‹˜"[Ý©Ö´™©‹Eo*oMÈËŸ| S…ò¿÷¶z>:å‡Úάû?6¸ÞÁ2º2ÿå´®¯ÚÉ}ÝÅÅبóÿè©8â%o©š”eBDÅ¢iv gú¦Z˜Æ6¨íAûÈâ'}BMJôpã?¼]Ëú4cÊ×i(^×ù…]ýX\㘠¾¸tó0úå +‰Mì¼{RzYêIáкT°ù‹8• +ù³Õ©»ÑO®Ë/NL­9vt†Gà/Qg¥Ï +TÊŽ ”3yt¹µT’¦†¾Î+OÌÉ}ˆ¸ÿa‡^°Š¨º¹ô¦¾w¤ú0KÎâJWe.íy J¿y‡AeöT5ÅX;”ˆÍ4ªd^1ñO¾‰i4Vþ!’é¹*Õ‚K؆ߋb˜v— ÿž5£ú-ºv­&ý%…{t¤ÜÎu9YqwTZ iþ.‡·^{b`ìBλlxœ¶=;G)W‚;I)¥kerÒ°`Ì[Þ’–þè$Þ',Þ<جõ¢}0;Q2…û*æ +wÒX(Ø·¹1c x„/ Ø Ú3£07Ž$=+Ézxõ·®–²!¶hf $Ôp &±F³Þ’â|™SÁARRîÒœ) ÆmKÊõ"³«¶0Í>þÂt¸ ½ÃYE@´’Š$õŠE'Îy•?6)nœ!ôLûÅÝÛýü"‹"dšTŠÝnóêóŽv:ñ‡¾Áÿ_ÝϽ·kÆ!`}àjá¹ × +ÒËK„„iòrBíàdD)ÿgLøµû÷¬ {ñ±v¥!èŸÇ£!Ô?a[Èî>náAzæo&q1úW4Lý¸pŸ#ÉM¿t×c‹¢0•h¯ÁŶ.z¸V¡ËØ ôð·S¦ø8Ts :É.” èÇÞQž‡gB¹iêx®ùËhü÷®¢OÆ!ÖÙctåüË+Ûwjk ™MÄCu; +­° ovE\¡ï_4­@·Î18¾aÔð3Ô³ kYÌe­ÑŽ¤Ñ·Ès Y›u +endstream endobj 954 0 obj<> endobj 955 0 obj<> endobj 956 0 obj<> endobj 957 0 obj<> endobj 958 0 obj<>stream +Aöòl#7Æu¹Ÿ:®ö¯µ·æ:¶Í|ë” +[êN”[Õý¸Í€x¿H4‰nà œÎëÅ3Þ!o8òBlê\t«q¦ˆˆl õÚ½òœöÌT‘¬ûIŒ-m uu9ÙC{SsÇ[@’’ßlÈGŸ‰zÔC:Õ=îÊÏÓ®Å:Ç´¬ÊƈÆâÀ3y•AÊÛ¸†š_—„”VèM Ÿ¯¨¬–Mìµ4ÎÚ*²<a„ɇQ2‘o’˜œÆœˆ(êÛ-pb¬ØÞ`2 +*o÷£Á +endstream endobj 959 0 obj<> endobj 960 0 obj<> endobj 961 0 obj<> endobj 962 0 obj<>stream +Uaü#Š_^öÝVÀ§Ê2 +¼ÓI(‡Â®ß'Æ쯥! ¾Ê•¡W<Ž(EOÔl©µðÆha´DÌrÃ7¬Â˜Dªœ”¹ +endstream endobj 963 0 obj<> endobj 964 0 obj<> endobj 965 0 obj<> endobj 966 0 obj<>stream +x²–9«hÐq2(rP<Á¤H" }ò>ƒT-ÆšYÛHÔÄ¥ÿÒu«Û’O2w¯+y½··a2‹†Ó´aаctîÁ¤õ!¢ÅV©†…ÇXô6Z&ïÇàd5„áIìæå!ÚÔìÆÕ¯@9Ã;:÷¶6‘ÿAò§ŽƒZ°å¡ö™~ñý[µ@H6;}hî* ),•¾Lá|íÓµxâǤo}ò©iõ÷ö–¢¬T€·,£«vlR9C¥ÄR´ëZÊ õÌ4oÔHnrÖõE"îµMï12*úgkˆ±à‡x²û¶ +endstream endobj 967 0 obj<>stream +¹¸Að–|çˆ6ÄUCÉgJe“ŠÅ´èß®á¬%óâ«q¹ñ÷ð·`àÓîô@×l—#·²Ô#8G^1-ç¡óMO|‘a'tÞôÕµZšL^¿õ7’÷FæOaˆ&3´×5Sß×£{  ³$g2a`‚Eo5Äö÷s¢– +P¤øs™ÊZl#Å9sgúƒî+Õ×g¥Dƶ?¨ôi»÷êÕÊnY¹7§ý€PÊ…f÷œuÎ>q‹þ®6˜ÊÞó·øBü£#\™p•fÌÊM±îˆ<'² v¼n*¿ÈÁAwáz§e?yã­n?âš/ci IØsÃéUÜ Ôôë<¢ü(Ë›þ3PÛb3Tu}è…àõ +¨z©B‡á hŠÒ’@ôIû_ò¯NI¢( Yÿœ¹¤"ÁÙ²¬g;hg<9rò'™gç%^¤LefPG¦¤—dý÷„ß)5‘ûõWO5CL‚ +ÜñfAËãÜ]øëÞ+:{/³3,È;¬|È6&ßg +endstream endobj 968 0 obj<> endobj 969 0 obj<> endobj 970 0 obj<> endobj 971 0 obj<> endobj 972 0 obj<> endobj 973 0 obj<>stream +;ôÁ¡‰íD=³CùyøU^¥B†%„=ÿšå|åDe·˜0?ió'õ=]ŽÌ»¶`7«˜¯KXR^ oÒüxý"pšèñT!5V>: þEˆ$ãåi–Ø…Že=‰Ö—„|›Óü†¼ ƳðNJå÷ „ž¡sù»'@™Ðr/KµÚN›_IyäØ÷7O‘t¨¬6•èûÜFÎ0ÌVáK¶ˆN3;@ÿQzñÑNz®*”‡©ÃÁê­,ð¿°(B=y’ö±GÂÀà;EäÆ_|nôwÝa|À¬ÿ»k?= |/ÚúrXc§ ²à*áiΈmÆ,*en#9Ñ ƸªI=LðëŸ;Iùß }0aÏ.|ª½Èfycðè{‹ç­L¶ Ó‘y`$¨`Kt¤Ñù7—`1×/båýiC ©NåyÊ°îɞ˰âsxDÈÅ?ú•»gE+óϨ-3©y-dnõkÊzM×Ì™fÙæ!ÐC:w÷²Å6õýY2;íðÀI5RŒ°æä)æ&Eü.8|-étôÚYÖ,V2iQéã‚Ï8K[àßÃÇÝæC£æ®HÛýí+ì9õ×2î9£Ô ¯¶ÿåíƒÓ°ûôiCT‡˜¬£òÔ"§­£DÁ$î3Ï/é=¬yGkë8V6+ë©N‰êmöJ ÈÒ“Š4"—›Æ—c²Ì¨ë#Ó:´qÝÒðáó8&ºþà´<+·èÛw\ XGÞ7|z[“¡—p8õIØ­Wj_}‰cÙ—CÇsLÞÒ2_ÄløFj"+Oz†ßÇ2:‚Võm[$ýÂÿ¤9¾ØŒ»[ +« + ‹WÉn +ãªöM¿ž^Wt ºÝP *R×ÀÐÀÍ`» Uþº',M¢…›R­, 4ac(h˜Îø5_q¶P±<‡Œ.(ÿjœÙû³iÄ Ð+8¶åØ(SÙ+݃'cZÊVÓlÄù¹ÈV +<ç2€`Ða{°.LAPì&ˆ|/ÂÐÅ¥ç^Ëþ°t;rý‘LÛœ|k8¹ÆD³­êÖ!§ék¨o@ílÏæ!ž¤×ÁÞP6ó}ôåaOÑ#Ï‹›C†Þ­F2[²Lï~‚ +z6¨æaa¹÷‚ô$ØŸl~»´À.šGrPªWÇXEÂÞ§ô´¿ÎùR*~$åÇ„ãLÄ¡èÜ"´M–ÿ’U»æEÍêhz7еÁi AGÑeÑT…M]…2å€[Ž\ÔQCXÏ{Àj^H!Y%X„¡7‹­$_»˜ÉW”{RóxdWù}e3ÖÃ/zñ¾®UŠÄy[B÷s[[`7š¬c»M’*ç÷¬¸ éxøŠ£9au5¹·»ƒójâd¸VM£ÍóÈ\Æûå€K³Q¼Íåf›°±­õÉÓäc¥P ŠævaÅ^•"!zk>eäËû ˜l˜\—°òYl]£“P³tTç²ö¼/ÞhŽË*³ÎæCGÆ^ŽÝ:rª/å@54ÒW„9~Z¨—QjÚöfäx›Y[|ÂOŒ)Ö†>@ON¸T£@ï<‹ühqÁ‡ûŸøPÆ qʳŽUÚ÷‘å†þǺ§z¤ÜZMW«¥Ø94ó`~îϸƒÍ}Ø‘@Ý통jy.Ëwðôü}æ•6–|—¯3~·ñ9*ÿÉ0‰Y/›‰©‰¡Ñ¨k¾!7À†hTË™O­Ñ(˜»jbÄräv%nHótI‹Ë µwT÷ŒDaud„ Ý{A°ÓÐñ*h!jR)kG #(O:< +ýÔˆA >ŸéIÒ} +õˆf„#±ŲLq°£<=z§g[âb蛢]ÝE¦oÃø÷tü×}øvf„[ˆ¨ÜÑÝ%ÆŸô€Î2jA”¨+OK‘zŸ}¹s ;}ûÏ6 gÆo>“‘,d[v1£ÆÎÄÚRúÓa¨Qb£þÎb¥†© mi…‡kºR]¢„j±ï +ä +dëÒ˜Õ°¥õv™À¦aøã¿Jˆ2IÚËÎ×ÉÆ®´Ôƒ½MëIÞ¼±’Y«Ç}¥ö‰z7¢˜lT£³Qáÿøñ µ…ña™^© +קʋÖP¶·N1d]ižª‘¤üE3¨!õØ«ùDÔ!,¡7o‰5&üDG |2‘‚Q%»MäføÍ„2Ú¢“tÿwúVÒÏØ ,YuÍú³¶k1§2`!µj7FÕqcFAº¥×Õ€,¶FÄQG‚¡VýæÒ#ëfdÌþA‘{d¸äEÒéMê/c#ð\Í%ÈRóŽ-Ñi  RИD´€3XgªR(orQÆÍê#pyÙ;Ä6ÛÓ5åV˜¼5öý1ßzÓCp/ +Š(éÒ@å@wH-æ@?ê²wÔ8Å•_t'@ǘQûMì"†©0a‰ÔzÄz‡ˆÌ„Sµy´6_ +øß{+™59yÍ|d „Œ¼/Xþ¬Aó“´‹îÿ‰8 Ŧû¨‡‚JïÓ)Oœ†Ác£*„a¥ãÈÝmÉÉ!nð!fªxÞÍ”/5ë Lvìõàù[ŠFï=1—¢ÙFBk`s%÷IÀ‘* +û;Ñ"Ûf +„ÏiUæñDÞ¹€bsÏÑ™³q±+_ý«!ÈBmòõA*qýŠ«Î1䵆Ucð¦ÅíŽýD«¦Ez¶äb1oÀk‹ÆÏÏ=MÃBgzø»7|*²b f«À ­ ‚QÊöÃ?%#Lå rìu‚ËbO„5! ØyÜ×å·d¼ïÓ(„Ðc˽= ì-ç_æЧøìÑUËT¡m$}³=ÝuIÇ÷:ÿ"—A/¥ªcõ87f¡Ù}Ø‘LF‚u⪢¶†ºÉáSPÓê4$¯¹,lFÆ¡@¤È;«ÐŒáäë0£ÿ#¸ðí©[“|bÃxýžOüÞÜ HØäçÀ|àL’DL§‡öCˆ-û1À±¥[Ã[=„ª#aOGEÉÁ¤ašúà¡wWx¤·]*`¾H}I¤u–˜Y¤[S¥éFíGZkði[æPEsÅêÇÞ®¯]£t/Ÿ"n Ìܽ© Ò6žCz¯Í#±bûíz`•{Çí žµš8j@î|Þ Fè`ÆP}¡‘EÙÕUµŽ+GT"„à‚{WP‡ùóP?ï{WaEOݾ‘ÿÍÐ+Qi¶q¤r#ú•udÞ¿€pþÃ9òƒ6+&:*Ü“õK¸«ÐEË÷3€ÿ½ç›œ\DÅàßÔ@Óð¹ŒkÜx_Z“¾DÖ\ p‡ÑŽ67Àš§MØÎMT‘¤«øInâÐèYDÕßôÃÊN³í,$L™‹G4w>Pî̧qVJæ1`À=ÖÓmáã8©=,:~ê‰áœŠ‡p@ ¶yCh-³Ú¹+ÀNrmtÜ°Ÿ°Æ`§Êgw]ÉÑfíD+\ ±=èÑJÝ¡ˆøWl #V*9‚ßçU3ó8‘2Ÿ+€’|E¹DxÖH ÿé +F,k~.§Í£Pö#þ&u±Ö¬Û Ý$™'¦Ð*ÓQ;­5ÞåôŸ×¢}Eož#v¢kIÛPF \¼¼†T»“.éå »!ÿzœ´I?änR¬Æ‘ø:ú¡Þ®[½â‹Ÿ‰z Ÿúïˆ<¼”دþ›ñóa7xZÁ˜Œé~äÖÊë8’U#伬Î&ïµÜý~ÚZt€V³õõ;*àæ÷uûŠçÔÎœÃÜ椡dŒE¶Ÿi°éÅW lmI…Æ+)zî¾?ób¡æ˜ Ö…Ã'ܹ»–_,ç7V>ã4Õ0ß©‰Ÿ×Mñö/QÁv¢i‰vC‹t±ÊNšõ½Ìa‹ ,­æ…Yk_Q‰ÑÇš«û<]îÜÞPáF,Û®àH̼.†*·i>­uö`ÉM‡H +GÕÝ´ Ú°„ž£¿iÂ?д4¡Kï[Û À‡øÀ Ù´bj¬$[û/f3f*u„ÍeÏû¡@F\ËÜùô¤zb2ûËéK(†1-ÌÉã?“]?[ n≴% í§ ÃÉ\‰¹Ç£ûÓ}6JŽ Y4eôyœF¼s à|12§‹b¢Q#Çg$'n7Äå.Õ"Mô·š- ™šóê}m;nçÜ‚ÜPª>¨‚é(¨âAªÔ7Î)h& ôG«NÞéÿ²Qú=kE³V?V÷›ÂºîÇâïÖ¾0=õ.òö‚œNzûTˆó!cŒ¾c\ðh.=CDY‚í®gp¼ˆ¡î¥Výq‰k£M:‚Ð¥uqv”ѤFfν̑û>¬ï§äyíJº+ëÏ4¼ŒÒ~X{¸ !® žÛ&Ùͦ4'%ØÄëEÒýZÉ1‰ø+¸ÎÅ—²yÕð)gdÚ‰¤Šþ b ÿpÙÓŸŸ[‘›édÚÛ:Ç"@B5I¹ÞØ{ÌzLmΧuòËNRít°3DÃY{õhpÁµVu)ÑVyï—{|äâ´gà5,¼éo3ãZ»£Xý÷îpÛ m¨ß±ªú™~Ø6µŒM Ío,éfCó²þÓ†¿Gð¦Ø@ `¨* aX1)¡Ö°Ç|C„ >ûær´PµÔA÷§¯ŸHN ·“Ð_ji˜ä@ù‰ðì MöµrÀI%ß8Æ4—H6cUßYÚ1y&UµÈeñÒI_Ÿó£ÔÞžn·ì.qÓ oJ}ÓמF"l;j °ªn +òºº¡Ï†ãy¤©›õÛ F30ïìˆ\µ¿åý£ÖuüýÖ¡;®}³ºu0¹åþÒÍZm(2Ý<˜y%*íWH±—RðÄlŚݎùL£/Z™ÞÓYhqý3žJú^ItßÖ&¨£Û„ÄüNÕLåýè~ûÝxkfL£¨ö­ö½wìšÀ˜ø‰|±úÄâ]ÅëÍ++Jí>ù5ÀMún_>,DùûÔ½l•­í‰]o`71Ñhob9Ùivì[r³›@ÖñN}ßk ±ä¾j‡.ÆhL/:»ýΙiŽ%bO^°X=€ÊüÇÿ¡öCœ\¹å€Nƒþì@E=âëÆ­‘`ËMÐU¯ÕµãqîKNöfûÕúLA²xtl¹Ä¢{ëÔüPãÓ#·­ädÜámÜàä—sMc`¬†OH+hþI¡‚»à/Ô£Ÿbå…Na9Þà†¶B}0ô*ÅSŽDÝÕ@Þ?FÅÃv¹9-I"Þ ñ‚´ïÝš£Ÿ²™:†ô)i¡"ó +êÄ9øØç³1^µ|4KJfk$u¤ +ºKð3)vm’u暌ÀÕ´õ.âAÈMUwšÙlËSÀRìkùX®dÛò·|ž6 ]ŠT@ÙAž=ªP IÒË„ˆ¡=ÎÝÃl¹È|˜q6ZQ)Éô¨:@+IÈÍ3à‚4?çÖÅ&Jì÷W*Õ`S‚µkW"ȤtœzSÙ~fµÄl¦Æe*8úUækÁ•‰y£É$kã±XK/9Hœël÷ê> @D)>‘0µ¶÷ží‘µnÍ‚nlÑ­ö7äR}ë›hW–³×ò6 nÔÙJǽ¤¶!%tˆèâ©•0·Zÿ·¤»·æFE¹ÝÚ¼¹b8Gàˆ„¨ K·€*æ­‡ +‚_“¨¯ WÔ +e3Æt¾&VØÒg~N‰o=ñ|­4Šßx5¤9xJ‹Îàãf¯DÖüZ“žú¢þjoR¸Q†|»^#(ùÕ°6q¶‰ŒpšãÐ>*µ¨$Žnbh¥þ†¶ô‹œí³Þܲý%Àé ‰oȵ+àÊ™Z;F£j¤ÃŸ¤RFÝóÃ6ñ¯+ð—ë»sx†`”VŠà#:¦z¯bÎ#|ë‰,ªnqŠá›.Wâ‡Z>ŠjæBÚWzÞñF’>ðÙ­_÷îuÖXî 8û}`¶“ ¥á†ä Jû™¹­ÁqnÕ¯Þ¥ŽÙ˜l††|T^Æq/ü+er¾[˜He½Á .(÷åg8ºKçhÊÌ ,¹÷Ö¸3Jˆ Mi, 飈¸už0ƒÚ±2µÕº¾Ti@ƒ ´«YÈf!÷AØ2zñ}¡¸±úL491hÊJ–ûÕÔÑjíî ˆÀ fì +¬XI.-á H6;ÕºTªRß'gûoö£÷µ½Ü2óFâØ"þb)É]üŸ€eãp¯ o€Åd€ãöêe•ß>ô}jýu›8ÈÜàç7»°•eZ>+Ìp7ë=šÀö4œ¶ƒ£¿Ñu›f(ºA5ŽàêøâÑÛ§ƒ\êõǤ”ýËn_XTíMóNzÓLE+äBÞèMyò +û”"–[ÿ‡ºšD9ádêµi¢²ƒ¼g§üí’ÏÛl¤gÐ+€m±p‚TÍú]¼~Ïìc0~uYÁ|¦œ^ìáf"T+húÄP`l€ìE — þ°Ó¼¾%æÞ§‹<ȪHµú:{©Ý3¶¡® ¿Jðd*ïN Q8GK™U^QPu@*ÏÕ5ü1PÑÀÅаFCÑ`€ ÈXNß%zóÁH|±j3 +û¬LjücÌè@ž•|Ž'®ób„²ÑˆtgäëŠÐL½w€Ü5Ú^aðu.™åTÑ}Ÿ÷ßõñRj G ›‘ƒu¦ÐA åy2\iA˜OSÍ 3þ°Ys/]Jˆ­,›! ?.¨5} èÔѧã2ÞHíIáËS¶Áñ]ˆØ¯ìßÊU¼Õ.¼/­Ÿ3um(úwÅqËÑ%ºD`X`”€ý"÷Ç{›r°<aÚ\çxK­'¡ kÎêz5;oRg J˜†ûéŠýtÄÜXMËjUÑ<4¶tn˯°À•í‘M hÏàÀŒw8z@¦‘ǵ‹Ô²kèÕ‚yENÕR¹%½Û +endstream endobj 974 0 obj<> endobj 975 0 obj<> endobj 976 0 obj<> endobj 977 0 obj<>stream +íD{òZPq¼¦áâ5cMô‡ ´E¼8s”xHn¦§Ðpeqè6€’uÚ«EÖ6×M#ûÉCÔ¡Ç>P´ï¹=ê½cÁ,€—Çaâ¤27“˜ +pq'Â*ŽÈÎHPĹ$ÂÁ;ÄBZü' a7ð5+ðâÛ<ºpløS‘„¯žhœ²§6²½xn9êǸA½u?p¥ ^öC@wYá4Hópsç¡_¬± øiÙ°Ðüq^Xé#¦jípÓ÷ù+ý â¢ämš:®‘æ¼èW?c$‘ ø¤råWŽŽà¨ƒváÆå‰Ø¦ñQ¬?´Ži…`8M­ FåÂÒÔíÁ¾| Vö=qŒ'`ÔÖˆþC¾:ƒÅ¦‡ôî*6/ñÂGñ§êVä7o¼ ˆðyuM¼Æx‘ù=w»:$q‚‚Ú(,yÚrF~ïsƒI¤… ÌÜHVÔfŠ À¢¡ÊTœÓºWëÑeOö»S[éñjÆM²œçøè,lìB›"„ºîž-ü¾5.ålÖ£'@vëÐÈ2BÓ݆ßøÎœeíš 8ô·±3iÈ' °½Ä öÝtj+Ë4µÃ•–ÈC¨ñùá¢tÿŠÏûN¶ó°ò•™ þÑQ}b2ΆsÆûWA÷bæTo 4Ÿ¸|êg÷À«@ሠ;íw@§nž‡ *HI4ò…‰ê4`<í7¤”uŽg>¿™UX «Á~ÉÜûn¿8IoK…Ê\ÙJþ ¾5¨€¶ÞÖK}ꡨRòI_ÔV ±ëº]wÿŒÌ«FmN`Œ|cmD,Ûµ]:B ?A‘Ø„Á;[ä4D«Á{ÉH™ŠÆöqQ IÂ.©=m™ÂVDt8‘?ZY'#×–×+“¾©í‘/Ä ãg»qÑ÷%~œ;^£å÷ý˜ â¦VwÇ–°¤fô4b) A‘ÇX…Zu•7xì@'û ‘Ü+Ôƒ‚`ú\…Ȉ¥µ0 +Æ’ì-’–`®®>y">uô…Ïãé»ÛT¿þCø¾Iv´VÁc\Î÷yüéèþ +&»%°A¨ +Ie|î–çIüÜ”§´Î 9ç¡·H²é`=¡õ6sÖa[#êJ°ÇÂR^ ­¬;]ùltvÏOè%Ä 6ɨV0QK\ïK%sžÃÃùYéyÖ8ýndå¡•æ(G‹ˆ7FSW¬ëÂpppt¾¼†Ðeú*«‚ïû`{É–å¦Ë˜ÏRç{œÕº³)‚›®IzA}Œ èââq,ŒÖ{)u©ýKŸCº!x2_¶zgáÆÔÏ¡ŽƒŽá$R_ŸÔ +vÍ9?$Tä<£ùðF2õ캋 +®—h¹$ŸËÝú¥EsnjÉëN›ûw( 䈨‘Mqi™w›TH ¢ÂẠ+îêÈÈï+¥êªWlãvÓüb|?“åhe£—éuÀLTqWGãö¿;Û³±–ÊÓLJh£©ÕÒüs *3uùˆ …Á2›Å¢kjË‚ý¯âý–ŠUD¸©‡vaÑÊ÷$NáÕîÿ9Åõ´î”ƒ×¿Ö>GUk¶xeÒ­STZÁªîû[êfœPè˜YÔé7TØ’ýÖÞ†\Œ‡èð)Gý}Çéàò +wÞwŽUM0âº.æ"ož„õUœåwzŠ¹,R}ª,çªheÂæùˆr@Bé”<¾/ô¬ÚÏËѳ"âi ?,àÙ‘Œ›dbå\¤á8¶+…k +¸äÉ»obUeûø Ä_Ä09ƒ˜ôœ ?cPm MQç¼µÛÌðõ·-?¹¼2/¨æˤcq~Å"ÛÇ›Él®UGÈM3{Ò3Š<ÐQ ~ÊâaRaGl ‹ucHC›VD?ë;KßýZXÏ{ʘ°0™É¦ÂM¨>¿_Ó÷r^Å~Ñáõ ©üH¤èº!QéⱿs¾èÍ£‰46JþïÌÔñŽ…ûfM§Þ‰àMVCŒP8G.›˜ÈÜ~*œ$×4ÎP¤$²rOÄqȼ‰¢+bŽŒl±Õ#Œ59Ó^T %/BtYóÈ»[Žíœª,…¶:ί 'R2ú(ÅúÛ ‰_9öyÇ¡¢/Œ‘Êf>¿…sU<×1Ëj§[Vf]¬ZŠÆzm»”™ìÐ}Ü9ÀùéÖ›µ÷Ê/GÕ ÞZC +7'tæ xJ¸¤ÜÅ¡Æ#š°4ñ‹áQlB«7²I•¾´smVò~|×]&¯K°¥6“"»Ý×>}p{?Q¡ +ªJšÂ!À»ÄÌjÇN#k¡ð‹sTÈýo\ 2RÏQ=Æu760’·hZøî#☱l}³ÆnXßÈl7 aï.ƒSø&í#pü…P…Ë\/ «Kãbs+ô"ŸåÌÉy¿.kª®]]mˆ‚Ù„nÕˆQ§V¸û&Kqe7þTp©»~¼ö žW´¤êtEÁŒF@r¦š +Še¡–•BDÂöŒ#ÝGý׆ÜàÛJ¥!„lºú%HzEݸû÷¤™%W«^Óõ:Òsëö¤-þl»(ªôjkYü3¤I¢Ì­ÿÚü¿€HÉþ§3{SÎZí˜8Ÿ[X¤8Gï*¡×þÄÄÀÐøSAb¦DÜ +õ”Á?Ö™ä9ƒÅ—wŸWæñ;úh—ƒêCôå!Hòýû÷x€©_h⥈§ÝGf?qã#ÆúÀðñœès³'hÌñE¹Çóˆ¢ÒŸ æF+t¾òÀ>ÀÚjBð„ø¡CäÙ×?þȹg)à„ 1Q¡‰jçKµ1˜ÂÛʈ‹;Œ‡”€ðqú9²JÛ»ÿ*ú?0ô/DÕ¦q¥%Rl´hDÌ)L)Ñl—œpApГñ¯‰®šuû ºK§ËY×®]™ k›§VG˜…ˆ°ý0$–%¦—¢¤¼Ý3î‹Ý“ÚœöàxÀˆcµRîM皶󋥪Oº~e¸$m)¡­Úa¯xÙÁ u$k+Ô@{}^ºÚûHJ’û§t´i¢Ž?úv°›´'MÜÌë0y ²öMƒô½ kõ.‘ÅÌتyόđãú¶!•»;H”—D{/5d­ïg±WK.mÇÚ];cù?»hî B9Ÿ>À|…*Öc‘Ù?²WÇ“ðPbôªÖ%ªKÕ̖öC†2£‡Á15ƒº~“ZxËõî¨=Hë}ë2ljÅÃ(,jv’NÊu:AâµÉÝ‚ŠVq¼œ@Ó»Ýí°‡d×AãrXl™áQ“'ÃÕR%4ÏÀ›—±„W”´?n´…°Ó˽9àk.$[tÑÔŠ'm~ +]í9÷£¸ì~-Ø€|wùòöG +ÿ©\ Ùë' ÂÉ;»/´wœ¢6\hîsdS| C® +endstream endobj 978 0 obj<> endobj 979 0 obj<> endobj 980 0 obj<> endobj 981 0 obj[/Indexed 1329 0 R 114 117 0 R] endobj 982 0 obj<>stream +çþ´Ó™¸Î*:†SîïVØa@"Ö9œTý+%?™CŠ2 VœtǨ˜g¼i¬Ç{b1Ë4-ï£úq9Š‘ðÎSØyÝlp2S\ +endstream endobj 983 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 984 0 obj<>stream +(µl¥|è 8 +endstream endobj 985 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 986 0 obj<>stream +ˆj²ŠJ8 Zþ@Ð`Zqe]0DŽ•ƒñ£ÔÞõÎ*Ê›È,²hÝ“#ªþeX?Ã2DŽ„ÍyxË¥V–µXŠ×JVa;Ÿz +endstream endobj 987 0 obj<>stream +G–Sѽy nå +endstream endobj 988 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 989 0 obj<>stream +¶Z<øõí¹œmúÿ;—Ÿ’0MHáš3ÑKoT£Æç>%½¾¦Å"';ï©ÜáùÎq©ýÁP€àÍy!t%h³Nì¾+e Û ë– +endstream endobj 990 0 obj<>stream +,‰ ;õ„MTK=pI<^´z‚>†j zl~IX,EµÞ¥D·p H{un†¼‘‹ Çóðý%Hå4ªüÖûúbõ9œ +endstream endobj 991 0 obj<>stream + +ÜÈúÕG8XD +endstream endobj 992 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 993 0 obj<>stream +™t7]ñêc›Æä_%˜ý;Ö_eTз}¤òI çБó¤ß‰¨‚Þ{½Ã”Rg/Éçå§ý}óÔ*Ëø—XïèµÐ#RÄœO $šc· +endstream endobj 994 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 995 0 obj<>stream +œ’›)©Wúò?Áų+2ÿå}#t¬«dÜ0›Ÿ»B‹9ˆáxº´ +¸ Z>áºóÈÅJcÖ:EMçWúÕððDh™}ôÒÒ%²ÓEXØ +endstream endobj 996 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 997 0 obj<>stream +óRüµŠóôÃ[Aû[ë…V öÑ©lÖ)o™Ñõ +-íëíê¹ñ Ë;$³ÞÁ +I°B¯O+ZŸïß$ +ã15Fœ_D_.Ä +endstream endobj 998 0 obj<>stream +`x=¤9ƒ´ +endstream endobj 999 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1000 0 obj<>stream +ÌTŠ«À(&GJù?&¯RŠ?öÌß¾ƒÓR:‘MæÖû¼F¥§Lk†Ê„2²Â=B´.•ä„ÊK©ö2Ú H5횃P¤‡&ùÀûbâÕ4K¬» +endstream endobj 1001 0 obj<>stream +w•ÛdÅF{ +endstream endobj 1002 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1003 0 obj<>stream +xœ6í"ÎÄ»­„@4@»(ÖžÐGÕ×Ü#¦¯á×;ZLÏGðžviö”-šÎ}>N¦y‘e œ,;ý×øCËå• + /ªÿ1ä +endstream endobj 1004 0 obj<>stream +6„ÝÍuŠåM +endstream endobj 1005 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1006 0 obj<>stream +¯ïËsÕÑÚ +endstream endobj 1007 0 obj<>stream +‘†tY¬†â½ä +endstream endobj 1008 0 obj<>stream +‰ªü2su‹ä¯ +endstream endobj 1009 0 obj<>stream +¡›Þœ_¦ +å§ zÆ ©ñÜ$ +,qÑBÕ‹·>ŒÞ¹©1Ü1“Ä÷ìR Ú/âÜò†Ü ‚6ª± €hBüÍ‘ßàÕ!„ sˆÄ§'ÃkÓ8ÿg,{‰,6®0Ç_hU=Ö?s!{Ûîû]Ú}'¯yÂ!1‘/½=OÇ‚xß6kOé§ñ(:‘Ï<.L!! ñl"ÿPøðáO»pv%3 j5‹ÖÅVA¡9›}r¯¢âî OÉ~¸‡„³kM…¦â¡­‚ÛÏ?‹Ñ9é[7é "‘RÄ‚ÐÕ´t–¨ ƒ7Í“cX¤íìIâ"½`»ch¼ÆdSÖ;(èÚ6à¢Vÿâ\¹Eù%íèów»4±¯ÞFñÖh¾c½~ FCÕ­®Úàn»õD²ct1.#›j+¾û"–T?£ÉóNä¿GãTÅZ§Ã—ß n‘Újw>ñ¨·"}ë$¯óþû£Û„®âÿ˜5B˜aØêÏ#ÈûÄĘõO +j–:Ör ãmüç +endstream endobj 1010 0 obj<>stream +8œLPÃV?‹`x=râùr½ÜAdt?‘†1Àv‚_â¥kyœ¢DžÂÅÁ‡>stream +·Ç§n$Q +.mo'd䈭q*‚Ì¥Q— aE%i®!¯FùÂ?¿"Mj¸$˜31Æ_ëô¸¦´{ñ’BxÆ?$ëmÛv˜ +‘.0–™Ù¹üËÊäUþh +endstream endobj 1012 0 obj<>stream +-Šð+‡e®°ÐYu°¼’ Ûu¤3 ¢5Qã¸é&`®?¼c¹Ü`'uÓúS’¦¨(;#šúêfD–”Ð +endstream endobj 1013 0 obj<>stream +^P9w„¿×Ýß¡-ò`ųríÀI§ÆV¬Êw^à¯on‹g=ìíaï'=»â™KÚöq6‰¬SÜkƒ5KåøÄØLí!Y–ÒF®, +endstream endobj 1014 0 obj<>stream +•Æ£D"»6gÕ DÚi¾Û[*‚>e ¥ŸÚ&Öto{¬î +¬o‡FôíûÎÊËQo«ÐÉi}bžÐ×:äi´®æûêFÜ +endstream endobj 1015 0 obj<>stream +r×ÄÖLÌŒàÿ,}•¡ä!Pô—nöqbLZR™_cõEŽ.%I™/‚ÏUm ïQJŽQJÀs´ÈU:FáB™( +endstream endobj 1016 0 obj<>stream +#\ÊÉŸ/òpÝ߃0[ù8aí¤z*w:N,¾‚|c¼d`ßµ¢—äï›yQóÿß ¼˜éP£á@Ìš(ÝØ 3b…ûåCûû€³öýüFÐ æ¡(½qtÊ™T< +endstream endobj 1017 0 obj<>stream +i>*·aTÊÎ 0a¡¾sÀÛìãZþåUç²|±¦–¥Ë3Ìn_ðþ?gˆ—ëáæ°’ˆu{½4ÿê>KvtcòZ +endstream endobj 1018 0 obj<>stream +qÜ` ¦e{›)9KÊÙüísÔ€Š™Õé.ZyiS”ÿ3 uT8]ƒñ +tÛ»¡«v›jytruo¿Â³þ@±þ +endstream endobj 1019 0 obj<>stream +k›G&©Cv0õ¹ÁÕÉzü`#PŸN¶ÉŸÛyôa„~sÙ®JÑlÏVùÚþh=öÒë¢Ê[2òÝ×Jub(&UŽ,÷«˜<§F“gK¬‘í¥ºµœØâü #äifÕûÞEmk#V W´³"—k€d +ßIò8¯ÕGÃíÐCŒ®{&üéˆäÆ +endstream endobj 1020 0 obj<>stream +‘AVÚŸ`Ú¤PÖä îß*\6´\Ÿ‹"ü(~ SuÍùAN¹o{U—º!«zÂ…ê’‘µ8¦î )wC‹0²Ií²ß”“µ>÷ßRIcÀ­ë벆\‹m¹he뇲÷‡lgሪ·X¶ N8=÷úDñ›yî·¹‘Á; +endstream endobj 1021 0 obj<>stream +ò(&ÎÖu4âá7pÎëO«ÍÓ}*©µ¿¢Rç¬ã°~9"PìIZ$W1¨òj>næ"#qaÝï –‘†^ËA„‚ +¯ ¿NŠ¨Ù¹VîC?ýNg +=nAŸœBqqP–@oíÿñÈÊ×›c?*”,AN“c +endstream endobj 1022 0 obj<>stream +q„€½|®(åEì2ûäR;x;8FòœÖs'ð·—κŰkêt]ʦíŸÃF +endstream endobj 1023 0 obj<>stream +-} wNž£n%\;?ºBúóZ˜ˆx=…ÓfÉ£¸Ï«¯ Î¥ +Ä|27ÍBB®Ÿa*>stream +»¹Û¨&¤vY“£<§_Ty©16AsZ£Â ÏÇQZ,#?çZúÖ•EÓ2%8Ý<¯¼Œðá °Î‘uL˜ô­ +endstream endobj 1025 0 obj<>stream +÷¦ Ü%û>ʪ`‘&ÿz€@CTTGÅgÙ²e6Ÿû»s%i¸y]MÙ**4ã軲‚•lÛñd+7/ÜUk †Ã1é¤]ȯO´°óºb4~ˆ³1#P¥<íV&š |õqÞpÍâ@M +üû<~Ž7RI*¿v6tt… Ò©gßsZ +endstream endobj 1026 0 obj<>stream +ZFв`oèhÊg)bΡ¶)dòÙ¢W‚y }ïa2%_9@µ÷nu>stream +ñe›VËr 9Ó$º šºªöƒ1s…"} š¼étÂGe+uX1³~¥r]c^¢J[$ÚîÊÃgl WUi9T9üž^+N1ÎÒç]ØÅz€~¤~ŠÔ ?qOw†H¤Ü¸2^WmÅÂÝÉ ‹|m#Z×ý|Y¨CfóWµÒ±ÏZ;‡‰ˆ`·ÿÌ‚XÅwµç0-ÀÉEƒÊ‹ I‚P†D㱤ÛlœÞQÃÄÿ=¯Êëì +endstream endobj 1028 0 obj<>stream +}îöÕÚãï6ûj°ÉJÄÕKÒz•U €@·q g=î€ß30ÀÑ®ù}ê øÇÒ‹¹5üÐ. È)…oçÐà(Õmû_|ÍÝ}»äOô/¨0ì÷B™Ñîçe¡˜ 0m +Šл‰Qªv–*{#©©^zã5§½ð”þ¨41à*«¼û¶ç˜å[:§Zd ´ù… ñGÂ<: }\›»–CV^¿É Áί„“ÎâI +endstream endobj 1029 0 obj<>stream +KLb\MßORØ^3¯Í‘\ç} ª42ÀÇðïؽvjò·A„‡·Í2F‘ñvÝÍä«>ú0wEË•­‘Æ8_¿+a:¿õf ©„ +endstream endobj 1030 0 obj<>stream +¬oL³©œ±S¦x¸¸kÃe³ˆÑ¬œbµ‚JJ„8?å R¿åËEQe´IÂÕâù¤ïB£¾à¼„o VùC™N(&-g ±cß (ló²+†Q´b…u(M)£ë{dÒ÷;µâh(âD¼”PS¯.ìˆõ›O.‹Ö2ÁgÀeküHÝÄ +<Œ×Ô7V­pñ€$½Šuo>T0™ʾÝë=™ûNý¦€Ü;Õ8µsê-bd$Æ+ + ¸—"R³±=ÇïaÝÑÀ<±}¥Ãƒ´Zj&¤|IÅäX·À&²‰ØèËs©?OÉÿ©xݸ–¹2Ú¤[ÖØsÙ†NkÕÑu~Ô;gëo†odB¾ W”X~–ÄV‹PxkÕu3e¼tM‚☻!ùÃÓ ˜2iEç*]ã‚¥…Át#Bó ”¬’³Ìň©¯áÂæjsê(•§>³x`#®tÐgäÂÒkv­z?ö¶¯rçÿÌÏL‘\cV(…n‡€FJ LÆWz±6®~f€bÚ zT +endstream endobj 1031 0 obj<>stream +—$Ä%º±^‰`ÈdŠ7½á„6„T úBÝUJñÆHaM1ÖÿÌýÉ44Œû‡N;í­£@os‚L­ñ÷ܧF'Ç‹LàI šš‚ü­_eg¾ÇݸkêUÍ!?“1¿ž6-g†0î|ħquî|±·%òN5©…5'½¸âv8ˆ5AsâX˜uß&&©Ô,–QQYž0 Ö÷B¤•ô>íárO¡ÁË;€Â1 (Óù‡UÚÈ«Žlo£Ø—;Þ+Òc¬VÒuœoðmÏr¦šy$ø²$úË®žç/Kn׃e:Ê +endstream endobj 1032 0 obj<>stream +d/™“ý V1×UhõÊíøs·*Ž27tIâß­¾þ÷)Ëpãpå§ÿ¹¥p‰€ \[É»­5œ¥PÏ0p‰ÕckJÙ^ø´¥^ú·³ÏÎäaÁ¢ú:÷1b¤„ÑbßqÅÓ§®ûMdÓêëùA.—w 6Aer%Þðà?"³m@Bmþ¦œîŸ„ãÆ·5ŽK´/ ö.ªKèhS<+y?g&qÐrkÚ/¡B…ת™g‹fseNDS;ˆLºKÒ{èjÇ÷œèKA·‹Q)yËŠ˜ElÆ}ºÈuø"­ +endstream endobj 1033 0 obj<>stream +“Mãj¯4WÐ4.aRúi /jH:!*<©Q(Í—’mù «‹UeëtœP<Ó¶²étby½¡Ü«’R ù¿ÊO{;•©žj§Î„Úë³d¶;Úü>å‚d›•í–MÛŸ½Zyhž—AC¥û™’ݾÎL®³p{–nt÷ã”.V³t5æ}·znÉ k“¤,ÿm +endstream endobj 1034 0 obj<>stream +'zK^÷L‰f(ò¶UŠ(p÷E»0›ØÇ͉ÃXº$P²Èƒ³Ä(pv‘ÕôYÅNï8G©(šŠ‘EU•9Æ¿WpÔäÛm5XúÇŒ½USÞ6YÉ/b‘:û²s©ÿ¯á@ÀêÏKð¡«™ÞbÊed·šØL}jà¢C¶B>n»ÖZŸ6'Ú#ÅEkô‘Ã7šZ¶ªˆ7³:¸c1¿j]|´Þ–2Böî £w³ðå°å8n•-È«ŸÒ5d¿$Ý1Cê¼(ÒáCjVÙxÚ·dF«÷ŒÌ¥:;°ÖDc\ÇBäºáá÷b&Õs5ÀÕA…5±uÕJp-‰'"꽫²Ê1C~nL¾N¯ª¯HƒmŽ”ºHGºJû¯Y¥§ÁSA çÃ9>– E—IKByI.Ùõ¿ºtN×ZUJ¤e6nÒ¬ +endstream endobj 1035 0 obj<>stream +ÞäŠl…ÖV~Vß[§æ›·­˜!”·•LÁ5ŸlYogäf“ Š©Ó3ÖTÈHNÏóÃQÇl4íòψXäµ¥GÇüÇáãVÊéSêwÖ{\Zò'Ò>stream +cn\/¡Ú…£«>Ö‡Ì=5Öð÷˜ó›ƒÏü¢ä}áèÚÛ|ÇhRãîSÆ—õû©™m,Iåõ4¸S?lñ”½h‰’QžCõ×TåϧÍv§îÊÖk€'I´Qdв#éñ÷ßË¿úGøÐMúvÓk…å ]Ìä,8?p N=¶—_á‘’·œB°xôÄ®FMÄ0 Ûr²~×”­ÛµÙ›w©y&I3³@*%‚äÉ€—ßhõ<Îþô3VJ Zø@gÛ™lè`¡MWPýÇÕH¼€ó ŠÖkìùfK"­¶OF +lEÞ'i½7Ô +endstream endobj 1037 0 obj<>stream +dsÔ^Èë¼ï•XÅ^5kÖÀ,qįY]“Ãa´ªùÙÞ¿©Ør‚º¡ß-25÷B“8ܸW‚.w¢&*ºóˆÏz1ßïÄM&ГŽÛsRµ£kt—-MàŽ–,”ÞÈòõ‹ Â^XžýìeÎÅRÜ@€@–÷±XEÐ1ÙHÍ~öØ‹šX«‰Aqr†ã~É*]+Çþ,ê·®ÚiIe÷·¿¦"õ9P^Âw:·Jâ—ÁÙÒ¬ûZOêKÈݼ…à]86’IþÔ¶f8²ÃóÆ"™¯ïryÖ¸×Û œÖw*¤VK„5WM% +endstream endobj 1038 0 obj<>stream +újm# Ÿ›0 +H3•I¡®ÅÍŠvç°ÿãDÊü÷k}‰JÈØ.üï‹(,¨ÌX~hvÃÆ¢Cü‹=ä\ Íëmö:Ëþœ+„Z²Õ \ð–G +endstream endobj 1039 0 obj<>stream +".?³nŽˆ¢x¡«Ã–£ ¥2uTŒŸ[ˆî‚²7JDˆ˜Kï¦YÝÙ ³6hZ[Ò‘Ló¬ ª˜lõ ,Èpê8Ü\/‡Õ–"þƒ8ø‘ŸþEcPWáøcÙYmFª |~«dT’9#©Œ¹Š®ÞqÇÍ3Cë}ýPYP3fªn¦v÷ä{LƒÖÃ4Ø4Dؤªü +Þ¤^õt{lP]¸lN›)<6¤œåƒYGYöŒ±Mú–H¿aXox¿™ò_›’<õ‡Øw›½B·ÔÄûŽ›ž‰J‰´Ýìat.ÊϾ›—i?ú——Ìÿd°C8?˜_ó Á¤I}pÑsâå$–ƒH‡+Ì‹/> ç9ê¤oò?''­X½ ­ ¡©Cðhàmuzí,»ŽK5ô‡ýWI€×{¸C¼™„ä ê8G²™tˆ”§`—tò´£Ú!õ·\ Ÿ\M]­( +endstream endobj 1040 0 obj<>stream +CV!ÕŒ*¹qYd3U`0aø!·¡”4Ég8<ÑÑØïs¯sf%Sæäm UÉáì=XŒ¾P?[è‡üUì}¿ô Çà: ¡•â‡‰øåFŽ•û•Oñ¿+Çg-«íe˜|b1‰]Ädz½âkÜp¶÷ÇöÝ„þMç[“‚1ÀÁÒ=X¿F“rf¦vMK®à?k%.úˆg³°LÒEÓ¹pñrÀ³¢]cú”Ò,uñ‚ЧZ6açdûV5ÎQSá.5ó=W_Ò O®¼QG‘ˆ„)[h~Ø5²غ¸É“¸ +endstream endobj 1041 0 obj<>stream +Du úÌm~ÊóL¸´âD+™üò‡šÎV•‰­1ƒö1 ÙÙÅ’À€YŸ#W3’IxRô©#™@9â–RÌÌq?¹ŠàÙsºªÃÁ£)g|}kM¢XEƒã+POÀ "2ÆႪÙ@ –ÆpŸ½¸Ì‹ïäŒsøÊmçupbêÐW0vÞB°ŠU•“åÿÏ{µR¦]ñÊ›Ð\8èø$[-]å3 +endstream endobj 1042 0 obj<>stream +ª8ªjÕÆòƒf°QÀØ«NP›pKG9¯SP8.Ì÷•«ý÷L~X#žbÅéþ !Èð]ƦAÎbq:BAX“pyÄWS«Ä³¨fçJ$4Ãî³J"O|°rÏRì7½Â©3†º£»(ú¼ôL_U²˜EäE³"[— ¶Åë0c<_L¼ŒUø"òéì,ÀÜÑä@˜Çøñ}‰?°; +endstream endobj 1043 0 obj<>stream +pÐäâ…%‘Y¨ì$1ˆ—7yï»Æ¥x‘ù©8k>&‘.AHŠ(OY†5¬f¤¸œí°°M˜VïL«…̪vs›Œ³¹a›f0s1œT£Öm#ùðKWŠàñ±œ%Àzµ ñN Êó¦ó%êi¥8 +endstream endobj 1044 0 obj<>stream +Ì”•F©¸iç‚÷üKfƒ+•ZÀßT£ ¤£ÓËØY:áì` TæÝ7™Š³—ò+L"ºÓ—K`EÍ^aã®DáOƒ¦Å2¤«0Ñöfï‚ûs5ÿQÅÝ‘;»Û,–åˆ?k¦ÄzäÉÉŸýÆlßõýŸ×]gÅ›Y¦Ë"f¥z™¸¦%ý­7X/iØ5“…žZ0>Ž×‡Q}÷Š,«Ûfhù!è,Ũçé›<‹a¿žWîéŠÝp‘–h_¸jÓ$x’j¸‹l 7ÀËË|„¥ ÖÖJ°ì´ŸÏ¬ÁÕSuçÝñé€Av‹Äü½ýv +endstream endobj 1045 0 obj<>stream +X•j¤Ð (†K»¢ ½ XPˆÿ†*˜ßYÙ aÿÓ'¿5LWóš.>±ÔÕX¼mM=©=¼ùI¸š%µÒÔ¡¡®øÐ9:ßlÙ?.„wÁ¬@†Ë«ÚáŠh‹i$T¼;³ÂÊǵ=M§)OjÚÙ y‰ëö'I²60“ã^FB>stream +â-”f‰Þ8ô +t¦R3Ö ìybû\VÊފ̹`¨ÈšYbû=óøV¹ÐWؾ¿›>߆+P“»EWt‰nK‘*©òW&[X‚dœ¾%1IpÚa/ÿ–®‹¨öâ}xä•À£UïÐöNoÒµ0¡<»{Ù²¶ÑÛ)^á°mßd^ùøpR©`õ^ey ˜ä&hÁ%9r:Û +endstream endobj 1047 0 obj<>stream +@¹hºu {ÕÛÇY#L£±ÂÂ…„|`Ú¤”>¦ðØʳ‰‘ຮΠ3r)Љ˜ 6ðFgŸ© ,,a-`ÎF@ÇFÈýËõ<ñt¡ê4gó!¨}3šù Ó^¹™é}:Kœjž¢Äû£aÎ4ÓR‰÷D|°ó»FçŸÒ7ÁÑG‚“‹;ŸÒ¿äSP ù,ÈJdnM5ÿjÄpˆ *„6×<ÁÒ_c—pù³rcå¬CÓu&L::™f.{*C¼ô}0¤O\3§H¼Â>Ec…Sg8 qyÍ°jûèqû 3t ›Äh@£¿Ü>º8ž¢í*G«t{°÷H²¶è8Ð^ÇÌÏÐIÜ«e +endstream endobj 1048 0 obj<>stream +¼‚²/¥Ïz¯¨y!Ÿ­°4@J‡Á&„Ð&ÄCd[.YEÚssµ0ái™ÞÕkè ðvõµ¶¶Àº…”M"ü”íÀ‰ñ;¥C>ì²Ù±þšÓúRÕÄdWèª G~tƒ3ŸKȼö‰˜ü 3*ÙéF?³…|q0m<–FñL;O.=û% ò­y1üŸhþ‡ç`ÅÙåݘ´.ôªôS{›× +\,Î7‘?0xŠ6#ã^WÌŒh¡¬^ñݲsðÖlŸW.'ÆLéút€2)êŠcÈí¦âàñÑaÅgrÔèϽ͒îQh×"<ði’{øÙ˜ò[>ÆÓç_·ñŸwµûÑ +endstream endobj 1049 0 obj<>stream +s¸­Ÿ_US] ÆŸ5ž¢‡wHÎ~ÍZúv žcukTL]ÂÒºÅ(þթ·èk¡¸âï\pdÎg…Y;Ùù1/må© d¤†ó @{ޔ؀­9µ¡K’¡Gå☰3'ª2(ˆk>kÇq'J/Š>w À â´f‰£ uøá‚Ÿz^øR!ŸãøÄŸnŽc/Z´òZ«tVþèš +{9øûƒÏV¸œžNÏO埽¼¦b18lº‹~…K`©ÿDFÛ5üÅÉ­¥õ8º Ò°,¦ù¼‡CàÁoö6J!¶ŒÚ¿9 ©çr™ +¿mò`ÿzsl +endstream endobj 1050 0 obj<>stream +'Zı¹æ†C:{<1ÅÚÿgè„óÚmdpɦrY ó8NH—þ¯Xö ÜÃukþRú‚f…™»^•ˆÿ²p/ +,¾Nv‚µû ”Á¨S|4F³Rˆ¿W~(üÜá·—LŠÝ•qWá26¦¸·.Nf‹5DÔerhn7IÒ }æ)’RR»–ÃaÕóÞúÒͨbÑŒ‘û1µ)5û³(Û%ý«Û¯PØC bM-î1Wmü]ïð3™jKe›y™$žr’¨±×è‹Î#Âí±õ¾üÁÜPKª p§ÎSçðDœI;ŠÒ{«°‰×¢BMb©6Z–ûÖn駳EÏ*Œ=˜”Uœ¢¢÷÷ä˜:ÆÜ6œ P„»ü}‹b…ª×Ó—ZXŠ—ÑÈͳ0¡v +endstream endobj 1051 0 obj<>stream +ZΕLímI%,Úá#\#“ #嶦îÚñG­à®ÖN÷·Òý,ŠA%fgÌYÝé÷Çíº¢Ä Ð†ìÕäéãõ[©ü×àL‘nCš$Wl¹O¹º˜E ä•„m8áô]Hi ÉxusîÅ ½RrŽÉÖE¸Ïºõô—çí˜Y¾ôÝI šBK2îajTÆ {y\Ü'H-ø^ã,[œVf€$í[§%)$óeü“¢3†·#Œ¤ÐÌø¿8±ê ûgì|2ê–¦ÿ.@,=þ£œ •Nh–=‘¯q=Ó6b@÷¯§ÕLl1Ã¥ ZÝìò{¾‚ +endstream endobj 1052 0 obj<>stream +xk<]ÃXv½>¬Xå)áÉWŠ"œu0ÈØô-ƒì׳wß*L)§G¬[a±¦s¯½ b+üÊÏ@³šŒS§¸°É#çfGÇÃB`‡JÑŸ+«W•Ý­^_‹n9¨N^·ß&N h÷–½¢R~f,× •oGZ]ªöÚ¤. ·fiæK\üˆÕE%gVw¸#µÊN 1kÎg.>stream +Fõ¢k¬~òëÀK€ü÷òM¥y$·e¶<ÐÞ|öU¼™)x‚î*ú+w‘Ô¾ŽöÐ@¾W¿êžœ€àщ¡M"TÅ¿°'ÖZ~ªs8Ò·fˆCÖë²³¤µ";½‚ˆ Q +-#Ï&_—EÀJÓ-õª¬“”X ¼”åuªö6¥ÂnF +/b[o’¦FWÓ+&ëçø#]<¹QIÚzîÚgJ!Åÿ{@a ïÞh–oxÙšW®¾ +°&ÆÐÜX.Ø&ì’[d SÁòÏ ”U¾÷J‡5üã\u± }™:·W›ã‘‡Â¬kí‰jb oÙÏd.Nû톾‘¿™7AÆæEn‘s•E?_ú€p2*¡†K¿» u˜xL=í4 :ºPµÅàª8±?X8µùDÁà!d>`w¦|be™tÀë¨Þ2§j™S{è=(‹L 3—Ã64ÄQ ˆa§¸{:§•”HEb!¹ãû +endstream endobj 1054 0 obj<>stream +®Â–ù6ͨ­c_nϹ ³DI™6$±3­„¤¡v‡X} çÑ°ŠÙ‚ËZ +‰@ Ñoì&Eþ£…™–a—%Ú{Ê õµHÝ8,ü°&ƒ:à +‘XËÛZŒ>j&9OÑ î˜—fŒˆ»HKB‚c´ár¯裋¶Å£å–ŽNÒö·®'GóûÚ '@»°Å‘cAX¶©™‚y•ÕGc`§ôw%²z¾ÞÌ:0ó&†, +Iéux#’/xý—•xzúÓü +endstream endobj 1055 0 obj<>stream +ËvWZ"² ðàÓTà 5SáÏ¿¾|¨dünnð`Cbú«¨>.i;‚F\0òóScÒêâÐY9C¤#JÁ; (ÆÚæ}‰²Ä? ¼.\Š +hK3ßÙîhÈà(”7Mø¦ë„ _gÏ÷[ ++f«³ AÉ»ùŸ¼bƤ[ÔŸ§ú*ZFÀbéý ‚Aût$s8—ä¡Ñ˜çæ¼ßAæ³N23æý>±È–³~YDRÀt´àqaãÍÂäÒ„Eh¦s”¬àÅÆZÂ9ãÌ”í-/~öåR·93Æp² &B9Î'âÊ +endstream endobj 1056 0 obj<>stream +­YC+ð~z-H;5»îÅ+=jÃQ„ÉŠÓØ[;´4…ŒNŽjœ$ XsªÙÚaBö(¦cº¯ìP ÏšhïËôIÎo<‘Ðöß4ŠònÇÒ™¾ˆ<L…ª:(+—¿±!Gï™CjrÔ>ÊOÔÍçÕ,{ã탴ìiyJfš,ýë(o4£¹è:ý—|éüieG/u4iíÊÎL¥ê°þ`ŸPÒ˜5Û;Y’}àóãÎ1µ–ØèÈŽ¡7Xxø;_zU¦)d¢ Uð„„YÜaìzåÇ•õ­[§g:×jʤ8®Õ‚^ Ÿ„>vªwìï@“ÓQmߌve\¿éíbmp컸ú½]Gý6ðƒ„?q>¤ËÕDR\nð@ô¿\’<À +endstream endobj 1057 0 obj<>stream +‚q”SÆE×_‘mz©„‡/›ñ! ]fE¢„hõ¿è5©¬º^Á1~òÇÈ«˜ò¦ðÏÀÚÁdÓ˜zöìdí°=k»É,<„K±¬.°Ž„_X +x4(Ë€½ü‡Fˆ)àüÞñ¶¹ëŒ»ãCÚ‘ÐÆc¯‘¾T­¡4x…Ÿ«;!ãðÿÓá»Ì¥‹‡#êV&òG:È$)£ »ÈÏW×F½ `÷?«Q#JY|Ø/É"&aõD¡–ãM]1NžA)ý5,N2V°ï++æ×Iëéæ¤R>Gip¸„P•¾þæ5àÊ|„Z‘áHÆá"õŽˆp-hªé'ht0×ú•WŠ—YxÉn8´Õ@¢ +endstream endobj 1058 0 obj<>stream +`Ô§¼oÍwmºcWGÛÂ@² +Š ÄÅÂ]Pe*k4¿3Üq P½ŸU¢âW¾‹¼’­ºiµ£ž>Hʹ,ƒIîଫ¡1ž±5̪œ O3hq¾HèÝ´ôˆš!¯P'‚6—oÑ:®‘OÏtÁ¶æÜîX¢Ýš_{†•ë£¶;6ƒ ;\ùgÜw1Ë)¯N‡3Z8Öx È̱óé‘)xE"‰…–S¡›~šW¦láùSF{äŒr8 ÍX¼8ÉŽZ Û?sö..Ï‚b¸˜Õ}ŒËB|Õ +endstream endobj 1059 0 obj<>stream +öêÛ&¡ß¦ãn(Nô _ '’_K†Ò£ø¢nÓd–sÇ`—=L4r?ñ› +4/}K”ðÌÆm<®@ˆÊ‘YE@†FžÙ°À4Ð'•‡l;y‡—™Ç6[#âGcüdûÚg;Ì_H aÁ(¿kTÑIb05Ð+-h¸¿“/ŠhU+—¬ä>/qÎ=ÿ‰òÑÁN°„å|-9òGSm2a9u‘r©Å-´øéÕ‹ÄÙÑêâ À5YÐ'µÙÅiJ~SÌë˜ÆÜi(d‡âK1{ƒ; þ8ao«c +endstream endobj 1060 0 obj<>stream +Ñ*¢Kû**Ðrží¡ˆžÌϚׇ*˜Ó({_Ü.M®¥ÇÿÍ4¦ì‡ŸC“š­žL¢Ì|Ày’D÷¶§‹ ó•/° +JÑ&ÏøÒ¥ÏÜžUXâý²r¦ç^‚…RaWiÁ‚ÏBOuÔ‚Õ!¸Ëpö~‘‚%Ób¤¦iÞ<~GÊÌYX\¶|4«™Gξ®™ ÀÙ¥%mýU—ûÈ^Ü*£«ñÅCn÷PÐúÒ ŒÏ ìbQZ8hÖˆºi™:åçhlà M + +endstream endobj 1061 0 obj<>stream + ºµõš\—›0|AYhHþt8Ü«ôQ7Ð¥ÞXQgåqÉEæ-ï¯x¶ß¶~Ü>ú°Kh}×[y~‚:$–‚íÅ5º¿a³¦á ƒ9ê™|p/œ»IW&äpÃ'•kƊ𢉣)DèNë×ÛYR ‹W²iñBÌ«= E¤€ù|l „¶ãù€Ð¬ƃ’"¥9²Nú‰iÀ¹¬#‘¥*­/&±û!Ë=»«•ëœ€E¾fHNbŠ¿sÚ× ýÛS +Él>† O}NÄáL©´ÎY¾¾ (ó¿ §¥ØÐœè<…# VxÛM–»zLV 0âðNr=“Ûòæ;™ +endstream endobj 1062 0 obj<>stream +^{ÄŒÒôí +fpÝèÚœË`œO,®$qɬ®9 +Í,[“+ʧÈv¶$³ÖÁþ'æy‰ ¶ÔÁ…ïî¦j#ÝÓ1%“Ì@'‘}œ!úhÍÈzZìKÂ#îà× /íW¾ªhÍj{ž;ìL¾¡;ÝCµ;îÁî×â"º¹¿ë[ˆ4{µ½†©ªØZdð¾:PtfâÿiÌÞ¬ÛpOçþÇø†|­Î)ó¶",gØü£}¶lý^E`Ó¥çSÚàÝ7*|‡ëWæ‹ìÃñqJ½!]/w· +endstream endobj 1063 0 obj<>stream +3\áÒI2sA" `1—a4‘ëGæ»j¸ƒq?»6aR¾±Š_–pk ~R'ÿ}àp–†ðû$$àÂeF|%‰Î7#ö#ãÙ©–H6i˜Wê8ú¤ý¯œ +ÏttD›+ÎZ»kíå¬láÙu‰žY‚+Êø},:G3“…#^ZªI\äsÒùåÞ:èÕ +iJNÁó¸Î¾ûîlåîS`,èÚؼ¥x‘cnûjb8û»uô³¢KÜD) ¹–Ÿ»@:"2X¹ˆ¸æxüTª®ÝÙ31b¢\†OU4¹z«9´Æç””ú6ÝOÀ'»6zîÚŸpÞ° ÝP2‹Xo¶ ¡(&„ „0ËßÄwª2•5í‚úÖ•ÐìH>> °(¹<×(¦¶ +endstream endobj 1064 0 obj<>stream +_û0³éZ˜[/`óYy›%EÎw÷wGŸ<£°ð™Þ1ιN9üaÿögI—ù²´H÷"ÝÆZ’(z»—®é¿KNÖtå—’@7=˜è.‘ÒGy8J}>»YR1iŠÈå­µ:w„“ž`R<eÍ·ð«üb™ÿ ?$òД™œ ¤Bl †¾Œ›“ä ºÛ’l³ÌCs³ rIÊÇ´r.ží’’>²&*ïˆÏÖwBÿ_JÚé›ñìêÌÞ¤±·á¹3ÿÆøW¡>stream +K XÚò˜¼k?5ªhßÝ°ÐRsp_üvaÂvûås)>™‹Ñ£F»‡1²ñS(s_,T®ÊæL6ŸøâFä´Ù–ê9²Û@Ñ«¢Ø"ÐQÞ8®f*ñ¿§ñJ»ÜIÇç:g·³Ø׌1ØZ¨sBnhQ5JTؽO3/š«®XúkÆþi¡“²:úΠšwœzêPrÔØ9²ã˜Þ#@ϨÐàýÃŽ™šXÌ¿¯*ðÈaò—˜ßåi1ï÷V®ŽP†VÁsFd]:…B‰ êŸUÖ¯)Îœþ¶š€Aߪ£n<÷§|H;Iåéï]%ŒQ+&3)´Kä ÏôÄ¥¸ÄöáŠhþõÈËù[uªÐ¼¼Àó× +endstream endobj 1066 0 obj<>stream +5|6`³ˆ‚a˜ž¹rv¡ƒüØ×`J¡Kú™%ÌÀc*sój/–¦–»Ý`qNØèhQ¤Û¨u\€·ù:¾ çxr° +DÊsÐRsÀç«}Ý‘å>þº$‰M]¸@pmCI¿Ž:ÝÅÏÙdø% É&ÖB9à)5`JsÇq#|²º‚KGöÄJV¦ë›WyàþŸ`e¬pÕsÑÕsϨÆÙ}ÞDqÿ¾6O8GÌ­{ ®îÏ¡í]'Áá08¹qâ¬øÊÖL:ö÷Ÿó½¾D.áà+NŸ~½þ£^ÿ njПM4=zð#m÷?LM}C·ÝôÑOñ¨¿ç\p!XL*ꥡ›>stream +w¢h«‘Û +ÿmÒ\ y÷f2µI²\ÑzY;¸‹6ÙR\ãÓ#9ÈQpÿ3õ¼J!æ]\Muü‹˜=ˆ|»î™i:JÇMzÆdD1Ôêµ?`éÆ./»ëÑLJ›’Òw¥õjšå›Ï¬?¢Ô]QÒ0é|¿rÒ;ƒÆ[ÍùµEG3Lž.sßÐÚô¡Y‘iPŠƒŠÕïH68_ÀJøiRQ‹€R$ôk—GÇ°sZæfýƹ<]w×fJÞÕ,â5ô{œ1Lœ^TN¬Ö8à ‚}ü¯ûêçFÞžãù.[TnÍÞiaÅ–ÙÇÚÞ­Øž€ÃÈFÙÿC/x "Iì%3äðVLdƒ|‹ÖGúfû´4äco'™¹šw;ŽÙÇjtVÄEÇU… ÑüÅsÜæ©€ +ܾÒ3Äz¤nÄ'Sñ:@K/Å[c°e–¬¢lÙZè[N(CqZÏo±ÔŸ/ +endstream endobj 1068 0 obj<>stream +©¨%¨-jéPˆ®×¥/±‚vaÅl !MÙZæNás‰¨eÔFWbK–‚㡼³¶ƒ@Ij+u æ%+^ni7µvƒI€÷´Àƒþ-)*TÅæ1šHøŽRðišÉ‚Êòüü§UŽ°n­ÒÐ7©F '¸Ö;44ð¹©ðÞ9¤Z¯#Má]n0#¤w“ ÐvS) ÞÕ÷¥"jNa#qz>rYì ždíRÓceF+8s_¹Þ˜ËHWVô`‹9{y”›·t +Þ#EÓ Úæ"­ãƒI~‰«œúªXþ¼Œa†Úß|Zn¢|†)7èIiÊùtX‹"üÄÅd;<ÒÒ±†úosÏ‹À¸0æ€7¹1Ëæ@a×ð(‚#5αì+Sg%`,f˜~oMÓü¡¨[é¶d*ïÍÞZ©ìª0£^p'Wz9B¹b3š¤´scÁ½,µ¯åDšÜG—5lI D›l{ü†~¦@f$rˆ>stream +é£[Û^ÇQK”mfx9îünSÞMèä•Cò©ìÀ¡f’Ë«ÕŠî!¾?Åð‡–Þh-}jZÐ-sé û6lšmbKwŠ+„¿f®¬^$今Í46ޙ߮$±RÚy-™£JMà]öGƒˆ~&šýF+gGû¾}ê&F÷\¥[.ý¦"Õ4OWèe/)ÄU`ûäc^ßœž( ÊãX’f†îkËA¼4Þë/k¼ÊnyÖ ¹Ë˪¥ÄUŒëNšzP*dÅ¿Åõôºðó-ÀОä +©ù9à7…J5:¾ +endstream endobj 1070 0 obj<>stream + +ßUeâÆG}œ¹-vØá -rB‚ó_w¨§¾õðGñk?p=´ŸlêõÌh/#{20yÐù‘?;é¼£ß76Rï0t±×Ö™Šl[­räTýò9²¼ŠÔ€t³•1J3>?1Ûu´ F™?}¾Ù6þ2`¦ü«mn{:Ç¿ñaƃÍóÅ“®„ɳzš±;ª©µ%Ëš^j窈òÊ/“ê­¨¼ +ÿÃÁqÜšáäÜW6¦/´ñ5ÛžþO"(¸`!ò.dý‡Làfƒ"zUXâ‚í†ô>T;“xS&RJàGÞ3]×u°ó΃œ”Ûn=Ü Ë$]!Tºì„CÓmÄÔ}´bîú1.ûHn +endstream endobj 1071 0 obj<>stream +U'ðJLFÿÖËÖ½+}‡ [ã (+cnY¨x¾¿’š•Ë»åm™£¤‘ø›jñÔ–åÍ+*í>v'À…ú(†qêOùǼº\øªGÛ±!–\FKñ÷dú²Çco€~3ÜnÒ¥­hØo3*®Yçüœž¿ ¢ SÐ%u–B®þ;€ËÆ©Zœ[!Y¯Óš„Ê­?Ke3¿·ôpÖ(#9Ê—²—æø¾jMUqEÌsضf ! ¯ 'îsƒA©pZÉ÷NS6\tauÃ`f±´RˈÂô〣g\Èï;²ø0§ÈÇ9±‡¥-Åçè~ès8BÇ?xpÂßoXN.غù+ +endstream endobj 1072 0 obj<>stream +cwýr#ÀÐ&–¸k Ðäj´…éA[PQºîk•Ï­Îe͹&¿•?-@›o\ìG¢(”‹I«úr´/—¹ÂË“œ²(>stream +œ%{À¿˜“~ÚÕ±KÄÝ¥iÃUÏžDFÈiîþùò"î=ѳwƒ6™]hÀ‹vÿØßÕ%&†—DâäôéI(,úÐRrn븇ًþ‰@ W­vïÑ s1ê?5×µQƒä'ŒðûÊ ?ÙéÎ<–û¨ŸÌ3ƒŒjxu8©ýØßuZß>IN3˜rº£i±Ý{]ÿÛj¼ lD³Ò«‚¦Î>Ç2»p泜€-=@´¶w3pë8§,•¨„Û{2ô‰£Åätl7R’ ÂK⃉,ÍÙ=»jgŒÛ ˆáù/ÿD™:ÆŒŠ“ÑÌ–¦]Å Ù´%®ROÚ¾!ùÖB/Ü$)â¥ù9° +\HŸ„ +endstream endobj 1074 0 obj<>stream + Ñ+ßô›ŠÎÁZV*cEA•æþëŠÝ€‘x) ÀŠ!šÙPz~6 NõÝYÝô,ôþ.þÉEx`´§3šIº ¸v(ìÖú8i)?Øä›aÔXã)ÒÀ¤(¥"@ËL–ÕýeÅŸ&ÀCÔ'0 +H˜úZXÿOÜ9(d½¬Õ‡ÕÄ=ò{¬3"Ó¿|l9ÄË—K¡-² ²÷?0ka »EÊɳžJ²*õ”š4¾¥­¥1Ú³>½Úgx"Df¡½´sI¨ÆØ¥}°YPïïfØê÷|ÎðD@‘*FU£dBêp8µÆ[ŒÆê˜î-Ÿ_ +endstream endobj 1075 0 obj<>stream +“\¿þrwh +Ÿ¯^Ê„‡žIä6±ã!IJ€á“”0vy÷¡‹€ËPw·Ÿo532mÖJIœ¢¢Ã4Anq댨­æXÂÖÛ´kð)0-Ò4NÎVtxSÿ®‘ðíرFƒY»¸OVøÝ䢟¶&œøýAô ³’Q ~GWc á[»Õ•^¾rùóö)Ÿ„ʶ3—žö|ã~mŒ·ÕžÝ¼dí–\j* 1cì´ЧjqÆ{ †K«ô³uù謿áƒâgÔ ™˜bÐèù®žkÂC4OÑ]!“†(®él‡ -¬'Ì‘ +endstream endobj 1076 0 obj<>stream +Åk¾¼·ÆfÀ"üƒ…Æn¯¦¬Ii4«;“¦m‰~ñÄn釰ÜûRª¾KI®óðy\¥yg~¿§'¯JÓ+”a?ÛN`¨FØÜqb÷–èMk°Z)ζ 0H¬¦#Õ]>stream + +1_5=6ä—~¢/Ö.âZçÙtè’3Ø»Œ<cîT±ËÐh…‹“m°W¾^;%vÒ +æÀ<°u·SøŠ¾ÃýÆõ¯ûÛe Ìì6Eô«MV&­ë5ÐÙ¤ÐcñÛ8‰ ¼²-ŸÕ>14$J¤¢µLŸÄ[ôª\g³qçZUM+W¿Š{t‡·ð+¨'X@¨K•…´Î3m®€…ÇqöGx‚óÖ°jR‹Cû^í0Q’æÝ•¬Äǯ±‚Õê…t lú]3íkQb |ßh¿ƒ¿EïWu{,©äßt +endstream endobj 1078 0 obj<>stream +ÊÔu¢ä{”»ôÅô-ßn…±Bdôæ0 †‹ì}w KÕõ­ ]QøžTì¢Ò¶Åw¶UÞ’3Î,dYÏÄ<Šú$ÌÀ&$…º*›ÌàUóÔ$1‡ Š‹l‹®è~}¸ÃGm‘¬È‰:$±¥‘v™ùìâFlø„%Z”´0鶔]’éSãi^Ô×uÖª¤9])–çÞ“Ñ÷(èôIêó(„Ðv +endstream endobj 1079 0 obj<>stream +P(# +mÁ$¼Ð5§€â“2¸%«£çX[wÈÿ.õm…pÆiµ£hÕâ7|ù®ˆÔùÍG}7B€«‘·^gV† ÐoæĜã‘ômPÍ]*FíöÞ +m6¥]@–ý-5\gCNCl~üìÓÚÕ +[’¯“ïY‘zÖ*Áùí²ç¡-8è 9sP½|8ò> +¨%M§!p•<Í`Ì»rV^uY“¶s¨ºÑBÀMF{ǵ۰ÄÞÒO?Å2F ´ªYû—üÞ +è9›¹;ÝXšÈdͳOçq¥ªQÉC!]+î,@¤‰ÖYy`hÓ]º_æ¦íR¢ô÷ +endstream endobj 1080 0 obj<>stream +u. ï–¿tšñˆœ½¨k‘ÃåÑ,˜Lÿz¿gtMéÏö^ËÞåiBTkÚB{”ðÓÑá®òä½x–Šdà!ÞÒv«±-Uú7åZ¥"~5¯(òë¾›w]ƒˆàøhw9;áÞµÒfsѳA:ÍÖ%Ø©`¢l:Vi´’~õz+°åü© ã¾¥ªñ^ñ~n<&ÔD{Ð5ȳ‰Ö´"»1&Ÿ½Ù·ÀÉ{µ%RíùT¹[o¼>ÿa~¤Zg£j¿9Ù Â=éߌ÷ÄD^]•mŠ›Õï»^ ‘pG$À¤•Ð n÷‹»œ=Ľ^(÷ a,Ë’ò>qøáñ «4 +endstream endobj 1081 0 obj<>stream +ã+ì +´ôÁ]'iß/}$¡~¹Ñ>ÔNq}€æ.aήë=káM`Ë<‘@ýÑåGÏO7ë¥é÷-Ž™ÚÓxús?ã1‹4bœñð,ãí¹ç@=®Œwœ¬`‰vc¿U‡´Zæ5^ÅÉÿÆçŒL½ÿ@þúð›žðŠÿCϬ¬ ·Ó”º˜¾âUø‹#ƒCú\`Ûí”`LˆÎÍ ƒÒ Íç³ì7t.r•}©v¡|w +endstream endobj 1082 0 obj<>stream +#%(ES›ãýÂNð¢;\ÁòcŠ©Û2%mj›¥ÕU+P®t_ÿ{þ$Å<;ñ+`žð–lT ,4ƒdoùÔ +•[v4š»"ýÙgqÁô_h™qâëDÛ)Ø&9Œ²^×”¨â›FÎÀÐdäë•NÔJQfɳ]D +xÌêâ¥ÐöG>à #ÕDÄ}\&lâ‡*›ãäÂÇ\ƒ hr ‰Pô‹ç1Í à=¶¢‚ø i­:?é5¿¹`¢=›À☻\b +endstream endobj 1083 0 obj<>stream +:¿~þûYâ•%ncœ×Ü"ߧ轳E¾h™䥟IÖÉ%7w>——7‚àÀ©9%G¹q!^—e»Ó|#àŒ&án¨æCÊZ0º:Þ¦(‘Üþ!YÊhÂë  ëŒ{2žGÚɢë¶éë©«G@îpIq*'î|†œM%açè/f4æ +‘ +endstream endobj 1084 0 obj<>stream +Î$ÉÉt̜ҨŒ.¾H¹ƒi]:qyš,;³UBeƒo¹#`H³kå>eÑ0ÏÕ ÄivÐâ¶лFQ$ÂT†È‚ƒ¿ÃöuÓîù5$'n&:Ñè®›/û-=xß)tB§GO¥´$rgpû¾ Sµ“⧂ËzsJä$tBdi¹xÐÚµlR›½¹ñ‘„¦Æ¦,wѱ ¯ú¦B¹˜ +endstream endobj 1085 0 obj<>stream +i¨*o–½°ÉÖâK Ͷð¸Vê>HKJ°ñN×Ì5‰·Vh“½A„ZF‘a–ÄÁ_í­Ö˜eîÉP4Øó¿/?†´KÊ!h;|ì…õ¹èˆ1”E± óV³æŽ×ó²&÷7ÿ°›Fr¼z³¨i’ þ¡0¢°¦²ÃJçñŽ§v“Î>Ði B$):Üø%‡õ /¢l +endstream endobj 1086 0 obj<>stream +2g¥ÇX©#xUͲQ‘Õñõ YX ‘©[å`[Ã÷°e;¥wŠH€ÖÞùÇyåŒÂ£Ç‡Ï<™®Veº³hæëöqrsÇNiåkQ—ö”ÑÓq Xrp5å<³š­˜’ì%%‡å²¾þ +†ªrÄ5Þ@°ÓZОœ‘s®‰&@Ó¯øæÓÌK–#_*¸{ÝA•iš;ƒý±†i}÷Ösn—†¦™åD-šÐ—ᲤÇ®ƒ \$;Þ0v´¥)&.ÊõVDXø¯“=*/ž2<=cvc«) +endstream endobj 1087 0 obj<>stream +ý‘Öô)²éû-þ€è…~=Ö†½tæ4kêbT”Ž•s5#G• Ûã(³ߪ¬ȘZÓ`ÄÇ%²œdË°PŠÅ -=ž²Ïs]+RCÚ¹LÕ}憨ÐgªTh²E Nö¶MÅ9Ãk(Š;¢ËKö§=®!M¼bi2¬÷ ÿÆß™—òÄ‹J¾ ÔwK=‡]hI3$L@Mÿ8Í«l{)‹à‡)²ø‡»H3XØ£$¹r\V>{¡ÀÀ4ýxѲÚÓ¾¨xýàvÉ•( sOÕ)cþ–ѦÈ9ë¢$h´aªe€Ø5º©Ÿõ¹éAÅP +endstream endobj 1088 0 obj<>stream +ðž—8c§cΚGäè Qñ±qº¾žì4Ÿ²}’;?XR¿¨†~y ʯÌÐBäïe0–?Á£ŸDfwI”þJ|1fÜÚœ*$®Ë磥,Óî9, +wϬ¥ã8„=ˆ>5‹HN^p©ËEÍcÌqaíœË‡Sö‰4ÖiÎV ŸJŒïH˜9˜»*r¨×2ïH;(©[y‰âµÝ¯£~ç¶':,QüܽO²úCæ¹g‚)ŸožÚôÄí +endstream endobj 1089 0 obj<>stream +wÀXvÝÛõëgCÐ& æ]|ѭᢳʂ—Išì?ê$^4+Ò¶I°éÙ‰¾/è +Ò»CÀöó »VJSCØe¦qéà'‘œ{FT¬Îy=8i¯ù_y{ßÌuU# +|ØÈû‹½y€§/0ÃqäªeÛÜM{_ÉzßÄÿ¸°8 Mý×YÒV·Ÿ‡Ž¿á%Ù_ 4‚¾}¨¯zÁð„D—„ çtÊhÔƒ³«ÎÔƒ Ó:¹Ô4 +endstream endobj 1090 0 obj<>stream +]`šèÔœóñjfPûn›Ì+'6ËŸgœ +Àe­ fe.mÇ`ž,²RÆìJiÌèÅKIþ‚þÅA<9éžÕ7òn ¸cb:¸7–«º7M¤N°Ešp™ "€›_ì6s–»©»+ú†ï|¡Ó`ô Äcá-œm±OVX“•Ýì?¨f¶KÒê (ß.ÁˆJÞòêpPüø¦÷–aµdþßËWÚš~Q¥Ä¬x°@Ñ’ßÒ]Y0j)ÔîˆÖ¯ £ƒ ƒŠhãÂŒ%n^·i Æsëâü ªjþ3æ Ów«· +endstream endobj 1091 0 obj<>stream +Â^G’€N ô:º}¡îCWg5¶s'ÛPx§Køæ]üëw‰¥•*#”DÍ`Ç°`­¤l •;e9§aY'÷­õå›øš±ŽøsÅ5?2õÖJ>stream +ó(W6ãÎ2Í&Uó}Ö¶’W :Î]B2Þ]}úœ®!2ËY|ÔdË|¥ÌÕ ³Ö$IevW~2f=Ä*/ õ£]÷lprè¼ávmèû¸Ó" ùWmÅaMžÞïˆ|·Ëm’l_yŠ*`˜\qYúÇ3OdÂ`–¸T+ž•ì+ðRÆ„ÛWÀˆË¡¶‚äsmG@ì¶âßYGc’”4­xj`¹ öPM•V?’’Qe àê^òµçc´ÔEk^²aÃ$JbÃ:’ýWÄE”)²skÃÍ7¾ëò¨ÝGxYå‚iëڧʙԻ +endstream endobj 1093 0 obj<>stream +à(léÖJØ[­–3E—*$9¤·>§G½½Ô¼ìŽèÍ|zqk¾@nêßÚ¨™—$2}&”,gyáÜÇI!èÃs.šB…Ëcß6àÞMÌX¼h+QRQQõ3álûBÔx›?ýŽÁé(1þõ ;N+.ûØ&xÞ›_3†jœ¦40‹’ÇÆõîf£(ÍtT ÝqhǦZ$$£5v¶iÕ>6|Mf‘˜˜}.ß$B Ž&­öÝßæ’™÷¶iuõÎéÛòòJøg–“·ËÂlkܘ)4JØù:çÙpÝ?hR +endstream endobj 1094 0 obj<>stream +å‚#ãc†Ë)(QšÇbÌe'ʦlå·(QK‹Fs0ÕVЄíëž› Qï•xÛ¡âw.%}<*“PK2˜Ò¼N|vpð÷(„ØÀ¬z«QñÉÅ2]%‘QÇÄôÓ§ÉÕgÜß×í4 àöB%ÑL"à†Ê¢ú}¼‚Ǽ"Xb&›ràl‚ËB¸V|Ñ lfNWÀ$ +¤¾ +=hz„ÞÃù_üÏþ•„¬NtpÜ!™âšw§ÚÙ¿ôÒEYP +(1½íÂ=„mŠ«lî2´{èt*xñ# +endstream endobj 1095 0 obj<>stream +åâªÛo×À +Î3 )nl,ÞüÍ¥eAþl´\CäËnge «Ü)mÝy{nŽmìÚgÌPhbobôˆJ;f1ý.´O+ñÃCìož1/q&ð¹Ã ߢ•‚V[4x}É \}ú_w‡ÆGÒ(ØXá¦ò,Ô‹¢—qE¦(¤ýˆj}!¥{r¶rºÏk,K{ Ðp¿k›šÙý¡˺séC´÷uÇÛŽ¬lYÂ5Ë=ç_w#&ð 1èü †¶Pƒ#6½ëýUì=ñð[ž2D7 FióL3‘CZJð=ÜÿQ †#ÜD"+:è« +endstream endobj 1096 0 obj<>stream +©#ñsìnÙ io}êgi¢' Øè{“€ã Þåù€)3Fej*fQ¾áÙ×ö}lßg¯¥H ÞÌak˜#¦u;ý­PüÿZ±Š´)«&”>ºÿ•ÜW{]{v–Ê.²¢,_êiÂùŠƒRˆ¹¦èOíó +endstream endobj 1097 0 obj<>stream +òçl x~»´dÜJ«T‘c•.Lg¯O(äV¿•sf27Q}µÌqf†ð]i_L±f)96yuF‹r³Ï¹zœh袾®“×13«g#bKîçضl_jMÑ"åÒN0E ?¨ILøÔ^:Þ§ŽøÇ»3B¢¸‘—î–߃›úkÛžî]¡ö2ì蓧:χ‰•ñH,ž”B:<=8O¢]z[-IÖSÕw90¥§C +/VhXÌ¡XÑ#ä¦jÌÈö唳^XÆ#&ëvÚ9¬­U;z2Ý +endstream endobj 1098 0 obj<>stream +Ê^ɯh®¡&ª¤IÞÇNݾNy¼zßäGågOÄå’´“ÒÏþdm# ÃÀ꧌Puq¥¢elÛ»¯¾59ð%DŠXÄÍ÷ò‡“Å Ảûæ꿉6E¶^ÂòQn®‘]‰uRî?ÜwÚÚÜ^›çá@r×–8Œ±‰2ý¿Û ‹¿*]@óë>˜•4Ô@³Äò—%ò|}]9àoèP›ÿ‚¦›öZP=— ¸Ë8T +endstream endobj 1099 0 obj<>stream +éJšM™–À¡èØqàÔ™@wέ’cƒÙiþv.dzÕÎÿ}Æ%äËÏÝÞâJ€ù\á&)«t ÙÜТk¾D…E>stream +é‘El)tZ>‡Ãw£õÔ,'Y; + ó|œé,ƒ(þspõJF•uPKf—–Þô‰:4úÙ/d¿”>„”Œ"õ«?Ó†.r´Ùý‰ª€L£“?Ï$­š#Kê]iIÿ‹ì²FŸ[Ž–x"ÓÚË[¸€ŠøÑëÔ³ìpê$¹ç5ý}}JA…‘Ú•!eÍ’Oôæ*‘’069ÝvmØ®þ"þ9º,aŽX„Q¿Í¼…¦ýXšŸ|f±rcŽº7¥³’d¬žüšPa+͘ˆ½yRs¹}…å¼xP—êv³ÞqB>{JM÷¶ù5œ>º“ÞF) ŒêY#ŒBBÔÊ£\ü^! +endstream endobj 1101 0 obj<>stream +B=ïÕ²òž†¬*)N Ö6ÜsȲ¥ É­õâÕ'õ|ŸâÎI³7¿3\†Ow7oeý»-Uôry?i½'•ónÜ>¾Ô÷û“òôZcYOœBiš,6<€Ïþ˜±Cä´¤ê®?a,±to¡ Ž´4«Ðgßr}ñ³ô½¾¥oÈ‘>ÈØ+þDá^S?Ž¦b±³9¯Î_Ÿd9g‹=zÀi4pëÜ/Ž¢T |Æfè,óò—#Ë)O½‡j=[¨„¤‹3žK9;¼Ž³Cß½‹RÅg鈅»[ú$M£2;/¢Âº +endstream endobj 1102 0 obj<>stream +:„3‹‰Ã&=ðóÚÝõ¦iìÎÆi£rh§þãyÙ}AS0Aû&hËyÞêx¢x9#·p +èPsP3Zú‡B2|Cü§u縙—GØÙ̓w ˨z˨ҩ®¦ª°l|Ü5¾Oî´Åàí7þE§«ŒÁŪS +endstream endobj 1103 0 obj<>stream +CuŽê<ˆK)=ÆD?:°8„\3g¨- nÚt*žvìŽs¬ù‹@¶åœ¬úå!qjÂpîÈ(D!dÔA~ù®ÒX™*MIÉgõõç¢>‚QŸÃ*²=aá(V'ÊîÙœ|>eÞ›åò%Ç€ZiH¿Ú¸è-^‡/P£ë¤4Q¹¶“¬yoð/{AÁê~s×2ýëù$@étr mzŠ¤éœß†áï¸õ“çžñ†çžC2ÞÛHA(Á8•i-ì•áù‹JMÙ|î$E‹ÃY»[QäúY ´N•~¥ó3lƒ*G³7¬ƒùòˆ^ka©<Ù\R©&¾?pjù‹šlà!¡k6´Ïiò"òÎùk÷!vSˆxDABjW–üõÔtŽF´ aÔЕP¿HŠÏ…½SßÈRð[_¶†dI³Ã\7Ê0˜¡ýmÓõgJ>×é1s1À·Eû¦Ör&:ÇV<øZÞχìªc3ËÀ‡O+㇋ +endstream endobj 1104 0 obj<>stream +2ÃU(P¶wÈ£&?\âu>½õÿïMƹ±ÂÌ’áÍnžP`ÕŒs;ÈI¾îõž¦<×ÉJÁýÌAÎSš2znÞÇÅv¢Hàæ¬<Ú¦,²éEü2!kõK)CîË#Ûh™ÞOΆ7Þ/p¢¯4Êh|q<¢ós¸@C!d¢§=éÇëe%åWàñ±6ò" &SÙÄYñQ6 Oµ$磰K÷‘ÒFpúuKPouåÚÉ×»Qmê ,‘r)ÌYÃÞøanÖÑ€M±ëÚ.õ,'*©ùÁÏéÙýºZÙ‰H© +cƒ¤y«ÆÑÕÜ›BÚºÖþ$•2#Ö"Ø­?ýïÖÀ¥á]´²³ÏøóÚÊË?[‹6Ý ÖB;kõ!–¸îÀ‚wà³ô¸h±ÃÌoTrHb­³ îQløÅ4)}5 ÕûÑ£~@$lµÓý~""jò¹Ó)ÿÄ•#·¤ÒPëÔ/8,î­°b&äýõräžÊ”X‹„•Q¸¼A|_?ÁÕ‹¢>stream +:b×^èÒ±šwÎs¤*%S†!‘$éT6ŒJOžÆ¾M¤_Ê›/ƒeW¢÷üþxÈ „ÏsÚ§Õ»"õ–ðÁ¯sOØVh¼¢d¢e´(ÝÐüPO‘K¸aÖâë¦+·j” +’¿.´òÊOìfHfíûÐnäd+™|ÌyfÓ| Dÿ+O¼¨šƒñØ_t”@oÛÅœYqn“áR-ÎØxšnßãûÇäaµÒlr×XÝHÂÓƒq×€9‚0 · +endstream endobj 1106 0 obj<>stream +¾"àºWJmŠa^‰œVa‹J]WèDxâّȿتBÇЪ:¦ÀÂB‘÷nMtu,ˆ%Ž9¥LMx®“¶1GEU%¹!÷…Ñ_……aY̘ìPáëO·ˆ&½$%”ÊeØåºx…·êèöJËš,ŽàÇÙïTés +endstream endobj 1107 0 obj<>stream +Þœãs¼6¿Ä‡ÍÓjÄõÂê»û]ùÛV{š‹º³5ª¢¦í{ëúœOÚ`¯€Ñ$Àh8Å®¾©ñÿªi»+]ºÄG—L eÑT$ü8úz›B þŠ:™c­¦Ögý°#Ú³r õl«|FæϽ©`ÛOËÛà”þ—§X°¥y^Ï¥‰Õ±ŠÆ•Mš¿(÷ô_Y +endstream endobj 1108 0 obj<>stream +äy3Ù …¢Y/¡<\KGÕ³üøÔØ´¨!ß—M|;–䂱ºK’#UÁL|BQ ÀŸ:ÐbÁ§t•Î~·8ˆBFB†Kø Ç.ÕneÅÏIݪՄˆÿè yã+X›~ë«#c\(I½ì‡~¸p¶ç‹£Â#c8 +endstream endobj 1109 0 obj<>stream +ã×D6þäù#µF¹tQl¿ÏâŽDr[Ž¾ÃA]èßgX¬Cßç5ä ;Ÿ»s ±ŽU0'óE;µþ|‚‰ç‚RùŸR¹$”»üŒ¡`¦JfhÒ¥ßfÞ½jia©ã×µ¹¬òF«}€"óò“òŽýb hÎA=±¯)®r²:ŸìˆeŸŒ÷|Û}à£ñ^ÉB¹#?Þü£ogF…úŸdæ9(‚bï:ë+è‘qÆ¿;?o? +endstream endobj 1110 0 obj<>stream +dæóïUã{U<ä[ÍK{€jµ]ÌèÒ°ø¹.e¬&p|>xï!ÆåaØ1—k?x[@¼û âèW4 ‰6 »îàÛySåe£@(fÙÙ!0„ªÀ•©Ú0r®Ÿ€=ƒ™‘Øf˜¤w€ÄZý»cÄMÊ'˜,H£¶Y¸âèþuÅùZëŠð“=Z>±áƒ+<•ë£ Ø@Á?—NIÿ•åáóYÇ 3j\|4ᜠ%8 "*uP«8"“@jDEi{Ëbéñ%Ukï9 |ã4\AõórÍï­®3ê…Ë¢iÕË` +endstream endobj 1111 0 obj<>stream +(²,…AWfæÀ±Ýroà5$ÿ~]NÜ;@ à•É§éî·‡:€ws¿‰X´AGð༗Rƒ ØI\iáÉ_dQúãdg¾‚ž'Ï ‚nìù¡W1w¤.Ÿ¿¬ijýªMúÉä ºí¼öIãx‘L1ÍWkÁ oWCS`ðßZLؾ¯Ë40O0°h + €¿ ¼· E™sŽ\¼oíSSNôB‘…g‘PPmmÚüŠ³]ä™=R;1<è~µ‹¿[”ð¸Ù¬»Î¡3•bT<¾$”ôÙ‰îÌe_ŽF–;ËØ0À¥…ÞíMëbÆ&¨´¦S~bö +endstream endobj 1112 0 obj<>stream +2sBÌЮ¶• CñéEsíðè¼Æ¤¢k|²àKõ߯Tt_ôñ_.»žNfýl®ôÓØn8‰±šÕ"ß9È2´®æµ… +ËpAn#m´qñ˜^^­X(ßðßuߊ å}xÀH9wÏ­²ù§[ƒIdéQá–¶îyZ Ùu)/´ö>€#ä&^?9(ýH4<¸ÒOì´ŽŸðTz™ÖöÈæ#nÅ„P^2×W24wþ› +endstream endobj 1113 0 obj<>stream +xc­Uns—>W6Âz–LT¶AVÈ’Ö¦KÌÚ‘$±ª/êvŸ ²Í´MjD°H_±½î˜[‹L”pz Jgè«—£Ë¼è“óΣëš)$ ƒD8¯&}”‘ +´ ¢«á7Lƒòe´Î‰£vKqôþ!~XZƒ—Nf‹£‰6EÉgçG˼¬$ QÈtܦiÊ«#½$ÒÎ4o†zR«ÜÈû Yú¹ {ÚüðCnªªŒÒ3ë߃üX>oºø ©¢ôñœ‹žÁ" +endstream endobj 1114 0 obj<>stream +Ç +7 Ô~V‰äaó\yÓç@’PÑYBQ ÂQÐê"$%ÂëèÆ}rQŒwí€+­öÙ—Uy”—‘çuYº|ùP8˜«T$ýFNÞT Ù2Yg +áe˜’û]Í%¼6¤*¯|$Håzµ³”Õ*ˆTTÆÖ +­‘š}›Ç€²¨ñ*Õ:ë8œ5 35i¢@ó&m*'Jck¦?Xì&g$K8ê9ú(œËSìYh½o¥ +龫–ŠÕi²ßØQ¾0¬ j[7KÔO…È ÿÈ”.mf*£¸ïŸcGÏʼnìyÀrð܇#r$¢-Þ|BËO[¦šo€Ø0Èu+ÈØvùm‡Ì-_!sn +endstream endobj 1115 0 obj<>stream +^'\‚1}ùå JšìA¤·:¾ÞKée®õJ÷?#LDaÛ›ÏQŽ:\cO"„ + +_ÏXœ‘b'Ù²§ rÛÚí\ó·^;Y‡‡žO×ÂI·'#>Ma©ò¢õQºNpu¡¦”µ.üK{}²SŸÐ^R‡$…•¶‰¯Â³¥Î±íØWƒ„jwNÛW/ÈÜ*/Ò[Ø.À +endstream endobj 1116 0 obj<>stream +¸È×ê¾] +vÙ‘Q¹´‘¼lZ*Sõ– Yã²TÊZÚ…Pa¤Òå~Ðaµ: WƒuÙ™˜Þ«ÂaéçÎÎ# —F& â"QŠV<]~ë„gjñ&*|•†$ýóNÐåÀ@=–`²À9Ñ󥧓%G}q¸]y$Jþ¬’¾(ÆðýdÛD²KpÏŸ9} +endstream endobj 1117 0 obj<>stream +÷Ö7q„ÿYÝLÞy&ú¿š¦ò¸&ÖÇú0?,¬Ž›=gΠ3Z+œRðž³0urc%éÍKŸÍ ²çÔ9úSè‚„Ðíjb ¹ïô¹û“òŒZéênB+)Ѩ^´ÇÝÃ+¡8lŧÏ!jY@ŠÅ}u2€M·ÝqU• nŸ«eáõ +ó‚ðî »õ'bÓ)ò>çÐè&"ÿƒ¸ÊÇäàw¨Ü×}’£ºi€zŽ‰ÔSÙÑ,Ôÿ¢%ø&ˆàf¦tÚgw£ÒÄ܌΄è›»`•³•ÂJš¿õýæ… +endstream endobj 1118 0 obj<>stream +?[J}d‡~“ø¾~E”Ê +u£Lˆs¹ßë«Ó¬<#î,kü »Z¾tøq€ÄñóõñåÑ ¿… ÔBÆ­ÍvKÑÚ›_h`|´îÀ¥¥ÍGº\ô„1€ù!o7åF×ã'ôHû)ƒ×£ل粨é¿ÒÞ1IÙ4ˆØ\ =}b1[Q·'!LÍ[MB C,Ã6Y(šÊ¼Eú–(7ìvufàì’äÛL›F.š¦±åºÍÐeìóÙãóþ¯“‚1Ìëñ¿°¯†Uplëø–Cì€ç«ëi]†åB=ù)¼À¥ÜW€(F´»ƒO¬èÁúˆÒ†Šøë54¨¶Õõi”R1*½—÷ßâ>ð`UWACøwê•Aœ'-J‚å?E ¥kŸÉÖ |=>*jÝ2Óý +endstream endobj 1119 0 obj<>stream +[ÅO¢‡|šÛÆ&~Þ¥;æ϶Ƈž +endstream endobj 1120 0 obj<>stream +wDÞ2ÏÒ $°×ˆbF Lòáç)ËõþÁrÞ…?S½‘HÅf¤„™eˆYºóC¹$½8TúÄ{Æl;—TµŽÕgòª…¯¥Ò¤¸™¾cvuÞ¤Zñ€ Q°T]Vl z¶½è­ùØ&ÁZÒfpQMûÚüG\s%r^ 9”=@ÖìfšÃž µ‘ô§·Aœ|ÐSϲç5šþ_–‹Öhîã@Orÿzœø çÆJ”Cød;_¢öËÉMUÕô 2冥8?Ë +endstream endobj 1121 0 obj<>stream +¿+®Ý≜^F/c”»A)Áݯh èBG yj‚à‘Çl°/ÜCç6Å9ôvB¥ºeZ4Ó®–“¾éÂ[1šž‰ð­³]{ÇLvhÿWÉl=ŒõY—¬Ziƒ{os ÝNØ4Ž¿s5˜z€¬m6fìgýsÞ„Á7éWÑh©¹„’+à7—§Óôæç2Ojx§¯(|+» Úàî1mV;4Þw5×AžÊ«Bñ¡»œ åµñ»¨ñ@I’ñ×›ô©NêÅ[Î9Šæ†•ƒÙ/Åþ¥ x½Ù‰Ï1½=d@ô‚wâf½™ s=ųüÀPî@‘¹ïàžÎJNŠëÙ +endstream endobj 1122 0 obj<>stream ++Œ.¢$‹P‘ØÖêªõ“$Ï|Æw#ìe©P•V¿äÚžŒ;L¦<í)ß·ªÅ,YªK­vËǺß‹ç¼SÅq˜ƒLz~p½ †­5EÂÏò‰(%E$9Ü,U _ nH •PŽF˜Sª!Îô>Ò‡øV"Ò›ºŽÝ•~Cÿ†Ù ½s‡ëŠ¦:æÌþ®¡Ã/¦6™{ט’u +¶¶¾A3ÒEÉxœÙòÉi üBž1Á‡ÜGÒG¯n@5eâá)Òˆ0 +endstream endobj 1123 0 obj<>stream +Õ?²ŠŠæÏ&4šyªÒ +²²7TƉUˆF„‚ˆþxJjû âeQV‘¯’Û7Zp$7AlY𩲫^ûˆbÃ@²£Ó<]FÞÆêÓ^÷Øy!wðÒ瑬YK£¥h¬ ÈŽ¬‹Ú"*…—ý.“FÆ›ëx·S'ûGÎ7ÌGM<† ‚q1ò0<û›LÃsM_é8Åú8&:q{nrŽB Zn?ë`ŸùU&4£ +endstream endobj 1124 0 obj<>stream +NCßοŠIb1vxÞZ˜YÉmçye¤Ê‚ÓÏŠ_iÖ¼õƒñò0mŒGRMï™Á]sáGéT*asCºëŸ‹ qbdE#ê’BþÄuÙi.èîÛÞ2I‹BFíq¡k#Ä·ÒnÝÛÎSuÓ P¸¬€ [Ì ö²Ùš^¤>>Dz@Ø/üM¦¨¬·˜3„ð;A®Rt‚é|ÐæÚ1w²§®u¾¨UšiÞJ®cÑnlïE6°qTÕ—z&eM»Ð‰¶… +endstream endobj 1125 0 obj<>stream +6»ÌÒ U.œÂª³OÙ|@ñlïZö^@6ûGZ4š"^—ÄQawš«Ñg¢Ë›°ei"XkÉ•5Úój!ö$=œ+"¹”²r^ñ,æÉ÷b}­"«ñOø+uØ›Œ4BáL$’}N/uZñ]è…#i¥hEKÜsßbyxñ2rà5ÂŽ}Ë0e+ zõ‡}ÿ‘ƒ +endstream endobj 1126 0 obj<>stream +‰éå +#dåTAf°x®„ÕÁ{@‰«„Èò3’”{b§vã+"~Þ½$ã7^­o¥"SíD¯5d£TZ>0ƒ«ø’°Ë]q…´4ÇYÛz—›·çuF}|ºÁÉ»(»¤.ºE´òDyÕþ½ž™/\'ðU’Z¥}+“@yÉ=àè»aZø|âÈëKފ׊`@£ê ^R†Êϲߺ’YCŒoÎü㌼–½"ft–¦JCGþ÷VT&¹ ç +UØyÝér5Àš°¢îÉbVMj]!áæNGyDò?QÑ÷ôH~4uz +endstream endobj 1127 0 obj<>stream +ŸSŸ Úý¼3p§˜G/I3ä³Ä@Ÿ$ƒz|Tê‹Ýw^!Äôä:ÑŒŠ%Ï+CŽç“a¬Oh³í´ni2Öïp£~÷> ëÀ"”Žý|žë¥²8¼oA¼®áL’Í"îñÅÌwû;Áz…Ûapi–ìš‘D5·0·RÜs—é8c™æ„$ )8ô9Å^ñn&ÑßãsÑ}KÓòÏèqb=Ée>.B +rZ@=¡wÉ©bã¾5Ö»O} ä;:ô)€8Ú³);Œ¬ôÏÓ'ëêÃD4]¨îxÏ#þ„œ»°nJEk>SÎRßlaÑ tx.‘Äp7ÛáGA}Â*S +¥·Î*]  ñž%öäü ]oÙ8‘íwÁ«i¹¡+rÛk*Î1ÎÖU̶hG‡–Pqœ!Õ23hò*¡$ ¾}bÐàû”²<ò}v)‘ª“ +endstream endobj 1128 0 obj<>stream +—“^èÀ¨¨N=êÙëxA€_¡ÜÁ3Ôø¸U!Ö>92Œý‘: +’’Èõ…ê?J¹s¿ +¬Xªa<ÊÌTENª”òkTNßõ´ÜHûQÔpäÝâ#ˆ-rV@³é;NˆÃ”]^ÒIë^IëMƒ’ ì‹ßš;ÓÆ*Ù×øîI¨iŒ)"ªêE¹ÃqÈ ¶à˜@¼(ù˜ÆÊ”1#—Ò›r½YC†pCu35m“\©êÆü†vî'ræ|aÑ·5 ÊÉt$Jµ-GTºRûo–Ã^úŽçঀ +endstream endobj 1129 0 obj<>stream +‘Eqs —=È rM¸—¯7'ÌB¼)ð^ë¤J,¥*ÙçØK(:RÄW¯x™?¡ºµe¡Òˆ²ø;eVf7^’‹•mðSH¥7èF1ùg‚N™l(Y±Ê+êà#SŽ»åvéRi)$#v,—uÀt[ï“LR7C«[^IÎdžËsÌÂ:õ ӯׅÐ{¡ª¤DŒ]^óuGwêå2÷¤+„öúóúMÍ'‚cßT\®Dî­(-csù³èÀô`Ø.~ëëìÕÕIeSÎîÍVRË4qÜó% œ+=@©<ôå6bsz` +endstream endobj 1130 0 obj<>stream +¾¸9C'Ù8v3üÅ"8ðü8VVaTOƒäWlÆ’Z™~`åˆúwT4U³p~|5&¬¸óq €¿Îš+ÌîÝÓª’ˆª‹>stream +¯*Ö-QìÉ^QXHYïŽ=5ù,ÐáÇõA Ë[pÝTÄý0göÔ†ÜÛœ±êYxàIÖ#Cïà_³rBû–@yP%ó¦™;3â0\8u–<ÅÚp ,HaîI!#¥vÑŒ€º™\#%Ê&›h+³5ŠÉ|´6Ø)çà!Ða·%ÞôÂÚU¡!º ÷ºJ`F¹ô³ÐWqä)ƒÞeKŸšÐ¼¥EÏÇ}ÀVZxº”Ö¼Ìz8±F5î_̾qª^ž1pï•ØÆoÄ/ûê,Ï‘Ÿ òÐ÷òN&ÂÖ‡Q8æ·{³ +endstream endobj 1132 0 obj<>stream +Ë¿ög—n+ LnÖ³te-<|gNøÆûP‰!Ý0tžÎvl>·(¢±Ÿú\AKÿ`|Bm0«dIÍç¼ÑF4Otð‹ +¸yâå&*“w ¥{…ý´U]è?^¯à À)˜1çßi„ä4É9o>_™zÝ÷=+ÅÙ¥b:Ù‰Bߦx jÇÉ/Òe%÷Jë‚ãlÍBu¢UVÂckÈ]ï))ˆJmeúÒ¿cî´ó¡¢u!ÚúnÌwòª­EæsEÆdù°Éâq¯0™ƒçŠ»D.=rß3stmái@˜—¸®áp‘ÁÓº/õê{ f·‡TÝä”Òawy*âb5@ìp§v7eÉž_´«}gu²µ\ +endstream endobj 1133 0 obj<>stream +/åIt–Džƒ:ˆpä‚ø:ª7Ö›èC!ê/ “U²ÿs¯Ý·êoÎt&ÎP±ÿ×ÂóO7„;Àqq¡ùc2~EO~ÊwŠ(Š3Ü÷®3ìÞƒ\²?k¢ÀTuž”ƒÂä7„ vöö‡ÂY—BJ•çO®XbܾNß +ø±‚9[G>V¾=x•B/Î{ÛƉ,jäFn=ªËíe’ž`ÆÃLÏ0Y„@Û‚rÀj»àbÿÍÆk†V:¼;;]Ç”²x±yÚoâ#˜DôÜn–+ƒ€ëÛoªqjéÍg6CA59yÎ +endstream endobj 1134 0 obj<>stream +̾^îrtØ_`yi {]¿‹¿Ž=P”%qúZßc¨j hXmI©ý:+¼Õõ–ÇáUËV>±{ìÓ’'Ù*£¬>ÆÊ_;ré˜)C2bÁ÷°c?·^ò²–ÖÒɬåƒÈÌ.w«¾„²à7켯[ýÝê[î´Ž·ÂæÆU™IY`x-¸ÀçÑÂøWùÍD Þã»S]©ó^\"åaOÕ>kRúùé½Kêò²³¡µ=ãÄMâúgÂCñþŸâêlT¼NCofI—sõ†®æ +endstream endobj 1135 0 obj<>stream +ãz“ds Ѓ¾I«úå&|…×$ê®´’þ›fÒÕ¿ÙÇz¶/¶aM0JVtÙù©!˜¸UQÌzÆ슫‹_0äf‡-Åë1b°$&eÐÍ0Aóß”h"¹/‹|n<É…§NÝŠ‘Ò áÅ®­=|[Z$QФT˜DFÜü2=F•a š$]û[Aó^c@ŠnIv´¯ób¿©ï¬ˆ.XK¤|ÖÃë„ÚµCªO~ïE÷ +endstream endobj 1136 0 obj<>stream +Õa {¶‹*Ð?ñ`°ÃsZàÏÑw•ìÀ\eÁáw.³¢Æ´NTÈèC?6 ª¾NGüq(@¾i ~÷9ÚÉèèe?·I«ŸœÌ@²³áÒë—oÀ´m±J~–7å; G—$½V¬êKÈt¼ c÷š0•vð8ŠÅúkK%Ä€»a|2º-uù| ø… +Ôðiª%r®}Öb‡ë­='P˜ûŸö™!’¨ø,îSÇW£gCêéQ÷Ø+VJ‡¥m•¨ŸqîSvéd"fRº4+Åo–OL¸|Yát0>¯åU"ȱN÷~ù=”(½eWÈUñþl«p"ÏVlÀVÏ Ò +endstream endobj 1137 0 obj<>stream +H£xÕ™ +smÍ“™¸’Âj+l CF–÷M¦pVC‰dV3cÚ°}ö¤† ÐæÑ…ux\(¤f㉭1ñùù«&dù¶…\`öDùM!«h8ò“6Ä_XÑQe­Ït€ªaÑ0­¡ÎßMöuå¬Cÿ +ÍÁ«Š ÷*\ó2S‡pI“™`Xæ8šÃA™"iz»Ã#‰!QWìo‘¾‡6Ïäžüm7\éT³@Ò?vÞÍöÏÓ©'Y쇣—šv9râ[MaÌc\*b +endstream endobj 1138 0 obj<>stream +è<‰·€BãéèͪMˆRü)?ËFËË…"3Œ¾„Æ ãƈ¡'#:-—î–d=B¸V?($idö9"»a‹ü´ÂFüÊòŠ£ðë}ÑÖ \Íž×—Û'´±Ƈæ¨U,¿¯®&)ÖåHÎ yè 3²¬èº_$}±˜Š[¶U¸pÂB{+&S@gÄrŒy´/Scå¥J;k”MçÿÄk·`€€=w +endstream endobj 1139 0 obj<>stream +ï‚ÖZn-W‰fL¹2úÞUˆ0—3ÀÅÿ&¯}©G¡¯Lßlvi?˜`f•ÕøX>stream +Ye ¯l ÄúN9±…9#Qÿ„|·µ'd;Z ‚‚«œ—Àœ×jÚ½,þç!äÒcçÂ=x ÊšÕ˜yøLË>Oí+ìÒXÎXßÙxMžƒö)›Òì…xþYBÏÜÔ5ÒÄ:»ßŠøþ‚[€oÏKHŒuÜÄtoµ±¨Å’Ì2àãRÚéÀ¸eÊ->°¨ÑÆ5ƒGºð¥HÅSg‰Ѥ eõ8ä 3MùM»œÐš¨l, ¬Dƒ}à›%1¯V +xœ‰¦GøŠ]›_…˜£]’“zíŽâ¾úþ[¨ùºaÖ^ÒNzü­$¡ƒU¤ÏSŸ&+!q†€q•’8ƒ ± +endstream endobj 1141 0 obj<>stream +–ùÆ–Ç­+ìŽû×ìÚ¹ad±4­˜^|¤ð¨¿ž]ϱ°ˆN]‰‹,|k)Û*$à¬VGNÊvðh=¸ÇQæ¿ãß±_ùÈ#Äê¾Æé«w ¡¯-æ·´§qò©=¿2o¼ü…-á(¢ÓBJ“ û˜;·¶UÁs¶PsÜç·"~(mì|òÂgfq¦ltŠ/UŽçù>Œ˜íaTj©#¡AŠ ¸6Þ™øê˜9¥7x¬ž‘ÒËÑr¿?ìõ8ÀĺҦrdd)-hb=p«ÃS÷©®¢ö¨&Úb|–ÊI SÔ°§(¿Ú> +endstream endobj 1142 0 obj<>stream +9ÈçE‘„V#q!nUôÔ+#'ÄC›™”:z °ÒºdcDÃd;à­¢b×{C7ºŒ êgûžð«Ô؈ˆmYˆ¬—ÇÍãr÷NIŒõꞃUb©6BI²\?=ófí%ýŸAX‘Â)ä=ùÁ“­íëe]…s¡l°Uˆvs»ðfÂÙã»ùKÃëÕåÂ'8]¯ên=pôÿ—S8“2A´qDæ +endstream endobj 1143 0 obj<>stream +.÷p>5gl]™Nk{ÀÏ'ã +W¨ŠtNˆk‹fÞž„ˆØ3$êê\½…ÞƒL¾‰Gô:›ñLû…f5!Ô_}ÑÁ2±öSMî¦Ìñ%}Ó ƒzŒ9ïß þ2 +ÚÙŒg/=\÷<ôóÅ:¹Jº7ŸFœÃgþeóK»Ù¼K(f"A5H¦¤÷xÅë?J~Í"÷§SLÀrnÎ0n㟵Ÿ“tzmFmW¢ü±×ãÁ7p÷ Èbªuð¢ci'IœêX3ü~Jc.8?ew.ì«u„š)ÀÃ3ĨªfËjÏ—"Í:¯öl9(¹þü+XSÀ(Ñ.…ÄêÚ.§#‘OÊ› +endstream endobj 1144 0 obj<>stream +†¿ut4AtÅMù£ŽSò²~E†…ó¬Á +üCìëEœŸ(e+·ˆžkÿÖÚÑFvÞ!©k÷-(„®ë@Rß:¿(níÃë"’•¯Æ5uŠ~j4zz– ¢ÜWØÕ—1pôô/ â½ +–±#w6 jjYï¿9>{Tª×²K@µÐò úèWšÜx7qj2„Ê4´aЪv:y|mú æ¦ÍÇS~òzá!YK¼Â\K@¯$šÌ6`ó@ûåyk joßÛX=ÙþB!ŸM §ÿì‘® Fõ„<œÎÈ +endstream endobj 1145 0 obj<>stream +V„5'Ërþp'=©p‘×LLœåC†/«öix´ßhøà§ÛÉòs÷Õ%ícÐ’÷·O&'·½výÃÀ +2$¢‚˜O“(ŠC‚ü)%%sèÊZ¹‰†ÛB’Dàà0#á^d© +Y`Uéú ŽvgE FÚ–Q•®Q07·WpÏJåìÎôr3‚}¤’XÂëMŸÇIå/8±0²Ñòøn‡MÀª^ÃZwO&´ÎÀ6">^tÅûK勒L`Ÿ®š'¾{Ú°ù‰“³8¢döu +endstream endobj 1146 0 obj<>stream +}p ©Š“ÄÖ£j ˜B%jlË w¿„Y`ÿVvZ qx#1Y IøAɇªƒ•Jb_ì’C¸`Ø¡ª1VÜÊM¾žkGò†è çFÓVM°î œÃ× k0Ìân&v™’J–u<ÿüñßéŽß‚­ümñøäHñ‘m`ÏôÚ)yÙÝ|X¯cY]½X+4ß×[ñµš¢Ö—„6l‡é×MiƒSàÔÌÿ;ˉ;f®CU$—v%G¬š¿]¬.ìÁsÎW&ÜÖÀ0!“QŽà¼`z@£têÄ=x¿äˆ<º ‘áfÚþ¡ÕT‹˜­°Zí¦Ý'éì'¤I†ÇÜõu9ˆq€«çœØ`2)’6Ú5 +W¹Îk!%Wjy23Ïñêõô–d)9,6¬ +endstream endobj 1147 0 obj<>stream +³úg’ær0™ðúš‰ê¾È„½.vAS Ï>KÔÌÿ;\ÉUÍ´²û•áõ2nX…Àö'„5B^îš¾IôúD‘3 ÷ho®{Vˆüß6ðƒÓCÊÝ¡èÐ_¯Ó ´\MŽ²S®¨>ÇY›‹6ÚkKØŸ•üÍ¿CõøA¤³32辟V7OKÞóš‹ðèH6Å÷gJ~G(ÇäéÎB°ãj €.IÑÝõʺ{6løÑåÕMpl»ÜßkAJ‰’âN¦VÕ)ÀÅ,Uv¹ÖÛgNõŒ*1ßI?WŸ +endstream endobj 1148 0 obj<>stream +àZ¼è*BÙs ðTuG&hÚÍ—FúÖ´0±¤]=`’Ïè›ÿ´kŸOQÜÿÛšS‡±D!¡ç„\édàX§Õ\¦n,¹H3C4Þt¤y8{ç{µìnâq:‹röÉé1– ºyN=9Ø4jt³V\]¯úßÀxl qÓUâæÿ)ŒisÇÅ[¦¿›e+·ÑòG€nŸ¥ßˆ¿F|ÒdÕ]~ ‹<”?dÆ0µ´K¼n¶E‰\ñfÁº5M:~jB_ý…B;Á$\—§!ÜäÐu`~À[(®"^“Â>w¤Hú•åP<’ +endstream endobj 1149 0 obj<>stream +<´ §íª… ;œt“Þ`C¬€…+Eäkƒô0µßåÔ‹´›óë­ì{3*÷êg ýê€ÖO0§{ž^¦Ô5¤¡Äx-ªi³Ó× mxt–"­é+ ë´TùròCl7G {5_Ò½áZ»%ÅpKAÕé°?*ÕÅhÐq6[3rIòà‚@s/@ pcÿevåïCé¿wIÍý±(à,„ö~ùÈt/Y»‘u¯x“D*öÇ­ +endstream endobj 1150 0 obj<>stream +ˆ@€±L Äë??EW2œŸ¶’Rƒ)èr”ºBþiW5T9dN¿š±è¿yùÖytçK/G$n`ŽÇ/‹Æê±hÝ„ªÀ„ö¸ ﺢњœÆE™Mf®_y×#u7„ŒÈs½‹ªz>∀ÃY¶$ïmµ{~' ‰‘–=ìéEšÚMÉ¿/ ›Kô•+rõê—HŽG'´µÝ-6%†£¢È??Ý_&uÒ® %–Ýf› +endstream endobj 1151 0 obj<>stream +!Ñ F˜Ê*Fþ¯.É$>+¡cà¼*ÓÌ:ñv"Ð$tD5á§ßØ)ØÌYe¬ðw’ï!ÍÅ7E§)ꎱÓJ3UOóa –«#| O4: 'á¼ö¦Ž—àdÄЄÀ¯zjz-CªWb¥çßQÇ“K ÝHjTH6‡š uIêFãˆUŒG0eÆÓTk¥·çŒÜJ,Á˜â¯W—÷¾²Zô•4ì9Z{Մ눶‚“›G’G&P Æÿ }TOÂß"WmG‡áw¡>stream +]º%ä/Ã…ì½Ùp7Êï:@vCº8ä"q«ê»Õ>jÇ)m꟬wd>"©ßÚAKõsãšµ«ç5Žk¿–íÎ?’$®û‹^Ç2ÐÚ{£ébÚ ªÌñ¹}@¦ºpy¼Œ¤´ŽÈHhˆ±Yfîx–ë¶&U•KÛ2Ã]Ñ€!PBÿ#cà’ýFBµJÞ˜!VÇ”våÚ!$ÿØS%É}¤iž^è/kL1ŸÅÞ{UòEÞ úB±L¶Ä€ÞºŸ*M O(˜p5|ïB¹¡‚ ùÎvkáÝS7àNu"Ýàsl²É²ó4ÐM š{NÝf ?Gf2Sxgοt©Ò +endstream endobj 1153 0 obj<>stream +¡ž’R*ήøÍ«CyLœÂÅvÈ ³ä^ŒP3…tÿ½’¥RÇ“&®»í Ü@p{º w=õÂ:ó‡M+Ï\°aZ »€U–ËvdQoE—ˆ‚Híµ‹­è~ØbGs6¼Qž¨Ðb¹ôi?°sÎSTvg!úï_ô3ÛÅ…Z½†×I1!ú¯ki§îŒú»µŽ +endstream endobj 1154 0 obj<>stream +»{_•ÙÍé(ºŒLˆç@L& mòªGµ{Õ´È3@2*¶w?4—hk"1Ñ;»úžîçW›¼§ð„÷¥S® ùÖI‰yà ®½vÿåâ_P¶2]#æSÙ(ÄråNp4KÝ› «Œqè ·ì<° §‡³1€bç™V™-ç4B +endstream endobj 1155 0 obj<>stream +/€×çÞŠ±Ó­{ôÿZçvãé_³ý!,¬ñ HÚH´sû=Jè»pZ€"J9"µÙà›è‘ß¿0 «QÙÃCá'B°uéžúi¹ë¿ä¦íµ%ŒšÁBá—3ÈYÓ§ƒzEà ʉ8>r©õ§ËƒõG)¨Ê ¸ÃŸŠðRq2 Ç± ªQ±<ñÒ%ò=¥ª`ü½^‰åÌ•;>—0ûÀÛU?þ0u\¸m€•¦—u_Ïœ½IuÜs‘µ¼Låi6ó»eœø­^*œ•Æ]ëX£:ÉwOC%»Ò-L‡Ò†·w}û_GÏ—¤é©Mëv®‹ô±Gž(™%$±OVêáð ca+< vd,Ûã…¬@t”¸€+xù‹A,Kôžˆè¶ÖÜ(‘è* +endstream endobj 1156 0 obj<>stream +Q2áJÖ5<ð=#QçAö¢Ë™@ž‹Âëö˜¤t>[}s›F#»‘1’G@Ó‰ý Ÿ§$¿LÙWD Á±‰øÓ‘‰•+^z¡‚Äef*d94°?rP ¤QÙ,™…™ßÚyí ×»—éBhw(H•DW¹EÁ`ͺ<ô /`-ÇwÎ!e‹0füÉ"­+™¯ðÁ¯î¸Ê°À¨ü«Vz©âßpjóþ¥zë;AúWÞKMg›E"3bè*2;2Íé×fpBl‹[I‰Žh¸DŽö§„v¼aò­–ìsGVx®÷BœAÓ¿!G +endstream endobj 1157 0 obj<>stream +âfH¼ +ï9Ù÷²ññ`À–àæY"%Üæ2±ŽoòKí-)Š…/¸lC3›™®ÿð–9êínn¥Qoûú¶ÞÝtê’§|p¹‹d¨"~Ž¾¡tKr>Uκ7]ÞÁöþ³QÚ-èîê ˜äëØ^³ÐëÉæЇÙ@Þ¨VÎ[zª¯¿Ñ˜ôC»Ã@±Í5_<Ãý‘ñà =—<ûV^íÕlŠÐäˆj{KèÈ¿'0ƒ™œPm?ǦuµF qeʪ·Ï¶=¢AÁ–o¼Éö:l +endstream endobj 1158 0 obj<>stream +~*U™äU¦†Ä\²ÆÑjC‘«ô’ȪL8Qvœùª,þ@·øŠƒªáY< Ÿ©î4,°³Ê`nÙUñ%z@¥{´1>í&0²({9­-&¹MßÒ„¨l½§‹H-)9 îø“Z‚uLßÝ¿j×EÃB¥°HM%L’MЈÏiµ +œ…rºË¶µ¡É ÊÓäˆ( …JyzG?;–ÉáaÄ]b_ˆÖŠ/À.Csï4 3¬Ÿ{Yu6Üt4A/…§Ð7Ö×@äù¨Å +endstream endobj 1159 0 obj<>stream +7’ õÞbXƒá8xÔíó/è.ÙIôïس“ö4ÖfVƺ9ÔêE¯UÂÁä½s£…è°5ÇAkBšÐ»•š%×4!»wûü—ïaÜnˆ~š¼€²Ùèq¬@±¹0jOXǪ´¥sÙÚ•;ø›c€†³,:á3g[©ªÁõª.þ)I&Èjz‡¾P­â4³ +endstream endobj 1160 0 obj<>stream +XH‡û~Ö¦ã€é <=ý¥ƒ\sÊ$úÄ%'u€Î¾¨’6ƒL¶¬˜9M,RZÈhYCJÙã¡2}ö6_qæ¹SÑžöæÓAn†á?1JHÕªýף6×Myþÿ©H žÃ‡¼b~™Å 6Ã>£ÌŸ £ HàÑÍoo’)®Àd2ô¤š<%l°vX'‘Žœ-Ï'8o j“ÕW¬Ò›7”†dÖÜ«ú–È7¥[aAÔu tÆï„÷îͼ§‡_æÕT +P€ljÁøR<~O¹ÊE»U·ÊÀyLbtd>stream +=7¤œ-:ëõ¿/ëE¼` ’îE¬±çÏ÷WÆ44‹ý'üé!à’u­âȇÁ„8¬f:|ý`6mõª\CÃ_Ã!"^,½¿òó]jMŠŽø¿—^Ú˜% ^ÿm»¡d¾Í6Fm0.ÓHö-uÁÒp8 +ú¡m_,ššMí¿×ƒÅþô¼Üõ¦·rÑZ¸áœ"ªù;÷Ck§å´&T\°ŸfÀc½p7¨"·>ÆÙÑećãl‹–_;-„kq|uXhù½¼t/ øIò[½š¨¶)¾ÛÚã°:vïbøEݳ +2^vŸ¤r´xjáÈ.¤\ +endstream endobj 1162 0 obj<>stream +àÌ`Ý6ÁÓð¥õ5"qSW6!»K¥ù_ùŸ{tI™h\_Çô¾ud‚Û“›ñ†1zúAGû<‹ @lN<â~,  ¾æPL~›²³šçŽÆñÕÀÉðØ+Z×ë.ŽõMÚôfí¦ØÚIS½òÅDâN †Óé¼ .Õwóc¤x#YóY DÆL¸ÃRÕ¶#t*åƒj,¢° Fü*4dŠì#¶ó‘˜„¸¦~ õˆÑ"öëˆ<¬Ö Ýéþ顈Ã!p¢ÏÅCÑ¢EpÈVVWŸgRß4K gíçSÀ uãÄ‘–@Àüë µž()-LDË5b¢1ìà¢óýøÈ d3Hx"ëâ +endstream endobj 1163 0 obj<>stream +êªl¯s²‚—0˜vÚ77«Ã +ù0ß.8À·$cy(†‹6¿’¡i ×éŸÐ½V;¨‰žS "Ù8Cò»ÏÖ¶ÛöÓZiÁÉ^@…™ˆyӘ s¹ ª¥N­øhBIwíŒø¡h» f5I úÆ”YʦÎLUˆËmú# “s>Ó `‘R;ˆ 13àÇ“Åv”!í§ Í@ðjX? âÃYÐ;Ø?Ɉø<¨{2`üX•PƒáaU5ÁÖ+ÚÒbCèžÖ³¸:Æf&¯XM8 É6rT3Ã\r_*’¬úÇè¿%c|%pnY0ñ”aȆÎÀÒ׎v¾dY‹8a@‹Øk†b\—¯ +endstream endobj 1164 0 obj<>stream +Nê' #k¢`ŸÂ«7:Xàp‡B¯5ò >×Äwü\K¢ÓoÄÑiejCøÕ"÷pc“¬Ï:HÊëDÑvós”š¤«ÃŽièæ"úñØÛUu]g}6S‰¡#UíõýôЇZe2½ýØ€§¬Q¢9Àq(Ñ\4ûkÛ,0‡LË +Ìãïk-†áñ/?ùµ‘™-œ·fõÄ¡`½tBÊ/ºö wøëó+_V# ÐȲZ;iÑ4Lô2†¾²»®Œ\Ezà–5uÖJÖ]s‰ù^‹¥vUj´Ö²Ì±=,|B£™×üߎұn;,.Š6!³Ã,ö…|O³Ì²å'Ϥ¸øûL§¢Ì1០+4ñjJE +endstream endobj 1165 0 obj<>stream +æ_ +ÿ$÷Ñ+פÉ#wšNIë!æ„Ï•³û¾Ê“9¦âÀŽýM:¶\çkøUÁ÷×íF÷ìÁ«‘‘ ß½ÇǦ¸¬×t†<™…á“!I®–Ch¥±Xœ:îÆ“‰“gÏ/xãE(ˆ!÷ÚäÖ±Âß +endstream endobj 1166 0 obj<>stream +òßÄlücèjŽaë)@/\5нCê¦SΚ®i{BЃØúY™» 昧k znk«9ÁYp³\¾‰ +̹Ð 09Œ™Å\u#ûå¡Á˜üƧbg¾FÇa :“ýLyÉßNt‘ü®ÁÑ‘rÄ-ÅÈû…÷.éÚ—{¥”÷÷—ùÂ8Ããí$¼5<â$Õ·oW.ÝC(–‚¨Þ ³`¼jC MJ]§ +šR3p›xŸ›Å† âʳÚÙ“HuHR`’ }ãq­ÿLÛ-|íÉcx +endstream endobj 1167 0 obj<>stream +O˜D³JÔzæ÷[‚u§cf»ìn™#°ñLµÇ`=ƒ9 +Z»¤ 6´ÇW‹.4)žE°ÛtÍýf†\Ó¥ g<2¦Ù¾†c'¶¬Zú¿Š€+ôVÄã3 s ×Q¬d6îR”p*ƈ‚is¹ÈN7%]xhgT)\•s|ï’š—ŒÞÏõa øÅæ™—ãÿÕãUµÄ)F Šë¯@Šùrt‚BwɪM¥Îñ6ÇTI`ñW2+ò–s"à°¹G4ìï¶1óU;r&–Å‘Òl#!L>stream +®Fk¼|CßXhN6>stream +'KäÏž‡s™Ó$îÔQÒØb”Ú·½‰r-‡¨É¢~ÿÍ„Ì}3iëK628ÃþLP7IJ*àºN)2´Ù¶z”°;&«•Ê†Tr +gCõ8‹^W“ÆÔµçwù¥É¾‚’V µìˆmÍ°$Û@jÇ6<8CŽ:!_Aœl5»Ž6ßhL®ƒ7 ÚÏÐn« +"º#qª¡  ¾FŒh ânVÑ·õ×»²ªÎ]…¦…8“8Â]Å +W‹n¸f0ãqŸ»šÏ5’,dòp®q=ƒH³ŽåŠ>Mï1¨3çšHkþz¼h +endstream endobj 1170 0 obj<>stream +Ð6+„}½/ýD`Rekï(桵5Á»ÀŒGRGÚTæjQeî+ÞÍ2ÊvâÏ{½s§ C9â>Ú€ØÎK…)ÞaDÀ ó3E!dZƒŒáJBñÑ;¤ögûž¦ŸÍ~AŽ\[„h*n>¼CgåúëóýZÕqÉÚ;z¼ñ«HSÐçh: +&ÜNmd%‹mëÄNãAH-’äϲޕC¢X=pq`[˜b#ɱ½Íè¼¹š¿<îÛ-Fê{Å짹²úŽØò¤ìëí‹¿îDé„PØk»àÔ¥,)ÈËAœð½¡åíF—`WŸÌ ÕàÇ¢ÇXû=Ö”J¡¾ +endstream endobj 1171 0 obj<>stream + D àû#Ê;v ˆ,?¥€ƒ9Y |Ÿ¬dtŠ¨Ý8F0òèžïò¹a®³ùÆ+xü:¥Kí¤Š}ƒVV­NL¶­óA¿êf²Ðnõ° B½iPœÜA;W¸žîLKwð¿2D‰EŠûZßIšsøþ"‚)ÆöHÁúÙ?uÓºn›Œá³µóR#€¿'³¿Ï27„SÚ–h˜¦6Mº¦‹hjoÇê`—ÉùÝ´˜ ¿ Žûæ”&:„] ›…ο°(äçfý£Ñ'ûúl +Á^gùšDÀá·åŠ¢ÿ4ç+¡lÖ‚¡  VæíÜÓ°fŸ +endstream endobj 1172 0 obj<>stream +ú×ȳKwwYwF`è¾VLÚÎ&S+¦sãîndÖ|‹>d µ ­@´²&Kk UÖÐ󦹑}ȃém`ŸeüÐöw4ëpÂOžd]WXús—pT~o¬E“HÚÇ73RP'‚[¡x0D %QºP`‰S°ÈûcX–±§*E{ˆ÷ü±¬ãõ.~ÄvôÊV@ðn^íž @§¡Ð¸å¾¶…§ÿÄD¥Ëñ˜{£¼¥¨ˆÿfÉ fƒÿ9•Âö¯¨àT¦BR¡¼NaE6À°w¤" .ÒtÒŠ !÷¹pý"õp…U· ”›‰Ñˆ¼\m$áÚý W&G„ÙÐÅš](\u(ƒÔßëËÁ§RX§ +endstream endobj 1173 0 obj<>stream +F¼îK±±2õ²jâH«_ê)W>•bd™”¾bUgk¶î¢è³;åÖ#šÙdÒQô°÷œPK 3ßÓbŠO]¦þÀÔj/þ†¨¼þ[Ʀ]0ŠxgŽíšéÉ{ü\¾€šNSìOæchtq@T—¹ïzß#½ÅkYèâƒÈï¢À–ÉéyºÃLbˆÚÕ(0!™à5 1Ff=ž°î~¾ñûõð˜2ÝÿªôCíÞ8ºc:øzÜœôK¿!Ä¡Uº˜Q~em"ÈDiÒ³dÒÀ(™¾´ÍÞƒÊðÅBg³&Lg7*U[Œ¼Úd‹Œ‡^Rv¢pE\ïÁ{T4–ì²nj +endstream endobj 1174 0 obj<>stream +\ bÕ:Á [” Kì ­b–‘–ŸÐA-Š-#2MÖçðôœÓWlMÀÊcõ̃0Ô“°{KfÞ[[àu¶«óqÚ±ð½ nN§cp$ª@ª`|[&šØ1fͱœ î,Ûbgó¹2ÊØqlD€7üÉ|'ÇÁzIߗ⌟ô}e=¬ò‘ÙÿþLªpc„ü£‰i„’ž?h’×B: +Ì[Îë·§¦Bì`` jÜñ|ÊG,øìêà½0gƒÇëär±lñ«$%ì1¸ý(ç‚ÄiᶽîÁÈý%v˜‰$~é0J´—7|Ìß;ñ}‡Œé>-ÐìB¿Ñ +endstream endobj 1175 0 obj<>stream +¦ŒY‹K ý_w"¡ðád.ÞÿÿX ‡R¡ßTÎÝÂt¹Ù£¯û˜ê³Ÿœ˜ùQIH  +ÙbrEq|„Ž!´VÚSúŸ¿îèzÇ»ç»ñã´œ&ç]r=Ò^]œ&·V<ÒÔÄ’Ìy*ýÐÂÛ:.u¬{âÙjøÅoµµç2à¬E ß?Ú¦£ÏFUJÞ>GOˆÅø#êF¿Å8" +˜£E?oØØnÇd`˜ž”õ€.!N˜†É¨£Eê`ÑýC¹-dŽjYòNî°p”_Íõ5ÕK¿ó~\‘C¦\]hµ‚nHì +endstream endobj 1176 0 obj<>stream +µòÖóÜß ë­Ø¹Ý"h½|Õg3<@¿ì«I7zæ= +$þ'6ÖïXÉу]Æ| +ïÒñl÷äà—¬ «7°/Hí‚Yò?[^JWš^uáðJT£Y‚™<ÎÎ@éfB>õJ µËw^õ‹nž¸°x#n?¾›4Žï$IøÜäŽo0ó`rKKL,ú¢ôs¿¢”Ø{t£À°°´ìÔ±%*ºé-¶äYA¼n1Òˆ_|ä:´ûÁ½á¿É¼ÿ» ¢Yè1ñ“%(ߪº3ª!OUà·¥ +endstream endobj 1177 0 obj<>stream +‹i +a-”i2næŸÈ”&cNA’ä.Õ‰þzü3êâCv /ô-՘͔{ðh®Öï+"ÓÌÜäîÌF€76"«ÇNeiÜ_‚®³“9Ú:Ë8{ÐDµNkßÁs®ƒ-þ¡$4>ëë;û Î LH(¾›óîNá^x+÷|Ñ‚Äl%b±ï§¹66¶s¡;«Lt >æ¿¥E‰ÆvóÙéP¬)ýrYÊ_Dêô¡2L噳ƒþî^R2ÞQÑ·ÂÑr+q‹û%|Ñâ» +endstream endobj 1178 0 obj<>stream +òžK ;©Ü@WÖŽÐßMÑ÷ÒÀdIA%Í÷žU@>¦#Ææ:jôMÔ-7ÒÉà!]2^ÁŒ78ׄ}Šý‰3›×WJÎ h’JVBéëÓtr/®Øë ž'M†8ã¨>6oëJ»çð”8¿1½ž]°w[«Q·."L4êÌ$ó <' þfØm¼õ×Æ}©“‚àg,&äѸùkæf‘G/§¸IC½9û+ÛŸ&G~2½8;z!y¼Œƒ±r‡ÿŒßŽ¿†îi¶µ˜h—Aíí‡\t€ÂGwQ¨(9e®f)QVÚ8tÅÕÜ]êSÞÁà"*왡øa-Èøm‹@Òzæ>£Ñc”•Ä…©¹ÝU'¹*á{öØM€""¦ü:±£ +endstream endobj 1179 0 obj<>stream +·¼+_»Z-Y™‚§Ê4å(¯tÜ1ú½¨+£0¼^ëøÌy²ðÊŸ<÷š*óÍO%[!ćÙZ‹?7ð9C‰ÉüÏ÷üHè@ŒƒO)P[ |·ªâ¶—%þ ÿzpgÞ|#£šQÎYˆ›“šá +endstream endobj 1180 0 obj<>stream +žl¹ûht)Yï,êWíÖ^P´`,¾b +6ì>stream +Ùê^'7ùÔßÒºJÏÖo·Ie—䤡o]È2ßk(v‡"±‰å8rÝDY œ’â˜dˆ‘9oi /ä³YUp)î÷ÍÝ$é#žÊÂÝ1'¸Çg;'—È{å^F÷쬓Hlpy‹÷^ÑñVUŽ$ßµ3Çr€t“TÃ`J%©«»½¦ñ“ñùI) íxÃ(€%”òømÅ'4¤¹ìµ±™Áã"yä½qd_zðn¥À$\ñë+ºGB-ï+•k¼šC¦Iš›üG÷ûE‹1®ƒVu”ݹ€^>x~$£Å“ž´”v[·zi±÷È?«+áù*®h4ú³ +endstream endobj 1182 0 obj<>stream +Æ×_U´)öHI!!{ôRíœ »Ø#Œ&w×}€ÁŒ½9ÅQâ +[ŠÓh2\|¬™¶¯UµQ–TúÍAú›æ;À|ÙXÉQÛU±!†Eþu÷ñ¨w¼ Ûæ Â\­€=Ï5R¢ï’È5 &Ív¸™ÇjÖÝŠq]´èN› Hå• ëƒä·ÊÔ¾Z™Ä<^‘Oõ'å ¯®9ï­?‡ÖÂL]—"Ï"ͽéb˜-àçÅŸ=¢{¼ŽÑ™,ÛG®7_ +endstream endobj 1183 0 obj<>stream +b’¡Ã­ðht§ÀÝYÀÒý½ +ÇuL4Ç×wLak>%‡Õ†lM·æd…¥8ù½øLëD:@éó¶TRÊ¢_é¶Vt>.² îçjrËOÇzŽ¼ô9 }šïœJh:¢•˜î¼„bO3!ìªýœÊhþI|© s7W4ÿÙF,³Ÿ‘+:Ü^œEë¿ê_ûAá¥%šÝÀb +endstream endobj 1184 0 obj<>stream +qêWé`9s—ÖºÊÅ«y¤¶g|.ÜÏ'òòˆÕ{5ïü…ÓZˆk 9x󑶎ç^¼¡µs@Ý á–n{WòŒšâ(sXþ;QB»³šþ<ÈÜõtM¬Ýd^M5ãÒàÂã¹ðÅ íçGJ¢Çi p‡¢E®’æ …4ouÂñF7µ«8KYªˆŸZ<ô·€áu\ªž QåØÑü˜FV‘©ú |)îýSù…'7›Ké +¡•¬HëTñÄF/!¾ïl±p“>stream +\Ï~Øù €ц2ÑZÚeMÄ-½Rq‹’0ο7Ë1l¤âþÂhžRŒÎ ’Æ38¥á®3&´!‰R™fŠ’E„Õe+ùZHÔŠŠ×^°×˜úãî•«Ò" ÅY?4H˜ªÈÉBxŸ<0n¨“¾5Íìj0qýà½àpoŸCÃq¥¡y9ܳTÛ’_bÈì-Xœ Z‘Îô.ôBÜ…—+„ÅÖá“5Y9Â8ݳñë©íz€s\´ïϾQâi™oíŠÎtgçýBk*g§¥ST³C¢1¤£ø㉹w¢»¡š’ž]~M’Ž§zýeï><—ã}Ês=ãIîø¢£e¡^£Å˜¸=ë¹V»¦Æs 5 ¼ööÐJ›S`@ý×'zâp +>ä&ÁÈÀ  rI€U‰ÁŽ +endstream endobj 1186 0 obj<>stream +L÷¯F†¹¯þ&óì酪È€jgs4óü+cÉDæŒ@,Ú)¿åH—žÏŠ4 +™B®k +À G`0®Ž¤.A†Fuä_™ºÏQ?Œ‡ï‘D Úä¥/$i7m‰`ÃùŒ±l¦>?¾ŒÈª*D¼NÎäÔ¯Fz«#¨#wvø¸'(5ÿTè…¿"¬é^NÒ•±iÂÔ„Ñ,Âü–¦#+‘c¤ ÕÏ„™ÿ…^[ +endstream endobj 1187 0 obj<>stream +ÖÓñrÂÏ2x‚XŒÅVìÖšg7̾“9+·ꨀ õÄgÖglÍx+a)ÓÊOrRg]û®…'Ï(ZâÐ9óÔ Þóáé#…xæÓ0lÊ)2È[‚§¤}Ø,Ùùsƒ!Ãe®×¦íŒ6üʺ?ffñ½²ç"DÞö;kŒ†Rß„÷Ð^–ÅNIŽµ®@1Ë=\Ɔ«‹õ;¼»ùtO¬w×8OûS?–üGï=a†© L†îs|ÿph“#©<ᯠ'É{9ÆWÈÜ# Tåa­dSÑpSés÷#OêoñOp¸aZ/ýòÜ— ÀW ÀJ‹Ë×Y I¶ ¦p“¥4màãIwßæ½¥;ÐEÿóÏ~ÍÎÇÖŸL6/ÈP…B˜ŠD +ÁY“¢ºg„¡¡®£¿ + +—IÅM‹>Éõ_ÿ˜piC—]’øÙ×  ¼5 f¾]¨K„e*^<­L˜$]†gi~aÑš³¥…):î»Ã–$ˆkd` á*(ßK¢íãႦR’ +×&UŸ¿ƒJ@¸2 +endstream endobj 1188 0 obj<>stream +?Ñ&)ú_⣟6ÑJõM:X={”a”ì:¬ÀTÝ1Z"½ HÑñågb²X‚€1 ãaÌëqß#ØtŽu|Ñ5e´çÿ¤Cå(ØH<ç2op‰0tþ#[ ŸÚû ¾4’¾ƒ€ò'ž^äcã—J(muY¥YiMÉÔvûN°á¿Ì¨-<^픹°Œ“úö¾©äù@Ò)2û‡ÿ„š=.ôÀÛIqPíË›!*™6ž´ ›: >#aæ¾Ûc\­ß9 îÿ,¦•—ÄÌ€E¾‘Örš´3æ“»Ùù<)Kg&xŸmK#OªvÚÒZ +endstream endobj 1189 0 obj<>stream +1È`xdFA±ô=8𓘋<­š È<8!a®oÒ/ÇÕLD‹I"eƒöê5‰Šr1Æž›øÍ5<ÒøTªpbäl¿U;ÏØr@Æ+Ù²ß}×?íÊ—„ê¾½D°žñVxW{8×946ÅDóÁ“G„µÙ:‚nñEæZ˜¿PtfÔ%ÎëèÇNº 0ðn¤ +q³I%J‡ûT›<éú +赡šÞDŽc±Ý„¨:šÓájÝÉæã°Ù¥™¤1ó,è,è˜ûMf”–ñÛ¥ØÜ6Á;§>ûÊìû”vót%kÉìkWñ…Þ³µ€±$ØÃÌÉg¤„”„¾¯‘hê©`.Ú¢ÂvõU­NL£¿¥f`ó̃Òö^j¤v>`üû8Wª +endstream endobj 1190 0 obj<>stream +ÕoèÇÝÌ»dÍ霻bÖ_­õr7ån±[9¦£?‚ÞþSZ·ó—ÈŠæŒÿó»}h£ÃuZî›—Îz¹Y_|2¡M•Œ> »´âÛM\sî­ü0¶¦ýîÜiú‹ž¬ÿP:dw.¦b„Î\"ÝŸÏ$’oð¥h|±øà°cÓà£tŠ¸û6%9lä.j¨£`Œâš/Ï÷"Vè¿…µyPšFÿÊú·ÖþäŽ|@-J35Sžµy£-g4(¢=É#÷°ùm}×ü§û]YbÊ]D옆ì +endstream endobj 1191 0 obj<>stream +‡vÏšD_pv!6µ4¢’Fxc‰r´JœZÿW63ÍðúæBe* +‚Ö±cLc*Q¹J"¦wœ¸t " SÙ—NÚ’{ÀM»˜ýßÖ¾Ã×úM¿„KQÔð‚ŒæÑÖWXghœo£˜ê*f7Ñ¢üUƒïîtw¾üÄ@ +"Aþ½dOÅBßñw‚Z~[\;€©Zê92…KbÉèñP^v–¸ÛnO×XL Òü—ëngž9&°¢Ò?¾èuO€&öA/XÔQXKB©Y¹Gco‹kºŒf‚ÆC¨Dô'`C0v$ÿÞÏÇa5"cb +endstream endobj 1192 0 obj<>stream +å í”míýB§UÙš˜gÝ4wÊnèÏK@ÙŠAV븠BG³?ÌÎ'ªvDjF¬;³Ûvš÷dó_ +ÄiªQ²Àhºv?aW™lZZ¬¡ DòÀ]2NÖnÐ9SqJ» iGØ6÷ìÚü ƒŒKŒJº½%( 8xVÇìC¹Ú>Ø´&~'ˆØ¶¶ÜÖØI=hÂE_ºÏpeôãø‘¸pØ+¦=â pÁ”}ÐAU´|ÝEÉé¾`[.®&NœÓ<ß)\<×µJÌÁ+•[ˆ ¨Õ€6›GâQO¼{åP +ŸCcƒDb•ÎΔ. eÅ“À;šS- ù í`ƒ5J:÷ã Ô>stream +Þ• +Ÿa`ËkrbÊÍZÕõ^­f;J»á²FAÕÖ›¸ÈéÝ] _ŒV­¨\P«Ê ؈ hã)l”öpÈio*P‚ ŒHÆ'6Äý^vHÿ比•i%î¶.Úc qÎt{8l„ÚÖíë‘íH—ï>ó Ûä&„õz"GA hHÿþûnÑý)nô)ç,~>DÍåZIÿžQâ9'g¡Þä ‘ë*7©md•žœM +endstream endobj 1194 0 obj<>stream +ýtWODœ*§5m8^Êt$¾#ù.iãíÎ2$_Dµ=è$\¼G•x[°òWe‹ó'þŒI–o5‡…=ºVn×yÅ~¬©yi1ÕŸ•(AâÆ™¬Wùn÷gÁdÿ3¬qW°îA*!¬Úôž;:v "£.Ôºé8V ¯$æÙÊ™øM[Íôì=ºhÚv¼G4Ê“rI̳“¼þ0êª}!w7Æâjƒ¼jRŠÅûÜ| ˜d9¡™B¹2|¿™îç"|«n»Æßñ†lÓIb‰ßæi×}|ƒÀó‚A±iûÈ÷O°(ùÁúÄ"ìIÑS¡´Æ#GÝ*ÆC° +~'Ãœ`©OqT ñIx +endstream endobj 1195 0 obj<>stream +7pÞ0±]ÖwkÊý.0P?—ã„Ž"ª5(²é ^'bkKÕET…cQðCé²®¨µî­[¾ˆ¿}¡Öð´ËÃÙ+“)|¹¦ÉÛ:žpã( D CpÆÛ@w[«j8TÚ<–¶ZÑr…¯Íz¡j0!tèmÎÅ-Œ þm”é ß>7%/¯Ä”XªÌ kq´Om®\f¾ÀÎ:Šn¦=B•²N˜^ó&k-ŽjaŸ(êõ²ØØÞ®à¥ÍÆÃĺU«|)Ï­a00¨fà´fW +endstream endobj 1196 0 obj<>stream +H':ß"A.JY +ªøgÊÎÿºÃPÈAâoëM ÓìŸÈ×uÉúÖ(®g× ,Ù‹£ùsTUdØxñÅ6xaBÇ™2ùù…Ô¤xé¯Ês>ÊoÚzóÊñ×êcQt!•f³½Nú“W§þC5¶š€ZŽ-ãZˆG%Á” “Àb\)ì‚» Œ)˜î;PoY~é[÷ÛB†®´þö }VöÉXåó_É(rò¼~](‚A2ôhO¨Ù>1¾Õ'Ûu¼|Ø +endstream endobj 1197 0 obj<>stream +Tè‰/ôi€Þźð)¾+I&«ôÊ…;qç£Ò“劙”Äɦ`¿–Íâ¾ Õ¹õá]bV‰^ÊÇíe§±¤Ó¦¶/Àê+&z° o?|;„À¼ýêíIJ>stream +£”"JªLzús–{{lIŽ™¦ÕR¹'Üÿú³NÛ +gý@n5Rä]–…YΛ8t³Ù³fN!ÌÄœHW¾â)x©ŠÀ4ið\kØzéOóžZö vG½ã‚{¦ áiô´ˆFp-ŸB|„»{Ðú„@6˜EZ÷îwM¿'Ú¢±j,£Í©È…saÎ} +œâÃò*»ö8°É+üC"3Yu¡ÐÙÒô;¤Á½ûšpñqCnÍ]«tD98.X]Ê´„5Ë +endstream endobj 1199 0 obj<>stream +7<:»ëez&#³Ìåjl–‚F˜ã +b74Ã'‡Æï  Ȧ,H°¨ãî`›GŒOd+¡ï]²««jþ•¸«¬7¹ƒÄ2³Gr·TûÒ^{ ™•ê{jwsXFFõÀÎôO AÕ×.ñ²¥[vìÊç žVv“;Å`WCL öõI}x²ÑËÁd?æFšÛ²+ly»:‰Ã-Ôn=ÙH‹Ý±B«=šÔoëfµ­òSŸŒH|죟BL•ÈÜ“¦m”CÎ V¯§òõ +endstream endobj 1200 0 obj<>stream +‡Pø^žaÅh9è5s9¿Æ–!oô²}bÏJ—%¼ìÌ<«Zkê‘ÝþZ)pØ$—½¾² QÆIv÷P&w†~™Ì{Þâ„ø;@/ä. °ÕEåË_[ŸkØU£7m1~Çš=4Wºƒ_+RLœ—B]ü†ž ?h1BÎA?b9¸Z|:ÞEÞtÛÀ]Ã*öõ¶8¦]õÏ $V«åe¸Ð› —‘‘•{ÍY¸ÐQÍ%¡ +endstream endobj 1201 0 obj<>stream +P6Ô +CKK¬)«Mz\v‚O¾xÆÀ½åÃé lïçdTJû-ƒ ° e_býã$›W +endstream endobj 1202 0 obj<>stream +äi•›©Éy¦wJâü‚ŽRÊÂ9„ @rSK·ˆKN\n\ûX皘åUe²…?õ0R¾Ø)&€™ø.ŽˆXø LÃ5ZUQÕ6D¡ô%¢’×è4®Y_Å ‚§¹Y"ÃnÙb[ªn6;ꯈ:Ò(JSxLƒÏÄò¼~;˽Ž€>òÖ=±&¥¦ˆ4vªd‡¤…9C§£9à”ɱ¬ÅA_ë—h±„§õ+øwô6 ÄEsBcHî¡q1»‘8|ßlÙû8(JÁ¼kEþÁK­% $~ù^z~6ÚYÝ÷=ƒŽ¦õ{½w¼‚œ£)×ÊÃ|Í©æÓ +endstream endobj 1203 0 obj<>stream +œÄ 7MÛ#š%;R¢¶ý8ÿþóIJù§kQ;íÝgÍhóâí~=ÈÁI}j ÇoŽŽÍÉ0åÝsÿ°>µ3Lõwú´ùøËü¥€WœÊ¸F'ÒP}Ä2%[tŠ®ûp´åZòa,®çšž—g 5ª¬ì‹v=M°·q*f@.Vä$ϾP—GNŸ¸dÞz'‘œ«'ñ +endstream endobj 1204 0 obj<>stream + ÃÅ¨á —9z´…8kªüKP¢Èõt`>-&oç–éà’&5ƒÂç„“—þ³j½Ÿ¡¸uèIÌ^¿½’/1EŸ$pûÀÝ…ošdY†ÍÑ;tij/©_aØff·0Ï*ø¦4w¸Ý¿l…Æò2£#ÙWÎyß̓s4wQq ™‹”!m 4‡„z~Þ|Ïgg©ó®àµ +endstream endobj 1205 0 obj<>stream +ÉεÅa™É Ð{ŸþÀÆ‚œôÓ”IAPn®Øg*ÜJƒ §o{·¢ä*6o€ÿ«Xdÿ„D"DC'>ẘ—äº?>zL}>bžŽéfïQ'KvÍëÁ=ÜxÇUiÛw¡~èh礗®÷s°F¼FUÓÞÍ?rŸ¿ˆ´Ì6”íº>%a6š:ŒéêÅ2+¢‘Lk~tþÁÈKiÌßd±p:³KÎßîžv¹›aßÆüjæ+=$L½ c³•õ¡/ÖÎÞÏ$îv‹t‚äbÝ“ +endstream endobj 1206 0 obj<>stream +¯ 7p&¹.E£jŠ -˜ü>ŸôçsPŠ @*æÎÀ¥c¤2û°cp¸‹¡^ƒÕM.t!÷þ&ØÍždXµdï=‘»xÒ¡êQY·Ù“ؘ¼ì—- ²ó*:GÎ3Ü‹øMY€;Kœû,Å‘¯»Õ;"Á\‘*ºŠ´Èhg`Éì£L©öã-óñ÷öß÷Gäj‚ Æâ5 +endstream endobj 1207 0 obj<>stream +‡s,œžØaþ\Ž’œ$”šÈ  '%•éÖ+Ý"ÐqGKÿ¨-óº$v%w厾r¨=Dû ¢—ÐçV”-ƒ¬çAê°ÇYqœýí$â!:¯¬ÀB©K+/Æ ”k½ƒ³h1\4f*CSaç1B,^î»üZÏNÞÅÇ;S:Gð¼sXsÛ¦ÈfPzÖ®›6À/ô(BoJ˜G¶¯îc¿‡u{.ËüzaÒÿ°â%ЮT‹¥ú|ÆÖb¬@ ê ºÙ[M +˜Ø3Ûøæ` (’‹òóc|¤ÿ&îÄõi³ƒ +endstream endobj 1208 0 obj<>stream +Á· Î#“‡#CòQ…üøöº")³NÈ SEB1†› ÜCúï9‘Þ½  HÄÔÄ…êJb¶>žN³±=[¹òsSh¤yœžäÌíó,¥$ø±? ÂÈqê’ÂÉhXqû5®`Ó“L-yç™ÄΡLœßœ 5¬½„Ž62×  ·"˜¸k¾²´„o%¶r<î[Ž¡O¼ç庄ií®„ 3u¦­ü¦`¯@ýµò¨zÚ¹«S–÷”‡~.£&F@{JŸÛ#Ýá]w,ĬîwhøVnÚ5)b­%gËhÀ7ˆI‚ÊþÛ x,Ñgœ"z̪eŒñÐfÆÚ¥Êh ·éŠD'·ËÔ£âj +å#‰7Ãlƒ±ÞN–SïÒ,Åöÿdj±,aº2…/Ä”J¿£$D0~ +endstream endobj 1209 0 obj<>stream +µô÷”€jHËÊ/[3/Âo‡Ï¿¥ÛŠ·Ö%NC”{&ÞoIï<Åql «¨BVŒÎTffš¤ª×sÏWSº.@ËÝõÉm½/µïg©;J‹÷ÙlL îÝ奿ÔPA¸Þ×AŒ±C÷ŒAg¿mхꊮüã(“q©ðÿ+^,ƒ&>Üb ¾Òò|ÂŒ N(çÙk~£c¸ÅFÓBýž" •Ÿ)-ÆÑBf'¤Ò:ù~I9ïÒeGˆ4ê»É³y—™ÃkÌkÖÆ7}¿ç-Ü%õudúÁ²ÖmOs~õ팈BØÂ+ó+Ù4¢>ñdQ3Xš¹†ËA±ÝhÖ”5ü3^FtlPl„zjHhÖŽœòÎ+•i;¿dã9J¦ñÆûwÆ_vŒ„ÐòN x„ ZÛ@а•% +endstream endobj 1210 0 obj<>stream +´²Íºäj !_:\8ÖûˆªiyK¬Û2‡Sê̳_¥%²ÑQ‹fÌ¿Û»ME7zÙš_¦,ʇÈÜ$’}Ä¥¾: ÓßúËWK³ùûRŽ˜a:µò7 t÷evVµp%û¡~GƆ†À¿‚ +endstream endobj 1211 0 obj<>stream +ŠWßøýg·tgàܤ Hòz_Ç1Ïቚ>EŽ÷#0c»ŠwÀƒQ褰:¿âÖ]WÁÎZ| ¤— ©Œ4ßJ‹Çžš;ÝCk¡®®Ú…$ËW:˜Ô¬¨é‚éLÿ¶ÙnC”/ÆÁ˜g!:½¢VV5c+ÐlìŸÙoÃ~Mml£ðFžöó 9 2ÃUºe¤Æ ° ª[æĆ ÖN +endstream endobj 1212 0 obj<>stream +ÓoæN"âå–{‡ç‡¬ÑÙ…¿7%V9u)îݲ^ãD4op-Iõ¡m-8ífÄâ?šòƒàk(Däý¶Oõ¥hÝLVþ†S+ÄiTpUæ÷æ^Z&ñ†%«,Äg?v¥MgÕUÀ²Êe7÷xc<×P5g¸(î½É©Þª«Î›v16ý£ö¬°­¢,Qy<0Bhs™ã¡ËÜtZߦ*¼ÏÊB]²=¨t£¼è1v¼]ƒƒ° ´·†&ÀxB÷ÝÃ8È™·äy[6“Y/ìë®ô’êlâQ +endstream endobj 1213 0 obj<>stream +>íeøìJGà|ÿÁöI§<¢€åÚz-XÙÅDZ2¸EA®ùm,àô,€ƒ{#b#¤bmÖ‘a—ÓQO“gøk^Üqa§ÅI’7Ó26zVj]w#sjÉVîWOËÞ«<PCˆ\JGM8±A÷»^?u“ôª+F¶vLvûg3/´µ‹Ö[‰¨gÍ}³üg`Ç@u +endstream endobj 1214 0 obj<>stream +&Åë{Í’è\wuˆ„`±EG_œ/¯}>stream +S9Ž"µy$>Ë¿PÉm¤ýi¢¨ÞÇÀÁj1áB¤WöK© +øÓÅ¥ÓÒOQÚßÍ›a‰uÛ·|²'Žq[0C4Díšk‹€tä4qLÈôOº ^5 1"×p+ Z;6t{ß½Ÿ—´‚žÃdaÇS +0óúåvÉBœITÆA9ä6ƒÂ;ÀÖæÿµ¿–ûKÒócÈ‚x_Vh–S‡ µF9ôð1šíºù½«É¾Âµ‰X‰gvP¯d Ž/©û•%Ú —™Ü°§Íþ.d£ÙµöÛÒ +endstream endobj 1216 0 obj<>stream +W'È`­·8 Ô8 i$>i1úGѳž ™ +Z‚w?ךÅ.œ—FI^JlæoÂ]¥ÜÞÛ#ãrê³Òáë+uŠ5É%¹~0ýô¥n9jTc­ïR.Ib‚tnb]•øE=sÖ`”Ãï5ë’Ôîx‡øÔ77’»^RU²MW&Hw8’¢×Ü +endstream endobj 1217 0 obj<>stream +c +¢ +—D²ãÿ7Ón ?¤UøõÀÏ0’0å`¿§˜"?¯b!4Ý ÈJxýÊŽhÑôÊÌAhÑÃ-ËTÜËÅËaÇ—ƒä›4jáfü•„Xq³tï¨Õí·^‘‚MŸr‰“¼ù„ù]¸+¬I0B“ÎBÜÜÒž°У°æ„µµn7"­šÔ^fŒXᬨëJŠ § Ù`iX¯ çi#9a6­[ A4+3 +endstream endobj 1218 0 obj<>stream +¸çc2íêò\$¢)i¡Äódâ2Ùö†û1y…ͼÉI “kã<*ˆë¿,ì Ð[¡ÎSõmKrçìøwèPæ7 I³Ûvr1?i’å’L¸u`~!âMÐvë|ž¥&kõ§ð•!2óÙY“aG7Ž?ZÎôy¶µnÕ¸—GÚm5tÀ:ÔJð×EûX…š‚»1ÍöéM]M¶³~žN æMœDfΫk.¶DÒ:Á±<àÁ +endstream endobj 1219 0 obj<>stream +ý)û \¬Û䋦ÆD˜í}VÕÍ™kÿ A ïò‹‹ýâ|—t£Èc}wNô¢¾ä]° ÛÁòËVp«¨ŸÅÑx¸:#ŽM +endstream endobj 1220 0 obj<>stream +Œß‹ä·õ¥%ØÇzUnÍ0ïq GÍßìßw÷VÅÖ|„L:Ú5xÖûü:Ž˜‚°°•O6먥‘W?ÒÀ¹÷ºnÝ“øŒ°¼0|I°Æ©ßKÀ—þ›‚r—®G]@íâ.Õ ;ÀrZ¿ÝÝ…‚Üé]àÁò>Qº‡Á³Àš‡=û$AÈ™óWÀu-&W“–.Ôú{2g /âiY‡à£Ë¨Šµ_n:ed-É/ØBŦL¢.Z†‡¶°ÁUá5¸K{¼|qOšÚŽåÔ tÝkW7¶÷¹{ TïÜëòÆdQ.Í'Az"$•›V¶ ÐáÓ©¼‚°Šx|£È‹^FI™ÝN‚NàÉÚ{€¯ƒ6_¡ð;þÆl\‡Ü®¤ò÷¯W¡ú3Ñk ±4€q[ó +endstream endobj 1221 0 obj<>stream +NJÿF3vñ§u¶ÐÀýÔeåK6 gÇO¨;Û#;@Èâ ¿ÖŠ‡ú˜=ðÌì×æîù©j™Œï2EúÖ&ØÜ·à¥Øµ¦Lò¦RŠ6—Xˆx¬5¡£câMy>$˜°;±÷ôùÅKøD‘ô †_G>8ÔVX8Ò˜=´Ç*@bFbñð¦£Ï·4³=¢k*.d (²‚ïEÐÇ”3äß4Ë) Æ»ûÛ»H‰,Çß×à,åq´{ÊØÎZ—ó’”+´°!¨t¦×ŒQõá(F&>ªH–%R‘øY„Ç5‹Ä˜¸W»*reVkA]re/H¸=”,Ã]cHy¿-µWfÝÿÌ«òìuUæ-ÁŠ~àJ‡‰ÐX˜á·ó¯ÁD1ÛÞÈ/Žæo¥ªStÓ-M貘ԵˆÌêØT.Ñ»q¢S )2»ÊS€ â/'SŽ 1î¤X^{öÁt‚ÌÖAu7µÉþ¢ß­jîp&Ïì&ˆKÆk؄ø‡ŸÍ>stream + tW²R v.Ò ˜ÁØë;‰VÒ•÷I¨d Ònâ–ìãó—eãã4cr‡Î|Kj7(?»òÀœ,]dó “Ó‘£Q žSÐÉüÑyh$ÄdDAuâÃ~ô‡ÓD¥¶åâ/² +ΖS±Óf†Ä+qí¿wè‘KÙÇÌ‚é“·…Aª™ú˜‰;'‚4w5­mE £»µâ­†Î@¤N{«Ê.¿»À4¼a/ýöÑ·™4AéŠ[àgÖoeþÖöÊáI/“‡CñpÚÖ¹ë E¸EItTeÊ)7™°Ÿùk +›ˆ#G­aéi¥ ÁWÓÓœªßPŒE̸möù¶Ôsi–—¼ ¬‚ŠÉV…XЭ¡¿}kO~*Ÿïç)#ð•{DW¹L,Rµ‰|%kÝ3vˆâã@.N´ElA®?Ñ{ò(@&HáIÑ30† vöïÏùñݤ@91”WÓž3Çùƒ'ûVÕtÊý¨×— b±ê>6šg8å¹=A‹Òš”«Y] U‹é»Ë +Yg½É^€£ÎßïT¡Ýg +ó{S°8`±®È¦ûMçJú¬‹=_µ§vhE…Nìl¤W;Î6¾-IÒ‚P‡†|ÕÏ`ìªÍ¸-égO@°%Ìn¡ˆ¥éÐO\q§&ÜyÙ½13Æp’’’Êç×J#‘¸‹, }ãn/Ú-ªb§ì5L]CÒVCñß° ×+!“ËDÆ E×›ƒ'v7Áÿ¼H~À<¥úȃ4Ê¢~R£”¶ó^*\—gà{Hw£Gb¦JÀ‰çëÍ1¬–\ê^µ×Tžûpc]ÕÚ2kN8zaÑfÔÙÊkͱŽçpiƒöîb«N² c3¤§Öþ3g%®kètó’îÖ®ûVe|¬gË ¨æ-çÇ®BiÄuF”<…á+‚ËlYÆže Q`+æ4OEBøAª„?P˜í«ä»4²ˆÖLž—‡z)ÀÛàÇÍ‹ Ê¿_æoD(]“:Ýô„ΠÊO¤|Ñ +endstream endobj 1223 0 obj<>stream +ï¬ø…ˆ1¾‰§ šjG ¨²_*¨…O¬‘›nIãó{î#>stream +ÕíÅ¿K`X…ì²ðJR?u]õ‚è=ÛV¼À?äÅ8êCÕó¿Ç)+¼²õ]ÝDÍ–£÷Îv⨖âè)ókÅÓ«ïªÅ•u“Æ ¥”k!€Þ³ÎE~8üÊÝo±¯ÅÄJÚÎN$†§Ég£V¾^ÁÜrÛ4£›EPàû«|ûj™Ä<(«‹ˆŒž4ÛÑåËÌúžm0]tTÂ3rxÓüÂUbLœÂ|Ùª›Æ„vî‰6­«wÉ·=IlD  ÝIP‹mªÁl¯øšR|)”6TFÁ»Á +õz(ÆR çüZ*9ß\¬ +©¹tÇ ~És_5”½ynsãÝ|^™Ì™wŸÅÞÑvˆñ-‹PCÕ30]ÿrxYhžËM»žTv`æ*:Æe$ÿMQt‚ýÒ|O07•-³‹>kû†¢ejס¹é›íÌ>Tn6d£TˆÚN=à ÷›©Ôì,¤´º2õü+”øμÂÇÙ¤€l¶—½ÁélÈîøûý>3»¡¼d†«k©8ã YŸ†rösÙàáás¦7Ù\#Qsáå-~Õ!T=h}eô‘¸¶âÜ¿ÁŽ:G=ŸS»0û^HÏ ™°…7{Ó¸§Ö”JEóÊÆŠœ¥™7)¬G&Ô³ ¤™²ú[~•ü''ù}–ã?Ó?0þ)›ÖKŸ¾¸ûƒëö¦¬êì"®ÈþÞh†+V³c+³­§K¶²¤7Ʊւ½IÊûF¹À,•[úŽÄ—½N÷wvùêe5B×ð>žßsT'Ißì!úáù‹—˜ëÂjñ'î~w +endstream endobj 1225 0 obj<>stream +ç +`Ã;‡(fõøÚºò×]›CXú†ZvíÞª™-Pœ‚b€qŒ¢êݦÃ|z+lY …°î¿töh(– ô«ówÅAƒÔ%Ñ?q2hÀd‚Ò)ÿú|¡&'“¾¦^@¦™¥~”"ø¢ßÕy#ô–&$*øØ Û~,­p: +Q{ ß{ ‰î>îcmóÈÀjø1YÑPÖöe%mYñ8ä ÿ.p½BÑoⶓ°{%3H wêýóµ°êܽ ˜wæWó \±B½ù:âX{u„áx»ö®ž¤Ð˜.` ÛðÂäQ– |¾BÓ-+“‡iÈh,)¹Ë:p,Ø!™j±t»V7Ài:=T’,wà;Û•«û¥æÕQ#Ñ•ovÆšL5^²ÃQ%f¥×cí¨´¤¶ãÿPXT»^ÌÜÛHÞÞÌRº–¥à6§´Ð7ÿ鱸޸yc)¬‚Q&8C¤šd÷ A³m@Ø^<+ V¦\vH!£>ä2š~™kŽa²eidF܃=’ ª‰¥~Šz5ìÆ \› ôuaªw·Êlz”Û–ûÞX‚)UíàY³W ´|ù²’ëó?f’²+Ž#ï8 !£}M·í‰Î¾Âác†‡hôWfOQñ ·0ùYºˆò$2!w|f漇Ç.bH2¶t¸UçÈA¶¿lSï÷~‚v¿‡¬ìùÝàU«Fû>stream +žY¸à¯h;pæ(kPO.¥´…Ó; fè|‚:SÆÜMœ7y/ûQUÝ€3B»‡äVï]¦jkÊBÑ^.‡å¤î$à>Ém„̹²ÒŸP(â_± ™ê$f¹üÂ]ÃdßYm.À{åÏ`©ðã‡Ý8YJ¤%X +næl¯R™‹†Ó$Û¿mGUîa’õ¿f_Vfs Íú"yt+½ ƒ¨Ýµ8b‹½`½€–ä +—‚×;k6‡^'#ºö`E7µC¯-­3‰æOñ^‚²‡ 7œVúá¬ÀâP¦Ì¦wÌq‘oñÞÏIDx}JåwïŒË€2„'¦>stream +XÔ²5½Nd‡_ì(vIâÞÉšþ=Šª=+w œ­xƒSµP‚Jç=5%ÍCûݨРëßú¼œ/5‘?hwh–¥þb(£Ùñ`j£Ž1,wM ·A &œ2Qh@­•Dûh³Cò`t|nÉt§‰´¢[˜ µS`ƒ|¦ß¬î‡ߨ‘ëbëràu8üÅà-ô³Š¾º$¬Ê€í{"T6ývtW õ¶j;äF±Ãˆr,µÁs;f¸;ÛëH|¢R)QÊàË>Í¡ÆÏüLæTLg˜3lvE%ªóÃg`ÆÕÏZŒxœ)KxOã +>²¤ÅHH‡ºÖßÇHFÓb"ohsm²X)S]]úB6±v®aýíMàz$O2±Ai·ŒÑÞ;§VQ1KŒÈ KlÒøƒùÂý×î¸[V<,ô#/¸K•¨±o@o÷ÉOmÈ·Ñ^@ƒL;¨ƒ€ÀDÚ¦®4înï#[8TÌh(«Å+9׃1´d¾šÖ]vȬêR¨B6H)ó±=ºƒ2$²6rn¦‚V—íâ›J#忽4ûsôž/ô*QÔ§Èè:– àõÿzz ‰Íñ¨ZÒWöõ…s¥ Fowº}EŠ¹ù.Òö‚.˜wÛ%5q™Î€O«ÇpKçåÜ?–"%FªW§{SÌê¹.æ9ÁB¿Ç"¡ÕÈ +/ª‡ýóìqPÜ™CD£~ÒDÐñý#b€–¸º +‹­ \˜ +endstream endobj 1228 0 obj<>stream +°vHGgÝç*&׃y·©Æ“à\8sÃôÉYëTÀòY¹HÔRº;&Ÿ›áv7i¨—ꤹwã‹'ÅóK‡P„{<_H¢zzvìN¬ö—“¹Q÷ô#¨uºSþZzÒÜg†ÝÓ[–CÁ#l 4²6 +ˆûÊuNÒyˆ¨-—­F#”R¾(”*ªãb&Ïxý»¸ +]þÑ#+ÏRÜî‹zž±Ò•b åîÁÏ&žë–n#*O˜áåíÊ4 ïú«[HäÁÁØóa‚dg.¶S¸Q0?|ÜI_b©C<sÏí_jfÚ&5ûbë!Æû¿²Hî{º•£‘Lï˜# ë¹Á¶\925‘ªï_Wóy¶ß‹ÜÒå £„Ìh6 +eqÕ?Líãàû-õãê9Žý®¢tРó~õ:øWÏí–B°°ÿ¡Ú¼š€H½™Q:VBj"žeý¬ú8ŸYïOš¶œÿ¹ž µù +ñÓÉ¡J¬]Ý9ŽÅW–—Ï_îODHP€obˆDq3öd +Œr6Ò’óò q ýGz 6ƒ· +öK(Gý$&ÆW7ûµŒMIÐ\ õ ‹7EØ,µƒeƒdŠ…ý©Â}• ’)^htK]Õ^ëÓ¿jP_R¥õâ6¨pº~Ø»ÉA„ð‹ÙõæN‡A-á´oÜËG{„¤&ü´™2ÿûÿŸ‚uÐ ¦­ÌUǃE”ü³g!¿/E±þa¨jl$(ö<&3õPņÏÚ9EÚ->î2â —\ÁÅâý”±žÅûs€éVÚøŠÕºF7½ôÔßv 3Us ,k +endstream endobj 1229 0 obj<>stream +p +ê®VÃbŒê0Æ<ña9W˜A}5kúÊ‹;Y²Ž÷9¹û/&Ò%å³ð‚« Ý56=a-O +s”Ú+ñ¥±Ä[Z£èŸ¨Kï'WèeòöºÅu:Ç¿i˜o^_b¹rôÑ}sþ«ø$£.:»T†¯_ŽlI"…aŸ÷Èqk7§¾¸ÒÇyuæÚƒÞüŸ}-%T¦ÖÿüÇ+D\h8Ó[nÅ~¤á–P‚·A_{ì½ËD>ó‰o#™ê¤]LŽÏ½VƒiÞ«2 +Ú¦$™!æh\NòR†¸?~Ɔ"gx£ ^· /šcB‰sÁÜK#%c§ÁãÙFn\W°n<_ÔžÿiÆÍ@íUŽ ',ß|žDµmúvá0âj$[ﺹ¡S„zÞqp‡ÅÓÆT¹EcÞšÐiÞ’_"¤–/Ñœ9¯®ë/€ñº¬Ò<(§¡ÐM.·¤µbGB-IÍöD0,fìücȶ׶ç%(^üʤÐÄÌ[‰ß_—z»ä=ñ~Õ3o8Øo-•²öª"FÝÛ“œ*~.À8 X@[ô»]kw|”D™8lm )Ö¸¶oëÐ 8x(*c8-y“ „)”«ˆIÑÁæ A™ÿò<ƒu·qÀVu÷ÂÁò ê·8§l’B1<3{oñ¸ÎßÃsa°‘ڎ훀A9 mÀ‘Bâ!‡¹vÚ4À½¬Þ ÊœÏe€Fä ÏÞH„vàb¹€Íä¦P{7º3ݶ³éß6Ø|ÌÈ3^º¾ÊUhÖ—lý–¿s›îóÔ¸"Ä yŠ¸= +endstream endobj 1230 0 obj<>stream +b/MkýRU§ÞHæuT›Ã|qÁ‘Òû‘¾Ž¶Z¦¢(M§-U¤ŒâÝâ´BSS¶…ÝEòãÂO@ Ñ)‰?¦_ù—òóyßOä/².”hÇ œIP€°MmÌÂ,Žï-ǯKnI€ÕNÔ ÔüO}ìÇÇ~[øJf,ÓypÖ!’8w°³B8›_ÁkÌ%¼*Ôyv ÔZϦ^˜ }·µ¼ýû¿3ï2†­µÕVî½N8!ò²Âv'àw«i߸¢Îú)ÈÀf»OÄ]ñÒžú‹å… ˜kŽë>h û.î±efµ¥6SÊþŽýªdäÍ+WàppÜZþ€´C‚‚´±jbñÏñeÝ:b„åÞA_ºÍ+*DS›ŒFCÑó´úƒÞ8fþp–Ùmë,v†#ñlw›³X•I‰0å|«Ô1¬$g|4»šakÏW êIˆÌZÄ_¬°m“mŠ^Fεó}6#hLÝX~¶ëC¶½zÆh ! í®"ŽìtþxŽ†‚ª! Ì†ÞŽv½© ]i=Kê¯ÐÙJ'%ûØäh-¾–ÖM9-„?«s MÓ¶vÏÞXR¬Óå¾k†ýÆPË%R†»$bÌa$ú´µ‹€*SŒ3bþøúNþ]ê®v¤®ri +"yQš}—%|çtωöYA„Ÿ|§f|}ã*˜®QE¦mYÀ{ +endstream endobj 1231 0 obj<>stream +óïÔ›}ÄIÅd_|z\ĨzÍÕ”õ#Ä÷Ð3­©ýIC¥l–ó]QÉÈFë¼úµ1zñ(ø„åjJ +š_Ã3ö2WŠêš!:‰øëí ˆpþŠŸ„w·%ö?}fš…¶ü2>stream +yÐ]m;†*…]¡AMözîç-µ·¯-¹nŽ“†[|^‰ ùµÿÀüð +èJä +·|S•³ ¨2*7è2O£8„šÐîº_,y®#„žØZG*BßêxÜ#—d[mß(ƒ­d÷ƒ¨güáýÐ#;½â=°Á.¸’ÛŠÚdÚ¡öa›Œ÷óR×ÀÅ“­ŸåÈzÃUCÿNmð ïB.O^:§Ôâðï ´ !ô¬€r†9K‰«Æãjqýç’ù¡'þo«4lrÕp½2?°{ ý­<Õ¬TMã çÂóãÁ¢:Ï5Q;Ç¡!™º}S¦¶ú—/%*ûoõ¨/¼¥*zÝ¿x­p¤|Þ˘ð¡µEd¤ÉW„è£P:C + +º_“öªEp}zÏ”’K¢ýWbqp–šyþ»D“+P"|[åæq:‘cÃ5 zÅuv¸ ÂT‰yÉc<¡¶1Z{ +Äé£虑€%´:sf§ôa8Ú£ªj+'À$µ€6¢Œdx¶ 4¢ä­¸u1NM’¤¢)´Öâo'j`ë:Hv²S»ïî°-hxÚG¼P;í¢ú{TÆB˜ô½^ † "ì†/üÕ{1Y<©©k'‘ñmË31ô¥4SAefqî5×rq{"3àÒ®òyâ0¥íŽ¸ÖWc‹­ O±¢+<^:³ÿý±0½.uhÉžN\Ða{71çbž°¹’FuÀ3ñŸ‡îcH´– P³$¥Ì +endstream endobj 1233 0 obj<>stream +r7Ÿ+Þð¬húÑöˆ læ‚|a_Jkû†´G0P7ˆL×ÚŸ2”8´Ì€ ì°î?Þoboñd .ʬ‘•t2XʽL{ϾŽ|)ôCì´ŠóŸYJýä¨8ð!ì·œÄÎbœ…‹ˆæ0À®pÕRNbÈIQ6 k-øŒT„u[¼°AÖ¯Ûè¼r:ý™@z•à”¦( u¾Ql¡ÓFkaz÷ìÂVG7H.rám>æâ`jî¹f”XJnËm}ÖŽZ¿|È<Ì9æ2>mn'÷›»:œ*ŒÀBÖWÄÐ’¾rCþî+‘!•O­ ÕÚË‚­D0ÆŸ·Ø ¶žT#A)»g’÷Šøª¦²é7›hÜëŠ=êSV`zT´WÎAÕ`ÏšEËîÉÉr_²¼Ý(FÆ‚%öi-•*Q](OÌ9: Àk!º`k MõÉâÎê @T%„¤„ȪÉÐrs€pQuÅM-GÙ ®W0ûöïyë›{éÉ”Ur™“C=‡tw1Q¾p“ì­ž±´ý¤Ó‘ñMùæו}ulÈn™¢2 Zøèd·ïšÂ;ÁˆúŒ'º¢Î0¤¤!(vùÄX®,L]·$B‘ô]@E—Ɇ6ïéDY{üÇüŒ$¢{Ë×4.§ƒ#w´GŸþ¢1„mÕ&ðJêÿ"ÉtZF¬HujÏø0þƒêsøÚnáQƒ¼±ýý×zþd +àT´lû=ç)SÒ¤ñ {}¶QÛm‹¥ÄçõNÆ”²µ{Q–ÿƒ±’i,fµ/BnªÑÛÂõ +°@pö.2U»Ok ŒßAx–»©32g-Qq ‚Yžqþð'Îö£ßè2š\ó%ÕK4lGâËÁÐ3‚zšo«ìì(‡YÇqÜڢ̢¥ñ© +endstream endobj 1234 0 obj<>stream +IKž tüb/…»b‡Ù`bË‘Ã×D½SvjLuç q2gP>ÏÅû¨nÍꃦRä[ÒyŒ­JÅÅ…Òc¹í[êÉþ¥*ƒ¢újñJˆ•…fp_€Nðð È Ô8 +M"ùä 4Œ)âí;DiúkˆÉVHúÌ7q­ÉRÙ³,.m•OxAØY¥ô-8à<â¬ù÷©‡ÖòÐhpcôŠS 'ß(¾ X– Ïjiÿåá¦ho;³MçØ'Rˆ;Œ(¦°¡ð9 [>Pí)ÇAŠ % ÏÌÞkzè1&¤A†|t1P¼‹ +â8•÷1ä{ßnîÝ3Þæ9z½r•7“ÉÛéñ픽¸íSJ:”&ÎsØê1Q+¼‡|²•ÀFËÈ«øz$"íóú´a2æ¢F‡µ„0¡/Zik-mˆÖÈKŒáÒ3å¶ÃŠ~kS÷9ŒêqdùGŽ¿:ÞñDšxØ¿Õ­œÊ4·2‘Rí'*°€³÷˜tU{RX´M' G%N¹w!8Ž Š1¨ÔèG†Y%à0_„´ìXª¯°2äœ#œ¶‘¥ñ0·§do.+úd¾Z‡uI»#G,²CWëv.ÚqΣ¤žæ¨}ø·† ¤Á˜²Š]ÿÒy†ª+HóÖÆÜ0`÷ñIé‘ÅЩvA†èþ[ië +æѹŒDÚ>îîfW„HÔÿ#F7¦’/þf. c¹&íÇU…sdåÑÌ‚ò°X}ËÄf–æÈè +JÕÔ¼Rú%ÈJÜ2÷Úñ:Zrþ*9jOŸ¹EØ–]¥Á +W”ÎpéG©ù€Ýô2³O÷•í9©xÑô8;@ü$Æþ@;ïOÂÇSÂR ç¾Z©ë‚j(Ë·ªÕ{®—´¥ÚHoDb_Ñ:Änn„½©—¬fN]¢ùó—XÄ1É~ȨGþ¤vû»Ó ²´‹Ÿù¸¼ä¿Ä*ŽÏŒæ +endstream endobj 1235 0 obj<>stream + dE[1ìR_E(PØ_,5·­È~]ÚÖ'6Õ‘äd¡6½+aåÅ]{Í”¥V'NßÍ|ÜÁå Y¡m¥Ê’Ó \BäÌsþ·YåC—¥Ñä[d´m» ~.:JÑ(i€+ c¹iÚFÖ·î(Ý¡¼žà\§!Ë0[ß­×bÒ.Èd +endstream endobj 1236 0 obj<>stream +tm¶ÿYýy§32(*Ÿ …¿èÖ7N‚ãk,mYùì"à. Ñl_Rªœ9U•Cˆ÷ zíŒ&4x¥ê€s ‹ÏÚCw ÚWÚïŠñcòï³¥œbp#¡BCw??ç…qUE±±©Ò[FΠ~¿HJ1+*è¶EpEgN +O®Œ8ÔÏÙN £~Û9“GÔ ze.¯òD‡ú5Ã}÷û¤…ã¤)$Ú©·À•ß:‘̆º'chåš ýÙ§d‚UÚ>0ÿCHçj—Ò>Û~Ø}fLÝ ütF¹þƒtÛ$|å13™¸9=¬;³øO‹èÒA`›qL÷` +endstream endobj 1237 0 obj<>stream +Tí/lïQ¼37\Ó“ßÍYç´j<í4™ƒ'#¢î ˜NèÍeœÑð•+~úÅ̵=.gC¨Tw¸Äm½{ѧ(Z¿“„@ÂJg©FOš‡ûbÑLv¡§d#ù®Ð`UóŽ\ÁÃï×µAk¾õÆÑ¿!b³*¯{ à¬ÿ#­¢‚ìm|yÍú*@@-ûìIpU‰½›Æ»Áê¸+í“‹@ZçªWr +endstream endobj 1238 0 obj<>stream +þú^ß„ + (2lžÊ©»Ø0pF°ŒÊHøŸïÂBž¾JÂ9,þê·Z¨ÏŽP,JN éëW3s½ðŸY»5†#»¡ùs¯ aðW§œll ž¯ŒÕ1h&ñ4ã[™>xЛWëcU²ú©¯ñÌ-€óG]‚-8}ƒî0ÿ—jd Æ¡Ws¬–Ï󃘄S?¼áöõýä„çòª÷waâ8 ƒ¤O4Õø*É[×Á!÷zÙ”§I!DÆi»øžtÚ/V‰3uÒJdIæÚdJ¦¡`g_GçT,|p¥Ïç†@€1¢½~Ú>¼ŒêÔïTžx’údÀ!kuÄÄÑ#Á·2Q<}h4B†Ÿ´,ó©m…¦ + +endstream endobj 1239 0 obj<>stream +à:!·Ncî¤ÎBÝ=ȼ_§…¿B t=>M”XРϲ•sŽu¥ÍQú›K}H`«œuQ¤? Ÿ<õȱ™½º›ø2£ üê$²ëÛfi±$]ÁB?!Z0÷M)ÞOÈŸ÷ñyù¯´uYlYl°­-B"HŸû›Ìp•ÖêzBòTÝì9Dz„ºò! ÿŒÇDNÁÅDcA?fpÈ­ÍE BÏLwéLήº!74VòÀ½•;©S >stream +-Àà‹Ó þêããD*À³Ý*X²êJ¿¸ú³oæþßÓ1ȃ}(t™d=ñL:k«¶âW­Ö½¶Xóh#SÃÛdÉ™õÉDk#t›²Ê>©?A0¯œŽãCÚØ;{ÛJ(¼$%•¾Ks¯)*'b•Ì|ÖNœNx5³{pJ¶ó@yÅIÞA^!øF·³Ÿ‡ƒ¬ëäXh¹À™±£àÄ ?žaíÜjf KÅãYVãΔX?Âh÷Œ`xIkA™î:5ÕÝ«å¨Õ.¶z3‹/À.¹°"ÅÓ‰:ûÁŒ•"  +endstream endobj 1241 0 obj<>stream +ç© Ñûƒà“ÛjpscIÂ¥õV€¹oSî´ÙA½ °]B…ÛôŽ´*ˆÃ·3 Žèˆ' Åï·T„ÄÁo—o ¾ÇóånÏxÈ&kšõ%&m¬Òùãï•d]‹Z6úâgŸH x U¸Šµ±ÄڨʳÈw_»ª‚x0SM˜VUŒGÇç+^¤¸µûÛwësÿàÙmxÚ²æÚ–¥ ·éG~R´J2ÒtWñ•ŒŒ@ÿôJ +f–TbÀ+¶êh~Ëà;Dj¤IRæz‰¡¡ Ç¥°³8¤WRÜ5æ€D—ÑÒk*LK»¼²— 4óùKónƒ:ùŽMÌ82eb>¢·mʘü­¿v'=(1ö×ßÑXäü¸LÅ„JYhÐ!02÷D'³Ÿhv^¼™È’ƒ±Ôª +endstream endobj 1242 0 obj<>stream +cL¾ù;P[=S~=(Õ™Sq§†y¶u§´aŠËB«i‘4ë›!T•Îý—Þ`ë}RMŸCdž #œt~κ´Ø ‹K—Råu½pŸK¤áfᇠ`O<øD³ÃË " ìÈ‹NãËùM›áÁüÏ€ùm”ôá vÔ®N5årXpFî(¸GQ†™¹æ~’ãíMÂ(;¯<×kŽîmÆ‚)€6NùËföè…Vm]–4ý“柷Ä24ìÌôèžEÄávèѼ¬sò∌P2ÍšG¾ºHɼRŒecDÍ.p^QXûËHõ‘³Ðsh’¬¸D + +endstream endobj 1243 0 obj<>stream +Œ#ñêeEÌ‹ŒÂòª„ +;“?›{Ý® ïäŠßEùÑž}9Œ éàšá\x I€–:¿g;Z¼lOï˜î«¢Œ÷l*gè2%Wâž/]üò…W(¸„Á\C<1@fEˆ›‰hÊÛS?HôbÅ„ó¸ÞiÇÈø2ëºþy¨J½„mxÃÙH[šŽm]Í[B É”_&POâæw +endstream endobj 1244 0 obj<>stream +}‰ºïL1’…+³– /}+C£ð˜¡š†£«ƒNÒâ’ ¨=pa° ΢À-:  RßÐi¬a'fžWw¸vseûi£> ‘ùv_þÆ|EýËâ½Ár€ÌàsñÓQ ß5î<Ëüº[žA`ϳל|cÇ-¸ú›@+S57R˜éeÖ£\û#™k +endstream endobj 1245 0 obj<>stream +%¿~½Â§Äi*Nsïcd1‚ghºÛÅY(Ýz ³>õ&Ú|tžw¶EÌZÛHX3èÈ‚ca,žß#™+2y…Ž6’Ž"Fº!žÅÀ ` Ë—G}"ûS»×—þ?¹ùæóž_ÌÀÄ×’í»vŒP¯oƒS9vX¡+·§ê=yýÀÀdßÒ¼ªM‘B +¦¸ ®Ÿl]¢Áê&eÅÍ{÷™ÕÀ½\ñ2Ø%Oè1%tª„¸œ¢à²3ÀÙ{)þŽc¤)]—ïÇá¸nòïÑJÀ³VãªÿÀKZ8–´wfÐÈV´Â±Ix±äqiùd*}lrù Áli«ò:6³]¸Ë$ê,ª „ÞhûâOŒ²l?<~öÌôsÉ_ÀTXN‘Ëb +endstream endobj 1246 0 obj<>stream +Ë&}bzÜu–RŸO© òˆZÜa²Ã•¸õ&ÓoâoÍse lðŒÒçLlε›ìƒ ߧ­Ñ]O{sƒ®sÒª:dQRݧ*Åñ‡¨1É1ª@‹¹H 8H$4Eopþ€Æ¤·Hå­V¾`:×ÇRz_…ªœ„ËFø$Íγ±jªû§,˜øÝC$1yEÝ šr|üóäñŠ¡æ½ª‡ ë|søÆH“5Ñ—=Î’,Nî(+î)¥–d³4åŒ1ÃÈùÐI"Œgï/¨™lÊJÝ£y<±±÷h9â…«*¡ó‚@ MYÆÕœ¸Yã嚈š¥bŒ–pº{iæÜßõ·ã[Líñ—™>¼e`˜ãŸ8ŸÔ{ =bû1öƒ·é'*XÅ)mÇJ…¸³9w™A·u0M¼ƒ<Óu +endstream endobj 1247 0 obj<>stream +.½Ï>¢Á–M>zÂÃúu“]áÌ "zG6Çæãk~Ó ³ /ôQ– g6¬Ž–L­wÛ§ÏÃI™ê¨6íP˜(€m«†žMåW§Ú)˜iH¿íµJn ÿ€ÕŠë9ÒÓ4´ñÆN²ÈN\?<4?I(‚L¾´ø¬RPðÿNepÅùP®•µÎMŽ"e¦nu´ÉZ±ç¡êÎ[àÞo`ÛÓU ;r½õº9Ä&\/ópE•®Þ +endstream endobj 1248 0 obj<>stream +2WU5öTÚÇAJ–>¨¡!.I~nUL3àü"Ô[9£¿.lº[eKªm:Ñz挄 c?YàÚºÀ“„ãí®N£9^ HüµŠìT$äÎjšAüÒ·$ Ð_öô½BñyüšðÔj¡´ŠûÎwø6xÀÑ$ºõUß“ôϧÞ?’^IȤýèËUæuI­ûÜr©|‹ò=¶„•r.kLN%[(¸MH,ï$LîÍÖô–¦ +Õ.#W”‡^ùpûÞ]Z«`gIh +endstream endobj 1249 0 obj<>stream +N¼N™A\ïÛÜrt™»× ·UÑ}Ó´6,ÁÀä‘åúÚUî†ù ¡­ð§ö¸ ¢¹ÁöÂLÅ<èî—±;½ ó‚»;TX(õhÛWµ{ášzv‡†ˆ7„Y‹k§í–¡öFÍEfn½,y’íÁþ Á0Ãzg‹í6.i ¥(>ìúH5øÐz¯Á…GïÉ&ªh).až~2*ؼ!l†Zø#ö‚]`àö¬·ØÈÕj“Ï;ñ»ÂÊý“÷†Å«³è7=ßÔ¤{y9¾—§W´mÜ2‘5:&ò( +endstream endobj 1250 0 obj<>stream +P>< Àwg+ά“·žõ¯zpšO`zb6'.)âü' ¨MF×P+ H»uÛU\VÔ@VT@'‘€"°à]Fƒ%y€ö^¬œÙÄ”YYLRöYçt’}>x-š¢o¤©‡pœÄöö`=nê õû/qu”™ó_›Üv÷øP*’Ó8ñ¾bä3­ßP‘ìÄŸ¥FF6•×33ÓØ0o‹¤ÿJÌYr]i£)ÒRšL@1Y†5ŒV¤îóø“OŸBk›ŒÜ|‘Dv™¸ +endstream endobj 1251 0 obj<>stream +S“0¹@ú×2n r´™S.úy!Ó¨zm±†]Ÿà/NG¼š7÷í\ó MYð¾DµX áH¿¯of‚¤c¸žw‰1ZŸ1­¶ å ‡d'£ 3’¼ÿ€ùš™V·’(}7+†tÅ©qšo•Ô–0!$‡ü= %(—œ¤JÄ(5eÇž{óô|ŸF–üW&bHH!2æNrWXlå×”›‹94¿ïZ:„sMPf|hžg<8-2íÂÞ +endstream endobj 1252 0 obj<>stream + ÿæ{]ë‹~ô1‘§<´eRUé¸=ºþqÆqßõQ²•áq‰ÃuÉßoò5¬&‘ƒOŸCH¹yB¯-ž…õ ²‡Ñ+ Í]sBx7w˜˜\Õ4.ÙÊâ¡È)½J".Ë rúd« líçæu!)cx+Ê÷lKc¶\³†jéÁ5{(û27¡7’uOµ-zˆJ +7'©k6Ĉ[×›åoç$ ^¶ÁSw:T[üqT®ž´ó°óTP¹ŠGvù-” y+Èu +endstream endobj 1253 0 obj<>stream + ôsƒsÅŒa&Ë<ÙT"!JÀÌÛo{ѱ‡, ð#ø!³ß¤ÇÆÑ…X6䆅Ë;%MÐ ^@vP‰†ÕmeBh¥éÑZ؈¤±äEl í,×ƒØ +‚ß{LáHwÖG +§~Úw mo8T7§•hÑd¼y—j«’®\,ÞK\ˆ4…ñæë=(N"û:fJƒa¥¾Ð¸xíg®qåÏÔL¥ÿ}O7¶Qx ªj”x1›XS.4“¥‰;q^–ÌÄ4k ¾Kb§lkí‹k ÙÁíÐfŸ :Q­ +endstream endobj 1254 0 obj<>stream +Z%¾èÌÊŒÎxöŸ^…uùSãÐi€ðªþ$]žê+»S÷§6·utM:O$ÛéÙ„uIÌÍ=aŠßÓÄÉã%ʪÛ[•Ѭ3C²%ec­£c CvÂ2;EK°Šð'Jº# j+Vt(œ}$tèþ7ŸA"e××ÑÅ+Ò¬h~¦N|Õ»f‚ÇêSþŠÉ¢‹ß:H| æFfòÓF¡pV¼s0F]‘~¬½%×j +•òƒÔßÃ…CPª† +endstream endobj 1255 0 obj<>stream +Ð}Faïù\¨ûßøÁ„3ÇúQ¬˜ sLŠ%ß­}R|–-(ˆà§IP†¿eÂJhû’f—-mà^W=i>Ò¤Ô'éÆ_¾úͼ™• «Fd(½t¢¶KM¨åcYÉêêZC]Ó¥°â5fÓÖT5ð%Ïn®|¢O}Ë„­•î¡‚´¨ò>´P_™€œˆ9®N¦—_úlš}òTŒ4q>stream +Š{½ù·ÞºðaR ÔÝ_d°ÌÓ +º + Ž>º¶¼½÷Ø:–{zY¢ˆ½WÖÎ¥8kœ"G:2U£Eñ¥µ„£²ho{_Îdz`ÁªÈÍŒ§>stream +}‰UýD¢$‰‰Òi_‚†„’íZÏ.gŸA@>gìy°¡¥ ™îHyƒ1Ð¥VÊÂb„ÆeÕæjµnœFÏÔ/ƒ® ÃV¼±Æ\(‚ƒ¹‘ bF5у“(‘`Ñu…¯«‚€ÁÌÏÎwçÂØÖ +AÇ}wØœ¶[ +endstream endobj 1258 0 obj<>stream +¿7« +KŽÙR Vq¥‚¯W®‘MjßÈãGÓ»S¯{ÅsYº´{WžZ(< ‘X˜¡DBØZ›Ád£]‡Îzð.Åzbe{ò®ëÄ™. `IsOíj!ThÐÃQëm•óSÄîÿ¢®7`ÖêCD +ìTy]üšS1ÞK3Æ“ñɹïÂgÜ]TïkÆkñøÒæy÷Ršwá?nZs æÓH‰¶(T9†·zq‹$ÃZ 9‹ï(ƒÿÒxfÛŒn£øpŽÒÒêS¨Û—±»ŠçÏ1ø\Þê‹D”á#zÏúÜøÝõ™ƒ]v…^–€9©ô*ðÁ[Ï:fÊÁî|çjWÝ +endstream endobj 1259 0 obj<>stream +¿Ný¦ëñ| ý¾¹?×"aŹãöt”Š£H*R„KÎÐ\mU5h¿fØ»[Cøt¥z¿;×øÌnøÀÛ=Ñç_«¬—97χ¥( +¦wÝX¾é/õÆÛÝÉ+Uˆª²Ëå«f³¹¿¢W+ÕBjÞÈŸ%¼³šR¦Mª‹óâNúà¶îœóŽD“´wRó, Þxý|×{ ~ dÆS«¹?(£ÉAû€ˆG“Xêö¶d库οô8)›]½~|y‘ÐÀýX娬zñžl¹tŠ¯ðÀxy]ÒXKxE·;Ü€œxŒ+„yûàüfžûžB©ˆ‰JÄ[¦ºS¸WR³TàìHvÕqÂ"í£WÅÙGKÒå¨Ü®žÆ&¶²ø»ì +endstream endobj 1260 0 obj<>stream +ÎÇpª‰šÇ€ö%Ïw úXfh¡ùR÷/Ï9ݺÇ-J®dAì›ÀJ¶;Àç¶8š£-<âN1¼§«¼.c,¤~fmtÌáµHßÄÊ^† <’‡ÖüõÞ-áZ!%MK3Yé÷Iöž^ÑB¥ ì­‘€üÙW-fœ¦còC¬‚Y¸hÅ™vs +endstream endobj 1261 0 obj<>stream +2æ>VdE½q €•¦d¹ðä×FŒ-3:ýy">í¤Býýž?ö…Ž»î£+€>'´q¶sÞª„ï6Af„MG´#Áal‚þx/žÛ>Ôï—ܦ”‡3}œ¯€2³;ܹTå ¨PՉӳ © ­ž17à +)ùÚcm¤vS)¬,+Q\u@`蘴ÓÍnF ¤„ ™¿nCQÀ-â-ær:wßY2â¹Ø¦>stream +×ÃËøSٸإ4=0ÐÓ!Fñ+¨0/sC0JôņĠÖá­0q%>stream +­8õl ® ãà`Èë“u…¨leììz*õÑ´·`ËiñVU߬ü»cíÅ’à5@ì7 Šv o \Á;V2è#o*ö A÷ì6å +¥»o +ùÒáÓÌ<ä:z„¨éÖ‰õ6o|ÕÔSY æ£àÓâˆ?ìx€§i'/ñutå0®V‰''–»Zî퀢c3”ƒ {ÚdÑÜ¥Æl_ææ+}Ç2kˆQ§…é%ä¾ô¥à¢äÞ–t²6®q»¼ m +¡ãƒvãîB 2K:å¶o?E‡UÔЕŠM¬"N£ø7—*ä⢬iß±Avsi'KĽ¾% ØÄçƒX)[.¦së/©§dAA'›ãmlÄÇ–ºKÙæLá7 +endstream endobj 1264 0 obj<>stream +°Tà.hð"{{ÑZƒe°@­ì¾{’~ÆÐ)9±ÅñÑm¸wUÉr]^Yèb÷]nžä û£™þ‹Ž >€B @°Œ”5‡7ÍfN”Ž-’[žq­¨Q?(³WííU¢$Nó·å¦þKTà5Ê eUƒ{† oÜnY¢˜™Î'õ±ö½ å>R]Ÿ‚Ék ÈO¬¬jÍ­{œiÐC9m–,S¶Ù=Ε²4‰qÑÆ´lÍLî_à û¨øöŸpZÕÌ ?¿%vˆªÿVÓydô‘p‹,§mÐJ›[tn<]Ÿ‘½7'ØÇý4ǸLÚÄÏ“‹År¦Ý# +endstream endobj 1265 0 obj<>stream +©}€?ÄÎëà}‚*Ê@|A}u©õ¡‚wõñ”ŽÙÓ€ËìH΀W‘åc:ÎÛ+ >>näÛ0(äW=òVkÉ¥¼í¡i¥Ã*f\I¸E± é Œ +}¶Ò*qi¬GØÃÚÇ–ÝJ†û©¤²†a@ä}áË:œŒÐÂŽ ®Éßr”<õè~=2,E¬£×«¹Õ:N]É“.›6“:7ŒÁ.mÖFXöûtüRžoŽwŠ‹„µÜ·2 MÓ°1rãÑn`tÔ5•Äd,¹’¦_g-?;ë!iYSÓˆ<þ´‚é…ûjœÏó6Àõ$+ÍS+êBÛKgj\>¼RRSÇ·;*‹ÀI¸ÔQz},»J)5™8¥³œú8(+ ¤+àYÔM!™¶1`ˆÜÈùà)š›Ô…_•™på +endstream endobj 1266 0 obj<>stream +hô­ ºÂ®Ê:‘ñ*Þ©÷¨…Üöï çE2dûþr3)Ÿ¤+”?æ©ÇjZ`¨D_üQb`›ÀGo›G»:Ú[N‘yìÅf­E“Åê²ãà8o›Þð«æWš$Ã÷ò¿ ºÔ`ªÐ©‡L.%ÌŒ$“ ’YZTVLÊ-¦ÎÔ õ›È1œI«äìoúÀcm÷ˆ+×ã·ü®óGg>ÚœýŒEÔ!·•¤}Cbš›X(ZJ=WïàxK=ź‰Âoï%ÅñÎ…ñ™ÞíÏ‹bAs)’Ë—OØEåf²¼ÈõÐܼ^0´9gf‚‚¼& +endstream endobj 1267 0 obj<>stream +¶fäÖ®K€†û…w—z @A°i9Aû†•O`êFWìÜ\Z^â™[Ðk>µf ÑlÛ9@f†Ì•n4‹fFh.wÚ*…¦¼0â€ìú*êÇÈvösBvúõ5˜EÃ,Ò%âŒTKz‡ ûj‘鬢(á° +endstream endobj 1268 0 obj<>stream +‚tsÇSF•^¾Æ¢ËµúÊ…øQ†I…<õXKEŸ‹XOcKSš¶ÆÞñ`Ÿ Ž®Õ#Öìµí²ö†+bVéh'ekL.ñKhñ¾GzŸäD"À§èÁ<†Ô¬‡ä…Ô‘Èõ÷ÝŽ¤š\[ó„›S­ÇE¸p‡‘^Þ>ÒÖ²Îñ8t’}ƒ+Å@ÐVÝÂÄG¥´6-&Ê—Z$ý0R™C‹.A¿¥Ê-'‚\WEŒ¨¨â¸N&r=“2i4è¯gÍßmxÄ÷ènœŸUô*ìé‰ã…ÁÑÊÈæÇP +endstream endobj 1269 0 obj<>stream +`Šœ´ÊZâØÆ,+äÁ‘J“Àk­íßµßG/§´ãäÛÑ®˜ — ìùAƒ¶ï‘‘»hl›—ø·œ ú¬=‡øqvQÇ·ã/k[¥Â¦²|Ploçò|öÌo†–Ðché~…FÀª˜‰V¯+Xnꀛí BI‹DÔ—(7¨Q2t¸ØÎÅ–]³LЧɜºÜ:Tì»þê ‘rŸU« ÏVNLàŸ +Òº"ÝË!(5ZJçÞxÂ+ªü°WûÏU+}!:)û[¼ýÜ‘„:k§¼$ö ‹ºJ„“ܦe&Ÿ3P9ž9kt8³Ä¼g‰ìÆ•U*ó´¾8@8ˆSsêGeR +endstream endobj 1270 0 obj<>stream +Zõþu5j5Ùå»´;WÿgDsnÆÊr¡=oβ§ü[lÉý}A×àx73Ê^0bICx ÈŸ—¤gÆípÍ9ï‹Ä8)wN¥%weÉËR¡à>stream +ÓƒèkZ^Gî‘+Ê!Ç·2‡^›€Rj@›}ïoÛzâ´ª$—7Ô®âƒОÛÇH_uoÌuõÝ‘eÑ)ÑÚ`x©/þÿߤ…%êþ¼“¾LSl½Œ<óG„äZÓuŠ%^_¸_± +׎®M Á·¢+ÖOoºÉ˵êe[+>}_‡¸Ïhâ,ýsyL#,q-†ÂEÏ„ndÃG.Ê +endstream endobj 1272 0 obj<>stream +×0í(Û[¢Êt€€µô2§¾ñ’Ù˜¢Ä@ÛgŒ¦@<—·žÌ‹w™¾r¸y{YC!Ï,ºÀâ&§ã^¬\ø– +oÏ徘|Vu‡aVµŽŸyR ꨽â̵ˆáœæ°ÎxØõ$aVç,þÖ¯±ß¹¢”ÚÝCÈVh5_'±>stream +»A•óÚ ”v™ÆÒ1Wëq]XÏ1m æã™Ð™µ1(ò‰ ã£ih¬^üfš´OOkÆÐþ2R.a÷"q,í„ð_%\têÝ’<Ex ¬öSU¶ÏÁÍüMö$í„C<.›íΫYy9)å¬s “ôx éwªÎBãH*Tƒ²þŽu?(n=σ£å\·C¼hôƒØ¤­ºÿ–DÂ`Ä\Bp-°H2îƒãr:¤û­«{õÖ™Bü“wQ©À^¦½)¾~zA‚M… +endstream endobj 1274 0 obj<>stream +…TÄ|r†2ÀŒš'¦sùóÒSš8©vIwI9Q¶ÝÓV®ÇRJòJûöÏ•!u6Í4’_gùoùK-«¶ËnÈ©Sç¦öjârƒÄ9~EöÐÓ“'Mk¨–¦ã§'!¥ +.œíô[ïÔû±ëmàwµ!“þW»üüž]|*–¢>ÚMv@²xOÅ7flf:º­’4#µ¦ŸwÔÉiDZDï²ØÉFC¸[9ì +endstream endobj 1275 0 obj<>stream +À\ô2wj³ª*HÒ”Ý@Ú¤ÿØÅ%ÏÞ|2­B*§³ öžwk½8DD’m„¥„Eü‘—“Íì­2Ó^!´.& +endstream endobj 1276 0 obj<>stream +YØ!z†„u @XRrÁTÛÇÒ‚ÔH×hnË,²³nþ#pœÄô🂠t°ì/‘¾ø‹MóµdàsÑËBÁ §´4ie}£Ÿ·ú\ByAú—&~BŠl†9›‹sŒ’” £½¨˜g˜/ô厴ÊœFr$B¼-²Xa [„Ø•:Ñ? +endstream endobj 1277 0 obj<>stream +®”­¼ôÍ(Ý©ëÖKäôÿe]a(ªý^õVb33­Óš ]ÍKžëÊŸGkè‡z’è+¹Šº–˜7Æ{’ñÇèØlÜ£$ÈêPÚ}8É‘Áyè8±xO1£(þ¶Ê&¥ ïäö‰ïJðÿò.´‰§ õ!›‡ï¦<õÔŸ).\ìÊ¢í$ô›Ò".^'µ†9LöÀAàß^_×ür‹µÀÆ­vÌ5¬â­Ùñ0>íÌ—Û„øímëTë`]á—OQ4g­úmÏ"²ˆqŽS•Nþ²¤P8ü<çaˆ`¸Âø1zØ^Ì­¯ø%ô˜K>È@l(2]Œç ›¼6‚8k&"è/ Z^XÖ,å^ÕŒœ—3ÎIƒ@uiRî¤Ú¤c™ÕHŸ¸0‘W;|H[;@©vô÷Z¾ïU©8¯ÍEnÌA +endstream endobj 1278 0 obj<>stream +UDI ŒLWôtäóìʇ¿bŽXø­•øñ‚+ë…0êŽË8qoOÞØüü¡?}€áêýr"ž}5‹oผ£3•Öm –q>9Ëvž]17¼ÊÔMF-ás!Gb0ò&¶ ç¶Ø’$.‡Ô: aª–Ùá~V‰ÑŒ¢h˜®¤­•÷.ïM*;/ÔÈÀÒ™­ê°Ç†¡#®ª Ðì;ÿÆÁ£hœh2ðcäC«[X<`vVšŸôÅ|„Ó÷!1'S¹¬?–:i“¶ÏQy)ÙTx],9É7Áëlí®PéX4fºÃ{B ¯êi¯Ø®6ó rçÍá?­Z3FXŒe¡mQ¦KCf-4s­>stream +Ê–ckå½—¤Û˜¢gèaˆel¥ÞU§`™×>r²š)JÁ-ü"n4:7r}4½æŒ5曮ǹúD—R$uVÿ+ŸDç³É‡\ç¦9ÐðÌvz6P¸¥´ˆ³ôÒw®žmÚ¼E‘\ùé@®ßRæ´‰Ÿã –ÚÍE<”2Ç‘¥Jù,OÝõ` ‡_DQßjœ¿Eg·J8´\*€Ù’öªÃ±ªs.q™µÕ'ÌÜZÄS`’ÙâdÖ¹x/¡çI¥7B©Š ´ÿÖ}ÔTìLé€ÐcCgÃŒŽ¤”k«=Š³›æÏ8Iøa9*Ð$å–÷ùíQ=SÉ JœÿhdÍÈÿ¿%Áɹ¿[ÔvžpÜ +endstream endobj 1280 0 obj<>stream +Nº¾€g-O­#ıw¯ç8~"Òb˜r…}ˆ#Ü2ϯ3´ŒEŠê@ÆýöK༰C®§M3"E3ì¨o!‹É{ñ÷F˜Â›ºUíy±ˆo²}£{ù'-ok(Ö«ÿwÊn×U ñ0§¸ +†|‰spÆ?¬; óöš"¨‡ÔÌÑïlðÑàWôÃÄ+$öL[›W=Ýþ8% ƒíþôù¿>$¡nz‘=!Ñ{ó©ì1]')º[;…­„•ûT½ºµZS‰#a{,ú tk_M²·ë¶_ñBÇ(Lкèl·í«ÏaZ/Zp¯íä‹æV„ikš) æ~pè¾" ¤ªQ'£À+©(21oƒypü+B@ÅþTM´óèuUjðÜõIhŽœŸÍB±Í„%SîÙ[L¡é~Pwï P±ªhœµŽeÞ£‚5‹hæMš˜D8’i!Û- +ñq¹?¾Î7.¿‘¨ÑJ¢s×fd.Í +endstream endobj 1281 0 obj<>stream +w"᪻… ,èßæ¡=Ì´`^Ñ«??É Î©½„±"©„`ä]Ùt¸¿”À;æšFÌê¾´t À@ób;sVYºá ¸J]Ú<í%Ö¯‹C‰ {`b™ÒÒ‡[I¾’€«Õݧ™66S1¿R8%a᧮]7Ï)1‚˜³'V M +3ÜÙüЭœvör_Ù`/7]j¶I >Çò?Zåa›C!é`yê~KZ4PºÛ‚DSv*F‘­¢£>cø»œj5bËŠÒ¢ +endstream endobj 1282 0 obj<>stream +¨àÍ4yÞü¿/O8Ùz4|¨97Aøõd,Ü6ãDÍw `‚ªìs£oM ]:íÕløÌ)`}2Ÿ§lcÍ/òÆBñP«.%,„ G©ü5a„Žê-FÏ¥ZÏ–’s{jìk­C¾ŠiHGdQ²¦ŸHÂã½õ×CXHŒ`}Kh¿hùï=Ÿ°ÎÞV剒‰w•zo˜vúŠ[ŠvW%Û@o¶àA•Œ"†ïrZÒ’SÑ"ì‘ÿI¶ÍêiÜ— ~yè‹qä +÷ÆçÑÞøNpMö—g¾•9^·ðY +endstream endobj 1283 0 obj<>stream +µ‰T°³?þ*,û÷lÍými™Îf„àR%‹(tw"+ “ÏõñÛ=‹( 7 *˜YÚ-m0ðyUmáAL +endstream endobj 1284 0 obj<>stream +/¨úà›D¼Ë@IÀb´ªoi½š ª®²O¯N%€Ÿñ TŽzL$s³=¾¿¦Z˜˜Ÿ„F+cðd`ó©’ŠˆêŠ<*Mf¿¯Ï*;/ Þd +endstream endobj 1285 0 obj<>stream +Óˆ½Cg# $‚:\¿|Çê.7'à†ÁÞmh}q¥}'V+9 êÏmöð(XÝ“íí<’we=‡ß¥ÜTPÙ6”¹yW{¼hH{ÇÏ]ÐéÖˆp\KС&éxDL.½-J)5[$ŒCôUðÚ +©45Úð’i +endstream endobj 1286 0 obj<> endobj 1287 0 obj<> endobj 1288 0 obj<> endobj 1289 0 obj<> endobj 1290 0 obj<> endobj 1291 0 obj<> endobj 1292 0 obj<> endobj 1293 0 obj<> endobj 1294 0 obj<> endobj 1295 0 obj<> endobj 1296 0 obj<> endobj 1297 0 obj<> endobj 1298 0 obj<> endobj 1299 0 obj<> endobj 1300 0 obj<> endobj 1301 0 obj<> endobj 1302 0 obj<> endobj 1303 0 obj<> endobj 1304 0 obj<> endobj 1305 0 obj<> endobj 1306 0 obj<> endobj 1307 0 obj<> endobj 1308 0 obj<> endobj 1309 0 obj<> endobj 1310 0 obj<> endobj 1311 0 obj<> endobj 1312 0 obj<> endobj 1313 0 obj<> endobj 1314 0 obj<> endobj 1315 0 obj<> endobj 1316 0 obj<> endobj 1317 0 obj<> endobj 1318 0 obj<> endobj 1319 0 obj<> endobj 1320 0 obj<>stream + + + + + + + +ES 201 873-1 - V4.2.1 - Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core LanguageMTSES 201 873-1 - V4.2.1 + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 1321 0 obj<W¢+ß !¾È­\(𾲺Ãö DÔ7¿LñÜ°Æ'×€«1•þ'Ÿ/ŠjW³Lê=`ØŹí[ùQfMgPsöhi{]Ÿôî˃çd«Õý\(ͲÄ&Jk*@5.”-\\m™wØòÕ ³ëW8ÖS~!çöÝÁă\r Ì:ÄÀ/ ¦ªý£¡\\8M•™)/Creator(!œ¦ö*k{ ç}†Ròeÿê)/Author(\)œ¦)/Keywords( ­×e\\qú‹ AÊ͵&¶õð\nUè ˜+)/Subject(!›Õ: >W¢+ß !¾È­\(ð¾²)/Producer(%«‡ÐhYjOÑqGé`òûë&ú¾²´ÞöE.YÒ<´¾)>> endobj xref +0 1322 +0000000000 65535 f +0000080586 00000 n +0000080755 00000 n +0000080879 00000 n +0000081027 00000 n +0000081180 00000 n +0000081329 00000 n +0000085082 00000 n +0000085225 00000 n +0000085385 00000 n +0000089336 00000 n +0000089482 00000 n +0000089631 00000 n +0000094186 00000 n +0000094332 00000 n +0000094492 00000 n +0000098684 00000 n +0000098830 00000 n +0000098979 00000 n +0000102717 00000 n +0000102863 00000 n +0000103034 00000 n +0000106926 00000 n +0000107072 00000 n +0000107243 00000 n +0000110878 00000 n +0000111024 00000 n +0000111195 00000 n +0000114523 00000 n +0000114669 00000 n +0000114851 00000 n +0000117508 00000 n +0000117669 00000 n +0000117801 00000 n +0000117973 00000 n +0000121103 00000 n +0000121264 00000 n +0000121394 00000 n +0000121544 00000 n +0000126831 00000 n +0000126977 00000 n +0000127138 00000 n +0000131371 00000 n +0000131517 00000 n +0000131678 00000 n +0000137165 00000 n +0000137311 00000 n +0000137483 00000 n +0000143613 00000 n +0000143759 00000 n +0000143930 00000 n +0000149266 00000 n +0000149412 00000 n +0000149584 00000 n +0000154474 00000 n +0000154620 00000 n +0000154770 00000 n +0000158841 00000 n +0000158987 00000 n +0000159171 00000 n +0000167344 00000 n +0000167490 00000 n +0000167640 00000 n +0000174438 00000 n +0000174584 00000 n +0000174768 00000 n +0000179369 00000 n +0000179410 00000 n +0000179466 00000 n +0000179601 00000 n +0000179634 00000 n +0000179915 00000 n +0000180061 00000 n +0000180234 00000 n +0000183153 00000 n +0000183299 00000 n +0000183472 00000 n +0000186734 00000 n +0000186880 00000 n +0000187065 00000 n +0000192546 00000 n +0000192692 00000 n +0000192911 00000 n +0000199058 00000 n +0000199204 00000 n +0000199389 00000 n +0000202120 00000 n +0000202266 00000 n +0000202474 00000 n +0000207680 00000 n +0000207826 00000 n +0000208034 00000 n +0000211462 00000 n +0000211608 00000 n +0000211816 00000 n +0000215243 00000 n +0000215389 00000 n +0000215573 00000 n +0000220725 00000 n +0000220872 00000 n +0000221045 00000 n +0000223169 00000 n +0000223318 00000 n +0000223504 00000 n +0000227449 00000 n +0000227598 00000 n +0000227794 00000 n +0000233709 00000 n +0000233751 00000 n +0000233809 00000 n +0000233970 00000 n +0000234007 00000 n +0000234156 00000 n +0000234341 00000 n +0000238764 00000 n +0000238913 00000 n +0000239160 00000 n +0000244461 00000 n +0000244891 00000 n +0000244933 00000 n +0000244993 00000 n +0000245254 00000 n +0000245293 00000 n +0000245577 00000 n +0000245995 00000 n +0000246144 00000 n +0000246318 00000 n +0000249883 00000 n +0000250032 00000 n +0000250206 00000 n +0000254621 00000 n +0000254770 00000 n +0000254944 00000 n +0000259216 00000 n +0000259365 00000 n +0000259539 00000 n +0000263378 00000 n +0000263527 00000 n +0000263689 00000 n +0000266197 00000 n +0000266346 00000 n +0000266520 00000 n +0000269320 00000 n +0000269469 00000 n +0000269655 00000 n +0000272853 00000 n +0000273002 00000 n +0000273187 00000 n +0000277571 00000 n +0000277720 00000 n +0000277893 00000 n +0000281533 00000 n +0000281682 00000 n +0000281868 00000 n +0000284568 00000 n +0000284717 00000 n +0000284891 00000 n +0000289500 00000 n +0000289649 00000 n +0000289834 00000 n +0000293818 00000 n +0000293967 00000 n +0000294141 00000 n +0000298255 00000 n +0000298404 00000 n +0000298578 00000 n +0000303232 00000 n +0000303381 00000 n +0000303590 00000 n +0000308946 00000 n +0000309095 00000 n +0000309293 00000 n +0000314314 00000 n +0000314463 00000 n +0000314683 00000 n +0000318902 00000 n +0000319051 00000 n +0000319237 00000 n +0000322916 00000 n +0000323065 00000 n +0000323285 00000 n +0000328296 00000 n +0000328445 00000 n +0000328619 00000 n +0000330942 00000 n +0000331091 00000 n +0000331311 00000 n +0000335273 00000 n +0000335422 00000 n +0000335607 00000 n +0000340309 00000 n +0000340458 00000 n +0000340620 00000 n +0000342738 00000 n +0000342887 00000 n +0000343061 00000 n +0000345872 00000 n +0000346021 00000 n +0000346183 00000 n +0000348040 00000 n +0000348189 00000 n +0000348363 00000 n +0000351464 00000 n +0000351613 00000 n +0000351787 00000 n +0000355440 00000 n +0000355589 00000 n +0000355762 00000 n +0000359952 00000 n +0000360101 00000 n +0000360286 00000 n +0000363637 00000 n +0000363786 00000 n +0000363971 00000 n +0000366904 00000 n +0000367053 00000 n +0000367238 00000 n +0000371377 00000 n +0000371526 00000 n +0000371724 00000 n +0000375450 00000 n +0000375599 00000 n +0000375762 00000 n +0000380605 00000 n +0000380754 00000 n +0000380928 00000 n +0000385700 00000 n +0000385849 00000 n +0000386045 00000 n +0000392344 00000 n +0000392493 00000 n +0000392678 00000 n +0000395465 00000 n +0000395614 00000 n +0000395799 00000 n +0000400164 00000 n +0000400313 00000 n +0000400498 00000 n +0000404237 00000 n +0000404386 00000 n +0000404571 00000 n +0000408287 00000 n +0000408436 00000 n +0000408656 00000 n +0000413440 00000 n +0000413589 00000 n +0000413787 00000 n +0000417777 00000 n +0000417926 00000 n +0000418124 00000 n +0000422634 00000 n +0000422783 00000 n +0000422981 00000 n +0000426374 00000 n +0000426523 00000 n +0000426732 00000 n +0000432096 00000 n +0000432245 00000 n +0000432441 00000 n +0000438941 00000 n +0000439090 00000 n +0000439299 00000 n +0000444903 00000 n +0000445052 00000 n +0000445238 00000 n +0000448554 00000 n +0000448703 00000 n +0000448865 00000 n +0000451007 00000 n +0000451156 00000 n +0000451354 00000 n +0000455078 00000 n +0000455227 00000 n +0000455425 00000 n +0000460630 00000 n +0000460779 00000 n +0000460977 00000 n +0000464646 00000 n +0000464795 00000 n +0000465004 00000 n +0000469720 00000 n +0000469869 00000 n +0000470077 00000 n +0000475779 00000 n +0000475928 00000 n +0000476126 00000 n +0000479391 00000 n +0000479540 00000 n +0000479738 00000 n +0000483908 00000 n +0000484057 00000 n +0000484254 00000 n +0000487964 00000 n +0000488113 00000 n +0000488299 00000 n +0000492225 00000 n +0000492374 00000 n +0000492559 00000 n +0000496963 00000 n +0000497112 00000 n +0000497297 00000 n +0000501583 00000 n +0000501732 00000 n +0000501883 00000 n +0000506194 00000 n +0000506343 00000 n +0000506505 00000 n +0000513008 00000 n +0000513157 00000 n +0000513354 00000 n +0000517014 00000 n +0000517163 00000 n +0000517361 00000 n +0000521606 00000 n +0000521755 00000 n +0000521975 00000 n +0000526822 00000 n +0000526971 00000 n +0000527169 00000 n +0000532599 00000 n +0000532748 00000 n +0000532934 00000 n +0000536646 00000 n +0000536795 00000 n +0000537004 00000 n +0000542599 00000 n +0000542748 00000 n +0000542945 00000 n +0000546830 00000 n +0000546979 00000 n +0000547165 00000 n +0000550935 00000 n +0000551084 00000 n +0000551270 00000 n +0000556357 00000 n +0000556506 00000 n +0000556704 00000 n +0000558885 00000 n +0000559034 00000 n +0000559243 00000 n +0000563730 00000 n +0000563879 00000 n +0000564088 00000 n +0000569970 00000 n +0000570119 00000 n +0000570328 00000 n +0000573945 00000 n +0000574094 00000 n +0000574280 00000 n +0000576497 00000 n +0000576646 00000 n +0000576820 00000 n +0000580071 00000 n +0000580220 00000 n +0000580394 00000 n +0000585417 00000 n +0000585566 00000 n +0000585740 00000 n +0000588227 00000 n +0000588376 00000 n +0000588561 00000 n +0000597357 00000 n +0000597506 00000 n +0000597737 00000 n +0000601275 00000 n +0000601424 00000 n +0000601655 00000 n +0000605145 00000 n +0000605294 00000 n +0000605503 00000 n +0000609291 00000 n +0000609440 00000 n +0000609591 00000 n +0000615720 00000 n +0000615869 00000 n +0000616067 00000 n +0000619040 00000 n +0000619189 00000 n +0000619387 00000 n +0000623065 00000 n +0000623214 00000 n +0000623388 00000 n +0000626527 00000 n +0000626676 00000 n +0000626885 00000 n +0000632243 00000 n +0000632392 00000 n +0000632590 00000 n +0000636257 00000 n +0000636406 00000 n +0000636592 00000 n +0000643398 00000 n +0000643547 00000 n +0000643745 00000 n +0000646177 00000 n +0000646326 00000 n +0000646524 00000 n +0000651237 00000 n +0000651386 00000 n +0000651595 00000 n +0000657112 00000 n +0000657261 00000 n +0000657470 00000 n +0000661453 00000 n +0000661602 00000 n +0000661788 00000 n +0000666249 00000 n +0000666398 00000 n +0000666607 00000 n +0000671001 00000 n +0000671150 00000 n +0000671335 00000 n +0000676458 00000 n +0000676607 00000 n +0000676746 00000 n +0000683960 00000 n +0000684109 00000 n +0000684260 00000 n +0000689447 00000 n +0000689596 00000 n +0000689816 00000 n +0000694172 00000 n +0000694321 00000 n +0000694530 00000 n +0000698504 00000 n +0000698653 00000 n +0000698851 00000 n +0000703101 00000 n +0000703250 00000 n +0000703459 00000 n +0000707209 00000 n +0000707358 00000 n +0000707567 00000 n +0000710973 00000 n +0000711122 00000 n +0000711320 00000 n +0000714913 00000 n +0000715062 00000 n +0000715248 00000 n +0000720241 00000 n +0000720390 00000 n +0000720588 00000 n +0000725492 00000 n +0000725641 00000 n +0000725838 00000 n +0000729489 00000 n +0000729638 00000 n +0000729836 00000 n +0000733595 00000 n +0000733744 00000 n +0000733942 00000 n +0000740865 00000 n +0000741014 00000 n +0000741210 00000 n +0000748176 00000 n +0000748325 00000 n +0000748521 00000 n +0000754446 00000 n +0000754595 00000 n +0000754781 00000 n +0000757281 00000 n +0000757430 00000 n +0000757616 00000 n +0000761088 00000 n +0000761237 00000 n +0000761435 00000 n +0000766397 00000 n +0000766546 00000 n +0000766732 00000 n +0000768947 00000 n +0000769096 00000 n +0000769294 00000 n +0000775419 00000 n +0000775568 00000 n +0000775777 00000 n +0000779347 00000 n +0000779496 00000 n +0000779682 00000 n +0000784688 00000 n +0000784837 00000 n +0000785046 00000 n +0000789761 00000 n +0000789910 00000 n +0000790141 00000 n +0000794708 00000 n +0000794857 00000 n +0000795055 00000 n +0000799509 00000 n +0000799658 00000 n +0000799867 00000 n +0000805505 00000 n +0000805654 00000 n +0000805863 00000 n +0000811216 00000 n +0000811365 00000 n +0000811585 00000 n +0000816956 00000 n +0000817105 00000 n +0000817314 00000 n +0000821840 00000 n +0000821989 00000 n +0000822198 00000 n +0000826612 00000 n +0000826761 00000 n +0000826970 00000 n +0000830842 00000 n +0000830991 00000 n +0000831188 00000 n +0000835074 00000 n +0000835223 00000 n +0000835421 00000 n +0000839262 00000 n +0000839411 00000 n +0000839584 00000 n +0000846654 00000 n +0000846803 00000 n +0000846988 00000 n +0000853890 00000 n +0000854039 00000 n +0000854235 00000 n +0000859844 00000 n +0000859993 00000 n +0000860178 00000 n +0000866731 00000 n +0000866880 00000 n +0000867100 00000 n +0000872569 00000 n +0000872718 00000 n +0000872927 00000 n +0000877251 00000 n +0000877400 00000 n +0000877584 00000 n +0000882154 00000 n +0000882303 00000 n +0000882501 00000 n +0000885565 00000 n +0000885714 00000 n +0000885910 00000 n +0000889705 00000 n +0000889854 00000 n +0000890063 00000 n +0000895037 00000 n +0000895186 00000 n +0000895359 00000 n +0000902072 00000 n +0000902221 00000 n +0000902406 00000 n +0000907184 00000 n +0000907333 00000 n +0000907495 00000 n +0000909680 00000 n +0000909829 00000 n +0000910049 00000 n +0000914951 00000 n +0000915100 00000 n +0000915298 00000 n +0000918323 00000 n +0000918472 00000 n +0000918681 00000 n +0000923528 00000 n +0000923677 00000 n +0000923885 00000 n +0000928702 00000 n +0000928851 00000 n +0000929060 00000 n +0000933653 00000 n +0000933802 00000 n +0000934022 00000 n +0000938654 00000 n +0000938803 00000 n +0000939011 00000 n +0000942693 00000 n +0000942842 00000 n +0000943062 00000 n +0000948421 00000 n +0000948570 00000 n +0000948779 00000 n +0000952248 00000 n +0000952397 00000 n +0000952606 00000 n +0000955751 00000 n +0000955900 00000 n +0000956109 00000 n +0000961374 00000 n +0000961523 00000 n +0000961732 00000 n +0000967783 00000 n +0000967932 00000 n +0000968130 00000 n +0000971675 00000 n +0000971824 00000 n +0000972022 00000 n +0000975184 00000 n +0000975333 00000 n +0000975519 00000 n +0000980744 00000 n +0000980893 00000 n +0000981089 00000 n +0000987728 00000 n +0000987877 00000 n +0000988097 00000 n +0000992579 00000 n +0000992728 00000 n +0000992937 00000 n +0000997565 00000 n +0000997714 00000 n +0000997923 00000 n +0001003392 00000 n +0001003541 00000 n +0001003761 00000 n +0001007964 00000 n +0001008113 00000 n +0001008333 00000 n +0001012423 00000 n +0001012572 00000 n +0001012746 00000 n +0001015277 00000 n +0001015426 00000 n +0001015600 00000 n +0001019139 00000 n +0001019288 00000 n +0001019473 00000 n +0001024120 00000 n +0001024269 00000 n +0001024466 00000 n +0001027767 00000 n +0001027916 00000 n +0001028136 00000 n +0001032098 00000 n +0001032247 00000 n +0001032444 00000 n +0001036537 00000 n +0001036686 00000 n +0001036883 00000 n +0001041325 00000 n +0001041474 00000 n +0001041671 00000 n +0001045148 00000 n +0001045297 00000 n +0001045494 00000 n +0001049781 00000 n +0001049930 00000 n +0001050080 00000 n +0001051220 00000 n +0001051369 00000 n +0001051532 00000 n +0001055562 00000 n +0001055711 00000 n +0001055908 00000 n +0001059370 00000 n +0001059519 00000 n +0001059692 00000 n +0001062396 00000 n +0001062545 00000 n +0001062719 00000 n +0001065965 00000 n +0001066114 00000 n +0001066265 00000 n +0001070678 00000 n +0001070827 00000 n +0001070978 00000 n +0001075217 00000 n +0001075366 00000 n +0001075505 00000 n +0001079839 00000 n +0001079988 00000 n +0001080139 00000 n +0001083861 00000 n +0001084010 00000 n +0001084161 00000 n +0001088043 00000 n +0001088192 00000 n +0001088343 00000 n +0001092500 00000 n +0001092649 00000 n +0001092800 00000 n +0001096655 00000 n +0001096804 00000 n +0001096955 00000 n +0001101190 00000 n +0001101339 00000 n +0001101490 00000 n +0001106075 00000 n +0001106224 00000 n +0001106375 00000 n +0001109544 00000 n +0001109693 00000 n +0001109856 00000 n +0001113717 00000 n +0001113866 00000 n +0001114028 00000 n +0001117890 00000 n +0001118039 00000 n +0001118190 00000 n +0001121923 00000 n +0001122072 00000 n +0001122222 00000 n +0001125895 00000 n +0001126044 00000 n +0001126195 00000 n +0001127103 00000 n +0001127252 00000 n +0001127426 00000 n +0001130414 00000 n +0001130563 00000 n +0001130748 00000 n +0001134887 00000 n +0001135036 00000 n +0001135210 00000 n +0001139777 00000 n +0001139926 00000 n +0001140122 00000 n +0001143332 00000 n +0001143481 00000 n +0001143677 00000 n +0001148956 00000 n +0001149105 00000 n +0001149290 00000 n +0001152067 00000 n +0001152216 00000 n +0001152401 00000 n +0001157454 00000 n +0001157603 00000 n +0001157777 00000 n +0001163245 00000 n +0001163394 00000 n +0001163590 00000 n +0001169276 00000 n +0001169425 00000 n +0001169599 00000 n +0001174217 00000 n +0001174366 00000 n +0001174540 00000 n +0001178986 00000 n +0001179135 00000 n +0001179309 00000 n +0001181858 00000 n +0001182007 00000 n +0001182192 00000 n +0001185912 00000 n +0001186061 00000 n +0001186258 00000 n +0001190366 00000 n +0001190515 00000 n +0001190711 00000 n +0001193545 00000 n +0001193694 00000 n +0001193879 00000 n +0001197356 00000 n +0001197505 00000 n +0001197690 00000 n +0001201338 00000 n +0001201487 00000 n +0001201661 00000 n +0001205603 00000 n +0001205752 00000 n +0001205926 00000 n +0001209262 00000 n +0001209411 00000 n +0001209608 00000 n +0001213340 00000 n +0001213489 00000 n +0001213696 00000 n +0001219104 00000 n +0001219253 00000 n +0001219438 00000 n +0001222971 00000 n +0001223120 00000 n +0001223316 00000 n +0001227026 00000 n +0001227175 00000 n +0001227371 00000 n +0001230229 00000 n +0001230378 00000 n +0001230574 00000 n +0001233707 00000 n +0001233856 00000 n +0001234052 00000 n +0001238914 00000 n +0001239063 00000 n +0001239259 00000 n +0001243994 00000 n +0001244143 00000 n +0001244328 00000 n +0001248662 00000 n +0001248811 00000 n +0001249030 00000 n +0001252776 00000 n +0001252925 00000 n +0001253087 00000 n +0001255287 00000 n +0001255436 00000 n +0001255621 00000 n +0001259609 00000 n +0001259758 00000 n +0001259920 00000 n +0001261111 00000 n +0001261260 00000 n +0001261434 00000 n +0001265024 00000 n +0001265173 00000 n +0001265347 00000 n +0001269203 00000 n +0001269352 00000 n +0001269514 00000 n +0001270710 00000 n +0001270859 00000 n +0001271033 00000 n +0001274440 00000 n +0001274589 00000 n +0001274763 00000 n +0001278944 00000 n +0001279093 00000 n +0001279267 00000 n +0001284302 00000 n +0001284451 00000 n +0001284625 00000 n +0001288443 00000 n +0001288592 00000 n +0001288766 00000 n +0001289695 00000 n +0001289844 00000 n +0001290017 00000 n +0001293776 00000 n +0001293925 00000 n +0001294166 00000 n +0001304270 00000 n +0001304406 00000 n +0001304527 00000 n +0001304806 00000 n +0001304955 00000 n +0001305360 00000 n +0001318530 00000 n +0001318666 00000 n +0001318788 00000 n +0001319065 00000 n +0001319201 00000 n +0001319323 00000 n +0001319600 00000 n +0001319736 00000 n +0001319858 00000 n +0001320135 00000 n +0001320271 00000 n +0001320393 00000 n +0001320670 00000 n +0001320806 00000 n +0001320928 00000 n +0001321205 00000 n +0001321341 00000 n +0001321463 00000 n +0001321740 00000 n +0001321876 00000 n +0001321998 00000 n +0001322275 00000 n +0001322411 00000 n +0001322533 00000 n +0001322810 00000 n +0001322946 00000 n +0001323068 00000 n +0001323345 00000 n +0001323481 00000 n +0001323603 00000 n +0001323880 00000 n +0001324016 00000 n +0001324137 00000 n +0001324413 00000 n +0001324549 00000 n +0001324670 00000 n +0001324946 00000 n +0001325082 00000 n +0001325203 00000 n +0001325479 00000 n +0001325615 00000 n +0001325736 00000 n +0001326012 00000 n +0001326148 00000 n +0001326269 00000 n +0001326545 00000 n +0001326681 00000 n +0001326803 00000 n +0001327080 00000 n +0001327229 00000 n +0001327448 00000 n +0001335734 00000 n +0001335883 00000 n +0001336309 00000 n +0001348892 00000 n +0001349028 00000 n +0001349150 00000 n +0001349430 00000 n +0001349566 00000 n +0001349688 00000 n +0001349968 00000 n +0001350104 00000 n +0001350226 00000 n +0001350506 00000 n +0001350642 00000 n +0001350764 00000 n +0001351044 00000 n +0001351180 00000 n +0001351302 00000 n +0001351582 00000 n +0001351718 00000 n +0001351840 00000 n +0001352120 00000 n +0001352256 00000 n +0001352378 00000 n +0001352658 00000 n +0001352794 00000 n +0001352916 00000 n +0001353196 00000 n +0001353332 00000 n +0001353454 00000 n +0001353734 00000 n +0001353870 00000 n +0001353992 00000 n +0001354272 00000 n +0001354408 00000 n +0001354530 00000 n +0001354810 00000 n +0001354946 00000 n +0001355068 00000 n +0001355348 00000 n +0001355497 00000 n +0001355792 00000 n +0001364832 00000 n +0001364968 00000 n +0001365090 00000 n +0001365370 00000 n +0001365506 00000 n +0001365628 00000 n +0001365908 00000 n +0001366057 00000 n +0001366231 00000 n +0001370270 00000 n +0001370419 00000 n +0001370581 00000 n +0001371494 00000 n +0001371643 00000 n +0001371805 00000 n +0001372914 00000 n +0001373063 00000 n +0001373225 00000 n +0001374649 00000 n +0001375055 00000 n +0001375104 00000 n +0001375304 00000 n +0001375822 00000 n +0001375957 00000 n +0001375999 00000 n +0001376052 00000 n +0001376084 00000 n +0001376366 00000 n +0001376579 00000 n +0001381432 00000 n +0001381983 00000 n +0001382483 00000 n +0001382670 00000 n +0001382712 00000 n +0001382994 00000 n +0001383207 00000 n +0001383763 00000 n +0001383795 00000 n +0001383930 00000 n +0001384439 00000 n +0001384626 00000 n +0001384711 00000 n +0001385015 00000 n +0001385495 00000 n +0001386162 00000 n +0001386392 00000 n +0001386604 00000 n +0001387319 00000 n +0001387994 00000 n +0001394469 00000 n +0001394663 00000 n +0001395176 00000 n +0001395531 00000 n +0001399098 00000 n +0001399539 00000 n +0001399740 00000 n +0001399957 00000 n +0001400005 00000 n +0001400284 00000 n +0001400405 00000 n +0001400541 00000 n +0001400662 00000 n +0001400941 00000 n +0001401077 00000 n +0001401200 00000 n +0001401480 00000 n +0001401761 00000 n +0001401897 00000 n +0001402019 00000 n +0001402299 00000 n +0001402422 00000 n +0001402702 00000 n +0001402824 00000 n +0001403104 00000 n +0001403240 00000 n +0001403363 00000 n +0001403644 00000 n +0001403781 00000 n +0001403905 00000 n +0001404187 00000 n +0001404324 00000 n +0001404448 00000 n +0001404585 00000 n +0001404722 00000 n +0001404859 00000 n +0001405393 00000 n +0001405694 00000 n +0001405913 00000 n +0001406102 00000 n +0001406309 00000 n +0001406510 00000 n +0001406704 00000 n +0001406925 00000 n +0001407127 00000 n +0001407321 00000 n +0001407588 00000 n +0001407841 00000 n +0001408085 00000 n +0001408258 00000 n +0001408463 00000 n +0001408652 00000 n +0001408915 00000 n +0001409110 00000 n +0001409535 00000 n +0001409852 00000 n +0001410054 00000 n +0001410583 00000 n +0001410946 00000 n +0001411301 00000 n +0001411582 00000 n +0001412061 00000 n +0001412372 00000 n +0001412747 00000 n +0001413116 00000 n +0001413328 00000 n +0001413818 00000 n +0001414185 00000 n +0001414484 00000 n +0001414772 00000 n +0001415015 00000 n +0001415391 00000 n +0001415852 00000 n +0001416277 00000 n +0001416686 00000 n +0001417072 00000 n +0001417452 00000 n +0001417897 00000 n +0001418271 00000 n +0001418765 00000 n +0001419272 00000 n +0001419682 00000 n +0001420048 00000 n +0001420482 00000 n +0001420873 00000 n +0001421229 00000 n +0001421592 00000 n +0001421920 00000 n +0001422313 00000 n +0001422659 00000 n +0001423096 00000 n +0001423492 00000 n +0001423922 00000 n +0001424397 00000 n +0001424887 00000 n +0001425439 00000 n +0001425793 00000 n +0001426199 00000 n +0001426618 00000 n +0001427021 00000 n +0001427435 00000 n +0001427802 00000 n +0001428172 00000 n +0001428438 00000 n +0001428783 00000 n +0001429100 00000 n +0001429488 00000 n +0001429880 00000 n +0001430196 00000 n +0001430523 00000 n +0001430790 00000 n +0001431084 00000 n +0001431378 00000 n +0001431724 00000 n +0001432102 00000 n +0001432417 00000 n +0001432735 00000 n +0001433096 00000 n +0001433643 00000 n +0001434015 00000 n +0001434370 00000 n +0001434730 00000 n +0001435105 00000 n +0001435353 00000 n +0001435704 00000 n +0001436015 00000 n +0001436290 00000 n +0001436680 00000 n +0001437107 00000 n +0001437362 00000 n +0001437869 00000 n +0001438397 00000 n +0001438720 00000 n +0001438970 00000 n +0001439244 00000 n +0001439498 00000 n +0001439809 00000 n +0001440174 00000 n +0001440556 00000 n +0001440867 00000 n +0001441205 00000 n +0001441611 00000 n +0001441889 00000 n +0001442162 00000 n +0001442514 00000 n +0001442957 00000 n +0001443316 00000 n +0001443648 00000 n +0001444049 00000 n +0001444386 00000 n +0001444694 00000 n +0001445018 00000 n +0001445290 00000 n +0001445653 00000 n +0001446126 00000 n +0001446481 00000 n +0001446984 00000 n +0001447286 00000 n +0001447650 00000 n +0001448061 00000 n +0001448431 00000 n +0001448774 00000 n +0001449085 00000 n +0001449477 00000 n +0001449819 00000 n +0001450123 00000 n +0001450518 00000 n +0001450917 00000 n +0001451287 00000 n +0001451581 00000 n +0001451981 00000 n +0001452340 00000 n +0001452685 00000 n +0001453117 00000 n +0001453469 00000 n +0001453833 00000 n +0001454145 00000 n +0001454471 00000 n +0001454842 00000 n +0001455239 00000 n +0001455521 00000 n +0001455775 00000 n +0001456197 00000 n +0001456563 00000 n +0001456904 00000 n +0001457237 00000 n +0001457507 00000 n +0001457922 00000 n +0001458301 00000 n +0001458708 00000 n +0001459114 00000 n +0001459522 00000 n +0001459808 00000 n +0001460163 00000 n +0001460558 00000 n +0001460902 00000 n +0001461261 00000 n +0001461642 00000 n +0001462012 00000 n +0001462425 00000 n +0001462821 00000 n +0001463212 00000 n +0001463571 00000 n +0001463931 00000 n +0001464267 00000 n +0001464698 00000 n +0001464934 00000 n +0001465457 00000 n +0001465832 00000 n +0001466159 00000 n +0001466443 00000 n +0001466838 00000 n +0001467287 00000 n +0001467591 00000 n +0001468130 00000 n +0001468509 00000 n +0001468932 00000 n +0001469282 00000 n +0001469664 00000 n +0001470087 00000 n +0001470391 00000 n +0001470793 00000 n +0001471139 00000 n +0001471474 00000 n +0001471762 00000 n +0001472084 00000 n +0001472415 00000 n +0001472759 00000 n +0001473133 00000 n +0001473519 00000 n +0001473820 00000 n +0001474107 00000 n +0001474458 00000 n +0001474740 00000 n +0001475104 00000 n +0001475565 00000 n +0001476004 00000 n +0001476437 00000 n +0001476721 00000 n +0001477078 00000 n +0001477361 00000 n +0001477699 00000 n +0001478043 00000 n +0001478313 00000 n +0001478616 00000 n +0001478932 00000 n +0001479462 00000 n +0001479902 00000 n +0001480762 00000 n +0001481679 00000 n +0001482617 00000 n +0001483366 00000 n +0001484109 00000 n +0001484865 00000 n +0001485567 00000 n +0001486345 00000 n +0001487187 00000 n +0001487852 00000 n +0001488646 00000 n +0001489354 00000 n +0001490311 00000 n +0001491262 00000 n +0001491523 00000 n +0001491892 00000 n +0001492205 00000 n +0001492634 00000 n +0001493076 00000 n +0001493440 00000 n +0001493881 00000 n +0001494258 00000 n +0001494540 00000 n +0001494811 00000 n +0001495236 00000 n +0001495687 00000 n +0001495998 00000 n +0001496334 00000 n +0001496684 00000 n +0001497021 00000 n +0001497335 00000 n +0001497672 00000 n +0001498024 00000 n +0001498347 00000 n +0001498711 00000 n +0001499082 00000 n +0001499481 00000 n +0001499877 00000 n +0001500292 00000 n +0001500682 00000 n +0001501174 00000 n +0001501557 00000 n +0001501978 00000 n +0001502348 00000 n +0001502799 00000 n +0001503185 00000 n +0001503432 00000 n +0001503772 00000 n +0001504169 00000 n +0001504489 00000 n +0001504787 00000 n +0001505102 00000 n +0001505440 00000 n +0001505749 00000 n +0001505952 00000 n +0001506212 00000 n +0001506672 00000 n +0001507170 00000 n +0001507585 00000 n +0001508086 00000 n +0001508417 00000 n +0001508767 00000 n +0001508964 00000 n +0001509176 00000 n +0001509422 00000 n +0001509461 00000 n +0001509487 00000 n +0001509563 00000 n +0001509718 00000 n +0001509852 00000 n +0001509986 00000 n +0001510120 00000 n +0001510263 00000 n +0001510407 00000 n +0001510551 00000 n +0001510695 00000 n +0001510839 00000 n +0001510983 00000 n +0001511127 00000 n +0001511282 00000 n +0001511426 00000 n +0001511570 00000 n +0001511714 00000 n +0001511858 00000 n +0001512002 00000 n +0001512146 00000 n +0001512290 00000 n +0001512434 00000 n +0001512578 00000 n +0001512722 00000 n +0001512858 00000 n +0001513002 00000 n +0001513146 00000 n +0001513290 00000 n +0001513434 00000 n +0001513578 00000 n +0001513722 00000 n +0001513866 00000 n +0001513985 00000 n +0001517780 00000 n +trailer +<> +startxref +116 +%%EOF diff --git a/standards/4.2.1/es_20187310v040201p-document_tags.pdf b/standards/4.2.1/es_20187310v040201p-document_tags.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c120963ec675efc97f5c8493a2437a60ce1ca5c4 Binary files /dev/null and b/standards/4.2.1/es_20187310v040201p-document_tags.pdf differ diff --git a/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.doc b/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.doc new file mode 100755 index 0000000000000000000000000000000000000000..6787eb9fe4fcc16e82c28d2b4b70489d05bb05e6 Binary files /dev/null and b/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.doc differ diff --git a/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.pdf b/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..94bf0f8ba9df89f5a231d9c3eb62dcb3807164d3 Binary files /dev/null and b/standards/4.2.1/packages/Advanced Parameterization/1.1.1/es_202784v010101p.pdf differ diff --git a/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.doc b/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.doc new file mode 100755 index 0000000000000000000000000000000000000000..defbce46e22d93179757f0daa263e75fe09302f4 Binary files /dev/null and b/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.doc differ diff --git a/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.pdf b/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b3d18861a48c4be2186bdbca6d6f43eaf4974291 Binary files /dev/null and b/standards/4.2.1/packages/Behaviour Types/1.1.1/es_202785v010101p.pdf differ diff --git a/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.doc b/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.doc new file mode 100755 index 0000000000000000000000000000000000000000..33f812dbca7c97357066f3a9da526cc9db72f89e Binary files /dev/null and b/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.doc differ diff --git a/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.pdf b/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4743d0b29757d0d9ee67093409cc26b022b7d855 Binary files /dev/null and b/standards/4.2.1/packages/Configuration and Deployment Support/1.1.1/es_202781v010101p.pdf differ diff --git a/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.doc b/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.doc new file mode 100755 index 0000000000000000000000000000000000000000..2fb3c42e8a43739efc6a4d8aeb1d727cce377f23 Binary files /dev/null and b/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.doc differ diff --git a/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.pdf b/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..352914674256f7c6781e8bd1b0b153886ed5ab4e Binary files /dev/null and b/standards/4.2.1/packages/Performance and Realtime Testing/1.1.1/es_202782v010101p.pdf differ diff --git a/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.docx b/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.docx new file mode 100644 index 0000000000000000000000000000000000000000..02250d65f8018bf6579ca98acc4253d4cf80241b Binary files /dev/null and b/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.docx differ diff --git a/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.pdf b/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ff5c1e3592bf8a8545543c03857750ff35cb7131 Binary files /dev/null and b/standards/4.3.1/ETSI ES 201 873_compare_431_to_421.pdf differ diff --git a/standards/4.3.1/bnf.txt b/standards/4.3.1/bnf.txt new file mode 100644 index 0000000000000000000000000000000000000000..a36d34f124950bfd73de05e8db2852f022041ae2 --- /dev/null +++ b/standards/4.3.1/bnf.txt @@ -0,0 +1,1133 @@ +// A.1.6 TTCN-3 syntax BNF productions +// A.1.6.0 TTCN-3 module +1.TTCN3Module ::= TTCN3ModuleKeyword ModuleId "{" [ModuleDefinitionsList] + [ModuleControlPart] "}" [WithStatement] [SemiColon] +2.TTCN3ModuleKeyword ::= "module" +3.ModuleId ::= Identifier [LanguageSpec] +4.LanguageSpec ::= LanguageKeyword FreeText {"," FreeText} +5.LanguageKeyword ::= "language" +// A.1.6.1 Module definitions part +// A.1.6.1.0 General +6.ModuleDefinitionsList ::= {ModuleDefinition [SemiColon]}+ +7.ModuleDefinition ::= (([Visibility] (TypeDef | + ConstDef | + TemplateDef | + ModuleParDef | + FunctionDef | + SignatureDef | + TestcaseDef | + AltstepDef | + ImportDef | + ExtFunctionDef | + ExtConstDef + )) | + (["public"] GroupDef) | + (["private"] FriendModuleDef) + ) [WithStatement] +8.Visibility ::= "public" | + "friend" | + "private" +// A.1.6.1.1 Typedef d efinitions +9.TypeDef ::= TypeDefKeyword TypeDefBody +10.TypeDefBody ::= StructuredTypeDef | SubTypeDef +11.TypeDefKeyword ::= "type" +12.StructuredTypeDef ::= RecordDef | + UnionDef | + SetDef | + RecordOfDef | + SetOfDef | + EnumDef | + PortDef | + ComponentDef +13.RecordDef ::= RecordKeyword Identifier +14.RecordKeyword ::= "record" +15.StructDefBody ::= (Identifier | AddressKeyword) "{" [StructFieldDef + {"," StructFieldDef}] + "}" +16.StructFieldDef ::= (Type | NestedTypeDef) Identifier [ArrayDef] [SubTypeSpec] + [OptionalKeyword] +17.NestedTypeDef ::= NestedRecordDef | + NestedUnionDef | + NestedSetDef | + NestedRecordOfDef | + NestedSetOfDef | + NestedEnumDef +18.NestedRecordDef ::= RecordKeyword "{" [StructFieldDef {"," StructFieldDef}] + "}" +19.NestedUnionDef ::= UnionKeyword "{" UnionFieldDef {"," UnionFieldDef} + "}" +20.NestedSetDef ::= SetKeyword "{" [StructFieldDef {"," StructFieldDef}] + "}" +21.NestedRecordOfDef ::= RecordKeyword [StringLength] OfKeyword (Type | + NestedTypeDef) +22.NestedSetOfDef ::= SetKeyword [StringLength] OfKeyword (Type | NestedTypeDef) +23.NestedEnumDef ::= EnumKeyword "{" EnumerationList "}" +24.OptionalKeyword ::= "optional" +25.UnionDef ::= UnionKeyword UnionDefBody +26.UnionKeyword ::= "union" + + +27.UnionDefBody ::= (Identifier | AddressKeyword) "{" UnionFieldDef {"," + UnionFieldDef} + "}" +28.UnionFieldDef ::= (Type | NestedTypeDef) Identifier [ArrayDef] [SubTypeSpec] +29.SetDef ::= SetKeyword StructDefBody +30.SetKeyword ::= "set" +31.RecordOfDef ::= RecordKeyword [StringLength] OfKeyword StructOfDefBody +32.OfKeyword ::= "of" +33.StructOfDefBody ::= (Type | NestedTypeDef) (Identifier | AddressKeyword) + [SubTypeSpec] +34.SetOfDef ::= SetKeyword [StringLength] OfKeyword StructOfDefBody +35.EnumDef ::= EnumKeyword (Identifier | AddressKeyword) "{" EnumerationList + "}" +36.EnumKeyword ::= "enumerated" +37.EnumerationList ::= Enumeration {"," Enumeration} +38.Enumeration ::= Identifier ["(" [Minus] Number ")"] +39.SubTypeDef ::= Type (Identifier | AddressKeyword) [ArrayDef] [SubTypeSpec] +40.SubTypeSpec ::= AllowedValues [StringLength] | StringLength + +/* STATIC SEMANTICS - AllowedValues shall be of the same type as the field being subtyped */ +41.AllowedValues ::= "(" (ValueOrRange {"," ValueOrRange}) | CharStringMatch + ")" +42.ValueOrRange ::= RangeDef | + ConstantExpression | + Type + +/* STATIC SEMANTICS - RangeDef production shall only be used with integer, charstring, universal +charstring or float based types */ +/* STATIC SEMANTICS - When subtyping charstring or universal charstring range and values shall not +be mixed in the same SubTypeSpec */ +43.RangeDef ::= Bound ".." Bound +44.StringLength ::= LengthKeyword "(" SingleExpression [".." Bound] ")" + +/* STATIC SEMANTICS - StringLength shall only be used with String types or to limit set of and +record of. SingleExpression and Bound shall evaluate to non-negative integer values (in case of +Bound including infinity) */ +45.LengthKeyword ::= "length" +46.PortDef ::= PortKeyword PortDefBody +47.PortDefBody ::= Identifier PortDefAttribs +48.PortKeyword ::= "port" +49.PortDefAttribs ::= MessageAttribs | + ProcedureAttribs | + MixedAttribs +50.MessageAttribs ::= MessageKeyword "{" [AddressDecl] {MessageList [SemiColon]}+ + "}" [MapKeyword ParamKeyword "(" FormalValuePar + {"," FormalValuePar} ")"] [UnmapKeyword ParamKeyword + "(" FormalValuePar + {"," FormalValuePar} + ")"] +51.AddressDecl ::= AddressKeyword Type SemiColon +52.MessageList ::= Direction AllOrTypeList +53.Direction ::= InParKeyword | + OutParKeyword | + InOutParKeyword +54.MessageKeyword ::= "message" +55.AllOrTypeList ::= AllKeyword | TypeList + +/* NOTE: The use of AllKeyword in port definitions is deprecated */ +56.AllKeyword ::= "all" +57.TypeList ::= Type {"," Type} +58.ProcedureAttribs ::= ProcedureKeyword "{" [AddressDecl] {ProcedureList + [SemiColon]}+ + "}" [MapKeyword ParamKeyword "(" FormalValuePar + {"," FormalValuePar} ")"] [UnmapKeyword ParamKeyword + "(" FormalValuePar + {"," FormalValuePar} + ")"] +59.ProcedureKeyword ::= "procedure" +60.ProcedureList ::= Direction AllOrSignatureList +61.AllOrSignatureList ::= AllKeyword | SignatureList +62.SignatureList ::= Signature {"," Signature} +63.MixedAttribs ::= MixedKeyword "{" [AddressDecl] {MixedList [SemiColon]}+ + "}" +64.MixedKeyword ::= "mixed" +65.MixedList ::= Direction ProcOrTypeList +66.ProcOrTypeList ::= AllKeyword | (ProcOrType {"," ProcOrType}) +67.ProcOrType ::= Signature | Type +68.ComponentDef ::= ComponentKeyword Identifier [ExtendsKeyword ComponentType + + + {"," ComponentType}] "{" + [ComponentDefList] "}" +69.ComponentKeyword ::= "component" +70.ExtendsKeyword ::= "extends" +71.ComponentType ::= ExtendedIdentifier +72.ComponentDefList ::= {ComponentElementDef [SemiColon]} +73.ComponentElementDef ::= PortInstance | + VarInstance | + TimerInstance | + ConstDef +74.PortInstance ::= PortKeyword ExtendedIdentifier PortElement {"," PortElement} +75.PortElement ::= Identifier [ArrayDef] +// A.1.6.1.2 Constant d efinitions +76.ConstDef ::= ConstKeyword Type ConstList +77.ConstList ::= SingleConstDef {"," SingleConstDef} +78.SingleConstDef ::= Identifier [ArrayDef] AssignmentChar ConstantExpression +79.ConstKeyword ::= "const" +// A.1.6.1.3 Template d efinitions +80.TemplateDef ::= TemplateKeyword [TemplateRestriction] BaseTemplate + [DerivedDef] AssignmentChar TemplateBody +81.BaseTemplate ::= (Type | Signature) Identifier ["(" TemplateOrValueFormalParList + ")"] +82.TemplateKeyword ::= "template" +83.DerivedDef ::= ModifiesKeyword ExtendedIdentifier +84.ModifiesKeyword ::= "modifies" +85.TemplateOrValueFormalParList ::= TemplateOrValueFormalPar {"," TemplateOrValueFormalPar} +86.TemplateOrValueFormalPar ::= FormalValuePar | FormalTemplatePar + +/* STATIC SEMANTICS - FormalValuePar shall resolve to an in parameter */ +87.TemplateBody ::= (SimpleSpec | + FieldSpecList | + ArrayValueOrAttrib + ) [ExtraMatchingAttributes] + +/* STATIC SEMANTICS - Within TeplateBody the ArrayValueOrAttrib can be used for array, record, +record of and set of types. */ +88.SimpleSpec ::= (SingleExpression ["&" SimpleTemplateSpec]) | SimpleTemplateSpec +89.SimpleTemplateSpec ::= CharStringMatch | (SingleTemplateExpression + ["&" SimpleSpec]) +90.SingleTemplateExpression ::= MatchingSymbol | (TemplateRefWithParList + [ExtendedFieldReference]) +91.FieldSpecList ::= "{" [FieldSpec {"," FieldSpec}] "}" +92.FieldSpec ::= FieldReference AssignmentChar TemplateBody +93.FieldReference ::= StructFieldRef | + ArrayOrBitRef | + ParRef +94.StructFieldRef ::= Identifier | + PredefinedType | + TypeReference + +/* STATIC SEMANTICS - PredefinedType and TypeReference shall be used for anytype value notation +only. PredefinedType shall not be AnyTypeKeyword.*/ +95.ParRef ::= Identifier + +/* STATIC SEMANTICS - Identifier in ParRef shall be a formal parameter identifier from the +associated signature definition */ +96.ArrayOrBitRef ::= "[" FieldOrBitNumber "]" + +/* STATIC SEMANTICS - ArrayRef shall be optionally used for array types and TTCN-3 record of and set +of. The same notation can be used for a Bit reference inside an TTCN-3 charstring, universal +charstring, bitstring, octetstring and hexstring type */ +97.FieldOrBitNumber ::= SingleExpression + +/* STATIC SEMANTICS - SingleExpression will resolve to a value of integer type */ +98.ArrayValueOrAttrib ::= "{" ArrayElementSpecList "}" +99.ArrayElementSpecList ::= ArrayElementSpec {"," ArrayElementSpec} +100.ArrayElementSpec ::= Minus | + PermutationMatch | + TemplateBody +101.MatchingSymbol ::= Complement | + (AnyValue [WildcardLengthMatch]) | + (AnyOrOmit [WildcardLengthMatch]) | + ValueOrAttribList | + Range | + + + BitStringMatch | + HexStringMatch | + OctetStringMatch | + CharStringMatch | + SubsetMatch | + SupersetMatch + +/* STATIC SEMANTIC – WildcardLengthMatch must be used when MatchingSymbol is used in fractions of a +concatenated string or list (see clause 15.11) and shall not be used in other cases. In this case, +the Complement, ValueOrAttribList, Range, BitStringMatch, HexStringMatch, OctetStringMatch, +CharStringMatch, SubsetMatch and SupersetMatch productions shall not be used. */ +102.ExtraMatchingAttributes ::= StringLength | + IfPresentKeyword | + (StringLength IfPresentKeyword) +103.BitStringMatch ::= "'" {BinOrMatch} "'" "B" +104.BinOrMatch ::= Bin | + AnyValue | + AnyOrOmit +105.HexStringMatch ::= "'" {HexOrMatch} "'" "H" +106.HexOrMatch ::= Hex | + AnyValue | + AnyOrOmit +107.OctetStringMatch ::= "'" {OctOrMatch} "'" "O" +108.OctOrMatch ::= Oct | + AnyValue | + AnyOrOmit +109.CharStringMatch ::= PatternKeyword PatternParticle {"&" PatternParticle} +110.PatternParticle ::= Pattern | ReferencedValue +111.PatternKeyword ::= "pattern" +112.Pattern ::= """ {PatternElement} """ +113.PatternElement ::= ("\" ("?" | "*" | "\" | "[" | "]" | "{" | "}" | + """ | "|" | "(" | ")" | "#" | "+" | "d" | + "w" | "t" | "n" | "r" | "s" | "b" + )) | ("?" | "*" | "\" | "|" | "+" + ) | ("[" ["^"] [{PatternChar ["-" PatternChar]}] + "]") | + ("{" ReferencedValue "}") | + ("\" "N" "{" (ReferencedValue | Type) "}") | + (""" """) | + ("(" PatternElement ")") | + ("#" (Num | + ("(" Num "," [Num] ")") | ("(" "," Num ")") + )) | + PatternChar +114.PatternChar ::= Char | PatternQuadruple +115.PatternQuadruple ::= "\" "q" "(" Number "," Number "," Number "," + Number ")" +116.Complement ::= ComplementKeyword "(" TemplateBody {"," TemplateBody} + ")" +117.ComplementKeyword ::= "complement" +118.SubsetMatch ::= SubsetKeyword ValueOrAttribList +119.SubsetKeyword ::= "subset" +120.SupersetMatch ::= SupersetKeyword ValueOrAttribList +121.SupersetKeyword ::= "superset" +122.PermutationMatch ::= PermutationKeyword PermutationList +123.PermutationKeyword ::= "permutation" +124.PermutationList ::= "(" TemplateBody {"," TemplateBody} ")" + +/* STATIC SEMANTICS: Restrictions on the content of TemplateBody are given in clause B.1.3.3. */ +125.AnyValue ::= "?" +126.AnyOrOmit ::= "*" +127.ValueOrAttribList ::= "(" TemplateBody {"," TemplateBody}+ ")" +128.WildcardLengthMatch ::= LengthKeyword "(" ConstantExpression ")" +129.IfPresentKeyword ::= "ifpresent" +130.PresentKeyword ::= "present" +131.Range ::= "(" Bound ".." Bound ")" +132.Bound ::= (["!"] SingleExpression) | ([Minus] InfinityKeyword) + +/* STATIC SEMANTICS - Bounds shall evaluate to types integer, charstring, universal charstring or +float. In case they evaluate to types charstring or universal charstring, the string length shall be +1. infinity as lower bound and –infinity as upper bound are allowed for float types only. */ +133.InfinityKeyword ::= "infinity" +134.TemplateInstanceAssignment ::= Identifier ":=" InLineTemplate + +/* STATIC SEMANTICS – if a value parameter is used, the inline template shall evaluate to a value */ +135.TemplateRefWithParList ::= ExtendedIdentifier [TemplateActualParList] +136.InLineTemplate ::= [(Type | Signature) Colon] [DerivedRefWithParList + AssignmentChar] TemplateBody + + +137.DerivedRefWithParList ::= ModifiesKeyword TemplateRefWithParList +138.TemplateActualParList ::= "(" [(TemplateInstanceActualPar {"," TemplateInstanceActualPar}) | + (TemplateInstanceAssignment {"," TemplateInstanceAssignment})] + ")" +139.TemplateInstanceActualPar ::= InLineTemplate | Minus + +/* STATIC SEMANTICS - When the corresponding formal parameter is not of template type the +TemplateInstance production shall resolve to one or more SingleExpressions */ +140.TemplateOps ::= MatchOp | ValueofOp +141.MatchOp ::= MatchKeyword "(" Expression "," InLineTemplate ")" +142.MatchKeyword ::= "match" +143.ValueofOp ::= ValueofKeyword "(" InLineTemplate ")" +144.ValueofKeyword ::= "valueof" +// A.1.6.1.4 Function d efinitions +145.FunctionDef ::= FunctionKeyword Identifier "(" [FunctionFormalParList] + ")" [RunsOnSpec] [ReturnType] StatementBlock +146.FunctionKeyword ::= "function" +147.FunctionFormalParList ::= FunctionFormalPar {"," FunctionFormalPar} +148.FunctionFormalPar ::= FormalValuePar | + FormalTimerPar | + FormalTemplatePar | + FormalPortPar +149.ReturnType ::= ReturnKeyword [TemplateKeyword | RestrictedTemplate] + Type +150.ReturnKeyword ::= "return" +151.RunsOnSpec ::= RunsKeyword OnKeyword ComponentType +152.RunsKeyword ::= "runs" +153.OnKeyword ::= "on" +154.MTCKeyword ::= "mtc" +155.StatementBlock ::= "{" [FunctionDefList] [FunctionStatementList] "}" +156.FunctionDefList ::= {(FunctionLocalDef | FunctionLocalInst) [SemiColon]}+ +157.FunctionStatementList ::= {FunctionStatement [SemiColon]}+ +158.FunctionLocalInst ::= VarInstance | TimerInstance +159.FunctionLocalDef ::= ConstDef | TemplateDef +160.FunctionStatement ::= ConfigurationStatements | + TimerStatements | + CommunicationStatements | + BasicStatements | + BehaviourStatements | + SetLocalVerdict | + SUTStatements | + TestcaseOperation +161.FunctionInstance ::= FunctionRef "(" [FunctionActualParList] ")" +162.FunctionRef ::= [Identifier Dot] (Identifier | PreDefFunctionIdentifier) +163.PreDefFunctionIdentifier ::= Identifier + +/* STATIC SEMANTICS - The Identifier shall be one of the pre-defined TTCN-3 Function Identifiers +from Annex C of ES 201 873-1 */ +164.FunctionActualParList ::= (FunctionActualPar {"," FunctionActualPar}) | + (FunctionActualParAssignment {"," FunctionActualParAssignment}) +165.FunctionActualPar ::= ArrayIdentifierRef | + InLineTemplate | + ComponentRef | + Minus + +/* STATIC SEMANTICS - When the corresponding formal parameter is not of template type the +TemplateInstance production shall resolve to one or more SingleExpressions i.e. equivalent to the +Expression production */ +166.FunctionActualParAssignment ::= TemplateInstanceAssignment | + ComponentRefAssignment | + ArrayIdentifierRefAssignment +167.ArrayIdentifierRefAssignment ::= Identifier ":=" ArrayIdentifierRef +// A.1.6.1.5 Signature d efinitions +168.SignatureDef ::= SignatureKeyword Identifier "(" [SignatureFormalParList] + ")" [ReturnType | NoBlockKeyword] [ExceptionSpec] +169.SignatureKeyword ::= "signature" +170.SignatureFormalParList ::= FormalValuePar {"," FormalValuePar} +171.ExceptionSpec ::= ExceptionKeyword "(" TypeList ")" +172.ExceptionKeyword ::= "exception" +173.Signature ::= ExtendedIdentifier +174.NoBlockKeyword ::= "noblock" + + +// A.1.6.1.6 Testcase d efinitions +175.TestcaseDef ::= TestcaseKeyword Identifier "(" [TemplateOrValueFormalParList] + ")" ConfigSpec StatementBlock +176.TestcaseKeyword ::= "testcase" +177.ConfigSpec ::= RunsOnSpec [SystemSpec] +178.SystemSpec ::= SystemKeyword ComponentType +179.SystemKeyword ::= "system" +180.TestcaseInstance ::= ExecuteKeyword "(" ExtendedIdentifier "(" [TestcaseActualParList] + ")" ["," (Expression | Minus) ["," SingleExpression]] + ")" +181.ExecuteKeyword ::= "execute" +182.TestcaseActualParList ::= (TemplateInstanceActualPar {"," TemplateInstanceActualPar}) | + (TemplateInstanceAssignment {"," TemplateInstanceAssignment}) + +/* STATIC SEMANTICS - When the corresponding formal parameter is not of template type the +TemplateInstance production shall resolve to one or more SingleExpressions i.e. equivalent to the +Expression production */ +// A.1.6.1.7 Altstep d efinitions +183.AltstepDef ::= AltstepKeyword Identifier "(" [FunctionFormalParList] + ")" [RunsOnSpec] "{" AltstepLocalDefList AltGuardList + "}" +184.AltstepKeyword ::= "altstep" +185.AltstepLocalDefList ::= {AltstepLocalDef [SemiColon]} +186.AltstepLocalDef ::= VarInstance | + TimerInstance | + ConstDef | + TemplateDef +187.AltstepInstance ::= ExtendedIdentifier "(" [FunctionActualParList] + ")" +// A.1.6.1.8 Import d efinitions +188.ImportDef ::= ImportKeyword ImportFromSpec (AllWithExcepts | ("{" + ImportSpec + "}")) +189.ImportKeyword ::= "import" +190.AllWithExcepts ::= AllKeyword [ExceptsDef] +191.ExceptsDef ::= ExceptKeyword "{" ExceptSpec "}" +192.ExceptKeyword ::= "except" +193.ExceptSpec ::= {ExceptElement [SemiColon]} +194.ExceptElement ::= ExceptGroupSpec | + ExceptTypeDefSpec | + ExceptTemplateSpec | + ExceptConstSpec | + ExceptTestcaseSpec | + ExceptAltstepSpec | + ExceptFunctionSpec | + ExceptSignatureSpec | + ExceptModuleParSpec +195.ExceptGroupSpec ::= GroupKeyword (FullGroupIdentifierList | AllKeyword) +196.IdentifierListOrAll ::= IdentifierList | AllKeyword +197.ExceptTypeDefSpec ::= TypeDefKeyword IdentifierListOrAll +198.ExceptTemplateSpec ::= TemplateKeyword IdentifierListOrAll +199.ExceptConstSpec ::= ConstKeyword IdentifierListOrAll +200.ExceptTestcaseSpec ::= TestcaseKeyword IdentifierListOrAll +201.ExceptAltstepSpec ::= AltstepKeyword IdentifierListOrAll +202.ExceptFunctionSpec ::= FunctionKeyword IdentifierListOrAll +203.ExceptSignatureSpec ::= SignatureKeyword IdentifierListOrAll +204.ExceptModuleParSpec ::= ModuleParKeyword IdentifierListOrAll +205.ImportSpec ::= {ImportElement [SemiColon]} +206.ImportElement ::= ImportGroupSpec | + ImportTypeDefSpec | + ImportTemplateSpec | + ImportConstSpec | + ImportTestcaseSpec | + ImportAltstepSpec | + ImportFunctionSpec | + ImportSignatureSpec | + ImportModuleParSpec | + ImportImportSpec +207.ImportFromSpec ::= FromKeyword ModuleId [RecursiveKeyword] +208.RecursiveKeyword ::= "recursive" +209.ImportGroupSpec ::= GroupKeyword (GroupRefListWithExcept | AllGroupsWithExcept) +210.GroupRefListWithExcept ::= FullGroupIdentifierWithExcept {"," FullGroupIdentifierWithExcept} + + +211.AllGroupsWithExcept ::= AllKeyword [ExceptKeyword FullGroupIdentifierList] +212.FullGroupIdentifier ::= Identifier {Dot Identifier} +213.FullGroupIdentifierWithExcept ::= FullGroupIdentifier [ExceptsDef] +214.IdentifierListOrAllWithExcept ::= IdentifierList | AllWithExcept +215.ImportTypeDefSpec ::= TypeDefKeyword IdentifierListOrAllWithExcept +216.AllWithExcept ::= AllKeyword [ExceptKeyword IdentifierList] +217.ImportTemplateSpec ::= TemplateKeyword IdentifierListOrAllWithExcept +218.ImportConstSpec ::= ConstKeyword IdentifierListOrAllWithExcept +219.ImportAltstepSpec ::= AltstepKeyword IdentifierListOrAllWithExcept +220.ImportTestcaseSpec ::= TestcaseKeyword IdentifierListOrAllWithExcept +221.ImportFunctionSpec ::= FunctionKeyword IdentifierListOrAllWithExcept +222.ImportSignatureSpec ::= SignatureKeyword IdentifierListOrAllWithExcept +223.ImportModuleParSpec ::= ModuleParKeyword IdentifierListOrAllWithExcept +224.ImportImportSpec ::= ImportKeyword AllKeyword +// A.1.6.1.9 Group d efinitions +225.GroupDef ::= GroupKeyword Identifier "{" [ModuleDefinitionsList] "}" +226.GroupKeyword ::= "group" +// A.1.6.1.10 External function definitions +227.ExtFunctionDef ::= ExtKeyword FunctionKeyword Identifier "(" [FunctionFormalParList] + ")" [ReturnType] +228.ExtKeyword ::= "external" +// A.1.6.1.11 External c onstant d efinitions +229.ExtConstDef ::= ExtKeyword ConstKeyword Type IdentifierList +// A.1.6.1.12 Module p arameter d efinitions +230.ModuleParDef ::= ModuleParKeyword (ModulePar | ("{" MultitypedModuleParList + "}")) +231.ModuleParKeyword ::= "modulepar" +232.MultitypedModuleParList ::= {ModulePar [SemiColon]} +233.ModulePar ::= Type ModuleParList +234.ModuleParList ::= Identifier [AssignmentChar ConstantExpression] {"," + Identifier + [AssignmentChar + ConstantExpression]} +// A.1.6.1.13 Friend module definitions +235.FriendModuleDef ::= "friend" "module" IdentifierList [SemiColon] +// A.1.6.2 Control part +236.ModuleControlPart ::= ControlKeyword "{" ModuleControlBody "}" [WithStatement] + [SemiColon] +237.ControlKeyword ::= "control" +238.ModuleControlBody ::= [ControlStatementOrDefList] +239.ControlStatementOrDefList ::= {ControlStatementOrDef [SemiColon]}+ +240.ControlStatementOrDef ::= FunctionLocalDef | + FunctionLocalInst | + ControlStatement +241.ControlStatement ::= TimerStatements | + BasicStatements | + BehaviourStatements | + SUTStatements | + StopKeyword +// A.1.6.3 Local definitions +// A.1.6.3.1 Variable in stantiation +242.VarInstance ::= VarKeyword ((Type VarList) | ((TemplateKeyword | RestrictedTemplate) + Type TempVarList)) +243.VarList ::= SingleVarInstance {"," SingleVarInstance} +244.SingleVarInstance ::= Identifier [ArrayDef] [AssignmentChar Expression] +245.VarKeyword ::= "var" +246.TempVarList ::= SingleTempVarInstance {"," SingleTempVarInstance} +247.SingleTempVarInstance ::= Identifier [ArrayDef] [AssignmentChar TemplateBody] +248.VariableRef ::= Identifier [ExtendedFieldReference] + + +// A.1.6.3.2 Timer in stantiation +249.TimerInstance ::= TimerKeyword VarList +250.TimerKeyword ::= "timer" +251.ArrayIdentifierRef ::= Identifier {ArrayOrBitRef} +// A.1.6.4 Operations +// A.1.6.4.1 Component o perations +252.ConfigurationStatements ::= ConnectStatement | + MapStatement | + DisconnectStatement | + UnmapStatement | + DoneStatement | + KilledStatement | + StartTCStatement | + StopTCStatement | + KillTCStatement +253.ConfigurationOps ::= CreateOp | + SelfOp | + SystemKeyword | + MTCKeyword | + RunningOp | + AliveOp +254.CreateOp ::= ComponentType Dot CreateKeyword ["(" (SingleExpression | + Minus) ["," SingleExpression] + ")"] [AliveKeyword] +255.SelfOp ::= "self" +256.DoneStatement ::= ComponentId Dot DoneKeyword +257.KilledStatement ::= ComponentId Dot KilledKeyword +258.ComponentId ::= ComponentOrDefaultReference | (AnyKeyword | AllKeyword) + ComponentKeyword +259.DoneKeyword ::= "done" +260.KilledKeyword ::= "killed" +261.RunningOp ::= ComponentId Dot RunningKeyword +262.RunningKeyword ::= "running" +263.AliveOp ::= ComponentId Dot AliveKeyword +264.CreateKeyword ::= "create" +265.AliveKeyword ::= "alive" +266.ConnectStatement ::= ConnectKeyword SingleConnectionSpec +267.ConnectKeyword ::= "connect" +268.SingleConnectionSpec ::= "(" PortRef "," PortRef ")" +269.PortRef ::= ComponentRef Colon ArrayIdentifierRef +270.ComponentRef ::= ComponentOrDefaultReference | + SystemKeyword | + SelfOp | + MTCKeyword +271.ComponentRefAssignment ::= Identifier ":=" ComponentRef +272.DisconnectStatement ::= DisconnectKeyword [SingleOrMultiConnectionSpec] +273.SingleOrMultiConnectionSpec ::= SingleConnectionSpec | + AllConnectionsSpec | + AllPortsSpec | + AllCompsAllPortsSpec +274.AllConnectionsSpec ::= "(" PortRef ")" +275.AllPortsSpec ::= "(" ComponentRef ":" AllKeyword PortKeyword ")" +276.AllCompsAllPortsSpec ::= "(" AllKeyword ComponentKeyword ":" AllKeyword + PortKeyword ")" +277.DisconnectKeyword ::= "disconnect" +278.MapStatement ::= MapKeyword SingleConnectionSpec [ParamKeyword FunctionActualParList] +279.MapKeyword ::= "map" +280.UnmapStatement ::= UnmapKeyword [SingleOrMultiConnectionSpec] [ParamKeyword + FunctionActualParList] +281.UnmapKeyword ::= "unmap" +282.StartTCStatement ::= ComponentOrDefaultReference Dot StartKeyword + "(" FunctionInstance ")" +283.StartKeyword ::= "start" +284.StopTCStatement ::= StopKeyword | (ComponentReferenceOrLiteral | AllKeyword + ComponentKeyword) Dot StopKeyword +285.ComponentReferenceOrLiteral ::= ComponentOrDefaultReference | + MTCKeyword | + SelfOp +286.KillTCStatement ::= KillKeyword | ((ComponentReferenceOrLiteral | + AllKeyword ComponentKeyword) Dot + KillKeyword) +287.ComponentOrDefaultReference ::= VariableRef | FunctionInstance + + +288.KillKeyword ::= "kill" +// A.1.6.4.2 Port o perations +289.CommunicationStatements ::= SendStatement | + CallStatement | + ReplyStatement | + RaiseStatement | + ReceiveStatement | + TriggerStatement | + GetCallStatement | + GetReplyStatement | + CatchStatement | + CheckStatement | + ClearStatement | + StartStatement | + StopStatement | + HaltStatement +290.SendStatement ::= ArrayIdentifierRef Dot PortSendOp +291.PortSendOp ::= SendOpKeyword "(" InLineTemplate ")" [ToClause] +292.SendOpKeyword ::= "send" +293.ToClause ::= ToKeyword (InLineTemplate | + AddressRefList | + AllKeyword ComponentKeyword + ) +294.AddressRefList ::= "(" InLineTemplate {"," InLineTemplate} ")" +295.ToKeyword ::= "to" +296.CallStatement ::= ArrayIdentifierRef Dot PortCallOp [PortCallBody] +297.PortCallOp ::= CallOpKeyword "(" CallParameters ")" [ToClause] +298.CallOpKeyword ::= "call" +299.CallParameters ::= InLineTemplate ["," CallTimerValue] +300.CallTimerValue ::= Expression | NowaitKeyword +301.NowaitKeyword ::= "nowait" +302.PortCallBody ::= "{" CallBodyStatementList "}" +303.CallBodyStatementList ::= {CallBodyStatement [SemiColon]}+ +304.CallBodyStatement ::= CallBodyGuard StatementBlock +305.CallBodyGuard ::= AltGuardChar CallBodyOps +306.CallBodyOps ::= GetReplyStatement | CatchStatement +307.ReplyStatement ::= ArrayIdentifierRef Dot PortReplyOp +308.PortReplyOp ::= ReplyKeyword "(" InLineTemplate [ReplyValue] ")" [ToClause] +309.ReplyKeyword ::= "reply" +310.ReplyValue ::= ValueKeyword Expression +311.RaiseStatement ::= ArrayIdentifierRef Dot PortRaiseOp +312.PortRaiseOp ::= RaiseKeyword "(" Signature "," InLineTemplate ")" + [ToClause] +313.RaiseKeyword ::= "raise" +314.ReceiveStatement ::= PortOrAny Dot PortReceiveOp +315.PortOrAny ::= ArrayIdentifierRef | AnyKeyword PortKeyword +316.PortReceiveOp ::= ReceiveOpKeyword ["(" InLineTemplate ")"] [FromClause] + [PortRedirect] +317.ReceiveOpKeyword ::= "receive" +318.FromClause ::= FromKeyword (InLineTemplate | + AddressRefList | + AnyKeyword ComponentKeyword + ) +319.FromKeyword ::= "from" +320.PortRedirect ::= PortRedirectSymbol (ValueSpec [SenderSpec] | SenderSpec) +321.PortRedirectSymbol ::= "->" +322.ValueSpec ::= ValueKeyword (VariableRef | ("(" SingleValueSpec {"," + SingleValueSpec} + ")")) +323.SingleValueSpec ::= VariableRef [AssignmentChar FieldReference ExtendedFieldReference] + +/*STATIC SEMANTICS – FieldReference shall not be ParRef and ExtendedFieldReference shall not be +TypeDefIdentifier*/ +324.ValueKeyword ::= "value" +325.SenderSpec ::= SenderKeyword VariableRef +326.SenderKeyword ::= "sender" +327.TriggerStatement ::= PortOrAny Dot PortTriggerOp +328.PortTriggerOp ::= TriggerOpKeyword ["(" InLineTemplate ")"] [FromClause] + [PortRedirect] +329.TriggerOpKeyword ::= "trigger" +330.GetCallStatement ::= PortOrAny Dot PortGetCallOp +331.PortGetCallOp ::= GetCallOpKeyword ["(" InLineTemplate ")"] [FromClause] + [PortRedirectWithParam] +332.GetCallOpKeyword ::= "getcall" +333.PortRedirectWithParam ::= PortRedirectSymbol RedirectWithParamSpec +334.RedirectWithParamSpec ::= ParamSpec [SenderSpec] | SenderSpec + + +335.ParamSpec ::= ParamKeyword ParamAssignmentList +336.ParamKeyword ::= "param" +337.ParamAssignmentList ::= "(" (AssignmentList | VariableList) ")" +338.AssignmentList ::= VariableAssignment {"," VariableAssignment} +339.VariableAssignment ::= VariableRef AssignmentChar Identifier +340.VariableList ::= VariableEntry {"," VariableEntry} +341.VariableEntry ::= VariableRef | Minus +342.GetReplyStatement ::= PortOrAny Dot PortGetReplyOp +343.PortGetReplyOp ::= GetReplyOpKeyword ["(" InLineTemplate [ValueMatchSpec] + ")"] [FromClause] [PortRedirectWithValueAndParam] +344.PortRedirectWithValueAndParam ::= PortRedirectSymbol RedirectWithValueAndParamSpec +345.RedirectWithValueAndParamSpec ::= ValueSpec [ParamSpec] [SenderSpec] | + RedirectWithParamSpec +346.GetReplyOpKeyword ::= "getreply" +347.ValueMatchSpec ::= ValueKeyword InLineTemplate +348.CheckStatement ::= PortOrAny Dot PortCheckOp +349.PortCheckOp ::= CheckOpKeyword ["(" CheckParameter ")"] +350.CheckOpKeyword ::= "check" +351.CheckParameter ::= CheckPortOpsPresent | + FromClausePresent | + RedirectPresent +352.FromClausePresent ::= FromClause [PortRedirectSymbol SenderSpec] +353.RedirectPresent ::= PortRedirectSymbol SenderSpec +354.CheckPortOpsPresent ::= PortReceiveOp | + PortGetCallOp | + PortGetReplyOp | + PortCatchOp +355.CatchStatement ::= PortOrAny Dot PortCatchOp +356.PortCatchOp ::= CatchOpKeyword ["(" CatchOpParameter ")"] [FromClause] + [PortRedirect] +357.CatchOpKeyword ::= "catch" +358.CatchOpParameter ::= Signature "," InLineTemplate | TimeoutKeyword +359.ClearStatement ::= PortOrAll Dot ClearOpKeyword +360.PortOrAll ::= ArrayIdentifierRef | AllKeyword PortKeyword +361.ClearOpKeyword ::= "clear" +362.StartStatement ::= PortOrAll Dot StartKeyword +363.StopStatement ::= PortOrAll Dot StopKeyword +364.StopKeyword ::= "stop" +365.HaltStatement ::= PortOrAll Dot HaltKeyword +366.HaltKeyword ::= "halt" +367.AnyKeyword ::= "any" +// A.1.6.4.3 Timer o perations +368.TimerStatements ::= StartTimerStatement | + StopTimerStatement | + TimeoutStatement +369.TimerOps ::= ReadTimerOp | RunningTimerOp +370.StartTimerStatement ::= ArrayIdentifierRef Dot StartKeyword ["(" Expression + ")"] +371.StopTimerStatement ::= TimerRefOrAll Dot StopKeyword +372.TimerRefOrAll ::= ArrayIdentifierRef | AllKeyword TimerKeyword +373.ReadTimerOp ::= ArrayIdentifierRef Dot ReadKeyword +374.ReadKeyword ::= "read" +375.RunningTimerOp ::= TimerRefOrAny Dot RunningKeyword +376.TimeoutStatement ::= TimerRefOrAny Dot TimeoutKeyword +377.TimerRefOrAny ::= ArrayIdentifierRef | (AnyKeyword TimerKeyword) +378.TimeoutKeyword ::= "timeout" +// A.1.6.4.4 Testcase o peration +379.TestcaseOperation ::= TestcaseKeyword "." StopKeyword ["(" {(FreeText | + InLineTemplate) + [","]} + ")"] +// A.1.6.5 Type +380.Type ::= PredefinedType | ReferencedType +381.PredefinedType ::= BitStringKeyword | + BooleanKeyword | + CharStringKeyword | + UniversalCharString | + IntegerKeyword | + OctetStringKeyword | + HexStringKeyword | + VerdictTypeKeyword | + FloatKeyword | + + + AddressKeyword | + DefaultKeyword | + AnyTypeKeyword +382.BitStringKeyword ::= "bitstring" +383.BooleanKeyword ::= "boolean" +384.IntegerKeyword ::= "integer" +385.OctetStringKeyword ::= "octetstring" +386.HexStringKeyword ::= "hexstring" +387.VerdictTypeKeyword ::= "verdicttype" +388.FloatKeyword ::= "float" +389.AddressKeyword ::= "address" +390.DefaultKeyword ::= "default" +391.AnyTypeKeyword ::= "anytype" +392.CharStringKeyword ::= "charstring" +393.UniversalCharString ::= UniversalKeyword CharStringKeyword +394.UniversalKeyword ::= "universal" +395.ReferencedType ::= ExtendedIdentifier [ExtendedFieldReference] +396.TypeReference ::= Identifier +397.ArrayDef ::= {"[" SingleExpression [".." SingleExpression] "]"}+ + +/* STATIC SEMANTICS - ArrayBounds will resolve to a non negative value of integer type */ +// A.1.6.6 Value +398.Value ::= PredefinedValue | ReferencedValue +399.PredefinedValue ::= Bstring | + BooleanValue | + CharStringValue | + Number | /* IntegerValue */ + Ostring | + Hstring | + VerdictTypeValue | + Identifier | /* EnumeratedValue */ + FloatValue | + AddressValue | + OmitKeyword +400.BooleanValue ::= "true" | "false" +401.VerdictTypeValue ::= "pass" | + "fail" | + "inconc" | + "none" | + "error" +402.CharStringValue ::= Cstring | Quadruple +403.Quadruple ::= CharKeyword "(" Number "," Number "," Number "," Number + ")" +404.CharKeyword ::= "char" +405.FloatValue ::= FloatDotNotation | + FloatENotation | + NaNKeyword +406.NaNKeyword ::= "not_a_number" +407.FloatDotNotation ::= Number Dot DecimalNumber +408.FloatENotation ::= Number [Dot DecimalNumber] Exponential [Minus] + Number +409.Exponential ::= "E" +410.ReferencedValue ::= ExtendedIdentifier [ExtendedFieldReference] +411.Number ::= (NonZeroNum {Num}) | "0" +412.NonZeroNum ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +413.DecimalNumber ::= {Num}+ +414.Num ::= "0" | NonZeroNum +415.Bstring ::= "'" {Bin} "'" "B" +416.Bin ::= "0" | "1" +417.Hstring ::= "'" {Hex} "'" "H" +418.Hex ::= Num | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | + "d" | "e" | "f" +419.Ostring ::= "'" {Oct} "'" "O" +420.Oct ::= Hex Hex +421.Cstring ::= """ {Char} """ +422.Char ::= /* REFERENCE - A character defined by the relevant CharacterString type. For charstring +a character from the character set defined in ITU-T T.50. For universal charstring a character from +any character set defined in ISO/IEC 10646 */ +423.Identifier ::= Alpha {AlphaNum | Underscore} +424.Alpha ::= UpperAlpha | LowerAlpha +425.AlphaNum ::= Alpha | Num +426.UpperAlpha ::= "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" +427.LowerAlpha ::= "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" +428.ExtendedAlphaNum ::= /* REFERENCE - A graphical character from the BASIC LATIN or from the +LATIN-1 SUPPLEMENT character sets defined in ISO/IEC 10646 (characters from char (0,0,0,32) to char +(0,0,0,126), from char (0,0,0,161) to char (0,0,0,172) and from char (0,0,0,174) to char (0,0,0,255) +*/ +429.FreeText ::= """ {ExtendedAlphaNum} """ +430.AddressValue ::= "null" +431.OmitKeyword ::= "omit" +// A.1.6.7 Parameterization +432.InParKeyword ::= "in" +433.OutParKeyword ::= "out" +434.InOutParKeyword ::= "inout" +435.FormalValuePar ::= [(InParKeyword | + InOutParKeyword | + OutParKeyword + )] Type Identifier [":=" (Expression | Minus)] +436.FormalPortPar ::= [InOutParKeyword] Identifier Identifier + +/* The first Identifier refers to the port type. The second Identifier refers to the port parameter +identifier */ +437.FormalTimerPar ::= [InOutParKeyword] TimerKeyword Identifier +438.FormalTemplatePar ::= [(InParKeyword | + OutParKeyword | + InOutParKeyword + )] (TemplateKeyword | RestrictedTemplate) Type + Identifier [":=" (InLineTemplate | Minus)] +439.RestrictedTemplate ::= OmitKeyword | (TemplateKeyword TemplateRestriction) +440.TemplateRestriction ::= "(" (OmitKeyword | + ValueKeyword | + PresentKeyword + ) ")" +// A.1.6.8 Statements +// A.1.6.8.1 With st atement +441.WithStatement ::= WithKeyword WithAttribList +442.WithKeyword ::= "with" +443.WithAttribList ::= "{" MultiWithAttrib "}" +444.MultiWithAttrib ::= {SingleWithAttrib [SemiColon]} +445.SingleWithAttrib ::= AttribKeyword [OverrideKeyword] [AttribQualifier] + FreeText +446.AttribKeyword ::= EncodeKeyword | + VariantKeyword | + DisplayKeyword | + ExtensionKeyword | + OptionalKeyword +447.EncodeKeyword ::= "encode" +448.VariantKeyword ::= "variant" +449.DisplayKeyword ::= "display" +450.ExtensionKeyword ::= "extension" +451.OverrideKeyword ::= "override" +452.AttribQualifier ::= "(" DefOrFieldRefList ")" +453.DefOrFieldRefList ::= DefOrFieldRef {"," DefOrFieldRef} +454.DefOrFieldRef ::= DefinitionRef | + (FieldReference [ExtendedFieldReference]) | + ("[" Minus | SingleExpression "]") | + AllRef +455.DefinitionRef ::= Identifier FullGroupIdentifier +456.AllRef ::= (GroupKeyword AllKeyword [ExceptKeyword "{" FullGroupIdentifierList + "}"]) | ((TypeDefKeyword | + TemplateKeyword | + ConstKeyword | + AltstepKeyword | + TestcaseKeyword | + FunctionKeyword | + SignatureKeyword | + ModuleParKeyword + ) AllKeyword [ExceptKeyword + "{" IdentifierList + "}"]) + + +// A.1.6.8.2 Behaviour st atements +457.BehaviourStatements ::= TestcaseInstance | + FunctionInstance | + ReturnStatement | + AltConstruct | + InterleavedConstruct | + LabelStatement | + GotoStatement | + RepeatStatement | + DeactivateStatement | + AltstepInstance | + ActivateOp | + BreakStatement | + ContinueStatement +458.SetLocalVerdict ::= SetVerdictKeyword "(" SingleExpression {"," LogItem} + ")" +459.SetVerdictKeyword ::= "setverdict" +460.GetLocalVerdict ::= "getverdict" +461.SUTStatements ::= ActionKeyword "(" ActionText {StringOp ActionText} + ")" +462.ActionKeyword ::= "action" +463.ActionText ::= FreeText | Expression +464.ReturnStatement ::= ReturnKeyword [Expression | InLineTemplate] + +/* STATIC SEMANTICS - Expression shall evaluate to a value of a type compatible with the return type +for functions returning a value. It shall evaluate to a value, template (literal or template +instance), or a matching mechanism compatible with the return type for functions returning a +template. */ +465.AltConstruct ::= AltKeyword "{" AltGuardList "}" +466.AltKeyword ::= "alt" +467.AltGuardList ::= {GuardStatement | ElseStatement [SemiColon]} +468.GuardStatement ::= AltGuardChar (AltstepInstance [StatementBlock] | + GuardOp StatementBlock) +469.ElseStatement ::= "[" ElseKeyword "]" StatementBlock +470.AltGuardChar ::= "[" [BooleanExpression] "]" +471.GuardOp ::= TimeoutStatement | + ReceiveStatement | + TriggerStatement | + GetCallStatement | + CatchStatement | + CheckStatement | + GetReplyStatement | + DoneStatement | + KilledStatement +472.InterleavedConstruct ::= InterleavedKeyword "{" InterleavedGuardList + "}" +473.InterleavedKeyword ::= "interleave" +474.InterleavedGuardList ::= {InterleavedGuardElement [SemiColon]}+ +475.InterleavedGuardElement ::= InterleavedGuard StatementBlock +476.InterleavedGuard ::= "[" "]" GuardOp +477.LabelStatement ::= LabelKeyword Identifier +478.LabelKeyword ::= "label" +479.GotoStatement ::= GotoKeyword Identifier +480.GotoKeyword ::= "goto" +481.RepeatStatement ::= "repeat" +482.ActivateOp ::= ActivateKeyword "(" AltstepInstance ")" +483.ActivateKeyword ::= "activate" +484.DeactivateStatement ::= DeactivateKeyword ["(" ComponentOrDefaultReference + ")"] +485.DeactivateKeyword ::= "deactivate" +486.BreakStatement ::= "break" +487.ContinueStatement ::= "continue" +// A.1.6.8.3 Basic st atements +488.BasicStatements ::= Assignment | + LogStatement | + LoopConstruct | + ConditionalConstruct | + SelectCaseConstruct | + StatementBlock +489.Expression ::= SingleExpression | CompoundExpression +490.CompoundExpression ::= FieldExpressionList | ArrayExpression + +/* STATIC SEMANTICS - Within CompoundExpression the ArrayExpression can be used for Arrays, record, +record of and set of types. */ +491.FieldExpressionList ::= "{" FieldExpressionSpec {"," FieldExpressionSpec} + + + "}" +492.FieldExpressionSpec ::= FieldReference AssignmentChar NotUsedOrExpression +493.ArrayExpression ::= "{" [ArrayElementExpressionList] "}" +494.ArrayElementExpressionList ::= NotUsedOrExpression {"," NotUsedOrExpression} +495.NotUsedOrExpression ::= Expression | Minus +496.ConstantExpression ::= SingleExpression | CompoundConstExpression +497.BooleanExpression ::= SingleExpression + +/* STATIC SEMANTICS - BooleanExpression shall resolve to a Value of type Boolean */ +498.CompoundConstExpression ::= FieldConstExpressionList | ArrayConstExpression + +/* STATIC SEMANTICS - Within CompoundConstExpression the ArrayConstExpression can be used for +arrays, record, record of and set of types. */ +499.FieldConstExpressionList ::= "{" FieldConstExpressionSpec {"," FieldConstExpressionSpec} + "}" +500.FieldConstExpressionSpec ::= FieldReference AssignmentChar ConstantExpression +501.ArrayConstExpression ::= "{" [ArrayElementConstExpressionList] "}" +502.ArrayElementConstExpressionList ::= ConstantExpression {"," ConstantExpression} +503.Assignment ::= VariableRef AssignmentChar (Expression | TemplateBody) + +/* STATIC SEMANTICS - The Expression on the right hand side of Assignment shall evaluate to an +explicit value of a type compatible with the type of the left hand side for value variables and +shall evaluate to an explicit value, template (literal or a template instance) or a matching +mechanism compatible with the type of the left hand side for template variables. */ +504.SingleExpression ::= XorExpression {"or" XorExpression} + +/* STATIC SEMANTICS - If more than one XorExpression exists, then the XorExpressions shall evaluate +to specific values of compatible types */ +505.XorExpression ::= AndExpression {"xor" AndExpression} + +/* STATIC SEMANTICS - If more than one AndExpression exists, then the AndExpressions shall evaluate +to specific values of compatible types */ +506.AndExpression ::= NotExpression {"and" NotExpression} + +/* STATIC SEMANTICS - If more than one NotExpression exists, then the NotExpressions shall evaluate +to specific values of compatible types */ +507.NotExpression ::= ["not"] EqualExpression + +/* STATIC SEMANTICS - Operands of the not operator shall be of type boolean or derivatives of type +Boolean. */ +508.EqualExpression ::= RelExpression {EqualOp RelExpression} + +/* STATIC SEMANTICS - If more than one RelExpression exists, then the RelExpressions shall evaluate +to specific values of compatible types */ +509.RelExpression ::= ShiftExpression [RelOp ShiftExpression] + +/* STATIC SEMANTICS - If both ShiftExpressions exist, then each ShiftExpression shall evaluate to a +specific integer, Enumerated or float Value or derivatives of these types */ +510.ShiftExpression ::= BitOrExpression {ShiftOp BitOrExpression} + +/* STATIC SEMANTICS - Each Result shall resolve to a specific Value. If more than one Result exists +the right-hand operand shall be of type integer or derivatives and if the shift op is "<<" or ">>" +then the left-hand operand shall resolve to either bitstring, hexstring or octetstring type or +derivatives of these types. If the shift op is " +511.BitOrExpression ::= BitXorExpression {"or4b" BitXorExpression} + +/* STATIC SEMANTICS - If more than one BitXorExpression exists, then the BitXorExpressions shall +evaluate to specific values of compatible types */ +512.BitXorExpression ::= BitAndExpression {"xor4b" BitAndExpression} + +/* STATIC SEMANTICS - If more than one BitAndExpression exists, then the BitAndExpressions shall +evaluate to specific values of compatible types */ +513.BitAndExpression ::= BitNotExpression {"and4b" BitNotExpression} + +/* STATIC SEMANTICS - If more than one BitNotExpression exists, then the BitNotExpressions shall +evaluate to specific values of compatible types */ +514.BitNotExpression ::= ["not4b"] AddExpression + +/* STATIC SEMANTICS - If the not4b operator exists, the operand shall be of type bitstring, +octetstring or hexstring or derivatives of these types. */ +515.AddExpression ::= MulExpression {AddOp MulExpression} + +/* STATIC SEMANTICS - Each MulExpression shall resolve to a specific Value. If more than one +MulExpression exists and the AddOp resolves to StringOp then the MulExpressions shall be valid +operands for StringOp. If more than one MulExpression exists and the AddOp does not resolve to +StringOp then the MulExpression shall both resolve to type integer or float or derivatives of these +types.*/ + + +516.MulExpression ::= UnaryExpression {MultiplyOp UnaryExpression} + +/* STATIC SEMANTICS - Each UnaryExpression shall resolve to a specific Value. If more than one +UnaryExpression exists then the UnaryExpressions shall resolve to type integer or float or +derivatives of these types. */ +517.UnaryExpression ::= [UnaryOp] Primary + +/* STATIC SEMANTICS - Primary shall resolve to a specific Value of type integer or float or +derivatives of these types.*/ +518.Primary ::= OpCall | + Value | + "(" SingleExpression ")" +519.ExtendedFieldReference ::= {(Dot Identifier) | + ArrayOrBitRef | + ("[" Minus "]") + }+ + +/* STATIC SEMANTIC - The Identifier refers to a type definition if the type of the VarInstance or +ReferencedValue in which the ExtendedFieldReference is used is anytype. ArrayOrBitRef shall be used +when referencing elements of values or arrays. The square brackets with dash shall be used when +referencing inner types of a record of or set of type. */ +520.OpCall ::= ConfigurationOps | + GetLocalVerdict | + TimerOps | + TestcaseInstance | + (FunctionInstance [ExtendedFieldReference]) | + (TemplateOps [ExtendedFieldReference]) | + ActivateOp +521.AddOp ::= "+" | + "-" | + StringOp + +/* STATIC SEMANTICS - Operands of the "+" or "-" operators shall be of type integer or float or +derivations of integer or float (i.e. subrange) */ +522.MultiplyOp ::= "*" | "/" | "mod" | "rem" + +/* STATIC SEMANTICS - Operands of the "*", "/", rem or mod operators shall be of type integer or +float or derivations of integer or float (i.e. subrange) */ +523.UnaryOp ::= "+" | "-" + +/* STATIC SEMANTICS - Operands of the "+" or "-" operators shall be of type integer or float or +derivations of integer or float (i.e. subrange) */ +524.RelOp ::= "<" | ">" | ">=" | "<=" + +/* STATIC SEMANTICS - the precedence of the operators is defined in Table 6 */ +525.EqualOp ::= "==" | "!=" +526.StringOp ::= "&" + +/* STATIC SEMANTICS - Operands of the list operator shall be bitstring, hexstring, octetstring, +(universal) character string, record of, set of, or array types, or derivates of these types */ +527.ShiftOp ::= "<<" | ">>" | "<@" | "@>" +528.LogStatement ::= LogKeyword "(" LogItem {"," LogItem} ")" +529.LogKeyword ::= "log" +530.LogItem ::= FreeText | InLineTemplate +531.LoopConstruct ::= ForStatement | + WhileStatement | + DoWhileStatement +532.ForStatement ::= ForKeyword "(" Initial SemiColon BooleanExpression + SemiColon Assignment ")" StatementBlock +533.ForKeyword ::= "for" +534.Initial ::= VarInstance | Assignment +535.WhileStatement ::= WhileKeyword "(" BooleanExpression ")" StatementBlock +536.WhileKeyword ::= "while" +537.DoWhileStatement ::= DoKeyword StatementBlock WhileKeyword "(" BooleanExpression + ")" +538.DoKeyword ::= "do" +539.ConditionalConstruct ::= IfKeyword "(" BooleanExpression ")" StatementBlock + {ElseIfClause} [ElseClause] +540.IfKeyword ::= "if" +541.ElseIfClause ::= ElseKeyword IfKeyword "(" BooleanExpression ")" StatementBlock +542.ElseKeyword ::= "else" +543.ElseClause ::= ElseKeyword StatementBlock +544.SelectCaseConstruct ::= SelectKeyword "(" SingleExpression ")" SelectCaseBody +545.SelectKeyword ::= "select" +546.SelectCaseBody ::= "{" {SelectCase}+ "}" +547.SelectCase ::= CaseKeyword ("(" InLineTemplate {"," InLineTemplate} + ")" | ElseKeyword) StatementBlock +548.CaseKeyword ::= "case" + + +549.ExtendedIdentifier ::= [Identifier Dot] Identifier +550.IdentifierList ::= Identifier {"," Identifier} +551.FullGroupIdentifierList ::= FullGroupIdentifier {"," FullGroupIdentifier} +// A.1.6.9 Miscellaneous productions +552.Dot ::= "." +553.Minus ::= "-" +554.SemiColon ::= ";" +555.Colon ::= ":" +556.Underscore ::= "_" +557.AssignmentChar ::= ":=" diff --git a/standards/4.3.1/diff_431_to_421.txt b/standards/4.3.1/diff_431_to_421.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff675851e1e2c29e856dba5f451a3fd1b80a6a97 --- /dev/null +++ b/standards/4.3.1/diff_431_to_421.txt @@ -0,0 +1,66 @@ +6.1.2.3 Ranges + ! - BS: done + use nan - BS: tests already existed + type float Wrong (-infinity .. not_a_number); - BS: test already existed +BS: finished range restrictions also other types than integer + + 6.2.7 Arrays - defined with ranges + 6.2.9 port types + - address - check also send/receive/call/etc. - 22.2.xx 22.3.xx + - map/unmap param (21.1.1, 21.1.2) + +CR6009 - please check tests for B.1.5.2, A.1.6.1.3 +To be more exact: the templates from section B.1.5.2 Reference expression / EXAMPLE 2 are in contradiction with +template charstring RegExp4 := pattern "{Reg"; +template charstring RegExp5 := pattern "Exp1}"; + +6.2.12 enforce usage of porttype.address (instead of global one) if more than one address is used + +6.2.13.1 add negative syn length(!0..10) +AK: done + +8.1 new language "TTCN 3:2011" / import+module decl +AK: done + +8.2.3.1 +There is one exception to this rule: when in the context of an enumerated type (see clause 6.2.4), an enumeration value is clashing with the name of a definition in the importing module, the enumeration value shall take precedence and the definition in the importing module shall be referenced by using its qualified name (see example 4 below in this clause). +AK: done + +enum values are implicitly and automatically imported +AK: done + +8.2.3.6 check example - different languages +AK: done + +15.2 new examples - In-line templates +AK: done + +15.6.4 - new +AK: done + +15.11 Concatenating templates of string and list types - lots of changes +AK: done + + + +16.1 - EXAMPLE 5: Function without return statement +AK: done + +16.1.2 and C.37 int2enum C.42 +AK: done + 19.11 - restrictions on statements +AK: no changes needed + +21.3.1 MyComponentType.create(-, , "Host4"); + +26.1 execute(tc(), "Host4") +Also optionally, the execute statement allows deployment of the MTC to a specific host before starting the execution. The host is identified by means of a host id. +AK: done + + +B.1.2.5 Value range use of ! +AK: done + +C.36 new error cases +AK: done + diff --git a/standards/4.3.1/es_20187301v040301p.pdf b/standards/4.3.1/es_20187301v040301p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dba4a14e4f487f83fd3ac878cae50e047511a818 --- /dev/null +++ b/standards/4.3.1/es_20187301v040301p.pdf @@ -0,0 +1,8145 @@ +%PDF-1.5 %âãÏÓ +1351 0 obj <> endobj +xref +1351 435 +0000000016 00000 n +0000014142 00000 n +0000014376 00000 n +0000009187 00000 n +0000014543 00000 n +0000014759 00000 n +0000014912 00000 n +0000015799 00000 n +0000015837 00000 n +0000016020 00000 n +0000016098 00000 n +0000017001 00000 n +0000017901 00000 n +0000018805 00000 n +0000019587 00000 n +0000020428 00000 n +0000021272 00000 n +0000022233 00000 n +0000022746 00000 n +0000023306 00000 n +0000023487 00000 n +0000023679 00000 n +0000023870 00000 n +0000024715 00000 n +0000025589 00000 n +0000028283 00000 n +0000028344 00000 n +0000028454 00000 n +0000028544 00000 n +0000028676 00000 n +0000028863 00000 n +0000028994 00000 n +0000029110 00000 n +0000029303 00000 n +0000029442 00000 n +0000029571 00000 n +0000029752 00000 n +0000029850 00000 n +0000029993 00000 n +0000030169 00000 n +0000030286 00000 n +0000030402 00000 n +0000030589 00000 n +0000030714 00000 n +0000030823 00000 n +0000030995 00000 n +0000031133 00000 n +0000031314 00000 n +0000031434 00000 n +0000031592 00000 n +0000031741 00000 n +0000031849 00000 n +0000032000 00000 n +0000032111 00000 n +0000032216 00000 n +0000032332 00000 n +0000032492 00000 n +0000032601 00000 n +0000032715 00000 n +0000032868 00000 n +0000032975 00000 n +0000033105 00000 n +0000033267 00000 n +0000033422 00000 n +0000033539 00000 n +0000033700 00000 n +0000033847 00000 n +0000033998 00000 n +0000034188 00000 n +0000034298 00000 n +0000034440 00000 n +0000034602 00000 n +0000034701 00000 n +0000034806 00000 n +0000034952 00000 n +0000035056 00000 n +0000035226 00000 n +0000035361 00000 n +0000035459 00000 n +0000035617 00000 n +0000035732 00000 n +0000035873 00000 n +0000036003 00000 n +0000036121 00000 n +0000036237 00000 n +0000036393 00000 n +0000036497 00000 n +0000036603 00000 n +0000036722 00000 n +0000036910 00000 n +0000037017 00000 n +0000037126 00000 n +0000037269 00000 n +0000037379 00000 n +0000037486 00000 n +0000037633 00000 n +0000037767 00000 n +0000037888 00000 n +0000038040 00000 n +0000038187 00000 n +0000038287 00000 n +0000038447 00000 n +0000038559 00000 n +0000038665 00000 n +0000038812 00000 n +0000038940 00000 n +0000039037 00000 n +0000039202 00000 n +0000039301 00000 n +0000039401 00000 n +0000039546 00000 n +0000039652 00000 n +0000039760 00000 n +0000039863 00000 n +0000039967 00000 n +0000040098 00000 n +0000040253 00000 n +0000040397 00000 n +0000040503 00000 n +0000040633 00000 n +0000040782 00000 n +0000040897 00000 n +0000041010 00000 n +0000041132 00000 n +0000041252 00000 n +0000041389 00000 n +0000041527 00000 n +0000041685 00000 n +0000041816 00000 n +0000041920 00000 n +0000042087 00000 n +0000042236 00000 n +0000042393 00000 n +0000042528 00000 n +0000042647 00000 n +0000042785 00000 n +0000042910 00000 n +0000043067 00000 n +0000043184 00000 n +0000043301 00000 n +0000043429 00000 n +0000043548 00000 n +0000043658 00000 n +0000043773 00000 n +0000043920 00000 n +0000044048 00000 n +0000044177 00000 n +0000044306 00000 n +0000044480 00000 n +0000044595 00000 n +0000044737 00000 n +0000044897 00000 n +0000045022 00000 n +0000045151 00000 n +0000045282 00000 n +0000045403 00000 n +0000045567 00000 n +0000045719 00000 n +0000045846 00000 n +0000045977 00000 n +0000046112 00000 n +0000046264 00000 n +0000046404 00000 n +0000046588 00000 n +0000046718 00000 n +0000046847 00000 n +0000046987 00000 n +0000047126 00000 n +0000047274 00000 n +0000047427 00000 n +0000047545 00000 n +0000047698 00000 n +0000047804 00000 n +0000047963 00000 n +0000048135 00000 n +0000048248 00000 n +0000048376 00000 n +0000048516 00000 n +0000048667 00000 n +0000048798 00000 n +0000048909 00000 n +0000049028 00000 n +0000049137 00000 n +0000049243 00000 n +0000049361 00000 n +0000049482 00000 n +0000049603 00000 n +0000049726 00000 n +0000049843 00000 n +0000050006 00000 n +0000050112 00000 n +0000050228 00000 n +0000050359 00000 n +0000050522 00000 n +0000050637 00000 n +0000050779 00000 n +0000050903 00000 n +0000051059 00000 n +0000051238 00000 n +0000051381 00000 n +0000051525 00000 n +0000051647 00000 n +0000051781 00000 n +0000051901 00000 n +0000052018 00000 n +0000052142 00000 n +0000052311 00000 n +0000052416 00000 n +0000052557 00000 n +0000052750 00000 n +0000052879 00000 n +0000053001 00000 n +0000053121 00000 n +0000053240 00000 n +0000053368 00000 n +0000053499 00000 n +0000053645 00000 n +0000053782 00000 n +0000053932 00000 n +0000054088 00000 n +0000054236 00000 n +0000054330 00000 n +0000054438 00000 n +0000054568 00000 n +0000054690 00000 n +0000054814 00000 n +0000054940 00000 n +0000055062 00000 n +0000055183 00000 n +0000055306 00000 n +0000055436 00000 n +0000055556 00000 n +0000055677 00000 n +0000055801 00000 n +0000055922 00000 n +0000056041 00000 n +0000056168 00000 n +0000056291 00000 n +0000056402 00000 n +0000056516 00000 n +0000056643 00000 n +0000056765 00000 n +0000056885 00000 n +0000057012 00000 n +0000057122 00000 n +0000057261 00000 n +0000057421 00000 n +0000057521 00000 n +0000057647 00000 n +0000057769 00000 n +0000057894 00000 n +0000058017 00000 n +0000058156 00000 n +0000058293 00000 n +0000058431 00000 n +0000058552 00000 n +0000058677 00000 n +0000058849 00000 n +0000058964 00000 n +0000059078 00000 n +0000059199 00000 n +0000059369 00000 n +0000059477 00000 n +0000059587 00000 n +0000059755 00000 n +0000059864 00000 n +0000059975 00000 n +0000060100 00000 n +0000060223 00000 n +0000060349 00000 n +0000060473 00000 n +0000060598 00000 n +0000060726 00000 n +0000060854 00000 n +0000060986 00000 n +0000061156 00000 n +0000061290 00000 n +0000061424 00000 n +0000061589 00000 n +0000061737 00000 n +0000061860 00000 n +0000061990 00000 n +0000062118 00000 n +0000062244 00000 n +0000062371 00000 n +0000062501 00000 n +0000062623 00000 n +0000062743 00000 n +0000062864 00000 n +0000062984 00000 n +0000063105 00000 n +0000063215 00000 n +0000063355 00000 n +0000063529 00000 n +0000063658 00000 n +0000063787 00000 n +0000063946 00000 n +0000064052 00000 n +0000064168 00000 n +0000064325 00000 n +0000064434 00000 n +0000064546 00000 n +0000064662 00000 n +0000064795 00000 n +0000064948 00000 n +0000065056 00000 n +0000065165 00000 n +0000065287 00000 n +0000065397 00000 n +0000065506 00000 n +0000065660 00000 n +0000065774 00000 n +0000065885 00000 n +0000066045 00000 n +0000066160 00000 n +0000066272 00000 n +0000066389 00000 n +0000066556 00000 n +0000066656 00000 n +0000066775 00000 n +0000066913 00000 n +0000067050 00000 n +0000067187 00000 n +0000067312 00000 n +0000067437 00000 n +0000067564 00000 n +0000067691 00000 n +0000067823 00000 n +0000067951 00000 n +0000068078 00000 n +0000068206 00000 n +0000068332 00000 n +0000068455 00000 n +0000068578 00000 n +0000068706 00000 n +0000068821 00000 n +0000068974 00000 n +0000069080 00000 n +0000069209 00000 n +0000069379 00000 n +0000069489 00000 n +0000069603 00000 n +0000069778 00000 n +0000069919 00000 n +0000070021 00000 n +0000070200 00000 n +0000070301 00000 n +0000070417 00000 n +0000070530 00000 n +0000070643 00000 n +0000070760 00000 n +0000070882 00000 n +0000070996 00000 n +0000071126 00000 n +0000071306 00000 n +0000071421 00000 n +0000071534 00000 n +0000071672 00000 n +0000071801 00000 n +0000071926 00000 n +0000072054 00000 n +0000072177 00000 n +0000072300 00000 n +0000072423 00000 n +0000072547 00000 n +0000072686 00000 n +0000072808 00000 n +0000072933 00000 n +0000073056 00000 n +0000073179 00000 n +0000073304 00000 n +0000073446 00000 n +0000073575 00000 n +0000073705 00000 n +0000073838 00000 n +0000073971 00000 n +0000074095 00000 n +0000074241 00000 n +0000074375 00000 n +0000074501 00000 n +0000074627 00000 n +0000074751 00000 n +0000074877 00000 n +0000075003 00000 n +0000075128 00000 n +0000075250 00000 n +0000075375 00000 n +0000075501 00000 n +0000075626 00000 n +0000075748 00000 n +0000075880 00000 n +0000076006 00000 n +0000076127 00000 n +0000076244 00000 n +0000076362 00000 n +0000076485 00000 n +0000076608 00000 n +0000076730 00000 n +0000076851 00000 n +0000076983 00000 n +0000077104 00000 n +0000077234 00000 n +0000077364 00000 n +0000077495 00000 n +0000077648 00000 n +0000077803 00000 n +0000077942 00000 n +0000078050 00000 n +0000078214 00000 n +0000078319 00000 n +0000078489 00000 n +0000078617 00000 n +0000078754 00000 n +0000078896 00000 n +0000079034 00000 n +0000079154 00000 n +0000079274 00000 n +0000079410 00000 n +0000079542 00000 n +0000079649 00000 n +0000079791 00000 n +0000079929 00000 n +0000080070 00000 n +0000080184 00000 n +0000080299 00000 n +0000080406 00000 n +0000080537 00000 n +0000080652 00000 n +0000080770 00000 n +0000080898 00000 n +0000081018 00000 n +0000081130 00000 n +0000081262 00000 n +0000081390 00000 n +0000081526 00000 n +trailer +<<36b5df744425b14c893fec38ceda4deb>]>> +startxref +0 +%%EOF + +1354 0 obj<>stream +hϸwQüŸ†R*a©B3‹+Û¼µ)áðhœ7†ãï¥Í{è:wÙvý†K •åynÜßb~ÜSÊ=‡(>œyÚèù5ÉûR0RùEæWÂÜ›ÜSk[—£½÷xÌýä6‚xC^q‚­æp¦:é¸ÿa£E•ahB$„q%lc#¦Oû¬Dæ.{Þ&£”ÔU¶‰øAN^π햙Ÿ;)C?%j‰ê‹Ââ¾¾ŒZTÕòu°åZÜrË‘ô ìÿ1õó=Ý®qƒæª3˜‘­‰¢µ"úBt6øîvåó<¶><–R?“/˜çö×ÁY«óµßîÊ‘È(Ö`Ûhl_±µc>2Q(ÀÇ­AC‚¶_iÀ…D¼uíOµ¼º ·èRØûñ!qu¬R :=ßBú¢Áuzð7ŽRdÔ]ÊdôùÞ@?ó¦¥ã8ql£‹°#–ù°µyjƒÇ’Éïö1KKU%!-Žc"õÇ;œ|(ØÕôà•©{­úÒÈ@ö­šÐÇ„ß·ÞwÝë¯Sy*ñÔæzú²˜³cÔtHÛ†ýa(Õ×O¼BþWÞŠÉч ’ó ÙjF–nº}Ü.=¦mˆF +äýþ éd ïÊXcÊZ™–¶‹¯4Òhž8‚!pëÐÀ÷ÖÖTª´KÍXÏßlkBûŸÊ7^óƇ!`J¾ÂRèt5ï¡ê¹š˜|¥Š?aZž7få ìDù?øµ¬j) h&ÃYoÉa%Î:´Çh[N²„Û"âï¤Bã ‡ Ý]&åR%ò·¤“„žƒ>â\+‰ß€¤ž¾9ͯ¬ø “oÓ7³œi?²^?Ýài‹ÑÕÑøIU¿¬H$­ã”ÒyÛ_íqæhœÆÐ%x0Jñ.½3<•– jnœÉ¼õ ¼uß+d¢G†'<]U~Ü.ÞE~¨‘pï"/õo¹£* ”!©ŽFL°nÄ\ýå>)ãˆB¨íþgÖ§ÉéHm•“êýüûúàaÎn;–se•|5<¢A“äà3yx¢›žp ùXŽÍ®8ÅÍp©Õ=t Iñnjð&`ù& vÛÞš^¯»\‹#¤¨Û©‹ô)9D83Ñ+¥CQï©Ñ¾gÀ‹j#×&? L×ðcöÃ^UCÔ낵 ÐCõ5~ÿ² ¼ÐªÝY +} 7TSÿ,:Gÿµ|2pÈ‹ôvp`»ƒü1|¡˜€ûö˜j”é;Ð? ›ë¦sÆ6˜—¾„Ý£VÌ»9`í ös vų»°^äÙ üS“„ùè´CÿOaÞ[‰IÐúHÖ•u©òøýÝã+ös={~ >¦ïÀ7¾7sÜktÅ<}“¡ëñ9Z¡ÂÑE±$jf&8ùx‘”.¨¢ +]³m¸2 I ª×òR‹. h÷¹›ý©R6˜M¢¤‡4ÌÒ»«ë¼º”ÝüŽ°Hz:e¸@Žª,Hú€f¿±ß» ³­ä÷~Pñ‰y°_%Íeë¾2׫ÔøC“Ou»OF>:NÃ'ò5rŒ“»±†<Ã2êàšÉçQ‘¡:Äae€¨Þ¾üè›EÅp ;H‚²?-ëìÔY_ #r4 ØãWºm;Óõ•‹œ’¸Ð²ѽ¢’xþÕ9â„Ò­ÿ5°SðC —§?Tèç¤ÃôÆ5ÒY³J :ï"B»ƒ+.âL mÙÿ©»anœ?%må¥îMÈ°S†áã|Ū³KàT*)8¹ÕÉÕéß•Õq{=4³#qÁÑj¤³õ… +4Ñ¡‘fe¥Âdóy•Ä¼Ÿ•o÷׬ÒÌéjy’C•›)‘~M lzÝäåIEå{Ce}‘È7y‹Ä¯ísÝc!Ž[œïàÁ°Yƒ ×4ûJ®q½©ÚO‚Šh”y~#ú˜B¤.(u¤C)¹¤WÔqáL¾}_j Ÿéä^t^¶ÿA?U…$¥ƒŸÕRÁ©¸(Œ”ÛÆ›†$$§–r&€o¸´Ÿ~âMêt­È|rz£fÕŸ*+z%H?3Áô2jßLñ +S ðÏòfä™ÐÞ ^ËîF›ÐŸªâ™9ýH Ûö £ ”mh‚àS¿1¸è”‹a?æ©&«œL˜F#‚¾E‘Q0!»yLnäVJ½ö†›4_Ãr½ŸLô—æXI²«Ì dÚ{Âù눡1‹ŸEÁÇÊfza¬eꌡY{ ÔŽ¹ë»Õ¦}DýCl”Ž|©¡¸–ñ +½£¼Ç‚8@TZˆKìÎfö1ÐfÈ»¯¯QÑxÖXƒ.ÎŽÁcݺþ6â^RÉ]ûºeÓùÒ£è{(ñI³hšdä´J"t©LjfÕÓƒgP¨nmÓ¨ìÃDŸ½›i‹ÒÍ+æYÀ‚] †EÔ)xG?]ÓP¢Úý’RYÛÈcsNÛ +XÅ‚ö¡|asÒ.N*y*iâGO£~²¿Hwƒ{÷f•3¨è5|¶DÂgyákzÈ°çxeæàY ÔÆ;{9r X›«?!C>Âs骞eï×Z“SÎݵ§¬+C«¶Ú¨öHg´ãµÐ¨·Þ@­šJUܼÛÂÄõs[À&ªpØ~¶oˆ/莩Jcæ¡ë8’¨B=æR–ë% Qö¾õŒ“ï,Iz†$Å'ÕYbH¹M%²oªµ¬ß*ÝY iocYxãóŽ5é_½Á*ö¯[¦íÄka`3K:Õ¯Îx~꽫¯¢€Ù0âg]MÍ\uð™ÇÌ9ª|`l0ǘ‘¬Ò†‡?ÆúVâÄ8±ÛN:ßÿ»nì‡ÉHÜŸß$Ô¹O¯è«J¹ÇÕµüýyÖ¦ +SÝõ×Æ7Ÿ«ÃczÐ ú1xÞJ\Çðùø­#éS#Aïï¬îPôIlÉœn$Yž,yú£ß¿ r„®?Óæå½¥|kpj„¥×¨C*é ûÿ—RzëLY÷¬bÐs]»ÊÿwÃ:G{ÉÊçÖœbƲ¿¼m…–F°!+Æg›¬4-=g§9pJê„5FÛÿž²“pÒŒ8âJ –`ÉæZê8u&ëVæòOŠ3ôCö§c†ØËÅ<ÄõÎ=¡P;Êçl«û|::á1­õ3½‹Câ×`ÙÝ¡‚è´x¢¨ôozÓœ®r¨æ’²uåýÆûe“ib¯pÍ‘ŠŠ½W©ŒMzAÍ]þÏÆÁ+ø¬c´(EZèB³©¡-eè>,û¸Ñ;5š÷Q`ÝDT“i¨è‰¶‡ÝÑtÛal4æu»3Ìë2¶K vÝ6>À™’VÄ©š©ªjÐ4|*AR“öD:–¼yý ™¡¾ºÌDóDrð÷S¢A{›>̺vç3 [ìÙ/UaíëbïF‹Ö¤8Šêé‡'4‰=AŽ¡¦Ô :·O‰Õ®I¼:çšáÖ`÷ϺDè·T>:I1›@·çЀ/ -Y¸¬ZõiÕ+5ï:'ê ”½'Ø´ÕõÛvÃýàOóí½a4f0 ÿ¶ÄLÁÖùÿÃ|¥"ý»eià°‰¿•~·©0f¢UÁDŒºþe_ìÍ´ó›20¼ðÓ“-¼Ÿ/°íÕ·sc ÑíüS‰‰š¸û È{ Ý4ú>/Cà¿ìŒ´Ãš»Ùvû…«Ø@‚Ö0Ò{q àæ±™þ”²¨>à}4$ë£ZÊ ›7[1\rðËL’0žã¡€;ëq±{s i#w[aåšÍ4ñßþ%ñØåÌ ôgôÊqg}ÝÊd[á€êú7¶ÍòACÊ^LkÍ\.Ì~ ¢"³÷q1Måä -I£xãÃ)BìTñ’ö{H'Ý5‹ËÔ#¾e{¬YkŸžãjO‰£Êö¼ÂWx¹ÀŒfïÃË»çKaè”ȱn®Z1ì6³Àggm‹2•«) ÃY(~I§!ô‹Ìï-‹·|±õÀ‚‡²;*wÐÕ³Â[±Àžj[5ËâUiØ?ªW—þ9È_Z’§ÚÊ16 q÷x%&Ë\‡É²ªªŠY‡o<}–~ÓÌ9®þö øÏêYH—žû/LBáðv¯ßׇߞԬÛ!^¯P¶åãã tz×õÌX9µ;ªGçŒo•‹Û,ÄP$U½û_ßs¼~ÓûUƒ!¼¥Tž6²Á”à”%Ð "¾ˆu ¼¼4eWƒàªcÞx(}¦Ç0b*ú·Â'½6uð0Ò£B@ö!M§Ê¡ð{­ àå‘\ ”ÛµCøÖš(OóÔÝ™Cˆ÷ ®K4ÚÜRr«¾?š‚´ûUÙô8š”ìŒ ~ôjöµžî~&ŽßúUïgó¹»mZƒÄOìõ¿Ér-%LJ¡ë»é0)„/ZxÎÔ·!tx„k'Ί ûQ_M™9”˜¿ú: Ë;CžÅ*'Á6,¡³a¨?Œ‡ñ^ï±AçPb +•X®Ø¶§»¼ƒ}Ùî¦x-1ÿT4‚ÏAaè¾Ðmt$Å?< 6½ˆ‹ (›ˆ“šp°L—¤©9cæXÙ©ÙÔ=MȘë¼çó¤2˦„×LAÀIðÒùäþĘf¶·6 ¢·^6õ|ÐGLòådŠ ê̱ÊwÕB5/ýŒ´>ݵ>û¥Ð‚1–¶ð¸½€&íåþèuý»°¨:†Íî*gì_F&eØ_…d+íy~§ùÕÒžçvUÊ8%äp|ÙÅ™E3òq÷iì{oè5¹’v|BóŸœÃü +^Ë _>V Ô êƒ*ošèUÑc7™ä¤S:J.Å6–²õpyÏKgo¦”a=þ<Ч1O|Eé¾&à–Ô"3Jóú2Xˆ±€0xÜc~»¨)[ ¦5Q²)ÖÓs‰¤êI zêéÎÖ¨‘·¥ÌOÝ@¢ +$ƒšªˆ|åRˆˆÏ¡eZ¼¾=É Ÿñ´ŸU„@Õš’™J¸xâO¯˜£æ—V*uG€!\æµ®lGû]cíðˆ€BÔ¤¡Ö¤Š=ªý²›â÷¸askA +[4>áöå -ÙV‰\„8Q®œ€‰žÕ‰¨¬ðw)9´ˆ»>5)4ò STjc”5/%‡á{é!²ÉU—g +çñ7…-Ê”'`/E¿­#ÅÒrÜûö?ÏÛo. ˈ÷{|±“w?…ºðÜ ÝꞧúÚå˦׃š³ì÷5­—HRŸÅ>T»ž\ÛcHé,}ßæ›a´'¿?£®BÌ£žþN¶Ô¯K½¥$rÁ„ýû°ò¤|þ¯¬ëÉHÕõÇÁ¾¯¹¨ú„Þ+¯ÙÅn?©¢•ºÄ$¦ ¢ ¾èK= wT¥ÖEDãIݶï• o#:×äø…É…Š +“îJˆ¦}x—š~v3ñTÎ÷R8›1³@yäÈq©JLdÀ$´oíÕÙ¸¢pIJ¹ÇU½Ú1ÞòêóH6Ä–kýãxõÁiÖÿ‡þ¶æøN¾÷‘ýsœH Òj^²TéÜJ1* $ˆ¶X¢j¥.v'U¥“ÿ­3ÿ¾~‰«J)ÒéüðY2¦ÂÑûÒ§ ”’ ®›$ˆ`ÛRÁ6@1ŠÔÕ%AhßYÖÚiÝUgÖ=zÛ¡ÅÂewtþ&rrð1ÑáÔ±¹Ú0ŽÛÜ;øßñ†N¢Ý{#­q]#¯ ìKr*©¬ô9§äqxÊ»±¿ï‹ õ®.ùš€>åvxh×?g«HŒœ1î¿É)±"ÚÔîËäþ1B­­Œ u[®"–½ç_ÕG;'«ãBº†™íhByŠ1XlP7 ™/ÿëñºAÂZ8­É›KÿÁ‘<‘ñøsÊYðöR,'õTfM5À9~n'ÕNÈSá +qATR.$ïðèo¸!;9¸# þ5­ÍxîJ×Omp_è®8g‹õæ<\-H÷7Ýç&®uY+ ÞÄɖת/h£½=–ÙP>Kƒ¶¢Žm9|uIS–´e9;lYÈ#\ÿV'ïú“ÐfwüÏþ^²vüâý¨Ž#eXP0¿ 75,ºøú»©1L+‡€÷•Æ>ü«Ô;?€®ãïÐ}£æ‰HrONï<‰g²o4.q®yF¡ß÷„éuâH!ôè"o=uR&5Ë«0ôHÌöòRªzßd‰¬o]{û—F\[ý Ó+-¾Ú>B0ÓqÂÐ…¶_;| ü`Ýí#%·3hÇó`~Ó™SV„z𙓜vœ"Í šEx8C +endstream endobj 1352 0 obj<
>>>/StmF/StdCF/StrF/StdCF/EncryptMetadata false>> endobj 1353 0 obj<> endobj 1355 0 obj<> endobj 1356 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 1357 0 obj<> endobj 1358 0 obj[/ICCBased 1375 0 R] endobj 1359 0 obj<> endobj 1360 0 obj<> endobj 1361 0 obj<>stream +.½pT×v'a èÍ?õVð1¼{ŠÞòæiûº4J¨ô‡Ü¨‡ð¡Rp2i3Dä\”k.õvÓ¦5p×m³x] ÒÌæÈ\è?Ù>ÁyŽñ|Z@GÚNïJºÊˉ©èÔÅÈn·Ï ¿gSŽ°s\¬[ïÁ4RääÝM¡Í.Ffµêm´ïÛÊ©}®m­rÿ—Bìôx©Šê&-°?® 3u'm–„êîdå]¢]L–ü.Y +!Jª¸ŸÇEüÍO*ñ .­SxÇýmçÖR~“ÑéÑ£ßÈ +åyl¼ÃY¡¢[ËXaFààòýEnÖ¾h²g›^™yÌÆ™øÄ®Êk8 ¹Æ;Ð*„iùa;ïªf¥"LÛâi@‰ljwo(¤û¸˜¤ŽmfÇ ]jÊ2‰†GdÊ%˜ü?1›h`š_˜h=†]`Fć8)‡rª¦B Ìêbð´¢Àƒ}µq‰ôcö~–Ä ŸAøê´q–ªy“@%Ý;;l‘ÈÚíñìÊ,[”‘ë-Ot\Ìp³ çæ‹eä©’ŒjÙ¾0 Ì•Aò‘1pøÿ¢x-™Nz3„úh¦3“•ÐØÙì ä£Ðß·fõ1FÆ]Ðný(ÌËïè“Øm®Ø”¼åER§Ï»«·{ôXmpóDœB3SoׂàÆêýÑJÁý·§n'=J3Ô+©D©ã)Hà–3"‰ç6‡kq« »si|ŽuH ¬ï¬ýÛUöºù€sñ"‰cnr*&¨û¯qì¸iq}8sWELˆü÷PZÔâž:©¥`½Äïõ‰Ö¥É»OG¡&Ed1nÛMUc´ LêT;Ÿ2B˜É´{/£Ç=w1‰:äôŠîB¬e¸{k>W{ µx`þÙ›dítßð”6Ĩ4#~P÷š5AýeÖ¡c}0¯Ú~w倶>èö]—jáû«žE†Ç´>=±•%p£‰]R îv9G_ù¹ôm½j3qÎ +endstream endobj 1362 0 obj<>stream +ò…vȲëŘƒ_fúÕõ”ºñ˜~ì}®ˆ¾ÊïDÌ-.„ÕCÂÁ-%ÖÑU~Ä¢¥"ß. ¨§xÁk†¢×nïEÒ9Jóu‘€Bõð¤¤Ì¦7&“ª¶J"&­ ø)’»·'Wu H‘½¸³ã|kɤ=´Xà“ŠÚq)ošQ¥Mãl±¤øÌ9„MúoõHmòsù¼aù4"õ“~Íi¿LHåã¬LËï¯{å0ñ®ŸœÇ>_ ÁDCTÜ°êóÀêUçÎs–&´mŠ”’AUék‰BÝÊ;S³6![~hØ(yÁ@¦”_PIQ¥aõ·'‰\Æ´S6 +ª|=ÈkR•„Û$ìH’jbûócE¢Ö'K~»ÃGÆw$Œ¹©ƒŠ+óŽx90Ѩž¶ã+¦ð³Œ¶âW* ¬ÙŒŒÔ,5GÁ{/päÃζLc=£6Oœ˜ŸeW?ZàÀ «Â_L±¾íG%û©Žϼ2#’ÁÊ+°NªDPðœÇ‚q[~9ñš6"·ÅãÚX‰¨/Õ‚¡nþØü$€ÆòëC’e¬ðA0û.ñfdsN™Á#…+$!{÷4ü*çÀ¤î#âŒn­¢ SÿÙij%kÈÐwÃöy——O2ßvNj«yôÅ¢b´Ÿ±ðy¤—äÜŒ~+ˆˆŽHq#!^8zX 6äÄË]H(CaŽÚ5ÅågWs–ybŒ $ù—eô}zmKºžN3oLHûQW-DˆŒÿh•2>1G~ŸæGéTýU¶sܙά›gËÍdÊ¿py- ¦¬›Vù{ë‘ÅGe^:WKŒkß–ôÊ°uÕ¤*ÊÛM¤¦ZaåhÄ…o1bk±¶×¨µ'é(’V<=‹.ið«e–¯ú÷ã}e‰•¡Ì7ãŠí#Xm¶h=x]„àmGø \è:‚ ³i£Sé/@ ë˜ù…<é¯ »sGJ¦íc|–O*•s;é´[!/ÍÂËZèÔY™‚;Œ¨fè*,R¶6ìD=ðU°ÀãZÞØTóÓà¸n[/¿Èáé!s´P»AïF¥hg +endstream endobj 1363 0 obj<>stream +{F¿ºŒgMèZît,¬SU/­á¬«'ï래§Þ!×¹§¡D‡£;ÀEyS£jõ™ÛÞÐrº °~^œ Ì_@+Ñú…A;ª™d\äZlí¢GœóN —`nGòƒ ‚X´±^†Ð·Mu¥_ÍiF«\vaBë#ô«3B’ApAýÏwmyÍ}˜z‹®J[æx¡Æ__“ùI&øÁqÂÌ“ñrñ=ñ¸Ê>ǬÓôIé©zìœçC~h:~m ÙA—f&¤á”¢¶7µWí•w<ùöqY³5!ÞãGW¢åF¤i&cdUc«ˆVršXûº¡K<ÄžDƒàSás&âòËcµ±rÜ`CF‹‹…Bní”M‡§òàèdŠbLq{}Ì5sÞlIe$` +*·³!R;"e­"¾‚mF¨™”(óÍ\”mHÙ‰DåÙÿPœ›²wïã]j–ål5Ô’Ôýy%;ƒ LLà(ÿ¾°ˆOMý'Dö/eˆHg»)[¥·¸r¶lùQ¬Û´®ßÚÅ®Ÿ‚°-ÌÛÙ©l½¢¿ƒ†¤òÿØEˆøåZI‘ɣͻÆ"¬ãÜæÿã~=j—Ô %$=LŸ`õÈp‘Ô_ÿA’/àeÁ5ɯ5¤?•É¸ŽÚªºJ|—¥“õÅ+χñÓi`ƒvÁƒaøÿ‰Ìêö¯²žuãzX:Ð6rY¿û˜k/7»Ì§6a ZÝße'OnìëIIƒçÓÊz#R[JPÙ"ÎÄNã–]‰lp*s¤³¹pÿ™EËaßUð_Ý«Ü_Dç†Ó ¸9cËuq´äï¶y+Ág»nº_og@ûÝÛYÍ‚Æ)à ò<šÏgƒÌÒCžá@lk§gÚ>É„@Vm’HŸee$R5>stream +sH&>ÏÁ~™ì»H+€ +wÛYNˆ\1ëÛ P>íš±Ä7鈙YÔeTÙi‚ú^úP*ÕÅÉkŒê`ÒdÉ>9‚¶bâÂC¸ˆë)ƒMó-R°W²Ý(öNu~#ëEÔ c=#åq ¯fn^€‡½iSÓžñ©ûˆÝ*–ï»o-âg'³Ø(`^@µÌ÷Hj$kg0¿Å¨6¸ò=Àñ•|bÅд´üæ¶fBðnT(÷ߪTy·WËXÍ(—X¹ñò‰É7Y’³ôVkV(ÊÛido¸¤ µn±'ˆªvÐÚ‰)·Ã†]" +; ~Qߘx¢Œ²Á¸Ë¤Ú}9vÃ(XYÆÉÓÐïbßd/"&ãXüoŽeŽ•]Uf¿1 émMG>„šH¤÷Ï~ðßhÇEýÌ:«¦u‰¤ÐQå³ö]¡Teó±™4)Ò.0|>hZ)3ò˜—–FPù.†;‹ÆÀHê·E•Úzˆd½í¼3ú™OH,Pg¥³ä  Ô4”×ÇÁ«ž,Ëi™P‘§f(ÿ —ÂaOîògÃRË*(P€Ñ\•2!ø +‡~î‡}û¾Ôvø‹æ#j(³Žzê±Ôt˜:¹÷dCíœT<Ìr:c³ü«³oø1RŠitYÍØ8y¸Ëš¨rqµ)œ¹ý+¿j“ƒ›êÁ6s`šœ8¤ÐÉò”ªó3œëxðUœA&ž~õ{%µ^€D£C„àåÕ–XM=ßE†IL¹W€^Ì×ïhAS7;lÐy¬ßÿZ˜læb¿ŒkŽ«åÂÆGÍE¶A(Gú“‚­ä1óS><׶Øm\sâo•ïŒy#nøl‹@¬ØüeÔ|,Š2Õ.—·–9½ùS4Ý”_@yä¿ó‹AÊ|¾ä‘̘6mJðÐNCý­=' +endstream endobj 1365 0 obj<>stream +ñq ¸|OoXîàw*B>™øסDáÀ§š°ß·àûb<š ™ÝÜ" 7æcmVPÔ» RßïD4š³4¦ƒìŠ{ùìt¹Æ Ri©…Wܦj²íªÄ*È£kŲêY%0v“‚®²ÇÜ­é–Œ“š¯4÷Óÿ,™3>¯}Ãß¹ o æ¾3 85™÷ø‘©Ù©¡Žðò¨7‰”‡q?"2’èèõdp  Ó6Öz:OßøL5ªù"îŒòƒ Ì5/Kþd µ˜@1©-xÝô÷zýéûHDøÁnbJ›³Ãö`¨ÕÌѯ³ Õ›J¤ãW@cQऊšb …I”*û:ü¬ÌáG h|N´ž•tb2¸G8íoâ!¤¸¤J­n_£UÉe¦6¼¨aNŒ1 +‚-SƒÞHªÕ¤Ù³9À|.”k×k‰BÝò_„ôªv¿o›·Ë€Õ@´ÆÑ—­x\@Ͼ©ªQã7å)Pô´xE_ +Me‡á›6 ‡úô`µÈºx—7 Þˆ{`•µ êÜÐÖÞ¢ÿ }Í +²G¬ñ þẍÙyËydÃÜ¡Š´2´g²„ŒÉטÂM ‡_,cáºW¯®×ÔÛüh«eÚWxìnvœ@bJÆw^ׇ‹ÓQÁÇÄåµ ƒosÍÒzZy0L~ mh7‚ …ôhm¸D 5Ö§>ÛÝqÙœ­lùyx€ŸÂ”œxh¤JT!Dÿ]Aø >Æ–š˜>H¯ |Äã Ìì/ĔæãmÄòöJ“f h¿›HE*m V|- ¹û:œ±¯Ä¬†É¡µD>Û‘1ˆÐ/(ƒá—ìñŒ˜äZ6+Ó1ÕLËÔæܪÍ_k 2&´\®<:cY±‡ð‰¡%îvxWNôàw-®Þ.3¡³*¡7 3òí1ñŒ#£®|'›qÂé“'«`½Ù…äÂACÖ°ñý\~Ë{4ÆVÕºÁ£‡Ì¹2«àÌ­eç$0²ñ +endstream endobj 1366 0 obj<>stream +§Ö¤ÙcLju¼‹¼ŸíÏ@[@ŽZ¡ÁîƒRÚ  §ŸhY0ÐIÝpAŠ$ÓÖÍmPPn ÇGÍO?¨‹€Zã\à˜rÜôýøÿ¬øñO¶´]oÜî-+šRÿè¥|Ñh±‚£D£yIy Üdù³ˆh²o铹ÞƒÙžH²”¾å û¢{ª„J×útyr/ß–UîX﫺Åï¦ûÌí=¾ðÙ2Ô·Š«„6°!®*|ùÆ-T»ƒ 4p9’',´ ¶IÏúÖ8Á"²;‡Ô-°˜E“ÛP¹ +ãç¾Ðê|EÖ‹/?Ê'òœ€=Î˶ÖÆT“E[œáCéeô€µýÆ)xð>‰ß®f3d0ÓÙ:Q°H|>\C‘ +ù”‚·`­œ×ì@pV̨1c±iÔ|&æFŠ„C7B¨‘¶º'ÚÐì$¸© ï}ÕÄr2›…HØ«#9±À} óÃZ½IúØëš> endobj 1368 0 obj<> endobj 1369 0 obj<> endobj 1370 0 obj<> endobj 1371 0 obj<> endobj 1372 0 obj<> endobj 1373 0 obj<>stream +:qþT‡‰\Öÿ€¦ Ï~¿sø€§“ëÛñóU0/d¹í üŸNÔøíæyÚ·Ei>4Û¤¸.ÿ÷Ú3Ò!»ÞõöÊ{²[‘Ô$©Bl*‡N)rŽãN(›átN1ùJäw¾¼‰‘C/É Å*šž)G<Ž²Òÿs ‹â= ?á,yø³ÐE)â­¤;É2-rp[Ì¢ýæ9óŸÏ+tð³þµÃ· nm¿gk­a¥7XPÚšv£˜ ]7ü¬JSˆ£¦‡†ë3ÀSã^‡¾ø1èÖÓ˜žò‡åãMÕ<òœæ,3†~’ècI÷š›ØÛ€é÷8¹s_æk7zc½"¿*óK—w‚Àë©2 ŒY!å¨Äè8o‘ЮŸ™:™ˆY™ v;XNv£cQ©‡•ó´¹7tÿ>tÉ„œMFÔêvARÞ;-çce#Ʀ‡èœ_¾¬• AÀLæ~y`bÃyöm%*i[Y#ŒêŸ#ߤ²Ý®*›QúëNÛQ$®FF´›«óºš“™Ö¨í…ªÃÕàªÝ•¢ °´€ÜôŸúÒFÌ¥Îzl¬ªài¦—µãã7Ðec…¿;³¾þ‚è¡é¨-/œ©Ü*Ã[éóõ­½étÚÿ€þ‚pÝi‰LQâ2xË“¶Âp«oÚEy KÈÚ`¡² ß`%¥<ÿKÅw^”•Iæïµ[ï +3•n¥GÅ œÀ–ºGèÏ$6£B«[ʪ©ûˆ$€wù™ª?ñ!m>˜Á`N Ìó4ç—-ÕÙï«){)!ºDzw­¬TL“Ø=µ^ I€KùÊ)a‘ú`|7«- ÉzÄd–:|SÓ¿(+óœóX{s¬Ñ„ÏÜ#Gü`Þ½¨ÙjgçœäÇK0)OZ$³¦Í Ê!Û[ʽ|;“/• àÆRçlٴ䵚·§rO(½Åä/o(2ÏXT¤%aU‡öµœ¼Hán’üüÜZ>stream +rÇqãa*Ò'J½¢dÚ‚¨Mýî¨8æ0N€þïEؤ±úd>¢nžªÑ£:©¨–!#‡5”c¬÷¡ýÄÄÐPþð¼Q–Õ¸®ùZ3îä´“ì`Ïǵæ>²Œslw"MO²Fðž¦Ý€|=¯?ì}ÜÄp‰^™ú-nûÆõºlUì!F¬‡7\6Á-cÿøÏÔAaå]"1B3ÁãRT¡Â“Žk´ÛùߘqUt’†Z™ ËèjÖN_#™Vâòž[¦žy±Z(2kÉŽ/Hš–q涽œp¿ì1@ûBÙ ‘㦌‹Ò¹ÔQa=§ˆ&´&+õòl¼¾Ù÷¯–¿÷n–#µUêEËÃóTñòP`?ß“VãbFø6k¬´Y+ôÌpFÿöp¾¼×šWœCÑ$ ÚˆîཬEà(<ªh‘§ê›îTe•ý‹7;#É`öœÓ +‰OvŽT„[ÉǺ =€è|| ‰ÞIû\U«3œª’3kXhvßÚ·ÎÚ ^XúDÙцV]›²Aßø_ßÝhW¸š8†Í‹¿«©ˆ‘4FúãEÂïUЭ&.ؼvß‘Îô¹cç¾fž0Ý›ïë  ‹JEmò²3W²#;?ÕfhU |Â&r¬ÌÛòó‰ 3j‰ƒ9=­| ^yõ-¬ÞÞ(‹¬{)#¼)’J®n H¼Á qÇÁ`‚5> ?ÛÛ +.ïŠ6ïCtƒÜŠÉBUC´š¤ÙH#„Ý[ZxÓ¡í+•<³¯4µû VçjhÁ24ÚŸ§ÝÊm¢˜*ãöÛ™,’õÀ–p­\|…þ$ùqcKÍé’ªú„Rtx=¦ëDàÿ ÊšáƒËš§'å0ƒ¾ÅHRNN(áèŒÞ„vþG^ÃT/Ä…¶,¥!ÚlÛ&÷ß·Ä«ãì^¢šCo `ݺè£ç¤°ô¥ç•tôQ§Acoí3Ì,À ?ª^ÑÁ‰èŒ³ÄјòVJw: {„¦•g/ÁVÝÁßÊG/r ‚t¯ÐÏNÛ–(¹õÓ¯Kt)ìx#ÝBBŸ +endstream endobj 1375 0 obj<>stream +cê^@ˆ~µUžs©bYñFY¯z ™Ÿ5yçœF†- ®µ+k`†ªf˜‡MΉÍËôÞ<§¾È)éU s°­‚ãJê*»Šñ¢Ð”©¾JÀ?O{‡@#äuºý9éÛ: U›`Õ6BÜHÌ¥ÿ„¤Éߧ4×Ô‰…ÀG“¸À^£YH>à;aï½õÂ1_÷µ¥ÃÒ÷–ñìRo%¹…ÿ”$'Œ-$sL„pñÍ&Ö ît¤f“馓ШjÏ!4³Œû4 !Ûq/CÏúÑã£öØðb…øÁž¡OÀæ.²‡F³ÿÏJJ{X€·_B\íâÈ°Í)j×ÊKVîÔŸd¬£…–Ý*€w\aN5¦ \Íqª`³£fíMÜøÅõõ©‡t/ëV†K¼Xl|‰ÃªfÎ?ºy¤ÀoÔ"hkéaäw8)¤cQÏ@YwíF¬ ÞÈͦ“ñ¸e˜ûûâ ¬Li÷±Óà}²!¾âd¥ÌÌÈ{B.Ù»©ªx˜ÏŽ„º +?¸X0ò ‘¶³ùrÃÌø…'àÀË%Ð÷°¢Âà5}µÆc¼6oE$?*î×G£†8Æ3HŒûʲ%±²(ü‚GèdœoÈ OˆÍ09:©}´ÈuÉÝæž4mˆ‘ðSðÙÛ›ä(Óa§lÑ¢–é~«2%Š¨em'‡Ká¼&LiP@ø¨|ò’§MÎüj}7ƒ;gc`uR¡þ¾Ã’'t!Y[Ç?}ÂßT…d§ÆŽbêPÔöRÍŒT ßc#Énȧ.UOÝDGdâ‡uø8Xr ÏU^6zƒÜW;èäH5nð”Öˆjo¥»Á®ÂëÎ g—þ·ßžWÙÊfäù¦Û™›±†ïŒ²˜ÆD,„Ÿ_£ ¶¶7üšŽZò.@¢Ö$çŠ~`h˜"mònbžÁ€«r{—Ô÷ƒX•žÿ¥ä@¾±`t4õkñÜ:ßi‚É|1f{>©Ýɧèývß?hαýÛgpºXŇš]õÏÀ7€¿D”‚¤ÒWžP“­ Žb2bhÔÁ[lùõl§’¥zH)4]Ž¦®é©ÿ`Ù%AEÁÅoã¼ØªX€…f¬±èaGÀ¼ ûuâ—ê¾GË9c¯FÁ HÙ×¾~…ìdrÎõ·p_ ˆ2Ûj>’l™OD¬àX£›ìß…¹—Þ¬ßëÙýe–±±£‡ÎìžÃCxƒr[ô¼iFê áj3`„&OC}òH܇4¸Îú¢3K†f=Ãì.~ —< 7$5±ÓCaÐqÀböy&Mbs3–1fêJTî;mhJ_o¾ç³8Ü'³„îPI’¦Âëà n[GY ùTã»»#P®Ì蜄 Ò„J–UT²ÕÑ õ;–lȲ@N¥a5MèH_¢Î0¬HÌ k®ê@X‹gC*ç±áº\¹ÊD`T+î*Ào—´©5ºèÉm¨Lk<~A¼²¥ïºŽÏH7E6M¡Ô<¶Ñ ¥Æ4³’AmÖ¡_HÌ!Bó»|Ü›Q ðÔVG/Ûù†Ê4Ièì_›û‹0"¿ÿ78|;@àÁ£´ì’!5ýÓ˜sV &7=dÊ⃰jÙÑ4Ò¨Òpx•o)Å-¢ƒÄÉãQK$¼-I 3¾HŠN…Sü?âhbñ ÏFDÇâo“ß÷W³:·õ¹ymøƉðošÌ&Ù‹e”áðDÛ}/ïy‘˜ŠàµÏ—Æ×gÐáúÓQ«Ô¢Î ¦ƒªjKü¶>.\9ÂëaNd—(–ÙÔ¤ËK­ª‡Q®¤|õ„ :¸èä™Q\»G3úÞ¼ø0馴-¬-°GìçÉ·½Ÿìö£o‰çãn™§Îû]¤Øq}%2Ä´s³ÌŸü¢¨x?ëk}««AÚ[ó’à–g‘ûÈÙ—ô·Ê‡&äYý㮇ù.!¡¯«è´®vÈè×ÝU°¨ÕüÉädº+?‰—cçKÌëêsCpàLÔSp¤YäÔÈêuëNêî¾.”‘.fdÙ¥»äåB—ž¨ú´?Á9 ÏtÕÅE•_=Ÿt·“Õän¬ãí©Îý>?ê'΂ȺQùla’$¯ÒXÕ þ(@UÒ½Tªžoû2< +úÖEÍ:ë­¶ÂÁga›µ+™#X¿»XÅc4Ç÷ù=ÆDkÊPâN¦+âý¾[m>¸/UTi’¿30ÕD.¶udaß@·öx2?Ÿßý~ø:ätbô ŒHjW"ùspÃU:Œ`¡k€ø\«[0¤„°è»à‹·Ñÿ¯×<àf]ÜpÛ/ +Ú4kBXH#¸ÎírøÓ8>Ÿž=iϲkÂñi`ßsYËiæÉ…`¦ÿ¹q1nÓÕUí3$ O0óóµ¬Í=‰gnwn×z¥Qõ·µð‹.d¶­“×׎—¤ÐüŽÿà5K¬û­$ž…Kå­ÔCŒÉY–­yÄ~¶±)fè2ù±ÙÜ0l²L¶æòÍíÏ¥ØÙ€ ‚0Ÿ‘Ù\7:ꤦLyƒ¾=U€8?ù^Œ¬c3 +endstream endobj 1376 0 obj<> endobj 1377 0 obj<> endobj 1378 0 obj<> endobj 1379 0 obj<> endobj 1380 0 obj<> endobj 1381 0 obj<> endobj 1382 0 obj<> endobj 1383 0 obj<> endobj 1384 0 obj<> endobj 1385 0 obj<> endobj 1386 0 obj<> endobj 1387 0 obj<> endobj 1388 0 obj<> endobj 1389 0 obj<> endobj 1390 0 obj<> endobj 1391 0 obj<> endobj 1392 0 obj<> endobj 1393 0 obj<> endobj 1394 0 obj<> endobj 1395 0 obj<> endobj 1396 0 obj<> endobj 1397 0 obj<> endobj 1398 0 obj<> endobj 1399 0 obj<> endobj 1400 0 obj<> endobj 1401 0 obj<> endobj 1402 0 obj<> endobj 1403 0 obj<> endobj 1404 0 obj<> endobj 1405 0 obj<> endobj 1406 0 obj<š%vržÞåÐ')>> endobj 1407 0 obj<> endobj 1408 0 obj<> endobj 1409 0 obj<> endobj 1410 0 obj<@^>€Ì™s‚»=ßoü)>> endobj 1411 0 obj<> endobj 1412 0 obj<> endobj 1413 0 obj<> endobj 1414 0 obj<> endobj 1415 0 obj<> endobj 1416 0 obj<»9exÝh)>> endobj 1417 0 obj<> endobj 1418 0 obj<> endobj 1419 0 obj<=¾ò¥¬P^D­4º ڋלŒ©µ†a#)>> endobj 1420 0 obj<> endobj 1421 0 obj<> endobj 1422 0 obj<> endobj 1423 0 obj<> endobj 1424 0 obj<> endobj 1425 0 obj<> endobj 1426 0 obj<> endobj 1427 0 obj<> endobj 1428 0 obj<?rlÛ)>> endobj 1429 0 obj<> endobj 1430 0 obj<> endobj 1431 0 obj<> endobj 1432 0 obj<> endobj 1433 0 obj<> endobj 1434 0 obj<> endobj 1435 0 obj<> endobj 1436 0 obj<> endobj 1437 0 obj<½òyf§¬ÊËÊZ~z1ÿ&ä«V)>> endobj 1438 0 obj<> endobj 1439 0 obj<> endobj 1440 0 obj<> endobj 1441 0 obj<> endobj 1442 0 obj<> endobj 1443 0 obj<> endobj 1444 0 obj<> endobj 1445 0 obj<> endobj 1446 0 obj<> endobj 1447 0 obj<> endobj 1448 0 obj<> endobj 1449 0 obj<> endobj 1450 0 obj<> endobj 1451 0 obj<> endobj 1452 0 obj<*Ãﲇ†\nQQ·Ï~n¼IY Âd ™L\nF)>> endobj 1453 0 obj<> endobj 1454 0 obj<¾m)>> endobj 1455 0 obj<> endobj 1456 0 obj<> endobj 1457 0 obj<> endobj 1458 0 obj<> endobj 1459 0 obj<> endobj 1460 0 obj<> endobj 1461 0 obj<> endobj 1462 0 obj<> endobj 1463 0 obj<> endobj 1464 0 obj<> endobj 1465 0 obj<> endobj 1466 0 obj<™z —anCIV\)@)>> endobj 1467 0 obj<> endobj 1468 0 obj<> endobj 1469 0 obj<> endobj 1470 0 obj<ÁÏú*å$)>> endobj 1471 0 obj<> endobj 1472 0 obj<> endobj 1473 0 obj<> endobj 1474 0 obj<> endobj 1475 0 obj<> endobj 1476 0 obj<> endobj 1477 0 obj<> endobj 1478 0 obj<> endobj 1479 0 obj<> endobj 1480 0 obj<> endobj 1481 0 obj<> endobj 1482 0 obj<> endobj 1483 0 obj<> endobj 1484 0 obj<> endobj 1485 0 obj<> endobj 1486 0 obj<> endobj 1487 0 obj<> endobj 1488 0 obj<> endobj 1489 0 obj<> endobj 1490 0 obj<> endobj 1491 0 obj<> endobj 1492 0 obj<> endobj 1493 0 obj<> endobj 1494 0 obj<> endobj 1495 0 obj<> endobj 1496 0 obj<> endobj 1497 0 obj<A!¿ON÷Š>cê„£©-S> endobj 1498 0 obj<> endobj 1499 0 obj<> endobj 1500 0 obj<> endobj 1501 0 obj<> endobj 1502 0 obj<> endobj 1503 0 obj<> endobj 1504 0 obj<> endobj 1505 0 obj<> endobj 1506 0 obj<]ÿÉ\nGEïefG¤ªÿ« +=„ê)>> endobj 1507 0 obj<> endobj 1508 0 obj<> endobj 1509 0 obj<> endobj 1510 0 obj<> endobj 1511 0 obj<> endobj 1512 0 obj<> endobj 1513 0 obj<> endobj 1514 0 obj<> endobj 1515 0 obj<‡¥TïwoSÚ~]~Ñ[I¢°zhìÍz¢J^\ní©’Åž)>> endobj 1516 0 obj<‘MÑ` …f»Í¿)>> endobj 1517 0 obj<> endobj 1518 0 obj<> endobj 1519 0 obj<> endobj 1520 0 obj<> endobj 1521 0 obj<> endobj 1522 0 obj<> endobj 1523 0 obj<> endobj 1524 0 obj<> endobj 1525 0 obj<> endobj 1526 0 obj<> endobj 1527 0 obj<> endobj 1528 0 obj<> endobj 1529 0 obj<> endobj 1530 0 obj<> endobj 1531 0 obj<> endobj 1532 0 obj<> endobj 1533 0 obj<> endobj 1534 0 obj<> endobj 1535 0 obj<> endobj 1536 0 obj<šxü\)~³äB©°²Ò©h)>> endobj 1537 0 obj<> endobj 1538 0 obj<> endobj 1539 0 obj<> endobj 1540 0 obj<> endobj 1541 0 obj<> endobj 1542 0 obj<> endobj 1543 0 obj<> endobj 1544 0 obj<> endobj 1545 0 obj<?_=Kk1³˜>]ø¼K™ ³›ÛB¢öé-õ‡A)>> endobj 1546 0 obj<> endobj 1547 0 obj<> endobj 1548 0 obj< ^¿†AiNgVMʨ†p!ó'L…%¢ä2^%,1T˜ÎlQœÌ)>> endobj 1549 0 obj<> endobj 1550 0 obj<Þ\nÿKÛ˜ŠÏd­½ÆÁ£d5@êø Š££Á”à"Üå¼cÔ‹')>> endobj 1551 0 obj<> endobj 1552 0 obj<> endobj 1553 0 obj<> endobj 1554 0 obj<'{2Üscl^òsëÅ<ŠHX)>> endobj 1555 0 obj<> endobj 1556 0 obj<> endobj 1557 0 obj<> endobj 1558 0 obj<zÔ] Tq ¤ ½M¾xI%sø Ìc~)>> endobj 1559 0 obj<> endobj 1560 0 obj<> endobj 1561 0 obj<> endobj 1562 0 obj<FÛ´—,ÂjÃEò)>> endobj 1563 0 obj<2}ûÒsF¯]¹ì)>> endobj 1564 0 obj<> endobj 1565 0 obj<> endobj 1566 0 obj<4\(Ë£æ€[ní)>> endobj 1567 0 obj<> endobj 1568 0 obj<> endobj 1569 0 obj<> endobj 1570 0 obj<> endobj 1571 0 obj<> endobj 1572 0 obj<> endobj 1573 0 obj<M˜§wî‘)>> endobj 1574 0 obj<> endobj 1575 0 obj<> endobj 1576 0 obj<> endobj 1577 0 obj<> endobj 1578 0 obj<> endobj 1579 0 obj<> endobj 1580 0 obj<> endobj 1581 0 obj<> endobj 1582 0 obj<> endobj 1583 0 obj<> endobj 1584 0 obj<> endobj 1585 0 obj<> endobj 1586 0 obj<> endobj 1587 0 obj<> endobj 1588 0 obj<2|ØÞBœyÆ:ïo/* °™Ìä6Ã)>> endobj 1589 0 obj<> endobj 1590 0 obj<¬\(ÀÒ ýõfÛ¥Uújß”»ùÌô‘)>> endobj 1591 0 obj<> endobj 1592 0 obj<> endobj 1593 0 obj<> endobj 1594 0 obj<> endobj 1595 0 obj<Û&«Þk:—J·çYóÅæi)>> endobj 1596 0 obj<> endobj 1597 0 obj<> endobj 1598 0 obj<> endobj 1599 0 obj<> endobj 1600 0 obj<> endobj 1601 0 obj<ý¤´*xÃ%zG])>> endobj 1602 0 obj<> endobj 1603 0 obj<> endobj 1604 0 obj<> endobj 1605 0 obj<> endobj 1606 0 obj<> endobj 1607 0 obj<> endobj 1608 0 obj<> endobj 1609 0 obj<> endobj 1610 0 obj<> endobj 1611 0 obj<\\í1Ÿ6½6挰ìÂæõ•Þ·e=¯"èCüÊ0Ç"U·)>> endobj 1612 0 obj<> endobj 1613 0 obj<> endobj 1614 0 obj<4ÿãé³<ðÞ­\(”¥®<±UrKÀþÓÒôß¹)>> endobj 1615 0 obj<> endobj 1616 0 obj<> endobj 1617 0 obj<> endobj 1618 0 obj<> endobj 1619 0 obj<> endobj 1620 0 obj<Naîï\))>> endobj 1621 0 obj<> endobj 1622 0 obj<> endobj 1623 0 obj<> endobj 1624 0 obj<™…17rŽF\\é6fðïð0‡"Å´ì•ÊBD;eVÛ‚GŒ2LãîG)>> endobj 1625 0 obj<> endobj 1626 0 obj<> endobj 1627 0 obj<> endobj 1628 0 obj<> endobj 1629 0 obj<> endobj 1630 0 obj<> endobj 1631 0 obj<> endobj 1632 0 obj<> endobj 1633 0 obj<> endobj 1634 0 obj<> endobj 1635 0 obj<> endobj 1636 0 obj<> endobj 1637 0 obj<> endobj 1638 0 obj<> endobj 1639 0 obj<> endobj 1640 0 obj<> endobj 1641 0 obj<> endobj 1642 0 obj<> endobj 1643 0 obj< šPQß)>> endobj 1644 0 obj<]éANs?‘)>> endobj 1645 0 obj<> endobj 1646 0 obj<> endobj 1647 0 obj<> endobj 1648 0 obj<> endobj 1649 0 obj<Æ)>> endobj 1650 0 obj<> endobj 1651 0 obj<> endobj 1652 0 obj<> endobj 1653 0 obj<> endobj 1654 0 obj<> endobj 1655 0 obj<t°Bl¥ 7\)öY¼)>> endobj 1656 0 obj<> endobj 1657 0 obj<> endobj 1658 0 obj<> endobj 1659 0 obj<> endobj 1660 0 obj<> endobj 1661 0 obj<> endobj 1662 0 obj<> endobj 1663 0 obj<> endobj 1664 0 obj<׈5£*ü‰`”ú)>> endobj 1665 0 obj<> endobj 1666 0 obj<> endobj 1667 0 obj<> endobj 1668 0 obj<> endobj 1669 0 obj<> endobj 1670 0 obj<> endobj 1671 0 obj<*®wYŠÐ±iQ>^f„¿:?ÌŲ$„>)>> endobj 1672 0 obj<> endobj 1673 0 obj<> endobj 1674 0 obj<> endobj 1675 0 obj<> endobj 1676 0 obj<> endobj 1677 0 obj<ð|\)‘ד\rC7É…g[Ý )>> endobj 1678 0 obj<> endobj 1679 0 obj<> endobj 1680 0 obj<> endobj 1681 0 obj<> endobj 1682 0 obj<> endobj 1683 0 obj<> endobj 1684 0 obj<> endobj 1685 0 obj<> endobj 1686 0 obj<> endobj 1687 0 obj<> endobj 1688 0 obj<> endobj 1689 0 obj<> endobj 1690 0 obj<> endobj 1691 0 obj<> endobj 1692 0 obj<> endobj 1693 0 obj<> endobj 1694 0 obj<> endobj 1695 0 obj<s‚\rUÿö*æë¡›¬)>> endobj 1696 0 obj<> endobj 1697 0 obj<D¡B˜¡¿ \)n›M%á}™ôQ)>> endobj 1698 0 obj<> endobj 1699 0 obj<> endobj 1700 0 obj<> endobj 1701 0 obj<> endobj 1702 0 obj<> endobj 1703 0 obj<> endobj 1704 0 obj<> endobj 1705 0 obj<> endobj 1706 0 obj<> endobj 1707 0 obj<> endobj 1708 0 obj<> endobj 1709 0 obj<> endobj 1710 0 obj<> endobj 1711 0 obj<> endobj 1712 0 obj<> endobj 1713 0 obj<> endobj 1714 0 obj<> endobj 1715 0 obj<> endobj 1716 0 obj<> endobj 1717 0 obj<> endobj 1718 0 obj<> endobj 1719 0 obj<> endobj 1720 0 obj<> endobj 1721 0 obj<Ps³?|´WÚ„ÙB²Ê•Ÿ •í†™e}'‹¥v7ŠÐ)>> endobj 1722 0 obj<> endobj 1723 0 obj<> endobj 1724 0 obj<Œ“3‹#D2ÏpýÞ9yâo%Ý)>> endobj 1725 0 obj<> endobj 1726 0 obj<> endobj 1727 0 obj<> endobj 1728 0 obj<> endobj 1729 0 obj<> endobj 1730 0 obj<> endobj 1731 0 obj<> endobj 1732 0 obj<9Zªy)>> endobj 1733 0 obj<> endobj 1734 0 obj<> endobj 1735 0 obj<> endobj 1736 0 obj<> endobj 1737 0 obj<> endobj 1738 0 obj<> endobj 1739 0 obj<> endobj 1740 0 obj<> endobj 1741 0 obj<> endobj 1742 0 obj<> endobj 1743 0 obj<> endobj 1744 0 obj<> endobj 1745 0 obj<> endobj 1746 0 obj<> endobj 1747 0 obj<> endobj 1748 0 obj<O” ´{mq`{ > É)>> endobj 1749 0 obj<> endobj 1750 0 obj<> endobj 1751 0 obj<> endobj 1752 0 obj<> endobj 1753 0 obj<> endobj 1754 0 obj<> endobj 1755 0 obj<> endobj 1756 0 obj<> endobj 1757 0 obj<> endobj 1758 0 obj<> endobj 1759 0 obj<> endobj 1760 0 obj<> endobj 1761 0 obj<> endobj 1762 0 obj<¢Ö;R¢_™é«Tu&]WÂÜ„4ǻս I§à¡‰N…§f)>> endobj 1763 0 obj<> endobj 1764 0 obj<> endobj 1765 0 obj<> endobj 1766 0 obj<> endobj 1767 0 obj<> endobj 1768 0 obj<> endobj 1769 0 obj<> endobj 1770 0 obj<> endobj 1771 0 obj<> endobj 1772 0 obj<> endobj 1773 0 obj<> endobj 1774 0 obj<> endobj 1775 0 obj<> endobj 1776 0 obj<> endobj 1777 0 obj<> endobj 1778 0 obj<> endobj 1779 0 obj<> endobj 1780 0 obj<> endobj 1781 0 obj<RíWH)>> endobj 1782 0 obj<> endobj 1783 0 obj<ýò¨\)À¨mZ•–&áxq™wº2²Hî)>> endobj 1784 0 obj<> endobj 1785 0 obj<> endobj 1 0 obj<> endobj 2 0 obj<>>> endobj 3 0 obj<>>> endobj 4 0 obj<>>> endobj 5 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 6 0 obj<>stream +Î]t%Š¦õ ‰•$ùšZ Ê¥/ >¿\Ú–:D& ƒ3ýþ}QK_q1‰NFÀ˜z®[()F˜‡m+µÚÎÓ"‚B_j*yÐÞixÆ'½Û=¿kX/0¤<%éµ±¼*A·òi‚Ø)3+.¯7®²ªsÅnÝQ¥äü[Güˆ{ý—:¥Â8º±ŒÏÛLÎOýu³É?¿¼(âyÙõ›¥ 8ò×zRü鸳ØåUe‹0J;:L kÒ§•ŠU(AÛ7˜-“$L%$ó†'ÂPmKo*#wRÁn£Ã••ÞäŠXîDz|{•¡ ‘^Êʉ[5æíjó]piû¤¨%(—ð8Ú•]v4³‘7ó³§â i¾jã&Ü;Ë"‡ôÚ-c?ULñà3%ÃaQEi¼ *ÛäZ2ñT¢) ìëžÛ5Ø>> +¦çrÂKãƒ@û§¬à™Ëª¼Gxª íÄ’;!?¼ GaFØË(Ì|·(q”›ô2¦{…2"`QËo$Yã:L'¿ÑXå€îêzUìmÔ¯ŽK­pp&wŠ1xœC7êë³Ð2$A»E5î~O¨Ä)YÖdØFv"4²×>ÓÆ=/6†^‡a„gàÀË®šŸ©…¸—á*û#ÿ£³ÞÝUšû4+7 +ìêY$†`°MçlP{ò'Á!ívv¨§ˆ¸à౨Ä!›}Ã!þ¦Bð‹7ØÅ›LŠ±®än”õK‘ªë^[Záx[¸«dGÚT‡Y4,8~¼÷’ñ‘¶w+A\¯£Í’»¸fM$ŽÙC|¥–ÏätÞxš`fÁ"ÜØù÷úâkPÖy0îM•¡\–×`2î„¿ÉJK“« +µ{†'¥"h!CÏòÏÊ´5l€¯àðÌ«7ë ‡²> {Þ®Ÿ†Ð²³Hjh6Fmú›À ò€ÏǵãuÈš¾&ßõ÷$ÂË0X³/¡Þñ5%´¹EZœ>p ÇÑÃ}GÇ«:Dæpìéþ8J+µè!]bªiïÈÒ ñ)IÊf‚§ O™ã.¹I™¥Yz'ºõŽ¡À=ê(Aä±­wc‹õDhŸv"¯¬wŽbm=Ï5Éì¦wª6õÌM!NÓ4ëPC?©Æ‚ø)eM¦»éðT 1ŒwÙq8u»`«ÌÔG£ÉÐ6¤—ÃZhúáEoûûNYßgÕDÆ1BÐÂdˆ in[‡áÑjêZÝR ¹ØWÐ+Tü¤ï +YH7ðZB@óÉýS‡ &Ówæ'¸LÈšüF•0†]9t¯¶Œó:içå8 {Å|PÇ6ìL6Õôc·] X‡›º$cJ6fÍ û¯ã%Íú¦óC®¢I&|öUìß~󃬸v6¿òÃN aë/rÕß;sšu±Ô¬²øë²N]Ù‹Ô’W)sªL'0u€0/¸ªóg8ÿâãÈ$j¯P‡]OÖzK´§»î÷%ŽF—A›>¿GMÑÛâÉ’ä˜~åf^…Æ?ØQÈ:µ¶‚mZè~7œæQÖlÀ}‚¥ªlL.ì8î6Oçzõ©´©<Öª^àIº²¬{V<&§&ÇQÿGÏÄ0`CV_½Œtïæ‚ɼ%O¯®Ð©SeU¦i7÷Õ=5þlf˜ÍQ‡¬ýDjšª\BVwb8(}ÛšL”- %aèÁ +'¡úàõœQ‰ÿBlüŠþ‹î™pý‰gÿ<þûpU?Üãer…_lLTeô ÜL y^¾oªƒ0¤›­–Kîd, +oªj(ȨöÄ/¶@{äéí¡1jŠF%“÷çt‘u€àjÄ'Æ”ò\R¤çëi'Ä]WÌÝÚIiô«\apyí%ð*"Vzû¹Âþ\A©ª^Ä-f:õðçÔ¸ð0Oÿ¥ôŽ`ë”›G¼j1kÍ“<·Ÿ“î¶I[˜Í np§CN¾¥ÜšŽ˜Ll¸ì™ä³€h0ìÿ` + {Ç2¹æ:`Éw‰G ÚèeOž±Ê° ÂÔó÷s‰+8|;w†’©fºŠ4°v+n¥Â4ìÌ‚ç ä2±8$×<õSW‡µU\¦Æ²kü½XK-™Œç‡FfÐ[Å6U+«{rTcñÂñ™‘¥+¼#±‹€Ìÿ¯g®%Òkù‚©º]NGõ ä¿çêßv ZNÙ®_˜a¯É2ak*ùãÍs2òƒéh]ï¾£Étƒ«æ>Š ŸÅ¯‹µ~¼\ß .cäð…{ëûJ%Æÿ­ómg›£lÅXÔ7K‰©ˆw*«Ó¬)ìêùAiºLþ'ØÒZkGÐLx’I‡äh|:¹cŽŽ¬“Ovÿ~ûhõÚ”-ƒbFƒ +²¡%PjÚõÆ1Šë®qý ès¦Ý¼íª¾$ÄWÖÏþ¸3ç«âÅÓâ8¿{4g¿5ˆÑM#°op¤S쓉þX½MÍ(º󶀹äèG‹üü*ÏWm  Æél‹Nz kG=KS•Ï×Óüãÿ×U,®cQÜFå M­hmPNyÇi'ua›Ô‡± ·×ÈM6õü/Uñúö4gÖª|~)®#ÚÙ7d:›Ÿx¾Ž°Žu,òÉEØt®È¦ËÏÑ›íûí“N©Z–\ܤIÏQŠÃHš_sëùÝ£ÇêÅ©„£ ééÁ8ö +ŒÙ‚ëvWˆ˜ ¡ÒZk VTn“#`(e»V«¬/^™Ê–8l YÜ–Ëâž»™+eæB)Ë¥*‘ˆÜ–¸vsKQ)5™)@¿eÆ +ûl¤³.#fû·eIì%ƒAðtMñ’®ò6‘œ”"ÓƒþZÞ‹‡4L-†Üb&C¬-}§Ø«´Î4 B#þ³È„Ï2ð‡²˜¯+æG]Q!8Ëkj¨ªLÞJ + ˜ïÒ)Jm¤ò@¿ýUŒ¡_É;P榧’÷.YfÛÙ(ei__Þê,ØKåƒÞuž5Ó’mu,?xÚE¤3È´H7¾»áˆ)ràuNª­BlÍS'ú#]Ú߇‚ro‘˜ œþó\ +œÂµ|þe6UH*#8Â#ËßX.AøÒIóÐx³6$z…߃ZZîÅfÈ·èNþjÓ‹;-4º|a€V‡Õ¶¦©eÞ«b·üdzȢ ³È¼¬¶CUU^0W:èpîþ°8Ù +endstream endobj 7 0 obj<> endobj 8 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 9 0 obj<>stream +6RZR­I²dÙ_½¨c-%<¦?±ó ž{ÅùwQùêq¤®î¥Œ$éNº±ÎE5ŸjÆ÷:ìI"_½EcNøÆ‚“¬öò AÉB‰ÇQ¡m^QôÓFÏ&ôöáïNéf‘:^к˜q@X‹ ·³¯[uçE{wÏ}Å?|WÍRˆÓém¶å#4ƾÜp¨3v]$`ϼ*“°X|µ®ÏveÒuË3é–J0_E`ÐfYådžŽ÷"½bk™³òH1»19à˜GHœNÑ^SN=\ß“ëÓÌݽ·¦èk—Ë-Þß誻ÎRÁWj Åø…^ Ê1¸í½ì+ëA@½+Ã.Ôåw‹2àÑÀ #ÃÕ¨;d¸ÛÄö£ï6A€ô0X÷æn.`ߟ(@¹ÑÅêNž JŒ/Ó´åúTÖPƒ8£0£EJìïø –ùÍþž²×JY²3DWÒ|è¿Qe…çf¢OAôÙ3¬ïšbž£ÿv¬w&P趑6–®Å¨úY Qg^ÀbÏHÊUò$€®‚ÔTN7Ä –I´ +‹³:öœáñzþÿ¬J³žñ™Î#~¯[ç(çz§qÝóeYó¦_Ä{‰SCä…æ.N%˜PwAr6ÊóRü‡5]ïµ=ZŠGð!¸cí1ŒUzA‹Ü…ˆ©(­§ãšè­’k¬JÙi=¶T9jРhòjÈFíîÊèe·cÀ3ÑÍ•-ÞíÓˆòE˜3µ .÷AY±`J£q–Тqm¢|²^’Л.T—ZŸzÞJBÈ”ç'ŸX5bõ>Ê_ߥ†S {#û›­6ïwcѶGd%±(?©1¾®2Ø ð‘£ ¤¢ä_ú"XíÆK-°‹e–ƒ)u¬&vôr1Úÿqvß>Ý&%â=t³­`X·ˆÁÙ©RL°~¯ÀérŒÐÉ eX)Sû=¥Âân%l„óÄY<7ˆ¥s6¦ya°6: ‰Æ:i~®ZЙ[|9„‰Ê”§™ § Béæšö¢}ÂÜÅŸEw‘ɃvN6 Ú¦,±¿A`~Møà¨Hò]9@÷É•>ïó>¦JoT4ƒQ»•?r9ãu·êâþ¶’V|ì3õ}«ëöã‚IèâÐ5Ái\œ­sU +/²N 9$&ñ‹ëð”zã°)é¶ ÷µê€g¼2MJ~ÿh‘y)dN6 â}¥K¡ñ¦ÏÖ‡WS:’Sv¤ß p•´e£k5F¬ÍJ‚ü(!ÞdaÖå‰v0‹ºÐ¢òq¾/JqÃIåCåtx|NÜDÿöüŸ=ÖÚê¬ó€œp$mòR©¦ÁëOÛîf•s¥9×?Yëƒ6”-.€‡•g÷sunÊ¢£l4sLh×Í©<Á±¹»{žpåd‚dŒu…Ý=¡9ís 0¦i›ºD¨ô»N¯—•¬ëÇÔ%[3ƒöná“·/…æŽó;Xi?ìÏîÉ:XM¥&Áʆ¿Ëûß‚G#ª‹ ³Ü×saH7²nà¬~obÑ'I©4 i1{ŸþÒh>^ äU3“rà‡)¹ ƒ :ë²x‚iQú:|ѵ€DдuîÖ߬mÃû¡r®á"NÙÒÔˆ@ž=å_逎…'ÞÞ¿1è±ö¯˜ôUIj9WVXÝò¬Ç+`Ù%ÏÞäŸÝ•Wåu®’÷0‹`QRcHË{ +FlÒÏÔÞ»ÑÚS’”‹ý”t Ë[f!†õ¸RtþøFü—cÚõSx¾©ŽF¢(áÝ͇Weß$)õ`ÿ)a¿xljBãñ…r…d²†GYZͧ“䟣Æ`SÕõðzCsŒ¨ßI>€éH·Çf±-3Ï/zm´Ú„¼<£4ûsxÁê,½sv”ÂîÄðeƒò2oA±#Þœ5…$O?¼oW½Û:Hû6îº(;ƒ›s–-µ×*Îj_†9oœžîãj´Ñ›½?À· +â±C• B]"QNO_ù¬³È1‡;]_"FÀÓf¦ð¿_QwÈÎ`÷I5Ú6ëœiôM§¾*Ïê § ü%õ%R¦åy6ÛÔ!ÜÉ1vÁ/râF³[˜ˆæ +qŒj…‰Œ)úÍ¡õB´ñcã6 fêP÷[˜H”5Wò¬Bð ›Ñ£ˆá¾¶Ð.Ôä;* #Á%4cZ»Äy\+A]bµq“TÎýù@‹|ú œÀåÞsIo¬â ‡öò£Ñ‹7ÏŠSv.–ÔMر……¬>™ÇäuB{œOCvð0ZÂÙñ³¬49‘”ò ÷Êwõ–•§r"h†l3³Ö“µp~KsUmߨ&Éèq*ú4É.›sj'd;±À³_;§‘ªÅiâë¹oƒWÞÈßqw zåîh%˜OU³Vkg˜ÿŽê‘ +SYSÃóìí$4BߊÞw7bÅ.°2¥+ã +¤”¸|B:Nüxw`c§…ýÚgýòyEÄR%õïù­4»gÅ79cµj`0±ˆ*Ñ“~¸‹÷@¾deî½áÃ+‹dg½ÿ;ȇE{w&`þ²§«æÃgËœz!›ÅxPg £Žƒ²¹³Ç+5ùv,¡jHUyƒåˆN¶ýGOÔõî‘Ü[/ƒd æ:Ás‚gÖhËŠÿ§ 3£`TSu´ÂÀmÚ—E $.ýɨI^?'ʯ0j¯¸æâ9™ÁûúAáN ß98µ*@P‹ïHŽÇ”çË`e¯+“¾ýµi m`0›s‚\Í2ÆÂôzÍsCaMðW¬@Îi;Ó¦0ï¾].rsõâ›®¨4R’y¿&ä²Ó-Ê¥ÖøoÍd '5á¦ÍÓ¾løv*ÿ›£Š%¿Ì—§×¨§FÔœþx&›ï#àoM„U°VÜ©U6gzeÉv6ŒLÊLàsoR(ªnr9~Å1ýß5tã-eWMljT šwøŽËÇâc +ç;†>Á$„VX4±hÃòXÑ B8Pë7¥4ú Â`U™g­>#³ë@æþÏ`4¾åyë¢ X…ó—Br÷)5câXYLVGe³cmO{ Ú *¾¦:)ÇOËqðTvÈ‚}Ÿjjm[Q "¿Ã.ÖZqgflJϨ å^ÀåÏ ÏAx-pÑtÌ5Jß±\É:ä*|J¦8Õ$½;ß­Õ¸×û%é/<$ØÔôèwßbµ¹‹‰É¡Nzsd(ìþîÅ¥©N‘ÌÊ6Ysê–57þÀíÓW‰½Ög䘓}†»¥‘÷~Ïj â·Qz"ÖœYº·Èg4 s$¢gBbÀ. ñÇ(c¯µÙ*‘,œUN{àeÙþ¯Úñšð[ð(–õ&-l]7ç'†‹â†] y Þ÷/a³óÍ9V¯ˆ€lÀh§ˆ òtÎeD8²=(mîl×ù?ÓŸœø¿¡ä0`ôŠWÀA•qzB¹ç¯ È-M€tƒD'‹ÜÜ:%uðŠÅ—̼¥ÝÛesÕÙ®2ªÈƒš]ñ`3#ÇRÉ.#1õ›¾BðÑä4Q…Ç~õNù©„p)*¾Pô}À¸§)9›¡¦¶Ž÷\YôÁÖ–œ §®áÍìˆ`ïÄLW|ÒPëòÂ'=¦ªÿÆYÏp˜ò d¯Ò™„k®Ðª% ÁfvýTÙ—<Ò˜3™…”ç˜ì(Mv‹Î—©LýæK|ÐdI8½1%ð%¶¢Yæ@„C…Ñ›,‰ 2_÷œÇH[pU»ðl°ýå÷Ô-]”øÚèÒ»†ô?HßHT»È'd%éÑê0•iv¸Ò$A.+ÂOáÏQó·ÙBNû´«-£¿¡ÌE‡‚›™žü^nhSs|˜g”þôMÇÕÉP +õ¿#oÜß ûàžy$—®|P!Mª¢’n…–j9üZ,Q€¾4]Ç¥®K=Í‘OfÜòÔúSÚ½jèHÈïG´ ˆ•p°´­Çb;²\Mç{¿üô…ÊX\?ü˜—.óû +ÛêœÐ­zz˜lÝÑå³jƒñqÇ„þ·E G"j‚êg¼”7;ÿÃz¿r[ºÂóöo•Ú ¾ —¹ÁèÅǵ¿rÚ_‹ð€¶ñ²E™Içô`<ÖøÃîÆrÙ.Ü^åA|÷:AÐ!®|øäÕãÁ&U”ó…I¨måÂèÉ/¾Ôà\ å*eÉaÌ'€È~.'¡Æmé)CúF£ÿ›œ¼ ½$5ÒÝÝæQ Ä±t¼pÛyèóëÇQ¬²Ì5MÞd«ÐŒ +ÍLÝùúpnϾÉPh”ä6`ʈ*1"ð(8ò¦‘ÒßèÞÏL3L·1Öõ®«l>ÁRǼC@Bº,ò±DÍŸæJÌ£úzP`»'ã}?Éêô⥠›b2’ì0a<ÑMyDR2ÌØÝéU~WñÙö¢/ùZ0ÖpÛ˜Wß+(rïs9éœ3Mu»›ߘ‰û¹µw*³ØžrÿóÂ:¹¿«W²O±*[àŠcB˜¯G ΪI /¨3;HªZé …Þ¿RQÂBi¬êVHúöÜð²}W“åÒÉáôIkoMP™ ‡1:ƒž‹mÖzhñ±<ùÖN8÷Þ¦Gâtê/rñ4Ù¥oÕR c‘åõÈÂßOqjcÓÂc ÝùA +#®u¶(m§¸ŸÜ·ž~øªC+/¡•ÕùXµ¡k!,ÂT{3åÀ‹³ZÈŽýô–¯rŠï¤ujÁįŠ¼ì­³-@¿élÜœî¦äÉ©^«rpTûWþ3¥Ž¿NZ·#îÑ{ Zý‚kbcûœô{Gø¬ oZ€€MO +endstream endobj 10 0 obj<> endobj 11 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 12 0 obj<>stream +sS=½cqÑ(e™Â"¸ÉÕ†¸¸Q‡öÔ¶GõFÉ($ÁÖà¬bËŽM8dû˜ý +ØGg8Œ¬Krß +X¦·i*ÅéÖP- +•G£‡¤¼è¤ðß Bm&W€ç¢B,‡íSú)71܃ÕüÞø;0JõÌiemÜYóá™Ōkü“†i‰ƒž¨2 +®ZÓ"jwÕ#ÖÛRŠËÑ otÇx<û'Œ~zz/ù’º˜C,äVUT¯j"Ó!ý3¿æhÅ +,–jN¿‡Uкâî_¦}W”ÞÛ¸ÃC2zsEté4,i Âd;¶"ï]2B³Ëûš†/;Qš+ÿבH$rµ ¾œzcEïéh*’&(•5]W3SþTÁ`ðk~‰»¾²?QÀeµ²§bœ;ô„Ý“öÀ&JvQfÇl¡ Õ³Œ±V»joÏ)ÂQî;ã¹ylmû‡T>¸pn²6•¶|‰ÃÞ®R®˜,kðD/ÃŽ­4¼͸\y*BÁ±‘}ºÅ:®?~igє괦\4mlÒ•¤g#jdúê³Û@½HaÎÓYP[Š¢¢P˜#>kñw¿¥Ä¶xv8`3Gâ¹³4$¶Ç V¦[©ªÒâÚC:ÂÊsÙ̦8mWǤP†-pT$’Ívã`AxNÖïX=çÚá8g@Ý ÷°ÕüGþJ–!i1äOEm™pÃ*«Ê[õžs.†DˆVã|…âIVö0Æ2Ài‰¥¶â r/)1~ô·/§l(ŒÔ +Ç=™E+ðÃýÓ¦ :ʤÞ fÄ”••“ÂÀ]0REþ +3Ø)£òãEDÐc{ˆkÈxs–ßó¯Mtaí§udÁ\ï õ¨äÃNþg/ aVÿ»Ýn)|h»ª\„·:JÑ”r®7s ¤-×âìuYb«×£'»›¥î)Sÿv̺ºÃ!#GôRý¨Žðÿ”AŠÕ瀡½ +#zûtÖìllŸJ9ÅS ´ öƒ‡ Z•·D-P`Å·…a3÷¢¿CÚmð¸FÐúÙâœé¦—ƒtÞW⯱%‡ÿÆ$ž¶kþVLÛ—´Zvò,—4Wh˜(ëŠÄ2ZË1ÿó»l?"ºƒàÔ‡òᘛ+K ±Û ìâ5ˆ«ì+ç1e<6äšš¿YôMz”ý02ù!HýÞãOX‚%pcŽÚ.-.H£ÃÓ×[Ô4lß«ÀÇú[wçG ²9¹XÆÏ/©¸\o¨ žv€Ä(ý““’>š›ïœé· ø+C ½ºË¬=ÊÒ¡ì>-š>€V«ÉŸzuUT°vÓHŒÞûäC¤;1 uêíü­‡Iô“ƒØòMŽ>ÈtQ»¦"½î >+ˆÃ àn-´|ûC‘sB¶õ¿÷%×+ªÅÖ97¾E}Œ!F”÷•ìº|y¡F‹ÏžÑΨäM~Z&²b±[ˆUo$¢¶¨ )¥_ɶ0~”Ù"9ÅŒ£5d˜sr/b—xl†JŽöE„#°îs™šÒvux>¨ãÜtÍ©hÅJ‰’np“J a´§&„RÝ¡TÆÜëñØÐX¦ágÍþôÊ·®]§&âë ªfš‡T¼FÝ#*é +ïð™L·>¾4ÝOÅ^¡,¾É:{ÆzHŒ‡þ€ñe‘]É“aX;æow`à[¦‰‘dC¿/ù!Ž[I3U y_¸äÞÿ 8‰ ó\?à ³H;5Êåý”|¥ë[¿|õZçÀ:žÖÚð«&rL½ì¼¡žàµÞ3ÍjÍw¸éä™Õ8}q9¦{þM¨2Ä||(h˜×¢,áhÜ®9P£iç¸3ƒõZáLëÃñ¬p°¥i Cc³‹?ðÓH °Æå }s+âmÅ©žùaJ/aè·Ó U„MMôLÏY$}ðÞŽ)„j†nQB*o?¼Þ5LÊóŠ{ž#‘':'ʧ¸g#ÂÆ[‚DPWvû>ˬv•Ú„Oš˜ä.L˜þg,˜}‹e#þ7î¤-\•Ö¬¸yúÞOÚ¾8a]¯þcáÐ…HfmÆÈ/Vœb-Ÿ5Ü`žå8ÆEOoû +TZú1\Z`¾e¶¶ U®ùÇtø-ˬ±9V1­¨‹öûÔõ\Àt½À™ƒ™Óåþ4Ÿ®8’¤9]£e + 6埭¡³Þû,‚Â_|†Ã{m˜8€ö@þ\= lìÔÈ¡ÄÝ64¤0ÙÔ¹ÎH Oá1U'®/©uŒ•*u P@r£Wð!®[/m¶É% ÆâU©`=eˆ¼2ŸyE'Œ¬˜úÃs¶DÚŒ7·4>–_ì©` ©³~á,‘ÍÀZ£×‹˜…V”oV¬4”ãY¡ó{ð;‚#áØæ1g[âï“à(eoH¤¯‹IèÄ}à6òª™ú’æ¾óøÁnmÉïYx¸èÕ÷¨‡÷¥H« MÁÙ8vf(N10Q6J†Ívɵ„ˆ!"³?:r级·™^]·u_f…K‰nJ4Í}ŽákµÏÙ5pô=Eÿ Ã2WæÀ?-²ó©óýN__ ãóÃht¶.Úu‘BD +endstream endobj 13 0 obj<> endobj 14 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 15 0 obj<>stream +À¹ÿïWTþÃføHßÓ'Ä$*SÏÓºv ŽÓ|ßiW Á®æ™¢fíÓ*ËÈÿkcŽH«JÂ25­¡%y~^’ŤʞéÎýõ¦^s +·A˜IÚKía§,~k-—ûkwX^$éËÖHÅÒf-X_›M* 0À®ÁyšÇK®ÈZ.;~kUi,\/ ¯;`ÇIÝlP»Ïz|¦¼NJǃM"Ef4qÀQT%ûÏ„º›fWÖ›$¨~¸,°É]ÕMj”l=Tý¶ª\mZNWcµ5•õGÙ1I-}4?_À¶S¥°i6ŒâZnmN0Á Ô€»ü–u¼=ÌeéÔí¥|ð²þƒE1ƒ˜2Ìjs[9ÏægD¨~>5EGüâÏÿhÿ$ØÒÒ ±âÕ5˜ žw´s,ZÀÅÀQžªlÀØ7†éÉTQ RgŸ+*“Sˆ M{–|';xqã©‘29ÙçðaÂÒq”U8:_wlíXXO²§ˆ§P"Ü÷K ˆyˆ ‚côÖÄÕ^{è*q¬bM”2lå zàé}%õ"É#‹À¯’GPXÎ=E†åê"¾¬~íN¡ÍàòâôÖôˆÆc¾€ˆ }-c½°ëcû(‘ò,è”ï!8ò6=QÏÕøÍÉ({´,Üø3°ý£¬Åìšm¹dVªV¥»Ø‹(›ºtå%9{g‹y¼íƒW 6¦oå9eO´B´ž¨õÀL #`Þ‹Ô)¯\È&‡ïŠFƒCråi3]C \çZjÊ 14ã¼\1{Ñx±w¯æoø ‹œï®¤>‡¼“0º+ŠÐµƯ%ÂvaŸÅãNpÕQ ºÌ@ùf†yr!v„ÆŽôfmo'Œ¼ã#P78à£Ù9ªƒ àÇJA÷pwF*n¹ù ¤T%0Ú` ÍØîc{šCY¢|aÒKœË¡èò½à§‹7—±Ÿ’KòX÷82)¬ 0Ê ùEœŠ%é—ÒØîÎôcö@ž ¸8›aÑÎKˆÅq>Ë°á$@u²¹óL%môA j …N¾mÝÊƸëAH:ÌW¿)#㺕P #õ<ÉY·ãã‘i/‡0¨kt„ª:ÃKhÄìlûR!m¦óäÐÌàjæ )™Š‘ +›ÒVÞÆÓÍÊÃî–öuºù{ÊÐýŠ^^|—Ž „Nê#‡ŠÚâ=w:&–_Èjκø—>í¤6)š3„Û`¨(/5ÚëÄ|«ÃRVÇ +(@:èéΧPUÂó¡º0YV%v\ž¸ÔX []q-Ö&¾Ð9›"­ajË­éu+S@6{ë…°2Äh‚Wuëå&¹“š‚žù:õZ¶#‡ÙÇ ñïò+’J=GãíBD¶Î5¸úfV?§·S: +¬×ôhë?Œ®ªYŠ‹›ÀŠ›“ã®42×ÞJ’¦h xÏÙªË~tAwn¨][‰ádÃôšGÜ£Ž˜fbzÛ¸CÏäé1cH‰p ¡þØ2W×ýpÕ,U™>,†<µ·?”^w¹7³Oa{© =‹p§êëâvËßIKð ^mul ñ•ìv“ééĬÛW˜ºÆé¦Oô‚’!2Â9,o(á ”à›Ç¹SvÑ(ì#·qÔ +,¨Q^eö0…}ý”"µ~*£þTàæ4 ƒ…^¨Ðiž–1ÖI,ÓEÌÇÑã„}Ûû‚†Õ¸·/÷3Ú^d6P%«`kqº¶ÅpÉZè¯nŠ(;+¼GÈd:ùH ÎzO¡ÍãV=,sÊù½øÀh5Ô•­L™˜¹ýªX‹£Œµ']ž^äÖ¸J˜²sLÉÍ@ +ÙÀO¾˜Ê.ãÐ,Ýi¿ÈXN«Ýcú¦©QÖÕ@²ª6*mPßF¤¡ÕŸ$$¡ü8i]<ùä0§²@_¹S¥0/ ¶Iœ£1ÀëSXj(°yðú=ã=ç!GŒ‘9‚ùʽÆv%uKe,°†PÝëñ|rŠ¿»>Y"ºê2+ç‹øl €AÒß~‘ïÙñµcµ¨êfAYwç¬ahºìtãÇ]öš>GE íã¼I?®WuºkWì,Šu/Œô=½Ç|½Ío%” ÷0Î+‹2Ëï< Ì)-[XJ¨LXëG¤ÔáhÜSâƒ#š0̓*¬² ,¤©×^›"“Ëî¯8Ÿ +«”ItÛÆíîå—Á!ÿãs€ë‚ZiFÃóèìèŠT[)FÛÛ\B“<Âdïíê(™{Zi勯Vþp*_±4$$yDÄcW±,þ+÷)K l<$Å«”VE¶]‚ߘ¼ÛEq&.~,ç´©ÎÀ%Æ~b°ì5Õ +°-ðUŠ–GÉÿ'êa…Gõjë¸+”F„^WÀz¹A­+¸Q±µ:%p™×Uäv˜–D?ª¼È‹T5dœý$¾7‰Á¡YŽ§»-‰XcÓ«öOž¸õ¡JùOË ôFðÄüÏ+éŽc +ZÀ¬ÕÀÊÒgHžÄ4f ý@?W ŽE効0ò |m ëB'Àø•™(÷XÅJvWÐݬfQcf¨µ4/sÐ÷½RÛ‹MyO­­üœ¨{EvÛI.Ñ(_$Ñ¥ÎÔÍÀ`ÎËÊf~·T•Â¼n/†· ôÊQ”ÌŒª×3û4=ÂŽ„‹Ï> ·–ê×aØŽh;ÑýBa¥6%­ž#ýºhéF›k5\~Aø–û1Ä» ×HÕ6=R÷ 4#Æ à÷¸[õ˺ ÇTF5XbxlF68c­zÓ£^¯+~G!³€ìéTgŒ¦dÒg;ƒ;†i|m"õLcéê0¬nå?Ý„ÆwÜh>rRïÝö`…[Ï;¤”˜x/–:…à˜c†aý¼ûµcûŒÞ`ŽìÃöe¯ü²;Í÷ŠŒõH¸©ÕÑ7r‚wª2| ÿÎ+HAã‰vD¿#‡êÕô8vfÆ o×ß‹ºœòÁgç»E*)•¡®@ÿ‘s7ø†–òïCFf ûÐXSQÍáMð6ƒŒé[=©Ùw‡Õ”žØ®åÃÿ…À+ùX¿ˆôo°Þ‰–¬ÑÕ§í›Ì®»›âAÈy¢ÉñeäÑ@† *ØÜ9<åöt=ª‘.àòûñ aŽ,‹lò‰•"ÊÞrTêž¾\ÛœËí +ÿ”âf*ƒ²m-fvé1˜D÷ CU…Y·~<Ð0šF’™ vÈZדšŠÓCr©b oÇßÿi/i:d¥½°âˆäôgÙëúm=^è¿OÌÓ+t#vÜ×ÜÉË«ùNQ='Òa‡Gc0³‡ ’äÕäR£-~nh¹f’]Ö9oÁcÈH£¤¤¬ÞítJ x8xVåEb=aR!WÆõú´ûyøºT#¥ =U~B©i‡•õ2Å?QŽÚ Þa¹Qú†3s¡PR;ðÒªtmÚÈŠn¯6§ é'Ñ»ï0IW¿ïx« «±eª½˜"Zs‡Nâ7oâo|f™Ò&™0,L&wðãÚü›´` ò`—èÌï‰~ä™槅ñì²ù¨]ª´ŽfNéX!œŠœÔ€¾ºYX}5þWœ•0 Üq‡d¢ª­³@/±äõÖ,ßu‘ÝN +ûŽ7nº2 +«TIœñ›”þ€²òš6öq¤7*Ò?è²–^ô×` зsJ'€CŒ–"$Hù[aÍ$o¼)m|ˆú ÿk2ª~•ì~ÍmÓ§œñµøV¤^…äPeH(àäèË›±34ŽŠíÛ,]FiüÁ¸*e–UÃB–ó_ÔiIû¼ÈåŲƒ[}*T$²Pô.<ÿZƒW½ØÙ/Bÿ¹ e`ò:z¡›ê¹ö[åÃoìAR+©ÙVæšâ[—ôq+ÄÑÍu+WǾMb9Ûß*FÊ/%“pÀGTN¦´ÄyP²±MŽëìTûÚ¶ ü\F¨H4íp¯¾çó 掓¾K¯,[³§Fô7hÆ„HY¸èd(24ÐMÇÕaíí’Yðã—aço¾%…:]™ßtÔ¬dŽ†ÊŒ½¼ ÈS˜â(Œo‰çë÷&ÊÏo•íüÙñ>¥—6Æ& ãçA“Ü,HXÈl'¨LbÈþ0ÂFyGUê‰!ÂÛxqBñƒ²QWz¦Sƒ)€lì!¹TDó·6•q ß¾Cž õ²W˜hç6(Ý2Ä¡ê4«ž$¤ä^ii>¨ +yà…å—I½î¡sß°Q­ÜGÿZîûfªÎÿ 9Ìl{Lï}…j÷QF·¿2rü±ÆaÊŸ±áGÅ ©!U ÛþÌ‚«0f€Ë-Â3¢µ“üŠæÇÐ# èŸ}ÆrNp¯Å’Ø!¹ÁÆX…ÀÌ¡cµ©/»ÁÎùÓ}•-•LÖ,Ʀ: Vù. ×2’À +R±Â%B£CÀÝD€}ÐâˆæîÔU +¨Nv ŒfT”vÊ“E/T˜99³dÚPI‰)”»`'²Çti9a~À`Ã…N°ÊÍÊ^î B§ƹâ[¥å>çMd‘Øý£sÜô¯rK?ÓûSÇ¡¶%Í$)[;4ueùöÙ¿}yøã?xËTz*kˆsgMj#Ó7&æVÌÊ©àö¤1Èèo>Ds£NCû$¥)z¸ëã“‹‘y´¼§G¢Ë˜@ªU¿—¿€ã +W}ºî¢$Æ +5ÛšP‚~ÏQñ%<'ŒÃ«7lDчݣj6±¡µŸ¹)§v“| ü”6ÍVÌ74¬ð¶Q£&”NôT|ÙöÃÄ24c~Ÿ¶O!Nƒv ²óˆW¿˜"A®(ì‰9Øëý¶¢Vnê…Ò +endstream endobj 16 0 obj<> endobj 17 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 18 0 obj<>stream + fEÖL¡•m+Ú§ÂÝ#8™;å“lZÝi­ÝL|”¨Êªì`4Œÿæq–«nÆEMÇÿ”ÚÞA<KQ7.1©!Uö ˆ­ÜÃ~…Bõ“|­~ÔDn« Tg-8Ž=J-HÒãÚI§J%˜¹ïIãBßÖô(PG!l|Òˆ…»%9·X{ßÄD<ò¶i>¿a•¥¢›ÎÁ:EaRKF’pÀž‰Añ$>ƒK~•ËZéÞ¬¢Ÿ+[›ñ¤•ÿð¡Ë”œµZ‚D–èF5äû¹È•å‡k¹¯:÷Æm.ÉÕž„ݯ`ˆáTJ•7NQÅ/²Åo‡côw³ý~«ØíâÓ F´NCÕ¤üN¤40º,úö€]ºjiÎG1Ž_Z­þ.ò¤Tc¥Â¨à…ÑÔdöò•„F¿úBóÊ$/¶–zwdÒŠ\0ÂãÞ"n7¦™{-Þß«p¼ùÀŠ ÏR¸H!)3ôeÑí!‰.aÄ0ep‘ÓY

Table <\/a><\/span>28<\/span>:\nAny and All with Timers<\/span><\/p>\n\n

g‡‚Šh²OÝöÎ_äxÏ…àc–—ø9r–nkè¹?N¬¶ÉôB³aÌ:Œâ]èëRCzWž$ä)i²9%!ê`Á‘ó·7ÔÜVTu`¿©Ôµq_ÓÊ×ÕDoþ$/R”;$çÇÐƒÞ +ô ~X3”öˆï ÄáØlŸ²B®%x#Ò~ýlî:Š‘( ];‹g¯¯Så´WŒÁo1]îè?µ„LݸêÓ½KJ`†…*p6ïñU.XìrÔ×Ó¢¼‰4Š©ÝDÛj‘4)×€¥‰Âs]äËìz,2‡@~½%©€Øêeº×&ˆÁÈpÛUꟀ*»=—Ø“j.*F«Î(>W”´è‡’ÑéNzì—v퉈]žBRĤÔi bq©?¼örµÁ$Îo'€‘z¾)šò‡¡O¨Ö¸a4䦟;.ñ\mRN†?—;¦ºTÖÔÔ\íH“F`Éï>ňú™Ô·þýŒøÕ¥Ydh M’Ò $ĶöÅà Ú\øâÑ»nÉj²ÙPÑ´m½k9 »ªÃ0qþ}h)[PXL¥ä›T•9k—{„EoÁ¼ï?­óù+™yÔ¥€¨/—-pJ™êû«þçˆ'ÂÛ ("³Ï}QÁ9–üà”-¢c˜]-;Ó£“»›ÎükŽ1QÞ6M‚c•|Ð.™Nïì_h$ÍwŠHLÎùDãû¶Ü»Šå%©SÓðBu>ßJI¸AÐ$ÔöT\$·N¬¼Y "£Oõšš@ ʦڸªWkòtˆÝÚÂ"`¬vÆBà7)a;V%¶u_Ä„N¥†9Ee€l¢fR “ʳg!îS—•üîA“ô[Ð';P*9OŸ;êGñ"vbœêÆ.Ž‹Ù‡Ûô w4wPŠ6¨4°›²~+r˜s·qIákD­Xtš|t–›_ˆ9 +kŸf–L¯ûÑðìX?p Ýë.§Ûáž—º·eóøBWÁ.Ñ Ë$T²Pu•2Á÷ª¬8Ëò±¾ÂW:¯ÎÚZUØ^J3_ÁQ× +­™u5QøLr|ï½>ëçÉnræ ,܆jª‘¹øû`¥¼´í¦Ž]f7*…'  ‡Àoàþ•°ªÈÍ#-’jé¸Î<|Mùðe–4R^-°ÕPU>5-Z^¬‘ᶗþýª æ=5º¶¬Õ ë§I¢Cç…¦t»ª ÿ€ÆoK@RÇImŠ¥Y¡çäfƒc ˜6~ÙïæMn,Å‚›²—|bñ_øGL’‡{ä6¼NxÛÆô!Œƒ÷6‡—Å:(è¹þ–ÏóÝi™‘CyÚOt—È@´J»sû êÌv]*‹9+J¤G¥gI3]ã ˆUT㎴º¢Ô$ÊKß %8êªú$›Ÿ F!Á+Úó3µRbñ×ÞF‚5jÛ‹¢»$7¹£·=è”\9ù`DqŽ ¬¬üÐj+ypíßQ6ÔW+"K«ö1MTÌØ!£®,¸]0Õ5Qôày±çégŽ§™‰ Aj_,Ü|µ%%ælªîÁ(@Ô…ÁTƒ@´ŒÒÿ²Àthsøð£$‰“-"!™ÔCâ§[–Ä÷kl²Ð¢…#)÷ÀÐÖ “&Œùy±Ù{çVn´ÓH]J?ÿ­ƒò¹ 8m×Ûez^ÆÈ/eOzÉL0oàÖMëAd£Ü^8_*EI¥M¦šËåÄVé¼avõ"U54>=ø®èeY$Ž p´ÝE%ÖBq˜ïq!=¡L®U×TL³3ÃÇ F4Fq‰—²Ï…G£¡¤7-sÊB†êŸfS‰ x&Û› +ëüM·>'⇯Cnçmi® Fh&+f644owF(HÐZÉnæϦ^/;úôÈ@áeY7ƒˆAQ1cH«ép©fiýƒ Ì%È&d/Ý3Eh‹ÉdTûóÅdFŒP¼0(Êe~G!œ¦· ›ŸÓ ŽÉÏ‹¶?Îyî¨uì$¯’8-_ã/(-ׂˆk`hv¬6Ïx|”ÇÛ˜Òœî2 L!¨l ÿUô¯>å(ø‚ÆYp`L^±*æЉwo\”Ý«©-ÔaÃWÕ«ÙldÔ/éœgØ¿EVÏf`(ŽuÊz« ¢ŽIJå–ŒAÊ +5É +ì¯63ÚAj~ºÁg¬^¡?åD|bþ¦~Oz¬) +­ÂWg„–þãʶEªµÀp‰“‡ñ õôXÎþ >–+²z#XÒt«ˆÎ²úââì ¸;*”*ymÓf$\¶€B¾Ï+®žƒ«_ؼv‚™zmÙçýénh£8%õ瓳ê%¸(ûTwæH/»ÌÙNuôH-ßH^2çíÏ5› l_{€©·Ü¦³q©‹7› +ÖkBh44e† Ðõ4ŒÃnEʼåÿpŸj+ +ü¶â$Ù-™%Uèÿ>©UÛy©ñÊå†?Êû¡3¡àžùéCL3'ÉùêWxè+ô;5*•ã1‚{*®5 +k ¯ªëð½W +`Y +GÜfZ4ç´½mÍQ}WÄÒìÖiCõÔOÅ"£ã›»žFbæ,É1ÚõU¹§f ù)ÏUF~"V{ñwšï­l¹|æ`ú5åɨL—ÒçÃ3Í€»P +endstream endobj 19 0 obj<> endobj 20 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 21 0 obj<>stream +Ç>½lºX¹8X+ÚcsÖqèØäÃ\?ô~K±vh´‰Ð\Uï@æ­ YV:|p°rÒ #ìPöké‰æl¦`)½+u°a ¸‚YýXù-9²ËÍ5om‹•ƒNð÷cIlM ¬kþæð¯ªÉlÈ‚Hì¾Ê¬§˜ÌG{²Š +°$€K§½ZÕÉÝ ¯EŸÛ ÔøHsF?'høŽêuÞ5Qåu®û¯õÌsÌÕã·ÉCdL˼ ö´ÊÖâ‘ÜV€)yÄœVB⃩FR­EWÅ2÷Ÿ¤H+ä— Fë*/Ä9‘ô?$—çárMQA»P¼éªãÚ/óV¨•¹˜u:Ze¨Áï#ÚsrªY|”w3žÓu¨h Ÿ×GÓVÒ¤væµÞ…/Œt’El‘ö¬mãC;Þ„NÿfWÕªtÝ=øHÅU °ºáçî]4¿ä>ÍKíp!iôÒ7ú÷\¸¤˜X±Y±`,¶ñ+ØÔ‚¦É‡ëÖ°2Œû gÂïòð{@¬Š>¦Sy—\ ‚AŽ›ª ƒ\Ú‹þ^5ªa·tø¤ Á^¸O­¬‚®:úŸ×“T‚ ·g6Ÿõ(5|>¶ }!o¡%þS‰d‰ÓSÅ PZÁ;B½m:VØ€×b¼*jŽ—ÎFa– K°~špVu"P*‘L_qº:ç·P•ZÌèDp‘Û<ŽJ¤MÒlµ¼“Šíñã_‚êÖ6ô½§P«ÌÓÖátV¤Þ0¥¾Ïr¥bÐ×T¹F#ׯSt)üwOÝí˜É`ÉÒidǸßk%‰áQZi€öŽ›ìÈçë‰ýDqßX½ÓiNÅÏhp;ù àáЯºõÝ´ú&aQùO ¼ÀÝ`¤Ôõ-ýBºiíjº¨“0¾^VáUœdgÑ-Åçc™ÆŠ!Ü(1O‡¥oWЉÜ3b+}l.I¹I4E_ᔡ àV:GÃ89‚F²øtIy)GHÅ2P¢®·irkþ[š\?ÿ?øÌm3±kƒ{Dž¢ïj2²‹àFôf1ùíLPè¦ ¦ø'2¸u¥x6æ~‘zÇ’“ì¿L®àüv\KÍÞ-ƒ¾ö@ý3¢A\ƒX¾æ6Õ IúÂ’€Ëàm‘#Ä\, ’|”Ö´!¤õ•MÔ:ãÓÝ„Ç÷ ’¤€osœ$¼³‰Ñrª} 4vg·'EñÎ64i‚Cþj?œîpž›†dÀ!}’*› vëž›r€¯r[óCaÌÎöc™!+ñWZà—N½ãï +âj§ûgJxT,þO©ç‚‹›E·Ü½_KÞØÆï–ägâªPLâñ}ÄØ\íc››[ø‰¡RX}…ü4EU#{!ðÄ;ÉŽì¹ê”·6nÙKÿ@ÁPQoåÿˆy¼Š‹”êÆð@j±9düI6e™øæ`Fá—ÚÁ¡LKü–'°2kÐ>Þ8c)6UÆN@>Ëš¯ÖU[mP¶(ûO!Âß™ŸØurü•ÔÍo|´=ûÓèa¿p¬$Úì¤F5PÅ'½ÏNÃGðöOá6#\ ã‘·‡´›S€OUE÷þG‰0¹kKTþ{&ïàH¢ +K#¡pí|#¥à¾ðŠB‰wŠ}øÀ¦oï¬úé¯&––ŒE¯XŠâ1t|Ì2êq ÓÑ€¡ F!úLÖý†ñóUldFÐSTéròÝRw‚Ýs¤ B¨,Ü k¾1[¹l2‚¹‰S`{1DÑRE%B·— |qb³²axR£_`¨-×Òôã =$ÖÝ‘6˜q<5_%˜ß-Æm—¿i{ä@ë×þ͘T87“Jð=uQ¦ß³u¸"ÚVQ€Ëñ沈Jûθ+ó™ä[:éÃʧ[›ÇÁþ?P0à•FYèœy`ùl/á%ÈYv«¨!¦+CÙX•k&Õ£Gf/uÉ®;ÆSþߪÂJXIœþ&Ù7 u=¡O\òܽ?7v‰v±â¦2â@–fº×KVo¼rï®r$¨•¹·¬-C¯o_ÚAÃâIpÇØì“YÛ‡Xp,’?Ò¢˜¶Ÿ¶ `ÔPÙÖ CL8â½VAB?5Â0A4ð]ouÁ3†ô"ù¼ 5ý\ÙxÚ›Äû–øÜ!¿,Ü(ZÇŸñ)· Ù36† +|dfЫGmú’íÛf–ãüð¯fm!JñË[³¬WôøÞ'3ÏoÀ6‘‹%Ò+þò`á[K²˜™Ôĵñ('3Mv‚¶`onfÀ0ï:ðú½º¿°TÈ~„+ÌÉQ]ÁÖª\žÕKˆ2‡—Ñ6½qÁCÙ"ë?. 昴X:ð4_Qð§ßœzóðüdKËÛå’­*õ;½S Ô.RºV¤y©ÏãµzN„Ëñ8f>àm˜†þ†_gÄÀÄEgˆ|[Çu3£ ÚÐéÖG` Ì6sþÔüÜÆ “N´ý'ÜUÑ…yÐÌd ýM)9#º +°‰ûA÷–šAãlé©Ø¾Õô4Ä”ZOS_É‘Z¶iéíb)M¿ë5r}0ÑLß‘¤5ú¥õ̂‘³¦Üªña‘4=4°ÙÛ?æ—ê*­3ig&iŠD«¨Ã¥ÎB™©ÏÁO(ã½r­œ%"¬; z´ß'8”«ÇÔ;GÔÂæp2«>} ZÉm@“~ÄKÝR—>—å=i—„€Hîâ܃áùWò¹Lì9DsŒ'Jôeœƒæ®¤Ë9™FJÜ;Xälo±áÆp &wcmpÎÊš_‘¿ ’Œ!]Á³m¤gAÊ› &òQÊ¥%mx¬¹üÀU÷5 ‹Š óFŠY°½ò¦5鬞Ëäy_uýoß7ÎìÎgûÞÿ”òÖh7 Ë6>;V¤³r0¢Øy}¡ŸbÎó‰6’ŽMˆ Ãü[äþ«2[.ÀdafýÀmŽ&‘–7‹¹<ÅËÉodÇ$`çKPίøtPçê Ö°@(lI—”BâT1ÛÍ”q€Á–ïØZ{§ðÃF¿Ým)Hz׬ +¬ôk)c€RÀ ôÓcdYp/CÁe ²Œ¤Š@Õ°™jžm¾¾`ãf<µ{û]Óæ€å{ƒKçŸ=MÔ’ è@Àk“£ñ¸K ` ˜%æ»,›á>¾Ìe‰ä#ûŽ‹©‚RXÔX’TlFñµŸé2Õ/Š€õÈtzu¦fËldý 6DÊ]~`tµd -•æêeÖGõ¼¬Zw`J“E›¤6©˜tóÒ/[ç©j™‡ÆÕíø±¥Dл6A–€—n£¯]rסèMD–ð–Zdùj÷^°ô^Oò<cB]~¢­L03Ðè,±až7u¦ë5ƒ¯Á$Ju³ Yû?2©ŠPŽ2ÙLh4Ï?u˜ëˆ%È+QMâÂ;5ì&~3ìéuNUVhÕÙ[7Wܬ{3=: +ob|«3Ê'| '—(Qa–F†ˆ¼±¦¥FMP_FêÀéö[Œ ÕÌØà<€>NŽüf]!}o’›Z#é£ðuºæ›‰X.â%çAÆl‹š†)²óÔÍØiô³õá"¨¡{ +Ò±]¸lÒ†õû¾TË0´ý"ͨ)”Ür¬/Èt`,âßñîزsä¬ à³ƒ ™¢îålËпvÖ×™y û,K×P°HM6Ͳ\ÿD䲩¹Ø á/ŠÎ·ptu ŽSâ±–y¾Ï§ÅÅbãÅ„±hâ3ù*'¹_L´»¦tWƒV‹¦H¼º½áQ*NÕWŠå…& Ú~g‡8ÅÇW+=r%ž Ëó½0#AA¿Ú+6‹“½²iϱåÄ0¾’]3,Hl’ Gƒb|xÔ Ù™wá•äNjÛÕïžÛAã‹“kª¡‚(ìA®Ï¡¦Võӣυß9¹Ìï olzf7—8Év¨4pf¨o‹uGž RE¼_ì¸Vvg…×{='3Õ1kMÒЕ´xÉ*˜ÇKVæãÒÐK³ßC:"ÑLäpœ#…OÛÁ¯ žTTƒ…+Öœê«G>êí³ Å_¿ùÎŒ]ïÙ,‹Îb•Qƒ#¶X¯ Dhx8pØØáÏ2£œvòA3ì±U¬a=ØU,¯S{Õ›ãì¸E û¸È­ÿ— +ÅcäUêD%ŠiC¤»19 ~ ŸÙÁnaöàÂãPË%xÉ +)Ö@_ÛÄÕz:ô‹CüV^¬YßMZ†%çXª±?b+uŠÓ:>c2ÿŸ3sŽk|!f·fŒ +/ŠE•ë'•‡x;UZ1¯Ü}_4Ìßáq+“õ E ‚“ƒ¡›<¸9ÚöP”4»Äëj'~L_Uî‡ßÚ!Gi4Wý+ü¶y: +ð¬&(°[—Y`¨¡Ç6Sš%çWYÍÃS¾˜Û£ßÛ M/up|o(ÞÚO€ä¬¶’{\ù¹uM=€ÿ£‡ø¢3ÌÈNzƾ×ÂÒ»Êöeñt×+>›Ê‚‰ájf’a{w¬>8½T *¨#7Å>mjÐO¤úr˜î±aŽrñ½¥öbˆ‹C÷i÷«v,÷¯g/T‰²R3™£6¥‡‰âh¼|d(VCÝÔÙ÷·®ŽZ)° +endstream endobj 22 0 obj<> endobj 23 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 24 0 obj<>stream +sD)Õ›4¶•¢¼uˈ2OÿÝB:² Q•§Âþ¡Ð=ˆOP_lnŒyâi°eâûÎ9•²E$îæ,E.úΧ»wÀJD~oB,˜i¤Y‚Jîwö®ky—¶E(IᔎfM:×\¢¯~xë>ÉXÁÞ<8|¡ÅÈÞ§>ÞAýú±´¤_Hh\óÃZXžÕl™aœŒ7µ·¾ülI¶saB\XÝøÿÆUÀÛ 6N†CM ÃAÅ·\îë½ åž}÷^ïm÷ ‰àÿ-¦¢i +þ¦ÉfDZb8Œ.mÒ´ÆÇkI“Îæw¥KIÅ3ç{:égõ½ +¹oårj”×ÌáCý¯¿:M“$'}ÄŸ^ ÄsÈޫ·-0~¡X\¨gOÉh²Ïï°[N’1Ÿ°·½ŒX6“›¬Õ!¨‰©í$p»ÃÏp¥LÖ<a+:°©1q`2Ðtt¦CM`lîúT£­¥Áü‹3ÀavjÐ  äþzùUÖH5¯ÌæÆó´Lžºþ#Ì?$ÎK ¨O*C?×BC¶ ¬ürgQ—iWe¢¦ó•q7›óÆÃèS"¹9xZ;,'sYÍÓ#‚¦x„y¥rdŸ2›¾Ýéõjad¯‰×̸¹åX\¼<Í;¡tý-\‹rýy(xw¡‡5ë‰ÚŸd†֨ǩ‡¦³7x¸ä‰×/òï*âÊŠ<œ!«÷éÙÿ—_®º[ÖHŽkÎÕØI›SJLð÷tŠ{lüÄF|›ßÏò4Â|¯øí˜ jô®-惢‡;ZmØÚlÊŽ_e6œ”JÐø”;c ´Äeçf.@K4Aa;[å‚„Á;‰QœOð”mFUœÿ( –a";hFÇeE¤² †¨tO-#€»µ7Ê"é6UôÎ’í"™êCãb€ #Ñ$F³ä¡›’Jë:Ëb8©ÕGœjðž.kKÆ“j¹_›[WÙÇ[š±EÚª òÉœ@šÙæÍ¢Ã7(.eŽw¹‹K½K‰;.x¦v¥°ŠWi$=½v¤unAoK"’7¾fVðƒ´Ã2§îünt4ݘñõÔ>žAÄ7ÿc‘ÒuücSÌ=“0‡zž¼#ÛßY²8e‰6fÒ¨¡¾šøéñ;è|Ë­Y¦|oĵí’ê(û+ϲß< ™üñB?cFi¼†§ýغƒ¸\èÜ×5AUÆ]|{Ô„¿Ÿàx/¿Y¶&:ghø49jgCÃ_°Xª¿ðlaÒpàN-Ê¢c/ä<(º–À !× ½•y³DoJUdÞ—®»®Þ誽<±cõšŽË€€H ñƒë£¬xÞw.(§'t…’†É9ã™f¦ëŸµp&ËÏJy«¥”Ûîìc¦ÆeÒÊ#èpéì4“äú“ñm‚;ÕÕŸñzËöê+‡Yt¨Yý=+ˆVo«üŽèW?fÏ*õ±@9ïÅ"ݦ+ÕY¨I’烣ZÙ!T«`„MûÞ!¦V0x€–dFlÉؾÔ` ·MeùÂCÂ)4›ŸDŠë‹«3ú¸`F51®ó–Ÿ O×+'ÓÁÐØ…ìF…uú¾XuB$¡«ÁÞÔg3%¦ÕŸ'ÿS8„ïc¥Ì¦2“NXîœpuC!9·ML€cKÈË_}ºCö2%䶹2¤nÓ‘I]Ñž¥Á,…RGS,¨^Ÿn½r—HEpí>»åîvc™ªŠðŸN‘ý DÑK¡ltbG(þHÁ‡1&Z«ßÓi娂Š½ã ¨aXFÈ"NÔÁ£9íÖû—­Gï®ð‘Ýû´j]IíÏÅ#<`+ßpáeßÄ}K2Û¹y¤ÊôOÔw6þU^Á¹Ì8”lÓ|ç8h‚¼]tˆüèÛUùŒ'¡Rƒl±$'ðyTùš²ÇTØ BûÎ'òÀƒ7ƒYö‡”Ö<çžÎÒƒf y<8¨Å¸ã—•tnrÍBàñ=ÿ%í÷sà¨ùguáâCïª4ƒúÏoËZÑY¿—õ½0Ë[B,"&€Àd"q#I­»2íªJÈ#À%à„ÃÕö1“;“† Ù{Ûæ ͳ\–âxˆµD;ˆŠqXßyPcC3> ÄÇ3Ü&ì×èilÉ>¶¾+uÚVâ&.6å5Ì› ´ÑÝ1Gé `T5÷¨‹¿f¢WÜü0HŸ@÷|4C/*Ö”Gd(;¶–:ça6ztIášG¸Ê,Z® wÉ …Pkºõß3Ì9‰FÌÛP$ÝA9åîèûn¾Ѿf«VNð +@¼Næ"s2ŠöB U¡ ¯ÓÞ¶ê¾\>õ“M[ײ˜Ð6¨;d>Ê$Z-f¾5ž¥÷k°÷ ÄÍßFB ›‰×ÇP’¡ù8zYÇ1³àúÌZð §IàóÖ8OTš e[!“‘Q Ña5iS·ièùÎÕÇð‘å÷Šéîá¨Ó_B\(f»¶)^PÓ”sV¬oìô_¡»Í—¨Q•œQÃÿ•{S¶«4j5¥Œ¡>C Ž·Êë ·7›Qy¼×wPæX2‡²Ûþå„÷H¡tª†šhNeöi?(ÓÅå'Aq„Vv€ +9醨kPèA#Ék ¶³ZA Zu  òi$αÆÃA³×¸×Ø„¹>#Ã=ëÛ×¹­àò7˜ºŒÝ¾Ä€­O8ö,; $‚Ü¿ïµÓ¹æᱡ ŸSŠÛ»z<¦©ãDK- Óä=âƒNídôµXmvG²Äþ¤Œ]O’ƒÒr~ l ¯TÆ,y3k”6Ò¹sªL˜¯Üðe(Ã@ë‚¥u]Øÿe‰ja^Ÿä˜üæa/¶zlœíßÿïT8”¹C@| Mq°–9Mt'mŽoáÆ©š¨h)Ò º{ÛÃá·‹èšÑlæ¤ŽÏ 5´¤e!ö!¡@ßñ„¶C;ËínV-ßAØÂ\IÏKLA€m±Ü%^ü ÚÈnÜå$bÌo|HŒjî}d_³8ÞÜÉ?·§2óšsÛ»Ä0Ú¶ê_º4¦YîÅ©‰IbˆmZé‚ mxhgzæ*¢KâÕýWÆKÕ¶G'¥Y€žÔ‘ˆNMµN8#ë7h›ƒ]Þk>ñLµ^¿L?…^lãC4¸-ŒÓmAˆæ´ Ö¹ó• uÓ*—HŒËáxðBr&j;=Ю3v‚ظEln¡Ö*2Qo>u’53¹8æå2f¼Ë¦´âRÄå\ É¥‹~€ñ ¶ eõp+>âÑ\j×ð»Iš,KšœçÔ¿©*Ø ¾¸>ü]wÏåsÜö/æUåiÁÿ0\6nÈð¶F¿6C´qêÃTt‡\m-'l¹…סøwMª€Im‘5­E.ÚÀ¡á»¤ %×\ÈÌÿ–Øו¬üÅά~¿‚ rHX?è½dXý ]å6óØ0dƒí\àcÊ5Û¿šgHÞý:¿¼ fçî5¸·c#Lɬ-NŽ·¦ä[UΤð(}˜N3Jꑇ›.„L:\mçh¿nRŸ `+l-Ï{0ÝÞ&äèôXäúíh˜Ñæ2™T@ätb ú4=£²*ðá~‡{(IM÷ï5†We²¼ÂÅU tš6‹ŒÒ«5zBÎ5˜ÖÈß}ºà¢‹ügBò¨û^[¶Á°RHƒàë³ +%Ó_?XN¨éŸEŸŠ:µRÎ÷áh³Ö^Ž[ + ½~öÅÕä/)Qùn~Æ\f’bÌ¡Ã}èÇ·L”“@O šÎr3T ÐTðËü‰—ë.ý»“#‘²éLí=´mÀ%êT&}_~8[)8×ôž+É”W5%»01n~1Z{Óý ï.C䃾?aG/`ŒK:á¡Cj@ò¦¹:õÖS‹WXù3΄þÁÝ:਽&ñŽµ]Êõ»àÊxYôNµÄ!†î'zØö‘ã £¸{󳀜jù Š{ýZfÌ®¶8ôï3‚Bø?|äýd§9ATÔ™ +4Dj÷X¯©"@ç ×FBz…E]Nú-°œó©ˆ +gœtÞÎÖIèæu²•êÈŸ«Û-ô@_°WÕfõ¥%s¼Oÿ kºJêÁMÚÑ>ößp +endstream endobj 25 0 obj<> endobj 26 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 27 0 obj<>stream +š·$)jñ6´0žüÚܧ` YöBå$›D¸uHç—ëÌ?Wœ:`óœ/ Z±Dùæ=OÕã¬Jn•õãJF'ž_¸ì›ŸJ>F÷ Œ¿¤gÜqe‡d$ ­F« N=»Á1Y†@g§]Ùà5– ,Ö´;¶2Íì=Bl_næI=ÖÁiYô ˆ²²u&Щ‚»ëß^Aðá}ñpÿz™º[½ë…£ÔeQm=r6 €¸-?˱(ãÓëòÀdÒþ>åäš•DÎtÁ’çoÆ0$MÓÅ/½ ,Óf¿øNüΪtµU@Ê·Âíô»?iÒí ÿîèÌœ„aªGÓOĉ¨KwK#ñ L }e»Wåá5lOû#¢&nÊ}–_æñ©Ð½¯‹)F”€$ÍÐbf§È‘ÜYùŒ$¬¡Š~·¿y²‹ìy9»bЈ‹3éL(nXÒŒ3Þ\óuGLû;‚ˆLúDMÖUÏüq¥´CH )q©OƒöÍúû“{Ò”NXhÐtÿŸƒÄ!6·öø±ï‰º‚#†M¤ƒ!¢9™`µ‘oZFp8þ&«ÇÓì#Žï±]ª|˜8T«»ÄÕ ÆþÞ2rŒössr&I WÊŽü®vùUˆ“Þ~>ûÇñgW¦\iÜ‚ÒhU•IxøEüÛTèüÂœÉóßPÆ@â‰Ý]ZoGT"Éî$n˜~|æQÌïÌWˆBù:KB…õÀÜoøÎ*¾^ÙT·´TÃ? +UÞ9ÊÈF¸<Õ°€»Ç\Ò‹¤Þ£Ó^éüôß­šæE×YŠkjy†v½^°‰ú¼ „pá=kìjÍøå¨0¨Ã cËœ’­ ÒÐ[>> +Aˆ ’þ ßÔí~³Ýuþ CMRFÿOs:÷­k‰DG×î¼(@NGŸ ùì –68 Àào©)•GíÇÃr¹q"~yŠÛ‰í–sçæ\êL”ÙØöao”¶ßÜà­„\·”˜€‚C*,&šÝÅu¿š¤9.x±Úãa?FFba.´ql¡’Ò´‹¹B°“ç¿ñ\xÌÓ?™“%þŒXÐx{Å7–±ƒfbB®å¬²?]Ê|Á˜Èœ¶4ãƒu¥¶¬Äå/ª£…Ž£ý|l@|+Pú(M3awyYÄ8_[áXÔp§fà]ŠîÛ1Å>8¨Vph/@˜*ÿ&ÆQÛãÞÅðm ÜF¯ZˆžíˆO³æo¶ð³dz&¡^íÙ›³-ºìråÞóJí² ›¿ÙF÷[©hßè”40æɬBàw@}%‘æÙ=†@æ²"íÑõ+{|†F@tùýf3†~%ýv½{—ÝYÙA‰ßg—<0tt!!ÛroñPå|§4Aaa¨%PÎj½7O¢WWªi%R‚VƒþI0ÐYg»ÑуŠ¯8ƒ +¾Ý|©dµ¥§£æ NŒû~ÂŒ@!B[8iâ{ASv*G±.¾¾ö@¤ „|=\ÍR_ì™®òDej:á :b÷{ +R² ù/u?míàœ"ßZ±[ècg'Ì%´=욧[úe5kp>+ÜEã½'¹QÏöS®TÁë@Åu"35~ß`èÞ±/½âø€åУ¨[YT­ryžÎ¤[ÒsO‹ÿüâŸ\Õ®\:Hˆ£Ld‘¸0ï’vÀ%Ø$ó˜½ Î‘)å‹ó~…ãàu±ŸLš1’2¼ˆQÉp²óÝ£– S:Äeò8 +P¸O^Ð ƒ ýáG ]í,ªŸÛv5^¬~hU¤^êp +ðâ ÈiÓk‰óÙ HlšÎ—䊾 R˜ŸÑæ èfjD÷(Õ¿t˜ÂMmµ>óœûúfÙÕy@ˆ<Óª&°¤^íòV³dˆKAÞ÷`ø,ovvBà¡AmXØ +»@“¯zæòK79Èäh›%µÝèhLÂÖ9œG·sÄÁc‹Ûv#[¶ô £ÁrQ½E»b5ã#¶"‡ÛR%³¸šÄ]úð¦ÅÊîÂÿ‰¼iò‘–æ¹… •SJ) +…2Ò#-¿.*½ ÙE «*¥§Xò\u=öæ~—EuãÊ•’#y/Uo—åÎé‚W: ¬ÀÙ!»[’}¡íÐ? ¬àBûÿ÷Å$Å•‹Á¾e7 +Û̲KA¥/듇æeDÙ¤oï ¹!Öl%4œì8`Æç+šª%Ñ@¼‚rÁ.hGÚ[µ âœôløiç b R +ËŽ›²M +FEznÆ þßZ°%YRâ•-ò$±ÈÛ§ S‚r«³XÓòô˜Í$åÁ‡^{÷Aí0Š¾÷«¥f\óy\V€23Ižº•²é`ùþ±9Ì­àQ.ò:ÅØ1èÞ‘ÇÖ­€`¢°º¤d-<ä=’]¾k,GçÌØê%ȶäU³¶$œ¥X;¯r`0SbÎ((ˆîŠ<Ô«U¦1½¦ñ3£ÉĽ\".>g²ZSG»sk½¹Ešœ–y`:ª{÷³¾¹îµqF®ŸbÍ>யº˜ðub¡7[[´ŠðT`¦ÆS®ói~_D‚\Ì=UüI’D%¦m|V«+‰y"ôĤBå´ÙÁ%WN¬w‘Ê¥#-²ÜÔª­,&CŸØ]¢ÊcÖyˆòˆ€wj´Î%Õ® ³ý%n–þöœß;õ½™,Çr4/5‡5r9‡oBývY>s¶ñˆ<áªe-í—ö­ëÔ¯¶¤yKÁñÙ/˜.Íç`³]XÉ۰(I¤.É^dvÖ¿‚ùF¥wÑYiýƒ&8ÄØÃÜ@sMÙh³ +s-š¶l R¼<Xm L.F˜á  Ä!´ßa×1/ß½Wq:ƒä¥Aɧ ¥õ€‚Ï2Çíàû†n¢Ï´–œN•7×”Íi1‚âöÑÈ­ßêI8[Çùm;^HÂf†è2/M†G> X5&‘ß×ý†ÑSrRãë…»©Pï*:ý`2 •tðëŠGZ|oÍxJ +ÒYœ=a-Ï‘§¥`e#$ ßxÈç²þÅ~û•¢wäýu÷ÕAŸ +öéiXê]ý7x㾇"UuÈX˜&&5ƒÃ4U +K Zc‘uõ}¢DÙ½[[¯ ‰Y¿ýÎí¢Ò|£h´‚Qé,R ÇÊiE5û¡Ö-9ôl\\·!Œ¦u†4žfî/&¢ÛË*hqº*­çCÅò—0áR®!ÃÏY ‹º®[l‡õZ+§Œ{Öž:Ðkæý Ÿi®mãcévŒFèþÂõqœë4A[iKÄ‚Å…9P.QZ÷XÆĆ#-žFR¿.£4Ba0Ǿ ™ÌŸ,`•TÕU%”“žL•UóÄw}WïšdÿÀœõÜÐ1Eäí.JðŽ¶SÅRkÈR_Æ$á§õP¿»í£¼VœWË™ù#š‹wûR KœÇ¾S˜µfóËÁ«¯»HT1t=¤+¼à\^§Jãæ6t\]jž>¤Ôþy}žüοl3_½;½_Þ7Ïݘe–6çêßwªÿma¬³ a[î"†ôòžâlÊèJÒö˜‘ßâ+ac©)ט¨òøk‡(Sˆ§2¶}úT=ŠåŠl3#ñ Œâ¾´}*± Ý“Ä ìMœq˜¤)Ýënè£ÉÈ%PÔÜÄÐ2ÿzª­ÖÞGïþ×° +šÏ·73š +%ãc@£Ó¡FW©È3 +endstream endobj 28 0 obj<> endobj 29 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 30 0 obj<>stream +¦A _I·)4ØÌ}ŽP€h#_ùÎfS¼ªü=y#Ûyv Jäø}… £±–yBúâÅm‹“oßË0=¾áNcüª¸HDp_¤‰Þ±:=^ ’ûÑlsâ·Ø†Ú†HXà)‹±&%k¨£I9‰#ć%À¶Î3.&ç½?Qü)pÝõ8Iu;D.vhi&†r FgÉ0« -Ž +×b9ʽZã—1\Àv;ÈÍØzq÷豌÷a— ŸÓ/$œ8RÌi† ãÎiæ1™åøCMðˆg$Ð{Ëœóë² §Å†7Kw ;ò„ú†ØÍ2@QbÀ-vÈÜ!])>ãæ^Á"©š4Œºëä`ôø¨ÄH'yÚ±90RÑͩαp»ðÂl¿ñB8 @¡—*uNÓ®‘Ÿ‡1Ø;°_#X¦ÉW4»<7Œò€„J×Dk·…Ó³a†¦ºÔl܈ÛýuÉFöVÞí´Ìƒè~Ðì©AƒqqÖë*p• L=o.H`^²8A­Y™xÙ°SÏÄ‹ªAƒ-Ÿm¼HÊÖîW>”‰Šh}š}BL_/g] ²{…`ãòÄÍ‚2Wh­ñ¤–ÓŽ%@9[ú$b<$¢e‡ GínýuŒíæœé3=?ÅŤ©Yõ]–c«BñÆuU‹Äˆ ìÄZ±$¢íŸî´¬èxR¼ÇÙ+âXÇËé¾o¬9%ì'ÏKGžAGIø{;w_à²ÑOéýÄËp'$éµëãì\D3IJdÔ&Zæ„<@ÿY5’4éä6€E’Š‚¾ÿs7|Úâ¯ìÒO{Ù¥ZÆ Ó§ŸéE5ï*\$R^hðË/–1Göª¶}å1øl‰(Óó½Ú >ú<è*ŽŒÒ;‡c¢–ã¼&/m«ESÅÐd¯ß‹Ó·vh¯^ÞáIÇ£ÊuI¹¶]-Ho§ãGµc 0Yì6z§Ÿ×=7 T¢ ,£Oe°ÿ”Ïä§*÷ÀªÑ ´¯m÷¼SEr½€ +ºëN–ÖMs€-ÖJ– ã.¼ +¯Ïë0ǾHáËaôHUÈýãûz8øÜ9 9 ^Tˆ\6ÞèÑ +MªXö,>ªâ+<7Î2 +.qÛ´ÞÌwÍ@sÚ4€ö5K\:¾µy@çÚRSµÁUe<úk($ÍâPÒ¹.„Ï_j&©ªêx¾s¯ð®Ügo\K3̹³4±Î +ÁLÂÔ•Îëî‹â¼°"¬™˜ÍÿxÀ¡ö½1Äíù¸^À—¢å䈳Î!ÈÊVŒÆ +Ë—¾]m¦  w/4aÞ<ŒªjN´Š÷­²¸SEñS‚$á/D¹BUxòxaÈ>•OFHÀÕy¦eŠðì²R–´ÈÈo»êßó]O±QÑÐ|ûh…Fy©i’^fgIÙZý-wß™çõszZ +P¤Ö€žœ¿: Øé‰X⦞æö¶eq ùô2 ­ß*zl³L¦u¬Fuøâ{ûœ­ûª °p£å•(¨¬Q·ßÇñóàtèg ù3ˆü£Eþ&€ÛeW±í’¼¡ÿüUîÙþ`Žui^øšïpou³kpÅö[BvËOs£{ºÝ!°÷È‚÷¯?ÆYøWÈ˿ÿjú¹—1`›ôóŠ¾F~¤C÷ß@eád(Ì¿ f~PoŽN䎋$H£ÂSĽœ'fîÐTo#{bÒ\ 7%Ä[Ê”âºA[Å–#cW“_觹u·Oðîtq/æÂDÚ³ØìÙm"d 7OŸ1~ÿgÚg™ìzÓœÏ_·ªV…OŒ!™v¡x]æœ?x"ì½ÖÑûÛx&³ e»?v¢wŽžÞ\¾ë¼›‡,jñ©¤©Ä:’õCrý0“¸ÞEÕ9DçT4†#ß»¥ Ú¢pÞå&‹“¸»9@íó¾‡-çšüB.2«ë…Ü­›vÖ¢<<‘nP +£¢%˜ ¯aL‘Q„ƒ½ÎMÄ+¦ûÇí)Îð ð JûöÞ—>X>˧èE“ƒXþì{Î Å–ðJåÌÛw+’^²Æž%„ ×­†ãPyxünÔ ¶;Ý%†±ž¸õNm3£Œ%)SIŸŽxÒ~üN»j)õ ð£ +\®ü·Y` +ºX /$"zÀˆó?”¢†oþ¼swNóàØç§9 A¹æ¨dÙ #¶Q‚îÑš5mr²jÛ!k1}f¤-Ëz{ݤ¡þæ¨7ÒÀp~Nkƒ<Úsºá–¢?Äá©aþ Ó]/ÐQÕžK¾[iŠ0ûå »“sÍûà:üÿt°¹æâÈmRŸ›z±†ã*ôl¥Ï:z㌹S!Å„ù$G¶ãC§LÛ­ ÉBЮÉÒ»ËÜ%€JðOGuëaµç3ÏößÑ릂KrÍX@Ïjœ]c$ý©9^½ Àágr¿@aK¨[ÕŽ6’m$Ì‹A˜åð®Øç†Ýó:mx˜¨Ù‡9Çk.ËÖê¸âÄVS +«Ö:fL~:ö@I0:Fÿúô­Ôr¸pÓ=ÒŽŒT}u£çió@ õ\fò2ûo¹òˆ1Ÿø¹–Ü:«+¡ùi½¾e%N°0ÚÀ5$ºËÚYà'Ö—9EV)––{©²ò»¾,˜…7RrÏTØÝ¡1m3ý¿ï J ?fŠÆ‘ÕžCÙIýÏÙ­;sÞ#+<íιyùW­rK;w™Ì‚´ªæ:³ü‹"ÇúŽÊBˆB&rŠ"Oÿ‹(˜ÆK´IPÐ×xÂ|IeNˆ˜ãyˆ™‰m·8;ÊüÒœ•›ôšEiÑXƶbÄ»F¨…œôá¸×aÀ&ßÏÌ8ž?ØÒ`ÑŒQ£ ^rx¢=¾Æž¸{Ügq ^Nô`¢žÛrÍ®;dvLu Ñ“¿Ú ÕŽ:€ÉØ-‹ÍÈíGLØœeøÊ”’L%6£»Hu5¸^§ÂjæÕkŠ2” Bö–~ŠèáÜŒYþÔTôƒ/Ç¢Ç) ìAåÓŽW‰ªhht¦½7æ‰ý:Ç=¥K@ ZkÆF äŸ6ú/ðœ„pFÔu˜Î!Ö’QÝ\ª—êöåè—IsË)uDÚÄcŘ–S{«ÈsÙ#åFÑ8”·ì·.&ê6Š8öí‹dŽ^è ^¢ùL^0’GªÇÍ>`Ì=ú\ëXN“S©tÕË®¸Ÿ- Õ–7áO~°¢-ËØJþMµÐµù¼žÍZÝÁj¥˜Ûåûä-xL®Ö™†æ÷– SZ`j?~`™g—-‰Ü=h¥K ¹ie}PJÒ>_Ê5à8`bV˜ÅsEzJ !û}òò¾eÚ ƒ§[ÌRmnéô5…4UÜk\.;¢ŠJ²UÑS +aضå‘UÕÉÄo•š˜â~´ö>mtÞ=*H‰ÄÈN‰Yv°0!Ѭe14”¹½@yI|›qøÊÈH¦‰Çô‡" +endstream endobj 31 0 obj<> endobj 32 0 obj<>>> endobj 33 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 34 0 obj<>stream +èó¤nüƲ;{ û[·Yÿ'·øŸŒáù§*†´ðé©¿GÿÐql-%¸Øî Ö!V¤` Âþ:.m¶æ¤îèú Œk—¢ÎkŠ—Úc_SŽDF°z<·ÏÆœñ ï }ûºeÔ „ÁWP™ ¼ œJ + Ò‰Æ#}‘•ò¡~þŒ¡Ä•âÊ:M2¦MÄÿ`¥Ágú&sQ¯*NNo¥¤ca K—´Ì‰u•4öÛ(D2Õ6¹—¶TæYÅ~ÅþJÑ.›ïé@éHIc‚ ñ˜VçëvM¾˜¢âˆgHã"ì–*Çî8ɦrÆT¿ M…‰x¢º&¯“¢B/–Û®B«šò2vvÉ¡sŠ‹%ƒ~e½#NËBY𯯙¸•qëÏužâ$¼éûrœ¹°ü¸ú2ûTÿF>µ‚eÐè¾ÄÒ?é>y6Åsü—@çí»'ì\»œñ• G)7¤²Ý¤"z¼H0T2íÇÕNBÏÔ7æC«V ñ€TÕÛòã;d&ú–H§ZÕ&5ÁÙP¢µrµ®×À>ýc_5—Ћëº3ý‹6ÿ˜n>îÄU³–¯ôü½"fFY€¾3†)˜W§äãÓö0:¡€âwdaÄ!ÚÓßYŒdlõ'3>ÄFÜn)HyÙFÒÎTÆíµÅ†É°ê´WXÜM¤ˆxðÿõ8Ák’ê§ãу±€8R ÌäBƒÙx79`‘‹Îø… AܬdßmaÄÓô˜&dW”.I½ÞåéXaÝEö0”Ð Ó[TÂ{dܺÙáÁî–ìèP8;}t“1 DÇ*ö·Ïâ=º’Kį̂3Û;Œ¥ÿQbt¡Ü {OÒI@Ïó‘ûv>ñ¨ûd>Á ó¯ÿÝó[pv]§ˆ l,8ÿŒ›ûÖgÆw# ½)€W’˜1oT@…z~p»º¥Õ»K$u mPÝl&F «8e3èkŠÒl²ÄþÎ;€#bÑÉ–T X +Òf^ÁAá$>8@EÊ1oJB¶eˆH¢ÜLAU™×£n/)¶>ιx»Ä—¸ˆcŠY7gæK‰t½—Ãi‡K[D~ª›W‡C ä6=Å˹ßw~ößëUO½WðÎœº× ö²ž_ôøï%zìÙ½«˜k—²T´: ÞÙ©ØBÑW~£\˨K¸=ýL!«l¨åe,aÉÚúö¦2£z; çÀгE•D™úÓucr’ÓPa;ÇëöíÍíºDî×¥ƒ¡®ˆD.5MËOJ(xAº„Hc›ŽßÐÒ·ägþÁó­R{87õ¬«må?Æ9NÒý¸ôWŸ‰RF—ètÝ“Þ ¿Ô{ƒ„ +wfð"³Í³…UëD;¹-ñK ñaL‹™ÍÕ±,_J¿-œ;¦ SU¤¿R6~‰U,¸Ä @Ò­DÚ39g¥˜H™Ù;æí¨è¬Íð¶JÕåÊRY·ýzõÇÒþÔv ˆNïAÔO¿Å@-ˇ—þÐ ðéüKEVPû–Á,áÙÑF¾»ŸfCî·8ó¿´wų‡:›©b +<ä®*—!³ã0œ&âÎeþ,ì‡Ø"wäº×½\ËB” í@`q]Ú ‘ÅL¹7C®`cì[ntW´þùV—9†ç#¤AÅ“ÚË;Y/o}Ä+@`R×,¼Æ5¦¾ÐSÆÔ ŒW*3Zé>7çî %/ñu> endobj 36 0 obj<>>> endobj 37 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 38 0 obj<>stream +=Œz»ä‰Ô #_F!ÃÅÞ1½ wz•{]Jl+¤Iv³*ÑP)€És ,úÐîLF0«#C©´§ÎP|ò›Ý¶è>ÇMõ "/ÄFÝÞ‹=쨬C‘Ypç|wåôª~ƒgËúcw¡&Å(¦½ìÎøœzmF±=:Â0žf¡dztÏÏ©Vî#ì™Ђðl”JS‹d.:eZÞD’@xL—ÆÐ6|K¤}=!wž¦ÌôŒW])h ]\*¹ÉÊmt¥¾kì‚Pµ? ªSäÜŠŽjD/ŠIçx´»´¤*gµÊ3øÎ~À/O˜6 çwjA5¢¯]@ª©“j1› Ìý`ûO÷¨‡õáh”àìó¬Ìü-S_nSkRšÿ¬ê½-[¹ˆ¹*MÒ©c)¦”òã«G ÏÂýºïápÙLw=(5ËÒü#=:¸Þ– Λz‡ÒˆÊ/¦,¸pñí–ÞiLì ¥“¬ÖZ` ìhŲGzó +Y«¢‚÷g^³»t6§’æK_ÅMÌ‘;DŒv•z† +T‰; †¦J1ê(ã¤LRGéÆE0n¦ªtµ¾Èè`¸Œ•©aˉ¤äøÐÇ»Å.Ö`b3HuÄ_…$¿øk›,0{",¥\•j¥µq‰Z:Þä-nkn‡b5\V›ª²8Ñ’©#ùÏŠDF¨ë´eG\ öÓŸÁí¬¼ãkŸñe°h([áü Ö:ß<dåùBnÎ!BÇxĨ–Àˆ´5+°% Íü¹æ‡E>ˆ`¢©¡‘¾9®¿›ÁÙ_»Ëû‰l Ç/Lû²>}‰M8¢j &þn±,>”±VÏxT…Ô¢e)ýú©Ì]êtC{5Ɔ1L'ùSàpdû±÷§ÆÀɯlÄ£}èÛÚ“3á{ïL–•Že¢_ëK„Ž_ÖìÖ$ Z‘ùÚÀ†NÐõÎ_´à¶ýåpA­%'ErýC:‰\‰ªÎÒˆ°ƒ‹‹fª)ù;ýÔf7ìÀ¼¸ÒÔŽ¸Ù­@(þKCɼUa[rÕ|/nì~²šh‡ªÌäë’[¨ +¡Ï!œ3i¾_;×O9Xðì@H¢MD´½ƒÚ&‡;Ÿm²:ŸmJÝaùÍ5÷a±ƒ8›ò¦†=3¾\/‘á2"Î$îWqGäRÕOµ{ä| ® Èú<úuSlÈ%”?ƒœæX1/Êófî6¢“²·Fh|ÃYÑDFú¹êñ Ð TÛbW !ˆ¤:Ø{¬)j¤KëE„†CMÅzì|.gu;-Ë4Fœ„Ô—4”Yú‰Z‚ñá‰SÎDí­‡ ήÎÎv[º:}û Î1Û|‹S‰¼ûv4®$mŸÏŠáȹNm+èJ#ÚäDU8²|ŠæDK°px}ÏA'y~tw4+à0š¯ê¤g¼“fËcù¢m>²Î=¤âlÞôë“^£ +n¡ÎYöœ£°äT¶Îš_çëý +ß:ç7IÒŠÁ—Ec4ú-º*襭/Ÿz2# ÞoéÌ·y;ÎYÓ „·=<¯z@) +ÝEÅûí4Fìk3§ ¼ý§w.þÌöR}q:C9¦JØoRŸÌ•NQ¥eˆò϶]l æÆ€\+†4^m;BŒ Œ>\æ(.°%A?Ÿi\Cž’ÚÆ–û +GF¼i>˜‚3$[½O%˜è8! C܈ºy1{¨²×À_‹žQ‰”µH7_£ÍVhÁM5¥¥dÆ­ä–´VÎËæÕ(§Î KOmCôðZ"CŸ© Õ l<äàm ‘éZ:B;QûŠ³7Ûˆ¿‚­ªè)Â{»¶ò—Jv4= ÌPoEüï[|JØ–¾9Œ<¸¾½Â‹Ô…K2ŒVÙf­çqi¬¢:ТP¯•)ðé˘1–&¨`7O™IüRH5 Æ÷ÊïVt Ûý\¹«_XÑ9ëÑíœØƒ«.ø*uùüï äú{KÙqæ‚ØZ1æÝ;~1›BåÒ5ˆÄ¿ 4ÜœÓòÍ€D¦;-€k¥7ÂéWÆ|uN[þžØÉí’Ò8—cë̘6ð•ÿÕ9ÅáT>¦ ä¯Hõî›~XŠ?Ú?$ &÷q)iŒùë×€ÊxC‡CÖ$l=}ˆ–à 2W‹þ81" +6kÌSv÷ÉÉ+sˆú€Ý#Öo½Fµd¾î%²ýL¨ +A€z‘î¦[£[äλŸ*L¬Ð›‰'g§¾ø-ËtDý¦ìÅ:ÀrÙQYS*@áGÜpWÕüV_‡#óïšT5&3þhZ IâEyßÏ•ËòÀ”Ð@R|G¶ëƒksf#ˆ¦À`é¡)ÈuüOŒ8Ý ]eÓ”Ttë÷?Jú¹£ ÔË­D6¢ (Õ‘( +,§ÀP£3ÿRœ:Ü÷{{¯+‡ õ<% “%:ÇLcÄÛä“ß“jAl†›^ÌÂs\ó F]Jm"W÷ŽHÌDÒUõ™’®3¯¬w™#¾0ì·'¤5áÌ@ìr{¼ðê‡D‰l‡I¤š BÝXµ¹Î¬†nÊ}wªÆò˜H¸b¢Žù€+Ò·+PIˆ¬©Æ‰¨û Îýü›÷(´÷ä +Ì$¿Af'ñ%`gÏ×MH@:è«¥EˆP˜UÑù_SöÔðÝ8mž\‹š` òF RUéMn‡uýźú(" ~Ô‘¨häOÎÔø¢~´R`”Š_¾°Ì.÷¥iB—‰¡(ÙöHÛ(–ŠÑ]Ù¬j3³nfò.2ÙÎÑ/ ’o‚àD^‡ª Ižh€XPÛküë’Ï~¸0Úá¥á"yC¡›¡„ÉH +nšæʘ×ÐBK+¤•!ÑF]A~^Ä\Y‚%JquO´Zd½SâYøŸIãÕ6ƒ}S˜gûûÃÚr,ÿ×Ù.Z„–¹mÐétNÙÊp‰¯öWZ?–S[4n®¾ƒ‹3,9?Ô o¥¦¼€ó!îÛA&xMá@u;wœÛ`Ñÿ-áõù†#ÜáT°÷9f&v•\*W½ÌiHÌ8‡Ÿç|¶$~å{îÃ3_„Ó  oü>öÝxJۂд¸¾°¥í¶`Üð&M$¬ÿt2Óƒ;7ûN½¥Á„–¢~>µÛshFàâ˪0M,[Ì8[¡:­ #ªE'FÅEµÁÙZ5«2ˆ&åÆâ*Ò:~C÷GÁ–@'ìú¯ + Xª{®‹¥rl›óœ|P(à¦b©UÜñ;%ò +ïö?‡‹ +»z:×ÎogoF1?Öñ>y9 ¯ª&Ñ8î¨K9Ç„ýÁ§» 5ͬ¬™û‡– ¬×Ïû úÇEÌg{—6«NUGö*Ú·Ž”K) ð@B¿ö80è?5‰$ëÝ?ä‰ÓŸÄ! (9ïp價Ï8h¨QSTHÎ ýT3ó—‹·ˆOX˜o©[¼ ºv íV¿´¶3YÐøxðû@d6ÆõÐ0à?EbNGô7`‰ñ´l¸âÆNŠ>±h|º¡ä¥ êý®Vˆ'¨õ_Üw´T{yÔÅQµxÌ w_oœ3äØŒ×Á«CwœNGè×pÆÉô9 í¿sR}Ëq6‘)ŸDŠçÌW%YßM@tXoøõ—³XÕðäë®Líš›¨*èžåB Ài®1¸þ_7 ³‚ùÍÔ­ñ1ÑúŽ§EÝ„6%ºë–Ó'ìs ÏÂQ˜Ft°£³Œq‹SÌÅ—› .q”B|t>ö^oª/,|uŠ=)g"•¼ÉJËnf´å̸ñXÔqÜη4ñ‡oâ—׫4 Güi© ê1‹Æ÷êyÖ~f8Üÿ >—°"²Ñ%_>u¢HbÍê·â¤æ¤ôSx+’ ñiçŒ:É#l¶5Ñ“/²­Ç™¢AÁl÷Ë›£x!ÑíÞŽJ"5c45,ÊãõS´e…ë´0`ÿ¿ö=g5/k‘Ͼόߊ|. ;ïû–•†ƒ5~0fŒîãÆ&Ž$]ãÙºòæƒ9¶ / hÒõœ>þªE¸E½·`üô°’Ý£> ³mfæÚOö¬úººlßðÕ^‹û¬dZ8€Ì€5o cá•¢®òW€!ÄepnCÈÕhéA >«'ýѯd­ï2Zš!7ÙL£ÛÕE´ý ¤¶Žý¿R¢¬ðÝ‚2Õj¯ r¾Þ-w«7;T= Å¥²5IMËyçp¶Ÿ÷µyÀÿkôÌœð…Æ °{XÃ`x ÃÛR0ÑÐp¿ðŸª9ȵe7¦/ÄA¡[ŧçF>ùP÷‚½2\FEîû_W•;ê¾úóâµ< Úƒh D~0ÛÆÉVðpÈG…ÊõЃR9­•%[¼ù#¯´ö‚c¥¬¶±¼“§Ù/„£P¹vË¡f(Ð|òœbb„¼G`ÂÛ?$BZ1 x@ÔÄü)Û»;Â0ùÎï¢ÃÖ +JcÖIa2nÐ~qdöàŒÓ ŽF¬ýRY„•{ÁE9$@‚"o¥óB¢ÀNuNJ¹¦Ú£,‡âcJx \Šf§dÇbö†¦‰€c6 =¡¡ÁÐ…r³PΑWw§»©§}´CσÛ7ßûñ+}ñDê)µyz󳻇Z…k3úî%ðUÖé…ËÍw=Ç éŸn{øÅwa@x“ç…pN6b’–5•ÿÜ®Ë=#MjÓÇȺ¾¯"¬}fNy J0ß4êº »5ÛGx•§,U¥Ž†âM¹7:Q¨„sÞ¬ç»QÔí›C1õ8T¾±9IaùÚÛ²pä­m––òÃßésg[xõœB¥2Øsôn…ßÿrÃÍ ©Î?ùÿÃÉsÉ%õÕ·¤—-& ÷_Ó'yµV¼áZ[$ÕýN š^pÙöqÊöQ‚}ð,m}Z.ÕÃG¶¾ò¬ï*qŽÄ¿áä».%X©@¡Æ© «á,ó”oÑ:o¯Â!P^ëWhËÿŽY5|ñ§w`£ø*»Ä„¹Ã©ÿù›cU5Úÿ)X”h÷®b]i$hõ`Š~!ÆK T%Ùò·ïîùP–£lŸöÁ&]ø“&Ï'“uëp'+ç3ŒêË7³ŠM•@.=<›ïXIÚ¦£¬¤² †OL¼æ4g+p6Ýà +•4ë—…^L©²+ÖoùT´FzÓþ_KÌÿ̜̖.°³€«°s(|b=+Ò’N´ßí­„Yº +endstream endobj 39 0 obj<> endobj 40 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 41 0 obj<>stream +Ê5 ²œ’r¤~Uº”ÛiÕa²a"QÛ”gÏd‡`8xçtI'Q»Wnúªk¤¢ RöÎÝ ‰_*+àÍUÇ»ùR±d€¨àØx|ƒìwF À%ß­w½AE¥´¤ÍòHá5¹¸Æ+ËÇŠl»×„MqµwËj轩lò²l_sÙ3_vZ>WvÚƒ á?d5n +êÿa^«;:R_kåÁÂżˆHÈeôvÍ÷¨ +½ƒÂkáñÑé5~Ù‘@¶~jj>PË0n‘+¶Œ­á2°D÷Š/JÄs§Åì2Ÿ¿IÚçìmè 3ÏS¶Œò@ñùÎy§§6H±~;¶Èè;ìÖûu9lÿçzÑݨ{ƒ³á+ûc`$ ‡=Œ(=ÚÎÈq2Ü[#¬]VNŸ„ØB Y¨„!Ÿ·ÑòôóÆ|»Á2Càwæ2Re²;•N õ§„-–6¤¹ï(6³€[c—$2²Këƒ>‘ÈDEewÅýÇ'p|Zæ*~u|ÄŒwæ©«Ç} dh\PP0›®ÌÏøõ{ÖsGü$Ec¥';ô†}ãÞ„.ã}zý\ËJWíË­›˜¢ŒT|µP­xÁœ¸ÉAÆGÔXņL b;9ƒQ†Üx…®D6^e üê¸7½Ô^ r•ËYªgã†rÑf! ìI—”ù%?Ëg£~âÆ—øͲ\.~©ÈDP·§¯,úÆK©$!“¼ ƒª¬¯‘–>eOŸ4”›€æOnŸ­–¨®v9mm¥ZÕ5 +~'kL„ šªå¢0üëò•aИ¤ZË9ôµÐ™­ÈÝÀf«Ê~–æ[à…æ^Y{™E¬nDƒ9.¸Û$”ؾ¶>T#ýn²CÙ9Zá.7ž¶­DÿëüG·7òêÇ p·³ã©Jà4}]ñ@åÿºh¦Ì¬'ú™­„oƒ"Ù’® %k•ÀŽ%MSËgON4ÛLTNŽ¤5gË +鲉u\f—¨H±ÄPbÔ•ÅŽÂKR?¿ê¢)iéº&(4©†}ölŸÒ…+sž ÿ°š}_ˆO°êa¼BüTªÉ»ðCôub‘EýØjMÞSV^÷CÎì> ?ð ù!)Ò ±”ºí¶ñ7@x½Ó£XÌ{çJ“–•2ªvCí (ÐÉ©ñúU%®²z7ï}ºZµaÑò‚Q±ý¬E+J~ò¹ÓQ™©JÞÜ2ºAŠ7Â8uéƨÊXo·5QßùÛŸ£a1Óuù?MÂv¤}î¸íØ0¼IüÚb[*.KbŽ:–Û(qK Û«GÆóúµêE +iøÑ0£ºûêØ’(üdž³o‚åú¥€ ÛÎÙ«+(눣Ø}õe#OIP¶§M3¼{ÊêÄT¿ÖÕ*+•°öƒ²Eüä«ÈÌ͘tCðNÙ@b]Ò8³–XŸÝ¦‰sùš«dg_¤/¾"w¦R™¾”å8*Øøó+É& +×¢£Ã8ÇEWl¹£¼ ¯–é¸ïK[ÃØÁ_ž‘ŽÈV?KÞ6a(#¸Çâ…y¹Å~"¦'O‡XÒÂØ‹ÔúãÏûŸk>r: Ô)õãüç‰Ët«Æ§|88lÁJ+V_?ôðacðGG ›ÀuÐ¥"dÞ’®± ÍuÞ«µoõíV5ÌÊ´‹×Fìî+œ•©%¬G{‡ )õ)y‡¨g±PÖk»u G’ +[ö(¬ª“Ôó{AÁ2Ë_A³Œ¦o—ïÆüƒ°â`ˆWmŠÛwÚ¦Ž‡;5e‹ŽÙánjHÙyŒØUP5‹£>ÿ¡à‚Äâ'¥l“:^–ÇÏ@ç~°O=?SnéLû0{Làêlw$àâß2 EÏ`üT: ;¶V¥vq,¸Oí=Ü ×N[?N ƒ»¤-«ÔO(˜E›™Û¶ÔØ2<,Æä{wœB°tô¯XKæO’y ¯üD3_)僞lÜ]]WG¯ï…Ù€âÂ@—6G0š=5¹T!áG;ûÙ?U5ඳ5 ýâkÛRc±¢ÉM9ì¯ã¡hrªÝñ?>î§6äe¼|›#:&ýĽ÷t¶öŠý©&Ùp(óh;[¶àFeŽÐ[Á¼è2ÚdžWìb]À´§$–Æqæ-F’N]×ÃåºA{–þË hJö¤Uì|¶ëöB¢­Õn§¤ÆjÚSðfZ+É ãî§Uï¶w÷'"†špZ¡àú4ðáqÑá›à^T!w?ê9©\F——(ä6¢ü2âJ Žñ^É48Ì\}R¼TFÉàx,QžÚþÕ°º76Ø–ü—~f8t1U¬üzÉæ7C‹Î÷¼‘Ï_ûÌÜ!ÁŽz¸Uä”W,dq²ç[Iì¢Z¡ +ŽçéÍû”¶cIüáÞ˜,OýE&Û÷U˜ç@Ôµt,&[•é9]¯õž t¯ÿyTìá:«ô\~ïnãe¤j€ÒªÕ ä ½×zMS#%Ù(&£JY#‚éŒ:õûc“ÚªMg‚]ež¾<¼ö•£¡Ék?A¨ }XWäAÎûÍ_» VŠÐϺwµ»êz"±£{uõ·³¤.ŠowØ„Uß0Ú-DhR~Éýv”0 +‚u÷{ºj¢ÐM?¸—X€¤Ge«ŽN½šiXáEI-£–Æjz–Z–Úš9ªbnº™xýbýµ5ÈÙýê'À;Æ _ˆXGSV)p^/µÓ¸‘Ú +…ƒ“°j ÓpÇé Íc¢{KŒ¶à’ÊùSL@oh‹Ë4ô©Ï„ðÓ~ËôÏe]]ǶX˜TBÔB¬…!æÒ/la±Ã˶À,t6 t!Ø*ì’SªÚ€¿:T×Q‹ÏH,7ö´Æ®ÿò°-­Y®Ðé|'g…s)‰Eþaòy4GY'ÕUÎótÈ9†8 uP ªySÞûhŸ–‘»ª»¸‘]°EϬ]ÁˆØ²±ýN×-;®/èåÁ®<4±doz…©5xSôy®›¡Ð=꣧ëãþ,ÿ9Ýó¦$°T²•,k:$g‚ÝR9Ê\°q¬xàcûhtdµŸ<žÊtG›¯èà“bÊ¢dn&¶Pάæîk¯Æ\µêÇ#´Õ‰yf0âÿ…=•ý›æVz.ÆtßLf4Þöï ÚpÔ (ò`ÏNhö:Õ‡(&Üt_N6Üþ*̽-©H^í½e~¹¯–X¶ 1­0ºB†²@o9³c-ù@xVi<"Mz.Àì¿bìµü½áº›rÊ‘ìÏå©œéwpyÅ}âUΞ´+j¨ù§œ7}ô¼ØV>ë–[ó­¥hEÖñE/†c¦Å{fRó@zòw8WØŠÅA8ﻆTmWà uj+‘³ºI]ð}eá¤ÂZb™éÖ‘¿ñ¬¯E.{ê72u iÛ[TY¡÷ÀóíøWö¢{‘¸bcÄë%âüR£^ɨòøšéyÎ —VyEzЛ€ˆ¾3¯o Hg8AÙÑЧK¼ö×ÇçÈüç1ãm³£" !¬0i?E´,P‡ž’—4_ =¦Qƒ +·ÿÒŒvÏ¥c3²ST{ s•f2Åìñ5Æ ð×¢Ã̪bŒE['õÕþfTq÷(ÁHú.>pÓë&é÷!Å»—ìDífAèyq—%ÓÃÌ­Z&ú´Õ"y¿ B "¼Ù UÌÿ/&¬¤¹tÊÝ+ì€b3Rq£bAs0Úk¿+­âêG6Sºø'",œÅ Z+! .÷´¦ØSÉ?S7ì6-!gÿc"«´„Í*Òµ`øÏ,ÊG.§1æÏ7¥ÕžfÓ¡ýÏÊÔÜ›K1s–Š à`:J*ÍanGæfo‹¼‹Z^"c«¶¤00Q4â‹øµ("2î?&øÉ1Umž¾j½›F–%€]¦äYòÛàÍî]O_z³+7U7쎕–¯PpÑ„Íq rÓFÊ¥ÍõðÕׄ5ѯ¿½XÏ„ihµÜÜ÷–ÀÉ/eÏotå#œ%–¼}<ÀžX æ µTöœÚ³äÏ WŒ…1á¸ôF¸³È6ãî$ ¬£—Nhæmùhöœ˜ƒ”MV‘R‡gÿ‰}„IQê&À½¿ѳÿíâW¤>“.AGÉ̵9gèiÕ\¿l£sp _8ÝC)Ľ/ äb8‡·¦6ñ”(«ç|K(ÞÓX·¤‰ +endstream endobj 42 0 obj<> endobj 43 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 44 0 obj<>stream +ŽšÇ=&å yÅQ\8‰Šl´5¦¿ÙZ!‚ÄÞ ]Üùa{ž ú–`ë})MÑhKØ"Ú‡°›‘·Ï¯Š7¤]ØÃf¤Wnø]Q +BdI0¹Ñi}2!DJ88%÷š¸0Z\9&sø¬©d±B$ç6K>³”ÅöéB pmfEI(®qØ«ü/ö3$V v™u±äñôþW½uÊÀx÷{X’CKÔEétÑ(úÞ‡Ø|tR[—âÚ±}ãsàÍt|eeÁ#}Ô«0!ÕRµîW|sÍ•|Á“woÛü^v\ n§>ñ2 щ`q"/ZÐ>?$QÚÞ„Âv6¤–Ë_‰%xöˆbæEøˆ:µ›êã}@ÄòLHŒÚüFɱíš8ÌMA˜z‚±ØÀ~Øë2ÎÙhîÉ|žA}û€y‹<ºë˜úuk‡Ýc(ÚŠMõ]eÙdBP*]šT#^yÖÍTDðü:Yîù“‰„ Õ6hGŠ„ìÈýGW¢F•º9¾t6ƒòà­iõÛgÀâئ›¡é +t÷Í6Õ^…µ¨ìîdH¾o7VáÔgèEw襞E ÇÞª÷Ã÷/›C­q qjû±0jƒÐBö"ƒ¼J'Wà,üMoGBoc¯<\VˆÊÊaÊÔ.ÔÙ +]9Ï«b¦P^¾'puæˆ×Ïh»Óû¦÷p$q9›Òøy‚ÍZwÀ'ñ¿ÓÕ‰Åüû[8—m#b¤¦´@—ñboZÕ|N²¤ãá]ÂnÞ2Á.‹}*lµôÐÖHó®{ ,bd|þ¼`8vfËÅ·Pu>1{™é9–îqœ±Œýc>é‹è˜¯QÖ£‘®`r(¨¡â 5 Uï$²êN ¤mk’(YÄ—*äïÐOº”wnÇèóÊ㲘Îñw¯çÉN]ÍÄðöáÀ¿läS‰Šÿز•×rÖ¿YlOÓ+jQg“•Í:,^šS#üÏá‘÷‘†oñüßYä¥$ŒP}â#X ++ŽAx[Ó-Âèá#ðm“3^ðuœïÊõÕñb×? iÇ*RË»“,ô‹´HÆMHÀ°ëHüÀÌálªÐó«‰9™H‘œ‚Þ+³ž³*ªÆ¨ ûp’è¦UüE©™´UÞõ!¢*qòŒÙõwM¢se°ÿn’Ùôª¦¦¿ ï! QSn¤‚I-Ž®z*§?£s¢%í±•,¢Ò«¡jʤ!÷r3IG‰`>z÷þ—”íG~„ø‹FÑO‚ @^}¡ŒÔ;¸ÁS{_{@Ç™>…˜ÈåAã8¶ÄBL?E­+=Ž2g¢MÛì´FÁvpýÂéNØPQ3ˆ?²FS<Æå$QÚ±±;Ãü¥†ÃQp§{eÃ/ASÔ °ŒWé{´§±É¡¤+¾~l•åä$ÿ¶Ô +ó»¢4*Á¤B@äá€cC‡mà,$¿ï§åCE¤n®—n£ZÊ©8|íQ =1Ø것í›MÝCx»{(Ÿ…„Q†¿}!Š1¼»áýÙjxÏà5š_”tÓ9· vùVâ†Ñk‰àïáæ¥ï ¸ž“çþ]TFšýØÂ}µ÷Ì€K)1XÖ¯ˆ¤ÎÜV5ýÙ •ò“AdÁ naú¦V—cM¿ê‚ŒiÆôo]+è°ø˜â».<á/ìElítˆ½¹—˜õnu=î» ²I«zÎ íä€iúœ–Œ>ÕTæžoú#Äøãðå<@DùzÂJn«+'1ý·ï´\n¾eÇ!õø˹üÕÅŽ2Âü]†Zô¸ÆTl)–v¡iäŽÀ‡çö”çÖ…·#¨®þ䆕u™F`*G0†­TŽÈ ŸgŠÌ;þØX´t)ÝŒéaåË€l¼irUIÚp«Ìç !òãËq…T°‹ôî%ïãƒá‰A£­Þ£³yÈš3nƺ€°›Êɘ:µslã×ñx`âJ§é]eyò)•R|`ä—-Žõ#k‡®¨ìÖÿúü×4=r¯ +Si[õÒN=1üÖ8µ…™ü•4ÃèéìØÍ÷ËȵL› سµÝ7¸àGDÙPC}X°„ÜmûÁ•˜I4ËÓÆ1ÇáúhÎ.²V6NÑPϽn ²Ž8Z|¤¼‘$/ž×¨±ã›=ÏRÄÈ÷bË©9¡‘Ç4Uè`3ÿô‚aQW¹¸ªÅ« Äo£JÅND怊˜ù+ N&ë]˜\Ù|TÞgNè¿lN +æsVƒº ÙN¥XKn*Ìé3œAã#‚)èÊ +¨ÅyÒš©Z"Bc~ù+•N©J8OìA%“¯ 6vçBáѧši.ˆïÿ—­ýFèÍ? -ÂØ×ÂêÈ»ü{µcQ'ÒwmÊ®så¿XQ÷n?ïíض‡^øÚ“H:¥ÏˆgÂDI¬*Óº|söšú¨¢…Bä$†"»­#¤*™¬¹£ÛœÏàw¨êó÷̺ÎÇ„ºÐ<è¨ìà‡þ>ì–~]$¡†ƒ—Þtøú)ÑbfÈ€®Êï•Ù^{UߨÍ^#Dw@²W¯Éfì!Í!pÛê8Ì®M_¹ylð/6KͨÔ.Û9Öpòk%ÛYêÉiW±–­'Ší¬ç$o·p¥Á8 ·bAë +b¹”%,ÕÚgÛ«§ÍÛë4®6Ëï|‘õPAB‡Ü×(å]b£Ëן[f=™î˜O#óè³ZŠxeHá/Ä–Öÿù QÁ¸v‚Ä=nOØð„{ã.˜°}˜ûúÒUmQõûë! df”â ¬ú›Ò„¼@Y¤àºKã S0ù–R@WR®Ð¦(*ðv„æän³-uBhðî«»»>MÍh¶ç•êBÀõˆ„3Äyd,ÎíLg*$週¦˜Í—*ƒ5­\ôMÂÅ«R°Ó𕯢ƒ¢â_›vrún5h¬/õ,ï=Ìa˜ÄÞ=Ôtf¸œ)pL3´çƒX[ˆ§|èèïƒ=žŠ<ç²² Ÿ9½lÅPœPr(–/µô"æîjïý²÷jÉý }n +øZ¼Ø‘õK;sŠŸ4¹Ø¸L¿‘v¦_­ÏœYãV›£MH½ Ú@&È i( ¯²mxŽîÍÿ¾°¶äùpÅ,XG‘gËŒá,¾ÛQ£éY›i3HéVF…fpp¸‘×|2NTá'7R§ 'ïþ›:K½CˆAî §W>„ßÅRà6mŠ©!Ìütª9YìˆwC2yíÔî`gõÈÍYN\y3l‰‘Ì;'JÕÖظÕ(k“x—"¸$ü WvX×é>”M b]:ªg{ÕzÎ?NQæô°5ïìLÈ®š23|:èí‹pî{4aTïTR¥™YUC'@~õ¨ŸCá凘`a3Yl_y‡M±0Ý4Þq _5ã5ŒÁ8âá˜ô‚I:DKø l}ܪ¦C +‰ƒ*‰ïVS„Ø æG¨ct³9,±PÁ @é¸À"DHbœû:QaiðPvr*l߈îbïxNq¥K‡A]×Èók‘˜½ªÂÌ Zù­†°,³Â) žVžsâTFRüdÎãTµfì, ‹ ë•Ž› ÃÛaJµb«³9ïÞfm‡è_·lSüã¯P—¬Òf@ Ùvj†ÎÙlÖƒpPX›¾ظcõçƦ4s¨»}=LwÊr•Z‚ÔÒÇhÚ·léUfSI£è-aý9Ÿ‰›šÕ¶K +SLÄ>Ü^:¾œ!‹ Ðßï”^þ¼™FpC‘üíºÊ3u`«Ø›G!0ÅÉ*/sm­ïDéG ¤ˆ ¥³ ÔÄÎàOs7Ò„ùwåNN¹gŸ*$¡Š«(•ä-ÇÀ°ü“FO.oÕëá®|‹{—5Âìäp ŸîNb Â\±dò©ß]géIã@j…Þ§’È‹¿W×à4J|C§MåT£†©K ‚!$£ËÃY­-¦Miôím"5J µCAþ£xü8Rf•˜öß×GöîÅA@vÆuìåèôp ”ÏÞƒç0Ë.O|n+Òå>º†§—¹Gú.#dØS¬[eß–æÀߟ A7™MŠ¾éèݶôçıàÚüf^Ôkàkûÿèu‚nùêØù°¦—_Ðe*ê:rX‰QÆŸ1y&:|¦öÌè³žç‚ +‚¦“\Ôu×êë¿8n¶áÍâŸÖÇeÙœK Ö9ÀL4Oi›^ÔÇÆ×À +‡=[êò³ ê óÛ&f|HÉùQo¾{ä§-÷Óü&؆ÿ`¸Ìk}ѽó3øj)EΨï~ú=Xà ê¶ + ¨#¾Ï+Y±·>Iç¥Ù¨<¦€ÏÈ@QV€É3ÿ¼™Ø]Ôˆh¾µê†ËŸÒÒž (@cÜ""—4å ïÏѼ¾…½‹[þE›¶u†*¾d³4Xf3Þ9}ƒב¥•$Åp¦T ã±$"ÁõžYŒÉòžÃ9 ü,;y9¨Z–}»¸i¸ÃÎsD[Ñ7¨ŽzM1~á s£X:KTn†dÚºaÕ±C:2­k9ªf¦°Á}¥ÛJÞ¬NSef@º!õûê»:ÿp?å)™à+(áïßì‹ÜgªöÄ~€#2 G$è–K§†4æR5Ù+Rš†N^MaæH¨£±ßE¶úl46ÒÝþ<Ün#ÉHi¹ÛDQ˜ÆnkOåœ +C4åäÓ>pÛ5™ïë.Å–â: ³Š§@#³ªðÞÔzlKSŠÃ[rû¶> ìBኻb/ÓÇÒË+r÷ÎÍ;ãO¨*M§·˜„dŠ–‘ÀÑû©š½=Aå¾Y[!Ápá,Ú¦ÀžV:1÷g%½1ƒ¨kQjð°pÕØعÃZ0ƒd_ú̲êÚ|XQÈPbílƒ€ÏŒ ª>/C»LÕäaªãý6v–OÑó=UøAØe»ÉÓj-‚º3{¨×[ÕjoXYŸhÃ8 m>µêÏkct=¿W]*¡Ý–QÓ¢žS+ŽÁNUî™I0:´(rçöküüSÞ"}Jð—¡™·¡àš‘;³‚Ó‚¢0 Å*>)®:=díåo?fdŠü<ïM¸ÜIi H׺=MYÌÉj`P'¡Ôá_|âµ3‘Í<·»<ºòìIü¼§u#í@| >ŸSAÀÇÔƒÔ^"Ím8ȶ C[×0B ¤;qGš@ûDñ&xÕì-`âÅCÒ–Æ(pzúĵ°7µƒb| ß6éñþÁÆüò¢r3h##ZÒ"õ ¹×Fœ¬Õ–áë +ê½=VÿO|ì5­xk„ÔxV.@\Á‹Ë9P¤Õ6pÑ‚,$QÄEŸxd×—:nƒäÀñÜ øÑÈ8+×!€eDÉ¡wfž¢Cà œba´äý±Z–ôo˜øÍ~§º@Æ–o%ölDÚäX'ü}1ìÉÛwF›ÃP#íl9W}üÑ\Ê›J Ù`ñBåmÎÖùù©Çâ&mÊEÏzÕ ßcÁ¢UHÖåmg.štƒ?d½¿VÆîÛ‘˜eúŽí–²xÄNˆŸÐžcia \!ÉUcZ·c(CµÕ׌X"j¸®žs§À—œëÍæ:¥<Ǧ;=_Ö67—  ?d––ŸŽò<Ò9S½†an˜ô¶Rp³Néa6aAŸªZÿÏEô%Ç¥UØe=^`ŠâðIAO#ùÀ$ô~¦§$!­lOÙ ÅlvÈ¡>Ñ*×ný¦0:û„ŒD +óÎÑ©bŽ$+r%ʱe]*À¸sKtZsïnȊב.ÇøRkúKd=&Ñý.ŽÆ¤[@뙓®J•‚ßçøÑsÍ@$°Ý©†Áþ{¼­P§8r=¤ãQ¶¯33F™CXnddÅ6Ä|Ï\’·b˜U ý +ψ0ª0öl-Ó¹ªö@¸à›Ö[~‡¥ze’‰ˆ”¬ù†ý ˜ð_rXý¿:)Ѧ㦢yb‚¶äí¶âPZO›ýØ9Ùõõ¤ +q´¸ÔˆyÏ’’ìÚò]6àˆSÈ^|±®Ù—fm i'!ðϸ©’¦î¢ç‰w_›r‘cÁÓGÖŽŽíFšÖ È(dÜͳÈØ6ðÍÓLÐ=ë™R¢ ÄùEs餾é±Òî%ÖöùU{B±ã.ê" +hþ9›xæ,Ò%*St5cÆæØÏ÷ t+Ö/‘:ñôÒT + ‰ly˜#/š)¬û¢V)¦¬Ig)ð*yý ¦G®ðL•ÆU@hç&¼V‚ƒ„ºà¸`TX8abSÄ¥=ùøÙ/óFÌãÐy£#8[¸£\Æ_­^8€›@àL+š•¦kf6Ñ<,Ó¢º²Kw·”\ NàFÕàÙ.¢~(öÄó*Õõ‘À| +endstream endobj 45 0 obj<> endobj 46 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 47 0 obj<>stream +YEÇOICᶭ–盿²§·!ʦk› 뮸ÜGZ¢WUúŸÈø±0~.]ôͬW,é æË ĺöÊåeÕ…¿U´Z"-pò#¡MÄ79Ž‰r£YþíÉ("¶‚ 0sŸã¾'›5鱂šÀV÷¶uê {UúdeQ4ŸÙìƒÓžóljÓ6'ƽ µWX X(å;ͺ ó 9– EÝø*¸ç?¾.êKû{²Y1wëªÈ€aLOYòwèRDøbðIÌ£¬¼V}“yòlÁ¿! àwôi16æ ZÈõã±Ôô¨ÀE¯’E—˜|Ž°‘£dñ6þß´`Þí•PÆÏc˜–¹Õ­Ý?4‚lV…ìÐFvw›n4NH SÅjg$§ùl@&ûƈŽê–¦æ¾®pPò'#-JN¦7Ê¢ïAxÎ\Vv nösuª7údܧÁ6|ÏeÀ+Bª~©‹m œV¿\(,ãƺÆF«GlôîAõU½Ò-^)jA IÖÑP š–ýŽƒ5ŠZæD8Xi*Iå”in¬áRÃy þÀ)Y>"ÿ5MÊ/N(G0æžnkkÅ8^¾>´.Wæ„K¬ˆ£Úî“&”_ Ô¾Û¨ØU(ƒw +œ6€ÈšR‚1¦PãµgÞQËY˜ôäšHéÖXò2ýšÚß"ÌcžÆâÓ¢ ;fÝh#ë~È>…_6XvÔ òÆî†u"¹÷=Ū ¦‹8²5‹Qáß$e3«óª©…óàþª•ÌÜáË`õwŠºÑ§‘¶Xå+ã9­tÑo­zÒa Nd­eªV/lÅÀ>щÃý/¹X6^«zkë¦BÈcæÌ854ÂÃÊû–Œ*d››­ø~dÕ+`/ÉÝÙší ?‡nHÀ‘¯ 4¦e:p¡¶ã²i‡Sí•9uÏœÅv…s#¿°{h ²Šª®¨µƒ¸HuþF¶æì±És ¯õÓ/ò"y˜±é°Wƒ™áìU)ÙGÉ%T×<­ýÔ1•çÊk“Âtp2ißT¿O%Ò‹ P€M-û’Á&f¤ ÐÉnÒÌ•ë‡5¬ú˜‹vŒ¸W62ÊÏx•N×ØAéJ©¡ QE¢‰]Ÿ ’g—TÜ3È‹ªRŽ[,´‚y©Åvë rÆ»4,QW…KýS¯<¿åv”íD©o€½ñS)ÍŒŸ&f«ÇÞ4 rßÉx(Ó¹ojÔz—¼B»fk1/a Dd%^k{ÌFP=»¹Tã"ÚžíR@hÙÿ¼‰³öûX~YJéïû“«S Q'°®©¥çҜݥ-(¨Ÿ|váÌMu­7fæm¾£k¡ÕœèM‰¶zÔ»OfoZ>ú]!±Æ*µ€ 䶆_×Uþ~Æ:eü†šzp–¦ö?;õï¹çjãK Í.þûÇ=UïYÿ¾§ ï& ’,]íà·[ƒ¡I»MHÿ-ù‚B*Ml*_Ýûspv +O‚éšË‚5#ÈT_¼Wz㙆–Ì‹šJ¦‚—ısb ·-ñu½/n–Ðk±@ùÒm­ëú1å`n:„ÓÇ7I¼O‹>µ-RTᣮ¢ò’Äçø‡Zõ2´À¾+pëVÄÉ£ùÓ3Äë¡Ý}ͨ—°p«<¼4O|ýK ùÝ7»™eì]´ÿöñÃt–8WjPõh€·£ì3P9V0#8ÝwŽoX‹·[cÀ2e*N%@»kÄÙô×ó£/—ÆÍyšh…É‹wÿæR–Ô{µÒÿhi‚¼xái–#Á{ÁÀÍmºòø–"€ˆ•Ë+èUzô©Ì!ØõljÝ`…f¡Ìì_ì[‹1ʧùõþÓØx=ÜQ[­xš Xà«K=ýàã'rl=ý»îweˆ²Êþ$äo™PÇ…4r—ÄD ƒG³–ÐÑ3¸ˆ™ëœ˜0Ø«Iücf™>¶ “i¿I¨ØÙ'qBŒjSªÎæ;ã·×‰ —£‡(ì‘ êPŽC†dÌÿ>¬¬áû FæÙ±Ú·…/@yÏ›ešwhp-öþ8S~Áʼn~dDˆÝÛòwóœ7ñÝŹ¦ºtÍtßòÍ:@ +þFÀ WádXÔ˜û*>y1¾ c”B–“™xkK°ú´®×XvÄ$½GÇUAm­§%Ý…_AàzuRy!¬Mý‚Ò¾`+€bh%ÿ¥ÿîüôÞœË7åò|œ§¬‹àý§bG¸æ;z^M:Jß› +÷é¢ö1íbû§†ZL‘Ú—zz€â„ÂB‰!!'ŶšFÉÞQ=lM5Y6•Øè +ªûÿ§O x©•Èz¾?bVàé%¿òp]7Ä}ô<5™V +ù4ª=è½_‹HyG*uÙ0 €Ÿ,Ãóvž¤'âñ5¬ …¤Dnoh6÷q¨®q?d’¤þ„3§»{É¥x°÷°þWºô’ÝÆ kÉ5¦ˆÌÄ/ã¾Íá?·ãìÍ“^P™•¦&¼Ÿbãñt÷¤ +ùѵU¥ÏýJ\EgSù|dìó×ó…_¢BãîEÚdtmÄùÇd«÷¿ªÄh‡–bžæƱÿäCõAPc +^Z.½^0’Æ&ZÄcòï‹”±M¶ÈªÌÔ¤ˆ §´Ä³ðTû6ñz•¿Ç@_NyùÏh½Á·j$sϲç¿MŸ×Ù4§_blÜM©)‰öv°yõ7dòð£ÜÒÎÓØJ”6¡6ó”QŒCKÜd;à2ã€8sõÿ  Cr¢¥^¼.V/¥|E²ß…v$/§â7§…î}Žh‹\úÊ&™–nu1%õeeF©K5Ÿq*ˆÌé׆ZÁÉÓ’/5SÞG•üE‘ƒ/^Ÿj†I᛹ÙM¸®0 ‡ÏX+‘‹À—t0”D[ ª_×—–j#~©‡ß"ðÿôpXÝ·ª³ƒ«øæ-R+€=EùàãÃúD£´¹   “L@a|Ü´÷1Y +èaÞÐKgp ÀÛ¬ÀkGRå¬ü7Jß[ £\D´BüI¥]ã„ëîjõr¤ø¹CP8 ™m¾¼±³ØýI7©·~f§ÔßÐnÛ/¯ÔøŒ³µ$©½e½jͨs\i®«—i¬¬åð–I+¶wÚéý?ï|Ë×ÂæüR®{ó¬Ò´=³¤â]‡xC+ÂèNº²4á ¿¹~Ç10{ª$ÏB¸PÍÖ¥–xK¤N³¬‹sÅÀZ€ùnEŒ…KñÚÁz!(yE¢¢xX•‹qe4®Üü*`ŒKöe, +òò¦ÜÆï¥ +õ’<?³ÉDÐ{ut‘¾Úü6Žá=­å-´ ÁIrü¾ÑD¯m(L d€¡œ€É‹§ª¡/‘ªcEíCèžie+ÿ±¹1ÂÛ0‡æ³¼,BKKûVþ/Ak®üÏg!jÿýoàv/&Çþß äÐ¥¤§w Úñ°ºƒ×¹XÒ+H52jƒ&¨Œ£7Ch +´õ$ÚŸeü¨¡†‹£”G­¹IŠ›n.I*×Ü9v™Á4O¯$4R¹c9ï”ß]DËYÍN±:ÏðÍ5çG¥Æ»nˆòªKK¯ó>ä5G`½¼õÅ-tîM®±T!³eqÞ×!üˆð…¨ðšNX)ÌÎ2­3#_õº£Ðr–‰›ócÝ[_lzúåö1½Î ¼¶’Ð5´ÇÑËo +h'Ÿˆ€ÌU€ —F¼ \P†Šax’7R¬G& ’dc§Ü2¢‡v¬{Ô¿ì¦ÃÆTˆ•ò³Í‰õØ"ª«<' •Á+ŠT)RœÝs9GMDNîÓä«”,3)¼EKq3o‹¢Sô­mçPÿQDxëáIx¥U*YøÄx/¤pA•Ê¶E€cÙ\áW×óëpβü©|SÌxÒ¸t‘M@\F¹Cþ÷¤ë3Ûñâ±T°k¬Ã××ÅÒà ž;ä›"ÔËüšïÔs—!AãEèù:7AÑÃÏ:eKL³ÍÕ< +b;DÒÝžþKÏ>Ó ¹ÖÙÓýøƒé8‚+;Iñ»¡‡äš$²×ÙÿhNöƒÚs<çjëê)ùSðºÞ ¼í:™R¾µsAŽ–ü£Xõ±¥õ%O™®Ce¦((‹àˆNWæKžFÀ¾m·wà냋½w4ätì8‚´nþ’ñ1¶û1%)o¾Íi1Û¦k¢öƒ U¾µÎÊÚ j½’.+1B@às[7È*ô¿_+Æ RÄðç5hÿz@á-ªå ÷3’¨Õ'§sv=¶ß*ÍR+ÈÏøñ%]}hìa¢¨„¬ž±FÓ¡Sq Ò«ç^  ûÀ££ìF.î{×Íáø‹FÑZ&œ˜:½Ô{`ºZÑy-žl™;gI!C=Ú’cø´2ŒÚ謙)•¤£ÓßƶöÛP-Öo¾ Q÷ó•ZŽŸ¼­,ª¬fføÁr¡à +ʕ÷vN‰tf]KÈCró½á ç»C“R +Ln ¦C~þæÛ%¡þý-:Ì©ÚZoëÒ«ú–”Ôk[†¹Áè7‰‰>´z Õgþ§Ï†ä n’}Ýj'’Ù±áÓ\'”e(F˜¾³Ñ’Ûóê¦Hˆe¡*3ågË{³¶w¶¦3åÞt‰’_À úÛ<Ìù‘}‡ò²•]®*úïÿ{Ô>Nøfxx¡´µÅäÜknúUà‚¹·ôâöÀzgœ.{Êù_é~T=€ç2”ÙÄŒY–‹dnÛå JY†Q¿à¯V 5ÍÛ%ó +ª‹ u…$ï´ ‚´Û‘`)pÁqFÿä¨ ¾HgÈO¡@{eŒ3O5Võ|ÇYJýí”›yé° !Ñ+HÁ ^ïüj_X¨‹y¢ïm%a+ ^R9Ï]7à=šƒS(vÕóEDæmж+0îÝÔ"þa“ûZae0 Ô8Ã<ó|ØPÅžþB3v¢Ú~»&‹{ûX±Ù‘íó,ýZŸŠ>\üU†èùI¹:mÜôø ÝÓôúb‡m[ýѼE›N°¶Ýá ö{wc¤¨Û[”I‰ÜÛxߧdŠ?VQLɸÆm³Ò!XÐ+¥²L­U#Ö*äO¬°3`GÒ‘žr\¸ÀÐxÙ|²–ÛMD„d<™ìY{pYˆ›]”Ûx`ÈÍ_*ðï£_\ì¶Uw-)Ž¶–‹"a %-x—q KMÕÄÜŠ,†ë8 £ØÓ†Û·•0U)INù^o€Þ--º‘Št” ; zuÜ^¼ paùáUM}³yßé÷2~›ô¹»à¶iõuÌG”Gìe¨#Aü–Œöl$¬‰î¸©”<È¿ÇÄzfÍجÓê)ÃU®.q\Ûq‡ ÖÚÏO –‚3µ(ÈÔ8á·Œ¸/÷@êç·/YgaëAÌ~-´é¥…ÐÒØÜ—KÇ\·êvÚÂ¥>w7ò˜Ä³4¾ÞFå¿?cãSÚƒâv„æ 0PîNš‹;WMËÓý_Ç›Ÿ&ÁK{+4 +‰­Å^3°ñm— +endstream endobj 48 0 obj<> endobj 49 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 50 0 obj<>stream +> +æaÄÛÅ8×^þ°“nZ7 Ljô؇«UîyE{_ð}ÁŠÔgüK‰Qàg£×qÊ…ÿíoo&¨‡mØÕ&¶cyÄZ®~»,Z_-½Eu®u[²}®áÂ_o{×ã!- c@‘#ѳw,øÒ3€@IâŠ=]LÏ!Á›0(³ãqü‰¶ùðáØy‹JËŒó¾F:_ÐÀó `Dâë÷ûâaõÀµú©Kþæ ~}¼bùÏÉTuZç6›Ð e¾üç›Vo§z(o]!ëO`!‹ìJ6²"Åá ÇYöéi›I~ÞÇ/Õ â¹?;æÑî†;Ý7 ·øõs»Ö?|ˆÐŠ4äœyĈ™ .ª¸z[ÔÀÂub¼ùG+¦9qÇȶ"½œ¬Êqavà·Q‰Qƒv°Û@½ŠJÅ‹–¦ÊL¨FG'<·Jò¹WH¯|eî˜ÜÆ NåS,JÁÙ“ü,õ¯5oY’ÙP\uiÒ«!¢¹vu±øäé›Ó÷¿”ÒgSaV)}“Ç÷LJW€³MDÝÅù=8¬ˆTž…&ò^o…ž·^2ÒÛtÚ‹›’ý€N÷/͉· ¨•œc =°F\ °ùZ)ò.â;‡é3š3™ÙN,b)-T!*¼%BD»¾ô£ +øýƒyÚå¢\»shª´ó¯aƒ`ÿÞù¹…,ú«øA¥P~|¾aÖvFýø…×ôþÇø}¸³ w¯ëÌ"3C8é~ÝC‰ýé]0Á6q’iþ5 1ÀÖËHÉÆÛùlbáÊÐú¥má ¦ï‘€:¦59&&ËùK2ŒÑ³°C‡,é‹\”M–PŽ<^å–±´‡8õ7œoXsJ³*4P¯,ÔMRœ~§yϼ£qË4*5ÿ,„MX²y¦PÚ`zâ¾MprÆÜìTÓ.Ì¢m×:ÓÅ\Cƒ}é3|(íÈô`lè9f~/zñq×ôNU…·Ì«qmk˜,/Ø«}T¦dDsЧUuÔa…FºûŠÀëÉ +;¶"ø­Þï² EÙ>Ú#R]F˜F°]¨,ë÷ú‰¡£k7åÜ^h%§¨×†˜x²|G‰€w¢Ü¶]L±å#NlßŘºò”ô·ëZSc;·Ì 9Òì˜ØÝ´­ê#87hË"¶DÕ(¹—rs¦¼:uÍp"÷rµæÚÆ¡©N=j(ýŒ™yoÉIdö6çþ« øtæY}O‡Fº‹2ûÖüŽ£r}rìÞ#—Ž;i½nwsU[<àªßˆ³ëÄÀ ëßWXL}³€’³R1Ìþã1WBú˜ª(Îù¶³œ2Aua²²#"&ËÇz{>²ƒúp\3t‘¸“x2¬×Ø‹EôœÊE}60ÇQ4ÔæZò½ÀûOI¸óSD­ìþÝpz§"Ê‹°MÑ!ŸnurM8WoðÇÉk~uËW‡Õ0ßÚÂø=&•¼ŸÖ3ol61¡çˆqíC• ü¢£šiªÜjÒKj> íÖ{³°)}ˆfŽì¢Û’ÄãI19°ÿÐîÈZ¿lŸØXƒb²A.…‘ïG=£:(@ßÔ°JÕõ ”zœOûÀЕΠNs_¿¼^À0 Ýª|%ßÁuIÇ3‚›qܧÆüaæåf†È¿> &ä¤+Ò9ùm [[ç¾|hR8i·þ.¹iéê ´RmGû*áÇwI‚8Áh¬þ‰´OZ&œá{Ÿ´…zð`²ï/+‡)m¤ Æùˆ’ü‡Iè·¶áý‡„AÂZŽÄñôýC6ë^¶|PŠÀn­´·u摼^:Œ€(FäÑ7_=Ø 8ÝØ…LƒÆú‰t€K)]²”ã,׌=è¹PÄm? sñ„> Óa^ÿ‹¥ür"%¼S.ƒ•z²¼ý%0ø*:#—¨ IYé¯ ;SÍ— «“Dé1ú*G£vô%†)§àѤ嚆E’u‰z\·™´zï+Á©Ÿé§„„Üo¦ ž´ß„«ÉbäQÀWÁØsâɶ%}Û3r4¿â_ü³`*b¸Ó¶ìÖm²ì‚ú"!͵‹û™Ò‹—åz˜]‚µ\ Øüæ~]gÓ4pèq+¸”u×› O¼;Ç‘xÙªÆñÃ㯞æ·ØÎß–?â>öM¨8ž )ˆ¥Ÿ¢SE]:Û0œÁ•óA.sšæ‚o®ž‹òYVö@K‹yÒ2ï´Õ*Î]d*þŽBÓBÎo§Ì^ì–еyx)SÐê8u!5S8Ý2©œ4Dp®B‚ é #êUõ­ºGQÎEýËj]~̉PÅ[ò{›ÍíX;+/|»ªœç‘¡ÿtëMqŸ¶QˆS !À× %ví]û_Pôd…\¨àK?áDøïˆÅ=aº·ÌA‹92Ç4_õ3ÛÁmcO{Iíl·¿XòJ&“ñþÛ”¬º=¨ˆ}ÕdVv2ý·-¯ƒÐÿù†ˆ‚¥Q´q¶Ïà/R œ¬¾DÊ}–ùj­½=P’>‘aËUy3R›Ìõ"u¨ú“„’çûɲÓö”³kÁ ulõ˦~œ´ç>d;,8^ +x÷R¬*»2¼f¶Zö`Û¾;†¤(ý°ŠÏ€TQÞ…®=¢~]킨k>÷Ë“â7ºØ2¯´{ Ÿ :”´ÑÕÏȨ¯î¤ñî]T2Ÿm24±¢û&ŸÏKÕïDœ¿]c#) ™´?›ƒÌD)¢cµÎŽ®¬÷ÚìÇ”˜šÔ|x :ìeH‹E}~ÎÀ ¨H—±‚!'º‹²+s¯ ¬±,}sê×ÕoÛî€T³ú—yÚ9*4zØÒ"h@: q¬p0`yÔ‚|’óåÜ׌¥ ,ß+ÂDâ ×Çý~’¯0÷™ù U3£Jb˜µ«N¡Lt§^Zï˜áü_U7·é€U*&Tž¹S®UgÍÀí»ô¼f‡h§øõB ¡aµ[›is­W@qëyý•x% ”7 ýÁPnæÎË#cÜ)ÚÄBëóãýû·an(v‹¦ì™=kueü`…„{Àé¸Ô«—ëõ{}‹Ùv˜.Ìþý‘vÓ‘×ä u¸M"g7í.ycïÓÉdâ4FÖ[æÔ‚à<=€EÓ-xp«þë]Òð°`ÀÐ ú®T)] coMÿù +•Šfý™?ºÓ'ÚÉ¥Û‰뾜B#±2$ïÜS'Ä|;º*ØšŽYGªŽšo +ä¦ñ¥ò vÇò;;ÔT’Ñý`—-GŽÚ˜OY/¾2V‡ìüÀ¨*ÏÿNå ÷õ0èO gy&™‚:H/%þ,ÛÇÉ’°Té^y…ê¿S`ÓÙ#´Ó;Â=Pz£ìâžÌ%¨úêOz$ùsý¢„½:à­¾3ÒÏÎ!åÁyh-wxfáp³'¿AL2+cZ½AObZ÷QØèÌá/6-ïÄŽç%`—sÇ™¼ºñj^¹ò»O–UÙ´ ·Îo¾X ÙûóÏ”$~ÅÐ-s$¥¨O ¤A!¾.®@EðÿÏ œÜ\V-Õ™U>« VÚà +¬*z±ME÷ïÐÎåBÆQ "uÊâ%ÎSiÈùv6‰­Ù¢¡’FžÇ¿+¸:ê¢ÝnæŸÊA´ÏHtubl{üŒèIS)C¥!…*´Ôp“a"Ø|?Î{´rN¿VþøÚY“]œ+¥QîHܪ‚†$”¢ +n¬åË4l@Ú6 é¹(â%]†~. "06S ¯K`am|Q3ô=u¾¢fϵΓQ¡Šn÷Ç/êeÂFÿ’ší½T`åc®úàê{àí¬¬¿¨Ä6ãŠ^šW½—Ž¹óqjõ^ßùc²IslÝÉøȵëÏ76&k?}ùÔ¥[•Á?”`5þeeïóùÌó©¹0.ÝUüð~•Oáλ2‹ f!SKœuLÿ`Ö×ö4½’yeQ»Ùf¸5å³cÅp˜ûî e«–IPͱƒíP ¸l$pƒ£ˆ´§·œ°Š‚¨!]ÓŒkj#Ã×Çö·{®fgŸF­{¡ê {p·a…l“O‡èâxŸºTT¬õ'sÂ7ª?tx¢ù´¬¾tTJ¦€ˆmÝÐ;?Ä »@ô4Ú71^ͳùŽd¦ä4ç°¬Vðäø${X“®Ý#+jøS†øÃÞ½ÃqëkE™Èéžík·bˆxcP x&æE…AêqÐûûÀöƶà*~ü¿­WŽ¯%¤rOÚ B+¿ÀIs©îCM¿‹$¬'»eÛ¨ b¥ë›ö˜8ð…UH:¹ºjß›Þ<¸cñŠÕÚ$ÈȘcJ«Éèò>‹§Æœª¬€™9YöÞï~^é)cÛ4ÇØüm[íþ†žçÒnã +\ÑZ7•O›Á¿Ä^j%!V#ÃߤR³@«jÄê»û/Üu¦ˆ¨ßwàî7pÛFñÓ©¨¤õÐÌØe2xr˜¿ðî‹ø¼Ö$£Nj·íááYÙº)Þ*/K¤(Îç#èŒGU¼h ÅÏXT~¤^tk}/à¡mÀ„ ÔxœêÊá$ÇãgÁu©ós-Ýò ]©> D3gVõ¶Í¡¹\—M’ºì?/1Æ•&ÜP7ÆÓýÊÚExW˜`1}H®ÚzKÕ뿦§è +e (™¥\Çq$¯Sƒœl·IÇycwètðC<Þ<‹ì`ÍŠà +¶TiÐIë¢ÙéÕ²¸´‘öÁâÎൕ&p±é©Z×{~A´ÞÎ%!ûÔœ¿°‡k<ßJNâétÝ|ÌXZ'Žùí&iw"™iÔþrb—üÌÕ2B-Ôt·[zè(•u2O”2bÙÈ2@ñ‘ Š¿,µ³ÑŒp¢ïœeÑï‹åðjAè>ïLι¥Òšt(ß‘¾“§ N°ÓjgïÜ/„"~ÅGgrkžu™rù^ž„?S7o˜þ÷zœR¤\ží•cš€œ{rkm £o ’tßú£±oGË­ò ÎÃ>¥köŽ#úòý^kñÙd²cÈ¢8U&Uûëdášœ_Ç#ßy¾£§Ó7OÅðn¤^:ÒaúDª¢ß–â"?dõŽ)saÑïnHv¤ °‘G}FÛÊwžÍc ]¡Ã]$2¿ÁSúåE+ÀÛÑ µì$õš_ß[?ˆ–’Ê•ñÌ‘d]­dÔÔ½œØÕp6 ^ái¿¬Dk„éyŒ‚ÓNÞ‘ø®+,~µÄ&"·æQ|û]ù—&c¡ Ÿ‰R¸©æ¨™ÁÆf³ŒÇ£²©dg@ús@¯wåN¬Iäd ·0é˜Ù94u(mœ$QS)&n«Ø¶RyXCÕÅZ+aì• ‘ Ð$±CR=¹öª¬Qš&½5X/ç™Ø H÷œ P–ÛEcîÂ'©@’4æ8¡ ððnŽ†É^öŠIATt (†uS™â]PK‚–r@>µúË4VØì:jS«•’PȯâX .àœ´Z(«sî{(õ{6ÏEL˜$>ëæ];II^µ+¨|s#sž[!ƒò,רàg&ÂBhëúÇßGKI ÖÀ +l‘^J¯{ ÚK—"ÅŠq¨ã.RÕŠÇÐüRC^«E.Âg!üvIl0å|à#Û¨ñ·ëbƒä8ì +ZqÄû$O·õ×Êjf–"JÖ™NRÄJ£Npã{–r§Ê²TÏÇ:ÐŒZ~WÍ6¾CûÐŒò¡*V¼‹È+Ö66PÝ‘·JÊDéèq •ˆ$õ6òÓ¶·h¡@­0uxiîŒ1Ž·ˆH]¾!’ÝÙ÷ÓO&mw,»l¸XÇãá"¹¬5I£<ù=•<â!ú?{³ýøbBÌã:ÀŒ1:Ô¯»’ñIòþh¥ (Ðbà~TÚ0È}¶÷õü6´“gó_jÁ3áÆqÞ¾~½7'±"¡¨[RۂƾKÕl\|ênô~©EGîgý›àëª=Lõ•¾\ôÃИʵ{ðûPóÉÎÞíƒ^r„f.Ê—ÖdÇbt ÿñå;éAë&ò!~y÷šBfè`åÚg­L“ÆeLp@ŸL1¹çíF¾Ô¹6\G/£k΋4Ÿ¥Õ©ÔJH|=S5 ½ióYÃ3‰$ÓY…æ²X·È÷$¾z»©³×Eµð~·à +Q¥Ó½l(a½i%5|¿–[kÖè”wÈ99±æºe?¾¼O~8úix,%ë~êo·I÷|3\=ÒÄtG°ß1s ’‰H}eÀN°§`žr”zŠÌ½q°ç}ÁÂÊQà2Ø©¼ÚÄ‘¡jJwïºz, (§V1SˆêÚ¥Ské¼ðÑÏTq8™Hø Ôw? +òu³Ùô^{a„Rzqïͽ ÿ¶ IXªCt90…IÎÏ"žLÑné’“fV5Il.eóË-Æp÷)AŽïã «ÜÑ Ú<ØëâC¢®ÞŸ Dªÿ¾ðµÙ¢Pão"ë´§Ú)P(Á]UŠò 9ÉBÃ*ä +ÝC¦)ƒRýpW_âG#ïUà¨R¢Þ(ÞéBAQô†6&gŠÎ´t&ýÎõÕâËîÞìµA··= r¤5ÚŒ8r½›(üïƒh"C)åb)ÓøÁ€˜;÷©!ù¥¯½V®®\(~Ùñ#ÈjëÚ'PþôÞúëµ&ÇàìÌ&›3ð.©OÏø(ª=j ÐU#¹£P.ðC° +ÝLç.ð}Þ>„fSh "¥ä G̽V ÚË*Î|”ª¾ÉfåË#ï6+tÁ° +vpé4ÙúE~O Èçî-ãe¤6*Aƒ-Hã”ä[•¿ Cݺ ´D÷ã[ú†Ü;ØHFÀg¦@úð7úþõ PWȽJ³ ‰jØPô™ûØ‚ð-1_¶ôÔ¨`£0ç =Cf󛟟ã±\‡¨{ÂÀšK×ß“^èv!¿~Vôò(aÜþö»x²U‚ª/òp\Æ]¡ápWSº¶ó¶TÅúŒƒ\Ÿ¤Ažºl·-Ý–¦¥ÖwPL£©]UÌX—>6Ökžz´ÓFÉ#ôqì]9"`ò=4'­NÌqúp@'Ѫô¥ßDåû•¥hÃýbaß, ’c+ŸŠ î>L<-ÚÇpWÄU½ z´¼B4eÑïÛ\‚¦€åñKDŸN´÷ïïMðì·ô¤]®ûÇC›wTö|”Ÿqo¹¡¡@ÐZ~6Tê#µ]Kx“àИ ÖƒAW Ésù“\÷X›]ýîð@m+³&W?Ùl¿T.±+]ÃDΨËZîŸJ´.ƒ§WÔÀNgƒûuNöé…p[IÕ˜Oƒ‹àðèk\”W(”6Cû•ê†š3“œñÔfø¢ñ={Q•¶tÈäÙO.4dåïûM-4'æšœ4#Z¯ +endstream endobj 51 0 obj<> endobj 52 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 53 0 obj<>stream +×ö êÞs Ú‘Ù¨°¿¼ÿ…b`z/éêÛ&œ@!Ö=vW6ʈã×È—ÌZîDZž9 ¼‘ü3‰'Oòôù®/kPµE27"qßæô>™^¼ÕFÑ GæPåJdd“ ¹´ôòꟓÙh ›J©G÷§¥C¤`•ôÚü­4DdçN¨q¬sF2û˜~^òâ/A4œÆsÔäØH-™FEtåÑüÏ8qÏlÞþ5°^-fק–fùÖ¨šuˆ½â0ë+¤˜¯t&ODâ‚CœhQ²lʶH¬°ƒsÚ¨§¯Á%Ï0¥&€í‰†³?VS!*$¼ õõ„‚ÀL(…BÞð{ßTÕÙ—¥>Oï}$+t²¤¦[Fj·õx£Iª¹ž +x.WA¾.'Ö‚äÚ‹Þ­M¢ +HÒfÜGSð>mu¨MT +-˜h.ä‚Õ¬.¯MÞ?ŒÇâl†ÏÛYÛÿ¸ž’NAaf.l”àH玓¢”x|¸¡»Žrk¼dh¸zD,ö’05Š@}±óšI@h§’Cœð™ŽVpëºÛÑD~a¼§R)¥¸Þ +ÏuX=¥º1X +x)2”¢+¼üx‹8p´¶cÝù‰æ­ +'СŒ…9¿€$­0)¾Ò‰½ž½.¸Ê XÆ2H­?x‰‹înºüàÜEE^žÆÖÏtˆX 0çû$Úù³qKÿ_£dõüF¢Sh(°ÔeÔå+2ÜY39JÀ —[“ÒÀ­-þ!ê5»À˜M“Èôž+÷-EÈ]~ºÊ‘Ö` ò”6,¬e åÖ|1;…ñbŠìZìNtZ¸k÷Ž¸5>„2Ïb‚AS“od`—žá_³-ïþùHÓÏfF&¥^;…‘†ù"°¯ƒÖþK1É ñkè‰zE¯¶ LøNm,Ÿ×ƒ¶yP¶^†ð®:%x,=Y*aÃ×ËEŠÁö¨nrNrìd¬T-)-û–än.‘[ôƒÞêËØ÷BT;Ñø ˆ5éR•ýW{Öº>îZ»‹ÜÄÒÊü-2±€éÀ´>· Z¯ó>SèJÏñ"ô±3– —–Ž¦»ÐA%†£ÖmÞï¿ØVµu!xÖÖÕܬݘE|›“à¾1Þœ®eéÜŸØÄ7¡ñ@Ÿs£²[?Ñþ!ç׫H.î+†ë£ƒôù¥ª7’R»Bϼåö· gÑ õϱýÂÒ^Ûé;¿×mÑÇLÚ†Ò@0#{†µE¨ŠÜؾõ$°ÏØœ1{Jqe>V_oõŒž7u~ç×>°ØÒ—èŽgÈ8ä~ _Q +KÞW@“»àK;ž´ßPMþñzà7üÃápr²d‹~Ñùš•Ó«åðCàXT¾e\pç÷«Íúö<`v+ÔÇc/Q¹Î2“è^$nµ«Îÿ؉%eè¶ùSsõØM™s}×–­))NŹ馦I^”PÔoɺT¸Ñ6K·]B}â½ßt3µª-+LÍEV@ã*0Gé|KìùººquT¡ØÏ¢Ë óÕ姹-L~½ë˜ñÅžÄ*Tw¹ð1×vòˆS2\xxÝU*[¼ëÑÀÅDéwÒµ€S.HzËçÈvÿX â•ì‰Ü@ÓÂûÚÄ2¡\#Î%sÖZžFöž(ÝÆg›Þ +”Û**[éjª-¨­3ÚÕ!ÿ£h^6âIó"¡ iq©oRh–[ÈY%÷°CB€¼€~éôYBet;ùGöÕ°ei{ðwù‚E)ã±íOâÖ6ýzDõž•5`XæCb¾†·E`ÖY›õãƒBšç¦o²°œÈtAu‰T?Ýî’1yq±.愲ÖqùæðíÑ­®Ú8»w=”Tæ|ä­ìC‡DêÐÅ|óGã¢f©×B+±É¼ˆl©Å<4rŒÃŸ¡#†¤BN„`M†´<1u£ÐtßîL%¬8GŒÌ)ªÊÍ´‡”ª„ζ4ªðùm®k#úÔœ8wN‰´u39ûU@^&MôÞa"H3å³ÕLh) SíËq-Uá> endobj 55 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 56 0 obj<>stream +À:G-•kVþ‰U:j-<~• öBö4«R5>Ú$<šÏ€âŸêD|‰6ÈAù}=¨jƒƒÂ  ™u"]d¬¬p¯•Ò•É6ú¾„fÿèõ@Ïr)lcRp æ‰'Ê»¡þ«Û”—ß’]€Ç =¢·M²úøÖê2ˆ~§<ÿÞû©„+NÿW—ؘˆñ ·+f·ñ¤cˆD>dIåa†/#ñq ¤Za!uîc½£ŸHÒôf“æ•xd}ª‹ˆ*•?·ÛwB¹  3Ú`ÐÊtðãHS-ÓÉ„”›s›QÔ¶ITßÃ|gðû¢·ô¬gfÀ©«`ìþH…ÀµÜ¿öN߀Ë÷ ÑNvÜnÕÎÀ¯x _C[, ‰d¯«ü’Åèxýˆ–> L¶m€¬3½nþ +¬‚°ÇÚ{Æë¾zè€oÛˆ¿ænlÉÑ/Éù]Šá}aîž* %Ì ”Q5q{Þ¡@›‡wh“F%ppêó&½?K¾¼ÖIœÑÅák.t2ô8ê–Ó³ê#¨/*V¨A=û½]¶’vEÆ>>>Œ¸u- ÖÜñX:úbžÏÁö™²†¿ªƒ£Ý¨¯²ú:Nï(’d£ßŒ)áóôáý1ÖÚ¸,K;GÞš@N8RTˆFã]ËÞWìe9€sºµ0€"™ƒ;+e*,Æp"at.êcX J¹m¥W#Pw%Pâð—JÔÍl\³aÞòw~0H fË^U]„Øí¢…O!ÓêÇS`—–¬B{Ùr¸æ·&^Á.»T—½TfƬ]kõúÿ¶Ùöucb6LÎP´"÷ÌtMè;ïh4qSt–‰_u0¸úÄî^ lÖ+tSÓ¢yå*™$œ°fèX>é'î8á?>-»ÖÚ«âÆ©àÝ¿6Á럀•W»Õ ZíŒ#§u¬uói·Z¸‚ëY»­~ëûmG¬ü'.[+Dª[«*wÀ]1â@ëˆE8[¦K}·óõÕÓ;63vC³ù¨ G®aE„8¸B 2±Äo¡O/ý!"¡)7»·4½3GÒËÀ¬9‹ñÑÇä*é6¸Ú|¶ºTà ‹úÈÉžŸä¦uÆš¼2Yg¢-CÈ"ÌiÄFZZEa¶ç‚ú¸úÝÄU·Í½¥Ï* %9zGWõÀ4øTÐÏälÛUÛMD†ÛnÐÇÜ]eÏi„I,Ù¦­'Y‡ýÎáRœ“fºi1âe)Cƹ×]ˆ¤„ïËä1è(â@]Z4´¯¯Oé~Qy5Z“H-)yËÔô8»GÄB§Ñx' ¸Ý·<Åoö{¸ë#kƒ™Ø?!QxΓ­ Ï*'ZL/ÖTs!ù6Üdh–;ât€q¨DÀŒÖ+DvC˜d.ð™FÞ$æEHÆ¥P„E±t Ž…ƒ_{žˆCïžS<ô†@q÷ÎK¢rÿ¶½êx•oËQH‘ltgÍ„ä#®Åiè=Öâ*]xA‹#J ¯Uð £#Œ;¿}ÖhøJ¿Ú¿“#vÕ¿2éBMËÑT‰æACßY×Ëqáu•B‹dPŒ&3ü 'Ƙª‰¾ü„øʳ ´ ÒLÁôk>>Nð>ž.ÄuLäLÆÆ9¯AÄÈJXu Kø}ñMáÁ*…O­»G ÛŸôäyËs±Æ VƼ`ä OÑD¯œ#‚æ‹ÒD&8aVòØž¹½¶êä<[ŒImq[fj^êÝUîþñ¨ZÛ¶a6­“‰»Ç6;þˆ.þœþÜ‹}°l*y–u+®šìõ-þ•Ô_ÍB|mÄL‰œ¤üêý©8º-%ìBÀ熢Éub¾J‹dÀz}œÎûŠ03ÑßE>åK¯`@õw{gn_ÈÑNŸï—@%Ï ¶FqÜÆnÜÀt +ŒÔµ<Áßä…ôõæÀFl$’áÔv£#U†ðKa—v·†'—û:ËH’¬ÕÜ“UN¹„¥‰Í§&T”æ T”à"¸ •E-ó)Èm#@‹÷*š˜yKx2ÛŽü0HÒV®?$|rL€f'ýx ¥Îaük˜Zš-,ø£×‰z“¹Àx”(#*qÅŸb{}økÍxûK™YŽ{CVÇÊLåv1Üá]¦*xû‘T±ðUµ6 +!þÁ¸ÁóÀHÌfoáû+”@Ú—{Ì8ïÜü?ŒÓö­/7Šmó«?î’æñ§áÐ|Œ»ô h_¯·&ï:£Ù cÑÑŠ¸‹U˜ÄÕØþ’‘Å_¬oFû šÁˆ•ÿGaa˜nïéìœ}4>µÐYóªsgú[¢%ÚûÎ=g÷¯æNoŽx¯aºFŽô]Myø–ÎY™:Þ¬gŸeªÙ6¹Êö 3©îL‰DT&÷Š’âÎ>é…õMÈ£n¦œ¾òÂzìo ZSŸÐå 1 d€å”æ#"lÃŒíÚLJ†oǧtŸî×;7õQT(BEÈÈr+•ß-UN ½Ñ…*o@Z·2f61K‡¾Ó/r;öÙk¡¸×Vëîòð×ì¦vϯ"Ã#±h«³ñ~)'§=®ñ¾‰ÁZù®\’BâF-!ª4vj øfp±_q´2 9y¼1mq¾ƒÿ!´×ñÊ‚œŒ·×`ä(Æ!‚\]d¨–oØÞ“ÛHgEu,ïYYV=,<±ÊŽ#2ͺ>q÷ëÊqp¯¹wÌ­ŽiZgÒÜ´Š­+ÿïŒó­‡È +ÀqÖdJAl.9´ÉÑ„z½5dÒÄt”«–˜%jxWœ[¸1Á«–Q÷ŠJ˜‰âviCð‘žF"Çn\æ5ŸÒ©›ÕϪÔóTÂvž/´[œ]µX¸ØŒ}ƒ(R%åG&6#dñ"«p+3 ¥Ïì¦GgËí„ч¾§•ÒÎ\ÔRÏú!ƒf“B‡ýØp6’á½Óù1À †d3³¿p{Š•´^@«0Ñm’––MÃúC­(:õ.±7»6iuðwºYˆÉð.¸±BKvõæß$¬£Ý=äñâÒ ²+$€}t8¾?$ž’A˜š•ƒƒ…d©‘—ì²ážËGu¦`Ìâ3†CtB]Ù „ôp½€"Ôl¨bž±PZÉr«xSF§LTqã‘e’‡<£_/­ñ×"$ææßçÜ,ñÚÊ?Ä‘öëêÍ‚èÈdìù–láíS<^ÁâëGVòîëûËÞRZlWBêÚWD_0$8%+¤!(œf +z†Ô«Q½ ±ŠÝ¾Ï‡â\r¬&BÒÚ†—%VzXÿ;é>^³Ú0üIdŒ,Ï4|çWq†5†hàK²°¿ìÜ ã ·GimÔ—7½ib|bRXÖ2]JSM,3r&†…EÆÿgÔÙ|šÝ3{‰Da£÷ü‘Ý^ é·FAé9‰ü÷r­Ü6ãLT f|6?”–0ÂP}}Nþ–fŠ`Mk=ï¯èq`¸$3ç~œícò@Äx'ñངõ3„y4S™í£÷J•¸#ù[V‰±©Áøk«²+ç§XC1É„tR#Á…÷!ÊÃË Ê%u³Z²«›8 ¡•‡“LV«@?݆^ iË_jåè ýÜ3L-ªê]r%®r! p´(ùÄI¢¸u_\Ò¶sÓÊ‘Å×™z1rN*dÛ_V-.©d–ø]¹E+Ktt<íþ¨Š@}Vöíé÷[¸k.lû‰NBGz1¬ ¬ÌÊ°àÌcyñ&µùdƒ0L§‹þä*RÅœã–ÌÍë‹~ÉŸ‡…^Q€:îÁ €7öºd£êóÝZæaDd¦®§ëß*3Žâ@¼K@Ÿ­íMú{Ûd*• p,œ ¦î”P!"aä¼z5“èÿ·/„æe¡ÛžÝb„Læ$nœ|à(éG‘#[7¢5c¹š…`Äþ[5÷ÅìB<J榩ú¡ªÃº”R<##ݸ`Í©ˆ:ú1/&þ/ÓÄ…—à®ÚÓæîÐÔÕSrkhk`ñ™ÇOã8ã[™VhŒeÁ ¾{þé'àš!®²jîVþT=ÞzWrYûá<Îp½ Åc+û3Òé=3ɣϗñ€Ä מ;ez0‹à¼¶Œ\!g¨T>p%Șª 8Ýò¿2ü$˜¨àÞѺ-UÛdžµkQ`ÇpÂÓŽç&…kmÚ49ÿ¹Û#‹þ^ªiG"Üñ9®‹–Öš(¤ÝŠ@ÌS¡†þx:¢·PxÓ[ùÀÙá¡®õó-ªª€Ô‹æã(7ÀâWÉZ³,;p\ÖáÂÀƒ9÷%$$%x°±h¢=ù;îJz{rÅ|êéÜö˜‚lÆJ±†÷aÕY™zÍ~È„¶ÒÿôÒÎÿ°›éæ%x'iBäÈ‘º5B¾û»Øc±wkâÅò–è¥û/ÔãÔ]"õ•0‚F'‡’Ó‰W“6-½zH^1RUžÕý¶¸r­”j#=ƒCZ5¨ìvjx}ìHHÝ9÷£¦ëŠaìó|í¤Ïd êQËOüt\£½æ]lôN[¿ÛÞ äo ,ijhY˜öÿYâÔò7 ÒtÈW¬Ä°C%3ÄÂØ5¨ä–{‘Ãt0þ1`ÁXZÛ Q gùæèsQéå”B¦éÐÈ÷)¶åH /(cijgýy¸ ‡F¨°|ü>3˜Š®¨¥x¥ÿäërÖ•¬LòBí*¨¤s¯;ÓÝÆo(¸<*o Ua~žWîóÅ"ãóÒhJ¿¾ëŸ•æ3·îêhp cÞe‚ɹêê_VÑR„Yr |fì“mðÄBðHWd*W<ÍB{ø†·y5M¹‹žÞB«H%ßd±„U•ühÕæÑüM> 0‹ÈWèñòvÿŒ“ùùÔ@ÓÔO¦wý°~]Ìت"s…%ò% éѱèIo©†w2bh¾ïP "D ‹Œ¥MÚ‘èô¬†0ì(à)LDCÑ)Ûõ-Á<íTÊb¦¸ Ò‹Ö[’iÇ%¾ºÙ¾j^Ùèl yÿÒ5_Ýy«|þÊ"9êDJ±gX@tÌH('AüöŽÔê\zcI…ÌÖ×Km@mï²O–æ36ꦮ¡™T„ÕØ›Àé.§WIr:N¿Ïºtªú÷gs>GÌjp}ÿp¼$C{]º'R!nù¢HЭFTBΛ¯©ó•[K â•ÔÚ +È/D"»‰_ +sÀȪj›G°_RqàX)ôÇý›ü¥!íõØ¡w |ÆFrxàû_d£Û¼bî\ˆnÛ3ç6zŽ…ÝšÐÞ†Ñ\w|áaÓsÙü ”y¯7ô÷¯Ùn†­C¯N @ö¾™}'CO65ià‹ýuCêÚ›u¤<ÔQäÃ…Í÷©¶2Œ>JôÙz68&“›3øì’´G?5¨R»p5ÈwgA Ë0œÈ²è"N˜O_oþF¹¤›ÄfW.“s=€;/¾WƼDDƱ8Dëï +endstream endobj 57 0 obj<> endobj 58 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 59 0 obj<>stream +UFïáo‹h÷‚y6@WäĨì+àsA$hÌܤÁnœ"¨¶U¤Jë2 T§jíÝ š’LU7 º1ögVƒHÖØTý0ˆ(@r$ãƒÞ:RRq7°‹å Q^ÎüVö‹Âß~Cu‘_çßvòûÿï{Ñ_TwCÏÚf4¸9ñ­íùBë<­_+EauÉ*²"öxq!^vÍ*<ýˆ‰õBMV åöJžHí_þQj#Wðþ¯´ÑÀ×#1X,¹ôÙØ£ ³@n›o¶ùáµü7ܤ8LæÔ:<ü$cAsÌpËÓįCRx°lĘ»¢"?ÅSÒZù‚z)40tíŠHO82ò) &+¿V¤ «ÇÑ‹+ÁàZoªIúí¶ùã|3ùénó¿ +„²oeDÊR“\à\Œã:ˆbë¿WøË·-Dâ O÷=>é'Mg?Ê绢¶Ôç[”ásæO6—ª?ŽEûŸÀ¾mÐÑ¥WÛK”LO®R(Ÿ8P‡ñãQÓ˜>‚B[ï(†<ðÿ£ðw +)o¹Öâh9âÆÜÿ3ãéS@Ï¥ª>‡(º`ÎLàRzÉÑO Êø²°iï~ÓÔ°6+ïøžM(5Nà-Gø3BhÈyy¬å>gÏêø“°£ÄyË}ÃaljQ4,xKƒL T):Ý»ïñè÷É,Ùyfþ‡4ìË#¡ ¦Sû_ /âßµ•3Ÿ±1aÁx—Æ?wn5sC9!r…’-™•æï³q÷僸±ìD½ïÊ¢µ’Á”.7è’G¶~Y¡\¤=\ö}T¡=7K:S7‘Œ¯ŸZiØ…\XE‚ ×Û¤ k>U"ì*Í›Ï[ç5ýÈŸVL›uK‹MßÞ€yX†¦û‹P¾\\±¯¯ÅpWŸ †|_ã +‰/ˆ=Û—K¹alhÑžtv»Wë˜Î¥<ïXõ# $‡É-'ôXαSɨk¡@üF0/UÓÖ$„,ñ¹BôœÈþqgôªZPÜ=ܾréx†³õá¼3Dâòê³ØÂÝ0ò{ƒîÑAØÓtÀú<2(?òC _ç¹ µÍhE¦¶O 7›';TÕ:òB°_îbÆTö X›GÆÙ%ªµ$MU-.jè·X °Û¸æ|C“²™$Ј¬l\JÿbüÜÜâïè] ÞDŽÔí¶ðòS²§ÏþB#D¤=—ZBzXê}9“ rεIc8 UŸaÃBcv›»œÝZå"X+›T½¹}#yv=ì¡A©AõmŠšÜL?Õ ñ`°Ÿ¼Ÿ›E²õÈ×î¯5`zWSÒQÝÔ0¬º¬>áV “w[$‹‚¤wñy»áñb—ç’ ¨¦…'¤E¿4zŸJ-ëú¸k­««Øíaì‹]´Ùa™7ÿPš+ÁÂÚ*E¡ß.Z–¢e"¯‚@E­gˆÃ[^)ñàbÍ~l9‘žz£ò.xˆŸùçÌHëøn¯«ÿÂtF‹ƒ¯¿˜zW@§¹w^ãÝ?ýÂEïF¸믊‚ûsê1PextüpŽ_ϬÖôꟸÄÜ)ðz³mG`¨áI3¡Š8¬%y¸—0é®·†ºŠ Az,GùTÁàêþ¸þé[ѯñwý ÊÁáñ,«eË ’¯êþä­ŠA†{;LÇzdfÆ®4 ÿ}ôÝ+éõnx%x;á’à+ùhÙ7Ú唂sÿìÉù3ö©ê)DÔì V§¯IèÑ)¥e÷•ÀÓˆJ¾×g‚j&;6":sTVÍü‰±Ýå°Üq¢hëÆhÉYúüßIûóá0Gսŵz¢ÛF®ö>% ¤t2ì‡E¬Eñwj¯Ïë.°3ÓÂ2@‚…ôCOß-Ž{ +h5ŧ ¿g51n7öDA×µ•W2‡ÉðÝÓ=øÅâÁ= §Jo¨’V"Ù!•@ÒþÿDeeÀc`>¢–ßð‚W@Ù'Ëú#Cñ¼¶êËŬ›ÊaÒœ9u¡ÐÍÊFS…–WŒóR—AÓrMÜÚµå¦ò…ê,í§#óšŽfiÆ6&wªh¼Ç~^Vj?1<¹Œõ0WR˜;u8ºœ5Íew‘öz:]lô}ƒêÛÑgî‰nѲ‰‚ƒº^d}ܤ¤ë›´yø·¨>BIÓØç Ð/Ø—e=7?z©Y”€.K·ãhÖ¬ÃISà5n;Ö׫œPKèÉðIGܓ˃ƒ<˜©Œ·-›Ï˜’íÛå 1ÑYÎx^èU``‰}DòåÐ:Á%…´±öþÞ±'FÁÉÓ¡·bÌIþ[]ƒ V€ó?,Í+Ñ~gŒ@Šì±iTCû6ÆQe¸Q CB¨øñÍÜ"~-e³¢“EºA›©›à3^Ô“™ºÅfJÔ>"œB©£­jT7¦ Ʊ@Çh©ƒ;{~+óËúïß +²óUj¡í˜¾wX`VEײՒ$zÃ`•CÍq3¾t0~ê¥:¯“¸ ð…Íš]î±5L~ö­bÑäô Ú–¥£àù>Î %à^س8"·Žú‡md|.ƒË,ÎFëk Þdæxµ,¶"6U2ÂÓþS/ù³î€ìž!E½ÚàÙgk=S þW{ Ø£ŽnE—²v¶ºÚzñl­AÅTâ[” ^Em}<6œm+tz©7¿l‹9=|â”sS +,¿{ ÎTnÍk`¦ï«©Ÿ¦¾ÊI×ff_8,„¡° +F$Ùá½ý0gõ'|ÌœUf¿ÌÞëd ܧ"9Lßù̇Ø|·äaå@?…PÍ4CÝuêŽ8i2×úÁF“i¬è hVæÁ¿Â;zä²äFû +‡3eåÄU{Ú‚jE¹¬ÕaܹF振ùé} ~£Û×Z[`N«ÂÑõûùÊ€Ÿ7c4㈤`ÝãàÇüž&²©j–žöšª¡´ÆðÄ>€-ü]æð&ò³…èƒßV}Ù†‘Ñ]Õ6ÿ§ “!ŒKã¨É†o`o(™¿ŠnãÿÜI cÏ~¼ÞŸ,â€ÅVšÉ7µÓaG3üEå‘¢‰–môX‚þ€/NDˆxg$]öp¡*"Nòm`=I©eQ“¶a×\“r Œ/ +j\Ŷi:æå ÔZ Ñe–p¿ c؉Ã]ó¼5Õ/iþˆý§1 z¿Â6#òµ·I–ÄW¿Ã–0\Íqlrøêê¥Ú&å5ìª\­Ã¢‚àܥǛœzä¡õCŸ±:BGâ:F §Œ-¦Ý"’S}x®~Ò˜Í}ék^Ížû«+T¦Tp3£ÖÖËmZ½rÜùµN!&‚ð£ª~pØ(˜ÁÕT°—×’­§ºÂÖ:Y™8¾âÓX'FJ7©ÚŒŽc±ÝÂ¥ƒ5ˤ“kó÷¨ä¤ªOÖš˜ŸÇòÁ¸+—Cº—wºØò=ÌéÈ@¸Ò¤l+<°ñÙ‡àa@”ö½÷ò¡XšÁÔy¹ÑÈTæç3¯` ‹ž€.ìô+‰»®°·àŒ£b¹ÿóÀ§·ãÕ`Á–\I¬g­“Ñ9Êl=~„@ÂìsíØ\”t„Œº;¹(hùN ïfR꾸d±¸ø%TR®‰Þ‚¾?§Q4ïÞ‰{áçºà¬|ÆfìÐÓ#ܦVãCÀŒ¾Vž–rPw›U]W×®O84rõ] Ø{ÛŸŒ\ê±ÜêynFã=Ó¶¢H¾›g6½©Þ-¤d¦}<ʈÀLÖ^óþîk•$}ÉŸ¬®“hË°e« žYqú¡}DSÁ£`˜^ü&Çá#àÕ9@H°Âߧ ‹E.| ïz˹pn²SâÆê]¶ñÿI•×u#“pÌ@ìüÈ<è&gš¬`­r¨âKDœAãëqâùÒ¨ +8ºÉ¼Ö£3Ï ±ƒïMn°4®ìž¢•©œü² ÷dë"T‘舎½K +/~’Nnó9?*[UuÌÄ¥[Ü*­nu¶Üñ¹°|t§B=\;Lœ +PÊVb“Eliœ9|0DC¿ÀRc~ùÐϤ¾6P³ð©:yYÐJEì/ÞeäO¡€YÑyM#¦oL fœÛ§7Y¤BD3À•µß¶[mR#C`Ë* ðØùÔÂÄ*”ÏϪ^éŸx”µãÄèAœ_æ ñ)ëw<éJ,¾õT@6¡X Ë‡6mϸß ÚEV¯MŒ|¾Àô»«ßht£ÙBýò¢b15rXkJ[ªþú·¼kKç£41<:Œ‡ªŒ”jáíƒg™è`"wkPØûIã +)qŒ±p”a*H( ‘VU¼5§oc’bÓXaËñ¶¬mü6’ZA ôi¦oòÆИ­ä°AìJ•ÙV+¤Ìž»öyßo'l‘9û³J(TÚt3n`ËNøÒËŒãq¯û6Áýš5ïÎ X÷z€ÄÖ¸á¿Ñø`¿ï“÷V›Tc¨„u‡Ç@ë·wJ¹ÙA²—p4û:é­¤0W: À#Vs]Æ%÷H4ZÎq»Ó‹ƒ}?ï& Ú…GMÄS¦–+í¼¬mC38º›Ø5­-ª´Âš7Y£¸rÒOe H'CýˆaZÏŒ+IòÝõãñfMú£,WŒ7ÂêËa¿†:Žåú8Á…_oOø¸E Íóó:#QvF´g¨[w ÈÔÓÏž™•\³…nI=v¸¯ò;û³˜ÖVçGQÙéy6‚\’o +LŽ<9¶Kn~.÷t•¡oÕ"BÎFt6“«NLƒ±Ÿ¨/á³*êC\LÑ˶0Ëþ“±ö@J¾ÊÓ˜÷90÷sØÑ$Ö]¶Ö(±ièl¹üõ„ðÂ}„«Ø +g÷õœN WW™t½3”7²ø CÞ”…µÖ˜d=/}þÆíÖ£ŸC^ú!Z"ÛÎ`3oþrÔlܳ¸INŒ‰@ŸóÏö¾aõv”ÏyXl~SAƒÉŒºqÅ#¡G·dƃW(ýBž„f‹pä†ó9‚ýUJixWý˜Ûò ñ bIØ¢¨.kðHüO‰Ì~÷Û²a¡+l|%Ä&ƒóë9mGJs?Úë…ê ’êÊoDÖ¿í™æÿ€Ï%nM³…¹Êc#ޙبò¨qÖ¨0îº?×W«Œç˜84÷$#È0oùº$)æè@èqA¯NBˆ†,(vÛàXñ?Q;/P¥×Ó¢È68æ3‘>GhÊé»uM¹®bTîÌ ø.ˆV]!ã&Ì€‚,6·°:l©Ì šm±¹ð¬Õ£å ¦aÚ8ªÐd ¡U)#ýi—cÊd[qªu¿SGÚéyú7ÑY}Ð2¡zëL¦žbQÔmUÕCÝ£œµ¥{ 0 +»¾p•Mxg]Ö}@PÎÑÉz0jw%x„ªM²*@Ü’û¡=+X`¿ê;ÇAr6êû±·òƒš™°±®§tê*ÀæˆQT)41¬ô|DŒŽJÓÿ TëÁ„êÂìé¨%Ö¾Cu~ö*K¿5 „œ3Wê˜ßŠZ\™ÿ³·âz3§}uC§ %ËÆ\ÍîÈ-c´Ä¥ ®Ñ'QR¯Ï¾•ãÒòËP‹sCúi–øC)‘Èê¹Nþ‚„(µB@-ר+# m¾ö%ÚÎíç]ºj©Æ+Œñì ®8!åX²ÉäšÓ}D 3©4"ECm>– +è ~+eOy$ŸKÉE„¬ð/´‡Òü¶”9^ö¨,:ͱÞ„Â&)XÓ`Žt¶j T¤ð¥-²#štKÛO ãÑî‚Y×v+¯^Dóü +ö°>4pô/‚Ïó¸«Ö%Q`'{M’ÊŽöÛx{Ævx£ÒÛ•Óšü1ïµ{®ìMÒ4æ¹[Í­„ýä Èž°ïn•ávûµ]äµyS·Pàæè²ÆæS†ñ¤5ž˜Sën=óoùîá#oŽ*ö ÔW4–uØú³Án·PYc£±*ÐÓ¡R¹»?»uGâÈ%æz¡[AZ»€xïUÊöÊÒÝ1G<á÷Js6Ý륎è¹â.°ézoô/)‰m#¤Ó(ZÊQ+zJN4íl³œæÿUœ ¤´Å‰Cú¹Û,}ƒÝ')1 «ËlßÿB6ˆƒƒqDl^+I{a7‚,Ø`Ô"ÝÝâøD3)Sjï­¶ÙrTÔÄÊRžù:XiÆiøe9±k3Üÿ`ŽÄ·³W—»`eÂò‘¢ª;ruõµCö»ÐK,8€çÈ%†} O8„‰Âš¤(§Ë•Õp\sÙš¥B '†;iÓŒ¨óš°;0?Ën]`ÀŽºƒè44}+\Xqžž–rùäæR4Àe£1i‹ÇWÄpÞÄ)ÙOín3¨a?E½ï'HÇ OøòÁt*?SeàªÀ<âÖvÒe6²|FªÍL‚½CcGÀÄ=ùî£O>‹‰ ]þå¡(}+×+´I¢¨Ÿ؃TOäï©·ˆMÞqeñó_5c w?±Gò‰¼¦¥+«ÿ:øPyà^ÄÑ&4z[Ì5 kCÈ}³t—"‡ÏpÓS_Ò-`ö‚ñèkKÄ´²¾°.Ú9¾ÚŸ[/£ÉÈz”ƒq§9¨ C·­™A¦]‹ +¯¶˜éúœF»Ž—ÐÛ.ì#€§£ª}ÂÎ8îßêð'U‚ÞÎ2Y¶nËã}6V—†çðn>³2wµmxÎñ+œ ç8»hlYþ4¡‚4È©{‚ØkšQÄñ„æI]¢EgBJif˜+ú¢F—‰|Ôµ!€ú:EÍæD¯Ø* ¹§òîîý +bç˜Ç…¡{É…hj|ÐÞ +G.^Aÿá9'„'e^I‚Ò®£²Ç쥭,Ÿ»Ø:kG+ÉÑdž&; Aå.#«ÔǤ…våRšH7,H-Ϻ¢Ë$’Çö/'‡ñÀʵ`^þJ:$D]‰“Û¼‰×ͺÔg61´® ÖJŽ¦°„-¿ê×y' ÛŒ<b÷¼©0Ýa“ª[¯]þÕIj¡XZ¹ÚaZq@N6f¹„[õ¬ä<™ÄE¹ºQ¨ja‡7ÓPàüSžWRÀi0Ú÷ÏÖ’þEPcCÊòê 5ú¥ún®é¬Ð–ι’ßáëÿ_ê)k¾ÇÊ}@x|„ݼmuf³ãP.¾í+iEå·k±Ûe +‚¦vÌ£›}§’B!-ÍÐar†.#>i•ŽÏóé®T#Ë‚˜ôšª(ž?!A¤èŸÚUdV¡ øçf\GRåÙÀbƒ¨^x7ýM>É^¯( ‹Y°ߌù§Ôì†46<´ +Ã]¸YWœp’aap?}nÒP/;Ï.µN0,9‚Ã*_‡Ó=‚JŽ{xRX‚œŽvœ]U¸ÕZBˆ6å#ù¯W0Ÿ¡6ƒèxå@ð¤8&¸V×½C7ˆ tò"äã·(ãð,Ä9ýIµyu e"VMçk~4Ú¾5±6°ðpz ÅlSjÕHKáS“׸dw2[Ö‡:ÝÊ +M…Ï[ÿùÀŠŽÇ¶JnõÅPéÐ +; ¨Ô¿[†ÜÍâqâx„!þn/|$Ù²Mvæ3®(û°äžAïK3š’…j©Áš’òQ=@çAŸA£’óíyLUþù${È“1ó<Ù5ß­5g©ô£FÛëQp蟚¹"£G^Ô‹=?(Æ¢Ø&§SÔ)B„¸h±{¾&ãƒÃ7wÌ„Òƒ¢¿ß;°J‚ÀÌgÉBh×EÅêØ;qèp¯+fÚ5“;W+à ­¦¯7’Š"æž4ß!t”ü}­³Ëj8íkXý¶Yiu€ Úa³[:A‰¦×ó­ÿŠÝ„×ɾy*—*ýäùiHš¦pÀÂ]Ä"•‰iå6¸pœ!,]ègØíÒIrã²Â‡9Ũœ¨O}³,)F§P›÷ Ðd¯v:çP#7x2ÍÏR££ÔH¯Fø ÒéM¸jŠ`†€r‡Û“}…*k¼ÐŽÝÞqŸº†ÀC «-ñ¹¸©ü[Ít£/û2ð#•Ô$kî~ã®~FŽ›ýðÆêÅ[ hð×"·!ª`…¦œtem»‚oÓ|WMzBÈ )‰³ÃLØEîòÙ©äñÊòGýùS/É®rÇð˜U—Y°hÜV˜äB„ÐáÏôAä;]½âîÏy Êý»VhtÙí–[ŽÓÃ$šòýánX˜„å®G®@‚’ +fŸöd>3×ì¦ÿtà€¨à)[дŠjŒì‘/ +a¦) ¢½ó¯nJU•áh¥·ÝŽ®ÂÞH yaŒÚ ¸(iÙ¢Fösÿ!Ë~]˜KØhÚl‘¤ð±‹a‹ÿë¬uÿÞa(õÁ`ü–üVøĵ‹Þjí³SM §o×&Ï{u¦Ï#i/–x’Eiù *g–#E\ð‰íÛÛ[\‡aÕ@¥cßÚ0¬íñâ‚Y؉õìtVâÙ ªDä8ºÉIN.:P|”+’b{î9:M[×õ×åb_¯oed€;Ò8oêü3‚ž9ãËü¥Í2ê2ĉR{‚|ú/øˆ6o]]-e,CÄúsɦ]ÐåP†OÎ;uù»¹lV2Š.ï>CD÷Þ~ahêRÐQÕf--’_Çó>ÐË*c%`¢4çû¾#æ~Ý`a7:pžÉ!#D#Ùøµ¢²ì¹oy#”÷l•™“Fð6%³º=Æd+»!…ä^zØóµSØ ½mèšc‡p.îÑCn7ïy*ÄA(y&›hÛb‡†~/P&%œ( +âÂÿ}@796ãJö +Õ ÒI­¦ˆŠw 8½†º{;sϤ+å Ù –2€hÒÌ|õS¨ˆxQ2¦„-¡ˆùì¼NmÙýnG†äך¶}áËqBPé|Åó\w¹šØ4p*“Óò]Œwå:TWwAà˜`"\ÆDªJ‘̵OÒBË©àòâ‚ïÁª î–fÿ0Æß#¤™îÚ9=ý@Ì"„[…l‚² Ô«ýY´[15?!º¦¯¦Ì¤³ð< ÔR$`¾Yæ@¹pF» +9z“µS6`ÛÏ2⯤¨•q±ø·šc#oÒ sJ‡ÐàS?( ¼ÍŽO›½óãÙ6‹h `Ónr`ÓlU¢¾á…#W;,ŽŠ¸ãªë%vÜsq@Úëlì‚w«U-0ÎÀÖ¾w"¾)L—¬ÃIx÷³ôÔCéT# B”ü•ò¶|=O³9Û™ï< éáì‹éSäLgœDé`m»q“kK +…UZïûr‘siÀÏ«|”°¢¯è˜tßYëèE]\wTÿ€·[íQùç²í½=Ø/ß37G¾Ò’É{Õät£”³$)<1QJ|œ®G‡Úlc¿&¿úóàE 3§’þ-óòÈzýb½Ž_5~d +j©ÑHæØÏÅGéÄåÙàšR„æëØYPÙ3äa4Þ²Är³!ù¬êNjpN¾Ú3g³¾„QöÑÕJ’„ˆ,kDçd~8;_©£žÒ-‰Â?ÞŽVd‡¹Í± É@RãHçpïIJ-7´xÀš:Þ`ˆP[ܨ/ª„±Mù÷Ã(=M¸3yJÜ5Ì`Ü ¤¸)0Z=þÏ ºAó‡*›F@‰ã`Ór9µP¾†y¦¸X²CÄŠy :‹Ær]KþS1>ˆ êê}ÍÚè!Ŭ›9ü,Öéh©„bá0ø²Qÿ¦œ~«@¡Š}uÁóɯªew¼Œ ÷MxÛ’ ø/Å…Pm•@–4± “DÿÀ5« ó†Lû¶Êàäu4K*‘ÈCvVÈ3ƒí‹”¤¹Ãjß›mØš‰î­peŒ¢ð{B¯rÑmƒˆ,RÛÎ$Wã)árüMj1]tþEß0 Ôßñò÷}§szÀ6“n†”Š¿›ª-¢MÏ,¤«sÚ~ÍÒ*ïÊ6©ä¾&H¾ßWÛ e3h9 +endstream endobj 60 0 obj<> endobj 61 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 62 0 obj<>stream +¢sÊmÄdùGã)¨ÖåŠÑé![BÕ&vÀ–ÿà”ád€LÞ™eÅ„y¨B¼#ö›gßÊìºÜ‡V¯‡‰¡ÿH_–LU!Ü£i"_kËã s.YTÝoRø^¢RVðÐ6(¿S&F z˳_5%èµýÕ|U×Tf0”õ’‹µ=côG6f¯7î¹u6“ìy§¯ÖÀª¬ì΄¹ÔäDÄ‘|YD8ïk,}/I³“=™,w¥5¢Œ4 TD‰sO™·~ÿÒQhŽ\M€%Ÿ¯ÔÑ +,+R-Ì›¡Y÷q¾Ø†ž…G<󛌥~ÑϲÎFFPÕ‡[¡4™¨½ºHuÁgYáã%¦<êÊßbÕ*æo²òøt ð & Uâ¾ j4¤F}{ùúr8ìÉŠXƒ#]Km¦“j±¬úg +DýÏSÑG<»7ï“:”T‚û…‹v$aÞ7OóëºÔ©‚'rü¹E@&z S]ª{Õ:‚­`A\îǵ}’ –q#öÖ]8ûzºáÙ_€2DŸâÆ…¯M(aEQ?Ì•‚û0ÌÅý­Ëè¹/;vÿÉú ÃØK¨·p&½¶Œ›o…a&ygò+`–16±bf<”ƒ½f„¯‚‡g€×ÜP~Ò–Ÿ¦"=h7ûó‹(´}“™½ñhö¸®,íGí;a`¶@×¢˜e\ ìY!Cÿ;žnjŒ:žz2N,h¹äÿ·ß4{z7‘L\ΆÌô™Q~‰´jÙ‹Ìs…jê`ºf¦S¬ˆÀˆ®õ&Å°¾?Ë^SmRmv »ZdïPv6šßÝŠP” îA“]ýÎx5<‚ŠFooÜÎBÓÖYlq£¸*zXÛÅ} 6źÑ^Ë‚­µžN +,!†.•T|FO­z’ Z +F¡xÛ¿!?(Ëÿ!Ü°b;c/jÊßHüRÐý®¼ö€á%˜zŽ²}Ü´PTVI®ÕàíðÊVµÍ”eäÑM,ðjWë*2Äîø´`gÿ•äу áà^º¡}ÏR¤Ê¥­W\=ËZ¬q¥Q~T0°*\nDƒ©Ç´Þô Xç“Ѓi±ØÏ¥÷MG+JùKnêÆFýû¸Q½ãò¡e~ï4ªŒ¸ô*úÇšÃô¤‹ 1âÆÓîžqéâd¡WêÚLsÁcd‹×}©Ôè¼ýå~'¦n¯×ì»´ììߟÇmåZ.€ IÆÈÙ:Ó»”ì«žKm§…Ã[zuÜC¡6Úp¥òí¬ÑlNÌ3U·\žJñªÃ®ÂÏiåk=~Ž\òŒaÂÛÈ&ßçLÄ0¡óKc„åF,G¹Ë”³„]ƒ,êÑUHŽè—ɇE‹[1S*”ËEÍ@æ…†ç;óž::¦æ5ß-Œ~:²aä »Ô¢V­-{ôDÁý’FÜTøH¸TnMf,%ÀÇTX[Èg!Uü7(z2°d\Jt*ÿcÚ~òˆqÄ¢ë”q ŸöÑKÉGÍìÌMá›gVwÎí$ÉÝÅ#LIØ%­ZúI à€™¨Wtœ#ô-"y36åÙ¡Ñ:hê+üHïZ(¹24ƒ¸«ü˜"¹-Gçí +%Z%¬HRÖ_ÊÑ´^æYéÞü0ÌoÎöÈö‰. 5El,;†T;–ÿ÷Ìk«iªŸ ³éµ¸«º_bCС$ƒ:ìqÝz±1µ+gí蕱­ÝgJÏåy.ˆ®rÉj`Cܘµ\I,õN®#¤¨$§Ÿ.ªKº‘ŠöžgŠÍCÂñ,Ѓ$Lk°ª‡# + ”Y‘É +*“µB± +°nªkÕ_4à1)(;¸_ýá€ÕÓ üŸiRæ`onh쀌9€¯0žJZ'"…”_U¾3—ŠõªÂ=SmµÞìŽììRŠ—$ËCq-ÚeÖ£NdRýlq …¿§ä6ûä£Ú&]¦ì3ËÕ3ÜE`¸WŠ>Tèñ‘–fÖ‚}ÒõâÎÒ€¸ô^kû+\f󲪉ó Ê15R–p´ ¸ùü3ãH×ã9|ú4•Ýû峈õwÌø"B"D§‚Ò8]·-]—ö¯‰Íñ˜aY‹-1C`"Ë 8Ù°^˜DŒi GóÝ„“ ü÷ùLåÛt)»º€ýÞôåážø \ûì¸Äk€„Š=h œ5"6öL€=EélMñ†/Ô¯+X†&4 7l‹)&\¿5lÏ5$ój«Ö-–Òï¨ÊHʵ¹pÀ`sÜÄL‘Û¨.«ç8`§ÌRxÏ@~¥a=Âòˆ’ýÌ. kç¢A°éʾ {-Ã¥o +ŠŽ\¦!NÙðÕJ]¿k™IºX¾Ç•ÜÛ&ÈÀcNAð½ˆÄT¬©ÚÁýdâÏGÄ 7 iÎƧÁáš^‹+b•`éWQK;VMÉ +p¹ÎþM'¥E£œ`Õ­d†q˜„5ïܹG< ø0Ž,Òi~{¼°œž7PÔÑÈäYn> ·c=vÿݪº$‹ŽSˆ>¯¯j ížÞ¸Lr£zˆ(<»Ôék¥éc$3õÖPð‚Ám†~š€p’tt~WK#( [¿ÖFÿ-*î +ÏÇ?ˆ"ªáM©LgR4ºçWøÌ”B :à¾ÿ ¶ÔÐ.šÌ\‰ &òPFÖÕå°²úˆR£‚ÒÆIé› +0Ÿ§Iõæwƒö+(,šót Ù_ã–üÙ ÿ|à«ú¾7…¥)©™0ï ±Vʳg;o ÿý¥÷E°ïáa3#wi¹d†6ç3–énꊡ/Nüv>úš*Y¹ÇÉ]" +kËÜ7ûSý ŠüØæ¬f‡ÙÃÿ ô$餄dªj¡ŽIÒa‚¦ãóp:loDéJ^$ÞM~ô‡éÚŸ5‹*1Œ-–e5*ôËÁ¬ØÞg ¾êê?¢£Ýº +äß5<õ3tt˜­ÔaÍA‰Ë +Þ|¾Îþ³^^)âN²ª(GcØk_êzZ"‘‡ºmÊ\ïlþÓqÄJÓ¤7{ø‹¿ ¶( 1BÙ&ÚõÊ™Ò릂ÒQWM]AÆ'檋VÜ@ëúhÐœTÜÉ÷€𬭱(âæ]éþárÕ3Lw‰-š l†o ±bŒÜvEÓqBø’€ÀŽd®ÛÈ5— +ìÔœPKÎ ™åL +-ÏÖ…CÒ&Gù 5’ùÚ"Žº¥Ò&׸–o}£P{V"†h…cc·|œ–Úˆ³[½…[æ'¿ RÈ´Ú Å‡Gø2V'!!µ¼ ‘|\øÛøU:7 øкµš ]‹4Ï“¤‹˜„f×ëÍ°€ã’?¬ +;9¹·Ì"¦Fùo´Ùu{—ûŠ‚onôǶX Mð2¹¯^[M‹ÔpÆQz0CÓ)eçç  «ðÈÁÆ%Þ'œ¤Áj\YÖ+ Žý©Zúù00+&p›êTN},ºoðzóeE¸ÿ¯z¼%l8jJuT¯õ%ÕRÆš‹ÿ½Sí—AÚbåk/¦32¢ìÐíj½; «9]•Ü25a';‰Æ&QeÅ7¨>y9Ò uÙÑ•*Ù¼/¾ŒQ†|ÇOí¦wîæhñƒ}ļÿºŽýeð—õoUOÀ=Óo‘ô—jŠÛÝÆš×P‚|ÖÑîäòôo +”³÷a#àÚÓea܆ìCú°ÊÐn+oj%bò¿\«hƒƒTLï‘C2[5å@b»7Õ-ÑJÓîË1…Çy:MÆvöå\3vh ïEŽZãˆ\u[Á¼¨j˜ÅLg…8Ù¼ž†§/k Ù^ÒGWU´¬,3€dš³û4 „ÉAJuPlrÒ»P8ñl- ijÜJs<¥Ý’ ñ7þÂp¥Ô±¨Gü‰t=ÌjÚ|8¹‘‹;9  éRýc +ìµ\B€›£Â©|Ç_%Ô9 Ç‘Qß±„Ÿä”í¾Ù?¯_á0‰¦RÇ,ÒÎÄå5«ªO´¥y¥Už>aõ®,ŠhOJ€|£g :±‘l%=Ôš¾ê£×SÞ|ò-¸ú2¸"D*"pÕMŒYF¸®R?j—I¨v¤öra0ÑDNĉíƒ$°硼t‰LÜS’/?oÂÉ‹Št @ú÷BÞiñEîôÉšQÚTG,b»JT"Àj ‚ûH¸"½T†2ï§î„i“3Ë7Û&Ëí£Ô+´žPa=G‡“ì”ÿ´Ðöƒ#Öiì¯G¥4‹Œ¬ä+'½gñxÕ©|ûIJY®@58'O_ÛÞ›J—L­X}K ó¥Ð+–@’- U,ìö ¥˜ÕçŪ=;w·SbÕØ)á¬VÚ:$‹y7Bþ]ífͯ]Í,_BŠH8a‘Å¡ÿÅ{ý%À±¼¨.žÂ)J:ä!/“ žml.¾\¡ÈmøB«‡¦²K X6çx°‘¥âF9vT'Òº·©¦„1‡´›Ñåõ ‚ʘʧÛ)“óŒj¼A_¬¼‹iÇü[ÚP d³vK|«©TÊòi‚áR:ñ ‚dû¯ =2˜ö™:Ú‚¾®ð46¹Ñ^¾—iÃ!K¿`ÑnÜñVbYXx[!ûK7ݽ[ž*~™v¼™á+ØwÐÙj_ï{²³¹“ú7 æhû·Öv.ä1­ÐÏÙ¶iJk:,ˆ Êx–yñk,ûFW)|Û9ïD¿oKFåx‚ö6øÃÿO»+ŠÇ X÷ÎCìþd‚/`ϬÞrQΦ\Yòa>Ê +ªˆ‘êa.íʉ^:À¨“35¬‡+‚Ó£˜Y2Š1ê|ÒDœY}§8!yÀ°;’ÞÍpàÅ:Qžj˜_p?ô¢²²ÛõPzþ‡àMƒr¤W•Ð,›õœ‡îE>ŠÒÏí¨ì£SÙr´*IÚ¹Õ]×ϲüçÕ½Y¾DNZž€½Áßù•rÀ{¶¥d‰§˜iB'lWÌŸL9âî“>ÖûžÔ¨}—$ &å5¨=0lF ³5¡*|Hed6jªË·j\6à[ÿI:P IT–YÈb†|蔲s®+‹½LìÂG%?Å屇\Tç‘×£9,^¦¥ž¿¡¥Æc[QƒòDÛ%¶rˆ´÷ËB†#E¦ÙV9NÌÀÆ?¸ÞÌO‚*:Üóâ9ƒü^„¤·€Ñ¤ +cOW„”ÿùfa=¬Ý^wXqSé$ÿäd‘{êrdGÎõÞ"G¼É½ï‘G ~”]í]L×÷¹”q`œ—ÿ2=jþë,¤ñVˆ;½ eê{g(I $ UË@q$Ë>ô8b˜L7òàø¦Û\"oIš.Ü7)¬;L–“ ¶\É¿ó§Ïµì8ÀCN´%Dú^ñ“½HçWÏX+ß“ÃÞyQÜD!t`o5ΟJG)CwOíŠT•ÑõÑ^ß}jWìT~øÒAk~ à\ŠMÿØÈû4þ$Åá-}“¹ +é²DΪŸü‘ˆ tÛÚèu_ÄñSCtú W¯Wåa‰Ö›|¹3“ÏïS0Ÿê0§z¯¸l/î™ÁÀÐYœ£O’K^9B›´ŠẢÉÑpüGöÆ\™ó«ÿïòÛ‡x)ƒ‘XC»–ÌÅ£OâšXºü1ì$VU™ÔNtøZ Ût8©Œp'»7|™÷d˼þ +¢†8ûKþ—ÿ?ÆK‘»æÚ¯áøw `¸¹Kã¨\mzââÜs8rEûµ˜¦Úá6O¦Ä‚#„±äîwÏV½Žu±¬9Ø’¢A._Bî +O?üÏâ8¹žxéͯEãó»±ÚÙ•+‹DIhŠ=@{Üœõ{ JûíåU2—9žl‹œu†DúLg”"îƒ~“*pMe£>bSát*èLAlâpíF`hÆØ ùðf/”Øy¹íÉTá®*­Òõ î.Ï»ðcÀ¾Tb3d<©ø|Êçt`_N¾Ø Ïîn’‹ÕË;ãkù³[±¦ ‹S˜nª²³)þ<€Ukÿ£D&oëfyvå)ØÍ›Âöœ_½ 0);lÇ>éÆÉòÓò÷±.OÖp=È4B}vKämäBÖu7Ù9ýV&”eïq¤,€Rõ¸ ‹&Ww»áày¹¾`Í,=(u©Z>Šô[¥°Ì®l#øFN¤¯½APT¯ýeåt’M{eÂ/–¤žuBSúz›bÙã q_ rá ·ÖÖÿ‡=&ÇøŸÛýI[y…9y’ÜÉL©Tnκâ ü“nrç@Ô(}q븤Ö¬bè`µ¯¼ò +ÝÁ ÂYYØ1Û‘H€;sš“h1àz1ßs»Bæç¾Dà‘ìÄÒg³\¾›sUääM=ÏC&€;„ds`Y5Y²û‘ƒ–±2eGS ÿsŽ"PÐF»sÔ*i|ÜWöFÜn½9Sr6eÌDCu#‘I?Óå:<?Xâb·ŸÑ®æýuµ—NpÖß“ó‚°º!Ä +²5Æ9%Ÿ—^ö¡kÊ ä™g Ê~ ò` ‡@ÇÀvvÞïþþAi¢†‘¸ß—âÊñÜ%ÿñ)~Y‡çeQŽˆšÎùpÄ+ω£§’ª™/,Û­ÃÂNI³*DÐË¥˜ž&Àª,Çl2ttªÕõ‘îⵌԧÊÔ(µñôî¨ÔäöØõ—Ó¨Sh­xÙqãÂÂbBôði2|à,IfFþ¾pf˺]ÜÇ{2í‹ 6%вáœÍk[ÿpÔæ%ÒÞÈ‘.Ê®x©¦n²w͎㊺xz ë.A§«ë ‹˜+}7 ÎZk,2Vf™v¼ŽîA–¬ :]­5]>aß `u¹œ¦¨U¶ÇŽS‘JÈ9•`3ôÞ™ÇÑþÓn­e6G‹˜PŸ-f%é=è~…j¿;)Ê$Ó¡û6^‰óV]ô2SñgD¿OÓ¶¢ZjøÛ¯¾B ݇S¾Õ‰Ÿéë³èrþæ^g±&Clp¹=ºPÚ“.Â…•8­€IŽ9Nêsé'©Œ¥¾#©yh7ŸpPÈ”9© Ó;J\Þ¤ÀHÑ¢œÉ¥‰ð.ÔAÁäÓ‰ÒàC3Å™…±‹ÌErƒ× +û0‹Øžšé nh‘M*Î*å#êø·ìM%†´ëÜÎN­`50>똫ƒà°èéã-ŵòõñ*2l³vD–àáûÖtzßüh‹t²Jr€JÛ~®#q²ÊDttÀ^ñÀçÝÿB\þ' cTCíuº‹¤¢£(ê|é2 œÕ–qwóxR@ÎÑqÂ]‹îº¯A+ +ÿÆ_< 8ÐPØØòwû˜=Ì猵¼Y.ô ºÖ3î89€]¨!VÄÑÌõ3m`kÔ•„ÜgÞ}9bÅDÉ*ýï}1‚#êa]a£EI¸r#⿆îŽ5˜siN²Gûµ¼®&Tg©R1ÜÏ6 ttÑiý²~ŠFÜÆS'F?5ó0½F"zǶø|AåÑ;eZu­MmÁ͈Üð¦Ñ³ z\À>Û¬¢zè´$Ýùƒ×ahac¤±0Þuà“Õ¤2÷Ì-ª‰Þquì]n[$€¯ +ýÞÕ1[HAä$,UõGXÿ†/xÓE!;$4Qw'ê1F@ãü L)ýK—•¶í‰˜:Pƒ!˜#÷-"ÂFŒtiˆòŠ²†k„Çö:#€¼xº K:ƺâæÉxÛEÎ*Áé“.kšSV@ÝÙ|†ä$õÚD¼gˆèVNû˜^ŒÇåD1³÷ +LëkóÑméõÂÝ®¹Mµ€L—¶ ·KÓUës³ŽxOZNüƒøŸ:q†íËé¦6¥ÄϤÁ(^ ·Ü2åóPŠ`Û|Z˜ŸÕ~GÒ0«·Lé ±^áÐwßh]Bgܼ†’sü  œlg‰8µ¶©€ Ÿ†˜ {–^ÔŸzo•èë\÷Š›H~S˜Ì{<9\…RC9Ë!©“ *¸wÄîDG)Ew]$ˆØ5ïËŒ }<¸2¡µëÛÏjÌ­}ã·íEßM¥Âöë±@mô÷obâ¿(jÔÿ§©±ŒÐúéÞý0âôVÒÒµX~Q@©"(¿D^™£Œ>¸côuž„U௪Tmçë’*Ý㢠ÇgÒŒEžË>§kÜÚÌÀ_(dá;äãÌ\ÕtìÕÑÉ(Škí…O•í`†<¤†ƒÛ¨ë}Îb¨þfHFÚcÈĉ»Ð6Ïa”Û ‰ÏÐe>›Æ†Öhý¶)qéõÚµé -qkâ_¼ f»§y`‰t»J#q…É« ’b6&¾Xr/¤@;ö‘t·®©´š¹*Ã6Â<›>­‹üåÈŸ.à˽V€¨º±ÖÁùþ8Lz÷m+ú­)¼ ¥Ì´ÈbSð C$•ýèO¨L MãÉb +Ìÿv€õì +ÝÕàa ,ŽBâÑß-¼´ÝÐÀÛãâ*0&X…F4 Ð`f’>3½Ù/Z] ¡açO4#oËõî +endstream endobj 63 0 obj<> endobj 64 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 65 0 obj<>stream +ìáˆå«÷?€y¡šàžo=ké£{ŽCÍãK0^¶ÿ~z4GŽ¢/Äpø¾ #Š†˜N)„ªâ{‚˜¬Ýÿ¡â- +ø»qa7A™MUüžŸÿÉTn«ca&¦Y~ºU¼1.MʼnÐpy©À_ºÎÛ?k#àõFËÈvÔ‚¨íj÷t{)½S«ŒzÎB‹¶(ªõ¾­îllƒI«Jul qû8.øm'íoceèãƒÍ[žu2"ÌóU@ì}K D -ÚÛºÖëú†l ¯“Áåd³#߈ÚuŽÊ‚¡U‡Ò ;y{As¯çœ^N#XzGI)F=˜bj@+3{±þxͤ@©&òZÙZHH¸¢' -÷TmÞí¢ÄƒGËȹJuÀ`¼_ò´Vn¥øx_ˆ2ƒ‡Ú_qà¹a`èäqôßO¶(9DÍ&C˜E°Ê/`[Ü©xOÒ*—„¼qÃî¹Y¥’ÀÆ…3( +D°ª´a`cðOÞHOè=g¦¥¸Ñ° +(ö„V>]}Fûk +ƒìþ°Gêy#Dàß÷Z/ÓSa„Æñ àÉk›Hñq¤kà2ôï>—+r[h!z ìa)ŽKb  -æKT¿ßçÊ^¤û¿€Èø6S ”ô™úl³¡ËXJ%mÅêu¶âÍ Ÿ–Cío‘H²%y —ª¯h+Ç*Ò§dÝ&*¯f» +žÑàé^(lBÖîØ] ø„YÂ…¡¸bV›C-œ¾1_{3Ÿ¢”¸—‹W¼tv…ßö‡NŽŽ|²vi/Fîg te¢‚Ú.Æ£}ì©åòzmÙŠø4øCvô¢…4„÷[‡)É¥Lä}é Ê¢Œ<ÍpDy/ÝÃÊr&Ðêadr•á¬qŒÜ xg(p·ËvÎç¤:kƒ·ì€Ó¡³îü.Îô´£jEܵÌËeû³¹×¥ h©?HÝPk©¬óƒü›¬¼Ê”oWIúðÃä¹E0skª×téLåyd¿½ B^ Erõ‡ZÀpÄÆ,Ìzá|Ë°^ô$sU&ðÉã¥â×v%²{/¬6`¦ “˜è–%ÒÆtîN’=—ŽüGY»NtõÈ[@fŒ››ÿ…ßx•­ZW‡oâ[B{0ŠØèJ¿T¶.ñWœ…À<4Ú¢ñQ¢W5äWñg±*`NZaÓwˆ7æÐß$b ŸkLeŠ03$ïàL6 XÂoŒÆé¦Ê;éÏDèúŸõ¹ÔQwqÓ¥°gÑ( +ä¹<Á\QÊÁ¶ôo©©ËZ + ú˜ü çQýÑ ¤êuƒ~Ì…ÿñu5 :ÉÎz È{Ã6䯧^Ñæj+æ7Xpk¡K¥™ ç­Ó!¡t–…1a‹6´›œïoÝðÃuŠ÷iÀûÓ?n?³›´Ù—HÆI ¥Š;ým•Êœý½‘Éu²8\Ú—x)¨Jöf‰¯TŽŽ»1¡o‚K=â =#3†JäE9`o–³)3¤¼½5êgsô\œjZ-qT’àÚ•% Ìdp'#Þñ›"-“Ó×bO}2½ º×FÇJ³ä «6wà5­‚½ÂÔõùvÓÐ’yJnù8zryÑòúq—Ӏ²žY~Ã~Ê/0ße2S€ÞcïRî†\ÆÕýºõÉvÁµ¯Ý»·ãÅ +úÃF‡£½¥3èKÎ*¦¢,%Aé(Š9·ûn.ýÇÀ«šnPVY§ÿÓ, ’?ÏÊ`„WêÝB_öÏ–I¦¢ ì×ÉËÄß$»[_¯JÛÑ+$rØ&ÇH ^Z•©Û¡ôpß°3Rúj‚[«)IáQÃ6™°îR»´uÅK&r +5 «ð.ç©nµ£q媊æt™÷SKe{5ŒUâ"ßÈUŸ´Û„ÑЀyï2°Ñ‰Ì…Ãië˜ j~±/;’ZÏ7Š½< ‹§ÖøØ-.âôÒ› ˆ_ZþI¼Ý™?•QFÇö؉écÇ颌TënglLѪ×|Ãø`jï…OðR‘Z9P帺äκv]p³5rÕAe¬l””í¥ð]“°±¾ pýóõ|ŸT_Åzjq’ç7!r®1ÝôlFþKAür¤Ñ|¹Û»êlË+¡›8ÌÅÒàOEÇ®ZÇ› öXÑ›ºm+*+ÿ§²7â¿¢]ÊTœ4s(RB\õ¬,”1Úç^v…ÀS‰7Þ+ÿ&zšz+¼G!\ÇŠ†û¿<–!«ürc勤üÐfêS¶£üYÚ8vÇÎ<&xîôÕ]E³ôðJG¤æ9àÐ| ö"Hû{1j¨c¼þ?î²AuçLØíëŒ àöéa>RøÏ™‚Æ-—,¬Ùø!pöÜÀ_£)K ˆ(ï¯õ´”“¿ +>]¸Ð®65//1‹.i{”éê)¡~¸My’´uEnÖsO6(,¸±*™E÷­‡Çä„EZ°«Öù8e:6¬ 7&m¿:ûÿ†Oͧ{B>‚¾»ÊZØ_–´Wñ{^¾.ô8vÐŒŸmÒð®ž*šZ6®¸ÿÝÛ¦"¡`G"éSEQªnnU~ÛOGö r"¼:Q'„ÔÈÐf·ŒàÛKaíÜ{>†þÃÌE7Æ!ƒ×vó¼œä5±†,F†9PßÐÛ¢/¾¤âìŸRt½¼Ž×w•ÈAÅé?1|³iqef¶{š\«OTYKNÓœS¸0íÝxU2ÄmÈBד“ÞžT’NÇQ 4•p)A\ŽÀ5d=pyGeâjD#ñ«'K¢íå¥Áôê…«›‹6×€ÎQ¨Ò¶¶:ˆ¥®¿‚ÿ#1Q7¹¼£õZåOLªþ5&uEdFŸÀìû¤6É"˜¼n×IŽb}0&lN0Ûã]¦ …¾° ×»Á¥ñ½)m°¹Neî„j±W°*69Sn³øK?Óô¬øhzc¹")líü… áó2aÃRÅ6ŒóV+% ,³ÖC!ëMxëeña_B»…+:˜ƒ4ùkš•:ÔDF—¨`Ѓt²1&+i¬dê‡æ?¸}¸ïÃÁH§„ªŸeK¥»Zɼ’™È˶úoaŠTºƒØ˜&¹óRFwÌI/¡ÉO{y67Dñb¹6ŒCÚÔRø!òz+yÄ7£ïݾȢ\Ä‘[Yv‚bKsqêýQŸ1±9øÎ-B8Žý1úÞË0“¯ÑÅú 6¼¹/¶î’C^=å¡á.{¯‚`BLxËÅ.€@¾>üªKD9}&àÞ6“W£bå Øsþi3#nm&·ït+¦{ÚA™;’·]þ'}Dqî(Q5Šï‘AÜ/tì~ù‘¢ÓwG‰ƒ ¯NŠjõÃÕ‡›LpOFà9Šh@‰‹. ³³ ki£â+à ¨®'Î+›#Ø‚cqZÞŽ°O‚·ÚÚf¶ÁúÎéÌï\….¨ÊI Ñï!4pCM%®xÅÅ,4,»¦ÝMr‘øðYž{¥5Gj—)@4ŠÊ¯²ßYsê$”Æ›ÖmäÉGû(¢gôWe8×\ðU©_–s[Xˆ\X$Wݱ;Òð„‹;õOz úS¼ƒ`º@Zà2£s…|N¿s;»bîwÇ$K\XœbÉ^Ô°i2-~öö¯9P©¡,ƒ‹ü${'y.Ö6R)E3ö¦»|½l*a„±C5tÍœ0-É«jn‚Bª¶ª¢‚ðà Wm‘Ú¹o˜@ñ>Ü£3†;xK¥ökÓ Yÿ¡Ž> D6g¦æT4ÁæØ‘…ö‡lRÙœ¨K;øJ¼Ç¢—€Èƒk—gŠI­…N9SÚ×âEÅ¥X®Ïßgâúè§ï=Ž¡ÄÑTòIHrŒ>à”»ç(ÑØ÷åOœsøKUA!Ýs Hb¿TÀ·q¢_¼¢RÐÞûK3@*+ÞüVbÿ _G–~g_è…w䎨u5O8R+ãîK€G|P#Ÿ*gñÚ5‘›¸#ÂÈðãÏM.¤¯ª\6ÄØ} +j³‹Ô¦4XE+œõ½‰yi¬-øqA›–«Èå +’Õ‰Žü¦ºOŸ{Â7¾ø‡N0J¤¾k +F9<¹¶„6%io›ã>†4ïFÛ3W,úëÿ N:O#~ëÅx1áÀA 67/3êB%zá¢Dižš™-¡µ FÔÆìö£` !tZéÐqmª~JjÎ¥éi +tŸækÏŸ¦YŠÌÇË‚“¼Å¼ T +‘ ห÷§Txg t²3@˜½ëºûcÚÊ0NQ*ðI½¾ÆóPÞÜI[{µ s´Lø³Û»iÂÔ¢5TEÁ2mË Ò’‡\Ùlº‘u»ë6lEú-Fi$K™¹ôŸÏ¿Ç›:t@ÖI¯™ º;ùñ2z(Ÿò-›ØN•mN®öSª\ƒ;jƒ˜)êpY]à¿šÿ(ùäS2ŒÍ†pÁkã×ÿüÐ’úó«i;1´†¬€•ogMŽ‘@´aSMU·Ï·UÒ4õ-­P¨+i{Œ™c7Ý( +ˆ Ø4¨ÜØ +g +—IOA?ø¾Ã£«4ZWÑwå¡b‚ 3“¥|4Ú m­Ò¬æQ\_p9%ц\LÙh¾}˜' ©«ã6¡|'ÏSÁÓÒHê¹ÓšûhFÄÃÜ¢5ü—oiôé{ØÕÄŸ=Ë€ß柕ÃÆ49ÁS½lb¢4³â€ÆD³ÍºŠKNÞZ^©Â{Ån¯}®SØÎ]DKv›vÁ¿v:õã×½øœ„3&oMߨ´tŸÀk¯ó)mÑféæáZvH (d_à î\Þ€ùx´býÓ2Fôøcâ>þ +endstream endobj 66 0 obj<> endobj 67 0 obj<> endobj 68 0 obj<>stream +aäìi 'Yÿ·¢ñýoßÉ`HH–ãh¯—"‹s©dÉÊê‹c¯¤å¤Væ,aÀ´e¼C+eBnÍ©š*Ð/ +endstream endobj 69 0 obj<> endobj 70 0 obj<>stream +@ÚÏ¿’R¼‘fãÅA hȉ¡— X ~³›k8½J êöd:ÓLmŽÁ‘öm·¤ü¡¬FžM/φ ëA8hªW¶¼*§˜#¹¼øº2ã-æïåûÅÆ$Çi3a‚J°·€¹ì“zP((»2|“¹’¹vwPÁ’Úf +êFצžÛsø¦ Ó'É-J­=Qä¶Æ,™@,~ [™Y/õY†UyKsÎgÀëO€®;öÙnZ¬G[¹lÝ1®Ð%½øæ`x©ÅM +endstream endobj 71 0 obj<> endobj 72 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 73 0 obj<>stream +•÷ÜoøWîcðÐÿÃd>™­÷4½³QùËd‚egÃ÷û;þìFLï01«?"ïªpˆòì`Ñäà2og]`½r=ÈG„*_Ãú²õò·A¥æC­Ð+xë…Ũa2ºî„£ÊZÝÝØ>µùQ¸BHœF-ó„#Šíj›8Ø9{6¨cb»è@ŠŒ¥Ö¶¬­òÀU ¿Ö6úêOzPa‚ßzÿ’ëäLó%áÅ5|ÏÖDWÎEû\>ɹڂÍU:ªyÔõVɼŒ™ÕIÏ +œ-Ä—ÐãN› P«d–´•’(wO¸„ –Ãêvz­ˆ Ò¦#fâ‡ü”€¸Uý_z\m¬žÃ›‚¢%Ú†e¹D‰ðê)åøËÄÚZ:%fÙ´¡Ýò5ß!÷FÖqá²~/†wºž¯€WîdA&“Ik08B åÁ’•Õøu°ø‰9KYŒ›¼¯À¾neyiŒ&8$ÇXn_K »tè)áê´ä=2ŒGaANu’f° +ød*˜ZHÆ”hÆÄáI_|öèˆï ­R¿‡¯WwCKßR GæµÝº=bh' W¾eºælAmެߞ€/î«ÞÖ5U­ã°Î/-®»àß|ŸŒŒD¼Ù”S»Ð-qú¤¸· ñïß” wÓ*:Z¡úªØ?õ¼!ÍtÅ6À]jhð7”n–"_k&Õ˜Ï7â8؇' ¬‰O—à»ÜY$ÚÌ&zUë[êÃF#g–oû~q*‹æ±p»¯ $/ùã‘o"@Áú†ƒê,)\u[`å˜N銖) ®'µ 1žnȆa,>8³ž.ö⺮ÃN³ÉàžNi›¬éÓÆAg7·Ç ÞÀÒ…ïc÷KEå›gU,ñ^ihJçö/pñRNY?BaÊÜ@` +5æF¸Ü+?€ZɈ½B€kuÉS.ØÑ…hÇ@¨°r-‘űà°`s¸v¶jÿ ¬C8¦¯-ÕKeoZ”'œÅr[¥3­–1â-0äY’,.:¢TBz,Và8ZjQ*ß%•’ +1⺨õY$?5,÷óªÚîgÕň½û²€ aÆæ–„›àöGSÁ³ +ÔoǬ#”Ð\áa€¤VAÍq•åEyʘ5KXÏ »r?»Ù…ødDEõ@ júȦÓGµ^Vhò<4W]™ â îrÞõØoíUÌCh‚Ó„a +¨A¾Zð›Pžg[[òOíöª²6Á5ý³šeë0JsÆÄNëâe,fcµEÄg¿>ƒts€î©’]88ÔØA˜Õm±¾6Lø¨D#öa¸t;Mf‰U†˜®3»{UÅ‚~ðVNJÛÓ^ƒ­t&$¿ HT÷ÁŠ®˜¬ï3º¿7JÅ/õzv¦/u|{ˆSÅÉF¹•Î,‚Î^(Õ뫆µƒÙL¢¡Á‘ž={1Z\Âþ––ai;Ï.(³¡6\â³'ÿ#ËŸx|¿ +öp²8Ê×Hæýl¯Ä´v ¤}uß8å]PÖkwl-XeÈ[ÓÛYhw‘ëÐl`+̱­ªßìðÅt‡0¼{¢Pú®Sßtn½ÎãÃ[Å4‡ºªŒzñŒAW ÿm}ôû^6ÇPtp»ÍÚËÁ;e¦ZÚ_¡•ú«B¯p–zËdNv¯ÍB´ <È3N´ÇàŽ8D°@Á3a¢+4e¦èŽÝ½BäI@û)@êéb°Ø^u„(I÷ìzUzvCT4!À¨1G11W:õ÷‚:%î‘2‰E¹Ô²ºqQ¬Xp¬Æ\Ž¦âd·²‰kûNQÔù7$[Ýw¨QËüfd§´ÃY(GbúÂÓ²û§€à¿ùlK˜ódšìé•Ú%òÑWéýÅÍ$Û¦ úäâ÷‰å’S'õ°(? ú[ÍÝõV×~*uÃT5§¨u +QvÞf‘B5o§¬|ØG:¢G:·àÔ‰ u\È@ÒƒýëËW~ÿ«õÅ7Ç€¼ZµÖÁ/–ª•ØÉí¨ª¡ÛŒÅNT‹PI¯?†ÈO1UãRq,qü`t +ZÓY&†W‰]F­´ñ©†uã”2$¾aÉÍ!-†ëþ+·K£…oi’ ?Ù¤³pîU+}õjªJÇv¬?1%¶æ™¢)ËDƒq&IÝèˆÎv‚ºë‡ôD·çëÏ!(°£%çέ1¦ç¿ÚûÑ>Ô*©Æˆ áËÎL‚Eૼ˜?È, Š©z l´ZöÖ$2^ÐAw¼ñéC*–%dyå’݃hgidÞï­âË¢IŽÅ—Òêáq‡¦v½ºI„Z”®žtåO=¹µÃÜ+¾òA ô.¡¬$}‘·ò°Ä7C0Ï5Úmƒ·»peE5A 9£²ßø2ÒÆZòÏ2Ÿz¢ssÆE²æÜB³Ù?ÊI´çT”1PR@ƒ–±ÎȪ8ã[ÔQò©u˜í˜o²ª Œ¿D~31eÌ3ÇÕ&6Ó]—öE (¨Aj :‰´ÛTÐ-YòL¾kE“ㇲ xÊ…ú( K­JØåÅ;Y憃÷Óh"g§qª¤'g|™ :žèZbóŒ5isÅpÓämÆ3‚ƒM¾ý‰öº°™ü:è Êy«öEòe½35W r“lûÜ0Ó1‹¨…»Çðø¢äÎÆö¸íÂyïÿ#'²z8ß' Öèèh½žïM±‡Î‚žò–ä´CÞ®‚_‘ß㵨Ìþ©KhÌÊ´~— ÅEÚ™vcþ|x=—šré„ÚÐ ‰†OA’¤–7@èôrô§éArò…‚{@ý?S® +v÷ÌŽ¿Ü"{Û7º¹( w¹ŠaÑaæ¼Lp‡™ë„'á勢ؙßÍ!“–Iܤ1èSç[•ùQI| +endstream endobj 74 0 obj<> endobj 75 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 76 0 obj<>stream +tš³5΢HÃÍDÆÙÖ kÄ lZ÷ëiQÅ={Ô,߈íÝü5€Oõ2ÖÖ°v*Ê ňzCeÿ ÆH¯ágVæ'*ÝF‘ž<éŽÕc1ÑêB6h¹Ï»åœŽûb·ü¾Ä& ñ©k?„a\‡â«ùÌþöå(¦ì&ö‹j¿ÝoœÙ•Fd=WiR^Þ¦ÿú¢¸E?Øg1ƒcH 1ùø©§˜?9ÑV‡¿Œ¢û8­òœr¼?'91­@è<êÇǼey’]Œ:'‡‡¢³Îx][ N1Ó{yaÓ!ìÈÅHfÚ¬ÁªØìwJ*O6È`7L˜ :SqQ×wÐ •#¨pÊþ0ÁtC­´Ø& ;ê÷$íäfeÔb ΋Ër‡š'ý^j#¢OTê©i§Åïd÷$o›Š|½i”„[þÓÊ›?vÁùþoŠ€oš»+àÃB&™¡ûal Ûâ‡ÁP €&4ðhØ83‡~z¶ÝMáÕ–õÿE|dF-Ÿ¯ñ^ÛY+ óÀ£W9~Þ›è]1›R0˜ÆB¡»Äð¼ÕiÜô~çxÙ K»½Õ0ŸÊ¸\2õ›ÁžÁ*?7DÁd\܆ƲšX€”@›?ÆxÂL²ljÌP—"Üû/,8•Â+MX +Þè0LÜS²ú{bþ‚úÐGMH]¾±tÑ°b>z;6­5Q(+åyq™S);2Bì ãñU\›Øgpñöv¹%Tär»LÉÏJ#ouœ‰‘F÷ó@׵Č$œd5‹VÀ~ºpê­•Õ¥" +•Ó6–ë•,usRÛÜe¥™‰Ïo8H˜®®sÉù£àH –„|.Ó×ÍØj§Šõ$&sEë±6tk–]†Ž ˆŒýÈÔ¯KhSÿO»zpyÀpG ÕÝÔº&,·c%ʃå¥ï/|ëÌà }„O¾®ï¿A™¾s>*{m‡n¢Æï—“ äE¡œ[ÅZ£ Ï©å?–Ä Ÿ#¶Ô Ü­™"*ðU̚ϕ6&d’üKJÉåÝ0ݘ¾¿Ü7é›çŒw¢fø«—wo–ÞH?½²ÕÈ„ÄæwÙ‚v3{eY›!*›‹Ëèg‚ÅÿÄ›úÅ·á Œã]»²—Ç”¬ÏòT§bõ˜/¬zt[8vG^Ú&0YËÔ>ЮELÂ/ºRóÓúØ·õüÁë=âžÇ¡¢‡LRK,Jÿ_yŽMD>47ë]¿v<¹Çó«†öÐH¿h¶4í"=›s«°Ãø3Q±QÆ·¦ïù =y³NSY¼®;¹xì¼2‘ý5k„PׇuOærŪ$ý©É$ÁÓ"jn*BÈU uCmUœv°ΖP¤az‚ü +'U ; +lÓÌûcÒ*^ž@*mu†y>ß\ Æ-Õ:Ì8]]Ðã‹2¾hŽ,Fl0¦è!פ¹Aòaèv‘Þg½Tðío\é ü”’y§¸_­ÀŒoÌ!™:aä„'4#BÌD«¨Øy²D;%²Œlž~Á†¾»Ü¿ÏÌî4r¶_¾{CÉTÿ•ïnyÈ$GÝYWç¿æ:ÐC6Ê Uµ"Î*£#Šðû_Ìåìÿ ‚òoUìgtH¬‹”&ÉjY0Û´¦EÖ-. [‰µ΃¾Àg2Q •‡ÎWµ 'û ¦?’Ó»ÞæzçÊ£ÿ%uOf_Õq—ÀGŒÖ_±¯5òñn¾ý<œj­MíT…•Â?ÔnÂ4•‘TÑ(¼6€JîKïÿêŒó(D¬¾½- +&†0/@ÄÖ¹HZÓK7xæ34qXÃxr9Úð?%Æ!Ÿ~ýDÉLÌÁqëÇÜ ~dg2Š×¸A~»HÛcè3p[+õSÉŽ_)ñ“JŽåžÑ›ÀÅùö¸‡Ü}9)ÿ>²2!åqæÅ Ï3¡Øk äf®’`Ím”‰ñÀ²Çaõ  Ïà ‘€áûU[™Ý°î'ƒÁªÏ7U,–½œzðrò…<P‘‡ôCMê§]WIRLƒävŒû ãG ÿ‚Äô}sC÷ qÄV$o'Qaña7 _¬Ï–²PŽ\²³V²Ð£¿þqÆ›7ÚÒ;2Ä€#îü“\ã1Øü—æ·êþ ”·#Lý•·‚/ Ú(€ºô¶–罣…ž%Гí`»ü-_í§†~OÉ°æ3so&Ë‹Š¯+bÓ0œ«éÎq%[Ð./ÆàomOqÇý†p’º5×,2Õ!¿Œ7Û(šf\þýls9s­ŸÎÀéÛÏÁõ| xD´Ó1¸ÿ@•­Ãt‘g ìiB`?túƒ"üò@ Gã¡Âƺwª›iB€P”%k^ °Þ\à¹ó“U­R¿„ðkÚ±xé<3^TÉJíV³@Š—J :N¢õêº|ÓQ¾~>=DIvÿMpUf:rýÕäaáÅ`žky÷`üNúÖG „¾Î°­»ìš pŧfðz Aü*-êhi…t"lÀ3úà…a†éWP~³>®+ž„êm‹ ÆKŸuSX)€zÁøê£L¥Ñîç*À)òJä6н÷ÚzX™ñ¸®g„{I6j¾ƒk¸°B •$k3ê£Ñ³oF‘ãÌ–ªH;WëþÚù»æŸ#ž°ÕØ(© ³¹8”K(‰Þ%\š,fO;1gÍ„~ÁüÀN{WiØÍ€ÚŽÕsFÆjæøüpU¤û—EÙÍTÏ.ʽ°ZÕj¹ý›ø¸ˆ4ú¿+Vղ׋H‚µeI™×·ÂÍÃÆ}XœX:CCÛzrJÂTˆ×ë=TŸ÷×çJØÙ¾½A³èfðô +Ž“QK—S˜­8Ê=x&ýëu²æœ†¾$¬7° +Z ÉÈÏíP»Éäöa?}¢c«a[mf“¥}ÈÊ4&Ó²äá|C‰„šÏUþc7Žv”S~ì¸í°öUÄB†oôŽõˆ ÀŒöŠy%Äx,ŸhR½M%UÒ²íœo'%'9qÝ DYÇ}DVrÚ,Ϲmèö|M €Î8@MC~”lP¥·*$•vŠYË¡ãHó^BÌä†Òl }AéÍ#ÓíÔh,k}~ˆÝÔ¤¿‡©ø§¿1h€L©¾>¬€¶± l˜ˆ}/9¨ïô‰pëÓÞpôÑ(61G1s`h¤Ð!ª%ÍÛØDCPº±•!Ð9øÐìºÇŽ:Ï\ Æøô3Mû-xîóÐÍèc7C¤”•j;&™Èž;?ïws»_y>µÏ5xJ:)l<^ w½³ë1–èʲãÄñ®HಫÁ‚ª¤¬¡X~Û[ +¨[}Ø-DÅOÍ­´*çªû›HEå»»DËI/Í6Aßî˜gãA=‚Ž–Ãu¢ejåiÚV¸Qfÿ P¸ŠêÙurOcDGŠ«å_]6sÒ±æbÍ„ñ´ty#ö&·ñYpȸí&‡w­¸iZSí0R{WS•Íø%ÐÁåê‡Êµev÷ª—_9ô°Û]ù}!Ú3@ƒó=sŽuS „ˆé–ÊiöÇXðMm“ô¹ƒº¯›­ râUñ^3Qœj÷ÌCL\0¸3#RYþ€œ«dÐF(<¸2:‘€kj’Ÿp÷6©¶ð +Ïw“B{´ÌÇh®Íœ^¶Nйøùö ó[*ò*ÛÊùÿ‰³Ð†#æ£Õþœ¤Q_ªY˜%½ƒSG¾ +œ•t‰•ý¬—.ÕîJ·Žd;®˜-¿–ÄU¸y¾æé®’ü¬Ï‡»Ë´¡”¿ÊP¨üŽ˜Û¬[ß‚Ö‘aÙ˜š˜Ì{”í]©ùIf«àÌ–È`Ú–’s‡MØ îi\óéÜö¸…þCsiËùF> endobj 78 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 79 0 obj<>stream +7'¢è8²jQ7ÎüHŠöË|½›t3<ûŠÝX]ú'ëh„tfÔ1”ò!É,ínFž T=O‡•ÐÙ3t͉Žm–o~Ïûzz̳٠A{XßòÌ |-%½‘ô?‡)&Üu\>~>ú®1Lš 2fño¥uM…Õ¢¹AjæÌßœ‰›¡Ïƒ? +2;ôaN‰XIKöÿ}z $…¨¼z›ÆâÞ0¾do´øq–f`.ýAa» y0ÍsÅ9šËò³¾ù?kQœð²¤ð“1HÓ=Vd,ï±nvõ`êvêªÀqê”ÈÌžðs¼Q‡¦J÷ß6ÍŠ;œª@>b÷L6ÿå™Ý4øœl8—}¢Zíô¤QÆ-@WI¨Æ•p«"2‰Äà9÷@Ex \RÑÐî<ÎnmÁÐo¤‡¥‘ÕäÛMDtÇõi… ¨yÌÈš¾ ç€+Ŭæp—P×”¡ÜÊÓÿ㯨t›Ï_°<ñÎP)ùù“®Cµc™7³7þhI‹'è!˜ºÝÉsY#>±âßÒ.ÆŒÒýÊgU8ø g¾PT™fp„¾Xµ·Žþs¼áOªÃõ«OGÜœÂÞ×ôÑ;ÿ?ªÒ謦 +»ût=BÀ¯Ým± ÷ØjZ;e‹$¿»?‡sôOÓ‘ê›Gjvµi£Í•¨Lä=Y_}pÉ ¶™÷MNYÂÄþü¹³‚çû-`‡Ô‘G‡FyÆUW’ùŒœ¼d¼YHî©HÀ.’|÷™zTP "kÜrZÑj÷>YYÒw²EÀ}¶¿³Qð Ì +¬&Ü6ŒttJg€Ë˜Ãè$%hð/ YÅEÑz4ßÎ ”•æâG{G/k*øTõeÊ“múåcô»iŠšCµ¸ $#gq)™Ð*tBÔ% kœ? Gteüf˜ÅnŠåå5[àKíœË½™ž*¬}”ƒjDב»ÓßÀ†µÕeŒmë΋|ÿØ¢Û.ºš&ßË…0¶Ø­í·©ø»4;ë!¼F8 3k¢Ónß•”Šÿôtc•v|rÝëÆF5éŒý†«Õ¼QŠ«Ãˆ‚1 £Î¿&ç£nãÉý±â)Îv™]r9! €Ê‡ BHÊ0y4ìo_¿)ŠØpË”¥jAW¹#Y_£úþ['G÷jêS)ªcõ¥aêt_#P°ÈKX8!Š^I¹.¡ùŠ©¯4˜.¥áÁì4>åA×à¨éI?Hš!G†ó ð”^AèR—Ä/ö’u'obM‘- +}óñSMø…¬y²åÌ@. _û­:š\ +zäÙ唟k| ¬Á0ã[zÿi£^Ñã^¦†%%<&q’=Izƒ]4Ý•äÖ[êÅVr<ç7|Y4ß#^8øÑŠ™¼–²µ­1JÂ3ü×NÆ|Ö/,ˆmS¢®?­#´{ዲéJÇFEúMžŠž“|’Â'y.í¸Fóõ„(\‘óYo}5åE +Ú‹ñ“ûUƒ‡ª< ´¤Är=Ò©”ÏwÍujÒ r]@1 Ò3Ý‹ÿ¡¼‡q5®°¼Z…ƒ 6pÂÒ£3L*Ýâìµu˪‹D³T)Be«y1ñ©Å‡êj±MÄô>Ésˆ–s–­ž<2  ãÿ“óˈŸ‹©°Å£PhYhƶõsVh°ןâ8Ðpò­ ;¼iŒç÷G7tÊ#¢ŠÚ í®Þ/±2ösâ~Ä¥oùöÔÆõX\X„`£[fñ%\O_òše{ v~帟QŸ¦˜6ã2 øh3²2ñ¬þ FI¢h£’Âÿš$³ ïyPK‹5³Ží× Ñ¿ âAg7:NWüÅWÕ1q¨8nëÈ NÍ#ÎRí9å7A%4„hpF BLP© !-*¶3ͤìˆjuiÜï Šõ”à&… „øŒéØ:¬Ae&}4Û×îèëCUÜG¨iÀl‰Z}g?|¢;Õá8Òó@šåÑù%FM·F'i|ÕuÍÛƒI…J”d |®×7™ièßá“‚ÅcôCk&jÜÓwâfµW,l°sÙ.„×Þž ýÚ””y'¸€kZ0 ¼‹åM³Éä!;’•%hòr·ÛÚ%•æ§°fx{Úù ™gv›x=Åùbú÷@sÌ—ð7”v[Hé(Òê¶ôldzÅ·.KÞÕwØö«1ÐÜVƒù)¢à` +q0Ý›w{m`ñDÉ4Ü…ï_áE˜Ü8ö·¬ ÙÓ TÏÞ=èÚ,³šn޷¹CÛŠ¢ÿmR7§¨j²„K”jyT¸Ý›lá>¯):´c¯ÿ‚êWÜÄK®v ÷¶…O\Äz‚ÉOä^ýyöç7 I.áê­kÔµ– "–xQÝà þ›(­°Ntw?aSÿ‚¡v~`-ì±ÞïK÷fQúðØg9¸äד¤Ã'.±lJZf¶~¢krÿ‚*ß9Cxâ饯W„¼x)  c…ÕJf +‘‚–ÀIJÞ_|fŠg6¿ù5=÷Qñ·×œ¥Œa& æ @:‡Á:MAJ€8Tû.[€~[yMòösXÃ#öe<þB”y>ßCá•è‚êجèÔ‹šÍ~@ûÈÍ45\¹Ä­aVä¥8šMÀ¤®âÂ$#æÒÜŸû ‘Nûn²Û45!é•…5ÿ +ë¼êJ+0ÑÚMÊ*è*’ÊBêÞ¬yüwºÜå|DP>ç´sÒ‘Y™<í»ÝžoÚ‚Ï‹åâûå™i-Àhý¢“Ù =;uF&€TF,bè"Ò/j9Ü]b}¯›VTâîªÛ̉^Í„9ßÌ—ßÔ‡JÀÒþ×–MêqËôÉ‚xÒÕ¦¯še1=À‚WëÇ7ÏÜ-µŒaK7ò%ÃuÜ1>‰Æ}çh$Õ?7° +(gv®nß‹÷ß8:È? Ð€A, 9? +ž'á¥Û©7-¾Õ׺77—«ðöãNz©_Nw8 +Û˜ïÙI 6ÝQ«6팱vtßó:ˆÃü¢$s‹ÿþM¿S¦áÌ3 &_t[(2˜ÐkÔp–×Ó°9D1g˘܋çˆeÕ]éjË ¸í.††g/óؾT‚3EâÎ2Q`1È¡à: +΋ð™ T[Eªj¦;ÎÔ;ÞÓéc\øeõ”ow9ª’$ “Ïì˜ZcÊhP^Ûå,ß8šÅ$4E©•qzàQú´&½ù¯½}ÙÃÛ®ÊÝO2çãYwu ÊýtØÕÿ§Ë½½Û–jS˜»”4´yû‹î£¬ÑðÅÉ#©1ª—»a°Â,Ëýâ~‹ã;ž~sä=½¿a/ŒÅëÍ­È€XÊS5ôPä œš—ª“ +‚WVwPÿ~oñ­3\aô’´b2ÆpAôO° ^œÔâ9»¡›°'ýwägG™‚µçä-v\dÌé˺q¯vîögžE·w¦b·}1}·Ì;òîM´‹h@÷é°aâÒw)hÝ'/N„Må)dœ¸ÐãÛƒÜÒÏ‚ Ç·*pÄó2×ѯó¦„9~ ¯fŽIÝyæ—:Bpp†îßâ%Èé2º­e â7RónÍe9ù¦ó ËR>‚îrïékkÙœÅUúµOˆ.o='RwÔ²fˆ ¼2‘à,•c²‘¯Í¬â÷6ÚôÄÒ__EÏC+¦ÂüS)“²À xHïö{P7ʺ-Ñâ²0ávô>¹d3£ÁI +w¹#˜ÝŠ;¢i×ý¸Ýμ%OáËà_a´’o×"ÔèD oµ ¿RrÓQ¬M»e‹µê˜ï.Iíß${óTJ"Üé]Ì€_XpÛº^ñÉ-œYÊì颈)Öe””Åúeo”ä†X>ÙîEa0XŸèÛa¨ïN¦i¶;!ÅÏ”0ˆ\3æÜ‡Ô u„2¶çÑ!Ÿ=Áœ–ˆäˆp¾PLMDYY€ÔŠ˜ ý¥m!|¸YÔœ­ +^¢ée¥ÉƒìÖíýìâV†g®òÕ°œVµPŽÕhi8–§AõíBµd°méã¿¿¿'cX2sÙæO'µƒ6ÅX¯˜Ç Ø³OáÊÎÓJdÊ »r +/(yµr@b»®tHÖ”^ +®–¶rä4/MÀ©4f¼>ˆ&¸&qÔð­yÀ†ÔtnªµæÔ -Ðœ@«Pî™k‹4OhÉžCE4Du\ê—ÞÓm$¬¨ÃQ‹]ú¹²˜^—¿Ý:U†Î7éìÜÏÇ´"~Ûz%©]•.t܇̽ËÍ”ì€ýA2¶Ïë d±öæåʲÂìü&¶³QRµó +挧%ûÿHo¢ÿn_•W÷?ÚŸEŒ¿žÕoƒõ J’i/€*|@ÒpÖ~µaqˆ,Y5¶Ø(œQ 7ÔžØØÄ•;gx'é“Þ·C›É¯5A3è*‰äƒ|{²•Ê›H8zv•S-u‹‰é°©ëð™Lvö—Í¥Ú#ðÿcþéHQâÛK°ˆ‰@×~_g<‰°V¡öé(Óä;c¦†âWtò5(Z§¾à5ÏGW@±y!: ºƒÓ]3΋Úéêì/R’ô唸ï#ÿíäGqµ{Úä" dú¿oÊüž¹:Šl‹Nã‘ûqèÔAgä#ù>éÆ>}»%³ÈäMn¼‡À“†¹" Ÿvü×í Pä){`O­Ê}9S!Lƒ×,á±t ž÷u\í‡ù\´ò{:{ZU2ÌäÂçŠzðp\;‡Œ©gg´O—Äΰ&üþÿ§ýþçÙ ÜÏldÊÜJ_?ôÍ`ðÆäLz+í/jE3\Lé&7ïH?i’<žšø"ØJGZ¦3"°•°Õb,Wíqà~êâ“Þ1ý†¯7<.v” + Ëk ÊCd˜ßWw­0CÔ»80¸ËŒ~ç j•ˆêÅ.q—ré­bÛo!}úY&:žcIJyüa¥A1Ø÷n)EÙÃn„ÂëpHY؃4:C‰]0Ũhâ]DµWw’ÿrÂ^+%ß³×ùd¸Œöà²g°r4ll©–¶«7@¯õW$»$8£„#ŽÍQ ¨\ù‘‡îqË\ó,R‚Ü*ËGUúc·zö‰ÉHù<íËHlì–m12Üj]v¦yZ‹ÌŸ-ûð5†’KîÔ¨7 lí€ñ¹Íi-0aƒµï¿Ÿ”sŽêoîçñ¼†©¤Û# Šù1b·‰nãÑ~®Ñ8eê3키©þ~ÚwˆäK`q­qu(æSîf¿ÓÓ6KËáì> endobj 81 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 82 0 obj<>stream +e·<¾&²ÿ6穇ï§/bl+²ÙEK¶ì0i…=ù8‰`ýíó¼b²Ÿ~"å0siÜèú¸Be„+Ä}ë4‡Pwh3ÕGÌŸDÏÙ_qB÷‡’-÷Õká¢:tZÈïî¡.¬Ùá7½ƒµ*ÎÃoTç>yÛ‰4 ”Ö÷Æ*¨o7òëš`Ñ::¨jcbÔEg rùA&Õ`¦ÀNK*£í¯îqØ¥½ðç@ÖØU=é~Å5¤xžS×XŒƒ‡U¢*U&Ï©‚ôQõÈ£P}",¾+ôð{ í$ÔOÎÝ3{ìE}Ë›6Kã?bBLŽ~‚Vz²$ÞC”ã….O-Åö÷·¶™‹8#l0{=ÊŸ¶A Lä>r²¬$¹Î:]™míLf×åe å ñ#(×Ø7É°˜–°dH°äço–¾Ð²9›üŽ:»lè_†¹ÕÔfè +°j+ÌHEY”7äW¥):>§›ë¢XÒÑ 6‹9zXJ–—k< y[VfOŸ`q?¸üYZ1kôZ½)æÌþU-é'"½§4ßÄÀ§•fæZdEòª<2]ØTtûg^&¿ë’6÷ä+m L„H±K·çþ,uÈbàou Tš¯ÿK/Í)^w¡&|L2((ËÈL¨žIÏëoO¹Ä97ùâí2~G¯€¼ êr·8æ?ƒÅ†R’ð[¤ '÷U1²|H‹Ðþn†+¾5®`õç¯(M«pئl1—§¹hë2Wî°“U{wKÅ^Ø{£Æ]’E£Úa h‘¥££JE;ÓÆl‘,^cÊ„âÿpŽ(ˆJøÃäf\Æ!â[¨#ñ9êëûÌZ½T£y“Ð깊KP\´¾ŒÓ3iƒÂ 4ãn1ì'åžqÄ.†ªhJÞOú?‚xÁÕ”N«$tÁuÿý@F‰PT BX§/P<­õðÅÄ\’jœï X36#µ1+3[MùØgÃHA•¿:þ£ˆ¬Óð€Ü©¶ȃQrÀ/¢í_j=›t÷œú?C¨tíø?-ÁGâ+_讑ƒÝ_°c¬ià=å4KæBØ<ßC“î¨*‹ê£ú#Ž ,ÞI²9ö$´ú˶n£ú¹]Ì'ŠQ 5jÜ:IŠêe¬ &µgYË‚к(Òé\§hÖÂÌàßh<“¦š»Þ–Ÿiõô¿ÃMåt.q—‚ƬËP.A0û/¢+¬£Ñ3aŸCÏû:«@)Ý"Ÿxü"•ÇÈ{$8˜;ûÂÆe·¥ëüT +°Xk=Vò6 qÓ„“¿UˆH×kÞC;`¥X»m°Zœ2’›u(¸»d³kû‚ZA+’àŽ3‚qÅF\ÒÝŒÊlXYéÉßónÏ“ dÔõùÈßåæýaă—m¾Ýv¼UyèÎÄí(ýsZÛy·ˆáéµík;“[¹Eœ5vLx„û­¨1ÇDbÛSXgí0E1P™¢(ïù"â%Úv $YshxbÛo|_©_ˆ8£áãBÊ~ÔíTãÛsC$Å7Rµž7<ÁŒÃ@·r­V+±¾Iî]Âÿ=t_H¤Ÿ<ÜL¾¼O±V–ð×u-_ª^[›Ù$Èü¯i¤ëÒ3ó"Ú¹î×Eu_!¯=c~ˆ=@Ÿ Ü ª&娉Â9еSh¾Ö†ñóˆé‡æ96u] 9CÄÒŸ– úÌC°©T1ßÏËP¤)xÃñ²Õ6S5f‚µá/ß'ÛÃâP­Vœƒ1|HÉX7¹ØмŠ3D!è¬ù`:Æ!uY[F¤¦™ŽëdóIÉé+ÀÝÁræª5µ¶ïçô‹0M¢Á¬ÄeÄ´û*ŠnµÚnƒ½£±í¶Äï]=wŸ6®ÿäà'2fkV#û¦5¤è–åPÄ+¡ŠÊjì ‡A×_P>—P0¨Ö‘.n1€ŸËÌ9î´hPidWå3%näÄ@L+»åMwLN†êK"Æ-e`€QݺÄ@ðEšG+'Ù®|«Ö !(Ùë‡añžâ‘&Òo],†Íq{ â»qÒ¡u?Y‘(zb:ß™âôˆŸ©CCoÄ«nÌà·œ¹*·žJ§i§&ø%´ÿýnÒT€«ì¾É•8@r½:"MÙüIú¼²³XïÙ±Î,½šETXR&xcËç—*£Zsž*åÚTAUŽSª~’˜2tbœóhì X€÷U¡Ýƒ|tèG¼ŸO²ùª1úÑ{Ñ †Äª·›Ð‰ƒË: Š›˜e^äFy°»T jô`—ï¯XI=à*eÞ†ø¦æ·ÆéVçƒlýd‰ ×(\+rU?e*6û¾M¶ò±ëÔF•c9™pcðx²OÚ¿Öa3á¯PDìšb.fÔ–åGÍáAîBQ¯{uò?Ó¬o‹­©ÐÅñ)”„“9%¨éÔ›Ûo·*ŒA¯3 Ü!)³‰øÂøwîß±`ÎÉÜH Á?MžÑ‚7Z{qî„ÖºÓdJîjCŠØxSÓàHøºi:÷ªø¹qT^v^”¢ +^æO…•¡*xª7ï6‡œä³ÁœV¹Ü3UË•™G%Ÿ¨žh( ©YmÇÈg»)AB¼ã#ÕÅ“žLÆi³Úúœ¨Áú,=ü6ؤ–™˜{Üž¨9µ›Ý5qÍ‘(b߇û8qÕíø 5ºÚz0{SÿãqÙk<üæç+Ã6hOf SH${˜“òÑL9Jb%y÷ÈxÜcCÑBªUNc-Ũä0(£‚ý‹Cà‹8lž€LH¡¾úëj`(yøjº.èá©~0ÚTçë‰)5@2\S5)# Óëô{[;À[pGçÓõ—IQGDÛåM½öz×õ C87Cïo☲#¯ù¤ªT)_hh#Õ@SxvÊy QiEÝÐ`‘Úv ÁOК9»õ´ zäMHþe_F]õ|‘I¤þIšŸÌ¹Ÿè4ÆSíÄHÛJ%ë`=Pñ4uÝ +„–ŸqA9‡Ôñ±³ãHy8°éŽ&T+~Ýü™ÌÏfßÌ!]ÇâVœ1Íütærõ @=6¹1˜¤”'Ñëc³öë^ Ö^Yeúé‰Ïf¥Åû¶5ªˆÖ-¶;øN~— + ÒõžÜ^ò=ÈìtR½FéÑ­ +â±+ÐSnyfÓ6y;?SCÞ^¶¢DÙX\M€¯‚«Xê/¢uÄš±Žû5Dú»ðÇš„Ÿ:®ˆ­Â¿¡›¬ˆ5ȸ)¡½Ù|£$VW[a%³;ƒÊ¯‘ÔéÝYÁh +–…ª€ ‰éj+vbήÁ…׌ J4;×/{d|ëö-=ùø3dð/ åQ€±ÒÞ-Ë\p–· Õµé³e XpOè¿îjõ>·©h©ÌãN Z!Y +*?˸jŽØøLjÐ9¦ ˆ ¸™$ÏägŽLÄ‹¥­ºï> V䥥Öt +õ éÍ +Z “‡<š0ž‚*ù̼9ozô**36i# ãä/Í[Üѳ^šãÁÛ5mLà‰ƒ%E>úª3St^>†I +Q€V· ‡xŽ Ñ £¢º³ÄÂdì?žLƒkÁJÐÖ‹9¸vS‰¹ÒÆ4vùdÔ¢ÿ!7;…ɦ³•Â©îq[ÍÉç§ÌíÚ%ˆu¶9âþü]ßïÞxkÀnw’E]ª9GGúÂ’âËëÿÊltWJ°/ùíÈuØýivÏ¿£¡,…ÈqVÿÜ9WŽƒµÊÏ«ôÓOå ‰™ã·ÖêãtŽùïƒrAÝáp!#1%èUKM_±\W’ž+ë) +åߌÖÙù¾Í k23¡Àj…Ûõ%XQ?}x^˜;×·Ž¦rÏ¢¦ò$/OK™q§WèÁ­Lí/Æç^R~&ýÐa‘–à¿GyD[iì]L$lÍAÜQ]B”œ—÷µ×“óäŒÙG¤ªR ÅV>Ù3d6éäm®!±_„]2ö3/#Ë·¨öhX +D*IPQA%kµÐPØå]°:ÇdØP¹T~RÕDÊÇo „!ôõ«iW²m0øµ¸D. }¬œV™û¢¥ Y•MÈ`,P…h ×èihÎ~ív¯,q¶Ý)Íc;¾Š²ÙÀ™3ø«¦+r¢Z…ËõÃäž—·¥ÍŒøë3¼9ìá!ÆèØ sB"EÛ˜9¸—ü¡½Ï#‡ØÃòh/@FLT¬ñ/• è™gzä +·I;^Çš2+Æè°U²Ðœ'¶g8öì#ðV Oçëy'8††e)·éì+íÎ✿lQg?Á©i—Fxƒ%ÂWó|•\Udi˜7ѯ2Ð ¿† uèBwУDZío…Ó¬.×utûjL¯ÝTˆó]iS¡4ƒß,! 8¬³¸G4.W¥ì3Ä G‰»_Ù=‘—–,áDNJ,L+µÈÐŒÒ= J?²`coöÛggööD*©x5¡”õâ5)žx<1þsñ±Î@èû” hž§…pØžl/l\BœA#Ë/¯ÙD·=¶j‰*¨ÉÜSW׌®¨6¯UòÁs‚/­xÍØ¥A&⬺¯ç8Œ†£&ó·™6„Ë‹ûê9ÎZå¨J¯o1ÏÑbâ¤Ç#¬-V/N¶õ(:ûÆßiwN‰ Ø®k†Y&…˜ç WÀ»ØÞuÁÑ?ÈÛ¹s’ðÈ%!ŸˆPþ©ÿÊè^kæ½÷Œˆ„wüiŽnŠp©‘¹%ä BŠçpOr©´sK¹Èú¿Ê8ƒZyž§ŽÅǺױýF~ÁÑ ôi¾öݵU ÅY®•‚£c*u‡ÛCwSþ1­du¨"‚a±)©<ÇQÉoäד‡]õ¤ŽÇ̆ª„íÝe)}&H`¬Ç]Ü„×oˆ0Ù> è&¤$Qð~ÌBm|Ù”ä-˜{¬—âýø¬B¡pó«ý ¿PØóÙ[æó\ÿq¬ã‘‡šû¿î+Cgýáæd¬ôBÑÔ[eä¼@â®ì­€íS ™ û£gp3+ʼnr óú6qcªdk (±ÆîðGz@ªäÿ3vƸE{€{,•Âè[® ÙÙ¶AÉÚsî,m˜;` íÆÑÃpOhì]åÝ1ÕøIÍxq*çîh#ÓÞÌ®ó3ܾmP‰›迳¯=7˜¾†”™u_ÆZÃÿG³’áKÔrôgò¢<×è›ïE)ëe÷7¯ëP‘CKcÆá–>³!ô•9Øe[Î.Üù òÕ93¹-½ ÿÞ[ÉS?uÍ1šäÁM¨Êr—ÀâI1ìÐ1»ªàäû¡¸ÕNü#A.‹¯6ÑšhJ»˜& »g °U_`jâì,cºÁã +|Å>á*ã/6‘ñSª™•ûõ´!5%ÿsOq+UÆâ³Ç•…¡¯¹„'·¸Ü2lº˜…@ssa³WmœA†°‚1£MÎVÆ/âábç\¶'Ãl<µb·…g†ÕÏPÂاŒJÑþXS)ý,ˆŒãzök¥G`ß (÷#ïåÅýñ>Ó¥_ŽÃ ¹sTȇ<’fP–éYM|ºû08b€OIƒwù$&‹qôÙ ã¬>ÆTà³¢ãÎø é +CíhºÊÝE<ñYcxM­®>Ûb³Ý<Ö¸3°£,Žûu¬~M×¹"5Š™òE LßØž¸]ºD‰^Zaß3IG÷|!/€õn‡¤§—æ[åæ‘Á¾@$òÕCUÎì–Àr)oú)“Á‚K`¦¶€)@lòÉÚ$©Hƒ^³ÄÉÑ>anw#ûŽFÛ‹­àY´ï³…aÿKŽ˜&žoMIn]vE²oVz˜ÿœ¦RjòpJR©s†Ê¨B€¢Bè†}—ëMÖó>•˜Ù0SïTylQt{½%d›%OÍ“ÈDdè)–±Î½¼4à»\è¼ +endstream endobj 83 0 obj<> endobj 84 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 85 0 obj<>stream +ÖÓ +q²uã7ì´ùrû€†pÌþ£ÐÓy†6ž{Dà¾k,«íÄyt°`ª=SóÏø”{Æ]ûS”+ |ÌP+Ï£O~-ž­Qi<Ã;è@û»¨õ„"Óî¦u/¥!ßô÷–7]ZtÐö¨Û—!Ú6$ƒ³ #Pv ê-ÚÒÖww86ónIöåçNg–z”ÙHåܳãÛÕ­<Šë¨•ïp÷ðTóyâ•ád9¨1ð ·éÁÛ¢his¦T¦s 'GxIpí:ÄÕšÚ¿s{ÇÕ KÜKPha¸wLFíÂ×G®ù©‘.ÞÁzÃ/ +ùðí>ˆöß ì8±…¶Ìùªx‡.Ðì¢LôB›}‡‘¡ýZVpêËõ¥_>Šöö7¢¢²i…4©Ö4Z„ùX5"µ#ò˜B׬ޭC•é91N+.ÅEôÖÔQÌ!z4…ÅÓƒ-t¼©¤1§P„q+Ë©$NÁ+T10÷àé)‹OlŒÏsB󼜵£Štx£c²¡ 7›Z ûnÛ ¾&?9ì#Ó^Œî2¤ö"P>#]€-!Ó·½Áj×?ƒ®JAÂLè˜@ü¢Çõ—#ƒ[‹d„~ òD= O&—0h}MøNÒf òTêâé…3YǾ|3gìêÁŠ"ƒfê;iÅ|›§6ùÓŽ«ç¿'ß_æøŸÎºÊ=6 ý.ÙA²où—42~5æe¡+6+=ÕrfS©áã9´O¡±m‰^;¢Ïj{F´~Ó‚ÈØÿ”3Šz +yœ§àA!¡¸v¬Þîìà/±ü¯g'`Cþ‹gÈ“ZmýcnÀ•ªú zÖŸ_Ó ÑÞLœÎã¸èk˜ñx9„¡`V73ÕŹ™ð)…›K³½` ¼Ã¢©~2Ì7:ñ4x­!F›U”²Ž½£À‹™ÞL¯¨O"^´Å¢ap¦ó}jY0©Ü„ßѸ>7sÉÔŒîüˆÍ5;y;ÆfPȃõ£êÄû?G ûlqJ–nNÑŽ¿@T dU+\lé9L/öDâÉ‚M«lhCÔß2É×È1x{…gІhN Ä8Œ·ð»é‹ú‡æOklê1tïN±Œ`w/@šÀ¿A÷tÃ{À=&à³*æ[3 pÌ7¿k¥sÂþ*‚ÉQ\VհݺÞ'܇©TçR+õï÷wnEb>»W 8?þÐêͯ{vkïx3V#]A˜êÛ:ò“Á™‚[‘À7“í*px"qQ"®ç +}-S@ÿoNúE‘ʦêø¤3„î&–Ó¢èæ¶o)^hDǼ®Ù/ {¤†¾} ÜZžÏâë]Ò¬C‰>ƒãQ.U––$°òÊÄÎ+>LdÀƒ +€‰Õþvdöfy¶Raª$ígÒè­Žöó5e´>+®Q ·‹êî°9ªØ¥Î¼æ)ë-N0ô`8 ±ã˜ì.hçŠÍ)ír'-3Ohõ±r +Ž3ï‰ZƒÇxÓé®ÌŸn´¦gbœì>ÂÙýZ`¨#óMiyÔ^¼¶šÃÝÛqG/oDFA$y-Õ‘µgö|*2O½¼µÝ~s'”ÂÒç=æ•`ü%Ï’‰$6é7®Ð·d¨›C•SN¾”OöGàýn”ðLÃyo´"B—J$€¬èá…Ç»ë;‹s:ëP¯à¥.‰µaövÕÛû[ï9:ÍÉŒÚEõ `H´ZYh·—˜šãø¥NrzO­¶îô~{>VuÎ?ØV#Ìž+ÇŸ9ÕÝ…NyŒq4–D\­àè0ð>ˆi* +( M0S&»Ö k6–;€”G9ÜÌTƒ¹8»Ä!™Eê+ÉÏ]´õ=Ëå«øÔ°Á„OÕ£+LÃUýÈ€•R½–¤–BåE¤,²¥µØJ**8ã>º;z9(yš©Y£Òˆ#\.lŸùÎJpÆ& :æ•ø)/Ò2o&£ÔŸËaŸ;rziäYJ—©èØ»ò^Œûb©‡Ch縕݈©©=gÐM‚ÕÀÚKd©­’1ª™ƒªCáÞ·K•sŠêÁ„ò(® áåB$AŒì½–õ{䎻òìuQ|bÞ·ý|Ï%ñ)“iÍ +Rž\·^Ì'ù‚b1I°˜<Ò!:‰EÖÐv_uþð©PµÞ¥Ì,RjÈô´0ÇïU¡EŽlB Ó×Ù{Ð3Y}N¦â$´M42Žiç$ ÎƒÓ=OïÜ¡7« +âо +Ýékç¡5ø¿œkÐðKRrL€¦åÿ,Ëë‹þÞsoBƒ6tåïSŒcG¹œÓ +p,–ÿ£âv.T¨î”‚½ò_¹Ê°T?ñ·qðÇÞ…QyX¿“yªc²3^Ôœ\æ’¼<°œæë?‡Çhû—o®Lilñ¼ ÖÂÅqc„*Gõš2bMïÂTñÕxèÂorv½ +NAê}û—QnL¤ñH7“PïïMšÖìŽké6Œ}~Á/¤5<¿ÏÀ×½ûý"Y3i‡^_/Æ)(uñƒS.ŸRëÂ, +&±Baë•Õî±Àä*¨ßeÈ0AªÅÿIþDìfž½’ZG2ÒM¼Î´·«ASAM¯ç ô®m¶ +„LòM•áöX$"…û&ú™hèsXȈ<Äèà× *‰¿(Ù¹ó®êR<„ÉÛ6(Z)H0· -gkÖÈžÀ,ºQ™R›¥òÌj–ï|…t}o÷A4 ?¤ýáµmU.׳Ÿµ´Õ»ä$½"(Ø>œ#ªœŸµY9m3‡imCÌŠè[¸×;›XN¢ª%Ê9öM«×ødF%¢£c +endstream endobj 86 0 obj<> endobj 87 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 88 0 obj<>stream ++$î/;Æš&4¶ XÔó+w È…ïÆ £Ôâ!™+bž9?²R…¨! ç! åÊn\ì×FÓ•ÝàžªÉgÉv¯XÕÑÜZÙXOŽ>Ÿ…£kEFÎxê:Ê&µè¯¸#Ó€:¦T•'Ý1Ü ò. ÊžúŸøßÁ/ =øœ5‚i&÷âmW€][ÿ=ÔÊõ«ÊÓ´ï*]H T¤ðt3—Øգ߰×îKµÈ¸Öù“繈Я’_† ÿ)È«•¾r)³ûÍÐòÁ5gAYìEFÀñ¸*Ui²¿dFÜ_pg]ò6¿’4z¦Sgdù±êg= ›ŠBvÊ®trÔ×åoó6Y“ò˜#™g£íúN7ªÙivÔeÛ¿çk »Ì4ÚÉK'àÊr^{&j¬ˆ‚äp§k©Î:F äРÖo>lŠ‘ÖJH¿>ãšá÷ík4ìÞTTÝËsáy“Wû§Î7ž@«Î[Às¥ŸF\°9ôzI/iºçNb_`:©!)R +!Mø\yežò¹>:ÄDÙÊ剣·f|+“cŒ_efùúЈXKÿ+$̈¡ß(·êÇ(:7Œ ˆ-øb¿¿ßxÔó~•!ës)BƶØešÓ±qY{ç'M7˜¨G—þǵþË8½’±g»MÀ9m»jn-142ÕÕxXy¬Äcá|ßÝ:ø³PÔv»Ð˜AŽÌ”²¾Œ¦÷£² õábMÕ!bŽ*Yß@ —Ñë£Ö³ëVõLE¦(UôÎf÷¼™F$EzaÎÀZ5@õ“Vçñ)éé˜jºÝç¬by´É{K?óZ+ma‰¹,Ç3c£í5.iïê£}~`ìȶ“W›´6Ê'Jæô熙{0¢s?ÜÖ뿺ìŒo"ñ$?ïô[¸WS–úÒ‡×AÚª‹þ CKðRa +œÑÁ÷vzY½‡Ô£iÊšhDÊÌ­/i´že¸"¿+EÒ!û‰WmþÍK>i’~K©áa¤üAël˜oôkDñ|ö¶± [0p¡ŸŸ~* ¶6Ƨî¸í7Wˆ° +ÿà`¡…Q½§ÙM¦y-e¢&â4(ÁNØ”:Ùå¹ëåîeq—Fõ‰rŒ÷âÌ­Äð\8„šçìÉÃp/ùû:`°»°rëÏèƒhLwÀÇ{‘ÍÏiR Î,Ž‡ßžY"©p:ò-šíCITߧ€_?Ú£uàE¤:T'åu%´@€ÄzQÔ„ Ü’Ï"ÒU¨¾ž¦ùmÿ£34²btÚ‰øÔ»Ø3ò^°ðÜ5Q\3·E¢g“*pÍöBxœÇÁö8‡Ôà›Œí´‚ñx3xôwØÄæ;òÃ_1°'~-œãSªV ŸLn½Â“(Qp!×w±SR¢$ nÖœ¹^5ƒ/Ç¥Ž4a©ÕxÙKl]¤LÍÉ÷8ýåû7«.Há×É#ÏÝêþ"'N€Z„|–4BÐÖ?Æ’9ó{á?1€:â}˜ ¶½)˜T^MÜS¦³‚jq²£´lV ?´ò©?}ÊÑK;¶¡5å2²Þ_ éF¬¯zÈÝCW´æáD\ýwxÛK¸àßÒÍ$hçùQG#|óí¦(¥;±ü¡YËa<ŽR†•~IN’R4êÛE¬R:½e’Iˆßú´Tæ†s‚:³â†)ÏàüG+l=L]dZÙììf-ÜÚ¤uÛØFWe~Ìç:Q§?÷6‡ÌΊ3¶¬4{¢ËHÍ8ØWb¾ïÞ0K‡ã™ÚD¶”­åyU4/ï/,83 $ŸWˆÝx=ÓoÊsü÷ܹEƒÏ€'[§Z+ZdŸW&>—ô2CÂI"+Àº§°}~‘Ýr]“9¦äpÆÖÑX˜£¸ÙÖ‚ô÷7ø[YPòßñ9.8ø¡øN‰AÁ<B#zHÿ¸?Ôǯh>>ã²*©<·zJIVš{Ö}‚Âß0!«Ç%´#L>ö[!K/Z‹Ð$õFvzßßö<+&ýæ¤aháÎ’ˆ5€€èûs%㧚OG‡QïñÀ¢ÃÍÓ¡Jë¢þ~#JiGÙò ¸1´¼Át™.Ú›=×>$e‡ µ‹¢ªñs؃[ÂÉJZË+:"E‰½–ÃðÜne9ªšÆ ¦ZÏNœEƼhž88vÛv(É“!y™WsÍnèÝî )žëÕ>AŸ'þxqcƶ©}¾Ø™å=TŽ“ýû£·gçíúG 6Ï£ÚKIøÂåšq"X¬s뙘®Ùá­*‚5j‰V<Æüæ™?qDwH8•uÑâv†Tfl¯]ú7Ð÷ûƒîŠL|N+yË2Ü}¼Æy¤lKûðzbÛ)¾Å›´¢ùâI¸Å‡O¯r]“Öíä_g4@â†Ð0$-/±lï&éKØ}*¾À…‰Ts†}]Y×ÕÂDiwqTç÷H ++H*VÇËö=Pf#©G}!;r-œ'ˆ":fUŒ“ü¬õ .<ô•G+Þì…"Ml }î²-âSr%Š Š#’C †‚‚+?‹´…‘b®´½Y˜AÞ ï²Ô[Á<#OvÚ+†^ùÛ4àÕ2ª]bxÞ*R@õ¥ØYhl$¸8!& 3‘jØ"¶µã· +¬`°q'èˤØ•«~"—«ño`‹€çY72ã=CR—v`+*<ˆ@»~÷žÍ/›ÓíÚ‡,]Àï?Ë÷@ÆsàaMšƒ¥ž¹ø9n4Ýø Wż$ÄÜ7,SvÈ×\§Âè4]%™ÉjBÔå>‹(ªw»…Ýìk*¦·W’ûå·ƒÎsë,¥-!rã⟮ÁEF´~ƒIÜ™–Aá€]£ðIßþQ¨úÏYšTÇ B‡S+*ÊèÈÕÏ!ø Ÿ½‹z‘†ázû Dƒ^úxû̃d aõ69KºÕ¨ª,½w¦ÈR[HvgáÑP±¤‹Þш¾k 9ßñÿõ¤Æ8¦ •&èê1 Z'u<4ÎfY ç¸Çž“€3,+ ùïBqwU µ­Þw5&ˆÏ<sÄù‡ßŒ»Ì“Zpwöiu&&ÏJ50(z(BGà#cÐc\þÛ+óàjæä£ ¥þ›ñ”ÔgѪdãܘò}¨Ý—C¡³þxšË¿ÊŸŸbµÎFw§•³Ä)íÈíáÒÅÄk‡_p¢ßs`_Ïþg¢Ë‡-< ä„@"øF-Û‹‹ËÅ"D¥7 »uà“ýè¶Þª¦ §n3ûSRŒp…5ß)ô ñ…8…ÔEïÿ<–²òpBþ¡½Â´ð­D`ª®cG7”Œ@^´;oÜ&Éf}j*éö /¬ÜcngñÚó¸> ÊmeÛ;sM3ð(ü¿ÍÕ0|Ž‰oÎê·Zz£œ]R¦õZxa´wØð^ç:rÍé9ÌÖ¹¡ÿxA†\B±âî®%3%£É.V†—àî„ýª#D;%êÏ6%Ä»F u¹v^>8¨õdí©K0dö)N>|õÞ§†€C*Ù.LëId2aföÏI B­07/Å{yšCÃ|,CvÛî™»5ŽžªsBÒô³-N‡©~y|=ßÒ³ü}EuÔIlÒ +æ%ùmyÔRDäOßò o +ÚÔ`ú€Ë$å;œƒ XˆÓ]Ÿ½­2«¿Â=¼ |)è;å« *‘ËV ½L8‘uî +†Fu`Ø T®O”²gC—ÓðœèÉ é´vÄ <8‘OÀ%ìݸX–Âf|1þ¤#÷°¬çP Ì­v¡bûÅuZ¹Ž»Á ¤,»T·èÂBç%¤‹ (pákÇ—)ÜôÅ×1»»¶Ê߶î©1Ûu 7Tubñt»~ \rEJåQÎtFÄ7$ÂCnì õ’Ñ"¥øÄv.#“zä>r%@Ù{Q¡ó³çO‰Î 8¹I¿+ëèçñB½ú{ÊÂÓ%ÇUøÝ2]³¾ö L>@ï4~£X|uÕ˜ŸPrCÙ¦<6€tóÂÈýŠ}O´©o[:J8 [Ékâ§þj‰G‡(z­€µ¶•3ÀpOB;äöø$j‹YÜ*îÞAVó8Šåïœü|ãÞØV¾S9(’ð9 ïƒÉ¢`Š*)¨ØlȆ ߆æåZ«ê qÙ…§†é éß!‘ÍÓv+zÕÔýxC°1`']rXÙU†R°ÿ^Õ +V½(UÆûìp¬–0ÌkëRË$viÂ8Û+CF®&C‡üƒ´…mž§Žú”¾/­ˆµ«dÀ[a²U 2ÀDð+¨T/F–¥ps?;…ßð4n;E½ÖÓp9Mcý©^F5öñkà‰Ã‹V~’þ5úpHÕ5«”2,ùƒt$ŽH5Û‘Ñà T™WÞGÁ†¼jxqÖ[é¤ìß +ùcR÷Xþ·© pSmšK/˧AaLô›ñÄ/[mŒØ6T©Ö·Þƒóó4ûÒÝ&¾m¬Ê<÷×½Ðf™yÜ,V³Ûó¦Ô:V2p™ô»Ò:ükR#¬—}!]T§#ÎUÒi“Ž}'2ÕÝ›aº)766…Jvcˆ’Æê¯BÃ5"3&5ýiu§™cGU¸xNHPã:ìfR… Ž¿UeÉ-kÁœ ”-N eKSíu–Gp +oÅöZp9ìsÝÝèÀÏ!Ç*¢FÛÅLCüÝP}{®J<“"?gã3´Šó>«œGAåâ5ë„~ÙÌã†ß3ÛëÑÚPîa{TÊL <9¶w2;Æq*ÿ4_1ЋîúðàÄ¡hsåN쳬—:ºs„ÜBýðÕïÀ! Ð s@ãE‘‰ëf9òØl¿õ¾×‘ûG é1¥!)ו7C­„_%ÂÛ§ÿÿÜÀ ·XØW‡ê>Ø•{ã1Íܽ9¶uGÒ¨,VnçaŽÐ ²ê>Æ¥'(;{jÍi ¯ïò(œƒÙUYî‡W`jÄ—¨W÷åí¿ÌÉ›’, |¦_þÐ!nü_¾`Ü×ÚeS6¬xÄÆœ‰„ûÆ–~ɉJ-E9×a_¯~­Ãº<ôT/~~e3á—ë=~Gÿ2/U ü^= µrrN‹ê$3ùƒ«¿éREs$Ï°,ùÅQ€Ô4v–UncHšeû¹ Cx<ç$+÷õ˜ž +ã$S†Å;úÍ$ºq~jÉãk:¢°¤“W»ô?Â…í†z`NÊîÞy“oÚh8‡3°/;Žy£q&ñÈø•x×-æ Úμ'š¸QTúYèWLGjú$ù!r÷Ž˜Á$K¿ŠÂ.ËÂöJ‘ìVbÓÚçþÊòþk}\¨tSr*veøŒç²{#±oåÀ¯©| )M: ·8à’VOŠò_‹²Þ@:mõ$ù¹Z(Ï,>5‰x;?Ú>H4ÔÑþ+>B¬RoñÎÁ÷ÿ«ÖzÚá«×i3-ˆ„Y¤é˜[„Z™F‹¸P#Fð–ØK–%¢¶®¾pÀUX_ë»ù˜¾´íÖ¾-òò< „íبöQqìŽÜ»> endobj 90 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 91 0 obj<>stream + +r°V‡:6§„[ª)<_³êÿu™¢œ'€ƒCçÌwJš›¬%)·CØ»/1ÍŠÎèÎ(†8ƒ²ïì1’;nòèoÿPÆcFZ¼.ª1ú2DëoË ±Ûx­%ÑFAtåDô³tqü—Ù¼Zyò™ì$’Ç'Áš­&89ßÕÔ,\Éx¥É'8´{'è(F÷·ƒ6¯·¥gJþ´J…àô@ó•uæŒK +Ù;ŽBDøöÈ|M%kb .¸´£t…6tø#żŠg`&¶ÐTg «•|noF˜˜B>žºãðçFŠ{hŒ ØâÔTè¾Í¸½R‹RᦂB˜ô'#Î<½>w]^îY€‡SëÑGŠRiLíª´IpÞÞj¦4à¹|¨2„Ž%…>6ƒ¶§'Zñ>ö%óm¶6ÓÕƒâEeþôÞ@üFþþœ°‰W½b{Õiu¼‡lÔ?¿i˜gAéöÐ*ª¸"±ÈÙ +‡-ˆyúwżØÔÿpƒÈ«û%z˜è®ë‘.¥U­yG2øШꉔ”§{ZñÕþŠKüÔ+rŠ¦QŒŽ³ý¨3lüó“ÅηÓqÆèʪ ‹"ôYœýópþÚöš"º:JóäLóz%£Ž3!oxr¯ ËèÛRU8O[“È”ŽÝ²oé„ëÖ]SŒ!bîçŽWpæÄ—r•é´³ÎÄ Ï×Í»‹úA•%ý_Î}$ZfЖ;Ì…Èá?Ó¦^º0Ìòje8•®=FSŽSûçŸ6k^™§:]ëEå @e'+¢}η…²q†c㹸žêÓ¾œa=¥ºªT›s‚A|_ês£6HRÃ=ýVAu ® ?ñ0á­ ˜âƒ3ú¦þ.(¸í‘ö—{N,×ÌÌWd°zŸ/äÛÌ‚æ—‡X˜ÿÓýDã’Ã’ûQÔ<+¡.­<_dbµ—×QYÄkƒÎ•ŸÆxQ™ƒ~±ˆ%À‘b~¯ÝÏâJ˜ESN ÆF31›`[¢ÑÞD,O Ô²2Fåõö•Rg%«8‹ÝpÝÐÕYý\²"Z0''ôÄa’Ø|‚$7¾-6Šðô†à¤€\Tѧs=•ø)’ûSºöÀùscÂB£Q#ŽáפþŠç‹_úXp' î^³”÷âHÎÚë¦s½5–퀤&–°E*k‘€dÞ–¼Øm™G¼]rÆ4Ët's`o,IÓ\ÿzGgW£TÞº—Sž…ˆ2ó÷îÁ÷7©E…ï´üþ FpŒþ§˜g´:”î]ª{Tÿ(V¹it¶^M&/¾&ð6£ ˜ù>î””ýÆG8kg‘ôO"Ëʽ.@ºJH+?V^?´oªõð%dA3§(ô2h]Y†¥Ô-èÃm°ZíP é!¢ +©Ïçºj7”¶Áy«NÓtŽˆöcàßœÒßp“'%ÏôÕœRºLt‚:ª•¨=y!d³^W"£¶4"f[i6›€ÊˆýQ‘T6¥¦Ömgë}è ¤‰IˆÓÞýéÒx`•–S‰P¥µ²¤¦ õÆA†®’ºáCV¸ ær£n±úºæíÔú•³{V”ÄgbèâÿÀÄÍGwÏẖq7–Ò•ßqáœL¢ÒÛmtïò¿ÏÖºŒRÄö“f¢¼éž* oÂ1!,¥¬Mű·óè{´kmsªœ§DQ™84Èå¬ý5( +àÚð¢E Ò†WFjÉçHIV— q˜Óx©=âŽmã8[Ñ—ª0¼ÖÞˉ“ +%Ö™Ù°±3RÒ¤©žNÍj(ºž2AOûC‡<Í·£f„$aÿù3H!#tßxÅ É{r»çÎÏ|ÃÛóÞ-óÝÈ%¾!<íJ‹înOáÌ,feJ††Lìðpã,*Æÿ¤(¾é‚­°±N¬ÞÉ8ú.Wæ“~õ]ýuÃÉçpÕãÒ¸ðH—f“gú±;h:3ÎöÝjÀôôZŒÇè/ÖS2 £“¹•”É$a‘Ê ©­€(À$Pj˜¯é†S¢Z •ÃLyý5«éÃI6PN žÊ7d‰r¢Sqä$¤A7TqÒGÖ3+»¯öq³>Õ{9×u2¾í /!eŒ‡ÄŸùó$ȶå0µ´0ñTQ:Á…Ù³«>L¤ñ¯…= .Cõ×E3Í4ÿr÷oÈÛ1ˆ'ØŽN9ß Û¶–ÊjYKRVÇ.ac–ßÝb$8 E¤bpPp×L±µýJ%r05#[ìHR%¶íà®ÑuBÃJ´ð¾?pJ´Œò5~ðÒŠ+w‡8R˜ìáh1ú5ÿ“FÇ;X0öXCXŠFÊJ‚O…DzÄ I¾¢_Cº.†¿[vÌäÄÊqï*-þðÞ­Z¿Êlj|ö‹…«Uûç?ì°¬dÊ,î€fk=ývIˆ›e:¸no&luû¥ ´ßâ“eœòQ¬a†žlŸuUˆ/zº6Âf «ƒvÅÎC!ttH¿ÙãʲäúïmWge\¾†$Ø(G.¡f™­éVÔymŒ½þ€2Ë™«/ûºL}ŠM­*¾w27á_cÞÆw< ,¶UA Ï`“ŒöUÞ…/÷ATÐYG†SŒ¥©;¸&¨g5ž?+\‘²mOâ‹­½ÅáYWxhÆgâ–c½­= +ƒ{ˆ¹ÛHx™Üè¤ef„zÁž[jf•ÿ%€š0/âSþD&vy×·Û|]KIkÐ#H¡¡dóµúfŒY’¨Žú§hOs­ž"–¿R½‡U­*'oöÑÎÿÏG_[€¥_x|”iD‚Ü·_·‘Ù !rW,ËE¶åÆ”d [M|6l5Þž6S.áÄxøR +endstream endobj 92 0 obj<> endobj 93 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 94 0 obj<>stream +æ* ŠDÁ–$»!3=HãþÀƒAõ¬#ø)'uÊC(¯£·¦{Hã=½éì<ªô­È” 6¬†,º†ÄmÀ³ÍÀµi"¦úõu5u|ÅZ +¿ò‘Çå® ˜g|Xm!;–à¬WùG _Ëwî$s?M RÀ÷ˆ›îAµkŽ+ÊZ^2¹lµdÖ»>⺷Ä\Wðû ±Yœ†è®»rz0x¿°èb|S²®¤2´ +t£Exæ*‡>ëè|Â'ôh¯ŒE¾Á„²1Íð©í«ö"á!tLYôýòÄ]+GVºQ˜A#FÚ,MO”Åû 9ŸŠ!ÿ¢›\e«_b‥èW½Ä<2§BA± z$6A%9D>Gùêu§Ý~sŠÀÌl=O²Ãó½JÇ2A[÷%†6Þ+?¯ö$žlº¬pýÔ“9pÖ`qÐùwØe¹‘5ÀÙ¬XƒžvÚë@°ñè½ö”Ò’‰H˜! ¹¸F¸r¤9BùðÉ*¶Ë7©˜L˜UlÔCøvvÝéÁ|ùïͽ{'ÿ’é8Ÿ©s=òRï>PL WðÚ3T~Ñ»ò×~‚Ê9ÝDÈ6Ú2çÐl=\aºcìQ½% IŽ7Í\Þ咉ÿÃD&bá1ÕÿÎè—Ù¦ÐX«ª~þ‚L0$ñ¼ + Izá÷%C @óü/4ÐH®£Îý^`($ ‚¨}11âiuy·’î +{?ÔŒŸ1”8>ê¨Ùú¡^Õˆ ˆ|×ø:v~ÓCâ[‹”ª©bà_·RwÃ? ~Yq 6’ùÌ7$ƒj¿;'¦ìðTÖ@2Œƒ÷͈ƒÊ0!' ‰¦ògƒ½m3?yVáý^PnÑCã9í {Ñ–NfxqÄø8ž{˺÷Ë]˜Â¯6ˆ%Ó;jZy;R|a!Ë#ëJ8gS£R—4­bEÌ=Îå®—ð‹{ 6p] ÂùÆEËØ1/zf&¾÷µãæ~ˆNo>Ùü²"Ùä(ÓÔU†£û’š‚÷ÆöÛ´çzäE!.‚H𥪒…­Q{?SKE/òcðL–¨MÍ|XfEÕ?Žä­›eIBzñ*šGÔü{µá¹³Á™Îë_©ˆa—8&$¦J£[˜™–טðÒºJÄó|…wYS›´¼î~4pI‘‰"¯Zc¹ã/#ç_Ia> |e¤Eî`æt|“†ež`ñÛwuaxÏ]¢¦ËãÊàîbÝ0Œap +Ý\Áa‘Á¢}܆ +v?}}qüÞóâLŽü†¬šH ‡÷õž‹õˆ>29k) Jœ¥î1Æø²!1ÁøºK?TĦª›ËË÷yrvƒlB0®<ÍéD¯fB¶y2 ˜JÆ£‚c*‹PSÃ~agu>\HÛRÉßX@Èè<²×+bðÉÏÕ$¨^Ö€ãÒweWÞQ§ ~+Wõc²{ÆD©.®Ã(96K÷äz 0¶j?Oàw¬,²`¿;JÒ¯þêN1÷¬„¯›¼à»Sð²‡õúííqôNA~EÅò½É–2> +ÌôÃÂ1FŸ"ës“›7I2òʱÉæ0õ6/Þ©8[©Õyš.-§“ ¨üÆ_Æ ø!$Q÷KVÞ<|âáý™ô^ùMýþKm +U‚ˆ8tŽÌ(röÒ¾„¤`„z¶Iîb{¸$*—+I„ke?#ƒhÖ¥ŽJ¤O«íÚ–ƒt6ïLcUS¢¸¦‰vÊêîÏ¿½åeI‰®ƒ˜^“Çr„|Ç´÷÷hïË¥—E­çyÓ惂)Ö#ïš‚žmc$ŒKí u{…ÛÓl…Q8D©4Ïu„ÈÒ>Õ$cp¿˜§ûe|²¿%¼_ëRm5ËmJpØ×h>38è^§ 4õ0¥ùƒL`£?¡9NÌ"y~ì ÄgV,$÷â-ž{’¤Ôë„)üwâæÇUdGÝ&k}/&£œsÂh`dê±£d¡м­gé¹1AÚd©Û8ŽˆOëžÒo‰!©¥w,£qj,ÕVù–©+ÀÕöšº¹[hãZ`l¢S=yéÒ`‘aO!~Š»Lë°o• ~ýáL.ƒÝ KQèä~œpÅX¢íl_Hë½ru2{ôcUéþcrÜ·ý¯g4õ,àímo­Èb[.îvó¥õüÊUÇx¼3.ú +cëÿ\LéÚª‚30JÀª¡Þ¸ãjõsƒèºnà¨TÕ~OV¸P¡ªá…ëFÞèÁçi>éd Œû›˜0€ ¡ìô ReЉZ¥´C®Í7§£Qðœ1MWÐãŠPú ‚Ž]¢Æ¼|Ïnâ 08ªGċߌ.ÏþŽN>]=V¾¨s,JFÑ>V„çp¡š›3äÏ +>qÎèìýp^"ß«m×æ7í­5 IQ¿¡ý“`J¨¦+„ïÍ ½“§ò•¤†Öšå¹l+rœÏò›¼Ë1-L±ÌW4>ÊÂ3G€"„÷˜µà®ëÐ`ÌjMûkŸ¿Žyd3ÏŸ_û°HñR6Q×¹{’á…KDkú™Oůï‡ãÉì‹×‰.ÐWs…;Ë»½S%Ûæ?™o »ïI7ÏÌE,vT •18ÃC¾f^³ú”ìe––aØnùƒ ï5Õ+zöwà5îW•ûbÂ^zÂ8qfyDéó¹^:°ÁŽÊàjAó-EI¤À5ØéBåKrÙó¤êMarZýKEµì°¡ib,…-xPW¨…%< »'ÇOƒ­0.ÎÉæCëÍ\™ðì/î—´ü§XV[–U”€B\)üö4ÞpÏV6òGÞ3˜ÕÓ†‹ÜKi—"ÈŠ¹ø±n +2scbH$˜>Ñ°´N +4÷ýº‰× Ðp¼9ûcÇ.¢TVòÜ¥}6Ю +¨{m¬‡gº$Mat¬r¢pðdœ½í«]iŽ¤ˆÇSË®:LÀàÚ+É9 j«ŸüŒ?L›wW÷Ê;ÂêˆÝ_íáaý¹Z«Fꉔ­{‰9Ä‹Jwÿœ! +¹°M ¶æZŽQ¶SÀqŠgÿ‡ÆâN„w÷…-Æeoàqðj› ŸgBfÀ=ÚZ†èøõ55‰@h‰Q5JÎÞ§-‚o—¸p´§ð¦æ¡p“Úìk&²àGæ6äÍgÈý%‘é#÷1Ý»wŠ{¥!è½)sûb[ÝLDTqèCGÍ:û}Ê›pœl¤úŠaì˜|ŠžlK ¨iÑÄëÞd=L3Ǻ›.W\‡{û4Fv_èü{ÑÎo¯¦!4!+väzø©“ðk¾¹$}|c°ò…Ø!\—Éß;"°ŒB*4èt "¦#nÂp²e°ãµäº¦ª/Ox¸ÀÆ#m‘QGÀÞ„žâ·M‹­ ƒt½* íBÌÚe:Án»EBbRt‹èââáºíšH€/»ÎËö/ó + &F”Âw×c*KA!)AÝ™ï’ãÒD†d3˜>ÌÓKS‚ý,½…d÷^Ú¸¦ö9²èˆ-‰ç¥‚3âMQ¯Ì×µO9–Q`G6¶¹ðòÓÿº¿/O|°&Œ94¹¶ý·Z +ræ¬+çFgg…ëÊ0“ìÉ}Û×±A°¹ÿ@——‘ 6úEàßrÿ9Ø´ŒjžYƒÆ-T‡yhwm×Çe1cfvÇ£·ª¿*%ÃÄ–4j­Ùrܧ;G+Vq]kɾ=#ãV>Ñåá +Ï9ðê:7 ‹š<•ž†rþúœ ™w`F( "?§pz°:÷†¾'DÐÊKy Kt»‰œW÷Eò‚™ŸÙ ÏÛ³+„JÉ(¤wâž—Â +·´ ÂZèÉQSѹÕÇN‘^röt…’­H|ð¯ szº&‰b²ÜýL!ŠéÛ(!žÝ¯¦àäÎomt“|þ¶…öŸ‰?*ö}Ú~*8š:+H*W³…\Í8£Œ{€tJò;©˜+’ã•hDzܡäû‹mõ~Ø>–¬oÒ +§È…÷7Qφõº®÷-Ú0N ¿”¹C{¥IBýY}š[zØKkÉ¥¯!þ4¼N5Ö$I.ï}áSµ3į ªByé{J…^tù-îû¼Ù|´ªÇ‚Zålg¤Ágùºé+`ûÊ>Á>xÂÄE¡E¯æ&n#ÅáJÿ<&_pñÓØúËrèî¯ã¢\`ø…&›CÃSõ±å«~¼ã«ÈÀ®RÓv˜ßµ¿÷¶2ªsÕZVç5²Xy‰ œ¸]ñÖƒ"îÞ›$N’É:"òÏÀ ÈÓyŸ§$ÐrÙdÚ¿™àò˜¾œ›ïVD)ÊokN!YRc®¦‹mVZ—”2c'öí¨aH®MøëXº !ö®K䃬g¥Hô0[ÓÑR€A +endstream endobj 95 0 obj<> endobj 96 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 97 0 obj<>stream +×ùv9>²r%g±zŠ„Tó(”ê„e³ð#Ä<3x@ý;kÑÙÒcº=3¿}áãŽõ7Ÿ3 ú¨hÛi¾¤Ôv_ëƒAJŽˆóÙÛüz¡xÒXÇêxòϲsü—¾C +XK™·»ƒvqÚ³tE)Å •€·ˆX†˜¬¶,‚̓†µ !-p}š¾žÿçWª`ÍçèÉù,¹¿ÝµÙMª>ãí/ˆÍ"ìr,íJòy‘ÏÞÌ7ꦀ­ö@ê‚Ý<Ï9À3(hóñ€wº·cV¯Ì¸vtw]'$:-—6¡ŒöÃpã]þJ~ø÷Á¹ÏOgmNV9DZ<Ž(Ö@p»Í­× §ü_ñä:f·ó"ærb80$f1ÖÍ3>·3?9À{ïÓêðÆO®cÀ‰ûBSÜ"ñK«®¹ÿIå¹r‡3Ausï8<ÿ]xG¡|Ý'Ú3¼Ù¬Äüþ +²ÚªÌ^ú˛Ȭ‡›9â0¥Û’• ÆN46êmsºpÛD‹&+¼²…ÁVÏçg¼5ÆÏô5ãÌ"”M»"Tf'=´; ‘ü75/ʾþ4J+íV^ù¿r±;càZϾ1Ü”iZzê<³dz,pÏÕ³¡hÝä¿if=ŠLÉʵÂÎý†"£ìQ‹ñügTl½ZRo¾×L!ØKÎwb"c™B¢Ò¹¨¯'«¯æ-6ê"2ãíóظIhêþÊOÛ£¬…–,ÉCÿã ‡"ëdXºïjYdõŸy$ƒ­ZÇóÀ(]!窔P½w‰Y¬-,þŠî6ïü`P7Àã”ï+©>j³vkó:ÀUz Å•®îóǶñª<=´!»:Ö¾…Ø(DçéØ[Ûﳈ€§Ë„ìÑéè*Žõa,¤³ÚdâD¹Æk÷läeæ£/EŠÛY“8¿Œ‹ôÆ-ªžpYËø¨ë +~ßzAéÁgÚ曟"Ma$Ú˜e÷¦:°T#P­Bha¯»jï—Ê>V)¤s¦ŽlÙaV¬™Ý÷ˆ:ÖŸ‹ÜÚ ò5R¬àÂfÅ[á úÑi^ÞÑ©\#WlLÓò…BX/ ëû…bÚ@å‹ÜÓUÁ˜•æ>^§€EÌÚÓ¯[XîÚÒ¾pW «óËë‘wà?¡[6hmAëvR+YV}aæivL Š}àešÒÁ* áF¦üÐá.bÿ— †0ë[t·+¥™Ì£_†^ Î@MéÝ\bdæ\0Ô'lq^…Ë+,l ¿WéšÍãóq2nöà©>R[ó´Î{„à×/`{KK–·][´¥»»ç¶zYÅsoŸ€`oæ²f’¡ zã'?„…ÛûQ Ž§qÁ ‰/H9EÓy—åå Á)³¢EyɬÏ3ìŒýGkF™~™#˜Q°ôì/ÁŸÅÕ(?!z«ÁyeúÂÝɈ›§ô` ¦¥þ\ð¸¿×¤–‘Ö¾g2R.ž˜G$OƒžªŸûP±,¾ãeã[°¢µ ´QØoÏty*cC•¤Q Ÿ‚<À1/öø¸xÍjg n«ýx +Ù?‘eç䖸䇡i(©MÊ•{UZ¸’'T)ÙåŠ<8?ì! Ó$êCþ°ÁPäŸgR €eµN#M(–à¤AÈ|~†ËlõDŒŠzA« +*¼_Fj2žîo„Ç·¤U òˆ~_ÜÛõVL†¯}ÍÆs¤ÎcÓÅcÒXEÄV¤‘O†ksMô}ÎöãýV7`súÝ.Î`*ù›Ñ‚ÆÆel \Ñuü€–gPä/ý·1Ø÷½xZG3¼b¨ä󦣒ƒɶEŽÜË)Ëk›ln}eÆ£ë!Ú0Ë›á—g%«Mlw›Ö7cê'¾¢S[#ÒßñC {תäÄ£°)$Æ0¿µ@úè7E$cšèwØQˆ%^ÅJš4BHI}ƒ·F`­CeÚ"uN ¿._nWÎ?‡^[/ÐÖÔ^Pã(ìÍÆ.€.„ñà¹y?£¤, ¸¾?»¾·ÐºÜçÃÑü¨\-i +Ü6gù[Kqó=xr×*ù„FDÄ3z½INŸQiJ*³˜ã“¯õŒéAiáóÐ4¯%¦/ÿ‚R3õgüàhpveüš?ç«mÙ¹üQcC1Zí,/,Wì¼65®å]ùÂ<Ñ@8 Ûwh¤f¦N~C]ÝwC»t{kÀb][q¶Î˜ø(}ô‚ò–¹Ûˆ" +Í…ˆ²Œb¬€¥µy†|JÁ9é \p+“œ ¸e˜~(?¥œÞ8{ œpxÎ ¢üe5 «W ùÑ¥?û·!Îpµ«JF åÕ9/:£Á¥c±v‰ðì©^tn >A¸ˆƒ2k!@6éd)RÒóš B¶ }„«`®ëãCíÇÍÊþKs@ÇT÷í›÷æÇðlgÚútÎÞ6¯¡Kr?æÔ^X6èû=°'á|ol@Û áh›6ÊeÕ +ò„šõЈ¬èfÓôÿêÙoÄKB ªªÅ7õê›Ì +«hšY.SÇ7+³/ ù;òHÒkâŠBµW#9¥âü¸â~õ½yfÕQï ’€2;q?V{§DÈvÔoÙ¯ÿ¡¦‹ñÝ[ñ~ÜüóiþÒé);ñÞÉ&”ÙR¦!NÜŸ·ÜcP·!Lµÿ!Ϥ5©Öi@5{Ã\ænIƹôa×hçoßq7ª[Ÿ.ròsªÝ<*©1“÷qq"=~|ó“—·–4|Ä^€i#…ÔõßXEk•*s&jŽX ¸ãmóÌ]mŽÐ)Óÿ€ _Ãɨ>žÞXvàõñÁ¤{Öáê=Ð$J>ÐF¬üh»çG žrLÙSZÕÜѪ ¹˜_PaŽïu‡ÈeGãóÙÊ'»*Ýœ …|y4tÚ©‚WA}ƒŸú¯åÊÁ­²ÎW|%:ñàÔOΫ¤ÑQe£Ym^A¯Äÿ|‘ã‘,Ã"Ïì«·³f!!¾YFÕÝðmSª‹÷k×õüW3?Ñýg£3ÏÇðõ üE5ý`œC˜n¬Xwc)2,§ÊÙ³¤{Á߸u:H䇽¢@Æ( fé§q‘¬¿ŽÉ5Èá÷PxRPŵøxÏ©”%áIŽ¾zetÈÌL‰i:%™í¹°s²Ù8ß_ðµ»ø¯# A("w€ö{~Ï5xÆAˆŒ[ÌÛ“h¶ÓŸÁx]Î%¿3VøHntÒz%R¯J—œè,úB3¶B¸±™ŽædNúH꫶Ÿø¼0 NçÒ£U€bxÏ·ï =ݲ®”žµÈE€ð_¡„?Yíe0ø#}£Xæû’ÄšÄx 1„`ð5aVÝ{oÄ÷kql\ðͼC»&ƒä™ò"^ÈCPt=Ä|,ä÷yf°vÎZW¬×ã>9ÿ³×ùfžP‹»£0v“¤]å-Ù6eýÃ_ØË•VéAólù³¨Yñ¯AaKÙ tš±}Ó¼+}LͱF`_-˜f~RÊòè˜Óײ=À´ÎÇùu<~&ðN¡VÃ7äÂDQ_Z¸ÐÊ)L‚úÅVš+^•‘‹-dºZ4éf±Yîázrï>ÚÐåá$Äoñ0BH¬;æý|ª€Ø’„˜Ä£«27ª­x#Ý]57§õbHÉ8w,^ö6Ð5|¯ó* C³Â}Œ}XÆAbê¿hï#J9há¸þžG ÑqB쫯 Š¢ý³‚Ý#êè¶8€:Á®‰‹b+ ž'Q2¨‰…X Ô(7»^EB‡ú÷}Ô&e8uI&6ìåXŠõ­u:ECiÀ,úi8± +g¾‰ÖyMf êæˆÇžœí…m ¦YR‹"‘ø'!öÇsQlM›àzµÑîU2ÒWÐB“Žg¬ˆ£™—³hð_Ô'Ý?4Bp².®›sRý6—W‰3<¿i”ù¨xáÇòüG™k3`³ß'Y%§>C˜›T,fl)¢mǘl0ä$fv«Í°ŠÉÞãfÀ…;éØC¹h&F—p-Ï\¤V¤À¨qF'¶$#êÕ *ŠãN,!Íž ’Üdªy=5…Ÿt"T¬98*3­€Ž)ð_Gƒò Î/ó’=ê<<§{%ñLš@Îqá©_».ƾ‹¬Œ,`*ôš*£‡Æù®ÎI¢nMZæ.o:(H7Vzz$hð1>µ…‡?ýXA‹5¯¿4áFÖ!°š3–W†Íy‹Pggµ Zv-=¯3ðMi1†nÕFblZ-mâO%IÈ<-¨²þŽBqù¦î”¸AêlžéäÍ×Ë©ÚZ;Ñî™xG¿^b-̾E.y¨·6]¡ ÛýßS¡öÇ6Bm1–ä ÉÓh‘!߃ÙÎAùŽ«<®.ðóVž.jÃ!Ó$~ðôd¢)ÄŒç|Þ?Ä5k¢Ú›pþbÚL£aþJxmeü¥yžøi;hãè}: ›‰HùàSaùÂè°U>D=|Ô:ufzkK虇Ø(P{^â–ÿ¨1åEõk{××6DšÝ,ŽÑ«ÇiŒhL\nÅ*Ä›sÆ×ÎYycÙ“™ÒÙn¡8îQ•Œ½Eè`c²F®›v›W‰QX]½¦=€!…Ëx¦›"ó’°]Œ½ÿ=èCxLÖI] Þ‡ÃHÃ݃HÜÖ ¿ï÷oñzwsõ¥LpB© ½à>9êë‹x˜_`ÀŠ²ÊšÑ I+;4 ¡ñ”áx±‚ ç0òuƒ%«4ôrà'ÒšjDË=ÔI“˜™ô'g6¥R›ÊtT5Lrt@ó(!Ü‘«5ó:òø'˜"Â2ýqN©Ýi>•å*T%Ú¿C§ÌjøXšánhW8"Ú>Ü‚6gÖ6)ðó÷òK˪8<ÌgXׂ&B=Þ7®ê¢ é½—CÉš]|hÛ sk”2˜v“¬ËpÚÆlŘ_µ¼,ßààã;´Í$4ܳÖÿËŽÔDn õRi Qëݼ›¸Ð5Vʉ›3;£¸ŸŽj 8š«Ö6c"‘Û‡ËaØÆ¡~÷ÆœnÇæåÙг?FÌVÁ]ìwáÚx'§X á1e=R×|¥ T’2üúãBšù®ýõì˜L÷:äic?&‚Oר·-!*1y2½Ù3s¬ ãÁbÏ}ÒåŠ×þ÷H5¼*Í—þ-ê¤ +0Ù ª§Ë?Ä›‡O4$¦ÓîZÿrïíJ,Q?°¿Weáéä>GTLƒTÍ9âa#­+C j©nä¨HŠ½ÿ!eEuYI‘óiæ˜H`hèÙ@¢vÊzñhlÚ%¿¼Í\WsÞAUºÈ7O*jMî@¬Ç+iL\Œb\ï µpþ|Á÷oëhH„à¯G° 4­ˆoîúƇâ€i×X›k·î›'¨¬çî¢ à·iƒiîQ­aXúÞÜ<©etÒOs|³‹Ö©®$äÑbP,2U·Ü4<A+üÄjf'akùW¾‚³;µîÏãiñ ö³¹ûm5 ìÐro(äí™X½"ŸQéÝI|`\Zæ A¼kãÃÉU9 Ïä$Ȳe4Ù7S°¯ó©zJˆ—ìž-(În. Ù¸ •dH຅ZÑ_3<[Ü°WíAryI<績|œÙ;‹é î“.ñ?zma»DrXê éž',>š8±»Jˆ úùoCbEyÝ*Œ¾»s¨¶xˆSbÌW +endstream endobj 98 0 obj<> endobj 99 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 100 0 obj<>stream +’¹”˜Æ4«h ÛÇS¼múHá\°a;˜Z„²*ÄÚ-o×6ÚnøgŸ°úÆRN,.Ý· Ðü ',ì<¨O÷¼†HèÔª=¶‹¤°t¾±U¬vIK1‹Í‹ÁSI­üœ¡E„äÈü-»ñÑ"§ÏE;kåôu 'þ( ²´†ñr±}4Ý$C’©µ`°ú¶Ú+Rõ&ä'B«ÄðºÌlè*Q-Šº T±t“]è× Û§u§ìŸXîൾž)ÙÍV¹“p…Â@Î:’*èÁE@æ½Fv¯mÄÍQaêÓÀa¼£ñ Û‘úñÐò5( ç'ƒoèÜŠ9=ÐA§·¸PÔ‰ÞŸ²ªÞᦦ’ëW›Sp÷o¿r«®ÍµÅïI€ ¼m;ç@aÖX\Ù–b ¢KHžl¤nÙ3lf3§Ì_ëÔœ'ˆHrئ-GÛ]wîoW¦Uf”öÞq¢ôÐ?øvëz Ë&¾œÁ¹ˆd/·#Ÿ—Ü(,œ0¢Ð‹Ÿ1Þ’Oy/ý<Ì×tÄÍ¿[óÁ9Ð:ï(…rkŠ«WΚúœ Z˜ˆóYÿ& +‡?EŠR6»®Ãô5vùž$§È“‘Ÿ”䔳¤lEw"eEqòQ[1~š ´qWÚÂÎ[^Âûþ$- iÆ’<ÑwJ°ÿz=îYñ!Á¡µÐÏ©sEš¸äðìÚ:†2àUì¼ôš5ÙqâuÂó‰ñ½J¨qÙõíXµ^M7Â\ôª¸E@VQê)M\¿™ß!ìNüåy™Ùš)h;­¬ßŠbÕ;¥ÜÓ7 )õ³'\8Ç.Ôq»:Ì ++¾ã|pÊÖøŽaK‡9¢ì'•æ%^ç*e Ž,,ß?™‘^ìx…ùfJ‘0•JðAËBF0¨"`Äð>Þ­æ»ðƜգÄÓ2 ¹±’þ~¿‹åÂE'{Ùbýg(ZõÓÛˆ…7Ì.ýæ,Ù•Æî:ûSP„Vé\ŠvÌw2¯S0¡ÛmÙ;oŽî3o§,J4¶}œ9yœ”ÚŽâ7^ ž2ûà岡Qt5‚Ø¢àš‘]â¿h]pHQªu´C„Kݼ²P.a ×æWá–Þì50&ײì›&esrÁíĦ®øœà:•]QÄ %‡ï d÷‹Ÿ?Ýj•7;JnäÛ››YÛk0vŒðäL4eHN.|˜—¸ø›{q¨–‰JèöŸG“ê—fZêÇÎ?"Gýéwÿdžd¼.ñO/mHî¹×À Ò¼Pnߌ$®m':UIĤ–Ô+”èèRçVM"ÄnfLr\G Pm„Ö;‚Pª0Ôf¨ Ø<(N䶥QߩبµÓ’íQ,¤¹»b?óųϷh¦ÔÈG°ØòÉ/¼¡±óè5}9†køí SÖžã»™&øرÅÒk _v”…lTZ®µ^̲p…›ë 6ŠÆb!` Æ6¹ðÿjÂz¸Þ直‰“”ð¼©ZŸ—ÜþT¡—áJ]¸t«§Ѓ"Ék y¿Ú/¤³Èúö•X%ÃZ?ÿr%!Ò¦.(ÛTˆôø^!ò*f1ñ~Z:*ý¦ÅVõXº’ŠÚu~I 8siS Ò À<¶zuå×9=¤…DC¢²I…§<(,å*X=Ø°î½0»Py©’í/'‰ê<,j‹2ܯ2LXè6î„P¤Hœ‰g £â‹>¾ŒÉå“m4±Rl]C{s.¸ýÍ0Ä{1”•ÏK …^ꇚ¥¤{gD‘×G4͞Ͱwuù¿K ø> endobj 102 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 103 0 obj<>stream +úð ~‘°ô.¹`æX®Ñ?ñJŸã푺¯4¥õXHð@—N4Ò:±„f¬b?¼€A îëN8õŒ yDúéïåy³FD`Š­_ŠPý\§$ݧݭoÛ´²éQy‡)uŠUj^V2sNWšimõB\Ó SxÌZ«+Óψ'šàŠ@÷ºSó•tj Ãx²¾$uLçí\Á©\“+ +7”?Ž*‘oœ–“ðQÁû¶Ý‡rȦ‡×ìÿHª¦™ú¬£Kú’ŽP•ÃSqH*ÇÉau^¢Õ4W±ºquA¡¾¾NÆ@U¹×ÀDÇ5tŸKï +œÌžA k ×WŒ²|¾³Ðu› š\žßƒJ²A†}}œ/1ë¶O)¯!àÁ xv©]V!%CN -zGĬ<¤'Œ÷ýT}¼VF +KÔ¼ú´ŸŠÊR¼%'gmöBGN$ öèjfS)¹?Èï/Þ_î•ë¤I¼Ì,æ9 ü–fC¼ + ~~õæ%Uneø-<˜áÛe¤ ªþJ»ŸºJL¼Ž0×~k±<í;ÙÅuz²ÕE9Ý5~•m= jc峸Éþ†3:‘\9Wê¼v€¥TxY#\wØŒ~úiûî³’kìó”8 öþ>ªÍ3åœ*óos8Q:5mÈè‡6Wbâ7Q˜¡éÇøü5qwá* +'¾³[J†É5õØÑL3#èçƒèT4+|ƒ0þ#›±zŒ-¤n|²èš%L¥•òâ9Øê±m±,ŒŒ1¶Ë+8ßydØaØ3CäN"΂Èx2íy`ðH¦À5L1±Í—µk1ô®{´Nîá¾h‚ÓO<ÿÂUTRßS££×ñlqv…ja,áŒâç“ +VóÓ›€ËïpFÀÝ6rŽ8,®ÎßXGæÿj—„Z»1aŽÊ(Æñ³áK*߆Ó³SÀÚP¶j#ÎEúf]püµÇ ÿôuS ¦ŽŒBä §ÉÓ×´ßýøO•›Mc•ù3Ø5$A‘i?J½ V£BÖ½µ‚\?Ø/%ÎÀ¯õ Aœù-WÆ–ƒúËæÎ-úç¸d6uzÎe:ë’É%»ínk™à¦C%– ›Àz4…žšº:Ïáˆî×;JêjÐOËv…à†Oââîû,^°\ø¨‹.€Û(¢XðÏîDÊOs¤²Ê‚$¨ÿ •29Ç6½/™iRUÝ ÉF[õL¥“CÀæŠøåÆs íe>¿Í£‘:”nküÞP‘P-ŽMஓ=ÌñÓ>–?9²ˆ£_~KQ½¼—1–%²³üNF~]§^d!ž³.éôO°e&IóÔP<ž·²ÀÕfa #Œ”í†ú&!ðP86åqº)€âb @ò¿ q]¢Ä¢Òú ¼¯íí5e£¡3Œº=@#S&¥ÕŒÖ<®'$®!“ö à`‰u·lôÁ`hŠ”•“ÞyýJ=p¤¡`äÜ“„™§¦$±Ê‚2)±ƒá¿‚¸ãtû±j{©Ô_@4#Ì«j¥bÏåÙHûòLðæ*6¤u?½Þ ¤˜E4®=[”ÍDdÞåf•szÅ} r.(PŸD¼^N,£­§‘~½­n9 ’ß¿Zö¬áð@H¾ÔÌ/⣆?ÐKߪµœVZ™¬§6h´L‰‡•pÙ +Ù\ã„"»:\ÊÜÔnI|Ì&û¯(ÍÞXÕÙ•Ïp˜&˜"²3Ö©ÜMë)jTN³FÂRÓдÆNz§LwÒBŸ¼_ßísJ+g¥Ø&4²=Ç3FþBÃma®¬J ~§mPˆ>†Ê©'†<Ó*5á=Áü4f_~÷¡en¡¸­ ÷}*ÖvbDduŽ*¨;eéð®Þ"íú#GÕ‡ P Ž»øÙ^"3‡!Āâe4ÞŒêŸ0`t¿ ÏnNW‚v¾¨Îë ûúiÃòÀµßlcĦֆ½”ó¦Ëµ¬Yx=1b`ʨ.–E~%†‘¢Ž9Aät7­S—¬½Í^¬£À>3§-´’5g»¹¢tu2*þl—D@ÐZG&>ÙÃú*/øÚ—ý}4rõ[#Q;q==(9®ÍÐȨ‚c2*1#Žâl@•Jl„¦N "WððffΗЅ-!¹¥J†®Ç>7Wå—4ënÐ}JÇÀ´ôѱ¼“œîÖ’XWžµÌvu72po·!ÁR‡íluÙîWŠ³°Ž‚ç¡™½‚Ø=Œ>H›ˆ…ý„+СŒqåThç&½ÀrHÚót§DÖÿ„Áø»T/6ÕSe>&V!ì#áõ6^ õO¯Å{>AyŒˆ$/Ö-Øb¦BÍÁƒ$Kà aA]@d( ZèJU[zvv¹¶w7ŠGZ ¤jaèÆ¿öžƒ"5”µø⎧\ÿ)ª`Qš-ÌöOÏœ¶û‰/¶:*€uèz’é¸iae˼«¼Ó`Œê|4p4pÓ!ba[ÔfHÔw¥1_Fr6@ò*8ÎÆ>Ù¥¤ÚúYå¹=V8(ö#!‰0 ‹„¬‹2º}~/“—@ýûÍÎ|9ªîI×´e»–­_A½3=ú“˜Ž×ËÔn‚‰ ’l%è›ãfyM·™8†XCi‘¾·¾])Š<‡„õþ7l¿OGµ‡9è‘—:FŸÊü”KæüÖÓoeéŸM$òBKOAwïõçŸÎw2îËB|§’¯?ʼÀ»Öã‡(8%Œ­;Öåq7ÈCm0õ_v¼AEÄOôtÝ=¶0aã®G3tÄ nè\[‘â5èÂDåÈ”©h=Zì· +"#òñ›†£]&Ç6]eGfoéQœWæ7}õaJ=)ჩ†š‚mŸ­*Ý[á6;9øUßDZø¾ä !˜º„ìå‰ÞÂ_U3”^ ¦TÆîr™`§çÀÇ/Ú¬Ö­E7E¦­Õ}ü`%ƼKfãóJjÑçU{ð+žt!ložÃ胜?‹/x‘k¤DœÚa9`mAäÿ8¦uXTž ±R-uk¥=L>àKXaÞönÉOzðo1:·W¦@:*P)¼z1}Ÿ½Å( ¦Àû‚)׉¡àCh¤ i«Ð LY3ÉéØL•MìCÀê¸A’ À¢/³1^½ž”O‰@hL %´²¥Ò¬92ó•[Üøül~õÇ6ßæEè›HxŸÅrJà¶Éàºíñ·jq:âÜžf]‚;/-9)±â&“H÷ÑS«_[^àfsî˜%-‘ÛdèŠ+ݬßÙždÖçS“­¾lXÎ]˨0Vvá~\WaMåcy'MŸ«âŠ×…“æÙñ¤OFkz"zÂR%yÿF)úš ôîC›Ïј$9z#È]¦ë)ÁbßöÜøqC*C¦¡âùƒÄÜåçyÀvzîg¿=?$A!® L‰™F”ÒjBèR-Û䳎‹|ÁT:÷YË‹4Çõ3#91‚²­Æ%îÌ:£‚9hÌÅë ùk¬O‚ür †©”?1šòj™­u)½SœõL·Ï¨ÿ·Wo=âAÅt+Ö•‘Wè3hþøœƒ(rmzN &Ç”Z + @™xæøhô•JQˆQº'(„%¹Ö'¥”% Eê&¬ÕÙ¾hï‹ß÷i®¨Wê»ÍÃ?n •Í]·ËýZdÈîRc([hNµqV€ðAåQÒ)×6÷2ZF!ŒÈg¾ ÍÔì P°o…¤æ ›×’ ÈÙ +ž„¨+ª" eë§Ú~Çe˜NDwì·šr¤³›í›¦@:ˆ‘þÄضƒ… ýd¥ÓXÎÖ¯K8»½ûiOø²hŃ}'?ëz Q@þ©w·e# +’ü/h m긖݄ǺÍùHä›Jææ·ÿ_vJ§Æýî^Œp¤³Ù ð˜£Ñžtú\8›Ê…ê"©µkhÛœÖA +endstream endobj 104 0 obj<> endobj 105 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 106 0 obj<>stream +:0—f­4Pm“}/›%QŠ`Æ"FL¿m%Œ¼Õò 1VX°ánzUæöAŸ­tçPB¸|”×ðî&Ó‹L”Á”åezy<Â+õ#ãø+'cÑâa\Ë´åÝ«I¶†ñI è1çËÙä5&p,àrÿ]¨&IPõqÆ]Ê:O^p‘ö<>Á– ? БŠ:Jœo ˆöœÆþ[‰A¾¬ÛBP$ìߨ-/n¬o‹&Yê/-hÉL°Ìw˜ºhlðØB÷Û\Ù%¾±¢É6Z3Ç~J#VÔ7#„Úã7ìÐçÆèµåHûH¢ˆ2­ñC2‚倬nd£dAÞ¥ˆå=J æa3M‚I²QV‹ƒ€,ðÎWW9J&ÛHµC²b‰~UŽ’&Fd¾`Y"ÆU>`^ +ýÉÀîâ¼-‡VŒØœFd⼉+¦’Gg ý~þ>#<Íùv/¨EðÍ<|ž»5½Ïðn! +CöT)Šo"œ+„ô)¬g³ žížë§0¦5aC >ʧRü9ù·â›á×8tÝS%µÖçÓƒ=²l'Úr¹yL•& ]Únùüß¾kl€,g¢_¨dg­„¥ºü÷~zr*x”ay3¹ ÙךÜóÁОœðò½9 ÑJšú8Ù…Q;.@Y¾ñ +—׸Âð ×)wPvD%—8q&£\ 6½ ±pŸæ¨!3-Kg1>ÛU„‘£ÎeÙÅÁf³1„V‚ QÁú.×kÌ“ãÚ62*Yÿñ•9Ój¹|= !îLM¯›ÇïÇe¨aŸï×ûð6}öN fŠq,´Û:eWE©ž¥(QOÕÃ5Ó vEf.KÒ|¹ðôS7{fiêÒ°¾#Ó?ïí5j7ÊJ…ªÉŒ_Áxr–[?@ÙäÞìšVjCX‚W¹÷Ȉm¬Lù}ô>ü½­QŒá³$êu~IIßÌ¿P-^ P }b·EðEÆMÉ ’ñäéy‡Ï˜äüß–‚û±6á6/þ(ÚåæÁ9É»;/3#Ûáâõ¤caAòQðý’tJ1£˜e_ýŒ÷Æ/~î£ëI¢ #“íYÿ#ò-[~"q-õ‘Y3“õäJi»iÅ=ð€_·Xÿ¤a¾s2Ð!Té\óZMƒ1”Ãi~ë °ßbÉ™ &dþ›Z +ê œš¿È¯ïîžIGœ!9‚þPDÚ)·{gÀ6<ÓÛÒ|1r'zœaw ²óm‘q°{5k +¦_á·Rÿmþ¿áf„t§¸Ó:6°æo½šc0“ãÀê=•á?o0³gûj®¯ýnG²aP×Âèk·x[ óù®“íV\¾GqyüÚ_®*_[ª‰f¤\¹GPÞuyž5FC[ï†=8&yÇÜüG5f ¯çëÌ=LðT‡±^˜Šzo¶ÅúfÚè]³ÂZ§Ò¥‘b7ž2ch (?®Gzè?!lÕ˜„ä©ésý$óW·5@þÞ3=}k¦ +{:…{†_ši¥ = +ê˜`@‚Äßcܹ©ý¥²ý=•†hÃÔ©°m¾¢µ„[“º•ajõ<]„œþÊóÊÌ_/`5¾¥å4.TrZÒàñaVxĦvg+ÞO¬1^G;R‡®5{ šùe‘äsO÷\©…ü£¤ ©×V/µÔÛ²^˜B©íúñjòM±é’ +Ur0†¨r4Ñ銸ŸJ8\öÃ4cÍñ²h Ô-ÝÖgÖZ¥!¼;¹ÞJ[«ªÖ¨3êÿ€žç.Æ9’ðqrfH3«.:ìj!˲ü4Ç`?DܾN¢xöç«‹Š=­{Q‰ç·|?gáÃé:½½g­F¯í4y£¶¡¼&Q‰¿TìV¢^‹M»©æädVz $åL‚´j™hW/ê'*Z¸†f(zWº–àVµnïï!¯~FH4ZYŒ º¦ž³˜ +ïÉï_ãcò°LÀ/¦Xà—~ÔÇàOî[w?#2‰Rhi&¯ü‚tÏåEh©.¾ƒsâc¾0†äA°µ©ébw7#E5 +Šïî§B‹‹dåJø¤~_ãÜFÓ%ªt±îz —÷ÐÙ¼-z \q5‰ª¥½ @yñj«°dü8%¥$¡x„ª~ï h>¾:E1J*»,¯#¬7¡ õ┑jL¥Ä tí¦‰JEým–ÜL.f¼´¬ å]Ÿ7Až\cw—ЖXœd6W˯þ¾eô„*‹|U½ÀŸ5 Š‚Z¶™¼à±2âCl…5ŸU¹”®ñ)°{t0&Vœ·5}gÏŽ:¼Æ­‹ndºÖ²0ˆDÌ•®njjÿhjHB»ËëMS† +V;øá£eq·j„ƒù?`mxo3·…Š(.G™'´ÌZÅÍ"ÉŒ½Vý†éêbì‘)•lÛFnjG:%fZÏ NR#ÄhÆÀ³ó’÷¹<žõÊûmúVö{Sü›T&ÛN昞¬ ·dÒ¯8çq²íWNDÞ붠1k¿ÑÄÜ4öLïæ>ÝÂ3A3xkÇxUº–è_¹†‰2‘×|Fc ?õÜ“‡,˜u1ú$ˆÜï¡<±À\ªqέ6WÁ"íÿŒ—Xä[m##(¾Šäå+£»Ê‘*›'¡9eR¢G¿XC­–7\½ ¼IHª”15ܦ12›Ç¤ÊQ3’èJeÎ,V0pô_€Ä©*×fB`†a¿x¤@£Aت náWýâ…|}»NãHãé¸å±å‚;jädNñŽí)òç™ßýµýQSú¢>ß9§ÆÈ£$_LÎQdð[w2œ|\ôœlû@ +`Û²‹.=îl)ËŸÌ?’O%£cùÙÔ +Èz£’¤!w t)êmÜÌzÚ=Í3 TÞWS¢JAQ$« _ñ*ÚõG p>@¢ó|tzf¨Ù~"lh*磀ÊåÚÚÔówAa‰$±œ÷ОÄît,§dª¬šŠJ1Už—Hoh…ߟ{Ïýea3z?ÉaY ðp|K9P?C +bBó|àOÜáŸ[Ãàôd¹b¾üC>]ühJÕ¾(&Tr9PISEæŸ}êÔ·æI¬aï×Õ w6‰~«rbƒ`¨ò,ȯAÍÎ ¸ÉøqLÒ*L8PûÔƒA +õ¨…é…v ÂläI˜éÌì»/躺™ÙùÏÔPãçéý\ P)ö1Ìm³‹ òvq\©×FH‚ùLîFùkOp2¤¸ËSÅKà“z!«–ÎLå5f>‰|1𽑞ɱLB’pÖðY•öï’7Šüwþ>#7ØÜ~[ŠÄ1Ïí@1ꎕóJá%ü²ª%0`²h—<†Loè ÿƒ10{K!Nó’â¡fW#â¡ZŸbgY:vÙgøÚr‚¹CfáÄçálÿÉÓèsîöH åçæª<ÖÙ¦BòdŽ$}ùsãcÂNí²x&¼„%\¾à<ý×ìÅñÆfÏÄC}w}Sú?Jb;\>‡ ’êÖ^eWS2ŽB#œû„%¥ˆŒãN´Ñ!¾ôÕìQ™`¼zFÍüƒ €ùDÃËoûzêª&GX¹˜,¥ßÃè‹ã]äÔ½ìxš‰(Î%é;YŸu„Ãæ^{ˆT9ŸÔ2§¯‰FÓl‘¾¨ Ï3FÚ…OÓƒyÄX>rÈMÓ’Tò¦pÆ®éÁðÿ­UËj†žÍ¹ÁÚ8–}!k±ï¡Öþ\r½DäpI0hí>ü"îxµ|`èŠ ‹@Ïp •,êBÐÀá{TnJ‹œM˜ƒzº=bÁ¶¡SÇú¸™zd5hmÒ¶mÐƉ˜ŽŠæ;\?øÏTêgXC¿•-t“Çè”*,¢êì~#¸”‘Õ”¬±É¼õ4Û õ¼žRtî2/É<[³4~a.$~%{ÿR<柪B¼¹1ýÏ£k[*2„§M[× +‡’nׯ?ÿ“„Z•„`=F­½ª:•wOÜʣܵ¶t B„fÖMãtÂà +¾Ÿù0ðñ1ʺåZEïla¶*íÚUL´ä<øŒŒ~»гªZ¸ ø¨=OG@,àÿ)º¼xÎ|þàiêØ[ÎÔ¢Ü]jÕ¬V‹ØÄÔñêuÑ6€8öfœçücÚDÍßyËKb\*¸µŒ°ÐR®t2€"µ®h)K4¯õàsúWé%@‰>‚l~X•.)Ä9z&¸9ïúœÒ0¡ ÿ ðëŸñ3Rº”ý0D„QŸQ–å@ž°‰™¡(sÑtû­Ñ”šÜêµg—<Ÿàâib1a~s‡¤êÿhó±oJú‚D&: ‡f˜PKR9¾\6zNuËþíâB‚2M9ï f ˆ´Þ’å´VØ•j†Éu×h½GˆqÆÓ´Þh¢ñåÆÇö„OU< €€!Jpm­Ö˸´Ñ½÷­"À»Du:ÈWÓô&ú e +0¯‹„’˜sKÔrÍ:´)¶éïãIÑ[1À´zá#,éÝÙç`ÄöNãÒ¤Ô†0¿Â¿*;It‰HùŸvÐÿÑ•¿E+t~® è†Æ0B1õ |À®UŒ’îþ«R`2’Ö›ó³ +^øé"-¾¡4ôýÝNèçSš~Š„p6vŒ½Ñ&X#TxçZ‡z[<ˆy*\ì k0rݼLU( ¢”¼®`#}ü%ð˜ÁývPŠå#|Â&Sö|²w‹¦‰$œ§NéÚ*•`é³,.ðº}M¹×]FA!5;¸*œ-[¯t…‡4¾^úôɘd¿jwrY0‰]¶¡ßä*HÅŒKn_äñ¯­ÜbÙñM@äpH´äx*Z#‰£ä–Ü觔Q=·é‚>ë•×x7´QïÅ´ôï—³˜E³& õ+7y÷û¤Á¬o0Í©q¹©TàP<)!½¦ËÆ /ù5*8ïxJ0+Q)›¨±¥V.÷¤Bô~ºû¡e K;\äXã¦åXÙÇé×[`PND˜ D×9>n[1yPy¹”¤¢h;WõyÎŽ¢gHÕK™rÑD`‘í6Êñ±nFù¨ar¦®Z“=áK²9? ‰¤*((~¸U$pcß$ySaÈjà­Øí¼m– ·Ã;CÀÛ‡”ó¹U!!Ê‘]ÂpèÔ!ƒë€Êsóža—`âGë׌—Ìì©êÕfw¨²B`B7wZÒÉèfÓžX¾>=_ibKë£_Û+ЩåÛv;÷¨…3z‚7ª”{cÚ£ò*›}QkÙ¦-·W|Sß`p‚h„ +)PXH Ôx.#ç¥I­rWͽŒ¯Ÿ‘ =®ÌwÈë ´’¢wbTÐ m××ï }rÝ–ž³Åg&vy&ucm¡ÏË 8èa>¤©×ó9ž×ÉÀZ¤sáw%¤9íZv5IeGf›—Äß¿rºÏ{˜O u³Íp¶?ˆnIsÅÆßèÍFç-†t;ç®#m]æùø‹Ô²[¾(9"±ï%‚cŸaz ‡xòÅ ê9Е©«!Öu›r„ÿ·Dˆuõç´…²,úõ_Öâð »Ë©]»Ä& +B‹Ë´ÿ $@ÁfB+,Ô%CîDE…Ÿ%˜09 ù Ç‹¾¿{gŠˆ“"“uŽ–@vÞR‚ƦÓcâ¨ôD0nÔ4J2©Ãný> endobj 108 0 obj<> endobj 109 0 obj<>stream +#m-ýÎcÃYõ_~âk@ö{™­U¿³—]à®÷È-qOÖ?o¿Ãl+‹dË—EêúÄØglè—àáþÝë«9¯–¾èÓ4«ƒýdlñàyTèIXœ +endstream endobj 110 0 obj<> endobj 111 0 obj<> endobj 112 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 113 0 obj<>stream +›¨Â2WÓžuÄý¢£ÕÒ8´wyå§Äˆ¨²+uÚ-ÔJæm‡ª‡®ž$¡åhl´Rì²ÏÀ6 ¢§{»1]æË«5ë­š 8G0?·mAÄÇ7)‚^¶Ø*¸gp±@ Ÿ|bô ¼åÆË{Õÿeo¬ c­¥7lYÎj’V¸£â#z†˜HFî϶ºAô2ÀBÿr.AëÈ`ø7× ëŒäúHãɃoiŒ™q€/î )ùLå” v˜~¾“°7m­²ÿH¢‰7<¾Ü=“MñêB 3Äj BÎp̧`.­$ÕŠþVA·n©PIM>¤Mþì!OF 5Çà–›:  îøAsïµ6’žeS-yQÇ˽Në7=]ÂÁçV§§MÙhŠù0Üê²mO\AÐê›N’+Sx›cYÉ´öÜo©| NÛ"šð™I/ž&N‰ùÎÎí&h+ÈŒ¹è´CFv#Ê’Å‹Uçd"Â,cm¡\ÇZ'&;ûÂðÁÐ1íÜUH>è´EzÄDZñÝöª XÍ:ªšøgžYóÎêëŸÕ;}Âlr0ro›Ç•|U €ã:ã‚n±ÕUd$¸™ÁÖFÐí¿ô”àå/hJÒÔSM"y‰L"¿HÕ Ý<¿²õˆëƒ Pk€ÛÅN¹Rÿ拹˧?­6'•Å@S¾~ÇÖßVn­ˆ*»T¬ ùéÌ4ÍKœ×™¥ü¦dK4ÍÉ[“´<ýTV¶1+$¶1ÄÄÿM#ûS;.©¯¤ôǣݽO®­dKŠœ>4ã&øжƒô²@×{­ƒþó߬MÕŽÁýöZÕ4œ¾tã:–qf¤vj»ZO,JÑóRà£Ø—$ óì‡~\ç†'Û%O>b°í7곌¥áhìd! Ç¢‡lX­Õ9Û÷:ñr?&œâkLSE椢¶@œÚ§rHqv7³‰3¬†÷ ¸·*à/ê@ÄýËûSîÖÏ£ Þ…·ñÚ'‚å`ãWïœU¿äÒƒ°ú:Ý•Nê÷ÚV¢ç-ZÞ{"¼<ù„mÈÛBØŒuiÙd&æU·D¬ØÓ›œ«­Öýö +ŸÑ(3¡Û¯Å Ëj"2ýlWl~w<Õà×w¸0Ú}á#›yf%E”(9ÚT^qøCoGO{¥ÒLŸ†>ÚƒP¸)£§ °YDÜŒ€D·µì†á¿iåŠ+˜~îÍš/´~oûCMø’êsòÄg¯fJð +G€6eq%3 2Nƒöu#ʘæ£é¦4c|/äÒË—kÓ<…7Òo×¢'×Ó‹q»`d]<Û-r8Ƈ…«#6FÓ {B3ƒ â¡ç­ ª®A~z½ýÖLmœ²‰åD¶‘•ê™ˆ YJÿJ2`pí¶œÜ+Ÿ‹ÐX•(s~Cœ À=fá +롃ÿ4wÕÑ"¡©×°:ƒ÷3JŠ²œo®¬ˆ(µ‹D~ |“›tõeßoÙ/b»Ùó·ÿÖsö­ƒ›æ¥N¢+dl¿õXXH þçß·l Õäø YÃâ æµyÖ/#+3ïœÔÆ-’@j6©Ó9 IdhÖÒ8w]‚3DûÆ4õG9ó *Tºv¥½U‹X´©ö†— f¥ ·Ó…Õ†˜tÛN¹¹…ú»p ¼ä 1|º9¡:_ëôº‰R„bÊ“*„™šyx•ï¨Ã¹I2LÚ×7ûÒÌS÷Ñ®×°—X08Û‰.dÐJìåÈI2ó)ͶôˆGE[3+§k-;åŸI»ä ZÆí䤾Vˆ$"ëŒ'Þ­ÉÄn}P}Ûûð˜W±4ùæÄt2R?€ &v 1+4bÿÚãhãr<}¬ÿý{x…HôhÅMã]y4·Âa žê Iø’öܤÁËbQ`4`ðj½N ô¬¶J¼¥yzŒ“özœhõ_äÜ@Ù‡s™¤}c˜‡èÚšå£ +O4šåyæk­Ñ5<µ£]^/=L×ÚtMðóÂOìª->‡Ž­öP|qÚ¥l°÷¤s*.ß‹`í™9¤•¯Q³ægø{(×n*À›-­ô3lùwé¶5€šƒvjÎz ­†S]eoJž v@Ý\ÖA¦µ^:€iIì"¹.XbzØË©”óÜe§™zo +^¥V2žßp‡ÝóýûF‰‰²Õ1Õ,iO~¿žœCÍøº‚„¹þ7“‰,tD´z\oØLÖx)˜`ë(6þg‡ ŽúÉ:³°kÁBwÊé½çÐeÛ^"t»Ð|OëW˜Šh©„WB#²ÛèV”ó)–iÀ·e ^Š¢s¬ÂÿX±»%øÿ¶Z"ówØVê1¶!7ݳ›¼:uzÌmÂ0mpÈírJ‚e¨á¬\h#ÿ0|Œ)NÝÂ\'9È3ÙÜë*ânómV0PvÀÙ±æUF~ÙÿTI¾hÔp2rÕBÞ$#Z öÊKna’L¦[Ñ`jM{4É©©²ÞOWpG/ñ8ŹmŽ51é«'kGŸ² !Y”ª\¸9rªBÉ~í@ãØ"ýç,â1€0ÁIög¸½ø‘ +DuÐ1ûêÚ~'°Fdòf ©žN)EWð…Zžèp°Þ- ¸u¬w77wÞûÀ ÅŸxsö¼Ûu^Îó}À†e²…RÍãšrZ¦Q?‡ýA*ÔçCH¸#ž›í]ßÀÕÊÀ½ÂižÄFįwÇql‚ƒ˜\v;IÄ=Ì×V©¯y”®1„%O¶ñ OÀ/{$Oζ?I6¯)A{¤«÷Ux?uŸÉÈZ6œ¹é"Ñ‚¥Üp™Ê4oAëCôL§·:ñ¬ì³¯î§Æ“`ˆÁC #/*à’ᧅ²¬Ÿpüé)[o`ÿ$ó@|%}›\}¢ +½£@aöV[‚Ûìññh,M¨'»|¹q2ãAOUÎFÆÁöxv ê|Ü)zÄ-ø >n>kP±W«1ïà¾~21¸Ž™™t­óŒÄìÐÁK5#¥›ÐæÇcyÆSò ¯.@ÎŽ-Ä>½Û”3òK0Ð_HUk":ù##]ˆ +ÍJð݃ð®ìGiΑ] +lóRì™-S /'Æu2wç¹gEþÒÛ,3Ì%L\SnHùÍê¤NÛÍ›g]ŽÄ4±bnùwŽ…FÜn8ijÍ®vwqBn‘õ Á؉7;õ _ÕýäØŒX„Ø´Õ‘ìoLãYÔøª¢‡B+ ®y×lTÀ’£†‡o(£0ý0—ƃ3È'GånŒgÌ‘žÂzpÃÉU‹ºuVisŸbh¯ƒ£hˆ:ð6Èé++å/¿Èw‰˜a¶™ïêEv²ÔÜŒŠK +¯¬XÀ0JWE$.ÅE6 Åðÿ+}jÐA¶Ú† ý£¾Å—Äû¶(hYøÿ”¹ЈW4‡¨_)ÐnQœzþ­ü½³½ÄlnÒñj¾eW¢±j©(LÂYèp÷…^B?Á” +Æ„Ö0u£Ïì&µ«‘jO¬Mƒ:‹`@¾o«GÞn=D„íwÛ”K®SŠìŒFir‘5Çí“:~lq„_Må-Æ~h§öÂMß?’VäUû¿N’ðo»Œ[÷»^”ovk_ ;ËOų̀[Œ60úz&îø ´’—o³ô×ÏhM¼l¡³ß®^ݬEðORˆFˆÃhº»™?RB9ƒYêj%Ï‹äMpÉâ 8\Žz¦_(]錫xâÓ/h%3;ý~8}¡&r‹¨Çlt7 &ŠÅãòa€ŽÒà .Hw½ÍR´›‰I5Dʼ™Âÿã%®?Á¤ó¹z•i¥¾°H–š­£ÞÕþ ³mDD“›s»à•œ¿ñgé‚üý&§(<3Õ ØßÀr‘rÁT“•ÊÛïvÏ“XÜ–Ð'¥Ðœ}«ºhi×ÅF%˜gšVV*·ÙÔ&i„ ½Ê©9».Äžì¬^´JRN—X&=Óå@úUÿéóq3¥2IÉR…núù”WÅž’ÐÜ“ÜïôiT¢6yKN¬y2ƒAëb†C<5)«@­ OÊH(uõ™-ü 1œVâ`ÿóå­kYÀÚ 4p-t§gù£‘ì?æ–0Y=ŒûÑá ×8¼¸a•³q•ã–«˜wdONrŽóÔK !hUèÙ‹ßq{|‰ñqº¨V:9@Ù«&ZUþóü‚á +‡ rENþBñÿŒÅœáÔúKX6t¼¯.)Òéu¯ð·`$q¬Š’ˆpþ(Sãñ–#_²õ®)KÓwlO"RÇ?ã¼&$ØHüë>m^‚uêI‰±{Õ¤°óÜ况3ŒÐ¢é6áŸ,xp÷¦)C™{Ù„ ·™°0Xãn5ßLþöÜbÔà&¨1&ã¥ÄXw5Â\ÿ¬¡ëÆP^!¯3lÿã^‰¢jf{ñn«˜‘çZ,Å3*J×iv©hÏëÑÓ•4_§]¯ HØst]ÿ¾TØÍõJ~†fЯÉæªÛ¤·7›ê¢t"½Eï¦kÙÆß»z” od9¼Ê19z¼« 2EøökÙ·4Z3ã¸Ih3CÅáˆn­¹¸\Þÿï1V¬„j‘%1Xª˜ª%÷ò”@ ± +X‹NùuB!¹èqÑRjÕ)6yq¨ÓŠwdæÁ*!–cëȘ¶xu÷‰Æ8„Ë*ð¹ˆ."À²ö¬: Ú;c¤nßv¾ÊDm­çƒìG{Ýôr1VHKŒ¡©žVùkbþ³§û8¼¾øQµ¡FŽ!}“lwŠÒë«*jÕ!­%Ó’fÄ'¨LaŸOQKt¡Ò8iårâVqÖQŽÂ5vÞ…íÊJÒy²ž=ý¥ÁÛT¸Ï•‡“mžBS\×¹u>™b¥©Mô±é_´O¢óÄiÐÞ‰0˜Í|ÚºÊï2ܤO0ÀúÉ%Ý@Sú·¥Í}RWIÊüKž¨›á{EÊÄ‚AÏŽ•™&éü„åÁy_N¥¡* +dh¢#‘Ù§v›ôaÁ§Ž^nîçVŸžª–9> endobj 115 0 obj<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageC/ImageI]/ExtGState<>>> endobj 116 0 obj<>stream +Î{Ž”zÛꜲ7žçÞÈ"Ý`C1¸ëÓ1¯…i¤;ŸkF²ŽÎ½gü¸¾Q4+ݲ°œ7–Ußå+êj•éó¦öVÍ¿éC{FìØBÛÄÃw¾ecû­mP›Ò îÑ(_*PB·€ÀŠQäÉ^@`h·e^¶›<£!KA>öø8c?Ʋ;Cø:ŠÈý„u4¶½Ÿ,m˜r… ÂÙ6ŽzUû[Íözríîä³ê¨TkÉOx_GÝ=ÅTK±k ‘«R¦R©3û¾±ÆK‚fÕ~ +¸¸˜É€tŽV§ˆ­íÙFsì×>Ô$Êl½ÿÏ©à‹óÖ-¯¨TƒùŸ§–¯YuZcýÙŽ>—ˆ®¶œ2sN-3Xœ6R6J­<ƒö7 Z€Ía^Ø÷At–‘,a\pgÖìÝê +5æ¨mƒî"L¬šø³› ÷@쌭Ë))?O¯z’ki6*G¾°ZâRïëE©ô†K&Sø¿¢ž9¨À>RG¿Aîúp€š7¦-”m÷ðRD}¸–0|ÁÚ<tÖê5¥0¤ÖKË"dEpuâ4q¹æ]Ö•$bmb/ô.šÏ¸gòÁ\‰%3†ÁƒÍ«›<¾nêé…RœýF³R 7:l_ÉÁýŸ„±8æôr°ˆ¶¬{é´äÍ+Qmø|±óGr¼hÒ,o ñén¥bƒ!¤ ÍIúÌ5ñEH"LaN<›c¹!E–gr: PüÒ!ËGº»¯B¦fQÆÐÌ׎‘’l MqçMà{C÷ø(ÕF²O%„+ÀÈP²'Ðô='ŒU = +ýÿçƒSÅ=­lÙ˜lÙïöõ7Ü›<ˆX§&VFû5õÞfm†)òš”Äp”3”9£8 ÎÉDX~<êó#g쬫®ã.Ýzó–á nØ&˜•ƒÏ’|LÆ\&¥7šH ­f—;(·]ð‹ +á4¡6áDw esÛÚƒc@±×ñ“ˆ‹é?Š6èy;ÅjÒ+4Jýp³œqF‚'²x÷ê0~k4Ûà¿TÝ.¢UÀƉ¼ôî‡T/Ç{¸KQ{¾Ð1ÌÄm6ï(evÔ9NŸp2p%^&]üÖR̆J— ô´…ÒƉ#<º°Á£Î™ŠnNœ/ŒýD@}NÛØøÝÄPõ‹\Bß/³.O¶¹sðj[¹b/ +̵ÿ`™m!Áç â¬÷áÑßîþó4N„ðýƒ“Û󣎾­Ô1Baw­¦é©±—_CçG9àxkavªÇ¢«ÔÅ´C©.ås“ëRÁþkÒoǃÝBßTŒxBšK6ûÙŒrèšÈ¨¹AŸd¨2i@ žÒ¬ãÆØ"mͳޡÍÛX ¬Õ(ETÈ”!ôSÛf£c줓n ±ò|6BvCN¦À+lPÂeÅj>9¯k¿Dm’ >Ž±¥¬É%Àv|ÄÑŽÒ¹© ó9+×1áUù×¥}—®&£t.>;˜µ`ˆiN¾O£7ÓrcÀ;â:­Ø“*€ùÿ´&€œW#k¡âÓ„àHq~ô”&KŠ5~ÉÁjxã¦51XP+’I¿å(a˜kTRx0|“)E¿H(¯»éc +ÒɾÛZ¢šÄ)lÙ½zõ üiö“ç4’}Cc­ÿÄÁDd׎^¬è$öX”¢!íŇª¤âå,Oß7VÔ€#ºŸT2½8æ(VbgŠe‡er6# +}BeêÞž5¾b¬ªµ¬Žé‰øßÙІ ¢/M wòFœ”ã&·È1ÖÙhÖôKˆ½ýª²h>.þa8/qàê#½mÐg“ûÞ1ù!|ÛÓ4¢ºyw(/ßû¥ÁA] B ® óƒÃàwþ|è ©ÝàÐxw‚nìñ5Ê…zs[5­XÚ«`Ë~Øs,ßò˜ n\ƒ×¸Ä+jØXLU#ï â@ Ü ËÜ›MšÊÞêÔ/¯z"¼Ž ÒûƒŽGµrL&ºuyF¥mÚé<™zŸK2ÌÝB…1—n­_½OѲTe›Žz>â˜ýû¢""ë›GžDœÈ®8 ;qÌ*­Î!¶ Щ5c•ºÚ8GY!…{•¤V&¬üÒœ«O§§´s¥øô°ÄèTŠ¬•Ûæ²Ôò¡åFÚIÕI^°¶6q¾eÃ"ç¥!MÑ£ Nå¡Æj‘õuaæÝJ¾p¼u•ÙiAÐhT•Ãú¨<8ÓáG?×òô?aã [JMŸŸÈ<]ŠYãØå +jÆ°ùb¾4¹£Ýõ‡–wp+ŽF“»—xTŒ 0«>xÔþi Ñ>®Œ€ß]Û 0%½<‘hJ;igˆQ`÷쿲—…E¶ìzéû²\<åi¼~ni1¦¬…–æÿ —¬âh@ël¯^DA«æÁÝ÷8  ‹:eÙ#J¶jœàŒ43D_‘!. neÓ#Ñ2ªeóÉe>&ÞÓüýr½m,T=¿Àß.`:ˆ}Ÿ¯¾0✒ûdzÃ!„ÕUÛ¾S*•Âd{ÝvãP(ûæ-‰:MºÁjº°´(K÷ñµóÜÌù„ãÛ¯«Ÿ†qëŠdGæ[YÚâ€éIf‚ÜI pvëÕtĵîSMÆê§ZÒVÕP—™Ð·,¯`/^D¯F ONŒpç7i yq;éÊéð–H<þPR°]K‚9žÞÊ ¶œmËY4Ý óºHÄÿÓãgCÕËåÖ7IöaþH›¨t±¦Þç†ñIŒ£o‘щ7p1k³¿ð  5©0Hãöè’Xß"‹5/m¨Ã¶…›9"˜;£Ç¨ àsƇwjÁk»ô†+ÖòøÉÔa³ùÏëómtì¡?È@ýM™ñtßïøöŒ(v‘²ÁÕÖ‡Q£gû‰€{±J’l¤ï_|/öhIAë”dBsF²~¤e±Ü8ÀõªÌ‚EvR¥«‘’8r7)]{ì4²ÂsBÚÞ°‹™û@žÛ:ãw9,b+=¢É$pÐtLžw6pIÖà¹Añ{ÍRÍÀ ,®þÆ |#6¤óhç!tÇómLI¯[”ÍÐ0ènˆl•Ë÷œ¨Ÿ*¯kúðD`ÇF¡ú™vEž‘õ+ eÑ­ŸzâÏZ´ •qø£x=ye–EÞ¢[¦•OŒŽ—WÌéý°æ´t=˜µ*àD¿”\ ­²¡Qù±`í%><¢Òc߆9üÓY\SÕ<‚—}¡Ó}®]4ÔxȆ8›xʇ‚ZÅÕÔ •^ðÉ×2ÛM‹iŒG>ÙUèÁhâ´!ÅŽGÌé úzàOP8îз„ZžÄ§SŠ$4ª_!ã·œ›ÕÓ£ XÆÏ >Þ• I½ìågñÇ}¿p\ªQë¾p6øWØÍÏŒr‘øNùRZªçœw¿*Ò|I4ï’w ‹“\8ݛݩ’¬œ…̼z.Aé„üQ„Zµ7A„­08, +ˆ¤?/C+9b}4Xm)V]?ïÇ&8€¹…‚aùBÞ³P¿ŠÑ7þ +…ŽujÛ¶‡â=€Û¤sQ•³›&}n¹’@˜$–Ú•µë?–÷¿?g=ªý?Š¬¥ùm¶vÊç&'‘Å©®S;Öú‰¾Å­­t±ó•ÓàŒ`ø>ZÉp']¢Ñ¤9ërS¸k¶w, ‹,Ahkž¹6ÛEñœ«IÇŸl¦‰ ü.IIå“…Ï~êò Œ…ß +æ)?Ðá!@+"ðwBpÌ +h8«çWù´¬O¾¡ÂL¹?ršk“£iÜ.eo,›gè’ÿÜ’©\iàpM·öí)=}ÒK!Â% –Ž} sæ/>ìJíÊóÅpJö|Òù¸Ú3dH©–Á­¹œÑí¦dNüÅNõŽwN»†O5Yˆ±…Ü3Z¯±Î™\5TvÆGÁ?©cž‹,ëwÞ@‚HA¾7ê­“s?V|Y0&GfºîAô´¿]Ú§Ècm÷ï1ÆQOy±Çºf?ŒöïÌdc²ØêmÑíÚåÞrÿÁò`ðìÏŸÂ~àßx©¸ÂV L Àô±ªÔ>Õv*é¢Ä$½µ´½Ï‚"1¡ÂÏàÏ_³Ñ±:Ñ4䙞KìB™ó€¤„ +v‡ÆpI¶)S¥ÙŸÓËygyä ã *pað±3ÑÀ¡BmÒÉœè…ņ½°À{Ñ ¼ze±b¡B}ƒÚæ’ËNGšòmXÑ]P 4Nßäííµ̆Á«é’…˜àâ8êQ1£Â¯Ãa€îÿ²#2ûÎœ·RÆ`o­ +Å\†ƒÐÖŠË••ê,sŽ{¼iÏC²t¿lð/‹ᬄGz¥b8†Zåš°Fc}ŽpâjEm£H“þLK-Wîþj!‡õp=Eœ?»"8§×µ ïãÈ:LêßR¤”*‘Ì­w£ß‹  ½Ê>ƒî»T$ö×ê%@Û,]H‹ÔLõ[G¦-háØ´S©?3/Ž¯ïp ”û³‰è«o\x~µÒ…“ ÞñÎàh„¬`Ï!¿É^Gp0ôÈø’VÖràs¡»;K,ùšGË€¼ÏÇ¢ ×Õ‡ «ŸAC¡î3%„U„ ŒÏXs¨_GÐm§K¬œ»JÁ ÎóÓH³¦b°ôœ:Fù…ã•ü°+xŒŽgÁ[GÝq0]“L+ 9ß{É%«µž¼ìÿâEX +‚¦ó$e«ÒEúLêEêÐÉ øÑ^PSI&R_Ã}ÊKUA¼9.Êtw¸S¡ÇĺYÔD)ÒÝîìgܶ@G Óغ¹dØœbÍQÙÓfú€¢[À«‚è$; ³z¸æMúõUâ¦5é:É > ÄÅÚ»»ðƒ>Wоò N‰›Ä!½<žO2J1§t·ÓÔ!¢|àO‹UâöÅ࣠+ꔂ@èæ]ÎQ$¢‹ê8˜%¯Acóàˆ´ô8_/çè³XE“Œ²<›KA7k ÿ€¥WÏ +¦Æ«‹g—­›(]ð¤CçÔ‘^y»¢µÛ¦/ÙŽü)!Æ,ËP™‡o€šëÆß"½Xc\²”ÉI[C~#:ºn ";ÏÉ¿„ä–¬"$G¨øús‘OÍ&€ |?q-ZˆŒ“éêª4Â|ÆÈ:ä~Œ,Ä–c¾Ü„ bßõ½@Gi㮳[Nx~%Œ¨>b"CL>K®TAeMײ‡öú´ÏÖЊNŒãÁôÞø"¼°`*…ÿ3 ÖÎì +çÅt^éM³ÆáZï~µ•°²ëzŽïˆGª¨,fC®¤.¢Eß4`þ ‹œÌ«T^ME$æÇ€ûS¿„;¸fáH~(‚É¥Ö¢R‚ø=Öy XX âËoÓ·z~Ù*›sewÆgv7TÉ7 +~Zp2ÝSó×Ò“àµ/î“¿¿g¦íË·Ù_{|ZŽF:}+ûïHëD$pöÁ¼’²ê¾!}S…’"OzoÜKv´ W°°P)Û®‘ å\N:?lÜy7•Ý7š§V-–éFl/¦Q/_ Šq/-ô¿ÉiêÑ|õx¾šVºÑðQÍ K¯¾À†ƒŸñpï14[8~1Þ™å4jÿœ;åKÑG0à"ÁÆìa_fî3‚#ô5…Þ†>Ù1Ø®ú]]Ë/3ųÑ1$¸ø4PÏlœQZøèÞ1-÷¤ù .ãnxÀ¶iyí¦—j,’ñýl‚-ÇžÖ°ª-Ö³Á\Jµ5 -EÝŒÝ^ ™Úà:³QX»–|¿ã¦I΀䡦vc)ž_¥7ptÑþ¿*æè¥MYyZÍö[ÖɃTÙ%0ˆ¦PPÙBÍí"°f Qá÷ø8±*Fög8)ò˜ dívµtµ’z9ÆSY¦ãšpí7ŒöÀLyÛé×X4x¿ó'{Ê3F°ný—GKé]=nn·ïkÊÁ:õ”»=²;DN`¤þ5³Ã[þSöA)SÕöh €§3c£Æ‰¤Á¥‡Ò”·øh{}BผÊߪµ*„Ž‘‘ÞŽ'— +kt· +—²²ìBeJwØp´…5gý¢@ÙOž”§y‡oK—WOÅ“ˆJ»(› +*HBm«`.èÛåëä¢çfC˜RÊ35|f£ØOô0A¯³Sç*ÿÐÁþ 63‹B>ÙQgò•&DjbÓ»•­ˆ‘¦¤˜>&‘Ѿ6õ·'wµZ¿!Ç…=»ªŸž7ä㕶WØ•×çW2¸{,±ûå°MÓ¿‰ê[y'YÄ\*(ÚK4gZöÆxÌm1†Û) +endstream endobj 117 0 obj<>stream + +ám>Õv$Ãû@…6W‹™12€|8sú„¦Ìø5D–xŒÐ'€¥\Å:—œ˜Ñ. c×¹åz÷I·’Dí@Œ´‘hƘf›A°­SOìâ&…Ph'³´Ó´1ûò\XÊWø½I¿*u¦ÒpG4£Ht—”Œk.øÚ¿Z…eu3úf¿Ô + nPŽ¥8dp \žZÕ¥D¾>4·¢«°Qé)Ã7´|‘Fݤí.໘ +} '˜ +endstream endobj 118 0 obj<> endobj 119 0 obj<> endobj 120 0 obj<>stream + #×qXZ«2˜Šœžxé6}7ŸËÒaê4¬zË&¦U»’ÅgR‡|ÊÞ> endobj 122 0 obj<>stream +kt À_\vœå%ÇzN.»|Ö%GkIÕª}bÖ[ïaL^Ü„ä:ònGš]ñ/¶M%Þ픓ì)%]ôš«Û%'c9¶J´]ÒvW:P [$÷dâPò…-A*uÜ­§‰ÀHÓ{à¶&‰Æ‚”u<#4‹ÉcAnàþ!ωq¿ç +'®›˜{×V.Ú!yÿïgõÿ³k*ßF ïŽ#Ù¨ºrÏGoYݧ”;)•æŸM(I÷Ô£xü4 é‡­%{)×¹âÙ7åàKQðåÈGµ>žÉ +endstream endobj 123 0 obj<>stream +tÄB[E@þ£ö§(žéÛ²[Nd[#8P·^.ïˆöª…kÆ›öW‹³kq =òÆGÛ=+ŒîÐ0½QŒô…xSàÔýÂN=ü:+ÆBÜa¹´D¨©e‡{|C_iÖ©à@o¨)ÛiƒýÎù•žyñoÞmT™¡jQÔ~‚aઙA +^â«Àÿ( ¥’±Ÿ«¡Iž RýÿˆÈYG¸ó²á¦bññh©¶oá"ç öóå\=Z½ŠcbÊŹƒf{-lS"«ˆL@8í\º]l’ªðÇì3ñ>U*f5E˜ôf¨¯•&ºW¬ŒnÅntÞfS¦Y໊R_d©ÇÓÜ® +endstream endobj 124 0 obj<> endobj 125 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 126 0 obj<>stream +K5ê¿TjþÄß>_°Lòö®´Õ°L˜¸š\ÊYÌÝ÷KVçASÈòR\ž×d{pêR*å[Ÿø¿‚«ÞÍÁr ô·ÔŒ’¿I±îƒaãÁ<Úa¬Ç<ÝüÌ‘½@f( 6wdÜ_/déÛŸ#Ò,#›[hý ϸD@ûàe÷[æ:^.îVì]cX ê9Ú––]ºÎ8ÿíA ž|qfï_¼îtñ3‹Ôq¨÷ÖG–‡êAJ§´oÐ׸ͳ`y®‚Àñ`–Û¯”L8̯CŒø”uÌüzˆŒãýx¢ï* ’ñžšK7 öF^r1z-5 +OÐðM:ÈL\$áv¯“}O#™HR„K(£¨är$å;Z[ÿëKo Ꙛ)µAø•a9ŒÆ5€ÂXxŽaaÁ£Ï’šìÅ Ja¹3%˜À7­µÅ9AÜâC;­xXù-ç ©j-Œ™A{ßêÙŠø?r³ 2Hæ2S]¿¨¬ôÿ–6zŒÄŸ­<`Õ„o\dlË/,ù´î¸µ‹V½ý8ðáÎ2£¸7£Våc±¦{gÉ$d¼è¡[êÉZíª ›àÏJù¨4Ä +Ö„XYo:r²{q0El²'ÿµ t江ӧiõŒèîÍaÊk%ma]aJÒĶMð!©á|ÜÎpr¬1é©æéSgÖK~ÓK‘ë=M ›FŒÝ4—ž·ì +èÅ’º/"ÃŽ `£SŸâC^“ÛH˜¼£œDNž‚_”=À–)Þs»@^«’üÎôlŸ09HKŸõûvlœÆVÞ \.?ðœüÀYNݨ›t4´ŒaÒTàœdÊ}w«ÉÑF1SRN³8JDL–²áåðKÑOËו¾S$Aa}˜ôIëþ{²Wæ‚w£àŠž»ò±î{l½ ’¨ÁÏx2¥:“ Ú†£þþÖ²ôôÂÅßRÝdûä HcJýã€û±1õaèyQ2y¼$¥t׉þŸ˜ÊUФ%þ «0Š—§×Ÿ8Çè*pÍÎœ“7,JwC:ö;|úgÑnE™á€÷œ?©û=ÈÖŸõIj"‡Y~®ß#÷Qø‚m!¬ÅYì“ÝfΪ5ÙœaGÜBmcÚ6ÝksAWüŸMŽ^põy!ß5á°âÈ©è×î0WûÛÉJ¼Þ,=Föo¿*©d«ËZÙ_|u†*L±åï0 `!´[ÐÍßù9jyfŸ¦‰í÷Gû}¿¾œ«u?-[9~{^ò(@»=òj^ñ±D“kÈÁ6æ°Ž÷»É§qÆ9?…§mh볤í²nˆ*¼SÝk9ˆX²½v¨W5©ƒý-îÀ+½Û`SmÈàc;fqn¶I\gh€ÄT©ìÖ(?ß­9®úÁž˜v}ÔnVW‘b:O=7øhÓMLî]µ'jm\qg¦¸Ëºœ‰Bæô4* ‰VMNŠÒ„ö¥Íw +ìe Øsœ%å£+ÎÚœ²íßÉî§CøIü½Ä‡Mڇ݇®3w–ÞEÕ]…ôa)&ð¦ïn•W2#º·Óyb/ÿû}œÙ²JB¤; ˆ +CÊo9o·¾MÉŸ€) »L¶==‚„:*P+‘›¯•7·+jFÉP$8<Õ~œ@ïk¢hÆ5N…'z0:Ë€ci”¨Bÿ¤® µ¡¸ðŽË‚»é¾üóà%(Jìç +Ê-žØÐýb-å,w{P!(Hž›ó?~¥H!ìVÕø Ôrß¾z¯ -%¨²a…%Ž®VZ³É­²±„¹Ãë…Àá|R²ƒSÔÓ´/ŽþÜ]QHËFvº(¯“·>>¿`œŸw¥¡SâÈâ>0«Ö¥¦9ÖÈúA4~­ ƒ—ìöØÀ+Nš"‚*’Í¿®€º%;iû:>LºC’^AYˆ3¦Ò­ÿh|ËS yÀñU¼3’ÅeëÙrmz±¶r«$”tÞn>ø!ÖaÒ.µ˜×J_ɺlK:Š w+ÁŽ\v$ÁP¿Ýjõ%¯öÅξdåŒR¯@#‡Tõ=ù±7Þ‘¥»¯7C¨÷Qäðêÿ[q gJó9êÕ}¿"1æ¯H„ÉÒšµ +É^n¨Ø3b>§2g²‡¸îs˜0 +øÊEùü&¡wDé/>.e½UiÇNÂX¼à„Ù_$£sqx}B¨Qº†y ½@EZ˜æÁ—¬ ÛeÛNV fpí ɬÿá;2ŽC‘9ÞíÖ6Æ$͉ no½6R¿O ^žf`ÚÓ[ƒòm^ø4–ln tÔ§L%¤«Ì›rS ÷¸œ¾Â \@¶1ªàÜßm/aõ]EÞ'Ÿ ¿††Ò| 9½ÃŒ$Ç”o?çÅ9´9‘¶Ã±E½š¢˜Gß7õÇ$)”ë+§èÓþfOØaË•Œ'M'šdEn™÷Dû[Z%=S>­.)*Ìò:±**[)r¯Ó“½ÅFKý…a1r[¼ˆãF¯ÓuieA D¦7¶ ½t£JŸ‘Ýì’o6¥jòì;YýÐ@p5ú3ÓԩʆÒÆ…PË΄Ò[=餵J9ÆÝ@ŒKzG8fyH€}áW¼ìîë¹LƃÙ%iÛ«Ô4ôÕWœw$¨G n¹©î6sáþ³˜{%‰â0ëw¡©ˆˆ[HFY¥=G†£±»J eX,xîˆ5þ#Üž8Rƒ‹‚·¥q%¸§×àÂNjÄiÒ]ñ¿raº¶ÂáÁoØ?ƒ“ŽKñ’Ëe¥dê“\…í\À£Ð*î¨MãŸÑ²Y«©Á©¢ˆs¯µmU”™µ(#dg}Œ&Ûh. 1a6EƒJB½¯’Ý­¹¼uZì„LôÀd?æÄqŒ£(¤*«ô½Û¡~oë†Èž½­ïóꮉµ½UÏô»®R +(–RŸÇæÔ¡KMÇ•ñ¾­°ËAÖpà]µ»ãà»p¿LrA4¾æÞL”OT&î®÷íƒý À¸¢NSý“1…Oß¡›ºkYÕSFüï|‹œ^».Ãó„ëK#›ù®Ø)ƒn3Æ™oõÚÒ—¡!7×_¬N?FžÃ­º`ಭa¹rB“OõQÎo¿$pÍ!’eÓ±#rŒ©¨$+xÜO™mÓÕ»>apÆì“3Ù0Ȅ¤Æÿçƒ(}Ãí@±vûèí®% &ͬ¿SÇ6;írõÃïä$þ=ˉ+ã«AZ{xÈ f„Zþ ÆßTXGG>QŠ”eñ„YXF°Sü4"|«mÌVÙ4åa»ÌŽÆY|ÿ€0N_ƸbCߢÿZ²nnA¢B)åú¡súnÌsÀ[ãÆËØ7Â)¶.HóÑ_iHA;®Z™q²3¢•é–éVRk¼g~ +ymÖ…R¾,*ë;¸ÉòÙoTÕ#+0˜}”Ãë)*'uÈ6qö,׌{ ¿Õ\Ó¼åµ*Õ^†C*„ô~bßð$‡0¾­‡îyîìÝÄÌbž½ªn@wwqàÍè/7±|ï˜N1(HéT¦ 4–“˜…ˆÇÑbÛoàðxlì#ØAžI(ƒˆÂ•¦°°µïoj¥|êHXs«?UK1jXåqñÄÚYO²7Óx 4²æç¸ÿ÷ç)y€H¼¯Oöã,AŸàëA§d:]Bv«è¤Ïä²|c¹þÊ]A ¤õÐ"¨— äðØÒ„ Œ¿ «°uªÜñOs\V2pYjæ ø1Kà¨o*Šò'§;t]tüt4èˆ1îᦅ4hß2š¢$ˆtíÏ÷z¸>âé£G§Qž}—öÚà„!©9ÔöïzE¹žËï#É8²\)ŸîDZÛ 'b¿v«cC‚(£n1Ð?ZÏL†ÔÚ5ªù“ùW•cÀ‹þóa¦\69ŸóÕœ·ãš½Gé¹-Ù <ΔÀBpÉÉ3"j¸= ÑHü.!gËŸz:· ]Ôy`ᬡ{ ™¶6OoHýIóö’ê-wO…ÓæÐF:¼‹<%|PÓõ¯ÉRÅ4ß½ežü!:ñƒÁ¿â)±|ð í>'“½:§ˆ¾L3¬mÔG¬´Œh)9²Ë⟴è×ÐXZ7JÎõ¶øÙÏ/I©yä+ðN‘4æéß¾ª›ùŠEL¶‚»âKymª}£ðÕ&äѪɒ +Ì6(!©Fg–,…óIð±Ýž«‘æ}.¾f©#±0Z#n‘Q GÜ&ît«`»æ¦6ÎÎ 4[SØZ'»b|8èNdضx©é!â^·NÏfìEÀÓϽT™Ïã]sÇ?ì’”M)(b)9gå‰z‰!|uehI~E>lÊßâ}x¿œª~Cr•™zFÁ倘¼¹vö¤ëGv3òܺ(ºu͵ +LB@ÁÅ#x¨V'ÂáC…»ÄaþŠL=²\Uã"æH£¿¯¯»a‡JŽÍzgWó~ªerüømÙÕEh&¥ú Ïa¶ ¯ßØJ0ÅZú{¯»Ué† óÁj»µÈÆZßܵçZÔÅCSeÔ÷ +{½Sr¬Ö+»7&ÀuZëµ<äëztÌZUlœðâck/ä¬áݤ¹6í¡ž»»ûóºQåÇ’¬â1 ¨£¯> endobj 128 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 129 0 obj<>stream +Þ6_2:ð»¼E^¢rÒEÿ¿ÃfÎ$ùxY<£'ÙôRW#òHê]7^ó Øu6ÕS]Ý#„äKÙì'éQNµI +[B]Ígƒ” ŠãlùŸ<ÀzƒÅa~’àùè;9§ÄÓÛ0H [Æø7ì w¹æêÐ;J·ùöf†Y%¤Õ ´Ö°íó;dñ ßbÆV{ÖO8ÀžëI`ûW†bjôéeÒ>Èø#HÎM“ùhDPZ>,¶Vg2ë0¶U°È£G'<]‹QVè†Ë9 “ìU>ÕÃs²Ö‚´MŠMhËM®E˜¹¸0Fª}PCˆË‚“kÍ ­v*3øн‘·TBܹË¡àƒ–4tCT4®Hn£éèjÅ_3W4!6¹ÓÁËteÓÒhjQ*¡áxEfxs<èF–įísäóÓ)|23é­œ°cW¯Õ…‡€¹…h{> "8ql&Aø¯H"".ûQRÆAc®ažÒýÀàYÊû‹=}=}±¡gÕC´8m»˜ŒKÌ£8vvñÛ(wºT,=ƒ¨P§` \/ûC}‚kgHnSAHãá´ÚÝZi©}z,:™Šѯ/žý¥:Œ*Û¼ÿa$ Mm‘¢…ZK?fsœÍ@É\WÆ!›ÖwCÍí½¦”w|Ì0.Š7‡úçÍYàÄü„׸}¹½x„>¼[ÖVö^¡3ï(û)wç1ô@BÇ%½åF k-…ÎHj‰jø¿õ_¸ÐÆa(C0ÐÈZw>+WòÐJGoEÑ”uµ©ÿ›·´)‹¿©zÎMËdÌ:[$ÓXR‘Ç¥”W0 šÙ†±ªAS=S€Ã©õ©ˆ=XsÀ]í,S3;ë >1söÉéÄÞb`Í¡3}püØ<ð°…‹Ú CU÷> òª{ ý¿Âç åDZûͳÚ_ß ªVã}.8ìIi!® ^ÝG:¶›PT&‚ó>7ºLÀ1”ß“™L¾¤h5a‘ •z¨ +èÊjáÍsš›‘~"ªx«¶°›æ °UÇܹX6¼M—l:_]ã%¬„ƒ/ õñÕÀyd ¹èÍU ¯…w‚d¸Šg'öÖÝFµ³å2á,¶rV‚ÔYà–VUúãa³¥g¥¸\wüª<0É¡ 2j#“™7ÎÁîïV„ªõ_OÅž®Ë2*oÍxHTl´X¦‡U2ô´êô‚ÜåVã›·S—7kv*¼PJ¾BGœo"´¥Ìœî悔Ðô÷ÊYœªs¸õn)Žíi*Z>ëo'Ë93ìg%ò”äGòoM×Lz”¬çƒª/¤ý{5£g,±¿è—þLQÃi ÁT’Ua]}O'è‹ÈÈ lE{LÀäb>;ò¤¨®t+”Ø­+J€:¡=r†/;ªp„ð1ƾa¸i„×]P¶Ÿf n¾ž†’/+£Dܬ74a'q¶'î&a=iYÞÝê•Hap@Ý-¯4¾#&ååG›‚²F î\æ'E±Ð}I¿9QMk½xoפÌ"“î|o&„PD½3‘ÉÑ Ÿ½Kÿ¿jŒ`ÓXû,e-;#OçsG,°` Øñ …ˆ²iµPäÈ`áÜ8Þ¿Øa÷ôj:§S÷–‡"ã(Dߤ;ÿª8ßSIÿ@<š‹Û¨·€…óyuÚì@ÝìU +i‡Øû|5ÁYVEæ’.@nOu wÃÑü÷ö@^pjPÄá#1{híá`%]Ë8ó«hÚ=Ïðty€³ãZ'ÕMžòÕ/®‘½”GXæÅÍ›rŠKjm•%|FÖâëRÓ}§Êãï{Ì-»áú-¢~V•—ã`FFíTìcÏtb´Lñçò ¡ñg Ü»…µ=x&~™w‹ÅoBœ•èœqGä)©æÀš2é†T703­³ñM)晊?ŸÐùÑ@ÿw‘éhG#‘ÍXÖ“7–tvp˜½rxϬ;Äí-Æ&e¤nEåß;¦Ní#¨æ7ç>v†©_îXÝaº•P×Ê—p3 1®f…Íßæå97É{Ä’çGWÊ·U&¶êA¾ŠŽ8î~k9&Ñ?¯¯E'ù?ãOJÀ¨Ž´LÒ·ŽHȾ¬úq_Ðgº9hYªBi¸ +cRGÜÄHYû:T“cUeô,½ï›}qø«ò™†„¸}•eÏöSì^ÒE—QÈñÊìÕ嬻©Ú-ûÊ%¶¸A<\@‘šrC,ú‰{dðX%$ãÉÍdUS”? £I^ºN‡/‹#ÆBn-Ö)¶W¬þ»å᪵ýëDž„õ+j#ve??ÈHÍW=) +PX€ÞӰÑÒ0ÌÈ}°«¹yöá1ñRë»{$Ž¹r†é<­«: ï44Á=FÂ|äp]'fF’ÙCó«ï’ʹèÚøý™c}zÃ=Õ(“¦0³Ö¦êÜñ(ÖõbCaü8ÿhQ9[ZCµÖI‘›ZDãI·›4K´;öNù,‰àW\î k™FK—Á«ì…±¤»{+9™%·ÒÔ†q§ÃPP$³t«‚FðoZ_3É~-‚ºTE¿ðk¬Û¦¥ˆ<[8lçC,¦Læ¢vPïS6ƒ­cµâÌ)ÁlF–ïå#ÜÇ´]º|Ô±‚ì»-ÒŠ8Ê÷ˆ3‹ÒχL<Ì‘„¶l†=^ON*i_wL–&òáÜàçE´@"Uš“¦±øV0%®hÔ,[Ÿ´ÉO‡ VT*t¶ÜGÞ)ª¨;®>;è×I+Z¦ +ñ±o*Èe¾ço—Þ>áÈcmõ+n­õ®x$: ) ¬Ú§"Ù'ê~"ÃYÚ”´šR©Gb³©Ê²ÏRȤô0ÈÓ_ÖOƒ½}Nr{߉cp‘Tu>¼ìz]žÚŸÂ÷dÖ +ÒüõƇHhaƒ¦|úéþþP¾9oFÓ¶ &¦¼<º:á`ëš ­pW/$þݨ¶8#."ÒÜ* W¯‹‘FÖC;¥‘^!žÖ̘"¯‰¯…’¹~bœ®@ôÇðHÛ –üÙÄ­ÈUô¨˜cŒhf~;,†²‹8Ø‚>'Ž·ÇÊë%pÅI²+>ãõ90ýp§´*=m<¸ÓmÕ!]gdÖ˪ʉZ!ì8 å…×£Õ4]ɼ.¾ú°²ÈÔñ„®þˆÚEPXÚ.À®€@v¶ýäÏ\0Ô©aýÍ«{×V`ÊìH¯!¬ÊG‘“*º,q ‘2*«ËÀ¬ hïô\5J=Óÿ½n~yÐÃÀÆd´ +¦ÀLt=ûŠjI¶A7'Èžx|…‰ä +ÿ$}t½Ôä•£mæѬO£·6C‰UÏa¬y¶TÜïoÖ<…¥jf  >á®Ö,îèúsú(Õ‹1éøX`hˆ‡óEJQEãÔ%Àð««ŒYË´ñj¶?çiº zo"È–~Ž @Þ–òVŠÅ@УO"Ê ÅüËþæÆû€Ø›–›!³X¬à7Ò² ¤—ùV7~¶D¦åSp&è*Eå‚×.‹ 0ÐZ"ñ¶°US »u(çе™ú²Ý8 +_²õ]<ÏE}”ˆgàÊô Ä–Ê¡Tòår\…ºÜ¶¤ W¡’yiÑÊÎ%oçPÆï-Ù{ûöTdì]³WHnüí–µÛ¶ùÝ­Ðú}݆S6§ÈË<à“Ôø•@‘øöoÌŒB™ß·ŽÛÁ´ð¨Ü}4(ÇÆV WGéW„œoWÐÌþîá”ÆŠOIôÈw¿'ðôœ}¬"®g©ÒóMä äEfµßùz„ñ}Ęà¤ð×ÕjC\õK®ÍŒaC±em-’eˆìhó·?÷µ°)‰Ç˜ rC™F‡köòÁˆÖ„ý‚Ë1‡†°"5@øR$<ýè›ý¦sëÄò^¼Õ%¥G¶¶gÄ™”À0Æ“( ܯG¤ñY[Z‰™,öo!íü{C‡Îsì-‡Úÿx4_eαåS‹‰ap^-uîÒÀH}î1‡V‰mÓ>w+E¯l0âPéjî2äª(ˆúOþ*þÚ–v«èÇ›$´º×ÅåSسߤc*µVý“)UWÜ°¶º“µ…n5ŸåŽµµÊH0âÿMËÚ¢¢¾‰´A—§z6­ü ô/ýèõí$WUÁ¶—|»ŠÉÛ±±vn¤†ÐßAã"/>½ÄcX +ì'ÅÿÊ4¥°dŸ5Œç£?ñ ]]å'"(œÇL2Q+hä µØmÙ9 ¶dR¯B!—äŠ%uÊ°"R=T¬ÈÌÅu’ƒuÀÄK9è½rTå Á<(iwXX%wÌW'€®sÑ ‹ Sš\é8&fÃS6®ü]­{Q4xŸ‚ Ñ@™b«ø× +ޯ‹ ˆ¸ñ{xD Kk#sðK¨»²@ÚTñé±òIñ/Í"¨[Bš¦Hý£?]çëdŽžÂï]’'–GŒê¼åæð×2ß'Î᧔æÂ-ÑNÍáÇ1Ò1KyS[‹'Lc*åo¤_ºo +›slÕÆØWFXÆ«‹Gú³‘dÔ`á+v£*°§{ +ÛŸB®4cŽ2Ë¡ìõ[cáÃoG+˜&e¸¼X´‡º„æQŠDОoÿ™ƒ\߇ÔÀÚM‚.¦×(/¾Í^7|xIûö“¢=©œŒ!’=~ߺ¥y]ßILuª¨w‚$Kf$¿}ºÐ"؃µ$e""nTþ\k/ßqs‘®¶$¦KsÀœ‹tB&d€‘mæEz%ûZ=®y £é‚ûÊÖæ®ZNY6W• ¿9³.}ÒmÌGØeªD§á(™Ü/‚ÅF]«p¿¾¦ŠzW¶:‚O²«0DÕï$ o{¾žÿñ&ÿ}2%×¹|a9Ô}•ž•;L,=ÖÔó‚ßFIOÊ#³‰MjÿA„Ý5b{"L_–?í*B¿ +ö¿1A²pýO?µS)‘dÃ\ñûÉàJ{Ö,·£õ®´W­Û§Š,JÒ! š3,¤þÀ‹>‚À0&n6Õ›{ŒúbmŠlvÅyÐMl£œŽæ÷mæk™«/ëݬA8­®ø•tƒ4OÓf8Kfmd ´c-˜¯CgÍàùäïXº¨uq5=gG2´¦•ÆGyºÚÅÔzË\´3쥯†ú·òJ‘ò¸Å`캭ðÍ°3V—·ƒkêjê’ºFK•édk$Æ›0.+FY+ÞÃÍ/3¥ú¥ÀŽ?7;P!\ +ÂÍg;MÛ»Ý.«ü½oP0PÖŽ‰¿*øëКêMZänl`ùûÕ³»Ô#‚] Ï`Ðþ”3úã9 +˜`P~ªûVâÙàXÄvÞ‡”o8‘¥Êad«Çu§¤4[CüóÀ-WÆ[cßÏ<Bm§doEü=å4Ûq$Žëý5ö:z•ûn¢^ÌÓÇœ™†…±`˱„f7Sàx­ûv‰Œµgžn#à¦srÿk–µ&PŸƒex/Ò¼bì²ì7PÌàF +º”˜úz'O)$kQ„¶Ï‘1Š1ˆöTé~‹ZRóƒÁɤ§E!3ƒäv \O2(ÖšÀÏDÒËeÍ9Ëkÿ¤Â‘5ÈYçÅPëõ@éíŽò2:È?xàDl—ÅùU:‚ùâÚÝ×l´‰L€±&~BŸŽÜAÝÏÙ” +dosß'·,ñ¤ÛÜÀ4|u`7c \“­¿•‘†ÑŸ/…N›£[‰Ev©>-ƒXï¬lK6²Øðd7 žÓ‡¯T²Ô_g ó“‹>ZBe¿¨˜31þ2²ÏArq h¤ˆ…&‘Ü ¡· lÖ»µ|¤;ˆéW9É”ÊÆZó.´ÒE\6Y—ÛŽ€7Ъ+\½"«þPøú*A1 +{1lû‡!¬$vøNö¹Ö†þ¤Û’=àçqÙ;!4¤Þv8ìŒS!IØX뀃¾–ƒkå06Ñÿš­Õ¢ÒÃÿ Q]|ïj`Tj)?«ë¥ëÆR>W®éÀñÆ­8'ªcñßòt=ÒD6çÈíƒ>bóMô¡®—ì(¢7ȨOŽçÕ‡Ù}n‹ñKd• +Ñ~«8±îT”¨= 8ì@Öµ^úu7ááY˜M–8Ñû—•Ý'6!ÚŸ2¨Æá·®Ÿ^ +endstream endobj 130 0 obj<> endobj 131 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 132 0 obj<>stream +üÜêÄZîpi~ØÏn>®êOê’ô_·Â+å?ÙÂwþóæõ¯îŽÃ϶¥±üŽþ°,tl˜HO¬àk¡w²èF z=›nh1£Ys˜°§ÃÿÀ ÖnG"â­ûÒ=ÌƯ°Ë´•\.å@\É@±‹ÝѶÃߊXnæƒægdß7"ÇîŸÖ\ñÈ˯Ü7nŽ~Ö¢˜WvŸ·g;+]#~ó•:cDyÖ¾û>Å,–l‹9¯ØÎj¶{à“Ô-°ÚêÄLÁýað} |+3økÆ{1Ù¼B1¼©"A JH—0}xé!y Šz˜S¤)qÉ®ŸPÎäº[ëX ȦBDü}EÜ}QYT0¨‚\Û¤ªPòY‰;z✲Ôù2ämºE·LZ(±E­øÝ¥èe㓶\Df·ÀÇÍËÿ߉(“¡OIh.M¦ù'MÌUðàe‚F É}‚v¼¥þÎê2>ßg +%Q ^*'F}ؘ'ék£!ÛF}@Q¡§e…êE™²jךTáZÐÚÙá¤ÁID'¶3ø·3†AIíp XÚöZ]úcÚŒ9‹a +½¸Ÿ3£ž´€‘’áKp|9?°y·Lïy‚Äh“•~QxnHf6àÕÍpb 3fOo}Æé”­_&‡H$ó}Ÿ>:W[ªµÊõ0Üvz€LNE¯=a:è)²fÞgžùÂ9¸æV©æfØ¢ý6´X±‚ÂM¥ÚÊëf¯ê SIÍàô£žAX6™HÉDË¢#´?xi¶s@ vYý1Ø‘Ò'÷ãä€rà,-‹V]9.û.J¹ ÊŸþÃQˆ­Ì_âyÝŸZWâñ×WýþÌ'v>ªê;°t³9Z +êÖÉͬÅÓȽd˜ªÊŠ™Öì·üW£YŽ”oÇ@Ç}.`8˃ÞP…:…u#Ô K¼#sâ+'{I<¾²Šñߟ€&ü×9¾Ýæµ9X –ð¦N"ÁË-•|¨û[§íÛÊJ§-§wHr, FÝ ò_Uz»tÂO¼TÉpëùÿ ‹Æ!JÊ•næªÏ†‹=¼ÔÂpò.•Á{—õ>Öíëñþe ‚ÌéæS%šFŸ®ÚMZÁm¯S ›zxtô° žùÊc’Ï‹ñ!Ž|‚Úˆ$¬þ’g®,aǧЙ¼£¾uEÁ©H¿|ûᡉÙS"2RÅbè‘vª‚rbW+r•ßÚÞ…zÒ"îÂÀç +¾ä«pà:Çå=¬d @›‡ö>•Þ Æ‹ÚçÙ§PR†Òýý±6$×õGÖ >©îÞ–~ÄáþÑŒóô^Éñ…Ð$ÊÝô™÷ÚWÙuøUQ»ÈÖžR°øhÎÁ–¿ôÙiüʸڤ-tÈ­ŒÛ-ÐÇÉ(~±Í\3éù£°H“èJ#›ïÓLéÊY0}–H) +…vª©P[Ü€ø÷7/²Kü"$àÍG®jÄ^‡=™óVQy¯cr½"€‚ÃR/å°Ci[R)¯áO›bÆÝkÓIõÏ&;T¸w( ßÂÌ´µ´–Í»)£ªL­eGÑ¡ŠÂY…Q0Fõ5ʪOæ4¢]Qû +Þ +Ìz +·fƒ¢ßƒ:"ç=Ñáñ¯õÒè/Œo² +I“2²ë#¹Ö3uàë9êÏ™RÕÝEÀ<Új’)go¢_oHáÛqÇ_3p ›‰ðuĪcÎ팅†Ti´‹Eu¥ÕÌM¿š~[û¤o”"jW¯LŽ­Y#¼&CMçÆoÇg@ïµ€Üd@‹\C’ö/¨\íŽÐœ™-{/ŒpE“W™O‡Í.fiO)Ÿ’ØF'€* +ª¾i°AÐ&i$G +)°mªJï·:i,ÜõÛÊ–è{ºOAKSaü iþöʦò¾”»¿O'‡_(oÝ2·Ë6¬ U%g63%JuX5Ê úk;š*ÕÍ¢ œ¿dKͩɤ­¿$µ)ò ú½õE×h}ABn¨Å7N M=¾“W·LZ‚¨¯Ãj‘˜òc‹CÀdF"ã~®jÌàY9_‡Õûrìþñ"ô;¥œÉ‡†w°1öÝøD×D'[ S~›ŸÂ¢i@Ni²ˆ€#äÕºçGwW iˆ¢‰÷âù–ƒ%¬¸€ö{“WæºM9] |œ0á`†Ù, ÷&ö§îë<ƒ±Q‰ÃDY›ÌÒ÷g°oŒ s¶¥ „¬; ÚÀ’²š¼cÔo(î3‘„©^DoSyÑË>¦3Meê`03¼ÐŠ úá* …ãü"-@_¦bÏ“õŒ Hg™¤)0„ʶ‚@­$t +oeÆ­ð ¼A_’Œ†ù]öD›²þ™ôÃå°@nÔ2Š­‡Š9G3~ØÎr¨¦ÝôÍÑ'$á3ÿ· ­^ÌÚöƒ¾lÁ¤ +âÖ+Xâgb¸E}4$|Å#˜Ëy +m²¹®yG°½Èäù ßeS~¼ íàC6K¹ðñëË–žŠÃ`ÜÛMqBg|rj'Ï’†Ï‡¸‘{B–²†ÆI0§ÑßpR•%@`b³‡'µ¾àk½¤´¾ý­Šû°1Ì.Š³£xN\õÔ{VÃ4¤SòÚˆØ%EhK¹ +c‹¬ky[„*þ0®y牼¤ÏodaŸ‰Š¾Á“99Ë·€>Ï%:Îá·»‡‚ ¦ƒ"–´’ß•ž» 8$æegw X]ô´«ï?ÓonBxR¹C%CzÄ$\Ÿå|à¸%H +fÛÓ°ˆÏ#Ée›ã·o³ª=b< ð L øíÁÀóS$¼ýW(dņ!õ$K!°pOSí󪣀oxj8dêUÍ(0dY’S¢ÃtUæL¬„'1‘‰‹4ô Ñqˆ9¸C ”Fÿå1Õ +¤JÕ'„Zî¢ó\°uðmù¯¤ÅJÊ®õ §^¶&ŠÙ]¢9•Oæ}ž•3Ft;ð CåpµP~Þ1«A ¸MGfJiwªr›É¬ðœUõ¬èzk@ ']´²Sô}rÎÄ_Îâ’«¯{ð€…‰’5q|À)í úî'0¤r½¬å”à²2>ørìf=`Ù`=õ÷ñƒÒÃÓ¹Q0msøtíÿ·ÝY?dM†@·õØ„ŠÏm7¼zæb1£WÕ±‡uY“ƒMà”þŒÊH×üxSŸñÛŸæ¥ÏÊV«X(QóYÛžYta»ùçýIUƒ_S5‚†AÁ‰?Óƒ­{^¼ßĺ÷™U™ËršùãCM“\( +')îÞ°RxOù¥g¡ëVgï@¾…—3—ÊŠšs’b.Q9VdÝP‹ +iÅ"­Ií_9Oý#… þ°wï'…Cüj%V…-Ðn,4£3D K«©)zÑÆuiÿÃt¸µˆRŒ½S+ä³"Eýkü!¿ÊõlŸœÌ$é'ëeÎPjV„ +Sνn§£Óqý ƒšùR´‡‰™ñõQ°âG3ï3²µ¸Š€³¨‰+æ_çÀà:Ëf·y +Y\Äv%\”?}¨Û¹5Z)gä°’ãX¡å‹ÐCñP¹ÊqÕà£G‰Œ'‰Rü¸J wêê?¡ÜË/¿Ed³êÜëë MiÈRïT…ã°[ĽA:¤ù÷YÒþ×6ˆ)\ÜžœÝGâmH€I w»Â{4ÐùÊqMì€:m”ph¡ ü¤m¶ê¾MJ¶¶Š¥[.¾ãG#ë>¼ÄL4mÚ“Á8ÌÏLýL`Ù­ƒKÉhŸwøTœ9q2-76 YCЩôº¹.æÊ,« Î=™ÓÚ]7ºÝÐÙ3k>&ÜI²_VÞ.ÐíÓ+&ç xÊTí\gMmL§·¸÷2AjƒÅü¿(‚o È=Ö/>„„_ëpºÏmxOQ¢U‹¹ãŸ¬ûå½3–çñ0[qŠ2øG†•€–ti%äP›Vn:æ˜ î…[É`Ç_ŶY8p{ ûÉKÁáÀÿá|­,IO—ì&¾S…¥õÉ×Û¯3xs–E®<òÌ‹u穲«.«Ãr¢äNqa ÌE½ñÈ÷×a¡%¨I»UQ¿MXŽé`/v¸wûç|@ª¥+‡ãTÚåÙ”®…ek®}"Vét¬w8©Ãj¹ÏcrdÓW:®þ“`Uýj:¾0%:}}$à”4xìÌ ®Dûx¼(±Z×½SÓÄÞrïÌî(Ô8 ´3µÓ—âx:Æ Ó‹ñ¹í²÷©“ÝaMd~SO±Çìøî°ë£tÝ]~ôÇ£Üxo¶[µ¶å½ØÜÈÎ3•dLÔaÉtù?X—»é›TÒ÷€Ìôzë<«ê§—y2¥:ÄóÀ³ÃUfFM=<„ÿ¼Ënæƒ+«rmÛÆ( ¹q®&W⯷^õ¯ &|^¡ÀªJ´í *1öP—E^ag¼°s‹}( 9¬ J …épNÆv{é7Co´C0}}&pó¾CõMàÆŸc¼*Ý}îrº°ð3ü_0è! +}[&ŠÅ¨¼ËŠ,¿–y^¾£ç™ éÍY.Ç!íöw×h(©Ì]§UÅÉd$­0h ÍYpc7ÄØ9¯NêÕƒ‹÷â³QB¥A¸$ßjc‘åZÊ&çMga=W|Il ül=™D¼ÈoP8.nF’˜¾’®l +C‘,mËTÜ7¸¦,áç†&ux£ãÐü¾òkO§`å¡ûu ¨xPÓoÁ-ôÍÖX‰œv U(v:Üù˜Â’$ +¥j¨Y^Üýx$„º(­+åc†Çze*ÏÈ!íÐÒ]¥n»¤©  @i+Ï×"³×±<· ¤ì±Mß šÕ(ø$Q—‰ƒ=ÝÛaMeã~Sö%ï>.»A<ÁØ}]WU°"¤ð걦b;±S Æ”AŽÁ››PKãcÌöÅD›à°*±Å;^%#oµïvÁˈù@>š‘æ¥ņ.Å•ç«Ø1³QƒOûô‘§FßÞg}ûdÑð|ŠÊâõêê²úÀÂÃ(j"q°vW¿±”ØHºD¬’ F4p=lâÖÊÑQ9ŒÑYÿ`!Ähº‚NYïEþ*–vf.6þeªrã¡W,Ú vY÷%ˆdÓT|%håqß;Îú…!À¡¥Òo†¬`c©ôæAIN[µ®ÁTµp/ŒBÚ§I{ÔÚu™Ôœ¾ò)ûDN]/WnÚé~By—|\ÕÞL4ZªRZä#ƒàqi««±Ü¥bç¦6K‡œ1]EUžîבwõq»#+•ðQõµ)k Ø!K»Ñ¹]wr5¦ƒ²ö§é²{é³ 4ŠŒ"î]h]çð_.·Û\^_.&Þà§NG¡;,å@<ø¯³tße +endstream endobj 133 0 obj<> endobj 134 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 135 0 obj<>stream +¯¢ˆòxb™Ö‡Su»/IŠ”<9¿áAf`‡zÌu¶eÆüªÉUå¬3n81ÜØ¢¸ƒÁ´ÅŽŠlk„\GMÓz›¢IŸõœd‹‚Äù¼{tl¼ñú$[ûdxñ"ð½HU[ÁñØìÇzèmPM"E©":[Îñ‰Ú‰üJ.U_S¦{–M‡âùƒ€ó ¼óÁV–×nàWp\àrdÀ[¥ ŸžW 6P¦su«±DïW²ŒéN•ô!¬ àxã ÔCå«¢àF ‰mŽÿK"åâUi›y#ÑýÏGd[qÆc{šô\Úóg*díØPw$¦~$¨6ËÕ¶Ö¨*îûÙ2-ÁEPVÛ§ÃôÉö“ïúÝ‘i=õ._©¤€­Çn„óÀ-w8i§hå$ŒÌ°]ËS^’˜]tÒ3•à10xœ#Ô»ìn‘z©sÏþšcëQ«~7Ö0·Ÿå÷) Õ‡_×vsi·™¶ß®¹´¥b4ž™¶ ÌþÙˆ2˜æ$–H 6èœt*3Pü”…F'4ÑI_þ€ÝàGžn(›7pšQ­ÏM±ëÉñÌdhèvF/ŠtôvÍ¥ùáƱê-Z˜šàÀY·(”I}-s4CÜõ£¹<è›»amdÍíÛUÅD­W€¡aIŒR$ôyyå°&gz$xÔ37Ûq_ e ˆÂªJ¬Q)_à¿â+ë”å€þû~$4®ýI8Pv.árÀ1§±3;¨ñ5“˜¿ÝæóÂ×Ü MúƉµPÔKš5ÞK•£šÎ÷Ãð6îYù[æTQâ +kr†ÑåÝfº®u}Þ„/•ùãæ&¢E‚¹?¯>Ψ_õÈWUõÕ zöÝ›Y÷—¼VòVD8V‘'n7æpÏÕb±ºÒ~A‡ÿöVŠó^-Æ¿ž ŸØC_«/HäüÕbÂf9Þ’…‹ÎÎo¶’½ âUÃ#òøÕ÷O§E­Âel )¬gˆŠ»A»8£J(Ú…EÌèã ¿ˆMÛ¡\üÛlÆË#ÊZáàŸsn +ùÝ7Ä~×Bp8«ñlí$9œ¼4&$ò)j™ ?çÎùT¨k]ŸõØð0#t yˆAžÊDìp¾âäÐ&NJPŸ•ÅÒÞQYË{ïy‰ñmÙé„2ËÒ‚{|Ç‚Îw»AÏ#­'$Ì^YK Ç9åêCzø"Ô³‹¯> ¯Óv3e]ÃÙßyo4ûTȬÓ%ÔîW Üs²eldà8\&þâ·Æ"¼>Iv\Í«´÷1Ý1•¬¼Ò;5vužÛñFçÐùN_&MEdJ†%5‡ÎG¸ÃŒ%ôT†Õ?–ÀH׌ ôŒC5ËŽx©¸põn÷ìq8¼«Æ]ºÍWGá€]í|m• ,ÊHZ«iÔ˜<Iûs˜+𮾡Ý_`ï‹lG8†Y_ôeBÜ>`¥ýðÖÖÞ¬G“+—ÌæIÏé!yúÙ“lWÁA_ˆl³l}/8ˆÇΆ “¸ÀV–2ålÎÆÆ~`ûRó¼MCÏV×îöŸ\9CÙy»Ö µÕé­Ïõ"€Ð~Ȳ6û^„Ø58æ›hïãÇ·¢g¸tì¸<Ù¾íÒ%ø½qVÞD¦;çá…'è"lúìZÈ›FîļŽåká&sŸŠ3/£{OoŸp¿õ.ôAør1ÃÞÏYhØ0—æWýM”éh OHF¸†3›êib¼ƒ…M©ÅlT¡RsQÅÛl…;–'ÂQ;#&‘òÐ.Vn1ÒIVíaXY´{e#…þþ +U°´¦í†:Ê•Då†ÒöëÚÚ¸úLT³Ö=÷/º¼ˆÄZO €h‹-¦YIj Šî ŒñYû¹×瀲Ò_5-àÐàsŒàtãñrb¸ +ј˜@OˆP-åFÆ~IÍÚÐ4gWÕáIJÍäáqÞQÖ/$µs9M +¥ÑjräÅi¿˜(æE°ƒñuÈSï‹RôÄ›ôˆä¿3þ5XŠ“Ëëpš«Ù¿ÑÆüþ‚À ±`+Çë »pÇu¾Ê‘‰uTòâÿŒCgðÈs:è®8„?| ºð}«šØðÙ†SF¼ÇÅm´Û\áÇš©æ&X£ð-ylDÜÚò—)w‥÷‡˜ÕºSbLQ+•ˆ2t_HÈ"Äi±Çä$èÒ›–c¡‹D_ +†9s1ý-&¶§}Ûáò]¥q¼¦Îf>èõÛ×´ÓÔGu  ®³¸²]ð™2ßë|²dÓ¢ÃÿñºŽ–BJÅAdžÚÁ)cÊzŠÑC𗾨ÇüZßÓ\Á f"çwNÌ·èVÝz7ÛÌ3Ýý˜7dÿ‡r¾`æfrº£ßŠ¸C>±©ìÁ裢k¿–æ›xò͵ .É­ö,Ý nÅ0/ “£i^æú<œƒÚUþ1$¦»a§¥Ð»h?¦Q.£Y<µ"Âîs=Î5ˆaT`Öå»}=`Èíà¦eÜï\'!fJ +WFóGž·¬®áœÈòŒÁ®úÁÆ°(B;èë‰d!2êsõˆ¥Ö Sûóq{ w~îÌÔáG¼™fÜb-OÓÄÄ£êÊ@܉ývŠÆM¾q—í~Z05…#ÊÕÞáÒÐ-¨¹ËAJ­ $e)‘ãþš«Õ¼Ò©„XOÓp‰¤> endobj 137 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 138 0 obj<>stream +3i«¢Œ=ÜqîCãiàcãß­ž u¤³.­PS:ˆ*%’QôàñÂTÏÈHkHÕöu6&'Ù1GÊ€-SjÉu~$qPgíÊ’¼Ѫÿ¶æù3>,G¥ƒ±Ñ¸ËˆsœÄ´¬(e©ìÒ0 ŒZ`Ô"Ñîš,W"<î™Úºx¼'ÇWTðª“Ãhß¡´ÄŒ¤Aø-Öú…Ëæi¼j–8!¦éúxóÜõä•#®6íßu£AÙÊ—œ¹¥¼çbÙB2虿ÚìXZæœûá¹"pÿà>Y¢€ÊÁk×ÿÂÀƒyí®öãÛ˜9“»¾À¥èýBÀ¬,nÏ›¢GÞÑx«¹! _ê»a‘­¡¬”NÌŒF½¯0QÓnnóDÍa‡És*–¬U™}4‘Œ\xaÕý¾²sLÆ-|ˆµÏ8­7¢áàWIBœíc/Q‘ÖîõÔ ·Í+ðeþð iºGâJƒñ‘Òöáß4ƒ~²]ë¸eÃãÀ@„}ñîeŽr4“E÷©Kã‹÷ù¤Â9Çý2ÉŠ™è¾üïDÀUr¿ãšˆªH^kÂðØPöÛùÚ¥|C‡¾íÂR@ÚÌ=Ò›8<4R+ï^¢o\«âRw£–´Æ;Û +¢>Z ‡ºoÁòð`øÿ»Âi.¨æ›ô¤tõÅ‘Q8ò¾ä‡afQYô•ø4±^ÝDÕ]ni¬²Ä©ÆúÖ¤ +ƒ._ ? Z •µ‘²€Æ’±0ÁnžÌ±yÐÍe+hw°w‡¨^{ûUr3ù +`¢'½bLܶÃÃG ZlÓ¿Û®jnEdñbX*5„xRT¼'óf¹Óz¶…Z’³_ku¿£\:…N:ÎÀ~ŸÆíœÇçÄV8?—~ÎF9'ΉFSY¼‘µ —@ ;/'–Tü? Ej !â@9#„qß.høƒ²GÈ|)Ͻ÷®ý‰çY6ôUR{ÐÐ^A` œõ—FnÃ6ú$ÜÝ?ïŽ)æÝ0$7kǨÅqq‘ ¯Føº ‰ñiü"hHšv ?IîÏ”âoÃFV¡¶øžœd;ÇQ¦¸GŸä º8T¢þ£Æ=™è0Y¥¹Wu|mÓù7÷vÏSŽòF̨Ÿø‚.D]w¸ì½ž¨ÈïÞœðÏÙ-ÁÒ‹ ±€«‰¸M5"A+õˆfM&ÖsÑ2´ä@ùãz:'’îNé€rqPqdûZåx«ï¹0põsåò‚³[Róˆ¹ؽñç†PW?kwó‰+5ÔqáÉùù4GodÒ[@WfaDHêÅý ™Èàð?i´ÀŠ«ˆÙ°þô$òˆ|YÊ2™ÕÌ»=5]ìú8ÆîϽvÙ¤PÀ¤˜9/-?B|Œ€¬Îú¿ÌG(.f°Y¸[CÌ囑,ðÁR®ØíQì?ku‘dÿÑDÖ?x„4‘3„3VgO·T/›u¦N¨ÀDëIÁü§k@Æ ýA9™Âñ€|°ý)O8Ÿâ§w\|ˆ³ºxØGÃP~ö|¿HìU³5c g:$;~1VJ;U Ê9Ôie÷c ÏÃHäqqéKUªmœoÖÌÃøW\psï=k÷SÜt´ƒ´ÉÐ@÷ÖÑžûÐ s-}ä O¸ ‘¬8öf£ßãw3‚::dÄë¸0/1\1}²r ª|Ò2[¶ÇzR0=£¦w’Ïwã¡OÒG³Íññx:Mq;T4MDnŽï˜aCJ¹‚Àtë¾Q×>3¯;Öæ"ÿ_¦Æ”TP +Ç…„©{<­JF黶…¹«¯Ýi¸ RºLEÒ#l»o§@ +¨!®3ÑuB«Ó¨IK-/ŸŠè¨‹1°`iõy+sÀ·d_ƒO +28ˆÛxâæ +¼ Ó6$eÓ¦³[o‚6VÂÝ á?5Œº…-¨Ô~´ÍÚêÁ¥üÉ(Ú:$:)Ù.I3æÊÿ yŽÍ£Ã–©óÇCâö'¿ø»»Èä0!T ¿ŽÁ—~PDºaG: +¡5f¥aíyLþ7ôŸƒêX Óå&5¾àmŠîŽ­™ Ãêõb+Í¿{:Hw'Ò¼ñù‹réÞ3hcJàxS»Û]NÝCh)-Æ’n¶ÇŒ}ç½s…sþûqù.ÎWtŸ²ßNXA?ªFÁѲ&`~ˆÌˉ ÊäW¦•Êò ɃAîážxí³ß³•áÒž©wŽî‡ùñ!Éõ¬¼íjL¥ì=—•l7>½ã“‚wf¤Âêú sÈrý“YnjÖr8›Ü_Oý"¤ËRÔ5·©nÞ“ ¸‹üì¹Ù’t•Iûö2HBýº¯\Ú`^PÇÍ÷×#0}nÁ›3x¬VÅËËDŒ‡CDöýPˆ\Ç«$5>£@ Ü—!“ÜÑ>24ñïBÕUZAâ¡ enîP%}>o4;‹Íc7†Æ'Ó•&þ†¤èä´§iÄEjA“~^‚+°L&¸ƒbýÁç^æ–wÙñ> +I  ]#f6‰'ÁÍ ’*ê©¿á»w„Ñv4ÐE˜˜YU^`àË›S†uv(ä%ECÑt¸Ö‘ªº7…D„±à Èÿ¯&϶ó=¼rEÍÓÄšsY€é2=&®ŸV,™;ÛÈógoKÍd²÷‡–æŽY‘¤ÑË|èöLçžÆmfx±w¸Ú™G‡ƒ!àj*œÊ¶Ø³ëHÝ­(Ïë±%aáÂ3¤³ÛÝ"ÅUjÞ´Û;Îþ5©šŸ†€p …£^Jë%-J]méq1µB¥LÊäXûL#ƒÍ°žÜvcæ®EzTÍ qhÆð®ã½ù CFBö˜\ \ÑÀSÉ3-Tg»´O˜ÔwÆnŒfhV§ôsð÷«Œ­uŽ«îJ ´ qiaYt©67ÕrÐoý¯ßj3D¿Õ§Ú¬ù˨¤MçI Jñ¶Îø ¥« ËÑ3ÌÅè/FÔaÕ¯°Ð[ÕÔsq­Ƭ…°i‰8t¿"WœßŽS(m™œÀ0bf“u~JÏKLŸ­¦Ú)œØz§ˆä#¼‹ˆÄ}&÷-i•C>!]”2 ñœyN’q˜†Äºµ8™NMîÇÚp8δsÒ3ïþg‚bç³±m÷Š‘¢‹õ¦qµ»fA;¢c ö(î*ö¢$ã~§µ`$âRðVÆ7'*BÚ +R¸²"W]‘ãçóçì³UÙ½=Ñgãª$Yø~­à+»mB<²Ð¤a`˜óÝGüÌu|ÀåP¢»Ügä„É>{ uKð‹šo¦ÝÖúTÆÂ&Ýþy‚¿µCÑ ÷3Ö)™†Ž¾°ø Þì5âó˶$÷K; ¸˜óyéÁ³Ò[j·ûXÎe§ôØ%§fmز®Ñ4‰OK”Œ£ »…ÍøúGÔ«àÛÓ[v€™®²/¶C‚ÿÈ®9ýÞÑû N> endobj 140 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 141 0 obj<>stream +jP쎫 _‘à R9¶:ðè+Ú¿lÞûï¬WvšZê³k`¹ËÐn»˜Yrªí*pm¹®Ä÷L-HÊ ™Ð´æ íé„̬û*™‘ÞÁv‘¶rKß®ÍåÓdÛ"Á›lXÅéŸâsrÊß{,‰hSù[ªQFJGú)ä µý^v!˜Á¹ÝPÛÓ˜>5¾4 õUkÿ­ÛD]øy‘·y§A¢¼´zrÜQÙU–µP¨­C3Îç½Ó[•+š ÁO²â)„bÛgz•†.n<(˜í°^ºá²Ž–ïY‚…©J£‡5Ä|$|LHú«ŸÕÔ7fŽ¨ Õ˜"Ò÷Çþ º.­y¢iâUKE`&àï ¬XU¤¸°ðl—%¤ˬèÛž”xSRv/í Þ´x áÝ%]ŠgÉ÷_™’;‡˜@œvŒ˜=ã`;¸²hWëR0Îkð‰Q'”&& ㊅£¸*<ɈKç5=b¦Eu§uÉkywHšX¨òÈ…Í͉`zx“n©Œ7Àd/ÆÁ‘r¯ÑåR÷÷">ª–Ð\žp¼¡yˆêËøL#R¬Bß~1' •¯ªDx,îìmÊ$ÖuAS +R²ˆ'u Ða=cH¢k$”kפTY•÷ÑÓ`ÆÜ3¸Ë #4—Òâëcåár„¯a·°þw¢­`†róŽµ6…9Kx€{Å g,Z€x^6ïº/ª´ðw…5 +D†²ô ‚Í”ã¶+ÏÌkêtf ­N6E—¶øþvH]v=( pˆ˜7Ýëû çåJnWB¦àj”¥Xlu©®5)iòîBdÚb,ÆdQ©DxÚ{R¯”G7]Ñ®Šð˜Wt¥ï©C† +M3©ú…Ù Æ‚)£4æhãìƒdš¯Cý†q§ BâYŒTüafl®F¿{|g<_ÜO{Éîbh)9 â`Ìn×·¡¶(+D?d`ú•Ó=ƒ™“<¶‹ÊÀþ{Ù‚]gÐI\;‡ Ï!®û@êëë˜#×mù9çÚo_ä&›ba¶42aæøWlÌÆÏüZÊøîrÈvæÀ€¬NÖ°D­+†)ŒdÆ’GÁÓ§N{¡®wÒLÕna¡¶g2ÈRöWÑ°æ±UÝV»1é1’ó¿sXÕí;­2ÿWŠŒš<ªyV²«%|$¬€4#•±ž×%~‰ íp¥±gXÐkÜåzðl¤¾'B‰©ÂJ8±‹÷O­½\°ç«Šñ8VŸ¦n6ÃàhRºïºr5z‡Sέ, ǹ”%y[KÂÚ~A²^]èÛ¥ú²ˆ!;§îÁoJÔ'|e[/hy0°DQÅqbÖŽmÑw'”ñÜ®'hØÆTíRìôúïÖRæîn–Ð6=ª\òÒ^ÆGW S÷øT9Ê–ÕN·U÷ |™ î¤|5©‡pá›­=éÔjT»ŸûUùîÆ'~ŽÅ|al€è64ñ|ëøl‡Õ°ý§'ŽÇ„¾ÝŸzº ÖIÀjè6ŒƒÚ¬%!ëà2{@uc¨Õ(CL²6¤7Eœž<Ár&ï§ 3m¶\ˬÎôÅ›0Ñ\¿½ýw¥¤³Á5 Uׯ~Š”Ÿ8´ïÚmö1GÒÌá´Øg†ƒp¾³Ã¦cÝ-FÛó/™ÚÔÇDsµ"ã“úZ33#Ö°OÚ@°#4¾¨RáR^ooº.F•ÕÐÝV+ŠYN $r­¢ñApb”Da#’â•{êàHšñ#ì<@›d'C­¸7·á ™¤ÖŒN«ŸKL[©#Õªæ1NÐôQé6†ÅÍãå ._ö6†¤Ü‰;uz“\aj±8Tüô«†‘—î°½y%öµh÷ÊV?ˆLzOq=Í_¨;— ¤ã·w c.š’$ëø ÆcyN óÞhs„Qк¡ùë]ô,·~é»FU×>™,lpñÅ'· îäfqÙUÂJ8V[õŠj:œ~‘ ÛÆnÍDF^Ñ¥šj“`ÝB!v™—Žñ§2­R¹i‰&L,hm0OóŒB{ðy0Ãö Y£Sæc¸Ì¼J-E2†ÓZñ$-­¢®3Â\(Øj–6·tåEå´ëS&­›­-V9Ì÷§ÈÁ5¸Á •DëV!ž©yYì"Ù0Û1ºÞ”¹¹¡A˜4^QdÕmÞŸ·‰1I*&f%õÄôTsaˉ'ez rWéæÎJ%Pc/ÅJç‹øj®)ïjý•Ú<q–ôã •tŒ<‚+£‡œÙéò1‰e+Äû“·Æòµg½e]D FøY`H'EU¼»á%þ“:ÓßRù3 /Ôú'n¼q¬ŠÎ €ô}€“P’;ÑŠIt¿ÄÄKèñQßÌâ„Þ¿«àÍö¯ÎXVÙ¨¸#È¢[ÄZkG‘?ë1jŸ°—½Úu¥{¾1Ý>;=Ú‚ Úý^=¬èq¨Vf¢QO[@È«l*ßöÄnûVPw@IΙ·]†úÂaãCôŸ÷TNxÈ5þóŠî¼)ÙÆ.…Œ5$Bi)×^Í/rq¨Rz¨¼úL¹(UµrÓ½ÍÕà÷ÒJ”.ë¥w»ZòÕÎi²ÂÅV£V&B4DžI‘µÉù7éŠÿe–ãªRAˆiXöZÈz½û#Éñî´Ð·±MO'²šU²©E‘&÷¼dÝ .Ÿ[º›ï3ùaþ}¾Ÿ·0 Ú6&n^ +K’þ±b4šT|øQim¢Œ—4Ü30Žú_“«Ñ£áüÙôã¬|©°ÕP;˜ßÔMêp½ÅGZ•g®jâåïãõ«ú÷vÐ8ÚmÀÜ™´zç’ÍëZìâï¡zólqãÅÿjX«Þ!yœÈþ&h\$ET¥Ý$qe?êÅñ£},b}w©6Ò/}€¼öŒsPÒŽM¨±DÝ<]:0NÙóé´IFÆòög„>pƒ¦Bpk®^”º›:Hj;MGê݇a4ÌQ±ú! ø¹‰[ñìÙÇ»†‹NhœÃD3ˆïø®ìï4Á*%>C; (t±æRn.èFZ«q>ٽᶠ+QNßä!— Ø æÿUš3J’®Yt+—ž·uðûN:G¢•Ú:-‘e¤I'D>¥Y ®¸<ÂÛ +endstream endobj 142 0 obj<> endobj 143 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 144 0 obj<>stream +LöÜö‡Ç¶žž‡•XoMtÓ"ª(YÆiñ•@_JU¼MA'gWo˜ÊòõˆþÒ¢²4&±™™ÄJÊ(ºâ°À--º0±.ŠûÓ! Àêãw Ô?z9˜Å‡åŠŒÛ¶˜>Q*ëb¾Zd8\èÀ±8ç/ÃðÐ=oMWÇÓ6:ããyFM¤*È_tó á¼hIºª¯ÛH¥9íÓ4'RÔˆü†<ÔÝâPÂe…<¼Ø3¦Éé¥ìn0U´ÅÂ(?åRÔGÏ!¦xòˆ€ô¿Ê0ÆAšE°sM…’©–e þöQ.>¹8…¼*ioMqì6 ƒºÉŒ“Ó ÛC² .¹mš0 Š÷XrzlQj¬X¨?Ž"þïîl€ãÅa(˜ ZXÞq¡‘¼•6HáNœ âS˜Š0Stbá)tñªÚ§Æh OÌÆPöÅfý*›+(»gñ›Lñ&”rÚ-òªpÉ´K"œ¹”Z· ¬a/ºŽÖƒÕXCi¯ÀzjLÌ›x¶áižANQ ä‰ýójt †–†Sª«ûî·t“yŸ;Hçuoýè‹(hkîø_>€Bï› #¤é`¬+Jè½Ü †ïcØ€¹ ø(RÇÿ«Â&œ +™QËjtôã*‡Φ:ùDÀH’]¯Zèv1­´ÈÉÉvÌièÀ!½G‹ñû /"¼…¹oP“<™ýÁÉ cdïÁKïÊ,F+·{±@·&E›?Í +ü¤æ¸•8Øéï[jœjtûIƒS‡â¨=H´Ê¹œÎù&¨÷§Â1懫­™°|Ž{VqÖ¸Ûr̪"p€ßVA]V«¢éfJIç„+ê^î°JÊS[€¤,šŒÅ^ø œYC´¶† 1µ]ÈždB½9pÚÓYyÝíek¡“ÿïS°’&€Å„g@lþØÛõÔ‰³ÎŒd  “¨jEM·rcÈ«ëÛGhŸµ€.Sq9ËŽ§dzV,ÐÃe¢Sš ·lµÐ=sŽ· ¿fÚnGº|Y=ýÆ-9¡1{r Z÷­ˆ0ôüN‚`BòåòÓ`F>ö`É¢†Vš\Å1nT^´³-cSsg@fZøru9ÃQcoõ;©vh¦)õ,¹¼¯y3k'0RÐ ‘÷yáw쨯;Ù¤RºpyÏ8rœµvkTc |ÝÍŽïOh×@ÓŠ*¢&„}hgƒÞî©QdÓèF&¶_͘áNÕÀJ'%b@M¡±SÐ{ôq¸1"‚Ôã—ÇÄ“BŒp?LUÞa ?G,°0ãHà8;Y4üÀDe +v—Ž§°«uŹ©ÑíΘm¦ +£ Ö˜DXíx¥÷mœµ +ré¬Jç<7× Ï09y!‡ùúì<¼^)ˆÞØ[a¯u¦’ŠkJLyÊ"ÄÿÓUŵ3/„ó¡:(MÊöã1‰ mŒQ……+5ˆ·¬Âçǃ%lÑó¾-pSòǾ$+¥ÏBw¢“\Öºè#þßTÛ±¡m3hT›€›ûuF‡9±ydö_ÖÔ&Iú5+Æ;Æ_ñ'4åʽ’æŸ+Ù¿¢á;j–Ÿ?Yݸ ›¯‰Ýø\ÇZO€_·Í;Àý'Íœœbß–9·g«j9Ñ×iùB+˜Pùvõ/Ì8>[œU­ÈUâ èÃrTÞynÁm¼ôŒ\½Ev…Öðñj$x¯¨åכ븼FÇ6‡&ü&Û,‡ß·Û™F»55fÈ1×Ö),%Ø—i]Û%'ü õ«xp¡ÍY‹G÷úX…´cƒ—ªcí,´ã±äœ› žÄyh¡„¯*3nÇGpz’<¯®–oþì#AŒØ9@–iäÛhÙÊ1a:«])¯Tw0µ :•Mej­GGÑ µkÔÃf”g†ji/*ñOE–òØQ°g™:ËÚçQÃjí¿†û®ñýf$¬þoÚPŠ†ük×Òæ¤jÐú?¾ƒ:"ÒÏ7ˆ°¬Þ})NÞé•œ$é:±SÓÑž®YMÜ7VX¤ðà› X+S¿MC›ªÄlBBŒÆ& +âV]AÒ¿#¥iú烃ƒ ÅqìîsCoDe®jæ­Ì·SZÝÕò ·xµPÌ¡4ê©ãµãÕ7®žbÐ\nÎÛps˜ ü‰ +…PXTQ}q.¯¬X3ý–h™XIC.³H‹rÔ…ç"êuÌ‚…Ô(i ½L›OÎ;­vKHÍùdi‘ÞfÞ¬ot‹`Ywõaü…ûˆžKæË ëH"o ²}$áåY®‹_!Ëøÿˆ!ü [[À,%ÆÉÐ'2ƒûZ†H¸³ÜjËn£•7½wu3~€Šs»Œ$rŸûÇ4Jc«\;Õ! OrÕ%ŸVÀ >hª¡Å”ÿsS¤Uªd>8žÌ]’CÝ‹!#õØP[î 2é²htðWržØÌP=öR£½Äí}i›X'™äSJ¥ÿ/fòF[ß Áø"ŽÏ4QúUãÌ×»ãw-œ™Ñý>6 (/W#È5ëÑ<¦”ö”9èVѸÊöŽT/-$äF”UMýV+t!JIãjÐÖÑ Æ¡Kr‘ó[/Ïü—yãÛ*‹>Ü[xØßCÕô––þFÖ +¬›óv\å©Ýj#ðéÛ¥q?eS Ñj„Ëw*~Dý³zÖÀoø $ïõ#!~2·X»BÑ¿cï(Fÿ§wգ߂kv3Ê6/ +endstream endobj 145 0 obj<> endobj 146 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 147 0 obj<>stream +Ъ¹BûRUº°7:ûcúÐﵺécDé&aÏ@íÄÞíoÜÉrŠsƒŒ…O“BHTaۯƛ«ýO©3sœV•'q_”(¬& €bd®™š=ò]Uà=%Ù¨‘š®›_*"ˆuƒÏeM’­}1¦„®ÂbhÐ\õ¶sý’»»@³ØˆžïŠaÊÈ"ŸÞZiA@˜åÞ2þŽ™´<@@/±ÑàÒNd^‰Œ<šj½â20ë&iIJÕ¤÷,ÉæSÖ-t5Á±ÕÐQŒËîXà +0e릧Pst* /^¡U-°'¸txÌô Йž‹˼ xÇæóæÒÂøűâ3ÈÊÙ%:žÑ§ûgøÒ¤‚)Äï©'­ð T¢ Sý+‡6…ÈÊWçd<;y±>lÜSm déÁ*à3õY¨y“y•qþ%{¥lmì ÂÅ8žŸÚgäÙ,]øóöÛ9Ðíe8çÏ.·33­Z†asþ%±÷­ƒW2fª¦}^0^PÕüÄcró Ì‹4k%ê´oJÛ>4á®XK®˜SPÅPÜô„®có“2c01x’ow/†*fƒ1˜w àßóšDîÙ³1fhÒ3Rˆ¤Y›]ª*®àª“çUÁנŸÈYˆxŠË7.tf(tܽÄBH¨¿ìxMÎ4”z6„uÿ ÚØo’³$j Õ< ãRG +ñà+¹(КšS§pöšô AÿÔR7ÞÜ=†Õ͸×`hî– hÀ{2¿¥ðàâWsYiTwÔ$UDåˆâ% ¯ÙXé@›l“[îO Wå ¼½ª[*Ð>jgŸû¥—h5½Èé°+ú‚9[_¦7›‚¸ÚËϽ})Ò·¢öåv»•Š–Øvx|„$Xt~.O†ÖŸ°÷øj;pyoŠpð¡ÂÎ÷7ð3>IYÿj7QòO8IÍÿª˜NÇ©¤ù-gdW~ Iÿ.ìD8°Â“òåñ?²o8ûœn8 +®zђ؉D-\Ô&•è=Uw7¡kÑÏœA”OÐ 2?V}.Òt‰ØÃgB%ïqÍŸ¢jDÿXrùÀùîϞ˼ûṸY\†óEÿ5ÆZ=ý´9Ë -h“u!QÈ@Ív™+Sv[“!îØyÖž'uÌ20]–œïFÜg£‰ ê\–¶ 2-çq¨¹ÛT7²`æ³ê†¢±uÀZ7'Ui&d Eû7·Ç°Ðdr#Qz÷þrZLˆ6Lêµ-”z˜Ëû@´FÉ¿Êq2jK#„‚BÅH +1vX7fqV}»¾J·|Ü!©™ø$ÿâÁ¾Àl9ï˜×í»ZŽ!€×d„+®TøUÓí@/ZÀ¤ gßRYukÛŒ=è,…ôJrªàbõ*ï?ºçð†îµ2€™‰ù9örWÛÒ:Eéë‘m5ž¹x‚Ìê¡Xí85šçr&ó€Lù5®âe†¹É¸Ë¼ój2Kžp¿> Moÿspè„öh¤¢ÙÂ=rÜœvá!- Ñ€*iÞ—]š©in÷ϹÿÈB뺢‹X‹ +h + «HØtjx*‘ +Ø=WŽ ä1E"÷yÀä=`–p8iqÄ6 ˆ”Sž˜¸^ª{C{ËŠÙ5Ýù}?ö}¸øž•½ŸFX©ÿ£Àè’®yÌ  ûfïqí9|¶Ð†)È=ö7ŒâÝ[à ý–ûh¶yÿ +ÿÙj"µ—È© OWlvwŸûñ-m¡³ò)*Øäì;™ckmxÄÕªs¶¸R«ß5´ÔÚ÷’ öÙr¤±Ne +œÁüà1µœ:&¦qçré³—Ó´Eß·DïЪD0ÿ óW{°%Éô ¢•w³–ƒ€íòàÅeï*‘ÊCÆ/C‰' + zæ9™šë•?TèûB¢ä« ¢<.)SÁS#ÝèY‘H:zf + @K§ÛŠÇøÂëØG/êÂкK€ /-¦. +D#,ûlÍ:‚UÏV—%UùÙr×ï¸LÑìÎ{­î¡uÓàe— kû¥ÈmÎ<\X‡Úý 4µÌ,RE¬fd"¤@èþ9>˜Èò¾Wÿ¸ïÍ}eÅcE(a¦ÆÉÑÔk7ïÁHÍÃ;>U°RË>5Ù:"#DŒwŽ«;îÝsœý’ßU¸(‡ gR¿l²Þ„$ͪÀ–h’-›“-™²ùjªô]à@GcmÁQhÁ³gpNô|;ÙhXà5Gjlðíü`ZA‘LÆ/¾š¦øÔÀñhH·IJJÃuYÎ׳–­±<úE9ËŽ!DA›ëü¢Jo§K»ÿL¨Ê› _õèòoý‚5Ƴq·¥¶7Îd³ÕÞ£Bchiby0íf²ß›þ6O[_☥éÏ.bÎ÷xtÒ™_êe¨÷šlœq¼¦‚t<¸·Î;!ì dî„ÅÄ0ó +Zo‡ÑÏ‘9‰Uc8‚ Cë~–õ í4ÜÛ;CPÆüÛ¶­­"‹´Uy0K}ì˜Îow%ìi;YY°MU1âxf–™Émy™@CÉbù‡Í£¨Wa 0VÅzÆÜí,9!Ôš"”åFc=)Ñ‹\¹³–<³\ëWñ$6ÞBCYrvâE*Ð,˜b¤\¢'/pœ‚>ÕóÄöb I8ê8‚#>Y[³&éBï@¥pŽy‘[ÛÚ/5å?§2¸9æïÈÌz³ÓÓCe +Ϊ¯Õ®Q›Á]ë›(«Á¾³n)†» ‘Ñ =XéYL‹ŒˆŒ|_Ã`†M7^å´GbÈ^–ÎxÞ@bve RVö#2A4ÊÛVÄ~5üKðsLq'Ö&8HëJœlX*« +ƒÜ]¯.è‡){ã×Z"îzî@d‡†Šáú?Ò$ÉMãß)žN(-˜çþºëVçæy¹¦R—bbú¯PK̨ԖŸ%é¿£Qà•‰{hoI£°ºYæ¦ò®Å+M^±Ö™O±¬—QwÄó®Bsr:ÐçC¯o½Õ´9ÖT[øCÉr7ÛCéé1ñ<´ÓÓ§v¥¦dB=9GqþÄÒ£Š}í°¹URËféb{Ÿys‚T"@Ûe[ñR‰ »‡1/òuØJÙ óZ’ e(¿]k0pqø’­ÚÍØ Áä¤d®l‚$ÑèÛ8è9 ä²"4ÏSæBݱisÈIÖ(Ñê5.“´oüSÀŽÝ.Þ_…·NvZñ§UÉ¢`Ø|€*ZmÄ£(m©eë¢w=» ‡*Î +endstream endobj 148 0 obj<> endobj 149 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 150 0 obj<>stream ++Þ¸7#Q…™¨Í%¦]FšŽ-/³=IößÝNÔôDi´?‡¼±™Î2'K®,ñþzµõ>€†)¯“#u¡_Kà0ÉìZR7°Ãyé^µä•Ž®àÀ†‹MÒCli§ÎYƒfºÀ†|ebS|ÌhçëûŒ>¼Z ù¾io VÐ7Þï'[úÚ=Cy§“£d–Öuü}$ÖÚÊÌÎN–)Õ̧‡B)’6h+\š¹Ð@ŒÜ¿Üxk($*ö©ÊãÍàA¦(.?aªÐß©>éŽ)/Ë98ºëý6Î!ÈüÙå\ËèZ?|P·.Vð]#Šö"ê5ÿóHD‚":]AÖ9ßëýü6Œ%5ˆ {ÞÄ£Ö™íøÓ­g#ðgΓ·‰ÀR/¢«16”á&›ÌUE„³÷Š¢M¬1À_@{Òv““ôê>CíhèÒ:Í©*aFö<¸œbî{¼u¥{k6M86âh(\—ËOÑð\V±"C&f&É•­|ðTaãü¸±,˜¸ÊÃ$.ˆPÚÓFÛ^Ç»-"´–ËÀ„ ˜×¿ß$ω@UjVó‹VÛ£aBN¾{|(?ôâ÷«²\@—Kü¾t]GM}K3õŽ+ëôBV¿|¢)ùá~Ÿ"Î %aÈ +¼>•0ë#äð5ýg a ¡BUÌ,¥Qm‹ÒGöÞö@àÍ©.Ùäöõ†¨nmm/ðÆm qTÎf/ +î{b¯§$4¿Àš¿Í™4`˜*$dŽÊN®ƒàí›;Ÿ3{$’9}úu‡vhó3 c¨7ƒ ™(£èè1¢ÙÉÞÅ`È7}+$[øin?ݵórU8ç¬ûèHÕ°@ZoÌ¢»Sêº •©Cü5õy(夷`¿¢.Á[ä$X ‡ŒÉð k©ÙJ!šK”Ö;Ú[öÈ E…I:¬Qyv›0`cêˆí1 ªMabá$»rߢŠR£÷J€pØ-ܽæ$|*¨´e½Dß ¥j:ûÖ?‰/šŒEèi=âlPÂùœûSvEúD·Êª¼«®šçÓò°·CÄ_"/'ÚšÌèQss‚׫\qÉ»÷-r÷£¨êCa +·¨¨3”ê.×2:'¾I¦Ô#~´àS Š¯B7È´àØr¨k¸-©ÄØeÄRf¨KiC+¡@“vÎÛDF©=LÛá‹ Â=ªúãªÙ»p½#Û«J®«Ÿ´’ÿ‘õAŠå#Ý,«vábQ‚€–‹DÕqª×bOóÜyˆ#>#m/T‹cJ!mÞ1çøD «aÀ 0Dº+•=§¢Ð?fÞaƒH`³½ñÿ&žjþi<^ÍiÏ‚ѾTkàüçœJ;OÒõ&ù2CÛGóDƒ³j¿Í0ÝÚøi˜{Çäû£AÙ½[=G.‚¡Ðnuï%$£q4;Û<ÅÿYiSFÀpöQ¦ëÞ²W†tÁ[Ù„…Ø(/*|ä~sT=Ð h²¢¨ùŸÔàkÕË.YžxÓÔ0µÆ½dª-ra:s„+F¹±úß Ï£b¦¸kÒëêŠh Â`M´÷±ÛáÕ³Úa–í‰Ð¿øÚÔïáä}±cXôix› D2Ó'ùà)°f(qܶõ´E¯móQ]Ö“Ý?¥vˆZhH¹,k`€´‚%û0'»ÑC¾kC;ÍÏæÉ<°Z“K? œwŽØ¼í€²€º £y#á|‡tH¡4w¯2™Fñ’Ñ9&¸w)ûÚ¿>fRuî÷¶ÃD6zƭ쌅x£áE{U± uÈLgr3åí¶‚üÞ\"¯¸Uy÷’»ük¿3¨BÈkúƒÕ_Vïñ#?Hä'ÏUcp'íºHǦ„ÞÏðFO/sŠ 0Þ ”…+è sr=Î]ÿzý +Òé}ÙÝA?†)Ó»¬<ÿ¼ïQrýÒ<« "I»ªÚr¨nÏEü=£kÁc ¬ðy°˜°zÛsy¦8®+h¬oÝk µ¨)’€{·–²9‹,¸×˜Ô@͉ü˜5­êx¥ÕŒ“ÝCLøô¾Uh€ã­ž´b$r—sš³ÐÌ°1ìJ¡ŒXÚlû‘Ù5#!ÉÛÏÓÔÔõŒÀ •ékqÆ2¯!Ô#nĈ\ bÿ­ƒ}P4x®âöˆÁ{AMØÁfïÿ­¨çÈÔá»6a{´Óç0L;Û•lã°Z.‡ÓÐ +QQ>~z\l™z±õƒl ‡’×Ó'ÞAØ,²z–i[xÛ’Ipç‹><;Ê +D0H°®‚3>LiUOÔO¿æÀD† ñ"HQ8€0ìðç oݦÅAmŸ_¯Ÿ™á‹Ü´ +4<ìð ûScñ8¾n8íçCqí1 ¶L¦a¤{Ü?ÛN*²‰}C_@ÿ+ÌvpÆÐg8V¡|[ðuÅ$…ñÊŸl +@ŸŸ<(ûv žn¹6œAYä6zeÍ”¬^R%GÔ" $¶îLÛŸ­¥ZŠ UÖ/ø;씕šïuÈ`ç7~S!(y)o~tf¯WÝD–!Q÷t6Ðs¨¹§†tÕ¨/ãL4f†ÖI10?p"³¾Ò’ZÈÉ›€î2—&¦²¬U(÷á\šH00-]a-Ý2¨1ñlý„¡öxJmg5.›òqy{ŽÐ€ˆ®çÇÒ9ùù¡« ’¾T…Lñ×ýiT’׌•-—ù¥P…]MïðAÄ·Wu4+¡ +&¥ÊÒÆÏwÕËôªï‡pöSD â¸ýsǨ¢„³> LÄõ8¤.2g}ÔæîBÚ8â 1yòÁWÛ/ÿÆsÛ¯XÅrâ:®Îñú È{B p%¿²bh;ÖÎãˆ=y;1¡¯pö æ Ÿ-ì ùyÛuí 6DµÌ]7Fñ©7k•×)7Lá9zè2yâ¦æ +î•” +7;QUKn¢Äí‡ÛýUï…¨IISäòaƒŽÒYQG­‹Ï1´êC?† ã?Ý õ¯@\œëÕКÖß:=™ž Õë¹k: +Äûk@Åhâ2–¡ÉE“$^ÀÍüq>$ûi+[š=ù7œù²(›ì+YF¼ðU¨ +½¶¤—ñ\BG“ë•P6.iÛ +دyžÅÛK´²×¼¥y^áú*„ËWBHAú™Ô©È\Ä1ÚÌ–¿Û†aøcÓÓúþD (K‰[eÚë ±éM0§©ÅUHyR üžõ,sEƒTÎÖ ÃŽÚ\ÊY5x"ÃC£Üµö¥àr;ðÚ‰L¥ÀoñƒåŠ |å«Šh:ü)•IÒxÕÕ;Òð¶ÚRGÂÕ‰ÖC¹ÈN½H¸P:œ:®2ÆÕ£`Y´ßTPz} XÅ…áŒK»4{"¯9“\¶zk<‹êeágB¼‹þnžo¨ "vÃÅä(XÍîŽâÌ&#:úFYÉŸÈ'nåéA¼«”^Gé8úü¸k4¥£¤>E 0íº §ÌÒ¸)kHo #é’J;†y•©ãt£X¡»ýž=è«—ÊÇä„Ò$•¢ŸÜ¥ò^¤>Å~™;˜±w/ ^\q¿ŸõH™Õ°)x2íQuÁROmýKÔÃßåï²C³„[nåYZ›Uy"‡RHý¾ÏGðÞÃ/ƒ£ÛÖc¿œ¨*e(d=O³Ãíõnb¨l|!Ÿ€—VL89È!RÁ [¼ó%µ‹DÃTûø›W—‚­RJnƒëŽúኖyÔuVOÚ¤>ÍeðÛ“Ó®f(L–«ÂRúÄ +–Öj‡Ow2ŠŸ*€«ª~Úâ;’‚æª=«V,†Žº³­úÿz¬¯¯²\–³¨_½¾ì¤b´yíêÒô9ÞÅó,ë^vsÆê‚R&ç™`¬‚g«®îö+‚lèÝ›ƒ€ÙU¾,ÂZš8S'Y'V&A!D„¾' d[ i9;M5Œ‡ûj½L³ÞV·œ¹Ü\'ó#Ï5ôx'l¬’»(˜¼iñªk :ZÑ;Y4“FS,bÇkI£Éë]•Nؼñøë /á‹© †°ó]Q§7ÿ/­Èòý5:l”©ÚÿwÈØ‚±tir"ÃÙþ2>'[Y(úoXŽL'Dhjt±BÔf^ø¹ŒÀ`ÍF>1Û”YúŽ&ÓŠ·–cÇ/•¨>´Óñ‚³@8›eh¢ÉF 7Üv@ƒ1Ùôù}¾,¿U&¢Zöêý2†çœ4ô_w˜YH7d›®ÿúÚ>†×ˆaj ˆ õ >ïîÊ×zØÀ©gËH—=)°$Ò:™®& gaðlçÕy°ºµÏ©eÂÌHíBl4ð¥@Å=èªiß’6â\šuiíÏ©å•›”q+ˆN»±wxºœ6¥ó§Œ*ŒA¾m²Ž\dì)¯wÍYRœZ„ ^A¿ßÒ—øD*ÍÇóL¡¯][³EÀ7a p…¥+`HY²'ï1V-äÛ´¡.¶W«L13iv@˜EkŽ5.df¢ØXúóšüÈ ë¨÷r’Øpû­ƒ[—h->kŸí Q¾æWRHËð_ì—ŸN RlQ»Mà†â£ uVŠÞ×\Úõ}@#¯1R0{3TŸþ$àÓ¤¨ò‰Tà溜<ªrÐÉþ®œa¶¦×dt_›¤`1kñ5-Üëz Ùô¼e°XìX|›A2Њâ0XvFk›â¡œû$KRZpdUµ<Åág6¹ožÿ<¿t+Br¯( L*f¨Ç5„÷}0áGÏ$ðïà{ÚÕ?Bý â›÷®9Þx1Ù‘·R‘wØGÕ’Ñ€jWQÞ +ßD¥ãYE¿ SõAAæÎovz³_®c¡A˜ªEÿW'0—ïtÞ-ÛŽØkÚ\ÖüõÞG]e”eêÆ]-×nulI³_ÙÃbäû1 +;µÒÀøí’¶ ­!«Nú¦!G8Ä~ÔgÇÐü³#†çkbçƒÐ N§ =ÙŸƒ÷L'hJ/Äf*òÁÁ= ñ {x¾<ë“÷=ê¸2¶Á'_Æsóͼé¦Ú&P-=»d½/(D+OÞýˆ0~ئ +Ù¸úï¿^¶n0Ìr1g„ë›4DœËnÀ3‰ #•Û +šNLWWX’ð JðÐAR˜GÃ÷Š¤ +endstream endobj 151 0 obj<> endobj 152 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 153 0 obj<>stream +Æzì8š|K¶¿&ÉoœÌÑ +z›ç¥’KólÈÚ…¿2Q²á”&¹ZUÀ˳Á*2é:¾LÇÈPø-n*ä€lŒê[ZƒÎóTŒ*Ù.êËKÂ#JurzhÓõFùÐoø`¢exy4±åÇV¹å›ïbïîëÕµ¨r‡q”–IeØ6õ•µqF8ÃÞŽž`1ç$€¸þ‰t¬gA™¤yUiÝUë&£3ð! ŒüœÉÜê;u~¯lá'›%ëxãņæDkqvÍË!Ho!{ÿ$ù0•µ™Í‚Úµµ§ûN'Bdä° BDÞwÙ¶5~7ùþíÕÝ1×$LXƒ›¥HdÑD2¦{ãK°H¡ÂùÑ´ÐÃiŠÆPÄ)V°9\óô—.{Ý…àµÙÌØvÀôEA"àRåשŒÌžçk=§'“lƒi÷‡¬|+˜Šp1ß°W…A%±ÑbÌÒÛ¸Tzl«ßA8øøß71TÅ +l¦e0?QQ‚¶jÝw,ê»ZŠK $à©ùZoW&¹[@ò‡öw[Mg‘TÑO½Y1$Å6 ¨þì?F(ŠÄÃÊ8€V¨þ(™–Ò`Ž£½ÙŠ¸Èæ2ÿ%²žö –_–Öôà¨h*Ð&x)AŸÈþ}ÆëNBèWk=yÃCHû®v%œyúŸÎ;(.å*Ö´ãó=ïUŠ4ˉ€Ä3Á±yiÀëCèì’ä—Ô[ÙÑ?]Ø®T’†jîëBJÅDº›âO#(éÄ[!ô‰ÂCµÓ —%PE¨’æ:¢>ußså„IÝÁàÉ·¦³]>*óGív‰”;òÉ ¤&š¦(WÔ.hmo?·cŠ‹”ˆÔ/ÏÑB8·Í‘øæVlZJ»Ò9Ì\Áy×´®OÀMSë|f»¢sÔJé?œ99ÑóاÖ¦å<Ü0¬K+¤+™üèÐͽ×R¢Ä4öŠWš˜Œ_¥’(1‡Lây´û·pNœèæë:'jµ¶]i= DVÜý Äú²Ó¸Ø œ_sÁäæa‚:N×N¨ÇÞñ‡wfE=åžg¬»Û¶“©/…ïa«3|óØÓ䀃ӊ„54(­xlMŠ¸o€¹×A2íxA~ŽKÀq÷ÝzR„á)ôègЦÂÁË'Æð-¯è‹>ĸK?«w£ÀÍ­¨ O6©m¦ºÜƒž ±Ø2âF-|ì„¿†5oór Ç p½W¼ŠuU©‚ GœîZ_? P:ûÁšÃ9âüIÆëMŒ,ô1(÷ãJÇ;¨Y¬lW~ÇmE'!üu½*oö™pUÈ·2s®!âE¨UÎ|§ƒˆ+nÒ²OÇ(ø[m 1bÉ>ZÑþŠÁLªÈ¯Õ–q 3Á³é¨ã O¨Õ¤˜Wc—ˆ#ý{:‰ úP½n'f Ën¡¹ë.У=T)ÓÇ—‹±ÇÅ%ÿ?„FõÏ:-s‡‚Òîµ{lRPà‘´™†pÛûOç£^€ûzåÏ9¥ïÏס$4"Ýu_•£„|®u~oŸ>ð@›áKà²ù%”ø¡=&K¶¿5pŸÏ>9æµ?°åkjuï¯GÄÚC¬î¼Hr +t~‡"ñµrwá@·æR&]קÀU'ðËB‹žLg,ã+0õ M¿³´5©°bWZ_•X¨òÔža öøZ¶;'ÎX¿Nä»pâ“ö$…EŽYZ´æ$8ÊŒø¨|mqFGf軃zk™Ü´YX°˜ýæÕŽ1:?b™±!¿¾·ŒîÓz$u%°H³6>´kbÈDÛKÿ°=Uæ}NãBú݉­x@|﬋”ª\åÿ3>D_„¿ì>ÖÓÜK€Q.ÒÕþùé(»–Š¾ +bÝ.«ÙÊhà+ OiÒ"š=¢ý‘ÁÐ&9S?˜Ì4"¿Ú¼Îº» +œ-Y#³°ô +}4æ§àJ Á127[£1à5=Nàw¿Á÷¡eH%„¢â«7†Š½HUE« +Å¡|+3èNXzÎX$À±^zÈòY£j³ÿÎýABPü»A>­ÑV+}+¸Ò»BµÖ‰VQV +I_ýð™´£?¯ˆk–O+fåé›í/í‚î[ßrz­r6}@]8Ú bf”Œ2O±²Ÿò™•nÔøþ¹žKÑëÂÉìÕ%®–lijÂ>J& è;h´ô1„IŽÁ,ñ·6[ÖVŽÄ#yŒ,¯îM½ÃÒ½FuÏsë¼/•ïÇ€}à»VºXO­7Óû)Lpðñ§$‘*I>Uë)”{ÛeDý&ÈɆ:«j—òá0•…ÆvʘøR$Ôÿ*Ö*…PkSÞ­¦'v)gn<¯V•Ab¢S£<ÅïRzˆ²îíyü±£¤f«ƒK?DNï@z q– ÎA+GŠ{ÿã5XçÓ™<ÊGCzÀVX÷QšöÉþ·QKsýIL ô½5ŸÓ3®Àcɧ„;‚Œïg‡ÖM¿ +BUë¬ìÓªéwtHbüÀvø$qeõV>0]Ç¢YûU*Ã&”“‘Ü3% Ù†Þ÷õÖ¼ +ø¯-Uè@ ¹­åÞ ”¼Ž\ü‹cK®Ø4Ý®IªŸ›Å HÃaëïÆ.€+%Æë“õZÝl0;‰›ÈÛ"„FÚ<¯›LmŽ$¶Ì7µ²’–„EÒ1“B<¢Yü®Ö™™³$~I݆‹)E¹^Ôý4ñË9úTAçñ~àô0+È—MaææÅt«™;T¯©õÚöWm¾‹¤ÛáÄ iuŠQ£t¬lL¹nYÉœ+Ü):Ê9è/´ÒúâÍÔs‡‰[¬‡@% M _¥×9•›sÓ̦лc…/q4€8¡ÐæW½1<Ê}ƒ•Ôô¼åÌ@®dˆi.î9‰BX— ŒC3&‡£/b¶'IŽH/£xgÆËÚô媡–õ5 ›&à`Dð›’QgÁÌé0'4¹³KË™"…‚À 9þæÐ(˳fvæø–0¯| ÝÛ +4³»¹~ºÌ‰oOùC®Œ:󚼟+ÕkŸH2¶ÏžF“° ¿òï(Ôþ%c¼ÿ5I4ç]ÐÁÒ{‰/û=iVkƒIsfÆf0“Ä1ãI®œ#oÀ¹ýxèþöúz& +ì2H”à'(¾uœ%MVã³ØÜL#5y¢ó_ÆVó[d—™¯0ò©–-âÄ|û®ôîT0¢…-©z`ÜÙuwH£[´:‡ ¶‰\Þþ±;2V«šÅU‚ãÑ×Nu„î]íý«èÄÉ(ÆXºüGð1JøfñÃÛº_×Ú…`r)|ÔŽérL<9¬M_Ñjüp|h½GõLþ¾®0ÔßÊ‚Ž!µ*7?qtƒnPZm>;¾f{§J\Åe[E.^È”¯9WµR£2 +¨ª¤“4³Î¯bŹÖd¹™ôsÒ}°í‚6Ýd›p‚‰P•s÷¯l7­7 8þ[v“äVÃŽ RSO/oÌL½>*ÐH ÌÅÐ÷þc׋cCEïX3Öyÿè¾{Ž©y­‹©z¦üøf‚oqÓX´uB™‘¼¨­PÀtæʬ©÷»ÙËiÛc+e×%ô<¨:ú&<ÚNa ã `¬ô†"J¾M‡wÈ&0…m²çõjæÕ›fb¦õê…ßØ¥¯½‚€pÃp£Ú4Ù ÿxkÃéþ«øëùsöaE³aùó€Lüêx4XäBµ¬ÜT à5 íAb¹1ææÑðQÑëô>ª¥ãtEôyßÚžÏJÔAõ‚ãÞD=€©$¤ ¶·™Áõ3k;Ñw¢ë¦œJÓá´Z{†8».ç)†ŠÛ—NÙÜkЂŽx©ìÎÜŠ!Y)ijk2mÖý~ p`ƒ¤ÑÅå—_þ4µ¥j·xµ¬pÇ’&Y\ ü#Æáq2-¸ã&ù& +endstream endobj 154 0 obj<> endobj 155 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 156 0 obj<>stream +Ü\W½¶·‡U9·¤æ°§04®`ïÞMÊòµ€¸PI¦Ýh…M¸Dé×CW:4àš‚<‚)¸;k';¸Äo‡€{f’bQRå6°£V)»Å“Š¥¿ë ðsa"6žt˜úÄB”%ðÝpu‚%+®Ž¯÷œ!l™y ¨9`@TfH m{¹„»[)ǦKˆ¯ÛT‹-7„(.~Ñ¿ºfèöÈ6º3ç›+q^œ#á$Ä“­ötB²‰NqâÆ ÒŽYŒ ¹íñ?ô<º½-(1Æý~ƃq‡MÚÌN[ù>­é¹QNIòqAâ>Š†81D¹š4–S›áÔªïå[רèHI2?ƒ÷v‘D¾Å"3›êÇ­lWñd}é‘üÒüM³- /ºb艧ä!ÖTË"5«#ÎÕæzsKoـ̡Ý÷hðæ.Ês“ ¬õh*ÿNù©ø•0Y*hÅÈBàØXìbõc³0µÑ+‹EÆÙõ_Ff)Cä bÓ°*7X¨’=€â°•ìsÅyjP sㆢ?gžñÉán‰7ÙˆûøåŒdôNƒdFD½uþw2¤¹§yûXj©q‰¢‘j ×LËH»1_A¹odÂV[œpxžEkyUªN½AªÈ}å`¹Enˆh´¤ Ø™{iôPÍQcnè Šš9€ávV'P=œ 8>(†Äè#צ£X¤76W"Q¾"!7=‹H|÷Øsà«òn´@L£Gºè3#ƒæ¶ÿ;öŽ,@ÿ—ºP7‡x‹ÁjÓè(an¯$prXkj/5î<Á°Ë“æ,­ÙóŽxbÖTF©È‡=Ø{p±§é•ˆÎoWFœŸl+“8̇ûùxl|˜ ;àۜ젯’nÓ6QË«]“=–ÈáIæ4¼#‹ìr™˜@ÜÞËæJÚüõ9ÚV½J\g^AûTºöš¢ZGÍyË0ñGÄ*̽(ÅÊÐ Îâ Ïq4Pˆœ™{T†+¶™àÞ€†ééÈàüóú‘½Z“PƒhUžçDS™XŠ¶b<Ôµ‰b‹zo‘rÚšž£Üâz¸üôöQù“c†:G¾£ŒÕ½‘„õÃYX^Reø¢‡ÿ€E>·BaAí£±l¯ö_úð +S|`€ ”Ñ]åì«ÂÀ4ZJIê„xäÑ´NÜ‹z<ûáÚdzVu—Ûyå´EuvY¬Ü‘ S³p‹Þ†jºµ +È(URØZ?îÜ> +Âyª¬€Í±<·^/Û’ +ý¢{Ÿì?ÜcP(÷ô³9Ê18eÔ¨Úú5™ÍÒæ݃**a.\{Mä”(~ g´m@™1¤[ùÄѨÐ-†ë¹£X•’Pô¸L¡r©K«Åž_<›è%Vˆ¸îÒùh—<š˜uÛA£q3}Éü=)–2âõžHp‰þˆæ¼qÃK†I(<>‘*›¨uƒÅ©©¼d}0²qárèÊAª#›×`ÔäÂn4(ÚµR¸SÙDgÖïq‚Á1ŠËLZÔPÆc€[wQ \áçÆîà™ ü[òÿâÞ€Œ-ê‹Ášf¿.u“~S«¥ÝiÏrSÿ`"NС׷TÙΪ¢§j¥^¢Z‚WÛv€O÷a ñiH[Ñ’x§¡Ë$+À”3JÞúÇòwjxöE­a{êíòH)Ð ä˜IF]›…˜fÓaèÇù¡S3̉u—zè§>¨4éG¢‚„ç¥Ðg.†Od§AÈ&Åß©zP”4_ÁèuzŒ¯¹½1›Ë`GyÇQl"÷3÷’c‡=¤½i¯K¸d>:ï_`¸Ö+€ZŸß'P8 ˆ¼Iü¶'’‹Üc“¢7ìTׄFÞÍ¿–‡G›¢îƒ]šD´ö)ì:ŠH«iÁHWFh=ˆ³Ù; Ù–”¨ÐÊCX¿q“d×…ø°íž%d²# ¾ª½Ãÿ«DZ7ÿ™ó…~ŠÅPò µÒ@Ú.š{} +OkRt ­7Œ+¶pb/Ô31• ¥€´ ’ó¿¼-õ"ÒR2[³mù,ÇÁµÁ¼-b/ƒÀÏèÅç.N‡\¾*´rê>`%GÞñ`"EšJOô²-ÔñV:Î)@ÀGoéÞ_ôusܳÓÀt¾ÆR'o>MVÀöÒ¯ º1œA/rhDõ‰ázbð$ﶜÂW¹Òé±õUÙÍÐ9ég)r3©áŽ]jÎô«5kä°ð~ {Ha§c0’7oä¯en€qf[zw˜*AçTâÏ!°ÍrnLÓ`º ?åm½!:\ÖÞ»H@ÁSFªCæ¿š?|¤a÷‡.Ì„µ™+!Uc^šk¶ÙŸÿñfîBÜ\,3¬\æHÐÉ!™°ë#ˆøtEø_ìäóÓú:ôê Ú¹${˜ƒÒW¦@TúÒ£H-SrO‹!¸´]È)9˜‹ +´{Ÿnဿr:p¦æÉ•*üÄ|…sZùmB#!ŽÁ›!~(W(Y–°Êæfç¨)Í @r2_™àu——¨@— ŒPЀ³¦qõ£oØó¼o¥~ Rså™å·ì¿vC4;bQ*à"zË×:še3‘l.èáVlןÌ2>Lû/^b-p<&ßÃÏè$Z>ÆÊ^$Çú +®ÈºHˆ6­tÝE§ ™¾cœ„¾ÀÃôðê8Ô¬úÛ¸k‚´ã~;^Ο$´ý­¢§çd?Þ›˜-C1èë'nâÜäçOûÏÄ°¶¢·*«žÚÒž˜DŸks[d\碣kmë +3Õ2Ò¶Rœ™j“n¾ZoZW°E(ù øq@‡Kþû [óî.s. ‚©” m¥Ö‰EìÚõze £Jƒ¾4Zô€òG¿æX‰ÜmÿDhŠ@…_´JR…Áˆ÷ +ù«ÎA3¶¡'ÏìY*+–lúñËáÏß7ÁÙ¦@’ªò±üÙ®K nmsÉÞðÿøãn©Èª* œÖ”?|:•;‚Æhõ?ÿ’ü=$¿k¯ñG‹F‚Ú[˜£®v£¿‚öGå EÈ—}!VºV,šáÂÊß ±åfÜÚHèÁéÉôÒq‡Ùòš¬è€¤í}prN°^1ëÂËcÓL qÊ &Á¥×ëV[×x‘›©á<Ÿø*M‡¹†öï⪇e $v±ÐT̺ æ3­òÞýšuÁ1L‘Y¬ÁêÝø™ÏõsΤÀf/ÏBBY„ESÐ-´{×G±·¬•õ²ÙdEvDûÛ‚Åd>á³÷¥9•z5öÐÊt·:ŒF©mËØó¥ ìL3«].šJS³fšßºë±78daÙ0×f£c§ñ#æ}Æ}òÕ_Ê\Ž|Ejë,QžX½ ôQ'ïv‡R~w5ïL›ôOA)zµ‚blúÁúPE/ïô9íäЯ ‡Ü°ìêï\dbª?ÀUS„Œz*6¸Mwá®\©7T‘¼CN¡€’è”!]Èté2Ò Ù`“àÒØ÷-¤pìZþ†±l7ž#å³´ ûä·üMp·9 OÃ÷‰Ž¤Ø«11Í<¸Cñ‡ˆ=G1¶ +¥{ø«2@oð•rl„°HšüõÄ}¾VÈí+´Yŵ¬Êa”êý ëk€¡f/¶äÇhV×qåñRULÿž%\­EbBþGƒ Mo–yÞ‹a;/T£–øºG {ã0¥×rsæ]§cÛ. d+@m}YÚAŠ4Q2~nµ%›Ë=Je¿1‹ñÊV)îðNŒ‚_ÄIû+¹ž-fÀð•qYÒÊïê8‚€yØhÔ¯3fRtÿ|c…lå¨(Û•t™´ò~§­R˜múE#ŸzŽ½ÂóÕÛx¬Ê_ÔsBÓÉå+ªƒÔ\à 2¢íù&ý”ݶ + ó·º7Ýyú;& ÈÎŒI¯mvá~ x6˜âs`® ë4tÚììþÀ£ÅF± #F˜ZÚ ;ªŽÆò–1Sm¿Ö5h¾w¹>ßuº¬ UPåpM f©1ä‰Ûææbœ?ªÂ¨—ÛÙÓo챬 Я‘ÕÉôÍ2¼ð®;E{rVq=ö2ÙD®MÞ×Ê7LÝ`o8n㔇’ÇV€Ló¤°¾ŸËkÄ¥¢\Š;{*v=nì'pyx#os •\l„„Õ÷Þ‰NÔøÉþÖBAH‚Ë UÆÅMŠì¹ÍEEý& +a[ye§gø÷K!ôpQŒaÊå—'[2¹'Û8®wòÿpį9Q÷Ѽ/óÜzUOHŠÛ©‰ÁÑv¯Ìå~dè¢oW–Ÿ³Q Š‚½AI•˜ü™Ê' +M¾¸¬9>kÓÓ½Ö×n íxY}§Fóüs¼‰‘ô!ž±éÞ™äʼn£rç’p1fçÚ,ˆxN?›} ØÞh=!ÊsùÇÖr‰ð<ìÑ Ô(§;yZ*;&RLÎ9«í`¢8³4Ä÷ƒWp‘Y•¸ÁP®Í Ž¼ ·œZƼ·í3· J,toŠe¿iµÄÞV}‘ò ó÷h‰EÀaâ ‚ßcLÅz Ïo6 + ÃLRߢ¼´¯w”ÆG O/XK†UD>%-ÄOÙ-v” ³ŠzF˜³ Eµ.Îêêc—™V«¹…+¦U!l`éâs%× K‹ ;F] Ça§©¨óبb*¯d)€öEîÿG»ÂÞ”µ®ñ +\:ò „ºµÔPhUþŒÈä õ¯IrQVÅ53°žÿø‡•WÕ¾‰ˆ=Ê”îðýx»ç<½™.‡@0¶ÛUžÂI'¬n^ÂcQ[ȱ½æ1 +endstream endobj 157 0 obj<> endobj 158 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 159 0 obj<>stream +:=lõû/Ú\ÓÛﮤ‹e Ñ8AORNéb§êP ½óeÝO[¯ñõ'ÑDUàÕß2Üõ3t ~(Bè|Ã/. *hØ1?Ü ç¡w_W"ì5á¾óìÜî²>´)FÏÐNoZÌ3YÉ ëã6Æ#M"y¢ÉŠž|€8=ö· F›ö(°ïãÝ~ +ÉZYc°.S3³T™&v6}µÁ²¯—­zPjiA ùÝr•ÿ¡ÉËŒ<“! m‘ÛbdzïFm%é hŸ"Äx>Õ"!¾ð‡2](â&òŸ®VrNWäq©–9ýÚC–EtÈÄ‹¾¼˦R3[æÿ´¡Y'}ü +¦Á•ßµMM~æT‹ÿßò©®þ ÑÄ©_5´V˜š%¤BQá–Jçd“Œ_RCÚ¨¥&ê¾¢ I³)ÄQžp \øJ‘$ªiú†—˜Îî[^¶ypEò™Y{Úa=ÝÂÒ†°3?Ö@/Š&´*Ê€¨m‘¾ä,Íþòâam ›zfU<¾ÖHã{—“qwzu>Àƒ#ê  s6 1ê‚j°ºâM_Æ"ätÆ: +ª0ÐzðÁ ;´ŒCû\gOÔVæ&4TÞεìEÕ%ÁÊâå1Bt!òwš;-9æÏ>»» z³w¼'áÈ/[vÍ…5pdr¨DøA'DuÆ<òþrÛ.>öBúͽýÛðw”o‡µ S;ý‡kœá¹8LçXWqßëTeÌæÒÏ6m'‰îåou‚ëB„â»Eý,áÒMlÞ;¼B·óý w¶Ç¾¥`w…€~›Knû{*'èªI›^õõà¨ø5ÚîvÄ‚˜ÆNÈN¶ÏýGð03±• å{BMüû¬Ž%Ç?Êœ*Üï±å:EÜ.>·‚Â9¨Î²Ž}¿âŒE§pNÛb†“·÷vÛ!@Q,H›3oëìHø'{Õý8é}ÌiEâu4aVI…Œ,{Áì‹Gƒwátçz縉.6IfèŠ%:ÞX"ôÎçFÀríÕ S ˆÝÒ÷ãh? '”á!÷j æ|ÿþ$ÂyÔ²ù‹êHóVr§­Æ!î%ÇãŒ|àLo:1IÂzŸÜ†;€úÛ€ÍæˆÙ’S:êЯé#±‡ÜÊ”|¬»‚³/äTÆ:°­“HËÂ6}\Ðbs¨¯áë“’µµÌ¥žÍÛy²¡ùk;wt[ùŠÉ—7sŽzA; aõsIg0·ÅœMó£þnZîï ëO\1JÚ´‘˜~÷ò‚z ̦ÉÔvsHYL(Ú‚æ8·ª—›‰š$( +Äô~›îË‚Y÷˜Ug¡ ÐÑ>tšË”{LtÇßS,ò[dѳdjcÕ&áÛ_;!ãV³‚’ÀDM5Ï57]÷¤‹©?õ@$ŠäàÁŒ™@v¡ÚûØp¼œSj—›k¾¸ +iøqZ_tjƨ°ˆ…ó¿Ç_*a^§#¿ƒ-¨HMmT¤Œ(LÖô¥T—•ð"8l¬Ä@Õ*Õ9常Á1ɯ zæòÚ$FâœTÉH{Ÿí±¿¾7Ï+.úÙ¤ÒòÁ¼Li!¯•C2ë1tШ”c´Áܹʭ[ZˆœAMü¬‚]:Á»â¥Hý„iþX5€Òâ-;j$LçiÝ̳Ðü³fŸeJ›‰o©üs#+âÛó,+m^a5¢±N6=œÿSpÌÍ7ø;|fƒÌXeÿè:*A±e¨ÚÎmìD5lOá~¼€½ƒ0*'ËL&P™Úkkß̓¦+v¢<0œ<ÇøÒN6Çå!Ö|Bù&…”*{ƒ™nðÉWl˜­˜ð5v%  Æ»îþÛþRÃ{XÛZ3·Ö>Ú«Öt¢ÞeÎsb»¯p›â<C1|¦ì){dþd/1}¦»Dž\©·ÃX©¼Ïç¾Ã£BD ™zš +qèÓþ8wÑÍz€Aè´M¯2wpSÆ +ߣ^š ”‡ZÎ8¨ÐJÑ[do</m§ÔÙ™®7À`ɇc?¥¼T1Mìvøþ‚‚*¹ÛƵ±zãÞ£üñ”–!î 1ÆòÂFäª@ ˜¨ª%‡ÝŸ>©L‰²¾u¥#rwŠ×‹ÎÍÐÈÂ.êã…ú[1ªÓ,ï<Ù;w“Xˆý`Ɇ›®ØN’¹#Ïë:o;åhVÁs3ÄïŒ@'B:×Å2м—5û¿RWFÚÛìÍÓÔòÚ… ¤¸Hmíyú”·¤¿NþN;EŽD1ÍË31è›B¾1±ê”È™¯8í*§Fë ¤Eý+¨šyˆ®O †ü’Úlgš4ýµB¼ÜœÒ>ú{»Ãš¢ ÊÁ{NCL‘d5~î_-…¡‚'¬7ŽŽvÐÆ;¡Ýj”üõÞÿ.$ +ÎFÕ¨Õ·H9PÐ +`Ý>2CÚké;ÛŠ4E+ ˜ä)”“~9Ÿ¦=Ê݇jݾ-)< ýçy5¢¸ÔSËï˜z~_gÑ#U ƒ“SÒ*µ†’­c}8nñz`¹Vci2”ƒ“s°¾ÊÂëîwç3ŒÅP:Û/…Á×›R÷N_ÞŒZ·|k KzDËÓy醽Z—*nÕZN%ÐktmíŽÔäú´_õ@¦-­¶ NäòI¶‹C"¢/kñÚ>.B‹x%U¯_µkYÉàäÔHAîÌÓ¯ªò?M;Uoq¬p $*9ÃVQ˜ö+wˆ‚lýa"Øþ’¨öIêD£^-®˜#Œ*Ó28óõ­iü» ©k^>•½IÂ÷¸Ø$ßwyŽ_\Šœ¶6÷’6¼Á—b´ Šqw­c'±jRl8 +¸:J~m›­“^¡MËZÁ¢îÂáoÀ\à ¾o '0üPŒŒøµ{.z”)ú]°‰÷¥írfNe´G3<É(WíÍSŽUÌ龇=ð×J;&ÿrã[=$ê'K=-síí%Ñ@p&diÜÒY°^eE¼_øƒ¿ò~+ªŒ&t𙛈ÊÿH\@CŒî­XnÍšLœ¬ÞÈÜuצÃE=ýzXoæ-L<ôéþ”»öhŠ˜ ž‡½–ê+·»‘]#¦IQàU6Ƨg·LèÑÉ 6>Ú¢“Â)MB«†rôº¹®:>tžùõ¥ýáã6{}”ÃõÔG(ë¼d#c~m"CMÜ1‰ƒóuU°«Q,~›–WUÏt +G¶Í=‰Nd¯¨ XÑëYYÌ¢V]ä}“P^}•ÇwÙ˵­ÐRTis~ÂòLA«Nù&tŽç TÆqc8¿"$žÖ’&¹i=:µJjP3—^C´JŠš¬ÀóÂæ´Ì+^œÓÛ^o–£h°Q«‹Hgä<êK“ïc´Òɽv£õF¡Q„Û0}ø¹!G´<çÅÈ(@‹óXçú.Di’ dD2%|Èñá9LåEî,¸ˆ¿š¨mæ¯Ýꮡå /ã{äÁ:Ãß +ßrw.wyNµ_ê`6ªè|i2`Zƒ’¾«_ÒN\Ìë>­šÐŒ¤—˜/TNlôÓÚbcŠˆN&>2'·tjûJù|ž;#ƒÝK ÁÖb¤¸& kÛÙZÝcé2¢ãáD±žYõÇü²Y¥.N +ÎjçÔK0”èÇTTÕY£Å°^¿0%?2×(Êrð·ò1 ‰G9dÑàˆIoÔ(*(³§ŸÏ¬·>m+ÿee%&šðËJ˜eVÆz»}îÕÌvô9 (óøiwsºe·–ÕHjdWw:·’‚‘6œ¹¿f‡V;2IÚÏ¡qÏâ õ<éè6ÌÈçÀŒ.·råÔî“Ii}vjÍ +qjKtó'¥… ³)¼lç¬<]8–½;þ&ìuoº¤ ÎA×…®0â*m€/›Ëû*™!Ô﯎½|âú5õQƒt«Ñ­ %•¢b0Äy°ÁWuȇ6¤í–‘­ñ{˲UÆ{D¸ÞzÙAÐï’?÷~(ŽØf78~.à[ºRfbbùN ·ÿÉ.º«ZúØòbÓèzcëƒÜ’•tƒÓ:8Æž>ã!yªCðØàxm¨ c +ÛîPÙîuÈù…mV-o…Ó«õ»3àr ;ÂÁp“¾]DÃGñ¤az‹µ'ÀÐ/‰Ú뒉žøêÏÙ韖°¶•ÙŒ¾‹@“†#Œ;»¹Ý ß*xÄâSçù7ðæÔZí$ŠæO—á°é¸öÒC âЖkË0 Àaì Ãù5©­Ó “Òã ÆùÜa[' àîe%9<Ñ^uçÞŒnÃä?ƒ|Y[ö+l}-– q'™vª˜@(—LdØ°YÃ(ܲ6ù¯ *hÄØ>¢žÚ«m­‹qp:B‘|1 ­ s%jpÙÆàeØÇoEsO\‡à»³“*Ô>»;Ðî]a¿¶]6a‰oþWªöÎAPVóáë4xëϨ»N`_ïA^™oVõ¡°}BñL`ÿƒ~9L·5=›±#Qºu\i‰¤‡ëÏ+–ÉU¸LÚá*Å)„˜¦8“\s ~ågÿîšàR÷?²Ô9ºÂg¦Dq¡š71£UNeo&n–ÜÊp9Õ¡.þÈšk9F áî\šŒÆ¦€mK똌Ë1Î~$„*éÎ +èÙÉyêÊÛýö †ÃÊË}ƒ +í*a0 Áÿ%~clVˆ÷:ŠGTŽöã¯HN (·š})kÏšW:Çaÿ˜l²ë/¤ff©Ï¢ ±ë"âå +endstream endobj 160 0 obj<> endobj 161 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 162 0 obj<>stream +AP>JFå ñÃIdjAä6Ú¶¾{2 Ò¢#¿·>»±¢¾6óJVÙ>E9M‘áQ©…»z ø6§ª!ášÿz”Äz+ÌC@þ= øà 9M@o1ªƒ´psÏå:T¨¼iÖȬÝàŒÑ0²Ð’è§TXÕéß;[›€+ãv fjV­49‘Ü© ÿ½-ÑÚç# ÉTW(³QmWâJ+Ä8Bêç¬ĬXdStΗ¥UkX.æNº½_i[Þ}ÍõäÄ;ç„1\3Rk¯e_HÚ(‡ÜáÝ_ ÚvP%Ê3Jr^Ùéq½û¤|V£}æ/ŒAÀÉaÚÌ-!J߯|ÌŠvówß(­px +‡U4sPg‚=V‚ŽŒ´¡ÞéŽxƒ qÐÆ\ÈÊt|Uá ȾXr ÿ¯oæ2‚Úe›SYïÉWÏŽ=ƒY[2ÿŠ¬Š¨dšpÍ?¡×ø!…fô€Ã÷+ šxè\ Ù{xη×KœÀ³â,©vŸìÿ:&k £²Ü#¤Wì $«,X2½ïPvªÛXÛÂÜxzªZØ…]üXhkôç ¿_o3.¾ð‘£Ãµ1ËŽŒEÓºWÍ«,(RĆN#Ù|. PRáR_”»ØÅY:çB6bÎéÎÜ!¾OìŽèó¡…ã?²Êlvê5<8êÉV¥ñK(ý{e7¹Cºø™ôÀxÀsj‡@ºC<ä.¤‡eçGÊvhÝN¿m¦ +Dò™‰ëŽ(¡K¦RÞKïÊ(Ç3á4ë¹–)NÉÛØŽ¥5j½~™ë™fAÙjf¸o½ ¸”2ˆ8~™Azó( ²Èüd¾GÂÕãžQloË’ÓƒÜÊôðØ*y£ï6H`îfaNæÔ +ÞÍa©3uäô'Šø™Ï›«JŒbiMÕl"×Y·Âøz• ÂÐØ-g%ÙET’„wJì[õ¤p£Bq®Mì¯e©½Y -2ŽÈ‡ Þ*k¢*µe1äö öÈvÀ±õi6#øäÌýý `åwß"±ôkšçDŸ ‡Ä×$jÉ°º+ªëÒÿä<|¥½b +ÍNÀ+£ˆÚã/¯Íe ¾6!!þD b’pÐ$·B—L§ÀÈpis§Ê̘aÎ9öÌÃðÁ™È@x=…ü(õ(ÙmȲ£·æúBg³J¹ž¦ËÑê·Â®¤qaÓa%ÒáBG‡Â,„dÒ¦(t!r†uéhö9ºôˆKÖLú}­§c7àóš¼ÚZ;Ë à0Ú )ž¨©Æò|å)uõ-¦Éh™¿«aöϪeÄ¢Z‚«,褌ŸæåþŒ`XÐà!-/Læ6à!a´žøçÍr—£'Ÿ+‰Êz+.Q úKSši©›â‰Qs%i‰ËýäÙHï{²k‹*ŸØNN{˜þ6à|N€€×åfŠ¦ØYÅ(°=¬#CxIuCSèÈäÜx[ÂìÜåœ(Ó +—¦}'ˆïÝ1eßï-'¡*‚=Ô¦z×SØÈv¼™éÝ|67> µ[»É-b0W2RŸÌe€·í!̓ £u¶²àïáM©¢ñ}¾ßV„ÄZÅø´<$¾ì\Qƒä BÛs|úœÂ^PcÿxB¯f^$@;y*ðԣɨŽi¤Üßž µƒŠiU-¨ƒ†ÒšÀ§ |ÞcÂæ7~nmfšû×#þY<ÅÁ#/¼{A +Ÿ" ®I ;*¢Ý±“~káÆq÷„­„CA,è"r¤$«O@Mõ¥~ë±Ðw†œ{ølÓA ¨ù?ðƒvS:®^\R+I¢Ãöu5èe!+‡ÁMíVZO‡Í4Z¨þ˜×B©ª\J}Ö\%[»æϦacÎ¥ò×@G–÷ÝC+»ÙÔ<ÅÃBåÿ3ÕÈ^{zD=0iñCµŽa§ZaËâ( îâë³}^#ÏŽ¼šýàCK6"yi0H‘{Пàø\ò”–W—ÎÊ‚Š…›b%D÷w…Bþg…¿'›Ð`a1úá£wü§¬ Ó9Ï\0Mâˆ1ù+VÖQá€ñV‹Ä´É4­¦ýæXj%‹Ü“î¤l¾ûR«!ÜQ†ùL›U¥ ðöø!!Œ³-ÞØòùîg¼î~.îT4õt.hÅès!)t5ìñµê‰(‚ÌÄ9Y´ Ì历2=¿¤Å᪠TÔÕg•e¬–¤Êð¤TŒºlkaq½´ŽYOúÅvaWÿA,rÏbD‹+‰ãÒDçs5òGÁ__ûü:ûm081Ïmœ)²u‚OšlþÁá ?àBïZá ƒiýi£ËÇùŸ>2F YNŸ\·8ObÐd‰üf«Òw‡UH“ý¦þZÎûŠ=~‡-´¡P+gap_Îïs°Þ­5ÂÀØr‹&(_r Þ%‘—œ—ÅMóágÃg{篹Pµ·²ï8Œ¯ô[öáà+”º ¯˜±Ödç1y=µ€,WÌgãûˆå¤V­€.®|ýõ™4³/†Ì™©]Ò¨kCDÉ5Þúq­‚û57yuܦGi¹à}/Ûå´¦PÑ¿\'JNød'«c5×Í›<Ž„¯J–A—|&ÊÙœ”ï“ï8”Ý»“NûrVdÎî:}ø?h¾œÙf^ŸìgçŸ%/„|mKs´Ð´ÃÓÙ1&ê^Ìÿ­À6‡EÓÊæG§aaü¤W44ÎÓP®ÊüW†ÝÔôý¬<”2m n1Lý\u#6%³wŽÄæyŸÆ5—¬hQ×K¿ß¹†¿•ÿʈ¢œ@»[õuz×3HoJ1U‰RºÓI¯õßQ-™ÔÏåÞÐÙêá>ïY`V ~ß©úûq]Äê,ѱÏR€Œò騧ášY¶µÓ·™q/®ä¬ÐŠL$J™{UJ±–1n¨ +lÛ¢Ó¡…;·ð ѶƒU(oFÚÉ{@]®“Ê,»ïdMFñûW“>Ûî[)‚­Œ8¥˜–í^äWl@Kª‘µOŽ i"$ +öMÁÓ³(mWWr•Fz¹WÌw³¬‰±‹:GÀ3ò€Ú:|‘ZJÈÎrضPõg9ÚÎù½Œƒ8ˆ³ jere´ìóRvpLVÆübÿ1ȤuK͘¶Ÿ\)oÓ^‹ÝÝã§g%„¢œšVSÉ樬#‰W\,Ÿå¹•{:‹ê.¼“˜Ä—¯ÉIÅŸ?1äMXp›ÄúMr%GN‚Ž¬cšcP_ÀpøPúy•èϤKK ²>W‰x=bº˜2ÏÈq"–¡ëü§$$¥ÓÁÎõ„nü¶=A=ìªfxBX/l@ìB»eG-MÒPߤ5±™ßŸqüÈ1ž#%ySYð¢ŸâÁôõÿÌ0é$V"Ãað³¸ë¹/Ïð¼À<춶¼µwÜ¥.Zwöaæ-IÖÃy9?(÷‹ÿBü=+†þ(`’R×1£¸ªì¿½þø9O<ùÝœì#ýyoÝ~X€átRh åA8´YÖš„ÙEUå­ªÞþê°Í³‡”goN<Ö(é!ŸÍ”.kB(-™ÞÜ©âÅ|Èñ„K‹wC÷“«î‹èô]{_Ð&Óz}‘BJƒø߬»–jEO{ž,Æ5EIfìûB0!‡†Gª8p¼f [{f9biœ“ùš¸ÿ¸OÄ)®¤¾éª¤¢ÿtª‡LÚ1Y½yÂ)F±DÂõ£ä¸?Ü}vyÌÀÑH…˜À·UÉKðûLœõ¥ñ¨€Q"‘˜þ+ 9!Ìq(¾u,•FŽ~’Õÿ4AõÂüT1L`TòÔoòXš‘ÎÒªØÞ§]æETûø™íG™©1‡Y,ÍÀe\½baFv/ãÈÔÎfþeO!-[¾ ·’åàÇÃ"å +š¯tÚ#¾èm˶͒Û׳«±~.ý"öŠÙ±J°ºDµ›®qÇ[“®ÎFZ´Ñ4r·|XßT`ìèݹ~gâî'á?Rºäð›ýñfɲEP`Ç> endobj 164 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 165 0 obj<>stream +ã¯Ãžu[:šÆ_$|QCÓ ºþ]~ Ô–ÅZ‡Yv*„ÆC¯Ì?¶•kZÿ#õv*±×B.åC4ôq—@vØ2Ið Êß]<{jª Ì D4õ³8œ’ò`U~û{òñ§¡Ä|rDf^‰Ä©©Pòí>B^ Áæÿ46H Pƒé¬×«sjÿi5¨@Ê™¾<ô<4c©¬ájÉs ICfálàÔäªÒ®ÂÛ×N–»ä‰»½©UïÒ|¾ŒnspF¿h=k`þ¼f[tïç*ºc u%9?•Gl3FÏBਯҙàXܬŸ0CÊý¦Õå2†˜kQÞZ-e›å[áÞÞ£©;d‰é3óTx2•ÁÊÿÕÞ›ëŶežô|zÙVaCêµgaŠÍkŽ + Ÿ‡VpMLòÊq”5<è6ÿ~R@;ÃHÊòÙî hçí5ÇUüé›<ÔÎ7ÐÞù³ªÑ-‚ÊÆV#m­éÌTzEŽ=‚S®IOÂ+Îzª-ë™ÏPwIÈ:LÍ26¡½½ù¸8¥vï^5g”¢ûåkUK!{GÉØž¤¼ŠûÛ9@²À°ÌÕ†»½’Ÿ!z’TKÇÁ9|LÅ9‰„Ñ”{Î[8£(*—y…¥¤zsë:j"Š(ø05û)±BØïbËS=;IJÊ’R *k¸‚h…ð0fL£ª¬ôëq!¶6E~ªïô£ç´ýB%*@@4É—ÓV÷o)š/W†Ïƒ‘Ùôt÷TÌå»»Þ£X—£DÛ Õ½Ê*ãÝÔAžZ¢Úât-h>9Ë+5ÊOjTèÍ9ÈTœTœ(Âp¾€¡¸F||œwXôªÅ1Ü#³¼R1÷èhš±z–õ³ný2³Ä(s³dhD¹s­Üªµ¨ÛÔ÷¿)ËÚ,&3¤Rà+Hu‹-€Æã浺Ž;“‡©KÏ?¤qã©ôlK¤¦ùgtEX.¨“† áèÇzÞáy—fVãoÆ4º‰§­Aˆ¹SeשÒNÝùæ8l䜔öß’‹0Àõ,¹¹RªB³ÌùÑŸ·6@Äù­Îe’#¼H-ä(KÇÄ=š]×Ì —F„Þ GeÌM„‰Ö-ò©DC$yΊ&£…³ Üœ‹£ÉšÃòüôþDn^ZP—t4†Û߇\ñµÊTu’§Þ?2}ø9Œš²}3ÿ¶ÂBÅiP0a3øðNšÕA>•³"•þÀ¹ÎnÜ"ž«cGo€¶ƒƒ‰ÿ¥"’°Ç=TñÿVi^Þ³ÎhQzÖ™™¶CÒÞë>édŠ… t1‘Eh¡^Çù´0;j_‰áä/:r"ãæêi^+a$ó48µ{ÈòTêõ¶r•µj£LfåЩ«É$Êk˜;Ö̾1³Œt>¤#챓$›,ÖƒÄ ß•—TrR=ËHrìÌBX#š¢ú?×!Ñ×p>CU!…z¯BÁNbÙúm| ÜÌî(×î-U&€Lºª}Y‡*ÜtyëÎËë rF‘«ÉU¤ø,·¸šÅ$)l”[œ×;ŽWCºÉC€«Æ¯Ìƒµ.iäÐêšhrá_CcrEÙ^£JñÈ·F"ÐÿQÛ=Tw“Â1@R„º÷SÖ–y¹;\1ã| E¸Ì€Ã«˜È˜Ô;yeB*µJ¿´—¶²©´É«Êø´¨ +ØI­FÉ ùɪiÁPš²±G±~Gíhäå Fhõ½Œˆ]öš£&úÍŽYD_Z6¡7Ëï&®âù4^jm-™{©úñìf£ œµðAÀ8@2Sá;+Œ7 ƒÆð,V §n‚ahö'Ýâ|_!Y 7ÏË—´n´Õ¾WûÚ)Jt[ûóÖèØ^&"Ñ°ÓÏO=å× H§êÕ^Êê`¿3ñ]tD±0â“wÑGŠô8=¬$ûÓVÖÞ Î¨¡ˆb;]¨El@ã}R=.ÉV”®Üàù)#iÿhÊbms˜¯~ê8t ¯Ã›å¦€Ë5ÒƒJ¿ ÕqPÿÏƈ'ûصoÍsº "¨S»¼±“Âóf¹Aûv}ÓÈ y8[ Œí_ßkÈÖ2ˆ}‚’‘¤ˆ]Ý&°0@ÕÜ´ùîD†§myW.°:õUìD±÷_׿6¯ëônªÖ:ÝÛ*vXÅ¢™Ìºu¡¢šƒee\;`t–0H- YÜÌ‹˜éX.¸¨èƒ,Fž˜y€ÎÅãty<¾qo7Ñ0ö£g!ÑÛQÂÉÏ…Ð;gBwï–Ø‘:цœì/èx¹aµˆ2¹ä^êHØ” 9–¢ÿjP¡ë©?œtÉCPîMÕA7ï­`Âf˽09>#ÿlþ)PXKšŽQ¦bæ½%W›Ñ‹ûˆ3{ô§l0«…Pbº> €‰ó\(Ĩ6ˆ«…ØoU‘@Èö†¾JýÎ!M^Ô.7«.¯OJ›÷$É…ðëþdCDåR\û\&º)½úö¶è©?`ySûvÅÑi§u¯rzI)íqu áÙ ¯,7ÌM¸µ5Ûô D]|q‰ë'wñûûæ™ò-˜ôØïåI[1”¡`n«¸šöϹ$‡ï‰á+Ê<ëÚaq$bw¦j½B±¤Ð$Ä0*c—·}Þ êb¾Fã¯Ao,žEVSò¢ÏxRj‰NÕªŒ^¯¤ +7€—b¥®{¦@[¿œ¤²´FcÙy­£b ÆD0ߣ³žÑIym¾ƒ×^•Yd辈ÄNJ.” Å;¡Ê7ùÅÕï89vSº%Ó˜Y@ÃÚùÙVÌä˜g­Ú¾´Çy3q¡ÝµÎL¹.¤—;DñŒ¯ª< ²RW‰™«në«÷¦óyg§Å\â¦ÿJ“™Ž<×TV#íjP@Gn­w;ðqñbSf8ÁÆ®àæ1ôÙÈ\­ª `À*ÉݤÀ®\ÑÞBa”èÚbÀ=WíÄH¼ešþJ¤ƒ Uê@r~™%ïð±>ŒŒ‘³¶S7E,»oåWËüŽ]*ûîL ž7’Épmç°÷gÐtX%$ ø¿]ÚÝ¥w{b»­­¸•Æ¿,c_î6Ì»ºL»,¸âv-s I&ê?9 +J~âtÎ÷)z5ù¬®¸®ódžrþ!W¹Å\¥OÔ¦ìoñ†`¨„®º–—ÿ†¥Y„¬Î÷çÝ1rUwâ ˜’Ÿ¬7 +¬ñò7LE0Ú|©v=3ÐM¬}âc¢Éšþjà¿¥1U•>øžöqYS€¶ñlZ ×J¡Å§€¬¬·aF|…øÎLãP9Í8‡_á‡[¦8ý~YÃ:˜ê‘´$¹úEdGÐ"-%àâìÕÃ-¥S™³e¡ý NúiÛeæØ‹ µÍ[LòÂòR5c,¹®g\Œ笈ÿUß#ÎÄEKôÎK8×Ô*º‰†´ÙÜPõq+yܶ2á7S ÷iŽ<{4z oBgˆ„Ô¾©™2ôóô¦ôueæ={ad£å=8º¶r³Çˆ˜ ¢;2’†xöÙq÷fè¬pAÛ d²\àßwC×EMîŽ +kAòÀÇ¿[C2 YErÉ«B„•}/+ðàîpTŒÉ¢P&Ñ‚© +ˆ-“xÞL Ë…”¹ü̙ތÝd)âÜ7n33€»·:á„(¶÷”Uþ Of GPó²z~ä+1¶Õ¹ÛyBŽS+±ùAÒò¡çóßìŠge¶'éKúôogNä]›hœvO¿§v^é¢ÞJ2ŽrE%ªyM³üغS^ˆü£CBÅ( E `cÃ[ø„È ]ȉa‘­O W§ƒ»>ûb9¶vp12œ«§+\^tã„÷ðò»U…Ÿ¬n±Go}ëÈQÒŽÌëZ;bùhåÚP›™ J‰¡Škÿ,¥ ÉšÁæÏí-4„í{ƨxUv„À6 ++¡ÓŠ}³ã†ÛBC#~ZÖ¥…¸u*/ê|ÝçIPVǧ7n ÙÊzD«X/ן®`9ô#Œ ¿ÛÍ,_ ^x4ùÉÕîTʯ¡V çŠü¶ÖYîGU¹Àšù…ÈGšR 8.êvaÄ3.ºŠ¡ºŸcCÝÌ– \Ò™]†ÒCYurå™3=A¹sc»¿¬Cè{ò'࿤¦ 2ÀÙf®ÍS õ ÙÍölú‡rF¡ÉǯœÜÕN9¾#Ô½ÕgÅjÊç%r*–½[gìºÙ®”ø;’Š{‡NKqÞtU§û* Œ‚Â,9;r¨æÛ’ÉS+Þš7rVÞ³ÂÍQRòùÙ +eÙ–§T2Çàºñ iç4ä€×妱rätæcV)}mèYN­™åïÀZ›áA¾)ûºéW–¨±Åð>RäÿQA*±h;¼DÂÇaùÛQ4¹/§J¦%§ëÆýSfíç×3 w<Ô¡Þ¹‘òeóð>åÂÞòóúk%=‹Ÿ>–N_/I .Ô k4Ä|ï¡[*zΩ(Q'Û6—3ê˼; ƒ9öÞ9Š…w®ò|àúCÁR¥R]£æ%…ôæµÅš«^Ž¿öÔº'–dØ;‹€ô‹jÍ!C‹O@A¼¢¾ðT¢Ì J "ÃÔjõÝÿÒdÿJ# \âÖ§ýÝÀ”ÁZ¬Ö¤ëùtÝ5tYUŸ³®<ÝÞ¢âˆeÞ‡?,~X©V£JFü.®íìhù¼çBÜÏ>¼pygmñyOÎ8ÌÀÖ¶¿#%–w…ÇÙêËà°nnßs¼f5äˆÛ…jÚM:í%íâ\þߧgÈÀô:Þ‰ƒqt{ÖñV©Ãõa¤b ,# Èr™žóU a£cRð*}z±Oš{ï©×¸–ºø9.hé~Õ¨GNc ÏRºúFp·Þ xàyè”q[UCÙ «8®Ò#^E,=ñqÑÒAV÷oòÝ…EÅ:Z%bƒ6ï$·3 *ã„ÁÅØ@v”…V1ø Àh8Š@¹Ñ°h¼âÕe0ëÕñ¾´Þ 4h_`°ƒ¸ Qä§ÙØjÖ¶È'ûÁUFu¨¬ñ&cú܈ŸÑ‚óW\›# <ÞßËŽ\=Ñ6—R½‘¤ _H|FS¡#¥va‹me;ª±>?˜5O’å&¬0•ý>:sl½‚ì-%àÑ¿‡ ÔêìGÎ7rÒò{;g7JR€µqN +3Jå†>4 ø®ÌÖt쉲n{.U‘€do 6õéG_»‰\Ž Ãz~C)ñJ„Îß +4« ˆ­X +‚Ã}T”Ö—e>2[:<žbûÿ.¸Åk­;Öoœ5Êrv–š­Òd¤ÝÿJh§0œ ý¯ÜâöàPUîÝn|1èŸ}Æ^2ÈåpNÖÿûl—1ª¤…î”ÅæU3üÁ'„ç:¹ß:s¥ê»“Á¯íËF‹ÑÑ'ΕodrofžŒçåºN7¯\*涒ñhvL…ûÑY]Çf½/AÞ–8AWu>ç¼Ì "Ë_&»$;Õ˜®xÆqT¼~¿×˜„éÝò=¤éCò&ܾq¨¤ +.ù$R úøÂ?ìáΓþç¿Ý–Ä=˜n’,â$+Š®kk’©˜á«—³liÕŠTc\+Wv=¸õßOë#ú¡–³ê§²WS³Ofàð/ÓT~DÎÖSÒ"è¶pê°ÚÊrYY÷ÁeV´â)D +åƒSÿº©Æцs$äícyÆ{—à}qÇã +ý)-®CM>fïN²ÐñŠÎAÈÄcFc'Ú7GÀ»¬wŒû!)9 +,D4ÂÊFHŸM†aÀ‚œƒpk–q³Çzœ;“Ëþ°¬‹Ý4k¼©±Ï?ç߯¾ƒPp¬é„ÙÊ^Äñíçg¥­-C®iIy“SL¾ãЗ¼IݦϟdŽRõ8E<~:Œ9Pø›ä‡nrì>Ï(1«óû^®3G(FĨa°Ýþ?Ä#Žã• ®¾&tÀ×ÆpFõ›~Ó>1‰µ+w¤lQuÜbâR´d¿TXZ"{oÂΙm ÂÚ]e0•éÝî[Ü™åFö¹DTp^ÓÚ¾Ô("9 +XJ:¡•ÙŸÈ”—ªÖö£¬†Wá…Ϲ5ìô¹¿žFàÑßr‘Ld®7V­È=Ô5Ϲ~z£0~×7œ_X ½’*bÂÙQ"GÕEaä~¢€?N€âSS¨ ’Çé‰l ú?$“(µ=CŽN­É„5 +endstream endobj 166 0 obj<> endobj 167 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 168 0 obj<>stream +ϲx`ût +.¼×ð6¿Ï$”"½¬Í¢@¤-M—š` °äÅïÝ°XiJ‹BŠ-ˆœœ¸¬w*kÊD!e ƒö‡õͼòpx€\*z›Vh­‡ó€$%cƇ]Z/Ãx½1󨾎$Ñ"UH•Ó\‹ëÛ`OáÝšÍà ¶\Ù^ÿºæ×ñPQ½?{ý+4ÑjoÔ5\41[Îóv¾D·†¼›x3UÝÔ™É-âÓл{´6W?oËH%¨ÃŒÖ¬Ñ ñBÜŸL²}nIŒÁT„®ÝÙWv¸ˆc¨ë›ËáÛz5Õ7µ{„±¿·RÑÅóဒڃPV!ÉÊáæÀÓw6MŽ¥Wû>úÓlÝëM©WaˆÖæáxåôZ,Hzƒu<»àÛ/ öÃþ£µ#¥b©ÝÌÓíKn6 Hyt‘C²9|V…Áö¯D %–·ÀÜtŽ¹FèÖ€)…ïònEJÖÏñ?(f—œþYè¡3Íj? íç¹Qßèç†B‰lký-¥YT±(&’¨’ãöêq#¿ÝŽ ?‘'mS¬^0›‹ä÷àúÜ‹ý… JÔ{•6ô"| ²æ¬ŒžzËòx,,¤7M`òh„ØX£û‡æGö(ÚœDãéX¼Ród…Kat–iÍ:¡âéÇû”GF‰}«•¦ØÕê’ï:e4´x ¥ßj Nj‹†ÉF±ð ¯xË‚®³pƒ0AôpkHEpq7±Y¤o\÷lîäA7h$Ú¹;ëÎ,8¡F®7ƒ01sïuµã+nœ#Šmœc?nµ¶˜Ó“¿•j³ñ¡Ç,&¾üŽ°BÍ\ÐX1+$«¯¬²ÝV­ì¼|£fTKØ4è ºÓ¯À¢J™­t½n Èœ"‡6- +ªJw:§²9`ôWëOoFŒD®ˆ¸PØÁ \¾'“©b‡WyK•äÔ™B”>#Á»pšmX|afÌúY2²žå7T±0z𵎓Ñ: …ωÜf(–£Yù|Qö®@Ëë#y„‘åW[>¹ˆîvǘÜU+g{”7—iãþ'ѬS½ö'á>WôDœµ¡EË5¶Dø:»¹W³$ 4Ñ«Gßüó»#æ•@x€Æ©t@íŽ6¹ò\ãiŒÝ‰šÖþ¡òY“&Ï~)•´ROoN#øÓHÍ‹K ­ É^`ô8È#«4æ$¡ý8Okî˾pÌ*8Žâƒ{ÖÂwmµ,x«g'*eQlnìL™\K†ŠLd"_ô*vGŒ 1¹âÅÅò½%¦rÜ4ü–ÇpÚCÓG?ëÇã + µ`&óçöÍòѵÑv ˆ=63Ùá—Nœ¿ wSw{ÀCôg©A›$ w¡îh²žî +_ 0.•ÿœhëÐÔüsÇ´ÿá¨A¯Ð°¹AÊâoK¸9V«Cƾk‘ƒÝÜ-ì’VÑcró–p×™°¿Ø¼….d©¾$K|ãÏYŸˆK)ß¹1s÷Øk”§ëiF,øã9Û|S¡IA¦žÇO‘[ÁúÙvÌg1„3öW$¬.¢BPð0´ò@ðKÛ‚é/;m¶ÉŽ;ï–Ÿ±lsþµfå‡C0}€RÁàW£¬?Ù%¯Žœ±;¬R©² µ,Nl¦È¹€_‚…çÜÀ^zF¸s»Ò(>'<½}}oÕÆ|,¾êþv|S¼ÃÚVlûQ+-ù{ÚNWaß(ЦÎd0ö¡J»¡ÿœ˜ßς怕'£1ÐNn~JL'žT7ïŒ5kkhóôôêbhPƒ `èù¼±þ²“\Šqú =œÙ¹Ç ²É„`é^¿¦^ü_Yõt +Üv(ÈÐ_U`GCü T.×4•ïAŽÚ¿ÄKا¨½W7®jÜ/ï¶1d÷@£¢ßoZd…¬äŠCÌàº1âÍ P*ÎñÏ 0|®1. Uù–<&ïm‘¼§8"OÈ_ÊotIÕ½Õ:ܶyØ!×ÁaU‹¶|)Àr7VV;œu²3sz)H—þ ©ÕùñµÆf?zqT-âéŒÜbV´Ýƒ8¸í3Œ‘m¿oŠ'¨»ø€IÖe=¨<îÃi¼8ÊÆ& ‹ß:^vÙè÷ÓÇêÅÉn9 &i8 ¨o*Ó~\J<šCpô)É\›È¥®îo`ËÑ_íN†É£;á\>&¶¯xPJ¤—À[b…à +¦“98& ñD‹ì' ÿ#ŽCW#[Õxúpçý¸Fsí(bþN c® ¹Z0^¥O.ͼ¸>§Å·JTðLªo1 +¨Ô/þ4Jõ—áo:ûÁzï©Ï$aÆŸ(ª)›ñT@1»”ëÐu]¤ù< B¾¸kk†: +Ça2ØûwÔU”zX+¢…<¹á¯Á¶ wƒnÛMFi`Ù<ÄñH×غ¼‚%öVñkQ‹Ú^7 þû=¶ƒ PjÑ)O£Ï• J +hd0>?¥ÜXëÍ?ð®ˆ{iÀ­Ø%—èÃ"Ú’E®aþ0}‰¢-û~_ÕÚ¶ƒNÏÓ%ÿ(“BûXT˜ñöë6Õ+ÍŸ”hfã§Ð§äŶ–J¤òW•F¥`5…´~ôQ)V£œ HÄÔs‘ÛHM¾ ²”Aè’B˜ô¥+Keâ´LsH}³¬)5lKÇã·©3ÎßHeØ»ÅmkÏ9$né#U0>RD‘ðjv{e\ñk)¾.Àœ;÷oEý «ÉaÉÀ ¬l”Ž½ j›@AK¨ê-iÂÃ7ç¢.ù&åZÙi}|6æ1W4ŽØcû ]éê°YtqU +ŒE¶¹|“š¢ê@ÚÅ/#©cÒãI~'i~½Xà‘ÛåC)%¿òÝõ•^Ȭ†Í«0òçÃ…mS}ål‚|H ~XA ~q`ýÚ²p½”é}¹sDŽYÙyo#*#¶»~ò³f’‡Oþ-éÉDÀ0JÔÆnïlཕH侩¤ +DN;Y—{Ò1,|[´Ã†~=þÆ·ƒe‹²áëNé©]á$c¢`•¶Ä0ëƒÿÜâ@ÇK÷É’½™ +3àgˆô rñ)ÂÄXf¿ì⋲÷ؽ̭ÒvýFSQÉÁ‹YU#”•Ï‘F>çÔµeT ´@Ëhª˜)Z¢™óÈæ«ÛÀ°§XªôÛ'«%sC_:á÷-äÚ–ë$µ—ÖwQ¹-WY¤ËŸ†C8&wMèźöO«ƒT +0dìg›:¨DWôäíí ý¤ég ’Èš§,“*žÂæØjO1Ü<ÔŠøqº‰§¤—D A—é ëN7 T;V¦¨ÒZ;çéO0àtkiP^û?Ðó,ä¸BùÚšvõC¨r™ñ 'š@¼%Gûò¯á975ÑÃãOèJm¹Obe·$aPeAÅ8ŽÃÕÓÞº8ª”.á|ñ»Ü+)vD‚QÈYÊÿ–rž4±<^¨:Á™´:ÛEn žfÙVƒÁÝ•»ñ«éäSÜ9èà³ F«0;šhjÆÙ´ØË‚;l˜0…:Èg +ÒükÖ?‡º®þ¥±¸ÐTŠrà.÷Üà ÈzˆÌ¿p¨fãüm$,tÊ'#;”"N‘¼ëH$û €0}÷eç<Ô{sGtô*?‰`Ž-b0G5m÷Ëï½,¥fŠÚÁ{X)Ù½ô-d”lLWÖªê¥åØ`Ýä7c¸|iÖùùXŠf.™õqů +äp +_§ü~JÏ~úÁŽqW¶ÂE˜fëù£ÆÎRðw`úõ.’ Í÷Ù†®G')ll.Éq`çD=×G¸»£±¸–1È L'Ÿ×œ]Ë + ×Rdc4U¶½~‰3_w\ë-®ºfALCÒÕÇÁ„…¿ÓžÁ§A9»vøêßR?§¿åÁµ•§ÉåMg¦=Æ„ÂṴ́ϼ1¢¼bð„帄ĺ8úëÜC`ìcœµ˜v3Í/YeÌœK +Ò®ÊD¸~¨ºnGåUdЃÓnEý`<|Kk"¹ÓÁ—_>ç)ö¿·CsÝ3 LÑ2áâr9 uI³X”{¼ µMX—l P´ï}l2Ðo¢X‚ödÖ#™]½¿&/%oüãcâsväf¹ •®ŠªsèÿO‘¿™Xá­2ÐîÞyñ*:·Hý4Öݼi v\úgÏ/;Ò¼iÔþymŽÆeÖ©‰w´Ð;{á¹sÍ)îÏ\]qlªpÿ/. ƒðrW‚,Δ ¢î’ždá["]Õøõ,dv¥0’`¦‰ !a@D¯dÏÀÁ®‡Xð–iËb‚¾$mšëá¸iöÜèýÒe!XÚÔ%Åï³<¬¡ëúï rðûJ0¨3vÚABò…r€ªÚM4}ïŽZ¦¬ªF ð}næë>Ë¡g¤®ÀÈÐ.íÕh=D1ö¹Jÿ ÐÒPêöò°ÞèþÌbÙržûœÔ`™Kå“naÕ²Ú2¾/ÎG +endstream endobj 169 0 obj<> endobj 170 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 171 0 obj<>stream +††µ[Õ+ñz ‚ÕeèѦЌ«´úÎ2p²£çÑ®¬sD•y¡8¤ ñ<Û"'° m—[i°ñÙZZWcÙ¹9¡Âu–mWüZLà·àÀ ¤~Ä,9ë} [¤2”G‚Œ±uŽ4‰Û/U‚B}Oí +RØnp[é9¢aU+ñ× +íÖç€,yÐ PU:o®˜ßü^³A|’ ¢<€i!S‰†¹Øî3f b.¯ÄÜ¿jŠ·yö2‡¾fß üMR‘ +K»+n§+S$Ð=‡Nß,ÿ¦S;·œÁ^""ò© Q¨F?5ÂQ¼Ø¤Y8êCÄehc%»×®@Cf”]-‡+˜¬‚òæ@™ôäŸÌ¯è°à¥SKl[¥Ü}C +(!ã!Ë°[OÃ&º¯ó`;>¿ÓnKíH‚ eNƒ¨ÔZ;/°wåw‡ì¶Ð¡R!€°P'ŽG‰öŸZ=+Á°¸ÎU{’¡ºkñ•Ía*å´fèh¾›êü9ç®9‚2XÙÒŒJ7×ÚqkªÑ*y]O ì²ÄPÑãúkì0žyQ§!î¤tów÷ªóÃuĦ ôìjQPÄ%‘€*ŠÑ{ú]²ÚUù° L­Z}Ë¡EQi-’Ýe')d³f£Â¥3”µcáWåÀ'­ÚâÅÁ¸õ2?×ÛóŒü=†¦Ò§wBŸÆ«Tmå´Œ”~…ìIиYRÅx+sS5Wþ'Z²þ ö}ì‚zQÔnÉõÊty‰.!F¹IgÒ­áú_¶Â´†Î×xÉÎ2½€áú0®¤=Çþ¾ÝÁôtøLÍ#%—ŸÀŸÐ’ú¢:£ºHKrIR¥³¹Ð£Âc •ã2ŽÈó!4¼ÅÔ7ÙýÜaùݯþJ 𸄓Iðyùˆ•Û×\ÛœÞ ›Ë¢¹c¶Äd{B¶÷9ÌÖªC–C&wì0µŠ-QëIó¤³d„ûÿqwë|a·«Jª¢âCµ“ëÇ<¬›wS¾Úf¸Þv"uþ@¥…é欌¾La/†uvè—SÇy¿ ÿ:^ª å CاLÜKHbóÐ×4.[@]•Ó¿§|€ž¾¦ZÄ,;—Ïjªí­<R”J¤¹˜Ù¨‰ô¥e¹`–4 £œÌÎÛ‰Ó4æ:ËçvKTÑÂöN(®Â6eææ÷nÊÕ†ÁNŽ5ú¸Öƒþº!~Ð3mŠîVŸ« +o=¾ü²ÌƒŠ–$VD"u:¶²Ê ÀœQÛ«ÔGƒÆ>æ^þ„¹ØÅÞ7å¶ð’ãT +Âs^`¤ÊÀqØñ9ûEñ +¸·]a¥¾œFANvúŒÏòÝpÆŠ¾'Ó|¥vMÓ°g¶E_Q +ƒ~Ø[°š¿ñ3ò+VL%þGkýÇLb¬ÃÞGËMä™Üõê礽]‰tîÄê“õv ª©;¯ò×L0àÃán¼!¦t,¤$œ„$gΈsU³@IIFô>“g•øúï8Œ­%cá‚ò«¨½\„MiÌš—J^N‚­E—ûQ¡m{Ê®Þù«'&u©'™¿ÔâpJ'â¡ÝB÷GºI3>F¢nbº¦ï·eJ3L®i¶«ÒoKýìëî ‡ø!÷j“ +«9"žÕŒ½ÍÊù­XUAYæT¢ÉG9îÐP­\¬ô"P³Ìs_š1ûáSó͉…C¼IO–\êÊŸÂ…Ý®O°áV6,GTp¬uP¸W”Ö[çTT/šºªÛ?»†‡ð?¹61#}FAß6€1…[(½õ{ ½ü„4‚Ëž©‡Í,,Ú¯:³|¬¯^ìðx˜£dcµ;el渦¦ÀšR$°K|%5Sjš0cF—?ð¥¬ÂÓÜâÊÑ +‰ƒE¡6sŠ|¨4|ÿ"ÓüÚ –»F¿÷ªZüÌ[V…{R{:êU>ž1C“WÆ­"³³³ô[Ç¢ˆâÁîgå/«Ý6ž×NÄÏ{‡eèú +èÊ‘-À·kvLW=œ¨SèŒ3ÈÏlºoÁD ŒÔÿ«þJnÃéTþÛ´þÚº©°–³Ã¿íí· MÞcú„«bíã%:ªö™aXåÏÞ*Vf›S†f,¨Ÿ³°=¸2Pbß&£§ ° לfK “øZ4'8ñ0æ·°O fæžšÐCɼGèLª?8HÑ”÷>íMºer¶mwÐ<;¹^ÓSîÂÒ#àûœe3¶®n½Ä½àXÞßí‘Á:T×FýI‚MflµÇ¶êõ}]û LÞ”@û¶Ó­žARë›~Nóí·ï›%j M©JÊ<7샜ª[ m´ Ñ†î¯ïùËX´ŠunjêùVÉÓÿèzY8ÔVuoåºlê?þ- Ÿ­MlOÄ/d°Úôùùão~×ðÆÏÿÿ]—2p~éNÜÞÉÍÙ­Í/ê½2²)”½‘Î]9©eéÖÀÜ•.¦¡ ;ÍÄ8mW>¤ºá³ûémw [ ”ÁÜ."qB>ÝJ-ø¥¥é'l2Ÿÿ÷ªV÷y¢K1  þg\híœóî*§¦g½ùÄCÓʽð, é2Cðã¥*×ÆlÚû"ÿæ`sRU‘ƒ¤_ŒS,,v9·fÓÛ›< â0ÑV°gi°©ÞÉI™¸zš¬¤Ap™ƒHñϲw^_Òo±¼X´œó5êt]Öd¿qK†\Ìt‰4Úu ÁÒ™kÌ#fy: *(Çx}ãËÔ / 6oUâÆW*Þ(ȼô6.s;^Ã&V€`Ó­¥<œ¤ë.&‘ëXÉeuv®þçè–S…]Á>RÒ{P_aê-PF¬:Þ¿éÎ_Æ­šàÀ¦,^0ƒý¿'qaÎ4ZªU†Áˆ(ïn ¯™¢ [f7çìÕèy-ÔÚ+àybÿ…õgN‡îÄ”Tîw ˆÂý0í͵¿o:Ç%V[p·‡mfA¹ZÖ7™VbÆRª½TaóÕxµAêÞÑ#?¼¨/"0Æ„€õ†%1dâŸEÀÕ æ¼aEœ,h|r(T.£Æ~päÐœäkA`SôŽ±AñKn] ÎSæ-<Á@sŠ\ð2æçLÅìψˆVø¬dªºg†õ|•=À`Ž‘Ìc&™H¡¾~¯Þdš"YÓ”¶T I…hUhÛ#çfä»±|»ù·H*¾{3/̽˜?Ê#ÜÊsìè“ !”êk¼z¤°¿¥àtÏç?ÀÆLâˆ[4d³LûÌ1†  žÜÄVO•Â%N/à]Ç»¡¨¤ÖEâ´y‹ qV–@™[Ø#ב6›I9ûk²[ NTàT+º `êSú 8Mwç´;!cŸÊl-Š§$Ly,AMC+b^H:™é…(SãvÛv`nË5 å›ùÃ5‘;ÌÄVÈ°uRV¾=HR(pv‰Ð/¨AÌ¿Û5 ï7|g¯:­þoe–r o~{–G›uqx&<Ì_ï¡@°†¸óŠ¹©ä(†þ͵ÄãÔáÙp‰aÎL×…©ƒê¤{ºô€¹yÉ~ñ\ï‚óê!0L¸-˜¬ ;à÷Åý€Ö Ó÷Ç `ù²ÂuÈJ–P6¿ÿyO¹ÂrF®proñÁ¯@oNhíû„Ö­æ ÓÈ +ìö64å‚ëü>o'Î|—åìC}ÃäÀ‘ë3™o¦´T€4¥¹0j;¥ýà1φwpàòNò榡[¯^uFx@wèJí™!‰¨W47a„ô­Èû›{6ñ/yV&¦p;šE.œ ð3xGÀ½ô„àŠ‡ÓÄŠt­Giæn!„gi +"âÃq¥$qàÙròe@°ž^:A(·6í#aýbåCsÏ—ÌX¶콤v¤(5~£A›A"¦Ë¬9»¤ûäØßw×Ù"b\¿²¼TVxűIOžá°›‘üu[áÚH¬í™'ëuEÓ¨þè† |ý÷Mi6ù‹Ñx+È–T× _ÃøuhÕ·—e·háQ±Kî"Ë÷_ jžÎó:ÿ. 'Xç&c'ê›UY«X ¬áÉx<Žò#²Þ!–:?Ÿ¯07±ë^ +]ýêÏçÉ°+XcLê €i‰ÊÙi—ÐìÓAÓœƒæÞy[AäpVup5`¼eÝy,­Z7f<8“€pæ¹Pk +L„•¸oÅ{ÁP XN†Ja]~D+@Š×Xô’jÓ3—`Ç?üÑæ›\jÞòÞíæÒû2R"ttTvƒ%lT>R¬WÖõ-~k+$sK1$¤VKW6fè)ütºEj¶'äPTœ0YE^#c&åËò&6ÎɲAŸ*ŽäÊåÝŽf<~Rë`ûÏä¿x©ÑÐB˜»¬áÓ¾‰%p"…ä­=}iÉ/®ÝçÝÚç<©VYVGÑ]¤ •Õ–™›ÛÈÐ5Á!i»8Bø¡X1Á‰pW’Ü™³dëq—|È éwJèuݺa(dDÓÙ•ÒÕë®exÑhÄXÊÀâ/[Õ™rI—ôgzYoNU‘Ì­UìG7NžméŸRe;MŠ°?A¤”¹…<.K²‡»°O<ýÄïJbw8> endobj 173 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 174 0 obj<>stream +þ"˜“ÛÐÀÜK’íÛB!&ÍüƺºŸ8°QXQÌ£(ã ¨ÑÕ¢1G!`>¤ââìnjœWlÅ©’LìœËtp##èPäÏŸ²« ¡òDÎÙÉw³˜‘ EPÃ4£\òî +’N”óÝã˜I´@L,[áõ_E¬ägЋ^øÆyPd ¤¶ ´êÚøü©"äXñËyÅÓKt”ÁÈÕ‡©!UtiÃïöš…ÃÚÍ“çØfñ»Ž\ÅÃÛÈÝÁ†gÁßq0ãÅ´b-‹§Ø˜”Ý=C©wnªÃ!g¢Úƒ ÚËSŒ‡ã…S¤øÔ±%T–E[Z…ãU–l"FÕœ‚Öw n­IH•nÁAP rÙc¥QU©×9¿lJÇæHl¯48A ÛMÿ‚¬ƒÐ~XŸØÜå–äªÍä¶% ñYÛg1Ú“ $J¤©*oú°hÏÿ*ìlÖ„‚#ϹéÞkñL]Šîëp!Bï ÌùUŠC@„ìè”| ¥@¼SÓ»æ ÉÁMúÆ·U¿´{™o†8…@A%¢ãq´°D3&ø ^¡8Þ;Z¾ìÂG~s9† ¼‡Ú ö&¼æ¢.)Òå=‘ÇS³•ÿî’n¿pò ¼âÐE­lB™;Û,‘BÚiœJ”PX™Žç©Œ˜Á磻ó/îû^¿@?&#¼ökÀˆ†ŸF©à?t²]¶—| ²D°Z +@›ŒôÛÍvìL¨f âÝIk`'P"ŽëÜm휮j~@=Ô2Òx¹ 8Û3@‡ã€Â´u=p4$w×2En$ÆõqEÄAÓÚC­©V®N,Ä”³”ØüóI.äÃâùÿ˜75÷UMl’IÞU"÷òí“GºÛ¸Oö¯`™ì® +ló>à¢ðÏnÎ FuWÊB=·DNZQÎaÙUS€0˜hÑ롶0ÑB¶ýtFö +˜zò‘ì"”çî'dÍÃ0w4šw(ùöôvÚT‚šD0>)Ù 9ð¨íCéE»¾G‡™0+T¾óœ“'[Xb‡¦Ú‡&“·%dHZÿ…–b@¤¿u?¨Xt ZS¤j5_aã&\ >âòx¥eLøm\¢JÔá«e:úÌÊ'•?Ð,Äg0Y¤ÀÐø[eƒ +@†xe™ø˜ÀkžˆXÈJ¶w½Ñăú2ÃMISD5uCÞpŒæIõIÝ Èec¨"N¤Í(\–éM†ø?1í ØÄ“ü¯ì¡ðûŽÄE]B!lÇÐøCe_š¸FSeKñ‰êØZhü«™ú —µÕ$ ‰£Nç(Þsä§?1Xú'`µ‡1ÄÄ ÞÛ³HÍS2²Pº‘UZ¬^´ð* :þþþzv4c³4uÂ⺞k» +"áÞu‚JØúSueŽ¤'Éc[¶Ö'[^°‹N|R«<,ó e°ù;)ƒq²©)î<†?ºÍXùD?œ9ˆ8L•¾%Õ¬®ÑËRÝf}k{*Y + ñ{罚ÑP\rq¼õ"T“bÍEG@ïúbÈÙ-+¢³°s’¯h¡†ÏV·!\;:ö¹ +—m’îDµ©à„>*tu¼‘Étã,? ¶8IðiVÃv)DÊ[aàÒ½¶(ÛE\X7Õ­`#J+‹üºÀšnh÷þ5Q%ÛõÝȤôb9·âÕ¹íļïfU°ø;4HôB)ÍX,ì=R$wñÀbºv2GÇæQ´ÈAìÂÒ³àÿ2›«ìËe(î¹s O'dH{Àyö ^x1ì™'Ÿ‰°j f},HözM¢6±³7£À“¼íœ»9:åp¨£{1r-ú›”,ÐlÚR?(óØW"áÖþ ýÔ 5>Ú‡¸²œÚ$CÀIö#6t(¯ì-Ë_ÁìØh²M´ïÞê¥Md¯é«•œTá/ùT_SU‹ýQú™2Q€á9«‡†™º_4!óFAåƒE–§SÝùIÀëØâÂ@ “ì¬bÖu:´%I} ÄKÆ ì/XÍI9Wz­¦r+:¾›H#°ÖI¡+«ƒùqŀ축 'uêNR‰vãgLEÖÊáƒßE쌺A\†¥ÔáŽÂtØH|Ötgáåbɦ¸Õƒ0Ú„7_ƒçøè·S éàÑ ]ïë‰÷1¾_úý^K¾(K3û…o¨à 1¥mu¡Ðó/$ñ×D‰¯ËmJ>†Yn#eJ2@A©&<ö"O‡®Ü*ήtŸ ÛÊ\Y…䎎NusLÙæ‘ «oºË×3fî)›½Vwï|úü†%_~6Û+{· Œ·…мLIVOædý‰E¥]¤* èWÚJŒÜb,ÍÔxËZám$©¬ÖŠd(u—Ò•ëxP„2—pG=­ûnض’Õ΄qãÜÝ t-˜åΰo•q†ðÂÄ;/x›3P¯ÒE¼b‘ágc@XPù“ÚÔK«iFãAN{§ˆ1º!!kÐ?àzÎA0ÝÑFj< ëa÷;r|QÀtma›â0Ðè’Š†Í¹öò­íåhôï D”ÈqŸÔ„ëðÚ_“{…y=$Áø:Œ•%\,³1HÅŠ¥>ñ?±‰:ßÂkö9Ãß%ë‰á¶ ÿôÎä 'ƒàæb]M•¬‡¾÷{íå/b¤êS j_:toEMæYB’Pi¨fŽÖEnˆÒùÁfÅ‚¼1ßP•rLˆAñœ—ëA‚M‹ú}g¸Á{ÌQÝ|÷Êä‰9üIÅf^=Ço‚xÏlâ®ÆèÍäø²OtsÑúbmtÍV~` Kkø€µÊjDÚÖö¥5TiËÑÏŸÿK«¯;°¬°qÐVF·ñÅìKVÿ‹Ênw H,Œ8ñ‹2Æç\¤È’;´:'ÞW|êRKLÇ…uYxÖ=NÔHi¾£-²q~*çºy5¿XAß%â§"¸=Fè+ Üeo4¼Çü^êÚ‘?5ê9ƒ,,k¶kÿ?nÓÙøÐI=…‰Õ-„’\òШÀ Fˆh ‘„,_Q óh +†Ñø·Ahdùà¼Ä½¡ES†ÙX³ß1:3IBl)Û¡ ÿ”Üæh¯£ç€GFØÜ2\À…¿‘°@lý’âU ì«9ÃÄhÂöÍaDan§¥ž89Í©Çͽ_*1xš1GŒ•ð†IHI±=¹W• xѧ¥@Œ‚Ä’¢-éå VèÖ±Qþ…ý±CdÐ W"%æ517ÆÈÛ€bÁúôlÅ£÷ëþ.uu‚GëPÛ¾áåÜøÝÒÁbn'àþxâ{»BªhÂL_½n5ðI UÕãdώ߇=™/Âò­6€˜I—‡¼@YOUÙ¤âÌã‹vo > ·’ w³´#5Ax"†h’ðbÐ6éV7¨£ÿß©-CÈV*±…úGðT®çÒ¶ßÈx͵¸—u›w«eÁ°•20/0Ë^Ír#¯»l0ñRÀToĶàÇpÈß;~Ö+¾õgMÔku­4âªqw)ÿÍTZ"{Þé/žø¢´ÿ_Áxí6ò9É­^K:š«Ïµ’pˆñå_˜.Û²¥'¤ƒÔ oy_wpmé\änœøYÚ\¸ I.=Ç -¹ëGÑ»L*¢Þ÷îbp¹=’β}èRPцæã˜K)(•˜¬ÇÒ%Ó UôBàǧ!||Âÿ°‰Âß”&´U†í¾ÆàYóšFýÖ…‡õ’^Ðuµ$ +¾nd1ó+.²Æž˜û)и³C¢’ /èX@, 牪Zǧø±q'‰Å´Ïñ†å×ô¢ÝÌ\ï¨û|Y9›çnnžÍIPÁW$ ç©€ft<üú®·ü.ƒJs`€{tfè’ïÇ*ãPêax1•ì•ýÙpî²MåJÜ(?¨Ç³x +)U*aÍ9a[óê ó …œW~ÏÃÃ1Š^ªñ˜¯4@„¼ç £­­zVpÌûNÄÂq:V;€-Ί§ª—3*¿\³¼H +¤A:ãØqË%"J]‹€¤&>êƓѶàÂìä݈^¤eœ;vP"M},‰æ‚ÂiÑŠ&-´:ÖpH²&éS5ñD\?–ëó÷ý§¶ÛÏ®*¹Ï{?ŽEökäé„ ‡ŒUá dÉ7 ü"ïc•iæ±_ú~¼5—ÄsÄ_êw”ªà‹^ÄE2ºjc(;’B‡£*}7¢ý%&òGËb ŒéR´(ôâõPÞö°oâë¤7+X#SÂáyH¸æñ +g·P¯÷eÜÕKI?9öÑÌ«õÒ­(4Ä~Ukmª®ÀËŸ˜HI¥»p†m‚¾Zÿ`WMûƒJâ¿þâä³¼Ó#b¡ Â–U+ΛyÙéâ±l”K—•p²:”ç=e&7aKµk‚rhãK½µ\ꮬjr§Jâ­´¸ó0²ºßËÑÔ6E `¶£"•7ˆóŠ%ÍX!e<áA8ñ¨{hSG÷ïgÁÄ.{jÿ§Ý^€Lø¾!u¦vylœ°Õ¦•˜F©{½dÈPÃ2ت‹Î(RßTE šáöÞ›Kw 8È“gŠýl“–ÜÈ9Sª÷¸²ø`Tcõg¬ï˜DS-"ÒCMT Ö®»rÕyÌ.ÃÛkDˆêîV3!M]a´â‘Ìú¢Ò]µvÝõĽ…†±D°ó³ Š]’…!3P+­oo}Þ¼xU¥Á…’8Á^2y1£+å…ÇWÈõV+Š7å”û[~ ù¬@"\| +sÚÿðB æå#ÇØŒÄë øª o¾Hy]9”{Ïìu‡-¡“‡eÈÒ„¶)Ÿ7=W}ò-¬ ÇHŸ£®Ëí9Í”ù·—}–¨‚S¬¬uÍoJž0Ž‹hߟþt˜¶Ë«oÕÀ$ãriYSÈ-PX]cxߌß1@v™­JlÚ€ ŽØ˜}5f%w—|ק àn]~´v阨£!KqÀ“„Ó(ðåzÈÓ3¦“$lƒ@MLwm¿†­tª~½#ˆX@¯Deü-š(3x^B^¹ÓˆÛú[ŒçÕ(üŽ6Ð"è’uµíÏü#’œN%Tɪ/2„°SkYM\4E²C盧o +&ì]É?½¼Í +endstream endobj 175 0 obj<> endobj 176 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 177 0 obj<>stream +qûýãþáúÔ½stE'_áúï<Äp(™KóóØUOäa˜¡®ç! ŠW\ºŠÓÀúyà°Òm†ï4·1 -¬TØ(⚤(µ–þ°wlûÇ‹é£o^RêÉÖ4j­þzø.Qà·æô,Aâ41V\sõÅ\×ù¥a`}h$྾ißù Õ‚9›w‹ÑÖ +4v› ü”Œ®qŽÈìðýHz+;ý~V/ç³zÕBÞA€¿³Df¥Šgé"ÈðÄ;{Ljö_%4Ža2É›ÖB‚#é.Îo5dZßjšê*­{úºHѼI«¡>ÌS¶2R—¼·íB+ FÕ½³ðCÓÍAFN©Þwû”VŽµI±[!3å&é‹R“W™uªü ãzèÑ"ž ôé‰ö,/|¨:@ä† m[Çüê!'..Þ š˜€‘·¶©þãù/…ßfJþî_‰Ó;AP»²Gy¡“ºÛhJÛ"2‹÷XO‡ÉPŒ¤ì„ÂÛ['Bm"àÉ-<ñOÄé%âSNÌ6g†û"ã<†‹ãØ¡j•Z‘ïŒMÈУ¯™è׫Àøuç&5?žþ01QuÒY¡ÒïŠÑß.'÷¡:¤¯2d˜¥«²?i:›–.Z{R|Wó`=¡ËÛÖЊØk>ZniiÈâŸlÎÔ‹Rðн +ºC‘’w˜Çþ³&óz”˜Þ)á- ÁYZbðÜÃw“3ó ª¯×üäR oŒ’\Ö5/Cß^M ïP ýˆfû·%8Xjy¶w¦¸Œëqé((©D¾(Õùû[àu¹šbò’¬FB›øûã2î·±„ã¯Üò$+9ŸO#@âegUBe¶Cb!mL4kû²±xÛ<ãÖ‚}ë‹E-UÊÙïÓê±NÇ ì<¦Ê“üÐÍÈüu¿µ3ÔŠ;mC}rúò«+2âe2£A)Úm'È/-¯'…&„6íKVª.Ï“&4¹ã¸M§ˆM†Ž^ëÂÙ>jP¾Þ +ÇL¢€˜¤¼”P÷ÈŸìOxãâ•ùØ‘èT®”-ì7œ·YƒÛî°Xÿ¦è…‰μ`éõ¿z<¹!ûW“å`ÁngyoÖ(a ¤J½‚4alØ*í.Zb´‡ízºÅT‹ÿøí¶uêbþè<Çðb‚éøÿ—ºùûÖW°_ÃÏâM£`•V5kÞÙqOÖŠÍíʼn8Ï£–tÍ‹y„ÖbãHÄ# ¿¸m4¤~¯= ÃçC„x½wÚݘÔâ™åÎYˆ›tánÒdJ·æn]¶uÖã´/²è#Ó…Feö vãhªç¼ÑG6QE'.Hìýx /&86˜¼x¿îª@ÙrVÊ.QˆÞæs(À½Ö2„:¦@d“e`Û$;´tyvQÑÒ£¸ûÁ~b‰Oݘñ@†ðµŠƒ%>R8ç©š}}‰D xm”¥Âü¦Çdª f.»âù¯"å1î·GnË9ÅRô À÷'ÉÅã|5àvºà‘‰¦¹Õ1ûnDkð~ƒ°]Æ0~´ly“(Ø…¦…ÜtlKŽ~ïw\‚dE‹1cw‹„¦™ÃvÅt8lü#ûì&´úåw¹ÎÔŒÝxƒÑM›x´.¤-møaôP¼Y|=$A˜ØÑã5mÜ4sckùJSeF\æÕ’¦i+¼ûò„Þ„[­ÎÓUå± + ¢­º_òQDãƒpÓþ!,Ë!‰ô9½Gã¿ %DÞ€¥ôTFà¥beÚ6šíÀ—Z˜ÞŸ ÅŽÒUÆò®#v|‘ ¶’¯D¢5󕑶÷?rÉ¥PÙôûô*Bµ,‹šïl‰ßyWÑb†ýbs“Ø+H2èÁ«s£€ŠxTçÉžÖáof+’0b@Ñ[ãÚ1šìFf.4i>SQ;N*-–²ÂØãaÙãRÐëœÉbG‚¾€ F™Rn`–p»å¯å2ð+›³±‘/IÕ£û¤‰J¸ïöŪ°åÎ +Ñ­€B¬Z”>Aß™Áç›[,ò„Šü3IÞ +èBÿKšÍá$m ŒaßçZÛg¾{(×Úñ?Å< +ž“h‘¹½bùx×¹çðrèΉßaZB%}¤ºÄ°púJK7¨V»Ñç„?qz øÚTÚ_<†Ø⇹›8Wg{*ŽÒÁâ[IÐ6ÈCì€kZWTù¨“. iïó:¬Ó¥„f\òcqk쇂ѽ´®ñ‘ý@麡™ðX…éõK(ƵCPZ:‘;9Ó„,‹zÇäøå?‹kàéufÆ€—´Í„zX;ol`'ÓF#úAùD¾D FƒUnÿp\ãYI‘îOb˜V£ÿþ–o÷{µÖÇAœI˜„ÜCilp „ð!Í\«ì•üØœà‹ü¬‰í$8\¤` y +ƒyÂ0–-86|ådE`+—ÔMreI|G¬1í@mö»ª(ˆ{×F‚?‡»/Üìrwˆ“QH­¿h]Œ-Íún t\ðl€/†V[¡ˆ¹–…Sxöí^æüÆïæä¶ö XµWdOl¥h}E°£ù÷c±È:ŒïáÞlÔÇ3Ûüµ4]ÙÕ-ÃÄFѼ%åÄlÞRóú2¢é.Ñ„Œ:òë+yøºÑÇ}]®B~Žµ*½c³“"ª®•ýL(3 ¢õ¸( œF#T-^u“!~hôghà—bi0Ë®Ð!Œ®Ðëß/p/Ä-êFø5~=}uìhj£A—–f§¦{5¢I®Iô,;ËËþfR½ßÉ£6,÷aƒëLˆ·ßG!Cž ÙÝŸèOh1sÖô¶Çöx÷×R¯ ß^ʶœë×÷ˆŸqFWÓÆ9} ÿê—Û±®VLn?Øù¥ø­cMF¨{uþPÂ~îí•F†j7ë¢4=ilöáïüñ¢ >ê"ôó- 6Rï x[#gŠ‹@U3€-“øU>ÂØ„Åã¥Õ ­°[¸`æêe$YUÕL°’læA¯ÂLH”?Ð1Iá†%@D’±Öna´àh"е0š™§ Äͦ‡ö^÷Êû³^:ù¾KÒ×æÏÜ'*&6ë†QpBÀ¶$PKËÆ¡ÃeA慨O˺=‘WNUÀìx1\ˆs£È¦œ"}»vZ =O^¥¢,OÉ°0y¸PÎFMð‡Ë®ÒLÐ3ét"Üôí§ Ú“æÌi­äƒÃ2S(Â^ý,§´é°Û²6dq6í¢qmx¤,Ϊ™³ØÏ$ÄN¸³ã|Vµ³ò¤–œž1­—yÆ_’÷LÒJÇZŸCé}ÿsaHæÊROHÞÅΨùµÞÄœ»·„ O¾©x8ûÔëƒ1`ã_§®;6[jÖuÈéSçü ‚íÎ>¤åb ¿G–@ÈšàØn:tØŸÈ'Cì³ùIoèÍ—éÅW”Ù³HlÅÀåqMuɦò¿{» ` â~Û%·ñÁ«t[û.VŒ^‹Î5Û•ôàu_NIõ­›–ªÜ.z;{N„¡‹þz(kÁ»†âaâö:‹%Y÷ŸÉŸú ¯Æ†piûðÚ„ Ùsª[‰ É{ŧQybÞóýÚ,eÄPåÒ³~å×ÛÎSc…/͵‹bCöW¢üd¡Å¯àp†fÌÃÏP·b«Çs®Ø(`ÏH3ü0 •a(éEu5]<&2uiÞãŽQs/Ýù„Š©ºßQݬ¢ÙVU”ý?;¡ä‘ØóDé oÁ“cœûB=è„^Š@Ùo±ZëÊ(èæ1JÇMö®í8ôTo`…ƒMFrwjÝm43ô¹5‹âù¿-+Ëa¶4G\Ú^¶&ÜYîŠ ;ÞÙµÃÕ@B8Å!Ò +Í©G‘óª…/„÷ÃÀ€+QÇè婘Á.„}íegñ9Œ?®^Šðú ×(Äo&qï,({)7ïà`¡‘]¹WÑaÑ= +HvC¯˜ë+a··.Wòßøe®ÅÄ XnH +åâÿµÀ·Q6¶9K—n5÷LÉlõ_îg(ªfå® Ÿe x ‹.M Ë‹RŸ…TÑX`6Öe¨ÝJò ô-/±éÏ‚÷Ç;m[áiE„&Äí3Ù~eˆó&fk¶ë,53Äã8½1ÖÒôt–x.æ,ÍKQí§ßÛ,mV»M•o))kw1&â! û¢ƒÅŠ»èu7@íŒ}nÔ•{t›Ÿ•rÆbH@§y$–àáÕ Îo`¾1ƒÃü8„…¸¶vlå¹C†À ×N„ú 2ѶîÉиüÄøêØóféa’ÞÜ›G×KûÐO¼—?ÓÜcÕM÷œHœüJü'‡ã&ZB¡MÝ<ßœsdÚ¾È7{öË×t%´@z'Ý M ŽqDË©ÖWÒÞÚ…‚­]0Ä&ut¾øk$nO†&€s,ðÌÉåØé”T£¥¤™.Aæ1'é}1(á°£zβï”NµWé{œ¦•îx„Ä1$“T4ÞSвÑËz764·å0yŽÁ-ÛöË#£‡B\@¥ø9h©¨]Ó#¦×ìátõBµ£í +MpÔ9b˜öv*‘5:òê3(±}¤XõÉæÐD²1Åm‡ÞÚàpQ¨@v}L •C§}œ0VÞ´ÔI=jªLa/YÃfgô í7·½gŠ6,(²A}•ÂÌ3Ë+‚{ÛÀd‡e`„ÿÒÖüßáé×”Zêç§'ThågœS +æâ9xýaX£Ö’ˆÀ|G%ŸÄ?›:]0£Ù/•©•€ì&Ÿí/~04ÜGùál09%†à·¬²é‹RŸMœFKòxÁ((: HAì`ù~s#R(W d_óËÑ€ê#«ŸT Ž©¤‡ Æê +H†;KÎaîЗÒÀ” +endstream endobj 178 0 obj<> endobj 179 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 180 0 obj<>stream +UQm1·‡…úYä…·ÕfË€«^wáTå^A‡TŽ P3ø÷S…’i`nEÒŽ‘t&‚Áã†ú5ίW`¦'CŸv,x³ÎÅ5J6­÷Àæ3zÜaYQ2Aë‚Ø7|'½šŸ +çIF ;°»¡ÎÞrV»`-ºà7Ñ¿ƒí“4Êf¯ ÆË´iù=jÓÃ9ÂØ™ Þ*5?0ºÅþÊŽ¹ý›Å/ƒ›©PoA »1ªÇi~áZpšÏK5Osƒã»ôÒL–nr)¶pm¶]¾y& +Uý»˜šfù¸«¨zàY"Óów„ÀÄ]ò×W·K4HÛ:;_?è>»ü´?P†& ¤êµÎ=ÆBüôœü#ˆC;F‡Ž4¿KÊë–¹-ÃíÃÍWNÒ½­èÀ)/®`ߊvì¹_ŒÙRbD™QÒ¼ÒCD‰ Jü^ç¾!±·'ãwæ>ö…™À +ž(á]¹l=otQ"©Óhõ¯ñ2°ƒîüªn{»+îî/SŠ¶ VÏs¶u~´/·/0`C Å6t07šJaŠsLm¦aç,Éf¦34Bm#:ýÜ+WàË™~Ò»JFyÇÒ‚VÔYij ²àÜÁµZ5𦆯všeÛ6R¹Õ ¹™M 2E霕}¯ÙýÒ4ôŸÿ$»ä2å:ã(0E2 å¿^D5{[ôì¦geÊÅ7¥ó½”õ°ÿY›9y¹›#4üÙïÅiåÚsRb,Mõùlc½7ÌYî¶é¤è¦aî]—츬ôÏš­t=Ÿm %¥¶¹¤guG&÷­ïÎÈø¤¤ d††H¦wð[Z^-¥õÂT/¸ãX³“?À²³ ÈŽI'B~µ¼ô/X\nÍGΘœkDR6Îñë›1¡½ +÷”Ä<ø´¥ÖÔûVâŽõªŸÞ¾wÇ]Ü͉¯85’¹ ¥v(ƒœ(z·o*þ¦ZfÍ#v¤ûòÓÏûA®1œ_Ò…KÌÉЮÚtV)O‰ý€™azÚZ¤G™æ_C"Ö²kúÔ L-÷¾ã,/K¢•¤Ú–ªrºš?œþ{ªè#yÅï©aª'ÔŽ©YÐÇ~A–ãp5 ‘xxrÓÅA150£4onÞ\SÊ4TœÁ¶²ÿvÊé¼ Š`¢&•PÌ£+8ZêRˆÁFWïŒo¬ËZ ú$í­?DÙœ¨ã‰û¾3ßü\”¶Op†ó×5ÚóJþ­4«q§Ç`JÀâÝ>ÚàÆT+H“0-LØZ¯S9u¿`!z4î>(ö qÁ}…½'&ˆ +‚³IÉN «§Bb5òŒ›D¦èœ:õ¾ò¿=žÊD1‘‚ ”×±zòµš¯±-]×l4Êiê‚*%´e8Îäì‘L8¼Kïó#ˆA÷¿g¦kúðQ/¦9 ëÿºÁX¡nt*úLzï³Ôg5Ê×´k±$Z¶€yo-îdýÖÍDÍxè­ì#pÁËaßÓ ¢®Õâ0Šy^ ¤²NKš€êÃjKRfH{–ûLìvcñÍ`.…èíú—ž‚ËÊt×¼ËØx ñ,ÏŒB„\o xh7ì²÷ø(£ê5— +b¸.õ|FÜ:æL¨½WÆ)£ãL›÷žjÌÚh8$žrj­ª îÎM/óæªÒåK€C<¾¢úU­Y‰d_ˆb3L–°;½•¤?êe/–î/¡¢•àÓØ×Ä7WM¼j³9 S'^ùì¬&@Ñν»ºGRåžêÔûu|# Þy¤º\q‰H׶°ÒÃ!lbÔ¨ÉSÍ€: +Ì<~êE|‰yM^3¼ÞÿÜ2}‰¯‰‹G42‚óþ˜æ>}°¢F¯X‚T€5ó. €Ru,Á¦›¼×\æ>Fù1Ò¥Wœf4§Òµw1ÞrÇ£Sm\³m„ç-¥J_ê{,cÊiÀ§#ÜN”ŒÉÐsƒ§™å*¾‘ -kîqÃûTìç9·\ø°²Ö¾”/6`±];,?æLMÐêªõ|ÿNãPªsÛ˜ÛtÛ +ú–OQ®Œ*PÃäç>z÷¥t ñBèô¬ýO `œó@›+sɘb{ñ–w®dê¨cr^îjõVlõ°±4LD•áqÞÀ/úÐëlÐxJWeŒ?0²…ÉNÿGÿ~Q“ „ÄÂ4Mñ»k™Êª2^^:+±ÉÆ“]ÒwÀúb Â%lY¿©í·J;xAäëJowA\¢Kqˆc^ ½Ð±ñ¯qb/jr=‹–P 7N=™YóÉ¡ Ÿ$t–-¤KÏ¢ô’h(Çp«K?ÌwÖäÃVm£ƒ+ˆ9 gkÊçUU'Au©f^ÃÍ—¢?PO¡Ëdò«篶–¢•M¹œT6BƒWY\–È×mÃ\€)äÀ‡·ëNÆÞf–/t¨–SfP¾w^™c™Ås«EK{¤»clú¶z³‘üãù7¤Ø>ìbØ _¢«¢Â“µ0wöxÞï{ ù–î €¨Q%'*{Vd…âm WŒº[¡€éw^Í«ŠFuÉ%ñ BÐÎáÜ÷¶³þ‰Ë.®ö'Á›kÌìÝ[Å– dHÃòWÉjšù¼RŒÀrŽ9Hòó7/âžµ£'36« àÈÝN¿HÖp†5î™h:VRè´D4²½Ñ¾ +3­_Rì[šÂ¶èí: 0Ç µoûbW¾ýY%f%Ž€ +Ð…ôÀLÑ+,ö­_Ê®·… Ñ=»ë‰ ït¹²õ¦4½‡»7ÉvNQÇiíÑõn']GÃó&nÚ' ¨ÃˆMæXCñZ"ñ€ æd¥×fâ-ÎÞc°Ê%ÎuªÿωJé±ÌCœªÒæ9ßm,Ëx¬ßÂÚ> Á¶ ñ>F7pOî¬ÆùX6ï0Ò–RÁ?%;[X#Êõ5Y`ó ¤ +sˬ\H­/Æé'hR*„<Ûªc4Y•;¶sŒw¤{Ž”áêe>? T'<$ÇÐ+¾ R>:±,•`ªvÒÝ­•gÙrúSÕ¼kLp¿y¯ý.Ö½o(f˜”€ô¹›8çøð±"úthÞ³·a1ë1æG°ö€Ñ™²ï"ú2ËLm»júÃúÓˆWÔ >·2œÚÂ;Aƒy€ïâÃó÷ÏBA8Ë÷9µü’˜u{\hDª—ÆÃãó"¤µˆpüæß|}…CG‹ó4ÖoØ/•û7IËÚúI©3ü¿öëq3ÌÈ,¨Ü¢‰u~:;J¾ÿ~×bQ¡qƾéÿ8Ý´Zì‚í½Š!ßS:UÈ•·¹p2/úe¼ –ëÛžշè‡eT®áÒs»Ö’ñÑ4{+ÔßÇõìÍî¸ÊÓ瀽å3>И4#nôUB“¥~i¼ÁדÁésļžíð?*(b¿”÷#l­—³µ'[† µsuÃ$gÜÇ)ÅéTà‚^Æh ¹Lì}ŠÿAsÝ|Æ?ž³R†7EJ¥YßlÛH ¤èÙ®vcÄ|]ŽL@ÅM¨lxÍuߢžkWì¦/ß`7íµæ(›.!†‰ejL'ŽRleîYìêú[ª¡U»ÍžJð2›Äü‰“C®Š6U<²u…"}ˆ&Ír¬ÎšôY&#ÁTùl†D²+ýnùÅضþp‚ÿ?†åVŸÁö‡s‡ÿO’[À/ýŠdCCôŽr-l †7¸KrûÌé†çć#¬KªÛÑÁŒpŒÙìú³‚ôO„aÐ^‡—IdŽ7½fiËôIV1ôVdëî»R“É6ÜbE4©÷ÔåckÅCXHŽyuLù¢ö¯1þÊès{'³¬úÞŠ<9_gÜ„Yr®\tÿ(hj™ÂüÖM«Ìu‰ây±­ñ0¬™5ЦoP—Mû•TjUUSù2N²-„‘¨ú0šŽo8VäZNh­9Õkû2Ÿ"']´®Ã|°>Šû:ÈÚÇó‰Ý–7<¹ý‰$lzl†AŠ$¾Å®uŽKþ>.x¦7QB|/¼°ÃŸ£S&Ôñ"w›îÏtz´¡¿6ð͸’ƒmì’`€$¦¯d;…œ¸éûÃùÄífþhïíô$úÛÕZw­Q…™äšO˖οãoËÇLvb*ë..a1¾˜[ŒÞÔöÜŸ<ߣe¶Åz/ûÉì‚ËÂ}¯‰+ÂPCxâ&±ðÍ’;Dž(碌ZÅÊýz­K {`'D ‹@PýØ+ü¸àcÿ¡O(qR¾<¤û˜'8gêß&žOUœ—ÖCæÎò„u;p‰ëÀÀrs˜¡w9ΠÖ4^DVT:!ç–õnæ ¤¢„]»æMr¸Ãj8CP›*OÇ/Z²èŠ&«%ûáz~¿Um ¡Um½oxÀZ>™œÌTE">©_»?ÕJ¶ë•,mª™k`»Î¬kÕž¡„Ü€šJð–sÖ§ÒEw]_T£¤Æ[)Ûc+X_ÈoùG +endstream endobj 181 0 obj<> endobj 182 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 183 0 obj<>stream +³ÔzBà{‘ Ư̷$ë„kœèÂeΨÜXë×>×vÎlýk°Í±µ×òuå„<ì·…àñŒ +ÞN¦_lg½*lƒUëÕc% c„Q² µgñø×xü~ò¯êTh¨õ EØ 0pòíûÐŽý‰‚ÅvŠž{ ê³èé.¤©·6¸n¦L~nkŽ{ýΨlWA1EpÜkŽÐ#¤^¿¢MÆ‹i‚’ &»¤lIâ¡õdª5b*}IÏгÿ‚yeä‘_ö×Ø„9(¥Ñ¨pŒµ›Î9hµFz¯áã/J›u‹(õÄŠm‡gY”DîM6L22aùàÕ>ØÕˆ‡f¾yøµ¶Îé´~é¥;îëZU³Ûuøm¬­åhÈ8O¿*Vê!Ø…ŸÉ)^ BlVO_ŒoÉë÷Ðê‹+®nMs/ÎèÑÚG}Xç3maÀaj*â®Ú-Iñ.±-ïæ—Ìó÷ô”~!AéQ}“¯{ΣMsEt(›ßlîÔ<ÐpåBœõ×–€6a:ë8ç‡)dÒi¿0ÈuLœƒc©Â÷’­ç"t¯åÚ"/Vвó¿çŸP*},6Þ€b® ˜¹6°±¯« +IL—„ÌBÊ¡,Y¬Coæ?:Î^¹™j^Ncuh°A¹ ¡ÁŸ08]¡>¸‹Gá6YSX:]ÇK1jú½Ï™Cã]^‹òxÛŒè:‹eV1¿e·+Ýr˜|âÝ^°ÿM\°Q»ÐhGæöC5£úš!~B.=Š`ñ~4]íF)®¶‰–™ÊùD80wï®?ã.ݺ‚i2ß&GïÄÿÆ#$‰5›sÛµöȘyr$<Ï$‡a{g“/èÍ-(ðsƒÀ¾RU ÑuK®Œ=5´…Lóˆ\µŠœ¹K¸EœaI3½Yª/)ß2óϪò.o³@ʱ<ÏEªœFOù³Ýú¹(·B+é¿iµ¶x „׳déá͵mÄh<¢ÝFb¶V$(Ð#I¾×'„KA¯•¾RŽÔ2„Ž€ŸÀ@£v~ÙÄèÈ-JôÖa½øSè.„ØŒìNp‡1ÉC?H3!"W]ðŒ* ?߸<ö^Ž#Ai$(ÜžÐП¶NS½á!Û T‡Me{êÄ|oÿÿÛ6â<ÉãÓ³A,:ªAÑÓ`cjô{%·èµ‹£J57¬0qêéÅ£šòVŠwk<qëØÛÃåbÙ0>%@!B|iëSðQŒ¿9^£:hc–·[°ªq¸]èÛ©ìºó­c”Fî—Í"´ª-ˆoC ¿ÞíÞÈðÚãæèB z# =Qo8Ol_Å׸ì(ŸVí ®"z„ÛòùìÊM!K·ÿf½û· ÕEê6,;ÌËÈ.hœà!jWM²Èž)~ª×Q‰¶U«HKÚQ¥åRlÓ(¹õISƒ=ÄYqUžô{d+ÄÒ ù±$’A÷§?‹ô¹Y)‹*n ô^Êý&I¤á‘qšnRÕËBc¡ÎáyµEEyù†æ—fäãå@^\±Ô ˆ¾† 6:éãnVhÓ@‚g®.¾¤ÂŸà—D;àÎ.xK +ÿ%ö÷’¨éâvoæû³­ô‡âûibúâÁäüK5Þ#Xx° _Î@€÷D´~Ç8,V‘Ý„’&+h½$›°ÎÅQ=„×ùƒÜ05÷¾áB,xŠP.<ë‡Üó=À³¥LÑ ±Fº š´ÂÔZÁUÊöªög8q×¥*UuÕ¦5†—1ðSÊ;9Ñ–tr}¬¥‹z76l½ !\åB(t°þfgD¹öØgcsS¿c Ë)e´.>ö⚮튮Z®¸/ΛDrK&ìr·©ŽD fA묅!éX¬vþ”®™´ÐÓøˆA¹wcÞ°µ=ƒùsÉŸû¦lÕ£YÎPŽ +Æ' +€ÞÍ*F'ÚÁ¨4ÍD¥ +mYœý͘ Ná"#´È2>ŽíJí…<Ó"PÌëE?‰[ja‡å¿bD\úY»3ùàyšg ÇÏ·ç^ó>ÊÍA›>@ne:gâá@ q¼\\FŠ¿2^”UµmÎa <·€VˆÖ@Pd8þiÍ©øH*¯%O/² +/±Ü±{yß">-^±úöšfkv˜×é¿mÚ ëÉõ%Ñ5üYÞÐÃÖ›½£)Îo7è¾ îš3jZØjôYå¶øQ2^»¼ßúÙ2©l >žµÁ-ò¼‹»E®Hê ™/ß¡+üݳr(´¤Þ¿9»ÔPÄoZ6ºÐÂÛ¡ËÚe}ƒ¬®‚ ÀDèLòî«ùõÓá7¾eë¢O%|ô ‚п¸kÕ”Æ<¦ÕC˜ñáDgÆQ|_p’<ûöð4ÜÞ±®Ã[ +æa2 1Õ¶•è_{¥=³¶ÜW+?™Ôø&|NJ7s®y>åË=X–=¥9]Ї06Ü9Æ7z¶Rº#×ïqrè5î—ÒÒšu^ù‡÷Ù3”*ס×HôlýË@kšï¥·¦L °ˆ\ì¦ìÓ1r“>—¥¥ÏÑ—3Wi¾¤¸Ðí5zaïçáâD1fÙ•psF˜¨'ï®((ÌCió½S +o¢‘ž¦]¤ÈªÌHLúÅïa„XM¹:F'0 ´}ÉñNz»|¬VËÔ´âÞuh5Éîžì–©!|á3’á=ø1H±×ÔñŽâžÇ“6ª…`à š“ÁÊMFÛÓ¡sç@ H.{ùkB-«Ÿ\é¶ëÁ¨D›£¹© #8cn;|hçûÊ;o1˜™Ýëžb—?ê«1˜`輶˜_2;©LuÍ¢>¿“l»…ÜÙ‰ÓhVÁàòà—úZè/(m8‡È%Ìh%Q¼ˆ£ˆíûÑÓîŸWÏtEÙÁûB +Mô› $uÝ®=BÑoÞPÓ£ó³ï}†ôo^ÁŒG¥æ´Ÿ’gêÑäæô[@²ñ€zc€Uvà™´­0[Ìõhr/º¾rîÅæ‘"©¤(v FÆ-¸l@Ý麵TùÅo,uª÷_R<‘â᜚Û(d7Jb:Bîû*¦‰•øX+S3_éû””ùúQ}tpÈÛ/MôÒkØ- +ËD²!4zô„qv~"‚=~”À½èGÖ2‚:@`óù€ÏL†ÎRŒíU¦­’w4Í)N‘ˆò™ïÙ¥ 9¹d1™ëØl“ W>:¢hV‘YŸ_OA9²¹ÛOw‡rÐÏ÷³Š)‰C µr‹÷MïÈŠ=¤-ÈݪvŠq‚nvõ'ËÊ^Q¨[ÅOJ*®C²Q&vh +‚‘Õïe^¹"*–îD‰8Æ*A-”Èaw/¼‚:¤~Év2æ^Hræf?‘Q«d½«K±rf³hüömñJDîOÎÄ;ätTºD¤{-ÇMýlóê)¥%Œë& +´æ8©Ã¡j€9]=ÒyE/Ѳ]7ï.Gw`E ÞˆÌn<ä‘çUž¾œ)Ö‹_ß5|öZâÞY8îèì.¢€Åùÿ—i,îéÁùUå~Fþž ŽÖUÊL92mí3¯b=ÔŠK¤\‚g”ª‰JÞ­‰Õà®gnWç|}º+Ffª*åDvÉ› Ø»®fbùN+·Õ£Xº™W; wˆ–vHøê)µ«6(×!ï|ü­äCm«?B¼sã>¥ý§+8A<5ð&&&Ú”vì¹n²ÃþRGu¶­e¢Ÿ<ÃéÅHÇåù¾ +_ ž9ÅpˆÊ¤µX_XMÅÕ¾/q2‘$‘µÖ´nJ•Ë6fß +§ûlºøœ t™òŸÆ}Ý)šÝŠdxÒ÷)®%Eëyo™*¦-";ÏÑâ‰Ld„âݺ©…:üFüŸúÜS[x–£{V¼ÅB +:Z͉ÑIàJ_NJn¶Š³-³³±çX½ÎYRlÉ©²Ÿ” +ªÖ¤¿ £þxÏ Ï‰oËóâU"l¢±j{¥i´~o–ð ®¿òñjËø%¢n¸#Ãà©Ô ”Hаٹìx±2‹_ÏC{ä®î)ìÒ»â4–;²¼»a';˜;ìÂqsý[›ïKp„nJ<>ʬCƒ‘¿¶ZŒdIóuòçÌíþæ9åó³ÞøT@Šû"¶àúl›©^}¤ÚœúÁUø? $œþ‘Ò=KDÙ«·yߟUÛ€_T.–!bPkžØs´V¡(ŒÎJú²DÞá[³ô©ÜÒ¸R}^I‚±îÐQîC€I)ñårž¯µÄ7߉ÿ6Bª‡…±þϼt³x"pÛ滎k¬_ÃXK”ÌÚ¥‹ AçMZQw‘•þèCyÐV9á‹)[½D’e82Ô7U0¸Eœ¸ûb_êKAÀ»üÅl–>gµAë÷zS3ü[‚j¢¹;Î+dþxò°ö ؉ŒÀ‡þaå·Å“î{€#0IðëVàîÙGçƒU4ÐvÝ‘ej(éØ ýÐe§2^žy")í}N°ü©i¯=¨ Ê(³¹?bîœÎ$Y“!¦MœÕI&IËxJŒ"üz\•P•¡¿Ä>éaÎtJ䛲7ýÒµ¯*4N‘!¯@ù–þ[q}ÒTŒlÇ„a':HÌW +pYQbßõÚTì`:£Ò´bhßüMÔÒÄ–l­‘ÀÍèÙ0«GŸ”¶Ÿg³."Ò( à'yJä¶~Ô{Ê wúñÅÈÈZ!ñïÅaùæ4ðMí2V¯Ô+A%•¯oÿÞ54ƒòÆ‹Ç 3yšº—,—Mÿ—#uõù…²–mþ×Eüh|, ÔöB%¤Xúä«þñdÖŸéïËP:èFù« Íz¢ ¥:Šwä¢:˜?Á¬ÖâžàÝAk5uRöd¸Bܳš½LM¥[=ïBD=ªKšË±°“¸VÂŒˆ$¸C¨¯)žŸ¨‹ñZîÓZlÍgöG2£%CܸÛN +s3üCTY(b’—Yédu}F™GŸÇÚéîÝà@ò-É B=–­ AåÖdGâËô’9‚ûþb Í&´Þb\a(Ù"ØœA©¸ËßÖ€[œF÷¢‡qåëûS!÷Æ0$Z™ñsê9EA p}zR¿åáqÌ¿ˆÜJðüÉ&„tiAÊži¥4×> endobj 185 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 186 0 obj<>stream +¦ñÃ[Î*ƒ$18\bˆ]#íT¾:r݃ù·*@´) Yc^’´ˆäòãqOòÜpÕ$”øR… BOŠx#ѵýp“z—ùÎ=ªpm‘Y½ÒÒÍê”jà0À$UºË¤ ÁStóÿƒl>zœhÊ1k2`QÅwž¥ú¥k„b7éÓ•’íÑd9RmÜvÿ«J“E­smÕ×Õñ‚n%óQª|™ì`=kàÇWJ²¶Ocø›™Ñs=/oÆü ÿ®éÏŠ +àëº0Å Þ,úÇ—/GàŸ·'œÙăõÒBjœ3]bK dï(ß±†ôÍ"}0Õ7‚.[ h|0Yù•¾,U3Nìa"´u¬_ba.”^¸£å¸›g‰âCÕ õŠ6±#í·}=ƒ5Ú^ô 6ТØgrežþô óú`½®þ :>ô‘MŠ4ìS¬ >`N3ßäëÂkyŒ2B%5öÕÚõ8Â:)¤b4jÈÒC÷gÐÕ A9Ü?ÆÂN©¨’HŽ®ÖhIì'+åˆçó9 ‚CÖÆÓ¯Íø¶Ÿ…úý>ܨZ—·PH÷þòÚUl:Îh“gÓ'TŽÊBJûå‹CêÇšA&²âœ~½—,¡þÄŠ«&•Ó“Œ…•ŸPÎáK4/;~@ÞíBƒˆ¾ý) σê¥]D*çßC›)ï'_®"®Ô œòÈÍè»+kLF;ÈW›}Áâi#¬†ºø3€úmbIxÒH zŽ¯!°ý[ŒÝœÀ©ë\ç-6„)ˆÏμë0 lChIEíµÙ¯aò/qUy°GQøñfa‰b#ëoj #‚©Õ†¨e»XøØ!~!¦ÃÎP^bBM*Æ©GecótÂ'$t´É4¹+y¦ÞÃ>x©Ùcý/´7>¤{‹Ä¯í žÒäÊ‹pþvè~7©EQ±Ú[zøAQ?’}‰ä¾ó…%¶Ê„E2ŠK¨¨òµ?ïÿg2m9m6¢ú„8PÒ™F=ê i°ND~ÐÙ$š=)¸–½Ø &W>óvEx½s#]Ç.‚›ÛN_¶æ†ïŠKGÑ"®§ú+P…Âï.`sJqb +˜-•líI°È´Ë9èk-»•~¤Û´õKÅg¸y$ËŒD„n+bdø=VÍ<×—Zê Ä9t:KNPNð³[]ïÿ¾IØ ‹#ô·keµìò¶¶ãPú2³HÊZCýOÖíJÑ?ôX|^XC·ª!è5©ì¥9Ü|ÑVu6ª£7W +õÕyÚtè6*q\Cù`m‹ºÌµg•fvá}O´Æ¢'§ŒŒ C£÷JRzÌ ½6µtÓÔzXÆ’ +endstream endobj 187 0 obj<> endobj 188 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 189 0 obj<>stream +åÊ—¿ªpyU_Zûl*{õê°G%å÷X1&%w¦ÙzøžòGC.oÓyê-+Ø×Òâ% à»Ø=+3ËœHÄrzÓ*Ž+AiÍx`ÝxO‹‘ÃR''nefi6hŸJ> 6©PxÜZVH-‘Ž<>-ãšú¬Ö¢¡Î#ÁÍX…á9ÙUô@XÕ¬é‰Ñ±¥‚ÿ ië6½Ã.ëÁı¦ø“£µÒO¥°Šôófìc<ëU\[„ä‡ÈXÃ0¨"'oßúïõu«š0çÍsÊé–eBöq=@@IÞ’£L×¼šE_;OõÒGÆaÉ9±ûÞ<çˆ4-󎊵÷úKj_ÊÕÓ›ÓÝ3rÄ\³µ “æìaìËLcdHÚac×›cãB +bN}%ÿÈUͧ’-šWBea?a)Êc¶ÈPŒ rζT“åGo}åÓ>xáì†ßœÞ–u3Ç°…áèqhóÒUù‚äÌ·™ÈÑgý}QA¿”X1 rn»ë¢ºâçër‡iMIÇGˆE´ò¤¯ýtÓ:H涮P›l³šoÀsÀxg°0Íuç0áU?ÓÆ»ec¼Ä5¬g¶·…«ƒ) +‡è§]· Ô2ãnW2cAŒ7¦{Ë*vþFœ%С+æaðcÙ3Ø°sPšÄáÔ€Cug]êïÿýý]F_˜mP€P„€Š`ËJèÑT#N½âõv˜çˆ0£ßœWé8°¬!FÄÊUÓ3 +0Dþ¤z¢ÊjemR +Ó<¾qD²Ã÷¾í$«Þµ–Yû7ÉŸ‚JÂÏ[Bl›?n‚žTi=F#²†9S÷ î½Oö'èÛooªbrêÝ_´•MqT/å½ÀÙ•ÜÃhÖqèIÓˆóðÀ¶ƒbyd"Ð÷¡i»}\éú¦yDceŠøq‰ÚkÔù1÷þ Ï1+À¦ç +ßÙ±ÛB?y»k(iéè ë]ƒ‰Ã-Ì™<Ðg<\†%?’»À!, – Ä‹ ÷3ÒäHã@¯Ž¦†C™ÊÉÃÞB´ïSQ¿ÖÂ8åá}Ëë–Ã^>ðp£ÃÛª†ì‹ Ћ|âÆæÈÎwF-µÓãJæÇ…ÓUóبN€ÄðYdEþrz¥{b¢Gj/ï"§Ô¦x”ƒ”=«ÈåýFç!¨¸@ÖD[ÂòÚfl4œ'\”K kgÁÈíWõ~Ré&í)½0ÐwòKÒ¿‘¤ì2–$cùM’ÜŒ¾àót¦îOpðý)õâdŽ ”þFay ˆ…H6²šYßÆ\NÅReoÒ/(,zÇ,#÷unätxµh¼7ß1ÒY@”^ÛHP #³(>D_&=̧ͪaºÐ ×tU~ò%‘+“p¯a{üp[Ä2Ä,X³|§¡núîþ×Øâ¼(”.Ž¯QXe|þÑ­fœS`ý”–À ñN×rŸ•Î]UôÕÕ$–‡˜’¦ÍÌ×â&Bwõ…¦Ñ<ÆH°ËÁqž‰òU”æ/‘ôÚùyÇÿ¾6Ì£©Œ§J7`ÁPi¿,PVxF/¡ Åaÿ©Û.e¿ú‹7)ú½É¢Ã© ÖfW@€¹ïXbó @ 68©êÇÚ´ßÓþ—Ñ‚'Ò ùMõùÙ¾ÂA ‘GNiúÈ9¦Xø+ê­î`öÅxý©è9˸’Ï7òZ(^%["D³µÔ½WNRÕ¥ÄåYTîXÈx^¸áΣ/‚Ѩ|S•5Ø?öaô‡°<Œ÷P{äñŸUß<-ÀuGâ¼™ÝÖ& ™LÚ5ºG +¡°ÃcÍ¡| ¿ÎE}z0TÏ]ø˜Ä×íN”Íh¥å³Ý²Ð•…Pu+£ãpé&Ü%ì2EW ;¼´t åPõCoÍ8ôSËT´fæçt°N7©Ê öyÕ0Q×ÑÈ¿’/ýÆñ —CXH´µm÷Á±H~_–Ã;°´‡fC–d#ƒÙ˜óÖ5Êý„(”×Þâô2>cö3Oâ {š 7ƒ®e¥úƒV¦õÑ@ß÷‹÷}ŒHÍœn›nÑ!¹ 3!2æD:uëŸnƒù=KÃ'‡/^evÉâ@õ/óØJ«BÐzô«K•JXìÚ< ¦úÚÞ.´øUÎ,žœƒ6Hy <ù·gøÈCnÍŒLe²4AÏ…}Ð8ž<2ü^Ym2[ï0ÝÌ1z¯©7/ƒý|êÛU@¢ŠÒu1úÎSÅ®ŒUTí@6G O¡éÔ<‚åEÌjÇݺŸ =ŒúWéJùg®¶„î …¿íb¹ŸV_mØ“Nõö'F"Õéº,Ó]ØÁi"=A"gÑá±F¥š›h%ÅÅ(™SXÍ(ƒK‰dv\—…’fŸ ~UÄòbmÿ¡ Œ[1Sµ}BèŠMîÒ LtÏ·ëxù‘“©‡ïk|bŒÃ±—„I ŽÕºò{ä¬d=2#Cö—f%ï6M[ÐÃì!’Qk0ö·ÞêÆë¿ ˜aŽº—’3‰ÜÖþÛ®<áv–„õIW†²ô¹’}3È7¨Èì€è'";eÞï¡C«ƒÓ]i rð$ êxjWµõ§"‹ßá’¦ êŸJá“—XFàHÕÙ&çhÛñJ7߉Sù¬Õ»a"$ÈN›a–ʯ‡u·Â|V8É VÒj®Ù³Fi«Õ c¾xî\X6cÛF\ÿûÄ5ìþèYñ‹H9\öÑ¥Ørª}’Hì‡ÔKSŽb¸SößUµtÁuÞ= ¥ð¬ËpåžÆ8a||5Xò4 gñ Õ$\PÄa¢_ëXOrßV¨ t,gƒ¼«+ù‹„ù! ùEKàë¾D¼Ëš!^˜¤ºZ;Ñl$‡Lby®h"@ |¾+\ %…¤nzšµ³Ì†Ø÷; ýcâ‰á‡ùg÷Œ˜;ûí¶.”ÎnŸK}û?ˆÁÿl‡’y„•w:f»ã}=™ ­¾6²^™w#¤1ëк`›ßïR¹_TvÒ#¥§k«§© +ZQóß² $ß“}=¶ƒ?š§gIke…ÂH)Ü×yqÛ² +‹õ¯}Þ]s àÄNŒâ£~Žö!$5g6¥sŸs©¥<c…5‘tßÕ‹’£rÞ*A?ñ²D«p§Éè·ÊCo4­ü—3ÔꔿHIº„ñ– +ðuŒG­ÕD§ ÔšÏà×Á–¿‹<Ó'¹PÂF8p'IêÙz ÄI™ø{/ÓqqW5Éð½Æ^Kì‘-@ò–°ö¿¬Ñ¨ÏyéJ³ÒÐ@( O@èùH*?±P­«¡Éº^¾¸~(ͪ²Äð†³q~ÙÖxZÓ´3ã"X½^78@î•[Ñ #F +æzþIT ãÓÔÞï™4­6ß‹Åï=Ó¨¦ä%(“gŒ^µ“9¯Þ)á>JÓ9Xdýlý*.â]ñÈ^ëR!ÙèFq…Oö÷ÁüAHÑ>ûa”­Ã«.ÎØ+?ô¦ûÓP’7B{ƒEqzp³ç%ßסo ]ùà°Öç¤Àr|ǘK’»"™ +øŽÎýÆÎ"ß"Ðu†D¿ !ÌìA¯ÕŽÚ¹BÖpþdŒDNÝ€öÏ1ÿí†\‚æø`×`õ2@ØF=Li‰>³w„aŠž@h–¨¶¹‰¼€ Ò0/½Š³´<2›r)ÑÑ´øÇ?)Øàch±#Õqù‡Ü~Sź¬ågãEÉIC÷÷å`·ÃÁ°¥EGËßs‚öMR9Ò’oì´¾qUößÆ{JiøEëaÙ~º$½ËjìSÛñßô¸-ãr¤ŽÓÏ•Ž_WÇfÛZ¯ž¥(NÅG!°ëeÏ%Iv´ò¯»yÕiý°«9g·ù‡•Pfºx +عӾ ÜÁ[Üœ&í‹êŠ-®Éþ/@Rѧ7*ޮıx¿.Óß,aâ+n±bbªñG !sg[$6ÌÈO2ˤãXÙ+Ë ÇbÅw»„8œ¾“œÄÎ4>ˆ¹d‚ŒØÌÌ¢ ‰#>æ“x·Ø˜§éÐÅÐ¥‘'1Ëý©­‰YÄ$ñT‰[Þ2ÇØ·ìu°ù1Y2|ÅS¥t·Š|§lžŽ\u‡Ì¸x°ðãËGiT@¤ –§>< )hkÓ6 .X.›<ó©Úsƒ¤ßt„ð—šÖ²™°‡`îü*ÿznû6•™ïêu à\6@õýM”£.ÆHüYÑþdœw†V¼GûÄGÄ骨s.¥eÞÏ%ÔÇÿ«Òµb¬xiE e|ÛBSc¯qIÆ& 2;sEQ/Œ{>b¦TÔ¯‡žgiÆHhóI¢6wfC9ª¢ +MMúžÊ›Jïl%×¢úüeNÄFtv$Q]ŽµŒŠë1ä>ęٶóq¡Ó·ÿ±¦pó=ymãn—º»§A +Âëž9á Áj£W¶û’ÉÔäyw#qu}¡4êÙ®ûŠàæsöE­8?®?5³tæY? ¾ä±!°àx(`œóF¢òs&1ÂÝLT½[Í*‹…''h¸«‰·öÂ,Qÿû1åËmNÃñÀ!›Í!åetKüüðü}±<­Ã£Ëåmëºäa´~¨Ä¦¸tlÐÿôlIŽ6ßéÚgP²ÐPå±y{‘R¸æ]6cD0›kä.`#øD”‚;bœü;‡%œý¸«¡byÞøµZÊ•†yͽ_À•@INoœH·=š´6ß5è-ÞØjÔDø)ðEˆmCbÄëq¸ŸElmÄÍýÞ+ohëo’†ìPNßE!9S©RzÁ•|TØ>fh¿»twZ€¯:昴ö}í®%i:µM‹}À^(…`ƒ‘ì¬úd8Ë„2ŸÉÓXF"£t¯ÄkÄNû2cŽÅr«Xì$k©Ç1Ö﬷¨TŸDÖÄ*<@Ž¼âoèŸúT>v}ÇÖ²_ìþz6Øã;»*É»i©i›W ¿AÊùôTÖE¥U±€d’–,dÚðë¢ÔÂSü|»RSqt”¯Ù‘Ô¢ÄUÅ£Ÿ;¹¨¡‹0®Ž#Ý rG $Ø0R8 ›Á—/ú 6žZðÕ;çÓô¿ÏOêöÃßÕ)65a‚D5ÌGH×µ”à=ù'‹Rr„Ìéô¡0IlÏûèãkƒÔÚ»Ì4›,§“½i¥ˆrÛ~óÿö×ÏM€d­[³!ÕYÌnÜ÷)aLy|¶ôñOkyšý×ú6÷Í嘀,  Ü J“!ÎdB4ÅZmÀˆë›¸ýŒiâ¥Äé” +ò5{DÞ± '§ ÉÞh—ò¨!¤"£w +MÔ- ð1´ ëgçg2äeœ¨iîXQ©—:0ÀC_/Ï&Õ9¿•&oÖJDY*¬·žæx{?Âh^µ}È©NámDuï†N„nD9U4Õ +¼²Žœ 8啨QòJŒ¢•°·Üê̦M"rܰΘ ãƒ4-‡D‰ÊÏ +T›GÐÌsžÊŒ†üq&ÉýÇ8ûþ6 ×.=à‰°¶»úò–oŽKé؃𸛈ºá“úûK +QÊø¸qA±é^–rôr±¯ÒPÇgð$†¬:Ñs7ˆ #“@u¶Ûr×ÉRs86ÑacµÔ@Mv-3wyðgÛT½íæE×Xl˜ÀäS(.ZoÍAÍÅ“Û¯Âg@ËûÒÒ*‹ +n ÌÍõ!3¯S¨¯:ŇˆíÛ=‘š­mŽfß#iÍmÄWW sM<:ÎZ")Õ=:WáIŠåú½Ãm´…Gx¶Bì žX&.d©×N\•^Y)½ãJ |÷… Lgê÷¥C˜uDtZÔ58r]Îéþm+ÿ/Í•ñZßl|qøÚ`§…³D`53(T(×Cé[çþ”©b¯ :}åQÉ_äë ¼]D{‹ü´ðVÆSF(ã´ú{37íw«xŽj%8ùä Éâë§ZØ|ÛoÖŒ@„î*æ·MÇ>ñibœ“Ñf l „ÙKÑ‹R.ñ<Ñ©Ð[iUlÖ*õ‹ÉÊ&¼¬2.i¸MMõÚÿÓbÙÌmB"6ý­wë. ›[™;³I‚–¯áìÁ© +endstream endobj 190 0 obj<> endobj 191 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 192 0 obj<>stream + ­Jz}|]ß}`^øxÊ‘›z$e VDt’ Fè†_óSµhž!„?ÐÛ“H£OÞÙºô!ÏSo]hþ "%ž¹yË!hõ$íà NʉÖNÊ€QYý¸ãi×–%vÀ–ÞHŠÇ•Ac!"IŽá”|ôàaGU9ö×î€Ë7„W.ÉË.?öˆœ‰Qê »¤˜Ï8ÃTš¤*`ÑàóU1‰œÁb(«È‚ã$`už 4m¯?áļ_¥u 0H‚Y–24Š ðƒ6ŒÍIù¼%F ]@Ãkûº‡¬÷< ll”§Âeó”;säÞÑÓÚÄd!N«-S*9ÿ*¬[n:·kLšî¼[ÑN÷ŒPK4Áø@¹ŒóìéæÈe"KŸ„®/Í„|v&/:Uô²\·ÜÈLj²ÔRlæQðo×-” Úmi`аd®¼ºä\0aì~âÍê^âœ2;žUiL¾ÚCL;FÆ»·'vl¾U²ã%¦D _ÅéKwPCbj=I¢Ð—ê_óÍ茻qRŸ(¯ò¡/u +9s(¤_ªH­¹Þ¨ýÞúb¤—CÕ¹pŸ×¸³gô¥JØÉ m3~»´-bá|0oߤYÿˆŒQw'Ù¸©uMôq2•ß믘«¾Cô$y‚b D-'‰rþ½†.k~ÿ‰0w•Ý”¸C&içëkZʤ¬‹ø‚LìønP‰Éý§n— mj’©ž(aAý!‡€Åg_úɞLç§1Gâ‰î:‡b@x1„Ü‚ÐÈn´ÉFþth?ᕸÀ,å…òðã&3’pàá +ª‡ð‹Yò…UðWŸ>®@7(³; .ÌرOÀäO”{‹;oF¥f¸îù©Ÿ/à­ß:ò€mÒuŒ\àffÔXwþÈÈ%Ëì²={kDÅÓ¯¿®Vƒ[Í¿å™â+‘CôÒ`ý : <äYð®ÍÔá)i£âtl™ - +|L§š ƒõÓ¤«Å @Üß»®}¹‘bÞûO.Úâk,se^\ž_Íâ;BÝÍ[eÒ±vã–"gÄÀ5QÆðÒ®"šãýJÉ ºÐͯË‹§~ft@…m{úú1òæ̤˜¯àŸý1&Ôß·" ´î˜"˜[»?'|»Õ”tJXÁÔ ëÝŒ“Ê„{ctB€jÇ'˜s';C§u­×ðk†3Ó© Äu¶yé‰3ƸÊ:ªFs_aCCÂY1ƒž€ÊhìISBÆ_äH;顳6Œö^Ð…l +endstream endobj 193 0 obj<> endobj 194 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 195 0 obj<>stream +,çí ñ›@ú\4·kÜ;V D™ºÕ‹|K™T"kB¯NYj³>—fJ;6Òë¶ö67…Ò/ÝÆA²Îèycæ§û1-w㤉Qô'sdbä%>ô>$`Ô£>U'•f;£ýP™)³ç +¶K_×&2ák6„D¡ËÚä:‹ +„4U5Ú–ðíÒ 2ieƒ¢>Á ºîdÀýA¸´Ð“³ýD€¡!»x }O%““º œt˜Ò¡üP‡Ú:X£³ +âR—þ¹ý׆KÉi¿˜£mÏ $þÓ»+Ÿ«I›}±ÛSˆ«ÿšš_ÀkfV›û i è³Ä.1B˜ëOá#4ÒÏó[!º×ËÙßh^búqÔ|{p­…g”D9¿Î™MXid¸¡ˆ­Àñ•%ãì*ÊŒÜU:)Ý`ªà¯VêÓ‚rí¨$¹·û5¶Üù,y­‘p<†ÑÊ¢3¦]µ{¯X‰Ýn£\Ø…Ëj7¥ŠÑ£®êäxdŒš8ÑóÇÅrú¹wJ•„'êwY†9SZzzÈV]7Å~ õ•·´ÐV­:|Ý(à -‰^Ú|¿4žú>€X¯eµËKR”d‰X.€,Ü[iµsÆ!DFÆã@Ü›và^[˜›Ú=H +êm¯N¸oKöWÝ¡_ñ‚]¢¤~?*cÂÿóIÆB8½žâÒ‹Z=f‘Éã]aÉm'u<–õq¢³ÚœØ›û$ßÿœÉÂàºÀØ€”–[D³G¦qJÌ´³"]5l¤¹ýzD…™LÊsŒ]ܾËK7ñ‡¤»Í}»‚+}«×8ÅÜÖq0¯ÑƒìíšíÇMt,9(ì¤Ú6ÜHŽùö3-Ò™ÌAËg2¥­ç‡Õ¡KŽ¤RŒkö¡¿¤ š©Þ:?yz‘û²Oþ7ÍŒ5óÄv‰-¾ûu½½ÆÎ7¿pâ¤pƒ—Ÿlt˜"§îúL6N@hVl/…GŒxßÎ:ý‹¤Kxù>sÿÂm¼Dû]U“¶ðúššòr;+<iW®N?ÌgÆú 0x¿'ñ«íÍ-›ïÜÁN€ç^§ö¤è蜿;ª´ˆú/ÿTáIœ­Û? ¼0ÔžÈsÌ#HJEž3ÕÀ‹e„`C}ÃBÆyã¸ãv†¤‚n¶&fÙ¯2½¨24HiôÃãš*‡xhˆܬðl“¥Í€7øÇ€bÀ§`<Ý"E-ïAáuí%Š– |w‚Èç³Kt@ Ñ)?O»¯8€IwÝxtÆ}ÝÒå9©ÂîlS­,6, …k:ëúiè›» €îÚ’étäE(Ö-n:3õ»†§§K_©¦¡hÉû02Š÷H è›”80óØ~Gf§†8…ÛˆR$Ìèž•´˜i¨¾d÷`+.éB‡°÷=q‰Á5u§.ønös©f›L†ÿ%Hü±œ?á4ÈJý8¨!X‘ ãW‚ýÇßî±fTQ¬š¿úø{ð{èß%ï>J+5— +ÖŒ}DŠß”äñ¥Êã×<Ë*eàƒVðy²©î‡‚å±'O¦Ð¿ÄÑñvúì±Å@™ú‘ûÞÒë %¢É”é,þz0¡õ¶•bà[_âþIöœÝdWk,±Z¯õÈŒ<ì[“Ë@Ó‚ƒIå%@~É×ôRθ ^ssEXSÊ]dlgucU"A/¼ÒçRe_XÜ[6‚ê6Ç+L¾íÐ2Áv($áÔÆ>‚T€ƒhv©c¼B¬t¶Ò}Û“>ŸÖHjÉt`Í çÈ0UÝÐ8"&Ÿ²XQ¯ UÈH[Sˆ xgC\Ór—K42fO¡Û{ˆ}ž&—T&®èúÀBÛWƒ×8ÌØj>dÒÝL„ãß3h´97¹À æë ef¹î•üYv÷]—0ýÚ¼øle;ü[Ó!h#6¢NuªªüÞqÛ—™„ Gþ0Î{òQ¬–±ô§ãB2Ènü³÷‘²ðmê~‡?l@yíÀ!Ç«P/„ÑOÄ¿YyŽñb¶¬c‡¹l3—à`; +Ð\2J¹#Ç*õŠÇx¶†|É®qJ‡ïñ™¾1Ài:P¯Xà\ü°Mã\gD˹-˜Ý°p~”¢8g)¾œÁš„ò¦øåI' åÈß[Â9iÚ¥è—r×KbÃüV¢}ª5Þ€ŠçÝ¥‰š÷¹ ßëOÞQÌ5í†7ÝQœÍwsœÏ† È,€$DãK¸?ÒÝNFÛÞ±-rA!ä&-ªNŠÀ9@&7mñ:Q ›Ê©=ÿþ´­…e@¸i¸-“!¿['AÏ2WšqdžE†=¬>ðøãB{W·ƒ»!˜úr{Yª“Hb™½ñØÍ:>¬°±~Ñ:Àèv"euˆN*é% ¨yùQiq^Œ¸W&çú胀0—忺9©ÝáúBà¾:礕5ÄÈù ijҸZ*~ôô­>Cbý¼Â~¿©¶ ŠkXÀ.¢]i›'‰.5>„õpÐK‘…¹~ëOH÷ ö¿ÂLm]C‘½ÿ”ÍLïÅEPß*•³C±¹ahIã^Ü‘néÃkê³­þÿë‘9ñ„Õ• UWu-þ÷éFdrðxN)%`ÈŒæñ¥¥@Ø»Laâ†øøAèP)ò*ù^ +‘߶oÖ‘:–GÃQxÎœ­èl!ûÌœõÂ'©p êÿ¨—¼»E«€5ü«)2Q¹Ûýóq¨Xmô¤‡ÚÚÕ‰Á6ÑMxGŸCb4ÎÇ~²0Z>ö-ÒôP +kÃ¥Zt(H›)ó,û™A»c8÷#«Ã~X®âlMJ£×1Ô°†³(:>C›0§¹IÊNšÊžm½tFm›©VˆíôÇë”%Æd˜”{õYu§ÔoÓz%WTWç0J|«G}¼í²¦¿æ{FÚ÷K? o…ÎÛU÷ã!›hX—ÁÏbÌÿõYdÍc4 ü"¯+Áõ¤½ÎQå\Ûø`ȧ˜Îµ›¨†”—=!K±ݾUÜÿ7]:PAŒQCõÌFjËúo9^‰{]Rø5T/’ÖŒõp‡¬Ê Y`„¦*óGØYצd+þô`¥o!ºäv*ºÄðÄMW¾+PÜRß×lìGmüÉÖH½o‘l=’׈³Í¦«äuãaV%•£7/’QiŽÒ¬ˆ >«&Œ[ÉÄ`ÆßœLq:f28¡G›j‡?ƒ^©ØC͵­e…㯨+^H’ ã›Öñ„Ò‰³ÃüMXøÀ±0×@mrŽ2þ¤{^•N›36?3ÀZÈg€“¸h<¯÷˜ŸÛ.òPm™Â’¶šª3¿ç¿|‚ÃEYépÜ,Æîí$±û\¾ m¿Ì\q3†h¢%ŠF/„•h0ãaa@ẺͲÛ|òÆ$°“OMž š¿Û\ç/Rgeá^ïZYü<;,A¥7=œ߉Ýo›/—ä&©3tH#ýÌŸÖ»¬¯HUs³ƒß´+O&¾$ñvp rQè^"§Ã®”oÆ{rNð­QGrN+W,t”$?Ùw_þÞìgx^­‰$Warf•d·ô3tûò—Ô•¸Ç4¯Ú(ã¢ÍjwÕX&v["Û‘.¼¯ÂÛH^½_N$òéé%k‚|]«ùçƒãÏO´¢5àË1#¡ØÙÙ%b¶i'¼©ä‚¹•Õlqã%)wÁ_h‚œéYG“®‹Þz¶JèG±núIð m›òz~0-˜ü­O.,TÆ3šJ»Q²‘¸zF4 éÉE·Ú³Ÿ Òe(âüq,–'§ZΆáù¿ÄÜðúÎ\f÷:ý£©§6Eý#&äiÄ`‡„ aå ïñq0øö™¸®o¼Z èÊ›¤_¹kѵ}ÇÄHxiÚàå5íô±¿€érœúl‹!éXéK1Rþ½nÃmÒÓÙtðŒÇÍQ¸TH#/úÇ%_ñ”Pº¸±e0õ^­äÙs̫ѲÐÖ-†QÓþ¯—\O$§²b<°Íj™G¼äAh@eXŠãàíÓø d¸Óˆ`·¨F–”äØ}Á8N±'‹÷V®|î0³Vz.•FmF’˜oäæ!=Ì£¶Ñ}¨K;ZôVu°ñ'P¾ý‘ÎâUž…íâ]Â8Ÿc2ûÌrÛà¢,ÀÐr³^o’£»m"ô»{mz½RÜ´÷RG“Ÿ¿:áÒR&K­¡—·ªrh=¦‰/¬Ý…ß²–`Ìk„âªFDcš ˜€Þ¼Îè|jðíDR'pÉqÃÙÏf?4 ”ºâ±Tb>˜É æ.B…lÙÆ|ŽÐ††xØKË’ +bô?•ÓH– +M6^ÝŸ¶(“òŒä£Ën»?ö'0MNŠPKé•Áý×jÿœþ }|9ñ¿Ÿ³9šœ[‹Æ°Õ/3 ¿L›ÌmÿãË»Rl1õwÞ7eVþ[ÀÛÅêîo†Fî1BP•¡¢·««½s7ÒÕfZ;ݦ·§ÝHh g˜¾ðWcg‘‚NŒÂVƒGïßQZÏTþÒï|+õ´7-t÷EPãµßëÁÆôk:LZAµÌØ;¾;øÕå°z£uþýZ·É¸Û”‚8ÙE÷¢±Niö€ ‘ é8lî©F#ka÷V¾µe°âرd¹¯fÞšvD´^Ø +5Q Dõ,+ˆŠ7€BÑEE‹e:Ï]Ö^—ô`·Nˆ€^ütdû9¹æ|É ›ói4€b[ˆ]F_|þê +€5šiô»b‚1B3êxV›.«ðqâç.u ±ÐH¹v!Ü”†ìg«(r­x& ÛsmRß‹jóæ +5·ë~Ù÷ 9öþuq„ Méü@‡ù-rD0Fˆ~—þvýQÛÛ×rkl±ŒX\‘Uðéðƒ¸%À +ÈZ¾‘`Ôˆ»ÒæÂG™’^#ô€B9Dˆç>Q+·¶|ih£1l¼4eþÞZÖÕÓ +m…x(ð4y—y|L9 L$µ"¾æ€_cžm8£·/8 +endstream endobj 196 0 obj<> endobj 197 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 198 0 obj<>stream +”ř㥖vp†«98Å9¸o¨“'Sy9®"Ò êÏ™¤¥b¨„7å²W€SÓ [*&áöB‡ªï©º3<Ò~K¦Ùß¡w:£DnX1QfìXÛ8þT¡<ÝVFÒXºD ÕÿV†V¼oŒiyÕ>»Z†Fæ>T&ATYß½?<[  ŽÈ×\!É™l0@ÎÚî©l­LŠ-“I9=Zz3g«C 1Ò+êbnóT@*_ò‡A2»`Îî¸O`áàÏÌ DÚxuSª?a|\ü7Ëààð†½Þ$Áû—È$üPTû’äÈ;t JÊ„†ZN'ój*˜¡—üû·±*¡Vëà¸C ¹Ç¸âÆ>®tÀø «¤&ÐÄB³&Iºn–Ù|ʼbW¥ðÎ9HÉ!®“©‘Οò†h}i’|6²vDÈ$“ŽV% ·¡5…[³uÚkÚqo¿B_…lÇ¢WŠ­Yé& jaù´[ ßÉ&˜óï¥_ +¨_ª‘tx/«EÑMQ0ƒ^¸Îû‡é—dîPyEú«‰Pª€MË«VËç´3ȇð‚þ/ h[ÑžÐé]q¾:ýJ._¾%DýÌC"L¢j6\û…á9„mSÎÒ-o× °Õøä÷1˜}<©"ÃzP + ÁªÍ ÆÖ‡UÀêo±¿‹]‘C2 +éhÐ]i Âßo Åw®øˆ‘€#KÔj†#¤žGKµC_¤(ñ2nË–PR÷V! ïpe«óN8Z]ª~UÐÀ ôO±é9¨Å%.Ð5ôu`8Ȇxò0‡|N”;³†'W‚'~ÀÛÏÃxgéq¹ó©7ÊI×}Ddž£Zþ:ù”è±83n¯GºŒGPЀÑãIʶrß\´—ÌsÀÇŽÝ0)à;ÒÔ7…#Œv4Ì û™:`¤Šº£šIc‹°ŒÆkG-#!ÁáØK¹ VõÀ¶I@Ðuµ±ÒÆ ¿ñ ¸ú^ZÎ$Ž‹­BlK±ýr¡Æš™VIdlÀk E<D·¥# ýè›XAkywñc[QB[KÚ&ÅúÔÜ )‡JVéœß—ùò-㪄é·Cð'*«¤˜e–[}D™Ò ? 81,Y% G×!0õ„®.87•¹Nìj'õ¿È@+ð³JÍÂP†wõlD›òL:Ù]¸Žƒ³ÜINMÐÜ{¤>EDë›dÓû˳>-¥çlèø[ TAL×ï,ÍJ ³hJ¬Wº"øú’¿üÞ一¼ze•‡®?¼;Ø6\Ø—ŽÛ‰t_0€j~AÃ~ªS§UýèDVÜÖÍ]ÃLÓöXƒ‘yþØñº|[·¶æ–P£|.†” ¿á>çê›íY á>pÎF6ÓV÷‚4`Y÷."1IÙŽö&…33Ú'…/Úkd2íTz-|?zOÊ å÷†­ ÞF^! à…¹æ%¥¢/·üEÏJˆÃ3v:: +&Óò§HƒÎÙÀúÊ;Ó À¦®4,žø9ƦŸý¾œ-!owµ-Y¬Ýö²emZûZ÷§íû³Õ´C,9N9y—<ñ KcgV=!zNu:î "G¯uæw6 ˆæÖòèæy%ÎÄ&á#eœm+e¹àõ[kÍ)ã£Ê6\×G¶!…%é^òdÎ=², ,4(9ãPn#ëD#ò¦ kªÎÞ!$ÄOÉÜv¼+}m–3\]â”’‰úc½Î×w•¤™G0Dy/G³^ +fgstÊËO—fÆ ÛÁ¼Àšb{sxä6̺(rú;þê&ùM+þaêò! ÿF=G–¸jÉLJ ¼˜·7“CˆÝ[}C…†š¨w©ô•¨ ?zAP?8”†ù§ï‡n®~³ú6à(´¬Ë*¡5Ôðª F@;áÅûŸ@è·@ÊÑȬX*@ºÑb(­ò­|nBònã§-¨æ€ è‹îó:×Øðàæ´N´Ùo^Ê»8³^.Ýñ+ Tfº\„®‰ãäÎ’ƒâö· ¹bׂcA‚\±´Ü¬‘’B}©ˆã ¦ôrtÊK¡]”·Ä³W‘óè}oÙ +9#Bö@Ëç^ •Í‡¥è‹œm4]žìr‹Ç “àm'öhh¡yH šî~N°®cÄ~æ<–°ÊfDÏ*b• ½G{‰ë’ñÙPÝ<~ø“1§"¡u“bÙ‘¬ñ°ÝÈö†àWð nä3¯‰;+‹ªFË'‚ÒƒSõ¬n®íDƒ±‘öh.Å,/"ãÄê܇Œ+VcâE䀫þКEèiKh1Nf¥åcõðOßøpÝl<¹Þ¥f”ÌŸ +êIS@0mŽî\\”ä3oªÛWò?Q™–<¦ŒÉ$’’V‡n˜vHp#„M­g9¡>” Ú‰ó8N¯AÅÜmôN:Û`¹4 +J˜0Ÿ²É§%2òWø7$Ø¡µÆ=\ÄPé­«ù¡a¢¼k¶®!´'aöPß÷«˜CôÜêöEXýv[ócÌÅŸ˜ï¡”¿ö$ãj¡Í‘¸¯ðOý~Çeñ/Þžá+íï}P³8* +^è½í†öª<ÚÕ!B¤NmÑ'eÓJT?ĺsx±Í>ô¦žªiÿ‘-åþ“M(€°™¦£ 0e¦ÙÉRß›€Ö³8ºbŠ¢Ô[¶¡”Ë«V§Ü[QÕì˜ãºÇZ‘¸ –|zA9~1zªýAÆSgÑ=èH¨+½%c: RF@75u¯ç ì3¾1d)Ú­9òP«ë;[ÿ[:n1ýÖv)p÷Ý )3ÂþèÁ £¼/d¿é˜¿ÿ;X¡l`†„òJTìªR5–Ï¢äà V‚¦X +]øQÇ•:n·‘yFfDŠ3I«¨…î“Þ‡Ôæ¯ IN"ïA„³é›ý:x]‡¼É;S=ùÐí¥±´UÀ$¸„ó÷-Ú[(Ÿ#wÌÜ@ǬìâJ`WöRVS$9Ä °šPë®Òßßs« ¬Êœë‘ > ŽáÆí¹í<{Àÿŧ1„a0ºl˜R_4„wí0¥ +endstream endobj 199 0 obj<> endobj 200 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 201 0 obj<>stream +ürMÃrÉY)1¼_‹ ù'&L»'g uŠ{¥åÁ9“Ya l¢’tS£<Ìdw憦)¥ëxß›‚Å¥šNƒ{ܱòE×~1Ò' çL¿Ÿ)ÓÞM(‰oæõ¼Ö,BïÊF© kØ3®•“F£D\瓈”wo†Ç2 )߯#j‡Âqn†f›['w^!gwzn|4wú ]¶ì-žº…ŽëMˆ­&Ôqkˆ)ú­!Cqdèž=ñ”üÅÝAo «d–@]Ð92s/ËÑ»˜ +C_ÀšÀ¡žåŽÔrQY.›¦ÖËÎ5û¢Hÿüû†?ï9” çÇžïÒpׄ¹×üçÞ~9A”í=ÔÈK-pdxH„9ö¯}™Ó“ONY¾“ÉëÐýקQ$ÖsTxyD]²WW’(‹——+;¯3WòÚYÍ>´Â<­ 0•QSl"Zî&E—ðeº½§jV8óÑô1§dù#ÛµýdTs˜:â#%åÖ(ÀÕY0IpgÊ#îÚ(JÉ8#9FÓŠmû‰€Xa òåHT`±¿oZ~·¦{¼ õÉû†òúê?(¯É{”­õo–ðˆ¡d6¹5r©X?û-å°ÝœmÇ:\‚ã 9®ý®IY:}0%ó,©ÒÇ©7™¡†;ªeï«*¡²¥"ÿUÕ971Kã q¾UÄüÓ¤*']sˆÀîÊÿþZ›êCwrcJhfæ;ï‰ì•h+šÇ÷©Ä1÷{¦…»7vÈu¯ MKØfš§Ülr?pvÁ;†Ò®…?Kxì=¡q’z?GÆ\ÀÄ ; UË©“Õ¡ðlõî6Ý“3ͦ'¨¹‹aHGƒQÙ@Ê17>5v:µÖΤŢ¬Ñ®¶ÔUévþÑ~YÊÃR,홋÷ æc‡o}ðÄyß -ÊvD%ýRàO Uy¿h‹TÎYò7·§½´…î†4:ø…5«zEPÿï4ÄÎïAã &ªEP+ö'ŠòHŸ ´@ü§Óë§Ùºkk)s-- kA¤šoS-…07N0æ±ÿ{©5XÁàK4ʇÅí~›;ÚJ‚F”Îu‡cdªá›Ö’Ø`Œ‰ |6ýV–(Ÿ¼ùÕõÌOLÄ\1Í_À€˜z!ú×PçŠÏ†|€Š¿Èjl‹xe´o}Éß<̨JÎ%Æy=é”™X1ÀödÓ#*>PÇ~3 +endstream endobj 202 0 obj<> endobj 203 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 204 0 obj<>stream +Á,±/@Þå» Èñ¿èÌÈ[1œyL"¬ï7éÕ,2WpFw‚ð55é!4!PJƒ˜îȪÞÒªŽ8Ùôë÷ ¯s0áR³úqyfr¶/az¶iH1aÛßh" Í¡î©ŒwHºw¿v¨¼_xìVêóZÜ“ÆÆHÁ;… À*ê^»›S‡o“²Ô{Úd _2\µ­Q¾©î®Ùhj“ªw¶·j÷+/ɉ2Ç_à’LJò…+û>¿ï ´:zÆš®iËô;†ªF×ä4d0[ ÿO®©K/ÖK¥ò¸´V¨¶qæ +_JZ|=eyLU¤ŒŸ„ÐåéüÚ¹ËÍ.A‰û¬ï[q£»\?¢Ç‰XJFj¢“ÊÃ*£]q"‡€‰!£õ{‡ÞQOë¦jÔ8{¸u$QéyšžÏÖÍšè§a4¿*êÿ&`6°<ì#rÃí¤kd.åÎ ›…Óý vPHËptE>;w¬,zÏÀª”?ÔŠœ»}]ì 7™"b¶CW¢ûür +À€FRóüÞòTñÔGšû—kÿï0æÚlõæäGM`È´dXdÁ¥ñh{•¬^¡ì´¦mW/¾pÊ ”ŸË™ßÚ¤z4vžGû<Ž >ÍÞ´}´6ýÐh7®xçÚ¤6¬> ÎôÓäÙo=ÿ—[, _.xV+î&{¯Akµ8¬ã”‡é@ü=µý£o##’vÍ&V$ _¦œÉäR`¦_ý]-a¦‘¤Ò=. 4ûY_àö©s™£TD0f Uþ¼?ÐàE÷O xýɂ䬴yA°¬Å‘kžÕû!IƒS1øôë!…“³ê敆‚͉³ú¨¹®k‡ÿ‡mó,l©ßŒ"œÉ£pw§ùßTøo‡¹z: z?ËÄ5ìÎ,o¼ÃKÒE~þòÆ“C££‚µ¿„mö÷*@ü"ø:ïæ{Ù+¶æŠ/¯òÜÁu“7Í~Έt°›Ú"”^zûÜ%NM6z ø ÅËNÓè\rLD+Þ’ƒšð„ä«_»î¸U1õù9Mö$9œâùÿjz½%ïM¥É¬q³«dî¼åÖ™ðÛ«¯ŒçKòx[8#âØ”j Ú°·;e¿aå +„:EêÍvܦB¨çêÂå[)øÁ¿n Ø ×¸]¥)WS•ÂVÄèû©é]'±Ž\µ3ÅÿeÁ“—V7Õ‰Än¯\}îâ\Á»»œ²Míãž¹JÆœF¾w¼©K)5È6(óžˆJôôrpøçÊ|A_V<wC( Ç_Æ4ie¬Ä´€ñÕ Üs„—Ké÷6yŠ6Ù˜ x˜ý¯BL”Vʸ4}W†Ö¯HÑãÙUgæÃ6^4]AçZ¢EŒ°ˆ¥å¥OØê’CU[Õ‚ßu2T©3]Wü…ÂÅDpý@p‚ +ƒ#ƒÓåËyÝlÏÊû”£ØÊ燀3¿ãoOtê¥çäÊæv’T“FÔ!‘W(†ü£4ÎB©Åsö¹öØkNj Èx®[R:Îcjód÷­a?ªúuÛ«Õ!–éÛÅãt’0zka­¯eûûGñÒþÇFi˜!ºqr¼›“o8—”QfîÂÎSrwc%€×túæÙŽQ¿UÒøV‡]LËKãbh¾EB‚vŒ¼]Ÿð‡‰õÁ±‘h¹»[ÃÆDâæWã +ý댋yU˜w@°Óøëê07|Õòû2 ôÁ|tàÌ5ÛÔVÂ÷eÛª!Aº¡ÕN¶ÿM(Û¼zÐMž«ÌòYÕ”¤ëÈ¢®´•YO•–³²‡ˆ3;‰çHnEïGʬ>³xÈ›9ø¸UôKc•Q¨ÃB•Eê\ƒ•Â®‹pi3zŠª}jË U®k` +ð˜v¿ÒØöwuP€lάJ°1ÄþÐîv+¤ÜÖœ¤|¼°Dá€a-$Ýàºõ ø‰£r±O›ò¯Ôøß™—W±‰2˜M&4w†|Æ-“:û²ügë¶üþ]°}ÊËŒ¤:*¦ÆüíýìÊ©<óÅÌccÙù Ú-^4®ôt®m>”-¤=öï7^0Ð ¥ïíóü$ô·€½3ĺ¨mµ PÞ bø)c´†fÔš˜&súŠr–rÚgŠÄw÷ü¶†òV©µ7¼ ?³ÔWâ‹Jâõèü9U柜xŸ MüØnœKú™ÏYþÑä[\[D}´Í¡°•iþð=íå0ÒôMtm¥ $äVTªsÁ\¨”Mê,uR£%õ:÷^™ÕUJ½`°ï‰0¶§8×ÎiÌ5×ËŒS¡¦O»OLÜ÷u‘%Ò©›’ƒé̘ÿoZêô›‹BFQÝ’9¿cÖ‡Z>ݺ‡j:{ýŸ.>^6:TQ­Â¯ ^RñâL9½Z—:õ½DC£`ð/ŸQk bN¶ál=Hë?ã24Љ“±LÓ?Î5F—³‹Ž9ÿ|?Óœ5Š/ê}£‹ÑxâB ÕÙiÏöržØœbZ&ôK$ÅÊw]t,csáhql<ª¢ˆS(‚kv]ˆ)0‡½õ1Gbuo4f5žëô=ûÉTƒR¾Oyâ2=Òã9y–x ) +endstream endobj 205 0 obj<> endobj 206 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 207 0 obj<>stream +ˆ›Ð[Å.aâoå|¼âe&/§êf@K/ë-{&Ã:—|n3ÈÇSµ’+³CEÜx–{s¥5sN¿×WÍøÑöË›¨÷øœek½Ñ|Ÿ"ŒH‚^ ³ÚL¼2:¹QØ°˜mò¨±eQ|’\ÔU䂶ÂKTH[Núnqµ®æîn[$0ÞýÂ’Zö¥ÄDé%¹p ú*º3zÕ¢ý| +íÊmjDzMòôt‰‰¬óŽó>¨Û¦:3šÐ)~º,ëÑûÆzØÉ`z‘ãв2qÖ`ð3»¡å¦Z oÕÒô¼Æ~‹–ð²Ä©Äb/ËÐÐO©Ú3ºvW‡€Ç[e=ŨˆÃ^þaÊñwgGg¥BøˆHe^ ?ªî誽w6GJY0(þbý'\ˆ3 ƒ(+D¬Dæ{,ñ²¦ÖCs×t®³4ËM†ˆÆÁ2ø©5e +Kro6Ÿä;q¶Â˜ÉÃnâ„~oE a¾Å™ÌeÖ‡bÃîã26NH»Þ$Þ‹¿¯ùEÍ»ÀÅOà¿y\Ïr=f_h¿Ób¹ žêØèT?Úh× ÎºÈ!-ïé >ùƒ PóhmH±FG¡­š bb²Ã(*ÑàúÅƯ~«¥FÌ/κ´ò-Äi+Îè—’²{ýn 0Ém=„™§u±{vÎt¬ÏH†áøtœ+:¢ êy<ÞÜP\ÖìC„îvR¼Á»{Âp·ãUâ¼@/²à?Ð+áþÇj¸Ûÿ§o8ý1ƒzÃwúûV^ׄóÈ¡¬8Í|ÑóÇøšÇÃSe9÷©î““ ËK<Œ ÕK"@¯pñr¾œžx2M}S!²· '>D ›ÈaB~¹I-Ѩ›`i—Þñ. 3²ß@µŽ2HóÔuüÖ·©²Åt†¶¾@9#}̯ ømr&Xð‹0 Äg¿Þ‚+cë˜&GÉQ¹äžgn¹0–Øä‹8(Õ†Å?ÿ÷ñ#àÒŸk»Å§}e×æ…êß@Ç"¯÷pV{vPúÛ›äph¼Ìpd¸:¡Â=5iku‘£æ-¬ñWÀÎx‘&µÒšA)鎰ZâïÈ|‰ldÄäÖ@¬ÔšòÞzNšÚC¼jµ)1^fx`Ë[XŠ>ƒôPò´ÓDÄ­æµ|Ôv7XÁšuùjÍ›6ZÒ’xÆG!rkp¡úbs{ObI#ù)#o ý‹úžx°z=~ç Bƒ6Á ¸ÁHk°Ÿ¶ #µôžc÷c¯Ø`H¢Ä{ÇP¡N-<:… 0ócºÞqízã /ćûñ¿Ë +ˆæ«ó{¿Ü¨À‰û.LE ´3$G­Ê‰ÿâ"E¹ß©»£qïx=±èeBã47á’Z¨®pxïFÜäŒÚή—Q[ò>6ÃýåÝ#£K`][,òÌP8ý”~ßúá[Ð/ÕÊ“²6owû´îÙý©º«P².ã£nám×RáÕd¹i[k$¨~½Q¿ÿË>W¶Š¿Å¾ÏðY’~x¾ˆâ_x†Çö¨Pxêþ"ÆøŽÅ¡ªÎ<óFý}×Ù üIöŽ%Ý–_ŽÎu Õëåjî>ù­úMWÛ…}t˜ŸUðóiäÍù÷uíc”Ä|•<' }Ÿˆ†_ øéèhVÎÿLå®Ý³[>Ö,Ü€ fêI2ô2«˜o©*ˆ¤žDþ‡¨©•Âü.óŸb³ö‰I +‹ðÐ »ÖF ÒÞ¼öeëKÄ/$ 3—»;µã¨°A”ƒuùƒú©ÈºG–¿‰e¸÷;æöW7cýãg‚T8Š‹=Ÿ +{ñí¼+›¹pu2P G¯ ¯¸;R<$4=Ö.Ù2”©«âÍ +¯ÀÁdœ¹Ò +—ûtl¿)©:.t›I‡±z©Æ0„~9OÀfóÄ¥HZD·]+ÒÙ‹½ø"Ãý +÷J=q]ᕵ>Ñ^e&ìÇ<¿ñeßb+!¡6ý@°¨¿%C¢KVþ–~ ¹ž‘UWÿ𻬕.Ÿ´™À0TÙ:nÛž¬ið`b‚‡šõïKwÛ»N­ïjVÕµ¯‡µC?7>OôDg¼o@öø +Ž»<1T¦ŠË¹®„tˆ/HoÀ›8L^ cÔ¶"ßÂaŽ:Ö÷ +áÒ7.ëûùŽ?Á_žÑSÙ4Rl©]芇Ny‰:‡½+ÞÎãëV» ^Wöµ–N¶óE×(j:´,SãŽöÒ݃—†Ìª¿ÌÖd†P1›â3¨à«p {5¼÷Ȧ§;ÏW÷i½ÜËò|4Tu9A.•ÖÙÁ­q‰e¨Yæ©›µ +hÆ?Ç(‚T†3@ò¸8`»ðÉ`â‘à¢ÀÁªË¹kzzŽ8JálAû‡Ó’1þ;]Lá¡ùh¦¿@ZWRÅ7.÷5j8u«§õö–÷=k@?]çò§ðZjëó³@¯kƒ {8U0« +ó¿sæAç_CSˆ}ùýk RÉ"!ÌãWúòiñ©«YK?×ãÏšØwÛùD€8°µ*žSÒ=ó$” tÒ}>ÝÌ–Á“ñdÞ@þ‘'È(Ø>³íÙ/œ±ÿý%¹R§:R+diQÄ2îVÉÖÏ_n£/·½ýÃõJh¤Ñ:õ–Œíù' H£¯¹ç®Wœ ²PÚ‚1vl€()cÝïØ$Ùp¼R@Ôó¼½\ ”ú๔—8ÿ³Ã–èíY`e™ò=ý~`a”EOÍúÓ³3–Ôó{+‚ÝÿêzŒúlc¥˜â‰ô•ì^íË“ÿ3¢ýL1kƒÎÈ&¢äÞžÙÈXÊŸTr 8°À#cu ˜S. [¡º Ñ.Û@¢¾!6;°hnÔÿ-•ÛgÓÖuD‰¯÷ý»b…[™r¥} µ—Q²¡vQ^ÊÝ–R‘}ÕÕHóÆHóà¤ÙÅâ“$ 0‚!ëÚßJz£Ëvšÿþ@˜€4êFðE¤G¿[ÆÆHâu‚mïïgkÉmûÝnáÀ_+&OFL ‹/´8}(ÌjŸ¥Ê~ ^k"î­xáåá»(b›ºK)XZ²åô™£*à+¿dºB6m#Ø(Aéa‘1³„Øe‘7Dmšx|2zŸýÍ“H1Ñs/LÆoB$œåšÜ¡¶§»†¾ +¡‰vt5›]ÀàÎ÷kv‰ âßc}ª3!:Ú©º,•+˜^rI2ÇhÔaËÖO ÷¥TFÑD*'Nþ»‘`ÒåFåçŽWH²‹iqÊŸç©ÙCtW.wþ)/SêïGD]6TË’+Õ-j…[ 1â¦÷÷Ù¿”²A9QŽŽò4<·ðk'$A2 Q‰Ž_Àœu×óà°Œ.l)Þš‡¨)Ö·DòÒ óŠ#2µ=9»úê”WpiA ù£ëi6³àèSö‘FßäkˆøßΆ«F‡Âê£Üv¸[ô›/d$g€‘tû쾈x¸VànÁý’ý7;!²ºµÏ*!£¸Î;]ût ãøhˆ\ŸlÂøˆ‘mˆ"Ùf¥ØÑAZì‚![›8`$σ:üJ¾ †þ¤øXqÀb(1Þz’Îàrà$5WUå5…yd2LÝîƒí´ßež§(ÿI ®Ònát™ÞXÇ Û=~Õƒ«¼`O­ö”®&ÝZŠê+ xVý:»Ü¸’ŇQ¦KÙYwSùÅu“'ê*i›&Ýû iÝSÖDiƒúŽg'ßË7„üÅôß×ÆÆ“aW'iÜ×¢Ñ`õÿØÙ%’\¡=ºMRÇW(1Åhwt¹æŠQÊYœ¾+:{ÊhÉr!šû–J’™u—r—‹nîßòKä.æéÿ ã p~±œÜ9?Ÿ°F ÒêñiWÓ‡°‘cKªœ'b럲IÓ=¤µt£€…¯Úg8~ê3Ì JŒ¸ß¼'h0Q¡nO¡>`À™½þû’eñ¡Âº8P®ùÒ;•N;ñò0Žþ+路í \hfƒ'H§RrNRh ÎKìÂ7­ÙÝl‹,ÇGuÅëÂjÊvÔ6ïÔÑm—rÄŽÿå. g L7%BsÎë¦v3+¤ ¬û•¼“£ˆŒéíGä•pb^<í ‘ÓîÎ"Ùâ’$ì +ÿkþW´b…‡Æd3Qr¤®Õˆh4žzB¥Å+¥¡ê^„Šß3&mbõ ô†šÝŠŸÆÉ#ËÆá]eéN°¼Í5ñ Ú°¹Íï>e«³$‚ËÅÆEE‰×üF„ƒ3 +endstream endobj 208 0 obj<> endobj 209 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 210 0 obj<>stream +pˆÍ¶€‰.ŠƒÝ²pN46K†zìtnø6Ã2†Sç¹_.&‚3®P$õ‹¾B¸2ù-˜UóòÝÐwæKIy`1õítЦëƒ×.£Ðå@ežS‘áð÷'Å>økèf“xjÓÈ…ˆðyÊ\$c!ïY/£xî„ÏG,PbŠ?jg9·ûèá@hÙ4~©×¤›Òªî"Ø¡Ð3×2Í.ûLŽ‚o…&‹„6+Øh€÷uMdÞD[sr·#} ‡ó+:r‚úÜ-<œÝ/\ñ3UN^?Ÿ”¹÷V´TцÞL;„ã{zkÀ Ó•vy ÞFÞg¡ °Mý~I+Q÷IÌhZ7à2½WËeGùA¨%ly(wkâŽMpÒc}9ËO€… ŸµCª=ÄÁw_”óÀýw 'È´¶¾…÷ƒˆzÑà« Wb1J±ÀA–ÇöÎB\t(ÓÎQìwO?ü\ÍÍ3|×Û kT‰û1NsǪ÷†îÜÔg¦ÀÚvK­aœ^ò°ÓÖ ¦ÕŽ¦AZ¬© 77ç[‹TXœÐ$fÈaŸ¾x= ¢·µGÎ+ŽÂwíÇþ¼TˆÜ ;¡þ¸NU§:ðŒ ÜNÏÄç_Huúµ¥(PÀ Œ‹[ e+EdÐEË°-žÛc|Œl]­[a›d9ì°QÊ&j&/ýYÇ+ÄI¶b»Â¿(4©FK”ݵ˜ÔŸ)bc5QQR›ðçæ‘lë!÷¤6Ÿ<œ°@0ZiQªsÅb=Cgnù"¬®€Ôáñät(I•×­¼DTã<à Ðkêܕ׫mö¥})90Þ×âÝQ˜:kD‰ÅæݸsjQDHÊ× Õã3?ž}q(ñ-Úý>ý"jó_/yñq" NÊÖ ( m]Ë $ø,¹yhú®Šp½sL»¬©ÇöIqŽ’fÅÇ=qÿí²Ÿ¨v%¥k=ƒLÐâ'ZKè µ`Ñ䉪8qøjWyé5%÷qö­(˜îýº†êÅ[<(VÚ«9œÏ¨QÁ‡¬Zi®°Ž¢Õ©'ø¿ +Œæõ$h=p9ßT¹õnG®U¦-f½<ß=Ƕ·SIå÷¶7ýœA!Õ/æÖ" ü† ÿŸOú6â&„Ì,¡‚CcI0ª^®Ë™Hí»g.¢a}™±ì[ÆÜÑç3~,ñâx:(8{V¨)rW;|éè½ùœâŸ«¦R½š¸-¾ÝÉ6juyD +Ë¥ð$£¿‚¤GAMŸÑ%rÇG 6³] ÜpÉÃõ±h`ÅL:SDÏ TìzøÄ.J€C¶f׎Aj ÀïÁ(ícÔ_ +Šƒçôì3‘6Áo5tþLŠH?DáY–‡({NMm׌’@¿ŸÜŽØþVW{×nf+àÕ7µXRËÙÃvjÅ°ˆ¥Wf0À)PâKÄÛPdþ–'Ÿ·ÒX'Ë‹v‡Ë·æ²`oôÑÒS ,^çOàG`³]ÖJË‹Ë°ÞçÚ]<Ë[ šŽ¶xðþõ-ˆjð[?KÎü'?òÚùáj«ç猹éÏÑû&gqtÐF#è0sÿyÆ<ÜV÷-ÜÝÖdãþ †¹i—Ɉ‘9¤ž/¿ú£Ê&¤Ê®o•“‹2a‚·÷QN+gý•}Y¶Žøza²ïØ[…@“|esƒ¦!¢«ÎÍkü©ÓqöŒÏöyû'ÁÏXPº3'ÄA&x·:) 0¢OÑ.jáË1]N64-8Žæ6‘ù#ë·~ ùÒcé/¾–>ª÷¦–û +!žÒ+$`e]ã6‘$ œ¢²€ä#ÒòÉ&齤 ë•Î“ñYdé² ˆUƤ:!™k·ÌêîS¥:>€«ôV¤‡³3%`4!¬’3ÜÚvš_°³Ô‘YVc´#L#ª“ÓÕ¸\>ç&jHÇ©p¾ ›QD@ÊD=¬g¤ì†ÕzËÂAŠ¬u$¯hcÆ*ÏgR­bÓ÷}ØŽ·Hö2#þmå8îÁs5 ó Â*Ç•ÎYmZ˜B)á&Ÿñ47ªìf§5hÖiõÈSîóÓ߇‹üx.=Ù@\Ê›;GŠ6⥀Õf‘ð NÖülÄf‡VÛYCÂÔ)Û àðbxR–;ÏA{$ë¹…Ô·©{HPfúý9õ:üäz"¾QÖ_ÍV+C…ƒ¦°¯J~¾°ØAïE­mÍL!ú€E´÷UíkÈE»J¢˜ˆbO´‡µrSç ll¼’>8¸ʉ4Ã+Dâé] ÖC·dŸÑ¸\&ôõxñœV‹ÔöÁóÌÙ»Æ`Tƒ¾Y O}š*Ö}–}ãAŠ*¾fMÖÿ™Øز/ý¥Nq0ÎÅ 3‚ψ&€9¬RWÝÿmÔ Z ™ÿ£áð+º¢ ŠÌÐç’¹.fºÕ5õæÐì"":jfÓã{0Û WL=Cœ­ßOÀ/~úø¬½œO&šÚ•[É9VEÌÁ2ß@ +5æöÍR‰‚õêzƒ¾Ð‹Ã"ﲡaM+tÀûÿU\ÏPðúðÈ)Â߃ÔfšÌ™š§èòfÏiàÐtº»G V à£õDÝ,„ U8¤°þ_Iͧ\ÛA*F¨©ÂCÌQ‘ü"dŠJÑxAR)þ_õ +„Ͻà—1ÏSg´ú‡= UÃD¼óT‘o…7ÉÑ€HâؘS£x:¤ltk_ž"ò§k)[yƒ +ãí¹ñB'¾"Lô¸á_ã"#þÏoóÙ… +ß(3þAw#™þwHUê¯9Ã4·WÂÍîÍ'&¨Ш´ã¥=ÈÍÜXNb’/‹· –é쑲[œŽ4|]§Éô^ÿ/¦ Häml1"¿“.ØFvfj¶3\ + vœCîi&ß…á*»g‡ZyžáÉ –·_ÆF‘OÛâË Àð¼Í"¤éYC\t€7 Ìü*Qßvâµ×CàBSíFÏåÖŸ­F! +‹È¢‹µ#¶yúòi†)2º8¡¬…d­(ÝB¼ö¶ÀÄÏÛ6m$fMVÀA1;g˜×VöØ‘ÈÄZÂé†úÃ'Àò¦ê§Ü7nS£¦èªòT2^²¨ÕSÙâqÉø•RäÝèÆèNUÔؘ«#Ë@“*¹,§öz{žÓüýQÓ`MvØk³œ!`¯±cìÇ^Æ÷„… 2­2”ƘyL’h}¯m]ÓoØ„x¯Ð¦.h) +F"O1èwÖ}ø'$£=ä_ó 1•í1+‰G^\Î&_@3ãsØß½ ,}pû8墺P¹ë˜Ñ¸}eÞß{3<ÒN8€•ß"›Ê,î°6’~ ‡RÇÀg jGÖ +ŽÌ|ƒY)@ø{ÔhФ7ª#ôaL!Zî0QUàMp²NQK¶/h}tNx¯Ø“Á¾ëi¾WáIc Ož £J!Àósd€*%æ8l; í¬ü ZfG )ð+2)<7Ì>¤¥…vЫ’Š*¸_÷œ.o°^=¦…Ì5l—PáœZš›šâÔÖ†Ìh)îÐ ¾[D—b¨Ç‚Ú%wéþº­’›ÔQÕÕŸLóÒSŒš³û'p·{ØNqôU zŸ= -|#³7*E ŠMd0ï‹a°¿Â\²7mC2$j zw©Ôt¶ŒCÒ¤§Qðwáò¼ˆÈ¦HÃ'ýT´úrÆ„1»ÿHB?ÿ:­·ìé—Ó½ìÒ‰Ìâyk·;Û ÖâÇ6¤ð>OštI^6 ðW +â7®µgpÃÖ¦Ú°ÝïGä uѨ%¯æÐT™uãÍGN3ÇPŽ¤Èw +il«: ™ÑD0ã.ü©æâ¶<˜sdŸ•zažŽÚ=Ÿe5÷Ûº|Ì^¡Q´„ñƒØë(=Þè:ÞžV¥ˆãg‘É騳3Ÿ0SÂ9ݪÝ"ãßn·ì#K<ÚMÄÀâÍôÛÎઃáÔ{3 _´žúX¤èN¶Iedßì¨ HcÚll#”Á5ÌbjG6ôUö4ÀzÔ˜±aÀž‹³¥òãb|ü†@~ïÕ­{¼JÄÝ0)ªW:‹Ó>Tø½Œ½æ’Z­?é­üé!ô‡àÉ8Jž‡ÝãôâÙ(«•ªŠâ» Kà\ЫeÂu?ú04®ÜØ„T…ç£xQÍ77 +8Ú7=jºv4Ž«s#;b #ŸÿÓ–rãán?ƒ‡q 46=üù´ì*]Á¾“V¸ü}ÜFÙtB>v÷®%¥qÇ.O®<ÑáÁ‘dξiÓO"R}!„ g4¤ÆJúÚí1÷Sîë|€®b}~2srm³D‰¯Éíºïœ&ôˆr î+áM²mã&üöo ÄÏžIÞIãfb)†°Hh IÊbs1Û½ ¸:@ ìæítÐ|‡ÚlAë‘hÐþÑÅäºô Ćý´X¢?þæO–M^|;qìÚ׻Ƕlᯠ+endstream endobj 211 0 obj<> endobj 212 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 213 0 obj<>stream +UºMz.ZKCÜ|ìŒ\V!Í]‹{BöÂ&×Pöj3™¤>4†Ÿ!j5Mâ¤m!ìça m)"F©ã¿ c;)ì âÌÀc„|/1L×öiZÃ~-O2úHÆç•ùô7Æ[»©…÷éîD¡¡ž±kK«;a•‡¾@4|PõcÛé†Kx}AtB ã—•7·Ý<£^[§Tê³ä”xÿÞ7Üv4uúÉJÂ/WÚ» ¯¯ÁÊnÜ ³ÊGñ>øÞɆ ø,.æ™ÍP]ÑÜ Rà€]Pþ›ÛðÇsï"ák­A5Õp­–ÎDsû„%DS3Ѓ!$C°ÇãDO“t–jºÄ.~J¶Å,N¬Ç°èš]•cŸ)%“ÈN¹ /³Ò4 %+ÏÕ°%>f­Þ®géƒ)@öâP•é*첧ËIÏ9ýëåòhØ Šˆ¸ ¦^Åõ,¤unt<ý­Rœvçž©çÛ/΋ù¤@N½dsÜ$}lãÕ +Õ°Fö9âóŠZëaµ|ƒ-¬|¹2:…ÚÓhù~´"Z­vÙèxDGš±bý_÷ªÅ~©Ã*£qÌz¤®È“ùj;Üסª–¦í*ÝTîFCØ'O²t³áS@÷R ƒ¹Ü³3ˆ=7 Ì”•ËÇž &Á§=<ä_gIÔµ<ë4Û fžm•;º÷zH=ªÞ(m8mTXI´ý»´³ηƊOÆŸŒJÑ="›†BÑ?™ö;x¬={É=ðñx/ †bhª]±ñ áû9 +~Y§µŸ×ãíHÿX…ÑÓ±%Iüß$¼»É³$wÄb±ÊËéÀX³æ]Ý®¡½•À¸)œóJ?ùhM'(*šÏŸ‰yà7Øõ<¶û›tóŸ1ÊàÛZ,ãYY^ë¶ à<Ùô¡Ê©ØR:…ÕK.Íø¡r”ã âXnBÄL‹¨¿náëÀÓµá=]ß­&ýj/Þ~§ŒžŽ="-©}}ëiÙëUJlª]ÎÑ“ҵÂ,„¹6þ¨I<Èð$_ÕµÖµ„ÞrÔ>¯èøÈå~‡³Úl'U4Ì­+'“gÜj´dšýn¹CIe½ žu/ì0Y?ùÞ]š‘7$Âß0Œ†ŒƒÒ£Šø>V,“¨qm+ +Þ ªð¾ÒmS_ŽuŽšsc”FÙŸýj?ÉöÜî7/·b€b”4où0u?pýJÎ{ìŒ<†ówýÿŽv–.q3ÏÉœY b ¥]ÿߺªœ’Ûøá$ïYÊ{'Ø.Üî@gJ–ùHUWS°6z«YldHÔÁèxK5…üи¨ †é“7íM#€X ¸øÏÀLÁeºW]…BÃ[ÚqRØ%sn¯´Fj{ +GD•9‰Û®Q°d>"=(ûúWè¸k.‡kbBÝ”VÚÌÂ9ë l¦x°úBWGS÷Ôt€epÞ¢“e@Jà°R\LÐOD¯©“ +eÙ«—sMp”Îwÿê88LFJG*üå–Ñ‚]Æi8Ž gd¼}/²Å|ºÈèÚqÖ +ôç¢Cû)w…ó‚ÕçÏ÷^CÍúGExÅ”h¶4a£}1ü3`" ¿Æsøœö ·%Ì–ýë%õpyUqïÈ-‰{êÀþÜtšT/•ÆŽÞ—ÜŸ“™ëçû_è@‰¾QJPa±•sGÈLŸý‡•¾º"¼^* ’î@øhß3´ü¶l“ÒYöðç¶çˆÎò=ˆÄšãk~ÄâÄÆŠãó_‰ - þ…!Þf8r½nëÛl@&|ÙŒŽ2êU8ƒ•i ]qŽdŸ%§Ko)Û<Ãåó¨¹SÐzÇc½û³OmÛl&ü\™Wײ`Ã,y5{87‘§×X‘ÚLËÿ²Q¼F@¹CÙ0:Òrsðr$ê󕱧è|âO‹¸.“ U¬-ƒ‰Ñ“z1掆I¾NÜ€Ûs•>äØý6s3ªõë Êõ T¸îQËg§(>f}f‚‡'ìàN¯‰—ßU‡È Dºí×½¸¤üp2‚óŸ­Ë¼'ÕyÎ'å¡Hå§6Ã\B÷c¾‹@ê~=K¶®ñ.1éMŠ4Zü’Èb ?Ig(+±“½öÖ?í©®_ãŸäîá–NݨâX·*%¶á¨íÔ1yvâÿOq^îm•N‚‰Y÷.ÜÐ>¸rÔwŠøžS Èß@‹M +‘|«¤3ÛM ½z2¤ï'‡‰J÷nèdÙÃ×ìFÁiÆ®„Èym³—ØÑ· ÌiôÍþ&'ü$NbuŒ ˆÀÉÚ>­mH¹HÄb¡Mçá³xBÿ7¦G- Uïf{™—º³  BnKi•)ÜÉER‘„ÏÝ—8!ͼ'ªÂ`¼%Œ²Íp8“ÑÝ™TÞÀŸ®†p‰¬ ê‘AF —"§*žp°ºqÛÅÞšxÌÄ«K—þTγÝ2!³çÀñ*>b®¿È† 3½x’ÑJt®ÿó±@]¹ÕëÛÀ„2¾‘<Åc€ÔÆXóÍ÷-t'­ÖÚÐ%(;»£Y™€ûS|¤‡¬OBüUE´öûIhŠ\kS†ÎU²Hêåö‘9'5å|Šô8^ב­F ´!ÍÚ‹AœÚ‡xJÚ>EäÅ>@MR"ä¹›%\'Â$I)ÇQö +‡{âz¼‘ajúåºHg“›p¶DhšãzèÆÙ…ÂÅ·P>F–¿ô=ÄÖ#BKŽÀh`6Ò#{°ÛiÛ /²,t-#ÍH +X}9»´§s‘ëÜ[ æFDD?ys«µ(±í…iÄ1eŸpeë;j·ðR¨k¼<&ÚÄ1LŸwß0Ì úK›tK] m+ô®À,Z)5‡‰!i­r¹¯üºy( |… KT@ +NÙéQôJTøã‘ênòsl2Z3FŽG!Q½ÙÒvÕ lürŸ›kIá«2¥‰Gê‚fNƼkTç.µD¶N×ÛvèrY3¦š;57‘¿yõ´R£Ú0µgt8çZ›·E“??Ò‡=ñaƒÿF-’:0Q»Ýp'ÎQ’“F~L›N4ãÀ×*R3ÀñhÈ/T‡ÌÎVÄ‹++Ë— E{|n^©v*Œ¡€µ²Û(A¯Àp*©â2*‹ˆ†Èï Fp2UÄ‚D”Ì*P=;â¬vBèb²õ_éŽStJ‘ÙT,­[¢ßèT*››µ qU\»góÉJëƒS>)ò†¿T9Ø£Š99‚.}ÖÿÏrÌ!%Äp[8àFTÚÃdFTÜ\\NÞ“žz͘ZD@zsÛŒvFÍåüÉ<‚K(­½j^¤ä!Ø4$gNUìG CôªÏw.y¢Q{i0þʆ *¥—À¬›™°>¿v;õ¼5ÞAîž*¶táw =oÃà Î^ý-¥‡Ôéùko´†¼#g<ÇäÝxBl¿‹~†nqõ2A’&ÓÚú¡”õvÿALÇ«F¯$æñÎØgØšNbónL☮“sõ\£ê¤‚5+IâÔ ¦aj2ô!±9ñ¸Ne'‚Kù3$pQvÉ{Aö7Ìóy\†ˆupëuT™P‹Ä âðc`äƒ+îúÄLß»ñ¤€9¤ðñ´/¶s {xÈ»|ßdÅ=¾óû +0ta¾¤Vè8càè`=™xQ#Rd‚æä³@ÕC|ŒÛ +á$¦eH›Hy »©t3ah•µëJeµ} 3ÓSz³+Ó ‰åuT€ê7îÓëFâÛû£ü¦'A ØèÑÿÈ^óQùS‡ÃÆ«®öÄ»¼$óˆJo*©¢µÿ‹Ý +š”Üé‹$ÒŽÓ„.lbGØ`­Gk†¤òZ‚Úµ¾¥o‚´ƒ÷@dÇi+¯òІ "N°‚›"Éá4&ÿLÝ3Œ +vù´pÄi#¥·aÏA3ÈÝàìÍ×9y—By¡x.ðÏpÊ/ÄÛ±*56K&Q4t'KÞÒ<ºq$IUÕô8F´…Ùf~Ì÷@Ú$v³§ðpºH(ZÉž£MŒ4›õa¬ëœ­"òq¯¬Bµìe3Γ†ð9:Í2píòüBZò´!ZÖïT8cQpŽ'†ãÎÒd½0S¡Õ¬mïkIé ´ç«ËñžÉ_fÌú0,Êå5BíÕ»¤E” jªËvÔO97‡Þ*‘Æpª$Ù½ºÀÁ‘ªæçÿÛœ<êZý1ûD‹På!+w$|\ÜL#òØqÙ÷ÇeF~9çÁ…ížc!™ö³žó‰…Ñógš"¼k“·]ü>I²)ê»/ÁÞ%Ïém›½©¦À¤ÖÁÜíúôùñUÙg¶&­2IëzFÎz–zˆ?`ä XòË!-}ýê ç«üt2èE}²´º$vjPñ,Ìh{Ô>i¬Ë¹!ZŸð¹*3r"#ºÏ¤ n¸²›’•ÔÌ »ãšhÜEÚnôÖ)ÈÖá­¯&2^`\zÖO7-XrIÅŠþ] +C=[¡7ÐÝ/\ö`äÌïé°òž³ØÖ–Jœ|Âmð Ý°ƒ]\`‚#‰­Ø[Bò˜ûF&”iç!ú2eÕ¢¤+ÞŠ$YÄ6Óò’0›(äXÜí‘âÒ^oÿkw2ããG«ZÔÿ³5÷sv:]z!ãß˱_AÏ áÒñàg棄K¤æƒù#b¡e±ѽë1u +endstream endobj 214 0 obj<> endobj 215 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 216 0 obj<>stream +® Î3Óû¿DWˆ¦+Sh_B­K¹ò«ÕRu»q" —þKåìt¬„¡Ä(rÂ@üRï0¼ ".mF³¼GY‰®ª#4–o-Ödì×NÝšS`d«:Ra«íE^ã2Éa›ÌÍc©,’gge9%rQô ®è#wnãðÖ¶Þ¤š…Òg6ÄÎ'÷·œ—¯­‰èVí„b‡PT7Ö1¾Ç.âP&A Ÿ_ÂJ$¯¦´!3ÀÆÑ–fŠ¯Çä0Äi/¬Wüf=ˆ*§â>)åTyAüânÕ¦-hañׯ!ˆšr#R~F"N áRc†]½TâåILf7à†?âN\²ðÈ­­·±ËAÏt¥Êæúx–\áHÔ=fùj_ÍÜEŒ(ï¾JñV9¡DfDŠABÕ +‰ Wf°ðƒ +ŠhosQœ²#òA/ ¾ËY‚ߧVU)²p¶v†®WƒZ¬Aüa©IWSTA~BQ„†KÈB;á4HûÓ¼ŒÚck6o¥ú=bON=n)¹×T¨nø?Ã^×é‚žœ€mÞC(âäšf†Æ4íN€cÛY3“35i¼âÞõËïÃ¥E‹…ä¦Ì¡:íN%¥ÐQBqjÚ‘œ +ÂËþXvÆí×þzZãú•+úŠ1õî²qZ÷ƒƒÐòÛ 3Ç„eFÑ­KPD¹Uð2–E9ôcºä¶~.:©txér}g ÏÏ)¤¬BTµØ⸌h;G°›¿¤c§"?¯¨Í¸¼lÛÞf +;±È;b…Ðf3 M‘„1ùbÍù‹~J4Ê6¼Òf£²ÊÊ+ej,—>†Sã ú!zVX¾i6Îû?ÄC2^}Í«e²iá þî!ñGœ><g›íÄ(ØéfP6žÏ…¸öYïY–ÆM—W¥kŠ'P*èÀZ­^Xš_W2R$ç Ï•þ•-šJªTô)ƒNûŽÔÝÄSÅŠ +6òª¡pök:wçŸÍ ×+±È\Å‹`⦵¥ÜG ›úBbw­Å)h …Š„‡×¤Ÿá‡ ò¼k¢Q1PD>ø>–ªÜ•*ù×oôBÅæÀ‡Ný*’)€…ªGo›À„‚«qffÿ¨N?Ê ,EuÆŒŸÀ˜]1Õ£ÔAT +üäNÌ¡2QfÔêúêOYŽÕ¿òˆÿ×60ŒKÒìK!ÕéxhñÍ=iõkØûëòtm ü‰ô¶±Ùí­P”ä5ýmž²lùËÓSfù›ƒÌÌ=OÔ^È/⻌¸¬ ûŸhw1Y ÙÎWæÔYiò[¥Õ‡)n3 '4ø ¡L.ÉÛ¦Ý÷ôU‡LjQy ~pGm=ueW?zK‚*$„• nX]’tÍËT¾Î*¶9ãùÈEVæú؆âÇ<…è<óŠ xðg›à¼îÿ`³ùÌoy¹ôƆÄøà{&‹¦‹ë¸|D {tÍ a»Ÿ~A=ȳ·5³öh›Å@mFñfS0ƒ»Z{·V¨;aE94ªÿnx¸—$mÿ±ï7 iùK™jžxãötÏlÃx+±u‡g[ß'®}ꥌ(Ø‚+k'_¼èŸXƒ.ßý½kíÆS7…z¨ Í~¶Û0%\hq¡ÔÃm2zÀzð9·¥ ¯ÌôâDð;VÁÅXh"ž_K‘õ9ìaر¸¶b%v“·‚Ñ "3xÜ&yèz‚ ýàæWVV>ϨūošÛs:«-iG%¾hÓ³ñßùKƒ¾hØÎÝ‘»pÌÐKòÝ7¯ÖlÕ8„`–ããüÂNè;­TËÄÔG$­®«¹îN› nsŠ)/£_ŸüÖRšˆœálU×(²¼fÔ.èÝEŠÐ“dNÍdÇJu‰’µ|)¦ "#§Ñë©y]Oa‘ +;Jþ”½‹¼L_ý±V¦FóÓí'O³·$½ø«…wÏ{;_²«éòt_šCeB€û‚ð¾çqŒ‰AæIÀXY(C¿cǯ‘Nt²@D˜'{²„Ð݈&?Øx­ìS³'ÆŸ¼¬TïÈV³Ýzä¯VÄ'ËФr3o·‹;´?ŒÌ½m´óºä¢ ¹ÌsŸ´nÏ·tÂÌêÕ)’SÅ_Fñ€…IŠ(W{^¢ å‰øKɱ+F))Ê:n„ª…Ýa??ËP‘Pºc;‘Y¬›â3V†å3ÑNiç/TûïRíNæ¶Ð¥Á£Ò×Ø 5nÖÅÊ VJQdzô]O!,BmI“öÿFUL†˜|ô§Yc$Ëm@Kh„¦ûrj(È0g0fnûj1'ŠG®œ kÍð,apÝÙ¸Š€*¡<ºŸú¨î?¸ŠÞâ¾üé[bînZ7Öobsç{”æ%¬·ñÈ@^‚ +øˆ›Í¥ üŽÔ7Ã<Y_óÄÚ@z¬Û5UÿLÆ]ÇاŸHÁÖây£‚¨mdüªD¤¾òL¸˜ÐR$—­X£ªC÷f#ô«“«QchuCkìï‰AÆ|Š˜/ôÌK‡¿ÈrX„IÀâRáŸ"µ¡Ð¹W”Ûù'Ü.ÁíId?ú›„ë €ù:³´C‰QD§„dmø=ýb:³Ì¿§+uJ[‹óùËEÄ’*BK›K©\;ݶ²`Õø¦ÿöÌi—‡_ø|4 |L6ìèo œä«ÂEà\"T’L \6™ùkê,ÈäM7å™ÎàscÍ’wpa*|mãP™¤ÿ~ „õ›LÐ¥8]­‡°‹ š½$7ÒE¾ͤoo1½ e7b@^íÔ£Ë ¨UÑϛ媱Äã½ݼ$ϼú_çMò#GÒru;yèQ<´˜ÙH»EÒQPš”Žè,lí!ŠTÁ±vïN ¼pÑL‰¢ã‰ ׬ q‹—ùr12ÐÀ`øWÕQ¹msîöÃìw"ã„èÀ× Ü݃á.Íë¢êtô(Z4æœyºÜCJÖ´—K‰ô2#š?‘YŽÚ‡ŒFëH–K¨ì»× óšA·•¬3oÒäüpÐ6ÖÃv´Ø°Ò. LÒš0k6Ú/Å>‚ü¹±ÿŽÕ‡}²!÷;"[•3œ¦}Ç_–âê¸!#ø%C +6j=ÓŤ¥ZGò±"Ã7vÃÄXõí—¥ØRÁØÕÓ]' +©X€ÿö ½®Þ2ÂÒÁZåj#1ª¬¶7@étΗñ"Yã~T5»R¿Q¬^òµtó=;Ä°°ÄËQ1Jxp:$¢n  ¬ÝÞE ‚Öž/m ÂÛ•õ¦©ÚmÉsvhm§õ2ÅfÄVm½Ë(œ².”ˆ&Ã]_ãú@ôVÐ8æ3—¾o°,wU k:üBgË-¤¨3w&?o´…Ê}êŒ@”¼ ƒöÀz™÷Hèz›§jÙˆåÒÊ7ÔE”Û-!óë€H¡*™‘¡¬eãÀÊ7‘ۃ×Tÿ\H(³)ùK ÏF˜‡[;xÃAîrñ­$™~M6ö[òŸýxvs5sm1Œ &é!žÍuǧÝcx6`¼Ù½ ûø6…;ÛEH 4`,^z5µ¨]”Ôº²cSªa<<*DD‹óÝ¢ÅÍÏ«®9Â쯋ó ±s x*â·Þмa›®¾CrzËkU„#«ø¢…¾ýR玈fh’{ö·hÒ!ÉcÄ–×Ád‰Oh=d{k[øQ+a•-k •K§9a‹çˆäÞŸ _(,é-kCÝ:~Ž Ô´ú8®ÚÀ¡µbvð*{ík<’6;»3ãÔ³iŽ{ÍR+û.)Ú R^ö˜ ç“Š»méÛ”3N5¤øAœ¾}Œ®Ü’#XBs+ø°/ýäÆDøÙ;!Û,e›Í¸z}½¥Ç6K&­ÑefØ]0ˆþW nÿäíPšGúu›ÔÌM‰Á(®Úǘ¼znW•)‡1}¿¬¥ä«áÚt¬’¯ ÙÐYíèŽ'ƒth1ÿÑŽøR^‘„•·¥û¼Ø›×}£ØžÑŽrÏa»ÆÙ5ÕW›Î“¼~aDÕÁ‰CØ'@S*ÏqÏv¹\m¡ÕÓ¥‡³ø~ÚÓL•²2·uR~MpÿùÀñìù£½z)j´6¸Z~ rvBó¨hÒS,ò댨Ši¸žn D6kø˜Üq0sŠ…ãȆ­…=æßg…5ú);Âs–—À¡óx88™@—è¾Õ×Õ4ºÔHZ'À"‚[Ìj)ÌžAïÜbòÿFŒÅ*Â]„Œ¹RÄ\ñ6×ÏŒ2ôMU͘×h ¡î&Ù.Ì®ÃG6¿åOO,q®º`¡~øYÃó@_îk8Ò+c-¢¯CìÕسµ,ìå>£\÷ô6a[HéfNï³ÒC–NÀu^‰ßâø®Ì‘übÝvSŠJvŒ–@D£ `ŸûT:‚‚EV2¸ù jû.\Ì·3¢°«R›Þ +Ùrvm²|š$ÂÖiæ$¼Yï]á·9d–,Ãb4OlÎÑ¢—æ6XÒÒœW%ªv@OÙa‰Y‹j4T­jRÀÀ’ˆSÇ\ïä!ù(ÚºN°ïìÞH Ïñ]n“º¡(úKùÞ°$½Î¾¥úüx0RÎâíº3ÁËúp-€åŸI<°ŸLom°’gÝ.öuáJF³‰E¼¢ðc†BÞ…ÌæÞtã™áYnKP +wˆ5‘´!ôר”±c:Äì9oÀÊêqêé{9D|Óbد@ +ø•ÃÙà››u‡—FP¤Å±pÜ3Ž±o.Xõp”ÊpZ@ð›)ÓL¿dÚ½U]” êU™CXäɵSB‚€{IÕÑåWŽ‹ª€ð›JEüY½§WZ=ø +·åZOOSØ‹FCÎî«ž’:nºzyc”¯;Ö¼¦lC:es +endstream endobj 217 0 obj<> endobj 218 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 219 0 obj<>stream +¸‡Xk˜dÆjëj ¡2ÀêL%‹'&jiD¼,—Tù‰Oõì6Sè|ìHܯÎö7éÜQãÉx³.ãWyÍý:h52+BžýXßT|¾í4Üä£ñÇudƒ­YÓMS­!è\òZûÛ¶Î:Ô¶-odZí±½ãÅDbž…YÒ›¥˜íO£~û2Ã|X;íñkd;J‘ Êm¾™=ÍdÁO®„k=8–JÍ£×’P£›%<[ +¦7ÂñðMíö5n¬¢ê#ºÐÔrš ”BzACàŠ3vWPl¢8£-( Ž¯?¯_û³.;Pá¢6¬1ζ&†í»žü3¦(žm9‹Ÿ“›Œ2 ãæ{@îç4 +ó&§3[ +†ÔÃÕPÙ—F× +Ú7XO¥ºÿ™l78*cíC¦åË6jIa–Ê®/ŠY"ªÆ¦ÉŨ—ýÖé_á4câ ܳèV™ Š¡Ø«fœeüTY§' ƒ¨Ü~, :æãQv…ƒã¢ƒà¿_ÛÀ%lŸ¼Ë÷oˆ  p"héao)ÇÐ8êÛdÛFI8îÑ¥Z«˜ÉÖï!Ä¿BYyR>†þÊž¬;ǨŽE/''Ç÷kÃ.£-Y;Câ’‹âA09h˜BçÆMÃðHA&×Ñ×–ÿð„Òsd®ömÿ–{ïxÝÏlÐz¡§³.ôrœÿ„ÚDˆT²_±­Ô‘¾ym¥YE&­³,@hÊŽƒè¡Ù$Þ¯¶Ùm i¡&;ð°ï‡¢¦ ¸´KeL÷ƧH‰uÉÿUD>tå¼1j-D#ÑáÈêҦѴ;c- Õ`Nºÿ˜Òq¸>FË^ÞâX(¶/üh,âh`þð;ä]–`"x"ãæñ½£J5p´–ìÐ[ëgÚ:0–§X~ #L Åž\ÝX‡‹V§á õ¥ç¾ùÇð‰‘v:—“‹.“ 0 +aO˜ÙÕ'I@ û”·ÂôDᣓ=–ÌÎW¹^]Ù6¨*ê¹®ä:µÙWÑÙyKz]ýí;t鈌M»!Y‰¯ùKÛY{mpŽ +uÛçʇà†äÒȦD檸K’TŸ$Vh­ÔóÝóð†¸á×d˜6^þ„êþùî2T°&h•’"Fú|t]w¼„‘&ÓÐÕCƒU S% …á#® Xíäi7ŸqôÒ’ +îÂlpçškêzç[BGŽ5¬ÁåjV#Þ6º’­˜üUÏ©MÜöÓ$_nkVÔIÈ[}¾¶\_‚–—e¬ÒWÓ wD3Œööímc´l× ú:Éu¨–¥ôF­N%C¥q~àƒóP¹õ"#xý?t>»–øgÙAÇ5“Xªrx¾ÿSeU·ÒÆöaäSÁ«Î¦ùÅýh\ \­v ™‘ƒ7¶3ÓPé%×¼¼ñð'ªàB ûu!õÀ7§ïz¿ÀJ/†I(ïËt‹S¡yb³ðŒÏ"bÝtãi g é/”ætìºû' – ï@'ñΦHAü–srKtkh‘ÉXOŸƒ¢sª(¯k‚ÝúÓ!£ò§.-.ƒµ>sçùiçÎùŠË‰3µEqF1&™‰Tb£C¦—‚Y.{p`’Œ¨÷Q`Fp&x/k,òñðà[wf<)pËýɵâd¦“©w‡5ffÎ+ÿšƒïU®ßbÓ.2ˆ¼ç½™ýù ãj~³ û÷²;gE%·«ÎñòçN†„ â4ÙPH„TúÔõ‡~¥g™ìvª‡»šÅk‡¯(î/ð¸–)F$8†Ü +në!ãb;©[ïí;î]n#éß;·8šåo¾±U£k‡7–ºfî 2æ¤@"Ü^Lb¢ËÝmûæq‚Y8øú¡Ñî>¾3³Í#ãÂ;fIw 5±$LI4¼7k·‚¢NÁª“¹FzÏÝQ…¥~!ظÙ_¥è×\Wnâu!DƒÐco#†¸0Ϊ¢azÙÏèlÔ„@^k2as›!•$í#ÉøÀ.Ú‹jY›y-«–˜ÉK˜ÿ™)y}ä&1׌b;{T[ÿG²ÍY‹¡êÕ4TÏ÷ÌðŒH‹XÅÌ:ôÁ’©-/Õ£NÅ·JNŸÀÃx/3ØŽ8Ë”éÏz$íѾÐ –͹Eà=I /l/ïZf¨faCÌÙcvyB 9Ðí¸€tzëa-UéFÕDm6è Ìû¼HËe +ïH8¯š†XfÃ!ñ¼WJ!±P¯4,fÍ„>5_ã”æ©TQMChÿÍtÜUÐŽ$&@_"¤Tý\Ԍš k%å!¿ ™IþXg†ÎS½J¸¯XÀüfh’Û~§§ég…'±É‰Êg"èÿ™ëÆÌ}ë2¡M~ã;›®)Sbäm¥Ìrö×f*?‚—¢Ž˜ý6ë´dÖhpÝÚÙ»Ê,Z_ly÷áúãò†ƒœþ&fV£õTžÝÛ–¿= ‘Z/Ž„YÓ_:€ ¾wZ¸‘­Æ +)—š×sfrHSŸfwÔ`Ú{ô‚)ÃãÄKÀ†î›¼›«ç)oþHªI꥛HÎN'í7Ñ-pX‚¹0ªÔ’Å1~÷8*O¿|ô Ów6å8ÙDL¼0eAû²H•·ËB»ÿ+)8#îCÈGÏúÍÌ+ýj‹9{Ï`4ÈܨÝîXÂVñsL F˜¥ pÒÒGåf1¡Oz1÷gÚâuÖÏ$tUÓ:7k!^$ó Ñ4¶}›Ãòöržg‰ý5‡"™_þ˜KÍPú_frC'“> Tç¶SuìºÜðoŽŸ(BT3˜ÊÌÜ ÒÇ58‰‘ÓÂ÷hÚ§×áÃx>܉ï> endobj 221 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 222 0 obj<>stream +?–D†®ÔIJ‘lÐÇŽïẌ¯Ž»(ª€jKž“NCÚ 7Ù¤0Hó ?%o¡Zê5ãŒãJ‚@Œ®a¨L·‚¦Üƒïkdê»@l?ÒÓÝfBYû’‹XC[?ÈM€>hð~ôx×ÂÁr¥}Àõ–Ê­w¼„Åz¡ñ¦¦²*dÔø(WÔ.4#] Æð7¢éÛ½` +xÿ”_ýM±ô`)cVV„Óϵ¼yÖ#¨Žº‚Ì6è© üy½r¹ã©}Þ,‰ 1¾èç·ü®¬iO”Cyð)…Sщâîõ…]ïÁ"Îwb1Õ¾{',C4+þôuzï…†™3†t5k¿Š¨Å†Ô½àZìÑ3ô´¿%7”#å.3O  ûs;x¸ +!£GTCݼk§œP¾Vµ6ÉL‚*¹p§Ù§Ôeç*M ËòÛˆ¤ÙoóŽ:âÚ'wV)7;£c="ëg=ÑŒ8ï'öj|i"À8«39ñ‘µW­­(4†h2¹QÄslgK`<Œ!¦g¤è»Æ'ÉuÏ€('ùTÂ, ‹S—„ –¢åðÇU”x]³2 á°ˆ¿gVÛ«XI¹ô"vþ‘FX¡üáÊ°5Zò§ƒ¨ïÑ•C¢, +AÁ€ Ú–wuÅœ“|$~im—^B¯Âr²ÿyמ.E¾H ÓƒÍV±½¶ “üJ‹¿|iDÓ´›§`‰ŸÇ™²Ù0N9UQˆ)/h`…öcY8ÂR¤¡kv ¼N´—ܲ‹Vå<÷äA>£i9®"67FÒÕ"ª[ÇUÒj½VÆö¯¢žßhÏc,ÞÿbjHëR¨3GÅdw®»6rRýýüs€0×äFŠóû3ÔðìzV-ø¼nì qVíu‰{ó‡,è:½Xt¹#Ošƒýu/j}Td™A—³§GmžfT‡«3×`·«@šìÔÛ€ê›ì)º³Œõ y“ ­…ƒ®ºô› +ӹݘÛð…ÓÝ1ü¾…ŽÎs¢ìR<ç3P"HɹH×—\h²‚‰g#[Ãx?"T)Å5Æã(¥œe À¶|$\S™É¹ä(œ lÖã4û›à0»åÛÏzÿ‰ öãViõʽ½M%Â×d#¦`ÃfäºVv2Y³¯uÞ¾^í•ß—¾0uÄ8^¢Z—Ð’ÉÍ0˾<ëÔi‚G]J7‰è)—oÊb–ÓÞ;ó…í&_$ÛºL‡ËîƒQ ßù¤@kž |àâã@ãžwn|‰T§åmA®C“gJ•Åð†.½sLy «p%4:$5Šä’½Û쬢Ÿ‘ )Ãn–­.g™žÔÁDU¡‹WIé¢ÎÊŽ³gDàÛ@Žj,l½÷ô„½:å°PV›TBï¡X«µ D\S7ÉÖ#œtuDL°Ñï(Ër_7Ó¾²5ƒ5/9=$úÿoˆou8·TpÒ N‚¼xhÃI ä +ÍÂ<¦ºË®ãŽ|[ˆò¸Z¤I…©r&áXfÜ`:”̳t ÕW.‡X<4Å2£N¢¤ìNw®ìNü“$kà/ c†Ê*Ë•<¸TmràY¥ÇÕF-rzR‡@¢ ÌNé +à8ü%¨Ç»a½Ë.‚xƒÍÁü0t(ûÉutHô¾8—G§R^ˆˆ‹ËøO7öôv²uÁLC#ÁM[h¦¹ºœ©ìµ,àÂßO74ñpkÝŽc£ Æô%»6X[Éc=–Åæ&óH§6÷‹ªåw_’Â1šQA›/Gàv˜ÅÃ)áôv\¦ÄB°$‘Ãa"ÿ~YÓ†NÂÝæОU!ž[´žÍ˜/8[ðÎÿrV7 JƒËF‡y< LÁ3³ÓŒ +ˆžóÇ.v¡&5W×B[@¤s©º[j©Â’âÅÊÓaA öª´Á©Í¡ä·$uÏ5Úþ¦Í³LW]s0?^îî1že1q¶°|!çß^„µE”j¥^óGKë&ù¡ôªcsÖ’ªØxÖ.Ë™L •é†áÎLN%Q×›÷ c£ºEµÁ:¤BÞ×~ ˜{ɵ­eæ(„d&¶mˆFAêwLëF€ÅêΟ‡]V€°ð« ày.h[Ƚ6Ã/“G™M*—C-ðÒü ¹B©Oø…-êm>µúú·9çW[Jº-öÌäu +î Àq¤Ú£5VÁUéKâ°%ÎyQçWÌßÿß6mï¡Ø]xu*ÉÉ’ï8 AŽˆ†,û±M2{û hð?Ú‡ñ¼Ö Ðsª”NGÆ}qOOs×?y”Yd½Ô9ä;>÷¡))L)ý9¢vË€àºÅò}.yÌ<=]O,H«»^O¹fûÐò¬w¶Ùƒ`ÌXïß@êÉq;¢ ñÖÒVæq%¶‘VÊÍ0>ÃÞõSÐsûQ'féáðÇÇ™ŸK½ L/À±++ IWäjR:°ÓhFÕaaq_ðãÛ¢•ÏDò¸nèPibĉýÏé¡-²è|U^ši~Vå8ï üž‚×Æï„Vxh¯ÍÜ¡›ÆÚIŠ¨4u^]vÜI¬Ž™å ‡ÕñùKžG ôŠC} Û|Ò›q#+¦‘`éUç ½´°eÛ`øe·).¶)ÉvÔÀv¿*1ÓŽä¬Þóµë¨áª×²½—‚SÌq‰ÁÇŒãìÌnIM&ñ玺Ìß’–¤L¨Ð™d$Ô»K-ßvRˆñÈ’3¾_¨L]<´,Evf5À+dåÚµ‰‘‰¹ âÍß Aòéï!ko¥í#ƒÎRº°úÑ6ë]ÖHˆ–¸Éç$<kÌ*ÈÚÕR‹i•¹;êRUn<î–ž>AU8f ßDÛY³´#­˜X²6½­ppÑy»ÓP–><²n~RŒAf‚;»ÄC "u¸‘U$Ð2ÏBjݧ,ÙבÑÚ"Ö¤Ø4áVfõ³ÿrÃ$¨0;°´´ôeRwWƒzÍnJïà\5Ï›ïuùˆgÉjÄÃ,æßàÕ­eÀèõW(„T6r´tK[ÛMÛœÌógÉE”“9œ2†~QöÄ„Ô®–’¹21MeÓFÉÐÒKݳfĤÙ[vpÈSé”ú(aFÀN—Ë[\ˆ=·+µ`S–©(Çé÷‡ø"®È8¥2c…9ø”eçœßÙ?‰7õÝ_wÁeFYâÂzq=Ì>/^ž2—nŒÌIDÂPâ?/•†MÅqHõ=hdH6øJ·F§þà“a„[—¾bÊ´¨æÜtÃ:µâ\Œ~ä¼#I#k“ß…M#=p\žxFÏÓŸ!žrL´LjÑÖÏ 1O*&5`ÊÞ‡õ2N%5;ê»lëöa¦¨ØP¦÷ùu(ªM~²'˜j0ŸÃIöPÉZÞo®iPGT›,yUìµ7ë-\¼üêZ]Þ$%ÐÎ`üO^\ŒKpdؘ!lX…—–ÞXQ(™¿{%É>ŒØÄ’×Z@x¥Ò§ªÔ3±{}x +±ß¨äKU2’á·ŽC-xyâË™ó)Ùô¶Õü ®§å£;ëŸèö—rŸ§ÿ×­1U¨bè7„ó1*¦ƒ» ÎT!œâúX Šúëºh„sï»t^åd(yG€KQcðÙç<ÃÇVÏ“ýšK÷LZÿ®BÛÎ$»Ùô<ùù]T±n¿ëß9Æ#g&†9Q€pÜC•ò¯y$"Ï% ScvF€ý ÑâgPŽü^í–×QŸ’«¹éªTX—Y¬-SÖB^œI\ÊkÚôu½ +7k8‰ãÃ×þP¡©v9»¾HW1êhN,v/_ˆýë(ZÈÖ»j¢UZõ/C}úFã°<Ø°7¾ÑÜ5þWÏÖø¿£)ýàY rh‘]úµÞW|ëPçË®ƒSÞüà?«PVÞÖâäàãH\‹¼™á]íøÃ"/E•à®ášIãfŸ_Uº@m¹˜¾]²hŒ9kLÐç8‡wÞçlÈcñ]>ûB ( ~àÉõî·8Åÿ* ¦ H)3az’®C4é¨^¼!û†H{EL=Ò0î ÕŽ³“ +½é¬Ng›Å8CiÞ@|˜_7ýÓ¡¯€µ½Ï^¸‰›!UW2€¤·?Êîî>Ræ4W¢þ\n5ÅÚ}>Ö™àY¨P ,Þõú¼"5Én¨"H°ßÇ~€oE9d‚ güTê\³újÑù cIøÎG7(DmÓKH¦4¸a?+gšÀ¨ð{ÔqŠóÎ ù'3îaÕIz÷Út ,|÷V/#óA›˜/To”Iª=ÝW,”¢°Ái{ÙveVä¡}â°;.nf§çN;²þ« ýø£2¶°qù/þ×Kµ®-mûò²vž‡c÷E¤Y·J6_ñ\ÉÁ¨=‹ý׫ÕSPMr¯ö[mƘÞŠåˆBJpƒ¯ž”ŒKʤªÕK-æ.>¨!!J­¾Ó÷-§?¦&òI¶"jðâyÙMæ¬LÁXXË×µWdììkϹZb›˜(«?у‹Ý'9`c’Êìp2ùÿ ô +V8n/-–)Â0ŽJ¿¼…ŽÖ?áÙ¼x“%„ZçÏ:‘ƶªJЊFÒäíç mÉ+àù+2¬[p›uÌmØÙĺlôizߎ¦¿¡w•ÇN¯€ãª¢Éì¢ÒN,›_¶MqšJÁÁE;^¾±nŽ‚7‹…–øýú{.ˆV§;Rýw.C…‹Nr•c;"ŸÂMÐõÜ&PÒµÈ:Ü«ÖÒ²›_·aw‡ã¯g7V¼"»×œ¹M¡`Wfn—ýnëR:ÆDZÁyé˜Ý9øã,ît]øàÔ†Æ<|\9$Ég~Ø%8­¢?;þb9>Üt>:=D‰V§êê+º|LZ— +.!œ"•†Ð='|Žhæh’#Æ–Ä–‰ W©úüõ6Cky7«ÃéàXI­ 4äÐÏW‚&þ†ÑBúf¨ÝcGž{› œôWžn›a e 2 "ºY'züd˜÷N²iýIz@uEÊxð¥>T»¦¯3±ÓíɾPã§ñTÜœ3=s%“£Ž¼e:í¦Ãý•ä~ËáXð’“:XV¢f,2œƒœüFô-4-ÅAE;(•$ahÎ; qñrˇêàRx÷VúN¯`V¨øyL)Ú +o¨×ߪèF)iŠ¥!˘˜ÄV",úùîÁŽd¦ à~î¬M/Ùë$ÝÎ-€Þ2<ÊD-/\'}’j ³*¦Š» ePu©w¦¤}¾¥Z0Q¬‹G·4ñˆ^/æž_záGYe`1 ¤Ï‡-LÿR©kí +endstream endobj 223 0 obj<> endobj 224 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 225 0 obj<>stream +\L˜åv ÓaÌÁºfâø‡§[ˆ£Õ4¸°iÒãGúT% ±ñÑ• u6gäNuÜa~2u…“|Æ«6•b';óŽ·¦5Çtr#"{ÊÔF³­8b%µéZ'Áä¦l¢¼Õ`•š ©õ¿š£Sä`ŒÕDÆF{IFù ?¿‘÷£N§Ãéñé´óê‘èN +1÷£ê®îZ+d¨g(ž UV<å}BW#WÝzôTGû‚ §`xV +ض½kˆ02çÁÊra-8ØðWÔEõÓÅ"jÇqìm + +ˆ°Mäг¦Ìœ¿zCnìÁ¡h—[WÔ ó¯O8HÀlÓ131Ãì„ïN…MåÉJBDèç“ÅûïDA×l>´®C h[èñkuÁ‹^ee¡o`+yÀ¹› 0Ú‡´OíضŸ Uó9âPü¤»‡[nQ¬ŸmísŸÉ‘Ùpo†6™¡K#Ë/'Ί䇤Z掠cn›‘ug¸ò ô€Ü³/ÿŒÉÑ µº[êõ™ÔåBØÖG9ûWâ6wKŸ —¡™T”Ü!t +›ªÊH¢Ì?ã7ÒÕ·˜ÔÛ— ö‚+FWøÍÖ1ÈúbË=¾@|Ô»I¦#8AëWnÊ_èBÏ߉¯h±ã& ÷K€X¬WÅJƒ€¯õBv£ûMâÝeF»t'ßVéá"HUaÛxE½­:z ‰CæIè¾bd½ñ¶T0Á±eK @ÖsÎÈß@ÑEexn']Ô"•ÔsZã &0™Åa±ÁÉœ¿‡H¦P+™X7)nPõ[ Fì‚šq“-™R±ZaŒZ†\¿[ÔÚ+ÞS*l +ìz€7,÷ÅU½Hö†íÕß458Ñ9¨©ð¶X¸k""=-ùmËFïJ×½Ýݲ^«vâ QR‘ƒ8 ³5z° +ÁeaM™´ç|÷ù#ógÀ @²þŒ«à)¦ ýœˆ Ðè•–ÌIзrcz}–¥0ƒUe°èžPZÞ=ù_içî=ã\Ù±ä ™µ|ñ‰üÿ8ºÑ÷gâb»½ãÚ*Ùë7À2KLÖÙóÜpô\“±/Ö¯jäSç›ú’Ñ~0þϨg¨Ù—~ª*‹‘ï‹R©p¢þw¿Ÿ”iŒ¬àöF9Uït‰@ª|=Ê›òq+ºû›¸åƒîï#S’=iJèõÀ‘ÝâÑ^k†ôN)-néêÔ¹äl_ø\0Ž›îÕ¡÷V×ñ^p#Ùw`è¿5A âüT”ï¹^ý¿p~§v^é9ÆÞ±-Q{ܯùþ’IwckgÝXë¤4B"«yLάRî΃o–ØÞ˜8ýÉ üC7meÜel摶ôS¾_|9lì:üPâ­5¦…O5A›ãR2š…Mã¿t±’s¶ó-­c¸BŸÒ]`W@#Äû¦­õ0ì +Š‘ÇáY^BÑ»‰"o!¯Pz¡CêVù\1År¾N‰¥E½DÕë÷WyI©y¾L§ìœûàùÂ8GvÞî`<»c¯£²Ý QüiÒ¦ž³ÈG„ãŒ_‹_¨ÄK#>b(}ßqa€b0U5ÂÔ¿'‘äÌ?•¹š$‹ï’ mò:æïxå‹V‚Ľ”n|­ßï©n²ÀÀÔɉ…ò„ X{¨pÑMá9ïõ µfuS¶÷eR—'fuá—½\<ÀýN親¨ö'Ò§?&ŪX8Iü 7æ©'Eˆ•¢žÐ8‰ +é6{Rä€i»S+U¯RuñR@÷XÖîÿæͽM:¢¿ó¡Kö‡)@”‰Ï·)l¼iÛô'U:U¢µüÒ¹=øfQóKüe¯„¡×ÈŸ6™«Db4©$]ï{ùCÒ˜Š~ŒQÇÆEØn›oA·¦S{/w¤ªêÒüÔª¢>- +«l‘S| ž=2Ј‡ˆd枊Y‚P­ lï 4IBNL¶Q5ëÊ‚j®~_+àˆð÷½wO2ÿ + Qq®td‰r$—9Zíä-´ÊÖ¬ð•ßy.¸[ûçÀ¾ä·o΃O—Þ‹4&öRI1…ŸøPFϲÊAñ¸ù©…àOŽå Ò[¡‘yÝvT~ÌsÓD5ÂáˆçuØù™ÅÇ ×!­KCqæ± ­Nàq0¤GòÖ¢‹' ·8ÁÖG`Ä°8‰ilË ÞvG¼•Oz·³AT @ ˜Dˆ÷!ìô%æDøG5:@Ü`„eî»{­i +²c>§½ò+€ïM@WO•…ÐÕ;Ú]f[ëà&ëExÅj¤ÔrÒ«é +€²ËÖï0b¯uñ³ëa§®iæ9Ë0~V˜ë‹ÞEö¯Ä2%|v4bTÞ$Ç7¾Éìÿ“rimë@+\CgU¤o{÷Žj“Y,ü·ðx¤;ƒÖH‹êoi¿ÓLj±~3WV¶¿ÄanØä\¤ÛŒ+"D‰Ô["48p›É)”ç¸,Hêo»êbx˜RÏ¢K"˜b§×0Ë/‘²O×ÝÂÎC·7’ҵ:7‡\ LƒŸ¤q W¬­¢¯Ég×–yNÕ§ ©aù¥ÌLÞÔͳ}*ý€º•N«¾Am‚„r}ý›†]èŸ<óÜÇK½‚_žÉ¨ÚõîL^á‹‘Ò;ý6íYÑJóup~¨9MñuL¶–Ø+jyÃãÊ–×ja O¥›-DD=•A€éê^K™§@…HqyÓtZ[ü)X÷exš;â…&N—~ÜY’Ëêüé? W2ÄþmÄþ ³o-ÉÄÄÆMÌwÇj4ÅiÌÞÀâ|ùw3s­«züsT†ã'ç’ÿH âGpƒG—Ç#{lÿm6” |½ï¡†Z¬½†sŒÌ´_klßÞûqXÈ{“Cöˆ^Ï«Žú¾c4²íêï‡&B1—ϨÁãþSÿxõcÚRr|7¬IÙz€ém—Yl°¶ó!†øG“˜Û9bä…ëC)…3OJlUÎ÷*ƒÎGÎÕŸWš¼«ØvK 5ÿ¹õ·‚RâCá°ü:ãn*g±ç<¯¢@ cô¯wwsucØì>·&Ø^£)šãéÂåF.üý)^¬pò§$ˆÑØw¤øúüÓŸêùж0í.ßy°ä"g4 =zÆÄ + zµÕºJ>B¹®ñX4 }6@y|Á“ñ:.Wy³,Þ¸0Èai‚24j¸Ü*ÝèØ©éþù†çè¤ajz°EfW“õcòR<öýÛ)mµkؘ½<Ú21÷–+¼(òñM*çŠÒ|ýFF`²€@¹þ7z^_dÒ²µÄ~'–((cï@RÒ—û×lt)µ±pmZ cj¹i­üp@DÑðó¬æ© ÝÚl´’®ÖÅðaubŒ¤:…ä:šè‹DCèÊþñ4Óe/ס–ïYJƒ +!6©ÊrÍŠÂQ¹ §¤Š/Û CÈ +endstream endobj 226 0 obj<> endobj 227 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 228 0 obj<>stream +·IÐdUñ³PBúÊßý ý>nÏPÞê𳦠^«§Eö‹a·UcDÚô8¼‚×lø`FÍ#›ʉ ROÆž+¸I;ƒ‰3 nT¯Åï3rŠ1´þdRÕ9ÅîvDÊ´î[Ï2Ä/ž4À¦°Â!JŒ(Ä +ùfS ‡ëœp+@Ç ¿Ø*·4»Á¼%¡Æ‘Vªü-JAh‚9µÄÈÿ|´ï³iþˆº+®>pCZ<Qsø#mlS˜/YË­uýRÐ,øÛ¹§ùìmM€ ©ù[ó§r•P5y†Ö óÃÆF»š½‹”ÿÓ#À‘Yq.æ¸Y/§)™ ÎÀVLHW +Àé†áÏž–Ü>¨"žuU6’|‚ä$†ìÖpÓš¦Âý‰¤†Ëo¼}fP.aa#ŸûpÓÿ™&,Èz‘˼ GS”Qí82T- ¢l|X?ïr\uCþEe˜¸î—B×Ú]i¸G]Ü¥ò"¦š …t!3’ðUœ¢ºF³³KK¡$´Ç]ãX»}›3D4jj8éÛã;˜êLwµlåÔ98ët·ýq`Õ"ŒžsàãÉS—]ö½1~Âlvv°ÃQ£¯ˆGiŒ3RúÁ§Ó ¶Î'@ïkÑ~ïéç / )+fKŽèþÕ©È£ŽWòÉž{¹óý=fÚ Ã|×ZÔüc:æ¯Wº"2ÒÛ4‰"ƒ¨d®ÉZK7`ìdpµÑmpÚogÖÅÖ}ë*jÑ&Ižªzòì—·›má¢Û7­A†‡ZSÁEÛKK‚6˜J-¸eßöü˜cWŒ$mŽoQf¥ójÁ!$U£NØù’poC¥}‰ ÔÐÊ4šÁWvW¯ùºÇ;yÀl Xük|Þ ‡Y!düäDˆã\òÅmÁ5Ìq¶{¸":¼<+þŽ,ÔضâpÇ“þ_UGí4þ±µÛm•“ +Pj‚BDO”0Ÿ+¥.¶¨uF³ ijÛÂUÑ´`f0—”eö4z8®Þm¨'o ¿3E)t;B«W„)*.A_ rGr¡Å†rìþÊí\e% Úl4œ„ Ôž¡U}ÏŒw®“Ǜʭ'AO +ŽÿC‡]/©gU»}É¥•¯ƒ´À»Íh _ªÍáp*‡AÇ4µH)2æEʇ’(ëÚÇÌ^À(âð¼ˆÊÉ åŽA¡3IcöšLì/±á È;ùæpùy'}»&òµîV4û4vGj`/<¹Û/£dîEÁ}Ì]¦]AÛÑìä¿ßÉB#o™"êB«×Ç3ÔQK/µd÷^5nƒéÈ1píç\ÿ¢9/‹jFß‚¦5ÊLðºÐÚÛ–l"õbY|m‰%¦¯Š!€º™£:àq–4­DOÚP "Ò »ª;-q¼ýcnZïþAÊÒß{Ѧcó@y¯fô~Ƴ֧Z¼°~Cr=j8Ú­òúõã<œÜa€¼Ñ…ÎýVêžRxC¤\ƒñòŒÓð>¢YrÛb€¼Ïº¨åLÈ®¿˜À¼PI,ÿF64a¿V°–BÊIÞ0ùÞÃô +äŸ9+Z|b›¾fó赌è{yeÊCû·”R†¼™˜ü)ã»ÒËà¬9Ðþ‚Vß0‡U„'Þ?×Ô·Áñ£FDƒÁâ[¾ªÖ˜b¤…i.Ž>È:_D5³­6ÑÊðaZÏ¡‰?k´‡…“QŸø°FpR3i‚ì+€÷õönÚº›HÛ®²@£±imÌy{ÐñøWdujÉ‹ØÆÄ‚Z÷¾»…íe¶¼S(ik*”€ m4n RÎFã/중±òéî%v}DÛÿ°Läµ`"VÊ@*6Õ€¤†3!îÄÃ?þ¢N±lÍðÈoœýK‡vÄL½¸{ïQ—{é|Ù=‘ýxg:ˆ€LcuQ0\V¶ï {•¹3(ºMòH7A6 £¥Þ›Æ°Áùít¬a,%!8‡?‘¾Ä©íD Ht;IVX©Ór–`IMúw¨v^ÿBxÔRQ¸E#Âˈەi=ÚBkV®„µˆ¯Ù-|ÓûêbòîyIËÄvVÝ—?f1½<®Áî€óˆ*dC5¬J«ƒF +P>%Ó] %àƇÔñ@ôáøx\㡽ý¾m"1_ +ýnA¦€§vÒ>^ֆ̞µÊúòuª™ýíþS±¼Ù‚Eø÷FÅx†~¿? Öí¾¸®éHô˺AˆÙûxÔQUMehd3PZ\ +(NãIÅ¢TÏ.ûÔ© ùt§à"Ã`炆dž‰ÐS ¦²ÀhÅ]0"q´ÙèÞÏ{¦Õ»¿ñLÂYV1‰¨+<Š<ü›>mO{àÄtbXj3vÈ)ÚÜŒÝزùa‚Û:œ+d—û`Þ$î?¯á@ô¨Í\[/pô±Åjð‰LÂ`Tò9Z±/U†k„Þu Ûƒ¬5WIX™õžF¬ÎÛOˆBÇɾb´BàŒ:€nPVõý5µ³Ï¤sÒØf’QMÇZ*Ä1ÿ0Ý_›_ÎÏøåk³ˆ5«K™w>Õç÷Çõ{r.`‘°9þÁê ï\„Iáîí–ŽòÎø%Óº3*Öë(QGÛG°u!;™ANÔSvX=_SneÊv¶¹Ã~øŸãv”±yCð¶ó· é5¹Uæwº¤_٢ٰ-3u¼ T"jE¬´)gcPlîuœSs lËöâí¢Àefð‘ýãaâ~ªf×?Ä…© C=ÒĈ‰,ÞcÆÒÑ^f¦rƒî±š°XžÜ*ÏqÀŒp­9xJ¹)~am2qÏ£›î¡ç\,g¡ðŒœS4ÖÌN‚f³h™FàRŽºúWÇs4íµ‡:TŠ ‘YlT—Ã}s[BWI³àÇo«ø<±£Œxý÷qí­{ª˜«”¢¸q·RPi\ Ä.Ø`<®´ÓdŽL’¥"’ jiìÉ,(1?’NB˜x€{â pÃíf¯ŠäF 𨦱^Ä ê„Ó+àÛÉüZÖŠ 1n^±Ç¹ø²÷õ›ötÐ<­ñÜž.&í3þàFÉ_Ž§'Tð©qo±É'/ápc_ѳinbJm2"X­DõÜSž£èkî +dܽáuœ·÷rÃÖÖ ®&C¾µ‘Iy,Ý׃ßý73€æ’Þ?Fa—g;¹"$û: .ç*ØU§z—XÛˆ Ƈfu úQ:t¤ž-ò-,›ÿÓþ@ŒøßU,°¹‚D\^ÄläIÐÓŒ2ò*›`÷qNGÜ{mft=HDé)ÅÖQ]ËùÿGœ/9 dnÙire@WI9¥è.}º‡’‰Ð@x€”)%…ÕbÊu¦¥%š"WŽ¤Ù{!+S€Šò?Ë3d½²€jÊŒ1EåùWhJŽ¹´ß‘_ŒHߎ,è8(o´õŽéƶ8V°Ëç>ðügœVõ¾+ãTÐ…øŸ Ê`m5†ù—#z˜hó°CÏmâiÐ;˜-’ò´OŠê!•^šCÅ£›½(þ³Å[sݯ¶êrV•Ÿ±`ØfÛ]b(5)tÀ.;–U‰áxPo@&ÅJü ±+r¦P.}kÿ”giS<"=Ê]XYŸ%ÎÑ™àûôVnV„¬µEyIÒP•ß¦.(Ÿ›Ÿ0åZmÈ’º€_aM‹`hÑ=wß÷ß·N3œ7GgYäwü&hz9—núïÚ½FŒ©AÞ×_ q@ÔÈÅÄ +HJ‹¸59ÀB^ÿg+©Ïë?-ØBMsúëSƒ¶Àù7šç½³3û?.ÞÛ5æø?e#® ¿éX ÏJ>bR¥!S—ï§b‚و߇Vò"’ÿ:Wü‡B  LÝ+E}¡÷¾+Ýų?¯Þ:!Ò|…IYËŧ 쳘Ä.df‹l%ÀH”ÔLå­A}™¦PL +ÜÃßè­3ß -ø±¬1X{þÔÏwáðêA‚Xxj‹ê‘‘.Ó[ÄÒ-oY›_¡m/¶œ±íÆ ø<Ìq^Ó”k=§ƒgøN a¸e:‘Ž84ã²Ç^ÔÆŽö &;w5‡‰„Våã›Zb™FÇNGFõ¼Œˆª#+üw$5+“ë¤ 3R›¢I¶âµN5rj ¯[…Tȯ•k½Ê3˜²®NAçÛvÁænú¹Ð>+£’ü³³°3b¿çWx†OO£‰_étJV½Ö°nÀÈH’ë„‚_`85N“ü]Ø…¤¢yÎÿuõÆ(°˜YÍ\(+âq\szY0W¢åu=™ÊîC趋'†4K?f'ò’-k!oÞö‚ùê%‘µ'’V@Q.oB¥HÝíoCÔÿ`Éwrȧ$ôÙ|xxÈ؇0mUF§ ìͦgw°°ð[Tõ¼ä»êkš@|ЇŠš?7k·žg@'¿‘¾¦A “*óf,í3l1´«LEêZÄŽ‘¹"ƒi»<ˆ¯³Nñ<Z^ó:ÄUÌAž™jr÷ [¨0|ܳÕ¿˜&pgéççÎöAHe1 zškZÕÒ¨”JŠ3§­# +có±ü5ù­?×vur#5ƒ;šÿ¨ªø¦èf>œT8ºJR2®mB•<Ý€¼qà.8+Vå³5Wf° +endstream endobj 229 0 obj<> endobj 230 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 231 0 obj<>stream +Ft'«]:lºlÛ¬ôÅ×#“eòAH«W«~ ãÑæ·Û9¹Æ«|šÔ%F;iðé‚|4÷ŽïÄÕ-†`¤®V=w(%Ÿ€p–¬û Ÿa¾ô|ià‹ zËB©7VX;®tЮô‚@Wâº$見¶ž’ºÞý*›Úö`þÆUd!'-¶ÒEÛˆó–¸N¦åå:¹‡ŒˆÅz¡ÅwŒWfÜ‹c*gÊ;tm4‘`¤6¼¬$`þ~»Õ¿2¬ÙTiÍÎÛ€5«Nš×ÓPF‹2ï/£C„ÃA€0VÏæ)M«`@ŒÎäŽò|®?xüÕ¥[™îA¦Yû¸Ðm=ÕÞ«§B§Ûio*)8+r„ „u`º,"Ðø~VëÙÀ·-6n‘[,tfÚ¦ëŽ×…î§Ó6¹™_Á‡öžqÐm¶JeÒžèêø¾àŒøõg)‹ñûζÓ9´ÔÐ Û"ÿþcgªÿE¥+0’‘&cÓl…<ðUAq’œ w>=ÓpHvtìLGÇbÏ'}|éÐÁÞïue¼‚¼êc˜a#e@é¬g±ºTÈÇ5i‰e:ê3&djfLØ‘¢Yú—…… lÆõ[kåÞÀØßç»Uó®>Ÿá¢ÀLYkØ¥÷¼°n³S‚÷š/#­iX½"X-0¿K¶;ÜÄ2Þ—=ïd¡üuÁE½Nè Ù7ÁÄüÚAÎw*Í>k»IႪXbA9Ù¹'‚È™§%þ@)g \Vù`jæò£Ë»VHh¬)xxåyz±*ð™çð5á¨áÉCØ,¢Ú ­ƒŸj=•— MZ–·úáÀS#!ÛÔá˜l—1ÚX˜—”ëú"q›Ü†¸œ2ÿŒ¿<óðé›tJ…Áˆr<ð®r@ØÜu=LI‹¡ÿ·¶@’o}ÆÁYŸ#='å¡‹˜bƉ³ø‘2”@ê…ð…ëêy倫j†‹Gp Y±­BÓ|EÅ6˜ò6ÚëÞûúŽ~_îL©À/$¿LÅÙœ¶–Þ‰òé]]3QŒœ@ o”ðG@A›«!Ò…V3H&xVß$õ DkÑuÁcI ­å@ … +Ìç%•äR¦# »BÒ˜ûï<´¡n‰zgòpJMJíþWª N7–›4ÜÞ»ÔÔ6r±µbŒ§øœ]Ñi/˜âËt +f›fõ[èÿÄeĹB‹ +{*êo€æ]VÔ{iÃõm1Œ~ž)^Í\ë ­Êõ'­W@·ÂN“|¸ +ckÚùÊb,ðuü£é ÃBÔ²ðuè 7hÃ]‚«5¯Óü7Õþt9Ÿ%Û廪Ùd©(šŒL›Ô½o éÐ]Â÷Vð†s#vž¦Í-º%¨ã ±G¿¡|‹àvQl¦—Õ÷¼vü‰ì…èµÌz¨Öà7pÊÞÚl²–yZ&ÎI´Ho»Ãë¬ÜtôW)©ä]ÆîíèÃgÏ'p2¹„LèóowpcWÖyt/ +[ ™wm§Y­!Ëô ‚U{µb©¬gÞ¨·ºˆêÕD;•­y” P‰ÑXów¿z/á`ÊÕ2Ù]ï+cNçx¡jâ=€çµ !u/ðqLÑÆxf2ð@ÄQ-þÌ^æà÷éõúÆTš|_ϵ2Yé+“Aü,Ì—9]wk‹ðxK½ŠÑp^<¸Å&@¥7yó÷L×)8SÏtÖù1nÊžUc”ðÉS™FfÛÆú|Õþ¤™ò÷éÜÅéuô¹s9t*ÊÙ›µÅ[CÇC‡›2ÞÚ€~AfôÑÏU2Ÿ²Dˆ(Ñ' Ýøvl‰ïw÷.(ŽÖµ +ëVÙÁVy¸îI~²—–϶½oèt’^C/bMÀ•!”ìÍ^EcÂÚþ^u!"äCÜà‡7È^‰Cw"S¹gâuìp¥n„øÿ虘šÝ³X–_<Ùi5KûjÛ³–ØjS]Š¥N*G%Ë ºô`;Åòi:Šb]Gåk‡Æe)ˆÇ2º¦%¥ cÉþÅÂ&ZŽ€ùòmc…W3`âÇ{±Gnå`‰±‚±‚ eÜá¦}j¥MÎT´Ð[#ÎÒÉ®V+Áî¼NÈ@‰Xv¦3½·US +ÇJ¿EŸX-0ÄyÖ+}ãÇ>Æ)œü‰KÓþ®”ëi媟„߬éig„3æ3Õ_€^ð÷9¸YÁFÉU{èÊÕ&œ2`€|©7´nF¾­ìHuýÔn[¥“*´è9ž0:aòÆT,0p0©J‚ÅÇRftá$ºÌq­€ìIî܈¦N=Õé6‡±Ø«X¾ >®E4³¾7"ç ‘“$¢0›³8ªáÓLEo«N"ìƒÆåª{ù½+ÏP'u‹3Y϶¶¬Ÿá¸zÃ鯠×+‘k¥â²4ÿyÊ>|$"”znž^Ũ†IKÐê¿™Vì¸D¶F?Dtxl_†Òp*Už ;\ +nIÞ9k.ßäÐ…%¢%ÀÀ—B¢w` 4í±‘¨ï‰t\3Krd&Š}ÿ‰•ÔÀƒÏ”ÎÚ*ßn’S(/¡‘Çý¾† 1ÀíS+2ŽeP\›NÀ?eýAþâÞ™„ز*&„~¤2z¤M­_å©.•¥ˆóÛ ^ˆZ^[˜ð±ñìwh©S£~ͼòÈ ¨Î¬ôèf×TIE¤¶8àXÜÆ€f¼2ÛX.´ÏÞÍëP©$ÿJÕõF‡“ÝOıÁO¶ök0ðÜÏÒtå®7_O|tAoê’qŒ€ dæÐÿY¯Ýõ ®›;üÔÞ\?ƒ×W²žº-=€öô‘ꔆ԰ű ´U‡˜¬y}cŽ+ *`ç>66b—›\ZÜ#ÓÞ'ã÷ÑD¨OÚ«"žJf$*2œäÚ\¡Ì„230p{aÛOJÿ~röî-:…cpäõV|\Ç°ySáç¡2ÿ1~ÊÖcycÚɹ'~˜…k©Ú{´¬Rqa5±Xë± #òj+“>á!ôéJ’Ú›§†‚¢=ôÐøꚮן,’[̲kX¥kAòJáº5$7×™§rÐ@Ÿäë|–aSiI³a¿¯) 7‘ö ½}TZ¤åmª8CÏñpø{{d$èkŽÑ¤œ¾C ¿ÌÕ5&‹P’¨.i9Õ-½°6)Ÿ@ Ï5bb1ÖÎÐŒÒ}­Ìfè%«®¥]ÀYæÀìz~FD3¡ ­ƒýƒN_ôfÊÒ'),pи?Ø ÝHÅígÄîhT›G˜Ô”Ä–Ó!,öl¯‚c@Õm_*:/ ö]¦E.ªÒ.öo{/óµøšë¶ÙÀo†µxÃM­‰ÆQ½yñsöí‚/6ilË­r(ƒìÂOl¸Ï5Æ=£‹`ç•~™êÌ kîÙÁgÔ»òÏìYöÿSÌ \Y>ôÒ^r©[%r@;?"Ùs’÷Ij¢‹XQ š³G¿õ¥#ÛÏ[ÕsÒÐw‰qËì_!Ï«ý(˜üõíµÂSÖwî“hÚŒ©´¬SÍÊÿØnpl”`jiÑÔæUü}4!é+ù.ÿw›²ªˆŠ£.EØŸŠ1~õÞÓ?@íÆ"MG-î8ƒZHÃ/½í`“Äu °1Beñ¿ì•ãâxÊÙT+¢×7ì\CŽd +_n@(÷}n²û[»Ç¢A¡‹Ýµ˜ëÝkY”5IÀOWb¯´Tð”/}8¡.^¶{+Kµd6-i ~”€=íåà÷…¤Æ=æL@¼Ó¦â*ÿ€((ÑúvÁŸ‡ ÎÒ˜%ûs•]F Tö¥ÏMbØ UG¬#A§ÿ]Õűîl|JÛÂô 2—H—%$4H%Ç50«%äõýÁ§ñ`v÷ů”ºl”½ÓôDY2“€a9yL6ÚW,Ü¿/MNÀzÉtR±ÛnW,Ó+è òH½·(ÈE ænTζ?øËË'™òw ÎWWtˆ—aC“’aÎEÐÛüG¢8¾h$ZG¶±ÛUa’ç‚h–e,Ý$±uXOž á9x6a @ÐÈí¯uùAN†ÔLKÏouïÆ[©F(„|û?Âþq@32“Ë~×Ðì^(s…Hcñ»ë}_O=¬$“?ã +£ˆl˜j´7;íîtÓ,rÆCëÜ´W´{–óyʽ·¶%{nõTâ¯ôažBã§öý'`S¡úCÊ°Lú«ÞN9iÛ \®RmŸ=W<÷Ú8’¯¬JZÖ’r`·ÚÃ9…0öibÚ§?ÜÓº½F”ÖHPS”ÈÓbÅÿÓžqLâÿþl$™Zã.®_êú”ÜÅpÞC—&cåyœØªwƒbç±®àÐÍ$PüO¨Ì]=‹(¦¦õ?ä°jº‰Fš§ÙØUT5,Ð¥ 1áƒ-çéÍxwÜàÃ(™¯Tü×—*öy¿nu ó ~-›ÊûÄ?ŸÌÕ¸~O.îÎ(Yag¿hÈÈTVÿcçt%ŒïKmôªÛkQjåŠþPȇ™îÄm¹¥Ýå:úü„úèÃcÖz×£R”*ä å{qÇZb38Z‡ÆúaSJI³/ÈiD“ö+>͉ÒBÆqÆáÌuÑjUtWɇ0A:€è¾ÞŠ)HÐ-GG¿@…æ …pŸº1ë××>_Á#ÂðÌÞÀc£ìÚ|çÃL5„UùI¶ÖŽÐ–™ýÆf? ™ùog7ãÜyBF2@E““µÙU ºWôëð&n/7•i÷ Z7yÃãê°‹k繎¯­ïègäÊ3¿æl³§4b®îlmÁáÈ{¦î:3)ïb2<©‡czF×õ r‘–,vxÚÃ.x>¶¿Àk±BDHK/]‰0x¡ð{ýÌþEÿtÛå.mcÔöxócv=ÆÌÊI§;±Ä,’»Îl]D‰ ›T0Mò–ˆø£‡7Cx“ª®«¦j¯kÑ Û¾“!ö½;Œë<Œ¹¤ªgU—"> endobj 233 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 234 0 obj<>stream +§t\JdñŸÏ ]uÒjUe@‡¤PvGå׎‰W/—$Aõƒ½ÝÂõ-íáoŽµ+”­<@˜_dEö©ºjÎ#ÐË&Oˆ_ùer¿¨ˆN,¼›)I®à˜Î<] ‚Œj¹D¥¸ÄßfQíb£Æoôš£§–1â«ýýL÷Sˆ¬ô´‘pˆ%E7ÈI)/!zjŠ\^×ÇDÂ?½ +ÃÕÄ–.À8›“ŠÁßþiÐUâ­šÎý$0cÝhUÒ)¥Ȥ_¥8Znˆî ӌʽÁó„­xfJ–˜âo]£± ¢v•×;./d.Zc<^”­E`3&°T#p&³ÏOÁñã­¼o}fG#•EgÞú/ÂÃÉÑWô.åÎõï{]ÅR;šÂÜ«°BÃ¥‚HÒéÍÝ9f=V(œÒÖðÖêèêuðÇM°)‰Á ¡Í?é^!Á[ŒzÖA  < ³¶ò[ÜR­Q”/ë4O­a·XߎšÊ d&d´ÏÄṽmöª*……³UT'w|³Ü”)Òzo×9Þ ùñ¢BêTjÑý¢þç3ÄaßÊå¦éªÖ_ó Xøñ Y†ÒÕ˜ ;€ÅˆàR‡ÓÊû£Aß^+–”Ôs¸·rvÕݸ$s_7–•ÐwëåªÞ$¹á퉦øRY&PóP¦‚‘ÖŠƒh pÊ{‹â9Häž#¾êi“©ÂÛ+’]€Ÿ9âVo$Hô vI"žœ™Ûó›ÇÄ#|¨¼8v ów$ú†¹>ÈäÖ{… ÍÖ%­“y˜ñ–ñÇ÷”ž´#çSVptd…·îç`!x æÝ*¨€ ?,³“!L%ò•íqA˜ÎÊvÖ‹b +ÖÉ‘5Óþ lÁ"VšBz†¨uP³“ׯäøû&Œ¤¦LÕß¹e±O àÈ’KŠŒ2•ô`Ý)¦Åƒ2g!«OVD6y°”k²ZGHüÏHA¶Ð3™*æ¡iÐn¶•ž•ð×_í핬F˜s›îu?}#i~k¿XN_êÞS|À7å¤LŒÔ«ó;{ +á0ënX‡ƒÈõˆÇÛ¿$ß%áäã>G}Ƥø³¾Ö†ºØ¿ü$ž û«·“åe†V2ÓH„/ÙªƒÎ‚vÇÁÄŸ:žCQ ¤N©œš{ð34ût°Š¯Z`ÍÖì4×øú­tŽ]!ÅÑéè(mìPXl_g”¼[g¢¯Íîc%ì^Ë+eÁ·ÔfÅžäëÍ•€èj®>JÚ¬0¯ÏÚAø&\T]RJȯp¥„¥æQäH–K=5õq@ÎÄì§H¸Ð8©ø¼ ‡l ­!ø^¯|1ÛN×| êfÇ^±ènºk„™†CÉð®êCf «6§ï¿6–.×i›8-KÄ×ëÈ×»UÂÞ¿þÒ±¸ ,Dù©Š+¤6WúÀ}M‘á/>àÞ—«`ìînÏ/Ü<_«š~ànµÜZ9’¤>c®@­lLõʇ4i_:¾R¢¸1ÁI&üu™;{CUÊifèv£®m"MÙ¯=ÓÒS+’ðß#tÈ='¼æÿï2ƒhv%PÏw?ÿ'¸¸Ð»={½²[HõíŒ>{µs]ÿÃLBRÇ÷uïWa±ÕOäÒ&ÈÌ+°Ì§¼^Ÿœ)G÷‡Âm§ÁÄÓqú þ”›—dØS£ØDG‚,©´ö9°$g§Q¾1 RH[—6ö‹Þl>˦­ix¼6K¾1j Àå©ç$Î…’æÆUØøÇJ¢ÞϦ8r ª,lT}0øWÄ]Izcd„Ûöêóú" ~`â“Ã.\òI×I†ë÷iBÂè„Ϙ‚Û\s a$};\0”e,Óíµ†–ã%Ø#¨ +KÅýƒªyÈt(—8:Ðè ˆYXIjEU1¥gï¸U%“Ð5LÀ[–z¬ÒÈ©.÷–áêAœ¼ô6› §kI‰Ã?Z)¤‚<ºW·«Y„#ç"RFÚ:>ÑP‘)E¾ýʺ’<¢Ê+b9ù#8ÅÈΙæ}IíW²Kè,o‡¾«Oa’IzAõÿ.-j˜Ahy¶ ÜOäÓ˜)¦ö‹‚!~Ì­À/bGjúÓüÖ¿XD"zZÔG.7Àm‰ žf¶­O•7SI¿êÒ™** ›²ÿã\WØ"\Úñ^ø%ôˆ:ËÜß*càF x›fÜ|^ûïo£QÌ9¬¿º—þ‰S¡;A@™÷;fÛÉŒQ/¡ÊMp»Ùc„ò¸­S¯Ýƒ+’%lùwCÓÝþû™ï²¼Š¨'‚ò &õwÆN•5Rá·n +‹ÌüÔƒ ³ùLï !'¤V§cñUÙR€C=Ün,ö+-ÁܬQ +¡ÑÛ‰V­úªÃ_ZŽFå4³7ƒ‹ì~ãp4ñš—_hšÀúéÔ¾ÏÜMÖ +cP‰îÙo9 ¨ÇžHæwNEn)OE¯z)é*P›èx8¸feî}ȨlR!{e:ÔI ŠY¥´sƒÔvw#²pÃÕu¡ÿ\DТg®¿‚)ȧ‡œê(#5ÒÄŒ‡Ÿãyʲ٩pÄÚ-ª)^NLåö‡G°mÕQɘÏI:u›†8'´on3á›.E¨CM‘e¼BRè/ égù˜ªÅÿ¿‹‡ê¿ŸQ«šÕ“É$ÿ•ÕEàpKA䣉œ2;4mBVa1ÓY6§XšQ‹µDIj×—†ªE¿ëgTä ¡5àTÆÛ…sFÐ ïl—g­#jb±‘å*˨dhjy0q¯(üòw•×|ÆÝ¡žðù‹Ô œ£á,æF-<;Ï­mëã˜ÜÝÛA×Ï‹(9«Þ¹GI°Í‘¯kÆÝ¡€ñ€™÷ï ×á"ST€<)¥X<ñ*Ë +snÛ )P¸eý˵¾MnÅüáø²fhd.eb `Nã3ת+ëhoqÝüt)|}¯Æ½†Øò’ÂV½3Öï«ó_M•„\5jý{ÉœX«!3þZŸnv#ècÂsfJûÀÊ +ÜÀ„€M†ß Q“ôÁHe}ü*ó]“Iò%B#2Å÷Îç”™ôJˆv ÷ŽÄ·{R]zãþQÅ°;Ó<{2!n¡dS×¼­æY”äeÚ Ž…/ü +ÙO-’†™ÛŸàBLüŽ½ÄÕW¦ø7â«â[€Ì.0I.èÖFá2‰Évá $L¾™Àú}½Òkòà{O_Á*»ÃID[ +.„íýSähkdzVW#ÖóV&cçyÇQ)~d”nºí8k¨“sÌ"c´Æ :Q& R_+•ª1mÔéÇm¬­¶÷÷Nþëí¸ù/ÏGÂFæé ‡W%ÈC âð‹ÕÊÏ*+*Wœ–þHÊÑ¿öôÀ +ÄwåýGJýò£Âži‚V#üѵ„w’Å÷egÏ*B’gfˆ¸F †Ø߸Àœâ·¦1À'L¨©™ˆ\z9á5¯  RÔ<*Á–-+ý ä°7 H mF€°hÑcóD‡8ÛÝò&͉“¸D=Ÿ Y¿çÉ·*Ú«‰Ž÷Žúž-ä©Ü+(BK•^\"[ê)Êà}«³Æšo¯Øûd(ï¯ù{÷e˜0þø6{Ná±Ðb×ëkúø +–5tÌ…v¦É÷åæà+=*:­P$Cb¦>ÆudLóY(/¹ ï8$yåîXbC´Þ¿—'ÌZH _TXÿ½>«\æô^ˆ’^­7¹âÉiãN‘xóû±,e¹R-û§z[­óÜ!ÿ_]"Ô«cÏ[Àbó˜ ?âËp èZœü”ýÀ½RŽÐ,ô£P®Ù<,”ÚË?.4òeÝ•Ý?G v݈¢•ÌŽ¸\<ú1ãCWlÞ$ÑÚsÍ~{7O+ÎƵgÞ"gdóaT-¿ÃÛ°È?3Ýð™[’w“<â=¥#wB‚«úÆniàÁLCTDpB‹^ü|¢Õm>Ôé{®¾¸"R9°Ì¿Ë ThÁ/7F]“/c„p‚ žn£Í}+¤\µQ±Iñ‘‹Â&‘Zíë Õb@èþ>ibz˜&û9qjò^¤N+<§ ¸PEFœÉ£ŒÃM`iyOýsëë7H“¯~Ì狦¶c \,uìÙYÞÖh1Fþ9Õ‚fw!ßvá1Ì@½·‹rEh~ÀmÉ™ÁéÔ95÷¤P]Š_#ÓòBMÒÑ„šÂ^éL€×w'dQ9§ºKû¡ì'HJ·SoVïɨ²@Z›nh,æîQ±‘>Z¨ð1ÁUÒÚÛÜ‹„EäY&ëÁÐy]¦ßH6Ìr[¥µ{+b<;o]²ì +µN³+cŠ)(•GfÄLÜ!ØùTÁfƒfÝjSË`ƒÕ2vl)pí‘¿=ôo˜ñ4 0OÏ– êmÌA¢ËÊ»i¤^¢ðÝÊ í§Dsžð¯5Ù±jcÄ­õm¡Ù-t¹p¿ó§¸ygòê†Ð;À–Kç¢Ô<>~•QÉ:ŽŠ­ªIföé3Jr~}ðô¶Î¥'ˆ­dr‡§ DC6åún׿~{W¨MüÞ9,¯íotdÛ­S+ ^±V¢ÔË"ßÉ !ÊßÄI9¢Á®Áj7´,Øp¼p!Ô¸õ‘J[»mø£g/"×±£ֺЪf©ª°ßàÈ{_eïmJṳ̈0íCPÄø+ KÞ²™Ýk¯&qî¸ôëð¼©ÖEs¿/®Ü6FzrÎß½7dt­ÀÎÅtãÜÏWÞ².V%bR‹$›Êºb„ñ‚ÛŒ•5¡dá:L‘î‘8ã&©b<Ï”Û93i÷`,ãÕ”¤£¡õmƒ4Iý«a +ì‰ÅE æžiç_wCšÞÿ??—mgÁÝ@cW£œ²h×ü¦`›|õ{gßWOèdJÞµ)«Aé;J·²Í_ÄvMŒü®U(¥5ûiÝ@ãâo¥Ô\"É8¯² $óx+ÃÓùŸn‘ÊÿÄ×2‡>÷³ci¬3•Ùˆ&¿t‘š"UìÉï:¨ƒT[NWoª[ð=©jåj¡V Â?RÇâW÷QÎtã@üïŸ]™£ÞÍ­ûÔÊû\ŇdÒ‚,ºQÛÀŸ«"’V\*»úÿÛ"Dè,¡•Ïô’¯ûv!VZŽðLŸí0)ebŒ]rŒ$ÕÉò‹ºõb³ Z@c»‡átn²um~Co‰î¥Öâ¸Í&rù3ePýU¾nÍ_)è…mÆÑnbíòÒ•d+Ãô²¯6 —§ûëüO¡“Lד7ÚT=~6¼;(G§ø+𯯳 +¬Á¾ç’ÛÞ 0¨–°s9ÝùË+‘‘q}®Z"J‹uî“öµˆZìÆ ¦˜‹€U„º³2»”vƒI>Ý^‰OÕš‹í…NQ {îî²*©ȸýùúê½÷~ñ¨M³ 5¸¨.è °-ÝgÍîeH6ã“ÛÝ ¹Ô7®ÈE*Øx½\åÁžöÚ}Ž™†£ðÍV·‘~O€d‚ݵ…[aÌ3k=’kº–+%Æ°Š""x‰P·0ƒ‹x)a9 /-r–[êAKþ™ •¯×ºW^Ô_â)îT÷².Ü[CéFè›éÚñ툣y¹éWK˜R>[À8¡›_Êü<Âw(n¸äð€\5ŠÀ¥%Åùwð¼îö˜¹ËŽìpð³]OîäÐ[!-Mœ¿ŽF?óœñâd ê:Ÿ3×]Ù¿ŸçÆó{á¹™Qiµ,]0ðãæIEÆœCz« –›ý +} &m°/{º‘±þkíªç^Ïq§6Ó†Ê?»œï1º_Yº„‚é;o`yú·Ò‚ ÜÔþ2K»=¥ª&Ex‹>k(ô¹Z +f 1įu¦÷×kC8O_fnÐßòR)]< ø@øb±WóUf:ó¶Hˆöò zMW=8€Q³ÉÈŒ3I{ƒul][ÏåâDý„Qw¿Á±Î…R¡j¾‰cäŽqÊâÇ1ÎÉ<¿Æ˜AØ(GæßyÁñþ¶¯ +õ+Ì£'Å´uïº4`´œ‘)‡¼:G±bÙÖI‰øâ^YKj ½<†B™xÍ[É4Ž 1kI«2~KÂÚo}ÖYjÄ„Ó¤¸%þ××wj#Cf/àÛ¸5!”:O{Ÿø&ª:ðŸü&¸€»¢2—€ôJõ͆Âø¨@6–¨ÓDÍ‘'…“ -LJ@e ¢*y +Z@æº5r"[ñ©ßz‡hïÜx—ìºFnILDüÞcnäà‹·«¤MñNŠ¤§ŒDÎËTá)$îÌAïô8ZÄã×Ù+km5Ï|/Ž†d:ÚE\Y‘˜ºÇ‹À–PXúVʯqA™¿ÇT*æAú®´ñléx^.’ÖŽøÏä=Yü(×9ce~Í;Š"õ=A͵ ‰ÚY΢òô_ÙZ¤u¤m ò +À^…EÌRãa¯ÑÕŸ)‡"'tã&­xA€"ómbêìù}ÒÞ(I?m æÇ‘WT£×OËè—[0^¡±8ÞYK_Κ÷9³óÿ`V$ ›_ËüÑo ¶çà˜ö‡=E%K(e©û0¥º9Dûå "sþ¯‡Ü¬ÙŠÒ7íÀ§þã¼ö (ÓÄ&Ô«Nç©‹rFÕÒ]óºBfjA©kžëšEF®ãPFMñ£üs½!H–¬¹-AæŒUÍqzM9JY×ëHK™rÎÊÛ;,ž˜X‰ç¸æjÚ×)H +endstream endobj 235 0 obj<> endobj 236 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 237 0 obj<>stream +^üØÁðÐÀæ¯8ØuFUü¨ìÇñ­ŒX‰ñùæÿ›Ä"Õ#PcD³ÕûdyO˜Úc@ðî™Ä^³ž¥]˧L ¥[„¥x2f—šÚ ¯Üå´œI°+’íõEpùßóMaæòøF9}cøG‘ ň ¾k¢¯ˆªí¥ÚY¡Ñ€VŠ$>e2jûÄ6ÈI­¥øò¥59õÊ€B2$e"Ô»P æÓÊ«Öª ™…¶EyšÔ- +¡!tiðæ/0a«¼aYI2åüké'còŽÞÙGeWÐ9JxÑòÐD‚¥ë˜ó³õÏ3—xj…ë>>‡¸o^Z–…´s*‰›4$Á¡{µeúœl5xË_Þ¼Oï•ÉY;Ê'á–côœ}©Ou^D/£K*#c÷†‡â­ÚÝkê©KÓ?g• Aü‘,€¦‡èÐY),Ãê}Ød[ñÚ~ߤÈaœœÐÜz¥[ÔÏ¿UnlŒ¦¨îÓòÏQ™ÈlH­°Æ‰[-°8‹®Á‡x±¢âé0sÚxoØy°?¾-šÑ%B ÁЈ.ÁÎBÓ ^–`L3Ш¢uÛ®@-L„¢†cShb("Ó,úØKsÎŽœ÷Ñ«`Œ½a´ìÂNBï. EJEõz{¢L†©&Å*•øÑëÖõüöš2R„“_I–zµ²Ï“8åÊœ9¿ Í¿Êv)ë:é8²š[çʼ[hԦ廩S°ìu^#Dˆ(#ÔÚî/‹å¢8..úwBŽ¥MÄì>]J +[¢'ñ€»{¢þ»lèÊàu•O™ÎP¡þøíQ•Û4 ò²‘í囑0|Îg™[»Â?®GL/GJw yX§~{…t“f•R‚Á'†UA%ð_xQÓœØ!± îö—ƒ#›—.ÜŸœ”0(‘¤ìN +¬^ot¦ÃèÄÄ@ hΠE9IffÆÒͽ:dL4øñ“WA3Ö«´«ü:=Yǵ¯)ᯄ¹­ëÙkôËéÁoÓsÅdÚ*¶ +£ZÛaˆ’ñîŠ|ÓæÆÁ+æ6á>“!²õ¾3<ët^Ž³"1„MmžuCˆp,¿j¾OxÃå)XCø§»QýÄ–!A–ÎþÀ‡#l †Ûµå|Î c¸Diתk~ß…×|f+É&-OÊ·qù9„M`HBpÉÄ&(¾™Åzµ’Wñî­$Ï—Ñq´ÏxcüPí™Iª¯20·’K­ölWÝ-DàhM–ÕLgö¥ n)Ÿ]Y7Ù¯ù[Æ•Ý ÖôE$UlÈO£XšiuCžLÀxJèϻ߻Ì`®RÉ¿F y­-‚zU«c!õ@Ï>frÂÿRýµëWgö—é•û>wh´)³ ~êëc0n÷}$ò¨4ïjbÖvk+«‹Pø%Õ= +¸smÛè#Øœ[z9ÐLÎVãír@ü—ó6‹¼ê]aîöÐz§m3Wû./ósµßEMõt»ŒÌï‡ï¦AoüjîÑÓóÂ!Ôv×CÙLL\±Ô-âLÌñï”îäYa”ëBÅ|rMXvþójäUmŒº›’¢¥NöÂʼn6‰@æ{Ú{Q••ÏJð,YòKoæªÝ#P>jŸ’øø†X}RÓ Ü€ªÊlü/ãSâpØèI¹ ÔºÀoŸÝo’P"Éð b3ÔÝGIcEòŽÔ'"ƒA|ÅN§Ò Pý\ˆÓ½A¸®Ρ\ƒ4ܧle¡ÅÁ’f¼Wmñ™åUqŒXé½+Ùtf·UÔ¦A¨©k@¬»Çƒx>ßj,[²Û(XÀ$À˜9¢\1«‡9‘ÊõÓô±ãârPŸLv®@'¿Æ!K¢·Ž{alÜQý°‡YÑ…K¤x WÙoì!ÒTÏ-!J‰·<×ê<ÃS¬z‘öûbÄðï&¶kwèÅZö¨µ“¨0± +A‘s·¿àjªŒùeù&S-ã&´„/¬Å-ý²Þ†{ }¡{µßÐÁ+Z'<“å ¼J„Áög‘ÚÏ<ÀkQ +K µî·®–.ݱª÷’>ºù€Zâ—·Åsó„µïw¯Ù¤X¤Vt;' ‰¤Õ +¯>ë#}¥&†¨^ÆSÕÕÑ4¹\çíFáâ|á—áÛÜ«ö¥ìr=4 “Øܵ²ÊsB짩èÿûó• + +>bn!5^[0UШ1d$ù·µ4J ì†?cË_\9¿G:,ãÓÌÔÛSHd˜‰:îIn™)çg?óÈüðbè  ãæmÒz8Ÿ°Yƒ.[0Ž>· ¸ydñ® Íeí7§­Q—lY@ÛG‚{ûeàž¹Î'Æé“樊x‹•ˆMx30 ]C>ÄU…`[Î6V8£CÒê>DõSµñŽèBcW¿`Ò -v¯c‘&‡ Y#½!ÇÒ²”Ë+¤…»r8¥"sÿs_ +ÓQˆ€K.nÏ»‚êsæÛ'Èê_4}a Wè†HŽ\㜑r{¤²?EŒ ŒÄo”–ôÙ#Aý©fÎ;|‹døUhÎü\.µxˇïŽØÓÄmÓ…qLîRø÷çêyìÅ ¼ÅNe¨§0W F§O¢+áZÇç'…$˜b,+Üv×µ $ºõnÙÝÚ/Ú=„ÈÍñ;é*Wy$3- úi¼•\ @,ãžF.:‹_Tq”8kˆå^Kñv²ïÄ:÷)´* N‰™V9§VÙâo–îwUzfºBø(„vdùÔ)鳬ԓhÒg/÷qW@¹ s4`Öˆ[  9‹Ø%“@"®ŽTq…HV±ùäMÖ¨úmØ?"@#µ;Êp:ôÍÏÈ,ï-*WI¥‚A'‡o~ü +›lsk»>å%Ø»°I†(lè_•-È*¥¿ºô'I‡3Tm­È[tî@`ÆËþ¸hø>ÜÝi¥jß&5È §ÈäMòãÌÄ:™áö”6'þ`€ãOÀ›3Ëu©û¦8ö5–² ôC#9ÚêVkÞàsp2?}WéXùîÑIÁŸ*ƒ“&7§¡-nãÈ¢™Ü_äÕz«zT¬ÊÿÐAÉꮃ}Ö<£ ‚µûý/õÞƘ5u¼ð{ÑÍ·µ•‡”a®Oš)|¼'^Y.åEÊ€àEÏ–¦,ìpcžÈ½C&¿\›˜t,>g²<Üž)§ÛƒÃº ´¤,"é”oÿḌIuø ‡×vW æ"Š°¢w-(¹„…¿Ú5ˆ&âóÇvG0ÄñùŒ=³¸˜Lká0á?ç+ûð'}>仇¨—Èyâ·zQ¥€»$žÚ¿Omôi>ÀJaKvLö£rEà ¿ßBä8²ðNcÒç›Qù*éV{Ç}ð;¸\KHåPX¶3bc¹œ ï¹¯ +­ºkýóE“Ê À¨³‹2âÚe¸.™Pÿ£ÁGetCâ*ʳDiU6!êh"*3§3lºîÏuȦËB5)ó3qëÀRgLª@ð ó“iB–ÓáJ×Ñʯxiìßk.]Ô7:}n̶‘½€wJ”…•$%ù¨  +endstream endobj 238 0 obj<> endobj 239 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 240 0 obj<>stream +>çbæÓdâ ‚ÌxŽèæ}>¿Â纬PØÜ~]—mra"fºž¸¤%*•ÖÖ¾WÆt\{ÍGðs–‡äQøCâl!|M¯Å¶G"Þòž­= ‰å(ÂÎÔÜÅàù묽sfÐ|jÄ× '¿“ +;¿¾äÑ5¨ÇëW0aK© ™ëþY‚èàü-œPp`®v)F†ª¾ÿª¾à6N¿ù3ÐèâTß ÇßMÖlº‘HDéN»z…¥Ì~+é·²º{c뚈OÿÀÙúÛRš+»zˆÃŽæ‹ +åœ0L ×ðCr([åÒA£¸'|;FHõ»MîßÆY_Ç5%‰ôæ˜* ‰È©›é:Œcöa…·<ïÂiGóÞªì Š˜0“ýS#eV[ÈØHDbQÎú*&çMF0D£!͆æ*bqF¾*×ùÇb!žÑq­ò¥Õ$Œ»Æ<óAük~¼ÚèøîKV‰X&ƒPí§ômòÜ @p6FfÈÒã‰ñ¿QV…¿Eèô­:•b/S ˆó*¨ÎÔÎ˦F ™ryƒºªh#L-A¾ïâí3k*ØXIÉàq²ºo; 7¿Oõ®\j_Uî€ðdð¶³,¡g'PÞ¿¿,Qh¾-½‚.½æüWhç+üQ>–X@;›$”þ®ghvŒÓ#z#„•>“ê#ï™ðñˆœSíé;6–Li :y°gZéN=/9•c…#Ñ?Eì®Í +ÏÓL/‹^<ðž/~XwèÀÀ"PµœëpG&hg9_uYq÷W[pò«>…þâ£JïÍìTtµeN_‰È3Z  Är^ +K¡Œß6ræ5µí ÷¤P„a›¦ü#¦k­r3¸šîjÚŠ&hÏêЖpƒ9žÄä¢Öö&¾ž9AèFân\«eÎ]G4øä¬úm¯£éñ‡}[}nxŽ7ˆK¢ß8íûïC ÈÑ/ \g2þN£²é‡S‰7ñD%Sî)C>6ú7»|àã=_~}vWðUº[¾’j¼ÓmG-ÖBZ€ÄòúT™!·ô8­ÜÄŽÉ”½¥—“£²€†Gé¬êjǦH÷bFøFlÂë®ñQ‚U- ºÇÕ†'O;r.λŽ”ºéÞ™„f,½–Zì}÷µäÝCdì/ +jœµ•ß/ÎkùuÁx +¹RF—ANÐÕ›RÄdÃOž{™¼›Bðe çdªÀÈô2«.éš@ºY‘ür¨¥7¤v[dq±ê¨§a‚éõkšhŸg¾‚ñ‹öí?‚Þãûuw?f. PC©ëèLRyì¶_¸‰¨œXV®™m¶ýcsô þÅÂdF +™.O²eu˜¨a†g4è•!7€N^ù/œ8§ô¥× J¾o«o&4§·Ô%k;=E*©Á ­ÑŠTëè¹2²v|  y¥ Wfâñ}ÊâpRtA½Án +ˆƒ¡s“jïêÉ8TDWäŠçÕ$ôÅ‚«Ú§v¹gŸY<£S~ѼÀš×Çeýr:¥hŒ³½øF‘:„ö:¤bØl®¾ºÕª‘l‡Hmêªd¬r&Ñ6~*E7áùE9°Bn‡mo¡ aÕ ãíÇ@ `nð®îÓ‹«‹;ëÐÏ={è‚0MÝÃHUDþ’ãlYïy_gÖ•ý­YUl%±ëLBÏ$¹²î¬¥¨q.o[ø°`NBšÎ{6àI釾¶gíìyi½dV øÉrqHðÈ šE%å„/2&Á‰®Ý>#`\–?ÛJV†Ú5ôÐíGm1´)é/[%¼.¾wÖžÃ7ÄÊ2Gº-=Œ®)ËXCFõsIûßüÀô¬\¨hÛ¯¾Qu´š1öP¯Ó!÷„OVò'ÍÒ6åHçþ/„M9w~®v/ê+Ê0<8º<\l{.'js£¯süE#ké$ZÆu³Š&eŽžv­9ï Š’”q$ßĺâ‰+žgTR 9žb¸.-Ê7îìz=BIàuµŒ 2X0UGÆjôã²J$YgcèÀüàV¬›{¯÷2†ê'kOSXià@¨,÷ çšÂª’¥w©è ¦Ó–šÚʇ,÷h8æIXàÌøŽ¨˜ÙͲ`½.×ï=­G-Zó¿Kht5± ì6Ø7‡ÆÿŒÚ_0kŠy,)AÉ:bm²ZÃhõwÈ,¶Ã˺TÐ>š~úéã=PŠ7z*ÀE”øŒü×}¨J»‘GJÍy/øª¬Ú½W1®¾sçþ”zm½_üÅL‘¨…RM)E%Æ·çÕ言†ÿêÅÈ °µê nňIS"0@}mnðpâ×-) ©Ùç WqVTÏA‰«4º`ú„M´fëzírÁ”Ô Šò«>g|·ï]*glx\ Þ=úçh@°ëÞöݾ{™¦(}1•iÁM¼æ+¡2þá«Û¢ƒ\x+c_ý„´/îžÇ9³†0B-îe\õ<Œâ¹Њtä>ÃhÝ0æÅçrI=€ I»!Ô¯1*±_Ú•zë­Úº}"Guð¨«NWÁü{ëÈÅhFÄwÏç^ª¿SÊ-WÔJðù.è¤×ú¡Ì/‡6Ú®J™mææ‚Ð÷Õ¶_›ŠÕïó2ahÒ“–ܸÜñsY=¿j@w·"¼åÉ÷¥R/ð»ã[ûjFðKHÈ|W¥³M×{OØ!%„îç’˜°ÉÆ,”*9˜YbóËnˆ|X©FB¸7Œü0 +Z» Ÿ[ø]ë§æí¼¥Ïfh{þâßX©C±ûœª„[f'/L)GwQGšդÅt[wÅ/Fï1q`OÑGDVôNÍ·›±âžµÙQ„¶©Å·¾È›‘IÆB.¥Ô¼µ¤oìÙ¦xO&HZ¦/‹ÚäzE×PöÕ€¨Öæ ÈÆîa¨faõâC ,.Ç`9ñå•›‡…LÝÁÉÐÂ(€Ì”tÙ’~ÛëËÇÐÉ ¥çi¨zªè*U÷räÍ‹Ñ,§›ÈÑ»Æ&‰ ’€¬²Áà©}ö“ŸIÚGÊ•ZÕE0V-Ìg˜¦€åg;Wùìpþ¾ + „Úø7¶õ\Û×Z¬y(%a ŽéPù­ +“:æ®U²W ø?CH…’Îæ?“R?ŸŠ4žôR­_'jy'¦Y›õøé6ók"!'B•¨¥Ij-. +endstream endobj 241 0 obj<> endobj 242 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 243 0 obj<>stream +7%é–­‹ta…_¡n`§Î’Œû¸—¢bQÓ =k¿Ô=N'¶E #%>DÔ›¡¤”Õ¶šCðEð•aŘW¼*ê-WèkGVµÿC+U°˜œ3!„’]%ÓpéxCr´]KB“<`ÃE‡D]"¹‚f¥i\§„V&BBÏ9sv¾õ4Q<ÛqCtÝÒÜ ¯Ø?¯ÑZíY1ètwík”=ອխl–4r8æÇê¥! hUnN¶\,úÂøåŠzâ^†:†=,|;“ˆ˜Ü sØ>lýPl«ß»ÎìNjù…˜¢`÷4$û…î‚Œø+ÉŽçTß²õ•†¯ÀÙ¯z¢”IAº}èê+­’:uÖئä¿%K€&‘þ<á|¡h>ÚtÑÆÎjb‚_qØLËÃGÁùÿ‚Œ¿ùÄÐgg¦¥YpGÃ`_Ów7z€ÁԒȉêL¯7"?adk<Öœÿ?€_Ù^Ý£OÊžûWIáÚ5ù0(¸ÆFVµœÒe‡cR›W}`Rìj \`*@S¦Ždƒwâç@àX ¿é$sð%™"ÓÈ´a£¼Â8>óMQÌ,Ä'ÏïÌ×T)QÂ4­‹€‡† +M‰§O'­5$)‚¢è·Â3šÁ JlŽX\{¯1íS“Yú¸»=ÎѪ8É’‘WÏ¡›@¿2þªõžÒ‡•€3a7|¦-G)«HÂäÔ—!|ê!%Ô]oYø™K©h|5ûŒÅ Ûø;ª(ð1Ëp5v7·ì5VrÉÒ« +Û«ÿ§œ›‚2¡‰C ©Ã bçƒ-´ÅÖs”¹.‡W omá;º\RgƒÞ0™Àúc±×Ë_õïn¦‘:Ù!ŸÀ]î&ã–ÁKb"—Ы¼Z8T9KYbàn§àX¹(K4x÷.ÅÿPÛ“ùS¨O}ú<¥6{l7Æõ )³Þ3y9§×Ø¢-{S©ª½$[šÅ€QuÁ*…Ód˜Ó»Û`€Øå#ßÎŒfåÝ5Éo³†¥KI Xç(¶ÊÈõÔž5­%oK»VͽæGŽO€ áNx=yúE“}×f¾Wò±Ð:d¼ÍVø¶`‚?|P1q„É1â¼á{PRfØKÐ& +ÉTÁ8/>ðpoœGn៰A,q•é;þ¯¼M¿ŸT¡ÿ!è°…sÅê­ˆÐbo#eI96írM˜¹ÉáM‰}óâPþäšó€šäÎûïx¤{JÑs0FZŒéÒq‰C%^û‰S¿«ÏÞÏö‹ª«œ¡êû’š€Ÿ6.:QŒêÍ…´7Ìò-‘c‰Xß;Xü•â*TFLa½—;ñ‰ÈügwAö£òAeouL§}r8xÛãb_¢îÙ + ½Ô&‘¥?jZ2ò£YƒÞþŽ32ø‚“Df£ÿ¡fÚëêÀ&¿`šFÂè+‹v2'<²Öìµ›Å/ýž¥ 'ݼÔÉr*måz‰#öbý¶ú:`×Må¶øtG©‘êø ìJZ s$­³~: +eõMˆÓz+_Ð —Ñ6’Þ‚ö_³†Ð:|íÅÕèð7f…0­ùs¡(3£ßºÌü +J +ÞΟ™ÀLfø硬~q8æöÉ‘¿P ŸUSy–[ÖN¸¦qŸû ÀŸ/ÑROÀ Ñ›õž–šjô›Ñ©V’˜]‹g¢ÀÆ8Í#k¬C4 /•@ÅÍ|©09wÀBµ‹Ä.ì.¼s±ØÁ^YÛ–° ®¦ñ³˜ %!r‚GX{ŸÍ*¯Å6ë0=Ã*ÃiÖzpRƒì–€Âæ ¯öÊ%[X?µ1Å‘fÃeNáï·Lc«ye@cJ ê%JHø°„¼½\ï]ÇHm”Ä”Ø6n¥EÁR8WYSýÂPzƒO¹îè]¡ïõ°ƒpWÖ¾Nä+‘Û«=q߸ÛSÕ‘}ü‡920X˜4Ö«qƒÊ­Gr×–p^•aËY_t٧ݮÔÁ ØÅóºr|!  £_Ó“d«~>*.A"®‰ÙÉâD,!,ó>¸ðVú­Ï´K™š,G¢ÕO7¸—ؘMœ½Úç5˜R9µ¦&˜ö¦Ž9º¢6€X'$¬Ä¸¥Ðø7skÍÌà ìTóë­‰Aó‚j˜,;ÄÜuäs€T|™;“.{”üÛàj{¤ˆ<6\tdØ«ÅA=+€E3ýú[%1`ß3N –OͼïaoÎúTk'/‹mœ¸íŠ0ã¬f·–¤„‰À/zþ*ûîÀ¦Ë_°ïó¬Ì¡ +iêǨ…ð÷(ºF`eÙ»kSº‰ö†M ¬[,¿(žÿÁ +°C1ÎÉôOÆNÏpf•¯qöŒrr#ð…ºŽN' +‘þÏjMü•ê­áÌÎ{<›Ù¹ 6ÏÖD¨Ó.ÿ¾iX}ÒjÊ‘ ÊLdD.²:þgåÅú Áó¾w¨tŠŽˆæd’J”äk€oÇ>j,I®ÅðÇ:Ï÷,ØW'p#Üì!þq1—“}„Æ3UgŸÍ_÷í}€ŸEÇõ½‹Ð;ÚB.8ŒŸ›!õÂÿ’*6cÜÚ[ÄúpÙyd¥’Øöç§d×”SQ}ïKJ¨JÓ·­Â7W¼ËÄ’ÂÚ|,©Þ¦][wð˜fÂiZŒØɃ†!$‹ü‘¬&¶ž\›ÀEh`ΰ­•V˜ó²œ@ÀF½k§þ••#úW ¡‚§)— + J¥¯$nøFê4„¸<¬¾ÄĤBl¦ìqh“µÁ›øÇÔ¼tIý°ŒÌ–3@h–ÈÊ/Ó¹úuî_p‘´›àÔéºií¬xzãx2騫Ûâ(ËqtžxHÆ*‰HÙšl*¿ß2\ÚœnO—p¸|Îf´d®‚ôÙ"ϺnÄBšLç²Ç^iærƒ»¾¢Ðÿ“®µz¼]7¹û%ÔH°¨*Xaæ]Sß}k•_Îó†ÿY­1ÆöÈ$Ô< Kee˜’AlûÇø†¹âd®{çqeëR/®Sé¼ÌpÜÂðÞã„lé,$efÑÁ‘7L£Ð­ +ì 1æP[|¬¾]*#§ÿ iYÌ<v)pKFÉÄ}þ¢6Ö»2(ˆQ$€Øc¿ì™ã@ãYeù5iºä9/,¡IùéðÕƃiê®R .q[=uÃÕ»ž°H­XÄñËwPK{9”¸@tCêñ9†pžäþI ’ àï¡¢·J&' 0ŠI殣Td|Zg¼¿S~£#hɨëσ*v.!89Ô:}îÞ½ÿ6(ßøþ¸? á†[—n¥¬OÙd3½¦F©X˜Õ ²¬ºP‹ñ:ú3Y¸ÝG‰(á :Æ @ËOwÅoç¯ËùH™JÛ6 ÚdŠÆU—y }ø˜@X(¾ºGÊê Öϲs»yUNÃêK^— Š·áË2Ü­+ösN|+šë¸YGíw,ËÐìça†×Ä:Dÿ.TTÕ¹‘Ú +³îä~‘}v`‡Ž’¨¸ÇMK¶ ›ã €.Ñ’Qóƒ#]G_­ñ5z`qFˈ` +z= Ù¦QÍô\–÷Í&í…›{€·Eí­_=ï+ Ý뙿Ö@‡|r<5éΓ¾á±É½3¦kFruiÓóÕžíì"-u'Ì›ÔûïêÌ3¾¢K ­ƒ+ Q§z×T*Ša³-H( Ûíor#<àQÞg nqõQ|qØ#8¦½§æ¯nÒq»5¼ÙK;ï±2ÖŽ¬±>¼Ú s4ü 2%c­"„ ¶NeÖz}f) žgËæF;P”9·!Ež2YQ’ÎadRVéÙ¿Mâu2WL Ÿ^ݪ$u|eÚ6025TÅSC÷)çÕC%*òt?W|ò‹“5ÔŽ¬]Ð(–Bú=>³ ”Êݧ‹ËȺÁ¥â! 4g–ÌØœ ôœ™ ³ƒó=öã•{aWÔgï“\qüŒÏmuž ÑÎÉÜ +endstream endobj 244 0 obj<> endobj 245 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 246 0 obj<>stream +¼× "ËÆ\ë05ëØZ+ÞÊ@Eíq¹ß—"Û@J +5hë8 +k眉jÊDµ'BŽ¥x0zHiBHj#Є^`î°º Êå® ›ç®BÆèvCH[@_ã¹½\M `ß!q²\ã¡ +=¨†`Én£|³æ¶I‡ïé¨Ò`0)¬õl@ïª!§Ðâ†ôŸÐWÜ"B›=•dè¿T„s›l¼Çø™‡«…CYqoàÔ·•sþè±*Ñ­S¤·b¼8:Âåz«”kzÿ­ZÀç“Nçž|ÃQ½¯¶c9]³5îS*”Ì2¬™hŸ6û‘Ý;ñ\hh@š2è8úEÑ?pânŠê}Cؽ0“:§.FNÎN™=ËëÕÐ÷=¬á³žckýŽY÷Aq’7]Íß±½Ÿí®8LzŒ¡Eɧ¢wÌü³Ÿ  €¶Œ£ŽO’cx‹>ÚO8k¿=#î«Š 3cÈb0'hcÂ(8j¿<-bµ -üÉ‹7ŠZðê-D”ÛY¡ —¿K‰ª§†Gl*· ó%kM‰Í| ÁÎç~fÔÚ–ª8–}Ô‰??¿ðYW´ñÁ 4ª^§â¡Õ•=Që&j¼£I&8ïàAˆq6ÉÖ!Èu\ÇgPž«ûÍ¡­…j¤ŽjqÓo¸x>ÌV}•V;NgÔd1•0vž«U„+EéñÍUå6§­øêÅÊÜŸ~ÉXœè‡÷¤ËˆGÓØ :¨Æ¡ó×Q^G%ÙÎô\/¦rÜ›!,³ÊÆÈ1ýE@\ þW +˜R®-µ˜»—ZÃùf¼Faêºv^FÚøÙôÇ)yÇUìo—“ÖðH5è„b…Tγ̂xCƒßÁçuå/̽Ÿ|ëä­›hœg'Â#ˆ|¸î+›Ëuæîç;Ý .»Ž*}¼ 4=çŽó–g@„…†¯u&)<¾‡êGgR狵ãª%8n’$“:/”º±B|ÝyøÂ; ¶câ§7ÛùÞix>hž^Wßä €XVª!ѲmäÑ9Âøcã©IaÚxÿ¤8΃öŠââ(ux 36ð×l–N¿ vó +“wŒ|$f œ–*€€¡–¾È4‡³¡êSÅ×*AH +°¯¼ÌνBsFTÃ%V‚„«ï0û\˜ö×(­4¤¤ +¼ îê²a¸´i`ú\ŠzB‹ð‘\ÆÛ°¯b×åHOŸ&…Ù¨ŠþxR+XˆÉG[ßÝ|2c¥ZßsÐ:`8wPcüºù‚TÔÏäý°¨‹h\¡:<%ÓškåºgL[ãÇónW4È85 »f»î‹$6‰4N)"sŸÑc‚½oèÿ/’ëh†\«UYšzb•ÎpWL³ºßÇ<M)ƒGJŽ½‡"[ü¼9õv$ +„/;ÝvTûÆlûÉs¢(“ Àé¦{íÓ__±/zv7Ï +®eY¡WìóÔžÒ?ïò̬ágyè‘õõ› + ‚vtBeÊþ„¬&Vò €>w€šg4ÔÉ»•¯·1ØrÜ`§2µø¸ü»‰d7{Q‘ƒÂtî!:«QÎ…îD­–RP±;žø²³ßØĵ"~ŠhÂcÌ€d­R›þyœÎVBEíþ¹ø»ã˜XñïúâK¶Þ57ð:j‘C7çUÕb•WÅ#ª]†Öô9ÐÒɼ÷£SgÛãÄœ<ØíÐóèp´z_÷~ì:˜¯V!¯kzÿÁŽN–/&r^,r†còa²C¬q‡}™ä„w°Œ{§’ÄG¸cúƒÙ«ªºœÎ_òu¥OwŒ÷“ vQp¾œOÚ½KßyÍÍ_ÛÀ±38ߣäÎ,€4´å*„ˬè]NÖ=d†š”DNo¹ÉVÛ‘ d g—l? ƒç ¸–§SkuØH¶RÚ3Œ˜Ö²‘PwÐ8~6.¹s‡¿{*NùKS6¹˜ˆ¥ z„ÓYo¿¡AÓ"éR¤Ì<=K×11€‚Ð^`gÒãܾ§á\Ö©Ÿ¸z0R’§ñj™¥HøìyIeÕU¶5àPŒÛ†a®gE‘tJ²ÎJ³Ç#~C°rÑçóá{s” +·40Ë´÷M=6kæùv69TÙ&¾Ç‹TèˆçA´Ÿªµ•ò…Þ½Gú‡oFûÙ7 'pý|ÇϽši3Î7Ò‚¬ ƒ>ÜÀX«_áˆM&“[Zšn¤7¾Hêyy@ðùÞÖÎ÷&¼Dj5%I‘Œ^Çûõ»\§`ÖI«|ï‚Ö“4d%e¼$K×1`òÉq<©]ÏkÒ<ø»t¬£šjŠ×Rñ¤Húqû:û0Ï$sÄî8èŽG©ö ô:¸Ûo·ìÍ9•Ä“§²žÐZ"« ^\é°‹¤ÎÞ> “Õ¶žeÓ°òßc©OZœR"bŠX=4E9j-ÿLB~‚ˆrÞ{ÈL‚xó%÷¸]DjÆPPœãäM_j\eÏ4~&nÙÙ ¥ÜãƒK–Yïè¥nþòZ»¸ósˆ¥~‡l¸{;êþóNZ_äQ2HülÌ^Ãn[MÍôÖ÷+ñÁ­¾³‹Nh´îÒþ÷DŸ0­_0o¹W¨ßædSäî•‚ä ëÂ[gåX`¦K[ÝÜÌ~þÑsV¯.V0Vj”*?Ð]HÃyöÁ@푉ìáµâ2Ur·Ã¤K‘Èbåå L`…µ«Ž¤"ØÓ‹š®¸Uˉ̛Lõ§Žò пvêÅöá:ج÷âð;AF=,°º=3.W°Xö 1™ê“[VÄVšÖ? OC«×ÓZUû©¼Ý/×LRÔig›ÛøHbRkµîÖS£¼GŽ$°¸ÿ<ÕÚîŸÛ©®ª´ë€½.°R ®dû]2-ï+òüý´Ì,†2—ÛÀ­» ‹¢¦¨F ¹ T=¼òÄ…,˜L‚®P!Ç‹•Zïn,¨Ãn0f‚|¯[™}s,Ó‡<ìવw»Ub¸œÕeÎð§+ëÙrÆœÓæä ݳ㙈¿íè3í²áqºíÒ¸wÇì`W{ŠÂFˆÅÖ‚x˜ÜŠO õOJB‰"d‚*,é_¤­¸?\ßßœ „FB$ è˜ÃÁÂ÷þ¿™Ûptâf5.£c^£ûðTˆè£Œ78'Ï0ݘò,ÍòŒ 1ìŠÑýUé_€B6Œz@}ŠÖ’`Ög!¹œ;ŠŒðbR1Xg’±ýî/›Ó»C7!ljó¬*Ý:CôÀû‹B9- #ã*ÊCZˇ +W.VøY™ûÑ}#Õ Ù~üy`°bS8OënCˆI—Öœ{)‡2$uüç éì÷Ž“fzc¾#æC à„+H2hUÅÆàÈP-‹`£°ã’ŠÌ†nzWE‹2y#ô¢MÀ8rÑm2Ö¸þþ²‘@¨…uºŸçÞègU}b›†ÇPˆP!]k‰ÌÍÞŠÜt™qÌzÙf5óC@‘×V$=›Éø#ëÒcôë>^ Ž½}¹%¦{õ[¤Ùì[$†^»¦R,P­‡ØäßN +endstream endobj 247 0 obj<> endobj 248 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 249 0 obj<>stream +¾m½öÌ¢§X³9ýfË·»;ÌâN§Ä_cw<'ux ÄØ!ö»‚(ÕÊì×KÌ]Ÿš×©Ã´÷Ÿ–‘ã¦$h&¡«¡?¸Üq +ùu¢KvÄ‹_aêGA +Üu-q%5Ô¦ÉKÑÓ^þ{¯—®ÜþUQ‡ÁÛàBÇ,|+d;Zi@fµLÕ‰n­)z¶¢”Þsê:]îTvtzXxèÞ±]ç<軆xÚ©8†<|AÁZÝîc×Zˆ%ÕïÞ ÜYs[æì]˜Óœ–Vs`WÜ0™³þŠ6Ùã|?AçÇñpi¬°î(zRð§lU8 õ°Dû·#˜e ÍI|øŠL ½,œ˜`ÝtéèÚÌn‹›3-lŒY°îjQJíV¾[ÆEÿâÆ`»ü­f]õ6U?yU<·ßx‰mÉ°Js7¯À³QjÓT‡ d dGÅnx¹E’žòÕ–•âÍd¹GÍÁ×NO˜Ä˜ÎJ¦²n‚šc$< +žŒÙKfª½B*½#T½ ˜ßB·]¹v|¦ãç³ã0P_ð #3–ŸñÁ³—ô®¿z /ž$3b.š}À u‚Ä'› ¤<>ôLVFø`H2¤•%FQpjSh#­+©ÉÖÉ“ÄoÈ9Y>›® r‹çÓ ‡ôvþx›ˆçdÇ B•1…Ÿ PaH±¨Ìby& ù+¸a__7B‡MÂ#zkªKß’sóW¦L!8ÞõÝ:+P¹Ér6ÕgàjßeýI«èÃÆÐUÖîL-$_ªõIŽéhVý74»Ééï¹"{è“„ê‹S”Ø·ÑkM*ÖïŒP§IÑ,Þ'æ3,Êœ“©¿çí?yü‡˜Ï·ĹþêÁÊÙNÈ“v¹‹‘ pd¢>±pf¼®œ¦qiì/÷°Þ]ÎÕ£ðãæêã_ÑË4lÄÏ¥K(~ïrÀñiãÿÀÑ0å,®hÖ)=š‹žé†¸ÓoñÈ|"asKÛs™Q=øµˆ­¦_tJFÈ€úJM…¹§ñ …Åçd®åTÌf[Ç6° f\"30 +sÌA¸¥ï¸Ý0ùZÏDBöGOMÄ©Îÿ#²e¨cÆüŽ ÎLÞ¤>r-ÿoµrñÛÓð÷u$Gla;¿h<Ï‚žŸoÅ ©I>Š8•ýè¼Å“¦|ïI-ͽL%»­›?/8J*Äg¬›T·æHy6ˆà‰³¢¥Uw_N2S.èÌý—:@oe¸DðùJÀ„¦:ª¶EÖX‘:ð)ΖÙˆÄRG¨ïº3"Gú1}NÑ&-h¯¹3ŃÂi,™h9Ð䉷n1ÊÉ\«Íå ýÀhz}f÷xäû4-™‚„[¢D AŠ‹f^%åîþžÇs ¨;oH²Ò,8‘ðñ³0š@ËÆ«wÏPÃø:1Ûµòl,6sS‰kB–[±]%8h•”à=|p~v AŸfßc™ØÎ[¹E¿ufN‡*j©äHm–naIñíXôÓs–·—ÃlüŠžZȶ¦ú ÒGß`„¶-ÍqBV ™SÇãüDZՇ·qwîqØ'úà¦$|ŽÚüâæx{=4ãÆY¶> ›çßy]*,˜Œ|>|&I?J‚€g¿ ›@Á Ì·Ž$Χ})LUGŸå¸ÍŸ"X‚D¨(åÚ +i¡%7²7&aMJÄܯZxH+^}Ñ—Û ²ØF佩¾~ éæÜ$]7VkëÌãL Ÿ/ûë•x÷[r-îâ·Pýßޤ𑘠+àAzég§À[Ç,¡…žh˜ý>“ c’z¹¢j4›>öMørjBïC KÒ¨¹سÁŠ›Ž¤Ä’IVT£$Åt^ïtÖ%E•¥Q†y•ýø‚Á©¼9ë0ŒwÍK¼°Î¦Ù›&v³V®€Òh²˜ø$¾ýfí†Â e‚âÅæC8¸)£ë.Û²Z‹ÀîÿÛ K|…#¢¾ä¾P×hO ܾ»Æ=èŸ}"ýfÁVÍëÛŠï4¦×¼[–{<³æèP¦ áùEïS¤˜'ï–“+ãg'<©ŸËri@eĽØñÊ1‰‚鈇;|‚†ì(þÞ¯¥§Í>ÑBöÓ,§£Ò²ŠG¶C¥ã—R¸ì,™!‰¤øú<·|ÆŸ,FÒõ´ÖÎÍ|‚ŤwQ‚£)AD”Ü¿“^~‰&HQ%YÍgptÿX Û±¤ Û€ý#VÍÄ]\»›Û®ô×p»æÆCÑX—5\·‹åZdsd¥—DÚÕë ‡Ì8਷íš#.ßàPÅ$‚o­Í #l|ZP«ÌÚ(ÊÍ-ÅÔNܳ•Xï–Ÿ¶°¸îÐfÊÎSEG?{ý­ŠcÅ¥ò7 +G;àÔÍšŸ¼þ¦S#Šúg¨RWü¼8öëXÏÑ40pa{’¦ë®§jÞ?ÓúéÒ7••åÔÆ +Q=œûe´3c é" Ðù 6h—E¸‘£ä89ùË&o@¢&ËšçTJ õÂa}èÕf‡x±‡Æ°6Dì¢í:I›-8“'ךÐ6»W'ßåU¾-¡Xþ±Á‰²çmȽyÕý5·ÓÇþÄ + ±› A¥ñwhïæÜ· :5À¨d¶÷w£fð +ŒÁ%ì#WŒEJo=—¨wØàp_™ÒöŒó§hèp¹Jås0ñŽBQ~h:­ÜUTÃïGú48ÁO'x0hrúªXÞ…ºPF7À‚€$/I]ä² Ö÷’óéÏb‘[Ü3ëM#Õ5ÒU,!ãZRá0z?8®Ük¼7£s6Æ|R[üÕž!€ùnU¸zuFéaçrRpî7´P¶ØU‹êíÌ1^¥CI<©Ìówcxc+û2CôV´€«ó®ÞZJ®9¿³quÃT/Ò?õl5Ÿ’7Ünb<ºRžd›¹A+%çÙݜʇíGèÚäÚ™›TvÃç5àÔL ù-´XgÖ:fZv'\²:xM9R‚‹©p%µdˆüÈ—dÅÐÈçÐÂf&"îò'°25è‘]:=€gZ~f›w}þ50eúµäyz=ö&5†FP÷ Â+TÜÝ‹f2db™qˆ'kjó{ÈÂÀfÿø¨ê¼SÆtÃx3¹‚ЮjÓUC +³(PžÐýÀ*9 œv†ƒ_ø·¯F­Ýga#ÏŒ½™Ò{ÿ«Âô1]ʤ·ÃáMÑý¬¯’ö§¯ƒ`èð£å¼ÿ;H§ž’.Ê âÁ˜è:î‚âË¥’ôNSÔ#˜ràêÞ8È™ÜûCÏk ‡Ï*Yp6ÙtU—v²ÝL¸·$ÊÝÏíûNö˜4 ý¢à?¦[PRäšL­XIªÁ×¢ +YªŒ enÈ|sˆ†È^~®B>2¬˜Q¼€ÀªØña­b+ªÑ‰ ígÏ°T oÃQiïïP¢¹¦ä¬µ ÜöÏ5ß·\W Geæ31 +=ϱ~ï…7ûøçgöU<õ%ÿ¼-ä®1c­íäú$n®O|ÞHÐã{¸,;[/\­]¢a¼ïŒ+Ö ˜uâW<¹$œL0}5q«TÁ_©L¹öÒ•Ø6:ñeYÿëÍG íwV iÊT[Žb9ǦKªn¹£×Àƒ´Ýsv +:;nE^ëðËÈìçÒ¦o£áhu-DééPîfóñ ›ø¬5ŸpÄ–EHîn0à¹à'é¡ZÇGs¿j¦ØÄÈÃônÎ?ÐX”iV™¦ô£Ò&_-2 óo1ê“Ñ +(Mé pÚ3ç¢ü‚…5C}tæün$mßèÚ(>ü„UÄ…äëΚÚBòQ@ŠòeÈóÉv,…›DêWðaÙÝS}À›?$¶CWÕkcÎÀí™ÐÌõp\ǬbÓ•»íµv×~ ‡h»çiQùÄÞæZ‚]W̶¹)¼ ’ÃbOo³%•>©˜fƒAܳYå1æ™w6lKw%rkN‡bÃÒ—@ËØ×Ø#ÑrBª(Hò™´Ÿbëå­ã-ªxûßM™‚¤û\‘О‚ŒÌ¿×n´Hø ïjDjÎŒ—µë "‡Â‹%œYV:F³:ÀÆô§ìÒ¼›€BoŒ¡óÑZ˜£¾WÂüŒ@+æã8¡¿´þ|žÜI8MÓY´š£×‰eX@sÆKäësz¹ŽÇ?t]æCe*8Ž}ŸŒP‚èn¨9Âù¾'ç/ê’´¬h­•QƒNÂ8‹b“'äR_ùÓÌ4‰×—C9uIƒ!Ö±¬ho S•šéýÌ‚v‹ÌšjVâ—¨Ì:}Ö¥`` CÌÝâ|ùO¥žRá‰ë+ôú×2¼‰«íN±c¸’2Gæžs¾Í"îa]$ØœÒ&ݲ]t6þ6„Uæªx¿–åÀ7°up°Î×·$xÀö…"õYp„Bö “Ƚ„hÆí¥fýRQ½Ÿ§6i—§>Ðçìédª°bJ SŽ«aŽ«ŒÒm‹€ÞkÈalkUÈ"?3`ø»d4š-…é ˜znn‰v•BN|¹á.™’·žÈ,zäsÒg.$) á¬ìc½m‚0–5ÂŒB×ÒÌÓüƒA†l‰´óÀ€¯’¹ªr4}+,[j ”¡¨sʵ„¦ÞĬ&kyÎ%d÷|çyeø·Ùß=¶Ý#N³;,b¦Äu·„æŽ6Ϫæ‚{S<_)Ì»¶d?'ý +J GRR‘ð-#ÆQ4%E‘k‘ØÍ=^E××”Ä&ðäl©gL· Oë$šÒ<ö‘wo"÷ŸÙE"‰€öŒÓØAZZï +endstream endobj 250 0 obj<> endobj 251 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 252 0 obj<>stream +4†d«ÂuÄÑ:œ7Îw´/FX§@€´‡é¾èØ^z rv-2}N&VÇl/÷o—Ïûé>{p7÷%˜°ñ}Ffv†S]ÿæP±1XÀàÉ@ÕÁ8¯wPŠ2§®´7ñ-Úg‰‹ÿ—t…¹J_ÚÔîNaê­Áê)ËX×׈nd#¶gÞH wÇ—zjë3Ò¤Arð†Ý`7Ì4æùmç +Ο&ÝůT;#@ ]o%ÍΛ˽é /ògípZ2d…UàßàedÄ¥‡”…@êf\÷çÕòÓ¤à5¾§è©C%/ZšI³8’¥ZÔ§Õ¤õ2ZänÀB§ÆqBk?m)}ÏéM!á£ä¼Íês­õ E,Õª³6÷8€É£¦ÿ«O|T¸ÝEÔÎÒìC‚À–øÛ›Ï6K\Á§d}sñÛÁ£®®‰Óá¶z§%êÛ-S3ChåŒd¼«^•h36ÙLÐCðp0ª§"äƒîÑ¡•íÏŒè–aÇô kÈ€#T²ùS¸¬þç£,Ñ#C¼‘C{‰C4Ú+OƇmç†êšÂÅ0”'Ù„¶ñ Òï ƒtÛ:ˆqÖdüÁà|x< +þD|‘²ID`õœô½â“7äX¼â†[Qü’ì!R¤‹o§zò„ó"7®‚ÍÚšmÁaWE™r,­ˆ2ÿ­Eâ!>|Õ©¬¿:CxœØ¥€øÓ`zõ|,QÌ¿;ƒšè¡uJÚž"FÍÜW/‘f[H.~ ‡ßÓ¤w,¾Xz$WF±;lrM!çCÖ1ˆ 4Y&º»è >æ…6jç$”Ì&j`“ž…H ºŒÿ«IÌo`Ý¡÷¡GL:+'!µuoy +›A÷Röjj·Vô‰IaV¡J÷È +T‰§ï7O9ášØ-d8ò*W€Ê+öBTÈå̳ÓÒÁVDc¥e4÷“ïZ" Òªé²!Zå Á²%I´“ð +Të„Ûo›üWb¹±æRØó#[TÐp2Œé¬>î¥W¼‰EÞ^¥öÜ@Y·º¡ø§Ëþrªòþ§C‹êP‚áóN…ŸBñOÎÿw͵„€¶)ßgd혩I­G†°äφ¸ç…#jîç"%¤³Z`Žþ`ÕjàÛùÙÄê] £è˜kªÁëkЗƒ ÄÁ.r•¢ø„&Ü{!#¡ŽöEõ°I¬Ök/[–á¼öXÓ¬‰úûg²ðŠ¡ii°ÀÄÌ`¾<Wo§Ið‹®5„æîã®h«¦çêŠhd·<ÝRÕÔ>¹Õ¯±GÚpYj¸Òƒ°$Zž"—0 ‹Õ®Ga~ÝÔ¶¦c·dŠ¿!"½Ö(M$ çædý¼Æ=~,‚Ü]û¨Öí%jBšž cí×â5®ô‰> ºŒDÁŠÛ†ïõ+)&“KU‹;Á÷ ¡"_F\©“CCþÏK²´tÔÔÍÎû§Õ8!B€EÏA…©m÷z^ÿ÷Ú¨PúøŠs5vNÂÈcËÛ›ŒÑç¨ÅCQôö¬ö8U˜ž¼$®>ªÇ ²˨€UË›9Xˆ»ór´2Á×J"¦hÂ6¶å˜¶?-¸+sH;'^‘bˆLA¢vlÖÐÿË^®äÞ(Tâïn¾i£š TƒŒrí“ÿ¿}wa™º”}Èn¹ ÿ]êJúé-ORçÁê ôÝ<•UÏ놯qSþÀ‡ +_e:…1¡ÒA·9 p+;BÏJDÙ9cþ=ø&̦£QŠ©#ŽqÕ0pª)á½õºüÛŒ«ËA_Ÿ Œ€ùu‘«L&ãcQMñ !E¤Ð©0NB ¯ã΀bA«cÊi–ÅMp`Šxµ/N¸îœ¯êËÆÞdjPÎ=[ý5Ð(ýXgdy,ãÀÕØÞ +‚Î6ì:àÊkÔãÑñå +µÇ–œÇó¶ÔÇ£F ?Û}ýBåÑ*®«Zq¹ñ4*t¤q2,æê-ƒ + #^1K³kƒË„}xÙk¶•øÙüÍ­ë;åó3ÐA½ù#Æ]Eñ®gZ¥ÔÖ÷ÉøF;æ;(A/ƒ¿û*“¡îyRG ÖOÙ¦T™q³Ü?Éq%ºáL1ÙèΉø‚qƒýSžà½Â3ŽQ5}s£g¥×ÿX±[ O›TÅv—xŒðPOÅÍ”K«öJ=Çè„5béˆ×ŒX™N›fl¾¢ÊPµÌèRú°>ªþKˆ-Râ=D+ ’äv0;`¨õN›_ RØ*6\$å÷Ý–<ô Q´ºEdÿµPFwþìÓ½nMcDYi#„Ôɉ[õ˜K.Kt U‹õšÑK˜¯ +03•y~FÝ'Y©0àÉ/mtPë=_B‰íšÎ)Ýr™¾%¸°ÕwÃcÚÅ¢[»N,c:F,¼ÕÚxØÒÃ+ +¸qátûð¹ékäÍÀk"6Âí”ííóܾÐX0»Áf‚cžgûcL*ÅMŸ×€0%<ÃyßÚå#îTûùÀ0Ò£"ÃÓšý³ƒŠý$ý‚’·7reéÛJb­¾çh,kïÜÄ¢ý¸tѺǣþ–ñbàÃs€‡ úALj÷­h3h¡K!˜ŸPÊøP =+«JghxDŲu¤³µ ‰zÄúŸ”®á§Ú`Ÿ ý`h,²*?ÌãH"€¹}|ÕÅU]¢iësš„·­‡h…ˆ£=oª8’ÐãFŒº˜),Oø¶vÌFnXæC’cÛÐÄ'Ë E¥¢g–ùl+¹2 +:dG’‡òãõææ_Þpèª)¯°Å@×× Lÿ‘ÕsgþuÖßrˆÏ’Åo°vŒWbµ]cs¹$|‚áÎ8Dÿ·jì]{IŽ“o CgÙu±‹ŽCF9UèS@fR°ˆ”±ƒ?â|Ñeí7ä5bÊ• ÷~¼ó]S>º{ðŸP|`åŒä\¹€Mu!ó3÷Ü ùîðÎ3NóiT¡ ÆSU™|¥àÀ'eÝAßÂÙp:B“óo†2+ù +nÆ@Tåo Ù5[êµ pvæ.™þæLžíïTfj]ÕórcJ¦oµÚ£•×rž3”#]Kïj×8Š÷XYgY‡I°†ŸEhkž¼ : +‚[Ÿ„ÂõðKWŠÇJ,ò†òɱF +j&ÙÍç‡ÞÝx¥]À=9ÆN¥6ÏN•% Ö …âÛTÂ¥)EGÐ>ƒE]÷8¨t-Véh±ÿ8€Ø­HNÍ¿Cøý]£Q–{/}ì³1¢•)±ÔRDöìå?÷5Ý14í÷¤xï<§øØv "ŸðD?xJU‡å£ãZœ½ía¶–[A©Ç{ +_P—i)Q?š'‡,] WØ[ב_ðâïg¶¸[¿%Úð‚'jÅënYÙ`¶Ú¨NrÚ×OÚdã 69¾×ñ)ÿœÃì)Ï®-·¡¢|udÌ°B.öÞwfcpð% :4jÁ?J¾T+MŸš0óØ>öÕù&ªä@B¨îxñ±v + ÒÒÓ Œ@®Š2þ˜&wÝ>÷…I̳`Õ!ó\i½š›A`'šÙoìQjiƒ< ãå@¹ <œO›†‡"¯·Ìó{ÖcèêÙrè»kìë +ü×w ¨CR(¨²VZh04Ô~DËÙôŠmh}´¹Êº’ + ¾¤úŸ÷ŠO—º"ìl#JF}ʬPóÐ'´xŸ›J«¬ ù&l;¤KÃ5«ó‰A«þ¢H Þ÷Ø‹ A2ðµ=6hü| +9OZ?󂧟z^[X2ž¸}×ÎP3­ƒJ™€b&‡u–¸Í èvºr¾?ÚÎײÈÔ^‚=ã¦7IÖ=AŸÌïƹÿ ˜HÁô)ø«›e±¬žÄMê¤N0ª£_ÍõZÚ´²´¦/rÖ”‰%ÉhºÕT:Kø#w³RŠ˜çZ= ÏÅîLhÄåÓ}͉;|é1KS IÚ\¤}^À ]ÏÆ?Ð+@‰ö)Ã(jѯ_õÝ}Œz/Úó'¶Ñg©ãk†.ÆAœÒÜCBU¢·à)œSG¾ w¥xȸìM¶ç­ªqC­ë›eÇØEOƒ¡un,Îën´;Ž€A0âb »ƒÈáÖñíCÞv†‚Ý©KÕç/_»E1©_ÈÜ)…l1߬²m ÿÙAAgÅûÓZÍŒìí»D} +éV&¾%äh°·_^&;jÕ ªc‰ý*XÂF´^» +@³ŸÞú‡jí¦U´¢+ îñÔÁa,i·}O¡‚5|°zj#¹|òSÕËÃ…àÆœ0á·m*ÚŽc¨#TƒÁÆïsâ8°?pdô2÷$EÐ'°˜ìÇ@S˸/ø ‡J°žw_·iÏn´/eÓ U0¸eD¨/n—èj·#/·WÒ@קÌÜêñ”Pžpü†¸¾ 3ýQ€µÕ箹¡‰\×3AQðvEݶõáDÍí^É@¹î'ñœßod +Hês˜> endobj 254 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 255 0 obj<>stream +ÀÙnŠ£iƒ¾ä(c£ÍÄâß,–>8‚¬ß¤>ÒÖµtP¸´mº›Ú¹TÞE«ûÿ¢ì¸g£P{™=)9—š™s/l;%oæÔìøÛ¯ÞI7Ôº› sg9š˜³ç¯{*Þ¼Fówçi§ÜGð• ñ»ŽV÷궉×(‰H +O£Ã<¦;U‰÷w–¦™,ij¢wC—j„óŠÓ•'¯Æòc‘QhΘdï„sÜÃÒ/ö žÿnQ0xÇñëwÊc´n0¦.)?´'ñóü˺ŽÕ< 2?P Èq—3D6ÑÕf›/­v‚A;%á…Yê(MZ£Ð)¡iÞuTÄ›`Û>MìQ>§½9du¶$¨u7W†&ïű»µûì‰Q·~&›%k öÖ; ‚f7þ×Ò_ÅÁæ ‹Á ÕÛð{­ÁàÓ¿Ö™iVAˇ-Bl†j¡6àsJZ€MÛêuÈ!z*ò‘bÁØ÷·Îs@kLò™½[m¡dÚ_ÊxÉ:Ã$O>óûõ:2…Ø€Ø>™ªÇ¨4äÂÆ­Qµ5 § 3ìZsýëÄÌ`-Í‚â± +¨ EjEžÒÖðÅƧSèÙípÁÎAóN‚–yHðÛœW0Sùö^œšø—/5‹‰,À(V^dãnèœÂ¼á¿3ºrD‰É½ ,‰°ÄAÂGb× )<ú£õj©!Z'…~ ûÈSžy˜‡þQ>äÙ_û$Ï>ˆ; Hß”AçÒÍ\+ˆKíÆÚ=bîmgxùƼaHÞ‹øP` DY©ý®ô쵬‚Õ\ب, ‹ARÖénm”µx’BgL_yW¢¯F®ýxÚ¨ ÆãÒì ¦½«WÔRÉW™¥•(­ë,Ç[+ô×­ØÃÍ_“IVŠÇè-†Ç=&~o}á&(íYê¶ÐúÜ­áº}1_ªZ o… Žï;FÂT¥Gìvâ}ÎŒ&¬7g«˜1þ¤ªÏµì-H>êUQä}¤µ¥ìÜ줺Ez¥£PåËÅ\yV }>Ü5ßéE£Ñ¼ÔÇ´ÜÈXbèëÏ]ËþŒäM:2h kà)kÓ‰¥Õž~  F GUIî0‘n²á^KiuCŠë'DñÙ¼@Q³™§øMøŠeϾÜÙÙ£êQ cm·üÏ¿€ Ä$DÄ>Êi ÂãáŸÌ!Ùhý ñé¨{,Ÿ3PIí¾!1Â7dܧ¸ÁÄ–üÆFä£SEåçô[¨c%fd¢´€uçñ×âhrÞñ½Þ±ÔÙÕûtÄp&C¡çKjÄ:ÉG—þõÑÉ~ ¬3Q†¶Mô©ÄqËH–5¸lT,üž«(‘Ù šÁÌg³»€‹í}-Æ?È»[f:¸àƒÎòn Ú66W¤@íû±VS<¡òî¹OóP"û¹ÜþxæÞǼ%á)+~CüxáCòÁ>B˜ ód#¼“–lEÜnÈ Ílñeš¹”@±ö6e¾‘l¨uð÷'›/ÄjPʤ!û®V·rŒ¼Òp…:ùÒ¾Þ ]_1("?€€(8‡Œv/ñªmi¡ýÒšñ\œÏ´àÝÍ2wÔÜìMÖ-v©³‘fìï½Ç ¶zîÌÈ…IªïÁ„×®œÏ…IÎÜù\ïЧäñY¾€!nu›û(ýgñG|, ³¾ðŸ×ã» må³(I1Ç·}ª¹oVÐ]O@<Öåê£1Jµ_©>ܳ¥Ô+Cµ4 uW„¥G`6ª!(ï:‡Öâ¸-êgØ’ÆÄBWréæŽm±—Áýî0‰n‹VW’¡Ê3ùEšRO¥7¢Ïjàê’¾ ãÃÑúÁq‡í“è2‘š©•öQL[co«ã†@ÍmÓ´÷iÊZ¼¢ûu\öÓBÅî‚+Ùùƒh†õO$wDo¯^µUÓ&wŒq|7H+…”g2o¢þ>ûaéÄBËJú| s‹7Ûà{»ÀÇiqŽô¶C'Ké@æÊ\<ˆN¶ÏdD·žæiT'î·eÓ«ÛuìŒ %öÌ׌BN'ûc^dJÚ™ t ‰=0ÂÏu‰ïñƒFS~ü£Yyfã;š<Þv"Ýn¥ Ï ÿ[ÐîGʺ«×©kǪ±Hx#œ Eà•k Öžäß +ÅNMR @Wõ˪R †`aÎÇ i‹Ñás>«+èq–µ«DOÈÅöÊI­T0Òa­òæZ!B÷7†•ò¥¾;IôçXÊ/G¿ÑnØz'ì[Ô~\{÷êƒ8˜7XyT¹OrísJ˜WÌíI MgV†³jëüJ"É¡ Úi×p";v$Db1{^¬ÊU¢Né8×BuFL©kËŒð•vújÛŽÕ,üË0ÞäðD­A±…8Ùç¥vÐÂàÁ_ÛË¥Îá À:Âú35ñ&HˆE ôiS„þmtÔ¸¤âT¯§# 6úãI~“O½ké“T°@–ìŸIN#özµ '‹lTî*ú#S!“¶Žl§%Ò=u:³‹*É0¸Á—Õˆˆ6†‡g +˜z¿ô§+WÒ¶ëü–¸æ÷_õ!ûHÊÒfëããŽ-yM‘¶ÎËÇr É œn3Â7)óF‰‹w Á_…Bw<ún‚IÓÖË›Uœ‰T¨ ÿ¦­’CnN’AfüØçÆ¿ŠXÙc¬Í×6™Y<¾»#„$€H=Ì+Æ¿m§ÛF|çµì‘8ä3 õeGx Ãù¶æ‡~N|¢Ð*¬›ÕÿâhzZàò8·}L£ÊÉl©l_¡X‘¥‘“D#ìÊl¤Ó3åŽv‚Ú4D +¢KŒx(äÊ‚ø~EÄNís/¾íïÏíÍÊÕf bñ1Äø*ûä9Ut#{1Fð×/ˆ!j„+`*C¿è¶Í…ÄÃÔßµõçJÅÄb•_±ªUX›ÔÅ=<ê„ç¯TÝ1¢K®XUÄœS@¡Y}`]«5âµTj‘¹f_ö"1æ¹\AXhê4…Rí„Úlw­AürŒ„{â5Ϥ3D¡¿»5+¸Ìä’Ä>û€ïá k¿r+›æúUçQfõ_îeìL çËA0“Í:‚)o]³ÈüG!áÌڥ뭑_|i|£­·á¢U¤”0*ùŸi*ìì<~DàŒð5²ÖSÉp6¨]Õ%bÒ/ôiú ú+» ù‡„~™»`õá2-:AÇè_ùt ϲŒ“FSáõ‰…=õ +,‘뵓Gùÿ±fà§íûÙ‹SQžT_ ¼œÞð| ´û^mðwÍ£P›ý†6B +XKâ’jP'9¸‡…‘Ü ý‘0ÚØ«¿Ø!AK+€ù3Úô—½âç¹ âj4jÑuí¬¶/ºùn®Ä1gäÄÔm9t7ÂÜ)Ž³l‘3¹Ê郎®¹õöÉæÚ™éAÆ!aZ*úÛî9-ìv"ôRk÷ìu»/gX[[ëË€S”ñÊ.éáˆ>ˆßCü´qð§b-¾Ì!¡È–¿t3†¦Ÿ£˜¥S^%©!Ý4 aNÍ èÞ¹VÄîte¡/#ÿDGëm—´™û¾4y'¦'Côí©(Ôݸ þ ióvÙ]KÃ`Í-“NOžµsTÛ4J>d×(±§)Pû…'\ïÁ ÷iÔý¶ä?ŸèQÿ%°¢Ýö–àäÈ•ÀLq¹p½÷ö±IP~EÅ-‰<|#^!0O»wƒ +R®ÜØÃ2ªÏöOžU,Èó·'7‰ÿEÒ;82朹?mŒê¹1ýhPWJ[åÚñþGEÙÍýÀN89K.ØFçk!î'[Þ.ìÜüˆÞS7ìùÖYÈ +_ú7ÑkV¹ÿxøˆçwµ¿›É +ªÁ“‘[J•€'ÛŠxM¸˜ÿÈqz®Ê*àÛ%êí~¸Æøó\ã`yÒàñÃÍŽ/Þ¶±b"—%7R{ +×Wð»ìF5Û$«Q¯¿QB5b)Æ⣲ëU Æî'8cèú™€˜kÿæG.WB;)Æÿ7’PÛrp;R©‚rW“ J-ï­Ò2 hì_m pHxGQž^iGãÍy;ø>õSkg ß÷G‘×l>¡.ÒHêÜRv—7÷¬)_EÉâtËûi-ë$~³ÇcÀ$ÌäEÁüKE ýp®gsÓâP1Æö¬ìSÅ?å$+lî`õ}6µG“ŠÇ®Q<2¬jO9ÁÊæHsÆo~û„žÙ­ÚVÎHG%*lõ–šµ Wi€:é»?0;›†Ã<ºÊŸ$àpŒ´ÖÕ˜§²•‚©˜ïùnïè8H· + •“Æ ìF³-áÒÃôm6/ÐÝà[Œºf ‰¢tH8¥+škø7M ¬Pž²Bþ¼þÈ•zïYO e኷’r +i_V“ÿ\3ML%ÓÜ;väÞc}Ñ{“jÈ£˜ù¼óuL5//-Çë½n6í[ ¥þbÓ_k48ýo.¶âÏn»ÿŒµX5 +endstream endobj 256 0 obj<> endobj 257 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 258 0 obj<>stream +qêcCwK&†*¥2†¨ŸµP‰É#ïX¼H"ùŽ“_:éS/5‚œh8ûKyðEįm2 6 qzR!¥|ˆÄwh&³k©Q€€òì#ÕøN>hþO-–—«Õ•"!ådʇ à´‹ËÞ#‡KwÛ]ª7"1À¢²PQE´UÔ¼ +…¥ +ˆîjzƒ*"RÓž¹S&mC™¾Ãñ‰pÍnºæá*©r­?R8ÍTí4c‰AÀââÁà¼4r&élɯtåä•~¹}$Í›¬üzD›ú“û ÒèÜÀ‹ý'úÐax\º!§íê©OûJ—ÆÍãxÆú’²ß9Kì½ìšiö“0ûx²ßoƒ«Ë†=7º±ë`4½“ÞyÒP žæ†ÈªådÏ“â#•ìûDu…J£rchŠÉÜÎå…cÁ‰ÎGág¢Áo&_Šþáò´wU—“‹V£“ãQíÜú=¸?©!%c÷]Å>p¿Rì à%/B3gÆoáùX‚( RÚ¼Ó’>N¨Ý.Å‘gO}þ‚?Ū–”D/ÖU˜ÉÑ3ΘJé;¥1už1›ßZÊIꈕ·áÝÝÄkw’mëÕL Àêñ‚06ý0•Vá.Ìa¡þCô ðu4_ bá"ÙíniBNÌÑÌo”Õ/ 5fÀ$»C½zÐ (^Ô…Á Ç ZàøÙ 1¼ gáW°”³Ýù€q}¸.\›³ÁÒC.=åƒÉu +Ë!r›­‰æèÓ}ÛLLÌPš|ÔÔá +âUsàýã¯ë `Z¶yFhU‚J1ô9Te…’d©Ý¨ +>— QÀ?|ÐìÏIŒ§J©¤v·ÒÝÙ@~RÙ÷\- i¬–]]•ø0ÄÛZOâSk¥®9žŒ æµòç4O0M@v»·z ä–HƒsCÒ븼’aÑ)Ī*æûò^QViÝšž×m •û^Í°Ø•©âS:‹üù€ºŠ@A9  šöçÛôOMÚ•ÁÆÀÐè„؉•®úL¯Î»9å‡Îx>5[òãlÏ}6Cs½À‘#\¯Gm!I³CBbÇ\˜RšôµÓ‚T –¸J Ð.gÆŽB±tcx€8õ¢`¤‡–péXVz(›@ß™ç/'ôÆÜœn< QFú4CAœÃ½± Ò|‰Ë%ÒÜn,0z+ÿZ“ó×g¹Ì!1À™ŸÝ2MWmÚ‡ªòÕÜÜëë”71¬îÄ©è¢ãÈ–Ü$ºiG*݉dNŽp†iêé2¾Q£ÐJcç»âiÃuÉ`=±Ô¥.âZ‡7ïÏ ÛSDáwf+Á;a[OL 2®!Û_ ëxbª§±0€d +pLc‚«ò7å‡-bˆq³«åؽHêmŒ@V8æOìNÂ{ÜE©»§ßóÈgÌ®EF‰´Wüßï ·P× ÝÜJ¿²§zÿ|ÄTÝšƒœÇ,´¢zæüccøòÁãã÷˜2žÛÆ\ bì}„MLQ.gÔ…·7'á„›Ó!{e •YúŸ¸igž„NQ*;zÜ +tƒÁi÷Ÿñæ + ~@Y‹˜RfRñé;ú*òIÄ©çæ7o¤ŒšŽ÷}r ë-LÔ’õ_D†.Ý“aÕŒbw~/èÌ–@Rþ,/OméºuÊŸÿa%}–ÁE=:wë•tmVÊÆ9r•™à~ gƒA¸›ïKÆîém7a!Ó†&´•hµßša¡ +géüá(rN‚T2HDvÄ°·îàê˜í@Ú”âRRH)ÕÍø8¥'®Ìm3ä³Óß”i£&C¢kžô¦æYÉY¥MôÒÒ¼ÿ`ù"­ŒÌÙª¤žY‘ÝeUWè“'E€{œ¦®Ì$‘v¡1öÌ?GÙ ß_7ŸkVõe0¾­IçJÐ +©ÍÌw Pƒž~*àËç g»f«¢ Ʋ]€µ×]„àt›‰xaÀšžÛ:û=nÒ½’òpdä‘NÎ)â¡ùÅn7q]%‹ˆ’Ðz=Uvä>úN h_}˜Ûÿ Á@aÑôÔ8Wé`Ü)qkTÌE£\!¨×pÀ‹ïŠÅ—Œ=¾õ}&wZÙ´êÈï–ÐËkdͶ ¸‡Nª}uüÊàþe F}pþ–äˆà«<¿á:ß3¿Zg¡ -d$Ê0‡/ľî‡v°reYŽJà=‘¿âp‚ €‡F¥ +E×ø¨ + KÿB +5…XÅs–·;ž‰ë‹ ¤¼ž Âä +»öàêï›"[1¯Ü€—ºß7S2rIuf’0óÙɲFp2˜ØÌ¿QEú.a£¡e6½ý+IDÕ’XÊÿoðc¶Âúv{ô}æ‚£: ¹ëZËeKõ‹`óuHPȈÄí¤ùß@¥ö»í¹ÂxÉîé ÓƬ¥–÷/æܹu¬ð¥ÈáZaÚÛ6s˜§{ +ƒÊˆQj”2 >@þmŸÔtyNNÊ‚¼MðøÀØ(¿þœ$ÖÈZêÖÁîjJRQÛe¨Š,ƒËuÊ6ÒY3áh–4,&gP|Ÿµ©ˆ¸Yy‹]ŠÀv×íÿŸ""Þ Ðþçįb±67Ezè(Þ̓0z·ÁÈîÀ4T„nÎ?ÒÔ˜‹¯@=>µ±°n˜{¶@|6-O ÝFÚòO,ñ‡<Ïvxâ5ŸdÑ>ð +æ–Âap¹3¥Û¡‰ÅÍ•T/ʉO²4ÚŸüBž†éÏ®¬ÝJý‡Î±Ï¶êBröýæ‰×­•ô£aÞ{×7v@[¤ïcSÍéŽ5ð”ª(FS‡5ísHC2lAÃéðT`¯ðe£@ü‰)«y«ÑÃEž†F¡3¢Ëå̪Ç|aô/`ŽX/ñphMîö"+ ˆ?•’ïû?ì”±8}£N™ÿ˜NÄñ:¹©›'újïe/5*ïù¾¼_[hØ6˜xØÿíÅ«¤]±\†ö±êífBuTd¾9ÐÛؽX»fÞ·g‰ê~æÇöEƒi›¼<¹Ì…‰ÕiÈ0Ú @¶ÿÙ/ŒÀg‰TQš§Úmlæ ¿FÀßß«ø+W—׎÷úé㢔ü½+=ÅFi PT¬3“ºèfMnV­RN¿sÛ`Ï> endobj 260 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 261 0 obj<>stream +ù^.Ǻ­%oÂìîFÙÊòµþüÖô_Ödì{|T¨z’‚Ùa_^½#eU¨¤q^v '%Ç—‚’¦GéÃÏÕÎ…ÑBÀä;ñ¶ª<ˆªîDaý¿¬pƧýý4Ù¥UQ0lèIà¬4êÑ p"¯W s"pÖÏï’BŽÜÚïk°ŠúOG£ìzÖü¾÷ÎÁ Ž¼Œ-P¬ “íË‚ˆú&þªõ/Mhð½YL”Í"ƒvØMka)eΰ–è\ƒ°8½"Õ‡DÊ…€º™Å¢NMãú5ñ?Æ;å!‰Ì°›–/¸ú„àîi¤ÓYýâDyKÿÓ%Ž+Ùð‡Ì +í¿@·0ömM؎ݾÁ—\4¸¨åØ_Ñ¡¶¬®_#3„î„ÕÉŸ‰c’_ RGðÎ?äo±”ä>ÜJ²Ðé†ó¹!>»øéÒqÏÆu Ÿ„/ñBúæ˜w¤.Íô…Ô㤠ׇ~/ƒüt±.ÐêØ~VD¢UêÛ%yžvãÊ7ÎÿƒóTø`ªbrƒIÈIK3Ïdîœ<€ ŠŠažï¯æ_¢M~Þu·³;ùN+ >L 6 .ú¦tBùþ5‡HFÐ̉AOÓßéùa +c¡‰—1‘í¿ªªŒDe­°yhîEö/´…©…²$ËW¬œ°Xý˜ÚJ‚ʯ—W8TMzi€•ª{ßËûãÆ oÂAÒY¸8Î~]ð0ä7BŸ°ÌZ9 5ø 1òŒØú¬aàËØßmÈ2ôÈÿ%ÜZMª:©´–v{‡ÅupYý‡°[u­q<=?ùÛIfòÏKž[0›Öÿ®֩[*4n䰣ס¿Èæd;ÜaÎ8/©9óo˜ðšd;˜vïe5Ç2@ÿnî{½*wù% +·bµ7V(ÕÉ"¤¶*Í»ù, ”â7öÈ@ÚP¹ M@ŽŒ-¾r£#©oÜ‹ÍÃ2è¯v`;ìËü±AORÝ^Mù9+Ð$?ª`\àPB|žC¾ ºgâkÇ’ \‰Ú*hPÃâ®ØªŽëT…]6(]BÄn_)~YЮݛæ¿úž!§C•@'ý +U+5\|El ¤ôýâ¶ÐýæL ·ò¢­™ÂqƘù£èÌ‘bŸü4FÝøÅD¿ÚÕLøV9ðKÆ°íæ—9*¤Çâä¹–Š9uˆ¢aôX +'gº$êF1§yÇßxå׋‚Бá¯L9ß]Bñžkˆ†oÃ/ Mÿ·¼žm›]Uõ³ƒšrŒúüû¨ï”:Å +î6¸„¼,$". pÿÒ&P†¤&õø¯æùÝjm ÝØP;¸Jœ4l£Uv“ðѱšfÓUŠóU+XNx¡¢O÷ª°å ío4ÿgêîHë¯ÐŒ¸ºùá=À˜FñëV5S#¢²Ø£2í<ûbòȵ=sKÀItIš¢?І6ÙŒN”ÆDää¨÷i“w¤»r·++[~Ã'!iW^u¸ß_û(!¡qæÕ°'ìžÊ«¸øŒ&Tu@º,∳ðôs¥Ä)*å¨õ´Ö‹ˆÄò{´ca]^è—75Œ騅Lie/²Z:j}‚‡°AŒöãÁTH!ÄY¶ËÿÕ ½Òíƒú+¹ù²oZ"NM§eÓšðŠG Á>æ’?† ˆ"‹ó¸’®ÔËqó‰uØêÑ¿—ÜÀ†Pw)…† @Ey…9m)¼Í:Ê¿”ôºûˆÞq¡âNÒ“´}>â]Uí`Ó\Æ,¦Ä2-û·d§–C¬@à6÷¯?ªövàòKÊøæ“.?àC,<ÖG(ë÷ m‡£ãi||K£pÓPæƒMá–ÊÃf™PVÂÓ-A/›ƒX²Û¡KuɽÖ~—úâY˜‰ï>Í(×MAxX÷7ÁÐn‘>»`s; ~µÅù´)í ò$ÂJ‚ÉädîZÜDÙû©Ÿ)]ñëQ +uÂ[<<‚8{Ë +ó5<‡üÎ0giÊÙz«kãk‡Ú£†Ò!ÉRù­ðŸ–µr—ðüøÙŠ¹KhF€»€YfF#0´*81±¯×ßZ†º¶Ùg +¤µ¦0ˆpšÒÙ"ªÔ÷NJÛ’Wì½ÿZ‹±,¦•ZFBT¥\P¸ŸpuŽÖTõß„&{à\¤içC7^sƒÔµ‡+ÃÔnº;Úðò¹1"ØÍ1:2¯"õT—TkǾ‡}™|ÅÁ2#ZðÒ¥·ìú¢àéRc¦ä[Ì/Ó©óë˜ð`$ÛÂ3N*üäbB>÷·ˆzzLÇŠ‹˜ÔÝz\á» '%Fp«·²']Ç þIøO€¬Ù·ÅPè°@ûº¶ I xyJûô¿)VÏ7Jw*t(ø“âáØF“­‘¢}ës[‚ïÚ©#|ùìk\£f›BrQuæ&ŒWÌ$ˆéŽsÝöŠY¤Jxlçtâí½¼btËò¾]ð¸^Äéðjm¾cW«Ý|ÿ>§]Aõì4rÿ¶@RTÞë nù¸ ›vƒÛü6uŽoÜwa˜S"ùÈ$É-ç¸(ÃLYFT=ž¬é±ív¹ˆK8á¾ÿQ®Î6WÜÇI:1÷&ô Vèçà5Q4ÑõKåŠù·"•võ7ŸÆ°ió­‹³;¥+àžHád­M ËÚͽif3¥ålgž‚&ÜÍyî´bŸL´9¿y©«èФñAKµ7àjåâc +‹Ÿ<Î|BÕš7ÅnO-õ¶Öy€ +‚”š‹¿­Õ ®Èp€@ài‡©µ,þÝ™g¢9‘4‹/æįٴ›6„1ËИðo¹ÃªãÒEHHÁsÔÜîÂbԛ’åóe©‹!ÖºA§èNåakn?=¬²Ê8m¼Üí.žÒöçG@Ž_´ÎW7^#ñ”Í ÷Šµ™48iÌO^ÕR@HÂÆWWz”Å—"ï…EÚZ›ìB$›žç‡žšhT£s%è"œ3Ý‹š˜¼Ô®¯W´§™mfh«æÈLÆ.“pسç5ÏÙx#VË®LO„æH) ÑÊDsƒ¦µWŒ}ööãsÀš¸¬ûWMã^®fÆ(†P|)jºy¼õÀ¦y\¥º§|{2A'‘Í­\$q× ú­iÞIÄ}¸Ëˆ«æ ÒÔ¬ªŒÓ.:Ä[DÍ>{•CˆÃQ(©Àõó‚[ ]ª½Ùìñ¾CwLÊlŽ9óLœ>7 {í›S«–Ï^xfJ…‚¨rfë3Mï0U]i€„ͬ•â]äç IÁ~‰X†‚ÚјÊhÊ]ÈmkK 1µp¢ß†×-M3)ú$~yy¥ ÑjÂT§eC߈€t|²´ýÞÙÛ©9›±KÇŽ¥†0³uô“³òØ0?&ÞFé¯Ú\é3…F´±—I'—ÐÔËÕñ«£…íÞ6°L˜i¦ªhd±/ÁºÿGf»L^$V¹&•‡Ájttd°S½Õû4–ê+ûŽÇ½€X#&MùeíºQÇø| f‚ŠÏñ8°^oÙÜ’Fì붩®KÎ8µãF8ƒÎ–%ÿ¦—ëAmEö¨×{uFÚ~lüšdT5¿mŸcƒ¶X¨ÿP‡Gjm”l-ñAš¬€Òú?mÛü«—ø!™HÀtÜ/[ x8ËŒúó?¡ ÷ÔÖÈfÖÉ‹ dpéØ7 .¶è¯›ÉO[ÚÀÒ ±œ¯§¯µIbÔ½/Õ#$MG¸¾N™C™HÅÔþª¢6Áv©º÷µ½d9<0'Eî$ì64Lraü7Ó½`®Ñß1ö/ü2žEÂt8õóµã¨D‹¯ŒÅÜ=Ílžhö?ðJÍÖ¤Zs=%ØLy×€¢bxÌNFEÆè/Áªû;‡(ÞjwÏ} xs<&[býGJ^–ò¹”-Ìãí –ß­“q?Ìuk>;H%“{Ò`Û‘ÿF£<[0•èg)0›¥šd60°„‘CµêX…1¢…é”g$°pzÁ¾KMI ³ãªd]*€—0´˜IŽœ~€ª¬ráz8ˆ:Õõi ú¬6 FËç\&ÛK©`}¬_NEÎ"¡ûÉ­æ…'!:Œ¢orä!!DHE†…}N@Í¡Xê DZ©&‰ìä#Ùíp]ÚÔO_¾ží¯6j™<Æ m²>ñV¢]§•¦ê”a˜Ï6"9a¶k"lÄ[ß“`tèÏ:z@«4gcf×\dxÀiÚ«‹F*šËqÉK.ÖCÚ¢\FB¿ãƒ]¼?3ò(‘:¡ãˆûKóB%ã›y*IWà3ŸÃwR‡‚ËWÚ@¥Ý $òáb‘…Ne*¥ó#J“z9p˜œæ®±L¶•0Õê±OJé<‘”PBží_<1h—Ûï&mQœù¢- ”Ñ7Ó˜xÚYõRqª²G7ž\x©±:ëÉ#õÀŸz-±Y2 +@Ð68ÖFÊ@‹^Ÿ5hf¤´ î’+Ä*AÝðRVÝ•”¨½ž=‡l·ž_wôÌa±{ˆÊØý¥Ûª6füòÞ»×ÕãTa0ãi¨û!ò.º!ÓLÖÈÒ¶*º"M¬²¶ •®†¬64hfˆ¸¬*ì±/nÝ!òÄ KÙeq…Ô¤ù‚^)‚ú!öëâ7+ÞôÝø@ý‹&ß´RkX76Ê.ü‡·PF³ã}¸ãÚÛî1št55ò˜ÍxLñoì/fLªhÀ>ðbˆVpÅ6'É”nN“îd×7`ˆÞÊÌwzX9ÁBôÿÀ‰þ’þþ^²¿Ãyî»9¨)ƒqÎ×\g]àöG#õ³¸¦¤Þæ«„ÕÚª:äg¹XóVšú¦"…w’|±á#ÇÉÐaAàÂü[oIŸ›;c\cZòAë–•žñ=ftVãRFrÈÐdmå¸èü™è‘ ™3¨f=Ì Ö¹4ÿ…j©W_âqO#}¯|Ð Â_0ðHˆƒ?ŸÌYþîYrÅ~ž—+/s‚r;kz£ðo¸Ë/°»ýkîk* u’ÿRž‡û&öƒ8ðÌ®6ãåA’8èS…±Rûr¤ÚÉjEÂìœÀíö‹³ö±~g÷l+‘“±BõSRïtoWWUH¨F«¨ w˜ºE3¿òR3÷BíÈ; .æé+ú.ý¬×nu`FýÔDÒ&‚½‹(¾pCr"½w’{¨•q’…°#T3¥·|+­ÈšÔlÕϽÄù³jòkê蚎›W]˜· †i¤Ý€Ôž 9áêc].:ÃÂ6°-Ï󧲬]Æ_ ç`ÀÍQ° is³ñk‡O£Èè–¡8"¾û¨}ÿƒfÖ#7Þ}ð‚G{E7ìJ³DÿnÝØ™&­â Ü͈W·¯Á/¸ãt/* ²Å^ª¢–˜eî4œ‘TwUâ÷õo¾ZßiºIò1$°þFøKGwü/'Yjü(³EÝ$òf0 ñMHŠ* +endstream endobj 262 0 obj<> endobj 263 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 264 0 obj<>stream +W¿./0$õòšÆGü«~W¬ZˆÜ"*·fE¾“-§!-{“4‰ÂuÞ™Â_Î7¡ +hV/ÝહdžÂÿàs9;óH·÷|#{Û9ûN4.ë´étC4AÚ`•ºŒò<®„W;[ÇúÂý÷ü“%Ä:DV¢…=‹YûDbI¹ó‹!ƒ`Øôú56öý ¥ußW í a^ü¼ùq†¯f_²áTÙ¥ª½Éž ™Çî>×mŠ`¬þ ¼{&©Û(£ÕHMÕ | âúh`úK'¡‹'ñÇÑQ^h´svœ¯ô(/e¡×“cˆª£Òùµ&’.$#€0åÙyP(™&ýÓÈšad É^hÿ×8ÉF á&7Ú“ñûke9ÃQv £êP]6¬ÿ+·Jqˆ?2¹> ÷q‹šQ":ž…É4Œœ NÙ%¢É~'Ä^™ ÕÒÂLEÎå›`~õ.õÀèÎvF³`Xã‚8°©äEÕBtJ‹íá_¯iÈÆa*ç;Pv—%ºùìêN—Ì( ­JÇpoÂ:¾ó¹XG}©­Ã'ç¯PñŠ)ýàÉkt”ÓºørŸx?ƒGhÙ0X¼?Ä~‹qY1š' íÞ““x¤[×7 à—NCq_ézl¯.¨×Kd3ÝÉ9ËT/ƦáeÑz]d% Žmú +û¹¯ š’ž‡&ô_Ú‘E +õÛ5îözÛˆ*¡ÕïNDÚ?ú&$š¾Sg•hVsW­Ÿ—éRKÞ8›§ì¬|{¶°×ýŸü¿'©æsàïÎJ¸²„Q§E!()£ˆà-!°,×XÛ× +„ºÿãI'Ü;®¢ŽÛ;#Z%9f|@;cwîxL¡·}ýçèPîµèºgqtnÌNs3©/ö˜ ÀÛ`Õï3ðleËhx”µýU’ññ@Kø#¹:äüøY<Þ5BßgÎwôÉtÛ,ÿ¦H©è GŠÄMÝ„]¤X‰[‚LXS`¯ÿôÌ¡grïŒ&p§f«¢»^«e{1L#aa‡ÔùÊ,atgsŒr‡—0<Á§¤ÅhsŠsÏI`o¿éC‹Z»Ïœ±§§ªÑ¬rJíŒ@RvÉxÓ˜wnäv!'¢kˆ…¿yZÖÒöì— c̹Õ½à;ëûN÷ydä¥]Ó@'ø‡»ª¾néÐ7ݪr1džeðPå{ZG†ÚÖφ+ÂŒ{a¢u’òz> Z¾½E1õíáo5+8Oë¶Öÿf¯:r*89kióoËÿ#^òØk|ÿ¾œïzïÈ¡>ðªÊ¢ùtÔ ÊmI^‹+hÿãV˜þFÍ3ÐÎZ p¥bS!õõ½Ëó«Õ(%±;Ðáq¥ ³z:>Ô;Kÿ¼P)±VRÊup@±‡-gŸJ;k•ª F¹Nâ”ëÜÕ+ýH+Y¿L\-ûóu`—#v_…0«+¾^‚qµK‡î¬ÐBÎý÷%lþž.mYÊP Ùò I×IÜ7ËøJ+³•ý“ºÑ»q£¬qB|&KÐò€BpÒM·1a£ˆ´æCµò¼(û“oM¨,M¦ý¡EÅ[ ´Ö»€¼vËoÎñ M¾2Ô?©È߸ǵ8_‡·Á-c9Vöæá×ñ†!uIÃògo ëÖƒúº›Žƒº-©÷rO…¶}žÙ¿ÿuï]Uˆ90þÂ}MØ•Š€—Y›I,¿©ð’{yÊȤî…-2âæ¤C†:ûüh¼)ʦf†²keÔùÈLäÙ$Õ1>çcc†IÄóöirõ)!VH¼&IöJGîÕüh¿6";qî{Bpls‹„—¢óÊŸ*’‰Šè ì².øzRá£_èÃáWô3vT'`‡iüZ+Ò+NŸ’áåÏL&¥¬¼`[Çr‡™f‚£ÿµ°~Jò–XX$­YË\£ @>k8×ÒÀ3A@ÓŠP´‰Ì)±cö?þ—£8¡mXbP@ÁüÛ² ÈÎ?#Ì_ûBØkh€I¢S@Ó‚‰³ÈŽÌ«éÀ¥|üù²è±¾/í²ò„oå²@Ó³¦×‹Z o2Ë(1þ{Õv +<ý?ô﹤EiP>rYõÄË5ÝË5"X}rªE[·u—ئŸÅ±ÊÖYŽøÕ¿ñ¡uŒœ¼ Û1/]ÂÁ÷á-øûPSÆÑЯå°0‘ uŸÁg{NŽÁ¨ÐæïšËµ°üÇüȈ$äüsöx/v̤Rÿq äûh_êøNi ±‘%CËŒ®dGBcB”È!¿fµáuêLa ¸û#F´o/¨§Zì+0 ˜¦­}Á¸Ì¼yüÓ•Ë€'áJÆ%6®Þ‹$ [øèƺ¦Å·ûÏ€œõ +GÃFøHVœú'}ÆX<–Œ$‡³Uò w Thçé7¿IkÈòý±4ÐE¤Mú™¬#1U(õQ†t¾ÓÏFÃÏæICÄcO,§BvÒ am¼|ˆú8ùTš‡=Œ1Ögƒ²-òLJÑ2$w}þ+'dcîq5*[¢„ª˜=|q2q}è|Õª{½÷bƒ(ÆÈ© ¿³Ø ŒJù.Í*$°3À­hêÏÐ&'ëbÒû›Uèò[úÚþ€!À$ë«VK9²­G|ÙÕ.þàšÂÒ=¿"Êa +Y ü ^T,V[(nuýz2ðb¿C“¥Î£½$´˜€gšNžÌóåÄèÝдw[fTCm„?#O†%•\üz‰pN»—­Æñÿ +Oª’ú~+ˆŒçv…¯oÏ911Z +ìG%ÞS^#ŸàŒÑQV "î®ßÚØ +P +nŒkÇÚÅ~W½¹QÓÿM­pòÔÂÀßúE#Ö÷†ö+„ø s’¨¤@<±¼4v$WšÕc­F®k-D€gy&¬ZµÉŠýó!Çþè +\Ù.Ù¸AögT€9奫ÿtß~+<;[/œÖ×Ã’p…ÏHY4¢ÍsÉT.#£Qå«}0ÚNU‚™A'cŒéhž9¿B%¯Î½°Šûmx +©£?x)´ÚNÔŒ”OŠ 1éïÏE%€Øä½`{ü„ÄDs~F)ŽËÞ÷uj§\^Síî£ø`h¨29šb26§}â,nÛWV0|‚—”j[’që7e6·øÉú˜"þ­>;' 1õz“Z\°”feÅؽö«¯rÊ}7BvjÉŸõo O£]³³2AK`2%'Jôè+>¤ïóaèˆMÞ=›Ö§Š®é@¥`p6p¨7¶ +—ÕD”3?â#DÂá-‘»Q± ^ÜìZ #bLE·Õ(1­þFj‹ ¥û–½yÕ6ž +ŒÞv—ôYK!wPÍò“oîGšÜ—]ò˜¥X¾¿a±rnqëôŽ ìbœ.¯HM0HÉúÿÙó½Õ×èg'ñ»Èð‹½ˆ¤fŠwvS.;›<—â:‰f(š™KÕ5çÌ_«—ØFûd•*U¨?̙¡­»„b&YæÿœV=ÕTö»Ùëö]CB¾Å&°U×tö«æ|¬¼Lï`ºg¦/jô Z”Ù3sc—8%d-Î^ØÊå+'JYýÓœµºG¢FßEh¹±à¹BÓФ; ÆÕ­Ì=rÏ÷±½~ÂÙžS2òq¾±ø 4Z±ŸÅJq=È1›«¾ µ®iŠŠhw'­Fbî'yÿŒéðÍeßÚpu•´C=Œdì¦ø-› !8­ zÞ=pÀÀAΡÄ0i% 뙬¢d)Ù‘óV5ÏèÛb‡4gC<’E…œÅŒP)þ¬©Ì@º6=Ά¢]F*¡çCŒT³´#S—¿¥ö«ë:úüÝ–áJtSW¢=hù¨xÓnúí”âQNÙ˜P0Ü°–©uE9ÈG108•zdEùd‰­ÎøËl5F‹r;ˆD…¯ {ˆnõÐûÕCÔóåëeŽç(:õYá©œ=0ûµ7â†;ßq}^ŠÌO`yJæÚ3c/&…·ª¡0 ebNŽZ˜Uf›Î“5ú@³ó‘3êÑåØ榗X>§¸@ð*‘LIÔÌl8ÐlË£Vœ^ £/7ìFÚ¾ Ÿ»ž{¹f0‚šŠJøóž Ñ2˜°f5¢´·÷5å’jÝ{$»—¢þ¥âˆUðùîw“ ©«ŸÑÔ‰}‹³ó+jñDÑí qË–U¼"ÏnWjív›VoH›â˜6ây‰'§¢± ¡ÓË7:‚¥Õè‘€ñ%F e*«×€:Æ"ÅC_D®O€‡­P}-3`§ +Ú"=Ü?8Œà7!«g:\6±BHÿé°ä³ÅɆªÔL¦åò ‘B0ª•*úWJ|îÑ|¢HØßz™Œ.ªŒ©«r“ŸZ»z9öáh€:-0§§o ÏÔµp(Ú ‰‹tLDVåË.‡ød+b>¤œíºm'ÔvøÄËQ)Ð/SUL²¢Dn‚(ð6Û#™t]˜Í}=,6.¥‹pVi²êÏíȲÍM)`™ ¾åœ¨pi}BcYmE®kK(¥"•”¶ŠÒ©ÈG‰®ï¹Õj½h¼È …‰ dÔs·=gÇOÖ’¨_³õ°wv€€Ô}úD]Ï÷bq&"7‹‡`þ~Ÿ‹5ì*r”OX»Á"WÔý€'˜¸æiÑýwÐ?¶K×û’y¢ú©º"Ú0쳡$üû+õ§G²™¾z«ÿÆýpNQÄu)Eç³Ê\D”2:$l'‘Æl²$vWø ®ïÄŒš0TЊ³âƒâUÞ`(¤ûS35íÀÎJOä$Hf1xSÍëe«M$ÑÅ‘*²0éQ#g—à¬Êz£OYB–èì¬eØ~׌Ÿ¹ŒÞµxd»%âxÀY­OÀŸƒ°@ /.2Ÿ5(íºÿÊ Ñ`ZwêC­Þ¦Y ÚÒ¬ñì£ZÀ©2ŒÚd!¯þÞ&zUpfS ݰ¥G&Ç]a‰@^¹±ÌÿžÓ¿ÓX²³ñRêЈØÛßø“’¾Å 9âêîÝë̾.Û2|}UùsÑT+…^Ê¡qF;ð˜lJ6ÄÕ`Ë‹°X³…ÛÙ4mŽn犡¬Y:[™ïýjjó:Þ§WÇr¿ÑžÏ'M¤ž+E”I„âÄÈâ1#THQG-Ü´äÌÁ­Ûô'·?^kÎ)­n5(€6 ÆÒ)rö·jLÎù»” q.ÓxÐè·#êSÿº>LŸL^–áÊf“WöÞr¿û3LŸ{¹Úið14’Ë¥ÎÂÍ|x<½nKéoé¨mCbý¢` šÅ¨ˆÃ‰Ñ麨„òß/ù+™}AJ"LDß›=øX¿-\@Êš›:®Ö pùT¤Ú*Á6 +[´þô\;Yy<Ÿ¶ä½! åCÀvùs¬êöt¨ø¤êô¤±>,´,Ýï:Ðjù–ewñò)Y-$‹€£a3à  3JáÃÅÿ‡1]æû¤*W÷²*þfŽˆî@Œä(OÍçXù0c©Kâev:pœÏ  â&KMÐ'“›Lùðà± e³ÝAO[¤g<Ð1ý®’øk«†‚·ßûáQÊÀL•Zæ­o§Õ:-ÿˆÜ£ñ”¹¯ÏT3¿ZµÛY]3YóFeXdªßgrJ-`oºÈéóBQ@ŒnJ¶Ö‚ÊHÁÎ/Ü}ïE >£>zêÙÎAñGTîPDIç¨G¤Óœš¯.§1ÏÝnóœ€3’¢z'*&\’þùŸ^êèØ})?¨fH3¯€a÷†á0Bu¼Ç‡èÌ´Ml°Ù{”93n­l $h7CÑj£Ü €|Ê êÛ$ÓÂ=L/}WR:Çò¼†™Á@óT+ JPŸ‹®«Às +ÐnÅ9ï‰i™ðŽ´ïfÙEgSàB=æ8òó/™wUC1Á`lˆìŸ¤þ@Éè' v fÝß +/v!©™Ÿ(H¥Þúé×vÿÚÖ"a›©2Ù 5šìä/ Nï³FþüÇAMë»08Æ +âʧ4XÈnøüx²Û?™¹8Ó§tžÒ@ô¦¼§;“‰W( '¢÷mmÖÎHR£6YzÝœþâ—?M¨.Ó3BŸà”;Ñ…[§ƒgW\¤¿ˆâ‘;K¹ +ù,«æÞçq4xª V"ŽÉÓÍÓê™<óô•Èî üÁVÏËñê‹N+Å)¤uc.uð^ „ä>·¥¾¤€{Þ‰c²óy<.¼ J—ëºKñ‰©È3{)|¶›Èl¬¨z{½#“þ¬6iµBµµ*™`£K +–VQ5JüÌIþ¬ ¾yØä }jÎßx"%ÈîÈzGaäœðªŽ¡H+ñèh4j³(üËXõÍ]Hdë±k —ÈzñëbI(ÉïÙ +áãÜ(9ß·>Ò© ãZè,sEí5Tû½¸–›Hv +Sz윂l*pR9Vã‹Tq0pŒ_—¥¸à§Ç°BV'‡õ›ãrïÀ›ñ”1 e™ ŠÏâ žæ—S×d¥fñA¦Ÿrà ¢ð(¢“45Ö)ÇÅ,VFFÏÚ@¹¢åFQË4þKZõêR¥ø ¾õTÔö¸pJRÚQt©¾ãš0>dì{¢$Þ‡ÛÞ7°£B4Wqh¹e +¾¢5ðõëÏ3Š|sò]´¡ªóDÚÝTìÆ@y¹{,B8ÄÍð7V¿•(ùØYq>Øï ŸaBR§œñút7“*Í{.MdŠ¶eÑàÀ½ *¹ÏpúYþV°“ø<àPÄ*—ÕÊSæÌàfõ³‰c CòhIšÙIiž§Ýôr£êî…Aò‹CD¯Ó¼?§Öüãu gÿDWK”ÿýóhisìó‡ôRÖ¢ï莌ú·’‰Ñ¢jåžäb5M Ö¡?T;È€È%1Ÿ@«* ‚B+÷÷D‰Z˜y6Þ­±²¢rdøç ErŒFÿ_Ã[×GÕ%X_þØì!1]]ÓÒéÌ]òJ·Hlƒì¡}Ö ÉYà}Ò Ѫ™¡(¹²ÞÁ”¶õ2)Œèó¡±¥Ò*­+¡(ØÙëevÀcfòšÍ”;z¬*ŠÞy$>ÐÛýÉzŽ+úØÁi€Df©›‡“¯]M>yÂrÃYð.!éÑÌDœüÔÙeÈæ4kôÓf^Ô¤]ãØÁ *Lß¼b_ª¬€Ú‰’…ò`‡«?Êv«égY#Ô%(Ðì2]¥NÑå¶"OÌíá +endstream endobj 265 0 obj<> endobj 266 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 267 0 obj<>stream +î° ÇVI†e:‘“ æÇ(p~^ õU—hä¹–Ÿw"Â{ CݲñRî¦ +–¹TEÒ‰ó[ùá=îékÕÛÉÒ êÛ¸–€Ûÿÿ°Ým|­YS|¤ Šyrì]©Ç6çâ‘NÕ­æ_¤r/ÀA21‡X¥u\sqÝÑñý×,af„ßR…|m»CÖhþ¼®ÖEzj§)M#®€ÏoØ&Ÿ©¤ZÃ%Š··‡=1;^2>¥y97òö<‹rÆæ{]hàiW);}Ywͨ*<½ +åcËï—b)u6‚Ì5¨E_öµªs> ‡"Ë ÷)±hwäJ¦›¹çùÑÎãá>ÀÇ6ð²ð]Mժ纡m@èNì®A=¯|‚ÉKæçëFC%¯?¯hf×ä.kS ’+—ø‰ŒY®Zs,ãÆþþ­±}ŠÞ{§»™‹dF5öŠ5}>3Ïg˜:Û4S-½1AYšXc„„F‹ìéYÑ·XTÿn¤¼ Èr+æîÞ)WŽM ä•£-²úc³#¥&è¦ј½îÁŸÂæó;%|87ecK=û{Btv¯ˆ—1èú—*íéÁcr€Ët²|63F¼*s ý‰:·B%vc÷‰7f¢ÃVeQýp\g;ù3Õ¾OIè&ó‚ûàQaŠ?ÖHͧ$x•ë`½nkÌ6žS©ßºX m1ÂAzêû¿Á:ÎïcÒý(Lt¸°ƒïüŒµÂ³•ÿ(O_†ì›ýw‚’ë®mÆ£× RL5Nc—YÅœJ?:I´“Tê|áˆrï·Bw×Ù(}þE[ðšl®õj“öjl—ˆž¤Fœ;¢þ´(ºõ|Û5å—ÓêüëÚD7ZmÿOu†×F‡Pg¿á_tÌ'ØÏß·1æ[ÙڙɈÚO5Yï’û%¢ød‚é)Î4g½e"Ö÷à‘ oË›eC m÷›`3ÎÔ•s ]Ñ&ÖLëF -¤¡²‚kœydFÌ4ŠFs°˜“Œ$§e%P•³Ž{¦bA-Z,_X^ç:ý7ólY±%~ohÃÛõ{Vnõ¤½a°éËàJ>ÙDGÕŠÑj/,Bê;òþ¸Ï“rUã¶h™ªiж“øåUÜÍúÌä?ú›dô;C÷¯ˆoó “7I¶û‚é*ì”GÃÓ¡S~h|埸@Ôçc8Ñp/\™Od€@rè€ÞôN!Õ¬À¸‚És)Nƒ›/Dx½0Vã[*Í}¯  _-#l&%Âye5i › /Ÿfâ "m­{øÐ';íOý²'‹þ]UÛw_F_ÆÔ¹zÿ¦A •¨æþðâçÎÁþ–xN‰‡Là§u’Áå±ñâgìÅV±ŸVWÌ}—ƒd°JoçqÏßú®¿¢n:-–¾‹œ9mF ÙØAIRãú³/Hª» {6õ_¹¤ü7 +ÆêJ#e7{Ti$TD#c‹ñMMƒÛzí*wþ}nFcÉÛvW¤©òÁóAxòmçn'ƒ•|]²Ç>èlhÒ“cý*Á,3¸ðÌÆ qiÅ /¼ÊYˆ«ýÄñ¿¬6-£Í[­C(l§¿IK­ýϨ;ëáì& Ì­‘c¿µæ3áàï|·>v]m褣wBÿ¢J† C•¥.m%vˆN&ëK’> xñ iB §¨²i:‹cC'¹•70døÆPÃbs‹î¨áý[5á "H€bÜÎ;úô’à5~s¦Èk´`'}Ú\KáF Ùß ÚìáeSöA-E®Ñ¾5‰¬zÊuOàß (rlòfÕŠääÔ‘‘DZu²û²òÎû;IµËîgWœ)űC’}YÊõrÌëÇû*Cã“‹á³O¿ÇHH•vœTÌ›ñt:‘Ä<«ç „3ÂÆ™]Þ¶³Ægûv£ïÊŒ~"һؠÑÄΕTwöêе:-ð6]Äè|ðöOêmo ÜÜÂWxÚ¥T9õ²É_ÄùLWy<­Â8´ƒUèsÝGŸ´8î0¦Ž5®ý•éž× +yèR'”©Âr½PSåWˆÒRÁdš’#wˆuE‘‡KéüO(­¼‹A#«’Æþ¬ë.'h&f‘ÆMØ´™•Š6ûô__D„wï°F‘´Ò_hÓ7¤Ehùe ÂV½.ñµÖG’Ç(ìwà|Ÿ#X5]ø‰'e¼“7Á’ÐnöÀß½½Ü)ÛŒ¤Ç·'C3»6Q3Û[™>DòN»B@_Ÿ×ì†v¡»„ŸÖ› +¦m¢ÒAe!¤Û¸}Q¢0)²@ÞÈ"Ïâuí—£º Gm¦8ʽö_ÙÄì,Í4ˆ/±Ësˆ¾‰šÒÞ­X46æ–4€í69ü^È„‡Y*ÊÔ}êó†…ÕþàÔ««ÅÁ¶X÷£|oá››:£¢Êì×è± Ú³É±ƒž¸ªöÈÆÎD‰®‹¡Hto4+=˳œ¸ü[o` ¼.EWo Âgp¢ˆbºb–7ó ¨å„r:–sÄQÝ›¤Pýâòñ“šE+á¶òø€¨$¡„KžÆÛÖ+d,ä ´b€œ ¹ž¨cýAÇ%4b-bã[§ÿýÖ³'ÖÿÜXñˆw½ÿÕå§1Ê>bReg¶sD,ÀŒ;Vù0>ÛÚcËdlS]tàÉ xµÓÔÇ©€E½Uþ`†’Òˆ Eü«\sæâñr­¢â ˜ŽI5H_Kåp‰«ôùÁ´P ªKN} E ³…ßw ÑZím Ùjd¹\)µ?ðÐÜ<:É š…ïriÔs.Þ”/¹u¹jpr_I£Ñ”±opSØöI9³Gˆ…ÕB¼+oáÁæ9ÑB¤ÔÕÒÞôÓƒ2× øäâÎhëiãÀ.ˆË!®86±]DpŠ˜—&ãl·‡‘u°g1žÜÇÀÇM5‹6ôëj×¹åfÎ’—>[€ß§8ífÌJÂðpQDu®‰6ØEÈÌâËÐE¡9}´zè²ÐÁoœçB“ý¥ub­J:ªÌ!:£:(ÆoƒÌѼoÿ¤¿º¤)•V XcY0©S¬×@¥èýºK©ˆbó­Ë&— ¤»é¾‹êgóâ Þ*êÉ\°Öwåi¶ìóyÄ‚f‚ñ }÷@;nlWÞ+°R5é¡Û†Pñ›ü¯UT1õ’cqC¨—²¡æm1s3Ù‹-Õš¾xm¹Ö¶ŠÕ"µEåïñ0˜çØ ¤T È(¿„—w>ÜÞÁse‡¼ ’ _°”×x#°¾"ë$ü*Hºóe&BÍõ¬9ÚèÜÿX8­ªwkMþ#Ñ>ûw=i»Ð$Pï?o·Å–\G¸-&W&äOIÚŒÐvŸ Ë)’S¼sÙ »¯2]êÅÍÿM8_¶§„X¥|~1úð¿äÅwöÍMÚ£ÀUÁi‰AlÇMëð„,ð ºúWãçÃ÷§ßÞÎ6Þ4½ØÈoHSÅáü->àÐS×8 4ÞŽ#QA1íŸýŽà9‡ +é<‡×Ú²:Ú¥/àwx÷¦µ0¦Q÷]Cî&ó|W‰k“ó g‹pȤ‰<væ4ñœA3H{ãá¼lÔ²è΄Œâí4ÃÛ †˜4DŸxÔÞôúªf²ÜÏŠÈ5nÙ;îGBìÔD7¤PR“W.|eë³`Õ@Ø~Ò®PgÁL°©ûs’žƒÝN¬ T0b®(B`ÊZÿ52þ5>=ë;t K_EæØÍÊß +‰ø§>W’(lä¡·Á±Ø–X$¶ß{óÊøhnÿgkErÈÜŽâ¸wèòÍŸ² X’rÔ‘!j‘V¼J¸Tµ²cBú¯.*Àá{@¿¸‹L麗Mz(rÖœ¾ßb(Àº §ÒË£G.8 ºm}Ñy•-Í:tà Z+$&[jì’”f¯rÖ>h‚¬QŒ³lV‚^C’¤É5§¼ WGŠÞ†É›o$ØÒµ…¯Ï8RfPàsè~¦,Úê(µM¬“û­áÄ‹eW䜫Œ¶²Þs‡7[¶^i~ˆý]ÛšsB$½]ZïZ¤ ËÚNŠÆ¨ãt½!Z×<¿™ÄÒ‘VrĄ̈âHM·BÎVp¥û(¹@vèÀÂn»;ö]ÜÀpuºÖ¼Ø9–êndC¦àX7ì®}°ÜRæú>“[ †Œîn²w”bK›I‘iݸӌ|Ð'! æ2® +×jä„œÇõ 7ÊclÓæΠJéÛ â”µ:’q1.5r1MÛ©T³\x-ÁEúhÂMxc)†aá$(n53Þ½¡“@¸c„?'î—òtdk@m@1‚ªZ×¥jM/žeÚKÔlƒx 8U˜µ 2lyàÏN²E3`ÈéE ëé°_Uí·‰Ì{¾íS0e¥ËÛ…\ ÿX oì”Û÷¶ÎG[I~Ÿã§ñAu06³oŠ,zÈ‚Æs˜‡Oeű™…IÍHí%æGÊî*beÞÛñX&Í…S˜Û³*øIGŒJ--‹‘?|uE¾˜ÿW3$¿ãÎK€Ý¸ŽdG\=f¯Rläè…sðƒ2I­–X¦ïæÄx”äUxþ $¿Êß7dJ8µXÍ”VÔì²€ÛcÂg³Þ[«’q-7dZ‹.ô…Nôlƒ:}‚Q.:§Ö'4£PrËvë{§kãù÷Ù&Eœò^d]ž¿¦ÑC{‹uiµ‡Pˆ‘?êuÖçF½9œ#†¦ 9V**{··´ì,Œþ±ªØEH—¤;Ûp;H½Ý0 Ê0—ˆæ±/éÑÆð†ufsÝþµÏç€}?â-Ïû™kjã‚Ô3õoÀ‹§šBÍeYsíB×’\éË®&‡Ý( +ºú¬ K­—:± ëja6ña†PzH EŒoÝTKÑO©•çßäK¤Ï`¨œmˆçÆ` /‡Bùà´âÊÀd3¦l¾³r<¾w@~Ì@GA½%lÁX  …Óöô}Ž—ð³° å©«Âå£× bü#§í];·‹GJ &d#ÓÌIÅz U2$/8{ÝçF¯&Ì„0Ú +Èi7½s&–·$v"Ïè±¥œùùÏ‘Vœ3  •2k¶‰äX@µÞ×´ÑRÚámJ9ضNì£PF‹éBÕ°;c(-ë—Ýf<üÄ¢wš.¿Ãïî‘z$ûn6;‡Š“_µˆ é"Pg¼r)£+F³i÷uzíºt¢”ú°“æ–rñ@#± a.•éUñ…Ö9{éëknÕŠÊÐ$ºÕë&RíâRZ'JZ,Q]ŒŽá.‘ÀO<À.. GÕB[µ¤ÝìÑ® .ò¸AReìý‹¬gÄ•7Íð)ÕF²çþî. eGó‡{MuÜ7<6F BæNÁÕî·Ê‘n±æH0Mår¶di¶ŽúþNãÂ~µ¦–‚*…Ÿý dÛb‚Ye‘ÿtÿí”Âô\ÌL¸€ì+3DºÓ…UûA'tàÉo¤æidj>'©9ĉI98B[-°e€!el +endstream endobj 268 0 obj<> endobj 269 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 270 0 obj<>stream +/’íÜ”â–Ãûà‘L¬ÐÖŒ΋d‚%¨†b«U勇ÖÅy°ž÷ÈôÇ®¼±Â7«q‘U•¹¼îsIÓÆøK,cnWR}©£x„h%‡J»^c=Ɔ©¢äe.ˆ+ñRï÷ZΟ’þ\å¬+häç6]W7A1*Õy•xb&<¼íh5Ü“EŒý$¾‚1ÛïJÓ‡,öý6<ì:šƒ„­Ä +Ô'úƒæ·.YóÓÖ0ÜÖxß³ !ÂD2NÿãYƒuUÊw‡qñ¼i†Ôí®Ù-Ž.ÈéGîqûî,omÃÑ´Òk††æ`Jö@C=”CP̪oúnA·Yvr•“—wû†¥4¯] ȯž•‡9?°l³_.K}b6à]9”ù&ñ;õ÷BﺛüEø½ ÜF¹ijÕM`å\~8ï"\o&ÆEÚöÕ¸Y•Ž©pq|(q+yHëÉÖÙÒ¸é$ŠíUð!ÌWϦš®Ü‰×G…0QÀY _<‚R]³¯˜4)·z†Ul¤)Ó°_?¤MÄKUèŒ_S¿.GŸ±›s9¼)Ù1RÛZ>Þ±s——nÝ Ž‹[ÍݬöfžØÑrTOÑé%÷ËøÂõ‘.k3~aï©zk8æCÿvr#¯ÑÂS_ì_ß¹^sY7žžó/†ãúa»ë„•:'—=h%+ÇÍ=”O·È oŸ6‹O¿’PPrN~Z²£¾úJ̬ÆtóWkáÙž—ï ºYL†\¶4>ob£Gêñb„õð òcÛ8â… vô%ç­põ’}Ïé­§Û}¾½«Ë÷Û= ©ZÉ&Äû©»-D¯¾Ú¿ NÌDؽ)ð5­"¥IÙ°y@0ˆ¡@œ@Q ¹rRµ’²²üt“ØI®-*(@æŸj¹J0­cX› ŠÃzù)Óíõ$ôÄÍ$!|šh‡ß/<»InÅ…<¹cäå¯ÛM_‚àn)äá,ô5Å{â5 6ly +1a›ñ eZh>ÝzS΋헌k¡âªƒ]:”žnŸ™ÜÎôåß_ªÚ]ç|]å;<ÂÀMf–áªü)OE;xyŸ5â\.£?À…H¡ë_+T)Uqh€ø់¨.wQz¡R¤wX{°=|ûC3Ö,îT„{ÚJKµ ×S™Y‰ڰ\jüÿ®uæJOKiÕRµ=6¼z0¯ßMr•9Vs¶Í,ÅØl„{·PgÇQ£8x +Ðœ¿³gÿ퇂ýÌ+@&éU‰‹ºlÙçÙ–æ¯x¹G§î{§,¬ûŠWš‡Â–­èý` v¢8›P$pþC +¸ô +¸¨¸Y²¤ùè¢aCIè>ÈͲaïmsø|Gú{sEþßË€+ÕÂ:+Τ͊Ú*€‰4u²”*ß—Û^`|æÊ~8cÎäA¥ØúÑþ´ðc è­ê<Ó1Òˆ@°Ð±—ÔÇÿ«<8S^Ü/>89»â„énÅ£U ›YË*sçϨž<𸌛{õêôªìî÷¸é梷»Ö‘qüŸB 3¢ñŒ•0­îOúKë­œJ|"@Û¼FUÈÒ· œY9×µ›´rÒel¤ýøµ0ˆ;ºÞÅúu“ÿ“¾i.©8јÔù¿µ\=– v¦p#I Á(9çãåžÍê•S‡bõ0*ôéÞé¶Í€ ž0”Í“&;ªà|*sÌôÂÿî„Ñœñ×Þ7@oö)q9ÄŽ³²ý—°Ýo¬Qüéïäfx§ß}¯ÆºÉ¦Ä£É·§à)«´,²$³ô!L©g¯Î¸¸{cïðqúzIðŸkøŸúä»ê +\Qö[oÃønGD“Én~½vÆç/S*-~»¨¬¦£?GÆ6sþ 0¤¯ c¿F_1³Ö韌x‹Šó%7kíùÊG†Íðçä;«¤L¾ +g÷ƒ{Œ–]Ì^WM“×ú„<¹Æl4°t"‡Aµ9Y{.%vK¸Ï8V‹9{O„ì*Ëd,n“Fb4ÊœZtÈ ·‡Ä×iB+2·R½pý¶Y ™’lGnÙÛß(ûví%FlÂsQ²•±õ@<ÖûµVöK5+JxÑ7ñ®­Œò·Îµ „mw»ÄKIh}xd9ÀYMÕâ‰p)ÒõD*§gxêŸ3á–7L×E=j<ÿ7¢‡À¹¯Gê2oÚýa4Óm¥õ•n¯.Ž~™3ˆUÿé dB¾Aýò5·©ÌÂm½'–(nÑû'Rq•>”.©¥_U¾.*Ü}Qf©Œc$éžÊ"l/c¹ü[q’ÛÊ~•nÐú¾D&á.°§Þ³k“ JVßgcÅb5HñlªÐR€Qa¦æûÁ¤¹øb2î™òÊM”=¨…§Ö¥§g‹Ûv1“ScâáºZà cýûD²,K=¸á£Òy¸J]ìéù-”¯k0Ô/ +"—¨3†¸õ¿ÚÄXŠŽnOêLV˜‚Sæ럆7€Gòbÿ¹íG—£šÍŸèuÌÎç±`ÊŒ7¬^\ù“uô„`y<ÍôèÃ92 $ó^>ºÀB%|àXí÷¾Ù©v§Wïò´Š.Õ2[ rø*ô¢Þ³ ´‹ÊŒzŒ“Ó6í±üæ) ßï­šK/ÚÞ¼+ ÈʃD=xDoûE=ÍŸ>zvøÅ› 9¡L(ÈÀrÙÁqøWc{Ö›‹Ý¬»n ¶ÇS €ú÷š¦d e@nŠµ¼¤Ÿ ,Èv–r.½8Ÿ#×í F´–MÍ@)²ið2Kô,³Ä;7Â`.yTÿ +‡r’N¸¬Œa’Ø„‡¶¯W|ÄÈû ñÄ.ziW½Üt‚«V+ãªf[™Èd)–¾Ná•Ý/]Qm®öàùÚî{‚ ”ª'v¢UÝ +½O6ÊkJ.ÆLœØš·Í¾9Ó) «®t!XrÓªkÅ`(;á¬ÊWÖ®ŠúnçhàÒŒtûÔÉïÛüàÁ‹÷:ÎӖʸôhlДoŠäŸ[Mi)'³':ôß–¦¶«žEiéâEº¼òù5ò#ë{LŠÛ=5'C•Ôm>$U×Ëÿ”ð÷`, ꥲ/ ¡eË}‘郎èY¿÷${æw”ÙÄö;5õ¨ Ù0=CYèO}{`I1ÀBR§É˜’bJÆ:‰ì+ç á!ž(³Ñ_ÎêØ4}&N•öV›©ÇˉinR±“QW»£ÿÅí!f’û‚Åa}\ÔNLŸ$Ÿ #‰Á Õ¾Âó¹œDŒsûί#Hûû¨±@Nž ƒô¥KqžW¯[IÚ2|Dº¤ñ#q©nQ¯È%~ì’ic žÜZÜÔÞK;LŠ|äæK +·X Òƒp÷=ô©&ö—ÛCHgVh±Û©Eò›nqˆÊX~ñÍ’oÇÄ.Ö©§Èzj-ëY ûhíPX|ù=w Ìñ‚ˆ5 Òǵin·¦ Ð +iD«ì¦bÕ™­òáç…û¬9øÃm)Å,Gwæ²*úï¯f‚¤ÏÆI¶‚ý]cƒõô7“ë _*bÓÀMëÀ¥ŒÛkz)Ú‹Gþe5]}—ð/0¾(BWö°ÖóDàƒoê$¿¿~³­‹Ìf&T)èvYÔ-[öŠ€ömRc`âúê™n6´®“È‘)ßbM¥J{øN±vtzóÍæÌXpë²ûà#ÿöI¸Õ/åµó®â\€à ©æ©ê«‹¯]L«púVÅ}ð Ò_ÌæÎ ¹?7 IÁR„èæø¤<éjËïF-þ$oš5úèÓ©âWFu\à ]T·@1-¬\’ù‘òå¯Â¶}ÏrÂ.©J¿ÎUÛ§‡Í«–ªëÐË\£³ØL!ï?Ä”GÊLÌb¼l*ú\ÄžaE`+‹nÄM,Ot?6^âÄFº»Ñ¦Þ@3ôÈ~Š†FÔòF‚ÄwÚÿÍš©>'—( +Iåð#VÑ‚î¤(âˆl $\Ën¨gOÃVzö +°?õÖ ªPä¶Ì¶c¦Äû{tWQ +³]<“·,¦]È4r÷î¢Á­>6Ù f®ÝÊ»\K_“u’ø'Å”é^¿¥Rºù ?©Ñ)¼3Ö…„“Í}¤ù¾“r"Ž1™`–ÝŠ ­á<Ä|±•éûeóª/O¥C£ç-k!€ÍûíÑn|ú@1ÇÆü~Á’‚ôþì‘ ZX>Á˜¨!9fr~ž}.nº?Om–ÊÍ¡³j€Îšªie8p¾Ó6¾éu†2ÿ6`û‹YÒÕCšð•"bœŸ#ãÓK$Z š»wéh?2n{™è- +alsØ7ð†|N›³‰YS¤²„ÛÊN'Ã܈©»“tåÈ:¹è‡œÑUê:cF~ÊÆD±ûU:«³-ӗžŽó#ß*iz-< I\†`q?*wLÜi£Ú‘S¨Fn‚¾Šd +&OýtDñÝGYb$k.írkwG(C&â4½I`‚¶±C^VqyY„¾Ê{’µÑû!ÂTùž±+^îì2*µ¼ +Å“ÇKÆQCìóµôî`µºa¡(8?ùÔ5¤ÕàwR|´³8kNàÃy%¸¤s†7 ûÚaI©ÑÖ‹#c. *Ad´~†ò’ }æþ¤’+"ì67䚊àºC +ŠN>óï-ƒ4Š1­E/½(@²îªHè+-‡a +…Î10FØ¸Þ ¾£ÂÍYS%²BJÇ"fïHzÄFæ³›ä)¡²Ëò‚:›šYu Û¡ê¡–o I6IúÔºeÒ—ñ-Ǭ1™± +endstream endobj 271 0 obj<> endobj 272 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 273 0 obj<>stream +òz„I²ûGcðÕÃ\÷G +Q{ÈÙ@ÏÉuÔñÔþqB³ ŒÇjä74N;pÏ0Óš’Þr«CÓþBªQÑŽ#ƒµ +PÔâÓ‘¤8uv9F¾½Ö’í„o:œÆ†R¸ªlåVDÆØ F]•ý‚–áakœ4?â)¬³GKßG÷_Ž‰™Îj]LÛC-¡y5[öâZ’b ˽xR«"B˜«hJ¨k"0‚1¶YEˆ6$Ù…W<š()¹óû‹sæölþ‡ÒòK¦±‡y6ï(øÔÒ‰öDŽåÐ +DˬÒÎRW À¼bWö;LJýq·W8GžX ÞB‡„Œ’§H‘Øá—bpñÐ2õãȯOWþUÖ=ª™]ð-c —@¹Þ+\Íæ·?[œ–úuÌ>©±>:j˶óÌ¡JQx‹8Ì% +É¡Méê~í˜%@‡¡&‡Û½óG”V¹¹Ðâ)çc†ë±V $ð›üIv¹$5|}q§&دì‰ç[Gv1ñÃð¦,¶®àGü„Y7.ï™û?~$ÿDs# pËÓ¦31|:ò*[ç}º¶¡LÏuðU9XÇ&í¿XE¦k˜Bùè¾¥ ÞµÒ@KW¥¾‰…v%ñîr?R‚< +ÿ”|AÈ «Í„‚²YR!™ÔHú¡(úßÊ’SÚ¸h°Ó̉p¥ó˜Ì¿$+µ*>XLÉbQç]þ}ù•Å7º©µpïÀª¨yP³uÚh=FÚÄ$ð×ú¨&›ps)«­ßH¦ãuŽt¢» a*×¹0Ÿ-ÑÅ6×(G¶àÝgw·–®ï³ +ûÃY Þ‘ºè| ¦T1 Žg€°}K>u½=´½WëüsKSûœ÷ÛÒ^.‚< +Ÿ Z%öncÞÝÁ¡@8…C€G O¡T àòQLתbÊ憔jiÔjö•KvQ#Ñ¢€­Š~$<‘N=÷V>§®vœØð)‡Ì.ãÏ‹4‡ +!8pŽ¶'ÔÚÅötô¬ºœ+ÍEXçƒÕÚ’$ ssž"Ç&ÎÖ“sé6I€û•öÔsÄÂÞG¯‡u]Dî°Qą́‹d +Ë÷–$ces0UÄz\òóž.ò‰S-kàG­¯´f@bh+ÛMn” {† ´Ø€ (òÊZéK)†±ñ ü›â XÌU´õÉ,ú¿JŒ‘¼ì®ª°/«Øð €á):èÏr®‹$ŠE‡d~ô5îgŽëŸ8+ë¶UŸlÑÍQk‚ß/©É–¦½'¿e  d˜ˆfÇœ^ ëòr‚-#Y ü­Šó:YbÕè/C¸ šv”Øôxb=Î+ÆöžG)žVø6ÿ"MÐËîoosa9±>2 ·ámw¤h{&¥fÒÂl-£ërÀk ŠwYºÐJà Nàãûxœ½‚ú˜$èùãþÀO׶~f,;™žïã*†lü¥i™gº¹×ýIŸùa§£ÞíUae¬âŽ¬¡\†¡UZ\*[º*OèÊÂ9Ð\»Ž +m”ù#½à‘|¿ j²=(:&MÒ%Q÷ò¥°LÎÏAÛߥò[Úõ^o¼!£^"cLaH©‰Ñ6 +TsEQû gúà$ª×øàp¼¤ò”D@ûõäÈîì °·ø?±ºgvXuäKDj¦g#¬@~LoX®à_ªcøuš¬8€ç–þ]Ô°Í%Å…ÝüôÄã5Äœ©M6æNj𠚎~†ÒKÌ»ÿ±åX¨™{³Å¼:™`®ÝÜA´›Y£4fJ +Š¬md·Ýyá0¹Ô<ØxÏdd'~6Ø»iêdŸ§–C¿‹`ƒ_«7$.vt–Á¼Úi¿Ôõ*ð!㌥~xšîûâ#ôòj°ƒ`¢/0N¹ÆJµ3Í÷€*Û…+Ð 4ÞHÒ¥´Ð]¯¼Æ¼n ^]xî„'cçÞÓŸÇÓ,'áApÕè`Ý‚SÆÙæú%þ†4uË#:`?ÐTŸRØúJÎgåc=‡ŒÝ;^Žây9ʲ»œ“쭌ԉGÕñ'Jšh9 UÃd7æ˜ñqà‚&éÅ!]ЫÞó‰VÚ§ +·OîÁ :f:(lêpsº·ü˜}ÄÓ ³ót‹¥Ö…-‚3ÒnØê"„CZ&`‘ÞeB á0Ø‘ŠM 6ø,áßTùïÝð¥eoN~® MnUèâŽÓ¼:¦unroëòAû âï,´¶œnƒÿ?„}…TPŒ³nQ»ïX}v~»öCŽB‚tU ¤q¯ƒËíÄ¢óÐœb=uýãhœÓ„|·á–™CÁ=¨;)ÈX>k· uÇn®Œ=*ËRÆ/G–­‚4ÃÁÖŽýI“¢î!«•]†K(l°¦"Áµ8!Ïw;JæSBO,ÑKƱ§ÇTTúÐ/Ýñ˜.ÎVÈ-•ˆãã”]Œ*Qäª {×r· +endstream endobj 274 0 obj<> endobj 275 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 276 0 obj<>stream +ˆ‡q<¢dS‰ªU©¼Ç­× ¡uøl`ˆ¾ö#‡7«•ÊʦP—Ër¸4¼œ+*L.S5UB2ðñ¢ÑóÎÑy©Áõä˜H8k7uÌÖòŸõAe£Ö1Ã?DÿV¨¤Ù°ºÑ•k({BãeM•8mCJwý©.^¡{΢ãöžºÆÇÜÒë¿&ZEú¸zÓÂ(þ^Ú˜öÆ8w FD1XÁ\ш[<¢è±R»¾@•/àÁ÷ÄÕ·%víùÇÙáïߪ©™zEÁí¥«E‡oðêP š4ÂÊ<ûB“G|ëU@C˜V>ÔÈNrý a3Ž­ìÙNÿ÷>|ö@å ŽRñwN¬e…]ëضt ¦>"ø¿? ÙãP2ùÃé¤+ÍJV‚¡D[犼 +¡¥¿+1m]NˬU|VW-ª7„J~…ì“X&‚óÒ!ÁýE픺àgò©—²1æöô§¡ÎŽzo†Ýãå¾=:"€Úü9jP¶…UœûÉ–[€¸L¦µjEj,•ïüúLÄËÿrtûvRÄÃaœPÎM¦ °ÛÀîEfuYZ5¶B“²Tìlótþ™úáØb_­Q +—„þ¬A4ëÿ09§(ºÄz¯<Ðeetö­6pQ#LŒÂ+$N…·“[ŒÕsàc å6Ó«¤Òìe™4Áô;À±±gùhÁp|†ÂηòDÓ~ó?º-»à:Š:—!˜uuº‹wÇï4À&çÀ¼žlŸTõïóýóNÛô¤±ôÀ†[—œ_$… — .ùJyÿâ €Ì.¬›0n™ºÝW*t +µÚc¼À.×:tJ‹F07|v¥Î™ŸîuTéJ$-ò Àï†DZ`Ö²(£ü¶PWØ©Ó.÷CK÷BÈý½r}NÁktHG¦ä;ì󖓪ŸÏÝ%8‹•ÈL«zKâé©ÍJ…‰žðÊȲ´L'``÷u?d"¯ àoØò}†n‹æÀ¹éÔ%ûø^óDuâgšó%„5 `°rhG&Bçìj +‘Žkαži‹Íë³Ê¤v°ÍÂÌ.²ŽM§aÿ;h”t&¦&Œ€LŒÏ©Ý‹ÕɹvT¿Æ¥;ÝJ">½T4­‹® "†|B[‡±ÞÓc³Ä¥Ú¬¯‰ÃôÙUZë<>òÀuPŸãˆãtÙ}S÷ækŸ“Ñ€1d8Ó ¬»2}rß‘A—î…É;÷Må¦d‰{„Ô'GèfØ…ûdþ7(I;Ib;ðBÀ>â.QEë°Y‘™´HßÈtR?êÒŠª~Rб½BÓ+Q%N :ëó" ƒÕ,ÌXÀª‹IÕ‘á|þU# õÝIÔ‰Ý×’8Ž¾°ÔªIɵ"4Ã&sms-y^lÔÒ%¹5Ü“óÖ˜¾hyi¡mÒÃ^ˆü&¡¸ +óÊ?ÂÏ?Ç[¹‡Y¨Xñò^†wÍ‘ +»§!n5 önêUfN—)€×ÖÞu ÅC¯cswŃҿªNÐ}Ç×rO³ª‚ÿÝ‚—>y×Lµë +OõŽS{±æVÏâ±4Î%{6['¡„ +Ä7lŸBIßÏ°+y{¯BYQkKwîcÅÛ èKH¡0ã=‚K¨œ¾sg”í…ðµ…wO¹JÛÆb®ÑöÏì”ÎäÌ[T-W;„…`Q›¹°­(Á±þ·[•w‹ ù‘òÅo/½fJ0¸¼?? +FfNw¿éKÎ7¯LÙ‹=gýùñß¹§'½QYÝ… üz~‰ÿNÑsjï­Lòô¸Mre¤4ÑQ& E뢑¤ïÕPÊqÔæ¹ï_¦ FV‰LØù >Á‡:,›)\'}ÿnûBYè;aMåÀWlÇL*êEZ¾Ù^¼ö½ÞÚ^T#ÞŽWZïáÌxñX4XIg'mîÞDŽÅ§³Âa«5Zpæ^µ‚Qx¹²m¶C´Ž« +K; +’25(ír\}•tÕÅ¿ŒŸdGdR/!úDÉ)UÞh/þ\ÍHkþ¹¢67Š®JÔLŸ¿e6Ÿë¸µpïÚ6âÌãªÿÑß}8è„ýù/ûéfÌ^-ß(¡B~Lš ²¸y¢‹'§Qñ·¹HÝ~žY¥A>)LH‘Wÿ6âæ„eQ³ x®9*lø}dqÔH$ë815‘íâK_’AI@‘ØÝ#‹C¼þ[·P‡5ÇÇåQ¬å:Wï½Â„Ñtÿ»AXŒ,ÊÙ p])ÜK¢›ÖæC¼# +¿ÎÀL½ƒæ“x¹P¤ñÃT]±ÃÜÏÐžÊ µlÀGÍÑ yï§JÈ +WtÍ⪂X ÆqÁ> +ó¡ø.èXzÏôÓ`'Y!br+ˆz I¯¼Ú ±ä!A¨ éÖP=¼AUZé\åÂŒ%ËHúðù•‰)Ì“I½Süç-áLqË$9ævæcw«‘z+†QØÇñp— =ªD¹q„ˆª/€'ýÝã$õïðcˆ†Rê‡HTQ©û'²Åǯûi… Zp®¿PùŸ ìO伸޺8ÊÓ}(ýýbƒ¡ ¤r¶ŸÅ¶³ˆ(¸dä#H‹=…"¤(ш›—å*¾aëʽå¥ÁÉe;j-à³ +÷Yܵ;¡Ei+(ôóÜV.Š¾ëÓbí³5 Fæ7/Z œ¨4IëÃá`*àÚ$º®>Ù‡}þ¥$@Âeý^ðB ûNªw´TÙkÃ*‡Ä¿àXSý4 ‡V_êg¨h·²˜Å•º+¤;€u~ݺá|©´®5\¼.ŸœóÀ¬.ø#AŸ"B«'å™ËÈöú.5LÍ:¬à¢woaûnÀP[Þe¤ÜëææÛpSýrÅÏFiÂIS‰ œJ*XR:â9"# +endstream endobj 277 0 obj<> endobj 278 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 279 0 obj<>stream +à\ž•¥˜UkõÃ"¯ ÂðAáîàçÐû1\W»j‡³Ž//þjx• ªÔ𻯷ùä“bÊíSf¸*ZÓfœ:ÕÙtˆ?ÔäÍwòëÄ>™$_ÜS&Åd ¿ w;Ý]úKÇ _,I¥øQG~ó]QŸÃš×cB‘®/_ää¿_gßÕÕdŽ*¹ùyËØÿÊeãAl@êcI)aÌ™!Ę䃷Œ¿ÖfYÐÅ‘3ŒvÅ*¶Ë-ûɬ³¥\f Ô»R (F;Û{æ§Y¦^q˜+0û»ÌbŒK˜Å–̓Œ7éd‚},ƒ³E…íIt%¶_öÇØëCw2”ÇBûDo„‰’™ØeÑÅr`VùøˆÆ†;€¥:©<¬édY0T­p-¿NãÔl·Ú™mR‚CQ™>›-Ä‹r„ü!áþ;=‘6öÄs4Àâr+°ÐÇÞ‘Šrྜh»ïro«¾­Ke* }®¬B>¢I´‰R&&¤†zŠsày L2øb™Û70ÖzB£IžRé/ÎÉi›ÞÈÏèƒ@+YÊJ´!>t¯ ‘&`ËÚ™gŸÈq-êЊSÜhã¾xÝAôËn™Âý:<"ŸE€sŠW’⇅RŸJóqzŠà&v Cç˜ý3Ÿ§«Ü>Iyƒ ØÛ>=—<¾Í9džãc„‹f2ðÐôøýñù$s ¯¶dæÜ|·¸4_½¿ãI¥Q´W=yƒõÏ©qá#ؤ°¥Ÿ>u‹¨ÍÝñ‡ˆ›n@~ä^å0²,¸LJJdq°þÈ‚›²¯¹k– ‰G ?bÕ¿¼¡·¦aFݼ"Å"«ik&Ü뻇=(»+†Q˜Ñ\†¿!.Í9 èªÛª9Š’Q’+™­¢Ö¯Á{ycbi Û›)©-•DÒSÄOt y¤‘kâÄÞ—N-½ÑËDðWòÍÖ²ˆ1/V‹ ˆ>³ ê£ÐÛ {ì-d×âawoxÖ&MÕ$,•½£ «C ~{øãž߃F©­^“IÞfÀ‘öÞ@ *) n'*ŠR5ø²ð§Ô‡dòr_kÒÉ,†¯ï* ­•Sj;êë‰>63+¯`u[mý¨pâPzèÕ¾«‹Ÿ8aJ¹ë%` b¾ žÂ#Cv_h’#Îs‡}¸vçÙæÌh€oܪ®µc‹ÛJøD‹õ¤ŠÊš?l´ˆ¶2@²‚-ˆœ:‡<ä’i?ÚŸ[4`’È —ø”b@5fÔip´i:+h!Srz´¦€§sÓÛ³¡ZVÓ]Öˆ¼‚›tZã°d˜öiåwðøT{·¨—¦q—)¶n ¯P)'__¨ÃZuJiŽÌ ¥Ü¾tFAö±ÓSqX:9å=n^Ýábu–ã +ŠD X¿¾)äù2ÚéHýÉl@ý’L1^}iüYÔ´ IWÆÓ%kŽ§m{"pŒ28Ô=¡áì &øÈÿk‘úÕéîÈw¡^îLÌbYÏF¥ö“i‚ÆÓªÛwæ‰(2~¾A÷ AL&P´»¯ÍBúÕZ§¹6»_°†Ž +‚ÿ¹Ã§Ä×ZÆÇ5ÔW*cÆ å¹Ëøy™y"цp‚FÀsŒSü‘FÍ.†}7Ò[Ãܤ¥fÍœgÚÿG;e(;#Á|¼³Yuj›Ü_ƆúlÊ$#žÿ¬›IáL(OÙâ­'Óˆl¡û߆pýñù ñˆsL„Sþ‹(qÍt;ë Â'ãÚö;FŽ¹õoEœ­!;tÕ+åaW髱 ”Ô×H¸U]¡p2µÛ‹²Wƒ´áQº½K|.â‹|Wîp6ý$¡%¾_ÄbÇ—‹ø_Y”ÄÂÁÞ#C—ÿ ÐïAé8{Íu 0Nœ΀<öÞú™AÃœ¾JËÎk5‹ÔÅÒ&®öŒÁqɤd{6¥‹¤Û90­£Ò¢UfÚ3™eP!1álRH?qv„W› (–=)ëW[ØòJcDÃäh‡w7 ³¦s;÷eý8ÆÏ\H1]Ìž*qŽYVƒ^î©)ÒMtQò$kÆHDЋÐÖæ~6'ŠWë·CkèË#V£X@xrÿeÿªÈ;”ÏÐú1NÅòÙD,ß[㣕 –s¿';ÛÿÃ`XC˜±¾ÅÀŒdR!й#‘²n´¾/°-“Ü¥CîB¿F‡ÜtÛ8Œ³Üýà³Ù²­|~ÜÅ¿ƒúQ‘QÔ?£E<–jBJä¾±ÿ–ðÙŸQ;¼4Ëh“8~­åb C,Æ15ÎR½ZÑ/Åšõü¨™¿ÛÍF”vxˆ"¡™ÚˆBâÊ)ØpüjìöÍÀŒÜŸ’@éäÿ%bE7¤Ö.o`]ß/º…Á¸§¸,%¹Š””b΄ˆ¾,µó;3²6±ÂøÓŸù†n£|ЕW„ioi 刓ƒDÛ†U6Œ)k@¿,¤{;¹íÙö`[F¾29¦×cûùj3èÚ>;=3eºE6œOMQÙÔ¾ ø-ýŒ¡¯u$,nr("ôû‰z +endstream endobj 280 0 obj<> endobj 281 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 282 0 obj<>stream +S¤þ¦LL×çÞOa}Ü",’w^xG9Ðm)^Á*…g¡d9Q_kÒ‡3´ô9U}QoÕ?–¥Wz´®hªñ©¨‰ýzjïBxn#sÖ>ÿ5dzÏá¨<¿À2ÞjJŒWNÂÊ7\žÙJWê½YúHÝîtãžjß ýW+—²lþŽ›,´Ü[Å-‚ï;ŒçÔZÜt ‚5zX³Þv—á4ÎS‘‰ì zÀð­j{0õ1†þ=Ù¯¦d¸äù”íŒá¡6Gò*y…î?ëuMðt~Ð G nþ¾zé§zú6ƒ˜Ãø·ˆó¶Þ³Ó<ÕÕ©Ë\†b‹å«£Ð¥½i–hðnÀ.srYBÝ8ÂcÚfýVZ\ñο7°ÓÁh°`O¸GªjN€¢ëÌRØ%ýæڞíåì!D—Ï)6Ç—ÆP[¡¹ò àøDfü +#< +òµöu¸fƒø ×Uõwî.ÌË5æªÜáÎírÒÅü‰ÙF[ þÃ'ðFÞ§[ŠÑÔ¾ïwEÞ„Ê{|s½Á÷aÔiìûtŒŠð-ã¸&N÷AEb!ɳǂÈ&RµþåKÖp²òE8ýo³f(ÊûL*J aÇ»Í|HÚ€6¸Ì½Ö`YÚNW&84É®ôZYþö°“Nüý¤ÿ{IE*Dîb¤`½$0ô@K½µýòTu¹3b7uZÙÒ3(’ú@Ê |R‡RkIÛΈ{ÕênÝX™8èë`å)©ÑWøl¡×è?P›"UÚ²º]`ùxzXË &AÈB̶l:;ƒ!¦Å=\! õ-aOWôˆ!ì¼w£ E|þ“5‘"âJhRËÈ^؃*#¯Æ _ÛÜsR]§œ1øÙ`9„©Oâ—l¬kH"„]Þ÷Ð6ôæÄCT +âþZ  %‰--ï 9òNb‚¹"Ÿq²ìXvé—læ5š¶q/Ö·V1/¶a"9Õk2:³öA9çKFî.ÄhU¸³ÑQ•Þ8_€¿$E_¢WDŒ7 ä:–™Kp8]æ/n3¤Ïüõ¥ÑAÛÈÕuWᛃðž$pt‘ç«I‰ÀÁôª™`”Æäkï°Iºx%@+Ž¹ÿt¦¤&(4Osµ½X=iQùX1ÊÒÙ†‘$"½!žÛô§¦ÓÌ-× Ê-*=‹0]3Ê~üžóÝfýÉ®w‹2 +¡‚©Ô$r¸.˜C™jáv]§‘Þ +¨qnÝJ ‡B&lò É=|½¡_ôRÅ1 zχä)üø0DrvX»‰¡ÛØÁß5ð”’t -UbÞ·H¾j²(ØwÌQ,ø™Ø½­ ÚâUŠÛúÝ-¥ñÞe&Ôe}°äŒ¿¤~|sÅÞâÑÆBOyh3[ó…a@m”=p×ÇZ`iñêõW¿…<ùdZÓ$¿þj" %ì<Êgvp@ÜäÃá¢õ$ìù +÷Ùß]ªVÃÊKý3Z@Àž`bžR„^h±I,çNÉ…ð‘ #µ|œ 4̨M{ª}=âÁjÄÄ£ÐêæÖü†ÿ|yó›•ÅcJÝ8Ö笧ù¢ÙÙŽ£yê7qÚïÊ¡É]UŠo<´ô*Œ/±JœÈÞ…:”0ônÒ6*@d6{+©(U‰P@t½{{_×àx9v<ÅGà_Cêü‘úÄ×ý·‹_iXzé/¸ÒttDÔóz Éd H7æ™g5×N»•ØÆ‘A|©Bäø}r * +œ½[ßfýÝHĤ Y 'W%¨bŽf~×£ƒÛdv.¯ ÜbDœx½‰¤ád”ñQ¦ž`Ý”yÝ—v˜wdú£)8’q(“Ù®é ˜ýœs;QDæþRÏr7Ìψ;»ž±á*aîI1Çy\æm¡I¯,‰ùIÂX¼ +¨Œu2w,Ê€çXýhï`7Ë·©4ð8±bÒx*ï*k§‰lÀMæyv ŒóG¸í›Ñå„í³ q+¤(SM¨À¦ßpäÇâ>qá±³šÚ\¶¾ˆ•n_*˜æwuWYî4{R¢¨Ò©]Uù=V†ç7éR­XÛâR N‚¶H„¦:ð¯xRmsp¨I)«~±ÃšÕÕ¿½°:;¥NÙ¢¾±GQLdLìVíPÍ#ê'âÖÁ}mÚ@ll?ëÿóA­øŽ· °—€.Ebôrq³|¢ø¸0ü| 1Cj­ / +¾“¯šjŸ%aâx¯•Dë@2 eaÊôû=e†{×rýE™>ô1›1kŠúp5†ú<”Ê ÃhåÝ»?Ù jì']xc×Ë0qfÀ¿ K,ÃT +…ý™ûYÇaoaZK]îòIÙt®HdàjÇ·¨}D?ÆXèýoN§§q± ¶:29š_z(öF¢‚,´SŠsµ… íÙ–˜Gç ©‚XËVtO6[§c;üƒù<¾_Ðsr,ÐÄËLð©ôs쯹I³M°¬7‚!ÓÐ]Ù²ÿ”)€$e­ÿ®Š§ƒ×г +ãØ S Á +ä,Ž&ÅΗŒŸSSšæOý:Ö¼ñg›Ë¬ÔPáÑ×âÙÿ]¸òÓéï||îù{• „Ò¸]àJ?ñ1~Ãëq¶‹H´jÅ,ŠÓ¾»ƒìR õÃT©«q>fN¾â]æôšò@¤{óߟÒIDœ¸„6ÖdžUe ád¡ªæ³M ¥uT½ê>1Ô#¢¾ÕŽ«áI›>ow<¼¼ån é«äÀ£]89ô¦PÞ’tˆÐÑtZ}•Ëæ[PÖŽ/¦@nâ9¦J7ŸDU¯ŒéÔfÀ:Zõ^yOQj}@_Ú«ÿ'_ÉA2T$^²Îlc¾My_ ¸¹ù¼+Ôb¡‹’2àêÃTzu =®ccëë}3~âD R?³QvYˆVg0²ì’¦jÇ;1 +!)”Ò,ä%üË +lþôŽ¾™À²YœªzÇA» ê¯4Eî"_¶v@SÔÏÞ ÀêÑ!Ùý›ö>ÆX¨ÓVÞFôÊv#óÉ}¨ý0Ð(,6ôtb¼ÁkàH’Ð R×Ò/õE÷¥¶CkÍó7¦jMƒiru?0ë·å0”‡¹¤Û5·WV­õÉÚ'wÒ¸„¶1&…*ÏÈ€7 >Ñ´U p£Á«°ÿ2:¢ 5(ËJö†ÙVÉíÄM=bN †½ Ÿf|AmN:ðÍ|\¸ðViúIû¢¡¡ü |Ciš´T®y§´r¯ÊW!VjÑ!ù{5âÛÆšr ‡Pg„v&¿Bí|Uü5òðmâ\|ôý±’U]bLiC¼¦!b¨K,¤ƒ#&¸Dg»/Õ|Ý·Û1±ÙÌõiÙÜ!½ðP°13TÕä¯ EÂ0îfå«õÏœC ^_f…\gäEVâù]K³É4‚`—o ËþL=|»D{s2Æp½é„7„¯n“¸f-oZY}xQ x}¨|xq£Œè¹[ñ©™FV¼0÷Ìf•ÝQë™çÑó¦ÆãÚÙ3QaôømÂ!¯÷ýθ;€YÐ~pÏVµ$¸|ïHÓ;d3½4¨Â¤%n&¯j8îyí›Ð+Ó¥í4ó- µ–žOÿÓsfˆÑ.Gàk?ëô ŸrõîÄк¨±Â rÉ°NOfì·^ê1Nm2C~‘ÑTí! ÷jh1À¦ñœŠgèèøxKfQ"Õª6îªÃCvßì讇ð;wÉÊŒ]͇ê•oºþ $È\Uƒ±…Z[J³!ÃkVÀ<‹ZY† îsf¾Ÿ¡¸w$ Þã ë'LÐÐýɹ;º1ߤ1kv¶Aþ=hT e•5!&|YñqlI?ðñY›s›uŽZd#¼Ç„·Tofy‡ƒ­‚"£$Z¿îÓÙ3¸ ®èoæ]hO}©bTâδQ·ùì†ûk2Ú\ï–¢Mg]öOÌÐ:Z8íï¨pÖêyJWyÅøUX@t ‚‰®çz}ñšþ»ÄBY#IÍ>Ùç?Ëïÿc†¶MW‘íAI°&â„G`Üçv¹ 9,Y±ó’©SFFŸùg'Ô8ûØb#eÓLqŒód80™ã?-9„õ¶(_«9ꇟZì’þ¨xÙÆzàM´‚ZKŒrüJŠËgmïî0(â7¨lë!‘+Žˆ ÿøºæeëˬ# Û"â¹892\„B>•ùðÅzJί´X’ýÊÜ ÃâŠm0È°&B¤j™•9UÀ'ž÷úåtRñò“Û»dQº38ŒìlzV.ßb4k6†Œ¬Bí 8çq·¥g aëU7¦¢®pwEp ,ó 4•~Ž´ï¨UåÎpúÍà¶D|a2”ó)lk}¨²g{L² ñ}êË(¬)2àúød¿BÌjÉ4ZoY̪ñná¿ÌŒcÏî ‡ÇÖÀø­(Á8S0RBiìß'̦#Pø¡­ˆ¨ÏÔÀ‹å?5ŒÊ³;èLíY™‰€ºÊ ‹<‰c>m†6œ_®áöÏåkåVeZ‚Dß¹¦#£m˜ï¬÷.H4¾Þçñ +Øã²73WJ-ëØó8’ôŸÏ¨€ÔÅU…5O`|D¬…?xð,{ÖØÇMC Ã˹’ +$nQƒærÐæ±O!m÷¦¶naü—±„2Ý#¿føN-Ùí)©|2ðˆ 0Q‰G›ø‘sÜ¡~Vïk¦âKå–º·ÀÍ'"6_FQ6'¢6³ä‘F ÷<ž¸uöpŽ¥ðMüÙ ¢Á´ 3+ÅƤH»±Jlw+Oôqâ8Q +‘ý»Œˆ>¥¹‰Tâ—¾HäìÛ4†ˆ +rÄq[h9÷ž< è•0é™YB¨XŠÿ‡…¡Í©eœGC"þ4H‚W· XÎûkÅùôå'Ø᧶ڲ žHõŸ($6 ©‡PûÂê„逯†ñç~UÌ¥p¿_<\A,1Vo§ýž|ûÞ"¹æew /€idmì80£g‰Y+'rW°aí¾T'f¾à<„TÍÇÊgä1L€ÂrJÙ ìL9-™—0,ÆuXwI½ª[gåÙqÓ¸‘Ço°„B%ÏÝÏÒrÓ§m¯áz=r¨-i„Ôèš±6*».È`À¶¨ o> endobj 284 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 285 0 obj<>stream +ø~•Ë±Ä} ;¾%£¡Î¶hô9ZiÃg&¸hc™‹¯@TÝ4yk¥sæŲx[þÅí&EÚ v*½‰ÁÊ¥r*(íœGû~é®ÓE1•Ž’=# Ú›n(Œ@‡Y¦tòíÓYð܉ðPö䋦møçŽßtPùà\Hì=¹«úg´’H?MÆä[>ˆs±Mh¢lâ‘”7ý/#­y¥+!¡ff'ŸÄò8ª\:Ì/¹_P0¤Ô+5xâ1·±P_ĉ/ܬ‡5í‘¥ÇfÇËä„sµ¥4õÆêJ*†…9Þ6ÈO÷ž æ`ö>åÆܪ‚·þî1Ì-üÞÈÊÎt+µ©€ß—ø¸Ø'2L"7@™dÀsv’‰C00+ʼnu½ž&X$¿ÀwÄ©g˜Ž)¸ñ<` 0]øðß3p¼YíN–ÜÁ«fö­¥Xˆ?‘¾’2µCÓªó½ìïqÓÇ%Øò]ú– UXHôe(ëB†õÐyÝxpUí˜>жÞ¾OH:Za/T}fWþþM~E;8ïé'ÕÝâþ0ÈAc”?HT\m\8QOFœT{Ú×=" ZZA…Î+Š`ù6âüǘá»Á@6/ þ*‡ƒRc½îƒ¤?Çe¾‰¼7ÀC"È Âl|uÞGÕfyd_/ÓÊ×òxóÂçäl¼M^'µéØfK¯ÂJ T¦Ó2í}€ng2p ó}:¹÷j*æÙøkñ ’êXùì=¢‘4¯Ö·:f]çõ¬Ï±¥7]CŠ8ßX°p׌¤gcŸráBkÏ”)•øO +óQc¥ ».¹¢…<:ÑÉ®ÖOgƒ.¿:¹ûoa!/É#Œ’ijÿÞõg+‰Ô®¡6“Ó!4¼9ÝNÜû*ü„4RÖxÚíšbB/3R’B¿ÿã <²ü¥ŃÇhv°ü£è½êqoц¬€èÚ` +$ðì*••òõ°Ò#G1a¦G³åîǵܽ(Ì­çô“Få‹@Ï*f1 hOAD¹©p9ŠO˜ lkŒHR¼?ŒùM¤šN9gÂ’«^my)â +y—ϼLj³ö°­Þ^OÌTúQúŸÊ:ñ„.ÅÚ‘Ÿ;ÿÌ‚"áIPLº˜3©±ºu¤òß$Õ]69 ÊÕ âlZÈØ"M¢Vê+¤{Óל"ÖÆ%?*Xi8Ýh%ßxòðÄY¶°`Û˜ÕÀ ìÉ@Nj'sðVf0®ë¤HÓt–ËŶ”ÎÓ5Ëš€m[íé¾ð1AÕm"_1«–}Í çÂv^õË—G¼ØÍô%\u&~Ú×ÙA°˜\,8\Ñ“HºØó“ý•Õ™"…òλ-" {Ãp±Î!žç&_ÿˤ­ºª"DL'äqõ¸ï./S‡î»½yƽòo·«öE8R#lp× wÎ’ÊíãêϦlûÖÞwpçèŠxÈü“þñ‹’nØ5Þùº‘ᇅžv%WÂwÍݬ÷ UcwÂÒZùA)¯ææo]í¡ØH Á¼nаgŠR, È[’5"7R3_eé4Åaè;NǧE¨³<-"9^Dœt+ù]EmÃÿ÷#È0¤Þv?ÛMWݤ?´iÆÇíŽ×›@B:ûÀÅ—U’xÆ*HV¼eCq Z¯à e7%]ô"?!àöuæqxŒ·ÏoÑF¨ì0C¡Ìƒ«vŸ~—ËÞÐ÷¥GdU”…¨ÁŽZU¹>6F I™y-ë‰{”?ÿÈÎJfƒÜUeLï9¤ Q +Ñɱ†„ªÔnÅ;N™ gA˜ažbtà Ûû•ØífËõcªúÜݸ¹Rã7Á8SîBbš.nDU¢/¨Ë|$‡óCϘüà˜Œùí<µõ,°} ¿’¿ßKA2m}éÅ_ªÍµH„ù7L¬}A^Ù1Eœ(ßãEp ‡ ñ¨ž£WAœg;Ïde†-YÅhý¯|}ˆoÅ•¬]Ë +–Ì.{æMÊ«;?\L¢€æ€bbaZ< Ü„V½–…¦©£²ÅD”ÜüÜï¾pë–]Sÿ3É]#z·)œúU¸…—Nžq€x ]Ô·¹{p¶ “è°q’|˜¤E1./Œ-ÔZžNIžåôOv¡˜u /*P·uP©jý}ñC_B×ÖxØÈØðªÁO±è?–¿´šeEBèÏ_Å-rÍcKøˆÄ"ÉioŠýrŠ<óOu@…úY‹;Ñ õQÛÛóµ@ú3½~îOâÎÅ‚²´ÀLx~Xíwp»YðØ?½ÃO6d@ê*íTï•ðržEœÑ¨_Ô¾¤GÖ»+ó¸µKƒdp¡Ñ‘ß>ô*ùáHÎËê +è©…/úêÃ-Û¬2²õª6 —Ý[‹HŶY­·¿!¡–hQTÖõí$Ç}šþøtÆùy  ™fðYM·¿°Š§Ëïx°wØ-Ø’"b(·üˆ‚‹ä®ðúNé½Ã`Û#gßgŠÆ“÷áúþ”Ú}.êPyBžÙ•¾_¢Èœ5Ÿ«Û»D‰(…¨Jl-H÷ÅvŸ“â|(Z3$žDÓƒ;Nd—{T <`ã&SÄ>¸(عñ2DèT¢ûA2ßϪ­½X„ÚÆ™± ë…Ý”©•`Q˜N§uÿ>2Ù­ª=Ñm|Vü9ú‘!ÛË›ôäˆblmê‚Þ6¸6ËÀ·®Õ%Õ;‘C1 LU1vm¯¬d¿u½§Ì57µ3Û8öÖáìŽOªëicsCÄí\-CÄØ·F0¦¸†¸Ü‚,tpIL’÷°êEЛ® Q¬FãcA&4¬ +áþ!ŸŒöú©Í,è®o; atD'3¨ù"cÇŠnä¦7÷j©ðdðRõhh£i>EQ89Ž%qi¦®À€•¢²EæÞ1þã@õ÷­ªµ§^ô=¡TX切=3ž£Ï®â…u]d½’B&üáàt»œp}X6œ@¸$wu0Âùˆ’–82Ý£O€ŒÞªd–ÔÓüÂzó"ê+Ê·£¹˜n¡œ²õK)iÐ^eCC§“ˆÎÄq趷¡6Õãšð“‘d'XãêÙøË:ýêÃÝÅjÆíí/ç¿ r'¶ÀQdé—L2XY”˜ß!@l Å6fôøÝJtw!–'òvžqCÖ«“ÛÉ®"x¶Ö’bpzV|ð­)ÿê†úÔšíÓ½{-.V™L£Èý ÐôtÞ<¹ÿAÔìù EŽd[p†@ʳÈ" DÇ»˜"ó@±í &âÙI%Iå=—®7¯ä>(2’æÿc3PÜRsØ£>^£s…åÓJ•þ’eχ^¸+”¯ÃNÑZ*ìwKu’™:sü„>ûÖÕiFtwÁ†‘èVºŒ`¤¿*t7 +±•ÊBÇ}÷GY½Ñ%KHÞA³U¶Ø^/å}mG.]2œŸÒ’S§Êþÿž²žöÿ¯' +kM۬˲է‡Q"h­r›ä«0Xö‰Ñœ%Gz‹¶iíOþýJòIr†ÝO"ÏÞ!6Àwùç©‚¯uP\‘ÜË!Zý ¯èžxA sÖŸJ@8µ2“Çù2 ¦˜È¬EÖ1{­Søm3õ[Ì“¾kn.ÐL/+óg£ª¼9_å´a¹Ž[^i‹Hf€*1J_³“œV\sbc±×½o§Ù±Ùdze>k嬳ŒS:~PÛ+¿Ø«cÛ˜‡±{&ْ׿t1ë·Ú> I' +i€ÛE‰Å±*$˜yÁ8ÿfô[iOa}$ò]ö¤ÁùÐdúi`ÂO9+SÔuh½úÕP§‰Óõ8E6ecáÃêÚÿK_ÝÃ_ê’YR±Q Se¢õÏœ¢LŽpœ@¸¾H@œŠdjôe$C»-Õ>ΆƒU$:úaí“<=)ã»N )ǃŠbK7 ʸù«LÀ‘’~IãÓ^ì´rWõöժʡna¾÷zØñ rû8 ¡²¦…³U O]ÅIÿ.©ØjÔA½‰Q|.0µ ½—wÿÞz¾6³>Þ +êáï¸!Ùo”t¬çr‘T<’'03B~Gæ •qwãO§wU"u-ÜŽŠt¸4‹eÛ” & •¿®$Ý3äµXg7(XÑVáJQÚ쪛ÔÁ‡{D|# ®bº{-WÀc{'úóh°%5ùÐM ’*ÓKëÛ¼û¹¢Ú{“©Ä PPq5yÝlrR ä÷Ar0Á~Lü2óÙÀ0|Y°sëCÇ(œ£™TxÉaè]Ÿa¡ÇâéIÁ®dHŽA€ýÿï%}H“ÓBv̹ӛ“Nsá¨×UmnOÁj +endstream endobj 286 0 obj<> endobj 287 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 288 0 obj<>stream +™D•lêöáõ‚zÍ|ðü¨iý÷e_Äs{‰ÚMùcañjtÌ£É{J†‰au•W3v^æ†Ýzi™=ùºJ¤ÜOI¨lüt“y(SkžÊÇ„RòÓ•rÈW +)ªŠgy÷€á"‹a¼Û*êí6èÿhdݤ¥Ý5št²Ÿ¾L_,ɱ‹i;ÓÆ¥, +1üHöR©É(;Å›C éı9V—>ÓÝoùqAC=ùA€œÍCÁæCôm|:(fÔ + XÓï§üGcßýÛÅÆBÂ@®æŸÈÏÊ;rùÔÀÍ_¼W@Ø£*FS·BJ¾¥ÄG0áL |¿' 6V1î!†€H†HªºÌÒ±ò‚J 7.±À€V½Ù ì*ŠïwCjs$f­Eܳ6åT²œˆó#'¢¬;Ã(\`Ý~ÃdˆS7ulðÝ:í³èF¸6‡š©pæ §¸A©KôeÁB;ÇøãƒT-+jbÁC\è~5X ¤ò¸»ÙÖ˜»ó^¶è ®¡qu²]v,{®]ð•ûÆ›ºo™ÇœÄ\ÐHC/É ¶ù×OŽ òW’gÕ +6‹à‰5¨êµ|ô:{ViE­ÈQÕ[%ZR´%Ÿ6tØ\ô˜ùãy†¢½ðÒæemAS:Ž²6î6x]¾‡b `>¿}Žg³¥} +Äçæš]·ÇëÄÞG£¬ÏÀWœa\UŒæ£2Ž~TÝ2èsØâ¼"Ÿ“‡&úW/‹‰DÒ(Ê»v—:Ú5'ÙßC‡Å‘YsRX c$6¡ÚVœ:þDµd‚4£@Íλ+ƒÝª¸Ê·Sá"lʼ:ÇZ¼¿‚CIиúÚ©sq¹Æéݯ.PÈžõj HÐ&ÊJ.‹QË+_(¢8 å[Ĭ)ˆ¡æ—ºR~ÆyD#u`ÛtÆ\cqx{Ñ•ýd¸nfè;·&§r›³ê-ë­¬N~pö¥N$L¹D` +wû{†ÀÏ‹ò@ÃO„éðÐ~‹:¬q¾Ãþø Ù¦LŠMk +aG‰j8+„×\ÆRn×9®uzž_gú‚1؆EÐÜ£º+…omÊ)YÕ7WÉ6m‡ j”¹¦˜œ‚ï–'Yúà¹8PÄkIC9Þ@èµÚ‚}(ŒT™ÉÊÉICþ½4ÿ‡ÁtdP3¸Sæò¨T@ѲBÇfšRö´9 ©†Î¤uz&;È̃òI!¨üà?î}{.·¼B‹tÒšø>¦Mû‡5r°#¿%J»©«h« °DJÿá°·D?ÌÉ¿ŸÖ—T=*í>r\׿;Œ¹U–+qZ‚à”»Åcu{„c¸8ö) •ád5›2&£â¶UZ#9S fÎW2œÁîf‘ ž7z|í EYÔ®“ÛOªç c, wåsÉ?@ÓEÂW/©RütÑÜ6M½3YA«81žiž K¬$Z„±Hø|4˜¨ÁI$B‰&ÿÙ/ù ÂÑ¢ãŠ'àzÂÃÏú‡êø–!øéÒM,|`ÝಣB]xMïa[÷-Ô’²᪠ €˜Rbùœ‚'r§NCi±ÜlàÊSÓæ)¼ÐXhºtT¿öLhrEò ¿¢¸°Ý?Nî~az`Š‘³x–ÅJ¾W#l³f×­— mÔ!C^Œñ (åzÜê{`Ý蔥'ZÛÙžÆa?Ü—=Bq:È(à?R³ ÜU夺ÂÃ&P³(sßr‘ìß)å§ë - +2þ Å/v—!2Oè|=J§Â!Û>¤2’ j[çÉÀDdî‘QÃÏ¿Íi¶sE²üžˆøÜ;î5+ŽwöCæÒâŠÀ¹]0XsØÓb7Æv£I|¾¿Íúõæ`(¸X|ˆåVužºƒMBX`L¤Ôr¿ÄXá ÂPʻ诽›™½Ñ‹§™k˜_¯bÐ=¦úÄÎʬ×$âŠ5È­¡;Tƒl¬o÷K8%Œ¹d¾ ƒof"´â6Þ9×`ºW¡ôß“ït¬BÔ0 *àPðíŒçs#á ”ÅTŸ!óôéôEŠÐ^3ª›Ê̽ÊA”܉¾“{Lp]¤ fõSyo¿Bæ›,(%›é‚}>‹ü£¾nfÆWý $TÆlNM|1¡¶¹Õ)«Âàù¢Œn¸ê[Ç¿Vu·œýº};›«7ẾÔà'Ï–IÙçʲ¯Ö.?È'ã~´ÂfÁ82{™<Ϫ$=\ íaý›Ì¦Tí’ -Ä{Tmþ¾s…@2+ºH"Yœ›Àf–N~¡ÂeCR…qO:ôÂlSäì+¡ê#¯˜ã}‰Ql•½ªÜ\¾ØdLÓ+;ƇbÙ×e®!ÎË–³!Äû°íè8åDZqûWqÍŽ“°)ì+BŒ7%¦z犘Ý- NM•ß¯D‰n¯Ðw’|,$c¯ÊæÎuOë•ëeD¾8 IiFÕ(ÈŒû…ª¡t¹} ÜGñ‰«.Ûuªöû:¯ü8‚6úŠ¼*§kòjÏÎ¢èOÒ# ¼#1/£®‡u+ºQBwíöévãF/yÛ +G’( +ç;€Œêg»ûÿ†Â÷°üb¨jJË»]’­Ú1ˆ7ü)«*9M>ÿ‹‡üë‡Òÿ•;á…ggÓÊ¢œ„ØÇgò«V™è`Ø{ó_Ì[ÅqÖâ]|Ð~íÕ3Ø#©õæÙBÊJfÍÊü ÂX,„½ëÈâó„Gà7èƶˆ7;$ñD…X§ÔjÌü­ 5:R¨uDWÝs ÕשÌ"À¬WÅ«(XЀÍeV†Ô»ë’¬¹p^ì>n2—­ÅR8 +}•‰ +Ó›¹Æ»ÈÚ@‰e:~cãowïïž6×2{ +cÊ¢îüC2òâ1¹È[mÀ’GˆZº{ôTþÙ +ËÀ…Š õ'Ö&ô÷¦é¼bí¯‰üåÇ¢ƒT’kƒßPÆÏÛ!/#ý¼§…ÃMZ.Gé`é}T@ñ­‰ÑuF‚³Ä×Èû¤i•¼ºŸaìÒqQa[ê»IkùØ>XçòMLW¿Ü 2øk¾¦‘‹Tù8(ÓºtPtv;Hä|‚ ¨˜˜H€¥`Ðûp¢ðÈá´ïË÷ÝŸ!ÝðGþÏÇ‚Vñ]‚£¬ÜPÿf½³¹× ¾k?ªyûnü+´3郶ý9_޸͗@Nîu„„Ý·È+ìà1‘¢p<¬ nŠzì“&Ü‚&í†| Ã\Òbacœò¯ÂA:Ë6YS‰ä›z˜“±ŸËcR{ ø„šão3Þ£€µú€ÑÂn¿+ª²Ÿ%Ëu`±ª8<„»è¶ãÇQìí2´@9o|Õ¾f  ÌÌ š°ç5b“­HÞI)/[Š‚Om¥‡ Nï!±°Žv˵Xä?\ +§’ßbùA¯Ôspûë:ß¼¾ž=õejôŽŽ£)’n­I +©ª¨|Ã)º‰Ž™p?FŽ„CÝ«~6ÙLŠpµÿwÇ?õ -4ì6 ŒC£B8”ý¾ÜçD#2TŸ¾\)NB6ÏUlåËW>ÁŒx¹È‡ï3ù¾q!z{ç"ž—µ•Ïá’:%a`(±]×#(,ß.ú°È#Œƒ]&\BGž¡ 1¯ejî ·ƒ¶/ã¹Eà©:ìF°Š‹J{+Ì¿ê0Ù×]Ũ݈0³¿ø‹ô4“"ìbïà{qptÑ‚(ÖŽ —òsýXY¶drÈ¡ßC“Øå Pöµ ½§ïï²Û SÂêYØÄ/Óhq+É¡-ˆq›Ö±y[^ó¶z;Ö®‡sc_}„2׎ßà1É = +"°ÔÁÿXåc|ÞÑSàÖy·B•¨~Õ7•ò¬+4yp4ÏñYQìT8™ö:W¥ +Õ -3„Àد .U¾öñ†‹HÕcœÄYwÂ*Â|ÏPÍÕÄ9TÀ.ê>µ™ /»ÝL¶Í°úâù¸kýXŸ@ÂÇß'½P½»9Â8¶×b¡ ý®t‹±ÄÑsIq}¼rsÔGG+Å>g{zïa”ï°¶ör4r…ŒXÔÔòC[Eú!ó[×l†/HÐYô7Ç_±5d òJ˜Ç ù˜ôT7MÇ‚ÅL6 €Ë:Èàô…Ô;BÉLêÁ@l@îó]éÛÚ;EKãtIL;RsÙ²¼ •sÿ ÄÕèØa›z^2ƒÏtA¿Y¹¾ÿaÂkŒC·¼l"‹l]Ø$Ô‰ +›ä•«H´FYQCâ«–C>lµ- ¬™R„$c”-´±íëbC¬‹å?hjŽÊÝak/É?âôÅüXQ:Ï+$u¢ß8  Ý@Dæ¡T6‹_-À>° azQVCØ~fÙ]F>ºØÓò£½Ð'ÅÚlK×¹oå­€‰¤–h/¤‘~ëŠMÓýÞ‘¡ž­ Od-13–þ»Zê '5bç©ì¢‡Öˆa+Ž²†a8KÀö#ùÉä¿ljù@[:„±ôÔ¹™ÕÊ:ªØ)ðZÓ˜²¯é,Ím*ß”}3“ËòžÄ`MÛôè«^ÃjÕtv#xÝë9Ö{aìØŸ’2SJ–Ã~´×s¢NÅð#?ËÛXWh8ñhKee•ÑÑ1z‹BGM(- æÒ&'§µŽœŒ@˵‚˯]sµMTÞÚš&¼5À㜲ƒó×»OH`ç8EíOmxcC'ƒ†˜[&»®2¿±P [·Ë3Ù g[3p+¦© +gCYvÒäTGCVJçð¡>.XXx…mé“Ž^ŠKæ |@‰Uñ£ û?‚ gSöÇû?áLH÷¶*» +ÇSY8g +ë­hò­fn~H¥®SÀü^ +4RT•Ñ&ðc%ãeùB®ùÖà€Ž={È]ÂlŸ0h¬eÄHÇ·¸xõ‡«SÕ<½ô<Ž/n8KûWS%ˈ?<¹|þì9µÜ¯~­Ž<^À!›ŠXó\­ôú> endobj 290 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 291 0 obj<>stream +Œ‡ulkË+Ì=ðÞèÝ#&”œ!ê&­aKV§ds@–g‚‡¨ + dU b»šõ^kúÓZ±=Åy·$]“xÀç4!Êa)kPz‡Nm4©Ôzhx]NUAö6ÐÖÆ¢þ%eÊÜ‘Lã'âëÉç<¤ +}DÝždåÕ3 ImÊÿ•°ÀëÜø†#ªû~·SŽ¦\ h½þv1½óR¬V + À + Ö#ßr}m¿Fâc*ø¨#¢óþvð=eg·±ù²”&ŒèÓ¢ð\?óJës‰ÀœŸ=ÉÏ.Ðý¼–離éÊ£‰û4åàüÛ½nƒ”¡xui™w7&'>vMtx‡¿’pS‹¹áÞÌ7RÒuÛ® áíìf SŠ¼Í§JÈS3òÙeS‹0äf8§ÁùeðV{`dõ[$³k°váú‰&#fLïê÷ÿé³ËÉ À„J&®³b&PÌØÆh£ kª‡+{I¢-ÝýeèµÑÄÞ¾}Lt´_ø)ªYÆMÃÎØk’uU)sK2y¹ˆ‰îb¢Á$vó*ùŒãQžbßÒø|!á÷ÿÃò‡•´õ0›Y ¨6“–ÿ…òE ®˜"-m¾ÎÄQ´EÄ&̹,ÚDöÜeÝ›PîûF\’5©lv&ˆw€€ež‘ã&fÊï•&‡ˆæ²«(•t§hb.·vr<µÿYH)1 ëé'ÖV’•T_b­‡l•%…IFY›ô—8¬‹„!¨á]îêaåŠXÁ:wÚÔæ(ÁJa¾Q–ª²)¸$¥ýAþký%Oø*¢$¯´V¼ºõ7,ä…ÄuâëÌ[Ê KH0§†‚ ¡ðŒP¯_î¿9»î/Eá£qVÐt¹H€²ú27[júNÿ4&ùð)‘/aÞÏ!n½ò¼UñÛwu æ6PH~NJn¼/„ p×VFtþÃÌ–)|x ¡q¹]KUh¤ÆͶí±Þ‡N%†…“çaj=W¢Œ¢Xüè';uÿ7Ú‚Ð{\¢`ƒòìø³[ (AÅʇó!•x•––R1TºD¸TîîâK~Û>¹ë±=…üþ²¦Ý«ôÕ‰ŸkÍ E1MËpCÑ”éör_Üç[”¸·;DyÛçé”#=šò +rô§'B÷5?{ÊjëcI$Oì&7Ôâl¿¸y¹!c Œ„ + <-{<£ß–TîЯˆ’Ù–Û–PQ±¬/Kõ^µnÚ3ž˜C4ìfðÿuÎÈ ‰)pÌ|σBkÒ»ï±dd}\r§"þ*½%‰é§s°C¡<›ÉW¼E"È°.(Z~@’¦žÅ=UÆ3.ÚJ®'Ù$|? ÷ù@w^¯[¢Y§…Ø ?S ¼‚¿æ]ÌÖ6Ö%˜šÄ÷Á@átÇý°YÁ»©‰°„—0#!ȃtœ"kj‹ +ÄÖäDS"SùšÔÕd—J¤m°ó%Ÿçßs}… šÚ=®.°¼>Rç_מq|ët{øÅŽ$]é™Vè”É\BúÖ9¬/‹phë Ç}Ö:^òaµ…¥8õª5íÙèÞþ[íM˜ð' +âÙ8£K@v}ñW^.¼Eìÿ߶ÙÍS}wôŒÉ¿#®¤}¬á’Ž@õà †Þ¸ð-®0:6|sÛ¿=,u(ý{‹WT(àzгëséÍ´æêþ2¹ø;¨ýoxÍz5 •Ø{–„ÞqàÐð‚Âg®©"6 8Öš‹‘&•vùFÐQ¢6Æû BíÇpdtž«k3ÀÕÖË,Ò›A.§r+Õç¹iÒœ÷äò¼£€àZÿ¼Ê…OáÖ HzZ‡ìÊ.Œ¸ëR¯¸wŸE@ÕÌoŠS±”YI„£–À½L‹{q€fÇV[ˆïïµv2dð7‘h"]¿ÅÉÊ’z¿º")ÈÚóv…¢_nÙ‰7h”©Þ»J<"ß…òˆÂ/–"6sd³öé|]9 é6Øoz4GùÞßõd2uÛýJÍz8¶™ö¹X⾶,ðïˆäçɪ«XCf´?æiÇñ +<Ÿ½|'è· +ÄY›àë¾ÍQÉGöüZçæ9hÛºü±ÎÿåÕqînb¼+´tLÛ2þ4Ü ¤Ë|šþªO~xŒVLÀkFöZ•¿-&K¬ñÌÎRkôO^yV"|ñ Ñfë ñ§Ë¦Ózà‰Gê%EÄPf‚'1õõi²TšßÎGL¬ œzÔ¾Sˆ8ngŒßCúbÁmt÷øônM`_ ùa¡µÄ`¶üˆ<°3ÐxÅÆ—TðeFGè½nÒ—ŠÈ‚=õ¤ ?Æ}b<ïþIÄ»>¶¢Plù;VQ +GRÀH@Ú› +Eý;—ðr^«ä‚6îXft¦ýÙÔFŸÁ/‘+9(YÅ1‘×Q}Ë<òCösLZ@N4ÿÇ__­1'ÓŸ—q-ì‚úº¦—Ú«WñLm² — ¢ŠÄ,8ô~m8ßa7UÝÌR:Žøœ"Ãlͨ‘=Â+¼ûgTøä}§âó åðíúN‚£ÞŠh:e¬8>uצÔôý^a´ž\cI–}JØœŵµ†|•Pð4WÝ">Å¥gil=½ÂyäÎ2‡Dˆ€>‚U¾ý±òý‡¼&Ï·Ô^8+»c>=´ziÇÜŒõñ7º +åü{֣ʣ{‚J5Üæ…)Ço`ÆúÒ£q‚•ªux:@ÞÇM¬ìÓ}L%É¡¤´=!ÃÃTðç§x7¬*L‡ô—qÖcYÅÄÃ[,a´G¢0Ó,¬h⣣…‰ð’-X¤OT§B¢Âi/"ÀBÃ÷G]¯O#Ø[–òß5M,¡3¹ˆ±H'žo0ù‰D‡Ç¤KòÜR|‡6® nwÏü³§¿?œAâzÅ2|Ü*\7’”Ë©lEûrûšˆÖ-E[»ªÖ­>A7 óê¬=Ï>† ÿÇHñ èÖ*†q–B$¯êayrÑÊpQ'À¬Èn Ô‘³/åe»µ(;2mT‚pª|f•ˆŒ;(sM­‚(#“7ÖÒј‰öYûXýÕa^‹ó­î¿BXŠH$3êâ› E$æ¡-HõzWv!é¹·êÈ!4èaf¡7É3 FÒ•Ê€S¿<¿úkƇQ†ßÝ‘ƒµõlÛj¸Úü`Qùú¬>^&ø4K©qY•°—¦¾·›Â#Ýlz³ñP#Ò!F²Î¸öºsI˜N+WfÜôav³@$;7÷Ôyu£›Çó{azÍ‹ÜþrÛbÏá¤å ÊN„ªettv9“êAöláiÌ¥ÄÀSU±Ž¼õØQÔuõµ‹åÐB^郻¯ é÷}S"V…k¥×n¨Õs\±²A¡EHÖïc[*RïD‡ +ÁÜô¡5ü@¥!:ÒžÞ}Òû <™|Ÿn}ê½—™-?(0ƒ\ÉZ ÎJ«Ú²tª¹ íjlÁ pë„dÏiŠS‚F8j‘eŒÔ- 4rBK#¢ª M÷YéúOpÂ~5²r€"v¦¬¼û”íé7‰þæÎ[f{üÚȲ¼*û·šŠ )û…‰ìËŒ03*á….ªÌn®6 ÁŸ¹æ{+òµw WæšµÜ!¾ÝÅ2ĸ€¸8»¯EÇË%39ìH¤WÔ^IÏ~À:…¡¾\.*ù ©ßc±Š° ¶‘’TGbÓ'Ž{G²™ÿ]MgMã›S‚!ç—še"™|ÖñÀ_œx4 ‡¤ˆ?vž2"„‘â ½¬sJkt)™^í¾! ÊóciocDcBu1WRGb(u÷v»–˜¢ L3×î$H…+Ù3ê˜ýÙzløqj¢[P›¡þŒ‚£–Éù{ÿºzîΔWo×öîÆ0Â(RAeðKQ:¯°&|‚)·@ÕgÑ÷xàÆi`çI³+Ìi‹Œ®¦ÚüÎõ¾JÇÝ&•³m–˜Ô¾/'¶- ¹füZÖI²û™ë/”Kô+Xe¿‰ö‹mô¸p‹Õ»eó°¾ælØH ²}3fL¯ü©©±¢Yç?b€í°µ*.(Â$/â¥zÝ!ÀD*—‡be®{q˜ß„ÛÛºÆÍ÷9á[TÃøhÞ±éu3Ÿ,00R °ãôøû÷æ— ¬ö÷BãˆåC.”øŽ$){ôÓÙ,ÅEä åªÇ…¹cú¢œÿ–EÊvH† Ü©ý:ÇÑð¢5Æ¥ÇgFØÜ«Ê ‚s‡Ík)ÛËò‰ŸúP裨¤ +…Æ ´î (ú²ë3iB¨Ï¶ ÈîÕ-Ìê#íÚ\2X\byÂð8C©{Yy³l–$±÷¢vÂYp8y2Àô}HÆÍ?@ožo¹«Üçl‡J…ŸYê䎱I`~.Vã-`³_97Î<¡2CÛž€Ó-$Ïí\û5r¤oPE1‚yyfºÞ0N’üóC3EœŸcûÄÊÇ©ÆCø[Šl†2¾îh¨€AAË)\翦$Ð4ÙNˆ +fv—.’K×°’9,P’¢ß#çÜó¶ñ¾©¦[—¿’ +S£…¬Td›.èRL?˱[î[‡û¯¥ßRgù}¶lì C°’E˜ù‚(q¤2hõñ87Á \ø‹)|úCÀQ§ vm5”²€”/L(+K¹0¥¤“k¶¹€ñ…âls£¥u çƒuvÔK,,—A;¹˜xiW9ž«¡# £O*B@ÚIW¿«]=ˆý’Ýö?9I7ùÛvì²ÇCcl{בëíY…6h.%% øX2pÒRRÒÅ;G¢Ñ+n‚Nž’¤³nUnð¶%Q@æm»æßß‘ã†ïÏðü¶„ב—˜%¹Êâ,N/èŠ'xæíNª‡ÓbØþñ …: ¸žÃÇŠ,!xí$‚‘™N3smÂïÞšº4¿Hg#¼Ü?E(WõŒø|Q9‹bv)`嚪Jû‰‡âjæ.¡ÓÅóÖ*Œ²ðY +*âèRŒµ-¼ÝäÊKü×¼ ƒ£eŸI.È#4¢ŸóÍ•é^¼­ýa4¢]jx-Ý+Nääzê€Ä´Ìèã+¸È—HØÈÙ¯0°xD=áÐKîj 9„‹icæÈZ^¿¿T Ë$rÕ˜¼*ÜÐÏÊY“aKÓdÂÝ&öÅãZ…¿wÆbÍš^Á(ÌI–Èà};”Øf|b¤›u1^‰éÈ‘0ŸÒcÇÐZÖ †YòvòhS””žvó—¼ïxœ£ü9ÃÁj{9°Q6ÎÕ.`:7ç¯×*n?–Œp%Íó–¸Ç®H'h"¦÷ÿ©Ž’q.ò@ºLÍIEÏyë-©(RÁ‚"U!³N½®Ö¬vß[¹ÖžF€ÍW;†+v»læmÿy6 næNm÷:,ªý{ô†Ž´â:+ÁvLѼs?±:e2V(ç¿àZG™ j¯„&A}Ÿ®¶òG”QóZAlÎüi¨A²Tìß;0õô´–øõS[qÐÊÇró‘´Á!·öŽê=¬öW#Ì“åc£=‹-Å2Mµð_¶~ë$¶@¬þµ Îk ‘QäßèEöäH¥è,Ûc{ác₹U +X[ÞÆ"Ø°¨æ€OöËw—ú‚Ë&§aKHèÊ;ö —ÛSìI¼9‘=¼@:'q_ÒÿaÒ^DæðóñwYŒ ]úø"m 3Ç$ü‰Úãü³„çXr$ùïu%>•8¼é8i­¼ÌKœ([iá J{ ¬A›¿¬ZnÓ;ý×ñ,Á‰ùU?Áðä»j;Ñëj¹m™ýDˆOŠÀÞ{œo›ž_Ì(ÙÆ”'æ¥ú‚Ó×Q\ü«¾˜r< ÒéùÍZ3r}å¥gí«—¼LˆNøI…¶˜Š(§ š Ft&ÀZîÂXAø/s †žîiF®dЯ™0ÇÄš ¬½ë¾×Z5³w¶íº*ç­5ŽtûùhõGø´–e·É)ÊzVÖÒ87¦Íí À Ê+‘À¯ÂÇA:åõѯbOZ’•ÒõR¨Ø­ßR“ ’ìw›!ÖV°-'ÝŽw64ö';u¹€c”åɇ†¾ö¶ºaª Ñ>º¬‡:ûÉìR èy<‡Jš³0!T2Î8Š>-Œã3®Ü÷hzsë¡)½®k«.ÿ}Šïíòà­ùþZ.•pH‡oÞ4¬#ïð£/ÞãåË=ó£;vÚò^ꢛ#nþêUB$Ôò˜È-Šš]Ý2£2aw-ÒþRCùâêÏ~êëÉïÒ¡äÅ‹ÿy…ÓÛoNxEC¤ù¬~Á ’ss +zi݉æóŒd’àáLTšÓÙId®yö9r’RÖ$Ir÷¨i(klc±)˘(^+>ë Á›’°’ž ¤y‹( .¥p;Á—P:̦ÈJl³ˆÌþÈ02¯wà '°Þ‡…]&…g¢Ì‘ÑE²‹b5'jªjÀA¹ƒÂl vÙ*~Îýcm&"`E†k‰‚ºßBF?3!ô4¶¤}‰>=’R)®Þ«sB$õ¯ñ•‚²ÛÅ!þ8¬rHúGp¯ßüÔC“nö“C%¶.ãÒ‘¬[¥Pbf)L±Åãæ‹ÐL%¡Ž©9 %½é¡ðXzDÕöÒZùý¥Ñ¢ÐDYW²sŽ9YÐlžµÄ¦èËÌþá+¤¿Ò¼¬hfËaüñQù_ÖÉ{Ûaz‹¥õ57²c_ì×3‰#Qo[A4†²”Pÿ•¢t¬eÿâÊÐj+ý++cgñ—nVK+OöDUF€†°ŽþÛÄKªÐŠ–-£¿e©fh¡ ÓÂwí’ƒRéYc¶“Îå¢,똕{°:o8z ü –/ ‹„#lv ]xY±EI-??œ†˜±ª¡8 M7ãx?½ø! rßê9ß½þæÅþ̹ɠÄIØ7aöø÷µì ùΈòÜÙœž`Ï›:’Z`~«¥ÃŒ’ Ô­ò>†bS’‹›‘%&Ì·xËUöJ› Y_Duûœ‘€jÄ¡¡ž‘æ{„¤µLx¨÷ZùZ÷yþ·Ãkh^ Nú§-ñ¦`¨*X»n)ìâ«cÕ°¿eÁí(pAååuÐYË#?ò¬o4­ó;9=ÒŒl½^9TáU48aߥž”LþfM'Ý„¤ &'*ürmÌ&‹–½ºýüÚÆDAvßMyÀx÷Î|Vi‡Îk‘ªŒ´$I$ôiA+  §b ;Œ… [pÕÍ ±±4+ÀG…”j#Ãú÷B¼¾û’XãºSå¶ +8¾Ž/ƪ«ØBÙ­y™±áÁ´)3Mymë—Ì*ð[bÌ@+tåg±dN¯·=¦ÍÐh¿tÂÅû¬Õ¿6™›8^KÕÎ6Ùņ$^]Pµô¤¨KóBy´Aý¹w„IàØéf_{å(V↽¹Iµ”fv˜–õ™yÙ£ôYÏ£KÐ+J`cDà®würËS¦5H* öÿ\tÔâÕ¹,: ÛÂGÑÕl¡¼•8d) +Ý}È|ËÙBò$èWrN+{Bëä2ʱ4LkWëmæ4v™ š!Ý9¥Øi2ÊÅŸ·LšÀÙ +endstream endobj 292 0 obj<> endobj 293 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 294 0 obj<>stream +yõš7¢“ë/^Œ\h3•b”¥)jù9’.\Niüå-!óø’\5‘vêö?$á'#G ¤Ë÷ž'w÷ü%x‚50LDÔ¨Jmã9WåËjÉ •¤(GÁɨo˜ƒ‚7•£#`Í,.:RE’¢³kG[+߸(r£–1úHË!%з4.Ä‚}ŽÙD!»±ïÌQ…QØ&eäðÌ•02]a?¿'èœ5ëFm‘Ìûv…£Û)X¦Ð«¼‰¿Üï61âUÛ¾,Ò¦ó&´'þº]ÕDû6»ñãˆ7Rå*9~pè„f£Ò2$cd©@»ÔT¢SNú +ÓÆØŽ¢è†ªþ![wg` (î|ãñ–âщ٘šåÑì#û‡~°uù3p¸Êxä­èÙ—d¸«Ü^m·)ÌKãe¥êê¥%âýxžÔjð)Q€1Õ¹Õ¼mÀµ _ô/zGw‚†u¶“˜HÇûî¼xáð¢ë>uré&ëo¿,Y“ºñýôDka윜 wâ} -¯LÁ)ã`šÌÆaóçÿ?ÍÓ|vö‡×Vi~fëþµ3guŸú¾‚ YÇÓ¨6ÝÑãxò‰¢éºJ\%dù^q õàhk³Ï‘#Ç·|ADevä> +6@,â¶ïØ+éLž–§Eõ@´¹^ŠðœýmVé®»ŸK˜³êKðâ#¨þã‹ÅÄ#ÐôÐf™¶7óXˆ¿Å—Äúãì\ŒË˜|î’¨‚ÒªDž‘QÍ3ôLmUªcôcyaþ +ÃtÈÎrÕ dÀ¨ ¶òâÂ6 vÈbäIŠ¥‚ô ØxpkÌ[Ïò𦠵jKÎU?€Ðm˜‚…õíý +›šÔJ ¬šÃ"Lôp•™”ž q囵‡/¹²<6"›(6Ò¥ÖjÚTTpÍöeè¿8 –ý¨è>dëQh u7u0ûKZÁa^9Ç“¥¿ŠªÜ÷9‘“`¸Ó ¾]ˆŠä8LU'„´“ÆúËT.Ô¯_Â)À‹‘üÕGV´ñþ ¿Ž/ÂyÚ!;#i“aük ÷+j FÄPX^¸…°ÄZ‚G¹œ×Ú–æŠçti7V|Û‰5bÄÿ]¨Ý7œtƒöaG ‚´4#0«“=cwz”†|›ŽÙñק(ý› Þ³ßúÕþ?*ÙX·pµ•û ˆzbC/›.Æð]³&S)¯½åè6ê½QoWbÕGb®¦‡ˆWøQ°¤kEò³7>‡Élø]\³¦™x½ÝÏ›|C.ù +ûC9·2'—H¨ýÌ® ©© :ÅMQV„!ˆÍÁÿ¤Mõ½HÝœëˆNeë—XB¹Äåæ?/‡ú:oËí‹ÌsC³í"%Ò I y+Ø8 äZ`A‘M¦€¨û­ØQ˜ü ¨õ}§ëõ~ã|šÉ‡™“"ê[‘ó¶ˆ1yY²-Ù/óZçŸë¤ëY²8}ê5nÂœÕYS-// èUJ"JÊ¡@}Ôâx_ ¾<œõktÏùP½¥Ì‡°|>€…‹¨uú7ãdbsö~ùôe£¾Ø½ÑåvSE°Áй_ó~ìöÆÎ|]¹â5&ħehoÅ$RÕü7P±!õ§ñá!Ãû)mˆVîrlj·U¬î Œ‡-x—ht3‚µÑK‡4Ÿ >ÄÝKH=úÕ®×½&Xä®o‹ƒfolonú–˜œÓšZ'¬%Vä“£•§ÛϬ™`Q¾ÙêŸuA;Ö*l&b šDÇž ªMS{êÂË|×2¿ F¶…§by7Y ¨¢ÎTY +CHW¼-QBQÇòfû92`±Fܶ»€w%ßüã&AĦ0d¬ÄLý8Ý…à¸0ŽíyÁ Ó£rk-1§ûD„{z<‰ÃðZKñ&è÷Ój“ù.ªûî⢧‰ §Å·O¾ÕCV©Wp7è±dn´&ÛYúoÂÔÖCV·ŽÀ*Ã’––S’’Ø8˜øþoaù+çV wPŸ$ºËÌM4þ”zKdð=E( ~×¢ŒNÖÜe?ñ¥‚‚]€ÄÀŸ"¼Å³EDý“ü©u/YûY1ìTˆ.-¡|w4À"9pcÑÖüå‚u4%ÖÑï13òTr‡\pUõ²8>ß»pœ· N—[úÞtÏ ·l{;økª>ÝG y8 6™€6¹%P0¦ê2+›’­¸:Úå%„SÚƒY– ͹¤ä Rgæ¾>‡ZÏFd{z¡èj8d¿š×÷°n׺¿•…E¤ÙòÿÍ&\è>51$ÃqìZSÔÅ[pµ+5”¢9…H[…@LVü½zMW0ørg+¡ê³ŽÁÒËr÷ô=z[9:ë@œGÅã¼’6¢3̈ 5²â Æ#"%äþ¨^mÛêè1úl°GÙó½,+«Ñä¶Ì%±ÐdöŸ£ÃùEž¦©oŽ:Û…:ešXbëŸD0Ãf¢ »ñþ•å}k`ÐÖÒgÿxÜCNI—Êíqt)…ÕßðOÞYó~¢v•^g¾u¥´ûï¯fB{›¿¼‡feˆìKëö¶ùºmM +Ô) Ò/,ñðÖÆ´–6㻿B©Ð¶58–8‘¨„3…ƒ,µEZ¯ç{ÛYõâˆ,õšAg§&Fo—›½Ù¯ŸÅ—HÇMr`éé6G8úB• È¥/ ÑèB×.2ØD}¿Gâù®<|X¤š‹aÛ+ÌDø(’Â!Aäp¢†âËŽ„X³7‹2ÙýsÚ³xr*ä´sóæD`gîfLÆYÝnŸ²´D)ÈÈCš9•79¬…}vqŽ‰V±Ujè¬luæ]„Òt%1´Á;V=°H yȃZ×NÖ9ÄŸÙO¦|ˆW‰¼ý~}‚|7 èÚ=ŒP>ÕÊÓJåÂ8Ñp§(ºm.0ô(l´ŒD7[³ê‡ŽOV‚X×3nÝã„;ª7 +Èèw?mûÙóNµwjm옞¦p iiå!ÛÙ¡pž‘ú“é}/<¶/’k—÷?Ü Ujv ¢ÌÏJ€¡¹6Øó9¤¹neon@ù!,[dâ M!ô! ¯,ÅàÍŒÌbyä~É.r¥k­T@ÅcÚõtKÈlŠì{fÒ–„›×—°làue ÅË®›g8¯›ÑÇDUr~¥_ß>pUpë‘‹¦z—oW҃ƩyùÈðTbZCí5B>è«$MÃÊ$'`«œÞ‘%j¢Úá"ƒJ0͸ø +8ûx#RÑ÷ åÖt/ÎMTä¯åƒÄIlŒ;#Sú½°ùÒçZ˜ÏÓ™8œB•Ó\óïMÝ#³å>¦Þ»(5½Xp‹gqɉdãƒL‘TôÓÝmåÒ#é]j3ô1,»Q`ð½ÂBùÑ2;¶fa‚ŧÄ?PX˜Ç™Ž„=Vk¢À2¬ˆ3œ·lûäj9Æ”ÍÎò—ë×Ì8˜!Z2q°rûÖ7(^ËËz›¨ßCìó—”ÕtI³Þ4E¸¹/'ÐÕ]l Ê!7¡5»}ì]û`†œÀ^è8bObIó¨-ó+'ì ·w8"—Ø1ÛTÓ}Ð>Ú…F{kÄÒ +ë¼Ör6 _à”1×y±µC¨`±ë}+­µ ‘kš Uê_—|çfn€M,±ŽýÜî—÷<€¢T«Æ¦\ÔÖ9`@un“;¾¿œQbÜybª?îo¹’Ñlƒá§S˜­˜\WKŸ9ï ¹m¶5OdœB]¯ÈŠ®Q”Üaq†ZçÅ ü¤§a5†@Œyx¸,éù,cOM7XƒØ2ºîÕè DU- rE¿¨G fÆÎÑ …ýù!ìX·ÔK#Yà(±yrÏ5 •‰ók·ã%á‹IÛËXá,)¥QÛn‡ P_ºŽ¢‘™èO”ê\$ +/¢‚»ú&êÔÆäns:ÙŠ÷†®²JÿúµÜæ{)x"¶Š™¹J¡ßŒœß(Ã<ô¿8QM¤—Ó“%nÓXÀØ]ƒdÖ96ûÈùêÞD>-·@$\Ç®àuRk«ãõ>wxSÑ?iÁØóø ê^©_ÿ,²?(TÉTÁÜÅ,¬æ6ýÐ/ º,d(c\B¡æÃêÒa¤Â|Mp-M€ÆhI›/£¾´¡ù†ÓüÒæ*¡‹nÝwßUõá Ñ@·.°›8š‰§SÕæ O5•îQ”̆Ð.{‰þÇ79*¥»öÛ¦2›'äQª0ƒiÍÖÐBŸµM0ŸÒbõVºv2y“eÕuã÷$aJ:–Øa]S^ÇñPË@ áÁeV#Ƥ5a%ø¹ƒ‚¶¦OÿíÊãe¾c²ñ¹ +endstream endobj 295 0 obj<> endobj 296 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 297 0 obj<>stream +R{Ž¬‡2S4?¼úË“C¯ÁXÄQË@ üB1¬}Lº˜?ó¾ˆÿ·G¹!qBÕ^7üOîc—ë³÷—BUIô0TóGÿ§6µè9u<0¼‰í©·¥»ËfËÉ_á|È—ä¤l›ôd4wp›ûcA—¿ž:ìÃ,òb=³<ÔJ3íë,U‰Üûª2§Ü1úú6Ž¡(~N‹¸Eƒ¹Y¾MçxUiþI}ˆÅj€`+™S²~ÿ´¼Þ¹”…­w}‘1/å¯Wþª÷ÔÉÁ™.V–076èƒÊ‚Wõÿ ¢…’ý¸‹¦‚>Oöãø¼-1lÏܨòŒ5fŒlyã.D9ÈQäv=’Dù™RÚ$M¤ÿìzË´ +.ŸõkÿžfgWKﯸA +ë‹Å6¸õj•[1XXË}ÁSïÑâî©:‰N‰¨öc˜êäˆ!ÿÀv +pAdŸgÍ_ŽãzþH°Ìf½hó ØrÒ‹ÿ½º·ž6’>´û¯3:#•Û§Ïx óÜÞ5®!G3Å”÷“¸§¦çn‰–…ÌjÝ +2ã˜ÞWÕ؀˯뢭;ÊÒ9†ìA3•!$¨©JüYxªÿψ %éȾL Œ ­uŠc‰û°‡‚øN}ëJtéúÓ˲ڢiTUð—[Å¥Wffå-ŒhèMo{±›®%‡§²hm—Í÷6©5z^*»"áÉ'É(Î+$)gÈÈ£>†˜&ðñ‚ç܈\ØÛ[,é; ¹ïqU¿Óº]\oÊÅ¿_z„û£K²á@˜2}ÕÁ]cÚ*=:[&×Çé¡Ê|D‡ÿ¹çâ†h΋˜ãK"´|«¬î¥á ¬ß­Ê-ÙœÀÎ I“5&X [› ]Oý¬º¸¸ÁªôQ•=⊠+„¡=ÑŠÛxˆmp+ùÒº¾{1~§êvœáZ0ÿ身‰e{&y}|RT?á^¯ Ϧ#Œ¼0¥CÓvŠ-}LbCŠ²~eïdÁ8ccõ>ØŠBOp< +”Â(¹ñAsÉTÌ9íÙ‰ÄÙŠ€(ÿž“kã!ÏðVGÏ1&ÛåNSÀèÖÙŠÈ?‹‚()õQ ñtµ!Ü$£Ñ•^L[~;\ÈÊÝÏ¥^lG(ªRuŒ0’‹^r›â°–$í»¤úñ+}ª0¬_âÇä;%ùÆd;)ñ q5«½^v™P¿ÏL—ã-”@ø›TˆIÜ@Τ ø]·­/¹Æ$ç;¯¥ßÚï6‹:Øzq@‘ Ò_øš¼FÒAaÖ{ÝʀϩúÑ®,öAûB¬­­Ô€DhP£äkçSÇ›†^#ã‰nÞàõÛV¿ÿ?“P %þ7± +„cK‰ETx¡õ)òÞmY…Ü®†tÅ•¹wlÊÎÜÉÖ笊 +‘4d N'àgz}iuwº„ÁK1wÈ>N6']÷‰ë›£¦Ã¢zmžÄ‘±Hüˆ‡WÓ¨HÈŸ×ÿ•ñYû¨û>\©Q6¤‹ ™9ÓÍ·eÛÉBmN+Ù‘ŸÜ[X™¤M²éÂ)›Q"‡ÂW¾ë[a)ïcÝž¦¬1¾b…ñe ÚÐ5Õ“3ì踰D™†þ±×hok§iõ97ó°Øêз=îÁVŽ¿¼cŸ˜ +qêß»Å=‡£ê°»öþ[’qêC¹´eºÃKì/X€»ÊkˆT^ xiËd™Õɸ²&@ðWdùqøÞÜ–â‡o@ì3XÔž¡«g'ä½øyù­ÕÖÓ`5á®Jw¸@•ú#Òf×ZÒÁTƒžÊ3.§É? ®  +Ü\jbZÄ!PxøÏB⧛ƒLHÒÙÐ +Ù ÿŒ±Ui©9S%ÙÉå ©Ù¿á=ËRç[ö‘ÅN­}Öä‰ÐÀ®wô$TÉ®5ý_ŽV ÷ˆïw‹„“°¯Ë…1¯Q(ÁD]ˆ‘ŽÔV€E)¸°Ìž0x"ÁÿÒ²ÛšÉEj5RXÄ•¯ pàM÷Ð/#Ì‹â_ë=Çg¢Ž³‘OÄ@Ž…-øI4¿;*Ô²Ö0Ö9 6¼)bVñÅ®d¶­‡Û-~ª‘P è»áõýIŒ;Ü[?qÕ +I¥¹R<•¬¤bj¯=WÄz’Ö;ÐGg°4Hìa¦×&ƒ@±m,•™±<‰²Ö¼Ôºµ–‹Ó¿ñp7Ì4Ö˜þ†I®ï +da˜:‰ÔIÒú*D£¿« BÐØQ‘?ä9S¿= âAhU LŒ¯&ƒñ«ÀGN\ž¶À*öªÝæs¥ ËÛ æy‹q{0>ÙûP†"Da{Ï2þÔÌøª1ÿVÄTˆÎ-Š¥ˆø"šÕµ ½ÈòQÖ»õŸÿ·ÎÂÈf…j*M’ŒÉXF+Ò)ª’bè… ¿HbEI'ƒÇm´ŽÉ!Ñ.µ„‘­¦ ØÌ€¨]•wù×·ûf]~t“EN"†ðÈ(G‡`¢nGÃu“×1S_2t•Iþ;|‚;8´«iÐìuÏO£BÓ&Š^Ëo­š—KÕôÍf9\,‘éoa‹žd%7ü•nà93kQÏ4qÛÛ’ •TŸuZ4½@+Ësl>‰sîúgÛŸÿñ’¥Œ4c ¢ä´Ëû-Oܤʣ- ^bèÒ kÄÿiHƒSð´ÇIɃoǪø“{œÉm·*Q±zÏ`nXUÛØ0¦¯¢&F¨¦dŒhqíxYXfðç®Øk#jc¬Njg[Âgc¸ß_É-®Á¯kÛiGæ­Æ.¢7³K^‰ZÖUeª-‹^¼¬% +NK§Ø*Ô©®yᓃ×Äö¼,ÞÃ:zËèÒ’úÖŽ”€ò~öÜcõN”3 šÍUÊßdTvÉ©Xó*yÏ$·ØŽ¹„œ-o¢)x¡"d1æÙ'ågÄ]þÈ&HDNI.¹1sþj.BdWdÜaEeL‡L‘NõiM E³ï›½r/ˆ$¸'ÚGöBÌ„ê_!GZ¼½œ|{'fŸÂ©§{ü5ÈL÷iÇþQ +N’ÖpràbYT "°–Yç @=†ˆBVI“c‘Óˆ.KO}OQ—d¯•¦€7RL°ˆ$à:ºè~€ÏQxlGÈ´ÑßK¤’•ÒçUóî,6³ˆ÷º­ÿ)üÉë u–/ï0—£Ì 2:)ëMHóÂÄ©¼ª9…•8v6»¿,*üT]Ésúš¦|6âÿQ,ó•#ƒáXMqƒˆ™FDSØ‚ êŒpò*øê@…É©21"A¼År¦ÍñSœ ÄÖäNdÝK|JÀ`4Ãüñ‡Ü»°™›HìMàÅ!ˆka¬„gµÁÑOyÉ Shj÷S¿‚‘ñທlÍÒW¨.~¬Õ$RäˆÆ’möÇÖ³ÍO;|Næ^Nˆq[¶²]ã™B¹Pž©Gôªy9!ÇHã’¡5QöÎíÇè‹M=Z/£ŸÀ(ÌÌ×OASB ¤N +K-åôÚA…‘Ù#uj;,È£ö¹½ÇE'bƒ00á6€uð¨Ø¤7‚Íï}=)¼ŠßÿÌN²Zë +®ïjŠ7BkÎð×ȨN‘¿)Á®öã-Ÿ§(U3dûš>­„ *dÓmº½ù²*WnôùÂÀÜ 45ÔV„iD¶vRý®Ê ˜Ej/g¤1ɬ†Ëé|{•~ìÖ0­ ì) d‘Ó‹_ÂÎ9X=s¸íÑ g3’¿’jð‰³ªk1ĸ6U%Ÿ«†={èE W´+ÜPXëî]îs‰ß1an${Lea#¾/Ü:ù÷Ä8kÁ»¸ÁÚ ÖÒwÞ²¿íj }ë¬4åzg~TKLpzµ€ÒO8ªÛæ¥cÒt@Žº°à‚È3ÿûœãÁjÐéÏN>ŠTŠà>²y£«‘RB¾ÜN!ƒp˜ñŠþ:D‚‘袿?H™“Ôs$&©æ-ÉÔH }Ïf ž¢0’Ñ01$sæ¤'fåÿŒêù¼j,YÑP÷4‚¢l¹9D4WMµHhàèéÚyŽw³—ËtíÕmnï +ò“#`ù¥ Û©‰—UÜßûľmp1¡ýïЀŠò#ÐYÒÊØÐpkªD#&½¸€¥ÑuùûÄ€` ÜËÈ@ZOiåPÁ3SŽØ!÷¶…C +ûO€SN® ÷ÁŽ”I©°uæ¤N_⑇55®5p[r(–GŒ’—f"$›—¸ Q¢HŠ»ò +ŒÎB©t­ôê"Òún*~⮄›M&cÛš$ÿåÑÆÑsÊCûCzMlÑÑ‘›bY-ÀrÉæ®LØ9È•£OÏì>Ãm™ë41Gg£ö2øªô·=yMç°lv ®&è°À…A£#(êØMa +—'Ré¦4/\' ؽ׿íœÞßÂξ´ hš·Ñ.#-¾6 +endstream endobj 298 0 obj<> endobj 299 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 300 0 obj<>stream +ëÄ~ªz¸®€±GõU@o‡E/ÏáPŠÛs2ÃB–¯ó!a.E–y‹£@Z°KU’·’m¼SÚ¤ºm¥14Ù¼Žmé'FÅ‘_ðz¶¾±a²‚Ù¹âƒ?–¿GÎÌSÎ¥ ð¡ë2­ÉmüpOH eÀAå²_ª‰Õé-ít+²ðµF,ëDÿb?mª5j©?‰ÏʼŸß~gfq¤èÅM•!v.”‚8öF_«qz”–¬ºW®˜$ë`’«Jß×:®­ãÓ]…m|0‡Þ÷ý«4Kj$Œ{êØh¬köõ»Uƒo`ê•ÿ}†AÚyd*~Ò™ŠtÄ!x£”Öãu4`}T +\a+ò&Y9©CYÚÙ[ªIß¡ª‡ý±²¤vÝDcüaTv†mäõÄB½&ªE„ÄàKs«HJi,$SUp¨%jó¬Ž_Дò.Ýâ +’*“Ç/[ÕM¶û(¸4£÷ö~ùSÔ|™ß¡¯ÎQ½‚U‰ÓByhÎ_œCŸ ­«nŸƒÝ¿û+údÐZÇ››ÏËQ’¥!¡DýÁ° sí&=3¢9ùùíðч­{²ƒLÉ\–²*ÛêìO}ù×RÇ@r‡_0ë&ÂMïN¥Õ n·ÀjEñJck0áE§gð¼õ*‚è@dÂÍÔ{¶}mœŠ/ãÑŠ,8g -*êÌœ¿k:h|õ®v'ì¸tBÉ×.1+È>ý$bé\It¼ PŠ\†¥îˆÊ\¦o®¬JS’M(½‹’^’Æî–õ­ûR[ù×äZæ_éû¾ú»ûŠƒ“¡dš¡kgIN³øu¾áAòµ¼ ÉG¨dSœ¥ˆÃ›G» ÊMêšÀŸpZŒõô] +ÇäöÝ/ó•™Ùè†*N_ÝM…7æY£¢.¾‰R\`ŒÃæXØhzH‡}ðùÍæO•Þ®w ðy”YÖòQÂóÑ¥pÕâa8¨"ïPÊJÚÕ\>ÌÖgó0‘sºÄ[ð +£ÑA9hšURÝЭ®êw°ñ¨ ¢Gö‡¤é_Ñkh ˆoM·*˜–yÓ|Z{µAÜuÄÇg)GËÖ—Ä áŠw¯Mp²~µt…[#?ëB$6«×§±,89ÑRy æÈ?eÂÈÔ–Yl…k +G}çD9Ã?•¢—‡¾äi„Á¶à eÒ±©Ä=é ïÉnOÑÊΫïwXý4 +–ÇŽ³Á +©3vQ`bU"ùÆnÖÝÈvè¹<ûª.AÉHn A€c0`ÊmÑw÷$¢$«<¨h„cCÀÊ•¶Ü˱rÏ| ÕUû¦ÎiVo«“q‹Î”¶Õqï~óÉP¹Ä¼ãBCȢ܅¤,¦ðšˆ\O t“ìß\sÀ"šb냋—qѲ2¥µö$Ïþ\—ªþ‡´Ð&]®‰kÔ)2úáá‰÷¼æ¡a#k•ë_è’’i£v <‰õ0·%ÕJÑT—€ÁÖÃÖ&¬³H×õº3²k·*[»ïþÆÑû–Çí}”•×MLÿé®xlÚäx†Óð~`âZýʶæ=ð÷VÞ²91­Z†¯Ae^Ox׎M!(„Ø”x‹*F¥í1¸t¦1j½¥W}¾Øny&ŸZÚ²z0UÊMñ U.Ãù†ùDþ¡•Ð‹Ëô†÷„u‰fqH0iFQã»Yñ¡<º +ÙX¡¢ƒ ÿ§Å³‘¼ gñYþ$݉9K£” 4®˜uWø"ÄÑ£hétý3u¡ÀŽôQ¸ƒ_¦w·~õ°iÛ«+WW“_Àø³eúig‹§öø’ÁÃbf&.(¹×˜æõ†'¤_©¸'L@±åºÅk|ÕêÖn]Ä#v-LÌ…ž7Y:GÇûÄâ9J`Zx!Žû@V€9(ø +¿ÜÝ=vLpÅÒâÙs ÕË iãˆL"ØIòý¢ŸÆ +ZýÆZ÷¯öïÇ°C›÷Fpļ竼ÆÍç^ Z~Wo u}ÔóÞñßx 󜈫Ï=”½4•DT·H]»Ÿ]Ò¼ù¹ºƒÄéqìk8ÙÏJJù1·¦ÿ4æŽ#rĉU*ž;‚’÷_«B>_ ðWÅ›i÷Ë]]¢¨*ÁZ-ë<™­‘Eþç’àe¬¸d¿[ŽbŠ€KŒ"þÒóù;À> +׺›ó•Ýg€øåŒp?¯xéß +!tL‚=HkÌÂƲº š…ÓH${‚0p½Xùõ?æ 0´çG4 ¢ZÉÌÝo +PO-ý}8(pùpû¼¥-iñ¿i¤:¶¶ »»¹c‚IO0áqÚBT±_–$7×\5‡y×öd£Yë‰8™ýêЕ•ßô¾ø®1åÕæëQzR°ŸÝaÑÊúáNî üy/%¤EŽ}‚—»ž?ÅU;‰UóäÕòfQ¼Òz “ „!ßPî[ùëþX,P"evêÝz`´I×Xkëk˦ã“UÐO —V‡$\]Ç™Ö\²ðݧ&öN-“‚”JáÇ\Ã;8kJ é„™3—ÇÌ:X#”üX’#ɬ/8;ˆÌ¡?ÌÖtæ£m’ÝGc™-á$°v%¤U%¸T¢>^«hiÔÔB)´:Rãg,b°8Ý|ÁÅÏ››ýM O]D·q¢¾¸4_Eaß"? ¹Ø!ÞW¸³« Ìä£ +†yl¬rÞHWdÓ€úùs ×»mî·àÝdøËò±fWˆõ@spI´¡sµ[ÞÌÜ1Ì÷È,ñXÖjf*Ã3A´ {Ÿ©þÅÓ´~—*]½ŠëÝÖ,Æ9å™47Ðï;ƒñ¼Öü×U3'„§5âR[ý +ÜO`â$ÿ}}EƒÞdÇ"Ò°ø²Û}3j1\ÅxV¦ðz¸$ÈÑÓu_{ô<.iÞû‹dûcDqZü¸\;D9…®±vŒ¸»¬Í„Ùõæ*\XÈßU²ÛöÚUÒÞ)€IÔÖù9ƒ]öPJZЈ]ŽŽ?G…ØdÓ>ºA3¡¨í|:¯5Xšä¥ù;™5ª¬Pm±8Ü‚Äž¸`…Í]Ä Ò‡w9¦§´¡EPÙHŒâ³WU€â¯„ÙN¶(æ* +»:7åSíïþœUÄ!³€òJŒ=ìßSùÏ/wÝ|7å·«Hç£z]‰ÂÖç“eº‹ê¤! éó„Á¹ }pµpe(&‚Žõ^Ù[- [edC»w¯âß›R¸½«ë~I¿LX>»s*+÷”Ö û -ʽ¾—qâ¢íZË#ù +P¸Òê¬Zœ‘ƒ"KW¡Wª®e Y_¦DÑ­Ôy%²*…xÀe:b/íÆmίbZ4ÞE˜êb„qÒ‡/B«ÔýɈîLPå—Zs·{þ(ukÀžŒYúõf¡ëJ4ýZV³Š5ÙÆ—fõ”c%¦Žn‚±¶Y@dÀ½-¦Ÿ?×Ê—Ûè5ÏÇ´6—ð®æ 1“[}¨p«¿ãPŠ­©M‘?Äx®Àæá>qò’áŸU²ºŒŸÒ ¤”eö©Iecå^©¡R³&È[¨I‘3Kù¦0m½æ*ªŸDÅ–6%j +U\èjÎ’5%$g,}N¿C¦›¤Ë€î£¦t°w êÅß离.J åú·Y’ÿJSst4 ^¨ð¯YÛ*dÌ¢Ø~Õµï䃦ÍÒ‡zoÞ¡G7΃ÿ2/L T|þŠ:Ùßù¨W MÓ¾KâK˜þF4m1ñ\ + G§û§„,šªhg5¼³Hµh2XÕhâ«#mdîË‚ñwŸ¤ƒ # rtE‘R£À(WFU÷øeÏ\øhDÒTÿö˜mÿ)F¨¼ŸàP±hðOú }k•ŠdM +ëÜ4 Q˦2Ù”Icp~Ïïð¼1¯Ô:³Ë\@u¨DG•!ŠX£/=PÄfõ6јÁÑq–Èâu–ÚfSŸh|×ÿvKgæþ³°¢+½ÓbT¢v:z}¶snj7µ§XÔ §/¤÷¬óSñ¸¯ÍÐmdCZò`BôkÛbÔ¾¥Ù«@4óØÍO½ù¹CPÈ S…æ »ž Ûæ|<-ôMLmš—,!ÄH¨+AÞÑ:Ê?25 3¸FÖCÏ?yj°‘†6-2[.VÀ=fôaµE4†€‡.xŸ|S¹æw.᪔XÖrP&Åj Ã/´ñ)V °åýÑ| + —] (žb7²æŒ}Ü1¹7iPÕ¼.Ê/ |}–Ö‰Ty'!§™ÁA®;XÑU‡êvy«já~¾{!ž…U¤î!mÕ¨¶Ý\ªûëÃAxdת¹Ü„º¤ªŸ2^ÿ_æÎ=y“aUæµ?× „Z·1JÎ{5 Ì_NÄöÔc +˜X»Xˆ/ "çf ”?rL +endstream endobj 301 0 obj<> endobj 302 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 303 0 obj<>stream +³qÏcÊ¥/Ìk”'óÞh­Et¨*Yÿ¹ŠTä~j5P«xþ±<ä›ýù_C˶õ¹Î6ȃ ö‚&°(ª@¨È¹úRÃv©bha4æ[H¶¡D³IÿÓŒ` Â›¸Cí…ǃñÌäd<Ξ€±Z5mÜ¡Ò.·Ë•gFú‰¨ù…@´ã6€¾‘u]‘CA5Ú¨Ç+‚ª7Iíò¯£áëøhõ+æbÖ5Ÿ&ü>BµD–.oÑîÄÑQK“lÃÀcÎMûÁÛy*_ç£v8º>±¯½­‡Bðº+¤UEŸhê¹A5™N!~AÉ©K9¬z×{>¢ïØÇ:¼ˆ—WÐ(j^å +…Kyšæ²ûøîÊoÏ"ko2s›of&'òØ%IJ7»Ž±Ý¹œ¹m¾p§Öz¹¹ªÏÐç™P¢êª4Rarhë,]o´ìS¢ìgɔָY&¾˜t[£ä VJd㱫c| C[­*¸Èín É:'ÞB‘ÒOÇîcKÑ|7-àu°pŠ¨dð‘ÁXŒ¾>tëÊéÕÅKÞ?ï•êÄÉ|刹™„•ƒÂ0ì%QijÑy»Ê},eœV!þWÝñ¦?¤ ±`ùÃY×Èä:^Tœõ¹Ap.Íì çýz JÖÖî›Þ̉IDi øúõŒ,’ná³’)\Æß5ù˜,åeË 3¨ªËìÙrpm¹:]—J•XÓÍ ×Oµ¶ž°o­G ü™$ ,D0+8ÔÀÞXÑŽºufðÕä ¨Árå˜,:€ÁljÎâÎEÏ•¸ÓÊð€K¿×™³x’Zö0‚i‹šÆÚáÚÃNÚú÷tÒŒ¢õ:¿.¨V@û‚$NŽuÁƒjä“l·þßóµßÈÞlW²¼®gZè5pïkŠ+—j=ìä¿£\ G…âvkC”äVuŽaÇøw%SjGEí6,v,X LÒ—ÿ/™~³÷q¦®×±0[P 醪ýš¡ó62íDåöô.¶²ÔÝ2ŸWÑ€1+?>O2õØÔ Å"ŽÊS ô\@ÙÄ'%¼€¨21n¼+™LžOéà ›êó8ý¨£®=N‡õþÛVäaPš,þ‚ëæ"Ç·ž2“‰>Ï÷"dˆ3¶ðùs›ÓŠU"±ý¦xÕ ¨ËtW±ÂP!ZzÙ¹n +–ò:âéhÖ†¢N-9sì{lqäÑmÎÇÊR °ÎƇïÜÙƒŸ?œ÷÷‰6†¦5JC×ö)é|ÉØh#äjw}Y‘±ô¿÷ 1h}ƳÌD-v^d8ꧣ@°ñà—Ø6®®í‹ö­zKÎZùz_€A¢ß’Ì„alíë“]XÜ£?NÙ!îDG[mnÒ”k$T’›ˆ*––´‡(D¶8íŸÒTø(h#\ûN·xþÊ£ˆAFÕŸKIÂl_WóYÞÂK‚ÛV ®ß +Ø›‘›ìÁ"I=ö×Ú±î^²¬EÓçY×oÇzèÇÞ—Š^Åm!Гæ2ÀE§l=¬”á#Q5*Ï2Äc«ë)‡Ý]¯L•ÿá®5cýâNãQú§]bVÊÝzJ¤DÒC¤Ø¸Tvï·iÐöÓD‚Îò²¹žZ’ZÚD•EÓ»çó’¹?xyp/ÜOé.=|‘u…\zMíÍ9´L¼îù³/e<;-¦fd Œ2óv¢Åe”öË[Á“Ïe’;CÒ~ãÌ- |*AÄâ©DŠrQÁéàd_ÊÞÝ-oÂ…¨/2Ž…Qƒ…2m`cëì5ïïäØï4μ>È¢:šJÊwù e‡uáî$á*d$+eJnf¬ë‰ë·ÆÒôgDó$û ¾ãUka¢?«­ö¡t¼Œx(jû`.ß›Ž-#ƒGÖÙU¿gÏ/ú®jÞÌL{~YNòSiCAžÕ–úxIMª ;âz÷Í¢þ0uŒ{áöœ¹b•9ÎvÆõ÷ÚÐw#×q-nÚ÷5Vz7âÅÞ7Ì…R;×¢¨ë9pùo}9ÿî'‘(—)íü½¡:^~fpˆ1Òk4?yŽ'Q^ƒÅƒ + ÃYqœîv"ã% —~ÏjÄT€Äd-D%Y»$‚9kÍh3c©žé Ä2÷]žD×;}´ÆuQŒ‘¾Ô[#bÙô~—"£^w_‹yÏ´þsÔ°é—Ö6ø ´m±|ר*B5ÛÁ°?!S0ë"Ì_¦XTÛº'Ú{,En m6u Õ¹´xÝþÑ^K +Ðé:ùOÖcŠ4C)ÝíQÍe†@°ˆQ, +Çë„¿8Ëÿ©4Êø>hõiÀŠ¹¸ˆ&ó[gû¡æ §ÚÛ‚z¬k´vŠ+ߨÓ†8㥮O4`*v?µÓEé ŒS÷5â8éçÞÆM /ïN·ƒ½à¶Úä;ÚUÚD¾V4“€Ã/g¢,Ë+¸tÞÅâëªÁ~Y³]‰Ù@±R¬†gÝÚõeB‰jù!Í+€ +çÆç…'2©˜¢ðtÏi«nF2z›[vrh!/-yqÿ`»¹6åøý·Ù:0î 6< Gó>î;~ƒä+Šû +î…©þ‹J +m›æ€()çÖâVœl›<›…e¼ö,í0¼XÄ'Ú=hñŒŒÜA§“yŒ,8ñÍÞØÆ'¢È7Q(a‡ƒnÿƒåå±E‘ðw†”n÷3´h)ü†¡ ©¾¼¥3—š”,q²¸joÃFýê>ÎUš%ÈÕcEÄþEi“ËT·];ŒÁ¡œ{ÃÅG¨"lÚì)^–ÃÛ:»<ÃwŒJ~e„õ¤l³iöÚ+¼ÆÈ›"ºÉñÄn'ø‹ÒnÐÚ×0“ ‡M×Ñ¿Kh­2 BwBkàš +UÜ’fÝQHT4x…$Tf†X4òCF™*[sŠo¦ýøXé­aûÑ(Ý*%õk×ÝOX,œAÌ«¹îÊÜNŸêæèb-¦Ãp>I ߎGZ££ÁŸŠÌ½íé•VMýë€}ª~˜éáNbüÑP]rÁÅNŠLlí·É,1î6=ü.ÕDÆ[ø³Ù‰SoUŸþJú5y–¿¨•È¶;> endobj 305 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 306 0 obj<>stream +!Je««n9ûõ6"óñÄJÞ– *™ý(ÌÙïÈ-ˆ)éÖ6í :¥Ÿ>V:Ú'ëB´Æˆ¾¿›J"¾*6âsø÷&hBu?ꨃ¨ÙXéÞ¨2ûóõÃl÷EC1±¶€ÉU|Øq›€³þñ绺¼ŠÁèlDæÏž±(Î×LçÐ(rBÓ“Jà2p(¾fû¢?x<Á 1¢#ë¤Ä†®E—o¡-@õË•á)Kó>J7V_Ý1ÏgÖ•ûWguš7$fÿ9Z_4ê+¸´z, -5üÚ@ò¾Ú³cîFÙ÷Ú/¨£ÁŒ ö‘lµ´j ó¿“!…0s~0ÛÕ© *\ü× x ”~ì,a-U;Þq`: £ÂHkXHÇ£@ K/ÙÈ)Emœ¢gê’{ïËc‹R +8K"kËrÖ ŒmѫĈHùêId„{­˜ñ†nKæbЦëM¿´kë\R-‘ˆâïLƒž¡€‘KaUJÍ‘¬÷6»«±ZéÝd¾Ó¸£è@r‹²4×/«'òãø‡¦fþÁnï$²¶‚îS­‡ ”§xÛ­ñŽi.ªà6¡g³pö!‹ž3'Öêp„ž*Ùµ@+«˜½z4…K„­?V. ŒóˆvÓrwë@Cú'úоn¬³d.AŽ`L:—«y|K“Ã1ãk£Ê½^¸øf‹Üf+¨]¾ †ô9Fâð©Ò¾&ù7l¥H¬LB*l–'Qµ¶\' )ÝÀC"5È›ô$ ÂÌvþHÜÙo·Ó>=p÷eæÊ“£‰Å3ð-–¨1ãì4BŠ$ŸjêЛ*ÓDqÑJ¦ÚÍ8N!o +ßÞÙzN&ØŠeŒR«‡À¹Å܈_u,ÙmFž¹ïÂœeñD'90ÍKN(ïÑZ- k5?IúŽÛ¹ºŸÄ Q#3¨÷ûH,4W‰$ —H~ÖÙ´ÓÀgÐW•êÍ0û¬{[Á 8ôAÙÞµ*ä\¨+Ï‘˜C–°}¸Á­¼C/!aˆ1ÂgQ,…ÄïÒœ¦bM!PwGYó},Bžð«ª'¡wÿʳp®^ák('To«£ÁDâÅ^¢u©~ 8:2ÒêOJªS¿õñdCÒ’¹C%ÑÁM‡jLñŸÝŒèx½8h׳º™M·€`¿œÑ)0¤5 KÙ~1ŽzvŠ>FÞþ¦_99˵Ìúo|œ¸ä €"`:ûyãáÛ€rgüˆx³bá+1 +[?áù{ù±Ö² ½£Ø%ÑȆtdX¿yž0 +L,¹IIË"ì.2D…ŽƒðN ÎÚ!ɬé*>oéçÇÀáxÉPr®1‹ÍNÞæ#>v9þ¶¤nÏ®Mùä¨é³>‹¤ã;µ¯^ºq”ñ¦©M²'b>% ÙëhînSKXøžñ™±ÿ_ˆJ|û£,°Î7¶pNW/D@ó9m©<*$Qe‰"'•*CÈ×£%CSÈÑœLãM“¬†ãè™M¯ä¾œ…ƒ¡>Tö½]†Ž“Ð-8£®ÏÃ$N“ùå!ÂXÂKàÍõ»”y ÿWM„nÎ[Ëpî¿mF$†W[o¢fžC•K²vЀxǶ>ÑuD2Sî̶ñ3ü½”îÔæNâÆ šVùD@Ÿ7râQ ŒR¥ê}rV¶“ÛÏl¦ß°TœÝv«U¶?*%DgFoÏ\óFÈÍUȬµ¹2È ™}ëy‰28)žvæ£N{¼ÚÓ¦8„Úäž%À‰ú•}å +öeÛ²  ,S™fáC!á´€èNW\ŠþN«Dé¨3ŽÝ¥¡”@uëXä'ᡯ€\þ¿ p„ZDuO+̈Ÿ”± +ž‰u?FêFŒ, ‡9g¼fk3çŽù\g·|ûÍrd;33ŸÐ# ÃŒx­6sòyÈ°ïåtصýË™Ïz0Ò\žµki2Þ®)³I S1l\>M ²µ^y W6ÙíAI© « ˜¤kB™± ¹¯p·I´ûWì?…Ècf$)É`õììðÞŠì%!žfÁÕii‚r±í†y59‡‚ËG«=nã{×'¹ÓÛ‹Ä xÇ{ô‘§S—ßâËÊPS VÛ¤hÈÝÿ€Ð®$m¼ñpœa£‚¹¤Mó§‹^ª|Í÷\A;ìÕ±ºÓ•ž·ú‰Ÿ"^ªÐ±‚š0ð×ÁH|§XlÜ&Ë{Q‹’R\8º>ífÀÒ!*Ì ŸÏ|}Æɘ5pdGç8qmjNT£ÀM QÌ@NÌœïc\†¼Ÿê{\X1oÈÌi¾)í¢q<á”åC Ž'K¥”ßd¢0Iïà re:Ù<^ˆKÛwÊ=ËD䶾ì×ú±´ æ.Ï`‚h¿¾Âs–d';Ò‘ÕQï?"Žzjü¹y^Ýâä†mÝ ,1Žð± ÅÝy(H$)“×c>°Ý™H‡&¿¬¦©ªÓГO›Ætªç–)O,D Ó>äx•êb ióp‹Þ;»)Ý«+“ó M¤×òÅA†]s´›ÃŠÁ† +^úÈòË9:¸HJÇ=—¥ÏO°Û +½GŠ*Xõ{ÝTï +æíÑ…¹.RØÄó8£Ý¤òäŠÎ{Ý—þ#TäÛή¹‚0VŽ'~eÂ!ÆÐý¼DS Ä®¢djõ˱ˆ€;d³â°à†e˜oë¨Æ6@M˜K¹`+d‘ç(¢_0½û Îá7ê"ÂWI ºZäwêèUÉy¡­” ·¨`ï9O׈âÅæÚ~>h[º¶œÎäà\ĈMó$Q嫽$ú­Ý&j +endstream endobj 307 0 obj<> endobj 308 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 309 0 obj<>stream +Ãk®5ÞH’•™ÎÇÈYÃX '¥Fè~z^Œ¾'Ô .nO<ð’9Y»zYmTl|ͧÀ2Ú`Ú,­Åi +Çÿk~rË&-Ϋa"t¼Œ€µÍÄɪJÁmÛž’À)¾™˜Ã±¡?›„²úIID‚ìŸ+»ðÚÑ-¶¼·èP¡V joÆ<—‘9¢àî¡3d„èN;}Ö¥§¯{Õu¾'¤ÔB5€†e¢‹dy-»ùð]l,ã :28:LgR'õa û¶íÍœƒV)§_ p^ÐWr0–*‰X®J½×ÝIdU“L!@¤dˆ$ºb”£XÌÊ*í(‰g![ÅïÈñ¦ÿ¹r< ‚¨¨€ :-õxî€Ò¤¸¼Ç8¸&ák5ç ¢ýŽ ¡4 + Q®­ôîBžõãæÿVmíRÞDpsJ§óEàà¾Ç/`ïÊlyw1ŽÃ÷QHO4DÍÉò‚-«öY‹Q_©ëíÏE/“Á ¯ñ‘©Uíq“ñ]¦Nb‡GH+üäß(qæMâvˆ¤Íý£'[n{Ý.Ÿ*,»­¤O>j¯âr¡Ÿ†èÌ2«0]uš@âÁmÜnP–³5ïï/|zÖy«h¬vô/%ÜŸ¼Ä7ʶ] Þ(ŒfÂÔ‰EG5â÷ÌÇÌzŽ/´ÖƒèÜúÉJÔÕùØ67þµFdÈý² Ç4Ïû•êˆI–ãY€9ƒ"Žšý~^ƒF“h2ða0Zݼý€¢¥¿§|HgÖ«BZ]«®WÉœUmþðKz<žð’RÉÀƒ¡s$s ³!6ô8¢ù¨šÇv…ÜZ|"ŸgK)ÈUXâeh¬}•®Ì+•¿¦Ü"¿Ò"bŪÒÐÅ5½•†šd"|žA¢d›'šé“ú—QbÔd4_‰“yäSÀ«ËîA«¥!ÖÙ=?Z9+U5Ù ¦)h¥ŸüAU¨PjÅz ¦éÜØöKOŒìY«;=Z]] +ËlRÇKKõÐER¹ÃûÌÚ½„g\^[ ›¿ýù$Þ¤4öÒoâ*ø ŒŸ”&ÿÉOþÇ^ºSó +èNÝ +_iµcÞÝ®™,±/íÿ îí¾ûã¶"ŽÿF·"Ç¡c2š 5´é‰42ß/Ç“r€N*tMÐæfÚ4–³Éü^òÝá( ‹ˆý§Rå]k¨I ð³ØÿÏÄà·²_¥¡7¿à{lÀÚŠÛ·×î¶î……Íægm‹rõaZUa1Ÿ½êN]´n:iš|MѼÝw yÔ,í§€ì™¤,£Ï¥Á¤òí7Ìög…¦ïĦÓݤýåm:Ùæj ªs¶<ågÆu° 8ñuo +ÊXí 1¾Âa_Êk›¶­½ûœ=˜¿oÏ "ùÀ¼.“ÅÍÈFÚX\\çÎ÷k'|Ræ9ô!ð’ußËÆ%ÅY„ Š‰mд"H*{ð"Ç|d½@½‘…41fÅyËÖo&-ß:5t>Ý1ù‡m7æH¥ª@|A:VæªÝ­xû ÆNݘì¯Õ‹W;ÿ‚<σŽH_Ü«=ÌL~‚Ç PàŽC¢±¼fƒNø-ÑiÒ¦7~òËãÕ«]ÆQAz…eJ°Ò"ÞÛ8–Û½÷CÙWh•Sû*=&~´mÄ +‚ãrߟ~ ¦ðe– 0,åÀõ:2ÊLSÏN ÚV½Ýyü9qÉÀj² aŒ9ϱZMph¯wÃÔ´OrÝ—.e£'æ„Øý9fçj¾½·™¨ûIÌêð  «[ƒºjúÚP+–áü´ïÛõO œÞÈcÖ‹Ë…l¢Bìí}¢ÎìßòD,sr˜‡„\ Ф‡v1qTª¡lsNŽ²\6oÊ…]£[JÉ>p$¡æ Ókéô†U32+·È¢l¹&R²ð+˜66÷h´¡ÃA³/ûk^°g8 ¯zÖ°º£×!“ UŠ#`V×®âQ… ´ÖùB}0‚Æ-Ýx6‘^Æ#J›Kï4¼XhO|=þÕ½QóÚ(rl>æ«.jtiš¥rO !]S®8Ü&uÄ]kÖ„ ü+E>uw$þK˜™R×çöÍØRL!wžîÏ)@vÆ3XFÂg¢é3k&¯XõÔì±»ÊIòϳêØ£aùÌ–©ÅèJBM’¹ç*¦r ò±ÞÏ+j±üò†?zÿ¿;ŒA¦¼Wk÷¸GV­?­Eý=‘p‹V³³"yËcº²8 +.}xölõ•;4˜ù&jÛ:°ë‡®±¸#á‹øcÞ±æëo.è M"ãR8îhFPñ:¦@BÌ⢎‹_ÌsãjÚ¥v´‘ô~¢›Ô8àÈ@—†{ágÛþÔÎ,gžárƒÍ=-“…ftÄù-YŸ®5ØŠU;ú·%Œç¢"{—JÅÄS-ˆ£· å°jIòyƒ£ÅçM,ûãL2*ø†òëÑØþ€#=iÈ•%È)Œzõ€åd=–Os¶f uÑMÉ׉wgÆÄ2Ì8¨Š– HE-z‚ûèŸ4>;7ßËÌ—TÙ¼Ê1ªŠÎȺ­5 ;Rg§`k©èÖç¨ò¨+ •h +nDð©žW*°TÅËvqÛãD´’42b1ÿÚÈc‡&⢠x‡MV1ä½£;w¨è¿ºÚ >ÅR߇tñis‹%ýs:vDëëT|ÂËnMECÙæM„š?ÒÃI¶V Ä0eÌ÷[.–¦›\²¤ØB¨<6ŸM–È×éÔl¸–EÖÎͬˆ­^§fÐ&ñÒŸRa੦Fÿ~í‡ß°ÇÃrb%ð94ï?FW¥â+¾=úc{ÏÒ8Á«£#O‡c Lz*ç­š¼?þo±O|í atØiCeü~¾¥اŽ¯I莗N`;ËꥥÓO‚ ¤M¾ôN9á)t rÓ“Gy%÷Ó4=7-Ó»f׺«BúaW-Á¤¹–°µiûä"]Ö<¬±QÚÃqß@y&¹º¦:FU­6Y&¯k|xw÷^ÞpîÞâ÷ã¸ð™ +úüaÒO”0½láñ|¥¨|ÎÊÇ-¿q™ž¶°£5L…Y­øU°\¼­™ôÜRÃÜÙF/yLo\©/Ü—‡úß“"ã¡­Jzðrø\OäÔÿ Þ!^™­q,ùÜaK¾ÙÌ|¿\‚žò^Å7¸ß ÞÊònœ•ó‰ëLQÕÉ;R)øZT²Sæ3Œ ˆv3TvÜ"ûx®¡ŸÂN£zô¯s£mn¢÷³°WÄ‹{ýI¾?àö+GÀ¹:Y¿ü}îÍΑqÁem€,x>h^ò£+‚â öRF€\Î…ÍIY³s„Ý‘7k8÷‘HN~m-Xj'â`ɯ©‰sR)MÚ à a¸F…°“ÙÃCñ®^? y”ùÜaܯ¶:Ö´â~M³¾°pûÀ“ (ˆÀ¸-ïb^~‰úÓ/¬·ÅËÌb1Å'ua-‘<\’fNú•…l~Ó7añ™p]æí¯Ììhh-ôª„>n߯òSmvÎ^'¾iÓMêù{)½³ZÁ#¾×‘{ÎÿÜ+üo¶7kÞž†ç«ñ¦d¥/YCìêu¹™Ð ð†Ÿ6“ü–Äü/æÇdªQO· #×›Åyš¤<ä«ó¬y`/³½GSwÇ«µÅ‡6Á¥R“®ÈDZ³šZŽ&!«‚H¤øõp~ XV7À]”ðf¡å«ùJ"b§Â’tdá÷c—”ŒÀu´ž©Û º¢<8\cåšèºL“à€ìFz» oLðu8 €Ã›ûu»lig‡J¶V{\üsu_%‹ÿZÉ ÛEíŸò÷tùaRë'®A¨ a±]W÷æm¾rë êTÈJV"ù Œtâ? {¢–±ç*µzx¿p°§¼Ó?¼Çˆ!—*¢f! Ç|'&_ õõLE´íX'®k”zÆ·cu:oYf[|Ïíèf[ix?£Aôd«‹@G +Ѳë<–Bèä©p uX~4Žª~j|‡á^¿½Œ´Á­@“ ßûRoCÜêIòe7Á5èRNy‘RÈBa‘ÈV£D~ž÷ˆ–=iñ°vD-P•Œ™5Í’ö°—{ôªF\ÆP¼†?iT©Š†`Ù±õT†Çæ("êO¢èj,1ºÜCÿ€ò +-à96“–­ŽMCù¡Ô„&û_Tê­¶ø'3±@7E5ÇòPõ·"4•ÖæŽ{xuwžvø‘âd{c“Ø(®0»\x«.šP{®÷Vè« +×eJ…¼‘RÃ-å!}—<¾y‚hc B,à,£¨›©¬6Öò\åN>ÊH/sáå–¾QÒf.¶Ðÿ’ôúX_Ì và±€»Þ¬¸s|ü¦éNàVnÇç4¼4{å¥25$UDÎægz÷XüÖjˆøF(8N‡7Ò" +l0«~«qN…N²P%ÙØ#VUß7ù9%»ŒôÊk ;$9–Öå+ÉÓŠä (ùeË°x¡p’Ò%)Ø­åÝ| `è÷c_µ$Üã¹³Ñ6 ~CJà—‚ÁëñfϘpÆâæ1®/qŠ>ì= [:Zz¬w^Àf­£‰“Y¾©èð²ò1Ý%¿]&«iĨÓbÐ>ãaAž³üH íeÑo@ÊÛ¼†=}Ú†)Ø1ǃ›£ü.dF»Dë©ïv–¦–Ï€?XfÉà)8;hÍZ`(V‘§Ü-K`a—L»¿ŒKû·VÛAR ’ ]èõ +‚*xØ}…ÔW–`„So¹z çG3ô€x³\¹~Ó_Ú|›Õ¸rµsÁÍÌÁ!¹µÞ£k¨y›ÿ-¤¤ŠÅ¼ÃÓ~Óùm†—–ÊFÉ3ÿ +Ë»ôsijA,IœÖ ‰åÈ/ÿRaJʳiŽÐˆ É,¾3TE å·Ð ‡µ\Ì*ƒVt åAø¹úHOùÍïÀÕBãEa˜ôúݧ*Úþ*…i;:ƶÞE`uÄÞ…SæX¯äW„\Çr|P×OŸ·a4g‚ÛŽ¾ŒåÛfz…è…¥÷¬šryÅÊì0äHú‰|9*ŒÂì†hÃà „)O ?%¶ÕˆŒušÛ½³HÎ0¦…*6X1›M(­ +Oý6îÝ¢Ãeç…_4Ö°ÅràE|¡óƱÂ6u™QྟS”ãbA0õþ õ¢(B‡¿A€¦zžK˜žyÿƒ~“VØLp-˜²¿Ú¸˜È5 ÷ßå\^UE½öø†”*š5¢ 1Ó¼‚•GCmå½Z¹D’O¼0è•L¥õI¤°¤¤cyFŸ‘ÜáÅ¥æ xeï2 Lå·½‡Æ‹LךcVtP‚ɬ.tö6bµ¾iä8‰m½‹dÚqÚÙ>EµžU²_Ü +endstream endobj 310 0 obj<> endobj 311 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 312 0 obj<>stream +”òåÚé/ È°¢gÛ@3zcá߶í©ù#Äw0>g!8Ëx:ò…ëÕÁ<û'þȯUû¬Î<56|ŸW˜­\©àa¬•Yê ._†š³™Ñ\ÁFÓÓJå•xÀ½#²$'…Z ÝlNf¶ßëdUÔZåç]GÃë7!ˆÐ\DÒpãÄŒ'oU‹é/·–ãóÆHS-Á!p­aJVÞ®Eà²Ýïë/Àž±áW ßJ«+ŸÅ}AÏá¨yÜRX¯:éI)§Î§sþbs>R}L² +óG¾K;Í;”¥_¹Æ¥—pÀ-Õ®¹dý›øU·uê–´æ‡Ò†ü|0£*‘÷ý'}ºì¬!)?~ûê×[x3c¸¥¢#”³˜}yRß”™ ¥yv"8u‘úEy·£ÏHÚ”ZM‘@ø¢ÝŒgÓAÖåS‰øFwoã“F)C M: ¸¢ +„‘T÷4«æ&ÒP<Ë_qJÆxH#Ò5.{õöš:ÂSÌ%!R>—2€}‹‰+I5YkcÆs)WQàÞ…Ý—)ggŸgmõÏJ»CѶ :nªmô¬7+4iÉU€‹[·èà2?¡˜iFÁ0Fµ¯½ ;ayÖ9}ßNÍý2»Ý2°6ƒVÙ¯T(,Šô’ëÒ ›Xk˜y˜Ã­I:ª ÊÜÅ1z±@Ù{]ç]à©%ßaG,ŒÿN _쌰ø§IÙnqT–˜œ;¹'^¯;bA N„ÕC¡7e. ²O¸Sˆ,ʼCbt#øY¸ÛÞbh_û\ÄÙ =d6Ù ªèuy_å3I±æ!,75 4;Bþ½^<»ë×ômS Ù.ê ôîlè¯XC¾†xk¥ ²·²tÛˆýöÕ +¿ù0kÖ¡T%?¹_³G 6ã neŒb<€Û¿Ç&“BR;„ÅaFж}ç›}•¼ÙÀÊÁtŒgí¼Á̇,Q° —,…’Œó´(¥ö +‚[Ì2Yu}b.v̹±@>?õÖ7­Ò»S@Æ’â›°•ZP´š'"gäÖ+×ËcÕÿE›º:»xD}Uñë/£©tâúÏ`³‚@vvA,¶ÎG¡\CÏ鶑DÅø Ñ}(£í‚­ÁÑq´“ÚɈ¢ßƒƒçë¯\Yòtå ÷äµi½Z¾¼ŸëÒ{ËvžåÜ(ý¸Ã"Eb·– +é…±ÞÑ&Ð@`ÏÄ:(7«G¬J* ²ë«~É­G*Ù)E•-4ó`‰Mh;°÷Õ{/¤¡Ä%µMNä8* ÜK#•ÕÕha;ÀÿòŠÌöÉ£Nk[ËýxÓä¥gyâá?'äRíP5ùu¤za[)IZ#T\ây°)™Ÿ—ƒ?j7 ÇïÒcˆ,p:[ xN>‰‡¾Ûd–¼2`|ç-þ @‡f©©R¬ëQbÚ£§—Pl¦ ¹”¯÷;й‚T€¥ûïD‘ã´!SªGJÁ.iÈRœ…’{â’z¦ÅrY²è¯ñùV…¿æ€ðJ‚µAP_ZHŒç›¢“®,gõíåÅEä—F?¦§/ßÈ>$ƒ„Úg–ù!âcªQCÂ߇æ_Ô¨1ÓQñRDùJÖqknòü•’Û©Ç~›–EµläÈèhŽûKá*«sŸHÑà±vÒÿýmÇ€¡ŒòENì¶(cºf– +䜑úSðn*ñ"¤4WÌ«pIw¶£Î+Qèi.)˜ê¸W…¾Òcù©ˆÿ=4^Ÿ>©:tØ}zØjÑû;ª³åäÖÑŽc†FðÐu±I-wMƒîVã±ÿ K§]£ÚG©Êu»[à¿Áèûìwܨ(àžþÑgŸý&³$%eˆXúlvGÄõ£EÕ?o&] ¯]=Wöµ»";FFyuTmMxç^?Ó·L¯ºòÌ­ i#ÚÁþÚŠñ}ÉÝ~ñŒX<wÄB¶SJL|³\y Ðtt>œBpŽM‹Í¶Mr¹•j7{£6{‘ »›¥_5㙋Êñºg…†NîDŒæè5z¸ Ê<8i +ª=Clp´·´Ä#3Zuè/à‘·‘`Æ@±Cë“V;ÍÔuYûy–Ã`ÃáÎ- +.ˆÜÙˆŽÞ0Ê#T)‚Õ‰ÂÀJæ›PcÄ9ƒŽaŒ,ªR ÔÔl‚=YL Gˆ`èUtÑÿóbø¡ãÍÖ,>cœdhQª÷£¨é¡ åö´ÒbÝ’1ûF3÷qùƒÑó0¬®¥Å§ŽÉ Zqmæð¦iÐÂèþƒž‡ÐÀíY?ävªÎçžÊy)°¿rý”Ì-gâ´Çõ´J¡E$y•’ôSèûç’Uw˜wßê‰ÆØ?sÙXEº€sf«æJJ%6ÀÏ:í5¬©C&\Ÿ@u¤ßKì@$›J=˜Q’0‹˜ÈW¥'â†p.=Éx fv¼³þ$‘jZHbÖv;)…æ6v#uÕVéIl©•ûëÔ%oÌù_€r;H1„"Ðû¥û!øù@cã·Å  @šÔƒ-)À¢‘¥:6)'¶;NWa¤ýºÖyÿ*fùV |Ý„ôkÝøp'´ò² í1v,Å—,uÚ¦WH‘`ÙªèТ,Ã×ünëlŽß{>sŸ^r$’Æ’]‰ö­aV:oUµ—ti1ôB½þ f‡Ë†›LÏDáÉ_é³NŠ5×–5Ýsí¶—ÀN‡^÷Nt­$èոâî+¤¬®æRà½%Qg[iæÝ "2z×Õé•a.RIü:E…R/@@ÖÀ&ë].=©¨sŸ±btiù:¢xN d34wjÃT “´‰¼üwÈ& (MOmmp÷mªÊšÀܱ;ˆzÛf[ËCñÚ]ôÖúñ.€Ì=äâ™;žO‰S¸g#ç²ýóä$A*Å€‰ÇÂxºÒ©X¡õø§kE=èPÆSs©šÁƒ¶/É€´5vñT-«›ŸÇªÄ‡× ¤t¸S0NØ÷ĉ€´±ëýE“wò)ÍxþbˆžP«rcüÏjZBRƒyÓÄزoZˆÛ'?´¡4+¿ ì{ãAs V¤'—DÄvýý»¸›Ëô¥+8 G¶6Þ€ øTwŽ[£½á: =·Å2¸®ÑÙîXÿ +ªÆVÉd-30ü‘ý}½^l¯÷g î“ ˆHÆ¿Ðáê9ÏÍyÍ¿M¼e·ÿÊ•)9©yXÔBót¾mÿ+Z²c%òII‹z;ÊïpEð ¼Ìy,²νwïUD³æªÓP"ïóõˆ`õpBÖ¦µoHÜ•hÒùp-3l$µa=oFTŒ>z"7âmøåRk{¢ÉŒÓI›­Œlh7/°L'›Œ3“³Üc"à•á©õ0¶Ôé)üAû:!H‹X~ø­qïC-dÌ‚ÅM¹è¢øþ\³°Ok ˆe‡Z­e»z< e”£ñâzyÛÅ«õ§TIîß/êöæ±%è1@ªTŒÏ¿ ˆÖýŽÄÜ4UØMámÜ·¿X݈C~¸qíH¬pXj2ªP¿€\jDé‚錿W¯)q^ãèA?×]¨g6´’ÿ}¤`¨¾UÖ/•Š—tÇóÜp¿’O©¾@¾ÄÂ@Ä¥xAy YŒåÓrù!J(î++ÉNMØÆ 3áXX¤™À÷ÙE}ùˆ,xYç†ÙôÅ­æùÊÔIÇ@pÄOe{ÒåÂ-°ÄuÄ÷·âø%ùe:õáÆ-O´Jaô}÷}GÞ×÷Â×°åjæi8†±Œåm¾ÉàYN”F¾¿¿ëBTÌuag³|ë?tš;T+%ñ¹¾þUd.S^.u‚×I6þµ¶GBÌ+ë×ä& _Áj)¸¡»¿™vÚÊ'¥‘À¡V»Ð~ü©uMf ¡Oè +Ìuf½aMPÒv%¦í: þ\lÍÅ wË¿c,Cd¾fI³uàç\·íGz¡ÞȬ.*s? ìWž‡˜Ä`ƒ(IÂLËR¾øùºê©‘6&8 Ëqg/e´÷÷»YÊYؘKp-—êÒ.|î¼!¨ðdW/ZTLº¹EÞm©¡ûJ–únÃ3V7‘—ç +{Wúœ|Œ­ŽÊWžgƳрk ®#b/ûƒPìSÞwN3£ª7$œWÙ”vYÿ-ÒÄ´Æ’Œo@Ub‘­pÕ·Ñ“Á›åu½ÂHbW段g€ÂúÕxt0Z¦,?©~^®`NÌ' Qróó¾r­L-£;ÎiÀŒà o¿"r½5Gýè`rúW–Uü #yÀc¢´t”FßAž¸"×ç$: ¥‘ï<¥¦Øa¥bÝÃ_œáد1j2gÞøñˆ‚`=ʺʵ)þ}æ +pÐõõl‰úŽÙy}ž›¶#á^Î ÚXoŒ÷ù‚ÙºKÃÚÇÀÀä÷Û/t¸;]¼aOÏ’© +"ò}®mê¥4Ùqoæn™dº~¼Ž¾ÑfÜ ä½?r·¦SÞ%é=Éð|–‘)þ´Î°&åŸÿ| å]ÌÒ›IÇ´Ímdý{?¯‘§l¤‘ìéCðºõIàã +k¼f²¤pmI¼ù'iuNú@;í‹ä—ô-󨧚„–äîãáÃ^çÖvô6–'ÌÎýP_w<柫pÓÀPÍÿøQa9JlF2ñ¾–¦Ñ +³C•%BZý¨¨ôë饺Ø] ±Û· ‡›ýŒ’»“ +.œ¯‘Í\ÓÆ>XHõÄY3J‰åsOþ;ÌnW÷ +d€pxç„IÄ©—"/U³Zü`{tóˆÿw’q¾)ˆÈÃû>²øí…§‚…_÷‚¶µq%N(èÑÖ§ç3¬…âˆc«%¶û}Ó[À>…¨Mî I¼ +²çwá^aVñœ7 Û +endstream endobj 313 0 obj<> endobj 314 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 315 0 obj<>stream +¶üì¿ÄÛ ÉûH‘c“rßVæYF»¼ ˆSBrßCÁ°s$4cF"{—âÍ•ñˆR~“ª|\gƒEtnép&¦æn°Uù #×ö{$gÅtñmåô]º¼{÷ƒXã'JqJü-Óôvéý—1ÈOO_üEV5ç~%â„~Ý…Š£ +Ú4éÕ’TšíÊ1®KHbàÑ'ÂYX$Ê| +øQ2 ªéÂMY=NÐÅgøÄh\fÎx­á¦µ³–¤Wù¬àÝQ&J\ÅnÛ®m}`z‘|U}aÏF´›ók„ªt‘j6gFíûâ1‰¶•Žˆ‡2—ÆÛˆÉú¾ê-;õsJò7Q¦º<òîÎüÎ/2Áˆæ¨tWñžFÔ:e9¢íO®gQ0ƒ9É+]£oÿ9­·8v>°ºlø…ůBÛ…2ñ“͇IãoÄ©«VÛð ‹’‡žÔ\âÚÌèy:¿ÚXºsÑfW]ݧt˜ØPñS¬×OTi¡µwÙ‚Ö~Z”VhO“LPQdTêºï¯Â¦V#f5¨ùf$W_ΨþZ@4Ê}/ý‡¾.Ÿ€s\?Ñ%çrˆØ»<·uKÜÊL BàßTº(Wâ!¿P¥@ÿ*Õyd´&LÿùvuÕÁ®%˜Sñëöz=^Ý34K¯K,ä§(,˜wùû‘MÍz¢yö¼™sɘèqEª¥¯¬4 pËD;÷6 …Y>õtNدx6Ùô“óþ(xh¸9¶ïíƒÄ;Ëjw™gƇêÂE_´¢a£÷äs G„[ò9zòºÅ%kW1~@aY0UR¿`ïËïs¸}Ê9üW\<‹„·ûH$u<ÿn׌vº( ¼žIæ’çËDV€–ëÀ}Ñ}Q/—ÅIðÓêà:˜¨xM×i€^BZy\Âû[Í \¹Ãr§7¤©3‰«CGdÐ{š€¥€ãÈ•®qsåÓúŸÞxáÓ¿c/ž$ õa($ëà ¸u˜ G‘IC€g½ïåñ¿ØËjJi C‚ÏÅ¥ì>G­Ç/̆¢pW†§îký ÁËOÆ*mq|å×ïÄ#Y6*Sƒ´4 …í^¡-’Cô´O'¬ÃʹJ@ׇ ÏùóaN~ÀoÉñئa´ÔØÆí ?RŠ„ׄ6¥çãÞŠ¼î\7ÕÉ‘.r(RÂ<£W¤¬"K&±NÕ?ËxCý`ȹ=cÛ=çÄ †á‚ ¿HÀª-æϵ®Ç_R-xv>—2“RRã;’­Øñ6§Ýÿr`ê)0Û͵,Áè}¶HU(Ô¨ßòRâ"θÂä|×û‰ãC2§©•7"ÿåo¨;«å,ó^0ÿ„‘3÷[á'bL¢ùÿ Ñ‹”‡œˆÕð+i­-÷,I»ïÃQÕÿÊ’¯ù@`¸OJT0BOþO }£öÉ.X*N÷ø¶¶ùBNa´]Ž]@Œ+žo¡/(4 ŸääŠ__«ÿGÍ”íòç½/k±ò¬ËUö]ðwç÷ v¹Ì ‡»õ 6¯cË>?NùaÍ;ªZg %ŠrºOG@ …‡†u¨ˆêd!üoˆT§0S(Ñ ÍŽ«—œÆn'é·-¾NsªX%Ñ­x8 +VFS`/Üw›‰õVWýŸÏb|ä”ÖÁPòteè_h¡Ê.70"ï”(rNv§ýœµ"J3É0õ þ9ÓQª/!îo‡Xók¥èp írÃ3“òSŶP{›º?¹Øpdv8Ú‡ÈücœPjy:\’oX)5#JI²ú–麥â,fi§L¯•gÔЫ3«À kËÕk À¿íÓŒ¢AìÖ6¬Kêøp¥‘¡™!"RÓÆ~%Å?Ü[4Ò°nI-XÒOºêBÒê oäW)‹ô‘Ž¬GŽÉµW؆üÄú_îcxã ó˜.Ä „°¾€ç”Ž°?šqòÈB” +ðÐgOÕ…of㘖!\t£Øæ›ÒP÷$‰ Û$PêTV}·4¤V‘ðto}‡ŸšIdƒ-\…¾¤' ¦¿ÚŒ;?Í—vB¦m!3TKUê7þíÛ<Ía +Y‰ÿ7ª5ÛX*†ºÈ}/ym½?ÑJqÂhIÒ(À„ª"ò£Ák©€Ä=¡+ Nõ|§-½¾Ç#½¹YĹ÷†‹¤èÄ»è¯ä"Œs™‰\3n ¶¡,anç_œÅ¶AÚ3=´­µ1!š^.Çþ óÆí¼.ñ‹CÅ1¥ÃÁ‘C1´Fg\äðn®¿í¢~…õ¼èq †;WŠ­oÛÌ)1;Ä´2‘ŽP“+þ#-u={ôSÑ/8×è£hÏOzÄ$ÕA•2{Ar~áÑÞOÐçÓ¥ün•‡ ìñ2‹Wò ¡¢¤Z»Df& µ.É š±ÀBÜSí&Á.õT¬Ôâ)©€(m[C:”9Ýe„l~¼B¦.CÔéà Í·©)՛ѲŠ@¾ûÄ£»ºù½ùÅž#šƒüÿP׊³M m<1ÝÖq›î›iù’´µ¾>~_Ye‹Ï÷ØPYt¥îŽ Žu"Xüùo¡5'W÷!bʹÁHk³¹iÚ~‘6‹ÉÿWr8+'Àh£Ê{ÍypÜõk®rƒÆM;¦q*è%½E®Iíœ7ü0mî¤+ +¦Å$ ©·ñIŠ‹¬H$¢¼ÃÆÌa¿?çð$¬‚ãm[>ÙÇï¢^qÓtt{Q¢j^š$ìÃßkŒCl~?q¥ÉÚË=v„ D¾ñ^Y¯‘eÏKx¹ŽFn•*§4Œ¸+Y•Æ‘w9v‰uë= !4Ò½ý§±(fÀö³Ui€½C¶¨Ûˆ¯=ÍŠ*û2·íŠÂW~èÌ渢ì©Ÿ˜P8ã'ëb5!·Gd,Žof1:>.8âpEÿ¶ÜÚã|’÷ç‰=åÑ¿½0˜ͦ¯6$7n§ •/çzb‚?éeÑçiQ|;ý%¢‹ŒzùZcM¼’t<0Ž(ŠÏLC‚«/Œ8š+èÀ`J•Þ§n…ùSzIƒ–J8I¾XÿŸûê€q\ËMi‘]é PÈÓïi°ó.¦3DYðâ[þÆæ<™}×rkèJvhòÛåöä²EŽFMQrš´4Œñ¢í´øo2eÒªŠÅ½8$°xŸ3ºÔv¨5J˜O¸y͸GDŸmùïG\}hZ¤ÌËõ‹,à1O~TMƒX'˵‹ +·½7!oL€9#ªÙø)­Û.d7Ë|×' F“ÝXõkóö#L5ð¢–Ø EzÂÇMMS"eeµG›É÷ç^iêPýg[o.œ-d¡üøgfØÖ³>8ª‘ZÿoßÇð@hÁeÝžÿ3–|—¢¥÷MZB r"½®ébRG¥Q»²W9³ûpx%ÓI‘÷»*à £.Óc:K¨ÞkÞËO6>z†ZY)ݽüzø”Ž4?QÎ÷”_dqe#ýêUrÆ2¾0¹²½€ÑU42þÌ_Fƒ³ÿ ã‘kù îd¥ñJN~$ÔÆæ35áŠZ‰´CìQþwð3FŠÜ24EQZ-°ä{/ !%ä*²ÎÃg^ð z@ð¼>…ó˜³ñRÑM!œ–¨Ü$Ô4+›Í‡îøÑ®Þiv|þIa*I¢}†m´ãi¿ªvÈ!&ÿ¤uÈ#¨l‚J§R_0i|a"M¾Á¿ˆß#'9aBAÒXrãz±£ô6[ÙqoÜ·½j§ %W8A¹õi¾º¡z†ø¨ Œ–å +Ö*é§rœl£v6szkf`…ŽÕY†· Ñ")g{{ˆ¨¤›$Œl|þ¨òn?pÚþG¯6S,Ñ1mòâÈŠðãÐ-”§þÏv)õk|j^m¯dÒ8BqErêI_-êÉüÒµ†kž‡ˆ·ŽØ¼G‹¹8Ž†lj,#žtmîâîÍÒcxMû¯¤8ª_Æ7ÁG#·<¹/I,ÖK×7•ácŽj:,¼:c+ž‹Þ.šÖÒHR7TÆ6°}ä”p"3?iÞt"¦÷=²~%í6u@… ªTxÐßgF¿%“ñþQ™DÌ5‘ðÏ“yáÀ£‡Î R-[”¢B 2ÝQÌ”/y7s øÒ@D·áz¿ÊH[°>?MÌvïÐÙ)os”‰ÑÛeÁŠ]¨¨éɯU‘jžÝ/"3*bë«–¸Y&ôõª&naûŽçu¯˜)LbôÏ@Ž)mÍ¥Q â÷“kóPž†€­€ ÇÕÏÚÓôÎò[“Fù¬ýZnf¿å$âó_‹Ï›á¤.¼‚Ézø÷êºè0oO‰8bUg‘,:8yV"øÎu‘E˜®¹Jc˜%H=×Ê9.6* ýSVö‰/5ÄzQ—^®ª~ËÓð†¡¿ò8Z†¶ÏS tä¸ÝùLvM0ËfÀ|rg£Bl_ìäÛ=xÓAðá‹&/‰|#'ŸdÓW˜ö®~FW×ÌßÏλ ʨálQè>OýG=-†ÿÚ[e8\ÌÝ0ñ:”¢2ö^ĺÌ_ëëë'NÅú×ù‡Æ0Iƒ~=b÷òVqá‰û»üê‚é!e¼¼Ž¾†sÁ íuþæ; úé4ÚÌGö1v¦\¼ÇLE¬-4¶RšŸf£(nÀ,EeOTê zËz/u·*ÖìÇž‹Ñr«In~óçN9Ì|áªnQµ:m—ÿÚ(Œ¾eøÆí¥€À1ì=lé¾8±Å)Hj‹|}ìûik–É·ÔcŒÓìB"Ê?zéÝ ÚŸ™[œ~tœŠkõË|%I­±'4Y· @¨QQ¨ qêž*­Q•¸™xÝ๯Ó<ép<Å/ë¶È0í%× +i ª¯ž㜔C.æéèâ8û@‘©w•ÜÇÓWÉtÑ%BðØ&C!–†>¨‘ë-÷äNÛþÝ ,X‘Ü¡ïÛÕ}·¦õîúî<ÞŽ”¶+µàsŒ6£â‰3ü]K=9N¯ZBƒƒ{%D:צÅ! ¡¸º¢¯Ÿ5G½u½>sÜ&åØÚAж±N<™Ý€ˆ¤ +2ë[£‘õ†êN0Ýzª4d£M†5WCÚÁØvúƒ’öfÑCUœúp;{¸Ô›• ¬)߀'BÎÇ¡$áL¤z‚ƒ~œþ^…û1•ôEq =!»ÊkËB±Ìz¥lª•±EÁŠ`ŠMøi‚ÉÔ0û~$S7ÅõÔcAëê±Ïƒ…¹„F8?2Q®5ìí;Ñ9§ªë@ýàH„4å®é«‘(C$n=ÿ 矇£L˜ržÃ 6¾›’W~DðFæ ÏÝ Ëö'Sßbû,ç.¨\éìW ‰áþú :ú¹mãó?Ý#ÁWZ0“·W®é<_‚ë(l> «?ùí$Šï,+^’834îQ‹8ŸmÝ°„ ß7 µÔ¢KŽÅ1¯…Ÿ™‡j-­3ø¶]饀ùãl§z ®¥[*Ž fu#ØqÛ$.3qÿg¹[Ù=%Þ,:â ô`SÀÝx;W ãzvŸuêÞ°·ºo>º<ߥw¯ù¬_¸†ü'žh·H¬¡Þ›œŒ9ãùh&†:w#7|V X¹Í70:Sô‰ƒŠÊ ZŠ«ç¬WñÅnV¡8®Â*ªª¡¡ÌyÃ->d×è^à·’~dòvÖ.¿„ÈøÞå¤~Vî1‡ý¥8 RµB'õkH—+*JˤSà@sJÑÏ„ÝqšaEY’»«fº6â©÷e‘éÛõ2ÒKú.ûÏcµ¼ð"F_GâjÒ¶ÔQ]1ýä ©ñùS2ÿþÉšÀ(º“Œ;D=<„Ú\ï°ù5ùДђQË Š+ñè Ó‡Ÿæé<³w!heí4$=Θ¼BþÆÃæ5õ0ô#êñ¸@4ÆÕϯêPc™‡³éÇ’¨*×™Ë$_ô°¹iú§#P5=nMUÃðÔ[zÉÒ‘íÞŽe”ð¹¤ÓK Äï¼,Ér»sš? +,1f4åpòL‚ŽÕ•_AZ: Ûy]¡"à ½µh"4Õ¶ºàÉöì‹9ÿ;´t×âÏV{Рè9>->œk ¬”ÊØK8œ;HnË°Ù×½gÆ-:3™²;‰õÜL‰µmÀÑ°ÐÁoEÕ½7†ù˜cþ¾ÍT¦*a²'ë¨CÃÇÁÃýá-¦aÆŒ¹Ù4‹PÙÑ…ýÓkZûXH7„¼¥Ò–ŒÏøÈÊ‚Ëòª¡²ÀØY”ã{Ü€¬ŒÍã+¤Ñ!áš:›òZÁ7¥µáá[uQ_+ÝÛh¢É<ñ­wOrÅöŸùÖ|*1 +]®³§SZäEû]!y°Œw=7ñ˜OÞÅóÏêk¶ã‘‡>| «>úòDèÕCþ¿¡6ŽË‡í€ P +5NÌ­äTOtÕåªS à¶ÕOø¡k„|æñ3‘l`ìÜtÞV˜ü­Ì â0øØ€L Q—Hˆ¾ë‹5ìøRì6êëá{·4ò? TE‚x²® ïnHskùáQKlâ4²|¦È1D~%ž…cçºt#ÈÍÔmùËÉH2 z,E3å ˜´ÚR¼´îæäDtäû•Cž,¥Ü9`HÅù†ãäY]·¦ g".>©úÐ,ò¢`|£šš®Š[Ä_+íKLjÿOÌ85ì؀Ć6ÂÖá%º½\e´7Yóçžf²9ИQkúzÃl!zãèpO™S&|>ËâÌbä)C0¬ëà9æM¶'÷™ ­Úê>r+0ìP<5’™ási¿{PŒÉ\?ä+»È +[µîps#ð3ÈÀ‰½Ì´~©ÉÍ"0"¹~·ª§Í‘„ÊOÚxe@²‘…GBÚ¹d²5ÔÞÉ’cD\QTÆ(yùx2ž~Š@4µÎ,š’eµÎ-Öâ˜4‚cƒ†š,hNû1µI‡:3eÞ0É™ZKHG„¦øæ{ êûr°‘ÑçêªÊb*{ÕeI²ñòtÅ q¢\ìX„1+­5~»EÒ`ï²zðD›’d¹…Rj=¢é¼êX²mUAï`B”êuµI®™´î-ç¯ö±à5©<^J)ÕÖåÁ9¾¤ x\ÅJÌë|â—a}hwöôuW"Á0àÙ”ðê +¯X =\ü‚>Úá¡jɬIñ¹‹(ºâ#ë®HâÂ"ý+P·t?«ê…ök}†ÎŸŒ…F¢ºº.t…Crv²´.†vfGfíNehz÷%¿F 9V‰»³Èæ6‰eÏ$µ¤ÄJÐA3,¨%5ù"µ@ZZáËÁŸý‰#*lÅ'¸½ËEÃ"£# +nÖAd/ß9âEz>Î!”ÐíÛõ +endstream endobj 316 0 obj<> endobj 317 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 318 0 obj<>stream +i2Ây'7Û¬K¯ÜOÎ~´f‚­=Iòò$=gÖ„3@ÜßœTxþõûcéxÂÆd12Ñò"2€„®ñ&Ë‚lTžÆW`œ“ËméO<^ •#9×a }Ù~ Ïyü!ëíüSJM5ZÛb…=ò3õ½Vߘ²eþ÷1¨úã +ÃÃqžùÄüé› a2§ 扭£&?Z†&2rIê6>È3Ãÿ®ÑXeáA +X÷ÃÏ6ÑÜŸÝõÉEà“Žb€5Žþ#R„ꎞ¨¦4Â(?W»ñŸÐšáh`Ê5ú'»ÚèIK§ëº£¬¹– !Ïglß7-{«Ë劣ü”“´R°ÿŸªÝ2ô8ÓĹx8dÔ˜{N4Ìs£>\áóŽË~Ú5}Âë²õiƱ”Ž|Q.ok©Òœ]Xøù Ô‡}øƒÌ 8P«8´å\e®Ï0: z¤ Þ`2‰¥®n¡GW-Â)·þ“Rr¢7&ä‰á“‚Átƒø–?IÖH&xê´[ÅhD¡n,Ùÿu–«ß²ï#»K'wÖ t¯æ¨…ó›ý/ô:€Äd¸ ߈ð^+ãFv[§ZΈmSõ”Úܲ“a?ð¹”+Îp1i]ðüó¯µê#rjÈð ªâRäOü+,+÷ÁOrÏUÁ@5wtÍűzL¶Èó^eÑ=l§–RMŠ¤Aª_oJ¨í›#—'s»Žúèé¬D³_,`<ÇW[œÐÇ;ï矌AõvJÄ#—èôR€7åSµXÏ\>Û­fÀûfÏÓ„„Ó‰²Ð1×Ý‹†<8:/ßP¶žÌÏMKl·§k<ßí¾•ŒÅ©eÕm\°+jJ½H¥¹Ì˜Ùó¦Ô¶éµ±uæü˜nó›JRâØ1lŒM¶Šù¿ø‘¯, ŽD•DÚÒ–¡ –NyÖ*ñd:OÉlœö(m„}â +AJ†âÌZ;ÞÞguŒõ‹yÁñÎ!·ühz`-S]Å œX§…=ýɿ©!‘Ù3ÔÿáŸM„ÆŽþïæYxDs·elŸ)ÿ°©É„ýTÚ‚édP¬MX—ºUu”†ÈaÃHeÆ>¸DM +ÿýÀÊqÁo]ì‡*ò:q¡¼Wª‰€;îÕ&:<ÚðÕÚ#Lº ߶VyA(‰ÚXBZ Zf#<Ó¼Y®F÷:]3¶:GM¼£‡bÐn¸¥WLç{äcš&¸é¡jø»’pIz¹==ÚÓ&¯o½òÀ‹ímðñyoKÀãÁÒÞÏ07cN›®¸¡kìZžž¤|ñ‡`øÄ>ï[)z¾öq ŠÍš2‘–^Œ›a/†]`ÕNÜï%òŽé«Q[‡³ C¦Pn×ðmm>P·;·s`zeS=Ø(÷YÆ`aÝwõº9 ÄPôÜ—³âCL‘w¢ëžeÔ(1opE+8Ä”ë»ì¡•@Ötí8ÚÖGÉyÍ0(ƒyƶKð£F¢cèy½˜uƒúöò¬Ós™)É.ÕN}ù¬ €4æœÍõð`tÅM%ikOEOAKešI z(£ýÌ™œzúÂKȃ«Y}j+BÍ°d/r¿„•J/¦ÌöÌ£þc?qR~ŸÒ?ÁðqÉ|•ÿI|9Lპ@©­Ó’x&šá§8÷שâôzñ?€ÝÇh@!„‘‹î š[xtỄ*pr2ž7±Åä…˜78³UmSÔênM¾I¶m–úç'‚N»ø{\^Á=whBit¼Q¹/àÃŽz$o5•”fÈ9À“(ú¥ÍÔ·DsÒ¬Š[˜r“Ynßó)GCe^©¿B×^€Ô9Ålª¾›Ù¸a‹§žQ!”|Üa(Ñ+Àæ¢1‘\àM™ìÝžg€ýÝ­Fg¼0~é;^^õÒÎCwŒòc´¤20ª|R‚)»çæ¸à21êvÍ÷Û)S±}aÿ×Ñbã"Žlw„‘תŸÄ®R*¤\cõ!gUwzXœ´t›à5 OW×Kƒäa%ÒÜdÂBû@é…pulFЕαÿÏÆ4¶Èܾ$)Уñ’ô@TÂýºw$!Ÿ"ɘwÀD­~¨X’݇µÚÏuU¼}ˆjÍØQ¥l±\~§ý¾yyÑ´±4 Õ±º# óUdjßš?xê•Á΋^Û@8žm­HAÅ@õëñìMWf³út„bû#68I°› !WOγÞ5¥‚yêdÆôœ,QèA˜PXåzì +¸!œþå”õËÒŸƒRrt€T¤ñ{ª ÖÀŒN;°y Uð"]]WSŽ1ˆ4ûšÎ[²L‚$èó|/ÂÖ”2à¡£tòÛ·$= &<{oIbø #^‹%Ž¿ÃãÊo6Oþàq§hȇ,¨|_g}û¤ók½’8³OŠo;7ï&:E3CS½ «¤çPµÚ)&I[O/.ù'Ðìê=>A1ô?Ýþ…±‹³ºÁ:-G°½wø[ªI.õ&£¸ŠXJWgÕ­ðÓx.Ik÷P¦-—6ò{­BмûÜš`¤Àž?_Mu-bN×k±³õ†Ä¡ö5€ÿ­3Úk@Íì{ë”1ÇК»zŽÔ‹€­fvq¿4!O’?“96\…Ô “ö¼köËRùâÕþì¢ÀÛ" ÓJ¢”]O£§‚ë´úÀ6ØÞ›’©ßú€Ô•ÞE²£¢E ÇTìf<,Ó1!·+ŠaYÇ=ƒ7†¾ŠcÉâ¥!½Ü!Å{®“mø=ô÷‚ïóAÖÓ© +ôÄCº%f×}Í£ï&ÁAdåAR«—ÿ*.KX÷ÃýHï=©iÅO)Ö6V¸nÎ%óU'FÚ1/úÉIµ*…Ž;x»g›õ Ç„uWˆ®WƒL×…®Q\ó&‡þÅŽ•Ç=<ä-(h.šhW€[%®Ià„˜ÙXܲd't=#)|­{‘ËžÝÅó,‡CÁåM­ÛÂwçöÀ2v¿êúê4lÃí%;>«Á 8kBWÚ«ùxm¤Ú?5 5[jl Ç0Ncq“|-mœõ5¤&ãîNMrc\иcèOj$lÊa†ÔõcÅbTÉÅ(¡\£VA +ÿ¸ÇÒn-Áö)}Ïã§ï)“¶‚ɨ êàs©‰‚‹XrßÓ BȆUKn8Ç#&®ŽmÞ›]liõ–}³("ÖÃÝ°}5³*Ú9Š M£$„ÿú"^ÞÄR$r&‚Si;…Uï‘˳©€„yµy3!'DîàæWdžc×*kŠßh!²AîÖc3ЫjlîS‡»a.\ß,‚7ÿ¹Yí´x&àF>´Æ-Y¾kŒnþ>*³C—Zœ“HÓàå9ã#à Øß«èäëMîw‰·$S!¼¢75wçß›”53ªÚÿù:Icùz†/ÄíRJ*å½b©PL1X[áßT®Ñ$*‡UëÇXW@$ܲU©ÿi»v&1ƒK|NÔZ}½7Gö(ñ^µ»˜ËFÒ±K\6ÙV-–˜p[Š?54œK«^D¾\ƒC?¸®¤ÐÏ¥âr%•ÑµiH“iƱ°ôïK¡ç)(SuïŒI+ìðžõ¿fIƒÔh ÄgLêSü‚Ôi(`QmÅMOf;wÎ{R("ÃøÓâºe šœ[+=IKÞ†:Tà>^Ï«†Gó×Më !¿èK'ÔÌçõ*·õ´NîÒªèÄW ×•á ›?qŸéIª-*-7÷/Ö'#äÉÍ wû¶æA]ÜŠ¦ÖÌRSP8¶ ±"ÿ8Šœõ¶)ÍÃÔ—OòÀò3a õŸÈïêhæ±e‰Ê?²§M -U?ª]ál-ùÄ!#@úÜY“}×x!¹¼¤ô™ß\S4j›ô¢ðâÁ©N×&”!Œ69ïn‚¹îãYé;‘DmT3°†;óÆåx¥5²¡òòiÑ¥6¢ã±Æƒ€ãfЙpÒ¿µ4iÊgÁ#ËÞïšIü¤PKÃvŽ;§Or–G{bÀ‚¼jÐ-£zÁ^ðò÷ÊPÿ…2Òtï ‡ö;PìR¤RVÜÀS¶¼AÜè0au‰„/X}bv +(aÍK.„}¤x§—Øt÷—ÄÌï ê² +endstream endobj 319 0 obj<> endobj 320 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 321 0 obj<>stream +[T,ÏB1ÊŒééxñ¼¥‰B°ò·ä†ŒæÑgfR(C¶y'Ké F˜‘’<ÿ|”ÍŒý«Øh:n-åMJó£ŒPb?´,%«£ÈʈñdLrË\¼/i{Qp\Á¬r6WIóoíúÁ椖n]Te½ìõü*kg_»3øVÌ&N<1VÑVÝç £TE¯s£Ë«WÁßm†ø;<¸r~`B ¨¤>N¶sš[ÇïóZùdë÷ÊRù!Œ5¬3~Ý9>»…]C=`Á nj+BŠ@£]“”ØfÕëãˆFHå5só\Ûc«@ÝIq°‚¥á€›ÕOj×A6ðÛ@¼@-€‘À åKÃñu£®Ú $-H"ÐWÁ +¿:–Áâù¿Fì¾–*º¯;Ów†2"rß$‚¸v‡gù™§qâ¼ TWYÆ ñöèA ™G]ÈŠìü7»ób)N¢ioM¾Íø&ViÊ 9dWTg”Ñ:eª& Â'¸;¨“‹üÄ-Ê‚ƒ¢‡+ꩨE[T…A™FÑ¡žm4Yü¼ò%ÙüÑŸªoàC‘ŸD±Ï7Ã!'þBIž$Ÿ7„ñ}â¸.! +ĈÞV"Ñž"£2àn“$È %õ…èÌ$ÝÕ¦ßM£ÃQp\£lÙº£DÇÚµm"@³¶Ÿë™Î®¥}‰š_tj“Ç©çÁâ÷õí|™¸ÚB™›“ן)Ö8${µ<´Ö‰z7ã;SþìrŽíž¢ÜQS±ib0Kp*HxöGΈ2å­ð·£Hˆyi;Þˆ±v³È“à rùz +À„ëXYOtU­ÂuZ—¨Ò¬÷|×­{/^ý~̤”¦$Dg®Oš Pöߨ}Ä &ŽNÞôË?ÿa<È-ÕwÆy“CÌO=Ëû‡PïöQQº§÷²FàVùv×à¦W §ÉGázóGþŠ¿_ =ì¦òŽívîm)]”ê>}cë3–ΤÀÚU¾Ë:Ë;z©P8j_d'ÚD2©qÒºÝ)GŠ‚h(Kü4;ûnË'̨Ù)[˜\À«Ñ†ÓðÙupü]ƒ.Å+bcÿ`dÇÇ]b4Tþⶫ‚ÞD²´/ xÁôû~¤)˜ #QÇ…×GýÁ@\MLúCBdvP]w¸üW´Á!µÛߟJ ´š¨ÇEá3î½Pz!?ƙȞBAÃrµ?í(—ŠXºÕÚòlD¬¹Ù@w„î¿™ºMG³(G× ñK=œÖ2ã7³A“•Òœ© h¯ä;òÃdan¿!whãºï×|èÕ2'ô3áŠ{²³#üE~ ¤p½ ɲ©|·Z÷G)þÚùàËW TF::jw,Jhù w›ÒüѪ\Ã4„¶ÌñVð/ç ´å¹ªøÂ,œUÇ ÓþÅo£ÌÞf¨£Ú –hM6MŸA\?£ó™Š.i”Às˺µ„^ó‹co“è>OÛZ + €+$úŒW$üaÓˆ"ÅÓI$&ê»j›1¿BÈÙ(ÁêoÄlÑ]/þ*h]µ/z¸UÃttʶÝÅ€"¯ùËÔ‹Z'š¨M&êr‡Ô¸Ž·ÏŒ×ØVÓW½Uy£¬<»ƪ=…Ãÿ2©dÞ _w9ƒÎõo«Ê›÷O€\»$îØ“B÷©ô°4íM?erEhD«\Ã¢Ü ‡þ2FOâ–")mÓÕ×þÚåÅž3‘%ÙdqfY¶uo ~Vl¼tœî +šù^ˆwtm }—Qàt,°[ðË…Ë ×À˜ŸnQ¢fÜ#Ú~KâU4œuÁo¸…˜M¡ ÓWw¦j¾Þ#7ðB¥:¸zÿÂCZÈ®·šLyø¿»þ{{ +9²S¤8ɇãDbÌlÝܲu­Æ §¨ˆÍ›°—w)›±CzÔ÷gæcÜ¢ÑöTÀ:ß ¯-¶²Ò +W\»Ð$­§; ©Evùíñ§ `n4&–šò½²ÁÇ¥7 j*È»||M rµ¿ô…v [üûlk†ï|Hú-óÊœƒ¡Hì*tÞ+ë–Ÿ›±ù-8› Ÿèz Ýã’ÚŸ„E§<324kðJ9l‰U{’§§ÐÇÜIÞ•¶Li¦ö–×ý¿fnäåãG¢~íÕμo# žlo^]ÕSÞεŸz?ÑjhœäTѨ7þ±–G¯;HFí t2P)!ˆ¨ü^O°ýºL½wðÕ—o’p£Ð´´É:íy>ÕJƒîb,ÏÚ½8UÈ̼-p¹$ˆ6¾³Ã~®eN€«ú~{é$ï3>6vW«ê¿ó¹(ñ)›Z¢ÂRà@‘¿Ó_˜ÉÚ‚­NXM0(l°-óå馻&D%&¨iïü²rÓ.ö“5`6ýâŒyú„0RÚ»\Àû蔺9Òexµié¯Bb ¼X›{IçàÑÄç|åàJÉMÉ¥ö÷ÅhÎa¬*“È9Â.‰‘? Ã-½SbÖ“üšf,†µæ&‰ü*e>¥ Õ[;n£øq¶#vÖ‘æŠÜ:\z_EpÞ1‚‘îQ·±ŠFEc}Ÿºãšë$ºù:™†«<{Gé‡(P nx¸?®ö$®Ê7Ó6!¸cÆLH9ûÈÉ~2GB¼I33øߪ‰ùŠgv§I˜‚N²n.BèI¨ïS‡^YH¦ÇN˜¯?:‡BÕÖm£õbZ@RZ¿x܉VÏ'ê”oŽœ=˜K'~FfH·uøñ0pWü-Eˆ@’\ÓÒW—×»”žé«O8bàY*Ž‘¥qÃTê–K§¹õJ²l­¬Ò3UKߟ™¡#Up“ÙÞÂg*»âÊÈï‰môðÀ¼ä·‡ëà"6ECbΑ…¨ÔûÝ.6+’¿Ž©?W4‚Á&˜Þï;ž@*‹»{[VWSc#¿¤mBÝ캅)•ÿÑ f&o+·’@ÁzW¿m2»~Ë5sNü:kà$ß-HlrÝ–^˜bpÏ5¿¬yW ùc«ûíóZgì¢Ïx'.¡7&4]ôÓy£xcPµàâ–†{ód5 ›€MõÐ?´¾a1jCR \Ø“–8óHøyy¶MÁ_–màlGEvÐù29nCi®ü¨'GÕ£¹Ù•„ë Ûäé«41 ¹)¦âÚ›mK4HŽíG ÐÆIضf¯~îU’LoÝ°+‘ŠE|†Üµ0™'´y ݦ<Óø +j`£ZÇÄ3§üpH2FelkÖ…Æk"Ÿ`ÎÚ·ó¶/‡¦T¬#îGFÔ”Ïìö¼ÁtцÈI`9?yšBǨ‚€Ã)çø.åe•S¡+p)B¦Ö †–7ÿÍüR9û9éæzª_”ì¡á“šé7·çÆ_ØÏ& ù¨.‘¼ËÚ?µxvàFjγ¥9S•ý”&À|É#õŠÛ´ÌÄo”܉ Ûx| Kçly+±Ÿ çêžÿI'ÉòÞ¸ý­r“ã" I$‚†îâlÊ3³ˆo¡«fše´!&³(¡uFÁ²Kÿþ ôfõ@¡SqNâM-  U t¶"ÅjÀ¼aëÅç€jáÌåkí|Ïu1®‰†žÅ•$ŽŽªŒþô-ù ØÉ<å¼2Àˆºl·ËSÿ + fÆÅõÑàÜÈõJ9gdÝxiÁ[ÕÄ"ܪ½½Íµ•ÖxÞ?aÉxb(L×0ü¢’Gì„Yjg(æTIã={oŸ,ðG‘…¥ÞŠxSï›bæ™USHÓAÁ›]fÕÐX5–‘ÿdßE?ÉÑÄ2„ÙxwsÕýk%â(ŒÚ®eôXlöÅýá-¨ÏRñ©G)uú6¿Œ¼°¥Ð6ÉGÒ”ÝC¢4Á4ì}%ú W<Žâò&{½wšòÛŸ¼Ç½ƒ7,Ö ÐÃ4VoøVWtm Ãî€5À~Ú þÚépnKîzmDÑD‘âãé`"OÅÊI¾[ŽM•<81‚åFù¤ Aý²¿Rßi~W4ì" +ÉIJ@ûb˜š7ûb^÷=¦º×˜‡¸’¹q @ô IWúxÝ5MôÙ'¢aŒ¤=iIQÿ)K¸0ÊÊÊ#ÚT ñÀøòÉ®¹ÑÎÝ­W¤Ûo6%Ú:|gA¨ÈSm ]ÛíÕ'3m¦Ö¤øŽðz¸nâ0õ]|V˜p)‘( oÉØ!¤M–*¼D)öß‹” C%•_¡˜¡9'õiÊv6àaYã *!-× +ý)¨}d.#"Éöiýc%ŒÔ2/\^C‰l'&{%kôÜm›#2]-ú»jµÆ¥j8,,Ôºÿ«£ÑTÛ´îs™+hf“­"¼ŽþD¯wÔÍç G “ó"ÓÿòÔ"mp;¼!~ D-Ù`»Wôd>XÆé^÷Ž”=û¼ùµT²ûä=P.+È|D¸Ózè’±yšÊʘ™éx˶£¾§±öRÕ>°)ÛLÒwH%mÝ’/«õd\Óÿ71XË5¡£?mT€RTþY&¨ã^q÷¬Dø‘Nÿy“ãžü=XʼE +,IY7ÁÌnY2½\1’kغftž6̾ÄÚ&ßæuîÚèòKÓ~K;ÒmËÜ2‹ˆýJN&¯ö]ƒÆ~®*¢| ™öêQDE-g"d…µ8{Lpn¿½O{ªÈÄA?½®v›#Aß SlDh—`Æ)‹»žR½DVû-Úäø"»±!ÿ†B⨠Ø#'J@@vMwF¦Q^@Aµ#;YÀ?ëíÈýœQrf¢ás¬œWƒw0Ö†zDˆkù-̆<|!^“»Øn¤¾9Q ¬YøxÁy2Ùß¼%åҿ̲»O@4¤×@½äYýúŠ%&JâŽw’ÁÊ+Ã(nM´›Cõõê:úîƒT{c_»ôà-”´÷q@qÜá…X÷ÇÙryªDVqIÒÔ­N¢¸Gjã0LX¾á²ç·},î cüÀ_× +}0CÅgš}YÓ×iÔ›\W¬îw˜ P¶ÍJ€ã®ÝvZXzøA«|›®ËÇÿ)3žæîûÆ3<Òzf£ÏÛ„XüìQ#©,Rí&åŸ6ÑÔÞNôöJs)Ì@¹ÝÀg+;Ü{^çŸÔuÃçw}¡¡:ÿ?ÛŸ­’3ùç$@I{*èðÔý•øAUDvùeÂ$œÑ•û™6Ù> endobj 323 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 324 0 obj<>stream +_ö%Õ…k ™O±‘•kaUÝ¥›ÝHŽ§Ó¥ "„QÉ K5NdЛ'RãÜ%só¸»Cãé—Ôü»ß³åß-Æÿ sA‡V¼mr¹o_§LNn‹o1WÖÑÒý±±ké©‚_ôk\ô¤ät>”Ñ –‡Nj|¶c\€—l¨ÇÈ„évÑmðFâ½Gµ„áîúMj>ÌyÛVxƒgèÙrýó8\êQArv·PnÇh¾xG4^ÃÛ¯ ²LÙÝÍ/®<ÙÙ®m n}7ôžˆ—nÓ—gÌ:Í…ÊCý,^Qö\Ç¿­¸|n~È#\›–ìû#‚EÆr «!cC¥£¹uLjíl×Æ\ÀCQ2jÜCAþÜò)óèAÍõÎé·¼üü}„<Æ]†¿,51ÑUûþVa<#À~G°Ò§À4/‘¹›U€žbÍc¯œˆ”½lGhCÌKóQÔ™”@z¡¢£d'ËÞ·è·NA’]D™Þ‰‰{¬\n¦Tc€¶áùjq%’Ôè°'m?¿™ŸŽ“G¿ rôU¿‰ŽõÒ_‘ +”TGyüƒÎfó>pBsE§V3Ó91©ÑØ¡êÀDEzáêÇ==:œù +ê¬P½“aЭˆ\u;„U¢þýñ¯:oæØd6况­D`pQ‘rEg•‰ÛãËïú^Œ=îÀŸb?NÁáÀ2ïþµþðm­+)EÊ°©ï¤Ö»¾òì\ ˵?c«ãw;("Ú”Åýè­O زZÓÛ ·Go„!Ñž²õó9¢…k¦ì´I”4«)›Ã`ñ¥l¼v’¸ü¿ùÐ6Eoµ~øÒ%õ˜5ÿ!Œ¦ý­Àõìg}iœA%Z€ªå EN¿\®ï÷ÿ)°ïÎÞÍQ@½Š"–ÓO—†ÃT‹»yªL,ž0 ɵæïx]Í`.žil¸„PoœK™%:]b^a+S [%ÂN_fR<æÕ£oZÆvP}ÎþŠ§®ö†ÃòX—¥<¼^>oŽœ?Cþø‘…âÅ£ºÒ6¾M`¦Jðvtí課nk¬Ã«¡HĪu.AÓ¸q«ÚÇjyÏ®jló‹+`^ àe¨©f\HÊ-6¿ÜÉ…>On´¸*ѳ’P c$ñm~X< ;c `š{&ŠdWï$̪²–²W£¶34o–‰¸Rm¸^Ë#PÍTƒòï­3ï˜éãºË«Ua‰Ë­’'Òý­±\¾ÍúÚæO¸È0š8zw“ÁÍÁ;,_’LOêsçÒ#çÄÝÞ)˜vð¨iß.UÜæ¿äŒÆöövŒ,ìÎËK'áV9®†Œó~t%?gSˆé·7}GjKdï1@R`±øß¿QǬ²UºÎþ­Ë¬T\tƒP·ãG¥ÜÝ)žu/o™ÃM\E¶H×| cL¤ š r³y‰ 瘥ÓÛOQj²Š'€æV„©Jßy¤ ÷AIÚ”èxf}ëjw’¢ÒMŽaªŒ[ð.Y4ÌgM„h]0NMÃ$÷­1GÄH>3û›}4²¡‰R áˆX9/gŸ ¼@'ÌË…ø.Þ¸Lñ'5½Ìb=%g®ú5èž7&ôŠ‹Î„/{¦ +”{û²ÙöÊ™5~iˆo¬7ÌëcÅ,—@<¦uðwXQ“s瓸óÿN\‡{†ŠXéCˆ®>¦q¦{þÿu²ªÜϸ2Š#¶i(š’¯‹ü¶y)ô¤9ÓNÚL¢O|¸Ú¶ÇbmΞF-Ð o$!Òøi0æ8»õÔòÉžj›¥¤ÒeEà[˜Þùî¿}yP,>0cöˆC|z¾»lŸIIHéD×ZIÜëãâKÈ(‘——ÝÛ]ÉÎ1¬M¦‚WÛˆŒbŠtwÓ“z· ’$½=ÙÎKr¶e\<ÛÜíö!Þ/zdT¹¶òÒ½ø[S˜»¥I;àPDœ¿îÛ墿·‰ÁQö­×¢¦¢X"å‹<Ž<¯A¹¢ÇŒP p~yKùš°ÆSöÖÏ-ºg½EüýÙIGŸ,bpXúÜ&æãX30”¹ô@Z–€"ÃÂ|†È—¥è½3Woe+ÍëuÐ’­%ò4ÇËoYö22Ž¯$g°?_’ºZÕ¢h)¢õygŽª½_C\DCÆ“Ä»Ï-Éÿ÷Ø 0û®ÓÓ¦jï!Ìæ%W«5{/ÊÛùv·þ@62 bn­ú+æar†FÜBÕK«Žü|—¶× Ïaôns≠Y‘ª³ãî'Þ/…:ê¸Yנ̹¢%t”çëàÛŒ £þ»Ò³yFk‡ÿë€ÛŽ-Ñòõáªo +Çà€×ÊWþt€å cfxØã¬MÑ@­r DHü‚'wäùÒ{!=|×8õÃO~™HÛâˆÂ²ÝìúŒ"ÚØ–šîªàêLߣüxEæÚúëÿlV4ô3ø͈©«–ÙbòÐLU£#y0¯ðËžswÚAq† ¯òeIbßÆGðå3x”/gë¢j¹Ÿð·‚ì©j V¡ cÓSñm¼õüŒ´Vf·ß ,ºbN[O^”ɱBGM_YFˆQØã·CÃ`ví]¹a¹€9ØMéEé~ÜƦ„ Ìo©¬ëM‘[pÓWwö×Yk2PA4©ûö +–͸GÓ,×Z«'+&›+R·?Z††AÌ[ŠØFg•àè)r¥Ëš E ýqÂï~ÑUl©[\zç‘%ï´S1øC®|\‘‰m¦, — + 1ã5KõUóE‡‚¤Cy$&»ôâƒù‰¶‡`žµQeùÿ9hÕ°ïJí‘n²9A˜å9ô{ ¡‘q›x¼§ýÞ§âTÒ²Û¥(5 +°¿ nÑŽiOP'Á'™7O~…òO÷® +ïG*tôMêLÆk”ë‘ñOpô(¯‰F¥7æwhÊ:áõU׸žTü49t7Xêߢt)vy"^r0/b ¶&»®„gвy®í¾Ì†6NÊaªj÷úÛádϧÄn‰¤û§õË |F¸"NU €!½üc»Æ­wŠ^ÕÛPRRƒèÖ¡M#ðúZ÷­H¬] +½íp +0…ZŽå¹q ÙH(‰PÖŸl˹îxHeÜI‘•Ñ’ž¡ûÖw< +´’”¯¼n•Vnry¿¨ÁyÏ›šßú ¼2&î5˜ºÏ0@ìñŒ5ãîaÅB÷­\C~ Ð~?~^öÀ‹€è +ˆÁ<„µš݆T¥~V£Ya¥ö`ð 6•àK¿fe¡È'$b&1Y®ˆ’AXæª qÁhaY\}x­ Ê¢àŽŽDE‡EŒà íxµË +Ìh6š<4.z¦]’(ÿÂöÄ6ÀÅH]ÇìR¸ ©|lv§XŸ Ž2c,º êŒ9á~öœN©T)ÈWBÏ€i^$è’£%ÚÚ¥ÁØ)0²aSN&¥#69§À-Ue­§ögªn6©ËÇmÐì]9S¼,vÏ!ªõçzù÷jg-¸¤ fd¡ E Œ —Þ“ À5oï9ã+YÖøÅ~šíúé¢Çyp ¬–ÛÔPÙ(Ȳ qhnƈÀ†B.l Ù¬®_º™v³—U½˜…Ì®*ÑÔ­æŒLNß(\ÆÝÄ_J!|¿'½± ÓÞ¿šŽ¯ €ælV\â¼Z¢$wý•$ï[ú‹UIÇl@r05ÙôxѪCò­†×1õyªÒ˜qM Ì«¬nž\E«qòNÏQATa½»ëdÂæ ;h<žCaJ”+ØžíïÀçÉ¢Ë`»;“ƒy?)[1e±J£<1áãÙÿñ‘¨±q8ŠIÿí\º¤;CÄšöüŽ]Iä><âØë'§ðòBúhʤâ-\z, ¦Ó Z´†ÀœDSB|Ú”#ü‚p“,¤*£™ í{—ø†$Ë–™R wúd9XƒÿZ12³Ï³ê¬Ÿ‹©7\Oèì9o¤071p[¼ˆÈï’¸§_šò„§ŠÇˆ]jLqÇ }±È8E™DÇâ¾×@ÏFˆ€TTÍSQ:ðS¾†i±û7zC>ÜßQqñ"÷À¢ P­sIUâkùô’»A¤K>'£—™óHYªQhùínBpf~×2¥"-Îõú@"/Š'Oåü‡Ií—öËEçëd|ІñŽŠ!“Kyþíq‹ê‡i¦`ï´‘nDÒµ²é€è«øÎ@[&ˆRßQÎ :z>¡w#FmÝÄZýeú†]ó +ä›õñmë!)·ÞvÅLð6ÎD©:àAP’Ǿ±Ü/‰wIåZ{Ön{à«Þý^q£±ŒÌ´³Ü‡â=BôÙ%0IP˜]d,¼ß!uÝTËÝÆ'¥"N·ah÷®ÚÙ]hãÛÖzDL³77L+ îo5ãdgÉnrC](œä×#ß"ÿ©a¾‰AF0¹N³|x/cb[¡á¾Þ>5…&U¥9KžÕ4žX¿Êà+ó]±:L+¤Nyt¾^¯øÙAqÚæ0ŽAžRyŒÇñk¡_N$`ÏÔ™†52ÓY5U0òÝô ä’>ZJ_„D³ìÆ*K¬ßðˆ%›õøÚÎo<:p5ñ6»½¡ÿr5|M̧à 6®7¹fÀoÂ38ÿ‡MôûÙ·™¥ 0ëh×ÂÀ*Žˆ +endstream endobj 325 0 obj<> endobj 326 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 327 0 obj<>stream +bŒK«cOT8ݤbNÄ\Neú™!w~ë»™ÞÔϲ«N/¾ˆG«1pMK¾îäŠü. èžþš½Zf ‚vǽ…*¢YÍ?L×û„ÚÎқ抅ª×Ëó­ð9Îæïøù7C“ž œDKÚïÅÌe€7Å./žëº¨ç9¨4x]e†ûƒËµQ ;¶§{ 6éy|L½léÒ:û÷,¤s +³y*)£UçxQ©HtÀ,Ë6jÔ"•¼µ±–tÕ¨K¦°ÈilÀ•‹:¶M"µ7øPï¥ø»ÈÄŒž•3z´›ŸaÇÙ7áxZ~ômêùG¬0,±+ÁtÆ¥lßà5µçn?,,»[0IÓk^sÌÏî+е“Êõ>Ñ +õnœ' ÆëZÞ<‘"¸8ò#Çò‰Ï`Ÿ@Lü iÆ]Kb–~ÙuÕ¥ÙoçD˜ ºµÚDiú"éÍß< +[’\U` –´î€&Ó©ý1;cÃljSFó îCµ *è9œpÓ4)A«}&@>S€ñÉ.…xN7Ì.÷©1,©u*hø7Ÿ¹ZŽ¤líöÑ_× ˆwîD²B>¨†K^¯eü ?±µ%*k¾åÎ)Cro¯ °´3“¦I[ÊŸšîµ Ÿ,x 2ë‰)\ôŸ•z…®„Cé]ƤŸkdtP Cõ%`ÔÚ)F±Ÿ˜Çž ¡¢+öCëê}’ÄÙD³ óxãÔ„ÞÎ÷lP08/Ë1Åt(ȃ.”pÈ!~í7˜ÔáqŠ¹î=¯8êc± ü­ÚáÁëÁ¨Íس¸W6ÁÄX¹¸ß×aSâJÆUsžüùýmŒ 1›7 ìÃ\[.øÆËE´8pùUQ²¯¨EDûLzu-BÕ´5ó½`ð]}&ó.„ƒÊ3Ö_¹kù{lAXÏüULyˆà‚Ö_qPi“h[Šðx£ÿ€Ç¾Eñþ.À’†™tYûÕáfF‡¸ëºe„in Eíôû,>•ƒ¦'”{0ð‰ÌÓQO’è•L@2x aœ*R +ã­%³â…œá~S7R3¹b‡©c¿'Á|~\>|!¶Ç¹:÷×UC!k®hWK×8‹„d÷8 gk+5~¡È5ÔW-½éŽu…¬Þ[ëo˜U›éx̲`”€^kÇ Ýä˜[Ëò©†y‰ç¿ãrXªï³m@󞧧qëþ†¢ÅÒí:ƒ’iJÈß’Z¼FåVê.>íUú"=”Ÿªmi,ø–¨TSKµûÞ¯L¨]z#xE&˜k‚­®ü…»±2³Ó+Êv€¹‘àÇ^¼-Ê©êÅ“ñª‘Ÿò'àd0\]zž +K‡ëKÝíÊvUÄ6”¡cªÝ,«wýFaÿ1\äkÐ Ûâ——)!¸@4…1©Jo÷õûÚüvÛéžÙ¤.§LÒÖoj$·PQ+þЇ¦ç¤˜é‰h'›9ó[¸7\ì$}é<Æ0)Ey³—m‚kA¹¥<^“`…Yíàž)vñÙ eÂÀöU¾]þi„³×žP%Ô‰UïbÇ0'¡Aî4òVÊ¥§ˆ÷¶b/-[—µåø3QE‹ÓðîùoOæ”NhæÁ1y¯d7õŸa¢»I)æ±çš”¦t´°žÿËl—ñ̤FMšk~Š‚ß‚§§I‡ÚÔHŠ D¿&"QÎß=U˜¸LS—….A/«K#×æ¿OŽµYì¢~3Mï4íÒcÖÚãxÆjf¼ÃHî4~C—ç±2´èÏá|Ï©4Î¥LÜ;IÚ +[`“ 6É“ÿ€†æǃÜ>]\ýÕ®Ýâ%ØläÝAul€ªÿÙòTÒÚ.§v›y¬/_Ò£5¾VgSÝ×ô† X‘é9¶–¥¢¼Ë‡KØlý ¦YÚÃx!HûP*Ã";¾1Y‚ú`• z7²`;l04ºî(Ê]Ñ!àØ"–ìÒáúèÐø7$] ^t£E›rɺÊÖJØ·)¢ÜvöÚ<ž0VL}Ê/¸éÞÂ(4¥ ‡ÅLÒ?¹‡X@±¿ÆÝ–ú÷³”ï£ØÝS œ“çyU´ÛtZˆ#³tN©,";pᆆÀþ +ȆlƒüuTw]=¯é4ÁÔÑ,j^6™lQ½€[@ ˜ÀùåçY»¶°âù wœÈÏ ?xµ0r% +šÝf&·ùúxÜÃÚÓÖÈ|fËU™9A5ÑÓÝ©RÅô™È`!¼x³/6¢z+Êrä°ìX*ÛxÄÌ·ÞV‚NãBZÃâì0°°Æâ(Æ4—!Å O+Óq,EiŠÐúð>1®™QRL8ϼû¶ÿÀRÔÓD(6ëØ„’¨i’T}÷Öä¶îÔ44ï©ë­ûO,âÖ…<ìŒqË CwóÒäLØùI[Q‚¿™+ØŒ‹%¾jDb„•ïh™â$gÊþóUG5¶“,S1 ¯Ë¬ìSu@­îÀÃDN¥P­®€5Í×É£¤Ûˆµ=eqA*‚h(¿UdÄ ïƚοG UmlÄ5}B_™NÇÍs¨F%ñÃR< +mØ醋½ë¼…:„»Uþ_0H[Z]~ýÙ¡ÒåãoÌhïØTve.úé‹}S:Ž–¨z]oÅ$aU!æu0ó ¾$Ë6¸'`çÈ +0o²µóPnð:4üãé}QXz5f_EÈ8jì× +ÜÕ2ÊÔ¢â)3ÿ¡Ìª9E@_E\¦ZœF5˜8'QQkÀx¿°Ho\©N¾õí’–K§©y^óãÃî$P!‡Ê쨦†Û¼HêÆt·\¬B™(“ b5kùÄ +™É»4¡´mÔº‹ïô¹|‰:ÔfõP²À«iÄ´ÛŸÁÌ> ç¿'ZI¡ßíÔŒ.‡:zô׎]ÚZñ¾¼ôªÛJ~ôkSlH¨O¨ÀI§`ʳEÙ’Ç‹Ü}K\W“7Ÿhx€Do !Ç[<ô3÷3gfÞ½D ¦Dywz–~\ƒ°ûz +%ñ ìKŠ”Àa!Œì$Ú0i퇬A``¸yY$v'Ѳ€­Ö­Òwä“ðסÕzÉ>ÏéóØýK`åØ,_¿N5š*à;„3£²¡ k ;ù`qäªhp±M+{ctë ¡°Iö¦ò?LotŠ¨ìê†ÁrAgyÅ% ~Ulç ëÿå8qËå§Ù¿ç Ý‚»¦Ä%šúö«!• ù\AÁ£ -<V48´0™àƒëK+Û +šØbº£LàÜAŠJštqàkŠèKÜe,¥_Œ·Æ·|’9 ¨þ8·w+ðƒ·\Ûªtᦳ$_Š¡Ø˜4¹ùÆPÐ>÷MÇ|¸Ë"/Ž'YPÞ-R­Gˆ8qY8h7cGmÐÿº—œàÆm†fz?¿EJƒýr©w·Æ}¹ü˜’Éȵ3 +ÍøÉ×ñGôÇEÛ¯ +^½œìP‚㬈°„÷N]Ò?®9×ù¡æX=ÑÁž©ânâ?|³Åí##\øùÎÛ#2,2¿iÎÜ1{ORJž1¹Æºƒuø‘CÉÐé,T&šðLŸ§=÷ØLJ´+éî±Õ'ÐÚ~xx2月º¤?¹hr\çpܶϠШ0AkQáM8IeÂP6·c¨Œƒ¼vª¦¤å3\þf-îÃÍínØiö’Ɇ‹A-‹´ëeÖÛ­ÚGZ.önæ#‡r¿Q6.8¦ðƒÉeâ®uÒ¸ *©ß˜]䲧ˆå;XÞvhnþÓcqR¯î²ñG*-S˜‘Îì¬[<ø¾E/UqàF0Ë£PK…õ°F2ä@ [È]Ìõiã 0ÕeÕè}5jèbiw¿½LE²æ@°j0ÑÍÜ*_i|6,2ÄŸ±+@R‡.˜!u©G¬9ûùÿ‰<ÇÇuÑy,U0Zþyn>£^qº‚ëZP7èûW%ã·™Ð1Fgáú®Jckx×8‘ˆX1#úÑ’—¡^ú‹’¾`¿óî,šïa蟈©ÜÇô‘r€ð²WÍ5zOcqjꮼÂÖÿÞ[Þrt3^Ì;Sm%ÑLF¡ÈY'-Îü•*rð‡À„å×=që¡g_kpE‡•B Z¢”Mٮ㾪ëúÎÁ26mãvsÉÏDŒµ2[sóäF«×#Xvf‡6¡Œ%¡tªJ*vN…@ûNí²°£l=o™aœÕA‰(¹ép!~"†Gè¯EY˜Â)ÅeZ;š·Ž°í¬ýŠÆ;'xëÔQòZÄ>}j÷Æ»ZÈü kfÍOñ2!ŸmñZ…²û¬é¦z…|䉯ü ˆ¨88?²ý ¤=Ü ¤PàØ`q¯±híÊöáp8¥\ü¦-Ó»s¶L}ö:l£Å&°Èi™zãYq¤ò©»} @õâ2 +"U›”áI=³<õZ szäAÿCcBBÀdóçõÈÀ žÆÈË»®M_«Ò;¨¨…ÀXþìß‘Øÿ_äÿò.S#Ïh4¤TÌÊ#•¤¢Ô­ãÄÿšæJCÄäÖ„ŒÞ‘ïZö\à‰cÄÓ žaís–䔵ÁTUy’Ý€-Š•)ŒøÀ5¢d¾Ý&áâ²±ûÄ’ |H"S?CÞŒXºÐfb¾˜„º)aÀpH‡h³FùöÛ]<Ù¦Øi˜eÀk,T‘\ì#o{Rœ´Ci»i@툼U„ˆ{üà9¾¸µ™*੤p‡küIÇ%Ù‚‘Óéó°$ì„1S&DGD wýöÊ/„1 /U'¦«°,íˆÖDÆ=9½Ï£8¬×Ï4Gù‰L%=8¼S$df€¿ïD]:¬“æz’èâ›^ +³@/ç}A²K¿£wñq c|L{ñá¸åNï•==ü®ÇÖ¼ÿ2ÿXzë“¢ƒ5%I= ‡›«ÐOi5#¨X-WƒÅIµ…­ qj<Ïþ¡."†¸äêÌ/(î¹Vp[ø+œù¤ÑW{ïÓ]\6™9Ó|ý;Öˬ ÿºPÜZ·ëÅëigr0l—òËÀ¼ødËq\ƒ€b$/˜{÷7]åWt‚'•”UÓÁLØé1Ý[q•Îm­‹D«+•ív–(1\I§¢õsGã$BèCéÆ }²ˆ{‡dp.ÈÝt]n"½°GqŸ¯ÛÒí‘¡m›ôwŽ"He3G§µ—ôg/-ñȧÝ{.Oñü¥ègá¿"„"A +½x>shcÖdw\nMtx^ľÚÅé“nÞ¯ø.¡ ñö–æ`ÞÍ¥ŒL~ÿÁ^Ï·àÚ¿¥ÚÆ+Á‚€ÉœößÜïQº³,Ônð›¾Þb*qÆg¿Û®dnÏÃÙ0ûŒOKM~>Ð )2ÒqIm¤‹phqâÉ®IiúwT)é•Q¶qÑHDù¼¼õ‘y`#k«0Á µvu^ÚêƒByÿÝ‘l /êÎZÓsï3Œr©?LöâUöPÚÊš¹ÖÍе™÷²ÈI陾ÚÏ©ÞÐÿ[uwåô>+p#KÎH DŸý7mýºˆ†®Â¿ïüq>zö3d®½ØÞì[=O0iïÙ ˜Û…Á¢fäH¬Ân4o(Z›3Â+\Tcª_fØ•z·—Ýɪ‘ŠÒû¡ ØJuLH‡¾w€[è¡P }Rª°òÃ~ÇÔ“sËò}Æ5¢joÉÀÒÛ«b¹ÈEØÀ­OÓîÎÁtƒŸ>JÝ¤lwÏÈÙ2}A©uÇ,.þͱñJGˇUÉ$æíò +'àiôÚƒ4Œ5Ò`ÇÂf©çÁ=(/à{žã’xÆWŒ;o4ݱ~I +»º¹ò.¢«Ð¸Ã ú&ÍøåHºÉ÷4¸yÏBûyqøs¡L… eõ>Ò¥4¶¯rð^‘ÖRAÕ[‚ùƒ”GQæ×Ô'À×:StÀÑu£ëzÿ IÀÔžó=udïÞpÝ…{S+Ú¡ /ñ¼TšrsBsÌ]éYÖß +]:·bÑb ,ôƒÞµÈ¿`›`Õ¶?Eß,ˆ/J ›O! +žc@¿kb +<ã˜Èæët¦¦?—,ÌÅ÷;u‡A]y´.ÂÄ’‡Ð¢Ž|&)ºdë}ð´*–]U’#/Ú«y.ðß")Îþ1pY¹ÏóuÓÌÖéçq4©÷w‡Ñ‘o¥Èe˜ë¯ñ Ésóvç…$l„LËÜ#=¢Æ`̃Ëæ2î üQ'þZcÝiY-ºµq<»cFêh•^·ë…2ÑÆ}IUpžÎ¼†Ö2«<Ö]=zWE8Í ê–"Z¼ïªÂ ÅÜÉ^Ûˆ5r¼w; ²_ݯ¾PF†$aIvxÀK¾b—„ôÛ¾GÉñ¥ ZLPcûúLrƒEßË#|{ßÿ,iâ•æo¨œ ”»°Æàfqja‰ùš¥.ñ]òùz\Yèõ!Í3÷—é[ÞjÑ—¤‘ôU*4:>LUBV½¿LSL¤¾'ï(n7Å`è"U¤M  ,éÒ1×V1q¸>Â5x$J<A’ Ú`¢ ¿'K+æÝQ6‚ùus„—0°ØöÓöJ¸çoàžtû9ìº_á¹tk#i« €®ê…ضPYüýl ÙC4õÇ*.~ÑTT×vÏÓó/‰<¿^£ÃL¦)ÿ:ðÕ +endstream endobj 328 0 obj<> endobj 329 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 330 0 obj<>stream +’<Ìœþ]ûWø|ÞµLœÐ–ÜG»Zð> #œ”>jð‹6:•ß?o&_æ—G +çá'­ØúÄHæ{’bîïèûîã>è,Â7âý3œÕnÀ‡ú)Uy¸¦/NàÕ„œ¿¨´1:î¾*+NݸÈ'_³H¬ÏÂrºL,{¹ÒIGŠî›A½ëšàAŸű:Åúémšê–š*u\á® +‡"(q0»á)À#Fø8º²/ÒŸþªI–h#<5Á™}ê…é(‹oÁ©@²; Œ)>°y|=5`Ä&Pg”ö“ÕTÏrn&˜AéJ:E•WÅ%„j, +l"䘸i(!2óxŽÏÈ‹6ÎlA×÷%ÃÃ.7xDäözöp¹4ë»/r¥µiªðRDøí>6ŸÑø‚ôÍÔ ½È]’ôƒÏx9&Ükð¿úðY%È­:׌\ÿÎÏ•x@œOlgo+œÓ®”¬Q¬à/XvôS‘Ò2›<,Pž/€Qª-®š +"7¯÷Èþ– ºG7#!¥ï„¾¯Â;¹Q¦íì>ÏXÝþÂQ¶ý‹ò²¥ã AÂTΠwüßqv°°rS+„ùIΦPÇO欧q‘ó}gBñOâUû~}ù©ïe“Q;<Ý,”°8OTçÃkš·—ü¯ +íÆýäL³›ÑíÛõ‹-º€~±³óÐ=4Ä)§4jYj16+};ê/c×—|²œÔw7‰ qmËRʶ<}­d—‚² +}‡*}aÛ?zæ!:PÌ™ùRìKºýe1ƒëóD<¯ ÒRä_“™K­º“Œ‚»EPç7+G°ão¶‚‹í¾µ0‚åf‚êTNiãÖîãÒXV–ýKïh%Åc1ã‹ÛN«Õ.‚ìPÿÎÁ_Ä×Ïán”.ÉëhÊ.@U‚ú|~!jQl¥È„:‘BMt¢e´må@MÒ}ÄGoXeo2ËRŽ¯Îß,m¬}¨.Q)3Ž¢˜ß ¯¸lM¬[Ø9Îä#›~ÿ.uJÇ,€ çÀlÁùZ¶‡“ÓÂT J!©1 È‹ ÈõwÙ.Åï19‘«}!m{LK*^-(4良ùCù3ϵR¡O"‹5ìëqÕ'öy!µKˆ…jæÆcÄWJaú~Á`iˆs î,“ÓôZÊ›Ãy™˜†L”ÌŒ†}Ŧb¾8r;K½‚¨ PÏ“c›“Z~>}`.y©o¥‚ÙF -¶ŒœNVÇ^ujö}QRîóó}(ø@“pbéj;c!`3Žªc$l¢õØKˆ§ùãõ1U åFR?©›Ä›O³­¨ª åO‡ºÐ­Št–Š2·×å‡ûð¨ÆW‹¡ºx&èVU¿YºG†Œo¸1!„g‹F`X•°”­:i¼ÄÖW¥Ï†lq8ïLû8à”Vtn»ªñꦦ’!I…Ÿ$j öð-¢E§«• >ã7”ÁLŸ‚ãÍ®z¬U¿ê…0Ô\¢MA–ß¡œNu5báwO:›¡p6±ŠëB^X«M°hXÿÇÙRªÁe>Æ/+­î.©ƒÿàgÀ¡d4<%2- Ð@¦¼ç>3XÐœÐÁ3!sct+×°.‘󖃼Íe>á:hzõ(¹7ɬâ笶…Ó ÉÌ}G¤`Sÿ‰ÿðÃ&3ôµžñŠ!–F¡Âîôz )ãJÁŒÑ{0 åo|Ö÷ß<>hWJÿŠ|^´_c‹ÛŠ'§põ]lΰ ¢DÏÖPzâÓ YU& —¨n1‘Îù‚ÝX¯°vòò–´Ÿé©§;ñ Ž~9\'‚t#`/˽ƒ0¼VÜ?xèâ}Lœùêìƒæût a¤Š%ÊS GFyêûEZn¬Äm_$óh‹Ò?:]±¤§æL·7ø÷ÕM95¢…[¾þÎxß艟IÝ2‚E¾µè´‘ƒ–¾3ºpi¯"aº­ëò«²½·0;3@×xŠiË1ß)“š åîØ|ÙµVœ@XŽ«÷z$<‘Œ:ØÕþ8:%ûYi†éEùž#)¢!úàØ’¤£7“¶“XÐÛ'ñYc‰>éÀ|yê­“J®sqæ³Ö´ˆ~€r©ŒóVìšÖ×(º‘zîÕ‹íIæ¹Á†Äër›¹“¤Ï+E0bË{¶eºñf2ký=ÎáŪb¹X†?4ùŠgõ=+ô?ï*xoÞ—~Vq˜µˆæÎژΛ5ä¢ör£53Ž,Óe%¢i1ž/ncò ³ öƒ“ƒÜä-ÛnùLˆùÛ£À½ì _òBóO†àlçÔmvT©’|Ås1>Û¥' П¯ºÍÄh l6ðèûgó”†îÙ?ßøÊ(¬ïõÞ²îÜÎ]•YGÀ#OÖÖ³õÈˉÕSP´MÖëvñ549÷š'Æÿ m²¡Ö±‘áÍ#å°ö™b‹ÈrŽrÏþàj`ªd !¤B¡6„~ÒGî§ONõAÚ‰²HJ†÷± +dõQaô°‘ÓÈÑW!tl§´'º$Sµó»¶ÄõU¦®¡íW>¼B…íªz`·q‹úê‡ô??ç´Uë·Ê/\^"œ•Bâk‚²ÙWh?2¶Vw7¿t›mdâþ>HNôUšßdVr+hsé‹fÓ+µßšmÿÃ#J¦¹ÑgCWK{¯a7¿’±ep9« »Î±@ÇGjêßkfòãéYX?d4Õ¨RÈ"k ÏŽpBPP@#Ì“¤är³ëñYcýÈì®nÇM/*‘ë6Rº×ÙIJü³R·%³wÀû§?®fe㸠{÷(ÇÏÏÛ¡ÖkZÜg‰ZF +Bþâ ¼el<„6 X ßrË»¤M³¼8µ<ŠÝý~1Î*¿báÍóÞê_¶.:|]øj¢7€žæÎ]¬zþ€Â8 Ÿ…N¬3…ÎTâ&ד%šÙ,™Pêý±Å ¬šà£ó&÷†µ0÷:¡c“YÙ\‘ŒÚÁ™©–ïDœ`s7ÖtÎ "~”â¬ÊiZȤà­ù–X Ó¤¼UÐvêضãZdÐt`,.²…™’ƒ¶—vs87¬»™c, –åä…>àO/|+ +Öã{‚Â&^ŸV$óûÇøüdúpü‹î » ïqEE]hí Éó¤ )-‚1Øë25D)Ÿ>ËñÍk¯0nå˜ÏŸoãê!¼ÖþÚÞzÝt±Ô)_’ÙÊ/ˆÉƒÌ•¿[÷©É9‚ÚOO0¦ÆJÄ»m ÕŠ\±GU +B7EÝGNû{ë½eÂÆ$3ÈqqÌÆ>غTƒb£Õ\óÆ +¾›ç™þ~©š5À‚Ÿ¤ µö•¬Ðè¤:x\$¯à5˜e¶¼¾îš¨õ¯ÿ¯©ŠÜœÆ;{ m¹À|±5/£î7}ˆ‚‡ç6m‡ôb],eø$N¨rÂû Kb|øTE(Uì˜Ý}±lN›óDŒ˜¸üT²^ÌGg9Á+åŸ~˜ˆ&Ÿa +z†çX£4”!\Úƒ¸gÀ¤¢ãÓI}ô‚m¼Uå_”&Î…¢âq~äØå]GZMäd[RñR¼&–bGöÚ.x%g:±¤_2jÇùÑ´šýžéõªÀ/n'FZUñûls›©¶F|ÁI0æ®·t.Î7°uª?œPˆCŠfCNÒÁ³ Ó6¯ Ú`qÖ¦FŠpŽjè×Õ.+5/ð zg0ÔÚ)îä”C • }"A=@žÿ©§º6÷¢¸U0uÔÉY¥P€hX¡’3™bzé7{´QëpŠ~2™ÐúV®çæ/Ê;óŒe +vmŽÞóÙç£æ±vº51 +Îë‚£¾©„ 2(ÈÏIôŒ¸$>bhdzáÇ ÍR¨…·â)ÇDîŽÑÙ£[uIOªbù}OcÂÈeùM"Ë^ |"]§„³–H]]î÷ì½Pz%¦‰ö¾~Üߪ·ÐÈp5‹¤®b(«R i(¯‡d|Ãœ ÿÚã8ç4OÚAÌ(UuQªHµ)¨)ÑðyCép+¾5c`Š³ +ËSŸÞÅOZ³™'…žOò"™Þù†:MÎÉ š [5ìÏÈ­æ R«£È¸‰Ó(rt”‘þ‡\(åÏ×…;Çôà± ´_Ñ÷bí +àU‡b˜M‚E¶q«öJòfà'öY¶¨@A“…và,G“yK2ê¢Îk™V­ûÃuZò( +eYðŒŒ$‡,“äžEºÛGËDÀŠkpKù×$ µFyz?ÙA’rNû ë¿¡Mò’ÃŽ6ø'½¨CÂŽÃhÇ tÈäÐêôqµ4U*j0¡›çÅ‚ì×¾uE®³Hk¯/š¶-& |tv*\EyáEÒóöãÏS8#.àY +š¯y«Ê_zU9àG¸±–‘Q¦0èxÚ@-j¬Ùs-î]úWŽ˜%G]<똚*ìjФ—uÛs1v:ê;|«ä@¸GpzY—~ÈŸå”ð‡Å®0Ùç>ÒU«sÝ ñ("øìÜcT{Œ´‰€ô£5DZÄ/ëGd ½e)zŸD˜þ¥ÿåÁa;«dÌìÐQÉ[.XƒÈ©=$­Ž€±ºê‚ï-IøÒGØR‰YñrL§:ã"Iñ#Z1x.©KKH“ÉŽvóc·º +ê B[vQ[€þ]žšh…°¶ÿà&sW èÑ>Ö ðF öÌvßqÇcîö™BbþîoÞ9nþï9[öDþr+A^hisšlMìcÁ¾DËfÛQx´"ˆ‹U½ª±¦Ù/ ÕþMhªo { ¿ô`;^HDgà6QŽQ½âÊ&y¶4,3È°e[ÿéÕJ…ÌñÖQi“¸š\÷ñNËÓÖº¼„ß솪vˆ^wÂ"‹Îm„Z”A¢hê-Á-R–”·MY“lŠBª~¼Q¬1U,íXøG¼‹XF#¾iQSê;YÄŽ-áéér¥+jæº`G<£È"83ú=Їtã¡ï¤ÀyÃ<½©9G ±G„ÔM'[2GÛÞìâ›lY xsçÞH”uZ(ô’) +endstream endobj 331 0 obj<> endobj 332 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 333 0 obj<>stream +ŒýÛl¦6X¯‰—"É-Ó`Ð* ¯írv§Q•þí+ùå˜>?£ß«(EðÖS³ŽU¸ H\Ì­ò¶ùdXîzçƤra•ËxéV ¨9²¸Ã/„€WS†öN9=Ã:wìå¦ùù œ»:VW7㳉¦ŒbkÊ©?ÍPújèa¸˜L%¬²0„Úñãn@1q@WSô4l:€7DM\׳ùwÙî3³ÝÍêCLâgæû$l^øÌjeþ˜áM‚5„}P ãrMßk_êÒÒo Üd•3´Ë¾<°RÚð†Ù«|?KLñ nÌQÅž\Ýmfg%ºìcû‡Ý{ØüX=^V«ìKª ùA»1ÅççdõšlÉDZ§Ýr8@1†ò g‚u{¾’£-š³ÎwGf‹4rŒp –âï…ÙO}¼H²ïèÈr¡ i¤6M¦õ%ÿ™J¦±.tÂHŒÄ©¤Ö4x06%oKŸí·èϹ/5¾J‹à¸ý:~ÔRh™çyã…#ð|ÌE‘Å»"믓ícœ¿ìM³W¶¶üQ±Ò+±X.Rc€Ë}Ÿ€ë|e°ÎQ‡³íÔ÷gý=7;I˜€ ²P'nè+ãlÉ^€÷£Î‚’§¾Z¡sm"¨ß)€Ž$Ý.ý-ÚVF¨²p +GX‘â‹:=½—ô¼^ѾDxË©]Ï<“µ+ÇÀÁJDÈëèÚvŸt;–áò÷ìE{|ZDû²¨dpêãT¸¬ÀÛr«ÁÁÔz›RÉÜÇÔq²P~$ |ä>ÇÓî¸c=É÷ï10ÕØ© 0<ð|K³)€:)}t ^Ak©{¨ìxn Ä"šï¡ƒ{˹9K ų¥W Ì8¦ÃÛª^y"{•Ó:fqæò/µ ½8n)bJÂ7›ˆÑ)<ÉÛqïú5‘ ªg€¯ø+6ÌzJ¼lzóBY“ý¬èd”÷Ñ€M7@sPŸyn‡ã¼³Ò&„ôС>KàáïÛýà»! ob–/Ãβ!™CÂ…#Bv³ÛÔ³D!U¿¨ÿ5I]ˉûﺻî"^=?D;~„QÁzÚÒI5 AÐÐßïÑ+î”kSó¿X&•èG!×=Øé­íû”¹ªÃ׋ø —]µœìR -ň^O›z˜44ŸOÇTAÏ$›þîæx8-K_œ³šÒųc‡Üë‰-,5XêOªš6ÊOî‚ô¸õrm”{i62zª¾S-¼†´ž<–éóvF„éÛ…0e:?.»Ü?=cZÕÑÿû©]ÂóJŽgˆÐm“íÐÚ£t=ôoôÏÙ\¼ +ñ¸2ñŒŠ2£óo?~Ü‚òlÑDbú…xG^³Íw‹$)¹s6éê³)Ÿ»Èßéãòœ±ÎVU°êCį Ÿß\=åŲ×hÚƒN& @耥¡$l j¹~1Äp“×ã6ó…uõï›ä’ +`PWE%úŽU +)^Ð`è‡>—°Äº¤ñƒÜ?hk4ê ³änb$J%šºAxø/™øOžwYhýÀ¬ Æ2)-kN;í¼'«»Ô¹ll“¸±†K¸³kË®ôÜô{1”ÅK3SÚÌÅôƒäC4NídÚ{HUæÄ5ìz uÃT¡ËR‡bêŸ9¹,oeÑ/jÞq’hÕ­@Æú¬ÐmZÉÝ锓ª +múPU‡tïó­®¹œ ª±#ÿ±:ýiHÇ ÚFüŸ ¦ºòF8ú&ZJÆÄä uë4a:.‘f¢VÙÈ\"X6žˆ=áµ&Ý®sp»UÂZ·&½n>íþãÌ ³ÐáGÑåÑ•Ÿ([26¤ÓWµ1“Ëͼ“ö²it0ÉtÁ‰^yÊ<ŠØ¦õSe+ÏT;xó7þ%©+Û÷£tl$$Ù±2QÊVx„r +Ÿ ÆÀ¯+2ú˜õÜ~§ôú¶ñìð@Ãè¯Å ^[Éߘ2bZÉƳ·è\ÌzŽ×»½ÌâEå»ý¾·Ã*ó !H¤­°D3ï1(ö1qø@G% p0ÆӜӕƒÄ6‰F$SŒ Y;liºÊ@–èŒìizæ¯Å¥6iKC£ùQ1p9·ªm2k}¾xãß¡e_Ã7àCùÖ'=}Ý«xªÊ4Éf‰{ŽéY?Ë•þÀŽsßî´èNQy"ñÁm4V–q"i7O±)Eò]¹òÑïÕ(žb ¹¡–ñÜáü9šy¿1˜r©Åó6„<íN¥–J3U¥>q?µ+¤o{mF…Ê/}MiÀº5{ü1á«TDt)‰á%£#«Ë:PÙ6Æ¿ƒãÚ›hW•·/pO.Xwú±™:q ÆúPjž.Ó壀Ü÷òPqKŸnrHO¶A÷è,F©V·†,Íî-²UU8ü?Æ‚þÒ¦+‘žvAü→#¯Ç¸egÜ“¢ƒRJ&¶ÌžáîKƒÇð¢í!T¹|Žt»ô1[lFsU¯y *IN¦¶ —Á†ˆûe.Õ4~î画ª©RñŸÇ¹‹€µò^Ö&TôÛJ-Dak;hMFç`x…tÊÇ´û]xÀ>Mq+“ˆSn±w‚6Ì°/A~£õi%[œF}ë‰ÚïSA¡‘r¼à¼VÙ`ÔS A‚â— +ëcg¨úó+ÃÕ­„>s·ôU[PŽ€)`èDÆeEâFs%Ú<* a‹{ îûe¬èÞE Éçt)hÆ<ªÝ‡©|ÎP3ÂIRৃ›y}æôXïôÓâB£ŽkìxÀwçº"Ù'$T[Ŧ¦“`8ÎŽÑ>ÐÕª972ÙmKÁÿ lÛÙ§H[ ÂZݘ¬]ŸÔ}yêZ™_ñ¬4¾SøGÇ(©F„WÜz2\A/é£jŽ7÷ؾ²f½ Aëßi‹ÒÔ…šBz-Áê+À1I/:Æ­lVcÔYßÂR¯iÎÞÚ€û¡Í)“§ªdt¯×L-P.¡ ^–ÿ]ZG襆rh£~hœ'5WËÀ8˜®¾‹´înHm©rè--·Ë玗oLÌ[Æ'u©•RÐí« ’lp†«UЃ-ãé5él’ÿ¼aJäøfž.”VcÃÞ{ä$›TíjR8¬¼áÁh2¦«QoA­j·„IîqòÈ>"„Œ”éæË,ÖŸk +—€íßtö„KÄßDzÌZ°BÚAw?[%«öŽåÍcz %)ª†¬U¶Ð+¿ÛÆÖ‡deø]ÃܪTçäŠâ¹C)„Xð«ËžW—öêÐÙ<Ði–¥ëJ²û—Ž 6 R'úÇF:gKoReÛãÚ‘ Kî®UΊiP#Ū㔙Áu1áFãÐÉÿj¿vˆpUè€*¡2$=*»(²>ìéÌ• ³~¼Zã›\òTÞ’¿ +÷¯–ôcÎj”™ÐEû~U[ÇÒ¥¾ÔÙ/šŽÉôIœ³¯3`_JV]þŒ4UK¹2*z<7~‹ú{ç&}HBJ½¨äGv”IRl½Î~~L[ô%²'%P„;´$F%2Gy&½/²ÿktz[‹¸ÌŒy‰ç&féø¬v‰¾ªi¦®õ§™N‘t\¯±@P×N06*ÐŒ +¨¢þ¸™#w/®Ø‰®&wßi~… -kO‹ë˜i»$E_§Ë™_ÚCºàß<°dß›ro¶éñr‚= ¶›W ôÖÄîÑá(ÆúÍ»Û$»’g#¶žàwçØ71ÏOÚj·w¨"䔿VäzlvÌ×óÊ-Ç +ÈÔsW†QIóÌÔ‡Iа¢ŒàäŒBÚ‚ÒCØ(»õõc+Û¬âp3.PÛÁ¥£º&´Vi}´žŽþ—%nt¹_Aq âoë¯l÷‹@¸’úáßRÐ5@’UÐÂDXð}1አê>a¶f-¼Aº+Ð O‘üdÔ"ôwÏ,b| PuÆ—j;Š[8Eãj ìWE¦ÿ Ñ¡G* 3W¶A¾,L%m¥»¶­Øú˜2»(Ì|~C®óió+îýƒtñŸÝÿþtíÎP®dq°|nN ónÃœQ£ûr1HAñTÛhÉ·øåùºÙÌ°½âsÆòK{_þÀìœê²´­,:*)ÊÁ]N¤ãÏ€[¥;ܬ)ó üdöNÌdº*©ñKza%_½S#äú)G-ñc  !_b=æùAÏ°‰í*•ÙÕž=Þ_ϳ¼ŽŸjÇ(!8³À.]N†‡¢Dàp¹aw2‰ )êv,pPÈð+eæ2bq6öŠ€÷‰ªNn}gH¸æSgñLù/Õ‹sZpÒ€l<ÑŠa§žÜeÃÑéð'ýúb…Ôn&”ž‚¹¤3i#Si² €ÍöãÔ›’Œš¥‘ì4zÚ(ã~¨q–ïhqµ™Ø!ô¡sˆ讂 ³£¢v9XÊ.…3¢} ÆqÛfpD£žQ-©lî•$âh@TøýD Z!þˆ$¢/ãÀ¸¹ã„ýÐøÜŠÞuIût¹O$zI¸Ò¾Û#jczðÞÉ"rÄa¿Dº}üög•À>lÇ×߇`¯4$ã›6¿ÓÃqÿ _ê ¶uôb^ b!¼Î¥©à1}ç«"·ÁŽ¡pÞäŽÆøVÿî¯Â^¯ž´ÙvÞÏ~2å«Ð?–ηøú>yà +5~”Þ;™A¼G–‘?•R±‡ˆù.¶ä΢̵gDZU€‡YAÀÕ¨„ ï‹V Ló§ÈöÕ Å6²Æ8ðï6œðœVÃ`Z‰-ÌÁ„…"¸‚Á +ÃLv®ƒAEH%äêá¾ÁŸp˜ +–]’†©ÒüaØ´Ÿ-Í[—žT¦‹›¼0†{­Ý¦aã)Wá©à;Ú„ügêêCaìÔ†8¦=. A-ºMP1]º9‹!äL›;©»Zƒè P¥…ë*|Z¾ÿØCfþ²æ8‡ûüQ;µ~X—½KmI_¼ÑðMµØþàæºÁ‚€¾ÚŽ¼fò™†º=íלä×B±Hû NüF5lPÃ,{ `J­HôÚ… €nNŸ°dWGÌ<ðçˆQÆ…+¨­rÎÑ-!«ŒSPäi€©z!õÀ-€JMSu]•ÿGÂJ»IµŒä0HF×aèfín_!ÏI#V\ÙŒ.`ˆ=×æ‰WFcbÛt‡'XòVÌáîE2²[ÂñZ'ª >J—8?uL‰!Õ677ËX\j‡èd=z€‰,þEó©0ݾweÐwž/t!©±žêb=Ü0½g­ú èmUäo‰Ý>òi¡¥ø×¾I¦}œ’‰L Ñ`:UC{µœZ•¤¦?Žˆøê2 +VÞÕP}’Vb«w2ý”\øêíüX$o‹½z•Êí &j i A·5"Ë凌)]†™Âx×Ü"aŠJšÒ¸XZÒ;‚'{Æ̘n‡ö<\Á±ÿ/},†â¸ô’ƒÅÕVþ¸ÑÀ.ç [€ß\O¨#Ê/Å6Á jÅfýlÇí½&F€²¸Í û|^¿ŒÿMþœî˜×IÒ )™cÉóº°x¯ªR)™˜âRäÁ Pej{´ bC9ÿÕvËwP@Í2q>âUP´€¼µ†Rͧ¦€{ÕÞ!1J$]Ç,Ž£’'Kýñ‚Sv+/“ñë“ñòÙjû^dò¥ÑY 6éÍÂL Ê…iÝZÖ¨8j²»ïS*§ÂmS´©åg—ìu ¾´ŽŒì˜Ä!áoÎÆN˜ÙìyrkÃï¼C•zê\‚°O +ðé×ážØ´7ä{3ü‘9Ó"+4M½9à€ª!¼¬a¾ŸW'˜›ºbPÑ_bœ\}OB¥æ•f(\•3¹[Ъ é\cq­4"·ª%«/=6uPÕn¦…éLâ‚ŒÖÆ™ïy­.­ú˜e˜¨š¸Ñ,Ç0ÒHRÃâ+û>©â w¢c&ÐufÎÊmé=:1í“´Ù™øµ¬!gîìz¤.¯¯ÔY8Å™©ÕxÌh`•½ö,YòÑdI{fO¿ —YF%·ì-Ò;Ò³\xGêÛÉ …•<Á­¥7[±j=:&Ü0ìMóꎾŽVඤŠtfŒRÆ– ôàù†»Clã‘êgG! +’ñçôú½+¹çáÄ$½’•R-’7R\PV$;Fmß Åö?×ý%v_Å.SÈpç·œZ ¸ÁƧ.ðmêÿÆÚÖ8Ê!ÖáO‰:‹•ÄaâP¢±mM= ;–ÌìbæQ–Τß6â«¿Ÿ<àçÚE Ù™*ƒREŒªÈœ“1ó¾â¦§)1 9ÈÔ¸°Î[y,ßÔØù…žsÝ~–ñÙÌ÷RÍ.:ø3¹°A$b§`ÌUÖ>{I¡k°K䊴-þ£Ì¢—TZ™CÛð5'ŽéøCðçb +ÌÛ'’…¬XÍlWÙ +øˆ >»žáÅE™ö¨>xÓF\§»jLŸdØ9Þ¾šÌngÓ ÉAj}hKËà2u‘!ך¿4EJð#]¦tdìÄ+£Ã&6Ì6—Ú{Û¤5Å÷h·¿ +endstream endobj 334 0 obj<> endobj 335 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 336 0 obj<>stream +ê&fÆŽÙÒ7 +â­ä¢qð€gÈCqM7Çâ~äyê FP`«8mj7˜R‘"T*(‹È<ˆ2ì“Ýá=м_XÒ¿æ&Ÿ+)¯ýºc‚®tƶGß°²Ë‘l¯›ˆd: C–D—Ì1èß4G9á¥ú ‹Ðþ¤ ´™Ú}ÏÜÇ.²ÇH¼)ï!¦kw*€Òá HÑT"à¥Ó1 ú¸,Ò»3æžDjJÙ+‹e3ìïÚšœC½Ca^u+Ä7´.AÄ¿šÏXÙºÄ?¾mx}ã1íÖ +HÊ[o•~X=´{Ý´×'Þb9Ûc›© ,8Ú˜}VÊõ­'Nµ\ùôh÷å>M…ët­ß¬² å=X¸ð™mIy4;  íŽenÜô`u>[=òWHj.œtêùÜéÙ¥ì¤ ç1lît?ô‹ôBà1§Pm™MÆ=èü…Š¥¤ºùC’Á0y•°£ï¹s¼`òÆ=JqId‰éµ¤:ä"ÜÄœó›„X«iäª)RÙ~zCÇÃÞ—–_+óx°N¤.þÊ×Û––´µé`q£E ‘´`´‰ ÌÀéûKη¥ .P>È,ßólx¢BJ½€¥½Wq®ÖVJÉŠôÆŠbí w° $ò­öHÃ{*z°±9º]0YoãÈ‘i’ÜRÿoP·LMTÐ̺œõÕŒÊ H¯iáñãïd•ªœX"9MrÚ2ndݨ¡³“m=5E?fÕ/ÌÖŽ"áþñÅ䯟ÇÙîêùØ–ü8䃀Id°íSM%â'ÿÇÂ3}Ôã=ïå¦ +Ó çá „CEò^ßW2t}m£RåØR]ÿXÚ‘ ]³ÙaÙ£D°@UKw`å4ÇÖÈÊÓÓá}¤VÃ$*•ot‘Ѐ(Üô­¼âEÏ/Ùò½TÛ]Ö8ÿm^:Jl¦öd†ë‘Œh|¢Ñ3ÓÄòŠøŽ¥Quú}¼ÝßÇKô*ùež$­ MMûgÚG ôk hXóƒ‚ô´ÑðT¾´û;/×+ÐåÈZæ.šªÒb¥ïëÜ;LrEv?<ÖIoɪÖLÓóÎ4(ƒ©j$B¼e:ÕŠÈäbƒ“=ym0kñIM v!Åÿ²R¯Q•²¨Ù:ô:Z°piä÷ýŸ5Ô¤\Ÿ ö©Âv„z®øóȤ}CqÉj†ðb ý®3=[æp*Áî.ÜÞxWB4Àc¹+*IÊó€+bÔƒMÚ€ç¼ Ï'¿Ã5xŒõ|Ä5Š«ÛÜñ[7”ÔñÝéôØT¨…v2ü†„Ay×W¡x¢‡vìܺàV7ÀbGÈnÉTZÒÀ%]µ²ç•0ÐÊ ÓšôÈšoj—.Õ¼93ø¨[À­”2l»RÉQMÝÓ²vœõRZvŽ°Ì‚3lôdä6RV:=¯®^ÿ½aè„žr(;qKjoà®û®É–W› ©Dr2' ’ûÞþ>wÀ¥ê/Ì“ëlEªsrÿÆ¿ý£ +©xCEŠw÷”f{ +Ó3¶àêYÕ®Z8Z(÷¿àLiðU²ør™‡Ç,^öÚÒ:þÂðkØUN ¹åÉ¿Ðß“ouÃ&­ù\¢Ÿ5Ëùl´at¡Ê(ðd‘ÖÎb/òØàxºÍ÷¬}!x¤c#¦˜á¿–šEj]ŠÌŠÁGÍÇØ=Ùo’ ¢7³½/à»+¦¯¸ ý:šˆãS† Ù }'á^ñu{¥F÷¯1Ihd>³ÖÔ’-È•KXhݯ3 4«š¡Ýþ¿èõÎ4Í/QŸCŸž: o,Å«ÈÔÆ,.eþ7úzÓ<·ê›&4jy ÉÂÕªö‹1£Tº¡ô&)Ù÷Ý»™J̨2%‚Ív´VËàÃGÀIh衧&ËqÎÍ6µ–[S¶[ÞæµÛ<ŠJ Ÿ”Ź“;?ñ4*ÑÁ D5Ü9€ò¬ÈM'v}Õ-VÈ#`YŠ‹äjÝ32_÷µOý`±§^!µôÓìNÈ8õm#"Wöæ}U(Pð!Gº ÓTìPõx‘o”ÿŽŠr4dÿ>€åP[ë[}Üâþ¾zð~”^ꨕÜmAÝ7hîp3ÞÇmÄUù 9‹$E1]'?)%½«IT(!QAì>–ÚŠÊNkYšõtRÏ‹û3£”ÍI#‹?uu0€UŒ•û+Ôé)þJ'±H3¼a7OÃJ7i}0epÜÛ=ÕR + ŒKMÉÌ<ÕH_åý¥xzÃujUBÒ”'jœS7#ƒ Gâ—žQ™[W¦À(Þ*©=b’vOúa(ÈX!Sùê°X‰²O¹sTášu¨îÄo7Õ•ïµ*TÓFÄõMuS®Ñ6ÃTäâ9>®hݬÖAeŽìÍ5;%¥+@TG4?ч‹C¼päe^r»‰¡¥5OÅ "ÁÂ8ÐÝßíU-W›úÌÛÔxXH%¼G¥ã«fAùKFUzúC…r,ò0è/'7`5¬èX¸zŒsïÃóØ,Äq—︗[Í+‹#Cß©‰¯s…~,<(Ø#þæGó7rGZÁf'б´eõz="¢õ`ÀRä$Ia1÷èYÞ PŒ-iãbôLǯ÷˜èáçlÎyñ{äÏ3èžÖ9ýþ è/ûaØ 6švÔ™ÐE.“M ßœ/¤¿Š:S¯’:¦¢(Á ‘mê/2cýhxi™6zËö}þË ¸ë›³o:&øc Õ,Ÿexy¿CÎth—Þs©hÎ¥Ó{NB‰¹¤€-6`êÊXZ:HôÝu/un•`!]‹ÓCéjܼԾCÆc¹ˆ¯Ãj’óF6VÞA9ÃÎÙ]á†9Ýöš÷vš£pCÿÕí‚6bW×åd¤RNûX€Mt®²ñFÄ9eøtx@Ûz …°¨¹!´k6àaý¸LaŠüHìï&rX[é‘gXV**i"WPBá¬x„½åŒwš% *:²;>âRýð;#û#Ã^wíŒÖ*°¢™$ax¿¥M2µ)&ú "ªû>»uL'#sÎÁdw!ŽDnY¿¥4ä¹ï¸Ö•ðž šbç½3š»$.?lŒÍRmlXú²Q(±0Ëi9¤«ðiÚ +]“‚òÇÍpn§j‚Ç{ðêwr‚:˜ +Å5õ¶ì¿Œò)ÎlkõÖ2ùøø8\5b¢ÝºJÚa?Ãí=·s¿‚Ý_#NižbËφÝE_¤¬½·yÃÃÅÃù°,r~éëåAü¹Ñ‘¾ 8½a}ý<3¹ &x—˜7gÛ,píïé=`¿+R‡Uê1ÝàgÞ@€„LÖy«!†M^FjãZÔ8=(ñÇjëvÍDz¿Æ˜ÚmhºÓ—z*kœ\´ B”TPÞèíÀþ~CÒ¥ŸY³¥ª))\Å?ÐxskÒ(J´#Š-Pþ· ‘ŽÑ÷¡RqªíÁX>ÌÎîµÛqmÒ ¡(&‹‰·#´Š Ÿ¹žÀ ‡>øÂ’ÐrbaYéËçœ?ÅÞV9GôÔ`; +®IØh'¾]±g¶½6¬®^’Ö;s±ì«¥IiY}eƒ¹Ý9üœƒ 8Ï7â{\£è:—æ­Ì¤È^ÛÂ¥g_±.ÇÆ–R`(ndXL+za¿QV$ +›~‘:Fª£2Èî³Ã»~}Š*÷) #‡_‡˜S–¬Õy÷Ž€Ð¯DfJi+‹¹Ž~ûUY šA^›~¸‚@Í9æÇ?(¾yÑ>KµÛÓAV Í6à´b¢ý²'ã@sÎ>\pH´W"·¢>ØÚ/½Ä…Fâ“‹ë|û^µÿÖ‡¸6zB{Ê£8˜hWÄ‹±¤ 'Æ( {-ð·­–HAû¤´dµÿOr~¢pu‡LMñáðX*¿yÏd+¬ujJß¿O àNÑpÙ%Sµ¢Z—1Oj >ØAËD§ &%c^Ä"O/.Ÿ¤9 +B"©öJ/Ž«c¾Þ¸·2¼e÷ZG¸ ^ ï(Š¥R5jëæÖ??%Áeôž¨òÓQš©ÿÍ¥]yßÍa,_]æf‚†ª…s#í— TÈ&ÏçÏèѳBt´¡»G'—+cÔÞ–˜L§ë …PC3€$6‘•DÑzªòÿ¶ +endstream endobj 337 0 obj<> endobj 338 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 339 0 obj<>stream +è+?¥sw½>xï8f! ¸J¨ƒ×(*vç–‚dp[¾È—ϡ¼÷QAflÍäÉ«´ŒyüëÐм˺½šòÛ4èÅdF<03±nÀŠÐ¸lªwqEìÚEz}YT’ûJ*Æì™Z´Þ)8w…Ö£Õ±º}—'ÅO“*¤Ì/’Tùî÷~Üýôø¾˜`š[™µd}†ÆË pûÌÆ€{·¢py«„ܱ{ƒÒÃøضG‰;¾Å>>Þ‚]ÙQ–Å ˜,F¸-šïOƒ×çÉ‚µúD&–rTÞþR%êvÚ©ùCãßÜÎ#—  DŒÜ1oáëà6â…ÔˆC˜M±`2ø>Hèb•ü¦MïÒÕåÃ<GWëˆé|!×ÐC–}®n–éh€¦®ó* +i-ov©¼6ÿÖÿp´gÞy,š!ðƒ‘e|F½—Xð‘AhÞT7œÒiš2,½p +/Ž#×jU²¢.®Z¦DghVáˆgnlºì)3ßû‚²ÄmðÀ]W©ô°©b<)Y±kçýÝA\WEž´>— ŸÙ~·@û†—žNfú[kØy“ýÉDÑÃÇOC¢~Àïk FÝ£«I?Î>I@¤† b[&ŸžÏóGE5íøPiç › p‹}8^fìlLýŶŽÇÂ}ÜÅ£Á Òç¹+S:Ð<{ôĬÄf30 ˜®s NFüݤdôC¶,=/ŒçníÄ V¦yBáŒü!í¡žµÀ„Ñç5ÎðöÀÁO»“ M È}œ+Í1Gk¤ø:lêò†˜~¿uE¶¤ªð^–²¨ôx’®ª•Q~ÇÆ'­Û¯x à•î豨æì¥GmVg +Ž€0km*› ANNªR箘£Ÿ™±ybd”ˆŠéî2+EðøR•ÊÂ;®=ƒAž†ûf·7‹iU+n>°Ú$xì ´6Ï™?{áêUŠÿ<Ï®â,2ÿµcOµZ#L?E”ïºÆtF¼]¤žô×*VÚWrHÉd £Ýæä}ÎFÞä“´ãÏB̃ïÛ~„…3‡v ‰ª°ª¯z[±pž¿§ÀülK¸ñ:_æ’/—¾5¸Oz¤»›qX&MðiêÀeô{ZQHŽþ <òá(KMî7C-¼‹Ø4›ZŽö;Rœ©‚‚ƒû–Ÿ÷þýÏ<³1ýÆþ¦§¿ƒv.·g TÀᄆåz.Žn7e>˜Úí…îÚRB›£ÄisÕX5X6îýÌùg.M)óO‚•¾m.T%‹ÝȨ¿Õ—²…\Z+Œ×‡`´*è~ô¢x3¨Z>¼a€šBaÖFþ_¸=ô¯°ÍÅ'VÓ¾<õz˜°LÞj WÅ€ÂÄ4‚ŠÇzà¤TFú!9fœ7zŽá‚Íñ¨TÐ/‘˜;H|}‚öy‡ÉfùXŽÈ«È]…vЈPêT‹$ÿpYÍnâÍ夋7`ÄuöÀjäø‰… Ñ¥Y:Pp”O™ß:ŽŠÅÔœlφwÿ‚Å0T Jò‡ +ŒÝÊ”9û®ïjbKÖ™Åþùêåò-p‚ +·±e)éH©vúxn¶4b$QøŒ«7[™I®þhGYôqŽG9Þ»* Œ'ݽcïÜ—?ä×ÄÚÐF¬ÆD°:¸›œÍNoÀÖìJOƒ3‡)MÐ=*÷`ðrãÅLSˆIBhöØžjûQh7K…<AåaÿF")ø1¦ÔéJ“STƒÈŠÍ_7êÂ;üLô!ljã9pž3>‰Þ7«o 7 Y‰ïG€ ziŒ[±¥µÄÅ)GmE¹èú‚—0kñK´€w'ÚÄ(i³Šïl§{&v>°SÃá·J¦örN“n~±!$©ÓŸtW– ]—øú.Ú§p¶{é åg)R Õµ8XGÖj¢´’|9í„ì¿:Kß"Kúž²àUyMÃ8–Kíåó¹!?Ü$@PYꆳö;sŸÜ¡mRcmš@K3Ô[–«½Yây•ºI°ÜDòÿ&õëIÓ}_w$n/–¸lÿ­`³g.Øþw ?ËZÄ­ðºÉ1ì™çjšwäÆ8{íZl>!ºº½àÀÊ›·«)׿?ƒK€†h¥ð¦ÔyÒ¾.!Éé¢^Mϵ‡ý&le!iž2Øê4Ó¦Ì:YH‰±˜(ÃÌüÂFÜ*¸_K>F`–ô¾Ñ8ÃÿÅ8ÎÐé›N5¼%¯ïxG´9 U±#–ƒûB…¼Û…¤S^­möG^™»o¨ž¶ë¦yà(Ü/øùc¶|§£uže“]ߥÚÐõáP3ÕS¹¥ß†D)°Ëpj糡^7pp–?—û!Ýý€¥|@<H[“áÛdŸ»X;W\Ï—FW'\.ïü’a$÷ Õ<ÈÉÑZ£"”úÏ8ôÎYÜÐÕ™LŠ‚qÍŒù $=_÷˜æé–+ Íaº«NÐéH½› žÂÀ–€Ü땉ÇMsk÷4èÇÏ:ÅÑ^åö™\±0I/qrÄ9ìÛ¦Ü]öá$ù€eàö®x‘%ðúò’A}òê$±õT¦w$R;ä–('Eà>ä™Ðïê&’óA9'¯ÎœðˆëbYÙ÷°׋´èZ#F@Ñ cÅF;Ò®W×ȈdÅ•>ïÞdWɪç¤ ûyP¢T*ðo´Nõç"ÈãÇæîÆöÙÜù0¯ï‚oX]³¯ßúPžb"”þ¹xÁUBDÝ+ïÜÿÈR{§ R•µŽUFX9 uÎXjElÈKaŠßÎÃÅ@'äÝcID[4ÝÔ“€Enàaѽœe±rOˆSpwļÙG7$Û=—kðh,]Þ$ÙŠKYP@.W!Ê5^¼pû|fëe¯Šåt0®“GZÍ«ëãØý›XkÛg—†wÐSu ýغØkü6Ì%r%r¼±öL I>e!›nD) „ð¦]üAÒˆëctR…`³éä0‚t>QIº¹ãnöû™¦ "ˆú=þs°º+él§Ôôé¿Üî€å?H€Ÿ^¶´sÀ– _¥\ZêM ò14=ØK³+ÍæÜ«¾(ËFƒ +…p󒿈ØÞÈ` Õ”`+µš5¦¬û´­€|­fN8Š îüDZN…†‡(µK7 šþFÜ'þgüþ%?0[nI±{tš=Sí‡1Ý?‹ÎJÌbÇHŒâ¼Õ8R%»î.¨»Žù¢fDï9²ÐüõÉœÏ~#Õv鿃žÇÞM:¸¤>üƒÿKÅ•ãèÀè¬ÙnÚ@Ê +Q5½ôh¥YPO$î,ð»´úÖ¿¦5ì/Ñû"dçS±ÛòJ¾Jä–’"º0®»MR©ˆ6åk¿—øvÃîw]]ÃŽ%®h~587ÁS£ÃLëƔԙt8:$w‘øNw[ÏçWVNa¡VÈ +Ë–£‹RàM¼>3.> CÉ;^ú‡fu…¹s†@ÌrðhýiØ¢в?Eµý…OÍÌrb:º½Ð­xOÜPHO4"9¾C䈛À¢nÔu„Ûdø‚LYNT—w 5ÍoºÃ?=Ìé‡dÙ"`æ!°œ7«£HZ••‘”ƒ¹÷,¸ª@'ÁÅÆ|™š©Ý²ê[~–„*,èþеõßMª$¸ß9c³µ8ûÈ9)Ѫ“ŒŽ‘ÎJ¡¤aq¥~Ô»à‡üaGi€f~‘ÙìëöÑz‰«FÅìÆ5tss°0ZK‰w—6jÕó£s[sDÑp>£®(7“&—Æ“ƒ­õ: ËÛoyÐß÷¬|Q=‰DXs‡œÙh•Å leè±!Bóó×ørðábg¥ø§‡ •ò{.onÎ#zZÈuƒ {ý·&ÒÍÜïÙÇÝ/êhâ°˜Ô +endstream endobj 340 0 obj<> endobj 341 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 342 0 obj<>stream +aÖy•w£››$Ž’˜ùyJÕ§gÑ&ŽbÈlo¦Þµ…뀉ë›ÎÚ^©Ÿkµ1ø› +Q«¯z¼¯•õ?ƒZoܾxÞEXÏýC“„f|T]ÂyÀÁžàh}+kú½?A½Ax5yáÐZ&iØ—3Ö>£~'˜Œsúëòf þàjPn³æJ¾‘Á +äúƒÚŽ¯áºýñS¢f”ÌIƒè^i™Eô[+Îí[} `b¢\jÚƒpCˆ0}ÀJéºíF«õ„†ÿ[1 f6·óQŒí»'Ü=¦)x9ˆ°xï²Ý#D ç™ZlÿʼnÏãj…ı_UÅ¢:¢B¾seóBùÝ·&¥©I#Hè û!“MD–Þ¡’À’ñÃeûœÝ땤ø4A08ùOÞ×ãlåÉÑÉÐj'Ö!<ÑÒý úõ£“:Ì!®m\{Gmé­9"l©´ÎXý,®bá#V?ìèò[éÒU¾/_þže(þ3ÍÙÜC\¦®rðíñ^¼p ±i8Põá+ÖˆüˆÚ„¬ |K÷Mga¥`Ez„éuÑqúÝDÌ°Hâ`«$/š…ƒäƒN™î1®É¡ V¦¥õÞ[9VŠk§Ï³|ν€¹˜G“²,_À°j§Ý2…©¢»iÁôÑ𓦹¯ÇôjZ4©´nÿAg3ï…á¤Rc(÷8û«è0¶q:!C4©¤‰Œ€âqN*ðÞ¯Ë<_Ò +Û™²Û[¿Ýí")õ9¢oÙØ›pÂ<×aÝëÔáú‰Š«ï´·dv)ÇõH‚öèùtûÖO6g¶zj«„v´mÔ¾Í'ÇRL[ cŽ2—Þ±SÃ#oNÃE…Z´ˆ‰ K7ù w”œÒËfÕâÜ[¡[„ä1Ã}^þÜxÔj[T…Yoº:çgôÌù«~™Ð”D† øïä›ù¿Ïkün×ät†uÅÍÖXPMýþ á£:4šÖÂC6z¥šoxüYè ²Ô²œvì-³våѦ U¹“±ðz¤îËœEŸ“,•õ5ñÎýB닸~É141rfEÅÃ4¦<¡ÊLGFyìþ£{mrZ‰ƒƒS@XI:O&®ŠÅqÈöè伃(3"Ëà"¸Éö1ÎÊÌà,Ä&r^¹c{à³l*³É­4º~Viôˆïn“ +²|Wzñ¼ÏÍEDÍþ¥I£Œ·Y’¿mžæ©Iœ+FÜž,ÒÆÜ2àviËõ9cîÛΘÊÎê7Ö¬fЋ6*ûŒó¸¤úŽˆ' [ÄG¼Mê=^æºÏ2^,9ѸŽä—D,)ô½s;5Æ.†e~©M³ Tɲ?ð +6²¦îãË!¡ÿiq£N‘Âý[±²^·‘qñº^Ý¿£ ù"`Swî½Ã¤#©Ë¦O{$ Kôùxð Ý —œ[í¥:ô‹µóœ/ú“j": µžžÑ®Gb>ù×ÀAÒ’c>.[ßÊNùµ©7&àRnmHvR›ô…ˆÜDÝ.ø„l’£º2:¿EürÖ+$w*Æ…ú(mÊÁÂ0o¾›—)ÕÞ#絈MĸNŸ„ãSì \ß]nÉçö·Ò!îUlä‚dœæï~}®Ž˜¹U7ë‚mg]ÚFJÇÀ¡“²Š˜ ±I ½Æ%Ï°†Œíì㌠ӎS!·1.Ü{~&!9HE.âàQq;¸*SÉjëÏXÆzëcOà„C5á*l´¡ûûÄ9døJ0Ç®B(ZéAr‚¿ŸÏQ±ðËßȑΨ£•ðgѧü(€>Äfó7;†qåc>õÐVŽ•i7ÝÌH`T o1ÍP ¯ÒÓ±ù¹9|µP.#,5‹bZp’Ð?R æÕ#ÈŸ<{mÞ_Å„Îÿ¶f†ãª½”¢•¥"%x3!ÙaZk1¡)âc²‚ô7‡gÅöCA£”pñ×mm¡˜Lù“FF–,[a Hbš5ï¼0}}ÌÌ Î w$"’þö;nÿ*ÿÐå*šÎ§!ýÎÈ @A¶…¿8´°µZ`@­ìï “`m#?øSSÑG´ tw)«Õ™EÇõí¶€¤ryDJ/ë“9˜‹oï9Ò…õoä°0‘"ñµÝg§êFi·¥c'+þ—l©—Õ5¦Øc\µcŠen–¾SŽ|¶õ³“(¤{²"Þ"9ø9cè3êú»·x£Z2œvƒžcçwõäuÒÙÕ +‹.øHXâfë}æ Škª›†Ä÷n,8Αÿ¥–OªêÆ(D:$`¨hU÷”¥]ý)æFòè]2¬…ÊTžF£¦—Õ-Áæ ;P †-³ê…eÖíná…ÂRKTºzG)à‰ª_í#ËŽ» %­ rsZî3ij3‹éTÕ¼Õ®wâÒ€˜¥#ÒÅq_®¤ï£‚Ó¢v[Ó+\¢`'ä´¼Þ¶›bŒêë#LÐÌ:Mo´þ!¥kÒÅô«Ì㲺Ðs¥v4ƒ”Ã΂XŠî©QGˆC‹§Èa¢é‘•D·N­,:rl¦ 8P† Õ2·&Ûîê&“ ÃË}68U:¸†ä§À$C*ü…UŒJ‹þòÖx!+3±Aß[nÖr×Òw´²³L85ˆÂ×䯱¼-<$³Ãæ|Ri‘ó‰åŠâ<‰ü2!£<ô;]ð$aIF*CÎô N–‡8„âd²’^û”Á_Ñ@ Š®&wW©þ¢î'Úš¶Ì¼›7Ó€觷Á¨Î<É.4Ä¿¥CöšrÊ <-´’O䮞tÛ þÜì˜Ôu¤+Ÿ¯|RäÛö€Ò6ÛDêš X0hàç”RÅî”ÖäMF€$¤Ó”ÿ±ÎÜ«0€´d‚…á1AÑviLúG=Šê[Þ?jjpyT·_ÁôÇ Z¢$!²«]Cpèqxýÿœ¦zv‘¬–d7’ðÖ®µÒëDð¾í‹! ÔPƒ›^Šõ€n}0¿t¦/iaFÆ8K¡)¥•H61Š8MJ¡ñ‚„ZxP=O²:‡¿³©‡IΤ¨ãŽ’ r|pC¾šýªKÐöÛ›"HÉF½âeƒ½êo‹JÐg•ª¥ùy?’kUÆÙY½|P•®G4qPÉT«áUÿZ#¦>–ÁÙ|DÏ‘Mž[ ]é‡Ò!€ÙŠ»­Ex¥»u¬ÿtCl‰e +‰¦£쳞?¡˜®åV¿ÑR3’8ЬuËBu§VúžóühóÕnï +‹H!|‘I7Xå=LŽŠ©óó?™äÒÄÄ#Ò€; ¤Û‘0ñ±| +s¾9ŸT‘/¤·ºžBÂœPmtÀg¦Ó:‚WõCÍ:à¡ó/ˆ8¯T^ÁÚ)¾Št›luð2@Þ¤aÕîR}Õ‡•C66Q‰„ ¹fS•„ÌEËeçDW–€ÉCÓM9Wß}ãûÓM XÉFTÿÉ…Þðø¿ÇZ©6æÓ|š\B긯¤HÒÒˆd–% #¬G²¸·ôVúW‚8}R—+ÊÐÉ®ßK'«÷œø?Å ¦>"»Ãó„Þ{»nQT¯‚ì?¬7& k[{?W†Y^Å6Õ1To®"o—¢, ø¨Ü){>ÿÊcîÕÚ{陫7ë%Õøõ¿u¡—NÈ7GÇ[xÊ~[½yP68ÏO#qØEòi^åµ^ ÁêQ&ÞÙ +æI„šÂÜíkª(b*P–œ"ïædyøSÈ,÷¼ÂS›+ +64aÁ;’oKd6b!x³òð÷ò> +ZDóÑ(î˜m·{Ø ÿ”IÍ™tkQur/çú%”ÜÃÀëDýc«¶4Õ8঒–ÖJH|»d¢Ü·†ãϬ ŒJÞø°ô'ß•„Ü–‘štî!׆‰…•×¦^¶åÞ´Öb)P‹|a¬ =ŸPÃ)ñqJ²ÐÖ ¸¶‚[ðOÇÎèªk·v·ÅY™‰QÝ>ûàhÈ[ †äÙÞ•·œîÙxŠ.!h~¨±5±ã0£É¹xsúÁm¶‚æÊIôC#¨N4¡ÖÄë>DœÛå‹-l—! íXÊn»R:G`¹LŸKŒéñ¥{[b{º9§æ i@”^‚¨*ö Z2 €ÍØðVÞñU¶Ï¸°q`Ì +¿Š%YإẔ”I0õ±®IŠ¦€˜ójô’Î.aX>Iv3ÔÖ±‘R²*÷†×–Î&É@ìšaû°a>¼JæÓ6öºy`·Wwmqd fãm´£{ +GÖÓ y2ðßñMûw¡¢Û* ŽÎÒ! +›p(q)ÊÚd?ÖG§¨Í”Éi¦AœèÚY-˜iÛ7 µð)¨¨„l“GÒù½]¿F>2O¥?Q¬Z¯“ ¤¥y½Â1,ÑJ¼Žû6”S¹ñm†î]¡«Å’9žfx~ØÆ-×_¬anN-,`1ÂþÉ€68L|hÚVƒ„¼¬Ît/áÌþ]&—Zõsž“_QlÖm·5âž Ö쾫IŸç«UXɱ{,‚àÔWE‘ʳ•rÅ&vÆ_…¿|þG¥q_¤¿¨p‰í’¡¾Æ&i=Î:ïè"vÌ’¡ 8óåuNDGo¹W{R«OqÇð;ÒЉŒ¾ÀnѳäAŸ4)UW§® +ݺj[WRÀ¤•.ÔU)â“ÆO¼ëè†ì‡¦°5¯k6œ%Ä·?¼†µªöÉ+>¤úȪ[ÞPë‰gJ+~8¯wèPF`p–ßaÙ=ÿs¦¿çâPׯz+ª©ïù7]:1(7í ½ì6¼;Aµ76­*o“ØÊ3^Á±—~çI÷žXÆ€ep®fhŒ;Ø¡åŽh`äwe%Xß»®d—1ÆCèŽxÂ4¥^¿qEט†J»•‡Ѐh¡a3í¡ª¶d +ðg˜âßÓŒÒSã­ú(?pº\ ¦Kæu ³Τ$kœE_Î ð°Ç¨åbEk #N‚XºQ>¤jŠ +endstream endobj 343 0 obj<> endobj 344 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 345 0 obj<>stream +K÷•ÊêC9-·–]¯©;4ºþÑ —^8Dà5£jÓ鮑MFˆ6ÿôîGΦjR³Rˆþ0šB4²Å æ +^”Oœ)9‡ (bÍú£'fÐþu‹`»°÷¨Ó’rÙ®oNµC'>¶ •G^VPü (ëÞ ÿ¾|å›Rý3”Yïqo„ÍÊKâ’Y¬•mM_*“\‘×ß²w+Ö+¸»·"ŠÛaVO>ÂÉ[T6ÅXUx(ž&#^-ìO>¿È—ÒŸŽd°‚{ÂõîŒ@%}R‰Éuäú8 å.~ÙÄÍð¸‡ûòs?.û{JÅy©²¦_8¶ìlg;ï?Và+‡Cme$þêÆØÔ+i-4CÓÈì¿ëYöCàòbÝúN=tHÓë冞®v¾jd`z ¬:Îù¥S~2=r”ÌfT#$áþìª_•üzVRûZ‰¹œ¬p1þc Ku#2õ†,6úBÙíözØ[ãâ—<Æ‘ë³k"?HPTb œÍïàf”{ëeA4oƇnÆ0³0-HøÕ|YT{"…)Îä†23¿¾ÏB[/„-4,²nÐÜä:?ì‘/éÃQ#MÅÏ?ÅŸ‚Y˘U$OUxnök¤·ê.îKUŒ§ä¾I´ !ÅÅš÷òÿ˜LƒŠ!Y¤ã“™¹ë¯xL7Žõ+Þ@øˆ¾›×Y¿¡•(™™bÒ7ãH> br\EQÚ¢ͶI|ù#Ivö¬ ëŠÒú–©ôG®á0 +*Û±H2qòtœ…e^:í–XÕXyµÜ¤9Â…½gË^©Øꋳ¡µSü|Ó¿íöó°"2ø.ñÞñÏÁ$Aùõ€!)o\.ˆÓ%¯'œìs r3)ç™Ôštmí˨ähË¿-é-ˆ±cqœ«ÐãV`üY±à—U4¹–˜\c„Ì}åMKU¿¶ˆüz²©x?* †§§ å׶ø6äæ*çºr?TC%EQþ\÷ý¤vu¹¾ [›kØ ',5­ êQµlPž ˆ3çFºÂ\]b«LäYt‘bò ”í€0¯ä'óœ2̤øG6‡Ÿ„D9@¯ ‘ 4Üê=3{}"òp* <èYÓÕ¾'N4¥"~…CrEAht0ÅÉzjø÷F—³beT?Ó¡HËLG`Qyc]—c÷ÉTÌ̘HD’þŠ„¢}ýò#Ô€ “} +è¶ßb!òÇ3\JvLI€†WQŒÔ¨µ`ÛÏîqZîdlAÎrÖé„%”Ø;˜w&â?SIÑ6•.ª¿¸Ÿ7×;ûðD½œÏ ˜}Òî5íaÎvZU}Ø7ãÚ‡!ƒ0÷ãÇ­ºëifá '±.g×<1µøÔÀeW…*ÿ9Wk+üÈs)æ‰úE4³ Õ4çŠñ6é<äRt”´é.ÃËÖiòÆx®nùJbÅà”ÀƒF¦ë]×Ði(´‡ïÀK‰|áŠlQ¨‰Ç,B¥4o}Š`-ˆð`Z`Þ #F9Õ´?Ò»Ã;ØP÷S%ƒŒfùxžâ‰G€1-Üj‰e‚¬3`^ûreÄÞ㻄[²”^Âõoñ>ve](L*¹Û&-áðh5*::ÄÉDÞ¬æŠþï Øø-À°`ÙT¼iÏ)1ÐI͈G&©°üñDåÿâ³YjTsË1!±Å'gåêΔ¹ŽYKœ+Ñ»w‚akÖ›µ_”¼Î¤Z©LWm IP.¡tXT¥©miÑ/ƒ¦àF6×GëW‹¾Ðhäï&Ï*ƒÜÍ-ùò‘í·„œ]1Æ5Èo:Ò²uÅv;?xж?ê ±—f4`"dÔßÌعõD"¸Až&6Tƒñ`çíäãäå'<ç û}Ùá ¼‚#ÙòZ2âj}÷´S*Þljù$öùI1‹ðæ@ôÅHà´v›/Zû„Ka!ÄT.®õÝ1½|+û}A¾/‡¦‘Iï¿Ÿ ÞÙ¥²¶Ñ»:pÞ5‚bÔn‰Þ´¡Ó‘{8…©¢)f&–2¥ÔtÊ> endobj 347 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 348 0 obj<>stream +oŠ£Íªìý›Ñ|xЗÄ>{õ–CÍŸ%Šìvÿ þÈŸz,lƯ¬0ûÑ„Ò&#¯9~Sí¼¨E5\=¨ý‘¤‡«ÌøLz©ÖÝeG­P‘—¾ƒM6„x§/HÛpsli0ºBF³ çX¸/.Kܘ`×<Ëm¶èvn88#>Èd‘&§ +eÞÒ”8²µ¶”Ÿ$8?ËÊ×û¶Öí?#©°#2¡‹™k,Z$•¹îÊ€ VÅÊÓ÷ÓGlRÓ0%ü >àKµÁ\%fÚ õ÷ÝsGä‹Ñõñª¹Ó¾G­‹åcÖÑßh^äê~)?˜¾Þ8ªš‰·eE§‰h¸T@™¶¯†•&¶Ž¦Î¶¸BÃå¥úÛ>0îLZí-#¼OžfZ©-ÓëUM%ÜöûŸo‹8 yÌðôâ§zð&~q=[’ÄYGÞFò ýhNb-ð'ül›L˜µ´á’…å@ffMàЯ#.à É Í¢UÊbÌà] ƒª€Bÿ>¾y[¥˜Ûãé5ƒ lÙX­È2Þ±†Ókê×™Šæéé…×Ôø¯ =]‹f;N˜Á…„yˆ ªŒT³8¹ï ™¬‘a1´¦þX[e©aÿú©*\¾ìaõºXmkM+P<{°ñž°ß$ûæ%F{è +Oäöá3p%sÍÁ¥(„Õ;9-pmÌdMÊ Èaza¢rV?~Ù> +D,ÊÃ^CfYïJáo;^&í%¸+Y3iÁ›ýבþ,5nÒü“c‰î-¸Ö¶¡ˆÏò ôòvü¹0´éáN<+r”ß«ØÏ+ŽK +«=zíÞ,?h=Kˆlb½dÖ®‹:s¬”,—7h¨·I-)#ÈžÐÉ?)aA´oó¶‹jC|zÛ(ÈpûÐÚζäá“TH&%°ÀwBïm×dzäxé$Ãü—C¿e£sO7wÎî–(G¬·J9žÑ½¡‡&À_À{{_4,G„'ÙA±hÈFO@‰€/uA¶hòÀ+-§í¦‹J5]8K1çKqø¼ê†³YwäYŠ—G“Ä *ÍsL†É¬zlN‘òÇézxÓB +ê(n½ÊAn¤Ñºß é´Zâ©v$ü47¥z•,_“Ú9t˜ÃiHÎ[ŸD_ø¼äàBªˆ9îI åÔ÷§M‚ë½gß'EèÓ-*mî‡àI…¢Òt‘KrJÉ¢®)!RCZ±Ì¨ nBo ×6©%û<ïÁ.Wþ²I¯Ž>zH\2ã)óÔtõäÉîÉ…z:£­ +ǽÀ,6—6×µP9œ™­Ž;ÕGl²^8 á?UIíÅ—Ž …¯r¤µCyÁ€=Ía¸æDÔÁ®÷ æïõ"b¯!€ÌPøI#@Û•(üR¥ê6‹éŒG/ ¤”û<”ô7ï¡øØ®˜TËÏâç¬é.¥ÓÁ£ ¤øÃîQ.è­¹ó¶¨æuxzï‡cW™Ùô³:idÔLIJkîÉÉ{#Á÷…øuѱÞÍmó¾ˆxÒ'þ…ÀÓÌй…ÛÂæn‰È=×’™:üÿIÖ`^·C[`$@o§Ñ#>_ï˜ö”JÉuHW2bX¶ ´¶(n¡Ä é(_Þ®­+ÛA,îøEdÈëKû~õ•YŠÆlŸ{æ»z;@b¯¥J<º>¯!îrd§ÈêCS÷WD6ÅãB;ú£…Um +¤dç×jü?êÖ"WSˆþûgÐ×8‘€‚ÌŽ”8½)ÖàŸ¿4!WxÖ*†ÍBhÔŒb:Ï—óÂê ³¡òÞÍ´Í1•…çË0~–ñ±kÞzàÍmêúø°§‚’gM†ÚšÄÞ÷Иͫ¸Ö]«5öyIkü¦àT75Ù=IyàíÇmØE^õ%â?òí“ í7ÕºñÂå;"}Õub¡~œ sÅåÀ,¾$%lÀUv£O…ºm5˜û)_q ¬árprÿ³Õ üqÿ}©z;åvWfuo¯ÜmèÚB ˆ®S·“»À&é™óÚ i|«œ^uÉóhÜQM£îl<ŒÈÄ­¥Ë=k|»nÍgõû©ŠS•‚JR7×׬ÆÀ=6ŽƒŸ„ä6jĪO·þõj•¶Ë<»•â1O2÷‡t8Å?ØÈ÷¦Ä(Ï<.;Ór>‘8öv’N(.Z*DnL“êû6 <f9³W¹MžÃ¶ûh#æ~a™†!Jç»B8˜é¾Ã9ž#JA¢³ŽV&‹’¢d—Ï°'þ-/M¥Ì„j¬|PX[Ëð+®8•2£lX΀Š×Ý 5/TDxõ0/ +©9/ w¥©‡Ôëú8÷2%-˜™¢_ ùxÖ cwé¨õo”GzÃŽc¼ÝPÿÂ<'°ø¤Pü_ø±y< ©LÿÒ&DØw³6CvaãMu=_¸¶ÂDJ†œL‘iÌ™‚è¯Ç±*R ò3ø— ã HÝÝþ¦ÙQËÌéÔÄÎ5OnÍÀŸîmK%üík´ßöŒO¥„ç©‹Fd¥qïPºÙbH£.Ó%¬ž‡~Á¢~t´¤" ¨Í8¶£*½ºYv)„Ô|C`!+”’æK`¬\@žÉj!z8'YEËÇËþÃœw JÝU{îÉE³kõ7ЀÇ5Ê6¦-"K¡´ª¦>ì.œ"*…L6oÌYú^çÈðV>öT Û +®oŒÔÙbËî,a×¼ÿ¹Ð¶4WèÐúfñ óáÈH»®üüÞò•ŽÞðþ)g'@ï*E%PU(Šs°ÕÏÁöj¥½§ÎCLeì KÇÉ&®sYôá(„õീ9—ƒáz¬3­ueìJåCÏ1ãÓ:µã‚ý%\zZ±a¿£¡$Œ£lÑà6Ànyý~ÔD«e[$ +ñ*²Ê€ÜJYÖÔ?ž\pã'â1½ƒSOÕ.Fx¿ÿ‰8ÕÒ›Ѻ £ý‘2q*@‹HŧT.ÇG¯|"âÐäæÀLƒ¸"C”Õ-148ÒzhÌYÈ ôýÌûö~)÷åßU¢«ó…ŒËR2RÿxM®êßÒžñ‡ïf¢z>·´ÃÓàãÍ©âid¦tóø"€æ?#K(6Êiò­HÖ&Ë6ÌÌÓ5ú}"mÙJ—+5=vå¦00Uë’´Úåº+‡ô¦¹hžïê¸è‚ŒBþ*¦Q_k¯~®áðæEf¥—'êi'Üø,½ÄÉëSüth lHf~Ëg@Éö—E„ +à˜˜¸ûƒ°]ͯœ¥‘Q7%ò1¦Û~]W’0rD¬ÀÚ>WõTš4pi…5žE¤^r¬o ëùm仚òd7V] +µþ!Râ4Á¨âi‡¶>Ë À—úŠÜР\•Äà\½|ée÷Ú¸÷î–µíãiý —zýb*;gM¨d#zºZl–.q­QÌë(öóɶŠ~G·±;óÑ9 ¸¼¢É!%2/TÈt&çRÆŒÆxÿDsÈo±FÜ÷‰õËôBèáu‰£C‚Z´K§˜©Ã³¡ètg–­'eAûp«Mœñ<º¾„ŔѢ¡€Ú _­ïA3€ò[o<^ÔL´6ô°1k¿Œvn¦“«)\+jŽãS³_p¬k·þ:-5ÙxÜŸCþ‹Àñ#òë Œë¯ŽîxD…P%)—“ÁVýZúÿ5$¦j²-w:bC(jJ¼h¯¢›Ký)(íeCye­Ùå£]¿Æcz5ÞNµK4XŒ +endstream endobj 349 0 obj<> endobj 350 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 351 0 obj<>stream +q®áÜñm–~ú +˜ºÚ뛬2õ…YŒgÛ@U“’©'8,Þü$$·).i“jš|bï2þ5û~2Äî[Q˜ü|Ì®R‹}€žührö/ZT—¥ŠIÔ.¦œ™ªH €‰nµÑ¦š<’(« +â¥,"ìUDb…,j +JÀHõ‹w‰u‹TMÔsb‹$U•»-¦xôâö‚`‹ÃÚ&ƒKÄéüxȉ«uü´oV"¿}'`BvÂ^¬5“¸˜Ã£¶üËðfR´²›¾ÓÉÁ®ª.KA»“ç\­mŒ¡ß Ž}‰ \ªé+ž}R¡Î—\7ÉùÒnõשc=ƒv´³ï¥mmÑÌÁö + €½ùÇ(„© DrF2ò ³󶽀8YáÕÐÓÎþælT:äi:¡ÛÆa–Sל¡ÙÁêþâ À°É’ešÖ(X,¥y.hûÑŠ«d*´x¶ØÐ^æPœ` +Å8µñ}&÷Ú‘ÕÛ–~hL‘œ –²Ì¼@Ÿš³‚¹W³WëÜ\¿¼ôªRÇ¢`Ñï.‰SØX·ßur­`ûX§þ<«KÕ°XUÁt«Æ{éÚâÿWf’)ãEz­U¾™…KýFÕ#¡ÁDê#Ðitø3Œõ0P“Ë%,’É8{"e™œzj™Á÷ !idÑHWê ±h³zI–+Û„äæ3þn0ÿö‡b3ÔÅÅ+Ö´Mÿ Ré [_õ»lœ'áô_ÙUð@‰v£aºÏ—ç=„‡ƒ¸Ð µ™ÇüVîßè쵃©.¹áNÛ[¡—pB³ .â. ³Ž  Aµ†—hÆ@ ïj8Ç—3ãR[onØKfÙ×.wr:Øo…¸±‰w3Ï@çñmY·<Ã}‡%ú9ëN£6yÌ1Ã8à|’8Ð¥ÿ#)ìè#YÝ>öW‡ë¬AF9rß(#|ÿø”ñ¥éÞIÚ'ÃÒŠŸ[ÐÁëÏxp³“4<+|ÙoCu¥'ÒLÓH¿L9¸~rÐUœhçЄË¹Lürí7óofàü~*?ˆ5›h ðªZ‘gø‰Iˆq´Õ£á‹_é…úÚ$"Ì:p7gAŸ{®*1ò$Y &2`&|¦µÒG‚(Ðb§m­až`n u„ýŸ?ÉÆ©Ó$Ûö›S®"tXê µ Í]‰’z% ܱHÈuèê@¬‚1SÓ—ÕæÇLNDú´‡Ø0{øZ· ¾Ç¡æúÄÖ”‰Ùð¸Ll¥j­XÜ\‰;´æµ-*èZŸÊ•¡%É’ÂÅ6§éx5.À›2@FjÂsè4`4f"Ÿýp3o¼käºì@©aP¬Ï/‡®íÉhœï?¢õ[Ò FKò¨*±.|)ð*Ë1_=*íâN¨'ÁÊ|÷zš¶_µ¬y,¯‰vþN— &eünºJ0%}ãgÎ+]#9ÓA \P­ïfÿQª ýH^@Ýq-3GÄ+ÃÀJUfDùÿoLqˆ p‡ LS0¤ä³€üé!¸{GŸ_¸_ŠP0Ö´@ž<«‰4 œ&FŽ?œ>©óËëwµ•šF%)Íâ +Ó­£‚„`V©!Ù8.ôŠ¯ŒÏò³qÌîÚEæÿç³ÖΪ©Þ‘zˆ"l>÷_ñþéWÞr"Bù9r˜ÒÖœ¦•ÏPÉ ¿D=xYQãﻲQ®¶,ÚÅ e«Ÿ¸ +j*èÛ€Ágˆ£±Ý/ ¬GM _ô"]†.Ï+b +±_’ÂvêV¼\||$òY"ŠUâ›{D¯ZÞækƒ%¬ÎW6a;ÍüéI—›` Æ´_tȱ~‹æ›Ð^(UÜ$¡V\(}±X¡¡ÜbˆæäŒÈæ_§ »1åˆdl<3t¸Ônbç6^j:& +­n…-òØ:€êfü€bݸ½.é%êyvžàøpS‘ÿ^éR8k„Ì'yñ&¼wfâðƒ/E1twyÏÐPv¶ËJ%ƳµA3Änÿsá"0ê0;±B^ùÜÚK›4Ù5¬yÝ3¸g[à­¶Êâ)©‰)‹yP¿tèÍÆ/[,ÃñKÆÝüƒÿñÙOo‘÷µ Ö>šSLÜœ°?gÈ{‹­šñóå¾w•%Hv·XáIÌÚåt2‘NŸ¨Þ +m7ݘôÆd$óx¦wT”³‡Ä!°+¹ûge”_ ¼êïlá0PhßCŠ«£Ï¢ÖÇ~鱆©¶»/‡9¥z‘Å|+÷RÀœç‰;¼‹F +òêgfCjß WØ` Cr>XôeJ ‹IÌUf±tŠÕû:œ/jê⻸ÊÀ&sûÑÊ&Ïn”¿R¥^&–¶qœeg£TÊ,…þÍ>+Ñ`‚ß=gëøìgØØÅV¥›ø= ¡$[ά›ƒò¥’éÌ‘ LkbÃ7L‚¼4Q•Fíó à Zd]xßRK†ûèûßZðR'«jŠ©û‘Óöã‘{ã|Èa:o7ßv1߸–>Ò.‰{X=ÒKg‰~S´¼œ5Ê€$Ñ5OVÎ+ƒj!9âͱʸ5™ÄÕON¤RDsÜÿnôµ XX#©3ÁÒöôŒ1aÓÁpÅSO·(…ìö¸_Dí€ÂݦÈs>ú÷¿àß Èíu <Þ ÚËBÞó`†[YuSµCy§M!ÈgÊ÷[$ß8PVFnGfae–†èc0ЧÓ_ÜpÔÝñ3EÚE¸öÓnO RtÇôôL€ã¤~q‘ˆPTCN†¢8W'®Ù»‡~ú¨>À|œ,ÙŒ<–ÓÍ )¬i·ó?¡Œ2eË~ßïÂãu¢Ry»›-â˜:ÒX34Á+ÀyÉÝA7Äf3m[k¨³ìçWPé¢n¹g ô?}GU‚@ï^]üšù#ë®ÙöLën;¬Pèzî@ˆé‹±žB;[‰ŽÎróU&ˆC)ÅÑC¶¡LŸÒ_›ÐÙñT²VgÌFvËP^¢kâ´ß¾‘cºÊ¦B—w'Êíµ¹À&{€iNW{½ÎyƒülîRéu‚¦P[ÂÓi;ªÒ.”¶:[†jI—4"¨Ü“™lQøÅ’ª†ˆ”#Mßy‚vc½¿1ÓÖšô­#QAþŽÄq•Çýµ’*ÏhYë¯ZK|¿X(iÊöG8îükplªø²;xª=Á…‡À¢5í’»”K8Ë3ó2iŸ +¨¤Ö¡.Kç8)Jµ˜`‚)œ²„YÜésà’oh~ÍHî..°|Hš’×¹^D´s&A¶Ü ¶Üeý°‘ÝëïhÙxŠ¤µ>ÐŽR”øX¾P×3î }5éË®‰Ï±îv…‡ör«MµðÏÅ3 +%¡üq±¦Œ¦ŒÛéR`¯™¶û<†ˆß©s@àÕÕ¤jyõ§ÄœÏ ”]6O$â&"€8›‹ºfúf6âãbmµ8‰¾OÊ«ž³ÛHìWQÒTŸ˜ªUˆÖW7µ‹ó,›àQž]úCÂÏ©=°Èq¥ ÙdÒP’¡[°ÆCôœ)aëù¯5*i•À)SD¶çMS!”o¡èS^²LÁT‡øŒYm ›6és(œ^eæ·RMµaRÐܳƔWåz÷º{6ë¶áÛ·¤;GK•<ôUŒr‰x¼=zOõËÔÙu‹óú‹ô§aa5¥Û,•é²Vf¶<øج3â­¸ ûà¼à4,PVÉ¿ôA}uwùS¤LeŽpª0C±Ù×Q%UÔéÀV˜tÊu"|ûU/â!Z'Âq¼XÌ 4ÁÌk$·üö¡G «Jg¶^Äà¸xÜ5®=ÕLùhÑ+ b²ìA1¼š Ö\H(ÜôGTsXYr͇¹៲X Ãȯ< ådI¯Žˆ#9N“Ìöˆ32ß#x¶Þp6O…?¡×Ö)4Áym/¢µV7èdV_¶¡NŸê Šììº3_s» çv–Ê€*< v¢¸›õT¨]sDû<Ëï$Óµg„uÎ$ü™œßÈž“¥&„«ŸÖ,Ñ’ªA¥:/Žüý9]:m< ÿÿF3õ±ã†6huT3‚ä)6tKvÈgeñÉþIòPÛFBÄÈÚB¸¥Å@«Q]nDäu¾Ƽ‡l3GwC` +¡h¥ÒBþOèaü™Ó^Q²ý“1‚ã +ŽÑlûRú’éLxËu[ݱý¸d<Íí +¹ÓxögSÝ°ÇbÛ.·ÿzb· ün»°/á×ó×Ae4·¼¸ª…SæPÍK¢ZðE3éÖý҃ʸ¹Mô¸UVBÊLRG`ðŒ%ÙéߟÛ>¸ú”­…Õ»¹j_¾µ@RVŸË©~nÊÝ«·Å‰[ªç?ÚH¼üTÃÇÒÃÄööýB+l*F”w|HF‡Úßtœ:íCF¨³ôŒ†ÇòübÙ’Þšc‹È8vøÀŠJ‘|2Xš{,Ùª|(òyìB™$ŠÁÐFK*Ý*ûàÅx0*d•½ W2˜F¶ïˆ"úb‘U`|(“Y•é¾÷iÙëÏ<ô m>‹ˆgUùaÚ°»²,'å•;!f+ù\ºÅ‘)Žð)éôr5âð™±}ýµÍÏaNžÛö·sFó‘W*Ú>œeU-áÖö”æÉð$é{¹ éÄ‹÷%d×uÝL­A7)vKwÝ…œ×y +Üt23ÀÜî—éÚvõoÐCÓþ‰Ã+_Œ*.œÏLV°$p¿j‰>©ì&‰³à蛌ë‚ oghHÓ•hÀÑ.¾–bLod쎗·1<*)Ÿ²šÈCÏZ¡`l¬á¶áï´šY3ŤÖËQ6è/ÞÁIŒ +'#¯Šæ÷®«#Ì.$¶b‘±ŸC¬¼—Ô“J×¹×ß*ueÚ§£¼À\/Ç-Ò@U‚- ï;º›!È@\+¥ë D¶g°‘tí"ÂÜÌCj\=ýÙ¸Ar O£QÞجJSÿê¥8°6[ůš(pþ²A‘‘íSÓ&¸ [Æ?×õµ>±1þ&‚ôÙ‚óœ©M606Ê*½»Uq¼wŠN,ÏO9^}ŒT‹eõ#Û½ž–Ù›r(¥!ݼ "KçÕ›Dœ³$K–wX´ó>5»8)7ñ¾Ô9>ŒßåqÚ|=L…T…}ùl–6ÍÁÖÊKŸíæ&ڙݔÓ鸵’§êÛÎÀ¾-L2(Â\ªß÷Ä;&Œ X[å(‡iIz dg¼!¿*CÞúkq–IëH¤ L”Ý +¥¬jÝõaÍËkEÜÄfªü¼ãÔ”le|ÿùbfBtú%\%NÙî`H¼ïʈdD-ÕÊ. ìÕÑ}PÐà#-Î+ã°@¶ªëЫÀ4ózá<¹OÄo¦)Ë(ü£\'÷)is:³³6U4=êëkØG`ÊÊO­` +®ÄEî¦1:$ˆ›óŸà +þ åÎX áÞ +4g¨:´=À6|iSðþl}ãɵT¾ dyÑòÀ`à ¼¦Ur Á¢;vdìí³®æ +÷ên£f5„¢%Z_Šã\ÆëL ½Õy@%ª üœX¶ÄÛu Ô„ô\nøiãNZ@솫9b²ÑzcÖE•tÙKç±±ï¹Å¼a.èr[îä䯃áÊVKå𪫚ßEŒº`àíá+±øO•Ö¾GåI÷—ó{Ç×–ïJˆnu¤l éNñÌ¥º¿—ÅÃD“¦TéÁ.rš),äú ©Ba´3ƒ#‹ßÔwùd|ð# »ÔfãÓæз- ý1”Gö±BAÛTAƒ~΂B kð½>’íÁ H»•É«Yã 'ŽÊJnk £s H~²KZ®ƒñï?þC.´ÿÞÐZáÛÇímçôó_ôð+ü%— ˜Ç_> endobj 353 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 354 0 obj<>stream +lRÌVX'&ÿa©í2åvãÞT‚ˆ6Ò¹V¶}7‚FszÎþ¨„€\fýc+~_VbÆæôÕÏ•’U0úÖ¢u8 ø¿Ü—¯PÚ.Þ`•a"…ê.£¥jw¶Y‡N´ ‰¥U„\žÍ0E‹›Ô¤ö/SìÅÇ)FÆK>ZŒvAJðìL¥;höôòc>»Aœú1]L‚*SDãPS"¶leæÓIìÏä‡Cö(O +„HCê_»_œ" 3&bùo³PDe7%¿y~ŒvæEenh{)®^%(,Dp²ª ¸&Pá%ÅQÍi>ŽäÿPo²DøçÝ#´^eX2]/§x›¥9¢‚ öŽs³Ø¨¦bú¡ªÿþpžTÜñ½y­áaÝ<ìv:þ‡(’™éñØÍ« IÁ-©kq•™ãb±êÿiŒ·ñÁ?¼MF‚8u”%º&dÒÈž—…ñû ¨)=×á›3‡îV¶u£ …•n™e0?sBp Að+ï¯+ßAØ÷eÅ9æ‹, +³ÆñNDrœ+ËGÆŸ·É/IXó-Z˜è˜´â +,¢\Kg³´¦×»N:½ô–¨¯ãµMŠ€À !ù…Ÿ€dý½ìÎ#ö,¯œIüëMVÅÀ"¯7¦÷‹‰1²çtÐÅå[)&=ƒŸªÛܱ¬7¯ÿm_šðWòNå•ž/Íùj±T*ã0ž„Mà1KPs#_±YSo 8üCÌŠ±{pi/ V<2ðüÔ3¿’V½ÆÁÏE}‰)S€¬Ûú1‰Š£•ÕûêÉ¿wa ïc0Òº%dÏùƒÂKÒVÖײþ¶QùÞ}Íÿîâ“ÕÂ''¯¼SÒÉbر¾YiþÍÅ0Îè/¡Zå1jz°$>åQ!q7‚}†:§¤ýÃH¨ß@Ötnþa»“!ú+ÿa»….$JdGæ ñÍ©·ŸÚßñÈùñ/;ý½±œÞiý +íRg)‡e'ñêHKêi«/ªŽòT¥ð«fîIãÇ­?m¬Ô߈ÔÖÒ$Üïã¶ñœêý¸ z¢  jÙŸÅg †”†R+ÝÙ$*þ 4«ŠØ1ª0à¡ærº)½ºúky}åð‰ëEC0ŠS¬YDÊóàNl¡ù€¸lOüõÒ&°ZlEΔ½éXC"׊øX(èGgÜõ…6ôܬ…+4«ÿB¶:͵CП†óŸ#~ÙYæ?±ÀÝRÞÑr7b“VÀòQª1°¶û-VƒDéuÛ—^¯McÄïZc¬FpçF£Ÿ‘DÖRS‡­‚œÄtG‰ë©E¢Ôâ‹üœ¡'ŒdÖ  "Sa–ös'xsžH9±CÄä5)|))œÂå1®¦N°éf,ŽÎâË¡mônéƒñ1”U_ÔzEOIY«‡0àòîìXô°õwB1cgX`f>¶É¾29%e/Xêöb@ÜòæGÇê²e!"LŸp +ض@à‹4öüºQrÀZÁ³S;}·ûá(Ÿ€szcN6çjà¾çM½dc÷ËcQíQ$w"zèkkÚÍÔÿHaqq¶@æ.4Ùñní›7·KÕ8 >eLÒ_1e8Š<Kôºpk4 +üᶚ‡¡m¹b¨%>­”´ÁÖÁhTÔÇpg(€V™zBY Î>Þ²mÄäõÂ[ÌÌ—pߧ9¾LzÁ§â>øƒLt„„9P­A†î}6d4Šç$^º›Op‡…‹ôÎ'Kj;_ž'†¹­ã`öt OnäºÉvéí•€(„«ñ>+ÉœT2ñMÈ‘mïµàw'ÂÚÐ7Èîkbà„ %»²€ºtɈ óö°4uP)_L(§J«-|=ìY3X‹bbCâùaˆ@Dæ€gÿ뤭Âz×ÌeÖôG™˜4N`-çBºn¸¨šrŸ&Ô ÿ Hˆùü=‰ô.^ZçZûÇ!WT?v©c™—À…˜©z$´„CëÈ'üŒ6ëú}pµ,­¹AdW»ý—ÊbQÅ™@§‰ Ylº¼þ]%¢¼<˜Õ¢ïN5š\>ÖçÓ´ç`¤‹ ¥uñÑUÐ÷+ ¾i¹ÜñȶNâ˜[RX$èÏ”¡2µ•pÊÄ’K¡Jó$=d#¥æ*íY¾ƒf©¶=-KÙ­ÿjý÷YS-X‹±4ˆöÐ0PßE.I–¿¿^KF:’êTQž «=VQC—c¯j$"ZŽÑˆ‰÷ZhS>ÉΠ©uÛ}IH¼¥]„ûígrŒPÂÕ JÀËì a‡Ú“Vs¹ÙH¹ì [e‰þ þãí8}t"ö¿oh véV0 H]°06)Lç>Á¹˜p‹b…³²Å–´wì̀ɒþbw È´O ia=Ÿ—¯7fqÚ°+ú·õˆ4ûcp×ÿ`c-¯œÆÍÔh5µîÉàz+Ò²ž”H ÇÕª;#Tj(e®È{ ÊÐ8r Ëœ­Cž…-sŸ9®i]Uõq’¬ÚGV]¼åïN—kÙÖ˜DÅ\‰«ÖUZõâÛý©O+Wš:•®‹.£ ÄŽÛG7Š¬SlϘ{wpTö•²£|ø\ë~sõXyí/ĶcA·V IQi·0=NÖp8‹éý¹ÜpÌÖ5Oí…˜’ Jû“ƒ<1y*ú1Þ•nG{µà¬¶7œB¤ÞKÑýÚižX÷ÃçEµÅ×Ðh þ–¤n´]–ŠÈQÑÕÏõ³e·K;•xj•Õû5:V +f …Á ÙÙú›í°_>oVM3ëèìl¡N̼~i‹Òe³·¬¨^g d òÛxdÙbÍb\ˆDp«¬0Lv|vh'…3í[v\åÑäQ’I +=g뫄 ÔÝÞ+pö„BŽÐû¿#¨PW²KFB¬Þ‚y•¢×lk³§ †ò—Ý:ÀŽ‚+„|Åyô0˜~ªfZ4q:jÔIä?Z˜¥—(ø›LÉ#l¾Åa¯)vÔ·ßìÞ«8¡šôP“,Iõì!ì )û•Ü¹-ßÇÐà$,Uñ~.·x’tÍ8¡>ßþ%¥áðLÚ$OZxJ½b²—ÑŸ7«f*y- +ÓõBQ>Ê÷±.ÿE:jù¶˜ž¢çÛ6ò‚ ËÍQë+%i’ÀÄÔQ‡·,JB|„æçcYö',öÍ’PÂŒwîd§Û}žÆ³Ú‰Ò©Éê·­ã j‰ì½GA–õÀ**n×¢Ùðú™ICL¡s^B[2U(áíÝ$žuîþríPóܨÜÀª©ŒsNSh·éGˆV¼_ÜýMÅ;užiC" é­;Q‡Ö¸v‘%ÀÔ¯×fÎ$´yÖ¶§åš„é6¥Âûd#DOŠ>|ŽŒA . “øèK‘é§ÌÜ$EöŠõk8EbYü4bùùE¹Ÿ* (ú„ìg Ôê»Êˆ;Õemª€Ì}‰q„$pè#wd,=à[KÜÁu³ntj{×ççL†—¶q–ºfÅñX´@ºy†âFójÓ‡»¼µÕVüøYqò íÞOŽø%ø׳@ÛXP@DjCb©W+‰ÿÎOBE‚Š©äcòÜ”q‚)ÜĽÃÓ ‹ŸæíE'x3œô5Õ¶[p& ¸ãmP¨‡µÕ/U1‡w‚öà+xî>T‘{+›ê°±tn~±;‰+p"Hºv+B²Sm‰ üJ¸wL‡¾AIÌ]XÖ˜_NRÁš+– -ÌÛ?±ÜuŽc¬ ®²€Ù½·¼ã5#i¤·&oßM y]ç®Î¸}CëVER¯UØdß¼†VÂq‘¹¡@iÓðWó0 …!SÙ¹K<…`DBÝüX±+í¶Ë +å£ Êìç|žþ⢎E¯TH`Z¸_úB-í—à 6¸©\F£³íÇa,ã¨GÛ9“>ýO~½\Ì­Nݲ«FKL€5¨©¦ï{EMì(\³³¯éæ5<·EÏÖuˆgZÞÞ ÷qÕ#N²ÄÊC’ü¼,vŒŒµh~!¡ìÔkcµU +endstream endobj 355 0 obj<> endobj 356 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 357 0 obj<>stream +m¼b±Mí<±1³Ôxè{¤™ÎÕ£ñ2Ø+"F0¢$>DAºx–4kì–Aìî7+ŸhÙ&~âÓ[n÷‹ bDÒ¨‘}JmÝ"•ìsÇâÂ41‰N‰›¨È”ëÄ·uÓD5AÁ¨ã̶@n¥³œ’“e©¾ñR°Xæ…“¨|Å­Í-Mtw^ +Ôz«.Ör$¬ÕT;9L.†}.l›nqòÙ#°÷¸/Õ<ÓÛßÀÌÅséLÞš² T핇¾ž|ˆ.‚AcÕZê’FýA»bÛvÄh²¿MÛ}ž¾¢“ +ÆóŽÍ"ŸÑIXaÉ6B­É›ª8Õ'8®Z]15°c¹Šyá?טiÃ@û«É×f•¦vG×ñÐŽU>oŠÓyNã É¡V} þ‹ÆߎIš^6Å”­ÛÑ"µŸX¡ ‡¬?Ü̸ðkÛðÖØ27ûÉ8£~ûYÏ +w8Xüˆ~€EÄ‘’¨ Ü°Ó?ص™h HséY(Ëv4 +Uãxv÷Ò¥Q:PvZù.¨¨LÐ m1:%»kÉ€ÞÕn 0Í„áÚeP]˜ÞR4ÊÛÚuþóËØ( +•®ªAÄUozóÂC¨@Öw½`ðoÓ£ª¨×dR ’f7–¿GHêfÿv: `6žn ×€á†}åe¢zŠEAYŽˆ‰ôïxèÖ{QÌÚDàÔô/dZ9zÚ¬äw…l$áÑÓ`äB§B M¿ÆW2t»ÎU-ç“ɶÍx,û5 ­@UŸ›íý—^TŽù›ÊIzñÁíVþ;wôe“TM Mm•hÇ›_S™Ü]¯r%Ú©;à)¡Ãžl[=Â]jJÖ¨Gd¡ŽšYñ‘³Ò!ã?5àh’ˆ„»…ÈGb¡ÄÈ?3ûccÒ%|¤?Ìr5ì·âqoþ©TÿEÎAŠhcûœ”zZ¾„·ê|¡ +ÛKõƒÑˆn1^·;ðT÷~4ßYÜUã|ooæ +É ’ëæ¾æ^©ºì!ª-¸^¼‹ƒ^>9:1ôÚ ®G${ªú£•>½³ÖŸ£rÇv¯ÄXÈ Cµ<ä»4,€@oaä?—γõu79­%¯É !5 !J–¡ .b»êˆa‡ *§¼;ßáEK{$i»‘$¡B~$¼ â+ñÂ'œxÀû„$ Cbºoý\»sÙ‹Qc¤˜”'v;v1Þ1œEGÓÅVñ N…¯´ +’ûZù7ïz”]6‚õði¦+ì熣Æ Ýi[ÖÞ=0Åߤ‹«ðcÀ,§Æ»ùDñ/ÕâýDú¹-ÝeF¬ RšáÁVý2LËsœÅÑ(ýÖTN¦óc¡dîjua‹€ÜÒÌþ ÄofBž4­`i J*L›¡÷ûž9û. qþNÜ +òµÉí6óoßÑ]dc­¥þsL/¶?ûÓ†éËt:!ÿm^" e©qµ8]kO±z|ø¦ /‚Ê é-À·c†¹ÓÞ§A9g»OÎÇH·_[ Ú€»¿Å‰ðAÀ ¢4 ˆ›¯x›k)?ÛN +|m‰bŽµw]ÉRß·dFiuö,펆¶‡œüR;˜@ýˆ¿ýXT¡x1Ç€×3ê`Tú»«Ïo|"‰­óÁ¼€/R£¤ýÛµ&ïW²Î*ÆЧðêA-gKߟ÷ø|£ .¸aàܪ︚ã{*»wüÊAˆ%<ÿh3m;»¹}–˜• gYI¤[m?猀©‹Z +endstream endobj 358 0 obj<> endobj 359 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 360 0 obj<>stream +ˆ ìwzÊgª9º*¶7M=eBÝó®ŒÔ7 ýÝ^Ö»Ó”}ODýOtVžÑÄÿ"Í#]…ÛË5¨T`ÁÕÿl®Ui_eï¡ÎiÞz°ŠñzžÆVÈç}“’§-…»Ö®”>}Kd +#«GB-A¶ibs´íQg ªˆ_þÜO†å‚u96%Ot4¿ÍŸÅP•½ŽØfZ@ºÉ9ÂÔxJØækèqªÈòÁ­²ôÏ(NÏM®ã¹þ»þ¹4ÖDj¥lïB¹o°î0 °ËH½—|‹Š’!.tÚ1›òÖlŽ¾U]M†¡ýºØkQ1ÀâR¨°¡™sçFÀGXiG#=þt<ÌKøOPí]$v)Ozœ²Æèç^ü‡tkÑævNŽ6~øPÁiËyXµñ4k0¶`àÉi”Âm.½£çÓu…þÛ\c•yÓð9¬èÝeC„hê2ôïÞ\5‹%µ¡àÙ›{®5Ì=Ù4èºj3t÷„1t<9¶Ä@wiöÉêŽ(NmÕʪÝ<¼;R§ÔÙgá?Âî¡öO ,dU«¿ w3”ò,ž2r‚ÇI^2‹ÚÅÀ`É3Ÿskel8Ɉ°öv$‚éܶÔT‹û²js%d¾È»¹‹U1PÈ(†²)µx³IKaõÈûlËѲ=ÃVKÓ"§Tõƒê׺ø3žy9”XûÔQa¡G ȶƒóŸ’ïzoãtÛÑfæ˜U¥|æg8ðéU'Jó ø$¾ŽšæžEÍñê +÷àœX×2NžÊãÞ¹,–"b6™)õ,={¨öY˜š™¾õá¤ù³ôbª\j6¸§dbXóì´D’èÍ †…{7mzÌ ¿ä““/[@.5㪀’¹H•Üݲ0múpè6!¯©mf+·a©ŸQ Q ÒQ$éè•+ÉTi@S +ç£UÂEÈÞ’¬Ô ’¬3u²Ë’é«3nÔ¤%„ŠÜ;šÉ1©úö‡ÙqŒl);p: ŠÑäÌÈ÷r‚é‹›³Ø-:m…tÕ‘cÂõtëp„)Êwº6lþüÂQÎÑñÎÍØ•”"Ðp€Î3¬r +ÃDƒulÍ»íÿDƒYAtžUU+jí®¡\¾0F›‡?I—Ð8‘¥Øöö½Pqn|[9v_â¶äþo³Š[rÎ*éï"¨¡„¨½:²î‹&D þ?¿Ñ{KÖ‚è« GÑõîæœTÕMâN¯Æ˜4”ÕÞ P2Ãd.Ú«[• ѵbýEí&kYW"„±æâ¬w䨟[\H!)žÎ,ÄU_òè‹ÏÖࡪQ¤Ó¤y©žO(èä¼lKà‡¦D,ˆaB0±+¬0£^²’ˆëRçÚN‡ºà Êä’6ü–¯9¢e‰`©‹;ô×ã3xfQçQ‡z[‡0wµÖA†ì Ÿ mPð7p]™±4ª§2r3èÂõcƒåÑ4¨ý‚^á`ƒÙÌÇD´I€Gæ­÷3•rX2ÐPýÎc÷š(©D*S7óVÉÈ€gé5¸JÈèã=ãôòÐ9'2VP\ÄF1ü4‰¬ó –EnÏÂ?{VÌ/ÿ­v²·3ï$«¸æý=ãœ>ÅDùOÆÚŠ¥[·¤í׺CÓøp”×ëwˆõbi6åöïUÌŒ_C5¹jR‚ÏB¦öÙ˵k‡Å&Þ²ºØ+íßûb>…§ûzHïî‡Ú:'jdӀĿæßþÙ[*ÌGÄw¦Xt\:F5·“©Y1;©^Ž¤%·vk‡s6 I/ÝÖá¢H¦ €ù° +5Ÿƒ˜saXµ‘†ïs3,ñÍØçökä^ÝŒT5^Fö,¡QZÚËM,óÛ¿zoõB×I\ÚíÒßNÀeJI"C?ÒKö§‘¼P†–ÞæM­¦»ÔfS-3µâ^jp«h€¾Bwû¼˜Üh¯ÙM6FÌ*ÉÁý,´ÔìM]"€# qww.‡§Ý}¸$ÙÃ0Þý¹#ÈsyvéÇ£¨C¶­Š¢ø˜Í´A¬N¸åæñlE` é8Šµ *[‚hÌ/뇄ï½ëg{Øûï*¾Sülk¬Ö8“©¶õ2ô‹zÒØJˆ„Jþø¶t +ŸÌ¡Dg…ZÝ/ÝŠÝæQ¡mlÏÀÆÂg]ý¡k‹¶êt U’,“{óU~ñ$$Í’A× èm!S’9Ïíâ´_[ŸÄ­Ó½Ó_6ö|V2ÄAºðЉj,°½¥)Ö ³Í¼*Ç1»¥Ù¡)Eoûß +n‡ÖuÍcüûä9™ºçÓg££¡ž-3^õ´ÄÈ ò› A´ÌОÌ÷°?«:BÖ=2VB£‘ž¸ú(¯ëj‡­üißkuÀ÷Z° žÅ0Lâ—K¿(¥,®ÖÀ£¹mS8÷„Qò‹a–lh·¬Ö÷pĨz¦åpq´#âÅtºª¤Ê^Ëì'Æ“Z;Rä?œQÓ. Z,¿ã‡?–ÍÍ vR¸[?Ù€•íÊÒWn!ñt[‡ÕDz[9bÄ)oÓ‚·»  Ò¿°+gbÈý\öÀsО¯ÙÎBnyÎÜÁ!¢ù7;¢t? |¢Àhª€q±›t• ¨2 *›pÒ«ŸÆäØ‹·£©¸‹#\ L Žùç­!¦Ç Ünã]϶C|¶T××I Dâ–„= ‘îŠCÚ@¡­Ùæ_ƒ"2åQà ߼0låxxÇ•¹¾:ÿ†Æ2jGp¯ü¹Ë¢£=¾ëè*c¯zG˜8åêg~V}Ëž¨ W5 gõG³qIc¢»X˜ã9 9ÜÀø´Ñ?8mÖ¦+Â%A÷‡ÀUÞêèÀÐÞCjçu8 ZHSQŒåÉBÊn††Ö©NjRG ¿÷G«5Ù…?"<‹÷¦'Ò=®ö‡“q3ðÐ$AÕÉA´ú xKͳæËê¼M|ü«7†ŽoÊ +F/ˆ·Äò)ú¹ðÉ/³Úå¬I3l¦ÑÌUÊ›²R!MýÒÇ«á”±J±¥ÍiÒ• "•ü9\Àæ\âN@ƒd<9™Í#Epdðà–¬Ë¹ò e„llè‹r»Â¹,ôôDÑŸ–œÑß s´èéž”ÂwoÉ»nOoœ@`XT>NY½èŒ¦l‚‡¥^éð}PBºŽxä–%ÁÜ¢'âY­™>Hô}mPC[Õßdy[oÊŒº·|ìQeêß™>¥‚ä +ºv^Ù-#z¤úi­¿»¤¡‹ŽŠòÏÄö/jhþéH"ɬ‘t$(Iþé ¼sÒÖb‰à©,†˜cÕº“8jKz¼½8N¡ùpÜÚä/ŽW›£(PKYiWå³ðWÀ¾‘žÞÛ³ Õ ­³–ÏoÆ_°a¥5 vÉœ©lç§i¶0IM+‚µ/hþ®«]|ÂÞÿªjÒ•w„øš<Ý6ª•EÝôâñ ’,ŠF’4æÆÎkNÞ÷pL<]O í„Þk_"d7áúøyæ%óô_7k׈«á?Zw³û긻®µÌçc8†½»€Æ÷ ƒL—T7F¾’Õ”F³á1Š0ûÜ N5ý‹“é€g G°míšoÝrÊ4‡c|“l„6 ú5_~ÍWÁ.UF2Ëho'Â/öR£#¾8ÙyZ4šõlºW½ƒ}wíá +endstream endobj 361 0 obj<> endobj 362 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 363 0 obj<>stream +»WrˆñJΠá}Õ¹—AÒµŸÛm@áWÝ ùˆO’þ›†¹¾0-[ˆÛ„¡¯¿Aþˆ«”ÖŠ/1 »w-‡Àù`‘‡ 9—Íyc~±5Xq!ë4ÖÅ €ƒžw@ömÖ„yŠü†¶õ{JÁ„ ó×4îSŸ|§¬¤ôB€ HU¹Ê-Gq*=}â„Ñnñ$’yß4þîŒÔ›Àížàk¢Ä#8ÑÊ `JÏÇúo  {P«e£Ê1d9#áù‡ì­_ÓZ¾qo “Žiý«ýãŒp‰¼ cÖ=ÜtÈ°jسN‰h0Æ>Ã$¹.­ªY¹kÇÂB€ä7Ât› YèÇìô ëiË9*cûÿí-e±+Ú^¢Í™‘1iÁ]PÛmz¨r?UT»y°­d}ùzß“÷ +‹~FË·Z +OÎ\†”(q / !óüý™×•C>§ç$5Û²—á?@Od¯BéÄêÔŒÂÄ’þ—ãøŸeœ¾?NlXWd«·ÕQí;0!ƒâ&E\"]™C.Ežuì_?-Ê®¢4¦w_=J‰ÄtÞ–ìÝý:`£ ضFaxòÃq(ÎaþŠÑ¤ß83fÎC +7”:aqíj/üÍi ÍP­ž§ÃSRn~ºRO(‰ ŽçBîsOiÖ;ŽÓƒHl4Ø®g±oc+z¬²êÁÕ_°A‘qüŸE/sÐÌÇà·¤ìN8V?šÔ-Ýo¥±ÞfP-Q¬§fkœTî.P_ïì,Ô?…\ºËþÖ~MruC˜Óm¾NJŽí¤Ý#„ ›1zÜgûl +(b,l©)´DŽºQhžì ¹kg¦Lûƒ³ìõoH|˜uê³~tnü:l~mô"\7Â5–¿¤oàõ†rÔŸú5 ,$ˆß1R_ƒþ4üt`gx9ã„1Ÿ¼¤‹¿Ù ò¥%æÀŽ/ùW${×ôX“miùºÜè´Ì3GÒT÷&§aö¾"òÌ6f»HÀqùÌ Ï£Wêa‘@ìÕ‘¨Ýóª õV"—¿ÆÈê-¶‚æ©4±åt: F Ï9Ö]—”ò&rÿsmµµ?YcìN¨TÐe3Q]xîØàRÕ hÑn„ƧP ³ÓÛ›‹9Ó½®FGäNªé £­Q™¹N"ñ-b²·H4OXâéø'ĉ[<¾h™£ÀÚ|îwâVDºÌp¨¨$Ô%¤ù'ä…ýÞ| +y°ÍÚ¿ 󢓧;ƒPq¦ “¶|ó¦4ËlºYkÅîâ7¨G¾ùo(,xάk"Ózªì9yKáÑ‘äžWLbˆ¡µm—É*ô££ÓЈf¡"{[áÚ™ãI‹{0ycèNEêc4º­’ÛžÑ +ì†ê5姧÷ЖWZM [û—á¦L#™âÎöªr¨©Ø)€M@Lh Û¼¡º²4(kta}¨¥È§˜1ùjAqˆ_Ñü:oL$­Ç×… ijx_òä<„HÒ°åÞ—öñCO°¢„–K'ÑÀNß0€á¬“]ù9ŠîêíGk¾É/&Hìºg1‹€ søónÐŽf©j·RD q h6ÞÍÒyÂ’´=H§UW.çßMÑÀ €¦AÀüḎ×GàüëFd]2­_ô¼FàÁ€Þ·½–1b¬ÇFa!²ê£;ØÝH=—é/wÏÚEà ¥ÚòÅÁì6ÝàiD&XÜá°‚+?Tƒ|©í£üA°ªÍ.d0ÝÏü88Fmâášybþ¡C4¸jà{°Ý•ÒŒÉó%5CoG—'’_*ãÿ¢ZNbIr½”¾ÍoñTµÊ,ErSFaÉN|@_P,Ü"Ä êÁkZX‹ø‘´V¡Íy³ÊþE#8$cNÃú+`ÆÎæz™¥ùoàtâBÿ¬2 +]kUœ,èÝåÏù£3¼¿-$*O© +’M7a©|RÁ‹z +­"Fµò‹:Úëqïí3Ÿ¥ØmÊ7Ó_ë¬Cy^&T±dæBqæ¸`×96 -ÁFßÃfè +ë÷óôx ¡Ý’æ±ïrD,›é8 ÍÓÿh‰™``µyÅ?KN¢½˜,€" lbœƒ·Í´Ä¨»)4$ö3B«¥­”_MKÕeüCaöU£wþQ=FõV/Àª`@Ë=ÀaÐýá·+{éÀ®1xtŸœ·û/¦¸G’›Âcÿ‰¼4½_˜zF×'\Zïÿ Ð>œdIce\¢}&ùåÚ×á^$ÃNúäuŸ³Ç´Vÿ½â›Q–6µçí{n1‡ioˆø-Ù:«T–±®²|ƒ·Êõ5åM¿aZ¤‘5Ô“Øì„Öè]êÙ:çLá7HÒæˆÍ›¥-:›«Ëåÿt–/S(ù‘ +‚ÆÄì50?ŽÆ^yºò\'¸24î#îh×Ä@A¶zšÆ’ËK¢ÏŒR.ÙBíÍT{+ªÒÓÉAv—‰ÕvÕ¸“åš•n ò[bÉši)°Ü"‘Î×u‚Ä}b¼©¸]Õw¾Gˆ†&W€ó¸dŒ°W¼x +2ìH|]EðéÀÍͯ`£±…Á©ñ#*~ƒ1ÅÜc 0ˆ¸«TÜ=çµåûÄîmo¥I¿SóbwD¤qà––‹ºÉß%ÚãØ*Î —mÓ4…²óÂæ›ÀlÐ +‹' ÙJ$QiÈfn§.²Œêi%XGO‡wmµ]—@hðÃø­aªÎòð0ÏG=Õ¹¾¥~Dã§Ð"ÖÚ°(Àø +ÿc/ $6ª"]æØ'•»Z EŽPùÞæ½mF,"ìë!í¹ìy>´Yc| Õ‚hA4"îxÀ›5lG\ÙœàK=!KGtL dþXþ‘Ø—Z+wƒà)¶äUIm“󅉾æ)%Úu'HàÌf‚”\«õôÆJ?ňk£E¨¯M0 óÚt4I ˜½ˆ\“ce¦¤÷Ä‘“µuylõæþaÖÕ’;ÝáŒzsT8¥„“†x°Áƒ‚Ñ’XÜY)ÈE.·)x„åêìN‚7Ú™Ô˜hŸyÎ#%h;Çœ§\³”VE¿výÁ¯QÕᤇTÏÆži°}wn¿&ÎÞOg»02~ût¶7Mú°d¤ˆÛ¦Œ‚œ^2»Í™ï°Ú>ÎÚv8èP3QŸvXk ÙEè«ø7{×SNÞ.dÏ0]:­&2X‹€u‘/+O•Žµ-=v?ªÍïî4,7WL{´Z 6›5E¡¦>"¾íÐn¹1”yíÕ¨$ÓRØéO-† k^éá’2èaKãtãÃUühÞø„轑ɦ” èÉäEôþï)œÓ(?]öî…xeñÕ^p«‰Ã;Oðd zÇEŠ‹×d1VâOìÁIÈ«p+éÙåpÄ ÿ¾ìÖŸW8†Žór"ÙbGú|×+ÖÇ\3¸¯âüÅ\ãMÍ·Õd¿Øïƒ{’óî:ûtØ®‹*ž,¸¥´· Së H'…ýDÀ9ƒó¸ª HªCIø¶5…㔇‡Š@=%O&‚[”Qi@ÆlסŽƒbXyY4M[±–Ѓ½?†-ûΘUiÁæÿ."”¼€• ‘ˆÍÿ½e\°UTWD²bílbwTÜDZµë–î¿^Ýu"’cü úïÿR¾rDÄÂaT4ØÏ£³Bè G( oÙÎÐî Öý!ÀòQ½ãò#x+ÿ¦MÑ+ªÇC³ƒWMÞ…~LxŸ÷Ò¡lŒÆH9—bOlËÑ–çpSo‹¶ÍkjÀúœGºw;[^Õ–ÛÝú×Í,ghÈúj’ˆ€Ìˆ‹G’Cç¥4vÊ(ïWÿJUl´äÔŠø +Óæxà ñÔ„}*îýµ‹0­Ÿà±‘—4ß6KCª‰²eÍþ0¶¶Ë =ë/k¦{#.åÊËü¸`÷ã(ÇôdùÜöM›þðž}­uŒÇè‹ Å!ÁûØ´Y’mÇ»T.ˆ^?Jvxƒ”Y—ϲ‘÷:|ìûÿ¹£ÕÄvêëò¹ÐÓ9ó Óä!é/uË8ØÑL§´æo¶E˜{ï/dõÊHM€ [ã%ÕGÀ©ŽÝU­_,¤ËäÙ”Kñ²æè7ÌóLPàÏé(?-¦zSŽæ ’0ñ¤¬ê"†÷ÀÕ$~ö/gÈæ¹ÝjÆòó Ö(LjN“à;þ-‰Ä +w7³¤²œ”pªÛ½ûvÇñˆð/Ã7%¼’*)ÍBãš”®‘'ì½g@ý†šŒÏ!!Ÿ êÞu¬%ã^ó'¸¡iÈLV™>™lk2='ð¡ªò«Ø×JÓkUêŽC¢À Sz”˜‚¶h +rÈ{k™8ü¬>‰kÕWZÚI›œ&ø¶*ô¡dlùëdÇ©kÓ¸Ÿ¿—•r(Äaèe"v?¨¦J¢$öÖöèQŸ¼Ã{S=÷Öl¶>“—ú ì¿#ZE¢bjã90)¦Ææ+î½6y½ÍÑáïÚ°Ód¨^­t~Iݼ°².Ûó®f ^¶©©¸ËÀ,öxUh H‰íÆ¢Ãw§ç¦4V.F™Î†ã¬·å&DÃcRo +êÀ»Ô³áYÄqŽ&'ph‡Ý®Õ¹Ýzr w¸¹/‹hÍb ¶¸5Aö™ìz¶é§l†,¾ÜÀ Â;$G<ÅÂobOÓ\YêÙì3‹Á£ôi&ýÃ{×Tðg`¿}`P™SbÂΠNÐ '‰^äȘ1;hB_XÐú`²ŒUüÈs_¼¿7íÑlí‹ø›cÒ2Ë®5‡÷“O>[×Gòr6âóð‰OͲV¾?Q‡ttðF8zä÷ñœÚs¨u`é‹3%Ûüøö~pNªÁ6“*ª§ÙÖ¥ãóÁ›•ªtÕÔQwž¸h2ioª°ت”.AT7W?LüÝЃs}ÍÙ_²ÄäE g§OÑúÌ?@î“fXVáR®DtòÛèà½ûIÚ»ñP“²j†y7À—3EûŒÔª±&ºàù{Éd|éÀá±…Œ-jñ“<¬.’ Æa'èŽi;—KAgõµÈ ûN‘Q–AQÅwï¿Óôû°à„=G(|TéUí=”á1ˆ¨ËWÈ6;ªújt¬Ðno“ø䮨}ò¿,&ßy/¿®GÝÍ +endstream endobj 364 0 obj<> endobj 365 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 366 0 obj<>stream +=¹`ž+–3#²ú°úšR•ïÒ¤aú }.‘W>kQš"8°ß;:!;gÛ"Bp5îÔ²,LõÏi íÎ<ñ)×™_%})o[Ùè4¤Âè ƒµ« z¾iØb ‚ÚÖ½/ D$qî¬TïÖïY ‚`<*ù#"Ü´Y,Iv{ÍMŸ÷8 §–Ž¸ñq©Ì\+"º´„ h°UкCF5•¨T„}¯Í»€×’%Ö*™Ôü®]ž¬Uõ~láfðEY¡ðY‡ïIèí­ÔžÛ –†#èjxýhqÀwR„·Rºÿær÷Aeâa7—l*g€¨' ÿlÑ –úâô~ävâ‚ã©q\_׆[Y¯èA¯iúk[ +"fõvŸ>ž…ô£¹¿è¡ºJ÷ÑÇŠeèê:ÀÒ(F!nàÈjÚ %DOˆdÊü°N[Û®ÛÀÊmÛç$íLrPs§Ð·dÜÀè7H¡fùP˜40)Bw³$0Œ¶:xÎ)í©¼¤rXçIíå©ò§¢i™T?jØ)c€™°ãù+X[^Ó"Byôñôìfÿá9J–*(á î iy»(ÀØ+2ì +ûc<”ï|ÔÌÑð; qÜŸXo` ¤\œÇWzËæNàÞ„ŒÒUÚ¦[Âp‰-8Ó]XÑ«)<ò8¬Zª­`“ž¦ŠQ ¼‹&ApèÈõÉe_‡(©¿Ãcƒ&dV346KÞ wyéòÆ‚Ó.Þf’­Ð¥£–ÜØ­/¾3¦ßòœ *ê1Õ"†Øk‘ìUf'‚iÕªÍL ^`vbüìkpÄÃv]dð¯‹$ŽôNz6BZ0ï×ÓGj³ßù+ƒVKµœ¸ºÿ¤bÓVmí>Æ™²Á"u°êOǚ븦ܶօh{ë)m|ĘØ-TßxðÌ©~ÆWÌF'*ÛúÆ7o}~|*`6H£Ï,ÇUp—JX\ÒñÒ—@݉è&ðS'æÜ}Ik‡.ÇvÍ÷TÙ®Âc…غÎøéh?»º;çæ$gCn}©9öˆP'…“´~D~Ì“âE×öD2Áe!fågœ.4r~^990æÒ­r…K‘ »Â®½ Ëäз)#´¼â$©O+óôXÖÖ<+Ëí2°tD]Š% m, ¡kR–ûsk¹ŸÕD Dƒÿ +x¦°ýÚr¥¤äj$ýï“×^ Žw j~Hn“{¬çn¢m‹á\«‰Ç·•QElCu Ò±±LÔ8›€kvÌ8 T~É6gìñƒÐ¦r¨Êî +Æha>w£¡Ç”¤BÚ ŒX÷² Ú¯´Ä®« ·/Âð4_vл[ª<¦ñì„Ç_Gi³§†CêZñl©¥¯ãë á`f`‰{†ÐƒnÏãpNÈÁk´³µ'•›9lhELkaê°@B_ÏóyÝriiÏ£¢Fy”Uf’8h$A=% ”£À 'œ-×ý“Àæ/mbÕIþ{¦”eßusýÖré@rÖ!|Cøÿƒã#zÔc(/×¹¡jãþùÊmo/M¿E¾…¬B¶oDrØÎ^CŽRN¶a_älìár-`6„úOèÀæCsyh0ž˜ÜÂœ‡…y.úžU»ýb¬3r»ã¢Or[¾mMyyLƒÃ&ÊcZ7‹¥ã¬¡l’ØÓNX~¡ۘgoýuBÔ¾If×­rPr Ú]ï-ÛyN¡Y«dL~ÕóZS#)û‚beù‰Êë´KK2â]z†Èªn&Æ,§ø4ÛH7¼J0Z}†·(ICÚÒ$ÿÝ{F2±z¬‡¦®›<éZF(š‰ëÿn¼ ÷·‰dPêÄÙúßÅËgðiµW£úØ@Âö2ÖüQ9×.ˆ­`ì˜BÃÇy`/Π³'óžBŠõâN'EYQCdJlXëîS6Ø11Îb4Lñ8úNÁù?o¤rëMàY¨üÙ¤9¨Gw ö¦÷»þºµÌvÜH (jê¸Í%Ãað@4 ñÔ`éÂÿ§îǘ›=vÕ~[NR"ýr,B& /ÊYÐ:ú‰„^€gfþ:‚Ëzç%7 "ªx*‰¤~-®ñ­’ZKåû#ŸsÞ±ÂËÑ'(–}ßä«í÷)k÷-èŽZ ˆÅ\A ´Õ™]è`<Í#‹Õv §q f («T{oÊKgºo:Š².k¥Ôð$µ«M¤ó´¨K£*^ãòa—¨ ¬ ˜¹goÈðPÞ4ø=‹ö¤V@V§§èþaѨ<ðJ¾„‹¢ÐiIý½tä/"KrAðëþk…O©–¾¸Ç…Ü¿TAÉuõ–0J€»×æÍê›–®2²ä:]üµƒàèó™¡ã—)¶Æ%yÒQÄmœy¿­ª–z!ÎÞyÿi§)äÀS§ +Ò#pƒ.!ÚIh?{ÔOºM3áiü¿&Û›ª¼²æ¯•Ft誵AÀÄ!2jPŽâ²!kB1»»™9*Ÿxûˆ›ÚDB«˜uÏÐÕ“º,&f_CDÕc“|L¸¹ZÚ•™´B™>I¡>9€NõcÉmÇâŸfX.$ÖôËm¶ó³qý4\i¦Eæ6äR”ð–¸OË +ç­ºN#K^tÔ‚ôOo+Ál¶c;ÖË4e?´ÝÂíû7-Ï“vhšÿE8r9 Í«HD:•‡ÿÎç´¡Ñ•(§™KdtÙ¼àY<¿>l"ºâs¡ñ§jAvÆ•…ÉÆäé||ªíH ‡D~º¹Çתv–Ÿ4ͨ¾ÑÑÇ$>Ï!\¾—.7ZG>F~žfÝ;ˆô_8ê³*¨¶Þ‡¡ü^ž8³Ö› ‡‚z>if !Ñ*ÌðºæDe z¤j úï›1溺l±vÇÛì˜õvÂP9³Æ!ŽCíáB ø+ÿ/`TÎÒu¸×ŠO{ŽÖÀaV›öp–ÞêE‰ÃÓ:ëj( ;/Bœ{ž,#¾p)ÌÇÏUŸ*v²nåZ{žÆÆ<®!¬à\¥ÜÊ#”ËUØø +endstream endobj 367 0 obj<> endobj 368 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 369 0 obj<>stream +ã&0š—n„5y»Ï8œÀ´‹®ËíÚOIGW¼Ñ&ô×Cui1%O'¥)¬@m]0Aѵün ¤5Ú‘gR¦l4øj9ˆµ¡KÅ dCʤÝäàõMuüÇv——åú¨ø—î(<#Èú¿uÁÉ`UÙ~€ˆYtâf/ª’.ÇmìÔ1{ëþ -ä8Ú¯AwñÕCU½U,9Å*YI ݹHLjþÛ0¤Ôð©qçé†W”´Ø}:Úš©k#VŒJv‘,«”M­SWçR‚G§„¢Ë«u`D[¬ÍYÌãYZh½ß{ù`Q«{÷·£²ç†®N„žTÓby‚¸‡ F!;EBõ=…\zèµîUèÑŸÅ$«Pþ%Üù ƒy¬:Ï·/›Q O,«ÉS°œÞ1tƒ_ ÍÚÆ/O:Õ΃á.½-ïÀ‘Ù&M@:ØýŽ«™cæËäÈ5ûT-WoÄíAQäJ¦ŒhRœ ^ýqºKŽÌfC«k{Ÿpúakx×Jú_-­S'‘Y ëØ-,ŸË3@xù…}yÑ™ý Ió–§àUU®TåÑsEH~OHÛ°òqÃ5¼Ú÷œôߢdiܼ&§ÏT\ý¨ØýÉÿL¶•.iTp[µd­Ú*ÆkýŽðc´¬¶áw¤¯·G5°8$5òçý5h„Å1wHmºéÚïöÇ)óúâäûWÝ­FÉΟ1@( g Ú±d)Ú/õ‘9#°™Ÿ‡¿]"¤å(r}“¼4µ°OÚ“ìÔÚGãõ,nfM[¾Ä/Wn4‰Xû²µd’ur¾H¹Óègo%3™ö# cﶨ€¶œ·yÏ#7Bƒ™5óz®‰B6üN ÷–#Z pŠ:tèZ”°ŠÂqX•I+Ñec)Û¤J%W=ç&Ô8éÙúý·‡§woz±Ú8OÜ%-®Õâ÷ÔxûëøJN@Àb\¾6¸®F¾àz¬™¶ž¾òæÝÇ^>fV2¶:ˆù'ÅE‹ñî0é~ØÅᮂa`B)?°òÊŽ…á 8lSØÖoÛ¥†ùmKÓ-”ÄŠ –G~ædºQÄC=ÁÙœÉ:쫦.Öêv‘íßâ$K½óº÷\høÐùµ?|ö 2Wc-4«Á >)k§r‘uˆâ›Õ©yRðÜN6ÎR° 9o~Ù%3T +¬Ì´Í>dN£ÔLjûÖÓ¡±=õª#Æ~ '†ûöøtK¿V¶ÀË/Ýt\lµAýãÿ¢jø Œ´ +¥¶ïG3DAãu®ÒT†ÀSÒ‡efõ¬N&8wĈ˜Œ‹í×3¾$B+ÀÀá77)´KŒ´á ÷TXWÒ{¥ý$ Ÿ†’¾/]S8¹š@Ùª„¯ÿЩÑ/Z±(×¾#þš§¥›ÚÅ56}ñ`àÊmFzÐÏÅ\C¥ûا Dæ‡ióyü¡0:ßÚQgÎÛáOSðñ ²"DÝ•²?Ë3ëÀчw=Aë¡»ëÙ\-|cxw 0ókeY'ið5ÎÅà8tóÀ{gÄŒ>ö˜¨Ð"ÓÒä7ªÓÂÖ ±èT¿Ü<Ñàã-g©Û<ªU½G•[wCMM‰‰ÆÎKu!5UÔñ­ÄYf·D¨$6ñèßMB}‡”zõhÛ¨5û|Žû3·øÝMë"Ï¿m•Üþ IÇdÒÇ9bÒ”ŽÝÆj‰•Üå–]žÐáµ\Ë Þ“šNïyÊ\?[§è! üüñÁ|ٻìmíl—#Õb½¯æ`IŒËE"mÐ÷ÀÖs6%ëÌüÞnìdó«ô®Ê£ÙF“!,µ·„|çųáN +¦‘òŒYÍØoxØnäŠ*¼ŒŒëâò€hjÅ‹qýWºÃû¹zòmEÖÅ(½Ooï°¿îѶp¶œ÷v²íŒˆi÷RÇâ-ÓÖÉü§ÄŠƒ +}ÄùüÚÎìËzQèZ¦[£½!pDÓÁ 겜Y¹"`;œ7©Ò‰YŸæÇM?(–„05EEž”÷,}""ä^{¶ý꯰±©¸ª@Ÿ|â ]MU5A…ƒrù&.øÆ]ÀÒ^諾õ“WL–Vá€Ù3°˜-hŒ,à$ˆâ@X{ö°qß K†[›‡Ë6Ì>Ï) ­:W†1̹ÖÌ~6?zŒÝG¹¾)R:íbǬхŽ½T^†(BÈm­ü8 é~2í±ÁwbÕ¦zÛM¯x8Z–Î%ºóM¤ÂäbXjsw” ~Ò›®Ë¹ÒBîQ…É‘0ÄûV¥Òëûþmˆ"6­à@PŸ>÷æ3ˆÏ.~[x"¶L´Èº½Œó¬JU>fÁLä}Ý,)þºäOD±˜Uwwý©´øZ”ßU0M›@ñ.á§äÔ2¹ BapñΈSìŽDâËskïÈ]mZò‰c¤@•ç8Z7¼Éôdg‰¯ïÉâ°“ýÅûíiûî6XyQïÒ•ˤEO+0B‘Ö9-]ÈX*¤´O–µuɽklˆkÔn²EÓo–¡A)ÐHßË.!C•;'ò®©¸k¼F>›´?¶´ƒKàÁX¬Zô:óðo´®åsiqý‡Â.ìÂ`fѧ’Y—a0Öøª¦ï']0hÔ'»‡B CÉ€Q› zo{vÔ9(äž—¤Èn_À5_D*#úo´ä £ôÿ½t‚âRØñç?§¨•„Œ¾8Ò-Àh|•Ô(‡}(=ŽœZ-`>rÁ8NUÏÿ@ò8H~òÑ&ʵuÛ˜E:ªESwÀÿ$µò2ô—¦…§ºµv]©ôÍU@’ ^æÜu4®¿€q€Þ € žwæR¸f/—ÈašÛ)D!Çg_ܶ¡oR®æ‡6“¹ÕH”#ë}gUûǺ¤‡•…RžÛ45®нr*·P:—X3ºò"«2J¬5Šîtm½ª‡÷מ\}È_¹nu¨µ Û7]ŠÃ¯?º¸ÐÆ£Ù[µc¸NaŸP¶:úxªÎ"†Ž3êYF0‹)óu+P¸ÕÛußÃí ÇHü´¡?™alQôdÏuŽ”]ñDô¿ð(¢ªÁä5,P`c”¨ã…âUáÕgÔePÁ²‰ ” ã×aÀ1;{" \.›Ö¾?LúMNÿ˜}”üï}õø¿Nòƒ´Ù®ÁV,õ4íÏC·«ÊëÜøÈ´‰ôKó«–2Ï[\U~#ïîf¦†ý/SN殳i°Cå!ÏË–3^›_¿1›Ìâ%Ú¥Ö»:ùð¦ápA¬AÆÆ¥Ç(Ó÷ԸܿX“Ö‡ûs¹ÆµÉNV®ÔÚÁÿš0šégCðǺRKýAÎï¯c;ùˆ´,Å©s^©a –ZØ—Òp륫È[#>› YqáHªJúÒ ¶·Y°ŸüÑ–“èÉPÎZÞÇýË‘ÜþƇ§à¨›¼ü®)µè³Ëƒ÷ª;y«ÎhUÓÛè“#ŒcÖ'¸6ã;1¸ f`4´Ì?^ãî`Ï•ºù:_Ï-y ¹ŠXÑh×*XJÚ&×ñ[\©<_ulºvûÙÎöA"žõtwºÅ¦ÈË ÜÍ!…JÖCpŒ#ã#BrtBý®Þ5÷ý4Á?À_Óé8"Žo«!ŸÇÉôôÿž²n'”ø;Ó(®Ò”‰_w 4;/ MÕ sµ×3Î:ŒRªrw‰§ïÞúé-Ÿîb‡.fj‘.„sþ›!ðy¤ŽûÑà/O»BÂðdÉ(ÜY]ê±Ò{–h Eiø°¨g50ÂÕ)öc9_9§Vzõ¸à›v«ž8ËÊÿf.tQÓ¥ÉɃ3à<†÷ÁòË&áˆñi¯¿pj`GL¨}9Lá<‡ú²4 ñÐÿ„Ž™ 7ª“7ž ýˆÚ­‡sc5"Õ±†nhÚØ +wQV’˜´î†èûjëÎ‡È +2cÑ´íls» PE8ãšOºæ†‡ÿ°SŠË¤›O¨K©¬'ò+¿uΛtð>z:£‹Ì¹@=XŠîþ×áf  â¾àª2T²È Ë”ùÅ®Ÿ¦ÝÊãÕÊÌXô‚[ÉWK•ª‘A¦­À@P˜#¢löM­DÕµé¬}·*³ŸL]˜É¹I¤4ª°] Ö.,õL‚~'ó‹.W;Ó¿+·”Ÿ¸+Øv¸™¢ÀE?‰¿ð¶æ÷æ –Üéþ‰ [¹ø–_úìSúÔ— ²!lÇvUÈ9{[ód«˜qAÈ¿éL.=ýœÒÝBŸ¦òñðauݲ4 °T äqOܘ'X 1¤}b±W¤¾c¬ •©c¤çuTÝ•¼FŽ£¾urÈðk ·’h +òwB¤× ÞU~>:uDýñؘç&Œ'ñyuž™…t¾òW:¯öÛd +ÞÍM#ÍÌø$଱‘DŠ#=ÆG$Æ>+²SÍÕMåßûPsh 3·u¯4‡³HåE¬Ž¬ W¿EËÖa ¹¨L?¼îævL7•ùûÁ%r{S†1í:A¾vGãvMÜÉP¤&ü›~!êϪšÜñiº*xm&®&à©oàÿì¯ÂV«wmpÌ +òd#CÓ4O0É&’¾¦]~ƒ^zhGgÑGƒåVB/‚¨&Ë`•ì<€bý¸‘È +f¹§‚ +Ÿ %Tv kDfU¤žìò·]g,¯'s­rœè‘¸Å¦ÙÍÎ…|©ì;øååLÃÅP‡+ 7>ý¾·ÿ:ŽÙ>©Úñˆ,æ·ƒÚÈ|ÙY5º$ë›Îà€ƒù½ÙæŸHj‚ÅU]:l^Ò;Ë÷E}`5…rȤú¹FŸ!{ÉëÒ)o½ tC¯ XZT%ÖR—ØÄÌýúð,Ë LÑY<ûk§Ò{è÷NÏ&fÜæâ‹I‘§+XÓÓû G`%ƒ? wkf'›‚u’EB8xʱTÏCè‡ø›Û{ê¬aÏPĺvÖ‰ISY§Ñî9/ wéÚŒô ÞÌüÇŠ‰ +É®!³sý2—îe5tëþ-ÅíUƒž¥<³^o"Â>VL&R!Žz…#6‹Z°n™ö}i2Ý`ô,šB®ÈZU¡{Îý[$}jŸ!·È­ÅÝ•'Ò¢ ŒaÜïêÌØ)¥zä'5.‘}Ø[Ì1§Œ^íÒàÑ·îh(_îÖ,®G1.Žú´‘ßEؽ!>©#±-“¨ÔSW_Ëg*}×õêÒܯ>÷Hýr°^œ‹'¤59Ø÷GdA¹jËÖšÖrqÆOô}ƒÂ)ëLy°lj—êt+ŽQöÞ÷a&{HsšÔÐp!¹ž ,ÛT¥ÎçA¦µšçö¨ûš'Ççmjd¥*­àƒŠEC‹ÿ,c¦Ø‰ E©E·R©xÎ`ˆŒp­cfåBs¥ÉÙw%áMÙw`„÷(º¢—–\ùŠóˆmõ¦¯ÅˆÀ[ÝTO4ìp¥¸‰Pò¥ÍøÛ>nÈZo×Ú˜áÆOW8õ +Ñ—É=à7»b#‹Æ`¦õ4Œ[±™á_~¡rd‚Ýñ&î­¹¸o1¹ßóæÿºrw¦+d“¸ŸHÖ¾[æYÍÉœdB 9ÉqõX8¿~µþkñGS#fuœ3T£ïþþgåûõQ áÙ_cgdȤ ÖS˜Øö"`€­‰n*ÅÁ.‡â~WþµDr Ñ +EïÝÿý|—Aë“!÷ó=cÊÒ(B ºàg”=?{¼¸©±êCz+†ÐG"Ý&c%`%ì`â»{…f%²‚7q6ÌEìÃEaŒû»"ô‹•žË¬ôã¡|O&ÿíÓÁçäÒA!ÎdRß‚VÓmxØ„Z¿Ûüü„'A7ä“JF©9'9&5"úxç»á?,‰Í4qÕƒ„*>Æ&%ö[ñÙ쀉•ã}?EN%#•7’„ÐC¶ z½7ÿH—tÑN“Ýñ°âãåôÛ&^†¨G"9ý„F9ÇÀÅâαþƒäñ‰XiOO(«WŠÖî1ò´¯þNSÄ&R”EÂqÊöÏ™í”ᴺ襋gr.¥lÓ`[¼ 8Jb«‹žhhPÈž*„lqyŒí(Ì*U¬ß‡ÿ‰Å÷ä‚‘…ù¥ÜñxÜ—ñ!ßCnl#³•hÕWF ÷¤›Ê…XŸ¨Q(ªš8ö¥d;ú#[súRÑÞ¡}D q…|ñ63ZuHà/öÞ½ÝMçøîî%»»¼Œ5W‚­zr¡¥5ô=<8®F£À¶mˆü±¦”ÉfùP’õ;ÀXhUÍ+˜¼6ͺ² ög™sã26}\Zb‚ýüxi—ŸÆ3Ý°ºÖ}w–oòIä°7%*$™Vfäß„‚NGýÍnw•žB÷„Ÿià1FðŽEŒKp_&œh¢*R \¶ÞÌüOK1Y[=0r–…1‹I±×E4TÅ6­˜vÌM²ŽtQwë&÷QêùÉÀVIYÐÒÕ›±}Ýi‰?è +3#ùQOœŽKŸ“ͬbãÔ…½7¾`”VpR†×ÒOû`†ªwê;*It¨¸~wG5()óïe˳ôash„ZOã¤[ jÕñlS/›ÊÿG½Ó—Ê:ùküÓcè¬{ÃM”À´èY}®7ùêS:Fp™$’IÏG +ÔA|zºþrm¤Ž•GµÕ¬Ò¦øT;ú(äé®UšÏRÆà·sˆ°V² d6šð9ŽÎ{ȉ\AŸÔ¶±`¨xݽ3|\Q¯ƒY‘ú1*¨vøñ”·Ø§æÕ”¹SZðˆ@!™uo ¦3Kb<Äoõò°˜åVjP'4¶Tµ:#SA-Ïþoš‰F£­]캱»î*;„rܲƒ9ªÉ‰.dÁTAËY¢y°üäkjw_Jí Žâ ¼ôÇœ‡¬Áòå 4ÁÎb‹Z×þ3€ E3" Mcõfãlï,ÃeΩzÅnõ +ˆî%SÙ¼¾Ð8‘BóvÛRAî5ºSûl/ÿÇ´ÐA¨±À/[Ÿ³›&„Ò¸-Ìóê¤$rÑ 4ñ󹥈ö¯¿‹ò5ù7­ˆO¼«6¸ÅÈîYW©gjYïß“Úúâf5ÏC Á+Ät}•¶Êž´ødœÜÉy_mSeúC‡“$èäÓ«ecÁ¼°æØZý-Œ( +/C‡ CQ;ÉÝèÞÕ%wú,¶x]yt^°*VùG å4&F(¬•A]ýÑp×À‘fè…ÌQ6èC\ó ç#ƒ®ôu°ío5kc[Š!AYDÜÁóú¡æOÊ@{B5t›[ÆBâc ¿ˆŒD:- [¯iyCn;ENç˜K¢‹X·ìq3ðFyÃIlU ì½ûgxdUb9aT;; º3¢WˆØÆ_Z¸Š`eûsJÃi,#*úž°Jý» ? ãð…ØÌ}­l‡6Þøöþ†æ³ù†îÂm¶4±~ÆæÇy-[˜”©/ø²ÒþþOzâûxOÐÅåÌhW¯«±˜=€C.» Y,@ùŽën¹ÆáÇ`Ÿ`W ŸñR¬ 7¸©Y;)>÷ƒk»ßúé¿ ÿ0ˆ b^ÚE— ˆü:¸ ÔÂðjĤÖ_3Õu–¿ÛùÚûMجFýx!u)V¾Þö~ÛŸ>ÌkT d¸ÙwZ–@?T̾÷é“žÉÊ©'÷)¿šÀÑèÕíÁfË{ãýâÿGüø¿ ˜#NýlÿLÍÎ% `XÚ¢m²Žœ³,ò¤ãYm ~»žÏòK 1¥H6™‘ŸŸsÍ,#ø&»"% ¡¯WÚÝ ”­O~w‘—W¦µŽ@n@E^™Ù’H«(Š2@2È•¢ ´}kfÔ{Bd'dxæ`÷s²,0™bKÍHÓ·VS±X^.O!g˜²´~·ó9úTn<„?|d‰ù˜ZjÔõüçF¿>2†¦Ùº+†6–Õ^®r7w¥ * ×ðЗÜU:)GYbò@âFŠÞPni7 €DKrø†´tGüÇ|Ò!¦ñáÜõz3ñ(&"r4½‰–È –$0cDUØ Œ µïˆY +ü¶™”ÚË;p¢ÎuAa‡ü®!¿„) r…(Šïj÷Õ³‘yERWŠþQ¼Žé-¤ˆªÄt/n\ê¤tÚ·_†;ˆ|x±Ñ n‚µX ÑIñ™'rÛñ‚@b2—-C.FT­óÿê3`SƒbÅu·‹Ôj¿$ ?Ó:FB¡MNµ%Ä÷•‚®öª>Æ¥DhÉë6®œ×;SÜü¨â/ñÅjí>ŽÐ3Ñ Œ„6^•ô…ÔºLÅ\( Qÿr Hà-…±IòªìÌ ¯»ŠNRÿS€¬Fã¡…u£Ãn]B0PV?•‹Èt×tç„ÉìÝÛÇJÃêåL/›~ñôA™ÚèW‡§U/(×G®ª?6§³Z±ÔjÂgÎÉœéöÈEçˆÐèaMÓ‘nEý¼*÷í!oIK/æX8ÿe¦e‹ fF¼ó#DîøðSø8ºo‹ñq×þB÷øwáÊ|ô“AEä\>mCaµYnÀÙ +áy?íBi¦yä$!Çd¿JáLv ”˜°ú”á[nd/ª–CIatŽ]¾;PSI‹‘𑤟AA W?lÔ7·ÙeÒa3ñËØoÆš€âÂ{Êô.,K°u_OqózGþ#°Û¾ÂÒùÛ›m2¾‡ÐT +ÖÇúO{çqkK™²§’Ÿ×"¶þìBYRùm’Øð+ØÌ…íèCA´[z’5Nƒfa8˜êßI«[ÙÀuÃÌ7XKáÓ¿¿¯°3U%·#\» D¿§DÕÿ¤’oWáXSšÐöžgµ”6¶ùÿ§_â\|‡U[onäíä8ðÇOOäxŸD‘qçIN"¬*rÃP‘Kå.yTü¹ùx++ti"êË9KÿBd +"ÝÔQŸÈî+¶%1¾¥ ÅógØP¹Oƒ#e·`žFÕ@õV‚áfj ¤¹åqÝOÐÛàM ®Ö£‰Vö[sÞ‡¿xÅRÊ™»ìúTûT‘rO´³‰ÊIýà‹WÞL.×Ù‰6s(ÖVHo—*a…Æ?–“>± 1ŠýORH˘Ö¶&@·g_Žšv_jý¬n>”LðÄü-Hu™ºXò1¤TýdDÎ ÅHúG­n±Üᚌ¶Èwœ¹\`~®®¢(R4²~H”ãI´Ó«•_q'm%…þi€º Þ@çŠoaòP![t©—E5ºÓ«õ{.¾†~î©X©ê„žCr@ìÒU~j±vËçlªA¹ø€^œôßÂ$æáeÅ/No6¹»âp(Ëp…¡q¼Z9ç÷4õŽ‰'%§²cpƒ®7¹)°±»ˆÝ#üí€ÉèÙYØ.bw¯æÕ¥„Ïç±ä†%ûDÛ$»ˆÚ~b¥žÕ óÅìóÌÝîõ„°F NãR Žo9KÉ°ÓIÜ¥÷U¢«e(btÏS"¬Òl±[WíüñÕ}‡ënÉ)¡qÉÜÙ€éµjƒ$ëVNàâΠ Yƒ,Äe …k¤QV­‘®l3jP!>v+HÛ~ÎEþ-ù9wGSmÀuvQagjk€ˆp¢ñáÉ*úíf½AêÛÉ¡ê<³\€Ëü°^®Z<îL%õëRgÀ¯ï¶”{š†Çy7FÇÓuc «ï08ÿðîaï\ET'JFVFx7«!µ°Z¥ÆW‹rÓ¨+«}:.FŠ«å(zþ]ÁÞS)™4áüÃ7ùàXÀ48¹ÔÜšLšZ + Ødš +endstream endobj 370 0 obj<> endobj 371 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 372 0 obj<>stream +Ÿ—ÖÝ–‘‰½/l’4‘ Rƒc2ò¦†h>½m#Ð^‹çr@N Ë­[0ŽV ’¥ÌF =µÓÐF™0NþP‘P…¡|Ná„ϽÁ îŒö©Á©ëv¿‡Äƒ€‹¥·¹·mQä7Ì™`W=û7æ›vk! w6„©àtS=ñïßFº¦®ëúg¢ÃeÔ&nÌJ‰è–(çPWŽ¦wéØó0:™¸þŤOW±ÚƒçT|pç{«lCÒD›Ô1‘cn-¬øB=qk^ð~ 9PÃtAWbó›}tÄ"éîFÎÓl«twk«¸²¥3‚ÃßAl?‚ìkési~áP10Wÿ|A«×UDWÄ ëžá E¥‡m‰&£;‘.òï<Ñ´Û¢¼*N /žÚ^¡ê/¼Ðœ¥»ƒ^s‡^+xS4Zš'»mÝPãô0^-¨Mñ‰g „Èó<ÊÔ‘™µOÖìëÌÎÔx:w•‡¬Á*ŠyMgÈA8u‚ì锜^'çhÝ6´pK·ëýÚ¦ÇÛ–©ì?îЬ.Øq¹DhñøR”LM È&¬7g ¦ýߺlm„hôÎ5‚çzŒ>JasÒ’L'à°ŠDQÜ™ßÆ[0Sápm¨2kòºÓ'%<Í¿Õ¦#69‰Ò^;ˆ¥8D“˜,kÇ6éd´ã#!ºŠeéù1ÉŽ>NqBcñSš¤„R1Hç (^ˆÃ$•UT×ÿc ºDÀ½(k¸–¾ÀÞÏæ0+ÎSg¤añòJjw-ätWEÔD#ì³ÊðÝHµ*a vP%H„â ·õibíÅÅ Ž¬¦J—«(¹hÌfȾ4ãt\9ëÏEµÕÁ¤á‚Zë•ãF>¸©‹3benfˆØ³ðÉ’>,œÿL‚ ,8‘spR“l6´9%¼:×f²ódQkZ< +U÷/ˆeÚvÂ;×—ô^=ŪÁl@‘hÇcxåø¯’ã$à)ß jÛÈhæðHÃ'3A¸¨ó÷ Ô€CÔ(õ¶äûhÖ‚/“9L˜ò¶AÞv¢põZ=• +0$Ò«3ÖÅÿ'‘“†ÖK…f‹%h^«ü±ö‚O=Š G’TMÕƒ tA"½'*ü³O©3a®´Ê}Ì×1Ì9zvw(ÖM¹²~zûˆ¯>À3ô¿ÀÑóŒfçÆ‘¿ºðŽ]¨Ì«oçlÁhß5Ž r‹=ò͸;ž4½±ÈØœuÏߧüN--Û݉¤–k\³`mîÀƒÓï‘m8Á3 ŸŠR«;\¿ +«—eCÌeº{rŸÑû²-êM[4Ÿzz yg¢Q‰ÔÛ +".?V<-G³ÖyŽ…Ò9g…VýŠQu¹S(»ëõ†o„´w×a¤@7]b›zoÃ\ÉNÌ™\‡kƒ@¶±j{å»nþ® Xß·=(P(-ð òr“Î8tÙ_G< «ÉlǦj"9çýµ*åÒ›¥¹?D×MÊÄdÎA¾Ãb9 -{Ïü½èã”,unÉÐð¡Dà°k *È:àû;æ@ãtðL'Åçص>’âA«Ò…W…XS7†Ϥ>¾êø/aØkP_ýÇD‘){@ Ëú Pô¥eSG)Bƒ‚PQnݬ£ŒE„eÄîʾû éÁµc˜UdRKÁ;?Eß´~|ÑqC9jU‡;œÏòÐ\Â_|.}mÎ’k–ö +‚$,¯šZ†ËÇA#éLæ§Î¸ +P˜ùÏún"¹s™Iç'Ä!kê·•ÿª0êÁÈã®ojeKZB!óé3÷È!)õ%¢”y 5Žƒ$ŽIóFÍó(ì⺎Sÿ`hA#å>ò¸ÈV¹fILWWÎø²›6ÖMÀèQnQ\ïÁÔ‡l ã4<€×³¸C®Æºã ¢Äß—›î…¸K?…óTky~ƒ×*O‘;ó;¸~2ö¼[çÏÖ¥ñ\ûê0™žjγeÏvi4Cû§ÃïEÊ >B[4$±¡¬QÒ›9M»KügZøõÇïj*íÞáqù9'¯äx9¡¦F\©\·ƒ;ƒB°ž„6aFÛK*KÚ›à²!EPÿbú+}0±pë¤Mƒ¢ðÆ{ÔÁ&ùnñ«¦. ˜Ã‹‹Mßb¢nY÷w+Ú¹"ÍÙ*àÕ^{‡ƒi¼JçMbE² z>Â+ko…¥çO],”(¬Œµ‡Õ?) ƒ#ÒlõÖ +y>¤7Ü\K†lY£Ñ‡qa¥ïµ¨@ÀSe:FXeŒV/G`óÓèò)á ·DVóàxxƒí–—ðp%×ÅàÐÞÛ)G™‰øüp½V”çÇA‡»rŒ-ˆ§WÌâN„×s ·-ÙÊL&În€©öYߥÕæÖú¥üªYÈ\uÞ½Ôxt¢Ú‹rZÉÖ¤31cñŒ>õ+«†¿@ªØˆ”/ø´Ù‚gŸÖÕFÇ×1Foâø2Ò¡£ì+¡ù6Ë;!Û|su<Ç/ |¬W½Í5 Ï{#å¡òì,¸$9§[ôvß ‰ÒzTŠÃoöšË+ ý`Èý3¹ca"åÂr|) Ý0ã)ÖN€`Æ•8#†ï Ùp+<­ØÄÐÒúÆ/ƒ¶@aÊrÍÑó«7è õ´%S JUÙ6‹ãnòU\Ì GÕš¹’‘¡›ZË4¾…U­;'v”q¿dþ®ÀU±ûNSˆkë.Ǫ›ñiÉñÀË9W‹%{STæs h0µˆÌ@;ø¨q-›€È„ÅÁ“ž¶çƒí“ÿÍ—5îö3.Å–¶C,Þ­FþQR4‰^„ߨrÂ%ä~'D‚/ˆ·ÄGŠqÕ~ ¦rÅ ŽnäV¶ "Ûáˆ4“‡“*ëXÉÎÈ«€#öãʤþ$pCmbŸÄiø˜9Ã.*Ù@€âéóêï;ÊĺÚH«!ˆ„0 ¬µFFl¹Ü¼}%[Tà*Ë,Ô¯Œá]°ŽCƒÇA›k¯-%A•GSÄÐ=«~ÿÏ#).žÌÎV €Òš-ó[º­X1˜ñ¬È_»ºÇgŽï:ÁõY_2Y]ž½0ãnlÿ  EËÀWY°îþÏ˧‰¼N¯+Î%«3èË(ñZ’ŽßSöÙÙi¿ˆ» áG …:?kl¥.:ËF‹iö‡kc–›Ò0moÌ1k¨Š[ÙHzý-Lùœ]IT%Ó(èpˆO)íú¦c7Ävr" {¾R(ì½›Uîâ|là[ÕÔø µ÷ ¿ÌzÂÜÿebÙa= ˜1?o€ýÉ9.Isz=ÇöB±ÍêçhøçÄ掇TÊ#Ë--?>À¥µÌÕU¬±"¸£°„Ê•Zj¸³‡ žyËuóŽÛ•*‹Ž\ÈM¾Ôlþ‘åÅa}ó#ÍÐaÛí +Ýïb˧£¦LnñmÄ[=3*yøËtšíÙÐ÷,»Ç™Wzf°;wa@ÙŸ9¯Fèüïó­&Y¼=chãlkº;ðí®v28aM˜)-?7Ô³óÁ(,°Â³\2”£.‘ÚÜÓŠ¸¿í3pz–V~ÝH…ZÂËæù†½Q÷<ºÛî“j´G{;´ln(¨ù¾ Œvü%>ï±ñ£ï +KîMÆ44œ¢'ЪƒŒIoGÛëæü™uì´çµ—×T¥Ã ö2 XßVÜÇÖNZEöÃÑ=›”˜Rxàe,I+«)Ý?v¯äÅнV?­þ²öï¸à™ö"bºì΃ÿ)‹d3©®G¿Z\èñ×Ëêj;Üþš¿éoi¤ï$•¼B¬˜:B¶f\d +‰…ÉwÐŽ……kîb9K­‚AHñ´\ÙXWÑn’`nQÍÇ“úçÔ + +endstream endobj 373 0 obj<> endobj 374 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 375 0 obj<>stream +5Ú×—ÑK#Ž|äâ¦Ï– +T£¥ËBqÑØ-Îæ©osØ‹éƒGýÕÊØ ‚o²¤‚lÒ¤*Xé.&§8"χŸ&âa¿4ÒÍXé…QÆuÛñi,¨^­’^Á¼­®bÛ±H@AÏ×’fÞ½+þ˜ÊH©¦Yî÷¯,¹fòÒ1ò°ðȤ Ó·©¾9†½éÇÅ +µœ”Û×ÜуÉ?Š’Ñæî +ÞP‚×ý¾ý9ö)˜Çbfof®¿K¦É\®Ù¦9—d tãμò¨ àjˆ®¥E²œ²©Ôp>ÆŒŒ¤üµº¿·~¤„yb¢ÐÒ¹2jµAM]öz®@bдH§Rfcqb&,סR×´h¹_ö|u¯ƒš°ýU•‘óTdÕ° +¶y`¡ÌºMRµƒ + Ü2uÏ¡ $Ž°û`Ïn–²”@ž•U6^ø}ÿÊOëe6}ÐιïÉÖ4"¿´Ÿ +aà~÷+ôö‚^¾·$\åùVr~—åɲ?p•–×Å'·¼X²Ê1†É¨\•ËlUƒPð“8!?©—¯¨˜SE0á”[šd'Cz·­:@êHÌVŽ‰†…÷«~nÃ%súH̆ú.­óÁÌÇSw[°¡4¯i‘aŠºàS~oTPN5彎cs1îos7 ²âßêíë+æÿc=å>à`<º´ÐÉ…pj® ôÔSÕÖLàêpºu\'&Áù꽕¦x΃ ]ýÇn ¬2å¦mTñ¸nO$ÊÂëßy}/îcÏ1PŠßtIœ¾½`Ë´:°ùü˜ÓG^~š\¥HõÕ|±•œûq,™h1X‡ej•ÖÕÑ7ëÉ*|„|Óœ ‚É|ZBD‡¦Ÿ#•è<%?”E•Þf¨JDÍ,VRÄ°‰÷‡ÿ…½Ïì.y,þÑÓx¥Ô™Ã“þOíSH“Á<$;0löB›îoæuej)uãàWp0»ß¿4ÁR¸z>…ªJåtŠ5Ëç»æ—ž|¡üêF˯d£çÈl¢„¸ÌÆ4K‘(|Û3L!–™Vº"|€q£ÑóþÙàQ÷¥á§]:BÛuÚ)øZ%9ÏCbL_MÉâiíqù„ضY:¯"•›˜¾HjiåÖ‹~åï@¢ˆ57µiþ“xN¹ïN0U®} jnºÎÊZDžÚ¼3–‹0ýÒž}>lJ}­Cd«€Åçæ¼—…€ú6I íá /7ûØS(5²qÁ Ý 4!Ÿð¿ªˆg€bºKÌ‘ÉO‘äé\¸Ì²—]©µïh“½v~sù½%ž€PŸÏ`ëP{Ô1?«cèy.GGoýjݽ´ðç^È4²S{#ܘ°×,qÈn.óoÕs¤*k}ÞÑ°ú|Ò@1ÝK{mí9}ÑŽÖ?ߌJ¾åU¶B·À‡/ÜàÿåZÜÿA˜@_&Õ×pòË™‹…íê +Ù›?ˆ}¬#ï¤åÑϛɣô¢÷mEöo ÂéËÜj„#eíwîâ` á̹Q°¤C2‘ëæ§Äº}üŸ¼†Ð­x‘ɤùqÞgÿå’óÆ`áà ˆ¶ ahýp„¤¼Ûk·W37½îS_Žñ@dq¦—*>o’çÍAañV.Ý°Û÷ÂEAŽÿ;-¯x­ò¿\H?EHüÃé”ã®&Þ'W„5òžÝ“ïª:qÁìE‹Û®t…´ ¿TŠÅÒwáöãáH¹£ó£¯Ï.*ÌhÀ4yÛœ°iÕ„¤ÌÖ.öXݧýzyn|%\£žJ»ˆ€ àB€}(Î~±éÍ(RÅ0¸65så³ÆuƒÓéRzœ!¡z2Ÿ™a‹Ç%x2ß16ƈ·ÝÒœ=Gú\/¡)Bãîâwæ5Yպߒ›Ëqòy N÷Qàêvó†þÐH áÕ¥¦kã‚ E‡rnʵY™OŽ« •NŒ¯:L1ñ12CTñш|Z Ë}Æ‹y}˜¯°{Å8¯Z\»ûÇãé»÷®HlIêÜ×’!Ï9—<ƾ6Ì.ƒè£C‘<­ÂobRzUñþ^0Ø}9ÐÐûr®úYMœR‡ÚËXš˜_‚ƒàúŠð¸'nê'Ûá4ƒ,XVCl\í>3F‘ÖLìI¤ÿv”DÓ·ä£`*…‘iÝÁ8[lˆô+QùÀ„‰$>!`ãØd–*ùôf¸7W«ºQ±;¡›˜¿·§OõëÉ‹Xè 8°ˆÞd­cñbJ›ˆ‚Of§:L=/"œ)¤-¹`{Í'ÜôNpÅX]é‡XU¹¬D”üÒ.—ôœnŸ«GÆVõ~ýº‰C;b†Î@&P•¯F§XChÉšÝEµÔ.€ø}‚öpZžóDu>¥ö,þ|«\­†=â0ìM©-=,"R éDùåÔ ÛÀŠ( ÄFñ$FoCK°ü‘|Þtà¬ZõN÷ã–G<â1´Ô—¹‹ë[QÇ–IžLÒ {^HåziHžŠ?%þ.‡çÜ•ß6jËTœ(3OT[Y’*j÷“WòYIeeŠù®9Qáû¦ l¡&«ø˜wŸ_]è«F­Ó„9„Ÿ ^x}Üñf3”ÎøãZWñ£kTŽõÙJX[6£e·ƒTo “l)®39ŽaQßô}C·'Yÿ= Ìg@'Ãè™Ý/"Ég %2È…î´P& ÉœâZW5O`ü¯ëâ¾\NÒgÑá(R'ë»$÷Ð{w +Äý}¢vÞÊCßcg7SÖù¬ÃKûœ÷x·¤ÔÉý×…’•‡;ÇKõÓp`¬„”„[/Š´Á 5É%ê•ÐŽ/e‚”d,³‘D±®±k•÷3î}ÅÃÙ,6kÖ~¿²$ +DW®4|UØí$`Còá\¤ ³®ºz²r~jÓI±ðÅBƒæV)áW*‚‰rsQ/£3ó„¡gÌÁ1@PlR¥~&Ù…ÍAgþ¾ìV5ÜݲÀÎÃÞèü™Í>Šˆ¨EÅÃÓmC(z³Kª!y;>Iq4~O½(˜­! Ê÷ÝF_Ó¥"#w½›m!‹ +`‹!¢Ú²ûLwiðUžYP #‡jfµìRnA:¥ˆµ”k>(ÝÌV5õƒ@ +ÎÖ£ÛÃG9Õ¿ +¨¨‡KÍeXË2 CùþN¾-˜; ê Ö‚¢B}CѸ·À“¤EÂÛHZ¦îÍÙì™@,"b;jdx>jŒ%Êm±C-žb;6˜^¨]ÐižÝlx³q“N¨6 _û_àç3rþÍ}¿-[ªsn^Ó6ê6 +G[š`0ždøN=1^ï>bfž”Wa…Œ»›—Í.Ô…­Š6ÈTBO5爮Ÿ„ô4TЦˆóöYUž¨ ëæ.´@x9/{)Hƒåiðí¬ä‰ªs41Ìâ34 {y!€ º…þÄ$6åئI Ú¹93ಖdBÒ%(·Q…zÅ—Y/a1%hñPaͬ®¼4ñ?“ÙÛ”Gñ†]ìñUP2p™™¯x£Œò‘ãÚA´-‹½w<=œ±øÒ¦ kê­>2}¦)¶wâ… +ÿÑÁƳoðAþ|e¦1'þIì—ðçeÈ6sœ'.¹2”iâ½Ê FSìå,ºÆõƒU!k]…¥À¾0Á.ÄY…¦¢º »¼M¡-œtÑ;è\dƒ†WðR;ž]·*-³Ö×åUKbÿ:ì­j™Þe˜•æ™›æô —°.d¨a‚‡”™Îeeð û=ÈøÔL9Ü’´cÒ_h¥Î½í­£å6Ї¶å]¾¶|p‰à`‹Né0KÑBÈ–­äþ7¤-×ë@÷˜0Ø èÙ#0â@•ŒM<³œN;)Szàƒ;J\±Di¥iP”O}«Ï0ÝcäTˆþ–¢dÜAÀpt$ø;¡FeÝ~ñÁÞì+ËñŠ=4ÃBŠÕãg µú8ƒqüDiV¿´K¡>Œ…G׬€×u•+åcÈà +ɨ¦¹ÕGut‰«-–Éæ)¿f]³¥O{*?â7Î=HoVõ!(ëOS°ERãÌ„XçŒæ’½Ü^ß\þ<Å}5fkîëãìþtq4ÔˆHÇÇ(k?†q?>W’ÝH–$¤çó_ ~ðrpϘ¼Ê,Ywï(8ŸãL•Îª±p±(ÅÚS¬»JËò³ìó—zÒ)RL#T̆*úµéË‘æÃfgÂeíf="ƒÂnÅÂáž/.ŽšµôK•>¥ÅŽ~ÇU Êk’ŽÅ±Ò ©ß¹„1ªx¨‘’W„&Eh'ðÓ€ÑVß¼"I)ÖT·rïŒ-È‚oõG·C!ÉG‚ïéð>{¼‰ÝÂ>Ù+ +endstream endobj 376 0 obj<> endobj 377 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 378 0 obj<>stream +†ýaÅ_q eŠ´è¤t+ÙS]ájyØ~ïØÜz›hÓ˜’ÀꕆÄk ƒ`:}€)ı¸CS<›j ˆ‚J?–î-­Zp²ÑI®ùˆ R üP✶Tè¶V3x.˜ßp*\¶bÓqß]O„ªFúŒ°8™P™Ízkúæ3ˆ’Ñ .ÙÑØ'úB¿+®[—R@É“ó³ol2ºbZö®%§UƒÜn(&ž–ïÏg-µÜ’¨[šwKN¶ç ›/f«R[Pˆ%hx‡ƒ¸™0%CaÈ¢°(Gå²d‘=¾Ò+‘xÕÔ¼Á­j‚ª¾Íø``Þ„ô8ü8\Jl¾O]N…6{‹PzÛ‘dì'¹Ò ìÔ¥ÔG?H#… -‘Ƙ¡^PšÊà¹OwiO= óqÎpBYÌw(öãöùˆ§‹,S¬%«!; +Ñq~}r퉛hfÉI0%=D=%1Ç +ž^góŸlö[g<+éQb|ˆ´­ºËN˜Ñ§ 8ÄYv}YÆý-ˆ$à’­©÷ø1#'L‘ Ä[P.n€>kèXï©^ÃðÁ²¸î ðÈZÔ\Ao^ØZ„÷ÊF™¸÷QJ¾Sۑ倌Û]$Þ^\|I‰¶GÔ·ÐGG5³Jwô8WEwÂê±ÐZ™  P¤­‚ÚnS ÛÓ¯`’[lSlr£UYQÂÚ\šœCI³t+í$M æb’‰ ±›>ƈD:ÿd¼Cž@ÌÍé©ÍX3N,±UéœDsW:­ÓOõ½óï‚:a׎?žéWöƒ¥ƒ^YQ#¬›°yÇœ¶¼Kp Í"¡ £šñß©nìݳð×±^„<ÑŠýâa²"NÆ$çþ~ +:Ro;©2ÿí+`ëþÔ8°”³= +E‚5w«4LãÄÿj÷ÊŸZÏ ¡ ø4LaáRœ–ü{wp˜;0Q\¬1õVR…ˆÅ÷g²?Ÿ;÷´4·&.;'8 IµôŸ8âxv]ÙŸœ[˜½˜ :À"ä:ý +=$©Å^º×æf€›ÃÝÃü““ Jt'·˜U!áâøÛ!SÅU*û,V¿gŒ®ÇOžÈe ˆÜ%‡,[óI˜…4´¯%ªWÌ Ù--¾U (^) ±Ç­µaÌâvùÉ ¥ŒÒxSœƒGþu$÷ˆ:hjÞ_º`Øf/Ò +P “ÊÿôÊ6¨·Ëd½”Zµ×4Á+?ØwÇTz?’ÚĈ+«}wüű5)¥¡ß›$ž‹.L~ß26–üJ[ȨO|u>â¬Ø­j/óÏ (M‰’sÌcÖ ×;òbòª±ƒ©zùìs”¸¬›DúÁ²ÆA§lÕV¿Å¦ùEŸÎjåûŒÕ?SQBŒ’Ñg>ЛúÆ7¥ZhuíÁÏÆ[¿i¬öžáâ8°Á3ðß ‡è§Mv>£ÍÎ4dî2øæ;è¾rdj?ƒŽ4íÐ2íŸùDÒ<|èüs/ºlKp›¶Ñ](YÏraSC-Ëýû¯S»7±&‘îëuŠ›L,çÙ› ¯Byý$ùg"m±±z@ç Ó˜§ìâõ^ Ù6{ ÍV~˜ób&Ãœ_צ®«(Hì²HpôbÜ•54ëWý¤NzŒPÚOçë$7ªñýͼ$ÁCãð,røïûH¼ÐÿVP·Ùz,«n´ø’>'·›oZõ°V±h[}ñPv´[ío~‰g9O¦ž`¤‰#h¢)ÿg›a¿†›8w1YÚÀ›€ô%æ<š’:tÚT[å%uÒÆÍ2†?-·LÍE©ä ¿ÏÝžþ ;Öþ{&Ú;ܱ‘,™Ô¦VFeáæ&ÈX©O{2ßWoL­¹Í+ùÅóŸ‹+nŠüñ/ŽÇ ~€†F¯âJhÈì*µtOø%´#;û#@+›}Rî\1³›‡cÛ;³·ÓºSTéY2GxòtïyûÑÜQ§ÊkÅï1$¡ó ânô‚Ø &ÑPáÀÃÂh¸=Qä–¼þhH½‰ïŸS,Quô/ý­Øü¨“ãÍæ âpùpøÑ ^¦üfqÌvà +`Ê`O~§$–'b §Éñ¶µ”øK˜©&—õÌÕo`‹p¹/û<*–ÜûyzlêxuªëÍqË +WÙèªUßaìȈ˛–› á·–¦¨»ÿvöƒú¿¬§$Ý&"$³LéFâ8×Ón­q1|ùÞËE¬›¹WX£Ï²Î®^ +ü]PšU¼Ó'ËZîq.~€Òè-Žž›üK‰¨çù9ß÷²%íOõ×ׄ\2ê âjÜózÿ¡áèÏѯBMº¥iͱ€Ò_Á¥1•Û>‚kÐ&ª#l5ýëO0kä rè(ßH;M=ÜmP þ’€ïÍ#t¶Þ Õ"q¤`„ , ¥d ÅYx=A>Ž,¢DTŸtEàPš¹Œï\8#ÖžœüH*雪§ + +ã•Ln¼ áÉ:ö;XÔXD-1¼¼QÀ-á>;sÇÆ–xëG¢skcñ&‹u‰GXž-àë‘QÐ\X´¤ük\As°V&õ0`£ðF¬Š!ä™ÒWü¬2Y— Ø{ÝK=¹¿ohñ÷UÅΚÒxo¶„â³m1ÀWªÆx=¬êaW Œù#³¹LQ?œIùÆ7ƒ°TÒÙ¸ÄÆ9 +YÁLèQ㸥c#9œçAaM|ˆä|¿‰ÇÂóC‹ü“£¾ +$në­GÉøWà×’\£wæË{XÏh¦!âv@f¬°X‹{ BGQœ³ÉÇ*ä¾ÁM úùwç6w¯mBrÍØW¬.Æë–Ùö2Zñ°q)v1@fË-~€x*™.âT¢]̦兓2'(¸“Sr1Ð!¯ü‡Âr»Ñ†ƒÞ¼ÿLÞHÊŠÈ%$Déñ5ꊔl—­È-SGYØ'à-b¾SÚä%,…SvÊ,WÙY×¼\ Á}ÕýkgcJ“7T¹»I»QX*X'áaž-”"FLb«¦™-ç!n}ñêØ$ Uä”y‰ò"Ìø ©H¡ @8#öOøÛi¼q#Råù +œz°}Ó"4GÖ³Fœàþço‰ +["Où–ǯ=94 "âE‰`‹ës©G§%ë +Ûúáú&A÷hÀ¶ÛKÊ~Ò1|Žï`ÍwÛ@lU ‡L11z)LÅG•.Xù2Sx¸#™òŽžduƒêÕñqãÂå0i+ c4Cð|¦þ\¤vÎ(hZ¢4kÌN¦KE~ØÆ ,%›V¥GÇ¢Óò× T:¶¹jrÇpô2h#o¢a95’ü#–1®Xç~S[ r)H•ŽŽ–i$á.LËN<Òs;Ö—V¬ãu3@w°ðÛžì‹ðÁ¹møšÅëÁ³)F˜æ¨2¨øxÁûëû¸`ÓR‰COö@•Áǯ"ÅúðÐÔ%:C6ûÀòÑ´äÃÿ"@¼§XŽÚûÖÙð¥ƒxJäŒ ¹p7ÔˆÀ¦[3o"9v~ß1á%µÖÚ!¬cŒ‹cPçÂ5Þ—h>¯ÂzMòz¦L¹ë¡Ì9ò.~(â\Í< ±@¬ŠXÃþÙ{sD”Ô¶£ n_šôªD l>.·™Cv°ÿÍöH€D9@æël¡í™³ÅNYª”ô]ñnÞèrIuÅúÂaCÃ~ÅTM¦SݤÖ‚gP^ «}öÁ+©ðqmX¢.ûG÷Æ¡ }-÷GÔµí^ao“˜!¡¢Múow¯|Rã~hŒ,#¾ðçõ²/ÎÅMCc嘊¡qõÛ“Û>¡1>&WŽÆA‚í¤É +­…†€U/0)ÐÌ»ÓϺ¨ûÈqs]i*!Gš2óThOô'¡W +ËÖI¤çŠ­Ôýð<³[Â]}ç<ûéîçÿþð²úÚÁ Vç¶ ³z?1îûv9UÙg{rFêÈ(@9Ôún#É®ñ‘§7HeÊ1ùY +SáÛÿ':òí1í½¹?œÛ[ÿcMXï÷þ—Ö¿âðlÔêš·©Ëjßÿz@E7ö›[EænçÜ"4Bq¿Jh ­íšš_éãcŽÔkSNžc$È_[çj3‡ªrŒUô„¨åËpfXú4Ò-…] +f«ˆÇýq493Õ˜¦Qö¶Ra¶sLyÂ6PZ^Ð|W:5–O-ê6®Í?ãÛâ\”sš$¬–øhªñ3w͆¯ ;¿™ÙE6UßE—”lNFYÔOûdèDß°øñv¯2šü‡ÇË$“ƒÂj‚RàZ*ÀV±s°wW¿fr﬜ÊK&2ºê=$yäôp&ÉÇ«å dF¢Ùc|¨ß¼[”ðÑ £ª|ECì Þ&îŠ i}[²ÓoÝ>[yච‹Ô‘EeêJ*cv÷ÐYùÁ¦“/žâ{\fç¼B»Úžû§¹ñ˜Gj4!xø¡Z‹ëÕbuÖÚ§¿M6ê’¨¢tçs8ƒEhîžg´Ôww­_‰^ªKðxîs‹ ¥ÂÙ²ÝdÉQ)‰4”)÷©Šø¾N´çшÈŽHl&ÞpÈák0þ2Õÿã4åÑöÅ•š÷4)¢Ù@dU +À µ2¿Û§{gÀ +ô|ùW¨@‘üdÿŠv)Áû>|íÅ€ÙógdË{y^ä´Z3U‡þúCÒ‚­°ß ]Œ˜Ïâ›X'k¯KØðàÔ¥m·²ùìöFì£Âñ +‘ÍÄpÜ +`ëƒg²PV⥎€ZÖ ‘(÷FúVÃb MëóæS£ù.³J.¿[¸Xâ  g´r ‘-< +endstream endobj 379 0 obj<> endobj 380 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 381 0 obj<>stream +˜è”Õ­7Hs6î*ñËYŸ?5ü*÷)}ûV£$+>ªß˜¤€²*úÀp êŽà@0‚GÝHdˆ‰‘÷P~Ù«F5®%¢ôÜÌG„úï}®v_õ͉P­dOlm@q 6¬K¬foÛ²d»#öcR²‰ÕY0ƒ÷QèÒuЬ +FžIÁ,£,Éó5µòt ++êňL«„µ£fëöÊÀê4Sh=IMÌŒrKÞ=O˜»–•ÃŒ95OѲRHŸFÅ’6ˆ3—KwËŒK2~uw‘öû4ÜÎin»ƒAx>Ïr›¤ RÃsùû4A ª¨Ñù±ÊF$ º5âsŠ0-A–´±8Û~9›Gì§ÏkËúfïkf/ݪ1zý€°E¢•ÜhXàŸ˜,0žj<‚«›(Ì3ì”ŵëÉTªæCÞ…«Ì›Ûiø¬Óº—vù[¼;Ï÷úRŒØU©:Ç_ÙÀÍøB˜îj”ùe> ðæ[Ü«æôG”ó‹ÚK…'ÿÅPzÍ0'¨QÈhZv„dÿ³¶ƒYÏXô‚Kl¦“mt‘W“¿•Ÿ)Ý‚”Êž&‚Ïû×ß̲NsÒi[åáÒ:)k`ïÒJÅp€õ‚’ôW"oçÑà}HIòcŸÙNáŒäåÜ¢ õ`ð9RróáAùŒÝž×ûC`'DŸqîÚ)'›œÿ»[0Y²×§ÈâK¬Ó*VQK£óðp¿¼äd]P +ë„aÔÐ)[¹=:$?k>Ûö’þ[·Ï¡ È{Vÿêå û¦ìÈ™BB ¢ß^nô…R9—1ïb9b_ðýç„çbLî©û’ÈÒ¥ÿ^Žì·žG(°FÃ_CÀvÂ8¯•n²h.hüö +~sQ¦Vw%`™h¥Â²ÁjziÝß:Éž±\ÒqJÅ¿Kæ4¯‡ùâ2'ÈûùÐ6$pDm<±¢MãÓé9Á|Py"U1/ZûÍ#v¯÷“ þHuKbù ~&çŸsOÝ`xÂY¸ƒË¦¶ùDV)D‰ 7+Nú‘dw?P¦¥pd‡4 /ÿ¥ƒï9ª7°ÿ2'ï6¢,˜à9Õ/æ+<§ÂZuœêNÛíÒb"\!æ¡«—Î÷ñ¸¥ßdþ ‰î5.gRG„e +sC+¬b²¸èµ¡uNjiªïŠ ÄÔ+Å]a¯ñiØ›TIö ©B±™ÑO³>q—®–0 ÷±Ê\-JçÄÔ”¾B +&½Ú,à]dûÈÂÜ>Â-úfàQÙAú¯Pq¨¸dèýÔ‘Iä¯\3Ú‰$ÅóßGÉÀ=šOi£)që¿ ^&ÌØñ§¥Ñ>þÑÄ0Hjš!B‹×‹2.ÚÏìBIÚ' “rËÌÊr%ÎøeÕhÛ郘ºTs…ùIÆœE¤Ζu( ´äbUcÐ%ì?ÍKù•è²vQY>ë{Ëõ þêvFËÃw*#¦:¬3ãåW…½§SÓãkÁøÒ]Žæc)¯òƦŽ­h(PÏÛžâ2,Ëç‹„Øý±•ÿ`4Õ(‹ÉWÎyÝ´ðêÒ&‘/TÖRçDìA?öZVÅÚÅZ« +YÙ~ü“tâàcöª|ÿ>%Õ ›£+è›Ö®A*$°HWúAØqJHøüÑÇ»öú~‘Õ¹óFxÿ½p7cú„ï«(p[£ 4[f¢ÕAãî½`èxæ§çþÛÞ¶ÅèComdÞ­àÙË-°­Òd µâŸIG„aq¯ãÈ¡s‹£àö +n2ò÷«»—¶V!êÂÝQ'âQ6¤Ïkó5²<š¼ì•áH×: &Ñpƒ Ü‘ö^ö£v±ÈU2ÐA©ÌíÎML‚žƒZaÄbÿÈÊæÉÌÆ.Í]$dÇ<eƒþÀqNçðê‘&Xs[ ì¦)Äy—÷ЊN4W*ý24•Ð +ŠñÑO½äæž^õï "4$Ÿf¤kè®Iù(ëøÔômˆZÁ〳o>\|Dõš{MZU|eK¹ýR¿³É$ó9êø[µAgøƒ‚()‰úÿ³ßâG!›:Vó…Šb‡˜øŒ‹C1êîÚު͎1{çî?¿ç9„mMÅígˆ‡ÑLÊ_"¾d\m«TN¬;µ¬tv3+ÛqlB}q°˜ÙõCôšZ}» «Œ¾Î ~ª»ñ‚8ˆ}îe{v¼í´¹ûBcp{GçŸEÏfË]‘øIû ³WÌ€×’…^`2c¼‘|hÚ†·©Ð+ZÑ]*ŒAX¦ö²<ÀìЮ…‘Ì廙•¼+•rö@ÕSÍ£ÈcÏþqÜ;ŽÇÜ‹ž_5Äze-M\ºßÏÁ'¦ò¼nA›A¼Õ¯Åç–ÚÚÜc +»ÕƒC Š§!ôÐêõfÁ’U‰‰Ø"ÉƯWé«£cÓrÌ”ëa?ò›ãE² Þuß„äëhš÷϶zyé_ß9ymK!ØÂÍwÐtê¹6ÂË‚M+yêwŸ‚‚× ^ÁÃBÖ<äjE°Ñn]§û\âZÞa Q2Ï–,TVÍßK +êØ´Ô¶MÜÞmZu12vi¹þ*¡Çtœ€\dø”0Ùߺ^÷TZ©+¸jòÝ0!A.;Òû0—0(0±d‘û +¸>É¥ÁÍìf(è‚_?²Þ1\¯lZ‘ζòóuƆ.í^ˆü‰ ¾TÛ;q)•ÁÈlH4ýÉïëpËj9,G|ìcå„<Ç®èZmÄ)m9ù/@ùÕ^Á̧ÊA+ºm÷^pLûÓÂ0¨‰5…©Ùcê Xó(‘‰µ×F-ºna`ÀÖÍ©šbb1g7V›3¡èG„’ðš»­iÂRÔyÝur|a‡Ÿ²¯,ÔEÃÛ–˜HàsK<µf0P î°©Â[¯ ’-~†àÓÚã_~àh%™œ1‹­6ngâI¸4šFöÛ“ÚUxw=/ó²kRÚžãj0¦ŸÜûâЉ¡Õ§Ò@¤¹-M<\d?ÏýÚ9Bƒ00BÝ€´×}…Ä€]‹ M‚rLoõw±Ñžta0ûÍœž‡ÖÉg"4€ ‰ÚÛȨ{üº•ð¥¶þs §U–vØ}2R>’ÑÈ*¼ +zìŒ|p"ó¼;ö8ᶔtÑÝÍS›äÿy‚¸¯c"b•¸^Ñ¡BÕp°ANžçTŸçZŠ·íåÍX‡å¦å¿Þú+›iZ1ªDÙ‘(Ë¡ Ò132• xЃ†g«_íLY[·Ê}‘Üc÷ûAxçS׊Â%nÍÊjü ŽÜùbˆ6—Ý©Ä9Ŧƒÿ›ùæ•ãföÝÊ.óâ†jÍo¥Â×a›Xü¥Qihò†uÀE ò~gEíJ´Úz­’Z•É#ŽžW™$§æ K©êøD¡º¸·Z(à¿Ò0 z³ãD­œi¦l<‚]¿/ZÁ«í¸‹®7£ìdÇòÜñ>:ì+ñ¥ûæ + §$ Ð9³™fŒ3ÐòúﳪÃö¤‘a[¢ H¬%|—¨þÀÕOs¼S ²N¢þ GSJKÉ¿e.Epºrx¼}¡dÎKÖ"ànqz÷¨jj%ô}‚'"N +¤cD$;ÞD ½—ÓäC0X9Asž !þzˆXt¶wKCo_UZay9Ý\Õo¸9¤ß+ÃoEÐ×Xü ñ'®JÛ‡'²Z–úZVrÉ!!L­á œ<}Nº‘wlŽYvB ¦‚!jnÞ5W!OƒBkM¢¬Ÿ, eßú AWnÉ#ŽÕä¥ Û¾p!À#Ò™›‰Á»Uº)É_gEµŽÉÿ…5…µ×'äÀ–¥4%~k†‘Ëß;öMqs¦ž˜ ÎV•ˆWPJœÀÉíœK2ì÷ôÀhâí!34¢ÓqŒ] ÷ Ç ¿fWÖ*š-LÜIþÈ“OFÄFÉžP_Ä«4Q«õkÉvmø؆÷[A@A6*•^‚+ä_¢DPAù}Zcu×BjyXI£`/$ˆt»×"ïÁGý¼´Q§•÷Ân561 Ý‰‘„œ¸ã£™Î_§\ ²ƒ>î¦L±iSš¢= ”¤Œ‚ÕbF¡døHiK‹SsµÅÜëÁ°¹{.-\ã8qû0õ{ÍEŽQEð´lwF‹ÿ­9xtÉohkRµxàÔùÿO ¶0ª"ܸùlvx_¼LŒˆ©†hwõèR¸,ZÄ:w5h–ÄKìõ6¯N|¸û¹0‰øF$ê'C•6Lˆ»½ü܃©]‚Ûé1n9}ë˜[5uHSž€i*ÊçoÁ5ì ùÞ¿Ä+… ZQ\ȯEUnð€”´%È!¼5§ ‰eeùnó.Ðwë·‚\¼,“±7UÃbaè…r}Øæ\¿ þøœà?syG]ìýPÌ›.deFÖ .Wõú!½žñ +©ÄM ·úŒV¢R5aaûžFörPK‹ji]Ïöm‹*Þ/.HvºT¤~`E,y&šN@Ý桘Npqß[/ë*Wë– +”†'µ6§’–Qj‡N²û1–ïn:E­Ä«S‡Å) ¶¼@ª¯PðONy`§¥9#Þ1K‚¨bðä}ÝË ,¢€©›o\·å…®pøu;Á “Rõ‚À·5³_.hªåÿZ»ËÛ¸Ù{è²åkkk¥¦^sæë») žk¿qøÚ®æ³9û ž:½„ŽÐ‚´VCËü( ü6•Eå&SvÃ!t{Ud|ŠÌ. +uèÍ&ÉîënÇØÐ'þÔfßt–È¿dHmû²Ñƒ¡Ì ~ãÞÇMŠ\´µýðÉ©éÃ-n;$Ì%l©3(@rÓrjÆ]!©ÅÄ+t1ò¾BŸלECÿ?që'mÒ+ç3¥ó[Ö"©!Ô/äÈÜÃh2D§obŸ[Î,Ô‰ô/!—ømŠ(‚׋WbHcH—E¡WKá?¨/‰îΠM`<ªGR нTÇ)Áp½OêSjVeÜ%”Íö%¶æ‘”Ÿ¥öû;8~µWóW40N[Zg7p* ¼|±Oÿ#vl0kWxg@ˆÌoNáSø,æåÓ‘[’8OqKÅ|³À‘œ"È¢Ãî€æ‹ÕGKÛ-z¸v–¢¶ÐƒQ/¼B©=C~…îõ^KTT5œ-’/dÁ¦_¥ž`¬í² +ã/ uxX"íÑ »ÚâíxzÔ‡û‹l÷Ϊwë}U˜rkääpléÅÕµÝ-×=ê‰ÌÏ8W«‚údnNðáñØE§{½mŒÂnhRy``ÙìÚ_%“jøE­s/ê‘_Ú ¯iÎ8e/øM*?i8±Éó§h­½Ã„(Ì ·T|‚¦FÈ1¹ÅÌf?C!¡ÀI™¸f&áü"„ÀK{å>ˆ0V$æœ!S¸¹Æ(l„óiÞ9ª=ˆÜ‘Jqg²d™{clzÅÆëÃmˆñŽ-ù¼ã©?‚±ï‰ãAn¨å¶;I-–E÷/ —´aÍõ J爒‹ lÈ+k¸Â²RÏ‹_´\sW ñ|e-Ïaˆ 3 ¦—Œ1ö5eOFÓ!*&„§_û¯µ>@œ\Ó±~È{ñõÏ‚:fñA[æ;Ñvpq5±Þfm¸ð %u,õ ˆêeZ]»º"r2Hs¸9›–\Ð×?³I£Íš‹M“!ókZ?´Æì&Ö"B wUø"ñ À^'עĮ/PCº{&í™+býoùb=&¤†Gþì~$˜ÀSÞ"û‡JäSu¾|Bô=æSö.[5k­ÜñƒEIÉd¾äP“ñˆ‚/üÃØ È/™«¹—þn;Þ7µÁáY¨´“y²«£•òL³3>ðVgdæÖïNñù†&º³›WAáWŸÜˆùbÿÍmby¾þ×X[co»„@fvšÑ\ÎG’go׫RŠ0í­ì3@j{|°yÉÿ\§µÐÇ‘'cúb†Ñ®|üöíH°@ÃeZ•µ¼µg4­gºpu¤ô$¹kÔ{àl#‚8Æd÷½M‡AŸ÷çcáTý{쿳6„h‹8/ö»Fdz´xõäH|R~1þ#!Ç[Dæ WòŸløÉt®ðíj É{ÝqþqêéûU6N#ª©.Ûo$Œ'à¢)æ4Ëí7—÷V:—³>ÕW‡ûýO0Ãâ¦1±x"&«òA£:ù̳¿diÓ&jê½-÷8$.¾šìŸmI>è¸fÑ©EWõ™8ßËDg®8äÀoVk¸Ñ$F¥¬ã ‰Ü|‡(G–< +™zÕîgø½©¼šL“‰ñ}/ã­““o‘ãøÂJ{ðÔh±; qäWùGði‹ªv“;F¶m×Øè±èï@w¡al9u >enýS«Û×ñë8¬îÔÝȯ¼(¨šþ¸e!è’…Pé¹$.ÄJà³<æ'4±9¨üó M—µ2ÀÝÜ&»É‚oÇ¡·-]37g}34y£!F{W‘mZE…TåqXî›ú]æ¬Yñz¢ -™*Ó+#ä¨Øµ|Y'(“Œó,GÁ+´Èùü…û“ÎX€{׸Ä[‘¡Q–ܹŸÓ·#¦Ï°@çþ/>@îÚr¹Tµ{œú¥ ]Úxg•0º~<€BÍ„)ç»8yŠè3ÒÿJÑ•N¦TdxЦÒÕã F7µr +endstream endobj 382 0 obj<> endobj 383 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 384 0 obj<>stream +ˆK÷(ò2Ó÷ÄIÄ£kR]ÕûlDÚ`ó‹³×»``Ò,ÀWöø…ïGn,å}—F,æÅP×mfðҼωËäÞâ:ÿæào`ïXÐe5øÆâ 0ë3_¦©nÍ+m1£.nPR¸ÿ¢ZÁ™ÍÊ6¤ü³qÜÃ0RFyx°5¤óÒoÎôdUzµèT‰Òv«¦õcgøp¹<¹ X¸öçë‰a×ÅHKvÉÕ/tyÔÆ_rÌ D¦Oahpi>»Ü{å C&}üð˜÷ùSê2¨b톅u\_ÆçÞîQÇ Õ1=øñ,XAwXÙÜp‰ªž\Pze/Z +å~º“[Ä™§(ŠÞóÒ—Ó7͘<ùeñôÙͷϨ ‚uîú¯3Ð}Ö~^îVEâˆÁ HBÞ£"M¥O™Ÿs¬é/ªpU|[CühP…D¯®¶äS,Ýý8œ¨fK&»¿ ìáqUS"Ñ”2®Î—‡ÂÍa(µ'§FT‰ I"Ú‹KÆiU:[@êñl0Eå¢íÚwp‹ÈѵÂ#òaa¡´jß|sžž„•9_ÿë—Ê>ù±¡ßWm7 +E@n­ômæ +|ßGqvŽ´íô˜n^d¢Øt§éÑ®AL’ÕÐÆ @dq–.Üwµ™Ú<Œ‡0Q'µ"+§´l ƒ“GvîNä}¨î\C…C–}:ÓHëÒr_šXîÈ2¿I‰ßAƒÀÆ^m|éþFlQ]{Oø4zt¯uÜí–A‘ÄßÓg1Ÿm1œ|A Ïkê‘Œ=U+]À-©«  +q¥¿÷w‹ûÿ +5@›‡‘³_çõ¼ªˆ#¬“´¼4ú•)ãj—¬xÏW÷9Ç`9¢ºÑL·s˜XHÞà7‹¸tr‡[q1ð±áØxÈ{„•á)m¢IwØ?zùâ~»Eä ëãÅÂ#ψÆw×ójò˜GBIb„ +T§«6WÜñšÒj1C\Éx=^=²3–—Êó$¹Ê§šHbz6µýmþ;w°úaWÂvü±ú‘(*è¿u[.8=®ú„6 eôKP¯†yñÜÉlA2oŸîÀù' +¨gõ-À’ x}='T’™ O‰¡p†{b+›+XPÚ;,}Ó˜ñ6Ы_ÿl〠+ç3E¢P_Ä7°ÝñŠ\Êòvºm¦‰©™S mn1–Ö÷ë›·Vr£ía5†‡ó–[fœA^笢éÕ0¢Œ|æ'ø§®LÆ!uØ`=ô@Þ>£Ï±#+µ%î[à4ç¬þ›Þœ E¸÷y~!X•±18q%9Pa@5H¬³n€ÍBä«cw&³‚'ø´DVCœÒӘ爋 €b¨ Öi9xùÙ ¼"Õ5_CýG†Áp4F{ðS"'vú%Ë™W,S¼‹É ÷­ßí©ê€ï¦s±šGf¨¡Ñ'5QIh-”{Ú%-&ìj¹wã´W¹zËÇuÂZ}ÄÍõÈ@øGvµÉŸ:…çZzB€w´=‚"ˆ`Öu›ïŸÍå[ÇÚkáÚ²±3íNÙ¼N\dG?CƒUÊ/µÚs§œ‰÷Ó¨§È¢¶7Z‰ÈŒöÒÔäD] +ºŒcYhït±ÚJ=(ŠÂßHˆõ^c "±_¢2d(é‘dU8ÂõšðjãZqÎJûûQ5é]ùûΞ¬þ nÑm7®²s US%]ÓIâ)%hÞiØŸQÝ™¾àÊãÕYË—“aŒ0Äo µù(PC|ØöNš €Ïd[íÐð@¥Øãã ýnËNzGúÖW›ÄšzçÎ|œãƒÅ¬®@Ø©~ùíÊ”¯8Ôà’"ŠbÎ/ø/-~|9¥Â^Mq×úG÷5´ñ÷`%?f\¹Dp­¼vù]Š¼Vn\4? ¤w0œ««(h´{ ŠŒ¢±ì•ë•þª•‡Y +ÀsQt>{G"92÷F…XKH§õ8&tô6:ü?4/ªHU¤*Ê +)& «¥2ûX $=4ÀhXì;: † BÙ°qš!òJùËì|.æXa¦ñ”gƒõ,zˆÁqŽERŠÃ?° …ƒû”T#ƒwôñÝ›îÂç3"'ïËÓÓO4·™n¯©þC‹±£»¨Í3p/½^Ž·^U’âv¡ù&Óí¨e’´ÖÍè>ð»ÔÚExq¹”ü•ê×·õúô( ò¥ž;³F´J%Š ÑÜ<3(¸cŠ™=ÓV̉anª•$:Þ&º‹TÑl‹eŒŸ«³7\\X=ôZ´%CþÔ‹|è¡ëC:ö8¦½½å¨´ÿŽ`ýjµæ’eÉO? nÌŸB•›Lä Í7²ôJ­fxOS§ýyP$J cçq"ÂÍ? âp36ò9Ä¡)-ôçh½ïó}¤9}áPGXšß&uˆ`8EKþêÚô­ffž¬ïÌNç Þ ³M.^ŸÇГq`ÙY)"œIáL„¢Öq8"ˆ?wkèž&dzm §Vdßž„d'ÃkqãÇíšTÉv«ß‡Jœ%c¾® ž%vvI Þà–pÄ9rD5µ¸ÑÎÆ0{G ûŽþàp¹æ¥U¥×I.“ bð5ôv}ÀÌÍ(å»­¶¤r*ecßš§âX\¯vŸüÿéÅBLå/¾ˆvÜ ÜÒ“néy’²4ÅÖ!„¼Mä²bÒ>¬ïQ‡ñMcóýPmÎ^E¨÷9Æ, `ˆ”ÈûQ“n& »ªÙ‚uŽb¡Û@3ìŸÓu˜-–ŠSÕ¸á# oÿÆ¥Æë(Î… FžØ:É9/Ês!ç ¨AßÛ?eó2ª«´FŠ¢%øuÅèÉ¿v§™§&u]y¨gîæ¶ñrnî¶oíê±\ö›K}‰ô€h“mÉa¾ŽNÄ„aU“¹¢Üëoº4]Á¬Dó-P9ð¬Ÿô2¶Ü‹âñ[Bæ&^ÇÌõöjtÿä{ zôD{ÌKòV$L:NŸŸaâ²Ã:i0Ó”_Ýä¿°„„ihKøµjÈa€È<èžLiOQ½|ñwE<žÑNxþŽ†¯ñÞC³*QvϾÊ9CF`ÎÒO-D .~#u…s9Glm~›ÒT¢ž#ö!{ºyn›•Oi˜0^E-ÿh²xG̶Àt5å®yGaív£ò‚7-Œ†·J‘ÙÏQ8ýýØÇÎ8Á +endstream endobj 385 0 obj<> endobj 386 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 387 0 obj<>stream +äµo–¬Ð]OxÜX„””`1ÝF‘,|õm"ó‚sÞÏ`ZɶÌ`%½#X@sOnÊW]JW ÍŽ*¸(íPF•ðç5ç]RL9yÿà_¯öÉ™À+§!y‡Ï’Þ›H¿HìÛÚ¿^ñûÚFá»·eA±œCý ®ãä§{Òs]T Q  +¢ƒT-Á€9•ÞRÏix+‰Ÿ˜aÓ‘q^K¯ý ›^Á9ÉCÿïC£Š°íT0 +rÓý%sÁ1;€¥ÑkÅL)„Tӓ̆Ÿ€Aùõðȯ£o¬ˆªÔ^«ìi/ÞÂÓF­ÂÃAABÍŠjÅí[”ü³ïs˜‚íS#I,Ÿ^dv†¸—V“–ë(¹nÖšfÈu5¶ÐÄž«MÀм[¥R‘°d4w x”L P^uOº,Þ¿€:õi†“»„Iy¤z•“Ãû+»,€•÷ð@¯kè°²JÅ)•dÄUœNc—¢fö?ÚòÌÛKè†Iº»žw·X²À‰Eî®hö² +$„gÅT¯aMy±rªÕ&¸¬ñ:ìºðßÂó·¿+e/;þU~Zrp‹‹äM—H@ΟÆ-Âðv.äÃWýïõ{…¿Þâ;¯öJßœŸ­¤Ý¤¸1®ŸÃ†Á)»^§çïÄŒ4}7‹¦V|Áà¾Vkæ¨~Z¾mÎkÿiý ž;ÚÄ¥AàDœäw04 •ÛÐZÓ‰©ïœm–!à•Ãï#þÊD¹B©ŒN•šý!Ë#€€mßžh[Ýåį¼È&'µkpº"FâË~[6øYÏdQaHÑþjgÊí¦ej—ØúÌ›Û/¤7a×hìçÑóDa¹»È2*¶ÌŽŠwíšr¶É~!暜ԗûeÅ‘ËÂSÛBZ™&¢Ã$áú@­½ì½^KÀ„NÐXôƒÞ×O¯u3/áÓÞ ]C¢Ò§æYšKêçd»an£T;MÕÃãÁÔʯťr¾ü§‘ŸöHÞb9ÜZZdPý2Íl¹¥­ û´ŽàÀʇ‚÷Naoq_¥qbÀOŠ\_vú¦YE@X;J‰K÷ø¬ÃñEÍ OA-Íÿ)¶Ô{Y}K!eË@3°Ax-yþå)~}ŸimÚj]!·[Ã&=(WºJ¸+»ÉÏ2+דvbXý06±Ý²8í-ù[Ý0‚0=àä”éðvš$¸2ì!Í ¤šó6uÓ4R~TX,a½`éÔèùÃý«µŸ1w¿ù>3á±s +[‚'6£ÌÛ·lœ-#_ª4ùÐK¤ú nŠ!9fQ€žÂÏp±.‰¼;™q?£EÅ—§­ôò&/| àý>¹Wm÷ÚëãULÃHµübj¯¢ÄݲZÄ?uNëàÒÇ逓7éQf ÿ¬^+&kàü>;YU¸¼^"Ž˜õìJ+H›/£x£ƒ BxÇ¢¹Jr昭æXËÝÈàÍ­-dñD·•ž[{›ÿX¨yg±áNÜô%1=ùÀvÀ‚¸ÅVü5MÁ‹CôìD{©ŒôÚ‚Iµýå^4&4Ãøç†VW3Iæ8Ô›ô--B“©-±øXY6úúù´ïDÿ-÷%…'$ÏÇd£â=ßE#(&^³®wR4€é¦ë„SÒM„gvªŠœ“È¥.+…¹j-Jùü€]¯gñ_oõ¡¶T0gœÆ]`)ßÞ?ÕQ‰/>£t!5И!›@X 2·3貸O„‹Ïâo1Rò̼lå~b*é /sÐD?YÓ䉽Â]˜Òj¶%…çÌòÿ$”:±R>/ªcåè¤th·3sͷࢮ#dn¢Õ˜Áú¢Êú= OÌ%©œJ¤w-?0„ýˆG$íª6º!jžµõìßF±€€Ûn~f^ j_\ûôOnÿ!eOv×fêAõç¯èÜÂ?Å0,dhY§Üç¼~Óäè¾p.nê8Ë\ýÇ™R!Y7‘—=^³ðBmBûv ÜLÚ×[žŒò‘ݪbïF=ý]=™“©|;„Õ8OT“½à³ÎH ñh³~A·Ÿk]ŠÉ–­;Å"FN.{ÝGGü‡ÍYª¾ (%›:„Ve’§@&·ÕGXj'xh±e3ºÌÚ@Å‚èÃ@“ƒäg~ù½V 4ò]‘$Þî0ïb4¶'opëb縔 û,Œ¸ =;?lÂ#!±æ™@ÝhJ_E•W£ $x_ãõ…kt²{ç"½žkãq€Oo9ºÀ½=yÈß"œx£óp&}uצ(ògî +ÓeuBçtytß7*D¹'šVH §]¿ÏÔAî WìÃÜí.—Õ¯AÇŒM -ú¤1ûÜƨ !ZÚe‹D'XÌH¶ÎžOââ8˜¯’‡‘öû6¹,€Íf«sd¯GéqfÞ;€w8çVÀáçƒÀšTN€ß¶ZhÀ5²„õKk®í’k(bR±Ïȶ•˜¾Îk‡!œvW6 +êŸNúd=LNÿd}@]ï3.³@©1Jzn¥¢ƒ÷³®ZŽÇAÚe-"ï]h¤#ª’ÎF£®d= «Aw@þ&âña^I;¡¾¼Po2}¤öÔW(Šq8@ª$ÎÀ&˜ãËÔŽG£b¥ßúhxÎÆ{$KµÓ»æ™»b,ýÖ|;l&QíOÝf­~h0ÚájFôd–‹‚Óñ©OìKIÿˆKÃ#ÙXJÏMÅøóIûàL0åԹƪèȱ¤². ›N\‡¼yÄœˆØf¿}8w>bÊ`ÿỉÕÞ™Šzß^†Á‹/Nï 4Jê°m98Oòòx÷ÙamƒÚH%Ž3T •§IÕ«¦"žÅís`¿Iü)¿¤ŸBñÍbÔÜéa¤m«ë bá%‘ 9x_rWu‹¾³ÚÝfs§7cO/†u|W®#³Ko›ùKfg…Ämºàš^‘àjû`"]0ϘJvset„Œ]"CõyÉúØ Yqé +SÑ Ú`m-ÇEõ³—‹''äá‹ð½&•úO¬ÕG²mZð¨ÙK .µ7½Rî z²|Ž‰{Që¦\¤#Ùš¾3*Â7Æ6Þ\‹Çû +g:gdÑ%•Ët1”Qp)wæÁøÊ$mc„L Ê9Zv í™O¯¨eãå Ø[;•ÁX„+Jhr¬nÀ”EdjHU2_ÄíôÛÊ ¦ä,év +“¤v(‹RÎ¥ËøIg¤©FÒÅkýŸn|`VŠàƱ ÏšÕŒXkuŸP(lÛõJVÆ>{˜°™·CDgPãè];ùßÇA²/ §ùt Dt•¤Øù5¼” »0†rdÆ©3Yv4†•ºlûŽcª«I¸èJxÐv %kÌ`´.):„ô-^ ßpOàè%ßJ}<-ZíĬ°ú2"ÞYÙßÁÝÊ“Ø\r O a»Ì|ÄìSt¸+l)±Z÷Nh>"ú¼”—HÒ¤í…Kò6y¤c´"Œq0¿PwªØ¡`%±g€% •*µu {ö†MUNƒ¯dÝšN5Xá œ‘·zƒc_*žèB÷·Ü’gÚzP+]ô-²#ÝÎq#Ç3Á3FxÅwÐMoyWãÕ?ìí$èÉPE?þÛZišÉŽ%hRN(ù€_=£F«n‰sÃ[ÙD‡oÀõŸÛõºX1µûöWÈSSÕ¿D^«ÁYØIÃÄV•d„Á²FC_ùóÆÄW¥/ÇSgZ0:Õ®TÇpí% œ¨&ZL”ц½|é«¢Žeë[º0µá»Œn‰}õUæ:nW÷™¡‡a ;I¥ªÉÂØêéRuiZÇïå4X®'ÄÌiÜŽ.1H%üÝ¿ÜâW¹ENÛ²Ÿ›oõ’gñÑ¢Áƒ’[ˆ‚@x?¼•L*xû!lç…Ñœ·åÖÕK\.ìˆ!P,‘Àþ Yê=(nÛœÙu מ†»2ZXÍ'¡Ø¶ÜÉmJxzUÖ›dÛË–UW‹ |—¦ãDyõLLa›à%6’‡s-obEíC½`¶£Çlè"*¾èßMù®lA†Æÿjgü5÷®ÂéÉãÒ¸)–ëôµŸÁj7ªé)ç&¹H‚ÖÇeùü¹¿ê ‚š…Á_Žä :t»QŒÛ½¨E¹péÇg紽DZ-‘Ž±0 ý™!&}jöäàøÂuçt˜9 ×Ó!ÃèÇÖ+‰ÜsØÀÝÃ"LÑt;G’Ôe’˜üö¹<*âÿ½o ´nhž· Ç.YgÒy~–r@º[‘V1}Ò{C7œ~’NÓ‘ínÇÒé曃¤° Ò[çËÅ#}‚ÀÌòRÌ3xs1Þ£«KÉt™.s_šwê}-ž{ŽÝ”Z©ç0qÈï°Ú*EÅ¿3çjùÝ‚ˆ±ÔÓ*bÄ,J.´È÷-@'RëÑ(…á$\*Ê©§Šýˆ¢Óþ92=(г#‡¦±ã¹ŽçÏAÖòsÞ^sÖ$Õ;xçÞ_ÙcÒ´ŠªíÑÔ*™òÈBÕ×k|¶IõRª–k=×–hÑ)c6Ù˜Éçú<ºbÆXRÁ/P°õÜÍ8Aòüre>°šWì +endstream endobj 388 0 obj<> endobj 389 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 390 0 obj<>stream +›$òºÒ˼|Ê`‘í¼Žé»‡©"1ŽLŽÊ±<¡áÏPBð €4d{æ(9¸†WÌç!˜ª‡E¹{âa Ò¦Õhͳ8;ê f½3Œ>•Tê'®á{À~XQ ÖXí¿àLVìyOŠQœ1^†Ë2þM,hßX]Ä¡R UhAÍSîsŒH×F®¢Ž¶†g‰z?Yª±uÑ•|ž|½Kh½œÍ; ÒÆo¬vûöOðÑÔD +å,leR³|3±ßÖñŠ¡e›7jE„Öçzª„›ºPÏؽŽudk^öÑ—þÈ‚ÊcbÚAJU¦u„ú¨Ã:ó‡äeøWƒóÍ»íÐgÁ±m=¯Kñ(Ëž‘J‡™ìzopd(¡eè3ø®’“©|nL¯hëŠ#¡ž‘pH”ù¸ª OíÜŒ ˜Ìÿu ¯¥–u¨“ÛÕ7W ŽI¢±ŸY8' _ À 7FZëQ¹‚p§•Ý?)sPÈÖý›†ØùD#(Ö9²8d:ì@ ‡DÈpq¤#µ<‘1'oXjÄ°å÷Ÿ†Å ž¥½6»<ßhß[¸ÚÞôλ“hX5o3MÌðAÚìŠhgøqûU¤LóÕø> dˆ¾ôu•5\æ÷¬ÊAá ¢Þi|Œ_ÁKÎF<‘¶f:¦irnW×AQ3õ Íl8R:á¡´øÙ²vÓ-ÕåÞ;ëë©ûÇû*Sàd›O+öµ}ó€QP6 /ì¿s;˜d3¶¤t{âxÍ9½e屘?fpߟ%·$IRîèÁ‚á?Icwƒ ˜…À^šâ:Fùæ‰7RׄÙB"þÏñwiÒX³+àGݧ10"t/,ôív·L"QSDˆ´ž–Øñ—~Ô\ü. +‡áñû•êu¿ÐT2*•„¢¡Ór6kçý”}§H­®¼0‹n"t"µËÉ¥Ã($)¯;˜ªö„zEÁ3î@'5l¹:7áÏ&7°Äæ^BÙgMšÂàà¿ÀTg³ìAøJ‚èì³ûêûµ½TaPóRÆùÁ¸vlé~Çüì$è:Øê"H<˜›)ð^ÿNºbƒr…a\Ô±_¡à&<öz¦ >=’(¯` …Äæÿ_G¾nA‹šZ”±4FƇU kš4bßX¡*O_€"ð€²á§ 5È\Ðgm'œÞŒpªkÈïJÚþ#cJbmîÅø4²øšEߎìܳnÚ´k¸â¶‘N™«Ý̲K\âõÙsé nyä9œ/•ìJ~Éøô8üh‹&ÉGo|©ãâ:Oi{(zxÚ‡ÕÍlôk®lQŽÔ~óm}GÀúXþiaÔVÁRÛXC á®æE,@“U ÿó‘˜,«#ðk-oí¯…ÐLCtX“)L¨.ofÊ3Ö3€˜6ñ³ ½Ï¾ÿJ@H0†Z8 %Ô>%ýž6^aJäˆAN†.Žü·Ƚ-L¼©¼™£þÎ|C:§“oD Ä5Ô@ÒÝš<)£‰œ½þ‰sCc»üÙk[žd¸/ÂÈt{5…i¦L¤¦Áä×ß²±þ¢#¢ +J6©ƒ¡6è÷‚yH Ãê¸(½fŽe°9®4Îñ4Ö˦*wnˆ%¢‰ÔñãtJÇ‹ï¶Ð+ͳdTšDÞlçßr%æQnâÒYv­<’"Š0dø§ÀIbƒ9¾åå&½riÜãHòW~ñJÔÌãìÎM¤aÌW§ìÿù~ì’ˆ]öÖ$6å•çH¤…:5è­g鯸šˆ{uWS×Ñ79d1bÏchcÕ+AéCvÇ9N /þZê܈äÂœ˜ ÇõÃ[˜QŠ°U.è`[ƒB<Ʊ¬—êko‹H¢¢«*A¾ %²/,)˜]Iû-¹Ÿ¨–±Š%럮}Ô•ó“sñ_ÑA™»DÍK–kñ P3¤ñ;´Õ%®:ªäásžXtVåc¯—nN•“ThÌxëH'“žô.FÞ]_Ì>å +U2ó5.ÀPKžŽyÈhxÑ,ÃJ×ÐQ‰ €?´pöÑ艰i°ÐMǸ“€äkï]é—äOOçúîm{f#ÀÔbs†å î·ƒ„õQBµÎ4û*9;÷ZÔJ°ý1”ƒbþt5©E£üÆ1! ‰ö ŽQC5Igm¾è8)UèÈ|½¾^T¡;~ýYƒÂø0 >=œÌ3çW½z×4)Ûz?q¼9בã¡ï<3leB{4í¸]|Geàë–r˜)=U«Q ^(_3Ål´[þï¯À›ðÂ+$,+!,¦¤¨Y¡)¼’…©ÕµU }xîiÙ×Yû%{wØ«ý}nh$²ê ŠuÍ Ž‚|Þ!?ç¬ÏÏ¥Ù-U7Þ ê§µGxuZz‹Œ ê@o T,|T¸Ò•É'j¡BkØzÅSçñ@0YÞ@} é±8¿  hç¹&ëaØÃWÏZEÆÚ£¡=μõØKˆû·#t6ÕÈçù¶\¨<¼ôõŠ¬’ì¨,%õPÙq(T °L!mv¹“-R=åI^žÚòomTáȸ‘9tt—Ëõ+ߤ7ØCË&ÆfJW jªG06¥WRQýˆ—䚊`Ëj¾|ÊÉ.¼,MŠ5Úü;q¡Í:êE©,¼__aVcU’‹|\>ÊÅ{ +endstream endobj 391 0 obj<> endobj 392 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 393 0 obj<>stream +ƒ÷e¹š{p?³¥§nä=ý¤¥XT„wÎHÂlcÇ µŽ‘lƒJ÷æúEºÂˆB·$;+ØQËëUXCÞÂaUˆ Së°Ñï蜛 +fœ¶ˆ¥~$W¤‘c¬®½P}i<ÎD«—{“y?Æd .éÆ +pü÷/øln>ÉEk=i1ãS|R®"V{4ì®lüKÿPî­êKˆ?;MP)ÙÚ+NnSßKÌþöÝHûxÜ™Ï4F®:æÖì=¼zd÷4/R´\-TôêþÂÒ©‚]s†Þ¢(­ß"‡KÀ€ˆª‘ŠKî-<á¼]68#®@ˆÎ +v¸KGg¯½&^‹/­ïKüñH&—ÂAć¡1„§x+ƒzÍ|ã.BÀ—¢ä˜[)Ò;Þv½§YYšf`® ù]¿[‰’ó»êµK“r Ä·ÌPþ8FzÉT TòÕÐê)tÙdÝ‘ÃAðXïô?5,½ú‚( áj‚kÆD€Þ·K¹=žFŒ•8©à²µ÷oÒO¿P°x{ƒ®3?£WgúE‰¾. OÂnÐJIF_Ð[(C=ì»*tŠ.¢H.¦†¿µÉA¥sÄYý±ý=¡s-’þl?ñ +Õéý¾þ^)ô¤CË™ÉÿÈqÒŽÅÂ3óEe 2bìy v¶èÖÖØLbÝË]•s¼ ><ž=´IÎʳX¥#2äƒúÏ Œ5†AK€ ÉÈtt~ã¢$!4å]sK%iZ ζ ŒjlÝÈëÆÇl`çµÿ‹C×Ãò¶ªçå‡Õù_ÐNN{­bäòŽõKµ²Ls‡š:íp4ÁšÉýä§8ÀÙ± ìÆ@A3ßh•±ìµ¿†ù£èÑøÄc;•,H;à%MW´2NÅ­ ŽŠ/VÃSa(Š33$bKVi.Òºï̵V¼–g‹°ŽdÏØö +² 1`ýíB•*NŸ¼"D ­×z‡úUõ,êßev^‰k;‹–îËcp«)þ„Ž)¯ha߀"ekŸ¨¹ÿ®+m—{íBë™h_”X˜ð>l[g J€Û@Ÿò/ˆeE˜Âƒã~ü—ÅvŽ#ª´é‰âŠ Uþ`ô`.}ý#JQŒfNV…‚’0 rc{«/qÐ,ò»¶IÌó¥°yñIÙ9Õ'*SµF‡ž*òø6^àbOÝ +œÄ¿P'YR>žJÀÉ&È×R´îÑã8“»ÙÍ:;†l!Õdl%o½‘.¦O“k·ÚƒË$µa½>U”&á!FóhÓd%Þç%/Nô X•¤CF²8T +”Phál©„îP\ÿQøÑž÷`•¥PjžÔ–/¥)jô*€Sç¡H¿`ð‘­éº3܆áDÅÆÍÆý_Ì·ÒµÇ&zÝNÅÓÅõÑQÕÐ ]Ûä2C2„Æ­Á¥ÏHR˜,è0—ÕÉu Ÿ@ßö zid t8Ô;CÄŒ‰QxnÎ>ÈyEö¦ ¢qû¤!“ÎUÓ¹ÂE`É“B¨yŸÜ ždC8wlœ‚ùíòƒV2å] Çj÷©I*;‘äb™ø8N ÅJžø^Þ{7]S®›+Ü‚"‡Æ›'¯+ç`´tqÂõÍÎzZµ¬£òñ+œ¼ìí(UîNøB÷*Qwß:3g{v]gÊåèHX#ÞRs°šR¿ ËÛp'Qw¡e. 7 –Øý.b+9•Š¹&Hq¾ô¢hI#Æêz)ð‰3XñI¨LÂb÷檞<ðzÉ7qɦ×Y4NðÇl–5”#Û„éIý“žAµ?€ïî0wOœp¬žÛOîanWàá¾7`Z$È €“‡6ít,qúŒÍ^‚C‚ÅâwÆàŽßyÅ4¤o@Ëûß[UvkO!¦<±¹cÒ¼0,ì :B ò9®™Å_pôn;š±snî£BxbMâE…—þ„‡ý<¬ìWðÉ`©UxÀb +ÒPŒºÆ»âðT±Š¦«”è™äž|S5âàyM®G¾ãë#3 þ>6½«j³B˜¶C¼QîÓXEhNUH–€$ůݩ{9IÚPä$¾³öõfÿƒ¼ìPů9¤ÿ$ÀÚ.zƒp¿¥Án=A¬)[×Ô€1¡³py»ݸKy”-+[ÃQÏo,šÎâVÓ;­¦ñÅ+ŽÌy>-›k¾Á•t!*¯Üúá.JÑN6_ +g¿›ÖßzQ É]¶lžãWAÃ4+ס‰ ‹ƒ†Ë tv ÃÏÀñ"åe8º! <ÑõDYn"ý´W9þ ¥ø” Ó抲ºr×plµî'ί{`ÃÑ4€®o¶iÔþÝ([X[,ßiÞë ÛÚã?QönN°“€µ…„ìÈ©˜ÝO—8æ}¤6ÐÕv(äOóuŸ&)æõ|I¦¡ûºL$@³–EŸŸnão3ÚàÜŠô‘²êM‡—&ϲP©ûzøγæbpQ@"Á=ôÄ@’†ÀWUdoÑ|¿Sþðšœo=}' 1ªè8êúå £µ¨”㳧d‡¯ÇmmãXNhâ@šß;-œ0Õ¦(mN‚Ù}UÇÜÖÕ6~ ·N¡Aþ¹ÒýZ!. tþôk>'j¹ yÁNaª8ŒEToûÜ'†ë­B©zÝ<¯¹;QUºaã—TÖ’cîíؘ™öq +q[¯Ooó,™Œ¢zÿÅQ[ºò•Ï8¿DФËt¼z¯ÃmT)ÖY0q0ÖQf`àµÆZ¹`}vNFG¸…M6R¹¤OA鈡o$ }2¢Me'ä¿‹ëw¼/¼á±g„æmíP{Z!Žë¾íe4¹D{©¶¾JÈ‘±Ü#v_<˜ÂqîPUpÝçˆSÐÍ2Ø„#n„zþŸE’…Tg¶ýqP“š‘g@!8aDXsbÀ> |‰Ç €ß-ð™ð0MDÝÝž›Ìx„ +,¢y¼ü¡§cѵq +&Go9ˆá°© ¬£fð¢@7H…Íâ¹­½¦N¦I¸ÃÌïPɶ¶1Ñ1ŸNp 8ÞEO)C•Õ¡H´Ý;[¼°OÍišíOSIѶsrÜ1¾Ïwi&;ï‘׉Qe}*èâ §3{茿rŽ7gèù÷¦}æïÑô“É‚™Ûè0ìfS &ª¢·ÝóÔm:øÙ)n— §/\Q'â¬ÁÐÚ–Š’à桳¨Û%œni{»)P䬀p¤pàGg=õ]½÷îšc*J„‰‘ø”8;lÉe¸ûµ( +lçÖ¹…Ô|Ùš‘hãRò^ô™I³„Ä;ç)âßÓAp~Bá›^îmÊìêMgúLЗXôÈ1a#-þtþ÷.ÓéˆãÃíç‘YæµP6àü ò}ö¸Ø|ÒKsh“Þ™âðR¬ž ÍJÚI ¤pEDžÖâºÓ2éâäØÖAY÷ô4g,hþTìýg4Ú@olõf(cüé³Å¯WàI¶Ê +£jC¦mL\Ã@É•´õ D[§øžiO’ xMºOu˜JJSÂBãÙ‡0R”f¥þ©ÏŽ]å•jâYEZX¹ÁA¦ à‘°_S"G—³È×ü±¾]¸g¹.He,)^‰SÃ~xùiÈ\öëƒF™·8ãêÇ4Õ\[~×ú½³t{%d ¸oÔoFŽPÞµ+Tâ'' HÖõÇzAãVXŠÅÔÚðÂ$ ÐÍZe›³£vÓx°?!åz·Ø±–¦2T’±ÈÙgp™ ç˜õ£¨9ê©– fÜÌ•»h²¦æEY™-ŒÊt=ÎÖÚ+»'Oú’8«9É yÿˆH–Õ6-Õ.×9屶á(SBH˜s*ÿ…èI»7·ÔDM"”+u|Üp„¶¸94Jsô˜˜ß°ƒi¥ µÓãe‚ÜùgbÆ <Ç—¤ÓŽ²‚X9úõKô˜­A±ÜJ »U‰UõnCk[¶:’9Bm†ÞGl‚+VŸ0=h;4â hõ€úÄš×ÃÓ–J!hË6ŸeLj¯Ùêëå–7ÂÐ¼à ¬Ùôã)ô,£€6á¬Ån<Ó¾²–,¶Qd9VuW4WõáæÈ{íä” T§P€ô‰'èqÈœ{´³é—DŽí„a¾‘UµóÐÞ˽ÒäNxIZ!š º'ë ‚COGÂýU€4[Ü¥Ú„ª~U!Í…ÔÍÆàï¤c8üßÙLH•Ë PG@ÓUø|M¨‘¼R/ì«Q¡sÞdÇ‚ÊKŒÑQ2ZŽv“¶¦\¶{¦é¼Þ.¡Y-Ìöá~:£Ä)xÚ¥âUl¨€æÕ>W÷øϱZ]aœ þx'†ëÖÝjçk œÌÔbò-@Ù1“jOsMLÙ$; òR6øjÈõ«šûãT¿„î&_äÙ+bèÄn:ÐS™×® ,[Wâü8‹ilÝß~T™Î?½É›\âcRüg«cj,.«K9† søôùOaŠ.Þ8+?Û"$›EN¼&©pû¨ñ‡,ļsŠøÊFäzRÌ7«‡ïÌ@ ß‚vo›}˼©†~íF7$WâŸÒ‰†ÄtªÁ`çs€w2–)¸ÛÉ„Ã^®T‹<6êK×h&tÿDR¹Æk<‘¤‰ùxÕ[ŒÀ1ò~Ÿ5ÿ×g½3»˜4{<Ž·~ט+6›«­r=ÈRý}é™P‡'†êGÝdƒµÍ@^bÁ¹î-€e Uª,°]Ðï3±´óÝIÓâU1 S{Æò¢>Ÿ¼QâÌÀÙ°—ò9ÇÒä«<}rA&¿¢?ëJ„`_žôÚ£«<™âT`Ôp°í ŒúX´ˆÖ±àöv¿* 1“‰…t€aÎ#独ìÆšä8x ÜNÝË®Ì!ÃO±t¨ì¥í¬5h2`BU–ÆY(¾ÕÎ>gêG#÷J×Þšô†OÀŠ(w(Ø„åÔÀ^µÃ½ñ›$9ÐǪÜ[O‡]©î(K÷·ÿñSÄÄdÝ[^1 j€h½Â­|nÆ‚òÈŠ×áîð:^ÿ6‡¤Úž3EÀ1Ãg\±%eœÉ¥cÀá³Î™ýd~{[[Tƒô®pw+<ü±âŸJúòÜü$‹ƒô ¨÷ï «ÀsŸçÿö,Ãïú†¨/jéþn)¬×ˆÉC€’¿›ý²x,mù.xSÂyiƒb\##×Fuq­ßú”\øÇ}K‰ƒ JBRáäá·¬£œß_7äù¢°îň®5A×`.zP„‰}©í€9m¤Åûso®~2Lהͪ-¨€G8MÅh?F¦¥&IÌ«ÛVò#?ÈÑÒ”ŽÍ]°þ—?üt°PH¢.¬ ÖwRÿ¹y7BÁÞ—†t³ØˆÌÉ&a¤òä¸^Ž:vÕÌÕOó»¶ÞÌͪi§*ħ€¨ÝÈPDý%Ƭ|þʈãÍA¬°_ÔqE¢Î(FÜB'"Ù—™ËI¬:´²…~²åc âfø<*ô¹¦Í²²Ü–Q¶³%—¬€cµÝºmVm©É•%ÆGEÜ~_4¦(‹ŒhÔ“MÃkÑ Š§ÌnÑÁœ¬'Z°aëfhR*5 çÖÎñ(h2ãê4"1ŽôSy[ôûCçññi‰š+„—ç®b‹®Ùèe¥©ãòú!k¦œŒ{Í<ØBàXèCê|šrµ\e²€’ÞãXË^ó“AënâëÕs¥ºÃš\êurÈ®7iÞ„M¸@3c:°XÎqf/ef6ª–É +¸U­ÿ.Jýl"P&1p. þÐðÊ5Kdž‚úª"$m¤‘semÚo¢=eó2^4ã«ñÕì1 ‚ñÖ× >æ—âm<å¿5`þ6.¯æ¶nñ1cÑfÈA¢\÷ƒWK¢@tt؃c€ñxÝl/ ù¨Ùöõ,b¡Dh|«|4ǯ £šåA%O­\xücå¯A[çj··©5?Rº>³Yb[<Í;n¦SÂOŒ³Á”¢Ýš÷^óW99¡·–ÏžÙ—07Ö>$¿*†;jÄj‹íjˆ/B˜ßbÈï£#[vB_ωR´œBÁ^Î/èY·0ŠÙSò`퇤g;°“,/¨Ð&íñ^ü‰ +1磄 wµ /Ý–»Y7Xº‘3Àö4­ºïóµ‘àè2dUÈ&ÜöE¤­ÜB9atŸvF¬÷ æ6òBTfõgÙÍE[{»M30(Hó([§Û•Žñ¬‰Ÿõ[Eè5 `×UЀœ8èvä@³˜G€l ú†ÎÓzö*/dô˦NÇ-ÍöG ¨ºFwé·`·BÁZè1¤OÝËàÐu!‹=SÕAF£… *·Ûk¿ö«EÏ)’&Pîöe†$ü±Îoî’‚*ÆØJ3ט¶Ú~±Õ”¬8:pMí?…K·5šÿ6:S;;̯<<­È ²jêÀ#WOµÆQfð%ÚÏHâuŸÆT ?¿4o;÷3S N?U¦—bæ‰O ûiáÜÊ,P0 w…Œù¿¹]ºükÎÓ :åd¿e÷¾à´7Nâüàâ>C2á"jOwî½òÖ>7ÛéPvÒž3)J9‡ÒžÈUÄ_´D¢¨IcKÍr§> Mäæ8‰I[ÏÖ|[⺈¹q2ó³oÜEû[™ ‰Y¶LÌArsàÎÚ¯ºÎCL›mðA¼Cí–]3,îLíîÎ2®hçvø;%Ò÷¥oÁÈälž½S +qB*;ÁÔgê† +endstream endobj 394 0 obj<> endobj 395 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 396 0 obj<>stream +hàuHõæ h·$(º1×n™åC`N»$Rõ< (OrRÏœ'¼tAüC#õ´ˆ³Ö`ø>¸q}ЊWDsêøZÅXͲ¸ÉÝC[6”ºqï»,OeОËzƒ‚ñ“: ’Ö\ò±Æ—Düv·…Úðaï$£ÐkÞ6¿Dð¡ds0ÿÜ{»$z¥’2NÞ­f~:5ƒ‚¯ß–&‹ScÕj±¬ß¦„I;ž³ €ç%=Ý{²D^tJØtÛú¬|Ú”ƒ·EXI}2ýÓB­Ù¼¼Ä},x=U¼yÌ àr +t÷½PXÁMŽ¦~n-ÌL^s¯KBºÑ¡%Gì¢ÕÝ>þoaLcðî>”‘¡r†|½T-(†rm=©þ £ÓÛµ<<Ë=…%·çqˆÛ.’DåzÈíQÉZ¯Û9² ðf®«wÖgr{ö©}Wnëˆ_SLDÔ(þr/YêÌœGZ8 +Ïîaoº‹Û{0s¹zÁ3OÓ £å(2 Ú47ÌêîòøH¢-,+çµmŠ mCYRì÷¿¼båñYN¨âc,Íöö}(ø +±éD|È÷ átïYεÝù–(Á£ÕàÐʤĻhòO÷ˆ–¥Éíå…š8Ü<ãÌmmJa®kNBúAbêFéeœ +ûYY£´¿üƒhƒ=|ùܹé[m°^=& ÕAE"<ÐÔ¼äLÖœ¬þo6$ÃbNHûι'/•L‘ÀÎ÷ÀʆóBËIßî•â1D7º4>|d·–e‡˜, õAÔ%_<µ‘O¥èÃ~!_Àq.œ`_–à&ôT­ÖcºÌ16 2S0¸Ñ`R"S€€}_žc.Þù¶6ô ±Tî‹K´™×“&6ÔT_©J“}¯àКn:í.>2¬§;åÑJ_¥@*×g’¶oº|üòŠ¯ªAS0 \¨ÆTºgÐ`ra@Ò¶ ©H …qê­ÏÏÓpq#qüs²©Š›ù3Îó ¿2k•˜2ð¶3¦jE H{™iƒ:?ªÎ(³årŽ¨ÿκ}_ã^‚BÿWš™M¨ÐT?4(, ¢0=¶m|BãIJý}FçJšñýˆ›It^n2Ê?é¨Üì£A³+Uå9ÊÓ(”Oþí¼Áý±Ö…îÉHÑDQf'k(n-©ãÙ®çɘ%UïAx¢íÈñà®bÚâ\’a‘; ׶´:@ÆâB¤ôöÓ€ò‹ŸŠtÇKd>8* sA“<Á^ÛnÕ9lù.õÈŽ«\¨ìåî°þ>®Eªûª2] ‚¯ «5žÛéÔÕ'N"¤ÎMì/ͧ>íS +1ï"¡õÜ?ó‡‹M©Í¼CTuäÛÞ 'Rnd¾°—Dþ ÐF|bUÝj…ÓÕ9@èKwÀ¾Ó ºmÕ£»œîCìh8Æž"ˆ©9HÏ*s“D‡Æè“p†¨ ‡êËŸý¾qMs€…ß'iãºC/M‚ÐúœE¿qæ +i6“úƒ3Ô–ozD¿¦|;õßä¨ SfšÂSêv<ªXÀº‹Ùu; ¹ÝÝmo#YFªEa-•ŒÜfÃZè¤T#/ #©cºPs—ñ®¬Ñù-ïªÚµ™p5E¶æµí Ñ¸{»Kjz”bA—=ݧ*:‘žqÚÓúv ‡nûr*´z:¯Œ«ïXúƒÌ.èÆã¨MÆÕ\û:˜8nFT2/F^ãRr’ü @ÃtWÍc1ZFm³ØŒ·´Ý§ Ï{£\ +¾Ä˜V¾ùç2!SæéŸ ™ÜS­ó M”)û*uuhŠPè^Ê!³}Ó»K#rk4ºh™å$oÔø*1$þÎi&ùk%ÞQâÚ–2¼Ò‘m[ɉu¬D®Ó:㋳Ö˜QБÇÑ›6£ f#}‹yH'Êb(sàÔƒÈΙj³-€íñšË·•<³«x‘1×gaU´™¼”]™h±»n·Hþ’¦?/O5Œ¾mëŒz®ÈtuF5&„ªKòt§ˆF)”f#^/uw-‹47Ü+§v‡öƒÕÒîu +rjÛÝ–givñC ¢Dç²øÑrYS]$/xˆÌÊm ™pÒLk}u¹AÓÈñ@ņ&,.Cà˜èä^[û0÷cbT²òöLty=Qg{?wv6¨R˜´¡†æGoÚ$‰‹ÑîO²û¯ÖÉÆÈ%‡<Ÿ*3Üÿ’.‚å4B›ï߯î:Jh,ËXÛè¥Pa ؎ʆåIwnéÃúa`¬¦ ãõ6L.µûÿ +F Î3w§ð ‡ G)šq8 #©YWŠH] B”jm€úH É,úqÓä…+FW9þ.øb<0ÖS£xaÅù +«± XLpBâ§e¥†GÕ9şʲX9€ìæ KJN^Ä3‰K€þJ¦È´®ûU<‰È,>ÏaP(´’—§ÿ›3UHèà~a}ÔíS!W<¬ñd¥ëÛ¾M¶à½NÅy”åE󩽪ÊeÈ–± ~eCÿ“˜mÉgtôèô½„JBCØŸÜ )µj¡x“¼E{&¢Rƒ^£Bâ±ÉzëcŒö§Øû28ø|=L›]`ŽF¥±‰×̆~*r\¸©z&SÞ Z¸„:‡ËóngÈI99,½4R’meG d®‘m.ôZÚ0Jß1ø«Û<[Œ1ñíÐ-뙪nn%[ó#Öi9“¿n\Y@äKûõ{¹làVã$y#¶q*B¶¥fÚ亶NÖdÓ|5S\„NC Ëð3r<µ½Ì[_ê2(ÔŽ,ñBkc[VÂ÷»óŠœ'|J«¼£œqŸ¢cC-±8ŠîסÅt,GæQðß)£—<„˜³|•°‘4Éä—ÐüéTE)osëK4jéàÓ63œ®òãl÷­ü†×²m¡-Uj©.· ¨JO(×þ·µV@ÀˆÆ%ïTé«9j»8$V³ýhÈJ o œž·ãÉò  ;ñ=Žÿ©øWñToìZ÷‘(¶æLM˜¥ºŸ%ãr¹€¾ ™sÍ2<ùâX8•€“iy{ͬd°ïlMçj”b}°š«8wÿU»Ê$÷Ð_f8UÊÏü† 2è•áE6ENêéÕµ¤ÉèO°³\HºrWîE%j†s ih˜IŸÒ¦¹Õ±òdĶ„ð¸Û^.^§DCk³’'7ó¨ú +3AÝîêä8>;¸óÁO9ÔAýß“­eâi0’€¾ƒSÒJŒ wLg¡¢ùf‚w¶ÂgKLy[~Z3ôÜíËuìí=N³¤jMåÚpJñ‰íŽ5¬}}éIâIË1¤Ó+'•S‚",QŒ[÷æKϯ$D›J¾—]D­ïðÎÀ]ÜýϬX å« +iêÛ_šèdH‡/™NQÐaCdêð¡p‘ÎöÿŒô +endstream endobj 397 0 obj<> endobj 398 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 399 0 obj<>stream + _‚(ì­c¨>ö- ˆEÇBÄ)Ç“P™GÂô›añO9*sÇ-[”B9x+½ ˜ù^–Dc²8ÝÉ\߇¬Ø#¿Ia3½útªÖËògâùG3”hU2ÝKÇÄ:rŸæ)ë`i܉úÿ +úÎ'ñæ§jçÞÑÖ™12|ïyƱÅiö2É`ü«QB·•’аGN‚?q­ŒÊùbZíÎrÖãÏBV8Ú³tœ!èkqå§/èêß Ûs·Š‘Ó,xYUu~Aü´ä?R»á*ÏÜ[0¾)§¶ÞŽ¼éƵ]ZtÆbb„¸î€56Á!ñNù÷ÚMý2žŒÿk{ýX DVÿ}¶:[í‘>ll¸»´ìæ^â³D¸îs㋵ø# +íª‘ª¨>{ªNm-ßñ²’w>b;à‹ÅQ¸X¥©ÚøÎhˆÛÁë’B¬ë‰K“ŠUÚjÂzˆð±Ép |ºE0e)Wl¢oKï¢Ø¥îóÂþ³Q÷ØjbvNRf™óC’…’y•íÝ"O$‹»z¿_„1Ñâ›9ÙzãÇ­®Ý@71œm4·ÊN/ðöLëP3Ü:;=¾\Éšr¿6A7]x?æË.x¤¿Îþ"„™,ù˜Hôåsë¥ÖY×þ¿5­£{ö2Hû´‰Rx¨þgÍW¬!#RRÑ(U Ntµhþžf +ÉôœORUÖ!j—(€m 1ÆRÎÐÍ“?á¼™ÜKyÁé>ú‡fïIož„­¡4Z§Ô§’3­½å'¢Äb›ÅÅ9)ÇôcÔ¼’nü•õÖ¿¹$ YtB¨òøñ^‘$„Rl•9”¯…­uר¡Ðù#fÖ"Ì>ùúï,"7ØÚÚ­*ÖhÚa°f7«ÒºGÏľ<•.Yf:8œ8ìÙ£êjèñdÓö#HÝÚ ª«‰Y’õˆ}KxÆd—cŠO{T7FÆ/Ë:Ũh[ÖÈWÙÀ>â8|¬T9>·Â¤‚|7™è§i„Ðò*‰Þ4¤SøR·,"@_4j ÕÿfûYÚÍ7îª{ò¾,jgY4Úzñ7ÇbÓ ¬ˆ'nv¤W»~ܬPð|›»èq²I\†úc8s¯—SâAìð͹ۘý ³K!_…%LlÇž+ÞÛØ¡¨^nоµìçÕžÄ?Ù ”û?<].S°Ì-ýÏsë•,{FéÇ̉woì©ù {Þ‚ ¼Âµ/tÙÃeÛŒg¯1…Òÿ* S ð>jÇ´r¢¶;Û>áøøäÔˆ¿§·ÿ“´Pn$žæÚÖÀèò˹lx¡H_kkžëybÐS»e'ˆê_ýÎ'Ínâ;â;O6f¶»V¶5`4Ú¥Ÿæ{ð0GX7$Ź䬟+)`ÌMˆ²ˆ ½!À’£½TŠaµ±¨d¤b8}Ì¢´¸h&û%b H½‹U`ecO‘œÑ‹e-=˜½®‚§îŠRVW“;¢%%ô¦€†ˆŽ9üùÞrWÕ +Q›·k¦|ª9»Ö@™™I%=ñI„®—øÖ—q/à+-ÜðÃ0@+di…%BÆücàÄabÐ'y„8~‡Fjë±Ê£ãZ4øÚŠoïOg<@Rþë,y*»è.\þ;Yƒ<п…ErT]ÜZ&uú‡óC†ñ¨íÙ]°”wˆ—“-H#T”Œc$Ìd‚éìBñ· i^R9åósõB’¹ÃUÉÊ’Ð3ZÔ ûh²EPØ%Æt¾TÕÎÚw?¤ñYG™àù]lìŽÊá/°¹¾ûod.ìóŠW³´Mð…åþô¡V9.¡Q›±ó©_´YMfl~IÙ¸“ã—Ëê¦0üR£B­_À¨cUØæDjÙ'—$w~ê&t3çv[ýú¥JKfKªòU7ÓriŸ^‡ƒ2ª _]ÕǪsuô>yøLôæžêy«ýÏháX:òIšòû°Ëvåด/êÜKuÎCè¼ ¤¤ â~ØÛ_vf`øV/9o² ´}.NíuŽO} ”Žç7Ž³îÈ;óC4²X)«HÌWÇ™¢„1’£gûžHsÀ9QaWPDZDÐ]Ê-ŸŒÛÎY3(Îw\µÙÛp-84› +<Â3à’Cl´îÉxH–ÕY¼‰rÈ× ø]¾¾§e,Fô@à (>Á•sú»h*È_†Æ Æ4vBÊ7hÆÖŽŽu& 4Gϯs`Î[ƒ‰Ûå;ï’xöj¥Ã½7Žöç‚iá1ˆþïãÒW·äpy„‘„^ÉR°t±F +ô­êc‹ÿ LvFš@ÚÍòœœJ£²Ùˆä„y7žàAxÌËBLp™ÿ´[=-¿óúÀÄEfî5.Ðøj¡<’è†:‰ìâ$im^Ùo ÓCÿè.]B*ÔP°Žya-–ø—Žá ó1ٵݑng[q%ÄU%Š9‘!¬C8ç~ë-Û:Ž3ü­|ˆ˜~aÙDI×ö²?ƒ†}Ï2hB3´p›’ ÀRîóéÌç»ò@õƒçâ GyJ«gsJ>ïÆ»Ï9ùœ_Û3µt O+X°ß¨Ò—Ý S~qÖ(õ¬®çöa}¦j l>ôŸ¼÷4pŸX¡7¦råÊÒk>Ù—±æ‚àÅjãuÛéÛiþþiMÜ2Š}DËߣÔc1MS\†-àìd^~X&ðìP‚´¢YèPê»H‡­–Ôì4ŒC:ªÑ†­’~“ŸË Q¦ìWyN«a_‹`dCQ·8äø^LuôŽˆÎb+`LåÓ(×- Ò­2¡‹ id—ÂB%h™ÀAeÔbzAÍEº`9¨…¢ t+°RÚ +®XÓÊÃ,É2U‚„»Ý%*½DY§ +bú’cßДð\ö'+Ử,¢Yú·L‘ ë ŽYq%Ђ'æÖÄXÃ&£F¤qŒ^,ˆq®~àlŽWé_/¯J`ªžïÒu³òø ÛÔ0Û]Þ^ò5™‰­’ݸõë¤àœø5dàÆ'S|¾yŽû•o)H½qD¾ÀòÜ«ÉtÀ +endstream endobj 400 0 obj<> endobj 401 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 402 0 obj<>stream +XõLÅCö„« -ìmC6.ñlåÉÂÝeã¬#ͼ4˜g‘L‹®J$h ƒ”&Þçq÷¤S‘[l1I¬«yçXy<ýà :d¹Žy,3Ð"r·ôKÚ¹ÀVx9p>‡×UÞgIØf>ŽþÆ "&HRÛ=SXtÁ+r·\ƈ!ò·Ôú·Ï@jæ$Ó~l‹YK,aŠyÝnƒ`™µo7Û«6šYŸ 8¤á<)7e# šþ|*ró¯`åu\TœF9Qy2Ó0£‘ÞY®¶Zça%BG4yÜò¿dÔ­`x]$Ši FMîÜüJÍ‹PLñ•µ±ÕàÁX tû¸Mju9NI¼¡r`µ¦þG®«=dr"—PDF®‚´4Öøò¾§®˜œ gk2¤%,Ÿ1]7 k½†rñNòd7èyŒÛÉCoe㥒î7k”iï#jåÁ _ϳ¨ÙT'CÞ‘ù¾É¬ÔsDNzPÒyí ïKøP{½ØCv±§é¬¤g€gÅcŠxšYáZù¹O)7B´ß¤˜¡¥0E)²fÎJ¬]×J{æD”­E»å¸ ÈìGA\¾ßµ©Áßi¹åèˆe_iDÒtÜF “{ˆÅìý+hŒ·ÝÊÀ7Þ.oµ‹ÁÞ„æšžÎ5¼ÈM¥í‡1¿+DVå£OòðŠû f=—aÌöLùÆ Uó­½þ×h42q. +;96zGâžÁ£túó¥æÄ Ûkãµ£cn¿÷§¢ù83}Tšl/mVðkjði5îϦòf‡£Ì$ÁC¿S¡w#nFWëg3~ Œ_ ˆ_ÇJ©ƒChXä+š+*‡´iµÉ‹¥"ývV¼;ÚTÏ𲧫3´bÒsŸÎ?á<|˜å!›5ò”ãÖxøŸ[/R&’æQ*a¢»içêg©–’ðø[Ul=ˆ’럸-…P"*½CÙA+…Fþåe¶ïHD;(yVK+,AƘ ØÁÍQ•žU| +=Õt[N9ŠVî柄™¿ÓPGš|™9~ÛB„ñ­Š©º€ŒÕÁ„¶À׶T÷‚ ˜vΨ3÷bM§h …Æ̵Åï·´^‘Øa·+_KK*º (à>½*l¬<ŠŠ#À¡6Hox>Óë ¿Ã„qS”`¯üVÊþ‹Mà´ˆ´à.•È–J¬Ý{íõéYDëÓ-Ï —2–9;Exå‡Î秠ÄͪC~Î~>‡Tâ!DZ«UÅŸUˆ…Í¡Èà uŠ’ +Ö7°x´=6˜ßCÏ’ÖÉϺo%ÇïÀL ¿øaÛÓ¥ºÎCet=_µ’@ÞnÏ©•3ç‘OzÉ*<×^þ÷T.ðöÅ•¤Ü-ª3DuÀ ‚´º•¶‘Ž~ݽ-Q¹zåN}ÌVÒ8¯¯ ¯;I)£sªÞYb+"E%ªß}ßDp:”Ì/gݪ‡¨Sõ®Ë¹žÖèÈ©Õ7#Y–uë«ÓÓp¶[ç\§#ÉÀÒ””wÌž• YW¯ÜòæIÈÿ‘"‡¢`÷noZä¦o+ÅÚ+^×éa´ ½ñb†—|‰I¯?ñjWÕïÊ V¶AøžVt£ %þ}Œ™ÒE'eïÀÓþÇXWœ3öo»ÌÒR—l|N±dGܲ½¯}„]Œ_í7½È«ç¹Ì¦áaét‘ˆƒ¶ŒÏb÷k[¢¬¿àN +AÜiÓÚ³U“¨àWMâ]ZåG®ž»50lè·x”úGSqæ•1¨F ½ó› ¹„S­Nò`¡‚ £­´r•%Ç@ée¢Ðsž68y¤ïe;@þb ‹Í00ÕCµb³S?;¬+¹ðvè?Ì”¬à{¼ú?½Ø‡!j¢’˜BU•ærð%4o³?Á“–¸9GéMØìÈ-i5‚gÒL7Ov`BNõ¶´°l&É®a@YìŽÓßL£Ð0 @õGne\vÚ|[IÈŒC‡7 ïàž•þø/ôÛ"Ç*ˆÓŠ*Ê4œo±8þ"æ©­~Zm\PCBpC†ŒçD>:ÂÀpd5¶Ä ΄œÄHD„\aSõ' ¬q ´Ý]9BT‡þŒ¶P`‰ÍG…¦°fK‚ón¤ÒYáý4‡žø,‡a +¶çÂK×D ·S¯lÓ¥q¹EÔcpB©Ã åMÉ |£B%‰àŽ0,¡+2NÎ ©qc.‚áÚ€ßJÌv¯ Ü™4?;¯®‚*n¤·×ÙfL} {Žb»‘Þù1#W°Ñrõ/Ëc!Ïmd•ù–cÛ m— ÞpA¤ÿšžË1#²?{CñìÊÁø&ùЯ=˜eN‚ƒ£ÆÌʬmSˆLxÂ_]ÛíÞCƬ©¹K1r“;‚¡²¥'È'–ˆ«È Ñõ—ˆ6:ºéevÄeÓî“GX\—º»ù!±FP¢`Ÿ'h †ú˜e33@]ôökiÉvó ð=…Ëòò+M]rp3Ä«…ñG­Û„ (䥠Ló¸ëW˜aeEõmÿ³!Yrz'+x¤ù„écÁr‚}Ã̤÷µÉMh¦ÝÇù¢O$­ÍK0ØE-jjÔ¬FÀ¹¬M?ÿ!ôw¼çI(e@™ÞÅß¹¥^ËĹ,GÆ߆¸ø \eÞOŨÂ"CQ¯:éA`×ã=—zKàºÆ98’,®eŒ[ßÓPȽ¼d)ï‘Šcq DÛý;›d€«ä¬.¬5jÁœIÛžBŸÄŠ§\‘IÂ8R˹ Š‘Šaz‰Áƒñ«ø&„DJľ&µ“™sÀ†ÌªSˆÛx-ýq¿½¬Z)|Ž3ÜN‘”Ӳܭó®•Åä-èub$ÙT·‚á6ä€+‹¢K¸‡«æ0u|’ ˆòÚ•B +“M}*~ïÞWwþñ|…²V ê·μ ?o¦’8!¢ëà‘ˆL#¾¨180EK(@Uÿ¢‰~8 Z¾û©<&±”³´§üŠNÒG¾õ{mžªêGíx7wôET[ÕKvEÐî2û¯:€#E×;s–’*´TO[Í0ú6Ÿ@z¿ô§  å ³1a¾«uE*§Dg}^©@¿ÞÕ‹è¯Í<Ü–¡Zìèsß‚VI vÂKø—†Z •Æ¸•x×=˜±ÔGO‰b[‚qJ 6•&š:t2Ú¨ÿî>¬‚Æž`k¿ù‰ÝÆZ—W4!L K6ýbøýÓêÔÑ)äDg”¢È¨úG·P›œØ„ñ`²t©±÷Îò­Ñx©Éz­/0øRscáí¹<çb+—¸·¢#:Ó»¹´s£S7a×ÿs§îaIÂz³€s‡CD€dosÝ»È~)ÓÐ#›ã~štì—w™a@ºó‡ÔáNo•´á¯&ýÕEs²Ie¡é tAéÕû¢€«!´&]ýÜÂA){‡Kò"¼ýN8€o8·ZRoùª7ø5ZãcÏžáKºlY%¶ª i‘'ä ™€ÊÚþ§Å\ÿ ö¸Ÿû >F˜‰¦”c°©ÝPº¾Dá’fÇaá—øÅŒEò9:Ð(í1J!'ÖZdëgÌÊÅS_e6Ò»‚}·x®^ë5f´…q“©qX…|2`û<äCyó˜lÖÁÖQ-(€ xÓfkž6gA¦h¡` +V\w´@PšXy¾ƒ¼V+‡‘8ÇÓF¾`EÒd?Ÿˆøì%ui–1 +^3ÞÒPÓ¿ÈÙYpž8¸Šs%ëµj&¼šÀ¿q'])?aÝ &D5F߯Ä;à o¸©%?xßWòPÔ.†t‘Hd‰Ew;'­ªqªÿKJÚê-Ø碆eRÍAÅYÇb8YWécCJ[âÄ'G1ióCÿ"Ò•ÕR”Ñf]¦¹»OÉ/…*anó×èçÃWq…F‚Ê@¬E³íDV?f=[E(èmh\‚׋·cÌ$6ßKÞ…n2Ñ×*a¼ËÄk«%lo;_Î7ß”óûeÞJ/ˆU®­KgQÙJ$&"+åkhGõ7ïÖEÉ,\:§5;ÒÜ×™ïà|ÓNKÕ®ÇGçDˆ1¶úv:Ù·\Ûók QÝ.Ÿg‡tõ&ƒ/#‹c2NäÁà+{oÏa½C"ß ÿ0jB&Sò¢ñ18¿|Ÿªö£ùL1©õ [w ]¯= º“ëÖ«u´ìak(ûSÊŸN¾u2cò8„=ŽDJWz†¿ ‘\‚˜í}q‹l`¤$rU„–¹¥Œ)¦Ýó:ëCôð!°âC“ºÖ5MùF—œÌ¦m|}eF%çÅ%ùYvgdËìi£ʵU9³,]fÍ_£,iÛÁ…UŠðµGŸóÇFyªÇyo i@/U"I›†}’}$n°×»Up„$:Ó=ð¶áj¾W†Äî +÷zÒÝúbfk0¦­ï™t91Á WñÛDñöOSP,‡D3Ø<&„ŽŽóÿkûûtW"Úd‰# ïÇix‚ˆ‰éörÇ–MØãÿ_²!ŠŸ4ÞdAô7çÄ€^5û1r.ãâ¨t;×u ªtU*ŸAò;1e÷•ìI³Äê54çaqÓÊô-Þdh±ë ”*쭣ݮd A%¬ é +ÆÓÿ˱«XÌ ½‹?o_?’‡ é+r«¼çõI5¨¡? 1±³Šz)âXŽÓ1r<´Åj´¯Y5C_w‚¥†÷ä¡ »Â{tôaÐc•gÔ¬q#๓g']ÿÐDQÈÊk–òÚs: Ný ¶~ iš°TPÛ4·Çci³L=ìï;¦ôŒøà£é¬Mî;atCûü­ŸÂwù +!¥óÀÔ Q³ +4ßO 8»˜Ä—€K~Ñ!Kl´$€ Þ#Å5­_+]ÚGjÁÞÛÄÐ.•ÿH$É´Ä ÿ=^`'L7\6ì.F5Ø*FÎzþHJ(¢µÖ´? Æ­†×3ÒÒÑâvŒs$Y¸þW™’Ã>,7½#5®À2qõŠƒüZ³LÄÒZ)–]ÕÈ;]ãô»•+ ÿ §äSªOˆ'Lج~Ä’7#­nJ;ÝÚ3ù5¶Àú=zR¤ŸrªÁ¿Ÿô›»š!Ü?/ô Ëyp?>G>v„{ˆZUðò‰ÏœùÎi¿Ë2éàhtânFÝ.oMü·äAžÍ„FLÑ¿”JåMG EC\o…¤víy95Ö¿Ï(ððBlidÈRwÌ{TûƒîßP4°©æ–„-¯ÆÐçà ܆l°]EŽŽ²Ôûœoàå¶He.Šxî©ÀîåõZïïm¹ø?XÇ`øÓF|«%-“E—éÂ÷ò>fã{oÖ"'Ê™ûü¢ˆ•_›Þ¤¯¤z¹ÐœåA3ß$bü’:2Õ)þ>î¹¥¥¤g¾jH~ÚÏÖß±™Õ¤EÄŽ9ÎR‡€ãSàõOU·uèê be¯æI¾ßR3íß³x;²Ó?[Ø=E@lÿËMV¼º>ófËã Ó’¬¥1bîÓ¶›z&°æ×Ù*Tµ\.Ø4àYwÑÒ6•}ݨø¾„ù€Cö_ý õ¥´”qç`ÛÓÉ»S0•Óö%²Æ0RȱD Qµ+õý #àYÌXu?*ý˜ ½“?ªBZ‘÷0¿®W3b ª—Ã>D1/öæ×]áhDÃäæ»ÑIrKrFn¢6½ÀŸß÷°üЬ((ÿŽm1Û¾«²=2Ž€þ&IÑt~Ô½“¦èkðÚ (˜L¸7Ï]Æ»¢ì€*€aþL5¿ð +VDè^úNÞ¶»¸.±ÑVhé(bõpD\Þ:ì?ã)ø`®røJÚ(¶÷>žNh +HV³<±?úÑt¶€Êþ[RÝêÐ&1âÏ\NŸð¶Šx¬ n|9õ­ažu•Ñ¸À´ª f¼ÖM7Š†¦ÍŠCO­A¢8ç_Åí¬½cULíl…aj÷‡D.Tœ{K^íV„ª§«œ!%ö'ÜO6df½n”nœªVàÍ bâH“S ƪÈÊJ,sl PYA›,†0 õ†3A£¸€FK„²¶öÍL˜#ôÍ@1¶3|cT¦ߘýñÄò«ˆ"bÌ‚˜·TÿlÍó×ß–“ý„;%¬‹IzíéÈg*|2îP~Ò|²ZßÿZŠ-æØX)1‘î?%ÅV9)…Óâ.8ÌZ'ÈNà-qtÅ~Ëí»ß.h¹3;•3eø†íÍ+-ÌïÏœ¤­—fÄĮڋ»“ÕÖÞm¶Ô°Vú«‰Z®?v°bÜxÁ +]ѶV$ikãw +·lzøQMo·$JºæCå[[ÞÍòª—ö1€Eõ/‰‘—éuúÿn9| ÚˆQHÍ×ÊÔuŽ4Ó¥¸Ìc;– Þ󨚯ŽK\¸—¥0,@±±hàwY|¸áÞþô˜Æ„Îh™2,¯X6•õtŠ¥Í•QË;'_¾“oÞÐ;˜OÁ_ip»»ß$«„v”<0z›š²t»€‚™°ÏZ©Š¯}GÕŠKÔŠ³µýxîøO×4@Fû:C$„*†2Ä{Ø!ïF$SºÆµ³¿ K+´×K/Êz\-wÏÒ¨p¹AEv„R“­4#ÉùßÙZÇ0Ói áõ>Y£ø½ÖvlÎ7¿'ZOÓ¼*Nkeœ~ðÆÇê‹õcØ †) +BÝhÖ¹›oM÷°u“ J’WJî† ×¯ìS Rݧ…mM6œ£Ú_3#g¸ŸM/\꜊ò¢žÜ"fŸ9û§`¥ë<Ëé×L[„E|÷1ï BjÄeŸDÄwC!;,»kõT¿·|¥ã ‡@M|›õPШïÛ›`'0A îQ°ÕØ4vÍýgùÁ®äV¿Ÿ„†™¡µas¿|¨ _:Îò¨Pê÷Aöª¼I¤(}§ì,½’KN•OÚ2Þâ3Èem’ÑÜg¿fVÍp­0{åE?ç9ÈZ÷<Þ­!Ó­ªVô´2™P4T›äΛƒx» knöA£AÂë+z8ûf\ܾ@v~m¶}¢»Úy«cxÖ@ø€ò8H[›ê ©¯I»J0ë‘áó»±¼h:Øòñî˜(ŠƒGU"¼Ÿ_kg›F4Õ&‰œ&ýRlÆ‘Ê¿m[Æœ‚Äb@¢cû©QR•Á‹÷¬,„>ù™<éB×"¤O¬¦„È9—C'0•|‡zi +’ähc°bx‚ÒKd_q—þåŸP_U¾Î²÷2S¾>AðÝð¢ÏÉ>Öl9rnµ\E8P#Ž}Ik:×£“Ç\m qõn`%ycó*ÞbQåAá‘we‹Wü‚ q9÷Ô2«;µJ×á+jÅûqo<•»¬Î±V­†l%¿ÙºRJC‘Ž¤·9ŒìóÛmÄ-—mS!Av´GtMtíO¯<¾pºE¼ÂþÁ òMÐÏÜ:m‚lå­áΨ(³;Éšr<7pŽéÑ+S^PÙ+| ¨í™‚vp¡K×ëàÑl—B»Zœé¾êTŒcopËç lC“Ïð;Lܱ½P‹‹¨EÐOpG¹ª¿‰M3®«Â.íû}Ü>‘sùúíÕ—ôëvPˆAµ˜£eíàh ÊP"ÕÔd¦×ÊYLÁ~ ŸŠ}é¡P¥aIÔõšõ‹]®&þÏÊŠ¿kÁÙs¸ðhX^uhÖ†D:Ù<^!©v‰ž-W~È ´È~§]ü]·\#4ÅÆ”´€xOl,9ùTY˜´"‘»ØŸøXþçáVt½'ô4µõ‡>ü@P\êóªÇó蛫bä`šnþOod2<€h?CbRC_v)dÝqÉùtŽC¦:Và ]Ï”ÊØÞ¼7“§5„úòƒQÈð胅ƒI2#‡BüH*|oŽ4Y PHXz¢‚{‹–»«ÝŠÁGïŽ1D»d6~bf©ÿ48]›å#3œ¢°©\ N@]”àán›? oÖ²Ú)–’›óF¹^Z±t[_·¾ 69Âp@>$bs™ÎzSßa´¬5:Äçø–3Ýñ<®`ØŽ[ ª­¨"ôº¸)A +endstream endobj 403 0 obj<> endobj 404 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 405 0 obj<>stream +dMU®',ËŸ½¢Œ¼D‹iÞ¶ô¤¾þVó¶ãªdíe•æ¾õÒþ /QÈ^|i.² l½Ï®‡,Ç8{A „(ìËô`GX™É|úÛß!,Ü&qm.@TK m‡a]¡ÞVAŽZKu÷Û¼ºT&v6ÅëÑmÓÎM<~7q?Jã…»kÏ ªÝvCrA¯¹æÁcÌgó°)]bâzË€…¢•Ç?–m,ö³Dp ) ³šƒòBªrICzXGÃß@³e‘0³͇z}Q@Ξf*ÿ>ð(í(Ï•T¹Ý`u“í[±o§Ÿ)i&ûçÞ*N~í?Ù~7˜óÓ4Ë Ðkß{ý;ÜØ_ÎÒw@v…G!/3àJ3´‡QØ™»»§ +Ñ’ÍàCÉMVÀi(hl~hàÑ' ®Mº‰nê<‡pÛP™Ý‡Þ¢Ï E涞å:I>;Û\ðTs¼š' ¿ròPÓ°ïÝU¯2gÓ'Ö˜#Vw-²…Ĉ;?[Vó_m^|…ù”h·I­“@òx¦.#µlÎØþbR¶ ÛÇ Æé<ù·t¼¬¨,Ó²z+ +cùH2PÞZ-ÏŸ·ù'æ¦C— @%q *; ;ß:G©B¡ãÝ&Uï,Kuœ©!k+xÕœf%óIÞk]rN  +Ð'¹žÛÕV å,…ò€9¹h}1³¸Mè1UªY‘¾ÝUÿ"鸱rè)ŽÜ_ÂfaK¬ÀH ù©¿ÙWkhÍýQ—2ȉ)†Öt¡ðvÅ Ûl*®µe†¼Q˜Õ#>Á®\stúJ8Á·àÆ°¨ïËPœòZ´•9oÌSãùo^è +ÃÓ©xjŒq›T0:Ok +¤¨¿ª.·gíóýkŠš@Dk®jî×7y†jñtŸoøž:s$“ØkžÑb?½ è­të³D-<È8˜6ªÀ2.Î0_ŸjÈÛÍÎÑÎ`u»yìWÔ­!ãq°jÂ07]^7jlp"+ÄqñŒu&ÙŠîu´ ¦Ô§âY±ÂÏD3â{Ô,ç'PTœíÊòF$`R“¥y_{A +X&—ãé`4Xqf tÿDzÌ"ø¬0åÎŒ¡xàò0.1/G8@{P":ô¦™©žZvj/×üÆÒdƒB,‹kQÉ`U©Ü›’r5!^äoãMdi éÏu]ë¢;ô¥WnbüìW×0Ï™Þk¹³P‘îŠg¹‘ZV5$S@¦h¥~l*;ºÖÛ ‡23`Qž +cضÊA»2÷µõýÁûTÒ¾ž?±(J×â쿸I|ÏPSÛ´9+ÕïIówš˜€¼U홿|¥„éÒ€YÅŸÖð`ò¾’íèƒ ýeíÒ†êYV˜Z‚]àÂZÎPx ~ôX(ë쵋Ý#)€ÙÔ¯´ûs¶jS—rúþ3uZ‹ØàÉ\NDl”†„#®ÎÌðÙ8½´!ë|ßUMn™¹WF›9˜k§tIjôÙìÀŽL5" ÌÅ\»÷’zB¹ËH¿öbIDœO®™ëNÒ*<§lR#§`º÷>À®*¯&!ËøÓÌ$Ù¤Ž?ê“¿…ò4hÓÙ©n@¶¼t:3f~ã¡w@‚B\H;ŸãwBË$¶¤–Rd¤ÌÕ‰9߸ƒ]$Ç8–FÉPå˜w˜öŒˆeoJ6†Žß„ýud¥u(ÂÞÙ?¸ÇâÄeéÙJü­‘„Ú!ج)Œ}IÒ4vuZÛ.Ç%Ÿ²|[´´Ø«%€ðã<=¾¿<éQmê.¡ ĘÊÄK÷IçR”®}.jC¥_¸ïªõoXB´C6åë“*núŽ5×.,Œ/NjÑtêÕ3Ôh¶»ÞŠuò +Žœ,IÈ#²Î4C}ÓÔψ.- 77^›î’}2~Tºùd«âÒ“÷>nóJC·BI¯-²£‚‹µK6yuw½jÍD\¡K´ìoˆ\#¨Ú¾J +b ‡<€’à†Ñls”šºI Õ%ÿ=Ï]ª˜Ä`ÛVüU§‚#L3ÆTXË€;“qÇa?Ìô¡ý²Ø‰¢êŒX¤~•ØqQÔwfÉ°ƒ¾¥êoj†Y¥$â)e[TïÁÂ/¶w)(Êä>töM»Y‘ÎŒ/ïá„DŽ¢‚Uë˜ðXØ˳נƒ§À¨„ƒ±«àï7V±úÅ jÁ€ø\¤C’&˜ŒÝ–¹,Ä~/È3¸*N$¦Hß@Â#­ø<Úðù¾|!Ê]RÁf¤T¢qZdzé¾<ùCsÑóú!äð8Tw™× E~³dãæ3ÓÑRÁ *ž­bf€ ¹ì6Û~º.±®ÆG¹M:!>ÛìT‹\•5aoé"TkÿÆÜÊõb-":¡©;»lsòu$¢±ŠSøW¥DïQ„qÒÛò%V-°Àñ0 ]…D±Ô£°â ?\‰ž;æ“’z¬Ã Ëüé +çíˆ_\Î0³Ò%`çoÚÏóÜXÖ¿*Û™Ù2VtA4fåeCÀ1AŽ7gµ]… ó0Žç^Qß5Ô5çཬ³Ç.¬*®&äè7_ºZz²Oƒ8͜ȧf=ô‹VÄfOüÅÎP`~9GÕüÔ@x~v–qh è!¼ð1 G½¨nd™ìøÏšLK¯agê2ڙɋ:’£ÓX‰ + +*Deð3Ó§%àÞSk/´Ä5~oÈnŸñ?Jô‹¨ËAù‹Ì!¡²‘ZÕÌ"vÃxLÜO„ˆúéÔ¥9æ± ˜_ QCÌoçõÜ *Ø”%‘P{­ï½#>ÜCUÚDyðl—ÿ¿²|—sPÞ%ðNYùẻºèUèÃúK•œÿ.pëgø1Ön¡S%´cË] Ü“©B²u³=“¸wQâÁ¢¸ŠQ¢eiƒ’ð¸L +endstream endobj 406 0 obj<> endobj 407 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 408 0 obj<>stream +›ÝOÂGC\ÃsëJ席§AL&³˜áاMÀõéîk:âŠ$‘Ý8]ïYvƒežlƒDçâq' L½=.|ë²^¨â;zBƒSep-ú6Ú‡ xs(+­O¢¥ß›¢¯ôWýžòyw:ܺh› +­®úëšGákß¼ýúCaM‰n°t’¯@_JßEž|)p]®ª¢8€j0ܽä«1„ÆÍ~|ÞrÇ×1gŽ1ÊPœ¬·Ÿã.aŽG!cJ¬”á »Ùàò«úš<ÂAS]oÈ^{^ŠP Ž¥¬â€ +]R³ë_uHâës´Hû¦y!YoÃh,7¥ç¸€úRvœ'Pø{P2E*¦õœ?¼_@ÅaÄ[±­9ýQ0yî‡ÊÃÉü+qƒ³À Ì ¹´¦€Ô—Om dMáòC`>®›æ´ +’Áß˺ŸxµÉG2·ÿšU×¼ yJ3˜¡ +d•§tP$¦TD×ÎߦÄ]¸iÔF7Oý)<{Œ |’ã‚–tFlê…†ǹP­Ðgf=eMÆÉÐV£l½Ùè˜ð"+€ÖfÁ–tË®iVmÍdäy¡8²ÎZE1.啤~÷¡~@#ýÄmçihŽ©äør`8JÁZß51‹È +˳cð&¬Ú +¼OSö:Ö¿—¨êŸseŒ•†$ñëY†_—“›}?o{:JŸ=s¶=sM%‡+àOi‚…^UíK«’ 8õ&~=|”Ïë¸Ìžh7,L30#Á´µ)@”ro7c·Ü8Ž«ý‘ª/kˆMtê ÊRB«¾"·H±ôDø?ÝÚE¾ãrª˜Öç­.êdêR.êWÃ$Q¢>=fÇìjtó¨°¿š³4ÿp”7Ê×k=ZyV;}µZN¡í0£{o% p^½_”âÒ r#}I„'ÚT™Û&±)óàŒw,—gجoGËd,¿º©e0~ +lãu ”4Ð5£xz$€uÏÝ”°Ç‘¥MúK¢Eß¾b¶ºùÖãøå!J°¾ìþæ£V™˜ òP“‚.¶6o7Öv÷sú€6%È·Œ“{1ØMJ,Iib8þ:…§iAK×­DÃç)Pä¸U»v®BXä̾’¸íŸ/0ä'Ñd0‘5gñ–éã®ä =R Õg¨•äÒWj&†|NÉ.ÒþÊòÈ-„K“À-/£Øúè–\œZÇFûOƒ§üãËzEÝ1Žñ¯Ý¾>-gS*Ý´®çCc¬ñîa)ÄA¥ûQÿ@2ÄuzÜSa.yÓÉõ\æ ±%SS>3íVQŠxÆÀ–ÿöñíñWö'°/D­Ò³_'ÜvÍ}˪Óaˆ>ZE7̢'­Ö°Ú5¸ñØÐ\Ÿ%€¢›z‘U¢â&þG¼xpªXæåÉ´h|P¡K'Àe¹ü6o!qÄ2é«hÂA ÃÌïfÙð¹BGKb‚zyrÊÙøS1œcUXøÆòÄB ÅÒ| èZ,'ß;ÉäÉ~¶òðÙ«òÞÂvmPG…rµ»À“·Ú©5½“*"­™øX] Ú±… .Bá9ÂSMâ2¹¡’×½ýÞŽcÚ#DØ5ÿŒŽÊ]`Hu +.¥ïü#ÅW$Q¬j÷C_Jº²_ð„W ¡0Ày†#z¢VÄTv˜G]´Rºª^‡äi]r \3‚ €"Šãxã›Ôîõ¹ŒñÂ\iTß¡/Ðj(ªé0 —D¿“ëÉÅÞÀœõ¥Õ4>F‹®Ü'úÜ`$æ™@üxæ_mýòLi¹Ñá¥Hdq¡þ/ïà ¹è Y ©ØŠ.a±…¥D˜Èö@Ûô2ÅãÂ;‚‹<ÚsœDÂX€sâœúšß’$°˜ÚösÖ`:ˆÿÁf +1Hì`›öÃnðBéHTóSî&"xê;ùͧE·$Š.2€…dˆ¯÷ž3+¸øõç³l"¥Ð i<ô€mEÔÂÚ{®úsLº@‘V£ ½þŽ9bŽàcMBu­ á¶§út™Ú1æiVþ…‡uüÊT§ø,ß ¯»ú­Ïn´Üt8ï“à‹ÅIð +ƒÆf(6:ƒRD±ŸÄ¥w¥òÄÿ¸€X;Â=ÊWL²¤D˜WˆÑÞÕúlÌVñѬóH{\Ó£ØnümR'Usÿ# +ݘ^§« ÕdN/£|`?̧d¬𶡮ú÷ISÔŒˆjÍW.N؃÷`·ÆbûH‹CêKÇ«Å|Öú£q¯¡r’š×kÐ\ø +ps7%Óœð©.#»çš >{‡TØG‘‘„›)Òöðbý6‚ds±Ð•^ìn Èd+$ν5žºÍÝœ:uæiÚœ]I<ßÝ.êý'4`”ÛkZ´EmVïxÜÑÒŸ±½ÿ X|_ä€b#ºâµªù=?Êü%«Nl–²ì n^ÿýšó+~ KeäÐ}Ê"ŸÄ-$[½˜OyµäHÝc_ k dlõP GƒVCê·×PÔ'j”âêÇ£KóèGå}Y6qégÒHSf¡cˆážÒ"(êÀ0|*÷CØ_„äååqŸY‰V|¸§Ž6LCSjî£ëTèíb!¥Ó#äÆŸYœY«Îð¿©Y¤@Ç—³àlû‚+€Ì0Lسí3 +<µ¿ƒÛTMB&! ïgõ÷ÖOª©ø9Ti4ïG¦çJ<ݦ?P6‚ÑŽŒß¥¼q&–k53Û“4¥³×h¥3†µIœ‘ÁxÖ”ä4šÈÎá5~O£]®nZáuøCŸ)MÙEþ)0S_=¹p„ÈbL¦ñŠñ“YßWèµu” μñ™´‚(ë*[ù”òt¨Ù†”ùÙø<µ‹|#³ü-¹»ÉÔ.‰(ŒÁÝʘœ¶(7x¾e“XÆs´t÷ Ž§ÊBtBv-È%ñÖ ÷t=¶w/Œ¶†`òA¯äQ&PyÀC~Í…‡Þû9 wq,JV³kŸÞ"+“#(ëþhØç’mzÁº•¬Ãú?‹¤)îË”7‘ ÃPh­ <ï^Ïyø'ˆ¶øµwnҶћËm¥ë*BæÂ÷evlˆpKnº_/wë(ê 6¦â•3Œè¦ÀàÖ[¥–&µbëÜ>¡¦7qtvž„©Ù‚ÜÃ%G&÷ÁÕœ¥æð?ö†Ý|ÿ$bþçÙ1©éî,ð”îrr4¥ŽËªùªüÃÏ÷há±â$Ž¾37¼‰pá"ðõ碰?À­ßÿ­oHÑkçÙ[T}5úÌ_`¡ÛPÆ5Jé]X×Y?}¦W²âÂy[·%ÉG° w¶‰ö\À¼$âåŽ$ÌdªéɨÿÅq†¢ŽoO–ÄQÔ(­l—ò„â?IÆ{ž\å¤X«%R‰½QGØÌyÊû "©|õ«™5z2ÉbÍ3½@Ê\‚²:Àv¤Qƒ O„çI +ž¾Â]mH”]Isßeè›åß»Kó㼎+'^³¾- +¯ªñ°oJ«Ìö|•—¯O¼vË-]@ës‚Œ’ü¯4 ¾&P*_h+“„R¤\üêù»j¦4 Ñd›†…mLyM|ÿXk•ëT`§š7cSWt0 „÷êZ¡Ó ýo¢Åè´IBÈÏêĹÄçxÕk$šØ;kgÄC¶¾‹êÞ̦pÜÓa÷zn«ó~P؃E”Úè§&¾°2u¤ÝæJ‰…S¾ €ó‚Õ'ââÍ"N][ôDÞ³Y‘µéPG*)çI‚ÿ÷3ÛÙѼëùGóÁbâû¡UßpýzÐÀ6SF€Jr^OE6Né‡wÁ›ôqn×}ÔfÞ€Pó ¦Qd•pb?~“Oƒ¨¾È³÷&Ø0®2Ýø©áD>•œæTž¤]zvÊ? 1x±Á÷W—WúG¦xµÅmå[E9=‘ìÃ: s=ª®´ +›œkº¿ÑŠ<s` ªÜsŠ2aAr÷Õ¼@ 2üý"ï%â Q=ÈYmÊ‚m>o«ŒG\XdÂóÚ4G_«y26[ÀvLÀõûa ´ï— §4o5Zd°*–†nÑÍláôé w@àÚÖ´3÷ƒJ·t¯6ÄÑ·1×% ê{8*´J=Ü5¸öÈòøó›À­0YÞñq‹ÐØ¿~,øñ Ôù mçÄ›ì!¬õÏDÙáZ"Å62Å–•Î¬Ø)j[3~–­ómtÝxïº} #¶…d†¥x&#"°“ f”èÖÉŒ¨‹QÁȽmJ]øÔ‚~Û)E—‹t›xMgƒläh:KD-åŒ yo’©Ý ³´ùåzïO”ÙÈäËÝ‹ÂÏt²~··Ô«8ÃÁ± m:8RN=Š@ª¥ëÛS`0[MßýLU¾HÕËÒÿ(bÿf]Ɇf<Ó³À"ÓÈÔ‹´ªœF§˜¬-­ª¦»dey0£Œ×69¬ž³ü£‘´ëÁò`A}Úü3>ÿ]‰7¬Œ=[ +Äíþl¼T\Ú$,{ê?‰Æ÷o¨€¸´<§Ë^}ŒÍÜ=SêŸ5@>!´È÷ý¤eª¼HtÊ/gçqF©€¢?+™_DClàXïæƒù$fbâNff—ôÖÁÉ…ù4¤|þ߀FWE¥˜àïAŠŽ)Ìbæ¼/ØzŠ˜Ø¸äãÝOD´½òþDºÊ5ˆ›«Í,œIƒêYy%^Ò¨èç´Rì ‡hRýBUýáû]¿Ô0I­÷€)eÉ„^LÐÇ+¨,ž†ûÚ¬k[³[|ÒDuûj)_¬¥§«ƒt¯:M8;+u?ê¯uiŠþŠ,©óu¿rII£Y?>œ¸®¦0# dÙz¶:ózâ(¹Üðh9DX+ìÔû(êð©Ú¼[BE\‹rUßw(èFV:ò.JãÔUŒ¸'Uªƒ÷dy#ö|`0ÁŒWPJÆÓ±ÝôgY¹) +.ÁÙ)ŒD—øõ˜êõpýÈÛUð©páê’AÌ•õ¼tŠÔžfÍeG/e‚Rsb”äîGRë–õtW)•°[š]•Š?³ÂTð +ýÀ/(×\(®= çN~„»ãoN6†.E§Ç¦ÈLó+6¸#ȸ:¹³ÙÁŽnb56ݦ‰å¾bpQƒcxªÔ“!‘|ô*%úKUVûǾÇ=ÖÑM5=`‡‹v.L·_Æs»=õ)Hz㫲óèV9ý,Õ²ÀÏ2ðå Hˆ6Ú 4V’”¯s— -ê¿[9AÃÁášÑ†Ëø@*¦m&g“i›cŒ®‘ûdØ:¾«ý?nzr´È +ùÿ´ÂŸ¼PÐ4øo™)š:žt?°ùöx ­°†Ï¿¤0-BÎÞ÷B#î›d0·aæ¶(µxÓ $… :j·êäQ×À=Pj'ŒÏà:lƒ²çìýqeY¼ÕsɹwÈ.Ê‘9Ç¡ÜÓVc¾!–CÃd)Î?!g7ñ—7Љ7©€î˜S¯ª¸L.E ð!•ê3Ù—Ì®^D^60ïr"M;pt€ØUKQ‡ƒ MN¸ÇÜžšÙ¥zvÒÚ¯Eá -G™fH$õ9êd?çP1ìb)kæpuã9¬l1ŸwE¨A 5YÒv¬)‡#”þ@ºuß@we?u™Q_¿Ý[õrU‰T¡w z—-‹W“ 8/PmÞÿ{‹é" Š"_¹#ÿ¹y (–N{j +endstream endobj 409 0 obj<> endobj 410 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 411 0 obj<>stream +³ö†µÏ•uÀñ6ï/:ì>§_b#>7—Õ8 óh}.-®××#–ÄÅÏo×jìS%ªJ†/^==;]>Ý'ž1!äâ§h5³%ÇóÊ&éúÈLÛÊyô9³ƒ6‹å8k§'_íl3ä9-/òó§A³ ðçk”ÃNÅ êfr*1E¦Þ=×ìjÚ/q ˜½9¶¸„Š6øõ>žß¼2$ m0ò2@¤B$Ê'Æ»ã®=”‹9cŸ#xgšÉêš´pËÆÊÇÃÁàÈûþÖ2?ò蚪xðÀLñAcºq7kQ¯¿ùØtbl%”¥þoÁÞÎi·èQ â>ÞS ®°Œ£‚âï]Ä«ð(’§ª•!Þƒ"TjªCaSDHzIöÜÏ-×á*ßvî´»+HäoÙ¿ëï£,p]'‘q¥…-‰þB¹n{…ûZËv׿*W¡K&ƒ’N¿+ä…ø#š:fuDsò1¢µº9ê.¸åt¯$Z+ÍHdÈD%Ö¾sè)(—tǘ¹—OÃqFÊh¥çÞ³g[Jˆ¯Á³¬Ölð)‘<@ÿ|·ÅòF7 ôã®o`ÆNó-ºÉ ¥¦MHO/‡99r˜©„²ž-¨‡š¹2›á:CßNÓ‰ƒbgâà±»¾Ö¿«‚]WŸÝæx9îˆ&P~y“ "¦EuTÓ|ŽP` ÚÏ1^ ~<ÏøsYêÀÖ¸ ÙNÖЬßd!wÚƒ¹g¡ÊdjõÀЧ‹é{HûC´-<5™hÁ’´Ö¨aퟙÎãP»¯Itô„è­¢Þ+Ñ‹øW¢¹¨·Y!…§cǃS¬®DÈ9¥ú7xç:»“';°w^l,4`W2ã›ÓR†CKÄеÞîAÒ-‰óÛ¶%g¸®|‚n3“Bµ×ê¥)÷º?¢}$‘ŸÛóè×ÈŸÇ°s.ÃxʸpÖoõŽßвÄpkwPÎuÿÇçõWt³åsî³SØßÇÇã9;‚¿¥ÀÓ¦³ÿâ~9…!½aÃ0ù²i¼KlðkMWw8Î훢óN¡aßñuž,vTjÚs©i<²2×Ø'i0WÒDi-”˜bR¶ +_ +k` +†uqµD‘È¥;Üò•|Þw7ØÈ +nÍo•ÍtoÓ@‹±z€ãeU¶Ä©o0ô'N‹´tìóÔvÊì%ƒCîÌ,Ì>QÄ]q:vµFƒ¿“±)h6ÑCïvè«ÕP¼u‹¢^£ƒÓ”Ö„^ÝB¹7§coßNÒŸ$ZùIîõ>(HÖ4HtÞ(E²òé~[dMµ;-ö Sñ]>¶ÊëGdÚ5Œ»ó¼Ýšý}C¥s/¯iÂv‰[!~.zc¡¥;äËÎ#—ªÛìXQË{O¡0jb¥X¥q#j‹Ñg8_ýO;­_ 9á-˜´<:‡äsn„K*?‘KÆÁS·„Óoãúäv˜“º„(©züʱÙE>‚o嫵Lflð±F(k¿®èxç“ôÅýïqyú¾%Ó»ÛÚ-žŒ±ûsÀ+‘ È¸!!öy^¤Ëd +9–c±˜pAGE<_Ñ8÷"éâ”t¦„w0<îÎFmëìâ)Ũìÿ>(Øe›h)\©)Θ…P×÷òU4©fM) +¸æ=¤´2â­-)O®²«ù¿ÑÿüÙ>‚9Æ&NEjþ ¶Ï#¼—¹{R“1u2ÎHì{KZèâ§n®@ ø{f3½Gzð Ú0ë;Á¹¼'¢ÎµI¿×ਵö&élZÎ÷3 JÖH"â¿Ôòx¦‹a. +ZišAÒ"UÕØØqÄ)—ÅéÛÄ¡ Íø8véZ"P†¨гNejæ<ïŽÈ‡IKU–Ïõ5T› ÆúßJ¼H5ÍîòždÛòš²µÈ9eW`öäºóã×yVÚ(qLGˆ(þ¡ @éDØxèÕÚ 5–`_ñ‡ûXP#yÎæijª@mĘ_5W9&c:ô ÿÄer=ƒß°Õ—=ø·AÚ•ò•Ûƒ!m7»lÛ5]É>©M‘)«˜ ÐB¿`„û2e”l×ÅÔÁØŸp˱/ê­…ò2fLï!Ñ&uºEm\¥wÜìóÀ”´¡£$•¼:c;–§èæ0-ÚØßÜÛ,YÊ~TôB±Ö Ô¹€_*ótÂø|e膑G’o¨xœA8'f³ý¤ƒ¢Öæ`¯QA”þ=0¡ÐCÉ Gxs ýœ~ç ®f3½²ik¥¶W=œØ€Žv^isO\«ÃÝ6Œ JÝ6<¡ÉiJª"à!wl}¾\|Æ–ë®jªýMBŠõ?UHDÞr$äïÚ°DÞ{˜›ÎU>†»©DÞ¡Ï+»Ðp"DYí·tül3ûÛ–”8D‡NqiD¯·oOÛÖ¡ç²æ꜕͘¢{>‘Î)r»%sû±ØIs^|Q‹æ¼“U2„0qÚ 4; +¾â´«æ³¥€âmßÅùlaöXO€|5ñ ! +aþ=¸’ý‰t;L®²€=ß?únÄ<óbo]¢Êì#HU`ž#ŸC¦¹¥"ü52íåÒ£˜cA–>¢kŒ‡MVæ¯ÉÈ'l$i’•¹Ëi˜â 4æ¯h¼h²ÉÄô­×Bƒ\ÃEÄÌœµM¡Ä·RZ3•P&·yõì’nvðæL£Šú€ÛýmŽg»<Ä7^ ¹êÍ^øà¢Ø›ç }+°ÝÊG{ÔÕ;ã„b²' O föU¢Ûzª›HuÃBý†ëâ3…úû],¼,Þ߃ʪ.…뺀TÖ¼o’œ‚„§5øz+›OrHq~ %0úÙqj¦éù mW ªé rÓWøTC4ÄIlÿJÑ:#šþÆ5àwðüû¢ÇÐ(VõÆØrw'†ò„Îr|‹¹Š ©)½îÜÎÄ3ENæê>£!´é ÔKéwP¨½6r•ùÒ* ýr,›‘:æƆïã <88‹·“¤ÝkŠÕ²®—°foŸ3̈åý < µÅêwâºy©€Z$9>Uw}®[§5™.Q®óó¦åûÎÌ_­V+æöw)kYZQ’×½„¹oëv câÒIJвËýèº'ù©ªÿ†¨|ÕôÕ¿^4UÊ—¤‹Ï‹zwímló–É,Ñ©pWÌÄó_ÂIKÃæb.è™pHp ºf +ªbÄ:äWwŠ®…²÷p›ær˜Lbi ®ÀŽýxÏÇo_ãÔn’KuQëz•Åév¥ÜF†Kù|V{r ÔÑB, U¿ùÕ)Í-” ®?ƒuen¹ Z€ïy‚ŽùTI!¦­l¶ËòlŽ8_¯8¾9ˆ)ø×K—[5>ËæO/"±Ú%’&´šbõ×(œœr’£½^qmå«®|("C¤8q" ”é_I€ßÙC÷Ú¾zëMJHF95à®ÓF­&£…²Ò Flæ°íhˆ{—ø_[…JnE1»å]×›Súm™,sV*#Að.´¶Ñ’IOÄWôŸ®¼•¬)äªW2áà'˜òL?€àt1qŽÏß ab6ïm:ÐÊ•†hjL»~²© )4Yfïƒ2+ôîè¿a‘½ çå‹®ö@|ú± –Bç&W°½p™Y»¸âb'öqƒLÍñ$˜¿~X˜wᥑ‰z^¼þð„™¬%¤Ö©ùUÞ·¬Ý#?8ì4ãýÑ&¶ÍchŸY‚f©‘ã7/¼@ýAÀ­ÉÆ ’‚b@Ó²›õU¿¾8j¶ˆà›‹–Ãí:òö®{ík¢j:ÏÂã="´ûãˆJý™Ð3Ì9ÿ[ó$§ðBà¬÷]ÏBa¹Ž!ýUý#ýƒ€¨ û„Mšô°›Z'­Âû´$ð ‡NÉ)~yº6¡CèßÑ’¼fz‘Ñ  W8ð)hÓ<¼0ŒHßIç‚u€ï”C¬&Ò‰œÆ+xI÷,š·~º!ƒIˆàéᇲT‰/}=–<¡ãËðÖ_ÏÀOÍDj¼ƒ ‡ãØöM†\EƉsNÌLgsm.žç¯J3G²^¯(±xÊŠV@£ã í÷)ÿKôô–w¾ˆà™p¸kîìZ,K£F®À$ƒR ‚Y “%îøÕøKt¹ÈÅ@²C²‹![äžOî.•1Yè{Šák§á»m„•ä° ]קyÒÊCž³a#ý7»÷4´Ž~ 2w˜Sw—L2ªzÀ±ÂíRÓïô!ך°~O +‰§SÙ¼Û¶|ÙÿÄRärO]@í \„Bž#:ã¸÷~€sŠÙŸÝ]Åkgò…¯$âô‚âdë,¸ÛvWRéYë~L§›¨F +èK¬XäÌZUÇ4Þþœ¤`… å“tŽm›}¥¯BD&—§×‰š=ß±N8¦šÃöb˜ÞÈû M OgàL—£ºûâ„¿=Da»ºÜ˜| +¿[ôQêZuDvÁ_ýLV5œ™–ôwäŠ1ÖzÓI:BÁåõ-H$ë¼8IX©,Û½hÌ È{n›`s9ÍQ2;Ž”$yþ1z* ªÇiO0YÀ”Ù~ñ¾›ï"Ü*Ðs±àŸöF¬¥Mî¾ÞÎkE²Ð›Q»›Iäý€Ã#íº9àrh9Q!.!yˆd‰hÂúD”¸»æM6Š¡Âo¬^8wò¾ý·ÒÊ#og鹉¾ȼG ÜÅǯ÷G |Ôòp¢qP:š/¾4 ÆAÅŽZoò‚Ð 9É*z«€¶ŒsÌÂò~Ý>(38Ón¨Yžh”å2EÒMUD?4TE«å¬üš¢.羇akH9ºóµ^±ÙJ¬Õ &ǪýÚ£JƒÇñít³=¼!d»?À' +‹¹¤­Ä”JL§F(ˆ ZØ{Ûç|8<›ó.ýÕ†Øç·ó>ößµßvÈ6¢Ï[w)5ËÀLðôûM^“¾‡FÚ×ÌE>Í^eß.Ú&„뽯†…T[û]]§i8°:Ïf¶ãüiUÐkÐÄ4ƒD1¾úp’pÒ(ã™ý­Î»wîfÅ=Ë®=GÝ )—Pë¾D¦¶3“[¯Qò(ï z}¾XÚj–]!Þ¥-;.ÉcŒˆRÉ¥ŒYr{ŇjE¡,ÑK ®}éÊÍÝ +@ø£Eò-€M¿* ©ÚM€‚{͉ñ}ÿ)ovåª5A`BÑäJžx–ü%›í/èìň;ºY䜶$(çÝat…,òõßŸÈ sXܺªfð1…)º¸l…³´Ä@ž +…ÄÝÖÒb¾ß²©ÌwNåŒyÃõ¥Ç{0M©âP^)·/^™¹†=ˆéó†ëĈuëm&ŽÖXÒ ±hÊÚ¨z=wÌQôà­¯óÃÿûïÎÉ+Ìwg1Bdz>»}€!˜”Ñ÷·k–”å‡{ØN< Ê€î9'4 7tó{«‚í%¬nÒ²‰B0î¨,¡¨ÄºŽÑoBrÇ&äýu+Ù•jÓ+Ö…uÂœÈÚ‹÷•’x*s¯úEÿdý¡ñ‘0Z†ÃrCwåjŒJ±/ûñ;[‡A€É)<ñr˜!ofouýb#¥ùõ—vËbG—•%¾ª„P©œ)ìîŒ ¢ÍOG¾`J.sú1!¬îj‰ñ¡ÿÇM[ànˆyâ,+¸kh¸^æV-;ÕTiU§mei㘤M÷ È:KÅßP0ŸÉéå½\e^z>Ȳ~Xó6E† 3 Ž‰ÿܶ`çj¸Ëî8Ï‚ +N+øxhã%C4qÈèÃÛDÔÉo\Ù.Iò1­µFA¡÷H <ñvÁ€ò ÕŽDYž›1…ómû>÷;•hc§lóƒ#7&u²í¿ß†´÷Ï×1x ˆÔþG¤â˜“|ƒ©0Æ°Ë8†³í©Ú!t¦!÷UMÂÖBŒvØú#M‹óØÒ&¬à7ÝohDyfNšÔsʇMü¯Æ5þ=®‹u¸N +öük3b¨Îçÿ1Tå<ö1½I}Êà.8¡8oøΞ–þ‰r!ÅÊ¢„j¼yûrv¯ùÿÖý9@EYƒ†[Bµa‚Êëò‡Ÿ÷BßÏÖÎ \æòºMÜÙ¿&œay»Ñ–[f:y:ÛöãÆ;¨õ{föIÊÒW¨³£¡¹€ó»“i‘ïefñ¸7ß–õëFäºò9—v~@Ì!Ócî…LëO<¹š‚€Û:8MaxâÉP÷UºÂ „"MâmÕpv±µ… ]תֆ›­zº™¥8d“m}u_æ9xr¥²  Äµ.3xTƒ'œg“—õ—°^|ðRÖtö Êg=XéOõµÍ: "`€T`ÚJ:‘©«Ô>ßÎ;Ë4¯qà_'k¹ªLÔ–Rgü¾<ýëlð¤Zù¶}…ý™¹vT)M” þà}EÅÔÐ÷ò”ÊN©™çÒ>op~"С_Òž^Á™Y ¨‚Wµw;¤Ï¨€ó‚·™JÛ˜P¦ +sd’s½ù;³ Þm ¬S O§—wÏô_§MŸŸ¹ÔÀÂÊ$Qãî¿4 û×_Ò“ŒÇ¡×GÎurÛPìöhsARb?îR)$MÿKísuL÷Øeüƒ*òlÅáév %á1ØÊÒnž ¢wƒH0Ò +endstream endobj 412 0 obj<> endobj 413 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 414 0 obj<>stream +å²ûôÓItµÙ©@oÀžÈ—èZÄ8‡2hýúOö9Æç)b½oƒúo·ïà×ÛŠ¶5îõ¥í³œ+U*èô™GØ9ùnnÌÄêupí¡fh'q)"HT—͆zÈ,'•˜œÀ³Bì®óz¨ðdÇ'–£ÞWBò•$®]ÄvD/˽*Û>°uÃè_:|±³•¢³àMrø†'¸ÜÞmË\ŸN'ßoz‹¢ŽXù¿s ŸÁèôÚ_¹[=_ꞈ8â‚c’R@>3X=e’gìÁ˜ÏW"§¦kv°¼–;ô/®”š"± +þ¤¦cP÷˜ˆ¯­"£ &ô¯ysº…æ'®ä"ê‘NÂà7 ÆÅ ýÕý—ÿz»¶M >—^hœŽ?‰T8¶„{O¤ì>вD‚@•ÉŸ¨- ™l%R-õQª¯dL<ÔŘ¹²q€?Üu™óuCt¡Í}ÅΡ¡@I +⯠&ÀÞþ '3Ï[Ãe‘nq([Éîfª€ÖWìv:9@Ã:¡¹4²_Ml­èÚ—³ÕžÖÚ¦Cçî©0×s2hq32ínNwìÃìªj„[ËÒI:x«ßÜ˧Ÿ®ÑôHdFPjls½›´ê@uÚÜÕ‡­øñd³=ƒT¤È¯IÈ“mfJ,QSG >lsÖ‡&ƒõì”Y>ùü€II^s¢ZE"°de‹–Îg€˜GÒÌ{Q½&¶S€«Ž [3êÞC¸“™_u8´Ûj6Ív…ž¸Rµ=oãªPÆJât,ZŠT¨’¦XƒÚ=Ò䦭Ws˃Îå²¾wçÿ ¼[¼ó9 ¦æàëùuxµŸÁ +VQT£ ŒÝX'ýƒk+ß8EÅfÉ­$ ¼Q¶ìGäáÿÕ~rZ¨xç¢bk†&+âP‡KJÌ5ž/û*¼§ÕtySÂ4ÁŒÓa/ïég¨à¯ð´)žÒà……§.šÛM«àBïD¬œåÇÔûⶎ·!Šî•ð.S!Œ­M0[²h-›‰g™ºMéøá—>‘_\Rö •Ò…§FüÃ!™ÛeÒ⇿Lâè=þyFøœYö™'g8GÄÀI%íõCÁÍA¸çMIaNr€ÊŸ±Æ¡•¼È¾!,}X!¯ç‡ÃÍ Oñ kúà¤X-È;H*‰—¦ÞÁr€ZHÝíQáÍ0ï}ò8 +‚kbüÚ)Õ\š¢|À[;ˆWOSÝÓœZ×ÚEc¶€{Ô*ÐFPZæèr‘ò –Õç&ô§Â:|§ÐSË3Ot¾†F`æ“…E9†§;¤X=ÖÆÎ"Ì3`6ašqÔ~nUd£!LYNE'ëÎñî^éÍH9ZÔ‰wntBk-V»à›îòÀüsó>Þõ.ýíåÝI¥·1÷ûШwR™ci´d‚»"Œý÷7P¬ûèOçrøÆûIáÞä×Å5/_Ô/­XÕã!`mJ§žÅ•Nõ2K¥¶‹»™(~éÊÖÙ{Ï œû‘¦É­;…°Õövåƒ~áþ7ñf/ùw:™J\ü#‰| 3|å ‚ ÁŒ÷®ìƒ7({ÛwРκTkK0T¸iËd-7YÁqv +ž*Ä !Ô:ÂÙmÂËk‰¹['j'Ødc] ¼Àúõշÿå!¬K°±¼lå@ÒRðÓŒçÖH£OvÆðnöiæ)ýAúØ[²ù!¿i *5d±Â`å³ð”5îWíôô}ûˆœu ýQHNyö¼ñ­)KBhp0ó¬†Y¡ƒ‹”ÇD¸>)Œ_ Îu“O»ˆ(w?[œ¶ÏpMÀTÝS½¯”&9ðEçï0‰ÌÜ1lhˆ€¥0ðÒDç\ÓâªFí0* ‹O€qD*y? +2Š¢—ýÄo¯íìmm½ÊÉC³[Á©KoPçX„lØQþ1ˆbâú8C¦;aVj^>áã°›âAï*Íà…;ÝýÒÄLaÀ?»Ë`¦ÊRnÄ€+EökLW&ÿ»ÇÞôþ?êÓ £;'ùIw½’“y"˜èÏêÊ".ÁSÖÂlæ +0›{±Koÿ„âjÌ“hç™Ï”CÜ”9Z%«åþ÷¯ÎA–üG\O5O:3~ ë6͆¿ ã­ï]ÖT ¾ã´¯?úÍñ(wfô;ÀÛNDàH'ýZšA¯µòQÒ0ív*Ùó@Q„ßl?e°ÔpããìÁØQ€­á½kM-Ó{nÁ•L8ú”îwèwirÙ¼‰:ÝÇy¢BѨ³,>OÝCëÙϱ愼Epz†¹‡[°íÞÞûúëßëL^Gþˆcè Å(`§¸•¬ö ébê:B ja„CuN¸ÿßÎ9ù&Ç™† –ÉCƒ6t£›¢ö©¶N¤Íô69‚“Ò¬„›xqÀÛΨû«ºÍqÜÏ”èPBå Òò(¶ò«éÓü¨*\t¸WŸ(Éjj{wâÍ='åHu»zÙ4i\O<ÊRVR‡%“ì£Éi¬ö/娤ӿä4”}ï%Ô 8R¥•Fm€o«î(L„ +¿àÔ±¥É‹¢,¢L`â¬4|ø’RŠ¤ü ^·ùÔ¦ó!ü£ñ¿dí=ê2‰«™_§ Î%(²Ñ"žßàʤíÀ‡½z#§þ„¡ÓÃ#'"6=¹]:ŽÞ²Æzyf=‹}Òã\º×l¤ÌL"k¯ðÑŸOíÔB°êº0ÀÖ2mWŸ8-"ö[ôJºÒAt'él±°8¢˜¥ø@µ£a¥ +±ÙŇ +È4]c4tVšuQ<îèÀÌ$“^úÓ Q][;áé5ot»˜ÿ“¨¸8ey,?±àDÝ„ÚÄ_àp9Ó;f„àþ=Á3¿ñÌ{—qaèÞõ}9˜¶Wvöð\õÿ✷4ü™ÿŒNÄ€áVŽ»'=Ü£mÒzÖßP‡*þÉDGÁ›÷n*Õ?àß… ¾zÉ4Ït×Ý +ÓkM¦ÚÖö\Ý•¶@§¬m@Éód±ÝP2•z˜Ð&K^U¡×åx¤0†‰©xˆ¼“ ü•©ñ*{V¸q ¥2?0©Îs„QN;†fú\oݳI‚t$BU$Ô²ÅQ¸h¤»IªqüOª„¤ºRB”—pH±"z>6dåz& ö‹Ê„¥ïZÒÀÁd³ê’íÖ_.†¿G#2vý#-ˆ±ëöc§y"î«Hú}ðáQ ¢#~rbŸï&>ÅCÓ…5;© +‰2¬ìËZ܆XêÁ‚o_:jì-Wy¼ "žNË¥'uzR?‹Ú¯õ!'OËÆJƲí’Æ<õ./žTYo°È@oK¨:qÙǹPGnB„†Æ-úᨂŸía¹O*`ÁͻӔ›å%†þuÎ(zÐ&€?ƒ}v!óÓÛÜ­ûÿ-k´C6­ù¢·Ÿœç';Ø**.ÞÂîáí¥æzðJW~~ *« e›ñs<VP¸×d›'Ó ûÁ‹_}mm°Ð©¢oXܳW´ qÏ~#çãÝÜã×~KiPà=Ïœ!’Â|Ûx!¸ôë¹›ºê'ª)©‡ôÜëÊíú_œ{pvùPZÖÎ_–”A1ñüº‰ì€«èáÆbì«“‘  PÀÿž™VæçV÷®î~v*˼i¦óðìý}f‹Àßd–géÖQ&®{áÊor¸o±²&ÅNtÅlÎÓõ#—¬ ‹ÉÙ .«û}›Ü;a]4€ìÕLÏ~ÌLßÍ¥8zÿ9Ùv#¨ü3[uÞ-SLf«tíøÚµ/¬-wTE`jáTJÄþn0úU6ÅM#Û;w&·dØ3 Ëÿw/;ËCµœ\$î´Ö®ˆv*]©<þ/ŠÀÛxš,OÃœ[l{ñ¿(ºòÿðžà"6¢µÝÔÃ@ƒ¥÷_`k·’ÝTé˜xšàð^SÚ¡ a×c^ÎàjˆK2´„ Üp™¬/¼>èÀísG²@èw !v“¼.EgûmôÉž;<ø$˜Î+|orêèÛ±(­¬©tóæä« ¨Û’c¦X_+þlY»‘gô]`Ñ–:§žhi §Ù’ïêÿN¹L¿”pê ½ C,CEh%TÝZx5ÈõSK–?Β?ÛY»sÿ¯¡?‹&¥ÑH©É‹@é5‘S·= eTŽÅåáè7¦îF}²6ù©â”ø#žìh6+TŒ¹o_ÄŠ} (_ã²R:f\gZc]ëJ8Ê>\³íξ0‚jÅ!PÑ}j·1ß³âÈ/Côm¿) é¸CDÙÅ/¤¡Ê~TÂù9ð”ŠöŒO +endstream endobj 415 0 obj<> endobj 416 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 417 0 obj<>stream +ª³ëÑ5-Q³ñ¾¿Ëó5Úæ¢F€J.2""p¶-ÿPe9`ˆì@Þ°BûÔ«N!á+ïÇ ôâ9“²aëþ©åÝ)m^,ÏF -ÀÒ±u]­¢Ê­å’;—Ä÷Ÿ’î#Æ=òA¼ÂÌ/‰ü4¶·x½‚‰¤'oS+†¤Aë‡yÅ•‹TÒ~â…â}^¿VÓ.9X^7Ò²ÌñN³–G9¾¨úE”ÆÙë?B^/`¯ß{::8\òSãÄQ!3„¤ý~d¡à—ø±RÚŸ¥^¶MQý6'²ºš\ä#nÜŒøtßÐ×í€:m[{· ‰<‡µÌÞø•¦¶ü÷¯è\­¼&Õ`¢ÞZ(aP,¹ÜÅW´‰.„ñ›e3´Æ~J=Í<%Þ,'ؽK¢n‡ÞÀ ]Hœâ™2s¥vÑÔx[zÅÅÝÁ[G¤$Á¾9ö$ÌPÕQç8ŸRØ“fk&¤ß½æŒÄ“ +Œø‰T +F…ò%Ö±òâ”%m7zÜ;fåwБ媽˜l÷É;L÷Ãt«X½í¾ÿè ?@Ã*ZŽO +xK¨—J¨ÿ© ”ó°Y*>”þ,üŠcÓKj8Êüâ>£‰ø.ÓäÖ‰¿1Hżg±.EÆ¥ËÃ^êìFTÅ?`ž(SÆýÊD7fsÓ €ë¿€ãÐõH,ÓL66Z¹Àc•©„–ø +Y‘7½2<æePç.å=ä¼›Ñdy(él$ÎÖ[ÓœcV@ZëWGo#Ët ¢Û&ÇÅó&(2ÞŒl‰â_œÔõLp[ØšXÑ, /SA-ùts¢:+–äQõ8mGµˆõøÙ3Ò‹ã>µXV]ùß©:¬S–c7C‘ü¨2 øòe j¥Ç%€Wðt]ùÒÌ5a¶Å˜Í›tºn×fdÈ€J-åÑÜ4Kxypºª?]ù(._jæ2Ô$Ô”™+š!ó¢<6}7ïaC)$·­ ¹ËÙ%‚ûqóêo_Ý ¹Ú–$»$Z¡v'ÇožÝÆÌfÄAb„Å9EÆÖ ôHÓÅTÍWÎ °+Y?ŽÚºÅc˜èYmgÍ¥#=„̓š# 6ÌOë1ŽÝEüǃgfÀÙÚÔ°ùö~ø·¦½yÎÚ P£GË(ÊõÏ)MxW'~±Œ6d²¨SÄΣÎà›öÓµã¦YhA¡|Öl÷jO‚ ֣ѡE/²È Pâ(2unîN‡Áƒ·jñ +aëë­Ö EÌtÔºÓJ¬cêt,¥³öR[.¦¾Óaß‘[‹Vê7k€ÒDcµÒµ°ˆgX¡îU×g%ü€¢ñÏód‘úAIñÒÏŠb ;¯v T“ÞCÅ{Ù‡F‚ûö'ê`kHãÌ^kí\(Šk#¡éAÑ«D!F‹Gì=¤P2¦Ÿ^ÔÖé3 7®tÓ£y\¬®»À9]2ê™léEÓ˜Û0õîW¯Á(COsù}ÉzVÖtc¿¨•;«0 ?Œª’ÜXèòêZ’8­¤Ár³ݘS/b0®¦@ëÿ‚Ð6mª4‘0x©ˆSê|êÒ=#âRÕ1VÕ^iÏíÔ“ËsíΆ†ãš×CàÖ³ŽX¯ÉÞ8ØSð£s6^ áð)Ä_·RØ}xöÓ%onÊQ “Š1;ûriVé#½?êäìjÐj¢eM­Ýþó9|¼²ß®¢Oìú4ÕÅù»lû*ô»ZZÜ»ra† {À7g­¸èµ÷ÚÙ{7“õsKÍÅuÄˉ›âU»ì½áe{¬èD­­ÃhÅ`þW»'¿E¶Ù Ê ¸a[ÚþéhnnÝÈiÿEh Ì¾³2“ܶ08ÞÚ£íYŠD~ðc‡j9q6YJK5íêœý¤”‘tþZ¾1šý²gįG„F·.µ»Šv¿‘ ² ]¶ó1PÇ‹®Â,ßA›wù)%G15Õ“][Ù¼#6 +­˜ÒðJЩÝaK“ëh²ˆEâƒ6çƒàPš@o#&oe¶-mƒ pGΓ¢‘¿œm3û…5¹Êrç®-é§æÛê +N†oL$ 9J¢†nÔN:%h·1|@°ÄÇÀ-µÊ¥=¥ƒûß~‹Æ=¤2.ê ²H«*é®*kþá§mQP®ŽIV»„„˜¤ i·"o^ú çêdÍÕ–þá>*ÌQÍ“ ~é}‘fÍ %f±í1Ôe®Ä7ó²o:¹Ó9?(χ:¾jLM¨ëÀŒ¾r˜&ã H1µo0äÕvå;8ùhOTó;¢íiœ²2:ì¯ ‚¡ÞÙÄ3›‚ d~#º1†8£?nؘ½I»ƒY›{OÓqÈœâÚ;··:éý•»‰©ÏePMtº)F“®hÝL;ס æ~íÎ̉õk I#ÑÔô£Ì® Dêöf#%Ć†Åƒ&‹Ò Ó¬uƒ5u[f‡‹Ž°­³A#cÐ +H TíI|Ê×ï3!‰¡V7‘–Þ§dtÌgus‰tÑöGðÉ4Ʊ8¸ìÂ7»¯Â*9]ñ–¼ëÑdÂüp<O_>OBÑr䯻öÉ r¶zó{A¿cD(Š5J…üÙåí‡q-1T Ö–³Ãñ”¾Äc•¡µeªExIwcP¦Ýj9ø05êÐn¢Û‡éX”Á„ X‹p¼ôH}A«ÄÔh‡¥J&¹£þíB»í7†Oî¦3Ç6ê kBŽÛ1,4¨4b°ûWÀ°¦dkñ¿MNØ‘˜%ÞfžŠ]E+åàƒäÉ£§²>Ž(üB¾V8Èw]¹¸‚ýä¡@e !M íËo½ë`±µÏë˜ÚÇøÓÓEiçì€Ó€ØêË hj[WÊ5Éã¹@´ø˜2¤˜LSòi%Ó–Ô ÓÄÍ›b ãîÏ®ð‰(–EPjr°6±„º£ÜÈ@Ú"c!g¸Þ¥hR¾M—}{÷`x;ÕkTg(ŒzY͆ÐÄ°+‹+Œâl¶³YŠñîÝ×ÇÓq…½ÎiŒˆ¼Q'EÏ·áͧÇ@¬&vEãFHO÷ãB¥'fÃë`µ}¼`Ö‘ÒõÕ@»²Np·šæè‹×°á_Ö%Ç‹T+EôXÛ4àV.Ër ÕzvˆÞ7l$U÷RpzLÙÚ¬ [ +ëTDÝ  ôVyª“ž•¤%ÒÔœ’ýC+k-Å­‹f ¹d"ûØ“ûp7sLÊmz(”MïÒšïêö«·;4÷J×j^ý–­=Gµ1g¾ÏnvÝõ~ñ³ÓÉlÃÁž\‹qcO¹T³cg>¢½gSÎ7ØY¥fi“Û»<žál>óá.#@ÊêÙõ*Æ'4ªH)3ï ²1ÆÇ£­ô¨Õ·ÜQÖá&p: ++{BhÆs;’5Y}ëÊ_åÚau4zÚÀóÏ«îœ^ô ©("Hdh# ç^­å¢¶@Œµ/*†fê¹fx~ÍÖŠFH«»®VÕTø9ø“¯­Š=ÚŽ³¶ß1j¢GŒV:"ÆSñfÀzï«/ªØî“’xjÝpL÷ïÛ¯•2ó¤ £¼Q±SoYCåß?×h¢–¿sƒô¸ 2ï’h±¡DJ™c@ +nE©›SWÕ>ç“Τ÷‡®cè(G!Î^e(6Ð+cغ3»•1-BØ¿1ûYü,ji„,ÉÞÏôúzyJ¿Äd€X„mxbX|é©ôógtn"ºmÎT›gйο²#ãÜ|D÷:n•:Ì/´z&æÿPs=,³cCQpsçí4ˆÔRÙ@zÁr宖ᨕÂNù·Y²§f²XöÅ÷ÂïqÞN¾ðý-x ¬¢|TÀ-niNNæ|Ú‰ó¤ñN~ŠòHò0n_GLA¯ïƒ +}¡‰a¹þ™C§SW|‡v ·)nù©Ñ›ÃHeh+±œ“¥³õÌìkRÕÕñÙUx¸¬¹¡PÑض(ǧ‹ìüþ&óNØ}®ø¹Œ‰Ï+3êï8°Wª PjÔƒc@<·ðÈáŒã}!ézxH%â(f–(ÑneɸDé”—oåpÁ´J§ç4­h~ÂëË.¿é¢/’Ü /RGU׬7 +Òªn4¸=vÐ}?àM¥¯ÒÄ…(.¯é¶ùèÁ-rMÝGH-˜_sG½dpÔà¶?BË›«FUÿcÏ /{€9Dsq‚eâZ·{‚ÊeQ5g㻇ŽÖ‘€ôM+¶¢Û +„ËïÇ ½èiÒÃ&*™’„KÓ—Òø×s"WÙ¸Dv³&|xžÇSšgAˆ¤Fo±X©Ä$ßì«I T© ¿˜ýèÃüßÎâ>ŸöôsJQåQõ6Ø>…ÆvÃfÖŠ¯¼[ñÐ"FoÝ©w°~JñC:èÀ¢¶4Ý’Æ`iC?,<pÄRch3& ûVøVýXÔóñp]CpúŠ7¿i ±0ïïQd¢H_O+™`µ” Óu­H][궄¯¬0²>|°ðGâóøÚÃôô+̳•¾Y”tSƒÿ©øK£ñ&'²”Ò`lò³Ð¸®ÒŽËÚE23µÝ““–uSaÉ5ñW8ZI•{oJÏàˆu§$’ŠfXÆåßSñµ$±P«ë&ÏFÅ°N¶³Òú´¨ÃµÓ R8ÿÒOŠi`êg•At:"?‹ñºx5™e;ÿC‚@G‚„+ÐÜö­ M¶‘ñД[eó\#µ°÷ô–Fcõyäbký¸P©ô{aó-?m8¥‡´,씵…Öø0à¸_qàfäk0½9f±Á°dä[G²w{—ó8 +©E={ŒŸÿ4ý£naGÆY! c«²úËvž.Nç¼QH>Stjöl`ÙŸ¦‚| +endstream endobj 418 0 obj<> endobj 419 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 420 0 obj<>stream +¿'¢ÉÌê‘u R`qÑ›v1o}˜og*ÒeÊÄÃ{ïZÐ*ÕaîÒîUÜ”P;ö…‘×®‡Š¬ÿ«ë¢5ÿ7‡°á6ÉÖ¾ïâ6¾_ …¢šF›;ù¬nì™8È·–\Qà‚<'ŒÑ«MùB_ç­g›®ŽÄ—Êës‘@Û)ü,ñj°ÃÝ/ý¢m<„¦gœÕø‚Q$k½‘CAôúé§î±Ó§ëö!ßýèð +2ÛûQö—$OX½áîæ®mô°­¡Þglî°±âHë)¢M3ŸlŸ_œ¬õµ¾aÿ{3eæaý1F|§í"N­Hð +JÎ'ùà_¯˜^·Å~ó«ÊÐßÏÄ ¸üÑù¾+K*ŽNì ÜC%éy"™ª‡~Õ°è¤+«Êð%ë¡m1òâ¤òùʳDqRu'ž¥t®5R†*—º7-÷ÖÒ,ƒð9PúÃ%xš3Í“D/Õw©©”õ@N›ŽPâ.(`Ø…ÐNååÖßûmÊ`„ÏŨß%eÐ[î¬D õ2{5ÌÙùµpgžŒUtx’­E?Ö†Fë½Þ²ƒëaLÿêÙŒ´dŸ3Ùh׶`¬~žiû¤Ó>7ìˆ0!ÃÒè®ø­°èý–Ó ÂÖF!ý,¼®uNÅ»zŸhUÈ8ν™Wõ‡x1TÓŸWÎCÛGÙF{ý<ÎnïCdVÊep|Vf·aÔ*t¸Æð&¹ ?‘Åù?¦µ×]ü ÿ3›¢´=ÂÀÈX”ØZ°°Ù +hñEø¹sqh¦*–ýå5¥7«ëÜCÔzÔzCÁ`°²ïSøWfÍ·íVÍÃî+¯•‡Y¢ ›š½àaNt½x=⮶ÏL[£¾ÒmáëˆÝ'Ug‰zÿº Ij‡Y†ÑéZÒ™²:Œs°ø¨$O–t€’CpÍKq—õ@˜`«öt l¸‚-0d/¶L¥º–Hñ4Àýç¹z]°ûòb:Ÿ¬ÙŸ‚vEJ¤¸"½ë‘+¿ÀÑàê7 Jw•Ç•pâàzÉSj“Øb ©õI9í’w“ÀÄx¬ý 0;[‹hsÁ&î +®VbÅZA{‚ü˜Ç4m:otˆMQ@mE‹aœ.DÃÒ\ÓÊæžÂ°½v”UYÔ,Ä’àžoãüv¼´’?aF¼àŠ„‰¢œ"Iet´«÷Î Wg/âóRسDQ0«Ñ /CzQÉ“ë2W$ÞpdK>xÀdÕ²VàõÈs$fDœû: ÷Í!Ûp Ô«…Ã÷(AÿMÚ<}wµvz:ÔvA€|ЃߌSa "§°Ó)«_}W ²SD¤‘2ˆæ5kryàvÝð—Vh®X!º‚ zh@Èzîšp…{ÑÈDb´Eι§Q£ ä’&ÐúÕæKÀXôóújHÄóùè—¨!ÏR—g²x!HšÞ<ª B+€îð†_µ`Òͬwíõ +½ šÕ§X÷NÐÅÅÒÍ}_[ö„¢×!3¸þ‘)Y~ XŸ†/ wM3Ïà´™I±omÞgåY/é»Xí…¾£ÄvÁyX¢/ØÅÏÁ ªƒOà÷Xø?üæuÇ‚ÙI4†ç¸œ©+k¶>ý°„Ú£ø×CÿçEê5ŸÒ¶6 OëWî÷¡ò0>{+ Cš3ŒN¨ÏöëmmGìËÆ7¨OEíej«*zÞ#Í”ã i~VàEÃvò5(+yCoU{,ÙLÊÀšÃjeéNû7 +O;’‘!¶ +Ò²ÐÞuÁª#^o«rz¹Ù­¼þ[&5¼9Yæl®²ÄJ€a—Y€–GP§ˆŠ(Æ´Õj¢ž8‰Ôb6¤‰ùí¢GÅ:áë£J7ˆ‘ ȾáAŒUí…ƒ“Дz£}èúÑÔtÆóÝûîÁÞ%ÀuÙ¸G‡¥Þ˜Ý¸0Ý·y4¿¸;‚=]¡à‡Y¸ÚëUÌ虉ó‡Dc9z_Оâìs B"Œ¬ÕNŽE±î"I—‡<¢ô2ÝÁ —[„éB-w]¥v¦ëã,DÃgºÃM¹+KLÈ£"‚LPÌÂ\;aÔl£ÏtOrµ˜½ø8€_ì]Û<Ÿˆ¹3Z³ÅZŠ(’ÿòyÉÞóªrö’Q* +Õ‚òÂWdÂ(è(êiN¡Ë…|&£2«Ò$þ(«¼=‡’'ýøÅ4òÔô~ÁôX§ôðáµ^0cwú±õá·¦I[Ôâ##ž¿fÄÀr¯LïÃ&Ž°mRò _œ[m5\ÞüýZ¿?Gq¾IÖˆ‘ÖÐ_¼RÞ+Á¾ýø%ó› ЧŸ^‰¥'JÂ(Ðþs‡r šu•í°ÝRmz•ºÕeHz ¯ªÏ×FSvçñ¨{Ž‰¸Z}+K]ÆÔx ˆ~v´NP—€½(:’nGóŠÈ bÔª#ú´ ¤9àˆ’ø ’¡¼ìÖ\“ØVÞŠ“òõØô»5„Óµ©iÍÌu·ÝÓmÎ ¤?Mؾ‚øÞÈÈ;øí•w˜®àRNªë 5<òøÂËW‚E0~'b"ÁG§TŸ%"x^Mܾ8µŽÅ˜VÀ€ð?W‹’A¶j®L¥7:F›{ÑV¾M€Ù#j[¥ MŽn&xíCÇœF2ÿ£{WŠVDåzËf|Wœ®¯Ê{ŽLWïÉÏÔWt ZÓɇ¡­¤vTŽ˜”ï 7ôC¨~Ð7æU]…„ÌÊ{À¡â<éûg¾+úxŸ6•ÈMôµRžÖJÞVy‹ÝéÀåUÌÍõ¾XßC²¤ w­ã[×^%¢ÆòEek„ó»ÇÜ Y<[Ä2”›9Ÿ´Š~¬o­- +I@ÿþ&Õgõ2XT¹aF¨…È·ÖÖèZÆ?ú,ÕL‽¯Ý¤÷ñ¢‹;„1éjõ ðém‡KS +xk*ïbA™·sÔ–DÞ5–N¦vlK¡ŒȲäY‚;@ÆK߇‘¶oÒ€‡fͺ²=Õ‹‰«wá•[ÉÕ1¹púÂcEL)wÙÄÛjt†–ü¾ˆû¤<ü á÷Á¿ .×Ban=/Ÿ8¿’:â5DˆJ ¡ôœOd*¸ÞNˆ÷´‹qÎZÔ%Ì°ƒ7îºûyb“f´š§Ë[ϵ¤ÕmŠé«_ùˆÌíð›àc%QýTo¸†Ð‹ËìíGq*Žpb{PPÝLo{«çbÝw€V(oªôɺP´V¡åéE{ùÇXQU·„Ä Œ’Iêö €yãÃè×£çÎá+‚.ðÜŠ4ð.©@¦X-8AŸ‘ížÌÁy×Á¾Øßnn…jÖ‡«ŠSuÊ^mJ[dW6ˆÆ™Ž+yïW¬«9HM8¿Ý›KT)³º+žU 2¤¬—üM%:ðë™rN݆¼oºür6išê‹ƒ?+ãI +–ÝòŠœ»é/¸bPQ+i“+»1ck/šÒ—1ÿ „´­ÖMÐÔjR|e@qlÚ¦±aÜB0šÛ#²²ÛGÇ rs«/88cÌ/oynWÐéo/.Ÿ{m6®êUÑt•U]ãpìÌìcçHYô*þ4NéJ o6Q‡²­îþ°_Ç}©¿„Àµ–«½¿úÔ¿,üÜë°mi§† Fœê^Th–‹íçÞ)Jr’`©="›c9;Œ9,2ã÷NVtËÛŸ°ÆèªÚ˜r˜ð…¶tFÀ¸iã®K0}¿mi¾Ž?t­´º2X>º¶.âWæ3â–_‚ä`šQm ÷þé{Q“xû !-EÃ9{$9æh—7r{9ã0*g>˜C•–Èuñ}’6y™˜ÒáÍR_Ê7Æ<'Ž×õ¤Q>3Û.$’ø¿ÄVw ™¶t”£ƒ†}/ÏbæO:¾Õ&6’'9ò +p´úe¾ñvmÝIo Â&RÁ•`ú5&®ªºqF ]fŒµ63Ô•j )Bø%˜$õ Õm'dÍ‚»T™‰7à”6MK½àjAüQj[X›«‘SЭí2ÔBÎ6Ï.øŒ Çè¤._DC!K$ç.r'âþOQ™ÎÆ›á@÷<©b> rlýÈ•Ë.¬÷Ȭּo,^‡ŽlÕêaäã ²cÿ…Uÿ÷×0ÓñÊÏLçõ×޺ċ÷cìáTW´]/̸×3*ú> endobj 422 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 423 0 obj<>stream +2ñóï ŒT«Æ’@ÐIÓàdñï^¯Æ"cËá²>¥Íç3ùÀ]èÞb“¿ §Ñ1,öòhBÿËtñk‡.>i FkøáÀšÿŸe¤1ƒGøê\ëÚvÆa#$,¹µß&IqªŽ¹R#ŠŠ˜Ç®™È±þHŒKJ.:³¯^me2Òœ² $øÖê|súÓ7#0*|Öl”§áY šÐ¡ ù/È=KE+˜eÏÒ“³p»‡ Iâk‹LdÀ¸výJu*Ò½DàLU»X„ñié [m +ƒJö„–´:™;Ç¿*lv7£wN‡6î’ËÞ ÊŠê0T}!^M+\jW«ÝA€j¯ ¶[¿ðFÈäÙŒ/¸©ibEÖ³Qöº.ÅÛË›‡¤ÁéàÛGÑR½ "ò¦'hvÕ=$ؼ³  [ýMh,ÙãtNP·XM4ˆÚ®ß4TÝ6ý¹ù±ïmš N0èg™ðJ[þ •FÌÖeP٣랭Ut¯ Å&ãÐMf† }s©?QŒ“«òõ–EÖÀ‡›XæÁ(æ +Ü•%è˜`®ùã°G°2L)˜×,ß–á‚uä>‚V¥‘‹éžuxNîOÇÌit²ŒìÔ9þ:O :Ìíð‰däÃ픪#Ò²JÈ—µ§À¬?·Š—d,§u§¬Å1!+¥Pþs’ùÜ µ¿¦HÊjžÝ$ÉÜà6u‡›0a"ÃMT¬Ð7”²ûWóC ò•~xLÙ“Â385ûKD]Y&E[Éþ~òΛ‰×Í_%SR$´I=³[-‡r‘£zWï 9úÎ1TsÈv¾uº@£([]u{„[Óáúó«{™a©È{8¸c!t FêXêQo Ü5ã`v$.''JäÖB˜Z’Î@Ù®I˜•"c^s馱í`Œ ƒ º2otè_ø¬f@¼÷½4#93$É +÷o$‡N9„ÀDVX¤M 1ÃUà?|ôWŸ%ÜÍ:¶N7y]ªµºƒFr;Çc‘Ê\‡SŒ»&!È­ªPÞ ŽÝ—Ñ%\]õ…Éf8€ß ‚Ž½ævÜ<ÆeµMªvœžíÀ7“ ‰Þ»Z„ÖJŠÁ—ú±Ž„D»iã ,×{ÙøW“RjY’·;½†¾ÜµÑ«0eµÇÙä«/ï}è +ŠV:q—ÊPB6€’êS…|9ðX*+Q5Ö©: ¢Ý‹ÏA¼0fîzäEd¿"zi±„ˆµ +%£*°LÝ_”<$»ÒŽA¡瓇`è… Ï°&TƒÃ ^kÝ.­æÈ}·œ²Ç"ÀaDéâÖ%úŽ[M.ª¨crÿç¨L>\Šèûd6£`Íè!Ð\m])—ƵûǼt‚‰| ÎÛ뾎CŒíÅïßs¸ží±0b©æ‡J€¿”K“x76ûm½û³êvĹ\y_”\ˆr_ô"‰Ä\Ók?)>ÛYÁp´mÑe[iÜ Óóµ¼!ÔšÈé6˜ãª +»ZoVKü]^È=umGðW˜3Ah·€Ù•8Õa…®'ÚÀŽ–òGmsÌ«$™´9c¥j)ú +?2ê.üƒ +ÒÜÌR4)„16‰â‹ì8Ê[!v„&g¬«°óÞeôEÔ’»™®m6=Ù[š×,ôm¥sºt6 +qÁ7K×¢göm£^M¸ AÕ)H°+`“íÿO´1bæ‘Ä’ñt’úOŒáhãa¼èĉd>ª©&èmк °’¯+{‹sÖt‘V’)K1»µÿ‘Àˆd™Œ}?&6ôÉ%#‚Ø[¶ÍÌÏ$j§{‹²ÔSEá›]j;û©Šñz×£¾îÜ[,š£·è`6¬¢¿Ý§sÖ4‹Z$½ÿÓŊάgàjßÄ!©Y¯·w~ÑÞ5 hÔ,Õ¿$ÈEWC`§´HÎ*—÷ðëºñÕñQw!±GP´ ¨Î:„‚±Üõ¥ »É]*–þýIy/uò +fû‡dÜd¹Ýfä†ùY¢Ä¼ãˆØYÀ,c,¯d-ËÅÞ7¤H僤NÙŸŒµ”WÐôBÖ…Ôcò±¥(ÀIdŽ +ò&[{¶ëåk>?U“](ÓÃ>÷3”i»·ˆ‹»ð'À=iD6UOÖ" +Òƒœ³(± mÑj³gè9ƒ÷yŸPÔ/ Î `7« çÿº È×­Ïš¹1@Ëô®FÁ``2ä;½iGŽQ`^Ïų÷˜þßàÙ+ñž^ úƒ€u–Ë}%…Ì_¾YŒ9ƒÏ‹1ÎÈ;íR95U'Tân•$)óÕY,Ð|L“òÀ‰ ›ŸÝ/´ +Õn‹Þó'üuŽÝì·)ÈÆÐúÂÓʲ£jÔo{6 a[‡ 3v4²³çïßrʹ€QBÚ‘„äƒÛ¾0ïKƒp †–,6þpi²\! K±U ÌbƒÐZJ½èɦUï5.v=ßfU¢„¶s¬”du ©ªP9™IÖåIksä -¨jS_˜¯ùÇ:ºV97Š (üF¾ &øIcK#kÕþÈÛçà¼$¨"³§­H[ˆªµ~÷e¸>a§=oH̃GÊxrV›éê\,uUäFV×GÿŸû'¤Ü²ËÖOLf£h¢êÑj —/‡â¯ŽCåÒtľÐDfÞî¢Õ±|³ÌÌOÖ("IÇÃi?€Q ODȽ(W£þD௳pØ J£j—þª²'å|Š½ ~¤62Hu1òáb±úÂb9¨ç(û8Ï+Šú²%<‰>`Þà îF¢+sxŠIÚX†Iõ[¦>!¨$©*kUžžg‚­êAÎå4|U"RÜ2jMÒ¤¸ –ç>-Œ|NœQ„¯D°‚T÷cÿ‘<£zþq÷Œòñ=˜ŒÉ¬aµg3b<™Vp Jȵ–”/ÃóÞ˜uR‚$­¿»¯³E<å½U£Ø8|4¢½t&%ë[8&D&‚SŒ™Þ幸`~QpÆ {3(ÚÄ7Ë#EÿB¿·gþ¤`© ëÊV„ñv{+ný+¢¿É6kFLº Z¥tpDÁÚqžÉÑ®œ£ÀûÇ~ÛÙQî‡@cöÔ¤¦Š¸ªÙy ª•ˆ‹ž ZÅO…¹ÜFÙ)û<Ò±žõ´½ë`lÏײûØñ0«r~zÆñ¦%ŽðCÒ—ëlÝÄÜø¢tùÄ`VT¸(„ضÑ+T_‚‚ýŒD_!ÿ=±ÝäÄïUÔaQÌ1‰ûCÂ5×!k\Û„E… +BÒó‰I[’Õ<üBþ‘ÉŒÂ~f(Ô ðË¢s«dŠŒ#ªOøO°QjÒ(¹€ÓJkÒ†éÂUŽð± ,9z³Á&¹)4'­’¹MÙ ]2YnjúÉÆf–¨ +‚Ëÿe\“Š¯€F”!Ê6ôU7˜úõS®Aüo`G5æ.AüVÜõÜC>¹€Ïë- RŸ|mkwý¢Mš[ŽÛG£HorêÃÖüßz/ˆ_8‡‹é‡IÚaM63åsšÖ–Ào×ø–õQœ +OÔƒ3:ƒsóãQtÓ÷#vþ×ÅÝäÞ5b—×·r—Ê{½´sÚŸ¿šà¶´lbÑÉWCR qü|«ÓV›·8þá9§1fÉÆà´n–*Õ2&2Α⇶zò<0Deï̉”Ê{-¨}5ªÜë*¦‘ÜótôÆ|•Mýç‹³ì· &|ãÈj5ãŠâ‹ žfDU.3hb‘WßÜ1æÌ'_²‰?&Š¬aKÄ~z=N™KˈqVWeRþäÅ®Þ)>üb,%Hìd:8´XHþ'TÙŠû¿h'yÖËT(¨.û„¹l/rB‚Ã'¯Ùê}YVFYc©É$im&ÕHÉÔ,m€°»_öýC§ö>¤N½ µà˜31"ù±GskéžÄW²muç° >µõjï…Ô Ë3qBLj:PÔžàŸ@®j&ð\ÀøìÇ·!\®õ±QI¸*¥£ßlÜ€ÁüJ¤ ‘ˆCGv-ÒÁ–õÐfûŽÞ¡Ì‡àÂTˆòñ£9Xœ€–¥†Â]f¤;r€5ÇCÉS?Nà Ê‘#ì»ñT¬Ä×<¯€ÑE“ybêŒÅ†üÛ ¯•aøBY£ÁÙù˜}tRu £Iê"\<2c”ZÊRÜ%­+=”/,’ì>J=iàÎÅ®’â‹›y¤"–+5èEjÞÎgj“Uþ{Áƒ(ñ)o[ï;"ÆËtÀKÚުµ”_gé?\\GCžq­q™­éš:釴ªäǬÀÝb¿IA¯'¯?ñæ(ÒÅ}î_+ÎÑS —Va]ÿ“jç  ÃÌtÙU˜Xgí,lˆNî*§3›QÊÃ)èQÎIï3°pºë»3–l ‡BJá>9AéìUò£ˆæØÓÔ5²…ÍÓ¶ÚÎàágéŒT4è2óvå-ëîŠaz‚>¡`SÈW2Šy[}»ç&$ñ¸‚굈Á]?j€lÄéJŠV¹j%§ð–/ìWáàu`!»Y17Íýùýâ@û#ES¨k…¯gãýÅ~h²c¾àÓN—ó~ÃzÏŠ¾õõ]™A‚çDáŒó<ÿÜCo:æõ¾àV;œØHF"€î%ÖO ùì2"m¦žÃØßò®/M¤ª–Oÿz"+Ðð Äbì¸kº[蹿™’Y ;Ts›$]kþKð~’¡Ñ’[-g},$<œÆÀ1Ïš³Þù²ß”åb6ö+mGLüÝ8ï ËçXÈîÉR÷ê²ÒYZˆ‡¡Ñ.…HÑî!Ø.çÚãú1•W)E3  éŠ%ˆàÃ×|“"b“n@szË®.q@ú`5q¯°P8yû[ÜôD¦ú(ÚÓLòÒ€#gZ½ó£ñl\o\kéíÈXèåö!ÜmLÏjA{w{ ¦mÎyj:Ç.†ÕPþÛ¸s +ĺ›3 ˆtº§ Ç„FÙ-p3í$¶1¦ÁØt¢ç¶²d¦·C£Ö&Òwy~ R~Z­$-[F¨ã¤¬O­qÌ%¹Û,wK…ŒNÐ •óôrÊøl;0?ãw +´¥dc$k§§ C’Ÿ*\Î^Û0dt•Á£~I+—dïÍŸN+·Ø“GhX_æ#\­¸X¸I6¿3PÕ KÎÚg ,4Ì] ã!(^e›µ†¹D¯Üd +endstream endobj 424 0 obj<> endobj 425 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 426 0 obj<>stream +ˆà­Ísk¹gk~ê9µïýí•á¥ìÿ¼*-pÿwÒp‰’Ç”©¨ Qz†½HK@æbgó'øÇŠ +Æåó¯w†²ÔBg"òŠêÿ˜ÂÃÓ¤â@°²•1ú…ÃúÌ€„Í\ŠâÇŽy‹ŸîÛ£²Å.²Ð·2µƒ‘â´­m\½¾•l¿ÿ'Ži[Æ/'GZvuþuŸ»Xÿ4òág®¶GHH“·Ã<Ò}&Ž­’ŠÍŒëç‹þ¶­Ëø4ì,BSïLƒ*«üœAGâëÂRoÆi*ɱ ÇpŸ¾n®i·J³nÒîPc×>œ2‰ T~Gõ!µØkñvÑõvõdUƒì„M⛎ǧ¿îäúDÿ¸ çÁcŠaì)¢k€Ì9¿¾^ŒOý§LÀ4¢Lçî>!Îw'IIó, äøzºø–Ò®ge/ð<0EiÊIƒãd#‹Y8ñؘˆ„Z&ò}cSMñ‘;¢,‹~vLï ž=ÃJ®ø¼­"Õü“Ë…I·ìô¹z–‚™×IÝÞLUp …SnÍäý¼vÛêòms[ £ÒÍ"ÎJ ŽŸëç"T²+oôøzÄÁ-”éÂ?° nȵ›c°—Â;§ŠÙ½ r™îƒ?/®é³ÐŒlg¦2:Ï%(ÿEa!ÞTô¢Ï»#±CfsdSüFE§ã[M«'—$…LP23ÖGÀ@nŒH^|Ð~|¿¹Å€¾Ã¯Ü+t–[¢ì¥*;ö0MP®»S'ÒôWYèJípóµa«AcØÆ<×0Å”¸¡*ß{Si#ìëz–åZ¨epp¶å&ÞÂs'ƒï|[ØÒ“&[ec–ø”IÏpé{Œ©#¿WT¥µþ“êð乃8ÂÊÊÈQG¼°8ZmìD\ÿ€H…“½;BŠù“R« +sFáÆùKS§›¦Òôÿ[¢#—áxÚ!ÎMö2œ§b©@Ñ姎A7>cCÿGOƒDˆ·Ç2¿ÂWäôêEµÞwÓ’ëÏšY^L%¬â¢•z¬ƒ/›<ãa×qS{êy Q°´è>l­¾gþ fíM•í]‚8oxØG;oÈ‹ùŒÿì”ò|~kìßÐS,üñ|ÉÓñàß ÷%JÑÿÊ°€…ƒwVZ1ÙIxG—Gúµ!Önd‡Â +ÁÌBPU +—Ez¸m›"Ä +¡Ä¿êÝ+÷ÈÆ`Û¯#°oXùÙGGr‘k\v5^N·|ôK,„ÑUiSd¨sÿx,º›¦(zšCèˆÈ\*úR)ʦ#(WiùÕæ‹Ai*:v¬Ìö“ký³¥ô/_HM™øÞ‚ù.ZŸ\N›Ýbõ—0><à¾?ƒókvb7¥´;N)¬NDQ?uAAsèžöOVëÇžÏôþÓ;iy@$½ZŒ/õ&ägùèxLÐàÏ'ERµÈ§ÔM@eÌ•èhH/å”N•eƒZw®HØ×Qn"„ê"  éýÇ~„CñÏ£<|8pJКC¬R7×îc‰–·ü]ÓÄg·hš’˺þ5é·‚Üñ–zvį°Àée:f8‡J~^å7¦üêƒõË7†2á/ +Ý6rõ|¨ÔPКýô¥ÐI`Ùt‡é?~ò •óúÏ\2;šSèwÄ›“~ÅÔ¹U&Hæ +oй·Zã;œl«}‹µ»uÕb +½=@ [ËË îÑU"ÅB,Œ»'¶‡ Ýx1û¿P•Il´mÂmù§ˆ¥¡¿bãkŽä-2Ù‘„²µ-Í墱熎³*ÑNMËiõ4u¼²)¿—¼'ö"îÑ®G‰A*Yœp3›älÿÛàYÍMŠœ´›?¹öÞ¨¡QZ( +Ïrùç)••bÚ$Rj—'ìÞ^?_ùÿµ_ˆ¯š³#Õ0] —èS+´?fЫÖˆsµ+Ik®@àn@"ßk°çä÷ˆá·Uó™¥qϯ…¶z¹"ÅǹgÜRv·<}Rõ#¨F§ƒDX*Ø"eÉãðŽnÑ%`é¦pÙÊ/]§–ï˜ó£µÖ[ßÿgä…ÀÃÝ 8»Q?¾X/h¬Æ’6¸ê.î{€cß#›'!9‚7ź˜¥ÔƒÂî +¾Yîe¬‹\(Ëý~Ì:»dÃ6´è»™Ô„]?À“jÕlZðà™ÄHòPù£jª‚\ø³pHßP×) +™(HÁõEfq¶úè(•þ OwœPîRfÕ?¹†ňü\àÔh¡ÂàNŸiªo©SàÄÚ”½g캙T’GA=Ž”º¸¬.ú•3åc}ú…£Ô?·ûtÏÕØïrAÁ` +®J‚5ÑÙ +þwq•é‰'Vu_>4G8@*â £Ñ()ñ+Rl¿¸¾`§Ÿa‰Éæç\fÑtàÈöõÑ›5§d´°,‘yÛA„ÔŠÉQÉUWˆlÃóH øæÅXñ1=„ÕÓLa6÷€¯›czŒÚ±_R:—¢#æ̈Ìð ”Æѯõª§"åýëoú8ÓËloe¼¡R“¥Õ¯%«„ôFˆ,rox cÅ  Ç"åñ ­¸w‹E"<À{tüœÄÒkÅå1 @ô*—q›oÎ+:ö9·7— ÞÌfÚOJI)#öæ²'ŽOÛÿ)'n»ex§¡À¾œ‹¤ ÉCvq (ڣɵ8³Zë1ðû¦E?9Vû• QˆÿB¬Kù˼ÄÆËZ…'”Sœü3Û€Û)4ùëŤSx#9_Ϻ”ošÞ+ç· „?’ Ën=µÉp݃¶°N'Ó¿L©m¢ž×{­º‰È\v=0gÇ …ÙD7ÿú3lA†YÉP jóÊŠ²:¬e”ÃÛƒ6DÜÖ“ùXáYÖÚÿ5÷%\Þù+¬7| S^£êœûÃêºþ,?ÑšÃ!ÅìÀ<³¥Xsæ.ú_’ +ÿ€,‰òQê¸@Qˆúe¹‡§eÓZ€üéÆXj°»KJåÙLj¶“:áÒ°šþâøcÌ[ŠCºU*%E¥½8˜xE'(ÚM$m#û]Â<¥=?£SS'jÀræ ¾õ98_ƒ7•ž2^ꌌÇìÂ='å\‘oMÎ&·£Aå/tØ Ûò©¡Å ¬·±'Ô Œ^»2Ösv’_¦¯çfË5µs|]Õ¢f½RÑ—8`$q&ÓÀ‘• Ç0ý}ï+vìÄ=ÕîÁ€Á¬8É)ÏÏçãfÕïÀ/Øqêw{°_˜Ü­Ÿ¼´ØÞ :ÛG! ;¢7@RœöY„š}üb]?Èc)û‹< U ¾?Š}ÜN¦‹[ À¡tÒ§,;a1‚Åög>GE¥“f‹¡1ÝWt|xgUpÏtàæÜ×Úz>-#4®ã7ÔÌÎRSÎZ!ëbM“&ûOX·Ùd>ª5À§<†SêzB¦ÍKtð™p nÔ™(Íh¤Û$1¦âuKÀFYB¿–˜9NN®ŸlgÅÊÓÞŒl½œ÷æ/y~·,–ÕÒ%gé]4Óc’ìöð´ŠÝ-ðŒ-¯õÜ(îf—›Àúf7ØÕËÛp•ªÏÚ›JIU?÷£Ô`7dûGÃ`™GCµûƒ^†ð èæ‡×N–GßX%¥²L¾Äá`çΧt£å§A›éË?èØLT‹œŒ7l–Ìá£LÄ4!:⺕³ÝaéͬCÝw£:xäa >—3ÂC°³êyªhgl…sب¡×jHíg ˜w7ñœí(°å +ßÁßXöºÿs&d†Ïi‡ókaÐtv™gÐeËètÄ +?Zo‘ê÷ §/?Ù¢H8)µr’ö-ý›,ûwl&N}‹ÉŒ³ƒÇBqÜZ­äˆñS÷¸–c‹ÄËÇâÊý¯Õp­Uà C/ÔÄ¢39wµõ`ÏãyYÈÍãJ±ƒ³{àw„rëH6¾ŒL;dçPÌŽÓyy#ë¡Æ¾õF¡Q†³hše×u ]‘î€ë}Ú´å=³$–Â'8¨%?SòvdU‰ÞŒs­šXõ˜,y+»;š] í•Ÿ£·¨áo˜'~5ƒÜñImó}`›yÐ ¥%èÑÍßX !¤4^o½r;îÎ’#¢÷ð™ z%‹âº;üù†ãGýÌì—Hà³aPù¼IÚú§Á±¾ÛúœI¡ÉÈÏÖă¿B}6î·¾Cx Ø­QócK%¬åÔ†+¥íänfJùbË`®+¾ä-w•i¿Žný»^Û4åŽv}u³Ôú +·³+~ŸÝºÊCÔÌaC¿ÓXB3ðe]ÉŒÛg†þD6Àfýõ6{MÑe«&ÈÔ™jLÊ%MŒ·vîàËÛ)SJPŽU£ÄR€—;àZ¥êù§ûeKŸ˜†RÏm QäYÍn,J£ +¾y?„¬aUî œ;þuiA–¹&›Ã*,Yå„À~{éAp_/¨Œ)dgîpÓ·’Yžÿá~wrߦ0pMÐLŸ©ÉCN85zëq“l¶maUs{âRìg"y¦£IXÓaFÞ´LI¹;Ë@¸Žw!MÉ}‘ v̨uøº_ã­Y•©ˆ®º·³ '±——O«²¾æJ +” %jCI-4-O©m:Ó¶— å «”´Wî$­~‡%ÿYâ™vÃjÉJÁs_cÊê%YJvœâš‹ú“Ãomy§Í_@&QΕãE_IqÛ#Úã¡Ž¾ŠIï¯<¸Ö\ÙßZéOòS§¨X‰\Æ^Z<­Í¶,2>¸xmÉG«y ÿ-«¶5îú·Ü”ÃTp«Xñ?oHñ³qñÑ•U¯v¹ÇâõFŒAÓ$Ø„é•q¶ÎF½Ã`ÁbŸZà‘z£!¸<Éä¶"w”¤úR=ËÛ·)13Óc’‰sdÎìÌ¥$ÇBÑ~1tÇéÛTéL6£Fz^Æï^Œoޘ𫉿ÙxÓ‚)—:¿ !úàÅ$Ý1þÑ_ÙÉËòöp³hueô$SH”<ö®)J¾²§c&é³Íƒ/×d›NùÇöÛ[vøÊ“*%ש­Åjî¾6éÄhM&š¾7¾t4Èôuš„&ÛçÑ HrûôÊ´×ÍÔu—dô%óá—ŽbDh«ÌB5£ÁA±¦1 Ñ€ßÓ³dÃù ݾ÷á˜"ÄÔ/cvŽf‡ƒ#—;8&Õ ì^‡¤ô¿Ë#ëÈDCJb“1(#DoPþ¥ˆiHT¿ÈMñt53ˆT.és  ¹ËyD@®|ù‘t#rRoËØßv%‰›µÊ8ÇdWÌà$íø»ß83¦å_òE:”±'Î/Zs\c‘YâºqÄÌB¨{J×V*XÏ4.®Ò®¤= ˜N®î‡n+*ç«•ˆáGj'¨Tþ(y-5sîlŠ%5í­•mLRûà&À —†¶íflN­°X¯ÇÜ­§§¶A[ò¥¶}º:lVFAvÐ5»TW”Ú&æï·þ gÞFWS›b2qC !0VQÀÉèáÌàJ{+Š€ô:žh— úΗU0ñy7‹Ú>:Øßl°-JckæP´5Æ‡Ì ã=««Ðê-Ó UKðØ¡ØëÀE´=Etb˜ºVuQ}£^¡ å_ïB!q%ç^'‰°eÊÏN‰¹ZC¹Jì¼a¨J§11â¿„ûÀ3JSÉ\º¢XqO|Šôì5ê-È{â')ºøÔy14n"8_?Wùgœé¸¿|©5Ðà_RQÛÅåR0Tj̤?{Ü”­Ié™ë4äÁàNµj™-@±´WW&kŠ1PJÞœ^/"„IQÀlDbr92Dœo[JW‡Œ€I´ß?ÑûÄüâmóInòâŒM.XˆwÈ*]ÎðU2ƒN‰½šFuùT ¼·ÛЦaÐõ|¾àxÄèÕU;˜Xh~à.,ø£:ncf™#Ï–‚èÃÙÃÞmÅíļAG3ÕýDaôÅä›t†•«Ê6ûËM-ú¶c~6TÔz%5åëÒ˜‰Ó.ŸãìO'-ëüU$©ªh1Ú*®R·Üs‡àQ-øÀ:"}ªGd¬¥P‰õ Ò®¼†òÈ‹¼E¨¹"âžÊ¢UŠó>µ¯õÞ}™¶º¦â ™‹./'¥:ªw0]{hŽ'èâ {@ýç`*—±Óâ´³±%ÖÝ#N{—OsÓ¬úŠ¬W7å*»÷ ôÁžÞÎüÇܲîôÑìï¯ÀyCb1YŒÿê†o¥žªä‹&P«¨Q8Ó …ŽÜåä €h¨.äSB{„ê2.¨®ÆÆ:'šÙî*OË´yßFîgc>ă$fMÆr`ÆAÿZ’_Aˆ ƒÍpyËÉ»"43=û{¼ªÿÜÆŒAë„D°¿ÐÁ=Èóõ·£Y¬`·RÂk•L£á 8Hóà¶Ù <ã:z¤…4\½Xüõ¸‰¿;[ L¦ Ý·JnvyÊ>¾È×0l;‚Æi¼É YŸ2f‰˜p–&\ñ¼¥±£×ƒ‡}TòãžõVCœ½uT£ãTÍ‹Â3eê¾,'g.¤4ûžf 7úÞ,ë.gr®&Æd+Ååâ¬Ã´UíšêhdMd°öJvŒ%Ï€ºò…ŸšYé\ò®F¬Dùͳçu²Ý EúÊæÃú.aOŸ \=w-ôDÌùó¤\Ø%Ô‰;¶*mÙ4ÌïN.Øo¬jË”ŠÂ +þù¸15o|ý“ùŠ'æI®<”ä¦ÿÀ ÷lG4`ÃB&3•Y˜õ:¹`úyÍu0Àð)@ðV,[Êò·¿mvžÒ ìàh+Øs©=¹ +ã:ú`å‘>¶&r£àU+¶·Ôá]˜ÂGxŸ¯é`•—»Åeô‹Q°qªSÃBЉø²\Oâ×€ƒGjyì1ÿ÷ƒÖþ N!pwëœö ÙdÙ€VÎë a‡ÐÑ­z›HŸùRžd. ZO¥õÂÛñÎC5®k¨Üy¹ÔõÖ{c«Q.+TYs?¿A¥ä­†J›$Üd*›< õS±E)DÐXíxÆÍÍL/…Ç¿r vÚEë ¢?RsîÞ£X*ùÛÁlŒÔ- ¢z·@Óΰ÷Ù†ó3ªzYýøvxbGs½ì·•ÌÓ¶àb‚c‘Ú®ˆVýHé7ªM¾åöC½œ…/³ùäJäª0_˜ËSàJ£·O"áù©ec‰ÅÈnî^Û Íš|ŠO?Sh%}ö;—‘K}åÓpZ(|aƒà B¿×$cË~ ðÁš¨¤À• +­f82ŠUI{æºmònƒæ©÷Û„±¨{ÿË̇°¿sÍØwúÉhô¶ +Do2?ŒÒŠ8€¡h'˜ÕD™²4!V}4‚]«¢BN´ß6p—C ®ÐŸÏXGÜ)eÐt Fʈ äÀ'kˆY­™|À…¸å°IJZ¹™±FÙw[‹2p2T»Ð°Lõ;:ÇÞvnWëï™;†Ó¸X]E¸M +àk1BˆT À`=Ž¾Dv±ó,Vò±ñ*cDÚ²qQ*Î 3Û°”ÜýtJè7¥³}(ùX(îE@f1o,Ël~龊ë?áÛ3{R +ñY&¥-ù§Ž"n Òú¯K”ó´˜>ò}[ó¢p¹ˆ?%­oyuY®ÈqÚJ¿[Øïé§ ½¨öô½"4iNŠéêËhÎK[ð©©FÍn°çªG„ªt™BÞ¶z†²ž²2[TÓ2#©&ÏÍÚ3;NJeHÞá ÌáEê°”)YoU}ùr™»Hßôhåw0oÚ¾MÌ=€õ7%œ.oVF?PÊd¨I Ÿ ?2´D-¹*Ù X³øtÌø8Á-Ñd"2ÂŒ•ýÆyK­§ãÕ~º9lhð‘ R›¥Ï’uáÒ­ÕwC·\-ïT×2ÈSÔÆ +endstream endobj 427 0 obj<> endobj 428 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 429 0 obj<>stream +ïàˆ¶‚ê­‘ÚÇsnârù¼îãÇíHÙu[D*˜‹íŒ{¹×‹Ýô[ÞoM*‘²âjÙš!*Ð,{=:¦LÜî­œ¢Ñó¨d›"+9(àÄŽ½‹X€¸Yn¦¾y…E"ßÇ+)…mupœ±ÀƒÙ`S|¦Î1gÏÏ^e‰»F(ªGfN2šÀP×¹¥Ìú ËUtÄÃÏá~دH<À“ÛÜ›B{ ‹1ßñ¤ðX—SXUÓ*Y¡ ÈK-u¸fxí›Z~hÉù)Ra)^p»Š± "û›aÓ‹åµT¸<Ëìzw+5øñò¶|!cap”Þdòg&ЛfŒ–(ï¶Èá( C›Iõ-ûÎbγ96KVßI¤N±0[±£ëqŒV¬<)00oxîqÒÜ"€X”De“Èå(8#xý1"ÒÃÜ9ÙKz'kíw0ûrgûÄ Œ‹ÝôR²›qœ'½¥7CbE¼&|$´î/œêŠ†¡¡tH&Š•öD•SˆÏšºZhJWWFa½8²\¼ÓZií`‹,-qŠÁ÷Žv6fk~}ì‘úŸÒ×7¼®œæ)=¾Fé™+û<Ô¶—ø¹ÝÇÜÚ÷WX4œ-©“]ߺ7„ŸÙícU¬igJN°½‹FPBÏ¿Щ6òpÌÉ@žèΦ酤™0 €±q_1iø8žlUiŠxLp5€–ímV8 °,ð#¦þþq= +'¸ÆA'ëÖ×ð~1DþQY‡ü¥|jè¨RtÖ©áë'æPþÔå‹l¨/ÃSüƳNQ´Ž´b¯‡5ìÃÞ¢F NlÐ÷Šÿ^œÎD‹hË(}û¸/ Û¤A$»tHPð‰«N­Í`ö¿f +y´÷‘s†Àyj“«o/ü\¡(æˆ\OÝý*V¹ívPŒ{I°c~ÓyWô*Éâ5çFÛ÷TÖqþþÔ±]÷¬½ÚýØÔDé„+뤞>Ëëò¿j‡ÍÉ“Ú6ðU*¥~ :›—Éê?å‡Ñ»ö•1J7ó¨!zƒ­ùËû>pŽ¯{n]¼dªÅBËDFÑä/]®‚\c«KvÂæçeÕÒK8IõÁ¦Š·­@Íåö”Öᦠ+Ó¾Mâq"k’wÎíÞ1-WàÖn-’Q—f‹íuú» ÉßU3ãÂq&5¯ýx«Rip=}ÈÈcû= +0{΋·;LàÑUB¨@ÇÅÆ5šûAÒK÷µšZJÚ6ú&MO7ŸÃÙí¼”l„Ž;f¾†ò¢YÀ厓¶¥ªnŸFñ€kT¸IRœB{”¿£?™,&Q y(§æ'Wº}Æ8<ã™fêú½Ñ´|ÃÈË÷´µ§{Þ“¸LÅúß Ép°²´3Ûò–02¾¤b®Íç5ÊäUÍz?Ç´&L´ «GÎ ðdzøß™­o{dçj¯NÑ÷Eæ•x•FÊ´•?uIˆ›jí 9»ùTO²ˆK‚­º’k¸»r¡H"MÇ–aW¸BG~¶Ö‹p_Œ¾¬]„0¸¡}q™ÈW¶átË+4Ô ¦³Å6Ú|ãîç¨n–ðÏ.: vªBuýŠÈÏ›Öo׋ÝùØÝW²Ñ²puÓsÏ7ꀲÕfžh2›óÈ£¬ºË‘5ZéL0ò yÝGR…*iý0÷ +½¢¸ýL±t\<5÷!Zbÿå"t·-Óv%/Ëçî¢qÞļ֢ñŽ­IÙ0Ò º™žž»‚+Pó‰¼=ø`6Kí¥.Á žˆ¬øá©MÈXX’Î>'˜Z $òÁ)]í,êFrƒƒ:ˆFåŸOly¾â•Û²8÷Áç%þ°Bú&‘v!A»ã~æ˜)¿ðùo«´—p±æ g~ +æÅl ÌažD̻ģS´Ÿ[t¸²Å? $Qz½þžÂ;qè#ݬb¿è?˜–Œ¤“(•éÖmáëœÑAJ®¼ÞßCÓ1^ ;³_E° _œx£'íxC9î‹ðý©ü†~7x·QÀB(Tr}n?)T&Ñ)¾›×eÍ:Ê-† )qÔÿ|²Ö®pê˜à€Ö`F(Íëk›oõV›~×yÞ ß©œ\±ìê”Ûÿ£jÌ9èóuú[ëY()KÄG¾¿¯2åmyøü‚7ÞèFÌšqÒ{ÌÂIîZõõ²…Êõñö! fŸq•7~¢WvCñi¾5#jÔÿŽcù~±iЬÓ@Ûb›°¶ +z¥DbÛíÉOjRáõ£œâÝ*‚ó¡/©3V®rï2À7t².7þp•P•ñÉšß¿aòÎâªvù ptÇwZÚ¼{[dö`cÿ°®eí«¥z •œé&ÞÚZÒ™Ùh­†yQŽ"è<Ôƒƒ«I¢áñ#á$ONÞÜöÓ&kØ‚úÝ Ccl&ª©Nüv<ã¥Üæ™Æ ¢oOŠ¿ +Jü +¿MŒ'”48‚2ß#iùm“qj¢*ÇØ®\°nyr*K{ ™ÿ¨äßœ§‘ý¯*’€ŽDyûT4PßÂ|º#l¤îqÝ.xâ39@…7 Ú¬pFº~{ÞpÖ+®Ú /q®#`4cAœÚ/±m± 1›ë<Së ]èÔSô•òÀ­ü':A —F¾Çì!)Ï*»´y§êhž[!R¥Øàá.~‘i)Û—„…sùña²¤Å±d˜&úÚoô[#NAóéïZÅéÏe ‰ªäƬ§e(’W™ž,Òv2ý\Ü¡Õ hLŽøæãáì ÒB£_‚Ä–Þà†mâŽÄרëºbÙŸFÆ .Ë\…–Dgj=B¹3Ñ9ð#,دÓxmG®¤8bP¡ø2!©†#Á¼eýˆÌÆb®ßœ­Êm|öP P¤œ¨ÚÌÕ©$Q;™šsFQ";ÿuÖ„ý+Œ°tá¬qì›3¬½ïŽ8SmA†áZ¥/EÀ‹E¸pT$Ãd~¸¾¸ã*Ð.ˆÀ Û¼:~4÷O” fT|”WÑÙõ=™8ïqº 5˜d5«b lÿ^L†¨N7üàa|æzd÷ƒˆ{l1G6‹ÒÔAðÛÝ¨ì ©Û›Ñ0,Tá,ñó Ú—Ò†n›hã¢ËÔXüÈwWkk=GL ©ð1]†ÕþFž)b·áEš{®Dþ"¥$7‚ª-z\O3ærìpw³Æ ¦÷¡3\LHCÛ§ýH/Tù„»‹J?f¨J›:/›¢‹‡oøBk +ƒ;Ô&ø©5Y;fæñúØ +R&Sp±7Û¶¤ûËFé5É4&°l4Öª”Çý­w—ИŸ&±ßH„-\ŒaZg¶yÏæ&¥ïÄ+z€UÔ>l ‚Ö5Ì•bÔïzð{œOÏ-åù}Iëra ZÕqJσ¢ó3ÞK^AÈCõ*+û³3'e8­M +o™÷²Ñ”šx4ŒvÝ +¨3NH/=y»÷Áè.„Üïyuý‹M€fãÁ4TèýþQV±ˆ€Xœ +háGCÿ7 +HÀÔq‰_|>y°ÿª±Q’9± Ëø@uV²—dm@v£‡‰/ˆaÍä«F5j«R!!(&Ð1áøFNuhVj´9oÄ¡ˆ@}4J[6¦¨^\‚ƒ¾âiS‘´c»C:´soÂ; ¬<¿¸ö¿x)zh2Ùl,K…áAjè#jUM£\‘ŸÒã±wâÀ^µ/E³Ù(‘¡éeT£Jéø:,nŽP@_>ÅäoÙ^¡ï¬D-6‘suŒö¯£Û–’XÖð»[yºtM}«Úçñuo`°¥½ðï GïµD kc­fuž +«©z—Å|N–àèòÿÞïB}˜LèMy9ª™…hV6ÊÕ@$Åq`É4ofgÄ홹`0÷æ¾#é¾éá.ª1F)Å…l–Ðe)Æ‘¤ùŠùhÝ F§Ôð„wrz'Vpuñ(dlA|Mí\M'§¹TpÊ +LmA¡ _´a"ÚBe?]ü¬g!WÜå!(q¨½ä k†Q8õä_ôŒ²šæÝ㢠¿çY­b“ÕŽKg¹^ß,<ÕÔæüdA=cMi-Elò[)–/ÊŒ1qw&°ÂPq¹‰(Ê'ÐÂîM‰LÌ»àM-Ä€sF1„PýÝÏg#iFßÁ¼Gêðˆ€›‡¬9‰±e1­lÌ”Ê-Ì%Ã¥I^%ŽÁR“•G’ëøx´vs‰[}ø2ÜF*QÕëÈÇ ˆŸhûRÒ£¸b®‘qSôXÅÊÎ3(–w ’¬Ü/‡I­Å¿@å:›eÛ¢Pzžù:k6ÎAéðP¢Ó!¯žðZ)õ.“‰œèìv·ì.¶IéüêÕÕ–Ÿ Ýkw¬sô›Vœ8P,Ô&lp"§Ï<ÔšÛà, "cJ¨pÊ5Û•ŒÜÞa¯x…isyÁ“åõ_xä:‡R9bUÄG ,4°Dsáõl´ ¬]ÂË-˜­zúòey/¯£9º²lÂÂë\¶D`™¬§±Ô¥®éûŽsÁ.Ƕ=CTo掉6Bë.ɤ—ñÍ€ƒ+¾ÄÁ=Û¼ÿ/7¾V÷Ð}ÞÖ¢4Ý$.C!N÷5 ¾i¥l••ž9Þ‘Aïe|û”VEÇ ~ûbßH¹7ùÿ ›ñWb¤PDàÑÍÚä°c|$dbq:ÍPêEÿ{[,ï6Äšl¹ñvaU,­œž&Çžwœï Wu´œ¡ (Ø¿À=B./2êä! .³O¬oâ–  ÷$5 Ýä䃱±ÀG+™ç ®jâÜ‚zªÍ1×ü`,áµ<]º¶ gûªbtÿ”VÓwÓ×â“¡Ëû²€™Ôæ€sh]FIïÇ¬å ºý\w5KM›G’%‚ƒjܸ$3žÎ„Š>™4êmò5PŽQBÃTÀ1µe ·jö¦)Q‘)»ï%zh¶t þM™)Ä&!US ¯À-éè(„kx¹´™rHFiì’£ðúfì ßÊ’¸SmMñmÇîr:ñ¿ûe=laZÒ&Ïr¹/&â7á¤xÕRã9«„¾«°Çûà_ï=¹+XO~‰ÜÕ=‰LB†¾Ë@S2Ãü‹ö±iÊÄQ'q‰ŸŸ¯©JB%”>¢xù$r<Õ÷ç‘ _ùö…Øø›–?ÆÊ£J ¾!YVW½ä +j^J à‘íj3fº |NT|iƒÕ ªQªà)Q’þnÇŠ¿’÷JˆÝt®}–Ì-*/| RCTW>²øµÞ¶KꌂÁŠÜ¨yŸZ­Ú,Y¤Z¥K’Œ¥?P ;…n±Íœä M`B[É·ëØÞJ|fõe4Ó5~€TîtHMܸÿh-ÊvS©¨×Έ6í Ù¸Ê1ÿOvÙ ßM›µÁ0s¢•ÜM²>d*Iî9ŠÃ¼šE’¼7ì„Í{¨~à±:¬F\8aûª"t¶iEßûÑCÜ’U*‘:ú]$‰jÏá (ÎLk«ƒùÌî6Aÿ~øbb׈H`” ð“åÆàØœÈÕ.ýG'Yþpß^êøª}*yØŽR5fzNÎÆTßn›9ƒÕnÿ8e¾å•Ôˆe&Î&…]‹¹Üò1³ÍD^ršzòã1áTž{«wÄM¾7íJ-‚QúÔƒ¡±aWnfHàA'U¸heÈKPB:E ™©ÈŽ’R@"Úp$ì}‰¶C(ª§s„7O¢fWü7J9¤»÷˜Vf4‰]ÝÕ%ð¥‘a¥Œ¡ŒiT‡‡ŸËJ²'€NuˆÞwè®ùˆ´¦GsîŽóklé/Eõò# ètºÏݽÙª#šÊUÉkÞ½äÀ8˜wXÐÖù,©>W¯É, ‚w„M³=”,XÛUôw›ÅqR|8t×x¥ëÕf½`à?/|í„(Ð(~ÖçÀwFfò',¢c2^;Ç×é”#>ñŒ:AjS†6ÃÒ?ö *,²»úw'~%CÒ”K–çxîÃr…HVÝwØÏ9vô‡èaqÃ;á£AP8)^ð2YÏvà&)Ôf @8ÓÚkªÝüþœ35`–9&¾â ÇAK„™órº„€•á[ÅM}€ÈúéÝÇöäÁ`õ ¦ÕÐbTrS—Øû¾_ÓR^œ| ‹nÿ¢;)X$f.©&®üFµ(‘¦}ZxÅ}\—Œ³Î­H\¢jÊòüjœÊqCr%=G502ÄÁç\›$4©(äýÜìÏ×y8¬ä²AÏtmv9òIt¡á׃R€¯,áí´›?Wrÿmž¬ð…=bwrc–8Šg©Ã½Ã®¢ŽÖ ~ŽnÔf¹$ Í >“ŽÚ)ý·í$yBI{eÔ2n<s7yØ’=‘÷=ë]ï jãX*·ô€>0Á¾ªYgü~l­eáÌë\î`þ40ÂĨ°(Ó«9l ¡P8]íVvæ¬J%W»:%²|O¢î(ŸU,Ÿˆj#ÈfßÔ‹fÈÐ¥™ ^ +endstream endobj 430 0 obj<> endobj 431 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 432 0 obj<>stream +ßêk’Ú©krÅk¸*^µÀåånуn2!"m{§Êÿ釽úW5a¤V?ñq"æ…$º~«8¸É¬c‚²œ.„?BÀ™à&µZ¯¶HebÉêw®ìîÁ÷âÚüs@u÷ÑÆ56Òçˆcö:WÆìuOЖòBæþfa‘?a-”p:÷«aN~©, ‡º]²ŸÄžtŸ‡v­oËÃ~¿5&催}D ‹²šï“*G‘ +U…´wÛœ™óïF£: v¦µEε ¶‡±Æ¨!Ï”wúP;F³³ø°¸á¤´VõWÚj#’ lìCk’dŸ¡ßƒ¤G2I¹»w-ðòh?T¾v‹©3:FqB<&uþ* ü†+teiÖ‘rh¬%°ùï›âÉ¢BžÈcm§¿2Ô÷QCKÌ$âWºÇ»½~b†°U0¹iìª#ÿ;C-ÐÒ](q¯àùŸT¦EӲǿ ­eÔ…Ô{OŸê·éó#Ôk¡ÁéÖÑ¿Ýðzõ³ƒ@/ +OgŠÛÜ€M ~ˆ©†CÓ„*Æ SnûJ^¹x¢iFM)§‘¼Ìë7mä£fÁjRT[¢"cb[„¤­¦uBˆ6gŽ"Yɘë¥kü2ý¶MLü"É“ã2 d2WÖŽžŠC%\þôº¬srÏÃT‰æ]Ó%æ|`µ¢éŽÛ?’„ÿüø½ýè7¥‹¢_C2z +&À×aE"(±CK/Akþ>Þ b닪¤?›|äæ37(Ö'‘%–h”½~Ò2á„ÅŸï©\_2‡_Ó EËÆË(ëì³CaÖb…ˆA +uáÅ}ØÒ`ݜѴ‹eGí<%ÏÚÜ[`¥X\ dÒ KíµË ¼4*¬ rÚDô9,Á3DÝ‹#ïÐp“r ž¯öÎhf B“Ä5 âÈZG™ϵ ­Wî0Ô³ŠÐÄ¿%ÕËÉÄœ[¤FFæÀ‡˜ÍÏï)D)Ù!Ïyë„sµ0úúôSâöÖˆ~@C]€•0NŒqûç9¶ý™ÕGuÚ+Æj¿³A'ýY'J*¼ÈòUßÎFP© N¦ KwÇ´»ðF°[„#|œ¼lľ]|þ£þ¯Ä¯P«×뼃½}µ1®MY^­é“µ Ài ïÑ&¬Ïu¨Ù­¾Ù%ðÒâË€“îôtNš«ëu0–1¿RÉ÷R”ü/züP8QFÍ  ¡†®È=Ty\€˜•1Ð@] Z.ï!€-S^Ëìæ ¨¿~bÞ'²HKGÿÑÕmMgZY^- _Ô¡Û3²2>b©k–û1¢Ív Õ-At㞬peÿ›¤ÀC|•eÌ)OTõÅÐÓ ãx.÷ ´¢ÛG ­­ü+2kúÐÈÊÆLºáÀß!(éI<Î ÊÁ*çJß|> ˆ31d8ä“Æ{§NOƒ8”Btø8merö·Ú#¼r“$ÿ±,$ˆú”„,*yûàBÞ·ù€ÙÙ´¸¾¸+¨±²:$®³ÅrI5_ÚÒ©‹ ß°Õ}@…+Ë¥âbÞk±iÉoš>S)ÐÆ…^˜ €Bh}(£SãÞ< Rz0ƒ{é#ô|¢ñrràëdtàŒ†7nËCžî²_2ˆ 2ÎѺ(Ý°6w÷Èþ /•Š¶€3ôÝÝ×æ¡\¬Ú¥=Òð èšLïäKH–½NºéH?G—y’ %~ßÆD}kÝ^Md<´Ü9;ªe2ªÂ&j›˜„ØYÛRÕ‡×Ú|}ækÇÚØõœvÃO‘ï|Oæ?y”*Ì£(À†`®-ÖÔé2¼ÚþZ=BZÛéž”øk%6£€ +o[[ +÷Û€£ÄPj‹¨ÌCa|!Ò»¥sì•ñ5fÿ+[©vÂðXctD›ÍDôeêÃDwKu¿x‹Žëóe•ýÿçÍYzƒCí/#ƒÎë¯Gʱ'ÿurzpb—?DéÇŠÂ--qÍ•Ór-ÙþõålCIÐðVAØléýØ)æVMŒ¯vsbOé"%bo¹v `ÿàæ1ß:IŠN¢¹Œ~¿“6«E»Àý•×`¾8ǧ¯X›gŠ‡–Ùï—ùùÁ“žåš$±;º©/}š‘t=G¡†E êÚ­»¯âÔW5Ãϸ»‹–B¬Ë!MWsH3×qýc«”„ÉÏjèê£ö˪úa+åÆUlK +Eüc; w;Kµuª@fÉT<¢Éƒ1¦3›†isÑ×ù½”ÆZ¸®þƒ€{ÿ…û»ÿlÛc* é@½pÏ·u·£YÆ£‹…9ó&<‡û£ Êé,ŠkŒÀàžÁ®ª¿”3î;ZõÛ#o1XøïCõ§ÁD%.¡xkTЇ—Ç«ÖÆð5Ý È~üj¢ÆE°ad…ûøZ̵ûýHéúçç9öZWߦi"ù +azÇ{îÓ"7t‰ñ÷,ÄWÉzJÔÿMÖ4ð 2u¢«Ü¶!\‰x%ÅB¬GæüE4õƒÚ•.‘<Œ(¬M‚?IŸ_îb|]Ñ`Q‰uµ6ÝúóÈ'P)•MYƒdKQfÁ­—‹çVöETnk¥r„Z² 4½V•”xHUÐÒïT´XK²èÌí¬ï3´V£¦QGïÎOy#Y«ö{ýÉÄ`7a´l’+ ½éÛ~ÁæZý.‹$šªïÿ¨IùäY&óW¦A¥¬ë’ä»G°°|ÂëCú±ÏU$×R½†õQ°.ly3eõ˜Kl»kåQõEñÆîÿð•Èî>6ÞöÓåƒyÑ°¸Ù1Á-} ùÖbgê:àù³Þ®ËbP¡ÅCƒ‰ˆf*à0uɈñË:Ê¢K*ä·ü¦böG‹”¦o\`&#3R +È@'¾ÔÂÍfNJg[Õ§~}vhÔ9„]„÷$ƒËš­Yæ`V4‘Ԯ ú}aæb·Xí0œbC fvºIqéTs+_°ÂüþŠ"­,ÙÉ£áJÓû0é•ïwe ÊÆÖÓDÌÀ¡MeMÃÔ‹ˆiŽMͺ,×swÁŠl8Òê ²FŒåÕÖÑJ×yŠÍd_|%W«Î®Ê‘;çx9\m>q¥¤½Ÿš}à{®1ѱÙ_ ‘+¡íaxÊz22»`èëêקžÑ=ºÂ*r7úbL}¼"ã¥ÅèWâùü²Îy¢HN]œ÷?v{˜£|Ö •€g×Ï[øíä0vó9FÛÝ‹Ú¢¥Â÷|÷°„› ‹ôq=Œ›ókÕÒa\Ò2-x3›ßÒãCÚß÷2AÀB’‚–cd((QqÇîkLK‡ˆ° +ÐxzY¥½Kµ{ˆ¢s—¤ ¦H:®Û5Óâè%\·_ø)>O0Q ›àµµ­¤«~ù×õ.á¥i…7Ý,Ò–Á²iø‚¢¿ˆ Y¨`#wðVHBóVŽéIÕ¹œ:BÀ!.åÍÄÆ<öþÍ|¥Þ¸*/¤'2SÅF›W–Åã6CðôÐQD`½Î ±#=pg¿AŒ˜eÞIÇl¶’¶sà§>)'|è© Ãb­·øúDÐF°­Þ}n˜«·Ø˜ÈåÜ0¹98>xèÑ¥dA_šÄsä­ôÏ#㯇÷V…g‹Þ+ñ¯7z˜§Ã3ú‹ >;á Æ·Kÿáª\rÎúEI*7…øíMÿ–ÿï£-|òêàr«_ù."2†Óâ{]Ãò—`ôÜÒË-RB–ý7VñgYy]ÀÜ­‰¸Á¦jvn^œNðnÝ©h] ŸÿÄ +tÀN"¸&%úFÑNZ¾¡¿ÆõæÝ‹^â±¼Ið©TÈ+NvtÆF²gð?¦Í­g~¦k¹-xM¦ÃÊ`´›jV::c›Ñ"VCÂÈø£µ‘&ׄ`7v š@wæHTçÉÅA÷ð× ®ãÓ³®’´¼qôQsù%º@eáèYe»[§â¿Î;2¼<ëƒÖÓëT*&øŒy{óɼ꿸 2À;dJ1½SWÐ_ìK÷Šóts| ÷²á"ŽC¶1Í©ÐψڬºÏeêOq³Aœáán‡Ÿ _@„i”½ÁêÅÇ>jÿ$ ýú û~/¸w>*Ïãp)f˜@©²Ì§Ñyã“­A»é!íSñ:F€ùoA~m§e +VmŠäØJÈRMZN.Ëýðì+0E_ŽáTYâÊÒéÝ©xÕƒö£#BµåyÅ;™BʧÉÙËM•~7÷f%~£&Õ dahNªKP´¬ÅË)bfÝïÁkD{ú£ ue,âÓ¦Jð c•½h¬]y¹\{S3®…^ôW˜´˜¦µŸZ®;µ­Ã?H+z{ ŸL²¬©ÞŒJäE"‚3Šä>Q[UÍ)Y}ïdÐZu‘[ÔC …FX¢?[7:™@jÅÈm¿ÒW> endobj 434 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 435 0 obj<>stream +D „ +[AÙ»üWt ‚ÆÔYŒœbB÷í­š½cÅ~0è,žÌëA!áÍ&»…uöÐô– g¤˜tY$yŽƒ'ÎwuRs”jnü[¸Yé›ÑGÓ ó¯‰Óžè".Î!RéÅ®b­q‰vì¿k‘ WcH#}ì:´ÒåU§ØŽ¡’!ÿݾ©cçf`>gëx9oÚ€•,á1¾¥:`Qßüô`êjα½kN¶6TózrÒvÂÇίÂów@÷RÓG|#X =7_w¾ˆº•ŒQX,yÊom¦:¯ŸÀÛçy‹Ìó3.‚›KUç:Mkú˵NÈ(ÁTÇ€Ï)5NMÝ’0‘žè‡öØÆÉõ¬÷3oççáÛqönbŸ*íÂGê6vììöÙloo3üéq¬‚6L“l,#&îÆ€qè1ø`ðµw[>o†9>¥q¨“Š#ˆï.’6aµúR¨©n¾j”3X8mI ¨Q²ó>UªB3_Ë Á•aLcæy}ã¥à††äÙ&ŸL–Ò…PompbÐ’^PéPÛ=¯/KÍãÞì›—²HÛ¥Ù&jðQ¡‚5Á\ Xûèe6Oññœ§ßª¡rŽô WK¥²=od4¦ë\Oôö#E0tDÐMKÎH<«D6ªûÝ¥%-eœöý5àösÒ$Q(aò±/Ç«úlð¸m=j;^xè}³íw3"xžWU…6Ì,][¨¾p‹^l¾Ò ‰ •Ò{çMZóW|–à=loÏôS:P dåcÒ—.s~Í–½KRÐÊÌÿj{NÓK•G#¤&H›¸*ìøG·„~ïæ˜(høà#Å"ã*’ óq/ cƒ’bÃ\¢!0©÷ ¯t8 9aÚÐ6èýöuÓ#jfÚ/€ÞÁ­-Å÷Dwì ôHªXòÒ‘5qxq`בå{Àmœ'\ÀêŒ'®®< @KkBØ‹£ÚÖ¡¿;è@𔹒ZT­g^ÁéD]9:øùÊÒÀ ¡»)¬¿^OÙÁ«ÀEÐœö8‚m‹ºñcxüBv&[an£è»Ä–%¸Ož{[ò ‘oCcï¢&ĉܺ +®Å$æ,Îòèy4z+¬1ÈŸ o¿ý8ñlúçîؤ~t+ïçe캒Kíoµ©•qq­ø7Zm½5»•@,Il9‚Ò¼i1þR$XGÆo]±ý6º““¶nÕÞ5)0Ԙ˹Æõd´÷ýB +ÀrOÛT,?PŠøB¤³'Wy¿º°=WîŠD„ÒwQ69uM4jb"šßKÓ€¹´ ÔŠ¼¾£ >ÇÃ=™8;“‹kòPSÞ¿â7Éí7ÏSØýûãEV̧zðÚòuùÚN´=gS} xs&ê†EXåuš«ó D#ls÷UpM¸º ØpLùõêª"ƒ âýœôX©<…º‚IòÖ0]ôËÅI%´´ÕµùÏê˜}'çK{‚ªž¹tâMëÁ +Á>= ®p^¢+&PÚ,ö¯9-O¡(ïÎ?Õ-Yn}k¯*Yp£Gþ? ÏìÓˆí£:!§ë ¨ºz|ÝWð×Iš$®b~£)’,÷r¦•žeD‰œöÓuË0Ô¯ $î«õCª›xŸÿØîí±ÎÃèóSð £µ0ØÄå|Ò<Ýk‰ˆÜʶ3jvð¯n²|ÛçMÃ/l ͧÎ=“Ÿ$BÿK9L³¯d[_-®™ðŽ€P¬òŸÍ_ÿJ]ÕÛÞIÎUu˜Ðr{ò¨0Ž…“S“ßܛݻýþ#±¸?r×néÔMlRï hÝ¿¯«Ú‡¥ÊËi"?ÀÄé”MÝðΤyá&/œ²"”øTø‹³'üöúŠ¥áÅuʦpî‹uÜ$B'¨`²¯Š²éß h°‰(Ãç´µq¥Ð=!G(d¾aæ@=œq²j—íƒØ©ÙÄ9¦\É(¥Ã8]Ü÷±‡­?¾••«é»ÓÇß QÞü¯%‰ËÔ®wotEÐœ:L[^HÌn{æV7<ñóyqöŠ­PäR"<%¡m¢QÇwz—惺Ã$<øpØåŽîB{Cd+õ2Ž´Þˆõ7‹¯I¨–fsñŒp~]wAl–̱a‡zîkWÖa°‰Knuøå{-ZâºíáL?^j²Å:ºà8¦µ »ü/c`—«blØÚ[%5æðŠÉu$†ªDü +×*¦†ò¼+¶M'·ýÛ•XúÆÔÚ"œõª]j†h¹ÉêG‘Ãj!ey/{b+QFþÝÄŠ÷•ë5ƒ4û75ëí^ý²M)r³%¡Õ¦aÀP-‡ìn9³Î6)‰ùÌQ´6\“'›ßšÔ2`í´ÏÞñŠý¥°?%4Ç;^¥öчCÒ–njÞógŸ–ëÉþÀ\¾$yÕßtÿËU1‰å`êM¼Àÿì˜íçåY`º±7ÑýjtÓÃú7Ò†ó<4=Ü£|™Ùó!‘únvDÈŽ.ËÒO$hÿ‘¤€º|H@ŒA•¤<6’V”7àˆÛíèaÒÛ–=¿HOÜ>æ-ÑçQšÖ锣ΦƿBÑîü^”ˆÁVP àŸ÷ÖŠõtNý­«L໘õ—’ß}!ÂÙ´ Áaa6¾æƞϗÒZíCË™åûD@ߢJMAnzeapç|4ðøÍ# »‰šmÞî zŒ7ØÙ•:›Õmkšq‚›X»ãœè•£D¾ Ö=5é°Y>l²Kª°Á@ +‹K!è#rC%ó9¨ã˜ûZ¾\i_ùÓ +zÿž©–THÂ3§WV±óÑ€Ô®¹ðáÇè?$f¹H ‰G!ShAVþØ’|ÜzÙÎ9ŒæîAu­§AQnNC¹=ÂÊßùáLõå&·ÄEr ´DY-ÖÀëWφÎ9Í +Ûà¨ÖJKÉ +q2sžz",“qÛçØËa:)ÞKù>PëoÁW‹`uª´Í)JÆs]Èà çzõ"K¨˜N7‘>>µd <›«Ø!‘A«M !¡äýá Èd‰’(ÜèHɪ4™R7ãa¼CÁ‹x^§FSÇlÊPY5NìÄ.wáK´¸ðÊ QŠ6“¾D5Œ>Ó@NÀh7rÈí2¦ª–rjQãvÙ€@-ù]Þ¬úN&KK~ÜÒM[Ìú+g\. ßR QÑÙßüð}h°!߉ƒäjþ‘IyVeK=™N1}k:F›“Q­a3—qÞèÔµ öL`Ú0©6Ø8P;¤ün1„ªUe(wÍÊEr£–œéŠG_,ŽÓuäï| C›iKrbŒ•[‚Ú{NóÚ… ¶éƒæÁE6®ÀÖ5ê·`«cHbTé’æ…ØQó½ÆÖƒ–aV2]ÜcË~̘êàZ:çO2ªêˆ÷„<ë_“˜ÃWY@…CóÃÀ|Ïå —làó´Ê€ QãI!Jv§»(ü¡Ì /I¾†“uYîÁä95\ب~-/MÆU4ñÜ|öiŠU´ö½µ&Ãﳂõ x¦«ŽìV ó4:…XB.´DPàd Ä¹GY„BŒ'X™ØÀݤîÆ=Iø¸·Šk´W´iA¶þÒÒvyS€âÕŒú‹IkX\ +³ñV½/&JÑ×MnÞªˆ@nðæµ®¿ˆîHÓÙ©¹x¨Š­›ïžËvpôCÀ_2UtYn@œ*n9,<âÑЛ"ñý¤á~·ËräâMá)G{pÂäYÈ¢Œè[(é=RIÊÄøi‚QÕp3m;83'Oò0dAÃØǤD4“K|»Ž ãЮJúû8’9ùÕ> ‡¾z‚b^RËü£`ͼu®£xuw;•P9~[) ñ;¥~T¡O‚j¦q—z7#p°2%YŒ¬Jì?û°HÑø¥:uD©«„T&¨B/xà³Ç_‘Š^]}™< –-‰ø¼OÈ­ô?ÌÇR‘Çp~´ÛšSæaJE¤sþ þk¢‹Uä3YÛV#t²—_@- $Ì3<+…Úõ3%W¤mˆ˜(ðãƒ!cºÓùJ ™k¦ÈœˆuçꩺP²oßI£Ÿ^÷~gºœ¨8ˆpLÝ+%èYVy)½¹*,Ê8]ÏÜ©çÏ#¨¸Î€Î"€Ús\àð+&l§B‚]ŽŽ3†H •~+üûîA9ìÓ°%9FφOŸÁäføAP/ºÉTmrz&ˆ&IÅô9A'„Vßz=§ùÑ0ì—×ÊjNî’PÒ‚> endobj 437 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 438 0 obj<>stream +)W—?ô(>PÅ¿–# ¤ÊV,¨Õ9 +óÎu¨=¿Ò¿ +o¿ö“¾FÔV`CºLÆ+;ÕòZÛ)­‚F`Bê1R–‚IÝxé/Éí„*…½¤ðâ¾q×ñ¥w}À²Ž›µúÜè²>|Ž•\ ¯'Hñ~ýùØ$h u™|#ךل¡~ãÐh7W¦s]¿5S‡Ÿm¬À~Ï¿^(…uż‚4>‹š8¬âÛ/Š¦6ãYo©©±J{ðuA—J`J·Æ†U§Ù(^IiUEŽYK‚ßÏü… ?aÙ˜¡”LUæñÿÃÉE¯Õ±é^GÇq duÆü$Tø6U²Èœ‘î‹F{õƒlm%–#ÿ7çUt¸w÷ÃßJ“O"[±(Kv€¤ÀP‘æíTjHñœ“í98ÆßÞ:K¦&Uα})»®¤C6¥yݾÀ5æÜúä +³ØV\u­)¢¦é–+®rÁÓ2Ψ€xœËOª ÀY6póä•”€òÇ©½6TèËy¹ìÆÝ¥…g8ä DÜ_T}“í¥ð«|×íl?Aïa¾üDaèßGÒÃæaZ®pU:­.~?Eé'¥ryRëÎ8¶/I€Á& •ÉÒÔ`¾rhFôWúö8Â3½–B¦ç%æ™ÿÜ14&v)Û©ƒ-¿Ç{QÿJ®é9¨ð§©«-èx·×GƒÁ–i"uuVhïa®ŠaֻȄ?âÿ€“hÒ{{AGU£K‹9u\å%ǾþWÉž›îc9«’ˆ¿¾sœuÉ$bøºÖàÜ&£¬Lä¤mÍ>#oº Œ™qóu 7 ŽŒŽ›P IÀ®„iM$Î(ü¡ˆ÷$(±hDÓqËŒ¹=PÿéÍËŽiU&azIÍ+£®·òÑI%ð}˜1KTVüM ì\$ƒ°ÙtŽEñ 5O¾¦Á,öì»a†™>ï_½h¬jÌfèS‘ÐFgq¥ Œo€ÜÑá0µ]±Çû¯7 Ž€}&Ù˜UÁóCñôÀ1TˆoÅ+X¤ítîÛê ¤[L`cÆ–´Ôæw‡Õæ‚ž~žÌX6QóÈ‘Ÿ½‰•Â,gCÓ`ÿÍë2Å?FÜñ"ð=ï\îSsânÃÚ÷Õè‰,I³šxà‹n6Èû\1¹š/]Àb c˜Á⸠†»ñl,J‡/•ER\v^·Þf»÷îîp¢æ§¹ +åZ^sֈݒg'%É<~´±ÈR50ëë@Ž‹…ß#(žîÝEôàtê,$ÏQH³f â$üáH>)ÙQ;Ñù²t ›ŘøV69Ÿ)÷)œá(µðå$£;òPt€ ³Ï=8 *¦ñöÜ@Ï^LÌÊõ ›â4Šäþ¸I‘„~#´¯zÍ|Ú +4söKßÏ“sðû]6œ^-LvðOÏpþå—-„ +¸õåAÌdÑìM¬9ß.LåüÐ d8ñZ7õ&á¶Nä?‰£­ïDÓöF°H²¤E™Ù`@ábÏD•´#^ð®ƒÔhŸC€Á.=í7.{@ –ïûãNEYK‚ï +ªDEÜ䌓ƒ>ÛqêòaœlÌÂlc-üj‡(°SSÑ ‘­ŽÒWÞAl|Ï('I.f¯—øtĤˆH|žS…¬‘{ÞüÇUI|;Ì;§+r$g‡`Ñc +‚-yËóÞ0db±JÈ.Qvi%ÇÊÖ§šÌ ‚— ”'HëJÏŸ‚±å%Ÿ…ÂÚr7Pƾµ°ÈÃ÷Ú7|dé+AÈOhn¾f/$ìÕXèÒáê„ çõ/·L f¶äf–°H-šÇ0Šï=]&¹Vu+ $Ç’ÓE˜¿)1µ³È;ÀØïB…´BzÞõ·cùЋ‘~Míf¥Â‹tÁ‰d}ŠëµlÙMk¡Ÿöàj>ÎU^@°o2ñdN ú&<éÜ$m)É?ùPFĸ œ'@¹S;ÇoD"ZLNîoÚ®Ló_|Ñ*5’ó.*»%@pðx5y¬#±íBÝ@o€©æÅqs¨eŒ Bßë6Ñ?Ù ÈL9ËIôÙ„/ûu{‚`kO´Ã@˜M69¨Ö­ø!ͤ€¼ç¹œþHÈF ¦×Ø#?íô:¤(ß-¶ùÑKüOVO2@D3)L¥€kÏþn,G¢×ëÝã”h}ä߈CÉ|ÿ&Cz¡:¶1GBûM÷’»;Õ„)žEzjSA5—#O1PSEpüíýÂÔ%Ð"˵5è<Üû#%Ÿ ø n>Ðô¼¹sÁ¨¦FçÇì£õ,fFc~‘‘7TÎ$¯šu×óbáb¢Èž©ïVW¡7ÈÑ|ùY¥VC…ü%;6Çz;Fnhs‹%ãu˜¨µáé RfÈ.]åÇçʤ%µ­*ÉXù ˆ=Q:‹–#„ñî=³¨µ‹­X#ôç ,Wñ‡«8-K« +¤ï¹Ø{ËÐ!Vç2¨¤¡¼4gYyA¿^¬†ßªñÏýIËŽfÕöÊî‡+=%÷šáŽ¼NLeÍäØîG©Zä)QyP‹ÅÖT`º:Pñyà-Üa ð«Ë %ÓPÛX-djç~+`íú]YøéÁE$‡Žo |UeªŽ$#4›m€+C5^ze’t—äoSµw.ùh¼4µä{Š|™(çÖü„°öÇ«?×ʾj`ì£ön\»ˆí¯nÜ™JýWËò…€Ë/Ë›×ëý’ÖbÎë¯y›RÌÒ-1Nz¤Ÿá¾êˆ9.[¼ýôx}Yá{¨"éL<÷‰:g*¨ÄD¼BæYzPÕŽÿÈ^OZÔäý·¸m°=¯Û˜ʦÏ|¿:æ;:ÿáÔܘUñDü©V•^‰=vñ&Dæ&[ˆ8ý^¿5ABF›&"õ3­6~šeyU+ZÓt<è½èÚAç„Ó™¿ëÍÊã› ²…“£Dn©Ë:Ò&ŽÛ¸x“ߊá$N Ö/…DÛ<âë¨ë#_‘óI?r‰™lDm:6kçìn‚‹@¢Ö2b¨?[Y8g:”c¶ "ïâ‘AgFg3íLÔ ›·Äïxß(u—öT¸Øí¼Äšù ² $wˆ+ã?¯ž4ùíˆ^è +iGU_Ô±¼ÃYég½a”¾LõßF€t³ñçðÈÒ¾­Ä™æäÐ2ïŽ +¶2ñÎÁúQ¿X%«ïGìvÖ8ât(Ò¢c} °®:.ˆ…!#) –f} I6è‘ùuþÚ¸†UG›1÷È›-û–©qJz…c˜Ü¥P‹HæÓÄJ¡0ÖØØùðÏk¡6ÿlª_×ÛË-~ÆÛ¸ýrkAÅð½K*x$˜ÐÎ6ÖáOp(|cÓ`¬`*d51™@’"ýíuu[W ÝÂwH›"²P͇w"Y)¯ÁX¨ô¤ûœ~…ÐQÏÚŸh¦ÿ¶ó¤®ÖÝ°edOŠj ¼»­âž·ÞHÙ¢[üþ©¨kúŸÚ”ùÛ× +ÿÌßÛâ8a•±žOIG.žHÖŠ|èçà–.½ª +pqT¾È.£Æ\iŵÒz³ ‹T;9“Y'ÉW€T…—[¥™Ï®Â÷dËuÔg¸»Øy½b‡»Ö[µ'¥7OèÀçÑf{ÛöÐÆ®ßPÖ‚äôSd ü‹™äň²bC¿Ñ²¬»IZ¸»?Ô÷д ͉ˑ:éŸ\¤Ãü8~LX? §‡‘,‰º540G¯Ñs¨0¤Pä'»»á)'Å5€W ¤Óø}ý´åÁ¸V^FEÒS˜+gž&:¯‡Cfíæ(9N¤Ã À7G¢NÀª{¶oèQü{Ìåž)²ÃF™T˜Q€kœ!³ˆô¤•ˆáš/GCØÞ +íÁê‘í!_…Ú óaÍí‹]_µØ Ÿfà-ÃlKuÎèM›æì£Z~µ<~Û›t{NŒm¶u^²Ç§‰à!öÙÀvR† ª?¢Æý/¶˜ŒsOt„Îby›#H|æ$òéuéÌýiøY×fïa²@ KGGýºˆ…‚’¾O欆ÙÛAÍÙ0/ÕB‘ÈŸžTà>%ÊT–¼=C¿rÍɯaTº¯y’˜# {ÕÁûBôÁe•A \3Ýò¢6ºà›ù°(Gҳ¹a/]k+Œ9î}[;óOí‰@±z勤Iñ.!@û +endstream endobj 439 0 obj<> endobj 440 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 441 0 obj<>stream +ó4 ïªÙ<›-½]ÈTã?”_h,2L{+ÁZEÿ´ž‹ègd˜9¼ÓMŠ¥w?®äˆÇpñòV†ôÒŒ§jæh¸@}=gû:wy_·Ú0nRc fÖw%qD¬ð~;¸héÇù‘ÇÖË»©ÿÅN)»Òù¿>¼KYÄ9ö/ëpòââæ ‘RiM$Ðß<šwÔQ )"4ˆcúÅ´vÒâŒÐ†ZÐ 0µ›Ž»2Έ¿—©Rnñ2³Ý³‡(’°¨(¦$*ÿTA%¨7gÕµ§I°À§5³j¤g +ј!ì§ßs«P~®}û)RŸß^àVä>#܈N\ +?†ëu©¨ò®_Z‘À5£†G]„ÉÒÕÍoâÙ˜Æ"f–Ïá‹T PoW Ú7š3 (Îú·ˆ¢¤’92¬VxV“#´øÿ/±b5‡AµÇ€xyª*Öª‰ ÒaÍïHanÝ ¡"{äž¿„¹1ø½SçLñjPðs 'ÛÐB=¦˜Êª^ñaŠ –XYÚú­M“+…u ʹ”|1õ̯{ VdBý]±S-Ó“½­HØoÑZ­Ê3ÒAD„¨äŽ¢Z£ìÓ¥UQõH’bÇð˸\ªsz%­N“k#´/ì)BÈÉŠÒÃ.³ŒÊ¬ù"]'Üг:0:€O+ÉÛ3ýp?·íI °<ïU~_ÁOrÈ–?{Ç™ëÞ°W/ó'kQE.“·v_Œºu2†€žR‹Õä/ôJõæG¯ŠåãÁÝ!qQð—x)üœúåf­®äQùIBïLœeø l¿ kÐ-Ûœ¡°zÝ4Žºµ@øãùÄòÍè+U «™MIùò8Óœê¤Ú9ÜÂÀmî<êŠ ÿÉa¦¡=º‘ýY ƒ³raÓ€/µ_‹Ã"ñ)j¾•ž7þŽò`Îx¼Лñ/ ã¼õ+¦‡„ùªûn¬„­³8àg&kkÆ L=9nk5ªŒsÿ…Ù­ïÝOænÿ6G|´âÅõ…?hq’¹nŸ™‡x†÷kUOý¦¶JaÀä|^VÕ‡Ö÷à=2Mm3I¤Æ}çØŠ)“,ñO‰Ò®³1(x©·Uáµ·nÆkÁŒ£ÕÎ]¨Æ%º]z·1¿Í¨¨Í+[©uºM¯®‘iýKpí¡ [Õ¬Ëqž‹#^°4ôó±4L°ö>KÌø•àúÚ±†sév„Ž½hbdü†ÑØtÎ ×b÷±’ÖS|žóc`Öoa8Sù¸¥¡FX¾£ú„ÚdÇ<ɘ¢;D¸0‡Ãaý¿ýœÇX;˜e› €_ D>§Î¤]…éþXû +”EŠ’XNϪ=®,€ÿf5çšsÜØBO¨úf&fxɼËÀ$ILøNb¬ˈ‹hŽs˜£ËÍK y^¯öO^ÆVÑé6¯­NÓXVÉD‰2ä°Ð +³„Y,à$D‹#sÀ±df"Õ†xÕç¬áXI/ÑæZŠèõ^O +Ÿ—êP½ÑwW)ñª=óðÅHˆ3Ä$2ç%¡Ÿöp ¡3øò%>Ó=ãÍC– EõÙ(„À*I!•>?MêVdfüu¬Pðxp<!Þ³ÑU]óFJÕpÛ¹8r[4¬XG=¶à©Æq¥ ;Èò¯söj0¶öÊ0êô¿pºöuäøUôµìœ]Áâ¥v~s SºBf˜WC*vp7Õ®‚˜¬2‹«Ê¶tú7t$n–.û·DÖÄ¿¨¶àÙŸÀRMnœ´Tå¶XôÕh>é;ȬPÜ<Í#6-‹IòF,”†ÝM˜ƒï¥¸£nlØþØ\:å`ì¹#Sײ·› +‡³æ-ÖreÄÉ®šë°7*ÌÞ„½ú úMÎ ¯ÌænVöƒ™µøû±o‚ bÜ-i35úñ¤®äç±*\@4ö%àd~-@t¨Á>Xn‰RÏO R´ÈN£Mý¿=;wØñzUZÞ-Xxå'YRCâX¨‚0^Ç¡1˜BoNv^!#ñéœêl£¢¹·f!‰Ò/“ ûîL¶tê8X üËLDáåùí@ØÙæ%óôáö–ÆŽÞ–e&Ô¬ðcSâ"v=›_#ƒë°¦Ï˜«S5ý©xêø§˜ ä±c¢1–¹](xí²ÿ‘kâ˜A“ð c~—@S]ê\Àϸ¤5r~¼wx§3.yf×73¾0<â®@ -gI9¬“gYI]e¶þ=!—ÌIu)%qfµ—ŽÎ‚~VNãs_ÆÌeT*¾U 2¢Fç»pD÷v$æo”ãÛ‰/]·zRIêâsŽ|~òägÅ» +@1V*Ð¥eD‰aú| ¥‘ïóÍó²v ‚¬G.šª¼:-Ž6ý/"·Ó¯©æ++®Ó|Ú)¨—D`ïd££Õ +æ +¬øáÛA­U¼ŽkŠ!ñoyZ‹Ó_r=>»UV> îô„:Dn`LïüÉ=\çÔ£ŒŽU\«Êz≺8 +~›BŸR=¸&“®|Ї™/ÇÓlá ö8/Ocöf´ ñZG&îÊ'9ºÕ8ˆë.‡(.®tΩÜbÖÔþýó—-O|ûqvbþì9rôonznK„¬Âé»YåvƒìmòL8äÝÛš6íô(É…†Iôox±”m€)Ìá-‹M…2›óÏ—Y¦c=1°êV6mD•¬R,F_ÀB%KKÎí¦Ôe¹r!“wí<Mà¤Ì +‚‘í§íñò lqÒj ù Š ÚÌt#Æ€:˯o(]­BoWVå‰ÊR h/Á6+øcØÉ ÑuJ´ÿ¨÷ίe–o2®J(r´Hk¨røEhrÿ¬:…ÿZ:×çšáJƒ {¢Õèf} ñ·ô7¸ ¤à‡%µÈæüVÕ¡U‚þâžY_/kâ7HЕÊý¬|>É=œz;À”“Ø¥.û3®e›¯ö¼Ç5G³ÎCÝ¡ŽËw3Ä[ ÷F/‘Ât‰=t–<ï¯柇ÝÃÄd¾ø1Tú ² ’«lû—£mrœÒTƒ©ïÇšìN’eð–ÚÂM¦¢ð;‚vnU€ ž""–âNpð÷Þ݆ðX®:A‡“¯ÀpnŠnGÅJ¦XzÐí%/šóMǨN+áƒ;íì¸.®½2zdFV& È@¡üÁë«u§6ê5úQÁLø57#þd’¹mâÎQAšÌRdDæ멪üógª3“1U$\œÄös$nÈšu’UŽ‚UDyHÛ/¹tf°¨VWPÔt/±PMߊ$\¡•«!ƒ´3™¦Žœ‘ÚÇ2SʬÑ·›ùVsÛHÂS'Ä~×áÊds‡4éZsƒk¬#£")Iºt,àreFýÚAÔÊÙµò­¬à!Œ‹ÃKaÞ- e­q¥ÃÆï‘]rB5ëüUÊl–é8_Í:¤õ¶ ‘Ê‚z({)Ï´wÂBËœçM6bÜ|7ÃHß°”ºrNÇí¾âX;fXûbNÕ)›F¯ye¸Ñ¢{Ý)F’½dÙ„Øc— Ÿq×F™-sVTJà¡íô> endobj 443 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 444 0 obj<>stream +ïãÌ Yì^®Íìàð°Y;T¸‡ïÛÒë¿åÇ—Óm‡žhK'ìÅÊÿŸ{pÑà…‚ºÏP¡¯dy |ºÑúø4x¨3››Î^…3Bäòxm»µÒÒS¬Ïç¬ÝÕܽa7Hérù4çîò‹Ø{tp8Ô}i§Á“ Än´h‘>S€(ìíp›¤°"Ìæ?ì§7¢q9Ê6ô +‚!$7)4ÁâÔT[÷n¨X›Oa“Q¾BHT·ãqÿÏ(Y"qÒT N +}\ŠôÚ“W4‹aØŸ™Ý 04¯‰ŒJ0 ØBQÚ6Ÿ6u½È÷9¡»+æáùÓ†Çd3 +Ï )HøoC¥¼ê‡kù:ðˆWÜ*˱"œ%7½ðØç9ø>¤øIQÂ.Ûd6­ Ãé×þcTø±%Ùìÿºoû'¸wf-AJN¢#µf&ÝÔéT²±à0ê{ël˜ÈþŠÊÈÌÂë_éÍ +›2vEØAÝ>Õ"k±kYºŒ ‰m3/¦ +ZŒ=¿'®«Ÿ›dEX@ £žÂÐ’WêÿÇ=ò¼ÍߊõÜ'è G»:†}ªK6Æ +ám¦BÊB»=Ä\e8КëFÇ)µKý ³wy¤GÎaJÔŠKH«ŽÖm.SÇ-ëjx)Cå‘\Qɨ¨t™Ž¬…žñÀšŽ`ªÔŒFq3»~±_r÷jz}“|­aëÜ4–Àî}uyØ…¡õ‹Žâ%îÌ1q¼R¤YŽÑ^k‰« + ”[­ú'­µéÜEÚü„”ή8ÔªRH2SvNã)Tù:„¡f¬OL†ª¼ÓÑrÛªÆÚØÑë»êÝ6Ü"3ä­×:M¸Iz»¸€ÙsOo¶™ñêíF­æ.5‹ÔóT¶.³MáðèT6þö©ƒ0DŒ‰QŽ)êP„&¹g£óùZ èÀ.‘Í WQÕ36…cÉg¾®ÃÒj‡0;Å·Ý\pT÷žoÊRwA~UÝˉÂRÓ’¹¾y„S+V*ØÑWeCûFÕ)³ÇkF]÷ÇÔjò|é ¾‚d&›9Ðì=i¹±æþ"£›ÎйÑæNø'q9-3£uZÊ&ŠbaíV¶/šE9û‰“ÿ§J5ï3†ræ‹ÍߧP&:øó4/ÖŸmÂcAj%—F‘æá•uƒmU[ñÙÎÛàtXUÒ¬ðAV8Ó)€OK%_ðs&ÈûÛL!ïåÆt“D<©Š©‘­°„²lkð³IøTRû?0‡ôä¬wS:évìý´}W¿Nò€¿‹˜ž|žz’^NG„–Aè¿Iq8I©zo®q+Å‘Ä9þ=ÈÃ9ʬB‰ PšŒ¡ìçùÏÓÍòKÛ/Ûª›ä™ +œíZ„Ùb!¬Òôx:d ²z°¬¯ßæjq +tóÔ}=j¹#MO/Ýj¾ãÅËÌ®&Öj¬A2ôàÃB9SN¥‚ÝìAg RÂO­=fÜîñ)€/ ï6ÀKdH€ªÐ¥uBo•F(B^*yvúaHñûø·V­ùù$;‰´‰KYþã HòËžÅÃÝœK“ 9 dB=êµ5æÜ }ñ¹ýO•ÄE¦!Êg¥lÎG“þSÖa(c‘ÇùÛÓ‘éT(ó®À^ ƒµeF„ePþ²{¥/´ÌØ°$/¶cQ1ñÁ kø¶#D‹zïç é5>“‰°çäB# jûA¤9m]”¶• E¿ÚÅêu(ÌztRërZÞEÕN‡½Œ~•Å–"­•~ìþ4àߊoeB›J{ú~§¢àrP+u±Ïõf :Ù²%øŸmò÷‡Cñ‰—hˆÛ(Ý~9‡¶ôb2Æ4`)f¼”³ æÖ}Hëît`zÔ­\£-ŒI h ¾«Q—+2¨gST³*îÌ¥i6>÷Ýî`Ĉ:V*˜¾QEV=>ý¾ìˆ7vçßp4Æ,¸úþ€ÊÿOãØ~¶ó²W±b$ïFì†uzìä(JùÍï<”£ûˆ+t(ì\™AœR65SŠ:öGf#ë°šå ®Qp¢`:ÅÄt +Þ +YV™K®t²f’2˜aå44dýkMÀ÷:ŒÇàaaê÷‹•×`É£LrâüÒ÷Zèú* î˜WkE± ­B‡ÆáÏDÐÉú¸Û˜>Á£3k &¬öÈ=) +F¢ËB ò6ÇÙ$ 6 O„_’Žmv«CÕLöV™¤;• +(§p›6Ö¯’¥€ðº0ŠoÆé‰ÁïšHoëbÔEA¸WwĨ’®:+õ!®áiþÔP½'áŠøƒ6‡ÄÛ¦D$6©”šK¨8bÊîŠ TœŽ´þNBx™ßy¿¿æÂr>MÍðS-ð2Ós²ÓHñ'?2j]Ñ÷ÁÛ2Ìö+7)QEî'Ý€A䧳G#±~)9r¥ïU‡Ù¬ßWžn×Äs~ÄRC¢S\±ÊK¤);†¢ìÆÓód è'<"ªC]ñ" u„aR‰Š·œõêbà8‘ˆG õÙr¯Þ®Pº ÊK\*™ÄÁÞØþ[áb¢Á¾Š”)U>EMÞ $F'Ö”™Õ5æ ra¡û†}"úÍã?Û鶛ñ0e<20sãêá=ÕZ×3~_Ì*ç*³‘ÁçsZÙOb×Ø](¢g +W¹Ò*©¬po³Ri³µ¿ˆf6É$¶´öŸç§šÂ"þSAéîdî$UGT‰b‘Óa²ª¢ÜT³&Ó†N%?±GìÑ6J¥&T4ÿÉUÁ|†²3ßá!D„®ÕkÓÜ»r¸›Ég¶!tlþKx2„ç×óâba¦¨Çš2—CäI7Z!\ R +ŒêKæ>Åñ#p=}{’ÃSÙ¤é"õÛ³s÷s4A“,è _ Os˜ì‚¥§yðže8maHIÕ¶kïVp¿}°±iÌ„Ö íÀôß¹<™:Íb 5í"ˆƒ¸ª}+æ=Ñiæó—Íí·$,RÏQÓ×Øb¡Ýò‚ð<^ç +•©ò-Åw"‹GÐißP8p0ç¯Ú»æ"îrx˜æ¬ÑÁ¯»ÑOSýÜ +endstream endobj 445 0 obj<> endobj 446 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 447 0 obj<>stream +ÌÓ4BY÷äDóiJëìéiá¡m.–6á®aÛ6¤¦–´)nš=pÍçœOÛ}b<æÙ±g kZ»—*¸¶“·Sn ò˜[Î>Îu‹MÓvt9X¥ÕàÒíKØ ÇÆ’–b"­âRwžA—]4Hï"\ç>‚a×ÿ`w8ˆðO*¤bĺe™~6Yãû‚(hZ+€¢Ôõ:fÇZè[ÃO‚B ¶Æ¡yK% ñD&­îK±˜¤u:1§å +1”$y^¯³ì—sX—P5±pòÅ`ÝünIÀ†3Á]U83ᙧ&D©­c%Ý_m|¡ž•TaŸ(˜h¾¸Ÿ‰,³Ë÷áaŸ2´C(NIßT>Æ•¦ª¼*I¬3(K¶KkSacMo²4ŸhŽãÏÂE«á‘iê6ÿÙ_$Ĉ²Ú T8m¡JÈA€°~>)ÖN”*þ^xji§Tn–T8!´Ù >qîT;„4øƒWµ²®®yTm`~5„E¨LÁO.h r| JèIô‘ŽY΂é a“ˆ«I† +¬­¨*Àå[‘7“ŸVMY«˜H9¥ß Æ D»üÿãŠÍ¢‘¶ì’byìï < +yÜDÿ‹œäúÈd*õmÔðÞwKwD¦íËŽooûÒß³ÄfÉ‹hOˆÁ¿M{ÇA¼ É< ­Ô [ÕUbù„àfc÷I¿H !÷(˜ÄN‚U¾å2›pzã_¬°å{•vº'©ž',Ö‰ùœo“¶'•†“Óæ@”ü°¢%YL˜‰*^‡§dÕ©µhç_ãÃiQ˜4Ô÷S³0ÅðOg~Ÿc\4ܹ¯¯Ç^{.8ºˆ£¢ erö¢%1cÙ¼g.9ÿÔ¦¼¶Åqè=ë^ŒÕ øì4†‹Ü +LÜfÞÝ„À•Ë=y¥è5S!dú²×E,Ì×AðI+ñÇYN%Œ%yE˜@rŸ½AX]~òXuš¨¦_q•5CÁUà“óÉ/6ëü¬ÓùùžÑJý¦/ö€T²0Áì—§ù¹V "‹E“6Åçè»^)d2߈+ÕÕКPâk/žçÖŠU»÷vS°ÿüzÃhªG¾h$™ñÕù.mÏ“Qž†ÀÈy2Åir+îe«À dr¨%VD€ƒ‰!ù)´ñ‡Â2 ‹ʪâØ›?>MNv)ù`?kxñBØÖJEµaµ4gÂÜÍ]M@A7M·Š±” ³Ü½ÌË(„þc K²Cïmƒiç8{×è«ÓÄø^ì‚Æc¦Òc9fp2KaûÅ’9BH‚FÌóÃÌÒ/Ἐ”Ý“À­GsXýYìj ¨Ë––áóly‘Ö'íæxäÅ^Ñ Þð$ùc4–|‹Ã ÕÜb£^xÓÄV!eÅ xC–øд‚òÁíE³$xÛÏ~qtƑٱЩóþ¡à‰Ýç ô'`þ»ƒ&ËÓˆÌò\ZyÈ=7"Ûzp¿êZW +4pʨ ‰èó’P%Ë3jGF¼ÓJŸ Äp®Ï Ü1ž´G¯G+2N]p£Wççm°‹Õ+6k[Ÿ6zÀ‘ážàÒÍÃúŠ‚ˆÌ0úFíQÝ@ýæÚ‹¿ÓÜYµ²Z9À·1œ´²åÝõìóo±Œúøé°ö°ÓÈœöÂ}¡˜º”‹Úq­1ÄÕú7Þu.xea¤ž’šð‹9®ËÛu#‰tGmÜ0 ªÚÆ'áæ¡æ5aÃú}x¡üWÂU!ÔhK|ƒ0²OIÎj2 ¦s¬"= Ñ,½—3k °YGP³õ'™&©¿zuì:<ÚOè¤È·dJßNlti"'9Pd u76¬?’Yƒ$mNnpdBóé‘sýnΦE”j ‰dê$ï(ðW[””µ˜ûo%䙡©7É-ÉÿAÿKC*µ)öQ°œo° ©Ç„³ŒÌ!ƒXšÕ»™i1^¨.Η¸7ÎY s–oRÈ÷rµon§Âýö/üÜå•v¥/ëhã°Ð’ .PÚvæ*–—O<ûO&+™åBÿ²o¼¸ìá­´ j¿P@¿rJ]”„uŒ(_—-ŸyE­p^£°ê!ì¬mÚý 8­»R[½¦ ݼG K*Y¿Ù ¤ßÚ2CÏKøÕ”Š[*L"Ô +=í„8Ž KIø ¦³X¡©Ã´âVFܼÑÌCe²VÀùôNz±^™§\ÔïeUv¯çáN¿Éç^2óâˆrZPŸ *v²GÖS“©Û…b©{ÛÁQxvŠHáîQƒW§—ç÷ÂT<ÂlÀRUú_sÙ¤·Ût­‚ŒÉŒé„e¼ÆID’¤1Ú°+óa~Ýá#L[¤»,Y1í¸ÁI²àWó„aÇ QÎwt«9bê梭ü¤ª£ù¶àHôÁµoõ£Cää¡,J¬¿­"R¢F¾~Τt³í“ÙXÅÚ)ÌÎûD]±¸×¤œ/¡Ð%󭤸Ææ{|w¢o/¹Íå>¤|X_îUo¢0©mŽÊ /~ª4R{ä"gÇû(ߌ¤<‡Û%£âàþ>6ycж +Âbƒ§RG¥9Õͺ‘ÿ¶œ&fýl¢{^[â[F••H8,j^˜- ÈЮªÊfŠ£§ƒYG=¼ÅÁ§/uJVÑåÎL)µ°0p¥ #^ŽP~‹Òw±~P($B¡tÔ´7…ÃG©%ûΣû«·¯‘qKôÔÙ`ù{üñ4ÒB*Ô½ëi?_¤‡4zÛ2ï@ø*Ê[¢ÊQ[c.9Ø×cái6`["Àê~kjÑø\´²DK$û(«õ _wüöÜ+„ •;zàÐÙlM¸~à~‹C ¶9õ\.ëÉ@VXá|uÆZêÀ5_'T'–빸3]¨#üêÏadºSú‰8ÛŽÎée™ŸEõs{tÛ ·Kùë_É×nqb´• Ó³E¡çÎr7ioËÚ½Op©Wn”g²Bj«I†¾cZ!vZ2jû%° ¡gáH> endobj 449 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 450 0 obj<>stream +na¢ÃÇ1U^;3…hh +|7$Ê’RvM.žWkdÉÀËóÙèžÆcóµÙ`ñ>öî)ÛÌÛdMLCÖH[´Ä )"úˆdöŒ›þÅMŒ¼GKߌȨzÏÚÁœŽOæSÖ•4T}¶ÞË'mJªˆäwv8Ô¦U÷¾Àð»¥kw’#.ÁüçP™/d•Bé +àäwãÚàl>DÚI»p8¨¾ödZŒÄ3\^ŸÈ,L4\XQ®àPÌÀ’ªƒ6='ñ–3Hý·Kóú´3±‘8ƪÜÐœ?év™iÞGŒ0ˆ®ºíÛ9•¥»G2‘YtÉ`§ëäë´­”èXÒ—AO-ßþ¦/ó¦eèÔ©yÐ…nAJÃÀÏkD'$IQ;ûÙ×笡K<„¿«TYÀ>|Øà@•Ønçj ®°¾9ž³9¯ämXÙìN¸ÜI ^‘U§—Ø”+ñÌl#!³£\J ‡N fZh/i®òÌ°1f3Msnà½þ˜wïK|`ª@ÞÎΛ}é 僥ðZõÛ‹fì8  Ã‚}~ ¡ˆøþ׌QÿÓ­P-„QñS7?_3Jìç‹Ðp¹io–Œity~÷ 1²s.ÿbmµán¯å–ñ'0ÜÙF kÞ êòshŽØVWt ðŽx±Í ïI |’¥~¤µ¥©Ò/p¿*k¾þXÊ; ÕÐí"<­îö–7: øgDù«yB;÷}}EAP “º$GàëÈ’øÓ/Ÿ£\¼Þ=÷oµ#+ÅƲœ™ÙÄD#¨ìXCwò?Ž!„ê£h}©C~_sªUô<’DʽD8„©ÍrA}pû"ÃyÜ‘}±‡:¢ªY!´ã׃q•§‹”Lý‹Ý›m×Æ õ )kMvÀ27 +5•4òKv&ú\À%‘/ëHYÕÎ`çðI¶Æ‘ˆðéšÿKsí¡Dbƒ†?'R6´^h°uÁ°Ä®XžJ Ãœ¶ƒüIB6ˆŽn.ÅeÉø‚:úEÝFáHxÂ梇¥3² èYC¿ÛC›l+™”x¨¬è^žâãT1ãŸbñØ¢2Ž†õÈѺÅottÛY!ë×SW$¯ï—ï"{ɃÃ(©ûU×b·ÙؼGtèlzrf‚Û&ùd|¿Ç°›¡\est3]âk|d-©ª†ŽšÒ;Ý¥Êp˜ÈÍ$ÇNS8ªÝØís[Ü’,@Þ*Å/Ã/{nW.è@.-}p¡·„¾2€z¢l®K ÇøwÖ~ÆI§Yªâ¨`ˆ¤Â?nØbLõÖ!=O +Ðå“›ñ«ôw¦e%’(Æk:ߊšÕg¬Œ§Û’ûI8]‘g}•Év~%t[%X…¨ÇU›œmbÖ3p%±k-nge +÷ +åîKþõº){Þé)¬ú$ãÝU&Jx]€úõfsJ]p?äÕëá¬{¾Ncù±‰ÉÓàû‰D~•;CCKíÎ~|Â=µS£ +V8Í’ÃB¯òÇtš“9Ìò,ê¹/ìÅÿãn“›2Ç-cŠÃñsrHö^ÓOã†/klÏã–ûÃå–L1L€Œès÷kíƒúʱãVeTóM™ê+–Ô'dϽÖ$æã¤_ClóОH+Ø­+öˆ_¸ç¢eÚJSèm” 8ø¼.ÌÛží4hx% ù]‚UÍåYˆŽ[´ˆwZ_`0]bsthÛ;AkÇŽ®Ù…ê‘/ô~îøm7†7ÂÆþÚ^„©Lwt`ßÆÁFÁLH-í]S¥ÛµÄ ,{®}Â[Ël"qcãÜÝ;Ú|c¬¬°'g¶O^«*ᮘÁÒ¯θrr®aÉ6h©9¨i·ç×µ¨Â1yüèÆ&Äé†ù½ÄâÜ¡Áˆ^u„¼{ß +Î4åÔJ(pà…ˆÄä.â²´y6ÖRô­“0» +$uA#”ti2×f:Õü§dIØÛB±6OØ1“»à1½Í|(üÎ £®ÜP™çÚ†>Άwè%a¢,u,2d¶;®–Ñä‘0MÚÕ'ŒeÝÜspj-ÈbåáÙåìÝ3cE¤#džaûì‹‘4\'aª;°¦¿¿{ ¸Í*øÎ"Zípeÿ¾K«WÙm bF~ªÎƒ2uñ¸%ªSÑŽŽòDn—†q’ß‹Ô3iJ>ݬÃÄx°h™BÉ=mËù眨ȗ|O¯~nʇºu¹Ç!›t™Ù!6E¶†nÀW–?8‹,o¹zRIwXËJ¦ví™2ŸC_XÉp5(´ŽŠ R€.FzX{j÷ÄÁi +Úè? L*üØ?³ÆoÎ „JQ£{A°\Yk,.êy\ ŠYfŸj<šÉ°©@±= ”×’@“q!G—PG=Â-—ùï§5 \„Iëƒ68‰!¸ý&­|þßiÐx>¢.4RU™n_Ö·&kQ!Á¦nÀÁ²UŽuE8KÅJïú6ÿ"+Ètvüž‡ÛÅUô7 åôL4_HÃï•ÂÂÊ0†ÔòŽÅ ÀyÏ’#rÛ^ßš§$ùjüÁ29%ÍW~ßQy²ìUògp_Èâj\Ìÿ\tŒUŽ}Üðªt=wH7/G“éüJ™‚ 1¶¹n +°ÚúÖ3¸Ì[6³=œŽUÖLè#±Ö£¿îžîw/P}I„3 NÎѬêMGÖ†'²Î#Ih€!öó†®)S)ÿý¢OäêëXñõ³º¹…iËz©ÙÙDBv¾Œ›çþ»8úÖ¾D ºÝÌ™šòUU3 rîÜ£pw$çmô†ÄEÏraFPBât¿v¦‡Þ4‹8õ£U^vÝ¢MûöeÙNG0fa0IËÎl@‹å°Ÿk6xºgªž4À‚Ë“&îÿÄiÀvY3ò­¢dï“]¾D¥X{µÈ »_oùâÛÏò[á¨ìU9÷ ¬KOe¿˜¤|€è¬÷3nÍF2Eù2/€S»4:LhJ©óc¯Û{™Ê–Ÿˆ¹Ÿ™ñ8ò +¡Ï›€AU`Ãø(ÔŠ6ÊjŽÖ™¾ÐP×`_¹ úŽÂÉiZH<_tLúúArÎ;æ>ðu-¾ƒÖ£hl÷–~  e¸¡ú ¶Ó0n¬£¸áÆ¢ô¶>ÕN,‘çL —4 +oeÂ蔵‹3E (ÜÀµ+UYŸÀñ®>çikÈJ‘]J¥ýºÎyz¶“>uêÔ!N€Iº*ɇ( +5–”®“£¦‡FjÜ‹Oo@9¢ŠœJiÁH…Šõô¤š~]õHhˆVýzÀ™É<šlOœÐzŸ¼èï¶L‰71v;+tlSd}€A>›AÔà)fÔÎj™†´p®®Uƒ¼ S*èB6çî\‰EtCÁpׯŽT@E†æ±C>_à^ª·ÎÚxƒqsêob¿+ôÕR_ æzʾê<÷°Ü£$ N»b)AøÊ·ÎÇi‘ñ5¶#5$7ô´h7QÛ¨å³5ÇëR(+0êÚ^œëÑf-9£L®Óp˜‚]´š6w'ºB'¦ëbÑ*ÇêMüÑsÇ÷¼}¢>8¹Kç’WCš´“χ|‚ðÒüÙÁçÜå¥aÔɹ  ™Öc¨«êú.ó40«]/“µX"4PáüÞ^{ŠÜÓ÷]‚û†Ò0Å(£Õ(>‰F»Þû kÄ°¹`O¦ Í!Zdm5íø3%ȯÕmPÒ£õìŽyÍp—bM7À÷l·Ô;Eio=qZTß>:F€¶¯ú_æí?À×­Ï!ºëÚw7R`¨Ï”µ­€8gôog•üåÔÞùÔvñÓâ¬Ï}¢øõ†è ßËÓ £çÈ'÷±,ÿÁz+:Ü{wJ…d°oR8¢=a·â/:4»„&UévR’Fõh@)ýCÉûùAbZ*ÈÊ`na( 4mGêp|'žª>íܸ£ÜK¨ŒMœå;ŠÏÓSÚÕÿŒßfh¡±;ÉJBnq{`xcI ×Jå$¥ú›8ˆ’ætž€Ôø¿š3¨"bòi;¤ýè˜Ìü—UšARÈݲg„in:§YÜ”nfÕú°-Ñ‹Û3–S 4øñ΋g²p=ûû ?¿nTÖá…%ÑÚËX{9ÿã€T7hœÂ¸úûÄkä®ìo-á6켫r“3¥÷‰Àái€*À¿`%üP\Ì"øë-”ÞkQSäâSLor¹”LË*&ñAv{>ƒí¶_OÌ :ÙÉ%Ë0™Un¡æÄÄL[>Œp{;®ÖµŠÿÒ=³ ~õæ]ü8¬³øõÙlg·^84aú¦V9|qÃqoÓù3Te;Kã&”}8S`ï¥CXaæûìZx‰àe0r„m $(Z’7;ÅÛr»ÿBJûØ·¼¤è§*lç'!AÙ\ÄN¯nµ×:¢tBVo€)å×qÓ IÐV¬Ð}WAͧ|ÓeÌmTô‡Ú=ÐŒÙàèfúá{© +endstream endobj 451 0 obj<> endobj 452 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 453 0 obj<>stream +³BêÚ>+RÓvL‹sZ$DÜÂ%6¦v¢"ô€G¹eq·LYÃ}!µ-K[kìa¯ÅT„q¿\Ê͵'X.H„ÌV\ÎÙõwó;à3ínÒÕµL•¬7®Jè›KžtT£úâö»9LUguÕ»®fPòõ™ ^ê<{´3[Þðz5!Í{[ø¬R:i›´GAŠ>=³ Ø7-!:¾C'Ú«™×ª HbyˆØÂ…d|+ñvrnËSH‡ ›œ¼¦j©ç;ƒK¦Ä‚aÈ€¶Öˆ I°d™ùoA…ëê¢bS ÔÃ÷—tÆôSªkú4_ŒUPýuÉM3™ZÎX㟼³º d§+K©j‡ŒS+Âü¯ø>b‘ïjôÍž“ágm¶©¼¬qß>`‘”ÙÖºÉWp8¼%û.A$—,Ï#ë0„`»Û<“Û y±&w ö/Á7`VÌöÈ…€¼‘YV\ÔÒÙ”ÕTŽÿA±ßujA|Xj!¶“®å}–rÁélˆ¯ê?KÚb>Ñùm}!žFKŠ€Å!²>N‚ê(¹óSX:À!†Úré…)ÄdÃ~íâ­¤ašÓ‘nÆ­ToöHæñ»Zðqè/ç|Ab¼ô%®+p8çñÙ-b¤¢ö’þã}NØMÑ‘÷:xYî_0W…tÎí½JaÛYnƒx(uü%kxBì“Çâ‘]R ΕûÅ +ÓP耄r.fM'±D®LÅ”ªÈž÷îúΦ8:¯†oO$>×&‚)M»CìOLˆùJ1½emråüª ÑCÁ¦]ß:Ièk“ÜKä°®øzj2oÒÕ5 "8±Ös¥œmÏ‘×XÚÇþ£ØäØK‚$/7ñ#‹„¡GRÚDÖòº¶'K\À7Ü)ÎfŽ3<ÄMr~ÚàéÇ›:¬ÚÕÝ  tƒ 1ôL7û>”RpÝ2Τñ±I‰G¥Ï|‡ü-íûb"ÔN5­¨áìňfÿ¹u×2ÜErÆYM~i±\OõZ¦)oAÌiâ%$vŸgÉíºbt‡·KØP˜¤mr "9Þ–ÏŠ©eNå*SÅi$%[ >äd•I5E¥L”Þ6´À¢Ë–£…–Ú‘m8ŠUÅ‚>¤¬º PŸ…à Ç‚XÓI¯ŸÜzê)Œ=O•°8®ã çâ[¨èŠJC˜áñ¸:˜ˆCÿZÞIèM‘pÖ¦÷­åä!¸êA9/§¶gõ´õ )úÁâÁJVv¹£×­ƒ’/KÇd‘§ÞX‚U3ºƒt h8Š/ÜÇ®|{ ©.æ¢>ê1”“ÃØP!îâ™·—byÉájí ž«Ã}ˆÐx*Â<‹©öSìS?Ind ù71LTýK‚{˜Ì¤à÷¾($ÁºÓĤ[q.ùᤉéˆI×XÈ]ÐSGÛ6ÖH͆ÍD È'€fá tvåù žÄIÛœ÷pcËór[²r0žòÅ â¡þ·Ѿdi3ú—óU¥'šÜ3½c:NRì‰Q`·ÒmämŽs⠪ʵy{¤Iˆö{¬M`pˆb¥ÙaÞéÆÑèRE{!FÎ1ë¸LµàtÚ®\Hç9!•Ç ÍËvse§/–/d—À2è|ÐYîÝBˆ'´ýbΰ]£S×€6híÊÖ6¹o¢jŒE"ëʤ¼åb¡‹Bž1ø¢Îþ0‘š«ÌHg½_S#æˆnw½´¹©o=—ièég–3¢ëlîÀrŒŒ7ÎÂïÛŸ#6Nûße÷ÂF¿nŠ¼¸nU–Á5àç~ÜH¹ +)âw)Ë3y] ëèÆüv˜O݇µ=òÿ 1è‡ô‰3é +ÑvÓ™iWÒ¤ÅSj`ƒ(# 䤮Ð^YZÈÐ ͨULì*<ý•¡þ¼™í0M^Né`op=?h_eÂÔ“jÁªýЯœÀF‘û›"Ž¤Ói«Üêr`oæu"$æ¾W Ù¹1©“—ºJAÎ!µyS +#½z¼†/~ŸèáÏÞ8Ú[äfKڇɕiä^íÜøv®G@Šÿ@/­˜u•¨©{ 1ÎVÊÜpƒ“+'GC2E)9 '÷b± Îó›Ó9 $ª¼*¢‹ºZ_ý5i¥7?f\›TÛ©Éö³Wq›Íôëbn±_ñË–W9‘µI#LNö°³"Ð7ç¾WúCQ’­kzû¯µ¸[°u7FöNgüZ\¤±ÀÉûW\ddëdë»2Óž?œ"HJ!“SÂ&ùiºüÕzÜׄ})=˜ܶµ"¾MR¾¸n8M}Oy‡—`oÒÖû¹×ÙZïwœF£s + g‡V2èfÔuEq;¼ŽøÓQË &-Ç ¬Bhs{ Èuçc–ñ¢Ã¦pݡʱ2zi,YÏê]$VÇ#ùOOañÛ:aÅï=”Xöf¦;w Ç(H=&ž(pÏ<™ÑŽ¿ž„kÙÃÀôjþYâ> ¯ ÛÌ9ò:å ‚6ÙòðÏ¥Ò¦”Œ.)å\ê/Âb> ºFÎÔM—ò§±€Rýkº÷Ó;sǧa + ´×÷e” I09§ ŸäMEýÃÂT…Eÿ7–O8dÉäÚÔðÞ£€µx^‚¹‘1b0ý"D}ÿË?kÆi ”ƒ¡äƒzTÌ<Ÿðž¿¢=]ü¼•£Zljš5-’Ëük®¼/éí£JêI³½@jEøa¬{šh’í@nÒèãJ½Ln:ÏÞGÞ(þÒÞã¯@Ÿå;“C``ÍÞm¿Ýºc¯ÄŸJmiîàáèNWöt‰)—»`¶…WÔŽtÂó !IqŠ¶w²-fM¥¥SÆò-öèžxï^¯>þ6*ö0Ñ^»–*cÆ&ÊlH*òZßùçÕéFšÒý´k¼!å§`x¹u~”Ðq]bÛ÷æ;HHØÅ!z…N)3 +ä¡\hMÝo`KN§+?Ò¨uŒ$i»&¦£„õ&ª± <œM¶+>Ô%ŸéüŽ½q.Þ0L¡†–ŸKÒàõð1wÖ‡ |#°p€e9²‘!äA…~d*Ì4åEL²¨”Õý€·óŸt&ÖjF5¹Í)í‰g'û«1‘{Ej“ukÎõ±MIAD A#™kTl —Ó„sÃc ¨3G}3ЩúÎÉDI¾FcÁ÷2nm ó×û……6þ#uhT…l'ܾ^5Qo÷U[ÍR?¾-6I²tÃdçô¥ñÌDmƒÎå¡(¯tÍ­­nÝõàˆ½'4÷O%ýâHv€ïaßánO ‹ZG •ªZæô\„‡¦ ª¬ÀÆMzy83¿Ïˆ´¢5hÔ˜6h¡Ê2(ÂthÖ6ó% ZG2É0Hó ŠëFØþ¾€–òÙðó7Š9 4d¤ÏÚEìt:T¢7(#Ó*tú µA#H5tûükÀê?fXVÀj=Œß «åTv݆î$û]¼ˆ_X§eB9–‚/Ññí²Ý¥•a‡«0y©ÒÕÆ“¥²ó¿í^êÝ›ã1yë3¦2ݵžŸ’}›…‘ÌÚþxZ‚“-hñO¼½¦5P p×ç3°¯©‡X9a†• µ Ü¯³²¹Õê ^é%6r U¬’*ÝlÌ=Å­Nžhz/­Qœs7T’éŠ|Ƚ‹’´’WíŒûŽ5›”ŽŽw%¤k}Ü€Vû¹$ |ÉuŽdÏ»îó¦ÏíáÒá¥Ö(ÛÊÐñ=éØ&¶&uå>E" +BìHæZTBsx“€PÀä‘ß²õóF%*/~³×iðRôï=ÉHÐlô*Ø‹—Äz°M4ºoqi?‘Ý®ÕH„mO},ãð"’U¢5Ê›#NŒM8«ÑkÖè˜wìïmg%®ƒ—õ*ˆÚ,yõÄALå.[eÅŠ”¾É6SÐß> º»f1õ·ömqFunðéI(“®êšso[çë #²4GG¥bdvm‰©m'ï|¦+öPaý@IÔ‘#X×9à#ð§ñÄ9ÎÛ~©«×’þ}qô˜Vë„g˜> ;ýöÑ¢oUÆ럭ª ›AöwÚ˜ÙxðÛRÛÛ¬>CT›Oåk½í¹ kÈä\˜P¾g¼"؉¶ŸIœ +;äøÎ)Ú ?%”ŬêÕcg$®äŠ]e©A›ý}â-Ðt]½€£* +0¨æ– °ìÍ"tMGÚN‰_ßV5V"’OE«ý€ˆŠÜ±í<M“Vè~ã> +¥„2™Òšz3<|ÛÙ©ÔŸfiwÆwa½M”š“s_Rý"ß8ó!ÒgÆhQøÎ9©ûG­_Xö³Ã†yÅ/^ýGÅ)ÂQ^‡mÿLç„sýäW&`$O{ܳ]<±`.4´ž$Æhë4c¡;a™s²³­>>I¯+íœ&—a0ÙN&_ø^k*nëj•zºá×å‘iÄ“ûH9N˜d þRN™õè!G®àUþ_ >›­€ \ýJÑ“nóZÚŽÍŒñf‚J±ŒÎl×؈‚DÉEŠJ±µûíNáJJ¦¼ÓWiËp1Yfs&û’Iôÿ¿ƒ7‚ddÒAF»® Í–³PÆé³änýI·}ëèÆG¼\ŸMrÛÀbAÌ<îz•^ë•5°ÄÖÆºÌ › &úC³!Þîj ñ;[:_3B• ·jE½¯`íûË…-´È„løÙÃÁ”Ð{z¦5[yk«ŸÍ~ò¦Â[÷­t™†oÖU”Ðí½šnp¥ÏЇ‡‡ÍflŠ:X«ÏH¼ù7¿ÂO;P‘õSgž¯±MÆÚ[Ð)5Ðkœ×ÂÛ´”~pÓÊâ¶4·=\9ªºýUçÜ©\˜qbž©Ë<^JÖ-aÞ»QzžØ³7Óë4ô¢lB´æ|çL1uU´íÀ_tˆZ8ìÓ©áÔeæû}Hó +E°¯=Kf° ê‰> +endstream endobj 454 0 obj<> endobj 455 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 456 0 obj<>stream + `ØÌCãõ‰ñÔO`, +F›@G²Qò¤P¨‹õ¸oÝY$„¢¦ࢶœ þZqPhqºT oX?°0 ¦-g¬tp&sˆˆ1P.Ð¥|ELˆÉQª€.åkDáÓ”N—PÅ›2Õšü +—L?î€í6ÚòÄ°ÔkÙ™-¬,N +µ24:ºŒ¸ttSÑag xà E’ÃáÛa¯oUÂÙt×\ü±Âb&ÊWh“ÁÓh…'méLÖ5²Ôvü^ãÖƒ’½i€£ÊW™Òáø€RoF Íé=ùDçž×æsé½õ«yb‡qt¡ Uriñ„5R)¶ûE\Yi¤ÄØ[¡K¨[ÏÚÈ2Ö\">Œk®àoD²…¢Ü뜛æ(Œ’°3É|QQyPu‘ p¶?=¯&€óéIlÁš8ŽžNohB:P±%»Ð’DÜ¥h»ÙíÛÂôñêeÆadP£¢½Í{cßG°É­Wò; ¯ + –< +ñèaz(hèßÑûßý6~æðÚ›¢ê-©øï0}0Ø4DòÆaMÊFŽª‘ðé±ø:}®W¦KþÆ{¢iÎÒ¨¥œlófXL{H‹ˆØ…¹7âMK+åxߣ¸÷ÂÔ=l¯M®@¤D'ýˆpé4'lükQZ&óSí?:Ë^¦ „XFKºã†ˆË¿=`œÒ«ùn¸îefe(…ØsKeöË.(yÏZÏ7óe[·–ìšH®Í +½É%ÖõPð…ݤ\(V'Ö¡e0>O4Ùü㜗hJ¹Ö…¡ò5d>Çýš‡RÝ_!‘t±¿²Qcnü«† H8Bßì†ölÄwÇþ¸ñ)§­GR¾Ë¡JÓˤ¿¤k;øj<  3ÖÞ¬Z´Ø˜êå–8i÷m +F¦aPXµ ÃV±»ÈۓŽ +†ÆO!v«Œ=¸#ó15Æ_%Òo×)(êbï Õ‡øa¬ú­ëÑ9CÅF« [I*U•Eàã„´uáŠÜœ:ŸYl.ŽûZãϾ›…AÃYb2ï9ÒPT#¯üïSò+OÎt3ŽØ6àà’?·†$“|~d?ÙJ +d°žù]%µÂç"4ˆÒسÌv aøé&ϫï÷JNžñêYåæ5!JX<ÂéÓÌÑ»Îö6¬»!÷0‰*užm)=Fi¾-:/s¨¸ÅÉ´IÚlrW§{Ÿ§éö6àSΪˆæ¨n•í™Å³c ³¬ÈÀZ‰ëÁÛ1bˆ…ô7‰voðŒ¹ï¢Ç·‹ñµÚ9kpÞÑûWÿaØ |èA°±±"żöJ÷q ~l)ŸËòÅ$æÊfىܯËÄ̈ίžYÂ*žÜóœøãÖ„ da”dT8+ʃÖ÷Þ”V):é<‰Yf&aléDçÞ÷rxu)Úïž¾ys„zRIÎâW•]´S÷(†4ã[‰ràUù/SEUNáÁ“^±ö`mìlMi*Šâʺƒ¡4\ðz“ê³æܧ"D9É”84ùÚCÄîSœ[È÷Ý,=ëú~²ŽŽfµý1åm6=ÀüÜ,µ<Ø,i+”MX±µ$¡;ãzàÝ©ôç™EÚÚëh‚ |¹}ëx˜åPéK%¸ÖF,ób&ÓúUûºjá0ºà2Y¿?&×b9'‡ gc(Ú(ÏhˆôSÒ„OÖIéD~!Àf¹\††á] ÕX)ÄDøÙg÷:W26iÇ’ÈÄ}Â+ndŽBcƸHÆ¥Mñ vÄŸ–IªDä_2öàWNÜ‹Î2¿‰Äç@$ÆÞR†•gŸ÷;“Ù!Ev!;²1O ˆ"nPŸ¡n¡¶œ‰Sü…ú¤ÁøM­¨‹g¼ºÏn‡äHÝ^Žž’-_òµÔÚ.énàf ú^¨q+ã%Ò%!á–xS8QuÁŠd¼Xµ +ÖG÷]‡&¿í†SL­ŽemeÖus8=gƒ· ŠãNy(" ¸žE̓¾Ê9w¥%”ˆÿ˜'ˆŽ»m€ü»×47¼òÝK‚Ý]ˆ™z2Yû?` Nœ›ê㡾)‰ñûáû»;KCDˆöñ%âTnEGË+>Ov(áU6ªj·êî„Ãêþy줡 ½‹.uÆ´Žƒ/N@yîÇ_•D˽h? DNw‹Ú²ß4Á³/V¾ÅûÇŸyÁfáŽÃöáÍ&é¯ÎÀ TÜx8?{ª(yÖéÖ¥¬÷(œMD›×ìЛY¸•1ZH½ãÆ™3WmÅÚD*å”8M˜¼8àÐ ò+UKjAàÙˆ4»8=ÅÅ¿"Ûb¡) aèf@jíÍð¤jiÇÐ;íV”0eÞàVäS ˜ãtÌ £4¿¥üqÿaˆå•'1I*ØñÇcV>h@ tw­x+ðù»JÚ½ïZ[U—ê¿ñTÕ0+o^ÜŸ8gJ%·èï,Bt>!5,ƒ`iØҞݻOÀ|†_Q¿qG?[4S1Autþä¶F—ó!&'ÍÛ»\FÈpE +±DxL•l¾Ïmåæ3 ´è:ýVÃœŽmSgL£ë˜ËÁŒÚⶄ´=Kz”œ³r»bæU¿V/‹9c!Žû|¨ š*3èMöÓšÒè¿vÕ¯>r„f¦Š‚zÿžv'LæZ'Lö>ë/ôÖãqöKà {‡U'9‹êëÎT…’™ÚBm+‹ÝV‘©©Nò[³‚HÏRHëèJ{î†JäÞÝ7üÛ¶¦Eòû>V`=”ž¹ê•\‹ ɇk¼ý³N.Àn”frûáp†fÇpØt=k=H>N’¢ãðy"•=ÈÙb§Ñ¸ ª¿´cJ nJpFDï^‡îB!Vfð‹Â•q䣸q|k߬˜µ†œÐW-‚ËHÃLü‹)®¯ü~A$eq§ëQÛ˜} ˜³ââÀy¨Úp…~¹'öRˆ)@£y±àGVX˜ð¨ÏOp#õÿ^¹ 8Ќ٤8å*x€ÆnïÕ)¼G”¹»ò¸uß>&EÍ£yâ2T€ÐD†Ít&”†ýº±wu)ÄÒÙƒ<–¼JãÜó7ÎÁÜ4«^v+æ=œbZò›L¼µWÆË÷K´8kuv`£hœéŸtÓ©h_ ÅO¥à»€.µxi²{ŽÛ˜¬0"m‹œ]ŸRt?°cóÏnSBØÂãR‹8%7ºúÆ×ùÇÒK÷õØ-×.ùAôób)² Ü‹Añ¢¦Œõ×} ù¥ör_Æ^‹8æ÷ç«þ·éW•Ó öˆ+cƒ™Ð‚c +n?¾<ŸÑº©œ=˜*U!d…’×ØÝ>="â‘¡²7 +Àá +Š|Á²ÑÎú'Eqÿh‚™´,¦“K4Duù±h£[Ø´)N*a”‘K5íð¥B`'&2“2u:àwdÌ?NÞrˆ–ŽÂíMÁ +{F²>œvFmØسÇa:ä»gÓNÙÐîvîÕ=K¦xœÇ/—:J­vÙóüÜj¦}—@rhiÔîQ)¢|.Yvç&øò®ÂŽïw53|ÿr a)õð¯ÖÚDaZñã4º4ÆI·ÿòëfÿ›ŸfüV1^ÞD:wM3!ý@gùI%gÒˆÚ£LùKOßtHf‰Þ:Çb’6@»}BF&`%L•Hä†zÙ‰™L!×êüÊ* + +F.š9z½—b‰ÆÃöÊ1‡Eºæ¬ßC!XÐÄÂÌVbÙL€,ÚöÛE¥lï»-n1ôyDÚ©ò[Ä×¼|À¾¨>ºVâ¤_ÈæSħ„??Œx2Â9Vé@.FBÙºGdvîTص±aÞdäVf+„ƒY¯ ™R¯×Ë—þÍ•œñá¿¿ä ‡¤‹ÈòìÅé&òhãùu‡“aEtíœ U/ñÛ¤–;VHT¿ÿB§FëôÆI4ÍÙù ؉د¤«$¿i–Ïqô—¼G5ú œ€§ÖÝÌnÍ° é‡ÄãòEi;E*iKÐ×W¯<ýDÁô4BËæ×°˜Ó4_€ ° ÑÉ#RddÞ%S+ñ·×upqMû®ÉjUÄ›Yeìé={Wä?WÑ"³BQOp³ÚZö”‡åoEdšò!¸”Cu0 +endstream endobj 457 0 obj<> endobj 458 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 459 0 obj<>stream +ŒXÔüL¿ED¿r7-)C›àÏ×íßáàV>‹¢7ßGNõM|H¶j¯9IPÖ4žÉ·s1­ÊC´Ù|X>¼©Ç¦Þêݱxë%[8u\Ul©Ðޚюg¬¨I‹[Ÿ°yl—è׎0ϳaÏáóx'ÕâËë5vÚûJÃPt€‰èì¹Î˃áz¼“6c&ؼ–øï/t+Û{¬TE{ÞÓµvêäE¾ßG¢Ó¾‰ˆ2`Ö5tÞ a:Êq€ýÄw “êþu*»AXÈ„ÔëÐí'~ÆÑj0– 9 OÀ„8©¿&#OBêÌÈJš^Å"n#îaÀ-vHÆ5«¸£MÒ÷¼`¦0U¤¿·Ö¬ãnÅ”û¯^Û@%HéÞ»í!ÛË¥¢5Ñ·:üÃùÀÎíLx)jSGõªÅ­;ÓÒn¢ëÄ +ÛÖîát]ï®K¶"»ý75¨Öv cȪÝû!âUfß÷óC±”8mûRf—›E§¤ŒW£}ÜŠâCÔDäèQ»Þ»íîBòG±4áÞG›„*Å= h…r÷K’A£›îäilJ‡•}™Q=Ð$°rfS„8'ÉTܲö^pþÚÌ™L)åž‘ ¿S%g²,ëÛÜpjß•ÞÁZè‚ÇÌfë@°Àêé–N·ˆÏÓTßâU¢®³ç‰~ý¡PO4eTàÈoOBo×Ô;D½óÐÇ9yˆÓsœ´EsÙqÇÙPìÁñ ßÔ¤®Û2®Ÿ¬[ŠÝôÁ²3X ‚Ï©Ãcò”¸ºfÅ~ªï4§p'§ñ2¡à€Œ®÷5ŠtEt:onæ +UJY©ó¢p3Å°{Òd!bâ2Ì…¥ä Œ1ö¨n§GßCîbòqŒñ³¾æÛµú‚ßGü1ƒUt©kê•"´ø!Ò:@¦h‹·´µ<ûh`2b„‹Sx…‰1ÕáKN—ïYA>…­B)Ü– }q›ž_„ r¶lW$Æ'[»Ú;"böép©Ÿ Dˆ*¶÷À©.%îQ5vïÁÝrÞþX¶âÒ’8ù“vQÀÜÈe XâŒhçè„·ŸàÌtk±-­5Qk¯Y*;nQÅê·®Ô<_g(Ö 3¸X#%‘·ô3Qb©˜¸ºO@“Uµmƒ6^ÓPœCLèÔÈ“I…ÞC2³ëz¤Øž+ˆM¾÷½ð¡»’/•{ˆÖÈ»#$ªÓz€¢ñHЂ}”&ý0‡ ‡^È?Þ$¥ ¬«™ïØ€‹«J;õV&`èªoÄøЗNwY™ýÑ€,sŽ²'kè·Í®´ý %~ÅFLf'Ê{DÆ©ydGs 2jKŠ"«DУJÅ`&5Rœr½Âù+Ììè BÙ,˜róÒº73ÕiS{oÒ‰:¾$uHÅ49q5Ò¬û#t~p%5¬îFÊPп\½¡¼_× â>.ðÒ Þs"zL* [2œ¢æ;N%÷ædH49k0]ÇFº3¶ÕRîÛ’ÏÙ0|( … ÷8ÿtq² ÁÒøüÍÇÍ>0À8˜nDFƒ5ò 7’rYsLÊõ$DêÝêx±Nß­®Âívõqd{цUS²Cdd‡[ÝH;‡›<#¾l{¬ûò’qq²á kØ«µ~D«t#;F"Ì4…òH–J^lÂdÚÓ®-Ö\%\*k_H²lÚÐ!÷žÇûvÂÂGÿ§,ãìVӶȑmˆ¯&È1¸h;#üÑ]–V¨rÁˆj?Û÷¦{Jƒ%°’w[Å‘iÈA(#JÎU¸‚¸Ä4…½ï4ÅÉÝoQ{ÊûgÓKÕÝîÿJ*‹N6jêfB6AMgšE˜{ìâm„.ßL +¾R'’bñ6‚±'ôEÜëgíÖ|[²a‚è»DXdƒ3÷uQ_ã[”– Ÿ3‰•Š-ìXLÊ}V]€úÏÖ²Š^~?!ï×Ãöa`IçM Ôó/‰0·‘eQ¢×ñih„7Äô›á‰ÖºZùü€NõvYü$ð®O’G§Ék· ó@?ªåœ‹H³%ÿ¢Ž«",Ñ<Œ9‰À· wŠæ±ûÎD…„XßÒ†ˆJMArd&8çÁý^P)z­õÇíþ‘RJƒ+-³fÉK’¹oªÕ>køw(—·åJ‚C‚0‘s™ÝÒtu´è‹+Óí×¹Iz>Àã¹!zš‘4Òêv0f· Ÿ'Ê}^$0ú +)5Î?Ió(ÔŸá˜ß˜ó<¡Í„pdƇ J{Šÿ¤Tx™Áy‰3VRõx¯‰³ ˆt—ÞH62¸@b.¿$(ZâµQG*wÇSRLJ¥*zÕ-"§ãNŽC'"Ð7„õ‚¥S:­Ïœblë0èc.?è+¹×9‘-@S-ÆÐó¾4k h½i«|\@Â9’Ĩ8¶G’ J<ªô©Ü!‘ã§<‹?³4KI@²,=¿é«…,.Í MŽ’U…Ãq³é¬kÁâDnO„q5ŒÖQV#‘VvÕ½…V‘Š Õi;A½x0®½w‚LlÔåXÝ +ò¹V®ö=r¨#É?Iü~ZŠT¥w…Kj„¾‹%yL9ƒ¤t €B â&=@U¾'¥¸GÖÕÚß\z÷͉9¥ãɸÛâ’%PØ_† Y‚;º; œ·ÛÅœNs="Kø|«Å¢ó2nµ¤hX³7ïÚEÛÂT0 >D.“Ïë¢CJbŒc÷yhBW'5Òɤ=ΙF¸xò=“¸MöZeM¯kp +0 E­¶Y)ߎ€áo‡¤Î•¢È:Eäëz¯ú; ã\A}æM~*€š‡î@A~ðÛx‹qï¼–¬Š_µ¡ÉI1›D”’@ɶY’ÊÓ›2Zø¼ô{õð|Z= 3±YÛo;ªŒ?šõ³£’WøE=P>wvë×Ç°þ6™XËrA£ìEŽP÷[sp.꽡Õê’Jˆ€yíÚSʲ +ý¦ʆé@CJ]˜âg¯[èÉþæ,2ÓÿüJ{=GÜÂ#°£8fÅøÁdù»XŸ¶G‡¶vm‰ÏÑÂÊ í|=lÑ.ïKþàI§k§éØéË~0‚*^ðßØéM ^Œ®…ĈËå•æCòŸ‰ZÒnÒH(‰í…ßú›d»Ê%öh|¡?¾s•õ¸_©±*ÄŸ:·ïŸÞ+ì;P#‚ðéG¥[ÊVš âûfT¾²ÍØ°p3¨Õý%%”Èr"ÍÏ·3îŠh p¹ ÑOm±)^Ò'B°8(eaÙ> endobj 461 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 462 0 obj<>stream +¡N}A3û±²{¼}„1‡ n!Í1TŽ°­’šß¿~þDPʉo¬‚Nˆ´§îÛ—¥à:Þ™ƒf(&`ÿGåfC!¹Q„S31òÐl€^ß Ô´fíÓF x«Eq»3 w@"MÖ¶®ë-ùK—›ƒóžDס\%:–BgŽ‘£Å‚ê¯y Õœ¡ÐM"æ½Ã!yU(qmQ;OCñL'±[¶íÏ/”µo½¸¡’åÿÑ™àë©c—òœOz ùÆÓ“· 7‹ÅkS™xö—ì¼C¿ãÙÈÍØËõ«º•sÕ’Rñ³mu°BŸ?þ WB¿ø½¹àžGáU’_»…”šÍT¶w E[ëã뀠ÚöïØÏ€EoΠ æŽ-~²Þ e~ëžkÆÙ¨ø¼2²Õ#~7‰ºct6U\ëQ^ û4mçW| EO@mŸO€;äEq ÊSÛkC<0Ô¹’«öš/x€£\3©ÚAÿoño]Å`8 ü3ÿî¤1à®”4¥ÃKûo£ý*¾kþK¬»} +Ä»­,­]ˆÀv ̤í "[ÀC^äÓÕA, h\îÉ3ÙVõ0!»r’8ĉ3ñ  ˜¢Þ§wòÊ4‰fö*L/!4ûUµT¦ÁNÈ,²n´âù²@ 02'Ñ@oÔi÷ëèãÐC³ÎTúf6¸zWYK¥jR,ö™è—lhã30º~تõŸ¸Â6{»ý“¡†pY÷ÑjÞSŠ3U±ÈE/®³–;W¼mö^üÿc²–uMX"ñ+'¢­fZGHž?†³k éb…0žF¡SkÖø•Ÿ™ˆHæA*3È\úïb…¶¶œ’]Õt‹>²ÇÑÆ®ò%ç‚ –ò"·¹¾˜‡aôïϤ~v™7ðtµößÈf…±¸!¤,ãÿ¬±wý!ÅΗû}ˆS^. +¨/[µÖƒÀ³Ç’Ga\ñP&”• -ë¹™$<ýnÌÿðÁásñ-sö@¡›C²„ýfÉ™²ÿhF¶Z¾jèÊ +á€âø­øØ'mòÑ£“¹záåI(^JìnëÀ@BrÍW÷«©õ‘ßÍ]ÊT˜Dçc¼!ÃäÔf¾~Vûô_-ËžœhÍh‘¬>ZEÁÒز\­I´…F›½Ï"ò°¯bЫYËWG°$Lm‘+›SíV‚åÚ•¨C ¯Îó÷aö‡ý£÷cO‘â¿l¢PÃì;¦˜á­ß¯„Ž‘Á˜.Èyב~гr2žÞ‘ˆ;ªk^^© 6æB`Îó‹ÒnNSê^ÙÕÄ=!öŒ‚©dnÍ´v}„nƒÜ0c¬xúÑ·Ä»vÐè`o¿Öªòð˜|dýd¦ÍížR1=¾cq=ÇîW“€€ç ̇“bðŠµOÃuyž8Øõ¤USvÃëÁç"…>×xËQ#å$œÒ2þÔiÙúã-8!Xáó!½¾/Ýœ-ýù €.xo"ô1ÎøÀÏtoGx;:÷Øj"©NÉgÃgRž¥egòŒ±:5Lå×&¨“G¡TNÅ*ù7cŒH:*¤Ù<äHÈãâ +Ûƒ˜±ˆ¤ ‚ŸU&Ï„—J#MŒí\x,ßrºÂTLëÜ¡Va0ع>/j {.sÇQÙ&ëÁ£G$NˆöÀ\Õب0ý~<jÚ À’$ÑLéÉ.­#o|¥àËo…T·–åvƒ‹ò¸d“W›Tr}d;H&Oµ>dqÀBiGs]¶ÑÏÎD7dˆ˜'3}Bý° Wn~tPÆßb& Ïñ)˪ àô ¹oVäà#Þ5gûÞæWäIåú1VCìòœS&¸.Ûít%×Ò ª¿uæv£i³…hE™Á¿`wx“i¬ƒ’ÊÕ¶ÀZi¬àá!kJ<Åñ1Ý1Ù“çnC’yÜ@ßÉßÞC©-ã¬ÿ`¸Hâ™ï7 d"kbª-ÿÆÁ0ý‰hb õ¢tÜõuë6¼6@U|>E w vÖ›ñ‚!?ìWפ/,\stay–ùŸ¿¾O·`ê­m`DæFÀá $‡ðMÑIж±à +õ¨K¸½+ì*TTÙþ«Ýˆs<>qlo-äLı2þ¼Ý9Àwø)“ŽéˆŒCês ÅÈ“¿w+Ú£HÖOs +/ÿȘ¾ŒmÅèŠÑ.çD±1R™0,Ò|úTe\¼bÞ¼Þ“!;€£<ù=/ÞiÉùfÜp³§ÄºÓ:0-™xI—Z÷\ƒ ÕRïÂïì`Äùø“O}«2…‰>_÷Å0‘ψú…ÿ”4tRƒå9dž¥ Ü«[yi;=”ЈýHDbÊðñp> Ýhºuã ²=ÅÀé±µ±ƒ*áYÀ¿;€pÚñ1>5YÞž<­©PV8Q\sí߉÷†²çÕ‘†5Ü*.BÃÉ5>á2Г2¸$~ +)œ^ Œº*Sõ«Û'2Ø,L-G;çA†Ìÿ­&B‡œŽõ¢5Ô'û.YßIYxijÖ^}cE‹h”¸ºKŒÝ}ta²³(£–ë˜×ÊÑôYÂEËÊ5æ:ñ±$%“NyΓ{ZtÌg «C›ÚjóI’Šb°ÚòNñ´ó;<˜G’¼.ÿ+V=·N Òï°;-h÷7£)Æ8ævú–ß!Î(²Ö­_¥›¼f_7¾Fȱ$ ^ÁŠ |PnÀÖŠmÄ<%Uã]ÀBåB«¿µô˜´søxÃoÀ½ÞZ ÀyhÉΓ§þA¬ IÛk~Þ©ï@SÍ2ZŠÙíHd$µëê•Ë~ Çóˆãþ-þUîÑè‹d~B·d:1l·‹&Êxn/Q°doŒÛ+‚íJÄ:gG— %ØûÙ7N¦«ÁúnâPÑ‚ø½÷<~3XòÎÄÔq'¼mÄ3Ú¿B2RÕ¹îÑb¶oÄeÖQAsQ0ª5 +{.«ˆ½öü@ÖåTWkÕ +k]þÒL[ÎYÀµU›Ÿ  DanJWÿ¹Y©¢ÆJœÎi~bœ÷”¿” ´ŒŒÇÔæ0ÛŸ4å€áò£žœå,:x”·²è Y!ZÎP UV + Æ=6ã¹ ˆ8&–Ѿuêj û9ÏÑ°8¼z"ë¾d=Tì}QWŠÜ¯@Ì‚iq¦R‹ Ü`’¨ñm’m€Œý”ƒ@ùô´yê›%fUöì¬ÔY£¸RÉq—$sS“ Æ¥Vy {”Šg‹+ÁééÿÔ_[¬Ab’ËCV©0’R6WlÊ/Ã[Ùþñ©©¥ã×Gíÿ({ ÖÊÎÏo# kßÜZ3Ù Þñ&+fb+*•% wg|½‰8µk¢G¹×°~ £"¸-¹*[i {øN»A<0ª 𗆺%’€p2¥Ôb‰b^¼©<ß›†#'Oµ?ï‘% GÝ6%£rFžQm€Y(^ô9$¡ž„AB¸ØFâ¸TÞ–¬]kÀ—ýÀý +'PEæØ_(ö)­Yüm6¥rƒÁâO‚@:H™Ù³ˆ(i„Áv¾,=œ -¹è¯jZÏ&ש\ü]×Ñó2d›< ÿÎ`›×ŠÎÕùë·k¡‡{:a4ýX2ï¹/¬¦äÑíXr²e«~Á%gù]ÎêN°+¤~JÐÝ!W¯fêåäÁi¾jÁîàs-Ée’Ó3«¯`¸·Oq¨ÙŠçë¡ž0U!yäS0(=&¢Îd€ïqâU>†dA6GÇPÅ8âg5µmίðL'u—Fë]IjeõÙð‚Éei²xOè¥oƒ\†Ò, ]NHŵ’!Î1¼M Ùdv&Þ÷ñ¼ø‹T³iïC"výÓOD ¼›ŽÅ •…-í`ŠìÛö +‰ `:ÂyqgÓhæ$ž¾ï'•ÆoaC”å1êUT“Pª8^¥ûœ odLdàû3 ßÿËõü\Òõ?m&¬aV5¨³ÏhØ)Šö¨}ŹXÝjç­q±\(]£]Ð%`]Î#Aêv¦.J.aÃÖ”ˆVÚË‘P­dA^)ùó@Æ#­ƒ™_zyAÕ^ ØŠ^bé˜ãÅö6,¨­3Wä#ˆ®7Ý$ÔþÓÝê{É|V£`y!_7HåõØ·þò§doEŠ¹A$4ñr¸ÖÿÊ 1VE‰® ?º¡X#ë ¸, ïÏR} ñÞå¾4W¹˜UÑ­MF–üá—˜í¡P·õøŽ ³Ñ1áNž²b Ìsý|Rè~Fý +˜– ,Ÿ»ŽÉ4 ²YéSª{nTÀ%” +u…IhF> *slwÅ‹)ä×sä\1Ð~v ÿŒøȬŸ¸ôjmîú®®qÓûS¼•- üþ£sH ñ6|ô"|°~ùÜÁÍs%¢¨œÜ"’VâóuÃp4•Y=˜tzí„7Ñ}Ô—¨SÄ'Ã,]Û!Ó.ÊCGlapÖ™‚±ˆ™þªÐ2LŽQêɘá]þa¢ÏFÛßbÐà\$uÃâÔÆlÞ·¤°?lu9Þ8éé.2›ˆÚI夷yü\×ë9¬[ô‹xí_lüa“ò‡î«´½@Kàšà=pN÷¾ýTƒ`¬é¦êëWߺ¹WÝ»D9šœVž(§Êm‹N.ê©—L²LàáÅûÇ¥Œc“ð÷óvËNé-"ì6ãòXÇN‚^ÑgÓعºMLxI~#}‘ØAþåŒXÀ©w˜èÚ^)Æ*!$Ùf²ù·ªà›)vÏ“ü÷çEýØÖŽF…ß&‚èî}ºübg…1Iúœñü–hHèäõ41„Á,[UÖ3]˜ïOs˜£ŸÊ¬¨÷à +:·´Œþ†»I‹©ÕˆÓTy¾ÆÌy-» Õ Ž¿SNÎaüôÚº‡ßx)WSöªö¯è³ m©ÚZðþ!wW©0¹'<'EVç31¾Gð™¢|måeæÓT;l} ‹]ã¾1Dš {0P‰¾†ë8 ¿c^ô,mÀ‘Ž»UŸ 4ÿ°o¥ö>-^…©Á'n±‘:äûÒ  ˆlô·dÁ:¾††$Æ·šý}bI 8”…¬í£û|üò]›Àç}c`3ÆH4Plâ3‚ñ{æFÿ…G–Ì2~”Q‡V)3Ñ{1ÑžÒ”Ý]ïi8W? +.ÃÒËDwý¬fªw¯¬A1D³½4IJ¶|Ríƒ?qÝ&ý¸áOx\¿gÉ[”a°fò‹ å‹F;tÅSZ¬;Ηޙ;ý¦!;€IóNµ<¡^ß7I%D*4Å«‘ɺ-o(”þ¸’NvŸ Ua;HZN7t_MSAõ†¸¤Èžn­K*¥ûËö%»gÞ0õ¯öi€Bw£ØXGÄQøé÷”~Nú‹Ó²„Þï¯ën¼F”ˆO”»üR—zíGA@…"6OéÕ¡þ±.ûEå·Š{£fÜZ,FW±>œQÚãºoÚ½Ô0_Wv„#ú ´{ͬ÷ëtzÓ*ÁüqéEÛØý¾Ñ³bšØJÜîõŸ^˜¤„|7óï:äüúTqDT­g…5¹X™Ï:ß^º=ADÌÓ˜¶.X‰`¤Túb:‹áâÕcê†P—Ú +ª%ø?ÒTymB‚Rzjéª"ñMÂ÷¸áœú £|þ?Å¢Üóßfà§2PqQ£ˆü²ß˜ 4Ä5?(Pì™Ðó ¡2†¼ë·ø'0M½ôÂNtƒD3üÚƪ‡h²dB-nߪ2ö‘¤Y®ûž„¾ž‹tÞˆ%Ÿ´^úU0LM×­šÆ!X`‹S†ì¤½ØÃ$k4åO8“ÒŸ®Ò-~GÆ‚|†Üõ‹)ƒûüÐ'ÂÞ„·?ûkl1óGú5ÃÞô#¬œ:*¢'æ³^Ó.R(Dø¹YÏ”jåc±éŽ×³Ç=Hª@»<·iÖ\;I¼´½BÆqøåD°èsª^â"áòÁ”’½ þ°÷ÅX¸‡k=Èȶ¸ÑckÊ„5ë8nœ7 ·ÓíxÎ}M1Øš +âÑŸƒŸ—;8 ;¤+ÊáÎØ`Êþ=´^ôlv-$(‚IÔÐÍRZ÷ÇÄ"ï*Œæ>èÉÕ˜pØòtºs2_L°àgù ‚ëˆó2oŠ2ÆÞg¾qh"b ¦µ2ø±v²@ØèÀš‚a¦wìð„=Yø=ì‚É|*®[àKßW¯U1㹸ÌÍRÇt€ kXnß²‹$ŠvФЭIÔeUÊ“EëHú¿øzäòT-f«‰(d8ÊjNžQE´=ÉDð”LBxå%<˜j)þü·åÿ» ÙálÍ£6ÎÎF®¾jâéê úøü­Ë@JªÐBü-„á|/‘gÈÔË]ýûL"þ …© çT_P¶Ø9Fe2ìð« +endstream endobj 463 0 obj<> endobj 464 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 465 0 obj<>stream +º2·™v«¶hùü¥.z=HŸÐ³§•Ü6·ß(ð¡®DQñ'/’NÄUeîe6íJ™ñÈAnÀO…èÄ%M: ÖåÔ$÷F þTu5—z­Iâ†÷µ8Ž7`;kÈDÚñ¶ã¦Ò“!‚RÔ¶2à3¬˜§F*öEBI>ÿ¸;PÜà&Bª‚³«Œ@Ìa‡ºÔ½ÃÌ”Bˆ;?‹1{[sKü¸}—Eð(×ŬÏmV‘pÕõˆ•ÈgúF%}ÔQcŠZ6–xt˜®Kõy„<Ñ[ùOzí[½öDQS|jì©èÒHàHçÞºtb\lÉ`^W;ï7ÂfÏãøun +ÔxAT‡^NxcŽ\§ïEA_ÊT™h¯Y%¥Gr–ËTœL °bG™'”\¥767ÑÁ[KGxˆ>:s³Xê5^ì€ÊèMLÓ!—DÑUŠ³·&%%àIÖ®ÒÍß+TýdLÏ‹ÙZ—íq2îÖG¿êëE§ÝO¬Kk³zý|ÛI6‹·a Yô÷˳ý) „ë×Þ®¦védûŸ‡ +´eÓp’á‰m ¬ïÐ<âûÌ»®å"t2QËŒœ¨È…?ˆs$cÿê¡4?¯wVƒaÙ×wz8îš‚s²2…9S[ —Ud»‰/ñ™JBz0¯Œ³´<Å»ƒ%RŽ§9×ýž·í†×M~l=ZcòdDåózáð\× QÆTОôéq—è—ãÍcõ¢ö°<±ˆtC‡EЂæ%ªƒM<½…ÊØú°ªݺómö|=Y|ÀZ2+#'L~‡†ÚMç£ÏœÇ#&Å°n# “ppÀ‚m ®’XKeÍ^úßœHÄ{¬qÇ5£p»±Búý†ß0W8É€&~Àoa=µì³f‚L(°Â×GQÓVFÙ\"gOjGÁ·Säyæ.W/6ìâŒ<½´Ôï”fëò“¨DŒsÂ…‘=¯Å>'µ’–w÷*ÒÇþqÜnÑOαOZ¹U *Øx˪¦âÆ#pŒÃSÉ‚Z}= W×9ø@ˆvx¡~µ½ìš›ŠõõS׃‹¾¨¥ +pÌÏ©zàPÉסIMu¿ÉÉ@ßFÇTéÂlí†1ë­[ɺE ~‹àC´ª_1ÇMÙÙ•ÑoH€%7!Ê‚Õ°Y€šì/*è?·ð©N’W!ÓôONÉÿvùSÀ¡ª•FîYü¶T(&ÒèŸNþ¨qxW9´è9LZ.È¿¦ÖÅ”]ìÂc€Dàb•¢„l?s!KŠ?Œ£èmÔ£Âf%•sªæmEBäîÅ‘»DÉ•é}Ãøz7„¢þã·{À¦1ñŒ_¼b¶-•Rê«Fî`!¨˜ÛuN»8ßÄl”œ/.]Lk¯K·ó„˜½7qŽœ\È»J¼rUx¼r·Þ'qCÞ¬À×a"Žë ™[‰]:š2Ä#šð1R€ÐP+œ +é’úµ! ˆüï"LJçlÒy€Õyð|>Òê!©¥ ÌvÆؤør‡®ü¯Gâ p3,•Ùíó_ÐâÙv]©ŠŽìöÆ·L k´€èJ[-bdû$Oë°Îñèb†Ç×äï÷Jg»áÀý=¦>ÎIXg ˆš•9TUsTž´ Ð4 +vòÚ3»[¢CGæV:vVjÏn÷)Þé eQhÉgo¿$zlª±îw=ß63@­!øÇ3‰ Áèä²’€Ò²<Ø!ïˆç'‰ÔâB%SêðFÿÙ©9Û½Ùa\–(Ñ©œ§ç4ÿÇ,oŠ<êÀÃï[r€™5Ÿ,Aµ’ŒD $SQHî +¨ –j[t‘^·h-ÈŠ“R+ ôå=ÀÝ­Û'ŸNø–J¶yéi‚ìQè3³ ý8|>˜ÂÍ¿Èë %aße'ùtyœ¢ Š‡²4ï4%6dùåê `ACDŠq[¡Áà“!l_n„üäÃG)Á0ª³¶ö$ÖØ¡aBD%=ñÕ 2O 5ÉÙߊÎK¨Ð?x£<&[ ‚«œ®uQe‘=YªÉ<‰«ÉŠä%Ž’$`O <‡/öäâñ}ïo' 'Ó€Ý(÷Õ‘“â € Ê “»ʲ:¬bauaWØ4`ŒE—0é +¯ó¶ò Ç÷áþôQƒà»ÒYˆò»°·´#|,OsçÅ镇Ïo×ÊÕŸ5ÛÀ 3ÝŠ ù ÖZÀ–Œ¤.S–#yâÀ…)9„5¢u4^oŸŸ®AèM#ËïCè³N•¶ãr“IÕŒ!ƒ/»×„à(BÌùŒ¦24b…?çrZ’¯° ë+£J1ÓÌj›=›“æúÁÃâÇZÜ™nG³]5tg–x¡]HX×¥ú¯:ÈùéAIÔƲyö‘ ÉTm¥òàj®¥º”À”tÔ +ƒ2øéMƃê;uB æÃI‹ä&¨ÍÜ”]°m–¸pÈ—ãhK +ˆ,+²‹[‡CˆÒŠK·ïØL@U VÐô¿7PÏoþù±¿¯Šm¸pâ»aÍÜP«¡XÕæ¡7jê¨Ø]Tü¬Éä®%­û0/žagi h.Ñ'ƒ—I Ÿò ðÑ­QÏ$-10r0€Rå“ÇÏþÂo6¼møæhR–®Ï_cyŸ("ût9/`ÿ4´hXåž÷Sw<á^Vq1‹?0Ülï¸ uêØÛ\~(ƒ Af·jñAt û-áê£0¤—c¿MºÓê¹&FÖu’kâvndÅQs4¥!õÁ—²gW¨h…±$Ï UÿŸè«Òú½b=½ÓPWPê—1î»NTý²Ñ:°+qQR–¶ŠÐþ°_>å¿™ÓÒòw ×ÕŒaÏú?`âw|QgÀ @“ÕÆ!Œ†¥LxóyܘP¢KÏ<Ý(`ƒåw#ý¬Qßvû·Q+º¨:‡0­ºÎýŽ° ³çìóšÂû©·1Øb§cj†*5W›âÆñ YV'Ø‹Ï—Š©uúÓ⸨ )Nöÿÿ~pcUO/pT{FÞÑô3o4÷©Tæç´{¯] LÜj@”Z^CÒìu&clEdM¯J¹7x”.ä};5,‘Ü…㊇§ï©ªëH’®Êä. È#8v0ÏXkägª³Q^Æýì]é!á”kd«Ëˆ{1Ò2y§õÙËŸõî–âá‡{Ì0ÎøÐ1, G©N”;TªX"渼E(®£æn W{!-RèWã@ ²R«züÄå×£¶MÈX®Æ„¤ oçæ?y²:š!>K>MKI¶›¨ÐúL¿"ñùãÎcár/Íý"€¥(“Ïzs‹í¾ÖÖu¥ýý¬öJ¢ûã+ØSî%„‰˜*8UóBûû_ú­½áã*‹…yvs+á©`V¦ç4Ì«â<ãôC.|.§è·§ˆãÌêØ%>ÂÚ{I#Ïh=è‹›0:33“QÉæZÓòNq…ćl¦&«4rtª×®y¢Ù•ÑæDĉg擲ÚÔ9¼ôŒ=¯_µŠ»ýÓ‚r/„ÆîQ‘G]x2Ë&¨äÚŽðQå×Çq;ß,žR7–Ų²$ŠrÏ š"Ñé¥cÌm›ŽšF¸TE£ŒÄæwD™ C˜À% ÷ zK€4Q}‚ùˆð±œñþè- <î“bz+¼á5Fì€ò®..„Ýô"Óàf`.ƒ-ó7‡p¸²×ÄL¶Â<«? 'Jw >÷ôæø3ßÅöV¦ÌÆ%B>¿à´úÁ~vøÃ(¾N¯;2´ÀÎ68?óäRYî­Kú‹¤Š¯³.4Š¨ÕQ ¯I(Œ_¶š`:(ò¤üÂÄ&©œTPB ®fO6X¸ÙÛ1±ðªM›6Ù^›V’¤BUSxaöFZʆȾ;áWS˜¾ƒÚÌvfiPµ¢|ÇH¾­Ó£i®´ú%Cµ°Y2êÆNðܘ{ B~ÿò1¯dX–0Gj])-›öuh²>ÆånÙ®>tç{gœX”˜T6››^Ø>MÀ6ÌȘJP8-Ù-±éÆ +×mˆ²œ¬“ +ÙéGÃirŸïï-.Ë–eŠÐÔ™©Vo EÀꨑøÑñ‰=˜ó­"à îèZÉw—¦lt,æX8tj@R?Ž"³ÈÂKŒI<©ß-ͼ;Ü4*³ædŶܶÙÔ¤:òm6•ß ìµ]™µ½¨¿‘ “FŸ:AÊMS +¿Ð àÒwÈ»âK«M¸‹5ääWbY˜ü¶1|[ÅØ’aÁˆu&Ž‹Ç¤¾Xt3æ©Z®”E³ÃL€1 ¯¯4-1»–“&M$tŒþºGÐåîü}KdØý-øð _}î¶3?1ë° mÚ/wzfIñå™t„}èâEÌñ_;Ü+¸n‹ +Vu¿Zx)Tý3­/ Ö…ìljHy½ùm¿&ô¿L 2h¿ý`A¼OVMŽÐŸ 9E+dݼ2¬I +CU¼œq˜WPWUV•ê¶Ù‚È5o²cvM[qÀW™Ÿ3G¢V#Zj5LØ] íjxP L`ÔÎÀ¶€OçÀˆÉ=Ý–šÐíl”ǨZÊ‘À6à/z0º*Ú°½íâ¡8i"ýì|ÈÙ4‹†i+ b›>i½ÁïŒÂji¢fÌé¤çztäZ#·}PŠäÖÉ‘¶_á–RîÏÏ|·¾î°RzQÇn¢P¦„Ø#Œ>ð7ÆξÚÂî=Šü¢ò¦¨&ËN‚#ÒÚ~˜q!¬n;’§m,Ì–ßÿB—LZ˜@üJÉ°7…\UX +'WbQ8­Àç` +E6Ö™º5 c1èe`áÑìÔ¥9't¬ƒpw™AFN«©‹5¤›«_ã9ü“Y›£‘ò|>ç2Ÿ—”Í{­Î˜ Õ°díúôíFý¨ ‹r|€ûæàÄž[+Î`>åªE9JÊM·,O‡oWÿ\Êm5´"6²Ñ²:4¨³ÿªî ô¿¤C/1;NG).ߤìMÂÝYËØŒ4¼!ˆ¯À­Ë7eKû.M?ˆñút)øÜ$:zjˆÈPlà½rºU}hhBX”R|ýÝÜfuŠÐ ki·X8£Iþ¼¥ %¤âsâ p¤ý€` ijUuöÈÜGÃ,'=­ÂÚš:/:9üµ!!wW™˜üï0<Ïl»†eX[YAÃhÎÅòr óâöGr×"7mV§$6ÏLxT³;µçÛµ²àðÑŒÐÀ–×[x«Ü©çª‘i¨~Äè–e[%ÎÄ·fÒåN©Ï‰`1¦:ûpÈxƒ~•HL¹Ç/ƒb6×ÈOAö¯g)–Y”͹lÊÜÇq9…¸À®þaÚ-Í“ì6_ò(€°×áÛs­ÊIÂsæ5-Ùª6r+4tÉ"ß~Ml“úÂôî”?>dö¬³×w£þGJÞåÖ•æÃ[(eýÅîçÓ¡ìw-û2µmÙ½xœ2H?¥üØÔ'† ¹âåú4‘ôd-/J¢"$ö6ÑæH˜ iY)ÎFt¡TŠËU|Ÿ8òñ‚R65 ª½ •œí“Q+—$O˜Ú=.|¡FƒÃ[¬©ÞQßJ6~)Yã̤DÔ´’¥¼ó +±,›àg{r° e~Úͬq-Sn’E:¨¤ÈÍâzÁ;Ä&¶a—™sÇçê² ÿÒEMDz,­ÆÖÅU±í{îG˜í˜5Ï™`ÚŸ7ÆPý‚Ài˜½AŽ(ÿʲ¦5è¬+Í’ºóbˆd£C~TÄ($¯Ó?JÒÎákœû¨{Þ +Z§ª÷ô:ňØ`ᵄÆ%¡6¹1GdˆnGÌ5}‹p7ñ¸¥†°<1 <ósÄØ­ÑY¢[Lˆ+LžBö¦ZÁ)Ùœt‚tŽ0:2çt‰Ð„ +ýTKE +å¸ø”è°8£’-Õ†¯t ;hÞÖTnÌ6àìékÓi%ìÛ•d1‘©¢ÒBéh»íWt=ñ³²^V`Ì‚õR,6’•,bÅä»/9îáŠÉô;H”­qŸ¦SÂßàndTÞE†ÙZG´û'F†·¦C¾öª]+PWd$|µ6¢Â¢r•¸€7ë?Ì»5¸ðÍs™çWÀØêDo‡SV®ã2wÆ¥’èPú®9‰ïa£w[¤¬n +–”$õ§åA‡xŸˆ/<Ûÿ¿ƒcPqàà>ŒwHv‰5DICÙÈEðã¬Õ€hÜIèá«oQÓÃ`òˆ¥Lç(é÷IÓ<í…T/ƒ1ÒN‹ô +΀âúæV‡™XX/é5'ÒL$ÆÁaõª6Bò€û bS-gÜ)‰¼í­‡fV¸&gb}=bMÍY:¤ž¥#Ò-ŠÛÁYÐdØv<ÐþsׄZÙkF0•6¿ B7šXÜE¨ ŠPwÐ3Ûl[}-pÓ +T«Ž:™Ml3¯2娊îÔ˜v`oITéûc»Áʨy~¾Æ´á½ƒôúD“5ÇÈŒHªt›-š¹ųþ’4†>4ÑõM”yò¯Î„a?&{¨‹ª¸&è²£œ…ßÄžÕ¢Š”-žôsEíl‘hà)·¤:'°ˆÿAˆaAN¼÷&‰)Ì#óRggäk»uGî¿ +¬•ÜD\RK­ƒŠó›«´D™*k»Åv¢ª(X‚Ë&«uWÏ 9xdáú«`V×Z0§÷„¾Øõ/ÄköõèêÇÛÈÖ+ ΂i.†›v×"˾âžÉ éR…šõk¸3z­I´ÌxÐ*-[Œú»þ§'@çËVë‡Ê.¼ÙÕc·AؽØJôÚNþ’Lbù»€Æ$Â2GËÍQ#.n`i¬ÊýÐvv4?ªv™Úáb4Rž /ø­­;úØÑ.³dÉøúSHd>4ˬe­H½uÃð¬µé BxÞùc4hÏÆ£"É +€E)¥3æ†S‘QGïI:“¿ˆ¸™ï'ñ¶c6ýtv3ìã2½^Ùÿê¡×´½xÅh0·ÍŒ! Ï›l·W)H“}Ù +óÕ(O4З6›̤æ¾ÓŽòŠhs ²aü$½}wÛ~ò·3æ"LÉ_¶¯SÖQN7ÉQz…Ð[vô6Œ‹È£‰À^÷Á‰€ ⫪^Rw‹Ýï¾U d w/µ!‘~²Ê¢bñ„Æš™7Ê àÁç:¹O¯Ü©Ù%Ýî€À~] z'IÆŠ„Aׂ !0d¤é{ ;sS»V,û-å°CAE¾çYæEø†=xñLÍ®V(®´×°Nø¬Gçšx¼  \’gâ>•.Ô,tÕLJ3úúñÙjçŸÆþYkÐ/ŸœŸ$*èô­ËDZ"·è-Á[„AéÆX’Íq¹Ê:­,·” `ÞÒ1ã0…¸}9}Ckìgï +k +Ph¢”«HàdOýˆÛJ¦‚%üôÁ±‹ÏÓÏÖ± + +endstream endobj 466 0 obj<> endobj 467 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 468 0 obj<>stream +zp+Y^"¨Ò^eê[ÊS·ö|”s4ô"‰ÃjÅì;„¼yf”`.b­ å|€…Á[×rÜÑõYô”º ¥~ÌÙl¸1ÛZŠC#Qï+uáxô˜Aî°È°åHi 訑È ã‹»j®ü=dFDEXÊT(!Á¶SïÆÏfbo¨åïÔGÒ[ãV¾fYçb +x^gùzxn†Î;奾GωèÑà ‚åUʼn‡;iqÈUÕ[_íãÛ°z ¡+H°Ø M¤™á¡| wuíJ˜„ Âk®•–[hìí8S^•È%ÿexÀ½t£ë¥¹ᆚ8'î?´¥ð&óo¦8å$8R£Ìk­D#³7Úôƒ/Š¹=4X‰–tóÊ)¾ÅXÇTÙ‘wìËp•þ0*2[§ÄD‘GÆCv÷€5¦ÃgtV¦µûZ])|yøÁˆ¼—üç„Ò?íæÕèÔÏÁA@%¬¿q”Ëé›°ÈA¬·;xV”ÿK¹IÃÛ!Ê3¡‰úoõ‘½o’˵< &.ŒÈëE.]Ñ=†…œ†ñ{ ûtÃwÉ$9êû…}¤Ø§0!cp…œ"7›Þ‡=­„H­›5ƒÓ* \7ÕÑGÇí†aûˆø€bÁñ˜àö;¡gôŒ’Œ D:d/°( ;°éèõÃq·½þǬ£)û#g&'A±Æ;k4Ÿn$zÓ‹+!uþþô:òfþêQÚ†¡#.Ts[PF|sñDÊ65ØúâY²@£ŸÐ^TŠ +œibjvðšÉÇb™n¤.¬û©ã“åÕsî˜>±sxïä¸ý×ÝÃòÑhaÇž•Æçä:ç7ö^ƒÈ»Âp/cØnÌksuªPü¥7àÑ«Øfý|øІ=é,}UI5èàk`~¹ïæé” .Ð6'îW¦OkdþØf08_ÁÆA™ŽÃJ]Çn$V¹Ä†(ßD¤Ü¡:½Ùع(n@£ ˜[™{ëWÈçÆ KDñ[¿¤§ñiò³évÅëYëÀ¼p†”{°YFðªX¸¶ö—ˆç£dB¬"`÷òß&ù ÒéÑyÄŒKçê9pÿt0ÆãT2ýZ§Ú]SŒ¼!Nô`£0µÇ%£Õ>nU¯EßÜ] |´.ÖOÄ[Û)Ô©Ôœ#³.(Qݵ{cŠx­ŒFö¡»´" ¨~lªƒÓ!ÉöS:KžÓPéF ®°5À¶\×E[#i?XÀäي̈Yè‰ÝÁ܇‰RÑäW×Ô‘÷ T!§T6ÌÿÚ“­™µ³«éµ _¬ûŽ^0ìЉ —ѽÎð°„Cºç3S®¹”òº‡¾’ŒyXneáÚjÔðëêâñ'2<#þ¨SíOõŒãЯ]r~r9ƒN„{á¼µ‡Ï„Ë{ørÙú:­_͸Q].ui\UüÅò\ê ±»Y}¬‹ŒGµãÿJë)Á„¹Oäl‰ÌËñûà½ÈûŽ&áA•_ûQñ“µ)›//™ªV4úòL­(Ôµj-£ÜÅÔŽ¯€ƒZ ¤KêY-ÏæÐöõ.4¾ Ý!HF…ï܃/ýZ ãË¿Õscâ1à!ÂÀZà„’”@Ÿx†aÃvÌ"Z*z&à‰‹Å¨n;Džœ•&àØဥԼ.™ž—ö&üŸÊñk(ï´f4ú¤ÉªN r5ö0,f¯–™•fÔÈ ˆÅ` <"¶];"û?q·vÜlù±ÜûÈ/W¥?˜¼Qh÷Öù»sòsdnkÞÍÑ+ì#P<¦ù?þ¶cãìÿËÆÖ€ÑsšóÌ>™[8ËÉ;Ž™8€”´_ûLKõh£ËMת©y½ü÷X\'ú¤¼øèžœIoûBîøë´¶ÃS….sølÈ'rYM² g3Ã(\÷/Õ™3W¤ d Œ_ùcNS9C‰™"“'=ŽŸq’oúwç^Ï¥«õÊqí(Ú /â§ç¬o +­ÿcóf‡+=A)®ÃZò?*‚wMפL„õÏÌ{œž›ãúKÂî¬NhE_:wn„tÏó²JþbUú󄦼Ø$LŒX•gÏZ`l;²€¦ØªÉÎÞhVÖ€ÀgfçD*üéÖ +ÚXÏšWÓTXúG*žûò¿Ólh&\U¤Ì™™èþž$mí 'U%#«½KKÁˆ°V;ÑÂûW•ö>ay÷Å÷¬ÿfŸ‘˜ Vy—Fb€ãï½Ñ­Iý*ƒc$ÈWtu“TÓ¿Û,ö)Š¿ы⛂©tOÙ̶ï@²ºc)öj/Y±É ¢Áñàã5?ÑãµmþÙíhâ•—¼=|Æ óEÊ$ +½ZV,dÑ„ÄT_«†éÛÉøjU^±Ar>AOµÅ °oŽow*‡¸‰Æ˜íÊtSç–´Þ.³¯ú¸‡B·Ñ¼+OV•bS?ÿé—rÈk:G q!JI]4ý§ò÷„~ ððõM>—à3áÌ…FÜwWý¿RëJ‰£d—)Tæ ³|k#UV/".—x]H§Ó†a·ÒçV™ç1ƒQ];ÿ_ú>µ©C÷&¾RàOUžöjöˆ(Že·akº ïO¿£¾!0ä+úH”¼Mu¨£’MÒgEÜFºŸëÔMeˆï0 '|Žc¼ + üÔ,9ÈqݾÑ6g‚ [>æ3,X¡ã"3`¿]?¿Ü ÚÌ]í e¤j{0e©ibܾ4æîìz9’\›U_ äå¹Ùi¹ÜzLÞÛ÷„´cF%ùcë¸Sý«L®±Ù#8/ù¤ÍÅòe_ùHhû&Àfnè¯Â²è‡^:;G –^·ZãvŽbb¸xš52ÒÝdz b%”¥† +d0ž^t©2çXˆcÛ\:X‚:&‹è­þTsOûME£wÂ+•ïæŽRßtc9;Û8„Óawú𢛪ÊVØ-eÞ`‰)«—÷×ä ž@$$ZN? Ñ·´–¦¥›XŠò­“Ò3YÕˆHÅl®?¶÷†°óoósÓ ÿuÃïT[“÷Â]'þ$KŠ½Ëi*Ïe‚©ŠyxÐgAb=¥­ô,"‰9ƒØûþ=l1öZyùfXó{€åy¸eaÑžÚÿ<:% ¸Å;WèfôŠ!Á£?8åõeâãÁ•TžÉÀ9Yà^ÝAkºŠ÷ñ;`WQ âY莭j¥´eÕÿ .„÷”Þ|чµXŸÊ–k+UeRšÿc\+‰;½ÃðIä2¯m;2 ®.¸¶Š›áKŸ? ¡Ð'ÜMÜãéaJDnIÅ–‘D‹Ó†Áµ«(Åglç^0ÏÆóÍ*ßW +Ë,æçžÝáãøU¶å@p’î˜J5O'G¢P\amèÌ’„°„ŸHJ^žN¨,•]HaÞVÎN’êc0昞’kÄ—Lš0P¹ª_Þâ=’¾”<vpÞZWÐ +­sÙ'£5ÑÆ~ðÒït~³0MX^Rî?â/ðÒ©Ök[íÏ~;x691¹Tœ£c0[d·B1b²¦ +]l{hÄ.¨I*t;øÁ6Ç‹L·Ûæ…[Q*µþ.´Nº<‡»ôõ¸JˆdÞÄÂľœÉËï¬S *ä‘c]?b< `1à§Ú éÃ|œ,g!ÿR¶éÒ0*¨ŽÌœvÂY>[NªË‚®Ä•äÈ#ÏÿJ³Qy%¿þ)”¿˜\[ü¾ßàó¬˜s#Ä‹¡¬qSpC–é•{lªtáN,o˜ô€6¬2º6­S;™0€Ãbá¸ßE®5mn{M¥·öc½°õ•Q|Ϻè|º—œ¯ÁJ$èñV)q„ùÿ Ús5Ã(áçÚÙ"Pë¨fªâ°iQà罎G£r,Érü°:Î?`„ +§òÔé§7N®îkOèYͪ^Fð?>έ)?†Ä5^. áŽOÿ•Ç¹¶àȉ$—±&ˆl:t:~÷ß!I+3Š#DRó <“az–À”Ÿ{ÁÈ;Y¤ØÄyn@.êTbŸC³îœXÔ’z¾vgÓò’82%´ØÝ÷‰f-µù³¢ô>ÊÛÚü?õ3㟯¬¥ðò¥:Ò‚»ðÑðE.¥Å‚ÛÐëwzÀùG˳ølÝA¬΀HÌ]ûÇ™‘µ§Çô-ÿúìÿ"<e^‹âÌ WÄ}Ò®k)’ÔG‘&S:,sIS±1ùág¨KÒk ܨ vi(òDØ 3c‰x½ Ó®Ÿ ŒÎô渇4´V÷!F8ç:Q¤÷„ñm!Ó¡9Ÿ¯­sI˜X„_¡‘ï0ØwA$AÞ.‡Qæ%ÓéÈøMŠ[/¶5H~Ä—?ŒÅÌ÷÷9ªºÂ òðÆ(ôzÒ̱ÿüø1Ÿ®‡Š¢gÆùã-}‡M +pñx/çñP]™3XÆ;÷`Δ(.ÜëSîg=rA‚Œ¡Q»o#«TÁ]ËLa8Ù6>Æ‚UõÈ4Û«‚ + †&Œõ¦³!aú<^òæå•xù^I+«Óê^{}ÿ?/Þ;¾íG¿*ÛçÙ~œ"òßw®n~õhµ1o3:8ÍM[Ôÿ©XÌ1.8‰dv"áùÛYÀI2ÅÎ…YXäÈ…Ù3X£u1¡“Ü]TN£ˆ–U`»¯üDÆãÒzs‹œ< ©ˆ¬iQ絤vW<Ò>üÎøÅA[VfF\ö7h‰é±5Š©U^ g†®t9\}›­«¡>QR#_bFЂ’ƒuËùÚçï1B>­:°ªÐú¹Œø›œ¹1 üäÅÍ؈øûh¶¢ï“–¨›ñ+@åW÷Eš×]ý\V„ö]#6áÔª…Ã÷tó#ØÇ„5&=;gÃöKE£¨|) ]>%õGâ€TqrP>Š ÙËxx +àé³ûP~‰Tye±‚ÊÁ}¬Ü6“쇾ʭtG³ÔÖ”ÄÆÿÄd¶zS·Þ×5rt“ÑÎöXøÐÆÂRION‡®Û CR v';Y܇:$DNÙ¦Ž¤Ð[øZ¿z­Ð]õ×sÃÑ©¼…ðÿY=æ꙲ʩÓUÁ-¥32›§-¢í{ô¥üóBàÓµšç:¬¥+G-Y¤È”gÚ¯ˆ Ì¡ª£Cf•U…ÎiÅõå|©º0jðˆ,šŸÃ…+®~R¬Ð¬mÜ.|7eîýŒmó‚”´ã/$â.£ÿ- h‚|YÒϬ¯Áfѽ Û§QE[¿å«1À®?¢GõÞ×ù²qÍ‘ËêÿBWÀ $qØÐó§±1y\à…wõi5˜ôì¹Ê¼%u…!•Ì¢Päµ-9· +éá µŠß ©è)qÌ´ < Å‚vz€=Ànš½ßËR%`¥ýÊXÈÈ$$ü•…ï®?[¡¾ò…@ÉKÝ¥ÛßtÐ< ›yÛÝqÛ±ãhKµE£¦—y÷è4áŠ*gSüÕß©Œ›‡gz¸gì0¶¸œ‚¼Ç=ûŠ(3ƨ|Ö½pì±Ø0êoÓ ǯ'Löñ€0ý†]¶&Åý…×öxOÿȆ ØçqÐUñ› éfËÂJ„¡CÐÊ7b¤­kÞqà(á¦!ËÙm}‚´@/O§ ©4ßpôÀúz*šÁX"qÝbÁ (Ù$"²ý=9©ðbÏõþé¯Ì¢œ„q°z:«D÷‰éÀáÑŽÖ܇'‰ÜDf¢Ž^ÎF8Â%ðæ&]?‘ +0—Òã­Gj±¬…y4Dó´°ˆ§Zé3r–$ÍÐ<ÚòªÄnžaÎœ[êw§a³ŽÅZJëçÎ ËE’šî¤±¦2tbÁÒøúÛÇÃ}Ta r¡²ýsìØ`>þHëƒzßœZi´rvØLǧ׽µ‡qy/Ç|¯äÆbž_e¨&…Óoéwƒ ‹5o”Ø¸ïš +é(lj†ŸÞÔÌáÖÿªd¨N ~¡,É^H±¨Ý4pE–~9A†„øï°E AȲ9=„7¾ÄïÄòEFåÎY\²‘x£Zÿ¯½7ÈBNüœ>±2Ü̈^æNÁÐ(|øl8 zN±·†ØqÁ<°ô‰¥+qxì!øÝéê7vˆ»f6’åw~ILZkÛ ±áœûžÐ \¬»÷‘/f¯\Ý‚Qþ_µd†GÖøh²Rš +’ïF¼í ²ÕÐgñbêëÅ':÷-þ B6ŽQFmœ1’ 0+è8c 2ƒRÅ„Õ6œö`‘æåîscDÖvç¤Ò¯ÅÑ[Ì„äZ +„–ôB 8q,t2Ù”e’Á‰o´;^ÉÄÖÖK?7u»çE—²/°ÁðFàia¹Šzd´ø˜±ù8è—€ˆ&˜ítåý†ÁöYBê]*9dá·êzàbÞZs ªÒäæ‚Kãs@ç<ã‰$é¾åb¨Þl ³µOô}T‹­¸­Êd*}üËVGq2!Xz,’Ÿà~$'D‡ œOƒ¿›œÔ[4%¶©Ë!Tð]Ai#ù‘|¯3—rûô5Æ—q/zH¾zÑŸ~"® Üop + W¤í +!GXäP4Ãm^ºÇ© +à áj1¢‚8 °WêÑý*ÄëÅ‹ü.K±I…¤2,“`9 ¦uúÌÛ¢._ë¿+ŸupE¯h»ŸÁÇן +*öfˆS¬BœzÓÏô“£ê+1È5³ìø +¨×"Ƨk €åœ”uŠ¦®_Iƒá¹`Õ6ëÒîP`Ç#>go„‰]’×j¦ ó[VI ¯-…âÒc^,6¹Ù‡ÁÛ„/„­ ¤7žmîv²-ÚRS$ ÄgsGîæ—o[ ظ‚[’Ž-²ž¦Ê4# ˜•ÄVuóFïîã³+³Êë7§‡àLŽÙ„‹"†~†% +endstream endobj 469 0 obj<> endobj 470 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 471 0 obj<>stream +zúšl gz+*€…µÅÀäÇwyóðó{õœ˜”Þ‡XRlwLÁˆfL™_Ág1¬¥@%¦urÖ©1f+ó3Fä>Ó KUR¥{û^ëöˆq ÖØB-yTB>¡=¢Æ|f‡,ð2@hnuóTpTÖÚj5Åè“vŸËmFñ 扄…cyZ,c€ÁîëÍ2ëiT(™E® «”@Œ«’G4óSÄ'7/ÄIkœ„%ß½Rt{hU×ùz®y&ù ášá‰žßÎíc‡›¢ñ{pIðª·=&LÎpV¹¡3Ýù*%­X‚0-ÄV,»Œºvú7Ê&¶Nà:ðfêTGÖ·ÎVå^ÊÑqkn½» ¡‡¬1: y5»ážÈdo.‡î ìÆ·áºõhJ0 ö>T®€:+9HÔYäSô?Jø +Z¿Ü¬ªå;1š™‹$@QtDc›¾sHŒ5ŒÒͧ­b+¬ýƳQr£+Nñõ81ƒX´¢VÀÑUÖÿÃvB†v²ÌÂB ‘öâh‚ª¤º5Sõ5?3áaÌ)m~¨J¸²jÛ·þù˜Û0݉jOìý›aŸÍbæ +{,e&¿ü'ÃpÙÛ +©Õ.Xo ÅL[„•|Ôˆæ«ãÉÏ}~ç:Á«<2®z\zfu¥¾1žò ’*'(D“ úÛåw4d9±6e&”–ºÆ¡H[ü+U|h%¬ßïÓ`…ñ +ú0¨4®>ê¤ =Iäh8TêVʯ)ªA(ý¶…cÿ,¿áN¤§m'Ö´Þœo`KºæóGYÑÙ—›Óña>ÂÎÝ)¸i›mƒ¶X"2-[åAE3S¼Nn¼‰…îE^Á 3áC£A\dn;iC§ÊŽ­ð_h™œ#„1É-y™zÔ:xN/Pñ6‰%bÑHÑ¢2}l:em{ò÷ÙÝlí +A¸»"NÃlæªn47(Ø ‘,é´z[‰‰ëDv˨û£g<à~ë„ðqþÕL„"6˜îN½žÏž8“ø²`–€{ÁÀoÿT)…˜á©`zTƒÁ\š-Êa¾ O9ÈNÃXÁYxSƒ¸#>BRmzÌuðÁºÂy'yçí‰I¢mÔŽÆò¼ÆŠ–êµdþšâ+ yì:„QßSôÿÓhL2ΚSþ¬"ÀÊôy—åX·õ?— 1$ÜÕØä”È6WÕÑ8‰hž-w®~Sð : +¿®˜â0ZôPÀj°ÉágPö™¿>«wŽaèäp„¬™TêÈ*ÕEãü­iò¡ãó¶c¼`y‚-:§*Îî²Ö–o¥æ8Ô[â0ýŸ^(ºé\½äH“š¹Ç ÏC‚²'ú›¯aG?TT-ŒYAqÜèŒ_ÈÔGËû˜kÈ·xš„ˆšñ(T'›ƒÏ³¬XËÎýãT ˆ44 +˜žwyÛ¿4ÿ— Ò´…@w3_Ar÷ÆaܶØØ(Ò8^“é’¶Ã3éÇÇ=':‰èŸ8´}¼FÐ)éclyåy9+ÄÞ~ˆà4€“l‚J¸hGÄ´³Pž‰¸ˆ¡ºDÊÒNáümsr×\ãsÁ¶hï+ôÓrç>ÔPÅgtEÁ|ëH¹n€²NÓêÄ$FœùFG ïQ#ˆ¹.Ë2ØjÁpi“_öÊýÖK¡—|«@'"(„Þ¦„>=Š÷ ì1ý4‹Œü +jCú»HN™¾\š3ãñ¹8®´ê§Ó:À܃ͮ"Ž[³³Oêw¼·Ä%&¤…PöGÑíµ­_AóÈÊ]›p™Ò |Í|ݨFŽ”Ÿ°¿üß»÷£©Á§ß±Ô•žÇ¯£FƒÇ.ÚÝܸíBZ…É&?• ŠŠ8ºóI¢gü¾ ʉŒÕk8†«j ò_¯Gýòâ~llóxcua‚n•–g”8IÞ>Õ<åéBÇ= s-{¤¿í¦ü;cÓ nü½˜…¾p?ÌWñ_ž–™ ‰Ø…)Ñg7„E(‰îV¸hߘÜ^éÉé<&ìÇþfšÅvIó¬ÖÔ1Q׈óÁõM|S ê ¸æ$È.;¿sá[s˜ÁRëî²%œL>ÇΈÌìŒv’î/»N·÷)3{QôÈ;‹!oxßf­–^È| ânôE¥ Ðà^sÁ–øÛjn²UGTm0˜¥\£pþ¶BZâøKç[»YXÉ1ͳ3›wî,ˆ7Ý-ßr";}ZðjEýïl„ƒýÐûPǘ²÷wÒF`Š¬ÿ§Èõ4Î˹vìôÚé»èp·"ÿÔ nZÞ6Qk/ÕÉïR±É^mƒy%5 ™‰‡#RrIgÁm"'Üà £7t2øÆè*8Ž<.¿Û +endstream endobj 472 0 obj<> endobj 473 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 474 0 obj<>stream +¾…ü­yû³Y6¾“ý¸´áòZ¡ÎdÈ[˜—ï¿Ã&Ú]•0 +6!Å,ÎÑv¨ˆÊ¦ôñîþóÙVÛ«÷Nå%ÓNõ:éPˆ!²\ôƒ'´ôˆH[#è7兒а.ÀB-B¾÷BV†B®(„§ þ,’ügì$ëDWÕaôƒ –‘Ž‰-Z»£-Ÿ WÕD$µ-…ªÈá˜MˆÝÛÔszÈ •W¿ó>ŒjLüÇ'Ò†õìäkÌ|£ÿÂéXrñ@úÞ¸‹zuÇ”œ}™ësÆoÙ*艣AÅ•¬HUÿM¤‡ À^º¤Ž¿ˆ¯¨_Èu»fÂ8NïgºšDÁB=˜=§q!Ǩ¸FœÀÅGK=† +ÿ“ªf_§˜¹)Ä_®Ô…ÕþÉ^ëê}Uœþcø0ýÝi¤ôL|ϯTûÑc4*ÍS["~à\u]=¥lŒë¥…1û2¨4<ù¡™X¢Ð +~ß±\’#í>“Çi°þæ)m![è à&VWzþoäqÙ…hEÏ ~¸ïåwžHw¢R鲺:›¾œxþ'Ê[Lõ&-­BÂhËå+lÄ×"C,)`F‰w€pÞ'cšGÍ£Ò.… Ö\=´¥§m^ƒH­ßïá;L2lýÒüº|ؤØÚ  óð…Äl'ÈË%ùÒ‡R¸£³1y½Ý4ÖOÌH?­÷19E_ÐQç¹¢EÂo¸#^n˜ƒ¶²¿S"‡½eTï·+|è·Àõí·ÚWP¥å 2è/±<ËtJ©ISÏçta!¸HW½¼ƒ•^[ š?€'—ygÆö2}b0åËÏPs÷ø¹Ð`¿£e¬¹hw@×›™v¼õñ›R뢨ĺT²h’½*:›èãe +@‚Ì¥q‚1âê¼Ö7ËHBÉò§„¹12n|'f°C"âQ^*ÇeN]¯Rs?}A8þòÁY¤E&;oÛÉvóíÕ0µÎFÈÂú6#ɨ¡Õο4QÎý°„ˆÏ Bsçìµû&){ô´Ü€î¢þ êô ýdü3-î™î!3௪$ôœŠDsÌdÜþ,iB+$d`ƒÍj‹Ëк@OAë,B\ó®zm:Ö*ϸç—Ò°æçæ$ag]ãIw:𚻣,ñD®¥ŒÃ¸¦ª0ÑžÒ©æ¡ Õ[—ãÂ6Ê ßûýôi†·ÆV{M‚öš,žy• 7d(·C’äTQe½éÌå² »ø³Vå~aa†63’[îu÷*Fá¯kÕ9L}j¨¸“ËX•ü~^ÅB²%6è +ÃÝg ŒÃÀ¿Ú%†€Èwx´¿P0>üÂï­PˆÍ•¹RnÔ1Õ¸+¡c‡¾%=6Aúm Ý™aPjĵRg%ÖÆd*·{× 49 Gc©5DizE}Œ©íÿé$` ÔÑǽ®µ`°²mN^Ê·M}2<ÿÛCÓÕÖ¢Ó ÖÇ ‚D*ª¬ç2•õò9¯®Ãg¡ìw«n %pä»’®n$ÊÆÆI ²þ¨aÀå¤#ñr§G‰õ5Í® Š†wŽ*ªcim%Ì%^ÀŸu¨»÷ê‰biÚŸBÊ9qR©é®S­‰]OÆêõÞ"^Îð;]fB¨Ñ±%ÚB/PäNJV5…;Ž‚ÿºaOÜÅÜž®°†ØT†§µ× ª³¢yŸAÁlfâ"‘+xã ¦ç´b}„TsFwpÏ]kk³ÊV ®ºp ÿ‚ÿ%.GK%l&\g©||^ÿ¼kWk”ž~F@Št"Ñþÿ胆ˆ®Zøžë“m(XŒm9á¨Z5ÔÍ«|žŽ†%ùë/ßV½é®0e w +ž.›7LmGeÃ^=> ÆØØúØ={®‚\iÞ˜,è;„nLu¢ÒíFcÝ“° JÍ'ݯ)ÊBûšÁ&à3Fþ·Oã'‚C¦"Œæñ‡œ’˜Dg~`¨p: +ºAßtrÚ¸»,¯{“;±õƒ?‘/̉†ÍÌ<µºàÖÂÞnâB|Ñ¥ÉFlUÃÄ5uYog6žš½$Æâ>î vËÞ QÄçü9þÑò8Ž'§Ç»¼g¾@è/…)ŒðöÞÂÞx`ã´dÄMæÌ­ ô®fíNdeÜUOç# ù_þº%Îྭ%™ @ƒ«á­ox€Àÿؘj „ÅwÙQ`—#%Ò+‹}¯¯}#»±Öo]>å‘îr1@”ro²/7›RâTUí/äýÒAšfZT+hÝÜÖz| |L­8½Ñ#îáîo”BkXT«ÀB×ü¶èZ†·kNµ…͈§¸r·‰ývÂx7ŠfêG¬òYïÍ´·ë8Ž©ë3 jEs¸o”±Ýþ‹´ NæMÜägThv¬ Âó:ºgNÅr0íæS”üE,æ¸wáÌ Ée0´à|Ø|”m2˜¦l»* m~q[.¹çZ®]L\³Ë[wÇ ù²úCåøüpÃF¾ª ” ·û1;`!C¨}t¯"¬KY«ÀšèWM#¼RùÿÕDÆ,½‚À“èÐÝsû LGee›ïd‡Nd‚}éXä1ݱ2&Yf +>‘y’*„¥=ü`á˜Èý]v®Ü[äo% qwA€Ò…ãÿÈ u`òý¿-†–UÇúªÁòº9’º œÒÝ÷ÃðPs­pB?£^?f¬á˜Ÿ™ Wì> ³!™h:sP$ „¹´Òr°7ÓÙ7;XÖ@¥ ¹¨™Þ[CíLé‘M ›¶> ö~l våžO‡|S‘ +}•}ª°Dn»’=‰4d£­z>Ì8í¥«nS›òêæËã¬Ë*y’åkÐυ׈ʪrò½°§uñÁAàS'²#²º0Í"«_pXÿ+]S'¢Ÿ­†ÖÙ 2”$ôßˉJE ì¡ÚÛÈ/òS8†pn;™‹¿èUMiÞÕA!¨Ó¼â!ÄWƒF³Ô‹ŸO±L‡ ]½}|é÷IÏa<_`¡iܱÛäÓ+”änŒƒo›×>bó8GtP깤Ú8:D?صû¼1Ò¦ué‰lcÀ4¿°á”_ÏK?ˆ8i + +õC‰*j¤§ÿm¢Ådf¦X1ÉdtÊEÃÍVÁI8}|æ$y­Äç +/›&ÉðÄwm3y‚z¥Pµò›+Šõˆo”{Àm€rF²g~ˆìzô+o36w\ª|AUC'•÷¹¥ìã4]&Ff]SS“!8½èfÚîè¨mߴɛœ^ôÝXŸ¥R[wÚ¡í‰ ¦•bÝ,+Äc úŒ?‹ØŒqåù=¶ŒcæSP^+Ž‘t6¡¾eI!™)NqtØ®¾Nœ\qlo®É§Ãd9ÔRé«Câb¯„øú™žÜX¥™ ÕCJ‘½UeµB2.€zrrb‡+ï{7òZѽÔTàF£ê85±÷±–týY©ÑÙXŸÎPG¡+?B¨óÎÌ,ËÀHsøªæØ—5cF‚^¦}C8 4ü#ZÛDÐÑ„©í„’æ‰:˜RÓ(˜šÒ>l«õTͤk;Ñx÷ ê<¦ êgäíz¨o!|Q¹MßÆo«†öAéR©°~š­•­ìb´Iï¾{ð4Áµ›Œ^žjÇÆp”¾àÙAn¸1XR1-, !»£ú"RÑòB™Æ‡§*(­-v|£H†©ku‹[‚7zä—>i”œÆw¤ô\žR8ž7­… ëCt@‹Ôzcúçü¯¨ùÞ‘f)`ÎW`‰&hdfz—4ùºÔVLn,÷yâ r p¿<{ +¾²…«‘;Gák%«C7W==°EÿYcIbߧ\Úœwåò ' ÚÏBÅܹ…][Ÿ|=CÏýi,ðúW{8ôNþ}• ~‘—¨lo^9…£DxÉ•¿Ž<õ;×è”Q™×¸M*¸ÕS@ƽ6c]3ÿyè ß!räfáÄÁ›¦b+h› +ìGÇ·€EØ,qµžº9Æ’ +±s¶rž¾ä<~}ò@_ʽ2—¢nÁ*T¬ÒÅ·E•gNje’ãóL矾Ê@õ$Fêî¢ 0{ŽñîaªÐ™> endobj 476 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 477 0 obj<>stream +¼C6Itˆ}46ÒaC‹}¦•b'îÍ£òäÛsª­§^ORâùMû’Øöý,¿‘æ§U§^Àu þîýÊx>hZ^< &‡|ñZÀµl>ÎñŠ’Ý£ÓéCFÅ] yP?oØéFŸC›zýëLÛ§<‘×’ ,™â‹£ÄšÜ?˜$c‹#¦`^2¶ˆÐ”&ÔømGnÿ`žûG»ªºTJµ ·‚5]ÎÈõ¸Ë〮:5²æµû¶6%Ò_on¨Qiø ¸EF¡¿!ë„šX¦>°ÈÊ¢ã‹ÑŠ¥Ÿê2éû(Æ¡ ¡^q»Mª$™$“ +"‹Ds|Ìž b¡^¼™ùGqÊßÐŽuíÑ·ßɔ¶Xyy…ƒ˜}‡hÿ£GþÜ]Ê:Ý!©îlòÛë¡Dž0KÚ°ù‰Û¶7¡Å±ø,LÁ ¯uuë• D¤Šˆí©.FœÀ<Äs¬À¯1ë72òí™ °NWRÈ¡š*o>CtQ?¸YÕí=ÅQ¾'uº(n£ÐÍE#¯] [׆a•¡%=;fªöÎ0Û3CeXñØ"œ`ÁQ.3·?Ô +¿ß¼ÎAJY(Šô³÷,YcÆa ±è_„™—6e”B/Ô”v%@ý2t¾Å "†þ’ž7ŒÑÚ|›Z®"ðq“ª,ãÆBJbnØä²%†ÌÕ2¦XƒAl’¡ÇÑ¢Å|2æºYpDÞ¶vÍÔ«°í8ûû‰‘ s‹¥&ÀÃ!ïH‡RHÓìSfeN­aÉ JR¤Žü  x@‘´ƒ.ûSò‚|üë:]Oоúß,Ó·Êm¬¬$]–®[5Ô@¦•/2‰¶û“¦ÂróßÕ’ž„bìšâ{¸’pÎjϤɱ¿ÓUá@È¿òrëÀÛµ Ç]%uX¡$ðžL$oŸí +–# +íœjŠUÿY̽Ïì¸ -FdWWÕA¡ÈúR¥ï¥z¹x´oœá0ySí”ñý6¢"DÈðà6Ê ëZ@IyÀà¦Û$˧lÏ–“ ¬{ÑÑ ç™‹•XL_R[•ßT¿•YžÛT=.·"$i==Fܬo`ÄåݸÑà[;‹¥†’(>n—Žç{“û"Ö±hl€5DñÈ +mp)öŒ‡-lұŘßês~KÔµ®U÷6ŸoѼ#‡êDf»YŽc£þ/FV¼1VYœ9þ °âýEd=ŧYS¢”QÌÊó]P¯-ßûÂ$ +=ÛÂȾÎüÆ_`-*ùÍ˲OB\þ—gO'ai­>”Ø!Ä@ÑKŽ­Õ4o‹á;Ç“»Ø0¦^A¢ô÷p)4ˆ‰ó<¿œæ?&C”§ãrÒ~êvð'#ŒÃóÁXW/HÚ6nE¾øKÂDg` ¾UZW8­’p —o"Äßw%-Ÿ§`w h{¼¡þ˜Íd4xÊR">ZB#hNSׇ“ƒ™J¸=ÍKBÕ'„áz#LþH$ÂÄÎHaµõ<ñC%[G÷¥ «Ö¿tCÿ ÞY[ònþ[éC{“5ËÉYP©—o,üO—cæÜëàñ3Ñyƒ@ þMW]µCp¶&–Cç…oÅ–ux<ù7reßÈnòqóX¤WÙˤ ÊЬòP‹Ú1…)ýÛ=Ž"s°óË"aͺrËØÍôžŸë^²ê“á7å¶äÆ̼„Û z6ô¢· +õ{-Z$zV‰I³NÏÚ+Õºø`î.» Õ¯ˆ€ïU•ˆ‚ÊZ†ßþÈŽwáBrÖÌÕÖ ÈQóýSî‘PeWºÒl9ðÓ–Lõ¾5kç¼Ù¬Ã$-ãs7QO”žÁ0ÓÄÒÑÀ_€%æÔc'9ïÆ<ÂLÏ%à®y ïúÇñBLQî~ëÃT’Ù¹”7•Í‚Ù’3^šeàSBhö|<Ì·/}'º!= +ÄDi²[Y*³ÕB >n½H0“zR6¨î #pvÃÒØírÂKë Ïk,Äyâ•#„Ú<†‹e¸gË-'ˆÜE.fRAR $ЃTš;p1–™·Žh‹Hž'¢Cêp{3ªØ~2ö”nɱĪbe°®ƒ” ¾C•d?1÷ŠŒ“hD'õË +I´ø9ÿýÁ†ôÚ3'Æ™üqY½k.´kÜóÓt¦H DÌ>{Gdr?¹„²»Ã7؈_–pz÷K +†Ï/ùœy$Þ-t7 6,šH÷0…§¬<­5IoQýûÎ9#> òԔ薟*æ=ùͨ%@;9ËDp„Ž€ÛϸçdféV—Jëp}ò²ÖmžúI"’ &6Ä*+CÕ¼t(ìTƒÜjÆ(jEQJ7uWú Ž©ÜsÒƒDkü_µ›°ÿ.O•«ª€jÙ?n¸)~¥‡NCi· +ëZ„v,hó<‚ãÝPØu­E?ôDÏ„§eƒõw ðÚÝ•Zi]–-ýêA±Ì¶² Š %Ôáx¶Y¨¹QìjüQGìaÍÓ«¹Œ¥¹¹*µ8z©":z®ð¢GŸZ¹ä/þ"ŽÅ¤Û0éIl}ß'õJ^'3µCJÑxÉþ; «®\¾ç€>½‡4 +A©ƒñBP«™IÛÚ³ÚAG Œ˜’˜!Åghe7ÕÄŠâ`ìWbVöKìrO<{Ì%ÚÒ‡‰÷‘ÓPgtY¡WÂÛf–YÕO—_ù.‰9ŠÔócªŽòm9éëÔ]¥Í5at*зÕö¼ð3_a-ÃÀ¥¥‹ß9¢d<¸ÎX[¨º`4êDŸÛ;BmŸÿe=$õ‹XraØ{ñŒÃ7»zäŒh΋].q¡Z·“^ýç£à“VS96ûqP^­Hm;Oé}o?=7å$/ÙûI‘…&﹪€»“}”£y)KꙊdé"SBª1%uëíÙbÀ†Ñ*õƒœðL¹ÜEF wîAýÀÀò[g½«!ëßÁ‚’RÀÆã«^å¡GÑRwÃç0ß#݉MOE®äȿᬎ ‚¾†ÌÏ°!lèýèž»8ó\íÜ3v¾$.>Šà%£Ö©öË‹&rv ;¶—±•mÙÚ¯~.L ·«db™nNs‹ÉßO§9.L29ã cÔWÄàžuק- +~ [9d`æl‹0}Ÿ¯øiU¥!¤›E¾s^M¹w€z è£'ƒçÕ3œ v‰°Ö¿äJ$´{’E2F ù>ªà˜F%1š{Ò‘xÄúcfü…â=@xù%Aè¥r°¢..×’§ü:„'w:B¯ØoÚùH•V0Õžâ)òêX‡jZ¹'ýïFl` ½uׄڸN¿Ä¯·Ý +fÊŽDÚÏ”I»sÈþ7‘:|ššš»é×þ ¾ÚEN®üå-Á%¬:!…PxÖ€¡a˜FnKÛ¬X‚ÍtJe'ÊB‰_y,W¼¹—{äHbÜn_lµ·» Ì%‡,ö»åÑnŒÝxK®°moÓ0õÄ™Pbå’ökøQ°^óÞ‹ê¹T€Ÿ¹ë‘z|Vñî"¢¤XÁþSgÔšGz×çP « Àá¡®i¸ÎÃòøžÕhÖ’)I@ÇÅ¢Ëûg¶¢Æàýi<œº[8^I)ÿ–ƒúKmN¹üU½¤|laàv±#ìÙ5$´Ìh:|üÚ¶V¨ÇuÃ>á¿//O÷f¼Œ†yaºûD)þŸ·ÌîœS°HåîÌz$iÏùÎ@£¦Ñ¡|¦?[ú îä(Â(n;‹Ô#¸VcgÉjñîN$¨wø'†Ç€è!È3S» ºk:}½7Ý­_@],W°\íë·Nð‹ &cV*5P®SóÚ0¾7²Çú„™8[­¹Ae!›ë~R“‘þg£dLcW—êõ>ëZqýx$TÖFÌ*“Ñ ºª[b + §Ûy>?:ê=ÅOÇø¹FŠZ•^5ëÇ{~~×-ËÍ”"u +["»w@»Ò,ù¡KKGœœã8 ñ¤%kƒ_°¬‚üËíŸJ£»ÍdÇͺ²ÉžÄŒ·EËÏ„úù`v¶+GÛs´xÎÂkBío²€ÿq†¾75,»!6X½+QbÛAJ{n©SÝÖ´ˆFGBA Œê”ŽÏ‘E¦‘­‹˜Ù(Ñü¾»ü“‚i2{@¶CÉâB`úÿÜ°Èé’û Ä×ÓˆŒ uN׬–1º)üÖ‡’°·I“ô}@(/qÄáC[ÜLȦ%¾Ü?ºë&ð­ü6K‰ûRÛ¡nÔ0ßË#(šã—måËhÚÉ¥¤²C->Ù>®nŽº†œm>”™EÊh(A÷mLÚÙ’%9¬×j&Ö¬3œ<ÿ|rð+9ZËŒP|÷c!AqŒeåÖ*h[Ë+¡‰ø2†ä<øï(’ñŸØÏÂ#/dˆDe¿DØX³Þ‘#ÎuÚðîØÑiUS/ùí¿ {•œò§HèºÇr œ8Ó°ú~>=8ñy\ûS‹¦d`ªa“^͹çž9ãÜ]ª T+…ó32ŸõÊ g +΀=€«KD`^Œp?ñ#J ‡¬£ªwÿL‚E¦[×HÚ³°´„áÈóOÛÜžÈÃ;qÙ”uË&šÎìXª´ô¬**9K·%y*¿kUº£fÈ Èå-•Ñèp'³c{ú‹˜1 ¸‹®¬uÅúµú 5&†˜ÊCøÿ9Hø,û; +À^µÿç +¬­ª­ë'&-¼t•NFÉ+£AÅOƒöxÓ:›´,|? º¢bJK‚ý»ýÈ»G„‡¹ˆA´EЛ3Iµmû3–ž:ñbaÕ“.Ô(‚ÊX€—Sãé;by•H¡,œûùXúåçŒêmЪ`' €Ê]*¡u8Ÿd‹hÛA^„ôò)Px>>‚ÍîñëQ¯‚;——!}¨¬…mÏçÃ¥d§vUÐæðXìlÂk'ÞòUÎ7¹šM‘ÂÆíO ùkÉòÅ–M«ñ½ì™¦bf/CK.Ÿû)ê:òqª˜Ž„„_&©š CVÉúXÅê:›¬Æo¥¼3û…‘  H[Ú}ç6=B$!eQtT"¿¨*ѹ¶!è•MÛ–þ ”ëãz'P<º.9¶y€p#>ÐÖUJp s¶DÓ°{oá—Q‚î(A“«ŒÊ¨å¢ßç}/çÝŽ'3Z/¾[×£]1 ¢›®Ô$‘|%eI\™†óì¯Óâõ j‹1Cl7¥MRÂ-j\*š‡b!ìš?ú‰ñ™ÉKºúÇ¡M0AnNWŸ-Ig·åy¬{œß¿ž^ƒ¸íßÙþCßÞÝ™ÄR€‹YÊ>–OÓ×{´ž®v²šS—Ý Yê†Ü7T±¸ÝµGÊU¼<Í3©XVéM=VdpË #8ðgÂóÔl¦ÿâF§0AfØÔ_´¸oŒî¨YWçu3–E5ÚéÿÔ +}ÓÒK5ƒšo¢å$OŽœ!‰†ª"‰*¶‹ùï;*†ÂMžË6“S5•A6A9Jl2ªThùuôkúƒÔ#¤r„Б{«Ð@DZ=‘Í% £ÕTS ‚‹ðø (}¾PØ/tg†É L$“iª1QLȦ­!Rí+Â@hÚ”k3ßq’âms!œ¾YÇyi„š€Ý“7Ô`=[‡8x§<EåV§ö@Á’›š˜–í0yíw°~Ezv +æ 90áù.h;®ñ>`\Nª]·É t¶rlyºƒ·‡êÕÃä“9aªTˆWVRÏT™,T]`ê‹Ël”¤újÒzî6Bm\™#ù"¯fÔ*º3jíœOØœ VS8N›ÀüUÛ3cOc]ä–%1|®»DŠÁÎÿ„x»o +endstream endobj 478 0 obj<> endobj 479 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 480 0 obj<>stream +Á?®-XÜjXþ¯ü2F‡ÂÛ6Ï]¿j¢Ô¯xuÀÁ—“I‘åÿÓ麵“¡£ìržç·þbéžpufFãÂ!Ž$QÆucBBÑMTz§¡ø –¿åOâØ£ÐZc $)ň\¡±ÿƒÆâ>—j?Qµ”š[¹ +¬´F©®Ó¾¯ºF“îw¡§•Dò»¹Ìi÷\˜~½*UÄNµÁÚnqr ^ú'à7ÿš]@5€ ó£à¿ø8$a +²‰%°FJbóß¾YÝ÷0Du“'¿ºŠšÙ'ñ¨g/ö{g2!í›Ù‡X`ÜcgžÆC‰ŽÝ +%犇jÆ¢–x\/¯xÝtÞ¨L™¨ÖFSxw€+Eæ¿~ÿNŽMI‚-RPwlæ‰Eï›Y‚‚ 馢ްzR B\‡Ã&Ï=‡b—n»GÎâÅxÀúЙ’)šeãé÷<`íUïþ§¦¼xÿ¥ûè›åø7Ýg¯;÷a²Nq…ôdQ'*À °L;~RãxR; r5þ]r%¡׎×dô÷æ9Øà¬@–Q°aFb»À`¢׃ŸHyž‡{¿n¤ð`7Y³àwãZÝ0›­ô JL|]{‡¸Ð/Ã2o=Á&V{Š²âºA¬¸ïFUÅæ®—Å—@°šíiä×ifbQ“/=)Øöq©5ã&Øsà?î7h0PUnkèé&Rè×\¯¬8ó’3߬BØ[h­É!¬Ì:ì‹Û†õ—Ûƒ¾P‰!à”¤Žoq~3/ˆÏa °9û„Ÿãl΃ìO8˜Á=i£›£õÛº„§¾‡B¤1]"úáFR›÷ÈNWܲ—ûk9è÷Çý·+O¶ IQjK;]-K3¿Üd¸MR¿ÝЦJ@r゙³Sÿ‰ õØîθ¿Ã[öa+suDW†ëAŸª®6Di»Ñ.î¯ÜŠ‚rtiŽÌ⧚R¼Î ü×àR|.Ú²qÍ Cô¹ÀÈ8mošâÈ‚@\Çf×ìuš|¹À{{•½ Åôx>fý|}Øu>p£U.ÁŒAõW÷dÏ.‰–†‡Î•XUD¯Õ°JêPïÇÓä|€×?Š½•f!ŽeõÝÃsºi¸œ +Äýê_/ÆÌÚÖ,LNô½Nx¹K;m>ÂxäóTv¯n6ÐoKç}hÿa\f¶mĈߘ^Ø·£_ ÇfåÎrº–_m6ø=ü!C#&ªm.f±i]AÀ¼xajúá°"â}õ ]ê`H©úêL³Q;2~¬§JOLAyFùß©S¾Ìx‡¢ûG÷lMf­ÂÍÌÆ”š¢a +~*’ ;º”” ¼º”Åp®¯| ;I*B<Ö‡%Y™nûÏ¿hã]ÁÓ9C¼Ò¥‰n!íÏ;x@ÁÎmëd4R84¥Ð;Ýr'Tž9ï ¤LGuÄ]5Y|šÆ´‘áÍH þÚè7ðìF‡+ÛË9|sTò«­ˆ2GIV'_d-Ÿ!×>eFµ„¬U}“Ú ›:ܾ™MdYCš ØÝ¢EŽ¿S­ç½È¥åï~ Í)ƒ^飦 ßÏø{UÀ.®Ò†í³èÜ|që%ô­²²[¦¢ûâTDv[|3Ežù'MªpÔRÜgƒ1Á,{ôUaò趆oÓpªiZ4Ü·e§HÅOùŸŸU$•ÿKå:Wþ¬±geßD6•?^Ðú`„®¯rf¨ô’úSœ¢‹L¹À4`cNBL1Œ6?xÀC/÷ùæE>EÃAZh‚Â’_ᘹ“´L÷tÙРRÈ£9ÆΚ@Ì1\ÕÉhÍ5‡@öŠ¨ µ4·¨Âm_Ù«Iû-aFÁR+¬À ˆä…äz¡imEåî¦BŠ“|ÇIC·#S“˜mN VMP£}ƒ^Û¤ãáÔq>ëèÎ4`Niý§Z Y¥ÇÔ·2ãß™cíÖ‘`GJžÉ&r’ÁÔQ4ÇtS6E=»_xvè( ÉÊO¯„˜i}DÙË)jÛ*÷î?Kp¢–¶þt‡ß­à…×DŸo½¹¡ñ£OßÔOÙwn¦±F}ý}ÿ +endstream endobj 481 0 obj<> endobj 482 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 483 0 obj<>stream +Q°ê|àX€<}¯¥åÊ%õ<*Y_g'X#ƒG òW–¯{ãÅX×)Uð„‡„4½Sö7¡4*_ìí¯!PL†l¤D1|E’ªÏRal7—ß?~ ‘üÍ +-ãÜŒ˜¡¼1ú•È®ÚÿDðæM%,hlTŒNw˜]rðÜ‚lúí…$ñ»Y쉱¿Ð orL®µoT¢]R< s>ò=bn)Äôçp`ý䈻оƒ"DœgÞ^œðÐ+;Žü³+/Ǿ““âTD‰F,@ÔÝhçBdoù}ñNþ,êDz]LzOgñ=»4;@ÏΓoŽ¸&úÚÖ.ç,nà¤é¤´îoPl¤[/˜SL{5œ ù¼Zy¸¹5­;ì%;ãyÆ‚Ú­=+rm` +sMŽþŽb䪌rEé:ô6zœ6à—Žå/‰/3®rýÞKÌu2÷Ö﫶Ñ&¯N1¤>^NÍÒÙžܽ IgÃç/ï%L§ë øü§… Â|LV‰þo7î'áIÿb-°71Lz3acÖÞ,„\½M.(ðNa›&·ðG©§éý@q65§•`ôvs&]0+¨¶C™ÀÞ: O¯æÅöGÛ…€c…¤…î¼ÉwÇ@é Úd‘û&YÝÞÊÉž ~þâ–ùû¢O¦%åìÓºX>’`<$¥š“ŒWŒÒw‹"ƒbüè*ˆ"#lAÓÅ,òGë2‹‘d—raás“I>N 8B-ÆbÑš¢ o`¼hå^?>1ù<ªtܤ]B8ù*z³¹SKÈbba©½-bŸÐr¦ %ÀîG© ¡éÓ$®*G@zˆ¹´þFå1€¹Ç¥ôèà¸æÃ\Š0Û•0­t¡X‡o. ÄÔmàš‚SRŽK€ØŸ‰}CCÙŽ ñA¾np¸ëŸá¢@KÁyoy%í$ ®”±3f#ãGª€­­mæ?}úY©MÐÜR¾Å·§ÂÛ1q·éŒiv¦ fÕq²wy‚QÖ[ˉì¢#\gùúìm9¯äã, ƒå:ŒêOÔ؃IQ«—žåø”™0Õ÷ ¶QgÚ¹„Ô¦^÷ˆØ†Œ¸1ûÃ…dwªsØÇÀ7ZD~ß=‚‡¶~?»ZÚ<¨€æÍOM_x}Lø.ì±RÓ¶ñÄܨŒ™ÎF5‹ñfÞÃ1 \Ò™8 a¡qN!\RkN·•IÔõ¡F$’ÎN[˶ýÊ»JR‹¥˜øGìÆŽh^CoÁ‚x7eX +ì0Çyö ãå"Ç/ø§ðçã—6/÷s=ß«?‘¹(†¨,¼ÌUà(/í¤—­1žùO…SŠìÁ‰µ¸•!è +™ºÅ«ž‚<ÿviü: ÀÔœ˜ºXQŒÔ%9þ]¼µ7ŸôÓ“‘ævêäZÅÒ¹;.]›¨°{Î ‹. RBô¨ !9~ˆÁh _kþšŠ-¶ðÊ2Ú{DœùÂî¸X´{,ãÎ +·íÅÅ6ïh£¼êR¾¯…§Ÿyñvàó^*ÚS„€L§b_'çF}Ï fá÷ðË +¬ +z²@¹–ÒëÊ'ëŠ9 kH¼°^|±áaaJ (áÂMZÈÛ&á'€ÌÚ?î9Æï*e{´Àešáy|¸)¨¾húã ,={‡ñåwBöèõ #Toáûñ‚·–XV•5MðìoHÛoÏ«¤X_¨ÉDùs( ctOÃUvüö_¼Måyä!ä·㿛ŸÈΡ‹;¢þKwB-°ƒ`ÕÚÑ…²Yr¦Hp}'¦\ÜØhÄ‹]á’qve¢\°Ë_Π朿þ;NŬ ß¹?È`m¶Ñ߈‘×Ï£–ÆG׉;$(“Å•+¨©'½>¹^J~OÁ§ã¬ÒÊHI8.œ WP¼¾Ñ +LŠtäOF´¯Þ‘»QŽ+Ѳ;ä:– weŽ×È:¬ÔÚpÊË KPÓO%@t!ˆü&çVT Z+¼¶ŒÒsS¨‰+wÏ3c î·4Ñ„Ôî[Ø1 tòRo½Nº|Äzväñ›q„5¯Á mó<óËëXNQ®F%l\ž£W¥æŽ1<¹ƒôÔôcL$hÚÈ^©@!¼4ßQ fÍq; c¿®z"iÅ« Ôº È@&oK:DÜ2Ñ€4ÅÛ&¹¶ªÞ¿òf!:³¶ V(§ÒaR™ë§±3hqòšìâí¾}V ¹¡kcDüC°ì4ÒOC Î|g³ÐU¹wWÇÑ™ÊM*!2¢\òš*@ßÂ6o?E/¬r ‘½ÉÿãäJØñ¡ÊøMI¥ê e`>#MÇô—–ƒÁsz:jò1€ê#–í/¶1¡¸Þn½µÎª’àI31J¦wc]°@Ï8Ø´Ÿ0æ‡ôœ_8Ûk1Š‰ê]âØ™û¿ý,x™¾~€¨7˜W%ʬà~¾FM‘‰£<_b‡ê±ŠÉ¿QLç"¤dùmLZ…]1NÌð:$Eüñ‘,§é¶¯u0îVc(’££(ofÔ!urÚúÇ|Z^x…FNq¹þÙ)Æyt˜Ï-㛶ª@Þ-œÆk~ ~ÔcJ¥ M æåƒÖÞÈŽÞËíq”CR´Œ±¨Í… +°1¿®«UO­j]0p)4s;6¾“–}ÊöÛ€uM—´)Ýù˜ÛO&„„Xš\ '¤‘îiöÿMŠRð báyÕl³¦YBÈ1Í8P =VZÍaHYhàøFšßN'J'd»FDxN{è­ø´&Ü–YS³Îûö ÛXù¦øËß•¡NÕ ==†ßU©jâþ^Gö¢ìô´é¬=A|Áø“"¹ æªD0ÕmM®l±Y`ÎlF¬ðSv|yÔŒ¼¤Œ³øˆsàÁWÖWà-Ø„èæ ^#~¢ÀFÛš%\î|ªŽ¥ ÏÔNi Øâ%0IDÙ­ðcs¯PæÔjc¯ìŒ15|w ˆ2Å® ‚v|åwI¾6­¨†)²´>(úx/¾vÇá®Ýd1Oºà0L5Úå)û‡kB^~ã\’†+–˜‚YW q5y=w^(x"Š–é,úê#FRBECþkz=t'µ3ÅüŽ)•31Ï¢•Æ`jf ëš -´Zõ÷TåÄÿ‡‚þ^¦Ö!ó˜ÿÀù™¥î‰+Í'<6!ç:f¬?HÔE†»ó¨´—wÄ «ÖšòΉD}Äqk~—Yºg<ѤÁÝ.oë|,ð@sfX¥4qb W²0ô½œè$±•pEÆ*Õ„ÁÎ\_9çõ8{¦éÏ +Èóx—?{¢é%::EDD¶/­!ºäTá)ÑãÐ…gOŽålØí0ÄÉÁÿë0=cZ4‡‰Å¥ u‘ …?žÃ^±&.Üö<Ó):ÛúbÉ·ïX‹ìSm—0!ªðón"[MšÄ!Üý´í]€+óàê·qKõRLÆô¢–Uÿí œê¢ úÇNÔ©6¾cSë@Rv(ö{æ]ª¦ýe‘–jöUÒȼœ·>¤7‡·ÈS¿Z÷¯Ø(sKÍK¹#ÜW´“m!“Dv}oxb—åÐÀuœáªfºPÏyûÉ–åB I›M[]õ4Fß²ÏúŠ'ú¡ºÒ Q,óW©ù>°áaÕ¦~“–þv¸+ W1Ò.#' +ÞC/+H|:Aò¹”K:³%P˜C ÅÀ4øØvÌ\ÂÕ¡,U¹ëÙ›s¶n®Ž4rG<› ¶ÛŒæ)âq$„Ë+µòگə—¸jǸD­HêÜáœÜ­!Ëý6o«"kpç{^1Àž‰k¸Fð´ž~H #õùj:å¡—™žå® ŸòJ—­©‘…õœ_²«®×Ðe9ãŠÄd²ÈÙŽ-׃ւÓýPJTTgÕ@ +‹WP·Lˆ $8aý¢ÎòÍ|k×+M ÏBú‹,K»V)*:+ZXž]ÜAÅ¡—ƳR§¬8ï[$Ç{Êu]Î>.Ý›ðR†oç¥Z#åëÆ“˜Â^œŒÏ„Ë1|v†ÊkËõdBC†àãÕÛ¬Š:¤Tøö ì Gœ T¢¬ß3L)F•L#aô+w;_oÏ€(GfsþÍW=×ãÕ„ã?!’öEÕdú¹ü«‹š šÇ|½®Ê¿ÌÉ5E°(„7.Ècœ¦ˆàóëä7z«W1/z}E~Š­ ýÙ%V RÝ]Õï;éU y¾Ê¢˜­fgrZ®òïx¦¸’´òþà‚–&¶¥žÍTJÒÎó|Õ™3¿Óáà#ÝÓ¢ñéˆú~7ÉvQ¾èòg\£^rÖ¤7‰÷å[ù#.o4Â^sÞR¯²#à4Ò“Lÿ‹e¡õÂú” @JB™[˜aム0ôaº¨Aa èÇ°RTqž…l¦“‚O0Kë•÷¿$:üI$ž ô,d )âò§'›"óÔ‚êÒ‰GŒûܲ™Œe¼B‘bêÀQÜb¾”í{Ç@pHɉңzkp—Ð Þàï‚Ä]§ ^M9_ ×ÅÙ—¬yõZ؇慅@/Ñßø¨LaÑc.”õxµ¼Ã7û':ÞŒˆ‘-¹7—êÀØ}oéGtA›6Ù²KáŲÌ1>iV?t—¢¸òfìå£}³Þc@6’xMår°þ%ÁçvÃõDØÞü¶%¬úl•ìʱW +lQˆ§¿Öóù¼„v2!“Eøaë]{ÿy„·îÏéU=²õ-mU=gs®©ë‡õþìH{ážóðäWk&ås ¦÷+aZ”Š™Ig5LЉmšDßd)Ùz¡(ä\)‹™åb–pŽuÂËú,7il>¾‘˜wjFö§Mý–åêgÅáŸ?^½Ç%­™“_JÝ.¥übjÝ`]Zá¤~ŸÎót¦X.ãÊÿ,Dåe>û3íÖ´£äHKy¹‘p¿Õ<ÓMˆr<ϧKqœ^°ÊÎnl’]ý=úš4¼b2ˆzeW­!ùÜÎa}áäK†pÂ|µ>'­¾ŸQ÷;1>”õB^߬àâE> DÊÀ…úÍZgПW©}Ÿ¥8_þŒ©‘9¢9-ø3³::/¶YÑâF#†’(d"±‘«l¡.jOIã©a€µo¯ÿË”JÖÛL`vØèXg² +ƒ%‰—ÁcÙÑF…Ž¦!µKÓ£/Cþgá¨ã© 2ª©Èïp72 +t…ŸÝsPL18‰ (²„‰T>ùùd;b8ÑkÔ–r*ëÌ”·ûÔS­×§"7K±åø ×ò$Ù•‰šB+ç‹qÂG¶^²å‘i”D9Œ4‘ k+ÊNÒš!-™'§i¾CÛ>ÐPùÁJ«½’]nrëlf¬,a—Ÿë'ƒŸèGÌy½‡ÓBקš‚õ™¶Dßô“Ó…0êU#Ä5}áz{TmÄtR _0)yµl *ž—{fÐ ñÔ +"×w?.‡¾çQpg¤³aùyGæ‚ ;¨’=w(1îv€ïf‹ÆŒÁ…úT« :äK'fÓ=ÛVkŒ¤[5j)§ÿ +…ÒØøH0u”u­ 4+Ï_ÃXÕ?á(ž$üÚØ «@l[^Z,<‘·žèéʼn0øUW‚†<%xý`»Î—Ääí/ÁúBí¨Zø”C¿äMýÀmTypëèá9`ÒÅÜ,ˆaâ-Ž÷/2#r0.wYûæ˜ãGøךù]:òÄ2àƒ8^ýˆ”€™¯ He:Ñ·ûKõùàY®G¢% ºrÒ£2‘<Û ¯’r>Êñµà5e߬É-ü¡Š/c3­øAÂSJ­‰Ó¸ 0×^] ¯8ŸAøW¡Òƒñ#ÖìÚÛÙ'wdZµ…Ôƒç\#ÙàR\Ù»¶ eŠâ e’üÿY¤ãŒ3ãUÊw2ß´@Õ&mö ­´ÉÑ쌣ÌòZoñ:à~V\A|‰Îˆƒf[ ò33ÐÄ×6Ò¢µÃL;Ì8“ãÍ• Õ;-®š±÷NàîTÎ7NXQOÛc`6LC屎6âÄjÚoR°UQL‡ºž*æÔªïÐ%¤4þÛP<Ç69™Ytv¥ŒT$`’ú²#Ò¨°xL4Ü]óŒñóB qZ_+ C%Ã+;.V¡f¶•œý˜tä­àv³$ÚxH¦!úŒÎÓIì8ÞÉ¥2®f–gCš(|´­l‹ò<÷$vþ°z ƒsiÛ=ædüéÜ).x³¹[íA¡ÙN«O[Y™§À>ƒ-Se­1wÜzQP1T¢àï˜Qn2ªÖŠ’'ÿ¸JU„p28¨ æ >Ê6´e|Ì)Ùå%âƒïJyùv\Œ9XU3ámT/”º'Û«ú4¹©Ë¾'à yætʃNwlSê^ %¹&ý‹ûüƒÑE›ïÚKGÞØ7øšKš9’ìuþt,Gz”nA¹©“Gœè¼¼½AáRí‚9Q³,v4¼Ôù·wMÔåçWïì k:"q:¥›%AnÖÕ²*J‡ù1áå(¦WpIçãlö)@À!C¤ªBßlÒÓvä°ç-j5›ÜNŸü_DÿžÉ+ö1è¢)“–¯nï9v ÷7DkØGDì’¿GÃR`òQˆQ¾·oc]éÀùâ¯Y3†Q…B†ð ñMÞ L›Û`ÿ¦g^#ÜŸké±,¦èšKu,_ry5„4$Ë\ôÄ4·f +¥cGøübì…ì~iqñ*eÔ7·«'Ütæ'dDšÆwU*¢d–Çs˜Ý󹌓gN$ü;Eù-ie·Íü¡ -‘>Ãêé@:c bYÚ~§:‰¤[XqœZr‹óÃQ0§èÇÜhÿÒ…ÝŸþ:~Á8þÎÅiÖ‡Š§Ð°êìÀ6s±ÒœL‚GÞ±´U!eÀkÙ8ýœž— N“S`¢¡²V ßíÏ+Tü›2ÀÛÿ«¸^°f‚žÔVmÞæM¸Z—4¦…ȉîo,ñ:8ÝÖ£èyXÔ1×ÆóW7oŒF^ì÷W¨VÑã–JS5À>«…Â5²ûãݘÿåü½ÒÅl^Œ¡qöÞ“î_×Çì–æÇÆ<âváTg%RºnáŠ~4­½®Â( 6\^’‹eH•h&Iëè0|ƒ¾7–\dJ'iµ‘©¿Ñ.ýàÉ?­gºM;ZzÏ¥Ó°ïÊ`ïΊd @ø›÷Ýb›`—òéŽøü5-½ý3ŒØ¿DTÕpí;n’‡ôn<ü'ûæ=uÜwj7Vál§ÿ}¡I:{抴¾.¦Æ͸ñÌq²íõf$Sî¸F™ŒHÞ!V@ï7½p +endstream endobj 484 0 obj<> endobj 485 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 486 0 obj<>stream +Ä5pÀurÇ€ñ„c¤VQB ÇÞR,QÒ¾%eõ:5ú| *-MçéQª£Eϯ4…sìcBú”fJhêé$²|•»,NF.i!0±:ؽ4s Z_Ƭˆ¨ì%ç^uyY…´ä•œZâ] Á³¸KGU¤ò°€[<¦E.í:Úîú1ú†ßÑo{Šn‘¯Égm|Æìà£ú10Ö^Øx›5e§éø‡úP™½CS¸SÝY°›l½ŠSSæ™h£û+^åÆëj’h½³¶ÈsaÄzòôhóü&àF…½êaÕÄÁnK†ÕDÔ0¯BÓÈɆE™Ô¼‰–/Owùàñ„j£aDP{2þaåÚSM¥yxípC¦ÿ÷¦¹C¨ñÏlöÃ_è#Zc É’³éV7XóçK¬¸ -î6 v ¶1Ö¡+æÿièö\¦‚s¬_wlu]Wêï‘ý9-L$oXùvå3/’VCü±·%¶7ªÉœ\Þ]‡ÃP˜òm²ŒÜ¢¼+–âÝ5W@=Ðß']_÷ðs +Oâél™®áíß•Ó0-È„ž0çêŒW©/­†žc®í²%Ú½Õôg'>lXÐ=7&$;,æúæqP¬ÚbëžYͲÃn †ýb°¢%:2g¬Î|q¼Ô<Õn~”Iâc£e‰R¢Ýâÿâ?ô6&Ï[ÑÑ"w9\|"™<ëe“ï ²RtqZ).¶Ž­Œ  ŸÂŠ3=%±£ÜxReHúðÎ6e«Ÿ%á;à +»S–&–*³Rï·ÉÒ¤ý¬jènœÑÙ†›Ï2ŽqmyïTýGͽZ'%®ß˜{Ö*œÐøÑu¼ùŠX˜qwPY|ã‘ËÂ/\¼­Ð†ŒFÃÛ3·ýÃ4¨È ¶èlñS«Ðì¾×6ãÛôþ¥ 3~y¿Pd€‚ûŠ}?÷øŠÃ2%ECæ¦Ç·‰¸L_àlv UU—ÓÕÆ7M3"Y§úi$vãC—Ú‹Iì9Å°Ýògßì¼Q‚ŠSá5àØ=“IìKdTaÕ>$²©èÞ‡Õ§hÝ—îà ²š²b]Œ$s:5%ø{»œtdÌY½†Å0Ü^¿,h­ë·_<”–„„#­ûH}ÏÑ7öF”S»F™àè$Ak¡.‘M[›´mÎènà«9”1¼Ð×V4ŠQÃvÎ +ñ£åÎ/Ã]VóÛuŒÓÚéÿO1¥|xòaŸ£ß©ÇªéÖÃ×Ý"¾pŸy/e¶ûn†ê^žø>½ŸÏXj°j']`ŸÎ]gÖ0aŸäÓá`ÉZvêúìŸãC·Å(Õ0‚Y“´*¢pv?-ZÙ2vcÉöظKÒáfë¬IöÄ—cÙ™õÊÍ€ØI¯§À¼ÕX´C¦®’\ÚÞÍ.ÅêZ¨Äô@ú4r?Æÿ0é©Ó~T^"‹c[{YÜŽ[™c*}üJ¤0³ÊØOfÞ'’ŽÓÑO 0YÅ% ](¿˜cÛlÞ :ì“%•rY õCÕHT°#À’sàö0†¼U»~œR 6þ]ü˜‘ó½T›³hÛnõc¼Ì©_…¹ƒã¿F~X |=ž»%Xd$B<ÏÿÄö06×I]Û´d€ËýZJÆn€§«3 +þÇ…8¸›q¬§]’0]k×CW{Š5=þãüHˤ«¢ðYŠÌNîs5Ãd„²ˆ“ä>ÅÛÃÒÞµh©©Xëz7(¿ÊYdê£ëòØåÖ'»°\©¦×¥Ý$`*,ò3SeM¨üu‰G¿ÃˆSÆ îõl›fIš©P¼WÛpg§–óâ4 ԞʅñÑÆ%·„° ú<‡›7F¯\ª3ÎJp±—‚É4Pð åð?öD}ºè^dï ‹>*R ÛìïQœ“Rª¥Hõµ—Ì×A¹Ð¤ß¾p#4M£¯Ÿ5‚ÿ> OçzK"?¾J”Ó¢öÞ’Yo<‹F‡MZÐÒ@˜¿‰t™V-*ë%(hŒÙz‰,®ß!À×ZqÝ^Ó®7Íï³îÙý%eù£˜—ºÆìGãÒq¸ÆzL·dÜïÌÓ¾ó„OÊ’Àik«ãÎþB…XÚüÞAPÛ;ÿ82ä[¯ó¹·ä(x].‰¡§€©Ä„§?ú³Þ¹ÂÁW²dMÞæÑ­Óì&½´$DŸæÍé 1— {“^Aà•šnÞ>!LŠwx‚ô±Û8ü¥ô–戠;èYÌì*¼1¼ú3GI¹õ!«¸Úþ¾ÍÁ^‚ÎÎ|öU¤(kNžN—ǧôø4gÔ¢££%1¿ >»ks g0„·"£uÕýT Ñ­Þv—ñS§å¥ªÊé/V¦wí×ÈiKš`´QÒåöY`LzÝ5&V[‚lÊ„=P@é?÷ÈV»“ +œãÒ`TU±^Pª•©H–*UÓë¾k 0¨^'=ÊÎÿ:¦\~ôZ@ÆzéÛgd%î–*þ”¼qèêÅ`æM¹¨n÷áçæÍXy‹„‚ÖgæFLó$‘GA°9ÇPûÐz¹pšoºÆ"IlÝ#Wš¹ùaÄt詆 >.Ïü!“Ö_‹)yõ¨a±Äî妗ðàÿ±];¦©<¨® 7Cv#Ÿs1?2¾}ÆÕOí§É—ÖÅéŒÓÒdÁõÈÿ`[ì2kú;9‘ød‰|ÿªØn‹Ž©ÚEñ%X‡œçEÓ®:­÷AyI®Žvµ‚±ñj¶ÊN¸‰lñç +%(„àÐCÌ G£„¤Î5™!ËJmºe}DT1à’aÞó(•ßrÆ^ÝNi{ý å_ŽYвȳÕy“6ø’Ýx»+úÃ|³*Ñ»x]¬æWØBôØ;°Z€r…ò'wÔj¬ÞÔe„Äiês»žc×tø$L÷ü ~´ê«›Ÿâ÷-õ±^SÓdl +¥ô*Z‡9ûF¢ÝÀKXÊKji X «ë_6w¯tÝÒ€9JÈ+ÄÅÑ&»ëQ3S>‰F&€½²u‰kÚ‚¾“LtF%¦ö í÷=~G} ¬â¬Añ÷ÙsE¸"SõsÈ›åsÉû\;"玖nAkÑ‘™ÞÍQ—y}¶cÎã.7<Ä”2ìÂ4œÈwP–C'vˆ_o€ŒÈûA¦[ö ¡3]}û«)á˜<&ÎA£UKG 7„¹åkƒrÞ&àùM±s#'b´A˜Œ÷TÙÊîÏÿ¿ÓþÊŠŒ†yñµŽ0±Wã¶hkgæÕüô ½½Äur¤5| A½¼ã:ßD;û©"»ïáB»û2Q›:s÷§Ñ T“Ù%"³#r—E¥©¯RpàƒS;ø¬¥1£õ‰?î÷‘a<§K-ÅáŒP}¼‘Ï î¯;LRº•Õ^M„y¯^l;mO8ˆüò4‰,LøNü»Îµb¤Çøw§F¢éÉÚ†M­NJˆÁ^‰ì'µnîH¼f ™u‘ñº®­½*“§îÃ’£µ¼j§v:ú°:KçÅ=cnß „@_$Ë%UÛ\²{­@»ý‚92°ýë!ÃøCyÚgIQ´.p6~×ñƒà$â, ©µ,ˆcve!AýÜ +aÃS÷Jy‘ ÀrU€ÌÂUQ¬°é2ˆJo'¡°¤þsP'åôm¡+UÕÒ3òÎ?ø6Kb˜À¿‘ùç§=–ö¹ÇÓuþ‘šæå̆°ÿ0P×0rÌc'Õf£t%o‚‚+s°Œ\¿éæ<ÚM=>åm¨nŽ> -èÛC@‡Ô— ™¯lz€¸åõ¨v«¶r4 x€ÈuLL¶'¬tø®ú Óëï…ÆÏ­Õ ,-)Oª1è'SÓ1òõã3[<Vxö£J\§cEÀÂþAÏE¨Œ5¢Ü¤76¯/yøþ-*µ#˜šjÅòÅÊ!Ûõƒ1x]{ãî}u­“òŸwsŠ‘“h„~¾¨4wÈ;,]w¦º^"ŒsÛÓ½Ýi–N–©æÁP"âÊíΨIxù®öÞÖ% Æ콸eÒnÊêmíOôP@øL8íï&G%¹k0¶ü«Ûo˜§!w Ùªh4–*Ô#‘•¿u®14mú3,Øi°¶` +»wd˜Ã‘”Ê”XÄ°àò})Ý-ÓXf÷|Ì#†w_øuܽŒ>åêwp} +úÜ–²÷o%è”™.:8¹.Þå"dT`žç—é§?Ï<úˆÂý—ÿ8+a%¦É¢ÿ‘[gÒdFªÚï­„ëì*B§BëiÝ,ÖøS%?7D²Uf] a„Ñmi“",¡n(y£ù$Ýš~µ ûº·3ßòŠìÕþ'Ìùïi¸y¾îí)®¯z5Ùž|¬›ð›Ewd&OÎœOé;»íbðÙM–eÓ +endstream endobj 487 0 obj<> endobj 488 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 489 0 obj<>stream +†¦@ó~¯¹Ã!ªë ¤.ØNm—)ìSC“¬ÊÂ3ç gë[|DÒ?ªÔ]´&s¸ˆ»ÀðˆÇ]å{+©Û2L+¯ƒ®øãü"®0Áª³æ*jìä…›æ~±BGøÛóã{Hs¢T™Ÿ¿ÇÊÖ§TW&üuypö‡TŸÔ$Ëõ³,þ@¤·TÛeþH]5)¦‰ñétK´4óüIÂœº)ÍG'=I°&`H«ä»÷¼yÿú‹·ŽIáï™EØò¬“T¢N¶?)áàÿ$×¹Õ¬ß~X[ÛßÔÝs1ý»Ú˜îºãbÞ8ëaº¡^hÛA+rŽÁÝŸë~?ÔEâýL°I¾ä®—F þ¿•ÑE!`¥åïO I;ag|Þ­•°4¶ê¸Ó/¦Ðþ’ ýÍÚ)5ÙÚ/ ž=µGôܸ—Ø _µ÷oÛVÿ³cˆ¥ð&û±:tc¤*V‘FÛd,y1ÿ¨?šÄµ ¯Y:2C‡5ÀTýÜÝPÉÿwÞÏ (3FB*F'Øwò»OZEëÖ‚ÝŸ¤«­ÀÛ+!qS +h¿9½¨Å|jU¸bÔðQ.]„ÇM³MÅ]Æ›Uô sÝŸÞð£Û/N¢AÀ‰.Ms-P©j?X_ÓÏ´f°£ OS6¥ÄÇÿ•™rrE}³ô/É Ãsþsa Wy‹õJ¡‘)]HÝñl˯„›¨Š/›y¡Hy í‘–kÒÒ’<•rêÍÿ±ŒäWqoæ9¨ôÅÁÔ·7EÂ}E[-kes¼6ƒ—æ´‹ã§ÂÔØMÄÕªÞ7ƒïvÃHë@åTÒþ¨7$X0kHB}úíÒŽmd:ÜãÑÌäæG1©Û.÷Ñ[߯ï+ä»Üò, ß½®ùÈ 3úô-çN½‹2m?;ë'Ti ‚»Ôì—àÛ1_ì?H77{åÚ‹sÃn±DÒ#S˜´ fßÃÐ’Òôà"—‹àÒ…ˆè˽‚.B•vX›i¸'¦N(&Ô+aàg¼p•†™ÚÇÚéºQ9«"á=C&é¹ìômâ*{<¤/­*¿ ª õ¤ßÌ¡Jê4GxžÁf_rg½ÙhþfXJ²%užŸÇ„»è·|YnÌQ…NŠÒOÄãc4‡‡hVDgv6iF_á>ÑøöüYÓ®BH¨È8G‰—=böXþI-)jS~7;+K”蘯…fÊ*üÕ&ù§p·½7Þp©à/¬Í" j-ó­2TûmÊj9G¾T3oD)ìÙÁ´—@‹J”Ú1["”_Ñ‚Rïñî9$Ü+4pD&H£œq>â˜EÆaÄ04ì.(Lý†!qÜþa7?ÿ•ºÍ žÔÝýS¼ü©‹iì$aN¼2’¦/åŸ{½lûÖ©Ü]Š××qÖ蛑*ñQû7=6-í©FéXhK ùúë94ëu²£þ”DÔÚö0­ÂAig–¤“vò¡\U¢˜G/ÒIqqSæ(º4ôeDLøËØ£¢Q}‚€±Y(KÂPŸØðîô0F‡ËZ¹!å/¾’Y§Ó’‚v´ U×KKüÈ;‘ÿ´>EçÚ·Ãá\+T¿†R8½ûV&10¹&7Ž÷n:M×T~ƒâ\¨C†›êÿWÚ´@£=ø´Ñêá•ò7i[íôZq +S¼Aeþ–ÛÜFLVZZ¸‹¥ÄõEù¶?6Xÿ(Mú¢@Ùô~"Ròbêâ\ø°’ïÖw:ê>~£Š{Í:èrþ–-P%øt´© wå°Œ‰Ô׃öÐÜw“î…¹_ð¨YÕ'Â(Åá`f؈¶¹¸h¬ŠZïÈÿËžÈí4e˜“ +'Å-"£Äê¡h1ë¨êIWt؈B ÍLC¥hnÕT‰``úäö¡ÚÖåÑT0°…¿b@“)Ô¬0Ú£NœówE™¢ï¡dIyÏî“À¥Ôª%,ÿµŒÖÝÜÞYȽʓ"ö©~~ˆçéP±ÜCX6åà}ôr‘ÃõþâœV ‚'¤Ê»@ïÏP&ß1Œ6æý´K3˜=+¹AÖö›§W'tŸ7íB‹æ«,)µ LOô«üK_ù*Ô™6 ›Ÿ(€þ+_ãŽÿî1S³*üZ·óX¹àÖ×ä(lZ3Z’LÃm!GXQT¦_,•'×tù±w÷ñ4[ÅŽ¹ÅzM`J"Lè(¬'\ ÎDdW‡7|l E¥—0™:'âžÝ(SÎã²öYÙK¢¿zD,}Âò§Ã'ľ® ¡ü<ž„ˆ-¦;2̶§™å_Ðy \“ßRJz©Ño²“™s·œ@‘dÄN‚Ù˜³UKÙÓÞ.ˆ½pã±Nû HŽÉx%ïÅ1yjÁœ¸h ¥w%F\FêhûåM‘QÔ0ª§ ¿ˆM)ÓìÿßãnÃü?Ó½rMH–™frè;âûZóÃȬ3;è‚/Çðâ)&™»2 xšî¿u9Y¬½@`N6  Ôv´¨=^GÜQyôðÉxabÐ%ŸÚcšb uÝ=~ˆ©ñGj¬LÕåT%ÐÉ5([²7¾ÞâeÖ¥n¡0‰V8ižR¿ §Ô±P]Ø„Ô.·gBðÛâ- æè=Ìc„ÞAÞs]Êï Wä„éÓÜ\9ƒ¥¼ˆvµÍLÞU®ÝÙa[s¾®1¹$a¢uÏD€ÆÝBì ö„-·•ôº¼Lf£&nn¶š:|BUÎØÿpi„h¥ùk¦›!F·ˆü¼´ +ð»áÍ•£+$…#Òƒb*ˆì ‹N+Q³ðɠ˶ð¡"R +úqx&%ö:J'–ê"²d +0vдnøí‰iÿr ËUO]š¨Ñyõ}ÀFm¨æ刓$iFD|¨ÁŸ×1}ÙB +YnmMg<ŸÇÅoò@Û$áh§æÛˆS¶™3ÛÿÜ»Iâ_ôm‘iüÅÇ×R‹Ï^8Ã%ö2Bì #çMzÆáÜ`¡½8¹ÉªË–|‡x˜üM‘XÃ}ü‡›ª$¹ “®ïåø$ÅÒλ Þ«a›4§x[%¬Í{œt‚j7ƽsî¹FòõCíž'm4¯›Öãk!¦;ðé˜Á§ðXÅeUêp*éòô&–Å7š?qjDâ¥k³©éë9E8$i|¸f²—§ñM[V]û¦3Ürkþ!×e•UL¶u¹§;§²€zÓ³C'vä@9Æ ’ã[Åü.¹7é¼?­ÜÊ(oqœ**݈½@tJ°sÅ\±  1ÿA}²;9` NVáX3,Z„EfYe~ÆDc!ΦžÐÓ@²ŠÝéÝ€î“ñÅ6¤—Òð† óÙ5J²^Éf +ôgì¨0 ¯´Ò²ñ[ˆÿKœ”*“CÑ ¼Ád5Ì䬇…‘dă «ŸK5sŠ^ðÔª3ÙNê@³»Œa†èÛá|màGÏ-Ë𠤩(™6Ö5 ýžB‰/†P²× j÷ë—Ú~=BÊMZÐâ P+ì m°“aÅÓ „ç!Òù“K8XÇz7Д}jx´aÆ-²êà@°KÌÏÄt%)ª$=j2‰ÿ‰ã”S”¢U‘ª=m9ŽqqHÐNzÝm Ÿ£}bèLÁI¢ðÖ‘½ SàÕä­ÕtºŒSf$Š /Dm"ÙüFK±&ÔømÝ~ÜÀfid +# 9÷]]ÀVX°w4):÷J‡ ¡úÍ­ËòÓ­¤ôCœø´ß½y¿wS0JLsBÅØk?)ÞmÈmù Æ#ä&™Øm +É2Ü80×;±D²w°k·œ‡Bè¡ëúMd›c”I­{Ôso”qÑ4>.”“3¢¢ÉÁèñ°rèäµá’PƒÁ¼ßñ¢ ßPt9KHáâ¤1¶­­ƒ €Àâ”×̘WBÕK爡²*5Д;õO˜Ûp‰#23*ü)-Æ ?†AhjÚ;Së…Ë DXéÞòl´7#ýÝ(ÈáYä€æÊ»à/ƲŸÅ ÖUýuxÝ^ì#EƆٮJïìH9¶R0wãbÀì¢fDÚNŸê¶¯Üæ˯$ž³Ý¥ë—!+|{>[G"ö}¢Jšm:é¬é 1U¬Y€çÑ1¿_ÙF«Ñ+÷5^ª°·Ó/ ÓAC|‚ÝEÝßâ¡O˜'ªƒ”ú.™’l-Çi—‡øàÿ9á6Ä^“#KmŒÅ0 ÌY窎íñï,â‘6‹#ÉïõÃü:±÷FÁ^¢Fo'ȵ„…^áæB$pzJ•j‰É·ëÛ °²¬4Ð×$UÖ«oe2ºoÃ,Q=uª%–ZzEyZAR™WYŽoþÒy~Àà‰#¢â7° +Çmd,JÓ°§È“ ²Jh|Ý_NDêmvø6¯‚—\ˆ— ÃFÇza±„è Ì——{\aùÊb±soxÓã[ ö‚5vh±Ó¢¹(˜å­7£TuÏþ¨Ÿ*Ô;£oåMק¨¶úû­9únüòv®¢'IÌÚ—ic}ç2ÿƒ-m$9™oüUítÉïª> –þuŠÛww(–­:?†Œz,Íí"âÄÀ%Z8kF‡Œ8ž8(@ZDíÚÇ´[¼r¦{ˆºª!àHöFc)-@çÐ/Y˜B¡c0A–¤ãýšU[õވŊ°8$ïCpðÖ”Üó«³2eËÚ&ΧPÌOçÿâËåîb˽üPB»F£±”þ{@jÒéT¡3£§êñ;ÿqåÜöÌ‹)¨»uÓÃÑ©‡ +û1Šä~—cB‚Xe0É#HKjë©gº¢Éè³|ZˆÊy ¬¹½ÞgþI,,„¡À=/î¢QÚåŪzöÈê¦D´¡o“Ðì1&÷þ¹ Ý'¥¹Ã X’2–ÍçAÙÍ=‚ñ/@îb”oEÕ‹}±Ì |Õeا×Ãü³m¨ñp¼ÈH`ÖËnëñݳK¸zAöŸ-IŽ‘ç>W­‰š \Lòlÿdbç¹YüSà#ýøsLÝjv½>ñèL¼Q¥)¾Þoâ#šÃßNsœ¡œýŒ½Š‡¸‹­ µÎŽÜ·’Ï`ÞÍÞÒ+ÅQõvzŒCBzÛ¼C˜à®$Ñ~]ÑÙ¹ŠÏ fe ’ÒÝíä¬sË“†7…ÐϨЬ=îr;Ûär n÷«7ÉwÀd)F’„¥á~°^2œý:ÁsyÑÆsdÒ5þ» ûX.ä[Õa¾ŠCqT¼»ÆN{ÁÁï‰C¶{²‚°Ù7‡ÆŒx6„AÖG{ýJ~Ƙ +·îO~_ +Ét›F"ûŒÓ$ÿ ÒnÚ°¡Ãøù¬ ÉYüf&J£°}[FêiLÄÌùo³ï>6´›/ÏEÑÜËM6µTTæsª +=åÝ}›à`R`i‡/ÀŠm!8À4/‘…w)üÞ {ÅÄ€8G#4¨Ö¢bòŘÎ0Éœr ‚Û[ø0ræÄY”D:XЯ¥–C?Bå_“ö¦í71»9šþNƒŠÀGæþM79a>ÝRÆA”¶?Nìšã™&)Äo‚-«NQW*6R»âY’©vN6Úþrü%¬¦Ç!ÏØý“ê톚gW’À î ÜTŽhëaJ#ôºý™&–GÍúzŒù6ÙÔ%sÅP5+¡ÛzçÛãºÜ0Åà±b¼ño[`ÐXÕI·T¼K–¸c¸ª³ÚðIÛ‡N±Æ@lØ&ñß@}…»€Â×2~öІÿ­dhífõ§“U½C-©[Gƒ ÀGµœ%6›Öëýê®Ð«Ÿ|Š¸×òˆ<]ÚĵiaNÝ]ýß_¯ÏeÅc,wü¹}²B¸{À"|°®È¡pÜ™ewC@ƒUÈ ’'ìˆá-D&¨<JpêK^t¦Võ¦Š/H)["r(¯íDšl»|P WŸ÷ar÷õð|~qØM1ß +É ³Ê‡O-‘•†š]Šm°|Â2"W0ø#[‹f»0.2¨¿Šù”µjhi%ÊŒNZ<ýŸù-.·°mè® N[&ˆeyds^¢2 õÓ]Ç»O¹”a¾" ôQv Î…j\Ìy½ÇPf…<.Æu|Ù€N‚L²©„ž„$Š ÄÍ_Nä{ÚwB +endstream endobj 490 0 obj<> endobj 491 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 492 0 obj<>stream +U£6c=>–6 }™øfؾPF,‰ ­†SF3z++Ãøm¡T_)—Þ‘VÖ뿱[ÍY¢-ø•æÊļScIDá<Ä·KÌq¦d'?DxpÉ ÔÇëÈQäô·ž%îh`&ÉŸê†à_tÕ'tÙã?iôÒ“»ÌJ‰¤Ô¥eW çÌÄÏoR™úç§ANn{O|´£SB¹sq[Xt\—ÅÍQŠ+¬Åh¸è‘3ãÐSkçúG+¾C¡ö0óqÀ0n7êÅOÉ!ÁwCÓß«ÿ4Ap¿0‹¥_A…º Íe@&ÂŒ1ç$Þ œó7˜Ã¢›Q&2iÄ ¥¹  LgtÃ,“Ó3:Ac'¨­år Š­ÈÞaÂÁ&ð¤œ`'=ÛÆ*•Ÿ7•Èl­(ŸäB®Sg¯0ªÀϯÒ_Wöä\wr‘œÿIeòcÁ8¦vFCìî²rșǗL̉Q´q¢$¾ÌúXeý©¸–¤\…èÔƒ¼ŽÃÏßþ!>ÁÜn³(gÜ¿žHùP­í×·Ìb–è> ŠP)3~I…jù'^i^º„§'?Ö™{Û9P]vKŒD…ÝG~E ãiÉs QŠdô´ÒøªôkôÙ¾å@¾ƒ —¢3Š°÷´%d׶ŸÒ Y" µ¸>ýÖe'€c‚Ò›—8ž3Ûܦu”-Îeoy+K¨c,Vñ˜fª~Ê6<ävÕÌæ9ay¶M°Ó¡¼äœ°UÆÌD¨esêƒÈ‘£¨Ž+ãMg9‡ÃL?9yRmþ! ¬$&°£+°{+›gäÔJ/v°Ã²uz_UPøØfNÓ*y=™p}­e'H*yTª²ƒ_£‰E¿éµÉƒ®N&îw­ˆ`ßÖ™¤?†Q¸æÎ]T=±yË•Z^ÿgÐéÍ,åÇ$Çg>ßHìn»ÙÊ g´ÚÕFN§A¼¥æZ=§Õµï›X®é:ÿêÏŒû¯v¢b ¢å0%Šwà‰½/õWÊþÓGvëõ¡8Z;y-)¹ø\u;ÞW‚u^B\g¾¨ ´Žöæj›Œ Á)½€`î(Òæàz¯(I~Ú±ôv_îcÏ´ÞÄñ”lu~銑6w òPD Ù[* +ˆZ¥<±ú¬Ö–ý AmÍ9ÅTûöêtÎQªìhŒα×PÌ49îÛ-Û¥õëejý ›šƒó uêÈRYÕc’ïÆBšàø_Ìùõ@ƶîáîýý9#]ºü½¾JÍNPÉé›'î`AQIÉh`—t^dv$ +=kP8(AŸwͳ–¯ “ý= ?Oåמ~'Öˆ~â(qCºmL—"­àŒJd)?ÞVx…/ö-Çðõ_è“‹r÷¾ +ô‹Yq*d»º,£"ŒJò1•á+ ‹,C0øŒór@âw¢V;$FÉ›ê²ÞnËIÍ—¨Ì;ÌîFmwa;¶ /²XBy,,©ÿx&ˆ÷_…VÃì¥UâÔ’:ë0Âg5ì3üh V*)xŸ?/~’¡§Mox¬ª§¯€ + úFÃ$ð£^4šÛ¸AO¯œÒä?šNŠ¥äí“pɬÍBQÑ÷b>[†GˆÝ¢™y¨ú†Ö¼¶ú/DKøœž¶Íº·Ò­è¿¬5y ±”rÒϽûcc9¬¦jdôQ½ß#FŸq»ùƒµV Sºøw¸}OÑãæŠÒá7hÔ^<cíy,ÿá°‹Ó©Il%9—õ§¯ÃPVsŽ,õ’°‘ˆ~Ñ˱d“¤a¼íï˜3”Må+ºòl4³³¸^U]}ŒÆüTä¶a‰Í)9ÌÕ|™pB7¸Aê¡òÀ|L5X5 +ªÓÐíä ˆ ÒlyÔ(J쀷 Þ5NÐ(r%VÑßøaîÇuõó¶÷¸5·KŒûZ¿íù¯ÿ3ÿ„'yµb\k­çÜ…ŸùUÅy¬Yl½†Ø›¹»–ÀúŽç-Â*¡6 îŒb¸Êr¨”;öJ+öAù5±Þ)\êè(¬> ~€ÿyS$5.½?Ø{ëØj?ýÌYź÷Þ¬o^ݘHmã,@wÌ7imxSÇWbìM¥Œèyž¿@ºIéørÐH»r¤¡ñÞ-Ÿ¾’9öàfSs©ô™9<»é( ( ©Ûï~©¸ + 6¦Úø4Ju¹„'¹–©˜Eb–ìb6!n/ ø„€§êá‘ãÓ2mÆm˜/DWg@wÿcÞaìþ÷*Ù²ÀËÒØŽ5fKYŽ"ô@Eä¨"5j$†‡´ÐðXÙUÁFþ ?µ$]oY e+Žoòé¿ñp,“1Rã´˜»ö¯V YD +ŲâMìñCÎ@ÙÂ΃ÎVtý–Ï IÅ€½ 0| TTr¹ôéÂmµïú@ç%ýܡƊТwBl•wת0ØÝ5K· ¦ÐDCßsóHö˃O`EŸWp^Éïë ¾4RÆ™ekÔ£bÔØ ‰ºlø.WÖ‰q³õ¾¯¦„™VZ£@H 8gÁcÉÎj˜3 ëV)8D·Œ@ÉÍaZãr‡¢@þ")†AÎC¬¾¯ b+±7xW…víæ¾í=?Íìo«GØ +„4@ 0 ë §3ÎÌs;¤ ….¥±È$‰}æg´ŸÍ™Mù=“ªí+¢Âvíz%<&o„¢Žó;7ƒù”KÇš¸ÙúØøªÀÆÊ#?²+Ÿmb/Y¦ùô:¦L¨ó”à38¢ÈãÐ/–¬Œé‘šqŠ;]”—&ï°ým”)¿ˆ4äÞÉ +a×l–^aŠ|ôÑ,¬-örãm4‡‰Äø%XÓåë!sN«päÊåcS×<†ªÛ7 Åí¿8!çÎçeù˜¸Müèj‚%¡ð2¾*SõI(⠜塴†~)‹£çŒWÚqk9za–aßr–qüx—Ò‚/õ>‹Ïâ”±Y*"9hz߶ŽHqJ´KgÿÊ©»””Qy;@'ηÇ×ÛÕÕ÷ÿf÷¿DЪ=rõw÷ú +ìùCí?ÓÔÎZ®Ó!‡® +´ƒÉ·½~,[ÛxoŠ-ï&Ö9 °D¬4ºG¡dC¬6…¶N~D`…q£ˆP«ø¬÷û¥õÅ|¤¶÷:»Ü¸édü*‡|K(³ÝÎUã"b+±P%·úØO™˜ØóB¨§5iLôµ´ü@;ÜÛ íÇÆݳk*À£ Wû‚@ÝgÞèp:«²ìô½ÿ×õÁE½³ß"º1ð3ýñ¹Ð™% +é:u›j–Z2ÙKÒïD0¢ÙÌüH¿XÏ¿ÒiÿÉg…V•‚ ëä‹Ü=ïdzÝ ñTAnTd¥†Ã[ÎDÚo‚í0×õ|ðü”!ÿŠ¹tÁ¾:x KuòžlOÕ`‡D¶Ô_Ž”ýPVš‘V] ,#ê›u +Uqñ5²pý´Aÿ,‰ñr,ª*!Ç/dß +n–'£†¦¸=ÎVg)âݪý›K)9lø=اÁÉA{EÕÿƒNléUv_¨pÂÁfH±4«…¶:ß\ÅíŠQnÖ"w+U9´Æv¤T +Œ7Ák»7†7ö5+µåßÚpxÄ] ¶Ó†”}ÿÌŠú-ì–u7Ó2ZÓƒ…zðóÍ¡P…“·¡O +œµ>Ð*làÒȬ-Tÿ°JÈO‹·©F­pN,¾KS…ly‡q"å£.¯ÝÛäkÜøcb¬÷Å™û,þi‘2‘s±XtB4 7m]ð9I ™Ë³¾éˆžð¤šÉqD×MmŽÔªVÕo Úö¥VoKÓcâ¯Ð"éãBþ_n¹žŸM¾öõrpvÍd¢)öN˜ço™g²×H€ì;ziɘ‰g~½FùpŸ ·î_>Ð?:}vDÿÕÝô‹ — 2JÞtD5±œÑ+í¿£ØKa,˜)Å .U (Û8‡ iHƒ&£+;‚qó'û†Zû]+߆ÚØ8ú¹MÒwL¦û‚Õ)Œ&7®ßVäMÃÄöc/ ³à ØúNî$•¹µ<—Ú—%ãð¼ÍŽï dŒ_)…à"ìÊŠ@Ú[Þ#! +—%ÕŸ˜òÒ^§H­ŸÜɶZvTä.÷3Dž{"„8XJæTÊí.º¶iûÒ¾ÝGb š+M¨ ä¸Ï}J@“ŒFNÿ¬’€!Ço›KÀ±ž0)×S^Ø,ò;ý+*L °ê1Ïçõ—ÖA:‹ôßÞ8_5›Œš Y=UÒž]!öåʸò‡ÅN±#Ù±ÙÛÒÏq5R§ÚšwE¸ŽÏD@•ó½µÜØ>+p—z5=½ÌHuÜgÁ~áÀt=¿òìíy’Éz°p¤Ò ð6ý)ù b?»ÙáÇÚ†(¥ËGÂym×é¶9zK>B†Æ(bŒ6×/ Ç„Uš|úOèAüÌîçñcïh&É}íÍçó»f„&Ç0ª&‰ÏýZ˖Ά$Í0ܸç³mà *öh#ÇQƒçÛ…·n½på ³ ( ÿ§£ÚzÇDªÝRz‹WØɸ¹ÏhðJÚ|`x*ü¶â1宂0÷×aLyš€DÃö•†Üøðe‚¿3u4 +º&Û1ÖÓÌ$§V˦@Ú°HBj;µÝÕ)Þò‡ÿÐä(Z¹qåМ޲ÜÙ¸¤0&4ÅŽ´‡ýVÝ1/›¶VÆå¹ÍɃó·„Å‘áöŠÌ¾¢ÅRùy¢"TÿÞ¹…­Š·½Ý°|à6öa›ÿ“rwõQš]Ü71nzy*j®û.èf€á¹.)óÐB¡m#$M*¥GÕZŠ»çÁtø a#låsůÙ0Ìè .acÈÁY›ßl‘Ð]· ž’èDÚGÆÊ/æ£u¥™~ù¿Ô®34tÌÌK×­)¬Œ+?w­¹MŒw½'ž1<™âÁ.Uð*íê‚9œ™æpÛÿûú%¢å›ä,„›Ý´'d Ä¼@*­œ<öèoiàä£õóQþDÉ)#!éøšÍ°SÆkâ¢Wkå÷”tA;‹}¤ºUoŸ¨Â¹¨ˆ?‹[ tŠý€‡ÝuÎv5œÉÎv„ø¥9u áSÔ÷=@µÉuåý[¢°.ýð€ÕPß²ú9óîa P~ÀK_}¶‰"mìȼ('RñӤƦÃi˜“E£æ?§¡@¼™764Ó"œñõË×þSòg» -%k×"¶ջ㖠ƒ¿gÒP숿 ùƒ'/á¤.ß„è`Ëù*o¤;Çõ_ºˆ,@íÏSlò?¡.ñýw[•óå]þ¤‚ÇÊ–qãœåàÙß NÀ£›ín}®ËDZÍy-"σË•Ý–j.xÛ)wöŽ¯–~w{¨ÖOÂË Ù:Q^óßé[ž-èLVø×)órV‹¡Ÿ“QÈõ;4 Hblþ5Å„ÓGEŠŠÞ»?S0¬­¢òÛ†áÚž ”«¿~,Ês'Îö ËÓV4ǺÊ}¤ÌÜr^?@¨–¹Õåx­l:MÏ­\…¶9 6ðVàRw%3øÃÕû’Ñ¢È(O[¢P CðL×L.,Ï\™¶yš¡H)½È#d¨ÚŒËäëÊ[£óܽX³ÔN«_o¾ð3#aLz(z«Ù ÏÄ !ñx…p÷¢Ú‰2égé<é£X +endstream endobj 493 0 obj<> endobj 494 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 495 0 obj<>stream +!i›—kX¯¿¸>Û¦¼Èëü× ü)ƒ¸Ó€¿jʘ’j ,+êÅìêàS°.)ÉÙÄ Õ2 ¦¿žë™¢w:ô6h°öûÁy•}NÙ£=”Óùôsüν‹˜Ö¿+¾‰ £«ú…šcÂiP‹É¤ÝpµéóaçºL¾¾7ýù*qsÌòµ»Øë$ù÷WÍ)prj)¾ä² 1yzD%@|2øoUü¥­Zi¿ \3’1 +ì̃fàsŒ84êlðæ²A‘ªØøt_yÚ€±¤ƒ>ãB½çñà›ÑÖ•fQÕÔ®Í`:ý^ºäÅçŒ=ùh.—íX2!¥»Xv¡ÊË! Ϡ㛕¹ ÿñP>Z!¨Uc¦î~Ê%ËH¸/î>\Þ3Ë5È‚^ü… +ÃòDjíäXÛ— 5Æ?÷Ô•u™‘c Ñvó4Çü“F—pý®¿œ tÒ +}‘¨Y·a­éì.d‘Ú‹–Ôç»Ûùœ6eÇ‚­èò·y¯¤ bb¦ñ©ÂaÅœ¡NµpÇà•\æ‰ó“Y«éjª™}`à ?ÛÞ›-ÖŽgŸV1P²^džПFîRŽV¹iÈØËËê¦DÇ¡à–‘œ1‘OÜ;šš¿Œ¦/Ô„ÅÕm±”mV±‘5bÍÏÙ®fÅ9a§Á±YÈ`‘d Ï&›ˆOÊ—DVîY:5}uÅ52c›Òà´†>&åÌXvƒ}Ü*}¸0”RíæꮿÌ'¬RäìÈ~Ô¸ª2¾`WÎj°`¡ÈiÒ$Ôžô¿K–_…§ê£iÁy½ßpÇë^Yºzë.PWÈáb‚ÙgF5NGx[I×­×'¤$¾ÃFþK†Â‰ÕqsÇz²‚‚xŸÓÓ?#¡…½ÒÕðÂß>9°y4Û-§Œ]$ ð b(ìÃÞäÁö_üÒ öxkûáTpìgºÏÉ$_X.ÐzϯÒ7ÌѽSB+|y./îÏVªˆªjœQ\¦Á =%áN±Uv·)¿ÁЀPÛŸ[ççW>"¦ ø+ +bk³’Rn€( ÅÕhÀ½‰âL…ßËj¦°m‡D›°ä4Cî>noêWY +:S@’œ['ó[ÿÚ’N¨,uœTùÄ[À¹ ˜y 4‹%ðÂ7 VÉ 5³×!Z_l­Éèó“ñ¾ƒsf¸ú[gßsg‚í6¿û=”¦û13v—ûšö±ÍDk5(ô<å™Â™hDZ2K4–ÒÓIà]NÙ™=÷ÃÎÄSOÿÍÂ9!ò`€}"5Š¤†Bìšw»/"ØZÁ£'Û 3`Ú ælC±adòV'„…Ÿ¹àS¯Þ‰†Kùõ¢±÷•ÍžLUÃ&¢>dG¨ÿßt_l¼:ìÅ2€ÔC¾D‡vÆL-ñ©¢b­`ÎZó¹v „Ô']Ú¥¤rÀ|W—égQ²¸ënKA ÆÁ‡ï2¶Æÿ…¥@ `}ª©NPh¨öWÍæbµ§‘õ‚î&À¤#êuæò*4º¾‚Ò?U­ðiôkæg=Ø1Û´owzÿm$ºK‘¢½öß]¡^ž‚œÁ·+[>öçšÓ<‰ 7F\¢]KYeصjtJ"Gôž‚Ó¬ÒîSAXÜCô×Txm C`íë·Ü`ß!cxÂÀ˜F² H)¾ú„Ø·ºŠ0Háö#ÿ­½ø†v~ö»‚?¤³ÕÖµ®ê3m±ä#|5ñA¨‚¤“;6Ù0|>¡æý(ç`RŽô×õúeX.½`­íÝÞ<†.çlíãú‘Ž)Œ{Þ¨¦ëϤ —ƒ4l§éJ?e³ý2J)ªœÝþgó$.Ã`ÝF0MüCˆ¥ñ¼‰Ýz¶²]{“\'É4Ô|P_TXGŽýÖHE·Æ ÛJõuÄ0“ øtïú„ˆÿ³yÓØ_QfÍËÃðåò‚·á\!!ÖÒ†zþø@ðƒfljþ;·5e²`4f˜©Rk»…ø”ª[¨A°ú5ÿ›Dƒ¬±…—n¶ÞçíŒA7 i¡ ¾}Hn_§X–Q¯)†*WQ‡±.¿H[XÍQ­²Å°^?m¸{ëõž6]qû@<Ž·€Z\µT¾úš ïgò@¿W±Qöù-ÑmçÂ.™_PÒÔ(ß߈Èwµìã‚`9rÈn ˆh¦ Ð/vΣ¯±T°ª ÁõÃh…RŒB#ž<¤ )‘— +âÿbƒä_Vðt²¾»# +âS–¢Óv`¼ÕÞ—£­9̳æHÔu^øƒgkyðžþKAmVYB=íø­O÷¸‘6€ø¨Á¥ú¹Ý±{‡3É FÜ…Üs$¼©õNB'Â;¤`ÅÛšò¯Ó± iÀ1gÆr߃”9&º žøÊ´ ¾±ÍJùi—qÈ…Áeü B*bQ È6Ó°†e8´‘¼Ä½‹§L{x¸góÝD#Z{aû_íCÎ9o×>™Ãot–hú*Ì—¿Vïch-$IW„Õ(‰£ÎôB‚k«’¨%•v¦É25„µúã5ÞãéÇÎÅQ•„éâJIøX{LÂ(Û|Ä Í‚q/¥hû§Ó.5D¨{gHhð$‚‘†±ZÈŒA{Õ÷[asiE·°¾¹Váp=RoÐ%[€´œo0 ¤Ѥ…3Ðéå8™ª*b6×![U˱Wº[“âŽò_–󈔄à®ÞÄ`ôsÕ­Â~íÓk&ÁŸ•_`êZU Lr®üw•â©™jgž§m›âLÄõ¡ël%Ð>‚Ø‘™$‘áܹd5 •ÅŠ&ú"k[µˆ¸Žvúƒr8—Bð­#ãF%ééÕis6ÈTå‹ãP·ðë;²†k‘¦‡‚­î_ÜÁ9Í‚'V·áˆK|YOANO ³ôóåtFQð–TcUZ–E’¦ô39æºð(æÀ»»ëÚ|E¹Òy6wå £-Ì÷xë&‘„b]Èèy‰ ̾)yˆ…ƒ<( û»æ6Ý^¯ fãŸùËå üû2²Çn·«Þš Ógª¢ó~,«ì/{ŽlMtgÝ:Ì⡶ ¢1÷AÅ.; {Á4Ý_$,ø($àN&ƒõû´Ö¬éf®ÿå¦æYâ×´0sN·ìèX™žºó™5{¥È…Bx}Ú•¨¿÷d—¯¬³s‰a0Wâ2ª?"¢ó»¡ó«ìÎÜUâñ„‹È¡Ä¼÷È”Üô?´©ØÏÅ­¸j[T–(/•öo«$Õ°²(A³MÆFB$b7` ”‰!F:nË€òAÕ­ãùO“«XµjC˜¶_ë7 =ÖO§IÒÃŒÕÑæã&W~]Ë°ÍG–b«Â0_dû¬Ì+ÞÜ>•3båbü·êàÀšY"ãúk•(0ÂŒœä¸¸uãªEÿZYp‰ií>WÞâv¸ˆçþxP¼ÐkÊ>hâ–jÚÇ䙯’§ƒpÆ~ +endstream endobj 496 0 obj<> endobj 497 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 498 0 obj<>stream +®Ýʨ nÿxøjuóªšÛˆ” Î~–“© d Œd6[ì7nìZåZ ^e7âvúøfº3…êx>"àÌRÊUçùà e A]ˆjP–ïâÒ*‚<Òå¤0•MÙØ…Ûý áÄOgD¾áyN ƒ¬S”ꧢ§Bã%\j¹‚ ¯3Q+FÌYÞÏ>º×ï×à-Õá`$W ‰úÏ‘E ?ô˜RÕ¦ÌrÊ_-Åã’,LP—YËx +D"kðœØ¯H茊Or]ˆ(—u¹¹…½Žÿähãë ¢².†Ê•âO0—Bky{ú]ª$¦@î"²Ú+Ë\šÍézÚà,ž‚’˜B¸diÊ–üSŒÏkÿ^/_šžJÿÿ(Ó)ÏIÈéӨ㉕Šq˜Ciž®Ô)MÚì`#ñ’krœÚœ ààáǯþ£ÊÃÛU>Ìa[ÿ ­©w î!í>;N¸fýØ ò§‹*%ÕDC»‚²hìŠ<¶Í¯iÂOø¦D^+̱°5¯•ªbÅ°›¿1Ü)+?«Ž©°˜Û ƒy cĽ©‚x*c@CÑó&kë8-'ãSŸ³T·Øn®+\ÑýZ¬‹y^õ .ƒGÝpⶆîëÌHGäÏŽ¦YÁ¾YËÛŒÉÂ'eQ¼ìƒì£•r‘fÇ"À›YÈfi dX¦'VI8Y(ÆjÕ…|=O <Ý'ÊT!,À|õàWöTv* ¦ùjopnÊ×Pld‚ˆyx.åͯÙ§?3”¨7Æ×Àw‘x÷ TS˜òÔ`Nà•9¹²ðûÙë·8IZâE{¡úV‰.;ìj¦åa,· Ü'¼ØìÃÊp“Ó´ûR+¶'U xú;•+ÛÀgµß¨¡Õ<W½V»T ñ$ —½ïH–§¦)½¯›ä5QVª ²ÿ¹Í|鯈dæoìÂßw|R@ŽnëÏZßZ¬f†¬Tµ_?‘êßáNÏk_AêjÝífAÜ‚0ÚÚë':˜01úñôfŒv`Ú²5šy¬nê¯â€Jeb ¿9LxÎ¥ù€N6áñÀÂÛÂÔy… ïR_8˜u/PD¿XDâ§ïH Rÿ¿Ö +bydç/6Â.¯ôÂÄK&…ØÚYFZ“ kf£npƒVÓü+GÿL!m-þK)( ÄR€‹|©‚Ý^À•íšãçŽn¯Ç#XÙ‰ÀXˆ“LTcqX¡šdb„‚߶?µFz:”wlŽ¢ +™'â  «}”ØMžg "ã·¹œb8ßç“8ø %ÒàÛC°˜ž»É…ÙßÏÞ gs[ÿ=ßa¬­)\Ä.PF:-2ÌÄ×å1# ›ª5¢éE-bæÝ-‡Ù@Ùb 6«Ï0L“7¼'¡9C½H™“¶ÖbE\UIG„ÿiM(!¯‹ô?Üݹä6“NټȢJ”Âzßr{ô°ì¬¤$A!Òn€uÝb×äÐ,:ub“3@à»EBîq:`•U„åÓb»ù«¸ŸÖç|‹œ`B°c8Ĭù£|¾3‚(R?‰ï´”9lÙí ÕÅ)Ê“àzþ¬ýÌI}¡ôÃWâ…}OèVPû·Ã,%-+“˜juù¼eÊþO€QB×£¨`Ëm&3®¯£Stñös°#'® +IÒ1½¶Ýœ5¥¬·` +¬&×eˆµ*\îGàRŸe®PE& †é>ʲV[ÌMOÛ´ó)Íž à¿ úoäA6IUw¦XýuÉAɾ`}£ÏÓ6Ú`þc’Dëš6’<ˆ_$<ÿd΢PsÓ€®•‘ íºÖ´wóòæ’Wa€„g£Ï3iù…¼øjÎ`üýÀM¾W—ˆ™ŸMˆ>ÑŽE!¾!¬1§Çê3:hÀ‘ÎÇæ õ_¾mŒFr²Þ¡ì }‡dP÷’ûí€sÃ7¶-¥»’h"f- FÛ0Çñè&Sªfû¼Ï0ËR„iæšË̵å…)gÀ[øh´Â¯Êkö5‹©ŠÑÎ æ’Í¡Ñ{¤Ýê«šöSõ®h†í9P@Ϩ0õ¿”êº`³û±'_ÍÒ5Ò+/ ü^Dˆª³P—Œíí~»êjÔY÷³nÒðŒ·"40ö€ sO¢ êYÂس'’öÿHìL­²ÆP»#dz;z™¬ß×N=×ÑÓyR³dˆ˜ôH½Šèÿ]]}eÀxÜßD%u(GöæÁ ù´/ÖªL,Â(›.¾jã_d#‹›`ÛAhèqžŠ±<ÿUdIo–ÿÏ›z%€™¿3‡9d_:'HVÝÕ) +¹µXʈ +Ë0h#A 0 ¡‘GoaÒu%ò…ƦM{Iý‡b£#Z@4&æ,³qUë¾d"9ÌZ›7÷*7QäÚ>]´.–?ª~·p<ž+ àÒÙI°¨‹%C<‹IlÔD•e<Â4e¨ŠMPrÅgnæÇÎ>fØ"V{éTƒEv¸µÆÆÙŒ÷-Ž-½ÚTQXæ"(¢GTL¼~‹dnË®¢7ÊžïEÈ¥6còÙh‘K»Æ=<ÜÝEÅ,É(GªÃa{¶¼v{’:“%sa…™è.°Ä(μÕläÒµ ÿ9ë£óW2NÐãT°Ü¼Æ¯|o+È5ªã”öea,dþ.³9æZO¿É䞺íåÆ6]õßAÐeñ™v4àm‰khwÜpªpþZ×¹FÇhèa¯3Âw†Ò™DöïXQ `akWè5»›w„ù´Ò~­Y|+AG¾p@éVÑŽ¬žú½Ô.”Á0µCÄ#’¸ƒ\[ß7‘‹fÙg„ðVqʼn žèþae¡’6‚Pd¡øqä-„Žìw^æ3ˆÃEw²ýnÏžܶ„ï„dÖBG1;ÙQäï¬Ï2ûMÀ£³#I§$6OÒx0µoY­[ìf éó],ɉôUJsZÊ!UÉëRª³/à²h0.ÉõlÓ<ˆc:Ì,£Ñ„¸ê„¨þRüIŸ.],mNãlë¾Õq@67\žp+áq†õfRmhweÀ<_8å­ùh‘"µžšÝؘñ¦°P˜ó•BÇ;J+ÊDÚ¢ê`ÿø®Ñr’ý ­3÷<“Xóf8QœjJL,L–eœ'YCJd2¯E‰ì3ìî%`r&>¸“èoG‘Jg +qÌ@ujÆ`h¬ÜWãÖOÞÔP>fòã¶o«WdCtð>Ÿ³‘Íl`pÌõ)2N:ãúëÛEq8Õ|ëá$iŠ³ÂŽƒî½wKö÷ÓÍ ðv5«CСÖ#üÏŸ­xÌ…—¯.?¤Å‰S(*sxœw¦V +¦”úDàׇ%÷aïÕ¤Ò¨¾ÌSŸ +ÖÎPýü=ŽÔž&ì27wSÑ/——û¯Q5°ø°C8RŒ¦y×ñað•"o+^‡¸ºÎ–:Ü©M†r××”ìÝ&šÌ¤1ãKU{~ Öî4Y(d1Öv¹=ܱ„´ŸCYß“º}¿^8 5¥>¦VìålNÄ¡ì úÿ` &"±Š‘—ìsX2Zg¯7]”“˜†Ó$R‘ï?’hVmq䀺13¨0»»I’?%‰4i7È¥ ×B®_¬-†h:þµ6¥³ÔX®’ÂbÒžå¦d.¾êh^yØb ôl-|}lP·éI¶×=Í} ÔÍ›Í#ú¼À´{àWTZŒþþÀkÍné^ñÎSØR~a +× á]+»&R~Mÿ/* Þ]êö§wÁ#BP:— vx@#õyœbÁT=§=Hž½ƒß ¬íâO* eÁ•dçêÇ‚ä¤öÛ—:Üéõ…1Ûò²zW’÷‰ {zצ5S’å: R@òy߀ëclß]Å&ø/87?£3¤oÎ0©"’9;0}rN=pÓF2F#Á\ì•¡žÝ ¸~¹-›´ÈÇ“É‹Þ‘É¥A²‡óS­BÃJ°¬@MqØåy=_õè[B:µ³51,hF…&ÑÙ“y5+¨/ш¡ÀÄP °~)}{E#ge·¼®;LYóE»"À-ýÅL¨w®=:rûîDë!¥è±Î&¾B³¾òI ¿$»?0êìNnŒÐßØyqÄ’›U"(wŒ²ÚÝ4~àûÍ‹âÎaŽ¯»S-6¸/øâ’ +Ã:“DZ˜AøŸü붓EÏA²+b#HBî-ñæåMx‘ ÄÑJ4|  ´% ,qwzFÞz}-aóU~üb¼rÜ47:;†î ÏsœÌÒk2JR“B¡.Ïh¯2™?ããÝ^mÙÚHç÷v›6fþºÇmÑ<~ +ꀀ¯_åFÀÆÚ°’±~w̸Þ3½ H©£ ' &õyÊ\w'ˆå`,áz³â5[Ë Ê}ª,DÛ±u”Ìmú$à …˜çBô—bdé/Ù™Ùùû¡q.ƒ³\ü›ôE½fÇÈÝ•¬×}Ñ8žâé•äG øx…‹Ûccѽ$_£Þ8û ±x_:²Õ²ÁB^DzÖLÄ:¶ë¬? ó=¤‹°¦92¹Yy =çÖ Vˆ–bÂë®H±’¼”ÂÑÁ¬•q“¬DÇšü +ªÁ'8×Ç^r©»j/Zjùq°ÓJÌà.c|+CßføìÓå_žlŸ-÷n$,¼º[~w@âÍOÉîúŽ¦—̼Òü÷žù¢¼¦ßyõ^ðé*T®ÕB{1ÎBÜπ ˆúÇørPÉC]ßTïšÒÂvmH²»0š×¤Èd»©]Üe›Ò®¹a¹tKšBaÉ|7‘—‘ÛЇ§|,©Ö®é~ã™jà⟾ÿqk’€¡§!¯ bòAÉ Î0´bÞB¬KñGÐܸblˆÁŒ'[‚ROœcð› ¾°Ûß±´Ûý}»2=ýR°õ#'¢Û¡.ꨂ374;“4IÉȤˆvëM¶Ôô éùÝqLrÜËV-hˆ˜i‚ã ¶²Ö«q˜¾¿Ý›_«€Ñ¸(ÃÞ£ö×ùÚs4‘m¡åÀ!LzѹóHõ iapá<Ιîõß?6®KæcᾬdùhsŠö+Ïz72—Ñ™ìð¤ê½/ \K°‡Šãð_Zñ5M5I4[e°ÍðõÊ?´Óõgùª²Z!”†'¥ôSñíSƒ»ðÕÜ/T»GZB—m'ß6ôÜA‡Í)8/´)Æ„Ì)Wm÷­˜ŽK 5;W ‘mÿƒ@ÁÔnÞ±ôdÞs]¾òÅ7°Ž +¸¤Ôß©CNuã²yî‘¿ÎIÓÃjw»?aRÝ\Ùʪý­Ú„Ý~UOúï£S2‘ži¥™VHd‚:>6îq•! 0$U€B@ïZò¼¼vwó +a‘bU˘~µ9[Ëh+>ù _vÿÿ·_•Ób›V»5 n;¯FB×M"†iˆÖ ç^þM¹WO|2/#Òl’風žcF¬ì +endstream endobj 499 0 obj<> endobj 500 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 501 0 obj<>stream +ãéÿ!mB¤0øÅ*+Ì5­ÅM™Åö 1ß·¾ +‚-í‹}•¯›HÜMZ¢ñøÖÞðQOyµÚ3‡¤]2ò#à{±*í0¡6üGiÔ +îL™”ácD3˜Ú?¿usXßT*.j§M{õ6²ké"ò‘èC¶®F/«uR9Õ+jx"ö² ì^8,Ìwy’Â@¢úçïe-ú˜Ðñây}ÊI­¤ï|Šj^~±¼C1? ¨±¯/©%çP‰$ƒv,­°ƒ<êŒàæ ß1yÍ£‘¢„ø°díµ*’0rЙ’°}0¾~e·oÖ4@¯…” ­!Z]{²1enÙu.‰?ù̉\d³GÄ÷ÒL4›ìÒrÒ^[‰Ê¹-Ÿ-™ÇgžÌ bÄn®À¦M¤‰ ÷š †L–$ÕµÈà´{ܱˆóÚàþ¿Ïi~=o +V kŒé«"îÿ¹X8/2(ùxA•ÈÔÞÿu>K³?_úx«¿<ç|j6%œëÚ•æ,ˆkàÊÈ‚P¡Iâ›H ‚R“¨<œaYÑxÀ"ükËÏ9aÒ`ɽ댶ÞzM~°•}3xøðŽ3tžQõ}åV ÷ŒÇr,S)*'é³L8³ZÂp6—à ÓìÇ÷Ö>£²l sjAþâdF)æ0»ù€Ì=ªC#Zò¹ÃyÕ¾Û²ÿ¯M“VÌàkP¢HÀÃ6u-ºJP“÷Ýá ¨IW`¹úÑ•÷±©¡¾b°,{äÌuV}Íå†í#¾íWõ–ç¿zÝ“ŸE~”IÛ·#"~|z9‘8GDQŠtÉ8õmþpJ3Ö8À2t~~‡$¥¹‡ª}¼ÈãÇk §Ðm›LÙÀueÁÁ¾K1›"X¸…¶ÞXWä,¯6C4Tö¸A¿”¬*páÔ¶ëñóÕ"ï¶4À"$X×OÈ­ ²MÚÓ¯ó“?Ì9moAÅ Ð÷±O+ì·æ“ã·st‚ÙÌÐ@Ÿ2dÂâÊ=© ,ŽP€èÀz+„õ®5ÊöƒÄyÙ“„iÊ»{C3#§X÷KP½ÊMVÌR¼,_·¼&®¯PÁ[çÕ/ÏâÙàLJì‰\tÿÙ&L}™r¦:ÂF ûô»„vÄïýÁ&Z2ÜOX„$Ÿo¤J”»ùHö´€äGQ)ѱmÏ#Û;ùkèýã+¾êM¨´ƒª”ÂÌü—ð]Xç(à6¡ä¥zøå—†¦Rp7À"¥íñò¥wù`ô[;Ù¦;`Õ‰5E?H™t±á*¯Á‡5)¶§rd XŽ¢é B=í_¦¥ìvEN~TET’vâœG˪éäÄÞþù¤¥DrÝÅDRc†°{-Q ·cÞˆ Knj†ïp³ dͳJ°`çoãÍ*°~(J ãx6ÛëœoÔ$&Èô2ÒûºÆ½{ÅS‡PòÇBáÛý¬³Áxò%Ø]­Dæ èƸ4ˆÑçS¡íB§lû¿8‚†ÿ•˜ì‚—#Ášµ6xÀÝTDÃœxÙ$’VïWâ9—ŸóãcKá²t^¾ Ûê%sï°á!i¥i‹víiÜN4¢¤o"ŒR·u¦eâ?§ ¡Nœq,ߥNçó[˜V{…—ŸSàa²ÿÊ@"nª€ Ð3"C5Ÿ½Ï«,l7$2†rqN´(”Æé”—}}Þjµ½ •~æµP­°ŽëUmñ2ã³ ¸®©2íÏ6@¦t ++DòÉ7°åàvü–.ˆýF„9Y™ñ&`Ã]¯í$zœ²)Ôú,Ò}vÑ,Á+êʾ¬giM¥Âz-išÎn¡wã4ð¡PÅÅ[¥2uÎΓÏ%Ç>sçã:ìáï…ôɶ @X0:WùËSÙD‹ªÔ×·v=´Lª‹aA£W4šœ•Jñ‹\}zæQ(?a:Ûªî-¾ÏJ€èH…'‰_ Bx"GpzRôŽˆÐÌ¥;6ÕFM..a…¥v¿»Äupÿò@º‹ÁšaH÷æ˜ùŸ±xMÚIÆNXoc|2U˜×q½UèèDþ¡Î q8š+ñø©7Hæ\¤°j×*»ê×ÀÖê%üì3 ]d^®þ__.þ«®$õ_‘dÑUÎ:Ý£«î¹Ë„soJ!”àܼ9‚·ÜÊ…{a¾\®Z®}_í>é|âÀxÓÌ­ö¼pËå¥åñ̈CÞªU&©ALB¼vÈõ9C 8á€t&ð>‰©Ým¼ŸÈ݈•è¾À­ë}ŠÏ7ŠilOD¥&Y§ +Ô„ÅpV‹µlÉ 3¶ÃÇ°Ö!v†m=+¶k 9øý¹}«QNÓó_»GwUtÊÿ=Qvè{÷ â‹ÂQÌŽÉïó fÿm'èN°Õ­=_=šrº}ˆ»ívîa`Ñ| +ͯ²´ˆ¸rÀ³êž²9A (±²toÛÃ@`‚ ™‚Hæõg+’;,ŸN$KÇi‹MéLP;7÷Lð }ϧuÝ'…V<ºw¼Ff³ æû\<†D³º#+ i8C¡Ü@èRäoPÁæ]­|ºP=±âK÷ÉØ+‰&ßóPäî¡3>ˆTÊŸK®¢~–¤Ëw-$;G™»ÁÖ­«‘â‚ge|ÆcuŸrõ» +GBº²åmÛv›£®?DRXmMÊÄUµlᇾ´³$fæ9îëе͑»j¿/"’-yôýŠ=ÜÏK¡ÒI¨A<ökª½=Á%Ût Ĥcá¸õï ¶§6`1Úe”f²Pò/ˆaÅR9l†¸ZZ¾¾†½»HbóÜäˆßRõµÓÀB˜•SúV  A­BT—©'RŸóªrÕˆ &P›†>\ ¿OBH=¿HµÕÿp€È$,*ùFd!+Æ¡„¶`(—hN Œ5Òí“í7Q×2åhëÍÈ÷;ѲÂÿ`·L:÷ +¸z!b}$ª€ÃŠKo* ®H^$鯩_]SmÑ%T¨]²ÛËÇ„$ÍP¿Ý€Âv†Óo )2°àÓà˜ ˜‡Ù¶¤lÕ4ÎÿF˜î4'ý…˜ã]­gïçù)bÅv¥”{8vž­…YZƒAǾ'É1Š‘Ðqáø´•õàÛõhlåzf니 O$ªÁ¸,‘¨µôL$‘|LŒ|@:«’‰ç´¤.å!0Âyòp/›J¨ðI´\öòt9¢$WÚb@—'Å{0#iI\zË)€@ “ ™æ ùdŒ§.ÆbWeïÍK Ș´Ž°»^:£^¸B,òÕ Íäë¹¼:Äw{€BRO”çXYü%»Zô§i¼íÛBcðSù Öéû×{vb]øqÆ”>æ®—A¶ÕîضÛÇÐ}¬„…lM=È“ûÅ ÙM'ˆP÷ê†wÁi­¿.ñYƒ‹1Ý[¹¤fÍeî™Æ—·syVñz0Ä õÝÁeIÎK$rÜÅò"”™SêË b±+”á Š³‹3Õö¸?ÑÍ\ÚD0c1ôªje‚­YªýÓG®…ÂÇo;õ|λñ!Jgg÷drðâ©Ž3Äâ+I‹ÉI3Ð&ò¦-;‹Óou°³«BmR˜™+hQéô™t4¯à§wÉ+ñ‹L~ö¸É~$­šÊ¤eïþV›àš¹´Fп2j±s¢ÆÐÕˆü¡i%F¸k´Êý_åŠÅ¤gÅÄ:o@gÙ6(µqî÷†Ö²àȸníÔÓÌϦ+úš°"I+å cШ8ízU¨ƒšÐß*eoh« ðá)a/Šhgqé¼褆¸ñ‘¸zóÇÁ'ŸZãïò:×ð¹tr¹Qmóü "FEhÚ¸Á#»~þ߃„@Á_fõîyzb!z½¿ÖÏ5V&* +Ëﲨ­50ç‡Àò‰«^n7¸‹¥E<渎Î\‘Œ˜üÄ+§I£éöRu÷‘WŽsÙ,l=óz3H@’5 áµ& úuµí1Ôð­Øåbjâ6–uz-'MÁòÄmêÃ(]*9 æË"ãxÊÚ™sMV]n.q‡ŸŠˆå[ áÚ¥¯êÀá阪Æ(IJ%!X^¯Z;®Lß'YÞÚ¢6A¤²/•¹¢GhV}0ý+19k¦*jhNÂ;µžË¨x“Žš—X Â+sçCë ÅU%kÂz¾åÜNƒ-0ª_‘ 2K?aU”¸Äîx=iø Öêòœ3œEŒç1! +j7‡»±peS†˜Ì—Œ¶ÙwÍÙ»FQ ÔÕuÚ%¼ÖmJÕ-ßR<$cR„WZiÊÈ~{ë_’ˆÕ|S¡]xͱ$<ékl‘³G Â†¡9…˜êû`DVO-?*GέϤ¹Ö}U7|‰H5JЯÍhÒ`´¶.\%É#¡æ—ä\”rÂÚ‘˜ÆG3Ù¾aÜ}ˤcÚ @îM0Ù÷É`M¬õ t„.þYN;œzV1Bt|O·RÇ0Á$åbæ­á ]¾À™»Ô7À$jöÿyI:¬?DeÑR§7£àÑ£yl”¹0…g€_šwfå¯ÆìIÿíPŸ%µJI…t‚PÓ£+. ‚hJíâl;m±Rbzó©}µ›!y¨¶‹¦±Úò˜­#›| +_‚jd~*‘v})@%žuØ–4™éíV设‹áþzÁ· A±hG²®ˆ]ïzï¤dd œ0•$@@d6mÃàO«~¦H¦µ·2J ñ»2l®¡pËSÇ::«Í<Ã93Ëaj+ Ì¼{n ·×†ši¾•Š9_ØáêNÖšÆÌ™¶É}Ñ›C9ƒïèE}áúwš%¶‘GÈả“ßaî)ž8ÕÕ‹2Ðänvi%|t +†qÙ{™žÕXLR¸%*`vG6üº…?!ü¼ \Ï2ºMËÁ5© +O ]8-œ¢ùZHÔîŬ¥ùí±z‰Ÿ7®Ì /Ň®6©½|ÇÚV]Ô8 ºƒ5ÒAM§¯Ä˜±¼D, nL«gØ"8¢žþ’|ñº9O,¶|ïÀOí!&øjõŒ:)4ó2èïaÐð- .’wØ»E±;G´ +{,`¨-;p Ô°´Eõ±‹zyB 0ð†Pnëľ÷ùÎcÓ + +endstream endobj 502 0 obj<> endobj 503 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 504 0 obj<>stream +xkÊߘËÐÎIA£2‡#”Hèmgì}:%!€úü“#r1 ͈Qd#lhìã‚Æý”Œ/Q×]· ç +tÑ¡=¾€K™¯†nŒ\톿¯?¹qA¾ðÕØKÈeqbº,|tXªøºPâ òÁaëùÎtcÏ 8AÝ,åÀ¬D“éŽñV§B€‚!ž#«mDd`[ÃÔ숊µ––ixÓ8Þ9Ú5nÙ/8k + +À„œ‚ÉÏÜS~¼[ú›ΣŸÁâÚ ©¿sì>?e_ÜN Ò>éO•¯‘ÏãkˆDßÚˆ…JæâòpÝêw’ykž&Ùÿôh\”õz¸ËU­Ú†À”»öÇÐï.°^ˆÐ,ê=ìQn€)o zÛ{¸âR‘r4BªÑ}Nª«;ÍÄ”,Φ\¿¨Ú‘ˆhîr =W7<0DX­±ÿ13-–ø©îž/t<+IR>ÎÏŽÐ=5¤ã¥C#8ìêWå2âsFÉŠ@xÞT…výâ>]Ûª!aðÀÄ—:(;äÜ `ª%èhÙ*ÉqP/FÄ~–ˆ][LÈX› "Æ×öE¯¼ÄðZwò%’BˆèH)¨ŒË/˜ÊN»hÓcj +òº5Ýð7œq9ˆV\ó ÏyJïG-=oyÚ̷ijÝe0ôs‘ëi½ôÚ0¤iÛ>°TØÉh{ Ø(w«´Ä¢Øƒ Z'‰à>Ôýÿ–'ñQM®Ï"`ýäAýq’õ(E£'Xy1û&l%‚uæžúÚ.°åý!MgÐsUWfím‰vÅU ã­•cŒ,ÒÙè÷3ƒ™¨Üúî„1ÌLNÞ¾PdWYÚ•ÃÝã<þ˜õ8uˆ~îDr¢{«wuUæiøb- Â•c;ë‘Í»Y±nõ)„©¤éj dz5±¡ØjÄ\AÜ|0µ´E‰LœvÛEe*ÝÚ$n{„›…½whÙ±çìN{É)!ïÛîoòBt´Ä‹ù"žü"ªÚùHç׿پÇxÿ¡M×Ùçƒn*ວž›x¥Ô@”¤|¨r5ï€Méu_DpØ9™dyýæ¯Éè#‡&‹j·ì@â°k2™Ê*Åq[M&wÕ°‹L <µpŒ˜IØú~¾êÖhgÛRRüßøÿG…ÔÇ6·u{±÷wGfÔȳå¼[Ép.‹—+`·Rªº¶JÎD‘“Q”9¼“Ù"S‘“63Î7!JúÞn//£¡qFAKFxýØ!æpÝýÇŸØOŠ·ò‚U‘{V°¹ßv’¹„±ý/àžÙÚÿÛqßj:E•MöêÉ t?õÌè¬y4-ÜPÇ ,g«=%¤„·‰0»ËèÒúµ`ÀOüIT62'pCo„šð¦£õSA¶F¯î}¨5œºhï{uÈÄåÎç‰/÷Râ*鋃b§Ÿü¶|w[ÀÂ_= +AÚ¥Øú,aøcY)ºÙA5oŸ3±eAr9R蟂 ̳Ã")ï¥ý¸o>ãÇ"ÞБz¢ °=XðëÖãÀ–hð-Ò€!ÎÝ'¼:QùFtº®ó5é2`[“Í*+n9—Ì·fŸ&#縎€'·®j©—F¼ (ð¹ÉÇ+N6CJ,ÞÈÒm;a‡xQvïfæåˆ^Íåêë ú+“I²Ψ&¤öö e›3m![XDí1­]L·FYÁwÝ' çë*6YÈ¡Md?Èýè¦ÓÌ4 àa8{Ü(§ŽÇÍÂ×0)déb Š½Áâ*•iѳÖjƒ¶&¸ó¡™ixZ…°uAѳË!†¶ˆÚÅSUqkí£$4íL8‘{o¥9uå w†‰Îùªî„®ve2dÌÙé9pþý‰}?©ž +ÝÏÔºcžÆˆBiG0[¤4¹HóÕ)†ºìº;¹oÐâçΣž…Ú'+N'¼v›äjöì^”^š:ô~AÕbw®zÊÇ)È +Êm–í‚B€`˜þFOó@Hïºúßn@»p0àî1¤v3kɬCªJ+a#Ë)üÄ™Íl¡¼hôξQ·Ø½Š€Ü€Yƒ!.<ÏöØ8_rÞÅ&sv´q½Âˆ!.b¤¡BZ”èÝÐ:T©áàL*³¦³üôj΀&„M¼*~ÿ— ÜM%`W"ž %.LèERÇ®rW‡ëürã3}‡†NY{.ësj¤öc7‹–¹|Ñá„òj ù‰ùÝÝ”/q€ãåïŸer›ºÔÙ8¯öÖƒ¯MðDŠfoü)¶⤠ßÞ Q¸ýê%€×“ÆkÞT¨ÏlÄBê>oö&§Æõú®0O­EÃÕû1BŸ’º[¹U\ Æ‚~’þm¿Ãª½3¯å”ÙXÇ;ÍÌ<…‹{bìÞÏBdzCƒ‹Ñ„2 gíÌÍKPž*4ïææÛ J¶8,¦}ú£¾Ñ,xa~‰¿XY|”(½à$ýI»úgIÿ&ö_ÄË9ãõè{ê.žýèÊu‹&¼¢ 5ºwýÅ]=¡£H~ÚÄ]9 ²Ç +} wÆUvøK¯éï$ƒÀ—p85GŒÀzíÔ÷ú¹ÂÝvVŠÑѵQŠœ´o”V‰ƒx¶W÷‘ÀO]EÌs¦Fö˜qÂ'¢d}¡;~{äB“¹Š½ëŒ¬ì·¬ÜÏà|®ÖéŒm&„DªËÐ=qÛY÷ …`©Å©Ì .Ê)DÛË×0VÄý`Ÿ×y諆È@»’mYWhfñJdp 3Uî0…n‹ûÚ¹ð|#1¥Cú-Ò‘ªbBnŒòHîÖ9|;˜kçßòJÚd$9¤|Ÿñl˜¥Dc½C’ñ¤âáJ æ¶ÌÀݦ™šéªööp˜Hç‘]•g=J‹ù¾3ùøµ×"¶ã q{;XHÉ#¦J$ô¬†Ù1 èÞ6þÞ£)2ÍÉc犞vÊ•d´¶ªòh”˜1+“´ “\#‹ ­.+ͺ×ȱ;;³øD¯~úe®ÉgØ”r¼Aœ@EÅʼ2™É®]§ï%O÷¸~ði)Û+rÂ$ïŸóÂÀ“¤CÓýeîíÉG“k6I^ªªå©½uŸi[ž*$ÈáÆ=1:;Æ-ãs-΢>aág&\ÒñØùà„|}IÅua&/ÖAÚuÁœÁjR[cÍÇö› νæ\-ÆÒZêì®6×¥mMöÝ÷™àRã噿½ÏŒ€¤´¥‘lÒA¤Eʬ’i²Ó‡¾êlVËÛ[ÛzJX¹SÉMçOOá`'_3$2ö§ÇŸ0Æcˆù€ïÏjã5–¯ß‘çUb,U‰‚M“È®f­–70+Žõ´VXëÔMCÒ¤§×@‰g6©gVÁ~ &O‘ ÒOo+Ðô…»ß:­Q)~0,þS L¿bñhb eò§?~ÒlDZpmh‹hÿI™kûçÍûÚA¡ûú½ÿY ?|'úW‰´ª’ +HD6Hïµ%ê–ÊÇW½¿€£ ûl³zÁ{æÏ»´(s6E$í‘IÒT­ Up‘y:k ;ÁÄó^Öܪ]è£æâ¥î?~ÝIø»T‡‡{‰±ìú#×G“Kɇw÷nE NçØG““(ŽÈäFJÍ[¬ ¡Zgñq¾–5bÉ<ë¬S‹Óû—õ·Ì~㩎ݼRsòF½Ú.H·H3»„LIñŸ¤ƒ]EÆ÷C£Náöšçt ¾âxãÀ[³™ >Èï¼Æ~êMEiíDî1ö™B­„ »£¬gÞCµsˆH²y– ŸÁæù˜¢i˨ׯËU˜ ÚúUkt‰Ù%ƬWGÔÎ!û™²G{;©¶ýµ‚ƒk GRÍÞƽj&w“ì_•ØI©GU;¡«#áã+ÕÄðr)~A_DUmñ6`ž™úÇT†Jo3¤þªwGòìÂخĎF§Fž¢ŒGÃ.(èôªGXD|Ϊ'{è +»²Ê£ž7G­?¸™—påcÊòv.²¥ŸÝJr•ì˜0ÁÞ"–á$,õð5hϾš7ÖjÊÎP¢JW˜‰ˆ¡Ç£o‰êáήªžÛ=l§êÀ"S1´‰”ÎE­¾ÞÔ¢Æ*rN?¯ õ‘ÈVR˼ÏõEàymà8FAñöP½¢à×)_š=*ÙÀ[eCüM­G€‹‰±FÜ5RT™;‘[êTŸï@)9¸¤ºÍ¹ÞR£L\àžK!£Ãn2Cü ØQ–iäerÕj#}«AO§túðÍæ}ò>¼!¹éÊ û¥ïºÛ‰ÇÉ«d"}Õ©îÚ|å{ªE-« j¯É¡‘–‡ð?)ø_ôCbvO¶ +K±ÿ¡KÈ3.ƒH#~Ìp;FabQª« ÞTúŒPö~:7¢›üå;óáœ8£b ~eƒCÁoL`•nÛ·‘d«r_T€=e‰Èë‰5²‹×Ž’ƒ)€ËBVØôîfX´’ÂI¯BLäÈ)6*,ÛCŒWÌ~=mªÃóÇ!ON,¦~ªSãúù€=É^­Ì‡gBbXYtj󕵡ð +~ÀnÖš`_·2Ÿ¯ôÆ"ΑUo±ë'±Ð®Ž2@FZ ZšþÑ˺ºeÐ/Aϼ «Œ´-j&+ÜSºUë„´ÕŽ)¼ø2( ÀÐ(Ñ™$£w5ʱ´òr¥Þ;ËgcC©•é2=O*1£#P|(šKh.ș㾂ãU¾Íìåî<«ßœÙná[Ú¬’ÂÍ€¾þ×YGmu¼ÃØ‘Ür­:ˀ䮯aÏse¾S ®1*¨HOê‹Ã¹„´n®ƒÜ]Yµ3‹Méd~?dûýRÞ*Ö£§„b¼ _È컾ÅG:±"a8×-W®¯½SÌ•ÉŒi뙬ûI¡áŠç`Þ÷=dÛ‰Á‡~ôù7w§Œ + òØ \”¨˜L4ÍSip©-zJkC2èoç°Û2ߣGÎW}rj9 qzÓüœ>èܽßì<æ.Ù€ÖrH¡“ñµôysë5¯H¨Üã{°ä°+,Ã)|Ÿ?… ·hH)ç*ƒ£Õ‹îÆ G€Ü¬Ià £.Š¾åùÅÿÁfžÀlÄ­ë$š‘,‡Køê΃N ‹š´´ŸaF#Ù( Êv@éê ßØî[æÞbd»_v<ßÚØÂ_«‹ÙÇÝk+ €ÓÎ:­ÎJe¶¥·…©L9S,AƧ©>¥ÿmÜ_GìpÅÑ’Ê òVñAX$“PØ«¡ô‚µÁYÁ|hš€æ]艧ÖèÙ÷G¹°¥GÝT)\í2þfèL©§ Çt§úWá×Zn³ùhÉF±NcžœqæØÈÛp XhÊ8¯&áÀv:µìˆ50h!m¾VM+š°Èmî©ñ}Töõje€÷íýÞ'…Ö}$£T+ Û/¼u1Í(T–+,Z:®œØ÷pÍ"õVäCz]f˜#jÆ=UìΫ¶™r¼¾å!ŸåšCÿ¹Ytm™¤2>'ÑüÑ2ˆßt +¯ì(6Vµ¯=Xa·WXO%yœ‰éB…Â(D8. ¶‘šDòÿ eß|fÿ bÑÑb‘Â58µò&ža;u “¢›¬Õ8¼CóLrÝiUƒ|J¨…ˆØ~¯w«‹ƒ¬óGŒxÁ|“ƒ8»ÆˆÕõÙçhœ¦¾)L!Ðy¬¼cÄﶎ^”Q‡_60ÁgmÖ‘¾œy€æ?,­Zgù8ÊŠK˦ÈL¿{ùíMÑKbÞ›÷éráqÈÀKØĤ]] éó¹QJDÙ …9UÃôdj%gÓ¤Egÿ¿ÐVs÷Ør%+¨ÀØ9æÚ³iì é' Ç…Zy¸Áý‚Z—|ò~ã^-wêRž²âÀm`IGšpßZaŽð‰ÊSÐdt^Û §ôJ–ÞVœ&ÀÆàÍüOm(L>˸µ]“šÓØ5.È0âÝ̨3xÏW«'~—ÛhJÂB—ûù;Ì)æƒþÆÿ*óØeÿDz+7Éc¼o`T€âÝ-NUžÂ-YY3´»€ªx]¨–ºëù@0ȃ}íQÖ¹gÊ]£é“dâ;ãTÎ\\ムrnZíSHš ?Ù§ƒˆše?Tç í»ê„ÈußlüªAÜp@WZrhàx]?¨"J»Ûà¶Ê.™KYüœÑÏýÜÛgúmîÐ:ÎÓÓE½‚NŠ?@ÅA}‰Ç™‚ÚÀRf]Ù¡i8 +Ž>I}‹|±øÀùžFRZ¹Z¦é®Î„‘-= É_èô +Œ£e{ï½Ùåió!{<)þãWåà®›ªs3æºØ¾ÃÄ*Äb@½•ÙNÚDàªÀÙkÍj/»ÂÞp¿k•-¦äÄ"á[}éà zr¸”0\©ùŸxsB+üÛC>`$4ÝÁ¬‘$$ümŠš¡R'jXé÷#W8ÇÜÇ +endstream endobj 505 0 obj<> endobj 506 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 507 0 obj<>stream +eç7üÝû[oÅ2«7¼„ýµÇ0ã–/|ÝCL„bªkWöÖ Ý¸jPMªÿmWùFjÏ\Ëaf ‘úßó‹O®+¸Càú­ÑKR½lÁ¨µUkþ ;—úí0œáÁ›÷“::¢ˆÍ‹j–â%å$SÁäfÏUúO×]úå^ÊhÊ'ä”]¹~O>,Y2ã¬é+v8´t‹(£OF®³z½¸Ðÿ˜ÿÀTBjPiËò¿ýy«ûÛä[ÔÜxj°~Ó0Ãn‰Ÿ”b9Xÿ´`ìôi0Ù`sˆc3„«ñéjtäàÒ/ĵøŽ=óœÖl}Àa“_eÜ¢,Ëq T1rb&‹wy˜.Ü—1iÔ5P5µÈýSÀK½*ÚEŒ±8v>öt;IkñTå,[ïþ–±$öÀka U{¼Eßë™ÿ;Â…AiÂ(B.iQ¹IÚ¬å]SNkçv$?e2÷ï.ÁOó‡×ÙLÅža•‡pi»ÊÄj+Teª³T +Þnªì¦ãŒ)©Ð ƒ—­GA%õÀn¾òûòõ-‡† Ý&aÍ•úá?o(ë·ûä'^³O§°6t!Xò?vQq®»˜áŠé‘jCoÚFˆZj7€ó˜Œ©XóžÔAÕ«¥94‘FéÄ™ ¯&ÑbŠ¼‹·õË™ð< ÒT·ë†#ªüœÆ 1(/]=Óœ•1Šá½c²n+ÀˆV‚èö|`ï9uƒìAìIÅP2ÏâÖ‚žtglÉ|E®§D’>Û æq7­¹\©øc7;u Ë}aÎî9â,Æ,2l¡ÿ¾ÄF~BI¢;DÝ’[²ìƃŠ.Ëæ³²ö‚Ü8þ‡ésÈÞ¤_íQÈ×ö؃ÆþS˜þã=uÆÚüñ*˜²9[¾ ½ÉÙq= Lˆc]ó» 9>( ¯¾\FYÄ­¿¹yT˜±ðàu¡âÛ û¤†…±Í‘"‘¶šño5ÊÅ!7w°4ôß¾z€Ïâw”½5Þ:„®<"×gÇñÑv£ˆŸíV¢í <í¶Öûæ‘÷¹þ¾`T#Mùþ¡ØRzM1Ñ-wÜçPÞ¸=¶)•¿BápCKçSQB„íñ´!¨÷N ¢9©D16IWÔ`Ž+B+;9.wbËô@^‰?ðUþbõúDÕfþtŽX{²¦·6Ü1sý¡%š°\©Ð²P*dzˆ5gÍ£&cpPÝ5‰Ôr¶Ýh˜ÚVô©“hS˜ÌÆnòˆ$s§Ð)S™ƒ©óî"!7ú‘î\1q,p»”Aúœ,¸±öo÷OˆmPªèâ;¨œpÍ(¦_縙FTí¿É¥¯Ä¤“ˆ2I™ +؉–& ’ NK•Ìáº#éëSš¤e0rÝ_’Ƶlâ”|k…CV?ÃA|1L5¹±p…KÝ?qy¼Ü£àÔ’‹HϺäTjÉš#;¸?Ñ0.ù<AêãÁÜdÚÛMÞ$uÕKò\Îâî +Ú²÷A:`~‘&ÄÈÐŽ²õîG>€üØ1:pñPÇ>Š°„“Ööj½Ý žáÌOì±¥B­PpÞ=*f§c­ De¡¹·vü&äµ¼ÎodÔÑ + +–i¸Ã8‚A 1Ð&öÅ*ÔAGÕè?ØQxx +yp¿x=¾=·‡WŒz¹Õ‘ïHˆ¡/‹w~¥–ʈñ®ª,ŸäGGŒÀ삹á·mØïiü±Ãú`ÀàÔKg'I%ù?Ž~¢k¦Fƒ|7<µ}«¬N™-ZkD±b0€ša\ÐÁ@äˆÀBÖBF± 6™µ}q’*ÅhL—›ŒUû¹½kTÛy×!]Žæœ;ýµÍµ834ã°y…këV…HÝ$ dô¸£Io&‘FÃKã_²Ôˆd‡£q_¦H¼’›é>*½Â¨[œZ< ”³Ü„ÌòÎuÒg‰–)†@ÙL…Ù Em]¶ä”#긚0dµ»î +½îy}Ãe-Ìqn%ÄlªV­[Õ’Tû…C +ËK;nX£ 2úŒÄß;í] Ã-Çg¼éqb¿êj\Eä,³2ôQkª¸6Âf;Ÿ1+Ý‚%–Å% g¼A¬ ¤ûÔöN€¾bt{öxÂ"VZ´*óö“ŠbnëEÛ¹â|ó&_Ê#O ç;sZÕ9{kGÛUÊå HÀP1å›Þ—cl½¸…êé¤ÝËv?Ø»ø»÷;5mi-Rœôýg73bîÓj¥cÇG§Ã¢Þ1žL³ M÷n“f{±Éo“)Þänñ`ä<-t{碡©Ô6í‡Äm Åu/Àû`îDEV¢‡-†$tüVdúƒ|©™WãYù:T7]­ê³¼í}°ýÑrVò”Q ”¼‘Òe5 ©û8·pƒŽ.: +¥ÏûUiŒ„¢WÆ¢†H­$bŸ`óÎJL‘Ê€0æû¿4À´(ŒJ´µ*ÜbÒþ)jž£tñ*è”3ÖufWinA“¨Æ>€¯­wîµß)=Š‰`Ó]ëkòUoåtâèïùRôÅŽC +ͨ[êŠ× /> ëL,zxÁ2G|P_ÌA áwg#. 5(û˜ZqçyË20å$ ”Y +›¼h90†õû /’–™]yäÚ^•Råöè&‰ð”ÄÙ÷v¡6wgÌYh½Ý¯aÏlŒ¾âÑ5? +NNƒˆází‰4óï°ÅGU`ëÉnYöV¸÷Rë)zü-ÖÄu§\[^SVÃw6¬UûÕ°_Üä)&?€®”÷‰.ÉM£𫵊[95Õ׸ºj5ñ¼þe‹ c„XÕàn¿Ô^Xò(oÎŒlÑ< +âá Ø‰ú%"ª—˜_ª±Ð/ñdB²ô/ ý"=ÈUóŽñ5iåè/Åì:Ú0Å#žRö¼^é|ŽÌE ¾pÖРÎ$ôrB-úÞœY„'XŒÎ=óÓŠÑ„û"Cîk7Ùæs­bf%4úZÕæ òÄÆj82yñ;•hpZÓÁ<4{(³9öI@F2‰Bí©¦W‡?:Ój÷‹‰éƒ'i?œÒ§ãÓ…D8*|ŠakË_…&ª‡ÆleŽ‹ÅžâˆâEZûh–j¾ÅMûÎ#úÇüœnÍLnînÅe'dÕ -GñuZ:#çÿÏ3«€»pËbÝ ®?&Ö¥¤‰£úå™ÂÈn¾!öÈ€m !ÈÓ÷âºO + Ú‹(¡ÞCØ åŠkÊM-ïñ›¨ŠÇ‡±x¾væåŸõiy'ÅSÎÇŒÇÖŽuFI P7ÉqÙ–CÐ5/Ì¡4D‡;볎öòƒ:çúY•†Ö<‰€ÿYDå›D™ÂˆåÔ»#P/_ܾ`ä‚ô£¡nQ8°gpÈ)W|P3…&œÙ'—kODŒD…¾›fÛN:%¨t|¾Òm’]XEÈ~·'«Á‚3áOò¤C06p˜|.Œl×Ö+Žn+,Ò4|g x%ÓôÚ‘’™÷YÛ ù21üeÛ¢ŸÙ{Ûà¾XR‡ð^Loör󡣡$_4§,ÇkŠ$ŽúíÛòCTUÉ*í—«x^Ð?©w©Z×8×—äúYãGñ¯yàj€—Fq]¬3òPÓÒÇ°ú(³QwX_¯1¢Óï”'¸§íø;Hy°e»çYx‚ˆE ò¥øA/&Nc÷Ž/€RrÙ;K"º4T¥«wÔ‚!"ç=ë©T®7Æuæê…[)MÔ;5Q¹Þ² õÊcï·l¬a[\_¼ÔS9,–š®¯¢}êéšXï6¹$±²h:¼N(cBW·7³-ó-k1w§\;þjŠ +îr„k°SƒïÍio(½Ì¨ ]p&ºêº0›Q“Ÿ^"†Ü.ë="d–Ô@´~`t·‹«žì"Sç°óZÿÇï´þ?sÕVÊê.=×…Þg^š§~jôÝ8Aíuµ&hD€MËõØ€¯Z?»íºšÔdzC€tžº8Ke`ÊÑ7‡Ÿ™s‡³âÄyä–ëDJu|UˆÑÛgW}>#¼þ¹sž¨?Â1Z…®#SS¼†eP³È9ýø‡ uÔp9M# dð3rC®ÐY”¬û¸L«+ÊÂŽrrV¥p6í06m†ŒÔšË´¦ ÊRµç{mIÿ†Kl6PÓX)êgèý£=ÞpYÉËuÏízÓç'»ãZèS¾Ñ'58m“ô¥îS |Ü°‹àKõØÀÎäìåYÊ"ö·Ž¶ñK¢KƒŠÕaºë•„ôÓ)R¥¬Ç­ˆ™TF_3ÞÆ{é5ñœÄ× ±÷Eœ¼®BÆ8 [\Ô‡ð]òœÌý·ûh"á~a`ðO‘}|’:ø‘}±}Û·¼šH-û60ßÿ㩹-üØB–ëGÞKZ ´èˆ,Ô9¨ý'ªqÍ\ÑtÚ?ƒÈ gãiÐÄðJbO5»éÙm&ÜéôÉ… U¤b[ Áqé™]ê'`§²=-4Ž]2Î +G%Fv +SÞŸ^wŒôûûVfH|VÓEuÍç¾Þl'S¬€j5äV(˜ÉU<)KcŸ¹iOÓ¶5³,ùRmßGùJU~ò˜¶È¢Á€ˆiߧ0¥ýW'|ÂJ‚ج*?“°Ù+±,=—-å*¯ñ¤½LƪsÖÕµ’Ä…%`9=øÑO†Ú“¼þÈØs² 1³‹šÚ5pA©ˆ¸¿gòÖK=è]2A0¡4ëÂîPïö!(!$z˜u¢ß´UÀOhI‹l‘L JXñI?&y=©¤V ?æýßWkM-öÖu2Aÿ®³—‘¸Ÿü³ZlÆÈá8J +ä'»Î¯Vó‘‹ÖÏ0ØbïáÅ]Ù7C¹:éÿõÝèXN„Ùð¤Â¦è„1ôü¡ÖOÐ €:ÈuÙŠÒi(ø|ÃÖN^qx¢BÁË/vÁO ¢¬<¹Pìk.@Jú²¹Ÿð¥ï4æÂRýgñÀòÆIé_eý¯©¾GAg™¡ÈÛZ24õAÐuõÁ~b´LÍHp Aö£Kò úû›>RêŠaüÒ ¡¬îÊ—#G‡ý=qÑlƒ(Æ?º¾F4Î?H +‡ÊS«Ž3wc‘•v#KÄpFá1P¶Alží¾Ûÿ¼7­8÷Fl¿Z¥‰©š€ÆpÚ¢Cª3WÛI¤ ìÛmÈJ­}ÚÎ<úPѶí„oË•2z•í¿sþ®½ª;#vol®ôÚOL!Nä]àQã“(`LÈ¢¿¸oتTÝCY}êÞ§6> “ýH›fɪ¬»ÓÀ¿ÖÞÉ!!¡K9á™™ºÄ“hýÏw'YhêåÏi7ÞãCðâò)W1]^ª•qKc Þ—ºäë‚}-Ìø ;«<ÙÒÃðÁªî¦vj—¥^¶72fZKå  ®ºuj¹¯`F¡¬46Q2#ðøžœÂ&-'$]Ìþ Ô’:èN 5Óì´\ó +²—_¥#ï‚£ƒ$|'çfÿÈßP£€‹= èIÅÃ?|©r§·s ׎l˜‘N×ûI— ñƒH¾….Ò&ÛŠ‹èT¼Þ×÷à*G»U=˱s2Rò{i¾²{€_¸É/íî2Î~­tåÐ ÇÐàp‰ñ—è³-a;ÓhÜÇ’.­/ës#U¶íû®Ä£$Rdm¶YÚƒ¸N´µÞ0Ie{ù}701œ¶} ÷j)çn/ÞUözDõ^saNÚÝD˜4¨è.íLmÂvf C8lÝ ke%EZWcvvÕ9Ùá¼çò’4E’&uFÔÐJãIÈA·5 ¢çÞblØDæb~¤ó4嘲*N×lúùôž",ŽGòT@z0gè”[LõÓC€– Ü èjV&5ì5ZÈ£¡0w¸÷-¸+÷w㙵RöÒ„"d9Ü}×3(„ºA µyI+^C‹ÓÈÕûDµ Úh ‚^†Xwš®†húZ+Ž«g®^at„Èš*Òr(}µmÒ‰Tð½{Ý eï#)¿·¬°¤õÒD(Õ¤EÉ’ÌGËH垧g R <°õ³É£‹5&ïxÛŠ TÂq׆\6—¦q:hi‘>{’2&-¹¶ü`/t—Çk’€ ’ªu\çùßçEýâÊ@V@Øšc‘]ìî,B +¿/ÔLý1"¯4I;ái¬ÇdÈ¥u…ªgº+SQñ÷¤ˆrÉ",yµNNÓIפÍ;ñN@ðò¢KXWÊì¯?NêîpË# +¤rÓ"[ûM¢,¸D;J&` ++Ô×iô‘äÛ6rák+æÂD ‰uuïZ9Gg5\lÐü¥uÅ}3^ïئì‡o’ìXa˜q«ÙÛ Mc@I—h=¨ÏkhM‡™P—Q(|_ïø, î:]ÄÆb®béšÓѼlÞ5=ÉüÓ´`ý—øüj2ѼT[‚ARØ5Q¬äŠÚ¿šÊ!<©}ÐC³Œv½g_½£_5;œÓÕJôÿ+^}ƒäŠŠŒÔA\Φå[:è‚ k¹'Èòº† µSdÈq©-wåB|Nò”›ó6JmØX® "xïIœó;A‰åº/¬_WeÐp'_ß"⻉,‡û¹±¶^ù1ȶ»ÍOªˆIk€ýù»ìqê˜zâ–¸P)ð;8’u'–“”€‰«»÷ÁâÉlß—ä6ÍÖÞ– ˆ1wšêÝnÍâqdÔÃÁš›!ä“l¨*ùÝ©JñÄQý؉ŽÏw„ue4ÓïÿT2Ž)-¦WúPÂÝ3̬7Y®rj›¯¹$í^!Å™„ä®ìåÏIÀÁž +” +endstream endobj 508 0 obj<> endobj 509 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 510 0 obj<>stream +•âJõ:5ëç³kýýòha@P'RK2ûâ¿©uÜ,+dRŽRžËÓ0wa# c]OEùŽQ8+ŒêiÊÿ›B/™ˆõ¼gæ½â!Oft¼±;Oüªi‹E +EûûûRJ]WàŽ<ß³À¦@€³ŸÂI°Óxïó}÷Q™Qj„pêОé¯(gvU©ŠÚeœáR0䥙y 5§üyiwö¥RÍ™Ê}HøQß¾Šºk¨JÒßBXjWÏD&ß^[D(oòâ¾k&ŒÒo0LáV…øÕŸ8Ù~_ÐÐEûÙ1àXEd†Uåëq=0»á)  …B•O¸VZà¡nõì¨L”×í '+y,ôúËYýµQ],Þ×xøÐeÐ&®‡|OŸ¸‡y",¥ÈQlª/ôÊa6‘ &˜sÓC!¹‰ñÒ"âC`ý(xÖrà‰1‘q A’¨2=c~n6¹-€åègO'f©å¬Í¨Ø!œÿsûxqÑS.Ýã¸q=«Ö/ õŽa×6Ê|p磦RÇïz¥GMùrj€KrH¼6 ‹pº.… øª×`Þ:ÕØùÆNœXb—s@×([8 ý„•À™ŸE®Ü&è¯|ի˽ó£ÓÊöUü¡ûšJRdH7êÅI_Ó Í9méH}¬˜OMÖ53’•n¦”C="ÛáSôÕ ๖LKv ½‡<Å\"J ’<µÚ1·9oÞÎ2‡Ô"¬½Flm|~ õùykƒ b2ó­טyXRú>JSä­jU‹– noq ?ö¯:ÚàÊI¢çŠJîÌÛ¼§£œ¿ µ“`%ƒ¡ªTh Ò¯ny]”*sëùE?€_ì3ZIdI¬‹ö-ì÷&Un[»'â™`#ªBd²GBÝ^dÂ[§jø®*sÔ4-5SGË'9ÔôÀv¤•6¹Ÿ1¢V¿!å¤V¼( 7^â*öÜÁåºHÅC¾Rv½L„5,Q4ß„#t¾ + ^H0kÑmÁuòIä0¦M8 +aYSI”¼?Æ„‚è9ðå<е÷¦õ0<û`IxmÜ­®×A¤*[%aèÕ¶ÿmäª'Šr¼— +ß›mG·?=o…véÌ£›iÅoçt„+òÀþivu·,K| ñŸ6j–¼1åòÕ¬)ƒ˜Lí–6õD8f¡§¾aooåÞ‰N‚Þë¥å¬¯0[šB»ÏLIæ©iÔÂÎ?²~PŒCö|Ñg(»ÜÌ„j€ïÄ¥ÖÚ8,Lšb̘*kþ{P£»#ßñç1•ßgܦП‰wó÷ãÊ6!MüÌú敽5¶üóÑc¡ÇL謺‹OCM&™Éæ(J÷õÿF™“Ñf™l=çÿe·@/Š¾v»X?.ô°¤È?³Î.ä$jE\F‚rLT½ª€ ‹Ù~íœó§¡ 3Ö¹­›>¿míÅn! nñxf)Ú…fqY”ð!UÅë¼Ô=íiü„›Ò@†€ ^8ñ»äuuÄ€nN  q3+e´ËçKDÕ%ÉNF3ÿ!F«ý6!øWn q<e0å>¥AW=x* ¼,n•$oÀ³Áw$;Ç%{Ä=ŸýtUQ…Ù'£¢d—4ŸÚžð1v[~PQ>=ÜÃ,Chó-Úvê‚”?aô±ÝNßþâb‹·‹O>™EE§6¿‚H˜Á¡Ÿåù@±G!¿¶²@Ç0-¡äüÚ|):÷3uâ‹ÿgnˆ½§”ä4Ÿ!¸iôHÔV|ûÆ_ZûŒ¿3Ï)ºûì’QÂE ¡xù¤O(ÇNnEéÄLA-pÁÌë1¾š<‘Q9˜ìG`ôʆúRRÃã3bÏ6FÍ¢Ì{ÍÞ‡3˜:Ñ©ïü¾üÏùÝñGȆf¸AE‡)ÌXÌí¯€§,ÎìkMçÄ’tN[üF~ ˆ½ýÔ‰$ ¿û¼.]›/)ã[)“Ì”_ö“ÄMÃ]eÑ(Ã3±É £|%‘B/H¶ñÜuóeý«°-‘©ä¶šZ–jÎ!âžžmìÝ–í­{œ£Çü-Ìùð^ȲNÙjËi¼<¯ú c}][±ö\biãòû-FÞî°Éây ©#JŸf?u)„dûKI‡—Ëæ+ë†æ¡‰9§Í¼1«ß‡<¶M‹Ã¦˜-6Z&ò·!wš5£X¹5&éÌ æ}Ô-Å75ÑÒå +}µÐֲ颮[]“—Iœâꤎ†ÆÚ‹xÅ[=^uGv\S÷–ʈ9w.ÁZ¾“nýrùX`bS¸ýXL{˜Ôb˜0´^è¿œ€»/'؇Œˆ"Þµö%„–$’žfr;sÐM9ÙPá}a Ÿ³G_(èM–Cd›©].;oPì´PûÜ6›²á<ŽWîz)í÷öƒ¾%¹³0CD¦N!FIKEÉzs·Þ)H„‘ã^i +Ù¨=Ƨ,µ2K×KÁÙ¶’‘aäÑžÎ|5éöæ lÛj?ÖT°ŠGW¦öë)²zw¾¨!•óU û´¹dZ$䓾¨âðÓ¤Eá’Ê|ž2:(7<&%ÜÚWÔX%ùhÙ‘õæk˜Ÿyè‹#Hq^»}¤6·Yì¹3ÐŽ·YÓD­«ïbŒ3¸Ð¨â»äÇ™¿³[ÇD†:|(ÕÛÙ(ïŽ:1Gºà\ ÔÚç`'yL*Ö˜=ìÿ‹jb:LJWê舶·oþ½–#ùm1Av‹Œr­(¸äz™#Pâ0©ž:ê¯Íµ_çw VùÐ[‡rwr ‚Õ/9V°¤$™z’($|åïqiä|\i‹óÇæ[]_³ MŒ&•wã-ä°kFº  tÑjÈk‰ˆÉ½/hO|èk>„JœŠbH[cDn)Ö+­š¹ÒÐÿ—H”Nè*Þî¡/–’/"fn°³p`h®nY¶æ¹´DX•u­"VŠ4äGtøT +•k=Á#ä"¯9‘< Eö'½26ÔM(­¥i±üM& "–8“A¯^\^d|t"L¥÷䬉?ó™iÊ"ƒÝ«kíoʸՅ’µª:(î Šƒ#Ž}½Ðí½Ãü¤]ê,M"Œãx²6[ææ¼µa»°¯)rk”á»a~Ã:ÀÙ¿|úÒÿIEŸ>0 ¼–×_EÐè…„—¼þ¡u³:ùÙO¾Y‘`NA^•qŸ†ÒÁËF¦/¨à9ŽÛ¶C©Ãgú!a5ŠïÂäDG„rPÏP6FÍNØDúÆЭ3L¤_LÖ’µ/¢)r- ©|ZŸÂ¤ùÔïM³ÝýVñìM¨ðƒ—¼êêúîöl óºk¢ýá m‰!A‘¸Lß‹ck*0ñ³U½X.P·R¢Úå â9¦äo@8!`Ù‡ö{zI·ÂMeÆöžœäÇ3jùe'ü†~¿1T +%—É`aêB2#-¥\˜yLˆ](Ýn»ŸvŸ¸²7™2Í(,Ò\àÞ³QwzÜŸÙ¤—GæúÙDfKØõõµYŠPœ×´c™RÌàd1å·ÄÖ»ÞŸªÅþa€Öµ©q›MÂ{À,%Þ“ãªå>²íÊÍjb('GpŽ@Ñ¥˜û[Ïœâ_Åa7÷ô³ûå¡YúâÈϬ_=‚ êÌÕ®…h•¦ÜÿÆõ‰‡iAí××!'X`3ë:·ÕÚoyÊ•‹ˆåPËh‰?hb¤×KÈ’ UïEÍC‰(ò4rµ9¸¼¢§Yåú\n«ÜÄcs’¦8÷ŠÜΈ`’kõó&‘~ºí¢VõÕüèXeÿÃÆ#¤ÕqÈžn#·•y­¾Ìµ(Nèy—Ýü¢YCŠd.z&Ê>Ì2Ö +s&.5Ñó-ÿÚ·Íxµä +¯«÷2¼ +‘%O¯˜äV 5X!ëÊ»ÍÅ™ w„iÒZ¨WGyðûyJMá !šÄn€|ì•úeàÃ(QW6}xÉnë±ß4þÀNÚt™Ã;=^Ÿ\òû²ºþ&s +#Ç«&«éˆp›µ£ª ð ÕÊ\^QY¶1å°Ïš¥£ŠÈ”.£ú#*iħ÷rß¡|dÜ棙—ã˜Ë#¢¥k›žßҽ㞥¿Ï°¶û’}±m§Áo¤5&ÔÙbßÚ¥}_W¢ûã€ê3©[Œüਵ\ˆTýùt>°8¼?3Ââ/õ=ù7‚eˆcZŒ@ŠÂjÉ<é>qŒÿ›‚_öMÝ"l#Ž[DŒøIÈu €wIÛ=¤ãç6ßÀKõ–g·Aޖ̤Ӹ9¹ÌN'W#ü‘°¼b_“*#…²ÓµD*8âRѨ¾fª%‘ò핦6¼¸!!¦_=L´¥ì'‰˜ +–‡5rÏïÑ·UîýHJkR§ ™-lRP6ú¿¶å BªÆp¨û>ÝöˆIø1Hdf×}"ÑôÏÁAÎTˆíµ<¹r\Õµ žŒ‡eÿoAÒ¨’³;Õa˜ÿíg-AMï)=Ç%°§ô8¯&ÔŽW þYLþÅôOä–fÂ[œ£¸J¾µ0¿±–]‡s^S¹"Ù{H›4ÎUrÜéÛ¿9t¢®z6>šªAQ.ÛIKÇo| Lmd=î±V0ĺ“ë+³=囯ågþ²¢"æ”éýü`¹×ÉdõÍ¥ñp†}‹üÛ- 8Ò2å5¦0Ò•7~c—Šˆ‚Çú’ª³¡Æ-™›¸¸äƒÀˆÝXæ°÷î¯ÝhVÁ9éÙà§^ªñܳˆœîñ +•Ü6ýÝæ¤?Áio…K”@YŸÍÀ›&cN}P2ŠÍÉe'ô Ì–›;bö÷çYlõ>!J6z‡Ô›ô¶,pzcIÈŸ…XÕ5"ˆm¸Ý&gÕ’eªU½G>‚Š³ÑÇoìO„NØ2GÔ® 4û +*G;Ãq,ûÎñ¬E4 輑„åsI¶„:v´?­Ù.}(ozG£ P7üÐ’‘WaÜ„cÂAb¹#‘umúòÕÑK53nf¡eÎSBózå嘧 uÛŒÑ?S9a‘+‰4*ŽÙÜÔm…K8žñÄ¢úž}ý‘Î\M(Ó’ [ÍÃw”7FÏ£×K +õÝwG§ór¨X³åɉ'Ï)Lx‚õø|Ò|Ž±->Ëíñf0ã&ánfz|7}á\0útBãË©»—ŸÃOX{t¹q$0ÐXL±W2iÕ£½ºß=4•ÒlåÂ=Kþo?ÿDëÚŸk–ºÃx–íBh¬œo´î‰?“ÁÁ;ÖL y#¸B^**­,‡¡]…H5P1ñz é‹Êyñ»íûRæ*¤j{ŒCÿNìÈØ[(4iÄæ“榊^àÚ ? E)£Æ°+záyŸNªQÏ'öªÐ>û»‘¦v#‘+@&sæ#HÍšõÿ÷ãlJ›‡BŽµ¼›'ÕÜ¥í[0pà?gŒ5ý°¸QsÌo^QÀ0¨¡*˜² àÅ'HõÌ kÀ"íæ.ÂZœ _q:Ôq÷4 Úùº¤Fͨp´‚|àn;…7¯ Ðæ„KuÚè>ÈÔAlöNšºo%—&çdÿ¨Â¤¡Ðªá/+Bncy?E%âé.wmR_½D­§cÐÝ°2®×éÿó}[bd‘ÒÇ«XÛõdM¸uó8×î|.IÕ*l¾ãÒ(7ª©é_³£T²8M~d}B 9ÈCA“g¢æbº¼,e(ÒQÐ#y3Ûñ0.ý­Í§Zx«àÃø Ák´7#Ë,?&q8ô†'! +yD¸?í¦%ݘH¾Í_;r\³¾ã||± ª[ø#äŽÅõÁºYðÇIý÷Ç·]rô®§y@Ö—&ÒAÆ@D]älø†%ëh•ÝÁZ'IÅWŒYB§QO Ìß· S+®¹-©üŸ»aI1çÛúø"ïÃÀú?…jþ¶—´H°â -ÄÀ»ºEÿ"\*.4¬t5 “¹kB0¥p€ %¨ë<5°ä.}ØN¤r–k?f~ÉK‘F.æYÒ–«)E#Ù`JkºqàÿÌÀ7˜Ù23Ö}¾p ü Y&·¤ßR&\Îu‚V[¯ ]“–¡ÁÁ™­qp¤h^4h°ª‘Jñ½õ€ˆŽDŠz[‘¸ôÌÕö¢åvÖòÿyrÝÞEÌ 9f/wèÛ‹ +ÿSm¿Né¹ö=iƒƒÚ(Èɾ….içóN*WÀÓ¤¾ÌOÀt@«ÉÈz<¾w OÊó¬™ÓïÀiw1[x}½J6'fbXF:ÇuŸH#iº!çßN¸ÒÏ1èðúÒø|ùªçSÐGÄÑw«—¶â¹(³®ž§ÓƒŠõ9ñ™ø?Ù 7Š˜ÖÌ+ {cð,%5ŠvÚ!•¡Co¥Ó6c–#„ÕŠ±²3t¶4(9€Tq›–°V‘Dp;¼*»ýw·eˆJí.ÎG#Ó&œÇlæ*”8ÚÀÈ#Gñ¢ÜMÄ—ÏÖó­…c–ǨE&,BÓJêkÈ$sšóª:²ÜtºwJDF0øÙÞ¿)íÍD¿ ¤[µEÿ[I˜#8fJÏåqí½ úz¥Î~ +endstream endobj 511 0 obj<> endobj 512 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 513 0 obj<>stream +“/ïµüC­Æàã¿02í´1“Csï'úÇUúÞÙ/ ÷ŠTêxì5å£ Ü%KpЧ­Õ€5Ä–«[d ¹¾¸žúùÑ©È’µmé÷UÚY +ëÈ'”¤<3dG2'Gîóí»!z‘geºÒý€Í€z +¶½! æÒR¡P†å„C(©!â£}Žì0 ŒéhÀ%õ»¯ú¨’á¥ÖýF§Épñ±BÜ4@Ð%vz:ÁY`›ÝS\žŽcKªª*eëÚ~Ü_Ÿ£ößäTý4…äùûÞ”#¡ŠÙüÙ…ÉûÖ¢©euA¡nëã!J‚“y&–ZÃ:àšjÏG½²Í&V§&2•ÇÖ:l÷_…îZ¹öÏ‚j‹c%±<´QÝ67O/Â_\Ô¾?Òè):ð¦éø¿÷¢b°Ê„="Åx¨¦AJ©9‡…JE‘½ˆ"¤§¨í0ÐŒL• æI§q‘Z…$ìeü Í=jCÖ½=š x¯ÛMÍb\êùÚضºZŠ¥<sÆ„“íëiôhÑ8JŸB63™|èCfŒ£ƒÉæ +x°¥Ë%ÌÜKÅ‹úºüh¸XQ7³°´ qSzpïÁAÅ–4ºÿjùKÐŒÉïr'ÄŽÆüËRijA®þÚaœÅ´ž@C!xàWšAaú²› {ªÏ›œ¤rÔ[å>‘±âU8¼ˆ04|™]€Ë.‰—hî&ª˜†(uÛ¶.ê+׬I:Åž‡|$̨؆‰)àœ8J7á˜æ~|µuL2¥Ë*$•òFÿT¨®9è‡TƒÛ.Ð2¸÷5’¥S„wŽŽÀÐÃg¤‘ˆéïÛýµþÑÕ¦yl3’8wž%îMñµt†ÉJîªöÊU ‰ó]–8×,v 9&©8èQ57ÈOI*“ºµQ;á}p ‰1Mê%¡Uó¢åʳû'’ Ž·8‚¨HOj°\hžO©µ”ƒ“*/¹ˆ¥ÀiÇìü™{ˆ6‰kæ®æ@ BuHã±ÃYk’a†“E;È¥—>y:µSæ……„‘^4ÙÀAtkå ¼<Æ^=ñx!fkü[qYþ±X¬„_Î~Œ›ß º’$ùqà¿%=ÊFù’‡ã7Ò7‰0‘T‘©"Œ"U¡þè +/øÚ]« =&ï®=Aü "XÌO>ø„3LÌøNC#òµveÇB\Œ°nW˜Òœ‚úxàù÷]ñ±VæòËšÖr¬ÏL;9w#Ç" +âÿ8ŸÉµžK v都K¼ ÏÒs¥CNuªØ±*QbOÍú‰8»´ûARçéží°³ôZpÎTVR< Êýüb² a6{‡þ1½ÿhgp})¢§3Z/Ö_’Œ˜)Ã’Óâh.>1¢©ËNªõã:[-|ÞfÝ"bð>‡7VX”Õ«tŸZ2Àƒzõ>幪'~écðcÌIûÅÿªqÁ€S" hHßóin¶õ£jÁCèþýï$‘ G¼v͘ VÐ'Çá`Ù1…,NÊ"s ¶›Ù™‚€dsÚ0Þl*÷Ò)‰XŠËÒíá#2(T¢¢A´CÒ,ÒzD³ý]÷^~ìÝî,WH+ÒPÚOÂÔÛ&i+àÖpêä¦h£ýß÷Îb ”ÚI 8Ýœ®Ðö”W 7Ón!mìË4¸¯YŸ×O85 åBû¿ùÆ­^ç$†èí9}²KäœçN6Y¯,Ô¹µ×æSŠªüˆ9L¹ŸO¦3òÜ1ÚPî‚›%`ìË¿(ªž}-xNØØÍ¢˜,Ãï«ëšÔõù¨á§½nŸ]Îý‰©6÷åËãƒSÂã=Úø"(óâì”$诋µÝîõ=8:Jýøfs«Á¼êÍJ[G%œ·9iÏ’F»9úNNü8Þfù´è8E8ºÂ36b¶¬¡ÝžE*B&{^¡;ÕÁqÅR%,’¦mƒøñ4…zh¶åe¾±¯ÕÇ«¬DÈ}@säzBÑTféÛ2úã4„ +бÓTq#.wú‡U²ø¬|*'ue¤±#óáœ.}®ß¼e#:ŽM¡F.ÇÚ’òîº&%i­Ã…¤nØí’Hïãâ`ç<>-¦8ʦKX˜ÇgÃ8­•m|U*tVþíÂz䊭ÓPÁ©³>xÊ'ºHüÆ?ëiÞ³ô=¡"”yíEìeCb¦Aij 2wðÊLÇfdõàRu";çùgû‡g‘‹‰qx´ý©‰ZGHËW™˜²^lÎmщùÕl"·‘ ]E–åôÙje;uX<(N‘¦}(»jÊŠM´Ÿ/=.Y€i L`®õ… îvðÓüªu–]À}Y‡z!zCß•}(‚f„ d÷ìý=䔓Jà[ö²ü·«ÜÔwØï`eèã®ngw‚¢â9%qW®KíçòP7hå +Ÿ+c?`dŒ¼ ÕL{Qä ùŒ«/b}µ±k„ê´{®¨¥åô+®xÝù®$Ý î¢¢/ï« +I›Fþz w ¬"uàK¦=½Ä<-çf–I*qõ§$Fê\„K—&¤@Oo|²/õˆ$š8o~ãJ(uY]°¼Íéu•ªìp÷âá3/2ÙPÁï¬1üÎÇXü5ñÕ÷—XŒ ãsšbû€ö_—ÁkIÐÓn¡µzè°|³Æ¥s?¤Aükß÷üÅï×4û$” ±ä ~ êöB88·åPGõùå˜/—ö6ŽtâËL·Â[2hÍ^þþÙÓ2×Sß•<ôÍ°ú”mèÔÀ +ÁÝoÖZ™~Â\„TnXuNßÔ¼÷Úã• ¨Èƒ÷æ%~RýîÐD;ë._±t¾+Õiüy.6Áû¨Ë(Nþa {§hY˜íŽmÐÌ#õˆO³-î(š¾R¾ +>_{¢(ZaNX‡Li—)T¤UŽ„™µ (Ì3â¦VTÌ|â_'ØnµÂ.¼ã%UÈ«ªù;)¡C€.¦ßï°³¨¹Üš'ùCã‡,¥EKöxt@ôÿŽ;H…õ}HÂå"âLm[‚ÿXzy$™wg õ}-÷ÛÃh_z…ÊûyÄE'°ýbׂ‚¿ÆÙ.C¤Hb¢U0ÖÑÝ^{rK—}ÊÔÞ´]¢`B;B¿-A‰§ˆ-'›h·'ëîƒDÛM§ÀÀNztüyZºq²B…öá å–•BÃú‰7ËÖ[K*ð&A†D¹xeúX±;\’ÎÌGÔ/¤œŸ/L¨ï{úµ£J‡?£ì‘s% ºÎdÍŸü\xÖYꞢü5æu rb‰'F ¬˜•4ÍæÝ!ª’Sø…g–f×YwËŸ”ôF¨kDùçù?o¸ÏR‘Jp×r7Ë'ÑÃÝÜÃ%üCF²Þxx€Eù¨þÁ•gÒ°¿åCFŠ+8LÁƒ¬¨eäz6¶P†¯¾½q6&ÞB—^ö&[ï±òûÚ•€çš]ÿs­¬È+¿ƒV.§»{Ùuöîµ…¿^½Ïñ¹ãT€–ÓåÞ´¢$fxEïÅ£¶±É~÷†Ÿ·bJÄ´¢%mGû•òcIÍ¡Äþd9Êñ¸­Ÿ¤cç.˜GÎ"×rR…–n_Å ùÑ97ê`T&þq'uê»™ýoÉOU2 ?3bŒ¥@F2ˆÅ]D,ƒlMCÆ°RŠ©œp¸Š2,ý¬4äá-ÀM!N˜ZÝÍs©Ö?0#ñÈ$)S]E>‹¡;[2Î.‘Mcðød,¿Q¹NËŠ˜[µlq­>Ä£¢Ê&Aá&¹È='˸ÙÆ•a,tæâª#¼Ù˜ +ázå[½ò:£T“OêšEx™ƒ6~¼êÇ*šÂ +Íèð©õ>ኴ†ð E¨h­üáÓCÊ%˜ÃèKžKpýTóS§§$£¯‘MO[]Ê“ÞÊSðУ,Ó4q Æ.g ãMûÐ10Aˆ%è'ªè1>[ýš;·YjhдSö~V ?™rU¨ÏÒ롤y#¿YVçBqIºß¢Æ9˜$¥[vUee‰nM/¢Èw63ÛQØU'´y£óÐQ8œJ7L×!Ê×ÇèÇQ| }¤ÿ¤3Õn¼ ZÙ—!¢BÓõ¾o¾ÿn˜, í.ê̲¸¬¡†:••XÆÀ•YµÒ˜ªãagãy-È_‹¤ð·€Å˜»÷¡ MR›'TE»}Ø–©—?V®Õ÷äg¾5+>k-6yÜ+ÑŸÆ· Ù®|l÷;ðs7Â"Mnañ¦žéLíÿzõŽÅã7ÔwüWÌæß|u‚Ö»|VDŸç²|$ATËIú¢¡þ'N×”$¤jˆI%ÇäAÔ5ŠÂ°dm¬Mÿ©‰ëæŒÖãÏÿ%ä‘+†â–|ÀúW·ó°´f¸ÎS#yaès`§T’8xƒ©É… fI7Þ[2]äa—,ßIƒæP3ÑÏq âS•´héðB²m]ÓžŠ°KÙœ±‡%ÕþÜ»¶ëɈØˬžÈ8°®}q!‘žš^!©§Àbl7üQp‰^£=æA±xHo˜)eÒ¸«rž:Òw{·VpÚà-Ë2_LÐÊv }]!‡K0Žã¸Z«ßêÒ‰éæýÄñz?dMíô\ +ÓNÞû@ÊÒù;œu¤8ÐÀpœEj]ðš—\åвP8¯zË®Jøô˽ ö)j.+ÏìQ`é51‹9ô/©0q¡ÿðy ’Î:%½5…¹/Á»ŒÞƒ\YÅ\„+—z¹¾€ÎÍÃ>×OÌ€$[7„Þp aç`²JÄ5Ób“còpLHçß7Ðî~New¯=&îÒÞq;¯œ$¥_{z¾Náh¡>n·Á|Èæ >–}Â]ÝjrC7.Õ +l‡8þ@æ®cÿÍ«^T¼Ç»: ÷}êÑ3Ôpã¶I½ä¿Ãn2Ÿ³žñ26\Ù¹÷/ôÆu½’ÑúT,ƒNÅÞVm¸“XjQDò"¹¸^Û‡±¢¿'Æ&f37ížB¦I'ÏW…uòÍk^øþUÚ€ÔHb•öÓwrT¤SIŸT ‰DTì|ÖÎkn“4ÛicÙB»Ó£|YÜ4+Èþý$¥½U`®:Ê@;QÊ™+uלé3¥à¹¹ÕÆ‚á®RRvWÁ÷ñød®èç|0€\%ôð È¦‘&üNl©±Äù0šC“ÌØ€üé_ƒ21f,ý€º—}Øý¦IÀú¦Ñ÷bµC…%’9ür°›qµÚŒökLM '÷åª\MŒl;¢Ðêy” g£p¼k`ɪ†U'…TD•?S –ÀÚ45ÖœãžMѸѿÿ~JjÌ +endstream endobj 514 0 obj<> endobj 515 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 516 0 obj<>stream +5®$Ÿ«1©Ýññê´ÈV Ê%Ì_).½ú›žÞÓÜ}”ˆÞpÝVq¾;mEM~!¬Ät>¦xO7r•³,¾á¶äHØQ?ëúAsºD7^’½2:ÿu¥¡ºÝßÇ–öª*›YŽu/­üÙá35=ƒÈ- ˺¸uLMý§±ì{þyÔehòB–ÒÏü«’oîU¸ö¹Õòõ~4.]7>bJÑo¯ŽoäÈ…¥"ÛÑ;#¢u»tóÍU‹ìÔMƒÓdŠtwh2÷‹ëèóÏò¡äEsùEÇ\<¢ÓUãeO° +ØšL;ë”TC¢°€m#ªÙ®y"Ù<ܼÝð¦£ÝíìSµÙëPâš.2¥Põ[ú JrÊdM¿'Ѽ„ÜúþèÈè‰#ƒ(q¨jF^é±néݾöÕ$  ga±¥j” é íµ˜Æ[ËÇwNeWîM@ÃáÕÙÑBáBðÈÜ9å¸8M[üÜápmÜ6æ7¿‡ÀHBn§T÷ïª †û¨†tÄáuýª—{´O]rM9ÐÆåD/N\â° ~ôuw¶ÔÑÁ•Ð{Þü«¥?áý +‰¶øxhñU_|i¶TjƒÀÚ‚ p€W”QîâX•#Çè?^ýmºEà9Dk×$_ˆ/Æaq¶3³W Ü'Óæ·DSÑÛpð…¨1è48ÑÊ70”³Ñ)Þµ äï:þÞ¦ÿÅ¥Ö"*¥OÜ&2Ý.¡GFz¯÷€Æ¶Q yÏös@êÅjû` ŠÞVÇ^ø–ä€Ò„kħòú¯Æ”È>jY¤ýÙ­”@ }rÉý"øXýê<ˆ°vÂÄIl±YX^aÖnq…ù!ŸÈ‡bLv.{WáiOcð þ¤ä¥…Û{$’þNÈÊ™àˆP~@:YA×ÚŠ„Vì!Ь¼ ÀN„D0úŽÉƒ›|ã¾þä–ÃÉZ~û†^&ìO ˆ-KËÚo’ÝkïPµ R|;PÀ½\–ð+ ½®0É +RJjÙY¢§pßyòe)ØxŇÃrÛj]_¦…ýè‡å·¥AËòi– Oüáˆ6iÎÆB¤°M É<¶ùZeµø8/áQa 0VVø×cUÁ` ³b«,l+äÄ=d’X÷éL™– · Aí€J58¹§• CïΗw–_Ædçq¨¤G…Ú7Æuþ„†½K9oŽƒ*!9¾_ôHL^_€ÜxEÕ‹ƒAEÆž—V]Œús\ñéöì˜\–Ýpm蕺ýH\çkÁÏßb†ø†s\º­Wij—Ü{™ê¯ä?5›²Â5°¶³·+´oV?ÌqD³„~Z4ncpÂ!·RI2õ}jÚEþÉhQ÷DgCPÝÂjô LíAC´HžEÝ?}߶bc·CyL®J<@Jø\uýŒäý]›w^‹u‰mee]jõMpRšþÃÝ>¾\ßhÇHZ'?VaéNÿ2ƒÞñý©qÏósÜy{`$“·‘nyyΪÍ×?í1h‡xÊùûBéB®”1ܶ€÷ý»¡Hy R ¦ÜrqF²÷nP‰~ž™H*u¿òIv@¢]Sq{Ô<=NZz¼žFÇW-[íTŽo(¾CN,8p~#¥æ±[Œãm|°«'ý+¹DÏ›@Kú+Ô>üÛùùØk#`Ÿ ž'vñ¢ ßý5Z7“DdIU‡Šz36x„;6T:äpÇ¡®Ý-ZŸ¥Ü8wßA±¯wRÅ3f¡S¦1“½0A& ÚPu?ì•ïÞ¬lv[ +”Ë„´_¨f+ÚQl2—Æ]‰ÆsFQmuý|à´oA!ý¤v=#¸i›…ÝGzŠB"ï€×åï–šE7—1–¬éT4p’ñüÒ‡pþ·VoV2·);Žm¶9ÇVUD„1µQŒJ–éIËaË7Ï.g²³dwÂöâCïkŠN¼SZÞŒƒxPÿœA”‰–£Âšºsó-ï,íísìW¬¸ï€>ì׸p£kj/!Ñ~ŸÕ~1Źêè¥Z)Ñv72àÓ\DP;d¹N• Ÿ ÜÖã°]²\$ƒhWÑ ŠaI`[dg‰0lïŠÅ4¾iå1QlSÚдy¼Tæ¼S>Ñhæ.x{È'ÊRò–Q•xK Ò†zEDe!ZþíÈsíG³*.ócñEwÈà½çÙŽ"a{9ØÙæo2-HÉà[ë¢)*)#R6YcV4˶!'ÒúœÿÑ*Æuµ%ÛÓÎèqMCŽä¹£¥KÔÉ6OT +ÏÉš_–†§‡Í—|ìÈðiL04”åšÉ'Í„ŸJ-´V +…²Mv…ýμËMWŽ^1K¾”bÚzÒhdÂÁüSÍS@vÖæð„gÿEý[ÜIÒ 7¶³ÒTº"Lÿû¯ìŒu®&YYrêŸv&2'2Ä+œ¼ +ò÷¶rìõŽa(¡{œU8'*9’2ÉüÓ÷âK‚µºPÐú2bdaÂÇd×~àDŒ¾BÌ?ÄJH^–R{¹Ÿú»³»©ô,ò#ß«jäszcàÉ›;ãÌ…ÇÕ$ÙúŽ|üKr‡útsù =¾¨þó·±c›Ö Š~mË ¦Xõ• ¸½ð¶åp ~Q¦<Ï‘‘>jÜ~(úùÂQÞ”ÉTÆ.ô_qi·í T·.>š/žWE­¬¦òŠö Ð4b†8 ©Æ`•³Y¡øGŠ¤€)pY¥è 1‡­4"ô´õüTŽÍ9æ»86¦fŒiMÖM¦$æìQ|ÉMœâØr{Ó£tæÇd6'°±*Ôô_ $ÙÎ(F M¶Žz¥¦#½!­ði ˆµ§‚¥ÿ“Û¤­×øšUzö.šÅoÉ40~è—"ÊL?Í1‚osQÉL˜’AY ÇhåöåÁÖ¾¡) +‡Ö}#DnpߟN: BÎæ.ÝÙ E‚µpEÞMŠlg¡8Fg ቹ™Àô½À|Ì9µº¾2ÃFVe»v2‡u+ƒƒ§ñHçÄCvá\t¬K\& vÑ°BØÅÙÖÊ;Û£!ºŸ!(Rº÷ýT½Ÿ~—å&[ž 7¶yŒ™û$nóÖXM1""4ÛQ\ëZ¿ÁáÆ—xO ½¤ËM£›·¬{´—I©™g³p Ë‚‚çr) ½…£(¿Ñåeº-Ÿì-*.z׊ƒ/…±‡ß{`ŒcF°š0Q,lö/†¼ÃØmu—Ž%t ‘I„Sô¶`Êú{½@.:_í’žx”¤väŒ éh€JÙßØ©t¿6†ö¾Ê|"üï+¯èàsÊßgÃhÇ­evZ`‡Â? J ªý¦ +zÂœŽ‘jQìF6僳=_‚×+ÉÿiIJžˆreñ"—á{®ECR”é*‡g_öFý/þúXÕl5:ƒ3'(ü•ç(ºÓ !jlš››ñÒ\aÔ·?‘ƒ/œÂMx†k©GS%¾$!š<áœmy!0ŽÛÜf­Ï‘¸ á\ââ2ùËK™–fA*H_ÊÇ*« +X˜¤Þ®‹8á?4Mé³ ÙFÜ`‘%œñè•Âü ¡`;¶:’kÇÏ*C¥'ê1‚æÍã RàxÅÕDÎ> endobj 518 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 519 0 obj<>stream +CCeÓ¦s>«íéÓ飊U­N§R +÷°ãZ“9²†|Ÿòˆ°Á~›²"âËÕþ©Þ\Æ£}ëùò{´®ù°pÇYÊ Ÿ´¬îìªe»†¯¨$®söJÕb7^ºÔÍbŒµú hŠƒ›BµT¥¢¼5$OhÜÀ„UÀÝ& A(õ°ï2)0Ma]ýtåuDn¸Ï+¼g=TöE j’9kz\Eºà«Ïìàu;©¦•ňrÿ4jc»<츋’êë±4A©&x/Åë2ý䲌GÆÚ@@–ê¬1Ys]‹¶iÏœ`ÞEŠçþzç’My›}쪨#X°®8 ³‡~À +aX¦!šÄé5ÆÞ†ÀXe,ü؉`â9äQ#ó›oZ=nÃùã W P¹Ý)ñ¬}áVܯQ7ÈÍ*¸@\X_9‰¡ˆ/µ)Äfíºª{khpQ©5ô`ÅèÝ)xnóC,Îs¢öÉöóšõ¥8Õ±ôÝÌzÛÑ|ڣି(ÀmÎûÁ#?oÜE<Ë(E&ìu¼ßa‡‹KJ.ÉbëxÁëå±8tÀ¹}WFú÷©õvl5yqÀ~àiô@"ƒÇòƒ›Ýýøyí8Úî™Ø-àá(fn¥šk¹GI»5ë"3ˆLrØ9ã¤Ì›æÅ”€Ä\zq‰UoeýjÀX%ò¨jÊ: ú©|€TfÀAÊÑ´ éÿöYÓY×>À¦°ñ@,fâõ2Ì×z}ígÒOÞJ‹$*rFóëêÔ>IvN7ùÐ/Yº‡X‰r¹ÝÒè.ÿ +îöo†Š8QñΙÈao×öxû+~œ"|ÒIJ àðÿã×j>òÑ.VÀêd´=X/í ÊÞ4Ø#~·-¿˜xB­ž‘dOúåq¬²_…ؤ/æCî¹/b“@À¯£Žä"M}°K³í甀§ãîcÖÄÔHø¬ÔMpŒÍ’,¬7ÿÈ:©È¸™ü¥þLí[¦,³ Z˜ ½¨,Òtî>›Ô«Tý|ÊÑ3xõãôºpãÕÁDíØ&x ³·U6‘viØâ@96±oòb¤–¢j +Ù_Rßêft(IÕ0´9l™}º€º Z;ÏAHU§‰1vŽ"w9¤;b·~a¾¡dºžu¢ó×Ö5X¾é09×IhÍäzçÝ!y»pÓ k€8uÁQ…”b³6¤•S2 ‘ïy—e sF/“w¶e÷D#n•NUxʨXm`‹`\[3ö\0÷›“síç3i"üõéhlâÔ(þ¯¾Âöä™t÷-5uã96ú¯ ÚÌ?/½óP·b'bÐ;'§™a¿)軩Î ›2-áN,—¥bdG¢&ƒR¢Û¬çr™±Ù?™éA"ìo™3¢=4ñè]žïÀºÞ+%¡d0á)Ð0ÛsVkÉ:âÊwãþT ¦½A!?i¦Ä ¯öaþGB›s^eÅÃÀù@åúÉŽKT +¸wö¦ÇÇ’Y3Å9†}^zŠ5ß}k&¶Ì„#Þpiõ,ú §²X øBŒ•Â³Ö·Ùˆ˜FçtB«ä±§EÁ ¸ð˜µã– +þº²¢Y'R0L)ÛÏF5 ^&ÛéÖaÕ•ìT¤Ù‹‰€R…º"ÐI-:®Qä}¤“‰´°j´É]µ\J¢]*W~ Uz(LíI{úRFdÊá—‡òk«R˜T†$Ñ#=‘B]»jW,Ô>Þ"ÅwmV#s®qdÉž}bÖ0D;ìc] ¿½ëY:+¶»$›¶F¤ nŸRò)yelS–W⤉=¨?‘é?V%h¹aóªGJPüâ +s±`’‰çÍwy$BLÆ™ïIŒ¶A­¼[£¡™S%Z_6Ére”¼NV¢ ¨´.ý¶Mœzט((+õ¿,° Z«™³ESM‰æsóõ Yõƒóø³Æý¬GüñªÝ:¬Ô—­>Û d¢ÃÿP¬Où×Jd™ITf?Í©³£›zZ†"“2³Øö‡Å ƒRÚpõTÞìnœüzp2Ð;BXCÛýÊÖ ¶ª5aO]¿­ÌÈiïî%ãQÂŽ;µ{±GFvÊÓé€8§ÖF=9¶EÑù ¼BÑ" ½¶‹/¨ÞÌQ„lq‚ÛÖ?"ðg Zú%TËVô#Häý"Tn@p[M7f ²ø«bÇ´âOÒ!ï™U3'Xïž—ˆ¢Žü–3`'ÎBC?ªv%f {QÃÆï¬5’11N–µŒFsƒ¯·ð”ÕL7ø.¨{"ªBUê).¾ý«þƒ—ç(°V>]Ch‰Àæí>ígqYPDü-—uìi +ËeéYD¶yíçÒ”Åþ¯Ü²(%áÖrUdÖ—ø6îÀSeÞËͼiÝ=[ù¿!Û,k0vU‚6¦'Á³ó}fâ /cô,ZÅq`\ýwžÈàÞ‰,Ìð^âÔð®*ŠßÀ–-åÿ=4 ¡‹;¿ÅÝÕꤣ§­°wš·qÿ9i°Z°ŒUg!ͳøs´Y´:guÚëh8:¥Ñ2 êÏBînjõrGÆû„žÚiq³#³f׿öR¨póO… ó3ÓT¯%#×s)´KÎV$wS5ßŽÔ³Ï ó)EÏþÎ\;gp¯]Âa‘Ú‹¾H‡ÇeŽ`Bg>%(w+««×<v’›»ÉÚÊ/ùz_€|'˜ +SÎOý×^¼ ü: Ô‘æ™ó¤pøJ™u§ÀüBIÊ#š0B’=kÅ$ Ü^\ÈO¬0ÑJ'pD'F2Kr`Ú}Gÿ‰@Ï^×%ÑæzÄoµ^¬>ºo +¦àÓæDJGËZËÒƒ¡¹6àŽr$cì²d1˜õ5P˜‡52V.þÄA—K úû‰™lT¢?¾²dÇ5„k†xÞPçjcLŤmxseÁÊqŽÔ(U’œØ‹ÃpÍûDR¸,»h©bû ›37,ž„¢>,?:?Q“$4÷D7¯Ì×fñB*ÖD‰ +š"½_¼ú-¦ ~L<êfØ7ÐSÍcþL¿ ·Í\¸ÅKŸœSàžè™án¿¿ž}KHýrÉ1as;}VåEûãiN=ÖƒkSfË8ÄǽMf&ö> +ø k¤ÿ‡ig•°™ç$3WǸþʈîEC +¨$`×øŒ*lÍ€òTX&¹Qrÿ{vüãMö©^S!ÍEdWáXj°¹hC}Þ­µ8Û©·¤ŠUðEÇ<ÆÚ—ÙÍÊÈÞÂn˜úŠï仄—JSÉ7iÂÀg¾a1Ó$RþBXÀ5 v¹e˜F=R ë·ëÌ:MÛ¬·YKØÅ¢¯z–•Têj +#¡kË:)íþ"$³†!¬t¬Ÿ²Ó8 DÅ›G4Ü]RŽ Ëè8,(Ž6­{ªÙP&ÍDÏÇM¼Þú^fS®œÏnûŸ —g'Ðä*ž‡4šú1E¹‰Åªkñ¾¡E@aïÛ„‹”rìýSÅžª’UGn"òPvÞµ÷RLëãíåúç\#ñ¢ +cjÔ«·ŸAI7ÇNsB{s1ð ©vyÖ®aPÀ°-?½ÓfG\^ürDÚg/–@w–E–â_ãÄ9‡íkÍ¡_*§¯K‚¶tø’PõR½sÂYL;¹É¬ £ÖBÆóØ Â.vlD'êoS/Ÿ±· dôdQn¨9ê=IDçˆ`ègñ”n‚·é­¡Äj½±ÌˆÈhÄÛWºùYÄ[ÒêYSNêkò:Åݳa#ˈ³Y à7óÛ«»™€6QM3æ|z¸m3{¢ÃF .Ÿƒž(ƒ—¹C¯­Özò-ý§èéWã +Ea[`¯7éÛ²çù‘©pz ”„¯ÌÁ«ìÏ[á°0=ÛLʦÅpgó%äõ'•›é»¯È²¡}óÓ2´žé°ÔpÏ‘é<òdCN6a¿Ð¦AŽû¾´qjR-9ýì=5¬ZÐ[¶ô#½ J)Üé­:^ºkŸ°èhåÅã× é-§˜™IïàÅq¡,è?5QΙ–¾¡ÛzÞS ÷5S™Š·y‰W Wg³ú_Ü1æN®¥a}‡iè¤ÁsÐgª\9¿Ñ§ÓgpKˆ·¢½SÃe +endstream endobj 520 0 obj<> endobj 521 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 522 0 obj<>stream +Ø„Ó‹D?M@yªX“ÖX6·1ƒÔ[¼ ~ƒ„‹aF.ðÃ)tyÑ55ÿ[éðM'Çy ú„Û%Hm]¶†ÎúÌŒõZ}vNÀ (°¨j`>ïRj­sö=½“H5ÅW^S§…7$ª(?·fqkæ~='Žw£PZÕH¤Iwô<Ï?…ß3…†€Ô_‹º•¨èÛ’ˆ´çE lJû^áðŸÊÜVASÅ õBÔG%ºžDcòk׃–-4‚7ÕDÕ«É7Û•‘é$dY?¤"Ò*ׇÞ±)i_a›pÔß’ã•‚íJð?ï=î÷A}û¢¶ïÄÇÓ¨'Ù¦'̇ì¸Çñäæ²¹‹NO5ôüòÙ±ÑDD‚ß^Àµ„Y¶„ð¶£'àg±F%(|ȼ‹’æÆļ£:+>Ø! ÀBP]jßF0ÛÂ4@Ûf>¢“³l? +‰~)LJ¢%üÓÀì"þ‚y+¹×ïf]‰7'Èü¾H䑦BµqìY4À=Úi³ÖëöËê_» »ê7™iÞ»ø 6T£aDô¸Š7ºpìk +†ól“‡º@éL®z<´Nÿ‘òš±17X,¤²tMÁ×À¿ÙP»VEróÄõý ¸µ°˜\püWu%’¾­ÃT4væã8™87TQ[ׄ®ÚJüªWŽ_ŒB.ï/ÕÞý5d3¼ž Wh„ú­ùt³JŸÑ5¡j¬p(pH ûxœÊ…{j³É$Ç5I(qt$É锡 +Há;›l±Iµ‘_J3_n›,Õ²´\áDyMX;ŠÙ2ž´Ørvõ$ÚMÆ•ß%dlE¡ÉêƒÒ0ókÅX&t©­°¨¢Í>;{Íþ°¨óÐmɇù¨¼C£I[Øéu€LùÊbAILý#§Oolá?9´_+³iv­¤Dáÿ‚lœÓ:ÔÒòûÔBê¶ê܆f?l%æžëÐÿuóÈJU¸#‚û™ç "N*VÛ9ÜhØŒ»p³C3Ñ õ\DáœÈ#¥P¢&>Ù Úé.(ý2ŠG×ze`kÄζJÅýDh[r¡‘§oÞ}I{‘)y¾Öhs rç/5ÝX¸鬭èØ”›¬Öº€äÎu}upÝc³ÞK‘UnÖ)ÿC•—H-kÖŒ²ÕH¯¡@ÞËn[)ý×¾ë°ßqøzOøsÍ{¬ÿþ¼¥;–È8×ðSˆoy;Ú™Æã·¯—åU, ’$uÒyÕN²—Cûª oF›EôѺkÃ5ªMkü¶÷¨Êü¡¿fKw8•îisWüÝ|—¾³Õ0F£”Þà´ ã¢8Y º¬vD´f}iȱÆz2be „Þtyþ}. „@ß;`—'†Æñ^"þeb²ëó]L‘üöøŒÒW'A³Ö/ó¼qG³‹Ü<ƒiAu8͉4×°’¼•«DZ簙ÚÕ ä˜öq®›Þ÷ë–üP`éÔŽŒ«N‹­»ŒìRu3ÆfÏo±X³Ñ„}G¿9ô´Q犲b&ƒ¼w·¤Þao¶U¤lFï/N™H‹ˆ ¡¶6¶""´U¿ T(¡Õà)ˆŠ…fgX‰±[õ_º!þ.à’§7Ž°_¶Z þ;[Êè Ú7ý¦¥ðEÌ4˜ñòÞ‹í%iéR¤)d'÷wžDu¦›ùªþü Læݯdv¾Æ´æòUà·ºJñ-èU[¢"¤ñçøežö¸“1ØÇé3´¨O Ë”¯È°Äºþ'iD’0EuðÔ–`ÛÊ8ÂeB>ò3'H?`WjÅxëKðêÌ€žî&‰`³/;?×{ÞÄO‹Z\¡ÌÿPðÿö§S8P‰1f~À¹íSñcÒVq_Ãâ†Fw Ê#9ñ~éÏ.Ø“]ì1f¨(ñw™˜ÎigíØ&Ÿ `:@IJë7Ø"ž$åÀus17ÿäKòNP˜ôÌná’¸¦ d—ã‚ž•…äÆ_Zä¿ÑO¤Õj-¯3-™Ÿ¶ã„ C¶¼žÝwï +}eÂaôÉ2ÄŽ¡ð1‰àÖ„HU¡BÛŸ{÷‡b¹ßÈÃKze2ŒÒ‚—4À°5,³þIÊZÛ|n¸?Uî!–)fsäÍŸ;㊔99Ø>fEÃãúð”gÆ ‰v•¬ûš °‹pßǃÇð)—©ÿ9Ó¯áw´­æ 8ËÂÝDdÔ‘ˆ[5ôAý€­µ_.&Åž É`ÖN¸4Á‹rŠým¬¥¬ÐRƒfþPÕ{ú¥sï(+Çn+i8èݵ3M05 +ÿãLèPÙ#è[n×ôé—ô:9eBåK9/r^îß[>´V-i 9ªSOÝÇ8|åUè©–"vsüÄm@ïß&Æêl jÿÑú¼Šçƒ­%‚d)7eÅŒ²(ãªë·“_L"´îîr­DŒºHŸÊÜ œc‰×¼˜a[Ѽa}ݳËó”VëF·Æó]LAÁðÑz÷Á=ßá@ÓŠP½|uÔ=›6Oó>»¦ê*¼yùÀ#©]Gź>…¦´íT´Ô=†ÐG²§¦ÏŽ¶ú@@k“è³´ÔD»à©~w.~Êb+°Ð6㱦¼›ÆÎ4‡¯1ZcÜ£ +7»NöÕÖàÛûI-¤ÜèiÝ(¢…ÈÕ»c‚qÕÚ²ƒ$V>œø—ÛÀ{ƒIqná%`‘û4ó'Qù¯@nеáÛœŸ›óÀ tÃûㆰ<¤f©#ÕÕ—ìÌÖÑ—Ç|–Ùr…¿1¶Ï5ZyZ-ÿÀߟŸ.s½lÊèfƒái{B/¹j³5VDàÿp7yZl£Œ˜"Él–Þì]dTy¿¨þßØ_†ž(¯šª&3D­ˆxAnOº¤¡Ü¼ø¹?Ø.:;+ºNŠÇúòÍDW´{Sœ5«VyI7é²fu«“tÿȬˆ§·oZ’µæ‡'Í5ª¥|ĆxYn‰ÏÙM­T¨29Ê8Á_Z6ë• ¿¸¬W9¥C)/IÀµK'š7w6ŽÈRè_b@ÉÔwºAk#°c.¿]ûôዃ}(@Q‘V8ýyÜ“*&×¹•Ÿ[>9)²O³»ØÀ~–áܽ§Cÿ€“ßË€ï‘wµ"TN¯½Š”%µïf]ÔäX[$Ø>¨šôkØs+uûT@Ѳºe?g¸•“”ñY”;)Ö¶¿¹ZN­³fP\,ìO¦ó‘PU Ó㹧CXÐG +&ßs7ÑBìûÆoóïÅøOn˜­@SMoü:ô§Ýd;N0fû@/ 'Ì–Þºx›ßÛòÅá“DãN^xKÆëàƒz1½J‡Œ*¥ìÖÃÄGûäæ›-—«f°é© "0 RdËr•C9Ü\ëŸת•ó/®JºœFœ~ô^±eËß$O]ý«%•7SŸE‹'¶ +âëÞ ~- Ác_2anÌe—® š"zJó£4 fËzuÔVõpïÝ5Ó%ŠÎt¢ÀøÛúî«jw¿D.ßrŸn›… ´Éþ´T³g… òé…kfµm¾=ï£>–þ¹=i[fÁ#K:YØAë²Ø©‘=¶HéÅ {Äæ/qžs 6çNf©ÇÊ{ð¶²2?"ºÒbWÄ7FW9`fJÛ‘c÷›0Œkò¥ªžOD4Ù‰> +m`*øãà ^G8Aà)]7½*ªÐ¿·ür˜²ªLˇ:û´–>›O»‚¥‹¸‘ü¥÷N ©·Ìm,ëÇÚèÒhzªš…§M +ÍàÆræ†Ä’­5œè"‰¸¨BÄ ¯`—äÀÃS +,Uàî¾'dy>°¨Ÿ¯Í¿ßÔ¢&•Â…`ñÚVƒë÷d6¯ê¹Mük¿,y†%Y-kt–°%kJCß•}& u§i@yPÖï‹ì:_\®èî£õzÏÈ (ßg"ûü&Å'ôw€ÇÏOÆB¡ÏàðùY/ëSn(Onêg!\yƾmºé£5{éôÙ +ÇéL g§L<ôRå~ >føÉ­O½FüÒð3Ðs™ú˜Îx%ôÜ™Ñfé;@Í´ÓJIàM rþr­´C¥®¹Ù;äAõcøÈ@{@•ðˆU ª´ +:¾ ü +endstream endobj 523 0 obj<> endobj 524 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 525 0 obj<>stream +”‚!Nëý['ÁS¥`ôÄ”ŠîŸN°n VPðšÜ½€¶ +8;ôÙ²%>A\X²ÕÈÖÿ´jêÚ¼Âv_Stþ©û é ż‡ÎËʯÑs ~ÑÜ¢­3cÆ_Kû—|UµsèOuÛá´æ¼jåÛ@@ÀJp#Öˆùx+¶°Î-~~C•C;Ѧ v’©|¤™ÍÆ㬖§çG7›bte‹ô½áøÍbí¥¿ si&KŽñ— DÓ(óV×&ˆA>¥ÓÚ:CUo¦|à€0u0±LG)Ý&3¶°WÏd(ÍŒ¢ºlFHû§=D>Åÿó~€«á<öf&¸ëQ†/OˆÏC +®ô¿—Ⱥ8Õgú¬2Óu­+¡êÉ—zï F¶¾ÛÅÆ‹‡ÊSµýU[‡ìS)á„Œzþ;´ß gEmCþ NëHpYTäÒ+3ä‡Bd†û'µD=£0!\Çca²¢êNæ\þïwïþ²ëhŸ¾" ˆjMÌK (gEý„Ñþ†÷›ž£¨WSÇ»è-_½Œaºþë•|§x¸¢–ðs©¶M±š¦·}£äw%;6ÚΣ!WSÜå2_Ö5WÔ¯&EÓvJÜèõ’,ÂIEwéÄÃɃýs ;]Ñ™SÉî$àü”Û;óTyá'c@Y8†¯xö¹”¼ÛâcÞT~0µåè=¸³øJ‘ˆå¾œ¯è– XIP£ÆbëQžÑ§¾QAOùfÓ¥ÈÈÎœ¸](üFaÍ.šö²f—ÏcõhvxR ó¬’Ù÷ ar>ÁÑxàÊ—~E«ãâíeÈqÕVNÙaKŃÝ3ñ}àä%Ik L+:ú6AHí åŸË%0ÎwÈœúCy’}Ãʉ2~uÆ©éNí÷/=3Œü 8þi]øÿaâã+Ï•Ô[W"ÄOÃ¥ W¤º…™‰†uôÉD°N%pµÇn.¡O³¨ã0Ê ´×P ˆsÁµb&êýç‰ S)Žú¶åó6É—”íUÀÔˆ*÷üÔKJDÇšn¨­©‰tÚ\|{Îq°¨£¡Á÷ +šLDS +2Ÿ¬”Ë“ëµ’˜À²†J„'ì†NY8´jBDx 0êÑ#$¨™…ƒcª–ç>ÐŽ›yyð@eá»”9Y®³ºmV1S‘)ºKÖå52aèÆ÷«`T’8[sj_uwf»âKý!X¬½ó/çwt$ˆ—l;í­Î&Ú.ƒwK°ôÆ +ÿ)Jž`m;«Úr" kJØ’hºå<.b"úùá +Cá†SâôY)›òª£‹ý ²œ¥øÓ„*+$`Kzºž)”L\2„Ö¥üÈæw¶< +¼“ñѲ@²)ÀÍÔ*.AœC9è“Ô“Æãlµf5õ™38É–ã9M%j0V*Ÿ‘x:m®põpÀÄ?*W-㜌!yµ[¥:(Vçp•*NY] ¦Ï/…2~ä íÔŠÊä̽U7ƒ#'ðúŽ¼r§˜ëÁUPö±?<\G»ëÙ9¥zàÀ'ëò$qìoÈÌ +Ú¦îbî¯Óbv +S4KÖZe`þTZ4¿+N»ä€‹Æà¤^{<“‰y?% '9‘#u´ãš–—ÕIÄ>cÌ |!17 qr^ú¶¯F‹Òé˜ÎÚ /Ëc Á7Ñ–µ³%Þ‡ËÉÃB&ËFÖè':ëÖ_aóºX=é }ôØšÛrtÜ£q> Ç›sˆ íòi[ “Í€ó ‹yÿ[¬ •¼ÎëcnÑ×ÄÇþÝ”m;8¿-Cz ¹P$›2ºD… EËŽûHÊKî,ÎŽES³ôÆA7ü4¶3éCº$¢°ìÕa6‹6aÑédqlªúC”rÙ“«Ä{³e4sUתOîÅá»´'ãpòñL·Ô)Òi§ì.ÕyÍþ;øÛ2)‘Îkïz&}™“ÆY#flÞBÜßTýÌÀ¶`>hqÔ/p Ã.{ó5” d=[³ +Q1Ï«OlIW뾬ßwž´ZI ô•ì‰ e™÷-ª 3à*~Ä4fB0yC®·²Ïbn„ã’¯¬"7ÏÜ’¬Ößh©píx`CN㬋·+jÉE# ²ýî’Údç²/X–žšæ„4â2¿)¼eÖ °'?ûêœÒ!Ìg3 S/KwwnÈ]†V&°×¬ž¡úe c¶ýcä:üŠ¸x¢³^"°‰!÷uš67îŽAù2¯gCŽsP]¿¨(ÌX„ˆ+þ•Å¿—ïóƒ‚%LÛÖ÷îŽv +óæd‘"À½ÛŒU@EW'TP)€”íg6i©Ð£ËFHÆÉÁ"Ç9Ãd§°)òÕlôH()_vôZθõ¨ýY +¹€c±2÷?¸¹uƒƒ¨JÜae¦¸¸«dAbÔgÆFÁE=h>‰ˆ*GŸÐ*O{]é/®ôÄâÌíRÓ—Ãø¤_YÏZ³êmNÃp³ŒX¢Ú:C¥P¿¦wïÌ‚1}–m%cŽ"ÃÊ‹c1ÊßÆÒG¤jºR½mw7;Ò&>a){îo´ÖÔhvg¹ï©à‹ò] î¯ô”7ÙêçûÜäîVùÔ64©Ä†sç,>êN‰$,¤@¸¡òxËníõZƯøØ~úTÛr"HEzáàHI›j4#ÚFÁ¡0HØËÿÉ7«zÑ… cñhÖN꘨nÇdU”Ìú7—ðf´·:Óøõ¯ÓtëVʶs_ßíÌzõ­¯RfÌW°‡¨CaªìŸÆL‘xÞæÚGòoÿ`ƒ%ý™ >­%È õŽj¸Ã¯™ìïvEÄ Q•†óø”u Sf†??Mæ“ ¯ w[$6ÙBÝÈvÇÁº†ì@QwÎÚŸ éE cyõxãhU¦ñeÇÏ=ç/v¹œñ%ìw7}eDØEÍÆçâ²V£Ô´•9úC;À j×Hc Ûë9"_QŸ +ˆ1ùm'@Òܧ“F=úœGÛñS}“Ly 72¶-VT ÿ²¿˜yÕì«p@¡¢üöå×úxq‡9BE6_Á±Å¢˜ƒ)¡­@0÷c‡._é¶Þ7—¶  o@ u™!)„!l] Éí„&v¡›´ŠÌ@ƒ‘Ñôüˆ¢Bñê'2©~šõf—<4å“1ÓuŽ Š?º.#ÙÌòÔ +¯5ÐÓ²Î7Çû?†|‘Jàì8 V¦ü¼=¨åÆwÞ¸[;¿°¬žWL…h·w"$¡ÂÕní[Yá ÎŒi{þ›f³¤7r•){¼MB&š¸{‡÷nç[³ÒóÑ!8Ê•¥‚T踉 ÿu6ØåWT*u²•FsaKº`(È"êOà¤êy¦¥:ƃ]Äû3Ü-@J1#kš'`íɉü½»{&‚ÓP΄­Í.  €ðÀ[¶±­þ×ÐôÀúy½Î—\`ÞÛÚØgCOU©tÌ9‘»º Q•Mv +"ÃÇlüf<9wíGÈŸfQ>äYb<Î󊲀ÄÃõ³«\´p>Iú÷²ƒ¿Ñ// +ÒÕ ¸Çì¬(‰å „!ø•‰<ŽÞã)ÇÀ.¹üE  êfÕXbÃmîÁ‰#3ÏG.âj¹Â]ØÜòöØûštPÏŽf×ÅÚu§”Sa¢ ãߎÊ÷Ÿ²WÐ0+zkµü7Ù‡,„Ä|‡g–`v"°lÜ•]b5ÍZ¶‰m#0h +——JÔ™ÑÙÇOø÷Fœî0vl‰"Ó’=7õ»5jŽïM— ÞyãPÎ\©²&;ª]\Ã1÷xs2ãò$屆„îôp]PïÉÝtÞEJbÀ' ¬±QÀ–¸êm|W¤•Â‚CÛ r£¾õ°dm†ÀæcnD-„-«×0î×Bje§–Kõsû~ <u×áœô‘s +[7õœž¹9˜ÄZ¶Ò×V©9*¡ÐQWb¬S;ƒRC-ÐE JiÌoà»——[½”»ƒ®…YœÖÛ8K$0d !#`ôø[Ï˺6{û] 5ÕxJïe¸qtx§¯Û¸ÚŽ›^Ç䪺îS`öþЭÐéÏ­dº; ´{Ö»d*ß _†™‡ÞÜ4óêA;[7ó>Q¦ð2Ô~Ý>„Ðdö×அÀêƒ÷…ÝF¯´ïI—/pâ>; +> endobj 527 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 528 0 obj<>stream +ìÇçÒ‡Ä s©E† %r¤7˜ç¢[éÛ¿7Õ4{p¼@ ” nσ+_ÈœZ&†xë=?ùÖKQ|éQ~aÂ(ØÕ;*¥ÿ,¤6»ïoú›è“tG¨Àx† “TD0Öåºî‰þtÆú_½^‘Úôú;1©ZvßaÝàl»ÐÏšP1³Ž„na?šbXÓ©§ÿ·×›{ôn\“—<ò r\kØ ºF!¯á0]Š Êz +ó±ó¢~M–Ñ÷"1Œ'5sq‚@Ôÿ¶•K  cÕż×܆N±&%z^Seý*ÿÜò„[Yêõ}7Àû sÜ÷ÞLÒÐäÛÁQ‰=ëôSŽ k1¸³|Û„™ªòKªˆÇ‚ÿñ_Ðï왇Ëù‰]p=šÄ•Ld–­÷ÁKµ ÄÕ.pkð9¨ÕÌ·GM€ª½õ8·!žq˜ö_+Ì$g½emBmœ¢ç­àéÌ?š‡TÇ4E·tN~T~§q Žù¨Òj€’ÝI®&ß ñH¥Í§nÏSÁü¸^ÜY×v3üŒ©ÚÄ5ÈÙr[sÅš>+Ô^YÞ¹zA#v~ ’N ˜ OÚ^‡ÿ¦Oýô ½Œào½íÈÎïÌyuÎHvË'dŠt²‚@çæÅÒ9ϸºàFì“Øi«éI«n¤ºk’Ðü5!3€3ÓQf¸é¡0 f8>–ì/*ádȸ¶ä´Óí„õ‚¿ø Àye;Ë(hÒ"1éù8ë>÷ÜØ*Çí_ñÔšþãÊéÛü` _¾šŒÔ½ôBPšþj»•H·-~ñí­lú£™þËýt8ªnxÉ#Içè û¹þýç£ìwÙAÊ`A›{ºÏ ‚Ô*¡—i#‚ä6+à™â7³r>B¢x‡`vk/xA#äºÑ®„@MSâ=•‹b$ü=d-ºUúä ¬ÀJ0qiEÀmÜ\ƒñ¦+Jй‹6¹”aðÎËÞôxI}ý”U˜-\àFá†ú‹”wÖF]%vü êÉT¯t4±»ÓßÇ» pz«~GÁQêâ%áÒ؆†ÏÒ™S—I”ñúÔÂ] IÝBóñã"õÈ™ÅçÊÓ°ë{ÃX!øìç÷À+tWN@JnS˜r/òy0£É¿îÛCô'‰8¢ñ×ãü ? 1AE›²Zü?º³ áj’&ÅA¤KôVt—ˆ77v ùª¸n–*ÕdÆR-?lò½ª(ÍìþYù5X‹¾5÷ „Àû,Ž™æruD/Œžsóÿ=¬©591*[ÅÍ]lRr¾v>¯è)áUÿÅ-Ƚ€r°&GtÑ3VZ4áz6 ‡Ö÷yfr#à M£ÀÒÙòÉ-phde.:îˆõèÿ² a|®è}v|ŠÎÏgvzý/R¹(´'¤(ìRVLÜzÛa˜&“ ô¸ƒ¨îH¥rÖuR0fõK¯øšu5<µZw+ÖP€E0X¾©.B’²—ÄŸHÚW©] 1°Bá÷½%j´±«ßÔ몋œa{¿D_„µvR€ÍUÂX û³pÔÝTO¤gÞ-ôøò.‚¬ƒLÍ¥|ܯ_“@›S56©åo Ä-õ‘9'åAQ*ùê$hàK÷ß´ýµäQš†~z^€4ÍA+½K¬V–‹Šèrs0Æ]rŠ §=µ¯’/#·„EÜ¥_$÷ÿðýo¾rŸ_³2}ìãÜc4^o£`ü¯â‹méÄQ&ºÆµ¥f™/Ä„30­Nêù0åFHl㇄‰ùºØ@LòÚA_³VÂ#ZÞÖâ7Xñ¥UûV¥\x‡WÆö†Œ&ÙÎqY|<Ý Š +&·o±?ÔPÿQ˜ðQ$:«Æ¼¿¯Mrë[ëñ`îô`Ð⦠`9"§) F|ÈIO.Œ˜,X² °Fˆ_`•$ +¼ÇÜ)ÅhIç; )7ÈËDAG9 ³²P ‡É–w|ýŸ¶„ØTÌ“rK`”“|ñïh#•0©w#›Ì0òB3ùÜÃ0çÃeŽEX²léŽG´®’ðÛM«/båKìIÙ²´˜¤MyïnÎ}yj‚òJ›4õ&ŽÙ­›4ç!R='¤“t©Ú"Bó¨ã»`{[Ü[zh™sWÖäé¶:ÿ‚ ]½ó¶[‰øR?e[™à‡ +`ÓÉgößi`gèÙÚð£·n–J70Û $ù)c‰êöMiÒ¤ÕÃ:ãˆ1 ¢É#•‰qÏPr/„‰1yð2R%öT’7¹qÌg°¹_ îç­õä<Îî¨Ì¢ŽšB·‹:â/´m ìdJƳ ¢É¹Zª„Ež^" fÀ¹A20È¿‹d½ µ?ÙŠ…£†6…4zÍê”ù£=Zœ„Í©O]ÜonÄ[ƒÌ"´¹Î$ãÒXjÍR"FnL÷Ì€%OÂ?êU»ð©MÁ[˜µAn*aÊ ´?Å­ ¼¸˜#(Ú²z˜š8åñª=ê*­‹Cšù”„qÌÕ‰PZºT ƒ•gÐÆD÷Uêbåʦæ ~¿I'°]1¾ÜZ=Í(ÊÕAÝÄ`¥ž‘áÝŠ<>'Éèu¿¹o=­SÉû–]áYÛb@ T—càBô+“Câö°kG/L)Ä.åf Ê1f¨†2“.å ´ qt×.*}91´ýÕ· ”’èŒvšFÚ°tXèLo+ðxo/¢ß2,  ÿJÂù˜S-í¦_Š“0Mµ“ØwóˆOÊòö»â#ÚVìßÅ0‹ûçþÿEÎÁ±Å‚À£Ý¥¨láùnkˆµ à|´;_ê5Jù#ó÷"¤?uî¼´ëœq¯¦¢û +‡´“8ºCÌ¢yœÀ2øI–&k“Rýo™0¼*lÑl¸ é`°ÔÓü'+©=vðôX #ÔiÐ÷¦ û'·v»¹X4Ï¢$m-çžT1’yå”…<®û‚{c»ó¹(ÐÈŠJ“-߸‰J³|1Š´u­PNÖì§ÆÉ£Zr€Ÿl¸—äKp;ââÊh ²TkðìóÓÜ/àoú`9¼f¢{y~9 +g¸¡1Àžû®EhÄ›>>[¸#„S€ÓËqÒõíså}Jf{pÕyó±§èŒW±Ó.L#îÕ¡`Š8Ùg/gGŽ—ÌÃo¯8|ÿhmø…i 0aUaƒ¸¢¦ñºÈ/©8Ü“â°öpÁ‹kH©² x,Åfö˜p-™®²]¼]=uú)·X×´}†DÁ}¦Uú’îÊ#K8F—ß-žÓ2ëos"c<„Ò}„Š #—ºí´xõd‘HVÆ8-Q£“ùOþ‹âm¢Ú½ =Ж©R(«å½„8“òmvõT-Qw+GÀ²œ)Wòm}ðYÔªIÄæP,¥ÓX£od5‚ÚìçKÞ×IŽ•&`}ÊXz]¨« ™ÊïWJ¤ª‹r[Ÿ}ÙiZ.XA­öñôÒ…XÛi»=×Pp™h„µÁ»Lp–ÜTíÉ‹‚;rBT4(ÿ8dÜØR-ÔspÍ6_‡ûq® ¨AžhwXQWq$ÍYú_”É®o˜š'?‘¿u¨’Ù|… S®¸œCÙîƬ¬Füö‘ŠNÐKAé¯~kCÜÃ’E«ºb$ö—-ÂŒž)œ,l1.óþ_½…m]þ]Á¢GÜŸö„l#¦„3š™©4w¬+Ù.Žï&°Í.Ö8cUEãÿÖcxÃB°=µ8ïJHÙ®Ãñý‡ Fb›IŽ1aó=ÍÔ±!ŽÔ!¬±“Å +$2Èڦɔ™É£‰ÉeñÎ6Ë ð·dÎU²Ü „èºrrMãZkW9nm|­y–>‘(¹ªÀTI쯰Œ!V´jj‰0¯i¦êö¹¦ÂVüªµÛˆËLƒ?4Áè„£i B«**ý½ØÜËѽ5çA7ƒ:”ÐÊ’rç/µ ô¥J^ §Ç¤¤H©ÇO!ÃÑ`¹+\5;¿ÚÏØÏÐ’B?{š/J|„ÎÉÚK~[-æSǺæÄ3ecéA¢û3>ñŸÓÌò±ŠÈœ‚Û:ï€`åº%L¯0"Ó~©,2°Ôê2hf( QX]ª£±¢C±NHÒàVsänœÀ-:ï­IXXzìTaƒËÌj¤k +˜èCƒý@Þ8‡ ¸9ÚSÍDo£cf)- NÃf½{•‚ܦÕ|÷2q6xÝMçpÐÛe3Óðy1?ÆE€ÐœU 5#8‰2`Ë]κ”t3ÝÍ ×ÎxߌjÜ•8}Ú7œí(uWW/zÛßE¶¤ë#;tÛÏŒ,‘Ø*25ý_#"nªë8âmŒ„|)PÖk–OÂ_—5&ýèsßÆ)ôö„¿@$rçôë´l»^+á¾y†Àäíκ™Á©Õ®û½÷øó|(âH`Ôƒؘ$þc…Û‰Y(;Þ“q£´J² +[E—/8šïL` èæòáæ…FhP$KÀW&e¦€r^»¨FέO)Ÿ>C¡‘Sý—ýúRgjUåÕ4Ù*~í—™ŠÌÊOÁÉâ2ìg~1"ÛW䀨µft f,Ý9üM £œf80þ¹Ýÿ:žâ³ÑJm†W +”Q9G⢠ߘ¡H³½RÙÜvλõ€*÷IÀ7›hkÈøó+žtwìÈ«²›ÀÏYùÔêË ¬ì>Fÿ ‘ ?’òÀãc‹*D§p°Ý›í g ÅødŠ@¶uŸ½2”¯#tž×i˜¡E/¸¥·UÖ†$˜¤7f³6œ.¬²Æ =Izwú’TQ3Æ{Ù§\ëk5tAÈÂ(=:ŸÉé•Â…"m‡1²jPÕNgoæxÀ²Á)¬ÈrB ¸¨Š¨A^D-OF÷2Œˆˆ,ë’¡\ôzjÓ„4žhÂÇ+ {L|äy›úE{(«¢ˆØþÆeNÔÔò(¤Ó)|U1vR„Co¡~.÷h`øÂA×\1ðÕ“©¡¼™gô¦T墨Îú£¡ a¶¬EAç,+aIðÕûæqââۺù¦bå!e æ°k ¦º§ÉÇ©f» $S +Oœ;°Ð$yïX.uIW[c$€œ¨.÷)RS T4Ô^–õ×Õ¬rþ™Âß,8ÕÙ•s_³Ñ šeÉ€ˆdD…ö[!Ÿ?e§êЗù,‹Úá.Ám-Œ‘‚lËÞu÷Æ/SÊž™(oÄÒ1›!zöZ ÚH—XC:&탃€Žˆ:Yµâˆ8¼¯ Â$µäƳ”?ð[¹ùÙË™$ eQMÕÌ ³V*~’œ_Þ3ü‰¸ÿ9noãKŸˆ +×8œ|lM²ÓûmRF³Ó(U+¿E 'MoÐÄfeÔ%ûijn5¬œvs„gÕöèaAp)ºÌzÔ†øðø(ßàüq˜·óë;ê>d8¶³L'ÝýãÞ‡‰µ*RÛœõ(¹\Î=ëÆBuÞIÛ’¥¯5£È>d=曞Uñ£Ã[6äbSÉçø“IjV ßûúǹŽmÛ2/i{`:À õ7ÆŠþë$âÐÁmÑ)…LÄ~©±Þ„Õ~fÉÂì“Þ½˜ÃŠ@8U]\« ô}€r‰î#!æaÑ}¦2ªˆÞ!7–ÙúrRÊÙ‘>#xOãn²gž}úEºÜOüÖœäÇž [{©<O¥uÁ+,|çŠ9Lðë3õa= ªã&Gßic3ØWSà¦ú«ñðbÿõ6_Îý‰ZÄ)ûCêŸùÙÅ+ª“¤Ë»¥Ýø‘ù0onbJ—ÒbÍŒŠÂ¿,(çOk/y¥Þ~™hwëiž¬øÎP_'¢¹]ùÓ`i—\²'ö³ü¯žL.|RBÛڹܢXጹ À"5Íœh“þ©[¬6SNÅU‹wÔÁTÞrz«%hf¡(<`Gê óÎúÁó2ó&®L¥Ø'{[Ÿ!ÈýÕŸm-'_Ípò®§àž¤öÔÛZÁÏÔ³Pü–"!žŽ!Z¨ Bg9l;ÕI@õ/}NŸ¸™¸ªå;ñ~*Ï°:óÞËUäöÞ¦„ò?‰™Ëhd‡ Iî½®SÀpÓ †·æþ•`D“HÌ€ÃÜn!)òÄ»“³³L…+xæ98a«0k˜ znä0&½Z¸†Nä%EJ}¥¦Ï²¿æ¤*ÖgrŸ2lg1Ó Ü*Ï_O“Ù y˜ŸQêû{/T;º~ž‹èZiå³Ê¢Dãœ8?iÇ\.vZR¢?bÕ3ÔvGS ²Å¬Ì‚âz‰FO6)z°šWè€Ü®)¤Q£mÑQÜ€»#ÊäE,ÏrïæîLßøÉ7à}—î¯$jYy¨aZVzV\•“à +™ˆšq´j2ó§óTÏ^¿©üƬN# »¡‡mx*•VÄ‘—› •K›ÔÕI¬+ÃÃaOJæ.K¹U“¸(x’}jM2_âÇ©r¨Ñ †V=šûO à5¹Òµˆ>ÀóÐÀ.Ž@ kfñ¦?øh΄Z_Ñ‹ Á:6ìÖ å^"vF60Œ«O[OÖŽz\Ù#+×&Êí¼Œ£/ÿUa•—_Ìÿø«öYîLn ¢£Ç•è'Ó¿U._Ù¬D­ÌGV‘`¬#®@C ~œñß·øˆô ÐâÉøQ­óT`–)ÌÚ¢t|éfª#“í£TŸíDqSl¥5VrâSÊøÝšÔÛR{Mˆürÿg ®ì´\k•¬Yò˜Ãi¿± ÛWƒv)c¬hŽ¹jh–%$ ¾DRú n˜[ÈS.Q çÝ€]ÊtøòäVŸ|ªwlkè«ž%.n_ô +,ïöðË„<ë †È®• <Œ³(©7Oñfã¦Um±%B'nˆ‡‘!Ø”]wÌH®OA9›ð‚±ŒýÇXËíyú¨½sd6è£\Ïæij%„Ø}¨™Ù‡÷ѵJá¬vÙW?èe¿©‡vo´›ÓÈ/ÌM° sŽsT+Zúòæ–á3ëÆÏê@¼gºwiX2*vÁ`{ÊLºrü0*üÆvãAmJ‹–¨qVçŽËÔ çá]ÍZÓQ2}z¦mhI«r0¶,&M`4O +endstream endobj 529 0 obj<> endobj 530 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 531 0 obj<>stream +×ôûó®¡å›µÇàùÀvƒCÀõ/+³Í|„KÔ:‹¥TN–k¨ Ì>Üøž_k v˜ólí˨=ˆ'³~³è ¨\ÛÒ³Ñ|(>r|È< ™& ‚hG)…0œ°œŽ%ñU¯`YG_(ó키æ6²ÿB§{îÿÓšÊzãH°>¡:‚[Î=}yÖßÇ+zEó¼[XX@€!Ykû¶o'1÷Ϥ4Š>çéD…¤èÎìøݦÈ.bÇ]Iâ©m²þà°7ŒÙØVšûOÅñµÔ›b‰—#ô±YJ%¬\›¿-ö¹î¦ gHã°Ž—=ò@ÏŸ¢6°´í½Þ„òl™„uúÓ”c$†¬ÕÃ]¨#/wã·Mtˆ3W˜W©Âõåy‰cè«Šåû_¡ÜšmÈ© £MQ×8×C~LB/QOb´|é¸/ßÖ‚–ÿðCÞ‹ôœBÌâ§lzjà*i™]WöÀï(*+Ô!ÅvîÅ)”†——Ô&*“$$<:j»;™·ëu4ÉY°ô¯/-ï=àÈ#Œ7ƒmíšß0žÞ”ä¿Õ³˜™¨§_ÕQËívŸ7ZñºZ:Ýz߀NÕûï5÷…Üg&]³„7™„3¦ä²Ît¡Ù¥O ™ä꾟ÌgJtÛ¼väU·u4Cœð·n; €¥/naþH70¯‚17™({—U: ð9N7‰†çâœÚUP€õÜYV†9Ä% t˜¹ƒä€3ÄTðù¸¼½æânR¢…î½¾”œÅÑ–kta:w åÖ¼Fã/’Ÿ>Yˆ #,&ïûªLä¾.m4X{ÔõŒ0K¦º‘x;ºñÊ_ò:#Øô¾%\òxàŽ[ùCÒi§ÿÿwö½Ím§Àïv*þA¥Õ\Ë÷Uš„¾º§vyüëürM‡6=wÂéCÊÏ‹þ*j3·‚'3_óò‹dD5& •]-1«öì nJ6½? ¸|ÔqCòy»oþè2çr ꨊõoý ê«ò×É]mßîOšêú1„ýÓª@±žÚbή¿š´ x‡ÓSÛã\„sÐwŒ^'À̬‡ò¨5ò;0@u¸€;®ÂÌ[r´&÷Ýiß +ŠÇåžsÚ²Ðqmú¹H‘¾eÙ/#¥¡ìäAãtî»ÚbÇcr¥<,W +ë09@K⽟Zî`IaÀ 4³ <‘ËM’öwd¬Ž ‚šüIGI2¸È¶Çy`ÛÆ^tf³±Aq¹š +˜Á`3ö2ª0КDþ}&Ödà9Z n×»Ý-ˆ÷V—?›ãvÒŸ›Í7;UâÑ<ûù:®šÙ„`Ï8+þ!Þ^FáXkTá®9S‹7€ «(2‘oþ±[ªdó2Ö>§(Z–Qè4l3,ìN ÊIôOQGPL0Õ§×(ç—„¶¦DØEA3ìTwQ¿Z¦ŒÛßÁš"ÏÂMÊç¬DMK5㬚»*l#eFAz´›øj„¡¥~Õï¸L‰ÉÈÞ´FºJ ú.ˆ[íÇí \•PÛÆ ZÏ€Ù­†ã1 H>Íõ@ȇžë¾5†QY¥ùç3 GR©FÄÞ;ºgöèm¢êÏd– ´,Û“f°áÎû/„§3ÖaëgGº/÷JâIyú—ùWøµ5°ÿ”¼ÜðóÇ“ä§÷rN}Wjþ¢x”ná „©‘ÉÉ–:A®Ãᙎ¥zª.PV@ +‰"eUâ$LÖ—`(Wê”9E²æÔ«FÔ­Årû­ôHQ\9tÅÔ|Ëxõ¼ûÖ ,g3‹xîê›(¨lÑØí=„Xž¨}Ê­ÁI`:DñZW) ÇB èÛ ïÎœºr;)CÞ‘ôöO;ßìýb:?oÃMpÒ˜ä†dÓŸl¾ð%¾»‰8îKN9r”Üï çšÉø؈ØwÈ ¤_jl<¤ð§›2ƒy ­Ãg†Ob ªÆ +ï_ò)±¢I¨Z-9*&+àyS-åD +3/gÛeU] G{Š!Q®P+J¡ÍŸï‰¦L3&îŠXÐÚ€z¨.³Y}2´4l!;Öm-<:êLÑÃ!r@ Æ„‡ø)ý6j2¯’Ë­x§\žzk1ÓW^u$ìKK' +[òQ"(ÊM³(g2{`}]ËÕ¢˜ûÚt$ä˜Mâùጪ¬¸š”sxôAðLàšË.È1Kç×—Mò´ ÿÙ²¬dÉR·ÿ@¶~eíû:Nµ]i‚ÔÈz;ےؾ¶¬ÞÚTxbÁ4ÃõeË<ÒáÜ#¥ãÒ%sîÄìŸÆ×ñÇðB´¦ ¯Æ|u㦃¹©j„†Ý¾6|­&„f|TÌ› ÛÊztÿ…XŽmã@ñ–½E̵ºëS´«ïgË" äXa¤ôiÆÀ4¶Ýz@'J”äÛ ÝMwҖݪ—YK_OÉãIe¯ ‚çmë‘ÑM•˜žâáù©ùû9g°eÁhšW‡´ ±¹°S«È.X+G‹W³ Ç %FÞâ0}À.ö—S7‡H©ü|¶#‡©ø·ÛHô¥b|wETœÒbã“E÷J¡žÆªÜ 9óQ\‹bü)Ùm¿t²›Ä¨Ö0¤}$×{?Ýum¶þŽ'Ò¿+WÞÍy<œ×IÍЄ=üµïŸ–ªû’/‹ Zš´¸F@Mø­îœØIgX'cÁµ·¼Õä2Tî,ÄßQ-‡ú‘±`ÑÅÊ`Íû3áî¯DЇ¼OêyŽäò Žý pë?û» J/t„4Ε¥múyc¦ª¦Æ| 9ÜËÄÙˆr-Yˆ· ‘ܼ³\î­¢Ã#xO ÷ø†£ÃÄ—]±'(jÀûl;ïúÙ +øòWK.¦¦Ö1ýK`X¶*_/Y¨=eµMÕc ùNV¿”?–&6j÷RÌMPò a¨‘%ž|þNÐù +ðtÍÓ´à™'.ÂT@Š‰Þùf±D¹—ŽN383Àò <4!3`ÃM"Öƒ¤OƒTûKIÕ‹w¿á@ÎþÁ™º †g¬h +gÀÆ*€Ýe­ÿ³¸2Z" fx‡rÕÔãq‘ÛMH™® ÔþÎ_²®œD ¦ö°{ø{ÒCœq‹_ +Ó€+)|ºÌ"¡ÌúÕøFƒó.»=´Œë%Í êo·¯ÎjUo̲֕>o²€[»9)D .Zßvûk’ôÙ®·­ðÆ»ûH¿ÉX»ñGlë¹r„»Lý”½·µg˹:#ñI¨r““8+bSsûócð„®æÇ öϵÌ\ßA C ÑÀÂ蘥«8ØE«ûw0Á30òvÚl¾h“xî0ƒ‡¦îÛÕ)%>Ft"Z­Qy£aÊæJ6&…áXºÂ:XÙ»cÊM®<¾òÈÝÁž +´kzÚXʾ§9…j-Ä9Ô¼0åEÅC,NT゠HXôå¥SØ~& + lœ¹Vô«®…i}7©±ÞwÙŽmx’J’Òlª¿ 3 ŒLF&Jé»õÕèÖ£Þf ¤a›$ VùÊ"ß”N&vX! ¾±­äí·èšïS cü’ƒVWò“ñÿ0Úœé jKö~¦Ó´ YC³97‚à¶ê›H>~ôØyžÅRÖëµF,~pbbs'Üsœç>\/z1ˆ5¹ŒØFZeÓ}3ùÚ¿‡SÎ)–çªÑv…rx’ô·2í‚5}Ö­!^Üñ£žªñ@ØÅ€¼åòÕÔÅ# 71æ.zär°ÔÐ)›øÌO:’:£CëUÕcü‚w£ÎS“Þ-äóF~»¿ÚUbÌl#aº˜”Nìeº¸”ª¸æ]ìš‘Åcÿ!Œö§M¸„¸DU ~…®žñ´™å{1ɲ8/r˜Y-UBáõY1ûÉÉ tÓyŸ¡hûYE‹|ß ½w,ýžO‹9Àb\_”«˜fð¾¶ÑTíº~”›hÞQã‡n˜åDž¶ÁÁ¨°Àä²¥‡J‡à‚ µÄ†}CïYȼtˆl435òRÈ:’8-.Ÿ©KäD–úþâän×1Þpˆ¼jŸpñâ³PÅ8 +í ,מ4ALŸøĵ>ÒèÂP9+,RÑîÐòÀfÕN€¢°ÿ„ôyx£(•S}ÿëÑ÷‘™(KÊS÷'´Zpx¢ãôï™Á4åâ¬AïmaU¿øóü`Š±^×Ï‘ƒJòxí+Å@•½Sï57¼©¦ˆJÑÎ\ž 4NúËú7fy4¥ybåcÈžM0艇‹¸cÚZ7„¶.¨CúI…õ·âÃdjk{ÛÍCõfleß¼ ˜ªHfÏ{óùâUÜT‚•–_ìÚ–ÒûÎVòƒ¼.õií2 †Â#Ý’Ú4|µžÛÓi”Ì“ŠšçªNUµäšslêÖ<ëPuRF·Óy®„Š:…$‚ûZø-ùݤÝOùŒ*iª=Á–x±ÒLÎxUœóÐ~ðñIŠ°lÝ;ÜKðR×=“||0Q]à1fšÀòãìL"ºõ,¾yƒÕö<bçPu˜ý +Dö¿æ»&-YRŒp¨r^FƒüÇýð4JX³[HI]F»bŸÊÆ9²(M×"}²çj%•—‚úŒñߦ9Äœ OÅ€AÄñ=H;VºfŸ8,Õa\߸%•š›˜ˆí!Ë|O.Þ»éä\ q_Kå1¡Ã•>\ú¦Âæò¤ÙBª“Zäõ7ž®œ£»üßx©gZ:qñ#’ÝmŽÞ·…M3ÚÓQà<§!’b³YB‰ôÔ­GÇ«hwúW›.À&sï¯9¤£Èïsâ[¸õÄkFßdÁ9 + +(eí¥”Ì{§z®rŒ[K•®[˜ÐjN3 +òxeÁâ}ê +úð@}¾ðÜ3zÅô)†¶€Vj=И¥þÏ„T5ìÏëô–‡*Be=x–ß}«þ‹V°‚9,"j.lW‹q¯2¿¯Ëå¨Ú+@s-J¶†ƒ§“d–•NÁ<a*X~rÈ\æéü9¢:L ìFq4½[_ «*ݼQ[ÇKº‘”SFÕhÊ çƒ0›’‹«Ž+§ðöR™Àç¿j§d*O¶³‰ØŠÄü\ïÄüɘc¡Ëêwª·UMõf61œüXÿMÂ)×_{-‹ÄÑ8þ# I(w~]cíÖx( Ö3GÀIUhážù-$³âóh–Õ‡†'Õ-ßÄ$P%ÐPd(€m±z¼¿K¢ÍŽ úÿýo‹ÍïH!Çwô«ªU.(µ34Ta†’¨9WšŽÚ1æá‚÷ o…¿ˆË3Fšå8g„Mÿl9K²Ì +»BW­gPq| ÷V|â,Fè"s©ù¦xîéÛÅÓö½tqM]Ô‡¬ ÑÁï\H`ÌC–ôœ”Š:‡qbô±íYô3·~Ñ¢ò4?ýò‡yïBe b0h"жE³R²ÄÀyµ¢è ¤–|’ê*ìcv|5e_•ôº.S­SîËä4Ÿ—nÒ¿#L€;*´•`ñ]‹ç¤L_\«U[æ`6ýDrN»Á¬G‡9¢ØSAº¯©zU»&×cŸÐ]–È%‡¹OÞÁ¸Ãåå’‡r‚¸¼_œ­†Gtÿà6¯ôô$VNdÏj1^ÀGÞíHXÒ6¶tºS«EÆ“#V¹ÎÔÞ›w Ih•§²hpÜeÎN NoPVWxø€(3ccÁõ‹ Æf®¤x2mùÄò‰§hY—­¶™R7²†þá öKÝÌr2Óµ:ÚÈìW(|Í2œg;Â×Ú/“?ä‡çÎ$ÑêMÂ9Å Çi§ðtí<±¦Y‡úýèÇÏp® "ÁªÆɺƒç/ž Ÿ³uÑ—ã~{8«°¿%:”ÙÓLg§‰`è¤hcN£ÂÃìí)8-4ê©Þ¢º.–ý½¦Ct´ÅìNm µ,ªTa j_iJœÊMý¥jÞ#XöçÙkÌ€H–â@¤Vt0?D„#6±¦]sÑî™Ï¢‹ ZIQªoHˆµ˜g¿n]+­ÍãžžúBd ü»ç*^›CMÂÿbHŸ•7«”X³l2ŸË¯<üìØ«ºÓJó*N.N{4ó–#US`p¹¦2~ú”Ü™çjvÅ ûü*zp+}ÕK–ÿqÒqAêšùvW§ãÌyò¤np‚X›F8de¡ù1«:Ú…D— ~ÔUµ[žAʃՄN¹åu·LýA†ÞHÍ¥ÍÓã<–§ŽÕ ÀÃP% $0,§œÃÄÐu–]&µRûºç;ã:7Ø,¨Y, |¹2í$õÀëÑÚ2GäD«MW¾>¿ß²J…Œ*Žr×ö]ÎE3m +õ(Ý-GvÌ–Èù€vÏ㺕¼ÒéÊq)ë¾èçšÖ¬ï +ìŒHói”½3¬I¥}"Ôs­j\jh ºÙ½RàïÎyü):Ñi:ÏE!?—|~Ò:?XöH€p!èÚé7²°ï6^>w“=dÈÅd\Hw5o(ÕûK*ïJš=5@àØlæúÌòê™ÁéJ¢ÆÀˆã£·®©BÞ皥 1ËhÌã}ד—ŠúC1>ÙíBªxðñîÀ2] Vƒ·Ó¼ «Pú_×)ªÚÇp8•T´³Qãlçtê¨zz*lMÿ›·‡f–Ъ «ÚL’FpqFk *Ö¯´=dIvD )ÙOhÅ5ëé²Î;4pCË8¶ý؇ÄþÜÄU`fn—óqü#s›š¾Ö r/넯ñlÊÕçÿa(äC™¿š……—˜T<ªËn"CÝ8Lv%&ÐùÌœÍ3+MH&îÝcæØ:Ž2ßFXqѺþT‚ËŽ_¿:¤#=ZRM^;¸«Ø@K‰§=Oà™‚ÛSÍ\½l)š1£ÜF6y÷,‘Ù9q¯i×Ø]ßu¶óË€١ȉ +«;y/t”öŽ"¬.÷Ã×¢¼Ñë™Ã‹Hþ³~øð›%ÉT¾CÖòk«¹8ç³Â]’þ722tÉó›Mçòëû×íø€:«“6çíÐVÙÃ@*;€§¯Ÿ+ð¥ÅØTŽ<]jd M…^zµYƒêþWõ–OWæÚ¯ëÓÐE³”’"öK 툅ŠÖk=&É÷ÃÕeÄ2÷ÊZXêºi¯úÆÙ^ ‹×: õ½âÆ3"lï‘pÚ˜tªÜb +endstream endobj 532 0 obj<> endobj 533 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 534 0 obj<>stream +ÊÜ,R *¯wã…¥ ûô©32Vkp €*ü_þf˜·ËÖ>¨ÔæFO(À'LQ‡i‰Þ£N›Ÿ`î†WR1[`£wDýz^-tBløa˜nú˜ñ¨† +œr‰Â*}JúQ9[}w?MuhÂ2KÁÊm&v;[T~}ˆ7•$Í[Œév>»Ê2G¿ô,)#¯}kŒòRµ1#/@ë`XÀl?~Uå ¸HÍA…1mF3„Y2¹ü‘Oa`°z'"9Yˆ]ò$¾iš¸Ò +É£%Ø|'™x  ‚¢Žiɤ¹!Ë¢›Ðþž¸†ÀÑë°WOá BrRI<굕—OL±tÖ€ãnQ<ððq._”òD +°å¦UÛú‚ÇIS¨¨ÌB¼¯ÿI·{«šP \h5£ö…qÓu! Õ S÷Â@ïI除³Ÿ`ßÓhì! U\ €ùczþUôG n%¸Ô×Lg´2PÏ™(…a/L%¯Qþîr¯Ñ‹S•;6ö{ ˆÏœf•”-9å.Q2;Š2L¯D¹z±l³tTU㣹 {?Öÿ.Dú{m&q$Cîü|ß± Ð_¼.sfnéäaO;/Æ"øåηGÙ"oCc l&Иúu^‰ÁœÍÍÎa»+§}ý¼ƒÿ"XƒxÝ•žnÅã­‘ìßÒØíQ¯ ŸZX,=Ï‘Ù*íVØ9%‡ü¨æë…à”Í°Æ)ïÓ»'ïvµýW±{(Ï´©»ªü„W’;µðÜym‚-Ý’>z±øf)€=j²Ö¤ Õ±£®¥Ì+8±O½Û¶A§Ü¤úÀˆ’qƒJL~¶Xåǵ]ièäC®Ìé´áŠb|'»ŽÙbíoiŽš£ßS¯+Jz€9?î¡Sld ŸÐKžŒªÜ~Žve2®ÃOÃBF¨Ê „õ›/ÊÚx[ÊŒfæ¶b õ‡ÈöÂ:‘è[ø»_ëSÙžn?\"6RÒX¯(¡0io„$D&k› +n<àçÒ‘°ÐÅðªê:ƒf¾å[&nET fX Döþ)FÅNMz„sž¶Â—K%U3ab¿Äs*d…xýªet±˜M¯LêåT D¹ô_ÝJˆÖåŠÀ[äZŠ…lˆ_J)ø‰/Æ2L¢#§•F^Lfy©]“¤ü ½œ“Žß&ŽÚüõ‡ªÐ^O™žg¸UÈÏ{§$á<ø£§i¸Œ­y +ª½³EÈíd‡:.Ûו-B<•3IÐŽüîmFß@Ä qü­Ô¡}'Ø‹þ¼RÒ[žõ4j³}ÁÉB‹0`ïKi@H&»ò}Ê°-ÍMU|‡î—çæ‘\¤iU +ˆfY›?VÛy¯£¦«”¾o?«–õë7NÊ=’X6éÓ¼I(üYƧ¿®›Çz õüÕ ºŽ%²[×<©~‘=Û¬$“®žÙg£ëh¡'x¡µyGÕ îw%)TJ»Ø²!mnû”´í7Ž^ ÔoB²mœ•yO£;ZKÈ­NU`P Â8W 6Ë/hJ‡Ô÷ÐòJÒš¿øò{Öi–Pmi)·à=ªH +~îýð¯?‹Ç>Þ§µ·ýˆuôfÚ̧0À³ô"E†uf4e0d~èœ@îðº÷z‘Øvfm¹þC‡€£[ù丵‚6·Ñ™«ÍsïMóŸxÒÜ"}{Ù Í/(Q ÙFôà—¨b_²¯_ä!³"˜Ùõ hq=H©‹ã\ä@M[ÂßkŸÌO¹X +‰~ÔyÜ,]ºÕ²c)ØTàëD°G¾¬_ˆšÉŸ¸ÛHÂi'TwW6›í×!lþ4RȈ«“ùo/Áþ +¤× • вèLâ!ê ü·‹ÜÉXù²BÞSG+ºúî+Ó´2­¥Xioô;P‚¡ËhÎ_ ¸9ÿâ +­Õæƒ;ÓÀÃÉT…”h9s¥µC¤qèN0Ÿ…E;¾»Y{‘o(|PpÉʈ-ÓÓ–œ6 +!• ªI&Õ¡F Á3ÈcWª6%W0pq½ôáqÜÃõP!KØJôâ®LÉëî%3ÝAÜ—Œù{1^‹rGßbuK‚ÔPIÁŸ‰>dH\«]Aîu$¨«Ïµc„‘?Ç®Å; 8ˆ¿#¤Fü•Ýj|: «M>J(§vdž Ö?ž6ÿÆ3éaÒæLÔ”d1ž6¨^£×ûPjØb3«ã^|FûîîƘÉ8ïgïû Žÿ°_)7në?9'®b†=Þ·Ì‹‚¯â¿8Ì…U¢$¡ÅÔü±àt%¬UrÈ÷‚Ág Õ?È¿àÉ•aË”ÑÊ·æä”~Têæ¼hö¾]ÈŒ]7ÏD|@³…?\˜µê¶’zÙ?þRm„¸…# ±äÿÁŸñ‚W÷kŠâ.‰~ŠÑ'%¥œ+‡&l®iͦeC¨´¨Nüé¨:aT³ǼœV­uF|: •áMËêÕhL;­ü  W›Ñ*£QméÖ=ã3zÑYÀÛcÅf~ëÂÏó•V¨ + ÜXøçºðAgA˜<‘P“šÅ£@í¥Šå ›ŽÞú®HšSëíåùŽ©½Å.eL4³'7¬¹\òó°1ÂhÃúdzCüõ55‰Äþ²ãÛ:®ã>“ÃÓˆ³ÆÉ?ÓᘲÄcw"$åÓi8ˆ]f–{Ü1žaøtö¡õxæê]Æ5âJ>¨MÈ-„Œ‰iô}¼½X0p–ÿ!µºðÑC;ÇsoèQD‘0!ë˜(O–U1•s·—"­ÛâÏÓò,!†R$©` $_Ÿçë¿´žÎTy»PóÜÌip\ Ý€<ÏðŸ/M×וñC¡D»î!׸˜ 6é$`P*:q·4F"²È an¡¡®\“UBBâq’ÅôFh ÐCK%ý¾*ß/ÉØ]êç aª†)BËp6¨3äÿZ´<„iŽH=žê’;(€Ö·Ì\×ÝSÕÐʼnœ¸]j{÷l¶›bŽ:«“À7@‚ÞƒC¸Uj‰”ÿP-Éh ì£|Á€t›(q‚.~+›¤˜ñ VîÅ™ò­—/xº|ƒk+…ŒWÇ´ì»jÿõóÓ"‘q›lBÕcµz¢'û(e”N ]8Q|è f‡ˆ}Ó€wb=’Ÿ~2æÈÇÙú:=,Yj#ãˆÄ­ÿØÒŸ«»kj°×ŒSŠ .(‚ õ-h£mÈÚÒ‚1ÏXÆŒö‰Nt‚HñÐÈ §Q›øs“1OÕÛ—'€¦9•ÅCàYlý"ßa²À[Û,"<î}P*ÇœIΉIEò”Ïiæ6R஘YfIÑ€¨Ò {6¦_ HUYl6?åC'übÑr_^™Ã[õç’²? ë 15v Ô…Lw*/ÞÓ7Å€ð#þké¿_ÓS:˜JŠah£šÃè5Í/Ís¶ÐÜ,F$¤U²Ø¡—úG ©ÿ¶ž@JâåcÈY¤¸æ:ét'«;Âr Z§þSQC^ºHÄœ¾qÂj±4¤PÚ^ô{(ÍØ5ž‡¨ŸØô*R²)–6Ò™(ê‘ÿ©.¸×‰ ¸=° ¬wlòfˆš9áìzDÌj)}¥ÞrËþ¿|¤qEX.žÅé“ÔG«º{G±§—º‹C‹À§§\–r§‹o2´ +HIÃÞ/w +]t“2 +¹'Z›¯U†¡ÿöæž»¹mÊ÷(1sïøÜ?µ¦øœ.¯*¶s,œ›nŽ!(“Ĺë’dˆÐm—=œõÉdˆ ‚gù F¹~T!ÆŸ:WÇÙ¬ƒWéQ~IáN<8Ûà‚þ5]üÁ¢E‘THEðqç/'UÔ4Oª9TßwÔ1x’Äp+Xó ׬¯Û5U°à6|&VíGè¬p5'¡Æ77=6*6Wº×˜«&Ö+¯¥/—rF¢Z}Ÿ’¦k¦™"…lg17pe‹C4šG¨É¹‘úéníàc^¢7‰êw—¿¿%Öp_ƒ;=Ë[Øõ14²¿ŠL7§X¹Õ‚£ÝFc)?¿áw•‘ÍÈ‚²àQ©™ipA÷7Èå +‹­X>˜“xeŒ%–BS¼×ÐñÙ ú% äu°]&Gʘc†Jf…QÜ´Ïû‹ÆƒS(SnFqÑ{,äÿ§¥œ{¸§nU-M uŸåû—‰AÉ+@Ûáûü¦HÑàiÛ\¼öY4VÔˆ‚ûÎÌê‹ë߬þiæ1õHö~†C 0¬G¦Ó´“_Õ‡3ÓØÈTS£wuRœ;[LV¶þ&t\®S"àh§ˆ™)I¼?=¸üe³$ƒtƹ4!x%Ñhb@K5³Ýl8.9^XTF ,¼Ù–!°|¯å8àKÀ¿«^A ߣTE÷¨G“ÆÇüœÏ.yL4u¤Õ’©\â“šìž]HÖÈÞçílñ ë–Óãç\lS–ŽIŽs +ïYnîh¹¢˜ÄQX¸ÎËTÂPëGãâÀ©'$R’±Õ€¿ä•Ÿ„ŠÄã_î› ý£ÍÒ¸%*ó€†b?€ô|Pt‰t->ù﶑pÛ¨Ãa^”ê¾bäf{ PZOKÈÕä>Ý€‡¥ãŸ®·«›õ÷èï@Ö°9Ò}õŸøYȼ#ÂzÁ0,ΤŒ#C_}ˆQòʘO +J}\gÈlzôD¸*NÊ xLFx¸Á}tÏŒg»GöB|Ù¿>"Ú%(FÉ é;(Öiâ?“ZjÖ1CZGtÒi#7}ï^ä+Ȥ ²<|'ZX6ù4ãã)ö‘ü;‡^„ðÔ>M¡eLñ>4vßD9±Ú2$ÓϱÀ  a˜©À@²[DY®è rº ãa–ÊøÊ›Uú5ŽÒãp³ŸÑ¨ –ç“ÂNZ}§!yÉñÿ£{;Èl3=qNð©üå9àáf^'ñÿ5·ÐÑ> endobj 536 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 537 0 obj<>stream +"‰÷xâ)Áu¡nä–Kë¹ hÜö²¤«Íéÿyóé-–1£wÈF2k—=±|·@˜¸µ“ò“ï¸ +úUY¶ÝÌfsóÞ1?´4Ú%@g‰‘•p³æäû?ÔÙˆ +qÍGÞr lH–gõØS"XÉ4öYV[) ?ât¦0¹US( Sê\ƒøE¼!c{ðQfYsØ´®{{5ò§žxÊY¶pÚÓ•"äB‡û!´±³­†{Êw†­…›ÒÜ@0‡|ÊC$˜r0S­ÀògRJ¹FŽ©eàÆÐÞå¦L ÏÕF%³šb¹U/Ôm\ÜV“ ˆ‘U¯–©ÍCãžýõ~Ø¿ ˜ÄBäðÈÛZ Ke{]ð<Sqâhž_Qÿ‡.rvzõ€”n4F^ƒEŠªê Ž3†ë~WlD`²ëÀsns Zg"펬lŠ†’@ñaFΕj*ƒ#ELÇÌÍ™uXÕå Sö|ºÞ´‹›-pQÔeìZ´y1n7P~‰U`Ûe«Â€ê‰[ëç= gGÁP|µÀdV€NªežPØrø¬+ÇÓC­š¯›Q®X7ã`WMw‡žš©2S“&ÕÓ"¡Ä¼6_&“!þyD=$¢;½û†ûXdÁm!¥ú_Ñ‹žf]Ez‹î£B_íÆbgýªÔ Cº/ƒ·¹ï #SJ‘”ùáãˆ3É-Ô³(¯?—,Ðó å~Œ›ül +OTlöXGhBÓ¸v³v°õ>yÆeꨘ¸½Jÿ–M} +ßîÙ¹œ« Ÿ‘¹ó©ÍqbM'¦‚×/C}?0Z$aþ˜XF$þþÕnÏ{—¨ÌU¤%6·«öê‚¢„Tü±Ê•‡?tàÚ~­(}@gM4ÕmÚñÌãŒO¼ùEªânaø«!ØF¾†)´Ë@]&©_>$A5ò +5oäX(cMš}ÑwÔÉÝ žŠû:ó x6•~òÿ½³ — W Ç>)Ó3IÛ³Rösš…›Ó‹Ç†Û_AËõ5D‰N½a»Wµ’¾(}õ_ÈëêʳQÜÈØ€þ=)ÜÄŒ¨¢£­43$¿þš¼Ûñ, 6k mIŠ’ +D+ÞÐ×ׇ£%€•ŠïŒÇí»57TÒ ÌL¾(dAÿöµt‡ÉKÆ”1°ªìÄZúÃCYbáàª}–oýÄv÷tÎ +_¡ÕüIi8¥*qæB::ÇâRæOÕ[‚úÙZ˜_â`&Zo8x}Ó6Új%ÊelKúúH½e5 q¤ÓûÙH`k‹d 1ë=;ÞGôž,¥ªAjuì¼³ºW+‚yo‘s3Å*yÑU!ÌMâ÷”XÞ4ÊpFËr¾=e<õõé“Ò¤ô‡UÌäÄC |Õï¾PB™ÚC¡ åþ‡A‰zuyQììèEÅr!g¤sICr¡INW=VìkÊqâg)ŽøÿO Îàœç)ÍçO‹Ò¾¯Ì8 ÷EüBí$“±*ˆš`cÛŸ\á0xŽyêl9ÇKâ»O”]ŒýŒÉ{«Ó-ìÏäÇå¥V64MÈó]È÷ÙÕÑØè)µíH•È„óÀ(£NúúN1.¬ Êœ-´^Ž_B=÷Ëìü…ö—¶<Ënp7åêÙÄKÕLZŽ9<Žg‹% ¡x’Q}»:н¹D±ƒ]éUD"θ% ûšìÞšn=¢ƒv¬#¸Š2ÉÒ3™¡¼½G4“¯Ý:÷—6 gô·uC>o-סœá‚-ÔwãRÅp#ÂÇMEs Ëv^ï"¸)°[? @mvÌñD1½t7ú¯@ á2©\ªg3Ût !øµ±³é‚E=³,ñ=¦“‘'ÛËä¡\÷òÇ$§“„1šZÆÅ[¨•819òŽÍVBñ€-SÊ­>gëbþ|‚g9}Ñj)È mËtI ›|a¦Ç¬¸£-ÙÎT˜~;-À¬½“jÝ£âŠÒ¹¦;§ÁàÕ‹Ñ«ÂlÁÚ쟥%+ õ(Uª•æ èyÐÿÌ=w¨HèÙH©¯£øâi£ˆlùxÄåÝQ®­ˆ¼0rŽ‡Åis÷(ôõá^örœ²Û¤aK¨ï;×~CõºÆ«UWžÚ“že±0SíÈtØ“Ê›åzáÒöVN©¹øóäÜ9f}¬°nDkûzøÛWÿ©oÞD+škê² CSºÁA©WÊ^ÅU 0=cæ»}¬ç/ú†AŽõ´ðúÞ2£B½lÌ —÷C›QáuNx­ÿò™Ï«úìXqÞàOûˆÛÂZŸÔú%¤UÕÃÔW¿›… +¡·LËÚ$ßÆ$aàX²i…ÿùŠ™cç´Tö‚X! +Éù—Ô Á§}&CéT.½šEfžî¸Æçpõ+¨€­Ó© *^,‹Ì®ìËÖÅBºI5qCú"Sü¢¬×ñµ|üQP¢ÊšÕf(âŽUèó¾Ûý~u×i|‡øÎ&ηê¢ÑQJžþn¦s‚',Fý‚X¤õâœÚ°‚n(Ž‰ ~Wu'sû(d£Ëmì,¥+$LêO- +•¸‰W.*0ð“-@Z"w…mÆS›qÑÍÏznnLHW±¼Äß”H_ +·jA„k3Í뎈Ó7Ãqwª +Æh¥e¨$T¼µþêïƒ9ΨgsêÓ›sd4QŠ1‘DBáñ‘ÇðÇ{hÄmfyæi”ˆœç`ßo…—ý(¨ Q®ªuŽ'²¯¡;ÄhÐï>âã- +:h ö‚¦)Û¦ò”½sÂã©Nø*fÐ’:\{¹×>¸À Á¸­èNá3„¶(}.i?l—€X Ã!¼X‰/hÔýÇÏà[Ÿ­‡ä&íHLò©¸A&D7ŠÏ'«7€kﱯݦNr$$¯zUÐóyÏ©ÒÉ„oðÿŒâi-Í?8œ5’:%1ða°S=.y/kaÌEÍJ²ËøìpR†_Ä׋ÝÂË<ï$tø‰'HÜ5ˆh5›/’m¶f1¨Ã­:?ÄôÖ`gé<'W0‚KÕeJUí¾7±à÷CtÖïŽî˜ù­«qÚÚVô¸G×uaFpÂ$ÍкlÒâ¶;_ólnÎ_¢¹ŸÅ€1.Ô Ð/T÷o6HÊÐòT¹]¿¸:ÙÕÄ7T³¥¨J"£H÷ÍÑ­ªýæë +g0mØaQ¬tî0"ÖçÏQˆp +Kñ¾ï›„Wñüèn¼\¾„ׄގS£©¤NòÉx£V/[ÕþUWBA³í]1|5)ø„‰±ð|]‰Ìû³Jç¬ÚªÞ³MÜ©7òã‘ äýyÔE#Ç’]Ïq~‚€êxÞÀøawÐÀ%=£%'Pi…ó³x†„Ͳ… ^wx×áelÌê±Xº~Ä?ÄüÆÁœ¥!áNë̹%“?þ +xúÕ…oþ¿uËu¼âî0Ò¿{á‡o$G´‹œòÄ15­æE-KjÈÔDK˜Fÿ0Ä_'$ÁÅj}S\ÚÅÃYù€š!¦I~DVJ¨|+ìÖÍ€<ìQmÃã"¿~$òW]·Al·ßr€Ñ· §Åx¯L…à  ¥Q{Ù¶°3~樟AïÇW“a¼€¦î_û”7#°o´oäÙÈaD ¦›}ítmžs§s¡ x{ìõœs$PB\OFhËÖCÒçÇ-” +þKܸƒeÙżJä²ÓPgë@Àj|ƒÎÝB´fæáÈÃLF<ô÷ ¯n¿Èj˜/¨ÏHˆ×ÿU’ñ@,3]>¦ëm0R[ã<'’׬ è°aþf]¦¹ž¥yP¡„ò2d +ÀÄo¼nÿŸÎA±YNÖ¤…óŸÁ;ÇGDn–Ò«LêÕEb«ÿ¸ò%•my’©, |šî£Ü’í?Ž‰ºwq¡™7dj0±{wPûH²­^zHÛ›KòD ‘FiÌÎó+ä!~4}E30þy­Ý pAU™“BÖ§ðéÀl±~@tD›³ù[š\™r¯[—Ë8IŸ•P8å޲dzf‚|H$¤PW¤‚O‹ÑؽҫÉ¿³p=†§öçÉ?òÊ.ÿ¯…YHhCÕ)äÝe…xËý}jEé;o=@H‚߉™*R_V|Z„¿TÜìÎäΆ¬‚Í9N+ìÝ\>WÍ-;ˆ,ïR#Cå$n§¾~?æ17^,ɳ¾´9Òû§`RÙÖÂoa²íñOÈÑΑ§Íõwö|‰î#9)ï’‘ÐÇAq£Mý\+Ä +®%6_¹à °ñi+¯G}J#î½Ô^®à«¬Þù†ˆM±ìº2ð£´HÈå®Â§-‘¯¾ðiJx“en£é s#<óON|b‚®=‚[Ù¹k¾Š :’ôQä{ÁŸË;«ïû) (㉦ …z“cÚf­¤ÆS ‚ó£aZ–ª§Óü |®×P Ñ_–_îâÅ+Ù§.°uµu^M·K-¨Ë--Àýáâgê"k¶ÍØ¥{òÜ'õ‹÷º¯íb,¤Fö]©!§+¤¢'Þöîä‚òþõÍ}“é-—+ —/•±ãßœ+Al„·þçÔ¼— û Þ­zë„9ω™µc°¥œ4Æ-« Òû^z1@þ;¯Üf²“k]êf;A}vAÁ„ >¿\ŸY«tß櫹ÊRàölž7èˆÝ‚1v‘K">Má$èÌgyÃcPwÉhÅ‹GG—Sä.né 1dNy+‡ P +¹REŒËúArØ•zÁÏÍä}òí§\¥u%É:ò'T•P‚ŒÛï‘Ï_$ O=“ò§Žñà‘¹ÿMNþEô£‹>-Î=ê6=el±•bÀ°sìñ ^ÖGb£OØ3F©Â™fVšsß Ÿó¼éè|âVä5À]$&8§` ”Ǹa!\Í…>WVÐÍàqÆu«®ñÓÇ‘Ò©âtŠPiKTú­éµæðâ +©Úã7Á|Žõr‚5åÈÔé ÿжhA +¦Þ¡±¸.]³ƒŽü¾²)Àbm‰?uÙlZmC@¹ >fŸ§¤9¶ÙxôÁŠÿp28ÉúBÌÅÖãNg—εÃÃýp³f!­¢—›LP†.°Síݵg±rSôȘÍ4LF‹Ü2€ðºì¦áë¦xZ‰…ãz-—³áWù$m‚‹guòn±=pã‰$‹ãd;Z¹÷„ƽq#ž W¤¹;,-éã¢ÃXV5ßõâT]E7±‘h{‹ŒßRQ Ž$(dÀc7ã6Ö­ +D%IWS R8Þ1"fA31ž7Ž7¤0DLÓIBùªÂåY§û£åí„ñtu÷¢db©Ï¼BÀÚÅ¡­A1•„Ðé3•Á±—’<_I „øu<º«éf'Áê–Ø­G!tÂy[MÃù˜`1 ¾ÜGºnÈc½"¡§{tÖïXå¢ö?à‹…lFò=¾ü‘yYÊ<+/ÖS5õúÅåÁ iåwjó÷ ¤+=-GæØ–®[SNú׫ýt½flù…ÆsHôÝj_ÏNTI‚—YéÖþðFí¯ ³/þEé|䯃ê!äêÞPÅèH B¡Öd9¨’ÆU=z‡)?já<Íáêgd³ŠÞ›®Ñ5Þ–/4ÈØ.êeÎtúćÕ7kb” ScCR%Ø¢Oñ÷ãÊ ¤‹€˜mOj"r+¦\X‘ñNg (šÛA«äº‹Ñsw±¹*DºÄôåÉÞ¼ üü–Þ°›Ždo}Çêû6|6ÒØn©-ú¹œ*b Îq†VNÝí«iØh¥äXÂì Þ¹ø‘,¤Ž)c2Ñõ÷B:s8¿e q±Yd]7W Þ¹’*,k‡mþí}„Cj°ìíTÙÙdf6ïcâíƆœfE³pLÀJ1{iBÿÂ-Ôcݹ{?¼¹oèc?׊6‚»Ìa¾’{$²É_ß7µê®cÚÕ)ͽ†{æýµ­&ämªžOFž&#¼ùæ2¾QÔÌ V!¥ŠEŠg҈ó€pZlZðm=d_S+ý%DZøs:Âûª¸µ‹˜K$ˆ +}3xÖâüŠ³ Ûxd jÅc·6++_»XøEÌÖ‘ÿ¹UÿyP½$­’pv|™Á™Òq¥ËoAWÔ‹Ng6É¢¨LÄø({{LRJ,,Èwá)h£—5ÀÞGfKWa7ÞOž¼Ö2}ws?ÐŒŠ~Öo xÿä†õk?Êâûä|•ÊŠ8ú°û‡ðÁÖ +½ÏÒ®¬ÚN‡gÈÞt¦†Y[¿tvfæ— Q%¯hé€n¡CWC¹Ç‰ÆÀ'9–ZLjJj¤|ì“hy^n<©¨¬v+Á5Ùœ .˜þƒ~ô‚ºBtô¨Œ‰/`œí(žðR†Ê0“tì£vÛ?‚rRóT£l·¡ÓàÛƒ²úxwaèyÝŪZ‹§P{ü؉¿Y[LŽ~ÜŽ# .ž!LKæœ]¾.WþŠ­2e^ÆKx¡˜Ó™#Kâ~áN'O"&VyúNÔî2MKo²LkDdt›á$b6ꃥg†Ì}RØKšËèfšÉŠ¹Îc´®;»îyQ„dÌÃlõ3ãÉ|k5¤  ›PB …Xo ¢ªM94J­ [ÃRžy ûÈbÝ:îyFSoESÇî-{qà¥K¶£Îv}.dûm³½fC¸Ã8Ÿ\Ù¨m¹Vë̬XÅ·¡.ã¸i®¿T379Ù| ÿƒ”<2Bg|–&D 3õÏøÔ6BÁh:ÁY,g:U-øÖk3„[XbX` +H‘>,ï+Ä€6ä„ÍɃ¤Bôt„‰2"T.ïq]÷ÆÚ>Ä s£ ·8)Ö±ùB*ik7ímñ 6IK©„× +κ“6ÇFùVÉ|ÿ©¨€ñÜP”Æ$‚ônD('yݼɊº­øjÉ:å^@©b»ÿK —ø–l…„Ÿ]—? Pï›mTó,2‘À¡½§2K9n„ß7w¨ìf"1X|3!ÌP]!wµH ù§9×;,­ŠövP 7SÏŽ| ?¹ý^—[¿jÕPDÛ¢£KÔ駇Pë¸^Á{úVIŸe­ZH˜ÚJ¶IÔ{K@þÑ +!Ç”ý¤iÏ5žð7Â¥*½RjuF¡fÉÝø¶£OWµÒÄÌVDõŠ@fü#m«¨í(DAà-}e´’ÚxKZð $lVÙú‘¶™±I¼·6ÐÌ÷ÑÔýÇP¯‚YTS)Äéè§= ŽÀæ‡[¶Y¤5j‚Ñh]]ÜÄÚœXcjóÛÅ”à:èŽOÒÈO§”6ëø¢‰ÊlÑK+’c4=?S"`ßFeuo·]òÈÜp[Qú>´ +ÓŽ~’4I?\Ö0”U:aÅÈ_íÅ©F² Ð5!k!v ²/ÓxŠJÆLqeßü¤wPXĦ£Þû3l…Yó1W4É7ªæ„¾mNÁ‚¹]åöšw(—d¼+’FKùå×C~‰»ÙäzÂÂδáöç“ïÂ÷ÌƦ~‹¹Ø]%:2-Ãœ.og•& +‰ÉöZLãgä¥é"¥ë”@;^ôS•¬|ŽOù3?]cK`ü ÆœÐQj°³ÙFÂT1ÜØ +endstream endobj 538 0 obj<> endobj 539 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 540 0 obj<>stream +å¥Fqò¬®ÿøj汨krX©–55{¨ÇKÀ¸ J|pSÀ[¸tAÛöm»CS›¤ûÀçj1ÎÔ(؉Úæ<ˬaTÅ÷µØ•á'ÛGnÅ +Í·•¦šŠIPZ‡ JvØn¡~³o}ﺺØ(QtÓôI—†ØšjYd‹~//å­]9¨‚ðÈ)p"*ah;v/éü›r?õ اT>3r8mŽ_Jî¬C¢,º]BÕo,‚ÇŒž³©#:Ì­¸é:Ú³02Ö +BÁm”aQAø  &lúcÖÇ—œÁ'”%+Jà¡ðq0 è­âK4 ÷y=VþìlSTmL;t"rëmòæÉ¿#RåTÝÓ~b!@¢ðOª›xõ̦™{—ìø‘‹k«‚ÿ’=_GWGÊ‹&¶^Ýßô=0ˆ×eÏ6W%þ9ÜŽÿðCk¤ +7ødY§>(9}¹È7ßúNšžŸ@tƒ€œd&’¡Î©}Ö¯fw?¡½ªd]ð€E×”ìä§ÑŒ|àÓŠ£~¬ã•ÑG%óIìËQ%>ZTÐ9~&ã>ÌZãºñÏÏ;u95|Åi›sxjë¼suz„gªÆÀ C‰¢ˆÇ¾÷ìõ¬[ð;ë8™ð¡@ókW  zXÈDQ‚ïºÄìù¢$R?# + .¡‚'&?›AÁ÷Bâvü$;ô·h\S–¤â}C4´óÅE;¿¤õÖm_ZÇÕâFŸ9ý¸¥;Úh¹®»l†€2âÜxãÀ‡6ˆðÿ[jÎ6Œ­ á6Ù·›Îè.*ÂÛµ7Êqˆð!³î5;VÕçrÆÏ,P Ó$C|≢æê /ÈÖÜÍ¥†ÓÌÝg(˜OhÇ24§hC§ g§#7FÖÁ vœN},Ðßõ–" Û +`E ÎŽJ ê’²bÒÖì;uH¸礯Û|ûÅnTéâGÕÄÏûøI ™SÈL.ûÕÕÃn› yå*ø«üe“èy‰ÿƒÔój`®·é]!‰K‡¼ ´|FlR•H‚Ë¡'â ödç#TçáoeÝ¿` …œ¨ Ì·V¨@j£P›ŒÄÂŽ3¡®¢gYX¥Æ`ÕÉ4ü—Êö#©âÁ v$ »ì³%ÿ0Šw¢ü– øêjÂ]XçÆIÒjŸZ”ßÿ]G%ã®ø1’Ã'ïNJ4Œ‘3¶‹Hýú÷ÁFûDš)οÜÛ &)Cù¾³¹¶’z»˜oY¢r9 §Cèn¬Ó£Ö–åàó¬»r$á 7ó»»ÉiöL( §èúêT:¿×f7×2Ã{#éÒj_é‚®XÖÀ&C€ª°"|ö?µ“ó%ºFf?Ïm«æ@Öl¤¿pÀíš2^Æù”å¬û[«Â(dïìžÈÚì“~,©Uˆ.ˆŒp5ð‹ÁµÏo”Û%Э~È„a‰JOA=bu vá7±4S +%ÛÍîjQµ§¸ÔošÁ/]œYù×[zØYº`€â@#ºm=Æ™|ÿ'áRw‹ß‹tá ›ÈF>—JßMr¿~ž 89êú{ç“\¯¸È +Åؾìw’ë ÇCF#q¦LÜK¼žÜ‹ +o+ùL‰í!ØDiG˜W@ú!¸ 5HKXl:¢_dsÀù,IÞÍMÂû“± '|h ª ñ½µ[¨J„®ymaÒþÌÏc Í”Ì]ð֞඙]aÉ ^Ø¡5úø ODÝ#šÍ"Í`¼·Ãq—ÎI L—l"$í¡%$€Ã+l™d~ü"יּ5åú„d eߺêžz?YisŽÜQ1FªâfK{"¡RPö7ÖMDm̽"‡%dsn”ð"½ï˜z)ù~í‚ý^yÔkÛÞüwºÊŒÉ·U©­â=QN@PT“€¤ë Ê’§"õjß“ce“~~ƒå½?HË#ì( ©å’¾c'©ÒRV"±€‰Ð=˜Œw€0c(Kë3¬TZiLSóx)7 ¦ã‡õ`vk˜9¨3cK´€>`šðãý]ÝùÃ4 `fàŽWÜŒÍA³ö‚Ó;ƒárxÏë"Ûê dæçMËÄ%lt•Ì-}w3†r ¸üë²é^qm¹}¤Ëhäjýû w!ÛuÍ—-hñ†´5ˆ³²:œ^p8;óË.I,«V…²ª"Ú¹bd‹^àk¡|»Y~Þº¨¸®[åí‹ÿ“Ïd0 ÛAˆû)t׺ӿ@NÀ8á@åýb4ùGèr 0NbÇM!ÿüÁ…úVM7˜ÇRŒï`¦£öô®aÙ(.>êKäž'¡#è3†^#-í3¼Áí~²…ù&¶ªÁLD8©Ç;A^ŽQÇèîƒ;ý‰l"ˆÖ¸Ü $#á,HÕ×÷¶^:6Oî†ÜAßƤ¼/4Ë/80_YÕX¦XxÍ3è8Ï5Jc-¢v/°µ~ç’åáò™ô+ðývÆÔë´­Åg|ŸµåÃ÷%tªt¢?—‚͛žÀÂ&_aƒ*JR/cÊdeÝp#ß²bFéеÐ.×0è["ÝÒnþ¿AÓµ=ü?ö'æF`™,y*Ö +•îÍxHŽi÷ÞªÙ 3ÓÝEôã7RwѬ_§–c­¡Ì?Öô‹£CR¹¹ŒcMi]£TK“…#Ó¬™sX˜MØ¡…5¬BY!±·¯lô™ÚG[ðûšîw†ÇŸù#è¨Úc¦Â½¡N†ÔzÛÞ@ÞVÝ7p°ã*ƒqI˜2H]|¡¸øýÅ­#:c í‡\+Àkë›d6¨IÔ7¡*^x‚9v7‚ÅÛŽÿ¶C‘¶÷Ê¡›ˆ¯êJ9\bÐÍÞßaúØÉúÅ¥Ò?ßJ+þà9¶× _õ$ÑÇ•E8rm€áMU¨ Ù³Ö©ÔÉzM CŸ™–‰ËѸî°$. Ç~êÅ’ã)½„—'òZ[mô^fRÖt]J·ñÖ’5é¾â“ÇYLš1$sÙ'#9¡rÏÏ3BÇ|TÚK”kÒc{4s±%^j/ÁÆ$ c2ÈÊE ×ǧúåsg"è#DüVQ@'A2«„|ýû>¢xµ»Œìÿ¢ê” ˆêîþ¢Å¼Ñí±Ïä p­ÕL—ûe‚,âW¶×D¬Ccñfô¶‰\ïcÛÒÊ6×Îw=˜HqÀJkåÙ[`íþÙM™ç _Š=(ÀU¼Ä‰¥òÔË®¤ yŠø¤ÙÄÒ+P3v+fä¥wÇ +^@4ýýEì°êÓýtx$dé‚Ik +ìsœ8¢?‹;ç;V–Lê6=½PRƒ¢¶B¦´^¸'Tñ­¦wõ7›Ñ&ËpÛàšÆÔFläżŸ + ‚¤ÞÈ]È äÙ7/¿Œ„Œ^ JÉ*á(b"»üa—3Ë€3?+å@^Ió“Qïw=Fºì»´/B‡&Ÿ\7db€!Èv]" +š*?ÎvèÕoá—é) MÃûXz0ù~Ü +Z?¤Ùàš@VØÇ!4~®+ Жe‘vÞåÈ+”4V†üÑGE÷ø̺¡GO] 4_Å)øvñfPŠt&£þZ9K»&$Ô õBTUƒ¨œ vð33>w³2ÙÜÖ綷٠UŸª‡©¼ÉZÄÔö§¢P×¢8(}ç6wEÊ1S;_øõÑÕ-–%½Rj ½â¿"þå@qŸ…úEiCM©FCõåƒysTB¤¡.Sîñj•Oà" ßo:‘JÕ‹ß0›Tû(!Õ€Mâ +ýÃÜŽ%ñ•5߃Hz•hÎÞkþÊ5†{ãRØ`~Ãò;Œd¼¯&”ïµ·öî¤.G2„IöÜ%‰åž Õ_Mäþgylô¶È¥§§ÄÎ{n˜™\* Eg¨Áôü¸-ÆÎßAMŽ+ÄóÏö ÕJr‰ÏBN'Þ۬ГÿB¦^ÁS.³çeµ4!øšÏøß$™ø'Í~n\EvnHùYÛ§cF-"8ð†¿bæ±Å5üµ¿üfŒïÀTq©È9\ãs–í(²91v +ñ‰5öj'ZÞ÷Áá¦QXh*uúMâ^J[JNŸ¨d¼EŽmö÷&·Ö'(œk=NâÐÍÕ„Ó¨Òª’î“á¾ÌÍaÒkÁé8Nî E­ +¶•f7—ö=›‚ +Ìf-²£‚ -•Tevˆ³e?kÈÜv|›ß2Âxé“„E¹P2ªHñ·Æ…Î+]^Í<¦I®™"D”‡#Žr#Ì®ÖUþ_;G?-Ë +>ǃr°°ä"*dkW}Äå<>%ÉÞŸÎ +Ù´½I[Hò)ŒF•fÊ\µåDçØ%¼RB³ø~’K‹µµ˜]ÂVdÙTb íÐ_¿¦ÁŒ‡Bä£ÐÿÓ9ûd·íD‡Øº^yÏWÈÞW’ÑO*²¿½Û¢v™£ÓX'ÛmuòBïÄìܽ-Ûp4×?ï·@–^«Ï·ÎÁyöÝhDˆNj˜–žö!—½ˆfžÓ–Á«º­èΈ›È@p¹ëp#K± ûR†Ri2øg‹Y(¥ÅÍ) +›w#@´9Þœ©bˆžB–Žóê½û_õÙ0©ÆñVx.ø¨/5Ü–?Eócæ¡Å@†‰õqrh sºoM %zæŒß—hϤž½m:Ð" aï–ƒÙ‡™fáj ¿{6úÞ¢~U$Jƒb)b’öѦôãi.ó3Ñ´4-†ò½ÓJL›I“êþŒ¬‚ƒ`î\~»éåáî‹ åXs(f™Y¤]³0‚b0.ê/‚á à ‡åæÿá@È=ršs æ’5["Dlò· ºZ׃ÌÊC6Yg”c\B€? óæŽÚuM”ÿ«³,–@2e©=”KdŸc.÷Ð>(‹¥J zð‚K½ŽàÇç^íï€Tñ5Ÿ›#ÿYò_¿p¡–WV’XIN!`L4[ýÅÇLôEí\[Jéc±çõÇîu4 ðIžo÷ÒT¯æ8s-¥â® êÃdòö¬#ÉS  ÜZä m¨ºIþ+Pˆ©p¢€±Ô¯rÆÅOøô M^¦xŽGCkËÿ%Þϯö5oTÃ}&wa EBØBçvYEe#í¼a¿Sê +endstream endobj 541 0 obj<> endobj 542 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 543 0 obj<>stream +< ú¶6°m—É“öÚ•ëì¥ydîæ"ñâÒ9Æ +"Šþ“Sæ¸ö;¾”ó­û…zgÐdF-y§ÔwÏbë_5†:b:‘qýÅ9óÏ?›Í‰-„±zP´ÏÅß²À¡…Tø·iÚj—ß±DÊä1AÇÂ'ƒkèl-™´©É%¡}^–B¦ñ})`èÛÓ5Y/“×UydNwtÖ^ÔOý‰—ƒ!˜ËkbaGÑ$€d=Ö¬õxmÀCmÎs©D‰í%—Qyxx®ãÎúÀMcÞ/ö¯çžÔ\Ïåéb¶¤!ƒÕŽÝ‚”ûîà÷~ÔªH (Ýൠ®­Lfr:þ,Zwœ£.ô@Èx' m|Š±eºX¦žÞQÆ™Üd<ì_-êÒ×ÃÈaáË+w³ÖPì©S<@ËÈßîﶎY-^1S9±GGéÜ»¬ú¦óýƒÑþ«1…û!Jà#{!¬ 4Œµúh dí}(»K¤aö?ØdÙu Cl¤äŠ¸úyÅâ²r|辉 MF¸ñÃøÈD+—\FY‘R¬‘a™Ë Ì€²ÄmœUÕ ºŠ0ïñQB)EólÖc¬y % ZM\Ö1k&Ç;²P®Ìñü1V(IpD‡”,]þ©­'j‡MšÎ +,E†<¸îK]£´ÊÏ<Ô>½"UÙéý +íAG4‹"ódn9ñ»?ðV–ø¬!¢Pí¨y?”Ä‹ö™-“÷÷ƒ]±OOJ•°QëÏÁ²PµqáúóTð`¾bdCd00 +w¯m6EOeO|úHëÙ±­¸8­ˆL'Zƒ=»Œ  ŸGÓOXô~Axz†ÂlRáÚ8) ž2f›yÇx)›#ŒØ¼Ç]$Œ2¿z Nº!/?ˆô%]$Œ¼à©"]\Ÿx—f‰ï}èo¶EÎj@÷Qh3V„N× ¶ûüÑàD6Ëä½ +rû0Ö]ˆT„q‰ôXÀƒµs{FF‰@¸îÕæF +Àà2§é@M±bÎs`eóL¬oªÈ¢Ú6Ô”O ¸PÙ `}j‘‚I¦4LxÙ VD5ž¦D©¼p>`×â¯=ñÛ+J ÁhAûŽn®‡c£ó#Ù¯×ø¦­ ÇJÙ­Ôò8òuqÚw.%Ñ#—ººOÚŸ^uzE›ÈìÂ*âã¦ë ¥'ZÕ9•Y†ž¦Xäy;¯ ŠÄ³kÛíQqÒoWˆnÚñ¶7ÂμèžñÓ\‘`ì4ÁÐæèå‰DZýï‡V¶T8’éÆã‚Ÿ"oáý}{ eõûÚˆox‹†â|wMi58K”\¤¢g)­˜ª ÈÒ™‡0’‚Êø“¬‘÷ã"V}áI9î׸øëÀÄ*¬%øzdN™çw‰]ºæ—ƒË75¥'áföì1)¹­Í&!DÓìÞoåé2Ò‚ÍÜ4z®¡ÔCTãf?Aέ®N\¢– sByþ¶ÜLÛ«UE¿P¤ÍlbšXˆB:7Œ+º=z×a*‰œ¡ˆ>äã×½Ür ¼‰²¯íw_ÒÍšé9ËH¯º *â}vC6XY¤²b¶‘Ÿíó;ž^n4YOÛ’‰©'Q•*Ð.F!¨ä-[n!‘Ñæ2‰ðÀñcTC+¼þ·W“bì™–Þ‰|‰çØó2õÓæÿd(ág½ ÿ‡¿BjMhû`^̘i“ÚûʬüˆuQß2ÔIjHw¡N¼% Ê “…O—‰¿ê +]˼j½¤­¹¹M 08G‡Kü7b +rEÑ .J¦²ÿÞ•¨tÐÐ/è5¿ +GÞÙq ‚f)î)éIE≤&#&ä¹g4„w\–0l}­øí8ö[ƺm/þÝ]Ýu6Z +€¶=Ù,:™ˆÓØrªKt…K”I¬!€,ûm?4 !¦@è½ãJÄëXï»QïyO6Œ€«'~0lZÎ' Ë Œê;b“ê2ª½æÖøc{ÄY«’´Aÿ əˎ;ë‰8}âùÏ8øL„39‚Äàת`–Á„À¬"Œ•ÀÂOß­ªÖ¿#ƒá ýZ:\Õ€ÓSfàKòE~ˆuÁÙ˜Žˆ¹¿x1궕(e+GÚ8™0ÄÈø{k­#d1Û,GNØÎò¨—Ÿ"ùÅ +@º ŽâƒØ´<³·"»SÞåÄEmêœ=÷yÊâKð½Ý¾°—!›ŸŒ˜CNÆž^´-ºîÓ”ýy|ìþ}ÈI ¿5ø3nƒÄ²,(/?õ-Ãàq~Á9^ß«¨èNã%u_ç}Of çÃ:™¶]ªŠKaŸ‚ëÄÅf,Ù 9.«KizÈøò#QÉî¿ ðO +|íî-‡Y-ÆB\r|Ë]Ýaaû™v†Üü›i2¬r,JNsèÞ‚=èÕ*o¥ÃvÓptÏ ëJå_TmM²Ò()Å™ØÌ£åÝ L>‘2bij‘’Ñ°&hخɱvh­Ðž ðb\ÒtÄ8PTš+9Ip‹ç-mܧ"dØ4×¹s‘øêÙ·úöX«vÝâ˜3ØÈΘw¼ÙÊz' ™Å¾‘Æ" \ô¦çi‰GÕŸØpó'ñ»wkØ6û¥C´î#hûÔtÙIŠý¯2¤k/“ïÍ–(ÿxåDS ŒèM⛜¤gE +j•¡#¦§¼"Mþz•‚üúMÇ0}'ŸHž àª<ï"ãÐï5R+rèh}ãòkLš ß«!Õ^¾ÏÞyX:8ŒÇÝz>TsUùSêάwÐ$—k½.<Ô¬óqâðúNý'éóºQ<ñ ð›Ô§qW`›î}²ã tºÓ…pÙx aÏ3‡Ð`Ì*„{La%ñÐÂé„D™¡PCJÉ*óâgH“~£Ð +r-ë:hðÌ_gA®¾ÊM¡>V6“Ü:ZøÜ(YLÍ ïÙ!© Ù&]6cpg7æ©S>ˆÜ¢2z 7÷¸(˜Á(?.ƒ©Ù ¡p˜’kپ̳ÐEˆÿÍ ö¤YMÿm®›fÀ»;;€–Ý‹ ³Rù{$ñÞ +às>†rò=°mK/AUNä8QƾjH?yýô'îز·ÿ¯©±ÔǹáY'`ÚáUA;0G6ÿ’E1t+‘uy¹Ìî8(™I‘¿R"4PynFµDs“:¡±ý¯u& +¡©y’PÊ°î2rõ¹ÒºípæÏð`öx’xPØðaTŠwvß(t3~öüþðÖ„(7èéBIæEm¬ù›×]÷ȇ~àôS†¸|ª ·çlÃë´W¸EÔ Gûn +0Íx™8ûy’²pm½…,º«ñ A.›r+š,9Ë癈*RõF &;&ƒýˆŠ)œRœr(©•,¦X…ÁTuÑ)@~|Óë ¡ š1b=¡¶.ÒÃb*šÁoP^u†VH^Cú˜Î« (¬änS +ü ÕI$ìîÙÊèkzok®ŽhÙ¦†k~íÿxÛ=E +,5ntæ\Zç#›XY_‹”5 (Â4-4¼´<©'qã‰Ë<ßÇcåpŠ^í` +G£ZÓB´ñqÕNÑÄbœÑÉ;ì.U•ºÉƒÛÑÓÓëw?”VòFíT‡<µÅ;÷#ÄʼnÎÍ$éc)aBAV˜8ô?­+Jž°L²p(»eâyò© +Ji¡¸.áŸÀ£¶çüŸ÷ë÷[áÅiº1ØÞ+¡W3tðû’5]÷s¿äÆ$åñmþÛa?À)Wו·'¾Èyíê¾µ{”u‰Çfû¥ qï=î5¦Ê»ó‘´B?¨fíz„XW.Ã"”­–%>PÛ2ùÕ(´á[Λ,RŒe­0A8ÍÚ„cüY¹C‚íúÚ»òr=ËåÃÕ45ŒAk[/«¤‚w¹¼éš¼Ä|Â[mäl)W §ÞŸWi´,ejO(‚¤³˜<`þ6âKƒÂ˜Öº´ïk¶Â õ„Í£Ê=RÀ¤ðÈó{§‰} ©,„¥% hú© qXa̸™ø|â#9êm*cœªª ŒùkK´éYŸâÓñܺ\Í In'1‹Í'B ß=’ò‡òrfV¥ôöìC] 9/—Å·¶™U–öÖ%òð—#õ¾î‚»YM‹„÷ F†’ÌÍZX‡»³ñêüqÓ’–º¹W?~ÀZ¦óïÜ\™$xN­åŠßÖ©GÌÀE—,Ls-QÍ@K¹È+i¶Ry…"Õ\u¼™áÖžB¹”Ÿ®VÙßë*€Š¿S¶®ñ¢8ªÆY£]—ÅmeϦ: +Í(Éü•%A¬6§ÿ\ÓmT˜†îdkÙ7êìeËN;OÂ[º£§ SŠE}(¸IÓK¹SÀu)çSx‹(šWIÒ©**ö8¹²h¼ð¨q⮉‹¾ë*ÍÛô›·¹R 7n' +‹ ¿‡¾¯¬¥,Á 1ÄüðùØ%ÎÚ&ú’nà °%™‚[›ýiQJPÈÑÅÏÖöaTëî8R×sóY9%˜Xó$Æ Ò:á{y»ÛOTa¥’áÀ–Ýîê·QèCö½¥&úÐlÇS0Ï©Øöâ¼›ÛÚÁ¯gVP MÆB¨bhÏ·ÊŸÇà)póæH¼Tå‚/ž¾dX)¬-‘‘Ë‹9DX˜™)ûèZW[µr̸Ã9âÅÎW`žóDTn™‚ÜAdrÊã`vrþU4Vòi¿(£¯á:©tDquVÛá´vŽá8–ôšækÄ):óÝפZÚáÃïXÈŸ‹YiKæí¾»ã^Y¶ÕþÊœ›‹pl,¶ÙIH)ÓÇœ¥ ˆk¤ÚÒ£14/q;Ðóè ùr“ù§”+ë‡äÝsåpã!¾o´$ 3.e™ÎD–ã^œ'«´§N]ÜbKî´Júíoå“/=«öžûí%¾¹v»7Ç©™îc*\¾GýLˆüœq¹g÷q,#è¤goîWEüÇ”ž½E"lté…êyÉï¡æE«Ý…d-5¤NQ«+žèc&¸²yØÆÿ7³·ŒÁåˉ^YÙqˆ˜W2Å;²¿Mz$l‰ÂB~zÌW`!oeíž!~E^Øé4ÁT\!>jûïëÆžö#.®° (¤®ÎÂ=œ¾b8z‹SÇ%1ÜoB5ÌÇ‘z*¦1çL8Ÿh&¥8‰ Bø”)ïIæPBa:ÏsILyu®+ÌÐ_JÌ„Ù)O# úu*MæPwÙÿJŽ#‹éK;‹~¥¾lï`®˜äçi4KºûDÄðÊ’7T/+GÚÍaï+Ò‰»0¤Äg-”õ^Yç‚.ÉÔΧÐE!4b>G½2ª¾5IprlF¾QJ.¢ö¥HCöÏpŒÍnBº¼=ÖNA'‚ áÜ&ì椭ö¹× ¬ck»Œh½¼ÆR'b}Á=M?Þ×ÿË–!ωY,Tm\…….hÂ&Ü~]ïE yÇš`Õ>ÚvExXØŒßô5Jßíe?éhXÍÖ+Þ±Ú``æaFd3£†öô¢ÜKéÞ¥`®¯— ý¡gnì€r»â‰{ÏÂçg5§O¼®p8ÂÑtèB (œ}_+<²]}t3ˆé?#Qñmr„x¶2M#wM P|³›O§Ô>lyPÈ’‚˜6s9¢|‚ŒWé)jÕʼn¢»}Í~am°öšdsÚ©ÈCÿ}0P>¶sŹÃ;üI?rox'µ›º/T|‚»£ç[­[‚c)ˆGµ·+> endobj 545 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 546 0 obj<>stream + ­Y21--iÄ)FÒƒNø ¶æñAßÜÅ9ôçâŸ# °Måqsæõ´º +A6T½“Mµà p©ïÓ;†ÎîN¶‰Õ’Ë­3æo£¬& âþpÊÏQÀ¥,Xew9êôkìÓdB)x +1(ñ°B÷ÂÆÊ<™ ŽlËoW6 å`ºÊ#Àºæk¦ÕßÔm¤™z Å·Ä…‚$aÊtŒuBY1šuð©Z æÚâÎarëÎÃE)=8ðÏ«ÙnòÏÌíBÃo¡Ë`êÇ¿<²Vk‡æ¨ûj èSÁçõ¸ÎÒä´Πõ“êÐEYÕVê87•` œ¥°UÃc/Óó’K{A7s²Mc6TÆH§iÜLÌi,öÿÁ:gUõO“-HÒý%ëêît†‰x0í34õyÙ²¿‰´µÐKåf»nMƛĻâÿs™<Á‘å Dúðò—8÷¹¢í­GCÈ"]áþn“«¹Ú3épO¢×÷£òG¾¼^a22‘•]ù^¼÷ÐV ñ+¬p $Þw¸/~üI^àýz¼õ}ÈÂbw–½”|>b–‘\™F…ì_§&o®ÁcåýŠ +õoÙÓ ¸äè„Z9~ªÏÖ!Ý:6Ö%9ÛÊì>ú=MÕCY*]·¥õÔ]ØŸ[?Ù·ýifO2á¯r›ÆR¶ÑïSåˆ +)Tò,€ä’œiÉd¹š?e‹µA‘λ½{¨útýã¾{ŽÙÖíÔ_YwÔ9ŽFÑ•ûÚ 㤱 “q•–|µŒ¨Ýo³*ž¿Ô‰x ñ÷™ñ¼ðA*Þ¾¶w´®ùÑ»U¿Gòz€Ë0{äLÿƒ­O$©HL';úÁCþªYLϾ!Ü_HhüaÅõ•wcÊåzz_™Ï«˜£H8PC7óå©„¡OåÈ“q{.О·AÝî°’0õ ñÂæœOâÝΨòLÀ5/±4u7àvåñ.ºŸHPld@Rz8‘Vè“”tw˜?ì$i«zb ¢º úoIr˜{pÈû{ nþ­eðe ³»×E«¤ +OnC¯Ìíу¼´-½E²['$ñëØ-vøå¿üƒ<ñë”V ›©óí^gx¦Qƒ]Ó wlsN/hSØ-ò™‹ZŒà'ÊŽÿí/ í“ÀXñǵcv4´…ú¥ž(J¨Ö¢%ê^Äg…»ôRƒ“À¡°DÉ!V‹EäÕ•Lp“Ó²ú»UmˆGnª€dÙZÆ.NüÝ-2Æ4º3 = æJ3à€ÛŦ&.c p¨¼-Q¹ótÈâõq,Õ¿]’('¸ÐqÂà ï@.Š†¥r|ðñ°µ)§Äœ˜}ÔÛÔ'Î@”F€…3Œñ30<êлͶ9]wÉ‘m;e ÕPµ|‹nšë‡‹ç£àÁ’=÷µ0¦¬]4E,ÄKϪžáJÉ—‹?Îx ^°Fð‡NTÒ!á¼^m¦(Ó,>æŒùEP/zr3i Ü$™¿\­©à5Àÿ÷í”–q2x1~T’ße¼$óበ»X/%¥ÂœyGrcZAdC£éL¢¾JËÔ±÷ ´ñõ—ÁXHªÑ‡ë«:ékÝêœl–!‘6?Ê< BÔøÄÙ¹ÆÊÈ´c2!´¤îÉ7¢ ~ IQ½4¼ÆÒú&å`¡ö =€W²À#77$Bûq¢¹>‹U|æ¶ñ½û±h+ܯŒ+I2v´)ŠX\D®sD“ª{ÞÎÚÊÙ"À’d$„p ¯”Øñ—Ìk Ž!©þ9kdº÷'_l¬yrbOÀº¬mÐÒ¿Y¤kˆ2©ÖXZVtçÌ£Ò®3ëTO9å‰GÜŒ±JiˆßÀnà ÊC3’¶ÛÌ_‡ž0dŠR‡Ðµð‡jÖNíRµeÿ}]-ÉëÁ}³HºÉA§Dß;& 9ðìœ8a®Tñ~šàt‘ÒUj¤Nv&Lóæ}Ds%weao;ž+‰ìérýšXám‚G×5ÿÒXÁá@VÑt—sYvxÓ4;z¿[Ë}&Oûedjòiv*¹BÇ ±9©­È# ËVz‚k ›yÇHÑÚoržåΩӦµÍ¿Ô€AÌ‘CcÅòNCŽƒ 8CW²Ý„M_rÌO sÍ "öñså{;I œ´Ã?ê°Ð‹·„UOdèF­-Ì*nÔ¦(%=ýŠBÍw˜; ¶YÑý°w$öëdgœ7÷uÓôôþ8çŽ#ÜÊ£Tp•&¹ôæp4h­WdðÒÉ~…Šžà…V,Fzxo”H[„›Oü*xü8•}¢”Rvežøº×­ÜÃ+“çP(ÎN%¢íÔ[ƒVµS™Råí3R@XPªMÎ]MS… Ó¡÷ś游Й3WnÄ¥¾Á ÿñ~Ü2gv‘,Õp[Æ“˜§\73„èHlÛü–»®Ù„\†ëLظ…¾ á·.Ø’|PgWÑæ¿hQJ N`ÂæµÐÂm4o2eùQ¶þJH¹ÊX†6-‹W×\ÂH²ŒÖ§w±[j½3 ~¤Q.]gÿd áG ÌM".?þšÁ!Ý"\Ô&µ8çH-+¢di‘XKÁ“ Šf~°ÐO,rªÌ²wÛx©óp$„N9'tnx`UNkË: “:N5@ò"‚È*òF:’RŒBìÈÊëaÎŽÝG©@¾„Çi +huì·Q“´7¿¥æx¿ëµ'Y2¨Z0ã¸è‰/”ö ï*Ë—^U€SäÍø¬ 7µ11I :[ª¨8ú@t5—gr‚]{G€TT;á…Be^à@l!0áRÄ@(/—E øµŒð+Ù"ÂþŽ[¿€Wÿ¼(ºŸñÀ|苬ô×V?@ÜÐñl=¤Î<èfž¼3æV +O^0lÈ?Ç}Ä]¸A +£>—·¦ô,SY_"×Âfaû÷äàZ4âÔ°bŒ(U¢;›R<ÿ(µÓu°š;øŒºŸ×èqå'Ë}K + ŒçX†.6tÑu¨ËÔ‰ ññ,×Ãfs¯ég¼8ÒɵÏå9ŸÖ[¯ÞXѲý(|"z8!+ÊlÕšÌ6·‡xWI̬¡y(˜ª7J™ªGøGüÅ¿G5+}‰=Ú¸ã[¥V0zçåE_SÒ³ÅÀtXðø}ÇåÖ Õ¯+g¢Öó#IîÜØ!³j{ªÌ¨ÉL¶$_E*FZ®HÐÎkÇNøügûÀ²ñWh³a­›Î7eÍ]‚q,±\SS~°hX–Þ¹œ­ÏÉxhB²Ûlú`+˜ÜY©}“Ü_ö»ŽìäìÜäâ¡Å$pQK,Ëá"Ê ‘N4hÿ#Â?5­Î ¾ÖÍàÖ§¼€wÀž=Qá¡Q—AÜ™u‡3æ¸É÷öäDŒOE… +wv%5I1HJ±n#ÔâéxñäN‡¡¹¨~¼c6ë°ªP[ÎÖ,;ð‚2ªÐY/¼ô‹¥ÉË’s䉮äéjhí7ÄúÚ°gêge†P¸Äl“D,I’”@Ï öç$@©0=»¬E©Úï›é™vfŸt]ŸÏ3~-ú"æ]ˆ3ª·Y4¥hC&>qý¼d¥FÄ«!›ruÁ·ãÌŠ¶|¢ 9,­%ê¿kIdY@=IáQF÷¾—x-A¿T>Ú‹¤ýôD»'™aÑkd/Ú¸Ž7rœ£?6 –0¶4Ä3è@:½Î±–¦Y™ŠÆXy Ja‡ÒÜPw>-½%Msh”=¢äIûˈ Äùürs¬œŠàÞgÉYw˜‰”4ô‚‘7C^’êØþ‹§ú o"󓊹öOA1E šFHµf?S ´änaçó8= öI7qä§&J©Í‹ÛMç]iË×I|Dqý÷àŽ ä—ÓøC`TÉXúj²;ØH±•„‹[¡]”»Öà 3øoi74"9£é,ÇXɱ¯¸72ÝÜ#¨7èÈáœp"Nå’pÎ=Þ6÷¹àÔ< iZx»ŸÚ7@ ­dÖÖ°ÃÙå¼ +Õè +]È>`ݹe°Ûþ”¶f?Ó¨9í¨e&³«>"^á ”aŸà.ùX˜‘BlþKÏmH‘õþú@49ôœº£G øZN8kx¸sÂ~oÎÖ¨‚RT"U"xý¹x]ƒ¸NæÃó¤ÈBáÐÅ=¿ƒ‚ÌXÑÒ1?š;¼–Ò&Ÿ•?0‰gc:ï®)7þò9yåÛ 쎸îé%ÆI6Ò9Ð!¬õ×¢ôž;=ÜM‡¾ÐìÁLúÉÐÆÜBÍ%RØý¾å°ð÷¸om¼õZ÷0œïÕ#E‚¾s©‡ÏßDñ5 ÈÓdUP±¹ÄÐÅéúÑ絡ʬoW=,˜ß}Ÿz’ÐŽj)”œêR¥o…|]c…á?:(aÝ”®7yRÐQ>d¬©¾¯þ·ì%œ»DêÉqk +˜„„Ÿ +ÞaGZõÖœ à1MYpÜ=Cs|¶".8´óš;ÌtæjúR©:1ei„A›ÀKÅv‰\ ‹1”ÖNin§¾èf;'œ#ÇQw$p0|Vâ]kG”E#}¦­úÔY…hç×1úçn¿^ï+hÏßTÛ1Ï3ŠÃžje#~gÔÐi¬ä¤ä6Ù2º\Q˪8ùLšXò? ”?&˜µÛ pÌ=cÀÄža³äï’6¼ó^¥ïFÅé >.c’aU‹ôv]Ã/Ò!lŒk-äpN^w¶JÃqöÊg š 5zbò£^ +endstream endobj 547 0 obj<> endobj 548 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 549 0 obj<>stream +kÆÄ$•Ï *âì×íøSÍH"‚¡FâA ’6ÃÉ#?’\½Óé$TtàN¿¼°w¦ª-w×^™ÌñˉN´oÛ#$v²$±ãð'ÿÙ½Ãæì•ü¡œKåû÷BôÅ'=?MÎAÇÒ~’k›®õ¬¡Œ©¸ !2‘À +ϬÛR㮵Ê@a=¹ú#÷ˉÊÝhЇÙÄþÎ=…4H0 •±NK^^¦-M,bb#ËØùÔðéWTã™ÊÉŠÐÖðmQ«if0‡(Ît8¯í:ù-þW@//@‚Ûm,CÜ‹ØÂößdJ‰xè)àÒ”©ñ~ºÝ{í“äè»dC °î:ÀÑÇ$ýѧû¶©aí9‘Ȭ0¾ó¨§+x@õîp{û¯ A Ÿ0z¡ÿ¬ŽêollÊøSkë|î‘¡Ú´€ô5,ÂiCEB&}–Í^”yÉ®öŒÄŠi‘úÔQ0/¿Ïˆˆºn:û8}édu˜2þ΀¯m]a×?‘H)Ù…@M]Y´ðÔÚ5ÓÏnDž²•–‘Ðtðc9ŠxŒyÞqKä­µ¨£T¸HúX”f&;T^2[”‡Þâ<ÑUO0WÐäi-–¨ÃË@èNI^¡Ù>æõõiÒyv…Ñí>n2ŒôÊ­ç–uîeºâø/è%^·%T˜ôÑ— E¢?u-.Ñø—ÒsÁ-r¦õ:£¶(?àSˆÓRqóbÈèF¸^t q¼Ô°\NX #Ä2Ìfï Hãí€$h×µÞ†’ƒ<50ÇDA§éü…G›„þ +ËZúЛ0HŒ `Ü >8©¥óÛÒ`eôÉ1ß@ÜrÖ­|Þë2bšÉRçù\`ÿŠBÍßØ~÷Cíí¼@ ïD²©ñ´?MêoŽ›Éå»Ü¿yôH»âísˆ:¥‘oÿ1´Lz’¤æ©]jëÚ4Ö1#b3ò!{+O›½^y£]Š!‰Çz[ú—v-Ú™± +fÄb®Ç[ 5zÿN}ÉDV»'øÁÝ[Å2ò»¼Æ¿OÕ¢oÄži…’8²õ͆×öjÌ߉ géhÏßAÈf=W„¤EâŸï$Ä"sŠGè—„ÒoÔÍ¢ÙÒ‚•‡ -¢#W<8>›c/§cÕÓ@O¿‘ŠÙ4&¤tñ»b%ÜX`±ÝbIåË[zê¨G‚l[ñçöé”J7Z<çn7xMcø¹HÓ/!Wì2g€re9þ‚ÆBžI5öÕÅÍÞô»‰Ó‰jÕPd:0P©*#1ôaŸÒyÑtõ´!hö¼ÈàÒ ¿–<…4ei¹ÌAg©…AÌ ½Hòå"jÏÐ>_Ö6Þ„€½ò•ÆÇzŸßÅ ðuiø§‚|8ˆ®>jÃ'‡hÌI׆0gDž o®bz#à")’?ØP*ªº<ÊMcâmJTÏDë˜õ5Z¯T +:Û^/†H¤¯Ü¸¬¾³%¹Ås+¡â†êžäÊ þçÆR§ò°½”î,ÀÓÞ²Tc§Š|•Î&ƒKCm)IMom=Ú×È=uhÏý(€ÆSËŒZÆ^<6 g‰|ruÐ ôX›CÛ4F¬Äy8QÿÁçêš[¸X¼‡k@n¹(S>·Ú´AdÚÁã•< ±, +¶gç5¤Iö¯Ü°¡Þ*‡8öëÔˆžU—Þ¡0"¯{Ë; –Šû#¢~–Òcµ?Ú1æRÃØ[­ŸºÏÚsGœ“©ç&do/•N•t™žˆ¨Gþª ßÆ/2Eõ;T‰ž~ êÜݳ ^® ù5AgQ²Ó ®=qG˾¹$é~†hrÑ:XDã•,YÖƤ»Y!ËÓóß2ƒnbèŽ]&œJóäYö ü)ÃPsôK.K8]}:È|tÌNMvvær¼ƒÿmäÜE"ÄÆžýôNLvØÿ‰$‚¥Å8¬ðÖêˆßvE=Ùšß&›ìø`ãäÃ’.#b$Vš<Üø°"Å %€’#QFHÿGgº”V¯qblôtgQÍ…naÓ[®•HÛM×:›vës)™£qöaz2`ôðÚÇAa|0Ïñ=ò”Ðœ”"kt–Z‰gz`mù¤MµAPžÈ”Ànšt|& 1¶€æ Í·ú;{¡þïÑØü•R‹B“ûÃ~mnnØ!J k`(¾HH.œ6E(OzЭzÒ–¸Ã¨Ø«LúFJY#Ù37Þ€G; ´þx4ÚÇrê xŸ|pNŒhü*[¿x  µ§ÄPs\4?‹ŸQ$©NsºáÞ+ßwAïX¤+9ô˜MÙ‹?Î[1+âQ’Uhèì˜rm¦ÝÚ̇ªFIÙ™¼°Ú|”ÜgÒà¹lZÎuHøëƆÚO"!p‚' 9+;=¢bPvæ(ÄX’‰Tônth\öµ‡qͬs„î0«N%zƒ9€ñEQ,-$÷Ê“ëë0’°fﳪk÷P\îç!³Ô=33îË–D,ãðß +«»ëóÅxÒÛ/–¸ÄF2Ãã…ΉÈeÁ%þŠCaC=ä³ñ¼øâ›' +3ã.NŽz%ÿT~#ý)´ ·nƒ™R¥÷R8ä!`ŒØ½&2¡yusiuJק}FßA[qo `‹õ k98’Q +¬'>‡éÈœy0¹^ÕÖ+Þ?ﳸù,›¨cÝvâþ-.ÆxÑu>¯´åÎ}΃= òýëÅ’@½O²±Ë£¤¬å{HÑèìw=ƒöª]Þ’LŠp¡V@®)Túê›Ê×’ôë93Œ•4Þ :kâ ©1þâú¤{ þ®â†ëúóAÁCsØ&ÂYóvœË%¿k³”QìУ—_=äbö\#0Foyãö…kd#I°|Ši†´Ä«œ}qòž¥€³;ns[@HÃ.DÒž‘ŠY +·ÔÆ÷HÕü¬!77ƒ¿^k.¼Üaõö¯•BC¦Mw¡åþK“~æKÉ*Îk†æõX…¯”~è0«Ó„Ÿ³ÙiKdðÙ{Ó>Í¢¨Ç“ O–¼¨%â4F’ü)#¥9sˆI-ôâ?nŠòþ뙾«‹JÇßÛ{%'„z¸Á*Í‚ó¨ì£ïÈ ò~‡{ú„Ôà‚„­M샋'v+ë›FrÇã£plRìûŸ'/Ì6‚¾Ö-k(hónë™"øÔ¹U~`WÍ»yð¼Fx·8UÒ+žmò´ébƒT?æ(úfœF-P£×õ©êï{OZ“ò¨Œz{àr—‡ZkïR"§>¥^’óüŒ¢Z¥c†hhÄœÖîse<´À&Ï»…‹¸m/àr„bá€ØŠ€•æ âø~¬Š€½++>‹§?ó2k2ùÅ«?dAÿ¸ú¡§Q }WrI„¾„ h|5íÇ!&ÔŽd¶ÓÆ4_"Å“$íÍŒc0KÚj™»BñÙl5"ëÌ®HÍÖÏÇÅDG(XCû)Yû•£Eé`+ã#àZìŠÐ0äù[Á7¿ôÎþßù5ßIÇéĤq7˜³ãæ!Þî~‰¢e +n–¹â ˆ­XAjC+•Âl6Dßb,©æI¡Îé+/?ÅÓòéäŒóA#8@4 ÀúX/y?¢ùíºSŸàÄ~¹üŽöEx`¾|6ÞS¯ƒ-‚ŸÙ;œØÊm¾C=ØWeW:„@[Ö¿)ÚÊÊMÛžNY#@šŽþ¹ËLxú ´Ê%dø;VÀÓ÷ÖÈ,IçÐ ß™ÐÃ7"eóú5IŸ#>4ÓùøÜj‘0"Tt‰9ȵ »¯£6dšq3m]„o,Aì¸Â¿¼@§Ò×ê¹gJ†ˆ¡r¯ Âq˜µstìmª„îa­‰0 .7%¤“qÆ3åÚ&95É%bP96ñnÓçª(PÂÍbiXPëЮ7Ìð7;!ûÊŠâwª5ŸP¼â¿p®¡ÅsÞ3ðŒbÍhî–ÂÕégÅÙâôØ$|üílóÂæ>u!­4¶jξ4×Q›dÁv¶’¦”x÷mÙ¹‚ U)“Ä8êä$+]Ë4n|.Wöj×Ï:7.úô©‹ëV)È–7I†ÌõÍ™ëÚ +©{"¬˜65k·»f½`”(yïá²ê»gZ÷Žcÿ'ÉÖOG£¶¢¶Ž>7ÜÆõ“>Â,‹Ã°}1ó‡PïzâÔA!̘Ž—;(º`nî|°*&j<¹vÜÍe T€!HRg\Q‹Éã>—oè~ ËºùCÆ’Û˲æWoÍYpöGD:d7z +Ðáh-=Q‘‘MtÏu쫳3<ùØw‰÷ÏúϼâÞo‡OÆHÓYµçyÊ•O‹7œÓâ0h8ž“„{BVˆ$ëW$ˆü©€€1½“d$C¹¶ÙdÊöºTŸÏó¸È4Ó©5Ü=Évwä1î æÍn‰×øËãA¸†o¬xÇ Í& &Df¥mÊô¡`g\/ß°0h±uVÚÒ•-uùÒÀ‘ÁÖØþy¡vµ[¨#óá¦B'0n/aGIíÔT‰kÓ‹XŸ¡ƒ”U3yvBQ!ªv¾ þ‹NMr›õ€‚FJÊÃÞ+Oœ´¿ý–Ë*Ú·²GºLšÿž+Á4– 5Uæ1‚ùPõ*kPÙðÕ*ý3ùø²5ýÐ%)ÕÝŠ´¢Ìü¬ŠWÞö%všÙž0—É¿'r²vÄ<õ¥ÿvÅ]¡œZ¾˜Ð1¼“H«¼ub‰Ê%?PÙ zt¡ä¸GØîůc¦pC*–#:éoLšÛ)§`×n®ˆ³«( ÄǦ®>ª*»Û>Àf|9òŠ%ZÛRüÒ#Öú_Ó½ +zš¿<½e¢H’¸š>ýË,œï&žŸoBZwIÆYIhB¥ìäpJÙ™ºïâË uq& w*úm銂cz)á›ZQmá7וœŒZrlq4m²»ÁÙ0¨›j•\v™àt$”\F€š¿*7à”¸;àã™|’Œ:h7Ê…BMko +C¢Dγ]uÃdOP0;8¤5“Åx&L¢Jä0D& #•‚˜œR‚ÕÓQ}B˜šËåí!+ bv¾ Ewh&GýüôÉz´ƒÅ*]¼‰ yà]wî¥MÎÙ8’â k=±yƒ)ÃŒ÷äô2ÜpÙâÚäqwÞñjawÒ]Ücæ;–{(î³¾Ò +endstream endobj 550 0 obj<> endobj 551 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 552 0 obj<>stream +?ƒÓ Û¼ŸNy+«Ý›ýH™ë‡ó©˜BÄÇXÓLš½è +EáÁVóળ¥$IK7AF"¼ [Exj”ùNnìˆ3¿UUòW† Ÿ'4öÛ­ß•™di‰vÚ"»ÍíFXuù×èîòYËøªõv= +:œ»Þ¤”~ž©Še¥8 ¨'À/‚ó áÆÁÛ* )ý—ôø¿ ‰oÃä̪ÎvÎa0aõÖ§ÈîºüJL=4g½¨0Ø(PkM½Ñ4Ô¿§VV“ª3ŨLă¶¢¤w½àvÔÏ_à×›Ø!q¬¸¿p•´ê`TyÆß*…y/¿:­^žÖNy\ܯôQ\8–Ë pûm;XÊ5GðOmz q]ÜZ-Þ#9Ûb”7Û5Ì4Ò‚úìÈTA³Ã*ïð|¹‡´æ+˜Å4ª+6ù^mÄ&'Ðo6t¶q¤ð÷\ÕÉkˆaºM<,æ´Y?(U´'i1áµ0õ!†‚ôíy„0q>-ÕuÊ`Æ4{ªxÝ!Ík£_š  ‰Ü‚X©ƒ±{Ü\ÿI|äÿg™4EËÖ”o +aAAœ¯r†rßFðÍÌÁ¦ÕIÌT7h!0— ïÖ´Ç>Ìá® n¶å¤c¾Žƒ±C²Û=\Úü"ø93µ]¹<ú¿á[‹9.„¬½Û·–8¢.Ï-éPÎLŠï‹rÕa§h†è;ò¹ÀoÞÓM*ªëLtL;!ì ¯$ñ‹¿åØ„}=<£V盌S-e¢z`ΪLÅmÀL<ÔÞaù_%$G›+uFã*ý‡Ñ´03ðw’šÐ#}mUÔáë•$„ÚíßSýXaüE3?»åµèËMŽ\ÆWk«' „«i eòØ6Û °jåÐíHQËa%¥l` PÔùZƒ?[§óâب+FùLp/Zý1æ:ÇÜá‚û€©kÜoÙbã$ÅÆ™›Ëphlþ~I‚E¢`ѧJ ÂºlÚ`°K«‹ý‡ìôÂÍ‹÷ÌRc¢éM{Ú{~_@zõÈó¿á_Œ‰*ñƒ97˜ñ™›ïèÓ½3Äåªë¶cL¸¹F]–p.k¾‹†âFÒÄh½š?þZù3 ëÚ{ Aé ÆQœóùxøÙuU»Rí’§`ͨY=5JÓ byåKWj +å€Æåø5*ËpŸåWc3Bt¿ %p~ƒ€Q埫>U²»”V­Þ¾;NâgqÅõ£ùkUî%ö/£øæ0ÉûÿWö–Û¼Y\SÃÜ…Ó»:”éÜãAÌ{'îmˆÎIØ}Ä·™ížË]˜ƒÆ +Çd¨ÔÝÆK˜+êÿÁ0âÇM®úÒ™-.kW8buHtíž9©@ ƒ +¤vû=Ï[ÅF°¡ã8x2ÒV«07‰Øºƒœîq¤†æ9ʧòølÍ ¥úy*ê¿Á‚®^ð“¡Tý‰V僇­h-' ¢Ç +Ë Ë4¬F˜7×C® NƒÈꉛãs|³·¥FÙÚÔ‡7³Å/JÄ©†Þ¾e{¼¯Øbí 0gô܉›í™à¨¡KØö,2jˆîªÞFK2;£ì å :ì u*«81X +ºù Œ¾¢‘1¿Ãhkâ%íÿЧûD~û`ÜTºŸe ÞþLçò¿¥”åªÙl†Zø§7‡t³WÐ×}IŸ±bü[#ĵÇXøò}ýìxÓ­ÅÌzÖ…/&àë­ˆf›Ý\î` ñ­]0ûÞ]þEÜäMâ\itya¬sŸ´è‹6‚s9€«01‘“BÅzê ¦Úê ŒÌœµå…‡PäØG…¤G|yQ¼±i‰ªyx+¼ÛØXôö0åñÞª¨0eD5j 2ˆ•R\ÄÍ/ÞŸš¯vm€ú;$7Óñê®_ÇJqf+ÖÊ,ì=· 2ó»qÄbœ.os$WË,FìCgÁaعE$}&””påz•\[% P»2?¾:"³Ùeéç¬ $-Ê=IlV©ä>wŸ°Œ Ûq]†¹¸ºQŸ¨6*<¬U8ä D¯–HTætžã´O„“¿3Yk*DÖg× +;8ôé½7Ÿ±¿\›?·wôú‚»,c€Í'U£8Q=¹cC‘I´ +ëiþ‚L§1ðÙüv]¯í. Ÿ )z}BI¢ØU^Ÿ™$tkìoïæN¢½§¡jR{M‡qî,ªcÔE¢çåëAŽn†*k³<² ¿Tçs=ò [ÜJùmOa˜ed¿àà +1Á·¿ï½”Ä€ÿ»ô…}r˜­ø~-¡Qñ²OF\Cy¦?+”ÉÓZE/ÚßùÔ¤¿.ÚØÚZ°sL7,½;Ý¥ÍTüÙ›«Oºö2†í²R@Í*A&7¡5$ÃD”ØT¼Å˘mÔ—éH••çœ†;[Vhú)èÆÛ(¯Å¸ ŒŽÄE¤FV1@P!NÈ—×=¹ß½ú°‚±HNÇR8Õ'°pm¦¤:+K€c §ßºÔ‰a5ï}Y¯8Æ}̱8 «ÕãÆ#ô-…-9[W³ÕÍJ¼„²VšÒß4Í¢¼+ +ïŒ%o›E¿dÙP_Nüÿ›õï¾tâIí€ã¤':®ƒS³m,Ö%âEAÀŒ KÒXèWÕ M‹9^ŸÌâµò µ9lÌ´ìrR{TS@Zê­Mƒ—ña™ÐgNb éŠ“)×ÍwXNýj÷§”õõ?‰ Ž¤Ê’ñ¸ù5ØMbœ„j)§9þ¡É;¯ËÑåhÜd:›L£F[Ióච Ÿmn‹fTŸ—o—%HÛÃoÚ ¬)4*_kÁÝFß}0ó +Èù2åm=/ÏaäÈh­ø¶t¹Â½z{/6)óDœN‹GTP„Á3€ +ˆëÏxžwÞ¤OÇ ˆƒÅàÀvß'z§Áñ·Ø`ípé¯ +&6 ß)«À÷åÆQw œEÃ@ßîÞÿ‚Ü1ÆÐ’Yv¬€å€AærÂ’®®¦GÞ¾gk™ü ŒžV]§Â)Ì-l¿åO*„áW•»s´ÃÑ1F%7xÔ(~°ÆzÈ*$ïGµ³úÁb7¢HžG$¢¢k>ic~÷ƒS|×:+²¬-ñC42dÚJ0œídš  ·¨%šökðô¬•ˆ;vù£k3Z¥Ïúoµ& yœe&¤ª<±N5&Xç%‹é›U=ti4t¤ÉVâÀ†<×¾uUžä±5ë2€blèíHr"þ +€EÅô +oÐÆçq„‹£.Ѿ=QvÂ]&i½*ýR,(•Ý5ÿ*BêûøŽr¼¡;Ø°hŒfùÎU¡¥öp£»ót2¿ö&ð—N™¦ÑñùíÜ[˜Ç¾uˆxוuÏʉDž‡ÅXƒ)ÉÏ¥™"šÞÚ !”‡7ØLRªàâ‰ÎHD*áô Ï“M'*2[µ$l¼ /çïß_­ UŸw&ˆùçï¿~7˜íêÉ´Å/> ÁêŠyìmù‘Ž/¿Ø̧ÎHe2“<#ͪ*ü/{n€lÁ#án¹šbû$‰ËûÏ/SRðÇÜQÃ\âžä11Õ¹Šú©E‹ËDx†p}R|½–/ + ÛvTBv±4Ì‚²ÁÝinÿ<—³›Ûþnˆý±âb.lìª[Æ&[üª1V›•!2‹oÀ²³9ç¾sÓJ Äé¸F?òvVå;V +|à+·û$½N@âk´òØÇ^…·#[ÂRW—)ik¨ö&;Š¼ºñ¦R4CAÿz v'÷ä… `5µ:СjëncqÀúQÓašÜ;Ç ˆîß÷ÓèYJ¹-F êµöä,ÕÖX½¡i`úQm77oà>“#-çjÍúb·›š£¾êBZ´ýPb +‘nÄž¹‹+4ç`¯øŒ1‰Ô| ~›ôfa™Oƒ´›uS|û«"í|âh6Ðq_AÈ“Df-†5Ý{½òæ+ ]Ÿ%+*PÊ+ËÕÒù£{£S9ò„ÈÁ³Iè"°‰n¼W2ùíÁ”,²5ÛŠÜ{ò5FIòó¡Ávœkà+"Ѥø»¤^¹†ºØÏìùŒ²ÍÖJŠÖ£ËÀÉEI¹ñk Å¦w ôù¿•Pbð,8 ^ E%ñ:ïŸoÅŸµFÌÏ-×›é’òÉõï$ÍüÔ±TÍ`wRRQša +·œW¨¼ÐêïU¡¬³&óh®Æ¶F¢B×Tò +endstream endobj 553 0 obj<> endobj 554 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 555 0 obj<>stream +;]àÖNÚÜuV‹‘µG|ùÃñžÊ“v?ÈAg¨Úöe,|AÅ̈óÙ±¬k“⽿zåÖ’…Þh×ÉrŽï™J 1‹°ãi1kCÐóåbGTàV6ͳ×û}›šƒbZbÀD¯"é÷•'“0XápÈœ/Öüåxš :¹Ç¢”RåÁ?V¤$)/„=5ÕÀLXG cû>çvÑÛO¦Á«üDøú¯6ÞŒö2o +Ud÷»|g'ó#I'=ºêY}ûlȱžz È=Å÷ ¸)#(¥Ýç¤k©”G2JÅÓËùØLJrh䶘E¨N ‹…ÇB{<åTî¶Ôl×Fèhè©Fõ•6”=ÀA™±9¾;%>ïÑçŠfèåFȱý“ƒ-ßçÚ"rAÀ¶«Ô.É„IÑ^óŒøŽ«;¥@AÓÏ÷X¬7Âí ÚØûÁJYïÀ—êÏújmù—¢7yLUÕ¢L_(‚ÊþOæþ‰ònÞgÝßÀµÝÿب?6h4ãèN ^f¿ïþ^i.ú§¹+ÎÒù¡mÝ,9*›álê¿j‚¡UàËÔGDq7[Îjøüu˜<Ö0’% Uz\}Á]¥ª¸@Þv+âr¨]ðI„KáèÍ'É_? ŠfPÇ }RûOGíÈ +[FrǼ{f›"Ȩ]Ìß´ r—Q“òÑ6L­Ñå¹.ÅÏ–UñxF9›•9{(qÈ×ó•aF·so"énÄô!ÁÆuÆþ*$ÜúÚ"É´wåºI±ÆÀE€­iHªc®Z#H%Vÿ€÷-œ€¬y‡,0æäßvlE +=ĉ"XeÙßÖD›+6•÷½ŠE®¢ƒ¥aZÅïçÃÄCÒY’7h Nß@ Sm1DÓÂAý¼Â÷éNîúÔý'z$ÅŸÚY +²Ÿc¶f¯óJM‹Á½t8|Gµ˜gÝå:¾j`Òn5ÊKl:\Ž â¥<¯<ìǸ¶™)}Á—Í3žæ_9 Bº‘²º-6qÊrµ­‡$yÁÐvÒñBxŸÍ!¦óö*íÝÇ„laµÐ0¡G-ýnؼÄúf‰$ MéŠÛ +œ?ÖÅ©ÆuÂfû¹G 4)ð¦_öZûÝ„98·Lç xod‚:è ›¸’ä.š äÐ¥Rp7eUÜhl£ ÿe=¯ç¹1_˜;¤)nMœƒ.PÅí§­·eüRͶpóWBYÇd¿&â6”½x_²®EÞy©Û_E&H¼Ö´ûræhæ[Ö­ÙÆî¸O©´‰d?»*ñOæcˆ.¡+‹«—æLò£hP¯‰Lë(yµu£ø<~MµÂßWÄ"-¾T”_±q°ølö_#qÂE5À”¹ã‰êbúBäd‡µ½è¨ê1ÿ’w‚Î÷ ’µ ³ž±zï½jç¡Ì’f’Q%£=&} ?ƒyeÈ!¸´i¯¸Šždg䥷Þô®ó±FO¶§”Ãöœ‡5XV™ã®ü%Ò—Ø3y/0úäp*¾B€¹‚¤Š&q)¾£#qªzjÓÝu»·úÙÜè‚Cì—o[ùLkYvŸ¨Ç¦ã†-‚é;|¥Ô¶Õ‹”éÝœx‚]²HÅ£ôMDi+X¼Tª¸OI—¿)wúáUáØaXŒDlwÂCÑÒ•Ö*“kPW]R˜ê[e‰žc•ßªºŒ`ôÉ3V´ ¡¡H$àƺþÓô•>ÜA¿0ô£ˆêb«j4?ûJ¿2köÑpD¸²4hW\‚ù *ª¸ù—¡ìÃ*Ð~ÿ/WòÛ÷#!ø¶tžÑ)tX…èC2PO7ÌZÒ0RDÔѼ™X½ŽBQ¼ôŽ0ïÔg0Sg³ºqq³C7/”™û@/ë¦+4¸Û}V9æÍ€“D‰ºÒT ßT"$ÛÜËÚ„5«+²ðϸÙÏÌýc5·ôoÉá’ÙQœˆ,Ky SµMâj_ÌõgÏêÐL¢ÓäÍ46g¶'ƒ‘Õ&Þ@gÞ‚jâ“ÃìŠòÆ+¸ßä!ëáWeoqIN¹FWBæ7?%Ö³ü6–¬EòÜÍü +ùÜèd”Ñ"öÉy<˜\J/rwjÆÈ  ý£u³<»tæXzõK½ï8…;:W˜» sy¸IœÉE›\÷ sÞòˆàÜ4NÙùóööŽ$ Êe“_¨5>¼®O®vÏÝpÕäAã¯ëcÁgJ¶=À¡¨ŸÅ8sÅççnP`Ös°àd'ÈZÿŠj»/þ‚ ˜¥Z*Œ6ýY˜¨D‰Îyí­2«_¼³ð0hj° häºRø3¸À’¿ðà¡´;2WGï šÿÀiºû¤eNß(—³L`,í;B ×>”¶ºLUø_7³Ø.º®¡¾ÅÍsYÄÚK‰´äÿï%dÃ2¼T±¨˜ß((wÊÒ½CÇÚ+@Ûlä»”çmÝUUÐÔPq‘߀ÿUÏå 'û2Üœ$£žX¬NJzö}“62ƒ,Ø nÍ ÐÍôÕ¢·£CôÕÅàˈîÎ3 + q7êN ó4(VN-Ë6>ð£‰Á´”?{,ÿŽÿ÷âáá)Nès±±oàCûì]ä¡êÀSà‰Êˆ2$þØœÏjÆ俱Fщs¢òRå  ôÓf +Ó‰sY«Ë¶TWžÊ©c“u÷ì¼CcüÜ1mïÜ{º̉¶—é_|ò'®|Â>Êö¬ŠP­6GÑÿÊ$Ö¤y3Œ3ôÚªî:Š 5/b÷z¤aï¯ôö¢BèS‚¡®ƒñ€…m0±j7Wäu2ûÒB]j>CUq¸7š½iµ©Æn|DÙ¦JœW¸®ÜÛÓe§yoÊRõx§åCÈ–â¶mØ"ž-PbÄÊl^eœ@ûôüŒFù2þ¦Gµw>ÑÃ-æÙ@ %âPE2/èxχÖJ„áÓÏþ"?Š­ƒ—–›x”6{^sòçöËIß̈ԫ;¿:óÁVh­O‹O‚íWý%½Q½À¶ÅÙÍ|F6(aâS|cÌ«˜L#yqÌþ†•8P ü¹x™•nø©•R÷ÔÀ+›ji¸`¸ÀŠ’M¹Î)3û=êœlèÕ˜l¢çyv„ ôÛ ‡ëb«¢@æÁH†É€+çòÄ.[Ô¤G¥„²^—j%Œ舩Ñ5TÊ©ñsÌÐÄCñƒñ´~ɯÞ(¤Iêã™9Û1VöÆ­¬ÿäL i]Âé}Œo‚JÁÂÂõ8Û¾›Ò ¥)нª„qXøE,䪂˜Ð×`ÉÛÒGÙÓ8Õâ“Ÿm9Rb< ùD¯åìs…H[úö°ó°&a <Ò͵•›?Õ¶ $Ú{MÙ‰M$]Ÿ÷»º%Œ¯·™úB1õ–´M%wqPyO‡ÎŸ‘ÃPµÓH1m´ÓÞù€ò wò€¶Á®ÛYßø^R–áÀ^²o2È›ã‹7•«r:_ +ˆjLèd¨F¼-*UQÀ´‹4oSCM=¨õÿ]*.}îK@àZ¤y-t¸–&ãü¨–g{ŒÖ„$Á†«N™dÒlÂXTü¨Íä+ò¨¥]]œÅ˜¢tžk`ͯázÀü{–/gíÍ‚œ_¶l=;#Ï5À«ûü¶Æ€ˆúH¹/Î0*v Ù¿'œãà§ÙÍ%ç°/Ô;F+› §0ƒ»ödž €áŽ–”kýer†7Ýçôp-b6>ÖÀê(tfM¥V•{ºÎA„„ñ;=E£+_Î&ÙÝE‰ +Â`ÓKïÁÌnJµ35µ^9¾U_±Nθ+Å5ؤ[#s±dJÅ°J3 ù™Ý²•ZÏï“TEÃÀ4ali»Ž +Ò›¤ô*_cvš£š´ß°•gÆmCg7Â)æèÍÎrK\¢7&ÆÃÍJ÷¬˜E‚v!¬iˆzÄÕ³D*;‚ycÈÁ‚+¡egÕ)Ò–•æÿ»aL ê¬TÍË"¿*Ï]2ñòˆÄwÚØÒÈë„«mð §(ÕúFëÙOa Ø9½¡í>/CÁ—ÙóO¿›‘–ZÞü¨Ä$/8LÜmÉ1A„'Çm,ÖðD‚ }ÜsZš\È…¡z#ÊÒhRºê‹‰'ÿq•‘SÊg/ñOœŒGZ?µÂg2íW°kZ“;ˆ×hp_Ö6;i|\BŒoÏ2\¨°)æžxj °rO…kö>Ë_c ûÐÓwoR· ›—`ä#/þ¥  œF:Hô[9ñ«Ã܉á8“^°c³ã¨þ‰*õßè>+QÓ‘÷zÙWZå%^8wuP²G$Ó§=Í^qç!¦0*{B‚QÝoñR÷^¯`ã"¿RŒþ2Ç™«Ïª[’‚ïLøáè“æÍ:Ü‘A6æ½/îˆnF‰ôÀ[lºs_º±Þóoh3á"&&7קwº”óo·ø€óøÁÓ´v˜Ïï‰ÕDòÛIî¤',·¼²àZ…ð­vXö€‡=€4¢ojLMy/ñÕsúì1úVk· ¤dWû›óÙ‚¥¹¹4Ñ-…’º™¢¸uˆ-´Ïºˆƒp©Ü+&8 AwËIÅu€Á@õcëŒäÂþÄu·$•]» 3`´3‹Úø +É9b†"‚]7“ïë· ù‚³ Ù\× Ri¯ìN¦!¤L‰·©ýÌ„£Àì:m5 VJdw!  +endstream endobj 556 0 obj<> endobj 557 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 558 0 obj<>stream +I0ñN..IèÆ'ôHX‰‘Db2r«:åZË8iÛ_Ýϵ³]Èý 4“Q#èHOxf0ã‡'OÑòµ¨d—»º›„@ÏØ––¸ô¬O/ ¨w)였zÀ Uf!*€Øiäì:ð€°‚g~Ôþ™ÀªµBŒ'ÆN¸aö Vg*Ò'J³VvZyÚ¥Ëzeœ~)üßa2žf±ej‰}¿Ö¢ä­ˆù¨¯ªDWÐ{ùÁ} oiëQÌÐ|ÉN¨äGÁŠþäzQÂS¤ PjázH,–ó—jÞò¬‰…?ÛŽ¬Fg]ª±yåÇ#ƒ§3+§~¨ ÂgüHHÆ.j÷Ũ‡ÉÀsÀùwí<2Y-¡”-Ñ|#^KïýI¿ÐFFA`Ð_LòÕ±œ”ΉþвϞCõO<HoÐK¥LúQŒýZr¡ÉõÝÚû_Ìÿ<Á£©”âöéZÉU 6pž –ï»àë…ñk¯êz¯<¸Ò¯ˆçŒ×GßPàƒ™*¹ÛCfŸ{¿%.+ŒI=8ˆH£!üÇ'g¼™¤FuvîA¥?6OL¼ÓÂÒyä žÇ¡/‘Ôõc0dÆPÖày3iý„Ÿ•âlÕG0_PÆ÷wGrÐrÛJùL(뛢tI>0 +fºÝ ’¹Ü[±NÇzŒ_1Ò³èi¬Â†™š’My—sÙïT=n¤÷Zé-|ŠŠ«ŠN§·r¨ùÝ5õ褃´”z”% ÏéEuq@+¼4×%6ªR–Ý3¢æHA +Ïn×öÒa Oz ²VL÷<ªöЦ‹)BÏ{pÓµ)Òìø?Ìܤ‘nëP.}îa$µï• ÉÒ÷Wsø¤8ƬIqÌ* `MŒŠ&>FpÞ$ WJÐï˜DËcÏôÓÓQ%ìp‰Æò Ç½bŠ™xXN×oTŸÿCø±jšRB’ùº½¤º)ëÔ@w—jb,£ÚRFŒué˜Yú‘uV)1¬NÓYR‹%v…g?H`ćéj6x læxž[ÿïߨ²è‰I¢ó Edª Óæ– ™c÷³pÜöi>#gcË’¥ØH§JtÔµ”ü]6 Îj29°Ùß¾p,¯ó°BM qÛz5ƹ—δJî“­øŒ|Ž#²w«êû¢Çu7 Ï­ç‹·¹…£¿S¼^d(‘ݺ˜(*F<ñwgUÈWDsvóë1¸F´Ø¡k¶긹åRe»ØîãÝÿg—4$Gdßþ÷//ËÂq÷ùàˆÔ—ºÖ|ž'^œç`ôB˜}ý`>a¹€5žh-9 ¸QjÁÀ’†ôMW2®€ßûô†Daté·…ÿs«VdP¢ïmlÛˆ^wjÊ&Ù/r5eHb¢Š¿I> 2 Ñé7,ù 2X`6s¨ž³Ù#qƒôÚˆõ…[+a´ñOO× ¨€Ñ³¶$(îüHö^Ï +eÃØn*ØàžÃÿ Õ‡ƒêǪÍ$¥3ê»õ¡³üŽ…“Ž:L­{K]¥×t&NåÈkÒÿjii—Ácײ?Ú&ÒDç$œüþ-‰‘/{Ã]bα[RH¢Ìa ]mMýí0¤W~õzE4³™~ ~!™õ\»ÏDÎc3õaœÝ½7”aø@Cx$6"ÔwÃ_-*ĦlyÝ~ Ë„ýスRÀi[jìpKr—­Cm¦åÕ©a°§Âɲp€Üõ¦·¦­ÊU.z èOƒËÝè¢M+ÚçY‡ŒÃc“x¢vá>–>3öÓß2kÉK?ê±^MöÅ­ào~û5 0›óÃŽAÊ{$Þõ„¾Åbš+ÑÝÞÚGœ6qûÌí÷¢–ý¡SC­jÐÁAàW€6ÐzÆ€ +Ißórœ-ŒÊ Á´Ÿ öó½ܘ›“v¥†¥*x#{rªé8Âwݽ3êâ_pÏ1»³,Ü‚Úi“=ù\¿èa=ÒOÍ3›ˆ¿ëàH¡àzÌβ¢‚?lÁyÄHÞ”×eâÂÙÊ +[ŽÌ¿¦z+&ãwl9HA¸C¶:a2V”ô>ŽaïhE§öÌ~Ýmp®Øcþ|òí!T24Æ 9ȼ–nW8ßåèFP´ÉÿδÊC2Ñ uÌeC.°Ý©1uãßJä-_²­™‘)2CMoFáüìΡ,LmP3î€kn¿µð J¬Œ H½i<\NžL„ù±.Žøqþdeÿ0+ƒ²¿ ±ÇYÒ³îØæö‹Ž*WݽBµì´ÛM°ôÙÂx‘±ePõÑ´‹¥î{Š-ÇËÔÌ>8Ht ¾ óm¡¿Î$f ™Jmã”w +ÏéhȦ Ü),nuÐ<´àq0¦¾8Ì.•Âë~’úçuˆ4r (kÿ“´ûñ=Â=‰ƒ4 p[5O‹Ž a–ÎôÕUbÏÝ8&~̆ӿV#O€d.nÕ(Flµ5Â‡ãÐ$?ŒE9ßã.xÑ—&;¡ F_”M]Ïf‡é|í<ß”öÝtéR—K$l"o+­M68½”ÇÚÆŽôC-ž•¤KÉÔ(ªqj¤ëÆŒ!ú;‹µªpq;vn“¦ßìOŒH,Í” ]N5÷v èí¦§ÁÒ‘‡§<ëè9ïÐvä{^¡• +žÕ•Þ^/ò! Òë„~)ŽÊ ÷ä‚áIjØø¡úSMC•r—øbžD ~¬z“Xâ´UóéÔ,J}XyMÅy–þ«ýP+õq +aHúògÓ9·|ãÙ'/H.NÁý7Š‚®˜ýëû#ÎuPn0ñÿ_ðãøgðtSd /¡ †1ËoÔã‰B¡&u +nÕVÀÌ OŽ“¢ÿïÓ]|‡±™UÕe³PÝðþ­ˆj¤EÜÓôr„Œ1RÞƒav/÷AC¥zgh³È§½’XnÇ[vþÑoëáðH'Ü…^oÛN¯8£ÊW1üíÈ8­Ù¶›÷|e`š]Z´rêà÷˜¨Ýâ¦i¨µI©e©·m¯¦r¾Lh¡žšÝÀ‹NcþešÆ€ ¬v~¨ñæ”ßeoò÷ÔãýŸó5¢+Åž¢ 8ˆ ¸¿]7"!Óšñ(;q–Ýoé9ãéúÞ(Û]U9LúÃNìT8N‰@íÕØ¿ “¸;¦©c²¹i ++Ó„±·¿æØ¡t_Þù¶ÖVÄ' §°] î†ël³óïû¦06H­Q{ ëúòÓÕMÚ(Тá3dœ¦u¿^áNS}ÞÕg÷ºb­$«—xH©£Ýô×v¾û‘A:B·¯7aóãJ+þSPB^iêËfΔWª`Oýa•ì”žcë¶Èu¹Cíÿ‚¿=4›|Èiõ¨¢|úƒûZ“…[Ái)ýSF{¥œ/GÚëÐI«â1®TF·A§»Pý“©•üxû2FkE÷§>ÐÞcæ¿&yÖÖoü²ýd\¯ˆv2ûÛÏ›²ðÙG§“„ËLOUË.JãXø‚”r‚9¯íš±™3üÖtêEiD`Ù~µ:“Ó ,ÇUýSFaýÐ4,Â.ê×~1%hð/õBW.cT–$b²{€jHëyŽ?šx¶ +Öžƒ®Ì[@ß(Ñô±Žþ˪£H-ÓªÃëXR‘ Ò½ˆv—ÿ²ö~H´Er‘œ®%#À)ß‹È<«NÝ…œ+úŒ½Ò}l·è¹°¨Hk©9dV÷ˆ½NÙ7×—2²hÔ`h"Î`§Çƒ.M=±~¹0ü_™—º4î®ëô ÄpµÇ~Ç_Nõ0ðj’¤ˆ¤@…R +>j þ¹¶«ÇVŸÝ"³¨¡ ÕnIÓ!W†À¦¿lg«°I;ØE˜ö€Ëà0nqM÷À2O:"&Ê“”ÌT<”ž-sråÂkæx‰òV²¡FöÌ•oà«6ÆŸÅùZM‡F·*C¯ô̲>Oà#Ë¿­šÖlÒÒï÷‘¬RÚÖ+ÁÏøMf£î³­WÔ†h4w$\h®ƒ®DöŠnÂ]:àc&¬ÓK@ë¡b©þ^Œæ„’z§&­?ÇÙ©šŒ#{3¨5yNÐ" t‘4ÔÖ”ýIËY±”llãìʳ>#'££(ÿXÜ&TvñÏ­/ýëpª¤&8íéòƒZ“m¶Œ¸ ’•”¬r7Wx@ÒÂ…Š*ûdQïª À¸ÿzÒ)23£šÆ[èÓ3YnT>aÜ(–B’@gÓß‹7·HÇ#YSøò¿ôEÅujªÑ¬’-š1I-$Ñ{©ý)¦5ƒê†é…%QAË× =|X ñû©yþü_Ù·=¾ŒÛÒ‡`/Gêôm¿ÿ¾Ë«ò)ò&³·¾±‰ Á§ÝþêZ…-.IM[Ш^{çJc0ûõðù£ùwòËÓ»œJ­L£Eá!…àX³…_Å%aØjr‘Ñ,¹$mF´„çìEÿá*ÇsBrœá`£•ÒA:…ß1œ~ó‚À°Ë²Ä"i®Þvÿ ä µc Üs J{ñ°hjàÆÓîÚâYG›I#Ýîð7TÆ­c8Ÿ¹EpIÑäÐüÀr?.O(Á|ÔMˆx­‘j&–½Ú$#™ÐT¹m7Bs Ð31ÊÊ«L³NKHò‚pKßûaúCh–¤äñK…­g ´h¢*^Ç4ŸöQÆG–Dcj¾Tñ•/ +•&oSò•ÏŽêÕ¦ú:EWí}†6Is »¹E•ši{Œd ³ã®"G ˆË‚¬!ÈÙõî;¢úS‡,¥ßy +€Ç*³+Q6ŽÙ¼øýŒ¿r±¾š¥jŠ¬ËˆòY’.DÑzž¹j=Ä6ŸÆAyÇtÉ„œ"jƒ×«XN­Op*In´}‡cxÍJuG¼“SMsê6šD c?‹ +œç,Š³ÿ¿€Ÿº×$~My!®mt£U»¿kmúÐcó-ºÀÜRѾéÔѸ¼œ2f<߸†ÞÎ0VÑu$Opq?¹4ÙuBoÐ&€a¸Ã™o[U |œº/ÿg VÞÏŽÙѬ¸unyK*k¢zAÍñ(íâÏž£0¤ jtMW¾ðb‰›Fœ6,$HæhÎ'‚ÊÅÅs» p&Ç*N¡wìQÉk +žö^”Žf§_] î|¿ÒZ$ê¾O×L"L#ÃØÿå/Ä£„ƒ_ÀAe‘^YVê`æ7QÃÿLý‹¿¨P/˜¡º“¶`F=õa;oI1µ*ÿd‰2À1†ÕwÎS'`¯©‚,42¼¥ºgá£Ó¾^¨–» ì®ì‰µŸlz™Ï_«agCΓ¢^Ëý„XdPkhÒZ— ÷" n>ÓƦ…ö‡;“i”Êëa> ³ZB4) ÏÙ~). Â+ÔmóA-ñ%D¬Äàý]˜Å„Hó~²Å5-­Å7ÖfÎÕäkè7ëhòIp‘lm&»> endobj 560 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 561 0 obj<>stream +Zs½¤½× A—æÈz˜Å<,c—KÀ©cçùì®åa}bŸM<È:®ÙdÄ ù-pc¼éÓRÿ€„HŒÊí œÓ¡Ú'áKØ RÚDú‹lMüÜĦ•% ' ˆç›‡­(}BUµvÙÚÑW&·0w*1Ô6R}¬º1¡Ã5NƯ}ºÖ}‡üà$.ú´j¥£ }—¼pÏǪnFÞ‚ÐHg ÚP~|»h^œñU/ظ»,¯îùˆ}PVˬ›uŽ$k„4á’š>•](ÃF|öÐj~4‘RT!õr˜V”$1;g&Ú³jDÝ6Íi7êÛ" j5t´ŠÓ¢†Úè2LŸÏ´[¡¡kú8ÎŽò-ª[~§[Â]ºTÍ¡Uj@épvClÁ=·BlWÏLb³-&ùUã·ö°9<JWQËŸ d©¼üÔ<¨J±–ÑVØi^8ó]F¾@êÆã%P¸ïÇ0[eU»Æµj)ýjÉþÉÝÃ"£Pb©äØ®þŽ+Õ\&7­Ò!Ѹñy?'tçTõ7–N1»%ØQŠÿ¬Ç¼¨a‹êûø-OÜV"( ‚Õ09%Ú¸óÄ5±r4‡zYŸ!š¥‚¦‹wË“—«¸Ï¡6 U_MsTVÒ²–ì§Y±•"†´Âô0r%®öökèƒÚLøÏ·q—jU§?R*ÛlZqcžtÁ4XÆ¡<¢pŸCw½ŽL °‚̤ºM¬ÙWµÌTZ­dý¡Â4mÚå\U–À§¬!ܵ£û'…ò”`Au‹¯È°‘ŒdTàƒµ”5Û®‡Œÿ³ß¨rÛñÎ$bÚóWCϨhÐöäx7g3œeëŠ=õ~ä7Ø+ŒŸiÞ$”´î&–¡¬ÇhÆJêÙ)éà´-M~ô"þléƒ"ªRÙpà™7]¶î67F/ý‚RF‹Z1¡*Á7Ý_ï +»NˆÉý¶Ô¡Ïp­ð&ÕСø`'»£¦˜iNÍ«/â=ýš„b +ÇžDyi…}÷,šûV{{tkM æ,ƒ•*Á³¢gÂðrûµä±äc4©oßË6ÓrF†S£ÆmÁ„„g*¨¡Eæ–oa?í·‹•Z§Ý\ „ª¤kYé,'¶=„Wh µV.Ás›—àO*ô  ôad7cŸ ÌË€úúŽ[ìoˆŒš²Å€Å¶ÞaëÃbÑŒ‚f ô]©4YÍdò5©‘<©˜Ô +;‰µ˜Å§:}7‘°z­9Ìxm*ͽâ!“v$õPÿœÀE†;âHöF¿Š¹´c›p~.Îg¦ë$†$QÈŽi‰ˆ®mnÉõÔ(\ªÂ»YLtÄÃ*‡fg"ìAìœÔ´À„—ørà ‚z6[­àûO¥¸aõ%‹ß·°Ð'»h)±ÜyP¾Ê¦£e}x—¨Ro¡ñC€;ìÖ|f9#F”Ò¬AâɬòrtÃXN@c’‰y{¥üÊ?pë$Rì=å ó?së³#~Éù­_Ä{sYaŸsªþê5ŽS¥50ÑC ˆu?9ÇÓÖŒ›?µz8ÒÇéúš‹ÌÓ†Ù¶sˉ8 +„·ß};ç ½¥ºüçY'ì¥".B‡Æ‚lk )}M–¥¨aT×—Od¥–²ÙHú„/õˆ*‰rü³ŒIm°çöë׃>Ä =œ\$þÐ"aXíî8,L!«hÙX¹{¤^àíDÿ¨è.+Ãå«L3qZ¡ýÖøkvf{tŸ¹~±£ \¨A˜d è×°æ\öíJQÞig@-7Œå/>»+ké½Ù=ž*U[¬‚P5—Ñæ@ ôóE¬UxáW¢_ùŸ=ƳzÈ„¥³€µ­‹©¥VM ­s=#6«Ñ㾘x‹†¿K+완£À~è?×E4G=#¬Á§²-‚= <‚ÝO?ãìc ëõ+XMÙÈùß‹'¨r¡¡ºŠÚŒáÅ×/3ì ¨ý"Ú0 ®¥Ä¼np=¹ék#^Ï@Fy2²hÉ 4`ä*"t}:Ðx·nÚ¢"‘äº6‰«;áS]å4‰)4 ˜« ¹Á$9Ь4ßûVš ΠY +=—a×°$èÞQ!+-Ýb9ÂÜBKýN³p¯ÉƼ -€nŸå”ûV©girïl³ +Á÷Â^¤ .Ì<€ãˆªhfúÛ†¸U„LÜ´xw¿¿0 ]š.&ñƘ‡d1’âUsˆ‚©o}1‹¼/á×(-‡×¼~¹Øo‘½ JËw2ê¶%TäŠ~¶=7®ù_á¹¾ ¥­=lá©%(e)4TåbÍî-ÀÊÚÔY|‰kÝ1[ bûç—ÓÚožc£ ’SV‰n1ÖÊ.1—ÅO,w]éÆõM> endobj 563 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 564 0 obj<>stream +ð ¯´Ò“¯™OœíSGî£;ÓêT•vñ×W®ëQš´_p¼¨,›Ú°Ð›ä¯GÜÒÉŒsD2b­þ&(5'æW“™ÈÇ-'¢íï´o£v¹Ó/ùUI#Õnfõ¦ás2P.ˆ-;“Å +¶ɱ¦W´”&)˜gºÜ|¾^>»¬hw7y<7ã/˜%ͺ ·‡)YI ¾Þ¼7þ†·Ëï{žˆýÝ•€¶3H>ŒýVHð?vêh è¡¿–O +ÒMBãÔÚ»'ð6¥1&èq·¥í>&ÌŠÙ?5hÀÍvšå±RäŽÿã™S/™«ì­=¾\–' ‘jádö¯mägoòšê- ÕÅEÏv€ø6!›Æ¶4^܆†n‘žx‰‚ÿZ¹´*öPn©6*¿åcìˆ $˜È°zjíir(èA» +ÓúV¨O‡|eÏ…¤¶ÖÌzQ€ËŸÚÀ˜=†iÒ¦m + Ð]N/³Œ§Ìú¿ÍÛ8_dûÍ Ž&0s}Ú£‹ =ÑBÇ/T=Ç·&äãöÊoY¡Q{°Ã’Ê“ÚÉ8†œeÙ¢*"ÁøÏþ >gVÕ<˜²ð'sÆ·%e‹‹i¥ö×”yAð ·š¥ YÜkÐd@¯q¯°BÏ4ç,ä©›¸†Û‚ýÕ²«Å]±2 PÌ ”l{¤T p¤?í¨(?¹€3*º’ø‘ä’Ã:·¤™>jFΖmÊûDpMh +s ð¢N)ØG¯«ú¯uý¹ìíÔâW'¾~…ÛÑGZ! î0q•¬1 6ô•F„j z=™{Ŭ›'xá×qËŪŒ-Ç=¾Tª“Ƭ=Å ++]>’ÍòÛ×’ŽÛNæu4_¸‰ ±#˜vWÜa$í%ÃÞljl –~ÈðÜ8µ$€±Z¤½ö + Ìþ;>r½ºâ~\×Ð ÛeÙ4ô×ê&bBÉÛ¡ÁÌwViö7³A¬ " ž‰¼Íx¡7gûÐÎ"§†‘@6$¥|Ê¢4^ËLŒMõˆüÒw)ÌO/>4÷ÜtŽ·^¥¬O.YOî:{QØÙ-þëLË@ŠâÍÁÞ§~ ¶7*ë\Oà¿Åš"Ž0÷Õn£˜þ°!¢±€± ͬ}x*hc\±'b¿w§l-ߌ+®†ÖÞl÷j[ŒTÍø—ÒCÕ¤’ïi5ϯI÷&Ï»Œy[¥þ2ê¶Ë÷»f¼B˜‹6Í ððu Ôî>°;‘lÚ/î:ÿ훲ÕÂÜܘ—Ÿ,)Ï[—¿`&.üt#uJ6#yŠvÀ’Zd°Å¢mŒW +Ù  ¢½cÞfÃ*nžŠ3.GKYÞ&D–»w…7g¤‡·¥AÿPéîý †ÉCø<[°(#òµ»ë°Šv7}eɦ.×ÉvĨÓ»B:—¿Çyó+»ˆê ×I¡%©eKxVÆEÍ‹$Nû–`…^ºÝKð¡!ÁìêÙTÎg`šéÝvÍbpš»æòµxË+ÊU)]Ñ”Åëö2\‘b;±ÌŠ/F Øêä8`Iÿi#– +f8&Ä#E›JHU&ïêTîAëÁ t±iÚ²t“·t`¹\¦Qÿï®Ð›‚ ¡“ý.FÔ¶íÆÿ]à’Êe\°SH`Û+«³zZãâÔE&¨ß>¬‡Ìü¨Ä5Ø_|R¢ÄßË!S䶞2oÛvÊ\')Cò±§´í[ò¾‚Y4e¾ÅH åÌЊµ>/¹æÏwl÷›û'å·9-²«Âm+q¦è#…~ˆ¿4DÄ…×l’ê«cRH²:h™V‰" â¼ô»K”Ž/7œ{”Ñ߇‚xñÆKÎèÆAk¹' Áû6G‹%R²“ìJ2öî:ÆäÖSFú“úµQ¿*¸=½WùÀñX¶»cCè͘¼j›Ç^dòôF/+*ø}±n²•ò¯”92"ü»7À©÷e2ŠSÙ$ÔM¿crbá„YÅQ{®-‰»O¹Ðo²:ZˆÈ­â¸U¬iìÕ(ˆ~×Èé›(.Æ™a·ò¥ï +S +§Ò“€ Gü'6x™äD/½Æ?Ù3®3o7@“i@8¾`Z¨R!~H!ïCj«|’*«zAÂòw¥WÏm ¡£¤¥ AP•ùüoZæ›`WA)qŽ‰¼¥Ÿ¿b ºBã=M[¸—‡þçBß’'w®9Ãáž8!]å$HŒŽc{Eè2‡TAÉÖ"$ A(ð >‡¯77óSj5&˜9þ;ÓuÞ4fÒÖµˆƒó@ñL¹F©ÿ'¡tç?¬Ù)èÇøÀÊú¿ÕðBßÿÉâ_ëf‰)ÓC‡½5º"Þ¦^/•8x|tÉ>*‹I‰«3xºü5–¤ë4ß}@äxZŸf ÇXJ£–ÊC—MX¢ Ó­ÈÇ>Ø¥f”ÓK¬ûd2Â?&Øgh óØ­- È¬vïCoƒù :ÓRÖË07ˇضù‘ܱ/|-ƒ?÷MRG6d;‰<å£!3Iò.s§N}m9lêK€ÌˆVWŸÒR5j¤ ãiT•®“ÕPWûĨ«ã(FxhkŸD¹$l‰Ë+eÛi3Åš¯""ƒT€3öÃÔœƒd´k C ñ ÔÄmïU@'#LèsšŠ²CØÙú èaû)²ý`kò¼.œV“^0Ù›nÖ•Ô…M/`Ær®ssö}Î “Ôïðr¥´_dôAáÑíß]‡‚QB³Iߔ喠½k¨4C&Âl~õöå4ê+€ù_IÝÊA§Uó|½(Õ‡é`ʱ!¿;.§g´§I1šìkd,ã7ÅIžÛ[¡2àfoÃËránßÏ=C5¶eìo·6*õ.ñV6à1Ô<îU êé´ŸšÌ"Yß±U­Œw^M‚]l +%ÒÜP +ò¯.Ga7$?…IV^!l#r¬†žæ¹mïs0V>D j¶È`"#æ\œÂd©K¼Õn~ZUþjÖ“Ý"ëgð¤ªüñ<ØéÑJ"¬9Ùç‡)ºXeÒô ‰U¨¼h(@À}á©"aèM¤DRæÒX®dóŽH„3ªY +¼÷d®Ÿ§é´Ñ‘?ïkoÿ¥(ݾR:`Å_@L…áßáöU‘Ÿ$ïlFbÌW®JS©æcŽ|êrþ ™I m)ZÜ)½!ýl·Ò‡ýËY,bà¬;¥_J¯bCüœ l¹y°Ë6i*xïh9Ä ”‚AH]õ_,úz/Mrüø:Â8–½ßSGL v‚¬{‡ÇÂ[g«­ñP¹2ü¤igÓ·5±aÛ>ÄU‹ÜÎ?6ØËÔ´oÕmm¯ziczEw0‚úÔójsþ~ÜñO +å¤ +¿ãSât2Y°kM´K¿"_èÚ9³É3ý|‘²ŒšeК5ËLï á–¶…¬T·æ",¸íD#['YG¦ -‹½àó[¹¯dG2ízý°½–Bò` P¹Q§ >šò=}G|"èåºå‡ñIøó.ÓéE[RNºß²8V¨o.J†¢%=öM#ƯHš¯WÉï¯ÚGÛ6¦Œò!çm50P¡†¥7õè`vñÚEÿw%†M„Úf",ÌÜÀ$EËéú©Rˆç.«Ôt(@ªÛ¿~ö¼~GüE¹á‹»]"ú…”`fG<ÀdØâ_á×ZMïÉ©ðMÝnI‹ÝŤI¥%J`‡¾O™µçù³³½>^JNZ_â£$ÂX³ëÐMê]aÒpÖ k5’ñöCVVÉ ¥_²CO„×dRÐUÇCû;Zrð›Re·A¯W¥Í<êXlwÑ1Zæ±^Gœ†nhTÅddìÀ1¶Gp©¤@h X‘eÒÎÕíŽÃÈ ¹^ÈÎ@à'"C*àß$kœ>Åi›u~ýŒrÑÏÅ5¨½÷h*°©qŽ;×o߸¦3=è!°¼ÒÉeL庯&®Ûž">E“'¡¨_ŽÁÿÆÚ&+±9à˜½Æ3¶¥¾©fƒyÑ#Û%¡g(Ž.B¥ Ä xûô’ÚvŠZÞ#},Ú|¨Iì§ÑˆWqŸL”Ÿ(jŠàw÷ÿjºò¸^ºÁËÞƒoб‘,F$¢M,ÀÃè?WO †¸nC!`ú)ÑF®ÑÆv‰g-fvU¹ByÙ1èíÉT.ïké“!õu ÌÈyIê­‹.Е#ˆ–„t0•×C8àŸ +endstream endobj 565 0 obj<> endobj 566 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 567 0 obj<>stream +} +XɱÍÿú  ÿ›ö/^×Ãè_¿AsR]±Sgró_‡0éÒÕ@²cµŒnðGcK|¸µKØlzôÄO³ßðo +á„Øûàîñ•¢"È1Q5³B:MI~5–ˆÒP½¡Ð‹¡ëLÈpûý_%!iéý¹ù]{)ùòèD•{È7W<»Êßßq[b»êÕ(gâ6ãƒÏxèõsD ‡#Vèo'»b‰œ-«ÆÄWÁÐ~Š¿0r¾G_ƒBŠJØSʈöÓâÊQé­ Óˆ»Ÿ<„Ž9Œ”Íû—ü3î+Éغ¬®¨ÜÁCÌäP‰öæO¾´¶,¦ßî\d_`ÇUl•¶$à³+Ͼ[Þ¨Eq 9yÌö¶VˆÔÕžJû ÀÕ¼±Ä"É•m¡Œ%ÛÜÓ{öÿ'BXËjðZDQâp•›XÒŽsu>ˆmËöeµ, +öˆva?»*${@¿Ô.ÜÓ|sßq ÌìÛ¼:äÒŠ(úô6âHëƒj,f¨¦°ÈâWÄa0fRw{‰ÒÒvR¸©°Mv•^dùíÀŠ˜Ø æxÁ±ñg|tHÅß@ ¦Û›Cì@T?éJÈC  êð³žSäÅÌ`¦‰6 ס;ç‡ ”²uf’Þ)$Ÿj9t[£ÖøŸ×çóŒ¨íw“¦Wš™È…HåðàFcñÙ8TûâÔOÄWpå¢ðÃX‘§OÈ>Xè%ÿÇ`²Â°m‹vPHú¦±ÒÒ‹úS_“Ph52—„¨e*ôÝ·WŠ&d´¾-ˆØSš~†#žWI.ú›lH˜ÞèSÛ÷Gn“_b =ŸsÒqÿ-v™Óå}ﻕΰXøÖJäÁ²œ%0\ÿöH‡0†ÍË‹÷Q…‚ïãȨLÿ–O"ñ÷ÅóƒJ¸£s³JI›³ó×`]¢›LŸÑQ’x=`N Óùí3Ó;å‘¡¿Ð?êÆs˜å•pI›ï†_àñ¡¸*÷I}ªí·˜ÀVk ¢n@¬Xë9&5{F™ä¢!TÐ௪.\r"æY¤Ÿë@À(M£ÅïÇŒ)4Ñ+<ÃZz†Ü]øº”'[K%êûÞ4Ü_îAÀ:-ìùI†mrmçMü²ôþE§ªãì.<{û›ÑAª +œBNV\—•R#Rø!zã”öß%¿ï4ˆ¯bÀ}b8­§nüm +Ÿ.@|¨Ó§Œs®¦ªí’âË’Ý8×÷ôÇ3<ôÆ̳’Èm™‘ï Eáî>jÁV°Áê‚Ê6~qU#™ÓÏrùžÒ~ƒñqù}{‡à¯âú’Këæ*¨¾r‚ +û ¶ÒËTÂcJ¯‚QÎÄïÎ)‹œ¸êý@;r([v]ZO”Ó´¨ê0FæAÆ=£1­u1f<'\mîfš¹ÿ³¸î¿÷ßkÙRh¯]ƒü©ä:ç*`±ÔA›½X£rÂãzV]ä`.¤õJޟ؃٠˜Ç.åFˆ,…DP)¤®ªÍ7ñë_ÛL +´k׌Sï¤}ÛIͨÂçí;pñ6Csë€3¹ WɦÑÊ#ÖV^\w¥¬ÊŠïêγ"RûÕw€T1Œ¸5µç«-=Z¶Ü…Ú´Û׉I`d‚Ö +½¦™Yººº-g(Z„ÍþÃJݳþ|õ]°žeÿK}¼TœrŠ°`ÝSãÔ*\é0nÌö]|{ _‹@õ *’¥ý~¢ôÀzhKà±åîˆ¿Ø 5)‹c·©‚Úòa l”q؆ÃFРg6[ ŒÅ¡&Àú3ÓÔT?,^?K·<<9f œ4èíÏÄzûù+|+µbàSZ¸$±ü‹Âl7¹5A}R…íiöˆ`(’¥ªZ¾34V˜Uˆæ˜ §ÁÔïÉ_Ûn!û3‚ +¨³†K +úÌÒ÷_ùʽÀ‚‘ô'PÌ–å?à,à m!*‹B¶È ñ$ìàVªò€.1A‘¸"ÐÈ’Ôµ:ŠYš÷몾B¹¾ÌbW4=ö³‰ùúZæ傶1f d_ugêrTw>úQ@Ÿ(¨›ªPL8­áä?.û­Ý^²ò ‰ÍËÊ@§êiexƒf'0ð(û|«XapXØè'”Ý?¸9 +h¼B[-æ:ë—;z¨dçcê…ý ý°Oèägw"ÒP륄{_½mƒ%÷`C} Œ'};íŒ5Ïñ¾Y)Å?}ž> ÚL¹üX}±×“”ÚÇ€X ƒ±{Ÿ¶›)[©X•7åMÁzé 6Êõ¸ƒï±]÷§?ÿe é*:‰ûy¹Y:ŠN/÷P¬l¨wP4¨ÝÆ©¼O#]3‘þ<Új¦®ö…p"Œ+ÁiAßB²ÇŒ.o“31ý³)ƒfÔj€4ðYBñè<ËDÑ8t{`/;=?‰Ñß*…Žš¨c w–RÌš5ès—œ´Ö—úŠñ64†1¤§ùH“x$ŽáÔ>6_î^­»Še°)å…íX°<Ž ÝÝr£6«t©Å|^•$ƒ Y«\®ëÛ³%í’y²‚ñ„±åîû‘™2žHÙ*Xân. ½\qYíž‘NÜïÛ¢7Á„“ãx@-ŒÝÅqv6”r¶ù)¦Ú]¯èiØy½U ^„¯yeL‡Ú‰}ß'@Ë Ý.DþîQwãì:Ô¬’-ã<èSœŒ”êÈ<­Ótu:Y(j_óZ‘˜ÂâÕ‰LKž­Ïþ×ïô)k*Lš÷“·à)‰ddÅüm­ÔÀ:”h+·0 ã2adSša‰¾W2:9¥Õ¨£—¥Ò”žWÔðÂ÷Üc¸?f›\•M]w±½6ÌIc%‹Õ‡Ò?T¿þM¸Ì¨91jÃÀyl†¬ØØÑiœ$|€fÒŸ¨®šŸë ¿h9¢Ô³Nû¸…n‹èyܨ<Ç0'Þ u¬ ±Š‰ÎæÀ¤¶FE5$/¶ùÎ$ M\³™“ü)I¬AH‘båöÑ’µø0Å¢„ ïܤP‚VÓé…‹N¯t2ú¶ælŸóÌ_)Ôö™Í€Ö+®ÓºԂȃÖt'XÈ'ï_×Ëoö¬DÓ š£InwYšBš•|P×TÉôâ3ßmw‘]5`‡ô@ý.Ôê‚nºÏ¤fgôj½Ya ­D˜ð~¸æ­õE’H\tÌ=X$¹Ý|‰S/~²Kè¿JÑl¥ÞhùÞÐØÉ©ŽÕ§%üX~]@1»ÙO"˜-£ ö~-Žº¬ýågA®Õ¶ £ï1íë­ý ûÊü¨¶gžØŒW=’Ù¯î|xZÛæ–ùh @.¢,³Ý±gËtµëb1HØÍO¤|ÅW1Ü9^ƒ8:"Fih^Ì5(4;õº °ïÖmÖÅKñ1Æ¢œm»¶èœ,Z±ËËŽÔÔÖžzù€WðI>f÷ŸJ¦¾Ê©º˜w¬ NÉ> +“‹ùq!ò5·º"×ö']èõî‘¢T~<‹†lˆijÛôxžá_CÝöŸR˜¶=U ‚¡ýÏŽ#õõýÌïMÁÜàhHÓÌ%ë0ŒÓRR€{ K[çã ó;¥ˆÒAg‰!%R°‡ba‚ssû¿HonQ©¶¿u§2ƒ_#gŸ›ŠºÕk«j§)tË +|ƤÙA€çÛ;vZ…lÕ %$ÿxL«ØV.&qÏ_õ«õ¾äÑ)îj;ð‰BjŒczeZåTßN›Ãn{kTÛ ’¨^êWÙB´‚5<·ß-BûB .þi4náëlì|(â#Õï¹+å¥õÁŠ×@À—á³ÍÏDrq½ÉRq‚eŒ‹æ\‡©òjSג☕nZøWçÆø<‚ë Æ—J–—òÉiŽÖªŽóJ«Ò'±¦mB2·‹.”“þšå.˜¼¸u÷põW gžL$[ƒÂ÷–™nú ácpOâ¢Ââ:™PÀÜmíóŠã·,€£6ý]¢øîÚùKê³GÌåJïTØ÷U Ö_CÇ$ÿ*5ï§Q§ +LÜÕÝ9ÅR#qƒâ$)‹Åü’á{ûdãß®.z@T¸uTÂ×Ü€>¢©ýϯøñëßÆ¥cÛi»lu+ì9¼¾ž°c/ŠÏl>.-F¬³,HD©û€(ì¡ ›¢\›êî fäv$ži7;,;Ö,+ÞRzQ–þxÔg<"·ñk7ËZ¿p®†{ô"ƺÁÇ0!Œ”ˆ@zàaÙÀ/ƒwCu^¤:+ör†ìOûÙ®Ð}û® +°¤?&©qÞœB[®sÃf«%ïÌ,lh[§Œâ¨8ÍóM³—pÑ,/áÏY5Àª«:ü‘_ÛMª²_—óÙùÞÈv °©œ‡Þx(É6¨4ñ[Äù'a¡K×=¢G™y#­Ï€ÊÉÙ½ñ|Xlð\œWà?ÒÃr<@€äù€t]À‘Ò¸’lš¼Åý–{[ +-¡åü9õW¯Àr +endstream endobj 568 0 obj<> endobj 569 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 570 0 obj<>stream +îK¥å y,h`þjSm÷ƒr±vX·"1+ +7ݧó¸™M$M×ßý¶€z7îâi8Q»Ð-é¦($D·6`¦ÄVõ£Ôða'”¾%WúÒAËqS¸ +Èyà~ÍØ®¹Â€C*ƒ·VúŠxc ÖHÉʤ$Ö\ º¬\”Å. b|¬ R¬'K뇇< ÎãÔáD5+áOk–Îcy5ÙvÐx‹6,å°OµŠý'~h¡¯íã{í«û)¶«¾+SƒÅÓéɇ½²Ú ¸úÑa  1YV®6Z¥;õ»j¾QÝ#sõ¤ËV¦4‰ŽQ:¿rɉ״ÝïåA˜¦Î¿×îïë^'ªˆ’ŽZó ¯0„Çä”)æ¥)²ºyè/áâ>K’F2o²­‰Å^´ßQ6# æ-©(!×*‹ô¡`g‚±[¹ÿmÒœ‚MÅxÍÖï’<1–™™Ô¹€a¿ÝäUçh U¥ ºHqfdÏ¿ÅÌ­YgÍRƳµ)#ÈñÛ] 3 ’ž¥ù `Ñ„àe°ÜøËgx&,QŽt¹rTb¢™ KÖç:@CUµpÍ#+•T|?š8âÚØŽÇV¬åjM#Š¤½×0+ +F^@MM;¥ˆõ©'“¸y7Ôpœ/œ¹êw.ß%G:kÔ‡áPž€fu#=+ШŒ9“k†™LŸ1Ù9’³Åû­i–Ðq¾'²“¦^«œª‰ÏOüü¸škÚF4š¦¥§ºâw“ó°§LT!÷è\ÿSyèñ>æ ÎdVûÐ×C€¥q¾“Èü°ê×9å°$_É~®á!¦šµ˜pd{0¾IÞ2ΘïuçÓØ¿€K;P‘€]Tâ*ŠUC¢»Ï7£XPáY÷R^K‡ï$ôÝí½*©\RR§íXa%ù“Ç=•Wù*v¸Íôùã÷uãêÝ$†C¦vñÁÅ1›q¨Þ"¹Hkå¯ l•8`ÍH B þO½•D g8UmnÇ%(&©:¥”˜áñ‚œøCx¶Åðõ”|ìV‚Gå5ä»Iw6ò³œ¡'vŸM—¥²k©^¹½¿ +,®ôuIØaÊ7ᓬŽðŒÙŒ +r Uü÷b&¾8™8ìè|ú7(‚ó Ö­fKBö[¯ÂŽ¹uóÜ% …ÀßØÏÅnt¹œ3½Ûht6  zÕâyŸ`$ ;L²ËࡼSÓ—ߒůÄÂ-¨£D2맑Ž°®K³,IÌ Ø£÷?D?G<Œ1ºä Äk3 ˆöëç*oCŸ¨{í¶¬î,M…ÙzA÷e¾ÒI +É>‚ÖÄv¸îh“¦êÁûàªjÚ¡ŽØxûZ*˜S“Â-øòZ>*Ș¼ o]þÙøöÌmƒ žš;Ï ¼ŠŽf-Géå™í8eà—aÄN›îv|›š÷lm…ÞÖÊîgŒFlK…§Ùô)þ㒓׆÷iâÐ7óÁÈÕ\šÍp9ü£>g§m†|§›}â8Îô§LâÏΟ£=¡>› m‹Ò5ÅœŒ9. ‚}͵ÒïŽ`FHÀª ®ˆž‘nìDcìiÇíkGãýÁy êxŠ(Iºó+.Mñ—c ô¨| [ŽsÞ%„™è2ã¹ÜÐá$Û²à›|†«™Üå£MJ™pʺóþ ®d¶.2†NX#$Ìh7‘2é`…¬¤Âëi ¿£€·•P<~lˆ¡²K¿äîv˜)Ê*¥ŒËŠ`)Ú wùn¤ÌtMrç’d0àÕj”å{\/3µw¸Tr‘äÔ³¿h ]¢ÌØÒ]j*ˆ¤xF!ú ßéf¥<Ëàˆ–¨^E‡üêëŠú $ì‚È?"?ißnéûý8Ÿ©Ì´9ÚphÐ_HdÊØqV£¯¯B4^åç ÄΟ¥¹¹ÄÊ‘“©: ,æ3ýQ ÇãÍWFÙc?D³§‰¦;ÏvÂÁ³š%¿e€=øŸ¬«§Ü%ò†Jâ±Úl~ð£z ²†Ë´fæ 1}8›Ð,ù˜ñCkÑ¿¯ÚÔŽíAß×*ÎM³qÞW‰Ìê­ÇË/iÿ!…º#AÖ²5Ç ÛŽè¹!R”ÑèæMÛ5óª&¢×÷¼R¥§¾“Òk´ÛÌi3‹Q¾[ +ˆukÂtlg«:GÐÚö …¯ïÅ]ÃÂÑE÷*x}ɽ”kɳ¯èì=ºü¬PÓØÔB,xŠ—K¦’ªjkÕ¼De±²ùCgÇåçEÙ€›“V¥—×­:&ú¤åÎ¥èç7"fl&ÛiÅ‘ÖnQ¨=kˆÁ<õó’”B_1ň’ȇNmxç·±äa"V¥ý±uÜ°ÄôéÃ=%`PD¾_÷+°†wª…?A¼²U\KKÁ[•ææ1òX{åˆ[±&›|¤ È“­×‰£—e:>,H!^Úfë›nÝŸÄ]”õXŒK~å7äÁ°%ÊK•Õ–²¬(þ5–|0ÍaÅí/`@)ú¤|ØÇSJ¿¶u{ð¯zd@U»èßòÐa ©_ÿ*†ôûhKÐ vÌ-¶U¹NC¦|rVÕ_7ÎK"‰Zzn«µ6×rÆúRÝ—,ßÓžÿ÷Iz~쳈 *>óÿÙ“CŒÎ°êY÷ µéLsy,9ÖÚG­…py.]ÖœH§Žoβ&_Z«ÿË]͜Նœß˜H?¦a§Ì¿Mº8Žs˜’%-rEÊد¯WA¡»RuBaóÏ,Ý©îÙ: ,SlÚôاôáÕã8_L]Ýc•)~‰‡{&ôc{o%ëÍn*øì£S“·•n\žèÀIÖÓVdødSCÛõ³¢ðVxŠÎ;êÅÞ1WBL_ýëò²ŽÉxnN;T¡L.ˆ\‹P(7ÎÃÕŽJ‘G† ¥=,Ú™PÀH Œ#x)¤ùP + 'zK +M9Ϙ¥ôŽaíÛÍØSÀ,†  òHÇ°XÉt|— å¼Þy ._ïÞc I•» .¨dÀä7Ñ0º1vìðvõAë ;ÑŠÌHVµA@8Ô÷`Ðù»ïôÍ&‘½³S˜‡l_²ÇäI!Ô/Eÿ×6ÈœªZd>r8N=åÉ)÷sK,Êf[=JùVk¨¢¶Ô¼&¹?æHmjº Ž­'ìÿÊP‘_ ƒ ‰Ÿf ™’Î^—š{ç/:R€3EzÜô †çï¢c ¦ Q-”&Må%7¨ºØ”æë@vj³„ùúÐ%nŒm`“À–<8Ã2ŽK›åS•gwz~ >d³ÿ/¡ƒý¡Aba²"K³>°4u- Ïj™ø{±’Ý{Š5¹,=áJmSþf”t§Ã@»®xZ´4ò'âáQ'á¶#@¶Jñ.k¡Ûé𙟓ºªŽdܵ߆8Â,ÏF ô,Âä±!În݈&÷çƤ‡‹·½§ê#–ËÊLÀ{¾Äh¨ší¨/…½{ ÔEL/AOj#‰¬¶#*…Õ1Ákd[¶x¦ßƒÔ Î|c5U=v_*“öKÀ‡–Ú ÒØ9_U¤™™AZ¼3aÉ)rêËš:¡¥ ªjˆNeZ (N¯¤K›Ê#ô‡ßà‰x^sêõÿ2«.~9ô}ðÉÚKE#2Ž¡V%h*äôCò×÷>b¤PW×zúM1ØÌ'4Ò>¨¯PP;[v‹¢gšƒœ¢âQš³ ’Ø*)±t8ú‡m4ªŽÞLºÕä¤ð´ +n5Â3J2ª6Lf¶§ÑkjVBF 8¡¯™ûP¿² ³ ;CcõÈÈüÙå¡ui‰í~ú +ÑÏè2 Ò¾,esz<-C‹ôh@WÈ=1YÖ8ƒ¸5”/AâyĪþ¨‹e*ÖlBè8t5‹¸R3_˜ZâðNÔ//ã’@[ur±XÔ¾¾‚V™øº=þ@OmÎèòÈt¾ý×Fõ#C¹( 0æ½,©æj#!›§Œ4X™@\yîÁX8#Å?È(z‹éBLÂ{ÿyöüb¦8Ú<—Ú/z™P]>g`”Ä-°Þ#½b›Aþf-ʧ›á6ähÞöñí"N{¹Ä†kŸÛÖƒT4xc­M3ƒËyCjH º›ãViØ‚Xi,  ÁâÝÕóúœ3…uKÙßsW À&«TÂXa(‹ÕÅçÅ*ã¾a‹1Ôáð"„wçÕ1peºMŸ £ÞeòˆÄumOÔƤ¼ â’À'«.!#žbXpµÑK°a|«íªÙÇè¨É9W•t$ËÛç_{‹…V“0þ¢û‰8§–Ê—wàQ¾icø²ùš&m|j®Q\dÆèDö[Ò‰RtÓßóÞï2ä±l–m5Jà|•ÖŽÈ?<ÚŽb¶/Ùhˆ¤-}£;êÏý²ã]2*åØbŒ~ü\ßÞ/}Ã]ßËÔÚ ¦c·à|D³%©,:LU[u@ðáI9j{‚.¯@T:õŠå›Ûûøÿ­¿@®@£‹WŽý´\F*¤€ö3€`©…e@‚K,K¤ftö¤¥FUkøŸWô±¸óêPÐNÕÀãî玒ââ™ÇAHÓ¤Oñi8=tÛL+¢`ŧÕaé™o៼f 8,T\þ¯ÍÍz0AÊ¡¦‚Ž*åAí”ÁŽô€;m£)Ý6õ “–—b¾ õhï@ù£JêK+4&Eî?#X¢~´u& ûTqŒÖÍHtì‘5/üËzóÖÞzhÜ_ â‰ù?ÄÀ$NËC Hš¿†4ZŒO,Íó¼Y3Bœñ]41Qÿ¯Ô +Pf²×rŸ¤‡­ +ºúТ ~•Jõ)˜yô–Ç¡u:t÷zQüiäY¢pžt°5ëj£!ƒä/¥þi=Õ*ˆØŸÃ"©,NTl¦íhžk…˜žBûo¹v¥mÝ#[lœÿÄÞ×!\Gk×®Oè?b‘î’·´äÌζöFAt0 ³ßö¢=9ïµïpf¹×©ô +9ï…%*3œØŒ’½ òš`÷6ÍÁ‘¶¾2¶u%òÕhKCnÚôеPß çDÀÒÌ×(˜=„¶-PXm(-¨ +x†?cuZYkáWý™ïyóà„˜uåHǶ®ƒH<üŸ8h<¦cšÅÓ›ÈhÝûÕ¿)ù^…ƒ¸U¾#®”ÛÎÑÒ©åö¾šKGG·Ù¬2Si¹µü <LEF˜ +l†sä 8+³äÅ8v2¤ÿ¯¥›­8œmÂV…h{/ R)”Rz´èÔMXÇ9Cö˜Qaê¢Âó R\ NÚí +endstream endobj 571 0 obj<> endobj 572 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 573 0 obj<>stream +›L9Œ €´'¼îòµYdDÙ‡`k#o%ªÄjß‹8£œŽPRÁ>}f;¬Hn4£+ %Hþ)(|õù±4>Ûz¿žk´º5ÉUŬˆ²|Ðù ¢’í¼*F´å«oM‡=I£¼\in»h ÖBŸ£`›«°&£ï{ŠÚ+;?l^$§dÎG±P~Ø4§9d°ÙEÖrøy"ãÝMFýµåGèfÀ¼^Ž”Éúòzñ¼@QÌÒ>¡âT_tBiN¶<œMŠ{€„ß«¯øÞ'YV=£È—EÅ:ŸË‰ç¡‹©±¯Š¾Ý°!a…Ë 2¾vNJკj~Y‚5…ä/3θ"n”pÉpÇöÞØ9õˆV¼ú3eW‚®Î…>UÜf† âL9ÚûY´“¤/1}!tãd—šEÔË÷Y‚,þñ”8:pj~9L‚8ŸyB4¾ˆ2“OÆͤÀ ^á.ÈÝ1ÔNÉ +b UØoRvÀiÔ8 ˆêk¦‚åùN];CSs}ƒ[‰®{ʈ¼Ã¥]¡m}“{8m :UÓªßaYO½‚ú(L÷I­’{h¯öÄ–ÚØÁ·–©Àb…%ÛÏŸ5nÚ#êû>¿Jö>þ6ÿtB—Ž9|ØÚ6“»²ôϨþCqlõ6-„Ê> äj8@f)ãE+2ÞZˆoXÌR›ñ<ÊêæÁÆšâoôy „1¡?ä¹×­’ ­~íºmi3œ™@í]ü¸2'{b©ÏSÍÚ¢WÕ›rìîïu)ŠÆ¦ò4bYFî?¹Å›Øš¸Ub½³ý2”yœâ'æJ˜/ôDþ6gQqÔ(:~Uf´óÖ§ðÍö·çoFçPÏ0ÒÿJVATÌÉ!>/諸ÏyÚ¹%‹`¨È‡ÕTnõÓJb?¢büÏ\P>×’ÚnŒôUƶ–J.-äñšz-œdH&¯‹‹¶µ›.sò-dfü—µr±r +#ߌãèÖÛ1 +·J±³,Û»AyýÉ͈8w©o)j¨x»ð„ŠX»àÀeÀ˜*ýf Îä–3¯Ç‡sd©ùÖÏ^û˜´ÊÚÇÁó6Yíø¢Å ‹ØÇ#¨{EøËåQ„9E…轪 †Æ›Z«6l™1CÝ?8ýåœ<Ý +›çß©ãHmâ¯ä?ÏáCF„ d‰íB7ë\0ž*ë/rnIÕ œHN$^6Š\Ö?m®0XËú/{ˆÜkÚ|\€¥—ïÒðágÅàG±Q´£Kußr/5LTNu·€Ñ+ɯÜßî_µÙÈ n”ïA”b °UíÞŒD1ñU“YΧo²y£ðdË)§7Ðï +Yö=ÿKy7T3ôX‚¼]uL½!_WN]¦Í€ä£µˆ|ÄltTÍ¢•™q†EwÒšûì²Ô˜ü5ì( +Úl›UƒOX^¿Ö3ÞyiVd=“÷z™†vÎ3{"âÝ™ú¹C-QàÐ +>†Áã‚Rœá|yk^„Ób +·ÿ[Å©Q·m— p±pJâÝÊ“ x§àŃÔÚ¸k6 è'Õ{[‡§”#,™v»â[ÁVp”¤(Œ‘ ÓêbY%ÞòÙÐ$ ]–ò\z!â¦ß±åP +P>Í`\¹ÒÄÐåÐäÙdG +ŽPóε§Â…\kªTeV–‰ŸS0 + +ºüOû ÏSé¦\ÿüDå¯ÀÜ؆.Ô˧Š&ŽNUB ˜Ðà@Ï°Ìà&wm‘ŽB;qÇì„™xÜ8)=¬”'µwP^*˜o\7èÙ†œñ „rÛûø¾:j㞆½ìbüjyú•+|}ê¯"S¯fCÔÍ©'{ÓÄÜâú¾ +«4² +BWßí®] ›^ÎGqsa¬Z\Ëz+}¸ëÒÔæ¼#ŠHªz• v +8³ÉÕçÚÉ~ ñJ7î¤Îw;½5®óÏ1ÒéþÃqkä׆_=õ-4w~85¨Ø)ÎÚä…°ˆfÌøZr´Hq~µè†ƒa«ƒE…o¸ÿ¾íÒ|s`ºÃÐý+sûäaérè@/Kå{Ô¢–d “9ÇøJ·ËëQ í¬lZ÷ƒ0±Ò¢öþîW+˜5_¸v¿¡ÈÍ•¾“âS¥€NuwX§@Kf;úø3/…fÉuÁ@SG!V¸½IéqÑ#΃]%ûR ªÛ»àâ÷دî0¬ú¹÷Ösý”Íù4é³´â¯MïÓº'Ö;@u_\ ^”,²*K0/†ä†1-=Uz sôq½%+ÒåV„b™ˆB$Q.êjûJÌ7«Õk¬ËQAu{ß6#²b¯V³dÛÓÎÓà›;É„·mÌ"œÑ»¹%]Ü5„óš]ú·\„ÌÔú»æ?&Ö žMåED‚ßž¦ÈNz=v}áÜ5Ú³–0ùEÿ#>™Ž ­ÏW¥Gœ–ë‡Á@3ßP›‘LæJj”÷c¯Ë¹(¶w®óOU7¶‰j\[+ò¬âˆœá2Ћ3øW´Zì âÎmrôj_Çšßñe„ÿ¡7(ÉæÏþ˜F¯|›8ž&E +‹c(,—IÊ +"®«ºß· úŸð+«‡ju·þ-x*ìÓj,áÅ-Ë}üÆË:tõiZ_¿u¦ýCYíÓLšP0¬S¤Œº>l4¯V”ý²ˆè“>ÌeZŒ®¢*‹ÄV DŽ®Ýhù§yŠÿ5²†ÜùÝÓm¢j +b`Åô:òÔÌ/ç®ÑT +nOÑ3è‡~ùIð„U=€l„ik9›ù¢Eèd3½ ïá5õ$ÿà¯Ã0P¥½×ìÝ/ѽœ±³øé³£‘yä-Q¸Z! +âui,Ѭà†ÍË¡–Ñ5Ÿ%)¡CTÓ6® î®r‘.Ä…r xÓ'®sQß<É5)<Û&ÎW<åËö”G[ `Æm£ª_Ùʽ`€¯ ï¦o‘®íQsöf\íX<Šh”ÐY·üÆœ'ARŽžgpÑYøq0—pÒ5Õåþ†3±Y›UpKðvTÅŒàv¯âÈä +žYjÅ[êà}*Ú¨ÍäMÅ!ÒZ* k¿¥¨Ú~Ïæ¨à68+¨Ü4ú ,qîîÞóT‡°<û‘„,Òã”Èðìº2æÙŽåNž7ŠKMñsxp"ØgA¤ÄØ_± <9"ÊÀ™Yn…†vW:½#WO Îª¬fÁÑÉÎ+\YªŒ.1 ºÔî0Fôu&|ùÇb©HËö·˜Ÿ ó“°/óÎò!Ú6UIø÷í…‘.±­müÛ¯}‡JÑ'_Àj¥cî2d3yØ`6dù«VŸ³l˜Þá–Äò±õùa‘; ;'!gûbÊo[¤àê –~€ç\o;ƒÏÞضӋËù à“•WèÀ¿&è·3£Qôòánñ—Ú|6¨îi=V:û%Zñ³óTa5Ü'y¡ÒsŠ9~į†:€e Üt ñ™a&»î%i‘%’„OÚǶ@©6ªI¹îooa"„V% ¨–lG·.V…¡÷ÍDC0ä…¨iZ¢­$P<ûr”çiÂQ,1Q\Wá·7½<`硦hÊ{lsbb]’É…÷„ÇJ€™.Ë)Y;ˆ+îÖýÑ~çÇÖò€öÉ9’[FÜÔ™à1YDèF"ãܞ픢lóûý†ÁØuï%sÆáTßtE¿nžëù£÷ç“ýk`µ ú‘{/SìÚ!^ZÄ‘«Ê¦$TþýV®–I'2ô¹·ùô|xŠ¦J­.L{LÍKwoÈ3.T¾¬6a¤‡&¿fµm›ù¬¿×µË ü™þŽòIi1»ƒ?^Ké}©ˆÏÒ(\ObNÏ`šéÓ¡/]%'OeüƳüÍ{ pô‡ùÀû tb4'±T ÙK³únæµúÉtŠ8:5H¬EÛzVîØb×tFÃÛüÞ ´Â|À…?`JôIâš_áÞÛpg@Cþ&•Ü,J\QöÊÌÑu×P¡8’43õ7k…YÍ`ÊN»Œ@ödÄOjÜ ¸$5þqð‹lKä:ð%&_A-•åÙÆjôU¬ÁŒÐðq5¿_ +´žIØÁáêšCÜõé•UáºyÝ×ùôºÕJ!X'?ŸQÃÕþN ¡Î.AˆÛ€”=’À$–ÜĽ<Û©òëÿ4¡6—CuÆÜöTëÿ Œ[Q#€ìdÑ×3Š?)+Fúµâ+òÜïc;'¡£‘.±g~بoû}þuõyr²·ÔóŨ"t¥!Ëžzu;X€eå¯\±Í?²þ2&Ó±å¸S`œß³HXéWìnïÝ]6”ðB?êdéN·ÂwvXïî:¯oXß›0[óO‹ç|ld"Kc*x:›óÀdÄñ…¥ë5z<ûºçg#2Œ’P"p7+ßó-éZ *‚ ŽBÀã%'Œ))o|Û´5_Ê?‡¦×9étv6ÁZ Äe´òo8ŸpOãW5Ц4ôTàâœòª#•r—.žu…/8U î,(ÿ±}׉aaF“w™Zž8‡†ƒ7ê“ËÄ6t¥D¢Ä( +>Õ£n4yx⿦¯`±aãÑñ(xÀºZ‰úÄ^oC€E5Òa¯Í”âk­KLî¶zNÄV¡‚Êã\wøAbáÅ„p`ž“®¤žZÇ‘‘ÍØÀQ¹¬qÖÌjÝÛñvØê/™ ¢l1ÑÀŽ‰–ß÷?ÂMdÌ*€ˆ„ŽÅ§Ù/º»=ù±Ì¬à-„¦äÀïiïE ah:Ü”6jf1Îr˜Ó]{ŸYïêNõå<ñ?œkºßk=ãAÛõ¬i¡æ¸ªêÝàÛ4"2¥)óöɺÞÝ*ÄX¡ÚW>r÷G¼½Ø;ÏŠ*0¹iVˆÃUõ³–{ÈÏ^ëü—]5¿fȾ܎ՌF‹ëQ q2×KkØœ„)B‚Úqr +]þÙÆ©ÀVéb·Œ|L-µöÌK°$ëikoª‘ÖË¢ßb'ˆå¹‚GÖðü‡JÁg™‡û“b¸’Ô8É…|ðR6áQv|ê®í¦ÍèÀ^–y°{/>C­ «ìäòbí C´W£ ˆ³kØ7Å™­žáü£ž|Å\渚;­7ÏÀ#Óº‰¡–Æ>èÄ/舎¯! Ș1"+ ò3Kú׎*º „9¤hp(ÿ®åÞNÌñû5I¤Uf¤4†Qy‹r‹i&P ϯˆ£W*ž8rú’p`—l°x¸¾¾D+‹ô‡NB~üî+Ï6Yj"]›>\  ø<ã¬/ »6ñ¿/i ‡ð»ù!UfhCwèÆ•¬}p4v®‹ ”¡úó†™"yÞ Š{GDð{¬ÞÔŒHš°×À­xéðg?–vÿܶ¶ÃËf”®ìÞ¼P¾¡¦–r9=»\•Èüg© +endstream endobj 574 0 obj<> endobj 575 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 576 0 obj<>stream +ê³’V‚2sl€¶gQ< ¥FOõo{7o4áŽmÒõ¡m[*:z'^§æB2zº—å&÷~’Ô·ì° +ˆF¡¹n-ÄÖj½äe<«›¡^î•®å~ + +²”‚§¿§³’ƒ{È›¸;&A‚ÌË#œ™Qå[ˆ-ü)Ñ0Bù™ÉqŒcf™eíäÊô'í›bñk›B Õ†w’WTOt8œƒˆ½—ɆHýÞÊï¾ ªŽ,¶·õã=°{ í×ÿ·–ZT×ë°ëì…h< 1QýaÃŽã…õ䥤ƛëR¸=µ¥_Œ·jIÍ*ìYÕmäMÈ·Å©N/iµ qú^ƒÐáçGhhl4¸Âþ,#ÎH.Ê↕ Sá¥oñWøŒ^Þ€i†êÄ”"NðÐéŸÀ8?¨ñhE%›Ä€ß…uÞÍBÍ+­á›ºLºØðîÊc÷2ÎI÷ Ú&ß3Îˬˆ:ý|Ù*W.Ãð<Ø9X¸`Uvzåé\.þó^ÓÂ%Ý<M¯Š~õ`OIöNÎ6%¹ß´g ¦ÎŒâ“UŽP}”õ=ÜPdtE›Ø‡¶‘ƒÁkÑRü͆I˜¡¡…*¸.uD$T£åióŠŒ÷,=3áÙ’Ú¸ÖÀ´NA.â6FS1xt4“[ǽÜÄÔÄKÓhé*ÌÕSè2øR*ñþ¶*œ~ø¤£G˜Øº†H)BˤY–lPM'´éþ®òrx+¹DZ}77Ÿ‹2ìµ½¡F1ò7Õ1§hœ‚-L“÷^ÁÉZK„u*­yI rúÈÕëLça `Ôiz“ Ä«Iù(+Šó×%mb˜>&VO†œ§$ªÅW_Ç›X‹¹²CTãzüîI¿ð<{ŒºÕýÂY½æS]®ìظÚ}©´öË-"T~Ê¢Õ´ovúæK¸ä.Øÿi?,óõOÞVѨaÓgËm5ð~VÁQ,ò®{{dC™”Š Q&¨¹ÿR~˜g‘ÆCÁi,;eƒt±ü•kÔµ9Yì¥éå-*´9¡ªs€3-aà\ .!]–—_'.÷ž3‡%Ó;£¢£&E­˜ I3°« øøþ>=Ò<'|tbÀŸ™É+ÖUWÇ©*31ŸÈF’üwJ…÷ä=6ÃLI†æ™M;qRˆ\&ˆV¬< +Ϙ³£‡iEÓ,FÔÄ÷W‚•©Î'ë‘+kJ®cÖ)c¥À‡ÇêùWµÜt¦ü"k»øq¬,ÜáÿYþ„ƒ©Ž/ãÁÕkÊh0‡] æÑ´‰ÿv­TÜ_6ð„ÂÒ%gcÝxwk§B¯ǵ§ã`<§}^†¾}Æ1µÛafuç’˜Ãî¨Øx‡UòNÿtÜiSm/³ù €“ÑmK >àN^”Ä°!©ê@ëµtâDÅÎAÝOe&þŒ~Ó,VAªžFt»Xv_‚ è4T¿,@ vsLðí-…<•h'¥i¢€QûضQIrÜÀŠåüŸ"9Ð,‰ï>‹Î4¤5…çh×ê¥ÓÊvÑ; +½¸ÊÛ–9K +¹V[†Û€ÿƒÉ9 `ýuiá±5ïiSÚ¯÷¹À ·–÷»}ð[#™»ÚÉ4D‰>‹–P ÕZìÕKRHG†fŽ²Jr\fxRCì—‘lazœ[ÎP"§ô±ìÓXl o5!mH"]!Iç–´Ûk-X1öÙ~ýsZýoE­§ÉûáÐîe…lEÍ9gWÝÐ8UJÄÑ·Óp{†òg±¹õoµÓ…î{à(tWÿY2-–Éù¢_›±çåbCÇþå^OÐCûÀÞvº³[Ûaí„^òAáÁÅq«®ToJãô§nH¸RŠ"ÿ¥}õýÜ©7 tˆE¨ïg!£rœ“…™#w(•eÙxéza¥è£Dð•Ì|e(&¾_4Ík=î°ìz¥¬òÿj‹;«ÖÂø°± ªlú+|iÜå3êè*†Ãçò;12ŒZ-urhz{¸HÒnNcA80ߣ‚ñÞÖ®Š{­9]áféÊ7#G!ûj7ÙÔ²Ctz‚®jÚ~bÙN'-îa+Ô·-‹ÑÉXUôôAF¯œÂ«¦gŒ‹]‡œ°£Àšá¼cr)Ýt NaD£'Yð€êbC”œÆí™òß¿ˆ~‰.Q£Rót[‰z€zŠ«Ϩ*~ïÒJ³™Œ–¤¬Ï϶„|ð`B/œÕn@§E„ÐÞëÑ1^ñ†ìÖ‰ëÖr-­<Ô.žÔE&D¡3‡Cri%±øüÜSpá» W‚vŠBÌÀ£õìã$œœæ_­ûX!ോ¿3+c;¹‘å +hÆ[T±¨v*ó_¯b± Yx”ŠEC{ñzÕˆ"0ØÉzï> WR,3éÿèÖã›FÒ¿øÑúAä,‰|(—YWïŒ4‡.ÔžÊÑ>fGž‚ÝœQ[ÈraGéfFïÿ…ºžˆæ#Y”„Ç©<1ç*Wô?†Xq7õÿW;/ÿö{ nÔÞµ< ÅÄ´Píã‚{\ÊÚGsw½ +Œ?]uär ´(¢ÙöÄϿԻʟxB¬úVüA¡ÝeÙÚÒ¾P^ñGÓœo§ZÅPÏ ¼2ƒÚ‡Ö(”~>tøso†а!æh +žY>Î@+ŽofÂ+”‘è1f4Á +bnÕuÚ`6ÕÝö·ƒg­ù|yX´ýÚê…)òDê_a¤£ÌÉÉÇ­6Ú¨U[o¬Ê±œ:,kkÇlð4”÷‰ú†rï"3Ⱦƒ¾ +ީرûnSO}D¤Ëü+dPä:ôìm³£AÓ‰ÙØK!S^3²”<Æ™ñ¤£‚Î@ !‚»EfîÀycX“Ô„©ò¤MÔ‘tØij‚L[LBJÒKUÛ£° ©Æ?z½áké'rlU5 ’™úQðè~iÐÒµFó«5ÂsÔ:®êâQÄà»5hê4)(ï»ÓµH$«À.œ1킈û› H01 ¹°P&qïÿêÞÇ[½OJqžŽŽÇ‰¯1_$@@/›¾)ÝɖϬ›o[ÀRTM†kßæ>õÒ‹8ù³ŠN‡ÌÄx½´Pai¥iÿÚTdß³~…AE4ëë\³J"ñ¹ný@q«D/Þ;ú)Ç­\ÿç×ËçU~½G€v¶TZÝщ•Ï®•È-mà²MÝOK;-=‰#óç“x¯ˆ¸š¸ F¾ú­(ÂÃ@V@0 óþ>¹ÊT RiämèVþC"±ð•nžæF˜½Å;]q±z•$ôAÖI: 9²ó‰î)_ùŠÑ*´–×ñtGpø»¨1®uJBzÊ2ü€&EÊ°êüçÃL=$M4œçý¾Å¬8\àGSù§ž«ryì0J¢Ã³ìíÙ,wGé¾Ëm^ÅtŠ¡a…UŠ¼<±(þNý‰@°ÛÙîk‡d=4±#-äãp¹Ý¿y§™®‚…ÒóØOSI€(9–ì»ùÛ2Æâ=»XáˆKñãj`½hÑë½'¿#j„EO29ef‚V¦ ·!,vFé–ŒdDÍvZ¡ƒŸO<žû8$äæ:X8¨EÌ]îDüŒ^ò¦Zθ«$ìNYˆ"=ÖNBYt ãyUÕÏÀ››—EOܶÚt‘ñÐÝþkÜ®›Þƒ§8FÝþåŒ77ûÃþŠ¾OlNê=™ì]Q&Ê©’C¶$·¶•@m,H{„¾Í$cxæµFtÛw¨’ðòb/ãd¼g¢¬ aߤCs…Ô=ªHŒzŒ¾íw°óšw’˜³Š®e[G„×V苃”üúL2‰ l‘VÜ;á>Qöª-ñî¾ÀëW[¥Ù7öáÆf©«>¡u˜óRÈNßÊLä’A6°XMçÁ†1úƒh|™X@rUÈ¿Ö©~ÿ;·öp†¥¨),zx›yŽÛã'™Âã‰B6nú¼’—<ÉãC›×Ý.¤¢BbgÚ¦Óˆ(i^‡›ÔéNF å®#¶ ø›ÀÇY7«F¦à Án2(…‹ñäŽÉ-> endobj 578 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 579 0 obj<>stream +}öVZ­÷mp(,çñ ºTƒ#¿»ë™Ì˜5NÅõþ=COˆêú“9þH`¯+©=48¤(â–k¹“û¥†vÁã©cŒO#åÖ>NAè/³»?i=Yƒ; ûnuIæ–iÕäF†ð·ÈœüâN”›&q\\ÓmLË Öò}¾§=!>U‚aà·„ ´«Ç™¶‹4 ìfu#~'ä~Šq0‡Wy¼„ w<χú¼± ©A÷ع9(ÕwT[²àù‚•kbo-í„€N1ܾ30ôÝ/ÂJc\sÚÜJ'®÷ƒNúWKs§êùfŒpVa§¬¸¹ÂY&»”ãÏ%¡N¿iöE´Ih]ùKt¶f“Ÿ‹´Ølªì–ôýbH "tPD¹>,HkfÃZNw_Ë(_ÿ‰õšh“¢óo­#‡y‰ÛW\Æ×[×¼8¦H¤¢õ„nL>Ž- š$<“º,CEl—¡re¼çTt4Z…$½˜^^öF­O6<ë­ªé¬/5ÂxÆ؆Œ^&†ŒRýaeV]Xé¶Yy;ïG¥dx¸ñ¿ëõ{Lœx…Ö·Šôšrüš¼‘®1¯²Ï0æ°º:{(»Ó ï™Zí„’^ó3Ëî&O7zŸ%7íè7€ +ŽŠû¥mݨš‚!ý%[¤é•ƒš%(vï¿vé?Hê«œû›y^£ÉµgP¬õ$o=È-Ñö«ê~‚èõ¢òà¯Ên¼¬4i±ˆsÄë Œ¦I ÏÓ4Ô-2‚ßjÜ‘S›â”ô”dHæˆÑ(‚‹ßctݼ*ÙVˆBâ]Ô(ºÁŒùl'šâ``íú³dtº,.ïM‘vAf/ªœN»ç©€=µâŠ~˜ ;€&Œ'ü`$iÔîW’eØú±Ÿ¾-EV6qŸ0ÄŠAV^ò—è%Fv9\“븢ȞØUþ×fšPuJÖÊ°ãénTo8:ü­õaáÚ¹¿õ%ML³ü9n³±àžs¶˜Ÿ·ˆãö³"ñ¹@˜†±±:õÊ$S(ê“.¢{Ÿ*d—É>ö¼Í1ìÊ%¿­;*Àƒ>|â,ôs¼¼<;ZËZ«Ã*©/é™î«Nü»o˜rÏÖ¯ÀÁÈLM›Ï29„DÃç”O ªN ªˆTËYèèÓáHÜK¦žjo ü Ö±u ®2´Ø)"l½?fÊ…ecq¿_ASr&Jƒ<ñ¬‚¯ô*ÙQ¼¢!ˆLô½CÍ%¦òòy·q¼°½ès(†4µÐÐ|¤ +s"˜ä¤Žh–x.}|©˜‡Ê×÷Z6ÝÖVyñ&‹Z’ +;„ë÷™w*:[ÀÔQ¤ZS?_A—1õ'–Ð<°·œs,„+ÌÂJÄåù f#© Üko +H‡¾©ÒÔÍÚþ¿'TS { +0·ªÂÓø‘·"v¯¬ýÍ~¤°+RBí—ÀåÍâ Sª/‰Ì"Ù ?v«Ð +óìïªöOs—€5@ÊNßE•‡® +‘È뎃„uÅÒN\²‘úµ[ü ‚ë–£ºïž/—çЖÃÓ+OT³ÚÈ>§Ï¼‹&+ÃLÚTŒ’©ðçaAÑÿ"Lié¨:vÜƽ Þ€Ml—‰ +2%v>¯ª¨Áa†–¾Ó"ÚF(÷qø°Ö\Àõ+“lwd§~ [ßÔ¹4…V/LÒáKrÑw,˜¡ÿ>­i?°_Ef3µ^ÕÄ&ê­" NE.‡º½,îÇþ¸±nÝžmã$Ú†ä #”f~˜¯^ÊgÜßÏñ\ÏÉý7ykϨ™jä«Ø…Ïœú7D@|6BÊ ©ä+€hë]—„2\d¸ôÁŸiퟯ;8}!h†Q±Þ‹ïæOà³?¤ðh$’ÁÞÜ ¸@—Ä­?ýdxJ[§P×S(;$ÌAnÝÓ¯')Û#ê¹0|ôô’{üÞ])“µB—f©j°pºùyØŸu¥ƒÚMa‹{¯bL†bᕧMðq”ÖT!ŸujBÜ’7bL|¨—)“éüƒgHÝÇJuΦßvåâ¾h@¡¾¯aD·%Ä%¶ô˜£=e:Aþ9%®vTŒÔ™uúõBô3C=›LÈH 8XsCÃFæ¦Û=ÔwàpÏàeˆ.Ø|É굓·e­©?Z„„köi¸?“_t„ð,xo2–ï +?¨N2’s×£ƒÓàÛÏŽT„¤·?$¥B@ž±,*?»+º§lá»÷¤¥ÙmG¼Z2ç#3XcxõœPI +.Y8wïåÜZ›¦–™â¡{Þ­x+z˜ïï¶<°oS +%ÆJˆ5_½Ð¨%v ú‰<,«-¦ð‘° 5ÖÚCD¶VßÊøÿúj²×YG#ÃüûDÕs©ÎPnŠ„\1Äçï™À-7ù9LVÏ“5 +phŽ4$á42s0_µG“Ý +Öö–Oœ,™ó‰µÒËz7y +;\ ²-ßf«Úÿ´3ÅCäu´>דԷ»Ý¨þâÑjÉ°ƒwÃpºdHqhÔÕóU¾íV©{MG°ßú,åìI >[Y°wÍgg ‚x•˜_Œƒ¹n‰ÚTŠµ}å^/¥{\â—°vÑû$§73J¿ùÛ²ÚCX<­HT€rˆ[û£EܘZ »"“–ž;ÆMaM±±ì—âc×E†ir®Ê/XÊÝ»|&´¼UƒdÓ¢c. +: 4ºoÑZæ2Y-ùÊ[1 ZÈjk‰õ)Ðb’B—Sm †ëÄN?±‰”|ò¦»Ûö©Mk3+p{2–Íê$ð¿Tá *–õ…YÞ8dÙFàbo¹pë~ÂM¤ç +|á†í’-MGÆCÀLÇŸÕj•ò¨Šd ‰;Þ +Š&«ž¢Š“»i)åD«ˆtÏÇÔ-wÚ‚ ¶T[:tkD`Ì¥iBÜÑGHOG»©\&ž9ô[êI„€ö(9œ !>rE\Ö;õ>劇7^dÝvn~„ˆp[Q4–ç/ßÆØÃîIÿ[ÈyËÛc“¡Y_Ùo[¯ª–7*j­G¡jªè/)óƒ°5!.·Öý¬ú +ö½ ávñxètõ~çJkØÕI¯T“%Vø›„C§Á3üŠÑ¼ht˜­5¨oY‡[žlbpþ<Õ:‚©­a€²Q3×ÍtëV”õ9ur›XÊÑ=‡ÀÙØèvÎÄþýÍà +ï¡„Ë×xØž©t*ù ¿ÞúE:T,‘SpSTŒ³ $“•'u +±äè}£)%·U®­Õ ÚT5ú+…âjc±^ïûUC†×õöÎÚ³¹cçAs³°Sé×åðÜ7t)ÈÛÀ´Wg–:eê¸f`uµdÊ1K©çnëØ„ûØR®ä“9ec~}]§ ö y%{¿¶Ôƒe}¨4Š-¤D$¤cpC²¦\Q<ü쩈Åêc_F·:¦–ÖËS +=Åí/2ËHnîÃ!ƒ-Þ& hÏ$ˆ;ó0ØE¨áö­¡y‘ÄcŠ™tpÒõ‰9æÎÏÊOF]ôrüÙ¢âÏw j2ÎZ]•ò1ñs€¼«m•³5B‘Ýj}À#ÍÁÚ~×yÎãã×NR~Òèó‚¢2~`÷˜ùÃ9Ðëˆ×G’AB’ª’‚Üø?ÿ¶çD:^aB¬Nͦ6e1¹AT1kd†Fš×ÈïH[ã­Ÿpôòƒ #KÈ}Wr5¯=E!Qd5ÅJ +©U¡É'hšà½4±<ª;Ož_óÊ=zRÃËPm†„×Jñˆ‰XSúî2;T:çÆHo¬ƒ#˜ÏÆu‹^×|&p ÊO—cä†ÿŸ¶ÊnHÐ¥ô22>ð²Áa1ÿ¼RþH˜¤}”2³;¦O EîÆ"¨Ü¬…åÊ÷8—êþlµDE¡*íEÞ _Îôt ©àPè{OV1>C%ó_%¨3=J|ÿ'QQ[¦•Ü(Ë?Ú& ¨Å— +êåyjJ¯§µ­Š»Yí{}ZU—ÞÞžJ àX‡(Zãv˳sñ[;¹íBÚ`AÏE‰…(§3ÀJ‡€#F¾èvŠ« zeVÅ>pò8âRŸ{¸öäÇ7Lò„ÂýŒƒ¥/ïB[+PNð–Ù¹Î?át´5Hhƒ3Kj{«äq{ðĺ ya—¿E=ȃе[#Õóžœ{´3ƒEþÁÀ‹`tiD 3º‰ uR¯4qã Î=æTוü»á*]•*p<¶; ,-vÀ?ˆqà1TaeqÌYhý»¡Ò’²¾´W‚Ë’]YâÆfÄLJaN  >¾x™·SúÍ>VwM,®¡àMÄ5¯…à‚-À§wήçýÎ;‚„ZêË'uɬ®ëcª0ˆ Ï.­ÙDëqesTÆd*fH{¤X±¤C~5$HK'á 3!»×õ¼ +ÐR Pˆ!¯Æ0I ŠÃ1¶1iÃeA®™xn}Ï/“½ß=Ì–¦ÊæþBǪKåìí6oª»i0^áñrDß„f"3„3Ž‹*½–tš¶—7M'DçNÊÃG.9kLk¿(Y"‡5­íC‚ˆàÆÅóÈùûåS¼Š‡_ÊIµ=š{ÓÜ@‡œ»ee:‘´‹€äSWÈóéu½UPùhvu§"¡«M—-PÈ榬ZŒ%ÆŒ?‹u.Ÿt’zHÚöqœ„JÎâßf íXv‡Öb8ÒSoÒÞ&òÁ»£sm+al¬˜xC}„ôppΡ‚„=Ûè“€¸¥u×R)€ØÈÓ¡tw¢ÀDƒSòð$ó~î²ôRm½Sm*bÚ‰í† -M~à¦#ݹåÌ>u}·S[ˆÚióË´ édAL‰ÀEÝ-%Áºq̧|§iãÕXä"…€ÃBh¯k<9.™Øðr@VB¯|\í$©Y(Tm.s•öyØ£ý E¥ôG Í÷6~²Í;•4 ±ŸP…ƒº~þŸsÑòNì;ÒÈ óºG,ûR¶Ÿy´Î<Ýu˜g8“xËÄHß +Ö{ÒÞ›XÌ}¦'‡ø9"“¤™}ª-¨#þ1è‹”I4ë¯í¤s%x‡_WN©UòϱR v°uù +O;‰Ä­Öìt21Óø &âTÚùEÖÓ`^¿“hª×2ífS<ñ… ˆIØ;^¯Qt@"Hg<‚–º–eϽ8Ë+I€™ñZ²‚|/ÊoÎ÷Fm#w +½æŠ|%ÚÍ’wä‚}ÜÕí+BÊŸåþ‘`´v&&hóÙ²bŸAè;ûUJvƒ>‘Hq( kƒ×ŽÏVVLP;ˆä¡Â¢"DÁʹµ²äÙr= ”š µ5йõN 'ÛR6z'Pž‚CU!À2u? ­Èé n @­ãåÀ{«­˜xý[TÉ£Ñ!Îü—Ò•úšU¬ MZ5|Õd/?ÀÝK[‹«¤fÒßÛJ|ò÷KÆ—)Y!ÊÓ²þ%6"&FðGñ|ãµ-IsYñ¶3„t<]Æ~«ŸÏÓöÃ*6¬€‡„ATÍô%Nj€»€6ÒK[´xèTyôÍyÇ\#€´¢ÕÀíÌìlÏɘL]K®OVB©D}/‚‰µÅÜ#z¥Åh¨xhòèÂN ®ù›±k ++L^¼ož·œ~t틦³évåá|Y‘V…½TÇ>-w»Ðe¥2!É ƽ™Ä¯k>8Ucdi8ßØñÿôµ¿Ÿœâ÷qZ—‡&ç{Ïô»ÊAh¯;Idþª3”Š²_LÙÞöŽ‰®Ì‘…3P«ªlÅ ²9ãqB³z©ñgŒãþ¸R² + Òµù-Zqª-ª/Ï®›«5²q5÷]뚈–Ó¨±² +l#¨øËæ¢'Ío +endstream endobj 580 0 obj<> endobj 581 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 582 0 obj<>stream +ٗϽbd‚šÖÚ ÓÕ`è=W«³ ¹Í”L¢ÞˆƒJ½õþ‚žÄý[3„Ó¾²ÔuëU¿pDs£±wr¸ê"KD!ÓùŒ²6Ž¦;³a•åDÜþOkV.¡zŒñ²í™ÀÁÎô½ø‹Æþ—þa|ÿ†Ÿž›,cîmËKêBe Šw{•gj¢~’4Ò·–ñ +Þ«ÐQÊ|š»ñà?á&rZ>,î0'Žù{1JrQŽÄ&ã‘dÞ»nòdà1](¥>£q¸Ø¢7?;J½I5ÔË\ý’]bªn™ÝkØ'°¹ñp+©è´’¯w,Ô##bâϧ¿yÿ”'é‹{†^tkˆNaÖfúSµ`^d1>@D u]#œ’x‚øUR›0ÑলžEµz¯Ýœè’õ[‚ÂëJU¢¨ó„v@u–êÎÓ/ ü¯ì­ð] îÈ(DÓï÷rÙc®ß9ÖŽ†UT¬‹vŠÍï/ˆ¦àA2æx*H}A”Õi +×Î×¾¸BTÆ@ûBС*Z½t“—V¤³Sæ€ë€fÛüçÝì@ó¯Ù„©§vÛFb²'ü7ÇX‚·-×ØÚÚ3÷%ðåpwܹg¶Ëã_þŸ +¨¯¨ªrgfŸ]äF +6]¢r§léû¨`?å ¢Mgvcñ:¹y‰žÑâi«ºWœ½ôŒ"^—²‘Í‚G%ëh<¿o8Ð.²MDä¿ŠO¢ç|ËI©Â.7 eö÷“·v~ëOßôÏj}Ɖ°LWµªœ&n†¤½ë¥³i½gÝW1¥¦fá/> ù }$y÷kj8 _êÝ8@ ½LÅ"ùÉ‚Úìø4-I2t´T:¢¸ÛÂÙé`%aÞ:˲ڦR,Í<âº+6l¼ï$På­´úHíB†IÛ‹‰^äYºÛxj+X•"‰~uÊéEGøÅŸ„ÜÆ–#­ÛÀ¤µ¾ôr0Ÿ^ü°õh¾@úˆ–²v¬Ù×>]+!Ï4åêŠ`Ë`oèÉbbÄ-tèº9ô§cÍRS!T§;±è +6]Ø€”¡; 6åPçÌe5¸Lz|'›3½ãiÏdÛüˆ¬èOVÓƒ¹¼YpUWq;:Žx„0f%$p±ôfYû¸’‹u(©ÜùŒ{ ùu6ùó¦Mµ^Á°IÕß62ušp#­[xГ¥ÉÇŽÓìë°zCÔÔ¡¢þlšÿH@€C*1×5†ÿßÄ’Á‰Xã+ë6c¤ +Dm=î-¾u¨õõ7éÁkøé‡`£'D¤¸Lgwœndq~dÙ¦Pcd¾·5+éЖUn«eÈíºƒ=cº.¢ÔŽèF¶Â(-^ÇŠ#èeÜ-e1½ñ>0vmÅr!›ZLö9ÓÞ€4+ä¿Aùk‹þ6RllóÑxËù2Ê?Ø©?¡‚‹XÐs€&Y/y"׊°÷+S<)‚×B9.#¸»—. ~fõ+×ÆJ¬ªn<ƾèGHñ«BðcR+9`¾W” l%/`¯I»ÿS͇ì|Ÿò‡'úÖ—ã#ÃÈÒ 5)v¾~ïÅ –èQW¦_«æÑãŽ‘Æ 1´mJÅdÝ´>Ôì¸+"V +ߚķ-¸¢Õ©ŽÊ±ëÚµû$žj‰€‘®î´yÞutpöÍ {X„¼§õ“ÒîÉoÁÒ½žŠH¤’G»”L‹}Êx<¤-Tn¯bC1ÂPî“$ ¥À@ûç}ƒùýâ^¦€÷^4ŸJ„ñ3ß–mLÞìdAåûr)d˜r‰G Áî^¶uNêï‹ÉÓ¿):;×#N@Š‚-‡Õ·q>ì`öhÔqWâ>~©ï¡l‘Ù’úZŽËFØœ¨dæ|¼¬Ç}Í&B‹J2óMãÚóŽylÕ3º¿~3nVy~ž×µòþ/Õ’{ƒQ†r)G¬ÔuÒ(Y‚¢¶ñËg‚Z‚¸ø*+îHÐ[>g°K9¿¹!6zèÜíE:›O‰÷»îABÊ*adÈ¥ž™ÂoêÀQ‡Äù»l.•v[v ™ó¤òdµÛ”oË@¯¥™†eY¬'ðg|qËHϵ'³Iò7Óýµ„Ø3•Ò¨žfök¡o©Ž&îº6z–U…LDZJÛmñ§ìDU® uû;¶²Ì)ÄRˆ÷$ðý$Q«W2™Ö*b»=BuݯŠW8œ K=1žëC/¸ýñÕÄ ;ŠSHë¶n±èØçqÄõ1DÉS±‹^kbö§Ë$&F¼[%–Ã<^¨º/y)g3Òkª7ó‰Ëï€tñÝ/¸áTH»Ï=7Ñ6Ìèó“ê=SU¯H½Žùëï[Üœ<ñK\¿&%uº‹VxŽÕE#rætס-uצxŒÌ‰š¥™&zé‚L Éšå/òýL奒u‡Ãÿ^Ö7U<~jw¸lï'§ÎÆÕŠˆ!0wš—Èr”, }ôOÐÕ”L#÷Rþგùp”éésßR¦}[7=ºËš®yïÒ/D•Gi´Åz±ƒc…m!"™¿ hÎh™Qç~OX‘Ž¢¬ +͖¹[^duCLÜžg>›H´›<ù¿ÕÍl2览L+é;ç,>mýæÍXÈ/mWe°D”t¨/Ìå-a¾mïäã彧³¶¡šêJ +.ðyÛ#ç4ÊÚ, +75«BÑÇ2¬ÕÛm¡6†Qè"vBòL  j·¹Ž4®¬ópÌJˆcÜM²`ûⶴµ¥6UƒôÎ1ág®16ó Ìá‚m´¶˜`*Ú¦gê?ƒˆîlMÍCh©ãs#Ò£W«û~·.ç Õ,ŠkÜa›ö+˜`æîËHñxç?ðj©€Ô»¡FfN-ÎcŠAe½¨‚3Tc$ˆmSt” â1ÝbÜ÷’¾®«þ…æÖUÐ#]Ka³Z³ o¢Oj˦FÑXüЋüIA"T*„äæ +©Ö±8øÝïÓF¼nóD:ääÖ;R®‡¯Ä^Ò²Ò¾@ÕÑÁ%i¹xJ!ÛÏûÌ8Öiò˜øy½MP‰‰Tñæ̉ég¸”¹þšBë7c»wrû=È«dÜß|»ÀÆâ,â±(ß|õ¦ŸiV¸™x +è™.ö– T~Œ“ýRÅç¼Î´M$½è»AÐüÚ'‹òƒwãsµ³ Þ0?oú;jŒôãšë¦x!L™ÄýÁõL³µ»Iñ‰PrŽŽ[#3Vg_bg#T^¡¦¼ä¸{Y¬ÝÔ¶@aµ…ªîiÍL5C xÂ/qÝ—e˜"ÎÏ1w+— +2´±–œD¬ÿ¬îŒ °*†j÷‚µpz9ðgÞÞÇC™=Œø³2l®AMÝå.,§×©P”4ç9þ¯ÒóðÆþÒ}¾Íé”PˆÝŠ‹=qŒ×J|_?ø£ñǽëÂ'e*H=_ƒ|Ä…ô«Jµ}•þ)/š+°vÎÎñ +oDt;úûôhOP ·P&饗iq~‚ŽÜLvèí™<ßGI¼e^½î0ðÔÚfc눷7̘Üÿb:Š7‘!M{û›€b–qè1½àêoÇÕÝÖßÖ|7§Gq9‰‰ +ÂaWíÒv‡7ËR7Cu|Òb*\é-n‚á9¦‹KÄ*òÒw¹Ô£0é4sÛ'þ€)ˆaiwu¨‚ÀMPA£rIÁíÉw †·Y~n$žH‹W¸‡˜Ecç]:^…\Ö×êÖ²Á¢Îmr°ñ5“)³Ç¡£îú2bb] +òCà»àþ§_°è‹„ƒ0ÄîLK”³\Ñ™ÿh¯Ä'·)íe!lO<W”rÀ#Gs;ª))üÿZ‰Ó(ç^ò9¬á4×Ì•yð­/œ˜öÜ+áV>kûø÷ÿö˜¶:ú0ÂÑžJ’ðòópºKBò|¯Ñk¯%hûÇÑK‰ ’"k³ žÂÔ2œFÍ‹['ÀÜ–’‹ù*{DÀ[C³ÏµU…i +•pµ–FnØU\öJ¡<Î-ºÆÞ¥R°ºõÌùÉŽÇâ2a¾T«7=,*ûãðѼçØxì8"¦.>Ðß+ä_K)åwafÌöÁTàݱ;¨Ë’sð'‰çO¤k¥IÕÃ^°Ô¸W]‡‰À»Ûˆ¬±³“ŽÀ|ÈÕuä)PAþü 1/”Bä¸[ã5¬'{Jö5¼&Š·tU'—_ÁèP<,1¹J°…IRftŠ%Qa¹¨ÎƘÅ81ýßi¼WÉqŽŒÊîÛ¬•²D!Ýýã-ÜÿbÊJeÌÃK^†E.­¼È8IŸè«.ìë*²¯œXŽAm š~9 èºä˜‰m €(è‡M¢æîÀÙÒ®î¦<ª í\ê2Ë®÷¤/ªº)–aÐê;¡s +¿N¨²Ö6}½=òyž¥þáåwc€+ÁCVêå‚U6¬‡7žtè ¶ŸF&¯c¥.ÏUš–“ø +Gì¤Î8ÒÏÝjmOÜÎHç7sÒ°Rv_ ã;|‚EŠ%$NgñQ”eŠêW;&Ezd‰É +ÅøW"|1<Êá•÷mõvé*š$~¨Q©ÍÇ~ Ѧ®3wOØ®f›ì’V8ËÎh ýæ¸B0N̓«Œ›š†$°!M8$8D.å›2e§UGò/«YX"‰Z¨64nSº†l F‰æ¨“zëG—ÉÆ|0Ý>qÎê6…Sýf£±}‰šœ¤ö·@ù ïòºC[ˆh£ ‚Þ,<È^ð¶‘`:×p'†í•žçi¥Ðª(éŠñÒJË̘ÙxÄ°¯˜–ïúL¼;Líÿåàoèz{1óƪb| òŸäœ9ã¯k.Ú nfÝ—ùÙX#Ñ™ÑjÖÓIi$š«•.Èdœ/&±$–lìË øb¾”Û‘ÏÂ6Šô{ùÜ9!ŽŒ‘‰E‡»¯1ÁVb.}ØZ°SbmkÏ|ÛQm(«S^€[M-¿€w¥ÿ‡ Æ›}o«Àó£D«ZÁfÞZn]×´Ì!ä™ jâ¥MÁýðY2¬·÷¡,V¸yÔ1ýü1ܾwD¹(À£ÂWUBµ,¼ñ#órü•Þv=þœ8//‰°sOÿMWšùÎ!+m>ÒÀ«ƒÒ¯­5D7½ºô\vNjI‰Däk¾0c±¥Éýû’8¥¯½C™g8§ ¬VœÁv°jfvZÿ½De; k…w7b~=ÿ`ÖàZ´OˆþÎI ‰näøðäÚ‘=­e–16S—2¶îÛ…¼ñÙ_eͳUB$£œ\„­îz+ïÐ'Ñ7…Ôs›¼o_ºˆJ<š¦¢è܈þ‡=~}f‚=f W?ú¼–<Œ³Q3¼SÍ^‡3Ä—]å«õüRºþÂÁkà[{êV˜©WÞñ$Bkê ҈½à© ×s¨i!Üþw7á×{÷ †E N¨œƒ7< ÝFlH釧ù7Å khºc±´_’˜MÇ9_ãf+³6è„‹Ôý;eöÈÓ‰¥™#å&Úà¤9-àt[ÆŠÑõœÜí@˜t¾÷GžˆN÷…qŽÑe}:œÿTÒŠ¶B`µÇþ*p†ë†²±W¢çt¥Ò'V EF°€‹*# ªk!þ7Ç×c`ب—‘ãÒc:ÎRvrPÜ’ +ªºÿXÍN +\4<©©Ú„× ›Ê")¯.ºƒá£R–• ümxý$ïtLôˆ„ôgm©›WóâØ—œƒ¼M†èºzuçÏS%J—Fyxµ\“æP¨OHú¡æÌ}B·\ø«Ž…Ô°²/ϸiz-Õ‹ÞÖTš0 ï°»ÁŤh ÀPdVZðFÀØïÀ3*Ä»Ñߊ‡éZ¤ǘ£Lª úþ)ŒùÙpÙ±$¬N˜¦LBÁºÍ§jmt[¬«<~8äN\‹9ñu—.v Îy`t?äŽf9”Ï{Í2£% ŒÄJiˆîk8‹Ñ êàs_Ö¾6lóÐÕ¦HÇ%W?³å{¹ci_6ìéQÉe@ÅáýWâ@}âSþyaÍXu!Ѧ®QMKm«I Ö“E´­é×Cf±/A\ BÖ <ÇFœƒ ¥SOØ‹H¶z>~¦®Tø_”z!bm˜v4Œ-/ê +à9jgbe "Gþö®´ó¹•Çku%Áé‡k^{0iš Ú„¥@·+ $µ5`‡Dô‹æ|þÚúàøR•Vî¼lecŠüó°8'Ìæ¡YOõƒÔ–¢a–Žu±ØÆOJ.iuÞ.礢oû’ïWžÍN>d»Rn^5QúÖ$Å[ï¢ nHv‡8mSyÇ%r}ÔLv ¶Ëÿ.}J hO‰Ã¿ˆºÿVÔ÷ºŠÒcŽ(¼®ÿLÉE“Q·¡f½ìÄ)rIÔˆÌ5°n¨ÿË„kI\«HRÔ%n ýîÊQË@C8‘½BfÑþx É÷ov$ ÌVð!%Ïö1AKw›¥Ž¶÷<#£>ï»ûb=Sµ«þ¹DÙ3;«úPô :Ÿ;%qÉ~qÀBKòuç4Tö¡#*B‚•@ ÜÞJâštèéûWJ&¼Ùù‚nÐÁ"Ò]²ç­?¥èF uÁRø^Y  )Ô ˜‚:þÛ_{Ý7”ò“2yÂVÏŒ•¸3ËÛ¬¦ Ìõ|¡Ÿ!¹[z&Ëâ±Ø„z‘”“ãñ²mˆœ·ËÁ~wçM6ÙïNíJ¬ÓåÎV‰AbA‘E–‹Õ +Q©TŒTêÅÞe±/DG;ÖÓúÌŸnÉ @™"uàEÃT¢µ+IæŠþ¨W,´M°@ù»„ͦmêØ„#ôvù +DË3sCôŠÖ<²ˆöÙpZåÖÿãAÌÈŸO,†å ç à€›“eÝ®qº!ªµ»e.÷ÈH›…ÔYè@ÙÂ8&Úè¥á€lÿZ}ܶ¼Á:7øú™É#Ûç0AÇ”>ê 3_uú@=@ ±?ØGp÷®ú.ØoÏàž½É·6“)$ .õþÈä½z’c=„;~|ص¨x»õÊ‘´ô¾n¬wµ]ÇêuvÖYÆANŸ4òäbF¹ø¶LGX’Ëi%ÔLƒ~cl1ínóiêÀ-µÍùµGŽ»ÞïoK +endstream endobj 583 0 obj<> endobj 584 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 585 0 obj<>stream +¤2ôJÅ᪲?n‰EÖË)ÁÎböŒF‰ÈØ°!¼õ(Ù^{lš¶ý@Oà “Ó­PÔ”œkÔ[½Ã©¥ÜÞ+eW÷½fÚ™°®©òRuº[Ÿz¡øþ¡- +¼—ÛÂk›«rÙƒ»äIˆ6Û¬š±x4V‰ÑجÿÏ»ˆç°Üíóu`\8~ÔÑuLï舘o ±2fØ°t‹÷ Ú£oV.>Á( ˜;¼Õ°þ¦y5¦¢!R¬Á +íĤ«[`]z’Iñm XÛ:ºr0ò´Ešö…ˆèeîbÊÄ_PiíBÕȈ \vNïð$¼!>PDMT¼¿åòû^ÑæÛ5»v‘Cƒ +¾Wñ­nu3¨ßŽ ¾¥ô¼´ê2]áÖ÷Î ­Eåü]ÒBÁ‡û¤ÔrÝ΃Õäd€žUJbs!lÒm¡Û»|ߥ9áoÛ„–F;§K±¢ X9u›œ¬‘[TCA&1ü‡(²ÌÚ,ÐÖºÇkB6æYtdŒWã¿ ír2ÿÛU½aGmª×[fý›à¥œ³¥¹Ÿ¿‰ëûê3U%7xÚ'O+]ŽÿÉ/L§ ÔW¢a!¥‰–†Þc#¨AQˆgLxÒØ[·cl& +9 ×¿w»%*Í„o«äPÔЊ½”Þ Ü'Ž®ÊcûÞý¹˜È±§Fÿ¦Çz âb‡ûm`ïúH³ºð!ÇúQí¸Fh3ßJX÷@Á0€uußa"¸V8G•Ï3.ÑULáFP»°¨ÒÇÙý,è:ã—Šà'¯æO¶%Ù­ß+³¢ˆÞœÚÒnï –üî,t1EbwbáË&~ºv U‡o3Mã£`uÏQjƒD¥öÚ<íûÆÝqôaØ6yà×ÿ1*wké[&茵ÓQœKr¤ÏÙ?ˆJYH8®º8Ũ¤ÖãÁܾ¦›eC>Æúô"zîç®R¹Ø0ÛŽDä|Zتð"Ž§¹qù‡…¡{vÑÜËš¢ž <³ÁÄ÷ 1íÃørß,±TüãNZ(åF‹Š¯Þ›Šâ° —øÚI–_>›˜Ú \~×pCÑ,m/ãõq©||£ôSÓ`†¦€†ã–šª9³¢ž#ækúÜ.Znt@D‚,NðJÖYºšøàê"õ3¡t Ýa^ÿtµ¡Ò(L”„ªk·øõåB¸Åü‚æf=áHb¯ƒðyˆ/ìînn`«‹½ íéMoöú^¬ +è±Ç­gDJâð“þäéú +¾ã}˜å?²Ð\…c/§\CW§’•La•åËáZhtÛÚS¼™ï4 +íÛ<™N¢ø߈·7SuÊevÇ$MÞÒž8a¦%Rý±ˆ5Ô´°vö8ZjGYé<õ©ôâ ßx‰H^6É&TYݨ¼£-àXŸ2”Û´S^…Ñn žß›0ëxjTpQ›r |ö°(¸på#®!6 +¥ÖN˜1Åú,cPm#º™6Ÿxâ¬|9Þg— +‹þ&,ùÇïk#§÷è$ã/ ëc*åôè9å€0ú˜º^®ƒ”0*dÃtMÂÇ‚ú,MÄ».¶v«ÊækL†÷êဘŠ‘õ?[ï­(§ÈrÞÃËh0j4Œ o¬’vÞ~Å£%1#án˜á›ˆ–¦bGõ;ß „°µtm˜5<áN +ã6H•bÃ58|Š‰L•F +ÏOIGíeÆÐÇèÚ{ÅzVŒAùÃeNÊèÙÚm]1¬g™è÷›îá.^¦ÜA—Îäw±opÌC[­ÂO#ú®UîÒ[OógI¥õ¼u‘Fvz !Ð Æ°D Zéè¹.ÙÜ=Aë’ƒ­#9“ ‹‹ß iQ“ÎèÄoøã°"E !-Å«iÑêÿà¶áªz[o§‰peö¬tÒßl“»ë†‰û¯'oE +vS&ÇÉiK³B¾u–}œ() +?¶ÿ°ß¯*¶Å á¿¢=?%-_«R&™Ëa®T8Ü¡áÚÔs¶ÈÂMæêþ¸÷7Z·`°¨b w“£¸2”=ÚÔ[¹MRZ”+ ¤/]iXa€‰¤\zš¸•‘ñ …@L@ž"xL›‰»3ª™kùÛƒ«l¸þv6|Á*chãxkZÑõIr{•âÉYw¯1¶ÐË>Âêf…Y£W@Õïû: +xäx£’0ž¼*={Æ“•ë×ñø÷G#oÈAº3̳@s £¬ãƒ;¼“™@O/÷vßè`šîOïm”òêÕu›Ÿ1©ñ›ß"ÿŽÆ´'T[øº€5l ‡ÔhƇ1²²—wn@““”·Ä_„»¿>‚Tã4´ ƒ;cSÐ8?h?|«QÞÒh´RpÑpQogKûåß©S:8&˜°÷Ѓ…ŒxÛ@ÍöÜM™õŠÌž ”!À +vh6¬üÈ|ããžA/Óü^îSÕ‚7䶔°ðËÍs=•U˜DO×ø£rfVcÀû æt[ ¡R™o&§3¼T,ûNÏ +r(ùQNi;}3(~ïl?šÌî?3áM{(ŽÉF$^B–8ѲNž‚ÆÌ|Û?æv†Pßp÷ªñn̘cÐ\؆7öZ‹ìÙ€œ)Mr#@<@ôkN V±m_F3Ow]Ò™º§¿ýO+EžÏ掇ÏÿÑÄË»%­Ø”C¤„(ú“n¸ð¾Av)Ýg…qÆC€åõ„™ ê˜GZ‹> f¶2lúpp6D4˜â×ªß º1{êäÃ(øô¹!*‚{™‰κÁ‚´=ùPG.~DauGDÐ:”f5gŒ¼"ï5‹ÅX›¬^ }‚TtM0oÂ> endobj 587 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 588 0 obj<>stream +ã¡4ðFò¤rJäê>û°rÕ*üþèÏògõáv€å‰ÿ‚å!<ŸAëDÚþ‚ð:6©ô:šn”Ÿíx½J­³±ì¶ZVIçgƒ@7ñBÿLŽÈ£ÂË✀††íB)YzØsæÒ>‚»œP‹ Ô,yöAn6­¿–Œ……z¢¦(~ŠY$øUM EÓâYmòr̃vü$^¾å„ÚHœtîrY‘ç…€ôM%ŸÔÙË4¯‘<´s5³¢Fp1¹…,šè±1-c•áƒ?΀8“3ˆgìe¦]âM{Ú¯Ú½ÁÏâÁþÆL@:P`Z_s0fbØîbHëÚnŸ¶àŒëØ+Ù L,’¥kaPÙ·þ^úÁÃ@ çW°·£î¨Ý™]nm©"¸EeYþ,ô`lÌ£?i“UW_ûi6Ž¯ÕÔʙԀo,vb'—¯l3ãŒÂUážâë À<Íu_ñC)ååv8ñ­®Ù2dn +,ͱŽNm m™vri×LÖ…g­Õš’ó,­qBAéc¶Éu|ú‘XÂ\jU¬i/rµpd°t"Áç†Ë¡¥ài”ü=”'§Òƒmð´Ë[ù¥ êã½—žy•ÑôهĿRëݸêÓ¢Š8íUŠÄæ&J „L…Å»æw£Ø ù*G¨²Õ?€î/M¦çïíLq nj¾ˆ(ÛûU_ä(øZ+§ß0à']Ø.{бxMë8u +M‡Q0c5²`óØå+Ó‡_ª;Á¼ŽÚ.ðI×éWR^ÅDµBúÄúHÿ³«¤˜#‘ñs§£c¥š/ñEfÒéZbn‹qn«wÉÈÎÛŠÂ ÖyŸ&ßÚu8A÷:ý +,ÍËïH´`– ‚F{;Üõ…á: +åG³öÐñ¬%¶K +O ?ü/½G6é,JhÛÙ´äá{çeïX>ÜHR‹Ÿ5—oœÂÑ/¡+q˯T‰,G{¢ªJì‚w]觖ָT¦€!’SÃýçºÿ`5˜QåT®mÑÔêÚŠƒÕçÑËb¹ÒÀÈ«€n̺|ñ_oÓüsF¤â"°éjÞÒQ Åí/õÒ%JL2/Û°2L6-Dlb¶Ü-,ÿÃ&Ķd»G£'ÎÔY­øùÞYýGl9ZwíN=Yô/È7}­ÜM…k+æó¢€*§*Œglaô³mÞ*%'õ 7…9¤[̱æWË®iÿ¤Ýw_ÆÝã#üüã?Á¸¡vžf £.ž/å +”¶c vÐ&î|]^’hühŠb˜œÎ0le3Ù‹-ɯ ù¤¨ÇãáÙå³B»ÚÃô¬Nsœs$<’—!Oxü~R†Ë?Øe¬ (Šk¼èGÃÙiåûñre,€Øf"™»¾•–‹ÅýéÇ^K8õS×X‰g ùRäzv·Ý |½ãÈ °9ô¬ÒéEÆ4زVäZ¾H©É„cÉ *áãÙŽûŸq{ù žq:P ‡¬¿À„ALaêð¾3‡SÄx†äâ:õ_رWVMiÆ1Ÿ:Tÿå™Þ™ÇƒÕ ìÑ9?ð" OžV‘$Šˆ¥´DÓPQÅN¢FŠðËxüS†²Û€7×— æöËO³$Íé¹3ïJíOÂúÓóœ\(÷ýŠX{_5%åý$]uüÈPÍ@J7G·o÷åß>VH7߬}Lß¼}R#†NâWC†÷ž‘§›¾7 =M£­‡‰O†iÄB+¶öÏî²òÙÁå¹^‹øDøý>õ´9‰-ç#&I‹ë1_ù*Ë+FäH=¼ +>7‘Ó°UÙ3·¿Ø•º²OVx-Ë}K¬S&¦ìÅ×ìÇ„„r+¹™^õ×Ǥë”.öZ*œncÙ¥§ýGšOÔ5-ñÖ½´é–ïÜœñgf=]/ `¨ +—aÄ`¼ŒVôqБ.’%X¦ î?½{ziÿÉ5ÔׂŽÇ¾·.)3 Ú  ¤­5yé ˆêùžRDõ:yqጅã\ž¬×G›°Ÿ‘éKù‡T÷‡HN¼š× ÜC·ö«1pvd=Õ»"y]ö®-vd]„ 3tå„šX £O[ÑS24¤X4ÞXùë`ÁFG½®5ZWº†Ük/¬%žVñ9aÀS|ïn¼kúüŽ±Ê8ö°wEÚÈ“øW¯š¦s<È×iC˜f%“RbkäGo?ïÒ“ Ñ™-¤ñÏ–¡ÅÉ.Jš!¦™Ûó;^zZ€´ºb Ë+ε=±´ô%À’o1쌈»g?²‰§‘ÏŒâ]\W¦fò8qøh[Äv–i'ÏÒ›Žæ•»NÛ‡eì⺜n¹ ú”7$lAø¼?©œp±ÉEE –m÷D^ ¸¬Æ$Ršãý‘× ÛöÙQÞãQÂŒIÂU`µ5%¨)¯#¾÷`0 š@NHw9æóß„”Ú©kš¿:Ù.¹XœÔlŒß+á’Ú€Ëü5/ 6gi·CMiv(jàtÒ çqiBÒø½$/‡oÎçAL“ 0.Ôg"ªÏ?£PŽˆ"{É2²³³ªSRe2§á}ÅTUÿˆIQaY •XÇ‚Š±bÐmVÙ±.? hKÁ×aþ‰¾‘y(ø4hµç´E_œv1Ü.‘d!´nCop£-~ZÞýÚ™|È^Ò|Ⱥ?ŽJ.#V3µ7NpoxOMP¯GŸm¼¦eG€þJAÉT*0/ä1uÂZ=GP*§åhº-¡É Œ²\ÒHòü°QrNj"ÐàßÑ  ø8OÌk¸ºbL™„Kð¥ôx¸s Ÿ?«äv"AèêÇî±'˜òK‰KßÈšˆ añ}0WTS*ÿ?Oˆš,kk E]-$Ÿ ?‹¶÷>–"¯êLOŒ@Ð#9’à^Ü%K¾˜I¸;FLívvæÿZ¥Šµ`ó +¤Ö…¬6®ÒfÁ‰0á}ÐŒ¡ö¾K!äÞ¤œ?Dµ…LrL!!NôßF¹C²l{ÅÙ#¢=R—-}8ñ›‚iwš¶ÓG£C8»„]g»±â}¡\ˆ:å"=0` ÖY‘>Öó„RcÄÐ!¤» nËz`V¾>€Çr @´ÕNõPÑßÇ5Ö=]}žn>¦!ƒ¦D™§Õøݦ&ÚU¸¹º")£ð\û[¨ÇýriÄÚͪüYݕߺzvÐÂ׃ÂÚCQüH¨¡QD¹ŸwžÑUg0,WJÚÜÚSbžcw§©˜¡É¬<PûÄVˆm3‡r‚&aiäØ’iƒÄz°hcp¿“#U†™©5Òl»©âB-ç†ü¢¹ûîŒ{(yõ S-îÂûYû¬—`ZÊâŠÁ§•Õ¯.I‚àáaµ ´Þ¥µVæPöI•o}»è÷!àÁYœ¡¨Ú̳-) +¨h©$®ƒ†üetêè °rú™3n"˜0»¥–‡CÁ.ŒmëÐé%Ú E®l‘7õüX.ëx“sKƵ¼_,"Äv`‹°Ž›Ÿ†å¬äÈ©Hvq„MÉ°B¶ysCI(çLÁzCJ”ŠM¸rsfÕ“£…‡g¥}gYÿ<¾Ä8i]ÄX˜¦á E2[&û/‹‹-,ø`zÌÒIyäZ'Äwù0iÍéÏ7ħ°åž€Lãœc+%tÜyu¨ÐSG~Z6É<Ææ£VGèRérnK:øÑ0‘•‘Ú\®déxx‘œ\¡Éõ »Ügy¶h—š°ë CdMñQš_¢Ó©xKm7¦Gý—*W+)žë7'Ч»DbNWx_z?Va¹€ôT.Š“ðI“#ßJÏ°ï9©¤¶É5Ãûƒiñ­¥jl”VM(†…ÿ ³)ÆòÌ9J€,O6} öL¢žÕ4îÏÀÛõY2BÁ½¤p©…Ž¦ÉÄ‚äâ6×8c›ñz¾ƒ‚Ãøô„Îÿ“EÈ.²è…JùÙÓó?KÉÛ˜·þlÿ¸Ã¿O9hìÕ5;xzvñyäo€ß¯À¦Ýêj¸ŽjÔâ˜ÿ‰ò‰¬ÆVVîY»"˜c4[ÝÛvÚ +©ö‹ÈI^ÌôTØh<Ž{ã½Åw­ÌÃÂÈ3 áM¶©ò«0_S‹1UÊÈ•¡%ËT™°°§a*`'‰º/YßW:4e²ÁèQ¾(-5EÓÅš¾Xlß38ƒxÅD×¢" ¬÷íg ³å»@×æÄ»9¡l_°pÉÕ*Fv-O—D¢J;\U…·`Àe®ÔwѲbrßØÃøß1Š@t‘(õaˆÌÄ ôt¹«,‰ñÿÔ¼ŒÝÎÑ5e)ûJïlÝ|Hu5q?¹‰@L«ˆŒG¨† –µLîÀ8à!qÆoÃÂ93KYLwV/ÛÛ‘öÞaò²¸bÞXò£è·Hðž?Üéj?ÿŸ8 œjá60cæpÙ0,Ȫ7/ ¬ÌÔÏ’|u}lË´Ù”5&%9•F%A:ºll×ß%¿Xf8 ­| Ü>®ËgvWb„é4lDÛMô~½ifÛÎKBbó…Z-…ä>Eñ Á¹9ï8ÏÖÇP%±=Œ!Îû¥[ ¡ú»— ‘¾}òZzœ£Îú Þl¢êYÅVŽx˜ê„‹C+º°‘çôJ#ýf °¢Ã2P9AÂ# ¸¿Ù“wBð6ÙxÃÞ,n{îŸûèn±š¼gª ;-Ô\JKj¬ +f­QÄÂ!vò œLÞu¾ÜéEÙó µ^J_Óï0Aˆ&6^Zr ¿=¾ªl >û•ò©Æ ÞåCiw¹´ÔfþóˆÅ1Û‘âRꌦ#¨ê•´ó½~HªË êàó‚Í~5lŠÔ¾d enpm´Sþ©}~‚¼2ËÕ2Ð?™pY©ƒFõµ‰|žA¹3€\Ïçü Œ,M'“Ëyo<¡O/-ßWõv`ò’5:_Qôu{lŸðÔØÎPŽÿzM¤÷°M™È…h‘O4Yv§Á ØTG´J ´4­HF;pKk-!¦Ÿ¼#Ê·tU}ãF­¦ŠûÀ×Á€äžÒ “F‡¸Ç sõçaÒÚò`ýQsp~,h¿Â ê$SCÎ9V²4üQKÊAJ/hX³2­$°@–@ÿ‰ê9Žv‘EpÁ}W;i-’·ÊÌâ†Ðàð†GÌBDØå ¦M:Všñæ`‘p_sÙfMgh>—Aé$#”抗ð##•)¦‚al‚]ª)+݃y ¦^ÜgVô*Ѭز»tÃ$7x‡‘ôq¤rá¼- 5˃£ ^ªÈ—; +ß—¿±ü±­pïÛýåï÷6ý‚}T¯)ôÌn\.t•|Ip|Gµ¿>.j–þÅ£MesÑ(ë[¤i}0À +endstream endobj 589 0 obj<> endobj 590 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 591 0 obj<>stream +‘ˆŠù¤‡Cá“D…úC†5oRPq’éÓ0 ˆh `µNšÂðÁ”wWT®ääZ¿ŒÉ$]çìˆ_·þ ²ë8›%ÆBYpjŒsíf“dNß—œ¹WJ›nE`\ö óàÑ@ý“·¦ªqÇÕÖ{2aRÁÞÄ€Û1B-Ò!ı#¶¼— qtQŒNÑ8s81 ª6ØÊ49è•8p'½ þ ™Xùz&”õön<ÆÝâaPn™ÁŠ`Å R6‡ïÑYÀê×W>ZŸÖÙ°©$Ô(5rµQ§¥…ŽëC"°¥ÎÀ=]Çê‘WŠIÔ‡ºŸ—±\ð?”çÅl÷(œÔZÞB˜@S•V¶þiÕ‰8çlµ" +Ò!ÒÃX,ž¹pf)œažQ8Yƒ¦,Å™$à9 {‰|¾·—6lãñ::7hC“ek–D9%¿´;fü»®b’YÃÐÂ\hUPR8t. ®áÓæW}¾ë‡cþÄs×tû¤0Ô‡7Ìeyþÿ®v‚ï!ÔîGüÂýXmd¥Àêñ†§/ +`ÿ±Ai­Ç™é_ˆYªïË ª>*±—¸N †îöØ’Ïtxì\ŠêáÁdåß¾¦=¢É\"S_. •Db’€aåëüõƒ‘ª +Öž¨Ê®ŠÏk›3É7Vð-’r<‰ÍC¡ô± ›03>G_[@ùH6¼°×–º ­xo ií¼IÏ"^\TŽ• Å)ÑÕY,‹ñl e(Ñù‘32ÛäpbåzÆÔaƒ˜Æ×>ËÁöbDÉ5ØV¯‘©·€éFrâïeÐŒ àÜóµ3 ßîºÿi%ÄÞö7W¿zy…¼B +Á8¥>XŽ–dô’Ul—Ér7ŠGl\.ŠE3=kXÈaQž,¯-âv°…Ú–Zèf58«PÓ :’‹ÛÈÂ}UÌ}'x€5¢t÷Ù™ú#C¶ÄSÊßÈ78¾ÿéÇ(Ùß<®ÑÖ‰ŠË6òÛZzš^kFÄÁ?8¹—ÙoEŠœák†ªzc¸|9Êrè¡Y™ó¹MS­‚KÑA–Œ†êRaAÃTŠ)ƒx‡F>0Ñ….93"fòE}—ÄÜ-’^¹ò!c­îËÆÀÀ9˜}Ë5¢^¨çË› x—æb3u@$X{¥‰¥ ˆþ$㳃ګî«fÛC,ãbth° A‰>=ž³1«gëůýFÖ{”`Ì3â·y•.+ë«¢ýÈeGÔŒ‚“ƒêæ-™Š2IU`©A ³Q5H +Rrc[ +ÓcYÂ`¬Çü–M•/IØ—#^RÄܸ‘LS”K2åµÒ‰2Ô°2s"À0Õ— ùG.­ç89Š£!9äËàÁ-Ý6X€m÷ÄE ¢Bߢ¤ÌÑåHm4_Ð*}€3$:Ðç¤ßꌸrŽ‹Ûp1xòCŽ›+ýH^Pºl=—s ²W4|ªZp9…+yÚ߀‰ŒInÕÂ9J8ÑFVËÐ ÍÛ‚Ñqâw àiWœPá¦47WÇÌãÓÒÞ 1»i +¼¢¾üšä¡Áûâïú-À ,ÿ7ÿuÿn.XZC5nl\>ã!/ÿkéÎqÒ¶ ì­UpÐ’h>¢ã¬z?h¤Ó˃²æˆ®=s4sïÇ! ªÈ‘²~W4ÍJÈ&‘×ù¢6ò!pÞ?»ˆš!›gzl@4´L ñ躠O%¹{&µ’(¦ƒ}b˜†h¨.J¶œ^ß.1ß';Á±t©« §fb”{ñ/½=ÉpK¶0ú§%ùôûO^x!ø' [Þ^1t>»`ÚBæ ôlêò8ï1 Õå­>Céb2£„âð‘û®­ŽjÕK‚ÕÙ°ÉÆx¾Ù8ö5Ÿå5Æ 1…›Ï®ŒeöŸ LCô`éÜ(} ?C/‚"äGSçbÏJn½ˆE_“'ƒï!”²ÀUNF S´–#Xoœ?Ž~•–è¬úÙÞVÝ©¬0{I)2W‚#òèF콧ßJ©µM®Ð¤Y>Ã# {Öïy‰0ªÏu¿„Pê~Ñlkˆ'sTæœ+=üX±-?¬LÌiàFl`¸%ÝðÀìmóg–© Ä|¦mbÕ¥<ÒÏèq‡G²†ÅÉid”õF[DÀ½X#î’yÜÓ»¯U*ôÀ +endstream endobj 592 0 obj<> endobj 593 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 594 0 obj<>stream +Ö·OáíYú‰¦¤·êÞ¯±ˆ6€ùúãâ#ò ¿ ÈùŒÜ<œsЩ +šóVQŸuü®Ö¿ókÃî¤nUÚm}¨6;†vœi$ ιù8> +T fÞ‰ÉÉòyboFš¡ì©êJ┿ëãŽdûr·j}¶ÉÚU„õ±ZäßÓBìݨ§šâ–¡Áì¨Ëß%j}ž^#‰{…jyÝ×»Óc´èŠÈ4Ìxz<éµÑoúŵU*}”Ö_2>Ø‹qâexÜœ–ù²[¯¯r*§bškF½…Ã!ì¥Oø04¬W·Í¬qÛu: CjLEÚgBsÙÆ¡"P¨ë¸g­Øy*[hž)"ßsÆØa]¶@î Š¦*PK€2¾P|¨œ<™>‰Z8ó(†‚Ü[¶OÃìð²æêÏŠµx[xƒ⽨ÂJK·"A! âÈû—-wÕ ¨Ët¡êë,I ‚ý )û‰ÅÇ3ç› PƒIYÃæcÕK¸`ß"Æž+¤&=ku±vþ8Óœ¹÷ïB,ãLyÝÓîÙ²…òïÁǯÛøÑ™Cíxð~ky‹¤´<ÿ°¶BpÎïÙ~„õŠæŸˆý¼ï½fðÙ'îh8©y3"‰|î° vu%O^¦ÔX™GŠYËlR_=`8'…´M°¯D£ˆRqÊ ðº1ƒ@Gz.üI5§unÕF`êµ`­=\\w¾HwÐèªÏŒÀ€ÐÖ¬H“Û¾°`î !‰FçpÀì¤LŒæ@γÄÑ'Ê#„ØÈŸì0Ÿá$òÚ3ð*Ü)G@cv)õ^ËÜtÄm|ß’vüñ¸ÐæÁÕ€«pdíRS)ùÂľò8,î#bŠAàãìѸ—4…׺ÀMÅCI¾©dª0èìö£ÜdXÖ:= Pl|¸vg\¥¢Ÿ |A‰¡.âδÚ@µ,ðàÖÙQz”Ps*Â^˜vÓÜlÁãõ{mòÇ·€ØJ=4|ÍG´U³b&Ñ B½•?^éçE%Y¢õ²{ðñ¿ MxS»öè«à ‡Ê!îÑí• ÿd™¾Üßõ©f†o`i¸oò ÒÙk5;ÄäJ@°½l–V¬9‚èɃsT¢B±NðiÅQüÜ7j!@¸XYÙ-æüGEÚËßòõ‚{è÷Ùz†/^ÊË%Ù’úÄrUÛMká€åý‚sK£è‹›¬ëBû9Árnpj"qˆ¦QÒÝ™F纡i¯Ö÷ëÚTˆ½¸ÁMÿ §KðN Y.—Bðæ\Ò¸DÓ—0+¥á$ã.‡:ÊÛwV4ZJq +^åI§2/UÁ‹Ï±s6Õ¡ŒÏ +h¸åGç»Ýã1 +ƒ¾d1ú´!¢x‡­LÓH"P›20‚ì€^4Ô÷§zƒ.$&ܺ$:4‘áÀ™ø;Œ%Ó˜¸öâ“w}ùÃÄÂØë +`>'˜6䕇I†åÓVáÛu5@¿kpN…Åê"סÂÎb‘c11ÕEßäšSJ°z¹³„«Ì¿ðE +H¦pîþÄÌ%I˜‰õ¢p"Ë…»Bìù¹Äá»Èºd™æ so¯E¼_âB¤Q톻ófWçˆǸº³ÿ±™²ÎÓ¨hsòíËÌtR{GÁ8óéXX +ßÛgýéƒPo¿ëº +¸÷8÷“¬ˆÀ‹ªs,×bU”W’HÂ3<®rS3R›ÀAÁJƒ/èBóËZáú²ÁRÓ-&vþ‚·u€&_å1Ì^ËAUNž"R^‰·µ&ý—”$%ümv[ãfÝ—0X Õ¾~bØ®Ã[çSj=„àåM‰AÝ8Þú6Áeõùéø?_„oó¼2ÅpjÿŽ3-aõ"l#Œ«îõfº^ŸYFÌæìaÖ EëT ÀýVùÕÇß láu1AŽ!¬Ã\ûï‰.Ÿ¹] -î9v†²Ú™÷vÚ#ÕõÎ^µÍ¿å;ÅT²@îîö×Gøñ8†_êÌF<ªhÂŒ$æaÿ‡yHs`øÈZÈ +ò–’‘¸Ì'¶|×rE£‡¯H¦2íy}ÊÉïi×t§Écৱ"Ó_r}:ñçÓU ÛÑ ­ã¡Ö¸ë,åZÇABìÉí?Á%©ì÷Á—(ìz!Îœ…×¢{UÒuÓƒeKã +PµpÆkîâ ©ÜuË–ÜWº`æWþãÓã,K-N‚nã,Ê°žSÉ7£@=¿¿#À>oª:+QU¼X§Ì9ÏnÍpƒ›œ|Wƒ5Ñ¡ýõÝw`ÈíU4ØWßK‘P〠¼Oø5 p+€ œQ…bËý†›@;Ç]–Æ1±_þÕx¸”©›aþ¯Ó9<Åæ¶Î l·¶¬®wÃQy†˜q²+ŸwÕ`,Ö°rÏ<ëÉÔ]‰ So‰›–_ÆúÚÚÚi'!¬ËAÌ±é­ ú—aØ +7q®ÍÙ2­Hm£½¨*¨¶bƒËÎ4Ž]ðhϹÑcè¦!¨äýÊÖµ5î4õ0í«]ÈLðëÛÞlF(˜â×ÞýsqbÊš +ºCÓGx©*Ó`€%<ÓFœ´1'ëþƒ“= ž0Mÿ”}àDg* $'_'.¹N¢º•Õ¹±ßƒvø)q$­@ŠÏ¼Ä(UCÓµ&ªÏfiͧÑdÿí?Ø›ÉPOÌÄJí¤Ò=¶m; õ½˜n LÍÒ)ÙZÌË·N¾›aöéNBBãÕ•ò/AæWwva.–òå»Gî "4rÍÙè¦Ä7’¦N(BòÎ…ÍʵÏ!3õ¸b=/~óAsêòB@5F†ØlóTcº*©~Õ`Ô^Єb‡Yc[y.yÇÂop ;¾À•ˆžÏF;U +5·0ŽÚ™%pQŸÈ¸Xö¢¹&M Kg­ÌÝ^çiÉñúS»µ2¹Lºž©-- Õ°~V/>Ýшjí:î¤Õ?S1 zÀ¼Á jçÞCJ[ÇïÊܬ‹Ç¼˜Q<¼@Î]Ó¾„Ffÿi®J~«1Gð陸ô»—Òb8b„Ò Š#Z+ø  FÀÔ¦U¯Ö‹*%ª1€è¨Ñ44]€|¡XIµáöžö%|ÿ9+™Ãe¦+?°P ‘ê©åŠ#®ihœxñzÊ€,6Ä‚U áþA¶:4L{1Øüð™Tó0/¥­`ß̳g% +—q«êƒð¯=VñƒÖãºÈÅ ãÒ×â±ãÚGŠg??ÝË9 „¿šU'£Rñ"2Y4&!.¯Ú"È®ã칡íÔ3_Ÿ;yxªç0^åž{ú2˘‰íp_ktLoІÂ®{‘ʼc%w–”ë™…ÏeuY^›$efK¿vË1¿x*œ|>!ì°Oœl”öÕ‚ +endstream endobj 595 0 obj<> endobj 596 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 597 0 obj<>stream +õ®@½­É9ß±)ÇCÉ$G†§8W7 «éÐEp~Šë¦›—‚‡¬æø_ÑU^òïKU.|¸^f2{U„#NolÜm4qòP¬xO«ë" üz·#”PZOâŠrô|؇\à N*²{e-~<[ËR±ÆÁms!¬aY¢w²N{™˜ö;'ܲ‰ô7ñÐd f‘Î=}±ð_QuškCù.l$hÂÊ•é¤n>¥AuœélØf;3-Ó-Ü/wÂ(uÄŠ}˜È\£ÂÿMæ×Æaßò·1­÷ø5p=¡Ë>¦Ð9×®]„‡j7€³E×kÎUÊ›“Ëñ÷¡—“ Fþ}žÌ€«œÌPƒP ñß•“‹&È]ÈçŒ2÷‚0ü‘RÞ.hYáNs@ª¢©Üu>iP † ŽÞg£zAJø×òÉ7¥÷ÍPvÕ—øÐ`tiÅêF¨}×ÂÏÙ9—õOEöt;w“"®Oª×ÎÝü‡R?Øw×ÈÒ™ 2¡„Üz[7¡›’®ë/sS¿ÉÇ™¡Ã7“Ž³-,lÍD’ Ã­žókÓ\4ÂÁïžq"Š+‰ ÷lˆù^ö$Àc„°Œù!™Wͬ$¾,qŽ–Ù ŸDLu—ÂÀãá­qßÛD াM3ûk®Éãú¬Ì8ïö…ËLÌÉÇ1Ý šûnÌ¥ôo¼CYdŠäê‹ jšgýÃÀl]½a‘s0åŒA¢ ö¶êÓ&n1»Å7ÇG5&üVIƒÐ|B§ñ£¹-N,S© /#û`8ð Ò¦Ò# è[A93s|Wÿ›ÂgËÒø‰Ößìk WÀè OåÜmZÓmÓ\hAˆ&F‘¦1Õ¥?M—ÿ–‡7œœ¢IÑC¢X2JE—',lóCÅ’¶Л† ÓGisq;-ÂÌÅöÃX:q#e:ë#§*¤’•ÝL°Bø]–œŠ»Ka&d7æœØ;<ŸufQÎÿkèçÚÊ;7ÅßË€=}qŠý:}@n¾ÑÓ^K­¤vÓÎÿL@ü3?]áì)±g¸ Uír8гø”’s +Œš¥v ËýLùÕŠØ×G9’ÇUO˜«$†¼ :4w»/|†Q¢/ÿhÍm*U'#ä9/†·Œ:˜×ê3æ^œ©]ž7€Ÿ¿u+Ä~ƒÎ·Ð>£3âRŠqÛu=LTW`ã­±|—WßáÐó‰’Ðû‡î—™³5Ž¹]!^ëK–â0ž•ëý&~îúÀt?U„ýËý°Àsªµ§h‡¸écF·«®vÀhÜ®®k·wV +­Dw^kZت‹aˆa뜼<¡Ô¤—ªÃÏŒ¤Uaª‘9$`Q?„Gnƒèöë”DÍ­¸®Ž¶ò î¿"˜lx&.æ&¬D=_NDÛW~-9]|RóríR°¹¥€èŠlû –îŽèÖ(À-!öV¼øˆf7Ô ÚòlЂ¼5Ê…ÇŠõÙ‹kâ Ύܦʛ1—xËoæt7îÀ&4Œ›¿BêÅoDüxîíðcÆ©A̩Öö”´€¯¡5!—¿T{ñÃÆ´˜É§bYqJ#î÷ß•aÿ)Ü(Ì<Ÿz·{Þ!\È¢Ð$Ò©ÇkÁwºé¶½=ÐÏZ)BÓOkQZ´Q tT(EŠcƒðsÓÖŒëÃC¡Ò¶ ï¯22‘¹šf<YÞŒæÙ!ÞçúXýuÉ«aâØQ¦¼½èîâ\qøFâÝͺPâÑžñ3ªøØ~$,…Á‘•Õ6mªš'ÌÖ6´ÅöÓ¯RÚàmVˆÜâ/:Dˆq˜‰Ã [¹Å¡ëBš˜ƒ·ßKˆ +Å{/Ìñ½¡ÞAvÊ–&縜Ǹ%ñ‹r1`Ÿ|BELϳeó{6äÇËè'8äâv‡§á™‹©A¥?ÌOd ©ìñc"À Ë=/Ó] ¢¼-Ûi¡reÄRªÓÏÆQp1ó ›ú´Ü¨Pøý §(‡·mÔ› ªBÉN “ÃÞtJê&vå…çº9[&a0u%ÎA•Ð §Iy½ -&™†Û4¼þy³EV˜!d9¬›/ZªÖU:p äâý|Ž» Œ¥3ô \ôû{u+ûþ¼lÌíx$(®ˆgª:“4 ”›°ÍÔÞ9ÛÉ݇jé„.}ùPLsªNöÉÕh9åÚŠ{AKŒ_DéNµäCÆ,“ƒƒl-éÊ› ¿ýA‚®)óOúMáG¶ÏÕÖ9%Æ‘P8³½á7Ä,lHD‰‰úP)ñžØNøbg/I}îŒÊrTsVòê“ÄÑ_h͘ù’2p$iÆ;ŸŽ[ï0Bkº¿ÆDšZC-]rÏ;‹:¨¢VY‰ò!95ñó<±éBXŒV“—7-øŽ˜'€ÎßrË‹y>^_¦Ã¡#¡Ù©‡‘¾’ý8|kÐãϧû¶š0§[ä9Eh»H/!Póâð0$¢åÌù¢€‹ŽÀVÓ¦W~ qqû€O.|BÁ"JÄRφk·Å³»œ4Æ’ç¢4R]Ëé¨!S‡±ì`T‰¾`XÕ5i¯páü—áo‰©ý½ÏÝå»Ew÷†EfÝÆ}O¸b"OÞÓ» +Å[6æD§>‚³Ù£Z³êÁ¯*_€å¸¶V*“FÄËhzÚ¦ü³ueÏÊÌÌ÷i?®Úls=¥eÆZDOq9"ÓpN‡ŠˆLhõl´ré#ÕNÒÆŽ't™ûØ"až›|Í…üÃÎÉ9"Š¨idGéì_ís+Û;¦ÀƒÖ˜/íNÖ‚°ûÉú’Ñ£ëKi5Ð)bɨ;˜^´Õ_™k …Äýãgüºpð,½}¢§W ëâ‘a×JúqZ2Áø#„-S¼vÝac¹@ÚØñÖDÜžwè°çÁÍW}|þ!™x×ô—Í~e_¿³TäÎâÓÉ>vdÆ{™àæ´[Ùö’:Â"ÓB«9IMßô•Šmóï6 â÷ÔþÒ†*TøÒ1B‚ÉxöâNбjp›¹ð5<zGLJ)€],‰•!P÷Ô Û!/J~Tg¨KnihÿO³sJúõ}‘é£r(¦=µ…"†/zý>\vurʇàE¤£ÐßNÂV.¯‹œut„Š±Ú<‹ÚU±Ø(O÷qàž¸ñ¤Ì®4ât£…ê’¬·5Õ*:ñèO4ŠB+ºt)GgðQ*< :%ÛZ2+b¥÷Ÿâ<”âÓ½C*Æ«’ËÖ^ûôù6ÛúQó<Ÿ€^}dm„çuið\¥¿Õ±ØzJ5×ÕÀ +$9¬†®e–¸“]-ÅÙ4M˜Â´]‹æÃïß@Å•ÔµSáG^ÅûÔQxmI\‚ãôÏŽ7¡£Š|lBqå¶êÒÖ!:Q›Ö)ëârø EœSZ²É?ŽÀ£ô`<Ь ôSû—íÉpù~ʯå`2A—8_õj%ðøÓ”7ì>›ñªN—`o÷ˆ]0Ó9‡qÞ\“öêJÂg¸])÷Îx®î‘àÈ{ÚøP‰ŸÂr7þ= ×ym“…ÜË;úÂE¼Fä2¿uáO}g’̶Â"îïˆü~áÂ>L¬AÙÇ.­žhÅ(¿,ç eÆ… O’9¦ÍÓÚÏS‰›~6:Tµ–¡ü¦ÿj—·•ÙŠÏ›ß—òÆ[0nݯ°ŸtÜ—çcèQSRÕÆÌ´ÆÑ“(ª“ß×AÔ–áÙ*ãéÃ¥ ÿK“è­ UÅ7¾ŒÂ>~š>°·ÞX&í’ZÑW庹ÄûZɧöîj‹2ó¢(ä¾ëž~(àJÎ /M×LÚ]f —SamIuå–=¦S›El'¬‰-Þì=Ã:’R¤Òþ!¼÷ Ú¯ï‡=>M˜3ìnö{#&ÿ²²K¶³l¾:N%ÎëH ;Ä+mSÇÇ +–&%Ðg—€Fªû× eE‚¿ˆ„Þ'}ÆlR°AÁp¸âÝxÍÌ]Qª>v—)›¯^D5Û,}3oë6ñN¸» :¹$"È ‰@ „þ Ü¥?í.`NvËÈq2úü¼¹È`öóHâ}EO|æ«€œûäç 4ö„AUÉVi±ÕP ƒ«ÕƒÝ<øÕQdï[³ƒD`r‰ÏQMu1)ëu©ýÚô¤}Hîvƒ¿@U—¿lÚ×e.E—?GÁìš¡.ªšúoq¬çìÐé}$¯Py×Ø25~ðø)H¦e;šD”°‰ôÙl3µ±ÁÍA]S•/ò`W|hSæoüSõ¤æN>¨;OcÞòB›ˆháõ]R•BòÁâvìswóeŸZÜÎÏ æDV/JËÇp«†¸u@±hìOI[r7!Ó HãÚ„öxŠýO²úÌŸ¤2 +ú~Äî‡kH%-çh¿¸8Pê—…ZEÛ+|sÏü‰4¼63ÕW°|–¨Í{‚n@Gæ“j»ÿ6.Ï"¶&èñŠö_Xzµ;3ËZ¹ªúôbû ´a|³¦ùSêSŽ&ƒìÜ!D2²ÿGö¤E£­ýâ.õÀJËí¨|ÀTE€¦ ôè©KF‘I·Aop)ï®ÁÆÃÔ—º' ˆü‘ªúP~}ÔÀxÈÕÒlíe¦ª„Ȯ૘;À@} ¤¾=1õ¼×ô;©›å²Òuqõiâ:\F…G¦éº/| .›ù\”ܬÝeÄ”å8ª’*XÆåÖª‰ÿÀœê&­þ—;Eš™1)´¨¼¿«]›ÂTA9_‰)ï8sGà1sÕ²%¬)ºHLcÇBR%Sà7¯©wp(V(0¦…ÒxÁ¼ÊGLXPñç¶xzC¥'}ºŒÎ` mŽKž½ó«„¨ ½{©Ö‰ðb²Ó⾤õ?þG§{ö8/Šê„X>–÷¹f•ti +dµâÚáÐVÔ~{Z¬\“l¡w‰þôžBÙ­ÇübÕUnq«øÆ“¢YÂ#8ôa¹Íæ²q8vuN’ð‘;®OÄ——“Ðë¼€è‹åÞO¹Ù³fìó¾ðå¦â/³°þÛ³^XßÊôHã +endstream endobj 598 0 obj<> endobj 599 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 600 0 obj<>stream +ÚtÙdÍÍÃåcP'Š’µ­Èzð\zA®ÖëÂJBÛv#6úqÃäXà0þ&p’`0ç©OMÀ죅cqÕ.]0uUõä›Àø3ò +³Øñ´Œò8/hœôðŒ]9—uywð— hsŽ!ÝlÆWb‰¦*œûiÖvh2ÖUòôZ2såD¶×TŸ·X>@ÐX¸0 ¡Oç1qmæo@©C&\œW~ñ _Õ'`Z,(O H¾%‹¢3ªæ›×¨Z‰N‰:g.ãÀûìb¬=²oYbRk~j.@V-$]–ÒFrh¹ÜÏ"d´nœ5ì’ªz#-éÇ{ªðü§rý–'ìá&×âÉ ´N´8MEävòL ¸“Ü›œáYà­e`&IÇ 2”dfÐêýWŽõ+ÂP äüìô|5(Ž÷KÐ,ûTˆãOÄgN‹Æ2NÒƒw %†Óâäµñ²æ£§Ü÷86]ã¼»Ñ"̉©ÿl5óâ'<ÉÓK,©ÙütŠÅcì^F–¤Gejó×2>jv.[$†ÙØ"KR¸úYµFàÊ}ÕÊ+Rq°“µÉÆáY>;Ä¡&jéôž†º¾´Ãº¦óúôÎXçšÏî¥4êco£¼¾ª!õÁ«ÕõØÎÈÍ©Jd'dÅ#.'Ü š‰27]:´üu0Ò°—Ø¡A¦ûbPøùÌþ[!} F0[þ½oHû>/nFmIŽœ—&/v×Ím(ž3¼e»KÃ>À"‚|×úw·v'}3‡Øk”°–=¢ |N^8mp¿8X˜06è5pàˆ¤,™ä¢É÷"nØ«Ež³Ëò"iÜ)F¯?ÜÎT_·„™tÈ.üëvl·¨ÉŽ<&È6_JdùIQm$~S#³š5r¤È˜7C̽í%%^p²À ìYÖÇ¡ÚW< ý•^á4:Ììs“Á…4ã[þ4Àpð’šÄèt|íØ_„dlÂ)½ý¼ …· Ê +ó`3ižjÑ{Goú][]dV¶ìi›„ø%©ŽžLÕªl‚ÍÁæX®(€ºÊ¢¨éÓžAç%g·Q=mY&]$Ž%Ùûã¸$ÕëàX{Ëâ°áÎêún;̘¡4ˆ¶!ù¡€©ÿâb¼€ˆa7.,"Â¥Ï?…øÐ35|\Óò‚Xèî+ªƒ,glpGfÎb«-<’•VS«mìFœÅDðÓª#½Qá‡8Ä×ì‡êÊJ¢^Žò#­ÉKAȵõæ¢M» Îxa#¶‹Y!÷¡žXÅ¡bý7°äfÈá.Ç0ò tAYuä˜Í]®³O‰¶Àû.íà`ų,ëŒ<Á +çÊ%-/ öÇÈœ,/ŠÇS@³ËŒ˜%S0ÙF‹âqÆzY¹j±r°ÌËçÖ‡øÉXòdÌÍÃYvŠgñ89 4žBjîi;³ƒû7̚УÇK1âàLðèÞvò¶´Ú˜Û +9U_C¹¤Ž‹˜_ôÛ»«fâ×ÜÚ6Å"ØßC6áŒÄ-g}Qò°ïÚ!Ý)³çÖ†!µ‘Ú_¯_d¸k¶e¡øñJuÊÍ8oø[ùç8rÎèý3 T ÔÛcâÁÒhK,Zó2F[[˜8ÓöÀlO , ¬ökñƒŒI•Q¤ž¯êyÞF4º˜–S^ R oéÈÓ*°ËÄ:L=Nó#˜Jww"Óe1 a&Ô3_n,Ú.¯…tÍ-)Ú3žÕ³ÄÇqŽübý}P’„¯wz$ýBeÏÈ}":%Bé$–8fÂI˜9}¬]: ¤Û­û¾ÿ` ž\âL6j¯}Õþ²žÓ×q,ã>NÜ-£t츌DL ‘y©?™û'¸éZ£¬(c3²ÿ¤}Ï_Í°¸™ëlBÌ^‘ê–6\=ìP ®àOfÕ ‹®O²%—ó †Ó‘€X£\Ô @H[òŠªù™ŠK0áyêLÁýõyTÈñ‡¸žif¶¬/É +:éz9OÚ@ˆ†Tç³)"U3d‘¦…/BŽz­ýi 8^V@ÌÝß°O ögÅÝ”NÛ å4TE²œ_/Š°J+ J + +Í«_\³ùøù³ä¼EÉ CêÞTaN¢0ìøÎé2›ë¤p“fçì•Ÿ­B«Î÷d.â=׳Ü8¨¹·WosÕìi:q•y†Í|Ÿ(ú# %®Àüjª1>jgñYãäíì‚:ébªr+‡4e­ë1US¼÷ÄPŸ]¡UÉh»¢Åé2E׉¡ÔÕ¬1;Z‚¹Ÿ—|ÇNwr—zÐe¦€jzMŠ)±}ç{¾>äVÖÍì†I¬²4 ;ˆ¢ü…8ü}ìtÿa”~Àw™¼¦ˆ¥ð'êˆj4W®IüGÛ™N0'¦÷ÿ^ª<³óO,ß¹N$~µxIQaY¯:súYäõ.9. f  z|(ŸçÒLË·â’bô®ÎVmXƒÚ­ñÖð¿Ê “_¨d™(Ę’ßÓı’®ì±Vg—¼Ö.°jÁg<ØN‡[Nßú$4Î|‡d'ß×Ad„|NW–¡ÈóÏ¿š1ä5K½œ†, ôs zJ퓤ͰÖèQ\îfnÑ!u·6iˆ¾6jï\噉Öçè9ÈCãIÅçÓy¸¯÷8Ï„þúº‰uhjYB`1v¬CÍAÙzá`•¡ÝŒ‡ÞÏ$§ß;Ä8Çø’ãmú¬~eÚZ‘EöãH¾Õ‰6mõ85 +$–,©ÿœkyó%hòL˳¾IpÍ_ší)xÐWKö¥xÕ'±z½G8Á*¿È»ð…"÷´œöQ€ÿ^e1¥GÑAw7tãÖ­cZ…zçú; iÄÃÓÌgSš½q…œè}°ØŸ¸ êŸáäÌ##{‰¯9|³ `<&özÒ +Ñi.Àsa‡Y9—0ËM€:x³+Õ‰zþ•ä¶Þ=·² Td(öÉ…B-ËÐì>Ù!ã–ñÓa¥y.ø]¡¹Lˆ‘#Û¢súð$šÛ²lI"ÒNÔ¾T›´½ïÒ_#¦RΈuŸ7ûÉ/Û¡•Õ ºaŸíu7Õ¤¼†¡`ÉèV›*­½åÿï®{‘q² ¶ûƒ”ÉŽÐ%w{¸K ´·rQ´š¼^ô5e;:žŽÕ¬{\À ›Lø_·V Ofê~Ø3„Ç,¬WÿOÑGÎú%[]o†5I`1~†“A¼Âu¥ô‘+¹©"¶“KÈ<ÝF:…Øß{)'^—rÔ…dq®2hù(/wìaƒq´³Eÿí)¹qº°É'Sùˆ¥ßÃBÖ,{Â`™ÉÃ7¦åö§T3v„ +‡ÿ¤øÕÿm?H†0ËBt6/€×hà9i³* ÄY©_Y h•;­þÞÇik“G[ËF¥‡Å†ßQ Ü'ø3«âãÙK½ߣø=;¸2ÁpóÃ/€³ZŸÖ\0O¬EeÙ$¶³›èê¹Y â@‹IÅ?SŠýgÄÉ‘‰¶M<|²RÈј$F +î? –¨¬4€u3àþc~½=J¾{„R3–@µ]BñœV A«rÏ3Z-K=ÖùDÀZD-ùÔ ¥8²hìÿ÷ ¸d@H“#s$îæ†&—â†ä. ?> n|† õɉÇó-¦öb@[¿¸jc6Ÿ¸É1EuÉ1ÔšoîÑÚCå ³á„D4ųaOôUÙƒžJÖ¾žýÖy·6Éc¼&úVñFH‰(é[ˆcu_r¢‚>  B(¤Åh“>|ˆãô“é +ö4¶¡£}ÍÔšd%šá¦JßÔa'¢VÈ[š<–”ŽTé eL˜D&©Ž+ Rà‡ýŠInI ¿¾L¬Vk÷SÐÉR{ë]âyf†(¤t-{H?ŠGc æ|)Š²œéºðjEf奰õmd–‘Kñ ¿]”`£'.±üŒw+hÙöh‘T:yõ÷£ ŒõPÓ¹hcbÅæhæƒ9xY‹ôç"<ÉÌų/NœYúœÛz¥xŠOGdæçÎä·ã ìôÃæ«íâ\ì3éÀ!ꃞ‘™û'æ¡vÃÕKÚ¤.1 M¡ßlBžþ¡íôxH)p9e,†¥ÝÄŠ“-@êƒr܇r§›¸å}*(»âÄ^œCš N;y¬€è½V4<«G‘Qõ—ZD9äŠ8ú’)ÈôÙ½Ëx¡Ê…>kjh.jLM1œZ2AûØ,jÝ7’äZŽMËÜ:Ÿï\2ºKרe`jaÌÃF°L Š&o‡‚Í UæóM†ÀX@ÁÑ) 83;‰EÇP.ÂÖõïñ0nctF¢ÀËö`í5xVƒHCŽÎ€5{qøîm²B´pãGê›r—¨·[}|3à{ŸRËæ·gÁ¯ZSôC¯Q2¥eˆû Ê• äCÁf:“‡žüÜ%1>PpÛó»Æ‡ø,1$ &!4ëÆqf¤üjbwýïig%£&ÿXùÿþÞ.4)g(ߟM V± šÁ«šŽ„T…'TXt&5¶¦[ÈÛ%.†ü;¦Y»ö–¾puqI¶ý.Ú¯$l·&IÙ¸õ®à-Ö¸LlSà͉vÌ1´t^Gk•O}dz]© +‚Áä"”“1Kèýd¼á3câ¬H­3®ØèQzá¼(|6e^¬ÀFzˆu)D¢ïJËz®!iÏ7ØÚÑAn•I+³ø_y>­1ócTïÁO¹ÒË]2푉=@ÆÇ`.0UðèÃ,¨ž»X–-5 m4‡Ý$Yr:ê*!N<ïqô¶°Jœˆ’ï€Y¸{-¤Êc#]h˜)³Ó¹ŠÃN°ûžÚÝú5Ù­¥ÜŽ¿Ç æ®*Ë-T ý+@§MÔ8æ^ÓSyÕŠHÛóŠiP^ð‘ÃÉ%\®¿4:YeCȃÖË5áA_”w˜cÖÒWŸ<Ðßê±B¿¬åì4JP ÌV +g%8‘œ#ûI”JÊ‚-ßè¢Ó¿zt•±àMÎ$ô·Ê/ rBh£.X¨Áž‹¹k +ŽbîŒ\¨äm–-Zò·»€± œ wIwúu+ÖÜ‚ú‡-{ ·~Æeƒ’8wž1aÖÀºæêÃLs_G3¥Fœy^܀Êqra6!M×îó]²^ÏÛ@º6£ ò¢åíÊSXá?æNEÂ!bÞ^>§¤=Ÿß2Û;ðs5ÌûÑçóÊr 5Étm)rAFÒ˜Àµ$¯n¸Š§¾ŠËôf *ùÿ½Ò²mFDqªOKßÊ­Çãó08pOJwvf\/3L_î­2$$a¡]’Ã7TQ'zbØ¥¼!·ÞöË b¶W•¤ð¹hÒq‘xM'€âOQe¤Å½&‚¥|®÷7¯]C¦ + +dn^íÜcûaµäí3vÂA!„:RÿšÉwµL°«ÞüU,Ðír±Æ_2=Y§Y×@ìæé¬V ™ˆ)ÃË÷çÎcdl@TÂ?´Y]¬~›DR Ac#ùöé2ÑãQ.øh{8ŒD ê»Ò²Šó¸Å]æ WY‡ü›WѾ%]fâKÚ2F¡@f›“®8ô5£lŸ­X÷ü+Ž’Ýòto“ÚDïÐzžFq¼Ä8…DïP©rFÛç‚[ý^¶¤V߉ñÁòñ‘–¹î›ù¬+ð#b„w‚9ÛCz50.=ux¿+Š g}¾Š³=ص$̪ݰ°(tm¼]ØË2E9Ú—äd7LeäñwÔJ,JÉú²—ó‚˜àñÿ}äÎç:õ7€*dfy‰ñKÙmüË÷+mѽhà?0¼] Nau¿öÿûjûeR²¥}3=6Bl Ä-c^¿÷9°f—'mÈfÒÔ +í9êìA¨Ûáÿ¯Ð¥ûA?‚l²œGK°4RŒÓb~Æ›Í4û9Ÿñ-JÁ²x:>øŠš=¼yøóê&•ûÙ]»íc¶Ã¸ÃüäK­¹v'â—¼ª±W””mDFuáç§o‘xâ¡0¨‘æbWÚ€_Ì×Ê‘kaWÚEØ8ÃÇèÁ:}™@ÊMI0îþ6ë½7øœ)ÜZV @å·GuÛT¢!>Èݽ"Ú¯âÖþÕ“hM³V%“l½!ª=íÉ`#œÓ]ƒêYý‚²·^ê8êj9¯ýÏç‰W@š2Ìj`±=kšï™}Br#áÂqæüð€–V‹ò7ëÌ42ß¹Ìù‚¢Ô§Kzºª`Z_‹SÚxs*~µÀóZgß‹­ø÷²»:£ {Zt­X5ö°"KáT;¯ÜȜٸEÊ–WäÍew9,GÙð )ÎVbrìrŽ–±•»ßGmÈ;Üèÿº<Œåç›=Q) #Ý·û­g2¢+ˆ-¬Þ¾èžÑt~,Ìó¹Ñ ]ƒÍÇž®‘TàfNm¹£ÝÏ—ð\ä`ïûíIÀòÅ·§gi¸ø†?;JMŽéï˜âwxr±ºÆÃÏ ÌôRÔ¾w÷‡>ã ¨Jì°î¤g®»<‘yAÏo;µ`bÌwý›ZÞOLWÇÜ« 7•â Ô+28îX»!$Xe¾!ˆ‚Є"jv×^ž[Ãö亂¹ÆªaãïgV6üÛ-¡yËê>0ÝÚdŽV´»¢çó'¨â‹ìd0œ'lÀÁ>@÷³’xážÌR1ny 2AŽ.ËÕ&lûùóJÅzWþå¬EFÍ”ûÄYN0 +endstream endobj 601 0 obj<> endobj 602 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 603 0 obj<>stream +gÞ„[dìÔ«:Ë[+G§_ª£ÅÖxÇû „Aΰb£ÇõCYØû#*ÈÜv!Ã鿼9‹Òûšm&À’Ì”óÄì·Ûq5ƒÓÝÕFæ§ÐÌ›©öw"·›.˜‡ÏIÅ ŸÜ5¢]“3Ù€ºN¯£¡¾aßWÈ7xÃÛ5PÊŸ•ùå\išÙé…R[z8ÛJÕ¸æ¶êÙ3 ø`v±Àu|u&jÓé­ ¶ qŸŸ¾}Çþ|“Ã*F«D)ѯê%º¬7À¦Pâ¿÷%T¦ý{—m— Ãíwâ7,Õ +³s|õöœe—mêuä˜A …Ø,óŠ7fùÈ< Ò'€k¾€ü¯šA­V8ÃB5ö’ª2lÇ@ \v쌥O«ÏÒ#åA-)pvÙ$õ²,Ãæ'†•£«Y'û>I8GMZ ?* ”FNÖžNp­òJtš‰4+À1¾áøÒ£ÄÜÁl´]uu.Í©y›Ä™‰¨ó•jj¿ÞS7„ùãGUÒ +¾ɽ¾X¾âY@>Ìí!B·®¹` fÀ)T&¬—´ýæ_ñOBþl ÝšA › ”?ï‰âœ.j¬ÚŸº³Ûx½îÐw)âíh€Òù“Êbò;°./CÇèy{Ú´ÝŽTïG]öÀ¯Ul‡Ö0rºÁüâM ïa]ïã ¶ùó!‚õhÕ?óÜ´$6%W™îŽkÆRõÆG‡NÇ0AÚ_î DûpÙ'[“†“•Ô`DY’Å·poª¸ ”{‰ÁºÃ ×bzpÁX›òö¾G4r½ã‹˜yGÐ(ÃsÓŽ½‘ Ϩ¨p¯©G¸ƒ^¹âµ 1F;Ž—M åæ9()D ¨OŽá¢®—¾ ç«P©˜};ïávÏVm:õ+®°©W¨ÔÖ«¾;Ѭ²Ðá~ÅéÄýsx£Áˆ5¨BF6ȱÓ1/{B+™"‹99E_1¡ýrÕ¿:K_ÙÙ­%ðÉçgüüÁú9ÅY̹Ääõ© *‘Ø*.Ztn%ŠäZÅÅ•¡Éßüzû•Ç%µ>Gãú9Ù^ðºÈQà$1’>\†ìÕwŠ'™ à\ „Ñ+=äéÝoEMa°‰FDÉí¬\D*nÌÚ_oÅ.Ñ]…n <Ùù„cËy2h«.븯9©_ÀÉIM˜Û*‡¸wI¯¹Aãcksé$,ßíÝ©›û3Å,+ØÜlÿ^ZÕ¦ˆ„Gñ¨ëÉߢ”ÝCºÇ +¬þ“dÕ8:ùaÉ}檷ÔÍ«0ufgqÖòY.ð4Wô|:w2ùþ ø»Ø´Z¸‹[‰ö/Öy€VûGQ#ƒP~¹Vh­¶ß =bÒ%³w0Èüvûl%€þ˜ŒÂæV +°I¿:¯€€3&`$³óˇ´g" «8ÄH°ð$u"ÉNª”‰Êµ†›Â{žÙIÖw¿z +¿©ð‡™+YÀd$ßžd8¯R4ùÈxGº”D!o¸¶+z#á¤_§NŠÆ—6ÅVMàs>NgŽ ¢`˜±N˜1$eQýkë¢Fý?p#¾…)“ª¤ç ôÊnfsŸŽOx‰ý\\. ª'³#si€DèíøO.Ônõ-ÒF–O’¹¼ç äš_ä• ò”‰à3§Îb‡4—‰¬ — 9 |¢hÿrœ[’mØí-³ÂÂñöP­Rÿå½Vô¿ +šªîÑ?šù0ÅtýÕR?Ž¾y`•‰BeîÏÈ’ŸâÅ`1v§ù'ì÷'âܨu[m¶ØŽÉ’åç+.µ្ԎªÞ±ŸV/#'@ßµ>JðE¯UH¢V– +rÃ’y*,Úf{Ÿ™=Øüüè£6uì"írp²ÅÉŠ©·S ØúÒõy«ËxQQ&•ˆwP ÒS7¶ë*³ZqHN#JmוÒJŽ`’?ïš_v¬.:îÓºø¸ô¾øfÇòV‡>g†ð©á½—“ÐŽs®çD|4 Åa‘Ö­l'»ï¹à‡¿Ú©ãu`C¶ìF¸TÎÜÒ šžˆÍåõ4aV¤L5ŽWaôW† 6Í{«ÐÀ\æ'ò(Ý¥I!„“èž~ÝôÄñAÔ¾rF‚fHn-D*FùH 4mžböÿ©¹'´æŠ¾§T·0•Î²!±‚ˆÅBžÂ¡õýn­ Õn#ò°˜ü•®ïŸ˜¬Gšh +&ñ„Ù)Ý1rõüÑžgo˜¶¹T +<—ˆÌì÷é YëùÈ¿]oÃñ ;¸1\(Aô²Ø§ÚF!»l 9(nÿa/!¼b×Õ„@¾°žÙ”) Ý•.2îS¼÷)yp‘í¹Þö)WmÛÃÌŠž…üõÏp»cÜcx¥¾ˆ–ö¬ T–][Ï´)ä|SøäÖµ(’‹G)¿pÁ½Ôµï) +3÷–Ã~;ÉÆgO¬^ùXÆý +‚¤óä’Ž˜i ¸aÿ¼Öyqn·/{ûŸ_Ìé‹Vqïuõ.}â·­VNjšI‚zý†á"âSh$äZœJz…Ñ>÷!ϯ2¢b)Ã7öI +€%³Ð:ÿ¤lýB0qÛ» ñ}6©”¿éZ…VŽ¾cîwYf¾ D7½ k´(öè(ªÁo0HB7O5Hø_bž²GÖÃJ[¬sÊÃet’Šo´[}‹Aæ‘×µ—6=J‹mó] ®—ñ§Q’˜?'Ówå×~{e4kÔ¥šÇWcå¥aɹ e±¢µ÷Ý´ƒ5%õÞ˜¬ÛE)½CˆG´/|"眯5’:Ô²¾XGÅfħî]Ì n¸G¡ñ>¥GŠ™±p!Ø™§L±ñ^` 2ø©`ô!¤­ü¦o/[§žin„Ÿ-ï¦ïwñ +zÛl“®JKVjœ® û=ñ2£¿ñ¹ä·^¤ÜQÿ«8§ò˜KJLfÌ/ݱO` å‚C¼‡Hà +ÞØSŽ†Ü©™YÁMØt.‰ñÏIö|÷mé-|?NCÁIƒ3ç‘Ž3jgâqkù§w¦L¶ ƒ_˜`~*àjÚØO'œÏÅúœqè=|Í>¥ ×n¯iÔ«àE’û$â¨Å +ìWõSïìôΪ|¿Þ‚._ŽžSÿr,P,¡–‘4¤=Xü¡pó`kB1‰*†‹‚ÂB¹&ü,’×W¤°ö¢\DLo0«Ç±ÂŽ4¶2sÚ![TÐ<…Á/+ 6*â‘Rðõ06DknÞ¼hJ«”lJÆÌš¨Ä7³Ø¶“„WGPúgco-„߆›\oܵ*K¶Þö'uëVÎ2¥þËhtƒ'û-ä69PG +Ûy(|=QôuY{sDÐDØôüï~.uèѽÉõ*#&úY‰H„á{šßzšaOL¡LcPlç.*¦ëm3í)T™göúMB„ô/ã(îRÆVcLpyu"e{( +©«™R%ž‘GM¹»H©ð¥©l‘‘Ça¸=¶EbФÓòýuÜ‹šŒ!™A»XRæÀï<ûgˆÆä@Ò']¶›œj'"®¦ùûßàbß–¬FY9åObÂè³âð»‰ML˜¯¨&3­Ä,LÚk¸Æ>ò™Õ%¶A?óõ¯~©3éŠ9gK©[ÜVìå"|ìtÙ@˜X¯$¼KŒÙC¡PcÈñ­°/[›°î·kÞsm6º)qì‹4p,•Š–Ê%ælö[Ø;[NÅ`»d<¢;d>C9Ð8á{ óÙH¸ÄªW¤ëJ™é@|EóˆÚ&¿)Ì6†¹0 +ÊËÑWÓc `1?éµçÝEèï‚é 0ú•k™ÄL Nóºÿqz/oEë;h¤øl«{HÛu:*pOLhß¡$úµ™M®D#Zë<죀niwLB[¨¤×owb1./l‡8Ù­Èl¡Ä"È"»B¿íôìòû&Ì„„ =¹4ÏkEs~æ›ùtܬºIcpëßh¨pÈÓÂKЉZ}E—flÕ+W”¥9’½²k '(–1šÇÉÂùñNkpžÍN½2Ó1•î¸—N|ÒW&4, ¦ï¥¬§ƒ¥~° +endstream endobj 604 0 obj<> endobj 605 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 606 0 obj<>stream +õ³7m\-6öÒbXËν<Ë÷Û´6ÓÃü—`&á–¸~¶ ow‚*)q&¸qÉΡXJ¸üÑ7IO­ù}¨X*¤ ¾Dhû2µläÝC½Åá(©VmJE+@ Ñ ^«B`À7+J£Æ‘*ìé&”ÁŽ8L‘ÀŒ,º[Ís.ŠäDvp‚å­q„­ÚƒñE,½ÍƒhôÇhššæΉÁ¨æÿäïAYw ˜‘Õ^ÈI¾é„ÃyŽAïóÍÔ˜å€*ð_ž™êb[›¿],XªÑÊ ,L¿zæRY~s¤à’è»Úÿ©S–ßAhv §ÇtèËÃ5VÞñ•¹¿4iŠ?$ÿ.X£ZtV$s÷yô±û™¤ãhËœ™&Õ ¢ý‡FK³5¡´"âu†rfÖ@bGÍú-{cŒ­ÜT+ñ_¬oÔÃjŠø°à†'ËKM$möˆJjo7Dc\cÌHw(ãb"kËú÷n‹ 3+Œ˜cciÃ`õÙX²6mrlƒ'õluâ5Û¾ê£Îß0tQãèÚð†•ûlZl$Få0»+ÒkÆ¥Öß›åï—ÔP¢¶Rq¦Dµó¤ä$£À•2‹çt~;—%Ós”[7õ K²U´Í>ê²~YÊ>óƒ·Óµþ"Õ½#æNÿ‚+ÅÝ–‘XG;ô8õnþÎóów Ù$* Ty0¹8º{#cYc<‡’dð)ï$—÷•…F(ÚãJI?GÏ,-àió@iîèT'x-€í&Ë¡£¤ûßùžá¤™Ò¹‡@ÌM‡AX ú”î,´/ôÛ²ºÔ°Ä×®ÚÝÖ”Ør»žuÞ½^Í'OY–SŠWJì¼~ÂÒ9”¹Y§ðmÄ}Á=ñL×Õ\IÀ m³¶0DNíý”ÔMCÁ÷cNÍÝ÷öT "— †Ø^^Å.¦·v-ˆ©èÓèp™Ìßâ˜äCå^{r—Ekñ¤÷¥¹“¢gÕGjËŽ™K(¢ä ËÜŽ'~ëbdA&Zû¨œ ]’œ:JSj'v^Èç¤(½¤®=$Ýë1_ÃĶ$_Êk§µŽ¦Y~žøwð4¬…3©ˆÿœ~Ô©± [BŒ> Rg;Žþ–Dqa¹×èê—\ÞJòÕc«’ù'·y¥W:iUu©ÍÈw8@)§3FË0µÙƪï™H`ƒ[dnœ{%Uä:Z §J'vÅÉQ V]©‰+#’-+íçÑÀXWÁg/–4n:ç­s5-™îî2%„/Om·Ö8Š¸ˆ-/«r2XBPþœŸ±ÃS>1m¬çL OœöO8»Úzoéaú†}½’I:Jí8©€/©ÑÀkß^OÊ]6ÄÅ—f°9¯Gþ*¶íwù¨~(t< ?·«i|Á}©{¶?bÅHöýRÙ.,‡m¯ì*ãÄ“ËŽäàȸG¬/u¤äŽRb–÷L§GGí?}ó¥Ï$›4­¶èÏ/™\ßyéÇz­Œ«{åyËl—7E5 `¶ûqn> ëè Y+]Âð*ã!òïõZþœÅQ8bœ2JU +ÆuX0ž\Æ>lAQk f‚êIv8r$«UÈ<Ï{!|Khç~¼Gªz¿3F ‡Ó’2²¬þ÷·[€Ààú3h'÷>F±I°ZO%É+[akü#% +$cúF‰ÊU©´bD5`÷òÍáÀž/éSíýŠãцo³µ7î³ QÐîP1Ͷ›žù¾7TÀ$ƒågåk'm +>r™¯øpÿgUØ£Àäg…N9±w…[rÍÐøü5€Pê(2³1ë,n_~s%ÀpŸRîšè¾«…²¢ªM߇O> °áPha¿P%,_óäî·NÆŠ.ºuÌ´)Ó‹Ì/Ÿ"Ù +*3=$väŒh‹ELË¥/E‚ç™Mñe4䦬 ziö¿mß¾GÄÊ™W}_Z‰sNˆÎ{p%†b>‘²ñq›Æl>`@òÐezôRñ±¹rÜ×tÊ-£|:‡)ÿ“íÎåZ:pË&y… +Â]±”Ÿ:¶Þ)öS²(/ýéµSL¿;{( yõÆ¢Hòɸ“ŠË{«•‹µý™¢þU +ñ)\l¤.èó¤ó™ÌìîìBPRÿ ñù@cã ‹vÒ¤›øÙêqÏCAÇ×äÕú6[ 9£yð~1x« ÷¨¢7×Lôvtò¢zxÃU,•¸÷«>àË¢ù1Ù!ØWGŽ'ýÕ¾´‚µ6|N¸m·9/É™X&ǃZûR±c‚‘¾?ëßÜ%Œå0àl÷êÊÎŽq=r©ÿ»V¨ ÉÖì 0OÄzrf5õü¢­á8쳦Ax4{hñº$’ð  ÚPÛËûM* +pjÕ¼©ŠÅ‰1ñÇ9H3n¼’Õ–û2F“KŒ²L“‡K~î õÒÖ1²%Óè¥ݹÔÛšôn +endstream endobj 607 0 obj<> endobj 608 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 609 0 obj<>stream +*6à ŒÌT†o†=ÉbÇK3xZ÷*b Äd¢-‘ßöZ€_@‡Ù.±0Ü¢8héÞöç”ñ¡Fv–«¸F‰¾„q‘œ(àZøPíÇt7x^J™¬ °2µÇàÓP½¢\ðbÓï’ͽ<¯Û×™ ù¿¦Kï becz¿xp{ LT˜î&M6ç!êt”¿³K.¦Wò †¥ë­­câ9Tt$éˆè¥n%¥È9ÞÛeHßçR°Îþ”w7—ËD:怗>ö† HÌ’Eäi`™U›$E×|µéV@L夬ÔñPq¯™.…rfÑÄï—¬v-Y>”ík‰EhYìÈiÇk7/k˜°g¥]™üAæ*@§³`!]*kžkð¯Ë mûÛÌÏŸqN˜©L&3Uû$P®#†•cÕ‹>Ùúo;-4Zá7fº’B©©©Gµ84Q½GšmJ¿ó§¼ì¶ˆKFŽ^ún§ƒBÄÚ‰¤P,Ý_““Ù¿8ƒK ÏÞäâ/r§Í<©¶ þЭ=Æ+0ºæ„Ú\áJ¤7Õh#ôé´€¡a4nIPh.71äæñNêàE—"n 9ýyŠ¨3÷ÇfŒ°°®b,!ºp|ÄÆš–kc7¢dœÆ[‡Èþ'… òãSµ«5#ˆþÕ¦&?cbã'õÝOÈú<«Cš•–ô¤uŸµ/VpÔ†´ñæà yÉZ{ÞC§0j~Ìiƒ„®ªç~õ“/ÆA-žu , +s^ ª@ÿ¨ Ôˆ‹Y»²$‹Â¨»|–EÎK ‡¿Vë.§-nøÖ•æù¢o{Hž/×<©”S–¿Ç©WÿkJUoC™“ŒÒƒ•™ó¦÷9ô tEmˆ +žL‹³aÉ5¤5à+/ŽÌ²@Tm5™×K ³Ê€û.YÛ/b0÷'ÀØÄ}|؃¨°ª:Æù|F)K†»ÍD¥9†è†¾¦Õøç²Ñ‰EI¬ô¸¨¡\IÑw…ÄÈN~È^‰iiÊwb¡x€·Û©Ñ$rp:eé Cßr¤ìž-Zq¡h÷„½^Åy= s“§øn+®{Oë°+ÿL(Á´ÖË“x24Ú·ÀT89É?¯rXЭµ€¯Z}!ŸŽ ê㦑%£º î‘S““èppuloýÐý³æ‘ÙÄA–õŠ‰ÆgŠ——ÑÝ,ržKÍ”4rq¹•`dÊÂvŸE+†ôδŽŒÈ$úÃh3‚¸ÀzA£Íxì’ÉM—#ÔñtÈ})ÌàºnqÕ…ùcâŽ,áïž«S/_ƒBHjΉ<¦“:ð>Ô 5`ùe}ÁªaZ¯‚v:cîªö0¡•4yÇxWU:Ô®€[o:ÉåoâHŸÉ¶ÿ{Ê°›¦eá“NBåîVÊÕ²ÍÛüšõ¶ðY_?'ºrØ×~{ñ‡ãÐè­Äë„6 b– +x«F¨mÆÕr, +œ(òDe@ßd ”"ªð‚dàdáË^âÖÔ)½§¢† cxä ’¼ÅÞeM˜AÎɽŽU£IJq1ã†ù9÷¯›C Ðʸ©’ÌV":”“œX¥)Fâ‚Ÿ:¶¾Ã?Mx“¢é}Q«®U)IZdF\)¨/X¨i}™;J¥Ñ#þü”uMÎüò‡2¢˜phÞf·Í°ó£­%ÀA-€óe8ÃÊ‘wkóc™Ñ}‰"~R‘ÕŠÔΣæç±öŠ]µxè® ù2À”Q?n¾¼ 2ÁÂHþ+D¿eIwóû1áù ¸õ€"7„˜…ô†I µïTÅë€ÛFÄ»åÃS—·áû zûOòŸé<~ÿk«Ê¡ûLos‹ÎÂA«A[hlÏÑe½׎ÔÓ¤ªw`Vûê@N^F˜W8Üï¢EŽŸÖgv¼ƒXÍaŽx M./¨þ<„@šq~ÍË@Ȭ)]h9r ÜÍÕ•õ°rÚ3zÐ1©J©Í °­êùõ±å燐–ÿË@kaþ A³éúò½xt£ÁÖICà;ýCrÈ' \“ M‰Ã$šøk˜ˆCC€÷Æ=¶ ׳Ž‚œ;í—MµPPç;2?—PֲܖùžÓÙP•f ‹ÄY/²ÓX“µ´aOˆq›‰1&>äé +pH˜•¢IP­szöþäÃBèyT|ü6W¨j~gÿHÚ‘Õ6SÈÚEÓbÈõq}ºŠM£E“.T Ü !¼õïÂÅŠ4ìÎ4¨fª¦¨ ¯aNrd#18ÏBwE£‹À¸K>LÊrŒ¢µBL&8ˆ<¨ê3Øëv쯱f}ó}h» ®[»—k!„3  @6A•c„Þ«fövp“™´ ¸´øŸ† Ñhê\Qw¡)Émë¨cráô¥…•´¢imº…éæóDfÙD¬Ý0G3Ú€ ïÖÙ›gX€xŠ·Ù…0húï} )ýº¿âíçý"Ì»µ3õZämZýÛi 5E–²êSWQ…,!4•Peªò +ÖrÏÉ$ +úµd©øÿ.ØDÔ¯KŸèÃ2&<¬“uAë¨áMÜHq¸ˆÍ¼ÄC>ä—.ÏÎ3ò'¬LxxCŸ¿@ïH%c1Vj¢™7¨Õ¿°óï¡S &ëäÏ) +0Ì(ßë…Mº‰Ðª’ b¢( «G=7çzú>ºcl…»±$XºûOFÔÕ«ò\n˜}ƒû%EÀ°tfÍ 'ß*oìèaÜS—ìv½CUR¬–«ŒL#Ê÷*`AØ‘W6?%½sö£tˆfºSœÌ#îŸ\DU_øîK' mr›k8V­ßÅbiïâH8±¨L™¥Q[#Õ‹‹,Hwðyú=×ÜYª-„…Ì@´ ‹©X>=è«Do©¨¾[›cD”EáÞÏ{ÚæÂ{†…|"½\¶ß ­|ð³îˆŠ¼}ùXG™Œ-gÔEÈ"Œ³ TEVžo)»Ußôc‘kYÄ) +—´BG–N$x2ÏR×Ñ_þCƒ"Ä4Ã8 kuSõn¯ÞŠì^xI¹Þ¸üŒ +Ä/°Ý­ÁôÉ&Ó×&(íH)Í{÷ñËØœ-7üã̽—;ñjú®ÉR¡Hóžs¥Íá8oƒýèŽó0D®>kઙٓ”ÐÉÊl–Åâ¼-_š{YœˆQi¾Hih‘8• áˆ÷̃‚׺ŒìårKËuàŽ/2r¢SOF’hœ!Øö¥ó0~ìóê׸÷ZÏ>Z‹7ÁÑw|°Ût½1ÆÔáC8ºXõô°µÖÄËÊQ ÈÕþË_?×Ïp¯k\(ô¹z'uP{àU™i)äGÕP·3,h!¯(üCÓé9øbW }³8¿Ê€§™Á¿-Í n#ÞªÉÛãNGl¹>ZÉ2yK˜]ŸùH½»¢Úpµ×ŸÀ»°–<Í}:C:n „G…9ˆ£y½õãM¹©ÚRyšdë‰ô‡§…êZ7µUàëáe#›«oJPUShØ/¤ÍÏ“ÕÕGF2:A;ý–hÓCžÚŽ[¼4Ï@V +endstream endobj 610 0 obj<> endobj 611 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 612 0 obj<>stream +×þ›PóÂ0Ø +/Iý=5ÅÊEŒ¦fu¿%‘a_G©syòÁêÿEg`Ì°.V»¦QÉ-ŽR}êPƒÆF sþªaÿg\½Q¦gh€×Tmѱá“̸s7…DÄ´t´ÖÃ2Uù«¾ù²zæ‰XDõ½0wóåR¼‘ÈË©VŠG{ûÕM´jˉ±Þ·wã¬äOÞyá­ke@æ7$ +‘q)ú·èvµÞ7™¯7MfÞÿŒX’÷TTóP+Ä;7Î^NõÅZ"âG§RH(‹Ð†½3ð™x¥`bZµ?U~ÂBŠ¦ˆ6¨ƒSðŠ±ªI´["¥AõŸf òuü½'”3€í‰åã`MÅ€ÜSvîC¨½°–€9W°•°Pük;&lþ}Þ/C[ŽòUTr'–[c,o©BmØ!âøÐý^¢¥òì@Ì"þ­n@&f !b¶8ˆŠ‡­úUeÅ…XUŸáÊ@3Z„›kµ¡q ÇÝiMЮ\6!9jôÆ:fa¯~˜é\â`쪵åŒ,µ•Œcì”ûØ\´]hZsu¹M +Ègwþ|ÓhXõ1En[øF¼?qÉUðJQd„¢šnWtJÖDŠˆí G›!âÚ^ì'>ÊÉÊ)ù£@yǶá +qÝ"jZ} þ¼53uñª#¯×:‡²–Ó‰îþ‹ù2 ÁZovþÆ€¸³*x5{R fÈ*nw±i²õ|c%¬øÃ.eä ÕÓ·%̯g`z(X<Å÷»-6èóâv® ÖfƬΰµëÿËâ*ÂØå[¯°'€ÑÓ%q&á|i¥¥/¥#.7#u"*3² Ÿtvå Šw¯’ÊìsÉâqsÌ¿ßÏëÙÌò®?T:ò[,ÐìèÕ…7UI"#-x‡”ÜùŽ{‚ÎÉEn!¶© xNý‰,Gäh•Ñ/\G XÑéPIDüׂVaï¹pŸÊéHº ù)mDF°ŸÄܱ/™IÿªMù5ÐÇב^;¢¨Kz‹mßÞ|2™áçgD™0íU#ó +ÁïØ·KÝS™åÈ&¥cUî·§ù„á©Á®Ò"tßuÑiù.Þv4sß¹-Xà{·Üb0mSËsç¿aèk ßë,˜hõª×‡dé!‚ñ<¤Ñ ÉÒŒ!.MªÓ¹õ59Í~çvÖëâÑ$‡r ë6‚¥µeÜ,fÖ4BùÈZCKÍÝó& {-²%7Ë“°ñ6ÙJCoŸê´TècxÞlþŒ²•£È` -áÛböüG{ñíYÚ~2ÊgñnXᙼ#î´í~úizYV@Aˆð¸E¹ÏÄNcP”õÙ(-MÚÐ\ †ôÙÇ’Ù¦þ/ý[AиÔ×Q^þ¦{lZ:¿',™ŸpsÌIø‚°ºuÏQPáYº´™”?áÀ‘—"ÃcáeǼ?iòR8P1„º±þVɦŸ¸‘ô¸Ÿ€üå¥O£®Æž9dŸ1p{ÐF¬µéÒôÏlÃϹÒ•vWçá8Þ@6Ð;·2Çw÷Çq¢¥ì´0³ÎÌÒíDBä&ÔN6͇¤Ã+9‹³xâ;k“,`‰5`Ÿe`ÔÅ$CjH^¢@ÚäÆÙ}Óù]©v˜kÂýö!íý‚‘Ú½£øO' <èœ~ªü{HˆÓMhX•Q¿í}t¶e~÷¬LS@ßu[çéæe#X_™´ÿ}bÜõ5Ôì|ES¿4ýãØÖ ã>” +G¡=<úõ(wŠë¬ŽbôÓ‡“Û€3„æ‰^ÍNø)ÏH]ðŠ«—2?åÒÞ¿ùº´=úÚBÈ/îÍðjŸc ÖfÝæÍPu)ºuõ£œ¤í>«Æ¥äÖyIsR»®Ë_‹$ïÒ±lòppŸ0zãpI™uY›Fˌŭ‚532ú^¤Ì›·çÆšy5{>Ýé¤dÖ±{ØPÈ 0.ðÕXRU'¯üÖ¶½` O “®ó*}5ˆP1yø‡óÜCiN>o×ý3\6½¨ZE#®šôÅÐóÎh…Ïêâ1“÷У×ÉÈ®(E -MZÊ?q%„³$"ãU>N`©)ƒ¾rÖ‰ãhB´âF'Ê>)ض´öS¨B]iT „±Òwå1à·@¿?<ÿFݳ“,ÏõøTŠ<Ù¸¾©¥õ ânâ-bdW(A[/å*G0dô°I–ÊVÊ€ÍÇ»üUs© è½u¨co9l¶¥5.ÌÝKs˜«“1WÚl‚ñâI Λ,‚(„Æ9™ã|ìÓk€Ð@¶`¨mtžÂDŠÁáÀ%u¯]5†É|eE–@:ã¡œ¾§„¸¥ˆ_ŠÝAtŸëÈõøÝ,Oc ?Å ¾üYï)§I7þDÂaö‹¶’“†{Ã2D}`5­'c·lÞ›Ÿ­ + Â{$]c<ñš·B¸â8¾&¢é~š½ÖH«c&%¢$]ÛÙ°1f‰x4ýÚפl4ÿý }`ñtÈ„»ÐéIËs{hæ6§Î€¢Mlƒ÷ “2¦Š¿#ý~ôÌžµtÍ7ÔR½÷<›²JDRB¦“e ;ÂVÀç·ü-F‚âgxd™fhî";é‰À­L²¸üÙæØ®W|ÿßFÀDFÏ‹“¹¸€BRæÌ/Íveå Æà÷KÓJKKìH!L p•q†Ü°³Û©]e$[x[E•Æ{`sk¦„jXO1™e£‡R.8ó“jˆa¸9¿dûv¸»×V‚eB)¬j„¢–xîÜKçI"ZUA”tÍádÓK¢vpö&·+óÒQú<¹…4‹Ð»³®Ø|ˆ¦{ÂwÓ±ÆÓÓ$9÷°6ºw°PâªkÐĬ€%÷çì-wÁß¾üé­ÚÅÆAôº’EttÔ¥ˆY´¡uï*0¢CìÓ²š”p¡¥Lôù9 ®®‰÷óË_m­:cz’[e¦•vƒà ðË‹„¡8ÒKcþZGÉ×kæM- ´»7GEÝ{jØäJ–`½ußÕÐspEˉ٠/kØÃu¸œô ô M—UÖšG•Ó‰ÂrV¥ßf%!ϱö^÷ÞK ÂÉ%|Ÿ]yv’RǬ2ü§¸ TíÕMÀ¶d¬H +tªF]š¶©mDð¨¹ED›+¢ë[òŠzÐ;ÖÞT^¨U øx}Qœ™!7/cŒ¨!( /@’<[þ’”;?Hƒ|wÚ,›De5–¦tÎϾ?vVªFä­tÕ~ÍJ'óI›BH*ÆQ9àÆx^`3iúÚ¶ÇÕ…qær¾µš®Þwý8”^h@íx°ZÏm·è3>@Ƈ‚}h½ºâÄžÖì4„®e­`µT—'na±HäXÌ9œV˜=ŒèKdžú‰üšï3oSˆ5u÷œî8iÈÏ"³ôIà +M—SGˆCÓ¶¾ŽÝFGoâ‰*‡Û‹DWµÃ:*÷Ÿfû¾ÇºŽx.ª»ôCÙþ:tÃ6¯4³Ù˜ åel0vÆž§ðz-ƒI9V†1Î#ÔHÎ(#×Ûîüzq8Ò–û=`U¦lR…3Øg•JþµmNSòÆdå*-Úçª:ŒóeÅ8lÊOëdOK[¨*W×L߬vò·x¡Û¶Õî%]7J‘R“åz*¡9gû‹…yŠÒz&Þ"Çä-ëQ 2RL*Є9e­`'o%ÒÔÙîÕ£$»›dÜg;iþ+Ô”y*àÇPfëL‹ZÒ ‡Q…i¤*&Æ›´óµŸÞ¦>YÊMÚ%+ÓœåXˆõN.Wø¿Å“b#ÞK; ’a<òÒdÏrþíS؈ÇÁ(Åñ[ÍX´;ÓØ)nƒ7æ .NÐß…hÔ°» ëÌ9¯j%„,Í=é•Ú‡'cA@èN{²œá” +Í… +¾ ‘.‘&»„rÙ›•mìoÐFiø¹Ž Æò¯Q¸ ÷ÓéšpEJ°^‚áë…pF{( qjã‡Å{ï—üž¾ËÝj&Ë<ão•ÅÿñwgÒ^Í-q¤?Eß½¾o¥W ”w²Êv 8f÷z÷÷ù +Sv•¾Dñ†’¾–è+ò¸‡§/o«bXmÍÑ⻋ê‡Õ!ú‚öIƾ•åuqR‡™¢ævÛ!hÕVHÛ›®Ê£3¨Xˆ‡kîY8Š@9²@3¶Üá.Q~¦üYÖw,€ù·ýhcDåYµŒË­·p´ruëÞþ èsv¨ò³dn.nOú^÷eráþ;¡.î\-ó é] Š+߬Ð=K×8å~_«ÎÍçˈQßž½ƒ¿o¼ðØ Â=B?Ë`XJ¡ +éíÝ%… /\Ré}‘;ð¡ 祿Äùî¡WîCÂzí+ÓŠëLjvµÎJ( ÈLVð© i}Š‚óý2û2ýxÀ2”¬6š´ÓY;h&ãéØ_{½Ú¶~¨ <äß·ZûLÈV;cCO©®öß8"u_‘6Ñ‹ºK¾ @oM7ÏÆ;å@±¡-Ÿ€Äæò ñwåA% ±\ !Åë“>ºÅI „'(`5°“þY}Õ¤)ÝSòÄC^=`Ø´è2ôBžßßïðZ+=i5ñFãœ;n>¸<‡Sé™TºFÁÁËÏ7~eÉøbº$FÁG²wßF#¿x¼Ð8DËë‰æKÛÇ6°Ëi6¨¿)¹KæíÛl%W`E‡Ði®1€Íúg¼¥KÇ{ qõk7NÕ¢\'»Ç8µãl1í{rdCCPAµ)VÌ)Õ¦ŠS†×»ÜEÊÜ#¥e^Qé3I½zƒ%à þž•½ =‘@= gŒ5ãò§x¢ÁTïËû *s¶;xIj “"¯ò¾(gˆîŒ Û„r=’Έ)@&H¤¨5íéÇö•ø½?ÕžP;Ÿ/éÿ?« ~+°ik¡ZíESËŠñULþTfÙµ…莇B ÆD÷þêÞÞN÷çªç3ÍŽKë+°ªwaqDÙ›CÚ8ãöÏÚüv½…¡mÏ/åèçÃ,—mþ•”2Î1™bêíIÚ»­Éë<³ÂZ G¡Ø»1¢¶KAØOAzÿ‡P·U<y÷[R·õ ÜcX¯Â”ˆÜ¥ÏKõƒß²*­ŽnF]u–!B²”-ƒAÜñiaþGꯇơ¿+ »Oƒé—±Æ.<:ÚSÁ[û;8ì6ªô_<ìý–BñžžÊÖGè.4Ø:ü1^–ÂfnÍqS/áô3?¬ìÍ×NTÒ/ Òˆxû¯:Lؘ5O"ê‘ý–Α$ªv +œf|­ŸÇŒÈÈ_¨¯Rù¨©ž‡]þª&G+nÿa +puëôýeÁ¶µã‹y4c³º$|»µº'É’yŽE%W½ÌÇë$BÈÈ,ôÙˆ†>]¸&±žK:¹hï梱ô‡™îÈ!D’­´0î5*üù‚]¹}¸×ä?‹kïNéEÏ&8z5t¾wçZäí:Ð¥é ­¤Ñ!*Úx~f%ó­i+13s(…¸Nx»ù`ͤÒºÜÅõ±6ÌÏΕ1žWä渾ç8àSìú983_Ñ Wjebñ”ꌸ©îíy¼d‹l&)P$ïù!«\{L¦bµC×ÌÓ ÿAfˆƒq/’ eRQx ×7([Q)Z“dþ¸È* ¿ô‡ýZ +Û΄kmãÓ†qÊey4V²üAzøµüõä §‡½ee¦ s31Njïmö·kËäëMo½é?f• õ°?"×OXó°ÂK6¦kí +Gm\_µ¾\ÍhØÉŸ[Ê’¿È.ΓÖ/žRÈ$ê_òO;KªUÛÙÔ‘^ú ìF=eµuc ¡¾š(tnþ1v¿µ‹ðÚF_¿p'* <òlQriK¾Ú[¼†mSëÁíÇ@×L¯ødiÖi~®_ ÞXý+*ÎÇ=]$ƒÁÕ0šÌÒí5øF^PÏŒ•¦þâKèÛâƒKœÃò\/’ÒµOÀ%¯û­hùï¦ÿÑT/_ãjqHzü¬a•qÿts¹Ke,4€šküLuƒôê°´dÀa±G(˜8"±§+¬EJ³~l²oüúxØ2àøçlAò5þÜ¡Ó´ÌR1Õ° ƒ? Åœ:€Å†XË9=–¤©²feܘNVDv1D*º«Îg5%GuÀøQÒ ã8w_ÝÃz"dŽ&°FƒÂU³ÿ”„)ãFDô,¶GÞuÒ[)l“–W []ÆQ=#éåÍ VX +ÓÁ߶gðÄgµW!ÿæt×ÛÀ›®z"Š›ñi1”dëˆ-þ>[Ð1ö—¢¹ +ßÑ4×þ\²Miîx_:þ‹*Es%ðwâÛžcÙx?~öPÍ´jÙ-7+—l× Æ ü%Ÿ"9´­~w¸Ò$hÂ])kO݇ uõ ÕyK:Žöß¡GŠw)fYP/ì¥(èyL–X¢ëpÞwöÇö}IÜãÒýÛðH_|ŸJ| ɱq™BõHCi·£ÇNEmSîHOqx~‘Dͪ•‘ûšÑãÇô¿-鸰-.jÓ"ÞÛöJ+ `À@:&ÂÁÿîÑiD{„N›^Ε¸Ä¢¸Üôñ‘xñbCç„‚]4YŸ®éŠœ›Âú|kgxØ?¢²yÈQúŽà?³¨X« Ø}ìFv.h ¤ -è(¯·ˆvìšHÒ•ŒsçÛ…*1ÊOæ:&ÄúçÒ0Ü BÑ^Û†h"hƨ¨·ÁŒ©\Â4³t6 T«7t;åÄâl$oÃkBÅ:eÕ!1Ü©l^X­nHJ ‘‡ÝL…ÎYêœR¤R:„žF#̧«mc»¾ó­ "”`ðä§)pPZs?-®$ñµ–eiäx§â/÷gcuïMÄG!Pò‰|¹y¸QÐyZà/7åˆ_3fhåºÈNHÚÂb’~¨ÑYÜêä<·œlú òOqmC°º<ÝMs#l:W]¯WÆKC ¸`¢{@!Û¥„õ’LÉÚûÀQ5—§üvܘ†¬éÛZ–o4” +ÇyQØ(ï(t)$Ý×—s+åÔ(ËžéîçJ™¨TÝ»öß.%É«ÎŒA‹~à™Ÿ.uF¸€ÓªFP›)ÿzÃd›)hªr£Ù1E÷ÄáÂнýˆ»•ùñ›€Íø†Áz®â¼ª$ñg³n;äYéF~î[ÑÃàdéû=½JBHÙ¤úÙ]pLW5‚2\ªé “¥¾?(õíÚ:¸"òö>EÁ¥·”ÙW¬lù + +ü³÷ïŸõ.3€ÍV;e|Y€ -zä%i¢Ð<.óÕwì2–G|ÐY22s+âÛ5ë0qÔ¯M•™è‰‘pÜz@*2”y-C‘QEû$éDŠl{)=¹&覷#Œ ¾Þm]£òÖ¾þqºè×Á6@»xH¾è# [j¤|Îi4Ei¤Ò©GRåDºÿ4Ó¯”+¶#T£ç9”“Šñ3äçœjô¶2‹÷x—HCÑw£Ò"'¯ù‘²ä0ƒÏܱÄT=–—åqÉÙ_y)KDÖ öÍ'S™æïÇ% [êòâ)gT”éÂǸ³þFýCþj<—Ìý·IOKhç_^f‡5¿ªxphÔ14SäaP Óu†ûa†Ú§ÓMŠOá§p>ãŠÆ¶E÷>sÀÂïøìrX•ìÚ`g%áˇW&êƩž¬8F—üzŸN yûå1=phO È$C’8 Éj4Z?WÃyP÷!Eí^‡©±…¥pî¥W1YtŒ~6…€º–~±r%ð(Xk‰òR)TÃò/-…Íåõ…‹·ô&Š¹Ã_P7$QuÙláÇBF´¢cHÞ'|ì06ß©²à!æÞ_FLqPðë¤îSs‡N°é0m¹GÿCB' +endstream endobj 613 0 obj<> endobj 614 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 615 0 obj<>stream +ÚwÖ;óÛõäW®<«öÿQtÓ-í3ð±£®úJ9+Ôªs÷yz•ÞO(c‘Þ»µÕxöñÒ̬¯¹i"£Po^zTJ.>ã„EoQ¯? Ö]\Ö/¢xeìºÖŸ­ïK9¸ä¸î{/ n⺞f¨›¿Ëw/ÁùÌ'¨㒻ixPe åAw| ÊíÖãJ_ÞêW‰ªÜ*•ú€†hfGøçM*t>9?¥¾6ÁevÚEL¦EÀ[Ñóû“Cr{ä ˆŠRˆ}I­Ð P}>³Ý#Ô´œB¿÷k°ÞO€…ÖzÝR™à¦Cà„y# õÌ¥û±f!Ç‹ÍrsÑEEïXõ +W(û~?—6¤'iîÜ%îê¯Ì!>–~ùOÌÔpãž-øuZþ›’ãjw)XŒ!fîð¡ýó6Û‡e À.¦õîǶZ%壳¤ÏŸÃýßÜÞx0ƒ¯nÝÛñ•kÜ»QÆ8¹ˆœ%ÓÎB·û”aÎÙã‡zf#,Zêø\Ï—wBoç@†`ÚQackÉ"Cˆš€à ãÀ/²w…ÙØŒ{Õs¹Oóè%l(“¥“Eõ ¤wÞÙ$Ÿ[;•ãr¿ÒQf•.`پ„sÃŒÒQ­GŒG¼ä -}#§Äúƒ~í¤Þ‡¶I¬•®×€Ê D¬×äºÃ»&Z3Ù®᫱š)“‘¬Äf´Mªy!ëíáÛ­ÿù:ÖÄÀdy7&CÒ¯~„å¹M;:Ù•¥*“;AfºnCL¨ž›–Sü]ÿev5€ß¦‹c¸Õ¦õ꓆;!+ev¤øŠ’DïNú,:£U˜ýA)A<ñ!îc«‰<Ñ3Aü×ÙQ‰i80°i“”ű׆€{¨¯^>½¹¹8`S<œòp-ëýHvãBN¥¥«Ä ï¾ÿÒqQ$BƒøI!âúm.+ÛñÛ ½ô÷ =,ic†5*­óà lw²æ îüF¥*š\AŽ<³1óµ4ñ¶³·šÜI!žºÒ…B«ÄóŽ+Óõ´CÉ̆7þôH‡ôØú2ˆè"ðrpUfЬJ&!–`K Iü³Jâh·yM#߶ªúCZõzQÿ…'9§ÀªÕŽ¿H(ÊàªÅãoÄ^¯›ï„Á² ¼Oìп¾åt&†ˆe.de¶Y¼ Ù¯>{wçñF€ÏXŒ‹7¥ûÄîâèœe­ñ ½Ôã”ù+Ô¾7ÛxnÔáì„qëb>£B67‰k ºa$-ýÉásbÅû˜DJiLòX0ÁH_¹=QlÄUŽž.”n õ_ï16Âv¾_`rÍ=¿7/xéB:TÀÔ½lºJd˜ø:C÷ôâ·-p©VóÛËÇ„ötà’°8ø=ÆŸÛ±"äÆÚ‹ÈÏ@ ô8€Ýª¤ ^È`#“N>÷Ž¬Ìû«c©›4bÇC0c÷j‚½Èh¯}þ¦-JÝ„uÑ›Ⴕ6•ðé‘æå%ÿ‹—v<§`3Ì!¸Ðɔȅe”†HQî@àÍÍ8.eZ¾• ’><ßg³½}vfJˆädÏqìü%Lsu+oç/}¡b3Y•þ£ìœZâáMžïóÞD›vÄ[¬"E8õ™êf`€¤OÊ>jü­[=Xz+ñÜ1Á7.Y” +Jy‚¦? +ƒí²…î«+(éƒaµæÄR`Ò±›W]{-Þ§x ö Á“ö‡Œ¯ô¹K»a´Èo%Ö,M²„ƒ™`—J§é·u3\T \Þuku”pá,pþñ34¡:OsÅYõñÌìÿûïdæòOK£Ä¨ë,¶Pà´e,;Îï,'$ôÖÓåqϬ•ÉW¶ 0ɨæS$:XB N¯áäZW«5\Û3Ð#Û1ïÒmð& <)G²O¿¤¦©?ŠJÆh“šr"!6Ú™¿Å½¡m.B êV*œ­ ^O³{/o|MBμ"µ†¸$©®,Ça Ñ%.Qt¯“4CpàÌÔ¾3ñžðõج׫t5%Ý÷¨*#¡=ÒžàŠÒ Þ5B&lÞ§4yjÝr¥¡;Ž¸Eʶæ©ÔaÓMÚüž*(Sö þ:³¼Q}ad€¤‘ëú<[1‰#·ˆ@Ég–Ò %\š4üR‚Ø$xô¬Û•ß*ƒ¸b1{"vÝÚJã‹bæÅþ¾]'ì¶"±ÔÕæ¼|I5Tʇ”N9C356* scF¬SèÙÁ~¾Óç1pðUèz×qAž™É +Ýîç:î=ÞŠ|#Xg‚|…÷qùMQ÷¤7·BåáÚ&ø7Y¯1bb ÏŸ[ÒΰæþWSV.™v}OÍcurË‹I»•8ªô¼9;üϾM0ð ß-ˆ¼žÙÏè¿HŒÎš®ÃÈ_/?U›v¹ Ú^úÿá¾Þ×\z8ŸA„?ÝÝÁ·îÀ¶x‰¶&†ìÐçjmX Èà¨e¦[Ãuƒ ¼÷£îì¾RQlÖr&t°9À3ÉÎÒF/–¯¾¦àv`v\y ŸSÞ5ž«Ëy ÿ¶¬ IÁi¸'š©$Ú”ØØû>Sì@(¢]Ï;2ƒÇ’ž˜€0Ä~Î6 —„Â,œ0³XPSïÑœ €ÅªÃô¥“gwòD×|Í´”Hô><ˆM©ÖTødsü7zÀ’KæEöv2ƒ=ØóEQaAp^Ö™×SÙ¹/u¹X +9«Ðî\Šº™CÖSSC¦8,N]šð‡Þer‘naJãP:©Ó7P¡Á*9^qÙ/Êš ©×qÅ—7)›Õ2œè’ ¶6ˆÇ Á§+»ìà=MÍ’2óÞ¢#³…O±vOø3ÿ<ý,Ù'»ìLȽ‹Ú‹1ò8Ã^»ê¦™û Rm}ìæõ´55Ž[5zd†”æÿ‚¿=Bõúšu{ÕôêqÊçP„Qÿ¹‚¶S„’Þ¯ü'Ƙ“—`r5溤„TÑø}°&”»•ñr¤l„L »ÌL¦ÐëÎDÇÍ›$=l¦xQ†à;•sÃuÌe<‡õÄû‚OŸ¬‚5„æå½Éï]IKc!VÆ|ü0‡cYï ºSJëàbüÝ+¹Üˆ0 ›…D`œ‚Œ™åÎJŸñŸ#„lWºƒÂÔVM1ú2Lg¨,YÕpû…‹©“duŽÔ˜ 'ˆÛ>ë}/~;›hx´ÑʱG™·dÛºÝXܲ–eX{_&꺨 443 vKR´ã!˜D¹úãPÆX:}*üMÜ’_‹ÀÑ ;UZýUOSzà ~™=ybsÉÿxÇŸßLÝ ‰M÷Ä:Ÿïhc79:ñ´‡Gx”»6Õ£ÌhEQL–ÑâKûûº¤ÆÑž€ß!̳öP<ØOÈ-«@ÃRòÆs͹¯Ø—>z¸ßÁÙO·­WÁã;F 4ú ³/ËÍ)RV¦üd~苈µU ÚeÅðoÈ¥­{fB:ϳ¬™µDQa£fXLk¸Áإܻ¿þ“§¶À)ÐCEBÛ‰z\~«{º‘ßVœ€¤C™x7Sãî‘ÏŒ€¿DN˜í­õ7ÏŠÅ­’Á\4V»YœÚÁ†(!áã}šb¯QU'å'&B½‡l'šqHxK{œzœâøÌÚ7¡×½ã¨Ë•¿SR¼p¢D ®O:Ü‘ƒq¯ÜPT–‘œŠ«¨?‰ÜoÇ’ÊÓ`º§ ÌZÔä9øVgᆙNcÆh›þ$Sî-ßpÀöc–Ž3K“·Â¡¢‘–ùºïM%1TÑÞA5 u~’çÆ„~k)¨¯¼ðÜšù³Mµû$«çE¿Š‘cT•CœæÐ A.ý–£ªí¦3÷£Æ>eó¾/Aƒ;AÊ?u.p³¯»Vû¯yÀ ·.¡ÉªËÀXÙ‚Û{¤¯8´œhVUse (y}£¢úVyAGR`nš%æ1& y¢’…ªçV ?|²Â@-ÆNºÔ«ù¡¿ŸuyBª ­ü¼ Å3Š5A»¡< зuªúÑ¥õJ^­i÷Ú,)ƒïÙ‚fN ¾åˆùJ}®KñÓ >NK)KÎÍuÂfT¬M#¯ópŠ:ßp8éˆ%ø"ù«ï<ù¬ŽêÅñX¤¥g.ˆÄ|¼ͱ &¸Ÿ¡òp`۵ώ`” †iÝÛ…”@P¦zØ}‚ŽÌ7Cb)ëÝÑJòÿ£Ä…f#ÀKïñ`¡~›±´{±Ÿ¹²õÌ}›E LàoÈ_I†‚a®Ÿ‡#£“G^ˆž®Ãä ´4O'{<>TÉCÏýf³ð›~ÐŽ‰AðWÒ¸Oæ‘éÁûýÞ:ÊC»©æP,IàQ8cwx­ €û–§þny$y `ôº¥oáäw­3n£d¹gU.$¹1õ­_ϳÓ1iìÏ&Ð’„%”äËshMðQØãBJ^† +˜ûÝ•%ÝÕ«"þ³‰àÿ±ù½æjsÁ„+/w&?»ÐE|°¡gVbé¬Ä‡®€u벨f‹÷‹œ$%§SÅ,éFË@cT)—½ý¯"B›'©¥®Âu?š³âFÃu*—™y~ö,w/9è5§EÙŒ †ZÑmУӲt=‡1ß}Ò…9eƒ§VùBŒÕ€Ó±¢HClhnÙ¼çO”?³ßm*§vMš3XQû3â#{¢ñÜs%§”³Ãì@¹r,H±HجiXh×!¾<²FÐbNðÉ)ünm¹Ø&±î¶;Ã@‰á×ÃNèYØÆï3GÌ[tuîSÿ~ŽË…ô5fÉ +Êåvª$Kª&°¶x¼2ëv¦¡ ˆ÷ó…N†ÂW^–à½G”ô[^ã2£nT,]¢¶l‰+Ì&‡ïÐ4Îz”¤Ùµ%`ðóÔq‚£·¸¨iô2?ä­KÒXšk‰Õã +à—ú¢a§áÇFZ_ +žì©=?Ð$z‰+³d†Nr&©®Þb#„œ-EWm|Ç’º½%¯à¸SV½c ›ʽ?¡Åéâ"<÷£3I +endstream endobj 616 0 obj<> endobj 617 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 618 0 obj<>stream +¬Â†: +6sÙg‹WM13ûÝÝÎw esºW]礤w†KŽ{w!Û7€KAÝ,¦’UI(þ905ú.Ë»öÝô%ÞRNO΄dqŠ$½èA” l@Ùábò2a¢”³Ì|ÿQè«ÌP oÕà <Úkív(¡ç̪lôL½} +™ó¨é² 8åð‘n•¿ CÂXfÀÇvP—«@6FŸáÛÛôç˳HÞŽ=ÐìsÞXês ßµn 0±ÇëØàjRÞæc,X0ÑKÌaäõU Ý΋Ìê]‡Ùî­xOPæü²¦±{Ü°:ì9~P‘K =¸»{£¯ÊðÓã¸|ˆ=cZdÇ`mXBÍ8ìz@œNwïÒ¿ˆR €V‡°ê¦‘hФ¡)`ÿ¬às)tþ|­ã>`Mg9})ì2íûI5…5ÊîÇ,Z¤ ‘å½I’NíYmW_ëK©A FFÀ#ºaⱤ6µ×¥V[¼y +TÐl³ñ¸Bµ€rÖè}¥Öy †1*“Õ±cC½££¯Çk5qd•Lðé%m +æÏ~t(YRb<.Ú¥%õ4ErýÔ;íÁUÁø¥æ€gû;1:cúj¡øär¸tè#³"µÈ´H, ûœ‡ü…ËŠõ!cžý,›>ÛXùƒÀ9pä ë¿ìò[‚eúF; ¶¸¡7¢l} Ivô9m74O㸴÷×™›YA1¯Ž‘Nª±îsàðDËW×RŘf¸£2^l¥ö/á>ed’–ËkűcÃZO?cÓ¦tc=çÅ YÏø¸° +VÈ'P³è@ÆT‘¬m!¸š¼V´hpð«û½EŽC£Ç<øÝW¬¿_~*) ®:ôЀ·òFhžäÿK³ ’#½ú:ÒK + øË÷L9æÕu7Eß%cxÏ[ RPãc·Á*S¡8»eâÆõ†4 ‹ØŽ4-dVžÛ^œ€èãK]á¡z bð%ñŽ¨]ÓLÀˆ½SÈf$y!"؃/{W´ý,/nsEÒèÕ¼¨èéŠÌ:ýéLXîg«¼åïz«ü¦CR r öií±7Žd å׺™¦“uÔÁÈRÈ”¹-Gj>:GqÿýMƘ•.·ãÚÇ?Ÿûõ7/f÷V¨{’âbT‹Ì÷W¿i]¡{Ž´ÐˆéK/|dËwÈhë×úžd7<¼‚¬¡T¢90I Ÿ÷˜ù6tZh'ÿ¯Kvxó%ì 2tÊö*SÊ}Ø“‚b®Rè_Gç#]‘¾‡I–º‰Ã¶÷“°hšCHm¶|¥9<6©$4|¾?Mˆÿîüvu^Cöþ„—Còv³¼ðæÄC¹²¾ZÛë v +,\£­Ý¦‰0t1! àwë³ÙŸHÎöª*EY”N¼7ÌØPè()á>š§wÉÇ[f;F×ÛÄÿaºÙÄf)a’­áñMŠîIBg¿“/®²FíC¨Àl¶\ãÅ,2Ös±ž×à„µã²[–]GLÔ@ [zàd ¨Ù£%÷#q¥+Q|s.Šè¢„’J¾–7ôq rœýrî+õݻϤãï³7ÛÑs%K§Þ[0îãœÀ(•Ì0˜¸Þ7ƒÃ)h‹ÃL*N8fqQ°¨ŒÞ;ç"AÒE¡–wc‰ÿG’:Hú-¿5š U°[ý*û ªðcèI8\q°®Ÿ±Öw9® –}îÎQ +’˜¢çsÙ’Ñ7±Sb(ñÙ½Ñ$bò©åµÈX-G§L…?Ò·ê¸&’$¸ÂüûIT­ñ0¤UÁÀ¿ì5j°«‘e |ÿå«4aŽ\ Œ«c`µ0i§9b¬u$QóQp¡‹–ç-r¥zÔusÒµm-ãa±ÑΧåÔÙcŸ- ‚ óÂæÒȇeuV D]ŽÿäËø|*05xG:PIŠpoX2íWn£y—(Œsބ̽úõf‹¥}Šò„J:;·1`ª*.ƒ`«i £ŒÜá[@ƒ¸,o9œ¯Xuïø.*ƒ<Ãq(ÛêùŒB 0£™Ž¤Upt5A¦X«­.  +äªQÕ)LšÅªã¬„tEaù§jr)W\"É×-X#ţSÜ6&¸Ÿ/°”,UC¥1ñ{@ð=ñ¤à—ÃÁ¨Ð?ÚÉTÔ)Úö¼†âY_’ñ†ÌÎw>@êTõà;_¨:øÚ34É ‘’Dúy…ôýŒ˜ÌôÓ,(e›Ò×½£mäÿcÕn€Ç|ݲMÔA˜ª×H0cV#²ÀÉ=\¨êÅHJ–DÐ*ÒV{€Õó4m¬#T +y )ÌI‡ý÷õÿÛ¨0ø+Odð[ÕÈ(æ)af¥*:1jL¤ ¾ðª8 swц]¤³Þl ⌘ÑVHWøÒ¨ñ!év^HÂùÖik|TC¡¿{ð Èü/;‰#cl–>x@ŽØüéD› %M†LÎÀ1wW¾‘®â‹¸‘‰Û³þiä¢K;¨$(éŒJbæŸn”Ñ£N—Â-µ` †»¨¨Zý€T3¦Ó¥ª[°XùŠVôb•Þrè)+>JLqÌWí>’Dg³›ú£â}H½Få‡ñ’t8u¾TsE—‡,"†OчÅë?›¹8ŽkõÙƒØF}!¿,‚6’ÝçÇý‹xG{* =d%¾Š;üÅ““ µ#\=…ï‰òzçO>¥›'¼ŸvÁŒ44’çÈ<èâ'Œw|Ò)¨°ð–šÙ_Vî¿Ùn+å²y…hS„ÿ| +®âãÂ2<¾Çaú}lp×^R>ösÕ_™h²¸cÝ'SÓâzMc¤ÛíƆÕúQ¬§’ª=XHçÝp³Y—íEpc3XnŠJŒ½qîˆu­Ê¬Ó`»ôÐfۇ呜s-Ÿì0êîô$ !ãíšãä§gÔÒ/¶ì.PÎÐ^e2ít0ü i¬Dc°g.FòVÀ´¸Z™øˆ;kÞkW¤ê;ùìX˜¥CucŠ˜~­·´ÀEÐ]=‡ s^\N£[ÇŒ—r‰œ†ÐÌu§ Ê.L\Y h2áP¤dì³Éu¯þx™f•Õ‚6« a( +îÿ¼HZ‹gϺ†Dûf$.»p”wÚ•–fW,aq<û³+,Šð.| Äë%•`³\¥äEÅ©¦§H?>C¾A|ÇWOoÞÓÎeˆ U ñtId?µÓät×âßAÖ1Ѷ¨žØ«ô]éÉi‡ÈÈÀÎ ›zAf"S¦E8Üfr‚|v§_L¢KS3Ýe€ +ÊàCøåÃø‹X)±€Íàõªêwç%Æ.Ã!~ðdEÊL–Æˈî&ý=,Š7|©Êò‹5P/n5NR맀ÈÃ7ê?Õj],ˆñ +Ÿ³‹ûÃr=ßiÇñ!׳ئ]ÖFù?¦ørIwAªÅú‘N/D^LQü¢]Žê-Û3ÃÉKêE 4í1¶"!›,¬ìcµ3µnXì…z4‘k9³ +µÂ"EyY±·Ä@Bž\ IN yÎSWþ Rh|A‰Ø?©>ÂÚJÁ¢¥Ø&»ë²`ë8ÐZç®`ÒslPÂ’¬Xf—ßI: OFØDmŒ,RÉÛÝÑUħ)‚.†¢>üT.óôûôs¼ìØŒ·Äp)Œ*PÒc™3ÓãY’^ĹˆiL}Ìa.õwAs‡rÍÚÛ ©z‚¥ƒƒSt›‚½¦·™F/ÐØSnFù@3ÉVAÙêÕ$×Ì-ó4ÁÇ$4ºž2ê¾^¾! µUKLÞœh?3O¼Ò4š éTý g×çáµ›ÞòãF”®ºÊ6p,zÊ ÀúvÃô6#Ó”DãÖ‰·‘ÁR²,ã:ë¬ðuÏK³;Ä»;ëzƆs5õËK²l>(Ù§ªè&jC.ß$p(#LÌ 6 ÚNí2F‰‚ n/ÎÈ=°‰RA’K[üé…²qæö?æ5#¼Ç~b ,oøõ-eEpœ¢ ÍN=®4ûàH :Ÿß䂃¿5*'ñÞw  ž5Ïƶ5YåËÆ]Ÿä…ü2rCö̺1ïpºÌ çŽŠ¸±¨4\Nãâ%®e Ôåž±ŽWñ ­r#ËGji„WxƼyOW¦I˜þ³d ïq¡XyrÚC¹•AnM z§y# ¨ ~_m…LJm´õkÊ ©Ó¼Ó¹ªázx¾½o·E ¦mï~o.à$ûfMn¶ PÞ™ˆÊpŠvBØsbÛMAóp‚\Y™ü a±‹ÿwDH¨˜ó‡h¶«?&!G&m±Ü<¨^4)dåùÔ¡ñÑÇb™·´Åö¬/jiFÛÓB"â dÛ€S†³í  L¡ƒ@¬¼å™vnq–TßW¬ÏYÒz‹CnÅL;òî]QËëdòž~üaσÄx®œü/K‡·áòáéb7¥ìÊyÍW·Z•¿N_ÉÔ<+^f"Ý ÓÈt'>ÀPÍ6ãg‚¥¹š0õŠ=Ñkæå*浘Vš_âÍ+ÚÃõ +¬:i÷[&ÀÅ5ˆZ“îºSÄóX§4Y G¥Í—ÏÄ~GÆ8©{¤Þî-`‡Ô¯4ZMªD?™°Ä»b«;ÿŃkàP×Üa*ŽûŸ2L!J#ï¼c[GúMY…×. Ûm@4HÐE‘\ã Õqäóô¤ÀÃF[@·ui´ nÕ`îäÌ{" “ÿ¤¿¨¢Ÿ#d­1^ÛUÂø LÖTkN‚чá¢ÿrƒaº+v+P†õŸâÆÚ\0®àA¸<ÛÝk¸òlÇÉ|‡ñ–!YHm(I9`äÜó?Ÿä£€ÆýT˜‚-È^ÇÙir>ýG~Ôؤ`,²¦°®ãEW—j!ô¿×Ü{ºÓƺL¹EègA¨¬ÌdšÆÖÚ?¥öª¹mÝo ²”Å–—RÚü3m»SÿI@¬¸ m{e£;QWªQ‰…Áj˜/ˆ¸±üB·šºSpã• *X{‘ã½Á]:n3›lM2´…84Êù>ôÇHThý0åÏ·i€Œúbj Ø ©[âÊSvhKíÌmûxcºk;¼598©ofßøreà1…½ +9T¢S甲?N’ÿ´+Ù +û0ÖƒŽ]ùÿ˜ÊX%Mĭv…þÌÓ˜6˜hË}S?UXd£L͉žõ¼†ZfÄcCé7j˜*lÉãf?yŽ¢;ª@mGœ‡ñkÞ`ÍRD™êÝ|Uœ£ÊæyØÞ–ëëË +3%¼ö¹¡šŽvªëõÁjA¬! ÷š`®Å³Ÿ¸Ã+®lù+çî°ÐÝðü¸YŒµø]:Ö`9}uñò[˜9èæ5­Nä„õ•nËZ;0™ +endstream endobj 619 0 obj<> endobj 620 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 621 0 obj<>stream +ñò!{õ-PkY~÷B+¾ÃçÄ¡~†¹ÔJŒæ’è ælO‰e=ËÇã°|Ý©¦4&öI˜mz¢P°—¿ Ï2%®Ü2óés>ü±Úe"ôt9dR¡Õc‰l3î(12%®›&ekJÄûß‚ QD“Q3“(Ö¥¸Š-džøaÊuÑœøz~7®ù;}hk…¶Î–mÃåÌÚ]Þ¢&H â(ú¶z„ñŸ4ª/øÀ© Ïí´â$øƒ‹±}CÀúžüw¸B–ˆDøvówk0‹øµOÇuŽ.Ô/IpÊ ®¬–­˜a·K}01/k¬Yv9Å©âêr¯Õ{/14RëȾ‹üô3„M÷tb›@úÙŒgYß@8} Mf–m>Óÿ‘Ým½Dß8üW Šì‰÷{)ѣΫn Å™›ê¤*<Âï`V`ç¯&wF¬ç9/ó¿EtéGã +(`'þº8ðêpél@Õ:ŠÎ~~µ.‹ÕNa½I Ž¶ùüŸ‚Ù GÄÚŠþh¢ššÁÁ]Å +eUA§=GÀ¬€ïÍ¡ž¯¦Ý'µ±çì¬qä6t›ñDø2Ùw¦ºð(sgµco–D³pâHBÂY8¾ÀN¿GA}s&#ò~ÕçC›/‡øé„È}ÑØm˜Ã +ÒëMö¦d +ï®\‹ÓX (ñÓ*ï÷T{·‰€,5[Ÿhïÿä%@ä4Ý.Ží3§IÊq@„:oŒÓÏÔÊŽÂ˽>¤>£ÅUŒu}~3ÿ©z‰.ž’½åÒ×ÊðJu–@I+5gȈ¨U¨è) à×-rzÊ4CUI$ýt {PnŽ¥¾ +[áýø]’{~‰î3ÉSÇp¼P^=RùdÎQ„=æÚ¼O×xŠÀófWŒ´]“pãðz—˜/舃”;E–L‰ó +Mµƒ öýXUþ"Ñ£Y¢ é\‰<…õCné^¾³!ˆNnºæc¶S ÀÁ¤cZ^Ìn¿#ûœï•¶ß³IXS))Sª$©…K%ǯ§LTI?',ÔþaFR[)æ2õ\ÌBË8KgÞJi“%‹Ž\M. [´ž$’D‘±åÊ*ô›ÊîŠÛ˜(oÜd'Êü_ l+,<ýõö=]çL…œ\õ`Éý09©t?q7àQ{ïÚµÔz”¸Ó+zÛ(鵚ùsš‡· +õí¹”WA z¡†3q·[ê9¡5‹×ƒØcXÌ·Ò«÷ƒµâ²ï†àr@½¡3>;4>Ed-cõ¶È±lsÞÏŸ.†´x°¦×A•·]ƒú‡½‹"F` ð×0=Àl„0b c`†Îc^Œxß ÇC(;9 ³šu4Nq‚Ø°JbE!°ÿ‘w9&àÒhnBÙAFFRjø\,^Ü&J!®çÖøK*8†ê~Ì[ÿTÈ Åº„…šXÉ‘Œ°ˆŸÈsGp J[QàÈu­ÜUØ÷#…4O³Öÿ™çj§k,³°.à₆Œs\fú3à·ÃÇs ò¸$t|Wš±¤Z?µ×º°¸–°{¤J¡0Ž k튥°4é'½Ç'œØÁŸ^¨¾‡ž÷w±j´ñž8Äž°j0¼gIìtÀmðgŒ¡ÐáNõ©Ae¯‚¨-€qØ!ûÿü‰*†7ÌnHá&ôï¹°~Ó1´¯Ûò`RGçÒ¥÷ÐÇuYGB.4Î1ÂÜ€w©—¢P\Ü„mÆñkLHîëP£;y^no¼WJ_>>w”4€›h0ƒ°G©t‚"Z°ç¨Ï±ÒcŒ[ÑÙOä.¥Šö¸GQÃôƒõèx.¤ÙG[ño˜x±a&ÓZ$µ÷‡ÒEŠ_eúw-‰®XX  ¼¬ƒÍ‘w¦§ +Ëì.Aõk¶I¡úß;Ú"~ŸYú•ô#ɦ³ ‘¯'‹šÔt/­Vµ~—¦]C‹—Ózz… ²N›`‘3òíy²‹~,…œMÌà oÒx×%È—~\˜_µ$fêÞøz6ÝÆX™ÿp½¦¾’ªœcÀüõÖ©fÉ!Åðªú÷j&|Šj8Ò Â¾ÂöÈùŸÜ ]§Q½÷Åœ·“^N —ê“a7ãÞ»àµrHF ʠβVö—éâÛ£AjÕ‡ö +#s%*ã©7;ûË¥Ácò×°©ZVoˆûŠóJŠ»n§Å¥’;ùÓÁ~ô‚îȃ…ö9 ¸²j—yJŽ>±œ»5¼C¦çŸº93éÉK%éç”#ñXŽýÉ œ5·¡ïÍÏr€ý/Ê]if€t‚źbŒÛ þxä¶O@·ñy[ÿÍvYAB'«ÒÎ+Ùô€®_ çó^Êk‚óÓA§ÃÕƒŸqX®Þ)6àÃÁîÀÑ3:‘I¦‡¦ Wé0¦ÎCíHçåi–L#Éå•©Ùx/ûÛ ÖBÀñCèi>Ñž›Ú_°s,™=5…‡R(gç ÅLöæ‹«ª‚˜|Q·Ô1]ÀžÞÐ6@÷»¤½?ðxávçGK„Èòϲéqö˜f.§r"èZõŒ"z–˜á 0èqM;Ë‹A€w¸ÞÍBwh xã0'ǦP½JÛå” +€{Ô¸ïó™²L Ù­^†ÝTà•òa¨“BdF„‡Ô¨ +¬%õ O7ÿ¸Œ—´*è+Gæ}ùÞE9ßØ#¤œP:ÊÜ3òè®éÂÞßõ|Go ¤¶,)ò¢=›BHôöy#kª«ëb¨>ë)!_fäÃÚµ0 ‡ùFù„É7#‡Î‹Œ*šÿ’ÍÝ01™Ê.õ­ƒÃÁ1Þñ^–¨ÐÉܸúÜQ,=+{_N³4D…”èR•-´Mº&èöø^UfæŽ ŒX)?̨pü©€÷¨ÉÌ9Áþn¬–¡áŽÞÚ;-È(Bc,ÃA•Ô[«©"Å$5ûá‡A®X?˜Å‰36<'¡Ú÷\>>î‹Û>ÿ–‹mÅé d]4éUvÀ["âaÐÜ]YñÅ£Žyû;o| KœEO7á0eÉ&AâÉœ>u­~¢±³0Â:Wúà^ôÆaÉÀúç·ÌZ3oÄû\ƒçm©›R¶¯qû>“Ï´JγÄÂ7A7{úm.´ô|¨gÛ‘šÆ´ú 25 §oäË.J£e_ÏÂINrêq“$ùè ·oa¹¹ãàÅ醓—§„ÌË 0z$´œéYtEhý8£sj›…?‘˜Â!\õ¨€úLyKó¯kQ% ]`ÑØÎF.:gÏWê­€•-«ÏônjiUCÒòÿÊ?¹fd€Ÿgœ#y´(! Øql~í.Âr.üÊ" Ò°©¬œf9æB +˜”H¿að9¬j‹>©ŠÏ, ³ %4dÓÂÃ?Ý9ÜëÃfLŒ¾_´®„ßÿ QY›Ì«Jp£ ÄìÉïô‰ÖÞ埥À57;±{j5sîÊD_Ë}Ø O!Sá¸äȾUy¼ìm8KÅä€8ñ³ÜŽ_Ä4eq\’$ÊE²º.ŠÉçß‚ZÂL©£$H…N~îBh²±˜É¼©dº׬UJ„(bÉo :õ+‰˜Ø¯w߆73'nå kïŸî¤÷ø$¹{vSŸE8°" |€ÐÛäoË‹ÊM)Tü¤‹ó °i¡i‡—c‘Hõ + $v8 Wõ†“Ò¥šS7°‡›~ñ±ƒûò¤é9HZ·>ˆ=3ÑæÏ +{§ä I¥€–‡o1\‹l˜×I­$¡(œkå)ÔWQ”ÌI¶ŠG•|•ÑÓv b)³ŠèÔðq5@ǽŠ±ÇFVSwý¡òZÝp2f +l¾éDÁ+&³ZŽ>Løéu­‘ò…‘¢m?ðû%–T”˜¥2)ÂïóJ2TÖÏÓ# M-¿rsTÏJd¼Ú›ÿgPëäÒ¾kÑô¥ÔCØÌúÿxý™±’Í$ Äò‘€/ü½€¸K;¢Øãdjn%v|“À¥sq•;6^³ß^ïÀNt•‘y»e7]¤@+mòTÁfü>RÂãÇeöP…Èr‹+cU„šZgðê?àYž/+ˆ‚ûN*8ö¢ |Ïzª.§srEŽ† þo?NºuÆ¿¨*Ì>™¥ÉõXÜçÜé/…ú= È +Zd‹/;- ÄÄZt+Ýl’K—%z®”tiAƒHÚ^eÚDÛÃw->LΩü’:Op•r“p|þ:Ñô¥›`YÖBèúµ(í»Í$W˜¯.½MC¤àš¿©;K]ÔGWƒZ‰4R³üu’†  %ãçsf¢Í·pó)\£v$1ÒçÑ'ùº»á™ mÆŽÅ¿ýãIA&;Žzu6–[ÌU8TËþžæ†©Ç‘iS`n–\ÌYËG´¬Þø&š£¿º'웃q| I“;OÖl —û2\GçÀ8dŸ¼¢•¢f󨼒¬F”?L›¾Kž‚ æ&ž¢ñ·²kG×tWA—·µ¶{|«ªùÈX^µ‚ðv™‰êûäˆ.J°e¬¯^8Ň³pôï´#Jšf—ÈÊ>ü¤Š}^qÀºŒ«tüóR,Zx¡Ñ[ +ýàW6~¬^÷W´» +=ÕÜXý¯ù¹¼ i‘’͹Œ-8žˆ9§Ú.‹c\Rs®žžá‘ ·AŠôÓƆlPÉÔ:Y¹[¹2²;nÈ%ø¹â°˜n'Î[«K!/¤†å©ÉIN7ÿº&T eæÜ#‚¢ÞÈƒÝ -“n "X_áuC_rÉTv1ïä—q¬J¥fÑëÛòÉè4Yt=ý<½AM_—,ø’dM…îõ -‹q¬Ð$¢eÛJ J‡ÑŸs…jÝ*SP2efÐ¥àŠ¬¯8I¯ÍJ‰“ù¦v vê0¤*Ì°ðt @óDƒpìóßµ#x ø#Òø²º½òŽú¦NÙsäGýT":ॠ˜ŠÁ* Œ^¨¾äÝ0í>sNÏV5]tÚ˜>}tó+Ö‡wÔ¶+V;ˆíÝbsX‹Jä8)µçV·ÄQfhoHIÄ·i@'ñˆ.«š}-yñ‘”M2Ãþþf¢bÈá¥Ãq¬ +&У}ú¦ &[þ¤Ádž¦Ä qÝב $«ðÎJÉ‹Ã=½ÂIt`ú¤œ{5>ýÙìn…® åÊñž÷°yÑâs†fG«ÏÅxE¢Í®>¤;ü#6Ëx>bõ¢MÑ™häàˆY>gÃTÖ'%CúZ™þz®èDn´'gh¬Ìó«¨S×î‰^û,˜¤Ò‘ì·i»Vm´ù!h.[pÚ‰ÝÙ Ì)O7בG#Gï¾@vêóîBÓ  žn“ #ª@,üþ$gý¹8¦¶ï#V|:]TO:Êô[ØÅ>QÚHgð–!«Û7¦U +Ÿp¸u¶âø>èñ™UQÌçÖüéwlQè¨xŒ>ž\Õ°9gÌaÍ"á‘ÝÔ°Õ0¤‰$BˆÅ²ŸÜ2+ZÛ<{¡¾X­Â…ÓÓ˜æ{E’!<œ&eŸ%–T•ó€›ó¡LB'CÅ +j”YZlYcj€PšÛƶŸæuYòÖ ZÝáÀÆø *³ç +endstream endobj 622 0 obj<> endobj 623 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 624 0 obj<>stream +=ôrxO?æÑäѸí;À1Ï,“ Ö(\\õrë?´Ä]ÅlÅ„ÙUø}RWO+Žg”“ìed!À–'¯êî×"f1€µ7Az£ L81 +ï,„´ÙÍw™cßem¼(‰ÖßÂøu_œ27!I»FŠ0¨ð7Ê‘|Súá(÷Š5òûo¿–zŸ2¹úâ=²ŒxUêžBM-îÖ½f_Œð% HÉqß°Óá2ÒÓÞáø«q1°”á)Èwߨo|èD}/ÊŒ:?æ4ö£HÄ-N ”µ Ø>‡ñÇCŽÂž8 +¬Z~ë sýŠÝ ê>à]>ú4y›8H–CˆU%k]D'¡”~Nœ"2¨·»iû*þñ¡ÖÀÁ¼aÊ$Lþ>¡%z¥…íÀ¦rý01æÀÔÇ5Œ¬ÏðqGCíîOˆˆ$uO#ÀÂQä¸ß.&‰ÉÀ¶õ_#NÈGæì|¸rU?N« kˆpî»9Z–ýöƒñy]•°³Ù&úŽØc=g,ýéSýÕum ‘Ù.öqoWF,aÄzæl£ª„t‡ÁKìòôh#y5?H©rÇDEN\àØ?‚uå:ž =¼{74R½‹æiuxi///ÞmËh!c°EŸœ¶BG||!ÿ²5p-4¸E«GáàAbu°Ì¼”Ë°XùMP:»È¹º–©ËâG +LœŽî¢·¸f¯š,\lp¤)4¡Û bêâr×=RByÔ4ì*“`űÊ1³>:¬j9·ßSjöÔ<ZxîêÙ‘òÞGu¼ëp4†Ç„/Gî¡ÚuRy¦›X¼ú;‰%Þ½|ýÿbTñ´\²ƒ«¿IžˆÔ¿Ù ãoaxj —ÈÕzŸr5¹”÷G55¿Û„—Ž…VœÖ²åüÝŒ’:<鉚U­Á¢(-–ÄUÍ–¸V»Õ€ÃVÈývX>eí½’óà +/«Û¶fýGy•„uDcå¿!=…î‡ Í{ogav9£N ·?pZ±{«W">/IÃt-RiõR£XŸ‘ç]©L‡›~Imdò<¡kAŇbŽ§â?ýÈê W©¼'ºÛâ{TÛ„Ì!cüþ'{ T–r{sÌh掷Gû-#]ü@œ­õDã;öQÎ "Šö;<‘ªBÎjÐÔ“çQ‰XÀǧ‰<’,¢Ø/ < ײ]·'R„ +&r˞شKK¥'æ.¦ÁÕòq¤ò+#f0Ô³×OߺW5Ç6ðVÏš«ÔcõI–Dwý}Œ é}µp¸'ÔM(NI&» 0¸Îwub\”õ~BãÔ—×/ÏM'ƒ4~K _ðù\á.öšž²ó«—­x•¾«úüµ„pOEï3¦OË3œˆ`²1=·7@竼ÐÍ’Ìè˜7†M@ËÞKÝl_ÒC_ü:Ì5Ã#ïJ´¨s”]µm7ÁÇùzuØ”ÃZð¿Ð,ñfYTG«¥øe)#“Öôƒ:1R˜3ü«MTñ8&)=¡ÝT¥Çÿ‰]xX„½yZQð}lW±zÍ} òJÄÝO‚ap +˜m8 ¢]»DÆ\†ÓQÅ6§<™‘QÝDÃ!ÀmNÐ(ó5ÔTêAoóüéIfÙ‹Hس$ñ?4Æ™¼`ËW²¾ÎzÁo© Ž1¯tˆÅ/7ÄEÓüøÃ%Õ¾Þü¨Rë{)l<Þ¬ªŠp¾uú¼s)Ó\7p÷Ũظ”U¼‰að´åç‡`üVþ"0Mìþ‡·â£“Ó€0å/1wgV ÷ÅAüÆ +1Övª° +#ÕŸ_>á&Ø{^]xn8Q5ÆSb¹RÞE¢q“}cøôåͺOÏ•¨EÉ4N¾623€C¤ß79–©×éª ýTã"uNà/û 6?§“Q’{ŒlD¬Tê´Ú µ¾O’ˈ{ÃÙ:ò?n†ð{OÛçàÀ!–ƒL)WŽÔøØ–8¢8wñ|@—7'½ ®Iš:{ñwË×;:³FV&BRì>‹¦J£ÚYÈÄE„ðέ8êªz~‚L#ñ=°¨D½‹ò'‡tªox9ܱbÀQ|¥ŠoZóÒm7­÷NCøÓ~§r¾z¬*« +Vö>ùU=´ô’2i•¤1ò'íkÙUf8ëíw™jù¯†TÖ"‹ bß¾hªÙhн;µ4¬ÒŸÓI¬UŽ86.¾‚dÜ”ùÏÀÀè¸zðë8ô¯Ù‚ çÉožE6œ hÏý‹°«·K¡f£ùËïô÷XÉtlñg'=F§µâ€‰T”sFü£hÄ +Äh Øn·}¢‰õV<“Y'û¾XN¹ÛŠÁùÙ^Ní)°-E—e(¯£ÒD>éíTRÎDã3ï83²÷RÝNnF¾6jf3Šå^ñ)k2›çðpÏŸƒÃÓ|b2$äõa× ÿ¦ƒ=Ÿ‚sÿ͵;æ¯y*yó€«7S›ÉµJ›c%°NÖÍ=¡]v µ,sÛ ÙÝ÷*²5#É~¿ÎÍcV¿ÕJ›9ò äflhm±íhÙzUïsb2úƒ«´ÊC£2§.yÍ{¹p—“BDvóÄ>t÷>XôeH?ᇣË›Š2š3œƒ1ŵ´‡³ñ§ÿ‘Mç­ëM¥È_ßL-O¤UøŠVÍ ÙÆõ†Y˜b +¶ÿdÕÚjÈ´Ä^ø,ovwI×?%‡0·ëd)ºPIÔ–wEeˆuÕÍ„¸Ówn»vµÊL´WnX ’6¨LðF–Ì>Eنѿ!a+žql•…éÛ¦T¥üK=ÅÜÀ÷:)Œ)jìÅA’!ŽmŠž0bl¢lÍ‹<ðgÒ~›"ÈU'šž<òi=º „(8¯]\³#ø–ˆxlÑu³H)!†ËÝ x BÚ•Rç=‚\eæAÔO!Ÿcê-·‡wý `%õû£Ã㥑©Í¾K/Ì×?iäVû'öO0Z,tKÃ<öpéØ ¨b ÑÆ –fÎ@'¶1Ûö~sùL¥CK {ŒZä³B>YÍÈ)v×»|&uê!â—]\1ß2À mØj +S‹ +>1¾.X GÐé•ú‹ù«Â›,æ`` Ë,ú–°º˜¿¼¶äbÃã£"ê·¤"šÏR~Kk Š'ð,ØÜ@­ÁvS~–¶“¢ §ÒüU·»ì10d玧ÎWˆL惚S➉,ü2iUw¬|G«[µÒ¹çïȵûäî÷ +´èo,€½r•™“ôXOc’Põ&'Z«²Î$t(¥»ˆát¢DVt¶m‡zLhEg0º·¦sÁ•÷âÅ ªV‚:àLr¼|'…‰Š 6ãÌt˜ïõlç¯7ˆpÛN€U +¿i¯Vð0ð £s¦g°ãùÇÜî‡[ÉÍ®7PΓ CÇ$àBPÙ8JëÉ7¶“ŒjCRœV¯GøžËPË@þ ¿…:¹Œg2 þGi==Ï[þÒ©‰C“|÷¥•¶É2>Ïȉ + yŒÑ?]>÷êZÄù³ÕIî†ÊAº*µSwã;‡Þª¨ n•&!åŠ'IŠ÷r$Þ÷6¦"VÕ÷®¸ ¸£ÀŠ£ÐFY0@'6r‡«¢ž‘ËÒñ‹Tš°7‚Ê«L7¤ Ì0±{$Šņ±«fz€P ~Ë–lW” V yg8Þpµþol óÀˆò¾]NQa0 vÖ&’âýÓdòr¦6A"+2²™¼hähòÖWmuîFŒÄsËŽ?þˆŸåœ.Å)WÀ3‘ãɉ ëÒ駼eyñ®¾èPBÇÔÆ3ç.ž¬>†b`&ý^DÇÞ%+ ôõ´‡¦|î'4ÀHÌ”1¨¡gixdp0¤”ô¼[Zß­.ø÷¦þÿðŽsKá®Ñ†£à*—F±Lwàì „$ +‰*•`K¦d•žä[¸%ÑÀ8›H»‘gPÝ£+˜$$1õ*‡ë» äúÓ +{*‡¬©TÄ¡9‚£Aþ „ˆViR `â!âÍ‚ãy*ÅÌçYô&Ý^§|W4·óXÓ5YŒŠç“à gˆ¢˜±Q¯¶ƒ=¤é +endstream endobj 625 0 obj<> endobj 626 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 627 0 obj<>stream +GcI6Kä·Pú²‚þºŠØŸ9‰FÑ'øí™v›…Æ»£%Äð s*^€ã%‚›aÁ†S4ÁKšÉ"w!§Ü°ã®HšÝ³9ÊÉÃ=éý“j‹ß ² Þ}ðÉ +rS¦æÄeHʧt„ïF¬' Œ_ òêg–nT‹õgc`»Þƒ³³dÒ»JFbA#˜ncBËve|6_\ü¨“ÀLûõ±þÀp^¯œ÷¿Ë\‘ˆñÌé>~½±9qºÇ­{ýjÝÊmbIÀ~aÉÏé<„vD»ieŽŸÞ0mÑ>é—Véÿ‚KS¦F”0®Jg(mˆúYîÞ„ö’æ3œKsçà.0ee–º¨ †U¾–Ï 7“ü̪Eo}'ñ¢Ø’[»Nºb‹P¸¬%›·Ø–ëÝödöX³í¹'[‚é½ÄMü øß¼8,̉ã#Ç!Ú»8ž¥$Wqò‡‘ë‘óg?>\' €_¿%H´7â©¿àÞ놈ù\0ÿ—Š<ÓåŹªkŽ²ÄIM‰ÐŸ[úŠ‘ „q*S¯H5¶c¾ÀYDù2 N$wU‡Ny ‡¿²!‚oˆK,µx8eFü¼6ÚOܘ ÄM±ŠÕ>¢EäF«üÅë%푵kGwë¿·ñ“Ui.6RÅŠLÍqÅyâJxQIÄfIdxG4ÿÉRžÖ + ìZ+ÃŒ"˜’LHQRFl—¢ìnngßBÅ•ãîÇùÉåJFûh€$ž;~ÈGžÞoFꛨûl:½a,jR]’sX(¹&JBV–Tp'Ï#Gš\0Íå7(#/]篸ÊFBi;ycú„Ù$4 hf°[*q‚½¡¯}ÐÓ2úÂ(<Ÿ"‰DŒŠ»À•WuŽäçÆšçh<†Gå ½0š_½ÇZ_CþŽÞ%@*QJú+ðE ,7›ôú¼¼«’Òú±©ø¯ý¢ýnëwœáw”{´º¡²ãzë?¶Óé„%½𓱎ꄆó2ì±fm_Wo“²ünS{·Aw³Ñ…÷þÌîé8ºނȱïègðcÔaLSf›Ù«9g*¾¹"™0›ø!S¬¥žÆJª?wu_¼Ë_ëuáólB,Æ×ç«G$·sÕ‹do/Ãó@{%¸<ê÷3‡åì “,.²xMî<1Ÿz¦N´&Ój¨9Šï³sØïëŒÏk`+@µëq°]:‰/ïq™ãGµp‚,/«NªIm¤äkÿw±ñ Û@žž¦ w½ûËšf…k¿ÞsÞ2 b*Ðo›@pô‚›úàÞjb1Ï ñ¦ÑχؼVí}dví}ýò}ð¿¤uX—vÑì¦Ë:Ú|Ch›à”Pô7¨N‰@²)tñòlçÔ…Ü]dɛ߳¾¿qDoC°Ïé¥KícɘCŒâº8Tù„¯bV|îk1 Iäu*²;…Ò%†!¡ÑÜ~ØÆ‹ÛغeF›j»{ž³‡ev@‰Ã7]¿²¨É›ÌðV©öS¾²wÚ2Z’™‚© †¼;…Ý0×Ìn#—:Oâ÷UcÉp³7H¤Š- Ƶ{œáD”džßj»E׃À(ë?ÉeP©j¯±++)ÍBŽ†¢û…%vD»As_=Síg¿øK§o¨±y¾Fç×èðÙç`Ž[ú L|å"PD©á‰™ªÇ”ù>3¿9†õ’<0ò+ƒ®qÌ”šÓ?®NkÚÚÁ˜Œí»Ÿm(°ºþˆJ×TÚù @¦F¶ÞÆb¼qWë°‡åéz|[»º$í+Þ9ë/º0+Ol„ï~6Gé<êéß²¤„,hX`„.^B#D­©Jsý~R±ÓÚCz×Wø¢NÁ‰™€ø7P[‡fbÑ«ñLar”[È÷ùÁÚü9õ +vXÊɾ–Ö±O—[6i<ž>•­`¨–a+B¨Ïï°^™ rTÅÇzÛŸ;~ø"ÚÕŠc6³XÒö=ΤI97Ÿ¿ðÍÊïŒi·#:yŠWV žºM& Ù¥{—ôâz‡c^Û Ç÷@Å}]ñkÌ\0'¿3Ñ”à žÖ¦«ËÌVA…+‘}•Ye{ëüoíÂÅa?¢X,HàbÑÁ*)—:ùõþú£éç¶ +ucOÛŒ$O®/³°ÃEÌœ!OHVŽè FǺ»K%ìùªAUªŠFÿÒácQ—J¡YQSͱ˛y˜Rå’°ƒÒ…3Ž"î|ùÌSá&V¤ã*ŽZŒ§Çzòôž!Í÷¬‹m‹Ý –a½Á«w›ƒ„Z*ô¤ì8͹¸õ¿˜áÛ5φ)0îåבkrŒJ¹˜¤"¬þKLÍXuàvÉÔÄzw?m`{¹qŒDxtEÆ ¤J+Ö8äÙwpüÏùÂÆ;8 ®ì¹.‰È€‘Î$ÌuPÕ:ñU®¦½%6w5XÊU³ÝæÿkÏŽ#¶Mj€©ÞƒËþ]ω¶tÀŒ (×@ÿQb˜rÍ&’*ŒOwM"t7 À¬ïÛرÛ%)tñd û5KĤÄüN—òöÑuÜG”!¸ú«û³Mü½¿ŒCà>\mí"bÆßHjrD‹Göc‰pšI[Ùm?)T?Tš~G&½¾v¥¾ÒbV@˜:p/#c“ס/6å¼z®:ý»úHoÁ}9fÓqYtœÊZš +4Ô¾"LJÙ-³[ÈT^Ç×è›ï…f wuKŽ£º5â˜X.KìÐ\–Ii?hª.µq$¢«"Uç¼9M÷ ø†™G|h‡UP‡;'ä|‚„s)š¦Û»f¯dGÞ_ùÕ +BõM¼+²½}p>°šÖ±¥Ü2T(« –¥2<L>FÓ”nñb¥„OÔ]e4oVì h¤£Ö–) _ëY÷mU½ rZG^¤æŒ[§¨yoæË^N­•™ûχ^FD[*›I€6ýÐ¥¦Ù¶ƒÑpañÞâf$ÖŽØÏÏvÁ 5$uT–[»)NèŸ@ +G,–]Ã_@K% ”ùGµÉ–ñ£ÙÖ|c]@Po.¾¯‹ +Mö8}Œv¤4]…æêw&¸Ï +¿4èËê1˜Üm™û;ðY,tà wó9¨µ*?Ìó„P”"Æ^¥`dÁçä¸}ª‹š±eÆŽŒ;Æ“âŠEŸì“)‹a˜ƒ,M»÷Rü„–—GrbhùÐ *rË]HM-ŠôCƒÉÛ§9I©üŸ\ŽR=ÁµQ,P6J=…EÊ´g®4O›ÅÎ/—{¹+X¼‡'ÊráX6“ç` +ì¤í0âågsö¿° n©C— +7…ÕÓ¾ ÙnÆe6äÌN誰Ò% +s2|yšÅj¦a<ûrѲÖdsJèžÑ8.$%äèãàæîr»>¥êœ¶Œ«¤¤ËãfÀ-Sµ–˜;61AC¸Š)B*f\”I÷NXöþX¯‡â+s²ë'²mIEÆУ¢}š©σš¶ÑÜó³—ºÒQŠe~iÜ;Î…zj~tnÂæ]ìwÉOÚ`Ê£ÙvkÙûˆýg×¢l£ÝˆŽüv^Tµl©”ͬz@!ë?+Ž> •ý€E€#c_Œ¿éDöéI¹ê3ƒóè8"³‘ÊVÃv÷ô\ÖÓ I>âBOšXt¿ +[ž…ìæpöól~ ™äY°¤ƒ!W£ÚeW£ŸWw Ûh×ÅGÝ05CªÅÿÒ¯/ò{äå Ö½Õ%|ùÙ9Õ•V#Ñ+‰lÓ€OwÒëjª€gLwuv_ê“™Áß ðnoÚõ(¬#ïv„Hqt äÙT\ë­I!ôÇ™6h³í¶Ç© U>¼Ûrd€ë{æíFôP¶Â4`Fc M'4«#¼8É4n\9­z}Ë5ºúQs …Ø’¿3=ëÒöqJð.݈ûñ™˜Ø¯«6NܧpŒþx*?êì7ø7A¶ìHm†ƒ¬ßäâ¨õ[v: ‡ýl« Qð„Á\>ÚÞõžµË·*ŠCÅQä]…öÙ¥$˱xe[ø-}è©oKK`ÿ 8¸u[%ç¾|,-…u:…$HûÒµM¹\€ À-žo‡`Þ*âJA²a"1JÂá±[Š¬«tK>¶ý’¢n¬Ã§=SMm6º‹µzQ–]* ²Ç©ÎWAð˜ +{ÖD«ú{h}¾ä—ÂýPã'…Âånt_ØÁñ (]€-Cá…î­»}æ¢1RtM\—ß”î=ÙSû |°I ÓÕö +vñ-ƒ¢ må1Wÿ¬.C}Q®KP¼«©bé7ß',2ŠÞ›ô/Ï`}Q÷¢*Ûñ´a}bÃƒÛ 3êÑèHoo3îÂôâw)/MŽ3_IÊe€4oæd?XÀf†¬,¨B6möÙMÚƒŽ¿‹BÄüÄ 7š;” gÄ› .®„^"k¤WµIüPB3mžæ2µ6!ÀÓ!Ò/”;¯¸òøn»í¨vŽí´JäCó¸G_„ä¢óGd¶|u1”æ_$,l…:’E]žlUQ3g ]Ù¾ßƳ¿5ÿ†8Û`ö!*´ EHü«S +endstream endobj 628 0 obj<> endobj 629 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 630 0 obj<>stream +™¢öˆÑ¤»Q—]ó§¡~ú + {;ä[; XªÞ·Mó±6Sè4.BôÚ€üR;åeî)Ò‡ÖRâèaó\máïIÁÏD™ÛoˆÀ +g!êÝ¥1'8ÎøËÜ>ž£É ÖRʋă*OÆÍ¡ª˜])Åü”Ø.…ž…·siÖ~û¸`‡ÃÈê@É’Ûóд2m÷NÇÇ ñzá#Èë¥zmŽn¤9Ô¼åœiË7a>fˆ³ZÕÈÑ|jËà÷EzìIF‘õÉîTööqâ=òD_ii:å úO•8M†yšCsóë ¾ú¬„\¿}´!—½Tñ¿¦?Õ€§±,”x™™ î€ÙYBŒç¥BÔÒD¾‚ÞÒz—"‘€ÃV½Oü…GÞÏfŸ!r³{Ô÷'‘Õ2Ì]„æhFüÂ<[˜ªºkÒ—ÍAñ5*ÝÃÂf¶ñŽËŽY••t梴¹a"Gðý.¢M3ŸºÊÀ¥"Ú«Ð:“ÆYf²F'¶^¨¢›h‡e…èÉÅI²'ƆÏ èBRyÿ° ŽœLyŠC•Ä›âõnå¿–O8gË(‘™T€›äõH #­nÊ úùªH8‰Ð¦½ò¦÷@§‹P°¹ñÚ¨1R«Õ›9³&ÎaÜç{»hO@f/¼Ã?-¯`Êã4rT§ÿ˜î c)OI”qö†î:}¦b‚¸z¢Þlž0M{ØÔ뾦ÿt™¢9 ‘ÄœSèfŠ²9ÄølR°µNh¾…ÎBÈñ¼Îðç*‚(g—®ÏÒMUQ?½ª ÕH,š£^'ésQØ)ÂQiëÏv ˆ˜«Æ ¨=¸t–g’ÛKð éгDaåèð:¶°4YÚƒ1¸Ïºñ¨«Oñ³`N|‚´Ê×’; fyu1(>su³ÐGî¡øjæeÛ@‰rö÷yÒ"Á-¯ç#·Ý ™±ö£ +|—úÕ¥‡gc÷:`Rà]\"ãë›{á¯Çñÿñ,}¦ðÈ{WH9ýÉYxšx“®ìúaïÅkÇ1€¯pЖd!µ›{¾†·!<l€SFí«îáA3¨$ÿ—–l}Õµ/8(âÁ+N`>¢Søñ‘)rJ¡·sÁj%÷IB«¡l×ðÂ='Ÿ.MêJæ=kª¢ÅJÙ—Qq‹~TìEÛe+ lGBåÎ +—ï×¹@fÊ)˜¨ûܽ“±Ÿ AÄÈ5Lœ%VBX=ª›…ÀªÞ40¾Æˆ¯ï­m°x˜“Žƒd Ó«–s „–ËÇ,"ŒüèÏ5$ÿn}aÅ,ÒÀÿ¶ŠöË@äëÔZjùÛ·œbl“‚it¡ü-‹|¯½>­d¹ÿ3'i£èœ›þ¼Ä¸÷~qs0¤ ]›•sܤãXø¼_dPoñ2¦é%;UŠ\:*„£÷qb?z¿¡áÔùȯ&êßmôõowáiYá•âÔ6þÉ5ø:R=4±&¦1Í•õjÓ±þ*Œóù*‹]í¬Hb…–ˆ‘2\ˆ˜Ï÷Ú°Óº:Tí+?°…—’HØ!ŸÔJ© †VÄ_Ë`ΈŸ"Rvq̽LœuK'º}¿þDÄVÍZ©þl É6V´3\*·ÖP%¤#. ï¼zR‡ +Ó÷«7­ÝeëLq§‡ý÷ữòú=éæØ⸅ÏAFññÿQZ/;ÒèaÄjbÛrŽGÇjóà ¬B‡-ÉÁ¸Š/ØU0h¾RŸPkàP»éï7L×OÊ1¦µŽÝ=GÔ,ÇØa¶Sý¤m ü Sw+9è$û2Ÿl)ŒÁ9©å‚ÍfÆ-–,m-O}¯¢â¹‚e±BUÐNnßñžG*[ð_RÓu¯¬jýÓöo†;ÐQÁTôOâ`Cœê7ã¹Ðƒï(wŸñ^æ¿Žô ˜JÍXGk»ÈëÜ +DLçÇ \™|q0I€Òz™¥¯‡™V8 Ò@ .a@åÇ„Œoæ³P­´ªûß|"WŠ#Oûî¤Äc7'åÄ˳2ð•wܱ¡àw>D~~z!pã?Js5EéµvŸ²U%,ª«ôÏ|cs#º4ëJd!)’ «~–H‡˜“Ͻš·’R¨!øžŽà¯1â›Ê´V|¯•_w-jµ:õe¯–zLw||0òu|,ÇÓè¢zBžIÃù,÷ÑÄ£ì…ÙÚtO? m+ENÊ8â-íùo†GFÌ›À8 ¡NÔöº ûHvà¡bGš]ü…z! *ZÏúSJ(-:Yî‚ĭΫ3Ùã×€ROâwF:ï.[,f‘×½ÉèëZHõÊÆÑîÎ%eÿ¾K£{ϵvb Ÿ42dᜤÒÍZ­º¯x—êužZ­ï?ŒÙô$@½ÚÚyö[κיó?„±¢Ž†x››o©ôîCStëQàU~Fsù‰…Ž8šãtü{g£CIép(ù…)r‚ÏÊÜèN{r2”ƆN FR„ÿ'JÝ Û/È­->‘<šZŽFÍYhc# *¯pKÛà‹Š5 wÄdm¥ +ý]|ô@䪟!k›„?m ƒª¸:u÷OÏ^’å3ª³î}öôb݇¼HÕðik5"oÅ™4>ôý_÷!¹ñ'ò'Ñ4Ë&Æïä.È™Â}» `nO¯¯¦= +-Uõ¹Ÿ>»VßùóøÑùo~¹Í˜ÕÉú÷éÎ&{“‰§˜~í¼-lö†ÞߤàeªüÝMéÑ fOæk^º#‘[Ëgø^Iáæ–w;V'жkl74NVŠ—丕2ó™0Ü}Ký®„ÌBÛCÙÔ¶ ‘2ƒße KxïÐxšbqtÍT€ðÏXR¹Qvm(AØœu"Q}ë§I™ÚKÀ‹ɉ¦Vhk ¿X ` ¹†ÊbQå \ò€ïva£ávãóø² F¤{›PXÎ/öòÉí 0Lü:áÿs®5$3=N²¶xŸ}Óµi±\Äuêô^Ù¡†[“‰8Ì(Ÿ +ôÛG… a_ø+ÄòcªÍ +endstream endobj 631 0 obj<> endobj 632 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 633 0 obj<>stream +m +U±tÑxžqÊbÅ¿Û¸‘;tMRQ~Í…ÜH›QG¢tŽ.(In9MD¾Ã¾WÖ À#½U9|ËG_PÜ~!å‘ÏÈe ¾÷Ç¢¯©Ì˜ä¼êx¿q|«™•QX®±|ê}»ö¥àTNƯ›ä€ëü%ÄK5X¾_SjÍD8Þ4qÁ•\’`±E­³Ø¸]Ú&J÷õ+n‚Z‘R¡vœÎ°1MÐq®¬j~ÐÙÉ_|‡LQGŒfM ^9ˆktKj®¨ –)¬Ä¶ý#‘2<ûû$n¦´’‘Ê.¿ñ£‰Ùïë’Þ­èò{½#>Ç]âß +ÚM8#³®v"ÜÂ9éýÇ]¥4!ª£g€\UFÍ@½M›«ôðß ª‚Ió›²ü_¬Úe¡<ÍÍÙJµŸ´®LȼŒ†#ÂDHþ†ÀÀÀ½ŸJ¢f«áÒS' FŠÆ©UÞ"«ûˆýÄA«Kã™…‘Þ1¥2•üߟš"¤˜ª* 9‰VŸk†­IVU‹m¿J«Î3ý||æi!†@$Ð/§a =ŒO¢’«h6Xzð'{¬u‚„ìÙöŒ!vÓáÅ¡¼0øÿìµ£!­?=6ÎY|âZ¶±°"àÛ™VãHY1¥Ç½ß “Nj~9«¢—ü‚¯í¢¹¸íK¼Á©×~úÈí®/è Èr^ÊëU³ 5¹Ó…Hd«-’x,óËe¶0ïÊ>ÈzWy[ÿñ{6bs'¿°ç\#E¶‹ã×á‡9ì/açK5êR"*”uöÙ•¾ÏºŸÂ‹X’Öéd™Ã»>M ¦ûh£~¢‘ݲΠ‚PÐ5áèõx´mIÝBxæ!çúëµ:ÛëOv9ê%ÎPM´•ºD¬2}2¤ +)ÇXÁð6þ;y»~˜aÂOÚXâzý×w0™céV(¿F©ýÝø¶\¿xåRÁÉ¢¼^†¼$k‡>ŸŒv90)(˜ ¦/ƒÄ¤ññ¦#<=üyÛ¸Ûjdƒ^õ"²a¹–E¨O@±OôŠó8É*CÜZ؆Û§ÌG‡ì‡S¶²5–hP0¤—Om°k ×ÚPʯøöÖ?æí§°]Ȧӥsq¥A£"ðâèLÁ¸®½07Q0Xò¬Š±ìxMYîÌ]Ï8vç±’î9æåîí½ò9ðÅû¿õ$¼v;8¦R‘•do¦Žôåù’«ÞÁKÐâʼnôC§m¶2Cn,Zçî´OePÒëžò Î0š×®îp¿£s¿®{qp +|]øÝ0}×ø’ãÓ`nÝgŽd`ÀæC"ùÒa’|YAb\™ö.’÷#z#™½ ôØZYk"äjû³çp „›^““§Ë +ö} +ÔsÔUȱ#ÇT× +"ry¹½V÷Á’/ [EÁ„ Pn–Yr]€Otö>À¦ áÁåˆÇd9¶Iç¯E_ÉU ôÜåÂ&G£ösšÀ ªäŽVÎì³*$ôoixþKNs²Ÿºíú»Qý†c†ç’Hyú—¦£{ŸÚµKMRé^âæ }Yš„‡Éƒ#~6ïƒd‹ÿÔ`~ÉŒ¡ õûÖ%]Àâ;¤ °…36JÚžáo…C­x—ZÚ0ÊÕ qŽÿV'sRgõ'µù°V]Fr¾*7MÏ«ÍÝ`÷ûD:E&ÔF†,¾·=<&ø´2úü +ÇÓçäÓÃéZt²ÞJ¶wž™/jÞ.„öÁmÙ¶ä$©i^¦5³t‘odm‡ÿ„ÅÛŽ·Èå}´¥ý¦6bº«n–+¯7–R ÷‡` +HLû›ÞRÇþâ6-¥¡ "Ÿ:‘³5 ÿ+”—8A;!¦@=Çqå„M#\ÑÛ²3ƒŒ±³Ûé—Ì™TÍ-PÞTÀd5M*ü¾€"nß @Mý×]Ë-Ò<æ{ýßðæ ™.Tm÷Ó­¹k¿6ìzªîæΆ%ó‹"ãXýƒoVαvUªÃQ,0}VŒ5õä¦jÀ5çê5ù¯/Ö>×£©xÂY¬2½!½ÞäàÄ©[¥˜í¬…ñ4¶ò#A“<@à^{_|×iJM«é¾]žõ_{b´¤ÒG»ªùÊóÞ4ˆ¬æiàì’w–ºBHÜz.QÑ·x1Ò`a«ªºV+:ÃÓE—J:G:D +”;,£Mìû³“–\†‹ñ ³'A6jSABm@P™üjâ¨ÁP“ *åGÆ…d,XÀ ²&yÎÛTö ^™dÕM ¹ Os~z¿{J$0I‰V/,úùѾíɘXQr¤mÇ®¯ÕöIRVÜRF#á°0Ù¼VH•ŸŠÁu½fsò!íæM^€(‰Èƒ 3^ÉiˆÆ î‡K»gFÿ·l•í68Eø¨/Ç0ð##'Š˜z°hªª/l“Øöõ\wþÄÉéßéÿ–Íâ©;‚ã2‹gЙ£DØKÒVX§¼+¾Ž†³¾Õ•¡ß»¾9\Ûõ¦æ1eøÈ©,ž#Nò=`²½ùÉ÷ŽÃðHþ ‡ôf³ÐJœogWB÷!>KXü‰¨ö­"Âgë{1èß~Ô‡Åå\R&ÓüQ04Cñã9IïŽÁx”¯™6&dfv%Ú|¡òîŲ©Ô97L¢vù›}gƒÁNRT81p„Õ!mÝ~sƒ+N¿ï6#ú i³¨_ì_„Ÿ ý×%>MÎK‰Z+³/ÿ`ã¡ç9?ššX‰cè ç+åæÜdòîÌÊó¼`›GÕ¯«òoTô«û"þ«j8'ˆšIû¡_Çù(®'u~‡ƒFËðÒüìcS5ýrãx›ŸЧª®fßíà5´¤(YÝ‘£Z+~j'U³Í½PEÒÏÈuAï…ÑÎkVe9Éã¸i_Ý#Qö§ìeê®ä^«¾mUn¥+Jf&CŸ6®ÊKÿäuKÉ>3ܾÆ×’<2¿»ú ^8ÒÒý»qÜI%8ô¿ñØt’§mΩ©J«r» dø(i¶Q‹™*uTðÉsF…±¼mS™ƒÛƒ44&º‡Ñ┼÷3Ç®Ë'±€)È}Ý“%AÜ®SùW$‹R÷èˆr„¿½½„ƒI‚ æC¦BJÜÂ4D9-L±ãD+M©*¸)Zµì9©¶gíãÁ,™K +·/“×ÿåfY[Í%CiXì¬,^-£Ð™ëáŠv!ÿSFOkfÇï. +zx½®«½f­½<àz<šÿS†zz± +endstream endobj 634 0 obj<> endobj 635 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 636 0 obj<>stream +z4‚fÄ^c±±ê;=EH‘¢?2h⑉îÃü±§š±4«¨Ëº!ë`ÂIGÙà„å~öD"½…ðÍHlÍO® Ë»ÔÑÞ㡪æ1Ížó¥ï‰)<⪦Aqy•3Œð@™,uÏA|3Ž.{C0«½,%¢•Ù]ry»xWQ¹Œ ü«'鬔¦Õ‡ñm±Ú‹˜þåùgJÓÖ +Å7 +Ò öêUÕqÞfXNþ¡ËO· +su¹Zó¦–¥4AwVT²ñü•ðàÌÖæ)ò ˜Ó>÷ßë8’ÙY{vxâÝ€Y™ÒBsΈ?CÁ>ÝËúŸE¸ µ)rƒNr—7¡1M³\1‘®¹0ôOɘp³pïåO‡ýUy¹¬!KÃ_U} ÚtéÕ@°,ÍÀø<¯}˜ª<%€`ígs¢–íKA[#ø"á?¼.Íg¨…˜­x£·cü‹ñ´LŒ‹Öî0<¡ÖW<é‚iÖƒt±îjÍ81‚ÅIõ"SGt±©—ÙªöN~Ëi-Dxñüù ‰o ž—*¬*|•º4õ™„Òæ¯)P½WÑC²ñmq[:©f)F Þ0lé#¯Ããµ{z¯«ß®ýÈhh*øØÙ¥>Ê°S;äÂͽ RD‡äŠâ]ŶF*MâA( ”wõÊí:|mà8³â¹ °š.걺„i?òºlõæ<"‡'²Âƒ/òœR•A&fݱC$B<~C¦ZÝ ÀR*4§êNm#<ÏoPö×=­|j&=åDzûÆ!=3ÁI¼û»#+!øؘ ˜ ýÊ~»ÍàÄ\Và‰d.;”_½M•õô))ÄHéÍë¼ê•c:on/Õ`Œu q$2<¿ËpÐ’4³„_W[ .§4%tŒRÆ‹ðç ®}ú}_LMF´^§©;Å^9bifcÑ¡à< ˆíý&Ì×/’€nÁ«Ÿ]¤#‘Â`}4à$ï$äi™KZYõ^ñ&Ƽ̡®ûÄæó’£åÿmÒˆÆö,Q±|U ±´}1“#„“€î;Õ}š´sFÏé•|=® +È­@TÄ*³Y·WÀšnŽ,ëISFÛ“þ”3[¢BÌŽå²–.ÆÈŸÔšmÔF  Ϙ® kÚü¯¶ôëN|Š˜,1F½’U6Z;·« ]~ Ƹ=˜_ô™ûJÇ"<"–ðyÁó°+æZ—ÑÁxÂw«„ f_lË4§(‡‘x>K·”•ûŠ ì 2ÂÆÅö¹Oméó¸4À[h•ÔÜ{©©€¡r9ªKã˜1ԲŠ’Ìè}J¾‘½DhË[GŽɖû€]%’5f¡á†ž¤§í»6}±p ÐÎ 4JZÜ"ÉóY)Eº’h•aÄûdE¹MOšg¢È¢*Q•ü¼/+Ä +!ÐEæœç[ÿaM¸„WKÕÇäÖw-ÜÂEYÇ©äîÆ´eE!ûˆ@ŸµÎ¸ÕR?Ü-Q6ȧž‡Wµ¡Á’J:f$Ö“L!Q;ñpYxDùót’ Ât•nL PÝûåÌ¢GI¸l£%0?•Þ›q}ß&Æ©4$Ji€«þú=ô$*wê!ìÙaj}k@ÆÉñ»y{ÉV­MÿÌìÖQž bõ³R˜"ÀÍ3÷Ž¬9uÌ–c> ù1Û¤úŠX^O׿%êLñ³ðžÃË áĸ¬6,ý[Áñh w9òjíWx‹¡Á={;dîœÖo‰M*.mÄƋø# …Vl>ÚÏ«‚ËÙ/åãk¨¡>ôš×Ñ;½T8ÊÖuAÏi©Vé„ØÊ€Û¼)å  '}GëfŸy³MÆ9´ƒ¦N¯sŸ‚~FÚ¡ŸgõnóÁóc?JˆŸ¥Í¨³|œž8/šú&EÊëõ¿W©n3­“ñwÉÅWŒÃÛR4ïŽÖ. O;mŒÈƒ*¨g«†¾mˆÃ6M˜â&Ú/R&“/¼ÀΕàí“Íæ +ÐÃ,A.*YCŽœîðP|˜£(5ûÉEÒÀ^i'¼±Ç²öëU•– ½j¥âä]ËÇtíuR…Û׫/”$jgÏ €³RÙ§î9ô§Uu%šÚÙûV tœ^™‡æŽ³lp՚˞}ó¶ŸQMU‡ âa¾ñ{¤%±Ñ|N(AÖÄ©¡©âkË÷g4¨¸~=råéø•|¼ú?… é=å +ÑT&§Â_R7f>|}nÞèh:öJ•ò² ›Ìd¤ÇӠ﯆¹Â6?s}ä9ƒžz?…—N¨˜7/0&>`DPÛË)ÐqÈÁ“b¤®ÐÑ F+ˆ¡qäãÎ\–wyœcHŒ¼ÒÔ5¼äa­^KÀØC3©[§xotNËiY²Ê¾xϪõ¸rö"Á¨ùx D)ë¦Ù¬G°>#€ÈÔéK(RòÀ”xI¤$¸_ô òßâÝÓ.tÀ¯ý:A«C'¶ÂX€©©ÛiA¼¤v}Øš¥’my!•j’¤s²mz¦n!k͇Lóó†ò$®q²3Q [è´·r\¶2#àü¾ÄF6ƒM_É,ˆ9 Öœ»~lÉå/!O)>wMFÌÇ·"d=‡§­‚â‡M¸­|Œ ‘âòû³sšž'eõY¬®[ÖäË}­h-œ®‡2N÷ÿ},•[_‹ÅÎßÛ³43/V‡×K¸ÊœÆ?aüT‰ 2–GÏaÝÚ¹ŒÊÒ0âQõÏb‡Ì‹Ñû¨E¥þP~o½t× )'¼Ž 'ÀÜEص,[„Ó ?x1ÑC_ +eHöà^ï\Jl 4àHÂ$9«âªûÖ˜‘ŤСë»ölkújµBÛ¼¹Êù¡¦A—Tc>ÜlïGdV„Q¬~zSÚ£ä»ñMîÚ­?­ÈØYh*^‰Ôä™~‘DÌpYNR‹†O4†cËòP¶£'枇zI.)Šä4l*¸{]ÐpmAE¨IÏþ¥4-$K¿•L2»„ìS×8Ò5óÑwDƒ‹º%ŒYö»æté6³î)óÄÑë‰ZöþÈùˆº)ñ."ÿ­u[9Añ’jžŒÎÑìÇC,UnºB#æ-ì0žj†Á~H²´@{‹ÞÝ^…  ôkÓOö/Ø¢C;7£oí³n57Óhómô^ ÖK¼µ´zÆ“Ô¹rêÖö-–‚iÖFj /ìiĘKmn!ºEÑÀn•òV¦ß gB6:p˜r\ +endstream endobj 637 0 obj<> endobj 638 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 639 0 obj<>stream +壜·4j+ÁÝ;¥Åt°÷³æ´÷,-–»ö8Ö[©Õ²@^'à‹Ûf¨b+û!ØÄÔ8ýmI–5:10m?úöŽ2¾ 55× \ðËþ†ˆcÖ_ùj)÷ÿf! +Z¨ŸB)‚üsÙ¤ž^)/þþ#¤`‹ùô3³”µ®Ìï$¦:iÎ@´!¼&¼ÎÞÍœ$ ¶hl‹F „Ïo¦Ägôüœ“¡j3¸žþù„÷GÑ` ûŸúVˆ}Üü²XúX¹ ‹G8PsÉ¡—DÍ>+ÖžŽò"rè€?õ½XN8î`<`yù8™çÁ…ò鮊þÂ(ø“ÃëyL§0‚ÈÏßå}a—?LÓ°½«$?ª1nÀ`¯êÖ›u"\ŽœY‘ªW‹µvFL–JùîŠÜbuá¿ ÛGB¯}33[²Õ}ÝqnÍ6 -^d )„®ôˆ¥dlÉ‘E¡: ò˜ºþ{ýÊ7¦X°ÝÄ! ¯SñS$õk‘³ð.¯ Ðë[”5”ú´HJÜXµä­{vzM‹—*éSæškjt*º˜iÑdÀ Ô›áçÎ|Ÿ8ŽÁÁ̪(:.´k)~]¿°ÉíŒ hEã6TÙæ‘ã,7¢‹ woX©2ÏNà¼`î¿—†FçG¶l«upáô'R 'ñú "¼4WŒ¤€=a ÀQËTC"j–y# _Ãax°\…‘ðm§™4ï ú¢xc7¯×ÌÍÅ\Y_ß™` ²vÓ‡õxçZ"}¾@~‡ÆÁe%eâŒRºDÞ CÌÌPÝB^[êZ¤­E¶k*¦ ÂÈ^ª\Hý¢!½$ßf27?9ƒƒTìBÖVÐ(ýÈ)Å×q·#ÄaQYÒÐUímÜ-ØÝM’¤ï qŠ„1<;QììK?$gòVîÕËY)Iéla9~‹\=÷ DŽž+NL4¡†`²˜ò7W NèøB%FáÈ0eù§5‰U ¼€vjK*½õfø=r*àì$:â">PJ<غ@Y;;€(ÚÓV^“q3!}1{ +i:íËÿ)ìbl><Í%ÝÄ­Ùÿê*[XÐ:~Î\ŒÏçÓ×û_)ökæ¸YŸè‹ÔÅxCîysFIoS%š§LqB«ŒÐxçVEHw°oYң…žF™ù~ƒz_xòâùºs™ÂƒÑ…úÄ+ê©DŸ¹?:€iô4ÙO% uh²À`΋V¯¶ï°EvL‘ŸûýnÓ{ƒs¸8S`¥®¦ŽÛ…èö#r. ?„h ïʦÊëÇûzôê}žR®ØœÓ¾SqVwŽ + < á¦ÿôQk¢’Å}»‹—/Ì`àŒà°#0¨ÓJÝì9ï¸={| šDËÚŸàd)·ìög¥²*²<Öý –^àN˜·Çaó`ùCRisãd{ØäWÿ*¨™” +nT(Â2k¾Kø ŠÌM¾píÕ㜠üpÁ›?Oª—à²^l l&Ø KfwÊQYè +¡¿¾çU.¥Ü㻃šéÌüE°‡^>ð)ñ†k9è ýJiãó{¿£Þù&É€¦ZjÍö4E×fgÜ¡ÈÈJŒ5>]ÄåáæüGô®òú*ßc¿+îïþ /(`€#&ô5†ú´Ï1v?ÑÛT®ãî-Ÿô­±xGKøê‘ù)åúì弞~Ùý´ +“ŠGD"¥+î.m6x;ôÍîï!„ ™£]ý“‘Ú™Ô“µpÝ–60ÒûKšs¸‹Ÿ¤yÊPY")]að¾‚ßK^£è¸Fs.ù˜_¢U¸(ç½x0=¥$¯Ó‡õ?Ý À'üë˜C Ðí1ÌtØì¡ŠùªSêÊÅÕ,´wЧs!SÉÄáܯŠÝØržÑÒUÐA«íí6~F mô?ûíwÞ¦‚ ÆÓ»ÊlÏÒ÷[5—dù×AÙ´LŠ6=:êLõi'¯L²êu‰2Y‹¢Ôª<ö½‘N#<»?ƒ¸jîVR,Qê¹{É;"ˆW€6(igTÞ4/RˆCÄJM™çÐîË—jæ¯$T¾ç(¡Ü:ûfx|ª T$ÿÕv¬Gjù³½’ŠST +eÚQD¿m“Ÿöa·W D_ÂdÒP'ÖZ&ðïØï]Ëyán‘%5cr~Ž¼¤Q6p5຦`¤jýJcÇØ4# rž<¹Yjò¸Ž“É•óÎöí8N¿a¹L ^좗͗‡õØ +“F+u³…7ÄA/1o| a’>ÜÄ¥EN°×Ùq®Á³|˜mÅÚÈÁ6£IÔ¢Âä_=Fù¶^w¥òŸ$wóSm­f +Ê7IO"ßßxTɸ5õèÎÐÒÈb YFab’ûÑtR`èzî´eMChÌ._ÑÌ8úVK9†ß"Qü[ÿЙáƒ~ÂŽVàÙqf6VY7á¦Î@ÔÖ©U ;ÆKi3^"{lȆàDJ žýH»C0»°ì N€“­ ÃÎù„ª¶ž½Z6ÛFšê;hÞT+Pžkûu×ÿ¯MDÁ.vZ#7åÕÂôçŠX]&oï­B|89 0Þ,3 +þ_ÅTUnH»ßO XœMªó¤n ƒ'5úë–g5+¸Ê÷1j„™7süV-‚tÞv™ØÒòõ†ä’þY+ÀùÝÜ™Ù<TÉ z`A‡¬eÄÊ ÄS­d•Õ²ÇüÔ­Éq+Ë?Nš]`ªu½¦õ8”Û‚9eÖ³‘‚|t%þùDù¶ô 5ÀýàíiÏŠâ$¯’˜è£ØÜ€ý Ç‘*ýª]®.E®—Í{ÐqF-x`ÉëJ`œÈXa{PÓ: ʹ¿g",Ý0’úÏ ¸‚rg³ÄÝž€yJ~kgP—ÖI÷Í•Þ´Vþô¨ðƒ~×'ßÚšþ¨!÷“ ¡Y è"hvF•«³'LH#›N[¢"ÏCõ—LøØãÊ ÏU„c,p[;†`ì#Ýh”ùQç>?æ¥øöøq ïñËõá0{y͈9ȶÁºimf;Vû•‹ÌÏQYiégcô÷Lq«¨é.à ËZRÕ +‰{ÎkN-2Qȵe =~L&žâ—M’þ¥³d ¤ªÏÒ&k$„(€¯šìÏ/¡2'î!$»×ðÁÕ=éPS˜)¿ª™7Ë-i‰Îˆü¨Äæ´UUBM²!Y˜FŠË²QBÄ`*£À˜*u§ÚÆ·áQj#mX]rËóÉšfkD0ûHÿq"Cýù.ø ƒqM6ËfÜÆø°*÷«”â<®½†Þ +endstream endobj 640 0 obj<> endobj 641 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 642 0 obj<>stream +iC½(;™}«ç' Î-G³â†dZ>!ƒPæ), âQYär"–ùO9Òø+Ïa˜ßŠWrr?Ëô&yÊKQFî7žtÿî…F@sªó²s5ǽ JtÄ= +ä¯0g;0¼]бtäÉAxœ†¸¢CnWœxYªÃDLªÜê uæ, fár0k×Ê‹¥')éÒò¢ãYEç­‹žOÔÆ|njC 2# 1Qü©ºÚº —.ÙTS¡õñjûàŠ ²;uy xîw]ú·Qq¾ l,,pº’@€fèuQrN} û\cáJËì, F`a°Ù{#+ô{•%Ä{N20p¨'hÉýáV ª:î§STþ|[¥éòùÏtVý´b»C±ÇQ¿cתJ6 +j;c,àJÕbº¤ÿš¦‘Áž(ü”8" '8Ïñ¨rN༧sønµr¤¼¸ó>= +€æ¯˜øEÊÁvòerZ|?æm¦^ú½2§©žõóä+"ØÙW.{ÇŸm¿ÀÅò†A<æ ùL— +7šeÜ÷iãá\>q‡¦„^D£QˆÆq2®ý0u3ÿ¸X7IQ4:‹²‚MëèeÇßAÖšÐ~±À|DåA¨@Ê·˜!¡%Òñtúj¿‚ÍAþM{žªùk#JÖŸ +Ãz¼ä\$~î-A“p°§a:©¨ÈK\Ûš§:»òý!…¬×Ý\/³¬¬{ž¡ôÊ">81¤Ó‹zÁm»p5©&­xdƒÕ§¥ò&Áx¬¤ðzÜŠÊ…‹1¢¥™ +£l:ãäÐ)ãß'ïó¶lcƒ¨õ…0<‘r}@_·ˆt¾?GöÍkm,"[ê Uó%ôÝL…ï3NM^"¶B&‚¼Á²å¡¢‡¸² 3bÕUŽã@ý%’§Eð>+öY#°Õ%µ¡-êïĸ°B+×NqahüR +c» V^-GÚIL +Þé0ÎÔÕZjÐ81%¨¢¯mèd ì_ßK¾Ì½:?™P_%tùæWNr/'”ú¸iÿèc´õÄ¢C6?5šì¬±C‰º‡nØú@ J;†šòqF5s(pxZÅ×¾â«ÿŽíþØŠ(´¿Çï ÿ?ÔÉ·ÙÔü,qø[ g‡OMœ³uPÖˆBMôVL|<` +¶ÔŠ>ÇH]~&•d}°ÌÞœAÑt±qG—Nã‡ØžÏÍw¥¤¡tõ%¦Ž¿Äw©µ9mzUþ4gs™®ÍRr4§ÂtZ©Fò´P*€‘øc`•éʆ •äÄókÍŽÈH„ý‚¡Y`=k›°m‡ü²±OÈ û}Œý$°¬à®~Ɇ$‚´/µÂ—bù=¬Yàœ‘+&f%9«PþôºB®`ŠèJÝv4œ§‹&2 ‰þ4Î&âP%p´3{8bÂ0žô¶Ñ&’×D¼WAš%Sç¥òÃÀÕX@CäÐ&> Ô/ÏûoÄ`& NhwÊʶaÄäÑH#ù‚ !±çªqîüãA¼´†ßž»êÞ=ƒM¼Wóßî¸lBÕ·ô^¹€lÇÕÎ÷Ñœ±c}u«.34 OŒ"8¼¦2­<«Eû÷àåÀ˜,ׇSQüLŒãðäL‘JÍ ¶VÆÚ•3LG©Ñ»ð»ÑFƒ.²O{liJ4⛦¿5Ÿí-©ì‹òý”(¨±ùb"^xð´QµS0þgx•ñhWfÄÅÒP.b¯F䪄`$ÉÉ~ˆÁ PGá_ÌB¾õ@_aßZÙZ‡îš k|=Vdé7'3V^ÍvËÐÍ×ZÕ³7ÒZªQÈŽ/2cRZì¢@!y¶Ñ8„5Šq‘¥‰ÅÚ–(MWÿ X3ª1\ØüÎÊ!1ÇÍ6£Ž'$O*JÙû‚ñÕ•®B:¾þ||üYؤ—ζÇÌŸ4¥ÍFD%üeœ^©À†SÑDCY‹W ®G{ãVSSÜœãà^-ãF;ø-^@­éu! V*9Ç3éT<=^ k4ò àFè ¾«cjîÜDÚoVî‘€/ôš TòÎMq4"¼FZŽ‹‰JØ}ÃUük 2¤@銋D«†oÞ¯ùÓ+óØ>;ÉQ¶Ùù@¢6GHí§\YÚ>–#;œ½æŒ»€Nwºü!ƸçŸe=Ãó*—+)áAªÊr‡ XòÚÓu™x7ô49jô² àÑc±½øÍåDî¢ÌBTý€©œåÈŽE½6Æ7+óimŒ”C™¾Ç½¢*ïÓÙx£À%Tûq9ðac³Tño½~àaMFä}EDIà^ù¸Â‹ýwº >Á' <ÍðZõ2 +ÀDÖFV +ûÆ`h[DDU¹Ê6¬™à#Qù¡Ðüé ‡¤Å®¹EC‹‡SœŸŽ“ÍÁ ´6Ðu‡ÿçó½zñ$¶Ñ"Ø(ÁÁ!\vg±X2Èõ§^P]ø!,y¨pNqLtPß*_¢>‹íÓ‡2¨áÂ&aú…¬¯° KÓ§~OÁ( —Ü™ –Ôg'žEŒ3Ó-š”zA¦Žaƒ¼Ñkè [—„bC¼U®>ˆ(óX&îã,ÁÏYJÎÚB¼GåÚ»ý¬¾Ý(H²”œýs5¼,ƒ+ž? ý*§?ö-€ñD•VŸÿœ{º~\4òòH´É/aÀs×€–ˆx‚”;‹T bÖŠ`6ø»_åÌ®H$ÎM} ªþ+¶½òmóß®ºÝ%%§“-bÏévywî–˜ô7ô lRÝ ‚X6luïðVⵃr†™!JEO^M½Ò”FÍc2lô0¤ÙD&ºPw¤m%¡¾xû.+E!õ°Ÿ¯ZõM"•e´ÖYלm: +®f`r Î>O"‘Sò¨íâm›S‚X'¥±³Ä'Zs°øEXGá}€ÜûNýéƆ’µ•>A‘¹ªã I +¹¯^Az³0­†ûFrx±Fee%ä!³Å/#¦Àͤ÷+5q.Ì~ +\»óz$Ïû±Ò_©¦”†èlá¬èélª ×%úÎíññ°½$Gö¾Øá\%7°l©F.ê)I½”ä•[36TÒÙ¤¤Þò[ëÝHäû±‚:ï=Ã/0„¾æ98ñ—=¯,)Ò?€¢‡“Ü7]…þ¶Ùø)<›i¸ÙöB2šé]‚„/UüÄ8¬ñDÌ2ÍÇrÿ´F'ÂAùÐ÷êÑ<xÌH5Ÿ…3hé "žë_ºQÿ$êÓïÿ.M)p(JïU§ì°LùúLy™Ïg!¨J˜ƒkµhk^oÌæW7ËîßB + ¼ÌxmÀß–ÌÔÁzÅaPI1,0BØO°¶x*!õÿ)(æ»PT²…ÒB-uo¡~Û'ÙƒD?ε‡\H]ËÕÿ7*ÿÓéÒB€e•1²Õ>ë‰R©ŠýÜ‹ég"J-Âë¼ä;/¾1Ö»0Ÿ²ÔhSCÐM d„è<0?O¦ÞãÁNØ!1sMœÊ@ñ(÷©Ó p×U5‚©w©0ƒb¡ÀNû˜U°mhëÕžôwM£A®žrT~ñÅ÷«m.È¥àu³Ã/ÿÀ‰±¥Cå%¬)¢Rÿ‡œ¬Ïã3˜}KbtF)ùEÒñkÛ#¸'½¢4'ÆL‹FJoyú¬^)5mDÆ@”7‡þ”m"ò+%RSyeôI}½[ž´ØŽ"õ  j×ÃöRÀ«Fô‡<û³ãö¹LuÖÄ_ù¤Ø³~å¡û8T;y0Ã@·ÐÙ­o‹©|oç²-£lCCø.ûF\kï× ÖÔL3)Å<ç SÒxÇÝyÓ…JFC_ëæ|°T±¬ñFqn&Úâæ~Ã$U(ù[«íšò²x ˜7³ëJñI»*?ûÔlv±ûáî.#ò9O<¶ýÓŽ”,Ý|,J?ÃÝéaºð)KooXÍ7åKt­r[®ï‚Fa˜Gi®þÈÁŠø›æ2hGèDéؼÞû óSíZU À¯˜–4@H-qhÎ]q®š“òÒíÔ!ÿˆ>…DnW& Õ‚¿ä'—±Áò{÷Û¥Œœ‘Û.ÏWyÛU¥”-NéUÜŽßIøŒ>ˆ”]vûrRÌs3ýÒ×Iüˆ¾ÿˆ~'o˜[oN±ðƒ†ã¯ÓºØ@™v±­Ë£Ów„À^îð~:O‘;•ÌJ³¼ÏîÎð1©t«Ò) •s3¨øËE‚ ´ «Ñ]=‟‚é¿m`“üÓrSWñ¸ú`©çRÛ¶úªºËJFíw‹í]W,®æt„t+!^i»Ó€*pkQ?o‘üžq¬"–ñØÌ5eëµtË~‘š²_ä ATÓ:[¤þ¿÷/H¨¶ÌÃ%älö„È ‰k6–gOt9 hÃÇ©?§õp¤¼°H×AiY1G eTH‘þd|×ZïÁEµÏ´¾‡;5 4ùÃ-ÜÁ•©îVmðh¶É‹èÕˆ¸žÐ=k ?x®%Tx ù<Æåèw6tŸG~qa€ýN÷Mú-u Î¾]‹„­•LŽùõ½%ãr,5µ¯èÙ$ùXÖ@©~4NK@¸³Ú­£ø}A°—è?KöÒ¨ªÒ÷av±¢cÕ… +endstream endobj 643 0 obj<> endobj 644 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 645 0 obj<>stream +_î~Ç{ î^ÒNº&—þ¸@˜×­ªH˜? c ç_iœ†{Ãj"J²CXjô +•Ÿ2¸ÿÅ â `Ïó÷˜®V<ètÞ +£ %Ëy>¡é÷NåýÇq%ÚDôØ¢Èo +rÓÃÙ/(Ý­ÞûGÆsÁv辎EPø|®u‘Œÿ°uèvd]Jç÷O7){tÂëÛ$¯¹4VÇ”ÕZ"V?ÎÝLŽÈ x€is:å!˜ÍðeûÖ®¢ƒ£¥&ßø¾¶M!…8 ×x_lÈWÆ¥f‡C¼/¸Žb)r.’v7¿’èÌ9KÊù -„á¶ûdç!›ìÞŽ‚Sz=ŠßŒØ¡¤Âôá0¯Y³¹ ¼ ‹Z¢+©BwFÏMY­X½àVL`ß-3Hè>q€$ PÕgžäb00Öáp¶{fߨ.È¡ðžõ+ØÃ!PŒ±Š‰Úð0zqÕê¦yÂ|Y½µ-(ª¦}¿§nTæŸZ÷×^ZJ/U«/!—´›Ø$Ø,oÐÕ tUØaŒnö¸®è>ênñÉ/4«]ÀTÿF„&ñÊ2þ¬òæ©”!zÊhb<´.$‘äÞÒð.·$¤Ü0I´÷wì‰ ÚµU'&š¯søg +_ 2°'NŒI+q@N[æÒ±'ydÀ^ a–ÁÉ'ù¢—=OÜ |Ó‘çl&}peJÍR,‘p ¡¡Ö*ˆ!±¨o£©fúõ>ëSzïðyXoàjgBO‡ØQþ {î¶)šòDj™ÈCâ²?Ê `’ ‚¿•¾übð~ +´óÒV,Ò~:{jeêaK»—•±ÑÔ6eºÆ1ðø³Zw҂̽J¡CX ,ò=û™LåÙýݵ³ `=¨N“cÔà6ÌÝñËü¼U׸Çç:´­æË€O£¦yš•ÅÀÚùæ𸙉ªðË.ØŽ+‰‡ÞC]¬ +ÚY={¢Îæº+ÖæˆÅö*Jæ\c‰€²œXv3þQôÞÈ6ãžyW€’¤«WË0î¶E’ÿÓD&ÝgœŸIýüõ4#Ôa¡áÑoÕ竈ô‘ì0t@+fÁ•ô(îk˨„–ÌR0>*“üÑ2{ßcè&Ú[˜üsS R÷?ÜéêRä ©‡…¹Ñ­¶\O)R™ÁA¿O2’¥ŠáAí¥Ó÷¥y^þgz›¹Iµ£X ¾÷zš½Âl…ÿi‰å÷­ÛaÛ|öÁÀS Xe 6¯‹¢Šµn‚¼ru›ƒM9môwÌ  »/Å €*àY„5MR.çB~·"p€ß6gð̵‡C;3Q«U +Ìð8D¸«Â8i£ä=Qz7Äd±‘R/gçeêTõ\ÿ4"Cx¶ä Þ¨ýý×’dÕÂèÒ`Wš9Ð +Éó¤è¾êlE–Ç+l­•{ÓFÙ6˜m‰è&†ö#xM\.²}—iJk[áZ‰üi]¯*>=ë}Ô¸ƒ+þåûíAÈÁuÕŽ‰ýÁ7Ö”Úäñ@°NŸ88 F×äáâ "µ„"tÉÂ{O#ÞÉð–»•mñx½—co‹‚bÔ'o˜  MÖü/öå¥ucåQ»VÎó0²Ža•)ò_ò5À¸Jr‰¿½ }X'±¢O凃‹;z\"Nýæ1÷RŸPÙf€¦¯_ÊM3ãiþygí]tX>\âéÆ‚NxYŒ]"Qåüÿ×ïÂÏy žož6FqÀT²’ÜÂuÉê@=4’hÙzDâjp\ ñèp"' ‡w³A.ÍvO² [ß*»À'[™i±ÿ÷#¢Áb·ùuš8çÈÑä ®fl»ø®dŒ—é¹ñ‚’{™­ø!J9A`¾Ç…î²øÞv£Ë»f^€‰AR¥:ôsŸÍ_?¨¶¥ä—i(K§Y)Z,´yÚ™™ºÐçÑoñˆŸ-X@\D3eƈG9'ò-a¡5?Å» Z€æ †ÛF fà'±}9ÁŽ™ÂæYW3.nT*ãÉ­XþßPMÅiÞZ +\èhTï@„“H~DB§1`ÔA`ïákd4%¥O¼8øØ €þÂ:Ò1*þ©£XU¬‹=‘\ÐÙ.±Q·>æwßØ‚ £0­‡u„å!×å>áÜY”½Ë3¤J6uV¤”’ ó·*Jy?¹ Ì )b®‡œ?´s—wÉžCÒÜ¥ ^bUm5°;¹LÀÊ’U 2u~‹¤·¡ÖzK0aFüKb¡ŽR П’?ä& –Yè­¯Tœh€ÀW=cÌ°èÇ'.ÑD!Á –W\j7¾1XÀy­°_z¨_ÍF% PòÂÜë{³}Ÿ¸©œ×mgyb'º ]^/žNýº¥Úk¯ ëGq¯c®÷äJæÐ6 Œ§ÿ4³;üý1µñr›E(WÚf+œ<û:o»(7ÞúeÓX¥¡ãü®à¡¬zÏ wZþÑ-& Á '’Žhä39þ¸¥~›÷{Tqo6߇ïP*·b$”¨0?¹„Å#Ö‘‹¼éèLÝi”ÌGµa“iÔ=Á W'îþ³Jþ…LªJq@W–Rè­ ŸenXlÿ(tûC¶nuú›æ9åtÛŒí0eEhe2 ª ãÕééEa+5n€îlG÷¼<˜ ¤­Tô¤K;%±<$*W­vÜmâLgâ7éú^€öåe{«PodûðÎxÀÎy3 ¤Æ=ádl6úéß·ÜX×&-NëB¾À  +˜$Ñî³ë +dÓßµV¸ýZø­O_êãÐ_oø@þ˜X€¿Ÿ0÷ øö ™ÅÕ¼äù¦=@€ +]Š.c·ÞÆ|“¼d)êRÂOg|KÈEð’-(KŸ''ë€Ñk®s'G6}«ëÊÜnMÂ;ƒP¶ õ‹3Âò€ØíðÉ%xG¯¿ú؅óDøgaºû`u$ìÔ¬šü”õåGãy¬ÜûÁC^{,"7ðÍô·¥}´i»|Vò¥„ßç0QgÕÔÓKªòøõ3'§n}×€±‚rFN¢DkÎ4V‚rû’þ6›øu¡‰Kmþ“¦¦]Z Ý[e`¢-™º +jÃj¬Ì5o;…”0¨£Í‹(®“Ò¨5r»|”r¼µ}Ñ?Ù[Àd3¦Vó æ¨ÿÎéñÞg7t8PF-ñý;Ò–¯¨ zæÑz›(5N’ËéSªJ.ÁÁ5µ¹2U­è(?m¼«wøSJŽÀ#ÿºèR¼‹™‡EÑUÜü„/ÌüBéÚ3ßÐô¥Yry¨qO +J{ü‚bù +‘òöž²¢\teŒè«†Ö¨”&3ó·(Bdˆõë„WgYC‹ååQjI¼ßÿ ‰iV ˜ÿ²3…§UY(;äiì÷×ËžD*>³ÝJp™M9?\ýyf}ضÖÛ{…XpØ/ë[ÈM—†ÍÌrwîïwW†b΋A<œ/6ùI1>Ë߯Æ&„Ôú¤f)õ>bZ«YtéSö²¯=r*ª ‡UÒ™•³ž)ª &\ó¤ÞL%€sËF÷ÿ¦Ó2 +ƃá0Ul Êã]ôêà-¾ßfrºLkÂq¼²œŽpxÀÑ”2³alóÊÕ8Ÿ&€_0ú±^šù *Îß5=žÓù[D=!Å„6cT,7œD™“|æSN˜ÿoÏ ³wK½êwç™üäéãÓºšmü=žNXø¼ñ*KQ˜pÍõN²kdEàÃ?O‡ÙÝî1¯ø™³ÜÅç9¾ÜÏ•èÞÿÖ}Û€è,ŠEð&ëI$€8€â¸-è7ü?2òÄé‚ :¸%à—²e:$u§òWU¾9`Uj•@`¿Uwh¾œÀVüѲ½tù¶ý.suwC„Év¡vbÞ`쮈©§8ö¡½^×Ä,2€I¶ó°x_üô|iiUzW@0h‘{ö£| ¥ù{ÑÜó¹$ü$ðœ[¬î˜Ã)ßvv»øÙÍ^ç½3`º(}eÀ;êLéÆ­tææ‘áÆBÄ5ã\Ë]¢³-®8û,A†„Súÿ¬¹Ÿ,ʈŸÂ{Lc£3—ªzžÂ|Ö¾’…ÎLjB;` +÷ª@º[öì”1C7,-e¼ ªÊ’™æßqˆ<êÕqöJý_nŒŸ«ðì‡ó#ßGYÙþx®¶XÛ'ÁQqì>F) …2ssŽÐ «SK¦$v%ðþ$^´ÌST=x[‰Ç eÄ[S¬ÏjË`û^%Ô,ºpb¡ò2µ«sö.º(ëª4x䦧ñfAh&s:;¤>dzmå3 öÀýÿUåîÄè^4¹ŒÅUúŒ=Ë žhžo3@‰~ -þ‘0Ž\=ëWYF [´ &X±q] +AðQK~—ÈðÉã«K|óùîkþú솙ZÉbG ›üº.›$—ÞWÁY¬¡1ÕÛFF–ŠªÝ¤ÝÔÂì\Cë᧦BH™aó§R‰ë%ë÷¿Eʤu¹pÌÕ˼!¡ÎµWعƒ@Îô"‰¢„{_ßš‰6ìºM1¥ƒyë¨RÇø‹xî[‰vŽYh³ATlÝSÞâIl#RˆzicP+d^ (rcNy5MP‚þ3í¾tѱå»Êʧ¸*’0Q…‚ +ø±¢½øç‘ìõö®>ŠE(¾~+<{W*çô<ï{q…cîRøɉ šÄÀß’y´l P×´|FoÛ Y©£Ñ3Ìë±,q+ëÓÕåÕS?1_y[# g%á:¯R±”rom„cØVxàwK!uÚš¬¸O™¾«#"y{{Û›£/Ä@&2õ6£"[J49ZëÝ,+ã&ñ¦„{[ÒŽ›4)±àìœÿÇŸp¹µÿ +Ø“,¬d8HÞ‚nç߈Úïg}mÞµ¯cøÜ9ïX°ŸìøÒI©i2¦lÍ‘^hõ:VÍ “^DYР¥ŒÎ€û¥©› ©b²þ€éî]S¢X1Æ£©t`!Î 2ÔضòBpiÄR¯4(uï"i«º´’ÔÞmukK’mc”¿6=8± Ã2+·`…ˆåhÿÑ™‘ïá*‰ë +endstream endobj 646 0 obj<> endobj 647 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 648 0 obj<>stream +86õ”H#‰Ê|ôfè&pq§ÊìN`—š]³»8¶…z ^é@Š’*Ðù9>º—Í–0Ñ 7öÞº²òûÔÀtXzÒ ùÁí;¹¡–ÿ8B2+´è ³x߶›ž© +<Ó42’]¢Gt#z˜(ëÒ…¬É©k"•Î ýp_G–Htéz‡²wLԬͨáÒÑõÎâðüì5¨Œ?‡Mœ)/û«ü]eÏõí5çè0Ó07Þ¿z´Rƒ¬€ó‚Ò%bý¡‚Bˆk¤%øªõö{ø¥ÓÒ8ÒëúÒ ~µÚRO)Wùê‚ ãCšcÂ&Â…¡@6sÈKÅ6€-’¥~7‚ºîù…Ï3 ýÍKBfª +ZMÕáHœ½²ÍyØ ’–ò9<Ò†¨+ûîHqÚ5<âÉÖK¼^:SÊ@P’®„S³C¡@²VŒÆå#¯æ‰?eyõ¦¯ß䜅À•[ÂøÈ1ׇ™ƒÆV¬-Íf¾Ö‘óKKÊôw·ºGþAú `ËžMi†PY^ +ØV7KûQ'ÓZöVߟŸiÕUÀ|#¼ªd„xƒŠÇÉ®ìËý&žèŽŸ0Œz‘¹ŸÄÛãJ¹ö-0Îs1¨!Ÿî.¬~¦«ªu ».EËà§t-z¤Ñ¡"ÃRv68{çfîZë{R3©WX&§8kÞgл1@ß\§ˆÍt놻¿rG@^»qÀ*æ¾ãøtSá]R®.é^Z2×æúhÏÇöØZÎwÚVu(M¨ ø{YíØwpŸLÈÂøödðÂÝ×ô›‰Ýâs.j<ÒÉÊúýiÄÎ4ç Òh)] Ãhœ„þd8Ed¨#¢ 6ƒËÊò¼ýK·OúIàÙIaœ!Þ}#W}r øúØ {v¬N{é;oˆ•ß"ÕÔþî¸OØ$Zȶ[pøB“gb +ùGÑgô¢úö|£¼N&CLüÈËyC®|†é×ÎäÆÙ°Yàç"¤µŒÐÿ‡Z,Þ9æíèÿƒ4ü—Pô+Á#§Jæ4‰ýþÊý§Œ²[aŠ㛦¶'³Ð¿ã…ÊÈjè×çsÄsWµTdóÍ1.½ˆ‚¤ Îz™ï¼åýT2ÖÐ%|á~ÙK€¯üêÖÏP‹g¯ù!ëÍDœÃypJ*Hª™|×é‘xGä¡+ô[ÄàYµkDÑùØ7•þÞ¡ð7´‚$GêÞˆnX\¼reE³Î ¤CˆO(øu–~Nˆ¢4>]Cy´:·ö(I~Lô$= WÁº ûÖßß%.¿`¤MûÈí9F\H€Œ}[Ót3ˆ˜ó C%‘4CÛÐ7¼!`öŽ½hë¤è?öêJ^*×wÔz¶›_2ãÎ\¢x!U#¨†pz”"«Ó @$4jÂçÈ Ö?IH^æï\‚Šâ¥ìåÉ'Âg÷t3 +÷ÏZ½¤£ +ƒkø^zuïçªþ½<[!®i?ch ÆÚ”~§]RO¦Ê*­o›´"ýuŒžïϳߋ>D‰¾wZƒÒD…Üa~“-V·[U”kÓéàÿÀqéÖâóz.O¶ï}pOH‚±ûÝ¥åógK¾–èH¹)›xõÏ‘Ù-ÌI¼]Áy5TŠ +…T÷÷=N¡ª?ÌIìOm@Ÿ 8 e0Ç 3­*’.œ~Zv4Ý©ð• +ý%Áê©3ÎÃ÷jJ±TY¹[©K±ÞC©¬0ÝË#zGm%ΛcÃ߯–çËù¬6µPÌ”½o/hÝþ™Â5ÿz ³Ët㩨ô~UûtTì@—w=bÇ1Í°SÕ ›ÀqÊ¥•|QîUçX¯68.œ)b*Fo\`gÐÞô»möuuy¹ ‡!Òjqv#Wüå8Ù[v[EªSñcbÁq»[^Ysò›²È>9S ú…>qËDç!‡ñJkv_1§S*Ù+wéLËGàÆX“už‚­´©#ñÎã9„qƒ#3Ð…¶+ËŒX&¨Ãv‹JAËE‚—öÿöU›Ù9R[ã¼VækDˆî*É0ñ /´[Q~(!HÁÒ#/l +638#º24ÓÄÌ…ut²dür/›ä¾–œ‹\?E¯Æ #O|ÑŽx±`¬ßT䈟#2mPbïo`á²T«›ÊÔ6À !¦`»f&XqÐŽ¯ª<ü–3dÇBÕ«—iŠ¡N«a[ìÞÞgæN^³ö{^ˆ9hJ€ñÞ&‹mh#ýôV².#CÐ>ïµÛÀ^Ñiûý:$0”^ÞDØßzÁЋüzóä|7~†XJ7âܾߦ…=~,ž øo6ƒÍóWps[âÆ7 ´ûûÍN +¬S¿aQàÀÖ#;ð‰Ïúûý·ÍA÷÷è°™¯˜7Ä@ãu_ÆÎê +!ô šœˆ\(Ðàæjƒ×(‰6“–th<@Ðé&Ga4üÿ}—óµ"QÌ’’˜útæ<áW[)ßHr©§ÇäÇ:8ƒï áÊ x¯6rÅú²ìöïÍê:# +<ß?üfæÔëhŒeò7ç©ë/–DoÊ„šÌ0-t¿§2DX}¨H*®õ[vøQ» ÷“²©ëc“ÛŽ,Õ#À¥úÞ·§i™Y)—Ô-øŒÍKNÌÑ_°îaÃazB\ HK +}úä:¥Ý5Œ<…¯68PÒLi8Ïg±rÉlÐÒ¥8{r‡¶ øPõÁaï-—s9¹¤+•¬óé$NL´C:Ûƒ”¼½þÔðR\×·ÏÊﶩç¯Ð… µùkPPh¶å5¬ï¡‰[ Ùí@|gjæÍP«ª‰¢¥ã¶EyøÆ|´iÓ:X\ð;ºýšÿÿþs#‡Ð¸sÞˀmÿmeD+Ø^pÆæ-ê÷î[–ŠÙ~t£{u¶½ªE½÷Eù®÷aEzøuâxüCl^åjÆÑÑÄŒó2Ê.A +endstream endobj 649 0 obj<> endobj 650 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 651 0 obj<>stream +2C¦&ù’ÉQä « ½&[#_™öÔlÔ’×éCh.qí†+Õ7îUú¬Ò¢ŽwZ÷ªí”Z¢ú3†‰Ý`¨¬óŒkü(…¼ÿýùÁäÎgxÌdí&×/þŠ¢Ã+ŒH#îølFæl h†€$ž-Ζ;ÛJß“ákøî§Ü¼ ê;y„ìUHƒYïl„´;K²¢¯ŒFÊFš\ÍñB?îwz:Ö;˜.\¦š2ÚhûX‹ìŠÒÿ‘]%7» 88ï__†º) XÚ$nDâ:«©¼ú 9±,Úb÷òžº£ûÅ!~ãò<Ü0aªïŽü,‡¾ÉÅÅY‹j|’ÄoÕ‘…®Š=Yç—ÐoIø^ÃÈ©=â_™Åùø?%äI6†YÌ=gÞƒcÆ™*r ï`óèXÚ¶RÉ9Dнſ±[/Â2C¼oÉk––âoóõ+>Ìç´ÛŠHÃñý¹¸E„r¯¬%—ûfç¤d@ÿM7àÔÿÙ™.¸ÎÇj@âÓò;_WbÙJ”Vb®ÊsódÊèãñ‘:óÜÖónJöÕ(èó~˜Š¡‡­N9þŸÄ5è6…w„ÑMl^!Ž{—hÎçK&¯ÞœÞ‰?8Ÿg…6æµèeI™ä\“î½ù x½¿Çs­-“IømEø¬y.øÎ,7Æhtßòêàõx†GuŸ´Wð!õ6̬!¾Íì?g3‡Ù‹'$Ï` ½?Òõ³6; ðþ±ZÈ|Ô(.KÛoœ‹ì¹"ñ´}¢0²‚ñvÛ=¾Œ/±jÒH‚Ûí}ûÙ5ç˜k YV1WÝ´ ˜ ‚ã.ãkÑ(`+ÜãTT9m¢g`¶‘Ž“asm %ƒÖÇ„#â„ã;ÙøÌ@¤ìWüαLò…¯k~Ír‹AêózM]×tqÁpÿV!5è¤<{Ï@?¼õñü…~âsôp¬ê3iá\?ÿþAMæÉX”Ã!ªjîô}ðè^eùQwoM=¦ë$éw?•šÉ:øô%û±ýgš¿`—t“)W¥³ fø–è¾$a­“O—Ÿ:]jü'ªÕ¿³€ø€®1€¹¡/þp…ÖXƒ·å(T*ÓìYâ%(»±ˆ@a? Æj;˜ôHŠívÑu¯_@Q‚HIV¶ª;ÂätèOÖIæSt™)ý?kd5 àÃç…]Øz‚=ÀëN¥?3K§y„þ“3ÑÀ"p‘M‹ScîXz +ïÈ8õŠ´ Üì 2bF6BrßÒ¬†_TuR“üCQ²‡æy"°>¤ÒûÐéëá ¥—òíN…Cžzèä›hƲ¿l0Ÿy#J²#“©m¾S¨žÆ¿‘Iáká¥N€þöLù_¹ša(â$÷È·sé?ï9`ÌÁrŽ Xßþ µ;†ë=j£‰óÿï](É›‰UsŽ«ýžK‡¶òQmŽ›ñ­ºoý(‡!Á/îó!è±£aµ¬Š ®‡Šú ;ü•b²H³Â~"2B¤@:Ñ‘Áᡪrù‹ŒknÊ"6‚Jd,1ð¦÷Š„èýîÁøñùÍ,Ó—ÿ­,“O–ºñ÷²;—áF¶¦_]#q +ór„ÓØ÷lI{CpÚ³ÿë¾UM᱄ {±¶Pyß< +%7dX‚„Ü>éK›DÐñÌzÓD8,˜‰Þó ˜úÜŠ`QÛ“/bõm<¿q"o ÖOZUÅÐV±Ø"Qÿ #^_•Â5Å÷ÿP›¨Œ„\»MJâ0¶¯[uæ>ÁñÊBˆ)•cFÛ$Buã'G%•ƒcç‰ïû„hÿÈXp“‡C½ V잶üÉ+A· ÎÜÅ«³] ײۙ©ÂÃHlbÑgM>Vð5å•.Í:‹Ã–,4±i,tyõ̹+’Ž¬œo8ü!õÑøp7Ì ÕyÇhhíz09òÈÙª†‹€ëˆý_ŽìnŒZ+kòï¼wš&~¬­wæl'c%áwL¡z¹‘ð‡-²CS.Å1Ô€[,1×ìY)V6­®7ÇgóµOË¥œ]Ìñ-ž+¥í£ÔÕŸÈ¿˜§{Q¹Öè{B£åÊr…E¿hkóðRôw”^Ûæ*o% à]8g±[ë5°;­rÏ3Iù´7‘çP‰M¢‚ùy†ž4¿î‚¶û}cªwóäÿja=[ó2Ç(›Uì‡L°ä‰‹¿‘¨¦w婬Ÿí¢ÿÞ-Ÿªƒ©4w}™f(Cd Û¶J† åRèŒp‡O ¡åèèFùu˜î¥¬Bhц;K“Ì–;hò Pʉy +ê¯Ò_ïÚó-î¿Vf +ëeÄr8²:rm„jY +Kµô;k)h’ÄjÕÐ…BD>ðˆ`ò†Uæ`Q¬§‹-…¸Ú²’Ö¢Î;‡öu¾“ˆC¢ÁǬƒÚ ùpo û›©a I¯‰&ã³C{“ü{‰\_«gw‡¢Ó&™Þìò“Wj…®Ÿ€Û¬Éœ„ZŽK™{Š —ð‚«Úë(î<+SáW«N_,$|ß“Ìʇé?OÛÏÈeqbq+”™_€ÉÇÕCN9,Ò›G4kŒJ+ƒQ -tw¬P2äڱʌRwsN`•Ög«u1·Øô– kµ¡>‘l\\ˆ Çâ)8rÒ°YNçÆÁ NØü‰ëÞGuvè|²^(tW7:ŸàöþÎ@õ¸¨€6í¯å*ºw` +Yˆ(ƒ¬Èð‰}'ìɵo&gú4@MOT¦¾MÀ‰àÇ’›l3ý…šU+´!Nt„cP2áµ{G¦Ït6䉄zŠìi*`I”k궊:é“ÒB¯Ä}¾n€Mž-^‚Âú:ÿ/|34>À †M W9Å›D¿äÈ»üVV?G\eÔ‰¸ê‡ ºöÅg…À“}ëv±q™ÅaŸÍK­Ö§+'#¹ˆ$¾—KÆõ•£Eùj{Ói[NÅš~ºÎÖÆF>‡Ø€pÆm™ã ¥iï¢=ï—tSôDP–ËÙ¶Jyv<×!]°€|·ðRmdT>#‹aÍæu§>KfO½õÆ×ØÝ.w•ówДjC'ô_3–°M?½u» +8(tæuæq_æ³¹A¢Uª§= – +<Ϊ‰G¬Í×VyéP…z©È×óŨ²Ã›G²Ö¬ÎuØVø°¹À¶}0"iþŽh©ÞRXÖmÃè V2:D™t{Ú,^ÚÍQó–/ã93å +gZÑ™2W$À02hžßŸè–M>=M=¬5z3>ºÅ°t” =|kôÇCÍZƒ¨ë¯»7¦±î@îz£õZ¡~ÌzAGk˜}“dm ÏLJñI)f)ÏuzGØ?!^ÊjjF‚™jÞ^Tû2¡®d¹X®: +ÃŒzŸ8ºéçöÁÒ퇋›¬#Ê/C‚üq”›àÿÁqV8y#m¬ÿ]Ò jL¨Z8šŽKµJBpmÌ°ò)=¸ªnÛˆEâúPGÚ:ú€*ÿPÓ’JŒÕì=UI7lÞ“ïçùq¦„î•uÔwÈÓt‰+i\·ƒ[,@0 êÅ€ˆ•®6«‡÷ÝJX±;ò¥²:9ô6o«Ò¢ÉûâFV° `ê°"?¾gà$Üo_î¿Aµ¹ú‹ˆCÞ•‡h ΢[]ñJ#ê1àÆ>‡q‹þ,`­ÓµÇÅhÿüäJë†XzÆ!šÃÖײšZ™¹‘5κî }מ^i1¬’àÀ•Ëƒ™¾ë GH ‡0¼ýã¡ÖI_Á¯ ñ1÷@0n›©‰äÓe6#÷ZKºº|דÕΨakÇ¿qàó€YÉ4]*¼eÞܳpõ‹ $‘~½Î=o€<êK-e±>æR×Âþš<#DàHãçîc—¥\™ûÐË!Ög¤<²‡-xó'{½ðçüŒ fâÆD6þ4€4Mû¬s}!ÈhĠ!å½Ôsä_åT)¼Ÿ³±—Üa[™½Ú¹Ä=Bý¯m=³M´ŽÛç¢o‡È¦Á\ÜÞ! “r®öÒ“²’Äms±¢¥‡u–v f½µÁWã›dþé¢Óz:Ê‹ì’òÇNC 8ÚaÏÂÑiúæ‚8Š@6,Žl†º^féËY‰Éíþ­ÎKôÙÙ×9éÉt¨’$Ž¦ÓµÐ/iéâô&Fˆ‰5ѳ± ²sfá·T @òÓ~`Tâ¦$™½ø©G31s½$¦Á…f¹ ­X¿hT²¾LI*Ñ+Ö."¦¡âd«ôŒfÙq RüæÇèXA0`Ÿ¸W&SîŒ5Ä X«(ñ׋dï÷ì“+Él}È€º!%þµÒèL·´@ï²¥J;üSUÏjf,s…0¢„À¯‹ñƒy†UìŠé,%ùŽÌè Á©j·é÷ P@qH/OR÷÷J!|:{•f¸gÙÙÿÔú¨$­^ö æ¨©;ãyj¸°/šìñ%äBx{ZÏ(™…Mf-*Fhú[kòü¬B`’ÀÒ 8n^M ”â !kJ¯'Ân +'nQÊžç1îBºõ`Rw$ùõ|9±¯ÈPýjÆ*@„{íy„è¦^Þ#çR³u×úþ,˜ï”'·¤Nô_â‘­ërŒBèÿ!ª +endstream endobj 652 0 obj<> endobj 653 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 654 0 obj<>stream +Jåu’ˆDÑ$,Gt[>îÎ+jb±È\j˜T¸‚%n +ñN…ÏMœÎ§VTË\leÃWfû MLÍU- Ž¿CE®V6óp¨‰½öï”ò>F„ç=Pw»GaöÝ ù~´½£0}?¾I+Ø,lh=¤ˆ— CN”C)?ÅÀ2bÊ“Jëò#AZ&4»|jQð†ªOÌ‹àm:îu]åólßþësÇÜÙ E[¥#¬èDR;efk¶*‡šR¨²Æ:Ã$èÝä‚¢¸ùV¹8”ÚEóÜÙeÉzÞ•ãëúǪ¤Íæ +µÁ4•æëã%º7'i}¡9°H=zìšu áF†~´·‹"?K^pç“e+ã µ¶÷l't!§tÄ>Ën?¢Åø¹³/<ÉÚ!Aû-« Ž€e åå¥Ý÷Kso&iûëÐ[ϼˆ`ï§\.ŠpîbkÏ`5kžLón˜Þj§ã,Ÿ]ö+ª9 Ï&e®Íã•_bÙúA‡rN/¸¸û( $.Óë™ä'Måø ªIX¬ŠòîÜð—kKMTôE´®‡‘µk;䌫uqüvçJÆ!^:v‡n1ÞJ\”Ìm'Y§¨=1cE ˆit]Îôíª d 5ã†Þð}? Á¹ÙnB.üËØàæjVŽf–¼"†8h´Ü˜äŸëŒ@uŒÅ£ad*¸–3~%˜ÅJ)³C‚$ìZeîoº“¯A³îE‹Wƒ¡¬Ö·Ž„n2»¸›®c5ˆªÅFÚ’ÃÙ©å#‹™K´djqPâÜ:âÔc ²»ÙW¥ ›e ¾à\_èðÁº§àœ tNY,åÞÊt‘+0±qìFÊXÊh›$ê— Žê(¨×G.V|È$í^© àdgœè ªáÕѧŗ›…ê8=T3”Õ'º"@L¯Aöˆ·¤,Vàä¦ #¤k<‡œ†9¶`I ë(E”nÉ+‹‘\6­ÕÇz†¿Ã5œÄ³kk+«¤$ËÛQ£³ÿ×uÓ±‘2ÑÅñ!:Ú\¬ØÑ(ÐøÏÂðLFV¯ø*þb´]^[ÙPÍFê¾{¤r‡©aÃ-BTÀ]qaˆ•w¦ˆ‰åã‰dW6N+*8’DÕeÁüÔ梠êWÅD©_Íq~šJ¹´ðÀeÿ08ºIeúÀuÂqÞZoÕö†-Ò>›J[jâ;Š¬”‰íqqåø +bAov¾ðÓ‹K7ˆqFz¤Ø3µ‘†M‘s%þûN[ü‡é”y.¾E×}J²Zp[Ú„?G˜ýyì`EbI]ìá:;ðb1Ô¬þ¨ûòˆ®†7²§‘{ÂEÓq€í+¥w(f6ZV’¹•Ï•˜“›´B p?f»%òSãª%8Ì°®{±ô™²Ï›w çZP‹Õc +ïV°R²];,%–T%‚fA)8Q™piç£õWtB1í ÅB.ah4“„ ®„7ÀÚÁønô– +îà3?<¢—Ör5cœ ÐÀ±Ø)G@Ue©Clƒ,î¡¢Û¦âF‹¼ªIøߘÝ•çèøÍW~¸.Êø +pNu=÷uÖëµù [7•TÎ;{êá[éÏã«’S”CÈûÃ+ ,42rM;ù‘³¾2já½|3^A¢û‹)6¸©5Íä”[”B­Äk³ÓÚ™Mש2ìaÅ8l>Îã&²O‡OåñêÛ®­û¿‹šÎd†Kõò1››5øCÔ Ó^ùP^Ej +¤vµDl²kH•8(g]W#:bJ\úàï-ñÌ÷¢þ¹M¦^¥b<–$–Â}šÖþh³q LËÀO  l>ÝVê«<†ÅÚw0±@Bh×Åü?Øôz±Žº x2¸ï†æQ×{Á ¦I¨ï)òZC™ÿì1ïËC†.ÿß,ß®Ži}±2pb)oêÓ׎a"ù¶É`ôRÔ¿ŠªÜ’ÿ.¡ªF°êòMv:M»©¦ƒ3µD¯EÕPEbŽídòEU™ ˜¨x×%ç,˜š èü=t¥H"P8¸Ï376nH?³¼Ä^ÄVdž&òÀº!@ÿêÞ>Þ±#b;RÉ$×ézõ¿0¶ç®ø¹«:/žBÔ~5.ô-J\n­j)QsK‹ÑÄ{1ò\?üpI7ÝùŸÉƒ RzÁÝß|?O¿SËu-#X?nQO9&Í—À&¼ñ¤³oûžj\j‹øn!µî>èwD-"e™¬)á*|wV7æE¿—_ç9t‹PÞ¯Ò:ìW‚¼¬",ïwø¤èç;æá,‚\qÒ¢½ÕæïOP¬€º’ç5h5^ƒ=|´œÁpÄâèà†B1ÁrR¤[tv T‡Ò®hÿɱ?¬à°¡,qÐ[¿£Vs¢D\}µ0ì=uî9 £‰¾†¶'úaL~:ë">%;nW',¯ÔPYLö•Q)½pÎ"Q‹FHVÀ* wk†`Á|ê+Šíz4ÔÚp`(}ÅæCQñR=ï\ÅBÚS²ÞN¥e,fïä8`u;/ýXQg·*Âょx)È‘mÍÅ,­Š +Ÿý½_2ŽÁ5ì¯%=²4ç¤Þ*º‘²_H#i¿gðl†RY!S‰ ûk¾‚Ú ‰(CU 5›Sñà]¯01æéµù³²ÕKÓ±$kÔU°ƒ{-,+)+’½%,^ÙÄÙ‡àK©÷0ÀXQœ[v7QÝÄA1»!^–xÖ¿ Øë‰F4‹e †P{ÌŠf Aÿ7&LŽT8Á—‰ÆRê†êŠe¿Ö~ÆýFYâ?IaþOËŠ_Zl쬫uRçæzõ¢·õT: d{ÆB†¬Ç‚M8/j¥’D³»ËÞýCÀ¸µ`ïÿÀÞ…‚9„u ð(kB¾¨óÎ!ϳ¼u +õ)`V?ð68 XŽËÍ–)¾Þ/#0ÑañbÊü,½ý°ô){B[‚DçÁäâz~]g[£ÝwÂƵ4„o€W:Æ Î…éË>ʺ]†‚7!eT¤'{Ÿá…“ΩA½ôy4¦4,¬¹›‡b Y2S'˜“ÓP¢¿nÐ(í3ŒÄ6 +JuôKˆÆ½û7@¸k%¤àjºÜéÕÝÁçÛ×›Ãl+åÞÔ†F+G[¡hgY`¤‚0Ùì®f‚Cð7[b<‹Ã­1)Ìñ ;=Ʊý1ª¹a\kùAFöw„ãå{DTÅ1ý¸¦¢Ÿ H÷Wh³ +ïjBnæj®©Õút“n-(Î…Ÿ"øÿ{ÂGàks€[Qe–²ëîfhð1&ÿ üƒçƒ)ÁFÇ+Þ@Ï”*}Œ4õÑ*SˆËå"UôfNÄþÑ€° ç!¹žð}tà¡„zâ³m¥ÒªÀ=S㨿oÈÉ`ÙáÝ„ºú\X:^µµþ0/+KSËÅ2SØËŠ¯|ólÛ#ãóQ{¨B¹Sub;æ cé”Âùaÿ&poÜí8m«›µÊ—gyš÷L,Ͼúv ¤ÝÓèƒ=îTÑd`_¿§HM#é1¨NƒÜ—«õá3­e©‚Rj"ã†1ÕX±ÖÀ´\l•Pþ›˜}¨ ZɸMû|ró<)-fý7/@RY0Y.nA‹ýÇî÷0%C¦àøk´GÝ,ÞÒÕQN´ü]_ݲ¥ÌNZ Ò÷“„tÔñÎ=JORÝi‡èv^Æ•BïÄEͲÜà¹ØræsýÄÂB^§˜^Hˆ¥z°ÛH4è3Cp·KüçPˆï(ošVÒë¾Ávg9¢uÕЦ ñ¿¼&”ÕÏJÁ¬ ÓGI©¥G/s`äY¼X(´Ó´ÙÜåð^pû<ÌwþX?»·9å\™1‡I5 ¥ÀÆô°ºÒ¡ËLa6&¬v“‹É ÷æ{ãyUhÂð^cyŸŒ‡UP2åf!ù±eJÅ mdû­º@{Ø'}Ÿ 4î#Ð0óؤåª/“Q^”¡GÑb÷)CbÏþ½:عãnõó-uõÍQOùK Ñfo£˜}û;Jz7ˆX M­û1 ‚ïSع¢¿“„ê2!Âôçü#!“Æqœ³ãŽ8ï–«Æö·–=G@ºÑé¹BêÈKáà «]°ãøÐt¥Ú+…R¹vˆ›ÇX‚¼]Ín‰Ðz)…Ít+ïKü£RÇbâ’-‚v¶?³MÆ#󘂰5PZü2Ày`íïÏ…±ñèíuÀ–Á’ºnd"0‰E½¥¤Ð#ôâä>R*á»õã<äÓÊP¾AE¯\süÒŠ»ö7k­³gÎZÐ/#¼Ãæ@tv¡„Ðó=¸á÷ƒ˜ +ÉÙ™_‘»VAljzñþ& ‚Ž·•–@´rÁ¡Ï·~ÊYï×ì7W¶/ÇW/R„Âu…¥ïRi-‹=Ë,•‹æ0pÐ]X"K˜ëëÑßÇ´õ1£Èý#Rù]E„ TÉTùez£‘øÂ#qÿø!”øõ£ •ÇÏ’æ $»Ðì¼~Y8íÃÛ©m__mDkƒÜšö ¹wò!d-óܶ+û’ªSx á৭BõIÍ©4 £ãÎ;ü>zn‰¬§KJܤ1¹ýÊrDĘüôsåV t¼ojH‚\Ð8þ·¨y~ÏÉKxÔQ˜ HK¸Ÿv±m¸á1pžHgºêi$þ¥òû»ú<ö©¸K˜È½¬¬ìp!çOê‚+—dŠÁ¨ðâÎñ²bÄÙu æ¶oÒ.ÏÀì-žCS¥Ð<^ÆÛ4 ôRR”$mœ‡Í`•Ò +,².駉·5Ùm™'wÖòÖš°²ˆî/ïp‘‘k n™[WÞ¯²ÌX‡ +¨É™i=س4å­ùÈâÈèªZ¬@ LÅú®¯SÐDe¡æ…Á8>–+\ƒeÆËu :Žè<Çïá$a+j-ìÖü·F!ÓIJ2ž#ví/`2³ŽôðÒWÿx¿J»áÓú-º¼Hd· GZ^<‹Õg ¬¢Iç~àη“fŒÈõž‡2‡—¼´¬‚Åø³mÛ®fÖÑ"u© EtÿáÜw(ÀUDŽ!É®ŠV 1Ð\;òò~7’×~Õ”â.ÕÉ1t±0;  ¤zíîζ<êh‘è¿Ÿ¡xï˜4™ooPf‰îiH¶;ЗÅÎJÁÚQ¶:¢KAYýAL;°†óôky2… ¹_1ðk×^%2—­l\åßlrs€­'1níÞrö¼£ƒ>…k1¤zþ?ÌÆ°ŒuGÍòЋ¸¥z^ÁÑnƒ|²#œ¹'{[\akL%%Uv‰§Dýæ`øúyh +endstream endobj 655 0 obj<> endobj 656 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 657 0 obj<>stream +€º¿óF¾åÎd›Û㶞¯í v/ Ã:ˆÁ™—ÎÁ1\9{Ÿ¸¯Ü$aÇ“À@ôBr“N‹ŒÆt„e;ÛGÂÔð7™«0Z#VÎcp¦·Úè™ÆëXB©Y©ÒåVVaÇ°7VÓš ¾ohŸÍ±?!E~ÑQëüã -Yãù‘´Â>Qž>ðY -„W\ÂØ~ñ*ÍðÖ±Z Uþå%,êÑD‹gî¤+£ÄýÅ&@‘ùÊÞàÂ.ÅŸx +´-Üp (.z5á O{ALâd+tϾE-•í|g^É'²ª¾`×Ìó1 ÍqZ¯v \°a*sËJþE+KoÝ»:¼gKIoÁGu炪¨Ø‚Ñ©¿ÓWgÒ~dÚÛןg^JêTŒvØFmÅwèKûÏ W%¬ã ·ç29{Û$ƒ ¶l.`cx?mµ5 j ;[ÍZWQ»ßS.túxCÊ ¨\‡OfXü8Ý5\,v„­‹(¾è·k¶=üC8ç<‘ÅÏɆp|G§†Ñ[ZôÁÁÎ @Âz +þ•l|<…ÉZ©JdšOª›´pÉ”u^Qª ò+²æÿˆê¿V]üåÚe–ÂÊ ! ÿÍv½‡£@úqLçT„Õ‘À›2^ö„®¡ßšf&w_dýÊÄl¢{VB]Ǿ¬ÔD6v©¢(©wžAm†óëj<Š™nÛÝ’KC +7š¤)¤¸’%î-’›ÛûÛNWƒ 9¿>óˆ¾^çÔ©]$ÒŽQ‚!v6UÁRÝÛh…‚Ýh_}M<¦¥Â õRâZ\Á®Òãv(8‚1%Jœ±þÝÒgã×ì广 Ì)¥ÍŽ8¹ "× àää$$F†N«·QÓ£àãÆPUAaõÇÒåïÖ~eKæB×&öÛÓã0“Ö|ÑúWCéAæÁ7Ì"Tæ˱w惩Èí_¶”˜X0úYÔ¬ðó`éÝaÊ•iŠ?ÖÛ.¹w²j1s¦?þÉUSBXà÷ º±³|•+ž²HòRÇ?.×oÿXõý³4Q˜-°”²$'t~éJXTŽ¸dž›Šà^ûOŽšN<ª•¥|rò¸×±âjÜœ35ù B±y ˜ûÜ6”Öñtû:TgÅD,s¯¤1t_j–ðY ÒLdf3 ¢ÙÄUP^ÆÅÕXäe"ø„J(ƒ(syÄyš‡¾ý¤bÈL¼¦‰p!!¤·øœõQX]vl)O¼wÔÖ¡¤Æ’†',h­¹ð#Ïìà´Ÿê8­hªâ9ø,ˆaµê]µIKþa6´øÜpé­óå™tF±‘w^Ê›!ˆiÃ4evinŠ‘aÌj 4¡ÇyÙ©4¯h’œ—ºôâtwbd\ ™^ÙÖ¢%(Oê7ýÜ’dè]YÊwãI÷öÊiÕ= ‰pB +endstream endobj 658 0 obj<> endobj 659 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 660 0 obj<>stream +‰ùçrlº®¼Ä³Íô¤Ÿd@CÔyo*óÉx(ÇSV·¢eÙÑ +"`ÖÌKþ!ØSèÏw¬Xõõïk|¦}µ–ò¼Òx…âp3"!–êŠ{Á4ÅÞÁ|»#”[1OKjĉsü×&¤<ˆô%>ij»""*G +åÛξÉB#àû¯àícÐèDŽ.ß+-÷>[°·½K”£eÁz€ÒЭä»P*Íf#«rOßueúÇ÷¿¾]Χǘk’Û+w¤ +ñ¬N2ç ¶Ï Wb9É~Ž â·P51‹I®ä°}l' ÛÊQ¸Ît%9 qPG <ÒSªR¬z *Mðj¿r¶€’8‘»:1W[ûË0ºH®-%…%UxÅX¼ºùƒãÅÚck»Ñ{ì’QL‡ŽÔ¶ tŠ5úÅ ¯"6IÒW¥ñÁ1_ È4ÌLaí¥e_ß÷ûÐ ³Ö@l&R‡lS0 ÖÑ" +É,“½áÖby õL÷¤¼/Q4&CÙ!tâºé,gJ™ô,ÏN0*ÀÊb^»7ý0oi¾DðØÏ<›°v²Š(í…²c÷E¨¹>aÛNÉ} @yËšÕ ÚPˆýõømCã©Ô\Ð(Ûi׎ +ë¡ÖL1(£¨wŸØá¿$“ê? Yrì\ßš¡Rpâ̓Hºü,ÇÂ^±Ûè¸n:ÏZ\dÉ”i©€i~–H•‘ÈB¼Àƒ} w‰b<ð–‘tØfß5¡º¸Dj†2zøñºBfç hcæúÎËå…®M¸_x£ª^D Š¼vjYÒ w'âiëAßá·[ 6£e7ûÑ[E&³ÓÂx6kû°.†.·‰/ŽÀ>!ºI¾–ß¹T ÛÈb×¥”þUDySˆz›§Õ¶ÕœöSÇ,A,ÕÃÌJHïs•ê¢‚ª¯ôÞÑ>ƒÃ,˜D~Š]CãäwV)0'ÖT‰°› ï5‹¸êc|!ím+3ñÙ èp§‚µGã@éÄ€¼pÀ9¤ß-Ìcp4©_$¢ îUÞhþKµRì–XŠ¤6Ç$A‚´¬Â>X1C¥Š’û¬žç¼×âÞZåýÿ•;†ñòÖšEx’ÚWÛ^-èºÑJס#ú+ù×"ò§B™g™Ÿj‘ô9KòCÊw;Eð‹€Ë^m®²E(TÛW‹Â˜ð^?” ¤K._zQjg噉-5'¾D6Â5™)¸=”Gì¡ö¶,¨‘yó¢é•ÇéHÓ±@ð‘³.J1†l¦àŠ•ÞàáHaÔÀÑ”†–uáWï%NçLP +^¯±h¢ s?XÁ•’…µ'oð‰Õ5E`oòngÛ·4ðzu”ÿŠ HÆË#þGg¶£°Ö}ÆôÁZ€€ZÂi¨ÿkÁ¸è8*ä8­ôcxšÑ_zðØùA爋ŸÚvûlüS‘Å6~Ö±C@\hUùŠ[lž?€+ë?Y›EËFÛ,p[²?iMàY”¸¶N&-¨ø7c¡ŽÕÒŸsª†×Ä,°oW12z¹OØÁñ7.]àÀbIG§hq+=ÏÛ¥3ÓöÆ?§ +7¸Øµ}†s~B–Ò6ëM3K·L +¿xä…Ë‹m÷—Îó㮥¨v‡‡m7¼ÆjÊ“ü9×,Jëdéåïs#ã̾ãÓ.üK«räÀeª¬Š$s¼Ó´âAÉM qÞäDøTÐj¾S¦¿×]:Ý”ú#fu0‡F…ÎÊ áýôí&ö8Éo|AR8 I‡báÖ€JÉ5µ"W}ýªz´î!ˆ¥IL/“~d(•¸œÿ%8¹`Wv}jMVú2,;A,çfHˆ~ñ#ŃԾ}õ¢?y›OO>þø}z¤ÈG“ôùHRŽÄ),:p(‹²ü_ç¥Â%‚o¥}:Ó&i[õ´PHä¦ìáAÓÁG¢Þ{ƒ¹ô" „íQyúM -Ó~G ¼È’q%HÎÉdidë× &1¯ø]Íؽ°£Ñíò…?KÌí¸ÇÓKÓ½(I^´BëJiDoÝHM<¿™«ëgÅ™°¹7”›‚¹𨜩´y(þ wH)ÎÛ×àšåy4õZØ¡x:áƒÀÇïä£2kgÙ6ÊõLpÝM¹ö^ɲ¨Â! D#Ë ˆ—ßG@tFŽ"Êà)œgø)¯£,œÍÚÙÌŸg)¾H³~–¢@\¬úÿ&ЇãïgÔ|×S}ö¼_î¿…ÃÆn%N©S{¹+ö(ãVW–ì3­„Ê«åäW«•ˆø¶‚ȉ£‘Ÿ¬åÄ÷ÂZöQ±k [õgš9Y+¡$Î×.08Ñ K‰B^QçLHÝŒ»Y€ÃX…ò +°:€WËÉj°@@~±¶Ò‚O,ÅBq<â²0¦«—ÛŒÍsBwh­×:f©WÔ°‡ò䧷Yxò[n»êÊÚB­ÀZ§ùmP±È¹9F¼Ã®!Ù8ßìR öæÞ=È4g6{Ñn +´¥ÙÙBØ¢í¾â)PDt +^Ñíö½ÿ˜ò‰4å¡7>=¥ÝŽ²@ }¹úÿ×g ÖÈRÚ-2Õçȳ+BLªg(£K€h¾APXf„NFõ=q©ý8©šÛ.ÚvÕ6ÔiÃ…òCÍûüÝÍø¾NHšüö«ú+AJ[0] +]I­ûAxLbh„ôx×äŸ{³p¿èî+xÌ%#ðR0•¨’ûU$nsC|§ÊÞÞÇ{ì)\¼‘¡Âw­©·j½Fò0=¤tÓã«0 +tÄšs©b‘‘æLÔ㎀ÌKɬ[E&Ûrö#¥3uŠ¹+OÃJÀ)"üf¾¢ +€¿RT«÷–§×7…ëaVN—Z{h<ª£Ý¶_‹9óÕ…Öd¦ÃŸQŸ”nR¬­‚å +Ç9Æu‚s{ë{09@3.Á`Ìp°uZd©²°~ƒ`—ÿ¬0R¤àUž˜·›äb.}ò‘!»jÃÒàkÕµ©·—úš×>ɃQÚÆÚ­u)€†q +²· œˆ[5ˆêïÌ$76}Õ™pFŠ"/Æ«-^ác¤·Je‹+k‹ +«ÁàÓÒ ç(qgŠõΣŒJmÎÚLˆ«‘‘u¯Ê~ÏÂÚCÇjÏþ}`ÆFE {ÊnÏ$µ»XGíîŒàxæŸw5<δÛè(£x.fÁ}-ׂ¸ªüa¶4Hn»¼C +WðHÀΘôðë.oÅ"Ja} »Îæ@V¸®*£XÐ/0­r"ÏJE]Ò¿ß‹ˆj3Ý?›ËѼö§„ˆÿ/éƪ`5«<¹&c……à­‘«{Á‚å¼O`æ rßÔ󵧷Ůc–f[€ +Ò>TÑÙýBÄxɽU¿JÈšŒ°™ß„í˜<œ€.‚Æ3·DÀC%$gî=øȶtKastV<›ª™¡BY`kªˆò¬IµYE3# g?Ìwnpá„g˜®Ù(9‘ÜeñÅsGióV…eàéHíÞù ϱ¾l¹·Ú* ÎrÕš›Ñ`\OÖ´0TÜkOšÙ·üÙŽ˜³¾w,ÖniÌžŠBÓ%)ÜŸ>-uw Œ–Ëßugù»î—µž—%<:Úѯ~< jöžuâC$S4Ç)2¹ ÀÏ®í T §Ýê%b“.Xú<6¥Æ´ !@€ô=”£D@‚T ù +endstream endobj 661 0 obj<> endobj 662 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 663 0 obj<>stream +‘º ëùUœ'³¿ZåìX«*ßXaü©|c6=°n@š|y^Ë}ƒ]c6\×Òsó9)µ·¬«\1èHg4¯Ñ ‚Ü×´æ¨Ï9 ‚³qȧ¾à4žÏl¾|Â;-fñ«®°ÅgnCÈ€[˜BOð~YÒ¸œéPÈF †1p¹y¥¶êX£·QqÚþ%ƒˆ¢rYQù• 6˜+19ÕÕ . Ÿl÷™õæ¥Ò é o¡rCñŸ~\0Lì«£¦^Ý1xʸw +e^*&š¹Tæ\V”où‚í²%3òu_®¿_#ƒ{€Ÿ«#À}þ(ír÷äcÚ[ÜãÉ£¬Óß«×ß5Ä/UŽŽ °’ §§:@{™Âµç…Uðh\žÇ┋àÝÊm™½û3KÕÙ¢¬D£ºe×NÅd‹˜}¼ÀI´j‡~"cØ5lÙ¢’ƒ‹ÔeEx +Ç!©æÙ,ýn'ì•,JÈ•³ygÛ¥$H36ø¼“Þ&ôûy¢ýeoFü‡„ +çǰµ5ïR¬^nBÞ¨Ù +iûm‘ ϼ׭ºŠÕû5!ÝÝ{ŸZçaùèæZ(€S?G$v8~^Þéž?/$¶Œ¶0½šóâœ.I$S%k)’+’²Ð*KlQD 8WZÕI¹¹]¹V< –G T‘øÁ€+b‹)tsóóνÅ6*`UÂe°ÓVeÄ>–”ÖÛÇc¡ˆÖµ~b³g‚ÙÚ‚í0eÂ<…„+vË@%PÄ4cnNã6u=_´¹úz|ËѾµo»œa^¬+—-%\mÌ• sk28qZÈìÌ6ÙúQà±VÎÞÂ"‡c“÷6 +¡GÀ¶ã€ÊøZÍÉ^’´9úZí‡.²Hˆ)_Ó TvŽ¾!Ús"ü&¬©J%"WÖéD—¿Q\•ÞK%¹á/Í/&ÊOyðøÌÂm»jnŽË.¡såJŽ†¤Qlô²ñE÷éE#s=éµ…òá_>ã"ÁaœÖ 9›‚HØÿ|Q'NýçQ&‘ÊĘ‹ H&Úc™¨?±àŽV;¬˜GOùCewñM"1JxÒ\וX®³ýÞ{Aqߢ•D;>æ÷°Àd³$ÅOA—趦zóO^îYì·´ŒºcWžfDâ}¢†b +™Š‰í‰éÊtä6- å¾Éƶ¬ŒÞ‚$emåW ›ÔÂÐÑê…ŤAåyÎìe ½ÁØ+…‹€ÁÌm˜»¨É£^:9ApQþÐA¨‰‡Ûql„"0¤žÏu±¾QlwkN؇+|’[^áì§Sƒ4 Zi€nï Rrò¥icÅ€8|Ï8µ{äµLõzB ‘ŠzIc/¾r¸=O8¿("’T‡“ѲVZ$ž«¢NBÄ9îV'ÂXqá0P0æÜsv'™pÔ[öìE˜ß º"K€z…g-‰:½N®Ajó<Ö~¥öuã—ÿ9ÏÔÚ º³;Y2£_~^Åòa³¬J<DdmýÁ˜‚Ž#Ô%üò/H´Õø*‹@8é]âÍ»ã=SïêÃ?ÜÝí +ë8É„¾|5ÂÕ=.}„”Á¨Ó¥o˜ýô¯­·<’ÈÄDǬÕ&0TÜV[¿±é¬oÀ©R$·œÛ%dµ’gñè²í¤µoKÅÆ“5*º_Œ3œ|ùW£K|»#úÈ@Ìo²þ¯ßPB…Yí±!–Dù‚I–m2!|êÝ;CWç‰s¨Gfέüdk®WjËjZ}ÎiÓ-6C8Ûê#ͤt´‰)ÝtÉT­½¢\Ü9òøg?7>²³lp÷móÒÄw—«—0'‡¨y”æTUe §=(#È`¶x߯;`ÙÇ°»°xÅÑåâSŽ±ŠÊ´q^Ÿ©ªæõµ8aehZZjÊc¸i³7V}©x$oDë\‡*ŽGM ã 6_ $ìfò/aíÐ3Ö7åÕ ¿KƒÐÙÑ +S5gÒÕA›qÈÏGÝg1°†ù¯LÏ{ +iTdW`0]³¯pƒÝeð¯ÛŸ ŠÔqÚ93X®œ¸¶ç ÉÆèš…ä† Êxv÷aH/Ò¬K[£ÒÚ‹Hçèr>{¢K)TÛýñ[&Mà¬jcA?@–1uÎ"‹ är ]Úm¿Ô°À³‚8Çõ/(z¨FQ j¡ƒhÊøŽõTÖËù4o,J!ÕÔl¡ÿ-¬¹Ÿ Ñ*ˆV‹CNŠÈUÃ¥Øb»ŒI›,7¶.N)ƒñ×Ï=»0?RõA¤É›c;~¦ 8beß„’/T/ûds/>‡Ž·ÁŸýò`MT-×lŽ;ð¿€ýä»õõKÙ?šlNÝ]d=Tê´ªi´çH †­#êYM²ÁÅÅž(ŠŠû¬]-‹ƒ"k“wØ×XÕȩߣ”üS-\8`Áñ³ilfám³¡~9˜jY]ö¦jˆNð)Þ‹0VëDÆY£« “ŒeƒˆL |HðÀ›÷ÑäÕ¿Ê«_hÞRxÀ¼Á_k;¹ÿ<¸ù¤™iÀbEüâ,ª˜R0ÕÉÎqçÅS!x’Ë7­ÌUœÏtÃ,ÊP„ú ÐÖÏ8ƒYz s%îÙ&èrä³5Ýuö8FÎòD ývÑ;hal> 0œÌIGïÎl§¸W„¾×(i]¤Êö­¶Z|ç±ý(ÂE³C˜ÕnöàR¿Å‡*ÐÒFÜZõ¼ÿ@ȦFXœWf‡›©ÿ=ÿ‚ž• †­_2Oââ`­ê¡úUû#\Ø>:¦6èöGïcs-›‡Iº‡ÏW”j­(ͪ#Yù4˜÷Cí‘ÚÒ2iÔÎ5-zi:ù^‰“cÇ0ÓL6V¶Ó.ô~®oÔSÄæ ëä:²{:‚Ñ’|"ÙºaXàk¿×îñ}‰ Å¡æ“ô¢ªüeÈg «%a'¸;’á03oÖ>RuHúÌ—[ÁÜ»¾! èìõŠ›÷mµ~6™ æ"JíõçÄBPHãÛn"ó,É—4ÅÈÊPÔâV'Ÿ…/º¸Ò¡Ì¢1Ë]TÂÿ”"3Mö3Ð{'©" +½¥Ý½óE¥#~¦e²ÚÉ!à þgÜײÝÎ×½I¶3´¥ß )(2ôj“kÄñN’sHoNIº(*<Àv5€XÊç½-ëÙ}íŒܼ$³ÙšÛ£pXäÚU @^×#Ú‘ÀÑ‹΋À2ì9§§ÝÎïoeÉ‚9Ñwøi Nm ,Qø↱ÖÈjG¸,UµÑÔ)îs¼±3)²š“dSNÞOÑŽ>j Ö–Áñ•­¾=O +¡ô,Mb««E˾LFA’ýäé9]ÚÁÕâ) ÃO#±0¨ÂÝYпr(JÄsƒW ‹ÜˆôÑ·˜Ö?u48ZŸ.l1YÕng„^Ü.æ+}:€‰.ì¡ÕAÊgKŽ’¬îŽ|kx¨Hþ=ö`g¢~—`v–åùUA'iDÑP2žsªe6㪂ÃÓ´zˆ[FòuGÙC<èÒÁž‘¾ µv,«m†"·B§Ï]b¥ÔÍ÷r*ࡶ³¿{g#çsdŽñW¡*cÜ,Qu?ò.Çi«î–SÌãå[… pŸ%_òI1ò yD9Õ7˜ËFJ¤´by §3P="f[{óRðú/!ˬ³pÖ\A±fØZ5ÊìÂ2SÎ$M^Å+ýJnNÿ¡†VU[žpÅ@²å(´NÄ‚ãf!0DñÆÊJj õÜç°§˜»èÚeÛ'o!¶No71} 02ÕŠ/U‰ÎL§]ÉsEOSgz ¶ÊªÞ뎆¬e¼‘KÖKæ(áñìÔ1–àœT‚¥?„SË[Îà‹bÖŸ’FÿÐD6Ÿ),eNÿ¾skx~ﮆ2ý÷J*=ú`jçÀ=i®Äb?]/ÔRÛú¢þ,³WUÊ ˜œâ|~@DíÓ Ÿ&?|t_ÌŸ¬QO Ú ¯]'¥pˆo€!ÏíxÛ§†„ €ƒ;¼Áò<&bðç ý«—6wµ¦åLðÄÖ+âãs©>1w Gaëô¥ XG͹Zy˜wÓ¿Ÿ*eà *ë3F&Ç*¸ÕÒèRzÉͤ'ó£ƒ[Ñ@½r!˜±dMéTÞ`«§J‚¯ù%çgýJo¦ßuúǽ§ñŸ …š ÷^…ß$iÏ°Ák%CÈ0ýÂ65¦8ðø> _ ¶JíÁ Mò\]ú}9|’åTÁFUñ>dÉ‚½‘ðÈÝ‚ –uÔ5G›Á\n@xËèakÞ©½¦b7Ýî¿” +endstream endobj 664 0 obj<> endobj 665 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 666 0 obj<>stream +u`´]Áicÿ_ë ’m6ör ,Oö¤­Y»xr#ظÔtΖ‰Yµþb{ %ø`»Èš~‡Õ slŸ'agg.ø!¼XbxŒdò¶Œ' ”žÍ(µ çÊ´@"-2Šâõ)¥Æu•ÆW=·ñHÔ “DJúZ+gÈ#°4ÞšG¦ïem„a„“~ß=†¨ºÔÐbVÆcM¡À°«\ wð]pü%øêÎá:ðˆ¯Eû«Ê(r´¶o8ä\H ïý2ðqÐu3dÔˆ;&> ³ŠP(6X¥KFóxl9>ñòèÍf{Wú.@¹ÏÛ°ŽdIƒï0qÏzR²çh„=Ãî¯ÝãöREÙp(b_$ƒe†È@aTŽB ¥ºâ QÊ5je)ò=ØÞL‚E›*ë÷Àdn™SBó¤5»`!U/Lï^|‚}1&»8¶ÖnÆ”–M?‰÷<°¢pŒ_‘¡ Š1Öu åòíVò=´¬í—k8´c<–‰PU׬‰öÊòc¦QpÒ5´£|ž¯ì}±(Zé~Þ>Ás"ýz´oÎ=ŸÔüú§Í†úË´Œ¦»\oÀåÝKÄÖÑP÷µZqY>ç'ŸŸ@ ‚Ù¼­PZý¶/·-¦ž)õv¤ù-gÃÚÇö6ÃRcò¤ø¾&€«Õb[äUKKXúò‘÷„ FûŽé˜Ý…>®~(Pâ?kûg9L›¿Wkc™Â®0ùs¿¼!ØÆÐ'æ³½åÀ e$P…ØéÚ€ñÖo#¡¤Šô‘S†Û‘ ›d…õãÚêãK›æyØ´¾þv½+SžHšrS¡IB³¥õ®©È†"Îr7Ö{úh3o$Ùry?n¬6—ü«ß.]nö¦Œòld¹µ øôþæœ7Ûž»À“©J<滘{ vRúüó‰R鼊kÎâC¢ôOŽ#%Qè}°ÂÓÁ/HmBPɘ£c²p·¬Dq[e§rtÂ¥õDx‰¢­AÝøÆ×ßYSoöâ,‚+ª^A}va*«î­D +Ý"—:(œ·E—üµø¹qá$CRLV=ÝÛ;w#9…ÃÊ „Êzxu&pÃ0…î +ÚñøßþØH°;âD? Þs°§ÿг ¢ÀþƒôŒ OëÔ=<óÕÿY¤üØo1Ršæѳ¸. +võ¬Ï—ÌpøOv‹Ü³…0µKºD€ÒÇ[ƒyt¦ðúyáËÜ%•pÐ÷² ¹AFuyô½<54”hHëã¡Ù†GÝ’=„2k?r<Ë>sK EÕ¶°æü ÀìÌ鬋j©ÍØû‚ˆó¸SR+F]ç| 0©§Œ‘¥Oûg©-f$Lðóп텼¤&jøŒŸg˜é;vLjöp^Wþ |c´lÁ¯2ó+KRë‹ßq££Ž—ñFâè êu é•/Ö[·öžÞ*,`éô9¢žé(„j©U†MÓ¯°ýú°L +V¶MäÙýèÚ> endobj 668 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 669 0 obj<>stream +ê[èÔ%°hoþ31¦t20䣻äê¼nuÄã9N}pÜsš–ƒh<=¬¸äÕt¨†äu±Ð.ƒÿPgÄŒI8TX +̪t 5÷·èÍ.cu³©y'èàaYœ¯‚~$FÈ@Ôp,ûùKY$k”ÕcÄÈŽt¦#ä9¯¨^½ˆöçfcul^Þ¤Ò,OÂLê¬8,Ì¡@NÕ8ñŽ´U,FnpFX+ÑkŸžÅ…)6°‘b°?ŠÙ,±è#j§| ùŸ+§ÕQõ 3,;‚§ pK ¹d¬ª·ÈÚQÌwÄ@½lª¢¤Ÿ”÷ ÿŸÚ% š;åéòR2fÁb›œ“¤Öþuà'«)¼5Ø1î½$w…°*£¶;‘>—¹ôF›»ý;ì½$uæ'C^èôóŸ«ŸÍw¢U´ B²±Òå0Ë•m´ÔÓŠÎVU¤1ßd{êÓ}¶0 +{b®.# nK‰õ-ÇÑõ £Î¥“ä`ÚQ礼!‹X´ë•k>+,\²¼õÆÀÎê¹¼N³·ÜWlŽ:üWBöê·ºDŠcvÅK ë÷ÞsåõP–µSáîŸ"Ù!ÒÏiì6Ü«æ¢äÊ"0Ûf»±Dú—€ŸH-êfh’ž’Zq’äÔ Áþlr=S·ÉF>°ÀQC0+z?dZåq{‚}¸„µ‚V¹Ó#Ìû€NÙ=…ui£å 9s“bÉ%j1_«”*üî{ãZÃõ‰ý•˜Nù$=tü8b§–2›È÷ö6H½"o’¢Æu×îݬ»§Ú§éå÷« ½„ȉ|ù5‚õ«:¶ 5NB‹ØXømHø­nT7i”ç¿«ÕMÂtx¶ ' âÏËùAåkË ÷ÑJQÌzyŹ¢J¯¢(T¿*fŸúúñ¹Ðô3îm7—;ƒ_²(ÜN"ÂÝ+`y»ˆ>¹P%7ÕdvWiQnsÆß=þô*>ly>µDç8vËPé_ßš)÷ˆ~wÓŒ÷rmzÇj3F_ù«Y$‹i®„†Xµ/9›,”xáf97®Ô¶ížÓ.ÊèöŽÍšÿHÑ'þâjÂ|•¢V…÷RëÜÎŽ¼ÑÔ¢Gß+m–”vö£Ùì‡&‰6®ŠyÜÙû Úqó¯2ûKqX[›PáØ™¢)#€2ÿù“®ÌÏrq{xÿ­/?–? Ig *T¨Vt°è Bz]¥2IhyôÙúxu»ÚPmq Š°Šg(HÕ3>,kX7!’!9Dv±øW3­L/+î™Vð…ÕÄÕËüûrJ.M-26Aß©›Ad¨/P/¬çékŠ¹¾-)±œrÌ4‰k´lN¥¸=¹ßìQ•óIHÀý7RW'”þ¨ÉØJ˜}6êüÃ÷%évØ *Ë×`oe:IÊbn–ÔŸ5v.„, ñBI\ʾÝÈüB°#𖥇 `z/rXQ¶£,1d`o¼ üðThÛ; ¶Ü2»º7Pƒ„Ñ@ÿ_{ólhµ{ {õB§<³šb·ý_ª&~t}P«ì(½ovY`C=ç©, ÓbAª"çl]…äø—¥Ó“‰<ŸÝuð›e£Í-›úÕ‡„¼Þ !6­Õ+Ò%лgþ>ØBï>«>¶›ø¹H¸d[w¡ó–°‰fF¯V< ¬oaŠ@Ž³­FÝÿÀ4/|Ö§BB‘p}ì]‘êpR]1ƒÁ™`,ûMëc?‚y;û +»•û‹¸ªŸ-?°Œ¨*0cs2‰!ùüAú<¡ðõ‘ËtëŽ(3Ç®òך :î¦0¸#ÉÔxܱ‡5GÏ}ñP‚D¬CHOí!oð(M×6ÃRÓv=«ØÏ «Aáý9HvsžH±ž;?{1#ó—b¤'ƒÔwÙú¼”>úÌ;'k/ Èv*@߇bžÌŸäÛhªgʉç5¾¹úË +­P÷G»i½x‚"™ì¢+€£”ª#ØSÊZ¨U1ö&ŒìÏ*½/,—=¾ÛüYÊ;6î1L¤±Ÿ[“§{›Ñ ñ;«ôo5~¤ºî¨èQ „$Å{gÔCú·Øq ž8«Î£§ +gì¹±Z¹AŽ8í¶0f"[¬,^™ÞŒŠåW¸—]a9»˜l™ºù¸ÎÈCʶ/‘8aæPÖ쩪ÛŠ…=çÔ‹2ôãon¡ŸÿëÒöâ iÄÌ4Ê<„¡;º7‘ÄÈùKæwŸ0Q(èÃæžÖPj0*¦ò%D<˜púäcKÕïëœU³²›ú lEð{·ýÁÿ½@yA~ÕGÀ¨)ä=(诽E`Ú†Hd¿ÂH4žáhv(ð®7Än6™ÃÉô_ËS¦ O*gðp.1Ö´ÆŠ»S)Š~|Ü5º¸+`ëGÖMI¬ÆyÍIä]B¡B²fÌ °Š€2ª"/$Óà“ÝŸˆ¹7~$LIÜ.ã;Ôóó‡ö+mI:’3fWc!28;ÁÒºŽ"IŠD;o|_-‚åÚEƒb‰­1OœHZIÿw¬kLaPŸ|ewÔâr¹MŒñù_»Ü YåQØ®iÝ*žr<0Y8®Mm²K€oÛ,´ÌD›®õ‹èþ/Ëcbèh‘#»0Í8#–Î~!²Ëgô„ò UÎpâ eåÎâ_klüÙq,ë  ¿ü˜³ôó»ëðÔ(?y +E ¨5r$ùË©{ÞØ_§½JÌ<ûÉ<¦WÚ,‰ÿ&ìO—ÉÈZêY®¶†ÿJŒÃØS¢64¢‹d†×4aüC© Ϧ{¹^"é[¦/{ñª±™¦lƒïä¡ãGÏë±\€è.ïàrbŒ„×À¤(¤Þ,sn8èUÜjŸr¢nئ{ÈZÖ¾MCÑ-:k0oÿDä¸ ²q¼ Øu‚Ã,|pò…pCP†:¡>1Ëzê$jåñWTŒG;*Ï,›ƒ³¶2µyNûm s*Èž3XÁ‘+½ž@a'8k»²Eq‡ ÉRµ×ød ;þ=Hµä¥ˆ’|}XÚµÔ3x«U'ù¿|”'MÐÂ[áNní.~Ÿ¨JAP¦ üjp³7þ?¨Ähê*}j6?,ý(O¦XÏC9|5Ur‘ëÍ4œZ‡Ìad•2kÑÓíùGËkùǪ;8ú2ß1âÞ¶àþ*ÉT6> â@’­9ÒPÚtéþ¿$S +endstream endobj 670 0 obj<> endobj 671 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 672 0 obj<>stream +X‰Z¨{ÿ/5B.g›GcîºnÆÝ**OìcËÓÓøÿ££™õ? R†Ö"ÏGå)ÙFB ¸¼Š4 +B¬¤° š {`0ô¶B7óDâçe8çÔÄ8K¿]3aþnM@q~€ÿ#fÏ 03£§?ö¸M¯Œ€p¡'½ñkcØÄV¼àôt¸e_ù`‚Ø4v¨¦»#òZшHh2ºBþêÒ(yjÖN úÑ«Ó„öHþõ„ëîŠüùÊ@+,±…(µ´îøÐ +4SLIÅíZvì +PF*)W‚äa!A£Q?cœ’,cŸÿOs:œe ˆÔÿ_Z@>Ò(ùé÷Úeí*"æ(Ë£Ó‚ Æb‘‹Ôôþü{{ª>%jeÇ™@¹²ßr‰zî2Ùm>XSÅòüA1hƒÎ L áß==8‚óŽb€¬“mõ•6£Ê,~+T¦2Æ:U`Yh ;ukšnµá"ÉHû%Š4d£ïáþÌÙ9bÿ;wÈû)¶©ŠÚÖWÎGÌ'Ý%Û‰ 6ÜjÀ+ÏHE0¨Òâs\SþJyÞÝeô¹^{Ù½°¹»‰µ‡8[9c3zÌY³ñ%q{##îf…Õôt—êÙ<á0t†ŠöàbLÄS£Ü-]z»C™ÑµÇœ¡>Pâ’F\Ü­ç¼®’Q¸·³TŽÃ⧧ò¡¤»ð«ÁË\³ºX©I€§Æ1¹OþŠÒ¾VD? ˜meRÅ;èð±²óA'_òÒ˜x@‡î^úR2ìE´×F&ã¾Êöé|Ûà#ýìO| µÏ¯ÐÉ'@¹à Vn>mŽªoD Áè¾O÷ö +Òv$<&ñÆaÂAà§Ñ¬iûÿAÙíFüý¬Š_eð‰#ŸnarjàÂÙü±@Y(ÒzÔfpÄÌǸN®µó„&"ocÓÏF$Âîà“@59 ?ªú¥Á>ù´ @ÚYçäO3yô\J9ÒÃûòŒ†Œ}* L›ò˜Â›ÅÑ]Q=Ík“ëÄ]ÈMÂã¿` þÿ!ooÇ6÷×—‹`bØ*u×}vÉ™±qPÇ­ÑO“hùš‰Š+[ >!æ"C<8æ¢ñ0†ÏÉiÜxØ}Ã5פ9YBì³}öøSZÀ«>O'‚6ʵºÈÝb øõ"jcëÿe K¸SO»TüœtÅ}{Ô„™7Т󠆫0«8&”JsDY:[žïö›+§ ÑçgXô’|\Úš¥nL]Û¯‰øœY^"Éþ‘”´YùÞ6Òã dàh{UðÁ¬'™UmJe@7Ä͇Â9ù†&–¨JòôCXC#Ú½Á9*MSuŠ-c×*‚Š©RÅpÞÄ ˜¦_Š?¥þkJsµ¢?Úp}þØ|˜±+Ø2uheäBº±ü7ë¿ÍÃüW¯M¤ra^þo4Rß|¤Ó¬ ËærF-FâÃýŒs讽hÜ—¹éäÕêèj«ïXµ-Ò¬¶»•J¸Q™aÒ&P¿Yì­|æîÞ›xî3‹´Óû[Ú,óŒ'»àð + +p¥ƒ·‘HØiw¯áX猤íªÄÿß™ D¡€\î‰Ê”œp¹‡LK·êp‰ƒ¶Ï-WHçiX¼`fÅ{ZAävçb—±ÕÒŒâF›øseÈ#E‚¶Ò¨z^/éÌ$Ò:#TÎúNªàŸåLʼ<°-dÔ(–”£VŠ¼)½x„Ü©ˆ¹¯JvÆÞ£ï}‡V¢ôôH¶;–³ ˆÀÐï'+¨C÷…–±¥ÓéÊ…I§XlH¬$ŠyÎwÚ ! wx®Õ° ×ÃR¶’˜@ªa}$­`ë·­Ú¦ , cȺt¿Ëí^W‘»Š3¹B"ô›ÿ¢U<1QæÒ@úB Ù(SOEùP&Úð·õ’~b†ÙøÓÐœºQåfXây+¤aä’nä¯Tœºc€ íΡÐ3ÞÅ%ù‰å7¶eq±¸ˆáœ/²Åú­¼ßžçª»{`øŒÇ5Ð’΋c œ6‹xþЪ¾„:K¸TVZÃÛÃy9¿g¬O ¶ŽWB<Ö~M¥ž;ŸèE2_¬úÌ]HQïεŠa¹eê8ÁwŽ3[OÁ²Ú4˜³s1­^æ6ƒ2Rjog¨ÑËär.û Ïc+Û8Ë@šöF´ ŽG(3à^×ßo_ùã7)ŠØ™‡{éÕ¢ŸWôÚ™PnímÝö´œL’w/˜wª‘é™…‡°€v²a«:™[žßq \ßs¦³-lYSMµAç‚*âèZ5tCJ£¡P gÈñ>ÿÑvæVÚÜé{I­£o-—K“Õ䬃3šä7©]Bjv€Ä ˆ;BÞ|\vì²æáÇ‚A4 äÜž5>7þèJŒ…µ« {toÄ)ÚØÀO>{·ËÅæPûeQ©x î>Å]Æ"¥ÿžÊµê“eDXÍx+nsèБô‰˜u3T[Õ]ÚØó•=Þè̶!^A<‹ª¹Ü×ùzRŸ¿//y‘z w±×­! M'[÷ÇXv¢Žô´€B‡1µgYÀá^J<Õ>ž +…eoÖ(¤,Ç…,yÉÃzð M¿Ö5ªð¯¯÷!l¶ÃØ2½Âª’„OcN×FÃÿçZ7*Ô•|–ŸZ6%èÔ_-ÞsÛ%¡ m iã@ßß¾¾xêeÑÆ’áU;åh€M­Ýûz)Õ +a¬T HÅæ!VDÓ)Á!̲T–›HÌdë É¡F÷Öç Ÿó1 §ú±W‡ŸëÏø³äè{ÐhâÝË¿4-_6;´gšé3³÷'°H @4`QÌQòïäùùæ˜(´Ðµ£3ýÔQ$ÖXA2°¨Q­z_Ç(1L^U/€àœ£ÀZQÂfqp3Dñ€’*†ªYþ›|4 ƒ6#’¬Ôµýn¸®=†ç‚ê‘)OE‚µIHƒ”2„©]„énôð_Ãèà¼ä†*Š†èÆF5µžö]qiÏ KáC³4ÌÒÔÚ[O²KþÇýºöÏ°Ãüf˜Md$ÍÄZ ¢7Èê +»,>!EðO‰zúä—=–Ÿ”(yúO§‰fÅŸÝ÷wwz›Ð5Â.ס³ÀÉ=0ã"«YÔf¼ô^ðgŸ&îHhD"¦LZ`ò·÷cvæKCªÉ'‹@5.ȱF9Ša)!%¤í‹^-“Sù(ªTÜèìê\’X@¦ìc¯©yó?¥G áíZ£~á·ú…Òp4¶¢àH{D!›-§[‹àÇûK:sSËÝÉÒhî}Äånzv7×Û\VÇIÑ+³¢×˜è%âª,TËea^çÉÅ.'v²nÎæÎmÞèÈ¥ užø¾…xò¿y¦cïMÉÆDªËKïö|úã]¼T*å͸uXÅa¯ëÜÂWÿÉìk–5líJ¨µu6áÖ€–jÍ@´‹öUý5Õ”ó<€,’ÆwM¬˜F(6 éJ ¾¡Ÿâê¢CìÒF•f!š+Î)à¨Jç‘IëGÀþHìßãeSÁRÊTõÌDn !_ãn;†ÔEšˆÝF’Æ–·-Ž’Õë•çϹaPÉPߪÇÖA<Ó£<ôLO½$pŠÞO\©ø WRœŒëv_{W®ÅhYÂM΀RX÷ÞXÁ)â’ÐtÜÓ€©»Ò¨L™]ê …ÃÏŒ‡v$®Y<].z'ÚÐǹÜÓ:‡˜6çx’þnv1ú¬V;½f„ˆíNw‡y’±»=%ØX¸Õ«·±ÝBiJØéƒ~Ž1ô¤µfk¹nß:œ¼ +endstream endobj 673 0 obj<> endobj 674 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 675 0 obj<>stream +Ì+­NóQb{ÝwÒÇWñçìsëï,ÂhMèÏUK pÙ%3$ê=ÏÊËØ#Ƈ¿n$8CË ’PAé„ßóÔ|Ú•#&ÁçŠçÿÇyØyM‚ôž›=0`7ŒrpX£3¶ó‘¿Bë èñùîù×Rg;€_YÆ|g©õW)ö8¨…(Hq€­!y|˜Ì>m豈}|ê£Áu¸’ÁíÓfuƒ~,"n K¯·A7Í— G»ÑvƒVd{ZêƒÇSÆ‚˜+ûÝ¡æü*¨˜àLëìŒÏiŒì¦‰¾U܈ù³[·°fFA`ûÕÒ "C¾·[ÚõÜù¿4aØ7Vó/bÃ"÷…Y·:Ó‹1{m1ô·rKþþwHºœñc‹”“«@Ò°±F¢RÛ@rmr:± Û‘&¦áwÏÊ€÷¢,ŸCÐ÷óþ¹©'6aAkwÂÊå-mÔÒÚZ°D8›ONˆ¹aé×[#8ý µúœ“FðÉö÷+{‚QÁ#:¥'W½ üˆ÷óð%ŽØ+ÃûåH±æ{[=Íu~1’øíîb¸Ò¨žˆ,çØ=¦_Õ Uû³ÌŒ*Æe<Ãè$‡^êÕ-3 srÚL˜Ðß=qøøƒ }q@”—׌vÖZdnL#Ñý˜E~Û›9“h(¹c¤ûõDñqrf¶ŽºIßÄ‹pÞ}¬æ¬‹ö£…Ë´œþ+¿Iaý,Ù_¤­È°?Ðv‹ÿŠ 65ÚFÓ±NÍô›ö0ÑÍ ¿P²Iµí”LsUcë5æ +î†.oÒ·AÓ¹½½-¸t«[Ü„MQßnB÷Ïcùà™5§ \ä3²’ëy09Õ»k²·¿Á·ÌFÍÁÅ°Ñ¢œ±Ç!ZuM´Ñzƒê«!ó¢ƒXô +1“0iDF02—Tö°íÜvÐžÝ ô½,äæ¨XÌÖ”s# 8û9ªžN%„²–C¸oÉI—ü2—©+c‚wùŽ%e©vëû£ï#6&#rŽèV¼nÝâu€oÆl +XNQv=-Dñ¥¿ÿfa0h +vd¬#åWºÎý”º\ KÍ1_1ö³EæÙPŽÒÛÞsÊ÷[¶ž¿Õ£¾"ÞÐw©…¼Ù†xÑHdœ[k•¢§?ûÊ«|ø ˜¬2t\'¦SHzœ§Ý¹-/¦!LÜjÏôápéÈð-'ã°`ƒÍc´RÄŠ„æ­Ií‹]’$JXpøUp•Õ1,èö÷àS˜ïžyR‹H8ŸÊÛ®Å1¾5¯€íñ™Þ5–Ô«R+CˆÍ Œ“ßâ &üœ~Û–"Þ¨üêëäÜàÈv7@zN£¸µÑ2%m˜ÿ²}åôqh­…V“ì¾3ß>†Â%ËôGñ›[0iT÷FlVš´x%zÊÁY9Ô “‡˜÷>gûë]n:ûâ!3äâræȇ¿ÿ¹¾ÌoƒdÑ‹ˆÍ Ëu¿ +ÇŒ*‚GáõDì @ž(ÂöYCBö‹Qq•4¿tXüÅôø(ºeͬc$ɦÖ0Duªõ‘¿=†½{t²“gmµ+­5¶à T@”3¤ÚÞ£êNœ 7«y”È°VaÞ¦À¬îhu&Aò)ÄX^ +Œ¸ËX¬ö%xcƒ Àý(<Ž¿œ,¸rÕ]¼äOöìè¿ûVq=Ÿƒ,Œ±q§§Çòq{­°Ó“ë„=˿δł®Ì†«Í?`‡Ó.‡—¨©rùDLƒŽ¯Ñå“@Ξe AzBpQb•%ŠåµÈž§†°Ÿ­·˜”ØXž¢nr&Ä£\àG±ê÷€ÞãdA§¹¯ei®•Ëð¥†Û¿©À‰ =¨eg;ßvèž+~/ÁÖBsˆq÷KhÄzÆp T¹ÑG¤•Sd¬ãr7ÉwB¹æ)í$GÛ08i³ÎŪhÆm™ë*T÷‚é-dÄ¡&óH…SuÌwÎüÖ”B¢”M„À@ÏHý ‘]ƒ3Êh¹$ÖÆŒÕQ÷ô †ßÀiU.e‚˜¡¼œ^.…¡Å=!Ûƒ²‡?“ffcƒKR5Æ32v¶ígOXv„ºŒöÌL«uj_AŸ{68k!¿ìÕÝÏî8.äó¼ñ“VÉ93èPBþ)#ÔTä6µ­'(M´_¥î씳#”MfÅNW#Š>ó%ý¿c/ýæ´!7kf`èÄw2s©©¡NttX&Y­¦(XáÞIEˆ^¸q³nœt;úÂ皪D°äIcW‚“w’I²öœ»[WÎ7ü ¸ý•P°ÓsIâÉ<úá)ÓÜ7#¢J­öäŽ7P ¬båúÜ9¥Š¬Ì«Äö؈fr€©!ˉä6¾ÚΗǂåÿ4Ç+îgßÖ£›2ô$ô5&½ÀòéÈ禑یFrÂèЀԱA©›…Êô¿vûB˜<8™Ë|NshkO6:CFÊêêÞp骶;ââÑI‰€IÞvû¾ç|»pN{F 9ìênSŸâ›e]e¬…,m—L ÒÆ4!Š3wV^–—)âX£¥F€“PÒåv8¿Þ®àÿšJœæ5«Žª.8t 8Ç£õíô ú)ïdÜ·è!ç€~2„µ§ÓÃó«I¦·ŸS>(fs;÷f¨áø'óÉ"]!K”ʵäh«S[†¿„]püƒKxZü ýƒIbFíŸwG­‰‡2 +n r…Ns¦[Z—âB oJM|“sçCÆn6ÒP£Î¨‰ nd4³õ´K!‹KpSûOiX‘ +2rç˱Y2 °Ž‡Oq‚»åT®àÐEQô6ƒ€À@µoÐèü ÓÊ´CÈLúsæihÄò’¤ÞÄHšÇá^]m ±ù.µ ¬hHrÙÒ2G© Ïï/œ§pûv€ßI¨ +©çUpIýR1Ï^oÕê-·<†©Y=Òr:2°’…—Ôôté?ÚmÂt»`߆¯ f­>Üü5ù‹£)˜êP%§0W Û"XÖÍfž/™“zf«á"ßëcµWC+Vãíäÿ’á Ⳁ暈fC©xe8IJrÍבܲâOgˆ²Àsz‰%f(.c óØ(ß~¦™Ÿ„˜dõ>çÖÎó]þqŽ3šÿüÛä: ð€J½‹_# +*A)ä€fE*vÎkŒž8cÖÏùeaˆî”ßI?~2…¿áh›V8Y]JÍE@H‡d‚íÜ¿Ÿ†àqû×~î)@9@ØE™S‚÷jPÄI¥+ÏxEÑQñ€âõìÈã«ñXQ mV8,ÿ¹U÷pbG©ºÅ;GælæØq«æ3~$ù'p¬ú]©±NH[Éï±v¼´q^²ð>6g[rsÃsÑXoJKšªwlî5¦ˆ9¨8´¥„ HÎÞÿ ~ßÇ´Þ·p MýAŒ8û?ž‚Í‹=fˆ|L•ŽXEG’þ¾¦º^99Û³ÚÞÐb­pn{ò€ß~Íʘe.æýª!Øßøî¡Z}™/ÆЉ®KPæÿùJÆWÿü_yI9¨š9룕ï8ÚØQ€ 9ôD "׳ÃæpŒ£¸tl³ôY(-ädÖ]R”­Ÿ[œ-EŒŸæ÷AèêD8æPÄyô:žÿÊ›°õ$©®')g0¿>ªŽk♧õª L¦Cž*Ü[…sÄáÝÛ€Éh@éÛ¯XHVé€lÒ³—ÉÍxê9¬`wßhe¤L‰#¯o¡ƒ^a¹ï<Ù\#$U"zFÇgÈ;)¯ G¯x­«øQã|´e"×9ã•—V×k§Äe›×mOÃ,K7TICô0Í<òM¾¶:ë 2-÷è«·¤ùl§ »| 貼Ò¨V‹í#¹ZÓp ¨Ã¼Véø²Ê.Ïü!ï 4ï‹IŸön~” +æÁѲèÃiíEÄ{å¬%C‡±!Ž~, KJ=d$£>áÀ×bkk'èöŹZâHr!AŒ’ +endstream endobj 676 0 obj<> endobj 677 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 678 0 obj<>stream +¥I¨Zv8Òêá:orˆ eq¯·Sø'#â·çÔ™‚íPÙz¿5%ï›’ÝsÂ^W… ôD¶z+°[´¢y{Ð1º2¤¨P}1"6Úä?wÔB}Kp¦3xJý:±U{ %õ6+V_î× +ƒ5»:š 9vô‘o"må6õüsª„ßæ,KÀ .||‡)EŒºØ¡=½ è-j´ÿ¦À›d%NlÌ>NÆ£bŸõÂÛ'ù¦º€ŒÆ»'Ÿüóiž×û·Œª‰^¦U”]Blc‚¼~²×—’½H¾zdŒprïè]6}SN–E‹Ϫì~]¹£Õ…õÎèqÁ_§„ ¿È;4(¥q:+R`“Ô›ÿü­'Wç +Bèˆ{3AÄÛÕš÷Êq®ÕÇŸÿ<.ÍPÿ§š~ "yŒC aúPv=³¾üápŠÁCÂ{Y_EgÈ'#@:M_Ý.6>ƒ`®xbmŒåb1l5{Üõ]RZ=[\@¥#õÐÌxø8=òÛp}írjiãÜ8ú+%ãÔâÚtˆúçŽø€0ùõ>jáΠV|¿b1v kZ8‰+vwŽrXÛ»XQ“g8VÅõós]6¡ÀW¥à[nºOÃßeêfÌT„úþ%&_ºÓ‚¸8á=‚±Qö}ÒÐöÖk%¶ÆJE&Ê|uøaŸVÂøXÔr)ªãg0UÓ”[F‹²é$‚¶Æ"Ý¥®¿®å~Xæšñ&LÇÒƒñðÂ!)˜¶ÇÝ ñ¤Nø~„³÷òIØò’£©.FÝö‹¨½(Q Žçj±K{ðÖ‡~ÿW'êhü|v“iæÄ`zä꤅£ÓZ¾¬ªªŠvŒœof²DØ¡p“E¾»æÁ-­(&g#ˆÿÌ|VÐÐ[ArŇiÊgqºúØð-îþå6Êaë$æ¢é-hcõNBBªÕðT”Ë®qno̸V”Þ샟¬le—îÁArÐœÚ{Ó¿©=ò0%;6Uß /g/.pÉÖ'%€é÷œúB†UœáVÊ4„vNGÒƒwÔÎNE×à«d䄬ۆn†­„,ÛSŽ‰#òÎ{®Ë9°G å/ÏF‘D¿½>³MËóƒÑ‰ÈæÀ¿@gò¥&LWã­EúþyH~'ÂÖ1óòQÙ/=ÉJÿô•*’Š'ÞÖáv|C(ø®¶Uã@=Gžà*“Ksë¬ Ñ +ÿ±† ò¯MëA'Ðñžu-6îWÅ+ä5øë ¹ ª*qÃÎXÍ4.š±­ø,sI:aŒj y €§Ýáx´¹ß-+y°;Çü¨F#ÂE’Ni­É;?qºæk¤}¸WÁ}¯:˶î b `vd×ÞR!åÂ}<™wBý?‹¿ü»Õ‰êj_©@GïfF¾úxV³#ûÂU—ƪæMŸâCwW3Ìö°}_d˜ðöW ¼d`*Ä ùl“Y«œ›NŠ‘‹N gIH-1Ÿ¶ÇJ3F!1ìi'Qp$qžì6œN$BÃ]%TDLŠ\Ã:œ !)"@Ñ£Õ{á3¬ƒ3 Ä 6¡íw¤ÙzË…Þ¡8€K´TrJ>ê‚ÛžüÎŒm¡^;¿XÂ|9‹GàŽö¯½á(ý7zä倬FÑGö¥Žn*Yè|C÷nÐÍá<æTÐÊ17Mc_wÇê€Ñàô3ªþ#v‡øDXTŧ ‹¸ ’Ûrv½·|ÉV—$qP:@+göØS*Fx©‰ð—M¤WÚêõ«Àçg*ÔÕÇ´¬ûÛË3(ˆd,u),Àk…ŠîX6O$F#u`Œ¿p&Û†:ƒÔQÕöÃMÜ`¿5àÿÍì«hüoË‹6¶þUkla8Ò?ã7²¨FN° „YòZ7Z:'ÐmÜùÿ¥–C‹3$ØT?^«A”16Mqü°—*p²T zm‹Ë¤|LJŽ2Vh¶ EçÓÒRÞ̨ç—fKTƒKæé ‘ŸH[>Ø•~µ¦h·Ý]—>_jçãë ¦ôžî]à†€ø5ãôvÂ+ÿœÏû^`œ’£?nBrš®pÈ‚ãL+Ç¢û¬A¹ +vútøö¿×&Œé ¬î–óý3œ“—v˜WM_JV>ç^wížýè,s›ïš­¥Bƒm>gœ eüöq˜åy¹yjèÈÓ¢;ÂV¢R¹òZÿùàéíéÝÈÇ|“Ò—I<éT®¦ü*Ó3U¿Œñ§ +çàã.EøŸNŸUîò§µ`»À +Ð!S »·W=ÜK¡—$©Ë T¡xø¯Ú>˜·ÞäÍÕ1 år‡¼òpyM¢ièl瑵0èO}÷ê/o¯¤/­Äj+´@ÃŽAÆoslF¼i4´gaÕ3[rÖzš]†+m>„í¹s¶\OÀñF’ +â†&3ZúZõˆ^Íb.¿šë¶è³õ=¸ -‚Bùs[]¦Ëô°ã¨2Ôq¾!kÓDˆ›0ÝOåç“/é÷bW„oý6žÝ*ó´¶òe ¿åó¨ ½²¾š_½³ë_ioG‚ŸëqÃ`f§)ÚªÀ)¶óiç3M0ÅFèI&xP*ìÑc#Ì« 7¶hBîSA¤#i¨þ¹ÏvïGŒÈCãûâˉ«Ïò:®âr²õT üõd–¥Â ì¨ü8e™•‡ýм4×Eåê#-Ì Ù%ïƒsS-%£ë5øõš³^š‡DbY'fg‹®/4„ §àþü¦Ò>Üò"@Töì;q7¹çÆùS°ƒâ1²&~)PèÜœ†ýÎóÉ–ûÿÓzz¶O–èÓð»pµniA-ŽÞÐÒõ’!žògšD®‰Ÿ–MÙ1/ú®Â`’ùg®ó¹5h«:Úá7NDg¯Š+e’®î f6•ˆlŸÌ8,)— ú|pF<ˆ!˜ðßa<¢˜Y{ÛnÑê9>Ì"usxa ÕyÞËh}ž8× 4Â…Yy ;²ÙÈȽYqC ¥¶Vrc­ímÀÑ…À•8IòA»ä*OÊÖ½ÎZÇê¶ º‚W8oçPö ˜&.Æsï}¹_… ˜@]a Å•m›¤«-~ 'ܨìߨ̶±$”‰L€q]ØðCyÿžyÀŠÒlÈíÁ̵Q'æJE±5c >ÐÕ††Ñm‚[ŒÞ¼ïTlå\VßÁ§œÐ”y hŽÒ?+ðÏ‘ï•7²H‹&‡%¹¸Ýêɯzr½á£ˆoïàƒ@Ò_ðŽÂLu«¯á‡ÖÔ^_'Ë£)rý÷÷AÁrê¿_‚Vnþw‰F 䌄ѧz÷g¾^ݽYZÚOôFR˜xˆ0º‘¶÷åá[ ¥™RS–ÂIM‹‡žZ;%K—ÈhÓ#ý²HS×:\ù=<£s\ÈÐ{ïŃwTÈö6ÉÙð>âÓ«(ÿ±‚¢-øËm¤“Äðä°ô#!åe­™LòÅMé=QXf{‹!™{Û•‘B`2Ì`Ä…enØÊ™5Wiw¤,Ã}È­\ÅØdKÆ*µø 0£NþÝê3¯|Óo뵫]yÂ)£Žà¢t¾M +,÷П¸ôê>psÛ>dOSë‹t—Oü’ÏØ”u>ä ÏüJ Uh‚nÕ÷ƒ_Þ練Ðq&ɪp”ãQ6bÝý¦çÑ<ᦠNþRñl]þÌô†'ŽéŽó§Ùìµ~ÓÕ«3:C4*±„šŠË¬}a rWÈ•=:¢<3íYÒO›ãbRV¿Þ·¥=Þò-ˆielòE}½D‹ë7u9ìý äF;Ö™•q+ôc¬-Ö>K|úÁÂQß·¡‚q‡EL—Ï­J¹`rçþê\§1àðuWÛڌ݇\O$x˜uK°è(tÎÍ[ö«9KÛp=%8>!<ù)A×î©‚ °ò€äI;ÛB¿DI­]ùŠóëÄ»Æ#¨j  Q’h¥æ%ö5G¹j&¤¼%/DÙ×2¬àn´êjØkåüÓIéþݦ—О>/Vš/'<ÉZãûÆ …¸Zô4µ¡ktvI€éÿÉcRâ7T€‡%°RáðíÆ/YCÿËn"7™w­v¢ù¼úÄ°®ÿo O’…ŒÉÅöïÓ~q¬gç`¥Àœ×óèÜ2š#$§ã›<—³]Ág jÜÀoNÄ6Ð ´±Û¦kMñ/ÒO‘’N‚ÿµw›‘]l%.h? úBN¢š!î‚nzƱ‹"G™ùZ¤ÕqGGÁY„,#ƒÕX!Ó5¡I´Ça+˜h+.‘ü‰Äv× : +"è«]0bú…ö½dÙÂë^J)39øøR±:h2 l½y‚ Ìšî¯/U!H¬Ô‘âpqœŒ#V¿%Îp°Xœ|Ë„ +endstream endobj 679 0 obj<> endobj 680 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 681 0 obj<>stream +Ÿ5?+°ƒpÓT­÷P‡q4-³üÜÓ{{ÿš¼ +>mVcgiVgÖ•ýd`Ö 1ö’¤õ\Õ=Ê1)d&Œ œÖ`T‡%œ_¶Eïæ­íç&Ê.ƒl 0$Br¤¼Ý¡ó_4u‰µ§Nd_ªºŽ¦ª(Í×<þÃ]¸ý|@(˜q†â¬LU®;ËÍ.Jƒ—g›BRö›†ÔóD|©K(À6k ¹D˜Ô©÷šÚ”?þ1û«u’vG”'—»ð¯S<¸1ë ,¸vzY—ÄÜ¡ÕÙÀ€LTœ³R˜:ÙÉöŠüi— ÅEúðó|†³î‹V‚ïKβôß"¢; º]\Þ›4|üí¬Ë¹·ˆ<¢•ÿ´ÑOåUÏÅUá¿9Ó„hzH[a5ÁÄÿ%šavfž´i”bÛ™'®»™UîN½&u ü(БÊ"^@+NÃÝ–ÜØÅ؇Ү üqx w>Ÿ¹+#ÀäöTÒ/ç>b-w …cjþ ¸â›õÕ¥?HñõÀ¼ëÊS£=ô§Ê)z(w&›£JÜIúp"l%`¬ÿÔÁAg:k2“ ­ÅS[°=Î"ËÇ5}†Ú­ H úÓEpVXÿ^ 5å®J¨7[lÜV‹]¡A8!·ékG|®gÉ:Uøø<ÇååÍcàåWñ¸öam^Ú  A›pSÓ¢ü·Ô¯ØjŸ©í¢?‰†ïo .4¢^JzìB7[ôœ&}¿JnÌh´JåŸÀ2ÁìK‹Ûyí¢Â:^Î^~{Š´ýQ1mÿ¤^Œ²Àôn¾ƒetZPL“2,Ï"ïµÈ^rË8¸¶È`éç¹p_|þm=¿bl„qmÖý={u3 4Ä*&SD?! g°Tnú/˜¶í­*}Ô.@ñ…úª2(ôb°…~ª f_ ”ȉÜ(ÉdE¤­Øv?.2õÇ_UC¢Îm +‚ˆ½Æ9œÕh`w¢UáÒ7ÌaqQx½+§ù‡¥Ax=øÎ3D¨D; ü1÷1&‚F!^+—…Ý"=2>2 »C‘ºðk¾O§Ý³¹ñ+œ2ÐΑ@‘÷”8‰¼q¢ö‰ª´¤K«¤©Ì‚ð“ŸÓý›L<{M+è&‰Ü`ž6KpdA«C¨èTäûÉ…‰ ¤ê)”yÐÉš³>CˆÔñËàV‰±£Õð¬§GÞ³Ò³ˆ w793$)à‡4·ý‘r`QLo‹(÷ïtÑùG;Üå +Ü1´æO`{ÓÛp™T•´q›–‘œ’ ªú­0s¦°çjt0-T¨ý£œó@D75_i%,y“>cïê±Fq¿®{¨ÕC0Éd³”¤×Ýn¤M +ˆxam'™Õ`9,Œ +îÝÏ_+•'S[‚yçø†zçÆ79<$ÌûãÀŒP»\ +6ŸôÝè±ShQ¯ZÒÙ©ÆÇ#þ „ý¦lAƒo”æýb!},™È梚¬q€(õ ’P$›üÎI|ožÞrtd!5¾uÞËßë_’XU…Ùf¸yI+aK—›b‡©hìÑ +©îPx݇Q»ñ5@Bd[’§Yß5¹áË”~Œ‹ dı+«–Öä´pÁ>‘ê L¦ž)ôÔ V½¿cŽíÀþïn+g’|ýqEr‘$€a¾Râä¾' :¢u(øÂW°Ÿy°¥cà‡ìy†Maô½Ñ<ÉLùêh)ǵÑG®—îéBb+óùñ †ÉJ ÷ÑQ†Ææî§ÐCì¸ÞhÊ!güjƒ¯"}­,_lÊ ØÖ%øú/V¸ûE×Yi‰M"'ÕßÊúùÖ¼§ßŠ``ës·m (¤!‡Ø«Ë°î@øK¥Öe$I–+ñÿs7€LE;ávò±c:F¢Éd‹ŒK"˜Oˆï ×ñ¥»Ü=çg¬‘R/挊‘¦r§(Ç%út¡°h*x3¨À‚íc±†IM볟ÊÁ‚EBua´©wà å݈W¹7W(»‚ÆZ© gj¾0ôF‹¥zܸÐ2Rw+u64Xví-¿–­‚q‚«'VÕ€¾~·–òìaI?XÒ<‹õÈgáòÃ’ýû‰´¤öC'˜ ++õò¸¢0®æ ]bY¡ýM*âG©†l ë¬6þ"Úó4›Å]è|šåBŸÂÜ•Õ .Ù›ý<(Zÿ¿‰NÉ$Ëþ °óס¯V•aÂÈù ê»O9 Q4ô÷ž¯cð[ŠMÝ>õç/;70J¡‰ñ“Ý}ai^tèÌgæ™éãKC'ídæ4÷¤B?áOUüãõ°i8~ Å}¾dÁ}Š›lD–K^Ô¡B>¥M}áÝg«ò¢üêNÞå8GŽcÊÍ%CÀ_ŸF¶Ž BØlŸ(9“þÃ5°µ®é²dft¾¿Â1iÔ@àYt¢à2¼sap> Ê{õÜÊ»äÈXËŒŒÑê;äD%w|,Í“5Dñ>·ä8dm%¡îlu7ŠÌ–xÊ¢8:÷Q€—9ôXÆs» Ì¿.M£›â,¸çùLIbŒg’ï{˜Îö-ñê}p‘S–îÀS˜Âë)ù€fîí6/¯³L§lBÔKçqÜ2¢™ÃnÅ£å°"§•­.ÛWKP–*ßÅž¿Õ¸dg⹩Œ& ÃeQ=Îj+Žó[Ü- éX¡¿ÊKdÿ s½á*œ7YQÐößPΖ”›Ñ•½ðò‚¹a¸^q"ê›u•Œ»ý·ù.¸‡Ãˆ3óY°ÈiutÚ‡v¡x›†´ ÃÖ¼5º]åÑÑR“Í%¯âþ¨ÀB;û ÝtDz={ÝþBêv8硳Ôì2¦¯á Q. “RPj=ÒÓz Æ¡½á𧉌ƒ¸S•¥N¸lá;)Tc’Y’Wÿ4úÍ»Öê×ÁŸkMòÓãç‘Œ5¡Ç,…“½>Óÿć¤ š¾ãÊÑÆ9 •ƒÎA-°ï·ÉÙÙã½ÍG |•ìÝf@¾Jû´EçäÇ"Ä>2´Ç•ÚÊ̇?ðAõN¢³»Î øá•<˜×{ì¦$­†ªúÆ~ÜlD[SÁœ8‡C|Jo‘ •dOSJÐ&ðœ3 {ÀðšÌK4êÉv°¸q—´¿ùDeL9ýÆ\>WcBXwüŽÿcµ^rEšaD†[r¢êa«K‹]—ªæúúT>ò]@ÐŽúž.™!·ôMÔ6ß·Vy¬½ÙE¿‚÷‘Kë˜tÑ…*Ú8S31U`Šœ2½¸n!×ãCIËÖÚç\£ÇH6rd'C•¶ÖJdÆWg——T€R—;a®Mz~ž,ÿ'ˆ~Š€4ÙÜuþ&›;2\—Ÿ¥‡—ѱaÉú¯´W¨qš` Q}»c¤CÊö_¦Æ™s¬!ð.Ðù¼ˆŽsPœÖ ‹&è#ž@N$y”q(Ïd‡&Y ªúIþcóO[Ñ5íOàà•eظJWÜrg÷O½‹*Ëc®\ÛÁ¢¢fÕ'wì×Sä–÷Eˆ{]gêKÖ2•«±Þi;”LÐÔ‹ÂÈ{i +`º´ŠonäouVÝÊÑŒsÛ~z|„…YpÀ”[ñá¢Oø¢`‘¯ Ñœ‰"Sˆ=ì~„–8Ë>Á…‡wsnzÿvN 9B¬–¸-{æD§‚¼M„Iöø¶ÂFfÊ¢³L¹Ì‹Þ‡’Ëä…œé}¿¹¿UL‰ÀÁ)ÄÝÊ.æD+·õžXÁÄas¯(I›Ð!›JðÕÏaU)–… ¹Í{b–â¸K‡àB¶ÜÅ}€s#¤§èo;€ÔV&7.]\ßvùùYœ2qT²s©[ǨÌÙÅaÊ7×ZÛ›ýyÓý{ÇW¯_ªC¦Šf¯dë Ç§§¦ºu*“'ä–ã£Õ›~“¯‹‹ ¯õS¿/@Þ«q…‰oy55\1%<Œÿy‹=š$~¶@Tž šÁi¬äLÐQbRT3ÖÜ_HSíSfâ(ÝJ¥)o‰92Ä<¥5pÎ|Ú¢€Éå˜b²å GÆàªÈôëËm$®¨Œz½pµ©Ù‚ä­äìÆöW¹aç¡eµ’B•ÑÁ¸SÎ4¹]R÷>Å‚ön,#ö]'DÁžÈ^ä› 6o³ižkw5TëДùÏd?È%ö‘5/~&1ô™c%V™Þ'†u•t+zÕ<⪯t]©ÿ«±ÁùlÛäív& RŸŒÈ9"Ý>| ÔÌCüDAå%wš*ÑÚŽBp©2pÓ·Øû¸ÑÌš¾~sK6p1Åê:'òlð:YÌÇ›–Cwš#÷gd´9 .0»™¦ÂäãÇÎÿ@§äiš2¹“¯èFè§ß¨n³6B–ÈÏ1š0 +S–*©&ìF\¡¬÷Õæ;&q»Þ´±\”þ-Г¡ã½ëZ‚°‰ öøÂ8K 1 +endstream endobj 682 0 obj<> endobj 683 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 684 0 obj<>stream +–Tƒ+¯`.c®I$³È•]9{´>',íÞ¯a¨å%K¡2zyû[Z›‚s÷H׺ޔQïÏ»i^WÑÙ€q_K2ãÅA—´B/Î]‰ø¢OÛßaN5Óéœ#Ï:#_â/ÏT­+šqó^ä·üƒLžøÁªô¢³TjVõ-aîçt¼µü3ëOR¡µ°Óô AdB逧¹û/ùÎ6œç×øå8­ŠEx3(íæV~² +gîô1%‘ [AÆPgòàÚvnœ‘©c`[³*ÓâeÛl’ ؉ÊÃf¼¹œ7¶ˆ(d$£“Hûfh:œI-`Â+<ÏNIÝ£€ñÈž›—qUëT(Mü‚š¥‹Q>k‡ÐO*UK†W{9 §ÞCÝæÉí¾s«³igm!Àr~¤^.:((§8Ž U/PA¯:(!^šŠ8÷ç’îbªuLŠÇÆâlcªNw½ ÆË&æ8|N ý‹-¡X—ûâd{ò¨›7K’(ñf@âµðÄÔ®JÞulÖ\Ó™†N|°&à·/ïvŠƒyÞ,Å+„PÌf\^ØSmÂ_¯Zn¶É­>¯M(q×=e8õwÌñ )ø`êõoÿãýÕgÏ0¢¾ˆ¯ë\_&zÞKMk÷¿æªŒð[BK(Ô#rÜ2ª #»¦ýßìÙZ Ú&Dª=OsZz+ â‡K{—¢?N¬¾]ëÍy*û@VÛ؃ŠÓÔÁ©INñ¼;ââÃI%¯:tM!uðÊ¡Cõ¤Æ|§ÂOë/Ê…và®[’šÁê:!¼`ÄР¸z¥ KðAŠ…™p¸Ê²Ù­ÄÜ„gñJ¶>tㆱS 3í§£ ;¾ÃÎ7(¥¯8Š Þ3»¨]AàöÀRÆNvöŠ T„Ý€0SU&!4=‰pkØ_vŸW +Is¸…=¡€d*¡pqÖóœèð™`¸&Œ­¯X:¢¶¨V¹ ŠÙÓ;TU´>÷ípú"ýoò&Yv6S}Žªb•àñ¦EêF1áQ]=ÏդࠦW­yeš’W®@ž4(\Úêz ÛÛ@*v¦ yƒÖ_σ“ªõý”tÇÖ'c(À=/믡áKg혠Ñô=6NýÓi'Îx*ÀzœG5Äo€&MÄØ4ßzœ%MqÚøõ;žÃD½ÎðžžöÃðƒõt»Ñ!õ²¨ÈŸ0œD±„Iâ’"e—”¿Ê‹ÍäáøòÜåOPÒIÈ¡õÀ†m)mycÿri #IÇ0š!SÈãó]}Ÿ»-TëÃ7«Áª'òGbç½»¶Â»b^´êªÃjÎÒ +OÌZÏv1>Lž&ŸŒ÷,Õ{D@ªÛC??üÎKøîlmjWnÆÁ‘ÛéŽO¤ ]–Mñî,²¼™}Ø7x3Âü¨6¼o'¬Æiñ¶â:£êÆý§òK¾«¾J?EÿRoÔˆOƒ‹Ù1|ß±Ê^»„ãX”7¤±÷ÂIRŠ I¡oª{G‡UŒÁJÕCYšºŸ*ì— ôžÊ[0gÕ“ªvÍÔ Ó³“/Qd Å6®Ô¿øš‹ø2bN4 J¼”ɹCÈo\÷Ë·®ÃN,¨Ò´BáÀ³tOàæVÃ8ñ}]ß L™v® +>Bž tÀ– Y}أŞÜÏp±{?ÈŽ 2)¢ þ‘{sÔ¼J½07Y_—:Æ·Í^ ë?æP·¶¦9ëdj‹úDó7¹ó2™lqòj£M$Û5ÙNþM§‚±’pìˆEöò«¼ˆŽ³_ñ´¯÷1s#Ë3"Å-D_Z-ñViRZ!2qrËlþèŒû@®Žiå‡eF›*J[`—¼ÂúìÈöRžôˆÓ1H>^ñZ ô2ȇc{.´ƒr·÷˜žöš·4G?̼¢VY*‚çaïZìkH„y¬#Áíá ÕËÄ¢þ^š@¨ÿ­Û7¨ ‘ƒ¼Ë­Å B„­ooÒVÄ<ï…@EayFG_›û z^ºdþ+]…—`3ºÕ¨FõU™ËÎ{,Ÿ 8NºÄÈ1Xùµ’¸‚UªFVh) 0•v<H‚ Án Ù Ñüç Nó8æ'”Mï„ò¶Æԉј³9¶}nÿmó@‡:ßpVj…w8%»3öÌÒë)F¿KM`Ý„ÂÀ[¬;Fÿív³ +å“EO-Ù|‰„²å*'NâÊã¨úJÝúܯz¦"j’ž<»"½RáÏŸ?ò)ÆØî`I¯1O Ãsóöæ´"s yÉqŠ¤5I$‰?Vð”g:L$Ã8³ÚÃiÁÆ8”Üw⚘Ö߇e¾;Ç’T„zY¸ÝÜfòb@€øq³™ƒ¶•y–pì1ðÚ½þ¯ÃÀÇ–%ˆqÁÑÁ5…”m’^¼ÓeîÝA\¡oïÓšZüOÀ³-° –”©\¿¯`€KDs (æð4gÄ„v¹¨bôNcâd£2&åÚV«Y`–´üc0…¼Gg¾T˜Rö:°gÞn†´Â%„WËú´ƒ[hkaXÀaÓüCˆ¾ƒ•íúñÜãs6ëùµ™M¡ BXÖéÉ';Oû‚SH¡Y¢NþtÆ•€¤øü±ØÓêÙSûáµÂúèü9ÿ¨V¬vÑlTï+²¨¦Å»æÉ”·ÈŠ½ bê¾grÌ5˨֡ØdíÚlZjÆ}©•59Ô^SÉôÕ¤±|'rýΡ§HcçSÂÖf *ƒžGýƒÿ«K +u¥ò‘ñ.ôŽŽ-À€[©ú¢è›•ÿ0Ü,®áÉõƒ9n·ýÝÃ~þ ~*äWˆs¤)nÙ‡ýÛD¦L%,èWI=nHæ)ÇÀµ×ƒù ZùŒØpßdœÂ…Å•&¢Ú˜Íl] ðG +O(,1t3Ï9ù@ù«0§¨Y}u=¿í@<«Ð«!v¦8ê\ª†y0Ñp–½ysטÿ~Ö°©BY=DäŒä4¬Ðú¼Åjõ 綄g©åUùEKòL`E‰^8;3iœÚ†•Ç€È)`8FÅ:v°æf‚µâìåK׆SüZÒæ‹¥PX²É×_ý]£®éOÊß0'"ø;0Û¥Šâ=”4Õíè-cÇ5)‹¥3Ço%IY¹xz<\$Ö‡ “iÙ^÷Š`§Øš6zæœ3(’r.?'*%ŠWÖæÖº™ï¯s.Ä6.ÓTóbjò†ÊùUà3µMµq‹µÎAKö’íßdáõÌ/X)*:¼Úw8¡22@\îTam6ê¤+1*Á¾±U—ùÚèãX+³Û9>¨K[5»vDT‰çabòPšØþg{F'ø’™ìð¶$Æ–=Ɔ Gguj­åÜûZÚ mѨ8­<ÃÊ*ãS¸„%Íf +¬)À ЙõðŒïç–,&z}ž¡Sx²éécÑnå\vŽ£¡ À/ºÌ„ÙŽ¡ÿRVO»Ï’ Y´]Kßðuç )Ì“oƒÓD¼º’òß_‘ƒÜk¦°ªùƒ\¿ŽÕÎ_ry ‰¸t'xël$Jî+QʨƒU3iáÊdÚ·ê§E¯6f(ŠÊyx:›ˆ?W!÷2ŠJfVj䮑e9‚\qæk[ m¡Ð&0t 4@ìz«‘ia¿aª7¿¢”Ï©iyoöàÕpŠ|¹ói)Ç/·®ØEI@b­¨¨é´ç_7> endobj 686 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 687 0 obj<>stream +5+L€û#Fþm-øAë,G‚ +j‚´ëNCwŒ±ÆÙP@K«4wS’1¼-˜>”lË“Î{ïÄ=ÏÖØœ­6 ­Äß„]6x¥÷.ßõ1ŽDZÁî SùQ)&zô²UDZT¡æ.œÕN!ºÊœ6‡óÿˆªQ¨£ý$å2áûñœ\w@Â,4'~…u ¯š’-5np swÙWé•Œkïð½°ÖÌT·L~ž$AüJPW]ÈÝèS® +N`Û¨ÌP¦•#Q*°ºžíšj´$0:9Q†Ég_CKŽÆ.+ºåéfš÷2ºÔ4U¼ :†£„piÀt“]N9Ä\ÕM>ñún|¹,3ÔɶfdËóàˆÏw9¾æþ÷€U8²ù|'lreëáó.@5DíˆmÂ&JwÍY[ÔT7“ÀYÖFßñÐò27ç‡äsŽLä$÷¬qü{ffúy•€5kdPG™RzìÞž´+&Ê‚%'1'‰¢ÕíŸÌ Ä–†ß öÆ_­°ŠÓ±¦tœ +¾ÔÊë qC5í^B+ù«ØЩ®–¬úÒC3 MÊRGjhç|ÙˆÐñó¦œÉ­>¨‚€f“õBxöi9ù@·çéâEDP~u‚ÕFH—l²;ꇤPf2³¼ïìßÁ¼—§|†( …¬½¯hÏGÖëÖ\s8ãN‹o½Øzp‘MðŽ_{‡Ø<Ý?‹“±mõZ•À› +þ? ÈŽ¯Ñ‚Lv”g¼S¨¨ü‘AÏ.VJF»±2õQý˨Y†N\<õ(Eb©Ï|M/,ÿ‚VâÛÛüÅ<ÚòêsGy^-î½ýÛlRNân+ÿêà¹+©œ.p,¼=¨ŒHͺ êFÒÒŠ ¬³hvd4þè(àÚÙ˸eïÈØ·¹Ó ˆ7Ø•Å!<¦¯Óø¡(ý Ý©âx-8_L´¢@‰Œ ¼‚ÿ•~A·!%î[£pQÛAþ%Wðòìu|ò+Œ¥g¿·ôÌÖ*K Éá‚1Nøn„0àv1c½hï/H ú(’‰ +Ëo}­ûÒEÎI¼»ü7Šß§­¡T2è{¿^aS.|›3tÌ•w@¤%qQ~“§ÖHÕðZïÀ%¸HàÇÇAr§ò§ß TàØòš p,ÉOóÛÁÛ%¡ó7€§ún_?¶µxêY¡› “-ð®;ÞCç’ök£vq…a¼ã ŽÇ=³a‰<‹ž³“GÄËŠÈUê-XRs7Ž C2(´÷|0†@2‹aIËËÇ3Ù£5ßb UxoGaµDe[ð<7ÓúÊa¢_.Ž¼?2mí@tªk£ôÑzKʹk좮ԀwbÃVËj·6qT£§b'éÆG«bª ÓA¥Aöhétël)áÀC1Mxãâ´ÙÔ©‹ Ρ%ÔFh ÃRò€F̹¶8 òÞɱ!ˆ{QF¡:=óJ¡óÖ£+Zb>LÂIò;Ó#tåFùʈüàVÑmÈrÿ#mW|ÛM?x¹Í +ÑŠOÏKý+½{©2RøYf6¹6·çœX‰gï îÅI•ËÏêßåš.èK©ÃuÂu†ZƒO"Ó8þ“Êú‘•Â^9£e«ð*5üvðmŸ××Ý¥gótVïqç‡{ª¥ aâ^–K^»ÃÎ̸£Û'ÅKˆ } +Âã +“ ùª—æc<…£éeT«ý!¡Úìàs˜Ê!Lð©•Ž#’‡Ïl¨Àɹ X(KÏ3 s%fG‹c÷¹@n”kýªù«Œã¬½¨.ë)ߢz-ÆÝ2¿EêèŽÒ©¸Snq>¢º¹¥ßö±QˆúÈ6¿;žOµö4å­´v°:}läÏ“Q’,˜ßüÁTN1Bè ]¸lœ5sê+¼Ó7<]œ“c~”_£šw@)qó(ìÿ2ßÄ:dˆÄÂí¬Õ̤ özç%1'âo:Áœ„+úš… vã±Si.E»H:’n)a4×ôèðR5ò0“Ù`S½à^„¨X™}i©lºÉNû­iãñÍïaþµ;ÄìóÈ@?Ñ(æ"dR˜e8 ¶÷F‘o»ã“;czÕý9^à;Þ5OmÞ\Õ׫Byý•Ü ¦)ŽDš¬lnüÄKÄ}ߪ¯'èí*®k~1vžºH²ÝÖ"âD0¨´!êÁ”Òõ\¿*±ÂK’у¿ZÝô ‰Cô»x\Òà®ñí¼#ŸUJ‹ÔŠÒ¡º]éd!©ÍÁ´€¦ÑŽzðºj´Î†pª ê=ñðð-'rgGwt7%z² •^MÎaøräoº*ùºÞšE8ȃómáF¼P¾º;òSŸOh#˜8”µBqÎò§vgKÅë¡á=äÝE¼¹³1áÚ5´Ÿüñl%ÕÕ XóîRn¾ßlFïµÜ‰ോe´Rx²YI땈b£™ÊÓ€Øâ +’ n^Ipˆ¤è}¬ÃØ«¤§þbZMƒG‚ÁìÅüÐá]Fvÿ‚ø .‰Þ,šëåÿôÚêY§|\Ñ#¨·€úçÜ’ñ2.]]Hm³3k SuåÅW¤!N•Ãbô-ÿÖ!Ä߈q¼ÇN§*½ï„mŸˆ ¨‹P —¾þìV+%ˆ:åÙ IDÆ•TÇu±Q‘¢Wnµ»Ķ* ß/u4»†œß:”Ã&ê!RáÁ@Á€Îs-Ѳn4Í•èD»½ÌöO|ûóÝ° ›'Àâz"8ÇÁ ပ}¥K„.:K„ÍÔÉ«ûŸ=®„¥€NTÊKÁÕ8Á>RyÒ;ã­é]nÀ ÀÔj=„ ½ä²oˆÚBÎ0ÑÌ,6BôÄ.n0TݪúoT)b@~è='7ÒÔÉÆ#H3 á + +¼±Í¾¸Ä:66ˆç§Ð@mÌ} ÐϬ¡»G wº47úÞ%ÿÀ¯ÁAcÇ-½=—PʺoÆNÁ´0bív f7Ýi( R·òë0±ºüº¶»*ŠßëÚz0”éëœJàîŸÏ×žÓ +endstream endobj 688 0 obj<> endobj 689 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 690 0 obj<>stream + ËþFäxÂ?€ï’gš©ö–' ýLäÿ(Ø°™jÒ ûñÀ?lÙ˳Õø`¦¹ñf7ö|@×ñ_•Ö°¹ÍÎptÍÇN7¥ØóuטÂ×G<ü®¬¬(SÂd6*R´Ò;øH¤QÚ¬æ·i>¤=whÛŸÞåæߢ\í±ÀVŠ%ÿ÷nõQRÉUÿÆ£Z›ÌcÎаÃUp¬\®«-#Í:ue"€ +…MÂý2Õš¸ÿ¶Ð_:£ÑÃ%a€ÂtøE +–¼S\¾åÄ=ƒÖ»­×©]}Þ¤ëAr•«Íî–ŸB2`Úõ÷ÕQ8…|:„3Ê'ùÆÚ„IpaÚÁÞí¢GkPÁHÅ€„˜¾óy“c ­f•L^ KÔ³sRÿ¿*þ;P®æZÆy´)of›xFNd¥ú§þ’!Ø‘̹xãUý8èóu®¯ZÜ:/Àš(à ç¥9AnN鲨»¦ÄæC|õ—ÃÒ›˜sept¬ˆh¾ñB!5}'¨Hl/ ÜX‚Y‰róèÄb +¦A‰íŠô9ïF‰=qHõ†íÜß»¦oÂV8²8Gê^E2oqžüvò~’nÅ%ÖjeÕ¸Úž©f„v¨«8ê…`Ü{ÄÍòL4ôý^ÒÔ6p9ŠéÚEñ¡¡à0ÄŽ§Râøù ±0Ò¶i#˜hðö‹Í Çå˜cgȦú•^a\f–Ž GÇÐç–d„GU.ª»ÔaEkPÙm½/³¨Ø·ž“ãÐn£û·Öë‰VúÀÞÄDeó#½&àÍf‰,ÔÓ­þñS¥Þl²ÝÚHK\ÁC/1«ö“´è\f.w8º@¯!v›ÃIS1yBióïÏļ¤6ï¤lÆ·8_-W‰'tá5¦›dÇ4šE¬ïýV´üm`ñ¬3ò_Pß$ˆeaý£¢™ü_a£ÍÒ]›ˆPÈ„ßžŽ‚ÓõäƒáÙËN¾…QÕÙZC$ Ù8BÐëCî ñ§eDÌo7íôŠû6@0ÌÏÅöáÿÄ€}ù¤Âʶðh-߆ xb0D”RÛ(B;êïâYê™Þð#˜Wq+9$Å>[4ÜiYo3™žÎ5`©il: v’~îø€&õ ´ñâ'hѤaœ"qhˆØáÎîqà-)(¿§ÚŠÅ¤SŸÄò9¿3/-ù‚B)¶;úª·ä}~]‡·Ö‘ ðlù(Œ36dXŒ2äÁd1—ƒuI¿uyègÖ¢Ä9ìzsì7¦]A±ññ”wSô[tÐî¹ Ck.>ÃTJ^TØŽ>6¾`Vâ +ljBü%q±Jg.§)·|\4Oº B\¯Iéð©4Ã[-ñ"‡à)Ø´XŒ4™ÀWíO'Î%W ¶ãfVˆ¦ÏjŸÇ8Í<Žw ¥-r¿4â]Ѐ„‹ðÍmaJ3¹`ñ­5]x·bîõ9iU{yè,ù ˜ªÑhVÉî3ž¶ÈÐ&ówÜ’Á˜k#¹ª=ß¡.ñ´21°;Šºúû@„2åcÊç4.øñ€=°”‰+t$›SÍjÉç„‹kÕskžj!š.h¹2Lk<¸òùJàëµq+?gc§xб¹§†Ê´§XLבÂÒ°Æ“PZÝÎ×!fÇüØþ† VÙYÕ¿yÉBjAá+xóœm­µÎž»nW† \éÕ³Dã}uÿmÖ@ îé­Þaè%—ÐÓåL@“ÒF­™vè[y +öн¿–œën'çcú].³2«FÕK^œˆßÞ^ê϶ÑdCd©Ž°âÑó¬ÀøÂDÛÅ]ÓmY6¦©½óB.¦Þaðu3FBø-Òk½ôÝ ïz÷³ÐjÐ'(“”òNŸÓL©w¤þ2B¿Aº(túÍH´‹¼æmˆ£…vF¬É¦W’[½*Û 5doŸùÜ]Ë·9€Šé| ׋§tª ußCŒ%u€ït»—ÐͪBMê$§3ñ¾YìÀy{Õvd8Ö Åɱ-Lp¥7íEwòˆ©ô‘® zÚážú?\ ,©?FNw]V¬e0‹Jë¦÷}D”ÜâÀÉKŠ—Rr “«âe™K)P‚ ö¤'h§‚ÓÔVž°ê—ˆ€ ¢P§P~ñÂ烸7§ë¦«pýó-É\³ÇgmR+“¶þ:é­/¯ócOLØÄãf½Öum?4#Ù¢òÐOj JÙ·¹$š'ј+‘ê˜ \$Ir/;_Šü€º…Wö$³Õ-6Ò;‡0•oŗ„{•ÀUÕ*c:ØÏlhÀE&V"Þà(+nù[à±94åyQ`lŸWߎð¿ ž•¶ºågô/ÈP|lÌ¿Ðãº!êv †ÝJöH«rÅ,éÊ#*îýþäN¿¹zü­Ñ'ñÒžMRðs÷= K‰ÄÌCµýÎJ{åõP^,Ú0|W@¢é0’›¤hªaê¢Ũ.vÃÈâ˜_ÌŸ™\Vm¶z1)Ðè,ïÓÆ|Í[Øê—ÖU5¸Þ+ì$æ&§fïp!*5¡ù?¨ ¢¸Qâ°…|}<1ÌXÛ9iR‹¡/‚Ì‹Þ_‹öçû™Ãð§e2Á+Ix˜ØÔœ;Ãì´fáíšaüÀ±.ÂLÜË3â˜x³iDî×éÙà’år¾‹„ÿ}ڄΔð5û"'+<<1Q³_âñ ­J—kæmV]9ï?öÜÉCM)Zñ¹«c°u‹ò­9–Rq¶ÿ“µÝ¯)×Áqúç zÄÁòƒdÎÓOLJ=浯 8qypç¾)öÞ©‹hú]¾®­¿!ªÂNpè§Õ{!¸*iBhç£ØÌQ cІz¥Œ› R|Àˆ¬Œd0h9¼V<3ÜÿW»¥s•ïcý|jT;¾»ß¼ “0K+EF6ç­E—b‰ŸÞØoyIt*¶ùOúÓézaã ‰ub¤±BwË÷zu¦ H83ðú1°Ù#Žûc[¯þUõ‰_; 7(‰`±Mþì!¥¾ƒ¿SÄ(~#1ïüœôêèéB`nÿ8'ß‹ü4H+,è°–DIÓ;àâ4nžCÀïèd ûo6³š+O÷žñí64šë›ypÇìç6 ¤ìóÓ$^ö[Ý­ vßøUªã¹.R ƒ]Ü- âojˆ&p»Nb‘Ü·qÚ¿õþY¹³>©iˆ‘ÔÿaH½Ž?)ô¤½І…ÆëëkÔ•®´¬^ãÐôSs…¤¦Ð…íQÏgŠ ágpd‘š»wó>wÑáD‡Y²4ùv¯U™BQ½Ø_xüÔ¼O5$À8Iré„-ªRáòŠ]QùÐl©†täÃql„;hûf_ÿ0|Ô-…ž‡J—AwÜ*ãKÞÙ +endstream endobj 691 0 obj<> endobj 692 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 693 0 obj<>stream +9ÇÉ­/ËÖõ œ÷ˉœBäh¯:Ÿž@ N@Cay‡(†ƒ3Ån“´Ó…w׋‰Þ(ULûUzLñb›ä<ÝhZÀ½uùM«“ªÊ(ð–mVÄ°+F$¬£òD%¥£„ñ¤vÌœr[¨¡Á9ºÛèÎßǯ͇äfJÁŸøMÆZ@cdÏp]HÙ-¥Ç"r®jÆYÔõ›â}©Üº8n•ÑÒøA]Ø3Õ†ïúJo'y·Ðút3ÐI·ÄˆÓÄk¶&žbd-Ff¬üÎ;žÏï^À‘Biä—ää _‚ÜãÝ‚½æ“ZÄÞ/yÀ¿8c³JÛ›7@œ]ˆtÅÃ!i4Ê;ÌRäoB|l²“ÄSM.³_£ƒÇZ˜A¼Çž}–?!ùÓ]ÏZJÂqõH÷#^w¸º4RÔìÓÈ:‚¶rS%]Äö‘*IWeJ°‹1‹Øø&Ê•=™ÏïMÑU'å¥åÀ +ðO ³%åm‰½!"6"X¸<`ùrĘ%ÐùäK€ÌÚ"þ†É»<%6²`àš…IS&aMÃaàkA4Ý̬ˆ0/ +qçÈŒ€°~.mk¯Û5 ŽX”SMûB[íãÑ•ð>%`»jœ ¹ª‡ä¸R«@+»±Püc½ÿ¯z?d>t£õ·jzÞ«ÌRŠ1ô®²çZ B>=ÑÌ|ÂCG‰cVËL5pÀ9â{Í!‘øÀ­•”,x² ,ö“Âù¿ç®×‹šwy´wa}lÀ•¥Y\¶OE,Ó£NŠÿy‡t·†|¯>tþG°.s+—Œ£m«Ä±"ÐÇ´§°¹ÁQ+0(•ù™MYýçN̤wÂ\>(»¨U®‚…dãÆvA #7ž÷v¾À”~Ô§—À)›K$õ(ØJ;Uß~Y%î9%üF€@ôtQÓ.¸BV¢@5v¦ÛM4ö #*·û§–ì¸,ŸŒâröI®¦õ$À& ô7á4ïÌønöÆ£0“êçâò…úaµ»\\¼6* @×\¸D:g¦9ÒºþúðÀŠÁò&»p Û(´%ÀÇÏ´¾¢½M5¨< uËù ² 7vF°…„å\w¦ÐN)k ?òçþ¦ œzÇvz²lYAqèØño>À»gª@¡Â.¶*¾‡EÉo6—œâf­è6±7IÆŠ3µ X.­ãߪ˜ÉSØΫPgV¯–ñ=Û½ªeÆ2݈Òû™ouz÷0£ÁkœQ¤k>Ked4?›äçàƒ6ùK_ÄdèšßcXµÌÍc‚ð@ý«}Ðd]^~¤`cž²òyœGŒ³žõK}A6 !œ5Þ÷}ò|”³›&4µ^z «mµAlõˆdsGï{þvU{ZÈ 5ñÈx…­Y§àÕõÒ¼x–Ïèn·ò +±×µï˜ëõêuPŠ-îY1&&iκ_hÊ2£ú*ˆ.‹rը纇‡KÔ°³¶òyH>d:¨çRMmŒÚË Õº#é:ðÿ›0Y°RT´ªæ̉xµLÀ§çÉ­&œòÛ¡Ë_•ê"W–'TyÍÐh+J”ï¬ÚÒ¾ ÓÍVìË#ØXv Lý+* 'º/J\ij} 24…XðÆqœlVqÝ)`×ë›èEK™€ôp1æDw?øÏmØ°çyq•ÇJ™”±ßö‚~¹nÐÆbŸþrØ]du@;#°1³ +|DžìŠÆ’KöŒomÊ‹í¹ÁÚvb‘TˆlÇ$‰ ‹V1Ób¿\"ò»±-Zٹ׬K¤²÷Öúô³æÔŒ³!›ÃâYoK<çO0 ­‚­Y_Î1¿‹Dšü®Šœ€V×ÉØ* ¬ÁÙ^¡?@¯„ù}ý.vÜç6„Ž°‹.÷ËgïŽqÃåþú4>N9Yô˜ÒGñøÈIK5HG?†·rt‚œ¡tô¬¦ ôq³«‘;-E}j@2†`ûlŽTui¥/Yá±õ¢æö(iåD¯÷ŠÉœã¿êÎщީð¡…õÌsJÜYoZâèÃBï€Ë¢h+Lef¢·¨8î¿6°¸YÍ¥ì8°…ŸZMeäJRé@»“íb²žé8\ä•J·Øþ¨¦Í!]sþ#”\*OloKí7 a^î@šƒr†?äùù})†¶¼÷_nq…™,é1ÌœCòœ×¢E˜ÁW#µ9¢ ¡7u¿ÀÖ¹\¡–«xqquì#&ÚDBs# ü¾½6j¾¶ˆý\7á%ußÌÂÑ‹k(¦QJv~‰Åî& V™EVˆâ!Jre]n&´lAƈ¢Ñ«?>Í*®êªiï§*rV@Àû}™é²z±¢Ùšÿ›N~¬’´â Ù",!ñºÇZÐYŒ^ÎÊŠK­ÐkÅMRkoà /¼ÈÆïæ­ñú\—B–œÜ r`A©}<·‹8ÌCr~cJ €É\jåï±°Õ¯VO«^jHü$ëé—‡ ß4ñÍžÿV”Eó.”½ùº3ð'¾›mA}Îáb—°—ß8)5ÌøeK?3õö@Q,à +VZò[HÚÔdÿ™tp<üÈ•‡Í'• Þö6}Ño~MÕJ?5_x½ãÐ)"-„̓ÚºA'Š(ÔI¬àhÉçˆõí¨Ob‰dû8ßUlÿVxÑ—`ŒÀ‡©þíýÛY­ª{‰I´ ¯ô³¢wºÔ<”k5 Aoa>H˜Ðê7<­–™`³üžBâz†`ú{N8õkfÞ,Þ8’ɉñk2sœ€eEÚ`!{A®»E4›~v I>j^öRô†-n»ŒJNC­XqÏ0œ<_íÚj! %ÔyË.0ŽGøΕMò ¡[±“Úè7ޤˉ£óR'Ò·š#Îí¢I&’«fT’g`Óö®ÒJìa•çèb zòÞ…¾€‘D»8¯ÕD” LIJ؆“§ ÈL7¯×\èìªJl«êÅ?"îZbïÆ+7WácãXˆ²Ú×0QUŒÞ0OüæHôäiùJ@o9çƒáàË™pº¿hýTœA0H|*×Jòw/@ˆJ›ÀY¤5ô,!zÿ¡ÀV¶h +OU¥+š¾Ò³g/¡žò³•@ùJú '%iTY]þ€ n£*v†¾É` W¢æ”pn_zJ®q7ð7FºP\—úDË°n²!g©ðÒùè!æŒÎ´÷Šó–2uŒ<¤N#Îí¥ÒÜ”ëQíŽXD"=ЕRÓ áš:£FƒÞgQU|,‘Æ;$ã¬_ÌëKà†X]æ¹Þp®¨}þåÐ7¡)~«ê³˜Ë96xäÌ8·£èGj¤%¯Í<ß­nAÀB%JCwÀRÿ”ε3®c*ßx1b­M`ÂЋõ¥¨ÑŒ„KœÞ¤žøZÕýå‘/ÄcÂn‡DÈsýÚJÖpá7ìø ¹2›Ö–Zäú±¢QÑ'c QiL' ·`ûµ5¡ì©é<ˆhh×ÐýÐ&œèº¹£ÊÐR¬ƒ¯”¯ž[u±òÇ׳z=’zÏÀ¨^}^‘PR_’) ¬ÐA®—ع©AzÑ@„'0Ñ»to•˜ðö,;òå0Èáb¹ýtMÓç”-îsývþ7ø´éVÔ¯Úýžlâ™ãL‹ß«ÉøÔ*Z')ÉÁ$›cÇaÆvÁq?Þa_ÎHxžf~ ä¢ÌÏ™–µFò@·kB5¦¨ÓSkò[Ñ +›´Àˆô±ª3˜„‚Ô¸`ø—¦/ágŸÁZ–7írqʈœÇó§x¤²%Š) cá®a„¤˜'Å"ê«JPÍ 90‡ÁŠçÛ´1+Mx 1+²¢÷T.s´½V:Ý/Á™Ô…J¹Â"tìÂm]–®CnÚ@ì•ìÄ_(³W²,OíÇ1š6bÇbá?š e¼á>]]ÑnPð-Œµ £\%À7üÒt댆Ì$Aງ;˜L¨g* $ÞÚàî.=d?WFkÿÊñ…¯<Ë<ïãê\Jw•mC„ñLâ±yi™àƒÅ=àÛðúÇSý€×Qä™Â‘=·íÑ[’xËž¹+±ú£z%œÙÉh·¥¬¢æ` _ž”wÅŒ„;8â×àQÀÛ½î +p÷j0AiUÇMy34ôp˜!u^œù'ö×(’J)?@?o‘¶¬ãMt 4r"Žâ[Êݼ¨l°}*,SÈWnÎ1T[ß­HLp¡È–æ·¦éI•ŠQ5+XY5ž©Ïeé6t'ZMãc?U§›?d(‚<™q7N+ÙY1‡C-0Û²#…+{çõ=‹ö!'Dþþò×JÈ)"¹¹÷oF×H7¾Ñ#;ñç~ þ¸KŠ|9„ØD±LÕTÝ£/5æcôXÿ`¤q[ž<‰ö¤rõª²KYR8î Ö$’7d"¦òн‘ Ñ +ÐyêO +endstream endobj 694 0 obj<> endobj 695 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 696 0 obj<>stream + ýI+âe7šº’¢­(¨ºÖÚ¡G T¿;®^)ˆV›³a”•¥VÞA]†ˆÚ?Ûð’‘C„_Ÿ{6§úYZJÉš—àDOv1«7x¼ FHµ=þýIÂäÖ¾TQvœ»ÑäØwV€‘ÏÁwŽæÞ2Jï}²“ÊÇ6«Í¾ñK¢‘iä/‡c«ÃYjÈñ]SòRΧ-Õ.M=x©œ_7: °pŽ¥ÆZ(ÆJ +à ‰µ\¬3§V\¬«3ß²}òËVn•Àƒ 46¸¢ôóä;5ß(¯nW +qf7Vú¬ý“÷•}\ã/c^æëÐ틃 +ŒÿsM%',€ÉÆ*ËýÔÙ–<–Üðo¶ôõw µz#×'f0Î.ø‘éèÇfÒŠ7©]KÚ¿W”Ò\£]Ö÷\= ûøB³æ˜YóKKÃÓ¸Ñ4ÁÏO­q±+6 Í‹º›ÎœzjT*[pñç4" ÓAŒÄ Ý &ÉHTxE¸-ÅPžüÁ”ƒtÖ ÃͶcgF6ƒÓ5{rÆ?Ö ¯7)¿påJÜ…Í)´ +1÷뜧 ä8ѵ¾$µà8¦¦E´—õ—“‘™Îe>&öÙ×T•1Ÿ³^ƒ|c&F—îK,á‰(‰»_ l„6°Èþ=V½³Š ÐÓfxâ ñK%_Éd¹jläÊÖÝ\)@ÏŠ–ºQf_‘Æ~ÿŒõ1«Ô<¸ èPùEz©Q¡‹ÃdIòz)ø×™•|:—JýžŒ8%Ê +elêŠ3È8­ë¬±K¤mX3°XÙšj¨Ùékf„ý¹zôý̯å¬áÖoDðIþU2¿äH¨¦:ê’Žk~hFÉ ÐÕA&Ý°uª­Éye{5ÃŒSåZ²œÍ<˜^N¹å×>¦w™‡‚ì¸ôPlX¾ ù™?ó  ÝÉX­ 4N»¾dKù9_L—õ[.ΓØ*>7ਠ֨œ•îm2»ï‹Ú+r8”Uî)&ĺ«n™Sã‘¥Sc¯¸lb ”¡Mý®@„$˜‘ÉðÁùô› ‹åxu0çs•]ó×qk½Š¦N(èqÎ>ÓHažˆßbêý·­‹Æ™†?ˆ µu_Fw×·Üú0à—TáƼÄyúܽ‚Û%I© +¢Y£²ª d<ú#C„ÁFKElpïð«vžiJ‡;î%»þdÝdlÖ—Ü“†p\Q]‹4ëÑà¡Ðs>SXt_› 0¼9Š. £³|ÍI^´¢9´µ€ÁʹÑQ$i¯{ô×ÇÍÜä7eõû4Ä ê¹g~MÏ7D/x…:dt$:^Þ)xb ³âø¶6PÓ‚ßGï7 ÆŠfhÂi¹¥Ìüß  ²M/pí7Tâ[ïÎyIC^Í=ßL•T ,j$ ”sœÀFkÿG©û²õ¡ñ ó ‚EtÇ„÷ã¼3‘Òø¡ê$Yùž¦jÉ”s݇5²>Ìfë6¦å6ìnKཡ¶ “aÂÈýÖÓ·³“¥„õª‹>_UõêÕÇ¿ó)¹´† }éôEM°jä\=É.™ó§ß!¥Àœö UJ×EdsEPŽ^E@-{½þ9ã0#pƒš¹”0è“øx†áõÇÓi7n¸`Ü Ã,×j5"«CÒÑh½¨$j:ØáS‰P¶·ïj×CÆÎŽÒßY<¤ @0A¤N+Áe/|3ç« ¤rtNkúùÖèPIÉš·È@^3ìœ1ãYÒ*–hÑ×&°`gÓ*¯ô’ó›l­»ØoE›M¸OÙ"¥P!0ÅÀ×eÐê Fšx$mÖø7YÍ{Ð Z€KBîªÁ°W±ºB¯puसjÀ'Ø<¤Æ»?‚z„šž‹}>iZ&ܼÄå Ó2u˜¸£PŒp0þ¯^ £Ø£}ôXÂ^·Úò4åŸWÇÇJ{0WSÖ@Ö‰Ô'":ûÞ篙žåÎËø›Ùïfà ¯›«Ñ,¬PÓ§ýèYˆ\‚c‡³5 qIK!åÏß“Ùxf¹Y~Æù|ë-©ªo®å.óظv0tc=ÍehßQÜͧÓ3IB<æß;ŽMä#J°¡ëÒeRãÈ,ïöPU #/ËV2ëgšÅ _fý^uµ9R+Ô³šJ'7­9ZAîŒ Ìa‡pol'ßÎ,Ú|Üú +º­w—Ã}ß3*F7q0Ó8…è´í”­0¦i“3<ÇËÁÇ6¹ÖìþùYÒ3tçrëj¡Dü…éyodÃq³y%¯‚‰]m({³QÛŒ1QÍ\Ú)¼ +üßzÛWýî´%ÊNùæß’ÇW“®å'Yh)nzï™Éï¯:ø!¶ø¾õØje-š2È-•„¿x8ÂÍýŒt‰ ÒIl DÔ`ò*ðo¬ø™ðl ŒUìÆvP«vÁÎ\j[Ë'RCq=ŸyPÔãþÖemõ†ÓE¹ƒhâð-–5TßÛ§ÿþšÀ%ýÎyЙ:U ¼6[ê]”H¿†}Kö†uJQõ™êûæé)žÇ“aÏb v›¥âè#·©æ¶/ôvØ I¢Â´` eCBZÀtÛïwÛ2Nì» Zõ1Õá^Å.wœqd0‚o p£­•2ê¬ÿ‡DWîv ȺS|=Þ“ó(°ðÚQÏO4ܖ⮤LŸ‹Ÿ‡Üâ¤í?]uý.Ã^òÃæŠðs–¸ê°Ò,¿:-äµú($‚¸½ï#¾)çbžÑ=÷˜†Þ—öêEEÀ#¥på _C}]0¹õß_ÅSXÒ8Þ÷ºDQ訡ZLÙ$ÇñBžú‹"¦Y70Ê@(Õ§œhªòdË BÔòf-Í"Ó£€°óîì@nÃÏã1'c¬{5”ÜCÁÆ]å×to`ä9Z½d˜pJ9hŸÑØ)²Z_£¬J- ÅR’"VE7Ö”&¶ÉyIX¦ЯÛÞ(÷ÀúGÕÀêÅĹ· ÔÒx9–ìÒpŸð­].sø£·– ¼‹Öœb{”†á„¨ï= (ˆ ‡4ØS߯«&·›A‡·¯Áý\ªR¥³ÿ+8ŠuÖ¤‹Íú~+ÝŽü‡ÊPÅø÷PWg®štØûH¡-Ý– ô×ʘe›‹ø "™ÊÿZãB“³¦µ«nGϯ®ÀvBõ{£UÑóëÆWvï7\[dÓh¢H)~FH6ÔšÀ\g)‡n²~œ¬ÊÕ®±-j‡fBó šµ ´lÀ@㙹Š¼ÐO¥3¨©ch8_‚ ‘DÓKÀÈé c7Jì‰Z¿à¯Æ¡(Ö„a›ÕDâ®W³bà×cŒÐœ¢.•î @ßü,b£…DÂ÷í@ß"hî+KGaÿ·´±’\´.T:\V[‘‡N@†júA]׃Öx¿ˆp!ûy¼è·ˆÎ>2cÑ€ÍèlÂÁ +ã§]<ˆNÄ%€ ÓŸÒ”ƒ\Ý?ÌK¼nAj}^v›A½«2p(Õ¦¾9Yˆz<÷_=& ú±ër|ì9¸ìbÁ·kL·‚‡ÊÀüÝ™?é’$>ã˜ú,yÏœïÈC‰ÜTÓÎÄé¶×ܺ¹¦Â´öšáYÞÖ‚‰9ò3xgÏ3E@ö­Üýlª?aÜûþ®xEҜñ­;¼“:ÀŒ¦Ï¹™ÉãY¹Â&ÚüIŽ˜.°¬8Ñ‘ãÎ8³ .3=ÔA€ø rè´Zj5gr’ÛD£À¼-§ý•ÌʨÕí?D5w&ôJ1àOE=@¡ì…(Ïz*öRœ8Ö€¸äkÄ¿ëàñ¢bµ¸×Ìq×),w-æXYØvú-ƒËïã4e² +endstream endobj 697 0 obj<> endobj 698 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 699 0 obj<>stream +¸vµB³µóÒÖR­Ä‰ÚMH~Rª©ºÝEáÑ©Ü)Ê·UìŸ÷0sYs9Wˆ'#©=s%s|p4`LLÍáæ]è؈?tßkÀ˜>„¢^*Þ®6"ž˜ò`éëÙ¬÷Àc¢/—~0k 3„Å€·0at„ÜyŒý~;ôˆ2u'Xë>ÿd³ óê–L•j(×r›ðûºv0ëŒ%UPT(óXÃ)¢žNÏ]‰mG+àÔ¡„Ë`áˆY\•Ÿ¬u–Ê Q:ÜŸlL¶ƒ·}4¿?[”É딦Ô$t:Ì¿:­ÌEî×P's•0ò¶»þ©³¿åÎغk­­­¸ž¦ÞüuS–ž½+÷qÿJ†áKÓ‘ÔK|úþr8£y0"Ëþ¢2EÙÓf»ÜýeOÅÅe–kdª—Íç³Á­–Ro½ ”T‹ÓÛ ›âÎ¥vÞeìì¯NÆ´Ì\=üßXDS3Éâ½ÈO‡ö5M~´Ç *u‚CŸ¦úÊõ˜ }ß÷Ù®QïèEˆ#ç:§†ý˜•å’Éib`²_j…’~Þ’æü¯ +9zf¼©Ê&ìÊaØïþxrÊH<»( ÌúSЈÕ‘ô1”€Ö4ªN#eš‰s°}=•Œþá^êùl{Y„b:ç F–r}e_ä.bÐÍ|Î÷¥¢‹î’â &ó.—?vW#²p@SV›V‡Uœ5w]*•7uùÓç›ù¸ê.\ÖQ¦£¯¦.™ë'|Õ¦x+Ïá¬Iü}ÕIdpBCÄ¥Ã7”â”D*a½vúåÁl×ì’ÝcqOÆÒ¢¹@çTDèë³×·,®æF_&É>Ë¥›Ö½á‰UÛ›†8Eq÷õ£Ì‰hiJ_ˆ0¾Ñwóà&úø2õUOT‰O4lØÍžG ŸW§J*‘­‚éZGñø"„zJ®ï³¶ØЇ̧DËð½Ï6ÅW~WðƒêaH’=ÍE’+à$ÜdóÄç͆Íî'GuŸ{/ú$¾†ð|ý(DÀ±:µˆ òìÞ¿q|cô&Á@šJÑ +pÀ­#ß9D¯¸K~ö¦rÊE\˜ŽˆyÔ©!ÿà PcoÊuDt€4®EݳöQ0ð¬g Ffç†-ÕÍŠ9±'s9÷ð'èèïÀ¸‰67ëîÖ¢ò£s Û©Å3H\b#ñ„Ît㮳l‰Dì7ݹJ®ÌÚ˜I²>É ¡ö…åüº(nš\ÕîFê4k²1%³œU³è¥äY”òW@é!ŽÁzKC™²ø Á‹Ho³ sÿhéâìéE0îC%rö¥ùÓÃù¾ýÑ å +0Ï»ñümQ}ì¦w”¦Ø¨TÖ »'ÊÀ¶¡‚jNó ~ëçÁ¥{S8”…4ùù/£§œÍ‘ãp™<»e¤\Å+,ô絓¦/V±kÚO3Õ”¼a¦É:×ÚÛÚYÙû¥]ÄS*<¾éÎÓâÛ2•£c{Ü"8e ÷ÂÞIÝÐmù­:”¨E„îÍ\£Õµø!?KPU¯Z®ìçVêï¿>Ÿy6ÊWBÅ)÷«ÍïJòôÓ%kæ^t0Cš©ýÿf‘t¥GÛ1AïÞ´TØ$:µO¬½§m›ÝúuÒE<©¡ÔHA˜XfŽ%8ÓVXÑvoä"GJXéTXTÈ.)õN·ûaïñU&8lÕ‘“Ùi¯pÅ¿Ü͸r‘^a7ÊØw©H'îðéÙݦàLXíÙª¾á^;ƒ¼Hk]ÐÏ+Iº·Ä³¢€¡pŽïBŽi å\;"•ìØeìÐ1¸AR—Vi½JÆꡪêèND…•íÇÙÁÜý¾Úis9>~§%ÛíY.åaZ†õ&ƒÐ°r ë ~‘…-Q¸R{\¾¦·1Pn ëõÛñ±×PÓ&úhÁÐh÷pãïZd)›¶ËwX˜e?ì>BvSVo‡ZUlh-@ã¹°á¡Cî7Ò>üœT²È`ŽÿÊ‹J-¢×ì°2•×lœÓó«~,zC“[‚kIeU­~û®ÐI&þÃóip’äéÜnË\/X,ßÍï"¨ùLyQx?Ì#ƒ.b7u$-ã{BKw¬æEZœPý¦}ÍŒlñõ7C:FhfX¼Z3Äqg ?"85™ ‰)HEÿ>’Ä…l3kn˜£  üS-L½uÍ |¼~œi‰þ,°ÃR¬Ñf9ß`C]<­KÅ üEÍøÿá¬ß6¾ûN:#$Ò9zûïs`ðã ðÉ7r7¶Åâ¦Ò® Põß”¡^N<È=§ˆš`ÊNi…5SʉêðÜ@â-mÿ2´<à ò·l·` šz‡K¤Žé€RL¡®b8K±‹És™û°º#cšuO ¹Õ‹*¿á>¢±H ³Ÿ{%‰¶GrJ!§ß´ÙM賨«‡ý‚í| nETˆÑº,²MÞù-^œ/öôM«FÖÌq3QÖY“yߣ ²«ÿÓÕ™f§f+©@Zn¤|(ÿÔ~ô§‹\¼ÀÔúÅÜ,!}Ë ¤Ròp\¾ùgM'âdÄ[õØe~§ø5ó4oWz›æ×Á–‘b1‡° ¯ð”‰I—zä<ÖÕ)UbôùÄx…•§Â49£aç˜à 4\Z³óì :ú+Ü?} òö]˜z)×ȾzL§Û››‹Óš÷ûdÞJ¨·„:›q/–üäÚÀ;{Óh·?Œ`óEúßŘô$C¼aµˆš"¡Tœ=¦;óqü&¦ä¦ƒ°5l§–È]aKý«y‡ZÒCyee+pÊ2Š-?à'/ýú£°Öbè`µ¶eÕ?€£‚^Á.FFOrÿÝ˾eȲ‘0¨–ó’Ú¼ÎoÕø~­Ì=œe¸‰qÄ_<Œ8Ü)¬â²þ!õž#“‚„’Ïs(©òœ,MüÕCÐòà­S(çDõ*@>Ž|ôh$vzÒ])í@yÝÉî†û96¢ÄýH^R©ãë’.bZð±m1¤e…ÅpÑñR¾ È”o+…Ap#-zxåѵr>})‚WZ{—b¤Öõá«¡§ÙoI¿œ([0@¾ Ä5O$$Ñu2ò‹ù[3k¥‘MÁοÿY$ý©8¹f4€60‚ü:ÏÀüÀBª¶7Bò»ì¤;ž„{ø¹ñ²OÒ£á呱|ƒ'´íž|2Ó‹.`Ân¦QH 4³¡'bÐ\.gn@Ó˜ãoíÖ÷öoD<ŽÅ>³ Á,e·Œ>7Û  †Ò̳‹wI=±){S–ŽHÅ{û™­Z°o«®‡lî ”rÓíÊ<èrÕ¤Š=hdÜ©äÍÀ Ʋ‚B9Æ‘ûçTY@ùº¥hé>5bÊÅbVJru% Ò½S{qãZ£¿6«Ý3œSÝörvô;$ +λØyÆÕ.p¸¼ÐÑñ„L=æùÛ?”À~oÎì,Ù)„¦oÒýóÂ;²P³ÍC§a}»+“ççZ0Â#³ü®âcYæý2û™Œ_jø8žPòðÏå&üLj‹Ú¬($©Ìjž7öJ‡DÈHäI{]†ùå'’gÉ4ã“oŒ8iÊ•ÒúÐnVU +’¢Uõ?‹ê@ÇÑÑXùZž¤ {*h8ìdU>þek3*Éܸ ;±¼òÖ“’cú¦ì¤¶`oʇú¡Ø––è)¹"ѱ«) @ß·+sAܪNi­Ô?ÑdÇ^A¿HÕÖõŽF +–}¬ +¹Ü;Ùñ6  !ÝæÝ8`­C¡èŽevʆfßÐÎÚ–!9׌^ +endstream endobj 700 0 obj<> endobj 701 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 702 0 obj<>stream +µF§V"ÌŒŒ{j(ˆâäû ÑŠÃí¢ï:j½"ä ŠeÁŸAº±Ñ8 w“ë,Ñ”cï+­xš’ÑŸB\…EOL®Lwºw!8}ˆ¨ÄëìEK?«ÉnïW¤Ñüzöžµ‘?¦¹ÂÆÝnºoGĪò/B•§.¹#ÿ¨„`sjL™îQýzM3¡ +A_¸³¹üµ»¦ßjüÑ”­F$£ÚþÓÛ‰R¯þ‰aûÚøø_(M=3‹æi‡¢_=¡QežM•ÛŽžP$–Ó€ªTYüÊdQÙî®úºÌÖ§ÍÖ9Ï”Ùé¶Z­1MÌtÌ¿6È +’Ó+¯N¨‹ãƆ{|»(Å;MàóʺxkE>RoZ¥ !jÉÕ7.³’KzŽ#kHTòäOg (•£•oÊMeltõ‰OšÜ à‹BS‹ë=´Ô{Ö¹v“MÞXÜK~-‚§îñÖÅñÝ®Õ/b¼”iáÀÝto_xÎ>J·ßÓŽ„xÏþÄM$·øÄ/M¾–3ôÖñðc‹º6C0˜6 ƒ$µÿZ–|ˆj:æßã¯:~4æT´©±Í¨jñº}TpÙKþŠ¯ÞÁQr®î%½µ¿ ,Vº²º¿„ ñù" =F ê"Ѷ|'´'DæVx[ ×–ÀeÝT/’vKì×#–áo7LÓÍSÔÑfÔMú0½ðçöñå ©¸ï…g‚ôΞï†w0,“aÎ:†õNÇ«ðsê ¹@Rq銓Œ3ÒpÛ¾ºßœ®AF; 0@ö΢:Wq¤øž8ÜÑ2åÅ")ã&6·Î'Ð9&”ªÙ´w±;‰3ŠT+›$i¹–ç½F’Ým2ãSdvqOašËY¼a(%ê4ŠsXä_¡…Íû§àˆ¾z•k©E­8õ×Ô2JM1ëmí úÃYårxª<£MéLÖN9SÕ·2æ¡O0s¼™Ü¨ì‹jhFI@)0M+ Vë“©È\ýô1À¥ôÛ(5ÃKé…8~'ׄðù:6󤼮©‡Ô/^~*7p“õ—Qaë<Û­¸|ãtuÝ‚C~DvU/#V‘¸ï•{DíõNËG›:^w +r·áž +%†&Ý“.ž§æCbº•E×Ü£’¾2IxÄPøR +ÃRö1vƒæˆ±_~¯®FÇ6ƒèýxÇÿøÂn—¸K÷dÔpœl›ÆEeâyãr/¿V_mÕ$Nͯç¸(©]sv7è~5™äi{0¹Kj¸¼Þ>,öUqÔoÖQ¥H5Aû0å ¤ý>áÁ&Œ{ìxI•£ê±´x‘Ê· HbÛ ¾Þ¸×åÍ»Mø{}{˜ÀÔð*v™x´gp$ž½ÅZC;iF)IíÌ?´ ‹0^òž~h¨g½0F†Õj—DZ`$ú±ö2è’‰1¾ã¿x±ÈèÉ¢%÷£¯Í]áÇÐÚµÕó(+ùÒ8õ½±¬ÃÁ¾úràäç·¨ø–æE¼›]r%"Aá磸,‰±‰hÌZ6Þ‚¯€ŽàJ‚茘#",1…óÌ•–kÁ— A°#o)è¶EMt¹ L:,6)¹[Ä“ïkû,H7èÔï.);zäRS{OÃ…‰h³˜=Ë47qÿ¤–cÏ:@Ùãl¢Œ‹b%hôk™ä¨²9À÷AÁ!‡+CgeaÛWdlƒÑjÙ’†š6Ÿ• št&M}CØ^i,Mé[ø'ã—2ã¢÷æ7„Åbí|ÚçüWVÆ_ oìÔEFÐr%`’©_­¡i³sçIFÅ\¡ºÃ<ùN ¶ ‚u`uV†G殲ÓÌF&î$¼çjG—ÄrIˆÆ .âÓñ¬;¢ÀNÌùŸ©¬[ýȃ¦’ñí·á‘êß/æögïC)î=ʱ ö1S‘ rF²XÛ½)©úØi£‚7ý¿Ç³@¡4Òˆµsáf8}!Œ&0ªÈ~²ÂÆæáʨhË Ásg·çé½flíÍçàÙ¤iU£hŽ£ Z²Åæ-ªo¼›ÛÛ@¾ŸRu—‹¸/ŒÌ§ÆßqSV¼r’&voÚsxä¿I\_Èý?9‚íØч¥Ÿ½–|é¡õfhˆP¼tGb«»ñlövÙ\ÞB¼ ÜÊ¢ÑH"Lgž!¼CfBZˆaõ¤ö“¤¡¨¤Ù’ì²Ñ)ÓQeëÛÞd‚1OÞAºDÂÏ'¶…ÉçSÀU +XÊ ÄbÈBø Z¿]õ9Á†,ð—Ñ|ÑýßL­<ñ\=ßöŠ6p–SªÌÀ¥KI%ùÞîÏ›ˆ`é–±]õF‚OÖàÙÔHÃnlή;IÝ[@åÜJ×_f4à i æö.q8ÍRÀJ9½ôhî½C ŸYp‰v6¹¨_ÂÝóŸûгB¹ÛÅb›˜äêŒ=}7qKs§’%ÒT [%¤ø9ñòË'ö5(>q=’jR5{Èè ¤G7qò*"géâVVXB Sجպ׿õ3¬c¤˜J²Ý>j t^è¼å:ÀÛìæ8|dc8ìf°Jëmù|ó\O™RÞ3ë­æ€¾ªæÔ&D÷] -€òÃƨI>W˜ÓÕ¯§î£BÇÇÛÈyá#‚oÛ²1Ö-9|ÜëÖHı Ÿœ¹uôï2jü•òÀïqV;N6Å>•€~×¢ƒQ®:£°O4åM²4ÛÖÄ]6ëÔ–,0ã¸ó §nA2Dó±c§:º„¦2»(p¢V.+ïÏ[½~¥`ÎmNb!—¿v@ì {:Î<Œ¦±Q‘òËÀ‚QªŠ*éD†úG¨ae¤Š E0Ù“—#Êi¯Ÿ[¼èž6ð€M߶ÊUÂTàz°‡~i±AXÂ÷ˆ‚²¥¨ í&½[î ÛÈr.Ìe—$q¼¬~J^ÒxÙÚ§zÞ?ªAňNñ•C½ÿè¨Öf•ý‰˜¥Ç(ˆÓHj]‘á³$.Ñ’ðfϦþV&?Up´pë‰w9‰t6—çü+CèkEà= ì·–Ç k¢ÒäÀºÃƒÜ 㙂 €Û!š”‰sbvK‚¡ôåþÓÏUøÖhQg h8Eî × WÔ‹Ïg׈xÔß´ªT1Q¬#'3{›*åÈ%cP4h6ç²LzÅ"O§O˜æâ\ +6V?)?"âš!óF%º‚.!_1>+ØÞ¼qj¶p[èÀaJ×z·v|ÕÉ‚w «4¢rûɶUÛ‡ÄìèSöü¸,â6ÌÎä©@¼«$½AoìÆø»Bš±ææÊ×\Èéþ¾;6v ».Hž£™VR\‚΋Ä9Lh‚­¼~u2êʆÑà·ÊÔÀðQÇÿßê/Šä†w} .ª ç‘K²ðc[˜h6Üï“Ÿ³cÈ3šÇâ3ÚŸ ![ÿÌ;ž5ûƒHÝZe™‘ýýô•È™TÒZhwÚw$©¾ì½·õÆÝ +þ@°yÊ5ì­C9ÖóÀ5õc’†ødÝüs«$g~*½òÐÜJí²åôë_ß½ú+d*rw ¦[jü»ÞV‚ Ž;¬Dz4A ÔDsk‹O^YÞô#‘‡7jc±`â Vu€ÿNU]ÆÄÉÍ qeÂ.ü¯§7PŽVË#ø¥ïqECóºÑ¢' ÆwÙ^1»%?Øþ 'ß™+³xóýåfõ`Á7‹†ÿü&˜g›éóf°eÛ^iįçZ ìCNÒ‰{û×ý.É ð{c[„±¨Cçƒà¬g¯|°À'×4éŸ]Îl4¦ù‹ÄÞêÂWJŽ¼Ú™p¬·<4õ)°ð»ve „Ç]HµÞ9j3˜eáöh}»>*…!ž2Ýw°±´#Ç€‹¿Âh"ÎùÞS‹ò€“Câ¯U ·yãÂØþp¡u¯üj¿èÐKæž‚^ÉçKò‹Å®ç)ê£A`ø’G$ç–Ѥ¥‡b–Â0ðMŸd?®H> endobj 704 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 705 0 obj<>stream +¡n—Lø0Pd$Ü Uë“Έ öiÈ—¤öΩ|+Ü°%$,£çÊT0d¦Ü‚μ»×Y`vpµEàL?Š•…u‡ úDã!PglooX"=úÖø)¢YB¹µÎ£.éÜÖ™jƒqï¯ÑÌr¾*µ³Å£KR;2¡#ÄÖÀþµpºLš¼×\¯§É|•ˆ_ý&ævÕn×Á8]ï„àÔ-‚œ“Ö¶h°D†ÿJ0‚Q˜í˜"Qúk ÜÉ5Zø +ž¤aäÉ! 2Em_ï$RÕÉN*½í7þ`G°ˆäº¡«°´ˆ¸åÏ—;ßȸ@ÓÏñöÝ„œÅ;Ù5M´BïËc»ÏÞ±«à…»1éLê°Tp|È"-a«ÞFÏcð¡Xmà‚ÿÔ¶M³E̾L,äè,Ç!W¿Lr"r|?rw|ºˆMpBQ~RÌDr0ð0ö’~œua«;¼¢AÅy åÓ˱Â~ZR: zá.Ç%® |Ú²]ÌsM*ïuÀ!f%ÓîœZŠRÒQ¨Å-’àV`+dqßþqy~.X|ÓM²ö×S”UVPØ ÙÚ„…f³ÁÁk§±x‹Ân—bGÐa½–TzLªŽ²æ'Rú—€ÈðT÷H¡XYF ³ xŽ̹û  ÚíÁõ¥õÁÀ›6†¬ûäi‚rÂ'¹pÙë¨:êøégÅ­ Nœx9÷æ‰èÊ×—K¿ê› ÏY[5r\8!ñš‘5b϶~¿i·µ,°CŒ<+=Ãi!þçç)}æ§wAW„u¼äA\ÑŸEšË¡œ*’ø>ú ¥øû¡1cÃÙ`q>½2CK +ë!z"„ïaVKò:WÏòvÆ@óܧµKÕý3o=ŠHº&µ{}w{TòÙ6÷¡Æ…í.”;“´bYMxi5,.,ɶC€Ë›§ÝÉì³w< XHÆ1‘pA¥pÍô`öä® 6âyyj°¥ /†æ’°l"c‹_pÿu<[ žm*'iiÏw†Åxÿ­Ê˜ Ðû½ËÁxÆÞŒ0*b|fj¿;Q1W¯ó `°ö7ý@MSü¨¨ŽàcÊf…Á_ñ¥•ÌâÃc +Œ§vÍ"tk¸R>þ ”$D¾u2òvÑ:ô +¶`°ø3ÔÙ 8ñ¼æ¾cDhi±Ôdú¯ôGD!¨qÿÃI°¾çûŒ„-H¼eÓÌÈ »P87Dgl¹reÝ><çe*©ÊáÔ›úÈ€JÝ-Ú4òêN–ÒÑCã +¡[#K#ÎÖpŸ-¤u~[XY<Ñ7óöŽ`¶§¹AÂ6Ö|rˆyo± µ‹;”ûÂ[üO+Coõpƒ¾¿§¥²Ó˜-×XŽ™ÑÔ¯C #ÅCVGd&óîЊ+©³/jˆ…HZ“†@³R12ªÏ³ =·¾-47¬<ål,OóE¦¬“+ü‡T5ñÙå&i ë“—ºO`cV*ìB÷NjWâ±›ùÕâ³`5³™ÓßK¸"‚ò£ÛR 8 ùŠÞyq§€ÑP›Ó=µ.2ª©© ¤¬ä°¶žM·7çUÞuÆ3 â­3´«&Ú©ƒöF¨&ɘL;Ô<Õ,ç­èÖáz(Tˆ·ë ´«Qž-Ìßæ2BβÂpµ ÿ]¨ör,ê;˜ …íï•o³!rÕrMúµ‚5|MV,>°Ú~ñ%M¡Ñ©ÝËŸî´äÕ|yxfC¸„8狘–§ÿFà +ôú{¬Ã®4¥ä‰KÖÕAáZqãúºâɸ€ÆšZàJŒXÇ/p0Þrƒø ²vý²Õ²`¹p%å x%Ê…ÓÛÄçmÕ¿z|,Ñ‹AMü3SCµ–×è¦~ªM#NBIXf_d¹¨Þ Bƒ¡›y ® šdãÊõVE$¾ÅÀ¢¼Æ',¡ + \l¶z´9ê0õlê>ö^Ö‚È®"‘œý&p×MLßõU¾ä-ˆ'áŠu& -ᙈr¿Ør“}Òrvˆýå-Ø">g}çï´-[”™„¬l8* +9ˆˆe½8DF©Ñó¬Îò*ÞNÇÔ WXìö”ÆJ››Ï' ÂÄ^ü†üT;]|ðÑ¿ì)7·u¼Ô„ë8w&}r8›ãFö.èêTNóí@ ó«ªðô’Ù˜1‡û÷J=‚S„B¾§œ)§Ç¼¿D/*ˆ»Ä + {¤}yð°PÚÝcîGVfÊyó!&ñÛ¼­æ`‡*ú ºÇܹÉj¤ò †,õŒ½ÕŠÐ*YäûY­öwú÷à”Ü}«GÞÍ û]ïsä£C´Ç]$=ÿ~Ô¶FÍâÁjÚ‘d“æ·5¤]O2$ +ªtGdmúßq…ÃOⵞÖQl>ÍšˆyIç6©Ô¥íOŸ4"鋧€—øXÐîXûɹ«èÑ +Á²âFNg1Â×BÆß’âÙŠ G­È-ĈÃÌ_ûKüÊÇ•5ÅlTØS' ÞjDw€ìaðWΕ»QýˆJزg:¥ÁTP¥Èv‡°ñŠxJèš0ã,+¤1Á¬+â\9?tÌÑ•Ú$µ9ÅÞtu´ĉôüˆTÍ2é"Ÿçúód#ixàãž¹)G‹#6q¾›»|ÓîìâBkVQ£‘íóOði–«9H W!SMËÈ{\—Žšb´_¯ûöÐV!SÚukµ’-ªÁÐØXy×° †Ô™ŠXÄaUŽ˜ žÌy½õ’nówD?´Ã±Gý˜Ë ‘rÛE96Q%ÛgEÔw ÄyBú0ðÏ¡Tíõ³;rî|Çb¿f<¿ãw†nl›n}ΨCüÞYö~øùJf‚ bÝý Õ#%ýRyŠŠ|¨ „TD ¡Õ¤­Õ×Îóò +È$R[2úÓÁébŠƒmÛ¤WþÂ(úîð×Ëý?”Ào÷9”ÉxŸÄ +Ù8: s4¸g¾‘“ moëd†Ñ)ÛbÕcå2‚Žûø¬8u‚íìª4û&Y}-í2;›2Õ–‡ S¸b¸Ž½”« Ùy/_êòí³xÀ"qyˆ OäЇÛ«¦v.Ç… ¥ÉÖ;ÛÁÚëØz@ºM¢HCàbœ=7,"¹ àkäÃJ±RÈN?ÍŽÑÙ÷Ç„ã0×$ÅÿhƹCæYÞ£i&Çõ§Oü>G8/7«ä¾%§OÖÝÚ§óAáÿÌ©"¡ŽÄ ])b³ã¢h}«\<èØ™¸ð¶,ûÀ•$BìÉÎé\‡ð|ø‡—õqë%œ‡k9ž|Œsß‘î‘¡ i@)Ë‚èöþ*Á|0Åaº1êq;Ëâ¥ÝöKøÇ1l,ÖH+ò+r7d1‡Ô˜0ËxxøÙaÍ9À3œ»é•È'=Z’°ÿÄ‹3»¢· +jîùLA@( c¯{Tù¼y§ôG8GiÁ°©L<êóÝNÏÍÔ¡PêÆ0noÑlbŒ>Økÿ£ø2ö[ µ8eìf±#^®S+G Šd¤ØCT)ôÙ¾_űe%k#ž_þnpóÊûŽ¯“8nâî2ÙÔŸn©a[Ýã*&ìÖu¯øОû6j^RðËfkX—…ðfðº>|мe¯]aí<¹fDÃQÄñc^ƒ"ƒ@ÏÂ0v8;ŽCb]ë£fŠÙ/Y/_7C{Gyªé¦Ô;p´X|šûc«Öà‚ÓÖ·ÎÆòl·¢ìÂbä`7kmqòz¨#+™8¦K 3\dÙóޘèÃRÉZ9„>Jð’µCšú€í-\~CM¾Eê‡@{†LvG¨¼Ž-FL䘜·™®¡Ì³&¾ÒÒC]’Qî ¬ŠÀPwJ³gffùõê•õ-‘lY©Z¼áº/ÄdñüFjµkÀ5c®µ†íUJ«ÅB€? ÜH†`-Üߔ˔dv¬üü¿iù›÷7º!!l£ºì‘£ÔÀr +Ç|Þ‘ìµ{Ô4Ú…¹’û¬óÌqï8}™œL3ÀF@s…«í\WÜ^9jãO”eØ®R=Vá•ÝÌ4í÷ÈXdªÅÜHg¾O¦¥‰(#uŠíõ|ìÖkþSM$>áç1äØÔU¶œš¢\£ÒÅ*ÿ)ú¤^Œ~pa%ü^7ñÔv:ìC˜Ø-–¶4šÜ‹_N÷œ_éªr¹Èù¢?˜m½S)84xõB‰¡®•€/=ô1ÑN•„ã‰t¦ŒsØs}ÇEK)Im³© øA-·h¬®J¿¶|nìÚ±1­»œ“`8•%ï\, cÆ-M¶´ž©ççBÛþ¯˜ÀïX邺QFÉ + Øç­å ¥{üY·Ýþ©,oÙÈÖ ÎÕ’¿ÒâGPG—Åî +endstream endobj 706 0 obj<> endobj 707 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 708 0 obj<>stream +X†&kF©©?.„Fb~0· +[ÄÄ Ö +`UtôÔVBÂ*•¬Â|¯Mˬ:¹Ú>óí¶BÌV5 "h„ŠRÛa†ª +hŽC•­ï1>JíS¸Ì™G•Ð©"@ö@-z‡“綔\êr =ÿ½‘£¤Y]aLï8)ƇÝ$½5l¯up侮Ã/ݧw¶?Ü?˜z0öýŠVØcjlõ-Kà—À§ÄU£N+kèQî~@¬¦}fô²TÛaf²fx¹OÛO^'àoäÁr òýL?M¯§‡åõ83Êf"èøq܆‰„J 'šI­µ„hûèÖœIOʺ<: Ÿ­FªâJ¨÷LÅÌÈ»<Þ{;t%þŒœ@×û¶%À:ýS ˜Â?®Çß]÷—u¼ã.tÒS ÆQ„œÊ9¾ãËL]}Kˆÿ:i§ùPå h¡a +@wѶ֜ñZ#\×^ñ‚â1qt™“îXÔ~”¦Þx¬ÊL…U¡ ¶ë%qf{O€ÝbHoEš×Ì=…vrú Š‹k®¸+>qi8©SîJéUz¶\Î.Šé¡J€Q} +à½þˆ¸ÉwÙiøYG“Ñüø—[4”¦v‚Ñ*ÂËVw!ùðîcúêg€K®ægÓ½£‹IŒ1‡vhGži6dqGlÊxq¬?ç›s«Ç ´Ê“:,¤ÜNÅž¿ô£¹°FIq©Ã›h ɧj¼>Ùvæ*êÂ?‹¡À®Êír“?½i ‰‰Ã8ç4’ÍJ2ò½À#üÕ<©P¬’-¿é¾~‰ç“;²$—¢ê†:èó32NW'üàÁ 0=E¶!&®XÊ楾Qä3dõÑøÓdƒd?[#w,Ëj)‹¡-4‡[6V×õÏ‹yx®ì3 dz± ‚œ6v©9Qîð …›[Ž¹TØ!Q*ÌX3_äÏñK#k{7„¨ü~ßÛ™+U¨´Ì9*J®//K¬|@"Méþ2Š„)E>uäžà,G}œQ±õÚk.?i‡òÇFÑ´=q?f'ÿw¾AðƒgqNñnŸŸfŸc’pÏHbøïÔ¢nˆó-òÐjÄ)Š=ÃV2ŠÑñ +ÉÂ1¬Ã|*‰!aìçôþ_x0â¼åÂ0ZÓ%.ÿ¹ž¤½Ç>µ!õ¨ÛâѱôÀ+¾ÀÏû&Ñ—ŠáÔßb îÅõ7âé5V×4wb Á½ÜZÍ·FÃú1¸1Â/<13ZÃK ^zköà~P<°¾]x…U?{¬y´wä èÕ+Ñ—?jGNN˜ËƒGuÁUÀL´£ÑGø& kœ›ú1‰ ©õåþi`™Eêw»Õª]«(‰G èNÎ_±—DÅâr“²_4Ä (‰77‰ó€ÞNýÛñöw÷›]D[Õ.Öj wUb$²øe€%§bQ´m¾ÃÏAÑ­„ª‘E×I˜…Oë{Þàø¢UOkí: ö«°«$ax;áa)2Å ® ¸Ü®ÇŸ?ì´jІ,†ÞäÚ÷ÐÞ&¾„¤éZ[ý«óŠšŸ®?ÁïåÐô»^­¢úõÛE¶XÌkJ&êŽ2µ=K}~%zvï +5´öÄ»9k‚l{H{äa‘aÁ>¾öop¨à\ª §K,>¸úq€ÿ¹ï£Fù™|fÔÊX›ÎL¦¿4»ÜXÙHM@v +½&6gYõX4îÙ$þãÄ/TñŒL£vÇ+ ùº,ÔÍSvòŠË¯µóL(î$Ëu ûöŽáÔ]’'7KŒCír‰èéŸÜÆŽ$Þ ×+þÉ×EzFÞxóõNáGœŒ2Ìͼ'Ñ‹jŠe j’Ë… é¨Jz`X¯¸p©ÄØÒ ‡)*Ñ »š^íÝ梒ήßq`Ê#‰œ|0§›œ¸UÁuäÉQùhZ #^®•Ô+É&‹q«­‡TIiò2Àº‹C=ÚK·c‡@`NÂvɘ (°‰—•²nÞRÒÉ÷›´‘цßT6͛ϑŒK‚¤Äfx’îàcyJÝnæ oµX#þ¯¿$j"@G¶é(ö´$Á1èBNÃàF ®ý8ÒÀ–ã…Áõ¬»Pi£D+ M)…×"R #ˆM5®3##¤@7ò’97ôXülc‡ÓÝýå'ß]HLUÞTDÙZ†â¥};×87å·9•Xþ8›(ÃH©R-ùBښ䈆yHä¯2ÍHbWŒ‹( ms˜6D/!éZþŸbØ6ãž&C ²•î²¸ûÅ>ER÷LkÐX;AlÙ€Yñ%DCK €4.ÕØJÑò3Rã¡Ü¡Fzo¸˜ +ÅûjÐ%§‚­£‰ gzVIŠÊ 9ýáab^¡0KèúË.‚ÍJ®¢ŸAâ“f¥ãµ÷Ÿ5àå}è…ìxÔÒe5íâðþÉH–oü_à_¸I}í?Å\™ %ð4ê—mÎÛ!aŠX±W©&ÉïÙx+é! ÿ®•°*%ÞTRÉ2»Šñä²yÊEæ‘@ ÔG‹[ÓÅ—ž=u‹TÈÎÎÓ‘üB G¤¤¥XKsÌü1'{îOö_mŠøû2Ÿ³ÅWÀ¼ø+C‘Øú¬K}Cþé=îÅ(vîXòçLãhô®„7=Uß0ÏÐ(—üó§—ÕH:õyv{³fwi\¨&FÎÚ°‚]W(1›¨•f†¨/ðàÀΗ¢~kt,ŽTŽ¦¿ãHîåÕè¢êc'3Ä +m_Ta…›Ý…ç1üåt:ˆ,ðhWa!ÞÃÚÜÿ”¼˜Ÿ¶¾·P¥Àh¿—Bvªí¦Fµˆ)uÙ}zE™íø fÖCAAS0iɈW<˜ò­Èx™ùÖ1ûóí¾c‘ì(‚Ð8êÙ:-bLåÝXΟj†î3êwzÓ;j›dh8~³‹ö‰wxÆF.QsR•ènÇ¡z'èL=gR¨Ç/þ9©·–5Á¾PD5)±þ˪\ɤ¢aŸŸ’Þ~*¹‹c3ÉÆ“&þ;¸çkÅ©È*H¢ ˆ³`¯jiøð]±({‚Üu˜wuõô¡‡øèïë†F¨døHtY4/óÍ™,*ò«Lñô`+¸ +ØÜŸožÎ@#§¡çy[É#Ë2®”÷h®“]ÆS­/cÜly3üG̹yÔ<ᶭÇ8Ã]1樇ÍúÛ%"í‘0Ls ΨœKš(’1$ÚµzMõ?¾kˆ†:`_ú<ÒxIµø.ó59ò’MS>l;ø­¬²ƒ£'MXÕ–¡KAr¢LÓ!0îɬ‹ÐƒžƒÆBõ³ íËS‚–­FTqÎ}Ä¿a•ËÀ†GØ(MOØøè4»ËŸ£­}§+ÐÿÑnl$ìU£Wl +endstream endobj 709 0 obj<> endobj 710 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 711 0 obj<>stream +tK]´ÚDˆé¤LÉýçwUžûŠ ÖÜ s6rì× +?Ï{ R¤mþKÆlš„xL‘÷íWÊùütªHçÇm½W|/_*V~4 æ?FÔñ·VNH)äØBM¡%N²Cò̓S¹c¸fƒ€Ó:ù\®^¾èBrÔ]Ä[>ü¥'§˜ïO¶²ÒrÏÉ>ÿô¹!p#è¬ØD’¸ÜÕ%ÕãrÃÚgè¿K÷ÍäŒ9&”±‡wáPfÔ¤z÷óG7­‘ÜLõé¥PýõäNÂȤ§Ûkb@r¯× HòÎ~YìÛü#Ëa°qrÐoñªçÔJHùõû§(ùÒ;»USjà# ÖAÏ†ï† %6jLt¢²’ó™R˜ûBŠš?f#$µÙ÷ۈݚ§vù\ýê­Ú¹`…n,c‘1Ù.IÔ¡éà´1ŠDÖÓÔ1`I L 2Ê6 BÇ@a΄L(5¿¾Ô ƒçAï˜ä££§mÆ“xB?2Ol.¨Nˆ°OfŽvçTÚýä=ÕüÝ×Ï0¹WeÒ@þ…åeõÀ“>Zí៥³ºŸÏ®9¥÷hðü°¾!«• +Ø|صńÊ€ X wlõ 绸3o°`œBÚV¢WM©#ç­»zgC0oÜndæ‡Þ9}úš‘|ù—ÇÅMAþ²ËØ­QjàlC)ìg—5ž´Î „Ý ,ãŒ8qþ2 ãljÃ2]ÙœG$Ç»ïŽPÌŠYX/ ÙRo€]L74þ‹sò5]Çÿ¹o.1ŽìœÈ••Šö~“œ6%3ìrÉàz:ýþåÄ*úŸˆ½Ïb¡·;Qµ€d’ÀãCò"ëÍ<’“Wð_þLѽ@ÓƒÂ#Ÿã +Ï°A&:WŒ4‚†ã³X¤@Þr¾QL½<¼aïp†ªNûN>ÉÜœ"È(%ðÜpowã›ugòh’;ÊJÐç#SÒÈ;“°úokÈN†Ü§}€ Ð%  °MX`Ù‹¿8`U^ðÚ…³Àµõá83µÕˆ.ª6ðî‚n_Ì’%Ð#ïI 7훋îuuI%ÖoLÄ«Àe«Ï½Öa2¨ gxÜ]@2–neuÙv9=ž€Cn¯BÁ7oeÁTÄ +߶/áH]Ž€æUÓ±‚4ïÚ]InH×Wó „ö…\së‘›º2úÊU¼]I|ÇåÈÌí,Ì¥´}¯¥Äø*ûåm +K?q;2ñ¶÷ûgá¯GD' T´3/è ó I³Ð4 ¾6m*ÁÃò:m_#+;ÜtFV‰Ð挃¨š\™ZäÚ(iÂéÊ›»@×Üóç“èÌhXª¬U,Rë÷Eè^^ßR]íþÈd^­­5L˜lšD“ :·`‡z_ròPÉ£n¾-löÑþÐiQV–ö• “wö2iz+¡oMÏ?â0ÞÓ°_7¿;u{z.J-#ï!ms­"Ãúë0 9^«¦yâýÕ§êÂNšx¹}Ù,h£5ÔF㎓ã\ëèetH…h*øzé)Fž×];hU¾}®&ßAÓH" Æ1âƒS4 vð²ßøŸu%&ž×œA¼V½É#Œ­U ÊÒgI }Ì )zÞÖ L£¾:z'*tŸZé·rÉ•¡ê·Ú¾>tÔ*U'<4„Å +é5Üôé*y +°ñï~ŠGõW“©»„±|(•u'h½ ÊZÎ>‰únú>›–_ ožçb35_0ÆîÞ?›æ›¢ïžÌÏF+5Âsn3— Ûr¹O‡&¨ 0ÿ>—›ÛÙ¿Q€ùðõ¬ÎõGäÐ6î•¥97âaX`¥Ñ<¯à[¸-'FÔÇ.&yÝ¡µrè’UÜöoB™Ÿy±Ë1_ùRZãoº&¸<ä w?Š>x‚âôêËm…«‚ 04y 5­gº¡I|šéÒ÷úùK® ½;úv“¸ûýÇ% WØžŒc!ñ˜( Ôk¥Ö­úþËÇ‚º>¼æh¤²õ&,ùÑÊ"¶"²wíû2yv-M~Š¼²L‘Š"#OÌÀ‹y Æ‡<øSÇÎ7;”©6¸Ôu…W¹¨ù ‚³‡?¯›ÓEeKEãç2ü7­Ä¾fÌ"Ju bï“][Âæ ¡‚î¶X”$H½à‚­ ÃY,.^±:·Í¾­ÃKyT´¸¦:Aèrn#ug?3Qp2\׉ÿè’(ï¢+s˜LPµt’€¾Ú½4d¦Bïöª0A7Õ©`bM‚ÏG¼¹j丣¯æò +£€},&¾˜™7s‘ì5ëZwé8ÚU[±ªXti¬dB›ËäXï7‹5uËæ*ôÓÉ—4î^‰3ôc¢yæO@¬øj$XÇGãS¥µ'˜}îפcrýLx‹$a¶1B&z»æ›ÓkýÅ&¥ÀQïY–êc©ŽI«¡¡fJ‹Œsøˆö_Àä—Ÿ°Û9Ô#ვnC°"¾¢Ý«?ñz¸ydé‘°j‰V‘9oÇRl–йªcýìtoJÁC¢Ìi§”IÍ’šÊþwB·B7Ò\xéɸb¯ëb¼xÀŠM¹Hv7¥Tê^樺n?&æ‰Â—ÖîFߨ¦a±¥0Þz4^ÙâºÇwKl+JÊÊ®SŽÜ\g£èµ‚"¹ÉP­²"²e~ïì4.5U÷₈ÖQÿËåyJÖs3o‘¾ªö¤ïSaàHw¶©ž‘Äz8ë¤Í’)ëýˆ‰([KŠ¿¤¨ÒyõÇIÕhJÏñ×ZögäµÃK?fJà#^RØVÆâwŸ ä IbG÷ߊóZž!t‚ñ"ÏVrìqŸ>°«1pC^¹4Ôà^Hmgk~ÁbúHvA¬Å ‹kM(SƒW5‡YCg·×YY„”ˆ}G gæÞß{äög>Be‹°E7Ì«[O@'½¤­ +endstream endobj 712 0 obj<> endobj 713 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 714 0 obj<>stream +qQ6ÆŸEVv3icH@ÍkÅX}O}í\äÃòpÂ!âÄ0Ï>dñ +íDe_ñƒ3)ɘ4!*CL ú¯½"¥.%Å£¹ó¬õ¼þ]0ÏŠSÞɯg86ë¿]0Pe!í¢š.Ål¤#ŒÎ×F¶µq†g••Š6†k¨gÚC%Múå õø››hÄ0u^'JÇ¥¢\S>¬ÒƒÁhîUx]`Y\GUƒ<ŠÐh™½8pÚÚu0Wã/–=Å,²µ^ +׺ûdü4ä !±6ŠÔð—MkCòACbŸÄJ4÷ôû»³¤ÙŠù(@O¯ ¾ÂzÓSu„ª¬Å9R˜î <W¶XVñ»_xMŸnDšæn§ PH×Þ2×—…ã2\cïÜgß×bU_š¶à¤ËÜæJf>J…=w5 X¡¬”60æ^7B Tw'vI¨*|÷ 2ƒ}ž:ÿƒ¶0=n{Ö(öô/nÐVÓlhÂ× +É€$§5³I¿“î'o´)=ï<æÌf‡Z›‡5ÇÊB¸¼Y¿ŠQ#i´‹”CöÕ2ýDÞA@Wq8:Š#¤róc ši¶qeoVÃŽ?Èè6ܳD9²aWÒÓùŠ!Šï=UXËÏŽÚVµŒHíK»šG˜ë×î½SdP”ÈðAÌqßS‡›d˜…X ¦4¡(7·!w4$ú£0? ùš.¨JÎ9›¹G°'qFIS»¥¨è´Ö¹†y¡ùµHE?Á5ŠyLýã­0NÇphµ?§ü´Ü§ÎïP.JoãŠ^†³í™Õ}xô!„(Åt*–]ÈÃa ]]ÎÜeé /š»D¥íõ>ÇNÑd¥IÕuôk¬[qÉCã%O£‹œíÊaöªø8¯+S,CTª¡‰ ™ÒDˆ³oæ_¦5ÒûI=²k@ƒ½ë$rîNSZ =/æ¼æ™óG;£ÃD *O‚ƒµ éÐÇAí…[ƯS‡œtYûœ¿ ªø<{Wón_ÈôùEÕ¾:¦dñ»LôwÚ#KàFÒÌ9SíKÂßÅñ…˜ƒÿPYèMà +ûmY âêW)Aa">¾¯æa^à*d}mûO%Ý¿^µSÌòj©ãàµå×Á£Ö=·Ü=GHÀå–våÚÒq‡ 5`ß·¤ôi±Ï?ËÒÑxŸs$\IJþª‰Àé~¿®™+©}WšX.“×d ¼$CúÍ6ë¬YÃùõc#)ž¾S…‹€“Âð`¶qÍbÃ=Æ®p¼]kõvFz³a,Ýæ“î({ê†I[7™Á«j¬› ΰr½? ÚŠb[*Ã\eˆH÷Š‘Åʳq ÂÍÞËaëÕ?ÍQkΓº?Çöíy±¤ãDñ2ïÐÙÅÅj¡aÍAcÇ/X‹Aÿ»†Ðxôá˜f¤¢m}gþå‰qøœ9ŽrÙËÉ…£yš'Âͤ!𠈸{D…xJC1ªgÚ&AçM]_+…§‚̦ҷÇÍ¥¤5Ï rw`AøV¨A¸õ°VmÔC‚†í#uÑ WÏ NŒ¢Š'PõÈ…¼fÐôCûäÐò2l_Ž:œíB‰Ø¢¡ È¶”¬\ʆrìKunY¯LFí¸À + ¦isŒGS¯ÆÐÿ¡’sâôa*“ñì@û§·›6diª—\t+ ­Óœ) œ‹ÅçHõ<ù¡l³r\Uqêðv7d~S#_‡ ¢5—Õ«ã Á(½ì¨? +»aBUeŒ~`_ëä³ÃðˆßéÏ3o?`îKÓ³o›*SvÝSûCêS‚nuD¹\GœZ¦MwsÒi-ÈØû êJdpÅÎsM8–)¦C’Øìyßî}hÏÞ;·˜é ïz">«{üpÚQp¶;I¢RÑsž}5ë°Ì—6R#Y±E‘G!d¶ŽNBÝH-RhÌœ§ìoº]ÂK¸r†Gœ±ÿÕe(eìºö4œÆ<yõ×]8Ñ¢ÿ)oƒ|….°uâ©Œ˜A$_ðQömO×ÁB1‰!Ï)\¬¡Я«$?)v…8ñ54S?øܨšIî¾1ÃKYLm®yáx©Ž< Æk‚­1ÐÞ«ýË¡²;d¯lqÅjú#ÞÄö«ÏØ–S­-ÈŒAþNÍÇ] Z”wY–‰VåK÷æ¼h3§’;¢í”_ó%yjÍ +-ˆ*—lf+Éõ<‚z˜ˆ©@s{]ÏÈ£¿cžÛ)è›esŒä=Ä^Àý®]~78š6ü¶•\ënŒ4¶UŸq­UAËÑq¤$dÆo¬¯¥ç'K€Þµ©ù›-\¦ÐLPž¬˜‡zZ‡oÉ~.˶@á~Èï­9T¦P?‹¡¶ºq Ó¢jÚ»”¦raä!(ê—¡_’nI匀ÇhVˆ5èd-¢&=¾Í˜{¢qkióER¾mʯ^Ô¡5vö#ªXb¡¡ß2¾Ðþ ŠÖ)‰Ñ=d;(½jÈäËך©åp”ÍhÌ5´°=}éïê¤4¿×ã¶$»ö— w>áR2Ѐê´·UÓ›`î#¹2ØÏ­ /áX$üÃòÇT}¯%¹Q@†xZ2ø1ƒ›Ýï, ör®3–S³Ï¡©ï²ò‹ñ®—‚_1¾Þ„”ÚKcÀ*P‚¿1¢dî’ÂÚ³¤«¬ÑMæ,0^±†ñË'vw*3tiéñœÆª+¤dÿõªç"T±ÉPï´Œ‹Ú‹Û”|Œy1†ÃÍ«œ¹BÑþEf"Ñ : (*96_:Qo«f,Ó}C‘ÐÝß´}ÿÑ2v 8¯ú¤¡0x[ÆyªÂ涴=¦ç…ÓGLŸp1ˆuzÆÍ‘WéìÑõžOËc}¾;°q3õÇÿÅCŒN} ^KÁÂŽQëqõ‹±·H˶j_ØÿtëEFÎ,#E¿LF3dÔ¢súfˆ(²¾ù‚‘£·_:eb‰“À_E0v×ijÊÊÒþÚóÌî¨Ð@Âæ$ú+Ê÷š=L9{Ääp¿éþÀÖò“™]ø<ÈÞt-6²ìùÁ9b“láž}±nhÅâQ®›‰!~Ø<]ú€KÂÇT9Gð¨Ð¯sÝhZ,£æ0)fC!þδ(YÂSFέxÆLyÕžMÒø,UR% žZŠZzð“Ce7 +ÈßÑý³pÞc$ÜuåŒ>&€«…E^ r+_žg™Þ©zBÙ#º>0 l‰½ LhäAgÒðzçHTVÃñÑSéÕ*¬ž¸˜Ð¼té"×M7ÅM€ v¿€Ù¥³,úm7Ѷ?Áÿ=-*^ˆ +‘Ü!D=øöS¦ï{p3RÛ¿¢Ísgÿx€‘Æ¥nÀP‰Ö~XxUÏOM¼GéêÜq +³Ûoø©ÛOIvDÍñ¹ÀÈ9à­E2å Ç×iƒ•ÐßÓ°‘Ý´_j¿Ú¬éNh-­¨`ûòæÍÁ/ûéáWÊ}NzØ‘cœ´g—ýžÚµ:D¯}ã¸1|Zøb­«¾f¶(LÌ´ÖeǨEpúHæ˜Ñ€—ÁVÐy,4/FßüÝ˧•øÝ ¹R¶-£ ƒˆÉ.^!¨ÌïCMîô)§m¿I“ÓçØ0Ë£Û X,ÉÉ[¬úÊá%ÔÒšðë@¶óûdåâ¼ÄTê0ñÈÀûBØd-A+Ž{N½{mŠeÑ©cSAï0ä\˜º‰w,ZÔ/=¨4÷o¨öLr ‹3þÞZE-fpâ=í £±È·Rç>&Þºìõ ÖäS«4r%ÔŽ·hkˆÌ…#·wÑDàwÎ ¦›c±L¹ d(lnwǦÈûVGÖ!3EúÕ¿üqy¬¶-©PÚ,IÏ!^ÝÓ–“öyñ馻#Ž_#‘•‰HÛuŒ üëà7Æ&XÊà©…ïkYupŽûRç*°X,ääÈ·ø+ïM‡µÏc"X@Kœ0ìß›BQËû¾¸¤>†m†OLnyÔð­Û>)`%•\É% FC?LŠ†mÛîŸÿ&yéé“P•Î +dYìˆAè‡ý>¤6ˆ|²"çäTâÐw•oÔã»VÝgˆ’’, +Gí›LT®6¾3r$jq÷ +ütù9ó‚­}Í8K"s݈Öj!•àyÑÿ.!$c±rmgRÚWàûÛö¤BÓµëò£«™zî +endstream endobj 715 0 obj<> endobj 716 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 717 0 obj<>stream +–÷“˜åUˆªž|Lµaõ01áQ}Ý–~—âPß_~aïÉpÔȹk%íW7›q©4~ ÀTQ·Òt|~J¹Y¤{VGƒ•.1?yé°$!“‚ðñX¦£àv¾KK͈ì<ª– ÚÑù¤>/ÛyöÝå (Æh«×:ÈìBŒßš4£…Ú<¸Ä¿K¶(Ÿ åéúS$ó¹ïTÝ1u[oãç%ñ‡R+툲í~ìI9_lÉa‰ ¨˜û:¬R¯“»·6î¤E +êEJÛŠ{?°ŽA­‡ot,ym‘½­W•¨øI¸µTåýÛYã¨ÿ®cÚ^ªëâÒ`/ÒøÛeLvëo;d.£0 +Ñ´Á§ƒ{¶6ÛóTÙËP”eA(Û½žSÍ•%»h‚ÅÏ‚t„€…o6m½èm +'!0âÜÎB¥¸š´yoøº;ÅÇ£TgLòWaò¡dwÜj½=’´V¶+-ÍP‹DòÄÕÐx!XÁÒÎSL¶hƒBiñÀ`i ÀÝTŒ«u cœ= _V•/*ù„²Ä ¾ù¦­è­ÜSv +<Œ6!Ðį¹CT#•¶¿*ñ‹ó¸X»)V¯š(ô×½ÖÙe Ê­c)[dhhx“Eø ÔÍæbÛ Y"¬K&Ö]þHÅQ‹vªù Q_„úÍ©/Z3­YUT^mdM³ŒË^ñ ƒäîÀó'“œŠÁ|xçú~yÑëõœw*=‘r,Å“f gc°çõl:÷O~¦ƒö5%Ö‡h½Ÿ3 ëm¢,ÌTR–ønL2Ù»•†›_èì›myÄmú'Ä«T´ç_.]æó`QÇL‘1¡0”Ͼá$«7îåĘŠê^*À÷ÇÊ ¼FH=f!—m¾nSè[,7ÈkAI_ì2:ƒ90-úå«ÓQ"YF˜Ô±f·"í‚u+#e´Öö¥í­Â&¦ãÊÒË‚EíHw¨Þ‚?MH‘Ó¨z»HøO8\>Ð.A|šx–2DRÇ.b +endstream endobj 718 0 obj<> endobj 719 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 720 0 obj<>stream +„ïrH’­)_åb(CØqɬúEÛ:ñY6úwvQÎ!©›BK<Êx¢N­ÆàU[hoc¤¡y£š9™ÎÔæP'¢€öÄtrÓ¬:½1ž#Z¹q"s‚v[2•ßHâ[“j@vº3ñZº7’@>ädT uÑ™.G²ÓCë‚£zÊÛ!.hÛfxѱÙ놇Ñt¿±¸3WÉnûÉÎ}ÜX¿ÂG½ž(®¹±øÜÙ­X‘ºž9Yšl2òVHd·Y„Ýôü£y©U:í°4½æè×Fæ?vƒEŸIzÍgà€?ã]"ëÖ†®y}è½Pxçè¾@ÑŽØÐ,]íïVÎŽ>Id“da¢WË{~tVÿÚ&ß¡%a¨ò ëÇî–?¶©äîžvû¬5dG¡ßpÚSÎ@Iå›35èRg³ÌL!6' +Çazù $âü8À“…„€¬¡ Éãä,i¦­nù¥±Ð†ô-fûñV26‰H1å¾6Ó#C`ϪØÃÞøxûbî±½õð†ËñUGÙÉJ,`aþê3î{×!jtxTÂu}UfÕðýDÔn€_±9•—½>ú¸¼´£l­1/ ´AÌ_‰0FÄâ|®„+3(!¸y@W¢1ȵ/Å ®.žù&=¦+}*d`u®e2ê»[mLä¼~TH=fK ÃD(‚î?ùkü0¤o¶º^äß]*É>º–·ÇâûµnÙ¯ï±oãA奄"ô¿0‘h§ ²¸SÅh+o^l†è8Ö/IÔƒ¥è›-ûÚBØrÜÕòM™l¥YE…2YaØÓs +˜‹i·ÓàâÀ+—•úêZÿ‹2’5ãêbè»H +•*¤3"J¯˜»m¼£èßmÆYs÷Á=¯Ñõ…²B#g” _p+ D©È¢³Ǫs…RR\ B½´[Ä+`ã;>o˜ÊkR¢E –Á˜FZ¦º˜U’°ò±Fh\®¨BbzSPì„ –?Ó¸¨Ùù5Läf­ó%z%ËîoKÍaS¬–šØw2àBRS +ßκ¿Ï°…ƒ¢ óx-ªÚKÞÆuæÝ«bé%.?\&ÈÅÅâáÁ5¯øMoq};Ÿœ¤Y:^:¹Ö‰zæ"I½¢{y²-ߎÎY1sÍn"qªÂC ¤‘¯Ü£†bÆ Á5N9éÙ²jª-©Œ±OÈ.~ ,¡î<¨ªÞ0+q®™Û5æ曇m[œ›Ú·[Ø?Íà7kSk¨!€°yèÀÌܪž +¬õ›'wåI)À€»¾ëµÿWq8¶áÐêf61>˜¦¬tkíEê•Û£möÃëXšïV€]ŸÍP¦­Ì¼(óêØxäÔ¡ˆ€^±Šy°„bëù³»ä·â['; x43O¿rýI¸ÐU5n&[ÃŽë]¶Ë;õ&0Hs omV÷èj«Ê´cœ#«#¬ÈTµ™ö«e]á“É.ÿÂ6¤èÜkr¶¿œø ©={ây(/ðûQí¹Ý°w†FK^úÂõ“f¥Ìýò¢.swsvÀ%| ¹;”‹Âàܽã»G{;€EZˆ~„u×¼”4¨s$°g”ö^7‡©yR|¨x +<ÁßÉÜ)ê6J æäÛ3rÓ)3´¤f©=u´7V˜AÍPßþ‘ÙñïÁð×>&›ëŸ†q4„ò^/Z*K8 HnPÓ˜Ú£Ç>hàút¯ +9 Å~¿ËË Ûþm7)©lå,õ2O Àä#¾§Øå¨Ê?æÕF}L¸Ë÷'˜Æz®ÿ•Fb^­­†ŒÉ}ðØj×– N³ºŸ ‰­ØÒTÓÓx…<®Cшœ<\¦NÌç]´Erìý±R¾®\”r‘kƒN¨¢QÀðíÆHQ0ýA­ 6áòJ 3Vùj× f€*[n-f¤å‘?‡Iû¹• +msÓLTäpfFÛ«¾:PB +x+²¥¸µR‘ä÷‡Êa8Â|¼úSSuô C™—+bqbïŸqc%S ·²æ˜‚uTÚi‚ër —úvÃ¥¼¨às·½Ún¢ã\‰x'rÝK“åS—|ðÖŸÐN «âºû/䪺!/_Jf'÷'< ‘R¨*Sð ôýôlÛ÷ÎKdš6Q7Ó ñ“íÈ«ì²½ÝßÍ9T£ÿºÚ< Ž¾3ê hU{¡›Ío3p ðÆJ6’$Ù Ó‹Ø +endstream endobj 721 0 obj<> endobj 722 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 723 0 obj<>stream +> Tf9¿Uªƒ“q’bä]dC•$‰¶²~V&j†€]8/‚Œ<‘’P%ÀõŸ´v”B\WÚEÉÝÖ*(ÜŒŠúÚ2øÍù h;X³`oæ`qñ$ñsð)â|¸šó Gg¨ð‚¼mgÖ¢Þåò‰#Š·ÕkçžÒÆœ¿ØöV¢wÍŠßêé°@vÌû?Xàúÿö®DA-œÛ©VrÌ9ÓN¸5Í2Ÿ£e˜™íˉiÀhl4ñF–›ôwaaHµËÔ‰úè@NÊ@ ª¯Ëõ°ïÓ4ŠŸÝ؇öË”éÕç·ALy³¿þ£#ݳÿ²&–*=Ux÷ÖöûR¤«ëP&½ÕæêwÉQƒú…×jLRÒÔÎœ1ïe SK?Ô"-úщJëJç®9¥ËsʪåG +†‚ÉÆ)ýºeÅàxß=È­ ¼-ÑÏ›J&‘}ßë9ä:öKþsòë׋¬`EB‰¦ÂzM1‚öl“Zƒ[Ðäã™Ceá·ùL”Lœ=„¿^Q¸êvÄÑK2ka†¹ÑÂ8¯°6Ž¹|YySÙ&˜Ÿñaÿ +‰¤“v?ŒüÙÿÜ>!EÞ[™ÎBÓ&Uì3'n:¸ñtKÇ ßÓ»–4"ÝòRê0©´¾'+ +ÍœL7dçi©Û8·ÔÆïÊhà›ÞÖ+¹õ˜LÀ ëFXfšˆ)¯"yˆìy•ü)—¹þ/þ3`”Z8A{¿=]Áy£v§!Ì3·õ4$Ü~n= ¥‰NÛ¼ü‚~i !e˜ëû>l±¨&c^¯q’Ô-¨_j×ëë0ÄP™œŒQÁ¡ƒNÛŸ1V.ê«ÍÊ?}WHwˆ•ã×'i¶¨ êéS1šoõ¬.¦¥CmvUdß $ /‹§öÙwLèQšÖÑ_5wüY½ºÜò(Œ?™¦y%|Éqy[‰&zuM'g¢h…u & ½YSàTì5µ“ dFÛ½+O)YˆÛ}À ^|õ>h)ìœä:¶›÷w{}¦…²|îê †*©DÍf¤Ì©Óœ91íÒòÎ5Gdðvuà)äB(3BP>7g¬ áE¥+¸ÉàRc¿ë³(DA†È ëק Õ +JoqU:áFgÇЗmµò I#ž6)ÊB1Ð +|پퟩ–+ÁW]¡uâ!¼ý3,NC·šç³É»å'¦ý·‡¼w½7!kKyáë+32*- +‰[ý¬œ_âµ_áA0©hŠ× ú5‹ã’†xÓf2,KTB“º©Ïékvp"lrÁ 0‘fAwÓ £†»`n‰1dX«HjoIúQóZÙ×íôú¾¢ ÍðJˆLU{D™Å4wÖçX0+³Â6÷F9Úéˆ~‹Œ¼ÚúeÁŽ +/óßqAµÓËÈËö¸óáöÚ“™Ö!Ðúé°8›®Õ½ôxÑcùÆ"}³¸‡ðí9²O‘Ó¬¾Éˆ hnJîB` ¥ñ[¤ãæšQÔÝ-Ï›ŸóZßì dkŸÄ•ãŒzÛ㪈E¹oÿ4¿iE5t3œDÀX2w¤ÈÙà^±'9ÔYŸÓ*Í7!–e€´è;ÇP/ñ·ÐwiÝ0qÆ –‚ñÇy?Lç½(F C§žŽœ¼’Gϼ—ƒ¶G1ʧbï^öQBà:VUÿqõÖ™Èöœ;ÞÔCÛHµ‡µ³Ñö°š7Þ¹.áæ&ð Áz«Ò“þ·&—Ð\¬qÙc°Ô=ªRºÅBgm7k!Ô¼~0m˜ò^¿-×MÇc# ¹Ÿïe¸úàè€ÕÏ~ß<[Zˆëc°ß~:TÑd½žý7mgŠ Ñ³–„ÌÖÈЧ“7ðxú\:¤©}ì ê' «¢æ“Õ¼Zø6WFM-9òÓtè¥À,šyåMÂ<»*jÄ7+¸_Ôà/n„_Œ? Ó‘îf¾ âÄ +“üE».¿Ådù?º^ë¥-ë8ì¹æ€~>/§vOÐôPË)Ÿ{ âìK{oýøn­F ©"Q0KA`xeç8Y%×ð‰£ ›Ý¦ÌaÜ«5®•œ-5"[ Æ3£ÆõFd½é0lÂÍs•ûÖK¢‘sQVjÊ,ô2·}Y–$é²ü‘OÝÚÅ‹Û¾ª”ÀãH}Röo³®:ÈlÁ⡲n+’ÛÚìÄœÛo®¤Œš +´¹½±r2/ª0î‰ð1ŸÀ Ü9C{ 3Qúk舴*¶}€ [-âr×@læ)R+Ò:þ)þYýÉÔSÿ)Ѩ̵ 0ÀÉL.(AûëŠÕ˜hìB*Ù”K +Çešc;§Ö–Ëz±ûË·²¿Rž¯#\\$õ:² "adq`.š8‰Ô$G$PLâS‹Œ«ƒ0§Ê©ÞÛäi;±~¶çþG‡9Œ7ÜÂ*Àø:jtíZû»2'“=ì5æn¢« /mÃO,æœ +Ôl/jÝäCWµEø•h—ŽSU’sj7ã£gºÐùÆú5F%O(”í×_åU̼rsšP‘CðÝ`Gd ™3MÉ: ¥ù»B3#ò t³Žõ²³µ”‡ê‰Ö#–¹b;†[ÍQHû[’çMì}W`—µýìù.¼¥'·ÃeKAtÎkÏò²8H³·€”ô8sá6&ÐGÔz8¦.«ë‰º†8Šnâl XÔvV÷.AƒD´‘#l_º5Æ O¼é—vÝæn*…†€N§ù̶˪U/!$Àó,à²ýçrÞI„ÒhdŽbcÈâ+ûãôE=:ð’Ð8 +à´/¤îe`€r(¦ÍI¢g@¨üŠ¿¸Ä÷4×?u8Fo:HÓýM&ÙÌøÈlkjÿo0Žk†™Ã’>GQ>÷|P‚‘C„ÆnŽl±µÄ”wØ°¢×`ܱΌ59 ºñ;ä>aêÂhU܃³gᇦ&fcwŒÏ©ƒÞ;ùPÍU­1œyÝ“Ѫ®IϤ±}#¬£ݵµä ÏÒ<ú4²w+s›z +ãímkZóo'ÒGuaxûDG“f÷G¡çŸ ºÂ Vé´ +Ôß6{¹ÇµjÎ÷h<¦+@S% “‡âeÁ{ÓÔ–q1«½çRîÄaN¿Ý- þQ iiX–(;ѽç Û°¾«Öz:`aÈu°,ft…ðT!ï»àšæFX üCë,]1³©¼A¶Q*ƲB¸ +¨®Ô¨ÛÆ{Bò¼ŠÜ>æ±Gé¸ÓÀY×ô5S=' >ˆ„öÇFýæWLÿT{Ñ„[ÈæÆ¿Ýoç’ÙÆÁ2Åë̱ܳ¿úEƒ r·!„¨#ƒ[%î)Æ"©·îyÓõ¿-9ê&™J³PÂM¼>=ú‘“6Ñ?Fï¹õëØØ xÜ1G${~cO)¡E .¦êÞ9—[›²fc‹øÄ“SŒMÿ‘I‚õ&Õ¡Ïm]Ë*ó⦇÷6ƒ.ÀnH¹ƒóµæ~…d3»6©“€Å¾áõK‘™•-Ÿõ´·÷:Ê)¶¸8ý¥7o[ñ… SKƇ!#s?3n3æˆ|öÌÄY³gâ_€šƒöªÂÔU™s(:fù{WöúMÖðâÄBø"\à;˜œ êšyÏhtë¹ýÀ;E–|á8Ü—‡Ìl°â¯âHawœ{† }õ 1D +9%¼q€"l.>Ña¯wV<\†p«àÿ X¥çwm+9R|“mø‘Íø+kàªL†—ûðYÕí|a]îçÖ÷œ¯aN¢„}Ñ¢å Ã]û„!—• D“‚Job†^1WEî…­î×vÞ¸å£ö7TúMQ|&˜Û¡D jÁ @ßktS§ >-¾ç£&Ùßb~z¼a wˤÓ(hŒƒiZÜd‡SÏ .Mä‡óPQ™MÎÖ(ËTx …ëˆÜÁ,âO1Ï· ^yØiúSÔ&2¤;=l€_6*&ྫõÁ4UÙ£ ˜Þë!3ŽÚ +Øæ°®jjo’Ã)ôæN­Áßk¼0±›MáT´Î ˤü¢Èˆ +6’ WÚÍņèXþ²¡¡/ D\£üæŒÎ²Ãn»r{[„‘Úˆ-‡>?Šg/&Ñ…¼¢™‹±°+÷pœsT‡V7E±ÛQâÐäÆת\ãG÷\kéWüèSÞu’ËÞL¢Ýáp¾ ÊZûÝ $n~çò ôMÓq1µ¢PoAH›—¿²•»JñZ«³†Ü)o+´^æ“AO} ±‹ø—G@ŠÊôf $¾·m$;aʦØT~W!e™ä7qýRL–Æ¿w‰[úD²¬÷l8þJLÄUñv +@o¹Ò®ÎŠë‚Þuü†”Šìín0øÀäçaÀU£ž‡5*uM¡ë9õ æþ|q¿!"BzŸX³Ê‹`{±ô½Ë†BÊ£`¨þøˆ„›ËÿÜÄÙ!%eÙ¡Gº›¡ngCªo³#+m¯ P½Ý~FèáA<“öm]Â@ËU}† 2-E®6apt‰óSfsî÷ü¤xÑZŸ05>é^}:Þ +©í§ˆGÂm¯ðˆ³]µÛùx¬ ¿½I™;×ÊÝyJ¿¥Û%Ö œ’>ÄðÇ Ž9ƒ°þpÍ»Ã} rÆÅZ°éDÖÏ®í­¶Óû»‰<º&ÉÉnt§ŠõoÎr¼:±ŸŒaå"ßðu6"NAñZ‡¬ ¡÷û`ÌÜL´<gIJ…•oc#ÚÔÝ‚mMJ¼ÛWÜÁ>Óo´:?Êh’)²´Í‹UÀï‚ϹZ¸Þò&K€…v¸·LuÛ“ +endstream endobj 724 0 obj<> endobj 725 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 726 0 obj<>stream +RÚé#_â 8ëöLn +Üú®ÃÞ¹¥›È¾?ä¶\'pŒÑØ +€¦-Lj쯀ýü+wÑ ‘ ¶c¦?€©«¦["Ê'k_ÇÿÜŠþ•µ5Ýì0=£5»×B‘óf¡w®¥Oˆ¼Ò³æüŸïk9¸LM®‚Òh¿"nl<Êf1bàGgàJð¤ Î )Í)¬ ‹hw–¾K›A,1wZŸLÖMÛ2ƒ&ŒÚ6¢C¾Y¯NÀTÌ#’@A.#ñ­.ç—7ü2<½½Ì w€ƒK§=/¢õ=Ü'SÓÓƒTþ Ã]…@>‚þ³çÕe”ÀôL 6@}rÛ? bôH#R{Œ·­#ÿãè5uÑ-v­س¢«¶Öþ±¨î~æ{ñf#šÏ8à&þpæ D~ÃBþ⿶†n}×&Ld}†\Э!®È-à¹J„T˜‹™ˆ2åhúÆ+O<€Ôp$^›ï¤Y*°0ÌÎœƒ´‰,]Ó •À„TùÄ9fãÍÊ: Žcr`ÛÏLžßåà*ôá.q; ½¿ƒÉ“g*ÑüHŠ¥\ÿÑËÖZÕš™Z¸ÙŸU˜O¾)©êS.R.UË?ž'ÄùV(gMïË1‚g‡eÔäÄëŸÖ‘nÕ0g[…‰-5þ­Üyà0”ª=?úCºõÝÑhÔ`‡2ÒëN¤,ò»Z¢(û] VR7Þ2úÀBXÉäÿa[5•E±Ô!WYkgòÞH…œà›œoj|©¤\ä®î>¤XHpw’´¥u©Ë` ýû7 ‘=âˆ9DÑÛ0Má _QúcšÏèao>™¹2áÛïã¡À*aÉI"_M‚WÛgbNv+X\ísîëöâM)æÕ%ŽÄUhŸ6×\,ß*þéŠÞ1¸)û+“ž¨,è Ì’$PeÛÙÊ1PtÓÄK`´Þ\Óz­At¨¡s OÄ TÉu7š w3ß!1ï¬HýP±h>* u¸È‘åu‹F~Ÿ +ZóT6s˜‰ ñ¼›¡ÐÄ Z«ˆ¿ôPbÒw=D—Ö.¨®úMf¡§ô¦³‘±qîÈæûo”¤q¥ÜÆî÷3Í6Å< A)=æ>zdÁ÷7Ba묇¼‡t‹Î²í.ûŽ µ&_çû=Zr„ŸÒ‡ åãîY{ÓbX%™ ?òhë–>]šlw¶Â$°A—*ŽMÍü—\þšE«Lk|6æ·‡Ò¹ÊSÁBXæ#ÎõO”FëûI³p5¡lÓgÒq°±÷¾Ó$BÎ…^m¾ûâÃ4 ÙT%dÝî¨u»KÃwGzÐVùÇîxK^IÒ¦u4\‰ÛFê,Ë™IˆZs Zzc¾ô§¼1xÿ:>hWŒC¼ ¿[=8ƒY#3òî7°Dŵr{S\Z™o_®Nƒ ¤"\Làó¦‹U  P ä +¦â€ªê8â==X, €%¿HýIqêí¦Ø9]Ul¶ôýÖzós°ü™)'¢?›ª„XzT|3lÄG€>5¡Ž„É!I1Ë[›²òZ…r¬P‰ÑîàãªÛT$f~ÞføµS·F•.xv$@1­¸“†f«}yÏ$>_|^¥’ËMðù8UDò`£ž€m–ø-@®¼ßÓ"¥µŽ}õsx]»vEŸm#jíÁ|r†=7i¯QÐ×&ÓŸÜJËçç:´2 ñ"ÿ÷==ñá&c>—ñe{b¶.ËîG6nñ£ +>$;µb+n $KÅjfyuþª²Ðz×È8Þ8u'gÒ›nÜ?Ý7¿m™óÃÒá×%½~Ý€‡a£%-+hëÙff‹eà'ÚÃŒ¦´£¿ƒ º.4Ý~ÚˆÉ;/”#f*ZOÞQ?²v†¹9„`%׌γ±'ÓL+†÷Ùå§a‘ïQ‘î£#Oz¤‰’îé…M&šöa–n9°ša*FË﹫– é“莵%ñm5Á=]ӕܘ•!‚/?'×U‘^Þ\õ“éûI«?sÏÜÊ„\:†´êž÷¼–ÈÇ9l?$’yjµåµ+®rQH#('Ñ|üß6”²d¢Á¡KÆÿ§Åû]^.§Ô[JÇ\‘¯±9U Ñ„¸Eî[‰4ËY-‰B˜Cac!—Ÿh 6rÙúŶïðÒwÎ"´ªS½(ÑXÔè,Áw”I dƒH&[D¶ó;¬>¸¡;³ž‹«Ñx¥¤ÀíeÞ×k¦¿—1Óëä’söÆxƒÔºå²"U9 q4 ô/ÏÌ0V' 4@p<Šsn´«ªUh¾Òoî:¶³XÚc€Ÿ·1:d©ì+Žç'qûzÑ°‰¨Ò ²æÁEDÝG?ã-4Ÿ5q+VûèH6š»ùä‚£¦´%}!’«&b * Y +kÑû]>ÄqŠOÐcs9Ò‹!¹Üøíâ¤L3öb|ÙSè¦ñG¾Ò;m¨œ¹Æ×bçr0¥ßÑ×ÎǽƒÏùß) Ý>¾ñfüÑØ,ÏÝÄcĵtÚÈÀ8·’ƒöÏd§ñæ¯PÃ/•ºšœ_‡ŽÝÛ±´Ï~nöYO5Ntø(å>#¹ôv–Ïõ'ωŠn¹8wûöVðBj3„±6à™@ž“gèQo¬íÙáDQE_ŒÙ×´Åy7Ý®WçÞ}ZÁS±J™¶¥Ýá/Æuö›g„ßI“µ#ÎÜסޅ†ØvÈnÜ +ÞŠÁô‡ð¢Ä®¦‘}€¶Yõ=pòeôÈ#OBï€Gã%±ÙÇ£:Õ¼çMgô&˜-ã¹*cPS-2ºô7°x›½×ø<Ýü-#ÆU2êf¸,¥•x…ÕöÛ¦hÃðÍ,u(ëûÞcÄ[‰*¼u@T2ɪ­>Ä›mµÃêõfV)=•fYE‰Ã½8Í«ÒG°¹›¥Q[<¯EûWØc!‹Þ{MꯓÁy§« ^f .”Á×ÐÊñÉ ¤Êùi9¸UÀy¸òc—¾ØaÜB:±´µwG —pâ^_Ø^Xû"^ø¿-Í0ظ²o(¹{4«i +KYv‡å§£&(Žx‰Íê‚Ô"›E¹,NÜøÑ£ö¨ÇÎ@ŸŽáÕ)}z9¥eŠ&þ*Ykk@cþüþ€q¸êI’O¹O­ÀépM,ðùNs_»%Ûd^·öWgg²«ž¤S´¦+(Ef>6õ$¤°i°†¸ÛGã$>ωSÓ¦y›`ÎtÆö\¬¸SþU‚5«„1³‘‘´”‡aJ—ÌÏÔ^CºsA´æáþ ÁÜÁzî ÛMlϯÃ'çer?ÉOêpgÀÂ8Ý…U""dÁµš—ÆÉ6lÝU³ÕCÂR?žxij®‹WqµpÇ ~J+ +¢XÑ~¹RXî;kp'h$½M¡©l]t÷†Bç£%t£ =˜Ç¼Š8q:ÆתsSgˆ9MsöÌ’í¤íK VùEº<ÖÏÿÛ=õôvBjÜnäíN÷WD¡¶Êì•zÝŸ•-=pžD½œƒµ(GŠünô•€À­{;K|Š´qf2œÑæ_†MÇAè/ìÇË°º‰ããtu² »D´­w£ñdE&΋—¶½rŸ·Fã)HAÿ!§ýøÑdð~Yä •žM6ßé8ýd®½lcË£·º™ƒìÛy˜•òÏP]FY›ð×ÑÀˆ—Zˆ¦8ÚÎÌÅÑö³‰±«~óIÖýâ73E”ïÖ[_x¹Ä';#ØøÁßzìÒtVœ +endstream endobj 727 0 obj<> endobj 728 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 729 0 obj<>stream +†nýÀLÒ]OP¨ ûc©#±I¯ásõÿh;¥r”°WÃ>‹š'=<¡=œCÆ_Êþ|Àl…ÈQó4Ò'¤éy¨*7﯀w/‰‘R“€ý‡\VrØšß÷CüpkÏU‘JÜ/zÁ»!KÄf¼ä¹CM~ª³šò@ÑÀ7=¤—Ÿç®2õ©KÛ +Ù{Ñé1ß +F¼¿%x†uÖè”0òzùM{Z©_}bÏòb¼ŒôwL‘ãS#XlŸAðdULœ&㡸¶ +Ïý6lˆ­fbÞ׿ePzÕCÍ0ª¼X³ÁJˆäÿ¯gjÆL_æ.rè)[x}¦˜Qq +^qV +«ßøž7o+ÕÊ…`ËP&e°Ë+kˆÊ4 ÂRíÒ…#ôj£@PÐþ»· ŠbÈ{V~ª·j¦íà5÷è¿®«ÍV`ÚÒ®&ôIê¼M‡õUk¡ç‡m86÷ª$šyÚßmÜ»\¢>˜îr–CL&“*«4^ªY´Ü—€_Õl•å¯ÿ+Ú{¼Ùh‹IçF³*.á\¼î5Jú„§%<ߨÿ^F§”7¹‰"{vÈuDNù_REñ˜®á«¨s$¥¿.¯ŒXó8«r†+ÆÈ÷A!M<ÅЄk:(á ·hÖãŠÒ¢y‡í÷pÃhß“<`{YÅÂÁ† ÐlÒœ*T~joÉÔã;ÐF¿Á_h3Oš“5Û)bûz!.+ú¸óíâ{ñÁZv¬;6zMAå!k£ÅtÁ10Ò½së|r5Pë°R´ØkË,ô‡•†çaï~Ufð0ù×€éÏím}©e1XH$·Sb}:f%"cQ#É—‚°{ ØPhÇÁ‰a¢E9Ê@]ü§Á Rs™ÁžC¢.PK”1€aŒúA[¡Kkr"t´ÈÆÔ–<¹Á.?åd¢3Ðè÷R›Òä_x(†Å3N\9z ^-“¬z·›–ã¢úÝk +¸ Á_Ú¥2Ln2Ω¢/“×#‹é^ƒèn5MY¼Ì•]‡@Ï·Ãø•ì;í‚Jé÷;ä6‰¡›}A%J§ÃùyDÇ°ïÞp!«ÔH„û 6Ëé ø1õ·T-7 œ½éD0ÿß93=U«Ùû^Ym+4¼@H›ùZ§÷EÕ©•qaêo'Gé3R©Ù kƒ]V$þ•)3†Š§$æQÓÌw2—[£„©tßÈ!|Ü ­ù<@{R£‘Âø÷xÛuTÍTÌë2¾Âýƒò.2üˆ#+N?RXšw³ÏnÒ¾½¦ÉÅ&l[æéx‡¦B9œ %a¨•Zs$ù8&û]®¶Qü ãþJ@ïÈàb 5 ô õ§6¨°:èã#ÿv¨L2‚iSeõ32Ã0o‰–ré‚¡¯B¹„þÒ¦²8X¡‡Ó?>—-UÄù)½X\^¹u—8/ÞÂÂìíZk¸}?mÿä*.‡õó{í¤‡þxf +ùÉ;csœí:Â~ñßS‹¦·õã÷³ŽÈ”¡úàg|>¢‚Ý«×3ª4"2¶åÔñ°Õ_£ûÑÔXñ–í3 ÆdZи‘]`© jG)a«£Ë¢”öI¬¸HœVFMÔRÊíuÀ›pã‘ftÅß~†èYŽæ–V§„U6ÿñ4Ð,$)UÊè&,Ahˆ¬yV°~é:ôWml3ùZéæ{ár>ùrü. ý–Ä›U h–â'ƒ¢‹12äÇÌÒç +-pRsîäŽâ醘¡? ´QöËKRòÒãéü— ½Ftf.‡<ÀdÕ~47…« þî p4ž€ÆÑÙCÙeÉÙó­ŽÀ0>ï7à„€çý…(1€×ÿÌ6¶ƒf1WW>~¦Ò¼˜ŠßÔ Qè÷$»Z€9ã! ¯*ƒ°PŒô1ÈC¬4y˲Î.DøB¯¯þ¡}\® Öš'ìåËfÔf¼ÜŽ¡‚l½ª‹”â(+ƒÃÖ4‹Sn£³=BŒ-…ÎAÏßâΔQ>ƒ ÒQ!Oµ Rè_9¾âÿOMC[ÜB<ýa OõXÍ©t‰-„²øÕ¥Þ%%ž2£­ÜÁ¾‰‚ØëòÔ%i±ëS@_7ì½³˜.bÝEoiÁ¡#d²nÅÝ au‹æØ XYý‹¾…; é Á˜"'¡œß4|êü¿ÄSc5Sß¿eøØ*Í5ÐÔЩ3òPr÷` TçZun-¾ÈAZ2[xóûWÜ ŒNÜU‘-ù½å»EñÃzOd…#Á¢‹6çO]³ +‰Áüã †…ð°.ÒVˈ@Sº +Š0G>fÛ€.äyÔr|õ¿“yÏ’/E‚§h$&!@ÌÈ ì{ysT)»ï2ýÏùë4]†óüiC‰.±3MØ-`v×ï#ÓêÞGÞebä7Æç¨÷ïm’là+_·ðx•«ÃëóŽôèèoBéÒ7æŽÖ]íå’D|h'hOúÕQçզ잮Ͼà7ØýÖr­é…foA¼؇»•Ou¤ËÏ^aΖ;Óïæ:T[â{èÉĽcÁK/% íFå)þ,!à-Ð7ô°ŠXý´à”ÂÜyÔöâQ0GþW÷fõ½=¬&÷–ž­U·@à8H²9R1àxûïŒ7»Ão'å©ìb²½@¬â.’o˜}ÅDßýØü­Ì +Y!…AVN½™‰ò!”=¸d6¾4Í +²´x(EjÝè«Ó ¼ú%œ¹–Ò’#3¯t…gªæx“ú}‰`‡+ýæý… ñØ„Óuên{$à0›H¹Y1,*eŽ/VqO9ï›Tqµ?7õ¥«U"*>ºã÷¨{vÎOÿª°óbUVÞؤyš0z†ÇZäoDHÑâ)Hjb•s¡–ªŒé71K?ÐlP‰ÌÝ y6Ï»Oõ–HNÉcó•Ê90MÅÒZÓ´«/ÉplB²KÐÍÒjZŠ`eÔÜ€3ñq@ôâËßÄÒÓYL_ÿ ÈÙÒÇö *E^²é)°È¬!p‰kñ5maBwùÄBC&å(ÐÁr²øüéˆ|µf%+ýKg2O¨¯nŒ!o%¨¿Är»ßJ” OÃÛ£Ci´éó§ä…«g8°.z +WëD—4Q_Ö5Ï¡¨·fx«± 5wø g€â¿sÀsh¬ø¢«íá~«GcŒc›¾Gðª“L8>lÇK9ÚÇîÜÆóõ7Q,:ô8ˆ:À¾Ó£âu@ßìÒ]žªmÌä[ô8ªïœû±Äêßýuµ÷hÂx‚ؽ4½³ä2Ù‰BdSZÃ:ìýß ®/oüeÌ#‚˽07 j ™–’­"ò"E˜ÿ€õ¥Økq0FN‡ÇÒÛ†¾wpdÀ^WÓ:ÄþtÃÂ(¡Öd,‹öݵ„1³|Ý|UÇFs÷*>å²¥À&Uti¥w™“þƒìI§K¤i-]…Y”j°‹b×V)=¬A€LÁdÊí»×¢É柸ÐÛ'Èý=š61Œu~ÅWûaV8MZ àóÒ .u؆éÀ·–¸ïe·Õ@~ç6[y +endstream endobj 730 0 obj<> endobj 731 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 732 0 obj<>stream +}ÊógÔ“ãB8âˆÉ)ô-ÄËyÛ›SÕ0©LÎþ4É% +Ïï›°c—YV§–¶{§ªM†¶«ë—Çáø$SFȶ&Eëz%½ãšœqdëYmÏïr*]ö{Ï)’»Fó0£ªûœHH‹Zî‹G•M$=xÜn͇}xU}dÅ<5°‰Í6u¨¥ŽQåÆŸfG£L/È?yfl}lµúÉ’ž¢êÄãPÅ„rD^}Á™DÊßþf:åäBù¨è·YÅ“B?£ô¤¯74mrf÷¬ÄþK¨ÉNM ‹î¯“™økÙÆŒ QvÚ${uÕ †_ÑpUKŒÒ«©U¢ö>­ÔÛoM¤cÎ=º£xpý¼Pøã-±Ãx"MfNô„U7˜Œ8J¥›iºÞÂN!+ÇmKï .<Rn»9Oó‚ëÚü+gÔøèƒÆ'«-W±Ãô¼©¡¨ËrŠçîF˜6Ì8j -/iIî'y¶]cA +w¾¯×6{V…D…™·dú0áÓ®[ê¸g_¶³Ò˜#|èkbÃ?E²éL±íD *’ÇF|Hô®ÙCÊθŽíõ?—§r¾¹ —c¯Nu¬!‘† BBâŸøΔZB©›u.°¶À-ïäŸéZÖ{·ê¥Ö¼“äohjÞh*‰8L |rbd~Õò 5I —™c¥˜óf1ÆxDoŠ8¾ÇÒˆ R=ß™/ã5÷·ÀZ|“ã³ñ ó»4ÉkéN>ÿA÷¥3¦°=ùeø3©ˆ)\ýqWÿ1¢ʵ’³$³¹Á<ã¢ØÀØ~=¢¼x:bB#Žë8mŠ$¤&!z]j¯Åä¡*Ëò8‹Nrô´U¢=þ1” ÚQ1ÎJŒR„yS}Ñ\:²ì_´_ò1=auH*0ÈÑNÀ:¯-ÔÄ%5/Å»NÅßÑ:üÔ|œçLujj'°rêíùNµ+Yb!_{Vb”Þ>˜ø}j¾·¯?Ç*r Ó€o;µ–ø;ô×v³”d„¶;{Æ…á«èÙ jÈév[®_¨˜:%Er!y²„ó–» -Rƒ'¢à¨hèD‡ öe«× „:ÚªwÆe˜1”&ØqX´®ô¾J!Wþ“±ô&hvVbš0ff8{hx\0†Bù6œ‰ p@~âZ·Û·AìsjNØć*ñl.E¬©‡ûRº 8ÒUøWÙ~¨üÖä„p=4Ø„ðXÁ¹˜J’4‹a=å ªgÍLï‹ûÍŽg­…Ã’;cfÜÓ¤{.¾?°´G=ªíãW@®Ô –ÐÒùr@ ‹3‰ÿ1!îèòâPn6Þ‰.‹nÕgØáˆù½öùg}è†qSÎhf߆þ™ëJpUb`°q/÷•þVoÎ×ÞŽòÂ3:‰­1­0¸¤ûlíÛ(MgÝÓ–ž÷)ôƒé%üÞPtŠX÷=ÖäµJ§o£bØ‹Ï!X;þXØ «¶¯ãÑ…{;¨ Ê`ïq>gîæÆÌ¿·\~æäå¬}Å'4 ÿ –2ëIƒÂ—³{Iì•àñ‡™-áJéÚe^ Ï “wÍO~#w¥Ä=7©Ò-fh1S|œÒ±°ô­ÔK[.´X':¢1™Õ/O; ÚçhÄî…î£UNt]Ñ”TäA\ý`øjIäß ¾¡NKÉ„¡yÊ–øéEžŒò¶k0 +¢e ` ¡¼g-²ANŸÎr÷ÒÉ£uP&FxÁʬdÞÒÛ€ÿÐîM ál1µ]ÿ«ÛOijƋùH‹„Îʘ bý§~.&î˜ÆPjÓ¥KŸmc»•o + õ›¨.vÂÐ]«DŒ6è¡dý`Åêics·I¡ï“²;†TÂýpf•£òôPò}°¿‹+ê¿ÓT=™ÿüèpÅ!LÉ<7N™+‡àÝDƒ–·zLg’^€pÝ•M9>F«Ž“3Ê≈‚ÞQQ†ˆ×“e …YÌÅjôEbÚj 5#`xã~Ö' £—j‘{aÝKI«zshJ”õRC¦÷c\Þ¼»êaЙXH&ȘX EÚ+R±#iÁªÕS=;—YÑîËû.E ¯>:oL˜œì‡——µÞ¿À°¤Ý…ÊãšC…iDã¾W1äøxk‡=Ô-Ú¢Zzq†üMÀYˆÍò¤úd†˜Wz³4CŠnE><€žÐ´sûï#ç%„8ñçÓHFËêNÕÿöƒkÙP`¸nd¨­B.”µîgÿ‹5*WŒlfÌãªQÅÑFN²±r±Ñï©7õ7£Ä9ÎØw‘¦#¢*Žb;Œû 6)µZ*<¾£C)‹èàìwl(Ø")HÆ8¬²ú°WâÉ|Ò¦1„› N¶%O³ å ÚÌhÂ@£¢áU«x¹Ëì’О¨“)äû6Ãså•zƒùuâÿ™%?ýŠÍÍ/p¤œxà8öçÅŠ~1OÂ"'Q“|å0ó—wVvÅýìNP,v|ëŒ +ðI&\ }¸þ 3ü½GÚEñ·]ùV­ÕDBºÔH>4 ÀS”æ‚ÍÊ’=4Ïc“Õ««ü(§Åq¶x»™w ³PËÊ$›ÙÒ?åóÖÚà¦!IýÑO±‹#yj£©~ø¦tn´… sõxp=PL–J&Éa¹¶Ï´ÈDè;gáúgå ™iÄÏfXÅZå•S™kã'û˜ÿÈ[ÕhÀê oÉ®~L(±Þ,ªÖ‘Ì% +Ù$L‰S#©ðÜ°üE}ê¨xïcþ†{ŠÃ ÷³ ±kÞGª+4ò§òø9’v×®[ÝâÓ¢žõð‹ ßùÚÏߧX€o5âÇ¡1b‡éõÑÔƒØÅ §9Ó2ì}àÕ,Uª`‚ô°`wÚcS×mŽŒuü;CWD4Ý[ÀÝCL]ƒó}ÒnŽ"|ìˬŒy>½Ñ@¶%Ào³_Ý2–>0né N^ÿ}[Ss³õRfèOò³Y¦üÕ:èDÌmÈ .Ø¥2¦'a{¬AnÓÝÑ×ÖÍØÇÿ‚…2@÷ìÉ|½rãH÷xeà6/ +³ªn¿Ë½Ýì<$'!¨;9—é¾Û« ¾Pz[?“È`ƒŠ Û=«„ò‰î¢D{¥±8kö?DN•i¹DwGÿé#x¨«f8-õ¤b?BÁÿcÖ³òùyÐJ aÖTíÇ'„¬.GÜH¹4¬\‘Ê‚}ýãD²¯ÓÂ߯㕇2¾Ú­à!diçN)ÿTŠf¾.ë«„ýyZ¿V>u:™cG’¬ÜNÑp3ö!¥©Ô#-¾±ê‚ãÒôMt7Írqþ@5JEï´*Žƒŧ×È¥,:X2ëÊ( .}bîÿ0¸ÔGl‰ó›«Œ¿§6ö&‚§^XuNáå'&üÉߺ€‹Lè ¦|+=ÆÆöÑÛQ=o©çg›!á€ië@G!«Úßôšê/##Ó‚a£èî' ;¾–̨”³]FIÚ¯}C#ÛÙà×q”Aª½³¬Rçó•IÊØ]ϱCH2S­¶õá3Û®C¤~ð4+6盈Ôb™°¶-îrâU^˜ïc)fÄ$@AfBÝ%À@1ùë„çݯm) (ÈȈ’´Ã5`} \»—!©Iï,Ô(u6c”„N€ä4FòZ¦Î_¯‰Ï*ïÏ9ò&ôeXÚ#ªºRiö7¥n@Š¼ 4ÇHHÔ ªìàf«Âèã­DŒÕ‹é†*‡A‘í]tÀ¾AûQþ¢Nò.¶>7>Pb‡ÝýU%ÃÆö þ­BÊw8KÀÆ08°%ú5±ÏZ Yf´ú›œ0yšÆú1™—käËŸ(k$d5±W¤~„‚eÝ4$e¼qä‹|Q-€Ì|pP\|Äà¼)unpkF³xÓçîœB´¾•×H`8LCúý]œPÔÛÇ)Åã„Q gúö§¶ÁÆË$R·Q ä³ãDŸºÍC^ò–X ±n[Ø"n]»¾³2dß IŠ±¡"vE0é1†]h$g«'ÍLèP[^Þ×ÃÍBî|†ÂøØÙÁ?…,Š“¡äpÿç _LøßiRµ²iSYrźÙÐjÔ\gó_œ´`Þñ²Ž†µ«Q¶NÂ’Ã4${RJP.Íph¼õ–¹*Q$vtÄt¥LUµL§–jBRæ:/d¹ò YX©³_dåÖö¿7Õ*îXij>(àTQ$°çKÈ5Q™ún’öÍ|5ËêHocÂÎãÄ¢¥ƒ¯{¡|龚ÔØ›á«æ”MüÎì£öÑÂŽ uX„-Bm5õ„ËÕàvÊGrÕùÂZ£‘ßÕ¸¸Qø +R9˜çÂBiõN‘¤Š+ºbÕ„€IqâûF|™Û/2z­ˆøªvXm,xͺFOijš|™•þ:þ‰5Ê +¬@åP¸ 5•Ñ-e'SžÇljãïs,2ÙTx±£ß-×*®_b”Çrå—ÒÖ÷Áö•æìB´†¬ŽáÃr“uíLŒÑæCà/pŠCAòŽzjÃoa*äÿJ2ò~˜&‹ôÐ\¶w:íÄÊ7»`ï z<„Í ô+1T…K7ÄŒ¯›Ö>€ Æò<šTá÷X(0æ¡ý”_¯8!ÒX€œD®^;Vú]åÇQïu¶>ëzl-ŒºÅW!8Nö†šñG×"0(+ߥ ôñbýÏr¶YWmšâ7Gî¯ëäiÙÔL¾Iâx‚låxmˆ5Ñuä^|¢ävyÚµ¢8½BêW\3aG­,±Ê%yAS'ÇðŸú6œuŽÍ»á¾,ǯФŸJ”H“0š$곕„]Žpë}ûõ ÈΟG.Æ~, ä^X¡/åžãÌ3Ê&´OO{J¿±´ ý`Py;ÿ{LÄ ºø¨S†ÐJ>«¥»ŠzÔòx I 쮊Á …ü@\"ŒnÓà¾Y3Šjx^2ŠéÿwUà¬æŸy-?ð6*ëú¼ìû6Dlw«Ot/Ôù¢äD€'Ú©@’‹K P’EýÃV}ú#çQpZ°–kyÿ ‹Ñ«TªeÊÔ3vsmÆÖo|á§MkWbñrpÁ½%GO¢d–Arn^h‰Áa×çy¸‘S2Û¢…ׇ@‡D‡$„+̃´úɺû†Æ¾í¨ú1Óz|Ý"VP7á+ƒ„ã¼¾¦ŠVŒx§·}lk˜±ûij\éÝÁÞgÒ ££o¢Ÿågd[ +Qº÷ôf§ê6庈÷…»3ãfpκ3”.ÇZ{eÅûnïoi ûÌpYЩ«ò¹A¬~v¬Hø^¼˜Ò+«$d‹î¯0Â@L‘ ^þb©÷®ß}, ì„Õ4f3ƒTüä®ö)¸ËKœ*šY4—놿~‹*†{o_ï{Åßï§(g»¯7ˆé b†Լ}Äv†ª›N°½LÀé6€QpÅxpæDŸ£è5&VjáT¸˜nÅ©>pìP”€ék†8#œùÈÔ=Æ®Ÿþ_=lïUI«WQb?A`§Ú –n#ÆÝd>ô²ÑZéöÝ£™Š!¾ïG(Üè"¥ +9ú8ýÖÁ”VÕ +Èš)ôH9'ªãÒ/)-«Ã'QV½5xF”ܘ" †=(£åæ{ÎÂH7 ¹M=@çÚ>$­vûCAàÕ¡‡!CgƒNh‰w¤;éÉ 5È )UBSU§º×ˆN a´y¡Îq%ä 49¤™ÓóU÷Riuª©e FiqÚõÊLEarr·Y!,¹©ùi¹GjÁAÕÇŠ.%ìmäç +…r¨e¹1G•â™+’¸äç㇘³5rŽ=#¢‘zÓ+¿IàÌdu’ O˺NB¨} ø`ÞD!-ÊŽ–bO›K:b +¯vYa=.>á!%/!žáЯˆ~‚›³³y(q\ +endstream endobj 733 0 obj<> endobj 734 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 735 0 obj<>stream +*±æT›­Že¾áw×WAXbÙfª ¶÷ Ü:ðgažYˆ{õa/à*ÄóάcŸÚ.#[+·ÒEÉûÊP9\6jÐ\È7u»ÙRGªb轈á?ñ8¦‡'ÜÞ'”Åu\ªíâÜæÖëþ¢8LènR›½^žæÏ$³V®YŠÇÓmó`ݾћn"ÜZ: ¾O@D,Àªá‡7/éEÀ?̇~1[¯ÂŽ1É–‚c¾ì©ØFz¬~Çó\´"s-笈¶áàRÊ ³°¬| +…DÚ†|žær1Ɉ²z)rbA¬ÇÙûêVã-E¹ú#³‡,l…=$H'E$-‚˜£•Zg±’ ìp/µNÚxñ±‰êå/ÞŽü¡ëmZ=2+?#áZÁVÔ¾u-»a*+9ÁÒ¥òi À &•žô«E¹ùŽÚz˧‹3Ž*e=qIÇåA`GÂçPZ«û£-#Iy'µW&”dåVåð vŒ^±´¿ N?¤Å R@aJ0³d­ÊÂElËc­@€•idmëø¾*§Ó<‚“á{”tÁÁá ¤X†ñèöâ*‹·UÝ:é…ó6¶w6mx—•…0ø»[ÜÞ€cûýÑÐüý¸Êb˜Ý?øVè"2¿P÷?µMÙáûâ6•A 4¾LÛ"5v©Ô9Œ×½º2BlnhÌPõ8'ÂG;Ø› ¸›P,¥¨Åfî>[O€† +‚)Ù>&ôi*çîU»&¤|ý¡Ýµ|)ýÙ{=Ͷs¸×Ä'd³¹M Ñ0Ù³\h³Dä”»vÌ‘·sl 漋¶¢'òY±øð'¡ßý;jÙNp #¡Ã…?S/øä"哘òÅIÝ(»RÕMÇÄ'\Ô‘d +P©X1TµW=wM¢k Áw+'Í’ƒºßV)¯ ëåìGS7Žùuc8Ž-°2 ¶Rð¿¢QKª`˜•ì5µOE]Y€¡Më‹~@‚wíIl‹Gß\Uˆ¯ÇY¢‹9Q1 î’z?;.ÿy/yÔK8ÎÄ5ðRÖa{$îxÁ·„žRïR⃚Hž“s«LÏS9~zxy°h66) .#>¤ áOáסv߇š%n¶ˆ¦ÑßózÄ©>óàϨ©aîðk@úµdÐå½õ +òöïuÕЕÞþQ…Pë 鸔õ#k‚Z¤Åa¬è¨¥gÊ÷–R¿«!6‚Àá%V€ J1«ß*h¼n|=]³(^ÞoƒËOP»{±½)ò&€‚U°î˜¨]XĽ§1íj£Q*Y¦#d0Iþó)Ýè·!ÇåX#—ÕçMIŽwN[ ÈS.ûàŸ =ûá ÄÁ_*Þ©eئ§×üÖgvÔQ1…%ÜwøsÖ~?–G’œÍú’yXÍ8ÀBídÄë¯ýjt‘cš'&ó;Ú%¨¼hpzµbE…%=*)Žg¶T&»±á#'lþÀBêˆzöËô­Üׇ†É$Eû|‘KÌñ O”ìêŒ(ðh{•0ÂБ %,º¿…. JR7+©r™%¹€ÎŸ¾ %o¶Œ<®¹üäwIjWÔ)6ùlƒC¾’¼Ë”º¡¸?u_ß ¥ZOèÐܵ¥ƒ +™H/z;¥¼ËéO AzÓÝè#¨ZQ2I†\…¾lý·^d%J°õˆ5/RA]ÎÓwc%aL¬cý÷vrr`ðñRðfëäþv¿ +Ycënxûc:º«KØ„?þ øOØ=Ã($ „´• uÁô¿”×vOdo·ˆÉr®(DO8…ôŠ:¯èß—‡Íü»ñ¼ ´b÷reötÞj.V¼éN‡'iò˜lc–¨ <"O§5AjúŠÂA@×¾gر•¬ý&­ÏL-Þ™)âa“?”eŸ®Û KyHõ¹Q²Sr7 b„ X7ÌÖ8ááãït³hGÃ&?Ña¿“Ù…©É ÛRà;3I$F:ä}† *Eυ雤sdö$ž©Ú½ÝÏS|zhloÔLèS„ÆŠ£x8ù$cßRÉ\¬¹ -\¹¼“zÑ=\¤öRÒ™ë¾À  M×PeÆZÌÈÕà5_WƒþŠÎ ‰»(¿9~댤1™ÓXÅ QÁÞ‚ XmF6§e°­ŽbÈŽ¹J¯pfßöZé!³MÈ—’žø5XÇ'é˜È£Ùê=ŒŸ7dÁçûbð¥Õ`÷g ÷{j¬´Æg¬^këLoÝJkC$Î@œ€Â—LºcF§”­ü@º‰ÔÕS¡=‡WMåó•À­ä߀UˆT ¯ÓêŇÚåøWÖg0Ý—¾"Þ$Ù¯®Ÿj7– ­Ñá„’zIp]P~Ç_H¦pYläL»˜s"çéÜ'Ü” øUR1jhdœ…é.ÍBtÒ¡KüÅ31–s™4&heB§úÍ×`D°ÓÐÙÉþ^:.S‡çðU|ÀvønBFY‚zN‹ªOª÷Þ>õÝ%˜z‘œV´™™³7HXÐ8¬+D4Ý´Ž`]ÝZs¤ÁÑ·©—¼E&úÐØ};«B‘É#oqÑšæ|Ìs&¿ î ±P¿cð½)Â34ÏûI'•/Gãø‘åF´ANûdÓÒ¼ˆÁœçÖ!üqbÎeÉ>GŽ,* ~ŸåA$Õ­…ÎTtLUh"9gõ¯ ÿ¼åÝ ïzBÒ=×µˆ¬—u®.E ë‚jÈòµ•HuÂö¦ÔUŠ§_CjB~%Âoª° +z½Ë#\éàš0˜2*yp1Ød+Õû¿o Éo™„øCט›w ñp‚!™¹­f[;éEªÆs¾âm‘[îŠê,Y4À&˜ñ£I¡æ߬\¤­iââ»kÕx(QÄâ &8~Ðù¥ŠS' +6%ÀSÓÇ]§Ü9 _Q7Õ +0‘³ÿKÈRû¤û?-RW¸ÖTûªô2,jP,JÇõå{¨³.–áïûS)ïH¨]G5|÷|y‰}?Ágm\HFÀqq‹J¹“`IN§¥Æ´ž3¯ ÷TÑT )‡6·ªØ£oˆ™ûÄ·ç@¿Ý"õ5¢˜oDÕa$IèRsZ“7húœ^MŸŒ?yq³¦cOtòªhï^­Iɾ»¶=9ÏQʼnët7x§.¿a$ε<%ªÚ÷)Ñw¨˜î9ÏtE&µžJ‚ãeŸà_¡ï½ý²!äNì~C›6¼·N +`xQ9lUÍmؽ…$Xµ¯ðúºzí½ ÄÃH +°QÇ!ÔŽó•<:ÕÑsÕ +endstream endobj 736 0 obj<> endobj 737 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 738 0 obj<>stream +¢^ä¯pÒú"â©û]t€!(5×¥)5é:õvÁqV2B†+&“u€8ZþGgî\ò¶]¯_ª¼U]ã½*PêˆX˜J=Õ8A—žgÙJÝ°Øó¤)4[«^«ZÇÄSUuhÈ)‡¸ér ÿÈêÁJ³ ‰ÚÜN§s¼2µb d™Ç<ÌEñxÉ=Ÿy6ûsôpOGâ0¤ ÀŒ¢¢FHm‹×¹^‡»Œ“q†ý†`,/kxÔÚ¡BÌ»ô*MzFMvÊþrÊtwëz,Þz$x·qf|`‡¦¦p¬Öäl¥ªP´tPw<¬² V&Öçô”W3 çƒùš÷Êô¦MªÖº 8í>;ýžè”¸bÚͤίҘI +µBôI…Ê}S_¼Á«…^Ù±ÌjîÜ® “ùáhJžDÈâ%»ÏPø)¦ª~ÂG†¬”™˜C7Òpù©Üg*Ù %cþ·?ÝÛݯ†ó Â.Gq‡ Èfêzš.Ê?=°^@Ï2ËÒnÒ„ö oÀ×$³¥/”Ðm,kjC«®ÞÃËYm¨•«gŒcóBöŒ¿¦±±Ëå4KŠ ²Bÿ(óè…ý Ùñ¥(Ù ¢¥²ÿ¹n.ö| tÕC¥zÇÛ +¢'¯p"•æ|ÁÝÊ«»QLbúN÷€?DrM¯»Ÿ«uiÀö]5j§eÈçõʲé©Fí½—±­þS8ó´íßâdÒ¸qÚÿ¦içÐsE“~WŒáj{Ö3§Ú êé¿žN“½"Æî9qý(1D$~zÊ™<ßÁ¿ +´¤®ÈyÏ]19`š³~Ãe(xÍ]BÔ Œš®¼ÄË8"ß쯠 +nÇ¢¡ƒ·¶Wþä‘…¨bí&gG›³&8`éI¤c;+ËÏaDï‘.ú9šÚê|¬-¹#P ø ôÅNw,Ðd¬&¢ÌÞ>¶[(išG“å„ÿ>â KœÈŒ8–øs@¦XmSÙv(ƒÚëÀú™M(@ñ‚ɤ¦Þ‹HñqÓ.éÊ+•ÀíËh¬fµ}ze ÍôErQ^ûç¤@ÔžŠÖÇ#ƒÛ<{f*Ê¡¨Ëª–t¾W‹ŽŸãÞ£ÄÕ¥Øúó8¶õÕD€C=Ó0¡ ªt¸b(’m†ûú¿UÍÝËÚÏñÅ•‡(¢…ê ŒÏB»žÔ»(aßÁño§û™/¤Í¼È^e|WÐÛ|ö°‹Å½oBm‚n§Òã]Þÿõ©ò€?éÄs`ŽFlA/’–GïŠa£¢g±Àƒˆf)°ƒ +Å{kü¹Ó JvÞOs¨D/Ï`í~¹ƒ‚¾´¶W˧Š5¯Í¤Å6\?åí3yî¢V¡Wù‚&( +XZ·Ò0z|Í;‘ÏÏùÂ=#îß*”FW«ÊTLBöáPßÄоgî‡â*è¹D}úüoé€ãQˆžV\=Tñ6k¤{¨[ÐI›¹ˆ·v($ãI¸JqEûaR;Ô,ïIçàÊð»½*ìüQ¸’±Þ·Á%Às}(^[© ÷˜‡&«SŸ=¥C÷4þ"Üjœü‡T5ó[Õ<0šÂ~ûô8ËbP,‹²Þ¹þô¡>‚¬2jfpÏıÒh×/šê“í1™ò ½š Öâøjý˜ld Œs±âܲ‡ú%Ku“«•óê¼#G>þ«„ó•Ò»1 §_!¡ÜwHXéñ¯}W/bëç¡b¤A7yC²ê{æ…•U4¿_Ôs÷Ò<Öø±‡&ûàÎþ@OR;‚ÿïÕ·|Ülé4ò¹¡¥'8º¬¬%UUiâ³þAU÷Ö9{3íAðÁsnçË”bV~ñ=ôÞhßeÚ~²7U{èUÆ]*Ì!Ï¿Õý\vèüd)µ§aUÂõ5v¢‚Y瞌ಮ† +‘SÍb^b[4!„ãk!14ízÞy.!úÅOÙðĈbhÎH1€™²|€Q÷Oµ|bDi˜$Wç x¦ÕOÀ5~¡hÀ=‹3ZA—0ŒÃ°yH^ª?æáy˲øœmâ[™×¨CŸ0ƒi:˜¡÷å$0gãÒ|øh¤¡¦(rHînSšuŠãßuÃ]ZiY}Õ¹ȹ•‡×°õpbÀt8T"`Ôʾ©1*H¤ÊКÛRN¾ ã4ÖJ Aˆº0¥Jsñ R¦wPü{’ÞW*5ã-ÕŠëô—'ZuÀrË üÃFSœ çzí.õFRà–¬Bº8û- Ë¸±zîA4|šFÖùÌrTå}C«Ä9êìA¦ª:,mqÌkFêè±EHË6`¶ÙóS´wf˜_ •‘ëvÙÃB;í’#GŠg•Z-€0©NÔ‚6•Ý•/øutTÇEl[¥Ê_É\èm×ípøP}ðçÈ<ô~«,äP‹†ÖG{&3B…î Ô°•S.2¤éb‰"Á,‡¶àã(MðëDH¨²¢PP¯0*r@-sø^ôL€²éH+Ûô6€è\h+RÍÃëû ²¯¿˜¨€A1gÜŃánDƒŠMw©„4c÷oóç;gØvpÓœ1bWhÊßv‰%I-wôE@fZ{Œú5¤I~=ͺ»L #N9–1 Âù–í¯g¨„ + D?7R\Œ®ÿ&!U³¼‚ŒäL&ƒ7V<_ÀSm ¡öåÜxd'’¨²ßR½% +TÈhÄÎ?­¤Tôrë¯'ÈèiEÅFs‹´`º¶G'{|Dhbuÿñ4:§ÉƒnV"qðFÄ ³*t–ïV·/‡Nš¤ùÓÿœ±j¦à¦Þq,@$¼~=çp~ç#³S‰† +p-MawT…Û •d©hŽˆ—4/C×ì«óäO_èÍ#¿7ÙWñøA¿Â}iñÕÁ’ —ÊЗµâöZÚ jÄ5AO2Pó˜u·§sQ©Ex7Yrôéï÷¯(~MÎV˜W nt-Ú³Õó¨ÁÐ˹ÅJG¬lg" c×Íöê“þèø’wæ›rC€ß¦.°B 7ÌyÏ3¾ÁTJµ=>2ð赬tÝùø´^¯¶Ä>Ϊ]ÂѺü›55ÆPÚ$¡@r%4í¡!!êm™è­£> èб/}d¾_\ƒ\=…Èœhšn›ëÿHh}„º€& /¥P.›U¨‚«Üw(óU'göV“E뱋”B–2ùÔ:˜yElñkB— 1x¾ÙHãËi›‹—{6–Á«3ÇÆøy‹*ÜÈž» +Þ¹‹rãÆ*Xh‡³,hJq—ZjÞç^7}H Ùi£H úNú7Çv™΃ŸÍ'¤›åÍaÿÿnðLQNf˜iG¥g¡24¿c?¢ö—àÒ2œn @»§0û@§2ímÙÚŠ³=ôJóÎ[lû>€‚”K¼çÔw…mrÜó•°7P1AÇŸe)sPY8«òVn¹T)nŒAÌ4pI{ù¢ødõžvŸ0AáXòÉs[vÕŸ 3Ùóî•ðfM-u§YÅä©N³sÅ®tR(PP|¯ˆvûÀÌXq:r’'Í×¹„Ø ,¾RÔz.½•­$ý4CPÅ÷àá¢ÒÁY³j²ÀMCa#jØb*(œëœ'ÐD**?-¤®„´ ~ÁõOgÝS†oíVÀ)E:+²á hªxþ.Ä4t7üáäËÔ°uv–­µÛµ«¨+:­nu¥hÒTpT|Zw‰‰ÿDe0i~ÚuÊœ0¬žTïc«_U—Ë¢bŸ´4Øñ¥X$"èÙ> e=(B‚@ªÃuMÜ%ÞºeôÁÙVC’^à~ömz>«Yp´µ£Hè%ÚŒûlº×à{$ö±__*:ͽY'PM¥ÿtLº䲋2xq[%GJyl\üˆ5:æ¯Í6x/eq½»¬]´ò·'» …®¿¢™Åö#>ísS¤P!¯»4Q#½rët4جP©Û•yõó0ûºÛ©tra'¤ëJêe?Ú†ul¦Û2$7ë§ð媷Ñ.“ÂÑ‹Í6°å#×å[ëj©Dqˆt¢7-ëÁû:<ï1DÌqt›k¥Â§â”ë>Z73éºkm­Y•Vßâ¾_ðƒÃBäÒg”yí„w8)P¯€&Ä~£:S=Å&;o]J†tÌñ²×¨jU["S$•û1䇱eÍ]ÂÓñ”¦æ*áóxBú7äæW¥©ö&7{ +Ò? Ðe+ÃO)Sô²ºëœ~†÷(J=ý ï>Jðqå]JøœcGÑÊUo)ÉDá<´¨f¤mƒ™nÈ%(KökÆg(ŠËQB–"/s3æ-nÏï^ŸùM±9d-{(–QáÓO¯™.=C(=-âø¼Z´õ^5FȺ¨ô&8=BÏÉvNØŽô›À]ìæ÷ybTx9p÷å°n^¼Yœ dŽÊ²4t}÷aJósÆ65ðŽbIç5|©²IAž[O”fø>O£„jÿxª©f€ÒwóÝ}N³&R¾&i­»iGB}@NŸ×Ö}Óz‘€W•] +˜c <ƒ'Eq·çŽpP¼$I5O9T=fEEþ™–]Ó}ç~ƒDí:—Æœ:?ýq¶E*F–,¦ñ+ÏððÙä—¬€Þ.òA¶Ë>í_¢ù­5;‘Äøä²ßb©Är‰e wúÉ•5ë{€"éϾJEŠâ0›^vvѯ‰µô­>œ&Ð8Ê}Ü3Œ¿eb´“Ž=Òê¼:\ÕGBaVÈ® À~Kä ظùËyÈ^µ—õ"†$¯½Ý6Å-ÏFàØ’&™‰D,å<ÙµN VP +8#™ÑdÆ$#„v`#á&õè!R©ƒþ:4£C~³ÿ_³ß¦\_êždu.ó±!¿úÐ Yz1ñŠ(¿ÇÌÎ4RšÇcRÃö4Ó•ª!À¯J«klš®äo})ùïsyr´Çƒ"é=¹¡k™'G¶ê¶æåÂpR„·8Â`0¯æ dœ JØ›˜æ ˆû£<&w#þ®7¼šoq7Yð“aÊþT2=¬Ó[ƒbjôÿkc5£o'Tê£öu ~DÁû8×:ŠvE„A¾ +™ÈÇvËw6=p!h T qY›dÞƒ¦M1!Œ2Tråž.‹þ…Þ‹¾Fš«bý@9x’ÀyñÑ`¤|[åÅ€åO¤ +I¤Ü]¼rZ†yB£”z ¢yÅJ,B糨«Â›[ö[’Ií1Ň8C^ÈøP§ùe ÊSUìs‚)"‘ 5iaîæM-f2Ÿ›ÖŽ× à’0—V’.~½¾['xß¼y¦4ׂè\ògËŒ1æÇébZŸ†EÛó}˪làEC8ÉØ­qAêðbNsd?½›üV`cfMà±aÃqÅ»¥åO3pí«wÛjÅT¢TúÝ‚šhðxYå$¤Xîz9öÞÆÆ*òN1süTïürpüòv÷Ò„ácH6.ÊTJd‘N¹„hn±›Ót/Gdnw¦«þº _ nóur¼ýQ!×øI§_í0&@dêl‰nÅJ€î&~/úîîk»Ç¥1çhsž^Kº¢r˜Ä#m·©$ÓÏЪª›±)`V5Èd@LtÏt»Ü©—´(³±T ´B”ÂüÁŒœ¾pâèð‹dE‰—þVn>ïKkï[€¨M³%^ò¾ª è0*’¡/ë#‹ªš¤Úñ¸Ì‡ÄëÅ¿8ñﶙ_'biRHǼè<õLQ©¨-Ø3zYÔþWµÀ?‘Ô¼Mó!ÌÐõ§™½w¾wåÙðQ´‚fu?g5œáÉ4BBI!ÇfsePxÝ4W0!Oßö•"Yü¥ºQtX š®xEµóLs1“auÑ&¼È]•LFS +endstream endobj 739 0 obj<> endobj 740 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 741 0 obj<>stream +1‡}´pöb{TDmbï²øÃ¥ËU6üpTn +J‰Ày½g{Pñ†à?¢ûÚgr>6$³ü“.nùˆ2#•½ÿˆþ›WÂüµ¦^–Ë„#ìNÓ!ÕàW‹®\âˆø×Ï·j/žR¯`Á‡$BO¶9ƒG4þ5¥¤ðMo.ÏÓÂ…Ð!’é ‘-Åêª?èî@¾ÖïK?¤dÉ&fêK¨•:YzúÎkâ‚ìÉŠŠ±c-`…R¿•– p4yK…Xèð^ lÁè5;7^CìÜÆ5SØja¸(äüµA†;˜h_iÌo„7óEüë”Nß•óUÝ©EÖS_‡!â•¡§·ÿ;v™ÔÈu°± !$͹§nc‹n)ÄwäŒú± Óm)# ¢)Ô>Lðâ‚ÆîÜz/¢@ÔøuÃ2Ñ¥úµ$÷È)Pç~Þt.•»yü÷eÆ:uE†`äý-ªüš—ÏuHlø‰õa%í»þ’ i›¢ŒÙï—ˆ”8þ•N¹”Äø©Zf²àìAê3¢ÏDßÖ¢íl×E+¸×9¯íDÃäªô¡¦R<ã¼óÒ¦Zÿͺ\ó›³5]Û.Õ‰¥äF7l±æHÏüö 05Öi#gH1ró™m—je0Rï•*t8Ù A#̲4 Wx›ÿuúó•`NÄEµõäÔzð³aVt8™iF'|%'lCÐßl*8?Ü¿fq2Î@¯fnŸ”䜣/Z€f(ÛyRAbÛ8Ö+Yí7uUºZvçY® º‹;;xeT^Q1>ßQäý²D­]%¬MœStqà"@q!••bëÄ*¼£ skØ„Ý•º+×bα:Ù‹%¬êkv—mƒ°ñÚ¢p˜5^¼c7þ‰…7*ÿEÒàsH&ˆ¢+Óö®(óùÀ@WúF›®%ÅÉf¨åÖï iD”Å0AÔ‰ð×Ýi+öM«sl.]IµJyh•ßI±¸S i3€ñÊM¸^6@­ ^ˆªãÎOí}^Êõ“±Ê„‚æ£!®ñ’Ð@‘º8ŽWÅtÚÙ…É·?ÿ|r„_Þ(ŒaÆë¶ ™©Ä¯rrhè2ñSÑëA´¶|ã«D¾ª´²’Šg)Œ´øR¶Ä³Ëf“óYôsN] ™d+šåcä)mÀ…£k‘´£¢«¬.nN5$m8VF;¼¨…q–?ÓÓ"÷ñ¤åYºLÌËÚZþi=Š[aªÁÅGŽë”ÞMûSE%Sϧöq—ïÊ ùUŒÈ ;Dñ™|2‚bQn2) +øQ–¹X!¢‰l¤ còâH7 +VYD¢*:m}Ýa䌤ªó{ПخþXÎj1Á“ot”Ö zÚd/Ÿ©}³8y¤ö±Ò¤+åÏk»2)¡¯zYEÓ­­> ò¹‚÷ô¬¿ÿpç¶\ kQ„ÞÖ^=íðÎ…‚D9ºd½â†À;cì?í‰È? :Äa!€¸8ü¶Æ|¼ïº¶¨’¹(¡åŠµÒè¸A#=ààm±Y›:«M3$ÀŠêXAÚŒ×R;›föa§Á¬ëE€©°Ùv“}C±¬œ–;—æóPÍ:oû÷ôŸøø`÷W“.eèÑúÛÔ,­g§Ná{‡‚Ù¼9»¾cع‘)üq £Y(oíQ»ü|êN•KT?ðºÎ©Õ_ÎÛäøR½E¢ øb­9¤ÙqsɪÀijëÉ0¤±ÏèÓþI+­ãJÙé¨)^UÈCP˜[|†-óÃw¢÷89Nÿo +èx—[NffRŠ ¤¬Š-¶#Ê抪ZÝ^Ÿ˜ûtøNGÏ‘íô€+:$Œ#Ôf™Ãë6ò>[[>òì0Æó=XÕohbHÅ£YIm= +êåû!¯­µ‡‹ÐØDÍë"ð¿>O¢¨…Á¼½–1ÖyßÌÄ~ä`+ŠU‰Ý|‹Ö›n¼ë“YòÜŠ`VóÚâl\mQ¼ŠŠ‚Ru˜°ÙÅn5„äz4KŸ\mÄs4ÿZW÷å&J +P5G3ñ×&õÍÂVd›zsò²Gh"D\3î'Îf^¸LÆÃG³î]TÔ8±fÌ<,gÃàòx°‡†…lU/ÁÁÞK +¾"6dXd ÌÆ|k‰Ã`&¢ÃÉùÜÓZT³—¡)í{–ÆlG‰üL©MQYóÊõ§Z@Ž«¿×l¬EœŠF=±êÕ{þK[ " §ž;Õ}bý"Q¯hÝTŒyuÌŒ¨„á¢NSOŘªi8#çØ]p=xdßö‹Ÿ²¨ñ9PçÂH•:‘-Ìt£>ðÔӳΠò$aÿO<›êÊ%‹ù”/óÅ-mh22þb7JÝê"r­R*:Â/´áÇlt™ y?& R”yá×É)/ceÓì3ÛJfÅ­b\BhPoef•ª-‘©b¡dÇä‚6þ– i7CÌgê𛲠Ü$ K’eªuK<Q=m^¶ÛGêSn1o¥(Sâ䎱ƇÙ:šÖÔKå}^‹Ç½íIrBðØÃ`Œä/Åëù7ë…¶dŽ³Ù_‹pʆÿÛ5ô( Ñ”¯ºð,HüIeã|Î$F¼³å®1{䋼ˆŒƒ£!+@«Òà«3 qÜû·9|Šƒãï9àÈθA¯">+äÝ­÷†Pô”·±EÒÞ†èMÙ Êfb$iéy¬&'ËHÈŽÏ^¦ÔijWO‡èBþM€dºµQK3ó ×úÃŒy2ˆûþΘ¶ƒ‚"®ZNSSùÃd:«@̈d9oI¹£¦ò$x–¹%_"˜&&7¶tP X¾Ö{ó Ì,a”8Š‚9&cÎ(wÍjðsôk…KÞ¶Ùֲϫ‘¾Þgí)>è`‚ I3À3)¤öGûÎÕ>n58:ü]OJ¤H4ÿ»…—O©êøF‹¿ghx(AJ?ˆÆV­é=»Ž16Â#cI“ãk èúõQÂᩱ/RÅ×ä¶UbÉE ¾Éá`Vqw¦Î‚ïË–ù«ùSçÜxŽÉÅêÌä!{†¤•Èýÿ, @ë¶0Õê §̆Rú½!ÿtLö>†23ö7î)Ø›;úQ7 å…¤¼°µR¤&UÙBçR3ÓŸd§àù’´¶]ºèˆñ‚t~U’L-þh*CDaâSôŽ]„Ñ~’¸÷!²kÄǾ+yÎÆQõZG§ˆøÒÜÒ¥aEb$WGÊ°¾è0F@8¸†:°(3Q–tí»¾^\¬K4k‹ïÙ—½×}â$:7èƒ`õÊ»o”§Œ¿è<øSµ!o7ñÎÕùÐÚEÈãPþ)KØyc=òHsÇG¸o(>™›8^ížCØ@êÚ,®±‘_ój,WÙÞ=ëûéßuqVð(ºA-âé”Ëý ¡uÛ¬•·Û:·¨KvR#%X>¬¶ªó¯!ÝKÒ4¾LÛˆZ»Þ aÎåvçE]¥Óy.¯˜½í1(«çæ&´eà :­M[î>ÑøÞDª“m*s*Á34REr #TÑòe~ Ÿ0œ, 8Ú)ðÒö,wîð*yäô)¸—%wf)Å8óßÓ²i’kÉ‘ªÔm·ÔwU¹¿M±Û僔å!ûM€«B•½K"0Î7š Ð\ú#\öØ·¼ýò;:j1uèë[ìq/žѼò»½ŒäçPãWÊa»Þ®™XëÒ8\ãU9îó7ñçàå먃]ÇñýšÕL|=R“ œ cA|½ÎY–jUÊeáÜeµ¦Ýù»»Š•Þ·€*‚Äj +Rm¢¦ó|¬»«CVê=xvŽ·b» +0vÒ"HgñTrßÓIe·ÏýÞV¤»RQCÓyî ¯)µWŽ“©y¹ãå²pMl¶Á½"9[]ô# +§CL…ƒßî3B·O ÊŠÑð‰ÿƒØ$T³¸qá§Z«ý*éþóË›²9»‘“ÌØöN¾z*RèÍÑ?=¦µ×MÈ>€íÈ3سzKÃ\˜ÖçMA†ÙÔÙÛš)ºªD°þT¢&º\0†¢óowÉþܼ=Ö/£]JèíÖÕsï­Iõ°¬+tës@V2cì¿ýeÚ»¨}§¾CJÔw1j$ƒ”‡Ñ¢/¨*uò½Ïé]& >'çJ9.taE·^tiÎ{Ñ~Íï‘Zò´f%—†^ÿü'gã*ûã]ÝÕzÁ;l'”°Ÿý)̇ü–KXSë)o§æ,dS±Xn©@|ÍØ R?ª÷ÆàÆ¢]á±p?®uú9ÎÍÔ4L›ô1ƒßÙæÞ©b}ßåŒøæpÂHÏðR=/ ߉_“bˆúžøÀ0bv’}¼ðÔqSIU5T§5g‡ì¦äz›nâXjsŸ|'ÇgîâCþi¡Š.–(pi‹âuåUBɽÐÿžþ›!oÍïZ Ûì˲¤hºêH× Kísé|ò‰º€äE´°6,oo‹›ë-%QgŒz°ßrÇa&@o¼2;¸pôqÔnuaл:³c‹^ð./Š«”ún»ëzRsçiïy>ö+´I'zFéÓCåÎ7Â;F(ð8Ô¾r°^G/Ê exx’®ÁQû:V5¾ÎÞõÈ“úÇ~~<ý€¾~<%é–¸¸M,µäÕ°ñÿ„¬®3øc&V–CZ+×£Zà +Ÿ¸WÕ¨ƒÈõÙGº3P¡ÿ}j›c ·‡Ë>ý„JQ昶o€wFqÙ§¦Å8õãNù¶ñ"m/ŸæÃnˆ£ØýQ·‡íÐÓY +˜aâ‚ eÕˆ«n–¨ šëh×Enï#7à ¼<¼ùw¾ /õ¹7Äú¥aT±™Çž!Ù3ƒ˜7+1æ”Ðî2ÿ2-j*Ã>‡aN|t£08ì¯( µ†¦k‹î†üØ ëÔµ¹"ãœñxé¿l“Wƺ»ÖfתmÃå¬aë­hÍ)Ì’ÞfV-xX¹ìJ8!v æqqcVn§ô¦B i`jÑsU\Í ²ä},ÈCÊ +c•dX–¢rTþ¸PÒqc¸f&݆ò:4tð'ëôc.;K yĎߤ×N¥–àè¶vÔ•Ss$Ke‹’`Þ  ¬ªý¸­ãŸ'›Å"ÖQס°Çï‡àµEc%¿86“'+úxuo:ªUŒ«xɱ¿ý$h&lä7@Ê­#uê #†Ù0Š¼£lDíÌüg‡«¹óìM§:äíc˜õ¦œe*³€2©kƒèÈclDô'}<°q™E,W0®á\—r-0p™ÿº²âg7'ü¥3cŠdäÈÞŒJXþ”iè(êj.ªÉiÄt>©Dü•%oYú¤RîMòV€:ë¾Ú®ð€òù¬ÃŽCŒ qñ-ÿ8Ëb&…‚êÚ7ô +NÄ*Ú:và=éÐ|oíDÛ;çySã[÷ªCš.Pµ7s³ÛîÖp@jæ˜úú—àΊœ«¦$l•;2N*§·W(9‹tH÷àsî¢#ävANª´)§]þýÐô›D”×Âw¶"¬:žc ¢ÙþŸmF)Íõuf0V¸ìþÜ*±Ø9ñšM§ó+Ù“rf.wç_V®V}Tžâp­Ä3!Žéû ðÁH+S¼t¥ÕÒf¬È˜·v½•œ\% tø¼ÒšsI-™¼ñ˜k¬•ÊÈÐŵŽ²eµ~倨8©šçöׄsÉ:bº*^5Z7xÔ¢MçZ]WUl-Ê+¡Ót•TŒšÇ8óøº‰úâA_rŠvWŸ’­U¼~6¤ß—Êe鑦勧ØꀾÇíÓ|k3uÿ ®®Ån‚⨂e´–­ ÖÔëkúõ“`–v˜¼gåÎúõ––'‘ãp·ÆÐŽÝöD’v'Cˆ‹ÁVB¶®¢›Ê:|¿h¶–kxÒ†<›9Dê‡^uéÏÐ ×C°¨Ó¬*mêœ2Úø~ÅPÒþ¯lé…C+'Êó„ Lz&¹:ñ¨³¶^§¾cÝßb²ÀÚíÐâ­Ô¤Y +qh’3v6Šðª(H÷½Ÿá eúsGþléð‚«ÉÏ<ú˜ +oSüÌÈàJ&Ú û<ž²ð|‚0r–±Å5Ãc(ô/A,·ÑìE3ü·Zf ú…$¶È¼œË»F“j»=ó&FƒyQÞùET·Èã´ýü¯âYä­MÎ âð÷ý<¸ ´ÆÉ 2Ç£<Š!=º ³þiÏT½rª`xÂ+L™ûº}1{ä-¿§ÖÐt ÓÒßùœW®Ã-5§4³`÷ƒÓÄÝæ‘'ä xë?¢ tmÆÏcïjÏ®úäGãv™Ö´›ýzP«XÞŸÿçï윈]0jÜÅqU +]y)®;!Œ¿-H#„Ü i*(e¯F€d%h3ôÁþŸ\¯I¹„Ï0¬É>éþ£«ŸŒ¾jV«›YÈðaþŨ<8ƒêºÊˆ’#âMþ’EÂRü< Ï6uÍ€¥NgÄÛ&üB:©‘<ð…jLçíÚÊZc~?ùÏ8s8ŠìÍ«é) ðNÙíÓõèëÚNŒºDª¢ûÔ1"ãTö\Ó?\††ŒuÑÁÚRRiSšò@Œ§£=Å4÷…~…ÙŒbÌ.|÷ +ÆŸá„ã,1Å.¼‘"EAk׵˷6À$œi³ bu̬qáöß„%¥PFf|×8ö爺º‰ñ€­òì4ZM¿­<Î5¼æk( Q *(Îúv/àmï”ïsOfÖM ÷"þ:(9-q&$Ÿ[hA6ã_ë.àÅýM +ßi´I3™—7N ?ؼz¹ôÔ÷„ÒåïéZgU…õiŒeâ8YdUä?óœl½¨Ì mäp…[h‡õÖ%­ g{ +¦;~Þ Q7àíáõClØ·MÐêü&åT¥÷âÌ“¥¡ŽsoªY­§û‡Ì$rÈž™ß$÷J¯g ä=ƒ<’‡¡YOà’µÅì*bè>­ÖIÙâá’([ä[îZ> endobj 743 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 744 0 obj<>stream +UB⊢à@ÍìmÿúX»±óÁ&™újýÄ떔ܲÜPáuªSÌmY_B•ßŽüêý5 +)½Ã[ÕsÈ0Yldó~w‰EˆÞ‡7ãÈ"{䜬ÕGݵý´¢|J+<ÝΘá­eo˜!ú`.¨%:^Ûµ‡µÎú„P‹õj~Žµ¿þËgÑð½úïÝÃ\Éü¥HI†¡Z½SÙ6iåÈ4ؾŠJÆÖdŽ¿ÇÚ Ïa¾g»ý'7æÖ ¥çŠ®3RMÎí@SˆN^Ý.\¡ë5†Å­&‘ܺˆÚwn¼×þYbîvó¸r#±áaËÊ])ÎHöhÙ¹Bý%žoÎñ=ˆ϶GL’ãcºŠ? SýõMV,‹&Τ_ðæ-¬õ +ϵ1ˆÓdì;Ç•l§‰Šd•M”•:QPežlÇ.(ÙÀî€×âqm4Yͳ^FOË¿Ö”xL‚½‘„«Kêdù·áýÉÝ$mäJ'Ø7„ +æ‹ Ý£)ú'Ø—V;)§jU­¹¤’òF¿ô¥€éûœÞ6"‡ÈÅÿîû%Á;¢‰â¬È¼æ ƒéµu·c^•<%q=Eîƒ)‡vwÎá#@jdoòm8o¬KõÕ¯ãÎ`£ûø+M"Êú}¸®½$LšŒl}Q›aÝ’ÿNW)Ú^—mlžbÅÉvZ¶Çi{Ú 4hŠcK‰€’³–„9F;¦ª}„›ÐÏFqÍêgÙi¥!$r¸zfGª„N6W Ô¿ˆÞ׆]ɼL ÿjóňðÿI}ç6¸E¢@ë¦ç[¿BÔ›ñ‘U$ä+ÞÍSü< +LJ—ô4ûúJfÎwþ§ÆR½™j´62Yzeá§á(VîÉTäÈ“ÑèUÒ‹@Z Ÿ Ž=ªwh&#OicÓ~CSCU‹Qך/H†öÕ÷.;@L{f¹À+<á:DÃÏ Aþ‹ÊÞ£õcCõù0¿”:VS¼iöH× dÀ¢…à6%‹ÙÍätÖ59 yÐ<à€ŠI‘š®c´ÂÂ}’Ó³7WÛ^¾3¡æBr5ZÒZWwXëkËÛo_šÎ¹>¹Þ²e"æ楬ÂÎYäžÃDzAô³¬Í_tÎ*èJK¶Â‡•ÖÎ[9,Ö&r2’¯/Áv:?‚æ“9©n¨c?—1sÿároc3qw¦¸F]‰jøjŒz ‘Å‘à}”X¥¾*Ê[M¡Ò…U}^ïu¥ü1{ý»â+ª©ÿµàæò¾9ù÷m £R_¾·]¥º²b,ê^¬Á?nx™\ãâÕpEÏ=ʱEÀ»¡TV}™ê‡A«/ŸiW`ɶõÝvDÍà±ã»ÉB  M¡\äA‚‚nå¢ãwXn£¾*ÙI8z•µ= Õîµ5êê¿å"wÏ]B»V·?·+Ns%,+$w1i¸›àõh|:2G´… ÿ§}+:™UN“ÝìžV­ÌÑ„óνG!ù%àú.)ê²G•·~DTžïšòÜ–ä ¥SÑy*‘ˆ‚»IàÉ.•.iG¾ìpV&Š‡ì'#üógBÃ¥™¾<£Õ¶CÌñZÎÚßÅ9æ sÑ™Gz áQ¤+?*­qB¢€ˆhDD#é¤2/1¾6îÜ•XÓaú÷ö{kÊ"y;rψT„¿À D÷ÇÆ^ÜÚ{÷П†Â0¹cþsÒ#Yrd@éû´:‘åX–-kQë{%y5ñícéü‘øS}ŽŠñ÷†œnt1YöÎ([Vó% µY4½¶…C·k– Ç}”¹Ì‹³oµ[ðCšÏKPÞ \…Ì8#‡Î†£šðÙST6˜|Ƕ+ä<«² j0Ö’"‰Z(­Z‘TBë À¥~qO¨ó +ä‰Û Šóœ…½“›^alÍ7•˜¶˜Ì¼ª=?ï‰0ÒÞ…x"É‹IÔ&š…rÚÇ;;XÏ$ùŒqn +K…~j —fJ¨YŸbˆúœëuï‹Ù¤5¤(°Æ‘&V’tÚâû4Ï…[²|¿CT+õ¦ÔTqÔ»ùLìx¨N˜QkSªì‚úw}iˆðë]ÈÊýÙâzýÖs¹íÂPòbFþÍÞ¯íoõ¼$ÈN—‘®át™ÙkÕgá–Žø”< t+?Ôh—*Û¯u³·v¤T{æf#§ûX%¬Íï™Oÿdž +útàþ¼ÑíÒÕyý¼ò ÿN¹Ì6² âBôÒUÇêÆ~) ØíHã#ùu{“‚ÊÈý¥µ´òsh³ˆN <)A0׈·“«"—¾0ÊÔcb›í‹G—ÂPEâ6²žÚ5¹²Ž¤ÃG]ÿëi<«Ø@ ×9â;ïÎN¢ÌZ‚æ9»«Ìaó|LŒoþÀé /×gû}ði^ÏSŽôÙÏÑ)× Ðë3ñYf•L†äЕ+ +m‚i’•ò°2['+ÿä7ßb +Ç¥‘ýèȈs+ãí|Î\ m-Ú·!••é„íju…N—š"¥Ñ÷ +°0| ÅÕO¬W-ù@¦µ%7’]5S5˜–1Ñ®Pùm5õ5»AÔ:hZ+¬èLÛyŸü8¼dnÿR»\µsK4ÂIóFâ’ Ÿ{ë©þ%tßÔõÞ4Syg¶gÌ:C6Ü~Giiatn³Å³Æ†…òå£Všèƒð× ¡Öè¨w„-©¾ÔÌL^#@<ìNØh¬å*@‘Ç+²ˆ¥äÜ#h‡Œ‹D1cCCt\Œ¾CŒÕ“žMmM„Ø ŒcÛxšaIÏ­h°FbN˜Ÿá-“T´+ÒÈ+q‹¤l-w)#æ#Š&­ÇVâЕv×Ô›…UºAü@Ú†³TÄ£§5ôMVóÓ¼ +ýÎ;@d;M¸‘fúK„É“:¦D?왢—ZF‘&‡ÔO5nrU†¬T¾",ùi¼4HAò¦Æ`c Îmý×C‚~c¤²ûŠ-ßbO¯tÆ–÷ÚrA±Ê½€ùiƒ"Ê«ž©‡~0ÈC¬¨ëš ÈJs­äû‹Ù.±‚좒#¿ûtöÞh‘S^H(¨rõN0Lð¤z¯ìJ‹âŒ¬`š]œ•9ý5ð–¥Ï˜€‰Ç‰úuåú¢¦ŸcÆEÈ©c‘î §éœ"M 'NöU/A­Ko¢©” WCf<‚K–éÀ楅M4Ôµ^ÍI®n‘šÐš¤º7¼wó+lëeÕ‡[úC¾³ªYÑôê«tšï [æqÓ g^±éû[€Þ>ËÎÉÎû…a¯·|ÇO¿D¶%aƒu­¼ùOº ôÑôv"J:oB:ìË~¤ÍÀÆúgFB w ÷‘Æ3üoÆ¡ ,[ÃN²«°ö£°Xöß²B¬™SÔµÚ X¹ÅC‡øÓ$Têát³Ý¿-ˆOF.Nò¥wî^ÿ’¯ã•[\ö=ì%‹Rp¬Ó•€^$îi;‡)FWtõ© +ÀYE¶Œàj„0òÓÜEç6ÚÔÂø8ŠË3¿èTª0w‚U¿~Âìê   ¿°,zômŠ2]þžƒ©!´ús:¼ÃÆ-DÆ¢‚à(@¤¤î?¦è×7ˆ¹RPâ±È+19cê‘*ŠØcÑ:l9»oÔÐ#yN—¹@O… +{06šÌ"À­ØÄš¬ÝÓfðb +ãTxJÞJ?ª¤¹T;TcœOÐñ»à#’g@”ìtƒØ`«0žn|ƒö»ÛÉ¡«¶ôH]ËÞ_{BO;ëj,pBº¢Å0;™¹ËtIº€jü tKÏ8ô¾ÁVVÙ5˜wvš¨ú0Qݪ¹¥Ù¥X=‡·ü+*ö§þ®å +Þÿ;Ûx§äÜ`)#‡;«•v x§ê—ý€Ë¢÷?ì‰ÌKkxî9<Æ™Kt¼RNV¡ÐM³#³e‚aˆë¨Ïk ƒ½÷Ò<†º“T‚ ÝÃÀU9VV5ÆQæç$\½|ŸBá)>kr\ñÊN`\ikÛ‡V¥w—ëk][V ò{ßL€pMÁ…K‡ø.„0ÈÌØ =ÍÏcÖ.;f+¢1ð8#ðþæž{Í\( G·£)· +©‡}N±‡íÙ^5I–´1$‘HJ£ =·HŠ]l!6¬6ú\œTNDÑÄë±î ·ù*ÔdxÔw¹¢CÊÍòúÄ:öûŒxšÐæm=)½´ž/¶òµÝƒ  ]PºsÆ +¹$ø%\c}€mÛ*蔊xË'Üã¹=ÊÍXÜ°Ñ]±9kЇ©ƒ B’‰·Mcz<~M’ÇJÀ1ô‘–aEÑw5ÜT^6ˆ-Z¨W¿º×ÆÒ5aÃiŒ ȯªm‹SçÛ£ÄuR[“dÃ_F5]¡†ÖžOíòëwF Ëú뎳ÕÏì“ÏPÛ{„õ4¦YÓØf/–Ñ7–mЃ7^1†“i‡`O>½|ãðßp.î&º´9J*‹]ú•e›Pî.ZÃÄ)SzF› Ÿäû’;]è詳p}W0{m™[Ó–äiWõ§¾­¶¼;²³XÑE™Õ%jN” bÒÕš”>ØñÕÜäú‹g"“WÌž4‹QYDQ?ºRî&ÊUj‘®Æ îšhP32 ù¹˜Lcf*úÖç0Õ­g)Dœ'¹¶ä´7N¦üeD©—c§Â SÌí 1ù]ðÚ†œôÞÈ Ö+<îŠ:"î:pê„Na»vìGÐG“v±ø«ôʬ;‡¦WsñüNÐÿ…Í6ÜÉh Yy tM­>˜d*«5á„o5kQBÚí”­XÜÊ΢Öå™?¤üB_ïÞ^Ä4à«ÈWŽÈkµ1mÿ›:+¿Ã 8Âí¾o}¯íã¨f<¸+ lO·,Oâ8Ç÷À’®qyRnKh\q.»R”édƒkV@ôP®œœ£-ÐyÕ)·å‰YöK%Ұפ©ê%ù· @¿¶9þ)EÜÐ䯆ŽKÇ7®Ü­0 ªÃmaù‚½u£ž $Lný¸PàÙƒ<3å:¾u¬> ¸áí2ɘ1Bk;þÃúq×WŽê +-«5¬wç‘juÑ}½êéˆ_| 3q÷+°µ’Ú{¿G +‘@h,sÊÎ}ç­Ç{ql;ÇY"…®@ŠKwôú¾ý׆À@ +òò ³Š¬Ÿ` \Ÿóô—=x±ÙØë^‚fŎݹ Íc]s£ e¾¹°™“^ÑÅD‰úî6@/…ll}0’—÷+›=+êPl¥ç +ÃpÀæñž|gãnõür þ†.ê`’8s5n…™b¢âv x>”Wt‡Yäm½»Ìú=s‘VG_ö 4þypª—Âütµ€­¾Áíd=ƒÿ†9ë| Ú¸²hls½ÊÑ{€Ïl+à‘úÝîrWDØRÖú¶ê¸:y–ù?\# ž˜R4ßÎeÔÒnëtrMÝzCvYì9Jq¥²;´Måï‰.fÞ®;&“hü(j0sÍÊA‡´Û¥jžúÞ´‡†#š67áÞ÷V~B¨ToÆXókÕ®e[þ6é„÷#ËXÀÒ<¼ukÁ±ò”EǬ1ËMÇÞ×oä7Çóaœô÷aU”ºtÑ–£Giª 4 |ŽÇ. +%Ÿ•ÔuD<趞“)ê(ÂîS_9ÖëÜ¥äx|?±Ð%1Ú3ýäk,QA]‚çJRçr^Lvæè'y„¬ë¬\oçKh7Ö”÷M-kYQíÜ}\g2èâtK»‡oAY²8g¼Ù‹½¥º¹=ÌÚÍÿÆV¶Í…•CúyèÀX¤ÝÇ7{'=‰ ¬„ä{Ìú UQÀÿìø[¼kZ%k6?Mí‡0­{€ÅÀ*Æ{([;‹–ì)Þ²}q–ä;•».ºøÄ>Á— +3oØ.\75¸ IÜëǃIEQ‚Aê’‰”+‚ø“9ôCFF!<Å +endstream endobj 745 0 obj<> endobj 746 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 747 0 obj<>stream +sˆó]‰A‹?åƒòì>­«ŸÜµùqß»˜¹êsâ ×öT£"7± ðÌÉkB,\cEs|‘+jVÕ¿RvÜ™S‘¾Ö±ª{sWì`êÓ³™Î0K‡EÅ®Š$õ7mË£“àA}Èñl¿7åb,á/Š˜é7M,ëÏFñL:¿¶{|œõ$úþÌI+,Ê(œ‹¤÷J±gó"ZÛ˜áO­_1ÃSF°×g$kªJ冲ä,Á¯ðj¢‘½˜hƒaœèXJPÒ<ŠõQÝ.t‘k 쨸@²ñ@¦zBlA)qÓj—~;>þ‡;,‹£Õ¾£˜T>IŒô"AdOĵíÝ"Šì#¸ÜF->0Î_È[t£Šg*BV!¸ˆk3°´aL–$R€z›â³ 9ÀÏÇ| žt&Ãl¤˜$ä´ÌT|€àTXgjÜH®a`|a™ê$Ø×{[+UÇ‘Q#Uü¼øcfq iúÅ[«>ÓYnˆ™˜ TX$e7× …îòÉÄx$üFQXÇçwŠ¹BŒ&¡u9å(Çû½‚»°îœ°©Ä].ª_“µÎêEoö©—æVÿ±q±Cv{ ?Uo°£êªwYöY’©ûåËþûe«aÈBÀj4"ç7œàdj~ +âPyÏ&]K¢{vYO±yŸv¸ûŒ?<œ¤`Y¡¥ñ(@ÏÇCºq9¡¢5‚€ê+èB'§¢í™¢/Z2Je;ÉúäœÐ!Ý? *Å!ò3X(–ïó a1­AØbä&gË–ïù¤Ÿ=ä¶x%Zïðø»'+ÍÔEÅ¡ážµEÏÿâÇÌ•T/sì@z§É1ùÛ4î».Þg6s•çÁÙj÷eŽÈ¾-©³ú¨Ò»8oýÀA£®ÃÁËÚ¦iŽôRó ÐçQ¾÷ïÈØŒXÇ6² y¥ÿa…7ƒïé…ƒ¹lKÆA±>st#ŒTY ]A"D!d:‚´bW@˜Ä}ÖÜNb Yg. .q8Æ]V¬QfJ‘Q ¨øµ=@pð5Ïî±9MûÓ„¦ý{—æU!鮂f*‘J; "8îEæc¬D¿]c³ 3ïˆËRh»Íüå:\e*M¦ÑÀS}(œ‘&´æéXÒìùI\ä2}ÛbÔŒ—RYzºú}ž•9ÀPe‘\0)ŸÆvœþ8Ñé>ä–ÇJ‚ÉÞ?™‰¯X¿Ý4cà W‡ QÜÚþ?o¢öqÚ˜u¬—”ÎYÜ°Ûò½†î à5†H[­çþƒ@m…ªY‘wRÙRÞ´Ñ8õ|¾9æôÍ"ËŸÿ\ß­Îß4Ãbƒ™ØÔqÃZ¡¯0eìl‚2ˆí܃õ‚–!ÏzT^—Í°©+¡Ë—ŒÍV`)¹¯ZÆüË)ú%×ÿU!¡Í +ex¨');‹™£r]ª^Å€ 3M@¡A0)”@B¯­î’K³0üCóAô.`ê[ƒªó…M)Ö½ÈÞ†ý®Å¹Uí$\&ønîÂxÂK÷ö91#}3 .NÆ‚e»ƒôÛXË×ÛXÀÄrjyü£œ‰GsÃQ3h÷ÒZBèÑö~G„匫œ‰ˆ÷ïNÝ |: à/ÿ’%÷‚T®%}ìð't¢˜Ë„à¶YÏ'´¼Põ(}| Àð!ÍÓÅ_¤9Ä…à‹ïæ¨@óBÐUÒi›(î’‘Ù§ùO T +tAý€ž Ús­Ý­ay «XkWGÞ{A•[m7³?Mê°y{¸,©-[Þ燜¤§/é©ÜÍká°:Ju0‡õ¦3YóÎ*RK Ù¡†â³^XÒ !æ» €b{Æ¥ ]Ga~K;ÁÝ•ç]¤ø÷æº!ArÞ6Ïg0Ñ—š$7™´¥Âµv)©zVg¼ZÝÐB2'áøU>¬è|/DZÚí·‚ûn;~R4-5@r¶$‚FÞœ :[þË‘©}YÕýô‰n_®Ni˜Çc‡%dÿÑoYNË0†N׊°¾Sÿ&ç^/3ÄƤ»û j0t4…_v 5ö%»Ò¢~fÊ|hóÜ}®ß¬¢Œç›ôõ•)%ãÅRXgÂSØm0%>'  ¬'ƒ¸×t'ëH¨JEFÈ`¤Q<¢yÄQ•š©ÍÅècÉ £ÝûhÒ[w,Ijÿx˱‘l¼^c’V1/ºÄx-åãõ(µrJï2m\ÆÌ™X›X)úܬxŸæö¶Ÿ ìUºíl(°ÆÉ\é¥b6ÑP»âN“® ß*«Ð=oªü 4쬓n°¸Ž0Á=1àKw²´-AëÒþð%ÍiÓœÒ@^´§ù·½)š{Ρ!RÞ@,UWïn¸~æ_,Ç(ÈÛÝæã#Ÿ«¨A#î94‚ž¥ùëÓü.‚ø™‚‹cÃdd’ @µÏtÉéâÄÒñ/3LUÌ#æê¢ìÏßÓsQ‘Ø-eújÄÝdo®sÌRÚq«ìùžä®Ûß…ê ù~öP}ÆD^]ù¿ÜÑÉ}âz2”7JRœãwþk¬0÷Ö&¯N[“dÞ õ3K––Ê Hò1Znõ7nkF²ã>ºoÈžŒ°Êæ,í­š0ÄË@Ç&™–ò vÕp2U¬-(ÖéOîGïµTݼÖòeŸI|j×8 ùO‰/‹µyš½j5[Z—R‰å½ ÃX-ïx3¥>'"xó–Ó¦‰eÏšÍ5åKGVÞž‘ší-ÿR)hª-€h†«™Ãúm{s§³<ËâÖê(Õl&Kƒ´sxn¾ÊB·ˆ­¡ü'-ù@^0ä3”{{ˆÚ›èû*÷çÍ Ž°ï,HÉùB)3>Q-lËþ·hÒ âl}TREÊQùƒ¡'½éÇ‚Á•säh:ìˆqÉ÷¢Ï$Zõ™ˆ$͇MÕ´ªìÏÆSSOÀ ëÁž¬×y8f#]!•1ó™ÑL«?±â¸6Ìî°áƒ6ïÇs"ÕÝ.(†㵩Pz±‹—mÛLùÄm¥½èìôœ£xñ³Ó¡`týß¿¢ö€Mzbiê&¤½™âqŸåpš õ?y3¶ntg¹XMvèýøéÈ ì §‡6!Éþ\#±k"[H¬ñ’/ØY™dv ü»j\®å‡À50;gA)*Í硘½µZ=ÝÁIqñZèss¤6!Óƒß4ÚkÇÆ̹ó•gG™ò[à¥j#=ëÓ ‚ø£U†V¾¦7i*‹lö¸ó …Ôÿ¿M y—lOqÿ]ƱÕ³Ll2¦Š¦¶bl÷[U™ÕÔÅHŒ@Û齈ÇfŽù…Ãå>ÏÃqô^©¡—ïÑt}¥ÿ(¢`.‰‚]÷÷e¾RRZ®ÞñüfEíåW'ïï—¬ÿûšš"-º"X«NÚ¨˜S@F}]ñ¬ÒòCŠZWðÍàÖX”À Ê)Èt.\m5Ž‡¼S‚;µ ÊÑ|-O +ë×(…¿8%eú#ðJ‰G²—Ë‚Ô¤ü¬ç æÌš&(I34 gˆÞµ¯Éáw‚7¸í +ÞÓ‡ %îûoP#$ 4?¥SòØ´PvénŸsëóùJ¦ç…å5ÃÚé‚TçÊ®lSB”êô2„áVŽqÑÑýtk8(;X¡Xÿq诮2g=ˆp'ÇúåGJ/ä]Ë ³Wú™^|¡¬×ÞÂeûÜBqçãÎû$­gÁÊ‘Ê)²«ŽþvY‚…­³GxÍw®-+h±1/r“9”†x)ÛWyßØZ69pàʧÞZ‡Ò[ªŽ1ëà¡TŽðÛÒâ$ðî´ ÎNŽ—éQ8HºÇêÚc©¶ýä6½§œ'&`S|M‚Rllô/IÓz›¿Ä‹#ÙqÛ “!J»wwÒª£ýØîh›ž¯ek²ETCtSˆ˜OÒ½¢¸{U†stÍö£Ué]ÖõÃ_ùSç ÓÄíTilpPÖA‹ mG‰µ%½±jZ’佑Fî_ŸO‘ 0ÕÙ·[”‡g<×Yµ‹DµŒvËZUŽ™GFÊ3Lm"­PÄI%‚絯ٛþo¢‘âU?. ¦Öë†o£³¥JdîÂq*3¼|æÕsó£RC”é“áš²ê@mÌ…àüÞA'òÕQâŽÚ/t„PX„…¬í, í];Êu[õc¡ÁAýTùŽ½>ÝÖ²aÀYQ­Bû·EºˆçIBJ†Fçñÿ?ª¦”.> +Šà…˜'a÷†\ʯƒ—ŒK ÐØAzi“áŸss®u˜óû#¨é Í´Oöc|µip]þçLÃ5à¹)þÖN0¥œ?“ý\tÜ¡}Ék“­û% §™ÔØ33ÚÄѳŒ[7z•ë²š_6âW’ÑÐTKÑ`«; ým„周l"OQãkәᰟë¢u·%“@“õý£®ëŽ¼"¢m –S²^e7+ +î³ø/&L‰,׎,Ùý’…{½Õüò#pžÙßY©×³¶³Ïèù\Q˜>ã; kòV+•R˜Åš“6žeÄg÷ÀþéuÐz;?÷«¼R×%#ÇÎëÜ#þo)Ò‘-…bgǹZð0;6ÒkZQ{7óãÌv#ojQ£?a•‚•9gnSwzíÍã +endstream endobj 748 0 obj<> endobj 749 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 750 0 obj<>stream +´ a¸ŒáöŠh4ªt’«Õ!pÞl--þ°v>4iφyEøù,û¤©ù¢2á„ý$‚‘`5Ðkî^E f¥¹Ð…‘*GÛá +We‘e5‰½]eudRH5¬x…QB+È©våß„«ü?{ çmÂxŸèpì(…·>”‘!#£­×ælð®üßúɶÝÅyQ·]^‘¢FBÂSŠ ç&ŸÆÂr-:yÅóÁf¥ÚzµÌ®}|]a g]´R,/%ªŠ¥†[ï+õi ?éx%ã0{¸¨IaÂÛq"žÛÍË\땇XXN7€}¤ßÚ1Ç/¼×U •™ó6}­ †÷ùi®eøf ou Yõ¬‚“ë²L6X\£šH =ÉÅÀîÖs#8†m ~e¥MÝêN VcðD•4'³–a3 õªy¨1¸_‚ vN2k«irH;fr”cOjyK:‡•·ÁgùÁä·´º$I€˜[Kƒïmån^,€‹1ä9Š¯=paëM¾MßtCèn 01b9‰óŸ¹R°\¹Ç§áH<Ÿ'ªÓ©ƒ9Ȼۿ•uÔ»ø%ŠB<÷¬™> åJð&蹂ʲ¿!§+0Ô®hÙQ<ÿÊ‚Ÿàê¿ÖðŠ +ÚÍ©åy­Ä¹h^“ŸÍ1ùu•eTøäA__¡ÊµKr\Äç‰YòTrÜŒÈS^¤†ú˜œlÅiøšÚ~K†Ä@/2“ÿ–žB¦Ì\±H$[À’óÙ¤¨‚ÙI4nXΡÃôÜÍ'¬G–o‘üðø[¶7ªLe;RÛ~ªƒÆâ„-ÑÐÙMw0Þ¥} þ•‰¨Ôm½%¸uàþÉÑY‡q¬»-é29e.{ÁoMñ*/Ž% $ÓítìÓÊÆ%ëÔkd8–®È¢§~Ÿ—Jbƒvž‡oœ«!G®«ûñ.mçüî³ ¤ÊŸØ­kÓ +lÊñKK—óløÇûölŽÐ3«Vo>¡Š*⇑ö̶B¯;‰5Œ•ì Ú‹ðÍù)ô¿挹†-[âÓðw_°ÔØJÌæ.Î=¾öקIp€mƒTsg`yìÚA7Oñ¸ÔµOÙ/Ž_(#½ÿ[‘” ÊUÈhøÝÆf.Èsc…ùú{ øìVý¸€%åþhsÙ‚)‘ôu^‚Õ;Þû@R⧴„ñjêUy7hÞ™Û•å¢ý0H 2˜›m¶²KbÞ2‘dJØs~MðÈkŒl¼l£Ì縹.©3ñÔÚ0+e8‘;÷?’è=ª‹“¥Ä«×m†À*Éž@éÞ©86ÀüTSDÔ¼ïÔð” 2¦IÚß‚*¥Ýý&’8MW +Öžê¹rÈyíaëdýà‡`e#Çë]B;Ií×5­Ï9гHXP„¿÷C¹ù¬j¶A4ä§ÖNî›N !ÒûæÎO¸H|sºŽXHS‹<×RZ…ÿc±”+Ö=æï8eXU•f€ñ`.Û8ÎU:t;NÕî ˆOùcªBívñ…dϼÁäYþ +Ó–0¡ à+?·!§ÿÙº×# ùã/'¡‹4 aØÖÕˆM™haWõa5÷L3†›áÏÉÔ”5ßí¬R܉ƒù»¬z>ÁsÍ£ò_8¬¡éQ\_³_’ä’•IêŸì;UÌÜFg\¦œxs\ +‚Yn]ŒL!1nEý˜&‚qð°w:¶k"Y…ë²rq2·_QK9Gdzçî\±¦üm!ò±( }~ì'[/«·²6#þ…/wÑŠü4}#Eèñ3ÐkØJ˜é›ÿþmª‡¶ÛÍ)1Ukîª\Mç:zxp]FÆ߈S!ŸÔ éĬóìLûÛ©÷Î'æ’cSÝZ…Dñjœ»]1f&fi>nŽMAC($'âkà¬[ýCu'ƒw8–T§rê6ôC*”~SE)°}= eë ;ÊÐlœríQæO•ï8¦ÆP£ò\ÏŠÊc•Xò8mÏBž…C!@’WÍ[öüK‘ƒîÜËXîó™Òùðx!ûŒñÏuPÄlÊ×rR…v¥)÷–íAKD +÷ÂBÔ /œÅ“O`Ы €Àw•‡UÕ6N"öÕÝÔ&¡C±’¨:ž‰]§|¬§lÝZ DB§òê~?àaE-¬ÅÃŒG¦;&ÍQÄ`Tú ¢[Ùo¥Ö'<|hù*gŠ¢œ™ÿô3Œ·°”Ð!ýjB-¾tãÎzʆ6´w¾0JZvãöBV&µSÃü™è—tÃ≪#ì-4£^hý™¨y\’x¥['ï|P­RoåáIB¥¬€jAü0&§rGºß›¨gúÙ¦º7˜òâîW¯Êw{›U/¿=p}ú/ž—Šb˜¼õ}ÿ`6ë´àýåÛW¢«€{švV-Í·¶h®QªòÆ Œ•ýƃPå„™’¡}xq´éàÖ¹6æ–íÍ(û3Z"µ Dç‚i›d?5¿×|W&ièš;zÜŸ3ÐØÂÌ›7‹µy±pj‡oSyP‡•˜³Ï¤¶qJýV†æ£^RP‹Ô;|,æÝ`x•ðê8™Éê=b´ðø]NÎTÇËÊükñœ#<Ý›=‘hDÔ‘ë§zŒ›UbI[o&Çí­qº)±èñ6”2fYMœ®¥ÜM¿)õ4hK¡žeˆœ•½ZòX¸À½ô&Ë8?,’fÍc.ù(î©Áá ¿ÎÇø:ààõ çÁ{NNÝBÊ#%Ú;!Ñþ\rR¡–šç‡À–ýÙ¯ôb¿—¶Ìc™ú'ynëS¹d&m…eµêùd½¾ ðµ}éfÈ Ç»W¸b·JÃÕ–n® 5s1>¿ëXêmÈÄ·_ùž2$½a?~…×Í›Y^±çñí«Ü7[è¼2 À’¤"ó®êLŠáª{ÍxEh³éE4@‡â±¯2ÞJ ¾·4V_ä<ã²Ðh€“/*¸{ºNœ ¿Ó“ À¥Ô®{ô•r»}\ +F¼ìõŠËèÚ®*Áæ,ôÁêÐ63ˆb'Ù°ÀÄSâbÝÑ{>ì&õÇG‘=†T›ÄÀº¥ä%ͦ@Þ–]µ)ÏÁ²4A¦N?Òb;÷û§#gÖ•”)£'>; ×»R` ,/…8†;xPv†ZšÅ…Û¯æ»ÖÈfŠ‚⥪*^òbA.¸w] ƒ¿èu‚jƘ[Ißq‰7½vÛN]‰Ð³”]¤[‹Àºx1˜(‹¤ä¼u¸c’mÉ΃ºª­“‰ðf¸ Þ½ÿIû’™Ñ^¯p߉W_h£Ô ¸d”ÝkßÞfÆ)ð'#«{Nˆóîûz†ŽÌï5H˜\ïI5>iÚé+ ÐB´”‰‹û*$nÙË:&=–Êu©XMmÿŸ)À:ÐÖ¡({oad¬¡ôò:è*‘Ï6½Â +š¸¯Žäš +øEcTÚó%ô1ëּʊ>%+ˆ“§á„µ@’±‘ÙûÜ7™þÍÕìðäÝQêpKÇOÕ–˜¾­Y¯>oæð*•“ý––›Mêh¥{yI+‹ß©ûªáj=^Åércž_ìC»gã›æÉ´sè¢1ž÷}KÈ_ã$vN±æÛ›Qua&pÝé[¬€åǾPã»E±ÕÖô,Yyfdz¢ÊJìvÝþgí]@Éð&ýÓÎS}ð𢋕yR¼…UÆoz¾aAˆ{ßrüV9ÑEâ÷²ãÊ,0­_4Is-®ñc +a5aª'³ë²ÎˆÆç¨ç Íb¨ËàÃÚb:t {¸%H>ð€¥½æwOqZ¯áŸŸV×nîðTmGØps² +í£v[AlÓÓ:~œM1@€‰?嬚¥ À áˆÜžòJiÈ”.Ùç©>ŸÇò3„u=˜†3eB:Ç8÷0":” Œ Ü ±à]šôx+§½)<[_vÆl*]p’ßå’Ú¥‹·ªí¼ý¹J× +5@t”[¨ Ôh‘£¤ 'ÂM—G<ö¦ñïŽÎ=±ŸÏiO·&±3qD®Æêä4ò=¯}ÕMAILª¨¯ñ@,ä¹ãÑT–n,L{=vÏFõŠ¹Þšc`ù¡yieÆoÜê³$"ÍѾ +ó:OšU5 Œ5¦k×ö™îóÔA\<ßeè)Ô¿_„ÃvGݾÞc¹d´›ÄN0çd):ŒÅÊÄäê(eÔ^ë»þBOª‹ 1`6§šS´ eîêô(/ж$k5X‰ÆlõF¢@Ünµü(®µÒ5r‡Eµ”¥3û(¶ëBŽ~ò| +Yíñâ_¹YcR͎¾¹k8 czuR,h +Ó^µF=¤ùêúôƒbaæW%@3¯®àò/À¶kføòô×E¹´`¸D«“˜§ërUG΋j, ¤aHñs&ꕈqCšˆ'l¨ùóQ8XÀ‡ |QêÅt$+¾ÐåЮf€ûl-€údì¿è@ˆaÆØkžÌµŸIxÝ1³ðCUßkÑq‹wÍÖعBC˃RoóñÊjAÆûû‘ÛŽtqýè2{sL—YAÖ »Ù5ƒÛçÞ›ž¨L¼7CÎ-Úš Ó°ªU…¬覿«á$îqãÄdzjù ÁÆÅ‹‰^ 2ïñ[cî%ãåè» EÎú„š”X [Çk?âÞÁé<œ¡Ä“ªýÍ1Zâ( ~<™‹”ã{Ž±žh¹5†_8«o#5w€ˆº‚§ÆªUKð…9sý‰Agj(9«€æ^×MÈ™;Zm.®œüâÜÆØ¥2¬“žÿؘYTYZ¶|”sÝïËažtÈáK á¹®ùBÂ9sŠwuV‹Pšç²_wÇÖæ¹~û?±mÃk6x|n5ßK…”¯qIÂ,™¾`Fê™q–#õ€ÛòÊ×_ì ê±Ý‰7Њø÷wÿ•£ ­l¯gq!Ž#L£©¸õY—|e‡\>¥¯{›ä‰¹Dq{‘s }\ ÷ÆåaGw#£Er­2€‰ lÿ€À:TˆE/ KÓóP,Ú­§Ÿá‡ +Ì[¬$vù¢1ö‰ÄHÝŠí,ïm‰-Öha,Ècé7?Ö·0ëùb$'–ž” +T3äùWZ3àNhÍsÝìôƒãèÍúQŠûßfð©töGÜx$CÞ|XË3è€VËÄU{’pÅ>¨¸‚ä¾ ·ñåy.X®Þ2Û•Šì×1M²«4Æ‘þf&Ô—©°ë¸¯†0CÆ­ð»ú»‚È{ŽŒPý5^>Œö¥¥Y2b¾ˆEöò£ëwH¤u"¡:y“IÁ·D;¡و[l_”Rŧûp' +endstream endobj 751 0 obj<> endobj 752 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 753 0 obj<>stream +·¦„“œ)—’x÷@:äÖ”†$dü&oΞ#Ÿ6>Ð‰l¼'xßÎÄ$™²WÓ`÷µw#NãÕ‚¦[º “ªbRy–²šèåzvçÙ¹¥‡¹Ý²ì·¥Ÿæ5Öþˆ[¹¹ßòÙ°N^+Ücˆ„Quåð¦Wÿ[ÌÁ×óMwÜÝøêÊ6ÂzÓ5ãÖ-[¨LTÕqÏ0Œ›f™6jŸamzëYn«ÞWb¦ü—NFË«Àzyöj«â®6ýõ>¥”~ò—Ô²q$x6NM)=Pæ »ðpB¼ªMî$ï^Ås‹ntºÌOûfÖ]5aq?B¸®Ur½øSàZ)dl½ciBËŸ?Ó”—ÀTY•ÕU¶‰ü +u‰-\ô{{ÁZ³•UûY%f{"аa¥t¸Ï\æ&µ2[ã1…ƒ‚é1“½±míTôp"qò¼ö¨T†O'®Ð°¡Äxáe8(¢P7ÎCÂܼ3Ä/ +à™œ!¾V‘D¨jf‰Û/KP¢lGüá3G–®D0¢¿þxŸ®úzqŽÇJ¶ÞjðŒP¯ˆ¿§žQø&Y@ÄSžçñÐ7ÌáEâå +:cÁ¹´ù€{Ý!`²ëbò ! !*}sš„6Ïüº-×òsfçÏŠlÀËäu–Vú¿õaQ’wì@ÖÀ™/Ïe­†ÝìvÐÆsqhM t1ÜäHÿŸÂ8õIØé”rÛþ ¦rª×ä6n)bœ‰u1 éY—Lù<·'ªÜÊàB‰™ñÈi46¾ï‹ßß·ŽN«(WniÍžõ™i \ÙìÙ„¦Õ¶O!Š’ÿl.*úÿ¦ÿQpjŽdÿ‘µû‹ }$)®Úàƒ®u’ÉV ·~ê@­Ð+µfÔêȬbIX `BH ݆ÿ +D ÍЩÓÛ½üé7?tq®)Ž˜°ã…†íËÒp¯E¢½'µê'o*·Ìgû4)`~²hj»µó2Ó ÊšåÁî’Y 7ø3eAÝ­9˜bO°p&#»áãæ+»q;3Ζ8è‚Љ êd㸅Úû„Š&ºž[¿ˆú;Ö Ž(X½.½i¤â"ÍÁ´B–­yÝsŠCQ+±®®-À2”tÍOη{vVè (ƒ¡ZÍQö¡Ò4ÒõÐ…4ÃÖµÃî…‡‚\_cw¦‹¶U¦»‘˜~z1JG=·Î mÊ€Mõàñ¬öë1†ôÿÓ;-¾8߯üºŒõ—î­ãÂÒa3Dˆ¥ÅŒ+Ÿùto"Û*ƒÒï’ÏöŒ4û–0ƒ'“¤*~í}¹œ(5âB âÇÿv}XôIÓPÐ)u Å-Ô*J¯ gˆÕGÃXådì^cU ׆™\£¢.ºÐÑÁ±gô¼¡©åykŠÿN@ô»¥œÔçž:ô½Œ&C0Ÿ±6 êKv»ŸÓ´@{$Xó|=Œ.g–!Ð<õ³å1;õ?€¤Å¦cG²,ÆÅ®/ÒWS m‹«A>šxQß°+êÕ}¬†Ï9d˜Â–V‚9€E  +ÔÓÆ…T¤Âñ–° ÊVY +Ãç×íËš‚£äEÍóy&cÁ §*~ IDg]d‘ÐÎqGÁÒX3š`›.áŠD/¹ãÁGæo]›Ý)ä¹ÈÅÄ›¡¾ E°¾ßY3¹Nu¶z•©)v—óØ!¦9`¯º)Eé†IlFGÂ@å%ÀgØ•»ÙHí.aµg^&)>wô2£±ˆ§¤ààù½%ûæy0ª;*?òÿÊ?Ýía$Æ@ Žöyœ}Z» +endstream endobj 754 0 obj<> endobj 755 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 756 0 obj<>stream +¦nM Y%ò‰?Î|ÆçÿËH3kÔøÄ$ðÝ© sÊjFý"~SòºÆáÖWñ̃Ñ~Ì̲yƒ|+wFßø÷Œîòd|<É0Å6©òhÓ›ï{l›[M°Íùæ·+öydŤj½¼N²?«(ûØÙÑêL x3’‡ˆ‹£VÓŒ”4°Sý€Jñ"N£‡J—”yG$pÕsÅëq‰ëa8×ÇsÑÛ|æXµ‰€Ž¸“âdÀ—Å©(™ÊMµ’QLÛ_…ØB±Êmr€C´ž?SköøŸlEõb|u!‚WQ¾zCQ³_;UÓî2DoâB+ IÊóñ‘¤sÒ¹­ÓX`–X8å]à·Ä¼pÿ,'»ÊŒ4×·ŒÀç¹F¶Ò½i ZBˆ©kŽý=2r»›ºÇ+cŒ±<éPi’ŽYUëá¼±›Œ´M~Ô •€ðq¸ rÆúµ”cÞ­åÎùèI‘ˆ9‡R)Ž6 ™}ÓlzžíAt )ê“‹™Œâé;™”0 ìS£s¯R—óËÕ"®ÿÄ:ÎÏy¤Á7—ë´”N³†®)Ütß`PõYçüZ¼>öÔ1yW.@u¹œÇÛ²Õ +O'VXvVP†ªkdÀ¿Ï…ÄGÉÎu¡íæp„MAˆÅ„¥dxes÷¡È½¸kç 5¥”ƒJ†Ëê¿Ñ¥rÚ¿¼¿R|cêŽûš‘zóEÆ£ÞËäÞµ=.çPPÂèFë¿ZZx¸9w2+þ,ãàa¬Ç%,^îNfÎK¡}¾º(¶YIkŒu»µ°{ÁiMç4‡³íóþŒu(g„A, êÛë'ø³žI»ž5?•xÙž™æok‡tEêùzQí ±šAÿß^Ì?싘+Ð>"UÁcßdFØ–?:ëEJÜQó@_@Û‚¼Ç~ó.Ò2cDf¤`eÿ2tlW”&|sÞ ŽM’ +Üd’ +FŒ„˜œV’äÿ¾~âǬKò-½Ÿj.zM‘P8Ê€%]ÄA6„ü¼›¼ó¬Ü™s|ó¥>‰s'{Š‘T´‹´Mæò—ùZÁ–Hš9þÁz!û‚ªÜ2!Cݯɥùª«ðu'm5³qnAú¦."úl™Šî»¬Z¼$&Ýuˆë^ò}Á’ódY +YšêªHŸsã˜?9E%…4ˆ€ÇŒ?×s–oØ«ç¨2Š`éRæD}SRÞ'Ý,õÖƒá@ÀÍ}puÎÿ&½kÝþ)ï†z² +°3ñoVX’fŸ“bäZ€VHZÒÞV ÷þ'±;~¿B‹àÖ8U2XHÛ´óUÏÇYmròÓMŒïTÐÑÉ°½#»×¤¨(å¾5Ú½É[Z9f³ôž†aª¤b<±ÞíÃ7À +ÀîÝIú3FqBX³èùæÌ\:@4^ïi'C±Lͺ‚©wB=Óó;¢®êùÛmvH[$üç¸-ðT@ž«ß@µm*UVžÿ"±¬&|†ï¾~sæ…¸€XåK?}d­qâêðòø•J——ÛÀ;Ÿ ögY€oþ¡ŒpïÂÃÅV{²Ð‹áÀðªÆ+MXäáá7ì…a¸jÔs…“\ÊjÆFZZÿáèÙ(#Êñi@¼°Ámñ…ý¢L¸†U*ƒ¹ÕY%:œ ÛëZ"0#ÄBÑüÔxE‰ê‰Š_AOŒ ÆHªæ×Tr/—“syã¥sD¸Ã@ó¶ÿ…\EÌáìæO)3KõÝd<0& ZõÔ™úýãeêÁ ­Á·’Z}+¸ŒÛCzÐÑ—Ê{”YôLní7töTÙ¹%ÛCS±¢Ëÿçh”ÂÔDa—Å@Ô$q ©œdŠÀM1¥ +Qï +س¤Î´˜U ›D(VJ<ú*“óžŒ^Ûɉ*ñ¬«ê§»:²5+ +†b;5¸Ò©¡<“ Ž¢ +fñƒ2ži¡ŠmÆ_sNq6ÚXVAÍXÔiý!)™ABÏ Ž¢Hóp:XVŸšÌº´¹¶øÔù8ºMñÎ1½bD·uYû•–µR3éÖ7Ò.â{JŽÛ‚¾æ8„*.á{:l/z:*Ë ¡05EIV÷2ª1èÀù}ž¨9H¯ˆ*넶™Õ–ŠV@ݼzÜïbm’xT{Ë{o£¾ÕÝõ¶€po+Á¤,O¤M]P)+E]òv)íåB…—Úyd4Ž‚—Ïîé‰hïvÌ…€ôâ|ñ\ûÜ"4J¸óhÛõƒ³ÃäB yà“×/{ŠYˆ™'ÕáθjÉ–^Tð@õ9ùh&™-ª«Wg‰è“ôr-VéÓ¦S ¿FIÁÅ°‘óí•@GÎ+?–/ÑÀoωº´AV¤_'ƒÍëáU ô }ÌðÃz½ßRæžó© rs%o™VŽ¹÷c•¥Gµ¸Ybl7Gö©§üQÿôU¥ÌG$÷p³¸ÙLö»jE !Qóé/U•¯ýÔä¯x,c`÷ˆìÃö!SH¿öZuÿ_F¸õ,u1d#‰;œCŹ••!d[ÞönOéoCí³×$ö³q÷úp¾µÞ,ò4H'0ZG!Tz{ô ž#R÷6õÍ»¬@hSÙÁÎUd™6×[^cþ-S—\X7ä?5gžŽó¨?SJ0÷,~C†‰A .ÙCª"#le—ãëóy:gŸlãÆõç®;~§5©ú­ÙwIÃ7R ŠqÈÖ?vîõ­J» p¿ç{“ÉCƒ¨…ì>$k_бdö­ç«ä&au$Ë0ØûÓ1!A­ëò-~8úGšßX™·×;\¿øq×VüOC·­è ½Ñz°sÛ!È_ÐQûËÿ7t¬9§11ŸÐqO˜ ÇI?¥+fî²’§íÆMK™%B¯ÍIoxÙ5"%Q·™i(ÁSþ©Æ ¬«YaIV‰0…hò2mÊ×Â~ƒAæ⺠½ÿ¡9ènäAWçŽQÏWvy;¨f ™U/ç#tÄñ…'…V‡Ý°5²‘¯<ÑŠäøc°‹ØÐNjUp…úT€ö‹@8¬•Ü$‚Êž¤4½P%‚¶ ³9ÖŠ>ƒ™ä “åËÔY¶)ÄÅ~§|ßâö²ä‹b(‚óì£Ò¦Fk°Lâ2ÿ$¼¡[͖맣åáYˆå²'Qžë$8ëÈT¨ÀË’öe© ’¶Ý6Õ}¯ßˆÛ׆‘ÝÉHA²Þý1æ.è¼Y= =ߢùär;¤Çbr7yµ„ ‹‘,ÙLè8E¤Až·‘ÓˆÖÙ˜ÎLÀ@ãVîØPY–)à|Æ”C²eŒ¥'‚½þo © +Q@§d2ñ4v(){X”RÜ¿­¬ãuªW#ÀjHœµÃƒíú>;Z +£ d{óVÙ—+"¸‚—åI‰‹ <š`m±ûÏ’&(ea”,uñ‹O!LèÔþù˜Aœv׳‰°`,éƒá ׫N€+ðL§÷êJ ×X [ª§ìò/ '_aë­Fs£Iģʸ¸Õ{tùêŠã0vˆášeù* JO&sÌGO¦Þajg¡‹”ÕoË.ü¬‡íš¡Q#)£…VÐC<UžÞ9îª ?£ ° ›0­œæ¦ GŽ; BÈwŠ„ÇX±K´$øÞÇq+BâÂ=tHGOL‹)‘ãß›ÿwËW@ÞAôá~@C,V¶Ë‘hL^pQ¨WzšªúMGÿ&g1ê–Ízèr qfHÐ<¦ù +³¹³j?-`@H¼± i¤p&šnõKPl+'¶Je•6ÐVÌŽDÝÉ4ÿJF<çy?ÐoPÇËAfq`ºØ•ðf•Cï±Æ$mM”Óaj*$´Ó $:=_«ŠRyz¯z»YM`¾†è:\b— ÷Kõƒh.re!â«àËïßă 2«µ $kÛïçpdˆ¦X-f&Q¼Vˆ“XùCù"€$ñœ.[÷4Ò½ct]b&ÜÕ_œõèjßCÚi0\S¢¥‹oæS9Ôë•¥&+ +iF:Ù)á _¹ZxiV€ÚhØ}wÛmL„<±õÕö>½Ç.ßÿ& ÅeY×ß +u4¸·' ¼U/Ö`öã°bšcFUß +¤¤'8‡`.ÑAÒT’r¿7j²­¸-\ ò+´7©Ìܦ Ù•4•ãªýYì­†îsÍ«„ ã)–N¶Ç,]¯t]¨LójuO¾2Jmïä÷Ž¾Ÿ Žl”Qê~ +endstream endobj 757 0 obj<> endobj 758 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 759 0 obj<>stream +ÆMÌçÿBÅÁÊ ¬ìŒĺŒãL_Ïï#˜á”aÉ™þçôŽE›½‘gËMç©1µ§Þ^/Ø_è\ë5¾ªŠø €8"°^4ôz:㎚VÛ"<¹Ë‘`¡2ñV»ÚUQ½è]½¨’Ÿ'C¹þ¹ ³D ·lî<7™:sŽ$gÉܯȘ+Ÿ;àù&¿NÙp–5bLELU<¡“J2:Z³¹nMu>èI¯ëU‰/vôZć…©t«=µ /)‰Í=ŠÈ6$sãµ».³3~R:©}L¨Ðô0ÜóU®ª|&ÏL}‘bVCúù pˆ˜B…ZX÷*Mdy|¡7äxc‘àɸÒmnÂ’<8ĺ+ý™-1§½k +k±Ï[„JfŠ˜ô’_9Ž!žð~£KV^ +©ñ:Äõßúñ4nƒõWYR¹@,¡™ä™ÛÜ›Kã€ôe +ëHÞÑ«ž~g¥Ê¹t`‚Æ`ÍÓ?Ökߟ۳÷‚ù[+<Ç4ÅOÉ› `½Ó,9lïÚºJËdØ<ÅÄG^¹Ê‰à¯>ðí¹-VÛÈ2×WÇ9‰ÁÕ:G.ÁÀœp¦TN•é˜ÕHmÈ,µ&ƒÖ=Ô*M"+ÀT¾µöt³¨W‚ U/WÚs·¢õjªe/oâ®”B°ŸÓE%Û—¨ÃŒ§Ã%JóZ™.‚žs’Ì’s®>±ß»ýö©.tºw&Ú“¬¯é‘¥ H|ÈÉ*±6×k—Ø›ÅK·«(ÒK·)Bf‰U0ð†ŠSÛBu,Õ2-athè‹É…Ò˜ÓiY½Á$¶ë?×:æ…ìC_ÚQËÃGEOÀUN³Óѱ“ºÝÙוl> ÿhßXÝÜ&5E\Ð2„룛'ƒóJìW(+©ö˜’iÞIîm4ÀZTùå ¨Œ¾.h¦ï2|ÑÛSÕ v¤AàÖd‹@‡ÚeMâ°N‹8„0?>ÅQÖ–tóz –‡nòôÒ›™>É„N;¡U©¡K…ìêJ-v@Ç×Ì%Ìä.žˆžå"þ+ëpt¹Ð™ªI¯’ÄJgºä¯ýWâIúàâ¾÷q›J8®7%} ÿm!˜¶n5NµÉÉ ;h3A–„ѵz0 +@Âß±<Ç5dör®Ll@ImŒ ]gãÑC“ëš½X ¤%-ë¼¾‘}4¤€ÚÉ×6’2Ç…P€Æ~2Á¡CØÙc¶±‹‚ˆƒp‘d_HÔ™ø?9ï*b'*Ãk5K ÊU:xZÚFÐЇk{’a{ËÏ_ôÑ5–öŒï” LÚ_Ýàxæsê¾a…ËÄ8ÜO³Ý‰]lž¨;˜ð_ ;m^9Ø*ƒk£!á®tÄgT!f™n 60oÃ|Ì_PÆ ××)78ÕŸd0^Á_ÞÄÿŒSePØŒ„Áq°ç¤ý>Ë{§Z?mH+y4c¿ÝJQAsöN¼mÄdVS'ôx˶úÞ oŠ?î"o³&~çÙŠ5˜´=)K˜Öíc¿UP±AW/Fö%Zw”žÚí¹¨fò‰ôÂ}îuu\šÑÖÏ4å!%õwé=ø³4ÌÂëÿÜ„ÔKùŠÝ™±q• +­ŽÂ)–„³ù*Å|Bz†+}¤//ùƒ½LÒ·†Ð„l‰Ðn‰Û öA¼­‰éûDÙîóg ÖSª¦%µ~-=CnÞ´åà«ô.н^6›×^lnu˜¶÷âD<ú½2[9«Üàèi /Þï<à²àÓÿz0³UÆfUf’D‹ó„•ŽàžÈÛA‰ð6à f8Ù¿‘ë ±¯ .eèÆ¿ÒìœúYÜ7tÿÅQcîéϧHÛoµºYr  Kë™1º?9†Þc6qxBÑ'Äj σc +£anÀšE§z4“зb?cÛÖ?â8:VÑ9 +Úhˆ¿ ý<ÏF¼¯¾ÉËYP¶ŸkSÞ9ä¬Õo(·Ë&[Yãþhš‚àä53-A† Õr%,ûüÀ>¹¯¶,•F"4ÍÂñ §ÀŽã9ðêã¹Ë$<8AlŽ®@µÁåðç1«I½pâÕj ån¿If\F³ª_ªÿßö(²~¥ Â —ÂK2€3,Èt¥øiü±4ñžéï ѯÄâ;s:8u&…xh“),nq™,l¼‘8ÈVò3¬“ò ¼RÍ¿kƒ¢\G­ŸV»ÒS2p”»Ê÷Œˆpü<$®n§²U³é•ð%±^3×zÒå >0Ñ/Ûx}€üˆ¦„pÑ©àÙÂýLˆ11XŽîÄ£ÀT@ J.v\m<;¶1ýL»å¦rõÁÜ‚ƒvk !3Mr¡¡0@U¼‘š©ïЩ‹Æ=?!g„-íBܾÄ2-ø?ªfÒfPÓr|¿Ál~_²¶óúÄŠnF/Ĺ¥h¤êí¿J|ýI5âÐ0möqDÆä'bÊC͇QTÏËê'$Íÿ3ZHül®¤Kf¢Ð)|ïJ­ +¾x5Zܺc,Ž€7ûN;)ØHRY£Bfo²Ï}Žc8†7Úíë‡Eñn2†¯ÄuK1œ*þ^K©÷â‹Ó­÷–3y9=Q;‚1®äÜäHSÕ-ý:ÀAvá³ÓÎfȯcRȲàEðŒ‹éJ#×ÁQÞMÑö‰p" †´ÍÀ%Y†C £Z¤8&~¼>d/±¡…ÙCl˜ÁÆúÀ`ghîVƒ€Œ@N ‹?OôqbMöŒ^øŽnkˆ2»ØÿΈ¢b‰§Si Íôè!ƒFŒÅéñW1<¯¶Éï৻$‹YŽƒï‚,(9"y"–· ‰ØÌ}lÙÒºy²ì9\Î`®û>wÓº­þBÂŒg>Gx1纺Ïæ ŠãxØ2vÇŽ¾õ5º#n+’Á=k +?¡äjÀJX›ÓÊ8B+!š¢õ+¥ðýÉü–™0®4`iÝ~—JoJúOf–Œ_çJªàƒà±(¤zÙ¢AK¾<òt +ÔŠë3Sר’3Ç-´l +÷þ(ªß#•8~Qtr(ƒÈè}¤q×Ý÷J¶"BèM©mÀ»tÄ‚0'Š’`,ÙýQ$D¸Á©þÅ›á÷2›·d/fµ}¢^ÓÜq›ã‡ñ0¿„¸2¶®ñˆ¡ FØ,Á5_´­ê£Ó½Ž³Òé>@ÄÛªÛ`k¹¼eYõ[œåXÉŒO^úÅU$dEò5Ï[&|`ˆ³^ª<ªõ¤|ˆBG”ÁÑЧ’}ÙøÅ“R²1i>FØ¿R.Üîù¸ù\ä²ÆT$Ks=ÓŠ>.÷ì€Ésß?T_H©Äk‚bq½¥¬€"|)Ò¯–[yªÑÉ$ À³ea§ÕUçŒMA¸?Ã<"½Hinoë`n4Þ0C.òÅ7Ñ&c -÷7@ã#ž9‰â~§ú‚†%Âæ0·Csw(–p^ÿ m•’–RgÈrz ¾ô~é¤sk ÉrÿôÎCškúj˜g-mûáóäùP“Ce!Þ2¾§Hµ£0ðrò,Ö¡I¢CˆÝ,¨„Õ«ü°-|7*š4Kì ¦Fp©?ÞõrÇË2âÿ¸iëѹ†í°/æÐ ËWSeÓÉ×;©$‰!ë¤ëTd³¾¡}+„Ï=Ýu¢³¤GîøÁºVqôiÕ\“ȵ¬03Ñ“¸Ö#(: ª_ ôú §qàé}J뾶;wþ42Ci4ÏFãuF«tÔ¸[ @ñuÉÊ‹FÙZ} 3Ö87ƒò…»Kf êÈês«Ï9ÉI–˜«EîmÁlã€Ì|zŸëô’Ñ„_VUQbZRÁQ"ÏeOÅo*+m§½7{­¢åÓɧ~JÕÀ~jú–^(…S-gH_±-88Xz9FصQñѱ‹è’"ø¶>Eÿ]PË/0 ¯m³smÀÏœñkg°—ÆǪ‰š‰Ù6ï +AÒÑÆ›ÅDf+Ñ‹k +^ + ¢ä÷­‡b9Ò/+ær,UPa°]OÐHkŸC öƒBox錵Ҁ]›[nl£åÝQžÓ1‰ I¢C^v‚ˆ\Ñ"‹Ô†[¢ï×!<¹“]挋çvVsÔ Á1ßKVkfNI„Ë3ý?ìÓ”Òî-—Ó£Ω­´† qa•1äÝ>•>¤Í¶GPéóócœŸÌf%y®Ò­º°7îúVàÂR !Î66h…É'Ü®Ý[‰ºöæ=?qðI½ï•tQ +°»if·ìã¶ìø;×´iÄ°Áë” …¨-yCʸL³´Ÿ[„DžÏ+™Òê]#"†Ó4‰›ç+K˺"ßd_—:Þäµë¤Eƒ/Á:иê·P]ãõ­î[ˆtÌb¥3z¸ùÀhV”!Ñ¢·"ùL\.8>ÇBÀ+m3!¹Åm š æÛ +mä¬!C¥Xñµ•Duiú¬W"íjÉü u›~‰—åIƒ·Ë>DÿÌ”fÅ.F ²8Ö§Ì'Ѫ_¸°T¡6š)3稜I-WX¥“†ºxÿ09þÂÇi»ø¼`Þþf›ßJ°ÀÊ#q^Ã5i—j5ú?† +endstream endobj 760 0 obj<> endobj 761 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 762 0 obj<>stream +/f5¢`Ï +ß!'ù'”]XònÐ̃7ögš¢TÊÍœ’§%eÎç fÉ=›‡dÈ}hÌ\ŸŒ‹ü^Z€-.G7ŠÈÄg!bfêqÅg„îY‚µ2˜¸rQYÇ#]8OÈQ•XJ¼ôxvß^§·fx×€®ƒ¥š—'³„I?€Nn½[ÿï‘9rÍýÿ~B$Y*²6sÝ„Ñv¬Aè „¼û¥È“|ã“w²óG1BZº—Ú1Ç=ÜúÒß{Ø=?ZÒaÍ+¯‚êE‹ç´mgûgìßvŽÈ²`oÁCÎX楛ÒÁyÄ3G<¨|«èÿTYκ<Ê~Ôj­M¬…Ñí‡7{{±oÒ{=¿}:•ÈçÈåEmtêt³P7i’ü:Gãø c™‡ñ#ÅÀ ¼TâŠ>Qèoµ+²úÑéƒçyéñ·ïÊ€R”a©ò²¢ÜæÂÆ ‹ S$º½¸smÌ°î3ñUˆ?àöídDF3…%[»é•+!g‚pIGÖ6¤ÁØUr˜zhÐlÄY5¤jpЧð­¢æ‰¢º_òJ¢óÀ;lñ =w$%jY³º?¦­±GÊ*ÐJÊÐBë°×u†-Ž{Ož>Wiç(÷¢8̘yº÷¥¸öUé7ýƒ/á +€xl qüXzö!¤¡èÖ€0XNwWŠ­ +k]úÃ䊩 Ä…§©ý~¸'!‘ÃôS$ú\}SEÉÈ0@íAÅ/•LYšE±xAGPŸŒ ͕˧!Ï:1ê5ž7Í£‡5{Šþí]8Vò›ÖÞW{¬“i… µjYÞ!jŒÏ»Cq­I;¡6ëêÔجˆ‹gë÷?šfl ÈÖ}3cÛ«Bâý—”¸©À¯pqÿHç̪#¿²C•„±¨­°wgX¡w©½:º `ÄlリÄÔÕvÀ *S¬ÙßPÈ‚ýŸ:á‚ùyªÜfe¤w:ku~DAr‡.‹Ž~å{V/Y•­Ói‘…g†Ù~ªåCõv °U·NJàÒß{d¡ØU¹Æδeo¨‡n{ƒÝ*$þµ²÷z–úŸÐ›åÆI ¼[iÒWs0ܾhJªµï Îhgù°2äîbÉ&hÜ spÁû½¶ƒ56hq!4¬iGZJ¬Iôfé{5¤jìÖ™"›[ç^OÃN•@\ÂMäšjJ>[âÃ!Ûx¬Ä*±¬ +›¶³Ð…†eÛüDdHT¥ *¿íå&Kø'v²vÂ-qó­%AkË@™è/÷×ÖÝçåŽ,9aî´Ô48Mó’ÌY¤oLÛ(cLÐu2Ð`°¢Ø£–°M‰Gè—ñ {ÙB¾Ë“ELRÓ”õ›öÎRiŠÆªóŒ‚·ŠÇ×KÀÒŸ4‡Sâ7­€Ç½<ŽÂ-ÁD?·•!k:oå‹ gOOú†ðJ„³]IõÿwUþáĹϻ¨þaÀËÍOmLf‚nÅÀ§¹N¾âKUÄ+ɵ¬åƒÜü“šCi4@UMAíˆÖÜ9žÃ\jÝÿ?®{^JôÅNž<ŠØ?Ë›B‘f‰F Bfµ&™5yIíÔífp¼¡ Õ,ËKï-WÕÂàaÝ™–÷ÜíÁ@T¶,˜ŸŸ’›-`“aì÷娜±C? ðöT—! Ѧð-ô”:Í6ž¨ÆCÿ+à³¢§¬×OïÊ_:øMY4áâ¯ãPù-Õ²i,e[ªÕYãðpopàÃ,‡¿žìÚ¼»ÕkÒ~äj ‰›×înÜÞ†¥ÏÔ§¯fpš¼~’W‘rMœûû%³^¶„’…Û¿¢þ¤ŽN4ÃîŽàÍY"#jzZØTž> ¯ÞLMÂðU’M'þ®ŸÍC‡~0›ßU@N_Ž†ÞzÍ£´ÂƒEÿ@?ËȸHQ%E+;Ƹ昅· °ÐŸŒèŸjDØØšº×¢â*”+‹$ +ò3 «úR>Qd²°Ø[ß“‡Ò»¡“›. +Á§ü:!6n£ªsŽ q‡Éœ×Ⱦ²Ï‘Äì–~»lœ,ãuýkVgÆ¿.ÚYÝû09<¢uó"} ³Ì{ÆkE«Åð:ø,ä>È  ¤¶Ìb×éÌBw÷¡Èî÷<‚Îä| ÿô6Õn˜}Ø/=¶¦t)"›ö‡D-˜nÓÕ£úO¨Ê W]í¨ç<š¥¢!î%Ìglè8Ä Ö#•ïàM\”™˜dø”4"ª "»öÒ»­£<—þkr§diñ¿Žd^ì}ÚšçU‹ …Ü,åÆ{•†W±Ž*³êíµô—‹Q¤Ö1´;³Œ¹\Ð^Sbeˆ&âž—€Ý’%þJ&ñyÁq}¥HTÿ'NËBÐMS¶ÃF6ØñØDóÄyW˜–Ôu¼ž!ðÌ•Úëu1ÔSÍVæ;DÙ_k©Çü¼u ’ ¦iƒ¤ ñ~?¹”2¯zƒV<×zMË`¬PMæF·upð,á©5Ô·rAýÒn'¯…"¥­$¼lÙÒ-Eãhð8EÒC:±÷“R©v€yÏuÉ= ';Uæã‚©Ëñw7y¿Jå @g.«%Tਬ3]1à7gÙãXÿ Òã7À˜Åä)}HrÀIå`¥#Óªê¥6F“Òm…¥ÊëÎNS1Ä_ôÚn…+•ÑV8ìHÒèæà+«nát‰ßÆÄ„@BJ3}᜻ðRä± 7ì_nãàÞ¥ÐÕ6­n]ŒäžÐ͘)]}Ù¥pbN'Jèƒy¢ùÙ±™ñÕi~QŒ\ÓýìbŒñ½~·üÁßô¢Ø//5Ã&›Ë{ýÒ˜¥ÊÏøG-1jL):4šÄ3¿ +ã4-YÝOr¦_—|„ä§r­ä¦´LMÆ ¤ +v±¿XàÞÐQïöÚK Gž7Êp-’“M½/ö6»oìCêÏå•Ií —Àª\8²¤äûº+,™ê'd¦²^Ö¹ðáÚŸ_΢B½eÅÏJü‘É¥nAÃàò8~pqÅ"À;^` æ``ã"³¼JÍ7q¦óÙæ•eÚ‘a d«Õ Ö†ac®å]ɬSÖS…wφ”h5âØÀºÄܤ®ª9Î'%gБn‰ZKy¬ÞΉ^(2ŠbsWòî²ÐC;io— ‰9äyq‚ONf%ÍJ±¨¥Ñ)Œ“ÁÌÂ-þyC¶1@OºLú­¡+7g¡ !ŸŸþñBYÜÂ`ýá° ² +Ô5¿:áS=6œžý!ð›ÛuÛšÕÅX˜}œq{øRôÕ™¯^ùKª¿’ú“Ûòºþ@¦€T9r5P× 1JúퟦãZÕc•Ë°Wh–†è~ +ךƒ±Bÿ\N[óùç›UM:žÕ–²Þì‘ +endstream endobj 763 0 obj<> endobj 764 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 765 0 obj<>stream +Ä?ªok¼ 6[¨ö‹30ƒ29æ}sé³7aÔÊÚ0a”0Ÿ5–›×L?¦Íè¸^œn†.Ðè]½V¯ôCÛÃã÷ + ÂiØL¬·jˆQxgE¢›ª~V)‘δdÜÁøâ-‹LM÷Vz(ïì ]dbºøŠvZ¶èW°‹9'¸“ â¾äÖ…¶´À¯”vØ1?CŠñúÁ˜ƒ½Æ*Kœ®ÆB˜+匽rA×¼OÁNq\&\G<œèï9öŽÖ„%Y/bOûß¿\»_Š¶¼ôe¸µ¡¢ò˜¹üÝH.iÝsæý쿱!¡ˆÙ3ïkMüä ~BÂMºA#®Xÿ ÏW¶ Љ_Eã\D»ÆQ¸s@¶ñ3µBG³xÖn)ò´]èe*àë<˜Úû Q{Å`5¢Õøþ&‚åmž©ÇÏoiÅ/–^ò‘ ·{=içê6WD ×Ò‰RWå”ÉÊbr9v¬–‚ðâ»#ÎpÑâo7¤7Qi; 7øߺèl7Û”DÊYî?3O&°>›O ±U½ˆq+`ÌÂ*åÿTV1îšä*OPÒô!â Õ~–ᨠRÃqÁæQ*uˆ¦%ŠÜ¤B.h!ƒ€ÑE¦<óÐŒQxp0À„áµúHÛP¾ûÑ®‰ZŽÀæ@ã{ ÷†ý0ñ« Ÿ°Ìæ‘Ã„è ›ä…qGO) /Ú®ù?b«FÇ¥š¦!‰W»<Ù]u~~­7» )‹¦ÕæƒXgP&9äU§ÇPD̾ ú­^‡+4ÄÞº4-¬uؘnæ71¨>£@ ùx°ƒäé0E ’sQÌ‹n$ÙãeAr€r +ÈáÛÅ<Ђ'²Ìûà˜)-OÀ#¯– à›„”6›I¤$¦Ð{2§ ׼ូ¢³Õ¸$µv1K²©nÛÊíU–~´íÅï?ÐÙíãE"²Ô³…k‡²|gV fTêË¢ûo0T?Lj&Bi‹ðr4¡»,½M˜aeU*òs*-_Í¡l# R³Ñ>CWÌÂZºPcî‡N^.LÙÏ$´®2â;&]Cç›ÂIA-D± ýFŒÏ:Sk¢È:g*DÎÞ7Ô&‹ªî‰&Ç´±Z‘ô9dÏNˆîÈÜà*ðÑI»ß1™e}·i&xwBòagt„BÁ®1¦­¶YÉ©ƒž$Ý=*„p¨ R@:h6E¦H.7ï‚-Ôîý®ýcnÐbÐtF¶ f´1Õ Ï=} Sx…’·1žä¸éU„%íļFÓéÍER@µÆIfåª`¬È´‚‘â¼B£xwíÙž’¬Òg¸Ãü”€WeBHN›Í23™,/C,ôÚ׃üLjëÕ_ôIr 3Â]œY¾ú²žjE¢Çk¡µA…ß)±v=Û8é~˜²ƒ7Ç›zgž šˆžIm¬ri£jl÷º@NúËQïÂN<ìÖüï6<Ä´Om¨UåHb”{›=/éO•è'‘ûÕ|Å(©o¸e…uñZÆz qâ¯é?Ý‚è }Ði¼YídýLÅj†‘œGå+m§ÜçZ)ˆÒ›r.¯±¶·àÛX£_€ƒ¨Ó ÊHx±y¥ Ï[e¯ÄÊ¿Â,u47n¤]0E-6K9·^Y·°Š$bX ÍKqüeÈ1|ûþ¼Ç/HýZÓ OWš>d‘€ì2PTå­z nÀhÁ’,ÒŽWFÎVê©?Þý ÜãCÞ¨ù¡«§í¦ ,¤ågŒ¨¹Â;!ßJñ•à‹}a½Y²³†u +ŠSA=ÞBx W{šÜÞá-Á[¢DÚìrØ6=+ku˾u‚öÜ¡ ž}|épG¯ãÕÑÙæQˆ¡›Â¬7ºqêâTŽSÙÕ„ÙuØ [†Dù ï’[¶ó§ó‚X>±2‡ôÄN·°öQ%_Ÿ¾P{é+èe‡ÇîYà&ý/¤Î¦†jàØ=óuž++gÝ´™I);Üß{˜4*…¦U.j¦D蚪ˆžNwŠæeÉ—c¦‚qRª–” .k„.©³áV¨ÚgAo˜€ÄÍ>HO[¡ÎÃÚsÆ\¤Su%5£¬Ž“ɲoÚØs;½“iœl=õ Nَ溹†£;Áß3e5° +*ëïÖX$±f¬Ãy³Že$|«ÌsÛ¢:Ȫ€ +NÂß347 —CÕäñ˪Ýq*}iƒö4Aó6w äF³=w(J´Í“h^ö–ÐÕmKæï§:l¡ €ºh…cç© Uj™ß÷éÊIŠ·$ªÓ✚ïV ²¨„Ñ‹y˜Þ2>«d\ŽÐühµ¸®:Uð¸k=•Ä³Ml+ƒà`3½)o[JŽCçXvkÑrL}õ^ÃÏkAÀ1ÚÃ*Q£$¼£ƒ‹ç¥ï½ºß\Ì}׎ÄÄmM|oNlÇ6¾ôŽL<¹ÜJdúp³!ë›þ …ToJK©˜,Ì_’ZîÚ +ø6ÆKý ¥ùĹ’\Þ…©zùÄ» ¹{ñböDMoÛõýìBGÅWÿE4÷‚€TÛqC%2)íz´çÑ^»y»n6%ß\¬~ ŽxÝIlò›&æ ΛÐ&ÂmTvÈbή‚œúd÷9ÛÏïv#óÏK,NsAä•r®Ö¡4skúèò'Ðʆ!Å 7q¾R Ó¸‘e)Í47±]Û%p*Ÿ>ŒqÊ¥W[˜?×.š;¬®¦ U` +§”ÞË´ "C‹ž&Ò‚èuúòÓm‘ððøöÓ5Ëõ¡ÓLgX³Pf…7>$•K›ÈKÁ“¤=+…ã ¶¶g_tð [‚y³“ëY%¥´Ü¼úÁfÿ¾Þ“õºT÷9{«Ý„ý?¹»Ï@-t1kp•W0æ W>£‰G=C“õ­+T5àíÞBã2ž±Ó⟅{’³ÈUý:?j뤺Yn_ž™9ü mZÚE6›dóE4[dUâ¡Sb·³ÛkôíI”¡£Fp+õ§Ñ\â`Gq %VD”ΛènÑÌê*6cf©ÖDdô¿ïŒÍwæv÷¢Ï-?=‚¦ç¸ÐlŠVºÞÐÑt&¿ö*cÕ®Mh4B¿ˆL®!ŠBžÿ:ï]'£†£±´Óbئk#ž-ÇŸ„Ê@n,C2³†ÁM2Ìw}ÔÞÑkV¯Hzõimù î?Œ<ö]-×;Íg Ý‘£ëž´À=’/3.¦zûÄš›dDŠÞ¼äd né#9{F:)rî0ðꨊ±š˜¡¼Ñ_°«Â†vÇù€Ò-“ÌoT †ƒsâvá>ǘñK>Fó÷3 !K?fE»VIOÀÆ CŸg(.þ4å³7Àd[üD—ió–Q‘8q÷@Qª%P‚Î-¡<¡f Sóò-¡§ÂŽfAŽþ¡|×Õì‘j8çÿ `ã +éšu€i/϶,æK|°Tû9n*k³\HÅ:gƒï¤ÎƒÌ¬•§ÇØ›3078KŒÈçĦU)/ã­gÇlM÷«×TÆ®îóYÙ:MŶ^ +endstream endobj 766 0 obj<> endobj 767 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 768 0 obj<>stream +; ÕåŽ;†YŒ;ÅŸƒ€ìß)«°dP9@gwÖUÜOPÊ"^ÊHÐÙ–“DºN X:>%ÑŽØÛòš‹d^Åäô2WÛ]$â§Ï¨T9yD`ÅW©„Ôp´îê7ŒuÓ qEÚhÝë »}g×H¼)²GWJF§–4v©ÝÐ@uVPæu’%¸ Þ^05ÀŸÊd빈›–<姩Æ}L8Š…yÉx–Ó°À\FM¹_t榿¬µñ°í_ 2Uf‰~¬§Mb)}ÖäÉ“ì…NpA/%Þ :RÔ¡*po4òÞÇ® i=}$8CRrµ¤0„*T\¶•t÷ ±œ6|]Û0§Ÿ·˜åªØ™¶ë“ð׸˜c§l³éƒïžLxû¢KàÛõ ½:V&ŠÉÜ‚ežÚ¹O6}‹²wõZ{-¾6ÇúC–4¶¯³:ufE.DIc© Ë×G†äŽ%^Uéj˜ŠŒâÒ\D»GàXxZYÍÖì(-÷Ú,M–H¬ìäÎñÒ‚?QÈ}ïSVÐÜ“O Ò™ˆE¼VUŽvæ¥ù¥‰³{aŠšÔ©YpüÛ@H`Œ­Îç) ÙsØñI97ôëèßP9ÄäB²dö´-Æ€§ËòºÊf4ÇíË\WL¦¢÷ÙæVÝãÔïKú'vÁÌ@U§Ù‘Eò)”Ì5Lè©XkB¨´ +ý®×ü1ã#HqN›æöOО7oO ø¶`¡BÕL@3³ºvüÓl¦%”ÍݾlWväÜm[ï…îÛÃi{¬Ôr‡«l} UÇ{ ]Yµî³.R.\^£gáPÇࣷ\¦xþBÉ’õí}5)'µG¢}Î~éάê4Gð8·7«3}µ'bëj0¸,›0Rý2÷È=ÿe˜¾æ¤Éï,·^Ä}Ó놊øýjæ\Éœuݬª©È†ãÔ‰M_Û³!É[ò?”ù!C´@¸=ßÐáZ·°!|Y•­¿ ‹Ë=–¥Öj ͽpõ0ø8*HR¸»¤æUãþHö«ø˜mwMÄ™¥ÀžÖƒN“‘:qSÄÛ€v˜(YÝJãÅ3960SK0àI¡2òÃV„i“ð¬•ÎngPV8Q§âøǘ€«fß³I~@ó¿?å-„á}xŸzÉ7™÷‘ú©éˆP"-[5{µÑΆfa¯MÆø­iŸ˜‡ú ‰Æà¬øc¬ÃZ\ÔzÞ„¼óM$ºÈBW¾v¦þ¡0ÿE¬¤9 !±ý JÁF¡Åm½$ƧÙ2¹©É¬ÃBÖzX8¤ÐÖ(Ä ûâ%T|./ü&öNÕ¥¬ò‚jNª—–ѹ>f–RnW$ɘo\+Pûu|ž/H—¡¢‰+xëtŠ9W +rª÷Û<…ÒñR55@ïã7£A#G…LÐèI4÷~®¤û`‰ÂºE¤¹ï:¥“üû(ë¦g¬D¡—ümKÔWvÉÅ þ¶mkÇGN ·\gråz#øŒ¤ÑŸhÓ‰ò}:«ÁÄ޾Ե眡LîÖÜ{‘ØkTšr` 3­¯VÒ‹.n趢–¹’£ ØIØ#ë:ƒ¡& ¶‹_&•/¨Ptø§Dÿ|k&rü¡(gðÛ·Wµqá \“.ÿ,¥[¨Ñ²Õò kÕhúž=m]çø|Ìž:·y—ØßEËsêÏw­Ê°ÉQa¼ZÌu¸[ºëUÂmÌš(ÒÙÎíÈßÑÖöëõ(L¡:©P— Z¸‹}D×X`»ŒVh soûaVYNâ‰ü` :öA +zUD*‹*^uÔŠ¥¿ÞhL0lr£ýÝ@àK½Ô³ +±Qæ{æ5ß¿[¿‘>Df2ööÑmÐ|¥:È-DÐ’òa2£@ºmòh9üù†"&•D2©ÔºÂ0yÙÁ&Þt˜Î+úrJÝÉy÷×¸× §½âêTÄÉ(I—$AÈpöÅZž{zÜ&»3õè.,7’O‡€Ç¶¾­–S‹ÊúÿÀ|Mn%FêdRW â„)þ³ÖÑ;þÊ—ÝØå·Èÿ›L +uq`÷º<3°ñ_'åÁ5·0›’¯öeKNÈ€Z`=µê³²+¾äf4_u?ï‚kR:eób©etá»-ô–°Z§× ÀRTÅs6ìBY©Žë_ (MƒÞåOÑŒ¤/f^Ê®vÊ ŸÄQ¼´x ÕÐ^&à„ùôRFcT°¸CxþùD›M ¸O“Ö~Öõ,÷=F ÝúŽCEº® º0%k¼{.ÙQð ¥¥Ô+hÜÙ)é‹d­Êíû.(¥ÄÒöh#pÐyÃÇAÀ_ËƹÜh:ùˆ™ H ªO& ¾oןdT‹LFK”ÑÝiêg2 "M{E·7=$Gb~öHNfÀÙÛa´°QÞüUOç¼Úé ?œ÷Í‚í8jžËzomÔBEb¡›.i-®€ULæÏ ¯\e¯Ðòq¹Y[È÷„“ ‡ê™ÏÆsÕ˹Æí»~ºu¸®wÁ‚ V XúRÂŒ¦¡ñÀF&©ê†,xTµîõµÇÙÝ¿Uy‹Á¦?:OÌÜØ3õo^)ž¢ŽrO—G1(Þë¢K1ÓÏÊì³ë- ê? yp¿KkdrI»„q~dkiAMp3GXX†"P™MKœÍ½J”W!Gˆ6¾WV\€Ò +5•G¼Še*Ø:bäÕÆ+7ÿ@ÈÁ{"½^¿çÀ>Š~J\Ÿ ƒ‚ËԖ߈PÇƄ矓hvJç>Yò¸jwM7bû1kÑ,+0’µ¸HƽqV +t%45d‘Šû&+³ØøT_ŠDÅÌ}†Žîç6^žgÉî(d² +VÚ¿%×äî^Í~£‚Á›Ý@gÚ‚púXD<É+Ýù¤FLž5TËžX̹@sÎõdRÚKû¬G(ôàå¯Ö‹’w?«õßóÕe[}d´¾ðjS_N†’›%`ü(ýk•TVÞÒÙŸ›®1»¿×K,‹;®}MNHœßm ¹Ëf¿ÃÒÅÁÏÞI?FÖ_N=,‹øcÂcÌšsCf z"ÓˆÞr"Bå*9AŠã> endobj 770 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 771 0 obj<>stream +Dª + _üà_c»„pÄ©i\»~÷­M©ÃùHãÂjµ«‘ "ó’ôxH)aVJvAtÝ®à°i\gð! æÕO7ç}ËN<`w7<(`?@A4þ_~;#«ÚÉeæФ%‡Ô¾ñßôË^>4>-15ŽöeMú®#nÙ–Í¡ñe…•,® j6¹“w •:r_îÄ©ÿZw¨<‚béJ{¦Þ£]Š°H¼±è ‰È¯`¯N+ÌAÉ 2Õç03c†Š[»ŒUÙX‚¡›“3n`¹:NQÃPQìÑQFÒ­Ý^Ò!½Ü§q—ù6اøVwˆc̆±'"û“®E™Ö_†klW±r9+9ðV0Sr-2£õ aöª®ÐšLÿAà b¸Ú\͆ÝK+rdØ(²sÎ¥#‚„!‡ïŒ\ .1¢Ë=@G—4Úây¡õŽ=#ÉS8sâ6Q¾b'ŸMêÕ—:™å¾bÀ4¿tZÿ1©Wü™%]Š>S-؃Æu褨WEŸ(ìƾ×Óü°ÀÓ-¶îðbòR"^”h6ŠÚn¡nÕ—ƒ_¨ýZ£»„ɘ †;¥žØ²¨&2/xãÊHùW¹°çû‘t3_Ý3–ñEc:²ä°D €Nå#Œü]¶XÂML×åòññMÍI±R¾T(Y²;ò úÛT»’²É†·¦Ûÿ-Xû¾(ø'N¾ù[FE\D3ÓøfH>BÐ¥ˆU…›€Gªe?H¯Ö¢Ñ><܈ÄTÓ¬î=æÐÄU¼ó‰23°ƒÕºº°‚ƒ¤´Üã7$¥æÂeÞr9°ÃF|YZôà·ŠdiÄÎ✈B.ï¼qâ ¶þŽ8K¯¸©ûÑ­ƒO^œwé„æ³.EæðçÀþYs…ônËX]m“$ºh’j˜ûXF"W7šŽ>*-Úü3^‰NÙ›œ~š-2YÆòh]Ï;€¬³ô®ÌÔ ÿÔÿvÅÊà +,Àa¶ÿòCØk4ÌSIÆ[ZQîÞ6E*GO5f^áN`Êåƒwˆ[Þ8™d]-,*0Î|g¬ö2éÝ6OudkÔ³Øç~FîLgûBê©"ùiúó2Œ® V¾*‹£ÊMqrÍŽUêê[fÔþ’Cò»-U|^yo6‰Ú¶•Š&¥~8QƒsµdÊ@ÄfÐ~Š˜7¬¬Œ–ÖwJæ=¼<(@‰C>HɈÜLs?G÷ž`k¸‚PNƒ +ÝunM¢M¬ùò„‰þcƒ¨»s(„Ö%=Bä•@^ŒÐåÙ¨sÈ©÷2µ'„}äÅYkâ%YuÏ(ô.•öd2Nô'~Ð$P•“©¡°û5Òùͯ¡ÍàK”‘îöß³¥0F >ÒBW௱S£¸{¹ˆJ+{ŸËR'•ˆ6‘7Ù3³xlU4r®^¼^ñoP™Î5Q Ú{BáHÁ  ßI>L —F²ôð¬(òâ/}s&!6ÁÑË#Þ’þxÔâ p')îÈÜû4™Jô#ñFÎÆ€üÌ(G +ø”]kÿ¹b&Lú6™ÝÜðƹÖ×"y22´üV$ ^ÛJâŽ(=ýÄGÀÂÓ»wìʹò·üÅ´R©“ÌïÓ¬¢mQèžâáϧíÊ–"\É’Ø6 léÙrÕOý!¦›¸R µz ÂÂéÂþã¢ÇI›kcÜÂP]ù›_Z¼Näÿ J"ap^roûþg Z€tçöwBn­;ñ „4ŒïÁ±‡8«Zah 9`r Ê-KÔ“ïÀɨù4ºx™;Š{ ò¶§`Æ£7Èé¶wŸIAèF.ÃïWYkPeU’ÌÄ4Bhp¥›}`¡‹S!é=û¿Ì–¢ðÔüSœWØ3¤´@ëîÀ »œØ ¸y]Ö)VlƒÒUDŽÜ¼ í&™,7Wí1ùtÞÐj%1"IÎ:èåC¾ñJ½1ä‡íÌpæ¥ÛçŽ/—*WŸ’ëy°@€ÝêÞ»/d™Û˜qO„g©¯’>ÓŠÅÄ/7ǽÚrG´ÀÝe%µUL¥þy‹=\Ã>'¼V%Idù__õîjZ^Û›À `,Å ¿ç$·’ ÃF•`ƒvÐ6K~[¤Í埓æPô"þ9`W°<éëäB^ÜFl;_¾À0'²Ì ~»ô×Ùÿîå›,_ge.Îü‘Ÿ¸Å+Üáa­ÁmD2ÍL£×£ïö——/œr»‘ç¿Còò(n#<ö(úæF˜½v™0q1TÁ£È½@–³0öPÏ[Š|ÇÃÖب}Å~/Sß +¶½À9®<ÍëRLÆ ¦3oÌ+ò4 (Rªt$bÓ¾âÔêŸÕƒC<á¨ýNw7¹aÛ{ælšM‘õ=Ö<½Ll›ñdC›4U]¨¸Pax@X þ‡\?žý" b|øQN‰D³‰%7Á%ïm,/Då̱vþLÂià‚™§üœ5hãžI³xÏ ”#+™†uçÁÊ ~†kOµÇaîõÁ¨Œªªø¤ÎŸs¢; „\…îF×l¥WmcïÜÌ`QQÐþתln{vÔøÙ´<š<»ßRª<™÷ð>úC‚ÉP윊Ñç'¤Ç2‘!Çåæovpíï“FWBÜEòíÉlrèJ\*÷¬ö»yugé–#ÔÏtüììöMð9Ø›mÒsQ ³µ6áÑý4-w©¥×t.'ú¡Œ‹­(Ü~®ã˜óH<ÿ{ã ºm¤¢íìNjðr4o3T¾_©Ä«ÁŸ{?å!9ËPJ˜¿óé!==–Bé9Q,=QÈw°bRdŦ¼ðä9åò\}QV\”fý‹Å¾WßÌb¯$A¨½.»¾4i˜ý÷1Û@1ó×ú2P©·®*[†> åÕdCš†ƒ»¥«ke½q=„>vˆÑ ),h ÎÞA±¤…qå°]Š¶Y2á°O3Iw·a¼ú-›ÂåàØf @Dêj«*·×hú@,¼¦Š½ ³ÿ®Áà4ås‡ ט¹c‘𲚻DìR_µ†ÂÝuµåùØ´o¦\Næ”7„’ÎQj¡j/žzk@¼m†ž`Òß±ì¦6Œ‰•4o VˆòLÊ°‡›Œ@ý ëø±Â†5Hs01ŠOtÈàðŦî#ic—ŒTÙû>–/þ²z§†Q.Û5æ$#°ŽhÛ‘Ô;è'›ètGèîžrQ—¦[¤Þñ¡’sk:$}þbºxyÈœw½ñ9\ ñƒ“¼ ‚1÷´‚0Óc8Ô/-t²½d~º !u^Fœ¶é7c¯áä§ÜJ¹XñI{Òè¹ â—órš7•Ä\÷öI·]•©6_s+'D3]ú´Îü‡ejc+Ì ógÝÕ’—áâžÒ?{‡$?ñfêšÒ×áo«Ôä°~¹Ð@üõÁ‡#ò½‹ü&™(çã‚KKX¨üM…J†1Êú½,9a»?@ØBÆé")àýð2ŽºÊíÂã_†ݵ¸_à$C„ùXð"ø娫ùÉ—*@[wo'wäòD½¢—È +–`8;ÉF&qE&@ØÓê°ýUHþ ±µƒ8îĽ@’ñh"`ÂÉøW«ÐØ îŠ‰vñ~¬%œ(µ`¹8”CE?¨Öl•1ø„\Nògˆ¶ðVåÆ4C.W£3{€—ËwU‘òú• -Õ¬\©jž`™Ñ—"ÿRR‘“ŒoqecŸM!ì5‰Ü£•f®ïj–>ª%=94aÞ„+õT¨qíðð ¼%x_;º.™ø2,¯ò®CN¶êÞÌðqS)ÎƯê Œ‚.+aVJ•·ú[rÃ.DÅ©´ÔÐ'-–Jî4ÙðÍÈ¿ÕÕLÿU¨"¼¡„ + 8¼ÿ*}‹y_ÌØ$o=õ{?Õç±0’Q4‰D³¨žI¡VJXŠ k3© Ï;'î2˜5‡×†‚'”À…ŽŽ\Æÿ_#gdéܘ ºN‹V‡¯,S¶ø– ï g9j5²@9H@wdÍç1ŒÕñnŽÅ©‘aiÃÄkôû–uez(Ô«ðÚç:nò^Ñ#UèŒÊ§¨  ˜KMDZækaA .pnX–cœ…zÄ)þyóÙßUep~¸×IÀ>10å’ºçP3E2é% UH»ÛJ &ô£ +î¾ÿê±&³Rh|¤,ªÃ8EŒ +¡¹QൖÇ:®Y¼¶PÕS’ƒ©#G:ÚlB •ùÞï‡jéÂØ^³ÄñÚD™ 3ê%Ò›/p «\9'O§¾1ƒSäVàbP{*Ooß>£pÈœ"´N\¥´U0’´íŸW2Ú•±ÑvžtHò™+?³Ápå ¶âqƒÐÖd¦YÐ#û§Mkîáa°)bx +PwM5ý0›únp#àè7mûDÑ¿ü@(ï×…ÃÚdêãK`«•sûBR‹{½5P–¯í'ÇŠº7AeÄÐ Akbw)ò[I`ä›Ý|”²<0Û„W@ùݧ(Æœ¸@ÙëÄ<›D¼ùŸÚ௎w‚c¶Îa‚ʧÔô J•qª©œ…‹òáîÔj¦óÇðzò.)Î3Iµ™I.ÛªV,-rTš4ízLI)’2ÜñÆ %ç +‹ßÍÙfPz4?£äÿDÏ¢ÃBš¶S¶ÀgJgäOyôC6zÐw}_U?ÇêŠð ~€©¼0•fê•~¢z@û\/fÈiAdž¡]1á7•„Žj±iVRŠ|±]éH7,UR—C EL÷‰;`èI˚ܫ;$fWõ^Ò‰Í%¸üå +endstream endobj 772 0 obj<> endobj 773 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 774 0 obj<>stream +^¿LwöÏrL/°ß ®•–Ú?žô &úµØ>ËZh(„.óÛ.¸ólâoû\nÕ¨tʸ­àîSó#Þþü•ÑËQfÂ÷eàtBº]0ØYˆ„y )K¯ÃÕ‘ë5)Âsvrê B©‚˜pÌW¿ øc¿Þþ&§ :(àÛt!0CÌNCÜŽ‚ ½7S/c¥¨4×1)©ž ¬…ð€îÖ{ðA²Ðîç×íDt˜nâÙ7î"–㶶Go¬G!Cu¾ ÈüEH€YAIÉT;gØåâæNgâ Šy§i/ÃlôØd94ŸÉå²Z0©Ý¯c™g›Æ¾xM+=1A)b†‰3™€ü㸠ùElÇÖ7çI>‚ëÔ‰w¤7*­`ѽÉwS]‡[µ÷á¢.;EOß^ªô$Ë>¯O—÷Íg> ß.¬Æhíò¤¦Lšü·¯&ÃhiÁ<\a]=Ÿ›7^ÆèÑdÇ1¬Å´8Åû~*S•uîysK„`9¹Ã퀾{x¹y0Oe«¾¤Nòa ÒƒybÀË“5÷°€tä»FŸ\…³¤„I+È;ùÉ’’ÜRPÉ5¶`~`¦cJ¦Ê +F@T#Ö œŒŸØñHpÒ +²WÕ—á'"®ÜïOåþaŸ2€—Æãõ_bKI›*x࣠§hqzcÌÎlYԖÃ#;Ø‚{°&>PK™L­èÓZo)( ͵tø:n¾'¦Å`VGB©Þ•tª)9é‹Ï‚Á8_‹º&¡[…6M;}oä#[䛋†eŒlÜz{û#ˆ¿ä#´Ìظ3¬ š{É%¥ ¯eKÿ`&…†2okìC¿,«ö¾lÎTÇ]Ÿ•#¯²æH-Äd95 ŽeQ€m{­ˆ”R@]Å7³Ã7Þɧ ÀªW’úÄ:9¢‹nÑgmž±ŒKÚý¬2Kû5­G$vÀ.._Çiíìs½?÷…ÅÄΆ¥ *¥aCÏuqÌn„ÔŽ9š:óï¨ëäïÿW f•%’¢è‘½Z/µÇ^©uâðq¼´¦8ü-ùÆ¥À=*ºYñÀ¦¶gÕ¼K±8Aô_¸H¯(ºzë +Ãwu÷ ÎÔ‹F“[øB/)ÎRw B‹ +ûCÍfÈJ2K9»Zh2ÃVš{Jâc +zä#šñ1ÿù^}8!}‰a`r6‘u«sA@®;†°;Nl¸±ô`®!Fí8â>˜¯EÄq«ùX J:έ:W‰®6FL°nd;g¶GØüJôn/Ï„|Ä{6šè²5)B~Twå42ÝïQþÕ~„“é2´saµ;,ˆåª¨ s¾Ÿ»^Žyx¤ÈÑV]“^dÜMÀãÚ‹h ÷Do­®p¸½þ^} «¹a|àn“[ †)žDÂüèŸÍœx§ ׫í~GÇšÍ4@ªW¹íyëiÔ'H3l²Ü„ è5KEæ®ðG¤2G=0ß"2ö>¤¾£î/NªÈpNüD~½ÍÓk¹õbÿE/·2Ç!„ücïß{â»)iœ`&[ƒL‘&øž 8¸^°ÇZLve|ˆ‚joàc‘áîÓ “.øe êŒ\wG3xq{0›Fƒ¹ž`\õħ [î_m7Ïôrncé÷“‘ö=<ÿÜ#ŸrÊSe"úÕ)Ôë{-Àƒ©³RûéDZ@¨Åz/`Pg,š´c\"¿P´lÀóËQ“m}Ä‚¹'Ñž»ô#d¨ëæ| Œð‰6óÚñ²@X§Z`QZz+‘}žB +¥9ñ†â¶¡Œ¬Mrý&%VIšÏ5TÜ ûjÂr¸í@™1àW‚ŠÄÖ0ò/Xžìkð"^ãzwG¢HYLô#LÀ//úT,ðÅöšµAc:d˜‰?ÍpÍh¬QÀ€?M£¯ƒJ,eÇG+ª„õ**y®XyfÔ—1«0, jÈrôb…çøW2•çÏÀ’‰Q‚š¾äÓ|põâWôY¥|Ñž™zºN™]D³$•…–½‹7ZÏŽùé­5£1ß©ž€ÍOì‚Þ‹ ”å +AIcwuB‡È#¹±€x7'á+|çHŽ´Ÿ6]P8,’Ãù‚‘Œû]3íª1µ7ÃÖÀ»¿¸qzXä2BÌÁbÞ:ÝøQ¬ëþÐìnw~Q÷OFn+„g=}ìÞ€èÊRtÄR%†Ä»µy ø$Æ~«ÄX­å/øÐN°'°Ç¢ÜùýUu9É®ÿÌcAÏ92J¯_ÊöÄãà—Ì.)Äú‘ `Sµ +ƒ–ëµe~;”pYf#ª#à‚¤2’¦Ã*Ê Øãð3«D‘@ìM²,ª­Ò Íyõ?S‘ ®è³4÷jSœH]*?ÕŠÀ£€‘ùå‚|:؆½cD^Üp=Eœޣ^"­KüÕº5,‚”çìk¹;¶¬Žz¼8ãâiFAš@øu…eå©Ž·÷ß¾D温ÐöEQ{ªA‡ni×¥³î7›÷y-ÕOz§PÔëòžŽ³Fí@˜\k±œ~&šî’ÔTCñ̺ä²ÝÓÑ,1>ùeïëzì'á#“ê'Í ûŸÐ_ªä©´“ÍHœ“4ýW€°,(K@­lg¦qòb(]»ïÎ|¿’ÎéÜ!Î8iò™hܤ£Ò 5Ä:†åNö:柘XcÍæ…Vù,ÈÕ˜âï×ñÁ½¸àJ%' A„ŠÈ|ÔßdÀFÏ€¢•jrź­Á@×`Ñxžß\ñY†½Ã{¢Ÿ{BâîC¼[QEwùÐB,ŠUü2+þ©ïK™½»;ÏÚʉycñU&Ž¼•t½6rM¬Î7ÚäÕmŠI†šu•™*&±kúóaóÆ¿G¥ZÈi{I¼QX½á1¾E½q»JèË!Æ€—‚¸¢¿/n˜Ñ± +ÝoÖ{X0«\m¨ÐÌð¨Çß]7ƒEøõ¯¡YY_)µ•Ö S¨4ÒæÃVi Î‡Äãj®ì›ÈI/Ƨ +ù&.˜ú³]WÖ“¾±Ò‰¹í úŽ£<“¢Žé-à裞á*’„s´%ÓêI–ý52GêrlŽ˜Þíý.ÍyÎG´Eyí3·ÅS`ý(s(z‘#Bœ¬–í˜Yu¯Ê•öqب-G=ÖåÆ…Ý%7 ú÷¾>šÍ§jp£FR*7Ó^ U&.÷¼Ÿ½ƒÈëóé=ŒîFÃÞq—Tú +íB›®s¹«9˧1èvªªkV‘.;Þ:]+ÄðÔæ¹éôd8#±ÿÉIƒMÕ”á™Óv‘f€f+ý›ÀÖ¼QÿÓÜ.«ÄÌ:˜+P[½Eñ…ÈPê0—‘ÆU‰òÃACüL®§©ž å}ŠÎûÄ^Òt^/©\:äæy)«¯åéH5ón¿yH¬¥N€wËÂÒØ$  ÿÁ§¼Hkt˜µÔH㥔ËF#ÑTØ.…€œ´›hh+fÓªøÇñž‡£·&¾xhòHŠ›ù:—Íݼ*<¯±ÒD|²wWçÿÒÇÀ; xU†žµ‰eqÿºåVK¬­’E $9ÙùŸ˜ýnÐtî£Å6 ±¹e¥̼NÐj^‡Ë#9K$¨(W(û$ʪŒ"7[~]%Bo‘k‚‰÷ŠZ¹êÓ?Á?!Á#ÊU—nß^õfâ‹£§ +endstream endobj 775 0 obj<> endobj 776 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 777 0 obj<>stream +ñáB¯ ä¾äþb@<ª•Ê^Æïõ|ÛqÆøÚm‘¥ä{84)êí‘5­XFmÂs®ZW]"_@ï%Ö¬†&Ó<ìæX–.üÚìõª›‘º?¯îvÝWÏ›b•Y÷”¹R=}ùwuyÍ{‘I¨#‰ÆªLãÉ{?û$¡ +€Ÿ Ÿq4И/ås^eíÂÝö^¯à¥q#«©‘ìç¥å¿…$äGçéɤ=mÖÊû•ýØ༰€—(}+tŒ­æòyP-ìòÔÔ¾:Tßp„HR¶‡¼Í»öxsPgx!!뫱×_£m³-Ðyš(=ã6ëAÔy±nË&%¤ƒa6VþÚ‚é´l´ÚûïœuöùòªMÀô¾Ï$*ºxI‡g°5³Áåt?ÞçÍSú‚Ûæî€"yˆsÍ{¤¢è`•Û¼D9Å•ñ¸«Üñå!'$/}c9Ö¢MC½—}wu"ì’yajâ_+–˜|Ž‰òH)*sAÓIX\í'®±†R<ÏNÛ2ç¹FneTeñÒèÏ\D/Ê×ZÓo.º+êH-ûòzi;)6šÃÔ@p¥?ælTÂÅ6b)×2X“ŸeŒÜ|t"¹ÈùšaèžjmjGÜF隣XMŒÇçÿ9mâ…KòÕZ—ü‰ úcÁHþ•0Àx¦¢!é BP“ÒMÞ»¤ì.a0(\ëñK)¬ ^ùSÙá•X·ŸzH¤± +Pzç%ÅzO§C!ùì™kƒI&£¾l%Øcwi=iÜÿvûØ4ä:JD•;{j&ëšm]‡+;^îÁZÝÄ€~Ã}úbô1n}æ“x÷çȤñù°R•Îë7+ÚÚÀe飩Ò9N;[ìûÎãðÝnÒ¬¸Oœi6û>¦t¦HåÇ#?®DÛ’Ñ\üoæèJ¸0¹’aFÉL;|Š hvþô´df‡êö2™W+ç$[½ š…b?®Ä…üi½šr¼p‘î%«±‚¸~8Ù½;"NAS²Vø ñ›­ŠÂm)iºÖ xL¬!sïßñ£Û”ùU2û— Œ +å^®-¼ejWMPTÝHR° ±Ù:R!0¿¡xà’\‰ ½fiûå{Âq·ào¿ÃJ:2"»Y=Ä’¾‰¹'«Éç㊱è¡1c‘¹ùA7Lp‡°C£Ú¤<º»²q)ìïøÜ^<Ì|n&÷ïS{™ ªáß~h,p¨·S{Ñ‚@–(ŽBEhN^qvW™`\”cðû¡àÑ8Ò­3;À¥$R™‚€C-õ ÌduÕ"è-½zë]‡ûgîé=Cy¦i$‘ +#¬ÂÙK¥ã(Uû,fùít,•µ(Õ=<þ†ßJZwrÍNG-šØÌŽw˜Q NÞ!é›J!ä[j.ö¤Ê²^ÛÆÔv2›^†~îNux þ=ç": +'ß«Ø×Àd.²ŸSuQôÆÜŽÿR]âÓÞ›PA‡“ûD–Ñ™z ­¡ÉRÙZîå¬Ù»côùÓq¤å ˆ ‹ÖwyëÜÄæÑ as~w *…41ÑáÉØ€lH­ZÑ‹–ÊÓÜÇ ²G¼€AÜËuoò † +µÂ …{cVcªÃÍ1æê/-ë1ó‘u³£˜‘H1[:.û"F4þŒ$û1}t …üs•+Î>eUVãz>ÏÛ!¼- !Ãæâ¾'Åÿ e)£àãÏ»ÈÂþÎO°®—èÇ1NŽ|&dÏPÝü'zSY,K*ãö&”‹ÏjØÀ†GP˜Fá—MªüŸ ž¢ þæjuÐjøøðNILÙA¢°å4Úÿ§„bêüzðDeDÿ–¼~0;€ô;4%¢rŽ{‰¨ÙfÃï–®ûT˜-«ûÈEûí•à‡Ü€J[û^ƒ5h ™:©Cò4Dôºúß³«ãôµétn»žkÊjB·ÿ爂â>ë ‹1ܤ ÿu²—ÅZAãw@w +në}óF½»RU-»…ß¿ú¿’ƒ­ ΟôJn•–Ä¡a8“fÚù‹‘üÏz“+Sz¼-eÖ33Ìþ}›üóas œï節”‚ šë‹%4¯ÌïCŠá{æmš!ƒ6ŒÙe­‚~Ë÷±Ç‰Ž¨cöcÐX­PjÍk¬Ò +†PB®K6]ö–rG_8R÷Új2Û„¸z¿?Wd­ ÂMNâ^P"¥µ¸š\‹Í¢˜„KY¹´b[Ó{T Á0.¬ggAÁÚ÷ˆ8èÏ"ð]®Ý›ê)È—¤LC»¨šÒ?­ñBÐv‡ñ`3èp¹ÍcØ ‘Ö•ŸØ÷i)i÷ÃÌZ!Óí >ù E~s ÒJŽ–Ï«à!õeS“ Ì­cÁ†´†–GcA"æÌr€ã[rq™ìØ›8E»òmÆ;äMïRÝp͹¾ÒŠÀ|µ(e<çï¡XŒÅ2D9úôCÞqÔÒ‰š¡6ÞåÈ[›”U†ëA€4±…,ž¸ ,PÈÅW9—Í——œ$‚v*ÀÈSŽ²–©ÀùVq9z8¬aqRž$9†°ösÀIn¤R%‘QE5Òp¤8¹wÈßÊIµÚ½I®…Rž2gµÑ6¯€y¿òÃùàrmº~yE ±§5ËÙëÓõ½[Y¹á¿jM¸74¢q»P·l3ƒ1HkJ…ÆÌJ‚ë4¸Ò´3xˆ9Ü%ŸÖ8…ôH< ïcmôÕòe…Âô7Ô:üû·÷­¹š#8"²ŠÅÛÎ.¥.êAS¼j-î«æ»ýÉùÉâè€7m-P"ݫ싹‰1d: +ùÔäIyv6AQðv#ç¢s³?alÐgèÄ‹V’ü’>ã›õ»ÿ%ô-cOtoú—~9ùª„cĤˆ™DiNY‰Ž@ÆTÖÀìY¬ø˜‰ÇÐÊ€ê8–a=åºY ÝÏ“ÚÉ°·w5-\h^ðE*™ ªtw·JH€Ç˜ h¨Ðµ[P^rÈ‚%s'5X!5Wþ®æ2jÙ¹4c¨æêF¦ªÃý[|=þ±à¬ØóJÈÊ{Îz«ËÛñë‡Z ¹Ò¬úzݽ]Œ +K]-œ *¥[u7MØÿ~kŠmœ¬¶GdñQ«ûÛ³`K½xÓNëB·`R ŠGyjCÏh6¯³#+8çíÀ€ßüU× ¡»ŽÂ¾ÕßÞQCºù—vè¢Õ Xœ‹@Õ'ñ•å|³Íú +endstream endobj 778 0 obj<> endobj 779 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 780 0 obj<>stream +l%Ükœ¾Ó‡:1·¦VùÉ­:{u[lg}‹Ðƒ’îeY\u6Ä ôñ_Èx.w_œÂëív›}¦*ƒj¹6¢5¿½;±Ôæ-~•„z†1ò¬ûÌ°µLô&Ûêj®9 +K"v|“’ÊmØ‹Y›©ÀûkUà£ï@)Z8G¸Í'€Â49‹ø*DŸ˜©§š,ìrEŒºUçýe~´!à”ÉŠÒ¸þ &ÞsXãò“f Š0­eûšÍj†—ή:^ 2KÖ½”\ï@„Ù¼ý"Ù¬ þœ‚Ks`ç^~b·ôVd©þl£O±¾EÇ@³ I¾ iß÷×$š“"wˆVŸÅj» µu‘ÓsW84*ç½;J0âzzz4Ö.ĽÅæàt>qmÉÊìmF eux'qz¯½Ö•íu©ÕMM¾Ú¨…î÷K¿ÑO¾€8þWÃÓ}cÞÆʪjÄVÃÃeÐáÃ8“ÛJEwC6Ý,êLaÜ„°ï)níú%N):é¹-È™õøßDy90J¯/rgšxT3¤pÌB¿Ù\ný#EߟÈDv܃Dù„]~³mÇM^¢e¦~¼87È®ŒQ®½mçf¦Œƒv(”Üyi'è·~lŒ„¿QXC@]Ü*™™P_NÒ|Âi¸10-ü€Ó*gܬ(X&È&oY°Ž.óžTµU 0@n 5{´ í„Y¨@´%˜Ï9C¦\ö4(o·[o‘ÚF̼™ú =e!qõOãûTºFÏi9o…ÖX‡T˜öZ•2wh›ñ×ý0¢³}öÔ>ÅÔ>Ÿ©‘Pû¼ÊI@uG²L1ªRhø¾@R±v.~ûîÄ+"}Lö¼B{^˜*¢o¦0ö™Háo<|œ5}ã¦"•§Èÿ÷ðC·ÕšÕô¸U5"!©›Ñ¹WJÆ&?là¨(k§í$Ðöû‹ö$59äÉL)z¸_ ›êy‹±©;±ƒõ…ùФoó®è vr ÿž³‚Œ‚F7š4O>¥Í +“pø Ë3›WŠW&•â£lOØÅ¡C æVS«ß4å8od”Íå`µ’)&1õXGM½× ,âÝö!N­K•â+5!’!âòÌÙÔ$ªLý%Õ1•à;âÃ- ÎäMü" ô†¥ä…&ÕL¤1ëaÍ{p{wüQQAy<_›Pƒ…)Š­£¼J{B‘, p¾šëxôµæä3®4/£¢ÊA +?;ñ“ƒÄÃ;JF~ƒßñò˜Uô‚uŽ) …Ý¥CTï[w­ÄÖ‘[œ%–€¿ rß= ¥¸ßÜKÂÏ6ãG¡»àKúiUÛgH€Œ¬zÐ@ŒÁ¤àu¤ÁÝÉ£ÔŠé uo -'·à×Tìál9ÿ9ÂwÿÊ÷oŠfиq‹}2eÌtÔV£»¯ó¬Ißpcî³C@C±ŽòÔ‡×); +ñçÇœRF 1›RÊÔh\ž­[Çi ¿ÈúcŸ§¬蹇>ó˜úÇK2Ëùr‘Br}w¢Þ,vÉ°H뢌tRÜ:&¶•зLß2’ŠîEC4õဲåç‚ÝsF ­#U7©‘(àd[oiÓi£€5̸p fKqçWÚ»»ŒfÞœ/ièb['éåÕwš´Ðßì*GÑÌÚç$M¼ #»±¹×‰ªÔî3›!{Æ°è»AR„zÞü’Ï —DË&{ÜÁ USXè‹Œú¥,†ÌiÙåÝõ=>–&ÌñW1@Ìˇ¡ÞïeÏ¡,Q€'Ù©út™2Ð"ë´C¬RáÒ (P¬`ÔMž_û Mº«Ÿ”uåj³Ë†ç%Ÿo…xê€ ºQp8ZЗF6ùÎ{tvl»O“nK|¯ õi¾4Xc?k“5äf`ìò¥Dãþq²/jôcm3ˆÑñâHŸ™©š8j˜B€¤Í€~5Ñq˜G–¥õ+Òã?_ÁVxuô·¦»y!`‚BiÒØhïk}Ø(wþó&0wzU®ßdŠÇ[—ž_×qB31Õæ¦vž­Ý|géÙ4šÎ`Y°c£þ8iðõýÞhg)S?M´¸V2#2±”šlî”áRƒSsR=˲»”Ôš;í„ñéLÒؾ[{T]¿>c06ê–EW&<ÿÎÛñæŸ:šmÉ!/üË|Än¼u +yú2‰n{ÌÒ“”nö8ˆqÚ®:¸Âø¤/ŽÕ$¢Ö9Ú†wo5Šòe•òóµAi5ðó÷€´ú‡¨*^CC½€PÞ ˜Æ ÈòýÊsßü™#:ï1™:Bt ‹¬œ:vç=牒žÜgÒÕFWÄ)ÀðO_§q ¸Nmÿó÷­$ô°YVR±w'¿çÇœ.Wïr[¼ø“ñç¥é}‰ŽÈK»Ŭ¸AÆ À=X„eE¢2l Ììj¢Å¡+ßßÑÅ‹Š™œÑø!¨>†ŲÒê>„6ƒ«ßP©Ö³¯™¡¤[?-úgdFfÿp W( +!©<¨œÑcœ§5QÍ_"ÔëŠu%@8Ë4Y˜XïX µÏîfnk!G³©²@¿Á€;!Ú- elÍcý§ «îÆo°â0 ئÏ)°ªŸßû(°Ó9EΧÑ;êõšÙÀE}Cf+ç»)>p=õœ§–wõ¯ÿu¶ê‰pÆÙ6Í3«%Vyˆß°´{(âÏâ,Ù¹PM´Ã\–8$A<¾B©nGÿLMßÅÔªAÚ  !tÄõ^êæ¬ ñý­цVSwéÍØNÉO;ë¥Üi%)£œìûÃi +ÿ`öíñèšÒYm^lDøDW[—˜ØO¾Û¥ª†,Äa@”°Ʊ¥”þlr–>q ·©¦„Àº!÷ `ÝïO±Î•Ð®p‹o0ζ¹n«ÙÞ ¿bšð ±ùÚÅ-zÏÆH%?„‡•C*šàZÚï .Ë'L Œ àÌ,´f’ÃÌKw¬¬Ê?Â,½Nbœ9j< !T1~rðK (@±ã 5®¶"jÏiJ4~Õ`¹ +à¤Û©÷½G·µ<[Ø<Оc÷»GS‡¼öa‚Y\…jä ÇÏÓľ i³ÇYœÿyÜ^1•m@ãnåLma¤Q^?Êòš:LVk„ø 6ê鞘€…ÌÌÏOÆæHšA© D÷Y©aÑÛ]ªñ¦´Ñø.¸œRmû†ÄÌçšù)®*]BeŸ·Ä1Í) v"3½×ÔIÄBdÖ=‰&më¸P¶½9FWöàN~ÏÚÃÌVW©XvÞIÆ'¾V®³AxÎ>SrŠl¹.Åó‰¥5ã…± —½ò\=+¢"oüÔæUoÄʹE¡,|âGãmºÓ?QõÙ)ês[v]@%KÉ~nzöQ×ÈÚÂw×#k©„8¥°­œ¥q£Š»sAJO¢Œ´0(§n wÚP%²³vÞ qAâßBÂÿøl8 +ïkèKi+ú}æ;Ÿ•—¿u¿~e +´2žM`ŒpÛ¨¨ø+ßÔ.z…Úܵð çv@/²®D¶ãή‡=¡ úXl9F>©á¹-bZï%(`#„‹T^ÎD™=Èé%PBPÊÇ;‘Ë° ¢¿°ë"ƒ+‚~ð6Køƒ h U©fÒœX“æîr¦†·ÌEŽÞ´¿±q‡*±2üVm%ªG"zýsÝ é ì#i§XÊTŒóX%®ï§wY,<¨Mµ^þ^C| žlÄM\¬.›wc¥=ŠNX89¬bK°z=é§xLCçê@¸/ ‘S^’héŸBÙ0- ~IÐÌ25ÝÈûûMÌxà!¥€‹e¨_§Á¦iiGo?ÛN»KøG“Ì–Ã0ÇZŽ$­gE1vLááàƒòì¯Ï8%ï‚7,°U¹ÊŸáÉò½Udx +£¤^v¸|®diïETA[;Ñɬ¤j\¸Þß\r‡í4F +€å.„œö-){¾Ó@0œkŒ&ìØgŽºT×[p>O¢ëÞæj(Èl—þrYI'gïã¤ÞfÙú€œÐ“Jæ=µk©­{OîKöàÔtÒj‰ÿÓâãÐ"Lܲéô8NRÙ`¸Øë¡wW!j:ªòfÁÓQy#|³#(Ú6Ñd‰Ó¯ƒí~ÁܵˆÀž–UÌ`_}ôµ´FCÁòy/ +­Õ”0ÄÛÄ„ NÐ.$¡÷Ú%±qÖF›S˼ӥ­²¤#nsÿ¾Œìy\ÍR ,b%äÊÈ«ÔÔf¥ +…š†7ŠG Û,í^&œ ÁÐÐ>{úðuy横î4ΘÔõ£cB—A°áÇSÏž»vëA¼à“_K`»Gî-¤«‘q*°qß7½ñØü“|m‹}Vê,>CÐ-äï!Ý× ifvÊÄ}YÜê½b©/vXŸRïÉïx w›‹Ÿõ¼ü˜:ÕçèåHŒZÍ#¦Bµ·ÐÕl}»ÞdT§ø𓧽HS¤ Bp&-ß™]=…Q‰O¯Û½-á–䬃Nµ˜»‚l½ž!©vÞ1·2Ñú S@w6¹ Qß:îªNEö*o›lm-÷ÖÌ–Õªp±ãAðBU¥¦õ¸x~ü´oT&¿MÅ­#V@Ô{ei\q¢Å¦gø¤Rp×i¸¢Aö’"[t¨0íy?ÎôkËf>rwú”âˆÌ´Rq˪N>]} n…¸\<Ç;9ü#`—ùè÷©|«z &êá¯ëÄÕWcŒ×çTÁ"w8µÛÕÜÃ/>ç’bôpÛI¡3Xô4à·e×Õu^~0åö¼°•Õg9bšË›Ñ=n×/J$#J •ŒÉr×8½¬œ z~?Nj Cà¶Z xGI Ìý‹IƒäêÉÈæœÚ%l.;*è–úq$ÈóRwV©=8 Nª†zÙ4É1Ï(ˆA±+C®÷Zá¥#Üè-…‹ºª”l‰¡[¤hðyu²Öæã°ÌkÆù"úŠŠôÙëÚÅ Blÿ6ZÝMØU¨œ–${=…ŸžÓÓóºnžùL²²ØÈ:aÉBö”(",jOãèoÆY€‚éV¯Iø>÷7J b×tò„.) |øò;µ@NRSUs´*Õd¢i§¢ï}%í[& ›z*úD +n”"–å&8•Yˆþeñl€nò I;Û6;—c°CI¯S˜uUn—ÐÍ_ý¨ün%3Ä©ô™i¹)ÿÌálB6•å×b䊿Á3¯g | £ÚÏrÔ)¨~ø_¶—Lc(š…ùïJÈ“Øò‰<;X{j…44NÑB¸XGÍ«D>)D—˜Hû}ôÙGj ~uÞS¿€sÓ É dõ±Ð™*gÚ€+^}˜[ô[ºÁ-ãÚA8'$JíÐú1àvz(p+}4ÿ½rVœöÓH¢LžN*Ÿ6¤SXÙ5 +g‰ wv݈àb !ï“"×Àñgh•‚â¿Së‘MÖYÿæƒEYñQcYj»àS›ïlÅÏ‘cËà²0=Œ¢˜i‰e…h£QRg6'Ip’ŽDÎŒÎW¸[myèE^Eb™—Ê ï“—S¹4„‰ð¦Ø0Y”Ó³Øó‚úA¢EŽäHNÍmtþ¬s${øHïâ¢\ñû¢6œ¯%ûVè[X,˜¶~?k€d‚oDaµ±û+”…d†é¯Ðº¬T¬?g|Úƒ=¶4ìSXyY"z“És¾Ÿ4´(gðqÈ u|b0oÙEB=(`·~€¨?ï…;^‡Œ&|ošß?>‡vhàˆ9¢õ-KLÄ¡ÖáÕ kÆßixÌ'2ºDþtì[Œ_™v0>߉p\¹#!ùˆZ}øq€¸È„vïÌÞ~°Fµ¸à˜i¬>JΤmi¸$ö ­C#ï†%wÀr÷¬¡döú“?Ô±2+ÖKœ>v;9 ® ²ÛäZÉx55³gó£†ì3€úüá6Š‡¥Dà\/™“¬‡—ª +Æ°Ý›Ì TÁ¡—}ÿÕ‰ÁƒŒ:þ> endobj 782 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 783 0 obj<>stream +q«zÌ=W(›D¤ÿGÁB¡dü¬"¦ÂAOu–‘Ùæ-á­”Ÿí‰äá$±Ñ3k>˜^EENó•.zòöy5ÅZpàÀPôB¹ YLüCþôgÚcÉ^7Ù’u³z‚õc¹ï¥¡Ò,¤Ù—©ÜÓ‹-ü9,ÿA[EΈz•÷”¶SÖC avÅ–h1ÃÏ)'‰UC¹V™O4i׋ E‡üä̤¥¡K S=5Ñ,0Ï5ÏZjŒMïë˜S‡ŠÛV‘2¦2ÇC4h”*Œh +†ÎØl¨¥\÷Y7ÌIçB>ô|j9äPi"Xþ7–¹æ¿Ã¢„¬BV ™p„vm&7wÎ[PßTÌE˜ŠÅ´IÁõ‡©Õ8v?÷ìĆr]Ùñ%Ø—¸{Ÿ¶Wî8µ3@·M8P”çu“$5;~f¨Ñ˜”|o½È+7þÚ1w¯T ¯O¤ôÄl¦ Șœ;­j2ÍR¿Ãk‚èŒïT¼)áÛAÜ_ %Â:*§'iûÙ :=¾ iC -\Lv A«bUÕJAïèâ \_q£¾W^ØÖø)­ ™é˜Fð¢a6Íi*)ë‘×6¼£ˆsB®½cÉÊCê° ðxDVÝhúŸ‰h{ôJÔä‹¡QíQ+Ø «èÒZõ™èA>“¦!"p2Ü!šc§n«·µ«¶Ø9SK«”Ë ~ô…ò2wº33áÏ4Èh‹×3š—Ï,7žsÜë”ìeRgŸ%+ªZîFu.šÌÔ9•Ç½³ +üïGÖ­¾ÔÈ’”&Z+„)õ,r‚Lpz€ +†.\½{ö~"Nƒ½#JÄÜixàhži/¢½âÙfüjÓ^@`3…¾à‰ EûÚb³)²•'øñÈeVñ{.’4‘râc5È?䨥‚RUÚ +hXY#ê긛ü'lï1‡¥Ùm‚ÁGi@Ûu¯|Èÿ*xÑ9úðYB¾‚ᦛši:Ù„*ÂëÕ ÝKÆWé w…못¯\*Î} +Åß²!jÛêÚÀ¦*ÚlÕo€æÑÖÙä.„"HGc1·ÖEø‘$-L[qf™É–‰VÍû­iUOëTêqÖ4hRg”Úø/±£­Ñ¹na\ã,“͉ˆ+¾¹¿ßìw>ü[ŒsÞW Ål€45h‹¨¿°Œ¸]5¶—S)C‹PC3v® ºŽçˆ.·Cf•9s>éS]v‘f•úvdm]ƒàM}+·„>:;4µ˜Á +æqº  ýNf#.QYCuïL´§Ñ-DÕº-´; ‚9$¡Ú¬Í@J”ÇJãR¶•¾#~^R•àt¯,ÎëR—7c ›Éɘ l­™u G˜þ˜/f,/*¦½' ËçHÚZ¾Aa†Þ¶ ªûU$Z‰s0&ÜV6dî@À¾BGüÝq]ãUó°Ò…GˆJåf¢‰-ûàËG³b9|ÆÍ}Ü™ûž¥)Î’ãöìô©Ù²vU•ÖÚ“žƒþ9ÞÃJLë]¹"n]â4$qA¥8ì—>ƒ·š»&6 R¢à[)ï'){t¯Uj÷í\æ~“öì€)„_ÏÎÛÈÃÿ2Ü_§¿¡.Ô¦Eüü™í\9·¢¬\©è«>°óZ|Ç×BÃáZÊš—ÍØäÖ=èbNüÉËçy®ÂE.̘ÓíGãPÖÛÙDŸOt€ÍÎkËh…mþ›èj¢Ê4×ø+V”ÿ¿µµGs.¬i,”Jò쉼ç“ÉÊ˦pì_6Òk§ÚÈGj2ùx‰’¾MD¹ÔÇÛÁ+Î+ë;¨ ‹ÇìnW»ð­X’pD699P½xÌvOצ0 ±Ó +heäÁ³oËÕ‰q?{·Ef1a”PðlN ×´%|wÿ GT©$ˆÖÁ.Åóðˆ‹RtËuïv†f«C¥–+ÓHü¸KµFo3í¿ÐŸd»¬ÀÏè½Ì¿ASîè Ʋx‰ìöËaßÜ&×qàj›—Äa€Îë)Ði_“àoˆ*€§£d…qî…€–€$²Ä’ +ܽ%R„x@:uk…hè„é+,Ë ´•¾Í,˪.^ÚIeÚ.K÷ÄÂ,Ê,ϱf¤ø2ÛcŽ·†J\¤ÐÂv»|˜àïŽ0öÊÒWV’Þ‡G4ÅñÚÎa×qþo ?‹Úb§µu`—3ƒÞÑà¥é­Õø§þµ-¶Æûñó›û{Ñ@~4<Ý#6ðKhËš))Œq¤å!M‰vÒr!lny|?‰'Üî²Äk§çÊV®|å±ÇQÙ=eâÑÆßtµž“V§f5ïë1Ö0Ë kF_ÝÂIjJòÒ¦«/)AyW½ÛL—¢·ÜõóãtëÕ{^¡<ôX-Ê~̓rÔSµæ«’M6!o©ì v[_¼ÙÅß›n°–IØÊ­ÏÇ„‘%ÿ¹l},ÅŠÚ·ÄHGUÏÁWYmyÒ‡Êäpùµèœæª}‘x°'{/ ÈB7¾÷úZ#lƒ¸E_jµÒ<Â!ÌF¾´ÜµÒñ¯ •Ý )´t÷k¥úvTºqáXÚ*oXŸ´ÇÞË nº­_;ßɦ3Ÿìcw™@'T¸ò¼‚üu"B]ê,?íÁ2ôUÓ¯sŠfc_û2¤Be¹>› —”ÈPÙ¶K¨¬›™-¼‘¸R‰'@+À-†z)Y¹ÕnFXšÔÆôå^ÕénÔ°Ï„š@ `K¼,#îDAÉÙ}Ÿ¦ü^|™höî1w Žî"20]Umò»«%ŸãÏRáÍS § 1ñ6BóàËhY¶ÀYŽ52h5¦,Oý^—?›c܃²jç?Õ÷ÃÚâ¸Úh1Á²i‡_62߬bkÚgšMï:mÐòIbšŒþr¦ÿq;jS]ì¾òwŸíÇ|üh_ K¿§¼¡eÎK>\6ü1WIU¯¶³žÛ§ÐS[CÇó–¹7¸Ýk#$¢òhVÞ[q‘ÒÒ æDzͰ2mDQãÄCŠêÞÖYþ†Ú²P\~þ¸¡_Á±7†[ÃMÑ·‰{¨æ[qgŸÆ‹“;Ã*”‚ø’QhˆÒQf¤]勪¯WjcØìúÝf?Cç¤ft)‹E?à…aáx´9‚òaÃ?¨K`ËÀÑÿ‡ÓøC]2"¬3«!<:¹Û,‚Í“(r$$Í8~âžÍÒ'À¤!@š˜6 +„´ACµúç9?÷(ÞŠÖ ÍÀ¹‹¥†8h 3e¹)ŸJªaêMº$hU‘2 +…f>K‚«þËjO†%Q¼1ih…ˆ'-°ßÕCvsx5À)e*Ú Ã±¢x¯økK[ù†Ï M¶.æTœÐÃ*¶=î" upr~ÿŶœøWs%H ŠL@€R¹\Ä›’(.ðG%­QÛ&27å·š ¯‘…êSÈ«B¾uúÞg~›»o\0û×À™ÀØb׌=jÎInŽ·ðƒÅú;\w†("¸ª}¹ßR+;šˆ‚]$‡4­#¬å¶dû°86¿"i¯ê†ÓòÁqcH£ú~NŒû5càÁ©9¥¡Q*+þuüw±BþÔÞÚFtBÔ…5¬µ[ü@§ÍlŽvÕ–UÜŽ‡f(=}ÜÜ_ì„yÊs«¡;³Yö? µ‰÷‹ç<ý¢J+¹zCˈô½kÀ»Z›ç‚õ”¤’‡a·b+ùOvêÀ/ÿ°­F Æ)¾é¢Îç¢^þÎ=õÀ?—ÜX¡b›G›Y˜µy3\[¿ÌH@^5ûÇjØÅübõÁMµí§“7Nù±ÕÉB:Ž9¸<žƒlNͲlô4>v–ú¬Ëèõ“âNÄTvqÜó秣Ùî„>Ò 5Þˆ¬t†ÇÁ„èá[vlKTAC$"ñòy•¾³u’=”˜Ã‹;¯±!G)L˜ +endstream endobj 784 0 obj<> endobj 785 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 786 0 obj<>stream +H¬ÇTÔ8uÁ|m‰„ZxÕ”E2Œu´b1 ‰š0í„÷@“l)þr|âõ[JÉÕÀuu'r™çðd<îf@6Á¼Èµ9¿ãfÐã IΗ™pƒ3„E÷öÖ1•ÑÃuËT™Á¼r®<¶^ +QÎÝ&Ûî ¦„ ‚^RBÊpÍ%çÙÉå£Q‘¾`âŠÌ¹¬¿[ÐûBET œ5¥ŠñŸæº$ ^ß%¶ÂÓAØÿ=FÅØ%Y…#ãRBKЈlÕQ÷ا$Þ·B+I,Ek@ +ö®ýÝ÷ÌA7 +¼3@[àÑ€ûá´Š-¡àõÄUe ’žðšœ®0бŒáÞOExÆÿNè²wy­šñ,žø«(D$?r\ ¼¼ß6¢ÚïÞˆ `Oºÿ‘á.vlìΚ)séûs‹}ôÖÊ\í²žÏÁüiŠšÅNI'æ÷…yàrÛJÉ+Ge÷o6¿ôEpÎbtªOc"Øž6ÊfêñÔ“:¼}Îà(«~g1A•oqÝNKs׿ٛ™>„à’h ¢Éì ¿gŽ¨ZAà¯Fª.kž¼”ÒeÍXñÂ~G ¤]eú¹/V[£O§1qµa(}÷=£ÀUaõ#±6 +ܛŠ+l +‘Ðÿ.Ý'Ρ£×)ÇóÌgDÀ­wLìd4lHä1@*+«ìÒù¿ó î;>Lx|XµˆHoë²iðƒ9à€Èù¥ü7Vl65ÿNÎ+Ò³œ.ëRÐöR¬lE‘üU;`XÕ™ +äºçÒÔø{­l;¿Øú+œVW5J Ö0‘ ‹Â2³®þ©ù¸¢0«”¯ÒqâÍ£ÇêiqO?'ØÙ+)¡eVžnBUÆùàn÷Ówœ"‰»ƒÔ†ÓPŒ9PI¡He,ðL0-Ÿ_ Ø¡i)rù¦]fñNýfÌgÍê.§NS˜èÐr­«üN¹M½i™c.9©{Ôˆ!y<Æ¥¹ÕÉD›"Ô 2èúÊè˜íÍží"ÊØ„7ýºU¶3~ćïjx¥Ú憡F‰ùfBfÒÑ‘òØ&_NyõUxFM?F4Ð@Q já±N¾x&öL$ iäqÔNõ:ÑÃ$s_Ñ›äŸ+&AŒj’8R‚Àª}ª:“c”Bõ¢§‚”W×yÍ)2å½_¾×¸©Q°M®­%Ë<¨e#? + G`€¸bmr‰Èy*Î+ }nÅZñÇäºùlÎÔän±‘é󼃑³¡Tâss7ð{ xǧ™,Ú™â•ÒA"->79®ªY*\öŒ;…õJM¨íû´Õ~%ÎU¤1ïÇI=ÏDìÒyàöÀ¸äbª8d[IÄ\…ª¶B’svòâL }µ»lÞ/~ÓZÄÔi½8²»ÛÛLÊ‚<—4À Üs;ú“… ó’c”ZAŽÆ¨!Îòa۩΀\c«z–Pdúvß «2îÃdŠùMp¡úOgNÕ8”<¤Ì²ÆµÆP¢•™u˜¿ß<À6I†bè*þðOœ}/å»xZæ¢'|I"-ª^æ'Ù¸eÛ“.γð‹k„¤vºCý8poIbÕ!W"bôþ¸o'Àþ” Åúç%R;v +‹ÿÊ›%ÔŠo¯ »V±›ùÔ•@gkQº†Fb%ÑçköG‘_e†B“Û[[ÆyÌ­éxzí¡ƒ|  +‹ÎzW‡‘Fúa!(­ ­äïí¥–®+[†°S3åŠ)šÞ¡u¢ÛZ¶*Ö½õ®œ•ùžôù(ž ÇþÐ?‡Àä—p +kæ®Éðb!;‡™Mä×+ùÝyŸøf¬ìÅG!ÅÒ„,w÷{%øxò²á‰÷cÕÌíÎ‡yÍzý•»!’Ûn¢W¯]T5ÿ‘>¨;Z)HBôÔÇ«4='ØUþAd­È¬2ÁOry ,Õ—ùFá53Põ&±TÊf™µtä~–Ðí$©Sa% ଧ†òä}ÓD®Ó†ÉqM€1âk7?ÿ?³SysfKIõÕæÝã' 0eÒ‡4lq²¢F°TNk¤¥d±•uѪ‡5+"÷³Š}œ€s,šíEô>ÖßÇåëàû+}«ü—@Úª¹©°j§D-GÉša3q¢áIûÔ&¶„§‡äuBZH½¸n³„B¾R°X¯o¦Ëowsgš÷{ ã¦û&@o_ð/{N äïDúfNtj·÷˜fé‡IgÿJ×nº¥©*„-ýYÙSxP[§+Gî Êו À¡Ú¨“U'Ç Ø´büÝÔå§%Fñ:œ©Ô¡¹š;2ÑÊ©¼3§•û¬†w{Qÿ~p× ZO&Ésc½ Ȭ±ä—/¹AbOêö¢ì«N5ðÿx‰Æ„"[%sm23nÓLt ˜ 2ÑwÖOYÓ0=ÇA×5Ím7"¦ +x(Ô¼/®ùGiÝOï&Î*O¯ K”èîÛ¡ÀjsÊÅcšôé‹veHUò©µQ°À`Þ¶­nǪ:Ùen¦žQßô½LZG,èËËÀÛÀ]Z, ¤Ú¼+'F]{¡eÔ“ý“q~*Øôz4cû¾×´%¾È -Ï,û.¤ÂØ ®ô¤úçV¼`¸² öe´üø+øýš®5“χ¨«–ÉSJmìÏc{þÙÈÉ°^¾”œw~ ¨~œN%)ÃDÅK€õJFN§¢AoýH¯*€ß±ùC­h™3©:òyÝÙ4´?—d8PÀ‹šHô'P\óÑ­°tÆÊý±*ÓùóJgæ3•¨ºÓÕï­L²ôœ`6|ŽD•Á–I˜=ši ÉlòÓ +öŒÅÇn¢rYØÑìGÜ92i7âþG³®Ã_żà$ó±ºê®³í9X]8<£«HºÒ#YÛJd¨}i¤»í¥âÁQ‹ÿ8_Xaqf­+°ë4å×ßF-ü%KLŸËYz}Žü:í¾îbs<þ±i.ÔùATk2ù«Æç† þ`‹PàâZ_ Ðœ·þYúo‚KÊÔ|Œð«ÆZ»D)}¦ÅT´ÏP5±Þß©îŸ-kª Ý-´xDuRŽ»ŽDyQ5t³•Hlç=î‘KöùBÊêÒUÑf+­cŸÞ¨n £2"ërXÎ-‚·XyBîß_ŠšÆâ3H9J£Yû5CºVEÜQuÌÈû®#ç5üœæ×*'–@výìå¾Öç|z—ÝÂi"q”²ÞPfÝϾ›©”Œ$òøÍ®jGq6Bz¾(‹ʶŸÃÔªkAû,¾(ìC#!E"ãj6HðÕàç&8ŒBSc Ôá4­¦y¿Ö·ã&Ë«ÓßE4ƒsìu˜‚ ;)DÀpvÝÐÕ ˆ¡R1|ôåñÚY9Î’VX^p²³q:Ðk1Š¬j•…C/¸u3êžYW¨K-[HuNºËîï°ÂÒny/-]@8ìϾy“Ñ”"ePc3”sÞYuÛ<¶…—‘‘ß8û¥Zö¶@ÎIˆæ¡¨n‚TVPš\á*Í¢à}EFÓ¡klBÖfs [};LrÅS‘¸öG³]wjBn‡&]´‡x +Ž¹iº’þù…î/ûÀc>Áã)<í[Þ(0xgÆŒSÙrq÷¬²‘4¡Ì¬)"N¢ ¬±r£×®Y[P,ùªÂèyé +Â~fíø7€ŽOiðÈöàÂxúŠ¦åˆ¥®r—±¡BQ< †Ó¬*8ä» +¦Ó‡<‚ö©ï Í™O˜”‰*ZS›¨ÔqLPܗ視 ÎoQ–ÕYIé5« —ånÇ[Dë3±)àðºêóhHäÓR=-k½î{á°†÷¥Ú"åç“EcY®ç«¥»UÑ» (¨ÛYùÿZ&ÍøåoXÉF« 9‚¡`‚7Ä/£> endobj 788 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 789 0 obj<>stream +óÔÒAd‚Èn¦qù_€iN$•í¶ö\ÒSî`jÞ,‚Gé³×BË/GƒH5í©óäC/NšëO&Á˜¨J±ä®2PÛhS(ʆÁÅ/Zsªˆ¶d~SÉ ‹ÇYƒBr²µÁõ²ÓØD;ôfŒÎÐS©ÀÁhqƒTµØiÞúܬ¹v .]Ÿ±¯t1ÿʼSô‚M‘=”™:Ð×o`)ªò&K»ræ«ŽlT.—cª ß·dgÒTh¬ ˜’ÅhžÛ*ûý¯ï‚´ Ž•¾…u‹ÑSÎxÄI#½ «yt„nnBµÞÈu©6¬5ùŸ2RÃÓW)=}xF˜‘ʤbí•[B›ü¦¢5ðâÇ`²fæÀ6]ü§“+,=<@­©›&ôdW… ‚jԨ߼óö£Œ2)[œ+o ˜ÈWõ»Õ¶é!Mä˜ÃRâÕ¡@ebÑ¡<þ±™½0Î;ê¼3&3{Ïä¹/^ÔÈ‘Š¡Sôc€ƒåýÉÓ÷µÑÃ/Íï™ ‘²/ñ–nßa¨Ë‡øl_ú´fò3§"¹\¡èÞrs"\(ŒQ–SÁÑÜx§,ºÖˆ8Äe£BM7šP´ÜËuá¹ï³*ðºTõ×=}½E®Àh9(òpmR«wrÁÖWCr¥­”Ü.°ÏXÕÉþ³bNÍ{ó*^En'¨èÒ‡g T.SŸv(¬+~½v¦žnÓE;T²€¡O©"¬Pfù1©§bX *64|UEŸŸ_¼-\ÿ.•Á!ƒU(˜˜½Î±°K·űÇ+:Xâ0öÞõSﻸ¤>GmÊm#ŒfØ9ôx=…€­¹é»àk°ÑÊ©]n°Þ?ÈüúM^Ñ6˜HÉj‰2u5g¢a’’8¶ÒÖwn X÷ÿÒí“øW4¢¬›¦v…}­èð>n´%¥¥âs«!ñ>h›Q…æ/jBëý‹±ž‡2`Ê„ +A†·ækÚ`:f´ÎÁ®svÞ”€;ïÉŒ‚Ù8{ð¡ÒÈâúÁPh¢}]ñÓ±´5±ÏÄ›$d}€S½ÿkE#‘…u'qMW`ã]埃zÖ&¬—1GHL8©Æíe¿ï5“òö³±Û (€þígÒ¸®gô%»1Ä×·]å¹Pü¶ÿ¥óT}Q—jùCG™ê%KÞÀV<êÚ†×ÖjzU€‚™M’mæc%St"¸\¯Þ†cñ†§Œ—ÀAt­³LÑÌh`§è nt‰kéB`$NÞˆí^ËS%4XÅ'P†ØU qÙÅÆ×{×æt¥½þ¢zù‰Å–•Ú¬°ß;Ü,ÍÄ;ßey}벯[ÅûW–ãÛpK!ë: v7Ú/ˆÝ×[aæûÈ=þÔ*$‡˜ß–mCn“bÞÀ2ÑE;9ÆVw =°F©ôzÃAýçwà +Ò§rÅ31¸ÊîU“`:sbê&Ö%MfkO y˜Šç",Œ¸³Ã‡¶seŒÕÃÑcl»cyX¯T³—(ûsÂh÷ˆxòVÎ@IÍ¥æœ}S£æ<“ óÂ,3ä–(ô™w—²saôÎÈP²Èä|¼aâþòÿXœ·Óþœb—öÈJPÕ £–/I[³©[ú¯¹û½ßæƒîjþ‘Ó²$Ì2ËH©õW5äFlm~¨Í?»ÆÍwk…ϲ£h¿eÊc&¹6=Ô”ãŠÏùžæmCVå¾QŽêˆ,¬•ÝqòÖ¢¯=ŽÊ±¸À?Å‘äëNUÚ±QŠX3­ž³¡.‹P,LîJI8ø,®ª##+,ÆÂ|l3uD»öûÆDÑäçÈÒ¢ ùCTuÃùŽ”=šiè·4s-…“Α#Øü®Sÿ$»Æ¼¤O,Lå"8°Îîg-wðð²Åz¤ïų ¡=^.c{:Á„ñÊàÃ*ßI2 _”}b™Ö"EXÜiJðmŽ‹ËRÇ$TJTó:Éh¦êùï4aÞ±„àíï ï*H§= $&V÷÷þÓÄóÇj8™`-‰”ÎEJ±Ý>­ä9g‚O +Z©P«;>x&öœ0¡àò xùaeäX'BÔýçk£;2/s¡;¸© Oòòh›€^L¥%žUÏÃNþšùVtã×%‹¬¥M• µI^µJÖ8Œé,{s§I ¤dŸxͽTrt`ãÓ+ª“dØhæÔ7UmmïRçÄ?.1Ô‘©‚LOÆ—°Pz\R½W|äú’ßÊYQV¸}ø½êÔò®ûèx'j^}s vÄ+CØŠ>LA—"ýo#FO_ç’/ØÀ¾/(_1l…¿†™ƒ.Ö¾½&a3SÝ^^ O{•öõ¢„lwÃ3™w£,P7‚9³¢ÎÛÇöZŽ†éï&ÁÌŸÖœ@Ë;ùë*[Œs¼<¤õ¬/¹klÉȺõFÔóÿ“R²ç{Hˆ À³¾(8ïÎ=Ñçà’HŸöl(h¥u*¹Z’ð²8e’v\R!zC°ÀÓùÛo/œ-¨ª+îáw‰͹ÁL´i¥,‚ +¦í*hûÞó‚îécÞ¦<{¶¼š›lõ¼„6„_B€¥]aúk÷.µØ™¶Ì›JQB²ó¾V.úþTûRêd5Áà™> ¾m VáÞ©ß‹ñø7×ÊQ%‡îVéAæ£w¨(î¾ äæ3s±bã" €ön¤5:wgBz©f÷ì€y_–U¤£¢Îdâ4û©Aò¦3jcr>ïˆf5Ž~Ìü*bG>’”ïuZµ¡©õȤ*Ôʱ=ó×”\ÜÐ bi2lJ}6Ô\™@Dzm¹{¬ý”s…„ ÑÀ¤ žXkÓA¤ž3n8¼¾Æq“·=›Li"Z¬”öI¾öœN‡´°NÐøÊŒ¦Ô‘K*ôS²ó›¨7OæÁ²Ž@Ý\IGgÀ£}2”È[yGJzÝžØûNó¨œ}tÆÈÖ®—Eq‘žä˜³Ù“Í›ê4±~ö>u.¶ì™³GBk²?™ØF«"`î¹–Ž ‚ÝÅdfú„´ÚÇ `çš\";;tT¡q0ŽzVðâ×0i +¥vYyàÀÓ_¯lEñŽ•M 4LO‚¾‹Î ½Z{@,î˜ ‚dd?Y}ÁĬTDžÜxfCøpŒœÿtãëAò½fÇÆ‘œþfÑš8ÿ¡Ì7.t£Ó]Œç[Š™õÞÌ,ꓶf¸Ðæ–\èe"+?›kÐÍÅÌ]&kYZº/Ìðº'7Œ55@ÑÊ•ïjÛUΆ_$OÙ©4·•@ŒR÷˜þ Òw‘¡–x +n5vB¼øµusF'Ú³¤X›`¥9L8ë¤ê5'+×våD%“Ü‘s¹dêߪOÚ™0#Ûâ¼ÃO=»²¥¼cg»,,8¥¤UBþД‡Ru8¶K ·ãû’TBôÞr@ïÙFgä;)‘ÌAOðÚ 3k:ãZl–Ìפ ¾ ŒŽÚ)‡ɵ<Î%é ¨O’ø«žF>(°s̬‚ìÃ.ï ÅãGÁ^M.K +v+¢ €Ýz}‚¶ã·m¶¸;ááZÞk\½¾~‰¼ˆ=dKf=½{¡Q¢Ä[Æ}™ÓeR”#à™ ŠêjmGú”‚œ¥'û¿€d’K¾î÷”ÿÃÕ€ÙäM  .v…ÁÑ÷Ê5¯QrM g®Ø9œ«ÝÏçW失êt•U"çìd&rk­Á{“ô‡æpcnî^_T4R¦i`Ö9Þ¦É YPÎ +endstream endobj 790 0 obj<> endobj 791 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 792 0 obj<>stream +‹#ß¡äõÉçD©|£f¥üWÉÑòÐS½ršç]"âû*Ts; ÙÔ±í+µÃ‡;.`¢n¼jB™‰샹•^F•»eèÜõäåoA¢‡—ª(¤Ä œô ‹l²{C3òJi¼ÞëÃÕ¹†¼.²H¤½¾¢J:Ú®úO€Sx†GÊw¡Ë&ý£¯¤£Ø! |éj¯q‚(hÔF!™ÃžUÕ›4SeoýóAVÈ;9ú…ÒC".±§{D˜Üâ£â!÷凓]ÙïÂ=ÎÌþžäD>,ŒÏ(lbªlq­ˆš)ÙÙ;anö‘\úÃvd¨Mö1ª/drF5˧5àê>¡~·Vú×8=Ç×Û‚HZ)$c¢WˆsðpIŽÿä!ö`éÅ4”®YŒ ÇçÛ ÉYp»¾¨! s”7 £kz»/·Í]ùí»¬¥GüK¶jCî!¸š>Û¼’±¿DJ;æÚÿù.ƒ#jÈõph­Cs|Êãˆ\²L{êè*Ù3A†Œ„Hû¶YÐ ­V®Yg],Š).66éûÆîT„$J•# ßÒ¨:…”)ÍóljJÁ‚UÒÙYhn™ÀÁP~2&iâO©žÔ«‰€á7”+EË!Þp¦ŽFnô†ÔÐLª¡¨¦ÕÆŒ˜=í‘̆ì¾ê¥fà*Ìk]ñª,l½sÍ~°ˆ¿ù¡ÔšØá eæ1¬UÝß°ÞV 5¬:’•Š³[ŸÄG“¾›–ÅN»mŒ]"oë¸7Ož´üæEãœ|gL|#ý§éè,59Ñž~mÛi3U«cs±0†oižGùò .Ò`þ7űìåîFôé–¶YV#Ÿ˜àqì”a +²taCÀˆpdŽù fþÍʃ8’«»âJ^H™u¼Ëýúûxz.ñYãR¼ŽœôOàté1ȶàÍ£jÍVÞIÃш¥íTŽÇWŽ7¡÷&g–{§PöÓ¢þ72hÁý—€2q\ê²ÀªŸ6}Y1ïA¢’2ðõC&¹ç©¶µ$Öã>}‰Jµ=x<›½³h¶ÆçUW§M3µ*eòÿå( áý^Ï´¦K Ƭ€o™1k¢»ÃAüÃpRHÄÿa$0Þ#‰—„ðéÏ=_G„_œÜíß6'œêãßà ?¾”¨ÀÎÑ«fýh†êš+·Ú!†‡ÂN¹˜R&}ß֎щa9263‚ðòjÚöÃ…C¼î0¸uúüòïàVs˜p:ýÇÂ:?^ô­Ø‘“Ok£[­ÓÒß”Ò@}‘•nJÖ®Ö—,ëq3àÂdݶ]ÁIë˜i¡­±+Cú1Ѧ"s{iSûÔ+áŽ;&¾|bÀVÇNõxêŒ;µße'®ÝŠ` ýi× ! Aö˜]Z“Ý“j“€O I*¢AÜw¯ QÓw*þÅ6˗〭d± w9JsÉõÊ­¤%äç_\ùpˆeçœ?a£¬xRÆ‚z‹YÊöåŠ9ÎØÇ2D}!ʆqó–ªÔF4@q¥yÁÒá‘÷zÌq`´¨Ä ’$>À·‚»ö<:ù9ÀƒC0ëŽß{µKú$U@_¸Ýü6sùk,‚®,³‰pNîsëÃsDz«³x1`´± ;¯Mms辪Ê°‘öõÞ¤ÃQºƒ[å{ +‘ý… ¥ŒÙâU$y6X=oú²,÷ÎËMŸÔ°Û‹g.•%ï7ÇÄx¶\©@fÄ´ØƦÒá"-øy–¡ý0}î?ùÄTýÔx(›°[ãoÅ4P¿Œ]a;èQ´d­¾$®€ÂèU¯¾Ç·ÿ;">ì²—ÿ»¤¨¿cšý€§ïçÞúGgÎÆP¿.øž³fQßù¼"eh°²‹Yå«j®¯G Ã6Va›âPµ° ØåÚ[Ãî®4D®s—\KP+0gûËÌIü½ñó2äΘ^à^Z›†ÑÄnLëeIÿº$‹c}³nÇ]ÖÁU<ƹÁai ãAƒ®ṳ̈J?í-Í]³ÉÞ˜g9Xen­”{_x±ü#igbõUTŠžË"Eq©rrNŸœ£]áÖËx”+Ê·å0Žvç(´SÃÞº›X‘ð¥uÎX4¬<ó¼SI¶ÝŠ2á+$=ÞÝø¼Daü[ +o¼Yˆ—¢˜q1w[k _‘§¨È%)½Ö'o'*¡}”úcŽùw•Qt?V±âuœZJœ7è¡Ëþh¤Ìn£Ðüª¶H•ÿ\,ˆšdµÓrCžs&8ÓÈðŠWÃ~\ÿ¾l¢À{˜¢Æy‰Üü¸°ðZ…=‹« ¤Iuc«ÓÎH)3¼ql»æ}ÙéÄ ¢®Óɧê!ƺ|%ÕÒQ-<¦Ž‰‡3Š}`ŽRâ,»q|~U€BR + +–ãeB=NhjÕçPaÚK%))[W±º‘â˜FŒÙñ +6e°ößÐb0’,/ÓðØ^^q0ˆ4Ð˽[ZƒàÝ•^½Uø$Nõ¡Œ è}!c}>°[’¤&WE8ü2qŽ•ƒˆS Ÿ|])ʤ7J}@Z¸›¸ËeA•ø‡x%ëwô¤+—å†|)úrñR¢ìÞÏXDCå…ƒ´Çš¢þh*–Kþ>}Çj‘6ØF@¤?íåû(üYJŽ!P½©ƒàÐ%ðõi茪d ôþ×%-‡0¢Øms»“=pò‡CÛ£¼V½nÁƒ@¬êIÜõl¯[å°ÏG\<êmO½÷=Ç‹¨¦í„¯¿Éj6=¬{ûß‘"R-cõ ìØÇAo°Až5“—ž}¿`ª…ôò/ªç”*>ã}ùÊY}DE¬Þä05 ŠB\T]%k Ý›M{|N‘šB‡›kP‡˜Œ9B%b_ d¿ñ©*ºí²Èa‰ÆZ‡þú.WXz¢E^$¥‚lTˆyË vŠeáTóqÐ…ŒÀê0ZVÁoÑwÞ{“ã°ƒ?2è´ÇìB€úä&!ðËûÿXPÍcZÛÕß7—‡´c´ñIÅ…ÛEHº¶úÒµ&â…ü‰Å9¡nì“Õ¸®NjÌgˆzÜ&È!`… rdã), Sžè£Kî8—R¤z~5*ZÒ1PÆÚ™~ÁÒ£¢!U O«Ýˆww‚E[tOý“ +0[½¬û5•áÝÕ26#©§ Ã'häjÁ¨)>AÚ´ð‡”[†©ºõõø7m†<¯±È^q€†oÛ3|ô…l®÷ÔÌÚÓŠ\¶ÎÎSX×2Ô„’z-‰¾·7“ RÕÃ9?ÕR“Õ8_~H0Áá$­Â›=*HÁµ4¥»°l ½” ÕžŽüOUMya¸Ñ#tZò )háâq(52øç¢TØ^Àø惇 øþÃõ„rÂUL­©äÑ­ê™G™¶Á¾E. :ɳœ’x™¶l覒Žz|sÓ’x–Û$Q„G|Ö0ž«çå  ÚYÆ +¯q¤F:ËhÿyYk± á5AŠVNHzÀ…Л¯°äJŒð¦W8Uà)öÊRÿ\’)õ-•ž<ŽCAeä _·Tþ©ºw«¸Ï§a½Ð‘ò€>õ‹Ù ý„2[¡ +\güîÜ<] ~͸&p…WNÒaƒáT" %U[Ë¥ öÉHÛJìYúÔYÌ;$A½|¸ÅT´¤§Æ:ÌŽ`5/)Àn¤õ›?¼z¼§ß< Æ›7Ž¿ ×LÊU;W¼?SþÀgû±Ãª"KŽ×„l÷X%Yßÿ±Œ«Ì¶¶s<åˆ}LŽ‚.’‡½Ù¦¥)³-Ø6«ŽO?³÷ó^.’ Ñ<³Í­ ÛKgw.¡U¥d‡Ëä» ëNÜ:Ï-¨H€€É4˜9g~WÓöC)¢p‰¤pd>Hj7j‹eüÑä JnÄÆvhˆ‹XIHâ”m$òMÙ檑j®ª’ÍÔê~®ÿTè(v›‘°ÃÓÛÜÂéÉ7ƒ˜í‘¬ðÂþÖ»À•[ò8¦Ê +endstream endobj 793 0 obj<> endobj 794 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 795 0 obj<>stream +ã*‡ˆûÚ=ÙáVÞÕS,âU¾¤³8˜‹­þ3E¢™¦*«Û±h ¼£ Àzî Õ¶CtQÂûTkFqF 9Pwê ÀXÈó¦ÐKQóÔ¸vÙ¿Çvo´ NÞ½Ïèíý%kÃGº2týªŒgf“Ñþ3ÊÚRJøÅþ|ÃUí{³õ*#yÉ—\°[R>ÿ Ôubc0%ø¹ËÓþ­÷ó¯SíêGJ³J\Jk‡™râŸA¹maßRÁ\‡úßÀ5uÞo(qÓuÆêVSÔÙø·ZK~–m^uè|Ý ç•äû¯cPœ}P‰XÕÿ$½Mc <@´˜/ä…1¡Þ =nëÔcUø +íòæCäò´£:'ÔI^{//\2/y']äçW~ùtW•8‹!Ô×9–™ˆ9C&•›éËÌÑ^ñY 6Ù ¼9Ê»?ƒû^ýø°®gg~.Øôž@‡e×ãþ_ã —ÄrWrFàšçM±±X!ñ¨vAã$t¾êdøÝ;6ŸWéAZ-ÏаT$Í»ðnkx/åÏÂN¼HqáÔÆuþ´öšT^]F5‘íI^‹L¦?«{Š8®œÌĦPã<œ°£ŽWk‘U1ÁArkSVç“ÆìO•À瑃ꭃ6vàöÉ4¶Z[QüuÐËä 9 í­0Î4+›!XøÔZFm¿3bàÉQm¾×Ÿw9] ÐÚP/§"³ó3hQÑ£CºÞU³úºÒ°;WW'$æÙ™“™¢WʆŽuš@DÝÐX^\5›µEÚ;SÉMÔ¹‡>ʼnO¡J÷R+:¢§©‘¤¦,‚ý¾*5‰Þ^êÅj‹}ÁŒslØ VÊ™‹x«0%;™•–²Ìþò3ó“,“”Ÿrb–_uÜ&BÖ`Ö+6´epù;Íqþ±ô àäAªÂy NPb ;ðä6H‚@¤~ÝsÈÂàóˆj– Ú’üTu…ÄéÚ†NÎ"Võ#â°q5©ØV–côe›3‘Ñã4ó ñ"Yö?p‡KH>"ñ(8P‹±áäدiÆUû;`÷[o¬pÑ|)TìÏy·‰^ò$î’ =ØÂZ®ó¬…JªNE–£;ëôœÓš¥à¿ÔðQÉòƒ[üEµð+a4süáz d^g&]\âyzÐaïOˆ¼8Ì–“?2òUj~[!˜”`‡WíZ¼¡ÑÍcèw¥V@µxóOÝîÖiWz+'ùðÿ¹s2äÁÇe\Þ«fsÞKŽ0šâaÙ[—¸œ`M„\ÞŸÙJ^‰gb%’8t¾*ñ”¾ûràÀ. × ŒiJ n«ã‡¾Ó¥7½V\'î·¶çºí}[5b¬­YÃ-vNj2€ûy ž€š£|Òeu2žBÆÞ³ü&›Ñé«’kd?D1þÓØ ¿È@E÷âÖâòm¡‘»''B¢ãçÅR³¤VU‘ú$n£y3wÇ'6¬ŒDw‰¿š•4ÕÓ +H±½® ·÷n„ÞœšªÑ†ø–®RsÆ‚*c„aÊ$žö¦”Œ±{(½Œ“eÁè8sÿµ¥Ê{ëž)>€˜î@·)¦°د}ÏO}'n,¦[´xY|¾C¡gè·QD@üI¹ ÐÕ‡Ø侇¸0¸.h~,\W ¾göårŸ”¯-Õâ9+;V¬ŸO4а ~Ï7^7ùI8ªïÓhöùî”\9’/¾ýÂr<ö)à´‡)~5æÎÄ¢' V+ ƒTµÁ^öèÄ2¤÷éÎø{~êkÖ‚U, +ŒÀ…fÌ°ß"ñ‰Ó23¥`µg|yëcŒ'ŽÞÍ?ã㨔_ó“ +œ+¡¶ømb Èû¢Ã&…Ó~épÑüD«2gÖ·)c¶?CËáÚÁ:€Ý¦ï«0: üMË{\ ç™s³óÙ{/“ð4`q?ÁþH*•à-iÓ×ôÔà¡ìóºx7ŠhO-^l®<£íiW£²¿N)cîNb„ÓÚ©5žÀê5sÐAÑ«WQG niE3Xy“;³p1š{™^$ˆ:Ô*¡HIåÝ]ß|œz¾as?¯AJ57:lþ>ê ‚= §J”LüÒwN| ®¿tKŒÐ)<©Â%Á¦P¶]ã2¿X—YspÓà$˜)¢¯u´Þuý¸§=í§Ò„a¨1ÑýÍû˜V8úLGc%B©ø˜x,r_vS?H í·Ìs†³° +® !Û›Hœ@^¨š. M²/Á—N,Ó²I›î¾ +LóBp +†'[]óÃP™ÊòPçáÊÈWœ {Þ 7@õ&•ÏTë:°=%Ôuu9÷öŸ è|¶77«äþS˜/ÒC›æwÔÙ€Ù?>º!uÍbçä¹àÅÎóñ®±mg ¸Ð¼œ– 7ñ$Þåˆi²®†+\—]¼a š“C™ò¬sjl?“ñÙ +Šž§"÷óuÝ?Óí“Ÿáû¾%VÌó) ”—üFY›S?fÌP$á§E#·çôBîi”N_(P/Jξ_ËÀu…6ßE `jÂêö¤:)ó©£Fæ2˜ü2–x¡Zìw`@ äRjÙ3„ÝK¦<~8Í4ìKïã•Œëþóýãõ³&{Äx)FK]h̘)PFœúÏùö°¦ïêØ`¥Ì3¶¾Põ¤ØÓ5,M»ê_ï +`=bêó’*ª»AŽ‹x|àr£V%½É@ؘ\QèÜ‘qéêŽEóÓBxâŠÔÃÏ¥!I ê,©ÇÕíϵÑ3˜X¼—1‰=I˜¾ºr¬† j`1`ZÆ‚Õ8ñõä9}6=$N¡ s×'Èo­‘Yòµå)xãîàÂ’ ! ¼¦–Tiu4`W=%³j‰°y»íWÝ[‹É,+ê˹¶±)Šéà«Ü¢#mr…ÑÈšmÂw,€J”W ö{µe›•‚Iñ«Î²5OÞçŸ< +Ú½Rp½ƒ{È«ê–2kZˆ³’FæÖe0Diœ†û8€C„x¿<ªQ&E¼XÔ6¹!<È&ˆ0«ÛΡ^½ùhŒ+e ü¡=cìè¥,6NÓžßp¸a§[l,ÇÉyjfás-2›å}¼ÉFœ+kÛOü 5„7Nw†]8O0z.ÁdŠ’©…¡ë(’®Þe&žuûÚ¼îoòë1Bl m°pÍ!ȾàËÛûpè[óâH´ï†^¬<òõÜ*¼Z5#:¢-ž'Þ¤º,g¨Ÿû¾à=ÚuÙ!},qÌj©þ¤q£‰»X(BŠ2’SA$½JZàyGS³½P–_ƒ.m—V‡ž`êg¶ùÔâÉ;ÌÒšƒ6Ñ™¨VíˆQ¾™|RÞå6_\ßR’%ÚÇmR4a,ú¶ÙW¾ýzö†º˜§ý‚ZšíÚ–ª+XûÒ>H,e1ŽD­0–ìa#z¬ÓlLl*ª±öéÑ×·èƒûÑ"ršeÅ2 |EÙÐë½le÷죭¾Kí…cVé|#?<æ¬U¿Ö!~PuWkf÷aç„\ÜÓ ^PÏ}Ö®‘oz(ÌèåRè>‹+™/©½û%mƒOŒ›sñ*§ËõíkŧŸ¡¶è4ˆœ¡Ïî +>Ø¿s”>‡Ò4“€Õ6ÍÈÀ(«1þ<ÐýÞ99„Ã̲êŒpHÐ$õè MUFZQ”¸BEJ~ž8{%N¨OYÉ’|wG%¾…£ G|y.ÍmO½#t +endstream endobj 796 0 obj<> endobj 797 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 798 0 obj<>stream +OÙ"¾31$AiþÙ_W‹$tò14^^|r]ÁàyÇ!w­ÏãüàR¹ãØc3$¸3· e_¾®çu/,ƒUxؾ-íøex iº²7œ~ŠfG 8ÙÃAZÀÔ¸6Ê^•r•ûº§–Köx*BN£ª<+c8èñŒ¾þ‚Ý>½ÐÔúH¢t×bSµ„˧ T›`+ÞAÂnjÓ6ºÈ‘º$¨®ñ”“›¹I^A,÷ÌCüè&åá༵륮jÀÚñçfÄ%ìÛÆLé)3f¹¶úm¢s'F +*=›¥ÑôŒT42F=†—)INµž¯CIþ° ð…É0E2ö;ø Ðs6C¡31']]§Ì 'Æ÷ Väü±ÆQ©ÆoK-{6Ê3ICdåµàX5)Q¤„¬ø²×윓l¬ó!nd%:ƒ4Ix²r]å‹Å¬¡Økù‘J0y"†a€7«ñC Dîó(ÈìÚØ?ªb³ùb©º‹o P¤Ppî´‡À+Öƒ^ÉØžgÏžaŸzCç:Ná{ž}ÅòqA"K¿¾bO)‰¢ÚJ·Q~ò“6·ã¢E{ÞݧïV}xÊ3’ó³E Ë`¯ç—S៼Z{¥bõ¤vjÇym÷ºãòµD«Ðä‚*ÚbèNËyEûÚi©¤¼¯kdÜOKãüÈ$ÿ wÐìÚUµ¾ô¹®±½ÛŽ‰9xí +”„ON]v3jæYrö¾b‰m6²@Ã$Î>q¹º°2—(\³Iö”Á${ÓxzÏÝ:þp•%OÙþG¢À¼{w¾ù-Á! ‰O"ÝîòPýƒ¡àØ:Ù¡ù©úŽUÚäVÓÃz +<¾³5í,d4 +5Ž©]îxuCÝŠìÄXþPÁ +e5¹­»ÏBþïmwCO‚ñ‘ÞíÖÇ#¯tH—ÓAñÚä"­³ßå7Ál²—LÀ…ÍöQÑîgñ„MKï$_¥®^d†­ ¬?o¯¨êà`$še¡ÃBÆõàsF(|¤ÿP¼ø§6fÀKý?  à×2yp¶Û§Âì !*ÙñZ]*7gÎnqó@ŸX²˜›ñ\Ò•·7šc‡õÄ,nL"“Îì?3›%4 ¡!ÐÊRXè\LËQ:‹Ø+Õƒ+áNqs˜HV‚(‹_n‹†á$;‚¹R5ŸLæÍ;jÁGÏÁôël~L«ãT¯mØ¢6MUH|ìh~‹’7ËE_Îûßýꃰ:j'4 /”£«Ù+l)ûꄨ„, 8ÚXéöÔÍK’® rÄ›®íDØ;Û³Z8d³'w9¦BJÄ¿Ðœm§2ÈüÚ˜ :³ýiasw¡Ckî¥3ñCÔ–;:±*YÖ¥"ý]öÁ´óC2A(Aö¢#Û/êUòæ0„IŠ‚£O·Â‘¸Þ¼¾Z2`ùnÎV9²6¿øÑäh˜ö¬1shXø;•Í²·ÛNm¸KÏ3¢¿‰dæÿz‘¨-D/–›mų"Âÿ²O~cãI1~ƒ¡mi§§qC_‰ æÛvñ…8l?ô¼WÖ™Oc è‹C“Œ™9M)ë{ó¡l–,áÆš>ÝíB÷hZ[$­om!v«åi,%Ú‰%U‚9ÖÖ¯Áe¼:}¨êe³Xs户SŒ£`–Urýù¯˜ÛxÀ«—ÇÁ…5”°>îuznº:¥— v…ÐC4ð4\GòËÇJØKpÉ=h°Êió>/)<6ý7czM%kÂoáþ•5ìi™ÐÂómR_6 èÿ´Ž¹\Lßcš½;dYilÈOÛ³Á/<Ðz·pÆÛ¬0«Nmí¿Š½ðŠÛéFÏÈAžuùÞ5¯×rNý= $MÕ5wâä\ׯæöɬÍ̇¨“•'̉egh®­è+ªpûdÎ1c³¿‘i¹ùé „ añè¬Ù_³¦| +²‚‚7êíy[­5dOO +èWN*r;“F®qÛëbU.ÉŽ|ä?jüdÜÌ­ÊÓuLº:Û¦EÝ;Ôh?˜“²M_ÏÑxó¿2ÑУ¡1Ú/çI“Cú ˆf­>÷®j1öÄM8µÚ$ô]É°ââݲs èRî¬8|g{¦]Ë+)Çé½ðÛ^Æ°Àùk»ÂÒ[9Bå<‡ë±¸W28žB+…¯d4âÖcI;‰#B~î`ýÈÒQÕ®¦ÐþÆ¡âI^Šb¬FhÕCgÉ §Ì“#²²‰ûŠíåά§i>px_T+Îëˆø7!û[ çû¡÷²ÎÁ§«/Zƒl‡ŠmœNòÎ.{q¿ mõ¢z-¾"½¥Bç,’§·Õ‘K›@¢z#n¥Á ëÕœÒç•Ò–½Æ?D `í .Z~‡iX5c‚D7¯ÝŒvÍ‚ÃX;ªÍ‘ì;÷tv[|o]SîoÙƉ,¾Jb±#ïW8m }ªw5C„žqg䙟!¾|\ .Xá9p°e;rÛ5 1‰Q™ìåê×92Ÿvò3j)^Rúâšl{¸Ì¨;GÉt^Q +%Ȫ2›„ñ¡«Þ&–Lh^íuÄjS˜6çª1ûÍé%xëcOæ>#vmå næÝŸ¦ª#eOª7ã%1»š¯'ßóJ®1Ù ºGj–ý±Ï92ôubá#Ì@¾‹&ñ¹ØTTCn#NŒVõ2È,‚$c3_•‹ ü¼Ž%Bç}0$|Nš*H!ŽvQ'û…kNtÆa¿‘Í =Ïr³«(µ!rÏ¡$7ãóºE0Ÿ`élÞÞëÓü0°&—ðKÔœªð]ƒ›A½9y@ –—Ià/k›uϘømŒ‡ +²z’ª+s“)ôp¾{¤‘S:²ÑÁwcm­Ê0>›zf¯b£DR5d2lë˜ÙS4æ+ŒÔöZý½»–LÏæZ‚>a‰—ølÏ^{Á—èah刖àµße¸0˜¥d%@)è€åΔ& +‰=x¸A¥µ’óÒŸÌ ^n_!=—]Â1€‚Ï^ýYI­J‹Œ„ÞÞn1ý%¯ç;WuNø,ú m  J%¾óÀ<žcHWñøÓã¥ç0GýBóéÇÊ–bþ˜>BÎ:J²1a#»,Pð“ {Îx›î’µ]“ÊhX† iºÞ‹+>Oä##MRfšž Ëùr2"^kᶚl CÑÄIcd/¢¤³ÿ"¶ÓW@µfX¿ÚèøgÜÍHˆòRS Üׂ Ig|5Ô´…W‹ÎGY_Þ(ÆvÄ]yö|¥MdÚÊyÜ#É/ÿx¬Ÿ½©éó_دÕ!yÍqCDM3®Zœ+’°à9ÊB?Ð굑·ŽSŠÜ]zˆN3ºˆRö‘ÄvÇIJVLyÌèóZ†Dа} æ«»4iä]1ObmfD~°±,bÅÉîÔtH)È ‰‘H­m15 ÊŒsœäÙÜp.áO/»B¾ý ½vÍÀYŒQùiÖÇâ¤ýò·±Ñ=ºVÚFöz°Ø{õ;-b.øüy¡|’{‚¨§Š)<=íÌrQŠ–__vÓ”wÉhvëm'Ù¦1áðâ+ê¨quËü¿¢Ð<¯O³p+Ó0³úïcØæ:…G Œ‘‘“©E§ÌPû¾ÎÅ,á{~x[Þßø~-dã-ÜHžû±€Óz» +ÐÔ…q{”÷~‹—cÈô6QÞßo—æÑ öPÉcÐo­ÈLB’ã]¥?w d×ã¥R%DÞe÷nê*o“§$X";Iö0íÙKÛKhA¤[«þ:•@|"%ºÈ¤~àÃ=ÏE9 +¯Ó•hï3¯O¦ùg+ À*%‚üò·#”k÷&áº[ÞÇìóx,Ò˜*—!‡Xuú"êhrsŠ×©±¾o¿¯Êx£[/=ö¤kÃ$ ·ðL‘«xz·¤O¬j ºqi[—¬g#Ç +Zs{Ø®Lû«—&™Éɪ¯`Úµ%üô‚÷½‘kûYB§-Ê1ï² c8ŒTzLk‹ôXËÝXeõ–nÉqÕ½Õ$Ð$&ÿRa·çÉoûñ<¦’Úô àÌÌŽ|“‚Œí€¸¤c¶ Óe?ÅUèùâVxâÉûæXÈ0ÀÒ +ªŸãÂtø–&5vž£lªsNØÎ5ÜzªÆˆìÅ=t¶øîÆ–ÚÊ#H½ï«”­^é委jêZIÉÎ19AþE’}d|o¦ì÷¸ ‡2Ë;)O³Í˜ùíÏENŽäܳû€ä&-[ž{ìh\rgOWÝY Ò¶¦ßþ<¨èŠjý‚‰XÀ"Ñâì!®ÒGEGžÁ¼?úWl'¢~lÛi˜)äFº½\~#^P›"Ö»ÒœæÔÜ?ü¨ØhÆTØ©X;þNȶִw©êü–Æת]‚«–VBxpùš•3|§8ÊN·d0ø±y„GsŸ²µiqúß3äÍ·Â47kND°f!ýoÇCšâ)¸x8JL‰œç9IoÐ-·ÇN'v`kú¥#cfX©¦¯¹š.n®5EºÁã,mõj|bìàÌZ Føº§°•Ì ½åxC;é(ç"€ëï m)µ _áð¥;ómRi¯u,¥t‹$À9M{Ih“Ãpô®_Aª‹ãM§Õ‡0(TGEp„Ä (iõ-Ý÷`¬ø³Ž<Ê‘ýáÍþ½{_HÍ"ÿ”Á¶Sñt@­pw%UÓx”`#ˆsAí{Bô;¤|·yj33ëÌÉòDG|ˆIAø“vfºâˆM2q v Á+Ak ¿ç’òÚý5kâìò`âÿº"t뀺׼Ó裷Öa²Ö•ÕèQGø¤MþôæxÉR«eWvý%Z¸ËÑŠ¥ø6ò›ƒiMg!-sÂÚ¯Ú©É‘)"ƒZ4’dH!£ÅUÏbpêË£ª&ñ èÕâ£ÍÞ9ôm*l-ŸÙ({"(nW~¤×ÿ Ü[œst 1 çVq +ÌëÈæ:ç—*j.oå¡ÉNÉ”ÖoQÑ)¾G%|àÜ@Ì÷¿W„†\Ä.ƒ) ?f1^q§#ôè= )á——ƒYú]Û.Š$´ÅbåB¤–v%ç8Ð#!F]sb7Ÿ†2x“½h,:+Öqd %ùFq÷ø"É*jj£ Š ÷/Ö‹P¹‹ÃU¸³‡™¥K(M‚™~Ϋ(Î$ýuѵ £ +HgŠ±!®Y†»3ðü.&»æ=úA#Å%¢ì²|÷Àßm™N*wïÌcW&(ØŸciu¦4<Ò™Õ•Q‚ì–ÿZìFåPOTOl÷¥R7²G)ê¬+¦v­•:RÌžSq¢FgÈä»v=Í ë¢…ôÃE"˺ëû_NÁ: »oç‚ò +ñ¯îÆæÄëmª¡TóL¯¶Ð¶gÄÛ‚½ãñI WstZì#òÃu@& ƒ|äY'ƒ°ê4gªŒÃ›ÎŸÝצÜÑH–@šÀ"n +¬NÇϘ;¿ÀÓÛû\õy®kÓê +Þuç½Á¶1ÀKÁ±~]X§ý; »{zEìM˜4=*´~œw³?ɶòSÒÒÍÎ;2»l«º ? £jÍðÂûrÝÄÃ9j%›Ø.·¡ ö³|¯Ÿ:ì€baOßC?÷_³ f;àú}>±ÙÑÞ?ëß¿â.DŒ%º°L¢½A”‘ +5Ö“€‹ša–ñ‹Ã£Šºô†ôˆ¼ºn±Çm½CMç‚Þó"ȳ¯¾ï;ê$Ϩ¡rÖ§™Â2) ¥·{(©ï’:ìlª&©ecÔ•‡‘ƒÅ5ª)|ˆø‡žPÁûëái¾ôö‹x¬Ü˜þUP¦¯øª“„ÎàµL ÃY÷¼Q3Vqä?oUŧÁza“U¨oܨC#*›Xf°ËQ½c4æ¿D*üR™G)üÈ«æ²Ñ¯À·S‚•9Ê%=b|x¥Kq`&uÓž?¥Ä'‹zqÓ-~RË6gO±Ý ãôûÀg¡vF•giaçÑÑË`›Hâ­VÍ|šr‚©óÀVƒ2Dp±¡CÙ³RÒï¤1Ïó=Û@J…|Mð¾IÇX‘t›§äYNêO¡ë`xƒDY^5©¤nœFùÛ›I)CS½×JSý¢& +endstream endobj 799 0 obj<> endobj 800 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 801 0 obj<>stream +?Wm#~çp?Ëò¯4 £Òù+1<É«Ù¨tŽY1¹ümƒŸŽ“ô…”œúgjΰöá•M‚» E²êͯⲸlæÆù3Á㒮»¸7æÏÕ'G@T¾´ì£Z$ +kà¨=yÏÜÒa2Wž¼ð›˜š¾Ô–:õ~ÜÐ&P°ßÈ}Æ7³¿Ht«»íñšÃšR~ÖÙ¨GÓÄ…¥)ZZÚzæÉîH¿v“Îïøæ@f2䑽W‘£.d@yt Ä÷n@Ï䘭f*ÖsÀò‡å*KìÚ³o @J¢Ccïë4ƒ*ÈÇ|n-„ª–Z–Œ{Òäª{ÌŒWJOqµÃráqyiñ{mµ!1‡©#ùEƒ´Æ¥ Ä%@Vl#‘v9¡šZ¶9eVy.Þ@ýʸÊ-¶bÅñ#¬Æ€ÔI(Ý"q¾ýmË]¤B!zÏ)ÅëHqè}GçÙZs‘ :ŠAƲ¶1ï´—úâéøj¸‹!˜Í¿X©kšœW[N±Hf“©^8o.‘ïUàtƒ=‚Ž¢È‹ešÈ˜Ã½L'ê'úÝ B!Š?sBI÷ +­“¬¶Dú¼Oï}µ|øÝÝÏsݹ›þÚAŠ«10‰£Ä² ™MMAS^Ú/fXö”vϪNש! V>„Xð‘×ÛÁÍc°êåPî_J^Â0x÷ý¶,c^žÉGñ2ÏãºC 2‡ªáJþŸöØ +¥ Çþ~ Ẵ(Tµ¬#—c{ `Ö€‘Á0ñ=ú®Øì1&nVNkÊok\ÖÓh<…¿yò+˽—•›aìÀ/›«Tœ¶S \JN…ûÖä¹ÂIW'y«S‡è«hg!&Ô@²,õ¼LîÏÁMÙ˨pü«Ø´1im#W ý“ùðÐ Ö§é[Ñ1ñ¢Q×Ï+ô뺂6` öâ½Jžâ |]M¨P~#g?¡m«{ 늅îOåãÂÀ¤}ßóQP¸2é$ɹÖâ‘A¢Ž‡/lÞ+æpÇ[*¤’\W1Y8`”.A³Òe²0ÊÁ¶OæKþž³Sõ:k£/Daí •R’84*3žL®eO °E¦”ßæ°.ž& Ä ÖÏŒKãLTm³sßD­7£\¹¢—Êã|¦Ó`&zÃÐiŒ“TÎÕv}ÇRF¾u£øK%s‘?ˆäŒJµí­-¡Þ c⧲eI(rÑœÞq* +¤g]Åq¬ºF•²©Ð]|&4¿Å¡¡CĤ¶¤¯uweÍ7x¼MI‡!—Øf$˜Lì{]òS”* hÖ’ ¢ŸnTG>C^y0Z!ûó´MK‰íB­où|´Úp¢×³Båd™Aï>f3ë·Á¨}Ìñÿ3h,@Ú6O*Ž%è°çü2¡}•¦g.&,£¼õˆ©Ú¬ü„ZcVý¤ˆ:}ÊUè/„f éê®'¢ÝýnÕnÓÏd~õÜÞõ˜‰¼ŠÉys¾÷Ú°ÔœšéŒ—ÝT7f>uü†@L²IÏXD­§lç>Ô$ºOBëÄ@q6¸ML¦úƒ¯>ƒíŸD;å +ñkqŒœá¹7Iý¦\r?÷á¤a(*ùÑÔ€`áÞäVmܶ/qVC­©þ_J¡gCã§/F=W²iÜB‚®GôþU|ký·Í®iN>.§¨46[ý/"åNÀp¢„{öA¿‰‹$d@ïW:§~¬tBÞyv¸eè f]îM×91%é,uš]¿”?’B±‘üÙ][˧•¯eUñķšlý+È~ÒÛÿ"RПbFC5È?k1Šm¿ƒ…7ít¦ò^øbà‘Ó£MÞ!¿ÃâÓ¤«-ÞdÂþx?ì\‘~¹a‡h¼H—CºÛé.w #:Ç_”m® T¡kíYoF tü…ñÀúF‹š†“®~Þ^e³²ïŽœuASkë~];VÏuèo|(ô¬ýJo#j=IœöAJU2Q†gÉœ8ëX¥„ P* wïßì·$îÑ×Ó¸0À=$=Œ?Ý í˜¹»VtX9å{ü¹Ï!Ý®y[>Fë?i³rK­:‡È/ú:f˜Ô!ˆÿ†Ž` ¢ÎzuŠx¨ŠvÜk‚3|w£¶ná¤Û/¸÷-ÍÄ,h8ïTx’>6‹ß©§rØE87éJE5ºÔ}=¹hÿ> ‚Ôå³ã†ÕÚÞ1šEŒV»icé]‹˜Úδì>˜©½ý;ÊGV< ®’;›”åÙG¹vìb£e +d¸‹pØ)æ+Ìîõ3 ÈV2G +Éyqx»Ü +®K¹ð½µü×`9æòd2e½Ñ¦hMía9©J™ _AÈ+¸÷4î. Ô‡´âí“› ?çj±­s-CõaŒ¾ G¸ÅA˜H:-/­E–}Eòï;ðhåÂ3®Èmq>"¢qØ ŽÿŽÂ¸þj¾½Ï ÆšÔˆŸ3°e 0þäKOÖŸAɧºöõ_5$ד ”SjÇ ï=+ô‘tÆ›Š/Á Å%,§,núY ÍdÉ5Ç·` Ûyߘïv‚ð%F<Éî¼×4G˜L®Nµ ^"Ü_‚TËqY³o7^z#;›„¿3z-í‹hÍœ=§þšßPñ"ˆ‡!†ó9¤ï˜@¿äcæ»}ÈvîÞÝÄà^•wá—?y57û¯-Œ53™£‘>­u‡ÿæ¶$>ög[·éŽX%!ë ©ß??•à&¹Áá0ÙÛE=¼ éV‰öÝïÀYåøP±kçI¶%æ—Þwú[Û¦‰y*ïU˺gùv“DJ‰,[i“Øþ¿gYî>I&º·åÜà“'˜wš´8­äÍI¯ ùÄñ¦Ù`ëÛ<³wû¨ö¾ù’kí¤ sN‚Æ¢ý«T¯Æ.iܪ:n€¤y%‰âÐBè]œ +‚ß SüË!ç(f›¨ðq $9WÎEËÎ{k⌋æß9˜ (K$d‚žç¹žï5s²,2ê±UÛÌéÎz{eæÑÁ9ÜrÍ_ç;n)•Šà i* [ 0{bg3ù«-͇͇҈ƒ! +Ó9Zù"<Î+à½Î(œ%rg’ói–(Jâ¾7Åè—ÉŒìBULùÚÈ´4Ìàø­´öÈe½E›xˆY8ɧåK4Ní/6/ŽçkŠ±i¢èŸGCÏW®yØÌ÷ 6Œéщ³//AËáþ|ý0°ÊÒFK‹>Ì)ú½XmŽ_eLv’zÀŽŽ C% ©}“/,`êu¾ÖR×£-ŸI--Dòô6;-=»Ïót²´–§jô ‡+™¶›‡Mì Ñio‚ôe’NEhÉT2O öþâK•¾·wHŸ¸ÿøh¿ì÷Æž‰aÅéæ[pýpH +…ªœiôš9ê9*¿ºÔ™39÷ñüÐÈ5\>Ò¬ˆbÍš«mraâXË–O5µWÂÊÁì$øú±“AÜ×uîþCðK!F›Ý, ‡æçÚåùPÞ²:C;Œ×i|S¿©[D:‰µ)ØÁj[ø&èÈWsûªÍÕÓ¤¾ajø¦·à%uÒ"PÏÀŒÐ;<÷Ö üÀ*¯Ï«¥t«µÝÈó8_Ù†Z®£(¶+'[SÓŸú㟫¸,a½ÏÇy|WïUiùýNÐòýëY`‰âheqÖÞxªøŸ50@û)£)Aü0òEÑ8ß-œ¶1 ’ qòQPof äp _ÄJ5Ÿø¡z•î8ª%¦j‡…)òGa”ü1ÖÊ+£’©‹¤±€¹ääñ9m1’8Ü7Éa@—Š€2" qÅð5•Â»‚“ï Ýow%üø;!Ã?(êÿÖ|e¶Íºn(d­UG!“Œ $¦´ßr1aÂ")ážæûí=,õlvå¼4øà­ù€©qf„†­š‰óCêž–LwFÎÊ'ýßš”{¶69Š<Arä;$/ÅßÐÖëRV`+ø¯¬v¶ÈËœ³—C˜¾Á¤KS!(„Š8{ýdu21qúßMëp2Á¼e˜Sô-ˆÏµÇY.]C=úïéÛU4±—Å••}‚ +÷¥‰½3tí"Ï Þ,3}÷YŽ2TÔO³|û©‰nMØhé80ýìA +¹aêYšÀ¹`™‘#61åûC>…ljBÜ|õúÄ^çׂÛp´»±üfƒðêêpïMæsˆ®{,8‰ yü:?-ôÖWÞœ2(gѹ•ùàÒ`÷†YïFQ\Røè³ñ£ö˜9H5 b¾ 3ë¹!‰éhVIø‘ìùŽj5`ÙhÛDh̼pùƒû ój.ÙÙ|á l&ʺHôNœsùè•rŠ·ÐšA }ºÓ¬µ÷dáeôÀ¶d¡5æ¯, +endstream endobj 802 0 obj<> endobj 803 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 804 0 obj<>stream +œr^þ mâ‡ÏB¢*u^Î`k?Oém‘Üá¥sø•Î×ý ÐèåƒIΙ¨ +ÐG„¡ÕÞæ~º"?®F‘•|VGË\ÈsïÃÌS”UÃ;U‘–åhC̶L %/>L¦LcžqYÄò^çñL'nÛœÜßÕQÀµ*5Ⱦ¡œÛ­¡dIݯVk±òé4S Û ì!"&{¦«)-ÆM/¦ýœû–¬KsM>^ù0e!Ó‘A–ºÔRjKp‡yU{£XT}¢Ðê]{xMQ=fT:21t;9fô¨à*Bà(Ó!Ÿ]¹GšA³~Ê ²BŸ4ÞË)a{}ZvÉP=/3Ç\ _ –.}§c+4f÷¹m]Ñî°°£\üÆIjORÝ3åãzNÜkãí$©|ÑCíÁçÿ>¢Eéˆð……X»d#ãXËß;¨ê]fŠ¢(„¥²ˆQ&ÈMá<ÊŽ‘»d'š8«É6¦(»lž°Û~k$Ìüw{q(‹“6Ã%á‚IE´Gâ”è{·­l³Ç óÊ×-ѼAù»zö7 ×5Æið_Í»’‘z/+Ýäàc—%‘Ò¼rÈÃáâþè#±P3,#£³æË´'N9ÒÛíRrÈ=(Í%LRqêÐ/ ‹a\o0d¬¥Â|qdd ™K-!-p/ú&»­#¹ÝŸ… ( WØ’p—Tn”ˆè‡õ‚"zÄé®øGŠ D¤FK+ ‹ÂÃr>‘¥ ®ßaàžßr½‘C±WÈ Û ízä £ +A¨é8Áø>†”ï8§@Ÿ­æ'Nê6Ïâ»ÞÀ»OFh¥ÆÝǽ´ÅÅ @§œoIÇSZ;IZ €C¾~ú°öD6¤ÚU¡ò_Gi‡³˜'(ŸÃ þÚÄn¬‘™Ä‘`mvfæ{úX¼ЬÔLV¾`æ\Ó¸XïD}Ýfk ”Þ(+Æ©Û4]<Ï”Ý;Ý4>7—½z©Ê1Tª!ÞÐnÿH‘&,|÷˜hcüù¯˜ÚØPS lô~j¤òïwîÅ4å>­ÿ?tßf½Ë¨úd- cWnK‹yÜÅ]oúþ·'nv¯³LûWæpj mŸ§\Þ(Ë›æ'çiûzvw×Ûó*[YÏ[_.æÇƇÞù7tHbµ6Ó’"/ö F…bÅßv:%Ñ%CŸÇ-œ˜ŒÝúFëGYUb†3ˆÜÉ›­&é —e‡Û*3i(·o!áEãƒwîÈpó;ê8C\Ӕ⼋È`Ѿ FxGMl=Õæú÷Þï?‘_Ù€}¦`|¨Ò¤j# ‹þ<¾Rï^/($H¬®ÎW½ +jÚÔBp¶ô*ÝPy÷}Â~ DéÌ +Þè,êÝŠ¸¤(l¯2A<õq%œs‘|âKŸ>|BšwG0•Ö3¤³7‹ýXëˆþ›d!ož5ïœOÿ,°k…ýó{mˆÊDE‡e¡M[^ŒNdî‘gÖÔFN+) öþÀoJÂÄ#©— Þ¢)’YºU·rôˆó:ñø”á©Õ- +à¨ÏúX4ƒ(dº wÚ1þxÕž~7RXÚ~0GpKYRÔ„ù|À£2.ó]¹®ÇFÊJ¿àO‰‘S°ž“ºtK¶Èå ÈÏ#4èý•Óé?éÈ(´ó›bؽB+‚ܱs?Mèv=±d¬çr·©4l %r7U¿µŠd—dèd¢ñ’yi<¢ƒ†9ç‚gc5ýò:šæ$ç®à²ÃÖ < øï›0~Øw«¬{6çå³»9±àUªËýK¢›>KÅ>)z ÆÉ„5©io9nMÖ;4îðgÍ'!Å·T¡à`ÅCâðŸh2(jŒSØ9nóf7鵚<+› -,Ñÿù¤»‡ôB‚>ØÄ%´ë7¡Xjjü­8 ?Û¢•XK4a*lÍþ|¿xÐçOzº¼~ÐYiãÀ€Ù§Ï,Ó`~E€#°ü"íöq†Î¾¢6n¡mÏKmî' +¤²i×ýzã&^ i~ú‰ž<¢#ÁÙÿ…¾t*¥†a3BÕ4ýPÑÓU~˜$'mˆ”˜yùBË7$‡Ú¦O—ZíŒòi…ñ_ªúÃm¶$ÛúVDn‚£¡€M¹¡mvÄÄ +ŒùËÞZÞs .%Æ!3׆¸!‘nç)Dì±8e¢ÂDò¢xËË$OIwîžt=\×|¼ Z¨È(­µ`©Žkè5KÝ6tB`«™sd_JwÌ@‡iÈžè6.É]1oh7EZòè)a RPGš![ŒPP¤ +%]Îgñl‰Á2ŠvŠ«c·\ ^×J2±Ù㥠j‹|xúßÄÛo÷.?@Ü<_lß«ðIÍ‘ÒbTa„ ›XœòÏÊU墂(?›þ„ +«økæ­6ìQ9ØÓø@ú!„ñ°*ÓaÐ瀖ª3\ŽTJ†5Rê6¼ƒ-¿Ñ~ùp§û€W < +³./ˆPaËZ!S€“¶PŒ‰“3³6¨8¸{¾`d_ÑꬂFÛóPu¬«c›÷R°fskF"Î!<çä²í±Œ{=o‡õ/3î 3Y•ßr- ¼‡m±%a?ßHvC擽D·²¹<³ds`›û$Qñ¡úq˜Âc”’\Á±³Ó;abj“&¢˜ŒÁ@ W§TÙµÕùøF÷.×ì‡èJ…V4Ä—\‚׋ãÏ* TÌÅRøõ¤F„„ZŽ jqQ‚~³*!mǘ'¦|6¡;ÊON‹­Dñ"òH9ß½¢ªIV³‘"ØÈ8†ô„t AU€×Àõ(ân7Åv• ™BÖìX„ˆ¤y=¨4QgN›"Ìüñeµƒçô]Æ®¼ã tm=(or'7^òÔÝ= ;)%×Ò{ ì bñ†b-I% rQ’áÑ®hIh:07e +Ä¡Š5S&:?N)˜P¬°¯ Nï¯ÞŸÌÑå°@}RÝ© †­.Ñ|‰cJÀõQˆÄ°BÀŽÙÞ4ïµ6cfFµ|‚¿‚ƒM¹³O´RØŽx•Pö¡J å=éRìùµn~þz»ØL­Ô¦ï%ÔŒ&~çÒM'­˜ÄÍçH‘³/8$Ø€ZEí™Vº€aQÊíÙ°|°é쇼 D‹qeסƒp©£y¡Eu¿&­A»n’‹xTÁÖØg¶I1»ƒèHÙØm#<¥Í­‰®–á÷"Ã×0ÇØ??ÏwW?Àîr[;G+_,?J\G´·ƒp;ÀÄpÓ'” š½“ÔI*M8É9"€=ÛF³ZÐtœSòÞçá‡1·øÅy*€-MHà¹K(AÅ·a¢Üü,&Ú’¼A«3Fõ¡É'ñÕCåÀ!׶T.×;‰½jv¬sà€ÔQ-ÑÚ]bF´·$(3¥iSª?9÷Œ±0Þœ‹Êe¨í·ç¡„/AxYJîÄ6Áè/â…\uZ’ hdEL\!G1˜K©Óa· RÉw™Ì•‰ïom¦Pf8ÄÛÇÐCg³Uh%…2ÜÓìQ_¦Å¼µ¬‡b«À%çAaUq©Ãw W.·¨o×BWÞNÕY|(1+o¦œVv1Ÿðƒ@û/öž#b¯!-Ù¯‹÷¬Ð]>î¤Üë4ºßªõ,;*ÚÁÀ(’gDž;̉)ëÙä_ÿ@á8P5¶W¬+žâË@‚ÑkÓê½[>Ôþ©¿·\¿½ð`J ±Lz[„’“΂\P#WÖ…˜§ayÒ9W»{³Êñ‘ëeSýÏ~T“/ÒKÿã[¥ÞÒ·ªaí™ã£‰éÕ8Çò?æÔ©r}ûº’rZ0Coþ²¹Ý3¾Î¸Êä}P@²yÒ*¹½Íß_´wÉSe‰8¤»{o <_Ë/¨<âò;ú¢Þô’Z¹°~¯²/Ø(lÕYWŠNƒþö#»h¬Þÿ+´{’ÔOaÐVƦ‘¬l¾ö2潌¹†3i¡+ e/P×-¿¹Y’4T5xêÑÎÜÝð˜ª:'¸0À‰žM@úU€¡Ÿ¿†ÓU*«ØÌ[#òø¼ “Šù +è4ÌÍoØ—>ú’®Ö8ÿZ8C{“þÆ[ÊœÂå¥y£p{eë]"¡é4Ì?M‡n…-kÑ’†Rz»~y²Zþk‹ûpK-vFüË›POú‡]“ò¢?Ô`¯ô‘#¤Å~¢¯×ré¾3ˆMD/Z©ï=‰îÏ…ù°£jàl8ÂŒ0ÒÌò£Ô3¥…‹ëuˆæ/¢ÎlËèA™-XÎ.È°Ï´•Ï5m®2 ¾þ´Ù¸'þãÓRx:Ýêéò¿†z  €@í{S¸".]ö?ÓØ({£½\sÒéùÛä +endstream endobj 805 0 obj<> endobj 806 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 807 0 obj<>stream +”› +I‰ïLÞ}.*ÁÕã%÷nœ‡z?Ū vs!Ä›ý…ä¾ï[jb×o ú®(Œ±W˜4Ú5“¸ß°¥Õ$Þ°x¬ ðØôa¹tºóëŠO )$^¯oÓŠ!j¯‰›=m¸ !bîX™*š·•y3¾¡¼»á¸eñcY5ø©äu l¯Ì,FÛY•[¤® r@••¦"„ï³ñ.Ë?Æ$ð¯|G³†E—ø$´’çØýçºÃ¨Fh=‘[þR‡Ò”‹º@ùã ë=°€Ï%Z-$÷¾¸Cà-çùº5°©ø€Þ¿'D\,·i‹ê~æ¢ébÈ š¯ä!JÍZÿ|þ“f6wYÎÒESƒø?PÅ×· ŽôUlc¢üJ¡z9ñj¥_ûÿˆq–HÕ{V‡÷O¸fáW¶ÿÞ”] Ó¬£x…¥Úbì–Œ¿õ2Ðj•ZÆäh¢ÞEÒ;2øäŽÚÓ‚ôEè4J-a«ˆî51ý!Þ%ÆJÉS«ÌND{Ó5ѼI“Z—’Ÿ'ç*€.}]²Sê¥ëîoe1rÀV[h4º¡ˆH.°£çÞ9›ü5ÝËä5m|,Î-!KÅ’ ™a|fN³¤¸quG“ªÓðÓú1t™E“>[ƒåY3 ‘]™À†ÃŒZ*.¸ÇÝÈr““í2"6GÅ6$K]4~ÅúâôýÊYØÓ¶ÒH¨Šœ}¡e= r…†™ÁVµÂ°î9èdˆ­*•ÏýL%Œo\b¢ zÚ-ÙsÝÑR´ÔN$á7ÍÒÞ¥U +¸Üø#VSpó¥&s•_@F¿¥ñU¶'d ÿÇòñay©ÔÈh¢£ÖäQùŒ™¼úcâgõ¢rB–Ifl%ç¿FƒDî´ÓérßÐË'0Yfòr³å‚SOÐøX§È±€š½ŸâܼmLûWŠhvI-š*)q ¦CùþxzdÇ0^²“/¹PKÉgèAR[ÉËgÔš4:¬ð•E4¡S§`6PyÔ¹ö›8kõø^ «Â‹ò»_RºXF;ßö¶h9GuI±—Ít”sO½’UBÎ>²8òúÖú{׺ö û·P#¦%ý«@ÕžWÁ‘°šU4&.ÎÃè+êy$˜/B¡CõS9^‹°Xãi¡GË‘eV¥Å_m C +ˆ"úÁZ‹§ìã›6«Ò>–/¡Á|êÀ@³3‘?½ƒ€XzB>IÛx;0 Š»ÛyÓ:P›´Ñ*“ÙS s°.a«8ÚоÖ#ÇÜu +a÷´"¦®¡¬Æb¦•”ãLdIsŽdˆUóÿ’œæK¥«KMÙ©l6¬ÇÖ<ŽH›h­«Ü«–Zl Q4CµÜf‡ËÍXÊàó€Õc\Q5Šî[ËO?²Ó½åÞªÿð”Öì§ß²ùÔÊjã1L|€‹#s§zðbìÖý)üÓŒöS³¸¡ST0šK>VC_>g7—o¿ ÒUnî³ì–×­p‚èC‡¨¸t’- ‡.›5ÏáõÒ(”Ù4Kdv&{“ÕÏ~WFfß3‹1[4åƒöTêQä[Ì +À‰¡~½ü0 Öxߣ.ňԥHE±ÙÃVõ§^¬)g¤}ÐÐ*'"cÆp¿û}* &Fm)Is4ÂûR‚òï#­dVlv•h­4;-SÐP€qh:¸ÙÝÁ;àŸoóºlfOØxOo;L¯þÃ9nÄh +›¤K6´\"†þfR÷=ij d@›³ÅèßÜUá3èõ¹1*Ü‹5ìNÑCŽT|4 ³)ô\  fúoˆ „÷VR«ò4`ßž'/üvÏož (ÑÁ½8-\sM*ù¹$Zo(Õºd™»ãº‹'’8"*$)¨anyÆ0äÁ:º‚ˆáú<%Cqáê{êÂ: Š4¯æí&MV#@.—)hžî%Qy¯#ílù¡ظíV={PØžNŧÛ%œ¥_€«"2 ^«…ö¨t eDã×5ë6=Šž¶ê¸ßA¸:)Êyäi9½å$MO#ô¦Käê&gF}ìš?§ê!U€ëÞI.Þœ1 =c×ö½B•å|eóØ#ÛqF;  2QÝE…ûÒKOÊ[1=«pŽ$n£vE¹ØÈØ\±88 ‡ü‚ݤWOP!™7}æyÛƒië`é„뤲0][úPÁÌÝálèøRÅX)Ód(¢ÖÚç3¶¸úhÚ¡é¦Üµ³.‡…ÐÖ +(2¬”.÷Ç™ôiåªëçó¤å]Ò9Àhõ¤äÌ$KÙËûƒ©‰?mŽ?’é'+]×Ø{þ®zÊÎ×ÄÃ/‚€ò¶ 4ÿé¹€IˆÙ¥bK`Ò>ÔßCñj]ÉX? £ƒ Ý,{áÂ…ðëP^‰kè3·™zÔ×s27½Ï±±éK~¤Ã*i¨š”ÖÛ§‹n[Ï%óèpì8}!6a]ηg‰Ê0§î.†èO 0 <6%ËüÙÙzÖêR>mm'kIZÿŒ;{¢¼® Ækæ +rc¿§ öGÆ6ÚäFi rê…+[çâ»Gʯ¸wxMÖ·ôÄ–I‹Iä +N¨aè´œî»ðãgYœ±QŽL‘’@ÆÕ¬Œgœ(íC^É”*÷ì>7Âä §ëÚ*g5Wg“ƒ‹¿8ê”ëÈTŽ©È¨‘ÙjRmØY~…øI'{Öh¥^º§%1¨czƒæÛ0V$%%‰qaÙ#ÍAþ„v¬øÉXëÂa‰mµì}- Ó O>^¸ žX) y¹y$W-÷\8Á mt[ SVGÃ惿Qt›îiM Üëĺ[ªæ5 +K…Rj ¢ºÃÝãÎÅ|< 9ÐÂ46’ñqjAþ|ùÞ0-®.LNEŽ‰/JÈû@AÅ‘NÁÞñq&vîäÜáxmI ö=JÐY/n‘¢·K%ß º4 Ÿ ÓýŽÁÕÅ5ÂHôQ¨ 3¸q…<ÐÎRˆ™©Oµ¢–••àƒ;æÝâÖäàñæü)r³ùœi@ÞPBdBÔÑ0šžÂÇÒ™í¿½ÆAñÞeÀãXðJXR,"ï_˜ >ýNqÊz&Ú°­\h’ý–óñHf3qÉV›0€÷ÞØ!Àðê‡2û Ç®H™”:®gêí©Eø{ã2øžê•ÏL‘( œûŸe¶Kê&¾¶Ê’mÈ~®ÿ]7›âZÓÖ`¼Y€esá¦ÝA}ê;êbxûû^ùe T•Çzׂ…^ôµÚ̓§"„æÃê:{ëÓ±»T@SJS$§pëÑ5ÚNV~zõHÀ‰Çµ'‚Š¢è[þþ(:†íj1#ûŽÊJã«ÍþeO_tù­¶WjgI æ¦VÇ?$ýv%И´Æ¶mÊ +åÍJÉóÒ ñïÓE¦!†t¼~ýEOì‡õq8²Ç6'¿ZÙŒä3¢Ì߀úýjj-Qò+â:oúÞðäÓžoœ?¸ªù=­·F=4Ê–öÕe„EÇY›À 3z‹þt±™ãŠ“]÷äÔâßxãÕoTÅ¢)îp&gÇ–à ¦N÷7G@SÍwM’ðr‹eWè-l[mÚK3­šË1pµœ9>p¤ÍÈI!Mê8Ó$Ne¤hÔÏSöéïÇ2¤údƒã°mö_Øò(Ù­OdBõñ½eAƒâZÖU‹á ¦ÙC{ªɵ†•ÛÆm剭]Û-—yB»‚nöÀÉÏÏAÑW"äÅû—ÀÃ(β>õ»û¤!ßÿ¸_TªP‹Ù¢+ö¼[•—#Gÿ뽯"´ž 媮@ÏÓmH‘0©ýg–HWµæ™Û×ЇUåD=0/xÙ+£R€ WÔ3°:a,*NÀßëß* wÁÀ}âf;‡†v‡¨!ÑîöePò +endstream endobj 808 0 obj<> endobj 809 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 810 0 obj<>stream +Æ»vRÝ¢¢`¬åOØ8œ×=ƒZév}Jù™ûáI§EX€7mA8=´ktñêö;€3ªéaq“inézyÝ-Ÿ6|ã +fÅx0Õÿ)dœŽ3â$–±?U2’¸*ÌÅn7½©-†Lq L}››¦ŒàE?hhJÓ‡ÝHo†-3(àðhë+UñbÜÝ>ò+©–8õ’C¦ûlQ%Âè9°Àô0Î~RŽºä&ãE£À¨Oå¢J´1Y}Ì‘m=üÙ§%ݳ©Õ$ÿßt@ùE阖ç ïHX´5Z´{JüÑŠñ1X ïEÎ÷ÇØѪư&/zÆÀ­”y8ÎË°¥}óµwaÒþøeŸí1ÛWœMÕÖQ/íׯ´×ÒcæžÁŒÉÂ;Ÿ™ªFpa¡F ±à}Mle‘3k?ÿâºD¦ªfDÞäÜ7F ·1C8€ ´œVÑÒ˜ú\"SCÄ'͸¾çæÝVZ4.lد¸^]ê÷]”puÇEP½ôtH»6¥V# —Ä|G˜¿„cÈÔô…cé +¬Œ¥tÚð»-aÛ&ûarô-0”ßTGsÇ>Œ˜!MRF[¢‘:Õc_+K3zïð8Ü÷ñ'<‚Ídóâ$d>Þ0…ýœñÍ}™(šôîýÌ„ËÝø?÷ýµq¦Ô5‘ ™×86ìd¦6º‹¦As*ÁAf;xI"Þ®ZýBø‘6Ÿå¥ôã»ê§ÉZ¼B˜+äí»4µ™tÚá{e~h Ròh—¸DÅDIíß ›îÜÒÝ‹^éMÔظNÊ +A6á{AÈŒ=Þn[ÎÓßœÞéZûU­àÑÕÔ–¨i`m““QÐǼ•zÚô’B Ÿß¥(ø±Î¬óÿ›­ráÑÇUx#&Ý:¼E9.••½;)ßD_yiòRx</G/uNÊ/„°glD0÷t[Qyÿo>&!ûczˆ;úѳۢ ×JªWÅn;kŽÅ HÓoA…’ÍÒžÀÔêp3©éà«íK y®Q‰Mÿ̵[òô9ø…^{a,çLHÑXëy™1.Šü-Þ ¯„Î=Zhfý“„æÜ Ó2o¦N‡©ÃR§îE¹†‘äè@WG3ýÏNª¥íú‹1üg|W›Ì Øwˆ¨«ñŽÙSýG0Že5:| ++m绹ÕtKáîöôzI¸ x×’qÁ¶Ä·‹À5ΔOs?¶×ÑçÓ` =«”nñÌWÃë{Äá84än6Oϱã(Ç"Ç™_[{'ä¨@©1gxe#ƒoñÜG•KJ$=Ã%£cM“Žaª\—ËÀX6'û±~Ș +‚&¹öd aå\C—çE™Œ@N‚#,$åi?-çïtÎ'¶E¬£DàWƒumÿ[3Y?÷*ÑçPk´žœòû#ÔœLîFԡ͸­„U˜õºÝW1Óe¬åä['ã<è[Ãíò‹¦iÞ}*f£æ¨sÀÉsïŒoðÒLr¯¦é—[‰™m¨Ä™ê„@ÒÅ!;·¨GË™ÜJú2k¼­Rarn|½»mr¯ÈE÷¹±¬ ^–jŸzÙ‚ áí[!»:ÖždÒ3Ö"ĉäc‰ïëc®wîjO½’½µlÚÊc(µÌLþOh@1Õc¾8$1¹z™{…Áæ̬é—0Õ÷ƒ3^`*bFü}ØVb×]ÅšE‡§—’+ÅbÞ3Kª1gkTãTa7y_e[]Á0UI3DÞ(†æ»0€Û¹FªE¸jÆÌI*¡\>S\Þ¡ B^:péÖÉÕÎ8q<ãt˜±2ÎF±»lŸ9§Câ‡P·n«€€9n³7o®%9ê‘eV +Ò~ð;Öd5ËrÄ÷pÇ2MÙ_D`® Þ-©ô©páõ¬¤<…¬š#i®þ¿W¦«ZG_Óÿh@½d~Ç0a1ýÖŸjŒ[¸»OI æÌ ÷BAòÁ¾¢ªÇÇÈùAÚB( +)ó49­»ß¡RF]W*ÒšO¨¹@½¥l¸ÒRµN2µ‘4*ÖQ JVnϸÚ?2uÐr<~|dlq›nˆ®gcŸÉ:‰>A%œ¶œ } +Dð£b–Ãs©ËG!êâÌÒƒ§Á0šßŽÛN׸™¾ƒ?ú}hìd"×¢ì!ïš~ ynýb€Á3˜ÈWš+5ç +.C…È=]^ÇÖÙI•d’«öq$—T<>þ"!©iY‰ÁûåµZ¤ tìúS3(‹ZG‘SôÖ;T¶²,:ýXiþtÞÉ5v@¢¨†MM*¾Œ×[LÏÆ…ñÝQ‡)é«ÀÔØ°n"SSó€Ñ4F¶(Ð ð \9rúÚ75ª +˜ø™CT»pøÂFYtÄ@ëv˜VÜÉ° ,¿œJ'‚¤å‡rófÌw¦9ÆÑG5o#«›¿‡©G_3´úëæ…ä¶WêO±~¼…<ÿAP¼lOªæ1®Ìó2h ÒØ9ÕÆàèšÆb+5¦–¸\ò Ç?Ñon €;œöQ¹öÔû1 kö`*7¦\cÔ‘ª\8?¦“er¥­;ûÉzHæªDêŒÂ§ Ž>Lt|‘˜r°Hëf—ÿ7GÕõ_‰j1­sËòˆÖ'huU铉¶ÓiÌÆØ Øàã® 5ª¼Dʎê„|ÇŘxféð?i“ !ó-oÖW¸U~kå,h bï»ÛtÞŒk'³ÊñuˆàmWoÜm ‹*¾“‡ +Óù{¨M[³¤NãTÒ˜žhªü˜gè&°žÖ0é76CLð H‚/êÑ7Ž¨½ÝêD7€!o ¢в˜hœú$1‹ãª"rv½¬ ãþöËDÎО›lD¯¤¾|`Ó‹ÕfèýŽú~­Œ +m +˵bºíu†²ÃÚ g¢ß2°}ÄbQKûSHç`^Õì´ýœ]€R{aâjàÀ]rÎír­€_1o¼('Ù\°3nÓÁ®WÂzhÞºñênäWóÅsDk/ßüû÷ü!¥ùÆ&GÅNµ=\G;S +endstream endobj 811 0 obj<> endobj 812 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 813 0 obj<>stream +Ç&Øå=ð98{Ó $þ±óµðÔ"+o•ŒPP’B¸¸jxk"¯*©Ô=kÒ!¿nŸ¯ Yý®¯Š«"¦Æ·2UùR—BWéPÙëµ{o)Ð%\%ºYÞxa™Ðã}ÐiøŽFµ|T‹ÈÔqâSãJÌíòÂF)RðʲãšÇðP`Ýz‘“Š`?çèöUdr÷öÔ·¥!í Œ!Q×RÐz‘îþ3p”ž°=Y¯¸ˆÑŸwvÐèª!5ðä\GŒM$Ù“À½ìj=v9í–Àðj܆l™Š˜™ŽWVß;¦þG Níb@Ç¢€¼<¼|è±™‡²®?K/¡ù¡J—xnB6ÝÍä-Ê9:Ï~rDFœ·2XîC/wõW V°5tYî3»lxQ*˾¹^±ãC¾°oVRl{‡[?¬9‚÷r¼®ˆ …Ì79+?ª¥áºç»rfÎ5~ FÕˆ[ÿ¼xM6Aà™ ŸÝ(ÉzˆuÞQAPÔ!ðoM6†¸lÕH4dn›ˆ{ÃJ]3Û×ÆŠL(>Ï>£#€H¢Ôcû*ÏbÚy3%5¶ÝÌËWšƒ©×Âáff’¿¢10¾8¬#tË8mï^ôÖÊ $ô“¦/5Ff“B‡¢1Êz=™ Hn¤:Ñ”#›»j’0 ïÿç››Û{s!77¯æØZC°Ò­H§ÐyšÁ8+¡§¹ë±óP´¯¥˜pÔ\¦‘èÂ0hÉÁW´qé¯f°.ù£å¢…ù$µgUp1úÁþ‘Ëð0$—ÕwõZùùLàR| K|ªK:ý,”Zظ¢“ÍÆ4»°öÅPü}ƒá79Nc sºv1¶t5¤3d™ÄLÜØ~œç?‘ÂņE‘Òéú!ÊvTbäk JC¿w²¦²i¸Üf2e_}>{Tx*é#sÔ¬pñn±‰¶U)@j‹Ñ”ûutÅ +ŒÏf—M*è`EÙٮμ¤*nÉ°gÁåã¹{DWõä±dOA›\ŠÚ=JTÏc©æ0}š¿WÆFØ#0ÄÞm®q4 c±t&…Þ·D%Øxl"ðÌeý¬ð9Š‰ú˜ÚŠ"¿Ú™1~¨šòïtñhno0’&¥R©]Ù–¾‰»|pzö,&Ÿê@7y —µ¤!\ìØyÉ\dZ«X-ƒ^«ìö!Aï`\A> 2M Ÿ‡›6sóéL<ƒâå2§a°÷Ý»E§ 1‹Fbü=vA^Û%„§ÿ€Jö¨š ÈWé ðÀ4–©ß× &¼ÿ<>nÞ”~"x†<[é¯jðâ`Ùž.—©‘==çÌU«/â¯Í®oôêK'd¯qUè•x€ÀÀ’rX%1n©F÷³üæ)wð +ð±²h‡MXÓsjìJ#r·!~“ñ³B¦îm_ÿùOÐ{†ŒÌÕ~mEå| jó‚à®3,–1 ÆRîâRbé½:ÜáXø§Úf‚AûÃPò‚9®Î•[ǵ‹àïô<ñ‚ÊÄ?CFG=;…1Œµq܈îLóO†½›-ù¶OXnãPÆ‹Õ³ì ‚FãÛ†»#¡\’~Ãû´PëóÆ1fÑ(FÔSCŽ‡c¿#j“‡’,Z®߶̨±F=záğΓ"T?xÉ´rãë8å;¶s€ë Ô˜L£¹G̤sˆµâ.ÜÙÕa°ÉŒ'áå-ö.Œrj"/q5:eS·$soR„%ÊøÂéöâMØ?kÀ¿¢ ŽsRþ?Ê_ʨârÝÊ¢—žs¶JЮv|,7›ä ®¨ELEËJq§b>Kïâ%‚ýVܱt#Û“å½ÝÞcñC¶ù@uuaÆ+6³D«É¼Hvtk0ªhð“^" Ê¥ŽÞ|×øþm„Èüò{Fú9÷@hŒk˜–~xÐ×ùèÀZ÷Ä¥eÞw™o§(‰…Û!)"X +endstream endobj 814 0 obj<> endobj 815 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 816 0 obj<>stream +ïÉ[Ÿ5¹ GoÃ;à»Vù9túÂü!D-f°ÛQÄG¦(äˆ ±oVCº ¹D-õÈ1“‹K?âW¤djLQѽŒè”K{2Ô N»Ø[P³V“÷¥•wùIÿäûÌÐöÍ÷Í·>“;Á,ûO¾íš3|r†3`3h¥ÓèK¿tJ¢n?Ë­6šÿ5o ƒ³n iÜ,F•ÎŠ2kEÑ/¯ +ii˜V×W¾ý\2Mn¡Ëã×¹×±sÑ!!WÖñ'Ô.Å5¿=M,ö²«<šª2IÖB´ÀöÕ TYþÉ×án›•œâ»B7¨æR›€(Qy5¤¤i‹HF<ò¬¾ØH3{[.j길-ªÖÛF ŸœR€½÷ão€ç–76¦Q/Þ`Õ–œ¥âèÈGå¸/UYñhŠ(¤2nùõQŠ¬¨-9b¦Þw¢Ñ7›½¿&ÕnÐ×8§f Ê£žÀ>_mGJ²žÍ“fµ#ëÏÓ{BpÅ(]Ï úõ.àc sI¥WkC×zÍ‘~N÷*ž6Å*:Y ¨Ç 'Ë[¥+&ù±D×('¨úÀظžžS>’ˆÎáÉB?‹¶Áטa$€ñ ½j*{½ßð­¬Ð™êÕ…E:’} ÒäK¨?Pôý¥>žà.VD”‰Zg +ct>7 +ß^WNº·Ç8|¥}±…[‡œáér·Òoì[f3<3÷&=¹é8Äq€Ÿ[s`3¼ˆ)0*Œ‚aϱáÿâ¹ >Ú÷1E¨Y]™WM\óÇŽýÍ%W>/£:šZcžz& ¥>á›}uTûD:Äúí<ÀnXsýzæ¬ £ æ8nÜŽ{Wqõy¬ßªb¸ˆÝ.%ÎN[èíívÏŒ\½×ÑH?}g…<@‰56B^ì)8äü`íRîQ±BL4j–pZD"²Z¡MŸÕ%­Å ˆ]j7ÙX5Ú¹ 'ZͨÙAnÓ(:š‡kÜåxï£C½¿Z¤Vž£hÇÚ0·R’ȾFÔ›j Lx(uƒx3 -¸­)UCP¢ü\ýDéd陿þ‹.¨mçðT=Ÿ Æm~éþ?ŽKKÝcù CÊ&|^Pñnæ{f‹ÿ¸óz;ÁÐÝòr•bÒÿœx …²wUââLøœ «q“ÞÕû¶b˜dc&ê™ owo=£Íª,ùðp±£ì©J8±sSøB÷©­—<ÉãÁ”‚y2Fݹ+§ Yb½}ÖLÐ{“‘pdƒÂ8k-—nÓ˜•Ùðr4¶ +°|ÜÕç®á@´tõÕ¸†Û¸maœ²£©»­ ¨WRH´b0˜ÏbþµÝÉä`rã40†0ÕêëiöH8Õg Ü¡ƒ2jØ n5\Ðý&_Ôè?BÝÝôS*FSÈßä"¦Í€hºoòÇÿ« ØVîèÈ“aC‰%!U#®ï£¾Šˆ VûlBéêsd%c‡¯ÍK¯PêJ¡^ìÞÈÙ›S56­ÐWðáÙ}µ¯>†e:¼È ^UǸ‰]§$^[HÚ›Àlá‰?"xvµÚñ—/d©èDyvì®vI ‰ã]wFæh*U2„è·#4uúíA$¯4fð÷澸OÑh¡¯ƒ¥²a­Êøóaô+PJ%/Û®ÿžOq©‹î$Œ«Ü‚zG43ÓF4¨-]ê‹ÝQÕ»Æêq5ãw4Êj—&¡©m jàõ†b“.‡¹ûsY#øÍ‚ Ä‹=V“`'|óL?2i„=»M«­c0UQ'ÕW#'ÃnA†¥`m®FÑî¸Ãþ”JD¬¼ +•mbz6´¥§-•h>²¤ÆààÍ{‡ìÿ3ÄNš£¤ZÙõcbGÍ#4ÔæûÅÙCA®³zý'ª‘†É|uf& ªùèõ‚½ßø‘T¾ïm<…ˆ´øzðùHd1²ºY™ÃöO!YDkÌ÷µ`ÝN¥iÚ·0{šk÷Úq`¦AÛA `‘»Yk§Ç mƒ €rŠÏ!V˜./! zg„椶G8.›$¶.·UÒè„ìÏA©FЄ\3£ ‰ÈgêªfêÐáa|½œÛòë$KÔ³Ìw|U}còç‰Bð#H )jT]A½Ê’lÔÙ²hÌH•¸5V?”—åAëèB—«ZBM:!!îë‹éhI¢=–Ó-d-M˜[+Àñ1ò*"¦Ê>[aì„H_U¹Ùa„¤6„ñÜ~/Gí £ÃVY¿ðs!ÌBC<Õt†¥':Ü5"Ü\ã—z0³4¬zÚ´z0ý  y»ªÜkòiJi¤ƒœWθIšcêTœú1Çá§ø‰ûdÿ¥Òiï/¥úœÜ0ñÊ9Ö7Ö`Ù:ç òñ_¯‰epNtµ MH£oÞ«–bñ­«Dh,í·ÅÁ~Ý-­]Ï~ñ¿T\G¾=¦þÑGb3f]€ÄõR´Žõ/4@&ï…&b² ÉožBÊ?5k³}6, +’4vHM_Ñ1§ûö‚’UÅÚß$Þ¶<Æ«ëä]ö1–Mh·'jkÔ’sGy'YàÁ´W‚ø ¹$*Fß” ÎG?¶*?Dˆ4¦œ‚x°Ì¦ëŽ5­0)í™Ço]ÎŒG„ù6=±yö9‡ +ìº ¿ÃJsÜž­Áù6ªOÃ_jâ.5þ>òBò•J«ÅwQâ töõËçîP4^”™ªÍlú$Mð<3+óØIÖàt˜½ÑZkžêƒ±|L /ϧxíŒl¶]çÎÒÁ"diHÓ©µ¨^W«2ïMrh@ÖK­>ÕÉ\áªúÃááø•(òÿ C„ØÙ ]v ˜>[ \ ó·ã÷¸âTó.»´±ÒrZb v䇇–eS>áËlhØNB +È@ÊÌh)çéY;‰eºxqIrßêþ§¹àq W¿ËÅÅ>øGaæ[SšZhäÎŒÄÜgŸÂÕ_xñ¼æôý„rîq¹—aQ¡;‹÷ÜâXþ1Ï`ßãµ[ryù¤àœxÉðâ[°gÒà¸×î¨ôŠô§>WJáÇ“Äè@xì¤(¸ó_¡(×,‹iR?Ýn0´o²c¶óyÝÓ.sÉ·mÿI¹¶“¡™7싼9‹2Ý;ö¯öjÒÒÍD%Žb'qÍP¢ºæwm·È_E¼yÌ·4ñ!&'A¡Uìˆ"þ³CGX‘TëÌÃ碋½·=”¾šuÇ$(P^£Ï>Í<žóày„t0!èô®),ä‹kO²Î=p]”ÇV¯iœE¸ªèëA³@ ³Ú ‹IBèõVÒ?æ‚N—VAW6)ÀŸ:¹8WÅ‘'Ñ ÖW¥ß c¸n×…g$ˆÎLŸm#ŒOÆyÆ+Ãe”ŠÐ…d ç@Ñ›Kë9þ Ù+¿¤¡C’Ï÷Š…²­/Þ.ðŸJù·Ú¶©ÍÇ›sô_íÌOÌ›¿FîÂüÞ$á›÷‹cÌŒªâ¢âQo<„·WÅ<*Ü®YîìѦC¢od,¹ûu‚ý,AJ%5ü9íÅ¢¹¤´®,+·_éj íFE¾ÏATAøÙ¡¯+Yãĵôp¥úUˆØ÷hµN“|oý@)äz¼ëŽ*KÐÇ„ä!ñ Ð)©I­·õ–ye(]¢9GÎ?—b‚¤°+8ð4­m×Ö-ÿ7.¡Á¶Ò$›mÌ\ñ..Bûrߨ*&¨H [^úÙÕ%ÉŸc5Ï_­S•‰ç£¥à“›*"7²O®õZïÆD£Š¡è[<,êº,Må]È°uˆœ'pl8凃ÄKàeûjeZʳ¿UG$¾T%s|çÚGî[_h0ã4ùÕõÓ‚óû-øïÀ:åÀÊç#¾ ßÜá£I~ÝtØèWo°+†œËv–á¯÷Ix-Å÷¢)Ÿ€«¢÷OéÔI +¾ÛFG¦V_‹>vÊCƒx£ëz& +endstream endobj 817 0 obj<> endobj 818 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 819 0 obj<>stream +I`HYGbÌÒÍ“V]6&\Ä=µmƒ‚ɃWú¢‘áHW`L Úyë’5ArlÑD ¢§8‰N¼%¢+;Åš_ (!va”Œ8!|7B¹ÖÑì05Úí$³z²ÙjÅú7š;´­™ ê7"ÂÔî_3KªãWßÚ—I‹,‡ôp»<¥Z:3†O^M•çIÊéÝXñ ñÄþl¾Ô^ÌsÝÇ@É /Qk×-˜Ãtv-%iþœžÈ…¸}Ñëó+ö–Ô}îÆıL©?0s+Í!Kñ:G7{'F‚”ÑÐÿÚý±¥œühSÒI´3’Õ™êÚ7?¾Pßu5d¯Y»ØFj…› [r"ˆGE£î|¢Å¿IeæŽRŒµ!Õ¿;ËÜýÎÎÏõæG!^ˆÏàâqRUCŒí×é”d?E¿¾ª;_™s‰ƒ¢Ån×óçm¶•±œ$#º|#É¥H©—±±<—õû2L«å.‘^J( ûÂcì¾:/Zž +Ö¸)Ó¦Q±[24'í¯1 +^N×ó*^¢ßpúòY ò…ù¨ÍÞøÓLqÃ*ÖˆMvÈ [Åc7x(PÎOÅ[Ô*¶Ð|€Ûý…ôüÊî$‡Ž}©:³ÓîÐås"«×Z¢60Œ>Jô¨#‰B9ȸ-Ñ$ ¥,qµ^°ç˜Rˆ6ikÐlºÊˆu“Õ?Þ;³3ºïXK…8TT{“5#ê²ïrâ%Å£SŒ!stìókÞ^OèÑ¿ ÇíŸàPO¤žó‹ÌôxGÃA·¥pÙí9ló•Z9;¦5M¼Û8äLÁ.@úµ¹ù‰Ì-)™ƒíÏ.Kìq”UUÏÆ`­Õd` +èËËŸ¤%åžüÖˆ‚ÅÒ@M;Å Qäþö®Á‘ ©ž¾Ëé¼JÛÄq/~%9¶¼tœ­ñt…˜”{Ç]|d$I­8ü²Ú¥ùðre¸œÙ¢Ò?'uù/ªd>§Ç>P`ö@Ì€7ë‰z*÷úDaœ¹N—ž´#ü*ÿ}šÝŠÚhÓc %‚ÚõüÓ„@†«ïvþªªˆ–•Æ§X×ÏÑHéÀ?)]Þ‹—jõh/9âü÷x’ó*eφ uŸ +¡û²$³¹”ÄL!õg!¹U U§öAºù•¡ÙMKùä‹Ñc8(¿®)ɽ͆´2“Lk±«ƒ/ÇqfÛ‹Žâ„F¡ :q™“€Ž  +ò¬÷:R]j×Öܤñ/h¼c¤ÚBtï}¢·-ˆ[ön‚oæj'Ó…–ÆÇT/ûŠ¤+QŽ|rpÌcsflô)6Tá·˜árùUOÒD6üoÙ¿ÞŽ~Réb@³ãœgÒÄóÏO¤L¤({ÐI`Eæi``N?G;T‡s˜*± +Ç„RyïÕF bÖ_…”\Æ)¦ÍÔ.êø‡„y«(LáU<=qª×,jè¨ÿïNtAŸ9õŸ'´ûiÏ)@œSï‹z +ݪšûæ~êDÔÄçÒ¶\÷3^ƒ‘rYNÆèL,sÓ9,L窱ŒðÚ==Ê‹öq¿2'I‘Æ‘fÒÌ?a5˜…ãä¥ÖC,6^½«•2FÉâ÷eœ½mâUçf”“ŠÄ³•qÄìÄžM:ôcêP–è ôÀ;Lc[‰Æ¹wõ>²ØÈ!žEÑ| èjv8ƒ{ßêïO´ß©ðÐ)¹ÒO7ŽûLCæPA§S+ûé׊7²™Zá&0™ñ/Þ çÀsÅ6ë¦(ì#“´TéXW+¸ûYSPU2Új£Úó >ó_€MXo(¶R‘ØýpkÛú‹Ýo)¿2ýFÀd,0½c!a»\ÊuÍz&[Òq¯¸ö.``Ž¤PÞ]ÛèlÒ6žæ`†±œßv-àAþ»»Œ8ƒ""O“AæG‡½pÎQLn½ÌM¡äþrQý—$,1ÚôwX„ƒ•dƒÉ`ÓÔåk™½–€œÇLƒ“²²1énù§Oû»~óúÙ!Å¥}¤²(,Æà¢K'}HÞÎ~Œˆ³2ê{µ)Þ0Âtá ×:d»+lt8a”°ÆŽÈdŽ–{»–„žÔ)QË¢’þåø"аkä*‘_›[SóBOOÓ€<=z;®—º’d­²˜¹ÏWWSl®\Ý0Zÿ-4Õ|åž5SåïªE¬äMœ)-·’À£•x*ÿpÁU‹*Àÿ/x%–º’Å/MÇ™ë«â®Úʾ¾]ŽL\cònô-~%Z¨Ïg™j™qÉ÷¥L +\m·´GôǪñz ]QBáž?§  C“ž³Ô¼ŒÅVPPN¸94reU¢6¶1™TzöóÉp‡ƒØEM[Så=Â<çNÝUWñ†ð„åzÙTñrt( +em1žpÙbÔ¬4?àŽDË í6ƩáP,òÿ¤­ûÆPq)RI˜ý÷"”†hz%ÙD Ñç M4uL†ïŒŸÌ¹G•{dÆoªª¿ÓS=S +TL7Ìj¥–<÷€@0ëýÔ§¡ ç=‹,@ z a9fDÿlÈgîúÙàzèöØ%ìê +‚ +7«•á†bpIJ¥)ñÌ’”YQ ´ÂSh##jhzóCæýW6¨»PÛܳD_–þýî"›5 9×¾óÞdp9ˆ‹ 7—›¼­!_:MYxžòdžbó5hR)4÷F’©éT3áÞgd }£ür䲡äœFÖÞ„qtZîårÓ½UÌ{H‘,»-aeoÕ>ï¿xÞ»¤'¶–ëÖý'©5z L´WFex~Vzv«WÖKå 9ôþèî‡üüTßEË6ª¶ e3†+ß$–¿÷Ú‹8È–~9_¿èœŠ1»à¡q5»uë*«gÈø™BåÌþø£Ib'ÓÑ¡êñÌîˆnBü{[A üAnÐdžî~–ÛŸ9¤Vôús~‹ã§LkU†>Û£šÏqéNÕ>}õ_,G] Ë#t=ØÝQˆ±näß¼@BjXÝü0=G¦‰ÇC£NtÂþÁSí7Ä_Qªl¦ŽQ¡HÍ1¸×uÆûÖ´ÚÖtî{a„ê` ¡V‚‘»iÓ¯&5ÁAGuñJð·Y°¨ÆðßÈj,>?a‘ñàh¯f~«Lú‰ñ[¹lü –iô¸·u“ëKaƒãÄÂwän£›9èIï\\§i&|æ,qÕ>by³FªyaÂçöja‚}K3ßœ¢-ݼx5®MRö‘kò6h­<üôº®ôW®W$NNÔâ+½PJe=¤? ‚Ÿçj(ˆ×ïͲ«ò;|tÃÆ›<õ¾¯ (—ˆ©Zh­¢l}}J!±CB5 ®.!o¯+ +/<ÆÄâ fçÇAµð"©ÐÂVz©¿+ק3jy{HûÆ3'XÕv­×ÒæÐ0Ùþ};…¦I¢$#m©zâ¢Ø@"Ã/®3ú†§).àvř飯ÞÖøÜ »u»}tíl N[™!”¾-ðêeÌ÷\¤›£·|ê’´‚Â&Eª<âÀΉ¾¥xCë𞧸†ã=Øú´"}ðºN§Æ ï2¦r¶0©š6R,Ò//PHûöÐv‰4€s–œ«Ô_ªÜçþ‚ £¥ý±JÀYQLÚž)D\nWbä½u@ÿJ°š?¬9#ÿÔ¶Àúqè"QÛöh•P¬ý.™ +Ç9Ïð`ØÃ`*½Žd;#ϨRO†¼‘8‹›R÷½¥°Ùù +Èú˳š^f\ ?}‚UKŽãÌS1…bøNiïHÀ|+x4Ãð8­ßº¤A¦4‚µ®4$ØhÚ;犪é&`ãîBEÆíÂù Úú¶VÎÊ9ù;˧ŠÏöëÉŽL%°'ˆ&$ÅwÒ!‡Î‡‘‚š|B b]E +V1îW9CŠÞ蓯3ЭOև冟|<–jníïÑ:ÐZag,–ìÜðstS³Ô•žÕù0f{± +H÷3¯F†¬€¢MKú'­Bp¶ ñÅjÝ*±eÅ,¸ff`÷túË9žYJŸßaöºÞžÛDH¸‡,c?aù¦íóøv +‘½Ü‘\3@õ èw/^o¥å„7ŒÒ-$ðÈ'®{uÔŒBÎDì?KÕë=Íá ï;…›Äa9㹋{t:Kªš!Lôò5¾Nñ"O„+\°¤#ŽÄ§™¨OôÆgoËóa¼®À &>ÛX”.¼2ï!¶(px?¯Ð[AêàëÅ’ø]¾ÞhÜè'V~Œ[0ì–ÉHûŽ¾ L ­3œ]·¦—\² îQÆ\B%I4Z(vst¤hC3ÖDÛ¤eyU¢µºŒ^ Ÿü«cÝØðKõÙ­µ5áS©sà+™ßCQã¢:"ëyWº`Ñ&'ÚEíñ†k±§ÅºáœP>;éoã c.7ÒD³ùZÞ}ḇ/Áùnß+2fø „¹“îH Æ®àClO …»/s5,ìÞ}®ßC\Ph* †KyIvž’\ a tÑ +?‡Ù`71|虾Q(}{Ú<½·?b¾õ­~ΰœÂ2ˆÎkÁZh +endstream endobj 820 0 obj<> endobj 821 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 822 0 obj<>stream +x^†tÕW{¸Ú˜g!k#–t1霋çËL˜wwcû`Ï-%oCÎ5†Ü3Zì<—CÙ0Ô¯ÌÏu\ L@H]]°¿M 9<>`éQl wŽóÅ[’ddKÙ0Y×ß÷%[ÇÙU•pHÒò°‹uMAx® ·ï@™ù3ÙÛhDõ/—4¢à¹ÂeáógÔD „ë~¬êâ(¥aäŠ)Rlbyüî}¹ÏPoU)X,±l‚öåvs|Îj*¹YÅɸÍ„]ÄÞ£‰Wv0¯)óh26!V5`÷j÷IHjÞ²F×Ò 2ò¨=Vç·Ö-º¯5˜)GSP@2332­"¹p¥ eð”‹èŸ“ÁŠ³Æ „±”†²1;Ÿ‰ÉV®7õòÀÒÃêòÏôîñ3tT –xÁnÅšz±]:E„@:Á!ya¶TÏgïá°[Òßý–wxˆì&WËw"K» Ÿi>qO =þ k÷D'Áü¢æe”Ë&¹“CVÊ“§¹þ‡Ä²Äëö‹É$Xòk•FÕÆ(È£¸N™áútö8¦×‡úzGÚx»OCœŽ…Ï÷€´ÏÈ~9$¹ »‹s•‰B£9ª²{€1Æ5¦÷ø‘›RXœ PBŸå]&)æïý +‘NÙ¬¢Y'nwÿ‰Å"—©;@ª‡Ÿ”± ý™"EMƒ|ç,Z'À.è⡤ºAaÄ®ðØÈŽÓyì> +b1ZÉÜ/4÷à‘ÏøËèk WÄfº@+1[Œ£ÇÀ‚ +Û9 ^íå6—f3fô%¡ g2ûÞn{Z§Ûí$`Ñ°ïà‘[×ìÜ0I™ÛÛ°ÅF#‘k—®€6©'´ŠxÁú&Kx~rŸâ°¢P4Ù¼élå¿öñý'R·8Œµ£‚î­?[Fš¿kb7ĤOû´géû˜$w“ÛQ&ößžÍYõdÜd«~œ‹¡;²ý£-`;áU—…3c^-c¿Ce‚ïŸïªuA¤0+‰6!ߊlpÌ_ N´æÞ⪂£~_€a{Ü4à€e(p©– $.§âH€I•Õöα_HxÃ%¨»ÛÈžAx”»>§Æ3óH‰äÊÈ›˜LM7wÿgî΄!žKq‘Óat×ëh$>ñœš¦Ì×MqsÈñëwææ„T¤-Lî=â¥Yb²k[%ù@Ÿöï-,;M¿¬š®Qœ,÷MùZñ¯#µã‡žl§Ä™hðËô#_v{1{FnxmæR™Åö§i3+(?ÛÈìØÐ>Žp„ ¤ßnß~g5;â$U£ õI*órÉ\ø‚;È|2sœé#fªd,Ø„û)Ši±ë/µÝTÓ^X¸ÔË»ÿžÒ™òR˜BÐ^ºÇKíBÁmÓñƒ8L˜]´KÈÏÀJ˜×ÅÈATšÈ}»(Å!N²1x˜(%$ƒÞ•f§[hÒäw$"wk’¹IKÁÜåë/<ÓÞ4…œó±µ2èÑ&Ï6ÿmÇ{B鞇)z÷Í™ëÅ·&'4Á’Ǫ +endstream endobj 823 0 obj<> endobj 824 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 825 0 obj<>stream +Ÿþv.?i#^U\4ªÃÁÌ>\lº^{‡®bû ;MuéP×`:oš¥÷‘²&à="€ïX¡±ÔÌÞoc/Ø•Åc÷Þõ°£óL6H³6*åC¯Ëüá°àL¿UùùíRNkã‹$Ù-º®~a¯ܧŠÔ% +ü/p +6‰íºt— Glü=üBçBÔÍ!k*c>8Ñ0GÞñÿ[ýóÜjHŽþrŽ«_´éöÅ­q¥4¿yär'Úã™ìç +_;å¶ÛË×Q<ˆ%ù&°¹ü,Ô&XÅV{\Ö™*ûü>"p§}VîîLàEÌ`§HÍçȧµÃž“% JpÊ{‰wµÄšYÍ/3§ˆXa^u¹]`ÃW"ßNÝÅEÎ Ít¸¸×W6¼˜±`uÒÍð‡¬ÉÝf¾)Áàg˜¼qå-ÈHWErÃÀAp¤¬ }„ÒïøÌ,e.ÃF†fIO?W‰ii¶ìó“íìï4mhMTµ–™¤:ˆ³²n7Ž†±œŒÅ +HT‰½E«A{o‡:7uçÛÚÑ&Ñ&çŸÛ‹ ëtFLX³†êÜØqÙ<¨ÙåS[® St%DQócÙlбèqæÀÜ /ìÞá7".ÕÕe1=b?ëa‰Ã /}/æuZšeúBP›D'}#a³(WLe^wZòDÏ Çikѳb¯Ø6‹év"nBäÛœÐÇ[©f˜¢&à@Wú /,-¯•Å¬a£UJð‘áž~[åÃ4bEô6³$ïi³&({6,S[ŒÐWéâzqGÝeèÒc ?åO/òí`{ÿz€¼ Ž>V¯U |ʇs®Þa#€ÂÁbßRÎ"ø¦v2žá‰mé;û Ð.]&Ï/³(áéYW;ó¡Ï¢[©îg·0†L[‰( e ÅÂó lPµËOÂrÁl šL1àòïl}0Ø×x̉GŸåÍ}'¯º¾¹B©‡ÐLt3¼e#q6¼•îÅå vú“:f‹–ÕWã&Våt­I.¯,>©ÓØmáˆK.Èb „¯0¿0ît׋H“úÒ(,…|msçå†Å¤¾vâ=t‚á¦âã–“À̹ÊÖ@t@´Ñ|âis+=íÓQñ›@Ó­%Fþ(½¯­c }ä>^Vókäj'V”î¸3^í%â¥JÝ‘à‹¤F@ñY>2ha`Üùñ .²éñó(à+Y‚öuÎÈÞEjr6{«Ç¬ ü=ØìºìU"7…á™±ß]Aeù¢”üþÿÿE“LfYçD¾TÂ×å¤ÉóŸ Ò½ß<;;«+i°šî5:ÜÈΘb¹Y‚ +Ö™·$í+°'¾hÒùÊ/8År™Ø;žøxô&€=×IÜxÆNH § s!íØôàEHX+ŸÀJLÜÉ_Oòèââ Cb0uº¬`l¤6†DØí5ŠwŠöd€êܤ¼KJŒa sœ¸AÔØ°<ŸJUU‚уE¹€GÌsÝl£Ý̽dœgF/!Ç<ZÅXDª®·Ãÿ¤Fúç?dÎnTä3‡d÷úå­ÒËùèA¤êA;®äfMÒu°ˆŒ‰ MëQ7­}š¼g©4·j­Q­ äüH˜(E“¯~ó4Ò4xGáÜF_|–a s\{§½üTÏÂø‘ (º¨µ±ê§fo8úaÓ¹ 6ŸÝ,Ó)\Ý<¦àI ÇYxšàðJf=òùZ:Ï<+X–x˜;†¯q ì­(«Çm‘oÂp»xµ« v®;„ï¾Â_ÏÛ[ÎÓ rÖLP"bÚ¹­7Ä ¬¥Æè{_„ħù‘_cשrXp#´è•ûÙÝAK'*#QÚ2#µ0c´©š ³}~x°;–Òøk°A£´;5©\€¨¨1‡/ÕX íÀ7Asj}Á7¼Æ¥èÛI½´Ÿ¶½©ûyN6¼ÇÁ+ 9T|]=J<ÿ`Ž%‹§®xåå µñåÈ›”Œ¼éP>mäéßz]SóA>’tu(7ênƒþåL~R[Ia™kÕÁ…U”‹.ÔmZ\Ù‡|(w´þ‚`Y‚l#½kâ5'‘IÕ"<›®¢õc×õ4ýœš¾ÄAð¥þÑç˜ð²½8hw|þv´JþØ1kòº®&»S„Ç"¾”\ŠˆfÒÑ]©{ˆ§¡¾ d2åRgÀvŸ{a“÷±?ï îŠ]̶€rQ¶I¥í!«Üy±ì\wïEƒéŒ.ô¢þíœ ÿš9Á÷§l:C¯j:¿V‰)ÞCª»(p´àôlV¼±žÂóì‚Æe"Ý7‹qçΚK,ñLÉÑËÎD ‰ý¾÷û¬íĵ•¸×ò÷£§ÞY4Þ¨ úÉ è°Ô +Cõ…Ÿ;TüœèAP·:Z(/2cYçƒn×– ´ÇJ±ZǬDŒˆ¶ù,É„³ÜúÌÕdÿç9GÛ”‚Ý'Æ_'){sÞî†eè(/)Ö-N4CÐb±¹oB·<“ì]Ð^º§ÌôÒ-ßêŠñYˆ •ªIVf¸žùDçu1ð&œv¹T·ÆÇBB9cØ=;t•÷«íMCœýŸÅdÊ?·tf‹#Ïð½VØŒÏ÷ +ÃP¾ù‘M‹å-Rç®J|F+~G&ÄÕ?­;t¹#Lÿ ¼ ÿ7´I5„e‹KZ¿àÝ2ªb YÔ>Ë‘OÑj¡Â–1+$KÇÛs.t-wÉ:ßB0_µ×JõúÐù[{ËF=±ë(•’#’ÀF—J•I;ñ1W2:-¹ –Š6@O@Ã?¨¥Ç!GÏbËLYèÕm;™XzEƒÜG¨ôε´"oQŠ…]~t;up¤‚˜¯§»‰ãáÏåo§·˜·¶ zò Vð°H42³!qrµ¥ ¡Ý‡Óó~?€·5­—ÁYüõò·þökòbœc)¡zhZ‰uÇfä^Á5,°3ÁÄ¡\|˜À‘ᆺ\piµ¢}¤*²D¦jÖkÄ´Ý”ÍT¾b`BÅá Fy?ä' ÂºQ(d›ùeY$ÔªW öž¡]!ÅvñLœùÒÌì1-rÑ™&ËFø–½oáZ-v Ž¨3,ÕØÙ}Ž‹2²äÎCá_(y?¯Q¬àœ†ù^7˜((Ö$Š{?üœ'ôø¯R4¡L–)™oHŽÓŒÛ˹0gœ¾¼U Hesùlëén]C9¸VÏ-Ã/¯Úõ?w¤û‡ÅÅç?“fÀÁÌøüñã¸Jš¡—Z„ƹÙrÄK°ô?ùv‹¸ØQÕö +4`jYøêÅÊŽ$!sjQâúøØ'Ná@εƒÒ˜àü¿¢3ô÷ÐAÄ‹Ûƒ†þ”ãý«ìü·*vÞËxÎUÃáwrßrA˜™¸P7mAW»b‡/Ê5ã3„Ñ +!vC»Î®ž²zÊbÝb|‰ÌÛ*ùÙ½{!ªAÈ ]ß²>ŠÆÞ¤`D~'{==$¸áú ëtÏ.K€m§7$CÈñìþÄX§>yS-#Aó/y`ÓȬX§QÕá«ín{â\h¼Nmï;+Op~Ú묡€(=n)¡»’44Y0·Ò垭Ǭ¨¥‹»Ê†òÌÎ9м ÕëK²íté7¤ŒµH3µjœê±ôs˜*Þ@C5ð³w¿Ôµ·Ëêa¾¹QçY3ðI³q½›‘±¿ ZYg°CŸ»¨jr"‡åªïYÐÙßy×^ót`Øj-•/Ö&Õš±)§ä¬˜¯õæ]áÇ›¢ƒ8'ÁP«6¢X3W×"tlb¤Rz1 +endstream endobj 826 0 obj<> endobj 827 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 828 0 obj<>stream +Øñ'C˜«Ò¯Tl¨ÏÖŒF†jÞÿEþÐ…mC2æãéMV£äƒ¼áž*DÙ*ê|mŽ—¤¿XI +ŸÐÜŒá.ˆà× Gøj^ú 0 +‰k·$—ó´ŸùÕuTì U®ãue›Ú\À])‡L€b `)åg»ÎW­Ï ÷"'1ÞÎöÍÑï<šð-e ÃÙ7µtF˜r9ïjŽ&ʧïœ1[ßØÃA,¥Á+S©vÃÌå¤Rìç‡C–«…ºÿå`qµÜ!V"-|d$˜~#Ÿº‹$™ÓDVÚ™éxGp¯ñY4 2Jtn˜Á®‰Ã„|&v¬Éo¹Xnãä^Ôž•v³=HY½kÙŠˆk+ËjÍ9³Äð¶ÕœŽz0Øßq’œÎ‹ä¬æê¯[×Þ‰Õl(Ôƒ{Í0ÎäX#¢YÅá>ÛmÎnÿ3zÐ0”ç_J +#¹'C5×®ækŒÞdõÝ:²»° þ™\~=›î 3$±~͆ÁZñ³w'2ËŒ+ÁøNô3SÈ5…Ý—ª’á×ã©Ì…ˆßŒˆ’WqìÞ'^À\|äy{¯¢$ÈàãU° O ÓWX!O]u•à3°éÞ›Ü昩ÿv”'q!$ö^®ɨ̩8(•ì8-¾éÙ ¨þ`K™è’ST#®Ø~[±"ªî@]à–<&w sZÏnøhǘ7ü ^ÇíœD5]Å áùóÊÔôk®ñc«”˜i‘‚¾ªûk‰ž‹hœÎ>i‚Ê%Pç³êõSé 9*fà…¨Ã3Ä^—?º7õ÷û/¬ðÛQ xQ¿&üy ¯àý“øŒ´ác‚AàCõ:(€Ö°o†7Ê·ÚË–°aW}¤P\+»ÁªAIÚÊû/²¤Få¡Ã¿$Õ&†pâ„4äå†Â!-D}LSY† 4þ×à4:¨ì÷äÞ—¾ô,]ç(RW3uˆUÊÏ‹ë«#ΉKŒö«£ó°F¦~k÷ eäkJÎB`G6ÙW/¤¡ý¿?nWD2–W ¿²ã<ž·€ «…FmœŽÄŽV:W-·ó½e`ï°€Òž)ëÉ †ò–?¶¡W•+hðÕ§nÛ{e-¹u´ÅW=YxyhnØžb•ÂþbjFÖ…!¼O)⺞e!r:/öyÉûŸXrëê)€òænjŸÁ`­•¼8·à:õö_°Ä!ò;ø¬$ÔŠkT ÌÚ{Þ +¬;”ÄŸör˜îØ2ý§ê +9ûX“tZG_ø!TÙÂwì«  µæ&s¦4ðn»ÆÛ¼…ÂÌÁY×ÓóÆ(ñ¢A›ŠÝšh³°À_WÇ_R"Ž(™mŸ@Òxj€{ûÒ1¬n¢¦¨LhÜ¢|u¹ßÏ^ÇÉáóú ¢aÇ = ¢p_ùÛ3OóRÓâ‹Kš*‡Q¼÷Ìcr”f ¯ñž­­s,WDƒ² HwÚâ¿'ã ¬Ò†Á*€U—O9÷i—–ï îȨ³Z?De½‰ºÀvG‡~c8h@ÚGr5¥{¬x÷+¬©ÖkP€F’_q\‡}øâå…åÐs|Þ¯ž¨­Iÿô÷"ŒDÅÏ'Zàè ™§×]@¯ÖeêAAШ‘QÙüàÊ(¶Fg'å5ÚÂÓ?n%ŽÝVPo¥Ð ÿîéíøQåW]÷Ã÷ü®|ÂÈ]m~‡óÓóï„(>ý›Xn J*v¥cÃ!!ÓîOh×+‡wØWgÏ¿†K´Võí«fæ5u·ýC!&+ãÜ©{³Ú¾KpÄC16MÎ*R£akÛ@DµPró–÷ã¥Æ•|ÍUV(u;, %ïŒ^ïõ€þŠ9GÅ…Èu¢®š2‡½j¡Ò×£†6sûe»ê:½ôüìây˜ýêR¢¥—*ZÞçÎ÷’N;›YC…º²»J`|“m5Á”ÌÕ‹ÝÞ£~ë$įóJä¶ã¡%\†3üÝ;›]:ÕuzâÎL˜jÕhÑôssïFyåj*›úߺ•w[?˜ß*KàBÕa~«ÃKç4¬^F‹‹|:–þÊõœÂ×SÞ“ ø*ƒC‹:Ç!H8TßUˆnrÓ™”Zw6H3qr(F¥äDÀ®…öÔ!¦2HŽÝh +$P‹ê£ ã4J‡)Îå:BÒä–ò?h¸«bŦ ì1ƒ¥íJ ©¯%}Ú„˜Cè(ÂB2µ¼üiÖá’Ý›pY¥Ô!©töï[Y}m5"¸HÖ áA£7qñI?(݃ÎõŽþëŽów5¶Žu-‚Û³g1ñÏט±*g1•ÿ¹ß'©ûWnâh„ÙE“ߘƒ´6/ŽÖ`|x€[휎k™¾ÆwdWvøD4(?XFŒæzãH„ä¹Ô€ýõÕ͵=ñ¡ëÌûÀUcðjF¾ß¡_¯‹]UNñtºñ$ME#†•‘3n«$[5÷K)IŒ×­]Ù¬cQ*FXs¥OúzéƒCs›ø„†®’$ðúmÝ”œò¡Ò‡·X”'”ˆqóÂw—¨ +E?ù¤Yz_#%qÚæZdPb!}q +çoð°` ߇:$û^Ýj®>!)Q$ôù—ÌAW>ÞQé·—¶.p¿È-XÙ3òºHù•)Ћ]¤ß³/üKß’ ë‡ëÇ°¤Vèº×÷.ãÇ¥@7£úò"0-’œ% T™‡áŽž«‡è4åÛ”R ¼µЙ™Jîìf,q“*ó…^ú"]ŠÎ¨yŽùÌ,…6­Ô{ØÝ©jáôá…ûôúù½{L`]n-ŽÕ¡’yœÚ7™n N—(´¢—‡%ÉÝ•rL€ ’'‰Mç0UÉüô ¨¢%—S%°S"ªjɲ'›HÎ QuúšãÔf!’ÿoþ (¸)ü ˆÞ\áY߆7A™S¢-TõA¼!¥Jäï_,â«–mY¹††ëØòž”@"RÚiÚb*i)CM ”5)?XÖá%¤ÑƤ³†æ…i²×7pÃÁV}EY¬j ÷‰hi`\×.ñIõ•¦FFhPÇKê÷ØgÚB'Ö0ŠeVÐáO§Ú}%ãð4™iX¸ˆ’™£­ˆ‹E½øØ´U<ÍmSX¸0†³êË?¡îâº>ÑãóøÎœšÝôO '­Š™m9äKõ,ŽE’°YàãQO‘B¾ ¹Q'ícI± ¹Š”Þ·¿L?½ßî)Sl+ ~ï’: Né‡ú5fýŸ: ðÂüÜÆ]¯ÜUØ•f¢sK·ïH8üŠÇlá­Än›\sp¶ÝŽBGâ]Ì)GBC.CÛ‹p§¸!R÷ºP™ÞXÀ{Kd°kÞÚQðoÁþ]ÚÕÈt|ÁÖú÷Ï.:ø|üKó¼ØEWï‹lPR—űöýò‚JE|·ÑüÀ|‰Wî\®¯éŒtß©û1ªž\C‰ 6gn-]ñx Eæ§_l2â3Ù'\óÅô8'Y¹òö¯½ò6©ªù6ýÏ+)ýtÙºNû“8ný™Á‘QÝì§éÊ’+‰Bö:k³ Øk1‡¤¢5ˆŠm¨î‚eÒ +Ÿœjª©Â@S§kxv?%DÌ×Lý¥Óí6 äØûûFÞìîFëÉ÷¢Æký®[­Œ‰‹b#ÐÕ®!ÆÛ‰ÇÃwžgq¶mu{Ó%UÍÔx +é¤ß“çFLkS-îQ™g~H¹îmw( ?keöí¬õ/…+„„Tª>>\ùŒ@Ež¢‘oC/(iXX4:Ií6G\ǧú?ªE[v\¦{SjìT®¶IÖä`~ôvÑÌèhw¥Å»º2N%7mJð8ÑBôa&ée}$-˼C[^S© rf=†„¢÷A öÕ¾(˜/zÉÌu .r0= +wžìa𢃺#÷6Wœ&ÙY ÿ`áOŽÖïS Y”lµ”ëI“aY†tRô1å4i÷îñâ$ +OŸ’‘Á³§KúhÙÒÄ S\§¢S埇z1‡t$r'9ÅQå‚{ÃáëšÇ¯vè­y¥Y£^œq• Cà§÷=À'úWšLó¦5í~úâ—ˆÙuðæ·.G_°Õ;¢ŒH³/f*ªv9ÇJ38#P™÷ÀÑ}UIŠœIžü ‹]ÆŽÙu`$´J{*\½iw"‡´Ãj~´%ÎÓH-áåÍb*½UÒ /¿’æ{N±‡õn ù2è+TÉ#{ß\^{u3ÍbV%çÀ;´s„é~[—¢7 dý°à„²"Ùǽ$8³Å†W åÅ»ùÀaö6ùµÃܹ@zdіľ¥¡f<¤ú¾y àú5«Jú žJ¬ òe.5ú¤T­ï±²A¦.Õšh¡Ú¾!ïs·W‚â•“3}nú§]湨I|u1ÛìÝ]f^~V±s™+¬—  Ê‘¢Óä÷í*óÃ6h]Ü’x©cÇ òè§{«ÕØq¿Õ¦a à†VfÙZlÉ\RáV°Â+0Y¥o¼ž^ÿŸ¶†}ñÙW¤Ê;¶&tcÏÜ ›ÕÔ»d²DIg»5ä÷eîš=•`äëŒŠÜ ,0EþuZýÌAY]~=áÖÍú”»›òÛ×ôA'ÎU…]RåúFú LJûÅÃT¶á Vá4—wêÁQ¿¬š%Eçùé!!HÏÓ `ÁµFû‹ØOLÜTC¼¡©M¯UÒe)RÇ ç³Ö®(÷ÌO³ë#˜1£,‡®$RÛ¡ÅAïÿsÄÝY[î턼v3ØÀ[œÉn,i8;­å>C­¥ ‚ϲTWùözH5ù¦ž¹D:"ÓïüÒ·¨¡7­î˜LlbšQŒFú ÝT¢Â¸Þcâ¤Â0Ÿý +endstream endobj 829 0 obj<> endobj 830 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 831 0 obj<>stream +կ̴C:Y wV›Œ–$ÿ%­Å²óñ—SN)÷JÂãþ÷ƒ¯•ye¹0®«³$FU+ÞS†Î˜—6l_3T]ñ”Ž¬õ 2Ø"ß.—)•‡n×?ùÝpRL%_::ÓÕ^ëìMö£CcŒ'œNïiþ°Èm|¯qØíð>ñ…¨Yºl0ô;Ó9ø†—5©1Q»äͯ¼’¨JÒI³¸ë7’¾çÛ; yeÇùztdžã@94¼ŸÚÏ€2)ù‚Ii6åø6÷uÙ=$A,<ˆá[5¶¥È£‰5Q&œ¾Eéû•ÊE9».½'Þx¥€îØ+Aíâ-½ÁÚúÓ®¡ÑÂßòFìirGïT· +棘+É(¬tÿÖë ^›{ë_áXínmÏì¢Só?o;ÕΔ;PqvöÀªC&µŠÐýq¹á¦ü/¤”eŒWsêÞøÈí¤=nÖüú!Ž!‚ÔlYøÁ/šÏŠrX’P¹^9G¨ŸŸÈWQ¾¼å)h„NlˆW(:}…ÛL€Œ#ï¾dz"Ñê5ùJÿ ¯Cô,:ík­<2×tCÜG + ÈñWùÓÍ1è +õõ€•¨á{u°­ ¾+å +FD™³™ÃÙ·JIV„ umv³”žTñ†¡QïzAŽÚ ëx`Ïì`09È H¨U¯«óñ»ù)TOžâÚ½]ÁéR¥âP›¡Êâ+fã+Ð`ÿöÈØv«¸• §ºÚR­›äIÿ}¡Œ)ü³3 \¥CªqAçD€ù¿Y‹,»ÿ…Bì„ð²<6Ù«¯%»~½lY*'Ì.@L`D2”Ñ_ø£Ùd¼ATMNÿ×¥LlÑBoMNç,Ïäyê[Y²BÐZ1$me¤ºg¹sþdý÷”ùvKAè ¯srÿxyþ i§R\w¡Û{@Ñ!Ÿ¯xà0²ƒ gÆ2\R3)vEŠŸ.ð_4¨ªÚ|õÚ0Ά=€È³ÊµÄµK,¯Ì8ùˆÿ–»†Äòfi™öþsRhè«a¿x½ußk€³¯ý‰!·t)wÌb,äm}'C£–©Þ#7É7‡uêq™Ä™'ód˜'È+pœ’¡ I«I` ›*m„ß·4ÊXÉ<"H’*ˆ•R6fìÍImé÷Ö²¾—-Hˆøq™Â/6w‘1öñ|ùŠI¨Û‘dneá0íVž{Á1ÛdgÞ£?QžvuÓ:å&wÒ&Æ#‘ëéÅ EÓ=¬\RùM€?W‰1OÙb‘>H”©XN zŸ‚”V%×{«fûÍCóW–¹ÊȽRø»åäú=´ =ôÉá*RÆýpÿ»õvõ‡?F)M„Å-îÿj¹ÕH|Nôiß‘ªÊûôšÃíÿíêéÒýÈ æŒÍúvíi¸Ê‘ ´á`ÑOëÓ9Pm¨8`4Kܳ­ñluÆüà)vÔwwý>Ôø Mc·^Î5T ý¹¶2`{@%9•CX9øÈ +Ië2Wµ3kûW®´&k…ãéOdf|![ 8fòX•ÀYp#ŒÀkV,Š8A¶ÂÍ/ШR¬Rí©ÝÃ%R`S¼rúšEÌìÉ¿§ËJØŽ+§FÞgn¼M¦_@ß^j®ÌÒg=´+Gép”åxxv±ä÷^,ç…Ä„ Z#†gšÄºÛA…ù_·é(]šéC{ïòÎ1¾óä?Œz¡Õ„{Ä~.[«?zÑ<á²Ø•Å*˜úꯧª¹W©HÀäÍ[zq5®ß¿6yããC²ëeÿÉF™A®Œ"²ù„ +œ{ŽäßéöÝPÀÉÞ¡ž h@‘M¹Š +HƈÂÍi²oð—r{À¥+ë>×ÜÒEU¦&÷˜šÀ¬ëÔ?¤;&T.®¬]Eþ5Ûëe3Ø倯î<¶Ñ´¸…¶Õ¶cÜl›Ú“è 22ÃŽÄÉûtU(99„º­sè/d Û~ù—oIÅôÏ—8«’fIW·Ÿ¼‚Êõ¥ýÉ°Åùñ™¬ÿ!¿|E–8SO°ŒœªdOnטšC4=•ñ¡bŒóXX ñ Íù¢™â?Þ|å–aHµÔ{‚¹M¤Årc6i¬©T%äc…0ïOk Uñã‡_ æCçë¬Íß’Ã6vDÐ¥ß „l週.²ÁÉø,=\Ì~î?¨õž Â[O~ÛšŠ’þó‰»ë`&Ùm^÷×9¬Žu¸¤sDø¸¸ŒkJÃo&ö¡®±SºÙS&Ê縋qìD]yÀŸó¥µÔj¢rň ì2©”¥D¨´Þkú ¶7¡Îgæ>å€ä +Äɵœ#¸N÷HÓ·+‘D} ±Û‚:6<Ý>5­U¸@J{—¿¸ðà}àÖ<°c¨žJó¸/5#àÙŽÔâDµe!ܦÍÒ{ƒp»zg…?0Cû‚»«ÁƪZ¹spÛÈTº›2Û- –pwKgÖ¶…œ„yßÑ<’M;jô››°kô·ÏÒ“Z|ÁFª äëúOcSÖ—\v¦a6!Áû›€Ô“k¨eú˜IU’uEfN MF ¾éþYØ5춗ž’~׆Ì4Ø a­?8L7Xû˜` ¿Å /ájãüAUóº xC‹[ÉŽSk +“™“,Ü|©à©XØ`­Q&­O±°½v­ ²«-¿ q–9¾QÂR_«°òùO/·V27牂”¥-Æ0ú…Ëç€0uTö:{ÇÉ·`Þ=¦¦Úå˜Ò‡´à§^>ÐUâøƯ˜Må®ÃbÑóUÍ â¥|rÄ£p=î+_w‡Ú‰„iEVGüéÜ„¬¹Oƒ¡¾ÈB*à•”¸Xq» Ê7:½?¥× »fÃSŒwÞ.Ê(è`—¨O·ó  ÇQñÖS@ƒ½ 5'š³g#7 DExáÌH½ð’¸x„R€ÀR­ü¢Áq´Rf¹å*Û®ÎV“ƒMa#*pO yètqBä¿ý¿ÛaaÊûÎ J¼šO)ºƒø;ˆ59Xæñ<„A±³ÚébQ pò‰Ôý–Ȇ/_n"¤'4Ÿ<º'ŸXqLæš(­¶s oNÙÖ·É´kùʨ”1BÇŸYB$|Õ.˜EïôÚí Á”<­Ãû{]6PÓ¹!Èa†8ºq|xR¥~ÏÛÈ‚r…7Ùôs›Žà‡í; Y#äèBļ7ýê­ý¨û!²uZéä"ÿ²ÑÐç ô§ä=¡ 2@æÅm€xßö_õ€Âz=ž>ýy6.lœÙóq²åbr.ƒ#Œ×߬ÀõùJ§”†`FŸì%í1Û÷§C³©ð!ÎZPPa¸—"=ýl_߃Þ.qIüEç [ǘªxßä³#¥¤ °Ý|Òö½X 7š‚ °°XBþ¹kšN3\“°]&#lxš1€¼UÐïEÑÓí°Íףƒ­)N*Ò/õÍCiøðk]›{'ÍHU\̯Ÿ–j¤e´4¬jA¿÷;«8–ûçMé,ÜHÝíGU–m|¤Ñ–*¡ +³‡ïLãìšóIãÌ”ôfÍ?¿hÕVçp6œ‰L§Ô¯T—= Þ +¬ +‚ïë”ýNrôDm`€½!Õ`wa—„ГΓOëØî4Ù(¥ˆ€G®é¶ ß‘yãk_¨Ÿ·…ÔÙÓþ„91¾dÈ#tÉÿ=wš ½×Uo‹éGYˆíQÞûˆuЊê<ÊÉ•§ÍîÆ#åe9ñæóR»‰KÎZxK’yFabb­]¾C³ÒI +¬æú :L.Ç~ösYáŠ24nš2n‚®J¤e'(~•®ã¼ÙU P=2¥{QÖ6$í7'äúÔC”ð†¿{ñ%;ô0äûèÃJ–ŸÁHûš¬ÐJã÷–e„Ô{R1¢káh2V•y­­(0 ‰K‘t¿›°•PÌ9¶õüL¸jNäX_‰•ùÍ­JíÅÇc?Å_»u;ú"Í}ÅßAÔ75ûÖ/é9@Èû`NtgJ¨r1³šé=Í!J£8Á¢2gþÙ‹ÁãzÏÜÆY!GÄ›*.csW¯®\ªI0ùËž¨ê€s Èhd0øk“~5&ÝzßH¡Àv·&ÙA‰d»¦”…'ùÿû`öß7IƒÂ Æ'ÝÁÜ {f+hR;)ŽÙ~?8gщà+TV¯’°Fgé“6/b(„ÒhŸ‘³( ~ÕŽ¬è²S æ^ª#´×Æ`Ûó¤jè/¡Â¿sálšªï“ì¥Ä¦}"²¼Þíy ¯|z¹¬¾Øùòu >¤Àæ4¾BãÉ&ºúéQ€˜V¡}‹ULZ†uµðT[ÌÙCD±ë2@y÷‰mßi?ô¸pA3‚ $r&Š¤J#DSîHO¾6*£ß;½ôDAÆØi +!^)º•ðÉ—Ínsq‚òJ†*Ü×®NDÕ>a¬GL† +ž7¢Ê7Ä¡ læÞ_ºE¥ËÛ]]8†'3± Ës“²4¬­bÄß9èàVâ>ÂÙ¶}ÒÔV¸ÈÑž¦ˆŸÒ~ƨåV_ ¶\B'uˆ8¶ýŽÕR½ÁæÊ7Â(ûŪ+žW)ôÓ®,g÷E‘šéLf]ÊÜ \E9vÇö2‰¡7Ù+t"’ÉÀ‰¥™k³4¼§‰ó1_„SÂ,ma,Æ Ý &†ý?‚c‰qä¥Â[W®†÷€Ü™ 5ƒfK™ÂpiWâRè>>< +Z5§Wª¼iv)° fóžu=Æ ]mW ÄWJÑÑ[z%!lþ…hÜêmE€ÙÓ´7ª KåÿNÂן»ì‹Ö ì•°/³½räEŠÑaª¤lw®¥UԖ鱨§ îo3h|ìçÙ/#$ meLž¤N5öIòÚ•Ã@R¹sQcX_m^!uöµåúMOr1’×veöu$E¯$I‡…ÝŸá·ï£”jÜܯêº~Ñxù~º0ø€:¦“®B°* Æ–Ú™ðÔ´9²I’t`´Ó1r‚Wª^ŒQO©'¨gw üÍÌŽ²ÙÚððÍ~¾õ1,(hUÎÓ&ÄÁ98‚ÀÌ1Co”]¢uÆŽjËh>_¡?¤n¾D,çFš‰¡ÝaeÖ õòf@>âXâ"g¦ÇX…ýx”‚âÈËdpkbÎWoݬ çì°u²à¡^2é,„‰MT›È1LwÉOp*èD¼ûqää$ØøL<¢É +®8ä4‹öø˜vz¨˜UjN`ñ›qim CÊòÎÃå¾ÊBû¡2eµé«ïZRf:«ÊÚ˜š…Œ[‘ÿ…ºÊ ýL ¹“žÑ´CTýë¬ÑÃ¥­˜!ŠNîÜŠþzˆ=ôì»fyô)Ñƽ–Buþ·훥Ä÷/ÑÓz×l,çoŽ-œ 3 d þ¸gt§ÐJª½1d”Üm,a ;ƒyj_”Q@W0 +endstream endobj 832 0 obj<> endobj 833 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 834 0 obj<>stream +¯éiwH¹²Ëˆ¿2WïÎõàçñ_ÆdÝRJ4AÍ‹8© û’›~† B \¿*<]Z¼ÑÁª†Aîeø^Ñnw*?Ž I‡ð݅ߊR’ó{ †wð¶Ïª]O¨ââPühø"Np"#¿±!`oæ:áÞÝ]´¬Ø˜—’rÀüà=£Àù»ß?æݯìD0^‹Ë‘åÉc¸˜³wØ‹»âù\`ÅuS¼n§púT|€ÜôoÝ!{^áÎ Qtcn„Eeî̵IôÿœD¾\àä˜$’¶jƒíeÊÁEù­^Ë]ÝŽgu~åŠC|Ý¿ÚRMr\>Eå0wM¦yàcAåâÉ r:ÒCƒû¥“Ú'IHJukdzΛòÊA÷uãy¼}@`.);ç|¼“s½@ÄmAµÎ <©6g³âÇ E fxÔÖ£­ÏXÂý_’êÊCÜ£d –¤%;|ÏB‡­k) «ä2éÖÿFxÒ2Ÿ³#ªbô—ÉdC(‚»ä­‚ŇiÝSdÒ³¿šyl~’‘Ë•6]º‚7¯¶ÄÒx|¡ÜøÕ¡~«kLd“x8J @è”–®§Ñs+‰aÂøáOYž vܲhåÖ1xff~â^Æûóü¥&n±=7ö±ñÊÒõ—öÓ-x*#ìÃ_²(¼€Fî©+Ëœ'v n/øg…ʈªÖœœOn¡5fk¢Õl݇5;2Ù’+=@~éò7`KWx8VÔÀØ2Á:ª|Ô¦ãÒ9U×Q€xÝ6‰³×Ýò«3ä˜nNXÕw:®Qç,dúóK<À l„UHFMiï„ëQ™Ø“vpaeT€U¼I#WråÎó83jýÓŽïÃ;Nÿae²…iÈL‘oʳ-Ä2v6fSkÉ?ò×ß*!¼*^ò¿l]‡ý‡dþ—lüø9ó¤˜ðÍre7†uîlÆcøLªßn”¿5íÏ 0¦ÚÖÌ\Õ¸6àu6†:õŠ‰ÀûÌIuÓÙÖ‰œOŒòRp0oøk­Ù +jÒ¾ñÓgæŠìE ^q¶p9Êk£²’çTÿ™Ã–l$Ù;œWyÄ€Ú)ú£'·Ì8—ÙÅÀN™°êuö® JrlxÍS¨$Ž¡ŒÅ08—<úÚ3Ÿ®s1èJ&ýÄúÇ}ÉÒ<'â™I®è³ˆåYig™šûåÎJ?ÿ|ŸÙr±zç?ÂmÿÏ–mò-СCëéóªnH¡­O¤¨‚V}&ð·Î ²ˆu2yõ¢ù!ød,‚’á%Œû×f8Y÷ëshÓ-KŒoÐxü§jVþþ-Áx¾iÀ˜FLùçKèØ ú¹7OÚ½Œô0Њÿ(ê/Èd¶.ª}8B†ë°<ŠúÒe€LªŸÐ­e³õgÜÏOAŽ\# ôi0t¼ø:ëö¿\î‡Ç#uñ’.<óâ„hÐO(cù^X!ebYúnò žÔ®n|lþ¬SìÞ·!WW]úÚ£Ú?]`†8gÝ wo›=®9yÁÐ4º+¢û¹gAÌ.YxrÓ®ˆËõø\"wê:ð>ï½2nü‹%nQË'Çô¿¡G Õñ´ÌXµB²î ²q%h¼+Y¡Xœ³³)CÓ‡8•~Ö¼à'RêZ„H §œ%FÚ´‹m lÍC9Ý Ú'ü7?ÙúÕ•£;^Z?ªw°™3ÉÄ»}7™FœÝ=Dz O©³…n²ç¾trE¯B£úyÒ.~,´÷ Qè¸ïˆ Ê«ã’ëyFÖ/ÈyP{œÉôØÒóUýbøƒvbþRšÞ€Q·Ù‰EV¬ƒ¾due=)]½O ºÇ¹6ÿÙѦhRo6ÈR6Tiy^Жu;)±›€šû0w,äÆl–hL¼%©ÜÃ#áÑÅÓ§^–(sÌò3‰â‚XÎr®ýâ4žHCAÜA ºÐöÈ™¥Ây|˜Ñù—Kluûd±º@€ÉXî9Ó)¨Qs,{áˆz1øë“–k5¾Lº)u©žN¶ñNXŽlð_&‚±iÙÊè«ÁBoЄcpZ):äÛp†1a‹±¹x¤ Nvü ˹ÊY*¯f¾«¯V®ÅØLƒG¹¥!-Ã)¾¸£&ÛöÐ7¡»A”ž™;°—ŠîBëÀèÞ(Ô±i®w]fälOŽî¿}„žû¬âÑàSôÿ¢¾ôNÇsÊšê¸D`mÜ®8A6H_tÜص[Úp½.æšõϵ£½¡}þE0Y5TñœNœ˜PRb®@Æ®„KɈ'÷óX°—Ã?/¤Í©¤(s% |ªâÛ˜N¥V¥váãˆóè7î |\òcMËYñÉ…°ñ3=™ìÍ™F«øSVSž\­6°ê!8ïEŸ¯ßp)øêWº‡Ñ()ÃsiÉ4üâ{ÍPœ³"êU LÛ-ÇeV NFé²@Õ=+æh(š‘@F9±!h\ˆÞ®%cøÏcp˜ÐeÛµåõ‚[îšAμ—g?>ŠèOmWŸüÿþ÷H‚˜ñÏv"­×#’6Æ„ç8k\ÕSûà ·Û¿ +›pJ2#wAúoÌÎn¹3mªÇ„¶Gø”Öô¼=@uD‹vÉ@ŒU«µÂm ϳNo‘ŠÅçWÇÕëñ+N6ýF?sa“«ùKfˆ’®í¸R€ÑhN ŠE¿AhŸÄ—à gãáŒðí&=Tš 'žÀt¼¿1ƒD#‡ÓÍO<+ /Ž§ÜŒ“8;¢nr^¥E¦ÏW¬Ç ¦é3Ñ2’\¾µFSFʧŒ gìF þéÑ J‘P ì/V«(^¢îØXŠû¼7Z_ºUª9G³ÁÐ@øôÈ®ú>ár‡T掭€×<Ío~Óßí¡Qv£oÏ–†ê9ï#¾>\)c}Á©Ôw”  Þ†¢‰™9”ø–6E>Ñ‘eáré~G£GQ™|ã-H_k#l¸Åsi’K8mëîeBþßó©(,ï­;Óxý+r¥ù„'«Ð¨?˜•U¶¯iÉC¡"QžÈø]†¯ªxö»IcÆ^ï¯VJµN}šú´µ¡]­Îr +J”]Æ#§‡é7óAùÐ/’bTEmI¾Eò¾f‚£¼½d6s×üX”ò|u–Ä(®‚,Á,À’äªfxwüxŠîe·ï66¦?£ÜÎñ¤Ô3JóHžÀ<[÷Q–³£TšÈc(ÀëutR׿Œ„¡ùÒoQÌÌC5Š<§D+éâôe®k©iï©w4Þ!çCs­^• +›±4VÃl.å±`Â’IÅ]ò­áu—{ÄX€pé—"›.1cÌÒ:LàÙY@hæh) ߠ‹Ú—N¾‹–¢Ø&_þ‰A6U¯±šŠ=SiÕˆ/”Nrp¿L\¢ÿ×¤ì ¾Ëž‰Êp4ë[×qb¹`®í +@.`xfðç–'JÙne©¹4‚èeSÞÐýñÆÆ;»Gbîº|\µVtì[HŒ(>èzÊIjt)ïü«ýþ†õü¿á6å>,ŒtOÄ‘8V×MZÇ2ßw?³3£?—X©…ž‡“ÿò”„‚üâ]Cf%j*§™z´ÍúeǹŸe¼§&D¯I½mÎb€ìîjÎ ºµ¤7äg•í¡£ÛùdûÇM@[o­±eKþ¬¨¥2m$•fd¿º7Ä%—’é 9?x>Rk»ö …8Ò•§¯iû9ã{æĸû kWÒ¤¡Ê¡ý'Bûh‡o8`R^„†Óq5=Rý†½~ñ~S­ð +>ÈÏù'Á w›É0Éá¨bÖáTÎj’{~gmãêåß÷]Ä­/5•§g›ÿ/(ŸæKUN¹Ì•½'4Aê/ä­XpÏ$$þ Ê…Àjûúa:·»@5Û¾'Ý,̼¨·°I+YºÝØæzü6û¢ªªJ,Ø­Í\ž¦üþwÖŸ‰è·PÖvå=S‡ÒpxµüÃS@–ôßL¤aL~ X!qv18|&´,ÎH?þx·&ßóЇ¬î®Á‡`õùŽÑ™QÄR½ 9“›–@¹•ê´ÈúV´ôüÏäÿÛœ-v;ñÝ"ø5ÎK_ÙçŒãhìÝÍTzcTPíP[l©Ó—Ê®Cåy’ÒûìÔåâe˜äÍ£N¯6¸b$‘æ{+²ÜŸ*ÿ]}ÉÈÓ‹)£ùzØÛô`8;³’à}«Em6GoºÈß +endstream endobj 835 0 obj<> endobj 836 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 837 0 obj<>stream ++‰'œOn¶vz<šIŽR˜;§0ö}ÏZÓ]%Tê©Ÿ–ÍÆ*N¬ÝTHVµšìö¾Ã ¶´àª…Ì5­Rüšv’%(Ð÷‹§Â±²7qæH} Y6†1©ø\Íê““çRtš‘¬Ðß5ìg í.-г#· µù0ý(Ž‡¢ MeÉ=¹¶€® AO‡"Þ* mžè‘¹Þ©g` !µ™ŸqÕqÝYÕs€(LY8íú¦g(—¢RïFƳASÁ¯¤@20Ù½±û0eš¶` Û5{ ;·g¦nÛ 7Ê‚1—Ãk‹¨kú¯ÊÕ56/¤s|0 hsŠÒÖuÃL%´¬›Û¹P(˜hÝÚUÙU*þö#ˆ“ˆWÂŒ„ûî°sG2®}"£[ؼd4‹<˜A‡é´µ?µô,×ËàZ)n~½ígS¡“XÈ“ÌS)Ö¹:ħ¯×D–y|]°(W‡°‚ô˜ $ÁÚš[lÀ¶?/o:¦97ž„¡ÉFaâ× 7ÞZwö†`É`éô‘Vr–¸n‰ûرô:/1N¿›Ö?¿'šÍPý")£û:ìl { ÎöǾ§$I²é‡PÞ)ê#L¡Î™,í„Ý‹"“6`œÉï^Þ5 !SËÒâüM¨?.[à¡­~0Õ`³'÷…È>Gr—Ÿ¸Ø,¿É‚8ã+²‚‡Ó7šÚ" Õp½n Œõj’™«UÓc@DzÖN[219U3‰¡X-©£Av—,¬~j¨ëš;Îzim àŠ­FÅ";sLp/I´gàmÞ6yògÙauÛ7|mÖT•3v_v°ˆË0ø\^áÐ^Üаm}.+| +6|<ºúšQ‰¦è–§†V‹¨±êRh~aæ„ü&SAý8lu<ª·V”l&d7ð¥·H´J‹ä¼Qôÿ.*šÛT>ûÕŸ‘ɳ›Ži2¶•®5õìq‰Íwv’ÿ¿ÉéÍ3úìà)i‹¼oPÐøG±O‚…Pø[ëV ‘^)T†·!¹ÊÕ@ ,ÿî€m@0Md¨Áü]Vv(çd¦½5äßtz4¿^¢䗣ͥeQk…äy¢@…¶ +endstream endobj 838 0 obj<> endobj 839 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 840 0 obj<>stream +>G탶^÷=k„T¯}!ÔŒÃÙ˜ïÝä qwª·ýŽ£V.7=rÄT4g ;F±Š—@ç*j´0wŸ‡LÂ,Ëxå‡YÔª>€ $S”ªsïù³«b;4?/x@>NüǗd¢·$_÷Éï·IÆj/®nKÒô‹´¥™ÿ¼·L +ãr)ž4¤Ÿü:$„FËo'¬ãWN„…J“%ÜGÓæÿ{ì<Ë¥àa»ßêòaóÐìN0·K¸éXÝ ¿¼Ú^ñïâL³s»øø§O¶{|i ƒ@Cÿ»rp ‡žöžþ–å’m7´–Å¢~¢O[‹'™-ý‡ÔõùÄXÂBÀuYs°ú[G”þíáÚ‚Ø{TgˆRgG ê÷ŸŠgFE&ò€áù@.R½ ¶)mnc‚ö×û‡Q_Š¢*8‡¡/@RY ßX%)Ÿb4Nü“Ù?hýa¿üM=ëozIKìÙ²žúŠ €¡î=ï°kôÆJŒAn¨×mâ±-¸„Ä+Ê65˜Á~g8ŸwSèNFª”M')¾Ï§TvfApiy·Pa£S± ž»¨†dœ*Q*uò|èMð}†6¶Þ½&lЦêh÷qÝi¦¿ƒqµEn¶Å Þ +Ò—¦,…R#B£ +ƒH<ÞyÎée½MlíóM’»Yá –1˜BŸÙ*ï„+)}Ò/‡%£|b^6z r@v&ó¾væÆf/Âc=Ú?”4Rz#]F"ÑD_ª‚.C¥ ŒL OICM1”+Ý/(„é×H«5]¶dPGx‰Ã[™âkp¤H:ͱsE%´ZoÏ,êÍ‹ä·eÏYÅ|} ê²3¯†•×ft½àmS¼ò.î×” ¸’»Äâëj¿M€PϘîæ“áÌÍB¹Ò\~kO3†Ü¾‘xÒ—Ò(»ÅΆ~3¹;‰ë“ +2:eÓF6HÂàËM%¶…î³T¢îÂDÏÜ·íhÕ}Ìî)q0¡XY6\ æ„Iç +LÿGkµi°f ¤8ØHä´ÄÍ[÷Aež¾Ä5ûhUxékx +yZ)»s¢U$0.,×ía[ˆ~v¨¦ë—Çvë —N°;Øn VÒ*1æNÓÓ™ºØŸ3N'Ç4ßÞÅMÌyÎåÇW#- [µ)[åðÜ ‹wÔ›ÅÇîl¤çjíÏáiÚoül +»žxÞ¿•Ë´À![ÍüqâjÏ?Åyþ÷ʽ_=Ø~%™VN j•Q¹Ü®°ŒG®Gw&LSj«Kú{Hj]| *ã½Ú>–šÜ^¥J| Q?ú?±¹ü0ï +‡™ÍÁ¤¡€;ÛÞ–`ò0³yÝôXíòj7%ßÇÔM4ÝU}yåÃpp…ø‘u˜›‰yf/:#™F·¸ª¡x؃ãØ”LøZ˜ô—¸Œ¡—®ÂV@–¸òü;‡½~¨ŒÚ¯Äý +"|/a7ldÏÅŽBd¨?ZÄÅwƒKŠ–ß<ËéXìnèKÂ6}ýtù3ÿêYß‘ã½wÈQ&Š(ˆ…Ñ$Ûÿõ} ^=R\Ÿ¿jèg¡}DÙ}Å!uý9 kò+øƒMåôš-‹o1°¿“²¤[5ð¥n²*&òËpâïƒ×:$M.s ÉîIPk€„ycÜOïµsg»j#}e—/fn1$¶e {©o¼=å¦ `¥ +EÝ¿‡ÞÛ—Dí殬&œá©*hèUlp7u^Zù<¡*G°Óãù[íT¿añÜîð+OPHÍÜãÆbrÞÇ[ž "õUB¦¹›†JÒ›zÉÝc§¯÷´¬ + ¨C)iÓ§3Á0Áœ¥÷Š"cC©þD;÷ÆL{^½ý×A:Ž¶'“Ù )]æXfm[H»ÔF„{LYoìJO3o ÝØ[ȶcÔÉÍE¦v´3³“S€yÌÙ/£éð0 BÙþhÛ=N – €“\'‰ƒ“Ym=‰ìQb `nõ#x^e닯7ˆªaWÌ¢À”1ÿ£ +sÅ“^/eUé><2±0~Ôk›gù×î–üuÛ{š÷ð*ÅŒ9þÛ=ìG+:œädõpH[ ¼Úâ¦zìž‘5Þâû<Ù‹¡PL¸ Ò†švAŸöþ)Wµs.ínŒßÂ{Õ4¢ðÐ?ž«sR4% +×Qš/’bO«4øÚ€Áj{[ö‚£.-·­°-£«¬ì«ç'ÚDê¥añöìé¶ûlñµ¾·aðŸ"Ò_î2”ÛuÁOZ9f3äå Ãxiðk¼˜“›Öì_Aõð«¬;ŒCÄ 2ä©psã{7juïoZXÿþ@’ÀJºŸœÁmþPÉúJö•Yp€’ËÁýŒv•D9Q³º8œÅOn,$þ:(@%ÃJÙïþ +òw%!‘— ÛëwÚ:P ÈÒÊÕ+è︢¡_=- ¶š÷š!&7”¦÷ÌÿQTæpñ«1xñÙÍ«¤RŒ[q>¦¡ñ}‰éZ!ΆUW1šÇo^Œgiã\„ŸÎŠóq~âõf§£7‰˜º¶‚IˆZN2»ó˜Ó¶èÿå2Pû¥q†V§j\öÀÀ ]ùîÿŠ … èZ|Ò#£³T ½/ð|ª'ãy‚t.Ó/nð8±¶ºR¢AW$3[7\…ZT&úÇÂÙ|·àT8‡ÿtXÝê Fñ—C䢊cnÿmLËœK% ?m?‘…ýTa¤El€ø8Zƒ]95RhŽŽyˆ8¹ÉÕ Ê¿«î ØÙ¤qXÉhhÿ‡=½]þQÂxa@Þ›¼8¾Ços*¨–ekjn&Úbð$@­åÛŽèN¶WRAÕ‚@)¶Ù’Ga£è†Å0³jEINÖx4x¸ +«Ðt¿eŽŸ)SJŸÎü&Î4]R4†Œ·(à Âì™Ü Êë;ð‹Œ»I›Ë“èßùós9¶Ü-8»v²èöÕæqŒ«Ýƒ;%ìªýŠÙ{©åÐ&OÀƒ4LrÞ‰ÇÛ"ÍqÖ¢~B°ÿè öpä&^;²åC)äD©ùqVjxÒ$L‡ +÷†gªŠ[\’ãõqü–_í¦£2ÖE§óGéxú->sïX¬Ðë ¬Îk{V8 þœÂÖ÷ð88Y Lsym+y‚$fÃy`²‡œÒ3zzÀçW½8qV¤Lz¸Þöc$ÓÆcC¨½;¥ÿŒ^yA8‡u «¼uxÆŒ…%L1wzLPŠ:ø±][v¶,k«QýÀñÒüßNìÁ9w Œ††™53UU¿P“´Ž›·›DO ¥àoŠÑa­d“¾:ÀíºÝ!€äówŒ _óð©¹JÝ>š*)aqt©­,¢µGôhÖð®¶ÑÃõ ÿ ]<ø*š}¥uW`Ýlí‘“3ÞŠ£Ómyñ*ðp¸õÅǦŒ–8aQ6;Z…lQAÙÇéh²£Éâòã½–xçgoW2¤aˆ±ØúÐÓ{+eÑ?ÅmRN™ãs›÷É +šÝ“òá­Þç†å>nIÇ䣩VÌÒ[Rv•núdpÔgU­ñ³çØ‹¦fü®$Ãû˜ð#–o¡ý4(áã j%rÖò 8y 2štÀm-S1º6lÖ×òÿ5P’¥™8´xU‘=™l—"’I ïÛdЈô1†³ÌŸùI÷c,RÈŽ&Zt-r‘Nû.3¹5|3#KqᮓL̶•‚ç°åìt ++'F©b +8VdëQE YåÃ\b@¹³3îIŒ +endstream endobj 841 0 obj<> endobj 842 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 843 0 obj<>stream +ª½PTbŽžì†Çp¶â 1‘ + +u&ô÷À'ò©ªäÐÔ|ªšŸF9ç§2Y¸ß»y¬LâñYQÕ¨sÛZé¬ÇÆG;™’%ÆsÝf™‚‘‰=³"Y}Œmn7†‡ßžaÓèÉ™xPd¨²Ã´ÆžŽK5Žl#p ±xj$´´MÛØcè(ȼšI’A”àd¿ÈnÁ•á}îá"~CžsQ¥Qš¢wâ_ ÀI+%¶e)‚oÔ~&MóìƒgšõÅïuqÿ$±Ð¹Wó ¨#—D`k|‡‘ø>î5,'«&if¶‘Ô|ÎíÑæ2H‹Kl +T%S—¹ŽS&M㎦'©óì:!ôñ)C)¢=¶,h­Ü·?zÏQˆGiy_ú„Â)# r¸¼r‰åCÕx\O%²h#™ u£V¼ǤïàÖœ°ñ6²×pÊ'U."XNH)³)Ov¥`®q1˜þ¿…Æ÷1¤ÚO¦¢½zQWVh¡TxÎJ)Î5apÀæáIra|ûÞ8Ïò¨Óê«!iâo5‰ò‹º¢¦RÄ1ÊŒú =úƒMβ€¼)¥ÇûQ@²°YÆÞlÃ!ÕŒ©8N]C^ºàíü¯hÜ3„”"F|ŒÎÓPŠÀ6ݧ¢ÂäL–³°Š(™dÇÃdY:‚~•·xoü|*½z&$$‡jºÎCÖ úòßb"£l,N+Lùçrçë>Qh¥½HJE9þzÛÇá‘NçÁ>]vZ-È0 ô+¤R†¢$”±Ì‚8/Ç“ƹâo`·ÜéJã­¾’øÓ­aïi¯VÂÐoECÁè˜Ü)=}ܧ¬ta/•›æýËc×¼“‹!<»_l\°;æÃâ[%ÖC]ЙžoÒ€q˜þ^8Ê”p•8E£‘_uÏàµ$啶C¶êßžÙ1í€(íé¹0e-tÎðYò¡aÖ ‚Á‡iN¤Ã£<#,Süþñ7‚·P[z™›÷–5Œ@ß¹á”ÞŸwÖœ tÜ4÷q1Dÿ$~Á@«&ñôž$‡ImÆ·µBCtš¾q&0‡„^­¾Vÿ·ú[ÃÑ;o¦-£Ï‰NuMæâäUŸ±‰ÝÀ˨ýï+ ñ9™U_'f +üæMŸþÑ@®­Ï*<ü_|ú/€ÌA¡:ê¬ò# 廘viS™cõø=Ÿ°aÁF0E²Dÿ-V4\²lžÝÝýCLøF+‰ùÄê×€4§=g y!â*ê4‹gœ>ÝO Ʋ¬ïkÈÒ0âãoÏ/ìfлUžîÌEÛ”•Õ×b¨Ú@»”˜Ëã…öWO:Yдuìæ— ª¾6=öm^Q.[ ée×f:¯™ÙµÎ`K²zd ½" ¡HªæÂ876àP5µ)4ª–x>¬”0J¹fp¯Þ2_öæe´`O­‚Kÿ=_7ç·èGw·®ì»Ã˳Ž¢~[ÙATB²Ë®âƒÙì]ªIé×BWî]¦ó˜ÙâUå.0ÊÆzýGK—zñ‘P5»O…+ t«ì, +ð­²'C ®+áY3¢åø×™ÚºÝ[{‰Ëæ©)úùe%It«²»qƒÑu+± |qñy8£Û¢(4°ž  °wÖAQ”¬ú?—QËãµK¥êOêVÈÊ ±§1Ÿì]wŒ +“© [¤&ƒYé xÕÛÖÙa×;[è˜úU\~’£ü¢×~官œõE¸0ÿ×ÚßpŠƒ½VÈ®ñ q²lÌy°Å +‚ÍÀe} mVñ‡ÁbɺÈr}dÕ´M2Òä4 ]SלdFÙKM{u úi  Â3Ü ~ÀOÞ|”ϼ‘.Õ%Àåô̤hr°#.]ø¶5ûå"ûè¥~ +¹ns†·“á4îUó9ä3hl#{@™¿ †ûÑÎÛ·ì¾%ôõŽN°„¨ˆ½ÚQ¶%5ÉBÚRe]H‰ÏRÞø›`c¦,ügx/ع`ݹÉâ4¤ñášã-È’-.BGIL&`G®d{:pæxÄ@ñÕ¤õ" ï¦ÃØ«}q“òæÆ=—ž·ÍDó©ðÄÊFiaI,v¢tÁé×ìÒÿ5{.ë㶬ætS™ºé¢]NE}o‚BãE‚˜¤ßWÿbà6ßâ0î¼9rSGŽâ-hµ<ë"G7ò?ÖÓ×n“òØ­:äW"±’Ô•k%”ßÀ©º)Ù>€‰7–Û3þh,¾¾“ä12† +}FÁ0¼XD%ÕÎ̵ꮑ«¸P#…º·­½c¢Ÿ–ÕDÒ›tþ®E6ò –9(?¦•VGXw9ô˜Vgå8_)c®~Ã|#np†Ï•»E?ÍXœvF½\Im/ñÊ;ô@EÚ +þÀ…µ„¦‰vùtNž™tG×™NW`?2h`ÙõW×` ÷™^>—]¹¾Fhð.õfƒh[~á"Ÿþùûy¤e°…ÿnP{”;h ÚdãÆÆéo# ÷É‹W¢‘‰_µ±„žÄ¤Í‡.‚õ6Ʀ°‡k zXs㘫Á]`â´ÀÅúiz +Ž»q/Jn¼”Au\#0êHù«>æïrûBØO÷X¢Ž aL­U»_ahð«”`y;Ýê÷öv$ ‚eÓ¥‰?¿'œ½[Q¥Éå +’ª+\?l¯ª†ƒê<«’æþeMÀ†wÌœq6¼)Ex>itÒ‘<9}yn>=<¦E« +ÀÄ€ef¿p䂨l4²Ö€5xµämi5Øf—EÕøüï Ÿx^z…;ûÑn2:î>@¯¨:ÖÝ¢žã¬¥ãè:j ÊL4,¬Î·k`ætƒ•44{äœn`MD Cr×geýk´)ÒV‚•áÖ½ªdÆ `ά˜ ØxºŠ<nÑT»Äc¿ dJ¯„æ[ØÜA5ä:€µ®YJ…èÔ1oüŸG P÷¡´ø£ýÞÎŽ«Òô¸š,+déòs‰zЮd®—Ê3§ßEw@+c²évÆ@zæ—„ž“n·Õßö–©Õ²ös,Á }t‡²D1r¶DG“¯¬KX¹\ÓƒÃ&j=È=Ïg V jùþp·¾«©ôÛœP ÎRØøš±y§ªöOŒÇ9gO¡öçCß6šyízc3àpVƒÊ§SÞ̶“htá0^gŒGm©3Y-.ÆU&ågO&ie„]{\óÓbæovœ©>yÜž›“åŒÍU)^Q£A‚ÞJ´Ã¯“›<²‚U¯:7'lü†ª˜TÎ?åפñúõ™#¯qr¢;P`ÎDÉ'W&jspÉß²§kYþW'—®u›@xáDÞ–[¢Á=a59IœŸQúT~E¸5Ì,$à›ûƒÂá…’8W²{+ø¢E1%œƒÒæD_óøîsŸëHH}—9äéâËæ¦QøõÂâ õ¥âwâüÂÇÛ þhb3vÅŸ¯mËT>X&ð~” c2d§kÓ¡(lÄé y ꀬ´¨ð“®a—» Þ‹dy¢wJ +çûëø¢x<ZEÃa)=ÖJ? ±TÓyéÚ, +Ë$ßhzýõLï“I\ Øn Ðpj±N©#â˜ôEH,tæù 2²éÂ*ýÁ“Žè¦ƒŽhᇌ ï¼$Î¥É'@ïþDà ¾ã¡0?Ãj1Œ*5/ºzÐC4$LY—ïƒÛÒw¥¯¼„èû<æÁó÷± m§|ÓÿCiÙj¼{‡]:›ƒãžÔ©™¢£ýÔeÅ!+Ž®/Î’±þ 뫧ƒÄ>„sh©þÍ—ÔÂxŸg×RWÌXSŒ”Xl©8bŠ^='ö(ê(jSîÿþè0( +N’- {¹9gÅÅ5­W~†n?OGã9 ƒà L WýFTÛn®}g\nWÃi+#¶¯pfÇ쌾ÄH±r,z#™ôtÕÞ:ÎêtõeÈ|ÓŒ’z•¼ +«}LÌÖ$}ÜæølžCJ’Ãû¸ÛZ¯—$…£ ¨%<Ð0ýz=q¨™Ç½ûφV=J%ÉUÒã«ŽžÇÑxdzç#ÇÓ²C;²%k ßüFb¤Õâ*b˜_«Ý]‘Ûa YDk@ !nõI +,&bÿ©¹€R&Fâk­wº»t”™>6‹;ìÈ«°y´³ Ùg&‰mIîIHàÜ~MjÅn4ŸïùÏEr·¿3_h(¨+víµ„—¡@™¿a¿Îß࿘Ñéôy˜ +ñøzÁ +hôÔÜ“r®µ_Óu -¬¦>. ñ5ãM«°Î`Ì ZMàê‡7´-€,¥aÆ€¤w2wt—ä†I„ëÊõΊ|€û3y±½ç[H(²n7µ8cÝ Ó¶‘\©CPÑ ~*zr¯…¿¼íý«MÒëC Ú[Ååø}vT¸¯~6¯Ò‚Héö¢7)ô—àoÕÄÃ$X"ÈéA¿NZ7-±9¨gá4^à: £u^r‘V‰¾wÅÑ'•ÉG B 1¡o‰´Ýn®ÂN0ÍÙk5¾©‚{•'ñV…£~RÒFÜ(öiì¶_W‹Yšy´Îäy…ÀÛŸ'—FhžØñÅw=²ŠŽÇòÆlô»HJ2Š„jíÚdvëE‡^±åš*Xѹ){ú`UmIö쫬RaÝŽáT~b±anœ¢Üô%¤’Cn€µl,ó`n*áÄLBYâ(ŒU£»±kf‹²KÝt±–²¬±DÀdÈŽ­Ê×ØÒ ÿôí&y”3㳇QKÿºòN$ü඀4¶j`QÎ0LC}Còmó´gP€v䀩ø5æßMüGBí«h­˜dLU»ðâÍÀumZHj̧gÙ8 šRáyi?Œ2—hg\±I®TácŒ$ܦôÈ1ì;t´(r“Q„lÐ}7‘X…ûªS²kv¡ì%‹21¦g †åؾÆ: +s +J>kQWùÔ: Â%[³w¨ê²ŸeŸøÐ ºNÉÙÅ!PªÚÈ8|uèÚŬD¶`bTwŠ“+#ùá÷FA:<‹bžAè“ì‹7ÜÕ¤¸î5Û(9>#ªr÷gë3H>´'ùô[ü+È9TZMcùÞz%óŒùÉÛ:(‚ßļ ÎÌÔ$·nX/,"¤m˨ŠµšÉ:ÊwØ¡w"{Ö»©ìÁ<=£|i•%[¢6uY¬´‰ƒ ÅŽEg‰Ó ÑçAß= šPwL´ÕÚY}ÁÏîÞ;3´™­¿:])qíÅ (¦êϼÄ‘Ó‡â<ÿ_¶×*+ EèÁƒÑG7yåy,ÄâL0âGü5ö3Ê€Dk» ;çÏš½p‡¥èrŠRO„ÖU0cñEõsŒÖú1¶@%Yo¿S•øC‡·àXäH^—˜\CÑÂV$ÇHÂ9˜kâÅí/Y¥ÎµÚPL½õ½Ç¼§ÕYoºÚB‡l™î lq {ªL; ‘È´Ë Ïg ÂxÊY7:›B×ê$…¶ ¡(f?ñ ++­;7–+Y5çñL¹á­“Ò»µos)‡KrÕjŠ¼ÝË@èßTåÛíœ=Û‚¬}œÁZ ˜Hí&J½òDe‘ñÁäº{¾Ð}WØ%Œüüøs=Ù4PØhVŽ‘ÞIxó2Ô+ÌuŽ ijqú¶Å& b||¹ Ø”5œ ´×äeпFŠAùS#x÷Lûi©«ê—IZD2&j ªWÅH1":`Z…Ð,*Pši\Nš²pÞú$'Ì=•2}ÙÒ&öÔ"(qw4k’¦ÈhL²@fÎÌ¥¢'wqÔ#™ýÅ8ʦ)söŽì…:§•(êâ4ÿ?#èfÀÕ#™Çžp‹l˜5Ÿ…"‚ßXÙåß÷$“òÕgéX¢I‰ðÇÊ¡ éÅØXå> +§ŽÎÄPp)|›ç!:™©·ÅvhlEãHËí¿»š©ÜÉШ›GÒSª?ƼyK9‡ŠXUj¬ªnükÁ³ù²J_V¬Ã#3­·Þ|¶ð7žzUÁ«æI 3íç›Ðno782Õ÷j/k];>cbàéíæw”gÓS‚¤!Ô?Ã{]dOtÆ´ˆìc/ÌëvPÊèh<¶®[*«JÖkˆfÔ–ü\üQ@-.ñēQ .è\ÏùXâK€ôIž[ô´ÅcY(¢“ÆöW`dò².Œ[43­vwÓîGvlpæra[­^?^Ñ[þ”j:ÛÕtõIGÈMMå¾­Ü¢ µÔ¨QH@ºÕÔ Áƒ…¹ðÐw¯ë³¢ŒÄâ1™ÂvÌÔhüJ­„±ß·¤îò†-ߨ´«äRÓb Î)BÀa‡ïÆýw‹ß*äÆtÖ¡A[Õ©z ¸ž˜Õ`•^¶õiô•ÂÖldÁÌ æ^v~Ž³u””UuFü³ÔÎŽ<Úƒ™dm8JQú­®›‰Å8¤¯CV¢lú !VIÏ [¦4€HsuÚU1YœÝùÞÿ„Ŧ:¢.û…é)ˆªÉBVW;³Þ$ŠÐóx¦›²¼J¡†g¬Y®!¡ PõÙ< ~EWÁ¿až'ÁÙŠ¡öøÜWÌh&ìÚ¢nÆקâ¹õ9á:ºUçPKD„߈†õåmDÐÉYïbÚ¼~ÍèÞ7:ÈG+µXKõ3.ôµ\ú•œª²W‚"õ'ÌMæ¾ÉH¤?Ž^2ÞÕsEl¼àÆÍwvq{ä5Ÿr/©ÍΚRNpSë»/b³'Ú0¯WÆ.oøß´p]öý°s²¯cUGì#(ÁÕÁQ§@´(%óŒ¹^Ò‡¨j+ªññKIêå]jg¾¬Uü‚;@^X1¥cžêµpU¾š<è©0ÅÑž*€÷Thøÿ¥®­!6ñßÛT¸TŒÇïH%ÛOO±ÇÆùøè´.Éã)vEd躎ÁûWìLˆ|?ò€sSú}Zhñ>>xÄøå¤ ;Ä3¿±†›ÛL œ-Ä,÷0ì…f¢ùW‹)&e£ŸûÎÐ(ݺսÅe +VkIe—Ž!]¯YàÂ9¯Ûý‚ЇõÿCIcᮋP¡ú’_ysøÔŸÿ_ÉœþõGèƒØ®°‡1 +6öé6|‚SYã#f>½åœÔ”Gšsé4|$´”~·©ÙI¾Ṳ̀ëÿ×¥FµË|‚Ä4uêZå§Q[“áâ,ï‹¡ýÒ0ðÕÍ_õ ·g‘·WªZô„óüø¨æÿT„Þ!{ñ‰fÚšKÊÅŽØò¢}·!†Â=аjvD%YÙÒ|z~ó I¼wùÏÔŸø/S‡fú/e¢jw†Páܨ˜Ë—Š™• õ·ÔLnج{lLsž„„•wÏoÇÚ)óÍË4#sð·/LñÜ-’˜6ø¾Ç :'âTÑ!Ùñ5±Žßî)ÀÕÞ`”MÝá5ž-´* +Ø1î4È<€ç}†{Ðõ²38+DYg|K~#î ¶NûÌ“Ð P×îWJ³‹ÀÐÂt0bÛwm•¬éE¥ÓEϵ¥#ø¡¸orÔY緙㉹£’;,Ä3žÛk ¹8Ï¥ï41È­¦ZieÞí6Ëâ?£^Ù“a´wdÀ›2{ÒNùe•ÎIPC‹ïγ ÖîcWu·ºœÔ2ñ¼<ºUN—64fa› 39öyŸvÍê5’xOðZKÐ,B›†ÐêYçÆnŸÐ«¢`”yÔA·®é´Ô5íŽWMYMûJhI;¹ž¡ŸönÀüL’8ÿ3Ҭ䫃á~GÔSgâÂX0,V¦‘6ÒˆLZŽ B•ÈÊwMÿ`©~ìÔ}:²ê<æ’0w«}(»¦ûVí8O*h–$¤dm¦§îžcŸ<óSTéòóÆsT¹$ñ®³^Ç*/!°0uUÍ (ðKªŽ‰\Ç 9¾ö>7Á‡QòáÙC°W| Úid!ý§ÛW÷ L}FsØHÊ£ñÞ B•è%Ò±àK¾øÒ2¢?¢GÞ…:z’ûAÔŠ&ÉZCž\(¾¬z¨>”,† BT?Pm—Ë3ߘ‡Å·qh;]ÐãµIY-EóB! žJ‘¯Š’üæ @Æ!íSSæø•xš·yO}O]Y ­æ¹é.­ÓšÆÍi2= Uœ'ù›¤¿juˆ4}ðÓÏ>BþRPТN[3-E’ѸݧˆÉð狈<ìœÁÍÑ–#Á‘’ïµ,*œT¡o…DÈàx¡½ˆ0xäâkØŠ@«å²Ú¸ŒS¼b^L òÍ8ÿ\Êê‹]ò­Ü|CüVóV`玉{£ak/Ö’4äšKÈ9bô©Á>–mW8^ˆ3ÖÉx%Åš…£Î_~, åÅW~ÿ´qùŸ„N«´zùëDvh‡Zv=9€¤Ø¾…‘òL!O”F Sò‡i]ÿø=onØ:[`Íxü’œÙ0KR‡À”ÕµSÇ8†®þÝ«Í+©¥ABL>FQˆ1ùŒ,üÓ¢†…Qõm'(±ÆoX¤7Þ/͉SôgæŽq^Ó þï¤. *ôèªÞ T‡xÚ¶G¨”Ež‘m.£ËoÏ|Íû±tÅA˜ú±]¨K"•“z²<à ڦJQ'S;"K»GÓäÑ\âŸ8]‹Õ†&Ø°£“•$oF‰ŽSßÙªŽÃ^¹˜üÝy«‹$ÝÐhÑumˆŸj˜ƒß?'ÝÇLl€w`}skI6wd¤Ù ¢iÎ4‘NÜýÖ$²? ²A:þíS óä9°×\’+¤]>éÏc»ù˜´Š»9=iêŒýG Œh (®ÂfÖ.|³PbÝ ü ¹/³[M®ÁÆò„†71‰~õRŸ'6ÄTq͇îHuøÓ:! ®fñѺá…æ©æÂÐ}[WÎrج˜€eÈb€öeãq6É3?Gt釉)†ˆ»4}|»Þi7·[d]&o$wœ®ÄœæiYd‚ß=¶V«=ÚSéRÜ·g1ÌÆ6`¼»Â¡q<ÚðRz­\®e”Ê~Égs¤ôæ í…*»ù¾ Ð 'Pɤxøí d‹‘ChÍ–Æ' ïC¼NA×¾àZ+‚§~Â(vsfª'› ác–]è–Õ&ê+üg[^ŠXt2¢:E]Å°ê2Ä K *ZMa(éôš4÷øã×/å¯Ù“ƒ~÷”Þ'S±¨M,QG¶mJø4þa’"ïànŽò ¿³¢QByfY(Y^û_SÁÇñçîQ¸²çõ-¾ZŠ‹›‰d¶Ë4†w 9*“H«ÚZµ„Õ´Úù–CeûS„ªõr³Óé- pÌ–áœÿËòÓï#x\´O0¨%ꉠÀtÓ +€€¹ÎÂY>`\Šå‹YËþP‘ðâ)®¨ë%V€òNU€d4I|se8N¢ÓEýJú+ÄLÇ 3Q»Û‚©-™I{«ƒ¨LŠ”iPL"Ïß”³ÅNUVʺO2yÏjšÌ.^Ö2®vªZr «†7Á´Ù}í*D‚ÈÆkC:}p÷Z—q,ì+¦YNÑý"­ŠÉ°fµAHìB ¯V8˜ ÚZÀ9,hÃ7‡ÂC‚År{ĤÐ?ñíÛÒx‘sKó}f‰›kÛe-þ©ú·ÊN+ȈYêø-­}gö‘Sk1÷ŒìV+-„ò‘ª \tTæ1µ¨¡8Þ;ÑðXG5†V5Z™ŸÚ?™×>ë˜ãð‘`¤â¢³Ì¤Àžâ£«©¢µu®~Ü_i=•ºs_¿q»œJY饬A¤Šò l©æÔ²Í}Woû aí¯? •<4Ã#åÜ÷ã/ˆÕ.´Âù §7—åB5¥i~oÔo[,Ò ÙÑÜ)SïZÙ›E†ÁR:™²ÆÈ8.X¿þ¾EEWÞì6;jG¨0#•ˆ™^܈[ƒ=#ä}H*À@źI\‚ƒ¥1‰ëNÆgl‡¸'üŒ‰vÖ‡öpá Ï +*œ– øÉ”˜õa¢ò¼ò®[f2ªÐ* +*”Î ÔMA"®óÙÁ¤9ôÈXmvÊê^ãípÔ“VªâЦ]å‘fFía6½½ µ*u‹ú~ÚV•…ö3>ia 2Õ¦îâm9}fR-þ¿c:¸Ôðk|ÇBàl½ª"„½•eéüÔÔ§ ¸ÏÄ¢y¥ê ²]²þ"ŽbÀa(hnDãå£Øú«9n|´¶ä¾t­¤Ò +Ô¨VºH0¡’–£X"Ì)ô¨GŽ”(jÌuÐÃ$çÊÉËÄï·VƙԗŽ&¸U9Æ2¤9”LÔéÞ"@ÁØo½“Á#áš<ö%ýñSžñéÅ~¨î¦åÁµ8Y/>stream +ê4µBÍ`¾ÿ +endstream endobj 845 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 846 0 obj<>stream +rõÿèŸþ¹1`©ºã”Eòõú:|œ³,ÿTèR®‹ÒðÇ4glWÊ#‚)¡.€Ã˜”@„ZJbŠÁÇäá`2·Zü):kâ +endstream endobj 847 0 obj<> endobj 848 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 849 0 obj<>stream +5m?î“BƒTÍœÊJ|6•–ì'º Ö¥?©‡îM_³Y&˱9¶‡I°±"ȉQ,¹Tø¡f0, Ô~6Te•¸´H–"` ÿ8W\uS,Í`ÊÄ¿¯5N~±ò±@‰wAA õÛsÞYÅi9—ú«žýÔ3˜Ù—–ÄXÒ<Ž±¼§±’…xë[Xø+Ó‚W„˜A^^þãQ“$Yú5ÖKrƒÝ:O+Û»2-^Ý–CkøK„HÕÎI ¿½ò¬g·~P(µ—.f–ãLƒ!œ~ª”xs»Fbsæßë˜×uÑï²™Œbòû¬´’é»_Œ;ùøMXZv_õoÞŠê›XÈv*,‹ Þ}W ~BTÁ‡ƒ$aƒ("²<+$ì„¿ŽaÙpMkR¦¸Òм!Å*”ìsÀ "¼EjN™‘ÌLÌ-Ĭқ0¹ö²Kd/t÷Ðî$·qg6dH’5,„aG%€[p¥rvÎä+íÐý¿(h“8®ù±@ܡżˆ·W¹LapÂû¼ÕÚi‘-lU£}b»2ã¶_(æ,ßLèãYÚ¨%¿ ÓÞ¦ôjòŠm:Æj„Åv‚^N³ðLL…?FZ=‰‘AÉM´ž ßÀåãü†“Jy´\ó¾,ƒQ ö‚iô„WèZ™œ/VYÛHÆHëyYÎ(Zøc“Ñ…§¦À@”»ú|‹~1§ÐßâÕ¶ÅJÑW[á*1ئ—¾×œPàžÛÐ +r:€½@Èdü§N¬°Ÿ#¬§ÞÞ©‹ýÚÕqünhÿ0=6Ó°80¡hr%0‹‚ÄØòƒ¨¼mÒLÜ•T$¹&ÅL-,Âg,ú}Œ×P°Þƒœã§ß#p¦3È0.¥#HÔ6ßùàŽ€1Ïb=ääáGÒGó¶ úNí¸<,ÔCì@>w«ˆ–Ãîaa© +GôÑLzñ¿[(ÂUÅA+Kü© +d´>Ï—¾½jå S¦NÒ’º— <"IªýªwÖÛ€\r»Üë¬kRâÕ¹9?5ãœ7“ômÙfVCÛP5ïž_òæÂu¤Î"ß[d'ãY­Š>ÃñêèîÕ3¨ÿdÖ§riù>¿0*tˆ$‰ÌÞ›Ì _1¾âÈþ£5'¦"óõs¦š|" ýSnª§°Îsü;…°fÈ’ìü.ÙSn.+øóÀz›tãí1±‡ÕUí©„S[¯ëˆ¸“¥Gg§^5|É ŒâÊ5Éßä”°< ø"ž0Kj*Tñ¼"›a%Vb÷Ä ”»šµ#©?5Øé5Ï╳rò6‚¢s ÓeŒ6º©rê +„¨Ü¼yu ¤@ûb«@Š³¢EuÖÌYåiůîî9´5ôÚPPµ‡ß‚}VôLʪT4ÌI BM'´ÝÂxè K½ª·~[;‰·sI›*Gõ¼RX iù…%^~-¨ÆŠ/q1>¥«[ü 43¢°Sku€´g›4½‰ÛkoÇö:ÞeìØÄýön|sˆ;þϬlE‡°ú )/_Б¾þ[EV9€Ý~X’äÞCZÞÈb>[jNµ[˜Ö_É0¬ÆîåÛ$e¹í~áªs/ÕàìÀF:`lyìÌ뙄½Å¬È±˜j~dKYk‡=Êm¢†åö”ª³žƒÙ6& +‡>vÖÄHFî”D.`¸plKîcûo’ý Ž¼_œDËí/Âv<\ËŠ8$¸go:ô÷›GyËÎÞõ’pŠMO‹Ý‚¦Ø Ur¢‡{$—Ûñ.S3vE¼ZUêªØs”þOJk4?T;¹÷÷lu5cÁNŽCþzåzTKÈæÃ.5±ä%FPºðè-ˆ¡=Ñ™;Ð)êüݨ喛c!Ïk• »ÚÓbnæ’êÈxRKá°’œgÑYùSµòoؼHOlGZw“>Miª½ÂPƺڙÁ¦Ö1}îYŒýø7Ò~Ûlâ®ègJFÂÀû.T;~3%rÀš [¢"€üžô@ð;Á9ÙÕ°†Î ™G•U1¤m¨›ƒ@uÁ¶©çG.WDóKUã©QvýV8…49¬u;ów.PKAòèyn,$!mc¯CÂvÎÑ„"˾¶ W4† öñtܺtÖó!jå^Rà.l¬3ê”Ûö,7áþý²–&™„1'³ÝB›¼ï| ¯ò­~ï•p°ëÏF#J°Éü{…3ü&ÏL8‚wχv§lÿI¦m,2qXJZâæE˜«Æ—úÉ (ÆŽu$¨}ƒ¬Ïeq¬nü¹.¿=`ýsÂ,7‘æÞ$ç1Ù¦àËÈí¾ç“|,;ºa­èŽ­Ò%šp»Ï¬ÝŸ>æ΂øx^!mŸ×‹ ®PýócÉÖ›DU.iEeGóóÓíY"¥a%¡©Rb©ˆæ«öXšîô²×ݬXá/¨æUóä-~ ÃIžVy¡›&)ÙãMö†ãÚ5å­ˆ·ƒÍÅDj…çéf[ûÊ'õ¦‘‘1lI.'Å +Ä~Ó°‚_NLZ_ª:ôú1©[ä³í_ªžÓ3®¤N ²ßµh½b#ÙÚË0ÿ<Å䙢gBIÄ7\¹>qYyØtñÍzHŒ« ró±}Þ4±K +”]ßãw¥ªSM¸ÚÍ[-Öìï.+Øé»$Õ÷TƒyQá\ù\õß÷an Z±"8?Ä°}z T}£RƒM_2N¦\-cmºªlÿÑN+€ö0.ã˜#”ôÈRMÆ6LN¼x¿8àèRT"5’e¶5u‰,¼Ž|µzΦ3Õzí7“.E1 ¬­ëó&ªrt0¦€ù©ì5§ý먤©aD¦Œ5$°xláPI³îB\Ùh´ 4Ž*¨M™4#ð-¿¶¢ æ,pø rµÀ“9'À—"žš? +¤ç2î¨ML øMøÇK_LéßúÙ¹™—ŽU/çOî×1¥h¯C»ßnÀpÇW¶bÖ 7äÌ™¤®ïB£hp1¬J,Ρ~æö½ÎÂ~fÿåÆøF xXÝÇßj}ælŽæøQ ÿ.âÞz ëßÄ®«í&€¯uG +:zµgÞlº6v%눠¥ƒhGÚœóáw(Ðhb§ÜB?^Fvÿ8«EçHFĆaÞâ©nÐ_A<÷Ãוâsž4R©ŒŠ[µùÕÀ9 Û÷Ä}átUöŽJ•4N¥²(™´Óao]ã*¥ +d‹ Ô­“÷5@]ß7LÕj뺸U”·w<ãÄy)[p.±•Â6c¿œ[ õ”«I·ƒ€¼ìÊ?:ì굶^XçÏ€ØM¡ï»†œ©#Ù×æ|²NNâH„ÐË÷8£9‰“€š!°"3ž4+¹×ìi¹kÆN8:ÎÎLP¦Fö#B7’ØR>`KœFÝþ€8†Ê)·ò93+¤ÿj×YÊ 6Þ¨Øa¼‰Ï¢™{à‘0-Ç€“æÅAÎø‚ »ÈU©Œ0ÁF„Á>œ@F“‡£Dyˉû.‚™åøï, ^ą̊Ÿ¤P}t² o(5ÖR¼Ž…˜]äk½eŽP«X1š¥˜ÊØõ*é$ûCš#N‹Þ•Œdoqv‰“Kót«ÓË»’ÙbÇf@¸o&>«Ìº”VÍ.ªtÛÌì]o½§ ¼&Ðl€ÖðN§¯#ÏñÓááÜ´©Ë>RÊ œVý¾—]¦'<Éf¯Úb‘r>e÷ æšI­ñØ£iüz3Âç®8:eRÉ8 èñUó†õ¢÷HüA-Ñ“¸ˆ)§Õ„Çcu¯w=•YÞÂ5×o‹±Ô.h0Auýt£QO›ÆëDªê¥«K©ÛºK9z¾!;Ü>_³ÒÚÍ>°6ŒØUÛ켕”sZÁ°èZ3öiiˆ»GÙ1›áNPP‚‚ÙÃxSH}íJÚä‘(!ñcz©ÕqÁî~íÄ*Ü0JYÝ…»Ä«µ&{ÙKz@5 jüœzàÖtZšvJÍÞUœÐ©òχ¨F’ÇOKéÁ.”¢áÈÈaÈÕ×Ô×Ó‘}ðƳÝÞBYsÁ4?(8ºâ3Vuwp^póTÜ)d+z&JÙBt5n‡|z/åIØ Œ!ØßÆŸ§{â=øI9ïg¢‰®È›Ùãeù:ÌòFsü°`°PgVÅ(üú·30Ü2j&ZÏ}^’šÒ8Äe»üÌ,F»”ºMÉ±È +Ë6L‡ý“ 8ôähYGC,1ioíBòþ9Fæ–Õ»™Ö©; °Û¢6¦š«ÄDÃ{týñtGi•i¬Š:Tuã0”ôÜFãË`×sãL~–Øw‚áŠR©wN8óÚoO›îz‰n­~‚åSµY]³¤7$™ +ŠÕ8€o” 7!߀¨g-4’ÆÏëw]:2Ò^ôÍü' ?RF»ðK &|6í+wpŽP`M> 6l¢}?ö\<;#úÛ‚ĹU° ºŠ'åñÀ+Ôê..6C“ +JΙ,­šZu]ω #xê—dÀ îE®íw`¾C†…Äg+PŸññ®œ5¾ˆ>2V·†kø]ëBKeìP Öâ°ªŸU]‘íC¹ç?‘ zýÉYa8¼M#ç´”Üó]Ž|¹“D±8­©ÛßÓû)åÿÓÿ™7xé3ç~Ó¥…rgÍá#9Qfþá#‰’.çn•{¿bÒÇq臛 +Žy.ì0nðîùÃÉ„6Ç€‹HfUäEóÁÝ<ƒ¢ûüÖªù‚¡;.ê–l¨ûø  ¡+ì¯>I@_¿äÜ™OàQéVWÔ…DUp.aÝb¥ÐèÞì™ëŠñl2…›ÐñsÈTƒ’”F5ֆ擊âtt<ªÿ^iŒQÖÛüLú«PíB¯Õµzw8žÍ©ftJ­SÉæ“ãH+╯ºÂ”Wÿ¹‘žþÁˆ1²« /_ìÎÈs¸a&ÇȾßdwê›ÉБƚ  4ÜÖ±éOhÑ'ä£èúlÞâ7Èîç*¢µ†*bÂìTxQ)¯³žR®%È’\ãgCKx•.”¤_dþVü³gá‘U4Ÿß>Ë/¤áhND^+WüeÞéÓè;wnqÊ$6`ðaËmÐ=P´‘WšÎ™¡A¨²?þúw’å~ªÝSÙÚV® ½¬¨–Û€(í˜Ù~…l“·dÊ‹w)cnÑ +ÒËi)¹nûü”>WÏòL¹ªMxC¸ex{N£zl5“­…ÛÀ Ymå3é2_sX!%_³ð…AÙ©)yv¡Qž¹¯Ý&¢jèÒúE2 m®Ë-+'¹«ú¤AÈPÇÚïL>v@˜Õ«j˜zjå2…k+¥y2ׇN±€ì>BOspÁ „2ÇÎIoCÆu“ô®^@Ew©;¹2M€Ó³e"Gic "J™Œ”²âÌ ¥Ä±>¾È[á«ï0;"ºÆ×ðq …Ž„(W׆=1ív1Æ/QŠ,BzD‚“H;ÿK’rOÖ¼_„*/Ä-ÇŽ€”ÁP¶9X6LO¿‘±ÑÛ0Û½±es¨\Pò"„D#„¦à)̃*À§@¾}6ä.ò;û“Ò[´š w°„¯¯ŸÆ§äŸ—?_# +¤“'éNß z±ÐÚŠF•„‡±à<%±2SðÔÓ–¿º¦A@Ÿ[˜Mp9KÜ —ÍóaÖùe°1{9œihÀņ´{5Εü:É ¾5)^ßF¥ ¨¾z•ªXBDEV?#Î’ ®W¯yÀB”Í'ªq«µÌ7ðŸcμ-Ò!G 7 ߸ æzíñÎåbH6#¢ÃÚ^¬E7SŠï@&Ÿ5ÕÊgQOF[·Ìr]è:oiéšZJÚCÝQ–VA³]^}uWˆÎF_6ã‹ÂÉok›ÞvfáV°…A4€†?hŒ¨·™¶ÂïlÃQM.ûÏfÒœ³àP”kîå¦ìú-KQ*À¶Zç³(`]Ñ.¹¼ ým>R}ò?—çÅ50—nÀm+× ð,ì<ZêÈEM4P­ R(òW¢¿…\“štº)Íü%/ËÐËžV…-‡-ó ±[œ¬âÿ +GèK¬jØó9€ºûÌ…“øò×"d»PdnÖÆÊW7úÖ¸´˜•QúZ„Ùb;SIŽdÀYì‰9(¼ŽxÁÊÔB6H b×áÖ>¶x“F¹…gž`Êë2;þðfÚ0Q䨀 *-+æ”àÈß\S0ñµ{ë²ç2ª$„þ&¶·áÛ3Fèt¨oÁƒ#¾&{é|‡çYëÁ·ÞX³: +[?œ«$OÌÁ *E±ª-s1V •O°y{¶“ÅtS¤¬ìœ"ä6pV gOšÃ“ïQˆªÁ¥=Ö·HWh69WâQâM|µ¡ÉìNC})‡ô}§v)$3ÚÚÚ)PXª³)º#¤Qþ›º”ƒÉ¨¦ítÙga\Bl‘8­ûø¦yw{(ŒÇê=ØhÕŠŒ)‰t@V!YÂ?l™ÕO%i“žNˆ +ñ[1S’f¾÷ädÀÊ€pißj¬¦¬ð5¢õ(Ô cA¨”u&CŽ@Oídñp>ŸI7õ²Jm[‘Œ4ð/µèpY¬8{BDžyó$ µ¸fLúÏ®ç⎎äwŸFÓ?ÚGzÒº °Êu-c8.P>röòï×x|3Ÿâ‰åÛ3ÿf—<Ø.V«´[æ;,À®Ûr“]„2ÌJȨ†&wús qŽ’þ<.˜yUäí3ª +¢ò,@5ß6¨& .Ì©2_‚X¥']q3ªÀ®r‡kßOö +vŽ:]E%¿ð\¢bÌëv ¾x‡ÿdعlFÇ•ÉÐ-Š ÕcáâU/* Îý‰Ñ†$Àb|¡æ¼o>F1 +“BU-¬‹embUòíºn*¨™h>ôkþZ4¯Õ%u› åÁ)˜WÔ¦¨Ëªâ0óüäª^jÜí³.ÂÇð>ÒÚVEjª¿•øpd¿Q[ÛÂ(ƒîÛò“šA¡j²×Ü°4¹³@¯–—Q¿OùÌXm1àßUÖ5o7â:^Y„MÒÐO®ErøêåY¯"£›ðA¼–#3¡ ±,G³ÖJȘ„í5'ÛÉãÚÏGÝóT®È/ò"ô£ûê«ÈV +•}¦8-I)´þ-¶U‘/Aù8ÔS·¹Uùò]@0z]Ñ™Y©èíªfD!³ˆx¡Ä…ô“Múª·¼¸f•‘×"cKÅÔ\_Ž”÷»ø+9Æ–¶«•—»Ñ¢‘'?!+9ÇHòV?ÏJZ ~RëÞ¾iâ‹\Nqý´ò¡^í-BpuºÂ\é–Z}ÆíúI¹( •QàKËs9ð6œ­!2=ô«Pà%ý'DQpø$–:Xy£\~r•J²„f*㊴dÛ†ÉG·>ï É +È‹ZeǺîµq¯²›„ur+á5u´¦´o1Ûf%Àó?Á²(].ÿè{ ÆÀ4ñ ºK#áÚH1ðÝŠøbçΓ:¨˜å¸*å’Ü«Ó8(“)HrhB*¥"<±‚“M:Š‰…æa«íž¦%½ (>¼jÜ9\îöâNK8E’h:=Ñ…Ý·èî5dt¢0ÜY¾È*Ó¥ëªòìc–C9¾È+©Ì/ (íg +ö3¹=¢òðõm¯˜%­§÷õxêÏÄŽ!ý•à™ZéÚÝ‚Ó ¬Ý‡ 0ÍŸ»Q@Rb\˜×•´Ô•h™Ñ¦ƒ„b”Ùœö§<¥yÝ÷’«IÄÀ{¹¢zD‡Mãd|3áqê'EÌácÁT34ÚËYó!1>ÊšÃíB*t?8Måªuª ×ÖJ¬lþþ`À_§fL¡)åï¼*ažávÿᣄÎÉa ‡µG‹ìž§v@},šùüí7íø¸KɤÀ/ð¾<µBãþsÀ*˽ºQ?”$Ò%ÈÇáã–÷’“~ Äù°6¯t±[Ùí om­i¼kþ«8h1/U!‡ó·U•£59krYŽs)R&@ö W]À!m‹¡Ñ·¶ñg‹ÀÑ®£À˜*®ãÖx¯Û¡ão¬µ"À’·“Ó¶ù;VÃCp²Ä÷9ÜtÜÒ@ §ÏüÇt1Û¯[ñˆÈç8eEªä†›ãNùŸ~k¡¸£:­¶*ô‚q—Ö%OwIÌ\ùª<ÑÞ%½‘-²x{Ë]Y߯}®xó0®n+Ë‹J^e™.ñ¸ÆK¸>eë°Wµ)ôç¦KÐÐ}òÁ r ø‰³?[c"ì#„Ê—i}HŸmlj"¬âuç¹Ïƒã+ +)gà‘Â!ÍæâÎòCqT£¤ßj„ñí¡M¨Ô!ç÷9t`ª¬hÿ9#‹W³1áþßr­_ß|èÅÕe›éðzÁŠX2’øˆÓäÅ$ÊãÖ(ýUŽÏìÌÑÞöTýV˜¿YP7qí¼]b†…ƒQ©dnHÛ£^繜^Ïóx\F UaEA½uZj©XÞ­^Îd­PÛ57|{–Þ=‰pë¬=¦üúè·Q¬´çùšÚê¿æwMC0eªhˆ#ç÷?@ÖvO3†eáÒ¿§;Œ«(N=ì¨T¸|ÏTÖœ íÛmýî##üïÆ{¨Â’t¨'·›÷"õ2Èû´¨¿QŽ±É¹³j&’ZÖ(@íE=‡Å£X6 +Æû]X´y‰öèA¬Bx¡ˆâ¸ îÓŸ|9˜ÁçL®>W¢4$èSm  jìËã\üGÈAÚ`EÁ•e™b_Ƀ•ã,bùZG úæ‘+×Ä lñ6Íš6i||gm¬3éšœÝërÝë‹ž÷œ6c¹Ÿ½#F8c³¼º¼i)ºS +TI†²eùŸz©„éÈ™hù@ A>§Yw8µR–¯i×=SÄKHµÄ¤T§T’?Šë–HQm³{€º“jM€„4f9NÔË0®ƒáÅÅIE¡‰OHQ^™O¨ñ%¤%º*è´Ùú•ØÄZ]„‘%á—Á¡®•,4Z$_$øôŒªË¿ì—Y$*ÈÏ`$vÓÐjÓlEÌT†ûŽà™üÜÒ`{ß‘©ÖÀÜ–§cR`VrŒÔ›ä(m öI#´—-2Ú…«ÜhKÅb쬞®Õy뀵Èòƒó +| X·®7>í¥„‰a®ñ±äÆ””>ϵ§œ|¸üÊöér•áêÙ¯S™q2꿼ˆ ÎË¡¢[ìÐá„•¤† À¡¦Õ8±È'Ó '©²ÁÇIs'à£éSÙ¿§Øª€îŸ.~ &UõŽER@P˜÷k«›¹ïèQ—vBKm–»±m¸Oýé];Ÿ*-£²»ý0O³:5òlt9mnPhÜ°•´=ij0žý_Æ׋„}\2¿CzwrŠZûNÓO 6#ã9mµõt™À ÂÀ34{f¬«aeD—'U¶£†Ù'¨›0µ¨Ö)3´ˆ7žîŒü”;1ßáð‡^³cäUé‡T¾8•Ë÷•Ê¸‚¬L±…0¤ô®ólÔZçnÒ8sHlùìS¶ãÀ™2èJß(™Œ²}çÚ•q. ~/4°'ÖW±½oÑ©ErŠ{:—¬ôŒ¨[®;m "vófaÅûĶ²ä×£'ž›—-èZ#Ã|ѳÅ~`ò!¤.0Ž~u½Ü¶3 „wBšuÊô +î^ Ãà÷K¥ŽNcÄéÝ<‚}Jƃ&Kj;û#ëB“$éI‚w(ÚåžÑ—XXôïÌ}2`»dsÍš€ÓÇ‚³hSF'$‰ÌEû²ƒ;ïèyüÒ gføËSQÐ!:ÆíqÊP³ «3KCï¶á¬õŒ[ìCÛ¦i¯4i‰¼íG!HÀž5ÔŒVÛG¸æƒØÇ>Æ÷ +endstream endobj 850 0 obj<>stream +háߪHa‹ +Ð +endstream endobj 851 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 852 0 obj<>stream +Ò4`H>stream +%pù êoî  +endstream endobj 854 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 855 0 obj<>stream +?T¼O:T)‡$õâK ƒ?¶p§õ1Rhƒ pªÿ>½äj~i¤nJçEy9à,½ÄÑó[œÌݲ1TLÀÆ°6¥×VÔ L +endstream endobj 856 0 obj<>stream +®Ud¾ŽêDX +endstream endobj 857 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 858 0 obj<>stream +ýÚ*.·Â£à¼"ïH +êŠ$F9µ [O!ek¥„:=Ó,Eú&¢ÿ{Ô1–iL ß{j¡w¸ÕÖÙ¥µ é…b&.;ôrÒ‚§ôÖÜp +endstream endobj 859 0 obj<>stream +…ÜÜ Ñ/E +endstream endobj 860 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 861 0 obj<>stream +Çz”¤d>¨üŒî¬Ñ˜·–”H½B‡›äq¤<(Ï,Z³Dîªoª `D_œ°u š=AŒ¥­„ +N—§.H{ ì §>9äfÛ6î yÕ +endstream endobj 862 0 obj<>stream +æØ¥¶OH»±, +endstream endobj 863 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 864 0 obj<>stream +v>O>#³‚x¥jÈ«¦±žÜ¼½Í Gô@¦°W ~"Áâ7`‚2"н֌ŒÜŒQp±{(Nc#Èì*k’}íèÓî,˸Ì1OqÕ +endstream endobj 865 0 obj<>stream +ÏÎ’"èzš°Å +endstream endobj 866 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 867 0 obj<>stream +nx$zH놽éX†µGr NPîVåb„oîfËöQÑŠ\cí~øò3ªÏàs“\’"xr”\ñöTì{ö-ÙšÆ îj{^øIR +endstream endobj 868 0 obj<>stream +#Cu ZP + +endstream endobj 869 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 870 0 obj<>stream +LÝ—'™ )á@dÁÄ5?/Þž`?QÝÄ*tPå¥ê=•©EÄ Ü-"v°Ã:;[a}¥žgUr +³<5r ª q§üø£dÃnŸ©Ï· +endstream endobj 871 0 obj<>stream +pA_H˜N²íû +endstream endobj 872 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 873 0 obj<>stream +Ú´ sF‘‡¦N%‘’.zª¬”X¬HŽ?¶†Ò³RuDµf,êBxÜ'Ö̘bnŽFâ¦æ)%Å­£' ÖSípagæ,Rà +endstream endobj 874 0 obj<>stream +Óší5FêÛ +endstream endobj 875 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 876 0 obj<>stream +û˜kn{™ž®’ŽµÀ°§Öüê†R–OÃâ,aX8y›0§n­ì–ŒI£ÃÑC,ìS±Qù7=€D,®GLÑMœv¸T;äþáÑ +endstream endobj 877 0 obj<>stream +º +ˆG;23= +endstream endobj 878 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 879 0 obj<>stream +þâÑúÂâG#r-$ñÍÀšÝé·@çï Úïhféª%À¯·=T9ÚÀB%Ú¯Ôƒm€Õ qr£ë(?ŠõYí¿ Á²+ë|Îå +endstream endobj 880 0 obj<>stream +cOÐn£§à2 +endstream endobj 881 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 882 0 obj<>stream +æÒ´ø’¸âÏ]©[Ïfñ!éoó˜lnÑ I¾6mñ¡ú‰öD>Æ_:¦§œ+m*"\âáKºàƒeô©ã0“Êú”6h"åP‰ƒŸ +endstream endobj 883 0 obj<>stream +&ØÓ°¸ª¨Ï| +endstream endobj 884 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 885 0 obj<>stream +‡F‡f/ˆÀø0 .\Ûf×7….˜¬ÁëMàïY)ýûK—êù,–{Ã.WÿŒ¬,õ…Ç%&EYûbùéÆâ›`; \œðcÂü¹ +endstream endobj 886 0 obj<>stream +$þÌ’_8ìÔ +endstream endobj 887 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 888 0 obj<>stream +F â @È ¬ZâÕHšÓÓ챯خ|4œþÊç«L60K×24ÑŽSÙ¼ÞÝPK—ªwùQ4‘23ra5f"{À­;}»Q„13Ëéhã +endstream endobj 889 0 obj<>stream +a‚.K9÷[ü +endstream endobj 890 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 891 0 obj<>stream +±éß ‚l‰ ýqß|/ÉôPq&¦.Á\¹vc˜2® ó'ÌÜY¡ËócY,%¥yþ#ìÏÑwí§c¥¢%*ÊØ÷”~–.øÌö +endstream endobj 892 0 obj<>stream +yHu}—íþ¦¨ +endstream endobj 893 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 894 0 obj<>stream +ú¼a`m}!a1ÝY âs‡‚ç_¤©Ö¡EYÇ-qÿ¸Âzñ‡è8‰ùwÞ C=Í=¡„`¼Äîyºg6í_?Í +îRxSz +endstream endobj 895 0 obj<>stream +H?µœ ´š +endstream endobj 896 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 897 0 obj<>stream +okÇ*j&âßÑ´?¶äüÏ •m:ðæp¯~±»s—,Ü;ŠUÎhSU¹Ø”ÎɱJ(.  +WÀç¦|ÿD¼±1Âñ"?E? +endstream endobj 898 0 obj<> endobj 899 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 900 0 obj<>stream +7 ì¢64¨ØÙ5V¦Y<,dkƒðñ«¦¹_«c ½5PlŠ8{Ο¡ + ò4ÇdeYù’aO‚D$7 fŒþŽƒ ÙÓ9KpÔ°þ$Sµrt7:‘ܶ…ú´” ŽÓ²ÂbÕ›zƒ1#Zœœa“ŒÕY-@K\Çzÿ¥·¥øßDáxmæó8û`1@yÑX„8ïpZÂ,63›‰*”KIÇ‚à]X<ì´VÌZŸ:€|cAÊÉË"Õîg›•ÅbÎ ›÷äKܽ“Õ_þ½/'‡ˆqßÀ¶!Z¡e‰s/Ø߀VÙé +OC¦;?… r2ŠÚä Rüùw¡HQK*aûNmÖCH0Õ¯iùN¾3[B˜ûøâ:ˆ‹7ø¸iHùy‘îÖŒ§*øfœ)Yõ6xœ*æà. „<»RÉÎ0A^æ×Úb+Ʋ€b옰ѿ™Åä1Zøí`âz¤²~Q…Žt—2PsÂÔ£¯7^0BEáó*7 —­a<ÜëJ#9P k™3pWñgƒGR‹:£°s’IC;OõâÎmŠ-=ÜÁÝgøuÎmŸvßÄ"ýc8]aeE€O°Œº-g¡7Ê:o¡ÝgW„«†‚ÛœTN…0[Û¡<ž$Œ¢e…¦a€ú¨x:¾ÀÌH _Œ2Ée.{„6Ìøω³y¾#ŽíP¯Üwy÷Y3Ï/¥'"më¡ÔSj«Q^®y_wÁ}Å¢ê(-ÎGŽbÍ¢¦I?Ç=% J¢º£©V-=ßxš¬2*‘*ú ã0m±lÀ¯àÇãäÓ«Éîúµk^ûL» ôuvÿhoG0²MâˆÕ`=Lò«ÆQ¹Â†R™ÝÃp£Ó~ hyÞ|N"Q³fÜšVñtx}õ”3êq¶Å“¹Ó!h÷N¡7[AŸ`SŒ2äVî¯6EštoÊ.Õ†$áûÃýɺ֫–‡›y"^çEÅî±cËvÄýÒ‹@¨ã…z ¦!^²¸wz\–¿±“Ræ%À|1Ø+¦›é9ŸÚxÂT-M­ÎÆ∌.MBvîb\º £ƒ “Í¢®nÖµ•Ñà®úű‹ØeæÃ¥ ùÀïD¤5}ˆ$±jJg&RÄåDL§Äì¶Ì£,Òî;æwÝ©ü^dÕ‘î4ƒR§ÈÛ7\Ù²ÿwÓŽÍ“ uJ¾îª@¿*•á$7«&B-0öソÉzÂk~ òèÅ¿X3&>¤¤ðææסvœÜ“»e ~'âD–"¢KؽÛ~ŸÅ‚l$9ב´ß$ùˆ + ŒS¨wÚ@ø›,5Ú]¡tÑÇý]¤ð’ê=u\Qf“Z%JA‡›tZº…á\Tz꘾†æCÅpиúð oZ}“î­ã”˜Òål‰Ùôy8G˜ØþĈŠ1çÏ#òXMÓ¦8gÍÙ¶r›0ÿ‘‡Ê´/Ã.³zÚ‹’nÈJ»L Š¸8‘AªYð««Ûlàžô˜ezÕÎi@r·e’Ö¸©Q’ItÇÇ£‚<(eÕ4 OEtžÄœd«þç]¤Ì‹e‘îÀ"mSœ<îI.¿ò3û¡ÁÃÓÿ?þn.¥Áçtþ5õÍ´#qó âԫЩvÃòT)çñ¼`ÅŠr(({~ØJbQ€)úo:²Ks5ßòT'×3a3Ÿè@tñhxں˷d_7Ú®}]‡Œ”‰’r£SçO ›¸|䊳•ú“¤Éçºð•àòæ€Wýâ +”_ËÔ„½ãxû™¢UËá`î7Rßߊ§?é§@ì”÷¤’€ZÀÕÓšuv¿õ õŒx‡¼·H‚ÿÜùj&—Ü9ܳ³ÍI.TSµ¡zê8ã÷$“”ù*‚ÑPív®8…!!È݈}y„ËE[ŸòÂÇiÇÛ)ã¹,,çÕ5ABh,âY5Üø ±në0À’Ô<ü‹…R­>ŶÀíñíh, ø®’šhøn+7”§ ˜§wœ<€ÚÍ„1Ç{©¤Vì\èxSjžjóÐ-n»ÍûgiKƒŽ3ÝC.'k\9ŽAZÚÝUîîáaî +$®NØÈ4gá£)å7®Æ€µXû1¨ò}fN¤îÐØHRÁxPAøTnD?ô˜ ®ìL¤²ðA”?êÕ}‘Ì¿{ {;–:AÔ*‚5 é|áh{ÝGïì«^ c84Æ®óc]ÿÿ  ÝVÿ“¸.|PË Slν}eÇüé½¹CKe)øÔ§üÝšÕˆúV»ôAƒM„`OùÿqÅ¢–:—åFÀ4a¦rŒÑÌ«§vÙ”Žê‘v™G´F~ ¥„×z7³@ÅÖ'ÁG‡¨YãTÒù/Núyó fö)‹OkÖðÁ ˆ÷ˆBÒÑJÑ´ =kTµ[©—nå‹yVG©ÍD¸ì­à"+»î@g”¡Zøؾ ÕÆí‘õ(ÝGÍ›Ùb"3—²ñØ}ú#ð‡¨”á9²ÌA`)à m}gk Noþ¾ÏóU¿ÏµNúÌà@^þ]3õ‹Ÿ¨’Lýÿ@,[çC#v2ýFlSR×¾P HïSðR{$öm’ì+±w>üFææT¶õµ½Hº±u&ÇIÎ!U0!ê(»u1•~â&•-ÍaWnK¾Yâ¶BœQ­·ÊAF´Þy…E‡6æˆ'õþx¿1Ÿž¡@¶Ê6ò—X|yc" >þߔق FáåÀc¾-Ñ š>VŠù"¬Öö²»‡Ûá#TTTkéÆ´ ÀÁvnnTõPÃô;ñý2zs¸C,yBCÓn]çÀÕ€‘ôhÔ,X‡4GYÔô%›Žõƒ¨>OˆrAÏïÇ4JÒ{Ï·^…êJ^;Èe3œû?¹ìÂr„Ÿ¾€3„Û¯ÿ@Ù5b|/¿tŽÔ—î—éëÃu¼Mcå¢öBU©¸O#0Ûîjº7ÇûÄ>¢>ë¹­yÛñOÛ`^FÍÿ\^*”­A-Nbë)Õ> Ãç)¯R~R · +ó!­g“øh¡J˜ŽƒIç½íÌ_ êØÝ–kË’¦B@˜ŽLØ04%ʬ— Ý•……•;µ|¬â&¯~…»ã¦Î-¯Û¼|wù©Ý•žN-6wDqΫn@•QK؆!¶† ì-Rê^eÏÍÿ/X[^½¼à ÛN\‚ín¹.t°{EèNœÄZ ò;§‹Ÿ¾Š~÷ÕÐm§‹öÍA!Dlìì{k_˜»y>Ë≔¨‚ ÃÅ«©æ‡~"·AmGÃüŠ9?µpCm-ôÒœc’/c»wǽ[X¡ Mg7 ’-Jòè0HG8ãWEW\ jI, f(ð[*ÐHdë*\Ê'MçË +ߪc &®D’ýJÝÀï\¥Jâë$†VC$qЗãxÆtÔg_§ +¡ o0M ”XJÀïÒúásÝ |Cÿ˜~ÝT¿-‡}ß]C6 éø† +Öeµ-¯WÞ…«§õ%ch ’Žîx´Z€`2oÞ²e1ÈÆ3ÙÀµtî£À}x˜ù1²m°Mœ¿lð•4²,óôx‚r÷¥«t¯Å¢ƒðliØ’ÿÃé +qòØÔÛ­4jÜ6·>;ñª±1ÁøˆÏ»k4?TrçDÅ‹]¢ +jquÙ.”ÒXf¬¿$âÁ¡”âh¿Ý›'y“aÌÖÛ¶& ºô­W`´1HÞ%šJnA}]™ —þvÅnï +_RÅâ);*C"]ˆû€ Îió»àFw3a÷£ß`…w™ÆœM„À"`1?Bð +­±RpBà›‰š$8A+bæUvè8ï+ó›yÆD˜­Ågag lĺ‰lP–20¿ø³¨ GW t¤’<䛂դ±Ùœ<V]ÞtßepÔïûÅÚCdàÕ2Å~ª))ØQEÚOÇñcN¬Lh¤'ýæ-¨ Á#ËâÝš¥AÍå&¾žXšçW?ÂÕnVzSQ¶ƒF±|Ú´f3eSœ_µ÷ïMc)‰¨<Ë¢_7¹»yÝχâòÿÓÿ*ñî1´ïª…áð·„sm½tAaIÓ.+ -ÂÅþ~ ¯®’€qÛ®‹¹¤1?eÇ?š ŸŽ¾já HÕ.ŠÇH3>‚[œ6+ÓH]d¥QyÈ~Ïéy,ââ,òVÕ8þƒ ƒ>G- +4›„ã‰ÕªAû1ñ7ÝÞ.€÷qŸ§;«÷q «¤û›?;”W’§öš®c ¶ð?&ƒk›!‰äQk.§ò?>òsšk†òž1Ô <¥¾¼cè·Ú–]Š‰‰ÿZB(d Ò!! +õïŽDpØEç»;bzˆÖÜÃ_!ÀšÍëH’×óïs¯DÙiµóœ‚‘³qµÞ KŒTœ•67A ;0¡ø„ 'hðã§F<TY½#pó +£.s`Îi­Q”Òº¦j>qÿÈh “¾Þ¦sÔ\¶4þ2|Í<ßùNÅé‰Ò#™îôãCy“„£íu!1ßìp5EŒ>Þ/¡þY—TDÙˆØÈÕ@¸»`DuçòTqÀDÈæ IGŽLÒ?‚ kêà\é¢8ñØ=j6Ó'™ ¡ÕÍ\º±¯'d‹Šµ¬¼¤}à·D¿n&ƒÖDÖ¨©*si]•Í‡Ã-Û·µ!eFY¿ Ç|ˆMMÇY[K.!:½É¥9ob߬v“ NßËÄ^Vdw‹ +w¿GY½úyÅ€Æõ2R7=,ìûd’+üÊS%Ñ“m¬_‰QÏ+•ÛÙØ+“\f½@ø?F€ÈoûmÙœL3ò­œð"ØO<Á²† LauŒº?wo˜ŸúçjØʾ“ûf ·g怤 „Sǃ—ñn¥Lqȱ$6—¹àÓ³¶i1}?õFo.½ºçŽ…0¾8¢z9¦Ô΂…ÊSÅìòýýatÔ½/»”HE}–òc‚«ñ¨Ä˜ð ©sýV%^¿{ЯS?`ÙóÈŠ šŸ®ò™„j +endstream endobj 901 0 obj<> endobj 902 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 903 0 obj<>stream +zâ‰,¶Ä舔(æIiΣyó¦+2$Þqßãhl ì[¶Rh±Ç¸F"Ó½#-¨X50NšH£Nzb*߇ ’8›aÐä0Õ©I©ráy<ç‘êçìfÔ²òIÙˆ#…&®þ'~}-weK»%6âo Ï 4â»ûÿP_\Lj*Fˆp'ÊP¶­·sî€Þln1¸ ì›|È0;.€ +«P³”¨ó¬1] f®ÃE2jL a0žŠ%Wø`y–/F–Я Ù­nË™˜Ì‰¡ƒ½¼˜Ò‡ÏþG~<ùÙRD:ÄwÈ艂Äi†²R`²å팟¥®‘sÆeã5¥¶ähŸVDêï¢Åe”—;e¶Ù.§ž® pš!™—£"£li¶€`{P ~þ bîR¸þÉèI†DˆŠ¼ÿxcX#þŠHýŒ®3Û£GŽÉ8.¬û00²eT9i€H'×ìæðsi‹×s§ÈÈ'ÒìŸÃ7VwñN|Òèø–¢ÌY¯Cía˜²8çBÄxej}Ý<eiüA¯O`eB$¶·gZb²J#eÚÛó!g½LFy…lî{‘ÞFûD˜,ß9r†ˆ?®Ï®ÃE„fš™ÉuO°Î»} ¦« ~ýuš„Â$æ½€"”ͧۂ5ŸSÛg0 :çö¤ \VüŽÓ“tÒfü„½Ž…pÑ»ƒ“ÀîÕB0'àþÎj%dK†Éeq3©'0Xºxе,I‰ 1* ”§6´…hÍ-Þ3‰ôÔJ$ÀJµ0'Ä·gÚVú¿êÚR/lû +6=UÔö#ä’*tPLaŸJÑü]v·;—[пֹ”Ñ8øûÛÍ×ÒõÕ•ÍöEÞŽ§cú@l¶3(·?Ú%{-Ú§Ðë7P¬Æ0ÿ“µ«a‘;ß${Ðâß2ûœI¶Þ(†R2þæ^Ö +à?*$å,Užw%ä{ÙŽ5–šwkÖrxÅ5‡?Rá¡HŽIÆïU/ŸÜ&LjÌãäØB–]æ Þù-.Q¼s{ØïѵU}׈/Ua¶'Ã,n4²gnê]iv‘RÀ»#ñ +ZÜŠq´‘îý¿…Ý€áuaE¹.gR3 0VÃØm=ÔQ 6ô¥WKeÍ\š˜ã—â»ñW!"Z*ÏO1+X©õ£n/ÞÒ\0ñcÜ<‡L.m8¢o»CY …ß5²^x!FÇnþ´tt¡ÏM}ØýRº È ³zÎO³˜|Ýøj¢-Õ¢¼ÕhcðÌ5:Hy#üý1ûЪÇ>{ÿ‡Äqëw¤£ýŠQ O ]37·u“–ºcá%¾ÌÜæÄaé@yiô5”3SZòBpë¿¡3²Q†Å¨/&|õä"$æåjG³Ç°ƒžÔÑòP¢§¡—[’Kœ“Á^Ž¤÷½œ'î ÆŸk€)ï[!gj §tµZø± DÙ¼“¿6ˆFåɇР€CÚ™z̦uÛjm;:Œ¯ˆÑ`Š–ËaÇŽ›8s›œÀœ+Q0¦ì±µäAÕ#Ö°œ!ÁY«™[h€k\q3Ú¼MÔ[˜Hˆ1àg‚Ýqî +‘•||ÐR¸NáU¶F °MK{B#g*pÇBðé/üÔ[ŒPÃi¤EÑTẗ™GøG“ÅÁÜ‹º ÇN°ôöÊ{mŒñÖdm +½oÆ#ðÖœã‰ûÞ%zTéí›Äcç(\+Ù¹G#- %ç_[•MÒN¥’àÕ°@´S(Äth•ªøb t±vsÃëO/Þã'½¿3²ýW‘þ”,4ëë5=l-ö W¸½NŠ¢>tÚY&G;ÍŸãOŠWLØCÏᘟݔ&çú¬)!\WØãT—ºÓŽð-ý)¸þΣ÷Ä5êá4,$Y='zdçï•£Ë[ ñT‘‹ýøætS×óŽò¡†s†sö÷X?fFïèäÔêbå€ 1_üÎñÞYbuzø:®'ßÃúÀ’ûè¹÷wïð«m‘ƒ¤—?•JΚlîIRÊÛ†Ú­¡ÜóI"‡Ô8šv—¢"öð­ZŽòô= 8»ˆ—õ:†éCâ‘FÅú÷Ö-Aˆ|o°;÷T4 ‹á'”ñ8èp¤ªu–”ß÷–DnõCþ ¸k ø×èT¢)*½y@«;_±2XÉbL¬y›rеÀK\UrZë×4¼ù]v‹k¤XüQ¸S4˧”6ÓDO5AÑ~,û.Gaç6›¨¸[箿B°½ üˆFY–ðâuÁ¾iÛÎãÖ ÕZ?8hbñCyÀó±¤û¢PYª¯O9ûÚ™uíXv|á@oÕàÊîê-íÕ.êUräªÊu<ðÀ dp!`Ì..éb=âó"? P[ü@b\W—Ÿ“ImÃJø‡î™²=°<á_¶N¿¯(ôôÞÍÎ[†â7íåV/>äFx\aþRêíh¶3TÀµìÝ êí+ïH3Lá;%ˆ½ +¦»/½ÞÄ0ézlæ`Ì9-pF Ut±+>sYæB8ûthÛjujmyYHÐzº_IWŽO­øL €D™‘\@_-‡ŠÌ¡Bý°¡›ªá1¶Â5ÝöO.è4Ï—6/èAË|fó¯¡vžCÛñVíƒuÀ~R$“#òÏØ2Îg»é¦qe6`ÑW˜ŽJ$•³L߫逹îáyqc¢®Ì*oÁá½ Û^é.=2d¸ýî׌ZŽX Ï-u}mx0¤ßüóÊÞ<ŠX™OI)»A4¨{ã_!Ýô` öè>ßië:`ã4`ïµgèð>úÝÞví*6­Ô}‘8?Óî+Fª:¹vAé®<ýe¿JFÞ#Ðkñ‡P¦ñ܇ÍßMŒŒÀäòJ’­dSá{ÊS•$ ßáÔyÆà´m¦ 08aF¤Ë+Pòÿ›ÇÈ]D7ê±|‡©b4@»èOâkýÈÍfªSÚ¾ë«Zkj¹„Š‚ê:4´8|ÿüûLfïÉ%­ÅXýPŸb2" ’eõS Q'ÂÏ)uaê RÙç +q«¦ñœñ¡À ÇlÊHKGð3©í»ãjö«;TÛ?¯ÑAÿ]É`ÀØg>Ÿ¶é¨««°D¾ì½Ruæó ´÷_wS±bE a }E ÂWì|V±q±¨àC?eï³XNçyárÏ&T%T^Þ"»6„V„zð«Q´ä¸#TY-&ðò‹IH™kØtyî凞é JçVÚÐå‘=Þ˜Í6ëJ×ê¢ö}o¼úüR=6åÐõ+.«üZ”ð4«^<úÏ…´t„}hQ—ªp|:õÙeÔ/¢xíªsŽˆ›´äTYbÃ(+èÏ"¬ÏËë×åy!…pÿóm…Ç‚•ö¿Ë¿~ºá_QµÙæÌæ¡é¾"éÆ’©#jU¸àÀ4bÚ&'Tû‘oKåKÓ± ©øˆú4ýA‡ežÒ£©Ì+¢ÚöÊ‘'Ëlþ) +Üåéxó¥Ï2É‚zAaû's í¸qø%–ƒé* í¹åÄ_dG=€›΢'ÿø_µ³òbØ|Ë€Dôqî5ý»R²k½þ~®ˆ&öJ4=Ç£´ûÝ@ôp@÷*Ñjë–åÊš¤éïÓ‰Éþ¢vÌŒV¬…5÷mó>œiÚÁ2ˤ¿›ä6˜[!ø 5B Ãuk†½åÑà}ëC5/°2b"F/—ð!pZ¦h ’üÄ*·¸ÔâÆ(  5|!ütæÍ}5« Ç­•ÈtþÝLdÆ™»r,Azœ×nâ|EX»•N½VÉêJ—²¾„SÍiÞ­êAü=_#&–¦$ ”Q+ÞPüüfó<:2¸§±zHgwª'4†×+æ+ø±)äBñqD}&åJ¾±*ŽIé<å˜êÅ®Žëäí<À|è§Ý¡>w²bi~Õgdò²HžÏÔú_f—¹ÔS”.ä<Án˜Tè¾|UtÍ +¾»ëÚ™ÓѦ×ûA«)kAZB½ãjè…ÓÝè3ŸÞïë³…9ª^¦yª€CöÑ'á’ÄîÁ‚ƒ´y%©R8bÄèGý²Š33+6b•^Iü3jHÖÍÞåTµpüN±r¸NA^Ä Ð…8¸2¤X8€#¹ørWmînŠL››ú1à¡Œ%Û–ÛÇg&ð¤˜üàûÎ3PÞ•¶vewÅpÉŽú!ÜÍÔᓼ?™¶Ï¹ÕsÔøð+Xî–_r'Ó7ã6ŸvHÛ¥ãÆ p€Ïhæ OüßO 4G£!æS€ãÌ>oë!Y$ù*Ͳ'%Ùßr8œÐDî—œS"ÚIÌGb¤Û?^;+èæ -º[§" º¶V18 +ÐÌøø Ñf+õœ¨Í‚žòêI.©ÔœÖôß²lÁ.cñ§SPM;~Œz# º"m-,ŸcrŽ‘m¨V— ç‰9§‹}€Y7¥ïXyöb‚ƒIE"”o£-ñ,¹U§ª(pÅl^1GòÀBgòè_oÃ+eõ&RìOrÚô¾™²èÔÒ7×-R9ÙV;|æ6&BC%‹/k€Ä—O ¸U,"+g(:; (<[æó@önW¤¨jÕ¥¶¾¿ú¿hϹ®W),í\åU/Ë Bh&Ö /³É€iF•ë–šWKJϯ˜ßEðƒþj¢ùȪ0GAԲƞZÊÈL‹^>ú‰µ6cãòL¥ú ‘  ËE¯5†T]…»ŒÂíxLNcE};`Fè¹V»{^~ü¬½’•«‘­/±Êà{Y3QìvyE0c ‹ÍÝŸÀdógØt}yM¹ØLúÉÑ÷ß!ƒß=0km+K iÑùß9¸SÑskÒê/žÂ7'= +b?¦ñèµí8²ôçÌå¨ríP߲ЛŸ2–gõ0µà—f¥œ õZé³È1z¹ÝØŸÈþ²Ê9ÆUC˜Á…M‡Õ“ÐBkò+4‘ÙrþÌY—npÞ¨´‚©o8É·ý‡Îø38cóùw(‹u©+#åù*åœÊøbŽå0“Ü£¥’÷¦éšÕŽâ±¬8Ó]š<|ëþqÏŽÁ;X`Á¬ âÝÌt~y´µ$Ñ‹U ^ˆyíäx;/Äìs,f5eNN{qmƒº,9ßþîj8S á•Ïí楽ëE“êMºH÷ïF˜çEçºvÚ…öu!ßgP&C k>^ãäü¤–˜!´…z¹‡ôe¡WzF²ô{íðP®Ÿ›zàHs¹9¦o™º‘mÉ«\4’ÒÚX­»“;S‰?æ©ðTUék‘\ +"ö]³‚“+kå7ÝàX6Àldœ$T@+†ÚÆ°û;c͇çä6n ´MÿœÐª1h¬·,˜áúvÖ{SlænTïb†Ê•Ó¸xU_D„ÄyOÞƒQ;öBšu¯OTŠÕMššÆ”ãÎìGÓá±¢(98ní¨O²xØ «Ú&ÐÉ÷›JÐ*r¾ã€W&ÈÑ:Lžˆýr&±Pîê,\oY)lºüb;ýÓR8‰Skš¢P¥0)|wdñ!’ln¶J@d8EYþiãQ è(–k€EPf g“1¥ÿç,YO\繸Úâ×:A&ê}ÁåžÙ…zøý‰±÷gë +?q:ß/+…‰šY9¸†±À¨m†ˆ¤Ç_¿°ÊÐ2q_È¥Z å‘žœ 0Ý‘M‚ÍT¥S;Ön†ªùN³ú»¨)RÙÍ?Â`|§œLxñ”Јf§Ûƺ}C4|jãÉoJÂÁdà½Ih¢9Ña¢í¾[_vW+š BÞ~—°a"œ_¨8 ÷“CùÏU¶¿ -о¾&T˜n·l +LÓÀ8÷Š¡CÀ>ï“!÷ Ù¨uà&¾³Ìý¡¼0âˆ}hF¹÷çA0b@è_uh®£ÀôÈ"Åã"Ÿ±Õ]!´Pƒ;’½˜>Ž¿ Ø rÄ[Ò°ÎóÀö´ÿŽüƒ.ƒª`’JÇÌ>¢öZM& å{Y¼HX_ á’åê·"Ë'.µj= ¢ˆä.…â»ñÞK©¹˜H˜k®®yù éÂRÛ®Ú¬¨\u~[‰„òµ.³'¡… 2 ‡z19ã¬y:0ŒH×¹n¢ƒJùØë +7œé&I„QÕg“¯'Þ?“Ø×ÈéP¿£ Ø0à€+ÎÉ©(×½òzNª,3³ÿp¡¿ŒX"+÷Ó¨ÁRVjêÔ²ÚfNðï0í/1Äh^§z1ÁM= +iažž}§äÈqéå)á³5J!·ú™ Ò'ºÌè@üÔŒXÞ°–_s‘dVOå}ö”vPù-­ÙÎeÐ… +#»W·E4!-YÂg¤¦H‹‘nñúSjZ­'™zý/Θ­=]ø½Ç(x̬gw‰…ˆÚÝa²8òк|†þ:¿ß<É…2>xÙÌ=§QD–ûïm,–VRN{ßï²JfÄôŒÓb* ?[3ZØsT=;¨MádzÞ‘|k02k²¾™ÝJ}ã<¦ j‡m“c$äï@éS-ùƒ|̓ºïÄÆl`5GéênþJ¼ù4B®B?aǺ镡àóÙd÷‰e¢ Àé¨?ÅkûO4‡&ÁÉIIñæÂb kŒý‘ÀäE”ÎlFW£%Çí–Ä"y½ÐÁ\ÔóÜB&áÿ©ÄÅÈ}ÆEê»ú[È%6\Un6‰cŒ¸"ß9/”È“õxd£Ê:L$b®'ÄwW=sÚž±0ŽE“¼xwyô‹ ËB†jRºOáÍ}¶*ßqÏ:iÆ$ž  ¹=l².ŽOµƒ`ë÷·l”ßÐ(—Û#œªcH惨=0“;8Z÷*÷ÎBS/ÖùÊêåæ¤gÉk]Ÿí0©ÖüïÇ]½«Þ,LL°-‚h†È­&Úû—NB“ÿP_ ûs}ÜÒîå7µ¥ºVªB)3o,Bµüx‹ÛaS¬u§ú6¸í‚,rüöi¾+jÏT–Л91bÇ¥&Q“oÔ²ƒ1óëÆÄØ §¸÷¢àzÐZ‡#ù7ÐÛÏagXT”-)Λv8Û¢ ßrÚ=ø·«— Ū#›©%;°Ú ÃðÉDL_½ßßJîêÌõ?òùUIÆǺ–E$+F-ýµÞa¾Š¾;dYõúICVã~TtL4T"W8iu1¾™ð ë¯kþTGH+6õ É¿Ÿ“@_òæ;&ðœ`‡j&Ž'<¹E²C’µT˜ÐUœ] )y5ÓêËFâDÎK†6¦m}`RïŸç»¬@2IœÝ[¤”5’$ ç¥\4(ÿ+KD,w¶ü[FøÔÿÄõ|Ö€›^Ø:XŠ]³¢‹H?‡”‰›pBŠÛÌbÏ‘| +ꦵŒ°üöo¶ý²àÈ;@Ѿ&t>if(ñWÄŸ!â46ôÕz{¢¡MÍ׳ùÿM4œŠe¦±ý&„îêÀt%5¦Ì0R¥^ñ}#w»æB.µô’ñ×sE•ÓÊô~òuœé:šVGòÖTžöV³i,#lÍrµJå*Qˆ3X³uåýÏùs–üºÉÙc}å<è`žÚCØUi¬¾þÄnA9èšW 7ÑÒˆóM¥3Ío +~˜4Ú mÕõbpÔ]ÖÐ$Ø1Ÿ‡s±M¬4º’–uòo<ñox®I”Ÿö~lRþÛ§þ@çáÃ^€¬yW(µ1Ĺ©dïa­_,š¦vûƒ@J\®ÂÀ6¬ k®S~| ^r°†£ÖÑ‘ÀìvrPIw$°MÆËÆ«ÿNï¤þG ;"æôÉù%Ô¡Ô¾kÑ<¹ƒÁÀ˜-VR2xx" +A=°˜7¤—È ½@¦}êu‘F?X{ôfÒ¾$8ý“:5Zº™ „ÃÚ¸¬ÊËëÛ¡–·þh¾¾6¶—'Šè®ÄÕµ©ÑŒ›]…&ýïäfi–¸°]ùÚ9u敦/jïÿÿFĔńí‡ÆÿíöÎá¦_4 +ÅKŽÀ$…ï«5‡¨‘f’—Ár8xŒ8~ e)zu„/ò=`^$soŸE ØƪƒÀ]­ÖA+LUÀò0q&uÍ9A†¨™ššm†Œ÷ ‚Ÿwmjªª¦Ùb%˜Òi_øé•iÙÛ= «ꚊšüúI±žºñlg>CNLót´'bªôo`Èò]¾g÷×,i0ÉF:9Û»3UÃ|/gKG½`´öŒd&Ï)âz^‘»FN}(6¶_‹Q +Ó a³‚S§‰ë“Hý3°®s(¿a‘#½oëÞ zd÷r÷¯s,ÿÙòÆ&žÈ¤ÛyÚ#ýZ”3¦\‘,ѽ‰€3Õd9zÐR0KòXE¼Õ`xÛÝ?嵜ËE-ü!¥5J¢{Írt9ÆÚŸý‘fšéÄ*ÿ·ýÉR™ÂNÕŸ¶êâq^xE¿8Ðë± m1Tß‚”8wÒõõÑœèŠ8*LÆÌñZx‹qqz,û*ÒäÒñrWj8³ –ÕZzH> endobj 905 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 906 0 obj<>stream +I¿ŽÎý¯PáË:z |+Ôå¶-¤§ 1bÛbñ·VFÐ%·Õă¨ÊÉU^¸añnvx€ÃV¥Þ¢F‚%À,4€ô3Œ‹$ˆ-ÐþVI[ªÃ.•¬­ÅlÅŽ|}c秷;Žýzaë’ï•B¶§Ž`Ã"šä½Ï~˜9Äd{«Ifº¹y¨Œ½‰Qâò|ÏlÙÔÞûÞ˜Nè]pyTÒ} (¢ò<ä*pÁÏ=dÙ8ÇEÈÍçÜþ Ü»˜ÅJÀ|Uå×k›'Ä¥¶#9ùÿCÀ6âYò_®ÛÞâlÒ,Œ<Î^{×à?ö¿¿ ó_ßçaÈŸ¶:è¾@Øm””ø¤ÍH]Õ÷õÖ’5ݶ¥N¹v›7»Ô'‰l>JNÊ6öíÏ-lãÕ¶ ¸æQŒ Ó¦JŠôsøQ€#ú$Ê#)æW=Vvëù?”¹¯žrù„r^–®ûô-«7ÿa‹ù$B¥”:á Eë2o²úšºäÏ‘uÓÉ[±lç0ýÔnš“²›!™XéA±:©k0jÂÝeÎU±l¤%R".™ïÝÕ¢®#ÕYÃap»µíÑ_/Z„Ìè£Ùì™Tß +€ÞÙÚÝ‚G]XY~>''ùGŽå ùù©ØËaóÂà5¸}lU^ž)2§ ÿ”r´{Åå¹}“ÍÚŠà:&é¸Äiçxå]¶é¶R PËò‹OY½`J½¹óÇXž]C/né_7Ïö‡µÕqî{Š¿ÍlòÞ¾›Ëâ'¾=YšÙyi3¦Ê–HÕ7”# +v¦ñŽ^%ˆ]…Lñ>²ñ$§‡wÓ ¿j÷Tqñ”˜Í±#üç(µ.<ËÌK”©HŽSŽK!ÝÍÌAì)qÓ}ÍÑ~¯Ã |Í^DwkOF¹2õV#9"kÌkéüK̽ +yôRÊqVÑ%U²ÌwQnG•NÍt¨ kçU¨#Äl ¡ä»b=Rrði0R¿Þ³Wü¾Š·œÛ¼Â!YñZt‘Þýãáv۰磜 Qû=áЉd$3™Ø<ÐN‚(Ç¢ú”Úç:¾7Mž«1·>Š‡s'^åÍÎV}`ð™”'Û”GéÊe)ÔATZû°ß¥f„ê¹f1òÜŸl)?fÂp7”VÇ24–ª¸|ƒ†ø¥.ª¯EÖÃ$(F D¢k¦ 'š®Á`r’¹qŠþgREYš Ád%«‡j@ÐQÆ€—pæÙߣ΃XëBŠ7™È‹”. ê3@ =„Srœ9´ÿຜ\¶¬\ec´ªÒ:^|øM¥xE7[¯fZÊÀt™ÿ„Þ6¼*¿(­øµ*À—é¦QqÕÁ\i!j8ÍÙ•:Sê™ÊV¡o»–S† a™ï>´ðåñ¹ô€ý̆çHyY*¨qæMdåG…xø*>¿²xÔÃØUÿféý܆ð¬ßç™g¿8h =ºB¿;æBÿ +Ëㆠ‰OŠÿ§=åááó;×’,|%•ë86rˆüž¦¡¼÷ž! Éb’û'Å0}cw#ž8jBÖi2¦õ’ÅÓ1"•ÀtB$Ä„°…M‡š§¡D3¼{‡»¸Ùßo÷ÀꉲŠ¸ãÆä·{Ó¼ªÛC$þesþÖKBú*1ôÛÚW¿{±ÉŸ!UšÇv$fGÕ`ì† wÙÃÜ +z•¿2P_W™wB”Q m—sÝìöbÍÉ>‚Áýrô¥2ꟓO°¤Ÿ§Â«#o|ÄË{MÂÍ›×êQ,$›ÿ{Sñ[~€T8€ ¬ÂZ R€Ò¢lL,k³uÝ­ƒèhFŠ1Aß4>7–x}u|>ÚþÆxNÛ´Z oÜÞî%É}±«ç£Ïçâôó½>ºƒ…¨:ÐÕø9Y¿ö>3Ñ}eðéÉx5· ‘‹^v ³{G *Vǧw…TÑm"N²—íÇÐ`ÊÊ¥³¿ Haò`HÇsôø݃N gÕîu6üðô…š!ÅBºÀhª„pUaÿíú'‡}ìðY}tmƒó'Õ-m|ãÑt“F#µo7;³Â«É˜ÌE‹Š¥þŠ‹|Æßjÿ±‚†ý(qŒ»‘Y²î¯Wä¸G¨®$Õn!C7Ð=B±æ>¹Ìf–:^ÕãßÓôžºx0ýG²‰²17¹Mg'µ•½"P(F(ý‰·ÀvûÙæµZ4)8eOàšs>Já °²Uá¼MY‹ëoÒØ( ¦âžŸ·`5Hw|Jà~›µ§cÜà+ÛŽsÕüµï{ÆâÌt\Ï Ý^t™µÛ-kœ’¾­pngL¨Ò9éµñ?Š¯ÊûîÄH”í};y™ÇÓÞ!öÐÃ3gú1@ڸƛ'09ÆÖÙU>Êì3hð#o~ÎÕ +ŠŒ%²ƒó£i˜fjÁ$“‰ò»ä”$úS`‹³G.`?»Âê:?X_éP4†_n|óYE’§ÂãƒiŠTo='é«+jA¸û›ùËMqé¹Õ/„Ìq1’„L•ŸS°qË;{>]´’ s ©Ðëo†6x\Îå å9—g#/téÍNãšÚÀÀFÜØ“`>\µ˜l÷I¾Stþ[}ÏÌÉï:ãâäQf¼»ÑORë½RÁ}c5[‘šXDPá¤èÐO¥SÀŠåL!„bŠÉPOßuRÂ,5#õÛÜùeJˆ óªþB¬0ÒÆX­ ±”}bäC~S8©í^‰;LX‡Ôþ± ôlsŒskOs0fhˆÝqÉ~8$*i?ýo l%›LÙæ®aPç™äþà§j[Ñ~jP4j'8óü‚ƒ£ÚÈŒg¦I˜VÌr+Åȵ£O›öL“†œäÍY"š»CõõHJóía5¯ö P[o‘0ðúÀÈSǹ,6\³xN4²>“ÕÕ~„Ž«Ì…ÄyƒfTTÖΧʉ½¸™îµÚÆÃíÉÃi+X»–E,ßo &FÝ=ÄKùªØš`#YVš’g–è44·w®¡³Ö4 \1}ØQSUÂæq5…žÊ‰R¯úðOÂQLdjâm½çÅ0£QEGË+¸Uö,˜u!‹|Ö<ÉH”<ôŠ÷%D³‚ÎwöhOÇ ¬ˆšËÆÍú†-Ï3·XHtô”éÙh–ºÁ¶Ï²™[*ÎÉÚ ­)=œ[šªvÝ!s«ûD—xÊí¬ÌFˆ££¶(-£žÇ*3šcHÆåÜßµG‡í›»ÝèÑ(Jk2ŠÒ{C~×#%á5ucÌL¤ Õ¸!•*ÇqVjÂ{ÊuvÝR£aò®.ò•;AéÌð_¡ï;îÍäálÏ.¼A‚Æ–þ>"~1±ú„…?ÁóEnJ©iQ±pË®ÀÆÈ^ÆJ¦»zæ$iÌ/~è¬ØC°ž¾èLî5¦ykB—Å+ßòKXÙ"ŠH?–R'…‘ (Á”žK‘‰#îËâ‚ž¹§°™lb‚)9§î‹@8]²„ëÛövvãJVÎÀž7ÿÖ<ð Ù!¶¥Þ8>ùiJÙÿK§…G•p/ûÕ¯‰Åþëý£3?̬ё‚ðÛw´iYc’UŽmcª„wS¯‚ÆçA˜i1QΙR¤ÜˆÇ㶕³QèÍü"@}{}[)?Èó ¥Ô«?Ч)Q&4é%e‡÷z•Rk×ÄìYhÕv)XgÁ¤ûʈî×8ôü1ãóû ðarnÃŽp¦i©ç Ž1HõOܾޤ¾©õëÌÆ4ÂÚ×âÙ+†(W²»ÍÊŸW̳ŔÍç•YýK=–Ê„ȯwe˜Ä'†OPÈÐÄ.ô¹%[Ç©Ö†=£aÒáÓ´ÏÇ=¬xjY2CvC”wŽvN7·c¨BýNë+»“â¥yRo¹.Ók½ Ÿ–›ó|Ü¥ohãÿ"&ËX%R­Œ/·-¢:ýµ#œzTxP*=ÉóhÁJ™TOÏCWÍðb õé&6{Êw}&L´`·p9»™a +™v $ˆ …¶$@¥¦< ºª¡Ñeu>—šî7Íò@•ãØípV«tÐSö¤ÕJq£m±éÕKTÌ‘üm˜C•ö« `ª²”nMåÔÇÍ|(\<­ƒ(Á‘¨“7‚^ŽÅV±°Yûmºp€b—]—jýqi'åSpCh”tÌÉïwj„qôÂܤº5áRZx øÅ$M¬¸Crv#}ß먚õÜŤÚ/C=âÙˆû†<ºŽì¼PØ=REËØ!~ žëÐC'š®lJpeÃ’íÒîÛHËRH­Œ ƒì妋([TÈ>O–­Â¼›K$šhÿ +’3.2nÞ‡/4£" Ÿ½Tùé©ÑM‚6ó²m.ëzQŸc¶6¿^·äöÉk½Õ3صG…¸µ˜µ«>.÷¾¯(µÒÉGP³,j I¨> Bz«†2#·•D’L³‘xÛÀTC—¼¨ð¼‡‹g?´nZäÓ,b—³ÞîÎÍH6Ö—ìËCÁ"vŠfX„½E¥5åগZJ{Wj=EÏ(Dºü«¸Í‹¤ŸÖÃ_½¼w âSEþ5Ö"Àœe?i´î«ž­Ê³2ÜGF…7Ïœž…ÍÊ`?È©zÅ“Æ* ùµ–U¶x QÖÃÖ2½Jh$ÞÅWRǘÔ¿† :~H­dÐMÜÆ9>­SÁ³? •'±‰Ð$H#ÿÂÌÞçw6*Ý3b=ÌSQF :«ùPU„VÄÒ^àÌœo©H¾Ú©-tÄŒs˜è> ¾ŸDvÚ«&èŠ[„ÃI’ˆ½ hÈzWvo;Xã°‘>yØnfÕÆÛ˜ô‰”Aî¦WA¤Ò«`™ÊݲVEOš·Ê®ä‰Âó"“¦Ë)½[±VˆÕîÛ;°<œj9²ãU{K%V•Ñï¦ +Š3ñA_xq„—€büNyræÃRÊ«cy{¤õ™°mËÓ(s}zÕñgïôk¨eºüo€æPÕTëìmƒÝ[Bc}Êâx›T"Gª +Í]}¦›©¼+J¢Ãå3®=\¹šÌHÙêEïS˜Aë+jÐ{Ôãj¿†ê={÷ 1Ámý€g¹³‹.„dT‰ÎÞ2.øc˜P—Lˆù +i#JöÝûzôaûôÝp¥¹R,*GøÍŽhf$`ô¶Ñ57¶è<Æ?@Á%Ñ}búÅê°ûdƒ$zƒûtº…ÿ»ŸÙàC–•†0+µÎKg!þ½¤/l´î8>zœ±Æ£›™%m°À¥V}c·FKSÄ z"! ýŸo ¿õýÇÊŠ EFëÇÂSc]l£¿•CçVÉ—ä7:Ç—hÎåÌWkó …uÁgÄBfh¢|˜ª,•H@ëšN˜.Br»áæûë^u nœbN·w_ *²éÒW„%BUÚ~±Ôuÿud.%uˆÀ÷óX÷vc1UÉ1Aµ‹ª]5cŸÁ<þ ÏXù¨5ÕoÅê‡Þ[±ì‹0.ÖÁ² d•¡YZBÄ%“1e^tÈl¥"²¸U~Ü=-\`·©iG("ææ +ò3÷3?{ý|0F"ˆþ;„È€£·H¡¬ÖíýH[•íÓ,« ´¨ÏjÊl].½çÌ+¤§jÅþ8Õ)vÈ–°«]R3oLŽÄ†¾Ÿ‚JøíÃÓØðÝ©JVjñT”lÞo ¹ö,~>öÅ•0Âa±³'–eÔ,$ë¡dèrøÛk +.«:³L³ªD6wÎBJŽ4L‘¢|ãØdü^0Hy™Ô|o®Aìt‘yÉx`q ¼^Ús ÿÀâ¦Z2’MƒGí.rÜ4™;Cmq ‚(i½¶#ݬéŒ}Ýaãó'ìßñ¼´K›HÌb®¾N~(.Õ¦0ðlú¶€¾ò⺣y"àÄ×eþt°þèh1RCßÆC»êæìJ»_³3dÉ̦¿S”Ù©[aÀÚLµG#hªÝJtrÏÑÜO¦ëóè7=‰¶-Q­dÿølÍ÷ÿøc1=øèv;t}çÁÓä¢=Ǧîú°ç“Y^3LÑöý…$övZ©VÊö~_}©†*WßJX³)’ŸümŸnPª®9D©D&Ïb,þ¾ZtGô?1lÈ…ýÖ A É#™¡[5fâ2©ÈAáÔsKÀ´«ßÁV ,è`ÿ/œœf¤N”ŽOHû5ÝÙ˜ÎuÜ\ óbžÏ@šHcáAUºíˆ6km¸s©ÍbÏÏPóJqï7z÷߈&H,ÓØyw¯–æÌ2~áǧÁÆ+ãÖt’0¤7,PŸ™»ç üTI6æp+G‚&ºÊ®ú:XzgÏîÇÁi­Ìÿ`Ûcÿòc©2Óq<N©'v#&CÓîF“È4é‘رî~|%ÈÒ%Aš~bnÈtN^¤ž9IŒ:‚µ)­ª÷Ü‚{ýÜ l­[Õãçè¹W_B?“ŸÍFýF?9™rk{M:õ™wy¤ +¢y‰ûêÁ  nÙIUŠû’Ëð1>–D ~åÿšvÐö‰ÛC¯ó?3«/îõÿ‘Ï«@—â7ø#srÛ31NÖMêÛDÖ¹ãøÄ¥±4B5™Ôú%ôvD»â¾KåÌüª›)]{.Î÷tA4¥¦ ÊÞ!€ê-—ÕLÂfª@$A#ÃöÝàÌ#0ÁÀ{–’ùrÝÓäú²ãïÑg=%%2úµºH¹ÛÝ°Ën©»)Q*ŠTæé,Ðÿ@Tœ¿r\˜H›T;Îë÷ý^úr Èó:•vÕwׇE}ŒfùÖ[¹L8öû×/¯Æ\gc¥õö<¢ÝéW7•áù)ZœNpî ¦&Ó÷ ­cÔùó÷ÈLW\t•æÚK +*8!„%¾ó- ^¡"k s²{b^\ˆÿøÇE á`÷)b"7)(¥]®q–øÜkYeïâeoÝü½TÖ^,O¨œ,ùëŸã ÕºeÇ+l­d1{e‡öuÖ¤ŒÉ8, ŒRŽÇÌ/V}\«Ôâ=™‰›cùÕ¡²\‹Êbê`ŒùLÚý»•óèô×€£ ýŒBâ©^€”?¡˜—0r0AMþ©FЖ©»wý‘lŸ´Ô¡+•Ç²¶Ô—¡F˜P1.Ö¥dOglH…Ç&tåm’ýPMA?¬ºÖ‚bü” ÉÂ)ÄBEhYòð Œâ8Žì˜#ëÿôvÙ Tº‘ìtˆ~¯’¦ñ}ñÖ‡Jc‡£y¸®~%ßHÛiö[²»4¶íAæJu¡zxÖ $‡¾=K„¿ùü¤‘@S5Žüõ$õØ}ÄÛ\J•Ëiµ~PVa !a[U)9ÐÑFXïîÞ²æ=€òÕÈMþÎÛÈ'ºåsîø|`†èÓÄtS›3.âk|¹\osˆÏȸÿ™ ö¬bwj¾~AÌȳ¦ë›¥æ•á )~÷RïÆe^ DEå;åQÙgn™ ©L¤7¾Т.sUô¾¢0Om…oÿÜoÝ’|ø:÷ÙÛ± åÂ’×û¬aÈM,yYÝg;ÐïÔç0V`Ž?FÅÄrý¹üÙãße\é$<ƒƒ~Ek'hlp•  àá¡«’ ûZv÷ +‰E¸˜NdIF®[MÉ>:ö›ö‹)HíQ÷:MhÄH/턪 )Ú˜ÔÁà1# Wÿë"rLc*í°t€PäЀ\0!+ôpÈMo¦`øiº HZYž?¢œxék_fi›WýýäTw®™F±X¥ ¥{n¿æ2[W9ì¾ÆëÁÙ ¼Œ)‚6“d‹îo–ÒA{TC¸b›4„MÃ8:”,b‘×­°Örڛί‰äjeóNšJˆ ,W¾1´ZÚo$ÍkïtC Æn›¤oˆ¸å\1䇽·“6)^•›5æ¶NÂaýþ䦃{Œ@¶ý JîM6þÉk…Nâð<·W@UDFRm(ºûÜKÌßÂ6ý—1έM>¥§ pC!ãßtu?s{Ñà€ÖUª¡ã„a¿ë½lÊ2VÍ>–™‡ÙÓ<鮩F&ê6®_ï‚òÁ#YmrõµËÔq:áqe21!……Òñí +'7¹á!ÌinªÉg¾r\A!#sÎOe6ÇÚ”þ»#+ˆÖìOÊà¬ÎHñH°6 ±,®0—ˆ‰a¥\v&Ja$rõåäwWâ×çŸq¤î¢}§xSâRò7ðª¸Ñû9Ú”™>ÂD—]’(>:ð_:Ôo댤U©É®@ø‘ Š N ¸Z·Ï•§.»æˆgÁÓ»ÛLï1 +ðªVHR‘@Mž© ‚€VMÜB÷ô°à)µg!ÕðÌ6éwìKyLüÍ”<|ö‡kkmþT$O ¢™1 Çw)äþD“ÈZiLG¯n|ª æ êéX"ì2ÃDBÈC·²òŸ®4Ó19 –¦f-/ŸXÖÀŠÃEL¨HéÛÁÛW-t 701¡þÝÐ\mžØBïš¼®’|šoYúb>’zƾ¦jEú¿¶2·Hu± ›Ý<Î*B<ŸY:´Õ×¼/‡Û$þâñ·\ µN(Ž×ÓA.]Ûõòìd9PGírÝ‘¾ùSêõÛćçZö†hV j?ªs9žZ¹M(Ò¤ü«ŠMI E(Ù ž©µ¼->º)7«# eÉ°\’!¢ÃÄ~tb¼Òk߃Z&¹ôb¨©¿ø›ùùµ> !=óá4ȦK;΃Ž,|gêÚDÁ—+¦)ÂnrÇý…¶cçtï*-ï©vyä€C±•ÅÅ×¹ZTî}V÷ý#eø¶,$øWâ.´‹““w…/N£Cò Š¬]>NßQêê˜Õâב/.b´tðwm*’ÔìÚ{M§Ù.´ê’Àé^Aºòj‚Äâ·Æ³k¾MÛt˺¥‹_\2_fý” ±¢ô¦Ö´¯M‰‹-EÓ +>#s5nÙ¹eÐó­,,º|˜«cùñb 2ÅúÕtëîJÌÄ4SKælo³Îù‰FWZ´È¤|ªJÕ»4¤×±„ +ò“£îws´P Pº2’5ð•©ÿZ&àwWÏÛ÷ý†®kK­*n‚±¾zºÏ +jô Í8ï¤l°,Ož°HíCŽô¿šÎA¨Æ8DldÐè¯?„Í3|”Äzº[ |¹gõ.[”¿ÁÂB;ÝDZMl¾Tü®r}u\;$¤ípHtý輌 7ƒ +ûŽ 6}Õüᯌ%¦Þìv`G"'´Ï÷—r‘[fGšy¬ÐB€%zÐXgIèú3-ÚKl÷g1IÁâ<™Þ—Ø)ßË‚ýc'ч‚møˆ+áùÄ@ääJ¶™ÝP̱nýxß5)@¤9Øáà;•L|pé¾ +¹TÿѾÿ±_CaY²³/jó»3(N´¢„ªÐß C?Ð"ä¿ì¹,¼æ§ȪKÌâ`”¾fQÃm–S³Êÿ²êIÑ]µd_ô–ãì¥èÛPŽŽžjîPnœj … €nàSIL»N|== 1²´ðª×‘îØÐmÇ€ÇèY"·§/ÿØÕx—¥ +ªÿƽÑ);§éf.Âm_B‡HTú~¢Lý̬F+$"°AYÿx0w±Á‹I!?uâDÏAàMÖèHÖ“U™²Ê²ýZ¹xFýWÙ°Ýð=1¨Iðä'w›¾.¡e «ð Þï³Ë«óFD¨§DÆkF.…ßØ—„c·Ll'ˆ;¤¼më„Cá ï²f(†zvVÂ@~Ð\w‡ÙÎ:/òhò'<®ð¹ê ±›Þ]o.¢ÎŒÀ¹w·FeÃWm*Kˆ$ÈîOÿÅŒ?œú¨;b…_9ŠÞd“XšY檲tÿô¿È*µç8 Ä7*/ÅÅ»ãÚ@ÄRmõO]¹Wº/]÷ Fij…c]å-4v¢98JѪñ;bL/ò«oLFۢ߿Îü!òHèÕU߀ˡf¹œeÉÎ{UÔÒú€==\F-vo-iФ/Ž\ïÃê7¥…4u€aK÷hsñé¥2˜1MëåÎEE_¬Ú$ôß2“³n|mfæÀûãCsŠÝ+ ;ŠV{Öx1n<ÎPdˆöwOÚ&_­ÜŸöH7Kš'XbJV˜b ñ‘Ah„²éÍBüö“u8ÿ+ʹÕõÁ¶÷;ôy(UoÄ°WÍ xãLª3"FØ; >P¯Œ†âœGôA‰’g3£ Céõ +$ 9¢A?ñº§+­ZÁ:.sø8Y!›B7óÂÈÁþöNOê1ß÷=˜Â¬>x’Ç#®×¦ 6íY1-ÇL_pñs-á¯ò ߊ~±û,cÈ~Ÿêý¸ú®GÒcnÆyGÚï®]cÜÄ•}fazHš­×ý!™WüY.j[ ª(4¥Ç¨âeÚM<”KC«¶Ð ívZkïPßÙ‰<›æ9™Ê+Ê;«Ð­ˆ‹º%} üie[ž‡9þÀüý'úªÄ•]U¶ËsÁÃß½zö²ŒW·öZtû‚LÑW¼Ë© §;Å6âBÖ]†a *Ÿ¢Pú[Øé‚!#ÿñá|ŒªuTslÏN£AUsû²©£÷;שÂÔ§‘Rü>áEýg7š·#gÍÖ:ÕÿzÓ=Õ±c¡¸âÁL™Š`P£T`5çúhažÃ¶Ìf5䉶#±¸î;¸cײγܴ0l¼¢°ÝÑ>«“ÛPw§ØŒ2hï«¡,˜Ô o5^œ6~˜ÿNº¢éÒèbß2=¯ZŽÓXìMæmž|Ê›v>Ÿ=µÖEÆ.ah[yË +endstream endobj 907 0 obj<>stream +| ƒ×R&¯× +endstream endobj 908 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 909 0 obj<>stream +;¹µKŒD+¬Æäñ.&sÌZ?#¯Þg_|-7¯z\|G&‰g\œŽ7åKÄ<§Âí²äÜPlý{êæîÅüÇPÝF +endstream endobj 910 0 obj<>stream +«[Þ€LW,ê´ +endstream endobj 911 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 912 0 obj<>stream +”gÌYg?8Ùßypos‰3oö E„åÊœÂØË“bÄ8rKïbf»-ï©1hª, ¾0=~ÝÈþ³aÒšëæ=+MÑ®m +endstream endobj 913 0 obj<>stream +á'f¼o@Fìÿ +endstream endobj 914 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 915 0 obj<>stream +wsª^õí>ÙÂwÈi™i‰¤Y7«Ï=T,3Ò{÷ŠÛ‘‘# ðyìT˜Gj>š‘ßêÄRàá °Ñµ û®¦Æ&+úF;ânø^‰ +endstream endobj 916 0 obj<>stream +±³J#ñ¬® +endstream endobj 917 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 918 0 obj<>stream +l8ïgïg¤€äᕲ†ê€­SpòVÕ~-ƒ×?J"ŸÁäE3\ø䈑mé쥜„¡àï¾¢]CŸ,'%¬ä&ª¼lM`ðcÅIeI× +endstream endobj 919 0 obj<>stream +koÝ‘"ìdþß +endstream endobj 920 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 921 0 obj<>stream +¥·±àþJ$8t)ö-ÆÎÁ(‹\WNÒBçŸQ¤ <êJ’L¬ €•šÓ]íº‹å†+Dµ®4\R)FÖ*w¬;שeÓßi¸?“÷Ê©x‡ +endstream endobj 922 0 obj<>stream +SÙå +4¬µú +endstream endobj 923 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 924 0 obj<>stream +„®dõæžÝOïB(~ðWÅt_ü6A6 ®í0KÙýÎé¦à“MKàÚ½±Âá÷½šœ”¸ØÚéwâjH~á²ÐEµÊ‘«’ÃàÑ\~FŒ +endstream endobj 925 0 obj<>stream +B½ÙÖVûêaÅ +endstream endobj 926 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 927 0 obj<>stream +”MîãÁ)AàeºÛ‡<‰EÌë$EÁQ1lºñ=´¡C¤„ÀàOhÌNiÌ„{Cêr‚}í% öÐ\-Úù ^^ÎnסtÏÃ×Û¿7% +endstream endobj 928 0 obj<>stream +‹2ØÆž¤} +endstream endobj 929 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 930 0 obj<>stream +ö-Ì1Ø ŒÚ¥ãÂX~r¹_ÔšA†°Ö££¿¼¶Yð‰y +ÎfÕWn‡ªíhì"çož°³ý¿á9$•ü⵨‰¥òKäkb]2 +endstream endobj 931 0 obj<>stream +’Ô^ ?ŽàÿG +endstream endobj 932 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 933 0 obj<>stream +«ýfPw/Ú)ߌÿuê¾s+ ¶¥â^P€ÞbA]:Ë‹ç¼>dÖ¶Lf¹°€Q2[´ Ùùige‰#{j”ñ¿ˆ—œé¯ma•`"y +endstream endobj 934 0 obj<>stream +®Ûa+Ú¹ +endstream endobj 935 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 936 0 obj<>stream +XpÀ©¾ú§X~ňCS=N"cd5q³½S—Lø0(7£EÑfò4`ܱÁg£ÀïùÐLác¤-PmmP·‹æQ¼H°ð6ZîÏx’ +endstream endobj 937 0 obj<>stream +¯NÇíeåW¾! +endstream endobj 938 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 939 0 obj<>stream +0¬amó«—EÔ®WŤ‡|§»çåKÞãÚ ÿe(ƒ~Éz­M~)9¬…äpŠJ:AŒµ½òF€I$9(4‰.Ü +DvíiFTšz=DÍs + +endstream endobj 940 0 obj<>stream +hð»÷]d‹º +endstream endobj 941 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 942 0 obj<>stream +WV×öËü¹ñÝ@‚TÜÝc=Ö‡}‘˜¢ +ºˆ§ –Su:ÒuÌp§2NàÂ<“lñÎK‡ý[Ò$ Œîmo˜6k¨”ÏQ +endstream endobj 943 0 obj<> endobj 944 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 945 0 obj<>stream +¿¦»Ü9¿­T2@ç2µƧƒÆØŸ£¡|YiÁÕèéÍÞªÜ^ë‹ÒMcõ„lÛR¾óðb+9â¹B"~‰¨ :¸WÎä \ Ô¥qí‚ômËo\¯Äp”‡Èì/±›ÙD…ùÅ'')…o^ú:ùí~eF|ÒNkŽg„+8­Æ2Ý¿Â-æiφWÜÍ̾ ·¼DWصÝ×Bùˆ¥ ÞõŠ +ùú$(˜¼ƒ´Ûô#'ïBÁ©ÿ稉äQ JGIšçÝâ•Ú%C“éÌmsVíoã°,(ÄäõÛy‘gÂDfß ¬.Ë“ÀÁƒ¡‰Ò¦BûÍÃþkSßž·æ”ÝÅâ¨`p½T\UjkÐN×c­0ŽD„Qhm«ŒG9³EïÈmfRÆ„ + `0mHÿÚ–7›'ú*¥Â=§û]TQZÞû–.¤5^núïƒö]ÄÀ'Òhé-’\‰o¯@˜8¹€ÝóäƒæëñFEç6¢è¤0bŸdŒÏ—æ„ßšTeîž««´:Œ€Î7gPbKµÊ†¦°³ïù¬6¡jN[«@Ëm£ÆëqCËÌÕoù9?p/Ãíþg!Z=0ØëÛâÀ8ËUínÇu. !ÿM/ 6Q]‘hõ~Z!M†Ïþ´$ƒÏÌ"”–·ÁôT¨œ Áœ©ãSYÐH•&È1|íÊ3ÃŒ—õ=œz2ÿÏU¥vÉíN¶2Ž)åd:#Ÿ'™Vkd¨ß³5EÆÐiÇqqÕÅê,sðA9ùw:ÔG4#iÐgÄ©3]’´†ìG¾yé R\Û®€ÿú›LYX\óòEÇÈdh³@éêÜÞ1œ}-Á®4¦ŽR +áÔ?xÆQ ·d³RYˆZUKîµ7êz§òꔺš\Ò©Tíª¨ð.þ':¹? ‚j“-äF·nȨðç:Ê´V†–('•Af—Œªà£óÙM”r;\>'iV—|X:|N›yªzyqÙÁO`K6éfúlÓF'{ü5¬®~®šó SgWOkÓšÇÔƤØóxµæ)ŒÀh—v`üOF“Tœþp­çß–ˆ²Ú,‡!nýlT04äôE¢É&ý½’²b~n<1hS·oGÌ®ºf¢ÕJã>§Úar=ÇíNêÂ꽫D’„û îÁ¢6Í꘯ ‘èRI§„ÙÅí?ÅãÎ.Zþ,ø “íŸFÏ„ʵ­°\t¶iíCÚ±ž†@ÿ©´Œ"öd_4°>ˆªeïµjPb×M$€6’=;…a)v~|šW¾Ìùô?•–““ áÈýØkYÆ‘—°‹´eâÏãžì@`þsiß?e‘LÞyƒÑ«™Ý~øïy¼FÕzDúïؾsÂó¦ÄÞf—†©`[ÌÛ~T}„ü\›ìoN ñy¯¾þ!/WkGÂô¤y»úo7m ~³¤Uè¸u…í=ÄgÂuGÀ»;=ŸÈMo²Ç€çòp!&ÌÂäjâ±/ÈO¶ñ™Î ÚëíohE [û%¿B›éøý­/‚¸¿`Ÿ¶Ío‡Ï+ĽŸ< &½Ò¾îl8wL€»Å÷ ÓlPõ¿;9dÖDcÛp^lž5NÉ”:ÿqƒ¿Ä»¢ÉP7‚¥ûúxߙԲå¨F¤sÅVþ‚~µUýXRZóhÜ¢CGioT²bƒt”cÔz°ä/›‹T3LfÿU8Q¬W•éÝp†`ÞGv~l²yk"¯ŽLÐ3gÏb=N¬“ð¯Oi3e0À£?á‡o¡õ!Ä:‚ÑC<9gUd±¤‡ÉMX§ÛÝcácÚ|i?¯Xó²ÂEÝ1ý«U¶I*ËËeW£&xë—cÑ#XxdF¥åØõ»WË·f‹CÝ&àÝ›!R|Ûc[¬ÄkèüK²*vÑ^ì~DÉ4<Ά7¶\•ñ`µ?TqœóK¡C»}Wz¢ö5zk’дKò”Æ[³~#/½M´i‹è¶ü{{3ÅÆ øÈÁRå8[nÖ:Æ… RG Ò­^jªÊÕ#UÚi±ÇE*‡ÖR0ت…¡~> ´Z»ª•®õ˜I‘EÿAèqÙ*¹<­>]¢1½F   þýS‹Ô=‡ŒïÄ£nôv!{ ÉÌŸBK¡u6Xò¹úé‹sÀ<úl¾‘ˆ:ŽïŽ©§Õvù›–éÆØ/ÈHbÏ(I è¾ô¢á&Õoª±ªÓè.÷Jµ=ÇÑüËèl3š-A oó£)(9Ø]˜‰^•¿NÑ@œÁýõƒV[büß°ÜÞfç²dkÑUü²ƒé±ɱ4,&“‡¿:½4Þß\úwrêŒÖLÅ0­X¸Ë`L˜òk§~—Âc6Îxò6ØËI‘Þn0r¶U#©:L'26¶ŽÁ’¡º®ªÑ‡G-Ìéy¾å Œ¯ØÐ&8oõ B, kYgýt­ö`–S÷“c¼êµÞ‘ÍÄã¤ò0T>ËÌ‹dt½âXVKáV[°pNÔLÈRÊ:¨Ág‚0ððÓ6eàƒ©Úáÿ©Ïƒór]ð;nˆnWâ(õô“ÈõAùŠ3—GNtf²[ ^L¶ `g± SqοMü™šAI‚L Īþÿ\þËÒO!ËX†/Bk/„iša ~ßýfhQÏüPŠ\{aEá5oï •u£…Ïçѳãýß¡[>-Ü9[ÿ„²h&?‰—†}n›‚¨ëRâG21¨"ÐʱŸZ•0ò•ôÁãÒñá>¤a ÄðÏØŸh ðÄÈÎz°±ÂŒ0aNö;õÝ q¾8”€ì!ûàÝÕ• +©rÌþÜé?ŽëD˜š^²h Þ +Bt Ÿ¤ö# $S§Ý›¡hõÈ}wš´G¥ÓîщNB>­L%¯5Iýr„Ž‰)¦jiMX[S¦ãhX+o[ë”ßÈâèt²JØn¹xJíD¯%Ï~­Xõnƒýâza‰Ã“¬Ðw¿ûÕ;) Ö‡œ¡y œùÎñ Y!3¥´°´ A‘Ü_#¬Í8pŸÕ¡¾h² ½àóÀvÐ ÜÙ—Öý›yN_Âú!ܺ½¼Ëé1’é/-D¯vA—®Sÿ‚4¢˜r»¶fÏÜ¿1²JÄ«®0Zü(ØaÚ1«ÈÊÉþQæs}ë/4˜g»o_™Gï•å):çB‹66³ÜQ(üjqÝW]¦®.çF2 +•åôï«9‘98û ++tÔÞÚ~|¿¢pŽ{4ISV?$ g"ÝW”0¥è}´)xrÿ]Âá,”´ÔȨ½“wë“lOR¡8¬Eï2M5J›6§0¯bœ±¶ŽàG*–öÚBvuØÓÒÁ·¶òa܀ΣµœÅQÆÆÌ’i¸’Fy˜¶>s¨ãЗ¼<üsY? +}l†¤PioÅàÝŠæc@?\t§¾úzA¨Å2 Áç•ûHÓ®‡òsZÆÁ÷»Ïk¹ôî°°ÖÎU€â}¼)ãá‡7‘PçzÕíãFyùSǬ9³¯ªnÅ¥bñQWÚ-ä±VŸá~ºwŠVAF]Æ­'üo <¾$ûÈ™¥ ùÍÇÔl¾“Õ€¯ ÞÈâƒ;Å¥kfg¡³»™eYž†‡üsó¼ï^wí£9!õ`$ÆQ:=‹¯”Lä°l=ë ZHCVwÑ“Œ¹ KÞ0ÛÞ\Á8·Þ>‚ø·``K«X=éŠ ºníÅú-¬g—:u†FBÂ}û§7ÿƒŠjx}»Œ¿á"¦žÄ˜Ë¾Ÿ3±ùqÃ/aPïcX&’ÙT”È'¥ˆ Ê’AÖ9Ï¿ÄOÇüªÇ zë ƒVn\Ì>‡q¾†4¥K–síÎÔ·# º'¹® h†q»¥ AN¶•¯ò©µ‹<ÄõEìJ~ÎÏžöÀ<”hfåÒo^ŸUÌÉžG‘êõgk¼ÂK‡Åz6"D€?Šë@jë[¾5ëAÔõèílÆ:Ì©èðÓfÛŒZ¦Z0ሹ7 h}¤­z™¤êÇÙ »¨ÍLŠxQ€°#CáG‰sµµF-¹úÆÄÙ?>µ£ <´_‰vIòÑY¡wxsТ׺´¼R~²õ#ÍIX+¡Çè“JyÌ^žÅH|ÍUºfÆ-`3C¡1Ï“ cJ»Ý¬ÁÎs§i”½¿þ þ á3%d,é¿cíÍ;€0㕆0ƒ'Ÿq)Yºï3áÂ\NõÁÒð±6/ŠÊ!â~M›Öƒè9›Mųåv4x{„à9âÓ^ ¼†£ÓÑ rRÔ>CQ|¾Ë¦Ýב×#º—$Ѿ4|üÞææ_be—âÖГ9E¾I®›@þ2kL>T-&\ƒzÃs.Ò€—°Âwtfêžû¹ÞÇõü6D,lʺý¬}ž6äÎ9¸mˆ—Οê¿ï—Z6«9J‘‰6V-’Ç–êÖ}Ÿ›Œ³ã:78¿rŠÓìÔݬÜâ‰Ý˽Jë_9Õ§þ·P¿È6”…øHñ¡Ê”aWÐÓ—gì3Ègúã¶G&Ç9»ÐHCòƒŸ,.i"VdÙ¿½Ú_£@ Î7ÕsÎö›.SøL'¥TÉùùì—,_Ú}rsùúò¹YiÒ)¸%tÒ)}Úi[B{Û®©m‹WëA×0ecÀûh°CK^í²cg#u”ú,Z vD›2BXNÓ¡áÉÌmË[•±›x†ŽCe<ӥД1)ÎÏ)èü¥øC‡ˆwðÒ½öòpoËYS{=—4è5”^ÛÝy™š¢šÕ§u²ÎÇyiÈ[U/î¼#W鶥ÕÌƇ×n˜ú-ÿŽ¬ãl[0ðKp(É!£OF¬ž_r;ÚöñÆni$·%˜²ö^Q;E “Aa|rcê¬dRøB`r! à™ñśɬbß9C/ž’ˆÑñpJÓ %S|†«xÿJeÔáBÚ–Zðë0C•Z~“tcM›~‚Ð9JOÛ¶Z©´ €Ä9Mãjs* ÷é£iw4ÁÛíGôæï×î]›ÍgNŸÊ±,fÌ,³˜uµ Yîô7OÈKad›Ø«ÞÝá7*‡ù HÑP­ˆ±ã‚™¯›¡_;®:ó’aÿaIl-žýéðÚ7c¿‰)¶i1¡6ý& “•X‡py>OõxH‹µu«µ:w­ •ó³LRŽ7ÉÕ±×àBK½þ˵󯟽è‰ëOxÇÑ·G!œè¥nEwÞJ†ÙÈÆ‹> ·‡¾g IËÆÏ ÔåÚŒ—f¦ž É\·‘>Õéîï)êh‘KÝcÓÒµ¦9tc¨ª½e ßOm¹º Î}(ç£_ƒêõt{ähM5AÊï\è•;^ãÇ™¾½dq}9÷SÇ9Ô|ÖB#Ámù¦³0Êô5þ¥–9³§#\2˜”¿7´M3–ó„•dê»jƒ‹º~X3á½®Ôhk^·nµN¶U•­Dä=ž%Òε{ò–k²vÒžH¼¬´a.±žÕ‰ŒaRÓ6d{š)ð³v“ñšSl1Ü|î©lJ|U],اKcµ ]óòìø5!á>×3„ŒÚÊóÔj¤Þ\û%„Po·Ä­F)hhäÃ⣟ö½‹.C×Î]‚Ö¹½×Ôl:ÚTtWw¡š(¯LÖemüù­NOÉŸ‡Ó¢Á—v?9AÞ×!U›ÇL|r Ö³Ý!nt›;ø¸6<7Ž4P¶Š´aíîbgMüƒóÌç0dKÄec:‡Öš9ãqGÖ¿×ÊŒòFÛ{ Å¢²©ÔÝüÝÿ]ZÀcþ1€ ö´ ¥õî Ž]'ÇG½‘e|ÜöÎÔ=Q»"-GŸÙ”Fë²²>Må<ŒošQQ|ǤJ!® +ƒ x]i5 å RñÕÚLHL©D¹ç~·¦ó9YI5æ\ëœÂÇ´á«ÊYp“̆ó5ëÒ'ä°¬î¨J`ûËËCä¾ÕÀ>¼w|ŽíÉD9ÁFµ¡øYG/zzÆW_>ò}½ÇüÎán8?.LÄ2ñ H«ðNT‹Pì;9Õ¯ªŸ¹ÚƒIêí9ãÎWÖ +¶Y[Ý'˜Å,ƒ"|þ‰ó¡Q,72ªÁóo*‡³³›rV ==#Âøp±¸’‹)¨ðÍïB‰Úí¢º½é4ºÙ•#—ž òkLV7¶¸ëyf+áLIr7|Ÿm‹ë{ÆŠ,uþ̶LŸp*OÛu è‹Êl©\8ñ²wi<ÌÀL‰Ùë‚~Ó<ç ï烠,Ý%ª'¸]’À³)l£Ë*"ßÿγÞêÈì:Ḯ½Œ1±mzM¾gw†w)*¯È[";ëÌGÙùÅàóºåE­ß”€0Ý„ñ‚7´–ú¯q-õÚUŽBG5h­x4 ÉíZ±F±1î³…K®Ka—r*ÝX×ñ"K®†3 ûÆVÞ²/Å®ë)<º>S(Òn§ÔÄm ¾†IÈgñkT”ìXk•Ò¡ùl³­‚${èç#CðÜ{§~_ˆ]©mí’EÒ)QíÔ±/¬«[ Z¹W²¦H¥ˆÚm≌ò7nÍÀ°¦8oT‰-­»û£avÜàø)pÞlRj‚ðHŠ NZlhò¯X´gŠlËP8AŸàô»Àb:W‰É’PBÄfy}„ÓÃ%1›h,g%Üœ }¿CÞà ÌL@ꃡƒ‡¿LMãÃÓmî.´¦AÝJOù^0XBËðÀqp(îRjgX‚Ÿ4‡õÐÜA’rR+³GiˆªÝßk%h6˜ ¨)Å^Â-w¶ýŸbc”­{ù9è¢e»Üƒ~Œ¦ +ºˆÖð¡xŽRjW”Ó‰÷'‡ÊDBÎj&G5½(^¤oy±ÄÊ˸k¬iÙaºÆûÕ!¹ký9¥kŠÃŒ´üój¢À†Ô5®U>±ÌIášôD/aÚ3ˆ4¸é‚•ä¤=ˆby3¦©á©œ>Å£’ØÀM5©›E…fV’÷š˜bþí2J4ô5úpœ )ï4h<&¨%ç(]eÔGSÐ2¤·âê+.Ü0ã*î™P$,œ%•þ®¬ÿ¦Ü)’"‡ .Þ•iµjÕhý$K§&Ûÿ­Ö;ª‚sï-CÀ—•éÊ©ºh¿ìAH#•4/ä <|‰þbhšÚ X­Êø4Ë2ÎÐS*W€. @»÷.jƒ†•=þ»ä»p{+<.­»bVœ1y^¬Áõ€ܤ¼ŽHqHš¶y 5àßØ 6ˆéÇ›V,˜ŠqgÞ¢5±]L®-ÚÁXã¡f(ìð€²$}½†LÖÐPnm\àlîšu ñCŠøòå‹(ü <± œÜ~u@˜­Ò^4æIOªI$¶ +ÍÁQØw¹º]ªê‡FXš¿92cOmSäìü~5¶¯f¼Ÿ'ãc˜]ªÂ™º™Gª§$C’zæUà$ãú¿rß×M6¥ä!¼ä¯_€Væ8´›—‚ÚŒ´+Ì긛gŽ±w µ4xO‡§N΂ø© ±Õ¼o±^žê˜¨‘—•ðßÚ:ùÉÙaò‰Ù³%Øá¡1©„þ4šEG{²ÊŽfí%o%¯ZÉm¾ÿV~¸£p~{¸bpœ)ÚæÑn<§k"†N#€ƒéÀ‚ϱªå”öY©ë.¨OX¯ÁPñÚ­ÞÅ#4c¦¬wiT±‹¹=j)´|Ëì;éj÷ÊÍÙ,'ïbƒ¾o>p¿‰¯8¤]sAlþ Ž®:ýßÚµ:‡xVýªÇU>V.¿ºD›2³ƒ½²JíAxZè2Ìa‡fbržgŽK{Fg†ŸÆÐ|˜Õ[1–>S·ðÞ2<~dÃe|}„_\fV¹œu.öÈÕ±«‚V]žy3ª~Gл¤O*½2ÛÝ@°mUPã4 ‘¤´éï)*Ì6ðè@gA;VbqT_ÌëಮÉá°­?ßÊx‘µO¦ýꪭÃþÎë ˆ E†É\~ï§Z£D7?Âã>5¤õÎ&»µôz2*Y™¥¨²$Ìei^´\ŸA›Ùy¿‰úŠd7{ ø¦i„l!Pô”Ö&ØúIqÜr,kÅÓy$%>Ôu‰óš©ñS…ò}æAvVølß2_.[D!éãM]¿ì‡.7SÉ·$ÁÉ¥"º0A-¡¿ã_Î6B9qï«[PŸcp“ä£× õiOuï×=9pŒäÌ^⺈çÁ2¹3øFkÃ+Zð4¤ ?˜c~Û¥&é਑ø>|Y›R§í¸¼î1& U b˜ebÿXô£˜Á´°ma÷pœPÙœÞå<”ŒÔXƒVÚÿk’¾!¢€Kߘ#aZW‡ Fg¼øaKðuãa DÙÐœaÔ• +…l÷åú2Q?|{ÅÝøk~~Œƒ J7ò%â1 [J£øÁâçÇýhé~ÕÚ%qY”ñÏÕŠYª“80Æ›¨Bß{Ç[QÞâÔ‘ÁÑ Ý¾h\Úœ£øÍ&Šü{'?º˜ˆËdAi¢ý*aHªRÊøß@o+ìDª£08û…=Ô¿â¨H{+x¯È,”&¾UÄuZR- Ô=áó +±Ñ =¡4^°@äùÉ“EËâ¤Ù¼3æA°†JÝ‘´h>†|­õÍfIÏäÜæ·Ÿ¿&Ý ÚÒ·¢Oæéy¾{õ?í—Sn¢Ò´póËûe-puŠÕ]Q”-ò²«è„ß›Þzgc“எnbðñ$l#Ћ«òr)ºòxYKdO%½œ©Ú-Ib$´¡îÒˆµ•CP>Y[L£{ûv-«ÎVmc®wWB±ÆÐœG"F Ï7Ãzͬg´Þúó{L³íÛ‡3²sF‰îBS +ßÙúÑÖèl=£ËÊ7ëÜê»i“…!ð;5£VGR¹ÞWCÛ¬×ÚÛ“&J?U¢s„®Hq¯‘‹²O“\"U‹ï‰1i>{8E©ü˜·Õ„†ßK'.A8 ñ‡ƒ$†ùý|~ás2°$þ˜´r (»¹¶Ç© Ø b[4a9c{…žÄ·L2ý.ð×4:Éß÷Á¸Š–+†n :±Q£:U-— º ~Ûtyv௸#„»ê1 XÍÄá˜@Ýß}Ýb%{R +¸½¯nÿªO–¢(@ŒªÆrøó8¿Ç†iý?tß³œxù?’¹ƒÌ xìMèÇ÷«L~œS.5rqe†É™$.¤d›ÏµaiçÊ#¸#ÚxTå)ºB+¾Åï˜Iwàß $ £Ž(U—v†\ÓÞg=Ó' ëÜ[¬–R¡{C:_ÓøøîNYÖ Œ›¤HœkHP°nœXaƒEO¦…æ¶7YÇ34<›¢ÈÛDÐ}—ß ÅJRo·«©Øâs›èA$ø¯…QOªL½ö-É#Kºý Ö‡ '<Nªì£%L}@õçìf„=V¦Ì £±ãfY³¬`[yŽÅå+<åÚs‚Ëû+ÇGóR7Γ㻞,ú ;˜ƒÿÔ{ž?ÉĈ|h.¡ôÑ´»v@‡EqÏÈH!]£™Ä0Ä:êRŠ„ •PME— î6¹ vuŒ\È! Äó5麞‘¦ý?{ª &ÝŸÐ12¾âzn¹Ñ[2·é©ý ' [ë×’ÝWÍY£QÅ. pÜ +±ß5&Ð7ha…K*@Ë=;ˆ@uqrZW)ƒ)Ž¿ÝÊ@ö©} ªO?Ÿ°F”ŸwÆ•·Ùý9Á=™ÆÔÓ#©ÂÕ Ÿé‹|öŽçáNß+ÃmW|r}Wªò‘NßþæŸ lù©¿ÎùεȾzÇ£Züb)«¨3ëÅ/5CËk£Ë bóÕñE?ñ8Á°¿°"ˆzþ.iNÈDéƒÚU†æì DE]X/ÿëŽ6<,éþãê]¬Ï† üîºNa‰Tå–kFpŠöXtéñ…ªF¢¨‚JnêŒY¿p5ÔÌÒ8ŽMyÔpÈÐ[´Ü rÔÅël•Ù™ç¯¥ðÝÉ +endstream endobj 946 0 obj<>stream +Š¥kWçÉ“XR +endstream endobj 947 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 948 0 obj<>stream +øxlv])‚—Ö<#»Iw]Zçט»,”Žû•S:ySm© Öã À  Lâ +4(¬´ëS€Ý4 l¯ èukGƒõî# +endstream endobj 949 0 obj<>stream +Ù¥lM†7á +endstream endobj 950 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 951 0 obj<>stream +Vœ]þYÆ´gäƒw)bœÕpïx'?zwoøÝKšV•ŽOGÉ^õˆtØl¢³àUtýé ûtDNýæ(Ø._ز[§¬až–n +endstream endobj 952 0 obj<> endobj 953 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 954 0 obj<>stream +¼Èˆø$Ìù¹¶ŒYï”À˜õt¹¯úec|†ôþøw¼Ÿ‹ã «»¤ÉµRz=T¢'Ṳ̀°›ˆ®"p·w \ü_œkÁ›oÄ]·˜8Km†?îÁ ³jÃ~¬¢»àƪˆá¤¯?Ä::–Y= +#ž’ß÷ªmzë¿oÚ=Ö÷:¦áP†íÇ $ØS¢J$|U!o2ãzm;ÊÈ}Ö#þãƒ|F×]r± :Þ . +½ri`|èÝú ï‡rÓôî=äýóÁâ'mÄUˆºk5’ß«Hš4„—‘ °_Óg¤Æ¹½µôåX.Ù©µ.¤›¬5ËÖiqnÕ«ÝðÂ&ûCCeÚšFHVîöª0® ¦°ƒR‹¯ÉÉ6”Eq®y³‡3ào‚YRÂôCbì{Ÿ`å;xÀrTëm£4é`T ^‘2†ënä¶<™ª•ª Ž~÷ûEÆS¹æƒ¤è¶)G$?휔GÍ jÑFÒK¬Ù2FÁÞ”W.ÏòbG+]þfuzÔ[üÈ_\…_YŒ”ÌcÖ¸)›ŒÎZš¢cíeÇcÃH¶*küéõ&òàM–µ¶YJè!-Ž¨ÃL @¸&x©(¤`ø"!žmMcuÚ¼›ò¡ò¬[ÉGº ½´k¼jª@“3?«›Zúu‰«Í3»mnvS}K#üGþú'm¸aN¼ú /5O½ÿìGVu”çòif'PDÛ}êöjsÐ~Ç Õ+J¾uô犧}ïe?É> +üT@b½ᳺÆÛcÄ‚5 ¢Ä ­8ùqµ…¾ÀÝÞåIüŠ7­ðS( A·ÝžÄ¡œ°&…ZŸ¹(`²ü¿iéµÍ0ªüb¹=>0¿2ú[ÄÀñÆ÷ö‡ß¸ç`O ®r"©iÞãt:5×,Åÿª¨bÔX¶ Õ‚O„´Žä{JÛðÎß:‘ò¢OrFâíýï[@l&ì0¡ûÛâxÙõè¿\YZUS‚Ñ{ŸÆ¼3兣ؓ鬢³ÕÛF +Ürê ÛH¼6+W$Å*;YQc.Ÿv”-¿iÞÇ,¸º‡êÉö8Òñ¢M -+2=uD–ÉyȺ%"S,)Nþu„¼uæW&>m/¯—»±˜Û…ð.çöÙ9eW8(A²ì¼5;‘ÝÂzâo]ÃXÖQøµâqü›ûŠÀ]4×T>ƒÚ^;úCç¿'.XwûÛ ¸ÊãDzÖn‘†£¿²˜ ‚qàô… +úÖåÉn57=]Z|9£íÏ;«®U½ôAëœæý2¾zÁ&ÜzuYî‡ËHlÖ*FíŸr=Mº½x-H½Ì  ¯]®h>X/tO÷òÆÜ"¦T;sˆ‰F{†“Š¥#-]ÜÆ?°MþG(šŠ§Ônd_j±lIKòþ÷gÝúƒmñ²N¬¶u:ÃþÓ[ÄïvÊêJˆ*êiâˆrB¦XÏ)j³š¸¼Z›ÓB€Ü}ÏuBzUßwg[û´*6¶ošó@«Òë $ÉÀ²Å0Oü–bjo4Ò¸é®WÃã7ÆÆ%žŒ#)OŸ# nؽCm)4-Ü7ät’ +s¯'ýþÔ‰FRåKÁÁ‡$ÅäM8rà@(‡]ƒrv¹L^”rÖ<ǘT˜{FÅ"LAÜêfÚçxŽöálœØÜ9W¥’8ÜÇ´’¨`TÔKÆœo„IˆMä T›ZżÞg +7õ6Ó0žZ„ÈWw +ÿ‘a@Ý;$Áp$7C­9,¥ü}àö®ÕbØ ÃrlÛP$½éOç«UAZMo?¸`U +Ðh:p¤¼ Y’æÏ=E!-çßXÒ>Ù²b£EÆö +|³ÎÛ} +K§½ˆKÖÚJ´IÔyȉº=—m¹žµäµ‡âlfšYr"Ò™®6ŽSŒQßVœ€ÀDº½Nác!ñ;uòvÄ/ü­7b$Áµ&~ãocùdp>áªÉBühÙN˜ÈÅ3EºŒC “MïÚ–‰Ôj¿T¼æ _ìѵ½ Ñxµ)QÄÞQ ¶ôĘ̈"F;æVÜ +›©h +$†è÷¹z$—ÐOÆØ$&°ép2é©ÿ¤4©ç¥è!äGyï†EÌÄ3Ö“œW,ž+îçëý,!|óJ^ê7XEe"øEŽBoGü—òsÙ/ +Å;nÒTø‚u„\Çw!nMkÃ륔bF+ÐÜŒ&I÷ØgÕË}¹ë€Zë ŽÌ öïèn%°°Éj {­ØÍ Ö}ºŠ8øáä(dL•cÏîp¦}2¬ ‰];= l¥©Ù¶páÔ?4f˜3y’!óx`ÂH\os¸+˜5jBÊ7úvè,ó7ü$ÕæMuwPÙou†ÛhÖ‡¢Þú}&-5„*.ZËÿXœàê†*Ýg%ü—¬ûìŸRˆ€Ä“ ÂÝl1ðñ·~wðóI¸¿ðñ9RÉöÜö î¨ÑÔ‚øYco×syìÃ|ã—,ȧøÙbvß~¸j\†P­€zÑUýëeƒ[̈3ókуpQ#°»FŽ¡ÕàÇ•c2kŒ§²ÚÌ$à‡ÙÄfëd¥œ‚H‘Œ‚¼“0ì½>¬ôüý©päÕ@šh7˜W<çŒ(ƒ'â¼ÊzkrÈ¿ ß sÁÃŒ˜+š6·¢`R@3ÓØâÚo'S!ºÏFÉŒ^¤Nn² ÂŒì=F&ßÚ´Uª†Õ“ÙÌGØŸ±zŸÇJN›ãÈ®"­É$Ëk« b| ÝE"[_`‡ß­æ§î-;hP ´ Íœl\d„ÑIò2€—¤1ŠÒPo–!¶dŠUg>/ƒ2òß<Ë£ˆllh:R´&³Î\ìøꥯ®"gÙû²]Î`ñP°õï=»³´e`7… ƒbùÚÃùŒE¶eÞ¸Òë†7MÆæ„dH˜Å +R‚ÏPnéECU»5ö yä+j»å¬Ëâ½^l?€\8~Ùûsr;myÞ +ÒŠ)zMÂ$#»U'=×Í-Š˜g{&(“w|)XbQ€êö‰W¥SÃ!jT¢ OÝ×—ÚR6L‰!' WÀñÔ4\Ú6*W©ò‘É!îŒ\0†³ÓÇ^ –CqôÉÃߦß5KñêƒpÂø;(ÐIRˆüë¹ét ÀÈgŒ~Eà=“z/DŽÕñ¥‘G †¢$Tdõ½,p*š÷}õë§Ïy÷f}Wë/(žxTÅhü®©I¥U|ƒr6‘TÈp®VÿÒg¨Ì"çÍâ¿M¾¼Â²Žß ¥Ø3$Â9—J™ãÜ.±£ÙQÍbᙣ+ukl‚Í™Âþ÷ë‘%jF’"@£F|'îN¬`|–®æ°kLQÚvÈ_o꽓ô]³¨p8–˪–(’i¿ì‘Õ…é¿õ<ÖÁ»n$CŒž6` +Í4Lð®Pàu¬û¡µÙA+/enÑͱ}LÓqiëV‘q¦jlC‡ƒ ºìBÞ1€ÆŸAKLk@ëìEBôTxâO-ð]Î¥*Îj'¿fPnI6ñ6¬ë” >K*e1¤LÏ!¦h6Ì#@xG$éRРAÔ®Ë/å¡×©£ü¯ÚÙc­ïšç©¢ìt ‘üëLë0jÖµc£Ù‡¾œi:´c+¶õ«fÖWYOdYCÉšâa€aÁHa¾Ü)¬ïãëÿ™¿Ê’ÂyzOôQä!µÊ;{Æ5Ÿ¹çÞ,Á·ÆÉ£‘|Á ¡6«4[ÚFª‘Îï„J ,Î*Ñ$д•0€’Ðز àðì$FQ˜Ñ#ü+ìHÿÏzÞ{mnš5 §¨°ª§¦vÇÚ_åKTò¶ŠžÑg5qÎŽurëøÓ;Q2•ú}…K‹¥˜“  ¯ØÅììüòâhnF, fí~YNç30ø¬Dï°À’)Ü[¤ø@€õðâðÔ!z÷H à+1k««7²6 +endstream endobj 955 0 obj<> endobj 956 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 957 0 obj<>stream +ºÁÑÏ;qî7•,ªþñ1zò»dÀóáÍ#è0¸¯q•ŠÍ ¢âoT–©ÇBœüü,Ð[sí0ò6îéƒôw#Û¾ 'œðBYaÇòß3ý†ÆÈh,¼u`¤ "ª™ý6¤"Ûˆ³ztÙ¿•âO7iÎPÈPµ2Qã +X ÷€--?õrïœQš‡x®Q ݉RêÊý|væ„-OÇsZ¿ÛHE²åŠJk(àÆ0àCQÀ7l:êí} ^ô'K‚ö»oLë=礩.?+®‡zÌz¯¸Žo¯G«Ào.¯e Œ$$hkêswò€fך{¯gÛ-FËJ$Ù'ÅÅÓT‡…T^©–ay¦;÷Ì:=º¶C“ã+ÁMi¯_ëΞ}Íßœî¸%ÛŠ¿°0ÜC c>€TËÊ=‡¼Â#°œóGÎìõØÐlë¾7ètPµ ßöЪbK͆Ï!•Ï;A#èxÀ‹Û¤r‘¿ô(˺]k_·cUáå„N‚øXûp[»8ÑUÕ †3%í¨>úŽ}¿6z7MoN:n˜9|} cå[LÓ3ñ#ì‡Î¾…«çšýˆ~uÁ¡1CBb׎‘s–uNé4™àü1/¨(½GÚmŸƒ2¥ÁgêlıŸŒÝüoÈNÎÛÅS±3Žb›èܹ!G‚ï"†ðoâùïŸ%ìôè/Ë–ðf +Ý$¨bO-dg§2¾º:T_ýŸ­ä+ 3‚K°s>LÕå+½ÿJ$3¯Hho+AÄðI™®èhã62äÅuÛ$¯ë5¬iÁ£NvtãZð‡ååIws5¾j=a†Ê$êÅœ‚ìuV=Kg£‡|Ó°I=ÝàxǧõÖ\ ˜vÏåŽÚ í#ǨHO_¾wg¤FSð¥>I±£…·î Î꘼âÅoTß5œRŽëÃ[ñ¬Â@þè1sžÚ­åÄK)Ü¿/ÆPi³ôë9r¬ò܈2Øxƒ€ÊHf 3«Õ@›·ÜnF ­Öqù’";r;æÒ›m¿êy¼\ Á¥“`Ä :–[8ºiúâÓ¶ôCUPÔímܳٸ9ÐGô? 'ÓMœÖUñ·+NÜðÓy1p¿ÊD +ñx®ØN¨†.º¬Iö¯±W©É Ü…œÂÞ)Bû.s8¸&½f‚‰N§Ú1'Ï”Æ$-©©ÃhjÈi౓U8°¿·®ØSnÖ·· +âdß¾~8¤? r±MÜy(ë»e*èc°3ðCËn™†fZ{¸º”ê]é±åϸ¸ù€ (ËÀ÷ÎÕ|Fü-ë«­—n”kÖÈœ?ðu-z¦a0—&"Ã;Xch FPÓ,úÅ4j–±öÚj‹K‰L +ša’!*ØkH2úáŠ%!Ü |ÿÜœfتЈÀË>6oä>ûˆ´EÃáƒý78Ë'€Dèvn~zŒ–;#é_¨þf²vÜhÔÒ€ä8’D¾Ä>‘±™|(ožº©ø:×”À”.Pñz¼÷ö¹r$òžèñ‡vÏ!p¸nvŠ’GyQ2$‘;jY•}×àÌ ªÑ‘ xhi›.ü¾_´|i_[Õ½_r™¬Bg8AŠ>*kÆhW%5þÆÆJ—¥… œŒË%¼òæVó}0Û¸ÑX!²W6}ÁZøfÅ>t—’“5~±Ì¢ +endstream endobj 958 0 obj<> endobj 959 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 960 0 obj<>stream +PBs™!= õBkH´Ë§×¸úh[Dv¡Á«Š`€º¡órÇ\$^ÑEp®%céÖ36'bnEgú³‚ÓY}’ci¤51ºÚ2×QƒX®§SŠÙ'ÏŒ$In”Ê)„=­w¦Ë†Ú{ù¾¡[äÀð¨–ÈÐ~aHVäÔúgØ¥D¯‘Ñ{Zɼ'ûä 7¯ÿ!‡s -œ4Ë*Ùv=ìÖêFeŸéQÆãE‡ÉZ„ â›H³ˆ˜GeípT3NNUÎèVH­ófçõ•1[ȶaÔ„ÎèË“[¸“ „òÞüÝ97"UsxÌŒ±nì¦,R¾Yµ=±«ëD[–ÐL]Ë…ñšçÏ×ÚCqxïèØŒŽTô +8A'Ú߸T¯ÌEJêßí°Qqþ!$ÉD¤{ÛdñÍÓËèfJÜt[¦V Bü‘É`:ƃŘ`:®¢ûʸ“Œ¼‹fSOsE/;:?¬ªQIušXδº‹øÇLíwufŒÐGdy„]ªó’v®ã’“1øÉ9Oì#ZˆÁ2sû‰‚­ÿÕhS0(ö’r ŽM3”qø*m ­[þPÉ“º•©¤t*,؃h(—µFۮתË^àÎÌ-ê‘Ñ>Ê£ºÍvÁŽ*×ÚCØì¼P.8|ªg/~’*ƒ€Hq¯òð†hˆ²,BÉ ¡g¶`“ƒµ¸#Àzñƒ+ÜAµ¸a^ÁlÔÒçeÛe«8r ÷ºá[ªwâ>—K^io’AØÜ?ž1÷+*SfË&|´„ƨްü“ϳB †™JÊ5¡àèÒ +”g.ÐXÉ+¶êð¨¤,´èâÛ¸ž;^ŸD}-¬Âë :{ÂÀÃC]!hÁjðsOÑRÿ¿ðq“å0ÿIG"Xå»iÅÅŽÔÐEiƒ#8ykv$ÛúD‡±ög°ª¯qEPòŸeöv‰T•ûŽÈÛt+LcŠó¸\ôa×Ëêrpÿ蹟ÜâÚ(üxJ´;mÃ.FÐ4k‰#ý1¦ØizêCdËuj™„™4)Œr {J¨Íô×,6ºøÙnÇól#¶]4³ò=(oÙ2Z«¬1fg¶[A6ŒUR|m®v"ËyW»ÖpÂZ›ó}äÀo ~2­eŽXõ·³°Ÿ‰¶^둾p×ä"ù@–þPœüÉ÷x‰?‡ˆêíwø‚(#@?Ï¢í玧˜2Ž½òöïƒè¿<›$äë~o«‚ù‚L? +3Ÿœhóâ}”@‡ßLàº7Å?¡…çyõ1C¶âÒ¸©ÒS:õJN“s;5& ödôèÐ=¿P?`çK1·@ëêå{Ì0è ?«Ì5meúS0À +endstream endobj 961 0 obj<> endobj 962 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 963 0 obj<>stream +]ðu+;¥–,ží~]µÀ:¾ù!ƒÜ^X7ïÄÄÁŠuŠ|VéRÉù¤áÊìÃo—¤Â»ñé¢!ÀÓ¾v©-æ{ÎÌ€7Á¬úIѨ°e©Ãƒ§rö3Ç¢‹u1Ïe00tëp§ðh¶Ý>kÚÇ7Ž¦†…¥>³2m§<ø›oÀ—ЈÓz' …˜Ú3||: ƒljæ5U”Î&¥[˜Ùy®†y½p%õ¤pÞWÐàR­ÃÏÞ=¶ì¥ï=ï­.óÐ$âÍ…ñž>HÞe²"„su–¬"ô 1ÁÒv‹H!oDÆúÓx1Â/× rìφrŠ3*ï™`õN,ò`d˜üd04%„CýË«—?p ¢^¼ 8À +òî÷Õå;ÐW“¸(ÍKØ}Ô+S”\Ú? +Ä·ÂAKÚª8œ:eúÏ-´»³"ê¾boÆú¦¥½ ‘7*Q¦²*6ZàÿÅ€ôËmç¹ÿ0(›!†:DÔrRjáÑwœŸ©@YÞ4aY7šÉCþì$—QzG>»¡8.åC´€7„°#QšÊQÊäí›D”d§ˆv9c¯õÆœ—2ÅÜ=2,ßîR”ÕÑß>À¶¡FÜ,}Å`–ª¥ gwAº3÷êÕù²h$S‚õ*Ä~[TW¡ ·­ÐF‰1{¯“ö‹BuOàÍ€níz’£ 4¤>Ã/ýÜÇóüŽÄBÌ)‡~€xÚ,jqAÌ?·ª~ñDÃ4iv‡º¦5Éï-D —Ekk5à É/2A,oþ …h”½Ñæ`G2Õ}®Ö[oOH‰w¬“¾¾£T¶d z£÷‘§Ò EKäp½‡tÇ1=AeêuWò2À¸óy?µ+ö3¹ÅZÞØ©J")–*#mEà#Ì)ïûS0lû›—N]0˜{Ow’·”&@‹ü»Z‘€…ÿì©è´åþ›#ÏŠíüªÙDw»‡v²Ÿû/›U_àÛ44p- ÞbÓ{w«™ºÆß·^¯€T¸4Oo‡s,ÚX‡Jb-SPtÏÏ/ýÁ\¢$<«ˆ ›r»)F¬øßs *Ó4{„t ßlVÉ ëeÖ˜ø9›‰ã®ïü–ž 2shfŸÐF}ÛôDòEϯk,‚BQëö w ÌFà)±Tß¹›Ô¾@’f9,PNƒÍ5¦¯%àD‘ƒýÖ~[Û‡Ö…µNà S™LëÞUri—|þм4ÙÒ«¡+B˜ WøwYv¢aþjX^‰ä¢½p"~ÔSQ"Càüøo.y’8ÅåQ¿’‚øú2=nZã¸!H‹¯ë¿™ƒ4dùÕ…söFqÏÒ~d<°~ø ßWÔ)bF6“ N˜Ï¨ðâÞV]¥“¦Â“ä¢Aß¹Ç÷‰kºM€ÍxN|íE:Ͻ¡ëu “Pv"©²œzØöõ•w1ç¹Á‘ ø*(ÉõÆ’­Ô‚G·²²âýX–: ß}á˜Põ~€ËæÎø²*Aà!•©¸>=êuÚeQš¾Ó”îhKS®ÉÆ„>ñ(<åbµ“úSóÿÕßÓa“<ýÈDÊ89Ag¹¼ŸöYÄóëP2öølã Å1¿¿W¦žwGر“òÞÚE¡ËG /îTœ«©Î„Alím¬ÐP®„ò…ìw¢—ÏB¢ä4èçÃN÷"Ì +endstream endobj 964 0 obj[/Indexed/DeviceRGB 255 965 0 R] endobj 965 0 obj<>stream +t¶ Ö–TX77ÔhvЯ  :Iy„Í3H̹p›W§+È#S˜ƒðQ@3“\ÿóÅ7 âžZªãXÒ¶_øÜ®U:ÆÈÜN|˜™?å™-‰êP¨KÿWV·2¼(IøxÜLèΆõ¹'8O±BZ‡×%Pâ³lS&’r(@mtþJ8.­`»“*&³ã Íß-K‹¯ø8Œ9$¬üØ3ü-HK \\ñ•Ê1­<–[e4…—¨]îù€I +¨»à&MÑåâ$ ú]ÐÆ + -•åÒÌ‘ j žQÙÞIÈ +endstream endobj 966 0 obj<> endobj 967 0 obj<> endobj 968 0 obj<> endobj 969 0 obj<> endobj 970 0 obj<> endobj 971 0 obj<>stream +àÓ`o]:&®> endobj 973 0 obj<>stream +©ñ’²¼6pBH­Ö3UÍz\Fë@œ­$: b0.’L·5s/‰nÎá¢ÍÃAoxòá“ãî‘ëöC~!áz±°<ŒÁ>¢ÏyË÷+g1 z’ês/ŒH}ñt•ZBe{—/±^L¯™"}z<óïÒ Æh8Œ´ž“¡Þ†G¥íÑG»óÁžóñüèñ‰Ud¿ºƒ§ûq§uOÁº|/_ßÕ;féí§·Tc1øûó‰"Âc+aÿÞdÈMÅŽ3Ul†áýñš¶`W@Rš¬¯ +endstream endobj 974 0 obj<> endobj 975 0 obj<dã뺬㩇óØ‘ H /ÿ°Œ,uõ‡Til ÀáÝt×g–Id"Œ?ä;å‹\(Ê&éc²¯X«Or‚ò!ÕŠ¨èDWè:ƒä¨·­à.ëDDÂ;¢ôªÁïæw3&K?¡=ìÞd*α\\ö~ox"d8\(ѳwé€9Ú}éa§ºÚ±qßò,G¾|žŠœSÚ›é|LâCÏ9Åu}œ#Ö•-im=¢¾ eD\\\ ŸSù™ Êòq³ÄÞhd¸žY„@ÎÀà«¡ ka×eíüð.\rºðxµ{X›\(K:»5 üÐXÚþ€·¤¿•å‘\)[Ã)>> endobj 976 0 obj<>stream +ãg³¥iRÉu¾HÒõiÏëŸ Ñ%mdØýª:*ýøü„GpD¦M#ŠžJleUÁ`Mw +Ú+¿«MÝŽ€„[Sjœ8ñÚbÕ„À@|»¡J^b‹pÊqVXî6(¢ëpjç<¬/Œ(Ì×ëfeªÁüuÜÁjö…²×Äœ¿,f@h¦i+Ž—L7ŽGŠõuö—ÆÛw{ŽGËRâPöÖ¤ö jìÿ½KgÖƒŸÔC{p÷ûÕ@wض )lÝ‘ªÞysª 4Q¿šéi«€Yeš^feHEO¾Cí¢ á´&ëµ ¹–%7¹`Êßy™øiÌ„ªõü¶ôàP88ÊF)pàõÊ@ÎZE ¿Yl‰< ©ųßîwlmF©9Œ‹‹ÁÎDéVÏV¯dì˜$Ö:ˆ³#[ñâµqA“S§ÉŠKCþ–ªæº F$–aoåòCE¨å&ªËmÜ›ãy¡h¿“þøŽˆmrk˜ÞdÎj +{ Õs4_ò’ꮢ]a…Á€"Û9,(ŠMÔœ\ÆZ9¶3K +­;$ÿ +“nó®ÐžAQǤþuŸbÑ@J@ÖÞÚD/ÉùòÍEÅwoü6ºý1/Ùi²«0+}üÔ CƒpÀA¸§¡f©ÖOþ:Q)îÑF¹5 op›þ¢û£-h³-òš½"ó±Òªk0 x‰¢+¦Ò,ÈH²'èYo»UoG¶Úén_¬ë⻎âh4psHÀ±–¤¥¿}"¢öuñ­@ Ô$4¸Òr!V fZâCM"„z£G"u›6qVÝ«€U$ |a†«QŸMÚ³C (1$”Ã:êéUK¸Mû~b ¹©£on%TO¨ +QŸ,fè—¯çf°~Ÿ÷¼cÞ„«=Çlဪ»-µ®€í{4I°MSºšä)ÕÛ¼{>Þ/™9#iY@Áž¯¾Š`ÚñLÒK*¡ñî‡íŒ¯é¨`üØ| d^Á•íX*&O-¥‚v3öS»9\©‚áÓd¨=Á½Y—Og×¢¼-M=’6ìu$ îãâ9Á;ˆ“zèþÒ~Câ¡Õ ‚ïàmàOÖ}§FS—’æ,Ç#ÐÂ'§öGOWö¾{ºNo_¡@R&×d¤©z·Ž +Z‹'™MûìütuÓ„ŸT„£VG†ža,Ëÿ)×Hq‹Í@tW;TˆÉhyezV¯ÉˆqñPØ;¯¿š+°ƒB;aëa"Ž!“O³ô\‚D?ÑHÒý¶ëJﯜ¿™ ¸Ð¥à/ë*†8¬\°_°Z#“È[ûþHSæ½u‡…§-åÎÞð=âWF‚úë>‚ OhÇi³Zƒþ:»áTíEäÒ|Ÿ _ý!‚G¢r릟€-”Ýr«Æšô—-÷*dbˆÉJUìÆå>v„*Î`È÷S©ëtëêô|°²Ø¦gs&§J÷­Ê@–,iO×7Œñ/~DG_ÚÛˆ‚»û«FSfÎÅ;È0<6…b—ÉbJdÑZ·k˜^Ú›5ù¢òÈø槙kýLˬ&}5Ë=rcø•®d=&¤«Uš~òTó|¤Ï| ²Ÿÿô~>¬åSYpñ„õTÂ¥ª l\xH´¸n6æ饫y¥îöÆ2¶ù+ò<-ª9Ú[趬¿ÆÒýT :‰¯†|×fº¥4Ò¨Qwëïòå°ž·Ë,Ûoè½´÷?X6êì¢hñ€‚±òái‡¡ÅhûÜÌ£Éûq£kð“foá ¯¸í$IFRä S}6¸äRsA]Ô^Æ×/ØiÊ3ÂË"°¿ÙD’-n–áµ³Ò›ãÓ„`Ce;Y’s]Ú +g…`HèYU@™TRº¼œ4t8"€¦¤ÇÑn”vî÷+.«4SPNJP¸§É>‚¦£·{ÔHþXät¸¨@D²ÙtEÇö7BuÈs¡Åÿ­ÁìxhÆMæ×ôìýìÈS1¸ waYw=‹¡ÒÖ‰Áä=¸»6ÛJOjl¤Ð<\0¬}§³JT"<2¡îj­h±È-?ÛÈÀ|Ï‹•"T”>#iQ´¬â‘c©6 +¾‡²Í%âMQÅìBn²É='ý õ•Â²Ûáš\ó— èp¥ñ2ȼ4#ë¦áéïßõ8ÄÜj»M£-ß!x©ßÝûÉE—¢‘ˆo‰¡Cæ‰vEzÕéœÌÛÀÇ™?X”=Ò‰=ª¾epõ8ÏyÌ ‹ëØFnØËh7„“f·>|üà>eТ…Ú%Ðá÷À¨xúñÕP·p–øct@¯a„CÚ„<Ú€ÕU„D㣘rÀ$S-Ù\*#´e©ÃÌuª×.(‹%vhô»-4| ã3.§ (@ï²B¥X O¼¾@ä¢7Æ®Ö"É‘ªbé\ðP¶ÚÖ ç9bjµÕÑ7)R‰½!Pß'›zãÒ5YNd«ò¶gˆ¡Ùs°âë`ý1†~a…N-xñ0ÏÒà»Vñ ©Q»è]¤ËWœÒÐé)O‚YG ŠF8ë£Òá©&徎IÕ@ÍÀ`VTqhÓ£>vì$ÄÕîOùöX]=c¤àR5ŽpÝ|3fÛb'“Áô‰[PòÔ‚t;fÓÝ0I>»,ÞíKÏúà ø”€Z­EyY‰±`ˆ(¨ÀmiWª3 ŒYUf‹ò4Ê1Gÿ€Ê®yzÿŒc“l”¥iA»ó}_ûÒ(2Ú•©ä8¼qš% +àyH¿ýÚœQò±¶c9¨ÈOYúD—쥵žDÚɳ‡ @1q¾ˆ÷³÷P â|ùØ@] G~J¢Òæõ6ð)— „;›®|š±•Q šÅròzB¾ø« Ý—í¢ý h…fE”—/ ôD‘Ä3A3êÃŽŽWž#u“ºŒ€WïèxkUË"cÆýê¿Äa ¨×é('bùÈ÷ÒŽ¤Y×ÎbŽÁ°„µˆDOÊûuvÿ£œ´L_²ÀúþS;e“ê‰öTÃÙÇÊ^µzírjÊÜQawñ)†T]Š!6y’¬rTQãZçàгYˆL8ôˆ©"AĨÎïu‡ ¾üÍÏR(‚Ê'å nåh‰¡1:ðÏwËë3€@'–6â^ÍžÊÜœ®0ÉT³Õ¯Ý6äE(•k±QävšM A]l‰/ƒ›¬/Äz˜Åê!;bAv‡a Èù‚fq´¶b›Ú·îÊÇ1ÁC§ø‹x§~M‹ôIÏ͘*u'A–ϪQ:£:Ë(£°}+Nh­àr©ÈZóæúNc,/,Ö›—‘Çs9­UìV21.âmCɬ…×þ¼ëI{=ó\®ùa +€,ÆlSžÅXNd~|Ã|»›Z;c/Ðß+=˜­9]'™B…`mBtC%Ûñ\Íò›¿GVÿB+†F)"¡ðsöSŒ†­®K¤ä‰_, é1l3ˆlf*£’ËwbÅ\ò=!"Lþëïe¶¨"¤^êéè£D=õ±¤6h¸àà®qÝ—Î ÷a`“­vT„:¹ý88 )é [ám*§ê÷´6æ–™Ó´_Ìdp†…GK8 ó*Uªãã»^':C:hÛë¦Wt³'Àlª–ù¯ûæy',¹¹Qtì “ˆ\Ì*‹<·À¸°:úIëRoT½& ð h-æ8ðÁsPùG%ñgƾ•|ûnÂqÂYŠÒ¤­æœD±ø+/¢Élw9ØÝ3§ÁœÔùÿ‹ó±rXvD$õiK /ƽêý' œév‰u2IܸÀ§ÓNØ8Dˆ-ÉÆß4†A8£ÕÐAÑþ”„´ànÌÀ¨{Œiù±Ë/àÖó0{éå7$áÂ,„u?ôÐÛ¿ËJy¡ÆÅëÀ–m_’¢FÎû9N0÷q¤‹fâñµüËKS6?ãS™ÚZæÔQ¹Â“¹ÞSèxÈÈOAžC-'þÍŒžËïw§û€rýÂùŽ9wÀ×c ¸½Û¦yÒ[ˆ›èÊŸ¯¥±YxÜB šÞ°ÈÇÊ‚h_ýRjàa¦%Ô%çŽY|x'Lå>À™Ôƒ%x²<œlž­=fSш ‡¦‰/ñkëg«äŽUú9ÕEX„õ#L‚²|º\Dvð£5*Bé*ÛöXÛ»õËíj|=d’­ þ˜H#ºÀ67­ü"òQ&á´mzJ!Õ {N¼¹&-@—‹¾*}®Þ@Û{|qŸ¦uæðÈz 8äANã°õ~ŠŸ.&qñ ¼ò 4·Eo@øÌ ×$˜ÐŽH€mbT™m¹)gݯ˜®xÝ¡±ø)âtÆMp¶ÍŽ°E·J“~ß_ÏÓìè0]ø+îËóÙ«‚…Z×ÿ¥Ã?fV¼/ÖÍx¢ŽwÐx• &6¿á„o—pPS«²F#¤RÒús æÔ…ÍU> endobj 978 0 obj<> endobj 979 0 obj<>stream +²¿2)õRNÐÃÿu‹òV„dD°)¢ÂÕ;F™dþU®HLùBJÑùóÛ)\`ŽO(îû–¿¶ãå,ÏØ™ËíõK _Pž6¤ ±rHÀ`…UÈêþåR6ü¢Ž@}5ë:öǬn­>cêg…Å`íIg2½ÄÑÎj?èä—ä®öϤ͈¨ý|§RùÒm•ƒAæ2‘h…*#öãYI•šæcù9‹ ¨q©>vvÈG^T]ÒÀ;;;«¢¶m†‡ùâ;’Y’ñ_ÚSIßxÔà 7£g +endstream endobj 980 0 obj<> endobj 981 0 obj<>stream +²·µÞ÷^NA‰"oz¦k‚@ Òu¾?Ú¹À/FÃÅ»ýrûN»-Ì&­§/É`á>Z&Ãĺ7zG«Hhp7 +endstream endobj 982 0 obj<> endobj 983 0 obj<> endobj 984 0 obj<> endobj 985 0 obj<> endobj 986 0 obj<> endobj 987 0 obj<>stream +UÖÓKÈFëpsGŸKVè.Sa'˜ð`‹ìÑAjkšãË Á2ÊzS¡¾¾Q”„V &ÓyXôŠN;µJòxÀòo…Õ„Êë÷ÔPI÷r߀‡QÁT rš·A¡"”¡&Ý8 ¸ý6œY,åYUþ0TõHÿ˜‚WÓ0ï>¨ÐeʌՓÏ\ÈìHÃçP«H ‰ùFƳö«²‡4éî0ä{s–x´më öþ~O'†n9")¤Ý%‰ ˜:ZD+ݭ̨Üjã}­’fµÁ²¼Î§¼¤¼:W€lp|Ⱥ +endstream endobj 988 0 obj<> endobj 989 0 obj<>stream +5)-¾¸“¦VàÞpfcï°< žg¦Kíòä`<é‰Ã°`ÊI?Ū-P¯t¯Zò‹èÓ1¿–E ƒÄ{å™;Qï}ðm¹Oº eK‰ÂõzhxGp\‰Â"›ë>,Í¡£–\"Œ4„|úÆÖŽ¿U.ß@[ÐZuÀv2òj=ƒÓbJOàŽÝ•~¿`~¢«l»?]¥jŽJWŠ½tìoÁ½ ÏaΚ_õ¢N‰J8¨À CáØ3V‰ . Pbb—Ö=”iV§QÞ³¼?FŸÇ/¸Õ ×+îô(h¥å§µÆÊ ²utcãÿ±Û¨M»ðv„m¯ÆÌí@lvÕx WÍ‘±Ð{p¢š0 G/ëþíÿ©©—½ì«óW"Ä{> endobj 991 0 obj<> endobj 992 0 obj<>stream +Vì ˆ0Û‹^+\¼'Fwõi„–Ï(¢BLy>NQ»Ù}Öé;T~«@(á}ÜL+ïÚH>†ø¾’ÂwìÖ/žoÆ÷‰wö»Ó‘hØ”xñ«ðvµ‰»ÝmN½·{B‚úƒ±E†üÒžâ’ÔÓ-ôó¤Ç®9î¶-wÎ(©3x_ŽÕä‹J|Jáä%ø +È-ö½¢øYs£}—:d;¸ÒúõO¡¶ú0Øå + +Hgô‘QûóAGUøÇÿ‡gу‰Ã•É°…W>¦ŒpÄ{IÂè_Êt¦–{™J>[~ãYƒW´ó k°O¦ÔÛ!þuÙQÉ•A™@}|Yw3I¿ƒ¨_ýdèU5¡-MéÈ8îΩ÷0Ô˜êÁ<¤¨'?D­¥Kcº¹h ÛÌ-Ý'£u“>.”Øb)L¡æ›ƒ¦dä@%–ƒÀ¬\’"÷ÂþÕjÍ.© ÙÜ.'9(1ŸŸ«ð¡ð‰ñ‘<Ü+LŨܲ`Ö¢ÈÉ'eï•$¹S]¨i{7TêÚEPÕú¾H¾\÷@ åTt‘%'´¡!ÔÉa–ó-QôiðJMs¸˜ +a|oa¦ú›o§_i–<¥í#y§·i!ʃðœ& +[¢”‹óS+·°NP, 9 RôGí9kºn‘‡áö;Âvc~ʉìé,]ŽRG!#ÐCt³´æ‚ƒ ;Uqœ îuâ{^I@­.§]œi2(•P_‹d|Ê ‡€6xM(дñ¹*µ÷îñãe„ºMS÷Èn­îúLš‰ð´j„f*y‚Ýä³úIëH¬ŒFf79z—Hê(¯,ß71:šWçîòs(!f¦D³XçjßËʪy=ß•9ÕLï%‡Ì´šž*‰±ÝÎßfKêA| ”.®]¡š“ª¨]ÌûªRr w‹ ¾Ñ1»”xu˜ÆµË~äÏ?ÎmøÖ׎Ö*s®®/½šmÛÙqªIy Ï•?±P—ˆ½Ò(vÁDÒ¦Tf£±ŠGapáG_±¹äX-tË;ÄÃã\ý,ýâ6À¹wo95ø%ÏrOŽÈn9—^%eY¹4±ÓqJWg5ÀéÉ:–$"b^@9nþ–qvHK!DÛ'L6 +åT¬Dn`AK¤ÉÖVz¯ÿ&ýä<ýsêé3²F¬#ÿ¼m©Â Z*˜OÅ +¦tò°0C¹jáX}¢Иt‰²9 ú^œë‰ßãIeèm»J`¨çáÌFy£§îÙ•M,º/½,o(į \ÐfÐ=-i™Ûü‚ Œú©'¡Ò=DH¥*“;#éî䜣ä¼z +¨§(¿ +UõZñ®ÐEÉíg ºã^Ëbý¤›½²ÀãŽ;¯åþ¡Ñq?9?©óha,º Ï« !¢ËƦÂå<Þü>ÀºÃä窧¦ñ Ðö ¹_ºëŠeÑ“~ka?Õ¥®³¼xd¿ˆ8\x™q§¸¾ðÏ%ÈÊÓç@Wì#Ü®€dEäWóæôÏ»4–ç4Ÿ.lƒƒÏSå53‡J 8ãHÏ¢3D‹jZ0lîÄ!åÕ‡v‚Í1•j«®’¸Fß@'xI“>Ƕ¤·µjjÒ©zi¹‘ˆo¥|Ía€™'Ýœ7\J`.W çª ª¼Å+°-rr«P|a ÝTïpÒ€èmxzàQ›A›\Q¯ μÛIV¿Ð龫«_3¬®p£ÐÔð¿!u(ûÂmŸvu‡‡5½¤÷˜9°a‘[¹¾-ºã°ÒýÑ^Ì¡=¾îqóŽ0×Ê$`Ë[Oz|?=%Rœþ³.<(æJÕtR8]¤~­4%o&d{m¹HÎLfôwÈ\ƒˆø.EZá«»€‘N¤uˆOã°Îàh@á‘.lJ™Ü× ùG™©ó Ûýš¹#×Òû´ m­ó8î5´lft® SŽYKëC±Êw¡Ø 4üG͹2ž·X!=À—lºzÐ¥ó%±Èu+ê©ÿ.]›ÿ4$’Hý›¿ð›¡?Êž¤“^¾­’ÕÚq‘~.@„ÄÃÅ°)‚»ía¡òn‡ðEjY©¢Nëò¼Z*lŠU„7ŠþîȪiÝh²Öÿ ›Gùdró}Z'ÕÜ ó¬‰p0.˜ÆŒcàZ{ó +‡Êðü«à[Xàå‡Ò!Ùd„·†Çók8Ì_šJ•75 ü—ž<þ˜© ߎš¸›*⿧B¥ +\#X|'L÷Œ S"¤L`°£Ôå;t-#X!-Äs¤D€`~k›Œyš4 @&ák…Ì5€\¶Is HOžú~ô8[h ý†L,жàî“öøqæÁŠ÷Ña{õŠò`èËj1ªd)xØV. ¨rMjxF; ×p]z*·,tÿô›F·®›ý“f½?ó­*Q®´ü0¾F „Þªq`9|Ç2šÊî‰Fº… ±­ÀÅÌXîù~¡­+#¨^v`±ŒÇV0,}$#àD9jäsŽÅí&²ñß2+”Øå„ÓèŸéá)7*Ço<ԛȚIÜá‰×®¹ó³Z¬¥G&RÉc¶¶Vü‚¸p?¦nÍUÄïéÜÆqÛÎG|šÐ¹¥®£^m“ PsL$ 4ò¹ß|aGªµsy)¬ôª(žÒéŽú|Ó/†¯¶EqZí®aIJ µ>ÐÞælÒ/ÇM‹ÚM^:”ܬ v`¹9nÍV²‰ +¹y;!c«×ƒÙ/uOpö#ÕÕÜIhØ].[Y ¹Õ~?¤ÉØ + G¨ªxrclNI_ʱ‰üw„™„‰™ÜÒv 1°Ö\z+3r’§[EÅ­¼âOâ ¢qË=Ë>œ\Òî‹;Ï1X^ru³,­Åû$ÊC °#ú\ÎçHÚ]g›W¿"¹8Yók™ùíÇdµ1pA}Ò+Úg1oö›Á§‹ð/1ÃP¦Æ¦eõô©ŽSE­Ç²Õ¯7Þ¶Ü:¦zyŸ×ê+Gì,—†}_/ÀÇ‘ ÔŽý‰êE+äÏ#GW£QùÉÇí?Ín…¿óønËõëÓê”’ª»êû_˜Û- Kw¶Ùè”âþv ¶K¨ÍÔ7c=ix¦¾€®<(á¼Ït·ÎCŵV6ý‡¡e%ª 4:ÿ0ÏÒ»„ª¯Ax»ÔÀçÅíP@q-Xã ç8¥°»àëqR¤xþˆOÔPï{¾°ãôHQeBTÐ@Êw!7|uDþäèiìì¤WëB†§ÖFçò±úP¸îšKRçÐüI'Æq6!+ÝnÛ ¢O=”pwS¬]k×gÃ6€5ÊØ‚cw4”­©…^˜0t²ÿ„Ä—»¢¾úK%û€DëenSu£½¯æñéD½k +´‚dU±ó €?ï©/ÛU‘tuÝ ¬¼6P¸bZ'{}Ñyâ0¯81ïšù€Â~ð˜€é.‹hxp¼ƒ÷¯¯ÂïdVB.ÚÆ(±¨"×ifµäYIÅÊȳyeížÑÒ¥Txä¾|©- +•eÁ2:a;÷H'H¢‰¡“wƒè>šfå96b'0ddº¯XGœ6©Ù5Z…{‹—ls­¹°!þ±týÎ$Ó{Q5»¤ö["~“ƒZæ—ð¥]Q‡5ÀHô §7÷À+Ì\’)ñY¯pŸT›ýÚj~³Î•ýz¬eFá\Ëç{åŸÜºC&q2Q¶2Pv"÷32 ÉWòcŠÑÆfôDêsæmÒ‡¼¹¦õðm Ï·ôb_ü*xÆ ÿ¬I)CÙ®ÕgPÌðä0(/\ó#T‰R5aÞ$¿X>¯”½:œ9Éĺ<†TäU½à»*Í “ÓQ”PûºÍ&ŸÅAý—«„Ñ“\øW®ðÎ4ˆsÁàK´ê6Lj“OR€ç ôaØ^òu¸i÷œžµiï/Ü"©Ü¢ìÜT–âþZ®ÏôyÄa£OúªLõ1˜¬” Ì”ÁÚГ!_&É’ç#ò×¼fººðÐL>ö‚qV³6 ßña]ÁA³Ë+ÿ€ŠM%ÙZƒ°%tݪ ýÍå4¹ ¹q>œ`ªôßfáßö¾±~¬¦Æ‚ñà<­ÌÖ·ñÎ&»úøX‹0ÜuFqÆ¥ÅƧå¶Úiz!À¬@&>닳µkP©:šûF |–îž'´…Æ«H°tqµTœ¹,EFÓþÆ) _ÀלûÄ—½3ÊS"žÝ8±<Â0ß::r¦Çdž*¤œ–ª^þ2g‡ÿNŸC{šð\Ì+4Åú´– `{“Ð\2û¸QS’¨üÃR¯=4;e꣈#zÆCÁ¨CŒ¶VFöÝÅ…B%d §JM¿øt•û¼{e\7•÷ä×´G®~䮥ðáðb!öÔw +m¯B‚¬ÅºU[ ‘©„m?q/"Ú Å˜&3@x·ÅÞå«Æ|3”er$úÒÀˆ ÜßÕþ[ÂåÓȘW5‹¦dä ´ Ã`è-©9-Bè» I£:`RË[»-±ž¸z\‘“|ecô!WÄ ×1»b+B?nnRZ•XÛègûŠ‰qï«LN§ø-˜Vž0¸§ó£ÕµÊϾímmÒYV¢¤$é]ðGmÄ=T›x8!Y:»p¨­!¥f ’þ#ùÂE¸Êvšüöµîg9Gðá^!™(žbO ¨¼3û7ç´D;¶f1‘U¸«n"®Ñ·V“¤ï?gk;Š]ˆ‰a>#X'ã÷@äÜÕ[SËÙµ‚lÍÿj„/±åq.ÜÓeéÈn< Ö{Uü2hºîÌ`¦'¤ß°'MŸ5W¶’°ˆ<ñ-ýMÔêÕ…ˆÆûŒÖ…†i(øGÚûªR² +Ãí/ãsÕ^et_Á$»ÏëºNþ¢]ߺ•m¸¤AÙÒxŒåh?åµ¾ð]A¯ºv-âÁa™ªQýÛUˆÅÒLB+¼I{:ÔÆ€¦æ& “?}¾‰È“©©pô–`†e#èœS{ß­•ò›Úc‰’·–ÛÚà˜¸¬„­¹~D™.E[KÈFE›ò† Y縥¢‘øfÏßž »üËb´aùp^˜Bê“9;ÐöÁ?9|ËNÊ£ƒÁ"n»wô¦*~HVŠxNõ˜7!÷s¢ÂÁêw=T!!/):d]'„d̬sËèS^E.ë°ØeÙJù •ç¯hlÄ7Dôˈd÷7÷$óé FD\)µš¡(/‰%îóév°4Îâó#—øšÜYÿd))áøÄßP’¥%°/Ó£×ÉŽÖB‚ +Nš=? +u[‰¤Òm©Š][\ñj Ê™ºLì™*Eäú»øIïÎeã¸@ÿð ü%VDñ¨²¬œªLÊÔ†¦ñ"ŒÁ‚[º¦„éæ•mÑ(C ¹1pI©ËíK›ìžÉ¢ó)ƞȃ ¶€NìÞRr=>²¦}%¿23†M¡ƒ„ù× ‚få^ŽB9ÞÞÄSÒ†üRÅd»¹ÐÊBŠ¨i¡:Že摨¹ú8Fk›œ{ÂÈiwÃ0!陼aj0åQB õŒ ż3„ïBÁüõàà抽.e!16HÒ &Ì×ì ¹ûªnëAöøbÈV=µ‡Ç/À]_#V¯‹e:ÍD¼Eõ¤Vg“ÝÈXs·vañWEèÈšÔÍÎt›§jl™©–—É®H j|6½ì•Ïf–jž.…¹W¦¸I5£pv«®¢Ø#ÛÄbäUÈA!²}½¿›7wÜO ¼ñöwoí¾ð|– ‡‹,æÖÌQ}Õ%(X¾Í6"Qb³i-’h·ûYÿŠ˜•6a¤ }½ ÉRFŒè+„1,‡ï ‹:Z Aú!„*Û ëòÎ8¦¢È£,Ê ƒ¼‰ø‰²ò³Ç1‰¶~ªÄ8½u¼×CT†Å“Ÿ}Ðï/ÖãqÔöÏ¡Fz,µx( ÌÞþŒ!¼Ùù*°§ýÒ héqÉ]ÃêGæܬ6”üDIÌÒyÚ;­2®ÕiIÙýs„»Œg[ÞÕTÏËŸVýÊ :6>ôÉvÞœŠt—½ú´™5ùÚø•QöÌøße¹nI›}(ÈëÍ™_l¶ ÉRa’KE¸ +) 4npõó÷°!H!´);yK*¶0«7|2,ßá«Ù´¯üä~…Ži fÛcd³ˆ‡²ý©«1'ú–Ò6Z}7Ÿÿ’çGîŸZæü©rÏÒ(þ§3¸1.ËÒTn¡]”-ÿ +¡mj^ìíŸþ²“KïþZ:kÅ·•¬Q3žð8µf€UÏìÉÔ­=@Ž½]i=ÑH¤Ó!r®7Ð Œö¿N(37wfv¾vµ›w¨Ž#TM͸QïS I¶(Idá£xsÏC+Fê—öÖðÈÛÚiÇÓyÎWWKé‚ý8»XFTVzoÂÜq‰þÐpVf8”FšºÍvuÿÂ0£–»u­·Tb•¥ª»ºr•j\MÏ7+Åÿ°Wµì+Ð`øU~²6* 1—Ä’=Û t_ÛÀ»<çc×…Y ¡aÆäÍ£@±FÓ"[9‹y¿p‡ÿðI®ŸëSRqî`r8t5ɨ­¿¦™~¨iåÛµ×1Z¹ŽëTÉG7ÿf=÷bý˜.JØÁÕ8R¯“\^¼raé..®ÓÙÜí¸·ék«Œ+¨Ëº(ÚPí¡‰{Æ0{}<ƒ¾iQ¨¾—b®in^ÔÏû Wªp@Ëw¼<¤æ9²g «—&cûñS¨ómœÚû‡Ó›•ô*Ô½EŠ@+k1$¯x}o  ÷ÒÏú¨sCtÐa~•z k‚B‹¯8ÙÛ_ܤ McŠ@Ò +ÏÄ knùuò§åïC©¡ž’Bž3E\fÑP`•Ä*ÍMÂ|γë—C% þ‰¶ŒËsÆ(?~NDÂ,ºÉ«°g®^€åhºáÂúJšœtº{,›1¼/ˆÇã—ì5n ýúpãNA¶ŽÖ}HŒó¥5*ÖbP”aC( +endstream endobj 993 0 obj<> endobj 994 0 obj<> endobj 995 0 obj<> endobj 996 0 obj<> endobj 997 0 obj<> endobj 998 0 obj<> endobj 999 0 obj<>stream +7%]µ¨.à>~½8*üvÚv¤B Ë+#ÇÛ]<‡¢M`@Ñ &˜~Ãá-ˆ¸PSìVÓèp-•t ‘dYï‰XˆöŽ­TgZ?}´AÚC6ö’Ct“„ß>UñTŸ¾Â¨Q…ÃêÅU™;=~ ‡1”â³Ð yµ=å^t/lÑ µÚžõ‰fA7®©==Œ'¤zi‚zé/ÿ¡ŸåÑ.’ì‡Ò¶RΆnâ!8ôJ=YWÔ‚q}vüGŽ¥ÓÉͼ ±×G´%€š\±õ‚€5Iî¤cݯóë$*÷¬ë?ÍÄ´ž¾ƒúi+š2_TÉ:5@ó¯ºóføφ³‚¶)Š7Lü$i`+š!dã-<ÐüÌøp½(|ÕœkÁiöËø^ U ˆ¾±_ /¹¾–—qjþüÛørÎrLõÀÞNŸéK6/pÎtÍîn.×÷>]2¿÷¨Q æ—ã +J(f”Qù©e„õ0׊_SR‘'´ Ó¨`P¤“Ï€ú¢¤3ež‡AÕå> xî僿½©ŽzdÍàÃ}‹ÏÙ)òUi;­G‚:Êš;¢ +§M ËìJð¤x†Í’áÐüž}: ká- `ä¶G¼Ô`E:–/2@žá/a:aJ–ww@s\ý'È‹^E ”º¿ÕÖ†•¡¸Ì6m­ÌØ\sk±ÇãHÁ¥—¢Y;Ê¢ +ž¢D(E/Ù!êzt-7˜æ«°U/^Oƒ>TG ˜ä°4ãóé2ÿ€duN>L~*í7ïJää¨JJö`óT¡¾ ¤#¬ÐqNÇŽ¹Ži0-Wp]ŒÝ/è˜6(>Öçö§FwÆK–Õ ùÝÓâ^&ZÐÉàµòí™hÆ%YÓŠe#“H + ªÝ¶ŽÉÀ¿£!Q»ÅPð¬v+Ã`áäÛ™d‡¶õ`‚&IN†rÛð­.Ôz~i3!)÷ +ûÝ^Ó±àˆ€°Ä¡€ë/è@E—ôϱ¯Í-¯+úî‹5æuÊ´Tº ŸIW»PX¢µg:€iºÝƒÔŠ½?k=©Ï%Ár¥Þ86ŠÄÙ¨ÈQM£*͇̳?k7h'Ù¾8Ô1è—Œ+/=€oæ X¶ž(óYgÁœ5ò>dv" Àϼ‚Áëÿr˜Aá[{0²®&†0õÙ"ϳ†ÓöJÖ–|̾¯¶ £ÇØßD½±É]ç-s\ßx%fÖ7luNR(b.‘f#€(¹HðpLîì",Aæ¡»ZÏõ‚™RêI{o_mÎKÇ («Q6çÆm^æ¸BS"VÁ¯Å 3¢Ãð¬™ß›ò†^˜jFF4²¤p$ +ñTÝ;øŽjà1í`¶AþKåQáä'·¡ŽQRˆáÃÌBÞW¢¢Ÿë9òBœt+ïžÝTµdÇð½âZ S GÆ4ßHKúhm‰OØ!W¶2” £¬¯æH¸¿am=1qmÞÊÝ®išYUœãºì×^…ú€%‹ª©ËâµëÇÀ‰ÉD·íª-X@ñ‡’n| F•‘—¯úf8ëvãTþiŸkÜÅ][ž,\Õîß÷^e›»˜…;ÏñDE±vÌ[ªš«Žó7æ(* i +©Æ —^°¡=†ûšÓÂï|ü,p¤Åæ„‚·+Ï^®Âc4¤Å³€Æ÷ +=¤œo¦ž!Òô¢ø;mƒ/¦JÞŸí«%ÌYR˜MŽ¡'ãÊkýÕ™ŒçÏ\r¸ÄÞõãºz¼/Y?µ[‘!UãœLzôýXƒ]ñÆ¥^¿Ùá²DröÐ^A”TO'Êo-Ïqè"bj¥è]N=;ÊéLå§0ó± pòÄG¾Sú»Æºrÿ¡{n—ÓšÂÉP´ Ã7b0“.û¤®›*J®\öyä OË››ñÇ ºRáY$sò8IÔ¯BS1?(Ð59 àùÉÑ¿Ú ‘¬¼dÆ%æ xÂêäõž¾P{?TÕ·ñwöÃPºÜÙ„ç•¡Xë<»Ý²ë¹v±6òÑ./hÓW·-M õ±‡€@Þõ8Jõ÷pÖkSõB™Q-&Œ¸$'ü.¡Å¤ë„ZÁÆËøËöœ qr;çQ—HäaYK‘H]è)Böev‘ÝÏHm™õ,ëùY¦MZ²(á73Ê Ô¢\Ø]²VÓþØá¯O;ivTèª×à|£écAWpÌœ-˜/_¦l—\#½vÚgäÅV&°9s´ŒÉÑ'{kr¢°Ö°*`!q–…îÁí)®´IljPS§‚V. +1Ó~®ä€SPÕ3J1W6ã<æ0æ1s.Cñl²‚ŒOVz±å<îÿ\0ÿýè%¼ß¶jÙ˜t æv/Fõý_ĵßï}Û¿ +’ñC'à[°'ÖLؼ-‹šÞA;áÎé^¦çk')Eå“Ÿ\‹ ÃÃdòˆÀ+ÇPº¯œì‰å?ÞíŒr}¤¾é=.¦ -t¥ü í¤–"BÃQ%°.ß¡en¬ÁUàPRÅÀ—yœúXÙŽûT¨7›(K½#öL¾I/i¶N™¼½p‘Û€1ã0ôŠ2›L–Ë!É­©-@Ž¼Z… …6o-,Æ–(H&ùË[Æ÷NÍhâH,ò ’걯zSÌ +ô±bŒ2’†êõ–%oüIñÎÄôž€: òv„ís§HäØÇ©šªBÒPåpŒ¶ 1ãuêˆWå¬y´ö†õìnÂ î °À;7Yçý0~‘_u¼O”i„‹Žƒ+Û[Z©q³˜Ò;=¡ùo±tǯQ ;ª,¡•Cˆ…$1¨§þg¤¿Ž)dºH@/ܸvä`‰¦CT41È Qžd¹ÈHåk™Ox??ϮގnžCø_2;°Ïç Ut«>³d ²‰ªIòCêÞâ¶1L=ªfzvók¼ 4\{ñ> endobj 1001 0 obj[/Indexed 1358 0 R 114 117 0 R] endobj 1002 0 obj<> endobj 1003 0 obj<>stream +æ“M©™5-ƒUþeIsópÆnµü¡ ÅlÒÃ5öñé')¥Ûë.íeu`ýeò8=KF,®Oú‘¸Š-f4É»”(ž Œ#3‰ +endstream endobj 1004 0 obj<>stream +"”1.¯œ¬³ +endstream endobj 1005 0 obj<>stream +ól™ð1YÐ +endstream endobj 1006 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1007 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1008 0 obj<>stream +czƒà®+lâüRÀÔË=âw…º¸QØùøUmMQÌ0ϾBý-é4Ö7)¥Ðå,èÞ/2 ?”A^2ÌN»Î CRIF·Zþ• +endstream endobj 1009 0 obj<>stream +pÞä@²ÅZwQpŽa•/úë €s<{€ƒ÷ŽW@Oø^̸J>ÕdÐ9}j{ydíåñn,+õRÝíJÞ%$—J~CHMå3·]/5aæ +endstream endobj 1010 0 obj<>stream +¯ÆÈ—-¶¹-ÇEF-N'Êç³Ww•{¾–G@šrÁï¢õOk¯=ƒª·#fÿGz°’o^¯FíVûÓ‰Fª'‘ôe"@?¢ +endstream endobj 1011 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1012 0 obj<>stream +¢®ªå²i…7¥¦–nW™ÜUyÖa°S2J\ÅÅNÞ­ßáì;Îœ:æQôYj>ÔÕŸfYs bReWî"— ·Á/ö5à:½ë +endstream endobj 1013 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1014 0 obj<>stream +fµv“E²½Uá–0ˆFš'‘qžávÉDãâ Å ‚š‚ ¤ýä÷2Þ€v€Ôc.$®¢<(#+˜ûyùÍÙ×’£ƒ>èp¹ +endstream endobj 1015 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1016 0 obj<>stream +;.3|îdñýG+ûEóÈ3†Þóîoò 1ýþœ|šp.‚ˆSÅ/âWA w = +b}‚AŽßèþÛŸdÙþz$f[w· +endstream endobj 1017 0 obj<>stream +:>J)ÔíÈ­· +endstream endobj 1018 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1019 0 obj<>stream +í¼TOXc|4ˆô@ºl攆|s\Á½˜K8Z k!hBà×m9·öf6àÍ0埀èüpx3F>Æ5Ai²¢M +endstream endobj 1020 0 obj<>stream +zRÝ|\Ù : +endstream endobj 1021 0 obj<>stream +‡ˆ<ÅB˪ +endstream endobj 1022 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1023 0 obj<>stream +š\ˆœñAR +endstream endobj 1024 0 obj<>stream +˜9´Æý•Æø +endstream endobj 1025 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1026 0 obj<>stream +ÌîPHFÐ +endstream endobj 1027 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1028 0 obj<>stream +õ¦•`À)9¼­Øv5Ñ®G™NÊiȵÏrnOvÀ±"5²%oˆÂÐKú a¢ŽÆsa õb–wSÉUߨXÿæãLón8N +endstream endobj 1029 0 obj<>stream +-‰™j”Ž(^+ +endstream endobj 1030 0 obj<>stream +)èÙ÷Û/¹²òƒçM/›-"z:t¬ ø§€âƒ‹uC;¼¸ð³–\‘šµ¹ŠÈ@¹Défà‡‘?‘„=!d¯–¡éîD”lä6àH=';² `$뤤ĶíTÙÿU¡Ø3ˆÂGOM.ié˜,!HŸ$x>êDö£‹9E^¾Ót艶ZR¨t^eúou3TD›ãß ‚âu®³…¶EòÜØ#…aWròUa™èÿ¶î’Úd‰W ²˜ÑU./Ÿ¥EÒ$9UÚ=Ûs +<•à&†jJ¼"(–[ÓR=3ó°rÏ÷sŽƒ—3êù84K?MÉäh'\Ÿ€{dT×BÅûŽŒÓ¤sE¸aò#ËFuQ©‚"=œ–F­ùá¼/Ÿš\õVÙë%ߊɖIùbºOÅ»A)Y\Ûó‡ïÝÇÈÜOpxû=˜õÞ40C^È.Ç÷]¬éjólo6$Ø´jŒÞè`‰êÙ+`†ó—)„A úØî]W}0fâÎb·Ñlªxá¹…Áº£_k +endstream endobj 1031 0 obj<>stream +jó[™ :à÷Í V C<)9]öD`ÚÅñG-¸Çr¾ƒCä—P—ö• +#ZÙ'¬Ù˜Ç-_¹Ë Ô’L£’Þ×ñIHhãüÑч +Â7¼ÜD ¤sÎ:#£ãs=6>Aú›m‘Ø;àüN®dM¢€Å‰"¨êEèЙ ¹U™4Ìi·Wïä|Iû +\ÕÌÏăðÏ6†§îÆøw4bÆeíŒ +endstream endobj 1032 0 obj<>stream +¨ruæsÁÜé;î൧Z‚Ãï1ܺišï9¿E³K³ÐR NõDpXrRiPfîpgíÁ„ 2=& !=p´> s'ð{9×¹¸6$IlŸ%J‹ˆÇ¡* +endstream endobj 1033 0 obj<>stream +„+’µ§¿ìg/PÚì×Rž„ªÆDàÔ©Ø!ÐùänÞi’=4åBÍAtÏÀHÍû·•DH½k¦¢Óâ74ëkŒ +endstream endobj 1034 0 obj<>stream +ñnÝyê5,SóÛžê}‘ÍLëJqµì¬ô¥:h=*i?¥än‡ôž·oæ>NŽÙµ”®×ª ¢L:“jЂr„%1§¨™Ú{JÑÂŒ¯‹9 +endstream endobj 1035 0 obj<>stream +·—G®³LùáØ@œÎ6Fjx÷¯hÕÀ×LªÉÈMk]…L'H9$‡¶+`q_'—>.L3H\¬)ì7M ü7žLÚK +endstream endobj 1036 0 obj<>stream +"¬Aƒç”f¼âqÛ<½MÊÞ”†æÆô]˜Î{dxxS¸‹d±™Êæ:´²ö.5`7{§œq7â +endstream endobj 1037 0 obj<>stream +Ç>Í §¡=‘~2’a•î…mn†¬üà{EñœP"ædVÔNœ9cù1’­¾}‘ìDèAC“E%ÛVjºU=XÀÞrË®`óú…n®Ìjæ_´’%àüÃ+Ô´s2 +endstream endobj 1038 0 obj<>stream +SYZ˜ÑÕ#ý<"|NËA½iœé>ìsç^iGG;&ãxG÷ñ¯ÇÛ '§‡™Ûﵶ˜Š•ÁÖ}¨(Ϩ`H„œ +endstream endobj 1039 0 obj<>stream +Õl³Pé–m—¹k¦‚YÃÀšÑˆyXR\Œ"Q̜ΈaÍmíRtž °ÒÃü-ð.·Áb8 :ó:韆}„κC˜£LµE +endstream endobj 1040 0 obj<>stream ++½,·ùNO Vò‚»”Ò5Bc +x(/V:Îp:Ò»—ïG¤8sè[RNäºá¥ Æã^¢ÓSÀ«f”cþjv0‹±"à‚ t¨{à9Óöf*v»|hÿ@ö}âÏ‹P•w)éÕd›±ºTý rø!#v:òЧöŠþhØP 6 +endstream endobj 1041 0 obj<>stream +Qx1—X„Zs3m õ–ìÊOŽ^x5Š³ˆ– µŸ^Rtˆ¯²_³¯¾=&goÚˆ¤‡6»i}UfÛŠ.8@¯E·ºe|.ÓŒ=ýé[ÇìÍ_ +A: [?"¡ï1rxZͱÒô)SýÍiæäƒ`F/äŠô7 ŒGÇt§ÚÄÿ +endstream endobj 1042 0 obj<>stream +3q܉ê9SŸéÖvÜ)d9ývŒ«Æ\HXÚÊSÅ£ØÞ—ÇUˆ[‰…Š#òb/ \™jQôÍâ‘ ;´ÒlNû™Ïtµ„à/=´%ë Y‰æ¹ªß6å!ÕBG£þ\À|üu}¥ÈW»o +endstream endobj 1043 0 obj<>stream +cøm{!´‘ÏK¦Ò™Àóó)ku6BÔp‚JAux¡‘”å´ý©.ýoáQ(y› ¨2„‘¯åÏ çDéÈ<¬‹û€/žçÕ ¼ƒ•ØÈm—{Ü5«n†™%û•uw +endstream endobj 1044 0 obj<>stream + Ûî¬1èË÷TÞ÷uTý2l& éœB»£©Ý3¼Ž#Î<°Z4=ÃïÓ 6,o4˜ê<#+?›Îuq +endstream endobj 1045 0 obj<>stream +€2Ã;ïëIû9-t~Ñ5Ä/”™³î}míZÙ©<“.0ÝÒwÿ¯-Ý€fŒÁN¼(;¿,©|•!„vKLýkfÛ•˜Ü´BtÜÖu(æ3þ¢Í£'Y1£Þä,[sòqcéÜù +endstream endobj 1046 0 obj<>stream +òîqþò Z¯š ¡iµþÁô÷¶ty¸x$íSF,\˜Jø +i¼šíÊ÷™ªä‰Fûîôrœ"2/œGK@é;óxû8¦¬Ò¢è‚NNÐów!ÃڻܵŸÔ¥b~†93ñB8I%:5¾ËÔ&‹­å +endstream endobj 1047 0 obj<>stream +/È,Š¼è¼Üß[ûa’Pƒ¼ +©„Ö Ïpк_Æhu +˘Ì8h¥ƒ€Þz_$ æõáüA â‚õ›ÃA7«çÝÛ 8w’œ~|‹_2 úy+ôÛ=Òk/ +endstream endobj 1048 0 obj<>stream +Ž%Mc@G<$ƒ)?K9•µ¿gÝôaûE‹(T=B:¶”ÁIÀêÇìä #Õ +£oe²3ÖtÝ!‰ÄZQ>stream +£RÆ`C’ô6wq^GÔ ßéC1÷ÙµlãõŽ† +‘3A(bíIÐÚMv&¡§WHËÞÌ‹6¡¿ã!¡’ЧðŒHþuµ ™¿kZâ4‹lûŠÊå4A’U“áˆÖ¡ù=ÁÆübUGt^AÌà‚!…:’÷à³¹§[IÔ÷dHÔE.E˜ÉâÜ¢Ýá½lVÿ]k@ŒR_†“´]t,(OÈïÙáù|ÑAÛ?*¾}ÅdŒØ6g¶+úD÷*%G{f k +endstream endobj 1050 0 obj<>stream +÷‡Q™çvè=ýEÄÐl©¥qKòvöHP‡gäAÖ°Û \$hö8¤ˆL¤$±ÿÍÜÌѣχà  /“s‹$EWsúG±#zaR(Mi‰ +endstream endobj 1051 0 obj<>stream +â—Ùwú²ðŒu#(ÐêẎ,vðõ…ïïÅ‚ýJyê ·õ¤&À›)Æœ6%‘ªÈcó³ê_ô Ô0Ù¶N?Æö#õŸ /æ¸Å•¢ï¥šô³qW{ó¡{-‘5ÒW “èÁ”XF¹#üjX©ÊÐPh®çíC²“ö65Ò ÖwC<\ö:–6§\ÿAq ‹©K ³/¡$_ðÚûC{zt¸@#̳”½+HÇëÒþúÔ4ÿÕá‡ÛåPeÃ=lT‰›ìüPI °À‹BóAÂpÄöï6sYóo1‹Vâô˜]W]À»C–uƒïžñ#½ÌVABŽûY†BjäãÅÔtR’ÐõÒý O1³TNÅ*±%ãTûe2öú&ßlPDÑßp»Â¸wK›-K*t£ Ñ4,yïé4këÈ´hÐ >Ž¦´Eš|ºåôf"6žøÁ•ÆQŠåéD©‹q+gÖ¥‰ŸÙ„¶~ þîµ”XÎ7ÿ¨²»£8Oð<¤u2É `±&¾À èyݤBqþ +endstream endobj 1052 0 obj<>stream +ÇTãÒ9¿WtÅj*»ËÇcæýèì¹]FqÌý" ˆOõ‘®¦p®_Â͹Ψ³×r(®°ªÝº|¨3Œ‹”ì|Kw£Ø’¢Dì0v€[Ff9h8ê.8É÷S¶BÃ~Τ äÕù`;aO+_×7?K·'y‡|#æažû:ö´…ÙŽà*‡áŒ–‚á䓘>‹ôú¦®¬Ê±8‡©o‰—­ +´F¬µµk̈ W¯Bªãü‹ã­݃hÒNB].uã¹Eà +õ+b8Ëwñ¶Óº§Ž†0-Ê?&U[Ö° ÔTô±7óbO¼ +endstream endobj 1053 0 obj<>stream +Mñ(iÆn)¡Õ±dC"É ñ‰³%n¹̲+Ó-¸ØC^Ðn±hï ¼Çj’Þr{¿‚ Œ‰¦<6ÈqŒ¤:´ì„‰+Zí'½hA½ƒ$/b<ˆ¥Û°Õmço}}2ѹßþ€Æ—(iêtÁ®`_ŽYc({`Ii£"óòç^ŸÞyÈ· ±En.W : ³Vq4`ν…T#¯°¿ýo©z9FÑú’Ò¯iˆ•-ý\kD®G8SWçœ^ÊQÔÚ?ô±ln#ÝRÈOq´WwWí9î¨!¸„ªÌ +endstream endobj 1054 0 obj<>stream +#‘YãÿM>íôšµ©¾'¨ÿÝ»êõsV5"Ì} ߘ˜¬E=Lª&˜iºž]5Bæ°„tHM–ëíDÚ —‹L«RÆ$¦;âÖÞ+ÿÃGØ!Dþ£¼B)>¹åÿ‰j3­ožc7ɱÙƒ+@ï¸KŠ [Zþ[¹T𼎼Abë$mé‹-„à÷ÅK&¥S2[ +endstream endobj 1055 0 obj<>stream +8WâYfúÁ…Ù>8À2k³ç—±,&ô_­ew9×µÚ”|0TÙJ’è¡”ñ,èøP‹"D]†Oj¦ïƾ¿jOÜ­³Ýà…JÒ[i3åùO-‚Üž¯Ó=µš»Êu7?¿m¥ž±Ùž?¡q÷MlpÃw’òÀ€e¡‘M +«‹Œ¿Ëa {=PpC”Géáûó0d¡ú’ð!5” WÆεè$ÝòÛi^Kú$Ñg•¸EêÞÍöò÷nö×àNŽ¶×u@¶,L!þ@A1DܱÒ ¹_‡g%â›’öKHé +ËÆÛóÌém"ö”±)DÌ–Æò«™¢• SïaSÆžn€V6fìùh™v ‚õî¾juƒZëÍVi§Í„'3&8L§œQˆØé0d7L= »´èâ8æ:åvg„þëÐtŸ¦æ‹ÒÍyUä}Üî¼nÊ­¯Éz-Ì–¡ +endstream endobj 1056 0 obj<>stream +;ÙÀÊ"jÓ~€ÊG9¥nH‡ò_~¹§UÀYÉ?_`—.&Î¥¾! l¤ô±Å…PŸ¤äu#¹è+BLê²…\kíýµæÀ ‘Sv¬ärìuîøÎÔ>stream +ª¢ò_àgUr€¼išEĸÕeû´’mtߟ†'¾ÍùA” ɇÆ%óWÉœ©;u +—,—7X\3ŽWêWܤ« ¡»‰¢Xž¸?““á«C¶ñI΂4Ŭ,8ìrÀpxÁô»ï²ût%ë\fÞÑþaOCôõX‘ëÅzQ«x»Þ:O>stream + WMÀ:Úf¬‚;X~÷üNxJÌ zP´bßžÁKó†2òÅ1m‹òÁL…C„½­ÿ¡ +OÏL5™óPw‚ø'b~•CÎ_rAC@Éë­Rûè•;`þjSz£‘>ÑX¸‰îéëá—z|S=k€Á–CA‘ÙÆmõYÁs5#éÐÐtº 8wÖ¤Ñß)üf\è³vë.…÷¹þSÀl%ÞÂÿ‰ÐÎK{’‹¬JF-ÏTI?2ÝÛÊøøù–àÞV6^þ× Ï6»ƒöaàcUÕ7ûc}¼Øå2Îl/hl2ÎVíråÊ%ƒ· ß>®? «q +endstream endobj 1059 0 obj<>stream +Ñý÷1ÁqÏúš+ËJsøŒ¬Á¯þº¹“Ég{X·q ¸óÇ¢m1Ô¥-.ä§M‡RÛ-¬ ö_ L3ò™Æ5=ã´t/¯È†¶-ÿöTÆ¡ +endstream endobj 1060 0 obj<>stream +ZÞä-”P{·½m<3ËR2wUPRä–-)Ã?|×¾¦rµf>q^V—?Æ~FŠä•ó`}]ÖͶÂäÖ5‚ù’…K6H²Ý &úìÏt"þ¡àGî;Î*m7-æöš¼Ž×( »ó¼?¦F¸n6ä´?êeJµ˜ðGôŸgö’´ +ëblh«dŸä³oóËÍzý€Ö6éø t:nò7aµÛ.à „2ØXKô fëKV6/|àÉWÕ Õbæ8Oú¯4݇Á—šå¿›ëñ†Þ€ g¤£DYðéR—NG%é(O©xe(lwøàú +endstream endobj 1061 0 obj<>stream +áÍÜÖd@ò„}Íֲ̅Ž/ÏW#Aˆì!¦(R Ò³X rvcB yÏ™©kï°Š\ó11‹e9yBEnL¬pLü¥Dì!z^ÊT~IOäÅ+X0ßNÝ'NóÆ;·Ÿ£R–ð“̆þúQû#†c‚&E +mz +ÁÓºîËà¾xt^f¥‹;„þ i&qåÏTXÜãZÊ"RÜ/CšI- H¦)‘Ÿ¿9|–pŸ·‘ÖÿX÷ÒÍ@ :ÕMUÖ~˜/D‰λ]u7 â@ ÍÛ Ûp™ ôÙm.“îÀ9µÜÔF‰3áŒÌÞûÿ +endstream endobj 1062 0 obj<>stream +B¢!EF¸¶ñˆ]máhŽlg–ZHúã ýð|ÅöÚån‰:x±îÎAƒnlg4ÈMòðªf]€¾#¬3à=Ð᎔#V¹Í³*±Æ¡s©¤±œ±Ý¤pJ|VF\o%ŒÑ…D¹†¨(Êsè—#*·nëX{õ“¢øX":­@ Ê)¶-iÆ;ƒÜÔRÊF-ÊçðÇUpš™’4•Xhs  ÖÇ«$;¿H +endstream endobj 1063 0 obj<>stream +]`®§ä5gI3ñóÿ}ºûè2íö¹¤ †Ú›H%úH¾× H¡n§¬ké}‹X¾ð~O©7Ø~: ·$~k„>ô^œ TÐä¼Ø›¶oyÿÏÀ]ýŠ4Ä­oÌÄ1 ºVÒ@[Ñ©pA^@Ü +]öJœ€“×A@,Çì#÷Ÿs=9qÍ}åRõPõ—²^ËßÑ oÁaÍ¿]m>¿P³ +endstream endobj 1064 0 obj<>stream +¡8m7§ú‚À—½ôÿWý1[öï6p(Ïís(£Ôp€oȈ£ìú ¿ÐÍ㻵*„|ÏמoŽrëµý\k[äQŠ‹éÄn+$vÿâ> ä˃_¯Ë‰ˆQo87@Ö*pí•hVÒjÑu•Ú +endstream endobj 1065 0 obj<>stream +‰yÇMXF’[Â\³‡ÙÒ›xÓæ;uz"'®V5žþ/˜ýžÝ™rfÊIͪi! v&4Ø‘YE‡.ÊØ(»xx–ëŽ$ü'ã9Ÿb¬õ¾ÝG©‹ïwâvLÖV8Ÿ*\}F|‰.Ï=é;ØUVY²L®¢g¾©!øMéÀkê=Ãul“æ>stream +Œ£ýAÂå‰öj¿!TKAB¨”aà òÞ-ɵ®Æ^xiÀcÁy Í7ÈVLáÂ…;¶zkðà:ŽÒqî2/åO%ûíF2®ŽUpß9 ~g… å;®¿Ý6‚·Èá®°h»ªþ؆Ùo®…J)£ïj¹•ðx`—õýÞØ¥'´˜¡o’œ1)7˜8› +²6• –®0µ‰'}f÷zØ €ËL6¦ TÐÕ +ƒÇÊtoÖ²ôú_Õ¬¬!®>Zk:¤¢¯;%³–x”8g2/`uW"èGD/Ù€µeb 8؉{Ì“/µ_›‹ ]ÜèÖõÜ«Ðòêê—£—Édo}u‹1Æ*-àŽr胘6d± ²%ºÔÌê8ÜEÇ«Ô‹B„ÌÎ⛬H(&–$uã…ÞrLŠÓ’m†bÅôˆ†ÓñFÅjYÙSŽr8¦¯Àìó¬É +endstream endobj 1067 0 obj<>stream +··´= A§9ø¢CÛRÂMi[`˜¾f¤å•Xòbr!ßÀ¶®%ø9¸RòlœÈкßg¤Elέš0Äá4.¬$™M‘ÄÐè–Š _>êÓi}áç/té«ôV‹r)„x\a(={íç§e'PÇq·)È,Vn6 I·MéJ>‡@]•»}0wb×9}½èú-A¤ñš>æ¬ñ6ˆÓªVC57ˆéRFP/i•£ÙCgfæEÅ-Ìà Ÿ/—,Švº9N^÷¼’ Ù“âqü—M°D&J¤»€ênYüýv¨ƒV=å2õ`hÄÑûžc÷Ïm¢è`“Ö“5„³}åqUGkhgkÅ4ïÙ=~°Xæ!}³ +endstream endobj 1068 0 obj<>stream +ÿÍë.RÝ€o¯‹(·¬EåhÇö×ú#é¿oÈíÕùšÎûyÅê6‹´¨²DÖ0ás­Z4Pûb?¨«&ícN¢pæ›9«Ž|Ê·÷<®Þž¤€hOÔo½W‹<Ëš`¬¥öhš€œBØaÜ‹ŠîhGD|Ùt0 Ãö ýˆl± ¸Û ëç{TÖŸ™ëyÞP~E ¸ÕÓ“'®Œ^fÃ"pËØqÔgu ®‰Éƒ*6øà +endstream endobj 1069 0 obj<>stream +M¸í¨™(Ô£çvpœX¬ +¿©F þü—1£ ÖcÚkš,!ø|ò\C+åë³²Îâ;OuÐ’–jF™ðª>Ïn,Û ½?—¡vÿ; ³`(8¨ªÂ¦ÕÆFukTVóö–)ãT§â™ã7ƒ³{+ò›»/Ä?HÌnËZlÛ}tµûIåΠĉäuKPåÃÚ#üj ïÊ<Ά{LÑÇ[W‹ÚéEüR#e{{gŒýªÁýýs>Þ»>F¼wÏ¢È¶é‰ +¨u‰}þ¾IÏ#ŠF[}8ê¼ZÁáöO¡Üe¬h0¦ +endstream endobj 1070 0 obj<>stream +_øÒ%¥°;ÞKÕƒ(DÝlXM/a®ùèyd¦ÛJFGïS¾§ÙSÕÂb¹.'þ'Í99Ôw’®l à6k­Z¥½­Ó³á;¥Ó`±Ù¼·ãüÁU|ž}ßfz¬5ÄD3X4æÙ·l°'¦Š•[ög.o{5øˆnÓâF‹÷ÏNÔ’ Êh¤ýy.ÿ`Ú;ü?°žõ6 þd±Ö:[+¿ÛÚý6bÔÞ\ž?µV;h*1´+® 'þw5ߌ©)•Ùöç›úÅŸµ^HÙ†W%ñ¦âj”ºá–lÖõ, +ò§+ +endstream endobj 1071 0 obj<>stream +Ï<:ñ–l <@Ü´oÅ_Ö‰cY6¶wMÓ]>k®ýDtöšÚ¿˜ÍÖFQ2ßWŸèGjÃõ]Ò<Á´™ÀùI*XLѱ£PvO-X1øÎé—óHÙ)ô™GÅ÷ ÈayCF¢³µ2s•™^'Ã)Жžo¤†qtTm¸È÷Înñ›$Ö :ê˜êÛæÛåQ ÃöükYAJ/¨ðåc§cí(ÜBº‘#E´ä¾5ÎÂpöà†¡Ùe~ÌŸœ}‘—€ó-±{lW³a×&w†k»m.÷\èÒNk•C‰«¬*R4ûá1¡~.F2ùP^.½ dúØôy™±WÒ!4ã(À›p´§áÉXa<¢ù½ +endstream endobj 1072 0 obj<>stream +¸‡pKðWvˆ¡²7„"€Œ–+a‘Þñ~-¸6)_E;ÿœmLW#=Gôõy&Q%‚…‰ÁY c’Q+zØ6ž—Ç¥.`÷‚¦îÆ⺀½62úNd2·vÒ-(!¨'÷X©ÂOyƒù¿…­ >ƒã6#_1þ¥*‡Ù­s‹ +Qj»ú À}ÝB…ú§÷×Z=ŒãáµD›nvªh‚ŽY¢÷f%Š!1Y8*6_ÊíƇÚ'Ë%ÎO‹WüœAñ÷ŽP0‹Ú ªáŒ–ÿÍÒÇqe­yR_ƒ±›vè qË/ +endstream endobj 1073 0 obj<>stream +ÝÛ%E<²Ìß'ö{9,¹ +¢ChœXeùš-j†B§k¾$&«&ÆÈ¢klT¡_²ð€VȆùyý¬õˆì³“éÍ5Vg&´k}AL’ ^ó2ÄN2†AkKóH3âEƒΗ:‰vg*â:¹]eë‰Ysé 5¡çËľ@j›{ë7³ÁnèQù7¾Îˆ¾+±ñÅÌ ­Ì8o•Á*¡­ˆ£ {syŽkm÷ºëbd¯M‘rüÙî³ rFô"5=»ñ”Ô*îÄ„OÚül :Ó6ÄüÀŽƒ^°˜K`¯À¿”ï†T 5þå.áN„<Á~&ÈàÓ/ÈEµY„•Ã(;1âÐbÂÎûq¼¨à’é±’‹TØ_´· }üuû¾‘ãÉÂYÑ€úuº +endstream endobj 1074 0 obj<>stream +w69=¬7âå•lÍn3j*—ÙÑHzxÕ‚Qß/ÿO+ôý-éñÑMÀEq呶¦áØø[=YÞc¶…³T‰b‘&–YØÒ‹€ÜÌAÈÁ»µÃîDor“ðLÿàWØðª.ÝðË­y†‰çáuvá6 ºçŸüzå©ë:ÙîR2K8Å@K.½ƒÍî:æ+‘ºnR·6³7ýÃÆíÜ°ÄIÌØÊýËtó0‹§Ÿ—2 +™nnÒÕ?\݈£eu6_íüó],‡iÒV)m¼³E‘ü ŒÀ Qlj«uµ¼‡Um%ª§2ÞÆÅÂáÆ0¦>êZ#²ó –¾HËñ\‰þÀn"‚ jdßÖ4¥ÞôgQ©eù-úÌ^e¨r[U˜_j+¤ÞÉËÉ©˜ÌXœ6T"þîG2tå½óAzÿãGÇ–Õ{Á¬c<øæAÞ呈ÿHSâKLøCsr7yò„Éݹv`W¨nKñAìUâÅgé™ø¶xòü‚•oŠëÁVH +endstream endobj 1075 0 obj<>stream +hW¡súó××ô’h~‰™˜ âO Cß5õhº‡¾‘‹®&üê2ÑùïÑ%Œ LE¼Bü·ÃÁNŠn“µ/Ä)85w‡t'Æ JÝ“ì8œ¨M¢ Î_ÂÛ(‚Å„LT§¶Vkb†\ܼ ×\g%E-8H‚¦Eì-JæÕ!Q^0Š¶:¬ó¥¶öïMéö#T6K4-1UÍ{º•þWÍí9pZ‚Å­·ö¸~\ê¸klSîÎC¸mˆÇ ð¤ñÂÌŸeœ„øPV°‡`Œ3°¸`ׯMh£>êç´Ã¿½õÝ4F‰ký9¢o'qW^¡‰ö¼]¡Z¤ÁëÓÚ½¤ð+¿îVñçk3µµ‡±ÇµÖ¹Ëëðëe©§Kî±ÇÔiÄI¥ ØOŽ?Åô^ÅG#©’ÒÑk»AÈäŽN`f +VÃ*ˆl +endstream endobj 1076 0 obj<>stream +*ÒçøÛeì¹"qZwå¾^‹“à9Ÿv/Ë2Ü=ׯž=š—Ì× D©‘@¢.Ü7Ж4¤Õ‡„V½î1J¾˜YfÔ'Kð˜q”²¢‡5d¥AK oµwÀ”ãj.¢™& ï×–n3Y«¦pD|RÚCg {±5o—´Í©GLÝü……‚\ ”~ +º¾Úç¬Þ/gÄb—©ú݃¹1O½°•8 !zjhîƒ6UÈIý/»ŧQÓ©Ð +–jµÙ90ÏI!æRIJèŒÅþg1²_ÍHE!™ïð=?—¹Eh–x)ð4#+(^ +Wà[R2ÖÀ~ê*E;¶Þ„\å–p¹#cB„›_/~zö½‡/åè@¹¡ÕÙ„ù +endstream endobj 1077 0 obj<>stream +"? Ý7ý ^ìÊ5ÛâIÜQGî¤0‚/hÇ7m›©À»ìœW}ô(¯¯rôi@gß_¼Ÿ…vd"i$?5l›$s:¤ÙjRdzÀLábæ!ºhu9!G¶t£²Ç±$Íþ€¥]0q€4tohƒ: uÝX=63¬ÆÆÃ&ᢸ·¤<$°§BÖ:dOcñF±ñ[+0õzäƒmòíRÙŸµ!XÒF9œiÿË~vWWd‚I; +ˆþ-Žb¤0JH'V þX…Õ^oÆUŠïÉ#¼iûjhÇßj>ðôºOÄýrŒÆÂö@<‰ ñN€[ +endstream endobj 1078 0 obj<>stream +(õ6º…åŠßý³%yúõuMBè ‰ÚmqóT¾ðïÎQê_h« ´èLPììú‘c ³#ù£¨…-‚ôàÎT_ÐÕ°¿¨ÌÍw(”ÊC[„J××ëR40‘r_”ÖΊÇ^½ƒ4&ä Æ"ÆNû¹‚ÙÌgú•ÂJ)L2ıJ,qÃÿçÁ™"Œù£H¬êz\‡ôCy®h¶W±³P¶ùß/ˆf †A´d9èÆí¾ûœ0Ñé¶ó%õ“©_W!#/2Œ?9Iθ-‘wƒ{é£`ÿròüëŒ-Pÿ—·€ +SàÆ™lî=×ä5Iœ÷²×L•^Ž;€…ý +endstream endobj 1079 0 obj<>stream +ü·Ëœä£ÜÓgIÏ`?cêµ7r¢ItÊ؉À§ó ,tRª%±š{ýh>]?‚ôãfÇÖ?ˆ°ýÓ_ÆQ™‰©‰Y賡 “yººÅzùÂp`ÑPD„3Ó»(ÙVÕ'¢Y¾\0X€µvMÃ! +’Ùg0æ0ž(µ¶6Sš¢ž p´…ê3VYðôOÈM–X댹âF›‹_2lj{ßx¦ôX’ÔDœg¬®DýÂ*XE¤nƒ—q&Àð~©}ò•w*Å'ˆBà¬^òÊ“4€DÈ/}¦jÝ9ƒÁöÎÝí奫³{gŠÈ¯ÒcgÄÞáøÜ5n—~-{¡¯:µ¶Ê~ +endstream endobj 1080 0 obj<>stream +”³ßÉÄáx÷­Ï¢êcê6›OßÓf•P‡«q^ôïL/štwª6£†Tõ™vŠ#ÿš.,=|•¥[¶—Lé}yòŠr¯qcQ‰Õ…Ø¥E4q×…qNóÂÑ6ÕËÔÕý>³Jn`«Â†VJYÓrÌ~5>Ï…2¯þ[ +½™É Æ)ÃÖÛºO– wûGïiÝÎrÆqD7?±~íTª{ +ŠxV °Ýo²™¯¦Œ„Qõ W…)ÑO +àëùÆêàÿ€\®Í7†6xBàó„29òé*'Ç*‹˜Hm5ÙO´[°ULÒÈ,.Ä!p1úcDÏk˵ƒ6•\ãØmx€€/ùÞ°Ûe‡ÿøE m¸Y +endstream endobj 1081 0 obj<>stream +öæ[}'çàŽþh\ÅøNqr›¬›:H«Ù ;µÿ—lt/ŒÅÀr"ö}:ß²‰Ø!\™àG~u-l^ XË´ÐI5.Aîo%‡ŽÉk»RôÛà"ÁÁ¤×îH› S"!¼Ð@æ)Kó²Añ·P%¶}ñ9dFÓðb'ÿ @x0 Þƒ<×éê¹ÖÇèIÜ…‡¾8<¥ÓæÈ=LØ3‚¾*e½ì‘|·×Ô‰W QKóÆ ’pû3D +ÜšÜJî|ؾ'Œ™¯·Ø~ô݉ãyèIW\ÃVÀjƒ%4 ,ç5Em ¾³t¿Sˆ„º{ëÛ$Í‹ ÉË;öš‹E¡Èä +endstream endobj 1082 0 obj<>stream +©q7¾FíX*ÈÅpZ.”­¶Ô +ëõ†«çj¨q#ãô”c¶Â}ª°ã¿ÑµÅ¼•Fqyï>sj‘”¥þžŠÐ€OkROÕ³03™"'ŠE_a‚•£O–+êòGd@z¾·ÀÀ•yt«nJÐÍöŒ6ä¬U-÷-¸øX"ãÎéBÙ¦¹«A§p]±õ$µÞReDnûy¸±Z§KÀÿÜšý‚$)™O—fKÆõAÝÜÝþôäÇÈ87º?@ºë€ +endstream endobj 1083 0 obj<>stream +¯²ªÙËjTÖ8zÚ€ªlšž‘³m`¯ùF7”rŠCSÒR`‹†8HØÖ]£çô@ácbAv ÂëG kKï>Âh4ÃÒÙwxb¨jµÿšnÒsœtŒãª`S- TûMnUë5¦jå,ø®Ãx:Óôü?'¨nÊ÷AF:ŠÙ_8Rõ‹Û—önçîl‰;e^œ6E!‚fØ90IàYájÄ­tOxë ÌU þ›>xï ¾¤ctRÉ;R?œ˜†w5¿(Äýj™ÛŽ.©ØÏg8|(cn³›Ú(Û­j&Ü>èS1ƒ^àÑÍ”Ø, +endstream endobj 1084 0 obj<>stream +ۖѹXCdÙøüÐöcz“‹+eÝâ q£re/ἕ;AûI"[Daù 5uS ÀÂjiŸ éÌÀ/àïè @U/.ß*âÂÍSUÈ“˜¤´- þ%’•±É¿ßé1¯/Þ}äc ÞI㔨QWnVߊoRcQìyˆÞ`±ÿD¾¿¬‚Ew«Šÿ†Sá€A“³±›žû¤z¼1Få²yÍ +KjÎT ¬¼ÔèÑ´ÅôpUL÷˯ Td–ˆöÀPä­æ{oÖàÕtòî¯ìšë +endstream endobj 1085 0 obj<>stream +ªaü0ªÒIYT½MÚÔ¸UxòGl>%`DÛ î:õ´««Ë:]%º,Ülp–Ê«ÿ17ÇvR|‚4Ê!¬“¼¬f ËûÈ5¤cpç[¯9`ÒÔ,IkÜX ·pòŸ­ÉzSCSPO-´VÃç"¹ +ˆ °y«%¶ âÐ[½}ýŒÉr­ñ7ÕþO]„°Zœt­…ÕuI´$2öEu|uU8,PûS‹ÿ‘€<ѬnGR­®JÅᘴ•ç`R]¹Íx$ÓQO»†™Åĵº'`Nhe[N–¥kõk×¥åê'Ž®k:äÿá7”øºBèž2 ÅG,‰Ãø3¬l½L)—´£ƒ¨ZŸiðà7Ø”ëyÞ_"ꔯaê`Cý`¾” ½`é¥ÅœZ +endstream endobj 1086 0 obj<>stream +k´%¢Ó­ ¿$Æ‚Á®r#tàQýÓåfáÁ5 +z÷¶ RÈ©® %]?\tÊŒUcH—–Ã’á—¯Nû4êßÐy^Š'V‰ÃµA׬Â%ÁÓTc gq©£8y­<ÿP–ÍÞf<còúi4Æ#G·¯e÷€œ*CôȈ½|,t§²Š±VA¡ôahVwYz¿’›õD†y¤“þ ánhlìfßËÈxBnd’tÑóáõÌÛkøÊÞp1mj:ìï—aÝ– +endstream endobj 1087 0 obj<>stream +Í¢˜Z€Òr¯î«Xf"†ÚHÉoNl·.Æ? )G!:9®* ™V¤ç£…œÐülŸÙ»äÿ7EW…b ÚØÛ¼ìðCç©[tyµìÈßlÿúæ£ 1oWÐ$dúww&;3äå|)Q]‚»lZHÞõ­‹(>”?II„ã'œ¨‘àK#e>¸ˆB z3 úÊ"‡r3 +óÀI:„Ä?bÉ{ÓøvÊ–9×›ûßù?Óv=RË n(n2@²”D»p{9†6Â*Ørµw® % ™Ì]f«˜úñ·¨“dðÃ}óŒÅÔA‹¶˜Éí¯ÓF< +u@‹=2»žPÁ"ºIøq?ž9ˆàè-×kÒdÅÌR§‚L”Y Ç@³Q£ÂíËd(PÏ\¬szÆ‚G1~@íÀ˜© ÊË2×p®L‡5zNçîf£mgÖ)>¡¹ºÆšnòÜ4„c)G£n5E†éâfÿ°¡Ì +endstream endobj 1088 0 obj<>stream +ß/ˆ$koÿǘ²¢0pLvŸ%­kåëãùtvn–(É`ßêæG;@QÜ’+>µ?J%võì¼µºÇÖûìyÏùW±3ú½s­c©¾*9ßQk’IÊ|d û7vã“Ï×WnƒòŠI©?ÙâsÝ©•Ëz(›çtœ÷ìLgévU¶ßòþþµ,FöøMˆBÿ4å;wyìèUc©vÇ÷¾phÿXDz²Ã õœ'oûÒ÷ú)×_póNX0¨M¼g}u¸^~ˆÚþ—‰Iþwf«¨¶åĽÝϺô°hLPý¨·CrP{/ý ½Ï Ÿ°ï¡:{Ôv1,«Û³´zäec`BØ7ºl§`à(×ø±ß-ÂÜáã×ÖÔøvW ‹{¿$Di=jä‡ÃJõ©ŽŠ[nz•,wÒ'! ç¢e^øî•+Z`¼ɬ|€ŒÂð£—Ó/RòxnÅ*sôÃä ißì¼\ +endstream endobj 1089 0 obj<>stream +:í_ŸÆ9€ý¸Œ¼Ñ$4É*(JK¿òäß4i×\ÇØÁ!R/$µ E€#ŽÜM$èc Ë•— Y‹•¥^à2ØÌû:´sxl2JÅpÄ*„­ÝFfi°A¬J]²Ü›ÂÓñÂv4S7Ûô¤nä_÷§Å)áä·9‚„Ÿl¯pþ½ß½Û‹HlÎLÙ={vg%nGL R‰ò]À4H¼©ÁòEC€§­)·EêÎè¯Ù.Hz‹3êÓõ„IÉo ÷€BãÕïƒXàÁ•~EÎIßâë5Ÿ,tVî6™%¾]ƒì˜Ÿ±ò€S’I¦‹òx5ÖüV‡¯Ç:ÑOqIè¤#ÓÔ„í«zhÜS[É/ÇŸ8i•2Ž6=¹Gx§ñŽ{Ú¾A¹/Y¾q´c扗Ì3›`½SˆÂ ªC¦l‡ÔA +endstream endobj 1090 0 obj<>stream +Š±q­\þk9P\`ô‘êøI(¨hQ‘}­'=–£{?“Âçì{NÌ6¥.sÎÏùHƒÄ\¤Ö ð=êt®T&E.1Ý¢»[#Ö–"C?¤I ]T›˜`4D¥è1pÅø…øtÈx+ÕMbÒ¡»»Ö½'¾9á(Ä*Hù³u‘>ú¸p;€Ó©ù‚ Ìf+ëœä߆žïõˆ@·ÇV{µÝ¹iƒ%5Bl7¶úþ(äðø ìê‘ù\â[ùyçšþÅ ¨ÿnåØÁê ÿoGºZ®æ®C£Ô‰¢k}‹ì)×ҌڛËï•eœÛ-?à0â84'¬qÝKLØÌÛ?ÕCX8åÐ9¯_¯nï;¬:<Ä3v îq-ßQ1ÊmNóíÿyú°Eð¢—ØBz\Ñçš÷¾”@Rǵ‘y_3„›úÓ =}€.Y1Ì|¼kWzu“]œ§G]t% +endstream endobj 1091 0 obj<>stream +~éVõPªùæ꺤o³JL§eé©œ\”°öÙæ±¹TÞrÖÂ*ã2ðŤvwçŠØ- +ßhv7ƒNä­Ÿ#7’ö·Pf‡\?×ôZö·3ÒnmüŸOïÿÓL‚Flñ¥DÌ3ßÐeaC”»°\!ÞOëVÌÖÿô„ŠF¡6J_ 0D9ùiÙ=Ç–u(þ‚rwV#êrŸcÕõi_=ˆ4¨GØó°ûб‘=CTæ˜h±/ ‘"xAÁplõ¦ktµA,oÓ4þ£þ©ÅÑÕÇíøxÊmýûÂ㉪ÕHVù5ì´~»|O<Ƀu¤ò7#$£TiÅ3Û}böòEòmù²ûOçœ-ñ³lÇþÀ‡%—ÌŒö°dÔË*Ã*P¥¾(ýÑøRk#”ÐûÕï‰DÈ<Û*Ï ª^l•û)ýÿ"aˆ»'ŒåOÄžá'SDàúä"Çp¼à¾½%x*UÑÕ+ã<ôi™7ÍŸ€ðž­Ã¤} øOzñšýeW»ÆUdãÛ¾ªg«Œ(%Œʬ¥LÙƒsqâU³¤ +endstream endobj 1092 0 obj<>stream +˜kŸÈÓ=“__įӧøœû lþoE©\ßÁß×}\D3'|KÉ»P&¾'†'óÁ éS£…o»ºùŽ+ÜE°$~«ø +ñNêZð\¿“U£ØòC}ú3`ëîœhçÜxoô¿ÍÛ‡w ÿ)˜q•Ðf`áOî%iòȲMöhµ\î·U¦/8ô.Îúí{ç:«Á‹2xxñ»9¬N¥¨Ï ½ª,rñÂEƒtDFYùået0 +7àì¹þ^ ýT"‹r6Kè ¢ñø–03ï…˜ÉJ†¼DN¼¸D.߃>.ÕcÅ2±ŽÔ„ö$iÙ{;û§©Kœ¶Ê£®ÞZKhZ¬¦Vµ?ÞTËq +endstream endobj 1093 0 obj<>stream +ÚµåøH®'²Ä#ÔõK‘gƒ¢æU)ö¬ë báx[^ú4bÃÊí¿¡õ[ßÝ£i÷yuUã~·Ùɯµ½$Ð8ËÉÎM€Jc,êìS8½ÐNÉ"šƒ /?©F_K³o§‰ÍÉÞB4ôÖ±Þ{q‚RUssbaò™cVüQ†4c$Ä%¼²7¤ÂA* EJBƒªŒ¦5‹.éP¨þþ€¹È4¿¦Kü” ‡(Ý)ÒHoLÅ_ø?Ò´Íßü΀ $2AcÁC\+rÛ~9°^føÔ*)åðQ»†5=hGSl8}ƒ›WÄ™ãɤfŽÆ#‚õpRîB*Æl¥¸ý¿ F.Á}¬´d€=R§+Ì+9Ú6tL”& K c$%ÅFÛ +endstream endobj 1094 0 obj<>stream +ŒÿC0”ûÒ'÷™.‘˜–Ë=íµN­µ +[œBw™jGp´Fɵq!ßj§}>»Ä7šé ø½V¢ê‰¹G€âý&Aì“nÉäÊ”OZ.Ë}*`ÕðÏýÄ4íC-m ƹácÝz’ævØèÚgg:Ô”^BÁÝÄÒUn-æC)ÄÎŽ™Õ¸›^Jadq½ @µ"`ÙÑ1X¿ctAÑ ›Xpë5íÆפJ,å²ðóNjLHÍ Ïv‰D|à›i/Õ•“Ás N§ "\¹+šÝuØ£Ýä§+hïOYžìü*v^*r£eJ47+íŒÏ§p*ÐÂ|60x‚ν¸CcUtFR/)gåYŠõ–íœMBõå +endstream endobj 1095 0 obj<>stream +2;&\õOR€— +¡ ¯¡Þ]VW:˜Ž²E¿ÁĦä¡ÂN‘ù&úöŒ†÷Nögw…ºÛ%‡ T~¬ô¥åø0jxˆ¤Ä‡9}ÆÎAØxUoM6&JÌïmžÖm"` *¼ ’ +¼ƒyŒòç…¹`è\Ð|F=©¤Ré“ÁÍüª(Î|>€[ñt½ÅÕ!šÂÀŽñ]hXÙöÈ”yµÆÀï6Ü7,ô3.^ˆcF~S¦2‹}—ì¡(voº±ˆ­Æ\¢6¸µÆ9F—†<µ0®þFïá…_Ó£/Ñ´òì‰Òtô&”‡ˆJ”¹±“ÞÕÑ°à°;%ƒîghU8Òoà [cEkâñ7 +endstream endobj 1096 0 obj<>stream +dX÷)å¹:œS9Fçöm‡ÓÏ“=—$ÓHì@'yäšEÒ]‘§öÕ]¹\Gäü9Û¥+· p‘Å+£– D2áìáÔ0I’z«?!ÍÍCÂm:Âw­šÑÜu«õ¤ÐØ40@1 Ç§©`×¢˜)b01ÓŒ&Œ½7êìŒ0ë0K· Ý=»ž3q£Õg8óÀ±å­¾¤`×X×b´—†Þ•i¤ÀJG:pÀõ?}4B‚âôæa4Ÿ“ qI B©ÚÄõÓ|‘{ðJîÕq£1¿Y{½± NÝ!oJ4™ÍtsK'6S×ÔŒÛt7i—öSÞíqûZ—Á,!˜‡U'Uí9‘oµ¯לÙDŒ®Ï— +endstream endobj 1097 0 obj<>stream +TÎÒPw¸îßg¸U.d¸ŸË°F-ðvnfbqÆ`¥,+- ¾Ýv´JÂŒ%ýgŠ¨z^‹–ä~ŽÆ£BaRÕ‘Q©Oƒ»Ûÿúfp`XÈ:!<ÃÅG½Çà¿T¦ ê$ƒ:nJî7^»6˜è}™Ex}}#åÚ:r²èSþÑ°× "&K‹‘ü8Î;Hâþƒ xì¼ÑPoyí¿š÷”Ðë„gY{-á…&óy#Á‰…®iÛHp#qçJ-¦»§_ÃoDÄ«4Ž=8“ÑжI¥þE攎õÌáZ‚§iV +endstream endobj 1098 0 obj<>stream +6¯pCW<@ô °òÄmð¼°ôßJo‰ô~aü¹ª×«È]ˆ±Ï¤â×.óL”Ä@5€å]YÑá º]…$?´+mÌó:cƒ·£ç/øÂ3%7~x‚^ƒäê5÷üI'õfLJa%R ÅÕµæf¾çM³Îœèpqêähú$ÿECÝé\„F>Uajë¾Mã-s£…[Nó XUHÅœHŽ­PI£ðÈñÌ`cõú¡´ùBÈ)m®å­”¥9Ù«‘aæ6üTÓ “œ%7 +‚òlÃtúob¢v–S;})ŸGß å,,):˜o½÷›w ñ´±?uz1•ì)5A +endstream endobj 1099 0 obj<>stream +]—hPPötéÂnI>Åœ¡²¹Çät+o3›üK—6…oóRÄ€1DÀZ ×]Z$êÁåß­´Þ4Þ#àŒÊÙº +ô(Õ~Îãƪ×fJ«@‰ûBš±ÅÿÍåo(ÃMzNÑ=IŠi‰Nè² +R[cЯ‹¢ 7Âm¦xt®—65™FWBo«tàøØJlË(î'):¦ž ~ +endstream endobj 1100 0 obj<>stream +Êîð‹"K@RIä*=2ž}²õ{ò—+tËá:ª9Æç¢ûY¼»O`ù‹{šA´»¡#ðµ:ιû‹b}àq<ˆ;¹Œˆ/4ЭÁQ$¯µí HЦÕ̬·]«/®›;Ú <|ËsA7N {µl=xfÜ!Rê£2èŸË8‰óOäju€wœÐ%9~Ï¥…\a½­€^•Œ÷û{5yso{%çÉ¿Mf•æè]){%m˜9:­8ý®”1(„øPϤà„ú OZ_„CŸøƒzé8'<w»qšºJ2³cýë< +endstream endobj 1101 0 obj<>stream +@¹Ûê`L½œQÚ é«vôÔ¢%OJxÄñ.Â='cœìÐõ»óÀcºç>Kõ&ƒ ¥xÏ9 8çóÏb j«}Î> ŒQ×H0’¡Ÿ8o—ÊÀV N?4-·¾4ÜrÀ×Pò“¯]ΩŸGÍ(ñèh˜Ø©ÿ9°_;{Ó¾®]鯆Nq7Šši>j[ü­ƒ„('-€ÝwÅh‚D˪|‰7Î"‰éZ—­$i›‘§uT^¤D…©AØ +endstream endobj 1102 0 obj<>stream +}Qœ÷ô0 ÕA ò¡få¾åµóyÉ —²æŸ\èƒ äØÄþ#_dlÖÜ/«d‡08µ?±*f-„ +Rª`ntëóáû?Ò¦5Á 4OørUK,WŽ[óD¨©žž×x›_°›’²'…qnaÁ¶«€ƒðÜJ­‹Ë|Wå7‡ ªmœò¼ÚHf?žãåH§BL=4Ì™9#qro¼hšá~Øæñ¥Ûb°Åvs0gÓ]Ó ÊÑôDü«‚džE¯+î®}4´›«dWäØîWO&Гu#¥ñX§“ Ûòк=F7ÒÛy¦\ÆtzOu` ´ÈÊ +endstream endobj 1103 0 obj<>stream + +á{öJÆ—UªvwÕüõ_g·x¨u*hñgÌ_— ¹À–˜ã°h1Ú3"ÜYO‹SPáçÙ/QÊ·—9.zˆ +üÙƒV :ïWô~2}vò/…¾‹JÉW îíÌ*oÅ¢Z¬U#/šêÓPN¾À úÄ<ñFÂu³²‹Nxqî”E€OØRߦ!N¹¶â_ñËÞÍtZŽ=½*à_6LõDͽö”X ”Õí¸~M2ðŸ˜c­l›‘¶vX(i²wõ„‹¿=‰@ç+Ýæ( EôâµÛcæ‹Ug¦"³+n²¶î¬&Y}9[!W‰KÄIß!ª||Ø6ÄUéóÊ9¶ +endstream endobj 1104 0 obj<>stream +~K`yeñæhbÎÙ,‚<$Ø#‰G¢bǵ[’œuÍŒ9`E‚Á¡Q³ItüÎãî3\1ô‹"9à‰ÍÔ:{³„ÏÎ|3¯,-¤@ +c¦q‚Þ½–¼áé-ƒEfXíO,:.¬a (™kÒò¬~U4"£¾³Û´¨ƒC÷L;­å*Ì9yhû{ëEÍyîöYzÀ·“_µx-†Á`îW|:0?ô<.ü?ÌSv} +endstream endobj 1105 0 obj<>stream +Vó©·cÍ}Fú)™Ê,¹`ÿqÒ&ÁÏJ˜j ²ÄÚ¢Ö‰¥qf©É¦} +mÖäl°Ù×t†äÓ)|ϘNæš½Sn%ä•xŠ_OE¼føÜe4.à°‚kg?]m5LB’ˆ2az€9vàÀ-¢+±‘ÎÃ*”»›taà!~ìŒPŒ±ºI3æ†:øn,w’+µs‡ùΈ¡Ayté+uTÉdÎ᳞—Eë‡~ÅŠÜ™ç*Æ`ŠÒ©Àïß`õmܬ …Lü +endstream endobj 1106 0 obj<>stream +Üm¸iº·¢ÊEÆÈúÛVÃÊeÞÊèm¢þ ó=pNöª¹Ãnó3={YZÀd¦‚ÙY¨$ÜZû +ׯ°ÇDö$‡|¦‘tÀ-ïÛê´+›ÆþSË)œè { Kƒ´Š¼ØÞ 2GñzKt:S’˜-=hð$-ÙK/{+•2 +endstream endobj 1107 0 obj<>stream +S©ŒÛ ácÜà7¿hZŒcO…}Bk\§&–[´dà½ó<§®˜ó{Iú9íGjYsɺ¢ó¦U÷T3ÕŽç5OíE";Ôüèõ£v‹wÓDß‚8WÒÉð’8?†Wßá$¢#^oØÖ¸…{Ãv:H4*Y§› W Ëš¯´À}0z‹ðƒ©Ä•kÕ» ÕDo9ú¬»+igK2Ç4ÄðcÆ1sx +endstream endobj 1108 0 obj<>stream +Ïoá€ôßb-ž/w¥Í [à$NÖëIemr¸7x~¶Å‹ru½ì‡¸NÖÇxÀîwP–ºÎmÛ]a~ñ€7è–Ö{R\ž†­óÙ +ôÕ½MM˜œ!fr½)N‰£´É$ÛòVë‹úp„ÃÈÁdFSŠÍ¹“Œö2tÌØ0£Sú™â «ìø.p\L„>Ãb.P7Î_F=,èëP£— +endstream endobj 1109 0 obj<>stream +êâò³šJhæwC¬l¸%uv43øZFR¬Ùg!$÷ó@cK½€ú'xV?~âl¬ØS¢„VPMÆÝ-hð~Ï€?p lPLô²€wè¼&ƒw¢‡ÌôQÇ*í#6¿ H ¶#õ`»V2”MqÍÕàžå“WS–õƒCŒÅÏš®ü¬æµú¿Øx:º ÄpTnbÏóñH(+iw€Ù×Nuä ªÅ•/,ôÉ«ïm«õLGwýaEÜ +endstream endobj 1110 0 obj<>stream +Å{Ý;ÂK_ éSÑ'A¡CLËñÏ•ÆI—¿Srí‰ÀGõœëxg¶»lÏb—+{J£;xï¸B2|+¬«Ïꇩö4|Êb²¢Ü±‚V™žhŒ_ÃëÑ¡M¦0·1šá㧕d‚¹›'³ÀmøUÉ ÞCdÒ=3žËYWŽ±ïÞľz;ýÞäS«ÉšÖÐKüë¾®s} ±çÐ$j*Ñ}¼)õ ¸An­³È¹ÀVó¹J¨½sd"Mo~ÛV³wÜUôÖV‘LZ‚>ߨ-d"YáçaK;™ÂÇ(6ü~Lò# v©?ØõYXNî’QVJ +endstream endobj 1111 0 obj<>stream +G VŹïPC½ÛÜh¦—ð7Ü3ªiåoaÂÍ ÿ¬5(Çf~HÅ‹`!ÒßNmš!1:3”–!T1Íÿ”›Htë+Ê’ÀÒÊŒ‚kº®±º‰ÿZ´õû°²TñË»š£>>¿ïM1Ø} îÀPËóú«ÅÏÑ:Ȩc¢£78Šç2‡Ò…’pæ\¾m|„ æ14’«!ÆôËOeÈ…%?– +o?#UÕbjmÕ +endstream endobj 1112 0 obj<>stream +8. +¦’xÿ¥ $-*ÍMÓ`2„HØ^à€€ô©²!pÝÎüç™ýö äè$+(S|¬bUÊï–¸ ¤8Aˆ*µ¬åßx5oš41¨9ΑXù5Á‡ê8E1™a?ãƒe´úu*Ø,d0–áΡèÜÅDЅ䃈aΞC†ýûùG¿Š;¹ðõì +„¦Æš Ùò[²”mà(f»hŒMÀŽ¢Áðaì’‚Ëé–}Âÿc:‹q +endstream endobj 1113 0 obj<>stream +=xÔ–iãÛˆý‚vV*AÆ*U£ØGŽZU‡_q7è:ßù{Úý‹ÞŠìÒ¸ö`§œ5'ä [-‚¢Þ}¤-ÐÑzðþ®Æ¬RÆ"tÿ‰ûôá^;\àQmTB ¦5 Ù)»pXnê,ž=ÑÛ–Ó£¯z•r÷šã/îàÛÕ­ëf¹m.ýÏAj9ÝYcuœ¬QF<™Ë£Û¶{œV@ +endstream endobj 1114 0 obj<>stream +‚œ^ù‰ä>[éUø%S)—>¯›dSÚ D¥¾9o€.}}ƒ—\Ö“ŽŒ2dž¢‹ÊtÞXŒ„™Õ舦_JEžrBæd§|±y +endstream endobj 1115 0 obj<>stream +ÅÍ? K¬SgÉ…·84c%…Ø&íµß›9y²ƒb–ëý–|¥êËexÏ+ªƒå¬ç Óê/­Çq~ù¨Fâöù#@…¥G¬Ö ­Cç‹Wyþ\˜'I†'©ošôž.²ý ±WQÊ„–«‰íý­á[p¶?鋨 À݆”¬tÙJ]Ég}| K¶¿‰?,îmH*ýˉYàyöx|ɹǓÆø°?sü\d8‡¸`Lº#kìì ë¥Rx¶mLÿÛ-༊Zc˜³#G¡UI-òË-ÿá•¿T©E˜+Læufr·¿’o³ºî¿åu™mâñXø毄ß(ŽÓ‹Õ]NdÇ(4ÞeÂp³Ö='»Æþ]ÆO åÔÉro\‹è jÎp³îËNµ sœzy +-‹xOß9!Ïw&–æò#ÓšJfG?´sCZè +ìµIˆîå­‹®HdÙc#–“!ª#( %[“Ý\=éÉ_áŠWgK¬Ëˆõ®Ú µ<arXW +endstream endobj 1116 0 obj<>stream +e»–ÛŒ‹‰Û9¡ö.¨ðÖ´‚áÄößrô‘ûô«Zò?¶îeY«O4h0sðjôåCäâõ¢×¯ôG¨€é–v¿³è&Ïð²NõöQŸ½:Á¹"öÅVåä a*Âg°¦^aóhBž¦¶UJS® }ÙXt¾ïÒaˆéý‹Ï +é0Vÿ þ®’\äºÇTÔà6¬JÈK„ˆ˜éQÍÔ\>)9Ù:øZÁør…=èeZà_qª8øåᦸ§%9É0Zªï8jä€8£|tú’–4ÔpìðH£u· ÁO­¥½x…BÒLá†÷ZRì1$ +ìUm˜ºÎȲ£lä~¢¥˜…à +endstream endobj 1117 0 obj<>stream +ME¥T-¢mï”TNú¦Ò€¤¾,ÚJ¼»"$tcW\øù¨C-­AÑpMãºK`Ý)ç“mLˆ£L˜¸©Uœt„ˆU…_‹‰ÄAßòwþM<éÔÎÊ<´¯;r./ižƒb +¤,1'ôÌ æ4,ø9hkð÷ü20rÑ.WŸ«ý÷ ›¥…Oiö¾eQ‹¡*¸2VN½qÍqïÁÑ{ ƒ¸ÕHû2L†þ˜Þa„j˜Ï——wâ‹Ò Ðq‰z`“<ÛÖíö¾‰@iäb,A]™µÔ¯Kãú +endstream endobj 1118 0 obj<>stream +cUú9˜MÙ^T¶Ê@%×E/íÆO"(‚î_šM9ŽÈû:Ž4 +–©X¸ .Ô¦2”v,TÅ#K2g×6‰2ÞRèÇïhë!äÁ™iµÑ[(CH¨€}7†!µMNÙN'ï “rÖzõ7ÚÈÑ…iNÜŒÜÇ9)NÛÝKÞjú·´¨À¼}N´lÛøg? s?5š+k•¨^_Ÿ/ñòdç–)¾N?ð@­>ïæÊ©£>÷›þ‰^Å«vø¸àFãlTF",&Z&þqkÎowyîB—v s¢N:É4ï9\ ¬¤z+Ú ©ÛgÎÓÆ:ä~Öjƒ}„À +endstream endobj 1119 0 obj<>stream +8 '³\Áb–„éÿ†ç…¾’­3|ÁhÁãtJeÆõÌv•HiØeÓO›E¶^ªOJÊ4©büê6@”Í^~RÿÝ´ûäÏÇB1ÁÿXv‚È×HLí6qµ½xCýYT?7ÿÝ2¨Ê j(5@òB>ïp@Ì #€c¼vðèc/ï+ž ›êÑÅcRóN•À q£ 3›IŒª³`#Ø9FAÝf\ÚÝg‰»—,8«=óÝ÷YºxÞ…(YÔTŠý§ïTfƒT‰< ’ÍB­Üœ¸Òšƒ³çzt%@3yêğ襓o¤/j9÷üFžyËŒÁ’°žƒºÅÓ +endstream endobj 1120 0 obj<>stream +™M–õ¦&- Ëùl'ìñ/…Q-ëÎc÷›ã‹8üÿê¯óå]03ÚÊ-U–5!jêr©9ì¾…)rM„$Â5#t÷Ðg¢h3va)9ÜOSM"Ø qgŠ ]#e\Á"íüÐ>stream +õvC› )–¨l¡÷eÒ¤&µ@‚3~LЭ ‰”Âñž©øݯ‹o`+JÈêźlíLöÌÓ/Èø· ôVÏ£Ó +=tÿU¨{úƒwÂc‡³çÝåî}«:Í­‰h}|ã +Ëì™…g¢›táB¶Î‹ç{\ÇÒ ßìSvâZ­k_þÞ{_CWÕaºñûûáT £uF‡ÂÄþîz’n-DdȆj½MÎ'6C!¤³ìën +¥@Õ(;ÖЇ`‡ö¼ +y$ -“-¸*ÃXٶ߶'ÄTu3;¤É¢6 +endstream endobj 1122 0 obj<>stream +¨†Ãd¤ë“æõøiþõ[£Ö}_œS*‡Ïaðè¹ÂÎf¸[¢lV(qB&WÀv’l–lìÀÕYz¡x&Š°yÞ/dcpÊ6>J¹£‘Ö&÷+˜˜¸",³˜Áˆwz¿gj¯FFËcŠ½Ã»åú— ÕسúÏÜXîÇVÏ,'‚ìPðÃúc«œ &’µo¯9 +endstream endobj 1123 0 obj<>stream +«ö¶;Ä èãNÔzu2ÑRž[èù\Á®hS lÍŠ?)‘”N3-Ó2ä¡Z¾ÇFûìæÞ5tìøotÅuÙí9º“ EÛ¾m[ÇÙð[…X0Iî'¿oÆw4ÍW0ÜLÑüz×~ø€RTäÓ%¡Éo¸ôOa-u`c)Àïӫ6­ž)›¡¬-Éá +endstream endobj 1124 0 obj<>stream +]s‰­*‰ü{¯Ÿ¼À¼!|yÁ)¯Á¬4¸”Í𚢋–‰ pQ¦5¾)‡ØÒ!Ÿb·…ÀÍh¼}±ë2Øz)ú'#”ž‚Nc5.ÐorÆž~L‰/à·„ôÏxÌÝwÁ nÃ(õÆmN/”Ü~º`ÚÛRžœÑ på)^êM߯9(Ê9t|oƒ¾•¬Óf†û]jW[~ì뫉YÜ¡¶DfM2v«_,)s£C:œù„ +AÓòÍïœîi©ó÷ˆ¾ß´'ÊÍŽ)Í`çz@¿4€år¶-É!ñwž! h/*‘X5nè6/ +2©‚Á¯Ézñi5zrIXò +endstream endobj 1125 0 obj<>stream +±×X†‰MßOÛ&£¸ÃgˆX½QY*¹˜]Èë€ër¨/„K1é)KqqeEF¶AB‚¬ÔYðs–±+ Ú9N gÑva§¨NÎwOÍkcÝÍ8ª¾WE€8%[{3Ï«zOŠ±ÂÏôè¹BA&lÕ•ø*ø’©Q=8þs°½”,û`R!#?Öäñ¢{¢5LZÍV¯¿O4gëáTÖóqLÞÙÅ<ØDéøûªîZý9óÅäœ~ò±äîuko´‡|º>•LM9ú±[Áó5È•¾§K–ªkk6Þ5dišéVêc(*©Colm!ò /áÑëECx¿âCßìªð£{³ N*¡â´þdW®4¡¦P Òd„Ÿ†SŒyÝ &Û}ª' +endstream endobj 1126 0 obj<>stream +¹qYM ü­åΦGù+OÈæÙ&iÁÄd·;k»KI,3³d{ÌàqØ×b“¡ +b|œÆ]0D+„B9[2¸Œ«ï /B³(þoϘ,{îT¾ˆðÞØPºK}kG£ ]nL×qo‘7 šJj‘Në))Ñ=È]×Ö +endstream endobj 1127 0 obj<>stream +¢ÐûñZö%ã]Ñ6èBÀYGuÚ;Œ ÂÎ:ñPêC¨¹†9­W +[HkáÚµjˆ§.ƒ¨Ø(GšL]‰`׈äeÙµÝD¹ã›"S®GŸy1Gr/³y…ú7Fj™D ì’ã &ZÊX@II²KUÝm9eîÏ^òê£Á>ÚL§Í¼ãðuŒe˜O9øÞ¡ïATRÀXn#èÍs¿ÖÄMŽKæÔožû~|@4/à›‘Þ‚¶ ?~(7 ÞH ¡ýé¢iô»T²]Ô ÑbR3áªk6/ƒó÷xúàùq +endstream endobj 1128 0 obj<>stream +Ûd'Júw +ãÁ49 @¸"ÌP°dåL ·…Ñ,É~>c0ûÃ3»C Á‘`ÏØ[VΆîô×Â+Aè#ó3‰ Þ)àëÙP× ÐîJéÆÿÒ‡7‹’YÔ¥D¸HÏXý—»žðG™¾Ö¡·Ã9£KÏå[îÕô£1¹WN'Þ0yÍ{å:9øBÓRº1AŸÒVgÓ°#Þ,5<8ÞôŽŸëÎêM&üƒrºº}º?…H!>kÃo¦†R~*=3ÀLOÎZz$(ø(‰ +$]ÂÀ>}²Fïà9¢&e›0pŸiɼå{¿M<\dECïË­å`?+™™ù'”8&O|x½|‰YËgW 2dam²‰ +`‰ÌGßC*l2 ‡Q‘¸Á<£ãóõnrŽw©â­¢Á(±š‚ÃÓ”w›a_·ê‚Aà¯÷©øTxŒTs¿;“Êyà÷Ð+X€×‡ˆÅ˜_ôŽ„îÈS–oWºaø9>stream +'ÙÁ‘¥e¹þü^à‚§Bb¸*‡-te臜ўž|’™ú^ë½?Eõ™cv_ âíÇýàÄ S×õ÷ÞT¯ ºÃ#(8ú}|…ä‡NhËP{æðJL?x¸7¤˜‡Xl“£Ò ìÝ‹þÅ ¦ncK.³ÚÛ8a\=Þgî_ÇËÜÿÜöïäÃÛ;ƒ8ïW›—qCŒ~›8Óá<„åcé Î/†*G¢^PGŸ%—§ÙÖtÒËŸïóu9hϽ6 +endstream endobj 1130 0 obj<>stream +#i#`Šæ…iPÇeË=51@£­èÖ­JT­?c©6„¹|J +¤îû“b÷ +“VŒn¥˜Ks¢˜ø± •ˆ«4£aˆNÑGÜj bˆÂ]8¯EÌ!1&ÙºÈK?œñtÈ!•DÇÒÉÃ?1Zä4]+Š†uÙŸñìÔ¦þU/ÁÕ¿ +endstream endobj 1131 0 obj<>stream +Ù{Ý&EQѦH£mhJý‰ v¸¹4œª‡väyˆ˜®î ·ýI<ÃÇž[Œ„³ö 25Ós™%H˧l0~TßaKö‹(Ã7Äܾ@¡J‘‹dÕ¢Ð-…†‘·0…ŽœÓ†f‹;d±L‘<¸çdŠ"oè\#Hg†â¾ N(¦ðüê Ô +endstream endobj 1132 0 obj<>stream +Ì ÌAÊZÊ+hRŸ_Y/R½ëAÏ–”\ûG†²wxð!4K/–;•*–Ú¡l†P¦”¾6öV®ðájýÂ/&…–äšë×ë.b\G7Û×l×?MfÀÙ:Wå¼”‹\ QŽ*b‘øQ–Û¨_SîC•©º"‰Ð3ma¬ðI +endstream endobj 1133 0 obj<>stream +4£Ü9o—¤ü½ïOàœsE%`2¾†Ò0»8§b{šb8kRu¡OF6D½R²džLtÈ÷—Z|V•%ÅÉ/Ñ™?‘c´ªdzôT°F sW®ÍyË*¾cã5m¶ÅÚ‰÷ ^¶Ñà¸Ó‹'à…jDIª 3·Ÿ˜ÂVQ\Žíí!;cHWçàîœ6SÒID»5 Û ˆŒª Ѷ— ¦«Àµ¥RRú:1O)¥õ·òø +Ì%Ò —ǽ›¶D»N®ŠR&¦~Tr?Ýê¯ëœ¸Ó&Ƹ6õUX”1 +endstream endobj 1134 0 obj<>stream +œ“À7© A÷øAë¹êT…d¨uãÝÙ›Ó@ñðéeó#¥†ä*ØxÛç¤mnŒ¥)/ÞxÄdüINÊ…#ûÌe‰:T;L•é‹-ÑÐo—o ±G ËIf7‘ø^~Žpgh;É ³ÇÈ}i¶ùËëB«á ËCì+´_Mšõù¢ñ`$À&xŒIªoXü§rÖ%¤•UD튬»íצTZìPšL˜þ|Ô$\CZ/…ÓpÖ`®–/€%xUdõS/¥A’3\w„¥¹sìÇ~)³ó˦V ê%†$iåKvh’y¥g9EUÎÎC]€xâDõǬkÿS‰¿*å·‡œý÷Dó…ÅBÒd¯£}ØH9·í§»ѽ +¶÷‘’‡4È +endstream endobj 1135 0 obj<>stream +­åhs*kçyíWð n.ÍWÃ^apb¢¶N^îò'©ÙлتzÝewÌHnš†-õ–^÷Ðjµv3ª†¶6‹¨à:ÏÅ÷OÁyÒ“´Š¡ì%‡¬£ýõNÉ­2º}ÀÙëÞªTÑÕ±àlûÃ*B` OLíª IÆAbuÞ³lôF3ù +AÌ^LoXV¿í +endstream endobj 1136 0 obj<>stream +ƒ]lëá¼û-Å«ì’¯…ªOãh*%†lC«*ôc,"—_t@ÀÝv‚¶Ž·ß&Ïâ}wP©Þ®coΙ 1%˘a‘qWoL äc9É–±­F2ÕáÜ¡èÞ¿ÉÒp‡Òã7žÑ@yQ®Ž¬g죱X +m¡Ë}XæiŠûãF2PÎ0ŠEñ<Ù¼ŒÔ°ª’:¥ø_=žï®$åÄBðÒNŸyÅegˆôƒÔÃ<ý;šB]Á­G‰Ex7W¥ÿR: ^ÍFâÚN*˜ªüVÅyÚß¿‡Ø)àñWâ U1·³v/\x +endstream endobj 1137 0 obj<>stream +#ˆñs¡Q°¯m§ +.ÁÙÎóÉ-,µŒ¶‹¥[ÐÝ"¹¢¼B?2ú·—wó«òÖ»¿V7ŽÌjßsAq?Ô_W?­ÐrY@Ot’>ŠÿËš=òwŒŽåÖfº£Ö#ÄCÖ­¡¯Q¶#øYó“85Þ³7á3ªv}ÖQŠÂ1‘‚·B?iÇ_ÀmÄÐ'Rà°°¹úRsæ1®³âž¨hôãŽ;ÑÌoíì^)Zæ–­™6Ϊ·u1 ¼D×R2‰Á»o—5`#%¤%©4 +endstream endobj 1138 0 obj<>stream +7LºÅ܉¥º%Í‚^¬¯¸?á0Å»@ˆÔ<’‹ê´‘ìGWÏI°Ìó"æ¨b‡Êd)7uí‚~gjÄ-²ŸûÒfÅ”h²´ÔH´¦…b(qºvpb6TåGæUè Üq ¨5±YQ’ ¦Tv žibw‘;èŽ +r;ï36¸À»íM:É5'T~ª??„|†" .U™³‚¡ä… ÁÃÿÇ.ô@ +-èHÕÏMµ,˜ýÄT•iÿ>stream +´Ye‘á +?Ž‚ð²Þ:þ¿½ˆ\ËNüðˆ3:׌».BIyÿŽ„À^1+Zhk@¥—¸<—3kÁS…¦Gáë·:³ó¿ØSßÔÁÍ(Uÿˆ*ûÈVª>鿧A(Ž¨§¾°Þ;Ê]JK2Ôö4FTë–y¿{ ÔíÚå`tš½t¢Ü&{Ih„äcÖ’=µ¿çè=LJ +endstream endobj 1140 0 obj<>stream +cñ /o筋Η³›0†‰nï*G½Ó=~éžj®6ZùcF^#Õéb¢œß©ÎR²›·æ« :_•0*;Ñ<«Þ’4ó/'~½ƒÚDjdsl²`ëŠÞûsç„0/GC°ú¼Ø~óä1½u_P2¢Êéñ>ÒÂN!KÂ8cßïã¨S +endstream endobj 1141 0 obj<>stream +$‚Ê"¯·Þû9KÙeè«„z–dt”´û _#ZéƒÄI)( ¬‹W{ª!rcIE]&:Ÿl;û‚,†ÌK‹zÇgCE5¦Cwòqiìo¥!ª˜ 0à?^ØZ»CÀGH„u^õŽ©«>stream + ùçpìûzæªxÎ_-OÔ •‰´eKΪ#NâUó·XMÜ,cë°Å£Œe[¿sgíÞ„lü#BñŒ•5Ç}±F!ÅûÙ烿t]’åAïæšÃáw>¾™-4—h +q—ü#;¶ëZQ˜ÂŽ'Êßr ·K°=ûäx,ó$à=˜45 +üU°&ªôÔ’ÊxLÀ>´.yèˆÈV®kPM»Æ»d[Zî$ê M£M¾“=£k/Š)ó!3:ÞÊ(؃²M²¨ýÛ%ª­„;T6m[µñïÚª­“‘|ÌJb´v9xj !Lu5WwãÞÞ/á)(”ÐÿMã2@jZÚÓŠµ þœ*ÍOƒ]ÍáS#ÆóI6cÌnÎiŠ3´Û‹F*XÞÛë…o·æXÌ +›§ìtü¥}1§ü«!P§ïlœ[j!— +endstream endobj 1143 0 obj<>stream +IJýdjþë’w 1»Ó[dѨNÜâ6ô=ä>ƒY¶i=Á¦C·#{X^6Åô´Ï‰¯râ—x'Cåßx Ü +é`‰”U‡³Fœ÷Yè);(Ï]ÞMÀ蛶¸ÃvXîÃ6"¯t£mÏ»JŽ\ Mš½’ëéN´Ïý=i—½©ÌäTCÕIb¹­ÊoùÂÉlå!ß_©?_ðÂÂüY=“dT; ÔÀü;×æuNÒüGíQ⿘`eC×ã?ßÓ ó½×”Sªj¯ +endstream endobj 1144 0 obj<>stream +ã‰ÔÛX¼}¿\Hðí9ˆápP'Ñ» n ‰l I ¥Ž¢ÿï¿•XÞêÚ™-"ânFZ[@jnÙ-–ÁZß=‰—ª|¾ÊÌ^zyInÃâŠÚ„Œ¼-‘fÆdc®¦ú@ò ê¶qóî HÙî¾[?ä÷ð’ÓÊôüÓùhR† OjüસÖê7Í+0p'ô]O=%mii›p¤’ØqÚ¶R»†û˜;êÈ—*¾$ù[më'Œ4»1É’óO¡mö¥°B«’Œ×jê»ÑN²v/VnjΨ0$ÉÖ„˜-õÁŠÍ^Ð$ÝçnzŸtp’]ð jp.ÌG¯ï÷fe»BX$ïZT(ðóM&ˆ +endstream endobj 1145 0 obj<>stream +@¾šÙ•©Öµý­“ij@4R%ÏúîgÃÓct2jýé¯hTsDr<-ËÖ̽ûôoEýºurý5½&bm%ÞûÕï«0m °lÑf:órž/y/³Ñ ¨©ÎBZ Ú;Éݹë¨[B2q ©W‹E·o”Kp¼q@ãÓQÓß6 ¾¯E¸5D¿r±¹,²ë09„Àé˜jÔ¢¤UÓGÿVåú1_*•[Khô@ìp“©!÷[GÜ‘‰à³ÇŒÌ…ôÞÓï EV4¥ú¢nôMg­g)ŒÑ÷þô-2]༲  3oË +&x¤n½y7å®9»ð/Pþ¶ëP•¥¡¤qŒý}Âø\¨fŠ–Xs +endstream endobj 1146 0 obj<>stream +žhÏiwõxº†,4wšˆ¸i‚´sèzÜ µk€ãØï嚌óµ欓ZøÐqêlŒß?ÜSë‘]¦<<Ô«FZÉßÕ |sHËÃÑ"Ó&9¨·8¬SñÏ>ÕÙy @ö0¶uÚÅ)Ý-R<žøÓÚJ-…‘m3¶ òl`îSè]#g&÷Š†¯IJ(Ê‘8 Íó ×FûÕf®c>¯lÅ®ñ„ B½ÏGcÆó<“k¡Z@‰†Á¡Mü,ª4£jo¦'êé>º9¿» +endstream endobj 1147 0 obj<>stream +‚ÖÆËÊEUUé^ -E€ 7B¤òžµ%ú…rvb[@´Y;Є”üg‚äófvå!0ô$) ü­¬²¢!L™ËÐõÏà, ‘ý™‘òx@ª—ñN7U\¬¶€jÉ <ž$DŒ™c™8†nÂ&Ÿœ1²‘ —‚Ø[ ¦Y>“ÍY05Kâ²»€ÝqIªÎš#bq—Š¶Éøec¬è°6(8´I:Ç +endstream endobj 1148 0 obj<>stream +ü¶­,˜ÛÏ(»W”D2+¹|åTIÌÈ^䈽ôË¥÷ò(VnSŸi;Áá6ÊåCø@ë[¦RÏudCܽ.©º®DÕf¿!H{jŽµh¬  LØŸþ?Ð2ìèd6-qÊ#uƒuš +@›NZüÜE¥ø3”›¡iHUii¿d·‹¹6óHOùD{ Hlkúb-µÏp~&Œ¯t%íZ©Ÿ;qV…Œ²à'W+ +ò¶’´W÷d9oC ßqAˆ|AºêÁe +endstream endobj 1149 0 obj<>stream + )´Z{_P@ü²õÖÇ×è2ЈÙù™Р­]¥‘•¦œ<æº)Ìogô#¬üH[¥y¾æ‹)a hlŠQÂ_¨®@Y¨‰Z“gW„ôFÖÆ—Øaϳ£F•µ¡WÍŠÇcCbp‘mïnŠ¬çwÃÿæ³C#Cégš;XŸÓ]nø·üÉžÆà +endstream endobj 1150 0 obj<>stream +˜Ìžíá03}s÷Ym¯²Ë ‚üc΋p ÉTó.dš jN¹BA®ËíÆMØ!§˜ Û¨ÙgÌ +û÷Â(Æú†hÌðÀA´uЧxè͘}@ývF|¢É.ÛeŠØPû(Ý÷<á܃ 4ñȨVFÔ¸—¹ÁC©6˜ÿ”ëHù²ÝÅz˜Š®Xæ$AüÑûÂÀe•»S‰øÖã~E¹h²ôöêáçøÿ¡ômªä×ZC~ªänJÚyì'ßž ªPÐM| „q†ÛÈ[Ï +(ë‹…`‹H_uý‚JÌ +endstream endobj 1151 0 obj<>stream +…S0{Éü?9þ‹ò¸°Ùxø7ª.§õß9€B`´™ÄRpY">°!l—^=E<)E#¦:õò=|Û(Ô€QD\àD@âWÒï'HcÜè@2Â|ßã°H¡ÛWÖ Û¸+LàÞ®°XÈ9,Û>çÏ6w råú +žKØÆõÆ üÔ¿*¨Ý™KÒÀS‰éƒ^’>ky¥³¸8yÃ!w±NcOQî~EmÎIG4õÏ5" +ÈêpÊËæ$cª#\F`MR¿ŒL’AÖçýdƒ§`ÇEë¥bã¢mdf2IÿÀka ô)AÞçÿ¢Ýu¡Ë?¶é‚fÒëvIë Vv“Ò?™.¹k•‚>ömvY|‰Ï¶ žÒdCÎëTžù“5è•ùÊP'ÅÇ—>stream +—Ç}¾¸Pz}ÈQ4¶pÞ„={;r$ÄuÉÐCúc%5ü—Å…·Ú§;$Ÿ¾×œ›ÄeÍ0]¡Ëm +Üc„‘Iu˨ÜDÔr(mŽ=ÍÐ9P™)D½6_—?X­Šîm€Î FÐ{‰·:$ á¹½FĦÝVȯH²é WâÑï +czñkm¹ˆLÄðLŒSŒ¿ÆðKDq±|Ù–:^Y(c¢;hŠ8² 8•¥Èag®ž–!wrYCüX‚Gÿê+½gz¸Ù½ÆÛ]ÐÊ‘qs!Á¤ê +endstream endobj 1153 0 obj<>stream +A7dM…ÃV\g­‹Ž QæŽABh1å°µ)ÄæV +DÍÌ €úäpžÝŽ*³·#EèÊO)ÞP¢Q+ïIšå‰IÝýº=lÑàŸ•~ü€„Wmøª¸±$ûÖ? ÆöãP‚ËXzòWÃqäšk~À‡¢Þ+Åù©ÊD®›òXÌÁ–¾£˜ñƒG¼Å ,öZ›n8¡œÅ¶·§V{¾ðBñüáçñÜámÕJÐ~b½õÅDT¶–Ö7ÀìË¢%“Ÿ‹ƒŠ¤¾ ?î™ËÖ£ £Q¯YwcQdAŒ&¦ÌyèyÆÁá“­=º|¢‚óÑÖÔ鲄ßÉ™7o]"t1oPSAn²©âˆ#õ={uAG¡xûraÛÔàDFˆ í3ÍúQ2E"UßÙ_,ÒéÈî^9áÒ0ÓLp~…•b,è@gzD~[ퟋÒ_ä*õÛ¼w·³Ñ¯»ò(Ñ“Í×j©*!¥;ÿÌà•Gù/71Ï?ƒ¦ÀÝèþŒX—´u +endstream endobj 1154 0 obj<>stream +ö\ÌÌóîÈ¿ÅžJââi;Òk…KˆšráBsK4>nÃŽäÎb“ñAŒœýrÔèÕf}«§óêüQðkëë刢åH.ß^›1KØš;»ßÍ6ò¶Å»Û¤ò¡ƒ°ð3%¯ýLb­ «TƒªÃ¼þ £ûéãã"o+7p¨ö8e$2$F¾¿öÏSŠÎ¢I#„KtØÀ‹xv±Õð +endstream endobj 1155 0 obj<>stream +¡ìЯ'–>Srèµ(8þúþ¿7ƒ%=[åy+A@n›gÜu +ôêø±ª¬)5fm! ¶ðõº Ãñœ +—2õ΃…Âýùˆ:²ïDƒ“ìžÄUžü¾8MXc…÷œÚŸê€¢Å~Æ>ö˜-¨ÀÁÄl#åäC”=œ¦NµÌ@:³kXÅf¯^â€azxðîs,ÿI‰2á“{íÚŽdæÃ÷÷ëž"ýj ›{|ê5™õ.æ2*Ù‰‹†–hˆ")\—iÁtÿmV¤¹r ÆF}¸§OŸ@~uÑž½Ì¿,L†dçß/uõ)“B¶Ú¼LŒ• ú„ƒÓ7‰ ÜÈeŸìÒŸ‹TWÀ,Y\§I,œ úÍ©¿4çßXº§ðµPå9éOºæ Å:Ó˜0o½X0º +endstream endobj 1156 0 obj<>stream +€`I"ÓÍËü«2ÓÂÀZøX`<¤>°æû„Ø2¹„•›ô“ÜÕ)V>stream +ŽM\óľ£pû9zÇ\È5&M$BÕ/"“sÜ€qK–,ß‹'ßÍÍED­Iµ†aw¼æ¤é¹‚\õ(O™%P7—¬XÞ3aUkö‰ —ÚÜêo“hA¶¾²åZçnà¯G@ÐÓÔv㺶HiŸ6N‚·±Pi‡iÀ΃~~"U÷/xo¨î‹)|M/mªà@às^1Š©ÒH"ê ŸÑ*™A'gVÆüù6þ¿võFHd3¢EkñåKqp¢ Êàç¡Ÿ6ÓAxM]á +루a—ÒÞð{E ¬v “¹¤ +endstream endobj 1158 0 obj<>stream +&\Æ¡A°ÈcK¼&/)Û½Dʺ#ã D,oLSE +¬ûåFªÉÒ£ÕdCŽ)¶³©UQþ.û¢q +„«ÝÖž'Ôóô=ä0ºÏ×á9ŸÞÁOBH÷¥)pe_deӵЃ Ÿa‚÷Ñ€m ù¿D®>U‰FEªè?>w³;ëI‰ÅCè SN˜Ðw®!\íšÈn݉ˆ>stream +¥-ߪãO0\…Ï(³ËÛW:!ªëüqlQËäí Rd¨Á䪬œMPØƈÏ…v§þ|»Òí.¾Z„U$¤WNCÞBõ©²Qqˆåé•Nµ­“TüOÀ’/4¾0¹DSƒë¥YVVAè…$imRXdª«4±Y +A²k§[Ž¾®™w‹Ï÷#®Ïy á§"™Ñ· ¢a5œçЀnϯktÔmâûcƒBb·‡”‘ +ƒÆä͈™:½a´‘«­ÊK/ +endstream endobj 1160 0 obj<>stream +%RôYá±.bt~Šµ!ýèô«ËòWÎVœ½Yü”…”Œâ=gE_zc©àË3$æiˆ˜*îe•ò–äúc@BýÌØZnšu«ÑŠB”TÙ-ñÏ[ÑÉ,u<çæUce˜yÈ6J†ÃÁDªLlêßG{yø¶å ^˜p7>WêäH! ¹²Ç‘7I_ÐÈ6_f &d®ÐÀ'왚ØzÅ—[š„l붉CÆ“dk +endstream endobj 1161 0 obj<>stream +é<4áöy¦ÒÉû1_2oGó+‰–UJ=:–;ۺ̖÷ËŸˆ7ž–bQ·â±I«ÈŸ½e¢†^6o7!û”W`þ ‘‹¸Ó„˜\l*À:A\„jR÷Ó³Œ’ „ÿ’ªÈd¶ùrž²Ölc×õÐ$·*ø¯à}HûJ¤2hµM¬àW¯©"­.,¸ ™<Éñt˦:ÎT5&¸-Ö»('“,ºD¹Š +²˜'tòÚoº !y;Ä CßB›bHAa(WV9¶lwÄ/¬F 6+etˆÕëÎýˆš*'©B†3ýôZXŒ¨E• +õZ«ßkƒà±•åÖh]’Þ +endstream endobj 1162 0 obj<>stream +*Ur) ¬¬ÈÌe*ñ(§rµˆs)DNÓ¼™?õzYf¸X´CÞ-´^à «ë vƒ˜àYÒÝ6ãY§Ë„-vdqÀ-™ðI42—PÃhå0/  +'yb´l÷£µ÷Ý~ˆÈ58}Ž_÷eÙøÙ_Ñ}\Øž(‘Xˆ+^—Î5‚{ƒ‚‚1^01º—8ƒiZ*€£ïÆ_€JVÛýXÌLú±»'žÆrpjÿÆEE‚ûûAÏÓ¾ôê$ÏX¸± ­uÑ ‘vV> a §6…-c +endstream endobj 1163 0 obj<>stream +KÉ·dênk+k‚£€‡:•EjW–ËΆHüÁvE‡F± ëïM¼çÇÇX€“ÑÒ'­³:‚;ìŸ5´2šâô[?jûWùÈž¦\´ÜŠ +Ü'6ô·<à>o/MΖþ×Kk×z‰ø'žŒ‡æ¡øJr>+; qþX1WÅÞ ¦K^QÞÄ£¸#%N§b:Y¼ a‡?|{àQ ª?/ÿ GF øÿG +endstream endobj 1164 0 obj<>stream +³Ù¬91–GØ›BêkÐ8f–(õ®ÿð| ¦CúT.Gé…ëÇw‹ +)ƒÏí<‹)?ÁžB Ð(å[dŠ€|s™s7Š¥¦¢Ä´DªZla^Óh¥=ß`04¤*aOOGÃBW7äuMŸûf©7@IIÑ"Êœ-f%kÃÅ‹wâ§jBGùJ¤ÿŠ‡Ùºx…:hþ á™ý²ªKRÐqcø»‹¢ÎkÌdÞ,äO¼U†‰žNÓó¦ê¢d#-íªL/ˆ©úÃãòøùÔ=HûІhCêd«•“ŠÅƒãÄn=`æáö]Ìa +²I¡a»VSï㯴‡y½-kHò‘(ðdÒàž å +endstream endobj 1165 0 obj<>stream +¼â@¯ Ž8”‹Õ/¼š7Ó›t0¢ñüEíg"^Ø«3<äÉE­'ˆ4¨®Ü#“Û¿&|>fý˜A +ÔŸãË Úþ¥ãs¹ܘÊ8Q³[©)V{^Ü‹ãlý‘Š}¡Í ~á~Zb[Ï}ŸI?ŒÆLeC?Ë°vµÁ›€,ÐÙ¼/ê=ðÑÃ`±kÀa~[¦ƒ'´ëñ©ŒZîF¦oäÉæÏT,žk¯êÈe_6ÿ¥¨ÓáÝC¦Tñê“‘ÜÒ#32 {•QêîQæòÿ D†Ç¥¦ï¼èU‘šü‡úÀîF¥S#ß•À¨ÂèuOOp× +_gô­!Žìð xB²ˆ3 7Àù +endstream endobj 1166 0 obj<>stream +ºx»\‹y4“mBnÆ°W-…l'û»®0:Nœ(>¢Xò«õ5-—r%4¥ƒtå?wÅ[p¨³;(·ÕÚ^¯n]ÝŽ^ l·:—}k2°¹vG/êƒt¹Mo••ü»Bt;r»³±Æ™Í2ÙÙï— A'XBEN4Ôäù0·ì6—~ÚÊ4§±w3u†Vqé£+»¦q@Ç¿|ö^±]$—p/M‹L¢!Ý)[_²›Y‘è7ÍBú±²TÇ“nÛƒsÍSªÌ%Ð|ˆ[$w©òWÎ-7ÓPt’¿I5l㉃µ“‚»T:=Ó& +endstream endobj 1167 0 obj<>stream +4#ÛeÂFÉ+ÃP“7/)Ûê+d͸bÂ#{k§A¸eÕžˆCzŒkl¦J%ŠŽužoŸŽZ«V†èàýŒz5þ›’‚h ‰—âIÞ¹ÿ“.‹˜tùØ‹³6±}ÓÙ½4 *¶‹N€¾1Ã[T/´mZ ¦* 6¿$e{„ÉÂD.{ª°òÑ°…&àY¬VK]ûóÿûÛUUn¥üŒÐBf›ìŽYJ +endstream endobj 1168 0 obj<>stream +Ç3§LÒWµg[ÇÑŒUB>5éÁ"}7iÀàC4, ¢ ìf…]µo‹ W_Š³ÝèjÉ3þysKš8!W_Oç óì¾±£UÛí…ÏW¨tÄÛ兲ЄˆÅ’µ$qØMÍÎâðÌÔRFwS‹lá×£3PôVCõ*)ƒn°Ë„¢Ð S¼ŠOµ¼m$%,˜ÇÁ{´æ#xgöæÓ½@à¡Xô±Ûfã·“áñç0\"85Ò-€„ ­§ó5™g‰e¥z·’ã·€ïårB'^Ðr­‡àîYÍ@zxd•Ú2.âM‚{úŠÝEFæPÅ+0 +öü_kóüWH9©ÐW%£|3JGZ +endstream endobj 1169 0 obj<>stream +GpÑŠ©m9xiû +O¡Ý2”Ó_ªY°È³kûö`θì&[i!êT \b'¹mƒG_£Ç™‚[*ÿ\«4•£¦”o!cØl¥ÝuÇ\ÿ†åšÞgkÄ4ç7AÝ mK'ôš°W`æ´fþæÑV˜œÀ5i³ñ pyò#ô9å&þñ›É_þ†œŠ×rHFå4³~ÔDŸèï´Ð!¹¨7„]ç¼äwé_ÕeþˆÊßÈßÀâ +ü~þ…ÎÃô~‹[X´'¢:ÒŠ‡0N-‰V×|Ôbü`Hø¥|{ŸãHsjãT#\XÁx +endstream endobj 1170 0 obj<>stream +Ýc™¥Wû¸mF•°-HÛ©ö<÷±q'êtõn³¾0Ù)õàšu¦Qn‘ ã s„S­l3¥×¦á}eŠšé'ÆëhaÎÆ9”t‰IÍy x ¬”ˆö"rs*\»ýûežôïWb[]yª³‹ØD(Ê4ÁÂmø¬çrÎA|þPvp“äüJµæmç9/¨9¹0o4âKì‚Ø2Ÿ¢ ¢â6¨kt æT£]Ak{Šy·ž6¿ÇÉ“z@*’0°1IÆÕÒj? +endstream endobj 1171 0 obj<>stream +ÿlÁœ‡UsZ˜Ýìû¯ó™j”ƒ°A¯qVoz–H'BɲÜ,äŒëG)¥V/ ¥\Ê><ë¯soµ¸¯RÄÄ”‚}Âð#´›¸ƒ{Aÿ¤´j–ÝÔi¶~¢Ì_ÝéÚ÷²ÿEºßê`"µs/l­`…I~VË'¸H~¼lw¯^¡™E»·61eòuFˆv5ìÚ¤Åw1fæ½Æ²Ë³Vq[¨™6½·f…@MÍc6º;»¸¸»ZiºèÎ]GHŒ„šeÂ@UlÚ!Þ©ÀÚ'wë}—ˆó­,'…lï“E>stream +H,KørIš ÙzuVo!ȱë†OÿÚ;>&®fª"~Ÿqÿ#B1Q±1}RL€Õ³ 4âÐFÊ*bxÁÛÕ2¹m‰­–_{ëøes¢ÀÉñ ³‹R©Á©ÐÝrk{¤¯B¡ÎõÕã’?“Š:b(\X¨T,ô÷# }^à–Þü]Bå.kϺªDæ§ÙXJ„Pê"0ÐðÉ (R‰>stream +ØÞ(ƒÈªDØl¶ûy‰©!} ¯>£Õµ‹+<ÊKǕݾsNÃÁ:|ËÎDÉgë×='{Bö`w›LpÕ©»Xºv­1¢Ï< ^³):Ç +Æhjiã.…ˆ;;‘˜Ÿä{$¤ë)pT«Fb–£hG¤/Œ±«ug_£éŠë^ç%r@hÕO*ƒŸÜã2,”nÉk¬ŽŠE£>&ã!ˆgU…ïæƒÙí“Ú…⮫T0Ä='Pâi·Âúò4a²Ð ´À¢îÈZN>Bñ¶îÙɵ>ÆŽdfȨ¾± + +endstream endobj 1174 0 obj<>stream +5›Ñ*ïÕÓãå%³ëÚ6»š‚®BŒ‹üËèÚ»>Q=©«ì¡TÈóÆòH=ÏOýÇ&Üâ f)!¸¨tÇùV :{ØLÑe{æyÆnÈÝKum·r3êÃFý˜k¡•í´Ã'¼ˆ*7:ìðËE§/î‘—&ýª€fÌŸB:Î}†:*`l¿Ïpšáæ²TÊC1Ü®¹•ïìedoE¿—LP&¬p"H>7Üx;•­óe +endstream endobj 1175 0 obj<>stream +\Äi †sœ22 +ÀϪ æiS˜øG¡=S>ö9OˆV$²Á²€ÓYAèµ6¥¾84¯) Ð.2o ‚:¶;4æ £Ê<ªÇ:ãYÔDÏ+.zkŸ‡5Œ)Læ>`ôs銸.µ¿DDæ1°Ü£óŸjöF +ârýÉdú·wB>ÆKª›‰µÅ7ÒÚ©˜Ç8¦Z±@똂dp…zóÌL*k‰Ÿ/èíY‰ÛëH-2ä:ÚzÆmDV~ùÇÔR„P%ŠoKøÛ“l:® ›6 +endstream endobj 1176 0 obj<>stream +âÓUÆì­%[5“À“é†Yð7ðÐ*ïX»0 ÂŽ=k>Žˆ - „î¥É¬©@'×JÞö‡:âw +~_£;UUïì(€U»ä¨rTOíMà¼07¡LX¹(­SÓ;Š£Ñ!¶’žÂûŸƒQ¾Â'9Bè#çœItúŽ_r[œE³%2 ïä2Jlï1wQâfÙóÀÈkÖ#Fz".äц^l""ª83TSÛ$¦ÅGj1©õ_i—Évm*ŸæÁãÂE +endstream endobj 1177 0 obj<>stream +°(º‰ÀÎ?OYO}¦ÇþŽ§„n²FÁ4 Þ*’0Á¡"mç)Êjpr®ØiúåOð0Ô˜H½•—8-iì—àÛNÆ-êç`¤?Üd çéÜÓc 3odÁñ›¾a‹ÊÑD0 Öî\ç7€ÅSr&1õñ¦ K†Q ÷È… !B¥n@Ocz3$§,÷„1*?§,³ÌÖ™}ŸͼI~¦ù€´±k¯øëÎÖJ/¶kŒžÄI +}òVsª[/“º&n«eLmÀßB€Œ äJâÇ«(Eëìo 8)Pæ‡%fó×ÍX{œ…^@s¯†옢ڒ$üS!ÛaV„t[ùц[Õ¥­5Ÿ¶+Äsâ°.¸¡À÷‰ð +endstream endobj 1178 0 obj<>stream +ÛH M œäÔ¤ÞÀ“ž†AëÅKvÊQ´[ì)"~Ä®‚¸“¦î÷qé5‘›6DP™Y¹2rOÉò‘NÐ#›;]ê¿AÍŒÜ,çíyÁüª¿³Ö½Æ=ؽ ÍXlQkÀ“ü|1Yø3\bóp'®ÐƒÈ[õ#+@\PZÙ•ÈbrÝ': +endstream endobj 1179 0 obj<>stream +JLZJy"¯×¿¥hÎ.s¿z÷<>tõÏÂp•‡¯ w¤ ßÚø‘•pª$b’”`¿ žÍÜrÀò³Ò*2¨½ïÐkæÅ>stream +…ñ‰–è‘vý ñ9ñ;L%%šækQLqÂ!™žE^kêô†”9Ýu‡'ëfñ}Jdè@è(ƒ\ÁmŒŠ›G+#?Q¬ò®ÖÕþs6JgÚBÝpåP4ò‡ÝÝøP‡¤îZÚÝML¯ãó¬¥Ev"€HÂúgœRa'*Á*Ì&˜ §ü«¨¶ó4ËO!yÛï©ŒÝG´ñÝ"çä“[á —r‹Pбi)ìK}ñ[±öÍΦ®Žr ùåeŽWöŸÕç#–6rbùFZFëߊeh$kÁâíi +Ò®Ô%q¬èÎoIÎ,„«Ñ¹õ¾xGzo_ ÚÁþx*=[¨¯q£[En¿­1%Ì5ÖKcÜA¹gJ†¡ +endstream endobj 1181 0 obj<>stream +<æÜNÚ¹| {û#%H ERG˜ÈØvÞ?ñܤ A«½=嬊ãy‹jZ¼U_*èÍ$Ç +O àŸ”ol“ÿ”B}í;Ñ&/ÓÂ’¨°RoP¼èÎk' »^ŠÙá<$7ÃeF)WR°Y`ˆãïi‘hÄx 5éÄ¢6»>ê&q`÷ð™!? ¿n¹ŽðÈ3‘üó¾ÙŠ¡&¼_NæÙ>ÉÃËÌבK2ºM¹bégê$-"qC©?o³¥ý7–*þyK#xÏ.²ó}d ]ÉTTó/¡^Œ%7l`ù5¡%bω +endstream endobj 1182 0 obj<>stream +ÿƒ‚µ¬F\õî½æeò«¼)WŽ|Ó¨‰ù—×oBàY,ûöfÆþÕWH‡QÌ3ŒQETj+åäïI4Š”¹b[žÆ³Ñ7ø¶ƒSŠŸCèŽÛ4$¨H¿@™clýxöÙ_Ámò“Œý¼Ý’Ò3 +/!ôšé¹î°€=R†¤b°šH†è¥k‚ï`xéenÊOH:Tvr[û`~d%$gꌩ0þ~Þ(Ôímñ94†÷Ãç ×ÈÈ ó¡#gMé¸>|ÞYÀ9UÉ’ +endstream endobj 1183 0 obj<>stream +…@/ï¬Ud;Gª’L³ô§—â¨û—­Èù˜Ø"Ì@I^­WкZXíhïl4òl\Ïü +Ñ4ã¿=—'NšêkHmÅ{(¹¦›€\¦ík ó¥aºë‹TÝ–ðhò9#Jn‰ðŒÐ—NéË¢—ÝÈSëú¾¼Dò}7ãÎK½3'Lƒ•ÇM·áÖ³íQ0òâêõ[EpÿšMÏéí@a_“þ ¯Ì›DÄ5­V‘Öf ÑØUÇÆcËÈD8ŸÑ»)¾×· +endstream endobj 1184 0 obj<>stream +º6 ÈyðGóìÎ ++û¨gçï˜7P™1Øš¬áÊØ= j‘°äÍ€}pu¡ñ2ÞX5IÙô‹‹PfTÜ.ã;-ƒi[6HÎTõZFÈXŽ2W‹¹>¥T¶ë$ð'ÿ(7æ*αN˜_¦ ÷"°¿‰„º)ø†O7»ÎJÉãuàÚ XÍ|­¯þä!üúWyNä +endstream endobj 1185 0 obj<>stream +¦g–ò öÀ[nÜL’ßninmƒt„3´¥^tFˆÉ&ƒ41fª}xº}© +¹pbWöjËÒ ºÂ!êÜãÆq6ìYœMŸõÅÁs¿b⹶Cœ½aÚeô³ +>äöÐ#üâLí%öïN±žÈòÝô9>stream +JïöX¦È­dnM˜q¹QŽxÕÉgÕtÅ¢gØÅ] dWUÜ©W˜^Ej±¨ÛÖÙ|7ŽÔZ#_¢"\eIø†ý-ÉÊñ!Ä<Ê ð©ðÃíÝÕŸF˜·!P2y.»kð¥R)Ÿü‰à”p¨oØ¿­Ä¾üÛR,°TR± Ä>óÜ8ŒF¹†ßÄH¸k[£8ž#ùdú¡P +ýœö l2WY~?OÏdõí,‰—‘¿Ïò¹¼™gð°í(¥xOxý,ÐD>stream +}‹Gh5|N掦ŅÊuñðæ°Fm-\âJcï,ª¥¢cnr‚.fZq‰Ãwüƒ%†ÇèT¥Á2Œoø±ÿ\êÝk¡¬uÄ®l¥œð€žåoï þ…S®!¦Ü~’݇+¼ü®ì525,éð˜e¿ÆëYñÄ»ÀGØ6eT@Ðá“&»;-ö½Þ/®2ƽ™ÝÚ·"YÿsÅ:Êq#Uï"n°lºÀpIã£Ê€O=—ˆåävþræßç”AÎy ÌÐÑ÷ÚÁâøˆ6ƬøA£sPeœQ>òE¯áþ/S[[í^,ñ³±Ô‰»1‘RE>stream +ÙµÒ^B¹=&³Àr‡ ÷jôáa\OÏweä¹ú´ýÿŠ<§Xâ(„BƒÕäs¶€šø–´{À;%zÁØÛ92 \2"¬€³ûÔ왂¿ƒ57.õ”ÔïôüAJxôAœý+ËbníBåZß‚›‘Œ0¶Óù¤'<ÿ-Xâš)ÂV‚Uô(Ǩ›w½§?–šñ`ÜÆyù¥Ì3JQ–òyxµ ù°§¹ý°Û$!éb?VP{ljŠÃeuÕ†ª4ãÇ5™c¾êh|„§&3ö {Q2Òûþt¿Ñi-õ,#ï~‰a…5$i¯¤áZåH9Aå›ä.ºÐ;@æ˜6¼ÄÐDØðÿ ôËÑ>ÝðÂ,‹n +endstream endobj 1189 0 obj<>stream +/qd¥OéG‹[l2–âvg WÙ R¯ãÁ‡ß&Íá,õ©%ÙëÿÉOŸäþß˸)÷ +‚“©NRƒ,Äåû²lÍ!My5¾¯ Ë㢈[¯»º¹û×ÄØC¥ßìÞ,L~Œ#ã2ñà6B#%Ø !”Ð!#Ô€ÿBŽ€Ž)C‡ôo3`NûHüókÇ`\¼­€‹$d!/¯ììà–rcqÙ8p±3 g.È#ájk×Þ»ÞKÕìùo†,·ýPd©æ'7Ær<·’sž +endstream endobj 1190 0 obj<>stream +hEU§FŸBDHEÀö¤òËÎÝÉ:}XìmÂq£ÿ¾©ÇcœÖ„9ÖÑð-Ù2™ó“½yžä€Ï˜sXé À¦5Äp³œB4¿ý€éú–N”Ö6µ×~‡jÜЕƒ\¸ÜwL¹•ÂX§Õtå47›L[NÑþjL·Ÿp'/Q”»™èdŒq@qsæAâ1àåüØÂxü|yq®ÄͶ¯ÕÙ¸Iåf ôúðΙ†FúÀ#´UÐê-‹BÞðšó‰‚‹¡zùcc”kú年ºZ³?Í´W䓬` +endstream endobj 1191 0 obj<>stream +¢<ÊÝSwûÕùám§†¨úE]‹Z¾·Ú}º!è$†Ò»ÇóÜDœ]ƒÉ§˜éíaö™ÕÓOšI»—‚ÑI §'cȃ}¦ +Äá•ÃdVW)r—€‡”N_²=h5ÈšQ™f¹x¥(R]ÔÉïÅ4çêºÏ܉͘>@Ø0˜”NjÄ)ICºi•ÐñÂÊF0ܱcÛD3·ÁNç9:l]Ù¶ìV(Ô–Š_(F‚ÍOó%MH$äÞ-éÔЈԷâC#OÌafH+›AŽd‡ùîg±u +endstream endobj 1192 0 obj<>stream +Ôj*%ÜÍ-"›m×Z¿3­Õ0/õŠê1>¸c¸£Á© ®SÒôØÌ‹r®Í°ÙÄÍ#(%|[@]%^ø„TïðŽE¡æ*ž +ŒwçÚ©»(¤û7#š)C×£…B?¥+‡ý“.„†ÝÜtŠ 8| ¼E·gìÁˆY²–KÅÈF3 +oSþ·K¯€8Ÿ¨Ì¾Ç·ÕÅL‘µÅkÆp–[$L}ÜðDßb u?o¥[ ñt.œ‚t·(éÿVŸ‚˜âz雌ߕÁ½ÝZ3u›M•5e­¾Ó¹ “ÈlX¶Z~ä§Æ(žs +endstream endobj 1193 0 obj<>stream +‹¤½ÍÎ +àžµ»¹Ö@.?Çbr—FWoØÃߥ–Ôva«•É¦™: E^þ©äŸINâÅw_¥‚¼ÐqiGÈËAüRmåÇÆ£LO •k“{œ6‡ÔaÂGY¬z¸Gôé”M²¢7 imG{>]˜LýïýãŽK"p“~{_PŸ·°U¸z±¦¤÷§}ýŸ¯Eˆ;åCp­(Ÿ¾²}ƒ4_'é á[$í>)r$«Þ !DWÔ²¿o +endstream endobj 1194 0 obj<>stream +ú|Á Ê{êD{Ö¹ͺAÆ"ut‹, +ß8Fª\¥a‹™VÒÇSŸu/£?¦¢yænfAÓP¢âwsæþ!5Ê©i `†·(v;¬1+(zÔjºy¿4¼éÛ4zɧR©[Â0¯Ï©F=Wañ‰¦és¸®A§ƒI‹€uh‘þhð˜Ì½ÿÉ[JŠÔFV‰8ÄȵvŠ£ÆË1¾Â~ +wôÚqöCÈG Þ¯)„Š{¹m«$Ã5Â3¢*™\’ CxœMÌâߥÓb$*®<ÊùXÛ×d7îf±õƱ.YSs÷üñX¿¼/Ú¤Ê# ò£Jôsú³ýÔVRÁ¶ÝƳ‹Ì …( +endstream endobj 1195 0 obj<>stream +ÙiîSMs”4³MGl©fÁ¼„©5„0ðÑðXÙÆ´ø‘3ÉT³z\³féØdäÝÍë­Š R”@ŽÛÔ¹ÇiùÏX¦à~!1Ñ™àˆÈÍã KÐLÂlä¡.¾?Ó´Z4‡ó|áÑ,Q¯@'ú74f„±2UO#ž¸†{’¸þ_{§–Äž5ܱt¹Àyª’AT*Ígü®rij¦º’Sö’Ýã3'Lß.B þ{2©ÃP.ï6üó%Ã' ­†n¿¡¡Ø¥Ñ¯;¢ötÈ?WŒ«îa€lÍ€lŸˆ‡??î&&ÖŸ +endstream endobj 1196 0 obj<>stream +e¨ñ½dÀ+ë»±.?]ŒÐŠô_ãDupç©G…08ž×k [Ö–\ȤҢåŠD4®z²K ø>@s‹Ô[ž¨ööK>stream +\ŒÙìn¨»£þúçwH=·='¥QJ‹ïáeÍÁ¨:WIλvO…MOt8ü¿ýÿ F~FÄ#HnÐSмQrmJïq’<ïYŽú1HÂâ9‡°æw]g+ˆ]ÀŸûÅ¿-»rÊ[攎ò|«íæw¨ÌS×ofÍNqU¥â¶y@­´äÅIâ:&l@øb÷%¥cBUnÝ×õz:èõ³WС%£FöV­8GÜáŠäd`%ÑáN㈖ÔÏ÷²ó™tŽñéKg]ŒÏ¿þ±ScE,JY!ÔG¹vWè•URQç½N-”eü#•A­;Bôw¶o +endstream endobj 1198 0 obj<>stream +ËàŽÆ_z •p–è|1z[Áé¿•F5#ØLáêõây j8? £,‰íXKg5ý{VÙ“Ý|…„˜€^¾Ð£ÙÑ…w´L‡ÞÝÞÙSp‡Ö¼êÇæ‘ßOn“î{‡Ð7ûÒÏÇņ;´1dëjäÔª|1Ž‚•dê +b–¸Ð!¸6îηUÒ.¿00÷x‰´¯j„‡È‰\ hù•  —U…5Yy/ÑÑ<äxll0ƒ;pˆÕÉIžÚeŠã+9ú)»ñþ/Î{l~o Ö0<WyN”L÷¾Ïš¿d x½´²ÁoÕoqÖrÂR•ÄÀ<¼¡©ÿqÕé䂨eòE:ÄÞá–鱿Œ”È]R +Æþå']ò‡H¹·­®Ù¨V$O󟳬\çÕÜ¡¸hXZmzõ0ËŸ¤AG~— +endstream endobj 1199 0 obj<>stream +œ2R›þ¢óÂä„¡uX#Ö˜Šsï5Vdóç95AA„nÿl7í~âÆ,•h°‹«êa‚?sñp?²âõl΄ª¾³¢Ù„Ü•ÒW»{©*kóZVïò¬ïhç´ê ¨—Rá*¤ + +{| ,½ßé%ŸÞ‹ùÒC ÁOz¶§Õ¦1’Çê㔘'Û|„Ä.ý¾ºýeõ%sÀ¿.W»þ¬d{þA¥âaMk)^²ñZcQû¼]zOØœŽjr舫ýîÒ(Aš£Lf¢ª¤Ëk]ÃÒúQsö•ÛœçÝÚœì|Bjnâ[üjñ–ZÙl¤%¨%–€Q +endstream endobj 1200 0 obj<>stream +ÂO`óÒR~ïÃæøÍÏzTî+yÎÚ W&Ö愘T¿7y¥â!­a$$­ÃQÑÝŽhõŠýבJ +ÉÏé¯:áà‰É\[‘ÃTO +1;d, +>8TÉ#.NóÅ3pOŠZÈý RòaNoùÏ/g¿G¸}^"³\%åd­F1¢‡ˆ€RrÌl½¬»¸u®í²½…¤ ?±3:/p—\a_ûü.¼¨ýâõê=rGœü––œ`?^èjB™Õ܇‰v6þ‘CÖ?@UŽmcýX×?þ’!éû5=Ý Àÿ[ã7ô^ ¤6S¦+,¥s㢲ÌâØ•ÚŠ‹š[Ý2e@Ô±ËÓå¿·ŽÂ/’»»]€¬•Òè =n7­å& +endstream endobj 1201 0 obj<>stream +¨«wºb78ù™kº8¥ç±Me¿×²yô7Ù0”OÉ;~ó7ÚqE/^WåÊ Ý#¹V1Ælà·ëî^»àV]¾dWÐ× 8Š¡ë|zØk~•º5DË9 ´²ÛEoâqX1wèýÔ0žœ·»[ÜoÊ¡ÝZïrTÀsg²iÃË$Ѩ+-øz={’A¯'tçÐ>¸è›N½ìŒÏ&½ +ÝTÆåÒÜÐVv¯ëçÕk6üÝÙŸ©c>¢v¿ +endstream endobj 1202 0 obj<>stream +†ûåQ–»#mû÷ì¾ú²ÍUîùöW¼}ˆ½õÃÇU–#NnWO²îQ ð9f|Wܻ֕Á‡Ñþ¯Ä@Îξ«ÑÌ•9È\55¥9kãLþ²QkJê†tçœm—×æ½\üß’ôe©iQQÎg,5N;‹‹­˜çÑy¯ÞlÛ5H­'LêˆÃøÂA‘ôàV _?öë"eE8и¿UŒ@±.[„ õ#*#©l·û¥¦i;vc*Ä1®m3_aŠ9¥l«ó•Š¡î&¼%£cy}aìuå_CL +endstream endobj 1203 0 obj<>stream + + N¡×ˆYª¶ü[¸â¸[d•0P´«]né­Ù„3ñlÝÕÜ®îò<8?ôW@Ö¬‘æÒ)¸6ãÈÛ`:¡eV‚óÆ +ŠüYîÙºÈ+J°l…Ï™ž¼©ÌøöV» ¬Ñ_)ñÎíL?`[ÈtbHHç˜ýĆr+#37³j£p„Fk§£q8ê-‘6XÙuø³f¿®òQqÓ7ùÿ}¶l'K{Ebw¥¿ó ¡*ʽ„ù[ +1lìI¾dqÿ´SÛ¾8âèØæ93à>s‹ÜÙ QZúv:”?¢ÛÌë+áÊ‘‹à‹ýá™Ê®mf¾Ð«_ÿ]æwaì#­Ä0m˸ºÔ`ÚÊÌÙ¬„ÆèÝDÞ8:y'4îX…[-l+§¿ÜÏdë¿¡˜r¿ÂP>b +endstream endobj 1204 0 obj<>stream +Þö†Xn(÷ *¦ˆ0<Å¿ˆÞ}ˆÀ™‹„ë;!¿6ä2œék¦_4ÿë „8XNÙ+¶äo¢BæÌäŒkwuäw:f{ÃçcC¡ô\:ðk­ ¼×oä—öšø¹Ozº›e¼( aÔ†sÁ廕 +ɱ¶ÎñÏœ­GÈì +endstream endobj 1205 0 obj<>stream +“@/›¸ DÀ’ÉBB£Íxé{§uЧDL Ø0Ún_Œ*õã}šÚàê@½àvQµ87¡CªßÄ$…dá¥åV%²i§Ži%‰ÃR>¾är+¸]Jƒš×S€©ÀVÀ›HœÀ]V§fzCï „¶-ŸÃg=\˜˜»sðÒžþüÖÊâ $÷±»9‡Ì‰X2_+(`K~`‡üå*zÐÑÚÒ=Â*ßÖÁwË‚u?¦å` ó¥ *¢ Tœô@@§aša 8Sj}†¸nYu¦‘w5Q£+8pÖmD¢ÖU*Ó_EèÜk6=‡eftÉrC•çÔ¤ô­Fo|mý™9h„¢CEòh~£Xmø™æ⓸²%ô­þÓ`Í»Žsûèd™NUû”qgð8Ü úDýò¨%5Y‰–ró-/¡Ÿ¬‰i§\Cå7›ð +endstream endobj 1206 0 obj<>stream +4^¹½Ý+`(K¾}–eŽy_/òË:-â"cÒb×›qéç°×>ówtêù/`RnÐQYAJh9V£À?#Ç”1UJÙ)#T²%Ï%Ù†=ÞïÒÿ†+}ûš“-âÑŽç™ÙЂØ"0¢£ä‚Å—Ñ›´¾=ÕmÓö}ÔL"ù?Ç?–ÜðañrÛGf”ž^& ú]ª©§7ò[§ÒH©Ž¼ùXi¶” a*ï¶^vU„Ì—NßðL5»X%ÅÛþè” +endstream endobj 1207 0 obj<>stream +‰V]W}È¢-D˜uš†`A™7ïáC¢´È]Ì”ç¥olÃ%‰ :ÜS$ª\.Ä•§Â÷Kml5•ŒmW³wãƒÞ(4d[ÒúXA¡†bÓÑš·~×hƒ£ä€†õV|Z9ðt/ͯ· ,ý:4bŽÿÖ‡å¶['Tí>ˆ0ÀUÞlëý¼TŒ£Õ§)¦pšGÉ™nÙ xíµà™â…NCúh>Y»¼¿´·]Ç`*ƒƒòŽs¿HTrÕá®D)dß šSŽ•Ä&•ñÀ:Ïÿr@Y ìçÅf;‚2É}UU>¬²ý^ãð±Æ>:ß3|J-)öýÀ*‚µš…ú9Kd«Ë½Éi„;c<¶¡Î•C— 'k®xZ9³XŸE/ïýA1‰-ÊP93¶…¦ÍîI„d,8…ŒÜkTTµ +endstream endobj 1208 0 obj<>stream + ö"Ä=dC®K5V}Á úI*š‰#úï§GÅ©1˜5{§ÊSêÝ‹ðWß ³†S¥ãTtÕ©\çaÞ1ð6jiêVA¥P¸u5AÛ:“¾2Xx©e¹zŒæ +“mD ìéh[zbÝj¹wns›sx$ýé¡FTg€jD:0žC[’^‚pº.I ¢§w‘̉»Ù`z/EˆuÜß?>stream +"ô²ï2§už¼—¨ù©'²èþŸìt±‘ǯŸ5édú6þj8JPÃe‰‚6ò»Á]µßö;+OvªóuË9°ÌL‘¹ó©uy+öÐ/\ž&Iv"[í°¹Ú¸¦êü¤aO~´ä9/t0/üc´V÷&œÜvÄÁ7Ž¶¼¤qe½H.–“UDS•[·wVü áyƒ”‹_Ð#Í \z°ù +endstream endobj 1210 0 obj<>stream +ÐßÙæý©qöµž5é4-JHˆœkTË¿žYÔ„ªŒ#£s„Þ|"š¢º?z¥è7ŽžKhùOÊ7GÝxs’Êésåt/ˆE5"㬷©åÔšeSù~8Œœ[&¤ð¦MÈ)ÐFäÓŸB• hÇÜ@Ÿý:Š˜sÂy$›ñ?HQiù‡ÜEPÜøü¾ÀÒÇHu"ìýÝ–mØ +ðÒ*Œ&‡*2 Ô´J¥Ü¡>i3ÖC%»ü@o!>¼gw>1ì1x\ÜÍ‚ôtàªúã?1®•Û-ÉŠVNèžM©~”Qå˜$¯“«:ÌÃ:- ?zD€ÍÖ®ƒïWøÉóë¸kžôf¸Ã>stream +§ç‘Sˆ^Ud1O’òÝÒ•Cûå]Žø÷~?ÝjÌoB‹&N°ÌÔAµ¶&OO·´,Ó(nåÊQ~×®!CÙ pšf’²r¯2-—hì¬LS¢[~pšü-Ró¸qL à•à‡AfÐêð~—nNmKÜMÛŸVŽ§®ï D)þÛq»ùÓ(X¦G]·î¾‚GÌä7I?e´SVnì°2Ç$ë¢%µ¶|É™ýaÔä»HT=ðõgY­‰Azý.ût¡æ?ñ¸À·«# çÝà u†CT‰˜†v¢·{ȃ︵-ýšûV¤ä‰r@:Õ (èù¡Rl¯B§¾£kómq PKŠG‡1‰ÿFN^H{Õuc÷)5GhUcÌyÛ4 5± +endstream endobj 1212 0 obj<>stream +âõnÂŽ¹3IñËŒnðæ&Ñú8-Í8ÑCWv³H¢¿A¨N³Â3'Tö=rë¶ÐĶ¼É˜¡Åþ6´n“£ÕnnûˆûÆ‹x8ËüÑU¸ÅÂÏWv õpÀý,8µÏÑ" Êð>deíCÕS®.x„ä½õwÞúò‚¯)˼ä®7õìc»[ì%EßÏʉ¹l_þ=N}î•`›ÊÆczŒ&­cú˳q¼—Ÿš4䛉''C—*VZìíáŠ'ʶ3ö$±¦þ #ÇŽýì"¨®Œ¹óµ±ã†‰Ç»òî#»^ߤVÇË,»{‹T"¶k“Ù‰¡>3nùõRö1F»ïF¿*ÊnÆëÛÐyžeh¥ï᧵Â?ïû½5Ë>Âú?^#ø%ˆ‰0é͈ͺIV¤ ÷ÅX‹„]茷¡or((É+Ù  +endstream endobj 1213 0 obj<>stream +!%´ÀŒì·†y‚ˆ5Ú³ŽºœÌ38š=ó¹X¥§ìuP:Íí~ø~æ3.~Nÿ˜©ó9ÿKsk?IK†+©ðdœ—2‚Фæ%“]ü·S(eI×cxn±ºÅr'£³”@o÷ƒÃ-_]ûDûîa:~ÝmVˆç{ËA“ÆërÅ)ωØX¸g ­wݪ|åxÅkXâ5R€{'CJ_Ž1Õ>:èÈË„°Å¾)ž®²ñ$÷€š=?i‰Ê7L°ƒ,¼£gOâ ÿ*Z.9b(_ÝâÁ ¯áÐ9µ +endstream endobj 1214 0 obj<>stream +“ ß·]r>¾–4TEN…‚Ž }^„Ýk†uM( I€ìÍ€ ¤s—‘óï…žÎ9{†÷C1ò•´¹! òÈšÙ€ IšÃ\î%®”ú@ߊ·X~«ƒÿC?†ù~ÍÅe»ÇZö~½Ý~UäJ62Ege+‡ÀÃß?§®ä‰|Q;:ja¿ô˜8P™û‚@rýXãòa•"ª}(¨>y çƒ'‰l_L)Øàû)%Ò~ú?ÐH‚vƒy”npœJd›Šƒ½Á¡Äg=Þì°^èÙ|?"%ÝÆ<Øëc‰ŠçÙW ¶>stream +ȯd©¼Œï—Ô¸03Íé*hÄHÚ‚‘—¤…X»?X&Ó‰eJa÷ç+Ô¥ötÉ<(oª6+®#î <˜LÊWk~:Á’r¥#j&±f²Úx¾€) ³«[Ò¸x¹žzë5§DXh‘® üžŠÌ¸VÂìÙ]8q«Æ<ˆ ê×*Ý£(óùþ·m3¤•›_‚1rœ‡9'²»4µîžÓ½xéu©[à}¡ù׆ˆ©F•YÒ…ã‰R¢X×I8ó$5b¨w¯4B• ¨âϸ¾qÀ…Uôä…ôÅ¿‡èUœ•ßÉ¿½" 5¾ºøãøÏúš¾ {'Š»>õ1ÅI¦•Ê¦ia‡xîÚ„CIÔMÜÇ°ª5q]Ï|cuá7°¬Í†ú½CLpWP]Åp·¾šuÉ0`ÅóV㷢׌‡Ú¬‚΃UÁ`sø‘@Ñô—á ­ZIÒ +endstream endobj 1216 0 obj<>stream +d†”Å=8¨XzØoSWÚ€æXV-´û¾®á_IyIÃé"–Þ"¦~­ÈzJYPè%%³õ°L}¸ÃŠ *"Gj±k.µD`óT¼!Ô†ÿnTðˆíFÿñ ?z/£ ÄèS– T³#fùJ¸.tóí‚$Nk㸳me“HXÂj3²÷'œd§¾ô 49)1Óïz¯pz]s•§2ž®SE*‰ä~“³­÷ð5‚·ºÔ©"ªÖ¦Í×vò€#ÿ‰‚Z ¡PMJM"ž xg§ }Õöâͱ w†ÒP±öÛß•>¢˜x½NxPMÛ‚~¾˜jzÈ‚) +endstream endobj 1217 0 obj<>stream +|Þéáá1”’V¦p(N]SòQÖ"³QãºiNÝûêß—Å +§^´ßõ¸òÊŽ%¡#£"IQÅ2Ø;NB#’ÉSH`cwˆ æøÜ´-þ¡û„¬Ó(ý\™³âþ¯G,î³ÚmȪºð>'ôÊ¢æ‡ö_\ô½b,ÛÁßuß”‹4}о”xsàÆž‘ z€¾%ó4Îæl&K" +endstream endobj 1218 0 obj<>stream +rа? [Z ÚîÕ’/ÝLuÕ|\~ºË½ŸIï'rXF’K½o=a–ùV¼Pk¾*¹6(¨¢!AÅœØÎsϲwý uœ·w¹#ÝÑ~ú¡DeªA‘Iõ)ŽøBŽ€i¥ãñcrÑõñê¦ì=¢_ÖdØ¢a¸ f+’ÜqüÿW}x—ý©}™ÛrD¨Õ÷¯áõ¯˜¹Õ“I‹õþœ.4» Næ/WèµY +½M{UƒÇò»\© Vz™pá©dw¨ n)À¡Ôð´y£ +endstream endobj 1219 0 obj<>stream +B¿"Ú+xŒ]¶¥Â²ŸÎw ,Äs¦s¾ÅŸøòdA·‚K^Êfù§^ið×½ó¾ßTlè7¤ð¼q˜…‰æÖñª+½I‰ ²žf¿éñè=ê0¼Ðê8 omóTó§¨ÿŸ¡~ŠB(g1†¥æÍ<”%€û²ç”îFJW¡ö»¿P*™„˜˜¾¤ðeó–ðÝ"ó<²)[KáêǘÝLx’+ÔP‘yOBÞ²JþÃ*HÑ×…É.[ÛôarºÍéž²ŸÐï£äFüy?>stream +ž†R®aJ>Ï„Ë2j¸ ¨ FÏÈi΀Ì7Siþ´ë¸Œ9tÖ¼€'°\þ3Ù¦·ÛÙ,±˜Òñ­Ä]/{$ktÚX¿¦âq-pV@¼{•W +[ÂB´í ê±ES†°à¦¡j4q%9Ï­x–¤Á]y#%ò¡Òz3Q!}Vò1¢æÔ>›TfvlÐbg>U’d¯@Å9G‹±Û‹4¶ _†šq›Ty÷Ètn©1_}T„(YWÏ4Jìw‡ËÏc?ÙRì$NL2§]ŒDT +endstream endobj 1221 0 obj<>stream +÷Ðl؉¯JBñIp&ÒÉÐ^¿lFÝŒX~óZi§àx4ñýR$Ñð¬Y.Úl57‡XÆVÒþ¥Y¡&š¼®úZ4LêÒ6GàšîÙ"Ÿ9JÓ¬7²·r’ë>úhê=°æêàÒª²Î È±/Ž·€2L¾ 6Å;ôÂ*:ÃÙÖ$4a(æcì_½;Cîš*ViϤÊTÔ»1eäõtpíÞÃm46éÍ ¶9ö¿I’()ÖÛ¹>Qa5ûÝë¶;HèYí@”ÑÍ(µãÝ?õÒZg ‰ã +endstream endobj 1222 0 obj<>stream +ЦRGœb‹ŸŒt|r+”s2(UáŸd€|÷,‡ aZóýTišDB|β ›ÇJܳkl +¡þË bê(V6¸æ¥‚‡ÑS>ÖÌ2gA÷^üár<¿zzœbÕ$j F²$›b`T©OVàíuöÝüÖ¾NÕ\hÚUŸ¯ë=X¸]­Î×¹«%ž;£sc¢TÓ |JF +^Áë®ìQºq=ö5B #R f>,°t¬°ÜžYÀšâ0¤ú°·|™™ûÈ Ä +endstream endobj 1223 0 obj<>stream +5<šÚ€@oû'ñ²à§T^V—–Òâ JKŽÜ¢"IþµzµæhõÒTÚØtSÔÅ&¯NðmE ¢àÛæ?—œ–—®C¢\CÂØž*Ê"9j®q|Æ[½W`¿ÅW65õ/éϼ0†¶Eì +/³7æK Ú>nëÅÞO£ûY¥ÈÙbäIØ èuƒZ‹–Úˆi¦÷ˆÍg8üÿ#Ó +endstream endobj 1224 0 obj<>stream +ßn²©C6jHø–ye/ +Uàf8ÿ|i5»O¥"J8"‡q°Ð\ÌŠ;ïœE.U«{"¶'ç`Ú®Z/ù•Æä—¿6y¿æ̼>¡”ï*Ì\•@²%xì;·à=.¾m•é[´Äú©ãS70P0b„ô» J ˜­—õ-xaÆ–ptM>³cCTöã¯Ü\Ògm p‰Hãè%ÙºÛ›õ€Vð´Îü±¬áEy‹X “/Ž™æy`Ö¯7Ç +endstream endobj 1225 0 obj<>stream +ØöΞö?­¶¾Fty ØÄé9 °OÔ/{¾´3%òr$¥Ë±ïŸöGaœ"i˧%:>stream +šŠûŸ«‘Ä°B Z´Çê²èP  <)$wn×ÝæÍ"*uîÜQc!Æ&qLÎçñ˜p ZXœc½÷qòÜÉPÄÄ»»Î±¶+©3-W ¦yÿçšXÏp’:ˆb”ÿÜðRær¶jëÛpË—¶ZOˆ]ÿà‘RpÍNÇ(h™ä]‘˜Oµí»€=rLÖ=àÜ;Zö'ëíÜOfÃÏ- +½\ÂÕxVJ‚“r—p"!_Ü×mv=Zi‡'…¹hž·ìô$A"–íB`GJ¦×%Åâ +endstream endobj 1227 0 obj<>stream +Âgew㶼°0ˆ¢/Ï÷¸xg©GQ¸ÚÅÍn­e®i’guAÉ`šC__–j¢MºM&˜ØA Ûör´—H'ýAHÙÒWÁ¢0.§¹zeû9ÿlÝîf×Dª°X3mRmïøÞ«ÿRU»¯Õ¦¼â'ï 8O®ÚáìÒ`£Ë}âë«e±Íî–ñ¡Gø×cÖï}O›3ë)]MªwSÎÖÂÍï..× *.‘ŸwžŠ~7˜<€žžÆì›YÔê‘ËË[ÈÄ-1íœR¶]ˆÀ}{•@*Ù3Ùg=X+²â6Ç e 絸‰ÅÜõU‡rññÕÐ +endstream endobj 1228 0 obj<>stream +‚ Rë9Aã¾g[ - wLS§¹èwÒ2{KúªW’q\ÇùšÁ׃Ü*ÿ|ê°ºã¸~¨²áN "nbóK%IuBŠ]b½W¥ÈQ¡A†ß¦J?ñû¥,òÔ ½Ùv;­»Ó•åߢz‹¡§íÕx$nK^ª?£¤TÏ.jcʈ´‘9í"ªNl-ü¡ôËÖŸÉù¹F5þ|ćt°Áá@Àò?HÖ¾& 5´€«XS/â +ÞÑïXÁý¤À€rçòè&›Fîµå Þz¬E_PÖlý»¯ð °ï«ªzyÈ-úò=â@JccêÎonvPyTýW¾•ÞåÁ?°ò0 +endstream endobj 1229 0 obj<>stream +kÚwÕÖJó~ëŸ 3"˜ØØZ­ò¶15Ï»é/öŽe¸ ¦ó®» + RÅP‹t Ήo6U¿jh6‚ÇYÝ»ã>uœóœÆà-!_høe›”~²‡°ç†±“7£Q®ØºTP‡âešÝ«—ZÈ// Þ6Í °LïÉÈm>nú:Y>stream +†Ç+Þ_i餀§ëg•'cÈÇn4ñ wNø#赓‘.î\þú[zôɈ›Šgg}b­JÌ:}Ò±)î`môJtY_½Qä„X¶€€õto$EŸ|ùÙyu¤]L2çÄ„CØÊŪ¤j“µ¨…D8Z¤ùCòÓØ…¡f[ìž{H¹P|ßoÇ7‘SP¡EЩàÛ5šïA7 >stream +{C¡å)³ßëã€ßõ–0)Û¨D&N=Ü^#¬éü²l‚yŠãGf0êƒÈ®—&ÍcLXœRÞ~WÖ¬¿ÜÙñÅä&ãg5¡Š‹4{YG3Çý#ò+@¥, ’&˜°¢g9¿Üê®ÜJ¯:œäE‡¸"Ì2ÏL„ƒ™S‰Æ¤æ¶SR½x¾0‰`>žÐÁ[—•ŒÊ_C‹ÿ=à1v«ç`™ÝÑåËŠ Ú9Q„KÏlŠ{º[,öŽ+6KcÁF·G¨0ïWq +endstream endobj 1232 0 obj<>stream +*û «Aƒ÷í5‰»Ö(ÿÙ^„/|…À…výãaȶÅVE;a¡³Pü3¶Ð Ï+2›Lï Nô‰PÛUmnê½#¿Qå²Ú/œ`,ã Ý©]z—æ„<™ãª“R:Ùƒ +á¸ÔÎH†O®*¥æ:Þ)¿ÚO¹c ¹ÜŠQ +endstream endobj 1233 0 obj<>stream +ˆtj0ë¡Z¨õö­±SÜ:µ}f½ƒóvÖƧyI+Suê2-ïn\MÎF£Š àA8·€Õ¯BEî•ÙÐDî–¿î[.Ž3\§®8bðîƒké +c,›gu&¶â yÞgø\Ã{^-´œt‘Cî’ïÞ öÁ'I¸ùüS‘ÊÕª~µãÒ©9't³ýÿÃê‰ ¹õ`…ß9“¤Ï-h£šYeý5JN•ˆVôDG¹û2}ÍÅE¤ËÌ +KòÝõ›8`50ÂÉ‘ #IPk2(t§ðšÝè//=Exô{1–Äu­™€ˆF¨ñ‹«W, E=OSý姤¨¦g +endstream endobj 1234 0 obj<>stream +½ëÊÕÿ9«‘´²C>q •ÄäÉ Jø’iÐ6JýnÿãVÙ­°SF:ð]Ì™Ìh—e]ëk$Ñ DÇÎ$ÿBsL°¡ýtö¸ßHddGLNK{dë€ÕÀ”¢¾/‘³¢ª}z·V­Á)¯í Þ`äQ³„?,f4ÿ“ÆÆ7 ©dq€[þK\ù2&‹‡Åÿá†Y¹L’.>オ~Xÿ Í^ZŒ¿¥–s&*?SPK°W‡¾ŸdáhŸ!`ãÓŸ'ŸÑ‡?¤¾ im]«Ú%ç*y7ÈÒCºˆXÍ Ê¢¨ÂÁmŸEW8›˜üÍæ‘>×¼xDˆ%Ú_l¼N«ë§¨BveÍ8EùImwƒ!÷` …\“‡Ýœ#SðìZ{à–©Áë ÿOk$M¸³Y‚AØëÙâkÜQÛ]K +endstream endobj 1235 0 obj<>stream +©kœ³Ú—ÆÖŸ•(+‰óIðéŠsˆ-=‚)Ç8> ³³ëæ•L¾Gnø üs­RYô¾4¤$6ª'$ï”ئ°¼yRÙ"ÃÊXKí¡ÔÏÂC,¬¼dQ†niÚÊ[–rf¼ò±¤ºÃÓ'Žà‰ë2¿îk˯ÉU:Zãpõ€˜é8ËŒzUeý‚|Ú^sÑ¢{¹è¢½ŒÇÐe +Ä&¸¢p“üŽä»0’|¬h¬µ´ Þi’ì³:Íô•{ìS¾Ñ—‚)Q•ÀB²ÁÅĉf“¥™G!é -tfwÉÿ]r²TE™àá‰$WO™Hò‚·@€UŽTwå´4ð K’#‰ÒÕÀ1L€œóaAöÔ=σ°¶˜4‡K¼/°šJHìAqHó ìqýOÓ§>,ŸÅý)Ï7xD +endstream endobj 1236 0 obj<>stream +Êjé9I"©æU½êÇ|<Ësó%–Ð8HPŠd1™ŒâK©ñžF‰2ylôgpºèòϑ˜±9]Øhõþ°Ø»a6c¥ãŠTÉÈšM`¢*aþô6ÈoK›ÿD¡m‡X«º½X5þö7„;…yÓNáÖ‡ »Ùk=Zs»#D·ïÛô‚¢§òÔ–5§ú>4 Æ£q_;GÑ”Žblj³âÅŒ ÒŠ½Õ†_¬?Ü™£–èÿ¢9=5—nÖñˆz"’¨…t·Ü(³ÿðd¢à ÎÔ˜ãaŒ|XG vDø 9 ªf{þC1zpP(”ô‚ }³+¾¦k2fÍ_âÜÐ@÷ª?ÁËØSøE†QÏxÚ) +endstream endobj 1237 0 obj<>stream +çtuØíxóÜ<ƒ3=ì÷ù/Vå{5¢““:Ò%¹_|)Õª£ÉÞG×ïiž<#¯7!J츮ÂMlQ&Z[Ã÷R¸ÛHü47²}@hãfô½‡wÁø‚ä,àœo ÍB¿…‡Úd¥Þn¼’ñ{p+CP²n^e€ý(Fé¾µÜ9$ÁÙœôh¼ûÄ“ëüð9dùÅôƒ^€r4_zjz̈!m¦®6qCwMùàV8µVpɼsm²&ÿ…¦HóáÏö¨Š +endstream endobj 1238 0 obj<>stream +ŒOwE¾•Íz/ð´ûÈŠ·ÚJ)4¹wt Ú45ô ³±½u’ÒL°—nN]FnÚºWÔÝž¦Á)?j7Ô«y(5Ì(áCNÀhü>€.ŸŽp}Œ9ÉìIL¹q?׆3xœ–(|³º/íi±ç¢ŽY6"D?aj–(¯. o-Tfcç¯ý£ +Ku~‹ßôoĆuïÌåëƒ.L`© Þ(½:Ý”´M(Ëî2.À­XroPE9èh°> +endstream endobj 1239 0 obj<>stream +ºG¤ ‰±4ù{3ý—ÇÌ1•Ð(ï’ˆµ§l§y„ävöÚÚÁÂ1×Jø¯ÑÙu.8V-á¡c…P°Ç¨KÁØLò2¥±ÃzAö‡Ú_M,äG š}›n%xüY`ùz_ض˜F‰ƒ¢«l7*9¬I1&Êk¬ì*˜| +5S‹Y. >î*-2ÚõÿDÜöÆz ¨¤dÙæÌ€Xðõ ô«MôMð\f‹&p¥zþ1¢µûgomñËgwƒá€ÝÌ +endstream endobj 1240 0 obj<>stream +³xx:ÙÝ·bø¿”U$÷71®»¹~¥bìƒxq n)¡€8 væ—Ý—ÿfeBlzþv· +ºéW’4·…EÀ™/Âóœôh3 ƒa°0›Þ‘âY”t/Ç°è˜p˜2²â'8Èá­nƒ[¹®‰Îêªÿ.¶ŸGæ1µý«{ïå‚šKKÒ¸V#RnšÂ‘ÓÖ–’Æ–on +&¡wþ (}!ñ‡â¸èæÜ˸ ^ä! +5åKøÍÓ©ÕK< @;¢ +endstream endobj 1241 0 obj<>stream +ÇÌDm`›‡ÿº«$54AP')9¡æ0|0 1T£x’ðnF˜Ë¹KczümcüU†rž#s<ôÈðuµ4YJ¤ºÅ•àa>xr]íAâ­D°õK‚9ŠpK&øÆåòçü´Bw1„¡/.°Þ ïæð]iPLã!8íD]?,ëN*SUÊe?ÂèZæyE†±ïæ‚yxÆ +tž¾»-Š¾æ ‚T¡÷@x+n`u~¥°Êþ’~¢»úLV;æ´¥4‘—‘¡à‘š_yY{ôˆ¸yt>a‹gM/ õÓ„ +endstream endobj 1242 0 obj<>stream +^`¨B¶¨ca +Wé)ÞÅÃÇ>47O#€…&ŽJkŠFk”ïÁ9yÙBï³õ +Ø>ØNÚ7ÀÚjŠ&Þ‹¨¢Mí=+_Ýððß´jÁ›>Ë|ªƒ‹&ý(»™D‹»ÿ¼ÊëPì‚[žM‘Üë‘ü½`ä¿5 Êȱ–eÔ›CRE·æüKÂ[¢¨^Áƒ•?Wù#óïÛ´;`ü>[»ò7”}a +endstream endobj 1243 0 obj<>stream +`RHûƒ3cУvwº©*¸™…À +ÙsÏ·rjè±·èv¶ BäŠj“Û‘j›Ï)¶÷®2QR#2vý´©IØjÅ|(9fh™ƒC²’fX©C¬¸5LàŒ‡4ðM~ÌÝšTÒ´»L?g˜6ê átÛG]ù¶¦ã00¡wšâ‘"<äju¡ª +§ð&!&,ïüìÇ@IÀÜK™qµg•§V*5´hýö³C×+ +endstream endobj 1244 0 obj<>stream +\¼¥'·Úoì0†ƒÃaF¾ú5#ª#£{¡ë/:HE•….8®õ¿+q2ãnpªOªÚo¡¡ÈYrôÊÕð¡i‘Üè³VæsŸ5³°‡‚^uîô–JÛ£2.ˆÒg÷ò$¦—á‹Â(gÁ2/É@óæLvSiz|¨swö v•Ëû/Dº}µÌ´'a¦àevÐSà-SzàŽ3š¡y‡T±µÉòO6xì¶;:ŠF‡¡ÔÎÔZS\…ʳÛrc¢ +endstream endobj 1245 0 obj<>stream +ÊÕÈj­"kƒ©ˆë<~ŽÌ:&úÈí¶R‚-†u«ÚöÓ¶€e}h.ôÎó:«#´(;Á£¡ÖË\_°Ò'ö  +¸§©£"á° 5LÕ$CKBÛºàÆa:YW+Ô »”ƒqÍÀ-ÙHÊe]êis ×›Siìc'¤‘4]£wC±0í¡òíG5¯»­À£$çøKÚrŸm +j;ŽJf5*÷¯+¯Út Dûà§>š.ìÍãÔ½Á9¾¹½;£’l’cäƒþÜ@]èÕáû¯û Yï…\»É&ÕáàÆëÕ4¹ey¢K¾V Ñcú‹y³ó€²–ð”éA¡^&3¨ENwæõ¢‰ 8ŽÝbùøÌ2´°íU쇞o`Uø²o)ÿ>Cœ±Û}Y YÜ,ê…y€yšÁ£ñp Ýë³8L·m²ÜÌŸhmPi$m”`>D_‰‘ÔCü¶”Ah¦q—§ ý楔+í¬ +endstream endobj 1246 0 obj<>stream +˧?íßCùDb;zÇ—im0OÝ —àe$Ût² Ä-}źóÙ.]•^0/ »lÈGsv‘õ¢žÏ±~YêÑ×ìÅʇôq¼F|{o!¬&U=¿%]Ö7ýk/UV(gîs‰.¡ì-øˆÁMÛSaȥ˷8ÌHž7Iã +endstream endobj 1247 0 obj<>stream +gº—«CŽ/L_D‰5,²ûC¹CÙÎ=ß3^„NüÀ¡ê,¿ÅŽ"Dh?xé:lá&ÚFø/ÝÛMYÕ¸Öhr©ò<ø6Ó@ yûdîÙ9*ß‘û ‚“„›weÝövÈE\îh¡ügÍ“œíjm­‘=yWæy}‹Üvǯ÷ž™"y‘…º/K¼´«R#K÷t¬ÅiŸ\]ìµÁx$¬©ÖB¡ìÏÏÔ ›p`È?eùÜNehó¯’ í#É%vIµcë^í‘eÖä7Ä•Úß TÜ&0ÉÔQÕÝV +«¬{=9ÿ@’¡Á.Û®à©älô†öÂzБ²æe)ò^ öTE“w+UüÛñ¼ÍeéÐËŸ\Ž}¾¢kÊ|¹Þ!œ¾·Ô'“Jw׆ĘȂù(ŸÇ»×Pj§kÔ}ŸOù¬)M!².û n5NM‹#eÞ;ìöPÒ¿/"Í·Hï9c-jW\ © N¦Ô†ÈÖ ×¸ :°×°4àÜsJì‘ø#‘¨pf!dèñ²—‰`>ènØÿƒñ$(y9:mA´>JTŒÎ üÌÍ·qù”œ5“}“u*2BÏ2ì,6«Vz_çê¡IÓß @Ýæ#iÒ(ï 鸭ãÈ /p&ßRˆp8áÍà \óÖJ +endstream endobj 1248 0 obj<>stream +ÜŸº*öpVºá3½¢0Ò‘â4y¶¿`Íc±YB[÷7»&?“7ËÑ ó”VùŠkkÀuWBþ_˜õŸ¿ÛÏI@’ %bV#ð}ôÞЩ9kÊÇ,$ßµ MPMtfÇ×û‰ß'HCÁzWWèMǃ#FÂJ´s´¿ 2¬ÔÇ´}ܨĔSö?ÿð·Qý{Šb^eë¼ “;।SŽ°;P4XyÙˆjAø]{ZSrÒ¼˜k6d™Æ%^IÈe>;µþËþ…Gªúøô ¨qæ«Ó*9Ö‚áË”劋Ç7<§¸µ:¼ÙßÍ™_Ù î TX"&©C›ûá1A .~‘Y€O±vI¸çO)M™þ t4Å"šŒovëD9}ñîÍÇ4\+±k©ú7¸À;}^@Ö<Ö­™×Eÿ†Œð•ƒFÊd¤%_‚=îþaLÕõ‰˜åÔ±#Ê¿êjѨoŠcáÁ—Ëõåñg}lsEâÇ#Kí–mõ=‹7°A³ñ+'’K9}y<(ÞÇF¥õ€¬Æ²•/ u­–í8}­ÿÈT®c­Jè]<̇Ñëôwq35ì¦:âfìçNuy7Y*D¯Ñ4cm4´¤Yo›:ÅŠRJh÷¤uCŠ>ï^aÄ'p03¶4¾E¤Ö¨üÈÕˆ +’\"g^HUÙ«u’ZË¡»O²Ä߬&D»Å~^lèæ‹|#o5“U³ä˜‘þ¼¹Tô/Ý»°m0¤o’õ¼—G@Hᩨ_ŒêA¦.)þ!b÷¿®7¹˜+ˆ/Ë´$¤ú»è ä'÷IIî/)Œ€Ðäò VM€Jµö-xŒOQ‹h¥µA^dBÈCËàå#ûúòÃßÅJê "Ü"Üs TD!0¶CºŸ˜(Ïy<¸´`w„jô αGÍ qÉy„5ñ«ÁNÀè!_ +endstream endobj 1249 0 obj<>stream + KÓåë.F‚n“8࢑¢üY|л»ƒO¬Ý4|Ð’’û4ŽÇb{Mp Ms9YÎÕj„Qñ‰ +¬^íÄ®ê!ˆD_ì¢+Ä@y”~øH‡Wª5YnF':åðt½lzãQÌ®KdüòŽ·±N„ óH³7E¦"Ƶë¬Ë瑜ߧìM55€ZþÓ[åj/Q¿ñ*Ü­¢™røÚ=¬)r^#ΰê}W00`X²[ 05À«ÿÙ1÷|Eþ©!‹DÏ^3ŒXkÉAµœhQ“â ·°­´ÎN¬1²ö¸ÍÂ0mc¿»è|üîg?Û<ú7ƒF¾î+9ìZ7«ª·­Yîþ6üöñÄysÙ*cùËÉ››·—ðhÕ¾½( Ÿ{αՄDµDúLQ‡Q• ÷„¡ö£ä0”bj[¢c(<ã  + >XÊl hŽ×ó€¦9¼Ö`S¨ÿjš õôCö‘¢.›Tù… ¤ÏšSð—K«|M³"µD‚Ä©Ž˜CŽÅ¥XI?K]ƒW!cãçDœã%sw¸†š™p^ê)H*û5a ÍiØ!:sïJ'Un ëÿ»Jxøê¿• H0A71ùa毤Ví.Éï‚P£u7Í–UCú³¢À&•$l {zŽØCg1‚ŸÔà +ö,mï~Èf•SB¶Ùî·a<ûêuóÓë'£®ä:Ä$¯SÍ\‰Žg¼Èftd öóVãâAœ9´òóp§ë×vÔgM¾L–?ã¢Ñí"‘¼–ÑÉ—…ñ©²rvR€4¤rç¯òÿ>_³PÝ Éô)ˆó^DÔfðܘ9r=ò¿ôÔ†µõ´y¢y³;lë&˜šÞ³ƒY xn;¬¯ÊÄTœÙŠÜ‹¥÷²[Ð"],qa×à“ +endstream endobj 1250 0 obj<>stream +CboðÏ-`Ë>˜ƒ…ܯiÐÇ ÖÚT€:žb; VÄ,k¦oîÄ,S³Ù[Mb‰†:–:Ô3¾–f6ëÌZƒÒ-Ó—J2ùÔ☸‚oMðÛ¼%F 8vúrLq¢„Í=(<ý+;(Ù¸ÄÇð‰ê“µ8”Yš³GÐôWëàœŒÂࡵպ&=ΓRû{6IôóÐIöCG46Ú¼íõ<ˆÄòáÖ°÷bNûÜQÕŒl矿Òctä /©&phA2(¼*Žµ7-Fò!9"Äè]Ž‡¸ò™}ù»P$!.”gïø†dYöÒ¯îÄÀËÀ|Âÿî®o{Íxº#Ÿ˜¯?„`ÇT~¤Ñ îиxUg™çŽ]W°ŸvÓDΠíyH"<øÒ¼,>>Tò¹‰×ÊæG“>(¡¨‡E†Í'œ—¡‹>ØÙnl¡ +šÞoÆÀû“tùLýÛÓüÄöi)ñ=ç+Òq“œoÐy<9‹CWÛ@•Ñ[ŠgZd<hwX{?^µ~ilc‰p‘{'œ@UgZ-•à™—.‘X¶‰=&åá.Un÷YvÔ,xˆ%ž_¯ ƒlp÷ymÄMª58ø¸¸qæ‹Œp „E5¼ wª|~-öÙj͸çÊ£QÙŠØÎ]\_¨é :QV8ášhª\µodL¶×gs¡Ðð2,WÆ”`”^²£`ȨŸ³Èÿƒ65y”DŽ.äDÒH¥|k~ šIf£èÑԌߴøœ¾ÕUØ9…þ»gý@힊ÊU2¨ègœ÷5Çò % +=8ë4éb©¥à˜ÐÚB$º»ÙHAoFÙ ÅûáÖ•6gCÛ‹ÈÀÁ@iĪ,Àr‰vfê±hÛÖütÕÔ\À-‚. tˆbÆÝ#b¤™tcÎKKñìkƒü:üX¦š=# +endstream endobj 1251 0 obj<>stream +<*¡4l,³Û’ƒh¬¾{0k›kløté7Ú¾+ê“£â~:ØัϔŒÑâ˜Ú˜®ƒ|¸#8ùÌÌÚŒÝ\1î*6YßÃv‰äG +´¹{ÕóŽ«©ýÈ4´<<=âVEGœOzÎî![¥­ì‹~œŽ]”n0EŸå`ºto¥-ø¼rãw‘‘sN0^à‘¢1B2!]K§< ²Xh®«ô@¦øOlûKˆkI†¾^(GŸ–¥ö«¼xƒ»Ú(ŒŒÇbÌ^+v­öIï‡S¢4Fьҭ+›Ù +bÖ…’"Ρ`$M®„Údήp½EݯÏÇï,×& Ôǃ7•öD½ágËÙõø;Ôÿ’ÿfñ©Œ¹='<åkºu4Ùyš4T¦iF<"r³ø{¸2ÇÔ[HÚgróöy—d6‘âúj«gö{£#ìRÈné•mëñja¥¹Ì[«y_#02ÒÜý¼4uyOá}²ßJØäÜ ©3ëæ šØ"ö…L²»!È¥Ÿœ ÂýúMQúÊÿ5àI†~é|RÈGi¢XÙÂG·€L/Ÿø"cäê~\fÌ¡:ss•{ÔⱋtÉZÔÝâF*ÑŒGIgë-w+þá ÞˆCà”¾$A#!÷K-ãÖA“ïí²är[ÙWc$®“Øç8r:œ‰‰´ÒþÉ[!Xd‚7­¾ÔÔ§mÝ2)Oë©#1»G'í’3ç>ڬυõHÝ‚È<Ÿ›¥¾¿€øù[ ïœa¶O¨–Y&Í>i.¤¸Œ˜Ãà·micÎU&ô ‹»ò¶Ï'(ŠÇs~Xrº+¼hÎx.ÐÎ.Qņ èÊœÙKl›@±m^ØñCz{[®¥û Í`ßü +endstream endobj 1252 0 obj<>stream +9 ƒÈˆˆàI2B¸²(š|‚ Í!‹U2¼fBNÔy˱ÏjÂü×Ra^IÑõ€ý¨ewŠDZbD í®õšI°Iq 5jšYÞºòýüu "¢~ êPDÀmíã×ú¸.^Åia‘‚,Xõpݦ‚èËïDûê’Ì-^l¯œû!•­CÎ +S#:„—÷z qŠ“ ûµÂÅ> ô9ú¬ýéz*‘[…OìéFÖéÑ7‡ñ‚ `þÂÍêCû'®é:®Ò^v9îã?)®GÆDòµ”‡Ósi±3Cø€Ä÷x€Š æ2†HÈ}ó>stream +dmxãN²îÍOûÒ/:AÕ%œú¶jhÙþêŒ5MUlfÕ;6ü,æ¸rx”ãj\YŒ_%IÕ$'Uu’g´4‚mD¹º¯·ö¹­(¶Eã%ö÷­ó[ít†Â³Ãñ~˜-€]b„B½âÒR?ü s)A’Ñ.A L¼…qW‹D­2t¦¨º&¡zvýPý‹l„„Y“N+!¶’òmV mSqNÿcŠ_taùÑÂüYj IbmòïÇë0àãÉâ?æÛêä^FÜþÌ#™Óll!–h‚§†,6*:,+Y­*#ìH“i[µÓ¥={Ù'dêuß³¶.ça$ !¸zè4Êʯ¶1ŠH÷|A¨ùN"Ù·—'Ò®žêöóc1ž¨‘Š ’”î¢eÔP%‘¼—ÁŠmtsaNßÞA–SÝ‹Î\C+IœÂ´LïJH +{¨€[|µP +‹ÔÚæOù" +,4v§•ÙI +¯¸gª:ô󭵦¸F¸;'ÇqéŸÇ8ÂY5‹ÒÀ£¶š¦• ç¿ØG%`®/†’Ö…| ]Ûš&Íá…¨£õkQѲD% §Ë2ž‹N©œLü}:ÔðŽÄ'`[d¿Ó‡õcáæ¿W/Þ_ý{¬Û}w²z4ÑùnÔÄ:âÔuÌÓ'læxf/ŸYe1_uuJzkd[‰^|A…š0²Z)ôGdÔ¦â6MíBÒÎØkgïá +endstream endobj 1254 0 obj<>stream +Uö$W%¶Q¿È¥~jl!--.«Æ‘+c¹Jy1òïÀÌÉ®¸-˜1³€Bj9ÀÛñT/Y|#ý.³wÎ÷8nókH ÙÏ…ô <\üù|èËþ!t8(§ñªºYãc¨ââ_vŒˆKÔߟˆr´}×x)ÿƒ¢ËÐéÒte˜Íƨd>¸Ñ^øj‡ âTÐÁ?9‰¸ìZ€1ù?ùM¸bã üçy &Wé”"'†¯mï7ã@ÏÝ·|J/íë÷1ÃQÓ JXÐPW<£x^ò$ÈÃ¥÷³Ó4õétq.©Ø1Ø-ô”tQ9½rŸ9v•ÂiµÔSÙÇæ b‹bp<æòµ|8Õd¯(ëf@.#Õf%הĵs3Ê_‹ÒЃ¶’b/Å2‚zQR½ÒZ@Iùµø (EŒ“ƒþ‰`<}é‘‘;"¤.¬R¼#XC—¾±0Î÷Ÿ€ l’n[|É‘ŽïþZ†U–%ÿùãs9Xé)0¨ò'PŸ$f¶츘Jã:íÕ’dì×µ2Á>µìà^úÁú”'#ÀT–Ìíé ÊÙèT-BØ+/VÒN¦6‰)”/ãI»÷g±{* Ðþ^-0}‚n#,Ð7e[ÂÛ˜ÂC¢må¼Ö‚xmúý¡?ctjMàðp·YÓ&QJQœÛHo°¿ª-oÕ«Á ’¸…¤±;Mƒ:³¢ÈJR´zˆ¬sš!‘9Ǹ¿ê@j,².¹ +endstream endobj 1255 0 obj<>stream +¡wˆä÷ XÐá—g˜ñx†ÐQu±as¹ØIXè— ³ *E(BîDÇ6®Ôhe_B³5D /Þô~aÑ“YTE“4¤ÝWä>í[WPt"­—Çt$£EögY±¨°ÿ HÞàu3{Áù×f&t'eç<#$%µ[0XØ­¾§@Ey¨y]èì!Tµ²%ê*âìÓ*¶éë™>+B+±3Òó0(TE$&§F\Ýž‰W!h2„×iÌ{õ1”—H½ 0؇ê+€P¸ì„ÞÈXÿ¤G.?4sGÕ 0ÒDzU¼Óͬ’L®!dFYWeÙ 8®£q?€"ë«@£Q ñ·n•ÂÙNéÎ!¢¤BfZ¯ÆŽž‹e5cðý, › ž ñ†M–ÿ¬e)í"Èj¦ŽŒ¹Ô[ ÖQzèmˆ£ À£žÓsƒi²Âî&R‡_çô}&«4t–è: +âû¼®ë‘AUbĕµµ ̘ٔÖT¡â|7Úp$†_´Ȫç,‰4͈õwù²‰ƒçú¨Ï æ ˜¨jô(VÌÈ,åäŽÛ÷Â*™$Ûv%±KDèÉøˬW ˜GÈ`[ç‘Qu©]ó0ña—´ÐÆ¿W„røŽŒ+d:¾çÕvÈøYÉ:VA!îu{#€®&älâV}$ÀÈÉ1ÜÿXÑ?ƒh7ôKÂðDµg)m~ê +endstream endobj 1256 0 obj<>stream +1HÉÙ"k­Õ÷Ï#ðñƒ|‚ñfÿº  ôUÁ¿Ûßž=~СøºîoúúÀ +/qT +«Ôûâ+›‘±¸Í@óYny±Ò’[·É¤çSÑ%qÞy¿c3Fw|ΊêT=k }\Ï-lrx¥3ødªüÞdëÎ¦Ç ¸8*óî¬dªð˜ô’ú¯Ü” ªÒß +·IœªûðµO”»òžpIª{‚^Ó-€áýëÐÆGYÒ+TÖwVV‡4¿£"øjh€–‘=+…€´°cÞ^’/ RyKé#y´]9¤de(!ª¶0€ž7~{àuH‹ôSí­xê_ÕÜhºŠÙ/®J œ£ ö&ªã½+¯Îþö›Ïï¾£ž€È%“ýêçÖùø%ŽGø;Žáß0b·ßpÕãÛ…N´ƒ¾À7#8ï^½‡| ò‰qîŽá^’¾H²±ƒW)…Wôï’Rî§Â´6EZyO{1Sa fu¢5ËSÆ^qâÜçrlX“d4Â~cŽ° çÐŽ÷à„VwGÿ×pŠƒAËòç™Ó +ê2•Ì„Ý÷ÊkÉx»ýF.ö! oRuÛD6I™â*È¡?zµË€FÚPBÖQG¿[f¼¨ ‡búý*&´Ë6Ù(|ðåãînS4¯ü²x7'k[õÜ•”¹…­*xŠK2ûXó‡‰"‚FP#6OŒgrªÂ…=µîW÷n=YÒâB™®¤në…Q¼EãµD~åÏ”b³5–n´QаBñ«í +endstream endobj 1257 0 obj<>stream +Uã3 •Ú¤îéÅ} «Ê&:pHÔÚ Xúi0¨u3õIZ„ƒ›™Ï“›fš´¡—c>Êä86 ˆþoÙsŠ(¤qnPŸhuC.BÛÙ-”s6­ °!åTx©ëAq¦Ƽ¿ß§p  2° ’v l-7áWr +’ EIÒÀú;;ž‘Oƒ™%¡v:¡)<Þ€¢wÕ@(®QÖHZy( šƒ­ ð¯Â!›Ô8« Õ¸){´i So™Ä¥ dÿ3Æí¯6Ê4ɱ+).‹Fæ JsôíJü„ªY¬ wàÚ½‹%lxê$Raäá˜Ápâ5+KÁ߬µÝ0âu_*êc^[%w>FJÍѪØ`Ð]c³?Eóâh)è. +ÞÞ›ËUÔ®+ÇM0 !ÏJ/Ó¼ä®0Ñx"@,DF’õóQ7#¢2ñFžõÕT„ñ°·XÙ8ëzÝ­J/Úú†ûàb§ŠKé"¸Wå1]=î/§÷,4OP¯6Ýï¹Jœ"Ÿš¾QÙ®d|ÔÛßµ‰º„Þâ@ótȸߧ԰ü&<€‡J›g»·§ ´Œ/°±©>stream +ö†Á;ä‰Ñ^I?1áþp4§XþÿFQpj¥ú® «q ;$']×Söß"¨7z-³ì §I6yž¶o³W¿¯U-'Êöþ0Z%0ÞR0‡‹å͒¶ôCúBb/¥f9e}Ö0NW„kX³s Æ»á-Ó™W +ôèx‹Úo ¿“À!£±ê B°BÙª‹1ÉÓG*_“ÌLÉýöõµ?‹Xso§š‡n*úãüðË»Ÿg}J}žoÊköksD åËÝç]yR@‰wœˆq$c×;¡ñú3ezxôÄY<¶åùF·»vŒûGpÆèf¤/Þ7®ú-µþ”Rç«9éªQÞuÆÓ*ÿÉ%ãz"7Á=mx†»)Gþ®m ÕnÅ€]èvi—2žŽÐŽþ ¢7LÇÚ½ðÙÖlTÐÀž¦Ä>è"¶«¿#Àd!°n?Æô¸ %¦@£½,e/û«ÕŽ2Qêáa÷޴Ê-^ŸÍ¥Á%^[?é}ä>äêÅú’¢ÈZÉÈ<ØE/‰^:),ëv|cE…s›¤÷þz?Û +ÐM#thºæ¡ "ªý}G´ Ø@å£æ®Ê™R6_;Ú¿-:…+L0ï‚Û«yé”ÎSà†¥>àü’²˜­·ü$wŒ¤'°—VðX'[²íëi ¬õ‹jgåkJÈ¡°¯eFnM˜ï¿ 'íöý;ÀãŠöÀœ}ÚÓn!Ãz½³uÌ#^ +endstream endobj 1259 0 obj<>stream + îº*73.õ!&ͪáj8…Dž.õK^_ÓÚ”ùX‘û΃©žõÊH(¼½ ÉõḆqÄU> ó™EµI¡õÉj\ˆŠþŠáx/u½ÕBJÚ¾ |bL —äìc埈bÌ1‡f“¬^*f—1– µqä0NŠ'ß[f5_1Þ§a¤ôý‡Ç"&nÛóì²°¤èµQBG ÞJrdùn$oØ냩zHá¦î@2Fõ¶ùå\ Ÿÿ¨ªSþ·s9³>žT Ikæ[Œ‹!>‘ /•ûq3×í­óA_¡aéäÝ+xB÷P0¶¯ö=p6ÖÕ¦Ž-‡²\ÂÒ$ÔÜîiK F[yo‘‚UÂÛš/#–çé·AH¤76¢«BõmMµ_ò‚Û‹EZ´Ð»ØVqÅ%n0=™<1ƒ±½8¥š]wßfÀ`~¦RïÃ[â.{«ÁpŲTõ…ÖË•Hd† q›‚”ÙFÙOHžIá[Û[|yzæp¨Ù&24!ŽÙƒCôÖÉ¥‹~G\P5Æ@D“›{ˆGÅd%“žüž–¿È1V[˜3õÀ;ï–ÎŽp’o5õ¥ñL×q„—>´^ H¯PmŸY+zpr8Ò4 ¶ÔvXK<¼{Kz@x!TºF ÄW>)îÍ—÷H”4žfÞO‹OñÏó>öÎX·²ò-F^" è:žÒ%Ôø|ÙM]@ÏH–Q$E_/*ß’/y¯~U© ”_‰JP¢BcÁpú[—]‚ ( +¹9W¯ÅªSõ—"L¹kT?T»l[Š +endstream endobj 1260 0 obj<>stream +¾{Šå\ˆñÈ,Øõ5½¨ÙÚ^ª™ÔSY6ß,…"Þ Ä6ä…Ýõ«‘yê +-•Ü'¤Ó5:ÏßL§Öh”/v]SE÷*º#Ðûf¡µLU_Fyå[¨å»p¼Ä®n˜¬ÝfQ(Àcò¨:)™N §ÛOÂy²•…³Û)G?±P +ÿeAá„{B?©UZÑ’£ü¦¿m7ì0EA¸ +—ø˜$ vÿP•@T‹@©4¤‡A µÐa, +_sãÌ2V”@±1ÁæM®œ£ÊE µ‘˜ˆE-oéŸ,bQ–"2í나ÁŸÙˆˆ‡T” wŠÝ£¥%qð@rÐ +-“kƒqM¼~ðë ÖIì?*)t:`ñxV>a'ÕcgPà/̃ʇAœÉšöÛráÂØuyó»K³éeÅ#ê~9`R ˆ‚?~¾~[ÍÐà³@Ñ £§ES®?üŒnS÷ šß)á™}“ç@K˜ çF\ŸÑ7BzÅtŽ·Ò'î@ÚÄ£Û¤—¥¤|gŸó 3èógyÀ"ºתaÊûÀþÆ5-»mÕKg°ÍT]̳ZöÃ!„Á"(êý°=©»Ihß[‰mjîl·r}ˆïÎ’És¯˜¹,í~H–êÑÓ´[H=õ’ŽŸîíäÙ(HY´)ñ»zÿMí²üiòæ #ŠmMP´Q}á|·5׸½Ÿµ:ˆ¦iYýÎ2<µ®R®6Î÷È·2¼"ä‡Õ ýï‡[8ãç¢Â_`g0å¢ +endstream endobj 1261 0 obj<>stream +ßrÎìŽPiä†í(OË¢$n©Ëò3äMº[8IÈEHú¶<Õ0u ê¨Ùˆ,Ër`¬3>‘…ð¥S2™“ðïT?0 ƒ—l{¸Ä&W‘êm 뽄,ÒdvJm’ØËÌ廉Š¹ +¢˜8‰Ã8.Єñd¯ïQŸãå R5Ê­¦Â‰?B]@˜íGÑᮀqüC¶ßó?¹€Ë;G¸©x«ò.Ö Ú,Ë’5f*Óé°¦Ôˆ¿ªE5·º.XQ¦"×CúÀo뮞õC,®ý¨~Õ r:e}»B ý¾´Âïµ×¦ ˆýX˜¨×²“ôS‚(^ÈÀÈÄêÕa«õ¾4YçžèwPh\^ÿOTt.È‹(O­t¶ÝÛ÷`ù¡ B‚ÀU¢¯c›ì~í­™ÔÁKð3åÚ؇6‡BR»;yž&)¤÷žSÞø9å&}Þ¸üL ”s>#Ö‘)óMYÿ·Jê„Žë.v7®ûn%^U/Ÿfù÷{¢AϲDfo1ûTmøØb¼NÒ†^=Ū×%kèè —'$s)»éêê›ûÚ…Oª"k^›?»+±tg˜ê`±ñŽO]±ñÊYÜË ‡É7‚{6·ü‰âR±X±Ü+}ûÉ×´åÿ‹ö57>:4òóÃjŠDêy¨Ú¿*;F×ýÔ_‘‰¶§ùï‡Èf à´á]›Î‘݆+m‡8Sï·˜!x©_:çI™˜ÑÇX›S|1Бö=: 1ã¥Oc96/Ùðè]3wPh3iL$V™ X_SlfxÂ滺ëøÑ¡ë˜øl(9n’þ­ÂÑå‹ë7˜eÉ#ÆYfq:´­¨Õb ì`^Šcz¤ø;JeN÷™öï”­ +endstream endobj 1262 0 obj<>stream +˜–%ÒVW³~í6>õä×Ì/Ë%W˜øÛån2÷™ñ,pI}:“«Ý¶¨Øf S¤ kÅ¡l)}|–úö!.àjÙü +þât™í@¶Šm’”d•LW'*³€ðÈ‹3É’®¾ö¶Ÿ´hº”I»ÏéÝ @‚Œ?\-Ø#"³ÈÏ©‘m¸u³Ùh¸ +endstream endobj 1263 0 obj<>stream +´Öˆ-Æåó'ôðl7Ç„¦¹Ÿ¾eÛHMíºž¾| ΊÀbn›ïL¥eÐúˆ¬Ú¯¥oÉÂqD>stream +ÿÈk=oÖD]É>,¸'!_Ih}÷çWYœæ‡×MC(„Ô+ÅKûˆtj ç”Û+ 3ßÈûÉà3÷ Œtn-ü €oô É|Cïæ ›µ)«ÖöŒiª?k÷Q=­¦Y’SÒt‘e¶Ãë,ãÜQsv®R2Þ+Ú„t ¸ûë#m5¨~Â…%‹ÚUçÆâ5 +endstream endobj 1265 0 obj<>stream +oç&+V¢Ïu- ƒ;K¿Âô)ÊQÎz–´Á¨î¤ @K¤úø•áa·Ï¥H¶Ñj\WÛØ”ƒ'§$™xƒ2xNl 9Ï"ÅƳ‘5HCžml9`¦¾ž&â·ã1·yaJRãU\CÏ·þêÌ‹ +¼ É·¿[†´àžˆ*z€µœ˜1¯Ê5·4Üáã ÅègÒ4:f ­”[*1õul ÐW5›ÄâFལ˜@10ÑÀ +ö! ¤‚àÝ”LòÛËæ×?©Ûà|ð˜Eñ×´àûE¦L™zbvH,û5ؤS·{Œ%P lAÄJ"ã>ÈNÐEQ®9aˆõ?x(tY§9lþ©Ð‹ Á×ÌÙ‰ë{ ;N'¸\ÎËÈa%X$é«£ãýèL$»Z¤)䟉uÚ–äK…±Øv +endstream endobj 1266 0 obj<>stream +¿¶,ä=ùeˆEƒçR5Î=#q–¾Ïøyк¬Æ&ô"Š‘µIyÂÝïŽÊz<©m¬žþ»mºÙbQSdÆ6+|%§ámHÁ—íïŽÊ`ázñ¦Å]øé1°ÎJ©©“"9 +®¹‘?!±KÐUþÄ‡û$ãd l¼ +6ì)›–¬µí»/åY#‘Û¹ÑÌ5ìcÏG‰¯o 9ÄÉ0Æ/LÛÚÙÃb…Vb0Lb]=2–§W‡mŒ!¯z8Â*é´Õbªæ–8/š¼PeTÚÉ÷Ží.]ÝœB¡”:Ú¢ŽÉKïŽAŽ@ÔäþõuùIjOÖ¾'f¢4p®¼áC¥yN³ŽóüS³ê{ô¼EÍæ÷ËÒÄ‚0zDX4‡†í:Î]Ø59”ÛcrbÚâÅö% +endstream endobj 1267 0 obj<>stream +Ñ'S Fy« Àç5´µÛà?²"ìë㤿¾: 5P³ç÷ }¾žÔãíÍз:/T‚‡m<œ§¿iª}êP¶æÙFë²äQþºÇdÈÓƒ¾Ž_,Fêm@\l®„ &æÀ¡Ï†:>stream +ˆön'AfJŒ„¯©&ô±­E×Y¾T¹XðYàMjhÁÃôƒÉSÈÍuµ]uf§RÜInÐů·¦Ñ÷,kÁªghçrîÏ.âiyk8ærÐwÆ_îi­º‰pd¦QjtÖV9Ü_k˜Ø½J×\ø»±+1¶§(ñvÃa]d c× ½Ô§röE%V0~ :Ë×Í”ÝßÞ¾n÷'TÈa"jN>lë«‹Î N··5?½°^kú©6‘oÃxˆë¼;-z4üŽ­%!þöÐÌ—¡É„èËég`›ÊuþsD"7"®·#جäÿаN¶¦e&ª‰Cô2ejçA: R Èe)N‰o°²á’ý2x °mÑ7ܲx¦ˆ#:ù'Sºi™&ÄDQ+§^u³R +endstream endobj 1269 0 obj<>stream +ÂŽ!à»w¡ÏwÔ±¶»=.ÞHMÒ2=œFþ³À­6#—éÃî4†RÓ½ŒxC69 !îi¿Ñ¬ ÑÚÅêÃK²Rf5ñ­½§Wå‰ëàÉŸ¡Á`®¤’±Îhˆ |¼û|ÑIá(‹ÀÇì³E Å—Žø8?ìi ²S˜9•ÜòÖnd%•º†QýkøNÁ‘E™’¾ì·cIß^³@!¯]ÿ ö`¡4vRíËVÄxJƒ±>0ð7ÀEaÚ÷lºã_‘4>ÇDÌè¯~§?¸™Å÷æt l¦†¦i—Â^æ3U¹ãéò³S1ÞÚUl„­½Ÿ +endstream endobj 1270 0 obj<>stream +)™Ôl؈ˆ@Iìgg¯_–žÔ`ó„Ÿ@™ˆ£:ã³UB:–)#Ni…ïœn]¶÷ÕwßÅÎ3t‚_g¢TCc¾v௑€4 +õ¬ú}2íã×ÚÁ°þLŽ•§&ðeR* &éÅu‰–Ø€BÃGj¥kóyT€ÐéºVvf»ˆ–RðSÞ:@ïSÿ¢û¬¤ƒûØ“5Þy! +ÅixˆåJÚÔz +endstream endobj 1271 0 obj<>stream +i¿PiPŽö +cë…çtvÌ”<î!ã#EfÒ/¶ìý»>n.kƒyž@4ÒåWê˜ûqf‘¤ÛC`ëô.2'-Ã߀â ñ•¶¾7¹ I¶)¨V®êÊUk|iK¦Ú]›Ÿl2r2ˆ×ü‹eëÙÓ£…pŠçÜb Ï Å +endstream endobj 1272 0 obj<>stream +ø{œ7KVùÂü+ä^ MwHy‰ná^’]¶äZc3Vä=÷ÿ$Îâ«J(1‚ +ZíÃÕ=\˜kŸ×—°œ5mqö±?IIŒš¾ÚYËÄtó °zYßœdé –Yì¤ÉIñÏݲÚðåo ïôæ/Ö¸ÈË^ÄÙö\ÛÂ!ýf5Zg( Oè²Hi…i•l±ýHŠJ§Ê´Ô¾®›…L»“â­âEדF¬^"_Õ]P•†fÔhe8+Þjò«#{Û.EVàhßé!o&¼ƒ´×>stream +z;4ûd!ú{ë¬;ŸðL«,䤀ÿtŽ™“–1DÍ} #µ¸ e#„ÄŒþ¡P„òõ÷:֛ϓ®)£œ47cÚ^i?×uUjÿZ5›S˜8Û‘•œ¶2çx4A#}$‘dÛÔȘPÔheÝ6D£Í–Œ­BºûºQ©Xb}2<7£7÷}?á Vàj÷eIÁÄÏü‘Ÿ›8ÓÀ\iŒ0q#³Á«þ%œÙ6n³ÇðÕûU×Læ‘2ýˆÎ×¼?Ƙ³±3žä´ùu‹qÙÀVÀ”óšU9mü])È™gvg‹Ã4Ì[NJ|8ÙÿéŒòÁ¡ˆqtƒíÓ?PO›–¾Ç + +endstream endobj 1274 0 obj<>stream + ›8e†dHén€²=Ñô;tÖ¢Aoí+…Ak·oÔIÍ'Ϻ"9³Xsl³1ßñFq§À¬Q4eÆÇ 'H“¹:ãâŸÑ°S5ÕŠEøÎ+gžGCLªú—t,„¤ø±¨ølCÅÊl,w%0Šü‡? +¹óãõ®áº9úÌ?€»Ã²”ißê}@R¡F¹²ð Ø!3g +endstream endobj 1275 0 obj<>stream +ÕŠ7P{£Ý¶5›ˆÁä2ಌe’¬ùÍZ«‰Wù½r•4¾!ûP2´Ý›%¼+Ï­³1fD¼f¥4MÍ™K¥»¾ó¿Ž ò]ïÁøÓÉ#«Ìµê¢1/!Ç CPV_båmíLÞç%N%¨‰«é»ÀW¸z{aóPÿgŽ~wïÁ¾>stream +^@‘—xÇà&É©%W¯üà,¨R›^>˳¡¥õáÞÔ½¾çlË*ÂUÉè¹ärôpiü{HjZFF¾"|¸ÿYV÷(GøócŸiºÛ Ÿ¸…;£¾aßñ ^3&†CmÜsð²ìY@;@pÖÁ° Ö@À–ÂÍþÚ6ƒªl-ž!7+µÎñkV77A~¾û¯5Îd+éaªa´Áw¦ñø3Ž¶:Në/D UM2~·°ãìOmêY¶r$?·=ÃÌVWa^„Ó>÷6Z +endstream endobj 1277 0 obj<>stream +M¥ ¦êtË>©Ä X°‚Áß#›×•Å“™Ø“ÍŠ¦ñåR¼ÐU™ÌßåÎ+d-³…´"T„?D)jrvºðKúœ-ƒl]&Õ};À÷,¡9Lî¾p¥ƒN?§2[ ß÷™ {# ì•ÒÙ›R¤É;UìàÕÎ×ÏÅñÛßä¯goÀ Ž~9É"÷_á©Ë*ºQ#ŸGI–K§3 q6‚èôðùÞü¶£é”Ù3N'sÆMgQ‰Y¯\Ýíix*¹SUþŒÛFÔ LþÖä¢A(³Ý +endstream endobj 1278 0 obj<>stream +Ç™Ôn.Mn¯3h|I•¸òî+È?Ž- %¢‚ÜÕOà.T3‚´ª¢•B5T¿4ë(85s¡²¶‚H‹©÷ ˜$áÓ`Â÷ã„aÖ>å²™Ý1OóÞn»¬Ò\ßÆV]‘ÉŒ­IlÉ–Õ­Ò—ÝÄèDuýVpÎC=ÆЉ©Š…™¿ŒKÃznzýÌ®¨á+stwJjà›j]šëè0nOAd;ºGrb_øƒº¸ +endstream endobj 1279 0 obj<>stream +ín^–Ý1ÓYS?|À¸ê°¨RÉ)±Éäÿ«¦v+wj÷]ÎxØA¾¸àž.šO˜¾àþ) /å׎°ÝFÃ<@äUž²hÜÅêkÎ×ç\qOïÚØ©­¥P4C$±Zë@Kÿí°£ÛÚ8è dÑù‡QïÑ0©âú²_Ï>stream +k÷8-N ö„¡ˆ–aÝßlƒ)aûÊ7_š£L²þðÞêšáׄïˆr4fÒ;ÄF8",IÔ÷FŸ…¹ýÜgÆB„£2©B2äÇb¸q7P’@Ú7N~Æ!>V +‘E!ÃL)?üÏÆ<xP+X¾Š…[Ž{7²i¥ÌcbheHoÚ½À.hëšgEŠ å­8še–#só6ƒÈ~9XŠvÜgH¢øœ%Ðþ}PÜto“…7ü€!;[ì瞊*Y‚Îl±[ R«`{³Ô!KC'îÞRÝކ؜|ô +endstream endobj 1281 0 obj<>stream +‚2Ç[¤2Bãe+ p¬¥¬›E¡›‰Bô-ç`À¦îw iÒÓ@¨ø¹?b™è³œ›¨Ç#84xçþx]%øž›tgж‚æÜJ¯F§Å,IŠ·¾O¹aN\¥‡i-O¦^“:h`ãß`ƒHƒü£ûjÃíLÈÒ鵃¨¸±GLzß.ªáç—}Ê Æj.NÍÓ9A÷Ð׎£õV¡©–D+è_ß1Ô tóý»_× Ñâ ã ²(¥˜ùž¿hÕ® +endstream endobj 1282 0 obj<>stream +öÛýA9‹>QûdB&Ú X"õP‚JoëØ¿A³¢­ÏUù¼…ê›|žå ŒÀ:bž’G(Ÿm@Ù†L–š¡Q±Æ›”·@¥—)P!¾¸f+A‰ÌO•ò`¸”’†ú× õŽfUXJaW§ÂšéÈu:ÒôZÂÜ@1ŽrŽˆzÚ˜K®5!ÔI)ΞÂQ#휩;–<Žh¡3_ùL¿v3Pߣ+ÌZŒihûML”P:Çý *GKçMq•Ÿ·±r—!&æúspøEžÞ;fãùŸ/~—fÆ“3C +endstream endobj 1283 0 obj<>stream +K×ÔÜAs|åµÂgTbí%ô;lò±N"`“»EÀnz? + éµÁ¬Ê±”ö3<ëaïÅÿš‹–#fªxjÌÇ:ú]ãea)ÛZ¡l[tÖ²§'æQRkÀìÚüÅ2Ó§ÏÀu0Œ‚{ ú„ žî‘XÀ·uàdV¥¹'«‘_;šiT “#_õuÐôzôåHžGtЈ‚¨þÂ+:õÐoè¥×ü“,–`jÄ“‘OaXø­hÓ•jìTñp2šþ|ø€bÓÚjÃb:¥J&ãk÷’ÂåOü$éµááìŸ9l{D ,!õ§!ÄŒ1ô€{V¯¡{ +endstream endobj 1284 0 obj<>stream +©h’ˆ^ºsÚ ‰º§a=퇂g|7AØÞžV +1¯8¿IŠ +ÐÕ™^Œ¿ŸDsåiØ8¾ËÉ’M"Ú‡/heA=sí´ëüuâj‹—)À›/D W®®AlnëÎô)gx²ä²Ýú%'‡3׫¨¾=šØtO¹‚V}Ônq;k¦Ýè™Ý!¡{1ŠWkŸlNV_Üîý5& ´ &ý:ät"$‰²,—®)&3°*‹M “WÖ&bÖñ}‘”q¨íþ7 ï—3¡J G=É·V©ä =??£=’Dý솪 ݾï0ºýܽ¤9­[Q&òzíÕ¬0¢t¿× +endstream endobj 1285 0 obj<>stream +–Ô²H·ø…¾S©ÿ@ÅÁóŒ;Kö‚{dïÈØÊrc“#ÁTî`5¬V$êº]ß‚½$ßËÖó,*ÝðëŒcI[Ÿþ¥=F× &r8ÒKhNôód•c5"0.°c¶¨Ê4Eœ$µ(wD}K“T4¤z²hgÅ°÷¥'nê¨$j$d EÚ~ïâ]é],>¤™lzÍÚœ‡Hn7-‹ü°­ªDt<ü£xå¦w÷·=höfªöaªÍÅÖýO5%ÿ¦Ö›<²0O“é”®÷0qÀW+ÞúŽå¡”Ûu2ð$ß0ˆ´b:œÖëÞQbO£:ÒŸUD-)Cʱ'2ÐíóVF¢¡ +endstream endobj 1286 0 obj<>stream +U!TÒ3¶Æ:ßÏ©3ºÀö´j@~ÍbVŒ!gÕØ’þ¹d¾îŸF±Iûá8÷yJJãUš‘«ãö·ü¯ q¥`íÀ¼Ë¯:™ô ?ãÝD„ª:—ÚÊGôUéÈgEèðÀÑŠG¨3[~eú‹½6ê²wŸ¸PŠ ì-%o®ò磞‘`~²ˆ™Ä0Ë0dkBfüvCWGIw¼í3ÙºâúÞ68—³.ú¿·jd.|èf˜áGiù]ØÁ6‘ñ´(ÇèK¥mS4#ΰoIB8“'yî¾qÊgÑeØ•€OÀèÉ@•ªÑe“§ŠnÈ+v9`ý´O+%Y‚_ñ®;áçcrùØéù^Ôh ¼QÙõߢÒïàûÄèüŠ[ Út÷¸SÅ +endstream endobj 1287 0 obj<>stream +Àf‘&Ðb› ,}¬˜ +‚àí5ƒ—´Ñ,Š–K)ª Ç ©t`Èå^I*Jw‚<«Áãß½Œ#ç8 +j]níÛî{Õ³¼>stream +8æ(üJïð0=¹aÚ&ÆË÷Ðê‹MÚõù³©bã«ø{D:fvå²FÏcÀÊêEë]…L… y­¡›ÊK‹"¥þä¼~áÚmy©¨Ø*RýNã›åaæuœ~K|ÞÀ ÚÙ§ÀÃÑÚFî=ùq*;‡ˆW¸Ÿ0„ïéñì(*ëø¯§LÕ`sí¹1R{µB¨l%_g¼dp(@`u ùÏíƒzδì- +¸x§»¨ñv=‡cR +Ï`Ïé &œF­Ñ”Í`1á¾îp­3Ýâ…ª¦$½úø]ë‚&£óB%-Mcözª.4i4T Þ +endstream endobj 1289 0 obj<>stream +zã +¿ ÒI)ý½Öj‰ýp7Fö{XÝÃÛÞJs±Ðž¡Š”RáXjpÄZâøÏ*ÒÉ‚MÚR>Þú/j`JNÛa#"³Ùß«ºN 'z=Õå0oßÌuàò;! +,™£û Øá¬H†õO@QÍðÇâ“–lĵë>stream +R½òÙMl³¸ÏHÔWÕóa:ëTµàÔ÷ŠJ¤‰° Ûû²ˆ~þþÉ”O‘õ›bÉjÕI¯.qMkë†ÁZü¾EMï:ž®Z¹%-½ vÜج¤›¼ÙQÖPw‘ãm 0µ®‰é»%A¶R&ÿúF åf'90ø\›3Ÿhí¦,OŠÏp$§R®×ŸR¥i<8VÞ=ßMÃÛæaK£×Ø*GU†ê‘£NX®A·ç‡«ërMëa BUÊdI{‡RÊò“}%ÒœìK&­4/b A{þpõð²©ÉÉêvá3º•Ý°3óÿƬVF³L²Ï³XþmŒžÀ8÷UÙðïz?Äähz„ÃEîåe+'g +endstream endobj 1291 0 obj<>stream +¥°¿«÷lSÄB¶Üª¦åíõO;„Øöê ÀÍfÞ5,iŠj0²œ#ùÏÐ:Y]ÿðdæ¦ 7È?‡Œ»Ÿr +ûã©Db²õ­‹x´è×2ÑŽ¶¢bòf–çMÆ*âu$…h>íXÍD—®È©ÃîNOԈᩴº40Q-¹ol +Oçÿ ªÿ/u¨ê‘ŸùÁDÖ¤ÚÖ š–ÌP…IÓŠ +yºCH¤‚tƒw¢áŠ>7Øž© "m †uíàÝ‹á{ë‘°÷M‡{‘06!ê+<¦Ù®mV‚l ÊÞÎœ¥ uS¦ÍpæÏ‹¯‡%«&± +P@GtXwÝòKa¢D×Ïž¼œ„:ز..·ŽÜ·þ €ý +;‡TdµÚ}ø +endstream endobj 1292 0 obj<>stream +²0XÉ*áEZÆXm8”!å”—e• ŠÑ×C=æ¾²x$vžëvߺE1Æœ©Y‘í[e»âß®%¾ò+Þäm†îÛˆƒIgò‰ÃsUË%Ï ãoŽ[¿ í’…¦°ÊI('!öÉL5Y5¸›UGø'è`ùž¥uzø±n6]C9¡úõœÏ Âs°òþ¿ø‹>X,+Vxˆ˜Ê±,fn-䞟+Xliâ¡Ã"Íþ¯£ˆåüŸÞ¹ƒ€ +Jñ©r‚ïõàÅš¼Çxaé”ÔL>+Ukß4ìØH6ï÷ ÖQ™’Ø`½”äºøV²õ!lnû26xALR`ùR@h?ÌÊJ¸Òî$¢ˆ­£×æEUàWË(¢gƒ7ä71UöDÙrŸ´¾š¾¢ +endstream endobj 1293 0 obj<>stream +$P •:@¸¯:zÑ$IDìÎX*ýø„µÐ´×h%þçWžfsžÒ•Ëø*‘Ý£"¶glÄå'Ž‰/^(È‹.õ f=;óhqòÔXÖÄ’?„½+Òëe2p®‰‹Ò½‹ÎqëÍ ±bN”ŸsQÃõ©%]8¿ô®¯BB¯I_ëÑo;vaf—†zleC™«îzÍãq „b8x©Cn¼<¢JZôBäôÛºK2 rœ‚ìEòFqîÛí:±•n±ƒ4šÊÁNÉl#–YÄí´Ä·þ +endstream endobj 1294 0 obj<>stream +$¢µŒ¿Däð”X~&PvÇãkB¶e…XX[œ¼4ØŠ +I(©’`têëe^ÙD¥Â“«Þ”Ɣ϶É)“Ç»¸Ín0N¼ªGBÓ»^QÏ®¢âº75ä¡«?k7"cz¥ö±1¥µKœœÇÚl´gÆhÕñkïZVš4:§0Ö?e™”äàìhΆ¡{ŒÆØ(­"P»i +endstream endobj 1295 0 obj<>stream +ÂêÁ“ ï,2Þ§×Xž‚³ ô„5Î׊ƒ9O1A¥Üýn"Vɇ'† kœtȧת¥Œéº“ ñTHvzL‹¢ÎÉñ¬–ß°äR>Wúˆ‚ÇX` b5§1§çG tkÁÀ¾”¡sïÓ~»Mvž³, +?Ä sÙ§± 8Usƒ£¼pg_ùÊ-¼H¤T ´@™j¯Áòleqw^( Ä Ö‚Çû|É,F/2)0oÏè*¦ñy;ÙyeŸnøï Uõƒk@ç~’ +endstream endobj 1296 0 obj<>stream +ÌñR^¼Š¼Ð"e0ˆÕ˨Þx£¢†ŸŽu<¼Í`Rjxõ†nX_©Gi®Ò!´°jà#®¼f¼zûê+û2Ó3 èõ¦,6r4Gî>… JYþìF9 ¢nÇ®bXºç›úÒâh20¬c™ÙÉ@¿MhתO– rÜ=;³[’éô7TicIAõ~E”žŽ’ ×~Š‚E"u¡@:ÀëT‡h‘E?ð¸ù´´½ì)´¥f‘mÆh‡™rVUéòÃZ½è ƒnu7é³ÂÈŸÏ_¼ÅÜ» x³Ø®ey‡Ê‰CKA<Š6|-Ï? ¤ûaÞ»¦“ÄÚÕ ‚á.Lk@ò +endstream endobj 1297 0 obj<>stream +J`5ÜÚÝ1˜þ2¾ m¨BxÝ“-µ6%$Ò†šw.OÀYícOæ³`kIóË/`kS4Àv“0­¡‘riÞ1{Ð`i€Êoúµº>ýZ>8 L˜O·K’³NNºì‘°—àt®Ï· åYB}LR®ÈoàušÊ¼=Ê,6ßæ☷Ü'öÓY®¤¶Åno>£áŽ¨ ¬Z9‘¼:Êû]–Z?û÷‰àêhÝ]e3†tçö±í&K6KÞÒø‡ñÇùuá€ÒÉ*º¾eä» +endstream endobj 1298 0 obj<>stream +€ù?÷)BÁÖE¡…By‘~Õ÷&f‚!ûÍÄ£ÂyWdLÍï„Èʹ½Œþ?ûXg—GÚ±Ä:lBØ\7keÆðsä9ÙS¼ºL÷N æ{ –öó7â€g\–üdôR9)b>¿‡íc í7dëF¾•°QDNBúãBNèlÉy@:P¥v™Å cµxôòè€ùÁ­gŸ‘ýÅŸ5@š)hwÊ7ЙþÀ'¾{ +endstream endobj 1299 0 obj<>stream +¦hŽ@[I»”ÝÙõUdj³+ Óf¼ïzìEéòqe +ºˆœÊ¶%Ë× ÍÀþ·àiÙ”Ü=#…5Ó †]üÕøœ™V#‡°,•ÑÊò^®’ +P„²>|c±0ÙT‡3MKUç,N"rtzSJÝà@—Ç + &v"Qq4ËHú¼ä_{ Ox3êßô*c”€œ<ç XÛ½‰ÅÙ]- +[odt¢ã?ˆiÊ:A +endstream endobj 1300 0 obj<>stream +ÓÅgB!~ÇÆH$4ŠÝ™Øc‡™ ŽE® +ÛáÇ´™8Áý *úI¿qGi WFÂÜ#¨$¼3ѾI~1àÂhÃ-/ +ÚhÛÊõüÍ¡F‘¯…Á\‡uU5ÔeÐ"qV½ð1ˆ+:ŒÓµ±xé-·›×+V<ä!\êb… ý ccø´êú\·žS¤gÙ!s­ºÏSz\®Í\ð[æ|ˆç'õkAÅÿ$þú/“Ë¸Æ {) Q//JÔ×»DKÅߟx§émN FU nF«ÖQ_A¯Áý{ +endstream endobj 1301 0 obj<>stream +}RúÎ]ú#’Wº y›t]ªèw+‡¢¥º -dôHŽdJ—Jc=‡EfÝEž;J´;ªIE¨HøÒ%ˆ˜D1Ý”Øü•å‚È~#‰kß £Æ¿§Ž8Mœñ6ªvvIàÇçrR>stream +Ž$M½²f_~t°dkT€œ±­>þR‘Ç^®û$ߪø¾,~’ùúp¡f/ÁEãD8c“Ÿ|5*Ä æÿÌ  ·j¿(´µF +endstream endobj 1303 0 obj<>stream +yý§Têo(%ä‚ë¡Lµ#Zpz Ó§ÿËŒ2W€œZ+K¡óFÐ5À•É~·§×¿ÚPfV‹îÙ¶e,&â ^(²û±R˜ÚUM˜FqÈ #ÛÊŠ>ä–qMÒ>½>µ„ü¢Ÿ¦¸ç­¨1oìn¾ItqoVÈ$‰ãžÖíß1Ãu±hç1ÝÚ® +endstream endobj 1304 0 obj<>stream +C~:¡xÈ&žONcä¡•ž8‚ÊrÖ#z D‹þ/¡ ‰£´õz’›Ú­œüˆ}@Ðe!YUŠåÚLµ˜°c‹1åQeÄXE-Áêñ}Ò£Â1)q¶r1” ›oˆÅƒg«©ü›IQY9#ÀÍ¥e§Wá +ë#ü’WŸk*iÜíÏrž×r™fLI°‘âx&™¤½YBbïÆ +>9±¤·¡7ï?äY!ú÷ À#ö“|ðzRÌì=sk?/ž«ÅR¿Z7½.ƒûàkKðÚʸËq²C§Ór¶¡’Ñõo”íøNR¾paÏÙOÛrª|a¾¿ú]uì]MûïáLÏ­bìí7îÐàºpKD`ó]ƒ©ö#á|Îá6—Â}ÊÈÆÍšÖ©,È‘´Vc38·BzÇáR?n¤á¿Ia“÷Ù +endstream endobj 1305 0 obj<>stream +t×èç%úò ¤ØÑþ%7û.r`‹ÒŠ·z׆KOÉVµ‹„÷‹ÆÀœèÄšdÈÞrÍF*šæ¨Rî²Åð-Þ=u}`sÚIdû]„~z—{öüÆdVu3. 9#Ô ÷gÕµuŸrmtx 2ÂSìl7+@ÉúÁ ðï\÷Í1í¿íñ0›CâQÁˆo5U~ÝÞTs6îÓB¹`‚¶u…˜ÜCÐ8Êb~™—‹ÊoʆBþ¬Û·ñIRˆ{Uy\Z&²4{]1%ï¸ÊvþbHhä8?gZ‡A1$z%ä‹?ÔþŒ^H,ž¶h½ü¸âÛÓ6cÝ¿µ¹5ì?áí 3†Í.ùÁè *…´C£03³…+d +endstream endobj 1306 0 obj<>stream +ä“ ì0”í{)ý è™GcëÏ»ÿ»’/=Ä´Û0Æ÷ÐÎñPà±…_—ég³ÚÒÖB$¸Ÿáï^8qÀ—¿:îs­ëI‘ôv¡¡_Dp€1ï„ñ£“Cë»~ÙËR`,S%‚T°P•8SO †ó¸0X…P±Ô… ߈١ÞW0”ÑÓWK©I–ZîSæ{áþ]îÅÒ~Ä +endstream endobj 1307 0 obj<>stream +tC$¸§yR_„Í»…±y?Í4þ¢´ô¦ØŽà½ö=MŒFùCänqv=rÕÉŠË×5u(óaº6;Ní4,¢‚KTzX ¶‘È·L©‹OTZ¥f sK¡ ‘°é:³u0¹±ŽÐ…4Bz4;ð×Ú™à°ò€÷:£ï<ßìt.Á‡ØÍG.$ +Ë[Ã{‡ž~ç¾£RøžÖ± Cí5žãKAo^…­=¥Š÷¥+üñ´™fxrUOb,‹z3<Þ¶‰nÆ•¶y+¢-ñ\ñ5cïÎRy%A¹g#QÚØp*2&‡XS_CÙ0]œ=>¬¨9à>jýWOà„ŸÞOGKÊÇظo˜›ùˆ í»øö›îB›9]h«-nU8GOD| +endstream endobj 1308 0 obj<>stream +QÒ¯–i\ß©’¾¹t®Ü›¯8Ÿ„å´Ù€}HzjDOø. +#“~.]…ÕÈV ¨Kž¬´OÕŒLQïµl¤àâ.¶Õúüšs[qáRX8ø£ÕVŽÞßglè)ZMâÙ2dHæÀ#JZv–ˆû%³¸B̽½0[—F;UÓNfñnÞÏ‚ÿ¨¸£Ê¯Bd Ôù\ío²·r i‹†b5:œ?îiË%ö³½‰\Œ­ü·ŠÌñ-†¥ ‰Zn±€ô´hëÕÚÚþ¦‡(xV¥`o«1a–“a¬ÃP°O¿Ï¸k#–©@:.ê×ËÛ}vÓB$­¸yKÁÁ¡]‘yS„SKKÚ:«t>6yÀ~¸Ê¾,‚¾@†4±úÖŒdD –Ÿµ×8¤µZV 'vÑuë°½*,ñº åÖ¥¼BK¹‚FpÍ`Ø‹šòSÔ‹—Ë×YöÇØڒؾýPõ]È”5péY°ÂÞ ÈLÝËŒgžÛ +endstream endobj 1309 0 obj<>stream +ÍS)Ò¶ µU•!¾ v0Ÿ¸uiÅŽå +î£ +q¨ìÀ®«|Yz½V¥ ð[ý´:XúõºKäH~^&îâÖI†Zì‹iû°øëm@?ô…¬e¦SaüÌ{V™˜¼;f‚Gr!ÏЪ 2<Ëû`ÒÕboc9™”›ÎvEú%B-ÐQÃäçè›ñ&½Î'ÎÚíÅ´<·Óž3Uká(Ž«*Y¬NwÖ”Nù|¯ž½,,\n¤eÜ'^Zm«—<(â©¢¡W‚ +endstream endobj 1310 0 obj<>stream +Ù1ˆ¹«0nuË×`BõqÂÙj¬`n3ÌZÜþ ½UœsÚ¤Üá….ÿAS²<`ç s ÈòU¨ö[úŸ¹â"]½Üƒ õrÕ“ Š;Ãoô¡øðô• "Ѳƒm¾¥Û. +€zÍ(9QùžGO¿y4ˆâWI’€½’·´Uu£è¢ÜG*úâX(¦´cÆøÿÂD}cÑ׳·am=G2?+9¬Q ´Ÿ¿æpÔ¥*¤à½xK&’th×ÙhÃ_ +®•­„Ž°éÐ:Æ\cïéë/r×ÿ€@ŸµÔ +endstream endobj 1311 0 obj<>stream +€$hWSƒ8؇ˆ¸õ§ÃâJÞ`Ì2™- £K‘BÇÀ;`6 жøó”¿G›ß³¢mùË#€ZOÒCë~ ñZ¥>, xX·'˜Uâ»Nf×LÈšMpeü»* +endstream endobj 1312 0 obj<>stream +«s%(Ü>«ùÞþ°Žfâ€AFîX\R°-¯þŽW=ú!ôÈ;$$©ò +Yëçûæcˆ6¤ô¶éP:ÖŸ}deUŸ‘ÕØÓ‹”3Åb§lÁžûh„ +endstream endobj 1313 0 obj<>stream +bCDÑÆízÌøBhB7_­ÔIÄ—uK[»©tíZM™’Jj‚+gžÑ7Zún…ÏÁÀu\¼Z'"®þ¡LW)¥glø€#ÓŸ7ÈQ* àÌÑGHøM“ÑÁ7CÇSkåo®ÐÎg9اj_ ZŠŒ +endstream endobj 1314 0 obj<> endobj 1315 0 obj<> endobj 1316 0 obj<> endobj 1317 0 obj<> endobj 1318 0 obj<> endobj 1319 0 obj<> endobj 1320 0 obj<> endobj 1321 0 obj<> endobj 1322 0 obj<> endobj 1323 0 obj<> endobj 1324 0 obj<> endobj 1325 0 obj<> endobj 1326 0 obj<> endobj 1327 0 obj<> endobj 1328 0 obj<> endobj 1329 0 obj<> endobj 1330 0 obj<> endobj 1331 0 obj<> endobj 1332 0 obj<> endobj 1333 0 obj<> endobj 1334 0 obj<> endobj 1335 0 obj<> endobj 1336 0 obj<> endobj 1337 0 obj<> endobj 1338 0 obj<> endobj 1339 0 obj<> endobj 1340 0 obj<> endobj 1341 0 obj<> endobj 1342 0 obj<> endobj 1343 0 obj<> endobj 1344 0 obj<> endobj 1345 0 obj<> endobj 1346 0 obj<> endobj 1347 0 obj<> endobj 1348 0 obj<> endobj 1349 0 obj<>stream + + + + + + + +ES 201 873-1 - V4.3.1 - Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core LanguageMTSES 201 873-1 - V4.3.1 + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 1350 0 obj<¤kà6Ýzé €¯ãVÍÞ)/Creator(†¬kW~îlâ]“ÿÐú™ï)/Author(Ž¬k)/Keywords(®Lv1Ùfÿ_ž²‚ެȧ!£UÑ’qh|ÓôNìÆ)/Subject(†«,nŒ\)U§ ʯ‚¾ØÍ¿/ä“)/Producer(‚›Jq<Ü}MÔQ”êËÿ”þù!ï“È\(&3¨½*~ÀÿÒÞ)>> endobj xref +0 1351 +0000000000 65535 f +0000081644 00000 n +0000081813 00000 n +0000081937 00000 n +0000082086 00000 n +0000082239 00000 n +0000082388 00000 n +0000086133 00000 n +0000086276 00000 n +0000086436 00000 n +0000090394 00000 n +0000090540 00000 n +0000090689 00000 n +0000095250 00000 n +0000095396 00000 n +0000095556 00000 n +0000099708 00000 n +0000099854 00000 n +0000100003 00000 n +0000103797 00000 n +0000103943 00000 n +0000104114 00000 n +0000108045 00000 n +0000108191 00000 n +0000108362 00000 n +0000112053 00000 n +0000112199 00000 n +0000112370 00000 n +0000115381 00000 n +0000115527 00000 n +0000115709 00000 n +0000118857 00000 n +0000119018 00000 n +0000119150 00000 n +0000119322 00000 n +0000122455 00000 n +0000122616 00000 n +0000122745 00000 n +0000122895 00000 n +0000128115 00000 n +0000128261 00000 n +0000128411 00000 n +0000132130 00000 n +0000132276 00000 n +0000132437 00000 n +0000137838 00000 n +0000137984 00000 n +0000138144 00000 n +0000143557 00000 n +0000143703 00000 n +0000143874 00000 n +0000149812 00000 n +0000149958 00000 n +0000150141 00000 n +0000155208 00000 n +0000155354 00000 n +0000155515 00000 n +0000160035 00000 n +0000160181 00000 n +0000160354 00000 n +0000168381 00000 n +0000168527 00000 n +0000168688 00000 n +0000176603 00000 n +0000176749 00000 n +0000176933 00000 n +0000181798 00000 n +0000181839 00000 n +0000181895 00000 n +0000182030 00000 n +0000182063 00000 n +0000182344 00000 n +0000182490 00000 n +0000182663 00000 n +0000185599 00000 n +0000185745 00000 n +0000185918 00000 n +0000189138 00000 n +0000189284 00000 n +0000189469 00000 n +0000194963 00000 n +0000195109 00000 n +0000195328 00000 n +0000201460 00000 n +0000201606 00000 n +0000201791 00000 n +0000204521 00000 n +0000204667 00000 n +0000204875 00000 n +0000210088 00000 n +0000210234 00000 n +0000210442 00000 n +0000213876 00000 n +0000214022 00000 n +0000214230 00000 n +0000217668 00000 n +0000217814 00000 n +0000217998 00000 n +0000223191 00000 n +0000223338 00000 n +0000223511 00000 n +0000225641 00000 n +0000225790 00000 n +0000225976 00000 n +0000230026 00000 n +0000230175 00000 n +0000230372 00000 n +0000236288 00000 n +0000236330 00000 n +0000236388 00000 n +0000236549 00000 n +0000236586 00000 n +0000236735 00000 n +0000236920 00000 n +0000241388 00000 n +0000241537 00000 n +0000241786 00000 n +0000247101 00000 n +0000247531 00000 n +0000247573 00000 n +0000247633 00000 n +0000247894 00000 n +0000247933 00000 n +0000248217 00000 n +0000248636 00000 n +0000248785 00000 n +0000248959 00000 n +0000252534 00000 n +0000252683 00000 n +0000252857 00000 n +0000258000 00000 n +0000258149 00000 n +0000258323 00000 n +0000262722 00000 n +0000262871 00000 n +0000263045 00000 n +0000266087 00000 n +0000266236 00000 n +0000266398 00000 n +0000269515 00000 n +0000269664 00000 n +0000269838 00000 n +0000272462 00000 n +0000272611 00000 n +0000272797 00000 n +0000275481 00000 n +0000275630 00000 n +0000275804 00000 n +0000279263 00000 n +0000279412 00000 n +0000279597 00000 n +0000283938 00000 n +0000284087 00000 n +0000284273 00000 n +0000287834 00000 n +0000287983 00000 n +0000288157 00000 n +0000292635 00000 n +0000292784 00000 n +0000292969 00000 n +0000296858 00000 n +0000297007 00000 n +0000297181 00000 n +0000301732 00000 n +0000301881 00000 n +0000302043 00000 n +0000307347 00000 n +0000307496 00000 n +0000307681 00000 n +0000312470 00000 n +0000312619 00000 n +0000312816 00000 n +0000317166 00000 n +0000317315 00000 n +0000317513 00000 n +0000322377 00000 n +0000322526 00000 n +0000322746 00000 n +0000326966 00000 n +0000327115 00000 n +0000327301 00000 n +0000330999 00000 n +0000331148 00000 n +0000331368 00000 n +0000336383 00000 n +0000336532 00000 n +0000336706 00000 n +0000339035 00000 n +0000339184 00000 n +0000339404 00000 n +0000344758 00000 n +0000344907 00000 n +0000345104 00000 n +0000347772 00000 n +0000347921 00000 n +0000348106 00000 n +0000352040 00000 n +0000352189 00000 n +0000352363 00000 n +0000355634 00000 n +0000355783 00000 n +0000355945 00000 n +0000357726 00000 n +0000357875 00000 n +0000358049 00000 n +0000360965 00000 n +0000361114 00000 n +0000361288 00000 n +0000364683 00000 n +0000364832 00000 n +0000365006 00000 n +0000368667 00000 n +0000368816 00000 n +0000368989 00000 n +0000372743 00000 n +0000372892 00000 n +0000373077 00000 n +0000376918 00000 n +0000377067 00000 n +0000377252 00000 n +0000380196 00000 n +0000380345 00000 n +0000380530 00000 n +0000384685 00000 n +0000384834 00000 n +0000385032 00000 n +0000388811 00000 n +0000388960 00000 n +0000389146 00000 n +0000393701 00000 n +0000393850 00000 n +0000394024 00000 n +0000399310 00000 n +0000399459 00000 n +0000399655 00000 n +0000406003 00000 n +0000406152 00000 n +0000406337 00000 n +0000409126 00000 n +0000409275 00000 n +0000409460 00000 n +0000413822 00000 n +0000413971 00000 n +0000414156 00000 n +0000417874 00000 n +0000418023 00000 n +0000418208 00000 n +0000421919 00000 n +0000422068 00000 n +0000422288 00000 n +0000426977 00000 n +0000427126 00000 n +0000427324 00000 n +0000431405 00000 n +0000431554 00000 n +0000431752 00000 n +0000436268 00000 n +0000436417 00000 n +0000436615 00000 n +0000440006 00000 n +0000440155 00000 n +0000440364 00000 n +0000445656 00000 n +0000445805 00000 n +0000446001 00000 n +0000452405 00000 n +0000452554 00000 n +0000452774 00000 n +0000458440 00000 n +0000458589 00000 n +0000458775 00000 n +0000463353 00000 n +0000463502 00000 n +0000463664 00000 n +0000465619 00000 n +0000465768 00000 n +0000465930 00000 n +0000468714 00000 n +0000468863 00000 n +0000469061 00000 n +0000472098 00000 n +0000472247 00000 n +0000472445 00000 n +0000476878 00000 n +0000477027 00000 n +0000477225 00000 n +0000481185 00000 n +0000481334 00000 n +0000481543 00000 n +0000486406 00000 n +0000486555 00000 n +0000486775 00000 n +0000493085 00000 n +0000493234 00000 n +0000493432 00000 n +0000497350 00000 n +0000497499 00000 n +0000497697 00000 n +0000501658 00000 n +0000501807 00000 n +0000502004 00000 n +0000505990 00000 n +0000506139 00000 n +0000506325 00000 n +0000510160 00000 n +0000510309 00000 n +0000510494 00000 n +0000514922 00000 n +0000515071 00000 n +0000515256 00000 n +0000519544 00000 n +0000519693 00000 n +0000519844 00000 n +0000524157 00000 n +0000524306 00000 n +0000524468 00000 n +0000530973 00000 n +0000531122 00000 n +0000531319 00000 n +0000534974 00000 n +0000535123 00000 n +0000535321 00000 n +0000540182 00000 n +0000540331 00000 n +0000540551 00000 n +0000544996 00000 n +0000545145 00000 n +0000545343 00000 n +0000550895 00000 n +0000551044 00000 n +0000551242 00000 n +0000555136 00000 n +0000555285 00000 n +0000555482 00000 n +0000560527 00000 n +0000560676 00000 n +0000560873 00000 n +0000565250 00000 n +0000565399 00000 n +0000565585 00000 n +0000568650 00000 n +0000568799 00000 n +0000568985 00000 n +0000574009 00000 n +0000574158 00000 n +0000574367 00000 n +0000577086 00000 n +0000577235 00000 n +0000577444 00000 n +0000581711 00000 n +0000581860 00000 n +0000582069 00000 n +0000587655 00000 n +0000587804 00000 n +0000588013 00000 n +0000591434 00000 n +0000591583 00000 n +0000591769 00000 n +0000594050 00000 n +0000594199 00000 n +0000594373 00000 n +0000598500 00000 n +0000598649 00000 n +0000598823 00000 n +0000603018 00000 n +0000603167 00000 n +0000603341 00000 n +0000607133 00000 n +0000607282 00000 n +0000607467 00000 n +0000616194 00000 n +0000616343 00000 n +0000616574 00000 n +0000620113 00000 n +0000620262 00000 n +0000620493 00000 n +0000623987 00000 n +0000624136 00000 n +0000624345 00000 n +0000628199 00000 n +0000628348 00000 n +0000628499 00000 n +0000634713 00000 n +0000634862 00000 n +0000635060 00000 n +0000638036 00000 n +0000638185 00000 n +0000638383 00000 n +0000642312 00000 n +0000642461 00000 n +0000642623 00000 n +0000645148 00000 n +0000645297 00000 n +0000645506 00000 n +0000650772 00000 n +0000650921 00000 n +0000651119 00000 n +0000654339 00000 n +0000654488 00000 n +0000654674 00000 n +0000657277 00000 n +0000657426 00000 n +0000657588 00000 n +0000664132 00000 n +0000664281 00000 n +0000664479 00000 n +0000666929 00000 n +0000667078 00000 n +0000667276 00000 n +0000672059 00000 n +0000672208 00000 n +0000672417 00000 n +0000677941 00000 n +0000678090 00000 n +0000678299 00000 n +0000682283 00000 n +0000682432 00000 n +0000682618 00000 n +0000687096 00000 n +0000687245 00000 n +0000687454 00000 n +0000691849 00000 n +0000691998 00000 n +0000692183 00000 n +0000697346 00000 n +0000697495 00000 n +0000697634 00000 n +0000704872 00000 n +0000705021 00000 n +0000705172 00000 n +0000710428 00000 n +0000710577 00000 n +0000710797 00000 n +0000715141 00000 n +0000715290 00000 n +0000715499 00000 n +0000719462 00000 n +0000719611 00000 n +0000719809 00000 n +0000724062 00000 n +0000724211 00000 n +0000724420 00000 n +0000728141 00000 n +0000728290 00000 n +0000728499 00000 n +0000731920 00000 n +0000732069 00000 n +0000732267 00000 n +0000735879 00000 n +0000736028 00000 n +0000736214 00000 n +0000741206 00000 n +0000741355 00000 n +0000741553 00000 n +0000746362 00000 n +0000746511 00000 n +0000746708 00000 n +0000750286 00000 n +0000750435 00000 n +0000750633 00000 n +0000754410 00000 n +0000754559 00000 n +0000754757 00000 n +0000761968 00000 n +0000762117 00000 n +0000762301 00000 n +0000769054 00000 n +0000769203 00000 n +0000769399 00000 n +0000775269 00000 n +0000775418 00000 n +0000775604 00000 n +0000777777 00000 n +0000777926 00000 n +0000778112 00000 n +0000781571 00000 n +0000781720 00000 n +0000781918 00000 n +0000786903 00000 n +0000787052 00000 n +0000787238 00000 n +0000789455 00000 n +0000789604 00000 n +0000789802 00000 n +0000795932 00000 n +0000796081 00000 n +0000796290 00000 n +0000799835 00000 n +0000799984 00000 n +0000800170 00000 n +0000805134 00000 n +0000805283 00000 n +0000805492 00000 n +0000810702 00000 n +0000810851 00000 n +0000811070 00000 n +0000814661 00000 n +0000814810 00000 n +0000815019 00000 n +0000819898 00000 n +0000820047 00000 n +0000820245 00000 n +0000824275 00000 n +0000824424 00000 n +0000824632 00000 n +0000830540 00000 n +0000830689 00000 n +0000830920 00000 n +0000836736 00000 n +0000836885 00000 n +0000837094 00000 n +0000843049 00000 n +0000843198 00000 n +0000843407 00000 n +0000847552 00000 n +0000847701 00000 n +0000847910 00000 n +0000852541 00000 n +0000852690 00000 n +0000852899 00000 n +0000857024 00000 n +0000857173 00000 n +0000857371 00000 n +0000861210 00000 n +0000861359 00000 n +0000861556 00000 n +0000866200 00000 n +0000866349 00000 n +0000866522 00000 n +0000873431 00000 n +0000873580 00000 n +0000873776 00000 n +0000880671 00000 n +0000880820 00000 n +0000881016 00000 n +0000886635 00000 n +0000886784 00000 n +0000887004 00000 n +0000893319 00000 n +0000893468 00000 n +0000893688 00000 n +0000897976 00000 n +0000898125 00000 n +0000898321 00000 n +0000903797 00000 n +0000903946 00000 n +0000904142 00000 n +0000907896 00000 n +0000908045 00000 n +0000908265 00000 n +0000912915 00000 n +0000913064 00000 n +0000913284 00000 n +0000917305 00000 n +0000917454 00000 n +0000917627 00000 n +0000924299 00000 n +0000924448 00000 n +0000924621 00000 n +0000930497 00000 n +0000930646 00000 n +0000930820 00000 n +0000933031 00000 n +0000933180 00000 n +0000933400 00000 n +0000937572 00000 n +0000937721 00000 n +0000937929 00000 n +0000942180 00000 n +0000942329 00000 n +0000942549 00000 n +0000947344 00000 n +0000947493 00000 n +0000947713 00000 n +0000952411 00000 n +0000952560 00000 n +0000952780 00000 n +0000956715 00000 n +0000956864 00000 n +0000957073 00000 n +0000961639 00000 n +0000961788 00000 n +0000962008 00000 n +0000967741 00000 n +0000967890 00000 n +0000968110 00000 n +0000971210 00000 n +0000971359 00000 n +0000971567 00000 n +0000977230 00000 n +0000977379 00000 n +0000977588 00000 n +0000980912 00000 n +0000981061 00000 n +0000981270 00000 n +0000984551 00000 n +0000984700 00000 n +0000984897 00000 n +0000989746 00000 n +0000989895 00000 n +0000990104 00000 n +0000996169 00000 n +0000996318 00000 n +0000996516 00000 n +0001000062 00000 n +0001000211 00000 n +0001000409 00000 n +0001003556 00000 n +0001003705 00000 n +0001003891 00000 n +0001009100 00000 n +0001009249 00000 n +0001009445 00000 n +0001016061 00000 n +0001016210 00000 n +0001016430 00000 n +0001020916 00000 n +0001021065 00000 n +0001021274 00000 n +0001025909 00000 n +0001026058 00000 n +0001026267 00000 n +0001031982 00000 n +0001032131 00000 n +0001032339 00000 n +0001036726 00000 n +0001036875 00000 n +0001037095 00000 n +0001041035 00000 n +0001041184 00000 n +0001041358 00000 n +0001043750 00000 n +0001043899 00000 n +0001044073 00000 n +0001047651 00000 n +0001047800 00000 n +0001047974 00000 n +0001051466 00000 n +0001051615 00000 n +0001051800 00000 n +0001055968 00000 n +0001056117 00000 n +0001056337 00000 n +0001060195 00000 n +0001060344 00000 n +0001060541 00000 n +0001064860 00000 n +0001065009 00000 n +0001065206 00000 n +0001069250 00000 n +0001069399 00000 n +0001069596 00000 n +0001073961 00000 n +0001074110 00000 n +0001074307 00000 n +0001078758 00000 n +0001078907 00000 n +0001079057 00000 n +0001080383 00000 n +0001080532 00000 n +0001080695 00000 n +0001084732 00000 n +0001084881 00000 n +0001085078 00000 n +0001088564 00000 n +0001088713 00000 n +0001088863 00000 n +0001090615 00000 n +0001090764 00000 n +0001090926 00000 n +0001093481 00000 n +0001093630 00000 n +0001093781 00000 n +0001097079 00000 n +0001097228 00000 n +0001097367 00000 n +0001101556 00000 n +0001101705 00000 n +0001101856 00000 n +0001105691 00000 n +0001105840 00000 n +0001105979 00000 n +0001109601 00000 n +0001109750 00000 n +0001109901 00000 n +0001113583 00000 n +0001113732 00000 n +0001113883 00000 n +0001117544 00000 n +0001117693 00000 n +0001117844 00000 n +0001121757 00000 n +0001121906 00000 n +0001122057 00000 n +0001125726 00000 n +0001125875 00000 n +0001126026 00000 n +0001129706 00000 n +0001129855 00000 n +0001130006 00000 n +0001133915 00000 n +0001134064 00000 n +0001134215 00000 n +0001137393 00000 n +0001137542 00000 n +0001137693 00000 n +0001141068 00000 n +0001141217 00000 n +0001141368 00000 n +0001144745 00000 n +0001144894 00000 n +0001145033 00000 n +0001148033 00000 n +0001148182 00000 n +0001148321 00000 n +0001151736 00000 n +0001151885 00000 n +0001152036 00000 n +0001152912 00000 n +0001153061 00000 n +0001153235 00000 n +0001156304 00000 n +0001156453 00000 n +0001156638 00000 n +0001160797 00000 n +0001160946 00000 n +0001161120 00000 n +0001165751 00000 n +0001165900 00000 n +0001166096 00000 n +0001169306 00000 n +0001169455 00000 n +0001169651 00000 n +0001174933 00000 n +0001175082 00000 n +0001175267 00000 n +0001178043 00000 n +0001178192 00000 n +0001178377 00000 n +0001183343 00000 n +0001183492 00000 n +0001183666 00000 n +0001189610 00000 n +0001189759 00000 n +0001189955 00000 n +0001195859 00000 n +0001196008 00000 n +0001196182 00000 n +0001200160 00000 n +0001200309 00000 n +0001200483 00000 n +0001205039 00000 n +0001205188 00000 n +0001205362 00000 n +0001207460 00000 n +0001207609 00000 n +0001207794 00000 n +0001211516 00000 n +0001211665 00000 n +0001211862 00000 n +0001215996 00000 n +0001216145 00000 n +0001216341 00000 n +0001219215 00000 n +0001219364 00000 n +0001219549 00000 n +0001223010 00000 n +0001223159 00000 n +0001223344 00000 n +0001227011 00000 n +0001227160 00000 n +0001227334 00000 n +0001231283 00000 n +0001231432 00000 n +0001231606 00000 n +0001234955 00000 n +0001235104 00000 n +0001235301 00000 n +0001239034 00000 n +0001239183 00000 n +0001239390 00000 n +0001244805 00000 n +0001244954 00000 n +0001245139 00000 n +0001248673 00000 n +0001248822 00000 n +0001249018 00000 n +0001252730 00000 n +0001252879 00000 n +0001253075 00000 n +0001256710 00000 n +0001256859 00000 n +0001257066 00000 n +0001260697 00000 n +0001260846 00000 n +0001261031 00000 n +0001265058 00000 n +0001265207 00000 n +0001265403 00000 n +0001270845 00000 n +0001270994 00000 n +0001271191 00000 n +0001275094 00000 n +0001275243 00000 n +0001275450 00000 n +0001279164 00000 n +0001279313 00000 n +0001279498 00000 n +0001282886 00000 n +0001283035 00000 n +0001283220 00000 n +0001285995 00000 n +0001286144 00000 n +0001286318 00000 n +0001287992 00000 n +0001288141 00000 n +0001288315 00000 n +0001291906 00000 n +0001292055 00000 n +0001292229 00000 n +0001296078 00000 n +0001296227 00000 n +0001296389 00000 n +0001297636 00000 n +0001297785 00000 n +0001297959 00000 n +0001301435 00000 n +0001301584 00000 n +0001301758 00000 n +0001305935 00000 n +0001306084 00000 n +0001306258 00000 n +0001310866 00000 n +0001311015 00000 n +0001311189 00000 n +0001314916 00000 n +0001315065 00000 n +0001315239 00000 n +0001316170 00000 n +0001316319 00000 n +0001316492 00000 n +0001320236 00000 n +0001320385 00000 n +0001320628 00000 n +0001330751 00000 n +0001330887 00000 n +0001331008 00000 n +0001331287 00000 n +0001331436 00000 n +0001331819 00000 n +0001341680 00000 n +0001341816 00000 n +0001341938 00000 n +0001342215 00000 n +0001342351 00000 n +0001342473 00000 n +0001342750 00000 n +0001342886 00000 n +0001343008 00000 n +0001343285 00000 n +0001343421 00000 n +0001343543 00000 n +0001343820 00000 n +0001343956 00000 n +0001344078 00000 n +0001344355 00000 n +0001344491 00000 n +0001344613 00000 n +0001344890 00000 n +0001345026 00000 n +0001345148 00000 n +0001345425 00000 n +0001345561 00000 n +0001345683 00000 n +0001345960 00000 n +0001346096 00000 n +0001346218 00000 n +0001346495 00000 n +0001346631 00000 n +0001346753 00000 n +0001347030 00000 n +0001347166 00000 n +0001347287 00000 n +0001347563 00000 n +0001347699 00000 n +0001347820 00000 n +0001348096 00000 n +0001348232 00000 n +0001348353 00000 n +0001348629 00000 n +0001348765 00000 n +0001348886 00000 n +0001349162 00000 n +0001349298 00000 n +0001349419 00000 n +0001349695 00000 n +0001349831 00000 n +0001349953 00000 n +0001350230 00000 n +0001350379 00000 n +0001350600 00000 n +0001355045 00000 n +0001355194 00000 n +0001355415 00000 n +0001363714 00000 n +0001363863 00000 n +0001364295 00000 n +0001376902 00000 n +0001377038 00000 n +0001377160 00000 n +0001377440 00000 n +0001377576 00000 n +0001377698 00000 n +0001377978 00000 n +0001378114 00000 n +0001378236 00000 n +0001378516 00000 n +0001378652 00000 n +0001378774 00000 n +0001379054 00000 n +0001379190 00000 n +0001379312 00000 n +0001379592 00000 n +0001379728 00000 n +0001379850 00000 n +0001380130 00000 n +0001380266 00000 n +0001380388 00000 n +0001380668 00000 n +0001380804 00000 n +0001380926 00000 n +0001381206 00000 n +0001381342 00000 n +0001381464 00000 n +0001381744 00000 n +0001381880 00000 n +0001382002 00000 n +0001382282 00000 n +0001382418 00000 n +0001382540 00000 n +0001382820 00000 n +0001382956 00000 n +0001383078 00000 n +0001383358 00000 n +0001383507 00000 n +0001383807 00000 n +0001392848 00000 n +0001392984 00000 n +0001393106 00000 n +0001393386 00000 n +0001393522 00000 n +0001393644 00000 n +0001393924 00000 n +0001394073 00000 n +0001394247 00000 n +0001398301 00000 n +0001398450 00000 n +0001398612 00000 n +0001400397 00000 n +0001400546 00000 n +0001400708 00000 n +0001401843 00000 n +0001401992 00000 n +0001402154 00000 n +0001403610 00000 n +0001403659 00000 n +0001404065 00000 n +0001404265 00000 n +0001404783 00000 n +0001404825 00000 n +0001405038 00000 n +0001405091 00000 n +0001405226 00000 n +0001405258 00000 n +0001405540 00000 n +0001406044 00000 n +0001406601 00000 n +0001411542 00000 n +0001411584 00000 n +0001411616 00000 n +0001411898 00000 n +0001412111 00000 n +0001412246 00000 n +0001412802 00000 n +0001412989 00000 n +0001413176 00000 n +0001413685 00000 n +0001413770 00000 n +0001414074 00000 n +0001414305 00000 n +0001414785 00000 n +0001415452 00000 n +0001415664 00000 n +0001422170 00000 n +0001422887 00000 n +0001423568 00000 n +0001424011 00000 n +0001424368 00000 n +0001424881 00000 n +0001425075 00000 n +0001428682 00000 n +0001428884 00000 n +0001428933 00000 n +0001429151 00000 n +0001429432 00000 n +0001429569 00000 n +0001429706 00000 n +0001429829 00000 n +0001429952 00000 n +0001430233 00000 n +0001430515 00000 n +0001430797 00000 n +0001430921 00000 n +0001431203 00000 n +0001431327 00000 n +0001431609 00000 n +0001431733 00000 n +0001432015 00000 n +0001432152 00000 n +0001432276 00000 n +0001432558 00000 n +0001432695 00000 n +0001432832 00000 n +0001432956 00000 n +0001433093 00000 n +0001433230 00000 n +0001433354 00000 n +0001433491 00000 n +0001433615 00000 n +0001433897 00000 n +0001434034 00000 n +0001434567 00000 n +0001434868 00000 n +0001435087 00000 n +0001435276 00000 n +0001435487 00000 n +0001435687 00000 n +0001435875 00000 n +0001436102 00000 n +0001436298 00000 n +0001436501 00000 n +0001436768 00000 n +0001437023 00000 n +0001437261 00000 n +0001437482 00000 n +0001437670 00000 n +0001437897 00000 n +0001438140 00000 n +0001438357 00000 n +0001438768 00000 n +0001439101 00000 n +0001439313 00000 n +0001439846 00000 n +0001440207 00000 n +0001440559 00000 n +0001440840 00000 n +0001441319 00000 n +0001441628 00000 n +0001442003 00000 n +0001442372 00000 n +0001442584 00000 n +0001443074 00000 n +0001443444 00000 n +0001443743 00000 n +0001444036 00000 n +0001444280 00000 n +0001444656 00000 n +0001445119 00000 n +0001445535 00000 n +0001445932 00000 n +0001446296 00000 n +0001446658 00000 n +0001447062 00000 n +0001447481 00000 n +0001447917 00000 n +0001448442 00000 n +0001448897 00000 n +0001449318 00000 n +0001449708 00000 n +0001450097 00000 n +0001450479 00000 n +0001450893 00000 n +0001451291 00000 n +0001451619 00000 n +0001452012 00000 n +0001452358 00000 n +0001452795 00000 n +0001453123 00000 n +0001453627 00000 n +0001454132 00000 n +0001454584 00000 n +0001455057 00000 n +0001455620 00000 n +0001456032 00000 n +0001456461 00000 n +0001456873 00000 n +0001457282 00000 n +0001457692 00000 n +0001458049 00000 n +0001458438 00000 n +0001458731 00000 n +0001459092 00000 n +0001459409 00000 n +0001459797 00000 n +0001460189 00000 n +0001460505 00000 n +0001460832 00000 n +0001461091 00000 n +0001461399 00000 n +0001461693 00000 n +0001462039 00000 n +0001462417 00000 n +0001462724 00000 n +0001463041 00000 n +0001463325 00000 n +0001463824 00000 n +0001464349 00000 n +0001464748 00000 n +0001465111 00000 n +0001465498 00000 n +0001465878 00000 n +0001466110 00000 n +0001466468 00000 n +0001466789 00000 n +0001467062 00000 n +0001467452 00000 n +0001467879 00000 n +0001468134 00000 n +0001468641 00000 n +0001469169 00000 n +0001469492 00000 n +0001469756 00000 n +0001470019 00000 n +0001470274 00000 n +0001470621 00000 n +0001471045 00000 n +0001471317 00000 n +0001471681 00000 n +0001472010 00000 n +0001472426 00000 n +0001472710 00000 n +0001472971 00000 n +0001473348 00000 n +0001473814 00000 n +0001474146 00000 n +0001474555 00000 n +0001474960 00000 n +0001475297 00000 n +0001475605 00000 n +0001475928 00000 n +0001476202 00000 n +0001476565 00000 n +0001477038 00000 n +0001477393 00000 n +0001477914 00000 n +0001478202 00000 n +0001478643 00000 n +0001478897 00000 n +0001479264 00000 n +0001479645 00000 n +0001479987 00000 n +0001480298 00000 n +0001480690 00000 n +0001481031 00000 n +0001481335 00000 n +0001481730 00000 n +0001482129 00000 n +0001482499 00000 n +0001482793 00000 n +0001483193 00000 n +0001483552 00000 n +0001483889 00000 n +0001484330 00000 n +0001484687 00000 n +0001485051 00000 n +0001485363 00000 n +0001485707 00000 n +0001486033 00000 n +0001486443 00000 n +0001486706 00000 n +0001486974 00000 n +0001487385 00000 n +0001487751 00000 n +0001488092 00000 n +0001488425 00000 n +0001488695 00000 n +0001489110 00000 n +0001489489 00000 n +0001489905 00000 n +0001490307 00000 n +0001490716 00000 n +0001491065 00000 n +0001491412 00000 n +0001491781 00000 n +0001492096 00000 n +0001492499 00000 n +0001492865 00000 n +0001493199 00000 n +0001493591 00000 n +0001494044 00000 n +0001494416 00000 n +0001494827 00000 n +0001495151 00000 n +0001495510 00000 n +0001495951 00000 n +0001496204 00000 n +0001496671 00000 n +0001496994 00000 n +0001497443 00000 n +0001497737 00000 n +0001498038 00000 n +0001498495 00000 n +0001498917 00000 n +0001499389 00000 n +0001499746 00000 n +0001500116 00000 n +0001500593 00000 n +0001500976 00000 n +0001501273 00000 n +0001501725 00000 n +0001502085 00000 n +0001502422 00000 n +0001502763 00000 n +0001503095 00000 n +0001503383 00000 n +0001503705 00000 n +0001504036 00000 n +0001504380 00000 n +0001504754 00000 n +0001505142 00000 n +0001505444 00000 n +0001505733 00000 n +0001506065 00000 n +0001506317 00000 n +0001506705 00000 n +0001507150 00000 n +0001507596 00000 n +0001508005 00000 n +0001508340 00000 n +0001508660 00000 n +0001508984 00000 n +0001509313 00000 n +0001509662 00000 n +0001509959 00000 n +0001510262 00000 n +0001510578 00000 n +0001511080 00000 n +0001511331 00000 n +0001511975 00000 n +0001512823 00000 n +0001513643 00000 n +0001514493 00000 n +0001515310 00000 n +0001516029 00000 n +0001516722 00000 n +0001517450 00000 n +0001518190 00000 n +0001518916 00000 n +0001519648 00000 n +0001520342 00000 n +0001521085 00000 n +0001521938 00000 n +0001522758 00000 n +0001523024 00000 n +0001523394 00000 n +0001523711 00000 n +0001524150 00000 n +0001524592 00000 n +0001524956 00000 n +0001525397 00000 n +0001525772 00000 n +0001526066 00000 n +0001526322 00000 n +0001526778 00000 n +0001527175 00000 n +0001527463 00000 n +0001527799 00000 n +0001528149 00000 n +0001528487 00000 n +0001528800 00000 n +0001529137 00000 n +0001529489 00000 n +0001529814 00000 n +0001530178 00000 n +0001530549 00000 n +0001530948 00000 n +0001531344 00000 n +0001531771 00000 n +0001532183 00000 n +0001532662 00000 n +0001533046 00000 n +0001533445 00000 n +0001533863 00000 n +0001534300 00000 n +0001534646 00000 n +0001534927 00000 n +0001535267 00000 n +0001535658 00000 n +0001535993 00000 n +0001536292 00000 n +0001536605 00000 n +0001536954 00000 n +0001537260 00000 n +0001537463 00000 n +0001537723 00000 n +0001538182 00000 n +0001538586 00000 n +0001538873 00000 n +0001539288 00000 n +0001539787 00000 n +0001540118 00000 n +0001540470 00000 n +0001540691 00000 n +0001540906 00000 n +0001541156 00000 n +0001541195 00000 n +0001541221 00000 n +0001541297 00000 n +0001541452 00000 n +0001541586 00000 n +0001541720 00000 n +0001541854 00000 n +0001541997 00000 n +0001542141 00000 n +0001542285 00000 n +0001542429 00000 n +0001542573 00000 n +0001542717 00000 n +0001542861 00000 n +0001543016 00000 n +0001543160 00000 n +0001543304 00000 n +0001543448 00000 n +0001543592 00000 n +0001543736 00000 n +0001543880 00000 n +0001544024 00000 n +0001544168 00000 n +0001544312 00000 n +0001544456 00000 n +0001544601 00000 n +0001544745 00000 n +0001544889 00000 n +0001545033 00000 n +0001545177 00000 n +0001545321 00000 n +0001545465 00000 n +0001545609 00000 n +0001545753 00000 n +0001545848 00000 n +0001549643 00000 n +trailer +<> +startxref +116 +%%EOF diff --git a/standards/4.3.1/es_20187301v040301p.zip b/standards/4.3.1/es_20187301v040301p.zip new file mode 100644 index 0000000000000000000000000000000000000000..a2548d08727c2cfcc962353d5c17846749266baf Binary files /dev/null and b/standards/4.3.1/es_20187301v040301p.zip differ diff --git a/standards/4.3.1/requirements/.project b/standards/4.3.1/requirements/.project new file mode 100644 index 0000000000000000000000000000000000000000..75786185c87dd09c9db74529502d2a9c4afe2a1d --- /dev/null +++ b/standards/4.3.1/requirements/.project @@ -0,0 +1,12 @@ + + + requirements + + + + + + + com.unitesk.requality.natures.reqcatalogue + + diff --git a/standards/4.3.1/requirements/.settings/org.eclipse.core.resources.prefs b/standards/4.3.1/requirements/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5e339f9d7e9c9d97a75b8cbc8a65d96c1ff7b75a --- /dev/null +++ b/standards/4.3.1/requirements/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Tue Nov 01 14:03:59 CET 2011 +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/standards/4.3.1/requirements/root.json b/standards/4.3.1/requirements/root.json new file mode 100644 index 0000000000000000000000000000000000000000..2a815511af11e5c7c99f3b84fd724a9baea6c04b --- /dev/null +++ b/standards/4.3.1/requirements/root.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "DBRoot" + }}, + "uuid": "ada99b8a-43b6-4137-8f82-9a22599b0d70" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents.json b/standards/4.3.1/requirements/root/Documents.json new file mode 100644 index 0000000000000000000000000000000000000000..1ab91d125adfc02c1bd78cea5b6cf6fb6adde0c9 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "DocFolder" + }}, + "uuid": "567473ff-0a7a-4703-8d58-77c4b9bd9adc" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml.json new file mode 100644 index 0000000000000000000000000000000000000000..ac0ba497dd43ba12e83f5b21609e5bf14eb4218e --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_file": { + "key": "_file", + "type": "STRING", + "value": "es_20187301v040301p.xhtml" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Document" + } + }, + "uuid": "d315f283-11df-44e8-808b-2efb5d8f9ee8" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/00d3e379-0a3b-4203-8b1e-810ec85df72a.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/00d3e379-0a3b-4203-8b1e-810ec85df72a.json new file mode 100644 index 0000000000000000000000000000000000000000..02f744a97eb47bc9b5a7d66240fd41577e84e186 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/00d3e379-0a3b-4203-8b1e-810ec85df72a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>getverdict <\/span><\/b>operation returns the actual value of the local\nverdict.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2419fd54-5fdd-413c-8dd4-ad66595744b7" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/091ebbc8-1c8f-4c12-8b0e-02fc2f988a5a.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/091ebbc8-1c8f-4c12-8b0e-02fc2f988a5a.json new file mode 100644 index 0000000000000000000000000000000000000000..5c78e168398a39b90812d69ac3c0f0e6d3934885 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/091ebbc8-1c8f-4c12-8b0e-02fc2f988a5a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.4      The Read timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4d1845af-2b3e-41b1-9bb9-7cb3199142fb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/0f81b94c-3b9d-4dc0-bd5a-c993371d099b.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/0f81b94c-3b9d-4dc0-bd5a-c993371d099b.json new file mode 100644 index 0000000000000000000000000000000000000000..e7c67976df116843126ba28ac11d2099f96e00e8 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/0f81b94c-3b9d-4dc0-bd5a-c993371d099b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " there is\na global test case verdict instantiated and handled by the test system that is\nupdated when each test component (i.e. the <\/span>MTC and each and every <\/span>PTC)\nterminates execution (see figure <\/span><\/span>14<\/span>).\nThis verdict is not accessible to the <\/span>getverdict<\/span><\/b> and <\/span>setverdict<\/span><\/b> operations. The value of this verdict shall be\nreturned by the test case when it terminates execution.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c979dbae-d591-488b-ac43-cfbe1589ebd9" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/10681173-66a5-4439-9681-e133fa54005e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/10681173-66a5-4439-9681-e133fa54005e.json new file mode 100644 index 0000000000000000000000000000000000000000..86610940c9006bb0ccb6079b6491d7ce08e4e2ad --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/10681173-66a5-4439-9681-e133fa54005e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\r\n" + + "

{{CHAPTER}}

\r\n" + + "
\r\n" + + "

{{CLAUSE}}

\r\n" + + "
\r\n" + + "

{{CLAUSE}}

\r\n" + + "
\r\n" + + "

{{TESTCASE}}

\r\n" + + "
\n \n \n \n \n \n \n \n
\n

Operation<\/span><\/p>\n <\/td>\n

\n

Allowed<\/span><\/p>\n <\/td>\n

\n

Example<\/span><\/p>\n <\/td>\n <\/tr>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

any<\/span><\/p>\n <\/td>\n

\n

all<\/span><\/p>\n <\/td>\n

\n

                    <\/span><\/p>\n <\/td>\n <\/tr>\n

\n

start<\/span><\/b><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n <\/tr>\n

\n

stop<\/span><\/b><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

yes<\/span><\/p>\n <\/td>\n

\n

all timer.stop<\/span><\/b><\/p>\n <\/td>\n <\/tr>\n

\n

read<\/span><\/b><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

 <\/span><\/b><\/p>\n <\/td>\n <\/tr>\n

\n

running<\/span><\/b><\/p>\n <\/td>\n

\n

yes<\/span><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

if (any timer.running) {\u2026}<\/span><\/b><\/p>\n <\/td>\n <\/tr>\n

\n

timeout<\/span><\/b><\/p>\n <\/td>\n

\n

yes<\/span><\/p>\n <\/td>\n

\n

 <\/span><\/p>\n <\/td>\n

\n

any timer.timeout<\/span><\/b><\/p><\/td><\/tr><\/tbody><\/table><\/div>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3597ec9a-4be2-4222-ac4c-a1b816747b84" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1a7dbd7a-f48f-4784-8e06-a5f28e775ac6.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1a7dbd7a-f48f-4784-8e06-a5f28e775ac6.json new file mode 100644 index 0000000000000000000000000000000000000000..7a9af39a68fee4856bc6a675bee066db10c3e1f4 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1a7dbd7a-f48f-4784-8e06-a5f28e775ac6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " The running-timers list and the\ntimeout-list are only a conceptual lists and do not restrict the implementation\nof timers. Other data structures like a set, where the access to timeout events\nis not restricted by, e.g. the order in which the timeout events have happened,\nmay also be used." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f5fb8cf2-db93-479a-a26f-5ba47c48ae00" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1cdc6d38-be53-4c11-8bcc-6448ccb97065.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1cdc6d38-be53-4c11-8bcc-6448ccb97065.json new file mode 100644 index 0000000000000000000000000000000000000000..baa66bb896e401841e61fd4d594e01f71c1951ab --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1cdc6d38-be53-4c11-8bcc-6448ccb97065.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The optional parameters <\/span>allow to\nprovide information that explain the reasons for assigning the verdict. This\ninformation is composed to a string and stored in an implicit <\/span>charstring<\/span><\/b> variable. On termination of the test component, the actual local\nverdict is logged together with the implicit <\/span>charstring<\/span><\/b>\nvariable. <\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "36d06c59-de4e-41bb-b01a-27c7098c55fa" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1d4a97a6-d66a-43ad-9fe0-11409775cb9a.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1d4a97a6-d66a-43ad-9fe0-11409775cb9a.json new file mode 100644 index 0000000000000000000000000000000000000000..5ac23bc7c58700a67a19c9a4db6193d1c5752584 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/1d4a97a6-d66a-43ad-9fe0-11409775cb9a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.2      The Start timer\noperation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "24b65a37-6a29-4f12-b209-759e3064f9fd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2392c146-4789-4d2e-a413-8779baee8340.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2392c146-4789-4d2e-a413-8779baee8340.json new file mode 100644 index 0000000000000000000000000000000000000000..71aff7fe599f49840b55671aa992b0c9da204c8c --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2392c146-4789-4d2e-a413-8779baee8340.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>error<\/span><\/b> verdict is special in that it is set by the\ntest system to indicate that a test case (i.e. run-time) error has occurred. It\nshall not be set by the <\/span>setverdict<\/span><\/b>\noperation<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a7781e2e-27a2-4bbd-bdba-3cf3a56699b7" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/24b6341e-5fc7-442f-82a8-9f2c92deda45.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/24b6341e-5fc7-442f-82a8-9f2c92deda45.json new file mode 100644 index 0000000000000000000000000000000000000000..53f69a3bed4c6498b60a2dfa6fb3052ba09b28ad --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/24b6341e-5fc7-442f-82a8-9f2c92deda45.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.1      The timer mechanism" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d4315671-5594-452b-8fde-163fd08b39a1" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/26a9c449-9287-4e9b-b4a3-26b7f3721c9c.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/26a9c449-9287-4e9b-b4a3-26b7f3721c9c.json new file mode 100644 index 0000000000000000000000000000000000000000..18e3f0eb5b84ec5f1ed978c54b2b88f65e8c29a5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/26a9c449-9287-4e9b-b4a3-26b7f3721c9c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Messages are instances\nof types declared in the in/out/inout clauses of message port type definition." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6e5f929a-f217-44b7-a47c-97f33780666c" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2af32ffa-14b9-4f1f-a2bb-025dc33bf309.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2af32ffa-14b9-4f1f-a2bb-025dc33bf309.json new file mode 100644 index 0000000000000000000000000000000000000000..305f3405e589c88b5cfd2b468be069fed1a32a68 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2af32ffa-14b9-4f1f-a2bb-025dc33bf309.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "<\/span><\/span>SingleExpression<\/span><\/i>\nshall resolve to a value of type verdict<\/b><\/span>" + }, + "_hidden": { + "key": "_hidden", + "type": "BOOL", + "value": true + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8acc2314-493e-4db7-b0b0-dd1bd2a2e0e9" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2d0f0d39-197f-4843-823d-4764c70c119e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2d0f0d39-197f-4843-823d-4764c70c119e.json new file mode 100644 index 0000000000000000000000000000000000000000..309423a39d4766a20fb887c5ec81f52bd9fb5ef6 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2d0f0d39-197f-4843-823d-4764c70c119e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

( ( TimerIdentifier<\/i> | TimerParIdentifier<\/i>\n) { \"[\" SingleExpression<\/i> \"]\" } ) <\/p>\n\n

\".\" start<\/b> [ \"(\"\nTimerValue<\/i> \")\" ]<\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "91c336f3-a022-417a-9e49-9396572ffc29" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2fe9dbe8-d4c4-4b8e-971d-d6355db9cbbc.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2fe9dbe8-d4c4-4b8e-971d-d6355db9cbbc.json new file mode 100644 index 0000000000000000000000000000000000000000..e6a336eef1381c44bed1b16a80f5872fc905efa5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/2fe9dbe8-d4c4-4b8e-971d-d6355db9cbbc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.3      The Stop timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "250adcb5-c583-436a-8a65-7c9348945bb6" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/39572578-0a93-472c-ab6a-d0703b09815e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/39572578-0a93-472c-ab6a-d0703b09815e.json new file mode 100644 index 0000000000000000000000000000000000000000..872bc6b4a997ffd07ebfefa51924a8bcb489d852 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/39572578-0a93-472c-ab6a-d0703b09815e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>start<\/span><\/b> operation\nmay be applied to a running timer, in which case the timer is stopped and\nre-started. Any entry in a timeout-list for this timer shall be removed from\nthe timeout-list.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "660ddc40-b4f3-402a-ac91-9097800cd1bd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/3c545635-9962-42f4-aced-e16baef658fd.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/3c545635-9962-42f4-aced-e16baef658fd.json new file mode 100644 index 0000000000000000000000000000000000000000..88b581f05c1dd3027e924cd74273bfa176ca23c3 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/3c545635-9962-42f4-aced-e16baef658fd.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "timer arrays can also be declared" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ddeef567-d57e-45fe-8c31-1324ccdf1346" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/44fd7bf6-0cb3-4a93-b6be-863abfa1ae31.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/44fd7bf6-0cb3-4a93-b6be-863abfa1ae31.json new file mode 100644 index 0000000000000000000000000000000000000000..d931776c2310c61f18475cc9ca115031961f4b12 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/44fd7bf6-0cb3-4a93-b6be-863abfa1ae31.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When a test component\nis instantiated, its local verdict object is created and set to the value <\/span>none<\/span><\/b>.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ddd1f92a-4752-4b32-b99b-733bce97f60d" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/496b42cd-df53-4c4b-9804-7a54b2e71c95.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/496b42cd-df53-4c4b-9804-7a54b2e71c95.json new file mode 100644 index 0000000000000000000000000000000000000000..2db11d0997a374cd33277bc8e053a51b0d4b995c --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/496b42cd-df53-4c4b-9804-7a54b2e71c95.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>any<\/span><\/b> keyword used with the <\/span>timeout<\/span><\/b> operation succeeds if the timeout-list is not\nempty.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6f28db80-6fd8-447b-b1fa-be566fc6dc4f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/49d8b33d-8836-4b6b-9bad-19474e015ffb.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/49d8b33d-8836-4b6b-9bad-19474e015ffb.json new file mode 100644 index 0000000000000000000000000000000000000000..e81fc9c25f39261b317aad4d4985b7c0751d70bf --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/49d8b33d-8836-4b6b-9bad-19474e015ffb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "12       Declaring timers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "28e5aaa0-b0be-4be8-b6ce-9cb3ce3ed21c" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5693e02b-5a58-4d15-8611-79ebe9e0ca36.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5693e02b-5a58-4d15-8611-79ebe9e0ca36.json new file mode 100644 index 0000000000000000000000000000000000000000..ffa8513eba0b1bde0312de3f037316d6fad2ee13 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5693e02b-5a58-4d15-8611-79ebe9e0ca36.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "timer<\/b> { TimerIdentifier<\/i>\n[ ArrayDef<\/i> ] \":=\" TimerValue<\/i> [ \",\" ] } [\n\";\" ]" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1d22f12c-938f-4b3e-9c41-a190a0e86c9a" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5a12bd75-c598-4417-8e65-f05f1899a20c.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5a12bd75-c598-4417-8e65-f05f1899a20c.json new file mode 100644 index 0000000000000000000000000000000000000000..3b0a0a958ff754991202da09068f4ad134b29ed4 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5a12bd75-c598-4417-8e65-f05f1899a20c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Verdict operations given in table <\/span>29<\/span>\nallow to set and retrieve verdicts. These operations shall only be used in test\ncases, altsteps and functions<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "31d54f25-4129-4f43-acef-a28b8230d624" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5f0e5de8-e4d0-456f-9920-afd1690e4bb5.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5f0e5de8-e4d0-456f-9920-afd1690e4bb5.json new file mode 100644 index 0000000000000000000000000000000000000000..3d17cd6e7da8fa93f4dfcd706cf5849ad94cd2ff --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/5f0e5de8-e4d0-456f-9920-afd1690e4bb5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Starting a timer with the timer value 0.0\nmeans that the timer times out immediately." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "52d3b651-27d5-457e-98bf-3045418fdd74" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/64e15f77-77b0-4b47-a42a-5c2420a90e47.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/64e15f77-77b0-4b47-a42a-5c2420a90e47.json new file mode 100644 index 0000000000000000000000000000000000000000..c5b53977806d09ce2065e68e0f9b20873ce6c13d --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/64e15f77-77b0-4b47-a42a-5c2420a90e47.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The optional timer value parameter shall be\nused if no default duration is given, or if it is desired to override the\ndefault value specified in the timer declaration. When a timer duration is\noverridden, the new value applies only to the current instance of the timer,\nany later <\/span>start<\/span><\/b> operations for this timer, which do not specify a duration, shall\nuse the default duration.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "afc726b4-f174-4e21-8bda-c273b0c8e607" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/65a04840-46f9-4d6c-9aaf-1a273a26e015.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/65a04840-46f9-4d6c-9aaf-1a273a26e015.json new file mode 100644 index 0000000000000000000000000000000000000000..66a2fd4b0ffe5f72ce9c8c301f34d2e811007524 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/65a04840-46f9-4d6c-9aaf-1a273a26e015.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The value of the local verdict is changed with the <\/span>setverdict<\/span> <\/span><\/b>operation.\nThe effect of this change shall follow the overwriting rules listed in table 30<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7cbad796-6564-455b-9219-9d98cb29e681" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/68754971-0b1b-401e-8a53-12cc1ed8b61b.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/68754971-0b1b-401e-8a53-12cc1ed8b61b.json new file mode 100644 index 0000000000000000000000000000000000000000..76c066df9232ada8f79635bca51e5f860b37bec3 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/68754971-0b1b-401e-8a53-12cc1ed8b61b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When a timer expires, the timer becomes\nimmediately inactive." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "60de315a-c21f-4903-9ed8-eda6a32484bf" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6b985540-900b-48ea-ac29-7f782dbc6652.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6b985540-900b-48ea-ac29-7f782dbc6652.json new file mode 100644 index 0000000000000000000000000000000000000000..c370802d609bcf8d51da88ccd47cdf3d08b7b6ca --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6b985540-900b-48ea-ac29-7f782dbc6652.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "A stopped timer becomes inactive and its elapsed time is set\nto the float value zero (0.0)." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e108758c-fd61-4c7d-81ba-80a64397a226" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6ca0ace5-12ee-4332-9e8c-f70f119af0cf.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6ca0ace5-12ee-4332-9e8c-f70f119af0cf.json new file mode 100644 index 0000000000000000000000000000000000000000..fbd6605568dfeb62b00c821eb70935c339ce39ef --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/6ca0ace5-12ee-4332-9e8c-f70f119af0cf.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

( ( ( TimerIdentifier<\/i> | TimerParIdentifier<\/i>\n) { \"[\" SingleExpression<\/i> \"]\" } ) |<\/p>\n\n

      any<\/b> timer<\/b> )<\/p>\n\n

\".\" timeout<\/b><\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "409ce4f1-cc9b-47a8-b900-df426414414c" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/72134a0a-26a2-4c19-aedb-cda2a8df481e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/72134a0a-26a2-4c19-aedb-cda2a8df481e.json new file mode 100644 index 0000000000000000000000000000000000000000..89152ce653dc3c20093d9599dd0c1f9af6edd37a --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/72134a0a-26a2-4c19-aedb-cda2a8df481e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When changing the value\nof the local verdict (i.e. using the <\/span>setverdict<\/span> <\/span><\/b>operation)\nthe effect of this change shall follow the overwriting rules listed in table <\/span>30<\/span>.\n<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7a8b7fac-bf46-4def-a7ca-ca3cc0eca110" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/74c7bde4-9886-43fd-9f02-d50b3627fd04.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/74c7bde4-9886-43fd-9f02-d50b3627fd04.json new file mode 100644 index 0000000000000000000000000000000000000000..59bbcf2aa6c9247f726464c5002bbef89fbdda30 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/74c7bde4-9886-43fd-9f02-d50b3627fd04.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The test case verdict is implicitly updated on the termination of a test\ncomponent. The effect of this implicit operation shall also follow the\noverwriting rules listed in table <\/span>30<\/span>.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6e62b834-178e-4685-90b6-a7311b887bc3" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/758b6c0e-fece-465a-b6b5-606aacb1989e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/758b6c0e-fece-465a-b6b5-606aacb1989e.json new file mode 100644 index 0000000000000000000000000000000000000000..2124799c6d30acc70daa837ee45db322968c1484 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/758b6c0e-fece-465a-b6b5-606aacb1989e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Default duration(s)\nassignment shall use the array value notation as specified in clause 6.2.7. If\nthe default duration assignment is wished to be skipped for some element(s) of\nthe timer array, it shall explicitly be declared by using the not used symbol\n(\"-\")" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "128232da-b218-4eda-8a76-d0bd66771a41" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/75f1f35b-3ff6-4648-af1f-9ed3a671c51d.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/75f1f35b-3ff6-4648-af1f-9ed3a671c51d.json new file mode 100644 index 0000000000000000000000000000000000000000..440b4d875f0497756ba3309d2c8fe9b0a88012b1 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/75f1f35b-3ff6-4648-af1f-9ed3a671c51d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

( ( ( TimerIdentifier<\/i> | TimerParIdentifier<\/i>\n) { \"[\" SingleExpression<\/i> \"]\" } ) |<\/p>\n\n

      any<\/b> timer<\/b> )<\/p>\n\n

\".\" running<\/b><\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "20a9a2aa-a12d-4088-9a1f-d020badb7d99" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7c6d012b-6a3d-411f-aae4-d5a256e31aa7.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7c6d012b-6a3d-411f-aae4-d5a256e31aa7.json new file mode 100644 index 0000000000000000000000000000000000000000..3dbc0141bfbc54a6aa331c7b12932e837a57ef76 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7c6d012b-6a3d-411f-aae4-d5a256e31aa7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The timer clock runs from the float value\nzero (0.0) up to maximum stated by the duration parameter.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b060e5f6-f6db-44d0-98c4-833a987a621a" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7e7f1a6e-3b75-455d-bdf9-57e85954ef65.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7e7f1a6e-3b75-455d-bdf9-57e85954ef65.json new file mode 100644 index 0000000000000000000000000000000000000000..8f9d3cfa39a333a3b335fb54c0c19aee242c30c2 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/7e7f1a6e-3b75-455d-bdf9-57e85954ef65.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.6      The Timeout operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f3681f76-c050-4a1c-ad20-c33496a70e09" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/82ced5b5-b044-499a-b96b-a3eaf22af8fc.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/82ced5b5-b044-499a-b96b-a3eaf22af8fc.json new file mode 100644 index 0000000000000000000000000000000000000000..56073e62790f2a9261447e49e65cc911f53fb10f --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/82ced5b5-b044-499a-b96b-a3eaf22af8fc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Only one entry for any\nparticular timer may appear in the timeout-list and running-timer list of the\ntest component or module control for which the timer has been declared. " + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "687251bf-ed54-439f-ae9e-8e93255970f2" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/859237de-6dbd-44f5-9b73-c7cd296023e1.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/859237de-6dbd-44f5-9b73-c7cd296023e1.json new file mode 100644 index 0000000000000000000000000000000000000000..b2051b3431fdbcbe423aeb226876592295f2ea48 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/859237de-6dbd-44f5-9b73-c7cd296023e1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "TTCN\u20113 supports a number of timer operations as given in table 27.\nThese operations may be used in test cases, functions, altsteps and module\ncontrol.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8d582517-ccf8-41e8-bbc0-8560a4c17a6e" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/89fce4d9-3125-4b6f-8c60-d1f49f8a8db5.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/89fce4d9-3125-4b6f-8c60-d1f49f8a8db5.json new file mode 100644 index 0000000000000000000000000000000000000000..6b4546d65a76e28ea192a55ed49db1eca7327e74 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/89fce4d9-3125-4b6f-8c60-d1f49f8a8db5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "timers can be used in test cases, functions\nand altsteps which are running on the given component type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b2512671-1bc8-449c-8473-3ca8f97c11d8" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8a7ca32e-3985-4370-bc6d-d0995f51f868.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8a7ca32e-3985-4370-bc6d-d0995f51f868.json new file mode 100644 index 0000000000000000000000000000000000000000..0018cca3a76a3c3236f34624b6f362dfc25dadb6 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8a7ca32e-3985-4370-bc6d-d0995f51f868.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "<\/span><\/span>The <\/span>setverdict<\/span><\/b> operation shall only be\nused with the values <\/span>pass<\/span><\/b>, <\/span>fail<\/span><\/b>, <\/span>inconc<\/span><\/b> and <\/span>none<\/span><\/b>. It shall not be used to assign the value error<\/b>, this is set\nby the test system only to indicate run-time errors.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "35a07ae7-52f0-452b-8de4-07fead9f5651" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8b052665-34fa-4442-ad2c-4aa814d28e09.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8b052665-34fa-4442-ad2c-4aa814d28e09.json new file mode 100644 index 0000000000000000000000000000000000000000..4d08a37becfae1746f897f03a0e07492baa595e0 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8b052665-34fa-4442-ad2c-4aa814d28e09.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Applying the <\/span>read<\/span><\/b> operation on an inactive timer, i.e. on a timer\nnot listed on the running-timer list, will return the float value zero (0.0).<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "156aed2a-7e59-4b9a-9b1c-ad4070275117" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8e73b1a7-b885-465a-9175-0eb95799cd4e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8e73b1a7-b885-465a-9175-0eb95799cd4e.json new file mode 100644 index 0000000000000000000000000000000000000000..023fd6544d93008263c674a4989792679be22f71 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8e73b1a7-b885-465a-9175-0eb95799cd4e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Timers can be declared and used in the module control part,\ntest cases, functions and altsteps." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c3a7ad4c-3f92-40e8-8790-3c2e03497e9f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8ed7ed88-2ab5-4c02-ad72-7fc1c61bdd83.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8ed7ed88-2ab5-4c02-ad72-7fc1c61bdd83.json new file mode 100644 index 0000000000000000000000000000000000000000..fe950c8291468bc146902d87495ac83b723bdf5e --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/8ed7ed88-2ab5-4c02-ad72-7fc1c61bdd83.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>read<\/span><\/b> operation returns the time that has elapsed\nsince the specified timer was started. The returned value shall be of type <\/span>float<\/span><\/b>.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1e325ca0-f2f8-4148-a3a6-979276fa2fcc" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/956f1b36-7929-476a-bc9a-916747f1653a.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/956f1b36-7929-476a-bc9a-916747f1653a.json new file mode 100644 index 0000000000000000000000000000000000000000..310a2f609535aec72a36176392f4abccd242bb45 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/956f1b36-7929-476a-bc9a-916747f1653a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.7<\/span><\/a>      Summary of use of any and all with timers<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0c2928bb-cc71-46c6-88ae-0cfc228be98d" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/9df8621e-4c0d-43f2-b962-35ad93b490e0.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/9df8621e-4c0d-43f2-b962-35ad93b490e0.json new file mode 100644 index 0000000000000000000000000000000000000000..d1fb1fd937bfd4b3df3e0ac695f257d6b418d9dc --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/9df8621e-4c0d-43f2-b962-35ad93b490e0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "parameters or\ntemplate parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "42330b93-4a59-4564-bfcc-5409a9adc181" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a67a0ebc-61c2-4b2f-b3df-c54b02d8e169.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a67a0ebc-61c2-4b2f-b3df-c54b02d8e169.json new file mode 100644 index 0000000000000000000000000000000000000000..e3cad502c6fd819b8942da5e0abb497062333e15 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a67a0ebc-61c2-4b2f-b3df-c54b02d8e169.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>timeout<\/span><\/b> can be used to determine an alternative in an <\/span>alt<\/span><\/b> statement<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8b207166-a3dc-453c-a56a-64f50bda2612" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a9fe3026-4fcb-4243-82da-c17e788c053f.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a9fe3026-4fcb-4243-82da-c17e788c053f.json new file mode 100644 index 0000000000000000000000000000000000000000..12053828ae980ffb4f86121b2691a62aaecfbb44 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/a9fe3026-4fcb-4243-82da-c17e788c053f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Any type can be\ndeclared as type of a message in a message port type definition, i.e. values of\nany basic or structured type (see clauses 6.1 and <\/span>6.2<\/span>) can be sent or\nreceived.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0a3cfdbe-6e34-418f-9277-560e3584adb0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/acf30a4b-f668-4efc-b3f2-804fa336fc8e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/acf30a4b-f668-4efc-b3f2-804fa336fc8e.json new file mode 100644 index 0000000000000000000000000000000000000000..6d30ba3efda10912e5f57a86f26b2005b548035e --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/acf30a4b-f668-4efc-b3f2-804fa336fc8e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>timeout<\/span><\/b> shall not be used in a <\/span>boolean<\/span><\/b> expression.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "51829c99-cc66-4a15-aa7f-04eecb1b92ba" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b6e707e5-7ea0-4cb8-9ed9-6394d299d7a4.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b6e707e5-7ea0-4cb8-9ed9-6394d299d7a4.json new file mode 100644 index 0000000000000000000000000000000000000000..55f141e8f94ee891b27cacf0a1b8ccf4f5c8420a --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b6e707e5-7ea0-4cb8-9ed9-6394d299d7a4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "as stand-alone statement in a\nbehaviour description. In the latter case a <\/span>timeout<\/span><\/b> operation is considered to be shorthand for an <\/span>alt<\/span><\/b> statement with the <\/span>timeout<\/span><\/b> operation as the only alternative.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "615ed223-f782-4913-aa1d-5d279d6a6971" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b726710e-c292-4c92-bfe3-ff2584d1b55b.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b726710e-c292-4c92-bfe3-ff2584d1b55b.json new file mode 100644 index 0000000000000000000000000000000000000000..c80202571287e1190136b25cfdee3230e80d63f4 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/b726710e-c292-4c92-bfe3-ff2584d1b55b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " Instances of\nmessages can be declared by global, local or in-line templates (see clause <\/span>15<\/span>) or being constructed\nand passed via variables or template variables<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "16b1031e-c316-4a71-99e1-ba2590b724fa" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/bdee15b8-ca1d-4ec3-954a-b538a1e52b13.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/bdee15b8-ca1d-4ec3-954a-b538a1e52b13.json new file mode 100644 index 0000000000000000000000000000000000000000..01e07f84485264c66f7429c6ba85624cdca145c9 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/bdee15b8-ca1d-4ec3-954a-b538a1e52b13.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "timers can be declared in\ncomponent type definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "74bdf784-b050-4757-bc87-6ef6398b1dd4" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/c93d7fe0-b977-492a-b3f7-8a3ad63152f1.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/c93d7fe0-b977-492a-b3f7-8a3ad63152f1.json new file mode 100644 index 0000000000000000000000000000000000000000..675b96c8480024439f0ddee68686e4f5a9dd4e4d --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/c93d7fe0-b977-492a-b3f7-8a3ad63152f1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "A timer declaration may\nhave an optional default duration value assigned to it. The timer shall be\nstarted with this value if no other value is specified. The timer value shall\nbe a non-negative <\/span>float<\/span><\/b> value (i.e.\ngreater than or equal to 0.0)<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "be55f802-fc83-4923-b8d2-e6f331cea193" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cefd76d0-ae84-418c-ba9f-b09d97b1c46f.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cefd76d0-ae84-418c-ba9f-b09d97b1c46f.json new file mode 100644 index 0000000000000000000000000000000000000000..ecc8293ecf43600f1518c15240123b1f07cda4cf --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cefd76d0-ae84-418c-ba9f-b09d97b1c46f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23       Timer operations" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3a6ade13-59c4-45f6-bc5c-210f5c11c3c7" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cfed5024-8dd7-42da-814b-066b33383de5.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cfed5024-8dd7-42da-814b-066b33383de5.json new file mode 100644 index 0000000000000000000000000000000000000000..ba9cd768e9f5643358f62fea9153d35545ad3b20 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/cfed5024-8dd7-42da-814b-066b33383de5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Timer value shall be a non\u2011negative\nnumerical <\/span>float<\/span><\/b> number (i.e. <\/span>the value shall be greater or equal 0.0, <\/span>infinity and not_a_number are\ndisallowed)<\/span>.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7d28edd5-5d52-45ea-81b1-e99d94c3df4e" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d904b2dc-872b-485e-83c8-217bb338dd59.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d904b2dc-872b-485e-83c8-217bb338dd59.json new file mode 100644 index 0000000000000000000000000000000000000000..5ba602a9ce87890a6239c2cc0ef6b971a46422dc --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d904b2dc-872b-485e-83c8-217bb338dd59.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Received messages can also be declared as a combination of value and\nmatching mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d10a7536-7714-4706-814c-68dde663b9bd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d92c14d3-97a2-4658-b5b6-15304a75aaa1.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d92c14d3-97a2-4658-b5b6-15304a75aaa1.json new file mode 100644 index 0000000000000000000000000000000000000000..3301a48137cee003921db5c26f54efdf67f3cc14 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/d92c14d3-97a2-4658-b5b6-15304a75aaa1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When a <\/span>timeout<\/span><\/b> operation is processed, if a timer name is indicated, the\ntimeout-list is searched according to the TTCN\u20113 scope rules. If there is\na timeout event matching the timer name, that event is removed from the\ntimeout-list, and the <\/span>timeout<\/span><\/b> operation succeeds.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fd0e53b3-45f4-456c-ac1c-03c2b3349723" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de4d952f-4c8c-4d0b-9ab2-a44c17eedbfa.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de4d952f-4c8c-4d0b-9ab2-a44c17eedbfa.json new file mode 100644 index 0000000000000000000000000000000000000000..e14ced4dae977acd9b010dee3b1febff67e9f480 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de4d952f-4c8c-4d0b-9ab2-a44c17eedbfa.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Stopping an inactive\ntimer is a valid operation, although it does not have any effect. Stopping an\nexpired timer causes the <\/span>entry for this timer in the\ntimeout-list to be removed.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "adca55e2-bd54-40d4-bdee-1ad0e1143a16" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de527e9c-9f16-43f5-b4b1-6a85e84932d4.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de527e9c-9f16-43f5-b4b1-6a85e84932d4.json new file mode 100644 index 0000000000000000000000000000000000000000..ff4db5f3ffc2f46c4b98d1ac29f6f96f760be2b2 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/de527e9c-9f16-43f5-b4b1-6a85e84932d4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>any<\/span><\/b> keyword may be used to check if any timer\nstarted on a component or module control is running<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e12cd713-3556-4c34-b1be-f74bce1153ca" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e31f6835-3cf4-4056-ac8d-cf87535e3b92.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e31f6835-3cf4-4056-ac8d-cf87535e3b92.json new file mode 100644 index 0000000000000000000000000000000000000000..09a0653d55deba88262d2dc1f5d02671e5d7ce8c --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e31f6835-3cf4-4056-ac8d-cf87535e3b92.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "23.5      The Running timer\noperation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "48114073-ad70-41bc-8991-87a62bb560bb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e3d61e8c-8ad8-4ee0-9acf-d09e1ef9b677.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e3d61e8c-8ad8-4ee0-9acf-d09e1ef9b677.json new file mode 100644 index 0000000000000000000000000000000000000000..f6355b48841be064ee0440da18a47434be5e3977 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/e3d61e8c-8ad8-4ee0-9acf-d09e1ef9b677.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

( ( TimerIdentifier<\/i>\n| TimerParIdentifier<\/i> ) { \"[\" SingleExpression<\/i>\n\"]\" } ) <\/p>\n\n

\".\" read<\/b><\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8536d318-b385-4b7f-ae95-a1918f041381" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ed7b113d-6f17-488e-a514-6c58af683c4d.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ed7b113d-6f17-488e-a514-6c58af683c4d.json new file mode 100644 index 0000000000000000000000000000000000000000..9643e195395a0a2aba7adbfe87312f7d05406d19 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ed7b113d-6f17-488e-a514-6c58af683c4d.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "\n<\/span><\/span>For FreeText <\/i>and TemplateInstance<\/i>,\n<\/i>the same rules and restrictions apply as for <\/i>the parameters of the <\/span>log<\/span><\/b>\nstatement.<\/span>" + }, + "_hidden": { + "key": "_hidden", + "type": "BOOL", + "value": true + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0e5baf15-1729-4fa1-b44d-fe01bc733cbe" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f162c357-8353-4b9a-958d-cd49e25fe6cd.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f162c357-8353-4b9a-958d-cd49e25fe6cd.json new file mode 100644 index 0000000000000000000000000000000000000000..2fb78f194776aec7bbbe48131bd868be111f8ae4 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f162c357-8353-4b9a-958d-cd49e25fe6cd.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The <\/span>all<\/span><\/b> keyword may be used to stop all timers that\nhave been started on a component or module control.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "cec28210-efe5-4f2d-957d-42914c6cf6dd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f3170372-624b-44ae-8712-626ea987993b.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f3170372-624b-44ae-8712-626ea987993b.json new file mode 100644 index 0000000000000000000000000000000000000000..1415794ff128e50f3c60e64586c60a44c41806ca --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f3170372-624b-44ae-8712-626ea987993b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The operation returns the value <\/span>true<\/span><\/b> if the timer is listed on the list, <\/span>false<\/span><\/b> otherwise.<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "00764b5e-62dc-4f8e-8404-984ca38f9d43" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f84e60dd-92e5-4c47-b956-6766f1e7ba04.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f84e60dd-92e5-4c47-b956-6766f1e7ba04.json new file mode 100644 index 0000000000000000000000000000000000000000..05c5572c2c79e3b5d090a0a2daebe8399aea0933 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/f84e60dd-92e5-4c47-b956-6766f1e7ba04.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Starting a timer with a negative\ntimer value, e.g. the timer value is the result of an expression, or without a\nspecified timer value shall cause a runtime error." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e58d3ad3-fea2-4db0-b9e7-a7ae27667bcc" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/fc24ad03-35fd-4b50-a54d-d8f81f6e489e.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/fc24ad03-35fd-4b50-a54d-d8f81f6e489e.json new file mode 100644 index 0000000000000000000000000000000000000000..2c77d3bc30f47826cf624074109a4564d1914e00 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/fc24ad03-35fd-4b50-a54d-d8f81f6e489e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

( ( ( TimerIdentifier<\/i> | TimerParIdentifier<\/i>\n) { \"[\" SingleExpression<\/i> \"]\" } ) |<\/p>\n\n

      all<\/b> timer<\/b> )<\/p>\n\n

\".\" stop<\/b><\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a4d7515e-bdd9-445c-b42c-f6871a62f5dd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ff8ae620-eedd-4a64-b5fd-03c91fd9ca5c.json b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ff8ae620-eedd-4a64-b5fd-03c91fd9ca5c.json new file mode 100644 index 0000000000000000000000000000000000000000..193eb6ea836f278e64889bb9df57b275c2464af6 --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml/ff8ae620-eedd-4a64-b5fd-03c91fd9ca5c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The verdict can have five different values:\n<\/span>pass<\/span><\/b>, <\/span>fail<\/span><\/b>, <\/span>inconc<\/span><\/b>, <\/span>none<\/span> <\/span><\/b>and <\/span>error<\/span><\/b>, i.e. the\ndistinguished values of the <\/span>verdicttype<\/span><\/b> (see clause 6.1)<\/span>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fd212d58-0d43-4c8a-bd7e-954745c4cca6" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/es_20187301v040301p.xhtml b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/es_20187301v040301p.xhtml new file mode 100644 index 0000000000000000000000000000000000000000..e63387d7361194e94a7303372a47b4084d34661c --- /dev/null +++ b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/es_20187301v040301p.xhtml @@ -0,0 +1,41007 @@ + + + + + +ETSI ES 201 873-1 V4.3.1 + + + + + + + + + + + + +

+ +
+
+ +
+ +
+ + + + + +
+
+

Reference

+
+

RES/MTS-00107-1 + T3 ed431 core

+
+

Keywords

+
+

methodology, + MTS, testing, TTCN

+
+ +
+ +
+ +

 

+ +
+ + + + + +
+

ETSI

+
+

650 Route + des Lucioles

+

F-06921 + Sophia Antipolis Cedex - FRANCE

+
+

 

+

Tel.: +33 4 92 94 42 00   Fax: +33 4 + 93 65 47 16

+

 

+

Siret N° + 348 623 562 00017 - NAF 742 C

+

Association + à but non lucratif enregistrée à la

+

Sous-Préfecture + de Grasse (06) N° 7803/88

+

 

+
+ +
+ +
+ +

 

+ +

 

+ +
+ + + + + +
+
+

Important + notice

+
+

Individual + copies of the present document can be downloaded from:
+
http://www.etsi.org

+

The + present document may be made available in more than one electronic version or + in print. In any case of existing or perceived difference in contents between + such versions, the reference version is the + Portable Document Format (PDF). In case of dispute, the reference shall be + the printing on ETSI printers of the PDF version kept on a specific network + drive within ETSI Secretariat.

+

Users of + the present document should be aware that the document may be subject to + revision or change of status. Information on the current status of this and + other ETSI documents is available at http://portal.etsi.org/tb/status/status.asp

+
+

If you find errors in the present document, please send + your comment to one of the following services:
+
http://portal.etsi.org/chaircor/ETSI_support.asp

+

Copyright + Notification

+
+

No part may be + reproduced except as authorized by written permission.
+ The copyright and the foregoing restriction extend to reproduction in all + media.

+

 

+

© European + Telecommunications Standards Institute 2011.

+

All rights reserved.
+
+

+

DECTTM, PLUGTESTSTM, + UMTSTM, TIPHONTM, the TIPHON logo and the + ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.
+ 3GPPTM is a Trade Mark of ETSI registered for the benefit + of its Members and of the 3GPP Organizational Partners.
+ LTEâ„¢ is a Trade Mark of ETSI currently being registered
+ for the benefit of its Members and of the 3GPP Organizational Partners.
+ GSM® and the GSM logo are Trade Marks registered and owned by the GSM + Association.

+
+ +
+ +
+
+
+ +
+ +

Contents

+ +
+ +

Intellectual Property Rights.................................................................................................................. 11

+ +

Foreword............................................................................................................................................. 11

+ +

1....... Scope......................................................................................................................................... 12

+ +

2....... References................................................................................................................................. 12

+ +

2.1............ Normative references....................................................................................................................................................... 12

+ +

2.2............ Informative references.................................................................................................................................................... 13

+ +

3....... Definitions and abbreviations.................................................................................................... 14

+ +

3.1............ Definitions.......................................................................................................................................................................... 14

+ +

3.2............ Abbreviations.................................................................................................................................................................... 17

+ +

4....... Introduction............................................................................................................................... 17

+ +

4.1............ The core language and +presentation formats.............................................................................................................. 18

+ +

4.2............ Unanimity of the +specification....................................................................................................................................... 19

+ +

4.3............ Conformance.................................................................................................................................................................... 19

+ +

5....... Basic language elements............................................................................................................ 20

+ +

5.1............ Identifiers and keywords................................................................................................................................................. 20

+ +

5.2............ Scope rules......................................................................................................................................................................... 21

+ +

5.2.1............... Scope of formal +parameters..................................................................................................................................... 23

+ +

5.2.2............... Uniqueness of +identifiers........................................................................................................................................... 23

+ +

5.3............ Ordering of language elements....................................................................................................................................... 24

+ +

5.4............ Parameterization............................................................................................................................................................... 24

+ +

5.4.1............... Formal parameters..................................................................................................................................................... 24

+ +

5.4.1.1.................. Formal parameters +of kind value...................................................................................................................... 25

+ +

5.4.1.2.................. Formal parameters +of kind template................................................................................................................ 27

+ +

5.4.1.3.................. Formal parameters +of kind timer...................................................................................................................... 28

+ +

5.4.1.4.................. Formal parameters +of kind port........................................................................................................................ 29

+ +

5.4.2............... Actual parameters...................................................................................................................................................... 29

+ +

5.5............ Cyclic Definitions.............................................................................................................................................................. 32

+ +

6....... Types and values....................................................................................................................... 32

+ +

6.1............ Basic types and values.................................................................................................................................................... 33

+ +

6.1.0............... Simple basic types and +values................................................................................................................................. 33

+ +

6.1.1............... Basic string types and +values................................................................................................................................... 34

+ +

6.1.1.1.................. Accessing +individual string elements................................................................................................................. 36

+ +

6.1.2............... Subtyping of basic types........................................................................................................................................... 36

+ +

6.1.2.1.................. Lists of values....................................................................................................................................................... 36

+ +

6.1.2.2.................. Lists of types......................................................................................................................................................... 36

+ +

6.1.2.3.................. Ranges.................................................................................................................................................................... 37

+ +

6.1.2.4.................. String length +restrictions...................................................................................................................................... 37

+ +

6.1.2.5.................. Pattern subtyping +of character string types..................................................................................................... 38

+ +

6.1.2.6.................. Mixing subtyping +mechanisms.......................................................................................................................... 38

+ +

6.1.2.6.1..................... Mixing +patterns, lists and ranges................................................................................................................. 38

+ +

6.1.2.6.2..................... Using length +restriction with other constraints........................................................................................... 39

+ +

6.2............ Structured types and values............................................................................................................................................ 39

+ +

6.2.1............... Record type and values............................................................................................................................................. 41

+ +

6.2.1.1.................. Referencing fields +of a record type................................................................................................................... 42

+ +

6.2.1.2.................. Optional elements +in a record............................................................................................................................ 42

+ +

6.2.1.3.................. Nested type +definitions for field types.............................................................................................................. 43

+ +

6.2.2............... Set type and values.................................................................................................................................................... 43

+ +

6.2.2.1.................. Referencing fields +of a set type......................................................................................................................... 43

+ +

6.2.2.2.................. Optional elements +in a set................................................................................................................................... 43

+ +

6.2.2.3.................. Nested type +definition for field types............................................................................................................... 43

+ +

6.2.3............... Records and sets of +single types.............................................................................................................................. 44

+ +

6.2.3.1.................. Nested type +definitions........................................................................................................................................ 45

+ +

6.2.3.2.................. Referencing +elements of record of and set of types...................................................................................... 45

+ +

6.2.4............... Enumerated type and +values................................................................................................................................... 46

+ +

6.2.5............... Unions........................................................................................................................................................................... 47

+ +

6.2.5.1.................. Referencing fields +of a union type.................................................................................................................... 47

+ +

6.2.5.2.................. Option and union................................................................................................................................................. 48

+ +

6.2.5.3.................. Nested type +definition for field types............................................................................................................... 48

+ +

6.2.6............... The anytype................................................................................................................................................................ 48

+ +

6.2.7............... Arrays........................................................................................................................................................................... 48

+ +

6.2.8............... The default type......................................................................................................................................................... 50

+ +

6.2.9............... Communication port types....................................................................................................................................... 50

+ +

6.2.10............. Component types....................................................................................................................................................... 52

+ +

6.2.10.1................ Component type +definition................................................................................................................................ 52

+ +

6.2.10.2................ Reuse of component +types................................................................................................................................. 53

+ +

6.2.11............. Component references.............................................................................................................................................. 55

+ +

6.2.12............. Addressing entities +inside the SUT........................................................................................................................... 57

+ +

6.2.13............. Subtyping of structured +types.................................................................................................................................. 59

+ +

6.2.13.1................ Length subtyping of +record ofs and set ofs..................................................................................................... 59

+ +

6.2.13.2................ List subtyping of +structured types and anytype............................................................................................. 60

+ +

6.2.13.3................ Subtyping of the +iterated type of record ofs and set ofs............................................................................... 62

+ +

6.2.13.4................ Mixing subtyping +mechanisms.......................................................................................................................... 63

+ +

6.3............ Type compatibility........................................................................................................................................................... 63

+ +

6.3.1............... Type compatibility of +non-structured types.......................................................................................................... 63

+ +

6.3.2............... Type compatibility of structured +types.................................................................................................................. 64

+ +

6.3.2.1.................. Type compatibility +of enumerated types........................................................................................................ 64

+ +

6.3.2.2.................. Type compatibility +of record and record of types......................................................................................... 64

+ +

6.3.2.3.................. Type compatibility +of set and set of types...................................................................................................... 66

+ +

6.3.2.4.................. Type compatibility +of union types.................................................................................................................... 67

+ +

6.3.2.5.................. Type compatibility +of anytype types............................................................................................................... 67

+ +

6.3.2.6.................. Compatibility +between sub-structures.............................................................................................................. 68

+ +

6.3.3............... Type compatibility of +component types................................................................................................................ 68

+ +

6.3.4............... Type compatibility of +communication operations.............................................................................................. 68

+ +

6.3.5............... Type conversion......................................................................................................................................................... 69

+ +

6.4............ Type synonym.................................................................................................................................................................. 69

+ +

7....... Expressions................................................................................................................................ 69

+ +

7.1............ Operators............................................................................................................................................................................ 70

+ +

7.1.1............... Arithmetic operators.................................................................................................................................................. 71

+ +

7.1.2............... List operator................................................................................................................................................................ 72

+ +

7.1.3............... Relational operators................................................................................................................................................... 72

+ +

7.1.4............... Logical operators........................................................................................................................................................ 74

+ +

7.1.5............... Bitwise operators........................................................................................................................................................ 74

+ +

7.1.6............... Shift operators............................................................................................................................................................. 75

+ +

7.1.7............... Rotate operators......................................................................................................................................................... 76

+ +

7.2............ Field references and list +elements................................................................................................................................... 76

+ +

8....... Modules..................................................................................................................................... 77

+ +

8.1............ Definition of a module..................................................................................................................................................... 77

+ +

8.2............ Module definitions part................................................................................................................................................... 78

+ +

8.2.1............... Module parameters.................................................................................................................................................... 78

+ +

8.2.2............... Groups of definitions................................................................................................................................................. 80

+ +

8.2.3............... Importing from modules........................................................................................................................................... 81

+ +

8.2.3.1.................. General format of +import................................................................................................................................... 81

+ +

8.2.3.2.................. Importing single +definitions................................................................................................................................ 87

+ +

8.2.3.3.................. Importing groups.................................................................................................................................................. 88

+ +

8.2.3.4.................. Importing +definitions of the same kind............................................................................................................ 89

+ +

8.2.3.5.................. Importing all +definitions of a module............................................................................................................... 90

+ +

8.2.3.6.................. Import definitions +from other TTCN‑3 editions and from non-TTCN‑3 modules.................................. 90

+ +

8.2.3.7.................. Importing of import +statements from TTCN-3 modules.............................................................................. 92

+ +

8.2.3.8.................. Compatibility of +language specifications in imports..................................................................................... 93

+ +

8.2.4............... Definition of friend +modules.................................................................................................................................... 93

+ +

8.2.5............... Visibility of +definitions............................................................................................................................................... 94

+ +

8.3............ Module control part.......................................................................................................................................................... 95

+ +

9....... Port types, component types and test +configurations.................................................................. 96

+ +

9.1............ Communication ports...................................................................................................................................................... 97

+ +

9.2............ Test system interface....................................................................................................................................................... 99

+ +

10..... Declaring constants.................................................................................................................. 101

+ +

11..... Declaring variables.................................................................................................................. 101

+ +

11.1.......... Value variables............................................................................................................................................................... 101

+ +

11.2.......... Template variables......................................................................................................................................................... 102

+ +

12..... Declaring timers....................................................................................................................... 103

+ +

13..... Declaring messages.................................................................................................................. 104

+ +

14..... Declaring procedure signatures................................................................................................ 104

+ +

15..... Declaring templates.................................................................................................................. 106

+ +

15.1.......... Declaring message templates....................................................................................................................................... 106

+ +

15.2.......... Declaring signature templates...................................................................................................................................... 108

+ +

15.3.......... Global and local templates........................................................................................................................................... 109

+ +

15.4.......... In-line Templates............................................................................................................................................................ 110

+ +

15.5.......... Modified templates........................................................................................................................................................ 111

+ +

15.6.......... Referencing elements of +templates or template fields............................................................................................. 113

+ +

15.6.1............. Referencing individual +string elements................................................................................................................. 113

+ +

15.6.2............. Referencing record +and set fields................................................................................................................... 114

+ +

15.6.3............. Referencing record +of and set of elements................................................................................................ 115

+ +

15.6.4............. Referencing signature +parameters......................................................................................................................... 116

+ +

15.7.......... Template matching mechanisms................................................................................................................................ 117

+ +

15.7.1............. Specific values.......................................................................................................................................................... 118

+ +

15.7.2............. Special symbols that can +be used instead of values.......................................................................................... 118

+ +

15.7.3............. Special symbols that can +be used inside values................................................................................................. 119

+ +

15.7.4............. Special symbols which +describe attributes of values......................................................................................... 119

+ +

15.8.......... Template Restrictions.................................................................................................................................................... 120

+ +

15.9.......... Match Operation............................................................................................................................................................ 122

+ +

15.10........ Valueof Operation.......................................................................................................................................................... 123

+ +

15.11........ Concatenating templates of +string and list types...................................................................................................... 123

+ +

16..... Functions, altsteps and testcases.............................................................................................. 125

+ +

16.1.......... Functions.......................................................................................................................................................................... 125

+ +

16.1.1............. Invoking functions................................................................................................................................................... 126

+ +

16.1.2............. Predefined functions................................................................................................................................................ 128

+ +

16.1.3............. External functions.................................................................................................................................................... 130

+ +

16.1.4............. Invoking functions from +specific places.............................................................................................................. 130

+ +

16.2.......... Altsteps............................................................................................................................................................................. 131

+ +

16.2.1............. Invoking altsteps...................................................................................................................................................... 132

+ +

16.3.......... Test cases......................................................................................................................................................................... 134

+ +

17..... Void......................................................................................................................................... 135

+ +

18..... Overview of program statements and +operations..................................................................... 135

+ +

19..... Basic program statements......................................................................................................... 137

+ +

19.1.......... Assignments..................................................................................................................................................................... 138

+ +

19.2.......... The If-else statement..................................................................................................................................................... 138

+ +

19.3.......... The Select case statement............................................................................................................................................. 139

+ +

19.4.......... The For statement.......................................................................................................................................................... 140

+ +

19.5.......... The While statement...................................................................................................................................................... 140

+ +

19.6.......... The Do-while statement................................................................................................................................................ 141

+ +

19.7.......... The Label statement...................................................................................................................................................... 141

+ +

19.8.......... The Goto statement....................................................................................................................................................... 142

+ +

19.9.......... The Stop execution statement..................................................................................................................................... 143

+ +

19.10........ The Return statement.................................................................................................................................................... 143

+ +

19.11........ The Log statement......................................................................................................................................................... 144

+ +

19.12........ The Break statement..................................................................................................................................................... 145

+ +

19.13........ The Continue statement................................................................................................................................................ 146

+ +

19.14........ Statement block.............................................................................................................................................................. 147

+ +

20..... Statement and operations for +alternative behaviours................................................................ 147

+ +

20.1.......... The snapshot mechanism............................................................................................................................................. 147

+ +

20.2.......... The Alt statement........................................................................................................................................................... 148

+ +

20.3.......... The Repeat statement................................................................................................................................................... 152

+ +

20.4.......... The Interleave statement.............................................................................................................................................. 153

+ +

20.5.......... Default Handling............................................................................................................................................................ 154

+ +

20.5.1............. The default mechanism.......................................................................................................................................... 155

+ +

20.5.2............. The Activate operation........................................................................................................................................... 155

+ +

20.5.3............. The Deactivate operation....................................................................................................................................... 156

+ +

21..... Configuration Operations......................................................................................................... 157

+ +

21.1.......... Connection Operations.................................................................................................................................................. 158

+ +

21.1.1............. The Connect and Map +operations........................................................................................................................ 158

+ +

21.1.2............. The Disconnect and Unmap +operations.............................................................................................................. 160

+ +

21.2.......... Test case operations....................................................................................................................................................... 161

+ +

21.2.1............. Test case stop operation......................................................................................................................................... 161

+ +

21.3.......... Test Component Operations........................................................................................................................................ 161

+ +

21.3.1............. The Create operation............................................................................................................................................... 161

+ +

21.3.2............. The Start test component +operation..................................................................................................................... 163

+ +

21.3.3............. The Stop test behaviour +operation........................................................................................................................ 164

+ +

21.3.4............. The Kill test component +operation........................................................................................................................ 165

+ +

21.3.5............. The Alive operation................................................................................................................................................. 166

+ +

21.3.6............. The Running operation........................................................................................................................................... 166

+ +

21.3.7............. The Done operation................................................................................................................................................. 167

+ +

21.3.8............. The Killed operation................................................................................................................................................ 168

+ +

21.3.9............. Summary of the use of any +and all with components...................................................................................... 169

+ +

22..... Communication operations...................................................................................................... 169

+ +

22.1.......... The communication mechanisms............................................................................................................................... 170

+ +

22.1.1............. Principles of +message-based communication..................................................................................................... 170

+ +

22.1.2............. Principles of +procedure-based communication.................................................................................................. 170

+ +

22.1.3............. Principles of unicast, +multicast and broadcast communication...................................................................... 171

+ +

22.1.4............. General format of +communication operations................................................................................................... 171

+ +

22.1.4.1................ General format of +the sending operations..................................................................................................... 172

+ +

22.1.4.2................ General format of +the receiving operations.................................................................................................. 172

+ +

22.2.......... Message-based communication.................................................................................................................................. 173

+ +

22.2.1............. The Send operation.................................................................................................................................................. 173

+ +

22.2.2............. The Receive operation............................................................................................................................................ 174

+ +

22.2.3............. The Trigger operation.............................................................................................................................................. 177

+ +

22.3.......... Procedure-based communication................................................................................................................................ 178

+ +

22.3.1............. The Call operation................................................................................................................................................... 178

+ +

22.3.2............. The Getcall operation.............................................................................................................................................. 182

+ +

22.3.3............. The Reply operation................................................................................................................................................ 184

+ +

22.3.4............. The Getreply operation........................................................................................................................................... 185

+ +

22.3.5............. The Raise operation................................................................................................................................................. 186

+ +

22.3.6............. The Catch operation................................................................................................................................................ 187

+ +

22.4.......... The Check operation..................................................................................................................................................... 189

+ +

22.5.......... Controlling communication +ports................................................................................................................................ 191

+ +

22.5.1............. The Clear port operation......................................................................................................................................... 191

+ +

22.5.2............. The Start port operation.......................................................................................................................................... 191

+ +

22.5.3............. The Stop port operation.......................................................................................................................................... 192

+ +

22.5.4............. The Halt port operation.......................................................................................................................................... 192

+ +

22.6.......... Use of any and all with ports........................................................................................................................................ 193

+ +

23..... Timer operations...................................................................................................................... 194

+ +

23.1.......... The timer mechanism.................................................................................................................................................... 194

+ +

23.2.......... The Start timer operation.............................................................................................................................................. 194

+ +

23.3.......... The Stop timer operation.............................................................................................................................................. 195

+ +

23.4.......... The Read timer operation............................................................................................................................................. 196

+ +

23.5.......... The Running timer operation....................................................................................................................................... 196

+ +

23.6.......... The Timeout operation.................................................................................................................................................. 196

+ +

23.7.......... Summary of use of any and all +with timers.............................................................................................................. 197

+ +

24..... Test verdict operations............................................................................................................. 197

+ +

24.1.......... The Verdict mechanism................................................................................................................................................ 198

+ +

24.2.......... The Setverdict operation............................................................................................................................................... 199

+ +

24.3.......... The Getverdict operation.............................................................................................................................................. 199

+ +

25..... External actions....................................................................................................................... 200

+ +

26..... Module control........................................................................................................................ 200

+ +

26.1.......... The Execute statement.................................................................................................................................................. 201

+ +

26.2.......... The Control part............................................................................................................................................................. 203

+ +

27..... Specifying attributes................................................................................................................ 205

+ +

27.1.......... The Attribute mechanism............................................................................................................................................. 205

+ +

27.1.1............. Scope of attributes................................................................................................................................................... 205

+ +

27.1.2............. Overwriting rules for +attributes............................................................................................................................... 206

+ +

27.1.2.1................ Additional +overwriting rules for variant attributes....................................................................................... 207

+ +

27.1.3............. Changing attributes of +imported language elements......................................................................................... 207

+ +

27.2.......... The With statement........................................................................................................................................................ 208

+ +

27.3.......... Display attributes............................................................................................................................................................ 208

+ +

27.4.......... Encoding attributes........................................................................................................................................................ 209

+ +

27.5.......... Variant attributes............................................................................................................................................................ 210

+ +

27.6.......... Extension attributes....................................................................................................................................................... 211

+ +

27.7.......... Optional attributes.......................................................................................................................................................... 212

+ +

Annex A (normative):........ BNF and static +semantics.................................................................... 214

+ +

A.1... TTCN‑3 BNF........................................................................................................................... 214

+ +

A.1.1........ Conventions for the syntax +description..................................................................................................................... 214

+ +

A.1.2........ Statement terminator symbols..................................................................................................................................... 214

+ +

A.1.3........ Identifiers......................................................................................................................................................................... 214

+ +

A.1.4........ Comments....................................................................................................................................................................... 214

+ +

A.1.5........ TTCN‑3 terminals........................................................................................................................................................... 215

+ +

A.1.5.1........... Use of whitespaces and +newlines.......................................................................................................................... 217

+ +

A.1.6........ TTCN-3 syntax BNF productions............................................................................................................................... 218

+ +

A.1.6.0........... TTCN-3 module....................................................................................................................................................... 218

+ +

A.1.6.1........... Module definitions part........................................................................................................................................... 218

+ +

A.1.6.1.0.............. General................................................................................................................................................................. 218

+ +

A.1.6.1.1.............. Typedef definitions........................................................................................................................................... 218

+ +

A.1.6.1.2.............. Constant definitions.......................................................................................................................................... 220

+ +

A.1.6.1.3.............. Template definitions......................................................................................................................................... 220

+ +

A.1.6.1.4.............. Function definitions........................................................................................................................................... 222

+ +

A.1.6.1.5.............. Signature definitions.......................................................................................................................................... 222

+ +

A.1.6.1.6.............. Testcase definitions........................................................................................................................................... 223

+ +

A.1.6.1.7.............. Altstep definitions.............................................................................................................................................. 223

+ +

A.1.6.1.8.............. Import definitions.............................................................................................................................................. 223

+ +

A.1.6.1.9.............. Group definitions............................................................................................................................................... 224

+ +

A.1.6.1.10............ External function +definitions........................................................................................................................... 224

+ +

A.1.6.1.11............ External constant +definitions........................................................................................................................... 224

+ +

A.1.6.1.12............ Module parameter +definitions......................................................................................................................... 224

+ +

A.1.6.1.13............ Friend module +definitions................................................................................................................................. 224

+ +

A.1.6.2........... Control part............................................................................................................................................................... 224

+ +

A.1.6.3........... Local definitions....................................................................................................................................................... 224

+ +

A.1.6.3.1.............. Variable +instantiation........................................................................................................................................ 224

+ +

A.1.6.3.2.............. Timer instantiation............................................................................................................................................ 225

+ +

A.1.6.4........... Operations................................................................................................................................................................. 225

+ +

A.1.6.4.1.............. Component operations..................................................................................................................................... 225

+ +

A.1.6.4.2.............. Port operations................................................................................................................................................... 226

+ +

A.1.6.4.3.............. Timer operations................................................................................................................................................ 227

+ +

A.1.6.4.4.............. Testcase operation............................................................................................................................................. 227

+ +

A.1.6.5........... Type............................................................................................................................................................................ 227

+ +

A.1.6.6........... Value.......................................................................................................................................................................... 228

+ +

A.1.6.7........... Parameterization...................................................................................................................................................... 229

+ +

A.1.6.8........... Statements................................................................................................................................................................. 229

+ +

A.1.6.8.1.............. With statement................................................................................................................................................... 229

+ +

A.1.6.8.2.............. Behaviour statements....................................................................................................................................... 230

+ +

A.1.6.8.3.............. Basic statements................................................................................................................................................ 230

+ +

A.1.6.9........... Miscellaneous productions..................................................................................................................................... 233

+ +

Annex B (normative):......... Matching values.................................................................................. 234

+ +

B.1... Template matching mechanisms.............................................................................................. 234

+ +

B.1.1........ Matching specific values............................................................................................................................................... 234

+ +

B.1.2........ Matching mechanisms instead of +values................................................................................................................... 234

+ +

B.1.2.1........... Value list.................................................................................................................................................................... 234

+ +

B.1.2.2........... Complemented value list........................................................................................................................................ 235

+ +

B.1.2.3........... Any value.................................................................................................................................................................. 235

+ +

B.1.2.4........... Any value or none.................................................................................................................................................... 235

+ +

B.1.2.5........... Value range............................................................................................................................................................... 235

+ +

B.1.2.6........... SuperSet..................................................................................................................................................................... 236

+ +

B.1.2.7........... SubSet........................................................................................................................................................................ 236

+ +

B.1.2.8........... Omitting optional fields........................................................................................................................................... 237

+ +

B.1.3........ Matching mechanisms inside +values.......................................................................................................................... 237

+ +

B.1.3.1........... Any element.............................................................................................................................................................. 237

+ +

B.1.3.1.1.............. Using single +character wildcards...................................................................................................................... 238

+ +

B.1.3.2........... Any number of elements or +no element............................................................................................................... 238

+ +

B.1.3.2.1.............. Using multiple character +wildcards................................................................................................................. 238

+ +

B.1.3.3........... Permutation............................................................................................................................................................... 238

+ +

B.1.4........ Matching attributes of values...................................................................................................................................... 239

+ +

B.1.4.1........... Length restrictions.................................................................................................................................................... 239

+ +

B.1.4.2........... The IfPresent indicator............................................................................................................................................ 240

+ +

B.1.5........ Matching character pattern.......................................................................................................................................... 240

+ +

B.1.5.1........... Set expression........................................................................................................................................................... 242

+ +

B.1.5.2........... Reference expression............................................................................................................................................... 243

+ +

B.1.5.3........... Match expression n times....................................................................................................................................... 244

+ +

B.1.5.4........... Match a referenced +character set.......................................................................................................................... 244

+ +

B.1.5.5........... Type compatibility rules +for patterns................................................................................................................... 245

+ +

Annex C (normative):........ Pre-defined TTCN‑3 +functions............................................................ 246

+ +

C.0... General exception handling procedures................................................................................... 246

+ +

C.1... Integer to character.................................................................................................................. 246

+ +

C.2... Integer to universal character................................................................................................... 246

+ +

C.3... Integer to bitstring.................................................................................................................... 246

+ +

C.4... Integer to hexstring.................................................................................................................. 247

+ +

C.5... Integer to octetstring................................................................................................................. 247

+ +

C.6... Integer to charstring................................................................................................................. 247

+ +

C.7... Integer +to float......................................................................................................................... 247

+ +

C.8... Float to +integer......................................................................................................................... 248

+ +

C.9... Character to integer.................................................................................................................. 248

+ +

C.10. Character to octetstring............................................................................................................ 248

+ +

C.11. Universal character to integer................................................................................................... 248

+ +

C.12. Bitstring to integer.................................................................................................................... 249

+ +

C.13. Bitstring +to hexstring................................................................................................................ 249

+ +

C.14. Bitstring +to octetstring.............................................................................................................. 249

+ +

C.15. Bitstring +to charstring............................................................................................................... 250

+ +

C.16. Hexstring to integer.................................................................................................................. 250

+ +

C.17. Hexstring +to bitstring................................................................................................................ 250

+ +

C.18. Hexstring +to octetstring............................................................................................................ 251

+ +

C.19. Hexstring +to charstring............................................................................................................. 251

+ +

C.20. Octetstring to integer................................................................................................................ 251

+ +

C.21. Octetstring +to bitstring.............................................................................................................. 251

+ +

C.22. Octetstring +to hexstring............................................................................................................ 252

+ +

C.23. Octetstring +to character string................................................................................................... 252

+ +

C.24. Octetstring +to character string, version II.................................................................................. 252

+ +

C.25. Charstring to integer................................................................................................................. 253

+ +

C.26. Character string to hexstring..................................................................................................... 253

+ +

C.27. Character string to octetstring................................................................................................... 253

+ +

C.28. Character string to float............................................................................................................ 254

+ +

C.29. Length of strings and lists........................................................................................................ 254

+ +

C.30. Number of elements in a structured +value................................................................................ 256

+ +

C.31. The IsPresent function............................................................................................................. 256

+ +

C.32. The IsChosen function............................................................................................................. 257

+ +

C.33. The Regexp function............................................................................................................... 258

+ +

C.34. The Substring function............................................................................................................. 259

+ +

C.35. The Replace function............................................................................................................... 260

+ +

C.36. The +random number generator function................................................................................... 261

+ +

C.37. Enumerated +to integer.............................................................................................................. 261

+ +

C.38. The IsValue function............................................................................................................... 262

+ +

C.39. The +encoding function............................................................................................................. 263

+ +

C.40. The +decoding function............................................................................................................. 263

+ +

C.41. The +testcasename function....................................................................................................... 264

+ +

C.42. Integer +to enumerated.............................................................................................................. 265

+ +

Annex D (normative):........ Preprocessing +macros......................................................................... 266

+ +

D.1... Preprocessing macro __MODULE__....................................................................................... 266

+ +

D.2... Preprocessing macro __FILE__............................................................................................... 266

+ +

D.3... Preprocessing macro __BFILE__............................................................................................. 266

+ +

D.4... Preprocessing macro __LINE__............................................................................................... 266

+ +

D.5... Preprocessing macro __SCOPE__............................................................................................ 267

+ +

Annex E (informative):...... Library of Useful Types...................................................................... 269

+ +

E.1... Limitations............................................................................................................................... 269

+ +

E.2... Useful +TTCN‑3 types............................................................................................................... 269

+ +

E.2.1......... Useful +simple basic types.............................................................................................................................................. 269

+ +

E.2.1.0............ Signed +and unsigned single byte integers............................................................................................................. 269

+ +

E.2.1.1............ Signed +and unsigned short integers....................................................................................................................... 269

+ +

E.2.1.2............ Signed +and unsigned long integers......................................................................................................................... 270

+ +

E.2.1.3............ Signed +and unsigned longlong integers................................................................................................................. 270

+ +

E.2.1.4............ IEEE +754 floats........................................................................................................................................................ 270

+ +

E.2.2......... Useful +character string types........................................................................................................................................ 271

+ +

E.2.2.0............ UTF-8 +character string "utf8string"....................................................................................................................... 271

+ +

E.2.2.1............ BMP +character string "bmpstring"......................................................................................................................... 271

+ +

E.2.2.2............ UTF-16 +character string "utf16string".................................................................................................................. 271

+ +

E.2.2.3............ ISO/IEC 10646 character string +"iso8859string"................................................................................................ 271

+ +

E.2.3......... Useful +structured types.................................................................................................................................................. 272

+ +

E.2.3.0............ Fixed-point +decimal literal...................................................................................................................................... 272

+ +

E.2.4......... Useful +atomic string types............................................................................................................................................. 272

+ +

E.2.4.1............ Single +ITU‑T Recommendation T.50 character type........................................................................................ 272

+ +

E.2.4.2............ Single +universal character type.............................................................................................................................. 272

+ +

E.2.4.3............ Single +bit type............................................................................................................................................................ 272

+ +

E.2.4.4............ Single +hex type.......................................................................................................................................................... 273

+ +

E.2.4.5............ Single +octet type....................................................................................................................................................... 273

+ +

Annex F (informative):....... Operations on TTCN‑3 active objects................................................ 274

+ +

F.1.... Test components...................................................................................................................... 274

+ +

F.1.1......... Test component references........................................................................................................................................... 274

+ +

F.1.2......... Dynamic behaviour of PTCs........................................................................................................................................ 275

+ +

F.1.3......... Dynamic behaviour of the MTC................................................................................................................................. 277

+ +

F.2.... Timers...................................................................................................................................... 278

+ +

F.3.... Ports......................................................................................................................................... 278

+ +

F.3.1......... Configuration Operations............................................................................................................................................. 278

+ +

F.3.2......... Port Controlling Operations.......................................................................................................................................... 279

+ +

F.3.3......... Communication Operations......................................................................................................................................... 280

+ +

Annex G (informative):...... Deprecated language features............................................................ 281

+ +

G.1... Group style definition of module +parameters........................................................................... 281

+ +

G.2... Recursive import...................................................................................................................... 281

+ +

G.3... Using all +in port type definitions........................................................................................... 281

+ +

G.4... sizeof for length of lists........................................................................................................... 281

+ +

G.5... sizeoftype predefined function................................................................................................ 281

+ +

G.6... Mixed ports.............................................................................................................................. 281

+ +

G.7... External constants.................................................................................................................... 282

+ +

G.8... Prefixing enumerated values.................................................................................................... 282

+ +

Annex H (informative):...... Bibliography........................................................................................ 283

+ +

History.............................................................................................................................................. 284

+ +

 

+ +
+
+ +
+ +

IPRs essential or potentially essential to +the present document may have been declared to ETSI. The information pertaining +to these essential IPRs, if any, is publicly available for ETSI members and +non-members, and can be found in ETSI SR 000 314: "Intellectual +Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to +ETSI in respect of ETSI standards", which is available from the ETSI +Secretariat. Latest updates are available on the ETSI Web server (http://webapp.etsi.org/IPR/home.asp).

+ +

Pursuant to the ETSI IPR Policy, no +investigation, including IPR searches, has been carried out by ETSI. No +guarantee can be given as to the existence of other IPRs not referenced in +ETSI SR 000 314 (or the updates on the ETSI Web server) which +are, or may be, or may become, essential to the present document.

+ +
+ +

Foreword

+ +
+ +

This ETSI +Standard (ES) has been produced by ETSI Technical Committee Methods for Testing +and Specification (MTS).

+ +

The present document is part 1 of a multi-part +deliverable covering the Testing and Test Control Notation version 3, as +identified below:

+ +

Part 1:      "TTCN‑3 Core Language";

+ +

Part 2:       "TTCN‑3 Tabular +presentation Format (TFT)";

+ +

Part 3:       "TTCN‑3 Graphical +presentation Format (GFT)";

+ +

Part 4:       "TTCN‑3 Operational +Semantics";

+ +

Part 5:       "TTCN‑3 Runtime Interface +(TRI)";

+ +

Part 6:       "TTCN‑3 Control Interface +(TCI)";

+ +

Part 7:       "Using ASN.1 with TTCN‑3";

+ +

Part 8:       "The IDL to TTCN-3 +Mapping";

+ +

Part 9:       "Use XML with TTCN-3";

+ +

Part 10:     "TTCN-3 Documentation Comment Specification".

+ +
+
+ + + +

The present document +defines the Core Language of TTCN‑3. TTCN‑3 can be used +for the specification of all types of reactive system tests over a variety of +communication ports. Typical areas of application are protocol testing (including +mobile and Internet protocols), service testing (including supplementary +services), module testing, testing of CORBA +based platforms, APIs, etc. TTCN‑3 is +not restricted to conformance testing and can be used for many other kinds of +testing including interoperability, robustness, regression, system and +integration testing. The specification of test suites for physical layer +protocols is outside the scope of the present document.

+ +

TTCN‑3 is +intended to be used for the specification of test suites which are independent +of test methods, layers and protocols. Various presentation formats are defined +for TTCN‑3 such as a tabular +presentation format (ES 201 873‑2 [i.1]) and a +graphical presentation format (ES 201 873-3 [i.2]). The +specification of these formats is outside the scope of the present document.

+ +

While the design of TTCN‑3 has taken the eventual +implementation of TTCN‑3 translators and +compilers into consideration the means of realization of Executable Test Suites +(ETS) from Abstract Test Suites (ATS) is outside the scope of the present document.

+ + + +

References are either specific (identified +by date of publication and/or edition number or version number) or non‑specific. +For specific references, only the cited version applies. For non-specific +references, the latest version of the reference document (including any +amendments) applies.

+ +

Referenced documents which are not found to +be publicly available in the expected location might be found at http://docbox.etsi.org/Reference.

+ +

NOTE:      While any hyperlinks included in this +clause were valid at the time of publication ETSI cannot guarantee their long +term validity.

+ +

2.1        Normative references

+ +

The following referenced documents are +necessary for the application of the present document.

+ +

[1]                          ETSI ES 201 +873-4: "Methods for Testing and Specification (MTS); The Testing and Test +Control Notation version 3; Part 4: TTCN-3 Operational Semantics".

+ +

[2]                          ISO/IEC 10646: +"Information technology - Universal Multiple-Octet Coded Character Set +(UCS)".

+ +

[3]                          ITU-T +Recommendation X.292 Series X: "Data Networks and Open System +Communications; Open Systems Interconnection - Conformance testing; OSI +conformance testing methodology and framework for protocol Recommendations for +ITU-T applications - The Tree and Tabular Combined Notation (TTCN)".

+ +

NOTE:      The corresponding ISO/IEC standard is ISO/IEC +9646-3: "Information technology - Open Systems Interconnection - Conformance +testing methodology and framework - Part 3: The Tree and Tabular Combined +Notation (TTCN)".

+ +

[4]                          ITU-T +Recommendation T.50: "Terminal Equipment and Protocols for Telematic +Services; International Reference Alphabet (IRA) (Formerly International +Alphabet No. 5 or IA5); Information technology - 7-Bit coded character set for +information interchange".

+ +

NOTE:      The corresponding ISO/IEC standard is ISO/IEC +646: "Information technology - ISO 7-bit coded character set for +information interchange".

+ +

[5]                          ITU-T +Recommendation X.290: "Data Networks and Open System Communications; Open +Systems Interconnection - Conformance testing; OSI conformance testing +methodology and framework for protocol Recommendations for ITU-T applications - +General concepts".

+ +

NOTE:      The corresponding ISO/IEC standard is ISO/IEC +9646-1: "Information technology - Open Systems Interconnection +-Conformance testing methodology and framework; Part 1: General concepts".

+ +

[6]                          IEEE 754: +"IEEE Standard for Floating-Point Arithmetic".

+ +

2.2        Informative references

+ +

The following referenced documents are not necessary for the application of the present document but they +assist the user with regard to a particular subject area.

+ +

[i.1]                        ETSI ES 201 873-2: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 2: TTCN-3 Tabular presentation Format (TFT)".

+ +

[i.2]                        ETSI ES 201 873-3: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 3: TTCN-3 Graphical presentation Format (GFT)".

+ +

[i.3]                        ETSI ES 201 873-5: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 5: TTCN-3 Runtime Interface (TRI)".

+ +

[i.4]                        ETSI ES 201 873-6: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 6: TTCN-3 Control Interface (TCI)".

+ +

[i.5]                        ETSI ES 201 873-7: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 7: Using ASN.1 with TTCN-3".

+ +

[i.6]                        ETSI ES 201 873-8: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 8: The IDL to TTCN-3 Mapping".

+ +

[i.7]                        ETSI ES 201 873-9: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 9: Using XML schema with TTCN-3".

+ +

[i.8]                        ETSI ES 201 873-10: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; Part 10: TTCN-3 Documentation Comment Specification".

+ +

[i.9]                        Void.

+ +

[i.10]                      Object Management +Group (OMG) (2001): "The Common Object Request Broker: Architecture and +Specification - IDL Syntax and Semantics". Version 2.6, FORMAL/01-12-01.

+ +

[i.11]                      ETSI ES 202 781: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; TTCN-3 Language Extensions: Configuration and Deployment +Support".

+ +

[i.12]                      ETSI ES 202 784: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; TTCN-3 Language Extensions: Advanced +Parameterization".

+ +

[i.13]                      ETSI ES 202 785: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; TTCN-3 Language Extensions: Behaviour Types".

+ +

[i.14]                      ETSI ES 202 782: +"Methods for Testing and Specification (MTS); The Testing and Test Control +Notation version 3; TTCN-3 Language Extensions: TTCN-3 Performance and Real +Time Testing".

+ + + +

3.1        Definitions

+ +

For the +purposes of the present document, the terms and definitions given in ITU‑T Recommendation X.290 +[5], ITU‑T Recommendation X.292 [3] and the following apply:

+ +

actual parameter: value, expression, template or name reference (identifier) to be +passed as parameter to the invoked entity (function, test case, altstep, etc.) +as defined at the place of invoking

+ +

basic +types: set of predefined TTCN‑3 types +described in clauses 6.1.0 and 6.1.1 of the present document

+ +

NOTE:      Basic types are referenced by their +names.

+ +

communication port: abstract mechanism facilitating communication +between test components

+ +

NOTE:      A communication port is modelled as a +FIFO queue in the receiving direction. Ports can be message‑based or +procedure-based.

+ +

compatible type: TTCN‑3 is not strongly typed but the language does require type +compatibility

+ +

NOTE:      Variables, constants, templates, etc. +have compatible types if conditions in clause 6.3 are met.

+ +

completely initialized: values and templates of simple types +are completely initialized if they are partially initialized

+ +

NOTE:      Values and templates of structured +types and arrays are completely initialized if all their fields and elements +are completely initialized. In case of record of, set of, and array values and +templates, this means at least the first n elements are initialized, where n is +the minimal length imposed by the type length restriction or array definition +(thus in case of n equals 0, the value "{}" also completely +initializes a record of, a set of or an array).

+ +

data types: +common name for simple basic types, basic string types, structured types, the +special data type anytype and all user defined types based on them (see table 3 +of the present document)

+ +

defined types (defined TTCN‑3 +types): set of all predefined TTCN‑3 types +(basic types, all structured types, the type anytype, the address, port and +component types and the default type) and all user-defined types declared +either in the module or imported from other TTCN‑3 modules

+ +

dynamic parameterization: form of parameterization, in which actual parameters are dependent +on run-time events; e.g. the value of the actual parameter is a value +received during run-time or depends on a received value by a logical relation

+ +

exception: in cases of procedure-based communication, an +exception (if defined) is raised by an answering entity if it cannot answer a +remote procedure call with the normal expected response

+ +

formal parameter: typed name or typed template reference (identifier) not resolved at +the time of the definition of an entity (function, test case, altstep, etc.) +but at the time of invoking it

+ +

NOTE:      Actual values or templates (or their +names) to be used at the place of formal parameters are passed from the place +of invoking the entity (see also the definition of actual parameter).

+ +

global visibility: attribute of an entity (module parameter, constant, template, etc.) +that its identifier can be referenced anywhere within the module where it is +defined including all functions, test cases and altsteps defined within +the same module and the control part of that module

+ +

implementation conformance +statement (ICS): See ITU‑T Recommendation X.290 +[5].

+ +

implementation extra + information for testing (IXIT): See +ITU‑T Recommendation X.290 [5].

+ +

implementation under +test (IUT): See +ITU‑T Recommendation X.290 [5].

+ +

in +parameterization: +kind of parameterization where the value of the actual parameter (the argument) +is bound to the formal parameter when the parameterized object is invoked, but +the value of the formal parameter is not passed back to the actual parameter +when the invoked object completes

+ +

NOTE 1:   The arguments are evaluated before the +parameterized object is entered.

+ +

NOTE 2:   Only the values of the arguments are +passed and changes to the arguments within the invoked object have no effect on +the arguments as seen by the invoking object.

+ +

inout parameterization: kind of parameterization where the +actual parameter is bound to the formal parameter when the parameterized object +is invoked

+ +

NOTE 1:   The invoked object uses the actual +parameter directly, so that all changes made on the formal parameter become +immediately effective on the actual parameter.

+ +

NOTE 2:   Inout parameters can be used for +functions, altsteps, and test cases only.

+ +

known types: +set of all TTCN‑3 predefined types, types defined in a TTCN‑3 +module and types imported into that module from other TTCN‑3 modules or +from non-TTCN‑3 modules

+ +

left hand +side (of assignment): value or template variable identifier or a field name of a +structured type value or template variable (including array index if any), +which stands left to an assignment symbol (:=)

+ +

NOTE:      A +constant, module parameter, timer, structured type field name or a template +header (including template type, name and formal parameter list) standing left +of an assignment symbol (:=) in declarations and or a modified template +definitions are out of the scope of this definition as not being part of an +assignment.

+ +

local visibility: attribute of an entity (constant, variable, etc.) that its +identifier can be referenced only within the function, test case or +altstep where it is defined

+ +

main test component (MTC): See ITU‑T Recommendation X.292 [3].

+ +

out +parameterization: +kind of parameterization where the value of the actual parameter (the argument) +is not bound to the formal parameter when the parameterized object is invoked, +but the value of the formal parameter is passed back to the actual parameter +when the invoked object completes

+ +

NOTE 1:   Out +parameters can be used for functions, altsteps, and test cases only.

+ +

NOTE 2:   An out +formal parameter is uninitialized (unbound) when the invoked object is entered.

+ +

NOTE 3:   The value is passed back to the actual +parameter only if within the invoked object a value is assigned to it. If no +value is assigned, the actual parameter remains unchanged when the invoked +object completes.

+ +

parallel test component (PTC): See ITU‑T Recommendation X.292 [3].

+ +

partially initialized: values are partially initialized if a +concrete value has been assigned to it or to at least one of its fields or +elements

+ +

NOTE 1:   A template variable is initialized if a +matching mechanism has been assigned to it or to at least one of its fields or +elements, directly or indirectly via expansion (see clause 15.6). A template is +initialized if a matching mechanism has been assigned to it, directly or +indirectly via expansion (see clause 15.6).

+ +

NOTE 2:   Thus, constants and templates are always +initialized at declaration. Variables (both value and template) are initialized +if they, or at least one of their fields or elements has been used on the left +hand side of an assignment (including initial value assignment at declaration). +Module parameters are initialized either at declaration or by the test system +before test execution.

+ +

port +parameterization: ability to pass a port as an actual parameter into a parameterized +object via a port parameter

+ +

NOTE:      This +actual port parameter is added to the specification of that object and may +complete it.

+ +

qualified +name: TTCN-3 elements can be identified +unambiguously by qualified names

+ +

NOTE:      For +modules, the qualified name is the <module name>. For global definitions +such as testcases, functions, etc., the qualified name is <module +name>.<definition name>. For control, the qualified name is <module +name>.control. For local definitions, such as variables, local templates, +etc. within a global definition, the qualified name is <module +name>.<global definition name>.<local definition name>.

+ +

right +hand side (of assignment): expression, template reference or signature parameter identifier +which stands right to an assignment symbol (:=)

+ +

NOTE:      Expressions and template references +standing right of an assignment symbol (:=) in constant, module parameter, +timer, template or modified template declarations are out of the scope of this definition +as not being part of an assignment.

+ +

root type: +root types of types derived from TTCN-3 basic types are the respective basic +types

+ +

NOTE 1:   The root type of user defined record +types is record, the root type of user defined record of and array types is record of, the root type of user defined set types is set, +the root type of user defined set of types is set of. The root +type of user defined union types is union and the root type of anytypes +is anytype. The root types of special configuration types are default or component, respectively. Port types do not have a root type.

+ +

NOTE 2:   As address is more a +predefined type name than a distinct type with its own properties, the root +type of an address type and all of its derivatives are the same, as the root type was, +if the type was defined with a name different from address.

+ +

static +parameterization: form of parameterization, in +which actual parameters are independent of run-time events; i.e. known at +compile time or in case of module parameters are known by the start of the test +suite execution

+ +

NOTE 1:   A static parameter is to be known from +the test suite specification, (including imported definitions), or the test +system is aware of its value before execution time.

+ +

NOTE 2:   All types are known at compile time, +i.e. are statically bound.

+ +

strong typing: strict enforcement of type compatibility by type name equivalence +with no exceptions

+ +

system under +test (SUT): See +ITU‑T Recommendation X.290 [5].

+ +

template: +TTCN‑3 templates are specific data structures for testing; used to either +transmit a set of distinct values or to check whether a set of received values +matches the template specification

+ +

template +parameterization: ability to pass a template as an actual parameter into a parameterized object +via a template parameter

+ +

NOTE 1:   This +actual template parameter is added to the specification of that object and may +complete it.

+ +

NOTE 2:   Values +passed to template formal parameters are considered to be in-line templates +(see clause 15.4).

+ +

test behaviour: (or behaviour) test case or a function started on a test component +when executing an execute or a start component statement and all functions and altsteps called +recursively

+ +

NOTE:      During a test case execution each test +components have its own behaviour and hence several test behaviour may run +concurrently in the test system (i.e. a test case can be seen as a collection +of test behaviours).

+ +

test case: See ITU‑T Recommendation X.290 +[5].

+ +

test case error: See ITU‑T Recommendation X.290 +[5].

+ +

test suite: set of TTCN‑3 modules that contains a completely defined set of test +cases, optionally supplemented with one or more TTCN‑3 control parts

+ +

test system: See ITU‑T Recommendation X.290 +[5].

+ +

test system +interface: test component that +provides a mapping of the ports available in the (abstract) TTCN‑3 test system to those offered +by the SUT

+ +

timer +parameterization: ability to pass a timer as an actual parameter into a parameterized +object via a timer parameter

+ +

NOTE:      This +actual timer parameter is added to the specification of that object and may +complete it.

+ +

type compatibility: language feature that allows to use values, expressions or +templates of a given type as actual values of another type (e.g. at +assignments, as actual parameters at calling a function, referencing a +template, etc. or as a return value of a function)

+ +

unqualified name: the unqualified name of a TTCN-3 element is its name without any +qualification

+ +

user-defined type: type that is defined by subtyping of a basic type or declaring a +structured type

+ +

NOTE:      User-defined types are referenced by +their identifiers (names).

+ +

value notation: notation by which an identifier is associated with a given value or +range of a particular type

+ +

NOTE:      Values may be constants or variables.

+ +

value +parameterization: ability to pass a value as an actual parameter into a parameterized +object via a value parameter

+ +

NOTE:      This +actual value parameter is added to the specification of that object and may +complete it.

+ +

3.2        Abbreviations

+ +

For the purposes of the present document, the following +abbreviations apply:

+ +

API                        Application +Programming Interface

+ +

ATS                       Abstract +Test Suite

+ +

BMP                      Basic Multilingual Plane

+ +

BNF                       Backus-Nauer Form

+ +

CORBA                Common Object Request Broker +Architecture

+ +

ETS                        Executable Test Suite

+ +

FIFO                      First In First Out

+ +

ICS                        Implementation +Conformance Statement

+ +

IDL                        Interface Definition +Language

+ +

IRV                        International Reference +Version

+ +

IUT                        Implementation Under +Test

+ +

IXIT                      Implementation eXtra Information for Testing

+ +

MTC                      Main Test Component

+ +

PTC                       Parallel Test Component

+ +

SUT                       System Under Test

+ +

TCI                        TTCN-3 Control +Interfaces

+ +

TRI                        TTCN-3 Runtime +Interfaces

+ +

TSI                         Test System Interface

+ +

TTCN-3                Testing and Test Control +Notation version 3

+ +

XML                      eXtensible Markup Language

+ + + +

TTCN‑3 +is a flexible and powerful language applicable to the specification of all +types of reactive system tests over a variety of communication interfaces. +Typical areas of application are protocol testing (including mobile and +Internet protocols), service testing (including supplementary services), module +testing, testing of CORBA based platforms, API testing, etc. TTCN‑3 is +not restricted to conformance testing and can be used for many other kinds of +testing including interoperability, robustness, regression, system and +integration testing.

+ +

TTCN‑3 includes the following +essential characteristics:

+ +

·            +the ability to specify dynamic concurrent +testing configurations;

+ +

·            +operations for procedure-based and message-based +communication;

+ +

·            +the ability to specify encoding information and +other attributes (including user extensibility);

+ +

·            +the ability to specify data and signature +templates with powerful matching mechanisms;

+ +

·            +value parameterization;

+ +

·            +the assignment and handling of test verdicts;

+ +

·            +test suite parameterization and test case +selection mechanisms;

+ +

·            +combined use of TTCN‑3 with other +languages;

+ +

·            +well-defined syntax, interchange format and +static semantics;

+ +

·            +different presentation formats (e.g. tabular and +graphical presentation formats);

+ +

·            +a precise execution algorithm (operational +semantics).

+ +

NOTE:      The present document uses the following +pattern of concept description: concepts, principles and mechanisms are +explained in (introductory) text at the beginning of a clause. For every +concept having concrete syntax, the syntactical structure of that concept is +presented afterwards. The syntactical structure follows the conventions for the +TTCN-3 syntax description in clause A.1.1 and uses rules of the TTCN-3 BNF given +in clause A.1. A semantic description follows the syntactic structure. The +restrictions on the concept are listed subsequently. Finally, examples on the +usage of the concept are given.

+ +

In case of a contradiction between the body of the present document (clauses 5 to 27) and annex A of the +present document, annex A has the priority.

+ +

4.1        The core language and +presentation formats

+ +

The TTCN‑3 specification is separated +into several parts (see figure 1).

+ +

The first part, defined in the present +document, is the core language.

+ +

The second part, defined in ES 201 +873-2 [i.1], is the +tabular presentation format.

+ +

The third part, defined in ES 201 +873-3 [i.2], is the graphical presentation format.

+ +

The fourth part, ES 201 873-4 [1], +contains the operational semantics of the language.

+ +

The fifth part, ES 201 873-5 [i.3], +defines the TTCN‑3 Runtime Interface (TRI).

+ +

The sixth part, ES 201 873-6 [i.4], +defines the TTCN‑3 Control Interfaces (TCI).

+ +

The seventh part, ES 201 873-7 [i.5], specifies the use of ASN.1 definitions +with TTCN‑3.

+ +

The eight part, ES 201 873-8 [i.6], +specifies the use of IDL definitions with TTCN‑3.

+ +

The ninth part, ES 201 873-9 [i.7] specifies the use of XML definitions +with TTCN‑3.

+ +

The tenth part, ES 201 873-10 [i.8] specifies documentation tags for TTCN‑3.

+ +

The core language serves three purposes:

+ +

a)          +as a generalized text-based test language in its +own right;

+ +

b)          +as a standardized interchange format of TTCN‑3 +test suites between TTCN‑3 tools;

+ +

c)          +as the semantic basis (and where relevant, the +syntactical basis) for various presentation formats.

+ +

The core language may +be used independently of the presentation formats. However, neither the tabular +format nor the graphical format can be used without the core language. Use and +implementation of these presentation formats shall be done on the basis of the +core language.

+ +

The tabular format and +the graphical format are the first in an anticipated set of different +presentation formats. These other formats may be standardized presentation +formats or they may be proprietary presentation formats defined by TTCN‑3 users themselves. These +additional formats are not defined in the present document.

+ +

TTCN-3 may +optionally be used with TTCN-3 packages, which +define additional concepts for specific purposes.

+ +

TTCN‑3 may +optionally be used with other type-value notations in which case definitions in +other languages may be used as an alternative data type and value syntax. Other +parts of the TTCN-3 standard specify use of +some other languages with TTCN‑3. The +support of other languages is not limited to those specified in the ES 201 873 +series of documents but to support languages for which combined use with TTCN‑3 is defined, rules given in the present document shall +apply.

+ +

+ +

Figure 1: +User's view of the core language, its packages and the various presentation +formats

+ +

The core language is +defined by a complete syntax (see annex A) and operational semantics (ES 201 873-4 [1]). It contains +minimal static semantics (provided in the body of the present document and in +annex A) which do not restrict the use of the language due to some underlying +application domain or methodology.

+ +

4.2        Unanimity of the +specification

+ +

The language is specified syntactically and +semantically in terms of a textual description in the body of the present +document (clauses 5 to 27) and in a formalized way in annex A. In +each case, when the textual description is not exhaustive, the formal description +completes it. If the textual and the formal specifications are contradictory, +the latter shall take precedence.

+ +

4.3        Conformance

+ +

For an implementation +claiming to conform to this version of the language, all features specified in +the present document shall be implemented consistently with the requirements +given in the present document and in ES 201 873‑4 [1].

+ +
+ +

5         Basic +language elements

+ +
+ +

The top-level unit of TTCN‑3 is a module. A module cannot be structured into +sub-modules. A module can import definitions from other modules. Modules can +have module parameters to allow test suite parameterization.

+ +

A module consists of a +definitions part and a control part. The definitions part of a module defines +test components, communication ports, data types, constants, test data +templates, functions, signatures for procedure calls at ports, test cases, etc.

+ +

The control part of a +module calls the test cases and controls their execution. The control part may +also declare (local) variables, etc. Program statements (such as if-else +and do-while) can be used to specify the selection and +execution order of individual test cases. The concept of global variables is +not supported in TTCN‑3.

+ +

TTCN‑3 has +a number of pre-defined basic data types as well as structured types such as +records, sets, unions, enumerated types and arrays.

+ +

A special kind of data structure called a template provides +parameterization and matching mechanisms for specifying test data to be sent or +received over the test ports. The operations on these ports provide both +message-based and procedure-based communication capabilities. Procedure calls +may be used for testing implementations which are not message based.

+ +

Dynamic test behaviour is expressed as test +cases. TTCN‑3 program statements include powerful behaviour description +mechanisms such as alternative reception of communication and timer events, +interleaving and default behaviour. Test verdict assignment and logging +mechanisms are also supported.

+ +

Finally, TTCN‑3 language elements may be +assigned attributes such as encoding information and display attributes. It is +also possible to specify (non-standardized) user-defined attributes.

+ +

The TTCN-3 language elements are summarized in +table 1.

+ +

Table 1: +Overview of TTCN‑3 +language elements

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Language element

+
+

Associated keyword

+
+

Specified in module + definitions

+
+

Specified in module control

+
+

Specified in functions/
+ altsteps/ test cases

+
+

Specified in test component + type

+
+

TTCN‑3 module + definition

+
+

module

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Import of definitions from + other module

+
+

import

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Grouping of definitions

+
+

group

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Data type definitions

+
+

type

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Communication port + definitions

+
+

port

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Test component definitions

+
+

component

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Signature definitions

+
+

signature

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

External function + definitions

+
+

external

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Constant definitions

+
+

const

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Data/signature template + definitions

+
+

template

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Function definitions

+
+

function

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Altstep definitions

+
+

altstep

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Test case definitions

+
+

testcase

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

Value variable declarations

+
+

var

+
+

 

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Template variable + declarations

+
+

var template

+
+

 

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Timer declarations

+
+

timer

+
+

 

+
+

Yes

+
+

Yes

+
+

Yes

+
+

NOTE:       The notions "definition" + and "declaration" of variables, constants, types and other language + elements are used interchangeably throughout the present document. The + distinction between both notions is useful only for implementation purposes, + as it is the case in programming languages like C and C++. On the level of + TTCN‑3, the notions have equal meaning.

+
+ +
+ +

 

+ +

5.1        Identifiers and +keywords

+ +

TTCN‑3 +identifiers are case sensitive. TTCN‑3 +keywords shall be written in all lowercase letters (see annex A). TTCN‑3 keywords shall neither be used as identifiers of TTCN‑3 objects nor as identifiers of objects imported from +modules of other languages. The same rules apply to names of predefined TTCN‑3 functions (see annex C).

+ +

5.2        Scope rules

+ +

TTCN‑3 +provides nine basic units of scope:

+ +

a)          +module definitions part;

+ +

b)          +control part of a module;

+ +

c)          +component types;

+ +

d)          +functions;

+ +

e)          +altsteps;

+ +

f)           +test cases;

+ +

g)          +statement blocks;

+ +

h)          +templates;

+ +

i)            +user defined named types.

+ +

NOTE 1:   Additional scoping +rule for groups is given in clause 8.2.2.

+ +

NOTE 2:   Additional scoping rule for counters of for +loops is given in clause 19.4.

+ +

NOTE 3:   Statement blocks may include +declarations. They may occur as stand-alone statement blocks, embedded in +another statement block or within compound statements, e.g. as body of a while +loop.

+ +

NOTE 4:   Built in TTCN-3 types like integer, charstring, anytype, etc. are not scope units, but all named user defined types are +scope units, independent of their kinds.

+ +

Each unit of scope +consists of (optional) declarations. The scope units: control part of a module, +functions, test cases, altsteps and statement blocks may additionally specify some form of behaviour by using the TTCN‑3 program statements and operations +(see clause 18).

+ +

Definitions made in the +module definitions part but outside of other scope units are globally visible, +i.e. may be used elsewhere in the module, including all functions, test cases +and altsteps defined within the module and the control part. Identifiers imported +from other modules are also globally visible throughout the importing module.

+ +

Definitions made +in the module control part have local visibility, i.e. can be used within the +control part only.

+ +

Definitions made in a test component type +may be used in a component type extending this component type definition, and +in functions, test cases and altsteps referencing that component type or a +compatible test component type (see clause 6.3.3) by a runs on-clause.

+ +

Test cases, altsteps +and functions are individual scope units without any hierarchical relation +between them, i.e. declarations made at the beginning of their body have +local visibility and shall only be used in the given test case, altstep or +function (e.g. a declaration made in a test case is not visible in a function +called by the test case or in an altstep used by the test case).

+ +

Stand-alone statement +blocks and statements within compound statements, like e.g. if-else, while, +do-while, or alt statements may be used within the control part +of a module, test cases, altsteps, functions, or may be embedded in other +statement blocks or compound statements, e.g. an if-else statement that is used within a while loop.

+ +

Statement blocks and +embedded statement blocks have a hierarchical relation both to the scope unit +including the given statement block and to any embedded statement block. +Declarations made within a statement block have local visibility.

+ +

The hierarchy of scope +units is shown in figure 2. Declarations of a +scope unit at a higher hierarchical level are visible in all units at lower +levels within the same branch of the hierarchy. Declarations of a scope unit in +a lower level of hierarchy are not visible to those units at a higher +hierarchical level.

+ +

+ +

Figure 2: Hierarchy of scope units

+ +

EXAMPLE +1:      Local scopes

+ +

    module MyModule

+ +

    {   :

+ +

       const integer +MyConst := 0; // MyConst is visible to MyBehaviourA and MyBehaviourB

+ +

       :

+ +

       function +MyBehaviourA()  

+ +

       {   :

+ +

           const integer +A := 1;     // The constant A is only visible to MyBehaviourA

+ +

           :

+ +

       }

+ +

      

+ +

       function MyBehaviourB()  

+ +

       {   :

+ +

           const integer B := 1;     // The constant +B is only visible to MyBehaviourB

+ +

           :

+ +

      

+ +

       }

+ +

    }

+ +

 

+ +

EXAMPLE +2:      Component type scopes

+ +

    type component MyComponentType {

+ +

       const integer MyConst := 1;

+ +

       ...

+ +

    }

+ +

 

+ +

    type component MyExtendedComponentType extends +MyComponentType {

+ +

       var integer MyVar:= 2 * MyConst; // using +MyConst of MyComponentType

+ +

       ...

+ +

    }

+ +

 

+ +

5.2.1       Scope of formal +parameters

+ +

The scope of formal +parameters in a parameterized object (e.g. in a function definition) shall be +restricted to the definition in which the parameters appear and to the lower +levels of scope in the same scope hierarchy. That is they follow the scope +rules for local definitions (see clause 5.2).

+ +

5.2.2       Uniqueness of +identifiers

+ +

TTCN‑3 requires uniqueness of identifiers, i.e. all identifiers +in the same scope hierarchy shall be distinctive. This means that a declaration +in a lower level of scope shall not re-use the same identifier as a declaration +in a higher level of scope in the +same branch of the scope hierarchy.

+ +

The +identifier of a module (its module name) or of an imported module belongs to +the scope unit of the module and cannot be used as identifier for other +definitions inside this module. Identifiers for fields of structured types, +enumeration values and groups do not have to be globally unique, however in the +case of enumeration values the identifiers shall only be reused for enumeration +values within other enumerated types. The rules of +identifier uniqueness shall also apply to identifiers of formal parameters.

+ +

EXAMPLE 1:      Nested +scopes

+ +

    module MyModule

+ +

    {   :

+ +

       const integer A +:= 1;

+ +

       :

+ +

       function +MyBehaviourA()

+ +

       {   :

+ +

           const integer +A := 1; // Is NOT allowed: clash with global constant A

+ +

           :

+ +

           if(…)

+ +

           {   :

+ +

               const boolean A := true; // Is +NOT allowed: clash with local constant A

+ +

               :

+ +

           }

+ +

       }

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Independent +scopes

+ +

    // The following IS allowed as the constants are not declared +in the same scope hierarchy

+ +

    // (assuming there is no declaration of A in module header)

+ +

    function MyBehaviourA()

+ +

    {   :

+ +

       const integer A := 1;

+ +

       :

+ +

    }

+ +

 

+ +

    function MyBehaviourB()

+ +

    {   :

+ +

       const integer A := 1;

+ +

       :

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Module +scopes

+ +

    module MyModuleB {

+ +

       import from MyModuleA { … }

+ +

   

+ +

       function MyFunction() {

+ +

           var integer MyModuleB:= 1; // Is NOT +allowed: class with module name

+ +

           :

+ +

       }

+ +

      

+ +

       type boolean MyModuleA; // Is NOT allowed: +class with imported module name

+ +

    }

+ +

 

+ +

5.3        Ordering of language elements

+ +

Generally, the order in which declarations can be made is +arbitrary. Inside a statement block, such as a function body or a branch of an if-else statement, all declarations (if any), shall be +made at the beginning of the statement block only.

+ +

EXAMPLE:

+ +

    // This is a legal mixing of +TTCN‑3 declarations

+ +

    :

+ +

    var MyVarType MyVar2 := +3;

+ +

    const integer +MyConst:= 1;

+ +

    if (MyVar2+MyConst > +10)

+ +

    {

+ +

       var integer +MyVar1:= 1;

+ +

        :

+ +

       MyVar1:= MyVar1 + 10;

+ +

        :

+ +

    }

+ +

    :

+ +

 

+ +

Declarations in the module definitions part +may be made in any order. However inside the module control part, test case +definitions, functions, altsteps, and statement blocks, all required +declarations must be given beforehand. This means in particular, local +variables, local timers, and local constants shall never be used before they +are declared. The only exceptions to this rule are labels. Forward references +to a label may be used in goto statements before the label occurs (see clause 19.8).

+ +

5.4        Parameterization

+ +

TTCN-3 allows to parameterize modules, +templates, functions, altsteps and testcases. Values, templates, timers, and +ports may be used as actual parameters. A summary of which language elements can be parameterized +and what can be passed to them as parameters is given in table 2.

+ +

NOTE:      Type +parameterization for TTCN-3 +is defined in the optional package [i.12].

+ +

Table 2: +Overview of parameterizable TTCN‑3 objects

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Keyword

+
+

Allowed kind of + Parameterization

+
+

Allowed form of + Parameterization

+
+

Allowed types in formal + parameter lists

+
+

module

+
+

Value parameterization

+
+

Static at start of run-time

+
+

all basic types, all user-defined types and address type.

+
+

template

+
+

Value and template parameterization

+
+

Dynamic at run-time

+
+

all basic types, all user-defined types, address type and template.

+
+

function

+
+

Value, template, port and timer parameterization

+
+

Dynamic at run-time

+
+

all basic types, all user-defined types, address type, component type, port type, default, template and timer.

+
+

altstep

+
+

Value, template, port and timer parameterization

+
+

Dynamic at run-time

+
+

all basic types, all user-defined types, address type, component type, port type, default, template and timer.

+
+

testcase

+
+

Value, template, port and timer parameterization

+
+

Dynamic at run-time

+
+

all basic types and of all user-defined types, address type and template.

+
+

NOTE:       Signatures are not shown in the + table, because a signature declares parameters only. The templates for the + signatures can be parameterized, however.

+
+ +
+ +

 

+ +

5.4.1       Formal +parameters

+ +

TTCN-3 modules, structured types, +templates, functions, altsteps, and testcases may be defined incompletely, i.e. +some entities (variables, templates, ports, timers, etc.) used by the above +objects may not be resolved in the definition of the object. These objects are +called parameterized objects. Formal entities replacing the unresolved entities +in the parameterized object's definition are called formal parameters.

+ +

Formal parameters of parameterized +templates, functions, altsteps, and testcases are defined in formal parameter +lists. Formal parameters of modules are defined in module parameter definitions +(see clause 8.2.1).

+ +

Formal parameters shall be in, inout +or out parameters (see definitions in clause 3.1). If not stated +otherwise, a formal parameter is an in parameter. For +all these three sorts of parameter passing, the formal parameters can both be +read and set (i.e. get new values being assigned) within the parameterized +object. Formal parameters can be used directly as actual parameters for other +parameterized objects, e.g. as actual parameters in function invocations or as +actual parameters in template instances.

+ +

Formal in parameters may +have default values. This default value is used when no actual parameter is +provided.

+ +

NOTE:      Although out parameters +can be read within the parameterized object, they do not inherit the value of +their actual parameter; i.e. they should be set before they are read.

+ +

5.4.1.1            Formal +parameters of kind value

+ +

Values of all basic types, all user-defined types, address +type, component type, and default can be passed as value +parameters.

+ +

Syntactical Structure

+ +

[ ( in | inout | out +) ] Type ValueParIdentifier [ ":=" ( +Expression | "-" ) ]

+ +

 

+ +

Semantic Description

+ +

Value formal +parameters can be used within the parameterized object the same way as values, +for example in expressions.

+ +

Value formal +parameters may be in, inout or out parameters. The default for value formal +parameters is in parameterization which may optionally be denoted by the keyword in. +Using of inout or out kind of parameterization shall be specified by the +keywords inout or out respectively.

+ +

In parameters +may have a default value, which is given by an expression assigned to the +parameter. Formal parameters of modified templates may inherit the default +values from the corresponding parameters of their parent templates; this shall +explicitly be denoted by using a dash (don't change) symbol at the place of the +modified template parameters' default value.

+ +

TTCN‑3 supports value parameterization according to the following +rules:

+ +

·            +the language element module allows static +value parameterization to support test suite parameters, i.e. this +parameterization may or may not be resolvable at compile-time but shall be +resolved by the commencement of run-time (i.e. static at run-time). This +means that, at run-time, module parameter values are globally visible but not +changeable (see more details in clause 8.2);

+ +

·            +the language elements template, testcase, altstep and function support dynamic value parameterization (i.e. this +parameterization shall be resolved at run-time).

+ +

NOTE:      Component and default references are +also handled as value parameters. In the case of component references, the +corresponding component type is the type of the formal parameter. In the case +of default references the TTCN-3 type default is the +type of the formal parameter.

+ +

Restrictions

+ +

a)          +Language elements which cannot be parameterized +are: const, var, timer, +control, record of, +set of, enumerated, port, component and subtype +definitions, group and import.

+ +

b)          +Formal value parameters of templates, and of +altsteps activated as defaults (see clause 20.5.2) shall always be in +parameters.

+ +

c)          +Restrictions on module parameters are given in +clause 8.2.

+ +

d)          +Default values can be provided for in +parameters only.

+ +

e)          +The expression of the default value has to be compatible +with the type of the parameter. The expression shall not refer to elements of +the component type of the optional runs on clause. The expression shall +not refer to other parameters of the same parameter list. The expression shall +not contain the invocation of functions with a runs on clause.

+ +

f)           +Default values of component type formal +parameters shall be one of the special values null, mtc, self, +or system.

+ +

g)          +Default values of default type formal parameters +shall be the special value null.

+ +

h)          +The dash (don't change) symbol shall be used +with formal parameters of modified templates only (see also clause 15.5).

+ +

i)            +For formal value parameters of templates the +restrictions specified in clause 15 shall apply.

+ +

Examples

+ +

EXAMPLE 1:      In, out and inout formal +parameters

+ +

    function MyFunction1(in boolean MyReferenceParameter){ +… };

+ +

    // MyReferenceParameter is an in value parameter. The parameter +can be read. It can also be set  // within the function, however, the +assignment is local to the function only

+ +

   

+ +

    function MyFunction2(inout boolean MyReferenceParameter){ +… };

+ +

    // MyReferenceParameter is an inout value parameter. The +parameter can be read and set

+ +

    // within the function - the assignment is not local

+ +

   

+ +

    function MyFunction3(out template boolean MyReferenceParameter){ +… };

+ +

    // MyReferenceParameter is an out value parameter. The +parameter can be set within the function,
+    // the assignment is not local. It can also be read, but only after it has +been set.

+ +

 

+ +

EXAMPLE 2:      Reading +and setting parameters

+ +

    type record +MyMessage {

+ +

       integer f1,

+ +

       integer f2

+ +

    }

+ +

 

+ +

    function f_MyMessage (integer +p_int) return MyMessage {

+ +

       var integer f1, +f2;

+ +

       f1 := f_mult2 (p_int);

+ +

           // parameter p_int is +passed on; as the parameter of the called function f_mult2 is

+ +

           // defined as an inout +parameter, it passes back the changed value for p_int,

+ +

       f2 := p_int;

+ +

       return {f1, f2};

+ +

 

+ +

    }

+ +

 

+ +

    function f_mult2 (inout integer p_integer) +return integer {

+ +

       p_integer := 2 * p_integer;

+ +

           // the value of the formal parameter is changed; this +new value is passed back when

+ +

           // f_mult2 completes

+ +

       return p_integer-1

+ +

    }

+ +

 

+ +

    testcase tc_01 () runs on MTC_PT {

+ +

    ...

+ +

       P1.send (f_MyMessage(5))

+ +

           // the value sent is { f1 := 9 , f2 := 10 }

+ +

    ...

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Function +with default value for parameter

+ +

    function f_comp (in +integer p_int1, in integer p_int2 := 3) return integer +{

+ +

      var integer v := +p_int1 + p_int2;

+ +

      :

+ +

      return v;

+ +

    }
+
+    function f () {

+ +

      var integer w;
+      …

+ +

      w := f_comp(1);   // same as +calling f_comp(1,3);
+      w := f_comp(1,2); // value 2 is taken for parameter p_int2 and not its +default value 3

+ +

      …

+ +

    }

+ +

 

+ +

EXAMPLE 4:      Direct +passing of formal parameters to functions

+ +

    function f_MyFunc2(in +bitstring p_refPar1, inout integer p_refPar2) return +integer {

+ +

       :

+ +

    }

+ +

    function f_MyFunc1(inout +bitstring p_refPar1, out integer p_refPar2) return integer +{

+ +

      :

+ +

      return +f_MyFunc2(p_refPar1, p_refPar2);

+ +

    }

+ +

    // p_refPar1 and p_refPar2 can be passed directly to a function +invocation

+ +

 

+ +

5.4.1.2            Formal parameters of +kind template

+ +

Template kind parameters are used to pass templates into +parameterizable objects.

+ +

Syntactical +Structure

+ +

[ in | inout | out +] template [ Restriction ] Type ValueParIdentifier
+                                                 
[ ":=" ( +TemplateInstance | "-" ) ]

+ +

 

+ +

Semantic +Description

+ +

Templates parameters +can be defined for templates, functions, altsteps, and test cases.

+ +

To enable a parameterized object to accept +templates or matching symbols as actual parameters, the extra keyword template shall be added before the type field of the corresponding formal +parameter. This makes the parameter a template parameter and in effect extends +the allowed actual parameters for the associated type to include the +appropriate set of matching attributes (see annex B) as well as the normal set +of values.

+ +

Formal template +parameters can be used within the parameterized object the same way as +templates and template variables.

+ +

Formal template +parameters may be in, inout or out parameters. The +default for formal template parameters is in +parameterization.

+ +

In parameters may have a default template, +which is given by a template instance assigned to the parameter. Formal +template parameters of modified templates may inherit their default templates +from the corresponding parameters of their parent templates; this shall +explicitly be denoted by using a dash (don't change) symbol at the place of the +modified template parameter's default template.

+ +

Formal template parameters can be +restricted to accept actual parameters containing a restricted set of matching +mechanisms only. Such limitations can be expressed by the restrictions omit, +present, and value. The restriction template (omit) can be +replaced by the shorthand notation omit. The meaning of the restrictions +is explained in clause 15.8.

+ +

Restrictions

+ +

a)          +Only function, testcase, altstep and template definitions may have formal template parameters.

+ +

b)          +Formal template parameters of templates, of functions started as test component behaviour (see clause 21.3.2) +and of altsteps activated as defaults (see clause 20.5.2) shall always be in +parameters.

+ +

c)          +Default templates can be provided for in +parameters only.

+ +

d)          +The default template instance has to be +compatible with the type of the parameter. The template instance shall not +refer to elements of the component type in a runs on clause. The template +instance shall not refer to other parameters in the same parameter list. The +template instance shall not contain the invocation of functions with a runs on +clause.

+ +

e)          +Default templates of component type formal +parameters shall be built from the special values null, mtc, self, +or system.

+ +

f)           +Restrictions specified in clause 15 shall apply.

+ +

g)          +The dash (don't change) symbol shall be used +with formal parameters of modified templates only (see also clause 15.5).

+ +

Examples

+ +

EXAMPLE +1:      Template with template parameter

+ +

    // The template

+ +

    template MyMessageType +MyTemplate (template integer MyFormalParam):=

+ +

    {   field1 := MyFormalParam,

+ +

       field2 := pattern "abc*xyz",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // could be used as follows

+ +

    pco1.receive(MyTemplate(?));

+ +

    // Or as follows

+ +

    pco1.receive(MyTemplate(omit)); // provided that +field1 is declared in MyMessageType as optional

+ +

 

+ +

EXAMPLE +2:      Function with template parameter

+ +

    function +MyBehaviour(template MyMsgType +MyFormalParameter)

+ +

    runs +on MyComponentType

+ +

    {   :

+ +

       pco1.receive(MyFormalParameter);

+ +

        :

+ +

    }

+ +

 

+ +

EXAMPLE +3:      Template with restricted parameter

+ +

    // The template

+ +

    template MyMessageType MyTemplate1 (template ( omit +) integer MyFormalParam):=

+ +

    {   field1 := MyFormalParam,

+ +

       field2 := pattern "abc*xyz",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // could be used as follows

+ +

    pco1.send(MyTemplate1(omit));

+ +

    // but not as follows

+ +

    pco1.receive(MyTemplate1(?)); // AnyValue is not within +the restriction

+ +

 

+ +

    // the same template can be written shorter as

+ +

    template MyMessageType MyTemplate2 (omit integer +MyFormalParam):=

+ +

    {   field1 := MyFormalParam,

+ +

       field2 := pattern "abc*xyz",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

5.4.1.3            Formal parameters of +kind timer

+ +

Functions and altsteps +can be parameterized with timers.

+ +

Syntactical +Structure

+ +

[ inout ] timer TimerParIdentifier

+ +

 

+ +

Semantic +Description

+ +

Timers passed into a +parameterized object are known inside the behaviour definition of that object. +Timer parameters can be used within the parameterized object like any other +timer, i.e. they need not to be declared inside the parameterized object.

+ +

Timer parameters shall +preserve their current state, i.e. only the timer is made known within the +parameterized object. For example, also a started timer continues to run, i.e. +it is not stopped implicitly. Thereby, possible timeout events can be handled +inside the function or altstep to which the timer is passed.

+ +

Formal timer parameters are identified by +the keyword timer.

+ +

Restrictions

+ +

a)          +Formal timer parameters shall be inout +parameters, which can optionally be indicated by the keyword inout.

+ +

b)          +Only function - with +the exception of functions started as test component behaviour (see clause 21.3.2) - and altstep +definitions may have formal timer parameters.

+ +

Examples

+ +

    // Function definition with a timer in the formal parameter +list

+ +

    function MyBehaviour (timer MyTimer)

+ +

    {   :

+ +

       MyTimer.start;

+ +

       :

+ +

    }

+ +

 

+ +

    // could be used as follows

+ +

    function MyBehaviour2 ()

+ +

    {   :

+ +

       timer t;

+ +

       MyBehaviour(t);

+ +

       :

+ +

    }

+ +

 

+ +

5.4.1.4            Formal +parameters of kind port

+ +

Functions and altsteps +can be parameterized with ports.

+ +

Syntactical +Structure

+ +

[ inout ] PortTypeIdentifier +PortParIdentifier

+ +

 

+ +

Semantic +Description

+ +

Ports passed into +a parameterized object are known inside the behaviour definition of that +object. Port parameters can be used within the parameterized object like any +other port, i.e. they need not to be made visible by a runs on clause.

+ +

Ports passed in as +parameters shall preserve their current state, only the port is made known +within the parameterized object's body. For example, a started port continues +to send/receive messages, i.e. it is not stopped implicitly; thereby, possible +port events can be handled inside the function or altstep to which the port is +passed to.

+ +

Restrictions

+ +

a)          +Formal port parameters shall be inout +parameters, which can optionally be indicated by the keyword inout.

+ +

b)          +Only function - with +the exception of functions started as test component behaviour (see clause 21.3.2) ‑ and altstep definitions may have formal port parameters.

+ +

Examples

+ +

    // Altstep definition with a port in the formal parameter list

+ +

    altstep MyBehaviour (MyPortType MyPort)

+ +

    {   :

+ +

       [] MyPort.receive { setverdict(fail); stop; +}

+ +

       :

+ +

    }

+ +

 

+ +

5.4.2       Actual parameters

+ +

Values, templates, timers and/or ports can +be passed into parameterized TTCN-3 objects as actual parameters. Actual +parameters can be provided both as a list in the same order as the formal +parameters as well as in an assignment notation explicitly using the associated +formal parameter names.

+ +

Syntactical +Structure

+ +

( Expression |                                          // +for value parameter

+ +

  TemplateInstance |                                       // +for template parameter

+ +

  TimerRef |                                               // +for timer parameter

+ +

  Port |                                               // +for port parameter

+ +

  "-" ) |                                                  // +to skip a parameter with default
+  ParameterId ":=" ( Expression | TemplateInstance | TimerRef +| Port ) )

+ +

 

+ +

Semantic Description

+ +

Actual parameters that are passed by value to in formal value parameters shall be variables, +literal values, module parameters, constants, variables, value returning +(external) functions, formal value parameters (of in, inout or out +parameterization) of the current scope or expressions composed of the above.

+ +

Actual parameters that are passed to inout or out +formal value parameters shall be variables or formal value parameters (of in, +inout or out parameterization).

+ +

Actual parameters that +are passed to in formal template +parameters shall be literal values, module parameters, constants, variables, +value or template returning (external) functions, formal value parameters (of +in, inout or out parameterization) of the current scope or expressions composed +of the above, as well as templates, template variables or formal template +parameters (of in, inout or out parameterization) of the current scope.

+ +

Actual parameters that +are passed to inout or out formal template parameters shall be variables, +template variables, formal value or template parameters (of in, inout or out +parameterization) of the current scope.

+ +

Actual parameters that +are passed to formal timer parameters shall be +component timers, local timers or formal timer parameters of the current scope.

+ +

Actual parameters that +are passed to formal port parameters shall be component +ports or formal port parameters of the current scope.

+ +

When a formal parameter has been defined +with a default value or template, respectively, then it is not necessary to +provide an actual parameter. The actual parameters are evaluated in the order +of their appearance. If for some formal parameters, no actual parameter has +been provided, their default values are taken and evaluated in the order of the +formal parameter list.

+ +

The empty brackets for instances of +parameterized templates that have only parameters with default values are +optional when no actual parameters are provided, i.e. all formal parameters use +their default values.

+ +

Restrictions

+ +

a)          +When using list notation, the order of elements +in the actual parameter list shall be the same as their order in the +corresponding formal parameter list. For each formal parameter without a +default there shall be an actual parameter. The actual parameter of a formal +parameter with default value can be skipped by using dash "-" as +actual parameter. An actual parameter can also be skipped by just leaving it +out if no other actual parameter follows in the actual parameter list – either +because the parameter is last or because all following formal parameters have +default values and are left out.

+ +

b)          +Either list notation or assignment notation +shall be used in a single parameter list. They shall not be mixed.

+ +

c)          +When using assignment notation, each formal +parameter shall be assigned an actual parameter at most once. For each formal +parameter without default value, there shall be an actual parameter. In order +to use the default value of a formal parameter, no assignment for this specific +parameter shall be provided.

+ +

d)          +The type of each actual parameter shall be +compatible with the type of each corresponding formal parameter.

+ +

e)          +Actual parameters passed to restricted formal +template parameters shall obey the restrictions given in clause 15.8.

+ +

f)           +All parameterized entities specified as an +actual parameter shall have their own parameters resolved in the top‑level +actual parameter list.

+ +

g)          +If the formal parameter list of TTCN‑3 +objects function, testcase, signature, +altstep or external function is empty, then the empty parentheses shall be included both in the +declaration and in the invocation of that object. In all other cases the empty +parentheses shall be omitted.

+ +

h)          +Restrictions on the use of signature parameters +are given in clauses 15.2 and 22.3.

+ +

i)            +Restrictions on parameters passed to altsteps +are given in clauses 16.2.1 and 20.5.2.

+ +

Examples

+ +

EXAMPLE +1:      Formal and actual parameter lists have to match

+ +

    // A function definition with a formal parameter list

+ +

    function MyFunction(integer FormalPar1, boolean +FormalPar2, bitstring FormalPar3) { … }

+ +

 

+ +

    // A function call with an actual parameter list

+ +

    MyFunction(123, true,'1100'B);

+ +

 

+ +

    // A function call with assignment notation for actual +parameters

+ +

    MyFunction(FormalPar1 := 123, FormalPar3 := '1100'B, FormalPar2 +:= true);

+ +

 

+ +

EXAMPLE 2:      In parameters

+ +

    function MyFunction(in template +MyTemplateType MyValueParameter){ … };

+ +

    // MyValueParameter is in parameter, the in keyword is optional

+ +

 

+ +

    // A function call with an actual parameter

+ +

    MyFunction(MyGlobalTemplate);

+ +

 

+ +

EXAMPLE +3:      Inout and out parameters

+ +

    function MyFunction(inout +boolean MyReferenceParameter){ … };

+ +

    // MyReferenceParameter is an +inout parameter

+ +

   

+ +

    // A function call with an +actual parameter

+ +

    MyFunction(MyBooleanVariable);

+ +

    // The actual parameter can be +read and set within the function

+ +

   

+ +

   

+ +

    function MyFunction(out template boolean MyReferenceParameter){ +… };

+ +

    // MyReferenceParameter is an out parameter

+ +

   

+ +

    // A function call with an actual parameter

+ +

    MyFunction(MyBooleanVariable);

+ +

    // The actual parameter is initially unbound, but can be set +and read within the function.

+ +

 

+ +

EXAMPLE +4:      Empty parameter lists

+ +

    // A function definition with an +empty parameter list shall be written as

+ +

    function MyFunction(){ … +}

+ +

   

+ +

    // and shall be called as

+ +

    MyFunction();

+ +

   

+ +

   

+ +

    // A record definition with an +empty parameter list shall be written as

+ +

    type record MyRecord { … }

+ +

   

+ +

    // and shall be used as

+ +

    template MyRecord Mytemplate := { … }

+ +

 

+ +

EXAMPLE +5:      Nested parameter lists

+ +

    // +Given the message definition

+ +

    type +record MyMessageType

+ +

    {  

+ +

       integer +   field1,

+ +

       charstring field2,

+ +

       boolean    field3

+ +

    }

+ +

 

+ +

    // A message template might be

+ +

    template MyMessageType MyTemplate(integer MyValue) :=

+ +

    {  

+ +

       field1 := MyValue,

+ +

       field2 := pattern "abc*xyz",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // A test case parameterized with a template +might be

+ +

testcase TC001(template MyMessageType RxMsg) runs on +PTC1 system TS1 {

+ +

    :

+ +

    MyPCO.receive(RxMsg); +

+ +

    }

+ +

 

+ +

    // When the test case is called in the control part and the +parameterized template is

+ +

    // passed as an actual parameter, the template's actual +parameters must be provided

+ +

    control

+ +

    {   :

+ +

       execute(TC001(MyTemplate(7)));

+ +

       :

+ +

    }

+ +

 

+ +

5.5        Cyclic Definitions

+ +

Direct and indirect cyclic definitions are +not allowed with the exception of the following cases: +

+ +

a)          +for recursive type definitions (see clause 6.2);

+ +

b)          +function and altstep definitions (i.e. recursive +function or altstep calls);

+ +

c)          +cyclic import definitions, if the imported +definitions only form allowed cyclic definitions.

+ +

NOTE 1:   Indirect cyclic definitions may be a +result of imports of definitions that are needed for the usage of a definition +but do not need to be known in the importing module (see clause 8.2.3.1).

+ +

NOTE 2:   For the detection of cycles only the +main identifiers of the definition are used. For example, field identifiers are +not used.

+ +

Examples

+ +

EXAMPLE 1:      Module +with cyclic constant definition that is not allowed

+ +

    module MyModule { +

+ +

       :

+ +

       type record ARecordType +{ integer a, integer b };

+ +

       :

+ +

    // The following two lines +include a cycle that is not allowed

+ +

       const ARecordType +cConst := { 1 , dConst.b}; // cConst refers to dConst

+ +

       const ARecordType +dConst := { 1 , cConst.b}; // dConst refers to cConst

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Modules +with cyclic import that is allowed

+ +

    module MyModuleA {

+ +

           import from +MyModuleB { type MyInteger }

+ +

           type record +of MyInteger MyIntegerList;

+ +

    }

+ +

 

+ +

    module MyModuleB {

+ +

           type integer MyInteger;

+ +

           import from MyModuleA { type +MyIntegerList }

+ +

    }

+ +

 

+ +
+ +

6         Types and +values

+ +
+ +

TTCN‑3 +supports a number of predefined basic types. These basic types include ones +normally associated with a programming language, such as integer, +boolean and string types, as well as some TTCN‑3 +specific ones such as verdicttype. Structured types such as record types, set +types and union types can be constructed from these basic types. enumerated types are specific structured types being constructed of enumerated +values.

+ +

The special data type anytype is defined as the union of all known data types and the address +type within a module.

+ +

Special types associated with test +configurations such as address, port and component may be used to define the architecture of the test system (see +clause 21).

+ +

The special type default may be used for the default handling (see clause 20.5).

+ +

The TTCN‑3 types are summarized in +table 3.

+ +

Table 3: +Overview of TTCN‑3 +types

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Class of type

+
+

Keyword

+
+

Subtype

+
+

Simple basic types

+
+

integer

+
+

range, list

+
+

float

+
+

range, list

+
+

boolean

+
+

list

+
+

verdicttype

+
+

list

+
+

Basic string types

+
+

bitstring

+
+

list, length

+
+

hexstring

+
+

list, length

+
+

octetstring

+
+

list, length

+
+

charstring

+
+

range, list, length, + pattern

+
+

universal charstring

+
+

range, list, length, + pattern

+
+

Structured types

+
+

record

+
+

list (see note)

+
+

record of

+
+

list (see note), length

+
+

set

+
+

list (see note)

+
+

set of

+
+

list (see note), length

+
+

enumerated

+
+

list (see note)

+
+

union

+
+

list (see note)

+
+

Special data type

+
+

anytype

+
+

list

+
+

Special configuration types

+
+

address

+
+

 

+
+

port

+
+

 

+
+

component

+
+

 

+
+

Special default type

+
+

default

+
+

 

+
+

NOTE:       List subtyping of these types is + possible when defining a new constrained type from an already existing parent + type but not directly at the declaration of the first parent type.

+
+ +
+ +

 

+ +

NOTE:      Behaviour types for TTCN-3 are defined +in the optional package [i.13].

+ +

6.1        Basic types and values

+ +

6.1.0       Simple basic types and values

+ +

TTCN‑3 supports the following basic types:

+ +

a)          +integer: a type with distinguished values which +are the positive and negative whole numbers, including zero.

+ +

          Values of integer type shall be denoted +by one or more digits; the first digit shall not be zero unless the value is 0; +the value zero shall be represented by a single zero.

+ +

b)          +float: a type to describe floating-point +numbers and special float values.

+ +

          In general, floating point numbers can +be defined as:<mantissa> × <base><exponent>,

+ +

          where <mantissa> is a +positive or negative integer, <base> a positive integer (in most +cases 2, 10 or 16) and <exponent> a positive or negative integer.

+ +

          In TTCN‑3, the floating-point +number value notation is restricted to a base with the value of 10. Floating +point values can be expressed by using two forms of value notations:

+ +

§   the decimal notation with a dot in a sequence of numbers like, 1.23 +(which represents 123×10-2), 2.783 (i.e. 2783 × 10-3) or -123.456789 (which +represents -123 456 789 × 10-6); or

+ +

§   by two numbers separated by E where the first number specifies the +mantissa and the second specifies the exponent, for example 12.3E4 (which +represents 123 × 103) or -12.3E-4 (which represents ‑123 × 10‑5).

+ +

NOTE 1:   In +contrast to the general definition of float values, the mantissa of in theTTCN‑3 +value notation, beside integers, allows decimal numbers as well.

+ +

                   The special values of the float +type consist of infinity (positive infinity), -infinity (negative infinity) and +the value not_a_number. For the ordering of special values see clauses 7.1.1 and 7.1.3.

+ +

NOTE 2:   - not_a_number +(i.e. minus not a number) is not to be used.

+ +

c)          +boolean: a type consisting of two distinguished values.

+ +

          Values of +boolean type shall be denoted by true and false.

+ +

d)          +verdicttype: a type for use with test verdicts +consisting of 5 distinguished values. Values of verdicttype shall +be denoted by pass, fail, inconc, none and error.

+ +

6.1.1       Basic string types and +values

+ +

TTCN‑3 +supports the following basic string types:

+ +

NOTE 1:   The general term string or string type +in TTCN‑3 refers to bitstring, hexstring, octetstring, +charstring and universal charstring.

+ +

a)          +bitstring: a type whose distinguished values are +the ordered sequences of zero, one, or more bits.

+ +

          Values of type bitstring shall be denoted by an arbitrary number (possibly zero) of the bit +digits: 0 1, preceded by a single quote ( ' ) and followed by the pair of +characters 'B.

+ +

EXAMPLE 1:      '01101'B.

+ +

b)          +hexstring: a type whose distinguished values are +the ordered sequences of zero, one, or more hexadecimal digits, each +corresponding to an ordered sequence of four bits.

+ +

          Values of type hexstring shall be denoted by an arbitrary number (possibly zero) of the +hexadecimal digits (uppercase and lowercase letters can equally be used as hex +digits):

+ +

                                                                0 +1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

+ +

          preceded by a single quote ( ' ) and +followed by the pair of characters 'H; each hexadecimal digit is used to +denote the value of a semi-octet using a hexadecimal representation.

+ +

EXAMPLE 2:      'AB01D'H
+'ab01d'H
+'Ab01D'H

+ +

c)          +octetstring: a type whose distinguished values are +the ordered sequences of zero or a positive even number of hexadecimal digits +(every pair of digits corresponding to an ordered sequence of eight bits).

+ +

          Values of +type octetstring shall be denoted by an arbitrary, but even, number (possibly zero) +of the hexadecimal digits (uppercase and lowercase letters can equally be used +as hex digits):

+ +

                                                                0 +1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

+ +

          preceded by a single quote ( ' ) and +followed by the pair of characters 'O; each hexadecimal +digit is used to denote the value of a semi-octet using a hexadecimal +representation.

+ +

EXAMPLE 3:      'FF96'O
+'ff96'O
+'Ff96'O

+ +

d)          +charstring: +are types whose distinguished values are zero, one, or more characters of the +version of ITU‑T Recommendation T.50 [4] complying +with the International Reference Version (IRV) as specified in clause 8.2 of ITU‑T Recommendation T.50 [4].

+ +

NOTE 2:   The IRV +version of ITU‑T Recommendation T.50 [4] is equivalent to the IRV version of +the International Reference Alphabet (former International Alphabet No.5 - +IA5), described in ITU-T Recommendation T.50 [4].

+ +

              Values +of charstring type shall be denoted by an arbitrary number (possibly zero) of +non-control characters from the relevant character set, preceded and followed +by double quote ("). Graphical characters include the range from SP(32) to +TILDE (126). Values of charstring type can also be calculated using the predefined conversion +function int2char with the positive integer value of their encoding as argument +(see clause C.1).

+ +

NOTE 3:   The +predefined conversion function is able to return single-character-length values +only.

+ +

          In cases +where it is necessary to define strings that include the character double quote +(") the character is represented by a pair of double quotes on the same +line with no intervening space characters.

+ +

EXAMPLE 4:      The charstring "ab"cd" is written in TTCN-3 +code as in the following constant declaration. Each of the 3 quote characters +that are part of the string is preceded by an extra quote character and the +whole character string is delimited by quote characters, e.g.
+
var charstring +vl_char:= """ab""cd""";

+ +

e)          +The character string type preceded by the +keyword universal denotes types whose distinguished values are zero, one, or more +characters from ISO/IEC 10646 [2].

+ +

          universal charstring values can also be denoted by an arbitrary number (possibly zero) +of characters from the relevant character set, preceded and followed by double +quote ("), calculated using a predefined conversion function (see clause +C.2) with the positive integer value of their encoding as argument or by a +"quadruple".

+ +

NOTE 4:   The predefined conversion function is +able to return single-character-length values only.

+ +

          In cases where it is necessary to define +strings that include the character double quote (") the character is +represented by a pair of double quotes on the same line with no intervening +space characters.

+ +

          The "quadruple" is only +capable to denote a single character and denotes the character by the decimal +values of its group, plane, row and cell according to ISO/IEC 10646 [2], +preceded by the keyword char included into a pair of brackets and separated by commas (e.g. char ( +0, 0, 1, 113) denotes the Hungarian character "ű"). In cases +where it is necessary to denote the character double quote (") in a string +assigned according to the first method (within double quotes), the character is +represented by a pair of double quotes on the same line with no intervening +space characters. The two methods may be mixed within a single notation for a +string value by using the concatenation operator.

+ +

EXAMPLE 5:      The assignment : "the Braille character" & char +(0, 0, 40, 48) & "looks like this" represents the literal +string: the Braille character  looks +like this.

+ +

NOTE 5:   Control +characters can be denoted by using the predefined conversion function or the quadruple form.

+ +

          By default, universal charstring shall conform to the UCS-4 coded representation form specified in +clause 14.2 of ISO/IEC 10646 [2].

+ +

NOTE 6:   UCS-4 is +an encoding format, which represents any UCS character on a fixed, 32 bits‑length +field.

+ +

          This default encoding can be overridden +using the defined variant attributes (see clause 27.5). The following useful character string types utf8string, bmpstring, utf16string and +iso8859string using these attributes are defined in annex E.

+ +

6.1.1.1            Accessing +individual string elements

+ +

Individual +elements in a string type may be accessed using an array-like syntax. Only +single elements of the string may be accessed.

+ +

Units of +length of different string type elements are indicated in table 4.

+ +

Indexing shall begin with the value zero (0). The index shall be between zero and the length of the string minus +one for retrieving an element from a string. For assigning an element to the +end of a string, the length of the string should be used as index.

+ +

EXAMPLE 1:      Accessing an existing element

+ +

    // Given

+ +

    MyBitString := '11110111'B;

+ +

    // Then doing

+ +

    MyBitString[4] := '1'B;

+ +

    // Results in the bitstring +'11111111'B

+ +

 

+ +

EXAMPLE 2:      Specific +cases

+ +

    var bitstring MyBitStringA, MyBitStringB, +MyBitStringC;

+ +

    MyBitStringA := '010'B;
+    MyBitStringA[1] := '11'B; //causes an error as only individual elements can +be accessed
+
+    MyBitStringB := '1'B;
+    MyBitStringB[4] := '1'B; //causes an error as the index is larger than the +length of the lhs
+
+    MyBitStringC := ''B;
+    MyBitStringC[0] := '1'B; // value of MyBitStringC is '1'B

+ +

    MyBitStringC[1] := '0'B; // value of MyBitStringC is '10'B

+ +

 

+ +

6.1.2       Subtyping of basic +types

+ +

User-defined types +shall be denoted by the keyword type. +With user-defined types it is possible to create subtypes (such as lists, +ranges and length restrictions) on basic types, structured types and anytype +according to table 3.

+ +

6.1.2.1            Lists of values

+ +

TTCN‑3 permits the specification of a +list of distinguished values as listed in table 3. The values in the list shall +be instances of the type being constrained and shall be a subset of the values +defined by the type being constrained. The subtype defined by this list +restricts the allowed values of the subtype to those values in the list. Constants +used in the constant expressions defining the values shall meet with the +restrictions in clause 10.

+ +

EXAMPLE:

+ +

    type bitstring MyListOfBitStrings ('01'B, '10'B, '11'B);

+ +

    type float pi (3.1415926);

+ +

    type charstring MyStringList ("abcd", +"rgy", "xyz");

+ +

    type universal charstring SpecialLetters
+                           (char(0, 0, 1, 111), char(0, 0, 1, +112), char(0, 0, 1,    113));

+ +

 

+ +

6.1.2.2            Lists of types

+ +

TTCN‑3 permits the specification of a +list of subtypes as listed in table 3 for value lists. The types in the list +shall be subtypes of the root type. The subtype defined by this list restricts +the allowed values of the subtype to the union of the values of the referenced +subtypes.

+ +

EXAMPLE:

+ +

    type bitstring BitStrings1 ('0'B, '1'B );

+ +

    type bitstring BitStrings2 ('00'B, '01'B, '10'B, '10'B);

+ +

    type bitstring BitStrings_1_2 (Bitstrings1, Bitstrings2);

+ +

 

+ +

6.1.2.3            Ranges

+ +

TTCN‑3 +permits the specification of range constraints for the types integer, charstring, universal charstring and float (or derivations of these types). For integer and float, +the subtype defined by the range restricts the allowed values of the subtype to +the values in the range including or excluding the lower boundary and/or the +upper boundary. The upper boundary shall be greater than or equal to the lower +boundary.

+ +

In order to specify an +infinite integer range, the keyword -infinity or infinity can be used instead of a value indicating that there is no +lower or upper boundary; -infinity shall +not be used as the upper bound and infinity shall not be used as the lower bound for integer ranges.

+ +

Also for float,  ‑infinity or infinity can be +used as the bounds in range restrictions. Using the special value ‑infinity as the lower bound shall indicate that the +allowed numerical values are not restricted downward and the special value ‑infinity is also included. If both the lower and upper +bounds denote ‑infinity, +no numerical values are included, only the special value ‑infinity. Using the special value infinity as the upper bound shall indicate that the +allowed numerical values are not restricted upward and the special value infinity is also included. If both the lower and upper +bounds denote infinity, no +numerical values are included, only the special value infinity. If exclusive bounds (!infinity or !-infinity) is used instead, only the respective numerical +float values are included in the range. In case of float, the special value not_a_number is +not allowed in a range constraint.

+ +

In the case of charstring and universal charstring types, the range +restricts the allowed values for each separate character in the strings. The boundaries shall evaluate to valid character +positions according to the coded character set table(s) of the type (e.g. the +given position shall not be empty). Empty positions between the lower and the +upper boundaries are not considered to be valid values of the specified range.

+ +

Constants used in the constant expressions +defining the values shall meet with the restrictions in clause 10.

+ +

EXAMPLE 1:

+ +

    type integer MyIntegerRange (0 .. 255); );     // range +from 0..255

+ +

                                                // +(with inclusive boundaries)

+ +

    type integer +MyIntegerRange (-infinity .. -1); // all negative integer numbers

+ +

    type integer MyIntegerRange (0 .. !256);       // the +same range as above (with left

+ +

                                                // +inclusive and right exclusive boundary)

+ +

    type integer MyIntegerRange (!-1 .. 255);      // the +same range as above(with left

+ +

                                                // +exclusive and right inclusive boundary)

+ +

    type integer MyIntegerRange (!-1 .. !256);     // the +same range as above

+ +

                                                // +(with exclusive boundaries)

+ +

    type float piRange (3.14 .. 3142E-3);

+ +

    type float LessThanPi (-infinity .. 3142E-3);

+ +

    type float Numbers (-infinity .. infinity); +   //includes all float values but not_a_number

+ +

    type float Wrong (-infinity .. not_a_number);  // +causes an error as not_a_number is not

+ +

                                                // +allowed in range subtyping

+ +

 

+ +

EXAMPLE 2:

+ +

type charstring +MyCharString ("a" .. "z");

+ +

// Defines a string type of any length with each character +within the specified range

+ +

type universal charstring +MyUCharString1 ("a" .. !"z");

+ +

// Defines a +string type of any length with each character within the range from a to y 

+ +

// (character codes from 97 to 121), like "abxy"; +

+ +

// strings containing any other character (including control +characters), like

+ +

// +"abc2" are disallowed.

+ +

type universal charstring MyUCharString2 (char(0, +0, 1, 111) .. char(0, 0, 1, 113));

+ +

// Defines a string type of any length +with each character within the range specified using

+ +

// the quadruple notation

+ +

 

+ +

6.1.2.4            String length +restrictions

+ +

TTCN‑3 permits the specification of +length restrictions on string types. The length boundaries are based on +different units depending on the string type with which they are used. In all +cases, these boundaries shall be inclusive boundaries only and evaluate to non‑negative +integer values (or derived integer values).

+ +

EXAMPLE:

+ +

    type bitstring +MyByte length(8);                   // Exactly length 8

+ +

    type bitstring +MyByte length(8 .. 8);              // Exactly length 8

+ +

    type bitstring MyNibbleToByte length(4 .. +8);      // Minimum length 4, maximum length 8

+ +

 

+ +

Table 4 specifies the units of length for +different string types.

+ +

Table 4: +Units of length used in field length specifications

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+

Type

+
+

Units of Length

+
+

bitstring

+
+

bits

+
+

hexstring

+
+

hexadecimal digits

+
+

octetstring

+
+

octets

+
+

character strings

+
+

characters

+
+ +
+ +

 

+ +

For the upper bound the +keyword infinity +may also be used to indicate that +there is no upper limit for the length. The upper boundary shall be greater +than or equal to the lower boundary.

+ +

6.1.2.5            Pattern +subtyping of character string types

+ +

TTCN‑3 allows using character +patterns specified in clause B.1.5 to constrain permitted values of charstring and universal +charstring types. The type constraint shall use the +pattern keyword followed by a character pattern. All values denoted by the +pattern shall be a subset of the type being subtyped. Constants used in the +constant expressions defining the values shall meet with the restrictions in +clause 10.

+ +

NOTE:      Pattern subtyping can be seen as a +special form of list constraint, where members of the list are not defined by +listing specific character strings but via a mechanism generating elements of +the list.

+ +

EXAMPLE:

+ +

    type +charstring MyString (pattern "abc*xyz");

+ +

       // all permitted values of +MyString have prefix abc and postfix xyz

+ +

 

+ +

    type +universal charstring +MyUString (pattern "*\r\n")

+ +

       // all permitted values of +MyUString are terminated by CR/LF

+ +

 

+ +

    type +charstring MyString2 (pattern "abc?\q{0,0,1,113}");

+ +

       // causes an error because +the character denoted by the quadruple {0,0,1,113} is not a

+ +

       // legal character of the TTCN‑3 charstring type

+ +

 

+ +

    type MyString +MyString3 (pattern +"d*xyz");

+ +

       // causes an error because the type MyString does not +contain a value starting with the

+ +

       // character d

+ +

 

+ +

6.1.2.6            Mixing subtyping +mechanisms

+ +
6.1.2.6.1              Mixing +patterns, lists and ranges
+ +

Within integer and float (or derivations of these types) subtype +definitions it is allowed to mix lists and ranges. It is possible to mix both +value list and type list subtyping with each other and with range subtyping. Overlapping of different constraints is not an error.

+ +

EXAMPLE 1:

+ +

    type integer MyIntegerRange (1, 2, 3, 10 .. !20, 99, +100);

+ +

    type float lessThanPiAndNaN (-infinity .. +3142E-3, not_a_number);

+ +

 

+ +

Within charstring and +universal charstring subtype definitions it is not +allowed to mix pattern, value list, type list, or range constraints.

+ +

EXAMPLE 2:

+ +

    type charstring +MyCharStr0 ("gr", "xyz");

+ +

       // contains character strings +gr and xyz;

+ +

 

+ +

    type charstring MyCharStr1 ("a".."z");

+ +

       // contains character strings of arbitrary length containing +characters a to z.

+ +

 

+ +

    type charstring MyCharStr2 (pattern "[a-z]#(3,9)");

+ +

       // contains character strings of length form 3 to 9 +characters containing characters a to z

+ +

 

+ +
6.1.2.6.2              Using +length restriction with other constraints
+ +

Within bitstring, hexstring, octetstring subtype definitions lists and length restriction may be mixed in +the same subtype definition.

+ +

Within charstring and +universal charstring subtype definitions it is +allowed to add a length restriction to constraints containing list, range or +pattern subtyping in the same subtype definition.

+ +

When mixed +with other constraints the length restriction shall be the last element of the +subtype definition. The length restriction takes effect jointly with other +subtyping mechanisms (i.e. the value set of the type consists of the common +subset of the value sets identified by the list, range or pattern subtyping and +the length restriction).

+ +

EXAMPLE:

+ +

    type charstring MyCharStr5 ("gr", "xyz") +length (1..9);

+ +

       // contains the character strings gr and xyz;

+ +

 

+ +

    type charstring MyCharStr6 ("a".."z") +length (3..9);

+ +

       // contains character strings of length from 3 to 9 +characters and containing characters

+ +

       // a to z

+ +

 

+ +

    type charstring MyCharStr7 (pattern "[a-z]#(3,9)") length (1..9);

+ +

       // contains character strings of length form 3 to 9 +characters containing characters a to z

+ +

 

+ +

    type charstring MyCharStr8 (pattern "[a-z]#(3,9)") length (1..8);

+ +

       // contains character strings of length form 3 to 8 +characters containing characters a to z

+ +

 

+ +

    type charstring MyCharStr9 (pattern "[a-z]#(1,8)") length (1..9);

+ +

       // contains any character strings of length form 1 to 8 +characters containing characters

+ +

       // a to z

+ +

 

+ +

    type charstring MyCharStr10 ("gr", "xyz") +length (4);

+ +

       // causes an error as it contains no value

+ +

 

+ +

6.2        Structured types and values

+ +

The type keyword is also used to specify structured +types such as record types, record of +types, set types, set of types, enumerated types and union types.

+ +

Values of these types +may be given using an explicit assignment notation or a short-hand value list +notation.

+ +

EXAMPLE 1:

+ +

    const MyRecordType MyRecordValue:=                                //assignment +notation

+ +

    {  

+ +

       field1 +:= '11001'B,

+ +

       field2 +:= true,

+ +

       field3 := "A string"

+ +

    }

+ +

 

+ +

    // Or

+ +

    const MyRecordType +MyRecordValue:= {'11001'B, true, "A string"}      //value list +notation

+ +

 

+ +

When specifying partial values (i.e. setting the value of +only a subset of the fields of a structured variable) using the assignment +notation only the fields to be assigned values must be specified. Fields not +mentioned are implicitly left unspecified. It is also possible to leave fields +explicitly unspecified using the not used symbol "-". Using the value +list notation all fields in the structure shall be specified either with a +value, the not used symbol "-" or the omit keyword.

+ +

EXAMPLE 2:

+ +

    var MyRecordType MyVariable:=                             //assignment +notation

+ +

    {  

+ +

       field1 := '11001'B,

+ +

       // field2 implicitly unspecified

+ +

       field3 := "A string"      +

+ +

    }

+ +

 

+ +

    // Or
+    var MyRecordType MyVariable:=                             //assignment +notation

+ +

    {  

+ +

       field1 := '11001'B,
+       field2 := -, // field2 explicitly unspecified

+ +

       field3 := "A string"      +

+ +

    }

+ +

 

+ +

    // Or

+ +

    var MyRecordType MyVariable:= +{'11001'B, -, "A string"}       //value list notation

+ +

 

+ +

It is not allowed to mix the two value +notations in the same (immediate) context.

+ +

EXAMPLE +3:

+ +

    // This is disallowed

+ +

    const MyRecordType +MyRecordValue:= {MyIntegerValue, field2 := true, "A string"}

+ +

 

+ +

In both the assignment +notation and value list notation, optional fields shall be omitted by using the +explicit omit value for the relevant field. The omit keyword shall not be used for mandatory fields. +When re-assigning a previously initialized value, using the not used symbol or +skipping a field in assignment notation will cause the relevant fields to +remain unchanged.

+ +

EXAMPLE 4:

+ +

    var MyRecordType +MyVariable :=

+ +

    {

+ +

       field1 := '111'B,

+ +

       field2 := false,

+ +

       field3 := -

+ +

    }

+ +

 

+ +

    MyVariable := { '10111'B, -, - };

+ +

    // after this, MyVariable contains { '10111'B, false /* +unchanged */, <undefined> }

+ +

 

+ +

    MyVariable :=

+ +

    {

+ +

       field2 := true

+ +

    }

+ +

    // after this, MyVariable contains { '10111'B, true, +<undefined> }

+ +

 

+ +

    MyVariable :=

+ +

    {

+ +

       field1 := -,

+ +

       field2 := false,

+ +

       field3 := -

+ +

    }

+ +

    // after this, MyVariable contains { '10111'B, false, +<undefined> }

+ +

 

+ +

Where applicable TTCN‑3 type +definitions may be recursive. The user, however, shall ensure that all type +recursion is resolvable and that no infinite recursion occurs.

+ +

In case of record and set types, to avoid +infinite recursion, fields referencing to its own type, shall be optional.

+ +

EXAMPLE 5:

+ +

    // Valid recursive record type +definition

+ +

    type record +MyRecord1
+    {
+        FieldType1  field1,
+        MyRecord1   field2 optional,

+ +

        FieldType3  field3
+    }

+ +

 

+ +

    // Invalid recursive record type definition causing an error

+ +

    type record MyRecord2
+    {
+        FieldType1  field1,
+        MyRecord2   field2,

+ +

        FieldType3  field3
+    }

+ +

 

+ +

In case of +union types, to avoid infinite recursion, at least one of the alternatives +shall not reference its own type.

+ +

EXAMPLE 6:

+ +

    // Valid recursive union type +definition

+ +

    type union +MyUnion1

+ +

    {

+ +

       MyUnion1   choice1,

+ +

       charstring choice2

+ +

    }

+ +

 

+ +

    // Invalid recursive union type definition causing an error

+ +

    type union MyUnion2

+ +

    {

+ +

       MyUnion2 choice1,

+ +

       MyUnion2 choice2

+ +

    }

+ +

 

+ +

6.2.1       Record type and values

+ +

TTCN‑3 supports ordered structured types known as record. The elements of a record type may be any of the basic types or +user-defined data types (such as other records, sets or arrays). The values of +a record shall be compatible with the types of the record fields. The element identifiers are local to +the record and shall be unique within the record (but do not have to be globally unique).

+ +

EXAMPLE 1:

+ +

    type record MyRecordType

+ +

    {  

+ +

       integer           field1,

+ +

       MyOtherRecordType field2 optional,

+ +

       charstring            field3

+ +

    }

+ +

 

+ +

    type record MyOtherRecordType

+ +

    {  

+ +

       bitstring field1,

+ +

       boolean    field2

+ +

    }

+ +

 

+ +

Records may be defined with no fields, i.e. +as empty records.

+ +

EXAMPLE 2:

+ +

    type record MyEmptyRecord {}

+ +

 

+ +

A record value is assigned on an individual element +basis. The order of field values in the value list notation shall be the same +as the order of fields in the related type definition.

+ +

EXAMPLE 3:

+ +

    var +integer MyIntegerValue := 1;

+ +

 

+ +

    const MyOtherRecordType MyOtherRecordValue:=

+ +

    {  

+ +

       field1 := '11001'B,

+ +

       field2 := true

+ +

    }

+ +

 

+ +

    var MyRecordType MyRecordValue :=

+ +

    {  

+ +

       field1 := MyIntegerValue,

+ +

       field2 := MyOtherRecordValue,

+ +

       field3 := "A string"

+ +

    }

+ +

 

+ +

The same value +specified with a value list.

+ +

EXAMPLE 4:

+ +

    MyRecordValue:= {MyIntegerValue, +{'11001'B, true}, "A string"};

+ +

 

+ +

6.2.1.1            Referencing fields of +a record type

+ +

Elements of a record +shall be referenced by the dot notation TypeIdOrExpression.ElementId, where TypeIdOrExpression resolves to the name of a structured type or an expression of a structured type such as variable, formal +parameter, module parameter, constant, template, or function invocation. ElementId shall resolve to the name of a field in the structured +type. Fields of record type definitions shall not +reference themselves.

+ +

EXAMPLE 1:

+ +

    MyVar1 := MyRecord1.myElement1;

+ +

    // If a record is nested within +another type then the reference may look like this

+ +

    MyVar2 := MyRecord1.myElement1.myElement2;

+ +

 

+ +

EXAMPLE 2:

+ +

    type record MyType

+ +

    {  

+ +

       integer field1,

+ +

       MyType.field2  field2 optional, +// this circular reference is NOT ALLOWED

+ +

       boolean field3

+ +

    }

+ +

 

+ +

6.2.1.2            Optional elements +in a record

+ +

Optional elements in a record shall be specified using the optional keyword.

+ +

EXAMPLE 1:

+ +

    type record MyMessageType

+ +

    {  

+ +

       FieldType1 field1,

+ +

       FieldType2 field2 optional,

+ +

        :    

+ +

       FieldTypeN     fieldN

+ +

    }

+ +

 

+ +

Optional fields shall be omitted using the +omit symbol.

+ +

EXAMPLE 2:

+ +

    MyRecordValue:= {MyIntegerValue, omit , "A +string"};

+ +

   

+ +

    // Note that this is not the same as writing,

+ +

    // MyRecordValue:= {MyIntegerValue, -, "A string"};

+ +

    // which would mean the value of field2 is unchanged

+ +

 

+ +

6.2.1.3            Nested type +definitions for field types

+ +

TTCN‑3 supports the definition of +types for record fields nested within the record definition. Both the definition of new structured types (record, set, enumerated, set of, +record of, and union) and the specification of subtype constraints are possible.

+ +

EXAMPLE:

+ +

    // record type with nested +structured type definitions

+ +

    type +record MyNestedRecordType
+    {
+       record
+       {
+           integer nestedField1,
+           float nestedField2
+       } outerField1,
+       enumerated {
+           nestedEnum1,
+           nestedEnum2
+       } outerField2,
+       record of boolean +outerField3
+    }

+ +

 

+ +

    // record type with nested subtype definitions

+ +

    type record MyRecordTypeWithSubtypedFields

+ +

    {

+ +

       integer    field1 +(1 .. 100),

+ +

       charstring field2 length ( 2 .. 255 )

+ +

    }

+ +

 

+ +

6.2.2       Set type and values

+ +

TTCN‑3 +supports unordered structured types known as set. Set types and values are similar to records except that +the ordering of the set fields is not +significant.

+ +

EXAMPLE:

+ +

    type set MySetType

+ +

    {  

+ +

       integer        field1,

+ +

       charstring        field2

+ +

    }

+ +

 

+ +

The field identifiers +are local to the set and shall be unique within the set (but do not have to be +globally unique).

+ +

The value list notation +for setting values shall not be used for values of set types.

+ +

6.2.2.1            Referencing +fields of a set type

+ +

Elements of a set shall be referenced by the dot notation (see +clause 6.2.1.1). Elements of set type definitions shall not reference themselves.

+ +

EXAMPLE:

+ +

    MyVar3 := MySet1.myElement1;

+ +

    // If a set is nested in another type then the reference may +look like this

+ +

    MyVar4 := MyRecord1.myElement1.myElement2;

+ +

    // Note, that the set type, of which the field with the +identifier 'myElement2' is referenced,  

+ +

 // is embedded in a record type

+ +

 

+ +

6.2.2.2            Optional +elements in a set

+ +

Optional elements in a set shall be specified using the optional keyword.

+ +

6.2.2.3            Nested type +definition for field types

+ +

TTCN‑3 supports the definition of +types for set fields nested within the set +definition, similar to the mechanism for record types described in clause 6.2.1.3.

+ +

6.2.3       Records and sets of +single types

+ +

TTCN‑3 +supports the specification of records and sets whose elements are all of the +same type. These are denoted using the keyword of. These records and sets do not have element +identifiers and can be considered similar to an ordered array and an unordered +collection respectively.

+ +

NOTE 1:   Subtyping of record of and set of types +see in clause 6.2.13.

+ +

EXAMPLE +1:

+ +

    type set of boolean MySetOfType; // is an +unlimited set of boolean values

+ +

 

+ +

The value notation for record of and set of can be both the value list notation and the assignment notation +(usable to address multiple elements) or an indexed notation (usable to address +an individual element), which is the same value notation as for arrays (see +clause 6.2.7). There is one exception from this general rule: in the case of +defining modified templates, the assignment notation is also allowed to be used +(see clause 15.5).

+ +

When the value list +notation is used, the first value in the list is assigned to the first element, +the second list value is assigned to the second element, etc. No empty +assignment is allowed (e.g. two commas, the second immediately following the +first or only with white space between them). Elements to be left out of the +assignment shall be explicitly skipped in the list by use of the +not-used-symbol "-".

+ +

Indexed value notations +can be used on both the right-hand side and left-hand side of assignments. The +index of the first element shall be zero and the index value shall not exceed +the limitation placed by length subtyping. If the value of the element +indicated by the index at the right-hand of an assignment is undefined, this +shall cause a semantic or run-time error. If an +indexing operator at the left-hand side of an assignment refers to a +non-existent element, the value at the right-hand side is assigned to the +element and all elements with an index smaller than the actual index and +without assigned value are created with an undefined value. Undefined elements +are permitted only in transient states (while the value remains invisible). +Sending a record of or set +of value with undefined elements shall cause a dynamic +testcase error.

+ +

EXAMPLE 2:

+ +

    // Given

+ +

    type record of integer +MyRecordOf;

+ +

    var integer MyVar;

+ +

    // Using the value list notation

+ +

    var MyRecordOf MyRecordOfVar := { 0, 1, 2, 3, 4 };

+ +


+ // The same record of, defined with the assignment notation
+ var MyRecordOf MyRecordOfVarAssignment := {
+     [0] := 0,
+     [1] := 1,
+     [2] := 2,

+ +

       [3] := 3,
+       [4] := 4

+ +

    };

+ +

 

+ +

    //Using an indexed notation

+ +

    MyVar := MyRecordOfVar[0]; // the first element of the +"record of" value (integer 0)

+ +

                             // is assigned to MyVar

+ +

 

+ +

    // Indexed values are permitted on the left-hand side of +assignments as well:

+ +

    MyRecordOfVar[1] := MyVar; // MyVar is assigned to the second +element

+ +

                             // value of MyRecordOfVar is +{ 0, 0, 2, 3, 4 }

+ +

 

+ +

    // The assignment

+ +

    MyRecordOfVar := { 0, 1, -, 2 };

+ +

    // will change the value of MyRecordOfVar to{ 0, 1, 2 +<unchanged>, 2};
+    // Note, that the 3rd element would be undefined if had had no +previous assigned value.

+ +

 

+ +

    // The assignment

+ +

    MyRecordOfVar[6] := 6;

+ +

// will change the value of +MyRecordOfVar to{ 0, 1, 2 , 2, <undefined>,   <undefined>, 6 };
+ // Note the 5th and 6th elements (with indexes 4 and 5) +had no assigned value before this

+ +

// last assignment and are therefore +undefined.

+ +

 

+ +

    MyRecordOfVar[4] := 4; MyRecordOfVar[5] := 5;

+ +

    // will complete MyRecordOfVar to the fully defined value { 0, +1, 2 , 2, 4 , 5 , 6 };

+ +

 

+ +

NOTE 2:   The index +notation makes it possible e.g. to copy record of values +element by element in a for loop. For example, the function below reverses the +elements of a record +of value:

+ +

    function reverse(in MyRecordOf src) return +MyRecordOf
+    {
+    var MyRecordOf dest;
+    var integer i, srcLength := lengthof (src);
+    for(i := 0; i < srcLength; i:= i + 1) {
+       dest[srcLength - 1 - i] := src[i];
+    }
+    return dest;
+    }

+ +

 

+ +

Embedded record of and set of types will result in a data structure similar to multidimensional +arrays (see clause 6.2.7).

+ +

EXAMPLE 3:

+ +

    // Given
+    type
record of integer MyBasicRecordOfType;
+    type record of MyBasicRecordOfType   My2DRecordOfType;

+ +

 

+ +

    // Then, the variable myRecordOfArray will have similar +attributes to a two-dimensional array:
+    var My2DRecordOfType myRecordOfArray;
+    // and reference to a particular element would look like this
+    // (value of the second element of the third 'MyBasicRecordOfType' +construct)
+    myRecordOfArray [2][1] := 1;

+ +

 

+ +

6.2.3.1            Nested type +definitions

+ +

TTCN‑3 +supports the definition of the aggregated type nested with the record of or set +of +definition. Both the definition of new structured types (record, set, enumerated, set of +and record of) and the specification of subtype +constraints are possible.

+ +

EXAMPLE:

+ +

    type record of enumerated { +red, green, blue } ColorList;

+ +

    type record length (10) +of record length (10) of integer Matrix;

+ +

    type set of record { charstring id, charstring +val } GenericParameters;

+ +

 

+ +

6.2.3.2            Referencing elements of record of and set of types

+ +

It is also allowed to reference the inner type of record of and set of types by using the index notation but with a +dash. The notation TypeId[-], where TypeId resolves to the name of a record of or set of +type, references the inner type of TypeId.

+ +

EXAMPLE:

+ +

    //Provided the definitions below

+ +

    type record of integer +MyRecordOfInt;

+ +

    type record of record +{

+ +

       integer f1,

+ +

       set { integer s1, boolean +s2 } f2

+ +

    } MyRecordOfRecord;

+ +

    type record of record +of integer MyRecordOfRecordOfInt;

+ +

    type record of record +{

+ +

       integer f1,

+ +

       record of boolean +f2

+ +

    } MyRecordOfRecord2;

+ +

 

+ +

    // Referencing the inner integer type

+ +

    type MyRecordOfInt[-] +MyInteger;

+ +

    const MyRecordOfInt[-] +c_MyInteger:= 5;

+ +

 

+ +

    // Referencing the nested record type

+ +

    type MyRecordOfRecord[-] +MyInnerRecord;

+ +

    const MyRecordOfRecord[-] +c_MyRecord := { f1 = 5; f2 := { s1 := 0; s2 := true }}

+ +

 

+ +

    // Referencing the set type nested in +the inner record

+ +

    type MyRecordOfRecord[-].f2 +MyNestedSet;

+ +

    const MyRecordOfRecord[-].f2 +c_MySet := { s1 := 0; s2 := true }

+ +

 

+ +

    // Referencing the innermost boolean

+ +

    type MyRecordOfRecord[-].f2.s2 +MyBoolean;

+ +

    const +MyRecordOfRecord[-].f2.s2 c_MyBool := false;

+ +

 

+ +

    // Referencing the inner record of

+ +

    type MyRecordOfRecordOfInt[-] +MyInnerRecordOfInt;

+ +

    const MyRecordOfRecordOfInt[-] +c_MyInnerRecordOfInt := { 0, 1, 2, 3 };

+ +

 

+ +

    // Referencing the integer type +within the inner record of

+ +

    type +MyRecordOfRecordOfInt[-][-] MyInteger2;

+ +

    const +MyRecordOfRecordOfInt[-][-] c_MyInteger2 := 1;

+ +

 

+ +

    // Referencing the boolean type +within the nested record

+ +

    type +MyRecordOfRecord2[-].f2[-] MyInnermostBoolean;

+ +

    const +MyRecordOfRecord2[-].f2[-] c_MyInnermostBoolean := true ;

+ +

 

+ +

6.2.4       Enumerated type and values

+ +

TTCN‑3 +supports enumerated types. Enumerated types are used to model types that take only a +distinct named set of values. Such distinct values are called enumerations. +Each enumeration shall have an identifier. Operations on enumerated types shall +only use these identifiers and are restricted to assignment, equivalence and +ordering operators. Enumeration identifiers shall be unique within the +enumerated type (but do not have to be globally unique) and are consequently +visible in the context of the given type only. Enumeration identifiers shall +only be reused within other structured type definitions and shall not be used +for identifiers of local or global visibility at the same or a lower level of +the same branch of the scope hierarchy (see scope hierarchy in clause 5.2).

+ +

NOTE 1:   "In the context" means that at +least one object involved in the given TTCN-3 action (an assignment, operation, +parameter passing etc.) identifies a concrete type unambiguously, i.e. either +directly (e.g. an in-line template) or by means of a typed TTCN-3 object (e.g. +via a constant, variable, formal parameter etc.).

+ +

EXAMPLE 1:      Declaration +of enumerated types and values

+ +

    type enumerated +MyFirstEnumType {

+ +

       Monday, Tuesday, Wednesday, +Thursday, Friday

+ +

    };

+ +

 

+ +

    type integer Monday;

+ +

    // This definition does not clash with the previous one

+ +

    // as Monday in MyFirstEnumType is of local scope

+ +

 

+ +

    type enumerated MySecondEnumType {

+ +

       Saturday, Sunday, Monday

+ +

    };

+ +

    // This definition is legal as it reuses the Monday enumeration +identifier within

+ +

    // a different enumerated type

+ +

 

+ +

    type record MyRecordType {

+ +

       integer        Monday

+ +

    };

+ +

    // This definition is legal as it reuses the Monday enumeration +identifier within

+ +

    // a distinct structured type as identifier of a given field of +this type

+ +

 

+ +

    type record +MyNewRecordType {

+ +

       MyFirstEnumType   firstField,

+ +

       integer        secondField

+ +

    };

+ +

 

+ +

    var MyNewRecordType newRecordValue := { Monday, 0 }

+ +

    // MyFirstEnumType is implicitly referenced via the firstField +element of MyNewRecordType

+ +

 

+ +

    const integer Monday := 7

+ +

    // This definition causes an error as it reuses the Monday +enumeration identifier for a

+ +

    // different TTCN‑3 object within the same scope unit

+ +

 

+ +

Each enumeration may +optionally have a user-assigned +integer value, which is defined after the name of the enumeration in +parenthesis. Each user-assigned integer number shall be distinct within +a single enumerated type. For each enumeration without an assigned integer value, the +system successively associates an integer number in the textual order of the +enumerations, starting at the left-hand side, beginning with zero, by step 1 +and skipping any number occupied in any of the enumerations with a manually +assigned value. These values are only used by the +system to allow the use of relational operators. The user shall not directly +use associated integer values but can access them and convert integer values +into enumeration values by using the predefined functions enum2int and int2enum
+(see clauses 16.1.2 and C.37).

+ +

NOTE 2:   The integer value also may be used by +the system to encode/decode enumerated values. This, however is outside the +scope of the present document (with the exception that TTCN‑3 allows the +association of encoding attributes to TTCN‑3 items).

+ +

For any instantiation or value reference of +an enumerated type, the given type shall be implicitly or explicitly referenced.

+ +

NOTE 3:   If the enumerated type is an element of +a user defined structured type, the enumerated type is implicitly referenced +via the given element (i.e. by the identifier of the element or the position of +the value in a value list notation) at value assignment, instantiation etc.

+ +

EXAMPLE 2:      Using enumerated types (see also +example 4 of clause 8.2.3)

+ +

    // Valid instantiations of MyFirstEnumType and MySecondEnumType +would be

+ +

    var MyFirstEnumType Today := Tuesday;

+ +

    var MySecondEnumType Tomorrow := Monday;

+ +

   

+ +

    // The following statements however cause an error as the two variables +are instances

+ +

    // of different enumeration types

+ +

    Today := Tomorrow;

+ +

    Today == Tomorrow;

+ +

 

+ +

    // The following operation is correct

+ +

    if (Today == Monday ) {...}

+ +

    // the type of variable Today identifies the type context of +MyFirstEnumType for the

+ +

    // equality operator

+ +

 

+ +

    // But the following causes an error

+ +

    if ( Tuesday == Wednesday ) {...}

+ +

    // there is no TTCN-3 type(d) object to establish the type +context for the equality operator

+ +

    // Please note that the values Tuesday and Wednesday are +defined within the type

+ +

    // MyFirstEnumType only, but this is not sufficient to +establish the type context

+ +

 

+ +

When a TTCN-3 global or local definition is +declared using an imported enumerated type, the name of that definition shall +not be the same as any of the enumeration value names of that type.

+ +

6.2.5       Unions

+ +

TTCN‑3 supports the union +type. The union type is a collection of alternatives, each one identified by an +identifier. Only one of the specified alternatives will ever be present in an +actual union value. Union types are useful to model data which can take one of +a finite number of known types.

+ +

EXAMPLE:

+ +

    type union MyUnionType

+ +

    {  

+ +

       integer        number,

+ +

       charstring        string

+ +

    };

+ +

 

+ +

    // A valid instantiation of MyUnionType would be

+ +

    var MyUnionType age, oneYearOlder;

+ +

    var integer ageInMonths;

+ +

 

+ +

    age.number := 34;     // value notation by referencing the +field. Note, that this
+                          // notation makes the given field to be the chosen +one

+ +

    oneYearOlder := {number := age.number+1};

+ +

 

+ +

    ageInMonths := age.number * 12;

+ +

 

+ +

The value list notation +for setting values shall not be used for values of union types.

+ +

6.2.5.1            Referencing +fields of a union type

+ +

Alternatives of a union +type shall be referenced by the dot notation (see clause 6.2.1.1). Alternatives of union type +definitions shall not reference themselves.

+ +

EXAMPLE:

+ +

    MyVar5 +:= MyUnion1.myChoice1;

+ +

    // If a union type is nested in +another type then the reference may look like this

+ +

    MyVar6 := MyRecord1.myElement1.myChoice2;

+ +

    // Note, that the union type, of which the field with the +identifier 'myChoice2' is referenced,

+ +

    // is embedded in a record type

+ +

 

+ +

6.2.5.2            Option and +union

+ +

Optional fields are not +allowed for the union type, which +means that the optional keyword +shall not be used with union types.

+ +

6.2.5.3            Nested type +definition for field types

+ +

TTCN‑3 supports the definition of +types for union alternatives nested within the union definition, similar to the +mechanism for record types described in clause 6.2.1.3.

+ +

6.2.6       The anytype

+ +

The special +type anytype is defined as a shorthand for the union of all known data types and +the address type in a TTCN‑3 module. The definition of the term known +types is given in clause 3.1, i.e. the anytype shall comprise all the known +data types but not the port, component, and default types. The address type +shall be included if it has been explicitly defined within that module.

+ +

The fieldnames of the anytype shall be uniquely identified by the corresponding type names.

+ +

NOTE 1:   As a result of this requirement imported +types with clashing names (either with an identifier of a definition in the +importing module or with an identifier imported from a third module) cannot be +reached via the anytype of the importing module.

+ +

EXAMPLE:

+ +

    // A valid usage of anytype +would be

+ +

    var anytype +MyVarOne, MyVarTwo;

+ +

    var integer MyVarThree;

+ +

 

+ +

    MyVarOne.integer := 34;

+ +

    MyVarTwo := {integer := MyVarOne.integer + 1};

+ +

 

+ +

    MyVarThree := MyVarOne.integer * 12;

+ +

 

+ +

The anytype is defined locally for each module and (like +the other predefined types) cannot be directly imported by another module. +However, a user defined type of the type anytype can be imported by another module. The effect +of this is that all types of that module are imported.

+ +

NOTE 2:   The user-defined type of anytype "contains" all types imported into the module where it is +declared. Importing such a user-defined type into a module may cause side +effects and hence due caution should be given to such cases.

+ +

6.2.7       Arrays

+ +

Arrays can be used in TTCN-3 as a shorthand +notation to specify record of types. They may be specified also at the point of +a variable declaration. Arrays may be declared as single or multi-dimensional. +Array dimensions shall be specified using constant expressions, which shall +evaluate to a positive integer values. Constants used in the constant expressions shall meet with +the restrictions in clause 10.

+ +

EXAMPLE 1:

+ +

    type integer MyArrayType1[3];                      +// A type with 3 integer elements

+ +

    type record length +(3) of integer MyRecordOfType1; // The corresponding record of

+ +

 

+ +

    var MyArrayType1 a1:= { 7, 8, 9 };

+ +

    var MyRecordOfType1 r1:= a1; // MyArrayType1 and +MyRecordOfType1 are compatible

+ +

 

+ +

    var integer myArray1[3]:= r1;    // Instantiates +an integer array of 3 elements

+ +

                                    // with the index 0 to 2

+ +

                                    // being compatible to +MyArrayType1 and MyRecordOfType1

+ +

 

+ +

    var integer myArray2[2][3];  // Instantiates a +two-dimensional integer array of 2 × 3 elements                              // +with indexes from (0,0) to (1,2)

+ +

 

+ +

Array elements are accessed by means of the +index notation ([]), which must specify a valid index +within the array's range. Individual elements of multi-dimensional arrays can +be accessed by repeated use of the index notation. Accessing elements outside +the array's range will cause a compile-time or test case error.

+ +

EXAMPLE 2:

+ +

    MyArray1[1] := 5;
+    MyArray2[1][2] := 12;

+ +

 

+ +

    MyArray1[4] := 12;    // ERROR: index must be between 0 and 2
+    MyArray2[3][2] := 15; // ERROR: first index must be 0 or 1

+ +

 

+ +

Array dimensions may also be specified +using ranges (with inclusive boundaries only). In such cases, the lower and +upper values of the range define the lower and upper index values. Such an +array is corresponding to a record of with a fixed length restriction computed +as the difference between upper and lower index bound plus 1 and indexing starting +from the lower bound of the array definition.

+ +

EXAMPLE +3:

+ +

    type integer MyArrayType2[2 +.. 5]; // A type with 4 integer elements, indices starting with 2

+ +

    type record length (4) of integer +MyRecordOfType2; // The corresponding record of

+ +

   

+ +

    var integer MyArray3[1 +.. 5];    // Instantiates an integer array of 5 elements

+ +

                                 // with +the index 1 to 5

+ +

    MyArray3[1] := 10; // Lowest index

+ +

    MyArray3[5] := 50; // Highest index

+ +

 

+ +

    var integer MyArray4[1 +.. 5][2 .. 3 ];  // Instantiates a two-dimensional integer array of
+                                        // 5 × 2 elements with indexes from +(1,2) to (5,3)

+ +

 

+ +

NOTE:      It is not possible to define an array +type with a variable amount of elements. Neither is it possible to define an +unlimited array with a lower bound on the array index.

+ +

The values of array elements shall be +compatible with the corresponding variable or type declaration. Values may be +assigned individually by a value list notation or indexed notation or more than +one or all at once by a value list notation. When the value list notation is +used, the first value of the list is assigned to the first element of the array +(the element with index 0 or the lower bound if an index range has been given), +the second value to the next element, etc. Elements +to be left out from the assignment shall be explicitly skipped in the list by +using dash.

+ +

Indexed value notation +can be used on both the right-hand side and left-hand side of assignments. The +index of the first element shall be zero or the lower bound if an index range +has been given. The index shall not exceed the limitations given by either the +length or the upper bound of the index. If the value of the element indicated +by the index at the right-hand of an assignment is undefined, this shall cause +an error. Sending an array value with undefined +elements shall cause an error. All elements in an array value that are not set +explicitly, are undefined.

+ +

For assigning values to +multi-dimensional arrays, each dimension that is assigned shall resolve to a +set of values enclosed in curly braces. When specifying values for +multi-dimensional arrays, the leftmost dimension corresponds to the outermost +structure of the value, and the rightmost dimension to the innermost structure. +The use of array slices of multi-dimensional arrays, +i.e. when the number of indexes of the array value is less than the number of +dimensions in the corresponding array definition, is allowed. Indexes of array +slices shall correspond to the dimensions of the array definition from left to +right (i.e. the first index of the slice corresponds to the first dimension of +the definition). Slice indexes shall conform to the related array definition +dimensions.

+ +

EXAMPLE 4:

+ +

    MyArray1[0]:= 10;

+ +

    MyArray1[1]:= 20;

+ +

    MyArray1[3]:= 30;

+ +

 

+ +

    // or using an value list

+ +

    MyArray1:= {10, 20, -, 30};

+ +

 

+ +

    MyArray4:= {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}};

+ +

    // the array value is completely defined

+ +

 

+ +

    var integer MyArray5[2][3][4] :=

+ +

    {
+       {
+           {1, 2, 3, 4}, // assigns a value to MyArray5 slice [0][0]
+           {5, 6, 7, 8}, // assigns a value to MyArray5 slice [0][1]
+           {9, 10, 11, 12} // assigns a value to MyArray5 slice [0][2]
+       }, // end assignments to MyArray5 slice [0]
+       {
+           {13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24}

+ +

       } // assigns a value to MyArray5 slice [1]

+ +

    };

+ +

 

+ +

    MyArray4[2] := {20, 20};

+ +

       // yields {{1, 2}, {3, 4}, {20, 20}, {7, 8}, {9, 10}};
+    MyArray5[1] := { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
+       // yields {{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}},
+       //         {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}};

+ +

 

+ +

    MyArray5[0][2] := {3, 3, 3, 3};

+ +

       // yields {{{1, 2, 3, 4}, {5, 6, 7, 8}, {3, 3, 3, 3}},

+ +

       //         {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}};

+ +

 

+ +

    var integer MyArrayInvalid[2][2];

+ +

    MyArrayInvalid := { 1, 2, 3, 4 }

+ +

       // causes an error as the dimension of the value notation

+ +

        // does not correspond to the dimensions of the definition

+ +

    MyArrayInvalid[2] := { 1, 2 }

+ +

       // causes an error as the index of the slice should be 0 or +1

+ +

 

+ +

6.2.8       The default type

+ +

TTCN‑3 +allows the activation of altsteps (see clause 16.2) as defaults to +capture recurring behaviour. Default references are unique references to +activated defaults. Such a unique default reference is generated by a test +component when an altstep is activated as a default, i.e. a default reference +is the result of an activate operation +(see clause 20.5.2).

+ +

Default references have +the special and predefined type default. Variables of type default can be +used to handle activated defaults in test components. The special value null represents an unspecific default reference, +e.g. can be used for the initialization of variables of default type.

+ +

Default references are +used in deactivate operations (see clause 20.5.3) +in order to identify the default to be deactivated.

+ +

Default references have +meaning only within the test component instances they are activated, i.e. a +default reference assigned to a default variable in test component instance +"a1" of type "A" has no meaning in test component instance +"a2" of type "A".

+ +

The actual data +representation of the default type shall +be resolved externally by the test system. This allows abstract test cases to +be specified independently of any real TTCN‑3 runtime environment, in other words TTCN‑3 does not restrict the implementation of a test system with +respect to the handling and identification of defaults.

+ +

6.2.9       Communication port +types

+ +

Ports facilitate +communication between test components and between test components and the test system +interface.

+ +

TTCN‑3 +supports message-based and procedure-based ports. Each port shall be defined as +being message-based or procedure-based. Message-based ports shall be identified +by the keyword message and +procedure-based ports shall be identified by the keyword procedure within the associated port type definition.

+ +

Ports are +bidirectional. The directions are specified by the keywords in +(for the in direction), out (for the out direction) and inout (for both +directions). Directions shall be seen from the point of view of the test +component owning the port with the exception of the test system interface, +where in identifies the direction of message sending or procedure call and out +identifies the direction of message receive, get reply or catch exception from +the point of view of the test component connected to the test system interface +port.

+ +

Each port type definition shall have one or +more lists indicating the allowed collection of (message) types or procedure +signatures together with the allowed communication direction.

+ +

For configuration purposes the port type +may have one map param and one unmap param declaration +indicating the allowed additional parameters for the respective operation. +These formal parameters must be value parameters.

+ +

Whenever a signature (see also clause 14) +is defined in the out direction of a procedure-based port, the types of all its inout +and out parameters, its return type and its exception types are +automatically part of the in direction of this port. Whenever a signature is defined in the in +direction for a procedure-based port, the types of all its inout +and out parameters, its return type and its exception types are +automatically part of the out direction of this port.

+ +

Ports used +for the communication with the SUT may need to address specific entities within +the SUT. In addition, several address schemes may be supported by one SUT at +different ports. To support such addressing schemes, TTCN-3 allows to bind an address type to a port. Values of this type may be used for addressing +purposes in communication operations (see clause 22.1) and be stored in +variables. The handling of address types bound to different ports by means of +the dot notation is explained in clause 6.2.12.

+ +

Syntactical Structure

+ +

Message-based port:

+ +

type port PortTypeIdentifier +message "{"

+ +

     [ address Type +“;†]

+ +

     [ map param +"(" { FormalValuePar [","] }+ ")" ]

+ +

     [ unmap param +"(" { FormalValuePar [","] }+ ")" ]

+ +

     { ( in | out | inout +) { MessageType [ "," ] }+ ";" }

+ +

"}"

+ +

 

+ +

Procedure-based port:

+ +

type port PortTypeIdentifier +procedure "{"

+ +

     [ address Type +“;†]

+ +

     [ map param +"(" { FormalValuePar [","] }+ ")" ]

+ +

     [ unmap param +"(" { FormalValuePar [","] }+ ")" ]

+ +

     { ( in | out | inout +) { Signature [ "," ] }+ ";" }

+ +

"}"

+ +

 

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

EXAMPLE 1:      Message-based +port

+ +

    // Message-based port which +allows types MsgType1 and MsgType2 to be received at, MsgType3 to be

+ +

    // sent via and any integer +value to be send and received over the port

+ +

    type port +MyMessagePortTypeOne message

+ +

    {

+ +

       in     MsgType1, +MsgType2;

+ +

       out    MsgType3;

+ +

       inout integer

+ +

    }

+ +

   

+ +

EXAMPLE 2:      Procedure-based +port

+ +

    // Procedure-based port which +allows the remote call of the procedures Proc1, Proc2 and Proc3.

+ +

    // Note that Proc1, Proc2 and +Proc3 are defined as signatures

+ +

    type port MyProcedurePortType procedure

+ +

    {

+ +

       out    Proc1, Proc2, Proc3

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Message-based +port with address type definition

+ +

    type port +MyMessagePortTypeTwo message

+ +

    {

+ +

       address integer;       // +if addressing is used on ports of type MyMessagePortTypeTwo

+ +

                          // the +addresses have to be of type integer

+ +

       inout  MsgType1, +MsgType2;

+ +

    }

+ +

   

+ +

NOTE:      The term message is +used to mean both messages as defined by templates and actual values resulting +from expressions. Thus, the list restricting what may be used on a +message-based port is simply a list of type names.

+ +

 

+ +

EXAMPLE 4:      Usage of param in port declaration

+ +

    // Message based port which allows MsgType4 to be send and +received over the port

+ +

    // and MsgType5 and MsgType6 as configuration parameter type

+ +

    type port MyMessagePortType message

+ +

    {

+ +

       inout  MsgType4;

+ +

       map param  (in MsgType5 p1, out +MsgType6 p2);

+ +

    }

+ +

 

+ +

    // Procedure based port which allows the remote call of the +procedure Proc1

+ +

    // and MsgType5 as configuration parameter type

+ +

    type port MyProcedurePortType procedure

+ +

    {

+ +

       out    Proc1;

+ +

       unmap param    (MsgType5 p1);

+ +

    }

+ +

 

+ +

6.2.10    Component types

+ +

6.2.10.1          Component type +definition

+ +

The component type defines which ports are associated with +a component (see figure 3). +The port names in a component type definition are local to that component type, +i.e. another component type may have ports with the same names. Port names in +the same component type definition shall all have unique names.

+ +

+ +

Figure 3: +Typical components

+ +

It is also possible to declare constants, +variables and timers local to a particular component type. These declarations are visible to all testcases, functions +and altsteps that run on an instance of the given component type. This shall be +explicitly stated using the runs +on keyword (see clause 16) +in the testcase, function or altstep header. Component type definitions are +associated with the component instance and follow the scope rules defined in +clause 5.2. Each new instance of a +component type will thus have its own set of constants, variables and timers as +specified in the component type definition (including any initial values, if +stated). Constants used in the constant expressions of +type declarations for variables, constants or ports shall meet with the +restrictions in clause 10, however constants used in the constant expressions +of initial values for variables, constants or timers do not have to obey these +restrictions.

+ +

Syntactical Structure

+ +

type component ComponentTypeIdentifier +"{"

+ +

     { ( PortInstance

+ +

     | VarInstance

+ +

     | TimerInstance

+ +

     | ConstDef ) }

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

Component type definitions specify the +creation, declaration and initialization of ports and component constants, +variables and timers during the creation of an instance of a component type. +These instances can be used as the main test component, as the test system +interface or as a parallel test component. Every instance of a component type +has its own fresh copy of the port, constant, variable, and timer instances +defined in the component type definition.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

EXAMPLE 1:      Component +type with port instances only

+ +

    type +component MyPTCType

+ +

    {

+ +

       port MyMessagePortType       PCO1, +PCO4;

+ +

       port MyProcedurePortType  PCO2;

+ +

       port MyAllMesssagesPortType  PCO3

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Component type with variable, +timer and port instance

+ +

    type component MyMTCType

+ +

    {

+ +

       var integer MyLocalInteger;

+ +

       timer MyLocalTimer;

+ +

       port MyMessagePortType    PCO1

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Component type with port instance +arrays

+ +

    type +component MyCompType

+ +

    {

+ +

       port MyMessageInterfaceType +PCO[3]

+ +

       port +MyProcedureInterfaceType PCOm[3][3]

+ +

       // Defines a component type which +has an array of 3 message ports and a two‑dimensional

+ +

       // array of 9 procedure ports.

+ +

    }  

+ +

 

+ +

6.2.10.2          Reuse of component +types

+ +

It is possible to define component types as +the extension of other component types, using the extends keyword.

+ +

Syntactical Structure

+ +

type component ComponentTypeIdentifier +extends ComponentTypeIdentifier "{"

+ +

     { ( PortInstance

+ +

     | VarInstance

+ +

     | TimerInstance

+ +

     | ConstDef ) }

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

In such a definition, the new type definition is referred to as +the extended type, and the type definition +following the extends keyword is referred to as the parent +type. The effect of this definition is that the extended type will +implicitly also contain all definitions from the parent type. It is called the effective +type definition.

+ +

It is allowed to have one component type +extending several parent types in one definition, which have to be specified as +a comma-separated list of types in the definition. Any of the parent types may +also be defined by means of extension. The effective component type definition +of the extended type is obtained as the collection of all constant, variable, +timer and port definitions contributed by the parent types (determined +recursively if a parent type is also defined by means of an extension) and the +definitions declared in the extended type directly. The effective component +type definition shall be name clash free.

+ +

NOTE 1:   It is not considered to be a different +declaration and hence causes no error if a specific definition is contributed +to the extended type by different parent types (via different extension paths).

+ +

The semantics of component types with +extensions are defined by simply replacing each component type definition by +its effective component type definition as a pre-processing step prior to using +it.

+ +

NOTE 2:   For component type compatibility, this +means that a component reference c of type CT1, which extends CT2, is +compatible with CT2, and test cases, functions and altsteps specifying CT2 in +their runs on clauses can be executed on c (see clause 6.3.3).

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +When defining component types by extension, +there shall be no name clash between the definitions being taken from the +parent type and the definitions being added in the extended type, i.e. there +shall not be a port, variable, constant or timer identifier that is declared +both in the parent type (directly or by means of extension) and the extended +type. It is not considered to be a name clash if a specific definition is +contributed to the extended type via different extension paths.

+ +

b)          +When defining component types by extending more +than one parent type, there shall be no name clash between the definitions of +the different parent types, i.e. there shall not be a port, variable, constant +or timer identifier that is declared in any two of the parent types (directly +or by means of extension). It is not considered to be a name clash if a +specific definition is contributed to the extended type via different extension +paths.

+ +

c)          +It is allowed to extend component types that are +defined by means of extension, as long as no cyclic chain of definition is +created.

+ +

Examples

+ +

EXAMPLE 1:      A component type extension and its +effective type definition

+ +

    type component MyMTCType

+ +

    {

+ +

       var integer MyLocalInteger;

+ +

       timer MyLocalTimer;

+ +

       port MyMessagePortType PCO1

+ +

    }

+ +

 

+ +

    type component MyExtendedMTCType extends MyMTCType

+ +

    {

+ +

       var float MyLocalFloat;

+ +

       timer +MyOtherLocalTimer;

+ +

       port +MyMessagePortType PCO2;

+ +

    }

+ +

 

+ +

    // effectively, the above definition +is equivalent to this one:

+ +

    type component MyExtendedMTCType

+ +

    {

+ +

        /* the definitions from MyMTCType +*/

+ +

       var integer MyLocalInteger;

+ +

       timer MyLocalTimer;

+ +

       port MyMessagePortType PCO1

+ +

 

+ +

       /* the additional definitions */

+ +

       var float MyLocalFloat;

+ +

       timer MyOtherLocalTimer;

+ +

       port MyMessagePortType +PCO2;

+ +

    }

+ +

 

+ +

EXAMPLE 2:      A component type extension chain +and forbidden cyclic extensions

+ +

    type component MTCTypeA extends MTCTypeB { /* … +*/ };
+    type component MTCTypeB extends MTCTypeC { /* … */ };
+    type component MTCTypeC extends MTCTypeA { /* … */ };  // +ERROR - cyclic extension

+ +

    type component MTCTypeD extends MTCTypeD { +/* … */ };  // ERROR - cyclic extension

+ +

 

+ +

EXAMPLE 3:      Component +type extensions with name clashes

+ +

    type +component MyExtendedMTCType extends +MyMTCType

+ +

    {

+ +

       var +integer MyLocalInteger; // ERROR - already defined in MyMTCType (see +above)

+ +

       var +float MyLocalTimer;       // ERROR - timer with that name exists in +MyMTCType

+ +

       port +MyOtherMessagePortType PCO1; // ERROR - port with that name exists in MyMTCType

+ +

    }
+
+    type component MyBaseComponent { timer MyLocalTimer };
+    type component MyInterimComponent extends MyBaseComponent { timer MyOtherTimer };

+ +

    type component MyExtendedComponent extends MyInterimComponent

+ +

    {

+ +

       timer MyLocalTimer; // ERROR - already defined in +MyInterimComponent via extension

+ +

    }
+
+

+ +

EXAMPLE 4:      Component +type extension from several parent types

+ +

    type component MyCompB { timer +T };

+ +

    type component MyCompC { var +integer T };

+ +

    type component MyCompD extends +MyCompB, MyCompC {}

+ +

       // ERROR - name clash between +MyCompB and MyCompC

+ +

 

+ +

    // MyCompB is defined above

+ +

    type component MyCompE extends +MyCompB {

+ +

       var integer MyVar1 := +10;

+ +

    }

+ +

 

+ +

    type component MyCompF extends +MyCompB {

+ +

       var float MyVar2 := +1.0;

+ +

    }

+ +

 

+ +

    type component MyCompG extends +MyCompB, MyCompE, MyCompF {

+ +

       // No name clash.

+ +

       // All three parent types of +MyCompG have a timer T, either directly or via extension of

+ +

       // MyCompB; as all these stem +(directly or via extension) from timer T declared in MyCompB,

+ +

       // which make this form of +collision legal.

+ +

       /* additional definitions +here */

+ +

    }

+ +

 

+ +

6.2.11    Component references

+ +

Component references are unique references +to the test components created during the execution of a test case.

+ +

Syntactical Structure

+ +

system | mtc | self +| VariableRef | FunctionInstance

+ +

 

+ +

Semantic Description

+ +

A unique component reference is generated by the test +system at the time when a component is created. It is the result of a create operation (see clause 21.2.1). In addition, +component references are returned by the predefined operations system (returns the component reference of the test system +interface, which is automatically created when testcase execution is started), mtc (returns the component reference of the MTC, which is automatically created when +testcase execution started) and self (returns the component reference of the component in which +self is called).

+ +

Component references are used in the +configuration operations such as connect, map and start +(see clause 21) to set-up test configurations and in the from, to and +sender parts of communication operations of ports connected to test +components other than the test system interface for addressing purposes +(see clause 22 and figure 6).

+ +

In addition, the +special value null is available +to indicate an undefined component reference, e.g. for the initialization of +variables to handle component references.

+ +

The actual data +representation of component references shall be resolved externally by the test +system. This allows abstract test cases to be specified independently of any +real TTCN‑3 runtime +environment, in other words TTCN‑3 does +not restrict the implementation of a test system with respect to the handling +and identification of test components.

+ +

A component reference includes component +type information. This means, for example, that a variable for handling +component references must use the corresponding component type name in its +declaration.

+ +

The configuration +operations (see clause 21) do +not work directly on arrays of components. Instead a specific element of the +array shall be provided as the parameter to these operations. For components, +the effect of an array is achieved by using an array of component references +and assigning the relevant array element to the result of the create operation.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The only operations allowed on component +references are assignment, equality and non-equality.

+ +

b)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

Examples

+ +

EXAMPLE 1:      Component +references with component type variables

+ +

    // A +component type definition

+ +

    type +component MyCompType {

+ +

       port +PortTypeOne PCO1;

+ +

       port +PortTypeTwo PCO2

+ +

    }

+ +

 

+ +

    // +Declaring one variable for the handling of references to components of type +MyCompType

+ +

    // and +creating a component of this type

+ +

    var +MyCompType MyCompInst := MyCompType.create;

+ +

 

+ +

EXAMPLE 2:      Usage +of component references in configuration operations

+ +

    // referring to the component +created above

+ +

    connect(self:MyPCO1, +MyCompInst:PCO1);

+ +

    map(MyCompInst:PCO2, system:ExtPCO1);

+ +

    MyCompInst.start(MyBehavior(self));  // +self is passed as a parameter to MyBehavior

+ +

 

+ +

EXAMPLE 3:      Usage +of component references in from- and to- clauses

+ +

    MyPCO1.receive +from MyCompInst;

+ +

     :

+ +

    MyPCO2.receive(integer:?) +-> sender MyCompInst;

+ +

     :

+ +

    MyPCO1.receive(MyTemplate) from +MyCompInst;

+ +

     :

+ +

    MyPCO2.send(integer:5) to +MyCompInst;

+ +

 

+ +

EXAMPLE 4:      Usage +of component references in one-to-many connections

+ +

    // The +following example explains the case of a one-to-many connection at a Port PCO1

+ +

    // +where values of type M1 can be received from several components of the +different types

+ +

    // +CompType1, CompType2 and CompType3 and where the sender has to be retrieved.

+ +

    // In +this case the following scheme may be used:

+ +

     :

+ +

    var M1 MyMessage, MyResult;

+ +

    var MyCompType1 MyInst1 := null;

+ +

    var MyCompType2 MyInst2 := null;

+ +

    var MyCompType3 MyInst3 := null;

+ +

     :

+ +

    alt {

+ +

       [] PCO1.receive(M1:?) from +MyInst1 -> value MyMessage sender MyInst1 {}

+ +

       [] PCO1.receive(M1:?) from +MyInst2 -> value MyMessage sender MyInst2 {}

+ +

       [] PCO1.receive(M1:?) from +MyInst3 -> value MyMessage sender MyInst3 {}

+ +

    }

+ +

     :

+ +

    MyResult := +MyMessageHandling(MyMessage);   // some result is retrieved from a function

+ +

     :

+ +

    if (MyInst1 != null) +{PCO1.send(MyResult) to MyInst1};

+ +

    if (MyInst2 != null) +{PCO1.send(MyResult) to MyInst2};

+ +

    if (MyInst3 != null) +{PCO1.send(MyResult) to MyInst3};

+ +

     :

+ +

 

+ +

EXAMPLE 5:      Usage of self

+ +

    var MyComponentType MyAddress; +

+ +

    MyAddress := self; // Store +the current component reference

+ +

 

+ +

EXAMPLE 6:      Usage +of component arrays

+ +

    // This example shows how to +model the effect of creating, connecting and running arrays of

+ +

    // components using a loop and +by storing the created component reference in an array of

+ +

    // component references.

+ +

   

+ +

    testcase MyTestCase() runs +on MyMtcType system MyTestSystemInterface

+ +

    {

+ +

        :

+ +

       var integer i;

+ +

       var MyPTCType1 MyPtc[11];

+ +

        :

+ +

       for (i:= 0; i<=10; +i:=i+1)

+ +

       {

+ +

           MyPtc[i] := MyPTCType1.create;

+ +

           connect(self:PtcCoordination, +MyPtc[i]:MtcCoordination);

+ +

           MyPtc[i].start(MyPtcBehaviour());

+ +

       }

+ +

        :

+ +

    }

+ +

 

+ +

6.2.12    Addressing entities inside the +SUT

+ +

An SUT may +consist of several entities which can be addressed individually. The global address +data type may be used if only one data type is needed. If several data types at +different ports are needed for addressing SUT entities, the type used for +addressing via a port instance shall be declared in the corresponding port type +definition.

+ +

Syntactical +Structure

+ +

TemplateInstance

+ +

 

+ +

Semantic Description

+ +

The actual data representation of the +global address type is +resolved either by an explicit global address type definition within the test +suite, address type definitions within port definitions, or externally by the +test system (i.e. the address type is left as an open type within the TTCN‑3 +specification). This allows abstract test cases to be specified independently +of any real address mechanism specific to the SUT.

+ +

If an address type is bound +to a port type definition, addressing of SUT instances (i.e., to- and from-directives +in communication operations) via instances of that port type shall be +restricted to values of the bound address type.

+ +

If several address types exist within a +test suite, ambiguities shall be resolved by means of the dot notation. For +example, a type reference within a variable definition used to store an SUT +address may be prefixed by a port type identifier or a module identifier. If +both a global address type definition and port definitions with an address type +definition exist in a module, the global address type shall only affect ports +without an explicit address type definition. The consistent use of explicit +address type definitions within port definitions is recommended over the use of +global address type definitions.

+ +

Explicit SUT addresses for a globally +defined address type shall only be generated inside a TTCN‑3 module if +the type is defined inside the module itself. If the type is not defined inside +the module, explicit SUT addresses for a global address type shall only be +passed in as parameters or be received in message fields or as parameters of +remote procedure calls.

+ +

In addition, the special value null +is available for the address type to indicate an undefined address, e.g. for the initialization +of variables of the address type.

+ +

If a port type definition includes the +declaration of a type that shall be used for addressing SUT entities, only +values of that type shall be used in to, from +and sender parts of receive and send operations of port instances of that type +mapped to the test system interface.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +TemplateInstance shall +be of type address or of the type of the address declaration in a port type +definition. If TemplateInstance is of type address, it and +can be an address type value, an address type variable, etc.

+ +

b)          +For addressing purposes, the address data type shall only be used in the to, from +and sender parts of receive and send operations of ports mapped to the test +system interface.

+ +

Examples

+ +

EXAMPLE 1:      Global address type

+ +

    // Associates the type integer to the open type address

+ +

    type integer address;

+ +

     :

+ +

    // new address variable +initialized with null

+ +

    var address MySUTentity := null;

+ +

     :

+ +

    // receiving an address value and assigning it to variable +MySUTentity

+ +

    PCO.receive(address:?) -> value +MySUTentity;

+ +

     :

+ +

    // usage of the received address for sending template MyResult

+ +

    PCO.send(MyResult) to MySUTentity;

+ +

     :

+ +

    // usage of the received address for receiving a confirmation +template

+ +

    PCO.receive(MyConfirmation) from MySUTentity;

+ +

 

+ +

EXAMPLE +2:      Port type-specific address type

+ +

    type record MyAddressType {                     // +user-defined type

+ +

       integer field1;

+ +

       boolean field2;

+ +

    }

+ +

    type port +MyPortType message {

+ +

       address MyAddressType;                   // +address declaration

+ +

       inout  integer;

+ +

    }

+ +

    type component MyComponentType

+ +

    {

+ +

       port MyPortType   PCO;

+ +

    }

+ +

    function myFunction () runs on MyComponentType {

+ +

       var MyAddressType SUT_Address := { 5, true};    // +address value for addressing via ports

+ +

                                                // of MyPortType

+ +

       :

+ +

       PCO.send(integer: 5) to SUT_Address;        // +use of address value in to

+ +

       :

+ +

       PCO.receive(integer: ?) from +SUT_Address;   // use of address value in from

+ +

       :

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Elaborated address example

+ +

    type AddressType1 address;              // +address type definition on module level

+ +

 

+ +

    type port +MyPortType1 message {

+ +

       inout  MsgType1;

+ +

    }

+ +

 

+ +

    // address types bound to port types

+ +

    type port +MyPortType2 message {

+ +

       address AddressType2;             // +values of type AddressType2 can be

+ +

                                        // +used to address SUT entities.

+ +

       inout  MsgType2;

+ +

    }

+ +

    type port +MyMessagePort3 message {

+ +

       address AddressType3;             // +values of type AddressType3 can be

+ +

                                        // +used to address SUT entities.

+ +

       inout  MsgType3;

+ +

    }

+ +

    // component type definition

+ +

    type component MyComponentType

+ +

    {

+ +

       port MyPortType1  PCO1;

+ +

       port MyPortType2  PCO2;

+ +

       port MyPortType3  PCO3

+ +

    }

+ +

    // The following behaviour is considered to be executed on an +instance of MyComponentType.

+ +

    // Furthermore, it is considered that the ports PCO1, PCO2 and +PCO3 are mapped ports, i.e.,

+ +

    // used for the communication with the SUT.

+ +

     :

+ +

    // new address variable +initialized with null

+ +

    var address               MySUTentity1 := null; // +type of MySUTentity1 is AddressType1

+ +

    var MyPortType2.address   MySUTentity2 := null; // +type of MySUTentity2 is AddressType2

+ +

    var MyPortType3.address   MySUTentity3 := null; // +type of MySUTentity3 is AddressType3

+ +

     :

+ +

    // receiving an address values and assigning them to variables

+ +

    PCO1.receive(MsgType1:?) from address:? +-> sender MySUTentity1;  

+ +

                                                       // Address +type of module scope,

+ +

                                                // no prefix needed

+ +

    PCO2.receive(MsgType2:?) from MyPortType2.address:? +-> sender MySUTentity2; 

+ +

                                                      // +Resolution of address type

+ +

                                                // by means of a prefix

+ +

    PCO3.receive(MsgType3:?) from MyPortType3.address:? +-> sender MySUTentity3;

+ +

     :

+ +

    // usage of the received address values for addressing purposes

+ +

    PCO1.send(MyResult) to MySUTentity1;

+ +

     :

+ +

    PCO2.receive(MyConfirmation) from MySUTentity2;

+ +

     :

+ +

    PCO3.send(MyRequest) to MySUTentity3;

+ +

     :

+ +

 

+ +

6.2.13    Subtyping +of structured types

+ +

TTCN-3 allows subtyping of structured types +as given in table 3.

+ +

6.2.13.1          Length subtyping of record ofs and set ofs

+ +

TTCN-3 permits constraining the number of +elements in instances of record +of and set of types.

+ +

The length keyword +followed by a value or a range (with inclusive boundaries only) within brackets +and used between the record +or set and the of keywords, +restricts the allowed lengths of the given record of or set of +type. The value or the bounds within the brackets shall be non-negative integer +values, except when the infinity keyword is used at the place of the upper bound, in which case the +maximum number of the elements is not constrained.

+ +

Record of and set of type definitions may +be used to define new record +of or set of subtypes. In this case the +rules of the previous paragraph apply, except that the length +keyword and the value or range defining the allowed number of iterations +(within brackets) shall be placed following the identifier of the new type.

+ +

Constants used in the constant expressions +of length subtyping shall meet with the restrictions in clause 10.

+ +

EXAMPLE 1:      Length restrictions of record of +and set of types

+ +

     type record length(10) of integer +MyRecordOfType10;

+ +

      // is a record of exactly 10 integers

+ +

 

+ +

     type record length(0..10) of integer +MyRecordOfType0_10;

+ +

      // is a record of a maximum of 10 integers

+ +

 

+ +

     type record length(10..infinity) of +integer MyRecordOfType10up;

+ +

      // record of at least 10 integers

+ +

 

+ +

     type record length(0..infinity) of +integer MyRecordOfType0up;

+ +

     // an unrestricted record of integer type

+ +

 

+ +

EXAMPLE 2:      Length subtyping of referenced +record of types

+ +

     type record of charstring +StringArray;

+ +

      // is an unlimited record of, each element shall be a +charstring

+ +

 

+ +

     type StringArray StringArray34 length(4 .. 5);

+ +

     // is a record of 4 or 5 elements, each element is a +charstring

+ +

     // it is equivalent to

+ +

     // type record length(4 .. 5) of +charstring StringArray34a;

+ +

 

+ +

     type StringArray34 StringArray34again length(4 +.. 5);

+ +

     // the same as StringArray34

+ +

 

+ +

     type StringArray34 StringArray6 length(6);

+ +

     // causes an error as record ofs with 6 elements are not legal +values of StringArray34

+ +

 

+ +

EXAMPLE 3:      Length +subtyping of referenced set of types

+ +

     type record MyCapsule {

+ +

       set of integer mySetOfInt

+ +

     }

+ +

 

+ +

     type MyCapsule.mySetOfInt MySetOfIntSub length(5..10);

+ +

     // unordered list of 5 to 10 integers

+ +

 

+ +

6.2.13.2          List subtyping of +structured types and anytype

+ +

List subtyping is possible when defining a +new type based on an existing parent type, but not directly at the declaration +of the first parent type (see table 3).

+ +

Subtypes defined by a list subtyping +restrict the allowed values of the subtype to the values in the list. In case +of list subtyping of record, set, record +of, set of, union and anytype types, the list may contain both values and subtypes of the parent +types of the type being constrained. The collection of values denoted by the +type(s) referenced in the list become instances of the new subtype. All values +of the expanded list (i.e. after resolving the type references) shall be valid +values of the first parent type.

+ +

In case of enumerated types, +the value list subtyping shall contain only values of the parent type.

+ +

EXAMPLE 1:      List subtyping of record types

+ +

    type record MyRecord {

+ +

      integer     f1  optional,

+ +

      charstring  f2,

+ +

      charstring  f3

+ +

    }

+ +

 

+ +

    type MyRecord MyRecordSub1 (

+ +

      { f1 := omit, f2 := "user", +f3 := "password" },

+ +

      { f1 := 1, f2 := "User", f3 := +"Password" }

+ +

    ) // a valid subtype of MyRecord containing 2 values

+ +

 

+ +

    type MyRecord MyRecordSub2 (

+ +

      MyRecordSub1,

+ +

      { f1 := 2, f2 := "uname", f3 := "pswd" },

+ +

      { f1 := 3, f2 := "Uname", f3 := +"Pswd" }

+ +

    ) // a valid subtype MyRecord containing 4 values; notice that +values of

+ +

      // MyRecordSub1 are identified by referencing MyRecordSub1

+ +

 

+ +

    type MyRecordSub1 MyRecordSub3 (

+ +

      { f1 := 1, f2 := "user", f3 := +"password" },

+ +

      { f1 := 1, f2 := "User", f3 := "Password" +}

+ +

    ) // empty type as { f1 := 1, f2 := "user", f3 := +"password" } is not a legal value of

+ +

      // MyRecordSub1 (notice field f1)

+ +

 

+ +

EXAMPLE 2:      List subtyping of record of types

+ +

     type record of charstring +StringArray;

+ +

 

+ +

     type StringArray StringArrayList1 (

+ +

       { "aa" },

+ +

       { "bbb", "cc" },

+ +

       { "ddd", "ee", "ff" }

+ +

     ); // valid subtype of StringArray

+ +

 

+ +

     type StringArrayList1 StringArrayList2 (

+ +

       { "aa" },

+ +

       { "bbb", "cc" }

+ +

     ); // valid subtype of StringArrayList1

+ +

 

+ +

     type StringArrayList1 StringArrayList3 (

+ +

       StringArrayList2,

+ +

       { "ddd", "ee", "ff" }

+ +

     ); // valid, but equivalent to StringArrayList1

+ +

 

+ +

     type StringArrayList1 StringArrayList4 (

+ +

       StringArrayList2,

+ +

       { "ddd", "ee", "fff" }

+ +

     ); // empty type as { "ddd", "ee", +"fff" } is not a value of StringArrayList1

+ +

        // (notice the extra character f in the third element)

+ +

 

+ +

EXAMPLE 3:      List subtyping of union types

+ +

    type union MyUnion {

+ +

      integer     c1,

+ +

      charstring  c2,

+ +

      charstring  c3

+ +

    };

+ +

 

+ +

    type MyUnion MyUnionSub1 (

+ +

      { c1 := 0 },

+ +

      { c1 := 1 }

+ +

    ); // a valid subtype of MyUnion containing two values

+ +

 

+ +

    type MyUnion MyUnionSub2 (

+ +

      MyUnionSub1,

+ +

      { c2 := "mine" },

+ +

      { c3 := "yours" }

+ +

    ); // a valid subtype of MyUnion containing four values; notice +that values of

+ +

       // MyUnionSub1 are identified by referencing MyUnionSub1

+ +

 

+ +

    type MyUnionSub1 MyUnionSub3 (

+ +

      { c1 := 0 },

+ +

      { c1 := 2 }

+ +

    ); // causes an error as { c1 := 2 } is not a value of +MyUnionSub1

+ +

 

+ +

EXAMPLE 4:      List subtyping of enumerated types

+ +

    type enumerated MyEnum { first, second, third, +fourth, fifth };

+ +

 

+ +

    type MyEnum EnumSub1 ( first, second, third );

+ +

      // a valid subtype of MyEnum

+ +

 

+ +

    type EnumSub1 EnumSub2 ( first, second );

+ +

      // a valid subtype of EnumSub1

+ +

 

+ +

    type EnumSub1 EnumSub3 ( first, second, fourth );

+ +

      // causes an error as fourth is not a value of EnumSub1

+ +

 

+ +

    type MyEnum EnumSub4 ( EnumSub1, fourth);

+ +

      // causes an error as type references are not allowed in the +value list of enumerated types

+ +

 

+ +

EXAMPLE 5:      List subtyping of anytype

+ +

    type anytype MyAnySub1 (

+ +

      { integer := 5 },

+ +

      { boolean := false },

+ +

      { bitstring := '0011'B },

+ +

      { charstring := "mine" },

+ +

      { MyEnum := first }

+ +

    ); // a valid subtype of anytype, consisting of 5 values

+ +

 

+ +

    type MyAnySub1 MyAnySub2 (

+ +

      { integer := 5 },

+ +

      { boolean := false },

+ +

      { bitstring := '0011'B }

+ +

    ); // a valid subtype of MyAnySub1, consisting of 3 values

+ +

 

+ +

    type anytype MyAnySub3 (

+ +

      MyAnySub2,

+ +

      { octetstring := 'FF'O }

+ +

    ); // a valid subtype of anytype, consisting of 4 values, 3 of +which are defined

+ +

       // by referring to MyAnySub2

+ +

 

+ +

    type MyAnySub1 MyAnySub4 (

+ +

      { integer := 5 },

+ +

      { boolean := false },

+ +

      { MyEnum := second }

+ +

    ); // causes an error as { MyEnum := second } is not a value of +MyAnySub1

+ +

 

+ +

    type MyAnySub1 MyAnySub5 (

+ +

      MyAnySub3,

+ +

      { MyEnum := first }

+ +

    ); // causes an error as { octetstring := 'FF'O } +(defined via referencing MyAnySub3) is

+ +

       // not a value of MyAnySub1

+ +

 

+ +

6.2.13.3          Subtyping of the +iterated type of record ofs and set ofs

+ +

A type restriction following the identifier +of a newly defined record +of or set of type (i.e. when the keywords record +and of or set and of are used in the definition) shall constrain the innermost type. The +newly defined iterated type shall be a subset of the innermost type. If the +innermost type is a basic type, the subtyping rules in clause 6.1.2 shall +apply. If the innermost type is referencing a structured type or anytype, the rules in clauses 6.2.13.1 and 6.2.13.2 shall apply.

+ +

EXAMPLE 1:      Subtyping of basic innermost types +of record ofs and set ofs

+ +

    type record of charstring +String23Array length(2 .. 3);

+ +

      // is an unlimited record of, each element shall be a +charstring of 2 or 3 characters

+ +


+    type record length(0..10) of charstring +String12Array10 length(12);

+ +

    // is a record of a maximum of 10 strings each with exactly 12 +characters

+ +

 

+ +

    type record of record of charstring +String12Array2D length(12);

+ +

    // is a two-dimensional unlimited array of strings each with +exactly 12 characters

+ +

 

+ +

    type set length(5) +of set length(6) of charstring String12Array2D56 length(12);

+ +

    // is an unordered +two-dimensional array of the size 5*6 strings, each with

+ +

    // exactly 12 characters

+ +

 

+ +

 

+ +

    const String23Array +c_str23arr_a := { "aa", "bbb", "cc", +"ddd", "ee", "ff" };

+ +

    // valid, all charstrings are 2 or 3 characters long

+ +

 

+ +

    const String23Array +c_str23arr_b := { "a", "bbbb", "cc", +"ddd", "ee", "ff" };

+ +

    // causes an error as "a" and "bbbb" are +not 2 or 3 characters long

+ +

 

+ +

    const String12Array2D56 +c_str12arr2D56_a := {

+ +

      { "aa", "aaa", "bb", +"bbb", "cc", "ccc" },

+ +

      { "dd", "ddd", "ee", +"eee", "ff", "fff" },

+ +

      { "gg", "ggg", "hh", +"hhh", "ii", "iii" },

+ +

      { "jj", "jjj", "kk", "kkk", +"ll", "lll" },

+ +

      { "mm", "mmm", "nn", +"nnn", "oo", "ooo" }

+ +

    }; // valid, a 5*6 matrix of charstrings being 2 or 3 +characters long

+ +

 

+ +

    const String12Array2D56 +c_str12arr2D56_b := {

+ +

      { "a", "aaa", "bb", +"bbbb", "cc", "ccc" },

+ +

      { "dd", "ddd", "ee", "eee", +"ff", "fff" },

+ +

      { "gg", "ggg", "hh", +"hhh", "ii", "iii" },

+ +

      { "jj", "jjj", "kk", +"kkk", "ll", "lll" },

+ +

      { "mm", "mmm", "nn", +"nnn", "oo", "ooo", "pp" }

+ +

    }; // causes an error as "a" and "bbbb" are +not 2 or 3 characters long and

+ +

       // the 5th inner record of has 7 elements

+ +

 

+ +

EXAMPLE 2:      Length subtyping of structured +innermost types of record ofs

+ +

    type record of String23Array String23Array45 length(4 +.. 5);

+ +

    // is a two-dimensional array, the first dimension is +unlimited,

+ +

    // the second dimension is restricted to 4 or 5 elements and +each element

+ +

    // is a charstring of 2 or 3 characters. It is equivalent to:

+ +

    // type record of record length(4 +.. 5) of charstring String23Array45 length(2 .. 3);

+ +

 

+ +

    const String23Array45 +c_str23arr45_a := {

+ +

      { "aa", "bbb", "cc", +"ddd" },

+ +

      { "ee", "fff", "gg", +"hhh", "ii" }

+ +

    }; // valid, 4 or 5 elements in the inner record of, all +containing 2 or 3 characters

+ +

 

+ +

    const String23Array45 +c_str23arr45_b := {

+ +

      { "aa" , "bbb", "cc" }

+ +

    }; //causes an error as there are only 3 elements in the +inner record of

+ +

 

+ +

    const String23Array45 +c_str23arr45_c := {

+ +

      { "aa", "bbbb", "cc", "dd" +}

+ +

    }; //causes an error as "bbbb" contains 4 characters

+ +

 

+ +

    type record length(0 .. 1) of +String23Array String23Array0145 length(4 .. 5);

+ +

    // is a two-dimensional array, the first dimension is limited +to 0 or 1 elements,

+ +

    // the second dimension is restricted to 4 or 5 elements, each +element is a

+ +

    // charstring of 2 or 3 characters.

+ +

 

+ +

    const String23Array0145 +c_str23arr0145_a := {

+ +

      { "aa", "bbb", "cc", +"ddd" },

+ +

    }; // a valid 1*4 array of charstrings, each of 2 or 3 characters

+ +

 

+ +

    const String23Array0145 +c_str23arr0145_a := {

+ +

      { "aa", "bbb", "cc", +"ddd" },

+ +

      { "ee", "fff", "gg", +"hhh", "ii" }

+ +

    }; // causes an error as there are two elements in the outer +record of

+ +

 

+ +

    const String23Array0145 +c_str23arr0145_b := {

+ +

      { "aa" , "bbb", "cc" }

+ +

    }; // causes an error as there are only 3 elements in +the inner record of

+ +

 

+ +

    const String23Array0145 +c_str23arr0145_c := {

+ +

      { "aa", "bbbb", "cc", "dd" +}

+ +

    }; // causes an error as "bbbb" contains 4 characters

+ +

 

+ +

    type record of String23Array45 String23Array6 length(6);

+ +

    // empty type as String23Array45 is restricted to 4 or 5 +elements,

+ +

    // thus length restriction 6 is outside the allowed range

+ +

 

+ +

6.2.13.4          Mixing subtyping +mechanisms

+ +

In the case of structured types and the +special type anytype, it is forbidden to mix different subtyping mechanisms (e.g. list +and length) in the same definition.

+ +

6.3        Type compatibility

+ +

Generally, +TTCN‑3 requires type compatibility of values at +assignments, instantiations and comparison.

+ +

For the purpose of this +clause the actual value to be assigned, passed as parameter, etc., is called +value "b". The type of value "b" is called type +"B". The type of the formal parameter, which is to obtain the actual +value of value "b" is called type "A".

+ +

NOTE:      As address is more a +predefined type name than a distinct type with its own properties, the same +type compatibility rules apply to an address type and +to its derivatives as the rules were if the type was defined with a name +different from address.

+ +

6.3.1       Type compatibility of +non-structured types

+ +

For variables, +constants, templates, etc. of simple basic types and basic +string types the value "b" is compatible to +type "A" if type "B" resolves to the same root type as type +"A" (e.g. integer) and it +does not violate subtyping
+(e.g. ranges, length restrictions) of type "A".

+ +

EXAMPLE 1:      Compatibility of integers

+ +

    // Given

+ +

    type integer MyInteger(1 .. 10);

+ +

    :

+ +

    var integer x;

+ +

    var MyInteger y;

+ +

 

+ +

    // Then

+ +

    y := 5; // is a valid assignment

+ +

 

+ +

    x := y;

+ +

    // is a valid assignment, because y has the same root type as x +and no subtyping is violated

+ +

 

+ +

    x := 20; // is a valid assignment

+ +

    y := x;

+ +

    // is NOT a valid assignment, because the value of x is out of +the range of MyInteger

+ +

 

+ +

    x := 5; // is a valid assignment

+ +

    y := x;

+ +

    // is a valid assignment, because the value of x is now within +the range of MyInteger

+ +

 

+ +

EXAMPLE 2:      Compatibility of floats

+ +

    // Given

+ +

    type float PositiveFloats(0.0 .. infinity);

+ +

    :

+ +

    var PositiveFloats x;

+ +

    var float y;

+ +

 

+ +

    // Then

+ +

    y := 5.0; // is a valid assignment

+ +

    x := y;

+ +

    // is a valid assignment, because y has the same root type as x +and no subtyping is violated

+ +

 

+ +

    y := -20.0; // is a valid assignment

+ +

    x := y;

+ +

    // causes an error, because the value of y is out of the range +of PositiveFloats

+ +

 

+ +

    y := not_a_number; // is a valid assignment

+ +

    x := y;

+ +

    // causes an error, because the value not_a_number is +out of the range of PositiveFloats

+ +

 

+ +

EXAMPLE 3:      Compatibility +of charstrings

+ +

    //Given

+ +

    type +charstring MyChar length (1);

+ +

    type charstring MySingleChar length (1);

+ +

    var MyChar myCharacter;

+ +

    var charstring myCharString;

+ +

    var MySingleChar mySingleCharString := +"B";

+ +

 

+ +

    //Then

+ +

    myCharString := mySingleCharString;

+ +

    //is a valid assignment as charstring restricted to length 1 is +compatible with charstring.

+ +

    myCharacter := mySingleCharString;

+ +

    //is a valid assignment as two single-character-length +charstrings are compatible.

+ +

 

+ +

    //Given

+ +

    myCharString := "abcd";

+ +

   

+ +

    //Then

+ +

    myCharacter := myCharString[1];

+ +

    //is valid as the r.h.s. notation addresses a single element +from the string

+ +

 

+ +

    //Given

+ +

    var charstring +myCharacterArray [5] := {"A", "B", "C", +"D", "E"}

+ +

   

+ +

    //Then

+ +

    myCharString := myCharacterArray[1];

+ +

    //is valid and assigns the value "B" to myCharString;

+ +

 

+ +

For variables, constants, +templates etc. of charstring type, +value 'b' is compatible with a universal charstring type 'A' unless it violates any type constraint +specification (range, list or length) of type "A".

+ +

For +variables, constants, templates etc. of universal charstring type, value 'b' is compatible with a charstring +type 'A' if all characters used in value 'b' have their corresponding +characters (i.e. the same control or graphical character using the same +character code) in the type charstring and it does not violate any type constraint specification (range, +list or length) of type "A".

+ +

6.3.2       Type compatibility of +structured types

+ +

In the case of structured types (except the +enumerated type) a value "b" of type "B" is compatible +with type "A", if the effective value structures of type +"B" and type "A" are compatible, in which case assignments, +instantiations and comparisons are allowed.

+ +

6.3.2.1            Type +compatibility of enumerated types

+ +

Enumerated types are only compatible to +synonym types (see clause 6.4) and not compatible with other basic or +structured types.

+ +

6.3.2.2            Type +compatibility of record and record of types

+ +

For record types the +effective value structures are compatible if the number, and optional aspect of +the fields in the textual order of definition are identical, the types of each +field are compatible and the value of each existing field of the value +"b" is compatible with the type of its corresponding field in type +"A". The value of each field in the value "b" is assigned +to the corresponding field in the value of type "A".

+ +

EXAMPLE 1:

+ +

// Given

+ +

type record AType {

+ +

    integer    a(0..10)   optional,

+ +

    integer    b(0..10)   optional,

+ +

    boolean        c

+ +

}

+ +

 

+ +

type record +BType {

+ +

    integer        a      optional,

+ +

    integer    b(0..10)   optional,

+ +

    boolean        c

+ +

}

+ +

 

+ +

type record CType {       // type +with different field names

+ +

    integer        d   optional,

+ +

    integer        e   optional,

+ +

    boolean        f

+ +

 

+ +

}

+ +

 

+ +

type record DType {       // type +with field c optional

+ +

    integer        a   optional,

+ +

    integer        b   optional,

+ +

    boolean        c   optional

+ +

}

+ +

 

+ +

type record EType {       // type +with an extra field d

+ +

    integer        a   optional,

+ +

    integer        b   optional,

+ +

    boolean        c,

+ +

       float         d   optional

+ +

}

+ +

 

+ +

    var AType MyVarA := { -, +1, true};

+ +

    var BType MyVarB := { +omit, 2, true};

+ +

    var CType MyVarC := { 3, omit, +true};

+ +

    var DType MyVarD := { 4, 4, true};

+ +

    var EType MyVarE := { 5, 5, true, omit};

+ +

 

+ +

    // Then

+ +

 

+ +

    MyVarA := MyVarB; // is a valid assignment,

+ +

                      // new value +of MyVarA is ( a :=omitted, b:= 2, c:= true)

+ +

    MyVarC := MyVarB; // is a valid assignment

+ +

                      // new value +of MyVarC is ( d :=omitted, e:= 2, f:= true)

+ +

    MyVarA := MyVarD; // is NOT a valid +assignment because the optionality of fields does not

+ +

                      // match

+ +

    MyVarA := MyVarE; // is NOT a valid +assignment because the number of fields does not match

+ +

 

+ +

    MyVarC := { d:= 20 };// actual value +of MyVarC is { d:=20, e:=2,f:= true }

+ +

    MyVarA := MyVarC  // is NOT a valid +assignment because field 'd' of MyVarC violates subtyping

+ +

                      // of field 'a' of +AType

+ +

 

+ +

For record of +types and arrays the effective value structures are compatible if their +component types are compatible and value "b" of type "B" +does not violate any length subtyping of the record of +type or dimension of the array of type "A". Values of elements of the +value "b" shall be assigned sequentially to the instance of type +"A", including undefined elements.

+ +

Two array types are compatible if their +corresponding record +of types are compatible.

+ +

record of types and single-dimension arrays are compatible with record +types if their effective value structures are compatible and the number of +elements of value "b" of the record of +type "B" or the dimension of array "b" is exactly the same +as the number of elements of the record type "A". +Optionality of the record type fields has no importance when determining compatibility, i.e. +it does not affect the counting of fields (which means that optional fields +shall always be included in the count). Assignment of the element values of the +record of type or array to the instance of a record type shall +be in the textual order of the corresponding record type +definition, including undefined elements. If an element with an undefined value +is assigned to an optional element of the record, this will +cause the optional element to be omitted. An attempt to assign an element with +undefined value to a mandatory element of the record shall +cause an error.

+ +

NOTE:      If the record of +type has no length restriction or the length restriction exceeds the number of +elements of the compared record type and the index of any defined element of the record of value is less or equal than the number of elements of the record +type minus one, than the compatibility requirement is always fulfilled.

+ +

Values of a record +type can also be assigned to an instance of a record of +type or a single-dimension array if no length restriction of the record of +type is violated or the dimension of the array is more than or equal to the +number of elements of the record type. Optional elements missing in the record value +shall be assigned as elements with undefined values.

+ +

EXAMPLE 2:

+ +

// Given

+ +

type record HType {

+ +

    integer a,

+ +

    integer b optional,

+ +

    integer c

+ +

}

+ +

 

+ +

type record of integer IType

+ +

 

+ +

    var HType MyVarH := { 1, omit, 2};

+ +

    var IType MyVarI;

+ +

    var integer MyArrayVar[2];

+ +

 

+ +

    // Then

+ +

 

+ +

    MyArrayVar := MyVarH;
+    // is a valid assignment as type of MyArrayVar +and HType are compatible

+ +

 

+ +

    MyVarI := MyVarH;

+ +

    // is a valid assignment as the types are compatible and no +subtyping is violated

+ +

 

+ +

    MyVarI := { 3, 4 };

+ +

    MyVarH := MyVarI;

+ +

    // is NOT a valid assignment as the mandatory field 'c' of +Htype receives no value

+ +

 

+ +

6.3.2.3            Type +compatibility of set and set of types

+ +

set types are +only type compatible with other set types and set of +types. For set types and for set of types the same compatibility rules shall apply as to record +and record of types.

+ +

NOTE 1:   This +implies that though the order of elements at sending and receipt is unknown, +when determining type compatibility for set types, the +textual order of the fields in the type definition is decisive.

+ +

NOTE 2:   In set values the +order of fields may be arbitrary, however this does not affect type +compatibility as field names unambiguously identify, which fields of the +related set type correspond to which set value fields.

+ +

EXAMPLE:

+ +

    // Given

+ +

    type set FType {

+ +

       integer a   optional,

+ +

       integer b   optional,

+ +

       boolean c

+ +

    }

+ +

 

+ +

    type set GType {

+ +

       integer d   optional,

+ +

       integer e   optional,

+ +

       boolean f

+ +

    }

+ +

 

+ +

    var FType MyVarF := { a:=1, c:=true };

+ +

    var GType MyVarG := { f:=true, d:=7};

+ +

   

+ +

    // Then

+ +

 

+ +

    MyVarF := MyVarG; // is a valid +assignment as types FType and GType are compatible

+ +

   

+ +

    MyVarF := MyVarA; // is NOT a valid +assignment as MyVarA is a record type

+ +

 

+ +

6.3.2.4            Type +compatibility of union types

+ +

union types +are only type compatible with other union types. A union value +"a" of union type "A" is compatible with union type "B" +if the alternative selected in "a" has a corresponding alternative +with identical name in "B" and the value of the selected alternative +in "a" is compatible to the type of the corresponding alternative in +"B".

+ +

EXAMPLE:

+ +

    type union U1 {integer i};

+ +

    type union U2 {integer i, boolean +b};

+ +

 

+ +

    var U1 u1 := {i := 1};

+ +

    var U2 u2 := u1;      // correct

+ +

    u1:= u2;              // correct as the alternative i is +selected in u2 and is compatible
+                          // to i in U1

+ +

    u2:= {b := true};

+ +

    u1:= u2;              // incorrect as u1 has no alternative b

+ +

    var anytype x := u1; // incorrect as the anytype +is not a union type.

+ +

 

+ +

6.3.2.5            Type +compatibility of anytype types

+ +

anytype +types are only type compatible with other anytype types. An anytype +value "a" of anytype type "A" is compatible with anytype type +"B" if the alternative selected in "a" has a corresponding +alternative with identical name in "B" and the value of the selected +alternative in "a" is compatible to the type of the corresponding +alternative in "B". Identical alternative names in this case mean the +name of a TTCN-3 basic type or the name of the same user defined type +definition (considering also the module in which the type is defined).

+ +

EXAMPLE:

+ +

    module A {

+ +

       type integer I (0..2);

+ +

       type float F;

+ +

       type anytype Atype //anytype composed of +TTCN-3 built-in basic types, I, and F

+ +

    }

+ +

 

+ +

    module B {

+ +

       type integer I (0..2);

+ +

       type anytype Atype

+ +

    }

+ +

 

+ +

    module C {

+ +

       import from A all;

+ +

       import from B all;

+ +

       type union U {

+ +

           integer I (0..2)

+ +

       }

+ +

       control {

+ +

           var A.Atype aa;

+ +

           var A.Atype aaI := { I := 1 }

+ +

           var A.Atype aaF := { F := 1.0 }

+ +

           var B.Atype ba := { integer := 1 }

+ +

           var B.Atype baI := { I := 1 }

+ +

           var U u := { I := 1 }

+ +

 

+ +

       aa := ba;      // correct, the value of aa1 becomes { +integer := 1 }

+ +

       aa := baI;     // incorrect, type B.I is not present in the +anytype A.Atype

+ +

       aa := u;       // incorrect, type of u is not anytype but a +user defined union type

+ +

 

+ +

       ba := { float := 1.0 };   // correct, assigning a literal +value

+ +

       ba := aaI;     // incorrect, type A.I is not present in the +anytype B.Atype

+ +

       ba := aaF;     // incorrect, type A.F is not present in the +anytype B.Atype

+ +

       }

+ +

    }

+ +

 

+ +

6.3.2.6            Compatibility +between sub-structures

+ +

The rules +defined in this clause for structured types compatibility are also valid for +the sub-structure of such types.

+ +

EXAMPLE:

+ +

    // Given

+ +

    type record JType {

+ +

       HType  H,

+ +

       integer b optional,

+ +

       integer c

+ +

    }

+ +

 

+ +

   var JType MyVarJ

+ +

  

+ +

   // If considering the declarations above, then

+ +

 

+ +

 

+ +

    MyVarJ.H := MyVarH;
+    // is a valid assignment as the type of field H +of JType and HType are compatible

+ +

 

+ +

    MyVarI := MyVarJ.H;
+    // is a valid assignment as IType and the type of field H of JType are +compatible

+ +

 

+ +

6.3.3       Type compatibility of component types

+ +

Type +compatibility of component types has to be considered in two different +conditions:

+ +

1)          +Compatibility of a component reference value +with a component type (e.g. when passing a component reference as an actual +parameter to a function or an altstep or when assigning a component reference +value to a variable of different component type): a component reference "b" +of component type "B" is compatible with component type "A" +if all definitions of "A" have identical definitions in +"B".

+ +

2)          +Runs on compatibility: a function or altsteps +referring to component type "A" in its runs on clause may be called +or started on a component instance of type 'B' if all the definitions of +"A" have identical definitions in "B".

+ +

Identity of definitions in "A" with definitions of "B" is +determined based on the following rules:

+ +

a)      For port instances, both the type and the +identifier shall be identical.

+ +

b)      For timer instances, identifiers shall be +identical and either both shall have identical initial durations or both shall +have no initial duration.

+ +

c)       For variable instances and constant +definitions, the identifiers, the types and initialization values shall be +identical (in case of variables this means that either the values are missing +in both definitions or are the same).

+ +

d)      For local template definitions, the +identifiers, the types, the formal parameter lists and the assigned template or +template field values shall be identical.

+ +

6.3.4       Type compatibility of +communication operations

+ +

The communication operations (see clause 22) send, receive, trigger, call, +getcall, reply, +getreply and raise are exceptions to the weaker rule of type compatibility +and require strong typing. The types of values or templates directly used as +parameters to these operations must also be explicitly defined in the +associated port type definition. Strong typing also applies to storing the +received value, address or component reference during a receive or trigger operation.

+ +

EXAMPLE:

+ +

type record MyRec {...}                         // +user defined type

+ +

type MyRec MyRecAlias;                          // +a type alias

+ +

 

+ +

type port MyPort message +{ inout MyRec, MyRecAlias; }   // port that can transport both +types

+ +

type component MyComponent { +port MyPort P; }

+ +

 

+ +

template +MyRecAlias t_MyRecAlias:= {...}            // a template of the alias type

+ +

 

+ +

var MyComponent myComp1 +:= MyComponent.create, myComp2 := MyComponent.create;

+ +

connect (myComp1:P, myComp2:P)                  // +two connected PTCs via ports that can

+ +

                                             // +transport the user-defined and the alias type

+ +

 

+ +

// in myComp1:

+ +

P.send (t_MyRecAlias);                          // +sending of template of alias type

+ +

 

+ +

// in myComp2:

+ +

P.receive (MyRec:?);                    

+ +

// shall not match as the transmitted +template is of the alias type and

+ +

// not of the user-defined type

+ +

 

+ +

// in myComp2:

+ +

var MyRec x;

+ +

P.receive (MyRecAlias:?) -> value +x;

+ +

// shall cause an error since also +storing the value requires strong typing

+ +

 

+ +

6.3.5       Type conversion

+ +

If it is necessary to +convert values of one type to values of another type, because their types have +different root types, then either one of the predefined conversion functions +defined in clause 16.1.2 or a user defined +function shall be used.

+ +

EXAMPLE:

+ +

    // To convert an integer value to a hexstring value use the +predefined function int2hex

+ +

    MyHstring := int2hex(123, 4);

+ +

 

+ +

6.4        Type +synonym

+ +

A type can be defined as a synonym to +another type. Type synonyms can be defined for all kinds of types. Synonym +types are compatible.

+ +

EXAMPLE:

+ +

    type MyType1 MyType2; // +MyType2 is synonym to MyType1

+ +

 

+ +
+ +

7         Expressions

+ +
+ +

TTCN‑3 allows the specification of +expressions using the operators defined in clause 7.1.

+ +

Syntactical Structure

+ +

SingleExpression |

+ +

"{" { ( FieldReference ":=" +( Expression | "-" )) [","] } "}" |    // +compound expression

+ +

"{" [ { ( Expression | +"-" ) [","] } ] "}"                     // +compound expression

+ +

 

+ +

Semantic Description

+ +

Expressions may be built +from other (simple) expressions. Functions used in expressions shall have a +return clause. The operands of the operators used in an expression shall be +values and their root types shall be the types specified for the appropriate +operator in the subsequent clauses.

+ +

Compound expressions +are used for expressions of array, record, record of and set of types.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Operands of operators used in expressions shall +be completely initialized.

+ +

b)          +The root types of the +operands shall be the types specified for the appropriate operand.

+ +

This means also that all fields and +elements of structured types referenced in an expression shall contain +completely initialized values, while other fields and elements, not used in the +expression, may be uninitialized or contain omit.

+ +

Examples

+ +

    (x + y - increment(z))*3         // single expression

+ +

    { a:= 1, b:= true }                  // compound +expression, field expression list

+ +

    { 1, true }                         // compound +expression, value list

+ +

 

+ +

7.1        Operators

+ +

TTCN‑3 +supports a number of predefined operators that may be used in the terms of TTCN‑3 expressions. The predefined operators fall into seven +categories:

+ +

a)          +arithmetic operators;

+ +

b)          +list operator;

+ +

c)          +relational operators;

+ +

d)          +logical operators;

+ +

e)          +bitwise operators;

+ +

f)           +shift operators;

+ +

g)          +rotate operators.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Values used in operators shall be completely +initialized.

+ +

These operators are listed in table 5.

+ +

Table 5: +List of TTCN‑3 +operators

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Category

+
+

Operator

+
+

Symbol or Keyword

+
+

Arithmetic operators

+
+

addition

+
+

+

+
+

subtraction

+
+

-

+
+

multiplication

+
+

*

+
+

division

+
+

/

+
+

modulo

+
+

mod

+
+

remainder

+
+

rem

+
+

String operators

+
+

concatenation

+
+

&

+
+

Relational operators

+
+

equal

+
+

==

+
+

less than

+
+

< 

+
+

greater than

+
+

> 

+
+

not equal

+
+

!=

+
+

greater than or equal

+
+

>=

+
+

less than or equal

+
+

<=

+
+

Logical operators

+
+

logical not

+
+

not

+
+

logical and

+
+

and

+
+

logical or

+
+

or

+
+

logical xor

+
+

xor

+
+

Bitwise operators

+
+

bitwise not

+
+

not4b

+
+

bitwise and

+
+

and4b

+
+

bitwise or

+
+

or4b

+
+

bitwise xor

+
+

xor4b

+
+

Shift operators

+
+

shift left

+
+

<< 

+
+

shift right

+
+

>> 

+
+

Rotate operators

+
+

rotate left

+
+

<@

+
+

rotate right

+
+

@>

+
+ +
+ +

 

+ +

The precedence of these operators is shown in table 6. +Within any row in this table, the listed operators have equal precedence. If +more than one operator of equal precedence appears in an expression, the +operations are evaluated from left to right. Parentheses may be used to group +operands in expressions, in which case a parenthesized expression has the +highest precedence for evaluation.

+ +

Table 6: +Precedence of Operators

+ +
+ + + + + + + + + + + + +
+

Priority

+
+

Operator type

+
+

Operator

+
+

highest

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

 

+

Lowest

+
+

 

+

Unary

+

Binary

+

Binary

+

Unary

+

Binary

+

Binary

+

Binary

+

Binary

+

Binary

+

Binary

+

Unary

+

Binary

+

Binary

+

Binary

+
+

(  …  )

+

+, -

+

*,  /,  mod, rem

+

+,  -, &

+

not4b

+

and4b

+

xor4b

+

or4b

+

<<,  >>, + <@,  @>

+

<, >, <=, >= +

+

==, !=

+

not

+

and

+

xor

+

or

+
+ +
+ +

 

+ +

7.1.1       Arithmetic operators

+ +

The +arithmetic operators represent the operations of addition, subtraction, +multiplication, division, modulo and remainder. Operands of these operators +shall be of integer values (including derivations of integer) or +floating-point numbers (including derivations of float, containing +numeric values only), except for mod and rem which shall +be used with integer (including derivations of integer) types +only.

+ +

NOTE:      The special float values infinity, -infinity and not_a_number are not to be used with arithmetic operators.

+ +

With integer types, +the result type of arithmetic operations is integer. With +float types, the result type of arithmetic operations is float.

+ +

In the case where plus +(+) or minus (-) is used as the unary operator the rules for operands apply as +well. The result of using the minus operator is the negative value of the +operand if it was positive and vice versa. The result of using the plus +operator is the value of the operand, i.e. a positive value if the operand +value was positive and a negative value if the operand value was negative.

+ +

The result of performing the division +operation (/) on two:

+ +

a)          +integer values gives the whole integer part of the value resulting +from dividing the first integer by the second (i.e. fractions are discarded);

+ +

b)          +numeric float values +gives the float value resulting from dividing the first float by the +second (i.e. fractions are not discarded).

+ +

The operators rem and mod compute on operands of type integer and have a result of type integer. The operations x rem y and x mod y compute the rest that remains from an integer division of x by y. +Therefore, they are only defined for non-zero operands y. For positive x and y, both x rem y and x mod y have the same result but for negative arguments +they differ.

+ +

Formally, mod and rem are defined as follows:

+ +

    x rem y = x - y * (x/y)

+ +

    x mod y = x rem |y|               when   x >= +0

+ +

           = 0                   when   x < 0  and x rem +|y| = 0

+ +

           = |y| + x rem |y|     when   x < 0  and x rem +|y| < 0

+ +

 

+ +

Table 7 +illustrates the difference between the mod and rem operator:

+ +

Table 7: +Effect of mod and rem operator

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

x

+
+

-3

+
+

-2

+
+

-1

+
+

0

+
+

1

+
+

2

+
+

3

+
+

x mod 3

+
+

0

+
+

1

+
+

2

+
+

0

+
+

1

+
+

2

+
+

0

+
+

x rem 3

+
+

0

+
+

-2

+
+

-1

+
+

0

+
+

1

+
+

2

+
+

0

+
+ +
+ +

 

+ +

7.1.2       List operator

+ +

The predefined list +operator (&) performs concatenation of values of string types, record of, set of, +or array of the same root types. The operation is a +simple concatenation from left to right. No form of arithmetic addition is +implied. The result type is the root type of the operands.

+ +

NOTE:      In case of the list types, both the +outer type (i.e. record of, set of or array) +and the iterated inner type need to have the same root type in a recursive +manner.

+ +

EXAMPLE:

+ +

    '1111'B & '0000'B & '1111'B gives '111100001111'B

+ +

 

+ +

7.1.3       Relational operators

+ +

The predefined +relational operators are equality (==), +less than (<), greater than (>), non‑equality to (!=), greater than or equal to (>=) and less than or equal to (<=). The result type of all these operations is boolean.

+ +

The relational +operators less than (<), greater than (>), greater than or equal to (>=), and less than or equal to (<=) shall have only operands of type integer (including derivations of integer), float +(including derivations of float), or +instances of the same enumerated type. +It is not allowed to compare instances of different root types.

+ +

Operands of equality (==) and non-equality +(!=) shall be values of the same root type and the values being compared shall +obey the following rules. This implies that instances of types not mentioned +below shall not be operands of equality and non-equality.

+ +

NOTE:      As address is more a +predefined type name than a distinct type with its own properties, the same +rules apply to an address type and to its derivatives as the rules were if the type was +defined with a name different from address.

+ +

·            +Two integer values are equal if and only if they +contain the same value. Otherwise, normal mathematical ordering is applied.

+ +

·            +Two floating-point numbers are equal if and only +if they contain the same value. The values minus zero and plus zero are two distinct +values (e.g. they are encoded differently in some standardized languages) and +minus zero is less than plus zero, which represents zero. Otherwise, normal +mathematical ordering is applied. The special values ‑infinity, infinity and not_a_number are equal to themselves only. The special value ‑infinity is less than any other foat value. The special value infinity is greater than any numerical float values and -infinity. The special value not_a_number is greater than any +other float value (including infinity).

+ +

·            +Two charstring or two universal charstring +values are equal if and only if they have equal lengths and the characters at +all positions are the same.

+ +

·            +For values of bitstring, hexstring or +octetstring types, the same equality rule applies as for charstring values with +the exception, that fractions which shall equal at all positions are bits, +hexadecimal digits or pairs of hexadecimal digits accordingly.

+ +

·            +Two record values, set +values, record of values or set of values are equal if and only if their +effective value structures are compatible (see clause 6.3) +and the actual values of all corresponding fields are equal. record values may +also be compared to record of values and set values to set of values. In these +cases the same rule applies as for comparing two record or set +values.

+ +

·            +Values of the same union type, and values of +different union types in which at least one of the alternatives is compatible +with the other type (see clause 6.3.2.4) can be compared (independent if a +compatible alternative is the selected one or not). Two values of union types +are equal if and only if in both values the name of the selected alternative is +identical, they are compatible with the type of the other value, and the actual +values of the chosen fields are equal.

+ +

·            +Values of the same or any two anytype types can +be compared. For anytype values the same rule apply as to union values, with +the addition that names of types defined with the same name in different +modules do not denote the same name of the selected alternatives.

+ +

·            +Two default or two component values are equal if +and only if they contain the same value (i.e. they designate the same default +or test component, independent of the actual state of the denoted object).

+ +

EXAMPLE:

+ +

    // Given

+ +

    type   set S1  {

+ +

               integer a1  optional,

+ +

               integer a2  optional,

+ +

               integer a3  optional

+ +

               };

+ +

 

+ +

    type   set S2  {

+ +

               integer b1  optional,

+ +

               integer b2  optional,

+ +

               integer b3  optional

+ +

               };

+ +

 

+ +

    type   set S3  {

+ +

               integer c1  optional,

+ +

               integer c2  optional,

+ +

               };

+ +

 

+ +

    type   set of integer SI;

+ +

 

+ +

    type   union  U1  {

+ +

               integer d1,

+ +

               integer d2,

+ +

               };

+ +

 

+ +

    type   union  U2  {

+ +

               integer e1,

+ +

               integer e2,

+ +

               };

+ +

 

+ +

    type   union  U3  {

+ +

               integer d1,

+ +

               integer d2,

+ +

               boolean d3

+ +

               };

+ +

 

+ +

    // And

+ +

    const  S1  s1  :=  { a1 := 0, a2 := omit, a3 := 2 +};

+ +

       // Notice that the order of defining values of the fields +does not matter

+ +

    const  S2  s2a :=  { b1 := 0, b3 := 2, b2 := omit +};

+ +

    const  S2  s2b :=  { b2 := 0, b3 := 2, b1 := omit +};

+ +

    const  S3  s3  :=  { c1 := 0, c2 :=2 };

+ +

    var    SI  v_si:= { 0, -, 2 };

+ +

    const  SI  si  :=  { 0, 2 };

+ +

    const  U1  u1  :=  { d1:= 0 };

+ +

    const  U2  u2  :=  { e1:= 0 };

+ +

    const  U3  u3; :=  { d1:= 0 };

+ +

 

+ +

    // Then

+ +

    s1 == s2a;

+ +

       // returns true

+ +

    s1 == s2b;

+ +

       // returns false, because neither a1 nor a2 are equal +to their counterparts

+ +

       // (the corresponding element is not omitted)

+ +

    s1 == s3;

+ +

       // returns false, because the effective value +structures of s1 and s3 are not compatible

+ +

    s1 == v_si;

+ +

       // causes test case error as v_si is not completely +initialized
+       // (2nd element is left uninitialized)

+ +

    s1 == si;

+ +

       // returns false, as the counterpart of the omitted +a2 is 2,

+ +

       // but the counterpart of a3 is undefined

+ +

    s3 == si;

+ +

       // returns true

+ +

    u1 == u2;

+ +

       // causes error as U1 and U2 have no common subset of +alternatives

+ +

    u1 == u3;

+ +

       // returns true, as alternatives with the same names +are chosen and

+ +

       // the actual values in the selected alternatives are equal

+ +

 

+ +

7.1.4       Logical operators

+ +

The predefined boolean operators perform the operations of negation, +logical and, logical or and +logical xor. Their operands shall be of root type boolean. The result type of logical operations is boolean.

+ +

The logical not is the unary operator that returns the value true if its operand was of value false and returns the value false if the operand was of value true.

+ +

The logical and returns the value true if both its operands are true; otherwise it returns the value false.

+ +

The logical or returns the value true if at least one of its operands is true; it returns the value false only if both operands are false.

+ +

The logical xor returns the value true if one of its operands is true; it returns the value false if both operands are false or if both operands are true.

+ +

Short circuit evaluation for boolean expressions is used, +i.e. the evaluation of operands of logical operators is +stopped once the overall result is known: in the case +of the and operator, if +the left argument evaluates to false, +then the right argument is not evaluated and the whole expression +evaluates to false. In the case +of the or operator, if the left argument evaluates to true, then the right argument is not evaluated and +the whole expression evaluates to true.

+ +

7.1.5       Bitwise operators

+ +

The predefined bitwise operators perform +the operations of bitwise not, bitwise and, bitwise or and bitwise xor. These +operators are known as not4b, and4b, or4b and xor4b respectively.

+ +

NOTE:      To be read as +"not for bit", "and for bit" etc.

+ +

Their operands shall be +of root type bitstring, hexstring or octetstring. In the case of and4b, or4b and xor4b the operands shall be of the same root types. +The result type of the +bitwise operators shall be the root type of the operands.

+ +

The bitwise not4b unary +operator inverts the individual bit values of its operand. For each bit in the +operand a 1 bit is set to 0 and a 0 bit is set to 1. That is:

+ +

    not4b '1'B  gives  '0'B

+ +

    not4b '0'B  gives  '1'B

+ +

 

+ +

EXAMPLE 1:

+ +

    not4b '1010'B  gives  '0101'B

+ +

    not4b '1A5'H  gives 'E5A'H

+ +

    not4b '01A5'O  gives 'FE5A'O

+ +

 

+ +

The bitwise and4b +operator accepts two operands of equal length. For each corresponding bit +position, the resulting value is a 1 if both bits are set to 1, otherwise the +value for the resulting bit is 0. That is:

+ +

    '1'B and4b '1'B  gives  '1'B

+ +

    '1'B and4b '0'B  gives  '0'B

+ +

    '0'B and4b '1'B  gives  '0'B

+ +

    '0'B and4b '0'B  gives  '0'B

+ +

 

+ +

EXAMPLE +2:

+ +

    '1001'B +and4b '0101'B  gives '0001'B

+ +

    'B'H and4b +'5'H  gives  '1'H

+ +

    'FB'O and4b +'15'O  gives  '11'O

+ +

 

+ +

The bitwise or4b +operator accepts two operands of equal length. For each corresponding bit +position, the resulting value is 0 if both bits are set to 0, otherwise the value +for the resulting bit is 1. That is:

+ +

    '1'B or4b +'1'B gives  '1'B

+ +

    '1'B or4b '0'B gives  '1'B

+ +

    '0'B or4b '1'B gives  '1'B

+ +

    '0'B or4b '0'B gives  '0'B

+ +

 

+ +

EXAMPLE +3:

+ +

    '1001'B +or4b '0101'B  gives '1101'B

+ +

    '9'H or4b '5'H gives  'D'H

+ +

    'A9'O or4b 'F5'O gives  'FD'O

+ +

 

+ +

The bitwise xor4b operator accepts two operands of equal length. +For each corresponding bit position, the resulting value is 0 if both bits are +set to 0 or if both bits are set to 1, otherwise the value for the resulting +bit is 1. That is:

+ +

    '1'B xor4b '1'B gives  '0'B

+ +

    '0'B xor4b '0'B  gives  '0'B

+ +

    '0'B xor4b '1'B  gives  '1'B

+ +

    '1'B xor4b '0'B  gives  '1'B

+ +

 

+ +

EXAMPLE 4:

+ +

    '1001'B xor4b '0101'B  gives '1100'B

+ +

    '9'H xor4b '5'H  gives 'C'H

+ +

    '39'O xor4b '15'O  gives '2C'O

+ +

 

+ +

7.1.6       Shift operators

+ +

The predefined shift operators perform the +shift left (<<) and +shift right (>>)operations. +Their left-hand operand shall be of root type bitstring, hexstring or octetstring. Their right-hand operand shall be a +non-negative integer. The result type of these operators shall be the same as the root +type of the left operand.

+ +

The shift +operators behave differently based upon the type of their left-hand operand. If +the type of the left-hand operand is:

+ +

a)      bitstring then the shift unit applied is 1 bit;

+ +

b)      hexstring then the shift unit applied is 1 hexadecimal digit;

+ +

c)       octetstring then +the shift unit applied is 1 octet.

+ +

The shift left (<<) operator accepts two operands. It shifts the +left-hand operand by the number of shift units to the left as specified by the +right-hand operand. Excess shift units (bits, hexadecimal digits or octets) are +discarded. For each shift unit shifted to the left, a zero ('0'B, '0'H, or +'00'O determined according to the type of the left­-hand operand) is inserted +from the right-hand side of the left operand.

+ +

EXAMPLE 1:

+ +

    '111001'B << 2  gives  '100100'B

+ +

    '12345'H << 2  gives  '34500'H

+ +

    '1122334455'O << (1+1)  gives  '3344550000'O

+ +

 

+ +

The shift right (>>)operator accepts two operands. It shifts the +left-hand operand by the number of shift units to the right as specified by the +right-hand operand. Excess shift units (bits, hexadecimal digits or octets) are +discarded. For each shift unit shifted to the right, a zero ('0'B, '0'H, or +'00'O determined according to the type of the left-hand operand) is inserted from +the left-hand side of the left operand.

+ +

EXAMPLE +2:

+ +

    '111001'B >> 2  gives  +'001110'B  

+ +

    '12345'H >> 2  gives  +'00123'H

+ +

    '1122334455'O >> (1+1)  gives  '0000112233'O

+ +

 

+ +

7.1.7       Rotate operators

+ +

The predefined rotate operators perform the +rotate left (<@) and rotate right (@>) operators. +Their left-hand operand shall be of root type bitstring, hexstring, octetstring, charstring, universal charstring, record +of, or set of. Their right-hand operand +shall be a non-negative integer. The result type of these operators shall be the same as the root +type of the left-hand operand.

+ +

NOTE:      Please note that the root types of +arrays is record +of, therefore arrays are allowed as left-hand +operands of rotate operators.

+ +

The rotate +operators behave differently based upon the type of their left-hand operand. If +the type of the left-hand operand is:

+ +

a)          +bitstring then the rotate unit applied is 1 bit;

+ +

b)          +hexstring then the rotate unit applied is 1 hexadecimal digit;

+ +

c)          +octetstring then the rotate unit applied is 1 octet;

+ +

d)          +charstring or universal charstring then the rotate unit applied is one character;

+ +

e)          +record of, +set of, or array then the +rotate unit applied is one element.

+ +

The rotate left (<@) +operator accepts two operands. It rotates the left-hand operand by the number +of shift units to the left as specified by the right-hand operand. Excess shift +units (bits, hexadecimal digits, octets, characters, or elements) are re‑inserted +into the left-hand operand from its right-hand side.

+ +

EXAMPLE +1:

+ +

    '101001'B <@ 2  gives  +'100110'B

+ +

    '12345'H <@ 2  gives  +'34512'H

+ +

    '1122334455'O <@ (1+2)  +gives  '4455112233'O

+ +

    "abcdefg" <@ 3  gives +"defgabc"

+ +

 

+ +

The rotate right (@>) operator accepts two operands. It rotates the +left-hand operand by the number of shift units to the right as specified by the +right-hand operand. Excess shift units (bits, hexadecimal digits, octets, +characters, or elements) are re‑inserted into the left-hand operand from +its left-hand side.

+ +

EXAMPLE +2:

+ +

    '100001'B +@> 2  gives  '011000'B

+ +

    '12345'H @> 2  gives  +'45123'H

+ +

    '1122334455'O @> (1+2)  gives  +'3344551122'O

+ +

    "abcdefg" @> 3  +gives "efgabcd"

+ +

 

+ +

7.2        Field references and +list elements

+ +

Within expressions, fields of record and +set types are referenced with the dot notation ".field". Elements of record of, set of, array and string types are referenced +with the index notation "[index]". Dot and brackets have the same binding power. Field references and +list elements are evaluated from left to right.

+ + + +

The principal building blocks of TTCN‑3 are modules. A module may define a fully executable test +suite or just a library. A module may refer to the TTCN-3 language version and to package versions being used. A +module consists of a (optional) definitions part, and a (optional) module +control part.

+ +

NOTE:      The term test suite +is synonymous with a complete TTCN‑3 module containing test cases and a control part.

+ +

The transfer syntax of TTCN-3 modules shall +be UTF-8, i.e. each character of the module shall be individually encoded and +decoded according to the UCS Transformation Format 8 (UTF-8) as defined in +annex R of ISO/IEC 10646 [2] and no characters not corresponding to +any character of the module shall be present.

+ +

8.1        Definition of a module

+ +

A module is +defined with the keyword module.

+ +

NOTE 1:   The treatment of TTCN‑3 modules in files, +repositories and alike is outside the scope of the present document.

+ +

Syntactical +Structure

+ +

module ModuleIdentifier [ +language FreeText { "," FreeText } ] "{"

+ +

       [ ModuleDefinitionsPart ]

+ +

       [ ModuleControlPart ]

+ +

"}"

+ +

 

+ +

Semantic +Description

+ +

A TTCN‑3 module groups a set of (typically cohesive) TTCN‑3 definitions. TTCN‑3 +modules have an explicit import interface to use definitions from other TTCN‑3 or non-TTCN‑3 +modules. It is possible to hide definitions in a TTCN‑3 module (see clause 8.2.5). TTCN‑3 modules can be compiled/interpreted separately. They are +reusable and parameterizable.

+ +

Module names are of the +form of a TTCN‑3 +identifier.

+ +

NOTE 2:   The module identifier is the informal text name +of the module.

+ +

In addition, a module specification can +carry an optional attribute identified by the language keyword +that identifies the edition of the TTCN‑3 language, in which the module +is specified. The following language strings are to be used:

+ +

      "TTCN‑3:2001" - to be used with modules complying with version 1.1.2 of the +present document (see annex H).
+     
"TTCN‑3:2003" - to be used with modules complying with version 2.2.1 of the +present document (see annex H).
+     
"TTCN‑3:2005" - to be used with modules complying with version 3.1.1 of the +present document (see annex H).
+     
"TTCN‑3:2007" - to be used with modules complying with version 3.2.1 of the +present document (see annex H).
+     
"TTCN‑3:2008" - to be used with modules complying with version 3.3.2 of the +present document (see annex H).
+     
"TTCN‑3:2008 +Amendment 1" - to be used with modules complying +with version 3.4.1 of the present document
+      (see annex H).
+     
"TTCN‑3:2009" - to be used with modules complying with version 4.1.1 of the +present document (see annex H).
+     
"TTCN‑3:2010" - to be used with modules complying with version 4.2.1 of the +present document (see annex H).
+     
"TTCN‑3:2011" - to be used with modules complying with the present document.

+ +

Furthermore, the optional attribute +identified by the language keyword may identify package versions being used by this module. +The package tags are defined in ES 202 781 [i.11], ES 202 782 [i.14], ES 202 784 [i.12], and ES 202 785 [i.13]. The language identifier and the package identifier are +to be written as a comma-separated list.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    module MyTestSuite language +"TTCN‑3:2003"

+ +

    { … }

+ +

 

+ +

8.2        Module definitions part

+ +

The module definitions +part specifies the top-level definitions of the module and may import visible +identifiers from other modules. Visibility rules are given in clause 8.2.5. Scope rules for +declarations made in the module definitions part and imported declarations are +given in clause 5.3. Those language +elements which may be defined in a TTCN‑3 module are listed in table 1. Every definition can be +associated with attributes using the with statement defined in clause 27. Visible module +definitions may be imported by other modules.

+ +

Syntactical Structure

+ +

    {

+ +

       [ Visibility ] ( 

+ +

           TypeDef |

+ +

            ConstDef |

+ +

            TemplateDef |

+ +

            ModuleParDef |

+ +

            FunctionDef |

+ +

            SignatureDef |

+ +

            TestcaseDef |

+ +

            AltstepDef |

+ +

            ImportDef |

+ +

            GroupDef |

+ +

            ExtFunctionDef |

+ +

            FriendDef

+ +

       ) [ WithStatement ]

+ +

       [ ";" ]

+ +

    }+

+ +

 

+ +

Semantic Description

+ +

Definitions +in the module definitions part may be made in any order.

+ +

Such definitions, i.e. +top level definitions outside of other scope units, are globally visible within +the module. They may be used elsewhere in the module. This includes identifiers +imported from other modules.

+ +

Declarations of dynamic language elements +such as variables or timers shall only be made in the control part, test cases, +functions, altsteps or component types.

+ +

TTCN‑3 +does not support the declaration of variables in the module definitions part, +i.e. global variables cannot be defined in TTCN‑3. However, variables +defined in a test component type may be used by all test cases, functions etc. +running on components of that component type and variables defined in the +control part provide the ability to keep their values independently of test +case execution.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    module MyModule

+ +

    {   // This module contains definitions only

+ +

       :

+ +

       const integer MyConstant := 1;

+ +

       type record MyMessageType { … }

+ +

       :

+ +

       function TestStep(){ … }

+ +

       :

+ +

    }

+ +

 

+ +

8.2.1       Module parameters

+ +

Module parameters +define a set of values that are supplied by the test environment at run-time. Module parameters do not change their +value during test execution. They can be used on +right hand side of assignments, in expressions, +in actual parameters, and in template definitions, but not within type +definitions.

+ +

Syntactical +Structure

+ +

Single type, +single module parameter form:

+ +

[ Visibility +] modulepar ModuleParType ModuleParIdentifier [ +":=" ConstantExpression ] ";"

+ +

 

+ +

Single type, +multiple module parameter form:

+ +

[ Visibility ] modulepar ModuleParType

+ +

       { ModuleParIdentifier [ ":=" ConstantExpression +] "," }

+ +

       ModuleParIdentifier [ ":=" ConstantExpression +] ";"

+ +

 

+ +

Semantic Description

+ +

Module parameters behave as global constants at run-time.

+ +

Module parameters allow to customize a TTCN‑3 +test suite for a specific IUT, test setup or test campaign. Module parameters +are declared by specifying the type and listing their identifiers following the +keyword modulepar.

+ +

It is allowed to +specify default values for module parameters. This shall be done by an +assignment in the module parameter list. A default value can merely be assigned +at the place of the declaration of the module parameter.

+ +

If the test system does +not provide an actual run-time value for a module parameter, the default value +shall be used during test execution, otherwise the actual value provided by the +test system. Actual run-time values shall be literals only.

+ +

Visible module +parameters can be imported.

+ +

Optional fields of record and set module +parameters or module parameter fields can be initialized explicitly or +implicitly. For implicit initialization of the optional fields of a module +parameter or a module parameter field, an optional +attribute with the value "implicit omit" (see clause 27.7) shall be associated with it either +directly or via the attribute distribution (scoping) mechanism (see clause 27.1.1).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +During test execution these values shall be +treated as constants.

+ +

b)          +Module parameters shall not be of port type, +default type or component type.

+ +

c)          +A module parameter shall only be of type address +if the address type is explicitly defined within the associated module.

+ +

d)          +Module parameters shall be declared within the +module definition part only.

+ +

e)          +More than one occurrence of module parameters +declaration is allowed but each parameter shall be declared only once (i.e. +redefinition of the module parameter is not allowed).

+ +

f)           +The constant expression for the default value of +a module parameter shall respect the limitations given in clause 16.1.4.

+ +

g)          +Module parameters shall not be used in type or +array definitions.

+ +

Examples

+ +

    module MyTestSuiteWithParameters

+ +

    {

+ +

       // single type, single module parameter, which is per default +public

+ +

       modulepar boolean TS_Par0 := true;

+ +

 

+ +

       // single type, multiple module parameters with an explicit +public visibility

+ +

       public modulepar integer TS_Par1, +TS_Par2 := 1 + char2int("a");

+ +

 

+ +

        ...

+ +

    }

+ +

 

+ +

8.2.2       Groups of definitions

+ +

In the module definitions part, definitions +can be collected in named groups. Grouping is done to +aid readability and to add logical structure to the module if required. If +necessary, the dot notation shall be used to identify sub-groups within the +group hierarchy uniquely, e.g. for the import of a specific sub-group.

+ +

Syntactical Structure

+ +

[ public ] group GroupIdentifier +"{"

+ +

     { ModuleDefinition [ +";" ] }

+ +

"}"

+ +

 

+ +

Semantic +Description

+ +

A group of +definitions can be specified wherever a single definition is allowed. Groups +may be nested, i.e. groups may contain other groups. This allows the test suite +specifier to structure, among other things, collections of test data or +functions describing test behaviour.

+ +

Groups and nested +groups have no scoping. Please note however, attributes given to a group by an +associated with statement apply to all elements of a group (see clause 27). Import statements +may import groups so that all visible elements of a group are imported (see +clause 8.2.3.3).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Group identifiers across the whole module need +not necessarily be unique. However, top-level group identifiers and all group +identifiers of subgroups of a single group shall be unique.

+ +

b)          +Only public visibility +can be defined for groups as they are always public.

+ +

Examples

+ +

    module +MyModule {

+ +

       :

+ +

       // A collection of definitions

+ +

       group MyGroup {

+ +

           const integer MyConst:= +1;

+ +

        :

+ +

           type record MyMessageType +{ … };

+ +

           group MyGroup1 {  // +Sub-group with definitions

+ +

               type record +AnotherMessageType { … };

+ +

               const boolean +MyBoolean := false

+ +

           }

+ +

       }

+ +

 

+ +

       // A group of altsteps

+ +

       group MyStepLibrary {

+ +

           group MyGroup1 {  // +Sub-group with the same name as the sub-group with definitions

+ +

               altstep MyStep11() +{ … }

+ +

               altstep MyStep12() { … }

+ +

                :

+ +

               altstep MyStep1n() +{ … }

+ +

           }

+ +

           group MyGroup2 {

+ +

               altstep MyStep21() +{ … }

+ +

               altstep MyStep22() { … }

+ +

               :

+ +

              altstep MyStep2n() { +… }

+ +

           }

+ +

       }

+ +

       :

+ +

    }

+ +

 

+ +

    // An import statement that imports +MyGroup1 within MyStepLibrary

+ +

    import from MyModule {

+ +

       group +MyStepLibrary.MyGroup1

+ +

    }

+ +

 

+ +

8.2.3       Importing from modules

+ +

It is possible to re-use visible definitions specified in +different modules using the import statement. +Every definition in a TTCN‑3 module has an associated visibility, which is by default public (see clause 8.2.5).

+ +

NOTE:      Groups are public only. +Importing a group means that only the visible elements of the group are being +imported.

+ +

8.2.3.1            General format of +import

+ +

An import statement can +be used anywhere in the module definitions part.

+ +

Syntactical Structure

+ +

[ Visibility ] import from +ModuleId

+ +

     (

+ +

        ( all [ except +"{" ExceptSpec "}" ] )

+ +

        |

+ +

        ( "{" ImportSpec +"}" )

+ +

     )

+ +

[ ";" ]

+ +

 

+ +

Semantic Description

+ +

TTCN‑3 supports the import of the +following definitions: module parameters, user defined types, signatures, +constants, data templates, signature templates, functions, external functions, +altsteps and test cases. Each definition has a name (defines the +identifier of the definition, e.g. a function name), a specification +(e.g. a type specification or a signature of a function) and in the case of +functions, altsteps and test cases an associated behaviour description. +In addition, import statements of one module can be explicitly imported by +another module (see clause 8.2.3.7). Only definitions or import statements +visible from the importing module can be imported (see clause 8.2.5).

+ +

In contrast to module +definitions, which are by default public, import statements are by default +private.

+ +

EXAMPLE +1a:

+ +
+ + + + + + + + + + + + + + +
+

 

+
+

Name

+
+

Specification

+
+

Behaviour description

+
+

function

+
+

MyFunction

+
+

(inout MyType1 MyPar) return + MyType2
+ runs on MyCompType

+
+

{

+

  const MyType3 MyConst := …;

+

  : // further behaviour

+

}

+
+ +
+ +

 

+ +
+ + + + + + + + + + + + + + +
+

 

+
+

Specification

+
+

Name

+
+

Specification

+
+

type

+
+

record

+
+

MyRecordType

+
+

{

+

  field1 MyType4,
+   field2 integer

+

}

+
+ +
+ +

 

+ +
+ + + + + + + + + + + + + + +
+

 

+
+

Specification

+
+

Name

+
+

Specification

+
+

template

+
+

MyType5

+
+

MyTemplate

+
+

:= {

+

  field1 := 1,
+   field2 := MyConst,  // MyConst is a module constant

+

  field3 := ModulePar // ModulePar is module parameter

+

}

+
+ +
+ +

 

+ +

Behaviour descriptions have no effect on +the import mechanism, because their internals are considered to be invisible to +the importer when the corresponding functions, altsteps or test cases are +imported. Thus, they are not considered in the following descriptions.

+ +

The +specification part of an importable definition contains local definitions +(e.g. field names of structured type definitions or values of enumerated types) +and referenced definitions (e.g. references to type definitions, +templates, constants or module parameters). For the examples above, this means:

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+

 

+
+

Name

+
+

Local definitions

+
+

Referenced definitions

+
+

function

+
+

MyFunction

+
+

MyPar

+
+

MyType1, + MyType2, MyCompType

+
+

type

+
+

MyRecordType

+
+

field1, + field2

+
+

MyType4, + integer

+
+

template

+
+

MyTemplate

+
+

 

+
+

MyType5, field1, field2, field3, MyConst, ModulePar

+
+ +
+ +

 

+ +

NOTE 1:   The local definitions column refers to +identifiers only that are newly defined in the importable definition. Values +assigned to individual fields of importable definitions, e.g. in template +definitions, may also be considered as local definitions, but they are not +important for the explanation of the import mechanism.

+ +

NOTE 2:   The referenced definitions field1, +field2 and field3 of template MyTemplate are the field names of MyType5, i.e. +they are referenced via MyType5.

+ +

Referenced definitions are also importable +definitions, i.e. the source of a referenced definition can again be structured +into a name and a specification part and the specification part also contains +local and referenced definitions. In other words, an importable definition may +be built up recursively from other importable definitions.

+ +

The TTCN‑3 import mechanism is +related to the local and referenced definitions used in the specification part +of the importable definitions. Table 8 specifies +the possible local and referenced definitions of importable definitions.

+ +

Table 8: Possible local and +referenced definitions of importable definitions

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Importable Definition

+
+

Possible Local Definitions

+
+

Possible Referenced Definitions

+
+

Module parameter

+
+

 

+
+

Module + parameter type

+
+

User-defined type (for all)

+
+

 

+
+

 

+
+

·       + enumerated type

+
+

Concrete + values

+
+

 

+
+

·       + structured type

+
+

Field names, + nested type definitions

+
+

Field types

+
+

·       + port type

+
+

 

+
+

Message + types, signatures

+
+

·       + component type

+
+

Constant + names, variable names, timer names and port names

+
+

Constant + types, variable types, port types

+
+

Signature

+
+

Parameter + names

+
+

Parameter types, + return type, types of exceptions

+
+

Constant

+
+

 

+
+

Constant + type

+
+

Data Template

+
+

Parameter + names

+
+

Template + type, parameter types, constants, module parameters, functions

+
+

Signature template

+
+

 

+
+

Signature + definition, constants, module parameters functions

+
+

Function

+
+

Parameter + names

+
+

Parameter + types, return type, component type (runs on-clause)

+
+

External function

+
+

Parameter + names

+
+

Parameter + types, return type

+
+

Altstep

+
+

Parameter + names

+
+

Parameter + types, component type (runs
+ on
-clause)

+
+

Test case

+
+

Parameter + names

+
+

Parameter types, + component types (runs + on- and system- clause)

+
+

NOTE 1:    For the import of import statements + see clause 8.2.3.7.

+

NOTE 2:    For the import of groups see clause 8.2.3.3.

+
+ +
+ +

 

+ +

The TTCN‑3 import mechanism +distinguishes between the identifier of a referenced definition and the information +necessary for the usage of a referenced definition within the imported +definition. For the usage, the identifier of a referenced definition is not +required and therefore not imported automatically.

+ +

EXAMPLE 1b:    Differentiation between information +necessary for the usage and the identifier.

+ +

    module A {

+ +

      type record MyRec1 {

+ +

        integer       field1,

+ +

        charstring field2

+ +

      }

+ +

    }

+ +

 

+ +

    module B {

+ +

      import from A all;

+ +

      type record MyRec2 {

+ +

        MyRec1 myField1,

+ +

         // "myField1" is the local definition, +"MyRec1" is a referenced definition;

+ +

         // the name "MyRec1" shall be imported in +this case as is directly referenced

+ +

        boolean    myField2

+ +

      }

+ +

    }

+ +

 

+ +

    module C {

+ +

      import from B all;

+ +

      const MyRec2 t_MyRec2 := {

+ +

        myField1 := { field1 := 5, field2 := "A" },

+ +

          // to define myField1 of MyRec2 the name +"MyRec1" is not needed, the

+ +

          // information necessary for the usage is its type +information,

+ +

          // i.e. names and types of its fields field1 and field2

+ +

         // which is embeddded in the imported definition of MyRec2

+ +

        myField2 := true

+ +

      }

+ +

    }

+ +

 

+ +

If an imported +definition has attributes (defined by means of a with statement) then the attributes shall also be imported. The +mechanism to change attributes of imported definitions is explained in clause 27.1.3.

+ +

NOTE 3:   If the module has global attributes they +are associated to definitions without these attributes.

+ +

The use of import on single definitions, groups of definitions, +definitions of the same kind, etc. may lead to situations where the same +definition is referred to more than once. Such cases shall be resolved by +the system and definitions shall be imported only once.

+ +

NOTE 4:   The mechanisms to +resolve such ambiguities, e.g. overwriting and sending warnings to the user, +are outside the scope of the present document and should be provided by TTCN‑3 tools.

+ +

All import statements and definitions within import +statements are considered to be treated independently one after the other in +the order of their appearance.

+ +

All TTCN‑3 modules shall have their own +name space in which all definitions shall be uniquely identified. Name +clashes may occur due to import, e.g. import from different modules. Name +clashes shall be resolved using qualified name(s) for the imported +definition(s), i.e. prefixing the imported definition (which causes the name +clash) by the identifier of the module in which it has been defined; the prefix +and the identifier shall be separated by a dot (".").

+ +

There is one exception +to this rule: when in the context of an enumerated type (see clause 6.2.4), an enumeration +value is clashing with the name of a definition in the importing module, the +enumeration value shall take precedence and the definition in the importing +module shall be referenced by using its qualified name (see example 4 +below in this clause).

+ +

In cases where there +are no ambiguities the prefixing need not (but may) be present when the +imported definitions are used. When the definition is +referenced in the same module where it is defined, the module identifier of the +module (the current module) also may be used for prefixing the identifier of +the definition.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +An import statement shall only be used in the +module definitions part and not be used within a control part, function +definition, and alike.

+ +

b)          +Only top-level visible definitions of a module +may be imported. Definitions which are top-level but invisible to the importing +module or which occur at a lower scope (e.g. local constants defined in a +function) shall not be imported.

+ +

c)          +A definition is imported together with its name +and all local definitions.

+ +

NOTE 5:   A local definition, e.g. a field name of +a user-defined record type or the name of an enumeration value, has only +meaning in the context of the definitions in which it is defined, e.g. a field +name of a record type can only be used to access a field of the record type and +not outside this context.

+ +

                   In particular, importing an +enumerated type does not impose the restriction given in clause 6.2.4 on global names defined in the +importing module.

+ +

d)          +A definition is imported together with all +information of referenced definitions that are necessary for the usage of the +imported definition, independent of the visibility of the referenced +definitions (see clause 8.2.5).

+ +

NOTE 6:   If module C imports a definition from +module B that uses a type reference defined in module A, the corresponding +information necessary for the usage of that type is automatically imported into +module C (see example 5 below in +this clause). Identifiers of referenced definitions are not automatically +imported.

+ +

                   In particular, if module C +imports global value or template definitions (e.g. constants, module +parameters, templates) or local definitions (e.g. formal parameters of +templates, functions, etc., or constants and variables of component types) of +an enumerated type from module B, the enumerated values of this type (i.e. the +identifiers) are implicitly and automatically imported to module C. That is, +the names of the enumerations are known when the enumerated value or template +is used in module C (e.g. when an actual parameter is passed or a value is +assigned to a component variable). Note that this implicit importing does not +impose the restriction given in clause 6.2.4 on global names defined in module C.

+ +

e)          +If the referenced definitions are wished to be +used in the importing module, they shall be explicitly imported either directly +from its source module or indirectly by importing the import statements of a +module importing it (see clause 8.2.3.7).

+ +

f)           +When importing a function, altstep or test case +the corresponding behaviour specifications and all definitions used inside the +behaviour specifications remain invisible for the importing module.

+ +

g)          +The language specification of the import +statement shall not override the language specification of the importing +module.

+ +

h)          +The language specification of the import +statement shall be identical to the language specification of the source module +from which definitions are imported (see clause 8.2.3.8) provided a language specification +is defined in the source module. If not, the language specification in the +import statement is taken as the language specification of the source module. +If the source module uses however language concepts not being part of that +language specification, this causes an error for the import statement.

+ +

Examples

+ +

EXAMPLE 1:      Selected +import examples

+ +

module MyModuleA

+ +

{   :

+ +

    // Scope +of the imported definitions is global to MyModuleA

+ +

    import from MyModuleB all;   // import of all +definitions from MyModuleB

+ +

    import +from MyModuleC {      // import of +selected definitions from MyModuleC

+ +

       type +MyType1, MyType2;  // import of types +MyType1 and MyType2

+ +

       template all          // import of all templates

+ +

    }

+ +

    :

+ +

    function +MyBehaviourC()  

+ +

     {  

+ +

        // +import cannot be used here

+ +

         :

+ +

    }

+ +

    :

+ +

    control

+ +

{  

+ +

    // import +cannot be used here

+ +

    :

+ +

    }

+ +

}

+ +

 

+ +

EXAMPLE 2:      Use +of imported definitions and visibility of definitions referenced by them

+ +

    module ModuleONE {

+ +

 

+ +

       modulepar integer +ModPar1 := …;

+ +

 

+ +

       type record +RecordType_T1 {

+ +

           integer Field1_T1,

+ +

           :

+ +

       }

+ +

 

+ +

       type record +RecordType_T2 {

+ +

           RecordType_T1  Field1_T2,

+ +

           :

+ +

       }

+ +

 

+ +

       const integer MyConst := …;

+ +

 

+ +

       template RecordType_T2 Template_T2 (RecordType_T1 +TempPar_T2):= { // parameterized template

+ +

           Field1_T2 := …,      

+ +

           :

+ +

       }

+ +

 

+ +

    } // end module ModuleONE

+ +

 

+ +

 

+ +

    module ModuleTWO {

+ +

 

+ +

       import from ModuleONE {

+ +

           template Template_T2

+ +

       }

+ +

 

+ +

       // Only the names Template_T2 and TempPar_T2 will be visible +in ModuleTWO. Please note, that

+ +

     // the identifier TempPar_T2 can +only be used when modifying Template_T2. All information

+ +

       // necessary for the usage of Template_T2, e.g. for type +checking purposes, are imported

+ +

       // for the referenced definitions RecordType_T1, Field1_T2, +etc., but their identifiers are

+ +

       // not visible in ModuleTWO.

+ +

       // This means, e.g. it is not possible to use the constant +MyConst or to declare a

+ +

       // variable of type RecordType_T1 or RecordType_T2 in +ModuleTWO without explicitly importing
+       // these types.

+ +

 

+ +

       import from ModuleONE {

+ +

           modulepar ModPar2

+ +

       }

+ +

 

+ +

       // The module parameter ModPar2 of ModuleONE is imported +from ModuleONE and

+ +

       // can be used like an integer constant

+ +

 

+ +

    } // end module ModuleTWO

+ +

 

+ +

 

+ +

    module ModuleTHREE {

+ +

 

+ +

       import from ModuleONE all;   // imports +all definitions from ModuleONE

+ +

 

+ +

       type port MyPortType message {

+ +

           inout RecordType_T2   // Reference to a type +defined in ModuleONE

+ +

       }

+ +

 

+ +

       type component MyCompType {

+ +

           var integer MyComponentVar := ModPar2;

+ +

                                 // Reference to a module parameter +of ModuleONE

+ +

           :

+ +

       }

+ +

 

+ +

       function MyFunction () return integer {

+ +

           return MyConst        // Reference to a module +constant of ModuleONE

+ +

       }

+ +

 

+ +

       testcase MyTestCase (out +RecordType_T2 MyPar) runs on MyCompType {

+ +

 

+ +

           :

+ +

           MyPort.send(Template_T2); +// Sending a template defined in ModuleONE

+ +

           :

+ +

 

+ +

       }

+ +

 

+ +

    } // end ModuleTHREE

+ +

 

+ +

 

+ +

    module ModuleFOUR {

+ +

 

+ +

       import from ModuleTHREE {

+ +

           testcase MyTestCase

+ +

       }

+ +

 

+ +

       // Only the name MyTestCase will be visible and usable in +ModuleFOUR.

+ +

       // Type information for RecordType_T2 is imported via ModuleTHREE +from ModuleONE and

+ +

       // Type information for MyCompType is imported from +ModuleTHREE. All definitions

+ +

       // used in the behaviour part of MyTestCase remain hidden +for the user of ModuleFOUR.

+ +

 

+ +

    } // end ModuleFOUR

+ +

 

+ +

 

+ +

EXAMPLE +3:      Handling of name clashes

+ +

    module MyModuleA  {

+ +

        :

+ +

       type bitstring +MyTypeA;

+ +

   

+ +

       import from SomeModuleC {

+ +

           type   MyTypeA,       // Where MyTypeA is of type +character string

+ +

                  MyTypeB        // Where MyTypeB is of type +character string

+ +

       }

+ +

        :

+ +

       control {

+ +

            :

+ +

           var SomeModuleC.MyTypeA +MyVar1 := "Test String"; // Prefix must be used

+ +

           var MyTypeA MyVar2 := '10110011'B;               // +This is the original MyTypeA

+ +

            :

+ +

           var MyTypeB MyVar3 := "Test String";             // +Prefix need not be used …

+ +

           var SomeModuleC.MyTypeB MyVar3 := "Test String"; +// … but it can be if wished

+ +

            :

+ +

       }

+ +

    }

+ +

 

+ +

NOTE 7:   Definitions with the +same name defined in different modules are always assumed to be different, even +if the actual definitions in the different modules are identical. For example, +importing a type that is already defined locally, even with the same name, +would lead to two different types being available in the module.

+ +

EXAMPLE +4:      Name clash between +enumerations and global definitions

+ +

    module A {

+ +

      type enumerated MyEnumType {enumX, enumY, +enumZ}

+ +

      type enumerated MyEnumType2 {enumX, enumY, +enumZ}

+ +

    }

+ +

 

+ +

    module B {

+ +

      import from A all;

+ +

      const MyEnumType enumY := enumX; // this is allowed as +enumeration names restrict

+ +

                                       // global names in module A +only (see clause 6.2.4)

+ +

 

+ +

      const MyEnumType2 enumX := enumX;// this is the enumX +value of the type MyEnumType2

+ +

 

+ +

      const integer enumZ := 0;

+ +

 

+ +

      modulepar MyEnumType px_MyModulePar1 := enumY

+ +

      // the default value of the module parameter will be the +value enumY, as the type of

+ +

      // px_MyModulePar1 creates the context of MyEnumType and in +this context enumeration names

+ +

      // takes precedence over global definition names; note that +for the same context reason there

+ +

      // in no name clash between the enumeration names defined in +MyEnumType and in MyEnumType2

+ +

 

+ +

      modulepar MyEnumType px_MyModulePar2 := B.enumY

+ +

      // the default value of the module parameter will be the +value enumX, as the prefix

+ +

      // identifies the constant definition enumY unambiguously, +which has the value enumX

+ +

 

+ +

      modulepar integer px_IntegerPar := enumZ;

+ +

      // the default value of the module parameter will be 0 as +this assignment is not in the

+ +

      // context of an enumerated type, hence no name clash occurs

+ +

 

+ +

      modulepar MyEnumType px_MyModulePar3 := B.enumX

+ +

      // causes an error as px_MyModulePar3 and the constant enumX +has different types

+ +

    }

+ +

 

+ +

EXAMPLE +5:      Importing local +definitions transitively

+ +

    module A {

+ +

      type enumerated MyEnum_Type { enumX, enumY, enumZ}

+ +

      type record MyRec { integer a, integer b +}

+ +

      type component MyComp { var MyRec v_Rec := { a +:= 5 } }

+ +

    }

+ +

 

+ +

    module B {

+ +

      import from A all;

+ +

      modulepar MyEnum_Type px_MyModulePar := enumY;

+ +

      type component MyCompUser extends MyComp {}

+ +

    }

+ +

 

+ +

    module C {

+ +

      import from B all;

+ +

      testcase TC() runs on MyCompUser {

+ +

        if (px_MyModulePar == enumY) {

+ +

          // the name enumY is know in C without explicitly +importing it from A

+ +

          setverdict(pass)

+ +

        }

+ +

        if (v_Rec.a == 5) {

+ +

          v_Rec.b := v_Rec.a;

+ +

          // Both the variable name v_Rec and the record field +names are known in C without

+ +

          // explicitly importing them from A

+ +

          setverdict (pass)

+ +

        }

+ +

      }

+ +

    }

+ +

 

+ +

8.2.3.2            Importing single +definitions

+ +

Single visible definitions can be imported +by referring to the definition kind and the definition name(s). The import of single definitions can be used in combination +with imports of groups (see clause 8.2.3.3), with imports +of definitions of the same kind (see clause 8.2.3.4), and with +imports of import statements (see clause 8.2.3.7).

+ +

Syntactical Structure

+ +

[ Visibility ] import from +ModuleId "{"

+ +

     {

+ +

        (

+ +

            ( type     { TypeDefIdentifier +  [ "," ] } ) |

+ +

            ( template     { TemplateIdentifier + [ "," ] } ) |

+ +

            ( const    { ConstIdentifier +    [ "," ] } ) |

+ +

            ( testcase     { TestcaseIdentifier + [ "," ] } ) |

+ +

            ( altstep { AltstepIdentifier +  [ "," ] } ) |

+ +

            ( function     { FunctionIdentifier + [ "," ] } ) |

+ +

           ( signature { SignatureIdentifier +   [ "," ] } ) |

+ +

            ( modulepar { ModuleParIdentifier +   [ "," ] } )

+ +

        )

+ +

        [ ";" ]

+ +

     }

+ +

"}" [ ";" ]

+ +

 

+ +

 

+ +

Semantic +Description

+ +

See clause 8.2.3. +Import of an invisible definition shall cause an error.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The definition to be +imported shall be defined in the module from which it is to be imported and +shall be visible to the importing module.

+ +

b)       +See the restrictions given +in clause 8.2.3.

+ +

Examples

+ +

    import +from MyModuleA {

+ +

       type MyType1                     // imports one type definition +from MyModuleA only

+ +

    }

+ +

 

+ +

    import +from MyModuleB {

+ +

       type +MyType2, Mytype3, MyType4;      // imports three types,

+ +

       template +MyTemplate1;            // imports one template, and

+ +

       const +MyConst1, MyConst2         // imports two constants

+ +

    }

+ +

 

+ +

8.2.3.3            Importing groups

+ +

Groups of definitions may be imported. The +import of groups can be used in combination with imports of single definitions (see clause 8.2.3.2), with imports +of definitions of the same kind (see clause 8.2.3.4), and with +imports of import statements (see clause 8.2.3.7).

+ +

It is +allowed to import sub‑groups (i.e. a group which is defined within +another group) directly, i.e. without the groups in which the sub-group is +embedded. If the name of a sub-group that +should be imported is identical to the name of another sub-group in the same +module (see clause 8.2.2), the +dot notation shall be used to identify the sub-group to be imported uniquely.

+ +

If some visible definitions of a group are +wished not to be imported, their kinds and identifiers shall be listed in the +exception list within a pair of curly brackets following the except +keyword. The all keyword is also allowed to be used in the exception list; this will +exclude all definitions of the same kind from the import statement.

+ +

Syntactical Structure

+ +

[ Visibility ] import +from ModuleId "{"

+ +

     {

+ +

        ( group { FullGroupIdentifier +[ except "{" ExceptSpec "}" ]    [ +"," ] } )

+ +

        [ ";" ]

+ +

     }

+ +

"}" [ ";" ]

+ +

 

+ +

Semantic Description

+ +

The effect of importing a group is +identical to an import statement that lists all visible definitions (including sub‑groups) +of this group except of those that are listed in the except specification. See +also clause 8.2.3. Import statements contained in the +group or in its subgroups are not part of this list, only definitions are.

+ +

It is important to point out, that the +except statement does not exclude the definitions listed from being imported in +general; all statements importing definitions of the same kind can be seen as a +shorthand notation for an equivalent list of identifiers of single definitions. +The except statement excludes definitions from this single list only.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The group to be imported shall be defined in the +module from which it is to be imported.

+ +

b)          +See the restrictions given in clause 8.2.3.

+ +

Examples

+ +

    import from MyModule { group +MyGroup } // includes all visible definitions from MyGroup

+ +

 

+ +

    import +from MyModule {

+ +

       group +MyGroup except {

+ +

           type +MyType3, MyType5;    // excludes the two types from the import statement,

+ +

           template all          // +excludes all templates defined in MyGroup

+ +

                                 // from +the import statement

+ +

                                 // but +imports all other visible definitions of MyGroup

+ +

       }

+ +

    }

+ +

 

+ +

    import +from MyModule {

+ +

       group +MyGroup

+ +

           except { type MyType3 };// imports all visible types of +MyGroup except MyType3

+ +

       type +MyType3              // imports MyType3 explicitly

+ +

    }

+ +

 

+ +

8.2.3.4            Importing definitions +of the same kind

+ +

The all +keyword may be used to import all visible definitions of the same kind of a +module. The all keyword used with the constant keyword identifies all +visible constants declared in the definitions part of the module the import +statement refers to. Similarly the all keyword used with the function keyword identifies all visible functions and all visible external +functions defined in the module the import statement denotes.

+ +

If some visible declarations of a kind are +wished to be excluded from the given import statement, their identifiers shall +be listed following the except keyword.

+ +

The import of visible definitions of the same kind can +be used in combination with imports of single visible definitions (see clause 8.2.3.2), with imports of +groups (see clause 8.2.3.3), and with +imports of import statements (see clause 8.2.3.7).

+ +

Syntactical Structure

+ +

[ Visibility ] import +from ModuleId "{"

+ +

     {

+ +

        (

+ +

            ( type     all +[ except { TypeDefIdentifier     [ "," ] } ] ) |

+ +

            ( template     all +[ except { TemplateIdentifier    [ "," ] } ] ) |

+ +

            ( const    all +[ except { ConstIdentifier       [ "," ] } ] ) |

+ +

            ( testcase     all +[ except { TestcaseIdentifier    [ "," ] } ] ) |

+ +

            ( altstep all +[ except { AltstepIdentifier     [ "," ] } ] ) |

+ +

            ( function     all +[ except { FunctionIdentifier    [ "," ] } ] ) |

+ +

            ( signature all +[ except { SignatureIdentifier [ "," ] } ] ) |

+ +

            ( modulepar all +[ except { ModuleParIdentifier [ "," ] } ] )

+ +

        )

+ +

        [ ";" ]

+ +

     }

+ +

"}" [ ";" ]

+ +

 

+ +

Semantic Description

+ +

The effect of importing definitions of the +same kind is identical to an import statement that lists all +visible definitions of that kind except of those that are listed in the except +specification. See also clause 8.2.3.

+ +

NOTE:      If the list of all visible definitions of that kind except of those +that are listed in the except specification is empty, the import statement has no effect. This +case does not lead to an error.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +See the restrictions given +in clause 8.2.3.

+ +

Examples

+ +

    import from MyModule {

+ +

       type all;             // +imports all types of MyModule

+ +

       template all          // +imports all templates of MyModule

+ +

    }

+ +

 

+ +

    import from MyModule {

+ +

       type all except +MyType3, MyType5;    // imports all types except MyType3 and MyType5

+ +

       template all                     // +imports all templates defined in Mymodule

+ +

    }

+ +

 

+ +

8.2.3.5            Importing all +definitions of a module

+ +

All visible definitions of a module definitions part may be +imported using the all keyword next +to the module name.

+ +

If some visible definitions +are wished not to be imported, their kinds and identifiers shall be +listed in the exception list within a pair of curly brackets following the except +keyword. The all keyword is also allowed to be used in the exception list; this will +exclude all visible declarations of the same kind from the import statement.

+ +

NOTE 1:   If the list of all visible definitions of a module except of those +that are listed in the except specification is empty, the import statement has no effect. This +case does not lead to an error.

+ +

NOTE 2:   Importing all definitions of a module imports only definitions +declared directly in that module, but does not import the import statements of +that module (see also clause 8.2.3.7).

+ +

Syntactical +Structure

+ +

[ Visibility +] import from ModuleId

+ +

     all

+ +

     [

+ +

        {

+ +

            except +"{"

+ +

                ( +group    { FullGroupIdentifier     [ "," ] } | all +) |

+ +

                ( +type     { TypeDefIdentifier   [ "," ] } | all ) +|

+ +

                ( +template     { TemplateIdentifier [ "," ] } | all ) +|

+ +

                ( +const    { ConstIdentifier     [ "," ] } | all ) +|

+ +

                ( +testcase     { TestcaseIdentifier [ "," ] } | all ) +|

+ +

                ( +altstep { AltstepIdentifier   [ "," ] } | all ) +|

+ +

                ( +function     { FunctionIdentifier [ "," ] } | all ) +|

+ +

                ( +signature { SignatureIdentifier    [ "," ] } | all ) +|

+ +

                ( +modulepar { ModuleParIdentifier    [ "," ] } | all ) +

+ +

            "}"

+ +

            [ ";" ]

+ +

        }

+ +

     ]

+ +

[ ";" ]

+ +

 

+ +

Semantic Description

+ +

The effect of importing all visible definitions of a module is identical to an import +statement that lists all importable definitions of that module except of those +that are listed in the except specification. See also clause +8.2.3.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +If all visible definitions +of a module are imported by using the all keyword, no other form of import +(import of single definitions, import of the same kind, etc.) shall be used for +the same import statement.

+ +

b)          +In the set of except statements for an all +import, only one except statement per kind of definition (i.e. for a group, +type, etc.) is allowed.

+ +

Examples

+ +

    import +from MyModule all;    // includes +all definitions from MyModule

+ +

 

+ +

    import +from MyModule all except {

+ +

       type MyType3, MyType5;    // +excludes these two types from the import statement and

+ +

       template all          // +excludes all templates declared in MyModule,

+ +

                             // from the +import statement

+ +

                             // but imports +all other definitions of MyModule

+ +

    }

+ +

 

+ +

8.2.3.6            Import definitions +from other TTCN‑3 editions and from non-TTCN‑3 modules

+ +

In cases when visible +definitions are imported from modules from other TTCN‑3 editions +or from other sources than TTCN‑3 modules, the language specification +shall be used to denote the language (may be together with a version number) of +the source (e.g. module, package, library or even file) from which definitions +are imported. It consists of the language keyword +and a subsequent textual declaration of the denoted language.

+ +

The use of +the language specification is optional when importing from a TTCN‑3 +module of the same edition as the importing module. The TTCN‑3 language +identifiers defined in clause 8.1 are to be used. Package identifiers from +ES 202 781 [i.11], ES 202 782 +[i.14], ES 202 784 [i.12] and ES 202 785 [i.13] can be used in +addition. Identifiers for other languages are defined +in the language mapping parts of TTCN‑3, i.e. in ES 201 873-7 [i.5], ES 201 873‑8 [i.6] and ES 201 873-9 [i.7].

+ +

When an incompatibility is discovered +between the language and/or package identification (including implicit +identification by omitting the language specification) and the syntax of the +module from which definitions are imported, tools shall provide reasonable +effort to resolve the conflict.

+ +

Syntactical +Structure

+ +

[ Visibility +] import from ModuleIdentifier [ LanguageSpec ] +… [ ";" ]

+ +

 

+ +

Semantic +Description

+ +

TTCN‑3 +supports the referencing of elements defined in other TTCN‑3 editions (versioned +elements) or other languages (foreign elements) from within TTCN‑3 +modules. Such elements can be used in a TTCN‑3 module of a given edition +only if they have a TTCN‑3 view in that TTCN‑3 edition. The term +TTCN‑3 view can be best explained by considering the case when the +definition of a TTCN‑3 element is based on another TTCN‑3 element, +the information content of the referenced element shall be available and is +used for the new definition. For example, when a template is defined based on a +structured type, the identifiers and types of fields of the base type shall be +accessible and are used for the template definition. In a similar way, when a +base type is a versioned or foreign element it shall provide the same +information content as would be required from a TTCN‑3 type declaration. +The versioned or foreign element, naturally, may contain more information than +required by TTCN‑3. The TTCN‑3 view of a versioned or foreign +element means that part of the information carried by that element, which is +necessary to use it in TTCN‑3. Obviously, the TTCN‑3 view of a +versioned or foreign element may be the full set or a subset of the information +content of that element but never a superset. There may be versioned or foreign +element without a TTCN‑3 view (zero TTCN‑3 view), i.e. for some +reason no TTCN‑3 definition in the given edition could be based on them.

+ +

To make +declarations of versioned or foreign element visible in TTCN‑3 modules, +their names shall be imported just like definitions in other TTCN‑3 +modules of the given edition. When imported, only the TTCN‑3 view of the +versioned or foreign element will be seen from the importing TTCN‑3 +module. There are two main differences between importing TTCN‑3 elements +of the same editions and versioned or foreign elements:

+ +

·            +to import from a TTCN‑3 module of another +edition of from a non-TTCN‑3 module the import statement shall contain an +appropriate language identifier string;

+ +

·            +only versioned or foreign elements with a TTCN‑3 +view of a given edition are importable into a TTCN‑3 module of that +edition.

+ +

Importing +can be done automatically using the all directive, in which case all importable +objects shall automatically be selected by the testing tool, or done manually +by listing names of elements to be imported. Naturally, in the second case only +importable elements are allowed in the list.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The language specification may only be omitted +if the referenced module contains TTCN‑3 notation and the TTCN‑3 +version is known.

+ +

b)          +Definitions imported from non-TTCN-3 language +sources have by default public visibility provided that no other rules are +defined in the respective language mapping (see ES 201 873-7 [i.5], ES 201 873-8 [i.6] or ES 201 873-9 [i.7], respectively).

+ +

Examples

+ +

    module MyNewModule {

+ +

      import from MyOldModule language +"TTCN‑3:2003" {

+ +

       type MyType

+ +

      }

+ +

    }

+ +

 

+ +

    module +MyNewestModule {

+ +

      import from MyNewModule language "TTCN‑3:2010" { import all };

+ +

      // +the language specifications shall be identical, see clause 8.2.3.8 

+ +

    }

+ +

 

+ +

NOTE:      The import +mechanism is designed to allow the re-use of definitions from other TTCN‑3 editions or from other non-TTCN-3 language sources. The rules for importing definitions from +specifications written in other languages, e.g. SDL packages, may follow +the TTCN‑3 rules or may have to be +defined separately.

+ +

8.2.3.7            Importing of import statements from TTCN-3 modules

+ +

Visible +import statements of TTCN-3 modules can be imported by other TTCN‑3 +modules.

+ +

Syntactical +Structure

+ +

[ Visibility ] +import from ModuleIdentifier [ LanguageSpec ]

+ +

               +"{" import all [ ";" ] "}" [ +";" ]

+ +

 

+ +

Semantic +Description

+ +

TTCN‑3 supports importing of visible +import statements from other TTCN-3 modules. This means that import statements +of the module, from which the import statements are imported, are re-imported +to the importing module. For example, if module B imports the import statements +of module A, everything that is imported by A using import statements visible +for module B, is also imported by B. If another module C imports all import +statements from B, then C imports all what A is importing - provided that the +import statements are visible to modules B and C.

+ +

It is not possible to import individual +import statements of another module.

+ +

The import of import statements can be used +in combination with imports of single definitions +(see clause 8.2.3.2), with imports of +groups (see clause 8.2.3.3), and with +imports of definitions of the same kind (see clause 8.2.3.4).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The restrictions given in clause 8.2.3.1 apply.

+ +

b)          +The restrictions given in clause 8.2.3.6 apply.

+ +

c)          +Importing of import statements is only possible +from other TTCN-3 modules, i.e. the language specification shall denote a +TTCN-3 edition only, not a non-TTCN-3 language.

+ +

Examples

+ +

EXAMPLE:          Importing of visible import +statements

+ +

module A {

+ +

    type integer T1;

+ +

    type integer T2;

+ +

    template T1 t1 := ?;

+ +

    template T2 t2 := *;

+ +

    :

+ +

}

+ +

module B {

+ +

    public import from +A { type T1 }

+ +

    type charstring T2;

+ +

    template T1 t1 := ( 1, 2, 3 +);

+ +

    :

+ +

}

+ +

module C {

+ +

    public import from +B { import all }  // imports the import statements only

+ +

    public import from +B { type T2 }     // imports the type B.T2

+ +

    import from A { template +all }

+ +

    :

+ +

}

+ +

module D {

+ +

    private import from +C { import all } // imports the import statements only

+ +

    :

+ +

}

+ +

module E {

+ +

    import from D { import +all }

+ +

    :

+ +

}

+ +

 

+ +

// yields the following

+ +

// module A knows

+ +

// A.T1    (defined)

+ +

// A.T2    (defined)

+ +

// A.t1    (defined)

+ +

// A.t2    (defined)

+ +

//

+ +

// module B knows

+ +

// A.T1    (imported)

+ +

// B.T2    (defined)

+ +

// B.t1    (defined)

+ +

//

+ +

// module C knows

+ +

// A.T1    (imported from B importing it +from A)

+ +

// B.T2    (imported)

+ +

// A.t1    (imported)

+ +

// A.t2    (imported)

+ +

//

+ +

// module D knows

+ +

// A.T1    (imported from C importing it +from B importing it from A)

+ +

// B.T2    (imported from C importing it +from B)

+ +

// A.t2 and A.t2 are not imported as +their imports are private to C

+ +

//

+ +

// module E "knows" nothing

+ +

// as the imports of D are private and +not visible to E

+ +

 

+ +

8.2.3.8            Compatibility of language specifications in imports

+ +

When importing into a TTCN-3 module, the +language specification of the importing module, the language specification of +the import statement and the language specification of the source module, where +the imported definitions are defined, have to be compatible according to the +following rules.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +A TTCN-3 module of any TTCN-3 edition can import +from a non-TTCN-3 language source provided that a TTCN-3 view for the +non-TTCN-3 language exists (see clause 8.2.3.6).

+ +

b)          +Definitions or import statements are imported +according to the language specification in which the definition or the import +statement is defined. If no language specification is given in this module, the +language specification of the import statement with which those definitions or +import statements are to be imported, is used instead. If the module, within +which the definitions or the import statements are defined, and the import +statement for these definitions or import statements provide both a language +specification, then they shall be identical. If none of the two has a language +specification, the language specification has to be known from other sources, +which is tool specific.

+ +

c)          +The TTCN-3 language specification in an import +statement shall be lower or equal to the TTCN-3 language specification of the +importing module, i.e. a TTCN-3 module can only import from earlier or same +editions of TTCN-3 but not from later editions.

+ +

8.2.4       Definition of friend +modules

+ +

Modules can define other modules to be +friends.

+ +

Syntactical Structure

+ +

[ private ] friend module ModuleIdentifier +{ "," ModuleIdentifier } ";"

+ +

 

+ +

Semantic Description

+ +

Friendship to modules is defined by the +exporting module (the module that declares the definitions) not by the +importing module (the module that uses the module definitions of another +module). Friendship can be cyclic.

+ +

If a module is friend to a module from +which it imports top-level definitions, all top-level definitions with public +and friend visibility are visible to the friend module. For non-friend modules, +public top-level definitions are visible only.

+ +

Missing friend modules shall not cause an +error.

+ +

NOTE:      Friend modules +can be checked by tools, however at most warning are to be issued if a friend +module is missing.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN 3 given in clause 5, the following +restrictions apply:

+ +

a)          +Only private visibility can be defined for friend +definitions as they are always private.

+ +

Examples

+ +

module MyModuleA {

+ +

    friend module +MyModuleB,MyModuleC;

+ +

}

+ +

// MyModuleB and MyModuleC are friends +of MyModuleA

+ +

 

+ +

module MyModuleB {

+ +

    friend module +MyModuleA;

+ +

}

+ +

// MyModuleA is friend of MyModuleB

+ +

 

+ +

module MyModuleC {

+ +

}

+ +

 

+ +

8.2.5       Visibility of definitions

+ +

Top-level module definitions and import +statements have a visibility, which can be explicitly set. They are by default public +except for imported and friend definitions. Import definitions are by default private. Friend definitions are private only. +Group definitions are public only.

+ +

Syntactical Structure

+ +

[ public | friend | private +]

+ +

 

+ +

Semantic Description

+ +

The visibility controls +whether a top-level definition or an import statement is importable by another +module.

+ +

Three visibilities are +distinguished:

+ +
    +
  • A top-level definition + or an import statement with public visibility is importable by any other module.
  • +
+ +
    +
  • A top-level definition + or an import statement with friend visibility is importable by friend modules only (see clause 8.2.4).
  • +
  • A top-level definition + or an import statement with private visibility cannot be imported at all.
  • +
+ +

NOTE:      As specified in restriction e) of +clause 8.2.3.1, this means that +importable definitions are imported together with all information of referenced +definitions that are necessary for the usage of the importable definition, even +if the referenced definition is private. Only the identifier of the referenced +definition is not visible in the importing TTCN-3 module.

+ +

The visibility of +groups is always public. The visibility of imported definitions is by +default private. All other module definitions are by default public.

+ +

The visibility of a +top-level definition or an import statement defines their importability by +another module. If the top-level definition or the import statement is part of +a group, this has no effect on the importability of the module definition. The +importability of a top-level definition by another module is summarized in +table 9, the importability of import statements in table 10.

+ +

Table 9: +Visibility and import of module definitions

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Visibility of module + definition

+
+

Module definition importable + directly by a
+ non-friend module

+
+

Module definition + importable directly by a
+ friend module

+
+

Module definition + importable via group import by a non-friend module

+
+

Module definition + importable via group import by a friend module

+
+

public

+
+

yes

+
+

yes

+
+

yes

+
+

yes

+
+

friend

+
+

no

+
+

yes

+
+

no

+
+

yes

+
+

private

+
+

no

+
+

no

+
+

no

+
+

no

+
+ +
+ +

 

+ +

Table 10: +Visibility and import of import statements

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+

Visibility of import

+
+

Import imported by a + non-friend module

+
+

Import imported by a friend + module

+
+

public

+
+

yes

+
+

yes

+
+

friend

+
+

no

+
+

yes

+
+

private

+
+

no

+
+

no

+
+ +
+ +

 

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

module MyModuleA {

+ +

    friend module +MyModuleC;

+ +

    private type integer +MyInteger;

+ +

    // MyInteger is not visible to other +modules

+ +

    friend type charstring +MyString;

+ +

    // MyString is visible to friend +modules

+ +

    public type boolean +MyBoolean;

+ +

    // MyBoolean is visible to all +modules

+ +

}

+ +

module MyModuleB {

+ +

    import from MyModuleA all; +

+ +

    // MyString and MyInteger are not +visible and are not imported

+ +

    // MyBoolean is imported

+ +

}

+ +

module MyModuleC {

+ +

    import from MyModuleA all; +

+ +

    // MyInteger is not visible and is +not imported

+ +

    // MyString and MyBoolean are +imported

+ +

}

+ +

 

+ +

8.3        Module +control part

+ +

The module control part may contain local +definitions (i.e. constants or templates), local instances (i.e. variables or +timers) and describe the selection, parameterization and execution order +(possibly repetitive) of the actual test cases. A test case shall be defined in +the module definitions part or imported from another module, and called in the +control part.

+ +

The control part of a +module calls the test cases with actual parameters and controls their +execution. Program statements can be used to specify the selection and +execution order of the test cases. Definitions made in the module control part have local visibility, i.e. +can be used within the control part only.

+ +

This is explained in +more detail in clause 26.

+ +

EXAMPLE:

+ +

    module MyTestSuite

+ +

    {   // +This module contains definitions …

+ +

    :

+ +

    const integer MyConstant := 1;

+ +

    type record MyMessageType { … }

+ +

    template MyMessageType +MyMessage := { … }

+ +

    :

+ +

    function MyFunction1() { … }

+ +

    function +MyFunction2() { … }

+ +

    :

+ +

testcase MyTestcase1() +runs on MyMTCType { … }

+ +

testcase MyTestcase2() +runs on MyMTCType { … }

+ +

    :

+ +

    // … and a control part so it is executable

+ +

    control

+ +

    {  

+ +

       var +boolean MyVariable; // local control variable 

+ +

       :

+ +

    execute( +MyTestCase1()); // sequential execution of test cases

+ +

    execute( +MyTestCase2());

+ +

    :

+ +

      }

+ +

    }

+ +

 

+ +
+ +

9         Port +types, component types and test configurations

+ +
+ +

TTCN‑3 allows the (dynamic) specification of concurrent test +configurations (or configuration for short). A configuration consists of a set +of inter-connected test components with well-defined communication ports and an +explicit test system interface which defines the borders of the test system +(see figure 4).

+ +

NOTE:      Additional configuration and deployment +support for TTCN-3 is defined in the optional package [i.11].

+ +

+ +

Figure 4: +Conceptual view of a typical TTCN‑3 test configuration

+ +

Within every +configuration there shall be one (and only one) Main Test Component (MTC). Test components that are not MTCs +are called parallel test components or PTCs. The MTC shall be created by the system automatically at the start +of each test case execution. The behaviour defined in the body of the test case +shall execute on this component. During execution of a test case, other +components can be created dynamically by the explicit use of the create operation.

+ +

Test case execution shall end when the MTC terminates. All other PTCs are treated +equally i.e. there is no explicit hierarchical relationship among them and the +termination of a single PTC terminates neither +other components nor the MTC. When the MTC terminates, the test system has to stop all PTCs not +terminated by the moment when the test case execution is ended.

+ +

Communication between +test components and between the components and the test system interface is +achieved via communication ports (see clause 9.1).

+ +

Test component types +and port types, denoted by the keywords component and port, shall be defined in the module definitions part. The +actual configuration of components and the connections between them is achieved +by performing create and connect operations within the test case behaviour. The +component ports are connected to the ports of the test system interface by +means of the map operation (see +clause 21.1.1).

+ +

9.1        Communication ports

+ +

Test components are +connected via their ports, i.e. connections among components and between a +component and the test system interface are port-oriented. Each port is modelled +as an infinite FIFO queue +which stores the incoming messages or procedure calls until they are processed +by the component owning that port (see figure 5).

+ +

NOTE:      While TTCN‑3 ports are infinite in +principle in a real test system they may overflow. This is to be treated as a +test case error (see clause 24.1).

+ +

+ +

Figure 5: +The TTCN‑3 +communication port model

+ +

TTCN‑3 +connections are port-to-port and port-to-test system interface connections (see +figure 6). There are no restrictions on the number of connections a +component may maintain. One-to-many connections are also allowed +(e.g. figure 6(g) or figure 6(h)).

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +The following connections are not allowed (see +figure 7):

+ +

-             +A port owned by a component A shall not be +connected with two or more ports owned by the same component (figures 7 (a) and 7(e)).

+ +

-             +A port owned by a component A shall not be +connected with two or more ports owned by a component B (see figure 7(c)).

+ +

-             +A port owned by a component A can only have a +one-to-one connection with the test system interface. This means, connections +as shown in figures 7(b) and 7(d) are not +allowed.

+ +

-             +Connections within the test system interface are +not allowed (see figure 7(f)).

+ +

-             +A port that is connected shall not be mapped and +a port that is mapped shall not be connected (see figure 7(g)).

+ +

b)          +Since TTCN‑3 allows dynamic configurations +and addresses, the restrictions on connections cannot always be checked at +compile-time. The checks shall be made at run-time and shall lead to a test +case error when failing.

+ +

+ +

Figure 6: Allowed connections

+ +

+ +

Figure +7: NOT allowed +connections

+ +

9.2        Test system interface

+ +

TTCN‑3 is +used to test implementations. The object being tested is known as the +Implementation Under Test or IUT. The IUT may offer direct interfaces for testing or it may be part +of system in which case the tested object is known as a System Under Test or SUT. In the minimal case the IUT and the SUT are equivalent. In the +present document the term SUT is used in a +general way to mean either SUT or IUT.

+ +

In a real test +environment test cases need to communicate with the SUT. However, the specification of the real physical +connection is outside the scope of TTCN‑3. +Instead, a well defined (but abstract) test system interface shall be +associated with each test case. A test system interface definition is identical +to a component definition, i.e. it is a list of all possible communication +ports through which the test case is connected to the SUT.

+ +

The test system +interface statically defines the number and type of the port connections to the +SUT during a test run. +However, the connections between the test system interface and the TTCN‑3 test components are dynamic in nature and may be modified +during a test run by using map +and unmap operations (see clause 21.1).

+ +

A component type definition is used to define the test +system interface because, conceptually, component type definitions and test +system interface definitions have the same form (both are collections of ports +defining possible connection points). When used as test +system interfaces, components cannot make use of any constants, variables and +timers declared in the component type.

+ +

Syntactical Structure

+ +

The same as a component +type definition (see clauses 6.2.10 +and 6.2.10.1).

+ +

Semantic Description

+ +

Generally, a component type reference defining the test +system interface shall be associated with every test case using more than one +test component. The ports of the test system interface shall automatically be +instantiated by the system together with the MTC when the test case execution starts.

+ +

The operation returning the component +reference of the test system interface is system. This +shall be used to address the ports of the test system.

+ +

In the case where the MTC is the only component that is +instantiated during test execution, a test system interface need not be +associated to the test case. In this case, the component type definition +associated with the MTC implicitly defines the +corresponding test system interface.

+ +

Variables, timers and +constants declared in component types, which are used as test system interfaces +will have no effect.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The same as for component +type definitions (see clauses 6.2.10 and 6.2.10.1).

+ +

Examples

+ +

EXAMPLE 1:      Explicit definition of a test +system interface

+ +

    type component MyMTCType

+ +

    {

+ +

      var integer MyLocalInteger;

+ +

      timer MyLocalTimer;

+ +

      port MyMessagePortType PCO1

+ +

    }

+ +

 

+ +

    type component MyTestSystemInterface

+ +

    {

+ +

       port MyMessagePortType       PCO1, +PCO2;

+ +

       port MyProcedurePortType  PCO3

+ +

    }

+ +

 

+ +

    // MyTestSystemInterface is the test +system interface

+ +

    testcase MyTestcase1 () runs +on MyMTCType system MyTestSystemInterface {

+ +

       // establishing the port connections

+ +

       map(mtc:PCO1, system:PCO2);

+ +

       // the testcase behaviour

+ +

       // …

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Implicit definition of a test +system interface

+ +

    // MyMTCType is the test system +interface

+ +

    testcase MyTestcase2 () runs +on MyMTCType {

+ +

       // map statements are not needed

+ +

       // the testcase behaviour

+ +

       // …

+ +

    }

+ +

 

+ +
+ +

10       Declaring +constants

+ +
+ +

TTCN-3 +constants are run-time constants. After value assignment, they do not change +their value during test execution. They can be used +on the right hand side of assignments, in expressions, in actual parameters, and in template definitions. +Constants used within type definitions have to have values known at +compile-time.

+ +

Syntactical +Structure

+ +

const Type +{ ConstIdentifier [ ArrayDef ] ":=" ConstantExpression +[ "," ] } [ ";" ]

+ +

 

+ +

Semantic Description

+ +

A constant assigns a name to a fixed value. +A value is assigned only once to a constant, at the place of its declaration. +The constant does not change its value during test execution. The constant is +defined only once, but can be referenced multiple times in a TTCN-3 module.

+ +

Optional fields of record and set constants +or constant fields can be initialized explicitly or implicitly. For implicit +initialization of the optional fields of a constant or a constant field, an optional attribute with the value "implicit omit" (see clause 27.7) shall be associated with it either +directly or via the attribute distribution (scoping) mechanism (see clause 27.1.1).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +Constants shall not be +of port type.

+ +

NOTE:      The only value that can be assigned to +constants of default and component types is the special value null.

+ +

b)       +Constant expressions initializing +constants, which are used in type and array definitions, shall only contain literals, predefined functions except of rnd (see +clause 16.1.2), operators specified in clause 7.1, and other constants obeying +the limitations of this paragraph.

+ +

Examples

+ +

    const integer MyConst1 := 1;

+ +

    const boolean MyConst2 := true, MyConst3 +:= false;

+ +

 

+ +
+ +

11       Declaring +variables

+ +
+ +

TTCN-3 variables are statically typed +variables. Variables are either value variables to store values or template +variables to store templates.

+ +

Variables can be of +simple basic types, basic string types, structured types, special data types +(including subtypes derived from these types) as well as address, component or default types.

+ +

Variables can be +declared and used in the module control part, test cases, functions and +altsteps. Additionally, variables can be declared in component type +definitions. These variables can be used in test cases, altsteps and functions +which are running on a given component type.

+ +

11.1      Value +variables

+ +

A TTCN-3 value variable stores values. It is declared by the var keyword followed by a type identifier and a variable +identifier. An initial value can be assigned at variable declaration.

+ +

It may be used at the right hand side as +well as at the left hand side of assignments, in expressions, following the return +keyword in bodies of functions with a return clause in their headers and may be +passed to both value and template-type formal parameters.

+ +

Syntactical +Structure

+ +

var Type +VarIdentifier [ ArrayDef ] [ ":=" Expression ]

+ +

         { [ +"," ] VarIdentifier [ ArrayDef ] [ ":=" Expression +] } [ ";" ]

+ +

 

+ +

Semantic Description

+ +

A value variable associates a name with the +location of a value. A value variable may change its value during test +execution several times. A value can be assigned several times to a value +variable. The value variable can be referenced multiple times in a TTCN-3 +module.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Expression shall +be of type Type.

+ +

b)          +Value variables shall store values only.

+ +

c)          +Value variables shall not be declared or used in +a module definitions part (i.e. global variables are not supported in TTCN‑3).

+ +

d)          +Use of uninitialized or not completely +initialized value variables at other places than the left hand side of +assignments or as actual parameters passed to inout +or out formal parameters shall cause an error.

+ +

Examples

+ +

    var integer +MyVar0;

+ +

    var integer MyVar1 +:= 1;

+ +

    var boolean MyVar2 +:= true, MyVar3 := false;

+ +

 

+ +

11.2      Template variables

+ +

A TTCN-3 template variable stores +templates. They are declared by the var template keyword followed by a type identifier and a variable identifier. +An initial content can be assigned at declaration. In addition to +values, template variables may also store matching mechanisms (see clause 15.7).

+ +

Template variables may be used on the right +hand side as well as on the left hand side of assignments, following the return +keyword in bodies of functions defining a template-type return value in their +headers and may be passed as actual parameters to template-type formal +parameters. It is also allowed to assign a template instance to a template +variable or a template variable field.

+ +

Syntactical +Structure

+ +

var template +[ restriction ] Type VarIdentifier [ ArrayDef ] +":=" TemplateBody

+ +

                 { +[ "," ] VarIdentifier [ ArrayDef ] ":=" TemplateBody +} [ ";" ]

+ +

 

+ +

Semantic Description

+ +

A template variable associates a name with +the location of a template or a value (as every value is also a template).
+A template variable may change its template during test execution several +times. A template or value can be assigned several times to a template +variable. The template variable can be referenced multiple times in a TTCN-3 +module.

+ +

The content of a template variable can be +restricted to the matching mechanisms specific value and omit in the same way +as formal template parameters, see clause 5.4.1.2. The restriction template (omit) +can be replaced by the shorthand notation omit.

+ +

NOTE 1:   String and list type templates can be +concatenated, see clause 15.11.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Template variables shall not be declared or used +in a module definitions part (i.e. global variables are not supported in TTCN‑3).

+ +

b)          +When used on the right hand side of assignments +template variables shall not be operands of TTCN‑3 operators (see clause +7.1) and the variable on the left hand side shall be a template variable too.

+ +

c)          +When accessing element of template variables +either on the left hand side or on the right hand side of assignments, the +rules given in clause 15.6 shall apply.

+ +

NOTE 2:   While it is not +allowed to directly apply TTCN‑3 operations to template variables, it is allowed to use the +dot notation and the index notation to inspect and modify template variable +fields.

+ +

d)          +Use of uninitialized or not completely +initialized template variables at other places than the left hand side of +assignments or as actual parameters passed to out +formal parameters shall cause an error.

+ +

e)          +If the template variable is restricted, then the +template used to initialize it shall contain only the matching mechanisms as +described in clause 15.8.

+ +

f)           +Template variables, similarly to global and +local templates, shall be fully specified in order to be used in sending and +receiving operations.

+ +

g)          +Restrictions on templates in clause 15 shall +apply.

+ +

Examples

+ +

    var template integer  MyVarTemp1 := +?;

+ +

    var template MyRecord MyVarTemp2 := { field1 := true, +field2 := * },
+                         MyVarTemp3 := { field1 := ?, field2 := +MyVarTemp1 };

+ +

 

+ +
+ +

12       Declaring timers

+ +
+ +

TTCN-3 provides a +timer mechanism. Timers can be declared and used in the module control part, +test cases, functions and altsteps. Additionally, timers can be declared in +component type definitions. These timers can be used in test cases, functions +and altsteps which are running on the given component type.

+ +

A timer declaration may +have an optional default duration value assigned to it. The timer shall be +started with this value if no other value is specified. The timer value shall +be a non-negative float value (i.e. +greater than or equal to 0.0) where the base unit is seconds.

+ +

In addition to single timer instances, +timer arrays can also be declared. Default duration(s) of the elements of a +timer array shall be assigned using a value array. Default duration(s) +assignment shall use the array value notation as specified in clause 6.2.7. If +the default duration assignment is wished to be skipped for some element(s) of +the timer array, it shall explicitly be declared by using the not used symbol +("-").

+ +

Syntactical Structure

+ +

timer { TimerIdentifier +[ ArrayDef ] ":=" TimerValue [ "," ] } [ +";" ]

+ +

 

+ +

Semantic +Description

+ +

Timers are local to +components. A component can start and stop a timer, check if a timer is +running, read the elapsed time of a running timer and process timeout events +after timer expiration. The timer value is interpreted with a base unit of +seconds.

+ +

NOTE 1:   Timers declared and started in scope units such as functions cease +to exist when the scope unit is left. They do not contribute to the test +behaviour once the scope unit is left.

+ +

NOTE 2:   It is not possible +to define a timer array as type.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +In case of a single timer, the default duration +value shall resolve to a non-negative numerical float value (i.e. the value +shall be greater or equal 0.0, infinity and +not_a_number are disallowed).

+ +

b)          +In case of a timer array, it shall resolve to an +array of float values obeying to restriction a) above of the same size as the +size of the timer array.

+ +

Examples

+ +

EXAMPLE 1:      Single timer

+ +

    timer MyTimer1 := 5E-3;  

+ +

                  // declaration of the +timer MyTimer1 with the default value of 5ms 

+ +

 

+ +

    timer MyTimer2;   // declaration of MyTimer2 without a default +timer value i.e. a value has

+ +

                  // to be assigned when +the timer is started

+ +

 

+ +

EXAMPLE 2:      Timer array

+ +

    timer t_Mytimer1[5] := { 1.0, 2.0, 3.0, 4.0, 5.0 }

+ +

                  // all elements of the timer array get a default +duration.

+ +

 

+ +

    timer t_Mytimer2[5] := { 1.0, -, 3.0, 4.0, 5.0 }

+ +

                  // the second timer (t_Mytimer2[1]) is left +without a default duration.

+ +

 

+ + + +

One of the key elements +of TTCN‑3 is the +ability to send and receive simple or complex messages over message-based ports +defined by the test configuration (see clauses 9 and 21). These messages may +be those explicitly concerned with testing the SUT or with the internal co-ordination and control messages +specific to the relevant test configuration.

+ +

Messages are instances +of types declared in the in/out/inout clauses of message port type definition.

+ +

Any type can be +declared as type of a message in a message port type definition, i.e. values of +any basic or structured type (see clauses 6.1 and 6.2) can be sent or +received. Received messages can also be declared as a combination of value and +matching mechanisms (see clause 15.5). Instances of +messages can be declared by global, local or in-line templates (see clause 15) or being constructed +and passed via variables or template variables (see clause 11) and parameters or +template parameters (see clause 5.4).

+ +

Syntactical Structure

+ +

See syntactical structure of types (see +clause 6).

+ +

Semantic Description

+ +

See semantic description of types (see +clause 6).

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    // a structured, ordered message with two fields

+ +

    type record ARecord { integer i, float +f }

+ +

 

+ +
+ +

14       Declaring +procedure signatures

+ +
+ +

Procedure +signatures (or signatures for short) are needed for procedure-based +communication. Procedure-based communication may be used for the communication +within the test system, i.e. among test components, or for the communication +between the test system and the SUT. In the latter case, a procedure may either +be invoked in the SUT (i.e. the test system performs the call) or in the test +system (i.e. the SUT performs the call).

+ +

Syntactical +Structure

+ +

signature +SignatureIdentifier

+ +

"(" { [ in | inout +| out ] Type ValueParIdentifier [ ","] } +")"

+ +

[ ( return Type ) | noblock +]

+ +

[ exception "(" ExceptionTypeList +")" ]

+ +

 

+ +

Semantic +Description

+ +

For all used procedures, i.e. procedures +used for the communication among test components, procedures called from the +SUT and procedures called from the test system, a procedure signature shall be defined in the TTCN‑3 module.

+ +

TTCN‑3 +supports blocking and non-blocking procedure-based communication. +By default, signature definitions without the noblock keyword +are assumed to be used for blocking procedure-based communication.

+ +

Signature definitions may have parameters. Parameters shall +be of data type only, i.e. of a basic type, a structured type thereof or a +subtype thereof. Within a signature +definition the parameter list may include parameter identifiers, parameter +types and their direction, i.e. in, out, or inout. The direction inout and out indicate that +these parameters are used to retrieve information from the remote procedure.

+ +

NOTE 1:   The direction of the +parameters is as seen by the called party rather than the calling party.

+ +

A remote procedure may return a value after +its termination. The type of the return value shall be specified by means of a return +clause in the corresponding signature definition.

+ +

Exceptions that may be +raised by remote procedures are represented in TTCN‑3 as values of a specific type. Therefore templates and +matching mechanisms can be used to specify or check return values of remote +procedures.

+ +

NOTE 2:   The conversion of +exceptions generated by or sent to the SUT into the corresponding TTCN‑3 type or SUT +representation is tool and system specific and therefore beyond the scope of +the present document.

+ +

The exceptions are defined in the form of an exception list +included in the signature +definition. This list defines all the possible different types associated with +the set of possible exceptions (the meaning of exceptions themselves will +usually only be distinguished by specific values of these types).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Signature definitions for non-blocking +communication shall use the noblock keyword, shall only have in parameters and +shall have no return value but may raise exceptions.

+ +

b)          +Signature parameters shall not be of port, +component or default type or of structured types having fields of port, +component or default type.

+ +

Examples

+ +

    signature MyRemoteProcOne +();           // MyRemoteProcOne will be used for blocking

+ +

                                        // +procedure-based communication. It has neither

+ +

                                        // +parameters nor a return value.

+ +

 

+ +

    signature MyRemoteProcTwo () noblock;   // +MyRemoteProcTwo will be used for non blocking

+ +

                                        // procedure-based +communication. It has neither

+ +

                                        // parameters nor a return +value.

+ +

 

+ +

    signature MyRemoteProcThree (in integer +Par1, out float Par2, inout integer Par3);

+ +

    // MyRemoteProcThree will be used for blocking procedure-based +communication. The procedure

+ +

    // has three parameters: Par1 an in parameter of type integer, +Par2 an out parameter of

+ +

    // type float and Par3 an inout parameter of type integer.

+ +

 

+ +

    signature +MyRemoteProcFour (in integer Par1) return integer;

+ +

    // MyRemoteProcFour will be used for blocking procedure-based +communication. The procedure

+ +

    // has the in parameter Par1 of type integer and returns a +value of type integer after its

+ +

    // termination

+ +

 

+ +

    signature +MyRemoteProcFive (inout float Par1) return integer

+ +

           exception +(ExceptionType1, ExceptionType2);

+ +

    // +MyRemoteProcFive will be used for blocking procedure-based communication. It +returns a

+ +

    // +float value in the inout parameter Par1 and an integer value, or may raise +exceptions of

+ +

    // +type ExceptionType1 or ExceptionType2

+ +

 

+ +

    signature MyRemoteProcSix (in +integer Par1) noblock

+ +

           exception (integer, +float);

+ +

    // MyRemoteProcSix will be used for +non-blocking procedure-based communication. In case of

+ +

    // an unsuccessful termination, +MyRemoteProcSix raises exceptions of type integer or float.

+ +

 

+ +
+ +

15       Declaring +templates

+ +
+ +

Templates are used to either transmit a set +of distinct values or to test whether a set of received values matches the +template specification. Templates can be defined globally or locally.

+ +

Templates provide the following +possibilities:

+ +

a)          +they are a way to organize and to re-use test +data, including a simple form of inheritance;

+ +

b)          +they can be parameterized;

+ +

c)          +they allow matching mechanisms;

+ +

d)          +they can be used with either message-based or +procedure-based communications.

+ +

Within a template values, ranges and +matching attributes can be specified and then used in both message-based and +procedure-based communications. Templates may be specified for any TTCN‑3 +type or procedure signature. The type‑based templates are used for +message-based communications and the signature templates are used in procedure‑based +communications.

+ +

A modified template declaration (see clause +15.5) specifies only the fields +to be changed from the base template, i.e. it is a partial specification.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Templates shall not be of default type.

+ +

b)          +Structured type or signature templates shall not +include a field of default type, neither directly, nor by nesting or referencing a structured +type or signature that contains a default field.

+ +

NOTE:      The anytype type does not include the default type (see clause 6.2.6), so that +restriction b) does not apply to anytype templates.

+ +

Examples

+ +

    type record MyRecord {

+ +

      default def

+ +

    }

+ +

    type union MyUnion {

+ +

      integer choice1,

+ +

      MyRecord choice2

+ +

    }

+ +

    template MyUnion t_integerChosen := { choice1 := 5 }

+ +

      // shall cause an error as the type MyUnion contains +MyRecord, which includes

+ +

      // a field of default type.

+ +

 

+ +

15.1      Declaring message +templates

+ +

Instances of messages with actual values may be specified +using templates. A template can be thought of as being a set of instructions to +build a message for sending or to match a received message.

+ +

Syntactical Structure

+ +

See syntactical structure of global and +local templates (see clause 15.3) and of in-line templates (see clause 15.4).

+ +

Semantic Description

+ +

A template used in a send operation defines a complete set of field values +comprising the message to be transmitted over a port.

+ +

NOTE:      For sending templates, omitting an +optional field is considered to be a value notation rather than a matching +mechanism.

+ +

A template used in a receive, trigger or check operation +defines a data template against which an incoming message is to be matched. +Matching mechanisms, as defined in clauses 15.7 and 15.8 and in annex B, may +be used in receive templates. No binding of the incoming values to the template +shall occur.

+ +

Restrictions

+ +

In addition to restrictions in clause 15, the following restrictions apply:

+ +

a)          +At the time of a send operation, +the used template shall be completely initialized and all fields shall resolve +to actual values or to omit and no other matching mechanisms shall be used in +the template fields, neither directly nor indirectly.

+ +

At the time +of a receiving operation, the matching template shall be completely initialized.

+ +

b)          +Optional fields of record and set templates or +template fields can be initialized explicitly or implicitly. For implicit +initialization of the optional fields of a template or a template field, an optional attribute with the value "implicit omit" (see clause 27.7) shall be associated with it either +directly or via the attribute distribution (scoping) mechanism (see clause 27.1.1).

+ +

Examples

+ +

EXAMPLE 1:      Template +for sending messages

+ +

    // Given the message definition

+ +

    type record MyMessageType

+ +

    {  

+ +

       integer    field1 optional,

+ +

       charstring     field2,

+ +

       boolean    field3

+ +

    }

+ +

 

+ +

    // a message template could be

+ +

    template MyMessageType MyTemplate:=

+ +

    {  

+ +

       field1 := omit,

+ +

       field2 := "My string",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // and a corresponding send operation could be

+ +

    MyPCO.send(MyTemplate);

+ +

 

+ +

EXAMPLE 2:      Template for receiving messages

+ +

    // Given the message definition

+ +

    type record MyMessageType

+ +

    {  

+ +

       integer    field1 optional,

+ +

       charstring field2,

+ +

       boolean    field3

+ +

    }

+ +

 

+ +

    // a message template might be

+ +

    template MyMessageType MyTemplate:=

+ +

    {  

+ +

       field1 := ?,

+ +

       field2 := pattern "abc*xyz",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // and a corresponding receive operation could be

+ +

    MyPCO.receive(MyTemplate);

+ +

 

+ +

EXAMPLE 3:      Template for receiving messages

+ +

    // +When used in a receiving operation this template will match any integer value

+ +

    template +integer Mytemplate := ?;

+ +

 

+ +

    // +This template will match only the integer values 1, 2 or 3

+ +

    template +integer Mytemplate := (1, 2, 3);

+ +

 

+ +

15.2      Declaring signature templates

+ +

Instances of procedure +parameter lists with actual values may be specified using templates. Templates +may be defined for any procedure by referencing the associated signature +definition.

+ +

Syntactical Structure

+ +

See syntactical structure of global and +local templates (see clause 15.3) and of in-line templates (see clause 15.4).

+ +

Semantic +Description

+ +

A signature template +defines the values and matching mechanisms of the procedure parameters only, +but not the return value. The values or matching mechanisms for a return have +to be defined within the reply (see clause 22.3.3) or getreply operation +(see clause 22.3.4).

+ +

A template used in a call +or reply operation defines a complete set of field values for all in and +inout parameters. At the time of the call operation, +all in and inout parameters in the template shall resolve to actual values, no +matching mechanisms shall be used in these fields, either directly or +indirectly. Any template specification for out parameters is +simply ignored, therefore it is allowed to specify matching mechanisms for +these fields, or to omit them (see annex B).

+ +

A template used in a getcall operation defines a data template against which +the incoming parameter fields are matched. Matching mechanisms, as defined in +annex B, may be used in any templates used by this operation. No binding of +incoming values to the template shall occur. Any out parameters shall be ignored in the matching process.

+ +

Restrictions

+ +

In addition to restrictions in clause 15, the following restrictions apply:

+ +

a)          +At the time of a call, reply +and raise operation, the used template shall be completely +initialized and all in/inout parameters in a call, all out/inout parameters in a reply or raise operation shall resolve to specific values or to omit and no other +matching mechanisms shall be used for these parameters, neither directly nor +indirectly.

+ +

b)          +The NotUsedSymbol shall only be used in +signature templates for parameters which are not relevant and in modified +template declarations and modified in-line templates to indicate no change for +the specified field or element.

+ +

At the time of a getcall, getreply and catch operation, the matching template shall be completely initialized.

+ +

c)          +Optional fields of record and set parameters or +parameter fields can be initialized explicitly or implicitly. For implicit +initialization of a parameter or a parameter field, an optional attribute with the value "implicit omit" (see clause 27.7) shall be associated with it either +directly or via the attribute distribution (scoping) mechanism (see clause 27.1.1).

+ +

Examples

+ +

EXAMPLE +1:      Templates for invoking and accepting procedures

+ +

    // signature definition for a remote procedure

+ +

    signature RemoteProc(in integer Par1, out +integer Par2, inout integer Par3) return integer;

+ +

 

+ +

    // example templates associated to defined procedure signature

+ +

    template RemoteProc Template1:=

+ +

    {  

+ +

       Par1 := 1,

+ +

        Par2 := 2,

+ +

       Par3 := 3

+ +

    }

+ +

 

+ +

    template RemoteProc Template2:=

+ +

    {  

+ +

       Par1 := 1,

+ +

       Par2 := ?,

+ +

       Par3 := 3

+ +

    }

+ +

   

+ +

    template RemoteProc +Template3:=

+ +

    {  

+ +

       Par1 := 1,

+ +

       Par2 := ?,

+ +

       Par3 := ?

+ +

    }

+ +

 

+ +

    template RemoteProc Template4:=?;

+ +

 

+ +

EXAMPLE +2:      In-line templates for invoking procedures

+ +

    // Given example 1 in this +clause

+ +

 

+ +

    // Valid invocation since all in +and inout parameters have a distinct value

+ +

    MyPCO.call(RemoteProc:Template1);

+ +

   

+ +

    // Valid invocation since all in and inout parameters have a +distinct value

+ +

    MyPCO.call(RemoteProc:Template2);

+ +

   

+ +

    // Invalid invocation causing an error

+ +

    // since the inout parameter Par3 has a matching attribute not +a value

+ +

    MyPCO.call(RemoteProc:Template3);

+ +

   

+ +

    // Templates never return values. In the case of Par2 and Par3 +the values returned by the

+ +

    // call operation must be retrieved using an assignment clause +at the end of the call statement

+ +

 

+ +

EXAMPLE 3:      In-line +templates for accepting procedure invocations

+ +

    // Given example 1 in this clause

+ +

 

+ +

    // Valid getcall, it will match if Par1 == 1 and Par3 == 3

+ +

    MyPCO.getcall(RemoteProc:Template1);

+ +

      

+ +

    // Valid getcall, it will match if Par1 == 1 and Par3 == 3

+ +

    MyPCO.getcall(RemoteProc:Template2);

+ +

   

+ +

    // Valid getcall, it will match on Par1 == 1 and Any value of +Par3 

+ +

    MyPCO.getcall(RemoteProc:Template3);

+ +

 

+ +

EXAMPLE 4:      In-line +templates for accepting procedure replies

+ +

    // Given example 1 in this clause

+ +

 

+ +

    // Valid getreply, in-parameters will be ignored, matches if +return value is 4

+ +

    MyPCO.getreply(RemoteProc:Template2 value 4);

+ +

      

+ +

    // Valid getreply, accepting any reply for RemoteProc

+ +

    MyPCO.getreply(RemoteProc:?);

+ +

   

+ +

    // Valid getreply, also accepting any reply for RemoteProc

+ +

    MyPCO.getcall(RemoteProc:Template4 value ?);

+ +

 

+ +

15.3      Global and local templates

+ +

TTCN-3 allows defining global templates and +local templates.

+ +

Syntactical Structure

+ +

template [ restriction ] Type +TemplateIdentifier  ["(" TemplateFormalParList +")"]

+ +

[ modifies TemplateRef ] +":=" TemplateBody

+ +

 

+ +

NOTE:      The optional restriction part is +covered by clause 15.8.

+ +

Semantic +Description

+ +

Global templates can be defined in the +module definitions part. Local templates can be defined in module control, +testcases, functions, altsteps or statement blocks. Both global and local +templates scoping rules specified in clause 5 apply.

+ +

Both global and local +templates can be parameterized. The actual parameters of a template can include +values and templates. The rules for formal and actual parameter lists shall be +followed as defined in clause 5.2.

+ +

At the time of their +use (e.g. in communication operations send, receive, call, getcall, etc.), it is allowed to change template fields by in-line +modified templates, to pass in values via value parameters as well as to pass +in templates via template parameters. The effects of these changes on the +values of the template fields do not persist in the template subsequent to the +corresponding communication event.

+ +

Restrictions

+ +

In addition to restrictions in clause 15, the following restrictions apply:

+ +

a)          +The dot notation such as MyTemplateId.FieldId +shall not be used to set or retrieve values in templates in communication +events. The "->" symbol shall be used for this purpose (see clause +23).

+ +

b)          +Restrictions on referencing elements of +templates or template fields are described in clause 15.6.

+ +

c)          +There exist a number of restrictions on the +functions used in expressions when specifying templates or template fields; +these are specified in clause 16.1.4.

+ +

Examples

+ +

    // The +template

+ +

    template MyMessageType MyTemplate (integer MyFormalParam):=

+ +

    {  

+ +

       field1 +:= MyFormalParam,

+ +

       field2 +:= pattern "abc*xyz",

+ +

       field3 +:= true

+ +

    }

+ +

 

+ +

    // +could be used as follows

+ +

    pco1.send(MyTemplate(123));

+ +

 

+ +

15.4      In-line Templates

+ +

Templates can be specified directly at the +place they are used. Such templates are called in-line templates.

+ +

Syntactical Structure

+ +

[ Type ":" ] [ modifies +TemplateRefWithParList ":=" ] TemplateBody

+ +

 

+ +

NOTE 1:   An in-line template is an argument of a +communication operation or an actual parameter of a testcase, function or +altstep call, i.e. it is always placed within parenthesis and potentially +separated with a comma.

+ +

Semantic Description

+ +

In‑line templates can be defined +directly at the place of its use.

+ +

In‑line templates do not have names, +therefore they cannot be referenced or reused. The lifetime of in‑line +templates is the TTCN-3 statement (an assignment, a testcase/function/alstep +invocation, a return from a function, a communication operation), where they +are defined.

+ +

Restrictions

+ +

In addition to restrictions in clause 15, the following restrictions apply:

+ +

a)          +Templates may be specified for any TTCN‑3 +type defined in table 3 and for any procedure signature except for port +and default types.

+ +

b)          +The type field may only be omitted when the type +is implicitly unambiguous.

+ +

NOTE 2:   For literal in‑line templates, the +following types may be omitted: integer, float, boolean, bitstring, hexstring, octetstring.

+ +

NOTE 3:   Types of constants, parameters and +variables of the actual scope are always unambiguous and can hence always be +omitted.

+ +

c)          +In-line templates containing instead of values or inside values matching +mechanisms (see clause 15.7) can only be defined in arguments of receiving +communication operations (i.e. receive, trigger, check, getcall, getreply and catch), in arguments of the match +and select case operations, in actual template parameters, at the right hand side +of assignments (when there is a template variable at the left hand side of the +assignment) and in return statements of template +returning functions. In-line templates not containing matching mechanisms can +be defined wherever values are allowed.

+ +

d)          +When used in communication +operations, the type of the in-line template shall be in the port list over +which the template is sent or received. In the case where there is an ambiguity +between the listed type and the type of the value provided (e.g. through +subtyping) then the type name of the in-line template shall be included in the +communication operation.

+ +

e)          +There exist a number of restrictions on the +functions used in expressions when specifying templates or template fields; +these are specified in clause 16.1.4.

+ +

Examples

+ +

    MyPCO.receive(charstring:"abcxyz");

+ +

 

+ +

15.5      Modified templates

+ +

Normally, a template +specifies a set of base or default values or matching symbols for each and +every field defined in the appropriate type or signature definition. In cases +where small changes are needed to specify a new template, it is possible to +specify a modified template. A modified template specifies modifications to +particular fields of the original template, either directly or indirectly. As +well as creating explicitly named modified templates, TTCN‑3 allows the definition of in-line modified templates.

+ +

Syntactical Structure

+ +

Global or +local modified template:

+ +

template [restriction] Type +TemplateIdentifier  ["(" TemplateFormalParList +")"]

+ +

modifies TemplateRef +":=" TemplateBody

+ +

 

+ +

NOTE:      The optional restriction part is +covered by clause 15.8.

+ +

In-line modified template:

+ +

[ Type ":" ] modifies +TemplateRefWithParList ":=" TemplateBody

+ +

 

+ +

Semantic Description

+ +

The modifies keyword denotes the parent template from which +the new, or modified template shall be derived. This parent template may be +either an original template or a modified template.

+ +

The modifications occur +in a linked fashion eventually tracing back to the original template. If a +template field and its corresponding value or matching symbol is specified in +the modified template, then the specified value or matching symbol replaces the +one specified in the parent template. If a template field and its corresponding +value or matching symbol is not specified in the modified template, then the +value or matching symbol in the parent template shall be used. When the field +to be modified is nested within a template field which is a structured field +itself, no other field of the structured field is changed apart from the +explicitly denoted one(s).

+ +

When individual values of a modified +template or a modified template field of record of type wished to be changed, and only in these cases, the value +assignment notation may also be used, where the left hand side of the +assignment is the index of the element to be altered.

+ +

Formal value or template parameters of +modified templates inherit the default value or respectively template of the +corresponding parameter of their parent templates only, if this is denoted by +the dash (don't change) symbol at the place of the parameters' default value or +respectively template.

+ +

Modified templates may also be restricted. +Template restrictions are specified in clause 15.8.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +A modified +template shall not refer to itself, either directly or +indirectly, i.e. recursive derivation is +not allowed.

+ +

b)          +If a base template has a formal parameter list, +the following rules apply to all modified templates derived from that base +template, whether or not they are derived in one or several modification steps:

+ +

1)      the derived template shall not omit +parameters defined at any of the modification steps between the base template +and the actual modified template;

+ +

2)      a derived template can have additional +(appended) parameters if wished;

+ +

3)      if the dash (don't change) symbol is used +at the place of a default value or default template, the corresponding +parameter of the parent template shall have a valid default value or default +template, either assigned directly or inherited. If not, this shall cause an +error.

+ +

c)          +Restrictions on referencing elements of +templates or template fields are described in clause 15.6: for modified +templates the rules for the left hand side of assignments apply.

+ +

d)          +Limitations on template restrictions described +in clause 15.8 shall apply.

+ +

Examples

+ +

EXAMPLE +1:

+ +

    // +Given

+ +

    type +record MyRecordType

+ +

    {  

+ +

       integer +field1 optional,

+ +

       charstring +field2,

+ +

       boolean field3

+ +

    }

+ +

    template MyRecordType MyTemplate1 :=

+ +

    {  

+ +

       field1 := 123,

+ +

       field2 := "A string",

+ +

       field3 := true

+ +

    }

+ +

    // then writing

+ +

    template MyRecordType MyTemplate2 modifies MyTemplate1 :=

+ +

    {  

+ +

       field1 := omit,                  // +field1 is optional but present in MyTemplate1

+ +

       field2 := "A modified +string"

+ +

                                     // +field3 is unchanged

+ +

    }

+ +

    // is the same as writing

+ +

    template MyRecordType MyTemplate2 :=

+ +

    {  

+ +

       field1 := omit,

+ +

       field2 := "A modified string",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Modified record of template

+ +

    template MyRecordOfType MyBaseTemplate := { 0, 1, 2, 3, +4, 5, 6, 7, 8, 9 };

+ +

    template MyRecordOfType MyModifTemplate modifies +MyBaseTemplate := { [2] := 3, [3] := 2 };
+    // MyModifTemplate shall match the sequence of values { 0, 1, 3, 2, 4, 5, +6, 7, 8, 9 }

+ +

 

+ +

EXAMPLE +3:      Modified in-line template

+ +

    // Given

+ +

    template MyMessageType Setup :=

+ +

    {   field1 := 75,

+ +

       field2 := "abc",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // Could be used to define an in-line +modified template of Setup

+ +

    pco1.send (modifies +Setup := {field1:= 76});

+ +

 

+ +

EXAMPLE +4:      Modified parameterized template

+ +

    // +Given

+ +

    template MyRecordType MyTemplate1(integer MyPar):=

+ +

    {  

+ +

       field1 := MyPar,

+ +

       field2 := "A string",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // then a modification could be

+ +

       template MyRecordType MyTemplate2(integer MyPar) modifies +MyTemplate1 :=

+ +

    {   // field1 is parameterized in +Template1 and remains also parameterized in Template2

+ +

       field2 := "A modified +string"

+ +

    }

+ +

 

+ +

EXAMPLE +5:      Default values of modified parameterized templates

+ +

    // +Given

+ +

    template MyRecordType MyTemplate11 (integer p_int := 5 ):= {

+ +

      // +p_int has the default value 5

+ +

       field1 := p_int,

+ +

       field2 := "A string",

+ +

       field3 := true

+ +

    }

+ +

 

+ +

    // then possible template +modifications are

+ +

    template MyRecordType MyTemplate12(integer p_int) modifies +MyTemplate11 := {

+ +

      // p_int had a default value in +MyTemplate11 but has none in this template

+ +

      field2 := "B string"

+ +

    }

+ +

 

+ +

    template MyRecordType MyTemplate13(integer p_int := 0) modifies +MyTemplate12 := {

+ +

      // p_int +has the default value 0

+ +

      // +no change is made to the template's content, but only to the default value of +p_int

+ +

    }

+ +

 

+ +

    template MyRecordType MyTemplate14(integer p_int := - ) modifies +MyTemplate13 := {

+ +

      // +p_int inherits the default value 0 from its parent MyTemplate13

+ +

      field2 := "C string"

+ +

    }

+ +

 

+ +

    template MyRecordType MyTemplate15(integer p_int := - ) modifies +MyTemplate14 := {

+ +

      // +p_int inherits the default value 0 from MyTemplate13 via MyTemplate14

+ +

      field2 := "D string"

+ +

    }

+ +

 

+ +

    template MyRecordType MyTemplate16(integer p_int) modifies +MyTemplate15 := {

+ +

      // +p_int has no default value

+ +

    }

+ +

 

+ +

    template MyRecordType MyTemplate17(integer p_int := - ) modifies +MyTemplate16 := {

+ +

      // +causes an error as p_int has no default value in the parent template +MyTemplate16

+ +

      field2 := "E string"

+ +

    }

+ +

 

+ +

15.6      Referencing elements of templates or template fields

+ +

This clause +defines rules and restrictions when referencing elements of templates or +template fields.

+ +

15.6.1    Referencing individual +string elements

+ +

It is not allowed to reference individual +string elements inside templates or template fields. Instead, the substr function (see clause C.34) shall be used.

+ +

EXAMPLE:

+ +

    var template charstring +t_Char1 := "MYCHAR";

+ +

    var template charstring t_Char2;

+ +

 

+ +

    t_Char2 := t_Char1[1];

+ +

    // shall cause an error as referencing individual string +elements is not allowed

+ +

 

+ +

15.6.2    Referencing record and set fields

+ +

Both templates and template variables allow +referencing sub-fields inside a template definition using the dot notation. +However, the referenced field may be a subfield of a structured field to which +a matching mechanism is assigned. This clause provides rules for such cases.

+ +

a)       Omit, +AnyValueOrNone, value lists and complemented lists: referencing a subfield +within a structured field to which Omit, AnyValueOrNone, a value list or a +complemented list is assigned, at the right hand side of an assignment, shall +cause an error.
+When referencing a subfield within a structured field to which AnyValueOrNone +or omit is assigned, at the left hand side of an assignment, the structured +field is implicitly set to be present, it is expanded recursively up to and +including the depth of the referenced subfield. During this expansion an +AnyValue shall be assigned to mandatory subfields and AnyValueOrNone shall be +assigned to optional subfields. After this expansion the value or matching +mechanism at the right hand side of the assignment shall be assigned to the +referenced subfield.
+When referencing a subfield within a structured field to which value lists or +complemented value lists are assigned, at the left hand side of an assignment, +shall cause an error.

+ +

EXAMPLE 1:

+ +

    type record R1 {

+ +

       integer f1 optional,

+ +

       R2      f2 optional

+ +

    }

+ +

    type record R2 {

+ +

       integer g1,

+ +

       R2      g2 optional

+ +

    }

+ +

   

+ +

    :

+ +

    var template R1 t_R1 := {

+ +

       f1 := 5,

+ +

       f2 := omit

+ +

    }

+ +

    var template R2 t_R2 := +t_R1.f2.g2;

+ +

       // causes an error as omit +is assigned to t_R1.f2

+ +

    t_R1. f2 := *;

+ +

    t_R2 := t_R1.f2.g2;

+ +

       // causes an error as * +is assigned to t_R1.f2

+ +

 

+ +

    t_R1 := ({f1:=omit, f2:={g1:=0, g2:=omit}},{f1:=5, +f2:={g1:=1, g2:={g1:=2, g2:=omit}}});

+ +

 

+ +

    t_R2 := t_R1.f2;

+ +

    t_R2 := t_R1.f2.g2;

+ +

    t_R2 := t_R1.f2.g2.g2;

+ +

       // all these assignments cause error as a value list is +assigned to t_R1

+ +

 

+ +

    t_R1 :=

+ +

       complement({f1:=omit, f2:={g1:=0, g2:=omit}},{f1:=5, +f2:={g1:=1, g2:={g1:=2, g2:=omit}}});

+ +

 

+ +

    t_R2 := t_R1.f2;

+ +

    t_R2 := t_R1.f2.g2;

+ +

    t_R2 := t_R1.f2.g2.g2;

+ +

       // all these assignments cause errors as a complemented list +is assigned to t_R1

+ +

 

+ +

b)      AnyValue: when referencing a subfield +within a structured field to which AnyValue is assigned, at the right hand side +of an assignment, AnyValue shall be returned for mandatory subfields and +AnyValueOrNone shall be returned for optional subfields.
+When referencing a subfield within a structured field to which AnyValue is +assigned, at the left hand side of an assignment, the structured field is +implicitly expanded recursively up to and including, the depth of the +referenced subfield. During this expansion an AnyValue shall be assigned to +mandatory subfields and AnyValueOrNone shall be assigned to optional subfields. +After this expansion the value or matching mechanism at the right hand side of +the assignment shall be assigned to the referenced subfield.

+ +

EXAMPLE 2:

+ +

    t_R1 := {f1:=0, f2:=?}

+ +

    t_R2 := t_R1.f2.g2;

+ +

       // after the assignment t_R2 +will be {g1:=?, g2:=*}

+ +

    t_R1.f2.g2.g2 := ({g1:=1, g2:=omit},{g1:=2, g2:=omit});

+ +

       // first the field t_R1.f2 has hypothetically be expanded to +{g1:=?,g2:={g1:=?,g2:=*}}
+       // thus after the assignment t_R1 will be:
+       //   {f1:=0, f2:={g1:=?,g2:={g1:=?,g2:=({g1:=1, g2:=omit},{g1:=2, +g2:=omit})}}}

+ +

 

+ +

c)      Ifpresent +attribute: referencing a subfield within a structured field to which the +ifpresent attribute is attached, shall cause an error (irrespective of the +value or the matching mechanism to which ifpresent is +appended).

+ +

15.6.3    Referencing record +of and set of elements

+ +

Both templates and template variables allow +referencing elements of a record +of or set of template or field using the +index notation. However, a matching mechanism may be assigned to the template +or field within which the element is referenced. This clause provides rules on +handling such cases.

+ +

a)          +Omit, AnyValueOrNone, value lists, complemented +lists, subset and superset: referencing an element within a record of or set of +field to which Omit, AnyValueOrNone with or without a length attribute, a value +list, a complemented list, a subset or a superset is assigned, shall cause an +error.

+ +

EXAMPLE 1:

+ +

    type record of integer +RoI;

+ +

    :

+ +

    var template RoI t_RoI;

+ +

    var template integer t_Int;

+ +

    t_RoI := ({},{0},{0,0},{0,0,0});

+ +

    t_Int := t_RoI[0];                // shall cause an error as +value list is assigned to t_RoI
+
+

+ +

b)          +AnyValue: when referencing an element of a record of or set +of template or field to which AnyValue is assigned +(without a length attribute), at the right hand side of an assignment, AnyValue +shall be returned. If a length attribute is attached to the AnyValue , the +index of the reference shall not violate the length attribute.
+When referencing an element within a
record of or set of +template or field to which AnyValue is assigned (without a length attribute), +at the left hand side of an assignment, the value or matching mechanism at the +right hand side of the assignment shall be assigned to the referenced element, +AnyElement shall be assigned to all elements before the referenced one (if any) +and a single AnyElementsOrNone shall be added at the end. When a length +attribute is attached to AnyValue, the attribute shall be conveyed to the new +template or field transparently. The index shall not violate type restrictions +in any of the above cases.

+ +

EXAMPLE 2:

+ +

    type record of integer +RoI;

+ +

    type record of RoI +RoRoI;

+ +

   

+ +

    :

+ +

    var template RoI t_RoI;

+ +

    var template RoRoI +t_RoRoI;

+ +

    var template integer +t_Int;

+ +

    :

+ +

    t_RoI := ?;

+ +

    t_Int := t_RoI[5];

+ +

       // after the assignment t_Int +will be AnyValue(?);

+ +

 

+ +

    t_RoRoI := ?;

+ +

    t_RoI := t_RoRoI[5];

+ +

       // after the assignment t_RoI will be AnyValue(?);

+ +

    t_Int := t_RoRoI[5].[3];

+ +

       // after the assignment t_Int will be AnyValue(?);

+ +

 

+ +

    t_RoI := ? length (2..5);

+ +

    t_Int := t_RoI[3];

+ +

       // after the assignment t_Int will be AnyValue(?);

+ +

    t_Int := t_RoI[5];

+ +

       // shall cause an error as the referenced index is outside +the length attribute
+       // (note that index 5 would refer to the 6th element);

+ +

 

+ +

    t_RoRoI[2] := {0,0};

+ +

       // after the assignment t_RoRoI will be {?,?,{0,0},*};

+ +

    t_RoRoI[4] := {1,1};

+ +

       // after the assignment t_RoRoI will be +{?,?,{0,0},?,{1,1},*};

+ +

    t_RoI[0] := -5;

+ +

       // after the assignment t_RoI will be {-5,*} length(2..5);

+ +

    t_RoI := ? length (2..5);

+ +

    t_RoI[1] := 1;

+ +

       // after the assignment t_RoI will be {?,1,*} length(2..5);

+ +

    t_RoI[3] := ?

+ +

       // after the assignment t_RoI will be {?,1,?,?,*} length(2..5);

+ +

    t_RoI[5] := 5

+ +

       // after the assignment t_RoI will be {?,1,?,?,?,5,*} length(2..5); +note that t_RoI

+ +

       // becomes an empty set but that shall cause no error;

+ +

 

+ +

c)          +Permutation: when referencing an element of a record of template or field, which is located inside a permutation (based on +its index), this shall cause an error. Indexes of elements sheltered by a +permutation shall be determined based on the number of permutation elements. +AnyValueOrNone as a permutation element causes that the permutation shelters +all record of element indexes.

+ +

EXAMPLE 3:

+ +

    t_RoI := {permutation(0,1,3,?),2,?}

+ +

    t_Int := t_RoI[5];

+ +

       // after the assignment t_Int will be AnyValue(?)

+ +

 

+ +

    t_RoI := {permutation(0,1,3,?),2,*}

+ +

    t_Int := t_RoI[5];

+ +

       // after the assignment t_Int will be * (AnyValueOrNone)

+ +

    t_Int := t_RoI[2];

+ +

       // causes error as the third element (with index 2) is +inside permutation

+ +

 

+ +

    t_RoI := {permutation(0,1,3,*),2,?}

+ +

    t_Int := t_RoI[5];

+ +

       // causes error as the permutation contains +AnyValueOrNone(*) that is able to

+ +

       // cover any record of indexes

+ +

 

+ +

d)      Ifpresent +attribute: referencing an element within a record of or set of +field to which the ifpresent attribute is attached, shall cause an error (irrespective of the +value or the matching mechanism to which ifpresent is +appended).

+ +

15.6.4    Referencing signature +parameters

+ +

While signature templates do not allow referencing +their parameters directly (e.g. using dot notation), such a reference is +possible when modifying a signature template. However, there can be a matching +mechanism assigned to the signature template. This clause provides rules for +such cases.

+ +

a)      Value lists and complemented lists: +referencing a parameter of a signature template to which a value list or a +complemented list is assigned, at the left hand side of an assignment, shall +cause an error.

+ +

EXAMPLE 1:

+ +

signature MySignature(in integer +par1, in integer par2);
+template MySignature t_mySign1 := ({ par1 := 1, par2 := 2 }, { par1 := +2, par2 := 1 });
+template MySignature t_mySign2 modifies t_mySign1 := { par1 := ? +};

+ +

// shall cause an error as t_mySign1 +contains a value list template

+ +

 

+ +

b)      AnyValue: +when referencing a parameter within a signature to which AnyValue is assigned, +at the left hand side of an assignment, the signature template is implicitly +expanded to the parameter level. During this expansion an AnyValue shall be +assigned to all parameters of the template. After this expansion the value or +matching mechanism at the right hand side of the assignment shall be assigned +to the referenced parameter.

+ +

EXAMPLE 2:

+ +

template MySignature t_mySign3 := +?;
+template MySignature t_mySign4 modifies t_mySign3 := { par1 := 3 +};
+// t_mySign3 is expanded to { par1 := ?, par2 := ? }, then 3 is assigned to +par1,
+// thus t_mySign4 will be { par1 := 3, par2 := ? }

+ +

 

+ +

15.7      Template matching mechanisms

+ +

Generally, matching mechanisms are used to replace values +of single template fields or to replace even the entire contents of a template. +Matching mechanisms may also be used in-line (see clause 15.4).

+ +

Matching +mechanisms are arranged in four groups:

+ +

·            +specific values;

+ +

·            +special symbols that can be used instead +of values;

+ +

·            +special symbols that can be used inside +values;

+ +

·            +special symbols which describe attributes +of values;

+ +

Some of the mechanisms +may be used in combination.

+ +

The supported matching +mechanisms and their associated symbols (if any) and the scope of their +application are shown in table 11. The left-hand column of this table lists all +the TTCN‑3 types to +which these matching mechanisms apply.
+A full description of each matching mechanism can be found in annex B.

+ +

Table 11: TTCN‑3 Matching Mechanisms

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Used with values of

+
+

Value

+
+

Instead of values

+
+

Inside values

+
+

Attributes

+

 

+

 

+
+

S

+

p

+

e

+

c

+

i

+

f

+

i

+

c

+

V

+

a

+

l

+

u

+

e

+
+

O

+

m

+

i

+

t

+
+

C

+

o

+

m

+

p

+

l

+

e

+

m

+

e

+

n

+

t

+

e

+

d

+

L

+

I

+

s

+

t

+
+

V

+

a

+

l

+

u

+

e

+

L

+

I

+

S

+

t

+
+

A

+

n

+

y

+

V

+

a

+

l

+

u

+

e

+

(?)

+
+

A

+

n

+

y

+

V

+

a

+

l

+

u

+

e

+

O

+

r

+

N

+

o

+

n

+

e

+

(*)

+
+

R

+

a

+

n

+

g

+

e

+
+

S

+

u

+

p

+

e

+

r

+

s

+

e

+

t

+
+

S

+

u

+

b

+

s

+

e

+

t

+

 

+
+

P

+

a

+

t

+

t

+

e

+

r

+

n

+
+

A

+

n

+

y

+

E

+

l

+

e

+

m

+

e

+

n

+

t

+

(?)

+
+

A

+

n

+

y

+

E

+

l

+

e

+

m

+

e

+

n

+

t

+

s

+

O

+

r

+

N

+

o

+

n

+

e

+

(*)

+
+

P

+

e

+

r

+

m

+

u

+

t

+

a

+

t

+

i

+

o

+

n

+

 

+
+

L

+

e

+

n

+

g

+

t

+

h

+

R

+

e

+

s

+

t

+

r

+

i

+

c

+

t

+

i

+

o

+

n

+
+

I

+

f

+

P

+

r

+

e

+

s

+

e

+

n

+

t

+
+

boolean

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

integer

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

float

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

bitstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes1

+
+

octetstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes1

+
+

hexstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes1

+
+

character + strings

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

 

+
+

 

+
+

Yes

+
+

Yes2

+
+

Yes2

+
+

 

+
+

Yes

+
+

Yes1

+
+

record

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

record + of

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

array

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes1

+
+

set

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

set of

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes

+
+

 

+
+

Yes

+
+

Yes1

+
+

enumerated

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

union

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

anytype

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

Yes1

+
+

NOTE 1:    Can be assigned to templates, + however when used shall be applied to optional fields of record and set types + only (without restriction on the type of that field).

+

NOTE 2:    Have matching mechanism meaning + within character patterns only.

+
+ +
+ +

 

+ +

15.7.1    Specific values

+ +

Specific values are the basic matching +mechanism of TTCN-3 templates. Specific values in templates are expressions +which do not contain any matching mechanisms.

+ +

Syntactical Structure

+ +

SingleExpression

+ +

 

+ +

Semantic +Description

+ +

The matching +mechanism for a specific value is an expression that evaluates to a specific +value.

+ +

For further details please refer to clause +6 and to annex B.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +See the restrictions given in table 11 and in annex B.

+ +

Examples

+ +

    MyPCO.receive(charstring:"abcxyz");

+ +

    MyPCO.receive('AAAA'O);

+ +

 

+ +

15.7.2    Special symbols that can +be used instead of values

+ +

These matching mechanisms can be used to +characterize a set of values.

+ +

Syntactical Structure

+ +

omit |

+ +

"(" { TemplateInstance [","] +} ")" |

+ +

complement "(" { TemplateInstance +[","] } ")" |

+ +

"?" |

+ +

"    *" |

+ +

"(" ( ConstantExpression | +-infinity ) ".." ( ConstantExpression | infinity +) ")" |

+ +

superset "(" { ConstantExpression +[","] } ")" |

+ +

subset "(" { ConstantExpression +[","] } ")" |

+ +

pattern Cstring

+ +

 

+ +

Semantic Description

+ +

The matching mechanisms for special symbols +that can be used instead of values are:

+ +

·            +omit: the +optional field, in which it is used, is not present;

+ +

·            +(…): a list of +values or templates;

+ +

·            +complement (…): +complement of a list of values or templates;

+ +

·            +?: wildcard for +any value;

+ +

·            +*: wildcard for +any value or no value at all, i.e. the field is not present;

+ +

·            +(lowerBound .. upperBound): a range of integer or float values +between and including the lower- and upper bounds;

+ +

·            +superset: at +least all of the elements listed, i.e. possibly more;

+ +

·            +subset: at most +the elements listed, i.e. possibly less;

+ +

·            +pattern: a +charstring or universal charstring that matches this format.

+ +

For further details please refer to annex B.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +See the restrictions given in table 11 and in annex B.

+ +

Examples

+ +

    MyPCO.receive (integer:complement(1, 2, +3));

+ +

 

+ +

15.7.3    Special symbols that can +be used inside values

+ +

These +matching mechanisms allow to characterize value sets by varying values inside.

+ +

Syntactical +Structure

+ +

…    "?"… |

+ +

…    "*"… |

+ +

…    permutation "(" { +( TemplateBody | "?" | "*" )[","] } +")"…

+ +

 

+ +

Semantic +Description

+ +

The matching +mechanisms for special symbols that can be used inside values are:

+ +

·            +?: wildcard for +any single element in a string, array, record of or set +of;

+ +

·            +*: wildcard for +any number of consecutive elements in a string, array, record of or set of, +or no element at all (i.e. an omitted element);

+ +

·            +permutation: all +of the elements listed but in an arbitrary order (note, that ? and * are also +allowed as elements of the permutation list).

+ +

For further details please refer to annex B.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +See the restrictions given in table 11 and in annex B.

+ +

Examples

+ +

    template bitstring b := '10???'B;       // where +each "?" may either be 0 or 1

+ +

    type record of integer RI;

+ +

    template RI ri := {1, ?, 3}             // where ? may +be any integer value

+ +

 

+ +

15.7.4    Special symbols which +describe attributes of values

+ +

These matching mechanisms define properties +of values.

+ +

Syntactical Structure

+ +

length "(" ConstantExpression +[ ".." ( ConstantExpression | infinity ) ] +")" [ ifpresent ] |

+ +

ifpresent

+ +

 

+ +

Semantic Description

+ +

The matching mechanisms which describe attributes +of values are:

+ +

·            +length: restrictions +for string length of string types and the number of +elements for record +of, set of and arrays;

+ +

·            +ifpresent: for +matching of optional field values (if not omitted).

+ +

For further details please refer to annex B.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +See the restrictions given in table 11 and in +annex B.

+ +

Examples

+ +

    type record R {

+ +

       record of integer ri optional

+ +

    }

+ +

    template R r:=

+ +

    {  

+ +

       ri := * length (1 .. 6) ifpresent        // +any value containing 1, 2, 3, 4, 

+ +

                                        // 5 or 6 elements, +provided it is present

+ +

    }

+ +

 

+ +

15.8      Template Restrictions

+ +

Template +restrictions allow to restrict the matching mechanisms that can be used with a +template. Template restrictions are applicable to template definitions and +template variables, formal template parameters, and return template types of +functions. Template restrictions can be applied equally to message and +signature templates.

+ +

Syntactical +Structure

+ +

template "(" ( omit | present +| value ) ")" Type

+ +

 

+ +

 

+ +

Semantic +Description

+ +

The restrictions mean in case of:

+ +

·            +(omit) the template shall resolve to a value matching mechanism (i.e. the +fields of it shall resolve to a specific value or omit, and the whole template +may also resolve to omit). Such a template can be used to define a field of a +record and set template and the latter one could still be used in a send +statement.

+ +

·            +(value) the template shall resolve to a specific value (i.e. the fields of +it shall resolve to a specific value or omit, but the whole template shall not +resolve to omit). It can be used to define a mandatory field of a record or set +template and the latter one could still be used in a send +statement.

+ +

·            +(present) the template as a whole shall not resolve to matching mechanisms +that match omit (i.e. its fields may contain any of the matching mechanisms or +matching attributes). Such a template can be used to define a mandatory field +of a record or set template.

+ +

NOTE:      Template restrictions allow TTCN-3 +tools to check more easily at compile time whether templates and matching +expressions are used correctly. Whether the checks are performed at compile +time and invalid code is rejected or whether the checks are performed at +execution time and dynamic errors are raised, is outside the scope of the +present document.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Matching mechanisms can be used within +restricted templates according to table 12.

+ +

Table 12: Using matching +mechanisms with restricted templates

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Used with template restriction

+
+

Value

+
+

Instead of values

+
+

Inside values

+
+

Attributes

+

 

+

 

+
+

S

+

p

+

e

+

c

+

i

+

f

+

i

+

c

+

V

+

a

+

l

+

u

+

e

+
+

O

+

m

+

i

+

t

+

V

+

a

+

l

+

u

+

e

+
+

C

+

o

+

m

+

p

+

l

+

e

+

m

+

e

+

n

+

t

+

e

+

d

+

L

+

I

+

s

+

t

+
+

V

+

a

+

l

+

u

+

e

+

L

+

I

+

S

+

t

+
+

A

+

n

+

y

+

V

+

a

+

l

+

u

+

e

+

(?)

+
+

A

+

n

+

y

+

V

+

a

+

l

+

u

+

e

+

O

+

r

+

N

+

o

+

n

+

e

+

(*)

+
+

R

+

a

+

n

+

g

+

e

+
+

S

+

u

+

p

+

e

+

r

+

s

+

e

+

t

+
+

S

+

u

+

b

+

s

+

e

+

t

+

 

+
+

P

+

a

+

t

+

t

+

e

+

r

+

n

+
+

A

+

n

+

y

+

E

+

l

+

e

+

m

+

e

+

n

+

t

+

(?)

+
+

A

+

n

+

y

+

E

+

l

+

e

+

m

+

e

+

n

+

t

+

s

+

O

+

r

+

N

+

o

+

n

+

e

+

(*)

+
+

P

+

e

+

r

+

m

+

u

+

t

+

a

+

t

+

i

+

o

+

n

+

 

+
+

L

+

e

+

n

+

g

+

t

+

h

+

R

+

e

+

s

+

t

+

r

+

i

+

c

+

t

+

i

+

o

+

n

+
+

I

+

f

+

P

+

r

+

e

+

s

+

e

+

n

+

t

+
+

omit

+
+

Yes

+
+

Yes

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

value

+
+

Yes

+
+

Note

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

 

+
+

present

+
+

Yes

+
+

Note

+
+

 

+
+

Yes

+
+

Yes

+
+

Note

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Note

+
+

NOTE:       It is allowed to use the matching + mechanism in fields of the template, but the template as a whole shall not + resolve to this matching mechanism.

+
+ +
+ +

 

+ +

b)          +Restricted and unrestricted templates can be +used as actual parameters of formal template parameters or assigned to template +variables according to table 13.

+ +

Table 13: Restrictions of +formal and actual template parameters

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

 

+
+

Actual parameter/right hand side of an + expression

+
+

value

+
+

template (omit)

+
+

template (value)

+
+

template (present)

+
+

template

+
+

Formal parameter/­left hand side of an + expression

+
+

 

+
+

template(omit)

+
+

Yes

+
+

Yes

+
+

Yes

+
+

(see note)

+
+

(see note)

+
+

template(value)

+
+

Yes

+
+

(see note)

+
+

Yes

+
+

(see note)

+
+

(see note)

+
+

template(present)

+
+

Yes

+
+

(see note)

+
+

Yes

+
+

Yes

+
+

(see note)

+
+

template

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

NOTE:       These restrictions are related to + the content of the actual parameter or right hand side expression and not to + the definition of the entities used. Which cases are checked at compile time + and which ones at runtime is a tool implementation issue.

+
+ +
+ +

 

+ +

c)          +A restricted, modified template has to have the +same or more restrictive restriction as the base template. A restricted +parameter of a modified template has to have the same or a more restrictive +restriction as the corresponding parameter of the base template. The allowed +restrictions are listed in table 14.

+ +

Table 14: Restricting modified templates

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+

Restriction in base template

+
+

Allowed restrictions in modified template

+
+

template

+
+

template, template(present), template(omit), + template(value)

+
+

template(present)

+
+

template(present), template(value)

+
+

template(omit)

+
+

template(omit), template(value)

+
+

template(value)

+
+

template(value)

+
+ +
+ +

 

+ +

Examples

+ +

    // definitions of restricted templates

+ +

    type record ExampleType {

+ +

       integer a,

+ +

       boolean b optional

+ +

    }
+
+

+ +

    template(omit) ExampleType exampleOmit := omit;

+ +

    template(omit) ExampleType exampleOmitValue:= { +1, true };
+    template(omit) ExampleType exampleOmitAny := ?;           +// incorrect
+
+    template(value) ExampleType exampleValueomit := omit;     +// incorrect
+    template(value) ExampleType exampleValue := { 1, true +};
+    template(value) ExampleType exampleValueOptional := { 1, omit +};

+ +

                                                              // +omit assigned to a field is correct
+
+    template(present) ExampleType examplePresent := {1, ?};

+ +

    template(present) ExampleType +examplePresentIfpresent := { 1, true } ifpresent;

+ +

                                                              // +incorrect

+ +

    template(present) ExampleType examplePresentAny +:= ?;
+
+

+ +


+    // restricted template usage
+    var template ExampleType (omit) +v_omit;
+    var template ExampleType +(present) v_present;
+    var template ExampleType +(value) v_value;

+ +

 

+ +

    v_omit := exampleOmit;
+    v_omit := exampleValueOptional;
+    v_omit := examplePresentAny;     // incorrect, not a specific value
+
+    v_present := exampleOmit;        // incorrect, must not be omit
+    v_present := examplePresent;
+
+    v_value := exampleOmit;          // incorrect, must not be omit
+    v_value := examplePresentAny;    // incorrect, must be a single value

+ +

 

+ +

    // template modification

+ +

    template (present) +ExampleType exampleBase( template (omit) boolean p) := { +?, p };

+ +

   

+ +

    //correct, template and its +parameter are more restrictive

+ +

    template (value) +ExampleType exampleModified( template (value) boolean p)

+ +

       modifies exampleBase +:= { a := 1 };

+ +

    //incorrect, modified template +is less restrictive

+ +

    template ExampleType +exampleModified( template (value) boolean p)

+ +

       modifies exampleBase +:= { a := 1 };

+ +

    //incorrect, parameter of +modified template is less restrictive

+ +

    template (present) +ExampleType exampleModified( template (present) boolean p) +

+ +

       modifies exampleBase +:= { a := 1 };

+ +

 

+ +

15.9      Match Operation

+ +

The match +operation allows to compare a value (specified in form of an expression) with a +template.

+ +

Syntactical Structure

+ +

match "(" Expression +"," TemplateInstance ")"

+ +

 

+ +

Semantic +Description

+ +

The match operation +returns a boolean value. If the types of the template and the value (specified +in form of an expression) are not compatible (see clause 6.3) the operation returns false. +If the types are compatible, the return value of the match +operation indicates whether the value matches the specified template.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The expression-parameter of the match +operation shall not evaluate to a template, i.e. the match +operation cannot be used to compare two templates.

+ +

Examples

+ +

    template integer +LessThan10 := (-infinity..9);

+ +

    :

+ +

    MyPort.receive(integer:?) +-> value RxValue;

+ +

    if( match( RxValue, LessThan10)) { … }

+ +

    // true if the actual value of Rxvalue is less than 10 and +false otherwise

+ +

    :

+ +

   

+ +

15.10    Valueof Operation

+ +

The valueof operation allows to return the value specified +within a template. The returned value can be assigned to a variable, may be +used in expressions, as an actual value parameter, etc.

+ +

Syntactical Structure

+ +

valueof "(" TemplateInstance +")"

+ +

 

+ +

Semantic Description

+ +

The valueof operation returns the value of a template +instance.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The template shall be +completely initialized and resolve to a specific value.

+ +

Examples

+ +

EXAMPLE 1:

+ +

    type record ExampleType

+ +

    {

+ +

       integer field1,

+ +

       boolean field2

+ +

    }

+ +

 

+ +

    template ExampleType SetupTemplate :=

+ +

    {

+ +

       field1 := 1,

+ +

       field2 := true

+ +

    }

+ +

   

+ +

    :

+ +

    var ExampleType RxValue := valueof(SetupTemplate);

+ +

 

+ +

EXAMPLE 2:

+ +

    function MyFunc() {
+      var template integer vt_int := omit;

+ +

      //is ok, but to be used for optional record or set fields +only

+ +

      var integer v_int := valueof(vt_int)

+ +

      //causes an error as omit is not a value and shall not be an +argument of valueof
+      :
+    }

+ +

 

+ +

15.11    Concatenating templates of +string and list types

+ +

Templates of string and list types +(bitstring, octetstring, hexstring, charstring, universal charstring, record +of, set of, and array) can be concatenated from several single (inline) +templates using the concatenation operation. Each single template shall have +the same root type. The single templates of binary string and list types shall +contain only the matching mechanisms specific values, AnyValue or AnyValueOrNone +constrained to a fixed length, AnyElement, or AnyElementsOrNone possibly +constrained with a length attribute for list types. The concatenation results +in the sequential concatenation of the single templates from left to right, +with one exception: matching symbols AnyValue, AnyValueOrNone, AnyElement and +AnyElementsOrNone constrained to a fixed length N shall be replaced by N +AnyElement matching symbols before concatenation. The concatenation shall be +performed completely before using the resulting template (e.g. for assignment +or matching) and the result shall be type-compatible with the place of its use.

+ +

NOTE 1:   Inline templates used for the +concatenation need not be valid templates of the result type (e.g. odd number +of hexadecimal digits are allowed in an octetstring template concatenation), +but the resulting template has to be a valid template.

+ +

NOTE 2:   See also concatenation of character +string patterns in clause B.1.5.

+ +

EXAMPLE 1:      Composing templates of string +types

+ +

    template charstring t_Mychar1 := "ABC" & +"DE*" & "F?";

+ +

       // results in the template "ABCDE*F?"

+ +

       // please note that "*" and "?" denote +the characters "*" and "?"

+ +

    template charstring t_Mychar2 := "ABC" & * +length(2) & "EF";

+ +

       // causes an error as for character string types only

+ +

       // specific values are allowed

+ +

 

+ +

    template bitstring t_Mybit := '010'B & '*'B & +'1?1'B;

+ +

       // results in the template '010*1?1'B

+ +

    template octetstring t_Myoct1 := 'ABC'O & 'D*'O +& '?EF'O;

+ +

       // results in the template 'ABCD*?EF'O

+ +

    template octetstring t_Myoct2 := 'ABCD'O & ? length +(2) & 'EF'O;

+ +

       // results in the template 'ABCD??EF'O

+ +

       // (i.e. a 5 octets i.e. 10 hexadecimal digits long value)

+ +

 

+ +

    template octetstring t_Myoct := 'ABCD'O & '?'O & +'?E'O;

+ +

       // causes an error, the resulting template shall be a legal +value

+ +

       // (if composed, 'ABCD??E'O would denote 9 hexadecimal +digits, but the length

+ +

       // should be an even number of digits)

+ +

    template charstring t_MycharWrong := "ABC" +& * length(1..2) & "E?F";

+ +

       // causes an error, the length attribute shall be of fixed +length

+ +

 

+ +

    template hexstring t_MyhexPar (integer N):= ’ABC’H +& ? length(N) & ’E?F’H;

+ +

    function MyFunc() runs on MyCompType {

+ +

      var integer v_int := 3;

+ +

      var template hexstring vt_hstring;

+ +

      :

+ +

      vt_hstring := ’ABC’H & ? length(v_int) & ’E?F’H;

+ +

       //results in the template ’ABC???E?F’H

+ +

      P.receive (t_MyhexPar(4));

+ +

       //actual content of t_MyhexPar is "ABC????E?F"

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Composing templates of list types

+ +

    type record of charstring RecofChar;

+ +

    type set of integer SetofInt;

+ +

 

+ +

    template RecofChar t_MyRecofChar := {"ABC"} +& {"D?", "EF"};

+ +

       // results the template {"ABC", "D", "EF" +}

+ +

    template SetofInt t_MySetofInt := { 1, 2 } & ? length(2) +& { 3, 4 };

+ +

       // results the template {1, 2, ?, ?, 3, 4 }

+ +

    template RecofInt t_MyRecofInt := { 1, 2 } & { * length(2), +3, 4 };

+ +

       // results the template {1, 2, ?, ?, 3, 4 }

+ +

 

+ +

    template RecofChar t_MyRecofCharWrong:= {"ABC"} +& ? length(1..2) & {"EF"};

+ +

       // causes an error, the length attribute shall denote a +fixed length

+ +

 

+ +

    template RecofChar t_MyRecofCharPar (integer N):= +{ "ABC" }, ? * length(N) & { "EF" };

+ +

    function MyFunc() runs on MyCompType{

+ +

      var integer v_int := 3;

+ +

      var template RecofChar vt_recofChar;

+ +

      :

+ +

      vt_recofChar :=  { "ABC" } & ? length(v_int) +& { "EF" };

+ +

       //results the template { "ABC", ?, ?, ?, +"EF" }

+ +

      P.receive ( t_MyRecofCharPar(4) );

+ +

       //actual content of t_MyRecofCharPar is { "ABC", +?, ?, ?, ?, "EF" }

+ +

    }

+ +

 

+ +
+ +

16       Functions, +altsteps and testcases

+ +
+ +

In TTCN‑3, +functions, altsteps and testcases are used to specify and structure test +behaviour, define default behaviour and to structure computation in a module +etc. as described in the following clauses.

+ +

16.1      Functions

+ +

Functions are used in TTCN‑3 to express test behaviour, to +organize test execution or to structure computation in a module, for example, +to calculate a single value, to initialize a set of variables or to check some +condition.

+ +

Syntactical +Structure

+ +

function FunctionIdentifier

+ +

"(" [ { ( FormalValuePar +| FormalTimerPar | FormalTemplatePar | FormalPortPar ) +[","] } ] ")"

+ +

[ runs on ComponentType +]

+ +

[ return [ template ] Type +]

+ +

StatementBlock

+ +

 

+ +

Semantic +Description

+ +

Functions are portions of TTCN-3 behaviour, which perform a specific task and are +relatively independent of the remaining behaviour.

+ +

Functions may return a value or a template. Value return is +denoted by the return keyword +followed by a type expression. Template return is denoted by the return template keywords followed by an optional restriction +and a type expression. Execution of a return statement in the body of the function causes +the function to terminate and to return the result to the location of the call +of the function.

+ +

The behaviour of a function can be defined +by using statements and operations described in clauses 18 to 25 and +clause 26. If a function +uses variables, constants, timers and ports that are declared in a component +type definition, the component type shall be referenced using the runs on +keywords in the function header. The one exception to this rule is if all the +necessary component-wide information is passed in the function as parameters.

+ +

Functions may be +parameterized.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +A function without runs on +clause shall never invoke a function or altstep or activate an altstep as +default with a runs on clause locally.

+ +

b)          +Functions started by using the start +test component operation shall always have a runs on +clause (see clause 22.5) and are considered to be invoked in the component +to be started, i.e. not locally. However, the start test +component operation may be invoked in functions without a runs on +clause.

+ +

NOTE 1:   The restrictions concerning the runs on clause are only related to functions and altsteps and not to test +cases.

+ +

c)          +Functions used in the control part of a TTCN‑3 +module shall have no runs on clause.

+ +

NOTE 2:   Nevertheless, functions used in the +control part are allowed to execute test cases.

+ +

d)          +The rules for formal parameter lists shall be followed as defined in +clause 5.4.

+ +

e)          +For return template statements the restrictions +specified in clause 15 shall +apply.

+ +

f)           +Template return can be +restricted to the matching mechanisms specific value and omit, +see clause 5.4.1.2.

+ +

g)          +A return statement in a value +returning function shall always have a value expression compatible to the type +specified in the function header return clause.

+ +

h)          +A return statement in a template +returning function shall always have a template expression or template instance +compatible to the type specified in the function header return clause. If the return +clause has a template restriction, this restriction must be adhered to by the +returned template.

+ +

i)            +If the function header includes a return +clause the function, when terminating, shall do so by executing a return +statement. The function will cause a test case error if it terminates (i.e. +reaches the end of the function body) without executing a return +statement.

+ +

Examples

+ +

 

+ +

EXAMPLE 1:      Function +with return

+ +

    // Definition of MyFunction which has +no parameters

+ +

    function MyFunction() return +integer

+ +

    {

+ +

 

+ +

       return 7; // returns the integer value 7 when the function +terminates

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Function +with template return

+ +

    // +Definition of functions which may return matching symbols or templates

+ +

    function MyFunction2() return +template integer

+ +

    {

+ +

    :

+ +

       return ?; // returns the matching mechanism AnyValue

+ +

    }

+ +

    function MyFunction3() return +template octetstring

+ +

    {

+ +

    :

+ +

       return 'FF??FF'O; // returns an octetstring with AnyValue inside +it

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Function +with runs on clause

+ +

    function +MyFunction3() runs on MyPTCType {

+ +

                      lo         // +MyFunction3 doesn't return a value, but

+ +

       var +integer MyVar := 5;      // does make use of the port operation

+ +

       PCO1.send(MyVar);         // +send and therefore requires a runs on

+ +

                           // clause to resolve the port identifiers

+ +

    }                            // +by referencing a component type

+ +

 

+ +

EXAMPLE 4:      Parameterized function

+ +

    function MyFunction2(inout +integer MyPar1) {

+ +

                             // +MyFunction2 doesn't return a value

+ +

       MyPar1 := 10 * MyPar1;    // but +changes the value of  MyPar1 which

+ +

    }                         // is +passed in by reference

+ +

 

+ +

EXAMPLE 5:      Function without return statement

+ +

    function MyFunction5(inout +integer MyPar1) return integer {

+ +

       if (MyPar1 > 5) {

+ +

          MyPar1 := 5;

+ +

          return MyPar1;

+ +

        }

+ +

        // in case of MyPar1 <= 5, +MyFunction5 doesn't terminate in a return statement

+ +

        // and will cause a test case +error

+ +

    }

+ +

 

+ +

16.1.1    Invoking functions

+ +

A function is invoked +by referring to its name and providing the actual list of parameters.

+ +

Syntactical Structure

+ +

FunctionRef "(" [ { ActualPar [","] } ] ")"

+ +

 

+ +

Semantic +Description

+ +

A function invocation +results in the execution of the statement block of the invoked function. The +invoked function is performed by the test component invoking it. Actual +parameters are passed into the statement block. If the function returns (upon +termination and potentially with a return value), the test components continues +its behaviour right after the function invocation.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Functions that do not return values shall be +invoked directly. Functions that return values may be invoked directly or +inside expressions.

+ +

b)          +The rules for actual parameter lists shall be +followed as defined in clause 5.4.

+ +

c)          +Special restrictions apply to functions bound to +test components using the start test component operation. These restrictions are described in +clause 21.3.2.

+ +

d)          +When invoking a function, the compatibility to +the test component type of the invoking test component as described in clause 6.3.3 need to be fulfilled.

+ +

e)          +Restrictions on invoking functions from specific +places are described in clause 16.1.4.

+ +

Examples

+ +

    MyVar +:= MyFunction4();   // The value returned by MyFunction4 is assigned to MyVar.

+ +

                          // +The types of the returned value and MyVar have to be compatible

+ +

 

+ +

    MyFunction2(MyVar2);  // +MyFunction2 doesn't return a value and is called with the

+ +

                          // +actual parameter MyVar2, which may be passed in by reference

+ +

 

+ +

    MyVar3 +:= MyFunction6(4) + MyFunction7(MyVar3); // Functions used in expressions

+ +

 

+ +

16.1.2    Predefined functions

+ +

TTCN‑3 contains a number of predefined (built-in) functions that +need not be declared before use. These are summarized in table 15.

+ +

Table 15: +List of TTCN‑3 +predefined functions

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Category

+
+

Function

+
+

Keyword

+
+

Conversion functions

+
+

Convert integer + value to charstring value

+
+

int2char

+
+

Convert integer + value to universal charstring value

+
+

int2unichar

+
+

Convert integer + value to bitstring value

+
+

int2bit

+
+

Convert integer + value to enumeration

+
+

int2enum

+
+

Convert integer + value to hexstring value

+
+

int2hex

+
+

Convert integer + value to octetstring value

+
+

int2oct

+
+

Convert integer + value to charstring value

+
+

int2str

+
+

Convert integer + value to float value

+
+

int2float

+
+

Convert float value + to integer value

+
+

float2int

+
+

Convert charstring + value to integer value

+
+

char2int

+
+

Convert charstring + value to octetstring value

+
+

char2oct

+
+

Convert universal charstring + value to integer value

+
+

unichar2int

+
+

Convert bitstring + value to integer value

+
+

bit2int

+
+

Convert bitstring + value to hexstring value

+
+

bit2hex

+
+

Convert bitstring + value to octetstring value

+
+

bit2oct

+
+

Convert bitstring + value to charstring value

+
+

bit2str

+
+

Convert hexstring + value to integer value

+
+

hex2int

+
+

Convert hexstring + value to bitstring value

+
+

hex2bit

+
+

Convert hexstring + value to octetstring value

+
+

hex2oct

+
+

Convert hexstring + value to charstring value

+
+

hex2str

+
+

Convert octetstring + value to integer value

+
+

oct2int

+
+

Convert octetstring + value to bitstring value

+
+

oct2bit

+
+

Convert octetstring + value to hexstring value

+
+

oct2hex

+
+

Convert octetstring + value to charstring value

+
+

oct2str

+
+

Convert octetstring + value to charstring value, version II

+
+

oct2char

+
+

Convert charstring + value to integer value

+
+

str2int

+
+

Convert charstring + value to hexstring value

+
+

str2hex

+
+

Convert charstring + value to octetstring value

+
+

str2oct

+
+

Convert charstring + value to float value

+
+

str2float

+
+

Convert enumeration to integer + value

+
+

enum2int

+
+

Length/size + functions

+
+

Return the length of a value or template of any string type, record + of, set of or array

+
+

lengthof

+
+

Return the number of elements in a value or a template of a record + or set

+
+

sizeof

+
+

Presence + checking functions

+
+

Determine if an optional field in a record or set value + or template is present

+
+

ispresent

+
+

Determine which choice has been selected in a union value or + template

+
+

ischosen

+
+

Determine if a template evaluates to a concrete value

+
+

isvalue

+
+

String/List + handling functions

+
+

Returns part of the input string matching the specified pattern group + within a character pattern

+
+

regexp

+
+

Returns the specified portion of the input string/list value or + template

+
+

substr

+
+

Replaces a substring of a string with or inserts the input string into + a string, and similarly for lists

+
+

replace

+
+

Codec functions

+
+

Encode a value into a + bitstring

+
+

encvalue

+
+

Decode a bitstring into a + value

+
+

decvalue

+
+

Other functions

+
+

Generate a random float number

+
+

rnd

+
+

Returns the name of the currently executing test case

+
+

testcasename

+
+ +
+ +

Syntactical +Structure

+ +

int2char +"(" SingleExpression ")" |

+ +

int2unichar +"(" SingleExpression ")" |

+ +

int2bit +"(" SingleExpression "," SingleExpression +")" |

+ +

int2enum +"(" SingleExpression "," SingleExpression +")" |

+ +

int2hex +"(" SingleExpression "," SingleExpression +")" |

+ +

int2oct +"(" SingleExpression "," SingleExpression +")" |

+ +

int2str +"(" SingleExpression ")" |

+ +

int2float +"(" SingleExpression ")" |

+ +

float2int +"(" SingleExpression ")" |

+ +

char2int +"(" SingleExpression ")" |

+ +

char2oct +"(" SingleExpression ")" |

+ +

unichar2int +"(" SingleExpression ")" |

+ +

bit2int +"(" SingleExpression ")" |

+ +

bit2hex +"(" SingleExpression ")" |

+ +

bit2oct +"(" SingleExpression ")" |

+ +

bit2str "(" SingleExpression +")" |

+ +

hex2int "(" SingleExpression +")" |

+ +

hex2bit "(" SingleExpression +")" |

+ +

hex2oct "(" SingleExpression +")" |

+ +

hex2str "(" SingleExpression +")" |

+ +

oct2int "(" SingleExpression +")" |

+ +

oct2bit "(" SingleExpression +")" |

+ +

oct2hex "(" SingleExpression +")" |

+ +

oct2str "(" SingleExpression +")" |

+ +

oct2char "(" SingleExpression +")" |

+ +

str2int "(" SingleExpression +")" |

+ +

str2hex "(" SingleExpression +")" |

+ +

str2oct "(" SingleExpression +")" |

+ +

str2float "(" SingleExpression +")" |

+ +

enum2int "(" SingleExpression +")" |

+ +

lengthof "(" TemplateInstance +")" |

+ +

sizeof "(" TemplateInstance +")" |

+ +

ispresent "(" TemplateInstance +")" |

+ +

ischosen "(" TemplateInstance +")" |

+ +

isvalue "(" TemplateInstance +")" |

+ +

regexp "(" TemplateInstance"," +TemplateInstance"," SingleExpression ")" |

+ +

substr "(" TemplateInstance +"," SingleExpression "," SingleExpression +")" |

+ +

replace "(" SingleExpression +"," SingleExpression "," SingleExpression +"," SingleExpression ")" |

+ +

encvalue "(" TemplateInstance +")" |

+ +

decvalue "(" SingleExpression +"," SingleExpression ")" |

+ +

rnd "(" [ SingleExpression +] ")" |

+ +

testcasename "()"

+ +

 

+ +

Semantic Description

+ +

The description of +predefined functions is given in annex C.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +When a predefined function is invoked:

+ +

1)    the +number of the actual parameters shall be the same as the number of the formal +parameters; and

+ +

2)    each +actual parameter shall evaluate to an element of its corresponding formal +parameter's type; and

+ +

3)   all +actual parameters shall be initialized with the exception of the actual +parameter passed to the isvalue predefined function, which may be +uninitialized.

+ +

b)          +Restrictions on invoking functions from specific +places are described in clause 16.1.4.

+ +

Examples

+ +

    var hexstring h:= bit2hex ('111010111'B);

+ +

    var octetstring o:= substr ('01AB23CD'O, 1, 2);

+ +

16.1.3    External functions

+ +

A function +may be defined within a module or be declared as being defined externally (i.e. +external).

+ +

Syntactical +Structure

+ +

external function +ExtFunctionIdentifier

+ +

"(" [ { ( FormalValuePar +| FormalTimerPar | FormalTemplatePar | FormalPortPar ) +[","] } ] ")"

+ +

[ return Type +]

+ +

 

+ +

Semantic +Description

+ +

For an +external function only the function interface has to be provided in the TTCN‑3 +module. The realization of the external function is outside the scope of the +present document.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +External functions are not allowed to contain +port, timer or default handling operations.

+ +

b)          +External functions are not allowed to return +templates.

+ +

c)          +Restrictions on invoking functions from specific +places are described in clause 16.1.4.

+ +

Examples

+ +

    external function MyFunction4() return integer; // +External function without parameters

+ +

                                                   // which returns +an integer value

+ +

 

+ +

    external function InitTestDevices(); // An +external function which only has an

+ +

                                        // effect outside the TTCN‑3 +module

+ +

 

+ +

16.1.4    Invoking functions from +specific places

+ +

Value +returning functions can be called in communication operations (in templates, +template fields, in-line templates, or as actual parameters), in guards of alt +statements or altsteps (see clause 20.2), and in initializations of altstep +local definitions (see clause 16.2). To avoid +side effects that cause changing the state of the component or the actual +snapshot and to prevent different results of subsequent evaluations on an +unchanged snapshot, the following operations shall not be used in functions +called in the cases specified above:

+ +

a)          +All component operations, i.e. create, start (component), +stop (component), kill, running (component), alive, done and killed (see notes 1, 3, 4 and 6).

+ +

b)          +All port operations, i.e. start (port), +stop (port), +halt, clear, send, receive, trigger, call, getcall, reply, getreply, raise, catch, check, +connect, map +(see notes 1, 2, 3 and 6).

+ +

c)          +The action operation (see notes 2 +and 6).

+ +

d)          +All timer operations, i.e. start (timer), stop (timer), running (timer), read, timeout (see notes 4 and 6).

+ +

e)          +Calling external functions (see notes 4 and 6).

+ +

f)           +Calling the rnd predefined +function (see notes 4 and 6).

+ +

g)          +Changing of component variables, i.e. using +component variables on the left-hand side of assignments, and in the +instantiation of out and inout parameters (see notes 4 and 6).

+ +

h)          +Calling the setverdict +operation (see notes 4 and 6).

+ +

i)            +Activation and deactivation of defaults, i.e. +the activate and deactivate statements (see notes 5 and 6).

+ +

j)           +Calling functions with out or +inout parameters (see notes 7 and 8).

+ +

NOTE 1:   The execution of the +operations start, stop, done, killed, halt, clear, receive, trigger, getcall, getreply, catch and check +can cause changes to the current snapshot.

+ +

NOTE 2:   The use of operations send, call, reply, +raise, and action causes an error, i.e. all communication are to be made +explicit and not as a side-effect of another communication operation or the +evaluation of a snapshot.

+ +

NOTE 3:   The use of operations map, unmap, +connect, disconnect, create causes an error, i.e. all configuration operations are to be made +explicit, and not as a side-effect of a communication operation or the +evaluation of a snapshot.

+ +

NOTE 4:   Calling of external functions, rnd, running, alive, read, setverdict, and writing to component variables causes an error because it may +lead to different results of subsequent evaluations of the same snapshot, thus, +e.g. rendering deadlock detection impossible.

+ +

NOTE 5:   The use of operations activate and deactivate causes an error because they modify the set of defaults that is +considered during the evaluation of the current snapshot.

+ +

NOTE 6:   Restrictions except the limitation on +the use of out or inout parameterization apply recursively, i.e. it is disallowed to use +them directly, or via an arbitrary long chain of function invocations.

+ +

NOTE 7:   The restriction of calling functions +with out or inout parameters does not apply recursively, i.e. calling functions that +themselves call functions with out or inout parameters +is legal.

+ +

NOTE 8:   Using out +or inout parameters causes an error because it may lead to different results +of subsequent evaluations of the same snapshot.

+ +

16.2      Altsteps

+ +

TTCN‑3 uses +altsteps to specify default behaviour or to structure the alternatives of an alt statement.

+ +

Syntactical Structure

+ +

altstep AltstepIdentifier

+ +

"(" [ { ( FormalValuePar +| FormalTimerPar | FormalTemplatePar | FormalPortPar ) +[","] } ] ")"

+ +

[ runs on ComponentType +]

+ +

"{"

+ +

     { ( VarInstance | TimerInstance +| ConstDef | TemplateDef ) [";"] }

+ +

     AltGuardList

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

Altsteps are scope +units similar to functions. The altstep body defines an optional set of local +definitions and a set of alternatives, the so-called top alternatives, +that form the altstep body. The syntax rules of the top alternatives are +identical to the syntax rules of the alternatives of alt statements.

+ +

The behaviour of an altstep can be defined +by using the program statements and operations summarized in clause 18. +Altsteps may invoke functions and altsteps or activate altsteps as defaults.

+ +

Altsteps may be +parameterized as defined in clause 5.4.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The local definitions of an altstep shall be +defined before the set of alternatives.

+ +

b)          +The initialization of local definitions by +calling value returning functions may have side effects. To avoid side effects +that cause an inconsistency between the actual snapshot and the state of the +component, and to prevent different results of subsequent evaluations on an +unchanged snapshot, restrictions given in clause 16.1.4 shall apply to the initialization of +local definitions.

+ +

c)          +If an altstep includes port operations or uses +component variables, constants or timers the associated component type shall be +referenced using the runs on keywords in the altstep header. The one exception to this rule is +if all ports, variables, constants and timers used within the altstep are +passed in as parameters.

+ +

d)          +An altstep without a runs on clause +shall never invoke a function or altstep or activate an altstep as default with +a runs on clause locally.

+ +

e)          +An altstep that is activated as a default shall +only have in value or template parameters, port parameters, and timer +parameters. An altstep that is only invoked as an alternative in an alt +statement or as stand-alone statement in a TTCN‑3 behaviour description +may have in, out and inout parameters. The rules for formal parameter lists shall be followed +as defined in clause 5.4.

+ +

Examples

+ +

EXAMPLE 1:      Parameterized +altstep with runs on clause

+ +

    // Given

+ +

    type component +MyComponentType {

+ +

       var integer MyIntVar +:= 0;

+ +

       timer MyTimer;

+ +

       port MyPortTypeOne PCO1, +PCO2;

+ +

       port MyPortTypeTwo PCO3;

+ +

    }

+ +

 

+ +

    // Altstep definition using PCO1, PCO2, +MyIntVar and MyTimer of MyComponentType

+ +

    altstep AltSet_A(in integer +MyPar1) runs on MyComponentType {

+ +

       [] PCO1.receive(MyTemplate(MyPar1, +MyIntVar) {

+ +

               setverdict(inconc);

+ +

          }

+ +

       [] PCO2.receive {

+ +

               if (MyPar1 != 0) {

+ +

                  repeat

+ +

               }

+ +

               else {

+ +

                  break

+ +

               }

+ +

          }

+ +

       [] MyTimer.timeout {

+ +

           setverdict(fail);

+ +

               stop

+ +

          }

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Altstep +with local definitions

+ +

    altstep +AnotherAltStep(in integer MyPar1) runs on +MyComponentType {

+ +

       var +integer MyLocalVar := MyFunction();         // local variable

+ +

       const +float MyFloat := 3.41;                // local constant

+ +

       [] +PCO1.receive(MyTemplate(MyPar1, MyLocalVar) {

+ +

           setverdict(inconc);

+ +

          +}

+ +

       [] +PCO2.receive {

+ +

               repeat

+ +

          +}

+ +

    }

+ +

 

+ +

16.2.1    Invoking altsteps

+ +

The invocation of an +altstep is always related to an alt +statement. The invocation may be done either implicitly by the default +mechanism (see clause 21) or explicitly by a direct call within an alt statement (see clause 20.2).

+ +

Syntactical Structure

+ +

AltstepRef "(" [ { ActualPar +[","] } ] ")"

+ +

 

+ +

Semantic Description

+ +

The invocation of an +altstep causes no new snapshot and the evaluation of the top alternatives of an +altstep is done by using the actual snapshot of the alt statement from which the altstep was called.

+ +

NOTE:      A new snapshot within an altstep will +of course be taken, if within a selected top alternative a new alt +statement is specified and entered.

+ +

For an implicit +invocation of an altstep by means of the default mechanism, the altstep shall +be activated as a default by means of an activate statement before the place of the invocation is +reached.

+ +

An explicit call of an altstep within an alt statement looks syntactically like a function +invocation as an alternative. When an altstep is called explicitly within an alt statement, the next alternative to be checked +is the first alternative of the altstep. The alternatives of the altstep are checked and executed the same way as alternatives of an alt statement (see clause 20.1) with the exception +that no new snapshot is taken when entering the altstep. An unsuccessful termination of the altstep +(i.e. all top alternatives of the altstep have been checked and no matching branch is found) causes the +evaluation of the next alternative or invocation of the default mechanism (if +the explicit call is the last alternative of the alt statement). A successful termination may cause either the +termination of the test component, i.e. the altstep ends with a stop statement, or a new snapshot and re-evaluation +of the alt statement, i.e. the altstep ends with repeat (see clause 20.2) or a continuation immediately +after the alt statement, +i.e. the execution of the selected top alternative of the altstep ends with a break statement (see clause 19.12) or without +explicit repeat or stop.

+ +

An altstep can also be called as a stand-alone statement +in a TTCN‑3 behaviour +description. In this case, the call of the altstep can be interpreted as shorthand for an alt statement with only one alternative describing +the explicit call of the altstep.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +When invoking an altstep, the compatibility of +the test component type of the invoking test component and of the altstep runs +on clause (as described in clause 6.3.3) need to be fulfilled.

+ +

b)          +Further restrictions on invoking altsteps in the +activate statement are given in clause 20.5.2.

+ +

Examples

+ +

EXAMPLE 1:      Implicit +invocation of an altstep via a default activation

+ +

     :

+ +

    var default MyDefVarTwo +:= activate(MySecondAltStep()); // Activation of an altstep as default

+ +

     :

+ +

 

+ +

EXAMPLE 2:      Explicit +invocation of an altstep within an alt statement

+ +

     :

+ +

    alt {

+ +

       [] PCO3.receive {

+ +

            …

+ +

           }

+ +

       [] AnotherAltStep();  // explicit +call of altstep AnotherAltStep as an alternative

+ +

                             // of an alt +statement

+ +

       [] MyTimer.timeout {}

+ +

    }

+ +

 

+ +

EXAMPLE +3:      Explicit, stand-alone invocation of an altstep

+ +

    // The +statement

+ +

    AnotherAltStep(); // AnotherAltStep +is assumed to be a correctly defined altstep

+ +

 

+ +

    //is a shorthand for

+ +

 

+ +

    alt {

+ +

       [] AnotherAltStep();

+ +

    }

+ +

 

+ +

16.3      Test cases

+ +

A test case is complete and independent specification of +the actions required to achieve a specific test purpose. It typically starts in +a stable testing state and ends in a stable testing state. It may involve one +or more consecutive or concurrent connections to the SUT. The test case shall be complete in the sense that it is +sufficient to enable a test verdict to be assigned unambiguously to each +potentially observable test outcome (i.e. sequence of test events). The test +case shall be independent in the sense that it shall be possible to execute the +derived executable test case in isolation from other such test cases.

+ +

In TTCN-3, test cases are a special kind of +function. Test cases define the behaviours, which have to be executed to check +whether the SUT passes a test or not. This +behaviour is performed by the MTC which is +automatically created when a test case is being executed.

+ +

Syntactical +Structure

+ +

testcase TestcaseIdentifier

+ +

"(" [ { ( FormalValuePar +| FormalTemplatePar) [","] } ] ")"

+ +

runs on ComponentType

+ +

[ system ComponentType ]

+ +

StatementBlock

+ +

 

+ +

Semantic +Description

+ +

A test case is considered to be a self-contained and +complete specification that checks a test purpose. The result of a test case +execution is a test verdict.

+ +

A test case header has +two parts:

+ +

a)          +interface part (mandatory): denoted by the +keyword runs on which references the required component type for the MTC and makes +the associated port names visible within the MTC behaviour; and

+ +

b)          +test system part (optional): denoted by the +keyword system which references the component type which defines the required +ports for the test system interface. The test system part shall only be omitted +if, during test execution, only the MTC is instantiated. In this case, the MTC +type defines the test system interface ports implicitly.

+ +

The behaviour of a test case can be defined +by using the program statements and operations described in clause 18.

+ +

Test cases may be +parameterized as described in clause 5.4. Test cases can be +executed in the control part of a module (see clause 26).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The rules for formal parameter lists shall be +followed as defined in clause 5.4.

+ +

b)          +Test cases may only be invoked with an execute +statement in a module control part as defined in clause 26.

+ +

Examples

+ +

    testcase MyTestCaseOne()

+ +

    runs on MyMtcType1        // +defines the type of the MTC

+ +

    system MyTestSystemType      // +makes the port names of the TSI visible to the MTC

+ +

    {

+ +

       :   // +The behaviour defined here executes on the mtc +when the test case invoked

+ +

    }

+ +

 

+ +

    // or, +a test case where only the MTC is instantiated +

+ +

    testcase MyTestCaseTwo() runs on MyMtcType2

+ +

    {

+ +

       :   // +The behaviour defined here executes on the mtc +when the test case invoked

+ +

    }

+ +

 

+ +
+ +

17       Void

+ +

18       Overview +of program statements and operations

+ +
+ +

The fundamental program +elements of test cases, functions, altsteps and the control part of TTCN‑3 modules are expressions, +basic program statements such as assignments, loop constructs etc., behavioural +statements such as sequential behaviour, alternative behaviour, interleaving, +defaults, etc., and operations such as send, receive, create, +etc.

+ +

Statements can be +either single statements (which do not include other program statements) or +compound statements (which may include other statements and statement blocks).

+ +

Statements shall be +executed in the order of their appearance, i.e. sequentially, as illustrated in +figure 8.

+ +

+ +

Figure +8: +Illustration of sequential behaviour

+ +

The individual statements in the sequence +shall be separated by the delimiter ";".

+ +

EXAMPLE:

+ +

    MyPort.send(Mymessage); +MyTimer.start; log("Done!");

+ +

 

+ +

The specification of an +empty statement block, i.e. {}, may be found in +compound statements, e.g. a branch in an alt statement, and implies that no actions are taken.

+ +

Table 16 +gives an overview of the TTCN 3 expressions, statements and operations and +restrictions on their usage.

+ +

Table +16: +Overview of TTCN‑3 +expressions, statements and operations

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statement

+
+

Associated keyword or symbol

+
+

Can be used in module control

+
+

Can be used in functions, test cases and altsteps

+
+

Can be used in + functions called from templates, Boolean guards, or from initialization of + altstep local definitions

+
+

Expressions

+
+

(…)

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Basic program statements

+
+

Assignments

+
+

:=

+
+

Yes

+
+

Yes

+
+

Yes + (see note 3)

+
+

If-else

+
+

if (…) {…} + else {…}

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Select case

+
+

select case + (…) { case (…) {…} case else {…}}

+
+

Yes

+
+

Yes

+
+

Yes

+
+

For loop

+
+

for (…) {…}

+
+

Yes

+
+

Yes

+
+

Yes

+
+

While loop

+
+

while (…) {…}

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Do while loop

+
+

do {…} while + (…)

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Label and Goto

+
+

label / goto

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Stop execution

+
+

stop

+
+

Yes

+
+

Yes

+
+

 

+
+

Returning control

+
+

return

+
+

 

+
+

Yes + (see note 4)

+
+

Yes

+
+

Leaving a loop, alt, altstep or interleave

+
+

break

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Next iteration of a loop

+
+

continue

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Logging

+
+

log

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Statements and operations for alternative + behaviours

+
+

Alternative behaviour

+
+

alt {…}

+
+

Yes + (see note 1)

+
+

Yes

+
+

 

+
+

Re-evaluation of alternative behaviour

+
+

repeat

+
+

Yes + (see note 1)

+
+

Yes

+
+

 

+
+

Interleaved behaviour

+
+

interleave {…}

+
+

Yes + (see note 1)

+
+

Yes

+
+

 

+
+

Activate a default

+
+

activate

+
+

Yes + (see note 1)

+
+

Yes

+
+

 

+
+

Deactivate a default

+
+

deactivate

+
+

Yes (see note 1)

+
+

Yes

+
+

 

+
+

Configuration operations

+
+

Create parallel test component

+
+

create

+
+

 

+
+

Yes

+
+

 

+
+

Connect component port to component port

+
+

connect

+
+

 

+
+

Yes

+
+

 

+
+

Disconnect two component ports

+
+

disconnect

+
+

 

+
+

Yes

+
+

 

+
+

Map port to test interface

+
+

map

+
+

 

+
+

Yes

+
+

 

+
+

Unmap port from test system interface

+
+

unmap

+
+

 

+
+

Yes

+
+

 

+
+

Get MTC component + reference value

+
+

mtc

+
+

 

+
+

Yes

+
+

Yes

+
+

Get test system interface component reference value

+
+

system

+
+

 

+
+

Yes

+
+

Yes

+
+

Get own component reference value

+
+

self

+
+

 

+
+

Yes

+
+

Yes

+
+

Start execution of test component behaviour

+
+

start

+
+

 

+
+

Yes

+
+

 

+
+

Stop execution of test component behaviour

+
+

stop

+
+

 

+
+

Yes

+
+

 

+
+

Remove a test component from the system

+
+

kill

+
+

 

+
+

Yes

+
+

 

+
+

Check termination of a PTC behaviour

+
+

running

+
+

 

+
+

Yes

+
+

 

+
+

Check if a PTC exists in the test system

+
+

alive

+
+

 

+
+

Yes

+
+

 

+
+

Wait for termination of a PTC behaviour

+
+

done

+
+

 

+
+

Yes

+
+

 

+
+

Wait a PTC cease to exist

+
+

killed

+
+

 

+
+

Yes

+
+

 

+
+

Communication operations

+
+

Send message

+
+

send

+
+

 

+
+

Yes

+
+

 

+
+

Invoke procedure call

+
+

call

+
+

 

+
+

Yes

+
+

 

+
+

Reply to procedure call from remote entity

+
+

reply

+
+

 

+
+

Yes

+
+

 

+
+

Raise exception (to an accepted call)

+
+

raise

+
+

 

+
+

Yes

+
+

 

+
+

Receive message

+
+

receive

+
+

 

+
+

Yes

+
+

 

+
+

Trigger on message

+
+

trigger

+
+

 

+
+

Yes

+
+

 

+
+

Accept procedure call from remote entity

+
+

getcall

+
+

 

+
+

Yes

+
+

 

+
+

Handle response from a previous call

+
+

getreply

+
+

 

+
+

Yes

+
+

 

+
+

Catch exception (from called entity)

+
+

catch

+
+

 

+
+

Yes

+
+

 

+
+

Check (current) message/call received

+
+

check

+
+

 

+
+

Yes

+
+

 

+
+

Clear port queue

+
+

clear

+
+

 

+
+

Yes

+
+

 

+
+

Clear queue and enable sending & receiving at a to port

+
+

start

+
+

 

+
+

Yes

+
+

 

+
+

Disable sending and disallow receiving operations to match at a port

+
+

stop

+
+

 

+
+

Yes

+
+

 

+
+

Disable sending and disallow receiving operations to match new + messages/calls

+
+

halt

+
+

 

+
+

Yes

+
+

 

+
+

Timer operations

+
+

Start timer

+
+

start

+
+

Yes

+
+

Yes

+
+

 

+
+

Stop timer

+
+

stop

+
+

Yes

+
+

Yes

+
+

 

+
+

Read elapsed time

+
+

read

+
+

Yes

+
+

Yes

+
+

 

+
+

Check if timer running

+
+

running

+
+

Yes

+
+

Yes

+
+

 

+
+

Timeout event

+
+

timeout

+
+

Yes

+
+

Yes

+
+

 

+
+

Verdict operations

+
+

Set local verdict

+
+

setverdict

+
+

 

+
+

Yes

+
+

 

+
+

Get local verdict

+
+

getverdict

+
+

 

+
+

Yes

+
+

Yes

+
+

External actions

+
+

Stimulate an (SUT) + action externally

+
+

action

+
+

Yes

+
+

Yes

+
+

 

+
+

Execution of test cases

+
+

Execute test case

+
+

execute

+
+

Yes

+
+

Yes + (see note 2)

+
+

 

+
+

NOTE 1:    Can be used to control timer operations only.

+

NOTE 2:    Can only be used in functions and altsteps that are + used in module control.

+

NOTE 3:    Changing of component variables is disallowed.

+

NOTE 4:    Can be used in functions and altsteps but not in + test cases.

+
+ +
+ +

 

+ + + +

The basic program +statements presented in table 17 +can be used in the control part of a module and in TTCN‑3 functions, altsteps and test cases.

+ +

Table 17: +Overview of TTCN‑3 +basic program statements

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Basic program statements

+
+

Statement

+
+

Associated keyword or + symbol

+
+

Assignments

+
+

:=

+
+

If-else

+
+

if (…) {…} else {…}

+
+

Select case

+
+

select case (…) { case (…) {…} case else + {…}}

+
+

For loop

+
+

for (…) {…}

+
+

While loop

+
+

while (…) {…}

+
+

Do while loop

+
+

do {…} while (…)

+
+

Label and Goto

+
+

label / goto

+
+

Stop execution

+
+

stop

+
+

Returning control

+
+

return

+
+

Leaving a loop, alt, + altstep or interleave

+
+

break

+
+

Next iteration of a loop

+
+

continue

+
+

Logging

+
+

log

+
+ +
+ +

 

+ +

19.1      Assignments

+ +

Values or templates may be assigned to variables or +template variables (see clause 11). This +is indicated by the symbol ":=".

+ +

Syntactical +Structure

+ +

VariableRef +":=" ( Expression | TemplateBody )

+ +

 

+ +

Semantic Description

+ +

During execution of an +assignment, the right-hand side of the assignment shall evaluate to a value or +template. The effect of an assignment is to bind the variable to the value of +the expression or to a template. The expression shall contain no unbound +variables. Assignments are processed from left to right, i.e. expressions in +the left-hand-side are evaluated before those in the right-hand-side. The +evaluations obey the operator precedence defined in table 6. The +right-hand-side is evaluated completely before the resulting value or template +is bound to the evaluated left-hand side of the assignment. Whenever assignments +are used within the right-hand-side of an assignment (due to assignment +notation), these rules apply recursively.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The right‑hand side of an assignment shall +evaluate to a value or template, which is type compatible with the variable at +the left-hand side of the assignment.

+ +

b)          +When the right‑hand side of the assignment +evaluates to a template (global or local template, in-line template or template +variable), the variable at the left hand side shall be a template variable.

+ +

Examples

+ +

    MyVariable := (x + y - +increment(z))*3;

+ +

 

+ +

19.2      The If-else statement

+ +

The if-else statement, also known as the conditional +statement, is used to denote branching in the control flow.

+ +

Syntactical Structure

+ +

if "(" BooleanExpression +")" StatementBlock

+ +

{ else if "(" BooleanExpression +")" StatementBlock }

+ +

[ else StatementBlock]

+ +

 

+ +

NOTE:      else if "(" BooleanExpression +")" StatementBlock [ else StatementBlock] is a shorthand notation for
+
else +"{" if "(" BooleanExpression +")" StatementBlock [ else StatementBlock] +"}".

+ +

Semantic Description

+ +

The branching of the control flow is decided upon the value +of the Boolean expressions - the condition. A statement block - and only one - +will be executed, if its condition evaluates to true. The optional else +specifies a statement block that will be executed if all the "if" and +"else if" conditions before are false.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    if (date == +"1.1.2005") { return ( fail ); }

+ +

 

+ +

    if (MyVar < 10) { MyVar := +MyVar * 10; log ("MyVar < 10"); }

+ +

    else { MyVar := MyVar/5; }

+ +

 

+ +

19.3      The Select case +statement

+ +

The select case +statement is an alternative syntactic form of the if-else statement.

+ +

Syntactical Structure

+ +

select "(" SingleExpression +")" "{"

+ +

     { case "(" { SingleExpression +[","] } ")" StatementBlock }

+ +

     [ case else StatementBlock +]

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

The select case statement is an alternative to using if .. else if .. else statements when comparing a value to one or several other values. +The statement contains a header part and zero or more branches. Never more than +one of the branches is executed.

+ +

In the header part of the select case statement an expression shall be given. Each branch starts with the +case keyword followed by a list of templateInstance (a list branch, +which may also contain a single element) or the else keyword (an +else branch) and a statement block.

+ +

All templateInstance in all list branches +shall be of a type compatible with the type of the expression in the header.
+A list branch is selected and the statement block of +the selected branch is executed only, if any of the templateInstance matches +the value of the expression in the header of the statement. On executing the statement block of the selected branch (i.e. not +jumping out by a go to statement), execution continues with the statement +following the select case statement.

+ +

The statement +block of an else branch is always executed if no other branch textually +preceding the else branch has been selected.

+ +

Branches are evaluated in their textual +order. If none of the templateInstance-s matches the value of the expression in +the header and the statement contains no else branch, execution continues +without executing any of the select case branches.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The select SingleExpression and +the case SingleExpression-s shall be type +compatible.

+ +

Examples

+ +

    select (MyModulePar)  // where MyModulePar is of charstring +type

+ +

    {
+   
    case +("firstValue")
+           {
+            
log ("The first branch is selected");
+           }
+       case (MyCharVar, MyCharConst)
+           {
+            
log ("The second branch is selected");
+           }
+       case else
+           {
+            
log ("The value of the module parameter MyModulePar +is selected");
+           }

+ +

    }

+ +

 

+ +

    // the above select statement is +equivalent to the following nested if-else statement.

+ +

    // Note: the following textual +replacement of the select-case statement is described in

+ +

    // the operational semantics of TTCN-3.

+ +

    {

+ +

       var charstring myTempVar := +MyModulePar;

+ +

       if (match(myTempVar, +"firstValue")
+           {
+            
log ("The first branch is selected");
+           }
+       else if (match(myTempVar, MyCharVar) or match(myTempVar, +MyCharConst))
+           {
+            
log ("The second branch is selected");
+           }
+       else
+           {
+            
log ("The value of the module parameter MyModulePar +is selected");
+           }

+ +

    }

+ +

 

+ +

19.4      The For statement

+ +

The for statement +defines a counter loop.

+ +

Syntactical Structure

+ +

for "(" ( VarInstance +| Assignment ) ";" BooleanExpression ";" Assignment +")"

+ +

        StatementBlock

+ +

 

+ +

Semantic +Description

+ +

The for statement +contains two assignments and a boolean expression. The first assignment is necessary to initialize the index +(or counter) variable of the loop. The boolean expression terminates the loop and the second +assignment is used to manipulate the index variable.

+ +

The value of the index variable is increased, decreased or +manipulated in such a manner that after a certain number of execution loops a +termination criteria is reached.

+ +

The termination +criterion of the loop shall be expressed by a boolean expression. It is checked at the beginning of +each new loop iteration. If it evaluates to true, the execution +continues with the statement block in the for statement, if it evaluates to false, the execution continues with the statement +which immediately follows the for +loop. If a break statement is +executed that is not within the body of an enclosed loop, alt, alststep or interleave, then the loop is terminated, too.

+ +

The index variable of a for +loop can be declared before being used in the for statement or can be declared +and initialized in the for statement header. If the index variable is declared and initialized +in the for statement header, the scope of the index variable is limited to the +loop body, i.e. it is only visible inside the loop body.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    var integer j;                       // +Declaration of integer variable j

+ +

    for (j:=1; j<=10; j:= +j+1) { … }     // Usage of variable j as index variable of the for loop

+ +

 

+ +

 

+ +

    for (var float +i:=1.0; i<7.9; i:= i*1.35) { … } // Index variable i is declared and +initialized

+ +

                                                // +in the for loop header. Variable i only is

+ +

                                                // +visible in the loop body.

+ +

 

+ +

19.5      The While statement

+ +

A while statement +defines a loop that is executed as long as the loop condition holds.

+ +

Syntactical Structure

+ +

while "(" BooleanExpression +")" StatementBlock

+ +

 

+ +

Semantic Description

+ +

The loop condition +shall be checked at the beginning of each new loop iteration. If the loop +condition does not hold, then the loop is exited and execution shall continue +with the statement, which immediately follows the while loop. If a break +statement is executed that is not within the body of an enclosed loop, alt, alststep or interleave, then the loop is terminated, too.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    while (j<10){ … }

+ +

 

+ +

19.6      The Do-while statement

+ +

A do-while statement defines a loop that is executed up +until the loop condition does not hold.

+ +

Syntactical Structure

+ +

do StatementBlock while +"(" BooleanExpression ")"

+ +

 

+ +

Semantic +Description

+ +

The do-while loop is identical to a while loop with the exception that the loop condition +shall be checked at the end of each loop iteration. This means when +using a do-while loop the behaviour is executed at least once +before the loop condition is evaluated for the first time. If a break statement is executed that is not within the +body of an enclosed loop, alt, alststep or interleave, then the loop is terminated, too.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    do { … } while +(j<10);

+ +

 

+ +

19.7      The Label statement

+ +

The label statement allows the specification of labels in +test cases, functions, altsteps and the control part of a module.

+ +

Syntactical Structure

+ +

label LabelIdentifier

+ +

 

+ +

Semantic +Description

+ +

A label marks a +statement. The label is used by the goto statement (see clause 19.8) +to transfer control to a labelled statement.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +A label statement can be used freely +like other TTCN‑3 behavioural program statements according to the syntax +rules defined in annex A. It can be used before or after a TTCN‑3 +statement but not as the first statement of an alternative or top alternative +in an alt statement, interleave statement or altstep.

+ +

b)          +Labels used following the label +keyword shall be unique among all labels defined in the same test case, +function, altstep or control part.

+ +

Examples

+ +

    label MyLabel;                       // +Defines the label MyLabel

+ +

 

+ +

    // The labels L1, L2 and L3 are +defined in the following TTCN‑3 code +fragment

+ +

     :

+ +

    label L1;                            // +Definition of label L1

+ +

    alt{

+ +

    []  PCO1.receive(MySig1)

+ +

       {   label L2;                    // +Definition of label L2

+ +

           PCO1.send(MySig2);

+ +

           PCO1.receive(MySig3)

+ +

       }

+ +

    []  PCO2.receive(MySig4)

+ +

       {   PCO2.send(MySig5);

+ +

           PCO2.send(MySig6);

+ +

           label L3;                    // +Definition of label L3

+ +

           PCO2.receive(MySig7);

+ +

       }

+ +

    }

+ +

     :

+ +

 

+ +

19.8      The Goto statement

+ +

A goto statement +performs a jump to a label.

+ +

Syntactical +Structure

+ +

goto LabelIdentifier

+ +

 

+ +

Semantic Description

+ +

The goto statement can +be used in functions, test cases, altsteps and the control part of a TTCN‑3 module to transfer control to +a labelled statement.

+ +

The goto statement +provides the possibility to jump freely, i.e. forwards and backwards, within a +sequence of statements, to jump out of a single compound statement (e.g. a while loop) and to jump over several levels out of +nested compound statements (e.g. nested alternatives).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)      It is not allowed to jump out of or into +functions, test cases, altsteps and the control part of a TTCN‑3 module.

+ +

b)      It is not allowed to jump into a sequence +of statements defined in a compound statement (i.e. alt statement, while +loop, for loop, if-else +statement, do- while loop and the interleave statement).

+ +

c)       It is not allowed to use the goto +statement within an interleave statement.

+ +

Examples

+ +

    // The following TTCN‑3 +code fragment includes

+ +

    :

+ +

    label +L1;                        // … the definition of label L1,

+ +

    MyVar +:= 2 * MyVar;

+ +

    if +(MyVar < 2000) { goto L1; }       // … a jump backward to L1,

+ +

    MyVar2 +:= Myfunction(MyVar);

+ +

    if (MyVar2 > MyVar) { goto +L2; } // … a jump forward to L2,

+ +

    PCO1.send(MyVar);

+ +

    PCO1.receive;

+ +

    label L2;                        // +… the definition of label L2,

+ +

    PCO2.send(integer: 21);

+ +

    alt {

+ +

      [] PCO1.receive { }

+ +

      [] PCO2.receive(integer: +67) {

+ +

           label L3;                 // +… the definition of label L3,

+ +

           PCO2.send(MyVar);

+ +

           alt {

+ +

             [] PCO1.receive { }

+ +

             [] PCO2.receive(integer: +90) {

+ +

                  PCO2.send(integer: +33);

+ +

                  PCO2.receive(integer: +13);

+ +

                  goto L4;          // +… a jump forward out of two nested alt statements,

+ +

                }

+ +

             [] PCO2.receive(MyError) +{

+ +

                  goto L3;          // +… a jump backward out of the current alt statement,

+ +

                }

+ +

             [] any port.receive +{

+ +

                  goto L2;          // +… a jump backward out of two nested alt statements,

+ +

                }

+ +

           }

+ +

         }

+ +

      [] any port.receive {

+ +

           goto L2;                  // +… and a long jump backward out of an alt statement.

+ +

         }

+ +

    }

+ +

    label L4;

+ +

    :

+ +

 

+ +

19.9      The Stop execution statement

+ +

The stop statement terminates execution of test +components, a test case or a test control.

+ +

Syntactical +Structure

+ +

stop

+ +

 

+ +

Semantic +Description

+ +

The stop statement terminates execution in different +ways depending on the context in which it is used. When used in the control +part of a module or in a function used by the control part of a module, it +terminates the execution of the module control part. When used in a test case, +altstep or function that are executed on a test component, it terminates the +relevant test component.

+ +

NOTE:      The semantics of a stop +statement that terminates a test component is identical to the stop component +operation self.stop (see clause 21.3.3).

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    module +MyModule {

+ +

        : // +Module definitions

+ +

       testcase +MyTestCase() runs on MyMTCType system MySystemType{

+ +

           var +MyPTCType ptc:= MyPTCType.create;   // PTC creation

+ +

           ptc.start(MyFunction());             // start PTC execution

+ +

            :         // +test case behaviour continued

+ +

           stop       // +stops the MTC, all PTCs and the whole test +case

+ +

       }

+ +

       function +MyFunction() runs on MyPTCType {

+ +

            :

+ +

           stop       // +stops the PTC only, the test case continues

+ +

       }

+ +

       control +{

+ +

            :  // +test execution

+ +

           stop   // +stops the test campaign

+ +

       } +// end control

+ +

    } // +end module

+ +

 

+ +

19.10    The Return statement

+ +

The return statement +terminates execution of functions or altsteps.

+ +

Syntactical Structure

+ +

return [ Expression ]

+ +

 

+ +

Semantic Description

+ +

The return statement +terminates execution of a function or altstep and returns control to the point +from which the function or altstep was called. When used in functions, a return +statement may be optionally associated with a return value.

+ +

TTCN-3 allows optional statement blocks +that may follow altstep calls within alt statements. +If there is a statement block, the return statement returns control to +the beginning of this statement block and the statement block is executed +before the alt statement is left. If there is no statement block, test execution +continues with the first statement following the alt statement.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +The return statement shall not be used in the +statement block of a testcase.

+ +

Examples

+ +

    function MyFunction() return boolean {

+ +

        :

+ +

       if (date == "1.1.2005") {

+ +

           return false; // execution stops on the +1.1.2000 and returns the boolean false

+ +

       }

+ +

        :

+ +

       return true;   // true is returned

+ +

    }

+ +

 

+ +

    function MyBehaviour() return verdicttype +{

+ +

         :

+ +

       if (MyFunction()) {

+ +

           setverdict(pass); // use of MyFunction in +an if statement

+ +

       }

+ +

       else {

+ +

           setverdict(inconc);

+ +

       }

+ +

         :

+ +

       return getverdict; // explicit return of the +verdict

+ +

    }

+ +

 

+ +

19.11    The Log statement

+ +

The log statement +provides the means to write logging information to some logging device. The +information that can be logged is summarized in table 18.

+ +

Table 18: TTCN‑3 language +elements that can be logged

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Used in a log + statement

+
+

What is logged

+
+

Comment

+
+

module parameter + identifier

+
+

actual value

+
+

 

+
+

literal value

+
+

value

+
+

This includes + also free text.

+
+

data constant + identifier

+
+

actual value

+
+

 

+
+

template instance

+
+

actual template + or field values and matching symbols

+
+

 

+
+

data type + variable identifier

+
+

actual value
+
or "UNINITIALIZED"

+
+

See notes 3 and + 4.

+
+

self, mtc, system or component type variable identifier

+
+

actual value and if assigned the component instance name
+
or "UNINITIALIZED"

+
+

On logging actual + values see notes 2 to 4. Actual + component states shall be logged according to note 5.

+
+

running operation
+ (component or timer)

+
+

return value

+
+

true or false. In case of component or timer arrays, array element + specification shall be included.

+
+

alive operation
+ (component)

+
+

return value

+
+

true or false. In case of arrays, array + element specifications shall be included.

+
+

port instance

+
+

actual state

+
+

Port states shall + be logged according to note 6.

+
+

default type + variable identifier

+
+

actual state
+ or
"UNINITIALIZED"

+
+

Default states + shall be logged according to note 7. See also notes 2 to 4.

+
+

timer name

+
+

actual state

+
+

Timer states + shall be logged according to note 8.

+
+

read operation

+
+

return value

+
+

See clause 24.3.

+
+

match operation

+
+

return value

+
+

 

+
+

getverdict + operation

+
+

return value

+
+

none, pass, + inconc, or fail

+
+

predefined + functions

+
+

return value

+
+

See annex C.

+
+

function instance

+
+

return value

+
+

Only functions + with return clause are allowed.

+
+

external function + instance

+
+

return value

+
+

Only external + functions with return clause are allowed.

+
+

formal parameter identifier

+
+

see comment column

+
+

Logging of actual parameters shall follow rules + specified for the language elements they are substituting. In case of value + parameters the actual parameter value, in case of template-type parameters + the actual template or field values and matching symbols, in case of + component type parameters the actual component reference etc. shall be + logged. For timer parameters also the use of the read operation and for + component type and timer parameters the use of the running operation are + allowed.

+
+

NOTE 1:    Actual + value/actual template is the value/template at the moment of the execution of + the log statement.

+

NOTE 2:    The + type of the logged value is tool dependent.

+

NOTE 3:    In + case of array identifiers without array element specification, actual values + and for component references names of all array elements shall be logged.

+

NOTE 4:    The + string "UNINITIALIZED" is logged only if the log item is unbound (uninitialized).

+

NOTE 5:    Component + states that can be logged are: Inactive, Running, Stopped and Killed (for + further details see annex F).

+

NOTE 6:    Port + states that can be logged are: Started and Stopped (for further details see + annex F).

+

NOTE 7:    Default + states that can be logged are: Activated and Deactivated.

+

NOTE 8:    Timer + states that can be logged are: Inactive, Running and Expired (for further + details see annex F).

+
+ +
+ +

 

+ +

Syntactical +Structure

+ +

log "(" { ( FreeText +| TemplateInstance ) [","] } ")"

+ +

 

+ +

Semantic Description

+ +

The log statement +provides the means to write one or more log items to some logging device +associated with the test control or the test component in which the statement +is used. Items to be logged shall be identified by a comma‑separated list +in the argument of the log statement. Log items may be individual language +elements specified in table 18 or expressions composed of such log items.

+ +

It is +strongly recommended that the execution of the log +statement has no effect on the test behaviour. In particular, functions used in +a log statement should not (explicitly or implicitly) change component variable +values, port or timer status, and should not change the value of any of its +inout or out parameters.

+ +

NOTE:      It is outside the +scope of the present document to define complex logging and trace capabilities +which may be tool dependent.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    var integer myVar:= 1;

+ +

    log("Line 248 in PTC_A: ", myVar, " (actual value of myVar)");

+ +

    // The string "Line 248 in PTC_A: 1 (actual value of myVar)" is written to some log +device

+ +

    // of the test system

+ +

 

+ +

19.12    The Break statement

+ +

A break statement +causes the exit from a loop, from an altstep or from an alt or interleave statement.

+ +

Syntactical +Structure

+ +

break

+ +

 

+ +

Semantic +Description

+ +

On executing a break statement the innermost, currently executed +loop, alt statement or interleave statement is left. Execution continues with the +statement following the construct which is left. Using break outside the body of a loop (for, while, +do-while) or an alternative of an alt or interleave +statement shall cause a dynamic error.

+ +

Altsteps are always +executed within a surrounding alt +statement. If the execution of a top alternative of an altstep (see clause 16.2) ends with a break statement, the altstep and the surrounding alt statement are left. Execution continues with +the statement following the surrounding alt statement.

+ +

NOTE:      TTCN-3 allows optional statement blocks +that may follow altstep calls within alt statements. +These statement blocks are not executed when the altstep is left by executing a +break statement. A return statement has to be used, if such an optional statement block has +to be executed (see clause 19.10).

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    do {

+ +

       …

+ +

       if (cond1) {

+ +

           break;         // the +do-while loop is left

+ +

       }

+ +

       …

+ +

       for (var integer j:=1; j<=10; j:= +j+1) {

+ +

           …

+ +

           if (cond2) {

+ +

               break;         // +the for-loop is left but the do-while loop is continued

+ +

           }

+ +

           …

+ +

       }

+ +

       …

+ +

    }

+ +

    while (j<10);

+ +

 

+ +

19.13    The Continue statement

+ +

A continue statement causes the start of the next +iteration of a loop.

+ +

Syntactical Structure

+ +

continue

+ +

 

+ +

Semantic Description

+ +

On executing a continue statement, the subsequent statements of the +body of the innermost, currently executed loop are skipped and the next +iteration starts. Using continue outside +the body of a loop (for, while, do-while) shall cause a dynamic error.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    do +{

+ +

       …

+ +

       if +(cond) {

+ +

           continue;      // +execution continues with the next iteration of the do-while-loop

+ +

       }

+ +

       …

+ +

       …

+ +

       for (var integer j:=1; j<=10; j:= +j+1) {

+ +

           …

+ +

           if (cond2) {

+ +

               continue;  // +continues with the next iteration of the for-loop

+ +

           }

+ +

           …

+ +

       }

+ +

       …

+ +

    }

+ +

    while (j<10);

+ +

 

+ +

19.14    Statement block

+ +

Statement blocks can be +used like basic program statements to introduce a local scope in the flow of +control of TTCN-3 behaviour. +The declarations and statements in a statement block are executed in the order +of their appearance, i.e. sequentially.

+ +

Syntactical Structure

+ +

"{" { LocalDefinition +| Statement } "}"

+ +

 

+ +

Semantic Description

+ +

A statement block +defines a local scope unit. Scoping rules for TTCN-3 are defined in clause 5.2.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    var integer aVar:= 0;        // +aVar is declared

+ +

 

+ +

    {                            // start +of a statement block

+ +

       var integer myVar:= +2;       // myVar is declared

+ +

       aVar := 5 + myVar;        // myVar +is used in an assignment

+ +

    }                            // end +of statement block

+ +

 

+ +

       // after leaving the statement +block aVar is still known, but myVar is not known anymore.

+ +

 

+ + + +

Test behaviour cannot +only be expressed sequentially, but also as a set of alternatives or +combinations of both.
+An interleaving operator allows the specification of interleaved sequences or +alternatives. Table
19 summarizes the +statements and operations for alternative behaviours.

+ +

Table 19: Overview of TTCN‑3 statements and +operations for alternative behaviours

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statements and operations + for alternative behaviours

+
+

Statement/Operation

+
+

Associated keyword or + symbol

+
+

Alternative behaviour

+
+

alt { … }

+
+

Re-evaluation of alt + statements

+
+

repeat

+
+

Interleaved behaviour

+
+

interleave { … }

+
+

Activate a default

+
+

activate

+
+

Deactivate a default

+
+

deactivate

+
+ +
+ +

 

+ +

20.1      The snapshot mechanism

+ +

A more complex form of +behaviour is where sequences of statements are expressed as sets of possible +alternatives to form a tree of execution paths, as illustrated in figure 9.

+ +

+ +

Figure +9: Illustration of alternative behaviour

+ +

This is done with the alt statement.

+ +

When entering an alt statement, a snapshot is taken. A snapshot is +considered to be a partial state of a test component that includes all +information necessary to evaluate the Boolean conditions that guard alternative +branches, all relevant stopped test components, all relevant timeout events and +the top messages, calls, replies and exceptions in the relevant incoming port +queues. Any test component, timer and port which is referenced in at least one +alternative in the alt statement, or +in a top alternative of an altstep that is invoked as an alternative in the alt statement or activated as default is considered +to be relevant. A detailed description of the snapshot semantics is given in +the operational semantics of TTCN‑3 (part 4 of the TTCN‑3 +standard - ES 201 873-4 [1]).

+ +

NOTE 1:   Snapshots are only a conceptual means +for describing the behaviour of the alt statement. +The concrete algorithms for the snapshot handling can be found in part 4 of the TTCN‑3 +standard (ES 201 873-4 [1]).

+ +

NOTE 2:   The TTCN‑3 semantics assumes that +taking a snapshot is instantaneous, i.e. has no duration. In a real +implementation, taking a snapshot may take some time and race conditions may +occur. The handling of such race conditions is outside the scope of the present +document.

+ +

20.2      The Alt statement

+ +

An alt statement +expresses sets of possible alternatives that form a tree of possible execution +paths.

+ +

Syntactical Structure

+ +

alt "{"

+ +

        {

+ +

          "[" [ BooleanExpression +] "]"

+ +

                 ( ( TimeoutStatement +|

+ +

                       ReceiveStatement +|

+ +

                       TriggerStatement +|

+ +

                       GetCallStatement +|

+ +

                       CatchStatement +|

+ +

                       CheckStatement +|

+ +

                       GetReplyStatement +|

+ +

                       DoneStatement +|

+ +

                       KilledStatement +) StatementBlock )

+ +

                 |

+ +

                 ( AltstepInstance +[ StatementBlock ] )

+ +

        }

+ +

        [ "[" else +"]" StatementBlock ]

+ +

"}"

+ +

 

+ +

Semantic +Description

+ +

The alt statement denotes branching of test behaviour +due to the reception and handling of communication and/or timer events and/or +the termination of parallel test components, i.e. it is related to the use of +the TTCN‑3 operations receive, trigger, getcall, getreply, catch, +check, timeout, done and killed. The alt statement denotes a set of possible events that +are to be matched against a particular snapshot.

+ +

Execution +of alternative behaviour:

+ +

When entering an alt statement, a snapshot is taken.

+ +

The alternative branches in the alt statement and the top alternatives of invoked altsteps and +altsteps that are activated as defaults are processed in the order of their +appearance. If several defaults are active, the reverse order of their +activation determines the evaluation order of the top alternatives in the defaults. +The alternative branches in active defaults are reached by the default +mechanism described in clause 20.5.

+ +

The individual +alternative branches are either branches that may be guarded by a Boolean +expression or else-branches, i.e. alternative branches starting with [else].

+ +

Else-branches are +always chosen and executed when they are reached (see below).

+ +

Branches that may be +guarded by a Boolean expressions either invoke an altstep (altstep-branch), +or start with a done operation (done-branch), +a killed operation (killed-branch), timeout operation (timeout-branch) or a +receiving operation (receiving-branch), i.e. receive, trigger, getcall, getreply, catch or +a check operation. The evaluation of the Boolean guards +shall be based on the snapshot. The Boolean guard is considered to be fulfilled +if no Boolean guard is defined, or if the Boolean guard evaluates to true. The branches are processed and executed in the +following manner.

+ +

An altstep-branch +is selected if the Boolean guard is fulfilled. The selection of an altstep-branch +causes the invocation of the referenced altstep, i.e. the altstep is invoked +and the evaluation of the snapshot continues within the altstep. +Altstep-branches may contain an optional statement block. The optional +statement block shall be executed only, if an alternative of the altstep +referenced in the altstep-branch has been selected and executed.

+ +

A done-branch is +selected if the Boolean guard is fulfilled and if the specified test component +is in the list of stopped components of the snapshot. The selection causes the +execution of the statement block following the done operation. The done operation itself has no further effect.

+ +

A killed-branch +is selected if the Boolean guard is fulfilled and if the specified test +component is in the list of killed components of the snapshot. The selection +causes the execution of the statement block following the killed operation. The killed operation itself has no further effect.

+ +

A timeout-branch +is selected if the Boolean guard is fulfilled and if the specified timeout +event is in the timeout-list of the snapshot. The selection causes execution of +the specified timeout operation, +i.e. removal of the timeout event from the timeout-list, and the execution of the +statement block following the timeout operation.

+ +

A receiving-branch +is selected if the Boolean guard is fulfilled and if the matching criteria of +receiving operation is fulfilled by one of the messages, calls, replies or +exceptions in the snapshot. The selection causes execution of the receiving +operation, i.e. removal of the matching message, call, reply or exception from +the port queue, maybe an assignment of the received information to a variable +and the execution of the statement block following the receiving operation. In +the case of the trigger operation +the top message of the queue is also removed if the Boolean guard is fulfilled +but the matching criteria is not. In this case the statement block of the given +alternative is not executed.

+ +

NOTE 1:   The TTCN‑3 semantics describe the +evaluation of a snapshot as a series of indivisible actions of a test +component. The semantics do not assume that the evaluation of a snapshot has no +duration. During the evaluation of a snapshot, test components may stop, timers +may timeout and new messages, calls, replies or exceptions may enter the port +queues of the component However, these events do not change the actual snapshot +and thus, are not considered for the snapshot evaluation.

+ +

If none of the +alternative branches in the alt statement and +top alternatives in the invoked altsteps and active defaults can be selected +and executed, the alt statement +shall be executed again, i.e. a new snapshot is taken and the evaluation of the +alternative branches is repeated with the new snapshot. This repetitive +procedure shall continue until either an alternative branch is selected and +executed, or the test case is stopped by another component or by the test +system (e.g. because the MTC is stopped) or with a dynamic error.

+ +

The test case shall +stop and indicate a dynamic error if a test component is completely blocked. +This means none of the alternatives can be chosen, no relevant test component +is running, no relevant timer is running and all relevant ports contain at +least one message, call, reply or exception that do not match.

+ +

NOTE 2:   The repetitive procedure of taking a +complete snapshot and re-evaluate all alternatives is only a conceptual means +for describing the semantics of the alt statement. +The concrete algorithm that implements this semantics is outside the scope of +the present document.

+ +

Selecting/deselecting +an alternative:

+ +

If necessary, it is possible to +enable/disable an alternative by means of a Boolean expression placed between +the ("[…]") +brackets of the alternative.

+ +

Else +branch in alternatives:

+ +

Any branch in an alt statement can be defined as an else branch by +including the else keyword +between the opening and closing brackets at the beginning of the alternative. +The statement block of the else branch is always executed if no other +alternative textually preceding the else branch has proceeded.

+ +

Default +mechanism:

+ +

It should be noted that +the default mechanism (see clause 20.5) is always invoked +at the end of all alternatives. If an else branch is defined, the default mechanism will never be +called, i.e. active defaults will never be entered.

+ +

NOTE 3:   It is also possible +to use else in altsteps.

+ +

NOTE 4:   It is allowed to use a repeat +statement within an else branch.

+ +

NOTE 5:   It is allowed to define more than one +else branch in an alt statement or in an altstep, however always only the first +else branch is executed.

+ +

Re-evaluation +of alt statements:

+ +

The re-evaluation of an alt +statement can be specified by using a repeat statement (see +clause 20.3).

+ +

Invocation +of altsteps as alternatives:

+ +

TTCN‑3 +allows the invocation of altsteps as alternatives in alt statements (see clause 16.2.1). When an altstep +is explicitly invoked as an alternative, the optional statement block following +the altstep call shall also be executed.

+ +

Continue +execution after the alt statement:

+ +

Behaviour execution continues with the +statement following the alt statement when one of the branches of the alt or +invoked defaults is selected and completely executed, or a branch of an altstep used in an altsteps-branch is selected and the branch and the +optional statement block following the invoked altstep are completely executed.

+ +

Execution also continues with the statement +following the alt statement if a break statement is reached in the statement +block of the selected branch of an alt statement, of an altstep used in an altstep-branch, or of an altstep invoked +as default.

+ +

The alt statement can also be left by using a goto statement in the selected branch of the alt (i.e. no branches of altsteps and defaults can +be considered in this case), and execution continues with the statement +following the label, goto is pointing +to.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The open and close square brackets +("[…]") shall be present at the start of each alternative, even if +they are empty. This not only aids readability but also is necessary to +syntactically distinguish one alternative from another.

+ +

b)          +The evaluation of a Boolean expression guarding +an alternative may have side-effects. To avoid side effects that cause an +inconsistency between the actual snapshot and the state of the component, the +same restrictions as the restrictions for the initialization of local +definitions within altsteps shall apply (clause 16.2).

+ +

c)          +The else branch shall not contain any of the +actions allowed in branches guarded by a boolean expression (i.e. an altstep call or a done, a killed, a timeout or a receiving operation).

+ +

d)          +An alt statement used within the module +control part shall only contain the timeout +statements.

+ +

Examples

+ +

EXAMPLE 1:      Nested +alternatives

+ +

    alt {

+ +

       [] MyPort.receive (MyMessage) {

+ +

           setverdict (pass);

+ +

           MyTimer.start;

+ +

           alt {

+ +

               [] MyPort.receive (MySecondMessage) {

+ +

                  MyTimer.stop;

+ +

                  setverdict (pass);

+ +

               }

+ +

               [] MyTimer.timeout {

+ +

                  MyPort.send (MyRepeat);

+ +

                  MyTimer.start;

+ +

                  alt {

+ +

                      [] MyPort.receive (MySecondMessage) {

+ +

                          MyTimer.stop;

+ +

                          setverdict (pass)

+ +

                      }

+ +

                      [] MyTimer.timeout { setverdict +(inconc) }

+ +

                      [] MyPort.receive { setverdict +(fail) }

+ +

                  }

+ +

               }

+ +

               [] MyPort.receive { setverdict (fail) +}

+ +

           }

+ +

       }

+ +

       [] MyTimer.timeout { setverdict (inconc) +}

+ +

       [] MyPort.receive { setverdict (fail) }

+ +

    }

+ +

 

+ +

EXAMPLE +2:      Alt statement with guards

+ +

    alt {

+ +

      [x>1] L2.receive {                 // Boolean +guard/expression

+ +

           setverdict(pass);

+ +

         }

+ +

      [x<=1] L2.receive {                // Boolean +guard/expression

+ +

           setverdict(inconc);

+ +

         }

+ +

    }

+ +

   

+ +

 

+ +

EXAMPLE +3:      Alt statement with else branch

+ +

    // Use of alternative with +Boolean expressions (or guard) and else branch

+ +

    alt {

+ +

      :

+ +

      [else] {                   // else branch

+ +

           MyErrorHandling();

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

    }

+ +

 

+ +

EXAMPLE 4:      Re-evaluation +with repeat

+ +

    alt {

+ +

      [] PCO3.receive {

+ +

           count := count + 1;

+ +

           repeat                // +usage of repeat

+ +

         }

+ +

      [] T1.timeout { }

+ +

      [] any port.receive +{

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

    }

+ +

 

+ +

EXAMPLE +5:      Alt statement with explicitly invoked altstep

+ +

    alt +{

+ +

      [] +PCO3.receive { }

+ +

      [] +AnotherAltStep() {   // Explicit call of altstep AnotherAltStep as alternative.

+ +

           setverdict(inconc) // +Statement block executed if an alternative within

+ +

                             // +altstep AnotherAltStep has been selected and executed.

+ +

        }

+ +

      [] +MyTimer.timeout { }

+ +

    }

+ +

 

+ +

20.3      The Repeat statement

+ +

The repeat statement is used for a re-evaluation of an alt statement.

+ +

Syntactical Structure

+ +

repeat

+ +

 

+ +

Semantic Description

+ +

The repeat statement, +when used in the statement block of alternatives of alt statements, causes the re-evaluation of the alt statement, i.e. a new snapshot is taken and the +alternatives of the alt statement are +evaluated in the order of their specification.

+ +

When used in statement blocks of the response and exception +handling parts of blocking procedure calls, the repeat statement causes the +re-evaluation of the response and exception handling part of the call +(see clause 22.3.1).

+ +

If a repeat statement is used in a top alternative in an +altstep definition, it causes a new snapshot and the re‑evaluation of the +alt statement from which the altstep has been +called. The call of the altstep may either be done implicitly by the default +mechanism (see clause 20.5.1) or explicitly in +the alt statement (see clause 20.2).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The repeat statement shall +only be used within alt statements, call statements or altsteps.

+ +

Examples

+ +

EXAMPLE +1:      Usage of repeat in an alt statement

+ +

    alt {

+ +

      [] PCO3.receive {

+ +

           count := count + 1;

+ +

           repeat                // +usage of repeat

+ +

         }

+ +

      [] T1.timeout { }

+ +

      [] any port.receive +{

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Usage of +repeat in an altstep

+ +

    altstep AnotherAltStep() runs +on MyComponentType {

+ +

       [] PCO1.receive{

+ +

           setverdict(inconc);

+ +

           repeat                // +usage of repeat

+ +

          }

+ +

       [] PCO2.receive {}

+ +

    }

+ +

 

+ +

20.4      The Interleave statement

+ +

The interleave statement allows to +specify the interleaved occurrence and handling of receiving events including done, killed, timeout, receive, trigger, getcall, getreply, catch and check.

+ +

Syntactical Structure

+ +

interleave "{"

+ +

     { "[]" ( TimeoutStatement +|

+ +

              ReceiveStatement |

+ +

              TriggerStatement |

+ +

              GetCallStatement |

+ +

              CatchStatement |

+ +

              CheckStatement |

+ +

              GetReplyStatement +|

+ +

              DoneStatement |

+ +

              KilledStatement ) StatementBlock

+ +

     }

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

The +interleave statement allows to specify the interleaved occurrence +and handling of the statements done, killed, timeout, receive, trigger, getcall, getreply, catch and check.

+ +

Interleaved behaviour +can always be replaced by an equivalent set of nested alt statements. The procedures for this replacement +and the operational semantics of interleaving are described in part 4 of the TTCN‑3 standard (ES 201 873‑4 [1]).

+ +

The rules for the evaluation of an interleaving statement +are the following:

+ +

a)          +Whenever a reception statement is executed, the +following non-reception statements are subsequently executed until the next +reception statement is reached, a break statement is reached, or the +interleaved sequence ends.

+ +

NOTE 1:   Reception statements +are TTCN‑3 statements +which may occur in sets of alternatives, i.e. receive, check, +trigger, getcall, getreply, catch, done, killed and timeout. +Non-reception statements denote all other non-control-transfer statements which +can be used within the interleave +statement.

+ +

b)          +If none of the alternatives of the interleave statement can be executed, the default mechanism will be invoked. This +means, according to the semantics of the default mechanism, the actual snapshot +will be used to evaluate those altsteps that have been activated before +entering the interleave statement.

+ +

NOTE 2:   The complete +semantics of the default mechanism within an interleave statement is given by replacing the interleave statement by an equivalent set of nested alt statements. The default mechanism applies for +each of these alt statements.

+ +

c)          +The evaluation then continues by taking the next +snapshot if no break statement was encountered.

+ +

d)          +The evaluation of the interleave statement is terminated if a break statement +is executed.

+ +

The operational +semantics of interleaving are fully defined in part 4 of the TTCN‑3 standard (ES 201 873-4 +[1]).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Control transfer +statements for, while, do-while, goto, activate, deactivate, stop, repeat, return, direct call of altsteps as alternatives +and (direct and indirect) calls of user-defined functions, which include +communication operations, shall not be used in interleave statements.

+ +

b)          +In addition, it is +not allowed to guard branches of an interleave statement with Boolean expressions (i.e. the '[ ]' shall always be empty). It is also not allowed to specify else branches in interleaved behaviour.

+ +

Examples

+ +

    // The following TTCN‑3 +code fragment

+ +

    interleave {

+ +

    []  PCO1.receive(MySig1)

+ +

       {   PCO1.send(MySig2);

+ +

           PCO1.receive(MySig3);

+ +

       }

+ +

    []  PCO2.receive(MySig4)

+ +

       {   PCO2.send(MySig5);

+ +

           PCO2.send(MySig6);

+ +

           PCO2.receive(MySig7);

+ +

       }

+ +

    }

+ +

 

+ +

    // is a shorthand for

+ +

    alt {

+ +

    []  PCO1.receive(MySig1)

+ +

       {   PCO1.send(MySig2);

+ +

           alt {

+ +

           []  PCO1.receive(MySig3)

+ +

               {   PCO2.receive(MySig4);

+ +

                  PCO2.send(MySig5);

+ +

                  PCO2.send(MySig6);

+ +

                  PCO2.receive(MySig7)

+ +

               }

+ +

           []  PCO2.receive(MySig4)

+ +

               {   PCO2.send(MySig5);

+ +

                  PCO2.send(MySig6);

+ +

                  alt {

+ +

                  []  PCO1.receive(MySig3) +{

+ +

                          PCO2.receive(MySig7); +}

+ +

                  []  PCO2.receive(MySig7) +{

+ +

                          PCO1.receive(MySig3); +}

+ +

                  }

+ +

               }

+ +

           }

+ +

       }

+ +

    []  PCO2.receive(MySig4)

+ +

       {   PCO2.send(MySig5);

+ +

           PCO2.send(MySig6);

+ +

           alt {

+ +

           []  PCO1.receive(MySig1)

+ +

               {   PCO1.send(MySig2);

+ +

                  alt {

+ +

                  []  PCO1.receive(MySig3)

+ +

                      {   PCO2.receive(MySig7);

+ +

                      }

+ +

                  []  PCO2.receive(MySig7)

+ +

                      {   PCO1.receive(MySig3);

+ +

                      }

+ +

                  }

+ +

               }

+ +

           []  PCO2.receive(MySig7)

+ +

               {   PCO1.receive(MySig1);

+ +

                  PCO1.send(MySig2);

+ +

                  PCO1.receive(MySig3);

+ +

               }

+ +

           }

+ +

       }

+ +

    }

+ +

 

+ +

20.5      Default Handling

+ +

TTCN‑3 +allows the activation of altsteps (see clause 16.2) as defaults. For +each test component the defaults, i.e. activated altsteps, are stored as +an ordered list. The defaults are listed in the reversed order of their +activation i.e. the last activated default is the first element in the list of +active defaults. The TTCN‑3 operations activate (see clause 20.5.2) and deactivate (see clause 20.5.3) +operate on the list of defaults. An activate puts a new default as the first element into +the list and a deactivate removes +a default from the list. A default in the default list can be identified by +means of default reference that is generated as a result of the corresponding activate operation.

+ +

20.5.1    The default mechanism

+ +

The default mechanism +is evoked at the end of each alt +statement, if due to the actual snapshot none of the specified alternatives +could be executed. An evoked default mechanism invokes the first altstep in the +list of defaults, i.e. the last activated default, and waits for the result of +its termination. The termination can be successful or unsuccessful. +Unsuccessful means that none of the top alternatives of the altstep (see clause 16.2) defining the +default behaviour could be selected, successful means that one of the top +alternatives of the default has been selected and executed.

+ +

NOTE 1:   An interleave +statement is semantically equivalent to a nested set of alt +statements and the default mechanism also applies to each of these alt +statements. This means, the default mechanism also applies to interleave statements.

+ +

In the case of an unsuccessful termination, the default +mechanism invokes the next default in the list. If the last default in the list +has terminated unsuccessfully, the default mechanism will return to the place +in the alt statement in which it has been invoked, i.e. at +the end of the alt statement, and +indicate an unsuccessful default execution. An unsuccessful default execution +will also be indicated if the list of defaults is empty.

+ +

An unsuccessful default execution may cause +a new snapshot or a dynamic error if the test component is blocked +(see clause 20.1).

+ +

In the case of a successful termination, the default may +either stop the test component by means of a stop statement, or the main control flow of the test component +will continue immediately after the alt statement from which the default mechanism was called or +the test component will take new snapshot and re-evaluate the alt statement. The latter has to be specified by +means of a repeat statement +(see clause 20.3). If the execution +of the selected top alternative of the default ends with a break statement or without a repeat statement the control flow of the test +component will continue immediately after the alt statement.

+ +

NOTE 2:   TTCN‑3 does not restrict the +implementation of the default mechanism. It may for example be implemented in +form of a process that is implicitly called at the end of each alt +statement or in form of a separate thread that is only responsible for the +default handling. The only requirement is that defaults are called in the +reverse order of their activation when the default mechanism has been invoked.

+ +

20.5.2    The Activate operation

+ +

The activate operation is used to activate altsteps as +defaults.

+ +

Syntactical Structure

+ +

activate "("    AltstepRef +"(" [ { ActualPar [","] } ] ")" +")"

+ +

 

+ +

Semantic Description

+ +

An activate operation will put the referenced altstep as +the first element into the list of defaults and return a default reference. The +default reference is a unique identifier for the default and may be used in a deactivate operation for the deactivation of the default.

+ +

The effect of an activate operation is local to the test component in +which it is called. This means, a test component cannot activate a default in +another test component.

+ +

The activate operation can be called without saving the +returned default reference. This form is useful in test cases which do not +require explicit deactivation of the activated default, i.e. deactivation of a +default is done implicitly at MTC termination.

+ +

The actual parameters +of a parameterized altstep (see clause 16.2.1) that should be activated as a +default, shall be provided in the corresponding activate statement. This means the actual parameters are +bound to the default at the time of its activation (and not e.g. at the time of +its invocation by the default mechanism).

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +All timer instances in the actual parameter list +shall be declared as component type local timers (see clause 6.2.10.1).

+ +

b)          +An altstep that is activated as a default shall +only have in parameters, port parameters, or timer parameters.

+ +

Examples

+ +

EXAMPLE +1:      Activation where the default reference is kept

+ +

    // +Declaration of a variable for the handling of defaults

+ +

    var default MyDefaultVar := null;

+ +

     :

+ +

    // Declaration of a default reference +variable and activation of an altstep as default

+ +

    var default MyDefVarTwo +:= activate(MySecondAltStep());

+ +

     :

+ +

    // Activation of altstep MyAltStep as +a default

+ +

    MyDefaultVar := activate(MyAltStep()); +// MyAltStep is activated as default

+ +

     :

+ +

    // Usage of MyDefaultVar for the +deactivation of default MyDefAltStep

+ +

    deactivate(MyDefaultVar);

+ +

 

+ +

EXAMPLE +2:      Simple activation

+ +

    // Activation of an altstep as a +default, without assignment of default reference

+ +

    activate(MyCommonDefault());

+ +

 

+ +

EXAMPLE 3:      Activation of +a parameterized altstep

+ +

    altstep MyAltStep2 ( integer    +par_value1, MyType par_value2,
+                         MyPortType par_port,  
timer  par_timer )
+    {
+     :
+    }

+ +

    function MyFunc () runs on +MyCompType

+ +

    { :

+ +

    var default MyDefaultVar := null;

+ +

     

+ +

    MyDefaultVar := activate(MyAltStep2(5, +myVar, myCompPort, myCompTimer);

+ +

       // MyAltStep2 is activated as +default with the actual parameters 5 and

+ +

       // the value of myVar. A change of +myVar before a call of MyAltStep2 by

+ +

       // the default mechanism will not +change the actual parameters of the call.

+ +

     :

+ +

    }

+ +

 

+ +

20.5.3    The Deactivate +operation

+ +

The deactivate operation is used to deactivate defaults, i.e. +previously activated altsteps.

+ +

Syntactical Structure

+ +

deactivate [ "(" VariableRef +| FunctionInstance ")" ]

+ +

 

+ +

Semantic Description

+ +

A deactivate operation will remove the referenced default +from the list of defaults.

+ +

The effect of a deactivate operation is local to the test component in +which it is called. This means, a test component cannot deactivate a default in +another test component.

+ +

A deactivate operation without parameter deactivates all +defaults of a test component.

+ +

Calling a deactivate operation with the special value null has no effect. Calling a deactivate operation with an undefined default reference, +e.g. an old reference to a default that has already been deactivated or an +uninitialized default reference variable, shall cause a runtime error.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The variable associated with +VariableRef (being a component type variable, a component type +parameter, etc.) or the return type associated with FunctionInstance +must be of default type.

+ +

Examples

+ +

    var +default MyDefaultVar := null;

+ +

    var +default MyDefVarTwo := activate(MySecondAltStep());

+ +

    var +default MyDefVarThree := activate(MyThirdAltStep());

+ +

     :

+ +

    MyDefaultVar +:= activate(MyAltStep());

+ +

     :

+ +

    deactivate(MyDefaultVar); // +deactivates MyAltStep

+ +

     :

+ +

    deactivate;    // deactivates +all other defaults, i.e. in this case MySecondAltStep

+ +

               // and MyThirdAltStep

+ +

 

+ +
+ +

21       Configuration +Operations

+ +
+ +

Configuration +operations are used to set up and control test components. They are summarized +in table 20. These operations shall only be used in TTCN‑3 test cases, functions and +altsteps (i.e. not in the module control part).

+ +

Table +20: +Overview of TTCN‑3 +configuration operations

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Explanation

+
+

Syntax Examples

+
+

Connection + Operations

+
+

connect

+
+

Connects the port of one test component to the + port of another test component

+
+

connect(ptc1:p1, ptc2:p2);

+
+

disconnect

+
+

Disconnects two or more connected ports

+
+

disconnect(ptc1:p1, ptc2:p2);

+
+

map

+
+

Maps the port of one test component to the port + of the test system interface

+
+

map(ptc1:q, system:sutPort1);

+
+

unmap

+
+

Unmaps two or more mapped ports

+
+

unmap(ptc1:q, system:sutPort1);

+
+

Test Component + Operations

+
+

create

+
+

Creation of a normal or alive test component, + the distinction between normal and alive test components is made during + creation
+ (MTC behaves as a normal test component)

+
+

Non-alive test components:

+

var PTCType c := PTCType.create;

+

Alive test components:

+

var PTCType c := PTCType.create alive;

+
+

start

+
+

Starting test behaviour on a test component, + starting a behaviour does not affect the status of component variables, + timers or ports

+
+

c.start(PTCBehaviour());

+
+

stop

+
+

Stopping test behaviour on a test component

+
+

c.stop;

+
+

kill

+
+

Causes a test component to cease to exist

+
+

c.kill;

+
+

alive

+
+

Returns true if the test component has been + created and is ready to execute or is executing already a behaviour; + otherwise returns false

+
+

if (c.alive) …

+
+

running

+
+

Returns true as long as the test component is + executing a behaviour; otherwise returns false

+
+

if (c.running) …

+
+

done

+
+

Checks whether the function running on a test + component has terminated

+
+

c.done;

+
+

killed

+
+

Checks whether a test component has ceased to + exist

+
+

c.killed { … }

+
+

Test Case Operations

+
+

stop

+
+

Terminates the test case with the test verdict error

+
+

testcase.stop ( … );

+
+

Reference Operations

+
+

mtc

+
+

Gets the reference to the MTC

+
+

connect(mtc:p, + ptc:p);

+
+

system

+
+

Gets the reference to the test system interface

+
+

map(c:p, system:sutPort);

+
+

self

+
+

Gets the reference to the test component that + executes this operation

+
+

self.stop;

+
+ +
+ +

 

+ +

21.1      Connection Operations

+ +

The ports of a test component can be +connected to other components or to the ports of the test system interface +(see figure 10). In the case of connections between two test components, the connect operation shall be used. When connecting a test component to a test +system interface the map operation shall be used. The connect operation +directly connects one port to another with the in side connected +to the out side and vice versa. The map operation on +the other hand can be seen purely as a name translation defining how +communications streams can be referenced.

+ +

+ +

Figure 10: Illustration of the connect and map operations

+ +

21.1.1    The Connect and Map operations

+ +

The connect operation +and the map operation are used to setup connections to the SUT or between test components.

+ +

Syntactical Structure

+ +

connect "(" ComponentRef +":" Port "," ComponentRef ":" Port +")"

+ +

 

+ +

map "(" ComponentRef +":" Port "," ComponentRef ":" Port +")"

+ +

     [ param +"(" [ { ActualPar [","] }+ ] ")" ]

+ +

 

+ +

Semantic Description

+ +

With both the connect operation and the map operation, the ports to be connected are identified by the +component references of the components to be connected and the names of the +ports to be connected.

+ +

The operation mtc identifies the MTC, the operation system identifies the test system interface and the +operation self identifies +the test component in which self has been +called (see clause 6.2.11). All these +operations can be used for identifying and connecting ports.

+ +

Both the connect and map operations can be called from any behaviour definition +except for the control part of a module. However before either operation is +called, the components to be connected shall have been created and their +component references shall be known together with the names of the relevant +ports.

+ +

Both the map and connect operations allow the connection of a port to +more than one other port. It is not allowed to connect to a mapped port or to +map to a connected port.

+ +

The map +operation provides an optional parameter list for configuration purposes. The +actual parameters must conform to the map param clause of the +port type declaration of the system port used. It allows to pass values needed +for dynamic runtime configuration.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)       +For both the connect and map +operations, only consistent connections are allowed.

+ +

Assuming the following:

+ +

1)      ports +PORT1 and PORT2 are the ports to be connected;

+ +

2)      inlist-PORT1 +defines the messages or procedures of the in-direction of PORT1;

+ +

3)      outlist-PORT1defines +the messages or procedures of the out-direction of PORT1;

+ +

4)      inlist-PORT2 +defines the messages or procedures of the in-direction of PORT2; and

+ +

5)      outlist-PORT2 +defines the messages or procedures of the out-direction of PORT2.

+ +

b)       +The connect operation +is allowed if and only if:

+ +

outlist-PORT1 Ã inlist-PORT2 and +outlist-PORT2 Ã inlist-PORT1.

+ +

c)       +The map operation +(assuming PORT2 is the test system interface port) is allowed if and only if:

+ +

outlist-PORT1 Ã outlist-PORT2 and inlist-PORT2 +Ã +inlist-PORT1.

+ +

d)       +In all other cases, the +operations shall not be allowed.

+ +

e)       +Since TTCN‑3 allows dynamic configurations +and addresses, not all of these consistency checks can be made statically at +compile-time. All checks, which could not be made at compile-time, shall be +made at run-time and shall lead to a test case error when failing.

+ +

f)        +In addition, the restrictions on allowed and +disallowed connections described in clause 9.1 apply.

+ +

Examples

+ +

EXAMPLE +1:      Simple map and connect

+ +

    // It is assumed that the ports +Port1, Port2, Port3 and PCO1 are properly defined and declared

+ +

    // in the corresponding port +type and component type definitions

+ +

     :

+ +

    var MyComponentType  MyNewPTC;

+ +

    MyNewPTC := MyComponentType.create;

+ +

     :

+ +

    connect(MyNewPTC:Port1, mtc:Port3);

+ +

    map(MyNewPTC:Port2, system:PCO1);

+ +

     :

+ +

    // In this example a new component of type MyComponentType is +created and its reference stored

+ +

    // in variable MyNewPTC. Afterwards in the connect operation, +Port1 of this new component

+ +

    // is connected with Port3 of the MTC. By means of the map +operation, Port2 of the new component

+ +

    // is then connected to port PCO1 of the test system interface

+ +

   

+ +

 

+ +

EXAMPLE +2:      Parameterized map

+ +

     :

+ +

    var MyConfigType MyConfig := { option := 1, lock := +false};

+ +

     :

+ +

    map(mtc:Port4, system:PCO2) param +(MyConfig);

+ +

     :

+ +

    // In this example by means of the map operation, Port4 of the +MTC is connected to the port PCO2

+ +

    // of the test system interface, and additionally a parameter +containing configuration options

+ +

    // for the connection is passed.

+ +

 

+ +

21.1.2    The Disconnect and Unmap +operations

+ +

The disconnect and unmap operations are the opposite operations of connect and map.

+ +

Syntactical +Structure

+ +

disconnect [ ( "(" ComponentRef +":" Port "," ComponentRef ":" Port +")" ) |

+ +

             ( "(" PortRef +")" ) |

+ +

             ( "(" ComponentRef +":" all port ")" ) |

+ +

             ( "(" all +component ":" all port ")" ) ]

+ +

 

+ +

unmap [ ( "(" ComponentRef +":" Port "," ComponentRef ":" Port +")" ) |

+ +

             ( "(" PortRef +")" ) |

+ +

             ( "(" ComponentRef +":" all port ")" ) |

+ +

             ( "(" all +component ":" all port ")" ) ]

+ +

        [ param "(" [ +{ ActualPar [","] }+ ] ")" ]

+ +

 

+ +

Semantic Description

+ +

The disconnect and unmap operations perform the disconnection (of +previously connected) ports of test components and the unmapping of (previously +mapped) ports of test components and ports in the test system interface.

+ +

Both, the disconnect and unmap operations can be called from any component if the +relevant component references together with the names of the relevant ports are +known. A disconnect or unmap operation has only an effect if the connection +or mapping to be removed has been created beforehand.

+ +

To ease disconnect and unmap operations related to all connections and mappings of a component +or a port, it is allowed to use disconnect and unmap +operations with one argument only. This one argument specifies one side of the +connections to be disconnected or unmapped. The all port keyword +can be used to denote all ports of a component.

+ +

The usage of a disconnect or unmap +operation without any parameters is a shorthand form for using the operation with +the parameter self:all port. It +disconnects or unmaps all ports of the component that calls the operation.

+ +

The all component keyword shall only be used in combination with the all port keyword, i.e. all component:all port, and shall only be used by the MTC. Furthermore, the all component:all port argument shall be used as the one and only argument of a disconnect or unmap operation and it allows to release all connections and mappings of +the test configuration.

+ +

Similar to the map operation, unmap provides +an optional parameter list for configuration purposes. The actual parameters +must conform to the unmap param clause of the port type +declaration of the system port used. It allows to pass values needed for +dynamic runtime configuration.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

EXAMPLE 1:      Disconnect/unmap +for specific connections

+ +

    connect(MyNewComponent:Port1, mtc:Port3);

+ +

    map(MyNewComponent:Port2, system:PCO1);

+ +

     :

+ +

    disconnect(MyNewComponent:Port1, +mtc:Port3);   // disconnect previously +made connection

+ +

    unmap(MyNewComponent:Port2, system:PCO1);      // +unmap previously made mapping

+ +

 

+ +

EXAMPLE 2:      Disconnect/unmap +for a component

+ +

    disconnect(MyNewComponent:Port1);              // +disconnects all connections of Port1, which
+                                                // is owned by component +MyNewComponent.

+ +

    unmap(MyNewComponent:all +port);                // unmaps all ports of component MyNewComponent

+ +

 

+ +

EXAMPLE 3:      Disconnect/unmap +for "self"

+ +

    disconnect;                                    // +is a shorthand form for …

+ +

    disconnect(self:all +port);                     // which disconnects all ports of the +component

+ +

                                                // +that called the operation

+ +

     :

+ +

    unmap;                                      // +is a shorthand form for …

+ +

    unmap(self:all port);                       // +which unmaps all ports of the component

+ +

                                               // +that called the operation

+ +

 

+ +

EXAMPLE 4:      Disconnect/unmap +for "all component"

+ +

    disconnect(all component:all +port);            // the MTC +disconnects all ports of all

+ +

                                                // +components in the test configuration.

+ +

     :

+ +

    unmap(all component:all +port);                 // the MTC +unmaps all ports of all

+ +

                                                // +components in the test configuration.

+ +

 

+ +

21.2      Test case operations

+ +

Test case operations address the entire +test case by using the keyword testcase. Currently, the test case stop +operation is the only test case operation. It specifies an immediate stop of +the test case behaviour with an error verdict.

+ +

21.2.1    Test case stop operation

+ +

The testcase stop +operation defines a user defined immediate termination of a test case with the +test verdict error and an +(optional) associated reason for the termination. Such an immediate stop of a +test case is required for cases where a user defined behaviour that does not +contribute to the test outcome behaves in an unexpected manner which leads to a +situation where the continuation of the test case makes no more sense.

+ +

Syntactical Structure

+ +

testcase +"." stop [ "(" { ( FreeText | TemplateInstance +) [","] } ")" ]

+ +

 

+ +

Semantic Description

+ +

The test case stop +operation causes an immediate stop of the entire test case behaviour with the verdict +error. In addition, the test case stop operation +provides the means to specify the reason for the immediate termination of a +test case by writing one or more items to some logging device associated with +the test control or the test component in which the operation is used. Items to +be logged shall be identified by a comma‑separated list in the argument +of the test case stop operation. The argument of the test case stop operation +shall follow the same restrictions as the argument of the log statement (see +clause 19.11).

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)       +The test case stop operation +shall not be used in the module control part or functions invoked directly or +indirectly by the module control part.

+ +

Examples

+ +

    testcase.stop("Unexpected +Termination");

+ +

    // The test case stops the an error +verdict and the string "Unexpected Termination"

+ +

    // is written to some log device of +the test system

+ +

 

+ +

21.3      Test Component +Operations

+ +

Test component +operations are used to create, start, stop and kill test components. They can +also be used to check if test components are alive, running, done or killed.

+ +

21.3.1    The Create operation

+ +

The create operation +is used to create test components.

+ +

Syntactical Structure

+ +

ComponentType "." create +[ "(" Expression ["," Expression] ")" +] [ alive ]

+ +

 

+ +

Semantic +Description

+ +

The MTC +is the only test component, which is automatically created when a test case +starts. All other test components (the PTCs) shall be created explicitly during +test execution by create operations. A component is created with its full +set of ports of which the input queues are empty and with its full set of +constants, variables and timers. Furthermore, if a port is defined to be of the +type in or inout +it shall be in a listening state ready to receive traffic over the connection.

+ +

All component variables +and timers are reset to their initial value (if any) and all component +constants are reset to their assigned values when the component is explicitly +or implicitly created.

+ +

Two types of PTCs are distinguished: a PTC that can execute a behaviour function +only once and a PTC that is kept alive after +termination of a behaviour function and can be therefore reused to execute +another function. The latter is created using the additional alive keyword. An alive-type PTC must be destroyed explicitly using the kill operation (see clause 21.3.4), whereas a +non-alive PTC is destroyed +implicitly after its behaviour function terminates. Termination of a test case, +i.e. the MTC, terminates all PTCs that still +exist, if any.

+ +

Since all test +components and ports are implicitly destroyed at the termination of each test +case, each test case shall completely create its required configuration of +components and connections when it is invoked.

+ +

The create operation shall return the unique component +reference of the newly created instance. The unique reference to the component +will typically be stored in a variable (see clause 6.2.10.1) and can be +used for connecting instances and for communication purposes such as sending +and receiving.

+ +

Optionally, a name can be associated with +the newly created component instance. The test system shall associate the names +'MTC' to the MTC and 'SYSTEM' to the test system interface automatically at +creation. Associated component names are not required to be unique.

+ +

The component instance name is used for +logging purposes (see clause 19.11) only and shall not be used to refer to the +component instance (the component reference shall be used for this purpose) and +has no effect on matching.

+ +

Also optionally, a host id can be +associated with the newly created component instance. If a host id is provided, +the create operation shall cause a test case error, if the component cannot be +deployed on the specified host.

+ +

Components can be +created at any point in a behaviour definition providing full flexibility with +regard to dynamic configurations (i.e. any component can create any other PTC). The visibility of component +references shall follow the same scope rules as that of variables and in order +to reference components outside their scope of creation the component reference +shall be passed as a parameter or as a field in a message.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The name given by the first Expression +shall be a charstring value and when assigned it shall appear as the first +argument of the create function.

+ +

b)          +The host id given by the second Expression +shall be a charstring value and, when assigned, it shall appear as the +second argument of the create function.

+ +

Examples

+ +

    // This example declares variables of type MyComponentType, +which is used to store the

+ +

    // references of newly created component instances of type +MyComponentType which is the

+ +

    // result of the create operations. An associated name is +allocated to some of the created

+ +

    // component instances.

+ +

     :

+ +

    var MyComponentType MyNewComponent;

+ +

    var MyComponentType MyNewestComponent;

+ +

    var MyComponentType MyAliveComponent;

+ +

    var MyComponentType MyAnotherAliveComponent;

+ +

    var MyComponentType MyDeployedComponent;

+ +

     :

+ +

    MyNewComponent := MyComponentType.create;

+ +

    MyNewestComponent := MyComponentType.create("Newest");

+ +

    MyAliveComponent := MyComponentType.create alive;

+ +

    MyAnotherAliveComponent := MyComponentType.create("Another +Alive") alive;

+ +

    MyDeployedComponent := MyComponentType.create(-, “Host4â€);

+ +

 

+ +

21.3.2    The Start test component +operation

+ +

The start operation is used to associate a test behaviour +to a test component, which is then being executed by that test component.

+ +

Syntactical +Structure

+ +

( VariableRef +| FunctionInstance ) "." start "(" FunctionInstance +")"

+ +

 

+ +

Semantic +Description

+ +

Once a PTC has been created and connected, +behaviour has to be bound to this PTC and the +execution of its behaviour has to be started. This is done by using the start operation (as PTC creation does not start execution of the component +behaviour). The reason for the distinction between create and start is to allow connection operations to be done before +actually running the test component.

+ +

The start operation shall bind the required behaviour to +the test component. This behaviour is defined by reference to an already +defined function.

+ +

An alive-type PTC may perform several +behaviour functions in sequential order. Starting a second behaviour function +on a non-alive PTC or starting a function on a PTC that is still running +results in a test case error. If a function is started on an alive-type PTC +after termination of a previous function, it uses variable values, timers, +ports, and the local verdict as they were left after termination of the +previous function. In particular, if a timer was started in the previous +function, the subsequent function should be enabled to handle a possible +timeout event. In contrast to that, all active defaults are deactivated when +the behaviour of an alive-type PTC is stopped. This means no default is activated +when a new behaviour is started on an alive-type PTC.

+ +

NOTE 1:   The lifetime of variables and timers is +bound to the scope in which they are declared. When an alive-type component is +stopped, only the component scope is left. This means only variable values and +timers declared in the component type definition of an alive-type PTC can be +accessed by a function with a corresponding runs on-clause +that is started on an alive-type PTC.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

b)          +The following restrictions apply to a function +invoked in a start test component operation:

+ +

·         +This function shall have a runs on +definition referencing a component type that is compatible with the newly +created component (see clause 6.3.3).

+ +

·         +Ports and timers shall not be passed into this +function.

+ +

NOTE 2:   Possible return values of a function +invoked in a start test component operation, i.e. templates denoted by return +keyword or inout and out parameters, have no effect when the started test component +terminates.

+ +

NOTE 3:   As in and inout +ports starts listening when the component is created, at the moment, when it +starts execution there may be messages in the incoming queues of such ports +already waiting to be processed.

+ +

Examples

+ +

    function MyFirstBehaviour() runs on MyComponentType { … }

+ +

    function MySecondBehaviour() runs on MyComponentType { … }

+ +

    :

+ +

    var MyComponentType MyNewPTC;

+ +

    var MyComponentType MyAlivePTC;

+ +

    :

+ +

    MyNewPTC := MyComponentType.create;         // +Creation of a new non-alive test component.

+ +

    MyAlivePTC := MyComponentType.create +alive; // Creation of a new alive-type test component

+ +

    :

+ +

    MyNewPTC.start(MyFirstBehaviour());     // +Start of the non-alive component.

+ +

    MyNewPTC.done;                          // +Wait for termination

+ +

    MyNewPTC.start(MySecondBehaviour());    // +Test case error

+ +

    :

+ +

    MyAlivePTC.start(MyFirstBehaviour());       // +Start of the alive-type component

+ +

    MyAlivePTC.done;                        // +Wait for termination

+ +

    MyAlivePTC.start(MySecondBehaviour());      // +Start of the next function on the same component

+ +

 

+ +

21.3.3    The Stop test behaviour +operation

+ +

The stop test behaviour operation is used to stop the +execution of a test component by itself or by another test component.

+ +

Syntactical Structure

+ +

stop |

+ +

( ( VariableRef | FunctionInstance +| mtc | self ) "." stop ) |

+ +

( all component +"." stop )

+ +

 

+ +

Semantic +Description

+ +

By using the stop +test component statement a test component can stop the execution of its own +currently running test behaviour or the execution of the test behaviour running +on another test component. If a component does not stop its own behaviour, but +the behaviour running on another test component in the test system, the +component to be stopped has to be identified by using its component reference. +A component can stop its own behaviour by using a simple stop execution statement (see clause 19.9) or by addressing itself in the stop operation, e.g. by using the self operation.

+ +

NOTE 1:   While the create, start, +running, done and killed operations can be used for PTC(s) only, the stop +operation can also be applied to the MTC.

+ +

Stopping a test component is the explicit form of +terminating the execution of the currently running behaviour. A test component +behaviour terminates also by completing its execution upon reaching the end of +the testcase or function that is started on this component or by an explicit return statement. This termination is also called +implicit stop. The implicit stop has the same effects as an explicit stop, i.e. +the global verdict is updated with the local verdict of the stopped test +component (see clause 24).

+ +

If the stopped test +component is the MTC, +resources of all existing PTCs shall be released, the PTCs shall be removed +from the test system and the test case shall terminate (see clause 26.1).

+ +

Stopping a +non-alive-type test component (implicitly or explicitly) shall destroy it and +all resources associated with the test component shall be released.

+ +

Stopping an alive-type component shall stop +the currently running behaviour only but the component continues to exist and +can execute new behaviour (started on it using the start operation). +Stopping an alive-type component means that all variables, timers and ports +declared in the component type definition of the alive-type component keep +their value, contents or state. Furthermore, the local verdict of the component +keeps its value. In contrast to that, all active defaults are automatically +deactivated when the alive-type component is stopped. The component shall be +left in a consistent state after stopping its behaviour.

+ +

For example, if the behaviour of an +alive-type component is stopped during assigning a new value to an already +bound variable, the variable shall remain bound after the component is stopped +(with the old or the new value). Similarly, if the component is stopped during +re-starting an already running timer, the timer shall be left in the running +state after termination of the behaviour.

+ +

The all keyword can +be used by the MTC only in order to stop all running PTCs but the MTC itself.

+ +

NOTE 2:   A PTC can stop the test case execution by +stopping the MTC.

+ +

NOTE 3:   The concrete mechanism for stopping PTCs +is outside the scope of the present document.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

Examples

+ +

EXAMPLE 1:      Stopping +another test component and a test component by itself

+ +

    var MyComponentType MyComp := +MyComponentType.create;  // A new test component is created

+ +

    MyComp.start(CompBehaviour());                         // +The new component is started

+ +

    :

+ +

    if (date == +"1.1.2005") {

+ +

       MyComp.stop;                 // +The component "MyComp" is stopped

+ +

    }

+ +

 

+ +

    :

+ +

    if (a < b ) {

+ +

        :

+ +

       self.stop;     // +The test component that is currently executing stops its own behaviour

+ +

    }

+ +

    :

+ +

    stop           // The test +component stops its own behaviour

+ +

 

+ +

EXAMPLE 2:      Stopping +all PTCs by the MTC

+ +

    all component.stop    // +The MTC stops all PTCs of the test case but +not itself.

+ +

 

+ +

21.3.4    The Kill test component +operation

+ +

The kill test component operation is used to destroy a +test component by itself or by another test component. Kill and stop on a +non-alive component have the same results, while they differ for alive +components: stopping an alive components stops the test behaviour only, the +test component continues to exist. Killing a test component destroys the test +component.

+ +

Syntactical Structure

+ +

kill |

+ +

( ( VariableRef | FunctionInstance +| mtc | self ) "." kill ) |

+ +

( all component +"." kill )

+ +

 

+ +

Semantic +Description

+ +

The kill operation +applied on a test component stops the execution of the currently running +behaviour - if any - of that component and frees all resources associated to it +(including all port connections of the killed component) and removes the +component from the test system. The kill operation can be applied on the current test component +itself by a simple kill statement or +by addressing itself using the self +operation in conjunction with the kill operation. The kill operation can also be applied to another test +component. In this case the component to be killed shall be addressed using its +component reference. If the kill operation is +applied on the MTC, e.g. mtc.kill, it terminates the test case.

+ +

The all keyword can +be used by the MTC only in order to stop and kill all running PTCs but the MTC +itself.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

Examples

+ +

EXAMPLE 1:      Killing +another test component and a test component by itself

+ +

    var PTCType MyAliveComp := +PTCType.create alive;   // Create an alive-type test component

+ +

    MyAliveComp.start(MyFirstBehaviour());             // +The new component is started

+ +

    MyAliveComp.done;                              // +Wait for termination

+ +

    MyAliveComp.start(MySecondBehavior());             // +Start the component a 2nd time

+ +

    MyAliveComp.done;                              // +Wait for termination

+ +

    MyAliveComp.kill;                              // +Free its resources

+ +

 

+ +

EXAMPLE 2:      Killing +all PTCs by the MTC

+ +

    all component.kill;       // +The MTC stops all (alive-type and normal) PTCs of the test case first
+    // and frees their resources.

+ +

 

+ +

21.3.5    The Alive operation

+ +

The alive operation +is a Boolean operation that checks whether a test component has been created +and is ready to execute or is executing already a behaviour function.

+ +

Syntactical Structure

+ +

( VariableRef +|

+ +

FunctionInstance +|

+ +

any component +|

+ +

all component +) "." alive

+ +

 

+ +

Semantic +Description

+ +

Applied on a normal test component, the alive +operation returns true if the component is inactive or running a function and +false otherwise. Applied on an alive-type test component, the operation returns +true if the component is inactive, running or stopped. It returns false if the +component has been killed.

+ +

The alive +operation can be used similar to the running operation +on PTCSs only (see clause 21.3.6). In particular, in combination with the all +keyword it returns true if all (alive-type or normal) PTCs are alive.

+ +

The alive operation +used in combination with the any keyword returns true if at least +one PTC is alive.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +The variable associated with +VariableRef (being a component type variable, a component type +parameter, etc.) or the return type associated with FunctionInstance +must be of component type.

+ +

Examples

+ +

    PTC1.done;                           // +Waits for termination of the component

+ +

    if (PTC1.alive) {                    // If the +component is still alive …

+ +

       PTC1.start(AnotherFunction());       // +… execute another function on it.

+ +

    }

+ +

 

+ +

21.3.6    The Running operation

+ +

The running operation is a Boolean operation that checks whether a test +component is executing already a behaviour function.

+ +

Syntactical Structure

+ +

( VariableRef |

+ +

FunctionInstance +|

+ +

any component +|

+ +

all component +) "." running

+ +

 

+ +

Semantic Description

+ +

The running operation allows behaviour executing on a test +component to ascertain whether behaviour running on a different test component +has completed. The running operation +can be used for PTCs only. The running operation returns true for PTCs that have been started but not yet +terminated or stopped. It returns false +otherwise. The running operation +is considered to be a boolean expression +and, thus, returns a boolean value to +indicate whether the specified test component (or all test components) has +terminated. In contrast to the done +operation, the running operation +can be used freely in boolean +expressions.

+ +

When the all +keyword is used with the running operation, +it will return true if all PTCs +started but not stopped explicitly by another component are executing their +behaviour. Otherwise it returns false.

+ +

When the any +keyword is used with the running operation, +it will return true if at least +one PTC is executing its +behaviour. Otherwise it returns false.

+ +

Restrictions

+ +

In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+ +

a)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

Examples

+ +

    if +(PTC1.running)                // usage of running in an if statement

+ +

    {

+ +

       // +do something! 

+ +

    }

+ +

 

+ +

    while (all component.running +!= true) { // usage of running in a loop condition

+ +

       MySpecialFunction()

+ +

    }

+ +

 

+ +

21.3.7    The Done operation

+ +

The done operation +allows behaviour executing on a test component to ascertain whether the +behaviour running on a different test component has completed.

+ +

Syntactical +Structure

+ +

( VariableRef +|

+ +

FunctionInstance |

+ +

any component +|

+ +

all component +) "." done

+ +

 

+ +

Semantic +Description

+ +

The done operation +shall be used in the same manner as a receiving operation or a timeout operation. This means it shall not be used in a +boolean expression, but it can be used to determine an +alternative in an alt statement or +as stand-alone statement in a behaviour description. In the latter case a done operation is considered to be a shorthand for +an alt statement with the done operation as the only alternative.

+ +

When the done operation +is applied to a PTC, it +matches only if the behaviour of that PTC has +been stopped (implicitly or explicitly) or the PTC has been killed. Otherwise, the match is unsuccessful.

+ +

When the all +keyword is used with the done operation, it +matches if no one PTC is +executing its behaviour. It also matches if no PTC has been created.

+ +

When the any +keyword is used with the done operation, it +matches if at least the behaviour of one PTC has been stopped or killed. Otherwise, the match is +unsuccessful.

+ +

NOTE:      Stopping the behaviour of a non-alive +component also results in removing that component from the test system, while +stopping an alive-type component leaves the component alive in the test system. +In both cases the done operation matches.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The done operation can be used for PTCs +only.

+ +

b)          +The variable associated with VariableRef +(being a component type variable, a component type parameter, etc.) or the +return type associated with FunctionInstance must be of component type.

+ +

Examples

+ +

    // Use +of done in alternatives

+ +

    alt {

+ +

       []  MyPTC.done +{

+ +

               setverdict(pass)

+ +

           }

+ +

 

+ +

       []  any port.receive +{

+ +

              repeat

+ +

           }

+ +

    }

+ +

 

+ +

    var MyComp c := MyComp.create +alive;

+ +

    c.start(MyPTCBehaviour());

+ +

    :

+ +

    c.done;

+ +

       // matches as soon as the function +MyPTCBehaviour (or function/altstep called by it) stops

+ +

    c.done;

+ +

       // matches the end of +MyPTCBehaviour (or function/altstep called by it) too

+ +

    if(c.running) {c.done}

+ +

       // done here matches the end of +the next behaviour only

+ +

 

+ +

    // the following done as stand-alone +statement:

+ +

    all component.done;

+ +

 

+ +

    // has the following meaning:

+ +

    alt {

+ +

       []  all component.done +{}

+ +

    }

+ +

    // and thus, blocks the execution +until all parallel test components have terminated

+ +

 

+ +

21.3.8    The Killed operation

+ +

The killed operation +allows to ascertain whether a different test component is alive or has been +removed from the test system.

+ +

Syntactical +Structure

+ +

( VariableRef +|

+ +

FunctionInstance |

+ +

any component +|

+ +

all component +) "." killed

+ +

 

+ +

Semantic Description

+ +

The killed operation shall be used in the same manner as +receiving operations. This means it shall not be used in boolean expressions, but it can be used to determine an +alternative in an alt statement or +as a stand-alone statement in a behaviour description. In the latter case a killed operation is considered to be a shorthand for +an alt statement with the killed operation as the only alternative.

+ +

NOTE:      When checking normal test components a +killed operation matches if it stopped (implicitly or explicitly) the execution +of its behaviour or has been killed explicitly, i.e. the +operation is equivalent to the done operation (see clause 21.3.7). +When checking alive-type test components, however, the killed +operation matches only if the component has been killed using the kill +operation. Otherwise the killed operation is unsuccessful.

+ +

When the all +keyword is used with the killed operation, +it matches if all PTCs of the +test case have ceased to exist. It also matches if no PTC has been created.

+ +

When the any +keyword is used with the killed operation, +it matches if at least one PTC +ceased to exist. Otherwise, the match is unsuccessful.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The killed operation can be used for +PTCs only.

+ +

Examples

+ +

    var MyPTCType ptc := MyPTCType.create alive;   // create an +alive-type test component

+ +

    timer T:= 10.0;                                // +create a timer

+ +

    T.start;                                    // +start the timer

+ +

    ptc.start(MyTestBehavior());                // +start executing a function on the PTC

+ +

    alt {

+ +

    [] ptc.killed +{                                // if the PTC +was killed during execution …

+ +

       T.stop;                                 // +… stop the timer and …

+ +

       setverdict(inconc);                         // +… set the verdict to 'inconclusive'

+ +

       }

+ +

    [] ptc.done +{                               // if the PTC +terminated regularly …

+ +

       T.stop;                                  // +… stop the timer and …

+ +

       ptc.start(AnotherFunction());           // +… start another function on the PTC

+ +

       }

+ +

    [] T.timeout {                              // +if the timeout occurs before the PTC stopped

+ +

       ptc.kill;                               // +… kill the PTC and …

+ +

       setverdict(fail);                       // +… set the verdict to 'fail'

+ +

       }

+ +

    }

+ +

 

+ +

21.3.9    Summary of the use of +any and all with components

+ +

The keywords any +and all may be used with configuration operations as +indicated in table 21.

+ +

Table 21: +Any and All with components

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+

Comment

+
+

 

+
+

any (see note)

+
+

all (see note)

+
+

 

+
+

 

+
+

create

+
+

 

+
+

 

+
+

 

+
+

 

+
+

start

+
+

 

+
+

 

+
+

 

+
+

 

+
+

running

+
+

Yes but from MTC only

+
+

Yes but from MTC only

+
+

any + component.running;

+

 

+

all + component.running;

+
+

Is there any PTC performing test behaviour?

+

Are all PTCs performing test behaviour?

+
+

alive

+
+

Yes but from MTC only

+
+

Yes but from MTC only

+
+

any + component.alive;

+

all + component.alive;

+
+

Is there any alive PTC?

+

Are all PTCs alive?

+
+

done

+
+

Yes but from MTC only

+
+

Yes but from MTC only

+
+

any + component.done;

+

 

+

all + component.done;

+
+

Is there any PTC that completed execution?

+

Did all PTCs complete their execution?

+
+

killed

+
+

Yes but from MTC only

+
+

Yes but from MTC only

+
+

any + component.killed;

+

all + component.killed;

+
+

Is there any PTC that ceased to exist?

+

Did all PTCs cease to exist?

+
+

stop

+
+

 

+
+

Yes but from MTC only

+
+

all + component.stop;

+
+

Stop the behaviour on all PTCs.

+
+

kill

+
+

 

+
+

Yes but from MTC only

+
+

all + component.kill;

+
+

Kill all PTCs, i.e. they cease to exist.

+
+

NOTE:       any and all + refer to PTCs only, i.e. the MTC is not considered.

+
+ +
+ +

 

+ +
+ +

22       Communication +operations

+ +
+ +

TTCN‑3 +supports message-based and procedure-based unicast, multicast +and broadcast communication. Furthermore, TTCN‑3 allows to examine the top element of incoming port queues +and to control the access to ports by means of controlling operations. +The communication operations and restrictions on their usage are summarized in +table 22.

+ +

Table 22: +Overview of TTCN‑3 +communication operations

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Communication operations

+
+

Communication operation

+
+

Keyword

+
+

Can be used at + message-based ports

+
+

Can be used at + procedure-based ports

+
+

Message-based communication

+
+

Send message

+
+

send

+
+

Yes

+
+

 

+
+

Receive message

+
+

receive

+
+

Yes

+
+

 

+
+

Trigger on message

+
+

trigger

+
+

Yes

+
+

 

+
+

Procedure-based communication

+
+

Invoke procedure call

+
+

call

+
+

 

+
+

Yes

+
+

Accept procedure call from + remote entity

+
+

getcall

+
+

 

+
+

Yes

+
+

Reply to procedure call + from remote entity

+
+

reply

+
+

 

+
+

Yes

+
+

Raise exception (to an + accepted call)

+
+

raise

+
+

 

+
+

Yes

+
+

Handle response from a + previous call

+
+

getreply

+
+

 

+
+

Yes

+
+

Catch exception (from called + entity)

+
+

catch

+
+

 

+
+

Yes

+
+

Examine top element of incoming port queues

+
+

Check + msg/call/exception/reply received

+
+

check

+
+

Yes

+
+

Yes

+
+

Controlling operations

+
+

Clear port queue

+
+

clear

+
+

Yes

+
+

Yes

+
+

Clear queue and enable sending and + receiving at a port

+
+

start

+
+

Yes

+
+

Yes

+
+

Disable sending and + disallow receiving operations to match at a port

+
+

stop

+
+

Yes

+
+

Yes

+
+

Disable sending and + disallow receiving operations to match new messages/calls

+
+

halt

+
+

Yes

+
+

Yes

+
+ +
+ +

 

+ +

22.1      The communication mechanisms

+ +

This clause explains the principles of TTCN‑3 +communication for message-based communication (see clause 22.1.1), for procedure-based communication +(see clause 22.1.2), for +unicast, multicast, and broadcast communication (see clause 22.1.3), as well as the general format of +sending and receiving operations (see clause 22.1.4).

+ +

22.1.1    Principles of message-based +communication

+ +

Message-based +communication is communication based on an asynchronous message exchange. +Message-based communication is non-blocking on the send operation, as illustrated in figure 11, +where processing in the SENDER continues immediately after the send operation occurs. The RECEIVER is blocked on +the receive operation until it processes the received +message.

+ +

In addition to the receive operation, TTCN‑3 provides a trigger operation that filters messages with certain +matching criteria from a stream of received messages on a given incoming port. +Messages at the top of the queue that do not fulfil the matching criteria are +removed from the port without any further action.

+ +

+ +

Figure 11: Illustration of the asynchronous send and +receive

+ +

22.1.2    Principles of procedure-based +communication

+ +

The principle of +procedure-based communication is to call procedures in remote entities. TTCN‑3 supports blocking and non-blocking +procedure-based communication. Blocking procedure-based communication is +blocking on the calling and the called side, whereas non-blocking +procedure-based communication is only blocking on the called side. Signatures +of procedures that are used for non-blocking procedure-based communication +shall be specified according to the rules in clause 13.

+ +

The communication scheme of blocking procedure-based +communication is shown in figure 12. The CALLER calls a remote procedure in the CALLEE by +using the call operation. +The CALLEE accepts the call by means of a getcall operation and reacts by either using a reply operation to answer the call or by raising (raise operation) an exception. The CALLER handles the +reply or exception by using getreply or catch operations. In figure 12, the blocking +of CALLER and CALLEE is indicated by means of dashed lines.

+ +

+ +

Figure 12: Illustration of blocking procedure-based communication

+ +

The communication +scheme of non-blocking procedure-based communication is shown in figure 13. The CALLER +calls a remote procedure in the CALLEE by using the call operation and continues its execution, i.e. +does not wait for a reply or exception. The CALLEE accepts the call by means of +a getcall operation and executes the requested procedure. +If the execution is not successful, the CALLEE may raise an exception to inform +the CALLER. The CALLER may handle the exception by using a catch operation in an alt statement. In figure 13, the blocking +of the CALLEE until the end of the call handling and possible raise of an +exception is indicated by means of a dashed line.

+ +

+ +

Figure 13: Illustration of non-blocking procedure-based +communication

+ +

22.1.3    Principles of unicast, +multicast and broadcast communication

+ +

TTCN‑3 supports unicast, multicast +and broadcast communication:

+ +

·            +Unicast communication means one sender to one +receiver.

+ +

·            +Multicast communication is from one sender to a +list of receivers.

+ +

·            +Broadcast communication is from one sender to +all receivers (being connected or mapped to the sender).

+ +

The terms unicast, multicast and broadcast +communication are related to port communication. This means, it is only +possible to address one, several or all test components that are connected to +the specified port. Unicast, multicast and broadcast can also be used for +mapped ports. In this case, one, several or all entities within the SUT can be +reached via the specified mapped port.

+ +

22.1.4    General format of +communication operations

+ +

Operations such as send and call are used for the exchange of information among test +components and between an SUT +and test components. For explaining the general format of these operations, +they can be structured into two groups:

+ +

a)      a test component sends a message (send +operation), calls a procedure (call operation), or replies to an +accepted call (reply operation) or raises an exception (raise operation). +These actions are collectively referred to as sending operations;

+ +

b)      a component +receives a message (receive operation), awaits a message (trigger +operation),accepts a procedure call (getcall +operation), receives a reply for a previously called procedure (getreply operation) or catches an exception (catch operation). +These actions are collectively referred to as receiving operations.

+ +

22.1.4.1          General format +of the sending operations

+ +

Sending operations +consist of a send part and, in the case of a blocking procedure-based call operation, a response and exception +handling part.

+ +

The send part:

+ +

·            +specifies the port at which the specified +operation shall take place;

+ +

·            +defines the message or procedure call to be +transmitted;

+ +

·            +gives an (optional) address part that uniquely +identifies one or more communication partners to which a message, call, reply +or exception shall be send.

+ +

The port name, +operation name and value shall be present in all sending operations. The +address part (denoted by the to +keyword) is optional and need only be specified in cases of one-to-many +connections where:

+ +

·            +unicast communication is used and one receiving +entity shall be explicitly identified;

+ +

·            +multicast communication is used and a set of +receiving entities has to be explicitly identified;

+ +

·            +broadcast communication is used and all entities +connected to the specified port have to be addressed.

+ +

EXAMPLE +1:

+ +
+ + + + + + + + + + + + + + + + + + +
+

Send + part

+
+

(Optional) + response and exception

+
+

Port and operation

+
+

Value part

+
+

(Optional) address part

+
+

handling part

+
+

MyP1.send

+
+

(MyVariable + YourVariable - 2)

+
+

to MyPartner;

+
+

 

+
+ +
+ +

 

+ +

Response and exception +handling is only needed in cases of procedure-based communication. The response +and exception handling part of the call +operation is optional and is required for cases where the called procedure +returns a value or has out or inout parameters whose values are needed within the +calling component and for cases where the called procedure may raise exceptions +which need to be handled by the calling component.

+ +

The response and +exception handling part of the call operation makes use of getreply and catch operations to provide the required functionality.

+ +

EXAMPLE +2:

+ +
+ + + + + + + + + + + + + + + + + + +
+

Send part

+
+

(Optional) response and exception handling part

+
+

Port and operation

+
+

Value part

+
+

(Optional) address part

+
+

 

+
+

MyP1.call

+
+

(MyProc:{MyVar1})

+
+

 

+
+

{
+    [] MyP1.getreply(MyProc:{MyVar2}) {}
+    [] MyP1.catch(MyProc, ExceptionOne) {}
+ }

+
+ +
+ +

 

+ +

22.1.4.2          General format +of the receiving operations

+ +

A receiving operation +consists of a receive part and an (optional) assignment part.

+ +

The receive part:

+ +

a)      specifies the port at which the operation +shall take place;

+ +

b)      defines a matching part which specifies +the acceptable input which will match the statement;

+ +

c)       gives an (optional) address expression +that uniquely identifies the communication partner (in case of one‑to‑many +connections).

+ +

The port name, +operation name and value part of all receiving operations shall be present. The +identification of the communication partner (denoted by the from keyword) is optional and need only be specified +in cases of one-to-many connections where the receiving entity needs to be +explicitly identified.

+ +

The assignment part in +a receiving operation is optional. For message-based ports it is used when it +is required to store received messages. In the case of procedure-based ports it +is used for storing the in and inout parameters of an accepted call, for storing the +return value or for storing exceptions. For the assignment part strong typing +is required, e.g. the variable used for storing a message shall have the same +type as the incoming message.

+ +

In addition, the +assignment part may also be used to assign the sender address of a message, exception, reply or call +to a variable. This is useful for one-to-many connections where, for example, +the same message or call can be received from different components, but the +message, reply or exception must be sent back to the original sending +component.

+ +

EXAMPLE:

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Receive part

+
+

 

+
+

(Optional) assignment part

+
+

Port and operation

+
+

Matching part

+
+

(Optional) address expression

+
+

 

+
+

(Optional) value assignment

+
+

(Optional) parameter value assignment

+
+

(Optional) sender value assignment

+
+

MyP1.getreply

+
+

(AProc:{?} value 5)

+
+

 

+
+

->

+
+

 

+
+

param (V1)

+
+

sender APeer

+
+ +
+ +

 

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Receive part

+
+

 

+
+

(Optional) assignment part

+
+

Port and operation

+
+

Matching part

+
+

(Optional) address expression

+
+

 

+
+

(Optional) value assignment

+
+

(Optional) parameter value assignment

+
+

(Optional) sender value assignment

+
+

MyP2.receive

+
+

(MyTemplate(5,7))

+
+

from APeer

+
+

->

+
+

value MyVar

+
+

 

+
+

 

+
+ +
+ +

 

+ +

22.2      Message-based +communication

+ +

The operations for message-based +communication via asynchronous ports are summarized in table 23.

+ +

Table 23: +Overview of TTCN‑3 message-based +communication

+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+

Communication operation

+
+

Keyword

+
+

Send message

+
+

send

+
+

Receive message

+
+

receive

+
+

Trigger on message

+
+

trigger

+
+

Check message received

+
+

check

+
+ +
+ +

 

+ +

22.2.1    The +Send operation

+ +

The send operation is +used to place a message on an outgoing message port.

+ +

Syntactical +Structure

+ +

Port +"." send "(" TemplateInstance ")"

+ +

[ to Address ]

+ +

 

+ +

NOTE:      Address may be an AddressRef, +a list of AddressRef-s or "all component".

+ +

Semantic Description

+ +

The send operation places a message on an outgoing +message port. The message may be specified by referencing a defined template or +can be defined as an in-line template.

+ +

Sending unicast, multicast or broadcast

+ +

Unicast, multicast and +broadcast communication can be determined by the optional to clause in the send operation. A to +clause can be omitted in case of a one-to-one connection where unicast +communication is used and the message receiver is uniquely determined by the +test system structure.

+ +

Unicast communication +is specified, if the to clause +addresses one communication partner only. Multicast communication is used, if +the to clause includes a list of communication +partners. Broadcast is defined by using the to clause with all component keyword.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)      The TemplateInstance (and all parts of it) +shall have a specific value i.e. the use of matching mechanisms such as AnyValue +is not allowed.

+ +

b)      When defining the message in-line, the +optional type part shall be used if there is ambiguity of the type of the +message being sent.

+ +

c)       The send operation +shall only be used on message-based ports and the type of the template to be +sent shall be in the list of outgoing types of the port type definition.

+ +

d)      A to clause shall be +present in case of one-to-many connections.

+ +

e)       AddressRef shall be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the send operation.

+ +

Examples

+ +

EXAMPLE 1:      Simple send (receiver is determined +from the test configuration)

+ +

    MyPort.send(MyTemplate(5,MyVar));    // +Sends the template MyTemplate with the actual

+ +

                                     // +parameters 5 and MyVar via MyPort.

+ +

   

+ +

    MyPort.send(5);                      // +Sends the integer value 5 (which is an in-line template)

+ +

 

+ +

EXAMPLE +2:      Sending with explicit to clause

+ +

    MyPort.send(charstring:"My +string") to MyPartner; 

+ +

                                        // +Sends the string "My string" to a component with a

+ +

                                        // +component reference stored in variable MyPartner

+ +

   

+ +

    MyPCO.send(MyVariable + +YourVariable - 2) to MyPartner;

+ +

                                 // Sends +the result of the arithmetic expression to MyPartner.

+ +

   

+ +

    MyPCO2.send(MyTemplate) to +(MyPeerOne, MyPeerTwo);

+ +

                                 // +Specifies a multicast communication, where the value of

+ +

                                 // +MyTemplate is sent to the two component references stored

+ +

                                 // in +the variables MyPeerOne and MyPeerTwo.

+ +

 

+ +

    MyPCO3.send(MyTemplate) to +all component;

+ +

                                 // +Broadcast communication: the value of Mytemplate is send to

+ +

                                 // all +components which can be addressed via this port. If

+ +

                                 // +MyPCO3 is a mapped port, the components may reside inside

+ +

                                 // the SUT.

+ +

 

+ +

22.2.2    The Receive operation

+ +

The receive operation +is used to receive a message from an incoming message port queue.

+ +

Syntactical Structure

+ +

( Port | any port +) "." receive

+ +

[ "(" TemplateInstance +")" ]

+ +

[ from Address ]

+ +

[ "->" [ value ( VariableRef +|

+ +

                 ( "(" { VariableRef +[ ":=" FieldOrTypeReference ][","] } ")" )

+ +

                ) ]

+ +

       [ sender VariableRef +] ]

+ +

 

+ +

NOTE 1:   Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic Description

+ +

The receive operation is used to receive a message from an +incoming message port queue. The message may be specified by referencing a +defined template or can be defined as an in-line template.

+ +

The receive operation removes the top message from the +associated incoming port queue if, and only if, that top message satisfies all +the matching criteria associated with the receive operation.

+ +

If the match is not +successful, the top message shall not be removed from the port queue i.e. if +the receive operation is used as an alternative of an alt statement and it is not successful, the +execution of the test case shall continue with the next alternative of the alt statement.

+ +

Matching criteria

+ +

The matching criteria +are related to the type and value of the message to be received. The type and +value of the message to be received are determined by the argument of the receive operation, i.e. may either be derived from the +defined template or be specified in-line. An optional type field in the +matching criteria to the receive operation +shall be used to avoid any ambiguity of the type of the value being received.

+ +

NOTE 2:   Encoding attributes also participate in +matching in an implicit way, by preventing the decoder to produce an abstract +value from the received message encoded in a different way than specified by +the attributes.

+ +

Receiving from a specific sender

+ +

In the case of +one-to-many connections the receive operation +may be restricted to a certain communication partner. This restriction shall be +denoted using the from keyword.

+ +

Storing the received +message and parts of the received message

+ +

If the match is +successful, the value removed from the port queue and/or parts of this value +can be stored in variables or formal parameters. This is denoted by the symbol +'->' and the keyword value.

+ +

When the keyword value is followed by a name of a variable or formal +parameter, the whole received message shall be stored in the variable or formal +parameter. The variable or formal parameter shall be type compatible with the +received message.

+ +

When the keyword value is followed by an assignment list enframed by a +pair of parentheses, the whole received message and/or one or more parts of it +can be stored. In a single assignment within the list, on the left hand side of +the assignment symbol (":=") a field of the template type shall be +referenced, on the right hand side the name of the variable or a formal +parameter, in which the value shall be stored. The variable or formal parameter +shall be type compatible with the type on the left hand side of the assignment +symbol. As a special case the field reference can be absent to indicate that +the whole message shall be stored in a variable.

+ +

Storing the sender

+ +

It is also possible to retrieve and store +the component reference or address of the sender of a message. This is denoted +by the keyword sender.

+ +

When the message is received on a connected port, only the component reference +is stored in the following the sender keyword, but +the test system shall internally store the component name too, if any (to be +used in logging).

+ +

Receive any message

+ +

A receive operation with no argument list for the type +and value matching criteria of the message to be received shall remove the +message on the top of the incoming port queue (if any) if all other matching +criteria are fulfilled.

+ +

Receive on any port

+ +

To receive a message on any port, use the any port keywords.

+ +

Stand-alone +receive

+ +

The receive operation +can be used as a stand-alone statement in a behaviour description. In this +latter case the receive operation +is considered to be shorthand for an alt statement with the receive operation as the only alternative.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)      When defining the message in-line, the +optional type part shall be present whenever the type of the message being +received is ambiguous.

+ +

b)      The receive operation +shall only be used on message-based ports and the type of the value to be +received shall be included in the list of incoming types of the port type +definition.

+ +

c)       No binding of the incoming values to the +terms of the expression or to the template shall occur.

+ +

d)      A message received by receive any +message shall not be stored, i.e. the value clause shall not be +present.

+ +

e)       Type mismatch at storing the received +value or parts of the received value and storing the sender shall cause an +error.

+ +

f)       AddressRef for retrieving the +sending entity shall be of type address, component or of +the type provided in the address declaration of the port type of the port +instance referenced in the receive operation.

+ +

Examples

+ +

EXAMPLE +1:      Basic receive

+ +

    MyPort.receive(MyTemplate(5, +MyVar));   // Matches a message that fulfils the conditions

+ +

                                        // +defined by template MyTemplate at port MyPort.

+ +

 

+ +

    MyPort.receive(A<B);  // +Matches a Boolean value that depends on the outcome of A<B

+ +

 

+ +

    MyPort.receive(integer:MyVar);   // +Matches an integer value with the value of MyVar

+ +

                                 // +at port MyPort

+ +

 

+ +

    MyPort.receive(MyVar);           // Is an alternative to +the previous example

+ +

 

+ +

EXAMPLE +2:      Receiving from a sender, storing the message, parts of the message or +the sender

+ +

    MyPort.receive(charstring:"Hello")from +MyPeer; // Matches charstring +"Hello" from MyPeer

+ +

 

+ +

    MyPort.receive(MyType:?) +-> value MyVar;    // The value of the received message is

+ +

                                            // +assigned to MyVar.

+ +

 

+ +

    MyPort.receive(MyType:?) +-> value (MyVar, MyMessageIdVar:= MyType.messageId)

+ +

                             // The +value of the received message is stored in the variable

+ +

                             // +MyVar and the value of the messageId field of the received

+ +

                             // +message is stored in the variable MyMessageIdVar.

+ +

 

+ +

    MyPort.receive(anytype:?) +-> value (MyIntegerVar := integer)

+ +

                             // If +the received value is an integer, it is stored in the variable

+ +

                             // +MyIntegerVar, a test case error otherwise.

+ +

 

+ +

    MyPort.receive(charstring:?) +-> value (MyCharstringVar)

+ +

                             // The +received value is stored in the variable MyCharstringVar;

+ +

                             // Note +that it is the same as to write "value MyCharstringVar"

+ +

 

+ +

    MyPort.receive(A<B) +-> sender MyPeer;       // The address of the sender is assigned to +MyPeer

+ +

 

+ +

    MyPort.receive(MyTemplate:{5, +MyVarOne}) -> value MyVarTwo sender MyPeer;

+ +

    // The received message value is stored in MyVarTwo and the +sender address is stored in MyPeer.

+ +

 

+ +

EXAMPLE +3:      Receive any message

+ +

    MyPort.receive;                         // Removes the +top value from MyPort.

+ +

 

+ +

    MyPort.receive from MyPeer;             // +Removes the top message from MyPort if its sender is
+                                        MyPeer

+ +

 

+ +

    MyPort.receive -> sender +MySenderVar;   // Removes the top message from MyPort and assigns

+ +

                                        // the sender address to +MySenderVar

+ +

 

+ +

EXAMPLE 4:      Receive on any port

+ +

    any port.receive(MyMessage);

+ +

 

+ +

22.2.3    The Trigger operation

+ +

The trigger operation +is used to await a specific message on an incoming port queue.

+ +

Syntactical Structure

+ +

( Port | any port +) "." trigger

+ +

[ "(" TemplateInstance +")" ]

+ +

[ from Address ]

+ +

[ "->" [ value ( VariableRef +|

+ +

                 ( "(" { VariableRef +[ ":=" FieldOrTypeReference ][","] } ")" )

+ +

                ) ]

+ +

  [ sender VariableRef ] +]

+ +

 

+ +

NOTE:      Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic Description

+ +

The trigger operation +removes the top message from the associated incoming port queue. If that top +message meets the matching criteria, the trigger operation +behaves in the same manner as a receive operation. If that top +message does not fulfil the matching criteria, it shall be removed from the +queue without any further action.

+ +

The trigger operation requires the port name, matching +criteria for type and value, an optional from restriction (i.e. selection of communication partner) +and an optional assignment of the matching message and sender component to +variables.

+ +

Matching criteria

+ +

The matching criteria as defined in clause 22.2.2 apply also to the trigger operation.

+ +

Trigger on any message

+ +

A trigger operation with no argument list shall trigger +on the receipt of any message. Thus, its meaning is identical to the meaning of +receive any message.

+ +

Trigger on any port

+ +

To trigger on a message at any port, use the any port keywords.

+ +

Stand-alone trigger

+ +

The trigger operation can be used as a stand-alone +statement in a behaviour description. In this latter case the trigger operation is considered to be shorthand for an alt statement with two alternatives (one +alternative expecting the message and another alternative consuming all other +messages and repeating the alt statement, see ES 201 873‑4 [1]).

+ +

Storing the received +message, parts of the received message or the sender

+ +

Rules in clause 22.2.2 shall apply.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)      The trigger operation +shall only be used on message-based ports and the type of the value to be +received shall be included in the list of incoming types of the port type +definition.

+ +

b)      A message received by TriggerOnAnyMessage +shall not be assigned to a variable.

+ +

c)       Type mismatch at storing the received +value or parts of the received value and storing the sender shall cause an +error.

+ +

d)      AddressRef for retrieving the +sending entity shall be of type address, component or of +the type provided in the address declaration of the port type of the port +instance referenced in the trigger operation.

+ +

Examples

+ +

EXAMPLE 1:      Basic +trigger

+ +

    MyPort.trigger(MyType:?);

+ +

    // Specifies that the operation +will trigger on the reception of the first message observed of

+ +

    // the type MyType with an arbitrary value at port MyPort.

+ +

 

+ +

EXAMPLE +2:      Trigger from a sender and with storing message or sender

+ +

    MyPort.trigger(MyType:?) from +MyPartner;

+ +

    // Triggers on the reception of +the first message of type MyType at port MyPort

+ +

    // received from MyPartner.

+ +

 

+ +

    MyPort.trigger(MyType:?) from MyPartner -> value +MyRecMessage;

+ +

    // This example is almost identical to the previous example. In +addition, the message which

+ +

    // triggers i.e. all matching criteria are met, is stored in +the variable MyRecMessage.

+ +

 

+ +

    MyPort.trigger(MyType:?) -> sender MyPartner;

+ +

    // This example is almost identical to the first example. In +addition, the reference of the

+ +

    // sender component will be retrieved and stored in variable +MyPartner.

+ +

 

+ +

    MyPort.trigger(integer:?) -> value MyVar sender +MyPartner;

+ +

    // Trigger on the reception of an arbitrary integer value which +afterwards is stored in

+ +

    // variable MyVar. The reference of the sender component will +be stored in variable MyPartner.

+ +

 

+ +

EXAMPLE +3:      Trigger on any message

+ +

    MyPort.trigger;

+ +

 

+ +

    MyPort.trigger from MyPartner;

+ +

 

+ +

    MyPort.trigger -> sender MySenderVar;

+ +

 

+ +

EXAMPLE 4:      Trigger on any port

+ +

    any port.trigger

+ +

 

+ +

22.3      Procedure-based communication

+ +

The operations for procedure-based +communication via synchronous ports are summarized in table 24.

+ +

Table 24: +Overview of procedure-based +communication

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Communication operation

+
+

Keyword

+
+

Invoke procedure call

+
+

call

+
+

Accept procedure call from + remote entity

+
+

getcall

+
+

Reply to procedure call from + remote entity

+
+

reply

+
+

Raise exception (to an + accepted call)

+
+

raise

+
+

Handle response from a + previous call

+
+

getreply

+
+

Catch exception (from + called entity)

+
+

catch

+
+

Check call/exception/reply + received

+
+

check

+
+ +
+ +

 

+ +

22.3.1    The Call operation

+ +

The call operation +specifies the call of a remote operation on another test component or within +the SUT.

+ +

Syntactical +Structure

+ +

Port +"." call "(" TemplateInstance [ "," +CallTimerValue ] ")"

+ +

[ to Address +]

+ +

 

+ +

NOTE 1:   Address may be an AddressRef, +a list of AddressRef-s or "all component".

+ +

Semantic +Description

+ +

The call operation is +used to specify that a test component calls a procedure in the SUT or in another test component.

+ +

The information to be +transmitted in the send part of the call operation is a signature that may either be defined in the +form of a signature template or be defined in-line.

+ +

Handling responses +and exceptions to a call

+ +

In case of non-blocking +procedure-based communication the handling of exceptions to call operations is done by using catch (see clause 22.3.6) operations as +alternatives in alt statements.

+ +

If the nowait option is used, the handling of responses or +exceptions to call operations is +done by using getreply (see +clause 22.3.4) and catch (see clause 22.3.6) operations as +alternatives in alt statements.

+ +

In case of blocking +procedure-based communication, the handling of responses or exceptions to a +call is done in the response and exception handling part of the call operation by means of getreply (see clause 22.3.4) and catch (see clause 22.3.6) operations.

+ +

The response and +exception handling part of a call +operation looks similar to the body of an alt statement. It defines a set of alternatives, describing +the possible responses and exceptions to the call.

+ +

If necessary, it is +possible to enable/disable an alternative by means of a boolean expression placed between the "[ ]" brackets of the +alternative.

+ +

The response +and exception handling part of a call operation is executed like an alt +statement without any active default. This means a corresponding snapshot +includes all information necessary to evaluate the (optional) Boolean guards, +may include the top element (if any) of the port over which the procedure has +been called and may include a timeout exception generated by the (optional) +timer that supervises the call.

+ +

Handling timeout +exceptions to a call

+ +

The call operation may optionally include a timeout. +This is defined as an explicit value or constant of float type and defines the length of time after the call operation +has started that a timeout exception +shall be generated by the test system. If no timeout value part is present in +the call operation, no timeout exception shall be generated.

+ +

Nowait calls of +blocking procedures

+ +

Using the keyword nowait instead of a timeout exception value in a call operation allows calling a procedure to +continue without waiting either for a response or an exception raised by the +called procedure or a timeout exception.

+ +

If the nowait keyword is used, a possible response or +exception of the called procedure has to be removed from the port queue by +using a getreply or +a catch operation in a subsequent alt statement.

+ +

Calling blocking +procedures without return value, out parameters, inout parameters and +exceptions

+ +

A blocking procedure may have no return values, no out and +inout parameters and may raise no exception. The call operation for such a +procedure shall also have a response and exception handling part to handle the +blocking in a uniform manner.

+ +

Calling non-blocking +procedures

+ +

A +non-blocking procedure has no out and inout parameters, no return value and the +non-blocking property is indicated in the corresponding signature definition by +means of a noblock keyword.

+ +

Possible exceptions +raised by non-blocking procedures have to be removed from the port queue by +using catch operations in subsequent alt or interleave statements.

+ +

Unicast, multicast +and broadcast calls of procedures

+ +

Like for the send operation, +TTCN‑3 also supports unicast, multicast and broadcast calls of +procedures. This can be done in the same manner as described in clause 22.2.1, +i.e. the argument of the to clause of a call operation is for unicast calls the address of one receiving entity +(or can be omitted in case of one-to-one connections), for multicast calls a +list of addresses of a set of receivers and for broadcast calls the all component keyword. In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely identified by +the system structure.

+ +

The handling of responses and exceptions +for a blocking or non-blocking unicast call operation +has been explained in this clause under "Handling timeout exceptions to a +call". A multicast or broadcast call operation +may cause several responses and exceptions from different communication +partners.

+ +

In case of a multicast or broadcast call +operation of a non-blocking procedure, all exceptions which may be raised from +the different communication partners can be handled in subsequent catch, alt or interleave statements.

+ +

In case of a multicast or broadcast call +operation of a blocking procedure, two options exist. Either, only one response +or exception is handled in the response and exception +handling part of the call operation. +Then, further responses and exceptions can be handled in subsequent alt or interleave statements. Or, several responses or exceptions are +handled by the use of repeat statements in one or more of the statement blocks +of the response and exception handling part of the call operation: the +execution of a repeat statement causes the re-evaluation of the call body.

+ +

NOTE 2:   In the second case, the user needs to +handle the number of repetitions.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)      The call operation +shall only be used on procedure-based ports. The type definition of the port at +which the call operation takes place shall include the procedure name in its out or +inout list i.e. it must be allowed to call this procedure at this port.

+ +

b)      All in and inout +parameters of the signature shall have a specific value i.e. the use of +matching mechanisms such as AnyValue is not allowed.

+ +

c)       Only out parameters may be omitted or +specified with a matching attribute.

+ +

d)      The signature arguments of the call +operation are not used to retrieve variable names for out +and inout parameters. The actual assignment of the procedure return value and +out and inout parameter values to variables shall explicitly be made in the +response and exception handling part of the call operation by +means of getreply and catch operations. This allows the use of signature templates in call +operations in the same manner as templates can be used for types.

+ +

e)       A to clause shall +be present in case of one-to-many connections.

+ +

f)       AddressRef shall be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the call operation.

+ +

g)       CallTimerValue must be of type +float.

+ +

h)      The selection of the alternatives to a +call shall only be based on getreply and catch operations for the called procedure. Unqualified getreply and catch operations shall only treat replies from and exceptions raised by +the called procedure. The use of else branches and the invocation of +altsteps is not allowed.

+ +

i)        The evaluation of the Boolean +expressions guarding the alternatives in the response and exception handling +part may have side effects. In order to avoid unexpected side effects, the same +rules as for the Boolean guards in alt statements shall be applied (see +clause 20.2).

+ +

j)       The call operation for a blocking procedures +without return value, out parameters, inout parameters and exceptions shall +also have a response and exception handling part to handle the blocking in a +uniform manner.

+ +

k)      In case of a multicast or broadcast call +operation of a blocking procedure, where the nowait keyword is +used, all responses and exceptions have to be handled in subsequent alt or +interleave statements.

+ +

l)        The call operation for a non-blocking procedure shall +have no response and exception handling part, shall +raise no timeout exception and shall not use the nowait keyword.

+ +

Examples

+ +

EXAMPLE +1:      Blocking call with getreply

+ +

    // Given …

+ +

    signature MyProc (out +integer MyPar1, inout boolean MyPar2);

+ +

     :

+ +

    // a call of MyProc

+ +

    MyPort.call(MyProc:{ -, +MyVar2}) {      // in-line signature template for the call of MyProc

+ +

       [] MyPort.getreply(MyProc:{?, +?}) { }

+ +

    }

+ +

 

+ +

    // … and another call of MyProc

+ +

    MyPort.call(MyProcTemplate) +{           // using signature template for the call of MyProc

+ +

       [] MyPort.getreply(MyProc:{?, +?}) { }

+ +

    }

+ +

 

+ +

    MyPort.call(MyProcTemplate) to MyPeer {        // +calling MyProc at MyPeer

+ +

       [] MyPort.getreply(MyProc:{?, ?}) { }

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Blocking call +with getreply and catch

+ +

    // Given

+ +

    signature MyProc3 (out integer MyPar1, inout +boolean MyPar2) return MyResultType

+ +

       exception (ExceptionTypeOne, ExceptionTypeTwo);

+ +

     :

+ +

 

+ +

    // Call of MyProc3

+ +

    MyPort.call(MyProc3:{ -, true }) to +MyPartner {

+ +

 

+ +

      [] MyPort.getreply(MyProc3:{?, ?}) -> value +MyResult param (MyPar1Var,MyPar2Var) { }

+ +

 

+ +

      [] MyPort.catch(MyProc3, MyExceptionOne) {

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

      [] MyPort.catch(MyProc3, ExceptionTypeTwo : ?) {

+ +

           setverdict(inconc);

+ +

         }

+ +

      [MyCondition] MyPort.catch(MyProc3, MyExceptionThree) +{ }

+ +

    }

+ +

 

+ +

EXAMPLE 3:      Blocking call with timeout exception

+ +

    MyPort.call(MyProc:{5,MyVar}, +20E-3) {

+ +

 

+ +

      [] MyPort.getreply(MyProc:{?, ?}) { }

+ +

 

+ +

      [] MyPort.catch(timeout) {            // +timeout exception after 20ms

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

    }

+ +

 

+ +

EXAMPLE 4:      Nowait +call

+ +

    MyPort.call(MyProc:{5, MyVar}, nowait);     // +The calling test component will continue

+ +

                                            // its execution +without waiting for the

+ +

                                            // termination of +MyProc

+ +

 

+ +

EXAMPLE 5:      Blocking call without return +value, out parameters, inout parameters and exceptions

+ +

    // Given …

+ +

    signature MyBlockingProc (in integer MyPar1, in +boolean MyPar2);

+ +

     :

+ +

    // a call of MyBlockingProc

+ +

    MyPort.call(MyBlockingProc:{ 7, false }) {

+ +

      [] MyPort.getreply( MyBlockingProc:{ -, - } ) { }

+ +

    }

+ +

 

+ +

EXAMPLE 6:      Broadcast +call

+ +

    var +boolean first:= true;

+ +

    MyPort.call(MyProc:{5,MyVar}, +20E-3) to all component {   // Broadcast call of MyProc

+ +

       // Handles the response from +MyPeerOne

+ +

       [first] MyPort.getreply(MyProc:{?, +?}) from MyPeerOne {

+ +

           if (first) { first := false; repeat; +}

+ +

           :

+ +

       }

+ +

       // Handles the response from MyPeerTwo

+ +

       [first] MyPort.getreply(MyProc:{?, ?}) from MyPeerTwo {

+ +

           if (first) { +first := false; repeat; }

+ +

           :

+ +

       }

+ +

       [] MyPort.catch(timeout) {              // +timeout exception after 20ms

+ +

           setverdict(fail);

+ +

           stop;

+ +

       }

+ +

    }

+ +

 

+ +

    alt {

+ +

      [] MyPort.getreply(MyProc:{?, ?}) {       // Handles +all other responses to the broadcast call

+ +

           repeat

+ +

      }

+ +

    }

+ +

 

+ +

EXAMPLE 7:      Multicast +call

+ +

    MyPort.call(MyProc:{5,MyVar}, +nowait) to (MyPeer1, MyPeer2);  // Multicast call of MyProc

+ +

 

+ +

    interleave {

+ +

      [] MyPort.getreply(MyProc:{?, ?}) from MyPeer1 +{ }   // Handles the response of MyPeer1

+ +

      [] MyPort.getreply(MyProc:{?, ?}) from MyPeer2 +{ }   // Handles the response of MyPeer2

+ +

    }

+ +

 

+ +

22.3.2    The Getcall operation

+ +

The getcall operation is used to accept calls.

+ +

Syntactical +Structure

+ +

( Port | any port +) "." getcall

+ +

[ "(" TemplateInstance +")" ]

+ +

[ from Address ]

+ +

[ "->" [ param +"(" { ( VariableRef ":=" ParameterIdentifier +) "," } |

+ +

                 { ( VariableRef +| "-" ) "," }

+ +

               ")" ]

+ +

       [ sender VariableRef +] ]

+ +

 

+ +

NOTE:      Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic Description

+ +

The getcall operation +is used to specify that a test component accepts a call from the SUT, or +another test component.

+ +

The getcall operation +shall remove the top call from the incoming port queue, if, and only if, the +matching criteria associated to the getcall operation are fulfilled. These matching +criteria are related to the signature of the call to be processed and the +communication partner. The matching criteria for the signature may either be +specified in-line or be derived from a signature template.

+ +

The assignment of in and inout parameter values to variables shall be made in the +assignment part of the getcall operation. +This allows the use of signature templates in getcall operations in the same manner as templates are +used for types.

+ +

A getcall operation may be restricted to a certain +communication partner in case of one-to-many connections. This restriction +shall be denoted by using the from +keyword.

+ +

The (optional) +assignment part of the getcall operation +comprises the assignment of in and inout parameter values to variables and the retrieval +of the address of the calling component. The keyword param is used to retrieve the parameter values of a +call.

+ +

The keyword sender is used when it is required to retrieve the +address of the sender (e.g. for addressing a reply or exception to the calling party in a one-to-many +configuration).

+ +

Accepting any call

+ +

A getcall operation with no argument list for the +signature matching criteria will remove the call on the top of the incoming port +queue (if any) if all other matching criteria are fulfilled.

+ +

Getcall on any port

+ +

To getcall on any +port is denoted by the any keyword.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The getcall operation shall only be used +on procedure-based ports and the signature of the procedure call to be accepted +shall be included in the list of allowed incoming procedures of the port type +definition.

+ +

b)          +The signature argument of the getcall operation shall not be used to pass in variable names for in and +inout parameters.

+ +

c)          +The ParameterIdentifiers must be from the +corresponding signature definition.

+ +

d)          +The value assignment part shall not be used with +the getcall operation.

+ +

e)          +Parameters of calls accepted by accepting any +call shall not be assigned to a variable, i.e. the param clause +shall not be present.

+ +

f)           +AddressRef  for +retrieving the sending entity shall be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the getcall +operation.

+ +

Examples

+ +

EXAMPLE +1:      Basic getcall

+ +

    MyPort.getcall(MyProc: +MyProcTemplate(5, MyVar));  // accepts a call of MyProc at MyPort

+ +

 

+ +

    MyPort.getcall(MyProc:{5, MyVar}) from MyPeer; // +accepts a call of MyProc at MyPort from MyPeer

+ +

 

+ +

EXAMPLE 2:      Getcall with +matching and assignments of parameter values to variables

+ +

    MyPort.getcall(MyProc:{?, ?}) from MyPartner +-> param (MyPar1Var, MyPar2Var);

+ +

    // The in or inout parameter values of MyProc are assigned to +MyPar1Var and MyPar2Var.

+ +

 

+ +

    MyPort.getcall(MyProc:{5, +MyVar}) -> sender MySenderVar;

+ +

    // Accepts a call of MyProc at MyPort with the in or inout +parameters 5 and MyVar.

+ +

    // The address of the calling party is retrieved and stored in +MySenderVar.

+ +

 

+ +

    // The following getcall examples show the possibilities to use +matching attributes

+ +

    // and omit optional parts, which may be of no importance for +the test specification.

+ +

 

+ +

    MyPort.getcall(MyProc:{5, MyVar}) -> param(MyVar1, +MyVar2) sender MySenderVar;

+ +

 

+ +

    MyPort.getcall(MyProc:{5, ?}) -> param(MyVar1, +MyVar2);

+ +

 

+ +

    MyPort.getcall(MyProc:{?, MyVar}) -> param( - +, MyVar2);

+ +

    // The value of the first inout parameter is not important or +not used

+ +

 

+ +

    // The following examples shall explain the possibilities to +assign in and inout parameter

+ +

    // values to variables. The following signature is assumed for +the procedure to be called:

+ +

 

+ +

    signature MyProc2(in integer A, integer +B, integer C, out integer D, inout integer +E);

+ +

 

+ +

    MyPort.getcall(MyProc2:{?, ?, 3, - , ?}) -> param (MyVarA, +MyVarB, - , -, MyVarE);

+ +

    // The parameters A, B, and E are assigned to the variables +MyVarA, MyVarB, and

+ +

    // MyVarE. The out parameter D needs not to be considered.

+ +

 

+ +

    MyPort.getcall(MyProc2:{?, ?, 3, -, ?}) -> param (MyVarA:= +A, MyVarB:= B, MyVarE:= E);

+ +

    // Alternative notation for the value assignment of in and +inout parameter to variables. Note,

+ +

    // the names in the assignment list refer to the names used in +the signature of MyProc2

+ +

 

+ +

    MyPort.getcall(MyProc2:{1, 2, 3, -, *}) -> param (MyVarE:= +E);

+ +

    // Only the inout parameter value is needed for the further +test case execution

+ +

 

+ +

EXAMPLE +3:      Accepting any call

+ +

    MyPort.getcall;              // +Removes the top call from MyPort.

+ +

 

+ +

    MyPort.getcall from +MyPartner;   // Removes a call from MyPartner from port MyPort

+ +

 

+ +

    MyPort.getcall -> sender +MySenderVar;   // Removes a call from MyPort and retrieves

+ +

                                        // +the address of the calling entity

+ +

 

+ +

EXAMPLE 4:      Getcall +on any port

+ +

    any port.getcall(MyProc:?)

+ +

 

+ +

22.3.3    The Reply operation

+ +

The reply operation is +used to reply to a call.

+ +

Syntactical Structure

+ +

Port "." reply +"(" TemplateInstance [ value Expression ] +")"

+ +

[ to Address ]

+ +

 

+ +

NOTE 1:   Address may be an AddressRef, +a list of AddressRef-s or "all component".

+ +

Semantic Description

+ +

The reply operation is used to reply to a previously +accepted call according to the procedure signature.

+ +

NOTE 2:   The relation between +an accepted call and a reply operation +cannot always be checked statically. For testing it is allowed to specify a reply operation without an associated getcall operation.

+ +

The value part of the reply operation consists of a signature reference +with an associated actual parameter list and (optional) return value. The +signature may either be defined in the form of a signature template or it may +be defined in‑line.

+ +

Responses to one or +more call operations may be sent to one, several or all +peer entities connected to the addressed port. This can be specified in the +same manner as described in clause 22.2.1. This means, +the argument of the to clause of a reply operation is for unicast responses the address of one receiving +entity, for multicast responses a list of addresses of a set of receivers and +for broadcast responses the all +component keywords.

+ +

In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely identified by +the system structure.

+ +

A return value shall be +explicitly stated with the value keyword.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +A reply operation shall only be used +at a procedure-based port. The type definition of the port shall include the +name of the procedure to which the reply operation belongs.

+ +

b)          +All out and inout parameters +of the signature shall have a specific value i.e. the use of matching +mechanisms such as AnyValue is not allowed.

+ +

c)          +A to clause shall be present in case +of one-to-many connections.

+ +

d)          +AddressRef shall +be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the reply operation.

+ +

e)          +If a value is to be returned to the calling +party, this shall be explicitly stated using the value keyword.

+ +

Examples

+ +

    MyPort.reply(MyProc2:{ - +,5});          // Replies to an accepted call of MyProc2.

+ +

 

+ +

    MyPort.reply(MyProc2:{ - +,5}) to MyPeer; // Replies to an accepted call of MyProc2 from MyPeer

+ +

 

+ +

    MyPort.reply(MyProc2:{ - +,5}) to (MyPeer1, MyPeer2); // Multicast reply to MyPeer1 and MyPeer2

+ +

 

+ +

    MyPort.reply(MyProc2:{ - +,5}) to all component; // Broadcast reply to all entities +connected

+ +

                                                // +to MyPort

+ +

 

+ +

    MyPort.reply(MyProc3:{5,MyVar} value 20);   // +Replies to an accepted call of MyProc3.

+ +

 

+ +

22.3.4    The Getreply operation

+ +

The getreply operation is used to handle replies from a previously called +procedure.

+ +

Syntactical +Structure

+ +

( Port | any +port ) "." getreply

+ +

[ "(" TemplateInstance +[ value TemplateInstance ]")" ]

+ +

[ from Address +]

+ +

[ +"->" [ value VariableRef ]

+ +

       [ param "(" { ( +VariableRef ":=" ParameterIdentifier ) "," } +|

+ +

                   { ( VariableRef +| "-" ) "," }

+ +

               ")" ]

+ +

       [ sender VariableRef +] ]

+ +

 

+ +

NOTE:      Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic Description

+ +

The getreply +operation is used to handle replies from a previously called procedure.

+ +

The getreply operation shall remove the top reply from the +incoming port queue, if, and only if, the matching criteria associated to the getreply operation are fulfilled. These matching +criteria are related to the signature of the procedure to be processed and the +communication partner. The matching criteria for the signature may either be +specified in-line or be derived from a signature template.

+ +

Matching against a +received return value can be specified by using the value keyword.

+ +

A getreply operation may be restricted to a certain +communication partner in case of one-to-many connections. This restriction +shall be denoted by using the from +keyword.

+ +

The assignment of out and inout parameter values to variables shall be made in the +assignment part of the getreply +operation. This allows the use of signature templates in getreply operations in the same manner as templates are +used for types.

+ +

The (optional) +assignment part of the getreply operation +comprises the assignment of out and inout parameter values to variables and the retrieval +of the address of the sender of the reply. The keyword value is used to retrieve return values and the +keyword param is used to retrieve the parameter values of a +reply. The keyword sender is used +when it is required to retrieve the address of the sender.

+ +

Get any reply

+ +

A getreply operation with no argument list for the +signature matching criteria shall remove the reply message on the top of the +incoming port queue (if any) if all other matching criteria are fulfilled.

+ +

If GetAnyReply is +used in the response and exception handling part of a call operation, it shall only treat replies from the +procedure invoked by the call operation.

+ +

Get a reply on any +port

+ +

To get a reply on any +port, use the any port keywords.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +A getreply operation shall only be +used at a procedure-based port. The type definition of the port shall include +the name of the procedure to which the getreply +operation belongs.

+ +

b)          +The signature argument of the getreply operation shall not be used to pass in variable names for out +and inout parameters.

+ +

c)          +Parameters or return values of responses +accepted by get any reply shall not be assigned to a variable, i.e. the param +and value clause shall not be present.

+ +

d)          +AddressRef for +retrieving the sending entity shall  be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the getreply operation.

+ +

Examples

+ +

EXAMPLE 1:      Basic +getreply

+ +

    MyPort.getreply(MyProc:{5, +?} value 20);    // Accepts a reply of MyProc with two out or

+ +

                                            // +inout parameters and a return value of 20

+ +

 

+ +

    MyPort.getreply(MyProc2:{ - , 5}) from +MyPeer; // Accepts a reply of MyProc2 from MyPeer

+ +

 

+ +

EXAMPLE 2:      Getreply with storing inout/out +parameters and return values in variables

+ +

    MyPort.getreply(MyProc1:{?, ?} +value ?) -> value MyRetValue param(MyPar1,MyPar2);

+ +

    // The returned value is assigned to +variable MyRetValue and the value

+ +

    // of the two out or inout parameters +are assigned to the variables MyPar1 and MyPar2.

+ +

 

+ +

    MyPort.getreply(MyProc1:{?, ?} +value ?) -> value MyRetValue param( - , MyPar2) sender +MySender;

+ +

    // The value of the first parameter +is not considered for the further test execution and

+ +

    // the address of the sender +component is retrieved and stored in the variable MySender.

+ +

 

+ +

    // The following examples describe +some possibilities to assign out and inout parameter values

+ +

    // to variables. The following +signature is assumed for the procedure which has been called

+ +

 

+ +

    signature MyProc2(in integer A, integer B, integer +C, out integer D, inout integer E);

+ +

 

+ +

    MyPort.getreply(ATemplate) +-> param( - , - , - , MyVarOut1, MyVarInout1);

+ +

 

+ +

    MyPort.getreply(ATemplate) +-> param(MyVarOut1:=D, MyVarOut2:=E);

+ +

 

+ +

    MyPort.getreply(MyProc2:{ - , +- , - , 3, ?}) -> param(MyVarInout1:=E);

+ +

 

+ +

EXAMPLE +3:      Get any reply

+ +

    MyPort.getreply;             // +Removes the top reply from MyPort.

+ +

 

+ +

    MyPort.getreply from MyPeer; // Removes the top +reply received from MyPeer from MyPort.

+ +

 

+ +

    MyPort.getreply -> sender MySenderVar;  // +Removes the top reply from MyPort and retrieves the

+ +

                                        // address of the sender +entity

+ +

 

+ +

EXAMPLE 4:      Get a reply on any port

+ +

    any port.getreply(Myproc:?)

+ +

 

+ +

22.3.5    The Raise operation

+ +

Exceptions +are raised with the raise operation.

+ +

Syntactical Structure

+ +

Port "." raise +"(" Signature "," TemplateInstance +")"

+ +

[ to Address ]

+ +

 

+ +

NOTE 1:   Address may be an AddressRef, +a list of AddressRef-s or "all component".

+ +

Semantic +Description

+ +

The raise operation +is used to raise an exception.

+ +

NOTE 2:   The relation between +an accepted call and a raise operation +cannot always be checked statically. For testing it is allowed to specify a raise operation without an associated getcall operation.

+ +

The value part of the raise operation consists of the signature reference +followed by the exception value.

+ +

Exceptions are +specified as types. Therefore the exception value may either be derived from a +template or be the value resulting from an expression (which of course can be +an explicit value). The optional type field in the value specification to the raise operation shall be used in cases where it is +necessary to avoid any ambiguity of the type of the value being sent.

+ +

Exceptions to one or +more call operations may be sent to one, several or all +peer entities connected to the addressed port. This can be specified in the +same manner as described in clause 22.2.1. This means, +the argument of the to clause of a raise operation is for unicast exceptions the address of one receiving +entity, for multicast exceptions a list of addresses of a set of receivers and +for broadcast exceptions the all component keywords.

+ +

In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely identified by +the system structure.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +An exception shall only be raised at a +procedure-based port. An exception is a reaction to an accepted procedure call +the result of which leads to an exceptional event.

+ +

b)          +The type of the exception shall be specified in +the signature of the called procedure. The type definition of the port shall +include in its list of accepted procedure calls the name of the procedure to +which the exception belongs.

+ +

c)          +A to clause shall be present in case +of one-to-many connections.

+ +

d)          +AddressRef shall +be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the raise operation.

+ +

Examples

+ +

    MyPort.raise(MySignature, MyVariable + YourVariable - +2);

+ +

    // Raises an exception with a value which is the result of the +arithmetic expression

+ +

    // at MyPort

+ +

 

+ +

         MyPort.raise(MyProc, +integer:5});    // Raises an exception with the integer value 5 for +MyProc

+ +

 

+ +

    MyPort.raise(MySignature, +"My string") to MyPartner;

+ +

    // Raises an exception with the +value "My string" at MyPort for MySignature and

+ +

    // send it to MyPartner

+ +

 

+ +

    MyPort.raise(MySignature, "My string") to +(MyPartnerOne, MyPartnerTwo);

+ +

    // Raises an exception with the value "My string" at MyPort +and sends it to MyPartnerOne and

+ +

    // MyPartnerTwo (i.e. multicast communication)

+ +

 

+ +

    MyPort.raise(MySignature, "My string") to +all component;

+ +

    // Raises an exception with the value "My string" at +MyPort for MySignature and sends it

+ +

    // to all entites connected to MyPort (i.e. broadcast +communication)

+ +

 

+ +

22.3.6    The Catch operation

+ +

The catch operation is +used to catch exceptions.

+ +

Syntactical Structure

+ +

( Port | any port +) "." catch

+ +

[ "(" ( Signature +"," TemplateInstance ) | TimeoutKeyword ")" ] +

+ +

[ from Address ]

+ +

[ "->" [ value ( VariableRef +|

+ +

                 ( "(" { VariableRef +[ ":=" FieldOrTypeReference ][","] } ")" )

+ +

                ) ]

+ +

       [ sender VariableRef +] ]

+ +

 

+ +

NOTE:      Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic +Description

+ +

The catch operation is used to catch exceptions raised by +a test component or the SUT +as a reaction to a procedure call. Exceptions are specified as types and thus, +can be treated like messages, e.g. templates can be used to distinguish between +different values of the same exception type.

+ +

The catch operation removes the top exception from the +associated incoming port queue if, and only if, that top exception satisfies +all the matching criteria associated with the catch operation.

+ +

A catch operation may be restricted to a certain +communication partner in case of one-to-many connections. This restriction +shall be denoted by using the from +keyword.

+ +

The (optional) +redirection part of the catch operation +comprises of storing the exception value and/or one or more parts of it and the +retrieval of the address of the calling component. The keyword value is used to retrieve the value of an exception +and/or the parts of it and the keyword sender is used when it is required to retrieve the +address of the sender.

+ +

The catch operation +may be part of the response and exception handling part of a call operation or be used to determine an +alternative in an alt statement. If +the catch operation is used in the accepting part of a call operation, the information about port name and +signature reference to indicate the procedure that raised the exception is +redundant, because this information follows from the call operation. However, for readability reasons +(e.g. in case of complex call statements) +this information shall be repeated.

+ +

The Timeout +exception

+ +

There is one special timeout exception that can be caught by the catch operation. The timeout exception is an emergency exit for cases where +a called procedure neither replies nor raises an exception within a predetermined +time (see clause 22.3.1).

+ +

Catch any exception

+ +

A catch operation with no argument list allows any +valid exception to be caught. The most general case is without using the from keyword. CatchAnyException will also +catch the timeout exception.

+ +

Catch on any port

+ +

To catch an exception on any port use the any keyword.

+ +

Restrictions

+ +

In addition +to the general static rules of TTCN‑3 given in clause 5, the following +restrictions apply:

+ +

a)          +The catch operation shall only be used +at procedure-based ports. The type of the caught exception shall be specified +in the signature of the procedure that raised the exception.

+ +

b)          +No binding of the incoming values to the terms +of the expression or to the template shall occur. The assignment of the +exception values to variables shall be made in the assignment part of the catch +operation.

+ +

c)          +Catching timeout +exceptions shall be restricted to the exception handling part of a call. No +further matching criteria (including a from part) and no +assignment part is allowed for a catch operation that handles a timeout exception.

+ +

d)          +Exception values accepted by catch any +exception shall not be assigned to a variable, i.e. the value clause +shall not be present.

+ +

e)          +If CatchAnyException is used in the +response and exception handling part of a call operation, +it shall only treat exceptions raised by the procedure invoked by the call +operation.

+ +

f)           +AddressRef for +retrieving the sending entity shall  be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the catch operation.

+ +

Examples

+ +

EXAMPLE +1:      Basic catch

+ +

    MyPort.catch(MyProc, integer: MyVar);   // +Catches an integer exception of value

+ +

                                        // MyVar raised by MyProc +at port MyPort.

+ +

 

+ +

    MyPort.catch(MyProc, MyVar);         // Is an alternative +to the previous example.

+ +

 

+ +

    MyPort.catch(MyProc, A<B);              // Catches a +boolean exception

+ +

 

+ +

    MyPort.catch(MyProc, MyType:{5, MyVar}); // In-line +template definition of an exception value.

+ +

 

+ +

    MyPort.catch(MyProc, charstring:"Hello")from +MyPeer;   // Catches "Hello" exception from MyPeer

+ +

 

+ +

EXAMPLE +2:      Catch with storing value and/or sender in variables

+ +

    MyPort.catch(MyProc, +MyType:?) from MyPartner -> value MyVar;

+ +

    // Catches an exception from +MyPartner and assigns its value to MyVar.

+ +

 

+ +

    MyPort.catch(MyProc, +MyTemplate(5)) -> value MyVarTwo sender MyPeer;

+ +

    // Catches an exception, assigns +its value to MyVarTwo and retrieves the

+ +

    // address of the sender.

+ +

 

+ +

    MyPort.catch(MyProc, +MyTemplate(5)) -> value (MyVarThree:= f1)

+ +

                                        +sender MyPeer;

+ +

    // Catches an exception, assigns +the value of its field f1 to MyVarThree and retrieves the

+ +

    // address of the sender.

+ +

 

+ +

EXAMPLE 3:      The +Timeout exception

+ +

    MyPort.call(MyProc:{5,MyVar}, +20E-3) {

+ +

      [] MyPort.getreply(MyProc:{?, +?}) { }

+ +

      [] MyPort.catch(timeout) +{            // timeout exception after 20ms

+ +

           setverdict(fail);

+ +

           stop;

+ +

         }

+ +

    }

+ +

 

+ +

EXAMPLE 4:      Catch any exception

+ +

    MyPort.catch;

+ +

 

+ +

    MyPort.catch from MyPartner;

+ +

 

+ +

    MyPort.catch -> sender MySenderVar;

+ +

 

+ +

EXAMPLE 5:      Catch on any port

+ +

    any port.catch;

+ +

 

+ +

22.4      The Check operation

+ +

The check operation +allows reading the top element of a message‑based or procedure‑based +incoming port queue.

+ +

Syntactical Structure

+ +

( Port | any port +) "." check

+ +

[ "("

+ +

     ( PortReceiveOp | PortGetCallOp +| PortGetReplyOp | PortCatchOp ) |

+ +

     ( [ from Address ] [ +"->" sender VariableRef ] )

+ +

")" ]

+ +

 

+ +

NOTE 1:   Address may be an AddressRef, +a list of AddressRef-s or "any component".

+ +

Semantic +Description

+ +

The check operation is +a generic operation that allows read access to the top element of message‑based +and procedure‑based incoming port queues without removing the top +element from the queue. The check operation +has to handle values of a certain type at message-based ports and to +distinguish between calls to be accepted, exceptions to be caught and replies +from previous calls at procedure-based ports.

+ +

The receiving +operations receive, getcall, getreply and catch together +with their matching and value, sender or parameter storing parts, are used by +the check operation to define the conditions that have to +be checked and the information to be optionally extracted.

+ +

It is the top +element of an incoming port queue that shall be checked (it is not possible to +look into the queue). If the queue is empty the check operation fails. If the queue is not empty, a +copy of the top element is taken and the receiving operation specified in the check operation is performed on the copy. The check operation fails if the receiving operation +fails i.e. the matching criteria are not fulfilled. In this case the copy +of the top element of the queue is discarded and test execution continues in +the normal manner, i.e. the statement or alternative next to the check +operation is evaluated. The check operation is +successful if the receiving operation is successful. In +this case, the value, sender or parameter storing parts of the receiving +operation, if any, are executed, i.e. the message and/or a part of it, the +sender's address or component reference, the parameter(s) of the call or reply +or the value of the exception are stored in the associated variables.

+ +

If check is used as +a stand-alone statement, it is considered to be a shorthand for an alt +statement with the check operation as the only alternative.

+ +

Check any operation

+ +

A check operation with no argument list allows checking +whether something waits for processing in an incoming port queue. The check any operation +allows to distinguish between different senders (in case of one-to-many +connections) by using a from clause and to +retrieve the sender by using a shorthand assignment part with a sender clause.

+ +

NOTE 2:   Information related to the message-based input queue of a mixed port can be retrieved easily by +using the check operation in combination with a receive any +operation, e.g.
+MyPort.check(receive) -> sender Mysender
.

+ +

Check on any port

+ +

To check on any port, use the any port keywords.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Using the check operation +in a wrong manner, e.g. check for an exception at a message-based port shall +cause a test case error.

+ +

b)          +AddressRef for +retrieving the sending entity shall be of type address, component or of the type provided in the address declaration of the port type +of the port instance referenced in the check operation.

+ +

NOTE 3:   In most cases the +correct usage of the check operation can be checked statically, i.e. +before/during compilation.

+ +

Examples

+ +

EXAMPLE +1:      Basic check

+ +

    MyPort1.check(receive(5));   // +Checks for an integer message of value 5.

+ +

 

+ +

    MyPort1.check(receive(charstring:?) -> value +MyCharVar);

+ +

    // Checks for a charstring message and stores the message if +the message type is charstring

+ +

 

+ +

    MyPort2.check(getcall(MyProc:{5, MyVar}) from +MyPartner);

+ +

    // Checks for a call of MyProc at port MyPort2 from MyPartner

+ +

 

+ +

    MyPort2.check(getreply(MyProc:{5, MyVar} value +20));

+ +

    // Checks for a reply from procedure MyProc at MyPort2 where +the returned value is 20 and

+ +

    // the values of the two out or inout parameters are 5 and the +value of MyVar.

+ +

 

+ +

    MyPort2.check(catch(MyProc, MyTemplate(5, +MyVar)));

+ +

 

+ +

    MyPort2.check(getreply(MyProc1:{?, MyVar} value +*) -> value MyReturnValue param(MyPar1,-));

+ +

 

+ +

    MyPort.check(getcall(MyProc:{5, MyVar}) from +MyPartner -> param (MyPar1Var, MyPar2Var));

+ +

 

+ +

    MyPort.check(getcall(MyProc:{5, MyVar}) -> sender +MySenderVar);

+ +

 

+ +

EXAMPLE +2:      Check any operation

+ +

    MyPort.check;

+ +

 

+ +

    MyPort.check(from +MyPartner);

+ +

 

+ +

    MyPort.check(-> sender +MySenderVar);

+ +

 

+ +

EXAMPLE 3:      Check on any port

+ +

    any port.check;

+ +

 

+ +

22.5      Controlling communication +ports

+ +

TTCN‑3 operations for controlling message-based and +procedure-based ports are presented in table 25.

+ +

Table 25: +Overview of TTCN‑3 port +operations

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Port operations

+
+

Statement

+
+

Associated keyword or symbol

+
+

Clear port

+
+

clear

+
+

Start port

+
+

start

+
+

Stop port

+
+

stop

+
+

Halt port

+
+

halt

+
+ +
+ +

 

+ +

22.5.1    The Clear port operation

+ +

The clear +port operation empties incoming port queues.

+ +

Syntactical +Structure

+ +

( Port | +( all port ) ) "." clear

+ +

 

+ +

Semantic Description

+ +

The clear operation removes the contents of the incoming +queue of the specified port or of all ports of the test component performing +the clear operation.

+ +

If a port queue is +already empty then this operation shall have no action on that port.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    MyPort.clear;  // clears port +MyPort

+ +

 

+ +

22.5.2    The Start port operation

+ +

The start +operation enables sending and receiving operations on the port(s).

+ +

Syntactical Structure

+ +

( Port | ( all port +) ) "." start

+ +

 

+ +

Semantic +Description

+ +

If a port is defined as allowing receiving +operations such as receive, getcall etc., the start operation clears the incoming queue of the named port and starts +listening for traffic over the port. If the port is defined to allow sending +operations then the operations such as send, call, raise +etc., are also allowed to be performed at that port.

+ +

By default, all ports of a component shall +be started implicitly when a component is created. The start port operation +will cause unstopped ports to be restarted by removing all messages waiting in +the incoming queue.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    MyPort.start;  // starts MyPort

+ +

 

+ +

22.5.3    The Stop port operation

+ +

The stop operation disables sending and disallow receiving operations to +match at the port(s).

+ +

Syntactical Structure

+ +

( Port | ( all port +) ) "." stop

+ +

 

+ +

Semantic Description

+ +

If a port is defined as +allowing receiving operations such as receive and getcall, the stop operation causes listening at the named port to +cease. If the port is defined to allow sending operations then stop port disallows the operations such as send, call, +raise etc., to be performed.

+ +

To cease listening at the port means that +all receiving operations defined before the stop operation shall be completely +performed before the working of the port is suspended.

+ +

Restrictions

+ +

No specific +restrictions in addition to the general static rules of TTCN‑3 given in +clause 5.

+ +

Examples

+ +

    MyPort.receive +(MyTemplate1) -> value RecPDU;

+ +

                                     // +the received value is decoded, matched against
+                                     // MyTemplate1 and the matching value is +stored
+                                     // in the variable RecPDU
+    MyPort.stop;                     // No receiving operation defined +following the stop
+                                     // operation is executed (unless the port +is restarted
+                                     // by a subsequent start operation)
+    MyPort.receive (MyTemplate2);        // This operation does not +match and will block (assuming

+ +

                                     // +that no default is activated)

+ +

 

+ +

22.5.4    The Halt port operation

+ +

The halt operation is comparable to the stop +operation, but allows entries being already in the queue to be processed with +receiving operations.

+ +

Syntactical +Structure

+ +

( Port | ( all port +) ) "." halt

+ +

 

+ +

Semantic Description

+ +

If a port allows receiving operations such as receive, trigger and getcall, the halt operation disallows receiving operations to succeed for +messages and procedure call elements that enter the port queue after performing +the halt operation at that port. Messages and procedure +call elements that were already in the queue before the halt operation can still be processed with receiving +operations. If the port allows sending operations then halt port immediately disallows sending operations +such as send, call, +raise etc. to be performed. Subsequent halt +operations have no effect on the state of the port or its queue.

+ +

NOTE 1:   The port halt operation +virtually puts a marker after the last entry in the queue received when the +operation is performed. Entries ahead of the marker can be processed normally. +After all entries in the queue ahead of the marker have been processed, the +state of the port is equivalent to the stopped state.

+ +

NOTE 2:   If a port stop operation is +performed on a halted port before all entries in the queue ahead of the marker have +been processed, further receive operations are disallowed immediately (i.e. the +marker is virtually moved to the top of the queue).

+ +

NOTE 3:   A port start operation +on a halted port clears all entries in the queue irrespectively if they arrived +before or after performing the port halt operation. +It also removes the marker.

+ +

NOTE 4:   A port clear operation +on a halted port clears all entries in the queue irrespectively if they arrived +before or after performing the port halt operation. +It also virtually puts the marker at the top of the queue.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    MyPort.halt;                     // +No sending allowed on Myport from this moment on;
+                                     // processing of messages in the queue +still possible.
+    MyPort.receive (MyTemplate1);        // If a message was already in the +queue before the halt
+                                     // operation and it matches MyTemplate1, +it is processed;
+                                     // otherwise the receive operation blocks.
+
+

+ +

22.6      Use of any and all with +ports

+ +

The keywords +any and all may be used with configuration and communication operations as +indicated in table 26.

+ +

Table 26: Any and All with +ports

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+

 

+
+

any

+
+

all

+
+

 

+
+

receive, + trigger, getcall, getreply, catch, check)

+
+

yes

+
+

 

+
+

any port.receive

+
+

connect + / map

+
+

 

+
+

 

+
+

 

+
+

disconnect + / unmap

+
+

 

+
+

yes

+
+

unmap(self : all port)

+
+

start, + stop, clear, halt

+
+

 

+
+

yes

+
+

all port.start

+
+ +
+ +

 

+ +

NOTE:      Ports are owned by test components and +instantiated when a component is created. The keywords any port and all +port address all ports owned by a test component +and not only the ports known in the scope of the function or altstep that is +executed on the component.

+ +
+ +

23       Timer operations

+ +
+ +

TTCN‑3 supports a number of timer operations as given in table 27. +These operations may be used in test cases, functions, altsteps and module +control.

+ +

Table 27: +Overview of TTCN‑3 +timer operations

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Timer operations

+
+

Statement

+
+

Associated keyword or symbol

+
+

Start timer

+
+

start

+
+

Stop timer

+
+

stop

+
+

Read elapsed time

+
+

read

+
+

Check if timer running

+
+

running

+
+

Timeout event

+
+

timeout

+
+ +
+ +

 

+ +

23.1      The timer mechanism

+ +

It is assumed that each +test component and the module +control maintain their own running-timers list and timeout-list, +i.e. a list of all timers that are actually running and a list of all timers +that have timed out. The timeout-lists are part of the snapshots that are taken +when a test case is executed. The running-timers list and timeout-list of a +component or module control are updated if a timer of the component or module +control is started, is stopped, times out or the component or module control +executes a timeout operation.

+ +

NOTE 1:   The running-timers list and the +timeout-list are only a conceptual lists and do not restrict the implementation +of timers. Other data structures like a set, where the access to timeout events +is not restricted by, e.g. the order in which the timeout events have happened, +may also be used.

+ +

NOTE 2:   Conceptually, each test component and +module control maintain one running-timers list and +one timeout-list only. However, within a given +scope unit only timers known in the scope unit can be accessed individually, +i.e. timers that are declared in the scope unit, passed in as parameters to the +scope unit or known via a runs-on clause. In some special cases (e.g. for +re-establishing a test component during a test run), it can be necessary to +stop timers local to other scope units or to check if timers local to other +scope units are running or have already timed out. This can be done by using +the keywords all and any in combination with the timer operations stop, timeout and running. Allowed +combinations are defined in clause 23.7.

+ +

When a timer expires, the timer becomes +immediately inactive. A timeout event is placed in the timeout-list and the +timer is removed from the running-timer list of the test component or module +control for which the timer has been declared. Only one entry for any +particular timer may appear in the timeout-list and running-timer list of the +test component or module control for which the timer has been declared.

+ +

All running timers shall automatically be +cancelled when a test component is explicitly or implicitly stopped.

+ +

23.2      The Start timer +operation

+ +

The start +timer operation is used to indicate that a timer shall start running.

+ +

Syntactical +Structure

+ +

( ( TimerIdentifier | TimerParIdentifier +) { "[" SingleExpression "]" } )

+ +

"." start [ "(" +TimerValue ")" ]

+ +

 

+ +

Semantic Description

+ +

When a timer +is started, its name is added to the list of running timers (for the given +scope unit).

+ +

The optional timer value parameter shall be +used if no default duration is given, or if it is desired to override the +default value specified in the timer declaration. When a timer duration is +overridden, the new value applies only to the current instance of the timer, +any later start operations for this timer, which do not specify a duration, shall +use the default duration.

+ +

Starting a timer with the timer value 0.0 +means that the timer times out immediately. Starting a timer with a negative +timer value, e.g. the timer value is the result of an expression, or without a +specified timer value shall cause a runtime error.

+ +

The timer clock runs from the float value +zero (0.0) up to maximum stated by the duration parameter.

+ +

The start operation +may be applied to a running timer, in which case the timer is stopped and +re-started. Any entry in a timeout-list for this timer shall be removed from +the timeout-list.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Timer value shall be a non‑negative +numerical float number (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are +disallowed).

+ +

Examples

+ +

    MyTimer1.start;         // +MyTimer1 is started with the default duration

+ +

    MyTimer2.start(20E-3);    // +MyTimer2 is started with a duration of 20 ms

+ +

   

+ +

    // Elements of timer arrays may +also be started in a loop, for example

+ +

    timer t_Mytimer [5];

+ +

    var float +v_timerValues [5];

+ +

 

+ +

    for (var integer +i := 0; i<=4; i:=i+1)

+ +

      { v_timerValues [i] := 1.0 }

+ +

 

+ +

    for (var integer +i := 0; i<=4; i:=i+1)

+ +

      {t_Mytimer [i].start ( +v_timerValues [i])}

+ +

 

+ +

23.3      The Stop timer operation

+ +

The stop operation is +used to stop a running timer.

+ +

Syntactical +Structure

+ +

( ( ( TimerIdentifier | TimerParIdentifier +) { "[" SingleExpression "]" } ) |

+ +

      all timer )

+ +

"." stop

+ +

 

+ +

Semantic +Description

+ +

A stop operation removes a running timer from the list +of running timers. A stopped timer becomes inactive and its elapsed time is set +to the float value zero (0.0).

+ +

Stopping an inactive +timer is a valid operation, although it does not have any effect. Stopping an +expired timer causes the entry for this timer in the +timeout-list to be removed.

+ +

The all keyword may be used to stop all timers that +have been started on a component or module control.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    MyTimer1.stop;        // stops +MyTimer1

+ +

    all timer.stop;       // stops all running timers

+ +

 

+ +

23.4      The Read timer operation

+ +

The read operation is +used to retrieve the time that has elapsed since the specified timer was +started.

+ +

Syntactical Structure

+ +

( ( TimerIdentifier +| TimerParIdentifier ) { "[" SingleExpression +"]" } )

+ +

"." read

+ +

 

+ +

Semantic +Description

+ +

The read operation returns the time that has elapsed +since the specified timer was started. The returned value shall be of type float.

+ +

Applying the read operation on an inactive timer, i.e. on a timer +not listed on the running-timer list, will return the float value zero (0.0).

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    var float Myvar;

+ +

    MyVar := MyTimer1.read; // +assign to MyVar the time that has elapsed since MyTimer1 was started

+ +

 

+ +

23.5      The Running timer +operation

+ +

The running timer +operation is used to check whether a timer is in the running-timer list.

+ +

Syntactical +Structure

+ +

( ( ( TimerIdentifier | TimerParIdentifier +) { "[" SingleExpression "]" } ) |

+ +

      any timer )

+ +

"." running

+ +

 

+ +

Semantic Description

+ +

The running timer operation is used to check whether a +specific timer visible in the given scope unit is listed on the running-timer +list or not (i.e. that it has been started and has neither timed out nor been +stopped). The operation returns the value true if the timer is listed on the list, false otherwise.

+ +

The any keyword may be used to check if any timer +started on a component or module control is running.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

EXAMPLE 1:      Checking if a specific timer is +running

+ +

    if (MyTimer1.running) +{ … }

+ +

 

+ +

EXAMPLE 2:      Checking if an arbitrary timer is running

+ +

    if (any timer.running) +{ … }

+ +

 

+ +

23.6      The Timeout operation

+ +

The timeout operation allows to check the expiration of timers.

+ +

Syntactical +Structure

+ +

( ( ( TimerIdentifier | TimerParIdentifier +) { "[" SingleExpression "]" } ) |

+ +

      any timer )

+ +

"." timeout

+ +

 

+ +

Semantic Description

+ +

The timeout operation allows to check the expiration of a specific timer in the +scope unit of a test component or module control in which the timeout operation +has been called or of any timer that has been started on a test component or +module control before entering the scope in which the timeout operation has been called.

+ +

When a timeout operation is processed, if a timer name is indicated, the +timeout-list is searched according to the TTCN‑3 scope rules. If there is +a timeout event matching the timer name, that event is removed from the +timeout-list, and the timeout operation succeeds.

+ +

The timeout can be used to determine an alternative in an alt statement or as stand-alone statement in a +behaviour description. In the latter case a timeout operation is considered to be shorthand for an alt statement with the timeout operation as the only alternative.

+ +

The any keyword used with the timeout operation succeeds if the timeout-list is not +empty.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The timeout shall not be used in a boolean expression.

+ +

Examples

+ +

EXAMPLE 1:      Timeout of a specific timer

+ +

    MyTimer1.timeout; // checks +for the timeout of the previously started timer MyTimer1

+ +

 

+ +

EXAMPLE 2:      Timeout of an arbitrary timer

+ +

    any timer.timeout; // checks for the timeout of any previously started timer +

+ +

 

+ +

23.7      Summary of use of any and all with timers

+ +

The keywords any and all +may be used with timer operations as indicated in table 28.

+ +

Table 28: +Any and All with Timers

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+

 

+
+

any

+
+

all

+
+

                   

+
+

start

+
+

 

+
+

 

+
+

 

+
+

stop

+
+

 

+
+

yes

+
+

all timer.stop

+
+

read

+
+

 

+
+

 

+
+

 

+
+

running

+
+

yes

+
+

 

+
+

if (any timer.running) {…}

+
+

timeout

+
+

yes

+
+

 

+
+

any timer.timeout

+
+ +
+ +

 

+ + + +

Verdict operations given in table 29 +allow to set and retrieve verdicts. These operations shall only be used in test +cases, altsteps and functions.

+ +

Table 29: +Overview of TTCN‑3 test +verdict operations

+ +
+ + + + + + + + + + + + + + + + + +
+

Test verdict operations

+
+

Statement

+
+

Associated keyword or + symbol

+
+

Set local verdict

+
+

setverdict

+
+

Get local verdict

+
+

getverdict

+
+ +
+ +

 

+ +

24.1      The Verdict mechanism

+ +

Each test component of +the active configuration shall maintain its own local verdict. The local +verdict is an object which is created for each test component at the time of +its creation. It is used to track the individual verdict in each test component +(i.e. in the MTC and in each +and every PTC).

+ +

Additionally, there is +a global test case verdict instantiated and handled by the test system that is +updated when each test component (i.e. the MTC and each and every PTC) +terminates execution (see figure 14). +This verdict is not accessible to the getverdict and setverdict operations. The value of this verdict shall be +returned by the test case when it terminates execution. If the returned verdict +is not explicitly saved in the control part (e.g. assigned to a variable) then +it is lost.

+ +

+ +

Figure 14: +Illustration of the relationship between verdicts

+ +

NOTE 1:   TTCN‑3 does not specify the actual +mechanisms that perform the updating of the local and test case verdicts. These +mechanisms are implementation dependent.

+ +

The verdict can have five different values: +pass, fail, inconc, none and error, i.e. the +distinguished values of the verdicttype (see clause 6.1).

+ +

NOTE 2:   inconc means an inconclusive verdict.

+ +

When a test component +is instantiated, its local verdict object is created and set to the value none.

+ +

When changing the value +of the local verdict (i.e. using the setverdict operation) +the effect of this change shall follow the overwriting rules listed in table 30. +The test case verdict is implicitly updated on the termination of a test +component. The effect of this implicit operation shall also follow the +overwriting rules listed in table 30.

+ +

Table 30: +Overwriting rules for the verdict

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Current value of

+
+

New verdict assignment value

+
+

Verdict

+
+

pass

+
+

inconc

+
+

fail

+
+

none

+
+

None

+
+

pass

+
+

inconc

+
+

fail

+
+

none

+
+

Pass

+
+

pass

+
+

inconc

+
+

fail

+
+

pass

+
+

Inconc

+
+

inconc

+
+

inconc

+
+

fail

+
+

inconc

+
+

Fail

+
+

fail

+
+

fail

+
+

fail

+
+

fail

+
+ +
+ +

 

+ +

The error verdict is special in that it is set by the +test system to indicate that a test case (i.e. run-time) error has occurred. It +shall not be set by the setverdict +operation and will not be returned by the getverdict operation. No other +verdict value can override an error +verdict. This means that an error verdict can +only be a result of an execute test case +operation.

+ +

Together with the local +test verdict, each test component shall also maintain an implicit charstring variable to store information about the reasons +for assigning the verdict. The implicit charstring variable shall have no effect on the +overwriting rules and on the calculation of the final test case verdict. On the +termination of the test component, the local verdict of the test component +shall be logged together with the implicit charstring variable. The implicit charstring variable cannot be retrieved and read by any TTCN-3 function, it only provides +additional information for logging.

+ +

24.2      The Setverdict operation

+ +

The local verdict is set with the setverdict operation.

+ +

Syntactical +Structure

+ +

setverdict "(" SingleExpression +{ "," ( FreeText | TemplateInstance ) } ")"

+ +

 

+ +

Semantic Description

+ +

The value of the local verdict is changed with the setverdict operation. +The effect of this change shall follow the overwriting rules listed in table 30.

+ +

The optional parameters allow to +provide information that explain the reasons for assigning the verdict. This +information is composed to a string and stored in an implicit charstring variable. On termination of the test component, the actual local +verdict is logged together with the implicit charstring +variable. Since the optional parameters can be seen as log information, the +same rules and restrictions as for the parameters of the log statement (clause 19.11) apply.

+ +

As the result of the setverdict operation, the implicit charstring variable is overwritten whenever the local +verdict of a test component is overwritten. A setverdict operation with a verdict only that overwrites +the current local verdict, will also clear the implicit charstring variable. This means previously stored +information gets lost.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The setverdict operation shall only be +used with the values pass, fail, inconc and none. It shall not be used to assign the value error, this is set +by the test system only to indicate run-time errors.

+ +

b)          +SingleExpression +shall resolve to a value of type verdict.

+ +

c)          +For FreeText and TemplateInstance, +the same rules and restrictions apply as for the parameters of the log +statement. Table 18 lists all language elements that can be +used in a setverdict operation.

+ +

Examples

+ +

EXAMPLE 1:

+ +

    setverdict(pass); // +the local verdict is set to pass

+ +

    :

+ +

    setverdict(fail); // until this line is executed, +which will result in the value

+ +

                      // of the local verdict being overwritten to +fail

+ +

                      // When the ptc terminates the test case +verdict is set to fail

+ +

 

+ +

EXAMPLE 2:

+ +

    var integer myVar:= 1;

+ +

    :

+ +

    MyPort.receive(integer:MyVar);   // +Matches an integer value with the value of MyVar

+ +

                                 // +at port MyPort

+ +

    setverdict(pass, +"Value received: ", myVar ); // Provided the actual test component +verdict is                                  // none: local verdict is set to +pass, the implicit

+ +

                                 // +charstring variable is set to "Value received: 5"

+ +

    stop;                        // +The test component terminates. The local test verdict and

+ +

                                 // +implicit charstring variable are logged

+ +

24.3      The Getverdict operation

+ +

The value of the local verdict may be retrieved using the getverdict operation.

+ +

Syntactical +Structure

+ +

getverdict

+ +

 

+ +

Semantic +Description

+ +

The getverdict operation returns the actual value of the local +verdict.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    MyResult := getverdict; // +Where MyResult is a variable of type verdicttype

+ +

 

+ + + +

In some testing +situations some interface(s) to the SUT may be missing or unknown a priori (e.g. management +interface) but it may be necessary that the SUT +is stimulated to carry out certain actions (e.g. send a message to the test +system). Also certain actions may be required from the test executing personnel +(e.g. to change the environmental conditions of testing like the temperature, +voltage of the power feeding, etc.).

+ +

The required action may +be described as a string expression, i.e. the use of literal strings, string +typed variables and parameters, etc. and any concatenation thereof are allowed.

+ +

Syntactical +Structure

+ +

action "(" { ( FreeText +| Expression ) ["&"] } ")"

+ +

 

+ +

Semantic +Description

+ +

External actions +can be used in test cases, functions, altsteps and module control.

+ +

There is no +specification of what is done to or by the SUT to trigger this action, only an informal description of +the required action itself.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)       +Expression shall +have the base type charstring or universal charstring.

+ +

Examples

+ +

    var charstring myString:= " now."

+ +

    action("Send MyTemplate on lower PCO" & +myString); // Informal description of the
+                                                       //
external action

+ +

 

+ +
+ +

26       Module +control

+ +
+ +

Test cases are defined in the module definitions part while +the module control part manages their execution. The statements and operations +that can be used in the module control are summarized in table 31.

+ +

Table +31: +Overview of TTCN‑3 +statements and operations in module control

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statement

+
+

Associated keyword or symbol

+

 

+

Assignments

+
+

:=

+

 

+

If-else

+
+

if (…) {…} + else {…}

+

 

+

Select case

+
+

select case + (…) { case (…) {…} case else {…}}

+

 

+

For loop

+
+

for (…) {…}

+

 

+

While loop

+
+

while (…) {…}

+

 

+

Do while loop

+
+

do {…} while + (…)

+

 

+

Label and Goto

+
+

label / goto

+

 

+

Stop execution

+
+

stop

+

 

+

Leaving a loop, alt or interleave

+
+

break

+

 

+

Next iteration of a loop

+
+

continue

+

 

+

Logging

+
+

log

+

 

+

Alternative behaviour (see note)

+
+

alt {…}

+

 

+

Re-evaluation of + alternative behaviour (see note)

+
+

repeat

+

 

+

Interleaved behaviour (see note)

+
+

interleave {…}

+

 

+

Activate a default (see note)

+
+

activate

+

 

+

Deactivate a default (see note)

+
+

deactivate

+

 

+

Start timer

+
+

start

+

 

+

Stop timer

+
+

stop

+

 

+

Read elapsed time

+
+

read

+

 

+

Check if timer running

+
+

running

+

 

+

Timeout event

+
+

timeout

+

 

+

Stimulate an (SUT) action externally

+
+

action

+

 

+

Execute test case

+
+

execute

+

 

+

NOTE:       Can be used to control timer + operations only.

+
+ +
+ +

 

+ +

26.1      The +Execute statement

+ +

Test cases are executed with an execute statement in the module control.

+ +

Syntactical +Structure

+ +

execute "(" TestcaseRef +"(" [ { ActualPar  [","] } ] ")" [ +"," TimerValue [ "," HostId ] ] ")"

+ +

 

+ +

Semantic +Description

+ +

In the module control +part the execute statement +is used to start test cases (see clause 27.1). The result of an executed test +case is always a value of type verdicttype. Every test case shall contain one and only one MTC the type of which is referenced in the +header of the test case definition. The behaviour defined in the test case body +is the behaviour of the MTC.

+ +

When a test case is +invoked the MTC is created, +the ports of the MTC and the test system +interface are instantiated and the behaviour specified in the test case +definition is started on the MTC. All these +actions shall be performed implicitly i.e. without explicit create and start operations.

+ +

Test case start

+ +

A test case is called +using an execute statement. +As the result of the execution of a test case, a test case verdict of either none, pass, +inconc, fail +or error shall be returned and may be assigned to a +variable for further processing.

+ +

Optionally, the execute statement allows supervision of a test case by +means of a timer duration.

+ +

Also optionally, the +execute statement allows deployment of the MTC to a specific host before starting the execution. The host +is identified by means of a host id.

+ +

Test case parameterization and configuration

+ +

All variables (if any) +defined in the control part of a module shall be passed into the test case by +parameterization if they are to be used in the behaviour definition of that +test case, i.e. TTCN‑3 +does not support global variables of any kind.

+ +

At the start of each test case, the test configuration +shall be reset. This means that all components and ports conducted by create, connect, etc. operations in a previous test case were +destroyed when that test case was stopped (hence are not "visible" to +the new test case).

+ +

Test case +termination

+ +

A test case terminates with the termination +of the MTC. On termination of the MTC (explicitly or implicitly), all running +parallel test components shall be removed by the test system.

+ +

NOTE 1:   The concrete +mechanism for stopping all PTCs is tool specific and therefore outside the +scope of the present document.

+ +

The final verdict of a +test case is calculated based on the final local verdicts of the different test +components according to the rules defined in clause 24.1. The actual local +verdict of a test component becomes its final local verdict when the test +component terminates itself or is stopped by itself, another test component or +by the test system.

+ +

NOTE 2:   To avoid race +conditions for the calculation of test verdicts due to the delayed stopping of +PTCs, the MTC should ensure that all PTCs have +stopped (by means of the done +or killed statement) before it stops itself.

+ +

Test case timer

+ +

Timer may be used to supervise the +execution of a test case. This may be done using an explicit timeout in the execute statement. If the test case does not end +within this duration, the result of the test case execution shall be an error +verdict and the test system shall terminate the test case. The timer used for +test case supervision is a system timer and need not be declared or started.

+ +

Host id

+ +

A host id can be used +to give a specific deployment location to the test system where the MTC shall be started and execute its +behaviour. If a host id is provided, the execute statement shall end with a +test case error if the MTC cannot be deployed +on the specified host.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +The TimerValue shall resolve to a +non-negative numerical float value (i.e. the value shall be greater or equal 0.0, infinity and not_a_number are +disallowed).

+ +

b)          +When the corresponding formal parameter is not +of template type TemplateInstance shall resolve to an Expression.

+ +

c)          +The execute statement shall not be called from +within an existing executing testcase or function chain called from a test +case, i.e. test cases can only be executed from the control part or from +functions directly called from the control part.

+ +

d)          +The HostId parameter shall resolve to a charstring +value.

+ +

Examples

+ +

EXAMPLE 1:      Test case execution without +keeping the test case verdict

+ +

    execute(MyTestCase1());                     // executes +MyTestCase1, without storing the

+ +

                                            // returned test +verdict and without time

+ +

                                            // supervision

+ +

 

+ +

EXAMPLE 2:      Test case execution with keeping +the test case verdict

+ +

    MyVerdict := execute(MyTestCase2());    // executes +MyTestCase2 and stores the resulting

+ +

                                            // verdict in variable +MyVerdict

+ +

 

+ +

EXAMPLE 3:      Test +case timer

+ +

    MyVerdict := execute(MyTestCase3(),5E-3);   // executes +MyTestCase3 and stores the resulting

+ +

                                            // verdict in variable +MyVerdict. If the test case

+ +

                                            // does not terminate +within 5ms, MyVerdict will

+ +

                                            // get the value 'error'

+ +

 

+ +

    MyReturnVal := execute (MyTestCase(), 7E-3);

+ +

    // Where the return verdict will be error if MyTestCase does +not complete execution

+ +

    // within 7ms

+ +

 

+ +

EXAMPLE 4:      Host id

+ +

    MyVerdict := execute(MyTestCase3(), -, +"Host1");  

+ +

                                            // executes MyTestCase3 +with unlimited time

+ +

                                            // with MTC deployed to +'Host1'

+ +

26.2      The +Control part

+ +

The control part defines, in which order, sequence, loop, +under which preconditions, and with which parameters test cases are to be +executed.

+ +

Syntactical +Structure

+ +

control "{"

+ +

     { ( ConstDef |

+ +

         TemplateDef |

+ +

         VarInstance |

+ +

         TimerInstance |

+ +

         TimerStatements |

+ +

         BasicStatements |

+ +

         BehaviourStatements |

+ +

         SUTStatements |

+ +

         stop ) [";"] +}

+ +

"}"

+ +

[ WithStatement ] +[";"]

+ +

 

+ +

Semantic Description

+ +

Sequence of test cases

+ +

Program statements specify such things like the order in +which test cases are to be executed or the number of times a test case should +run.

+ +

If no programming +statements are used then, by default, the test cases are executed in the +sequential order in which they appear in the module control.

+ +

NOTE:      This does not +preclude the possibility that certain tools may wish to override this default +ordering to allow a user or tool to select a different execution order.

+ +

Timer operations may also be used explicitly to control +test case execution.

+ +

Selection/deselection of test cases

+ +

The selection and deselection of test cases +can also be used to control the execution of test cases.

+ +

There are different +ways in TTCN‑3 to +select and deselect test cases. For example, boolean expressions may be used to +select and deselect which test cases are to be executed. This includes, of +course, the use of functions that return a boolean value.

+ +

Another way to execute +test cases as a group is to collect them in a function and execute that +function from the module control.

+ +

As a test case returns +a single value of type verdicttype, it is +also possible to control the order of test case execution depending on the +outcome of a test case. The use of the TTCN‑3 verdicttype is another way to select test cases.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +Configuration statements such as connect and map +(with the exception of stop execution, which is allowed), communication +statements such as send and receive and verdict statements such as setverdict +shall not be used in the control part.

+ +

b)          +Statements for alternative behaviours shall only +be used to control timer behaviours.

+ +

c)          +The restrictions on the use of statements in the +control part are given in table 16.

+ +

Examples

+ +

EXAMPLE 1:      Test +case execution in a loop

+ +

    module MyTestSuite () {

+ +

        :

+ +

       control {

+ +

            :

+ +

           // Do this test 10 times

+ +

           count:=0;

+ +

           while (count < +10)

+ +

           {   execute +(MySimpleTestCase1());

+ +

               count := count+1;

+ +

           }

+ +

       }

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Test case execution controlled by +a timer and a counter

+ +

    // Example of the use of the running +timer operation

+ +

    while (T1.running or x<10)   // Where T1 is a +previously started timer

+ +

    {   execute(MyTestCase());

+ +

       x := x+1;

+ +

    }

+ +

 

+ +

    // Example of the use of the start +and timeout operations

+ +

 

+ +

    timer T1 := 1.0; 

+ +

     :

+ +

    execute(MyTestCase1());

+ +

    T1.start;

+ +

    T1.timeout;    // Pause before +executing the next test case

+ +

    execute(MyTestCase2());

+ +

 

+ +

EXAMPLE 3:      Selection/deselection +of test cases with Boolean expressions

+ +

    module MyTestSuite () {

+ +

        :

+ +

       control {

+ +

            :

+ +

           if (MySelectionExpression1()) {

+ +

               execute(MySimpleTestCase1());

+ +

               execute(MySimpleTestCase2());

+ +

               execute(MySimpleTestCase3());

+ +

           }

+ +

           if (MySelectionExpression2()) {

+ +

               execute(MySimpleTestCase4());

+ +

               execute(MySimpleTestCase5());

+ +

               execute(MySimpleTestCase6());

+ +

           }

+ +

            :

+ +

       }

+ +

    }

+ +

 

+ +

EXAMPLE 4:      Selection/deselection of test cases with functions

+ +

    function +MyTestCaseGroup1()

+ +

    {   execute(MySimpleTestCase1());

+ +

       execute(MySimpleTestCase2());

+ +

       execute(MySimpleTestCase3());

+ +

    }

+ +

    function +MyTestCaseGroup2()

+ +

    {   execute(MySimpleTestCase4());

+ +

       execute(MySimpleTestCase5());

+ +

       execute(MySimpleTestCase6());

+ +

    }

+ +

     :

+ +

    control

+ +

    {   if +(MySelectionExpression1()) { MyTestCaseGroup1(); }

+ +

       if (MySelectionExpression2()) { MyTestCaseGroup2(); }

+ +

        :

+ +

    }

+ +

 

+ +

EXAMPLE 5:      Selection/deselection of test +cases based on test case verdicts

+ +

    if ( execute (MySimpleTestCase()) == pass )

+ +

       { execute (MyGoOnTestCase()) }

+ +

    else

+ +

       { execute (MyErrorRecoveryTestCase()) };

+ +

 

+ +
+ +

27       Specifying +attributes

+ +
+ +

TTCN‑3 uses attributes to give +special characterization/meaning to language elements such as specific +presentation format, specific encoding and encoding variants, and user-defined properties.

+ +

27.1      The Attribute mechanism

+ +

Attributes can be associated with TTCN‑3 +language elements by means of the with statement.

+ +

27.1.1    Scope of attributes

+ +

A with +statement may associate attributes to a single language element or to elements +or fields of structured types (in a recursive way), the same way as specified +in clauses 6.2.1.1 and 6.2.3.2. It is also possible to associate +attributes to a number of +language elements by, e.g. listing fields of a +structured type in an attribute statement associated with a single type +definition or associating a with statement to the surrounding scope unit or group +of language elements.

+ +

EXAMPLE +1:      // attributes for single language elements and groups

+ +

    // MyPDU1 will be displayed as +PDU

+ +

    type record MyPDU1 +{ … } with { display "PDU"}

+ +

 

+ +

    // MyPDU2 will be displayed as PDU with the application +specific extension attribute MyRule

+ +

    type record MyPDU2 { … }

+ +

    with

+ +

    {

+ +

       display "PDU";

+ +

       extension "MyRule"

+ +

    }

+ +

 

+ +

    // The following group definition …

+ +

    group MyPDUs {

+ +

       type record MyPDU3 { … }

+ +

       type record MyPDU4 { … }

+ +

    }

+ +

    with {display "PDU"}  // All types of +group MyPDUs will be displayed as PDU 

+ +

 

+ +

    // is identical to

+ +

    group MyPDUs {

+ +

       type record MyPDU3 { … } with { display +"PDU"}

+ +

       type record MyPDU4 { … } with { display +"PDU"}

+ +

    }

+ +

 

+ +

EXAMPLE 2:      // attributes +for fields and elements

+ +

    type record MyRec {

+ +

       integer field1,

+ +

       record {

+ +

           integer eField1,

+ +

           boolean eField2

+ +

       } field2

+ +

    }

+ +

    with { display (field2.eField1) "colour +blue" }

+ +

    // the embedded field eField1 is displayed blue

+ +

 

+ +

    type record of integer MyRecOfInteger

+ +

    with { display ([-]) "colour green"

+ +

    // all integer elements are displayed green

+ +

 

+ +

    type record of integer MyRecOfInteger2

+ +

    with { display ([-]) "colour red" }

+ +

    // integer elements are displayed red

+ +

 

+ +

    const MyRecOfInteger c_MyRecordOfInt := {0, 1, 2, 3}

+ +

    with { display ([0]) "colour blue" }

+ +

    // the first element is displayed blue, the other elements are +displayed red

+ +

 

+ +

27.1.2    Overwriting rules for +attributes

+ +

An attribute definition in a lower scope unit will override +a general attribute definition in a higher scope. Additional overwriting rules +for variant attributes are defined in the present clause.

+ +

EXAMPLE 1:

+ +

    type record MyRecordA

+ +

    {

+ +

       :

+ +

    } with { encode "RuleA" }

+ +

 

+ +

    // In the following, MyRecordA is encoded according to RuleA +and not according to RuleB

+ +

    type record MyRecordB

+ +

    {

+ +

        :

+ +

       field  MyRecordA

+ +

    } with { encode "RuleB" }

+ +

 

+ +

A with statement +that is placed inside the scope of another with statement +shall override the outermost with. This shall also apply to the +use of the with statement with groups. Care should be taken when the overwriting +scheme is used in combination with references to single definitions. The +general rule is that attributes shall be assigned and overwritten according to +the order of their occurrence.

+ +

    // Example of the use of the overwriting scheme of the with +statement

+ +

    group MyPDUs

+ +

    {

+ +

       type record MyPDU1 { … }

+ +

       type record MyPDU2 { … }

+ +

 

+ +

       group MySpecialPDUs

+ +

       {

+ +

           type record MyPDU3 { … }

+ +

           type record MyPDU4 { … }

+ +

       }  

+ +

       with {extension "MySpecialRule"} // +MyPDU3 and MyPDU4 will have the application

+ +

                                        // specific extension +attribute MySpecialRule

+ +

    }

+ +

    with

+ +

    {

+ +

       display "PDU";    // All types of group +MyPDUs will be displayed as PDU and 

+ +

       extension "MyRule";   // (if not +overwritten) have the extension attribute MyRule

+ +

    }

+ +

 

+ +

    // is identical to …

+ +

    group MyPDUs

+ +

    {

+ +

       type record MyPDU1 { … } with {display +"PDU"; extension "MyRule" }

+ +

       type record MyPDU2 { … } with {display +"PDU"; extension "MyRule" }

+ +

        group MySpecialPDUs {

+ +

           type record MyPDU3 { … } with {display +"PDU"; extension "MySpecialRule" }

+ +

           type record MyPDU4 { … } with {display +"PDU"; extension "MySpecialRule" }

+ +

       }

+ +

    }

+ +

 

+ +

An attribute definition in a lower scope +can be overwritten in a higher scope by using the override +directive.

+ +

EXAMPLE 2:

+ +

    type record +MyRecordA

+ +

    {

+ +

        :

+ +

    } with { encode "RuleA" }

+ +

 

+ +

    // In the following, MyRecordA is encoded according to RuleB

+ +

    type record MyRecordB

+ +

    {

+ +

        :

+ +

       fieldA MyRecordA

+ +

    } with { encode override "RuleB" +}

+ +

 

+ +

The override +directive forces all contained types at all lower scopes to be forced to the +specified attribute.

+ +

An attribute definition for a field or +element of a structured type overrides the corresponding attribute of the +structured type, as regards the identified field or element. The attribute +definition for a field or element of a structured type can however be +overridden with the override directive in the attribute definition of the +structured type.

+ +

27.1.2.1          Additional overwriting +rules for variant attributes

+ +

A variant attribute +is always related to an encode attribute. Whereas a variant of an encoding may change, an encoding +shall not change without overwriting all current variant attributes. Therefore, +for variant attributes the following overwriting rules apply:

+ +

·            +a variant attribute overwrites an +current variant attribute according to the rules defined in clause 27.1.2;

+ +

·            +an encoding attribute, which overwrites +a current encoding attribute according to the rules defined in clause 27.1.2, also +overwrites a corresponding current variant attribute, i.e. no new variant attribute is provided, but the current variant attribute +becomes inactive;

+ +

·            +an encoding attribute, which changes a +current encoding attribute of an imported language element according to the rules +defined in clause 27.1.3, also changes a corresponding current variant attribute, i.e. no new variant attribute +is provided, but the current variant attribute becomes inactive.

+ +

EXAMPLE:

+ +

    module MyVariantEncodingModule {

+ +

       :

+ +

       type charstring MyCharString; // +Normally encoded according to "Encoding 1"

+ +

       :

+ +

       group MyVariantsOne {

+ +

           :

+ +

           type record MyPDUone

+ +

           {  

+ +

               integer    field1, // field1 will be encoded +according to "Encoding 2" only.

+ +

                                 // "Encoding 2" +overwrites "Encoding 1" and variant "Variant 1"

+ +

               Mytype     field3 // field3 will be encoded +according to "Encoding 1" with

+ +

                                 // variant "Variant 1".

+ +

           }

+ +

           with { encoding (field1) "Encoding +2" }

+ +

           :

+ +

       }

+ +

       with { variant "Variant 1" }

+ +

 

+ +

       group MyVariantsTwo

+ +

       {   :

+ +

           type record +MyPDUtwo

+ +

           {  

+ +

               integer    field1, // +field1 will be encoded according to "Encoding 3"

+ +

                                 // +using encoding variant "Variant 3"

+ +

               Mytype     field3 // +field3 will be encoded according to "Encoding 3"

+ +

                                 // +using encoding variant "Variant 2"

+ +

           }

+ +

           with { variant +(field1) "Variant 3" }

+ +

           :

+ +

       }

+ +

       with { encode "Encoding 3"; variant +"Variant 2"}

+ +

        

+ +

    }

+ +

    with { encode "Encoding 1" }

+ +

 

+ +

27.1.3    Changing attributes of imported +language elements

+ +

In general, a language +element is imported together with its attributes. In some cases these +attributes may have to be changed when importing the language element, e.g. a +type may be displayed in one module as ASP, then it is imported by another module where it should be +displayed as PDU. For such cases it is allowed +to change attributes on the import +statement.

+ +

EXAMPLE:

+ +

    import from MyModule {

+ +

       type MyType

+ +

    }

+ +

    with { display "ASP" }       // MyType will be displayed as ASP

+ +

 

+ +

    import from MyModule {

+ +

       group MyGroup

+ +

    }

+ +

    with {

+ +

       display "PDU";        // By default all types will be displayed as +PDU

+ +

       extension "MyRule"

+ +

    }

+ +

 

+ +

27.2      The With statement

+ +

The with statement is used to associate attributes to TTCN‑3 language elements (and sets thereof).

+ +

Syntactical +Structure

+ +

with  "{"

+ +

  { ( encode | variant +| display | extension | optional )

+ +

    [ override ]

+ +

    ["(" DefinitionRef +| FieldReference | AllRef ")"]

+ +

    FreeText [";"] }

+ +

"}"

+ +

 

+ +

Semantic Description

+ +

There are +five kinds of attributes that can be associated to language elements:

+ +

a)          +display: allows the specification of display +attributes related to specific presentation formats;

+ +

b)          +encode: allows references to specific encoding +rules;

+ +

c)          +variant: allows references to specific encoding +variants;

+ +

d)          +extension: allows the specification of +user-defined attributes;

+ +

e)          +optional: allows the implicit setting of optional fields in records and sets +to omit.

+ +

The syntax for the argument of the with +statement (i.e. the actual attributes) is defined as a free text string.

+ +

Restrictions

+ +

In addition to the general static rules of +TTCN‑3 given in clause 5, the following restrictions apply:

+ +

a)          +DefinitionRef and +FieldReference must refer to a definition or field respectively which is +within the module, group or definition to which the with statement is +associated.

+ +

Examples

+ +

    type record MyService {

+ +

       integer i,

+ +

       float f

+ +

    }

+ +

    with { display "ServiceCall" }       // MyRecord will be displayed as a +ServiceCall

+ +

 

+ +

27.3      Display attributes

+ +

Display attributes allow the specification +of display attributes related to specific presentation formats.

+ +

Syntactical +Structure

+ +

display

+ +

 

+ +

Semantic +Description

+ +

All TTCN‑3 language elements can have display attributes to specify how particular language +elements shall be displayed in, for example, a tabular format.

+ +

Special attribute +strings related to the display attributes for the tabular (conformance) +presentation format can be found in ES 201 873-2 +[i.1].

+ +

Special attribute +strings related to the display attributes for the graphical presentation format +can be found in ES 201 873-3 [i.2].

+ +

Other display attributes may be defined by the user.

+ +

NOTE:      Because +user-defined attributes are not standardized, the interpretation of these +attributes may differ between tools or even may not be supported.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    type record MyService {

+ +

       integer +i,

+ +

       float +f

+ +

    }

+ +

    with { display "ServiceCall" }       // MyRecord will be displayed as a +ServiceCall

+ +

 

+ +

27.4      Encoding attributes

+ +

In TTCN‑3, general or particular +encoding rules can be specified by using encode and variant attributes. Encoding attributes allow references to specific encoding rules.

+ +

Syntactical +Structure

+ +

encode

+ +

 

+ +

Semantic Description

+ +

Encoding rules define +how a particular value, template, etc. shall be encoded and transmitted over a +communication port and how +received signals shall be decoded. TTCN‑3 does not have a default encoding mechanism. This means +that encoding rules or encoding directives are defined in some external manner +to TTCN‑3.

+ +

The encode attribute allows the association of some +referenced encoding rule or encoding directive to be made to a TTCN‑3 definition.

+ +

The manner in which the +actual encoding rules are defined (e.g. prose, functions, etc.) is outside the +scope of the present document. If no specific rules are referenced then +encoding shall be a matter for individual implementation.

+ +

In most cases encoding +attributes will be used in a hierarchical manner. The top-level is the entire +module, the next level is a group and the lowest is an individual type or +definition:

+ +

a)          +module: encoding applies to all types defined +in the module, including TTCN‑3 types (built-in types);

+ +

b)          +group: encoding applies to a group of +user-defined type definitions;

+ +

c)          +type or +definition: encoding +applies to a single user-defined type or definition;

+ +

d)          +field:encoding applies to a field in a record +or set type or template.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    module MyFirstmodule

+ +

    {   :

+ +

       import from MySecondModule {

+ +

           type MyRecord

+ +

       }

+ +

       with { encode "MyRule 1" } // +Instances of MyRecord will be encoded according to MyRule 1

+ +

                

+ +

        :

+ +

       type charstring MyType;   // Normally +encoded according to the 'Global encoding rule

+ +

       :

+ +

       group MyRecords

+ +

       {   :

+ +

           type record MyPDU1

+ +

           {  

+ +

               integer    field1,    // field1 will be +encoded according to "Rule 3"

+ +

               boolean    field2,    // field2 will +be encoded according to "Rule 3"

+ +

               Mytype     field3     // field3 will be encoded +according to "Rule 2"

+ +

           }

+ +

           with { encode (field1, field2) "Rule +3" }

+ +

           :

+ +

       }

+ +

       with { encode "Rule 2" }

+ +

        

+ +

    }

+ +

    with { encode "Global encoding rule" }

+ +

 

+ +

27.5      Variant attributes

+ +

In TTCN‑3, general or particular encoding rules can be specified by +using encode and variant attributes. Variant attributes allow references to specific encoding variants.

+ +

Syntactical +Structure

+ +

variant

+ +

 

+ +

Semantic +Description

+ +

To specify a refinement of the currently +specified encoding scheme instead of its replacement, the variant attribute shall be used. The variant attributes are different from +other attributes, because they are closely related to encode attributes. +Therefore, for variant attributes, additional overwriting rules apply (see clause +27.1.2.1).

+ +

Special +variant strings:

+ +

The +following strings are the predefined (standardized) variant +attributes for simple basic types (see clause E.2.1):

+ +

a)          +"8 bit" and "unsigned 8 bit" mean, when applied to integer and enumerated types, that the integer +value or the integer numbers associated with enumerations shall be handled as +it was represented on 8-bits (single byte) within the system.

+ +

b)          +"16 bit" and "unsigned 16 bit" mean, when applied to integer and enumerated types, that the +integer value or the integer numbers associated with enumerations shall be +handled as it was represented on 16-bits (two bytes) within the system.

+ +

c)          +"32 bit" and "unsigned 32 bit" mean, when applied to integer and enumerated types, that the +integer value or the integer numbers associated with enumerations shall be +handled as it was represented on 32-bits (four bytes) within the system.

+ +

d)          +"64 bit" and "unsigned 64 bit" mean, when applied to integer and enumerated types, that the +integer value or the integer numbers associated with enumerations shall be +handled as it was represented on 64-bits (eight bytes) within the system.

+ +

e)          +"IEEE754 float","IEEE754 double", "IEEE754 extended float" and "IEEE754 extended double" mean, when applied to a float type, that the value shall be encoded and decoded according to the +standard IEEE 754 [6] (see annex E).

+ +

The +following strings are the predefined (standardized) variant +attributes for charstring and universal charstring (see clause E.2.2):

+ +

a)          +"UTF-8" means, when applied to the +universal charstring type, that each character of the value shall be +individually encoded and decoded according to the UCS Transformation Format 8 +(UTF-8) as defined in annex R of ISO/IEC 10646 [2].

+ +

b)          +"UCS-2" means, when applied to the +universal charstring type, that each character of the value shall be +individually encoded and decoded according to the UCS-2 coded representation +form (see clause 14.1 of ISO/IEC 10646 [2]).

+ +

c)          +"UTF-16" means, when applied to the +universal charstring type, that each character of the value shall be +individually encoded and decoded according to the UCS Transformation Format 16 +(UTF-16) as defined in annex Q of ISO/IEC 10646 [2].

+ +

d)          +"8 bit" means, when applied to +charstring and universal charstring types, that each character of the value +shall be individually encoded and decoded according to the coded representation +as specified in ISO/IEC 10646 [2] (an 8-bit coding).

+ +

The following strings are the predefined +(standardized) variant attributes for structured types (see clause E.2.3):

+ +

a)          +"IDL:fixed FORMAL/01-12-01 v.2.6" means, +when applied to a record type, that the value shall be handled as an IDL fixed +point decimal value (see annex E).

+ +

These variant attributes can be used in +combination with the more general encode attributes specified at a higher +level. For example a universal +charstring specified with the variant attribute "UTF-8" within a module which itself has a +global encoding attribute "BER:1997" (see clause 12.2 of ES 201 873-7 +[i.5]) will cause each +character of the values within the string to first be encoded following the +UTF-8 rules and then this UTF-8 value will be encoded following the more global +BER rules.

+ +

Invalid +encodings

+ +

If it is desired to +specify invalid encoding rules then these shall be specified in a referenceable +source external to the module in the same way that valid encoding rules are +referenced.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

EXAMPLE:

+ +

    module MyTTCNmodule1

+ +

    {   :

+ +

       type charstring MyType;   // Normally +encoded according to the "Global encoding rule"

+ +

       :

+ +

       group MyRecords

+ +

       {   :

+ +

           type record MyPDU1

+ +

           {  

+ +

               integer    field1,    // field1 will be +encoded according to "Rule 2"

+ +

                                     // using encoding variant +"length form 3"

+ +

               Mytype     field3     // field3 will be encoded +according to "Rule 2"

+ +

                                     // using any possible length +encoding format

+ +

           }

+ +

           with { variant (field1) "length form +3" }

+ +

           :

+ +

       }

+ +

       with { encode "Rule 2" }

+ +

        

+ +

    }

+ +

    with { encode "Global encoding rule" }

+ +

 

+ +

27.6      Extension attributes

+ +

Extension attributes can be used for proprietary extensions +to TTCN‑3.

+ +

Syntactical +Structure

+ +

extension

+ +

 

+ +

Semantic +Description

+ +

All TTCN‑3 language elements can have extension attributes specified by the user.

+ +

NOTE:      Because +user-defined attributes are not standardized the interpretation of these +attributes between tools supplied by different vendors may differ or even not +be supported.

+ +

Restrictions

+ +

No specific restrictions in addition to the +general static rules of TTCN‑3 given in clause 5.

+ +

Examples

+ +

    testcase MyTestcase() runs on MTCType {

+ +

    :

+ +

    }

+ +

    with { extension "Test Purpose: This test +case is used to check …" }

+ +

 

+ +

27.7      Optional attributes

+ +

The optional attribute +can be used to indicate that optional fields of constants, module parameters or +templates of record and set types are implicitly set to omit.

+ +

Syntactical +Structure

+ +

optional

+ +

 

+ +

Semantic +Description

+ +

TTCN‑3 +constants, module parameters, and templates can have an optional attribute. Also, TTCN-3 language elements that contain such definitions, i.e. +module, group, function, altstep, test case, control, and component type +definitions can have an optional attribute. When an optional attribute is associated to a function, altstep, +test case, control or component type definitions, it shall have effect on all +the constants, module parameters, and templates declared within these +definitions and not on the enframing definition itself.

+ +

Special +optional strings:

+ +

The following strings are the predefined +(standardized) optional attributes.

+ +

a)          +"implicit omit" means that all +optional fields, which have not been defined in the definition the attribute is +associated with, are set to omit. This applies recursively to the optional +fields of the entity and to subfields of the mandatory fields.

+ +

b)         +"explicit omit" means that all +optional fields, which have not been defined in the definition the attribute is +associated with, are left undefined. This applies recursively to the optional +fields of the entity and to subfields of the mandatory fields.

+ +

Restrictions

+ +

In addition to the general static rules of TTCN‑3 +given in clause 5, the following restrictions apply:

+ +

a)          +Data type, port type, procedure signature and +variable definitions and import statements shall not have an optional attribute associated to them directly. When an optional attribute is associated to module, group, function, altstep, test +case, control or component type containing such definitions, it shall not have +any effect on the included data type, port type, procedure signature, variable +or import statement.

+ +

Examples

+ +

type record MyRecord1 {
+  integer
a,
+  boolean
b optional
+
}
+type record MyRecord2 {
+ 
MyRecord1 m
+
}
+
+
// reference templates with explicitly set fields
+template MyRecord1 MyTemplate1 := { a := ?, b := omit }
+template MyRecord2 MyTemplate2 := { m := { a := ?, b := +omit }}
+
+
// reference templates
+template MyRecord1 MyTemplate1a := { a := ? } // b is +undefined
+template MyRecord1 MyTemplate1b := { a := ? } with {optional +"explicit omit"} // b is undefined
+
+template
MyRecord2 MyTemplate2a := {} // m and its subfields +are undefined

+ +

template MyRecord2 MyTemplate2b +:= { m := { a := ?}}; // m.b is undefined
+
+

+ +

// templates with attribute

+ +


+template
MyRecord1 MyTemplate11 := { a := ? } with {optional +"implicit omit"}
+  // same as MyTemplate1, b is set to omit

+ +


+
+

+ +

template MyRecord2 +MyTemplate21 := { m := { a := ?}} with {optional "implicit +omit"}
+  // same as MyTemplate2, by recursive application of the attribute

+ +

template MyRecord2 +MyTemplate22 := { m := MyTemplate1a } with {optional +"implicit omit"}
+  // same as MyTemplate2, by recursive application of the attribute

+ +

 

+ +

 

+ +

 

+ +

 

+ +

template MyRecord2 MyTemplate23 +:= {} with {optional "implicit omit"}
+  // same as MyTemplate2a, m remains undefined
+
+

+ +

template MyRecord2 MyTemplate24 +:= { m := MyTemplate1b } with {optional "implicit omit"}
+  // same as MyTemplate2b, the attribute on the lower scope is not +overwritten

+ +

template MyRecord2 MyTemplate25 +:= { m := MyTemplate1b }
+  with
{optional override "implicit omit"}
+  // same as MyTemplate2, the attribute on the lower scope is overwritten

+ +

 

+ +
+
+ +
+ +

Annex A +(normative):
+
BNF and static semantics

+ +

A.1      TTCN‑3 +BNF

+ +
+ +

This annex defines the +syntax of TTCN‑3 using +extended BNF (henceforth just called BNF).

+ +

A.1.1    Conventions for the syntax +description

+ +

Table A.1 defines the metanotation used to specify the +extended BNF grammar for TTCN‑3.

+ +

Table A.1: The syntactic metanotation

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

::=

+
+

is defined to be

+
+

definition of non-terminal

+
+

abc xyz

+
+

abc followed by xyz

+
+

concatenation

+
+

|

+
+

alternative

+
+

alternative

+
+

[abc]

+
+

0 or 1 instances of abc

+
+

optional

+
+

{abc}

+
+

0 or more instances of abc

+
+

repetition 1

+
+

{abc}+

+
+

1 or more instances of abc

+
+

repetition 2

+
+

(...)

+
+

textual grouping

+
+

grouping

+
+

Abc

+
+

the non-terminal symbol abc

+
+

non-terminal

+
+

"abc"

+
+

a terminal symbol abc

+
+

terminal

+
+ +
+ +

 

+ +

NOTE:      The metanotation defined in table A.1 +is parsed from left to right. The metanotation operators have the following +precedence, from highest (binding tightest) at the top, to lowest (loosest) at +the bottom:
+- Repetition, Optional
+- Grouping
+- Concatenation
+- Alternative
+- Definition.

+ +

A.1.2    Statement terminator +symbols

+ +

In general all TTCN‑3 language constructs (i.e. +definitions, declarations, statements and operations) are terminated with a +semi-colon (;). The semi-colon is optional if the language construct ends with +a right-hand curly brace (}) or the following symbol is a right-hand curly +brace (}), i.e. the language construct is the last statement in a statement +block.

+ +

A.1.3    Identifiers

+ +

TTCN‑3 +identifiers are case sensitive and may only contain lowercase letters (a-z) +uppercase letters (A-Z) and numeric digits (0-9). Use of the underscore ( _ ) +symbol is also allowed. An identifier shall begin with a letter (i.e. not with +a number and not an underscore).

+ +

A.1.4    Comments

+ +

Comments written in +free text may appear anywhere in a TTCN‑3 specification. Comments may contain any graphical +character defined in ISO/IEC 10646 [2]. Block +comments shall be opened by the symbol pair /* and closed by the symbol pair +*/.

+ +

EXAMPLE 1:

+ +

    /* This is a block comment

+ +

    spread over two lines */

+ +

 

+ +

Block comments shall +not be nested.

+ +

    /* This is not /* a legal */ comment */

+ +

 

+ +

Line comments shall be +opened by the symbol pair // and closed by a <newline>.

+ +

EXAMPLE 2:

+ +

    // This is a line comment

+ +

    // spread over two lines

+ +

 

+ +

EXAMPLE 3:

+ +

    // The following is not legal

+ +

    const // This +is MyConst integer MyConst := 1;

+ +

    // A block comment should have been +used instead

+ +

    const /* This is MyConst */ integer MyConst := 1;

+ +

    // A line comment like this works as +well

+ +

    const // This is MyConst

+ +

       integer MyConst := 1;

+ +

 

+ +

A.1.5    TTCN‑3 terminals

+ +

TTCN‑3 +terminal symbols and reserved words are listed in tables A.2 and A.3.

+ +

Table A.2: +List of TTCN‑3 special terminal symbols

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Begin/end block symbols

+
+

{     }

+
+

Begin/end list symbols

+
+

(     )

+
+

Alternative symbols

+
+

[     ]

+
+

To symbol (in a range)

+
+

..

+
+

Line comments and Block + comments

+
+

/*   */             //

+
+

Line/statement terminator + symbol

+
+

;

+
+

Arithmetic operator symbols

+
+

+     /    -

+
+

Concatenation operator + symbol

+
+

&

+
+

Equivalence operator + symbols

+
+

!=    ==    >=    + <= 

+
+

String enclosure symbols

+
+

"         '  

+
+

Wildcard/matching symbols

+
+

?    * 

+
+

Assignment symbol

+
+

:=

+
+

Communication operation + assignment

+
+

->

+
+

Bitstring, hexstring and + Octetstring values

+
+

B   H   O

+
+

Float exponent

+
+

E

+
+ +
+ +

 

+ +

The predefined function +identifiers defined in table 15 +and described in annex C shall also be treated as reserved words.

+ +

Table A.3: List of TTCN‑3 terminals which +are reserved words

+ +
+ + + + + + + + +
+

action

+

activate

+

address

+

alive

+

all

+

alt

+

altstep

+

and

+

and4b

+

any

+

anytype

+

 

+

bitstring

+

boolean

+

break

+

 

+

case

+

call

+

catch

+

char

+

charstring

+

check

+

clear

+

complement

+

component

+

connect

+

const

+

continue

+

control

+

create

+

 

+

deactivate

+

default

+

disconnect

+

display

+

do

+

done

+

 

+

else

+

encode

+

enumerated

+

error

+

except

+

exception

+

execute

+

extends

+

extension

+

external

+
+

fail

+

false

+

float

+

for

+

friend

+

from

+

function

+

 

+

getverdict

+

getcall

+

getreply

+

goto

+

group

+

 

+

halt
+ hexstring

+

 

+

if

+

ifpresent

+

import

+

in

+

inconc

+

infinity

+

inout

+

integer

+

interleave

+

 

+

kill

+

killed

+

 

+

label

+

language

+

length

+

log

+

 

+

map

+

match

+

message

+

mixed

+

mod

+

modifies

+

module

+

modulepar

+

mtc

+
+

noblock

+

none

+

not

+

not4b

+

nowait

+

null

+

 

+

octetstring

+

of

+

omit

+

on

+

optional

+

or

+

or4b

+

out

+

override

+

 

+

param

+

pass

+

pattern

+

permutation

+

port

+

present

+

private

+

procedure

+

public

+

 

+

raise

+

read

+

receive

+

record

+

 

+

recursive

+

rem

+

repeat

+

reply

+

return

+

running

+

runs

+
+

select

+

self

+

send

+

sender

+

set

+

setverdict

+

signature

+

start

+

stop

+

subset

+

superset

+

system

+

 

+

template

+

testcase

+

timeout

+

timer

+

to

+

trigger

+

true

+

type

+

 

+

union

+

universal

+

unmap

+

 

+

value

+

valueof

+

var

+

variant

+

verdicttype

+

 

+

while

+

with

+

 

+

xor

+

xor4b

+
+ +
+ +

 

+ +

The TTCN‑3 terminals listed in table A.3 shall not be used as identifiers in a TTCN‑3 module. These terminals shall be written in all lowercase +letters.

+ +

A.1.5.1   Use of whitespaces and +newlines

+ +

The elements of the TTCN-3 syntax (reserved words, identifiers, +terminal symbols and literal values) shall be separated by whitespace or by +special terminal symbols listed in table A.2 according to the TTCN-3 syntax.

+ +

In +representing whitespace, any one or more of the following characters of the C0 +set of ITU‑T Recommendation T.50 [4] and of annex A of ITU‑T Recommendation T.50 +[4] +may be used in any combination:

+ +

·            +HT - HORIZONTAL TABULATION (9)

+ +

·            +LF - LINE FEED (10)

+ +

·            +VT -VERTICAL TABULATION (11)

+ +

·            +FF - FORM FEED (12)

+ +

·            +CR - CARRIAGE RETURN (13)

+ +

·            +SP - SPACE (32)

+ +

The characters of the C0 set of ITU‑T Recommendation T.50 +[4] and +of annex A of ITU‑T Recommendation T.50 [4] below are +denoting newline (end of line). A single CR(13) character directly followed by +an LF(10) character denote a single end of line (i.e. the sequence CRLFCRLFVT +denotes 3 lines):

+ +

·            +LF - LINE FEED (10)

+ +

·            +VT - VERTICAL TABULATION (11)

+ +

·            +FF - FORM FEED (12)

+ +

·            +CR - CARRIAGE RETURN (13)

+ +

Any character or character sequence that is +a valid newline is also a valid whitespace.

+ +

NOTE:      It is recommended that for newline only +the CR and LF and for whitespace only the HT, LF, CR and SP control characters +are used as the VT and FF characters may cause problems with some conventional +text editors.

+ +

A.1.6    TTCN-3 syntax BNF +productions

+ +

A.1.6.0   TTCN-3 module

+ +

1.TTCN3Module +::= TTCN3ModuleKeyword +ModuleId +"{" [ModuleDefinitionsList]   +

+ +

                   [ModuleControlPart] +"}" [WithStatement] +[SemiColon]

+ +

2.TTCN3ModuleKeyword +::= "module"

+ +

3.ModuleId ::= +Identifier [LanguageSpec]

+ +

4.LanguageSpec ::= LanguageKeyword FreeText {"," FreeText}

+ +

5.LanguageKeyword +::= "language"

+ +

A.1.6.1   Module definitions part

+ +

A.1.6.1.0        General

+ +

6.ModuleDefinitionsList +::= {ModuleDefinition +[SemiColon]}+

+ +

7.ModuleDefinition +::= (([Visibility] +(TypeDef |

+ +

                                        +ConstDef |

+ +

                                        +TemplateDef +|

+ +

                                        +ModuleParDef +|

+ +

                                        +FunctionDef +|

+ +

                                        +SignatureDef +|

+ +

                                        +TestcaseDef +|

+ +

                                        AltstepDef |

+ +

                                        +ImportDef |

+ +

                                        +ExtFunctionDef +|

+ +

                                        ExtConstDef

+ +

                                       +)) |

+ +

                         +(["public"] GroupDef) +|

+ +

                         +(["private"] FriendModuleDef) +

+ +

                        ) [WithStatement]

+ +

8.Visibility ::= "public" |

+ +

                  "friend" +|

+ +

                  +"private"

+ +

A.1.6.1.1        Typedef +definitions

+ +

9.TypeDef ::= TypeDefKeyword TypeDefBody

+ +

10.TypeDefBody +::= StructuredTypeDef +| SubTypeDef

+ +

11.TypeDefKeyword +::= "type"

+ +

12.StructuredTypeDef +::= RecordDef +|

+ +

                          UnionDef |

+ +

                          SetDef |

+ +

                          RecordOfDef |

+ +

                          SetOfDef |

+ +

                          EnumDef |

+ +

                          PortDef |

+ +

                          ComponentDef

+ +

13.RecordDef ::= RecordKeyword Identifier

+ +

14.RecordKeyword +::= "record"

+ +

15.StructDefBody +::= (Identifier +| AddressKeyword) +"{" [StructFieldDef   +

+ +

                                                         {"," +StructFieldDef}]   +

+ +

                      "}"

+ +

16.StructFieldDef ::= (Type | NestedTypeDef) Identifier [ArrayDef] [SubTypeSpec]  

+ +

                       [OptionalKeyword]

+ +

17.NestedTypeDef +::= NestedRecordDef +|

+ +

                      NestedUnionDef |

+ +

                      NestedSetDef |

+ +

                      NestedRecordOfDef +|

+ +

                      NestedSetOfDef |

+ +

                      NestedEnumDef

+ +

18.NestedRecordDef +::= RecordKeyword +"{" [StructFieldDef +{"," StructFieldDef}]   +

+ +

                        +"}"

+ +

19.NestedUnionDef +::= UnionKeyword +"{" UnionFieldDef +{"," UnionFieldDef}   +

+ +

                       "}" +

+ +

20.NestedSetDef +::= SetKeyword +"{" [StructFieldDef +{"," StructFieldDef}]   +

+ +

                     "}"

+ +

21.NestedRecordOfDef +::= RecordKeyword +[StringLength] +OfKeyword (Type |

+ +

                                                                  +NestedTypeDef) +

+ +

22.NestedSetOfDef +::= SetKeyword +[StringLength] +OfKeyword (Type | NestedTypeDef)

+ +

23.NestedEnumDef +::= EnumKeyword +"{" EnumerationList +"}"

+ +

24.OptionalKeyword +::= "optional"

+ +

25.UnionDef +::= UnionKeyword +UnionDefBody +

+ +

26.UnionKeyword +::= "union"

+ +

27.UnionDefBody +::= (Identifier +| AddressKeyword) +"{" UnionFieldDef +{","  

+ +

                                                                      UnionFieldDef}  

+ +

                     "}"

+ +

28.UnionFieldDef +::= (Type | NestedTypeDef) Identifier [ArrayDef] [SubTypeSpec]

+ +

29.SetDef ::= SetKeyword StructDefBody

+ +

30.SetKeyword +::= "set"

+ +

31.RecordOfDef +::= RecordKeyword +[StringLength] +OfKeyword StructOfDefBody

+ +

32.OfKeyword +::= "of"

+ +

33.StructOfDefBody +::= (Type | NestedTypeDef) (Identifier | AddressKeyword)  

+ +

                        [SubTypeSpec]

+ +

34.SetOfDef +::= SetKeyword +[StringLength] +OfKeyword StructOfDefBody

+ +

35.EnumDef ::= EnumKeyword (Identifier | AddressKeyword) +"{" EnumerationList   +

+ +

                "}"

+ +

36.EnumKeyword +::= "enumerated"

+ +

37.EnumerationList +::= Enumeration +{"," Enumeration} +

+ +

38.Enumeration +::= Identifier +["(" [Minus] +Number +")"]

+ +

39.SubTypeDef ::= Type (Identifier | AddressKeyword) [ArrayDef] [SubTypeSpec]

+ +

40.SubTypeSpec +::= AllowedValues +[StringLength] +| StringLength +
+
+/* STATIC SEMANTICS - AllowedValues shall be of the +same type as the field being subtyped */

+ +

41.AllowedValues +::= "(" (ValueOrRange +{"," ValueOrRange}) +| CharStringMatch   +

+ +

                      ")"

+ +

42.ValueOrRange +::= RangeDef |

+ +

                     ConstantExpression +|

+ +

                     Type
+
+/* STATIC SEMANTICS - RangeDef production shall only +be used with integer, charstring, universal charstring or float based types */ +
+/* STATIC SEMANTICS - When subtyping charstring or +universal charstring range and values shall not be mixed in the same +SubTypeSpec */

+ +

43.RangeDef +::= Bound +".." Bound +

+ +

44.StringLength +::= LengthKeyword +"(" SingleExpression +[".." Bound] +")"
+
+/* STATIC SEMANTICS - StringLength shall only be used +with String types or to limit set of and record of. SingleExpression and Bound +shall evaluate to non-negative integer values (in case of Bound including +infinity) */

+ +

45.LengthKeyword +::= "length"

+ +

46.PortDef ::= PortKeyword PortDefBody

+ +

47.PortDefBody +::= Identifier +PortDefAttribs +

+ +

48.PortKeyword +::= "port"

+ +

49.PortDefAttribs ::= MessageAttribs |

+ +

                       ProcedureAttribs +|

+ +

                       MixedAttribs

+ +

50.MessageAttribs ::= MessageKeyword +"{" [AddressDecl] +{MessageList +[SemiColon]}+   +

+ +

                       "}" +[MapKeyword ParamKeyword +"(" FormalValuePar   +

+ +

                            +{"," FormalValuePar} +")"] [UnmapKeyword +ParamKeyword   +

+ +

                                                      +"(" FormalValuePar   +

+ +

                                                      +{"," FormalValuePar} +  

+ +

                                                      +")"]

+ +

51.AddressDecl +::= AddressKeyword +Type SemiColon

+ +

52.MessageList ::= Direction AllOrTypeList

+ +

53.Direction ::= InParKeyword |

+ +

                  OutParKeyword |

+ +

                  InOutParKeyword

+ +

54.MessageKeyword +::= "message"

+ +

55.AllOrTypeList +::= AllKeyword +| TypeList
+
+/* NOTE: The use of AllKeyword in port definitions is +deprecated */

+ +

56.AllKeyword +::= "all"

+ +

57.TypeList +::= Type +{"," Type} +

+ +

58.ProcedureAttribs +::= ProcedureKeyword +"{" [AddressDecl] +{ProcedureList   +

+ +

                                                             +[SemiColon]}+   +

+ +

                         "}" +[MapKeyword ParamKeyword +"(" FormalValuePar   +

+ +

                              +{"," FormalValuePar} +")"] [UnmapKeyword +ParamKeyword   +

+ +

                                                        +"(" FormalValuePar   +

+ +

                                                        {"," +FormalValuePar}   +

+ +

                                                        +")"]

+ +

59.ProcedureKeyword +::= "procedure"

+ +

60.ProcedureList +::= Direction AllOrSignatureList +

+ +

61.AllOrSignatureList +::= AllKeyword +| SignatureList +

+ +

62.SignatureList +::= Signature +{"," Signature} +

+ +

63.MixedAttribs +::= MixedKeyword +"{" [AddressDecl] +{MixedList [SemiColon]}+  

+ +

                     "}"

+ +

64.MixedKeyword +::= "mixed"

+ +

65.MixedList +::= Direction ProcOrTypeList

+ +

66.ProcOrTypeList +::= AllKeyword +| (ProcOrType +{"," ProcOrType}) +

+ +

67.ProcOrType +::= Signature +| Type

+ +

68.ComponentDef +::= ComponentKeyword +Identifier [ExtendsKeyword ComponentType  

+ +

                                                  +{"," ComponentType}] +"{"  

+ +

                     [ComponentDefList] +"}"

+ +

69.ComponentKeyword +::= "component"

+ +

70.ExtendsKeyword +::= "extends"

+ +

71.ComponentType +::= ExtendedIdentifier +

+ +

72.ComponentDefList +::= {ComponentElementDef +[SemiColon]}

+ +

73.ComponentElementDef +::= PortInstance +|

+ +

                            VarInstance |

+ +

                            TimerInstance |

+ +

                            ConstDef

+ +

74.PortInstance +::= PortKeyword +ExtendedIdentifier +PortElement +{"," PortElement} +

+ +

75.PortElement +::= Identifier +[ArrayDef]

+ +

A.1.6.1.2        Constant +definitions

+ +

76.ConstDef +::= ConstKeyword +Type ConstList

+ +

77.ConstList +::= SingleConstDef +{"," SingleConstDef} +

+ +

78.SingleConstDef +::= Identifier +[ArrayDef] AssignmentChar ConstantExpression +

+ +

79.ConstKeyword +::= "const"

+ +

A.1.6.1.3        Template +definitions

+ +

80.TemplateDef +::= TemplateKeyword +[TemplateRestriction] +BaseTemplate   +

+ +

                    [DerivedDef] AssignmentChar TemplateBody

+ +

81.BaseTemplate +::= (Type | Signature) Identifier +["(" TemplateOrValueFormalParList   +

+ +

                                                    +")"]

+ +

82.TemplateKeyword +::= "template"

+ +

83.DerivedDef ::= ModifiesKeyword ExtendedIdentifier +

+ +

84.ModifiesKeyword +::= "modifies"

+ +

85.TemplateOrValueFormalParList ::= TemplateOrValueFormalPar +{"," TemplateOrValueFormalPar} +

+ +

86.TemplateOrValueFormalPar ::= FormalValuePar | FormalTemplatePar +
+
+/* STATIC SEMANTICS - FormalValuePar shall resolve to +an in parameter */

+ +

87.TemplateBody +::= (SimpleSpec +|

+ +

                      FieldSpecList |

+ +

                      ArrayValueOrAttrib +

+ +

                     ) [ExtraMatchingAttributes] +
+
+/* STATIC SEMANTICS - Within TeplateBody the ArrayValueOrAttrib +can be used for array, record, record of and set of types. */

+ +

88.SimpleSpec +::= (SingleExpression +["&" SimpleTemplateSpec]) +| SimpleTemplateSpec +

+ +

89.SimpleTemplateSpec +::= CharStringMatch +| (SingleTemplateExpression   +

+ +

                                        +      ["&" SimpleSpec]) +

+ +

90.SingleTemplateExpression ::= MatchingSymbol | (TemplateRefWithParList   +

+ +

                                                   [ExtendedFieldReference]) +

+ +

91.FieldSpecList +::= "{" [FieldSpec +{"," FieldSpec}] +"}"

+ +

92.FieldSpec +::= FieldReference +AssignmentChar +TemplateBody +

+ +

93.FieldReference +::= StructFieldRef +|

+ +

                       ArrayOrBitRef |

+ +

                       ParRef

+ +

94.StructFieldRef +::= Identifier +|

+ +

                       PredefinedType |

+ +

                       TypeReference
+
+/* STATIC SEMANTICS - PredefinedType and +TypeReference shall be used for anytype value notation only. PredefinedType +shall not be AnyTypeKeyword.*/

+ +

95.ParRef ::= Identifier
+
+/* STATIC SEMANTICS - Identifier in ParRef shall be a +formal parameter identifier from the associated signature definition */

+ +

96.ArrayOrBitRef +::= "[" FieldOrBitNumber +"]"
+
+/* STATIC SEMANTICS - ArrayRef shall be optionally +used for array types and TTCN-3 record of and +set of. The same notation can be used for a Bit reference inside an TTCN-3 charstring, universal charstring, bitstring, octetstring +and hexstring type */

+ +

97.FieldOrBitNumber +::= SingleExpression +
+
+/* STATIC SEMANTICS - SingleExpression will resolve +to a value of integer type */

+ +

98.ArrayValueOrAttrib +::= "{" ArrayElementSpecList +"}"

+ +

99.ArrayElementSpecList +::= ArrayElementSpec +{"," ArrayElementSpec} +

+ +

100.ArrayElementSpec +::= Minus |

+ +

                          PermutationMatch +|

+ +

                          TemplateBody

+ +

101.MatchingSymbol ::= Complement |

+ +

                        (AnyValue [WildcardLengthMatch]) +|

+ +

                        (AnyOrOmit [WildcardLengthMatch]) +|

+ +

                        ValueOrAttribList +|

+ +

                        Range |

+ +

                        BitStringMatch |

+ +

                        HexStringMatch |

+ +

                        OctetStringMatch +|

+ +

                        CharStringMatch | +

+ +

                        SubsetMatch |

+ +

                        SupersetMatch
+
+/* STATIC SEMANTIC – WildcardLengthMatch must be used +when MatchingSymbol is used in fractions of a concatenated string or list (see +clause 15.11) and shall not be used in other cases. In this case, the +Complement, ValueOrAttribList, Range, BitStringMatch, HexStringMatch, +OctetStringMatch, CharStringMatch, SubsetMatch and SupersetMatch productions +shall not be used. */

+ +

102.ExtraMatchingAttributes ::= StringLength |

+ +

                                 IfPresentKeyword +|

+ +

                                 (StringLength IfPresentKeyword) +

+ +

103.BitStringMatch ::= "'" +{BinOrMatch} +"'" "B"

+ +

104.BinOrMatch ::= Bin |

+ +

                    AnyValue |

+ +

                    AnyOrOmit

+ +

105.HexStringMatch ::= "'" +{HexOrMatch} +"'" "H"

+ +

106.HexOrMatch ::= Hex |

+ +

                    AnyValue |

+ +

                    AnyOrOmit

+ +

107.OctetStringMatch ::= +"'" {OctOrMatch} +"'" "O"

+ +

108.OctOrMatch ::= Oct |

+ +

                    AnyValue |

+ +

                    AnyOrOmit

+ +

109.CharStringMatch ::= PatternKeyword PatternParticle +{"&" PatternParticle} +

+ +

110.PatternParticle +::= Pattern | ReferencedValue

+ +

111.PatternKeyword +::= "pattern"

+ +

112.Pattern ::= +""" {PatternElement} +"""

+ +

113.PatternElement +::= ("\" ("?" | "*" | "\" | +"[" | "]" | "{" | "}" |

+ +

                              """ +| "|" | "(" | ")" | "#" | "+" +| "d" |

+ +

                              +"w" | "t" | "n" | "r" | "s" | +"b"

+ +

                             )) | +("?" | "*" | "\" | "|" | "+"

+ +

                                  ) +| ("[" ["^"] [{PatternChar ["-" PatternChar]}]  

+ +

                                       +"]") |

+ +

                        +("{" ReferencedValue +"}") |

+ +

                        +("\" "N" "{" (ReferencedValue | Type) "}") |

+ +

                        +(""" """) |

+ +

                        +("(" PatternElement +")") |

+ +

                        ("#" +(Num |

+ +

                              +("(" Num +"," [Num] +")") | ("(" "," Num ")")

+ +

                             )) |

+ +

                        PatternChar

+ +

114.PatternChar +::= Char | PatternQuadruple +

+ +

115.PatternQuadruple +::= "\" "q" "(" Number "," Number "," Number ","  

+ +

                          Number ")"

+ +

116.Complement ::= ComplementKeyword +"(" TemplateBody +{"," TemplateBody}   +

+ +

                    ")"

+ +

117.ComplementKeyword +::= "complement"

+ +

118.SubsetMatch +::= SubsetKeyword +ValueOrAttribList +

+ +

119.SubsetKeyword +::= "subset"

+ +

120.SupersetMatch +::= SupersetKeyword +ValueOrAttribList +

+ +

121.SupersetKeyword +::= "superset"

+ +

122.PermutationMatch +::= PermutationKeyword +PermutationList +

+ +

123.PermutationKeyword +::= "permutation"

+ +

124.PermutationList +::= "(" TemplateBody +{"," TemplateBody} +")"
+
+/* STATIC SEMANTICS: Restrictions on the content of +TemplateBody are given in clause B.1.3.3. */

+ +

125.AnyValue +::= "?"

+ +

126.AnyOrOmit +::= "*"

+ +

127.ValueOrAttribList ::= +"(" TemplateBody +{"," TemplateBody}+ +")"

+ +

128.WildcardLengthMatch +::= LengthKeyword +"(" ConstantExpression +")"

+ +

129.IfPresentKeyword +::= "ifpresent"

+ +

130.PresentKeyword +::= "present"

+ +

131.Range ::= "(" Bound ".." Bound ")"

+ +

132.Bound ::= +(["!"] SingleExpression) +| ([Minus] InfinityKeyword)
+
+/* STATIC SEMANTICS - Bounds shall evaluate to types +integer, charstring, universal charstring or float. In case they evaluate to +types charstring or universal charstring, the string length shall be 1. +infinity as lower bound and –infinity as upper bound are allowed for float +types only. */

+ +

133.InfinityKeyword ::= +"infinity"

+ +

134.TemplateInstanceAssignment ::= Identifier +":=" InLineTemplate +
+
+/* STATIC SEMANTICS – if a value parameter is used, +the inline template shall evaluate to a value */

+ +

135.TemplateRefWithParList +::= ExtendedIdentifier +[TemplateActualParList] +

+ +

136.InLineTemplate ::= [(Type | Signature) Colon] [DerivedRefWithParList   +

+ +

                                                    +AssignmentChar] +TemplateBody +

+ +

137.DerivedRefWithParList +::= ModifiesKeyword +TemplateRefWithParList +

+ +

138.TemplateActualParList +::= "(" [(TemplateInstanceActualPar +{"," TemplateInstanceActualPar}) +|

+ +

                                    +(TemplateInstanceAssignment +{"," TemplateInstanceAssignment})]   +

+ +

                               +")"

+ +

139.TemplateInstanceActualPar ::= InLineTemplate | Minus
+
+/* STATIC SEMANTICS - When the corresponding formal +parameter is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions */

+ +

140.TemplateOps +::= MatchOp | ValueofOp

+ +

141.MatchOp ::= +MatchKeyword +"(" Expression +"," InLineTemplate +")"

+ +

142.MatchKeyword +::= "match"

+ +

143.ValueofOp +::= ValueofKeyword +"(" InLineTemplate +")"

+ +

144.ValueofKeyword +::= "valueof"

+ +

A.1.6.1.4        Function +definitions

+ +

145.FunctionDef +::= FunctionKeyword +Identifier +"(" [FunctionFormalParList]   +

+ +

                     ")" [RunsOnSpec] [ReturnType] StatementBlock

+ +

146.FunctionKeyword +::= "function"

+ +

147.FunctionFormalParList +::= FunctionFormalPar +{"," FunctionFormalPar} +

+ +

148.FunctionFormalPar +::= FormalValuePar +|

+ +

                           FormalTimerPar |

+ +

                           FormalTemplatePar +|

+ +

                           FormalPortPar

+ +

149.ReturnType ::= ReturnKeyword [TemplateKeyword | +RestrictedTemplate]   +

+ +

                    Type

+ +

150.ReturnKeyword +::= "return"

+ +

151.RunsOnSpec +::= RunsKeyword +OnKeyword ComponentType

+ +

152.RunsKeyword +::= "runs"

+ +

153.OnKeyword +::= "on"

+ +

154.MTCKeyword +::= "mtc"

+ +

155.StatementBlock +::= "{" [FunctionDefList] +[FunctionStatementList] +"}"

+ +

156.FunctionDefList +::= {(FunctionLocalDef +| FunctionLocalInst) +[SemiColon]}+

+ +

157.FunctionStatementList +::= {FunctionStatement +[SemiColon]}+

+ +

158.FunctionLocalInst +::= VarInstance +| TimerInstance +

+ +

159.FunctionLocalDef +::= ConstDef | TemplateDef

+ +

160.FunctionStatement +::= ConfigurationStatements +|

+ +

                           TimerStatements | +

+ +

                           CommunicationStatements +|

+ +

                           BasicStatements | +

+ +

                           BehaviourStatements +|

+ +

                           SetLocalVerdict | +

+ +

                           SUTStatements |

+ +

                           TestcaseOperation +

+ +

161.FunctionInstance +::= FunctionRef +"(" [FunctionActualParList] +")"

+ +

162.FunctionRef +::= [Identifier +Dot] (Identifier | PreDefFunctionIdentifier) +

+ +

163.PreDefFunctionIdentifier ::= Identifier
+
+/* STATIC SEMANTICS - The Identifier shall be one of +the pre-defined TTCN-3 Function Identifiers +from Annex C of ES 201 873-1 */

+ +

164.FunctionActualParList +::= (FunctionActualPar +{"," FunctionActualPar}) +|

+ +

                               (FunctionActualParAssignment +{"," FunctionActualParAssignment}) +

+ +

165.FunctionActualPar +::= ArrayIdentifierRef +|

+ +

                           InLineTemplate |

+ +

                           ComponentRef |

+ +

                           Minus
+
+/* STATIC SEMANTICS - When the corresponding formal +parameter is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions i.e. equivalent to the Expression production +*/

+ +

166.FunctionActualParAssignment ::= TemplateInstanceAssignment +|

+ +

                                     +ComponentRefAssignment +|

+ +

                                     +ArrayIdentifierRefAssignment +

+ +

167.ArrayIdentifierRefAssignment ::= Identifier +":=" ArrayIdentifierRef +

+ +

A.1.6.1.5        Signature +definitions

+ +

168.SignatureDef +::= SignatureKeyword +Identifier +"(" [SignatureFormalParList]   +

+ +

                      ")" +[ReturnType | +NoBlockKeyword] +[ExceptionSpec] +

+ +

169.SignatureKeyword ::= +"signature"

+ +

170.SignatureFormalParList ::= FormalValuePar +{"," FormalValuePar} +

+ +

171.ExceptionSpec ::= ExceptionKeyword +"(" TypeList +")"

+ +

172.ExceptionKeyword ::= "exception" +

+ +

173.Signature ::= ExtendedIdentifier

+ +

174.NoBlockKeyword ::= +"noblock"

+ +

A.1.6.1.6        Testcase +definitions

+ +

175.TestcaseDef +::= TestcaseKeyword +Identifier +"(" [TemplateOrValueFormalParList]   +

+ +

                     ")" ConfigSpec StatementBlock

+ +

176.TestcaseKeyword +::= "testcase"

+ +

177.ConfigSpec ::= RunsOnSpec [SystemSpec]

+ +

178.SystemSpec ::= SystemKeyword ComponentType

+ +

179.SystemKeyword +::= "system"

+ +

180.TestcaseInstance +::= ExecuteKeyword +"(" ExtendedIdentifier +"(" [TestcaseActualParList]   +

+ +

                          +")" ["," (Expression +| Minus) +["," SingleExpression]]   +

+ +

                          ")" +

+ +

181.ExecuteKeyword +::= "execute"

+ +

182.TestcaseActualParList ::= (TemplateInstanceActualPar +{"," TemplateInstanceActualPar}) +|

+ +

                               (TemplateInstanceAssignment +{"," TemplateInstanceAssignment}) +
+
+/* STATIC SEMANTICS - When the corresponding formal +parameter is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions i.e. equivalent to the Expression production +*/

+ +

A.1.6.1.7        Altstep +definitions

+ +

183.AltstepDef +::= AltstepKeyword +Identifier +"(" [FunctionFormalParList]   +

+ +

                    ")" [RunsOnSpec] +"{" AltstepLocalDefList +AltGuardList   +

+ +

                    "}"

+ +

184.AltstepKeyword +::= "altstep"

+ +

185.AltstepLocalDefList +::= {AltstepLocalDef +[SemiColon]}

+ +

186.AltstepLocalDef +::= VarInstance +|

+ +

                         TimerInstance |

+ +

                         ConstDef |

+ +

                         TemplateDef

+ +

187.AltstepInstance +::= ExtendedIdentifier +"(" [FunctionActualParList]   +

+ +

                         +")"

+ +

A.1.6.1.8        Import +definitions

+ +

188.ImportDef +::= ImportKeyword +ImportFromSpec +(AllWithExcepts +| ("{"  

+ +

                                                                   +ImportSpec  

+ +

                                                                   +"}"))

+ +

189.ImportKeyword +::= "import"

+ +

190.AllWithExcepts +::= AllKeyword +[ExceptsDef]

+ +

191.ExceptsDef +::= ExceptKeyword +"{" ExceptSpec +"}"

+ +

192.ExceptKeyword +::= "except"

+ +

193.ExceptSpec +::= {ExceptElement +[SemiColon]}

+ +

194.ExceptElement +::= ExceptGroupSpec +|

+ +

                       ExceptTypeDefSpec +|

+ +

                       ExceptTemplateSpec +|

+ +

                       ExceptConstSpec | +

+ +

                       ExceptTestcaseSpec +|

+ +

                       ExceptAltstepSpec +|

+ +

                       ExceptFunctionSpec +|

+ +

                       ExceptSignatureSpec +|

+ +

                       ExceptModuleParSpec +

+ +

195.ExceptGroupSpec ::= GroupKeyword (FullGroupIdentifierList +| AllKeyword) +

+ +

196.IdentifierListOrAll +::= IdentifierList +| AllKeyword

+ +

197.ExceptTypeDefSpec ::= TypeDefKeyword IdentifierListOrAll +

+ +

198.ExceptTemplateSpec ::= TemplateKeyword IdentifierListOrAll +

+ +

199.ExceptConstSpec ::= ConstKeyword IdentifierListOrAll +

+ +

200.ExceptTestcaseSpec ::= TestcaseKeyword IdentifierListOrAll +

+ +

201.ExceptAltstepSpec ::= AltstepKeyword IdentifierListOrAll +

+ +

202.ExceptFunctionSpec ::= FunctionKeyword IdentifierListOrAll +

+ +

203.ExceptSignatureSpec ::= SignatureKeyword +IdentifierListOrAll +

+ +

204.ExceptModuleParSpec ::= ModuleParKeyword +IdentifierListOrAll +

+ +

205.ImportSpec +::= {ImportElement +[SemiColon]}

+ +

206.ImportElement +::= ImportGroupSpec +|

+ +

                       ImportTypeDefSpec +|

+ +

                       ImportTemplateSpec +|

+ +

                       ImportConstSpec | +

+ +

                       ImportTestcaseSpec +|

+ +

                       ImportAltstepSpec +|

+ +

                       ImportFunctionSpec +|

+ +

                       ImportSignatureSpec +|

+ +

                       ImportModuleParSpec +|

+ +

                       ImportImportSpec +

+ +

207.ImportFromSpec +::= FromKeyword +ModuleId [RecursiveKeyword] +

+ +

208.RecursiveKeyword +::= "recursive"

+ +

209.ImportGroupSpec +::= GroupKeyword +(GroupRefListWithExcept +| AllGroupsWithExcept) +

+ +

210.GroupRefListWithExcept +::= FullGroupIdentifierWithExcept +{"," FullGroupIdentifierWithExcept} +

+ +

211.AllGroupsWithExcept +::= AllKeyword +[ExceptKeyword +FullGroupIdentifierList] +

+ +

212.FullGroupIdentifier +::= Identifier +{Dot Identifier}

+ +

213.FullGroupIdentifierWithExcept ::= FullGroupIdentifier +[ExceptsDef]

+ +

214.IdentifierListOrAllWithExcept ::= IdentifierList | AllWithExcept

+ +

215.ImportTypeDefSpec ::= TypeDefKeyword IdentifierListOrAllWithExcept +

+ +

216.AllWithExcept +::= AllKeyword +[ExceptKeyword +IdentifierList] +

+ +

217.ImportTemplateSpec ::= TemplateKeyword IdentifierListOrAllWithExcept +

+ +

218.ImportConstSpec ::= ConstKeyword IdentifierListOrAllWithExcept +

+ +

219.ImportAltstepSpec ::= AltstepKeyword IdentifierListOrAllWithExcept +

+ +

220.ImportTestcaseSpec ::= TestcaseKeyword IdentifierListOrAllWithExcept +

+ +

221.ImportFunctionSpec ::= FunctionKeyword IdentifierListOrAllWithExcept +

+ +

222.ImportSignatureSpec ::= SignatureKeyword +IdentifierListOrAllWithExcept +

+ +

223.ImportModuleParSpec ::= ModuleParKeyword +IdentifierListOrAllWithExcept +

+ +

224.ImportImportSpec +::= ImportKeyword +AllKeyword

+ +

A.1.6.1.9        Group definitions

+ +

225.GroupDef +::= GroupKeyword +Identifier +"{" [ModuleDefinitionsList] +"}"

+ +

226.GroupKeyword +::= "group"

+ +

A.1.6.1.10      External function +definitions

+ +

227.ExtFunctionDef +::= ExtKeyword +FunctionKeyword +Identifier +"(" [FunctionFormalParList]   +

+ +

                        +")" [ReturnType] +

+ +

228.ExtKeyword +::= "external"

+ +

A.1.6.1.11      External constant +definitions

+ +

229.ExtConstDef +::= ExtKeyword +ConstKeyword +Type IdentifierList

+ +

A.1.6.1.12      Module parameter +definitions

+ +

230.ModuleParDef +::= ModuleParKeyword +(ModulePar | +("{" MultitypedModuleParList   +

+ +

                                                     +"}"))

+ +

231.ModuleParKeyword +::= "modulepar"

+ +

232.MultitypedModuleParList ::= {ModulePar [SemiColon]}

+ +

233.ModulePar +::= Type ModuleParList

+ +

234.ModuleParList ::= Identifier [AssignmentChar ConstantExpression] +{","  

+ +

                                                                       +Identifier  

+ +

                                                                       [AssignmentChar  

+ +

                                                                       +ConstantExpression]} +

+ +

A.1.6.1.13      Friend module +definitions

+ +

235.FriendModuleDef +::= "friend" "module" IdentifierList [SemiColon]

+ +

A.1.6.2   Control part

+ +

236.ModuleControlPart +::= ControlKeyword +"{" ModuleControlBody +"}" [WithStatement]   +

+ +

                           [SemiColon]

+ +

237.ControlKeyword +::= "control"

+ +

238.ModuleControlBody +::= [ControlStatementOrDefList] +

+ +

239.ControlStatementOrDefList ::= {ControlStatementOrDef +[SemiColon]}+

+ +

240.ControlStatementOrDef +::= FunctionLocalDef +|

+ +

                               FunctionLocalInst +|

+ +

                               ControlStatement +

+ +

241.ControlStatement +::= TimerStatements +|

+ +

                          BasicStatements | +

+ +

                          BehaviourStatements +|

+ +

                          SUTStatements |

+ +

                          StopKeyword

+ +

A.1.6.3   Local definitions

+ +

A.1.6.3.1        Variable +instantiation

+ +

242.VarInstance +::= VarKeyword +((Type VarList) | ((TemplateKeyword | +RestrictedTemplate)   +

+ +

                                                   +Type TempVarList))

+ +

243.VarList ::= +SingleVarInstance +{"," SingleVarInstance} +

+ +

244.SingleVarInstance +::= Identifier +[ArrayDef] [AssignmentChar Expression]

+ +

245.VarKeyword +::= "var"

+ +

246.TempVarList ::= SingleTempVarInstance +{"," SingleTempVarInstance} +

+ +

247.SingleTempVarInstance ::= Identifier [ArrayDef] [AssignmentChar TemplateBody]

+ +

248.VariableRef ::= Identifier [ExtendedFieldReference] +

+ +

A.1.6.3.2        Timer +instantiation

+ +

249.TimerInstance +::= TimerKeyword +VarList

+ +

250.TimerKeyword +::= "timer"

+ +

251.ArrayIdentifierRef +::= Identifier +{ArrayOrBitRef} +

+ +

A.1.6.4   Operations

+ +

A.1.6.4.1        Component operations

+ +

252.ConfigurationStatements ::= ConnectStatement +|

+ +

                                 MapStatement |

+ +

                                 DisconnectStatement +|

+ +

                                 UnmapStatement |

+ +

                                 DoneStatement |

+ +

                                 KilledStatement | +

+ +

                                 StartTCStatement +|

+ +

                                 StopTCStatement | +

+ +

                                 KillTCStatement

+ +

253.ConfigurationOps +::= CreateOp |

+ +

                          SelfOp |

+ +

                          SystemKeyword |

+ +

                          MTCKeyword |

+ +

                          RunningOp |

+ +

                          AliveOp

+ +

254.CreateOp +::= ComponentType +Dot CreateKeyword +["(" (SingleExpression +|

+ +

                                                        Minus) ["," SingleExpression]   +

+ +

                                                   +")"] [AliveKeyword] +

+ +

255.SelfOp ::= +"self"

+ +

256.DoneStatement ::= ComponentId Dot DoneKeyword

+ +

257.KilledStatement ::= ComponentId Dot KilledKeyword

+ +

258.ComponentId ::= ComponentOrDefaultReference +| (AnyKeyword +| AllKeyword)   +

+ +

                     ComponentKeyword +

+ +

259.DoneKeyword +::= "done"

+ +

260.KilledKeyword +::= "killed"

+ +

261.RunningOp +::= ComponentId +Dot RunningKeyword

+ +

262.RunningKeyword +::= "running"

+ +

263.AliveOp ::= +ComponentId Dot AliveKeyword

+ +

264.CreateKeyword +::= "create"

+ +

265.AliveKeyword +::= "alive"

+ +

266.ConnectStatement +::= ConnectKeyword +SingleConnectionSpec +

+ +

267.ConnectKeyword +::= "connect"

+ +

268.SingleConnectionSpec +::= "(" PortRef +"," PortRef +")"

+ +

269.PortRef ::= +ComponentRef +Colon ArrayIdentifierRef +

+ +

270.ComponentRef +::= ComponentOrDefaultReference +|

+ +

                      SystemKeyword |

+ +

                      SelfOp |

+ +

                      MTCKeyword

+ +

271.ComponentRefAssignment +::= Identifier +":=" ComponentRef +

+ +

272.DisconnectStatement +::= DisconnectKeyword +[SingleOrMultiConnectionSpec] +

+ +

273.SingleOrMultiConnectionSpec ::= SingleConnectionSpec +|

+ +

                                     +AllConnectionsSpec +|

+ +

                                     +AllPortsSpec +|

+ +

                                     +AllCompsAllPortsSpec +

+ +

274.AllConnectionsSpec +::= "(" PortRef +")"

+ +

275.AllPortsSpec +::= "(" ComponentRef +":" AllKeyword +PortKeyword +")"

+ +

276.AllCompsAllPortsSpec +::= "(" AllKeyword +ComponentKeyword +":" AllKeyword   +

+ +

                              PortKeyword +")"

+ +

277.DisconnectKeyword +::= "disconnect"

+ +

278.MapStatement +::= MapKeyword +SingleConnectionSpec +[ParamKeyword +FunctionActualParList] +

+ +

279.MapKeyword +::= "map"

+ +

280.UnmapStatement +::= UnmapKeyword +[SingleOrMultiConnectionSpec] +[ParamKeyword   +

+ +

                                       +                             FunctionActualParList]

+ +

281.UnmapKeyword +::= "unmap"

+ +

282.StartTCStatement +::= ComponentOrDefaultReference +Dot StartKeyword  

+ +

                          +"(" FunctionInstance +")"

+ +

283.StartKeyword +::= "start"

+ +

284.StopTCStatement +::= StopKeyword +| (ComponentReferenceOrLiteral +| AllKeyword   +

+ +

                                        +ComponentKeyword) +Dot StopKeyword

+ +

285.ComponentReferenceOrLiteral ::= ComponentOrDefaultReference +|

+ +

                                     +MTCKeyword |

+ +

                                     +SelfOp

+ +

286.KillTCStatement ::= KillKeyword | ((ComponentReferenceOrLiteral +|

+ +

                                         +AllKeyword ComponentKeyword) +Dot  

+ +

                                       + KillKeyword) +

+ +

287.ComponentOrDefaultReference ::= VariableRef | FunctionInstance +

+ +

288.KillKeyword +::= "kill"

+ +

A.1.6.4.2        Port operations

+ +

289.CommunicationStatements ::= SendStatement |

+ +

                                 CallStatement |

+ +

                                 ReplyStatement |

+ +

                                 RaiseStatement |

+ +

                                 ReceiveStatement +|

+ +

                                 TriggerStatement +|

+ +

                                 GetCallStatement +|

+ +

                                 GetReplyStatement +|

+ +

                                 CatchStatement |

+ +

                                 CheckStatement |

+ +

                                 ClearStatement |

+ +

                                 StartStatement |

+ +

                                 StopStatement |

+ +

                                 HaltStatement

+ +

290.SendStatement +::= ArrayIdentifierRef +Dot PortSendOp

+ +

291.PortSendOp +::= SendOpKeyword +"(" InLineTemplate +")" [ToClause] +

+ +

292.SendOpKeyword +::= "send"

+ +

293.ToClause ::= ToKeyword (InLineTemplate |

+ +

                             AddressRefList |

+ +

                             AllKeyword ComponentKeyword +

+ +

                            )

+ +

294.AddressRefList +::= "(" InLineTemplate +{"," InLineTemplate} +")"

+ +

295.ToKeyword +::= "to"

+ +

296.CallStatement ::= ArrayIdentifierRef +Dot PortCallOp [PortCallBody]

+ +

297.PortCallOp +::= CallOpKeyword +"(" CallParameters +")" [ToClause] +

+ +

298.CallOpKeyword +::= "call"

+ +

299.CallParameters +::= InLineTemplate +["," CallTimerValue] +

+ +

300.CallTimerValue +::= Expression +| NowaitKeyword +

+ +

301.NowaitKeyword +::= "nowait"

+ +

302.PortCallBody +::= "{" CallBodyStatementList +"}"

+ +

303.CallBodyStatementList +::= {CallBodyStatement +[SemiColon]}+

+ +

304.CallBodyStatement +::= CallBodyGuard +StatementBlock +

+ +

305.CallBodyGuard +::= AltGuardChar +CallBodyOps

+ +

306.CallBodyOps +::= GetReplyStatement +| CatchStatement +

+ +

307.ReplyStatement +::= ArrayIdentifierRef +Dot PortReplyOp

+ +

308.PortReplyOp +::= ReplyKeyword +"(" InLineTemplate +[ReplyValue] +")" [ToClause] +

+ +

309.ReplyKeyword +::= "reply"

+ +

310.ReplyValue +::= ValueKeyword +Expression

+ +

311.RaiseStatement +::= ArrayIdentifierRef +Dot PortRaiseOp

+ +

312.PortRaiseOp +::= RaiseKeyword +"(" Signature +"," InLineTemplate +")"  

+ +

                     [ToClause]

+ +

313.RaiseKeyword +::= "raise"

+ +

314.ReceiveStatement +::= PortOrAny Dot PortReceiveOp

+ +

315.PortOrAny +::= ArrayIdentifierRef +| AnyKeyword PortKeyword

+ +

316.PortReceiveOp +::= ReceiveOpKeyword +["(" InLineTemplate +")"] [FromClause]   +

+ +

                       [PortRedirect]

+ +

317.ReceiveOpKeyword +::= "receive"

+ +

318.FromClause ::= FromKeyword (InLineTemplate |

+ +

                                 AddressRefList |

+ +

                                 AnyKeyword ComponentKeyword +

+ +

                                )

+ +

319.FromKeyword +::= "from"

+ +

320.PortRedirect +::= PortRedirectSymbol +(ValueSpec [SenderSpec] | SenderSpec)

+ +

321.PortRedirectSymbol +::= "->"

+ +

322.ValueSpec +::= ValueKeyword +(VariableRef +| ("(" SingleValueSpec +{","  

+ +

                                                                     +SingleValueSpec}   +

+ +

                                                +")"))

+ +

323.SingleValueSpec +::= VariableRef +[AssignmentChar +FieldReference +ExtendedFieldReference] +
+
+/*STATIC SEMANTICS – FieldReference shall not be +ParRef and ExtendedFieldReference shall not be TypeDefIdentifier*/

+ +

324.ValueKeyword +::= "value"

+ +

325.SenderSpec +::= SenderKeyword +VariableRef

+ +

326.SenderKeyword +::= "sender"

+ +

327.TriggerStatement +::= PortOrAny Dot PortTriggerOp

+ +

328.PortTriggerOp +::= TriggerOpKeyword +["(" InLineTemplate +")"] [FromClause]   +

+ +

                       [PortRedirect]

+ +

329.TriggerOpKeyword +::= "trigger"

+ +

330.GetCallStatement +::= PortOrAny Dot PortGetCallOp

+ +

331.PortGetCallOp +::= GetCallOpKeyword +["(" InLineTemplate +")"] [FromClause]   +

+ +

                       [PortRedirectWithParam] +

+ +

332.GetCallOpKeyword +::= "getcall"

+ +

333.PortRedirectWithParam +::= PortRedirectSymbol +RedirectWithParamSpec +

+ +

334.RedirectWithParamSpec +::= ParamSpec +[SenderSpec] +| SenderSpec

+ +

335.ParamSpec +::= ParamKeyword +ParamAssignmentList +

+ +

336.ParamKeyword +::= "param"

+ +

337.ParamAssignmentList +::= "(" (AssignmentList +| VariableList) +")"

+ +

338.AssignmentList +::= VariableAssignment +{"," VariableAssignment} +

+ +

339.VariableAssignment +::= VariableRef +AssignmentChar +Identifier

+ +

340.VariableList ::= VariableEntry +{"," VariableEntry} +

+ +

341.VariableEntry +::= VariableRef +| Minus

+ +

342.GetReplyStatement +::= PortOrAny Dot PortGetReplyOp

+ +

343.PortGetReplyOp +::= GetReplyOpKeyword +["(" InLineTemplate +[ValueMatchSpec]   +

+ +

                                           ")"] +[FromClause] +[PortRedirectWithValueAndParam] +

+ +

344.PortRedirectWithValueAndParam ::= PortRedirectSymbol +RedirectWithValueAndParamSpec +

+ +

345.RedirectWithValueAndParamSpec ::= ValueSpec [ParamSpec] [SenderSpec] |

+ +

                                       +RedirectWithParamSpec +

+ +

346.GetReplyOpKeyword +::= "getreply"

+ +

347.ValueMatchSpec +::= ValueKeyword +InLineTemplate +

+ +

348.CheckStatement +::= PortOrAny Dot PortCheckOp

+ +

349.PortCheckOp +::= CheckOpKeyword +["(" CheckParameter +")"]

+ +

350.CheckOpKeyword +::= "check"

+ +

351.CheckParameter +::= CheckPortOpsPresent +|

+ +

                        FromClausePresent +|

+ +

                        RedirectPresent

+ +

352.FromClausePresent +::= FromClause +[PortRedirectSymbol +SenderSpec]

+ +

353.RedirectPresent +::= PortRedirectSymbol +SenderSpec

+ +

354.CheckPortOpsPresent +::= PortReceiveOp +|

+ +

                             PortGetCallOp |

+ +

                             PortGetReplyOp |

+ +

                             PortCatchOp

+ +

355.CatchStatement +::= PortOrAny Dot PortCatchOp

+ +

356.PortCatchOp +::= CatchOpKeyword +["(" CatchOpParameter +")"] [FromClause]   +

+ +

                     [PortRedirect]

+ +

357.CatchOpKeyword +::= "catch"

+ +

358.CatchOpParameter +::= Signature +"," InLineTemplate +| TimeoutKeyword +

+ +

359.ClearStatement +::= PortOrAll Dot ClearOpKeyword

+ +

360.PortOrAll +::= ArrayIdentifierRef +| AllKeyword PortKeyword

+ +

361.ClearOpKeyword +::= "clear"

+ +

362.StartStatement +::= PortOrAll Dot StartKeyword

+ +

363.StopStatement ::= PortOrAll Dot StopKeyword

+ +

364.StopKeyword +::= "stop"

+ +

365.HaltStatement +::= PortOrAll Dot HaltKeyword

+ +

366.HaltKeyword +::= "halt"

+ +

367.AnyKeyword +::= "any"

+ +

A.1.6.4.3        Timer operations

+ +

368.TimerStatements +::= StartTimerStatement +|

+ +

                         StopTimerStatement +|

+ +

                         TimeoutStatement +

+ +

369.TimerOps +::= ReadTimerOp +| RunningTimerOp +

+ +

370.StartTimerStatement +::= ArrayIdentifierRef +Dot StartKeyword +["(" Expression   +

+ +

                                                                  +")"]

+ +

371.StopTimerStatement +::= TimerRefOrAll +Dot StopKeyword

+ +

372.TimerRefOrAll +::= ArrayIdentifierRef +| AllKeyword TimerKeyword

+ +

373.ReadTimerOp +::= ArrayIdentifierRef +Dot ReadKeyword

+ +

374.ReadKeyword +::= "read"

+ +

375.RunningTimerOp +::= TimerRefOrAny +Dot RunningKeyword

+ +

376.TimeoutStatement +::= TimerRefOrAny +Dot TimeoutKeyword

+ +

377.TimerRefOrAny +::= ArrayIdentifierRef +| (AnyKeyword +TimerKeyword) +

+ +

378.TimeoutKeyword +::= "timeout"

+ +

A.1.6.4.4        Testcase operation

+ +

379.TestcaseOperation +::= TestcaseKeyword +"." StopKeyword +["(" {(FreeText +|

+ +

                                                      +            InLineTemplate)   +

+ +

                                                                 +[","]}  

+ +

                                                            +")"]

+ +

A.1.6.5   Type

+ +

380.Type ::= PredefinedType | ReferencedType

+ +

381.PredefinedType +::= BitStringKeyword +|

+ +

                        BooleanKeyword |

+ +

                        CharStringKeyword +|

+ +

                        UniversalCharString +|

+ +

                        IntegerKeyword |

+ +

                        OctetStringKeyword +|

+ +

                        HexStringKeyword +|

+ +

                        VerdictTypeKeyword +|

+ +

                        FloatKeyword |

+ +

                        AddressKeyword |

+ +

                        DefaultKeyword |

+ +

                        AnyTypeKeyword

+ +

382.BitStringKeyword +::= "bitstring"

+ +

383.BooleanKeyword +::= "boolean"

+ +

384.IntegerKeyword +::= "integer"

+ +

385.OctetStringKeyword +::= "octetstring"

+ +

386.HexStringKeyword +::= "hexstring"

+ +

387.VerdictTypeKeyword +::= "verdicttype"

+ +

388.FloatKeyword +::= "float"

+ +

389.AddressKeyword +::= "address"

+ +

390.DefaultKeyword +::= "default"

+ +

391.AnyTypeKeyword +::= "anytype"

+ +

392.CharStringKeyword +::= "charstring"

+ +

393.UniversalCharString +::= UniversalKeyword +CharStringKeyword +

+ +

394.UniversalKeyword +::= "universal"

+ +

395.ReferencedType +::= ExtendedIdentifier +[ExtendedFieldReference] +

+ +

396.TypeReference ::= Identifier

+ +

397.ArrayDef ::= {"[" SingleExpression +[".." SingleExpression] +"]"}+
+
+/* STATIC SEMANTICS - ArrayBounds will resolve to a +non negative value of integer type */

+ +

A.1.6.6   Value

+ +

398.Value ::= PredefinedValue | +ReferencedValue +

+ +

399.PredefinedValue +::= Bstring |

+ +

                         BooleanValue |

+ +

                         CharStringValue | +

+ +

                         Number | /* IntegerValue */

+ +

                         Ostring |

+ +

                         Hstring |

+ +

                         VerdictTypeValue +|

+ +

                         Identifier | /* EnumeratedValue */

+ +

                         FloatValue |

+ +

                         AddressValue |

+ +

                         OmitKeyword

+ +

400.BooleanValue +::= "true" | "false"

+ +

401.VerdictTypeValue +::= "pass" |

+ +

                          +"fail" |

+ +

                          +"inconc" |

+ +

                          +"none" |

+ +

                          +"error"

+ +

402.CharStringValue +::= Cstring | Quadruple

+ +

403.Quadruple +::= CharKeyword +"(" Number +"," Number +"," Number +"," Number   +

+ +

                   ")"

+ +

404.CharKeyword +::= "char"

+ +

405.FloatValue ::= FloatDotNotation +|

+ +

                    FloatENotation |

+ +

                    NaNKeyword

+ +

406.NaNKeyword +::= "not_a_number"

+ +

407.FloatDotNotation +::= Number Dot DecimalNumber

+ +

408.FloatENotation +::= Number [Dot DecimalNumber] Exponential [Minus]  

+ +

                        Number

+ +

409.Exponential +::= "E"

+ +

410.ReferencedValue +::= ExtendedIdentifier +[ExtendedFieldReference] +

+ +

411.Number ::= (NonZeroNum {Num}) | "0"

+ +

412.NonZeroNum +::= "1" | "2" | "3" | "4" | +"5" | "6" | "7" | "8" | "9"

+ +

413.DecimalNumber +::= {Num}+

+ +

414.Num ::= +"0" | NonZeroNum +

+ +

415.Bstring ::= +"'" {Bin} +"'" "B"

+ +

416.Bin ::= +"0" | "1"

+ +

417.Hstring ::= +"'" {Hex} +"'" "H"

+ +

418.Hex ::= Num | "A" | +"B" | "C" | "D" | "E" | "F" | +"a" | "b" | "c" |

+ +

             "d" | +"e" | "f"

+ +

419.Ostring ::= +"'" {Oct} +"'" "O"

+ +

420.Oct ::= Hex Hex

+ +

421.Cstring ::= +""" {Char} +"""

+ +

422.Char ::= /* REFERENCE - A character defined by the relevant +CharacterString type. For charstring a character from the character set defined +in ITU-T T.50. For universal charstring a character from any character set +defined in ISO/IEC 10646 */

+ +

423.Identifier +::= Alpha {AlphaNum | Underscore}

+ +

424.Alpha ::= UpperAlpha | LowerAlpha

+ +

425.AlphaNum +::= Alpha | Num

+ +

426.UpperAlpha +::= "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"

+ +

427.LowerAlpha +::= "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"

+ +

428.ExtendedAlphaNum +::= /* REFERENCE - A graphical character from +the BASIC LATIN or from the LATIN-1 SUPPLEMENT character sets defined in +ISO/IEC 10646 (characters from char (0,0,0,32) to char (0,0,0,126), from char +(0,0,0,161) to char (0,0,0,172) and from char (0,0,0,174) to char (0,0,0,255) +*/

+ +

429.FreeText +::= """ {ExtendedAlphaNum} +"""

+ +

430.AddressValue +::= "null"

+ +

431.OmitKeyword +::= "omit"

+ +

A.1.6.7   Parameterization

+ +

432.InParKeyword +::= "in"

+ +

433.OutParKeyword +::= "out"

+ +

434.InOutParKeyword +::= "inout"

+ +

435.FormalValuePar +::= [(InParKeyword +|

+ +

                          InOutParKeyword | +

+ +

                          OutParKeyword

+ +

                         )] Type Identifier +[":=" (Expression +| Minus)]

+ +

436.FormalPortPar ::= [InOutParKeyword] Identifier Identifier
+
+/* The first Identifier refers to the port type. The +second Identifier refers to the port parameter identifier */

+ +

437.FormalTimerPar ::= [InOutParKeyword] TimerKeyword Identifier

+ +

438.FormalTemplatePar +::= [(InParKeyword +|

+ +

                             OutParKeyword |

+ +

                             InOutParKeyword

+ +

                            )] (TemplateKeyword | +RestrictedTemplate) +Type  

+ +

                           Identifier +[":=" (InLineTemplate +| Minus)]

+ +

439.RestrictedTemplate ::= OmitKeyword | (TemplateKeyword TemplateRestriction) +

+ +

440.TemplateRestriction +::= "(" (OmitKeyword +|

+ +

                                  ValueKeyword |

+ +

                                  PresentKeyword

+ +

                                 ) +")"

+ +

A.1.6.8   Statements

+ +

A.1.6.8.1        With statement

+ +

441.WithStatement +::= WithKeyword +WithAttribList +

+ +

442.WithKeyword +::= "with"

+ +

443.WithAttribList +::= "{" MultiWithAttrib +"}"

+ +

444.MultiWithAttrib +::= {SingleWithAttrib +[SemiColon]}

+ +

445.SingleWithAttrib +::= AttribKeyword +[OverrideKeyword] +[AttribQualifier]   +

+ +

                          FreeText

+ +

446.AttribKeyword +::= EncodeKeyword +|

+ +

                       VariantKeyword |

+ +

                       DisplayKeyword |

+ +

                       ExtensionKeyword +|

+ +

                       OptionalKeyword

+ +

447.EncodeKeyword +::= "encode"

+ +

448.VariantKeyword +::= "variant"

+ +

449.DisplayKeyword +::= "display"

+ +

450.ExtensionKeyword +::= "extension"

+ +

451.OverrideKeyword +::= "override"

+ +

452.AttribQualifier +::= "(" DefOrFieldRefList +")"

+ +

453.DefOrFieldRefList +::= DefOrFieldRef +{"," DefOrFieldRef} +

+ +

454.DefOrFieldRef +::= DefinitionRef +|

+ +

                       (FieldReference [ExtendedFieldReference]) +|

+ +

                       +("[" Minus +| SingleExpression +"]") |

+ +

                       AllRef

+ +

455.DefinitionRef +::= Identifier +FullGroupIdentifier +

+ +

456.AllRef ::= (GroupKeyword AllKeyword [ExceptKeyword +"{" FullGroupIdentifierList   +

+ +

                                          +"}"]) | ((TypeDefKeyword +|

+ +

                                                   +TemplateKeyword +|

+ +

                                                   +ConstKeyword +|

+ +

                                                   AltstepKeyword |

+ +

                                                   +TestcaseKeyword +|

+ +

                                               +    FunctionKeyword +|

+ +

                                                   +SignatureKeyword +|

+ +

                                                   +ModuleParKeyword +

+ +

                                                  +) AllKeyword +[ExceptKeyword   +

+ +

                                                                +"{" IdentifierList   +

+ +

                                                                +"}"])

+ +

A.1.6.8.2        Behaviour +statements

+ +

457.BehaviourStatements +::= TestcaseInstance +|

+ +

                             FunctionInstance +|

+ +

                             ReturnStatement | +

+ +

                             AltConstruct |

+ +

                             InterleavedConstruct +|

+ +

                             LabelStatement |

+ +

                             GotoStatement |

+ +

                             RepeatStatement | +

+ +

                             DeactivateStatement +|

+ +

                             AltstepInstance | +

+ +

                             ActivateOp |

+ +

                             BreakStatement |

+ +

                             ContinueStatement +

+ +

458.SetLocalVerdict ::= SetVerdictKeyword +"(" SingleExpression +{"," LogItem}   +

+ +

                         +")"

+ +

459.SetVerdictKeyword +::= "setverdict"

+ +

460.GetLocalVerdict +::= "getverdict"

+ +

461.SUTStatements +::= ActionKeyword +"(" ActionText +{StringOp ActionText}  

+ +

                       ")" +

+ +

462.ActionKeyword +::= "action"

+ +

463.ActionText +::= FreeText | Expression

+ +

464.ReturnStatement +::= ReturnKeyword +[Expression | +InLineTemplate] +
+
+/* STATIC SEMANTICS - Expression shall evaluate to a +value of a type compatible with the return type for functions returning a +value. It shall evaluate to a value, template (literal or template instance), +or a matching mechanism compatible with the return type for functions returning +a template. */

+ +

465.AltConstruct +::= AltKeyword +"{" AltGuardList +"}"

+ +

466.AltKeyword +::= "alt"

+ +

467.AltGuardList +::= {GuardStatement +| ElseStatement +[SemiColon]}

+ +

468.GuardStatement +::= AltGuardChar +(AltstepInstance +[StatementBlock] +|

+ +

                                      +GuardOp StatementBlock)

+ +

469.ElseStatement +::= "[" ElseKeyword +"]" StatementBlock +

+ +

470.AltGuardChar +::= "[" [BooleanExpression] +"]"

+ +

471.GuardOp ::= +TimeoutStatement +|

+ +

                 ReceiveStatement +|

+ +

                 TriggerStatement +|

+ +

                 GetCallStatement +|

+ +

                 CatchStatement |

+ +

                 CheckStatement |

+ +

                 GetReplyStatement +|

+ +

                 DoneStatement |

+ +

                 KilledStatement

+ +

472.InterleavedConstruct +::= InterleavedKeyword +"{" InterleavedGuardList   +

+ +

                              "}" +

+ +

473.InterleavedKeyword +::= "interleave"

+ +

474.InterleavedGuardList +::= {InterleavedGuardElement +[SemiColon]}+

+ +

475.InterleavedGuardElement ::= InterleavedGuard +StatementBlock +

+ +

476.InterleavedGuard +::= "[" "]" GuardOp +

+ +

477.LabelStatement +::= LabelKeyword +Identifier

+ +

478.LabelKeyword +::= "label"

+ +

479.GotoStatement ::= GotoKeyword Identifier

+ +

480.GotoKeyword +::= "goto"

+ +

481.RepeatStatement +::= "repeat"

+ +

482.ActivateOp +::= ActivateKeyword +"(" AltstepInstance +")"

+ +

483.ActivateKeyword +::= "activate"

+ +

484.DeactivateStatement +::= DeactivateKeyword +["(" ComponentOrDefaultReference   +

+ +

                                                +")"]

+ +

485.DeactivateKeyword +::= "deactivate"

+ +

486.BreakStatement +::= "break"

+ +

487.ContinueStatement +::= "continue"

+ +

A.1.6.8.3        Basic statements

+ +

488.BasicStatements +::= Assignment +|

+ +

                         LogStatement |

+ +

                         LoopConstruct |

+ +

                         ConditionalConstruct +|

+ +

                         SelectCaseConstruct +|

+ +

                         StatementBlock

+ +

489.Expression +::= SingleExpression +| CompoundExpression +

+ +

490.CompoundExpression +::= FieldExpressionList +| ArrayExpression +
+
+/* STATIC SEMANTICS - Within CompoundExpression the +ArrayExpression can be used for Arrays, record, record of and set of types. */ +

+ +

491.FieldExpressionList +::= "{" FieldExpressionSpec +{"," FieldExpressionSpec}   +

+ +

                             "}" +

+ +

492.FieldExpressionSpec +::= FieldReference +AssignmentChar +NotUsedOrExpression +

+ +

493.ArrayExpression +::= "{" [ArrayElementExpressionList] +"}"

+ +

494.ArrayElementExpressionList ::= NotUsedOrExpression +{"," NotUsedOrExpression} +

+ +

495.NotUsedOrExpression +::= Expression +| Minus

+ +

496.ConstantExpression +::= SingleExpression +| CompoundConstExpression +

+ +

497.BooleanExpression +::= SingleExpression +
+
+/* STATIC SEMANTICS - BooleanExpression shall resolve +to a Value of type Boolean */

+ +

498.CompoundConstExpression ::= FieldConstExpressionList +| ArrayConstExpression +
+
+/* STATIC SEMANTICS - Within CompoundConstExpression +the ArrayConstExpression can be used for arrays, record, record of and set of +types. */

+ +

499.FieldConstExpressionList ::= "{" FieldConstExpressionSpec +{"," FieldConstExpressionSpec}   +

+ +

                                  "}" +

+ +

500.FieldConstExpressionSpec ::= FieldReference AssignmentChar ConstantExpression +

+ +

501.ArrayConstExpression +::= "{" [ArrayElementConstExpressionList] +"}"

+ +

502.ArrayElementConstExpressionList ::= ConstantExpression +{"," ConstantExpression} +

+ +

503.Assignment +::= VariableRef +AssignmentChar +(Expression | +TemplateBody) +
+
+/* STATIC SEMANTICS - The Expression on the right +hand side of Assignment shall evaluate to an explicit value of a type +compatible with the type of the left hand side for value variables and shall +evaluate to an explicit value, template (literal or a template instance) or a +matching mechanism compatible with the type of the left hand side for template +variables. */

+ +

504.SingleExpression +::= XorExpression +{"or" XorExpression} +
+
+/* STATIC SEMANTICS - If more than one XorExpression +exists, then the XorExpressions shall evaluate to specific values of compatible +types */

+ +

505.XorExpression +::= AndExpression +{"xor" AndExpression} +
+
+/* STATIC SEMANTICS - If more than one AndExpression +exists, then the AndExpressions shall evaluate to specific values of compatible +types */

+ +

506.AndExpression +::= NotExpression +{"and" NotExpression} +
+
+/* STATIC SEMANTICS - If more than one NotExpression +exists, then the NotExpressions shall evaluate to specific values of compatible +types */

+ +

507.NotExpression +::= ["not"] EqualExpression +
+
+/* STATIC SEMANTICS - Operands of the not operator +shall be of type boolean or derivatives of type Boolean. */

+ +

508.EqualExpression +::= RelExpression +{EqualOp RelExpression}
+
+/* STATIC SEMANTICS - If more than one RelExpression +exists, then the RelExpressions shall evaluate to specific values of compatible +types */

+ +

509.RelExpression +::= ShiftExpression +[RelOp ShiftExpression]
+
+/* STATIC SEMANTICS - If both ShiftExpressions exist, +then each ShiftExpression shall evaluate to a specific integer, Enumerated or +float Value or derivatives of these types */

+ +

510.ShiftExpression +::= BitOrExpression +{ShiftOp BitOrExpression}
+
+/* STATIC SEMANTICS - Each Result shall resolve to a +specific Value. If more than one Result exists the right-hand operand shall be +of type integer or derivatives and if the shift op is "<<" or +">>" then the left-hand operand shall resolve to either +bitstring, hexstring or octetstring type or derivatives of these types. If the +shift op is "

+ +

511.BitOrExpression +::= BitXorExpression +{"or4b" BitXorExpression} +
+
+/* STATIC SEMANTICS - If more than one +BitXorExpression exists, then the BitXorExpressions shall evaluate to specific +values of compatible types */

+ +

512.BitXorExpression +::= BitAndExpression +{"xor4b" BitAndExpression} +
+
+/* STATIC SEMANTICS - If more than one +BitAndExpression exists, then the BitAndExpressions shall evaluate to specific +values of compatible types */

+ +

513.BitAndExpression +::= BitNotExpression +{"and4b" BitNotExpression} +
+
+/* STATIC SEMANTICS - If more than one +BitNotExpression exists, then the BitNotExpressions shall evaluate to specific +values of compatible types */

+ +

514.BitNotExpression +::= ["not4b"] AddExpression +
+
+/* STATIC SEMANTICS - If the not4b operator exists, +the operand shall be of type bitstring, octetstring or hexstring or derivatives +of these types. */

+ +

515.AddExpression +::= MulExpression +{AddOp MulExpression}
+
+/* STATIC SEMANTICS - Each MulExpression shall +resolve to a specific Value. If more than one MulExpression exists and the +AddOp resolves to StringOp then the MulExpressions shall be valid operands for +StringOp. If more than one MulExpression exists and the AddOp does not resolve +to StringOp then the MulExpression shall both resolve to type integer or float +or derivatives of these types.*/

+ +

516.MulExpression +::= UnaryExpression +{MultiplyOp UnaryExpression}
+
+/* STATIC SEMANTICS - Each UnaryExpression shall +resolve to a specific Value. If more than one UnaryExpression exists then the +UnaryExpressions shall resolve to type integer or float or derivatives of these +types. */

+ +

517.UnaryExpression +::= [UnaryOp] Primary
+
+/* STATIC SEMANTICS - Primary shall resolve to a +specific Value of type integer or float or derivatives of these types.*/ +

+ +

518.Primary ::= +OpCall |

+ +

                 Value |

+ +

                 "(" SingleExpression +")"

+ +

519.ExtendedFieldReference +::= {(Dot Identifier) |

+ +

                                 ArrayOrBitRef |

+ +

                                 +("[" Minus +"]")

+ +

                                }+
+
+/* STATIC SEMANTIC - The Identifier refers to a type +definition if the type of the VarInstance or ReferencedValue in which the +ExtendedFieldReference is used is anytype. ArrayOrBitRef shall be used when +referencing elements of values or arrays. The square brackets with dash shall +be used when referencing inner types of a record of or set of type. */

+ +

520.OpCall ::= ConfigurationOps +|

+ +

                GetLocalVerdict | +

+ +

                TimerOps |

+ +

                TestcaseInstance +|

+ +

                (FunctionInstance +[ExtendedFieldReference]) +|

+ +

                (TemplateOps [ExtendedFieldReference]) +|

+ +

                ActivateOp

+ +

521.AddOp ::= +"+" |

+ +

               "-" |

+ +

               StringOp
+
+/* STATIC SEMANTICS - Operands of the "+" +or "-" operators shall be of type integer or float or derivations of +integer or float (i.e. subrange) */

+ +

522.MultiplyOp +::= "*" | "/" | "mod" | "rem"
+
+/* STATIC SEMANTICS - Operands of the "*", +"/", rem or mod operators shall be of type integer or float or +derivations of integer or float (i.e. subrange) */

+ +

523.UnaryOp ::= +"+" | "-"
+
+/* STATIC SEMANTICS - Operands of the "+" +or "-" operators shall be of type integer or float or derivations of +integer or float (i.e. subrange) */

+ +

524.RelOp ::= +"<" | ">" | ">=" | "<="
+
+/* STATIC SEMANTICS - the precedence of the operators +is defined in Table 6 */

+ +

525.EqualOp ::= +"==" | "!="

+ +

526.StringOp +::= "&"
+
+/* STATIC SEMANTICS - Operands of the list operator +shall be bitstring, hexstring, octetstring, (universal) character string, +record of, set of, or array types, or derivates of these types */

+ +

527.ShiftOp ::= +"<<" | ">>" | "<@" | "@>" +

+ +

528.LogStatement +::= LogKeyword +"(" LogItem +{"," LogItem} +")"

+ +

529.LogKeyword +::= "log"

+ +

530.LogItem ::= +FreeText | InLineTemplate

+ +

531.LoopConstruct +::= ForStatement +|

+ +

                       WhileStatement |

+ +

                       DoWhileStatement +

+ +

532.ForStatement +::= ForKeyword +"(" Initial +SemiColon BooleanExpression   +

+ +

                      SemiColon Assignment +")" StatementBlock +

+ +

533.ForKeyword +::= "for"

+ +

534.Initial ::= +VarInstance +| Assignment

+ +

535.WhileStatement +::= WhileKeyword +"(" BooleanExpression +")" StatementBlock +

+ +

536.WhileKeyword +::= "while"

+ +

537.DoWhileStatement +::= DoKeyword StatementBlock WhileKeyword +"(" BooleanExpression   +

+ +

                          +")"

+ +

538.DoKeyword +::= "do"

+ +

539.ConditionalConstruct +::= IfKeyword +"(" BooleanExpression +")" StatementBlock   +

+ +

                              {ElseIfClause} [ElseClause]

+ +

540.IfKeyword +::= "if"

+ +

541.ElseIfClause +::= ElseKeyword +IfKeyword +"(" BooleanExpression +")" StatementBlock +

+ +

542.ElseKeyword +::= "else"

+ +

543.ElseClause +::= ElseKeyword +StatementBlock +

+ +

544.SelectCaseConstruct +::= SelectKeyword +"(" SingleExpression +")" SelectCaseBody +

+ +

545.SelectKeyword +::= "select"

+ +

546.SelectCaseBody +::= "{" {SelectCase}+ +"}"

+ +

547.SelectCase +::= CaseKeyword +("(" InLineTemplate +{"," InLineTemplate}   +

+ +

                                 +")" | ElseKeyword) +StatementBlock +

+ +

548.CaseKeyword +::= "case"

+ +

549.ExtendedIdentifier +::= [Identifier +Dot] Identifier

+ +

550.IdentifierList +::= Identifier +{"," Identifier} +

+ +

551.FullGroupIdentifierList ::= FullGroupIdentifier +{"," FullGroupIdentifier} +

+ +

A.1.6.9   Miscellaneous +productions

+ +

552.Dot ::= "."

+ +

553.Minus ::= +"-"

+ +

554.SemiColon +::= ";"

+ +

555.Colon ::= +":"

+ +

556.Underscore +::= "_"

+ +

557.AssignmentChar +::= ":="

+ +
+
+ +
+ +

Annex B (normative):
+
Matching values

+ +

B.1      Template matching mechanisms

+ +
+ +

This annex specifies +the matching mechanisms that may be used in TTCN‑3 templates (and only in templates).

+ +

B.1.1    Matching specific values

+ +

Specific values are the basic matching +mechanism of TTCN‑3 templates. Specific values in templates are +expressions which do not contain any matching mechanisms or wildcards.

+ +

Unless otherwise specified, a template +field matches the corresponding field value if, and only if, the field value +has exactly the same value as the value to which the expression in the template +evaluates.

+ +

EXAMPLE:

+ +

    // Given the message type definition

+ +

    type record +MyMessageType

+ +

    {  

+ +

       integer    field1,

+ +

       charstring     field2,

+ +

       boolean    field3 optional,

+ +

       integer    field4[4]

+ +

    }

+ +

 

+ +

    // A message template using specific +values could be

+ +

    template MyMessageType +MyTemplate:=

+ +

    {  

+ +

       field1 := 3+2,        // +specific value of integer type

+ +

       field2 := "My string", +   // specific value of charstring type

+ +

       field3 := true,           // +specific value of boolean type

+ +

       field4 := {1,2,3,4}       // +specific value of integer array

+ +

    }

+ +

 

+ +

B.1.2    Matching mechanisms +instead of values

+ +

The +following matching mechanisms may be used in place of explicit values.

+ +

B.1.2.1   Value list

+ +

Value lists +specify lists of acceptable values. It can be used on values of all types. A +value list may also contain templates.

+ +

A template +field that uses a value list matches the corresponding field if, and only if, +the field value matches any one of the values or templates in the value list. +Each value or template in the value list shall be of the type declared for the +template field in which this mechanism is used.

+ +

EXAMPLE:

+ +

    template MyMessage +MyTemplate:=

+ +

    {  

+ +

       field1 := (2,4,6),           // +list of integer values

+ +

       field2 := ("String1", +"String2"),    // list of charstring values

+ +

       :

+ +

       :

+ +

    }

+ +

 

+ +

B.1.2.2   Complemented value list

+ +

The keyword complement denotes a list of values that will not be accepted as +values (i.e. it is the complement of a value list). It can be used on all +values of all types. A complemented value list may also contain templates.

+ +

Each value or template in the list shall be of the type +declared for the template field in which the complement is used.

+ +

A template field that uses complement matches the +corresponding field if and only if the field does not match any of the values +or templates listed in the value list. The value list may be a single value, of +course.

+ +

EXAMPLE:

+ +

    template MyMessage MyTemplate:=

+ +

    {  

+ +

       complement +(1,3,5),   // list of unacceptable integer values

+ +

       :

+ +

        field3 not(true)      // +will match false

+ +

       :

+ +

    }

+ +

 

+ +

B.1.2.3   Any value

+ +

The matching symbol "?" (AnyValue) +matches any value of the specified type. It can be used on values of all types. +

+ +

A template field that uses the any value +mechanism matches the corresponding field if, and only if, the field evaluates +to a single element of the specified type.

+ +

EXAMPLE:

+ +

    template MyMessage MyTemplate:=

+ +

    {  

+ +

       field1 := ?,       // will +match any integer

+ +

       field2 := ?,       // will +match any non-empty charstring value

+ +

       field3 := ?,       // will +match true or false

+ +

       field4 := ?       // will match +any sequence of integers

+ +

    }

+ +

 

+ +

B.1.2.4   Any value or none

+ +

The matching symbol +"*" (AnyValueOrNone) is used to indicate that any valid value, +including omission of that value, is acceptable. It can be used on values of +all types, provided that the template field is declared as optional.

+ +

A template field that uses this symbol +matches the corresponding field if, and only if, either the field evaluates to +any element of the specified type, or if the field is absent.

+ +

EXAMPLE:

+ +

    template MyMessage +MyTemplate:=

+ +

    {   :

+ +

       field3 := *,       // will +match true or false or omitted field

+ +

       :

+ +

    }

+ +

 

+ +

B.1.2.5   Value range

+ +

Ranges indicate a bounded range of acceptable values, +including or excluding the boundaries. When used for values of integer or float +types (and integer or float subtypes), a boundary value shall be either:

+ +

a)          +infinity or -infinity;

+ +

b)          +an expression that evaluates to a specific +integer or float value.

+ +

The lower boundary shall be put on the left +side of the range, the upper boundary at the right side. The lower boundary +shall be less than the upper boundary.

+ +

A template field that uses a range matches +the corresponding field if, and only if, the field value is equal to one of the +values in the range.

+ +

When used in templates +or template fields of charstring or universal charstring types, the boundaries shall evaluate to valid character positions +according to the coded character set table(s) of the type (e.g. the given +position shall not be empty). Empty positions between the lower and the upper +boundaries are not considered to be valid values of the specified range.

+ +

EXAMPLE:

+ +

    template MyMessage MyTemplate:=

+ +

    {  

+ +

       field1 +:= (1 .. !6),  // range of integer type from 1 to 5

+ +

       :

+ +

       :

+ +

       :

+ +

    }

+ +

    // +other entries for field1 might be (-infinity to 8) or (!12 to infinity)

+ +

 

+ +

B.1.2.6   SuperSet

+ +

SuperSet is an operation for matching that +shall be used only on values of set of types. SuperSet is denoted by +the keyword superset. SuperSet matches a set of values if, and only if, the set of values +contains at least all of the elements defined within the SuperSet, and may +contain more. The argument of SuperSet shall be of the type replicated by the +set of. This argument may contain templates (including template variables) and +matching mechanisms, with the exception of omit, AnyValueOrNone, superset, +subset and the matching attributes (length restriction and ifpresent). However, +the length matching attribute may be attached to the SuperSet itself, in which +case the minimal length allowed by the length attribute shall not be less than +the number of the elements in the SuperSet.

+ +

EXAMPLE:

+ +

    type set of integer MySetOfType (0 .. 10);

+ +

 

+ +

    template MySetOfType MyTemplate1 := superset (1, 2, 3);

+ +

    // matches any sequence of integers which contains at least one occurrences +of the numbers

+ +

    // 1, 2 and 3 in any order and +position

+ +

 

+ +

    template MySetOfType MyTemplate2_AnyValue := superset +(1, 2, ?);

+ +

    // matches any sequence of integers which contains at least one +occurrences of the numbers

+ +

    // 1, 2 and at least one more valid integer value (i.e. between +0 and 10, inclusively), in any

+ +

    // order and position

+ +

 

+ +

    template MySetOfType MyTemplate3 := superset (1, +2, (3, 4));

+ +

    // matches any sequence of integers which contains at least one +occurrences of the numbers

+ +

    // 1, 2 and a number with the value 3 or 4, in any order and +position

+ +

 

+ +

    template MySetOfType MyTemplate4 := superset (1, +2, complement(3, 4));

+ +

    // any sequence of integers matches which contains at least one +occurrences of the numbers

+ +

    // 1, 2 and a valid integer value which is not 3 or 4, in any +order and position

+ +

 

+ +

    template MySetOfType MyTemplate6 := superset (1, +2, 3) length (7);

+ +

    // matches any sequence of 7 integers which contains at least +one occurrences of the numbers

+ +

    // 1, 2 and 3 in any order and position

+ +

 

+ +

    template MySetOfType MyTemplate7 := superset (1, +2, ?) length (7 .. infinity);

+ +

    // matches any sequence of at least 7 integers which contains +at least one occurrences of the

+ +

    // numbers 1, 2 and 3 in any order and position

+ +

 

+ +

    template MySetOfType +MyTemplate8 := superset (1, 2, 3) length (2 .. 7);

+ +

    // causes an error, the lower +bound of the length attribute contradicts to the minimum number

+ +

    // of elements imposed by the +superset argument

+ +

 

+ +

B.1.2.7   SubSet

+ +

SubSet is an operation for matching that +can be used only on values of set of types. SubSet is denoted by +the keyword subset. SubSet matches a set of values if, and only if, the set of values +contains only elements defined within the SubSet, and may contain less. The +argument of SubSet shall be of the type replicated by the set of. This argument +may contain templates (including template variables) and matching mechanisms, +with the exception of omit, AnyValueOrNone, superset, subset and the matching +attributes (length restriction and ifpresent). However, the length matching +attribute may be attached to the SubSet itself, in which case the maximum +length allowed by the length attribute shall not exceed the number of the +elements in the SubSet.

+ +

EXAMPLE:

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, 3);

+ +

    // matches any sequence of integers +which contains zero or one occurrences of the numbers

+ +

    // 1, 2 and 3 in any order and +position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, +?);

+ +

    // matches any sequence of integers which contains zero or one +occurrences of the numbers

+ +

    // 1, 2 and a valid integer value (i.e. between 0 and 10, +inclusive) in any order and position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, +(3, 4));

+ +

    // matches any sequence of integers which contains zero or one +occurrences of the numbers

+ +

    // 1, 2 and one of the numbers 3 or 4, in any order and +position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, complement +(3, 4));

+ +

    // matches any sequence of integers which contains zero or one +occurrences of the numbers

+ +

    // 1, 2 and a valid integer number which is not 3 or 4, in any +order and position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, +3) length (2);

+ +

    // matches any sequence of two integers which contains zero or +one occurrences of

+ +

    // the numbers 1, 2 and 3, in any order and position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, +?) length (0 .. 2);

+ +

    // matches any sequence of zero, one or two integers which +contains zero or one occurrences of

+ +

    // the numbers 1, 2 and of a valid integer value, in any order +and position

+ +

 

+ +

    template MySetOfType MyTemplate1:= subset (1, 2, +3) length (0 .. 4);

+ +

    // causes an error, the upper bound of length attribute +contradicts to the maximum number of

+ +

    // elements imposed by the subset argument

+ +

 

+ +

B.1.2.8   Omitting optional fields

+ +

The keyword omit denotes that +an optional field shall be absent. It can be assigned to templates, but shall +only be used in fields of record and set types provided that the fields are +optional.

+ +

EXAMPLE:

+ +

    template MyMessage MyTemplate:=

+ +

    {   :

+ +

       :

+ +

       field3 := omit,       // +omit the optional field field3

+ +

       :

+ +

    }

+ +

 

+ +

B.1.3    Matching mechanisms +inside values

+ +

The following matching mechanisms may be +used inside explicit values of strings, records, records of, sets, sets of and +arrays.

+ +

B.1.3.1   Any element

+ +

The matching symbol "?" (AnyElement) +is used to indicate that it replaces single elements of a string (except +character strings, see table 4 for the lengths +of the units being matched by "?" in a string), a record of, a set +of or an array. It shall be used only within values +of string types, record +of types, set of types and +arrays.

+ +

EXAMPLE:

+ +

    template MyMessage MyTemplate:=

+ +

    {   :

+ +

       field2 := "abcxyz",

+ +

       field3 := '10???'B,   // where +each "?" may either be 0 or 1

+ +

       field4 := {1, ?, 3}       // where +? may be any integer value

+ +

    }

+ +

 

+ +

NOTE:      The "?" +in field4 can be interpreted as AnyValue as an +integer value, or AnyElement inside a record of, set of or array. Since both interpretations lead to +the same match no problem arises.

+ +

B.1.3.1.1        Using single +character wildcards

+ +

If it is required to +express the "?" wildcard in character strings it shall be done using +character patterns (see clause B.1.5). For example: "abcdxyz", "abccxyz", +"abcxxyz" etc. will all match pattern "abc?xyz". +However, "abcxyz", "abcdefxyz", etc. will not.

+ +

B.1.3.2   Any number of elements +or no element

+ +

The matching symbol "*" (AnyElementsOrNone) is used +to indicate that it replaces none or any number of consecutive elements of a +string (except character strings), a record of, a set of +or an array. The "*" symbol matches the longest sequence of elements +possible, according to the pattern as specified by the symbols surrounding the +"*".

+ +

EXAMPLE:

+ +

    template Mymessage MyTemplate:=

+ +

    {   :

+ +

       field2 := "abcxyz", 

+ +

       field3 := '10*11'B,   // where +"*" may be any sequence of bits (possibly empty)

+ +

       field4 := {*, 2, 3}       // where +"*"may be any number of integer values or omitted

+ +

    }

+ +

 

+ +

    var charstring MyStrings[4];

+ +

    MyPCO.receive(MyStrings:{"abyz", +*, "abc" });

+ +

 

+ +

If a "*" appears at the highest level inside a string, +a record +of, set of or array, it shall be interpreted as AnyElementsOrNone.

+ +

NOTE:      This rule prevents +the otherwise possible interpretation of "*" as AnyValueOrNone +that replaces an element inside a string, record of, set of +or array.

+ +

B.1.3.2.1        Using multiple +character wildcards

+ +

If it is required to +expressed the "*" wildcard in character strings it shall be done +using character patterns (see clause B.1.5). For example: "abcxyz", "abcdefxyz" +"abcabcxyz" etc. will all match pattern "abc*xyz".

+ +

B.1.3.3   Permutation

+ +

Permutation is an operation for matching +that shall be used only on values of record of types. +Permutation is denoted by the keyword permutation. +Expressions, templates and AnyElement and AnyElementsOrNone are +allowed as permutation elements. Each element listed in the permutation shall +be of the type replicated by the record of type.

+ +

A permutation without AnyElementsOrNone +in place of a single record of element means that any series of elements is +acceptable provided that there is a one to one mapping between elements in the +record of and in the permutation list such that each element matches its +corresponding element in the permutation list.

+ +

AnyElementsOrNone used inside permutation (directly or via reference) replaces none +or any number of elements within the segment of the record of value matched by +permutation. The permutation matching is successful, if a subset of the +elements in the record of matches the permutation list without the AnyElementsOrNone. +If both permutation and AnyElementsOrNone are used in a record of +template, they shall be evaluated jointly.

+ +

NOTE 1:   AnyElementsOrNone used inside +permutation has a different effect as AnyElementsOrNone used in +conjunction with permutation as in the latter AnyElementsOrNone replaces +consecutive elements only. For example, {permutation(1,2,*)} +is equivalent to ({*,1,*,2,*},{*,2,*,1,*}), while {permutation(1,2),*} +is equivalent to ({1,2},{2,1},*).

+ +

NOTE 2:   When AnyElementsOrNone is inside +a permutation, a length attribute may be applied to AnyElementsOrNone to +restrict the number of elements matched by AnyElementsOrNone (see also +clause B.1.4.1).

+ +

EXAMPLE:

+ +

    type +record of integer MySequenceOfType;

+ +

 

+ +

    template MySequenceOfType MyTemplate1 := { permutation ( 1, +2, 3 ), 5 };

+ +

    // matches any of the following +sequences of 4 integers: 1,2,3,5; 1,3,2,5; 2,1,3,5;

+ +

    // 2,3,1,5; 3,1,2,5; or 3,2,1,5

+ +

 

+ +

    template MySequenceOfType MyTemplate2 := { permutation ( 1, +2, ? ), 5 };

+ +

    // matches any sequence of 4 integers +that ends with 5 and contains 1 and 2 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate3 := { permutation ( 1, +2, 3 ), * };

+ +

    // matches any sequence of integers +starting with 1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1

+ +

 

+ +

    template MySequenceOfType MyTemplate4 := { *, permutation ( +1, 2, 3 )};

+ +

    // matches any sequence of integers +ending with 1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1

+ +

 

+ +

    template MySequenceOfType MyTemplate5 := { *, permutation ( +1, 2, 3 ),* };

+ +

    // matches any sequence of integers +containing any of the following substrings at any position:

+ +

    // 1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1

+ +

 

+ +

    template MySequenceOfType MyTemplate6 := { permutation ( 1, +2, * ), 5 };

+ +

    // matches any sequence of integers +that ends with 5 and containing 1 and 2 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate7 := { permutation ( 1, +2, 3 ), * length (0..5)};

+ +

    // matches any sequence of three to +eight integers starting with 1,2,3; 1,3,2; 2,1,3; 2,3,1;

+ +

    // 3,1,2 or 3,2,1

+ +

 

+ +

    template integer MyInt1 := (1,2,3);

+ +

    template integer MyInt2 := (1,2,?);

+ +

    template integer MyInt3 := ?;

+ +

    template integer MyInt4 := *;

+ +

 

+ +

    template MySequenceOfType MyTemplate10 := { permutation +(MyInt1, 2, 3 ), 5 };

+ +

    // matches any of the sequences of 4 +integers:

+ +

    //     1,3,2,5; 2,1,3,5; +2,3,1,5; 3,1,2,5; or 3,2,1,5;

+ +

    //     2,3,2,5; 2,2,3,5; +2,3,2,5; 3,2,2,5; or 3,2,2,5;

+ +

    //     3,3,2,5; 2,3,3,5; +2,3,3,5; 3,3,2,5; or 3,2,3,5;

+ +

 

+ +

    template MySequenceOfType MyTemplate11 := { permutation +(MyInt2, 2, 3 ), 5 };

+ +

    // matches any sequence of 4 integers +that ends with 5 and contains 2 and 3 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate12 := { permutation +(MyInt3, 2, 3 ), 5 };

+ +

    // matches any sequence of 4 integers +that ends with 5 and contains 2 and 3 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate13 := { permutation +(MyInt4, 2, 3 ), 5 };

+ +

    // matches any sequence of integers +that ends with 5 and containing 2 and 3 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate14 := { permutation +(MyInt3, 2, ? ), 5 };

+ +

    // matches any sequence of 4 integers +that ends with 5 and contains 2 at least once in

+ +

    // other positions

+ +

 

+ +

    template MySequenceOfType MyTemplate15 := { permutation +(MyInt4, 2, * ), 5 };

+ +

    // matches any sequence of integers +that ends with 5 and contains 2 at least once in

+ +

    // other positions

+ +

 

+ +

B.1.4    Matching attributes of +values

+ +

The following attributes may be associated +with matching mechanisms.

+ +

B.1.4.1   Length restrictions

+ +

The length +restriction attribute is used to restrict the length of string values matching +the template or the number of elements in a set of, record +of or array structure. It shall be used only as an attribute of the +following matching mechanisms: ValueOrAttribList, ComplementedList, AnyValue, +AnyValueOrNone, AnyElement, AnyElementsOrNone, superset, +subset, and pattern. It can also be used in conjunction with the ifpresent matching attribute. The syntax for length can be +found in clauses 6.2.3 and 6.3.3.

+ +

NOTE:      When the length attribute +is used with a value list, elements of the list may be disabled by the +attribute.

+ +

When both the complement and the length +restriction matching mechanisms are used for a template or template field, +restrictions implied by them shall apply to the template or template field +independently.

+ +

The units of length are to be interpreted according to +table 4 in the main body of the present document in the case of string values. +For set +of, record of types +and arrays the unit of length is the replicated type. The boundaries shall be +denoted by expressions which resolve to specific non-negative integer values. Alternatively, the keyword infinity can be used as a value for the upper boundary +in order to indicate that there is no upper limit of length.

+ +

The length specifications for the template shall not +conflict with the length for restrictions (if any) of the corresponding type.

+ +

A template field that uses length as an attribute of a +symbol matches the corresponding field if, and only if, the field matches both +the symbol and its associated attribute. The length attribute matches if the +length of the field is greater than or equal to the specified lower bound and +less than or equal to the upper bound. In the case of a single length value the +length attribute matches only if the length of the received field is exactly +the specified value.

+ +

It is allowed to use a length restriction +in conjunction with the special value omit, however in +this case the length attribute has no effect (i.e. with omit +it is redundant). With AnyValueOrNone and ifpresent it +places a restriction on the value, if any.

+ +

EXAMPLE:

+ +

    template Mymessage MyTemplate:=

+ +

    {  

+ +

       field1 := complement ({4,5},{1,4,8,9}) length +(1 .. 6),    // any value containing 1, 2, 3, 4,  // 5 or 6 elements is +accepted provided it is not {4,5} or +{1,4,8,9}

+ +

       field2 := "ab*ab" length(5),   +// matches the character string "ab*ab" only 

+ +

       field3 := "ab*ab" length(13),  +// never matches as the specific value is of length 5

+ +

                                     // +and not of length 13

+ +

       field4 := pattern +"ab*ab" length(13),

+ +

                                      // +max length of the AnyElementsOrNone string is 9 characters

+ +

       :

+ +

    }

+ +

 

+ +

B.1.4.2   The IfPresent indicator

+ +

The ifpresent indicates that a match may be made if an +optional field is present (i.e. not omitted). This attribute may be used with +all the matching mechanisms, provided this field is declared as optional.

+ +

A template field that uses ifpresent matches the corresponding field if, and only if, the field matches +according to the associated matching mechanism, or if the field is absent.

+ +

EXAMPLE:

+ +

    template Mymessage MyTemplate:=

+ +

    {   :

+ +

       field2 := "abcd" ifpresent, +// matches "abcd" if not omitted

+ +

       :

+ +

       :

+ +

    }

+ +

 

+ +

NOTE:      AnyValueOrNone has exactly the +same meaning as ? +ifpresent.

+ +

B.1.5    Matching character pattern

+ +

Character patterns +can be used in templates to define the format of a required character string to +be received. Character patterns can be used to match charstring and universal +charstring values. In addition to literal +characters, character patterns allow the use of meta-characters (e.g. ? and * +within a character pattern means matching any character and any number of any +character respectively).

+ +

EXAMPLE +1:

+ +

    template charstring MyTemplate:= pattern +"ab??xyz*0";

+ +

 

+ +

This template would +match any character string that consists of the characters "ab", followed by any two characters, followed by the +characters "xyz", followed by any number of any characters (including +any number of "0"-s) before the closing character "0".

+ +

If it is required to interpret any +metacharacter literally it shall be preceded with the metacharacter +"\".

+ +

EXAMPLE 2:

+ +

    template charstring +MyTemplate:= pattern "ab?\?xyz*";

+ +

 

+ +

This template would +match any character string which consists of the characters "ab", followed by any character, followed by the characters "?xyz", followed by +any number of any characters.

+ +

The list of meta +characters for TTCN‑3 +patterns is shown in table B.1. Metacharacters shall not contain whitespaces +except a whitespace preceded by a newline character before or inside a set +expression.

+ +

Table B.1: List of +TTCN‑3 pattern metacharacters

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Metacharacter

+
+

Description

+
+

?

+
+

Match any + character (see notes 1 and 2)

+
+

*

+
+

Match any + character zero or more times; shall match the longest possible number of + characters (see example 1 above) (see notes 1 and 2)

+
+

\

+
+

Cause the + following metacharacter to be interpreted as a literal (see note 3). When + preceding a character without defined metacharacter meaning "\" and + the character together match the character following the "\" (see + note 4)

+
+

[ ]

+
+

Match any + character within the specified set, see clause B.1.5.1 for more details

+
+

-

+
+

Has a + metacharacter meaning inside a pair of square brackets ("[" and + "]") only, except the first and last positions within the bracket. + Allows to specify a range of characters; see clause B.1.5.1 for more details

+
+

^

+
+

 Has a + metacharacter meaning as the first character following the opening square + bracket inside a pair of square brackets ("[" and "]") + only and cause to match any character complementing the set of characters + following this metacharacter;
+ see clause B.1.5.1 for more details

+
+

\q{group,plane,row,cell}

+
+

Match the + Universal character specified by the quadruple

+
+

{reference}

+
+

Insert the + referenced user defined string and interpret it as a regular expression.
+ See clause B.1.5.2 for more details

+
+

\N{reference}

+
+

Match any + character within the set of characters, where the set is defined by the + referenced definition; see clause B.1.5.4 for more details

+
+

\d

+
+

Match any + numerical digit (equivalent to [0-9])

+
+

\w

+
+

Match any + alphanumeric character (equivalent to [0-9a-zA-Z])

+
+

\t

+
+

Match the C0 + control character HT(9) (see ITU-T Recommendation T.50 [4])

+
+

\n

+
+

Match any of the + following C0 control characters: LF(10), VT(11), FF(12), CR(13) (see ITU-T Recommendation + T.50 [4]) + (jointly called newline characters, see clause A.1.5.1)

+
+

\r

+
+

Match the C0 + control character CR (see ITU-T Recommendation T.50 [4])

+
+

\s

+
+

Match any one of + the following C0 control characters: HT(9), LF(10), VT(11), FF(12), CR(13), + SP(32) (see ITU-T Recommendation T.50 [4]) (jointly called white-space + characters, see clause A.1.5.1)

+
+

\b

+
+

Match a word + boundary (any graphical character except SP or DEL is preceded or followed by + any of the whitespace or newline characters)

+
+

\"

+
+

Match the double + quote character

+
+

""

+
+

Match the double + quote character

+
+

|

+
+

Used to denote + two alternative expressions

+
+

( )

+
+

Used to group an + expression

+
+

#(n, m)

+
+

Match the + preceding expression at least n times but no more than m times (postfix). See + clause B.1.5.3 for more details

+
+

#n

+
+

Match the + previous expression exactly n times (where n is a single digit) (postfix); + the same as #(n)

+
+

+

+
+

Match the + preceding expression one or several times (postfix); the same as #(1,)

+
+

NOTE 1:    Metacharacters + ? and * are able to match any characters of the character set of the root + type of the template or template field in which they are used (i.e. not + considering type constraints applied). However, it shall not be forgotten, + that receiving operations require type checking of the received message + before attempting to match it. Therefore received values not complying with + the subtype specification of the template or template field are never + provided for matching.

+

NOTE 2:    In + some other languages/notations ? and * has different meaning as + metacharacters. However in TTCN these characters are traditionally used for + matching in the sense as specified in this table.

+

NOTE 3:    Consequently + the backslash character can be matched by a pair of backslash characters + without space between them (\\), e.g. the pattern "\\d" will match + the string "\d"; opening or closing square brackets can be matched + by "\[" and "\]" respectively, etc.

+

NOTE 4:    Such + use of the metacharacter "\" is deprecated as further + metacharacters can be defined later.

+
+ +
+ +

 

+ +

Character patterns may be composed from +several fragments using the concatenation operation. The fragments of the +pattern shall be concatenated before any evaluation of the pattern expression. +See also the shorthand notation for referenced definitions at concatenation in +clause B.1.5.2.

+ +

EXAMPLE 3:

+ +

    template charstring +MyTemplate:= pattern "ab?\?" & "xyz*"; // results +in the same pattern as

+ +

                                                            // +in example2

+ +

 

+ +

B.1.5.1   Set expression

+ +

A list of characters enclosed by a pair of +"[" and "]" matches any single character in that list. The +set expression is delimited by the "[" "]" symbols. In +addition to character literals, it is possible to specify character ranges +using the hyphen "-" as separator. The range consist of the character +immediately before the separator, the character immediately after it and all +characters with a character code between the codes of the two bordering +characters. A hyphen character "-" inside the list but without +preceding or following character loses its special meaning.

+ +

The set expression can also be negated by +placing the caret "^" character as the first character after the opening +square bracket. Negation takes precedence over character ranges. Therefore a +hyphen "-" immediately following a negating caret "^" shall +be processed as a literal character.

+ +

An empty list and an empty negated list are +not allowed. Therefore a closing square bracket "]" immediately +following an opening square bracket "[" or a caret following the +opening square bracket "[" and immediately followed by a closing +square bracket "]" shall be processed as literal characters.

+ +

All +metacharacters, except those listed below, lose their special meaning inside +the list:

+ +

·            +"]" not at the first position and not +immediately following a "^" at the first position;

+ +

·            +"-" not at the first or last positions +in the list;

+ +

·            +"^" at the first position in the list +except when immediately followed by a closing square bracket;

+ +

·            +"\", "\d", "\t", +"\w", "\r", "\n", "\s" and +"\b";

+ +

·            +"\q{group,plane,row,cell}";

+ +

·            +"\N{reference}".

+ +

NOTE 1:   Embedded lists are not allowed (for +example in pattern "[ab[r-z]]" the second "[" denotes a +literal "[", the first "]" closes the list and the second +"]" causes an error as no related opening bracket in the pattern).

+ +

NOTE 2:   To include a literal caret character +"^", place it anywhere except in the first position or precede it +with a backslash. To include a literal hyphen "-", place it first or last in the list, or precede it with a +backslash. To include a literal closing square bracket "]", place it first or precede it with a backslash. If the first +character in the list is the caret "^", then +the characters "-" and "]" also match themselves when they immediately follow that +caret.

+ +

EXAMPLE:

+ +

    template charstring +RegExp1:= pattern "[a-z]";  // this will match any character +from a to z

+ +

 

+ +

    template charstring RegExp2:= pattern +"[^a-z]";  // this will match any character except a to z

+ +

 

+ +

    template charstring RegExp3:= pattern +"[AC-E][0-9][0-9][0-9]YKE"; 

+ +

 

+ +

    // RegExp3 will match a string which starts with the letter A +or a letter between
+    // C and E (but not e.g. B) then has three  digits and the letters YKE

+ +

 

+ +

B.1.5.2   Reference expression

+ +

In addition to direct string values, it is +also possible within the pattern to use references to templates, constants, +variables, formal parameters, module parameters, or to their fields. The +reference shall be enclosed within the
+"{"  "}" characters and reference shall resolve a +compatible character string type. Contents of the referenced templates, +constants or variables shall be handled as a regular expression. Each +expression shall be dereferenced only once, before the insertion (i.e. the expression +dereferenced and inserted into the referencing pattern shall not be +dereferenced again).

+ +

EXAMPLE +1:

+ +

    const charstring MyString:= "ab?";

+ +

 

+ +

    template charstring MyTemplate:= pattern +"{MyString}";

+ +

 

+ +

This template would match any character string that consists +of the characters "ab" followed by any character.

+ +

    template universal charstring +MyTemplate1:= pattern "{MyString}de\q{1, 1, 13, 7}";

+ +

 

+ +

This template would +match any character string which consists of the characters "ab", followed by any character, followed by the characters "de", followed by the +character in ISO10646-1 with group=1, plane=1, row=13 and cell=7.

+ +

If a referenced definition or field of a definition +contains one or more reference expressions, then these references shall +recursively be dereferenced before inserting their contents into the +referencing pattern.

+ +

If a fragment of a pattern contains a +single reference only, it is allowed, as a shorthand notation, to reference the +definition or the field of the definition directly, i.e. leave out double +quotes (" ") and the pair of curly brackets ({ }).

+ +

EXAMPLE 2:

+ +

    const charstring MyConst2 := "ab";

+ +

    template charstring RegExp1 := pattern +"{MyConst2}";

+ +

       // matches the string "ab"

+ +

    template charstring RegExp1a := pattern +MyConst2;

+ +

       // the same as above, matches the string "ab"

+ +

    template charstring RegExp2 := pattern +"{RegExp1}{RegExp1}";

+ +

       // matches the string "abab"

+ +

    template charstring RegExp2a := pattern +"{RegExp1}" & "{RegExp1}";

+ +

       // the same as above, matches the string "abab"

+ +

    template charstring RegExp2b := pattern +RegExp1 & RegExp1;

+ +

       // the same as above, matches the string "abab"

+ +

    template charstring RegExp3 := pattern +"c{RegExp2}d";

+ +

       // matches the string "cababd"

+ +

 

+ +

    template charstring RegExp4 := pattern +"{Reg";

+ +

    template charstring RegExp5 := pattern +"Exp1}";

+ +

    template charstring RegExp6 := pattern +"{RegExp4}{RegExp5}";

+ +

       // matches the string "{RegExp1}" only (i.e. shall +not be handled as a reference expression

+ +

       // after insertion)

+ +

    template charstring RegExp7 := pattern +"{Reg" & "Exp1}";

+ +

       // note the difference to the previous example; in this case +the fragments of the
+       // pattern are joined before any evaluation, i.e. this template will +match the string "ab"

+ +

 

+ +

EXAMPLE 3:

+ +

    template charstring Ref0:= "My String";

+ +

    template charstring Ref1:= "{Re";

+ +

    template charstring Ref2:= "f0}";

+ +

    template charstring Ref3:= +"{Ref1}{Ref2}";

+ +

       //this matches "{Ref0}"

+ +

       //i.e. there is no further dereferencing

+ +

       //as Ref1 and Ref2 do not contain a reference

+ +

 

+ +

    template charstring Ref4:= "{Ref0}";

+ +

    template charstring Ref5:= "";

+ +

    template charstring Ref6:= "{Ref4}{Ref5}";

+ +

       //this matches "My String" – here Ref0 is +dereferenced, because Ref4 contains

+ +

       //the reference expression {Ref0} with the reference Ref0

+ +

 

+ +

EXAMPLE 4:

+ +

    type record MyRecord {

+ +

       integer i,

+ +

       charstring c

+ +

    }

+ +

    const MyRecord referencedRecord:= {1,â€thisâ€}

+ +

    const charstring referencedConstant := +referencedRecord.c;

+ +

    template charstring referencingPattern := pattern +"{referencedConstant}"

+ +

       //this matches "this" as the referencedConstant is +dereferenced

+ +

 

+ +

B.1.5.3   Match expression n times

+ +

To specify that the +preceding expression should be matched a number of times one of the following +syntaxes shall be used: "#(n, +m)", "#(n, )", "#( , m)", "#(n)", "#n" or "+".. The form "#(n, m)" specifies +that the preceding expression must be matched at least n times but not more +than m times. The metacharacter postfix "#(n, +)" specifies that the preceding +expression must be matched at least n times while "#( , m)" indicates +that the preceding expression shall be matched not more than m times. +Metacharacters (postfixes) "#(n)" and "#n" specify that the preceding expression must be matched +exactly n times (they are equivalent to "#(n, n)" ). In the form "#n" n shall be a single digit. The metacharacter postfix "+" denotes that the +preceding expression must be matched at least 1 time (equivalent to "#(1,)").

+ +

EXAMPLE:

+ +

    template charstring RegExp4:= pattern +"[a-z]#(9, 11)"; // match at least 9 but no more than 11

+ +

                                                       // +characters from a to z

+ +

    template charstring RegExp5a:= pattern +"[a-z]#(9)";    // match exactly 9 

+ +

                                                       // +characters from a to z

+ +

    template charstring RegExp5b:= pattern +"[a-z]#9";      // match exactly 9 

+ +

                                                       // +characters from a to z

+ +

    template charstring RegExp6:= pattern +"[a-z]#(9, )";  // match at least 9 

+ +

                                                       // +characters from a to z

+ +

    template charstring RegExp7:= pattern +"[a-z]#(, 11)"; // match no more than 11

+ +

                                                       // +characters from a to z

+ +

    template charstring RegExp8:= pattern +"[a-z]+";    // match at least 1

+ +

                                                       // +characters from a to z,

+ +

 

+ +

B.1.5.4   Match a referenced +character set

+ +

A notation of the form "\N{reference}", where reference +is denoting a one‑character‑length template, constant, variable, +formal parameter or module parameter, matches the character in the referenced +value or template.

+ +

Referencing a template, constant, variable, +formal parameter or module parameter that is not of length 1 shall cause an +error.

+ +

A notation of the form "\N{typereference}", where +"typereference" is a reference to a charstring or universal charstring type, +matches any character of the character set denoted by the referenced type.

+ +

NOTE 1:   Cases when the referenced set of +characters is not a subset of values allowed by the type definition of the +template or template field for which the character pattern is used, are not be +treated as an error (but e.g. matching never can occur if the two sets do not +overlap).

+ +

NOTE 2:   \N{charstring} is +equivalent to ? when the latter is applied to a template or template field of charstring type and \N{universal +charstring} is equivalent to ? when the latter is +applied to a template or template field of universal charstring type (but causes an error if applied to a template or template +field of charstring type).

+ +

EXAMPLE:

+ +

    type charstring +MyCharRange ("a".."z");

+ +

    type charstring +MyCharList ("a", "z");

+ +

    const MyCharRange myCharR +:= "r";

+ +

   

+ +

    template charstring +myTempPatt1 := pattern "\N{myCharR}";

+ +

    // myTempPatt1 shall match the +string "r" only

+ +

   

+ +

    template charstring +myTempPatt2 := pattern "\N{MyCharRange}";

+ +

    // myTempPatt2 shall match any +string containing a single character from a to z

+ +

   

+ +

    template MyCharRange +myTempPatt3 := pattern "\N{MyCharList}";

+ +

    // myTempPatt3 shall match +strings "a" or "z" only

+ +

 

+ +

B.1.5.5   Type compatibility rules +for patterns

+ +

For the purpose of referenced patterns (see +clause B.1.5.2) and references character sets (see clause B.1.5.3) specific +type compatibility rules apply: a referenced type, template, constant, variable +or module parameter of the type charstring always can be used in the +pattern specification of a template or template field of universal charstring type; a referenced type, template or value of the type universal charstring can be used in the pattern specification of a template or template +field of charstring type if all characters used in the referenced template or value and +the character set allowed by the referenced type has their corresponding +characters in the charstring type (see definition of corresponding characters in clause 6.3.1).

+ +
+
+ +
+ +

Annex C +(normative):
+
Pre-defined TTCN‑3 functions

+ +
+ +

This annex defines the TTCN‑3 predefined functions.

+ + + +

When the general restrictions specified in +clause 16.1.2 are not met, this shall cause a compile time or runtime error. +Error situations for which no explicit exception-handling rule is defined in +the relevant clauses of this annex shall cause a TTCN‑3 compile-time or +run-time error. Which error situation causes compile-time and which one +run-time error is a tool implementation option.

+ + + +

    int2char(in integer invalue) return charstring

+ +

 

+ +

This function converts +an integer value in the range of 0 to 127 (8-bit encoding) +into a single-character-length charstring value. The integer value describes the 8-bit encoding of +the character.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue is less than 0 or greater than 127.

+ + + +

    int2unichar(in integer invalue) return universal charstring

+ +

 

+ +

This function converts +an integer value in the range of 0 to 2 147 483 647 (32-bit +encoding) into a single‑character‑length universal charstring value. The integer value describes the 32-bit +encoding of the character.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue is less than 0 or greater than 2147483647.

+ + + +

    int2bit(in integer invalue, in integer length) return +bitstring

+ +

 

+ +

This function converts +a single +integer value to a single bitstring value. The resulting string is length bits long.

+ +

For the purposes of +this conversion, a bitstring shall be +interpreted as a positive base 2 integer value. The rightmost bit is least significant, the leftmost bit is the +most significant. The bits 0 and 1 represent the decimal values 0 and 1 +respectively. If the conversion yields a value with fewer bits than specified +in the length parameter, then the bitstring shall be padded on the left with zeros.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue is less than zero;

+ +

·            +the conversion yields a return value with more +bits than specified by length.

+ + + +

    int2hex(in +integer invalue, in integer length) return hexstring

+ +

 

+ +

This function converts a single integer value to a single hexstring value. The resulting string is length hexadecimal digits long.

+ +

For the purposes of +this conversion, a hexstring shall be +interpreted as a positive base 16 integer value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The hexadecimal digits 0 to +F represent the decimal values 0 to 15 respectively. If the conversion yields a +value with fewer hexadecimal digits than specified in the length parameter, then the hexstring shall be padded on the left with zeros.

+ +

In addition to the general +error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue is less than zero;

+ +

·            +the conversion yields a return value with more +hexadecimal characters than specified by length.

+ + + +

    int2oct(in integer +invalue, in integer length) return octetstring

+ +

 

+ +

This function converts +a single integer value to a +single octetstring value. The resulting string is length octets long.

+ +

For the purposes of +this conversion, an octetstring shall +be interpreted as a positive base 16 integer value. The rightmost hexadecimal digit is least +significant, the leftmost hexadecimal digit is the most significant. The number +of hexadecimal digits provided shall be multiples of 2 since one octet is +composed of two hexadecimal digits. The hexadecimal digits 0 to F represent the +decimal values 0 to 15 respectively. If the conversion yields a value with +fewer hexadecimal digits than specified in the length parameter, then the hexstring shall be padded on the left with zeros.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue is less than zero;

+ +

·            +the conversion yields a return value with more +octets than specified by length.

+ + + +

    int2str(in integer +invalue) return charstring

+ +

 

+ +

This function converts +the integer value into its string equivalent (the base of the return string is +always decimal).

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    int2str(66)    // will return the charstring +value "66"

+ +

 

+ +

    int2str(-66)   // will return the charstring +value "-66"

+ +

 

+ +

    int2str(0)        // will return the charstring +value "0"

+ +

 

+ + + +

    int2float(in integer invalue) return float

+ +

 

+ +

This function +converts an integer value into a float value.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    int2float(4) = 4.0

+ +

 

+ + + +

    float2int(in float invalue) +return integer

+ +

 

+ +

This function +converts a float value into an integer value by removing the fractional part of the argument and returning the +resulting integer.

+ +

In addition to the general error causes in clause 16.1.2, error causes are:

+ +

·            +invalue is infinity, -infinity or not_a_number.

+ +

EXAMPLE:

+ +

    float2int(3.12345E2) = float2int(312.345) = 312

+ +

 

+ + + +

    char2int(in charstring invalue) return integer

+ +

 

+ +

This function converts a +single-character-length charstring value into an integer value in the range of 0 to 127. The integer +value describes the 8-bit encoding of the character.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +length of invalue does not +equal 1.

+ + + +

    char2oct(in charstring invalue) +return octetstring

+ +

 

+ +

This function converts a charstring invalue to an octetstring. Each octet of the octetstring will contain the ITU‑T Recommendation T.50 +[4] +codes (according to the IRV) of the appropriate characters of invalue.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    char2oct ("Tinky-Winky") = +'54696E6B792D57696E6B79'O

+ +

 

+ + + +

    unichar2int(in universal charstring invalue) return +integer

+ +

 

+ +

This function converts +a single-character-length universal charstring value into an integer value in the range of +0 to 2 147 483 647. The integer value describes the 32-bit encoding of the +character.

+ +

In addition to the general error causes in clause 16.1.2, error causes are:

+ +

·            +length of invalue does not +equal 1.

+ + + +

    bit2int(in bitstring invalue) return integer

+ +

 

+ +

This function converts a single bitstring value to a single integer value.

+ +

For the purposes of this conversion, a bitstring shall be interpreted as a positive base 2 integer value. The rightmost bit is least significant, +the leftmost bit is the most significant. The bits 0 and 1 represent the +decimal values 0 and 1 respectively.

+ +

NOTE:      On real test systems the integer +interpretation of invalue may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

The general error +causes in clause 16.1.2 apply.

+ + + +

    bit2hex(in bitstring invalue) +return hexstring

+ +

 

+ +

This function +converts a single bitstring value to a single hexstring. The resulting hexstring represents the same value as the bitstring.

+ +

For the +purpose of this conversion, a bitstring shall be converted into a hexstring, +where the bitstring is divided into groups of four bits beginning with the +rightmost bit. Each group of four bits is converted into a hex digit as +follows:

+ +

'0000'B ® '0'H,    '0001'B ® '1'H,    '0010'B ® '2'H,    '0011'B ® '3'H,    '0100'B ® '4'H,    '0101'B ® '5'H,
+'0110'B
® '6'H,    '0111'B ® '7'H,    '1000'B ® '8'H,    '1001'B ® '9'H,    '1010'B ® 'A'H,   '1011'B ® 'B'H,
+'1100'B
® 'C'H,   '1101'B ® 'D'H,   '1110'B ® 'E'H, and '1111'B ® 'F'H.

+ +

When the +leftmost group of bits does contain less than 4 bits, this group is filled with +'0'B from the left until it contains exactly 4 bits and is converted +afterwards. The consecutive order of hex digits in the resulting hexstring is +the same as the order of groups of 4 bits in the bitstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    bit2hex ('111010111'B)= '1D7'H

+ +

 

+ + + +

    bit2oct(in bitstring invalue) +return octetstring

+ +

 

+ +

This function +converts a single bitstring value to a single octetstring. The resulting octetstring represents the same value as the bitstring.

+ +

For the +conversion the following holds: bit2oct(value)=hex2oct(bit2hex(value)).

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    bit2oct('111010111'B)= '01D7'O

+ +

 

+ + + +

    bit2str(in bitstring invalue) +return charstring

+ +

 

+ +

This function +converts a single bitstring value to a single charstring. The resulting charstring has the same length as the bitstring and contains only the characters '0' and '1'.

+ +

For the +purpose of this conversion, a bitstring shall be converted into a charstring. Each bit of the bitstring is converted into a character '0' or +'1' depending on the value 0 or 1 of the bit. The consecutive order of +characters in the resulting charstring is the same as the order of bits in the bitstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    bit2str('1110101'B) will return "1110101"

+ +

 

+ + + +

    hex2int(in hexstring invalue) +return integer

+ +

 

+ +

This function converts +a single hexstring value to +a single integer value.

+ +

For the purposes of +this conversion, a hexstring shall be +interpreted as a positive base 16 integer value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The hexadecimal digits 0 to +F represent the decimal values 0 to 15 respectively.

+ +

NOTE:      On real test systems the integer +interpretation of invalue may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

The general error +causes in clause 16.1.2 apply.

+ + + +

    hex2bit(in hexstring invalue) +return bitstring

+ +

 

+ +

This function +converts a single hexstring value to a single bitstring. The resulting bitstring represents the same value as the hexstring.

+ +

For the purpose +of this conversion, a hexstring shall be converted into a bitstring, where the hex digits of the hexstring are converted in groups of bits as +follows:

+ +

'0'H ® '0000'B,    '1'H ® '0001'B,    '2'H ® '0010'B,    '3'H ® '0011'B,    '4'H ® '0100'B,    '5'H ® '0101'B,
+'6'H
® '0110'B,    '7'H ® '0111'B,    '8'H ® '1000'B,    '9'H ® '1001'B,    'A'H ® '1010'B,   'B'H ® '1011'B,
+'C'H
® '1100'B,   'D'H ® '1101'B,   'E'H ® '1110'B, and 'F'H ® '1111'B.

+ +

The +consecutive order of the groups of 4 bits in the resulting bitstring is the same as the order of hex +digits in the hexstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    hex2bit('1D7'H)= '000111010111'B

+ +

 

+ + + +

    hex2oct(in hexstring invalue) +return octetstring

+ +

 

+ +

This function +converts a single hexstring value to a single octetstring. The resulting octetstring represents the same value as the hexstring.

+ +

For the purpose of this conversion, a hexstring shall be converted into a octetstring, where the octetstring contains the same sequence of hex +digits as the hexstring when the length of the hexstring modulo 2 is 0. Otherwise, the resulting octetstring contains 0 as leftmost hex digit +followed by the same sequence of hex digits as in the hexstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    hex2oct('1D7'H)= '01D7'O

+ +

 

+ + + +

    hex2str(in hexstring invalue) +return charstring

+ +

 

+ +

This function converts a single hexstring value +to a single charstring. The resulting charstring has the same length as the +hexstring and contains only the characters '0' to '9'and 'A' to 'F'.

+ +

For the +purpose of this conversion, a hexstring shall be converted into a charstring. Each hex digit of the hexstring is converted into a character '0' to +'9' and 'A' to 'F' depending on the value 0 to 9 or A to F of the hex digit. +The consecutive order of characters in the resulting charstring is the same as the order of digits in +the hexstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    hex2str('AB801'H) will return "AB801"

+ +

 

+ + + +

    oct2int(in octetstring +invalue) return integer

+ +

 

+ +

This function converts +a single octetstring value +to a single integer value.

+ +

For the purposes of +this conversion, an octetstring shall +be interpreted as a positive base 16 integer value. The rightmost hexadecimal digit is least +significant, the leftmost hexadecimal digit is the most significant. The number +of hexadecimal digits provided shall be multiples of 2 since one octet is +composed of two hexadecimal digits. The hexadecimal digits 0 to F represent the +decimal values 0 to 15 respectively.

+ +

NOTE:      On real test systems the integer +interpretation of invalue may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

The general error +causes in clause 16.1.2 apply.

+ + + +

    oct2bit(in octetstring invalue) +return bitstring

+ +

 

+ +

This function +converts a single octetstring value to a single bitstring. The resulting bitstring represents the same value as the octetstring.

+ +

For the +conversion the following holds: oct2bit(value)=hex2bit(oct2hex(value)).

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    oct2bit ('01D7'O)='0000000111010111'B

+ +

 

+ + + +

    oct2hex(in octetstring invalue) +return hexstring

+ +

 

+ +

This function +converts a single octetstring value to a single hexstring. The resulting hexstring represents the same value as the octetstring.

+ +

For the +purpose of this conversion, a octetstring shall be converted into a hexstring containing the same sequence of hex +digits as the octetstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    oct2hex('1D74'O)= '1D74'H

+ +

 

+ + + +

    oct2str(in octetstring +invalue) return charstring

+ +

 

+ +

This function converts an octetstring invalue to an charstring representing the string equivalent of the input value. The resulting charstring +shall have the same length as the incoming octetstring.

+ +

For the +purpose of this conversion each hex digit of invalue is converted into a character +'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E' or +'F' echoing the value of the hex digit. The consecutive order of characters in +the resulting charstring is the same as the order of hex digits in the octetstring.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    oct2str('4469707379'O) = "4469707379"

+ +

 

+ + + +

    oct2char(in octetstring +invalue) +return charstring

+ +

 

+ +

This +function converts an octetstring invalue to a charstring. The input parameter invalue shall not contain octet values higher than 7F. The resulting charstring shall have the same length as the input octetstring. The +octets are interpreted as ITU‑T Recommendation T.50 [4] codes +(according to the IRV) and the resulting characters are appended to the +returned value.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    oct2char('4469707379'O) = "Dipsy"

+ +

 

+ +

NOTE:      The +character string returned may contain non-graphical characters, which cannot be +presented between the double quotes.

+ + + +

    str2int(in +charstring invalue) return integer

+ +

 

+ +

This function converts a charstring representing an integer value to the equivalent integer.

+ +

In addition to the general error causes in clause 16.1.2, error +causes are:

+ +

·            +invalue contains characters other than "0", "1", +"2", "3", "4", "5", "6", +"7", "8", "9" and "-".

+ +

·            +invalue contains the character "-" at another position than the +leftmost one.

+ +

NOTE:      On real test systems the integer +interpretation of invalue may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

EXAMPLE:

+ +

    str2int("66") // will return the integer +value 66

+ +

 

+ +

    str2int("-66")    // will return the integer +value -66

+ +

 

+ +

    str2int("6-6")    // will cause an error

+ +

 

+ +

    str2int("abc")    // +will cause an error

+ +

 

+ +

    str2int("0")   // +will return the integer value 0

+ +

 

+ + + +

    str2hex(in charstring invalue) return hexstring

+ +

 

+ +

This function converts a string of the type charstring to a hexstring. The string invalue shall contain the "0", "1", "2", +"3", "4", "5", "6", "7", +"8", "9", "a", "b", "c", +"d", "e" "f", "A", "B", +"C", "D", "E" or "F" graphical +characters only. Each character of invalue shall be converted to the +corresponding hexadecimal digit. The resulting hexstring will have the same length as the incoming charstring.

+ +

In addition to the +general error causes in clause 16.1.2, error +cause is:

+ +

·            +invalue contains characters other than specified above.

+ +

EXAMPLE:

+ +

    str2hex("54696E6B792D57696E6B7") = +'54696E6B792D57696E6B7'H

+ +

 

+ + + +

    str2oct(in charstring invalue) return octetstring

+ +

 

+ +

This function converts a string of the type charstring to an octetstring. The string invalue shall contain the "0", "1", "2", +"3", "4", "5", "6", "7", +"8", "9", "a", "b", "c", +"d", "e" "f", "A", "B", +"C", "D", "E" or "F" graphical characters +only. When the string invalue contains even number +characters the resulting octetstring contains 0 as leftmost character +followed by the same sequence of characters as in the charstring.

+ +

lengthof (see clause C.) for the resulting octetstring will return half of lengthof of +the incoming charstring. In addition to the general error causes in clause 16.1.2, error +causes is:

+ +

·            +invalue contains characters other than specified above.

+ +

EXAMPLE:

+ +

    str2oct("54696E6B792D57696E6B79") = +'54696E6B792D57696E6B79'O

+ +

    str2oct("1D7")= '01D7'O

+ +

 

+ +

NOTE:      The semantic of the str2oct function +cause asymmetric behaviour:

+ +

    oct2str(str2oct("1D7"))// results the +charstring value "01D7"

+ +

 

+ + + +

    str2float(in charstring invalue) return float

+ +

 

+ +

This +function converts a charstring comprising a number into a float +value. The format of the number in the charstring shall follow rules in +clause 6.1.0, items a) or b) with the following exceptions:

+ +

·            +leading zeros are allowed;

+ +

·            +leading "+" sign before positive values is +allowed;

+ +

·            +"-0.0" is allowed;

+ +

·            + no numbers after the dot in the decimal +notation are allowed.

+ +

In addition to the general error causes in clause 16.1.2, error causes are:

+ +

·            +the format of invalue is different than defined +above.

+ +

NOTE:      On real test systems the float +interpretation of invalue may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

EXAMPLE:

+ +

    str2float("12345.6") // is the same as +str2float("123.456E+02")

+ +

    str2float("1.6")      // returns a float value equal +to 1.6

+ +

    str2float("+001.")        // returns a float value +equal to 1.0

+ +

    str2float("+001")     // returns a float value equal +to 1.0

+ +

    str2float("-0.0")     // returns a float value equal +to -0.0

+ +

 

+ +
+ +

C.29    Length +of strings and lists

+ +
+ +

    lengthof(in +template (present) any_string_or_list_type inpar) return integer

+ +

 

+ +

This function returns the length of a value or template +that is of type bitstring, hexstring, octetstring, charstring, universal charstring, record of, set of, or array (see the note below). The units of +length for each string type are defined in table 4 in the main body of the +present document. For record of, set of, and array, the value to be returned is the sequential number of +the last initialized element: in case of record of and set of the index of that element plus 1. In case of arrays, lengthof should return the index of that last element minus the index of the +first element plus 1.

+ +

The length of a fixed +length record +of, set of, or array value will always be the fixed length +according to the type definition.

+ +

The length of an universal charstring +shall be calculated by counting each combining character and hangul syllable +character (including fillers) on its own (see ISO/IEC 10646 [2], clauses 23 and 24).

+ +

When the function lengthof is applied to string-type templates, inpar shall only contain +the following matching mechanisms: specific value, value list, complemented +value list, pattern, "?" (AnyValue instead of value), +"*" (AnyValueOrNone instead of value), "?" (AnyElement +inside value) and "*" (AnyElementsOrNone inside value) and the +length restriction matching attribute. In case of string-type templates inpar +shall match values of the same length only.

+ +

When the function lengthof is applied to templates of record of or set of types, inpar +shall only contain the following matching mechanisms: specific value, value +list, complemented value list, "?" (AnyValue instead of +value), "*" (AnyValueOrNone instead of value), SuperSet, +SubSet, "?" (AnyElement inside value) and "*" (AnyElementsOrNone +inside value), permutation and the length restriction matching attribute. The +parameter inpar shall only match values, for which the lengthof function +would give the same result.

+ +

NOTE 1:   In case of record ofs and set ofs and +arrays only elements of the TTCN‑3 object, which is the parameter of the +function are calculated; i.e. no elements of nested types are taken into +account at determining the return value.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +inpar is a string-type template and it can match +string values with different length or the length +restriction matching attribute contradicts the number of string elements in the +template body;

+ +

·            +inpar is a record of or set of type template and it can match values of different lengths or the length +restriction matching attribute contradicts the number of elements in the +template body.

+ +

NOTE 2:   On real test systems the length +calculation of inpar may lead to an overflow problem that causes compile time or +run-time error. However, this is out of the scope of the present document.

+ +

The general error +causes in clause 16.1.2 +apply.

+ +

EXAMPLE 1:      Using lengthof +for values

+ +

    lengthof('010'B) // returns 3

+ +

 

+ +

    lengthof('F3'H)   // returns 2

+ +

 

+ +

    lengthof('F2'O)   // returns 1

+ +

 

+ +

    lengthof (universal charstring : "Length_of_Example") +// returns 17

+ +

 

+ +

    // +Given

+ +

    type record length(0..10) +of integer MyList;

+ +

    var MyList MyListVar := { +0, 1, -, 2, - };

+ +

 

+ +

    lengthof(MyListVar);

+ +

// returns 4 +without respect to the fact, that the element MyListVar[2] is not +initialized

+ +

 

+ +

EXAMPLE 2:      Using lengthof +for string-type templates

+ +

    lengthof(charstring : "HELLO")          // +returns 5

+ +

 

+ +

    lengthof(octetstring : (’12’O, ’34’O)) // +returns 1

+ +

 

+ +

    lengthof(’1??1’B)                    // returns 4

+ +

 

+ +

    lengthof(universal charstring : ? +length(8)) // returns 8

+ +

 

+ +

    lengthof(’1*F’H)                     // shall cause an +error

+ +

 

+ +

    lengthof(’1*F’H length (8))             // +returns 8

+ +

 

+ +

    lengthof(bitstring : ? length(2..infinity)) // +shall cause an error

+ +

 

+ +

    lengthof(’00*FF’O length(1..2))      // returns 2 +

+ +

 

+ +

    lengthof(’1*49’H length(1..2))       // shall +cause an error

+ +

 

+ +

    lengthof(’1’B length(3))             // shall +cause an error

+ +

 

+ +

    lengthof(’1*1’B length(10..20))      // shall +cause an error

+ +

 

+ +

EXAMPLE 3:

+ +

    type record of integer RoI;

+ +

    template RoI tr_roI1 := { 1, permutation(2, 3), ? }

+ +

    template RoI tr_roI2 := {1, *, (2, 3) }

+ +

    template RoI tr_roI3 := { 1, *, 10 } length(5)

+ +

    template RoI tr_roI4 := { 1, 2, 3, * } length(1..2)

+ +

    template RoI tr_roI5 := { 1, 2, 3, * } length(1..3)

+ +

 

+ +

    lengthof (tr_roI1) // returns 4

+ +

 

+ +

    lengthof (tr_roI2) // shall cause an error

+ +

 

+ +

    lengthof (tr_roI3) // returns 5

+ +

 

+ +

    lengthof (tr_roI4) // +shall cause an error

+ +

 

+ +

    lengthof (tr_roI5) // returns 3

+ +

 

+ + + +

    sizeof(in +template (present) any_record_set_type inpar) return integer

+ +

 

+ +

This function returns the actual number of elements of a +value or template of a record or set type (see note).

+ +

The function sizeof is +applicable to templates of record and set types. The function is applicable +only if the sizeof function gives the same result on all values that match the +template.

+ +

NOTE:      Only elements of the TTCN‑3 +object, which is the parameter of the function are calculated; i.e. no elements +of nested types/values are taken into account at determining the return value.

+ +

In addition to the +general error causes in clause 16.1.2, error causes are:

+ +

·         +when inpar is a template and it can match +values of different sizes.

+ +

EXAMPLE:

+ +

    // +Given

+ +

    type +record MyPDU

+ +

       {   boolean +field1  optional,

+ +

           integer +field2

+ +

       };

+ +

 

+ +

    template MyPDU MyTemplate

+ +

       { field1 := omit,

+ +

         field2 :=    5

+ +

       };

+ +

 

+ +

    sizeof(MyTemplate);   // +returns 1

+ +

 

+ +

    type set S {

+ +

      integer f1,

+ +

      bitstring f2 optional,

+ +

      charstring f3 optional

+ +

    }

+ +

 

+ +

    template S tr_S1 := { f1 := (0..99), f2 := omit, +f3 := ? }

+ +

    template S tr_S2 := { f3 := *, f1 := 1, f2 := ’00’B ifpresent +}

+ +

    template S tr_S3 := ({ f1 := 1, f2 := omit, f3 := +"ABC" }, { f1 := 2, f3 := omit, f2 := ’1’B })

+ +

    template S tr_S4 := ?

+ +

 

+ +

    sizeof(tr_S1) // returns 2

+ +

    sizeof(tr_S2) // shall cause an error

+ +

    sizeof(tr_S3) // returns 2

+ +

    sizeof(tr_S4) // shall cause an error

+ +

 

+ + + +

    ispresent(in +template any_ type inpar) return boolean

+ +

 

+ +

This function is allowed for templates of all data types +and returns:

+ +

·            +the value true if the given +template fulfils the (present) template restriction as described in clause 15.8,

+ +

·            +the value false otherwise +if no error is caused (see below).

+ +

NOTE 1:   When the argument of ispresent is a subfield of a template field to which the "?" (AnyValue) +matching is assigned, the extension mechanism specified in clause 15.6.2 applies.

+ +

NOTE 2:   This +means that whenever ispresent(MyTemplate) returns true,
+-
MyTemplate can safely be assigned to a non-optional field of the type of the +template in a template
+  variable
+-
MyTemplate can safely be used as an actual template(present) parameter or +assigned to a variable of kind
+  template(present).

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +inpar is referring to a field that is not accessible, e.g. embedded in a +template or in a field using omit or "*" (AnyValueOrNone). +Note, that this rule applies for any levels of embedding.

+ +

EXAMPLE:

+ +

    // Given 

+ +

    type record MyRecord

+ +

      {

+ +

        record {

+ +

          boolean innerField1 optional,

+ +

          integer innerField2 optional

+ +

        } field1 optional,

+ +

           integer field2

+ +

       }

+ +

 

+ +

    var MyRecord vl_MyRecord := { +field1 := {}, field2 := 5 }

+ +

 

+ +

    ispresent(vl_MyRecord.field1) +// returns true

+ +

 

+ +

    vl_MyRecord.field1 := omit

+ +

 

+ +

    ispresent(vl_MyRecord.field1) +// returns false

+ +

 

+ +

    ispresent(vl_MyRecord.field1.innerField1) +// shall return false because field1 is omitted

+ +

 

+ +

    var template MyRecord +vlt_MyRecord := { field1 := ?, field2 := 5 }

+ +

 

+ +

    ispresent(vlt_MyRecord.field1) +// returns true

+ +

 

+ +

    ispresent(vlt_MyRecord.field1.innerField1) +// shall cause an error because field1 is AnyValue

+ +

    // (pls. note, that at expansion of +field1 the optional field innerField1 obtains "*"

+ +

    // that can match both a present and +an omitted field

+ +

 

+ +

    type record R { integer f1 optional, +integer f2 optional }

+ +

    template R t1 := {f1 := 1, f2 :=(2 .. 4) }

+ +

    template R t2 := { f1 := omit, f2 := (5, 7) ifpresent +}

+ +

    template R t3 := {f1 := *, f2 :=? }

+ +

 

+ +

    ispresent(t1.f1) // returns true +

+ +

 

+ +

    ispresent(t1.f2) // returns true +

+ +

 

+ +

    ispresent(t2.f1) // returns false +

+ +

 

+ +

    ispresent(t2.f2) // returns +false

+ +

 

+ +

    ispresent(t3.f1) // returns +false

+ +

 

+ +

    ispresent(t3.f2) // returns true +

+ +

   

+ + + +

    ischosen(in +template any_union_type inpar) return boolean

+ +

 

+ +

This function returns the value true +if and only if the data object reference specifies the variant of the union type that is actually selected for a given data +object.

+ +

The function ischosen is +applicable to templates of union types containing a specific value or a value +list. It returns true if all the values matched by inpar have the given +field selected. The result is false if there is another field of +the union type on which ischosen would return true.

+ +

In addition to the general error causes in clause 16.1.2, error causes are:

+ +

·            +inpar is referring to a field that is not accessible, e.g. embedded in a +template or in a field using omit, "?" (AnyValue) +or "*" (AnyValueOrNone). Note, that this rule apply for any +levels of embedding;

+ +

·            +when inpar is a template and it can match values +containing different selected fields.

+ +

EXAMPLE 1:

+ +

    type union U { integer f1, octetstring +f2 }

+ +

    template U t_U1 := {f1 := 1}

+ +

    template U t_U2 := {f2 := ?}

+ +

    template U t_U3 := ?

+ +

    template U t_U4 := ({ f1 := 2 }, {f2 := ’AB’O })

+ +

    template U t_U5 := ({ f2 := ’12?’O }, { f2 := ’*34’O length(2) +})

+ +

 

+ +

    ischosen(t_U1.f1) // returns true

+ +

 

+ +

    ischosen(t_U1.f2) // returns false

+ +

 

+ +

    ischosen(t_U2.f1) // returns false

+ +

 

+ +

    ischosen(t_U2.f2) // returns true

+ +

 

+ +

    ischosen(t_U3.f1) // shall cause an error

+ +

 

+ +

    ischosen(t_U3.f2) // shall cause an error

+ +

 

+ +

    ischosen(t_U4.f1) // shall cause an error

+ +

 

+ +

    ischosen(t_U4.f2) // shall cause an error

+ +

 

+ +

    ischosen(t_U5.f1) // returns false

+ +

 

+ +

    ischosen(t_U5.f2) // returns true

+ +

 

+ +

EXAMPLE 2:

+ +

    // Given

+ +

    type union MyUnion

+ +

       {   PDU_type1  p1,

+ +

           PDU_type2  p2,

+ +

           PDU_type   p3

+ +

       }

+ +

 

+ +

    // and given that MyPDU is a template +of MyUnion type

+ +

    // and received_PDU is also of MyUnion type

+ +

    // then

+ +

    MyPort.receive(MyPDU) -> value +received_PDU

+ +

    ischosen(received_PDU.p2)

+ +

    // returns true if the actual +instance of MyPDU carries a PDU of the type PDU_type2

+ +

 

+ + + +

    regexp(

+ +

      in template (value) any_character_string_type +inpar,

+ +

      in template (present) any_character_string_type +expression,

+ +

      in integer +groupno

+ +

    ) return +any_character_string_type

+ +

 

+ +

This function returns the substring of the +input character string inpar, which is the content of n-th group matching to the expression. +The parameters inpar and expression shall be a value or a template of charstring or universal charstring types. In case inpar is a template, it shall contain the specific value matching +mechanism only. The type of expression shall be universal charstring only when the type of inpar is universal charstring. When expression is a template it shall contain the specific value or pattern +matching mechanisms only. The parameter groupno shall be a +non-negative integer. The type of the character string returned is the root +type of inpar.

+ +

First inpar (or +in case inpar is a template, its value equivalent) shall be matched against +expression. If  expression is not a template containing a pattern matching mechanism, it shall +be processed by this predefined function as if it was a character pattern as +described in clause B.1.5. If this matching is unsuccessful, an empty string +shall be returned. If this matching is successful, the substring of inpar +shall be returned, which matched the groupno-s group of expression +during the matching. Group numbers are assigned by the order of occurrences of +the opening bracket of a group and counted starting from 0 by step 1.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +
    +
  • when + inpar is a template, it contains other + matching mechanism than specific value or character pattern;
  • +
  • when + expression is a template, it contains other + matching mechanism than specific value or character pattern;
  • +
  • inpar is of charstring type and expression is of universal charstring + type;
  • +
  • groupno is a negative integer;
  • +
  • there is no groupno -s group in expression.
  • +
+ +

EXAMPLE:

+ +

    // Given

+ +

    var charstring myInput := "   simple text for a +regexp example   ";

+ +

    var charstring myString;

+ +

   

+ +

    myString := regexp(myInput,charstring:"?+(text)?+",0) +//will return "text"

+ +

 

+ +

    myString := regexp(myInput,charstring:"?+(text)?+",1) +//causes an error as there is

+ +

                                                           //no +group with index 1

+ +

    myString := regexp(myInput,charstring:"(?+)(text)(?+)",0) +//will return "   simple "

+ +

 

+ +

    myString := regexp(myInput,charstring:"(?+)(text)(?+)",2) +//will return

+ +

                                                              //" +for a regexp example   "

+ +

    myString := regexp(myInput,charstring:"((?+)(text)(?+))",0) +//will return the whole inpar,
+                                                     //i.e. "   simple +text for a regexp example   "

+ +

    myString := regexp(myInput,charstring:"(([ +]+)(text)(?+))",0) //will return an empty string
+                                                       //as expression does not +matches inpar

+ +

    myString := regexp(myInput,universal charstring:"?+(text)?+",0) +//will cause an error as

+ +

                                                       // inpar is +of type charstring, while

+ +

                                                       // +expression is of type universal charstring

+ +

 

+ +

    myInput := "      date: +2001-10-20 ;  msgno: 17; exp  "

+ +

    var template charstring myPattern := pattern"([ /t]#(,)date:[ \d\-]#(,);[ +/t]#(,)msgno: (\d#(1,3)); (exp)#(0,1))"
+    //please note, that only the very first opening bracket and the bracket +before "\d" denotes

+ +

    // groups; "#(,)", "#(1,3)" and +"#(0,1)" denotes matching the preceding expression several time

+ +

 

+ +

   

+ +

    myString := regexp(myInput, +myPattern,1) //will return the value "17".

+ +

 

+ +

    //An example of a wrapper function to count groups from 1 and +return the complete p_inpar

+ +

    //if p_groupno equals 0

+ +

    function regexp0(

+ +

      in template charstring p_inpar,

+ +

      in template charstring p_expression,

+ +

      in integer p_groupno)

+ +

    return charstring {

+ +

       var template charstring extended_expr +:= pattern "({p expression})";

+ +

       return regexp(p inpar, extended_expr, +p_groupno )

+ +

    }

+ +

 

+ +
+ +

C.34    The +Substring function

+ +
+ +

    substr(
+     
in template (present) any_string_or_sequence_type inpar,
+      in integer index,
+      in integer count
+    ) return input_string_or_sequence_type

+ +

 

+ +

This function +returns a substring or subsequence from a value that is of a binary string type +(bitstring, hexstring, octetstring), a character string type (charstring, universal charstring), or a sequence type (record of, set of or array). The type of the substring +or subsequence returned is the root type of the input parameter. The starting +point of substring or subsequence to return is defined by the second parameter +(index). Indexing +starts from zero. The third input parameter (count) defines the length of the substring +or subsequence to be returned. The units of length for string types are as +defined in table 4 of the present document. For sequence types, the unit of +length is element.

+ +

NOTE:      Please note that the root types of +arrays is record +of, therefore if inpar is an array the +returned type is record +of. This, in same cases, may lead to different +indexing in inpar and in the returned value.

+ +

When used on +templates of character string types, only the inside matching mechanisms AnyElement +and AnyElementsOrNone are allowed in inpar and the +function shall return the character representation of the matching mechanisms, +i.e. "?" for AnyElement and "*" for AnyElementsOrNone. When inpar is a template of binary +string or sequence type or is an array, only the specificvalue and AnyElement +matching mechanisms are allowed and the substring or subsequence to be returned +shall not contain AnyElement.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +index is less than zero;

+ +

·            +count is less than zero;

+ +

·            +index+count is greater than lengthof(inpar);

+ +

·            +inpar is a template of a character +string type and contains a matching mechanism other than AnyElement +or AnyElementsOrNone;

+ +

·            +inpar is a template of a binary +string or sequence type or array and it contains other matching mechanism as +specific value and AnyElement;

+ +

·            +inpar is a template of a binary +string or sequence type or array and the substring or subsequence to be +returned contains the AnyElement matching mechanism.

+ +

EXAMPLE:

+ +

    substr('00100110'B, 3, 4)    // returns '0011'B

+ +

 

+ +

    substr('ABCDEF'H, 2, 3)      // returns 'CDE'H

+ +

 

+ +

    substr('01AB23CD'O, 1, 2)    // returns 'AB23'O

+ +

 

+ +

    substr("My name is JJ", 11, 2)   // returns +"JJ"

+ +

 

+ +

    substr({ 4, 5, 6 }, 1, 2)    // returns {5, 6}

+ +

 

+ + + +

    replace(
+      in any_string_or_sequence_type inpar,
+      in integer index,
+      in integer len,

+ +

      in any_string_or_sequence_type +repl
+    ) return any_string_or_sequence type

+ +

 

+ +

This function +replaces the substring or subsequence of value inpar at index index of length len with the string or sequence value repl and returns the resulting string or +sequence. inparshall not be +modified. If len +is 0 the string or +sequence repl is inserted. +If index is 0, repl is inserted at the beginning of inpar. If index is lengthof(inpar), repl is inserted at the end of inpar. inparand repl, and the returned string or sequence +shall be of the same root type. The function replace can be applied to bitstring, hexstring, octetstring, or any character string, record of, set of, or arrays. Note that indexing in +strings starts from zero.

+ +

NOTE:      Please note that the root types of +arrays is record +of, therefore if inpar or repl or +both are an array, the returned type is record of. This, +in same cases, may lead to different indexing in inpar and/or repl and +in the returned value.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +inpar or repl are not of string, record of, set of, or array type;

+ +

·            +inpar and repl are of different root type;

+ +

·            +index is less than 0 or greater than lengthof(inpar);

+ +

·            +len is less than 0 or greater than lengthof(inpar);

+ +

·            +index+len is +greater than lengthof(inpar).

+ +

EXAMPLE:

+ +

    replace ('00000110'B, 1, 3, '111'B)  // returns +'01110110'B

+ +

 

+ +

    replace ('ABCDEF'H, 0, 2, '123'H)       // returns +'123CDEF'H

+ +

 

+ +

    replace ('01AB23CD'O, 2, 1, 'FF96'O) // returns +'01ABFF96CD'O

+ +

 

+ +

    replace ("My name is JJ", 11, 1, +"xx")  // returns "My name is xxJ"

+ +

 

+ +

    replace ("My name is JJ", 11, 0, +"xx")  // returns "My name is xxJJ"

+ +

 

+ +

    replace ("My name is JJ", 2, 2, "x") // +returns "Myxame is JJ",

+ +

 

+ +

    replace ("My name is JJ", 12, 2, +"xx")  // produces test case error

+ +

 

+ +

    replace ("My name is JJ", 13, 2, +"xx")  // produces test case error

+ +

 

+ +

    replace ("My name is JJ", 13, 0, +"xx")  // returns "My name is JJxx"

+ +

 

+ + + +

    rnd([in float seed]) return float

+ +

 

+ +

The rnd function returns a (pseudo) random number less +than 1 but greater or equal to 0. The random number generator is initialized by +means of an optional seed value (a numerical float value). If no new seed is +provided, the last generated number will be used as seed for the next random +number. Without a previous initialization a value calculated from the system +time will be used as seed value when rnd is used the first time.

+ +

Each time the +rnd function is +initialized with the same seed value, it shall repeat the same sequence of +random numbers.

+ +

To produce a random integers in a given range, +the following formula can be used:

+ +

    float2int(int2float(upperbound - lowerbound ++1)*rnd()) + lowerbound

+ +

    // Here, upperbound and +lowerbound denote highest and lowest number in range.

+ +

 

+ +

In addition to the general error causes in clause 16.1.2, error causes are:

+ +

·            +seed is infinity, -infinity or not_a_number.

+ +
+ +

C.37    Enumerated to integer

+ +
+ +

    enum2int(in Enumerated_type inpar) return integer

+ +

 

+ +

This function +accepts an enumeration value and returns the integer value associated to the enumeration +(see also clause 6.2.4).

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    type enumerated +MyFirstEnumType {

+ +

       Monday, Tuesday, Wednesday, +Thursday, Friday

+ +

    };

+ +

 

+ +

    type enumerated MySecondEnumType {

+ +

       Saturday(-3), Sunday (0), Monday

+ +

    };

+ +

   

+ +

    //within a dynamic language +element:

+ +

    var MyFirstEnumType +vl_FirstEnum := Monday;

+ +

    var MySecondEnumType vl_SecondEnum := Monday;

+ +

 

+ +

    enum2int(vl_FirstEnum) // returns 0

+ +

    enum2int(vl_SecondEnum) // returns 1

+ +

   

+ +

    vl_FirstEnum := +Wednesday;

+ +

    vl_SecondEnum := Saturday;

+ +

    enum2int(vl_FirstEnum) // returns 2

+ +

    enum2int(vl_SecondEnum) // returns -3

+ +

 

+ +

    vl_FirstEnum := +Friday;

+ +

    vl_SecondEnum := Sunday;

+ +

    enum2int(vl_FirstEnum) // returns 4

+ +

    enum2int(vl_SecondEnum) // returns 0

+ +

 

+ + + +

    isvalue(in template any_type inpar) +return boolean;

+ +

 

+ +

The function shall accept templates of any +known type. The function shall return true, if inpar is +completely initialized and resolves to a specific value. If inpar is +of a structured type or array, omit is considered to be a concrete +value for optional fields, i.e. the function shall also return true if optional +fields of inpar are set to omit. The function shall return false +otherwise.

+ +

If the isvalue function is used with a +non-selected choice of a union type value or template, this shall cause an +error.

+ +

The null value assigned to default +and component references shall be considered as concrete values.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +inpar is referring to a field that is not accessible, e.g. embedded in a +template or in a template field using omit or +"*" (AnyValueOrNone). Note that this rule applies for any +levels of embedding.

+ +

EXAMPLE 1:      Simple types

+ +

    template charstring +ts_char0 := "ABCD"; //template containing a specific value matching

+ +

    template charstring +tr_char1 := "AB?D"; //template containing a specific value matching
+                                        //note, that "?" is not a +matching symbol in this case

+ +

    template charstring +tr_char2 := pattern "ABCD"; //a pattern matching a single +value only

+ +

    template charstring +tr_char3 := pattern "AB?D"; //pattern matching

+ +

    template charstring +tr_char4 := ("ABCD"); // template containing a specific value +(expression)

+ +

    template charstring +tr_char5 := ("ABCD","EFGH"); //a value list matching a +single value only

+ +

 

+ +

    isvalue(ts_char0); // shall return true

+ +

    isvalue(tr_char1); // shall return true

+ +

    isvalue(tr_char2); // shall return false

+ +

    isvalue(tr_char3); // shall return false

+ +

    isvalue(tr_char4); // shall return true similarly to +e.g. isvalue((2)) shall return true

+ +

    isvalue(tr_char5); // shall return false

+ +

 

+ +

      EXAMPLE 2:       Special types

+ +

    var default vl_default := null;

+ +

    isvalue(vl_default); // shall return true

+ +

 

+ +

EXAMPLE 3:      Record/set types

+ +

    type +record MyRec {

+ +

       integer f1 optional,

+ +

       integer f2 optional

+ +

    }

+ +

 

+ +

    var MyRec vl_MyRec;

+ +

    var template MyRec vlt_MyRec;

+ +

   

+ +

    isvalue(vl_MyRec); // shall return false

+ +

    isvalue(vlt_MyRec); // shall return false

+ +

   

+ +

    vl_MyRec  := { f1 := 5, f2 := omit }

+ +

    vlt_MyRec := { f1 := ?, f2 := 5 }

+ +

   

+ +

    isvalue(vl_MyRec); // shall return true

+ +

    isvalue(vl_MyRec.f2); // shall return false;

+ +

    isvalue(vlt_MyRec); // shall return false

+ +

    isvalue(vlt_MyRec.f1); // shall return false

+ +

    isvalue(vlt_MyRec.f2); // shall return true

+ +

 

+ +

    vlt_MyRec.f2 := omit;

+ +

 

+ +

    isvalue(vlt_MyRec.f2); // shall return false

+ +

 

+ +

EXAMPLE +4:      Union types

+ +

    type union +MyUnion {

+ +

       integer ch1,

+ +

       integer ch2

+ +

    }

+ +

   

+ +

    template MyUnion ts_MyUnion := { ch1 := 5 }

+ +

    template MyUnion tr_MyUnion := { ch1 := ? }

+ +

 

+ +

    var MyUnion vl_ MyUnion;

+ +

   

+ +

    isvalue(ts_MyUnion); // shall return true

+ +

    isvalue(tr_MyUnion); // shall return false

+ +

    isvalue(tr_MyUnion.ch1); // shall return false;

+ +

    // note, this is different from ischosen(tr_MyUnion.ch1) as +isvalue checks the content of the

+ +

    // choice ch1, while ischosen is checking if ch1 has been +selected or not

+ +

    isvalue(tr_MyUnion.ch2); // shall cause an error;

+ +

 

+ + + +

    encvalue(in +template (value) any_type inpar) return bitstring

+ +

 

+ +

The encvalue function encodes a value or template into a +bitstring. When the actual parameter that is passed to inpar is a template, it shall resolve to a +specific value (the same restrictions apply as for the argument of the send statement). The returned bitstring +represents the encoded value of inpar, however, the TTCN-3 test system need not to +make any check on its correctness.

+ +

In addition to the +general error causes in clause 16.1.2, error +causes are:

+ +

·            +Encoding fails due to a runtime system problem (i.e. +no encoding function exists for the actual type of inpar).

+ + + +

    decvalue(inout bitstring encoded_value, out any_type +decoded_value) return integer

+ +

 

+ +

The decvalue function decodes a bitstring into a +value. The test system shall suppose that the bitstring encoded_value represents an encoded instance of the +actual type of decoded_value.

+ +

If the decoding was successful, then the used +bits are removed from the parameter encoded_value, the rest is returned (in the parameter encoded_value), and the decoded value is returned +in the parameter decoded_value. If the decoding was unsuccessful, the actual parameters for encoded_value and decoded_value are not changed. The function shall +return an integer value to indicate success or failure of the decoding below:

+ +

·            +The return value 0 +indicates that decoding was successful.

+ +

·            +The return value 1 +indicates an unspecified cause of decoding failure.

+ +

·            +The return value 2 +indicates that decoding could not be completed as encoded_value did not contain enough bits.

+ +

The restrictions in +clause 16.1.2 apply. If +any of these restrictions is applicable, the return value shall be 1.

+ + + +

    testcasename () return charstring

+ +

 

+ +

The testcasename function shall return the unqualified +name of the actually executing test case.

+ +

EXAMPLE 1:

+ +

    module MyTCModule {

+ +

       :

+ +

       testcase +MyTestCase1 () runs on MTC system TSI

+ +

       {

+ +

           var charstring +v_TCname := testcasename ();

+ +

             // will return the charstring "MyTestCase1"

+ +

           :

+ +

       }

+ +

       :

+ +

       testcase +MyTestCase2 () runs on MTC system TSI

+ +

       {

+ +

           :

+ +

       }

+ +

       :

+ +

    }

+ +

    module MyTSModule {

+ +

       :

+ +

       function MyStartAPTC() runs on PTC {

+ +

           var charstring v_TCname := testcasename ();

+ +

             // will return charstring "MyTestCase1", if +the function is
+             // called by a test component during the execution of MyTestCase1

+ +

             // will return charstring "MyTestCase2", if +the function is
+             // called by a test component when MyTestCase2 is being executed

+ +

       }

+ +

       :

+ +

    }

+ +

 

+ +

When the function testcasename is called if the control part is being executed but no testcase, it +shall return the empty string.

+ +

EXAMPLE 2:

+ +

    module MyModule {

+ +

       :

+ +

       control

+ +

       {

+ +

           var charstring +v_TCname := testcasename () // will return charstring +""

+ +

           :

+ +

       }

+ +

       :

+ +

    }

+ +

 

+ +

The general error causes in clause 16.1.2 apply.

+ + + +

    int2enum ( in +integer inpar, out Enumerated_type outpar)

+ +

 

+ +

This function +converts an integer value into a value of a given enumerated type. The integer +value shall be provided as in parameter and the result of the conversion shall +be stored in an out parameter. The type of the out parameter determines the +type into which the in parameter is converted.

+ +

The general error +causes in clause 16.1.2 apply.

+ +

EXAMPLE:

+ +

    type enumerated +MyFirstEnumType {

+ +

       Monday, Tuesday, Wednesday, +Thursday, Friday

+ +

    };

+ +

 

+ +

    type enumerated MySecondEnumType {

+ +

       Saturday(-3), Sunday (0), Monday

+ +

    };

+ +

   

+ +

    //within a dynamic language element:

+ +

    var MyFirstEnumType firstEnum +:= Tuesday;

+ +

    var MySecondEnumType secondEnum := Sunday;

+ +

 

+ +

    int2enum(0, firstEnum)    // firstEnum == Monday

+ +

    int2enum(1, secondEnum) // secondEnum == Monday

+ +

 

+ +

 

+ +

 

+ +
+
+ +
+ +

Annex D +(normative):
+
Preprocessing macros

+ +
+ +

This annex +defines a set of preprocessing macros. A preprocessing macro is a macro that is +replaced by a preprocessor or a compiler with a charstring or integer value respectively before +compilation. Preprocessing macros shall not be replaced +inside literal charstring values and +templates and not in TTCN-3 comments. In +the TTCN-3 code, it can be used like a charstring or an integer value respectively.

+ + + +

The __MODULE__ +preprocessing macro denotes the module name in which the macro is used. A +preprocessor or compiler shall replace all occurrences of __MODULE__ with the actual module name in form of a charstring value.

+ + + +

The __FILE__ +preprocessing macro denotes the canonical (absolute) file name, i.e. the full +path and the basic file name, in which the macro is used. A preprocessor or +compiler shall replace all occurrences of __FILE__ with the +actual canonical (absolute) file name in form of a charstring value.

+ +

NOTE:      The format of the canonical file name +depends on the operating system and is not specified by the present document.

+ +

EXAMPLE:

+ +

    const charstring MyConst:= __FILE__;

+ +

    //MyConst is for example "/home/myhome/MyTest.ttcn"

+ + + +

The __BFILE__ +preprocessing macro denotes the basic (relative) file name, i.e. without path, +in which the macro is used. A preprocessor or compiler shall replace all +occurrences of __BFILE__ with the actual basic (relative) file name in form of a charstring value.

+ +

NOTE:      The format of the basic file name +depends on the operating system and is not specified by the present document.

+ +

EXAMPLE:

+ +

    const charstring MyConst:= __BFILE__;

+ +

    // MyConst is for example "MyTest.ttcn"

+ + + +

The __LINE__ +preprocessing macro denotes the line number of the file in which the macro is +used. A preprocessor or compiler shall replace each occurrence of __LINE__ with the actual line number in form of an integer value.

+ +

A file starts with line number 1. +Each newline shall increase the line number by 1 (see clause A.1.5.1). Also newlines of commented lines +shall increase the line number by 1.

+ + + +

The __SCOPE__ preprocessing macro denotes the unqualified name of the lowest +named basic scope unit in which the macro is used. According to clause 5.2, +basic scope units of TTCN-3 are module definitions part, module control part, +component types, functions, altsteps, test cases, statement blocks, templates +and user defined named types. Statement blocks have no name and therefore, a __SCOPE__ preprocessing macro used in a statement block refers to the next +higher named basic scope unit.

+ +

A preprocessor or compiler shall replace +all occurrences of __SCOPE__ with a charstring value which includes:

+ +

a)         +the module name, if the lowest named scope unit +is the module definitions part;

+ +

b)         +"control", if the +lowest named scope unit is the module control part;

+ +

c)         +a component type name, if the lowest named scope +unit is a component type definition;

+ +

d)         +a test case name, if the lowest named scope unit +is a test case definition;

+ +

e)         +an altstep name, if the lowest named scope is an +altstep definition;

+ +

f)          +a function name, if the lowest named scope is a +function definition;

+ +

g)         +a template name, if the lowest named scope is a +template definition (local or global); or

+ +

h)         +the type name, if the lowest named scope is a +user defined named type definition.

+ +

NOTE:      The __SCOPE__ +preprocessing macro cannot be used to retrieve the names of other kinds of +definitions, like for example names of groups of definitions or names of global +constants.

+ +

EXAMPLE 1:      Using __SCOPE__ in constant and +template definitions

+ +

    module MyModule

+ +

    {

+ +

       const charstring MyConst := __SCOPE__;      // +MyConst contains "MyModule"

+ +

       template charstring MyTemplate := __SCOPE__;    // +MyTemplate contains "MyTemplate"

+ +

 

+ +

    type record MyRecord1

+ +

    {

+ +

       charstring field11,

+ +

       charstring field12

+ +

    }

+ +

 

+ +

    template MyRecord1 MyTemplate1 (charstring p := +__SCOPE__) :=

+ +

    {

+ +

       field11 := p,

+ +

       field12 := __SCOPE__                        // field12 +contains "MyTemplate1"

+ +

    }

+ +

   

+ +

    function MyFunction() {

+ +

      var template MyRecord1 v_Myvar1 := MyTemplate1;

+ +

        // field11 of MyTemplate1 will contain the default value of +parameter p,

+ +

        // i.e. "MyTemplate1"

+ +

    };

+ +

    }

+ +

 

+ +

EXAMPLE 2:      Using __SCOPE__ in a structured +type scope

+ +

    type record MyRecord2 {

+ +

       charstring field21,

+ +

       charstring field22 ("a", "b", +__SCOPE__)

+ +

        // list constrained field: a legal values are +"a", "b" or "MyRecord2"

+ +

    }

+ +

 

+ +

    template MyRecord2 +MyTemplate2 := {

+ +

       field21 := "a",

+ +

       field22 := "MyRecord2"                          // +a valid specific value matching

+ +

    }

+ +

 

+ +

    template MyRecord2 +MyTemplate3 := {

+ +

       field21 := "a",

+ +

       field22 := __SCOPE__

+ +

        // Causes an error as __SCOPE__ is replaced with +"MyTemplate3",

+ +

        // which is violating the list constraint of field22

+ +

    }

+ +

EXAMPLE 3:      Using +__SCOPE__ in an embedded structured type scope

+ +

    type record +MyRecord3 {

+ +

       charstring field31,

+ +

       record {

+ +

           charstring field321 ("a", +"b", __SCOPE__)

+ +

           // list constrained field: a legal value shall be +"a", "b" or "MyRecord3"

+ +

       } field32

+ +

    }

+ +

 

+ +

    template MyRecord3 MyTemplate4 :=

+ +

    {

+ +

       field31 := "a",

+ +

       field32 :=

+ +

       {

+ +

           field321 := "MyRecord3"                     // +a valid specific value matching

+ +

        }

+ +

    }

+ +

 

+ +

    template MyRecord3 MyTemplate5 :=

+ +

    {

+ +

       field31 := "a",

+ +

       field32 :=

+ +

       {

+ +

           field321 := __SCOPE__

+ +

           // Causes and error as __SCOPE__ is replaced with +"MyTemplate5",

+ +

           // which is violating the list constraint of field321

+ +

       }

+ +

    }

+ +

 

+ +
+
+ +
+ +

Annex E +(informative):
+
Library of Useful Types

+ +

E.1      Limitations

+ +
+ +

Names of types added to this library are to +be unique within the whole language and within the library (i.e. are not to be +one of the names defined in annex C). Names defined in this library are not to be +used by TTCN‑3 users as identifiers of other definitions than given in +this annex.

+ +

NOTE:      Therefore +type definitions given in this annex may be repeated in TTCN‑3 modules +but no type distinct from the one specified in this annex can be defined with +one of the identifiers used in this annex.

+ + + +

E.2.1    Useful +simple basic types

+ +

E.2.1.0   Signed +and unsigned single byte integers

+ +

These types support integer values of the +range from -128 to 127 for the signed and from 0 to 255 for the unsigned type. +The value notation for these types is the same as the value notation for the +integer type. Values of these types are to be encoded and decoded as they were +represented on a single byte within the system independently from the actual +representation form used.

+ +

NOTE:      Encoding of values of these types may +be the same or may differ from each other and from the encoding of the integer +type (the root type of these useful types) depending on the actual encoding +rules used. Details of encoding rules are out of the scope of the present +document.

+ +

Type definitions for +these types are:

+ +

    type integer   byte           (-128 .. 127)  with +{ variant "8 bit" };

+ +

 

+ +

    type integer   unsignedbyte   (0 .. 255)     with +{ variant "unsigned 8 bit" };

+ +

 

+ +

E.2.1.1   Signed +and unsigned short integers

+ +

These types support integer values of the +range from -32 768 to 32 767 for the signed and from 0 to 65 535 for the +unsigned type. The value notation for these types is the same as the value +notation for the integer type. Values of these types are to be encoded and +decoded as they were represented on two bytes within the system independently +from the actual representation form used.

+ +

NOTE:      Encoding of values of these types may +be the same or may differ from each other and from the encoding of the integer +type (the root type of these useful types) depending on the actual encoding +rules used. Details of encoding rules are out of the scope of the present +document.

+ +

Type definitions for +these types are:

+ +

    type integer   short          (-32768 .. 32767) with +{ variant "16 bit" };

+ +

 

+ +

    type integer   unsignedshort  (0 .. 65535)      with +{ variant "unsigned 16 bit" };

+ +

 

+ +

E.2.1.2   Signed +and unsigned long integers

+ +

These types +support integer values of the range from -2 147 483 648 to 2 147 483 647 for +the signed and from 0 to 4 294 967 295 for the unsigned type. +The value notation for these types is the same as the value notation for the +integer type. Values of these types are to be encoded and decoded as they were +represented on four bytes within the system independently from the actual +representation form used.

+ +

NOTE:      Encoding of values of these types may +be the same or may differ from each other and from the encoding of the integer +type (the root type of these useful types) depending on the actual encoding +rules used. Details of encoding rules are out of the scope of the present +document.

+ +

Type definitions for +these types are:

+ +

    type integer   long   (-2147483648 .. 2147483647)
+                  with { variant "32 bit" };

+ +

 

+ +

    type integer   unsignedlong   (0 .. 4294967295)
+                  with { variant "unsigned 32 bit" };

+ +

 

+ +

E.2.1.3   Signed +and unsigned longlong integers

+ +

These types support integer values of the +range from -9 223 372 036 854 775 808 to +9 223 372 036 854 775 807 for the signed and from +0 to 18 446 744 073 709 551 615 for the unsigned type. The value notation for +these types is the same as the value notation for the integer type. Values of +these types are to be encoded and decoded as they were represented on eight +bytes within the system independently from the actual representation form used.

+ +

NOTE:      Encoding of values of these types may +be the same or may differ from each other and from the encoding of the integer +type (the root type of these useful types) depending on the actual encoding +rules used. Details of encoding rules are out of the scope of the present +document.

+ +

Type definitions for +these types are:

+ +

    type integer   longlong   (-9223372036854775808 .. +9223372036854775807)
+                  with { variant "64 bit" };

+ +

 

+ +

    type integer   unsignedlonglong  (0 .. 18446744073709551615)
+                  with { variant "unsigned 64 bit" };

+ +

 

+ +

E.2.1.4   IEEE +754 floats

+ +

These types support the ANSI/IEEE 754 [6] for binary floating-point arithmetic. The +type IEEE 754 [6] float supports floating-point numbers +with base 10, exponent of size 8, mantissa of size 23 and a sign bit. The type +IEEE 754 [6] double supports floating-point numbers +with base 10, exponent of size 11, mantissa of size 52 and a sign bit. The type +IEEE 754 [6] extfloat +supports floating-point numbers with base 10, minimal exponent of size 11, +minimal mantissa of size 32 and a sign bit. The type IEEE 754 [6] extdouble supports floating-point +numbers with base 10, minimal exponent of size 15, minimal mantissa of +size 64 and a sign bit.

+ +

Values of these types are to be encoded and +decoded according to the IEEE 754 [6] definitions. The value notation for these +types is the same as the value notation for the float type (base 10).

+ +

NOTE:      Precise encoding of values of this type +depends on the actual encoding rules used. Details of encoding rules are out of +the scope of the present document.

+ +

Type definitions for +these types are:

+ +

    type   float  IEEE754float      with { variant +"IEEE754 float" };

+ +

 

+ +

    type   float  IEEE754double     with { variant +"IEEE754 double" };

+ +

 

+ +

    type   float  IEEE754extfloat       with { +variant "IEEE754 extended float" };

+ +

 

+ +

    type   float  IEEE754extdouble  with { variant +"IEEE754 extended double" };

+ +

 

+ +

E.2.2    Useful +character string types

+ +

E.2.2.0   UTF-8 +character string "utf8string"

+ +

This type supports the whole character set +of the TTCN‑3 type universal +charstring (see paragraph d) of clause 6.1.1). Its distinguished values are zero, one, or more characters +from this set. Values of this type are entirely (e.g. each character of the +value individually) to be encoded and decoded according to the UCS +Transformation Format 8 (UTF-8) as defined in annex R of ISO/IEC 10646 [2]. The value +notation for this type is the same as the value notation for the universal charstring type.

+ +

The type definition for +this type is:

+ +

    type universal charstring utf8string with +{ variant "UTF-8" };

+ +

 

+ +

E.2.2.1   BMP +character string "bmpstring"

+ +

This type supports the Basic Multilingual +Plane (BMP) character set of ISO/IEC 10646 [2]. The BMP represents all characters of +plane 00 of group 00 of the Universal Multiple-octet coded Character Set. Its distinguished values are zero, one, or more characters +from the BMP. Values of this type are entirely +(e.g. each character of the value individually) to be encoded and decoded +according to the UCS-2 coded representation form (see clause 14.1 of ISO/IEC 10646 +[2]). +The value notation for this type is the same as the value notation for the universal charstring type.

+ +

NOTE:      The type "bmpstring" supports +a subset of the TTCN‑3 type universal charstring.

+ +

The type definition for +this type is:

+ +

    type universal charstring bmpstring  ( +char ( 0,0,0,0 ) .. char ( 0,0,255,255) )

+ +

    with { variant "UCS-2" };

+ +

 

+ +

E.2.2.2   UTF-16 +character string "utf16string"

+ +

This type supports all characters of planes +00 to 16 of group 00 of the Universal Multiple-octet coded Character Set (see ISO/IEC 10646 [2]). Its +distinguished values are zero, one, or more characters from this set. Values of +this type are entirely (e.g. each character of the value individually) to be +encoded and decoded according to the UCS Transformation Format 16 (UTF-16) as +defined in annex Q of ISO/IEC 10646 [2]. The value +notation for this type is the same as the value notation for the universal charstring type.

+ +

NOTE:      The type "utf16string" +supports a subset of the TTCN‑3 type universal charstring.

+ +

The type definition for +this type is:

+ +

    type universal charstring utf16string   ( +char ( 0,0,0,0 ) .. char ( 0,16,255,255) )
+    with { variant "UTF-16" };

+ +

 

+ +

E.2.2.3   ISO/IEC 10646 character string +"iso8859string"

+ +

This type supports all characters in all +alphabets defined in the multiparty standard ISO/IEC 10646 [2]. Its +distinguished values are zero, one, or more characters from the ISO/IEC +10646 [2] character set. Values of this type are entirely
+(e.g. each character of the value individually) to be encoded and decoded +according to the coded representation as specified in
ISO/IEC 10646 [
2] (an 8-bit coding). The value notation for this type is the same as the value +notation for the universal +charstring type.

+ +

NOTE 1:   The type "iso8859string" supports a subset of the TTCN‑3 type universal charstring.

+ +

NOTE 2:   In each ISO/IEC 10646 [2] alphabet the lower part of the character +set table (positions 02/00 to 07/14) is compatible with the ITU‑T Recommendation T.50 +[4] +character set. Hence all extra language specific characters are defined for the +upper part of the character table only (positions 10/00 to 15/15).

+ +

The type definition for +this type is:

+ +

    type universal charstring iso8859string ( char ( 0,0,0,0 ) .. +char ( 0,0,0,255) )
+    with { variant "8 bit" };

+ +

 

+ +

E.2.3    Useful +structured types

+ +

E.2.3.0   Fixed-point +decimal literal

+ +

This type supports the use of fixed-point +decimal literal as defined in the IDL Syntax and Semantics version 2.6 [i.10]. It is specified by an integer part, a +decimal point and a fraction part. The integer and fraction parts both consist +of a sequence of decimal (base 10) digits. The number of digits is stored in +"digits" and the size of the fraction part is given in +"scale". The digits itself are stored in "value_". Value +notation for this type is the same as the value notation for the record type. +Values of this type are to be encoded and decoded as IDL fixed point decimal +values.

+ +

NOTE:      Precise encoding of values of this type +depends on the actual encoding rules used. Details of encoding rules are out of +the scope of the present document.

+ +

The type definition for +this type is:

+ +

    type record    IDLfixed {
+                          unsignedshort  digits,
+                          short  scale,
+                          charstring value_
+                      }
+                      with { variant "IDL:fixed +FORMAL/01-12-01 v.2.6" };

+ +

 

+ +

E.2.4    Useful +atomic string types

+ +

E.2.4.1   Single +ITU‑T Recommendation T.50 character type

+ +

A type whose +distinguished values are single characters of the version of ITU‑T Recommendation T.50 [4] complying to the International +Reference Version (IRV) as specified in clause 8.2 of ITU‑T Recommendation T.50 +[4] +(see also note 1 to clause 6.1.1).

+ +

The type definition for +this type is:

+ +

    type charstring char646 length (1);

+ +

 

+ +

NOTE:      The special string "8 bit" +defined in clause 27.5 may be used with this type to specify a given encoding +for its values. Also, other properties of the base type can be changed by using +attribute mechanisms.

+ +

E.2.4.2   Single +universal character type

+ +

A type whose +distinguished values are single characters from ISO/IEC +10646 [2].

+ +

The type definition for +this type is:

+ +

    type universal charstring uchar length (1);

+ +

 

+ +

NOTE:      Special strings defined in clause 27.5 +except "8 bit" may be used with this type to specify a given encoding +for its values. Also, other properties of the base type can be changed by using +attribute mechanisms.

+ +

E.2.4.3   Single +bit type

+ +

A type whose distinguished values are single binary digits.

+ +

The type definition for this type is:

+ +

    type bitstring bit length +(1);

+ +

 

+ +

E.2.4.4   Single +hex type

+ +

A type whose distinguished values are single hexadecimal digits.

+ +

The type definition for +this type is:

+ +

    type hexstring hex length (1);

+ +

 

+ +

E.2.4.5   Single +octet type

+ +

A type whose +distinguished values are pairs of hexadecimal digits.

+ +

The type definition for +this type is:

+ +

    type octetstring octet length (1);

+ +

 

+ +
+
+ +
+ +

Annex F +(informative):
+
Operations on TTCN‑3 active objects

+ +
+ +

This annex describes in a short form the +semantics of operations on active objects in TTCN‑3 being test +components, timers and ports. This dynamic behaviour is written in the form of +state machines with:

+ +

·            +the states being named and identified as nodes;

+ +

·            +the initial state being identified by an +incoming arrow;

+ +

·            +transitions between states connecting two states +(not necessarily different states) and identified as arrows;

+ +

·            +transitions being marked with the enabling +condition for that transition (i.e. operation or statement calls) and the +resulting condition (for example a test case error), both are separated by '/':

+ +

-             +operation and statement calls are the TTCN‑3 +operations and statements applicable to the object (written in bold);

+ +

-             +error as a resulting condition means testcase +error (written in bold);

+ +

-             +null as a resulting condition means that except +of a possible state change no other results apply (written in bold);

+ +

-             +match/no match refers to the matching result of +a transition (written in bold);

+ +

-             +concrete values are boolean or float results +(written in bold italics);

+ +

-             +all other resulting conditions are textually +described (written in standard font);

+ +

·            +notes are used to explain further details of the +state machine.

+ +

For further details, please refer to the +operational semantics of TTCN‑3 [1]. In case of any contradiction between +this annex and the operational semantics of TTCN‑3 [1] the latter takes precedence.

+ + + +

F.1.1     Test component +references

+ +

Variables of test component types, the self +and mtc operations are used to reference test components. The start, +stop, done and running operations are not directly applied on test components but on +component references. The test system has to decide if the operation requested +should affect the component object itself or other action is appropriate (e.g. +an error occurs when the reference of a stopped PTC is used in a component +start operation). The create operation used to create PTCs returns a unique reference to the +created PTC, which is typically bound to a test component variable. The +behaviour related to test component variables themselves is shown in figure F.1.

+ +

+ +

NOTE:       Whenever a test component enters its +error state, the error verdict is assigned to its local verdict, the test case +terminates and the overall test case result will be error.

+ +

 

+ +

Figure F.1: Handling of test component +references

+ +

F.1.2     Dynamic behaviour of +PTCs

+ +

PTCs can be of non-alive type or +alive-type. Non-alive type PTCs can be in Inactive, Running and Killed states. +Their dynamic behaviour is shown in figure F.2.

+ +

+ +

NOTE 1:    (a)   Stop can be either a stop, +self.stop or a stop from another test component.
+(b)   Kill can be either a kill, self.kill, a kill from another test component +or a kill from the test system
+        (in error cases).

+ +

NOTE +2:   (a)    Stop can be from another test component only.
+(b)    Kill can be from another test component or from the test system (in +error cases) only.

+ +

NOTE 3:    Whenever a test component enters its +error state, the error verdict is assigned to its local verdict,
+the test case terminates and the overall test case result will be error.

+ +

 

+ +

Figure F.2: Dynamic behaviour of +non-alive type PTCs

+ +

Alive-type PTCs can be in Inactive, +Running, Stopped and Killed states. Their dynamic behaviour is shown in +figure F.3.

+ +

+ +

NOTE 1:    (a)   Stop can be either a stop, +self.stop or a stop from another test component.
+(b)   Kill can be either a kill, self.kill, a kill from another test component +or a kill from the test system
+        (in error cases).

+ +

NOTE 2:    (a)   Stop can be from another test +component only.
+(b)   Kill can be from another test component or from the test system (in error +cases) only.

+ +

NOTE 3:    Whenever a test component enters its +error state, the error verdict is assigned to its local verdict,
+the test case terminates and the overall test case result will be error.

+ +

 

+ +

Figure F.3: Dynamic behaviour of +alive-type PTCs

+ +

F.1.3     Dynamic behaviour of the +MTC

+ +

The MTC can +be in Running or Killed state. The dynamic behaviour of the MTC is shown in +figure F.4.

+ +

+ +

NOTE 1:    (a)   Stop can be either a stop, +self.stop, a stop from another test component.
+(b)   Kill can be either a kill, self.kill, a kill from another test component +or a kill from the test system
+        (in error cases).

+ +

NOTE 2:    All remaining PTCs are to be killed as +well and the testcase terminates.

+ +

NOTE 3:    Whenever the MTC enters its error +state, the error verdict is assigned to its local verdict,
+the test case terminates and the overall test case result will be error.

+ +

 

+ +

Figure F.4: Dynamic behaviour of the +MTC

+ + + +

Timers can +be in Inactive, Running or Expired state. The dynamic behaviour of a timer is +shown in figure F.5.

+ +

+ +

NOTE 1:    For any scope unit, all timers in that +scope being in Running state constitute the running-timer list.

+ +

NOTE 2:    For any scope unit, all timers in that +scope being in Expired state constitute the timeout-list.

+ +

NOTE 3:    Whenever a timer enters its error +state, the test component it belongs to enters also its error state,
+assigns a local error verdict, the test case terminates and the overall test +case result will be error.

+ +

 

+ +

Figure F.5: Dynamic behaviour of +timers

+ + + +

Ports can be +in Started or Stopped state. As their behaviour is rather complex, the state +machine has been split into a state machine giving the dynamic behaviour of +configuration operations (i.e. connect, disconnect, map and unmap), of port +controlling operations (i.e. start, stop and clear) and of communication +operations (i.e. send, receive, call, getcall, raise, catch, reply, getreply +and check). As trigger is a shorthand for an alt together with receive it is +not considered here.

+ +

F.3.1     Configuration Operations

+ +

The port configuration operations (i.e. +connect, disconnect, map and unmap) are indifferent to the state of the port. +They show the behaviour shown in figure F.6.

+ +

+ +

NOTE 1:    When creating a PTC the ports of that +PTC are created and started; when creating the MTC the ports of the MTC and the +ports of the TSI are created and started.

+ +

NOTE 2:    Whenever a port enters its error state, +the test component it belongs to enters also its error state, assigns a local +error verdict, the test case terminates and the overall test case result will +be error.

+ +

 

+ +

Figure F.6: Dynamic behaviour of +ports: port configuration operations

+ +

The transitions do not change the main +state of the port, i.e. the port remains in the Started or Stopped state.

+ +

F.3.2     Port Controlling +Operations

+ +

The results +of port controlling operations are shown in figure F.7.

+ +

+ +

NOTE:       When creating a PTC the ports of that +PTC are created and started; when creating the MTC the ports of the MTC and the +ports of the TSI are created and started.

+ +

 

+ +

Figure F.7: Dynamic behaviour of +ports: port controlling operations

+ +

F.3.3     Communication Operations

+ +

The results +of the communication operations send, receive, call, getcall, raise, catch, +reply, getreply, check are shown in figure F.8.

+ +

+ +

NOTE 1:    When creating a PTC the ports of that +PTC are created and started; when creating a MTC the ports of the MTC and the +ports of the TSI are created and started.

+ +

NOTE 2:    A unique receiver exists if there is +only one link for this port or if the to address expression references a test +component whose port is linked to this port (a terminated test component is not +a legal receiver).

+ +

NOTE 3:    Whenever a port enters its error state, +the test component it belongs to enters also its error state, assigns a local +error verdict, the test case terminates and the overall test case result will +be error.

+ +

NOTE 4:    As trigger is a shorthand for an alt +together with receive it is not considered here.

+ +

 

+ +

Figure F.8: Dynamic behaviour of +ports: communication operations

+ +
+
+ + + +

Previous versions of the present document +(up to and including V2.2.1) required to use a group-like syntax shown in the +example below to declare module parameters. The module parameter syntax has +been unified with constant and variable declaration syntax in this version but +group-like syntax is not fully removed to leave a time period for tool +providers and users to change from the old syntax to the new one. The +group-like syntax of module parameter declarations may be fully removed in a +future edition of the standard.

+ +

EXAMPLE (superfluous syntax):

+ +

    module MyModuleWithParameters

+ +

    {

+ +

       modulepar { integer TS_Par0, TS_Par1 := 0;

+ +

                    boolean TS_Par2 := true

+ +

                "};

+ +

       modulepar { hexstring TS_Par3 };

+ +

    }

+ +

 

+ + + +

Previous versions of the present document +(up to and including V2.2.1) allowed to import named definitions implicitly, +via importing other definitions of the same module using them in a recursive mode. This feature is deprecated and may be fully removed in a +future edition of the standard.

+ +
+ +

G.3     Using all in port type definitions

+ +
+ +

Previous versions of the present document +(up to and including V2.2.1) allowed to use the all +keyword in port type definitions instead of an explicit list of types and +signatures allowed via the given port. This feature is deprecated and may be +fully removed in a future edition of the standard.

+ + + +

Previous versions of the present document +(up to and including V3.2.2) allowed to use the builtin function sizeof to compute the length of record of, set of, +and array. This has been replaced by lengthof. The use +of sizeof for list like types is deprecated and is planned to be fully +removed in the next published edition.

+ + + +

The previous version of the standard (up to +and including V3.3.1) defined the sizeoftype predefined +function. This feature is deprecated in this version of the standard and may be +fully removed in the next published edition.

+ + + +

Previous versions of the present document +(up to and including V3.2.2) allowed to use mixed ports. This feature is deprecated and may be fully removed in a +future edition of the standard.

+ + + +

Previous versions of the present document +(up to and including 3.4.1) allowed to use external constants. This feature is +deprecated and may be fully removed in a future edition of the standard.

+ + + +

Previous versions of the present document +(up to and including V4.2.1) did not explicitly specify how to resolve name +conflicts between imported enumeration values and global names defined in the +importing or in another TTCN-3 module. Some tool implementations resolved this +issue by allowing prefixing enumeration values with the name of the module in +which the given enumerated type is defined. Version 4.3.1 added in clause 8.2.3.1 a rule to resolve such name clashes, +therefore prefixing enumerated values is deprecated.

+ +
+
+ +
+ +

Annex H +(informative):
+
Bibliography

+ +
+ +

·            +ETSI ES 201 873-1 (V1.1.2): "Methods for +Testing and Specification (MTS); The Tree and Tabular Combined Notation version +3; Part 1: TTCN‑3 Core Language", 2001.

+ +

·            +ETSI ES 201 873-1 (V2.2.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2003.

+ +

·            +ETSI ES 201 873-1 (V3.1.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2005.

+ +

·            +ETSI ES 201 873-1 (V3.2.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2007.

+ +

·            +ETSI ES 201 873-1 (V3.3.2): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2008.

+ +

·            +ETSI ES 201 873-1 (V3.4.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2008.

+ +

·            +ETSI ES 201 873-1 (V4.1.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2009.

+ +

·            +ETSI ES 201 873-1 (V4.2.1): "Methods for +Testing and Specification (MTS); The Testing and Test Control Notation version +3; Part 1: TTCN‑3 Core Language", 2010.

+ +
+
+ +
+ +

History

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Document history

+
+

V1.1.1

+
+

March 2001

+
+

Publication

+
+

V1.1.2

+
+

June 2001

+
+

Publication

+
+

V2.2.1

+
+

February 2003

+
+

Publication

+
+

V3.1.1

+
+

June 2005

+
+

Publication

+
+

V3.2.1

+
+

February 2007

+
+

Publication

+
+

V3.3.2

+
+

April 2008

+
+

Publication

+
+

V3.4.1

+
+

September 2008

+
+

Publication

+
+

V4.1.1

+
+

June 2009

+
+

Publication

+
+

V4.2.1

+
+

July 2010

+
+

Publication

+
+

V4.2.5

+
+

April 2011

+
+

Membership Approval Procedure        MV + 20110607: 2011-04-08 to 2011-06-07

+
+

V4.3.1

+
+

June 2011

+
+

Publication

+
+ +
+ +

 

+ +
+ + + + + \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image001.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image001.gif new file mode 100644 index 0000000000000000000000000000000000000000..4bf7c7d22f3f5ac01d8b76f1fe996ae40c2d1445 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image001.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image002.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image002.gif new file mode 100644 index 0000000000000000000000000000000000000000..704a571ed2251cce9120ecbf1420466ea9524b44 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image002.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image003.jpg b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image003.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76c10fc1c34bfb524ada247a29822e7d568baecf Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image003.jpg differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image004.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image004.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c0496cb491b8786db449d8ca5dd4311e8ad245d Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image004.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image005.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image005.gif new file mode 100644 index 0000000000000000000000000000000000000000..91d733d56c4e171b7e06923fbbc504a1547983af Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image005.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image006.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image006.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2384609ffc1a70a0a7b40741b1e39fc0584e990 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image006.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image007.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image007.gif new file mode 100644 index 0000000000000000000000000000000000000000..0264b44700cf896874a4e34619360095974d26c8 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image007.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image008.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image008.gif new file mode 100644 index 0000000000000000000000000000000000000000..acfab6a7b59bd7796db77821318ae759d4b06d2e Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image008.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image009.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image009.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe1e120ef6461af2e55c05473701f488f3b2ab46 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image009.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image010.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image010.gif new file mode 100644 index 0000000000000000000000000000000000000000..52b694cfd5643967b816d6ef2eafc37550aa7ec5 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image010.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image011.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image011.gif new file mode 100644 index 0000000000000000000000000000000000000000..def685558324a59f9a78fd7ea7ec49c3a5af6c1d Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image011.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image012.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image012.gif new file mode 100644 index 0000000000000000000000000000000000000000..403bb05e6d3a649dc1ea25126b49527c3ab2f08c Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image012.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image013.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image013.gif new file mode 100644 index 0000000000000000000000000000000000000000..5df71acec5b1bc122c8ede7197c11c571169b80e Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image013.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image014.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image014.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e48f7edb5b8e21729f28524e511acf4798b3fe9 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image014.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image015.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image015.gif new file mode 100644 index 0000000000000000000000000000000000000000..38355698c5bb27e0cb157cb83363f41828a179b0 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image015.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image016.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image016.gif new file mode 100644 index 0000000000000000000000000000000000000000..aeab72e7777920817021f5f82777bd6feb56457e Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image016.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image017.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image017.gif new file mode 100644 index 0000000000000000000000000000000000000000..4aca0e9cd316be2fd9f41a24e396c9aa22bc789c Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image017.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image018.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image018.gif new file mode 100644 index 0000000000000000000000000000000000000000..2db253c00d3137adb1d21b4374c1044d5cd3f7ae Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image018.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image019.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image019.gif new file mode 100644 index 0000000000000000000000000000000000000000..5a19a41dfb91609238f540864e71973118b9e1fb Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image019.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image020.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image020.gif new file mode 100644 index 0000000000000000000000000000000000000000..664025acb9f9f36a019f356a64d933a7e18d72c9 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image020.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image021.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image021.gif new file mode 100644 index 0000000000000000000000000000000000000000..e56c2bef4aa89db34f55136d10a7e6d232c2348c Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image021.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image022.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image022.gif new file mode 100644 index 0000000000000000000000000000000000000000..abf1cef98f793ae0f909480fc9b8e9d28e603e14 Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image022.gif differ diff --git a/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image023.gif b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image023.gif new file mode 100644 index 0000000000000000000000000000000000000000..489a83fb56cf218c0d6e62a1b1895302669a691f Binary files /dev/null and b/standards/4.3.1/requirements/root/Documents/es_20187301v040301p.xhtml_resources/imgs/image023.gif differ diff --git a/standards/4.3.1/requirements/root/Reports.json b/standards/4.3.1/requirements/root/Reports.json new file mode 100644 index 0000000000000000000000000000000000000000..471835993c90c3c8994a250980bc5a324f9e96ea --- /dev/null +++ b/standards/4.3.1/requirements/root/Reports.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "ReportFolder" + }}, + "uuid": "444c79bb-4699-420a-b2b6-c653217666fa" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements.json b/standards/4.3.1/requirements/root/Requirements.json new file mode 100644 index 0000000000000000000000000000000000000000..e8c4ae524e688a770140b4a03892f201d8cd244c --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + }}, + "uuid": "72ca0b25-13c5-4506-814c-ad7b94f14a66" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12.json b/standards/4.3.1/requirements/root/Requirements/12.json new file mode 100644 index 0000000000000000000000000000000000000000..98d9619411a4aff98f0678688b105e690ee3a30a --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/49d8b33d-8836-4b6b-9bad-19474e015ffb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "12 Declaring timers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2c20228a-e932-433b-a263-282fa92ef2b8" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/01.json b/standards/4.3.1/requirements/root/Requirements/12/01.json new file mode 100644 index 0000000000000000000000000000000000000000..f033e0ea9e8c664bc118a2442d6170995f2a0bf0 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/8e73b1a7-b885-465a-9175-0eb95799cd4e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer can be declared in module control, test cases, functions, altsteps" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "72cfb719-4c98-4910-9013-1d158abc13b0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/02.json b/standards/4.3.1/requirements/root/Requirements/12/02.json new file mode 100644 index 0000000000000000000000000000000000000000..fbd6f3db508baa15078b89b735a0213eee02ec12 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/bdee15b8-ca1d-4ec3-954a-b538a1e52b13"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timers can be declared in component type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1d564683-e6a9-4dd6-a736-b5cbb43f69e2" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/03.json b/standards/4.3.1/requirements/root/Requirements/12/03.json new file mode 100644 index 0000000000000000000000000000000000000000..0555331a61deb74a62116745f5ea0c231dc35d7b --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/89fce4d9-3125-4b6f-8c60-d1f49f8a8db5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timers can be declared in component and used in test cases, functions, altsteps on this component" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "63f62662-83cd-4c4c-8bf5-0cf35b241857" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/04.json b/standards/4.3.1/requirements/root/Requirements/12/04.json new file mode 100644 index 0000000000000000000000000000000000000000..96a439636bbcd608195f9f5da4dcbc0bb9db309f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/c93d7fe0-b977-492a-b3f7-8a3ad63152f1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer value is non-neg float" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c6d0bc91-f7dd-4280-b477-dbf7931e1fcb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/05.json b/standards/4.3.1/requirements/root/Requirements/12/05.json new file mode 100644 index 0000000000000000000000000000000000000000..09398496920dccf44bfd7b8e4011e19fb4353c49 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/05.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/3c545635-9962-42f4-aced-e16baef658fd", + "/Documents/es_20187301v040301p.xhtml/758b6c0e-fece-465a-b6b5-606aacb1989e" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "timer array values are non-neg float or minus" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4a33b1d1-9ded-4491-9fc6-4b71f02df8ca" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/12/06.json b/standards/4.3.1/requirements/root/Requirements/12/06.json new file mode 100644 index 0000000000000000000000000000000000000000..6b7d0a9fe280fd1aa4f5aa326998b367e5890255 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/12/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/5693e02b-5a58-4d15-8611-79ebe9e0ca36"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer declaration syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "77d9db9e-040c-4ce5-af24-b99f3d9f8500" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13.json b/standards/4.3.1/requirements/root/Requirements/13.json new file mode 100644 index 0000000000000000000000000000000000000000..bb73e4c1f9b7bc31cef9bfbc10f5d2c71053372e --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/5d838906-b260-4363-8e58-7b02d5a6f668"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "13 Declaring messages" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cb9c10ec-625b-414b-b342-8df38161c9d3" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/01.json b/standards/4.3.1/requirements/root/Requirements/13/01.json new file mode 100644 index 0000000000000000000000000000000000000000..5252889a3d863b68567b82f87da88ebdc9b058b1 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/01.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/033111cc-96d2-4cae-8086-2e2ac7ca5879", + "/Documents/es_20187301v040301p.xhtml/26a9c449-9287-4e9b-b4a3-26b7f3721c9c" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Messages are instances of types declared in the in-out-inout clauses of message port type definition" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "13ae742f-f958-45fc-99d2-dda736c65ee5" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/02.json b/standards/4.3.1/requirements/root/Requirements/13/02.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc59b83c0faf39b9d782febcb329575ef61304b --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/02.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/d435605e-b213-48ff-bb1a-605f6300b2bf", + "/Documents/es_20187301v040301p.xhtml/a9fe3026-4fcb-4243-82da-c17e788c053f" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Any type can be declared as type of message in a message port type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "af4abe0e-45a9-46ef-8ac5-3cd39a57d692" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/03.json b/standards/4.3.1/requirements/root/Requirements/13/03.json new file mode 100644 index 0000000000000000000000000000000000000000..fc724bd649540b3850501ba0de73bcc76764c615 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/03.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/38517881-0fcd-4a2a-9919-ecf711696cbc", + "/Documents/es_20187301v040301p.xhtml/d904b2dc-872b-485e-83c8-217bb338dd59" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Received messages can also be declared as a combination of value and matching mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "bafc0b55-95fc-4cb0-ade0-cb87c3011083" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04.json b/standards/4.3.1/requirements/root/Requirements/13/04.json new file mode 100644 index 0000000000000000000000000000000000000000..14ebabc6ddbdf3619dae747fc44c8e5ec04c6b58 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04.json @@ -0,0 +1,24 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/5c53e94b-f55b-4236-a1dc-7254575842af", + "/Documents/es_20187301v040301p.xhtml/b726710e-c292-4c92-bfe3-ff2584d1b55b", + "/Documents/es_20187301v040301p.xhtml/9df8621e-4c0d-43f2-b962-35ad93b490e0" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Sorts of message insances" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b1c17ba6-685c-4aa9-8551-f306c255c06e" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Global template as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Global template as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..e72c467c0487b6863e5afec5f59d4e6845910ce9 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Global template as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- A global template can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        -- contents of T is not specified here
\n        defining template T
\n        
\n        defining test case TC {
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending a global template
\n            and invoking MTC.p.send(T)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "7024667a-9b30-4150-89e4-f45dbec0b12e" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Inline template as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Inline template as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..7b21928f2afd3ef5155e321dcde66d08a175563e --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Inline template as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Inline template can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining test case TC {
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending an inline template
\n            -- contents of template T is not specified here
\n            and invoking MTC.p.send(inline template)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "4a77cd73-de59-4d16-b718-1c9793f0867b" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Local template as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Local template as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..5760eabe14ff93ac141bea82d32ab7feeeda973f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Local template as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Local template can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining test case TC {
\n            -- contents of template T is not specified here
\n            defining template T
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending the local template
\n            and invoking MTC.p.send(T)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "e67e0270-1aba-4220-900b-1535399c6472" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Parameter as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Parameter as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..643eb61e34af7942e6f262e296666b6b5342dad5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Parameter as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Parameter can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining function F(param) runnning on MTC {
\n            -- Sending the value of the parameter
\n            invoking MTC.p.send(param)
\n        } where {
\n            type of param is compatible with out type of MTC.p
\n        }
\n        
\n        defining test case TC {
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending the local template
\n            and invoking F(some value)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "6301a092-c11a-42ac-8aa6-7a3f3a10ac9f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Template parameter as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Template parameter as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..85cbfc8c052cbfb551fa04fbf6a7b4008675695a --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Template parameter as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Template parameter can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining function F(template param) runnning on MTC {
\n            -- Sending the template of the parameter
\n            invoking MTC.p.send(param)
\n        } where {
\n            type of param is compatible with out type of MTC.p
\n        }
\n        
\n        defining test case TC {
\n            -- contents of template T is not specified here
\n            defining template T
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending the local template as function parameter
\n            and invoking F(T)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "6c0754d3-8b94-43ee-9c94-a48f1fd182e7" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Template variable as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Template variable as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..64438aa3a90791b87293212d9a602fa739190240 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Template variable as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Template variable can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining test case TC {
\n            -- contents of template T is not specified here
\n            defining template variable T_var
\n                initialized by some value
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending the local template variable
\n            and MTC.p.send(T_var)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "b94476d0-9be6-40a7-832d-8fb88a9ce3e0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/13/04/Variable as a message.json b/standards/4.3.1/requirements/root/Requirements/13/04/Variable as a message.json new file mode 100644 index 0000000000000000000000000000000000000000..a1db371cbd267391f2955b0fd2eff72e0030b22c --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/13/04/Variable as a message.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Variable can be sent and received in a message port
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC {
\n            defining port p
\n        }
\n        defining component MTC {
\n            defining port p
\n        }
\n        
\n        defining test case TC {
\n            -- contents of template T is not specified here
\n            defining variable Var
\n                initialized by some value
\n            creating component PTC
\n            and connecting MTC.p with PTC.p
\n            and starting component PTC
\n                with function {
\n                    invoking alt statement {
\n                        branch p.receive with setverdict(pass)
\n                        branch timeout with setverdict(fail)
\n                    }
\n                }
\n            -- Sending the local variable
\n            and MTC.p.send(Var)
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the message must be successfully received." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "87cc0eec-5d31-4d62-9c83-533d144745cb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23.json b/standards/4.3.1/requirements/root/Requirements/23.json new file mode 100644 index 0000000000000000000000000000000000000000..6bfd0fb31c5fa09771ca38846be32b6570c9d706 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/cefd76d0-ae84-418c-ba9f-b09d97b1c46f", + "/Documents/es_20187301v040301p.xhtml/1a7dbd7a-f48f-4784-8e06-a5f28e775ac6" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23 Timer operations" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ea8a6d94-071d-40be-8927-a8d79de2d228" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01.json b/standards/4.3.1/requirements/root/Requirements/23/01.json new file mode 100644 index 0000000000000000000000000000000000000000..5b923b3d31a43aaabc71a23c18977ac58b8b27e0 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/859237de-6dbd-44f5-9b73-c7cd296023e1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Usage of timers is allowed in test cases, functions, altsteps, module control" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5ab20374-f6f5-48c9-8e95-0f16f6acb262" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01/Positive syntax test.json b/standards/4.3.1/requirements/root/Requirements/23/01/Positive syntax test.json new file mode 100644 index 0000000000000000000000000000000000000000..6c8d4b60742ce5c4e39b0f7ad8a491948a8a2ab7 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01/Positive syntax test.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining altstep {
\n            declaring timer t
\n            and containing t.start
\n            and containing t.running
\n            and containing t.read
\n            and containing t.timeout
\n            and containing t.stop
\n        }
\n        defining function {
\n            declaring timer t
\n            and containing t.start
\n            and containing t.running
\n            and containing t.read
\n            and containing t.timeout
\n            and containing t.stop
\n        }
\n        defining test case {
\n            declaring timer t
\n            and containing t.start
\n            and containing t.running
\n            and containing t.read
\n            and containing t.timeout
\n            and containing t.stop
\n        }
\n        defining module control {
\n            declaring timer t
\n            and containing t.start
\n            and containing t.running
\n            and containing t.read
\n            and containing t.timeout
\n            and containing t.stop
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "Positive syntax test" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "82976e37-1ad3-4516-9c6d-2bd50e7338c8" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01/Timer read is not allowed in component definitions.json b/standards/4.3.1/requirements/root/Requirements/23/01/Timer read is not allowed in component definitions.json new file mode 100644 index 0000000000000000000000000000000000000000..3057e3ff574012dbae01349a3bc85b22c15c094a --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01/Timer read is not allowed in component definitions.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "
\n\t

\n\t\twhen {<\/p>\n\t

\n\t\t    A test module contains timer operations in test cases, functions, altsteps and module control<\/p>\n\t

\n\t\t}<\/p>\n\t

\n\t\tensure {
\n\t\t    .The module compiles successfully
\n\t\t}<\/p>\n<\/div>\n

\n\t <\/p>\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "663955fa-f36f-4752-a3ca-9fde66334997" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01/Timer running is not allowed in component definitions.json b/standards/4.3.1/requirements/root/Requirements/23/01/Timer running is not allowed in component definitions.json new file mode 100644 index 0000000000000000000000000000000000000000..2b8f446936c8545744dd958fe48a5dfee7b3b122 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01/Timer running is not allowed in component definitions.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            defining timer t
\n            defining boolean field
\n                initialized with t.running
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "4ed17604-023d-4869-b135-6f0c4857902f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01/Timer stop is not allowed in module definitions.json b/standards/4.3.1/requirements/root/Requirements/23/01/Timer stop is not allowed in module definitions.json new file mode 100644 index 0000000000000000000000000000000000000000..b53b28aa853c0eb078d6c634945555d6932a7876 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01/Timer stop is not allowed in module definitions.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        containing "all timer.stop" in definitions part
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "Rejected by the tool as wrong syntax" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "b679d057-1d0f-43bd-ac56-599fdf732ed6" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/01/Timer timeout operation is not allowed in module definitions.json b/standards/4.3.1/requirements/root/Requirements/23/01/Timer timeout operation is not allowed in module definitions.json new file mode 100644 index 0000000000000000000000000000000000000000..efb1c2667872040b3d5c9e82fe6e701f26fa36bb --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/01/Timer timeout operation is not allowed in module definitions.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        containing "any timer.timeout" in definitions part
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "Syntax error" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "b92752ba-b01c-4a9e-a90f-3cf9173bce6f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02.json b/standards/4.3.1/requirements/root/Requirements/23/02.json new file mode 100644 index 0000000000000000000000000000000000000000..cc1651ed98f6933713dfa27e216ddf9d822d31f7 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/1d4a97a6-d66a-43ad-9fe0-11409775cb9a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.2 The start timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7c45e6f5-dffd-4672-a1c9-7323223f1cc4" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/01.json b/standards/4.3.1/requirements/root/Requirements/23/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..942933e15270683f4013a3db3a2ccbe87c8fcc39 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/2d0f0d39-197f-4843-823d-4764c70c119e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Start timer syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3416aeca-329c-4150-a723-503565ac86ee" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/02.json b/standards/4.3.1/requirements/root/Requirements/23/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..d189ba1776e2d07b3913868ae0c1feb8bff0f847 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/64e15f77-77b0-4b47-a42a-5c2420a90e47"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Overridden timer value applies only to current instance" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4407600b-79f7-4601-be7b-4af6cb405aca" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/03.json b/standards/4.3.1/requirements/root/Requirements/23/02/03.json new file mode 100644 index 0000000000000000000000000000000000000000..a3a320bf596674e9c2b073d7271b52a16d7eea03 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/f84e60dd-92e5-4c47-b956-6766f1e7ba04"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "neg timer value causes error verdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b602f81f-9eff-4bb0-8549-6a744d4b3027" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/05.json b/standards/4.3.1/requirements/root/Requirements/23/02/05.json new file mode 100644 index 0000000000000000000000000000000000000000..71d65c73c29a2b8857e934cc658f4d773e745c35 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/39572578-0a93-472c-ab6a-d0703b09815e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "timer can be restarted by repeated start operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8e6f54df-d265-4f35-929b-9188b36c99a1" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/06.json b/standards/4.3.1/requirements/root/Requirements/23/02/06.json new file mode 100644 index 0000000000000000000000000000000000000000..c3c63d94c67e9bd4cef786bed873d4a5d6be8b71 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/7c6d012b-6a3d-411f-aae4-d5a256e31aa7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "timer clock runs from 0 to the value set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "757f6ff3-776c-45bf-a541-cd3afbc18b65" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/07.json b/standards/4.3.1/requirements/root/Requirements/23/02/07.json new file mode 100644 index 0000000000000000000000000000000000000000..21fc40530ee6f6c530c5c0b03d4949eafc3fe80f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/cfed5024-8dd7-42da-814b-066b33383de5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer value is non-neg float" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e20f1f90-e532-4e4c-93bb-6aaf219f0baa" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/02/10.json b/standards/4.3.1/requirements/root/Requirements/23/02/10.json new file mode 100644 index 0000000000000000000000000000000000000000..5fa3832a018234a514e0eb2ae334c0568668af1b --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/02/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/5f0e5de8-e4d0-456f-9920-afd1690e4bb5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer with the timer value 0.0 times out immediately." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d639ed2e-2ced-419d-920d-56f8910b6e14" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/03.json b/standards/4.3.1/requirements/root/Requirements/23/03.json new file mode 100644 index 0000000000000000000000000000000000000000..61cbb1a5916440cbffe094d8683973d5b8079de3 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/2fe9dbe8-d4c4-4b8e-971d-d6355db9cbbc"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.3 The Stop timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1e994627-2a85-4a80-b6e9-0f468ba26da1" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/03/01.json b/standards/4.3.1/requirements/root/Requirements/23/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..114c0edbbf1c521bec99ced3d2c048a9c2c25ee3 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/fc24ad03-35fd-4b50-a54d-d8f81f6e489e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer stop syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6d69f129-d8f1-49e7-ba59-2ffcf1d33b98" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/03/02.json b/standards/4.3.1/requirements/root/Requirements/23/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..e9c529a00c7c6811d444de2d4fe827baff3c24df --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/6b985540-900b-48ea-ac29-7f782dbc6652"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "stopped timer is inactive and elapsed time is 0" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5de145e9-8434-426b-bf07-1a9482839efd" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/03/03.json b/standards/4.3.1/requirements/root/Requirements/23/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..7793c6caa73c179ebc90f720095ac56c77d1da2f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/03/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/de4d952f-4c8c-4d0b-9ab2-a44c17eedbfa"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Stopping inactive timer is ok, but unobservable" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "be3dd9da-0832-436a-b14b-e278edf9f4ed" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/03/04.json b/standards/4.3.1/requirements/root/Requirements/23/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..3b5d42b6261c6179ec5d85e7f1405802208f7cc6 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/f162c357-8353-4b9a-958d-cd49e25fe6cd"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "all keyword can be used for timers in component or module control" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "03a5c34e-0a05-4125-a8a7-141c000eb748" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/04.json b/standards/4.3.1/requirements/root/Requirements/23/04.json new file mode 100644 index 0000000000000000000000000000000000000000..b4833593a179d1720c583da21e01dab03e85e45f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/091ebbc8-1c8f-4c12-8b0e-02fc2f988a5a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.4 The Read timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a8e2c47a-8580-4409-ab6f-487e6fc2215c" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/04/01.json b/standards/4.3.1/requirements/root/Requirements/23/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6d716d91f6d6f62bd1d87c362a17a5b9437c49ed --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/e3d61e8c-8ad8-4ee0-9acf-d09e1ef9b677"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer Read syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7b9d843f-3cc2-485a-98cf-ebe634eaef44" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/04/02.json b/standards/4.3.1/requirements/root/Requirements/23/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..c773e18418d42b28795f422ae5727dd27c302af5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/04/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/8ed7ed88-2ab5-4c02-ad72-7fc1c61bdd83"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Read returns elapsed time that is non-neg float" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5d6abd07-dfa8-445c-8e88-ce7cff9949a5" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/04/03.json b/standards/4.3.1/requirements/root/Requirements/23/04/03.json new file mode 100644 index 0000000000000000000000000000000000000000..2fc76d013b838cc1d4da7c12cb9c725897e05889 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/04/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/8b052665-34fa-4442-ad2c-4aa814d28e09"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Read on an inactive timer returns float zero" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f00cf4c8-56ba-4fff-a660-4eba15416636" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/05.json b/standards/4.3.1/requirements/root/Requirements/23/05.json new file mode 100644 index 0000000000000000000000000000000000000000..fb466294bf987608dfc0d3f222127fc00e7195a6 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/e31f6835-3cf4-4056-ac8d-cf87535e3b92"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.5 The Running timer operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "58d3689d-2e06-4b38-8273-12ed5ebc7cea" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/05/01.json b/standards/4.3.1/requirements/root/Requirements/23/05/01.json new file mode 100644 index 0000000000000000000000000000000000000000..b5fc1a7d5b4dee50715b0addb94464d688945b41 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/05/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/75f1f35b-3ff6-4648-af1f-9ed3a671c51d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer running syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "12c6f9de-e9fa-4bef-b32c-38f2ef808310" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/05/02.json b/standards/4.3.1/requirements/root/Requirements/23/05/02.json new file mode 100644 index 0000000000000000000000000000000000000000..234878f07d7e1555421609bc85e983f7d1cc5f54 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/05/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/f3170372-624b-44ae-8712-626ea987993b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The operation returns the value true if the timer is listed on the running list, false otherwise." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "16ffd544-6614-4241-a6b5-ac92e4e472ed" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/05/03.json b/standards/4.3.1/requirements/root/Requirements/23/05/03.json new file mode 100644 index 0000000000000000000000000000000000000000..1efbd08c6e0286860d562d5701cbf00ce3352f2d --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/05/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/de527e9c-9f16-43f5-b4b1-6a85e84932d4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The any keyword may be used to check if any timer started on a component or module control is running" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5d13fd9e-6c50-4779-93af-796dfa02ffb0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06.json b/standards/4.3.1/requirements/root/Requirements/23/06.json new file mode 100644 index 0000000000000000000000000000000000000000..3f0b2aab6710578ea5e869e3a4a78b689413c82e --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/7e7f1a6e-3b75-455d-bdf9-57e85954ef65"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.6 The Timeout operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "20f572e1-6860-4aa5-9287-a99dc6d7de15" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/01.json b/standards/4.3.1/requirements/root/Requirements/23/06/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6546d6e44c896e2579bc42a5664368b9a9add949 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/6ca0ace5-12ee-4332-9e8c-f70f119af0cf"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer Timeout syntax" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1c6b0c07-bc46-4f36-aae4-1c874031cec1" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/02.json b/standards/4.3.1/requirements/root/Requirements/23/06/02.json new file mode 100644 index 0000000000000000000000000000000000000000..a1da5a2a0ffc4d6e5444f6b191aac4a298114a94 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/496b42cd-df53-4c4b-9804-7a54b2e71c95"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The any keyword used with the timeout operation succeeds if the timeout-list is not empty." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9eb05d49-f007-4a4e-a55a-ff07634a6209" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/02/Any timer ignores timeouts in other components.json b/standards/4.3.1/requirements/root/Requirements/23/06/02/Any timer ignores timeouts in other components.json new file mode 100644 index 0000000000000000000000000000000000000000..73a849c36e371c4d347e14c0f4c57b1a93f5d376 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/02/Any timer ignores timeouts in other components.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Wait for timeout of an unstarted timer. The waiting must be bounded with waiting of a started timer to prevent indefinite waiting.
\n
\n-- Create a test with a paralle test component. The PTC starts a timer, the MTC invokes an altstatement with any timer.timeout
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component PTC { empty }
\n        and defining component MTC { empty }
\n        and defining test case running on MTC {
\n            creating PTC
\n            and starting function on PTC {
\n                defining timers t1(time1) and t2(time2)
\n                    indicating time1 < time2
\n                invoking t1.start
\n                invoking t2.start
\n                -- to ensure that PTC.done arrives later than potential t1.timeout
\n                invoking t2.timeout operation
\n            }
\n            and containig alt statement {
\n                -- timers from PTC must not be accessible from MTC
\n                branch 'any timer.timeout' with setverdict(fail)
\n                branch triggered by PTC.done with setverdict(pass)
\n            }
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n
\n
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1(time1)
\n            and defining timer t2(time2)
\n                indicating time1 < time2
\n            and starting timer t2
\n            and containing alt statement {
\n                -- unstarted timer must not timeout
\n                branch t1.timeout with setverdict(fail);
\n                branch t2.timeout with setverdict(pass);
\n            }
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "any timer.timeout in MTC must not happen." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "e5d460fc-9ea4-401d-aeac-cb76b688fb46" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers in scope of the alt.json b/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers in scope of the alt.json new file mode 100644 index 0000000000000000000000000000000000000000..efc26c8dcaa59d33fc4877fdb85ebef743942815 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers in scope of the alt.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Declare a few timers in a component.
\n-- Define an altstep that waits for any timer and runs on that component.
\n-- Start a few timers and invoke the altstep.
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            containing few timers
\n        }
\n        defining altstep  A() running on MTC {
\n            with branch triggered by "any timer.timeout" with setverdict(pass)
\n        }
\n        defining test case {
\n            running on MTC
\n            and starting the timers of MTC
\n            and invoking A()
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": " The altstep must finish when a timer times out." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "38fd3816-062f-4362-97fe-a397a8af702a" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers that are outside of scope.json b/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers that are outside of scope.json new file mode 100644 index 0000000000000000000000000000000000000000..55a57dd3e8e5cde9ac2eb0fbea20e64ee2828d49 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/02/Wait for timers that are outside of scope.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Define an altstep with any timer.timeout alternative. Start a timer and invoke the altstep.
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining altstep  A() {
\n            with branch triggered by "any timer.timeout" with setverdict(pass)
\n        }
\n        defining test case {
\n            running on MTC
\n            and defining timer t locally
\n            and starting timer t
\n            and invoking A()
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates in reasonable time
\n            with verdict pass
\n    }
\n}
\n
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "the altstep must finish when the timer expires" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "452fdf81-8830-4419-a9ce-12641f79a821" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/03.json b/standards/4.3.1/requirements/root/Requirements/23/06/03.json new file mode 100644 index 0000000000000000000000000000000000000000..75a83c2aeb56800047dc1da506a58e55d9879308 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/acf30a4b-f668-4efc-b3f2-804fa336fc8e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The timeout shall not be used in a boolean expression." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "765da7cf-2b15-43ee-8434-6d882212447e" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/04.json b/standards/4.3.1/requirements/root/Requirements/23/06/04.json new file mode 100644 index 0000000000000000000000000000000000000000..1eacb7df2e63f4fc1ab6f679a82df15c8c7018e9 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/d92c14d3-97a2-4658-b5b6-15304a75aaa1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timeout operational semantics" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "35e2f187-f364-410a-a93d-cdf76c37754b" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout a timer that is already timed out.json b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout a timer that is already timed out.json new file mode 100644 index 0000000000000000000000000000000000000000..df2dbebd81b6206d3a9de1be9cb62a9f07e8285c --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout a timer that is already timed out.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Start a timer. Wait for its timeout. Wait for its timeout once again (bound this wait with another timer to preven indefinite wait).
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1 locally
\n            and defining timer t2 locally
\n            and starting timer t1
\n            and invoking t1.timeout
\n            and starting t2
\n            and containing alt statement {
\n                branch t1.timeout with setverdict(fail);
\n                branch t2.timeout with setverdict(pass);
\n            }
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "The second timeout must not happen." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "00eaf03e-13a4-424e-aca3-be734005163d" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout started timer.json b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout started timer.json new file mode 100644 index 0000000000000000000000000000000000000000..d3c43ebf2a0dc57c28a7b160250707493819e9da --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout started timer.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Wait for timeout of several started timers with different maximum times.
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timers t1(time1), t2(time2), t3(time3)
\n                indicating time1 < time2 < time3
\n            and starting timers t1, t2, t3
\n            and containing alt statement {
\n                -- the timer with smallest time must timeout first
\n                branch t1.timeout with setverdict(pass);
\n                branch t2.timeout with setverdict(fail);
\n                branch t3.timeout with setverdict(fail);
\n            }
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "The timeouts must happen in order, from the shortest timer to the longest one." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "79365565-ad57-42be-885c-79cbb019df6f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout unstarted timer.json b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout unstarted timer.json new file mode 100644 index 0000000000000000000000000000000000000000..66011dbba2cc78c0613614d5c67741178cc03ca2 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/04/Timeout unstarted timer.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- Wait for timeout of an unstarted timer. The waiting must be bounded with waiting of a started timer to prevent indefinite waiting.
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1(time1)
\n            and defining timer t2(time2)
\n                indicating time1 < time2
\n            and starting timer t2
\n            and containing alt statement {
\n                -- unstarted timer must not timeout
\n                branch t1.timeout with setverdict(fail);
\n                branch t2.timeout with setverdict(pass);
\n            }
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes the module
\n        and IUT execution terminates
\n            with verdict pass
\n    }
\n}
\n
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "Timeout of unstarted timer must not happen." + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "65ba5410-392c-48ae-a32e-4f456183d167" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/05.json b/standards/4.3.1/requirements/root/Requirements/23/06/05.json new file mode 100644 index 0000000000000000000000000000000000000000..d7ff1e2ee2f00cdd9b57c07a69ea4c37e711e929 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/a67a0ebc-61c2-4b2f-b3df-c54b02d8e169"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The timeout can be used as alternative in alt" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f17b5ab0-b130-46ed-a72e-04519c49e63f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/06/06.json b/standards/4.3.1/requirements/root/Requirements/23/06/06.json new file mode 100644 index 0000000000000000000000000000000000000000..29ed06f3c2e0c5656f8b8d6938367d5a972bfdf1 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/06/06.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The timeout can be used as stand-alone statement in a\r\nbehaviour description. In the latter case a timeout operation is considered to be shorthand for an alt statement with the timeout operation as the only alternative" + }, + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/b6e707e5-7ea0-4cb8-9ed9-6394d299d7a4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The timeout can be used as a standalone statement" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "eda16473-e1e0-48d9-a54d-8b89e59d68a0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/08.json b/standards/4.3.1/requirements/root/Requirements/23/08.json new file mode 100644 index 0000000000000000000000000000000000000000..d1c20f2ac6523bfacc4f0b8edcff9ec4f4e83622 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/08.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/82ced5b5-b044-499a-b96b-a3eaf22af8fc", + "/Documents/es_20187301v040301p.xhtml/24b6341e-5fc7-442f-82a8-9f2c92deda45" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.1 Timer mechanism" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "272cb375-cd01-4053-ba77-6d9d9e9dc0c3" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/08/01.json b/standards/4.3.1/requirements/root/Requirements/23/08/01.json new file mode 100644 index 0000000000000000000000000000000000000000..e955e490ab4be42411ddcec7b56d0c4e3e63307e --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/08/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/68754971-0b1b-401e-8a53-12cc1ed8b61b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "timer expires and becomes inactive" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "39a74d47-f329-46e4-b6e9-c76adc68bce0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09.json b/standards/4.3.1/requirements/root/Requirements/23/09.json new file mode 100644 index 0000000000000000000000000000000000000000..85a88a605577c177039d3415c9c5cbb6f7831d3f --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040301p.xhtml/956f1b36-7929-476a-bc9a-916747f1653a", + "/Documents/es_20187301v040301p.xhtml/10681173-66a5-4439-9681-e133fa54005e" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "23.7 Summary of use of any and all with timers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "513e92ea-90e3-45bc-be3d-12385d86e064" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Allow all timer.stop.json b/standards/4.3.1/requirements/root/Requirements/23/09/Allow all timer.stop.json new file mode 100644 index 0000000000000000000000000000000000000000..4a0d28091ba7d6f58b6a5bb0648322a5a033f0e5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Allow all timer.stop.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tensure that {
\n\t    when {
\n\t        IUT receives TTCN3 module
\n\t        defining component MTC {
\n\t            empty
\n\t        }
\n\t        defining test case TC running on MTC {
\n\t            defining timer t1
\n\t            and defining timer t2
\n\t            and starting timer t1
\n\t            and starting timer t2
\n\t                     where { duration of t2 is longer than that of t1 }
\n\t            and invoking { all timer.stop}
\n\t            and setverdict(pass) if not t2.running and not t1.runnung
\n\t            and setverdict(fail) otherwise
\n\t        }
\n\t    }
\n\t    then {
\n\t        IUT accepts the module
\n\t        and IUT executes TC
\n\t            with verdict pass
\n\t    }
\n\t}
\n\t <\/p>\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "8a924c7e-554b-4ce2-b228-40d0f3de7569" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.running.json b/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.running.json new file mode 100644 index 0000000000000000000000000000000000000000..d32574d988fc63553e784de4138ad64faa92b57d --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.running.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tensure that {
\n\t    when {
\n\t        IUT receives TTCN3 module
\n\t        defining component MTC {
\n\t            empty
\n\t        }
\n\t        defining test case running on MTC {
\n\t            defining float variable f_var
\n\t            defining timer t1
\n\t            and defining timer t2
\n\t            and starting timer t1
\n\t            and starting t2
\n\t            and setverdict(pass) if any timer.running produces true
\n\t            and setverdict(fail) otherwise
\n\t        }
\n\t    }
\n\t    then {
\n\t        IUT accepts the module
\n\t        and IUT executes TC
\n\t            with verdict pass
\n\t    }
\n\t}
\n\t 
\n\t <\/p>\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "d1c12a0f-49bf-4adf-b1eb-61dff1adba40" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.timeout.json b/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.timeout.json new file mode 100644 index 0000000000000000000000000000000000000000..ab40558d7ccf3cc2864b42ce3159869f3b253b3e --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Allow any timer.timeout.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tensure that {
\n\t    when {
\n\t        IUT receives TTCN3 module
\n\t        defining component MTC {
\n\t            empty
\n\t        }
\n\t        defining test case TC running on MTC {
\n\t            defining timer t1
\n\t            and defining timer t2
\n\t            and starting timer t1
\n\t            and starting timer t2
\n\t                     where { duration of t2 is longer than that of t1 }
\n\t            and invoking { any timer.timeout}
\n\t            and setverdict(pass) if t2.running and not t1.runnung
\n\t            and setverdict(fail) otherwise
\n\t        }
\n\t    }
\n\t    then {
\n\t        IUT accepts the module
\n\t        and IUT executes TC
\n\t            with verdict pass
\n\t    }
\n\t}
\n\t <\/p>\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "de108aac-28cd-4fea-b66e-9a6a29adf0fa" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.read.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.read.json new file mode 100644 index 0000000000000000000000000000000000000000..6656575477279cec17ccf33a5ec18c8bcc669647 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.read.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining float variable f_var
\n            defining timer t1
\n            and defining timer t2
\n            and starting timer t1
\n            and starting t2
\n            and assigning { f_var := all timer.read }
\n                
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "f5362ab9-dfbf-4c61-8c0b-d8bfc57d11c5" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.running.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.running.json new file mode 100644 index 0000000000000000000000000000000000000000..7edf4aad1337816d7048c444bacb41b7ef6c11ab --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.running.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining boolean variable b_var
\n            defining timer t1
\n            and defining timer t2
\n            and starting timer t1
\n            and starting t2
\n            and assigning { b_var := all timer.running }
\n                
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n
\n
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "c33edd6a-8fe2-4d49-8bbe-1514ba287fe4" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.start.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.start.json new file mode 100644 index 0000000000000000000000000000000000000000..18b9d7fd83a5f81d52d915d04c599fd261c1dd79 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.start.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1
\n            and defining timer t2
\n            and invoking { all timer.start }
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n
\n
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "32bc20ec-ebac-4858-81b3-3fcf5c7ad269" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.timeout.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.timeout.json new file mode 100644 index 0000000000000000000000000000000000000000..6701def7efb52388f72c502d7eb87383a70460d4 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow all timer.timeout.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1
\n            and defining timer t2
\n            and starting timer t1
\n            and starting t2
\n            and invoking { all timer.timeout() }
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n
\n
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "a6102f98-ea25-4c0a-97e8-b29e8dfb3bf1" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.read.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.read.json new file mode 100644 index 0000000000000000000000000000000000000000..98de9e4542a4494b0973bb577c2832c2b685d24d --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.read.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining float variable f_var
\n            defining timer t1
\n            and defining timer t2
\n            and starting timer t1
\n            and starting t2
\n            and assigning { f_var := any timer.read }
\n                
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n 
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "e99da795-1ebc-4a4a-b6d3-b02414b63889" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.start.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.start.json new file mode 100644 index 0000000000000000000000000000000000000000..a9077779230ccc979a73751191068a761b6375e1 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.start.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1
\n            and defining timer t2
\n            and invoking { any timer.start }
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}
\n
\n
\n 
\n " + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "be1ea674-2ce9-4acb-a217-16a8a1cfd633" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.stop.json b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.stop.json new file mode 100644 index 0000000000000000000000000000000000000000..ecdfbc088b840f559d09db6af4b5e1c47afd8566 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/23/09/Disallow any timer.stop.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining component MTC {
\n            empty
\n        }
\n        defining test case running on MTC {
\n            defining timer t1
\n            and defining timer t2
\n            and starting timer t1
\n            and starting t2
\n            and invoking { any timer.stop() }
\n        }
\n    }
\n    then {
\n        IUT rejects the module
\n    }
\n}" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "7b5294d7-58a2-459c-ad58-3c93c2394bfe" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24.json b/standards/4.3.1/requirements/root/Requirements/24.json new file mode 100644 index 0000000000000000000000000000000000000000..763bc2f6c622952af7c82185d139b474d0e211df --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "24 Test verdict operations" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f258f2b2-ce14-4d8f-bb5b-cbae9a4f40ea" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/01.json b/standards/4.3.1/requirements/root/Requirements/24/01.json new file mode 100644 index 0000000000000000000000000000000000000000..f7cfc535f709a3aa34d2c1d57fb41c954b1aa295 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Verdict operations given in table <\/span>29<\/span> allow to set and retrieve verdicts. These operations shall only be used in test cases, altsteps and functions<\/span>" + }, + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/5a12bd75-c598-4417-8e65-f05f1899a20c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Getverdict and setverdict operations shall only be used in test cases, altsteps and functions." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "01d204f8-3149-4c6c-91ac-571bb4ee8b02" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/01/01.json b/standards/4.3.1/requirements/root/Requirements/24/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..51dba179806ad7759e154e6ae40a1b4cc30fc909 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Setverdict operations shall only be used in test cases, altsteps and functions." + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Setverdict locations" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8af91f8b-be1e-463e-8c0a-4af2c134101b" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in altsteps.json b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in altsteps.json new file mode 100644 index 0000000000000000000000000000000000000000..c5147fc93c77c4aac3677d2edd466a053c919278 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in altsteps.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\r\n    when {
\r\n        IUT receives TTCN3 module
\r\n        defining altstep A() {
\r\n            branch with arbitrary trigger: setverdict(pass)
\r\n        }
\r\n    }
\r\n    then {
\r\n        IUT accepts the module
\r\n    }
\r\n}
\r\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "c178b740-110d-4ed4-8bf6-8b3c21f5d4f4" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in test cases.json b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in test cases.json new file mode 100644 index 0000000000000000000000000000000000000000..1ce560e054d18cb50294299737a7fd6096067334 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict allowed in test cases.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\r\n    when {
\r\n        IUT receives TTCN3 module
\r\n        defining test case TC {
\r\n            setverdict(pass)
\r\n        }
\r\n    }
\r\n    then {
\r\n        IUT accepts the module
\r\n    }
\r\n}
\r\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "6503d45d-aeff-4ffc-94d8-f5ccf275013a" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict in functions allowed.json b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict in functions allowed.json new file mode 100644 index 0000000000000000000000000000000000000000..94086adfe95677ee6181e35991126ad1317eba64 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/01/01/Setverdict in functions allowed.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "ensure that {
\r\n    when {
\r\n        IUT receives TTCN3 module
\r\n        defining function F {
\r\n            setverdict(pass)
\r\n        }
\r\n    }
\r\n    then {
\r\n        IUT accepts the module
\r\n    }
\r\n}
\r\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "pakula" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "8952ed62-c6f6-4e78-bba1-620acb58192b" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02.json b/standards/4.3.1/requirements/root/Requirements/24/02.json new file mode 100644 index 0000000000000000000000000000000000000000..847a1a22d081d62fc3f200c754d07c5a934356fb --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "24.1 The Verdict mechanism" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "650cd776-6cfb-4189-bdd1-af9ae372c538" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/01.json b/standards/4.3.1/requirements/root/Requirements/24/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9b47b83bf7ef0c15df805c55679aeb13c07c3457 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/0f81b94c-3b9d-4dc0-bd5a-c993371d099b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Global test case verdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f4e6228a-2b82-4644-a33d-3b17568b69f0" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure getverdict returns local verdict.json b/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure getverdict returns local verdict.json new file mode 100644 index 0000000000000000000000000000000000000000..abd8eaa2c9606aebf0ab39df6e2b441905cd57df --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure getverdict returns local verdict.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }}, + "uuid": "6d92b0f4-5118-414a-94bf-ab4cefd61fbb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure setverdict modifies only local verdict.json b/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure setverdict modifies only local verdict.json new file mode 100644 index 0000000000000000000000000000000000000000..5f416982c8da2916c9835b7170c41f62671fd521 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/01/Ensure setverdict modifies only local verdict.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }}, + "uuid": "7fb73ee3-2453-4d28-a21f-51d613044bc4" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/05.json b/standards/4.3.1/requirements/root/Requirements/24/02/05.json new file mode 100644 index 0000000000000000000000000000000000000000..9ff8bdee8249d10d80133cbe517bc2f032142aac --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/ff8ae620-eedd-4a64-b5fd-03c91fd9ca5c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Five different values of verdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7f86abb5-4d00-45a7-8d37-f402f0b84b53" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/06.json b/standards/4.3.1/requirements/root/Requirements/24/02/06.json new file mode 100644 index 0000000000000000000000000000000000000000..8f082350546ec4e77e7839cee06b93147bd6f08b --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/44fd7bf6-0cb3-4a93-b6be-863abfa1ae31"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Local verdict is initialized with none" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4b2f9df4-08bd-4073-afd8-c03220589a12" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/07.json b/standards/4.3.1/requirements/root/Requirements/24/02/07.json new file mode 100644 index 0000000000000000000000000000000000000000..cd6eec20c79c52176587988a6a2db6bce50f4ad5 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/72134a0a-26a2-4c19-aedb-cda2a8df481e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Overwriting rules for setverdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "74d0e79d-eb6a-42fb-8abb-8f9ed8590e16" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/08.json b/standards/4.3.1/requirements/root/Requirements/24/02/08.json new file mode 100644 index 0000000000000000000000000000000000000000..4fc18944a34ca35f4aafe7510cef645d2ccf3a93 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/74c7bde4-9886-43fd-9f02-d50b3627fd04"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Overwriting rules for global verdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f366dbba-d022-46c5-81fc-cc2711917395" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/02/09.json b/standards/4.3.1/requirements/root/Requirements/24/02/09.json new file mode 100644 index 0000000000000000000000000000000000000000..43a8ad3f771373773ac4dec0747ec57ab3a7e480 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/02/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/2392c146-4789-4d2e-a413-8779baee8340"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Error verdict shall not be set with setverdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0ba0a5f5-316a-4523-b0c5-350046a4451f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03.json b/standards/4.3.1/requirements/root/Requirements/24/03.json new file mode 100644 index 0000000000000000000000000000000000000000..3448712d64c91d4a12b1e78e4c0ab37fe72bb243 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "24.2 The Setverdict operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f066e9a2-e2fa-41dc-b82f-1dc3367491ae" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03/01.json b/standards/4.3.1/requirements/root/Requirements/24/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..8de910ed2e04e45ea691b098347df34403e7ab10 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03/01.json @@ -0,0 +1,30 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "" + }, + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/65a04840-46f9-4d6c-9aaf-1a273a26e015"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The value of the local verdict is changed with the setverdict operation." + }, + "_predicate": { + "key": "_predicate", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "afe714ad-0074-46b0-95ee-3580e7883515" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03/02.json b/standards/4.3.1/requirements/root/Requirements/24/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..f0ebed7297c675d53a53d083f3a5631f5faa0af0 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/1cdc6d38-be53-4c11-8bcc-6448ccb97065"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Optional setverdict parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "078b3eb1-2ebc-4127-b13a-c948edb68d41" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03/03.json b/standards/4.3.1/requirements/root/Requirements/24/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..a02beecf37343f4e21d00eba4b4009fd188daaa2 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03/03.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/8a7ca32e-3985-4370-bc6d-d0995f51f868"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Setverdict allowed verdict values" + }, + "_predicate": { + "key": "_predicate", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "61bcd2a8-be22-49b5-bceb-9579765b97c5" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03/04.json b/standards/4.3.1/requirements/root/Requirements/24/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..076bf2a72fff34fa46944a02d67523e4f70ffd5a --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/2af32ffa-14b9-4f1f-a2bb-025dc33bf309"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "SingleExpression shall resolve to a value of type verdict" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0c857ad4-86e1-4b8e-b2e5-7db546c35d52" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/03/05.json b/standards/4.3.1/requirements/root/Requirements/24/03/05.json new file mode 100644 index 0000000000000000000000000000000000000000..a7abc8489e53b7e2ee3ada4a1d4360d08c7536f0 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/03/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/ed7b113d-6f17-488e-a514-6c58af683c4d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "For FreeText and TemplateInstance, the same rules and restrictions apply as for the parameters of the log statement." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d4c36925-7811-43ad-8407-b7096904f784" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/04.json b/standards/4.3.1/requirements/root/Requirements/24/04.json new file mode 100644 index 0000000000000000000000000000000000000000..29371d03fc38854a92366faf6d33bd405709aee2 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/04.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "24.3 The Getverdict operation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0f84a510-6bab-44ad-97c7-65b81ae19c2f" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/04/01.json b/standards/4.3.1/requirements/root/Requirements/24/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ec58e9f2ee7af03bc63c04451d9db1b3a006fd12 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040301p.xhtml/00d3e379-0a3b-4203-8b1e-810ec85df72a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Getverdict returns local verdict value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "79ff94a3-9972-4d55-a15c-a3f104499fc7" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Requirements/24/04/01/Getverdict returns none for uninitialized verdict.json b/standards/4.3.1/requirements/root/Requirements/24/04/01/Getverdict returns none for uninitialized verdict.json new file mode 100644 index 0000000000000000000000000000000000000000..0c78cf133fba78ba977929b14b76bb98559ab792 --- /dev/null +++ b/standards/4.3.1/requirements/root/Requirements/24/04/01/Getverdict returns none for uninitialized verdict.json @@ -0,0 +1,45 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-- When test case does not invoke setverdict() directly or indirectly getverdict returns 'none'
\n
\nensure that {
\n    when {
\n        IUT receives TTCN3 module
\n        defining test case TC {
\n            if getverdict returns none
\n                setverdict pass
\n            else
\n                setverdict fail
\n        }
\n    }
\n    then {
\n        IUT accepts the module
\n        and IUT executes TC
\n            with verdict pass
\n    }
\n}
\n" + }, + "_expectedResults": { + "key": "_expectedResults", + "type": "STRING", + "value": "" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + }, + "author": { + "key": "author", + "type": "STRING", + "value": "konstantin" + }, + "expectedResults": { + "key": "expectedResults", + "type": "STRING", + "value": "" + }, + "status": { + "key": "status", + "type": "STRING", + "value": "in process" + }, + "testLocation": { + "key": "testLocation", + "type": "STRING", + "value": "" + }, + "testMethod": { + "key": "testMethod", + "type": "STRING", + "value": "" + } + }, + "uuid": "13de18cb-4518-4848-9691-8ade620f32cb" +} \ No newline at end of file diff --git a/standards/4.3.1/requirements/root/Types.json b/standards/4.3.1/requirements/root/Types.json new file mode 100644 index 0000000000000000000000000000000000000000..bd2a47371ee62f3e288b9f5b7c1e1aa4df9e55ec --- /dev/null +++ b/standards/4.3.1/requirements/root/Types.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "NodeType" + }}, + "uuid": "57fa284f-1143-4007-aea5-1aa026498967" +} \ No newline at end of file diff --git a/standards/4.4.1/Compare_Ed431_441.2.pdf b/standards/4.4.1/Compare_Ed431_441.2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5d42f12b2c1f5732a9739f480ae5342f92c24556 Binary files /dev/null and b/standards/4.4.1/Compare_Ed431_441.2.pdf differ diff --git a/standards/4.4.1/Compare_Ed431_441.pdf b/standards/4.4.1/Compare_Ed431_441.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0432578d0ddf6f035b3b58e3d3b2c1964dfbd8e4 Binary files /dev/null and b/standards/4.4.1/Compare_Ed431_441.pdf differ diff --git a/standards/4.4.1/ETSI ES 201 873_compare_441_to_431.docx b/standards/4.4.1/ETSI ES 201 873_compare_441_to_431.docx new file mode 100644 index 0000000000000000000000000000000000000000..ba5ab2a96b39ba68740b8b6e0be6b2ddfa9d3363 Binary files /dev/null and b/standards/4.4.1/ETSI ES 201 873_compare_441_to_431.docx differ diff --git a/standards/4.4.1/es_20187301v040401p.doc b/standards/4.4.1/es_20187301v040401p.doc new file mode 100644 index 0000000000000000000000000000000000000000..7b572ef06bd4f580fabfae9b1b5853cd95dfced0 Binary files /dev/null and b/standards/4.4.1/es_20187301v040401p.doc differ diff --git a/standards/4.4.1/es_20187301v040401p.pdf b/standards/4.4.1/es_20187301v040401p.pdf new file mode 100644 index 0000000000000000000000000000000000000000..417804c31f62402762829ec478b7c59f52f822c6 --- /dev/null +++ b/standards/4.4.1/es_20187301v040401p.pdf @@ -0,0 +1,8494 @@ +%PDF-1.5 %âãÏÓ +1372 0 obj <> endobj +xref +1372 444 +0000000016 00000 n +0000014388 00000 n +0000014622 00000 n +0000009370 00000 n +0000014807 00000 n +0000014940 00000 n +0000015092 00000 n +0000015301 00000 n +0000015821 00000 n +0000016708 00000 n +0000016746 00000 n +0000016947 00000 n +0000017130 00000 n +0000017208 00000 n +0000018023 00000 n +0000018984 00000 n +0000019165 00000 n +0000019725 00000 n +0000019917 00000 n +0000020430 00000 n +0000020924 00000 n +0000021115 00000 n +0000023809 00000 n +0000024003 00000 n +0000040404 00000 n +0000040465 00000 n +0000040575 00000 n +0000040665 00000 n +0000040798 00000 n +0000040985 00000 n +0000041118 00000 n +0000041280 00000 n +0000041473 00000 n +0000041612 00000 n +0000041741 00000 n +0000041922 00000 n +0000042020 00000 n +0000042163 00000 n +0000042339 00000 n +0000042459 00000 n +0000042576 00000 n +0000042763 00000 n +0000042888 00000 n +0000043027 00000 n +0000043200 00000 n +0000043339 00000 n +0000043519 00000 n +0000043639 00000 n +0000043799 00000 n +0000043948 00000 n +0000044055 00000 n +0000044206 00000 n +0000044315 00000 n +0000044419 00000 n +0000044537 00000 n +0000044699 00000 n +0000044808 00000 n +0000044920 00000 n +0000045073 00000 n +0000045181 00000 n +0000045312 00000 n +0000045474 00000 n +0000045628 00000 n +0000045745 00000 n +0000045907 00000 n +0000046054 00000 n +0000046205 00000 n +0000046394 00000 n +0000046504 00000 n +0000046646 00000 n +0000046808 00000 n +0000046907 00000 n +0000047011 00000 n +0000047157 00000 n +0000047261 00000 n +0000047431 00000 n +0000047566 00000 n +0000047664 00000 n +0000047821 00000 n +0000047938 00000 n +0000048076 00000 n +0000048209 00000 n +0000048327 00000 n +0000048443 00000 n +0000048599 00000 n +0000048701 00000 n +0000048807 00000 n +0000048927 00000 n +0000049114 00000 n +0000049220 00000 n +0000049329 00000 n +0000049473 00000 n +0000049583 00000 n +0000049690 00000 n +0000049837 00000 n +0000049971 00000 n +0000050092 00000 n +0000050244 00000 n +0000050391 00000 n +0000050490 00000 n +0000050649 00000 n +0000050760 00000 n +0000050867 00000 n +0000051014 00000 n +0000051142 00000 n +0000051239 00000 n +0000051403 00000 n +0000051500 00000 n +0000051599 00000 n +0000051744 00000 n +0000051850 00000 n +0000051960 00000 n +0000052063 00000 n +0000052167 00000 n +0000052298 00000 n +0000052453 00000 n +0000052595 00000 n +0000052700 00000 n +0000052831 00000 n +0000052980 00000 n +0000053096 00000 n +0000053209 00000 n +0000053332 00000 n +0000053453 00000 n +0000053589 00000 n +0000053728 00000 n +0000053885 00000 n +0000054012 00000 n +0000054116 00000 n +0000054283 00000 n +0000054434 00000 n +0000054591 00000 n +0000054726 00000 n +0000054846 00000 n +0000054984 00000 n +0000055108 00000 n +0000055265 00000 n +0000055383 00000 n +0000055499 00000 n +0000055628 00000 n +0000055749 00000 n +0000055858 00000 n +0000055972 00000 n +0000056119 00000 n +0000056245 00000 n +0000056374 00000 n +0000056505 00000 n +0000056678 00000 n +0000056792 00000 n +0000056934 00000 n +0000057096 00000 n +0000057220 00000 n +0000057349 00000 n +0000057480 00000 n +0000057602 00000 n +0000057765 00000 n +0000057919 00000 n +0000058045 00000 n +0000058175 00000 n +0000058309 00000 n +0000058458 00000 n +0000058593 00000 n +0000058766 00000 n +0000058890 00000 n +0000059017 00000 n +0000059152 00000 n +0000059285 00000 n +0000059429 00000 n +0000059578 00000 n +0000059697 00000 n +0000059848 00000 n +0000059957 00000 n +0000060113 00000 n +0000060283 00000 n +0000060396 00000 n +0000060522 00000 n +0000060662 00000 n +0000060811 00000 n +0000060943 00000 n +0000061054 00000 n +0000061173 00000 n +0000061282 00000 n +0000061387 00000 n +0000061504 00000 n +0000061624 00000 n +0000061744 00000 n +0000061867 00000 n +0000061983 00000 n +0000062145 00000 n +0000062251 00000 n +0000062364 00000 n +0000062495 00000 n +0000062658 00000 n +0000062774 00000 n +0000062916 00000 n +0000063040 00000 n +0000063198 00000 n +0000063377 00000 n +0000063520 00000 n +0000063666 00000 n +0000063787 00000 n +0000063920 00000 n +0000064041 00000 n +0000064160 00000 n +0000064283 00000 n +0000064451 00000 n +0000064557 00000 n +0000064698 00000 n +0000064892 00000 n +0000065020 00000 n +0000065142 00000 n +0000065264 00000 n +0000065383 00000 n +0000065511 00000 n +0000065642 00000 n +0000065787 00000 n +0000065926 00000 n +0000066077 00000 n +0000066231 00000 n +0000066380 00000 n +0000066473 00000 n +0000066581 00000 n +0000066711 00000 n +0000066834 00000 n +0000066958 00000 n +0000067083 00000 n +0000067205 00000 n +0000067325 00000 n +0000067448 00000 n +0000067578 00000 n +0000067699 00000 n +0000067820 00000 n +0000067945 00000 n +0000068066 00000 n +0000068185 00000 n +0000068312 00000 n +0000068435 00000 n +0000068546 00000 n +0000068660 00000 n +0000068787 00000 n +0000068909 00000 n +0000069029 00000 n +0000069156 00000 n +0000069266 00000 n +0000069405 00000 n +0000069565 00000 n +0000069666 00000 n +0000069791 00000 n +0000069914 00000 n +0000070039 00000 n +0000070163 00000 n +0000070301 00000 n +0000070439 00000 n +0000070579 00000 n +0000070700 00000 n +0000070825 00000 n +0000070997 00000 n +0000071112 00000 n +0000071231 00000 n +0000071353 00000 n +0000071522 00000 n +0000071631 00000 n +0000071740 00000 n +0000071908 00000 n +0000072016 00000 n +0000072128 00000 n +0000072254 00000 n +0000072378 00000 n +0000072505 00000 n +0000072628 00000 n +0000072753 00000 n +0000072881 00000 n +0000073008 00000 n +0000073135 00000 n +0000073268 00000 n +0000073438 00000 n +0000073571 00000 n +0000073705 00000 n +0000073869 00000 n +0000074017 00000 n +0000074140 00000 n +0000074269 00000 n +0000074395 00000 n +0000074522 00000 n +0000074648 00000 n +0000074775 00000 n +0000074898 00000 n +0000075018 00000 n +0000075139 00000 n +0000075259 00000 n +0000075380 00000 n +0000075489 00000 n +0000075629 00000 n +0000075806 00000 n +0000075936 00000 n +0000076064 00000 n +0000076222 00000 n +0000076326 00000 n +0000076442 00000 n +0000076600 00000 n +0000076708 00000 n +0000076818 00000 n +0000076931 00000 n +0000077062 00000 n +0000077215 00000 n +0000077322 00000 n +0000077431 00000 n +0000077552 00000 n +0000077662 00000 n +0000077771 00000 n +0000077925 00000 n +0000078039 00000 n +0000078151 00000 n +0000078312 00000 n +0000078427 00000 n +0000078541 00000 n +0000078658 00000 n +0000078826 00000 n +0000078927 00000 n +0000079048 00000 n +0000079184 00000 n +0000079321 00000 n +0000079458 00000 n +0000079582 00000 n +0000079708 00000 n +0000079834 00000 n +0000079962 00000 n +0000080092 00000 n +0000080219 00000 n +0000080347 00000 n +0000080474 00000 n +0000080601 00000 n +0000080725 00000 n +0000080847 00000 n +0000080974 00000 n +0000081087 00000 n +0000081240 00000 n +0000081345 00000 n +0000081474 00000 n +0000081646 00000 n +0000081757 00000 n +0000081871 00000 n +0000082046 00000 n +0000082187 00000 n +0000082289 00000 n +0000082467 00000 n +0000082571 00000 n +0000082686 00000 n +0000082797 00000 n +0000082910 00000 n +0000083025 00000 n +0000083148 00000 n +0000083262 00000 n +0000083393 00000 n +0000083573 00000 n +0000083686 00000 n +0000083797 00000 n +0000083935 00000 n +0000084064 00000 n +0000084190 00000 n +0000084316 00000 n +0000084430 00000 n +0000084584 00000 n +0000084695 00000 n +0000084805 00000 n +0000084976 00000 n +0000085084 00000 n +0000085193 00000 n +0000085358 00000 n +0000085470 00000 n +0000085579 00000 n +0000085738 00000 n +0000085854 00000 n +0000085983 00000 n +0000086142 00000 n +0000086251 00000 n +0000086363 00000 n +0000086493 00000 n +0000086628 00000 n +0000086761 00000 n +0000086886 00000 n +0000087035 00000 n +0000087170 00000 n +0000087299 00000 n +0000087429 00000 n +0000087555 00000 n +0000087683 00000 n +0000087811 00000 n +0000087938 00000 n +0000088062 00000 n +0000088189 00000 n +0000088318 00000 n +0000088444 00000 n +0000088568 00000 n +0000088702 00000 n +0000088828 00000 n +0000088953 00000 n +0000089072 00000 n +0000089191 00000 n +0000089315 00000 n +0000089440 00000 n +0000089563 00000 n +0000089690 00000 n +0000089814 00000 n +0000089947 00000 n +0000090070 00000 n +0000090194 00000 n +0000090319 00000 n +0000090448 00000 n +0000090579 00000 n +0000090708 00000 n +0000090861 00000 n +0000091014 00000 n +0000091154 00000 n +0000091263 00000 n +0000091428 00000 n +0000091532 00000 n +0000091702 00000 n +0000091829 00000 n +0000091952 00000 n +0000092104 00000 n +0000092247 00000 n +0000092387 00000 n +0000092507 00000 n +0000092627 00000 n +0000092764 00000 n +0000092895 00000 n +0000093002 00000 n +0000093146 00000 n +0000093287 00000 n +0000093427 00000 n +0000093542 00000 n +0000093656 00000 n +0000093764 00000 n +0000093895 00000 n +0000094009 00000 n +0000094126 00000 n +0000094254 00000 n +0000094383 00000 n +0000094502 00000 n +0000094613 00000 n +0000094744 00000 n +0000094871 00000 n +0000095006 00000 n +trailer +<]>> +startxref +0 +%%EOF + +1375 0 obj<>stream +‘ò«¿jžÑƒ8u5~¢„6î“9‹Þ^FGòö{pQ2…ÃвMo34L]ü¬º)O—\†¦ªnû±”u:áû4;L, X‰å™D-`én& +·ØÃn±L(3Rò8Ýü)iïmÙýiR-/望†DljšAñݪR_zXš% ÈU²ÈÑ!—Bwú"¹Ú·æ³etžâc C6‰ô}Te»g[ªê5*»£[EÒG‡W¼þê=îÓ4¨õ@[4€Z‹ž£ï æaE„®©¾åb­nºí†?tã8ž±ëƒ¬‚¹æŸâ-¢îIØœ…°;r»oÚmÏìÍ—¡Z#´cÄîòöàŠ1½]°çÄüÔ–ÞJ´îf»Ry,äwo€†ÃŸÇ—¯'£EW`×ýjèJeã_ê+ öÅ«Mæâ/Û¬ÏW–SkæÙÆ™z +¶ˆ8ef*þ,@¹Á*TŠÿ¬€5Š…§` ñZ¬²±Î™ÎzÈa‹ûóÖ³Áƒe>2Ò½ãÝ3‚`àN`Á×®Z½f|¬(ш–ýdæ#ð±±bP)@¿8¬|OýHañ¤TˆÏ¹âXŸ§*/ÁyÙeZö¿ž¬ú6Óe±jšè¢ž»ojøãPä¿:·1%Èi(Þh±ét´c\§Cð$@ôŸ³‡3–Pë:|}6¦¡³ä’ç œ@›|z«Öç  µrgÏZ³\Ñæ×òìR1e Xç©ÉŸÉh~ +5î u é*6­6V«Òs'9ë’f+bQ’ÙÁa ¾ÞÿHê¸{WBQ‚¼à~^RÆ.öŽIU´µC·½‹/óë…—¢N‡]ˆ.ªÅ¼íÿC©'èj»m7ØNf¶öXN“㨄®ÙkŒã—F˜™†ê’7^]hÞí&Õ/{•ÔiºÑ`³ùØn‚Q,&çý±tn=ö*œðÚëÉüç5nÔÓYv}x”žF#~ð‡Ýο˜ºUÀèÀ¯mÛ­ÑÿÞ¨^E\÷ìÎPs–]!¬Ù.S@ðàA½zpSSó +ÑŠÔxÙ7¢5ÛÔ7&èèƒüùWŒ}uÒ·õ€M"QÐa1†¨´Im†-ÈÓ8]Œ×Z|Å´ )7jä,ývãK*ëuI³*múÄëAÀ݈¿•qz_›?ûºÜ“ÏqºX‰ýÆt7ÑwCy’½°U“p¥sèÛ}4O”tÿ *Žó‚Å+»LѨcDó¢´ýÖ¡ÌǽpMl«ÞÀ.ð*×í l{à¾à¬°NÎÌi[}€ÅÔÈh§N5²øèJ)p®m"…¡hÂsµåró˜ˆÙhê³b"ræ‡ð°ö§³áB’á«'™%5>Í sâþPŒ<§òIÁ l,F÷…¥–­ûÒHþ£[ÄIP²«1YÎô.jÄâû"Xí݆|pîiÍ@ÈB%î»*„.UÆåŠ"³QN6ù½x¶€`ø·ÿ”T<Þï,-$¹ø†¶¡º_#QGZ6{\ôû3vôõf=c95t-Ý•ÙòÁô~UNÊÉ=&Ÿúöôr嬦žÇyöfuí¤Í­[.¶åˆ¦xžj ñî'ÎõÏ,÷À¦ýCÚ"¿i0‹c».…¯¡¡~âíSåeÊÖ!T[¤±Á¢–*€ö ¹ž‹¸6le7貟Wîé°˜_["f-Ãdže° P|Ú™„Aeôìëâ#‚yS»—ƒ»é¹·¯0Ì÷½~1oyï3bdObá 9Úù)ÌÿÉÛħÍI³ç@f4W¹)Eyª-ŶÑ÷qI}>]oç‰ +xGþòUµ¤`[f,Vp PDL¿Æò©ø̃»8¸½Ì»º«ZQK|ÚJslî'ÆKƒOŽ9óMRê´©'£9b¾›p/³4îb?6Z’n¼¦ë&'6 kêŸÛKºBª•g—ØéÙ°m®¥ZbnGÍ2\sÄ©áN-ƒ&†?ƒ«m{ŠÒ™¶L—ÇÏ™í"mmpÕL‡/6ùôÓè‘mΛüÿx´ËÚÛl ƒê_Ò=ËĨ)U9TÚÀ^Í–j?&'\ë¤Ø~¸/õÛíÔøÈHûÞ“2–$w³¢X÷ºrŽé“yôq²ŸÄk×ü°­™èáÊãžéwÉ"Ÿ¡?Y(;ˆQ¡yÞ›et1B…9:ªA'x¯ˆB]ò_‡>ÛÊ=‹gô ò0’"C:ûò‡ AÅõ¯®N§,ÅÇ…™ù?í£&M‹^cˆlrɈµ3œá€óÜ—ê“jDsǹGïôœr¤+õÊÍ‘<šõ¡xà0“ìÙ¢p/ÅWy?ÍСÇŠ7T¸» @÷{­´h…°!Ü KàùK Hd¾NÅìšÀú]«ZÊØbz;F@J¥s‘Ô`Ò"ä 'Ö—HF3YVÆñxÝžPü.%èùyPŒN¦£úÊù»ÓX‘ æð"T‡7¼¥± ½šYßí`™U·³bgÔb¶èšh’×)„Ê“ˆßz1úÑ;I_î¦¡É Î.pßèrÐ]G£ÎWæ%µúã×ÎT×Åà.JtÞ gy×¢šGQ×TŸH€e®—ö «ŠIxÔ°Ç|g‰b’#›e˜l©¶™Žu\²¶Cuµxr ‰£›Tñí, ÛRºÐNL½A÷Kçã`Áƒ‚ã2fäû ØÔÏ&]@³RÜT‚¶ÌdùÏÎæ£ Â^Â΂.uð¶Ý„fÛ±CøðÍõæÜyéYßå³ÄÄVpwô†•Åïúä7ý[þ`Û8uÅX½“ ò¨n«$q œcAŠK&”ê/Ȫë µŠ0_çؾüdX/Óò{£ê½“©'¯\æ?gìY,!™]õ7`‹(r©ª—z°g¬¾^Õ¶\@€aÒ«Þp¸ºªÒ JwsJiɹ!  ¦³fwvm +%¾#‘Õàþ%}W<üÃMÝŽ‘U å p ´X¤Ú¯ÈJD“w¹<Ó¼=2ù‘ä[2"—²ßDQxÔÅ’U’Ĉ¾vVÏ;ÛÈdZÄ¡ìøÀ°'¦ÒFÓT]c4%,õÈ€ÝEýU;`Þ¹c‡råš¡œ¤$ÏþÝåÇaK*ÞFÄ]+eç•yß Œã¸_‹Ÿ–aÉ(ñS—]ænòØÞËÃD{‹ß²ŒÆX?ÈmVolØ úÚ¯ùó4AÛî¤RmY«øs¸‚i›tRc¾Â>‰œÏ+jA'dµ_r(<9±¿ Jô":²ë¾•AÓçFÃÇ?EpÅPö™áeÂòÚ­¸1åT£­Ón|„¢&qiwqHKïÈåìöp–벬q.WÓÛ5R +ÖÉâ¡=¨+ÈÉé7NBÛ™–‘…Œ•÷ª~· £ L^ûø #.‘•¼7ù|FÆLõŸäù°69à¶ä°èÚÖuô7´Pí¿qÊÈ4DÉy‘Q}r+Ò]+ä´ÕþpÖ¸’}H£ŠÊ7ahÓª[l†!Ëq‡‡A‰pÔTjJÃ_Ñ»nâ§3DX”h?1¢ôG~¨%Spš§í¾— ˜\ñ&m§×+ê.æŒ÷ÆèlÆ$ïQœs“í5Õì‹pƒ+Sè*ÜuÙ°–QäÍd/ú UPÊ–foPü£ß»$m…ÑÅŸîE$ß’¶ýŠ¯nâ¯Hxè§â#ö«ÿ:x´‡ù—ÏS'±ë—¹d!?rèç&O׬¸ï˜róŒ…L7fðH~y|o{À¸øz%p"e%ëðÏííúp_ è}9A'Uô3R;a§¥Û¯¦?1Kœ¿ŸtÙÂë˜ò!¼måòöTÃÙªþçÍ w Øbw“:úNš¾gF‹°Ö“°6GùÉ]¦Óùԋ܇ +Ž(¬ “…û¦}FZÑ÷;’KgƒÓÉKäMå³Ð” )ZͺS@°«?y]çMd l¤t»˜ß­Ð2vkœj]ÝÙ‰J:³øäœÉðt­‡tZ^<„jA5¢*×+ç£P }œÂ”oÖ—bþ–¶NTÇM%k ó¼ œž Ã+ uð‡26 ë‹x°áö{¶©Fi2·¡ÞÇÝÜÅBxÌ¿9X&äÑEhýkχë"?Åz¡ 'W.—û|™9!¯È{= /z#f»e¿M¹Õ"ñ¯åA.q%”'ÁW2ÖNr9Æ…Ú±Ð-wäÔKY4ˆÞwSK³ÁuK1æ‚wpßÄáQn?lÈYtÖŠÍžUD>`ì_ï²”@™µƒ~ü©Y×{Ũ¿+_WhË«¡Q˜°º,Ûî[fTc¶úïÕJ)›rXºIYãÈÌTkgº°%œïи¤½ +endstream endobj 1373 0 obj<>>>/StmF/StdCF/StrF/StdCF/EncryptMetadata false>> endobj 1374 0 obj<> endobj 1376 0 obj<>/Font<>>>/DA(]ÍSba”¨Jòè™:\r)>> endobj 1377 0 obj<> endobj 1378 0 obj<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageC]/ExtGState<>>> endobj 1379 0 obj<> endobj 1380 0 obj<> endobj 1381 0 obj[/ICCBased 1393 0 R] endobj 1382 0 obj<> endobj 1383 0 obj<> endobj 1384 0 obj<> endobj 1385 0 obj<>stream +-et'z›B¾–A qŠå~@ý“P’ãˆ^1­û“Õ 䔹%ûOµN.”é€sþÍ¡+Ö¦åuå¿à1LšbÖÏ_§[J¥yë»Cµ¾C£À§nÄÊ_ +…1Ó(¶†àJØÉ œˆ’ ÐwþqŠ8tL:"e [Œú5f +u¢LÕO=õ ÇUwê|¢‹4z'>@eµ'¿÷`°]®eîؘ¼nRω~VTH„˜¾n©f ?쎈…D”ÎeèAß"PêúÓTö'—ÀÇÏ&w~îªaÅÂ+—.,¤ž¡jQ•dú§²f2êÂ…ý†½8+g«¸!UïÑ,ñd˜ìžòóŠ³#yÔÕg>0IY°´éwÕë꧘ê´0¶:Dä؉{¶‚)u˜ˆyœÏ³àË@"ŒhêÿòhØa3/ŠŽ]gy {ž™\ÆΛÔÉÊ#H2ÒtýnÆ'*7¶6%“ß«Nƒ÷ÌC÷¨Œë¬#yNñ%¨_•BD‰Ž³7æÂe +ŒJµÁn„æ-ÚôžsêSê±Éä5–Ð÷2À3k¡ Av(Cˆ¢Öø™úƒ¯@HQu½w¹-ƒþéaŠ­qÛ@IwPieë€0]£q +endstream endobj 1386 0 obj<> endobj 1387 0 obj<> endobj 1388 0 obj<> endobj 1389 0 obj<> endobj 1390 0 obj<> endobj 1391 0 obj<> endobj 1392 0 obj<> endobj 1393 0 obj<>stream +8ÙB 'CÑìO{DxÍÑÿIc=8”½ó±_X®Â©­˜f.F·8KBB×óáécϘt©ÿHæ1v¹‰qizz;@]©y˜dX`æßÃ<20šÁ‰¯ÅÏ–Žiôö’ |qÏÁœlÐ÷o^DHâ¸|ÿ®—$ÂR²dÞ>ƒÚ¡‹Z¿˜á[XoÛÔ"ê½ÂùÄ’¤6ÆÓÔ1¹Û¦»®Žôâ焵§¤É,k{ÜñO¶wóÑlwàC+Ûˆx—o~õ¢B«ègú\4S–h¡ZÉWtF.ê ÅzŒ"‡à¼ ‹õØ<Ž›; VÃ"R§×ŽhGÛ$rÖgÏü +$äò2ƒÀ¸HÊÏ©Û%Ä/~›ßOaqJ•‰X{J–-\yXù#!+Œº¨}{§ðÞÎ!êå²jÁÆîëôLµ²û»ÂŒ˜ÈæÈyqÊÿ+”"ÅÕ¹dF>3åÁ\­ËNøêºU‰þ œ‰·íy›=ÎøŽ³)0ðüÐÕ~»Fƒ+§ Ñ]¤„fú4WŽ¤ˆÛÚ@íRÒüISÂ*h¬ÔJ»L…¿$–ŸBC«pÞŒ}7µ©·6ê‹TÙº]>ƒ•RcY¥%ñø` j2xÛÐmë6ÚoÙÞž6;±»ñåXÙqŒt +¶3A‘õI]¨‹ã¨#î2Óß‹díá©?ƒ²0^¥îm'ÚE Ú≮vÜóZ[Ì·à;§x&jÛ‘ÙÙŽ‚%çd“œv÷°É£J§Sƒ•ð÷¦h—ŠéÊ_ áÌoXž³Üéò2šƒ#—¾—´ ´­HØp|¶#A•Lþ"’ev*4ž‘ÃÛ è’Z×L{cëàI(”N߆ë«ÕåYKÜá¯îuGZɦ9Z Oücß±ù‰ˆ¾µûNÑ¥mó™rWÒ‰¹g QI×_"Xþf’̇£iÕÎQ³ò5ƒo½O; wqj¿Vïåó:Ñž€Ëà ýšÃÊüŕ͸ ß.ÃgêÿÍþ‹ÈìQË\ÚrLD<š&ù¨Z[W·•ø–!RÒ©¥Ù».¡»[׎1[§,ƒl_Î@¾ …pqV÷ -ù{°©[iØþdåÆ€BºR‹‚8F­8¬ÊM¿vÉÅ ‡Å£P_Ö›œWr±%ÜH`0šÎÃpñÆš x­sS^“ÇÖ Ý¡ýòøLlQÒË?zžUaSÕþêmRÉdÂ3r—¡1ÐfS™kòìù1cßÒ˜É!hówÕn-ì¦Æ•'´ŽØ?ûG:pÞ´o™×Š.†ŒIøG›êßëJáÓgR²«A V>k?ËzwòŒ^ ¾‚̾ˆŒHp©ÀMr|#:ý­¶)xÐ?_£ág{ž¶þÚ¬ªÁ»äDX¿p* +æ.î`_Hgë…UéÐ=¨Ï¤âo¢k© ü½¶&¡Ï@>A„F ƒÍ^ªÅ;¶Â›ÑWŒ!]Ög¡P‡5ÎP¤‘«S‹.kIqRFÀÉ"·^Cê4 kç¥Í*7»ûruV²Î4ˆêÉߧN€É7ºÒ/BÅ]¡Í£EZ×qpDgìè^DÅÏÀ–j-3z*Î7ö†2Õ[êÓý ™¯ç*RQNˆ‡˜€[€ÍíUôqu]6Óm°¥à¢ÁÃor4 оR­"¤}ÑdûŽqUäÚj!Wæ·²z÷Ši;ïWŠ#݃k¤4¨Ÿ}w1Ën—íkT³mZ!åÇL‹Bö“Ų­ÔA/çMéR‰ |!.1F´÷!$ìXg„²”ß„±Yîz2³taÙ¦ñÓ•>5Çh¢¿çì—´k¿ÂzväÊR`™]ÅVr¯¿cz:þÔAêú¶gZÊFªwÛŸ&·Ã^¶X¸Ö²wÜJÿ›úÓ£¤ÙàYéý® ‹÷¼ùéÙWîH Ä2ÒÉ?w쎣½ ¾5$áßÚÚúyk¡$€3ö¸°ÏHšø’fÃ÷D“hðö$o¨}’Ëì„d¤M8< M*X¶;”üç@Ò¿O:ž‘™d–»å®Žå áoª¶7öiщ¦­…SMÍ+K^Ó&"Iñ‡Ö$±&¥?oÆ»Hy*© +ÙüUA"=’¿@lÌ¿J,eð²>PÌì®þ^Gx¾Äó8¥Ñ÷·oèìåÆ>_%k[91ŸRÌÜìŽð¿Mâ³£!MU.tW˜†w¢¨–Ù½€Cèi™D*ç?¹O[^fASÿ”j«dà]A5üí*±{»¦£K|nÍ2ãg͇}¨#ŸT8ÌŸdÂXxÔ2"…®@»Þ¶ïu­Ä×#T]ŒöáÛÕp~®LÄÄî¶yÎÿ¸^ħ•5)®ëLÔ;Ù.@á4ݤ+p¨×”Ô\“ÉšÑäcVË»ðܪ5Özø<›. î,Áu +jÍjó ±Ê²–Ýdc@ðñ4 »š)‡Sïâ)Ç-q¹z–·U~¯j†Dmõašö0‰dm‘¾ 3uìÓ‘•ÅW/¹WÏÖ.å“=<¥¬äÙU¢¶ ub|fû¾ˆüqã/ÜƳG¨½ùCBNKæÿ<ï³ÄrqD×cÞhðû„„H!µÂ÷Û‡€Aj?›³û¹÷k’AN€Ká$—<¿ûê½3qÖ'_'}ê·<ÄÃJ¥r6:ß¹r“ß·§CþÖ_»9× `°çÓ~¯Ý£¯ŠÌÈ8(º‚ñ\•Ú%@ZjDIƒ¹•—?—uOOþÞ!»Æî†3æÚ6ñÙ¹p+‘–G%‹B¯÷ÔâÛ„t’ãŸEœçù¨s¨‘íŠÏP-eD¢ëàQ YÀ‘z*’âòœ¯™ÚŒ° +YÉâÄv˜®ìÃêà]z/òµ_M³ÐÐ)h›`i?M¸¢—Ñ„b*v¸™djŽi}÷åQ_Ú·è2Ë-Ь‹*³Ñ ›ÊùÏJQè›:fˆfÚ\7‚"4©¾²Š¬Yñ˜ÞÀ§_na]š—òã*7ð“ëào¦ƒA*f„ã,zÿ%q^eÉH{P|ÇñË¢I%­L½ìól¦âë3ÀóàIW½íPT"US>`ÂXsE}E$¨Ô‘A.Ûéyóƒï~¡Ò o‰MÔ;– ù©Õ€k#ì¸$ê¸Ïj…`xqL2‚Ö†Ša@=ɶ÷ßag]E§¢'ép·Ý“$\lxœÆíÚ£œ,g•yfOØYþ?$BS¶n'¶V°Öìþy~øê\çš|˜WK—„$cÀ×k\º¯"HEšM%C‚Á5»[RÅÜxßè£9[0Ñdé#„-cC|x¥Ȉ‰àK›ß¿^@V,\·AfdˆJ¯ñËqï…¢·êBP1=‹Œ)Í^ã…%øÔÝaÿœâ +©?Úƒ·{„–›!œGµz†¿‚¸$̤ÏÚšßQä·Šå3‹0¯: +endstream endobj 1394 0 obj<> endobj 1395 0 obj<>stream +Ù‚¡¤)ôvá![‰$Cð´@v €7ð Åwô‰Ðíar«Ÿ´DLWÛ!ß 0ÊZ M¹ÌDÖØv›8‡.º³)j©‡»Y=¿íÉ ¶?ÜßÝ*‚Ý›MØ€zþ\*ñþ/Ukûq¿Ô­6±f_=.æ› ·õ%®éök/JïJišï‘Ón +‰ðݧõU4717«¸]bƒ‡¢'ÙBûÍͼázÕ‘)M¢ð„¼”îÉųSsÌÅCò8€Öf•liõ¥#^FY -#®¨KëJ”fÁ5IüõùH B6ò@*Ò;G±Ü©5öÓ¯»IÄ‘¬­~r†Áâܹ8i°òÜ:4tÎðVHuw’»ÁZyè=Z²žÒÂéúø³ËŽúà'Ì‹óÆ„zëßâó»·aÚ;T Ì®?MÄÄcž˜/{„+ÍIúDãa÷qRVÜOÍ} ¨^¦ÝÝY$`B¬JQý1ßØ +}wÂvMcë‹\qÁå‹“@-,ÏÖ6<‹M[RÅÁípÅhB3Å„v½,ØåÐ' Ùã þF¦¸ þ^x©×t‚Z¾åyEtã’ZXñªPÈS`+;Æhql»Û¥•¹Õm5Ê¡ˆxø•ÕeŒ€MÑHzµêÖòxL½R†… _Kä¾ìeXOÔP“à'ƒ(ŒƒKk$­S9íJœ7˜o73KáœÏ3aä£ èš¼ÐÇCH_Tq%½ÔáÃG>ÓÑÐeÓ…ñš^+š½˜­ >?…u„1ÐKÂ)½lwý„aê¢ú- 1AÐÀ%ÔòKÚ.1qšVYœu¢àVYmD …€w€Ëjþé øŠGMŽ§;uô¼5Ø +Þ_,ÙIÃ÷²`¤°eþ¿þUè2q¦p‘ÿŽÎ£²f›þ½ù _r+îñ‡jH¥ÉD%‚ÁB:¥¢ø,2‡K?}'63h›'QqùBÐèÆ«Èìa[Úܱ‚€Rc¹_E¼¸ØK ™låBî”^êæG.`z¦ò¥ØõÇ å•èŸM¦xª¿×~ÐäT³[i”žgŸZ/©|°·/]î× -ÍñFB˜†J×ÂBG>ýãGá¶99^”TNIy¼˜ûÿçOXÒ>iùYIîª2?)¹¶"%rÒë„}ЧšW4<–ÈÕÔl¢ë#þ@¾8á$—ÐwYôŽ<6†IÔñJUD •í/ùÐ-›aq¹^ú)fy”þ¤ž«°Vr‚É·%ÞÎdEµØ¾›Ü£:Í)ž"Š÷’ ,“¾Þ¤$Cõá«(¦Tu7gƒ…±ýÊßÈV´,8Ì$4[ÈiëÕIA-Žp6CÈüì56{uóÔ¶EBå|†NÌ Û£B¸ZOF}axC¼Šnê8Ýè™j&øßÉê°áM, „’—o‹¯íí*0’>¿·¿–cÌ^€ïpýŠ œöô ·¼¨ˆë…%îïÏ‹[±&åc)´?ÂÏ¡¶B-É8Ÿ–>ß *[ÊØ£â²]…ñÖøÍ­À{!Õë­ÿÝIè$ËÍ”^nåvÙ"Œ³ê·£‰ÙÂÝ2ë‡ï={“ú,#0ùh³¤âIóóö¤lÁ‚çX‘Ê,¿3A®ïˆñ ú­Ž|È×Ϭ ¦bx +0º~¬¾ms&Ÿy®{HÃAëo!pWŠ(¨ K‘å†$‡ª¾•bþË(üëØkY–)kãácujžôHu¿Æ×ëüŠ'É )•ðìÝáŽÊ8‹ô‡Y^“ øŒLRLJéè7“-„ôˆÌ·ÆIýô¢îcwþÁÀÓ&Œ={o2ãv_o¬XåqÛÞ³÷Ö„ÀôŠR…jò¾Aˆ/õFÞZBÖÓš™âu*ï¶3ôw‘Ó**÷5.ú@¶Vs"O=KXl°OõâñhNxgÒ“4NeáZ®H{¾¯«0Qò±zâfÅ^ðuHëRh +jÞ’F Hô~YvM~: ‰ù'Y½…uQloÕME®)V>Í4|%$Yê’Ž‚EØÖe¸Ñ šö}Y™Ômu& <[[•Cz«À`÷–Ü5œ¼wâõuƒÓÛ•+W\!¦dÌë6+©#~Ö}×ÆÅ?žš;!ªmöÈmâ—K[øD|} M,n’ rV³„Ë¡Ãö…f—ª ÈéRr÷—dKëÌøù¨yQ_ñ`âË™¦½Â‡´ÈëËô\»J6ÿE5Æ(žBrìáRj¬û$EØZ¦>QnœæxØôW’PçF¼¡2½ÛkekÕD3MÎÂÉ\å„l…É›žýÀÄJ7‹û4*ÆGã^À¢0œ'³þ;Ÿi¤¬Œ½?} )ñ5¼S£æ0çÎSÈÁLÛ@ݹå½[cõ*ü6=þwY¨7‰!hçÝ5AMþ««ZÑÝ zç„ð^MØ… +‡Þ“ª=,Íú#ÐvàÑ vé»9µ¦žî¯ñ€j²Ý£ùB¯Ä15yªÀ§hûG›M‰Y_}YDûeïܯ¬Z:Škñ¡ÔêX…ËTÔƒ©TD¡!C»ç¤=\¶:ö¦ìœYä§Á~.‘¬övm~ ëÖáfM’áÿV‹CºâJí¯©/sÁ¡RŠD¡–TÁ&h ÜÉ#|¾¡=Ní×mQ?øþ&M{·ÔÆQÎHŽ…Tˆ›y~åƒ ¥…;g˜›Ç\âg«P±6@dùàWïô:ex#¶.)f‹Hð§¶jëþ]™²ã2r‚H@ Ù*«Uîa,奇Š¤®$ ‘È#   –Ð%À÷î7¤çn­è§þAVi%ß0ð¸ <¼{DÏj¿0 oƒáç<áSâq÷²O2g0Ó<²)&@Qg …4°áD‰"N=§=‘YHV”ÊñÚÝîT¸ñQ°éL°œ?&§SÈT -Ä8Ë7ˆE6eÍ,¥øùxWþ%Ñaê5ÑÒ‘÷ûh;ɺk[U×\µHêtÒÝ{ûÎÃýMXܤ…©A?‘ÈzÂaºÜ%‡of_p0¬e9µ™NXLaé ­ˆÞ f\qCêq­Ý +èÿñsó‹³nVÛ³2I\°jÑD_ërâxŠIã©v[U–¼¢`tœ§ÌKÀèV‘ø)=n‹dK; "Õ™"Eñ|ÞÚ Ü¹ÅD2’ãã´Û òå=¯"nBUü8¯¯QJÐßìÌžÁ˼ëx»ALÓÒØL>ŸLBRÒ³¨YGzڪȿDØ@ rD‹o?×WáUß;–ð½Ò÷›»õÚYØ˺Ááq™A‡q¥Ëo·28‰ïÄÇhÂx;K`ùÖ–&.1t–Q5c•t¼? +D‚³Þ"I!‚±¨`ŸÍ¿ê Ñùã •[\ˆŠÞZ[A +’8¨>_$=#÷Õ5b°ÑÐКsÂÐ/ VR#&éZâƒßÿ ël‡D?´k`—Êåå$A5¹V @r¯WÛ²Ý#Éd±Å^‚;€?Qp›žgE+ L¢¦-v4Y4=W‡nRuÅÕêò‰£‚X¡{ +Ä/íáŸF‰ÞÙk÷¼k…ŸbÇa}CK33ºcÊ\¢~’Ó挠;d®´2k«ëH†$-Æ$ð5€j©çÓ•g]ÃD@ìÚäÁâŠéÅþ““/±7C¬ª"ãß*Vjy£¨õî£/Ë1ÁÃ`ŸÜ´kdæEÐe<ªaÀ8wm9†Ž8u8”Ã/È]PÀî6Á¼m%—Ck¶â +ncÖ™“4“h´ˆÃË’ +pêw×XÛhSüß9•_Á…«³¶Œ²{ÝáBó˼GÚ„n¬…Òµ‰Ò‹Ux§pæšW±f^Ý[?õÛùöÑ©3é3J˜(¿^"õ2þʽ};®™Þ@e¸ì)‹jûl ±E&,æAd‰2`ÞyóˆfÉOnú˜fSdÄ°¹I:pDüÌ(ø«hl8tªÃ´ÍÙLd(I¿€?DT&'Fc‹Â#2Våv}ÚHU`בB2ñpã:7 W´žÏóè$¤V"á“x~¦A«e‘Mcž#—g¿¥·ï*82ý† ü¹"£Y×ã—Ž„ØÜ(œ[±?>VM«ï¨+D³Q("À“#røg1ú}L7 ƒäèrQc^Ðvq “ˆ›žô4Ÿü"ßWΦ‡°n“ ³Âî.fÊ|m:¯’WàêÕ F,Hñ¶›¥rŠM—DT«ROÁv~ø5ͨÙíoµ(…$÷ïÅ0˜Ìgù‡Û¦Ìuà¢G¡ú‹*õÈçV¥>FüfZ˜›qAhwÉÞþ?>÷žorÊ‹JrA”è¿$ZTúçVhq‹î‡‰³ÝwÑŒyý*iÜ|×F|€¾u1 ˲!ŠpLÿ«_Vnâ§k %²¹Çe'¯·?«#]€ÎÔA1'íQ¡'úRk*zé£uî*}˶òò.~›Hî· x9¿Ñ4Ü*“²¶”€ò’›bß=*•Å¹œ/aä\ÔMâ¨ÂÔ"È.ãõ›B¼í”pW¯3Rå_»÷ËqÍh—‡f³Øù°”å8Ö`hç؉u¢ß=-íÙÞrLŽÿ{ÌÊìSj«Iê}"éå_›“¶qøÞaç¨@3Š¨Qþ&ÆÈĵ£ËRBCTÖëéG9%fO'…k29M埌k³¨½V£M.’4ê,°„•p%p—§^·wËõ7vÉ…:7¨‰;æ#P2ß­²ýÀ®@Q3ÉÙ_3DÌ{\ñ¦Æ^Õµÿÿ¡^Ñïš;#v,ãp¥©\¹òh¤w­¯ ,U6¨ÈŒl )2üqåþ»äD»¶ÚeÊ©nå„|·/;NU»­Ô#¢sZÃ3äBÏÜvº$“h<ؼ¨yzBôŒ…T¤=¬R~Gx`©z Øe¿ÙìuÞ¿#q§aËÍb¦þòŽÊùŽ¢£KôNG‡ø†½mqŒüKIŠßõ*VÓ¦±¹„ZÂfzµ‰Ëäú„“—F-¤;6¾$Êk« zØDi(Ê‘%_|mÔ;h’÷K ÁÑYëÍ: „lž)ùÖ€\r5”þç(¢+lf”Õ¥†¿ Ò+'#©¤§MD¡aíÉÖ…øAGìÛLÞ)ƒe‰¤wã!46{sB$8ô%± ÛJqÁëQn‚ ëòš,ýê/¬Þ(¶cÄ‘ìCà¤NŒ¾ÚÃR…’oÖ£˜ƒGÜ )쿉I‹K ©R/œh˜´;ÎÐùìj|…˜©øðæ³g·êÜp[ë (ÈÍ×ØÜêµ”õ-ø«{årÝ“ìtAý((CIì‚_zÏ"ÿâäæ#Ú¯ä `£Íà»W’e·ì‡°°ÏÎ?q«pµt²P¿WDA%UZ~è;òû-…UËost®Ê–;êAb˜è¬Èæ-R:ïiª'çEåAŒE¾üPÕ;QåÅß30ÃgÛßé7S,J¸ù‚·jOÅ6¿¬‚Kò«¥+ežQ:Ù5sd¶(b¬ž¬(}Wƒ‰A–7ƒI3“ÑÏÇ¥˜Ä-W–tðÒ%›è;Ø”ª^ÊÌ´(`Ö”h­ÉD‡W»<§k²ïë: 9–}B¦ès/‚¿Ã½ÔC JR @ÄÒ¡?Š4~EBé8ÉÏnKlmƒ€zÖ,zrUÕ#Au’ (vÕÑùjÔE F/• +æxaϵØCn7Ù~«¸’óF +#5î­ ¼éç–>Úüö£ß³?¶WØ*p8ßy-Õ|a’¥³ø*¡Ü+}߀=@o|j檥óÅ <úõKE‘'X,zÙïH ™e±wÃ3ñ<*ÔZÖ4+ÏtñÏv( vŠû’]•ô—mÚ:«¶ï_ýbï Šýó£LO#'úæ>dzÕÅ`'¿=sÀ+uO8ÁÅØy2¢|›eZ)o¦pb¿W¢K.BË»á LOËÒÜK¡ñ§ÕfŸÝ~wQ)Wõa”YyUÄò–»Ù¬É[}=ƒŸsÅ™7Ðãsú+Q¶|wõÑ‚þ` Hx3-ñøzX$¯ÆgsN÷gÍ;"ÀÁͤ!ÏÎë‚šþÄŽ‹syð)È»cj×÷MñÎõA¿}{ÆI/ ËÝN,î´?r¨#”lçaÕ1gøkh ¼ð ¥_’’§ÉíYVgsV’þ€õ\V- I­Räÿsïòµò'`D +Å¿aÀ£ QRÌUw¾4/)©³œò¸<…Âq×ÖŒÇTG…Šð‚lòã6+µÁõP“ õÜSž80Éz„Ï©®"­Ô§¹ª£?²¯…Ô6³+¸î~¢G©vÀ™ƒÊ´G±3D]m™*ìN¬ò༰ò0ã !ËWŒÞôIÝüdÃã.Ãì6j>OJ> üø]ÕDÅܳÓû³ý+1*®ª&þ¿ +i‡Q«UTúPzÝq{§ ,(›Ÿâ”JLˆ}2mf4w×ÑKþò šAOfX”õ’X3•:V®pÅk^Š”²ÛÔül`f×?`u…­ËQ—|‘Ø„"ÇLAzv2Ô{p#paÇíþ*E}ósHÛ'A¦÷‰æÄ¿ñQÎÎe”'f@«[œC3Ö‹G³û¯CÏV_Fɽò˜ðÅ šCj&å_ÏQãM†È˜•³d韖Í‘=3é²ui8^Këb­9zuö¦–’ÿM ò%s†òtTgÛ2ú÷=àœ,°Ø[¼W‰¢¤œ{ŠxZÊô­6uyk–Ö +®f¤\Àè>+±v=•#ÙÛ?·knZ›âNê‚1<â™'Á^j(·­/H±„Á—f±Šo#¾ÅÓâGà2^€Zʱìé‚!ßóѱÕóÙý/”t›Ý<•–¦5|fÞ´·W@ÚTȺSaHF®økäÙés àWÞ–%”êV: ¾¡ÌzRÚ öת‘­\¢8€™„¬û‹Íáxv£Çté¿”$ü5Ù¬øQ1ù~kK¹e=†R÷} Å  ¼–Kß…aäÀ“¤š¯cÝ•<9ÓÕ¬ƒQ“KûL̆q>ñÔ@qÐ駞E °Æµ1š,+–þO•@™)ðp^7âF,Àø™¼gŠ]xÇy3Ü@Â÷þ‡¤AÇÇ™çÇ›,5Üìn I§,!*x¡‚ê8á¿\D¢A§À[1N,–i}`³ù*‘^³ +¯^i¦Õ¤… ½ƒ*ÎÆ΋¾è ®¾F\†ïw%ø#ý°äõ(o¿ÀIŒ«*Q¹uä5­ƒ›¯‰Ò üðŠži³#útKF}²u $$¨ˆ©R­´¶!gÇœ.É¡u/÷s`ÌÚpÓ(ƒÆÏHay!à›ÄðyØÖÄ7‚0ÕS¨ïZwM¹¯Ê\£¹0&ß(tÄ"2 Ô"äô-P.›îŸå70škÉ {ÄHE¬¼DñdƒxcEÏWSjUkUÊõÔz6Np«»2Xài0`؆z%oîøR˜¼»Ëd¯ÀB¹; Iª•Ÿ¬3ÆÝþRƒÀÞ…N9.Mî%…h©Ÿ˜ZDÁ¨ê§'¨±¾ö¨û¡òI¼F¼“(à ù4*þ8uÖŒEÚ(wJ¢·_ƒ8‘Ó&¡Ã8¼& Î6ÃUVm™¯&!0 À¿Ð'‡®ñž´þ‹pu¡-Êf8ø;û*k¶oâ,edþàÔS¡‰€B–#Ò’—Ù¥µ.‘œ/ñ»PÏmCGß›Åyÿ³$‚VôHØÜkÑ¥øu—UÏÔoRÔ9£ršÞ=œhHè˜' UU¬Ë¹„® ­càø%¹»ºq«FP?$Í̸֩žá…R}Zb¼*„­š»”:¼‘©–´Ýb\õØÄ*/¿ …~"¢ét_8æ¸6—µ­ØŒo~1¨Îõ-Zå`_DÁxÀè’º_@´ª~‘Úl§ ƒ³G.‘¡¶ß“€ï&'@…ú›Gf&æ”,/©Ê….õº›¥¹ujqˆ×IÖBuÄ ²u âƒMŸƒ­WÈó—ŠÉ¹Ù¸pEð¼ãÒ¬ÂáÝöY:¿Edïïâ¤vTöL£)týJÞU5p50Uý”³»U®&`¯kì>»w$€ÿݱ¿Ò!ŠIÄ+ñ§MúrNiX,l2Í ¸ÞAâÅ(íÁŒ‘P“ëBTð^Ì +RÇáC5h&2¼Ü yÀó–hÐH[LÇsI2O$¦n—§ˆ–m-K0ñã²@jxG„o'$áüúøæ…óåµ(‰r–hè2²ð2ÂŒ“ˆ’å^ßSU£©M.¾Q•Üâ@\˜Ê¥1/*»Íj¸2tÁ#ا˜LÀ{ õÕe­ôÿL+ý +ÈšÉ2‹¢>AçÑ,ozdSF˜ÿþ·T „)Yw’ÝãXŠÑ°l2óÙFai.¢‡Ûd~ÃíÅwî¹ X·+λ5ê¤cÄU`f¡-õI0NýTýðkJCÂñ” +aø~\Yð(x¿Tèíq—¶YSW£óV÷•íçr£Ÿq5“Ü€pÓ27u.'œ×P+€-=§#Ù»g:©–’H-xФ8•¹Ø‹A‹UÛÎ\ßF.ØHÒŸóú ÎÎà¸Ú?°ü‡·íÑŽ¼fö62O‹¯|• Ú6;õúbÏŽèúÆMWÓX5$WT48ä züËñ)cJšš¡AƼVd°tCY$õ&yÈ<~ 5H‹âDvj»)J®#Ä3Y¤\‚ZÎcÉœòÂ6[%©càúWÙfblgvùJsçOý`»9ª‘lÜ«"=ÀÙ¸­†oñà·E¬ÆªºIôÝ/ÅÔ¼Ó•éÊÖóÞíµ á×±^ÃVû üèæã ¸â+ï}À°ÄüxÊ>{š˜á‰oH݆ªÅ5äÏU zÀ¦ái´Ä¬²åX&¶¸ ã˜KñÅN ,¼4ðˆwª;WrƇ µCÂyšéB*ü»}ïz­rd˜ò3ÁC¿„ß1­Xu´d ì@ ¤´Sû3iº×BÌþk‹hIœqȸ°‹Jèn2éfÀÎ ž2:¢f%‹Þ è;)»ñ©§¹óØ÷3y» £ƒ[¸À"èuYýòĈ*¾^z¼Z´Vót1¨6ŦO #$™©[Âë´}µ©P¿ã€çP,êÚðˆDÑJ@y™†wx7»ý¿ì òmÀzE-L“û½‘`ÇŸ£0â,M±‘¢m¸KŽ¼ +´,[žÛ:™K `…zSå w¡z±¬Y­[Bº—xÊš£¬€#b̧÷±‚(‚Ø#°#ËX¬{ÝÝK{Ô’m±t\¤·ëΛjÛ·wFHëàÁ즉:ãã‡ÒB/FjTE^Öäz9Îk Fú¯ÛO‘uÚßyÒ‡ 5ImÆâŒÕUÎlò³û9D·µ¤¨€™“Á> |ô +¯£ðl ãÍù²ïŒõà¦Ìf>F»‚ýÕ‡Ò@Š™ÒíyÊ«š˜Êß@Â>ˆ•Çа±âÿ ÙøXÙ-¦! 3” ì‡Íâ‰ÑhÒ´ÝÈúŽ+#öÙ<–/ßÑôú~ûGÝW»C[á¸83Rù$b9é|! õXônÔêWû4#È| ¦HeT÷Z-·µ‘ìj Ô‡Owá;hÍ$•Z³ÅbarÎÀd§${!¿$·~¦Á€%‹Å訌}ˆS‰m.¨ÍÐà ¯›ríDr˜>¦¡3>Ú:‰áYù’øß9‡å(-üä>ô4»P†^È:+0îÇ–B ÌC]^ž,¼qDv%Ø2ðk±z¸¶&ñ$NÎåÎL2º„.JÁž™CÌl™7–ïcÄÊ”ú@[=ø!Ù¾MxýâŽÍŒ·3R‘ãñ_žã@7h©D“¸"ª×é¡wˆ4%y0ðhKÐÃ2-æ ò,¨ïáxšÔŒ¨e5€Â l̾ò'ؼçî4IFcœhŒ-÷Ä9ÐËßµt]] ðFT•Èˆôj÷ ãKé[e—é0Xÿr)“cúsA„)1Ê:ºÉˆZ.ëFféˆÉ™‰üGûç2þ«Ìщ,¤ÈÝmRˆÄðf1L‹M~]·#åšsîý¯EpQŽŸyhßs@”‰§^‰R9ƒ^'‰øPäÅÎ{»òÅrö¯d6Úíºü}¨ÛÁLßÛm[@—P]ˆŸ§j«[Kã\½üƒÅÏ%I‹ë,Jáq;ÿ˜æë˜üü] +¾ÙÂrž «KáÕ±ä"ýÒc õš— A0Rº• +c\Ž¶¼”€—uì\ ‡±¦I=‰ËŒ. BÿÍjSöĆ¡¸"åîNFò [a—ÞÝ9P¢DÆáÐ%øX£Ì‘ãDË„Èßïü¾g„HD™j΢G€ó=ª>žÉ;ê2 ºû‚SböæpZßnÕÊ·Y%ð`u†±¾¥C*ÁIve)±& +ʱ)0j=ó 7…Õ¼˜z=µa›EâE5I=£oeЂîùG¢›{P—\Y±½ADÅZ‡æÉMá-v²ÊŸL7)&ü2-Yëä0¢6j/]‚Ķ»©…8„2öZ¨¥UÎñ»ÃÚ¦{âqîw4¼kszÅâÐÁS 5Êpn¯~FÇçQÝóœ¥ÎaÂ$Õ -¡Rô’‚$„s=®| öÊá{Pr´Jó z)xG¨Ôõk d}ñŸíUJ_¸¬’\w¿WÒ«ƒb+Y¸ºÿrºÛ»gË™ã´ïø¡xòèûÞ¯·‰B¡|«ä[jvÕ'TfOU âPÒø\ A®åCÉŽBË]Õ €Ž¸¾hu¸>®© шʫÎW?ËëUS‹Ì:†~z¨tìÜdÒËÎøyúúHAåRˆlaOÿ´—J†Ã9y tm’yaW8JG‡— Ø·Lþ¤P¯»Põaé? ÝÿIþv ® Nª³éðJI¯÷œ¢,¹½'§BKÉÇr¼]WȈ„%ÀÌÓÚˆÍk¨à<…Šp8“½UÞý+Ötn\‰zE»pÞ¦•’É?bÙ  /,‹²¬ å˜¸³V”v6q7E¾|æŽ „–(>SœYýÁ õ¹‚²·ðn碱bñ}î£ÉçX ×Ry¾þ*¢ºþt*ÁÄË*8Æ›.zY`çšm§] ¸ÛEv"‘qtd(Œþu$ži䉀‹Ç?1³C‘HV’2šÎ1nÝ!S&ûºdj†,=WWˆ²×Þåò*À&=ÿZGù? B£®-ÆÞ™Ññ6ùñ7+\;üÇÛg{•‡–¸ M6Qö«n­éÜ+éÅì¬CˆSØ2ÊL9Üv³ÄO:èêÎõèâ}õ$ì|Ü”ÆìašÌ™_v¯€QñTVÇI®Ú”žaD™@ “ã•FiR|dß<1Ë{Œ\¼fcžmboZCxË WBÈùËöË ¹:?/âªÌ÷Ö£SÑ·Ç×DâÙÔ[‚Š÷÷‚üaÿ¶§ +ýÃþ±¨©Ý]zðÚÿ)ÅXec>êlG å)SrX}6ëÄþèÖ2 %[ ¥@CÑßcõÙºZ¦ñù^q‚õ”ûLÔõ7b–VË!X]ÈþO&êè®]vÙŒ©€‹)!ɬ½Ô «ÿú?ÃûôK÷Âé-œ¼öFEœ z½n#]´ã’NuµFiDªÁ"ÃÇëRÒ(ÄGa‰ÂN­Ï:d“fïNü(ÙÏFiN›Ón1Óbˆ1Ù–-‚Sd½ðÅ÷¼2±JÑ Iw|;VŽ^bí{WÆÙ†B·œÑS=É~*Õsž¾ +Ý R¦wº}ÅÂîdJ•¨lëÉ­N B-„¬'ÿm7*«Êà˜~š®…z¶ªÝׂ8¢À¸íã·¨4ƒj& Ó«ÿH)‘ ÝÍÑDþŠQç –q‡•eäÇJv=à¾B¤`åïìžøhÅ<ízhE^9…ˆ®:Ñ-®«mm™®“ÐQ‚r¯ì+žWœÄW)Ïy'jLÓÂê kl©È‘ˆâ ¥’é«~…Ç`•¤†F[ !Ž~³4êddû7£ðr}¯C¬ ¬Ÿ¼ç¦Ð¤âùdÕ‡œŽ +ñ{•×Øo¨·ã­TÚ©‘Sƒµz†(®·.ÌD"yš…åvYè[ºóWQ€ý7<›UXK,•ó38 ŒRšÝtáÿv/¸Ò{;ö¦Ç¾D…5ˆû°?|P1ëûz hy]]…ψ#*©ÄÃÊÁ–‚r(ƒ´`Åéû) A¸l3†ôÃæEÔ¸’’Kw6lk‹Û/]ÓÅÅ/®’öw¥=¬§.zEfˆø§+PkD¼bà•Œ‘$þ>Z?ÐíÎGîkL*â÷'w‰ù½}£¬*DEö ¼Pë&ËT}[úŸ—P©šþµ9")Z Ó J ¾fŒ¥ +)*³…­ŽÛÚþNåô­¨ßQ¯e¿ ŠÃ ØÐ e¤\®_j*bÏ2ä»éÇσ 8…pÀþ1"¬MðY ™1n;¼4ap'D඄yhûÔšFz&"šÁWý¦^˜¥òû]tqÌ6ªdóÙ]EÆ].£8‘÷(Œ>#S°³êd~*ë˜ËpwfƒÍw¢›S «)FÉÇjÇ¿Ì×c O«ÄÆ8•gæžìkä$S] >²^{‰\7oÎüYcÿ³¼)xSp¯àD»Ô*?C¢B– ÀœÉ‡Nªüq¶R(oe¸9XpB0ø–»ÙÓø;}§Æ[FdׂøÃø¸ì ¥¬Ö†ù³¯PDDáe<á´Ý9Õ8»;eœ·ëxðÝð#HnÎ1ÐB”kÒ$}æ®v^Öçÿu‹!Åú;œ{æîm·ý3ô¸Ž-DG¡_˜Ã¦ýÙ[¯³Ó¨tc¾ÙØËx×tí¿僜îo¤úþbˆéWÏb Ëk‹ óp¹W+ò¥Mƒ ÈËK¨3d>#H‚¼uÃøU#Ó çöF<çÆòÏŸI˜•ÃõnÑm/° ‹Þõq<“l»-ÅåJ·ýß¾ÁcË4·>æZ°–|ßáË@mx¸yZG Ck(zejàK®ÐS5¯$œ›lPõ¹eCµøæõ„7’òıp·ØŸöq¨µw¡ ÿÔðŠû_4ÎyÍ  øƒh¥Ïz|3U¹%€|x=Ú®no-›ìÕ²/k’}"Œô$Õ—CF´d–M-_ô,{­·1»”›Ý‡W~mYVÎO¢ +“V„AêfdpCm¬åz™퉚"lßm——TŽú{Ã’²çE/‘·¡Ê!Ꮂ¦ÌË&€KÁ*zY>‚aSÂÏëì·ïÞ:®Ø¦#ß³Š +°`:‚€@éê†Èò(ÄÉ…¡¶ÐU¢÷SR/ì÷Tù½îÏÏÿQ»¨ŽjBÀä97U $ÃÌdd4º1{Ê[ Y·nò¸íÖ~Z÷`çq;î³ÄäÃõ‡Üö2Šv”Êb´b}B¢ÆûGÂßN‹ÌœiˆLMJÒZÝôU|šdËølª‚ôò¶Dä6Ìü^3¢ÙÀ{}f‘D呺¥ük›°9Åë-Åñ‡ôxUîà@þ:ݸ–:f[6n"<‡}ŸJÖ›DâßgL:7 +ž¿kksB š½ †)œ ßš:^ 00éN©fæGñŠ$áñù¬Æ襃jœn<‡Qí •™¦PÊg¦õ€jkŠº-Åå–°wÏ=ôc„¡¾]¤ŽQÒØÁ gÝøNðÌAo¼½„“ +7#(òr ×nAìaÿòÕB_ö¯ƒ7‚î¾`3Víe)~ëFF"¯|è€Ì–™:D(ÐrOðÌ‹u˜oZÅ||zÛn°UÔWK¥™\Lø®Ù.XJ5F:«ý$P±ê®/æU@¼'°ÔA‘°~9njÜUuý§V: [‰Â>«-GלÄ^¯ ññH$÷ÇÝm¢‹u„ëÀк÷ˆ =lbõNœ¢g×ø +5ì‹óëEeÕ{Ø}_Ψ$Zv;OõSìH9ŸZVöÊ™ÑU„9oZIYnÌVÄœÈ×FF^máp +›s¹Ž{1¿?éž[s Ä•CMî÷Lé9Xò¯•¹¢r†ÿš +"Ûj»gÚ?Î "xFÎïA{ xS*ˆt"æÈetfúÇñ.‚åÍÎVN @àfìLI(Ò¤wnjf¦}·å*ÍQöÈÜ‚önp¨Ð¸ä©¿°óS\/l‰ÓT™–R O®´:Æ:Ké]„T;²èUMÑ ÿ5-]BUÆq.'¬÷lYE9gÑeÄ“¼1z‡.l¥;©n½+e+ \Y/4H¶5¨EY¹íC•£F_ ÑšÀ¦é1n ý1±¦iì_·Fð2Ñßù¯oË +÷_Ë0CûUcøgfÏFú„<Û!ªMí質ž¦>1ý¿Þ¬]L2ò´@ïPI±¦Ÿ©|§¬™±ÏP6´ôÑGDn÷GÙ>VŠnvr|}Í!fÐï ò“o?¾k*$œ*´MÒ. à¬xS<=¾ËNÖÎz•+ ª)P˜F⺖«häJK0‡ÙaC>Ne‹UâÓ‰?[(ä?éOXðÆÂ)º+‘]œÖ0m:To¾È…Fà2=US¼Ñ¨Ô¾’©üÓ&¥eEÕtOûÁ2ÈR/,Œ’ÚÜTX¤yƒÉ^ GE¤§Á`†§ä1Yvn­sŒòú‡­ÔþŒt­Ì§s/õì„T³v©ÀÒŸ„+÷@2†©2ê.ŠB‹%T¢ÓìÎŽ¯ XŽ-ŠlÈähO×Iû T œÑÁû~À9²~áNeÚbŒ³M!”båú„̪¢`ýƒ'ö<³þüÐ~ŒyD‡S±‰{òdþÉMhXn?9Þ§“Ùè¼×±{ÿou³8Ýþž¹} ØȱVM×vu›ÀÿGd®æ{ƒÃ?à–ÇÚ5ú#*ÓçYK£.ÌäuŽé‰Ç':‡aKþ0’3R [©èHYeê,“îå‹Eä Õçäx|^·ßjBý$ ÑúRàgmTÌòÕY;)+Ó«€ -8XBw#u=L“ûØ>­a˜$^Zx¸µ“$Ì£;ü(­‰…C< á¢Ì"8ŒL™¹“—Ÿ`Ô"å¥5"SöZL]~(UDbö&—ª‡÷(.­¼‘? Kâœ=ûYPvþ`pĪ.Šì|ƒjJÛ©®Ž Òw“m³ê{©|T +Îû„º`æÂ/ÑLj8üÞ9p2±1rJ’>bË:1 ãÉ çÉ…©®%§TŸ‘¨¥ò¥\†ò3@~¶-wdL†É$nw¯úæNÒÔå2ß%„¸­•,ß+¤»ŽÖì!WÌ´^ÔOÌÈ‘ÓüLíò¬h‰ÖØ0ŨÀëÖV#I}úæP¥ÿ½ÕèåÐÔºÝh¼VYUúÜBc’""P‚C»oƒºmžø}aÚ¡ªbŒ6ÛÅÎßì æØ%¢a|=hé#–t¾Ââ6m·“M±ÕÓ1qï;š³L»£ž¢G4_5ó&Š1b¢Ê(Ò„1…Ì ­E’_0+W37ØO.œ(Ó•öž×B·”à[ª¥Dì¦ÉJÌè¤ù +ƒ$¬ÉGˆ:VÐØ—Ë(>9Þ +ªŠ##uŸqz}DRÍQ™u}rT ˜ÒwÝã`Wð¿Ãp UTÎ4©×=Q„ÁÓEy>«B\Ð 4t,‰2ëú½EÛìl®Èí7º5Âü’ét9‰öj;¸ƒ'g´½Áæ:ƒ&Õˆ\yªÖœ¨ {؈5&~§l$;„~ý¯6ZÕ¼óA¨3d¯’á.K ;÷ÞÉÅÐ-®4üN¦àn·äëJ u>Géõýý§„ß7ÎMÁqzézx^”£;KÓf3 ~=ÚA"—u„qL*‚é-Ù^·)²R ñ¸Kx—“Óœ™)é­ajÆžiW+µm”XÜ’ž³¿=W»ÌxNÜ­ÎíÓéìÍþÊ|†ÍÔ Ä$xPÑý ùéƒ\%Š±k¨(pc°ÑƒIÜ:KˆŸjL¤–%¹Ò<0ŽëAèCo/“åØ¿òíÇKœŠ¦!Æ9 ÿ©¹öÑZxÙ8%<–Y]¢@½Ú›!5ž×½K5º»ñhñZ#¹¨lA–= ¶g†2húzÚÆ"çÉfy½ŒÖ•ÿ¥º›çÜó<‚SØmQˆùàÿ ŠÜO îI„èñž·ñ”é÷ˆ0ÒQ¤ûtÍ8-›ÞæMðzÀèëBsU S?˜ìŸC­òø;ÿ #»ÄëÑ ®Ëûòü G ` ½¹ÌãÁJßÔhoþã°²®^nAuÑWœióÚU|ÚË­SèQÊâÙí|UŒÖT|a!»]-‹Ã+OGð5còHuBòiGèk‚lø=#¿o3àÿ†û"ÃYÞˆ;]™¸Ì0»ÈÚ)Õå'þ^9’~&*žÀŽ8_uo]ì–̯î9¯Cçü‰ãª˜j@(ˆ_QxÔCeaäpŒtWÑhq>i[œHj54|Ëö ¾Ì/Ê—ã´.¸¡<iM‡Žô¬«$9Ucyž\¹±àX¡ÌžY_®„ÔÒÙò«-¸{%t +ê¢àà1¿ÐÚ)T^ 6<–LNKdǧÏfjR‡qûPÒæ¤#÷I2¤²=Ž’½&RÇJ 6y¨ý+ã¡òu¾ +<Í°P€ÓÃ"¬R~cã­>]§Á˜Œ¶èX r â”®»;îoÅÏËYëÚÓ(ôØÕ“£ VÑbBvçb›½Jÿ~Þk`]Ä$1ìã'©tÖ:êeV{#Pðƒr¬“VœîÌ­í8 øSüÃ0êÏkƒZ2TèùÒfÌì[â¬ôòêc±ÀËE>” UfÚóƒ(‹F«¾9þë-ÃÑ^|PÙ:¯.8Q;é(É‹³&†Eã ™[Ú’érh8¾Ò:$|Ž¶ £D“•ñµ, (6ã§ÚÃr¬5 ËxÌæ¿’Ká=—‰nèèàÚæƒ>׺²ÿ(5—ª±˜¤uG“̯ñ^¦dòg2ªŸbÛ‘_AS¹ħ e„®[§K™ U„&óD2½‚ûÜ9r½¬øÖ›û·¿¯eŠ*u™Øשã‚N¾ Ñ|»2n^þèÀ: +hŠ}`>òÃÛxw†1’ÍÁt’ *Ôù¨d¬-ÃÖ¨âì[â¹{Wæ'Ú/™´eœÐf&÷Þ‹ +ËúÂÏÈ-…F¤gE?º…aû€©1ëÁ¬—xÌû°Ò_df؃oÎ>ê.Þ$Lcfey%Gö„ñusS4†.Û¼‰*Ú ›}& ´èŸåFw5°gv pÕ[˜òBøWi›Å¨uа4õàÑvMÍXßx?«AÀ¡u…a°ôRý:³&Πٹßѳ¬ͧ›uC +î×Ò]ÇrÐSgÓíÄAED$1¿"3>FAü¾t ‚8þf¬ØB;¾ φ¶QÅ÷cuïÞ•D—‘w3|0L Â4C©°fà éî¡ðýQ.Ð8›ñH•G‹>#´Ôô_¯oèxê4Æö¥³.¯·ïáûœ-Çü”ÂÛ¥¶„ì”B³fñÏ}GôH^˜—¨6> pf& ¥Ç œª`PÙgûS)`cf$3ëµ)Äö<;†ëê[@ßÍýÌ=„.1ÿü¥.þ|âÑà§oö|• +&2)íàRŒLm)ûáFÉ­É{o<¶4ÞÊt½;ó(8Àš@QH•4Õ½ù‹*¹ŠtÙIÛRwoº O¥MÌÙNRÞD·µÆ,¹ÎÍAsŽàhúå§9ßÁ…‹dRMéwÖyT=°ºö=‰|NQ½’é´^RœÖ9‰µ‰]R{ìå#ë09Ú‹ÎQwjŸ*ƒ’ë Ó!?8¨„ºûufö–\a8×=Œå¡Àw‡Æ[æ™þõW¬@ãoDÑ6þïY½†þ•ìµÑápê< 7$úV¶\ ðsà+YŠÁvÆ%Xã™Eÿ ³¿\)ÐöÑûNÎ)´ïõ_ú‘½~Þ.ÎuJ-ÎŽ+ý0V = [ÎÒ·M­y&Òá×Á~õS²[Î4žJN-Œ­#lhƒpC¨a/¤`C·`Ú×0楙"û³fž3@…u'õ†¡å5rò5td³—ýŽÝ>Ü_.YÄßÝ‹ð‚tqÏbci¾e^Òæ1 +¥Ï¨øKÞDº"ßιòr–Î8íRåDp´…qŸë´ðÀ©“‚#Ý!& +¯?×Cê\–‚æ1ñEäE>øÃwr6‡èåQ5^+a4 ÔÕÅ¿ôʺs¨dgЯ¿™1 œÔ»3Ñ…{Ζº‘fÿ7T}cË83qÑ«ÈDP¤ì‰_%ÙwØ…¤5Hº"ãæg'ü=†#«\æ“D¾¶×æŠ\ïÊB†Q¤ŒÅXÅ=ó¨Ù`LšD]™qUØzp +endstream endobj 1396 0 obj<> endobj 1397 0 obj<> endobj 1398 0 obj<> endobj 1399 0 obj<> endobj 1400 0 obj<> endobj 1401 0 obj< Gìÿ‚i\rÅÐ=Œ-\r«hŽ-èÿæT _)>> endobj 1402 0 obj<> endobj 1403 0 obj<¾¢‡¥Ñ±„Øär8šÈç"˜6)>> endobj 1404 0 obj<> endobj 1405 0 obj<> endobj 1406 0 obj<> endobj 1407 0 obj<> endobj 1408 0 obj<> endobj 1409 0 obj<> endobj 1410 0 obj<> endobj 1411 0 obj<> endobj 1412 0 obj<> endobj 1413 0 obj<> endobj 1414 0 obj<> endobj 1415 0 obj<> endobj 1416 0 obj<> endobj 1417 0 obj<> endobj 1418 0 obj<> endobj 1419 0 obj<> endobj 1420 0 obj<> endobj 1421 0 obj<5)>> endobj 1422 0 obj<> endobj 1423 0 obj<ë< Ì¢pŒ"Ú.ƒÉTÃd J@¦g@?H)>> endobj 1424 0 obj<%Uîªæmû£¦ø)>> endobj 1425 0 obj<> endobj 1426 0 obj<> endobj 1427 0 obj<÷{!–M©)>> endobj 1428 0 obj<> endobj 1429 0 obj<> endobj 1430 0 obj<> endobj 1431 0 obj<>¸pHÁ’&—)>> endobj 1432 0 obj<ÌkÝË)>> endobj 1433 0 obj<> endobj 1434 0 obj<> endobj 1435 0 obj<> endobj 1436 0 obj<> endobj 1437 0 obj<+È`Cta‡±Z¤“ÚÀÞº)>> endobj 1438 0 obj<> endobj 1439 0 obj<–P•Ç¼NKŸ”ó3^Æù3„žFsN)>> endobj 1440 0 obj<> endobj 1441 0 obj<> endobj 1442 0 obj<> endobj 1443 0 obj<> endobj 1444 0 obj<> endobj 1445 0 obj<)>> endobj 1446 0 obj<> endobj 1447 0 obj<> endobj 1448 0 obj<> endobj 1449 0 obj<> endobj 1450 0 obj<> endobj 1451 0 obj<> endobj 1452 0 obj<> endobj 1453 0 obj<> endobj 1454 0 obj<˜ZÍÝ<•Ç[®a[Ô)>> endobj 1455 0 obj<> endobj 1456 0 obj<> endobj 1457 0 obj<> endobj 1458 0 obj<> endobj 1459 0 obj<> endobj 1460 0 obj<> endobj 1461 0 obj<> endobj 1462 0 obj<> endobj 1463 0 obj<> endobj 1464 0 obj<> endobj 1465 0 obj<> endobj 1466 0 obj<> endobj 1467 0 obj<> endobj 1468 0 obj<> endobj 1469 0 obj<> endobj 1470 0 obj<> endobj 1471 0 obj<> endobj 1472 0 obj<> endobj 1473 0 obj<> endobj 1474 0 obj<> endobj 1475 0 obj<> endobj 1476 0 obj<> endobj 1477 0 obj<> endobj 1478 0 obj<> endobj 1479 0 obj<> endobj 1480 0 obj<> endobj 1481 0 obj<> endobj 1482 0 obj<°ž« \\)>> endobj 1483 0 obj<> endobj 1484 0 obj<> endobj 1485 0 obj<åúÞÒ|F;ùXx)>> endobj 1486 0 obj<ãÄ©`\r¤e1 1)>> endobj 1487 0 obj<> endobj 1488 0 obj<> endobj 1489 0 obj<> endobj 1490 0 obj<> endobj 1491 0 obj<> endobj 1492 0 obj<> endobj 1493 0 obj<~—þ—~kÄš{Ø„û%Yé\(ëV)>> endobj 1494 0 obj<¶QèèFA!V_-%rGb¡8ÏzŒ87ì\(ïƒ.ÜÂŒ¾R)>> endobj 1495 0 obj<> endobj 1496 0 obj<> endobj 1497 0 obj<> endobj 1498 0 obj<> endobj 1499 0 obj<> endobj 1500 0 obj<> endobj 1501 0 obj<> endobj 1502 0 obj<> endobj 1503 0 obj<> endobj 1504 0 obj<> endobj 1505 0 obj<> endobj 1506 0 obj<> endobj 1507 0 obj<> endobj 1508 0 obj<> endobj 1509 0 obj<> endobj 1510 0 obj<> endobj 1511 0 obj<> endobj 1512 0 obj<> endobj 1513 0 obj<ý<Õq<ÞɳÖü)>> endobj 1514 0 obj<> endobj 1515 0 obj<> endobj 1516 0 obj<b&¸áÖ“g ·ðó’ØóÀ\(¹N“Â`¡µˆjD[)>> endobj 1517 0 obj<> endobj 1518 0 obj<l°!€nväÂÄBàv"ÅòL6šZ¨ƒéDä)>> endobj 1519 0 obj<> endobj 1520 0 obj<> endobj 1521 0 obj<> endobj 1522 0 obj<> endobj 1523 0 obj<> endobj 1524 0 obj<> endobj 1525 0 obj<> endobj 1526 0 obj<> endobj 1527 0 obj<f×Iä¾qI!a¿Z¹#á·uTh€@dH)>> endobj 1528 0 obj<> endobj 1529 0 obj<> endobj 1530 0 obj<> endobj 1531 0 obj<> endobj 1532 0 obj<9ØñS_=f³ ÔT. }¼l—]y•°£ÚiÊ®áê„ ÑË)>> endobj 1533 0 obj<> endobj 1534 0 obj<> endobj 1535 0 obj<L¾­ƒD^þÔw¦¼éA èۇ܎íÚÖŠÒ5Ó[œÁ–²5éÆÿoY)>> endobj 1536 0 obj<> endobj 1537 0 obj<ß)>> endobj 1538 0 obj<> endobj 1539 0 obj<> endobj 1540 0 obj<> endobj 1541 0 obj<> endobj 1542 0 obj<> endobj 1543 0 obj<> endobj 1544 0 obj<> endobj 1545 0 obj<> endobj 1546 0 obj<> endobj 1547 0 obj<> endobj 1548 0 obj<> endobj 1549 0 obj<> endobj 1550 0 obj<ÕW¨@)>> endobj 1551 0 obj<> endobj 1552 0 obj<> endobj 1553 0 obj<> endobj 1554 0 obj<> endobj 1555 0 obj<> endobj 1556 0 obj<> endobj 1557 0 obj<> endobj 1558 0 obj<> endobj 1559 0 obj<> endobj 1560 0 obj<> endobj 1561 0 obj<> endobj 1562 0 obj<> endobj 1563 0 obj<”û~ò'%ê¤})>> endobj 1564 0 obj<> endobj 1565 0 obj<µ—¶&°)>> endobj 1566 0 obj<> endobj 1567 0 obj<™µ—3üÒš¯t\r)>> endobj 1568 0 obj<Ži¶Òì3)>> endobj 1569 0 obj<> endobj 1570 0 obj<> endobj 1571 0 obj<> endobj 1572 0 obj<> endobj 1573 0 obj<> endobj 1574 0 obj<> endobj 1575 0 obj<> endobj 1576 0 obj<> endobj 1577 0 obj<> endobj 1578 0 obj<k4< Ä- åž­BEC›ÏþÖ ö«óOP:{)>> endobj 1579 0 obj<> endobj 1580 0 obj<WqhLjgõ”å©­LMÐåÁ—è°Aî[Eágánã`÷ß,âBó4í)>> endobj 1581 0 obj<> endobj 1582 0 obj<za–‹dµf¸é\\vcö¢n)>> endobj 1583 0 obj<xBÏŒˆ'ÊUçëÁ=I$Ù<)>> endobj 1584 0 obj<> endobj 1585 0 obj<> endobj 1586 0 obj<> endobj 1587 0 obj<> endobj 1588 0 obj<> endobj 1589 0 obj<> endobj 1590 0 obj<> endobj 1591 0 obj<V¦~Ü‚ÜûµÞSõo™qr}XÈ[¦©)>> endobj 1592 0 obj<> endobj 1593 0 obj<-ã¶eT¬\rvLøiØÒ©P¥dðYÞÇæ#Hrͱ)>> endobj 1594 0 obj<4®¯MÚü†ÓI%¿ânLT)>> endobj 1595 0 obj<> endobj 1596 0 obj<> endobj 1597 0 obj<> endobj 1598 0 obj<Õ5í)>> endobj 1599 0 obj<> endobj 1600 0 obj<> endobj 1601 0 obj<> endobj 1602 0 obj<> endobj 1603 0 obj<> endobj 1604 0 obj<> endobj 1605 0 obj<> endobj 1606 0 obj<> endobj 1607 0 obj<B>5qeË»+˜é øud»ƒÄûÇWl„)>> endobj 1608 0 obj<> endobj 1609 0 obj<> endobj 1610 0 obj<> endobj 1611 0 obj<> endobj 1612 0 obj<> endobj 1613 0 obj<8¥–SL¬0=ÐD&Ó‰¶ø> endobj 1614 0 obj<> endobj 1615 0 obj<> endobj 1616 0 obj<> endobj 1617 0 obj<> endobj 1618 0 obj<º\(¶–‹ö†LœzÔÍñX8´Åð)>> endobj 1619 0 obj<> endobj 1620 0 obj<> endobj 1621 0 obj<0w™½ ­©_ìããšû8âDØ)>> endobj 1622 0 obj<> endobj 1623 0 obj<> endobj 1624 0 obj<> endobj 1625 0 obj<> endobj 1626 0 obj<> endobj 1627 0 obj<> endobj 1628 0 obj<> endobj 1629 0 obj<> endobj 1630 0 obj<> endobj 1631 0 obj<> endobj 1632 0 obj<> endobj 1633 0 obj<> endobj 1634 0 obj<`ÈebhÉeá^Oiš)>> endobj 1635 0 obj<> endobj 1636 0 obj<> endobj 1637 0 obj<> endobj 1638 0 obj<> endobj 1639 0 obj<> endobj 1640 0 obj<> endobj 1641 0 obj<> endobj 1642 0 obj<> endobj 1643 0 obj<> endobj 1644 0 obj<> endobj 1645 0 obj<> endobj 1646 0 obj<> endobj 1647 0 obj<> endobj 1648 0 obj<> endobj 1649 0 obj<ï[ü.ŠA6]ä´‹þ@BÌO=ÒŒñ“Q»ZƱMÊ“WÒ)>> endobj 1650 0 obj<> endobj 1651 0 obj<> endobj 1652 0 obj<> endobj 1653 0 obj<> endobj 1654 0 obj<> endobj 1655 0 obj<> endobj 1656 0 obj<> endobj 1657 0 obj<> endobj 1658 0 obj<> endobj 1659 0 obj<> endobj 1660 0 obj<> endobj 1661 0 obj<> endobj 1662 0 obj<> endobj 1663 0 obj<> endobj 1664 0 obj<> endobj 1665 0 obj<> endobj 1666 0 obj<> endobj 1667 0 obj<> endobj 1668 0 obj<„ó¤3×ýœ·#LËé†uqH)>> endobj 1669 0 obj<> endobj 1670 0 obj<> endobj 1671 0 obj<> endobj 1672 0 obj<> endobj 1673 0 obj<> endobj 1674 0 obj<> endobj 1675 0 obj<> endobj 1676 0 obj<> endobj 1677 0 obj<> endobj 1678 0 obj<> endobj 1679 0 obj<> endobj 1680 0 obj<> endobj 1681 0 obj<> endobj 1682 0 obj<> endobj 1683 0 obj<> endobj 1684 0 obj<> endobj 1685 0 obj<> endobj 1686 0 obj<> endobj 1687 0 obj<> endobj 1688 0 obj<> endobj 1689 0 obj<> endobj 1690 0 obj<> endobj 1691 0 obj<_U¦X ÊVi>¨JXœÚñ9J¹m&j ¤œ—m)>> endobj 1692 0 obj<> endobj 1693 0 obj<> endobj 1694 0 obj<> endobj 1695 0 obj<XïA±\nQøŸ)>> endobj 1696 0 obj<> endobj 1697 0 obj<> endobj 1698 0 obj<> endobj 1699 0 obj<»’Œë«À)>> endobj 1700 0 obj<> endobj 1701 0 obj<> endobj 1702 0 obj<> endobj 1703 0 obj<> endobj 1704 0 obj<> endobj 1705 0 obj<> endobj 1706 0 obj<> endobj 1707 0 obj<> endobj 1708 0 obj<> endobj 1709 0 obj<> endobj 1710 0 obj<> endobj 1711 0 obj<> endobj 1712 0 obj<> endobj 1713 0 obj<> endobj 1714 0 obj<> endobj 1715 0 obj<> endobj 1716 0 obj<> endobj 1717 0 obj<> endobj 1718 0 obj<> endobj 1719 0 obj<¬Ì¯§ˆ)>> endobj 1720 0 obj<^)>> endobj 1721 0 obj<> endobj 1722 0 obj<> endobj 1723 0 obj<> endobj 1724 0 obj<> endobj 1725 0 obj<> endobj 1726 0 obj<> endobj 1727 0 obj<> endobj 1728 0 obj<´‰CŸ^³ ^m"!Qê'Ó¯\n·hêéÞ‰¤MÐŒ˜)>> endobj 1729 0 obj<> endobj 1730 0 obj<> endobj 1731 0 obj<> endobj 1732 0 obj<> endobj 1733 0 obj<> endobj 1734 0 obj<> endobj 1735 0 obj<> endobj 1736 0 obj<> endobj 1737 0 obj<> endobj 1738 0 obj<w‚,uÄtªû#)>> endobj 1739 0 obj<> endobj 1740 0 obj<> endobj 1741 0 obj<> endobj 1742 0 obj<> endobj 1743 0 obj<> endobj 1744 0 obj<> endobj 1745 0 obj<> endobj 1746 0 obj<> endobj 1747 0 obj<> endobj 1748 0 obj<> endobj 1749 0 obj<> endobj 1750 0 obj<> endobj 1751 0 obj<> endobj 1752 0 obj<> endobj 1753 0 obj<> endobj 1754 0 obj<> endobj 1755 0 obj<> endobj 1756 0 obj<> endobj 1757 0 obj<> endobj 1758 0 obj<> endobj 1759 0 obj<> endobj 1760 0 obj<> endobj 1761 0 obj<> endobj 1762 0 obj<> endobj 1763 0 obj<> endobj 1764 0 obj<> endobj 1765 0 obj<0ÆÖvø±ý9 Éñsý—pµšqö)>> endobj 1766 0 obj<> endobj 1767 0 obj<> endobj 1768 0 obj<> endobj 1769 0 obj<> endobj 1770 0 obj<> endobj 1771 0 obj<> endobj 1772 0 obj<> endobj 1773 0 obj<> endobj 1774 0 obj<> endobj 1775 0 obj<> endobj 1776 0 obj<> endobj 1777 0 obj<> endobj 1778 0 obj<> endobj 1779 0 obj<> endobj 1780 0 obj<> endobj 1781 0 obj<> endobj 1782 0 obj<> endobj 1783 0 obj<> endobj 1784 0 obj<> endobj 1785 0 obj<> endobj 1786 0 obj<> endobj 1787 0 obj<> endobj 1788 0 obj<> endobj 1789 0 obj<:Ú†‡å5)>> endobj 1790 0 obj<> endobj 1791 0 obj<> endobj 1792 0 obj<> endobj 1793 0 obj<> endobj 1794 0 obj<> endobj 1795 0 obj<> endobj 1796 0 obj<)>> endobj 1797 0 obj<> endobj 1798 0 obj<> endobj 1799 0 obj<> endobj 1800 0 obj<> endobj 1801 0 obj<> endobj 1802 0 obj<> endobj 1803 0 obj<> endobj 1804 0 obj<> endobj 1805 0 obj<> endobj 1806 0 obj<> endobj 1807 0 obj<> endobj 1808 0 obj<> endobj 1809 0 obj<> endobj 1810 0 obj<> endobj 1811 0 obj<> endobj 1812 0 obj<+ÇhᛂæCô#¬¤¸c )>> endobj 1813 0 obj<¬Åúàa`ÐðÖRÏ¡Æ5Rrf‰¾)>> endobj 1814 0 obj<ˆ˜þ0r“™)>> endobj 1815 0 obj<> endobj 1 0 obj<> endobj 2 0 obj<>>> endobj 3 0 obj<>>> endobj 4 0 obj<>>> endobj 5 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 6 0 obj<>stream + ˜NyÓýÝäö ± µ®ÇžOöôMÙæ«‘Èm‹Ò³šI- ë.à‚”"špˆ°ÞÖ‰Æf¬"–Ù¼ÀÍ™k8v5)ÐÜé{(-Ö‰("7FÉV´]+1l¿1ìm D.cH†xÐ ÅAÏB£*˜’kìµË­½ô9°xÜ3+‹¤%ß›ƒË]NDq/™ ¤?L«÷{>0&î4œ§.ôФP$$¦ŽÇ WÇçÀõšïqÒ‡€[cœ®…†81X;@²HÇÿáýŸÜ(Åg¶‰Ty UnßuèmÀ“7#H^†–z@aJ“8D{‚ŠÆi®èÅÃéä%>âåا¶K)>´XÊ„&`X’Ð/€³fž‹«=Px¸l[ó¡´2ÞMRõqo}4ûÏ¡[“Eº#!<àÕdÕžR|_˜ vXÕ²ik>$äÿÊøä¸Ì’«ÆþAˆéóï9³þç®ÇÚ\Ø然ÁÜV"q¼Ä«Î\ç¥)óKî£_Ô£bæ • Ä:OõLÕdE;Û`;í³Ó@«amLj÷=òTgM XŒxv.n `f¶Ä±/¢mfòci2†º>«–â¢_XRp& LSR¨ÈrA(ÆÍ“^YyipÝ;úx—˜žñf¬pº|G›bb䌃V9p\ð2äQ[P]H[ä¢¶Ö »Þ¾ÃG +%L>­3"}5œáÊÙAïcÊÇ…Ñ8ÜVQ3,-’µí6¿2ó”øoGcy‚ù£ÀÖ‰^ÍÖž~pâ.ÞJȪö^²â†Aóób! vùÝuUkT·ÂV)06?ç(8hñ3<:Àw›\wáÖÈGÆÃv¶‘Wƒuß“ÏÙ{à§JÙÞº¶V•ø£ {†ÁSÀ܃¥&UPsè¬ö‡åw'Û™„̵§tc…—VRä̺²U½tÔaFƧ®[ëE†Åì¼Q—R2ÀÁÅ9Ç91é¢F]FRQ½=Çå\“!f× òtm&—Ü`=á¸= F(m„È5u\¤cAerù‹ÞÎèÊåwVbóX›sðïøñYýdX õuî(¹²'ï•}{Áì“ŠÖEæ ‡·…p„ÄÇwpKIä»ã‹ûp—“€Ú$ZßOŸ•Ÿºä `å÷½éÔÉP1”O•q‚l*ÿ1ôB:"Ĭf4`iÙæÞѼ¨úÛú^LF=]Ø`Ïrô^ÄÏ™ŽFO HvF«þ¥¨ÙW¬Û¯§G^G‚«A¶Ô,­%Ò¼]eêàYKjØGY¸’d€¼¹QïzÁó$kL4îsÍÎÇHúžr†ˆp¿§éöæ;VsCö ¨¿3¢¿‰ ¼·¤¼¼òÉfÓ-±Æ"S{€@'²Öâ«.‚¤WA›Â@¨oþ²š…+‘y©Äµë ïUå%FêÖ(œ¦ ð‹<À¶P7üÛá]…yüyA“6š áW1GƒXî”OàG»Hþ‹÷sý˜Ws4&H÷ü¸¤ÏX7¹"…±ŽàÃá½|{^ƒ ‡µ +”Ù¥‚zK›ÕÙ +ÿºeCÔÀR׶n…¯©õ{B_ö: |R®&eŸ,4ª[þ”P›ñ<ð|ÕIÞidO¤Í +Ž ÖúX@ý€-d¯Ä"cqâgŽZýŒ%£0‡·Ì€A›|/Uº}¨ƒŠŽ?^þ_ÌÕGü½º´*ÆVh×ým¥ßŒ¦q2¯²J?º’u–¬4OñX"H¦z E¤–Å".½/â ¥¢q°hÊò,¸ÅIÇ/ƒu±Wóï€]›„W¼°ëœû{ +úÏÄgì_Ë{«ßãM ö L%†UæäòãðÞÛ7h¿¯ Îã"ˆ,¿9’úM@6Ë}ðÝ‚€1‡S…¹®ÜÃ(é89@­­BqOÞØ>Ôªêƒê"?ö¦úÈ̇éšsÓ³ü¤u÷3ŠÇZÁïžaAùì’6GþM+Lƒ‘ˆ‚§}ÈÓIÜ. +2k±N#^ *„gß^YŠ’¤øcë_±7ÿ9™ÚãÜúŽ»V²‚wÅÍy¿°TÒ|Pïzv¡¹½ Ì +ü…ÅÛ‘ÒPЕegíÈþ ë°Š¯èÉ£dŸ“®jÊú¯·kÌýrÂpšRƒºŽŸ³7µJ×™=ù•Ó"ÊYí^÷:}ÈeÿûŸEÔä‰!c¡pèh€ÞÊR*êžX6 8Z$ÕStÛµ´{3SzÎ%†yžž­ G0ÝÔž_ôàîâRuéÝ‹iÏÏÝ¢mßî.+9ÇŽh!SÕ-“šÐA– °– '”Ò%r¨dçàä“SMü»æi‚BöXÞr¶dñ*üçmƒ]56º5ÿ­5˜áI-ã¿båÞ[dæC¸eƒº'z>(Á9Â@ë×ø!iç‰L~2‹ÿV°¥¸}•Õj ‚U½íËC‡èÀ¬*µÍÕ¶: Ã䦶dkJ•Ú¶Ô@µmCøÏ`¢¹Ê+M²ƒ|ì‹âæ¨ÿ.‰Þºƒ{Œi$'®dBÛÙ&Jl +0gMMÀ†ø|תr9[AZèí ´B˺!3†å¯i‚i:ge†ZT]Ô—µ—O„çº9NDü‘‹ä>5ÇÄ'bU$³Å•8٣䧋Ûà¬_O²IämB ¤FEŸ<]Ì©F“sŽ+ IkFÙÞæëtÉ» Ñ¢\X,£’‘¨“d/”*šKÌÒ˜-Àÿ€kIf${ôó†—ÖO»wù¤Jwº¬§#GaŽ„²ÉçÀ‹„ŸkIw¾€yò\ëÙçóhŽ iSH½ß¿2n»ì–^ÌQNo<•wgYøUÇÅ4i©I¼N.òWr‚~ÅeÿÅüõ/ ù el¥Ä¯ÁœüoöœŒÎ#÷Ȭdsëã^0(!‰™ú•v#‡Ri¨U¢°âäÞOev»7’æßÉg*à¢æ&³ + %™F¯ä$³Ölí4 ô½ªw ýh€ulôÎÔ²?©!”\Ö5ÀŒæPŠ`Ã8h"™Egxe’w—«iÍ;YÓp‚U6¾õ'$Ãnä‚6èŽ_ÆÌûÔ\y +;7Ò5é‹ðd üTNã¯y¢hˆ•NÁ3ùs‡Ÿf+?ïYÚ’4SÃþ"œiÇ;C…í«‰‰•0pj «;Bú "¨{ÞZŽïeLè7PÀVf ÏB›|Nk-ŸAOM¶µØH±#Ùõ P=ÓV]¬“$ò(©ó8•Ë€ý%ïºùè„{(T¨šœî+ÏŠ2xà©,¬Å“%/†RwŽ{è +lÉBCsýáÛw%Ž‡^Ç»Ê? E@QG§ã°åÿ»¢ÿ¼=žÜ¶ö~êÀ™½hV œõ¡8QLÑ{3lB^@x•Žzws4¸Ãä±M“È<œÐj³ ÑŸ÷¾òŠ´ÝÝüß ¦×kZ£zÐË ÏŒGù£–z<ÙþG`]úºTý’Ú–‚×A“” +ïÛËc~mú¹ÿ§\û爴ªoØ_xPHû[‚M¬*_üÍr¢i?ÙÅ/ïÌ”’EŒ¥D™„ü×>Ñå"lkdÌ°sSp5û­ÃþÉ€ü1r«0Öl€¤Ñ‡5ú›4¼•ºÊèã%£9q/ñúJ’ûAníê²O¿~ÒŸB?2 Qh/Ò8h±ç0¿·˜VQÜŸRV°ƒüV òÀ>,Õ„vïh>ªÀÇ&p‡5/žˆ ¿gܯKéõRdl§/x™I2¶ÚKnüSô!|¨}¤•4…t6¿5•3d…×Nõ]:ú®¥ªxÀ<–j« —º¥Ç„°sE;ÁÓÁ±÷¿ìÙ#Š¼N—Pïyξ4 T0^!`…îwN3ó2Q#rb//Ÿÿ¤ íøŸ ½€ ÜXQ؇7Y¼#`'{#×SP3TEjV¾¥Ê›ÌSi9­J"û> endobj 8 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 9 0 obj<>stream +s4ÊTï_é|RÑ@Yù±Éu™X^ë@½a§Üahl{´ÑgGó~æé*¼@þ]n9Ðí¡ðƒ’ý2káÔ­É°/4b\ ?æ¾wè+N"¦¼ œÉ¦-­ßäµÖ¤(³V¿wb¼ïÚptMù¯×Üñú¥pŠŒ:%¨(×rh´®­˜»ÌYð`âÇ>$àÇÏ  ¨ ¹QFÞ¯‘C“¨þ«ÙaâÞ» ëøç 2ËU Ôo©9|pòpëí 8î%EfŸÚk6 ¼÷›„ïÈ9× ˜û¯Í7ê̲fŽTÛ¥K¨«âaßZh/xJÛ);Ù4×Ú¨jÿË÷2EŽý¥:lÜoãR) ÅÔóT±™^ŽwØH>ú^63bm¥Æ=H̬ç(Ã` 2¥Ã°í^p-Ì_QŒ@eQç:äuÏþ 6ðTà‰$?j‹ô$p­Ç¿ …îÙ×s‚Šæ>ØÌd˜„$ÁBäé?„phyŠt‚J@ã7Óñ|qÌǧ«·±}b¦¶PDÍÉx-1(èÅ Þ0ÊÃór®Ìá¬òÙ  (¦¹Vñ³« Ü28Ÿ¾ž=œ_F{krôÙî9í´òy²X`7HÝf8”Ï\I˜žã&ØÝRžu:xÆ`¼TÜ«X‹'’–`Wj àJßá;óP¥ +¬si«3_þ­ŸÇ àþxj).¡~h¨MžÉÉ%‹g½Ö;sfsœ °—Ýœö‹‘Sæ{Ñÿ›®>¸9±áE‡V; R o%6D áU¬¹êk×P8ÌA}»MÇß=¹QÿÝ9 ;Ž» ¸òúË<¢lÄ¡Û7%òyw=œåvjÖñã8Ôôúäƒ#Ak6[»øï¦5P–”/§×@¥nØMeI¸Û¶j#+€·Âõ+oonN-¨"'TEöOµ¼^%שÕg$Ü«™Ï7öO­X‚¿ñVÓÃÉç´È5œôOµ2”³™gùÛŠ.š#Ž!vcˆh6aPkbéïL hìãØX.Ee¤Æ §ëá'òLÙgüÁúÕgð…²Xô¾çÐkyËai’$ü·nêî;S¾²¼ž! ]~åg¦ÿq)•H)ëc´KRjåiî{ºæÌ¡üeÄÂÓvN“‚;®%ùàl$Cµ*­êئ7}NÛÕßJÜP!ûÄ…­ÀY\Œ~t1ÄaÙ37¶ç5‘£rÒ•_°ÜWYlAè,·“oi^ªö:u ç§*à)I›•ZT0ÝQÙ¸„µÄG`s7vÙ&Bá˧ilÏ,†TŸUò2 “ÑÞtPc˸ý^¥ÎµNQP理#=ë¨ë,Ëéøn1ÔÊtÝ«„Æiåd¤£6¯>‡®tá7w + À°ì]¶'6»û4¤Ê¸õj&«òr—_ƒÁÏgj+€eá[xu“âøº¡Bª•šh,ä±–ôlÊœU<Úvú– Ý& ÝÐðG/âS§…b1b7j´#-±`ã°eŸ9y2Ά¨¬+_AÑ P®í‘×Úî·Ï±£}EB¿_œË’¡›¹í¿¹!§G¥.z˜nàøá\ Šå+—ƒ\›ÿYˆy´iy}7õ)ïÇ,Ƈo¢hدÕÏν×(–õ× G“·ÆúvÄËÛ_´+99û +јìD$>4+Òøþ!ô¢a#å¹*îõ]i‰lÿĸ­ÈeÉ¿Þ3iD¿oSžW>²öÏc ­Ãì©í yîM_×XxN=(—eÕæ1î.r0Àsp—Îч\Çß1Z5:ËÉíeZ%@ض¦àxQäˆPL[À4Þ¦9…Ý!a«1Î+Áö‚”1Yi†]„KtÐÔwŤ$$c÷»ZðTzºeMe·ôB™knúÊñÔ4‚’=ª\!`uµP@ž%]owëå;ÝÛß2C +¹o©K[$8ýîÄ›quíOÝS‚¾¡ ¤)v÷¡Q…~Ò$ ·Ÿ®›’$ ¢Ðç¨äÝävQEúè$ëMšÜ'›ò挻Ùz"€{p4¨O£Igu½÷®Ý“MZT 9 +ï–ðp‹îM…Z{qO[‚ê>ð_ˆ°Œ®pÁ3Áu˜ÌJôk¸ÀRØ`¿ŽÝ¦5®°k\tC'•âJ¤ÏÄj‰.Ÿ– –™˜|z¨4S€ß¦RÄvÛÏ^T£Ú†é>6²¸¶”¢Lpë> JÆè4 Y¥ìÑP"ÎlWÄæÌ ¬î 4_ÊçSæËÇÖ«›«K+Çnv\_ÞpÑÝ šUE¹´g¤óž"âèa²õxt©¾ìIèuB€i~®¬ê*_j«; 1½WTjjÚ|4+386Þg¿Û=:¤¡"^×GÂPë—‹GFcæ}‰Wã²·q4\‰@rÁâët³$ +ÒK_E•gÙ¸)nqtÈ‚› 2‡LIWmE3¿mS-ˆ±Np¯z-@o‡f%#“ö5 ;s‡Ù³L¿]¬ïªG**qóÙ¯'íµ8õ%µ­d F[Ý-ûõ•|æM“óÏà¶zÜ3žÌÂ×¥Y \×ÿúM¿Ü4?XSÔ”ËAÅÚ?ÖüUz7bLÌd÷Õ~ ~D@eçYþgr³eKÁ®ÃF.uÉ¡ÔrruÄ3 .x(òòáÈSqôïºêû´í‘íYixAvm¿¸X[)‘±9›YáûÊ,†·áKñ ùy¢è£7õU‡Ø<¦§ZŠ>‰,¹¬ǺÁ}'™¨¹6+98*×Já]Hd­šœ’,ÿ@ÎüË\c@2çæ*XíÿÓÝG^žrõ®ÉYZP$táiMÌåeS\Iœ`Æ4p{%så)ZATÔ>\›ôyñ)6X~³†ïÁ5‰&Ð`u²Ué”F>Mü¾áÔµNé+½¾{øê¿Ï5ÞOÉ:Þô(¢Þ|žcº'‰ÑÚyküãd]»[œˆ%ù‹…')ä¢lVŒ«CäÎ6wÌcécSÁ¡eAÐäª#[­æ…éí¯j1]Éô@ ‡¾%?Q4<’ä£a; ‹B®.ĦŸ²2h1ò¦ â†eÁ5C<Âòvò“½DÕ +ÞuŠÕŸWT +/äãR1þº _éU·ç×å4BôäO7RW\hjçC[Û¦£ÐŠL-ÏPg0¨â¬úôøŒHYÊp€¢jp†;.Ì;r>%D/ÞßÒÎ>Ãý@'IÁ÷9Ó 4i®‚„`‰ÈoÐ`Äó£ÍiÉuMÌ_!Y¡ g i'ÇŸ˜/¬gÊ´u¡âMƒLl›à‡zæÒš}ü=T?x5²Ü:æ|;J*,•µ"l¡,o»7jcôËvRAUïv2|¼œ+Gb_Q_P´ïYe¬t?…|d‰•ó70]¡ø/&õJôU£÷TI#N,E€9²àž?žQü°¡êäébh¾á¡ ºv=šÃCš}õ)<ÊùòtbáYXÃ…&Lð'µ +•x%h~›XgyÇmóá¯÷n¼àF\Êež®¯‹ñ»–ÏPZÅa7,.e½‹ y’0¦‹Ï«3×B¯¶Üè’­…‡×€!½_­ý±»-\MÞ,T''žãŠ3% ±¤~ âð{¦é+I®m#TìKÔ‚p‘ã4ÐöH¸2[4&¬˜Ý3®!zã Ú‚‚@.»…ƬóëäYìYrÖ–ƒ‰¹%Mد_-ä*‚~Á¯×T8V«XB'h0ìÝïÅ1)¸ÓŠÐÄ$ñåë öä1Tÿ½‹ó@gžîæ®R6Ÿ"’c6ÀÞR°ÑnßBöôy'½B³d^‹8•aŸç‚Øw*ÔÒ?ËVE¦ÂˆºàÚ‡ +|£b6¦þ^Ñ5ËMÕTœxè 5Ë Ñ1HÖnF—BË¢vVù$p‘OFDŒ.¯ë!¶iÊ›eã8=9»ŠŠ£¿³?ÈÙªïiTz “ç´_Rx…¾Š)}WÜIßTV +ãØ™¿M‡€dIûÕⳈè,´Ãôá<þ®³ø8ðqÓHDÕÌTFåe‡¤[K–LnÕ@LùŠR”îã6Ö]%Ù“øá?è¶ì4Žà¡7™ÉªÊ>”rm\Ýl=(žNŸ">ƒÚ!•zŠÂócEB`¤ó”¿ê'b[ÁÛ<•%òE#ìˆýI¿++N)ºtûÊMOžU; ålKSÓa +ÔqòTû¬û®v)ö=7¢ö+æ5ãésUŽ;õOtœ +PEŽ†&ÏE¯46Ô‚Cx¡¥š„Â@tÔ?.ì@a$yN3,HÇ»ëõ–ŠYÞÌ&L…Ì‹fósP!°Û›“\ƒ*Ï Õäè©;ð2 @D–€‡¾Œ›• þ~…¿2Z £Ký+ˆ’(©$wÕDº>‘²»¯]ßÝk3‘å¥r¨Ei®ð`§9§0…2R°æ~" c%FK™Ža +Û†áxö§Ûgä ßÐCÛô랦8cÞÈöv ûËjc£0bW­[UÖ :iàX8Ãå€he:SŠÃ4ø9› 1·r@!/Àè³Æÿl¾ìÎá(Ÿ½9fþ´#±ÿ(¶ÑÌ„¥ìL·ìþú}^WãP®VÛlh>ݾ'½­ÛÓ¶h?$8peã~¨õM¶îàý' +endstream endobj 10 0 obj<> endobj 11 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 12 0 obj<>stream +Ð5¬ —¯nëîO¡ðœæV<(àÀ¨µ_Ó^j>¶.)`Ê5nØä‰ÉÖ +Å9C¥RÕvþtô“TO¼š¥gkÞ‚<(†)å|Õ ‹Ô- Ïv-eí?pÖÊy¯Ö¹MŠF¥c×­È8þb" +àñaé[ñv¹%âGp‡ãB`÷öʬHGûÑWKéfMD +2–3@æ2²IÅžI†)3Bh«©vÍhØQ? €voY•‚;qfÙÚèk$ÚÌU<â;XVù=µa +ÞîSë*/…ªç ³ûa§8"&#xHÈ!‘Ñ×3ý1³àìlìÐó¤KZÂuå…4ô:ZP&9y»Uù !¾­8×–Oðü%[Ŭr¢E<³#ë­q3–[öµ:Â*Œèx‰ožƒmÓAÇQ’àø¹9{ã£ú€ÿ ë¯GòeŒæ™À¬Ô³MgèDÚ s"cóSËÖeb·þÏ‘áï• ‚Wïãí¸‰uÀ*Ísc•›ü¦{<€Yÿ@bsÁw9¿D.{Ä  ¥:¶Užcì&ˆáÈ>þÙ+E@~¯J³ñ¨’”žÐŒ‹"ŸƒÉçâÀ„«åû 4þ©Bó:p¹@f de··8~õm+$Nu'b|;Ž Îõ%Ê·õáuÛ0O¥ s2Ѧ&_N!9 åŽ;, €¦¿|øréwÅøÿ€WÚ…Jµ.ozf³‡ouûéžÇ‰‰ÛS/Ò=‘Ôýo<$($¸¹ü†¢ðÎ%¶"‰WgyÈ¿¦R{å¼-Q&RB¢R>1€=Ë>ȵÚ˜wi£L§2Q³PÔL–ØU‚®úåªG“Óª÷ ÔoãaùhõÏ@yÝÝâì.›øk# +¯Y›•Dð“ç69¡L¦iÊdœº.ÏONÿŽ‡Y½¤l€8»%QUVnOwy,€Cœ]µÈ4&/tEÖ?j&\@ñwôýÆlD뚺{n–)—L+öFR€`©ÞcMæûF™öÕ>ì­rÿ^Ÿh»G°ÖĪÅý¾(#Ťóõ¦ÿ&Nσ¸°Ì€­ÕÒ óiÐlöZ²Æ;O+eÉ¥m‘W)h}¥@elh!ä¯É£ „ØH³`…; »µwö*ßêq–O< …¨»N,dVåóÕz#& ;F + +¯ÖE„ËÚãÛKÓŸ2F‡câë0ž3("îÜ’Ñ"·‚IAÊÜmeÁUþ—o©iFšYðÊñ¨íÅß²© í‰Ù‚ý³Ñ?\‰>I[ÞoóµßâüGR°"Êgô`9Ö†HÎ ã0•r_™ÿÊ}Çþ‡…”ÝodÕ u® uÅf‚;r6 ÈD×áf"W1˜£i­ÌØ!ŒÏcðw6/fvûsvìöý]½PE¹é’Wánw,Hî²3|ƒÑBÉÀ=uz½èmˆÖuƒ¬§Zîx›ƒúØÇc~yZÒšÉ-~IÜ `Ðl²µLF6Tš]ðŽç9[.Q¥S?”Ô~éä7í| ^ *2”’úóüU( Ó +­H~‘jã'C–\(yßݧþBhXyQ=rŽ:Ò7]¬„rÆYÓÿ Ù‰XݼâÔò€Úä® Ð©(¡ÑϯŒªüc"Wà™œ÷¯%dÔfq[\¹“êñS†a@œ=üËÎÊà•ƒ«‹—Yá É…4)”hï9’°0>y—‚ Ñçâšžþ¦bI+Mî¼ëÀØÿ _MÝ+b¼Á ÞinÊ~;šêpºjÝŠh&¬:(K¦î%4zÂ-we ¥Î_°4â¬l@¡Šûþ ± ÜEïýreuôÿì±Yàˆq0ÑE ˜¸: q¹4$]Nl«,ÄÀ¹ÙÌé˹.>7ß›#K®x@8ŒiukÆ°%4i3ðëE¯×¯KJµS_­Í˜|¬ ³¯ ‚Ncœ;ÿù#úç±ì‘#~ ?NùsÛˆÞ Ó‘Mr¶ª-q,+¹.}5IÛÏ‹+¯ÍB)‘d¿f+òZ²^ÿcò™”þ.3œ¹nŒ³¸vöv¯NcÇØ„^i™jn{¡7ŽØ‹,ÍØ$àw\# îýôB„ékš! +ÚpDuKá§ã›O(%{q—d.£ƒ«Ú²u¡Q#%BßçF9ý(HËTÿì¼CbÂHI2â7DÌnQ§Ýäc°Dï†j]4všk*å}æbá6Ø`=+KúŽÔîëp07›©‹-òGÊÚ9~W¦}w!†©µ­úTõ§gûù^¬zna>¯Þ¥ÓOÔjלßÀÈæòÎÿœØMã;O8Ó>‚Yí_­tvíÛz†nd*á°¯ ¤¦à]ž%ݪ IôTýµ=«ÊLŽÙ®ËÊ-€cPÊ.;–œ:öÈò$5¡âýWhx¼4±c6ëžÜ¥|„›×Sà*À6jsvÿ²¶/‡(…,Õ»Út¡šÞeÑeA³ç–E‚ɧDFqÃ1öˆÈR¬ç‰khÄW]çÈt­ ¥öèRö_U4X,£tÆ"ãÛýbn©ë¶Cé¿ð^­äà¨ÝºOª¾íÁêÕsŒ’Šé|AB«¢i~Õn^ÙÖK"pÇa/¯:ZÓ’ØOBwžiß +)õ+e9™æ/ ]h¬m‰"beW'GC^ôúÎ8d“*bæëØaêá0íGdÇzýšÒ‡fø²:v…kî6ÅqÎ9”ö +;§~çâá›—áœG\£Õ!°Ð(À-¾vòÝÜC vÈb1,å‹•”å:eÛË—ŽMJøå—Ä…MÇJT=¤fBŠ”pБ4Éuîì©Ò3qª.˜¡©{fbC#²4XÌR¿ÛFkþ<oàègÖßÌ°VcC›‰ ­âç:d–zàÂñÚ6•ÖÄöûÈrŽ4ÈšJàáxkØYl–Ãùâ”v¶Ï<åÄ!!Wæ‡ÇIpŽÀ{G±‚d*(ÞRÝ9©›-*!ÊiO£–>®•Y:LÒÌ`p9[ñÂvTHú/âÑ1¡•„±¯qö Ó9^»ôMœ¶eÇ÷ëÓ W;Ä]yª( ØXûú}ŒŠd–,1:ð­«1(7ôŒ·ÃôÄ©OÒ€ØÈ[å(š]‡¡š—£ªöCaYÙ—•ÑpÏÆŒ„2>lO‘¨èö£ g¨^óúl†¢i~ÿJÇÔà—ó2¼ø¨囜.”ßH¡!/˜™O«´]7À5_5Ñ‘ÿö¯¡ Jb£:YÜ‹QGÎÆâË%rWh÷פ˜{¤¹»Ì‹ó5Âc‡;›Š!“\´T™h%,Ò„ûöÿ˱ÖOÓaÄìオåئ®´Ø‹î€(´vÛFq÷²ãÃâs¯Ôëõ?˜EäoÉ@4¤d,jQ92œÏU›ÝC¡Èé:»WU#4ª53lžy·®žÏ%Dª}ÖÏLÂÛ—§›v1Y ö²RfÇS„/²Â¼Ø[ i¥©Ì<ÝšÛº("þSµà‹îƒ£­{…Fè ,-d1lßGàsîbÿ™ª‹w6ý†'2FZ¼vYâÆ Þ¯)`ŒÏÆ„9ö­%C‚0‚‰-u9Óðù¯.à¹Ã§_gÁqåMo#¾£y(ÔuÛçòñÀŸ>°›¥$~Õnò;k›¬7u~XÉz%»üPÖæê‡õýCÙ”šn¯?H¬f¶ë_£X 6ëýàä|f¼ZŸGP‘}YìdmˆWWb„º„J(Ç€%EÖ¾ƒz}k -žË®}'–úVŒe¬œeÀ¼¤ê9µÛY­´†³ÁäoñŸ‘•s+aç©ñÝÖxU//^Ž<à2m³ H(çX¦ž÷ˆœ œ1+ÛEfMJ©ã ö³zwÑw(†Æôüâ+»!EܸŠì|ñ3öƒÌ÷,ϯÁ/ 2¿ß> endobj 14 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 15 0 obj<>stream +#7Š§¬ŸÀ´Zòl¿ ^ +rýåŒwÛ~Á»ãµß„SBì¡ HR_B•3í§+r2‚“Ð=¿×=v‘9ø +Vf—ÞlÁ!ð@Òld²å¼4¹RH£æHÔnqE¶;ÊíÂ…C])Ô +5¦îÁVë?ó_ºnø#6|^³v = GwZåF‘.HÅó]ýH\K,ßávóVt ¨Y5õ÷‚füQü9Æ7I¬;û4t$ Þ° ë¯Å§T6yÍ¢(«å‚×›AÏ°Ù„Gˆuz%›ÈsÜLw>‹CÙ(Ée(m¿Ê¿»Ï4ùH;nG¯RU%¿ÅÚº‰2a–3 +Z›Áî¥xŸ°øqz>äÆ’‡ÝoÏɦm“¤žjEËœ2Š†D)þÆ1ë@T4¹£ܵdD+(*JcÕô݆Ⲽ’ƒdÄ&“à¾j¶Ë{ö;óy}í"k¨ÐÁÁêC¾`;wóH9‚•øu—Ö`öO‹Ü¹Ò`Ud´N$Lu²ã£·q<2í^Äú Jn„¨,‚Œõ"·ÃH=˜¢Ûþ™»ÉÚÝ"ç B,ñÈ⢿æJ(2õŒz«Îñ‹®æÀïïÍ ”ðŒ-»ý‡$§8k掤OØFØDqG³©~¸FYdÙMprNhˆ;É.Émuoª¹™l³W<ù÷ª¡eH–7ÃmPßr^W"ágr¸”Ú3øP€úxâ=tzz¤ã¶ÕOÄA¦T7È\#Ý)î !£‰VfSØ¿p 曓b7s*“´Å‡>¢UHuðÒÂsÛëH¦e…½WŒõ¢# ²ç\ÅZj›¥oé"o.…ÿÓ™÷jŽÍ½Úý9k·µø/úi;‘cÀR§-¹Q’¯¦¶ð·M­ŠJëPÙ4¹0–¶0ú†­ù• ³2´îžcìPö–8àqÞR8#µ(ÌQ.A1£%Ñs&¼S`/.nx÷‘Sü#ªœßÖ}wÝ[–’¨`³‹åöíp õôöú…HúžÎ¾§LJw ›¤¢9\ç¸”Пºútà\)hrk®%'zØ:™8°ØߎC¨½/ë$ ˆ‘cgÊáyƒ¬+¸æs†5c3àø“riaÑ/À´â¨Þä¬òj§¦ñ!¢Ñ¥Áà ÉÒë·pæqéöì€çž¹âkà ?Ó¬ç8mk»iÖŠm »´!‹<ªæLu¥œÓH¯òoíˆ`1Œ¾’w‚'ó!"{ûë­ã¾SÓ.æÙqŸ—¨µen!™ëDå®ÇŒl”Õu_þ§n¨«9w˜pÈËl‹¦>&ð†æ±Óù¾y*k§ðÅú°‚ÂeÙø¢œdÍéga)¿%cÜ·À²Y½šUð•M~^š Q| ý IN|mÒ|*@AŠ¨'{—Y×é(IYçè…\öŠA$÷MÕ$ÑÇËyíóþy¹H·õÁJ õaV"í94¹u<ßK²”M–Äš´w‰ÙžçAíõ,X„¾3‡°ÓØÌ°Ùj¢Z|àÄz¹UàFfQfCoòúog¸u†b_k™ì—ã_ÛìJÙIœ”$†}…âvfŒavÕ [U{I]›ÑaIýÖ– Öåòªz´¿;Ø+9à_;½Ü}Å"”#yúmŸ¹™ß1!®ln-Wã¬õÈ#+þ™1×ß +ƒÅgRÿƒÅ Ì3Æ"î£Ö\LJùRÏÐÐR´ùç3ÆJ|–ç¿•?k +gùu8Á¼ŠU+•Œ´7NÓéVþm~j4ß⹞uiF÷àö²! þ‹jãyN´n[¾eaXÅKFs_ô3¾[dã´µ!8ÿùïRÐì½4IŠ9€ûYšûAbk3Õ‘P óÂ9Ká…ÖŸŠéz>9¼_øÍ@)ø¾æ4ÎmLŠÀÌB(^fz¦ëÞ¯ãüYÐÀòè(ÜMÖ”pu¼APµX´úd´ ‡ìjGÁ@&yqõCT¢0m¿Í +Uô%FóéJM9™ö±‘Þ3AU1 °âw¥l}äoÝåGM –TkJEt¿¥Õë¡Ëî Ë=íÈ"=€‚ÁíDfD¯óDÙbÿÃ%4àÓ„úP0 ƒkaå‹ívQ–²†Î¡J”ÝÄp,%ÇŸw·ƒm{£p*9TWÎÁDø{„y%'Åe0ù¬QŠQÆæÂȤ0¼êúº9Õ™‰¬îÀÚ÷KÂá“XÓJ?×Õý®Ë‘–˜$aäVØÕ¤M!¼²ž¬µ”‹‡+Ï˲3plÅãKGDæ念ø¤› §tÑÞî,n÷0n).AûÞùZE-ÆQF›Ëìé'`ê°æV¨N¹{VeÒò<^<Îì®#2b¦•»Þé˜ç˜Ã¸cÁl›vá­®¤s@ñ¯¡ˆ°Óüªì‚½8¦Àé´þ«dì`ý#aâ—AKÝE7G]o™ã„§é%½ŸŽ]5>YjqðÙÜÞÑá ¾p¹7þr÷æÃêþ©eŒ…Ãj‰»phC`/G¸ª§³ù'âëó‘NyëÙŸ¹=äx¹‚zÔÒÿØt ã/wfû•©‘÷²SGž$_(]Ý`«(ù0ÿfu˜:À¼Ðð-Ëò€} +ŠTŒtSÓœ­ãs³Ò“¸öÒ)†Rô– òÿH ]A °– éˆ¦%Q½t-älhû²feËla!–z~Í7˜WÆš3Üw]¹ê•r¬hê%€Å~Ña‘Ú:e_&|f]ü¡fXì!«ž±çËeì'÷DMz¥6‘:1˜ÃìfõTéOq VÀø¡æ~9DâCÀk±EXÇëºÆ¾ãØãH%±¿÷J?]|õ‘.EœBX_%½Òf* +Ô‚»|¹"&Ai ð꾘U¼âòî‰!×ZîH›ƒJ_Ùôfj‡?ƨÕäóóÈÓ&ÖÞ´§¾ßTˆ þ:BIäWÄè^X[ùqÿhë8%d tC¸™µ¿ÖöuÀ¹À®é,_ ·Ó»Âe™I¢¶©Îs6 ²Ÿúä´Ø“¥¹òm‡v}m\–ávîûòë Q¼ªµ:–ldÁ†vuM…`E+Ó(ÕõÚMx +Ëÿ¥d y”ÑúH[‚"BÔ^L–%„‚ˆg¿½ð"ÔúS*9¤r{^Úg]¿hím€kŒLØe"a부$ ÀÅîÊ'?²t(ø0ëêÁ=)Pód’Ñâ÷Ç|R6SaþÑt2ëvàŠÕÉ1ÇÄ0õ"nz))3 tZà/¶fâ^2¶Ü¢'w%¤«…€ëq*Û2^æ— ºUžÃû¨Ìdœë÷îB NãD‘`̉΢±Ã²f$iH$쯮„ÜQD_¬Øa\OD—l6‰µW£w.÷舚òpµ™…†ODì‘öÂ,ºù©=)4‰~Ç$JË^3Xe(ô¥uíÓÄé¶DÁ\+…óNµÔg2qgCÍÁÎ<ªNÚçYôØR‘B[úéÿë&ÎUã›þ±žsP @Å»GÓs<›µ'’r[—Ú$Íå}½%ñEà‰è¥p‰vhÜBîšæa(™;ՆнŸî¿{¬ uõRñ†ŽÂ±žÂ¼@Ÿ½BZGKp&1>e°ˆŒßP´•²¦Ï»1©¼’)G@œÓ´£tˆ¼ Â-1ª%ŽÙ)-¿W &·‰•ŸÎÞ‘ÜaQ«ê2*1¡óL‘­Ãǵ*c탥˜®ÃÐ\ Uº|X|­@v`}/*ô3«ê‘˜Y¨=¤©¾qùÕÈo d°ûZq*NAÍÓX/”²2óe%eaF_vwù·‘SJ+ˆ¨ª`,>’}!#Oǯd|&¼æÛ9þ²ùΗsœ¡ü¢Ý¥‚K‡t¯Ìœ ŽÃÛBÅ€~VŒ›púaø¾Ú몷i¼…,Á‚ŠjW!Ù˜$ò5ôs—©ê=’äû‰ˆÂ¾€pD.[ÅuõÚ[ñ¾‹åö¢OûjØðD5uüY©Šèx¦ÔJ˜ÐŽu½ÿ”ÒÔJ®¢ã—•h´7-Zq˜-ÊŒ¿ b ±È¥`f•Ë‘ÝÎ!‚1íäøÁªEÖNËJ¯ÝÜ]ö׸¦x„‘°þZÕš»bX Ò^V…ª_AíÎÒÖ壱`z\ÔÈiˆòz4^Pü´Ü…‹ˆ$¤¸Ù)Ê/÷…, À¾àÍ=¹›ÎŒï[÷ÑÂÜ~Tx´ÿ¡çæiœÄÁAo à62wEž¯ÍÝ ==ΙßøšÄ.qÞÆýÛM€Ã¨.|s)AÙ¯0­ÙGi-jçNÀ6âÆ5§hø&sãª{ñËßV?¸/€ÒA|᪠âlÙ`$PU´GQ<µ"¨I?"&Â_yD§‹ÉÉ#´ý«V”ù·ÿíi¿õÑ ßEnXY".$$ß³u2ÿ5ΊÓ/fõ·ÈÖ4ɬpõ»%F±¾ÏöQð4¯þ*Ñí‘Ç4ÞkoƒoH )ÓÛçsm.áo¼´ÂÔ„„•¯5½Ý¡mìY~$W+Beì1ßc&¢£OøªŽ% ±.­ê ÕÆæôܬu8vÿë©Æ¤ýíÚ®$‚ÉoEXP7¶Oõc埰WOÿ£P¹ §.X‰`ö†ÜA¸‰Kb#Ë¢#ïPõâñÈfçX:‚\Ë%¹HÃß±·“ãÝ‹4=Á8&Q²«ìŠw7Šú§½Ï(ŽÓ :xT'»#J¶•À‰BJ½¬Á Ÿ<ÿ°†ã»¶L¸U<¤Óæ¹ÃWf^ý« +¼FQö‹oT &'Îœ( +úŽäs¾63ßÜØÛѳñ_³pÛÔ2›sFõw½$ÂZ‡¯¿l£éIÏ•ØKçË£íÑ üNæËå#æ¸-¼dÙºÙFôÎyˆ¾ +endstream endobj 16 0 obj<> endobj 17 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 18 0 obj<>stream +’`ÖßCðåK4äþ½V®žÖF®æiˆùhÿN"3Ežd@}:¬®jYAZ>l‡%4ß9@üç>æ”͇ +MŸ•K âÆ5Rùª›)žÌ€(æaùß3;À¯¡œm„Ĺøö`ÚïÇT=Û·ÛÔæzçU èÄUf†>o"x¸TÑ8 Ï +3+ 'ƒx÷Ë-g’Œq&ÛM)M¼œôdgÆ’´eÄÉP²—@Éâ*Â2²§«ƒÐzíÍhî H2Ø÷|ÍÒ=nçÅjƒpe )90Oã…\Zxý3ü3¡M¶ +¨%æpy–VÛ~Æ•}î?•¯×h|ãí –´@d“‚¼R &t‘·ÿ,Õ]ƒûí{ºï³A¬vιROÃÑœø)[ØOü›”)ö¼áó¿žçÓŠ\ +?ì8€ßY*Bõ dBÆÛ"þLœ¡R0?ʸ1ÎþrüoÎúgã5ø3¤ý›€<êgßÛXs@3ßÑâmñ +5]ŠÍ‘n­”’ݽyÔaMÍi&FÈî+M[I 8¹6c±ßÖ&*¶nM‘.4­;<Ž¯$Á˜®Ù ó'qaî.Æicë–D~€#_ G póÓcbû@Y9~ X2°ÁÐ@ÝJK§“F«[úM&+Õ@†µ Ðu8q¬€°!^e”×]éè¿<0Ô_|ýD(î‹sÛ+™ÍÈ7X›p»:øY/„€¬]-{®9C©fL¾/àÐŤ/Ìt`à ෬™™uÂ6Lí€òˆxÏNî„h$ûÈ¡dŽXOËèšÚ¶bV²y#ÆsºBÞúw9Çú(ýsÖ*f¤Ó;{²SR¬Âå]y\%ç i–~ê#V½¹î“ñ§ÊíçN<ŽÒødïè aÊÅ5¾c~D¼mj¡Ûü2Q»ŒŸ¬ŠŒš­z =Rñ‚)x)4r‰Î÷—`}z"ŒˆVWíû#éŒ +eÙ˜‹A¢¹Ç>àååC>Õé[Y䉣!ÛzEÜØÜöY£áX t2& Ô_aP"vŠœz^;$·F1:ÄZ”{®x]GÒ;EX­;I³ô| W}~âíXƒŸ²ß ²œØ^mVL/±¯,ÆxáÊÿ‘rË ö„Ž„ÀtV³õD0V6SßÎù¨!-†ô'ebQBVg6c¬}¢¿â÷˜.IÔ’&ôiFÛ/&ÁPLCæ +á ãTU¶ ‰4œÙ\ÓÄÁYL»C1.’ ”p¤P!a!Â(öäiÚ¶bòP—VÁá¿ç~a)Рu‚ã´³BéÏÒYáÒ9 —Ê#> ‹6:u„XÍY´Ä"ƒ²cnŽvàDìE¼¢â¦’Rïl¸#yâZÂh,¾¥ùgÊ?Mã (EÝ&i×útëA%ß!¹¶;Ø4UV¥]ÄM;´åé!žD$Øÿt;:De}±{¤g•5Áë%`4­¤ï´îð·üa­ œÀ3?‡…Pîj7)Ž§íÝE>å³乊|~Û¥âOú?bØINs0ܱª”ä3zòÄv“j9€’«¾ºõGm—]Ý‹îu\ôÏ µ°²Ž–Íês£ËV•û+5²Ú?wõ9êæ}Fdö¢Uߘd!Ù¹ +ãVÈ:•ÅâôwsÂ8.÷@…\Ñb`qžhM"ÖƒêhD$ß4[ï&ï€Á˨´Lˆ¹èêô陀2õ'HP¸DÔG¹ÀÆBÚ.çJ„W¾c'eä·aA'Tx „™|»ê¶¾,«ZÊN¹ÚFã?çÛ¹¨Ùb3èâ|Úü´%Æ^ž8æ€ÉMšÉH¼½¬ ó;ñÿá³y‰xnœW³)Ø€Y]ügIáÏ¿ªgr-Ã'„ñ኉‹òŠŠ_@€¡âÂ"[´’l–ŒŒiÀTEwÜ)z˜€³ +„˦ý¤}wºÊ—gyÀB2U$“¯‚̵ú˜€’Ö½4¦žˆäœKÝ[¦žöë`{oú ùvwPbï°‚Ÿž™Â7üëÙEb‹Çsc8EKe xµ8gp^ „ƒ¸]£tm„B.f3%¥Rç,Ž*sV.o†ÚÃÌÐÛiK”©Æo/¸uþB}L/¤¼´‘[=ù züÑÞ¼ê®2„- ×|ÜšÐûç«Ñ¿îŽC@\ŠÐG¯ÈÂ1â?ÞÑ~·ø O•è¥ºÅÉm¤S7G{|4p‚BPŒ««ðe0rÆŸ 7Z­Í£YpGM"bìÀ8#RD .=Tƒ†+¤ÀÞã|ØJt@#=¬Õ¿(S€è}´à›©žk­\AªJ I ‡ù®å÷ëq{Z’ÒÕ÷øVËÏ2œO]Ú)œø–^|öˆÀp}‚ô&ÆW¬_د z>7«ŸËÔDˉ㠄«½ùªÌ´ª¦ª¡ŸW^míûÑËfÏZ´ˆÇu¬<7ãj1 ÷Ï %Ö½x¼ä½õR˨L +á`E •b$:„_¸E©«{»Ÿþ`ß1s#à â—=41Jù zõk\³»øˆ§ !4Å-N÷ñTøg¬TaIXX¥dù=tP=Bh‡iŽ‘-Þj›¨<#DÖ:„Øivà„¸KHíL5Ž(!Áõ:ó³ £8ÚIË8þ 0ý—RgëÛ„³tô¸¤"Ûü $>²"*ø.ⶒ̂ˆ•£ò)Ž=QIHñË@Y¶ÐÏWY›ŠuíJy$†²\oªê„Z:Ûcj×Ykí£Ch-àøõÖo„o üëçZ/9Å6Ž¾àbXó¢žJË»ÒÈQÛçÿ·ÿ˜=šç|€À}Ù\x—¤Q%Ý·ÐćšË™q '—§¨Ó-~—ÖpDVNy µ‹s +•½px~àbÎ —…ßÝx[ÀÁfuudêlb¦Í¶[Ó U…{Õðj¾û‚5ÀôG‡îô4™pQÇp€ýóç» g Þ¤ÿñ`˜éuF8ÓÔø+çt§¿yKË ºº™&×ëà a² ¹¶»Thñmó \¯N3V³úŸu‚ì÷á mÁìµ¾Ô<º†C±É(Hø™oÖEêzŸgQ@¬cíeXŸ{¨rnЊŸÑÏg¸v§Ü4iÚJÛ +/ŒtStÃ{B€ÁÕÄÛGdað3gˆˆ2׸¬>·ðÀA¯9©ÔÍ…é/ìÿ¼hýMuÔ-•ãí<ñw¶I)ê¯zþØ—›µ ëP@-÷ª¸ °,VKòCmŠÀÅhñ˜°L®îQP›ZãéKˆ•¤8ä,Âôr» ÐÆ §ªû‰l¹—Ø~9ª.R žIü1ûÕžÄÁß7žb•îøZö³œŸó-0Bs-i¸Ÿ¯<æ­žeYI†"_º œ·µ ÍÐD†€§ D2»Rƒxf1Škˆîl8—>p^ë´%c56v"YC‡k+§H‰öXÊÎ{¥õ[ï'|’úpBK ²ãDôIUû'/ì ±`{€Gh¤2h¯O‡•a€%YŸh`سÊÎìæ›jýþ¨òмÿbzþn•&æ(‚ˆ?<:´½¾«P»‘Z)ƒo»N‘b€d§þ IÃf£Ôqù\Ë Y˜ÿUü³ Œ“XÚ¸ ¯U—íM›Z«nËàæÏX¹œîqe@öD’v¦°¶äÆV,¯üÅXo†G¸…Áô½Ä–î$$²wì‘Mž[²¹Ê_s"š³öHƒü†ŽÞÿöž>m š «5›§q¢u ÒÀ3òZíïK•½.ŒtÆ@Œ ÇIÀ@ÕÕ잺‹žý(”ª#§sæ:^T¯ÊÛvëaƒ$Ý.ärÄD!étV«Øùc$³2“7L[Úã®æ Ÿ=±dÕ#¨¯wGÐMn>n§âŽi@kHÆ¥_7ÈÎUȟbr7ÄlüŽ;IrþWÚYÐðI©ƒk{ß—må+`…Æ¥/Ùòÿ‹¦GZý?Pô1of²‘H®ºõÝ×tÀkD»÷îGošHJèÇ=”·Ÿ€žóh'ˆ>{WöÙûéÚz’‹"ŠT(ÉùF3,)íF÷¬1õÀÒ7óÀ …ΞTdEÀ~rXÚ;gÉ`c%p¢trlEŒç£DŸ àfÞ×~¸%æ†r«bïrs•uÁ\ÎÊÊ©å˜,ëJ.²ü’ë¦;ÇÞµ•I‡|&ÕúÙÞ½c§:Ôp#4Ef‚”Mu7»ˆß¹þ¯tà×W_„d©¢%Mú^·VË„œÓá±Th߃t›Ár[?ꦺ;yF<Î÷Äù‹U*OWõ ¦jFÉûàdLA–P®œÙÙ"ê~–èí_Ùxrßߤ‚‘82Gåæ„5iŽqþfx"%I/^Á +endstream endobj 19 0 obj<> endobj 20 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 21 0 obj<>stream +…⬂³w N—?„w´y"\á‹ã,šæ–‚*ÈÁ‰ÈS g›ì!¹ [¶yã•\÷ö<¶Äê5…åß´:Ç"ÓËÆHt`½ù^’•pikiY ˳¼^.Ëk£mÛd9ÞŽÁ‹ÿ9ÔwEq I¬_Õ©œ®«ç¡-Jöaΰ·>4ÔÉ¢ˆb±nôY€¸G ‚"ÆyyÜÆ—ðîkºž 6@õãA„Ïìì»ñ(øƒ”€ZU5Œ•ÝÂ+½â€3äL’‘ ÊXŽhá£ìÏ9Ãøᇥu»ñ¾[R• +Yâ¶p3Ûo³‚P³•=#XAÑ$‰Vhƒ/&7Í9Wæɨ2kï}nª©S=­A€zù½véCyÿÏÉ+¶ûQ90ïpži~6ô¾âjš ]  ÞSNžoco^<,ò·ð£ÖËdÝŽ—¨âV,w",¤ŠApV½‡Ø1—­!—~¢h5Q“’ÔÚ8nKŒ¶‚  +d.¸»qÖ¥=E+ +Éñ¸åÙA@âÂàaû,œ©Ž xWè‰CRƒÁ|¤û+¤mh‹ü3OkMù¸Ð¨7Ò/'¸C2ûs)ïC¶»cŸI‚bñgd õû ß°+ ¼ñ0’)»£kMï/ìÓutßS[¥Ž‘*¡ ¤ÿÌ­‚zü˜a¡¢ìšØ™Ë>Á]”Ù-ãœv­ô`'å?Ÿk0h3GKùEsðU ½Ràæ¤3áÃœÖImvOz-OÝl@_Ó©-/Æê%ÉÑhÄLHdøÆÂ'.;·å{OÇ €rM©2 7ñ$¥%¦¦Ý1„@v3yV<–@LµÚ†)bØ!@¼V){a{Í<$ó[§ÿ-×;‡#¥«¡½ h®ykr›-v‹þ=Ü\cåÖb?õ¨UÜŒ¢©,¨Ía ØLúÛ bè­ÔÂùë`X݃ñ„#]H’>ª¤{T"µeS(s.† !ب¢®ýœbàg·½ˆSଋ¼Í©Ž6JY§…Š+qé»%¿h†„  aåÇ 1ñ8.¬i㪊}K¬Lk3OxÖ`½ñç-tom¶ÁùlVJ‡=\…uþtæ­¥¾ö&À±qÜp(î!U3Óª»qiÚír²û".{Ë»ˆ7jÈ'„1Z{ ¶íµ–ƒìlôlÚÙƽ‹JYàô¥)0D€xÙJ—j't4ÚKä‚…q><¬íîÎsd ‹•Å*ŽE÷2@'TÙÄ?˜WXD`%É“ÌðÙ¶ý—ºÆzÁLGêÒpþH“9½þ `IZIJ|xc…ZV3 ê1ÚÆ¿~5k¥qè¬ Eñ<7­òŠTY›[œÖ}ô?ä³Î\ò.Ò˜Ú+’Ö™žE·&|¢¥-Û>£g ö5à8Ei¸J¨µÄÕp‰6W×ïÿÚu3C6Oºg_TÐÏ%¾g«Ç´Ê wb¨ËãŒaý@ä§üzä 'ÿ?_æ 1­©QTp†Ìú®|&¹Q,ËD„[0¨@‘&õ’u-r{Mµ÷V…9÷|P+Ú^éãøSU±¯›"~ªv0ñs¦Éԇ蟟y×¾ òe)çšX:Õ$תñƒ²nVˆ½sA“ãÕX éýl:w¨[Æ© ikh»hògµ>|pöþ°½f]BwÙï©”›¢ïѳ–m’†’`墒R±ŸQQÄÍ ŠÒ«¨Ô®‚£)‘ÃÇrÜ ¼oÜkíox#I:e‘å®fQvQJ£O5c,¸–/å{b¦¼IAý + +Vö ­Ú(9ea:ÂqˆæÏòÊBâ7@‚ÒÊ¡€ôï‘Ä­ûx¿2IȤ¡ïâíèœ@²5üøÂþï  De*D,9—hwïæ/êA =Ÿ«ËÃLÄqŠMäuœL¸òŠ–1èÔÓæºìëunÐíXþì‰4!Ê£Qú§…ÅïœÔX:C“Mš¥6ßÝöH‚ÝgÿYù=;½6¢ÞÚýïè_»Ñ)/zëÊ´`´±%«´¼š#¥IåTDÿ ŸùèGÓ©·=5"!±)K°R¶mxö²îqßËip¯;À}úO¼Á*fÀjg4ÆÈã×M†^}†Ñ OQ u0ƒ]»9Õ*¨šŠß¬ã³ÇYziߥãÌǾÍX§®¥ö3­Øæߎö°•¬ÌeJ’pâ%Ù<zî¼²„ã=žŽ.‹´¸üe÷¿ÔC<H«[Œ´oéÌîÿ±s`µ@ÝQ 5oÆè§]¿¢†HÇ[íí5¨QhÉV‰¤BaxYËñ´Ï3¼(¼ºÐ5 R¡µøËm¬ñÎ)ºSp’»5¼ÄÓ±ŠÉÓƒøX\w‰C8dÍ¢ØUä|CnE*¸l%’fXý^H®æ§x@ã©Í*T§"(:ØNo™ï½çºÝá™8`. ±1âuX§>cCá qÚl EÂ0¼Ðy–Õã‹ÝWØoR’·ò`þd(KŒ4å a©™è®#¸¯2nÒãžn?Ÿ¤ÝQ[}ÕLjf¨ïZRâ.+ü?¬Ívé1SRžQ^dÇ ¼ßº(ÕÔ1³Û§³±9Þc?@=ÉÍ›)/ôR;Ãœ:“&°j¯m €bR Én79ÊX3l¯boÑ3´I±Õ’´¤ÛÝê\|M92Ì\Z^fWóýQl—Ü]¥l™æNîÒy@ké+g?ëHhŸLé?Á{Fû´Úè½í“ðé Ä‚ôÛœ†)voÜ—ŸF–þ5Üz—kéP‘kÕ­aò_˜¾õÜ«¸nÄË3¼úã)áúä +¡×x탻¼&šàž ^™ï¬@°f¹Ú?¶ù´UJ¶»uÝØ2ø?:…=œÇi“gˆÂÀÍÞhm²‰¨ÝO˜§~c&L`¨uMF–xÔ¹¡ã°€ê5hü«,EDÝhS-NÿAâ‹a¥?–˜5ºw´h_}kï ©V)¹Î÷Ô”³Ç4oHØ’?$ÈÖO[ žöï¿hÆ.§5ƒ—ëtü»Eá|%¸Ìu*\+àjI*Ÿåhßîø5d™`„IÚÂišð./öI8ò>Ž{Í8·ÿ(ס(âDZGfˆ²ÒùE ²^ z;µ†¾¦ò! Æ1?7ÆbOÖo ? ב\LA‘¹©Õkÿ&(P1;ç5Âœ$·j€ñ/Ä©Ø ®¶¸å(|æihïw¼fÍ!f=gI·=Í€úÏ›ÉêÛII³NZ¤íAe“œí$Å2˜©oÐËp=w¶ÈùT§¼)?ŒÐhßOùc ”Ž(cšZ>c;R×Óae˜¨ŸÁÖ¹AÓ8z a³‡76f|¤á3!ò ‰òŽY~Ë© á“v@ÇcÙ+¥*vM4ábúf¡I\ÚÒqT\y™:À?Ã7u”lð#özªê³j¾ÃªqÑNˆø3¾Ù 6‰¤É+÷cdBzªw÷ÊI½± :!Ž›óD>ÿ ø|¼S‘H‰«|gÀ3Ú ©Ey$¸<œþ‡·Õ °áÂ׫GßDÌú»FÂË£5 ½EÀò`Ø°9§Ÿ7P ØÁíhƒx£:[A“á·¶ë…Vº1Ò¶uÍXT=·¾ÃÈcdÊb„y‚DN®ð¯ÍÊÏý’†a0šùìŒ^ ¢©`$h¿Oõs»Ý> ¤¯9¾ôŠåØÈ\. áÍ—·v¨þí©ït+`ÕÈ!øŽfò¡¿\®'¨Þˆdñe}`5R7ÄUOIÎàY6Ù$­©µ^kßZüAÐôõ¯>Š÷N{/ì¼Ú»Ñûó·™Ün7N@s§ä\¿¤”Ï9äZ¬.‹€] EË^ÐZõÅÌœ)±!6gGäE‘GЮÀþâW›oXp¸z¶]ŽN«H LéTÀÆ­ëä™kýtwÄ‹ +„c÷VQ>@;’µeèY>z7õ’•ÇXž¶ä’Cdp²0ç¸1¡pÞ"º]_HM[û"µƒzQªs€(Aœ6×—å-ÎÁ}Ÿ†òRU|ãö~#Sǘ»t¤_Æ”]YýܦCÄ%³Œƒ)€ê³:BÃ(%0cm`ì¼c&KH¹;mÇ`÷ L½¸§èÊ¿ÁgãÿÆ":µæ0j®¸™Ù™–´¼`,ÍEÅ9fmN¬à;¸·DMiØOîÙâv¯*¾–Œ,bÝ.žý¼­^¿" @ËNîn+YÐ2TIó庼è}*OŸ¨} oÕñÙ€úxZ èç §Ý×Ep9Öib¾ü8{†ÐàåH¯‡Âa€„lóq1õÑÑX-kÀ©¾Ò&‰cãî›Oã6©~FÎ/ ˜Mxk§a¤&UJåW`•»•“º¹0ŸV}ˆ)aSÛÿ)â”:lQ:OqƒÝüM9O0ÑÓù Cò¹"·ÿrBÈÆ­^ïU[ç ßœà®?!ä{z½–S¹ +ÍW| +8Õ¢0‡Mµu¶å+ò@³- Yhî0zKäÔÅ5‘‘kLp2±?| @È‘PuN‹´x?‡ùO#}ÂM³ðCÅ^iq1¯=ù Hœ +ÿ`.5Ÿav­"n âY?]}RE÷b={7ɭǧëæÝE¦fÑlÍD‰] TØq,dXiþJ;ÉôˆÄbñó¼ºÔ¬Ïfm>15Ç/–<ÎîB:-ªª³)¥–EÚê×^Û"BDFÊ¡6Ô´~`sw¡¼èÔdŒéBÂ…†ÆݼÏb–7ÏÒŽ^±{é°Q†‹H9¬!,ÜÝá îÇ´üˆ:¬üKS_ê¸Oä¯ïd–Í•øÙ?Ä´dÖÕ÷±Î¡Hìʸ¾(àÏ«·à“ñÞhvŽÇÚÛÌ[Ý1Öj@ûƒÃ¬2¿]˜ó8€à@ánLKù +[®6h”^à›6“²-eð®v =S¤ûGðw¿#–Íë"ÉìòëqmL‘’ì/檾4üüT1…Ä1n²ùâˆyô£BmŒI+*Do-¤“"ãE$h{ª‚}W7×—þšBq󌛮BM«ìÊt`©»À¯ZjÕ´Ö $’ñä +endstream endobj 22 0 obj<> endobj 23 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 24 0 obj<>stream +B§V(·u ¹6ùœÜ].ï*k"@)m†.åàQ˜h;ì+8YžÉ ÎqoX&ì$¾ÜfÐTÆÕó¹`ûø¯Ûœå?ƒiS¡!ôQ +iüêω»ˆýÁÆC:¶4õÏ[»ÿŽXJ…@@…C6á«ëJp»]ê+Eã¨×4h¨8ÝÍAt­"´°0kaÙâû¡E’o‡¿ÚÓnŽ3â*¡uòÍõ„ÙŒïÚ½²€R–åm£C–î´•nud¶œ“,‚õÛÓ‡òÆ£€ü\á—´5ôä PÆæáBäÍaàô5%6Ö±†#©ÎU¥Vj¤þ1;(–‘`Ñ,~“Ð7s5ú4Y[™Ñ‹ÍVPå Ø¥Û!|s= Ãðõ‰lv~¡mÍQi¾&ï*d ûÓàÍö‡óŒ_NÒp2Gq$Ö–l*“ÑSfÃÿuÀ&á ýd‚X…þ#¨Ó†ô¯vZ íû ¯?Ð8o¶DÀËUh"Äï뛜)m8¥#:øÝ‘üÊâºJ××ÐSkSNî2BZþ€m¶jޞȮl8“8˜níüœËĸÏÓRªßN´ñ”à›â)ï­!4Øt¦ÂÛs¡³OtGç€ÛÁ¼=zÛ¹ºØVQF¼û¨IÖ‹Ïš¦ù‰ª{œ9…j-©5¤.N>i5# Q¤rÊÃB5ä²LAB%×ê@‡Ñj¼ÉUí4IžåqÁUÕžI +û†¢¦BÞÇøýåüÊîYv4ºø4.¹ˆ|Nzg—}p½B¸üTκ‹+ïU¡ª¼_PQâÝÌì°H-XÉd­ Ý6hç°¯‹oÊý]ò%·<•(bù»HøMœg©¸%Œö`˜ „ÞåöB…«:êzÏÌ Â áÇNšüu"ù=Õ!§ ²jôö6_?#£Ä›äº!¸‰L79€S=‘3Dï·k­ëÏ&¶:‡—¿<’Ó†@/ wÃÊ1WªáÍ]"Æœ{ +øNÛê@‚€ÜïÈ™»=ª +ÐÊ-áàIC¶Îi|“½(žÕ•2>G‰GÄ‚b`¤`é9À¾¤]« ÿŽ¾ Í¹0’Þȯ—Ûô†VAmig;ä +´þu¥bÜý ñ]â5Ÿœ± ºfœ-Ž¾îk +Npt´›/xVò8& +cIh _ábˆ5XÊVÔ­&ŒnTžÑˆF•Êœéƒ» ì4±S·»ÉCZ €Ïñ5"ܥνþ@þúÝ6`€.s¼ØYÑSáXDS]Ô¼ðCõo˜kÒ·Dãˆ(a˜c`.2XìÛ¢"ŒVãæÞÏTÓNÜѳӨdÕËx0I}iYMýÇ!8?Õb¤,ö—Tb4&UI¨XݺG*C 7wÒV+k=€ãð=‰<è{];.&mR{Ôw—ŧ‹/æS »hæKÓÈc=_ù‚Êg–@è[œ­¬=-|Þ `¶ˆ Õ¾œØìà<›T ÓþîD€²!t?Çû À]}ÚÔÑ’Ü¢#Yø´¾ÃÜOÚnë"¹¢y+\ÔÓîa3FF³·t¼1<°hŽ¢ž$·]v”û$X’ÌðT‰'6à:ÉW!·M>gñʿƧŸ}´­÷+ëè®ý³]Þ1鮾HƒºüÃJ÷Ûß9—h|?!3#ùŸõšJa1óÀ(ów]„%ѹºúÐßd;"RÅ2Y-MÜ•`žzBN°²Ç4¢) }i9%¦Bjô¨Ý,éøouN8×;rÉÑÃéóp¸ÕSæ Úêâô žKD°æâä8¸Ù¬+ÇŸl&0½ÄsynψFbEçðÏ6D"³ €w*Y³ò‘¿P*Ù|EJ7#®:;|’|hßYyí,aR2ekÏZÄËldb(C¨‚O&ÇEL·SXbªšKØó³:«JŸ8Kà£D§®S(²ªêˆ4¼}û™)+"GZø™¬7ÀY| ѹ|ìâÖéöÒº3¼´÷Ž†çèzwVÇŒQKÛ_ —‚œ qø û +Bd*¹€‡Ã¬¨5ÿÍ_ÇúÕ„øFÛ·'íȾ)[–riÏvSè¨~ ¼Á+ò%­Ã¸‘¹j@p¼{ÊN‚Ê `{~T(ÿS¾ª7Kî@¹äDß¼‚²[yæ²ÏU™¯˜+:cÍåÕfS½Ê,F¨`¿Äî…`­“æ,Íæ6+HaÁ£/´ÕäasÆ_úÌ0D >*$0ŸèŒW̘Ž¥FçÜ6»®áE‰»Ú|s°åôüÝ5~q`ŠaÒ’UÊLHpÅÿcã³kq=.ýo^/P `~CÎÁñz>ÓÜ×àíæÞN_ŸÝÛµu—MÃÏÕ°•†h B¾í°ùâIå¬pðý½ $­X|”Kd‘´òzëô6@r«•’x5þ­drÍç¿pl³2b·*ˆå±î´¿Õñší¨Í¾$ Þ7–öÚ£Ñ:ƒ@âI¢ô–H¯o¿À›(í]S,b7ÀðÀ´òw¿?<Ö(÷X©7ÂÀs S¡)èUËü)Pjû¦ ·žóêÓôÆõd:™ ü¦Í{·ÎG„9SizüIýNºàógLui²dì ༞ԧwÍ¥(»ëÝðpŒ•ã±ñû<³~رˆJQ­d¼·@Õ-õÔÍ׫FÏŒQ4‹çßÌÇI••Á8ò<Ôž›‡ôN¦Ì^ÒÚú$ Ò8U¯îsdëa¸°ã¼ƒ˜j«bþ}RǶäÝ<„záK÷$ˆ´ zùæjÈT"€Ì œJksž©À+•þj%Év–~º·7§³a†ùµ¶”Gmh›ÙE¿s^ÓeO9¬¦?ýsĘ’º8œ}0'¯a6ÊÌ)f R¬¡êîµ´W-‡ +siÇ&2ò[Å×øÎPªwÆÃ&p™¥Ç4‹ˆÈ˜?¨‘cU类XrxNéd÷Y‡;JW~~8ïÌɺ·3£«ó+,ó[õÓGžQ©Õ)ÝZdö´V€t÷ˆ¼'+¤«Û®ýä£ßãÝk­!̃´¹®ãÑtñšxÿ»éë-‘¶üCˆr­·=ö,£¶ðÙ«K-—ä_öø¢Ì +IK‰âên°7«¦‡òä~ ®€¡Ãù`5Å)*l)ÞÚJ„ekÉaîβýÖ"ÇIÆ»,¿„p»¯ÅJå's–§Þâkeªþo0LÉ¿Îä)ÍžýÅ SOiðÿ$Ë°ÓºíDAËÖ” EóÇ/t27o©GÂñ0êJ)Ø°ç3c€/#Y‰†XâZöKoF¦còHׇãm¯ð+ŠZ!ÆÀ½¯õ©]óìzéýpU’óy#”ºÛ¾Ô‘RÄš%*hì`ÑEF”ù€và•›Ñ²&æ¿p•¤·.Á|rzO¿XcÖMÌé®_{ê?à“¾Z„:É.V”ˆãZ•¯üÒ¾|ËlŽI¾!^Ýò’¾G »œ Z½_(cyúúÀ :Y1iox¯ã…ÃÊ@tˆ]=Ûéÿ`íhWj7ÏÒ“Zš±¦rQ‚Ú©¯Gâ¶%ÝÍJÜiæ&'Ò¨;t?ú¶=Âh´ûǯœC¯PË‹º‰lnûä´õâP´%„õb3¹a‹‘\ÉÃ=”ìë½¦È ôÐ ¿&%ëÌ\]±”å7ü›Z«÷òV°ô;Ú‹±Ìw+VS#”馩É[»ÑOÿºÔ•›M=®…S¯*†KUæb¥XÂÿ*‹Ð¯ÎÝ ÒÉÛ~Œ ±œZsìk©ÙD´•s‰¾ï(ð±Îlå*‡»òfB%úï7zá'VÑÜöFšÞ=;FBD6÷Œñ4ô;^ÎshJó"èÂR<+Û"k2xaœ =7—–(wVÚ:•âÿYÙ’Ø3¹Š0É7V½!Ó<’_º¦é cÅU ¡•HÝÚ7Šo•“„>¦Ý~¨’¸í¶^.t·ö’Ó‚œ~Iã.’AflsÐŒí… ©ìÈ‘~ kAàóŠðé$g2á?œÞ¶1#å¸uFKK2Éh”ÿibÊöÑg­<%d `UÊo è³îv' º#ÝrzÞ]¼IŸƒçÀ¾qÏ0³ëxJÈêå#œ‘ N(,Iã,jI¸Yÿfà´»ËKP[½1ÒŸm€Ï`lvo¡V( % p‘ˆ¹»6S‡¸¢×Û ýN§6xS—OuïC/× @o¶°€Øž£”ÒËÿ„¿ê­ ²ž‘~ïy‚ðÁ6sZ0îpÁ êo!ß:ûÔ+ô¾LvisS³àñœcƒvoÐàå—ƒàOÎúd³Ã%©ñÚýëûŒä¾«øy€Z‘ܪòKOo]ƒ•º Ù¿s°·q Ò}Ú/n 9ÜÙWM½$zr?¢(¾»ž…aåýÞ3 ÉK˜æ­iÕ”²CÚl¼ÅÆR[²Á>m«(ô º„æqCØýQôKBìãšͼӎ,»3¨K@ð¦Sƒïz¿Ú#¼êý"WÕÁ4K“® +endstream endobj 25 0 obj<> endobj 26 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 27 0 obj<>stream +Äue—àJ9•—$+÷Z»h½ÀñSáãâ=Ù,N= YÞÉýpQEá ¿˜®Aeq¯Š‰”þíÀJÕÛÖ¥{\Ò”ô†cûGÞÊ£Þm¼qsEc _¬ I73Íþ¾¡¨Nq3Î1ðLåé—ß(3¾E¶z´‘Vâ讵cž!4Œf\Œø½‚S²b®Þšg: %¨Œk¹~»„pÃ|oUâjtÌV 5ÇY{»…ͯHÔN—/‹SµÉm°í5D"Ïÿ5K‚¦Ë®*¾þßËp8—‹Y¨º'¾…tšÑø·ô†1Ð +L½‚ Œ{Þd`Öq»ë¸ÀšüŸl…•ãA*õ $Á #ƒcô3nEìà Z,‚H/l»)Õÿ_¡ÂÏ:}k°^Ÿ;)SÕOàÞ¡3W&R¿ ½&\Å¥1'ˆé>>ÿ‰$„—cŽ¶¶#Ÿ³ËE1¹fs’º¨mG‰z& ]³»ûFCë|¢†óÚ‘CÒÃÊÒ¾û~i(->7ôÛŸ'}Õz2ªA“qš>´õï<:ä«û×_3E‹3C)í1^>u¨ìftôܺÌ×eŸ^ :³ôLËUì/4õª•EÑ4q¹þn9¨äÕ‰B;ö²b5*JuG¡üµ±¬ö¡ãf\Q‘g5½Á¿.Lè]¿eh/™Ñ-ÕR‰Ø°i|^r¶±[®LýOnI€nÚ|láöV‡¯˜ò̉—ƒF2âåig†»5”ö¥uðùïwÏ&æVm¨·Àµ/Ÿóy ,$ŠwaÚÙöÞùXú…¨– >X£|¨4ƒ®tcWlªAÃðïÈT^H=¿Èk]ÍW‘TµmÁft?wskM¯ +Q\e"“ÿ6j.fP_äI¿Ô=ƒØŸ´æ>¥0·çÞ´ÈÈ.A LÚ#pï¦Øò¨˜pt£Øëzó’)±c6¶«&CÙaQÕßíÅ" I¢EJhüZZGTá–-ƒuP¡ûiÕƒÂVnÝiu»°þñ:W6Ê…;=—ˆëîà¸Ï¼xdã¼¾AÊX' n¦­W]råd¾Jó¦zú¯©iŵA²Ô”™¯Ü«yÊ5 er©Ý¿HÔ—jÂ÷ù%æLJþs ׬Ãý»Ô ÈKl›ÉšèÈóšs€aæ¿.Ú‘¤¤á}mÚ*‚ï¹±³~óiÈA„±‘ç›ØæIRˆÏÕnyJŸL!Ø͵´÷ɸ™©+^qŸÑ㫬ؔÌ3?v8Ý,üÊ<GÐ@§ËÜæZ*ÿâ5,§”[ðv»áÌÊîÞë”1fÒno±”þhAv“ÅŽóÊ©xBk¾ÀñO)I<”t6r­:”¦v}HHKoŸGÔO±Ò˜Ø×+±1,¯‚öÍuõáÜ”\› 6I0Õ<¦£ÁjH ÆEw×UiuO<³^Ã0\€¬'ÓqëióAȬp­Y%~hxc—à!Îù 0§‚žüªèY¨hœ¸Ùï&Ió¯l±9_ÛÛV#¾Ü¼ŒV›/G}îîf•âäéOù[ï¿Ëô„‰ Ñl¡–/0bøD'ž‹ü:J‚EÀ«àÚq‘EKK…}{‡c¸Ðc3¼ÚÉ6ORÓ›+CàwnŸ©à30ŒHïhÎåçQRj5S§”ÅDróüz㶟Æ:¢YÕò˜Uª‘îÓ@ ý0Ž£bÒÕ½EÉÞˆ¼r ±½*8§~bNr«¿`®ñl÷Œý[ò{gØ^oN%èî®Ý/¤Ï„¶:Ô&KNçªKG·µ~Õ¦«_Òyœ»d´tN|Ñ^^—µÀñxשsè/gò.G¸pqêôÑ^z–åÏ{r㦣SÏß´Mœ@‘Ý •£dœþw*[íy ¯z«Ö×YkÛèê’*b⧨µyzUŽÀºõW—³~à #ôëÑyx[\·©ýªPèÊ8HBÒŽ7'χ /¦øv¤@dU„÷iÚô×™¹dëg^–·J3mèÅe×$2­Û(—|àt Ne΢fxijÖÿ£Æ0PsO1¯s–»å^sù9PèªÑÕqÅ–¾_\®‘¿ò +îå¡Æ–²¢ßøä$1¹ÇèÅ7^›“ 3f”`&+Ÿ4°¾;Hµ¬  ¶ìíG¹Ê,h‡ª-C3-‹™Oá@7ç‹ Dá1ê0w-†àÖà‰´Ób›Vjêà\‚YðÅL…V6÷×qCBÈùßIZ +e¼ÃÄJA4c&yj?žëYðb9~ã z<­†aŠ³^B­è‰Fà‹†~À‡¨ÔÖ!¦ž"•¾´vadç~ë{Íå}Ât·þø•'ŠR‡fÔ6úSEÐÏ^2A€H”ͦ©v§;´,Õ 6¤€é©@l&§¯³7§=öA»ŠdKLЧ΅yÎt8|“ŒÕpôR'[£XN"ñé]â=¤ ÃÆ4#¥7ßéõhÆ×Ƀo}ö(^ÆMÜXõ·œ§b–O=µ…:=ì…öXö(‚Iý·s‰Í›Zˆ®û²ņÝcòS|›‹7 åŠGÞpáÕ)ï4lë$øR2Ý\ùB¥!ÎO6O#2Š–p‰ùÅ8™ ‰»Âí#¥´Ní hä1Û÷ÅÙv“WÎ +*¨p£+ê…c* ´@Àû•wÄY Œ.Ì3uy4ßàÙv±.Á’´¦âWúüÖR5ßåM–Yf<¿‹æjG_d0'Ù4›f•ü{|E“Î^MÊþl@2Qð! s‹<þÿ +ÛNúÜ´ƒ_ p|¢É²&¬a:#ÄÃ`R9¿ÉíÁ¢Þ”AŠñ9U˜A•œJÃD:ªš‘ÙÐñŸå¦µªuë( û\*21÷•´r[ÁèWØò¡–¯»­5»c•q‡ñWÞåî‡ç˜0”ô?üRYôìí¶vvÈ€šÿ.êû*×¹¿>±jñ‘¿í»1y¡1Ð%_{¼=ª ô«vwUìð$Í›æ{íË3+KR~8Ÿ‘„ûÞ£9º[ØÕ`¾!þ4ŸÛîH¸¨‰/û¸öh?Y(Ï·[Ž©€±Aé…±lÜÈ5mÏ×éÓ‹ó!d gðHtaè½} ›N01Cn«„4@ŠëZð[Dfx¾põ \ Òž úëo¸€Óå[„ŽÅüáV“&6ñ:âŒÐ4iò¾¯±áu#Yšã*á)*ZVö¡ã§Ñ☸Ԟz7áÛ€M +ç†Ñ®zfÜgÓîxL\xúç“‘Bfþ8K Á¾O +#®ÿ´O gòDP×V^¯¹£tNpHxõ%ø¦|ظkç_àؽ èAMyulC Úžäh‚„èi~ÄN¹Òă9¸_[Üéaµ}‚©ábIÕ¸›;ÈãÒo„4ä‹ÒÅÀ—uøtHAÖ³Ã*-C!©ƒGV#Óswß •ZWÝWß²ãÐ!ò›y”­[Œ-ØôD¶õ¢óø$Z]ñÿ½/L›%?JÚ¯b¥B'KŒä,ÑýÏŠ@f¹†ÒÀv¾ù¾¥‘D¢ÿ0âñD²¼„ß„á<å/ÀžÐý/=Ò4 zçëPÒõ)ç™Þ +endstream endobj 31 0 obj<> endobj 32 0 obj<>>> endobj 33 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 34 0 obj<>stream +Deäˆ÷e¤qâÈuJ¥š„?+­ŒÄOÁ±ŠÖ ?¶ÙûýÞMÉHÇŒ©8]HLúŠ€‹è•k`pC‰ášÉF$¡z;šP#×E +´vd8p)07¾¯o•gxšÔ1éàFwòCî줩״Ûx]Ÿ¬‚O¯¬%í“>'Ï‘/%ñw˜qŒººç ÃébÈ´hŠƒOQÞja8ÞÊÈa·E¬[ˆ[8¯J›¬1ƒÄa‹TŒ#×¹àÁî5K1¥_&éÊ(Y`-ЖÁ¢-«Û)äRâÛG2!tÈ’ò) q¹;>Ño |l ³­ò¦Më²ÏŒˆqƒt}„=:÷¥¦oJƒnœ‘•ðè-3'ãKaçtGâï:òìN#êwÎg)vúÖ;J¸o´öÙ ßEN¾Iàž.¦ù³x*9ãýlA½ç/‰'%”zµDšŒcÛ~š–,ö|’‘W‰+ª¬`)ú»1Q=ja»}•™³ + è¬6<:ö‹ƒ9«õñ9É[B® ¢#*ǬˆDK.®‘[Ó¨wÙìÇë*PKƒ­b4T t+<§ y4˜º]kK߸h"Cè?zÞá6‡¿õ²‡ùÝã[a\ê=ôÃ:£Ñ6’’Ñìy#|T;ÑÙS´ªòÆù“ö‡ë“t±õµ¬{‡<Ö«Ht°VæÔþÄ™êÊä®B ”ö•4<”: ª¦¢é7FåhùÁ£½‹Î-ê‹3IÙûÂÎp¶·*ïèR|‰¨wT&x%Ø^ҤWSÙŠIp½o„Söd!{ƒËšVŠcÊûà™+Â.xNÈœL¥àÔA)~^Ì:8Xe¢ý!rx½Œ¨èNvC]HË->oÆ6Å2½±­‚š¤¤²%ðN_1+>Î5Sœ†þ€ ƒù‰¬”²"r9™¶(°×Øžå ÑFÙÌŒ¤u.ÏG$b Y¡EòûÏüUs€Ñ6{!oSa"冪Î0×t^ÿæÈ/½|A +Cjbõ«žíª‡‰†÷"+Øþbpg“¤C¾Š¥žavƒÃªR~óÃyšl ÷…;”ybËJ*ÿƒ ’£L×ÚøãuëD‡åX4¬RÁX@2C —„Ðï¼Ù’~‰+ÇÓ:=±¶[aË9cEk!IiýÌ.?n\ cÀÕ¤¤0p«ÂïÞÈ:-Q?K?›Òµ¦M5qŸ7 +ˆzîŠèY;Â79Ç»õ'äEªò*T´#þ»QÓAŸèñEâ#M€X{(ë hw&Á÷©‘šÞ©Ï2ÙÎVJ]|e—ÅPŒÎÚK”Í1”Û ™¹ ;°:Û¨ú§)ÙˆÀ‰ÉÈ4Š\!»NëçTü¹Â‘Uîom(‡“hEfí4pžBËáA(Ë”¶"U3.úñ½ÚŠ÷¨ ›Å9ÚTך$-ÌÖM]zh‰!›Ýÿ:&“ô·¿ xµJz€¿n¯ø9J +c¢mâƒXO§h= IÙÑo­Ç Ö=B˜Õ?8ó„žÅß‚bn8yÔÐEÐ!Ú|èhN¤_5)X˜µØ‡Í1Ž8Ö±AÐDœóä1V‡pWr× $ÿ?\vm.K}¾@"öI:`è]IŒïž§}œÑ XS¼Œ¡ûr6ý·äß5KH¶7“Ð;ÐNªrŒÉƼ‚rºëi÷¬ÞßEpÛÉFWâ‰÷Rôÿ×[*vÐPUJTqqãq2šÓéûxQªã1¼ßÚÅÇùXncÍN± û‘61µä¼ªbŸ¤ŽG_>L¨Orı55°O ¯r}…zW”Î>‡&é…‹W\rR*¢{ìª>´üæV&Õš‰ ‰2*½{á.¶î“‹>`-OëÔÅ•ÂP?E­»S´ýr¹ñzÛ3ã«Â·@7lqoêjÛíêWv:]>£ã§AæNØ€è<øo\vèÖý÷ã\E6Ù]E¢-Ö nl“½3g=ó)¼`Ý;¼òè¤óâbçWí@é–EÄÞÆþ[6ÉÊzÚ 'NÏn c<ú6@í•ñ*¦Ð`‚ص×ï;NÓ-°ÛÒ\á¼ÂÀ(ã×”ICZƒL*!<4ÇfRñC#GH*3!´}W‹Õ3ø¹xJIŸÚ¶ÀAòÅ¢ÞXW¹vÈÂÍ ×UrE4±¦˜} ã\ýŠ2‹Ï3~Gc]Ó÷6@¨ +—F\˜YyowÓÉÓ +íþÛbµ‚Ðó¡á\Ñ%a(Åý‚X¿( Ý¢#~v<é#]K «\×_ ;·zr|<¨R2åµÜ´ãAœøŸÇøÎ…¡·¿òÙza“€×G¼í>îщ56ð¿s…ü%ÏNŠ„F°[ÎMؽ¦”hÅc%çTèô‡:íV5ön〳–º0ûÁq¤‰Û°,8 ¡0ï›wnÚ,hL¸ +í×sÜÜ €cˆ”úÂ9’üúèBß›-+Ì™8 =DÆqu3ñG°èÞV›._qóÛ&+ ÅØñó*% ²ÃæÙjk—¦ò¥CçZ“6vF«ƒÊæ ïÓŠOÉj-Å4·jæx°ò:Oåƒõß™BØçË|MrMŠ¤÷-#å©Ëž>z®'#£YfÝ’tuͳxŠ¸í‚É’ÄWG +†z’ËZÇ™›ãna¬¨£¬J#-/þMï|€ÂðUÌ5ƒªã¨jÏBdFõ‡+ñÕY壖 +Dèú™ÕJÖ:ˆNÜ\â0ÅÐ>˜Ò-Â?ª”nò°+¨_«¸EFÎI52µç)êÏ€£]õú œ*=—TëPpÑf˜yÜÆ „/Ù}Uüf»bm§Óh*Zy(¨ c»­EÕ®mNÜ1{HLsÙ†h\4[8ê}ƒá× æ&ß.-âôœò€¹fm·Ù{/›ÈÃúù^(ˆÜWcÍyû}Š~X~€Î«'¤Š8õTP5¢¢|ÏP5Ý£AáÛNéÜR+A^•YømLký%‰IR36|<í{úoŒ;¼uâxCGìE‡ožïœåð/x~ë"l`¶ä=v“»sÃû¨Ê€Q EÎ;æ ƒªXr,xV]³žÖ:¦¢º?k-ƒ>Š££Û…?“ä¹áäCÁ‹\w/õ"'á×AÈͯˆ.¿B³¼Xu@ºÔ$zÌ¢…›ïsýèb“Èš©ïˆ„2æAtØ‹0Ç têG ú‰ç +«¬úŒ£öÐ)ÄïÓ…LéÄ(xÀŸ‘ˆpà Ê[}-ºµ“‡¥géÚ"€AŽ#ý¾`œ;ý}9pû”á!¯ËâôÅ_7Žtºà5jfÉ´I#À†}Ö fÑdžØSt;bXQYk ÉÈŠÇN |ƒÕ6EýP]þžT% ©Bѯ«~óü÷´/uìäàªÈ@Ú•màÇKBcjdŠ\]ÌæªåDù•ãÏ â©­ ºCã'œüÌÕÏ£w¸òêz`ÏPìhºmôWÀ2[z_뉧ý+‚aeKB£9>¸Ÿs¶‡E÷ +Õ4ÏŽL¥T>¾PÂ<³‘léÒsž“o0š–üô +Ó*‘kĬûh…ošºò +endstream endobj 35 0 obj<> endobj 36 0 obj<>>> endobj 37 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 38 0 obj<>stream +Æ°†m³k"ÌÜìqÍO'Rvª ÊŒ + ªÎý¤u;µÙ?”sx>ÂÕbE#ÐPŒ S/yaX½ŒÔs©"Hdyú1ñ¼{ç94“ind4\Ö¤s÷ùË-ò + ÕÔ^Ò¤pþÅëÃ3Î?.mÝk5oØÀ騛£µ*2#Yïn†vï„&x£] +d$  Íøõ£#ñÊÞp±|–€îÌ%ßfª +ÿ/È-›Amuýùæ-½Ó^VšÞøù„QOœ]Sí%Q›ÂÄ,¨áñ˜¸šôFž÷*>M¬õªóJ Û„n¿°0n¨AvfnE{û3äŸl!À›T!rTàÃ×–PafWOÂÞÚývŠq¶¥„äIÎòìÞѧÍçAŽI9ZMëÒpãTÓ¡;„1¢µu$_‰a @’Ÿ/_¾ t&ÄÊ…‹„ üY:Ó@µËJµ's‚1$ZÛ”Öoî}~6…Ýγ®gÁ6š˜òg{ ÿ…ðŠÊã„NAÅñ.Œe3h!pœ¤Äê":&_tÔÜ“IðX¿wš_>6û|W"š¡HnÂé€ñ]«í‡ +0€9cOÀ­7®‰ÃW†€†K%—8”9iHöšP‚kDŸ eßþ'yÕ#?K,p³»í!ŠŸ$\»R¥”P²;¢¨jÚ°“‹ ~Ðð<¢ÒÄQü±÷}¶bõ(Ëk¤MG˜H•ô.çŠ,ª2¶J*¸kXᨗI§níÞÜ(ÊúÇûQ¸ÿã§ÿõád#/XÛ-õû;˜73”$•3r\m*»ì?8,å¯ãò ß _p¯1I©À+ØTÊï@ Hd;{zÙ”¬Ê«Tñ+@ÇܺÇÒmäÊã€îçpiI/*@OXÚ 'E‹Ó«Þ˜UsªjYÝžX­•'bPP¢à9Ÿ‹hüCª§B8…“WI&„Ûâ‡×jº­QªO-J£†C—Û’Ç]ƒ¤·”a:`ñÎ|vÕ>GæàvAh!}p9ÝÿÝ! QÎí^Ìò »¿¸$] îî¾&°JêNW>~/›(_0¦ñ”ð ÔÚä×_ѧEw-7e +æ•/žÿY ŸÆø• "Öæ¢q’>¤¿’žjGñò-´pè[ÿÜáxpL8züüSÉÐbî»3Ü×sb¸¶Ùn¹g»n/7Å]œ[XX÷à36ïX7±d}°YýÁÕ¦†"û +Ý‹šì01±<,)m ÓÎõc[lãr†>šä{­ê"ƒ‰º÷èÀÈ&0Ý"ì¶<½$_/ÜŸŽ!˜ŒÍk"ľøëŽÍM„Ú•7wD\j!˜Å +Ùo»8å9å.½E!{²Å’ƒ½R5 ŸðåÐùÂ4 Ìà&o`¬¤ÀvîXOjø"€äj1WO¶ªª>vmlz¶ç¡›Ç ÇUVÖ 7‹¯= &H£dQ®A’y6™áÓ½ ãk‰,’`³/-DÝNï‚êP-0ô- @ô¶sC¸¢-n=No="úMµ&„Gù8E^­Œå!‚Ó@tƒò5 Bœñ!¦)Ž?Ó«¬\ÃbYTÁè^Äb"‰ÂÃOÀd¦PìDè@kœ +C¹gójž¼õçš‘§íäùLßL wn¢‚ +C+GdÕä±[r\¤Y%î ŽfnŠ>lF’°.(•kºúà¥ü±èç÷ÌþÈK@‘×O\N‘Ã-À‰|je?ô,†Š| s\h)#!A=(F(r ¤Ü¼¦näl–媴ҕ¬Ô‡7qºZÝÄÍEY!o…úXÇŽœ1`ËÈBüCðAMBœwå¥Âò\Ù’³ rõݱé·]îè¹év(;9`Ïa)¨ +º1D6þ;—u•­ŒJåŸí@G˜œ{×¢¥'[÷c¬!»ÌÕ—* K-ê˜ìжÇ)¼íù…HfŸ~9õ8O(51Yú•Ò(>/«&Ü$Z9L´[Ù‘]ç`·KYTÏ.Èu} óD§þÉ¥@Ù°=Í/Ò¦¯Eù)Æô½«FÁÿ å1zÏè×^и°”µÖ¤˜3{°/8¨Ð,â£FƒŠŸ´“—QåŽ) pŸÎü–ÙPŽ'†']=òBáí€Íšâ·h‚9Ÿ¼±¶µ73ì/R'½pjÓºï¤U²#ÿr=¤vZ0¾aGAƒå}¨ÇÑš¥"M¤ç?€·?ð;…1…P¥YŒ–ÏA°áÇ‘Œ€ÊEÜÓé»= RAÁl¿BÏn/\©²„-ˆ¢‰ÉÐÞU þË*h‚Õmiü”ÛVEBÊÆGª¥Hu#†£껥6x•ÜýÑBü£v¿lÑ"ø Œ@ÁŸ¥ç`6öºˆìá:»K»Ë¸7ƒ…ô)Ý‚Cå…ÏÏO×f……¥"0y-+äÀ‚œæ2ÈãšœGw;2ÝÁ‹T@Kx)µ}»öõïªf¾­˜>í‰nep¡8â éÖ5µk—³.ä}ú”žHñ8¥lØ *ôPúmõñìoÈJwám¹kìŒ÷ ++@°ÿ7K:"ÐÕ¥&}œz‚.ÒFL¬…%爄'ñhLŠ‚KÑþí`Ð_lÜ¥=k"¬ÑtÁISYTŸAç”ì,j Òáõ½Ü½àU=-*~s8Äð­'×ñÜÝÛÚ¥7e´Žg0Ê©ò ¥5ü4ëz!)i3 C@ˆ@!Z¿°V¿>x°U$|äùݤ·C"wŠŒÊ:’8é¿…’«3€œf °ù yÌMµðÕ«S9¢e +C¿ÅRò}ˆü±Bº¤ÏHu¤ïÒ’BM€j n†Ý¢+í ‹ …»ï^³Žt}†"µiÚ@È-»üÚ ]c¾{_¼ð²1h,» +‰kpÍÁjÿ"ãðJc“ª9&%© ±¨õÐ’/p/«U&Âg¾°)/ƒ5cÔ +}è¼Ferí-­О+¿V.ÞU¨ƒ a¶s/öj×û\d„ðç…ÝÓÇûr‘ ‚~qšqK?xŒÐ÷ÓÆ»*7Ï÷ôU×Bï2SúpQ"F’6>#; +è˪æ%÷\LÖsÒFNqó82b#ÉAѨ#¦^žNÔ°ìÂ*,/€ëÕïÇ©›Ú®NycÛu¯¹<~|×)b°l$h«V()þô>>ðóÛLF×]>Ì2GÕºˆã_,ƒòe;3rÄ4¤ßݲrñPbo R$ù°ÜL¥Õ?"F'Œ•V’”w•xŒ*Enž•÷õsÖA–¤ûužÉ†4©'ØzaÛP‰›Õ1ò7ý[ ½Ÿ²ÛðuíÍ ä€Ê—G¡ Ÿ¨í™ÃÅàÆͬ¹›§d-%ç¸ìU¤–£ö22KÞnY.õÌ8*µ*¬áQ]MÝìý6Ĉ#Íÿ„•d öóvŽ:ŠKÍW”‡†M+ãXˆ“¸tz_q \±®ÙÝF¬B­¥C"nû2!×h=ÇÂîè’ÓLæà3ùð0Á;øåü7{ˆXG…+®®6ÏœÅv5ŸJ¢±:›Ìf dJ˜ïña™ìL©qò˜trï·lÁé´0¼×}eŠé¿'_ýbwÌ%Ë’çj5 øÖgÔÿnøÁçW…ó!c×Á<ËrŒ…k³óEôÈé˜Ùˆ(´ÓÓâ–ƒ!€ý»”€ÝÜʆúa%>œ;9œ“øJ5¬â­¢ŸEÖÆš…HÎ7ÅÔ²÷ò ›…{§,'sa"6ÐÓB Ö‰£IÐ|˜±„£&i“M;×À¹Ô§ƒ<Ú ¬ßíª¨þófº¼²skvYtã±%´wêíØ:gœ†¥}§ß׎'ÒܲQà†ÐÓ¾¨Uv¹Ú£iEºá ®]óúÔdºˆ¦wÝÀßì:²¤»† ßñ(„åpy–‡^ÞF²Ÿ ×®œ§QËq%ûl7}¡øEÇ…3ÚKYÊÏð•$­ôúûíZH‹³Úr¿uéÑ;q¤nÛûˆx@ ú aåÖª«ôB%xG¿¤âvýwU0…˜@èÖ½ qáÛCL«÷àq•Âx¬«¥Ž<{1þ}E«E Ü]D£#/aþ zÀ‰©•Ÿþ­×ÃkšÜïŒ2×Ëôs2ÕÖªØ_÷-¤gØåçšShò‡Œ&‹IðÝØàƒéÌ9?ÿ>ÌCêæ¿kö"•ZÐ{^Æo>à>tÑR†Öãg-/A“ëáyô Å¥2[‹ÄF– ¶±zå‡@Û-ìd¤˜·JUv31 +²ú¿ +9à¦Çó —‡,P׬?ÍžòW;sòp‰l]k²ÚR„²Ûè +z’”º$.dzeÅý:Tþ}±‘„§œ;*ƒ¼€¢hïÅet¯z²UÖ[-“vI¢'¾ ™7óÈѤßE÷ÿºjÄŠ†â6yC§½ˆx²*Ü„ámƳënX={ÿ~¶If¢òšK_ñ†9r#†¼tðœÜ§ÖïíÀ•N<ÀyÞpžðä½O*µ$l;Ê]#–RÿÔbFë°>o{ÿÍfòqܾëþU¾8 +Âh-ý£E0'?hÉC¹xj}ÿM¹Sƒ·üâÍ[M`©ñž÷)‡ÜvU»³7½åpéÕíN7ì±ÏÞ!üF!êø¹ôÁÎÃòkÇÿÛÍOŒŸq¡4L ÒïHéJºÇ™è>L®ïÛ +õw_^ 4µ¾ÿü@ 3+êM-Ó˜Ž1ô—°ØŠCˆÎnHjÛYq‚ñ;{/°³öoÖgòqÒõ (ç¡q]Vo´ÿÚ”«v>OáS%²ÖmƒòÈq–h)WM Ñ níÆŒ}"æÆ×þ<²5 j³EZ€ÝÙ¥6Kã{V(Y¯™ºÆÁ €„» ? -äEÐ;¯Â-ÆåIÁee22Þ"¢ &0¾aÎõlôò œdrc¾½¡íññ@ìs™–š9hê4ñy€ãÊ4trFœÕÉÖÛ:bô´ôÝ) r´Á¹3kNäVzÀíÙŽök@Ë(šqQú€Ëy¿¸LaL˘½P¥u6‘ÛN¥™Áá«*¶V!lpÕ2þ–«èûsö¦ëÜèñ…¯H¹õÆr;Dî#>¶ñ“ +írÙ+î¦>ëq¬ÊЀO;‹XŸ£ß=0)õ¬‘Ò|”Å Ê«ζ^d¨[€?Ô‡ô÷ÇjUVâ‰ð“GNPäZJžÖâõ Ñ€eáE¤¢ÆPÖüïeÔýFŠoj¥^ ¥Õ6ÓL:.¬#ü³@À<õîבá’[ QŽ¾SÀ0¿€Þx¦xúC71W&fä>í=ëãhðülñ^~ CþÔcŽháH{ÇÇ!iwgSÉb¤‰™ê\ ]¸VL!Uæ)85„õ½‹aù>Yé¢ÒÙˆ¿WØþfÓgt+›…Ñ“KcØõ‚ÇÎ4صJ´0Õä”Ù7G ”a?ÄoÕiÚB-™äˆï2)‡qØ#žætC¦so“ڵЬ'Å)|žŠß¡6&F"*×ïËö ©¶þÉiÕG|)å0 i³Ê:3U"Çùÿ&k“—8¦ +Wl*Ô0õA»Ñm‰m ?åX"²²U¸!®£ÎjWN™Ý@çÚ ¢› l´ûç¹è‰‰)Øá(‚íÓiµ‚·#]5*û•Ù0½P6†Ûð#—¡ˆ_95÷?ÍsŽ7ÌNvóß7€'*2 Ì[Þ¨3s³^«ekÜ.½¬³žêñZ$îé«8ýlïÕAK§Âåˆ9C[‘*Œu¦9ý±ã}}Mí3Æ“øâ&×,*&†pâ·¹Pk&¼(gXI¢ˆƒ¹qDŒ?çMß×TÒšü¢ 1™yÍÔÕñ;’\Ã8ÊçHBæœò@"æjIBF>xV[Ìiç-A*æ´ž%9%ŸÒs§â%¸AX/£~6.xÇö£$-¾ÏA'bûŠµ—(ÿXà„ZkÜêụ\bJIã}£ÔHW¡0Ê <œ2¾ëáŸ)üÇòor¬+×}¹äo‘#5¯•‰”¾ ˜À9¹*/ "ˆÔÂ6<Š5<Ìá€z°÷¯6±õÅ4¡ª–à³KÔÕM@Aê™?·Þv„úšÖí ¤Ê¨Xeðç'~ëZJ%¬:µ\?ôSÚd*Y|/)±Ë2 ÔµnN p©Nç¿<¯f €X#¶ç\, +endstream endobj 39 0 obj<> endobj 40 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 41 0 obj<>stream +£¿S,uB¸k~⛃Zö¤Ù`4¦¾¬T9¢q4±w¾ƒcÑó’CÃPŽ«Ü;QPØ}uÕàçÈo³õÔùšÉ™ÀP-mù±Î˜ù4•—ÃÈõ>\©t²zGPu¿ð’‹À¦4ÀW§ü^h÷~~ _{B"EüK}¶€ó™/WѪWî1aÒž¤ã~Á û22Ú ˜z$þ~­õ—çÉ\^ŒT4x«‹O&î¦Ç–G:&hiÅòÜ)”åD¡™¤çã=Ö5sñÜËÀ;ªÓY¿ÖRœ0nã»ïd™Ò`£²0ª7.y¬’m +ýèeñÃèÇQ‹ýØw²…E}tLUJ.d¯AË«õ…STØ>¿ØÆ8‹‡è"Õ´ýå}~þW ³½vé_¡èe?= ä›Ð/TÔYë¯Ê ªP3 é¨s½{ɹt ŒEX2v=C5Ch•×W­åÁ€>P¼Æ5µ]•x~Œ§+®3!Cñ5Ï85žþ‚‹Ý<ÿ5ÅÓ×w½F_ à‡ÊÆñ›ÐS¿ù­ïcYÃ2_ÝY×f†Û4º3ïÕh t +zÖb3âôÎMQo¤^={¾§P&åB÷­Šö\Hç<¦šÅê/Òú –­˜f¢¦¶Le©$ܯòö@Š×²}àñ$ç‰awú ¤PŽw¿¼ÛÚYv‡‰'Y/ úZ)NqÕv<É¡Ïhíü ÷ýf»D?nf%Œ×j/%ßIØ,;¸ ½—†?ÐRo›º_wá. +×wƒ¬‡aO¨A蛶ÿ”™Ô<_è…RüpÐí¥5l +×ûŽ’xÄ0O‘2dVš‘Wa¹+®…ÀÏ}Þ)Ur·ÁîxMŒë—`ÊšÁ‡£~áðé-X?,¼ÃçÄINà/èËsÆ?õÈ!”¡º‹ qGÙHe즻AŸ.ëýyÐN°ˆyŸ‡9æ¶"ž¤û㊓& Ö*ÞIr·WMZ¤¸sâ ]SÃôb8ºí…ÌCJÃlI´¼\i-þŸ,,VN!„¢ cûàk;iw2ó,NÁÎmb­ ³bµ_ ÷fã{Q¶Œ +šÏÄ4ü©†³'¶_ü+÷Õ–ûÔw¶Ô»€hجÁ+ƒ°KôßÃ:tl‡Ç_Ïfé¾û™Ýøýb®ž)M¼€†‘ë—¦oé>µr`Ç€=zf®I΋ Q¹uQ¶[îŸÒê1ödXN->¶øÐk²YEu×û[§kb¶øã2‰r;Ð¥+å̶ “Æë„+ ‚E3X§ËÖJ Çy*m '‚Ò¬‚H} M_t@ìògü,9_èbZ’o!‚ÐÃWV+L-˜ÈU–ǧÖÔ¡L3“Ûkè_#sÜxÿ4¥3•F +ð³šó$·V”¨á)Ò´ì²}2ôÂAÌ ö£}Qá'ªº"ÂéŒìYÇj– íÖEÃ<×þ‹BtŒ`ÕP˜ÒüVy2¿r—e‡½º¹éÍÏÛ+Ëîs()úJ_s3E½¢íLaÇçêöØ!V‘üÝØ‚aÜfïƒU•ß+Ï39-q©ÐÛ!ÛÅ–‡1›NßÏ.#ômù\üºë5Î&mšBþvÍ¥-äH“Ýê-0¯–m};¢W(\$îaÿŠ˜èÎÀ1Ô%j 3Êy/gIËÀq;"†Xã4–(ݤ“´ø“§í¿vÖ†1VCfAY~PuMÃ¥Kö‘ÿT•šŒdON3í$à£0‘©’‹ŸÔ¼Ç„¸Yß&|c¥‹€šaýáÜÇa?¨ÄS–‰oò½žª¨õm(ŠŠœU«êŠ—Lbe‡hæ1%—±U—Û$`sË~WÕxìNÞÖÿé^°eúhb‘<ùo&'|§¦ö€!üž)9 +j–a ³(‰RðtV ÍPÝÂ.^Wm7kñ—®Q˜G( zÑtËÛ([Õ—²f¸— ‡þ&x—“OÃÞïóQ ¢ç²ãsêÛÕ"Õ±åÛØ|zÄû%‚cñãð9+Ù-LÆ°éÈ·h#Óf‘'d&ö!(Sr™ÙÜ íÖèµ4S«e@ð½*¿5âôCQ<È>`¢LT³ÒÆÁ.mIå Y;ÁðzªÜ„VŬW” Å$¦Þ(oÍc±Á–iÁ"ÊNVn±ƒÆR#. ûnÿy8ŽJD4žlƒ£ hN¸>õyt.S2þÈcf=°µ•+VrÃàeËWB·ñVÏ­+ŽH`¦_¾ÚÕ¿¹ÄÎ/5D2Ūfz<ª.åíó?Ÿ4zñÍLá=©³ô‹cÓ|Çæ²y+> ›ý§7ûxS4§ƒG(3-”âHS`à‡M â£xŒ”ob,*q¶…è´] }=<7­þhO—KGyEùNô~E…Þ8 _K»±ºøàÃ{±Ï„º"!0÷Àb‘›éãë»÷ÑqéúŸ¤Åii<—›\D6÷eÔì ·ö²¼'£°ir}£ ݹÁÁ£†#6ŒÙØglÔûýqü4 ŸŒÝåú½ ­£IÿÒÙâ/xÒ»$ÛupÜM5Nö·’¤:ª)ܳì^[䖕ΞEúl1_àÔºªwøºêni†#Kí^XÕQ—èòäVÄ4HT\f³Ö-Òz—/¶Mƒ•ÿ©#3YiÝÐç[xª¯í·|K!½áÞ3Þ +Üý³âcB8WiTÔ¾Gòi¤ãY¡^ó±s£mÓn%¸y” ¬ZËð8;:E€ƒ +Ïý~J´r¨e¤ë&·ƒ‚Xæ£4ïkn g$}´ÓﻑV)çC +Ó:‹ç†¢7œZLý+kïƒÁÏÑ!S•â`,åдÎnlë ^¶ºªñº6s¸¹d:nÓ´MD±Ç Ƽõ~.F: Ze{:Jpi=† B –o&™iû8#g“Ü:Eâ[G>ê/_0Ô_B oH„SAF¥´rÉñTðf `Á¸>¶äq#‡7%tG¬¶vÃ`fÔŠ®îú¼ø€ÌÝ1ÎÈŽ^Þç[»Š`ÿÏ~ 8$‘Ho9pP;ûô#IF.Ðè2`bb}Šj]W¶ü>\sùoë 2E1^©‹¼Ôéçbîç³ã;*Ô¥™,e7º;q,7m }4üD<Ðч­V/«Â¸ÓãƳE«K˜=EÕ뀩ÿrm¼òQôø4†›T"ÕHøLè×e€Ö…¾;î±»\ˆnwÓTrj‹À Hõ1÷àê>jK\ ( }»²k@»%OÔX¹™®€%Å´!ÑÍ¡Ÿèr‡êBëÉê9ǵ­8ô’ß—‘¸ˆ,Zdà`5è9Ó ·w¹rmôŠÊjksìx¸ËæÑo°XuZÁWŽø"¢òF/ŽÜ³ìhs/¥¼{UYÍìb¼×÷]ÜíJ ˜”!›ó±¡Àq¿{è3÷àØ4Ô¨pJFÜ6[vÄL¿4tæ#ÛgtÇ«½PÕþË-!Íä…Áï>»Éò ÓžMHvÔªC­”}X„wƒ CL߸Xé‹Åó5–òm¬ôÁˆæðž¶|-I;`Gتj¬öÅÓÉäàç9O»‹Ãñüq~T³caGb +p´ÎöÅ¡Ï®Ýô¸»QLæa)³#ý¼óTf’×îº`¼CAŸ‡ŽKN¹ £û— 1 +Ö¨m\JHÙósð °yÞ6$“‹Aî©Þ€¢®W´ ªtžÂÏ"½,Ò¨¡ÏuS¿öŸpTŒÁ‹J¡Mð¾îyŸIiéZöó8š­Ìô¾¦Ë‹³-s^> endobj 43 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 44 0 obj<>stream +‡¡«¼>±o>uܚͣ¯ÂÂÒkç’JŒÕ/ÇÒ)6ÒÍw^Ð5Åo˜Œ§ZwƒÇäa 9 ^´?‚üÿÚ€cÖò~’¡¿QàV +pS{ÎŒ +ÛèDœ¥ïgG–÷Ió´\ò12 `ÝD.~\Ü£<û"nö'¯ëÍ"dàrïÙÒ‚hŒËÇtËa!~„rìnÝöÂõ=„•¨ õÈÐ gÉá®óYáýz€&¬;´ÉwäàIFØ£èWÏŸ 'ÙÁJ{¿¢ó_(8 „’6´Š™)Êñô†À+Þ¬œôè%‡ÿÛ¼G²d-Ã:{¶F½,SÉú»ÕH¿›²àäZEË^ø„õ³ŽÓ9Î ”¯£—ùV-Ø\ÀáøŒrÌh± +,W Yü“¸˜ß‚ºrâ þ1†ôˆ{C’šKk³²aI &Ç—s!—øÆÒSž20Š SôÑå?’áÀ=¾NqtÕž.‡F›=Í‹=¢‡Fù5ßùd. öÌ1ÙˆxA+ë¢ÀìñúÓeûLÚx÷HD ‹ô¯ÊÓ—x” +žë0<X1Xûô…«JèìÊn?¹íÕ”9UÞ×Ñ’Àj=µ&)@Ë’GÅX«¯_×ÌÙ379Þ`nûD™ê[c@3L#+Aû ¤}czòx”y–™£YG•‹M½h=­}ÿ‚0Cž^_<Žù(áX”w¯‡ª¬3™h³mŒœ²Y²Zƒv¨4V%¢dr'ü†ï†ZïÀåãL›”Jòý8x¿òÍùtë‡ÜMÔq¹A8*wxº7Á_8ÿI²ªLmRÍ,’Þ·öØ@þÙ—§¦‰áÓ¾<{rî„C13†¯»~·bÚzpÁ«êÜÌĦ¨•aG匊3jŽÐ4G€~GF Á9ö8ÜŒY°8¬Òp̧ó&~ Ü`côtLaªLÌîþ ØsdÚÐc½¡FR+P¦ªCš6#9—ãuÀ›•¾cRZvm«õš¼.wq¿©€úÜÛhƒ£¹•n<ì\Lžn‚,‘ƒyXL×,·ÜHJdaóu™Ø=’é'mù4 aVðhGêan}`¸ºIp“Øæuþƒ}%›¤p +:H7ÒÇoí²Ôz‘¡¡Ñv~¥«ñva`¢ó@]a”Ø>3€Ë åïSÞÿöµ:€`cX!gÍ<Â]-y0f9,Z¸l@v™cÞ/›ER!;}Øü:±»ö`wÉzIBøFÑ –‹Õ;ÿ®ÙéÊPS®feõ=ÅéxkTk!Àˆ‡×­/Ú–]¬,mKô™ÑÇß ã‚W·#{Á°®HbE߬×cH'SŸÈU—§T˜Ý½€lB&éËqg ¼ÖÇÿû¿ #)ÄÀp6Î׸_ä`ܾmp"žlÖ?zT»¢S1l +¡ –ß 3˜—½¶áÉX9a¿ä¶ù7ÊÌm2)ä bâ¸.øþÈ&.¾UΟJÿ´ìxÅ˲ú0p<Íù-hxÕ¥ÉÍdæKþd th¯]nÇ©ü4-Ò?5›KÇÒË[Å‹8²=çåG$8Ð+£·s6÷¿0q±1¼êqˆØÃ/cÍÍ^?ýT6v2[X+¢Ç¹‹4݈ė”¬j‰ òc„ú‹9$4]éI?Doü‡O;$ÖÊ^¢rC«‡F0ŠMëÓôxÿj–ð¤¹òØ].·pÉÎ/¡Ü‹iúgtj„æ+^[òµGT(ÎΤ¼0ž{á\ÁUe]&#ééñªª¿—OµŒ¿hoª¢Ïí Ã^ŸŽbó G[Žk-=Øž?ˆ’táŽãbUçðüz¦|¹\n!áÙB|r‹vÅ +ªH‡`o³)c»‡‚JZLÌIÂàõRt6¤þÖÛ˜/Z•Æ-6†—1ˆc°å·ˆº{ò£‡ëiÇ»:à€~p+Ä»‘õn8Å„ÊÒåtØ0½!Ö:[ë²!Q“6ûì«f¸›3u‰†4Ÿ\…ƃ´Ap€Fzb ÒÐp(ø¢ú¨Óà{å]eÅWy±Æ‹~üÉ·ÿßfSÔ…ŠT–Œ½êvÖã\¾ÂWÄJÙ4OGy=m5^§ÂÍBùÆÝÑßÿZ‚¢ýs)ŠÃÆìu/íkÁX†ÝÙv‡½¡˜IK“É%&Žœä¦cò‡±8ˆ`ȵÝV–Tgh㵠ȈøÝŒk…>QÆÇäêšÇSÓp'Ú)«A¼'I±ò uò8ç¦ñç%¯ §8‹KÞüöyAË2_ñæF%{‹#jÃêY×B;÷»–©óqÝ•§È´öNàšë©Œ€§‚ƒ¸—oþëf5p›‰–b ]ðJ%ÓîÚ÷³ª´Ö}þÁiWÍ"­©’UãX¸\Ÿwí!¬cÔ8™õü²‰M&C%™bxÿÑ2„(±ޟf¤Þ¯,KU"¿Ô)ÌÔ:ª,ÿå ÉÜ Î;È]W²ž’…ˆOàiB²]0>êâÇmõÃÁ¨/ÖfuUßCfº¸Z&(ïýۥ˶J户Ÿ)à¦Õ'æ/ +w§6Ó¦Á抻L%º¹B(%Üà‘-²ÓagnZ2¨2ùòöþMaÕú{·¾Á8Ÿ|- ‹, +øOuÜ‹3‹kÄwTy ÛýÈ^ü›ÊÖ<+²M8½®½€‹ÜFØ&(3ðð2‚Ô%F&Á¨Âz½íîVDçŸ +N‹ÇñG¶ûL' †bšÈÙ4˜ÅÏWƒÖ-1]Œ;ðˆ´ý UX)iI¢3 +ï‡Ò’OÏ·UÚõi±Œx²&ª +»‰¡ÜxE"5wûJ}BBÆ‘­‹ƒ_æÉY«½¶ûˆßÜ®ªöˆè»ódÄcÔ´2Ñã +Ó`¯©-ßY¿®¬·5Z5 »@ÜlhÞDœFm’+äh‡^©lØùÃnû 5 Uåûžå»*¦WIµ”˜Y檎mÚÇÂ\ªEûKŒ6Ôw樽—ܘiMDT±öZ#‚š‹Ü°PK§òtÐg;«ñøÊ¡Ž@kðÄe3(jzt¿Š3Ìã>!\cÓÈ2PÆ4Ð\,¹Ch’à²_Çú»‘ùXÒˆ‹ÿ†®Qhûº  S°È0·{Z¿óÅMh} ³² ÕÿÃ’ªN©áW³èg½¹¾rÛv¿öJ'¬^í¼ +¶×ˆ·$ö⋃ë>ö`H#(yU³rwÉ—uI#{ÁXYáA[)¡QF DÛû—id^·ðòŒ7#t]Ø­ð[hŠï 뢙œ¿$ÉÓæ ‰ˆp-EZ“î§fSêøSÍ(©yÖ·¹rš:ÀäóÓi ¢À7+ìk]ñ÷ɱ⠮fœO%±oÿnÙßò U7°œUen%‹‰Hö„‘™àV°µº˜Ó= + l ï¿ Æ}*®r„é7°F +°lÝrC2õ0MžÙ«ñ«AÁó©©Ã":Ðþw÷\>×k~$8dãTdçvjvÊõµ‚¹² #Ÿ×W­èû=` ÷É‹¯nZvòqåZô¥š|ËÖD73;ozTæ`S¹˜ö°ù6‹‰ªæ/"Å­í– ÷g¸…§ej<êŠgÐF +“Xåd:ÓçxûìŒXha/!FDQä¿!Åì—\ÔI23$Ù¥pø¥ý…üš#Á`xd¦cä%¨:#æ‰c¨â`**Þx-:–Óê‡õ:7ë¬|Ìßh?>ÀHr[Í­¬œñ-<ÞÈš^€ž¹lÚ½Ù’©›”= (˜¦û.Ð?ÛÜìÆàY=C—–µ¬ÈÄx¿ÓÓíLX:ùâ´¦Àkºâ}žµ½Í  ¼žç¼_º“_fcM¿Ò˜æ«{LáÄ&Ù+‹*“jú,2&ûÚ/£Æ&m‡¹·%S_ˆ^0`ºu5ò– ù±3]¯„ç«—-i$Å‚£C»wñ묻\hË„y,MLR¹Ïïˆf‡ÁV¶ ¾‹‹u.Ï jk«â¿pûDYÿbí.¦ëî„”]½‘#šëP)5‚5ªÃì‘v +ûm˜f€›>Ô×I¦é#¦-±rþRˆ#ÔÁ×cÖfY:GÔZ“Ì"`7ÕFÂýñDbX})yÃ*Ç`BøôY!ayrÌÄ¥Û\‚”ãGµµ?öøC¬Yäún>A1À)ôrCŽ¦tXXžQ°m»ÆEV~p°áÌŠ³¬>J¯ƒ’:ø„OŸç¹Ê\ úÇ*[÷îé®QJ÷‡dÍ­…— ߀D·§¬=¶{S~=Жa¡6C ï19Ž&áã÷rÀ Bƒ#IJ6Ë:.ÁÐnÑ8Oa.öt¤ö™kGãÓDž ’˜\k÷à7RÆ›‡ºÒZ™Tͤ;uÓNªÜñÔÇp”)M¯¼Œ¨3Jõòç¯U5UgOX*Ö3QE#~ôiÂ3⪠€›®Á‹ƒÐÉ—<–çeyħº jU´ÐÓ ÎÆÓÆ8´XL0™âÎn©õu4óe‘ï1jÄDH„ͶæÌHÚxe+…í3|B"¯Ë|Ód¨¢$åÈ:ŸF¥º‚,?½íĆ°x…ÞýK0z 47˜=ïG¦ðØΛØíÄØ‚ A&ŠM{sÒ»@¥œµ2-¿ci‹¦>Ǻ×@W²öºÇÀƒå7&ŒQä¹$h¥¢+u$°2Kfã3ó|Ñz»\>¡ÉX®÷¥Tæé\Ìíôlf~#hX6`*nB´óD7W8éè+ŸÂz¯Òxª·V—‘¥^Å2…Ðzîàã)ûÓT H\Ã’~(ú}ÿ™…i°J /$ŸÅ¬WQI¨írÐpž~‡ +}TQ )".4;*\à‘¾2~‚ÆaãRDknî¿È““kÚ€e•D9 ¼)ÆPäA’ä ºêâ%5ò ¾ÌŽ¡çw¸ònHU;>ð#þš}g‡¬ceývˆZ´gºv©Ð–±7ߘ|ÙX<}DîÎ`œ“­ñ8°ìë#tÛ²·‘X~ºSúc¾”‘®óæ‚â_¨eè—²ª½/½.ÃZQud¿PŸ5vÎÑ×ÂÖÿVýØ’ïoýXbpJyudsbõq÷$É2"Û×™ ¨zË,’òC¼8´}ÃÕ÷›,ˆGX*h$ˆ'^¬™ÊŠ…›±?Rpâ+©Ã]q=ª?íž­Ây«ëû«ÚtË’„F"U! ä^¨M’‡µDZ•““ŸèÜ[«´ÕÌŠ(§KŲ¤4Å÷BcM˜(§7¨æ›Ù”½»²Y½«‚÷þ̾ÿaV€ÌåbT£­y‹ñmì÷4·ÍâtÜãbH-&³úæ|fZm¥Nŧüç ô²{,óo(ý¾YDLÛ¤w¹_,µ.ªnyÊ ¸*Náå,õØÕøÈuë-m$¢­ËËx”4ÿ§_íÀ¶ÐÄ>§íhó: ºÇÑ£p,‡Y.C¶¨8«` ­ {(jho* À‰,k2FlÓóð*À·lð®ì…ÔÄ@¾°ØÐ繶è§+/úÕá'mõÌ|!¾bQ´;¤¶•s½¨þR¢ìï$œVì^)cég‚cÄ g«°Z¡P¾9 jpÁœ1±ù)­FÝÞç7ðCšü +endstream endobj 45 0 obj<> endobj 46 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 47 0 obj<>stream +ÝÉ°Ê× âž©«hÐ=Iw2{²Éž–D…û]Qý¡"†õƒÏ¥ZÖ¡±<ëŒjÂ-È&Õ:N:x™ú(aW +ý¥li9½{Ì{áÔ"rUàÝÄ*¥ýh#5|—ÉŒÕu0oØtí0Z +Ö$ÏöW¦I¬1JjEÜ+‘Cc9˜[]›Œ™lŽ²æ-7*ÒNx¦:úÎ/SúÄá6ÅP ]g2Ä`Hüítž…f%nMdu>‹IÒ_›of“L¢(“N¸ÿÈšT*‡…²æ,êsZ9)X@sÑ<£îlÄ|Ë<9Õƒœ L§‡žPº%ÿ\ää¬ç©ƒ ÎJˆñ³þ{$T/Yùá±fX/b‡4b±-^ÄpÔ?ÀÙ°Ì•ÛÉ€Q¨»%È‚ž‚Ÿz7Z‡«E+& )ƒ¹‘%Óü¾y*Y‹Â$…U¥"º`±"?éLaGóö[Þ#FG9%€Æ쪤LÔ¢Ë Ž¬É‘U8ø‚ˆkÚÒW"§)¯©7…B?Õˆúräµ2ˆZ×âYÎ!ùU{gå"Oyº5ã-(Á¢Æ<{ÇФÇ+pL+œ2ÌiÚc +W‚û˜"Ó8Ä$Ùd¹T#Žâ÷€‚ü£ø×v®W ¸µÏaå€È ½()žš»ýßðøŒ½GZ|Ê‚¡Ñi*—DÔ}|»ož>bhlËËÂ!² ˜„¸1oztúÒç½Ù²É´Êzš2}q¸©¾š±&ôR¿˜p@&ÑÄ +–å”?»ïJ,7b×LÛ«<3ÖÃc«¾RKOØŽ¶¿9·Ô%FN{º¦ðQP›!|R;V™UaUûˆE#ªXòÅ!„ý\ô)œ¡ó·`^ۛؗ™UàjZ84MII§1c~®)“âÒ²ñÄ_.¬{»Å´m‡èÌg;VZI»îf&º”/ÁíÕ^Š&©@0Լ˶ïñÁd—$Êø9]°öï±K@‚¯zëHÁºVx´ +­þS8$ª8Å»¸üØyóµ¨qÝ–o×¾%–NxSfpO·ï‡Óûqg’W0,ƉËên—º`G /#Zz(‡QFœ1bÚ—’2‡¿)šj’&6ÊÂZ˜ß:žƒ%øU¨o ¸ë‚ŠW[£Ð#Xu´¼ÌÛsìR+ ›¹JŠ€1Zâ¾~ %‘·m¾Yó–ÊÁ‚@8¬¤TV7úcÈ@ÀË|ßM»€ÈÀS4“¡ŒÑÈÔjM£Ñèü3&óæz!NÊé–ha³ðʳÒü'”–Ç¡ý˜ºá&cHI1/ÿûÜÉ[?˜-¦Ä’5û•µ»ÖJj€!$>ú~[ µüÇÿ[ÈÚÀA†»°»­ÁòÛ#`/Á±@Þ¯¾Ùa™„=ÿEOÑZ`Ké÷±|#öÚÕsJäa£u¢¬ŠLcãE1t–ªŸøŽ6f²Î :Á˜·¼AS¤{ÁOWhˆ‡c­k| ´€÷ElÏœŠÃ ©2 +Ô vÙmä0œ^wí]“’8ÂÍnìÕŒÅã«œ:”… ýÂöNp2K¨Ø¶ƒáM# 1L¾Võ¬ŒÒ΢è#ç– XTÎŒTb rCJ¯ ÊxÖØ °LZ¾€ªÜLü‚@n©Ú‘=WøsËxìþ„m™1}ìGyç™3b¤‡T˜s!“<î8Msù^Ψ:*à^Å¡aê•Éá,#ß$ï ) «‘^!äÎ.ph5)f\!û쎡%U9 ’Èyæ]PÜ&3] Çxuz¨”ÿÕ…æ=âr)½[MSô0;nijÜ™¦9ñMrÑô/åGþƒ)UY¾°›› Ò·C Àpœˆḛ ø§4ä¢.î€/@"žÁûrÀèˆ<Ã4ªØ~ZÈÔäI Åq—eÅTU0@yCZPÅæRÉŽö¬jô}DÐÄP¹P¦,úYxB°¤êRý3†/1ºÚÊúÝ\“DâˆìÛè•1_F2ß®]Yð§>å–G™†Q!š’g(K+rT6ŸV@‹ÏJz.q>ié¦pS1eP„úÄ´øûèQ‰ Eð¯>…†ÍòàþsX'ƒ¨{«’ò––qbJŸ3Ö1mÿåNL¦æÓxóBà”:ÙÝB;ÈZy«?7µ°…]Í¥>MŽ¨åüÎ?ßÆ€Ö|¼¯4zi†–·|dÍÁ.`$5”äÃêÈÇhãU¢öwhU’ +P“Y0¼õ><À²ÌÇ#EÚQª=L4¡uÞŽ\DÅsÎZßàCx +Pê`¤œ°^€uBw¢ÖèaG?G ·X4¶$d{ «t§Ý@'¹¯è=†t&2¿ã«¸ÄÍr—ãVÛS‘ÔœæÉþn†éo7×Û"?Gø«sW¼&•žmuäU6±5RÝÊvNX®KJ¸gÕ’»* ¬‰¿º°ˆr/HÀÊuYMK/Dº>I©ÙcÄ(fº@p“&c{Þg÷4TâÌ8ÖJ–Zñø5äz´vfÙÿ®\ +¿w@â Ò.¤Â<'»ùHµ…|ûåêD!2ù¼V£åz¾F‚g¯ª ³„)ñ y"­¡fsêV€2F^Aë§h¹#hÒFTá‹3'Y¯ø^" ¢“v£ÂÂ-’Í`ö…Ä„qù ¾eh3)À¬¶Ì&‚&çÖošGŽÿªÔc2ÙPå4½Ú›§¯ÿçŒýôzŽÈÏ·q¿ªûXîJæ‘ïÙ9;YNû*r/}’Å€?᧌q:EnÙû”S¯¹Oûˆº\m·ù©N9LcDÿ” iô˜ 1K×טD‡E¯zíà32dÙ¦»CJ¢ý©ìl"KÁFöuKÒs|kˆÝßN­c"Ò`ÂFß²¦òîÓ@3"ñ5–¢¹ÿÛ9¼‹C¯ÒDþ»¨hy²–ï„'Ðæ©36Õj=å£JVŠG0:%\yu¨ ÄF±M‘™”ÉÐo0‚C a¡'­—Ð0ëäõ‰©ƒ$ìΘ ÛeB©%iw_FM.,\9jåZ¼¡c5ÈŸêp—(ŠþÌåÂh<ºðb=xRŠàTV'Sï'Þ©VÍ)¶^µ#aoô~ Xi\¬ÛJg³Ç¨Å×ÏJ[¸jÎf(Vå³LÝ—>üé§wªnxFwh2*·×AÄOk¹Ó¬pš´#ÓaóˆÅfp¹ ó;¨›ý:³ï1ã} Ú11Ó.ÐÅŸJŒ¥ºÀXDœ$–¼Ító ZH£~ô¡ŒÝR].y3#‰ò<‡©€cúº VÇYºpþ“0¤·¨‚ÌŠÿÞÝ\®ì/ÖâcW‘»ó;[÷r_ƒÛÚ&‹¶9=b!Eyäâ‘¢ÿZÜþ>…¬žœÂ† –€m^xJªâãû{hñCŒ¹exÁ¢@k=íêìýøF6‘”íeŽ‘–p“ñE„EÊÎ"Þ£¥SøQOºbü'Àtšô&²ûúƒ¥‘Rù‹Qn +›#Áµ0;…RZº¿/~“MÞIˆôH¼Ú%ÒRµíF­¶yÙ]oñ8÷·1µh¼=¦OEV*8?ÒQä`ß”øôkµFÎJkìIZ4(u Ü ú‰U×ë_4 `H*5°0Ž¡È0ûDS¤^ë»ÑÈþÑ:ÕÉ™«bYš ú‰Èq®Ž4éüLÿrÑäF&`˜ž\ƒþyÍðüu/™½q»= ©z]¸ hgê=ÚÀ1ؽÁÔXüàŠKâ—‘4ÝÀM¾Ágæ|¥;‹ ÂVR’ûIjn¸Ù=DƒxÔú2‹Ü&‘ÇËÀB:ÖŸžã8Á&}ƒJ¡¸eÎs·è¤(Vh$»eµÞ¡Jÿ~1C>íyÛða7lyà× ûP%¸¡‘HM!ümûþHé¹ðöqÏ‹ÐkÊxTS)0(6C&rܱ]°s+ïÎåkÖ>§:%°raÎ]a×>]†ß)Ýè{ª›{äUãÓx–~ºVDØ—”¯º‹iüE}¹%ý;”afœþ¨äp ÄhGkÔK$Þk²¡®<´¥%ÑÆŠ'«qè‹”`PŒ€œ31á©[ÖÒQ’¹øÍÒ»Z7å–B˜ð_—«Özÿ›`hâÝüô¢,žá2Ûh`^ñUÀucÔ³P-Öíؽ,c$Ø•õ¶Ó€|/ÿŸá¯ôØm{í;Þht³H)){ᙵy¢tjÙy[Cš Ч}{@ƒu3Aü‡/¬h;ë:Ù¨•Ûy"ë×.> m‡ 0|Vë ÇšQR,:ÙÓig³ázø©l:aÒÀÉnñ~BÔ1a=Œ°QÉXÖgN=ÔÆ ¤X©°º-¯T™¨ìàÇC=Êñé·ï$¨Ž¿C×MŠÇf—Ìx~aÌÆèÒ›B Àˆ 0ñMià‚bî|šY? 9šW@!ÏYåÌ;p$™ÁÛÿØV[–LŸ:µž“´4ÕÈ7{ÏÃN-¸ãBvbƆï*·—$[ªÌAonDá½ÿI%Lu·VÕnÞ¼~ð-HÌñ7"þf(–0»@fÒé9©¸¬Å™î~$w8ã\¾­Ÿ3aÊ+&Ьð­«ÎÑ´Œ>kÃV4Š8þVÑÜk¾© +ª'RûÉ ¡€Usebôj¾¶ˆnSGÌÈÑõËJŠCÃ9\Çõƒ¤ÇÊ*Ä×ÛÆ  ­fì3tN±=bÝ×ËBüVeùÀÂg¨P‚ ÒOw# ÔsÐˇßéÞìqÆìhxAY;.¼(îûß'h¾¯8@ø “7ÌÒ¤±kmK‚Xa”o«ƒ ›× ½¸×*ºö,®aÓ2óÑ&î”» MúȆ³ j°AŠ-+ë6”­%ðÛKr­á°AáMOžÑØ[$î)ÛN ‹ŠÞ‡n#j +• +¦‡'#¦ÚŠ4B%È[°î¥¸H @œ±üè¿&¤`ya*9õx2pðŠ˜e¦d¿ ÉÉ!̈©òçSå¥ÆÙûh+àöN=–@˜¡Äùg·Œ7ÁNÊöÍ+fÔŠ$ŸºÉqm¡‘4…û=—×í?5íÙF)Ö•³*ªó¡t·=×;*0[¨% “0Ölƒ ×"$¸É}–è-èŠí1½e;>°;¨rß‘î‘™.Mñ¢ê„æ¡_˜utnú,rÙeÔ—gúš%‡•¦¬þc¬üW­®©øÔ§êñ˜tÀ•òúÕÛê1ÏìZŠåSš§Vù úâæÏÄDéj_À$¨?½j,x¥ðôjGžLW22ü±€À…=m“"S2Äf¥9­‚­›i|0ÕÊI¥Tº`Éê­ŒÏjªR&ždÿö‡Ÿ_·¦5åèðŠKÆËgÏÐv|b£Ž+añHæH&!t|×Óž»MÀ H;Gµ€l8ÇuKÔ~¸ÿÑãð4-ëH}J‡uJÌëu4tt¸¯Ø)Tïã ‘€óºM)IVÆȾH¿f0EcTе £S<µ§~ªò^  Ë‘ü̵áüýÿ_à¾lBÜ\>Ì—ì°× ást¿G¶çµ»àYuÂo¾ú^stÁ'œÊ·k¯$£ÌÎ_+Ì]óšs´Ox±° ˆüD¹&và ˜¯B˜×]‰Å¦dè¼ e5”ït”8¼Ø¤õ ÈÜÔS…ÔŒqù=á²½Óê@¿êÞ׎£»SJ4<ìLÆ]¼y– +4Ãú¿¥^Œ0®·‚$âÚÅEzõ£JÃæxzRL-Z2/©'¾=4×µï^x穳ª¿> endobj 49 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 50 0 obj<>stream +üNK¥i^&Â|Ðj>W„î–›IÒMn/¹¼“t +Ä<sÏ#^· o ùõÒ+—¶ðƒó}‚ZETªòo©½B'ÛBL"«Ñò¿)q‚Ѳq¢¬¡`Û‡X½” +ϲPAjYZ÷®@ê\ Ó„ Éà }»<Š÷†fqNALˆmÕ", Ïð>ªæôöDke|üÑ¿á- LÇ;nÜ—4™®2žg| †±®Bš}—pŽ°4þÚeZ_ÛH)õÄD¿Nø·ˆ +îPÍÉÓ‘f Ë´½ŒÏ‘TÛ]Dz2e¤É­…Bø°ÉØE÷ðšËV ’j0 À–äï↠+Ie¤ãã÷1 +Y.ÝÆ:B}ˆÝˆ„ð(NäË·êêR®ßPýˆÜ“JQÔ‰!Dè5_U„[Jñ 53€Àª©ÐVSkÃ2¾jØ÷¦}ÉÄj{µ£š¦Hm·MöDxî銺€9ÏøiLbOÀƒUÃćTMY슦(_À¶¶‚+aôÿPrqq{fÿçÜ®Ò yº L~} +ñ€tvßîiA´RÁÓW¹ +d Üt×ÈE{1ú,H+µŸÂ̘I²Š,ÿqŠgX©Þi¸ êeæ¿B,ÜæºäOα%àZ„Ò)$È€¿ø[€Bã*ñe¤»òÓ"j”—=GZèþGtôÏ£ñw¦^á*idCœÈ)éLÊr`¤ 6DÏpøvm »;ýÏå+¨\0Sæ¦ÜdõjÕïÞâüæj1„öIÆxWÖÛyàü¢ë–zkÊÝ ³CÕ;»²×H)p/l² Àö&™y«rÕpyô¤7{æJÌiËÉð#,‹ª¾âã:¯.ZñhU:Dß”HÇ´¬ÞA§³ÄÕ–W!fÿv¨€½Áú/{rQ¼¤IXãtðlHÉaàÇ­ ;ÊãîH‰5>"·>Y"uê(!êÁœRNßúú¡9ad4¤ +½®›&("¤ðSà˜3‰¯©Ã¯\´ØGÿ²íl5Ë®GÉ¥|ìÊ©Cñ‹´X6Ëž "»²Ä åhQŸå +äea_¥ˆg¨+C‹šŸ)ÆaÐfú saUucæÈ^£ï áõ…þñ3ß(\¨ €ôẲ€¸a×.Uç´ )šVF\9ƒe +À¦` Aó¦D}ùŸhšu•A4¦H˜a!·ñ2©  È$~ë#oDÖî~|»5-·îßçÚ±žgs–++‘ði˜ònßûps«¯>»*¸¦ûÏ' l`;Þ´•èŒIä>郻µ5p¸ŒÎÉQ6«ÕxKÉÚ8 £0ˆ0µ'il–»û×zž[œ Cp„îšt-̱‰û2é2«±s`ô$Z9<Ö“åËó¼ÅY™Ñ Ó´þkÀ¯»ÒĪqOvûº ¾ßM¯q¸•E¯‹ÌÚ§©â +Ø~j¿›næyT$ŸVmM-¢[Cÿ‹ëJ`«aÃMõ(pYÁšš¡l¶&7‹äƒâ_ø2æÝþÕ^k©<î{DX>ã"’LÛŽ±Ù{d[64åôOæ¸T¿¯<¥K‚9ö‹ó¶—¬}â „vK„ÂNݺ»þdË¢­:€BÎK^þÔmï0]:Ä(ITà.œcÍ[u'o—¦6$6/ùuëqzC¡ûþúQl#}lîÃSæ+ª|¹=v<Ê•¿ >ý¯£vÀw‰ +ËZôcÿ»',uïz)µ&¡ËgB͆×I•‚S³_p6àg·ßUÖ/zƒ38Û«ó€ V¹óG1ÅñC'{áNHŠ±K_m‹(“\mJíAWL*›-Cã”úw^äŽÆTÿšoßèQ”~2_Ç®QõUöþ; +ÙëpjSk¡¹t'$ó›³q¿â›`´à/9á¤Í fÀÙ§`¸Þ²¤åÕÑ<|ÖzÍ+E6þ9În†ÿ›0ãüÂÏžeô¬¢Š·‚ÆkÛ€|UùíxN»ñö7”éCç¸á’¼l ×®{5’! +_~#Íf A, ZzaüM¸èTå« ‰bN¨Ãß‚¿2VŒºP7Õ¡(]xt8õÜŒ‹h”voZÒçØoÓž˜!݆Và«}²*ŽO F@ûÞså"—ohÚ«ÅÄ&© ëåšé÷í% + »7H^0T#>‚ãAžD%¼ŒY“}0o7y|7Úõ?„b›w>ø¦‚ñÎXóT 7]jdÿ‚£ÜÂ! ÉŠ`=k<‘©²ˆ“¡Ãvr°óMV\f}>u‘i‹’h–x­6p=dåw;mŽÿøQ°ç±« @Ôw¯ãòì:Ç“¿t#Ñ _f D—ÆÁæ1ïšoQ™„–Ös{“tPG z°D~­F¶E´“³}›Aq†f•¤VOI!˜½ñºuaÙž•¥$Ùê8+á”#´µ+¬"¤hƒÖDx”DÎJfþv”Ør@.¢P*á1€œ$ƒ‡R•h[X(>™Qx\Ј ïC{¡„ !7f2’æb<æÎUÌÂØ}“2`ê©g¨¦hÔ1§:KwÌê[A~NÓ= /œ â[ÕÄI„É2ítq/ +#“‚ù>P .Nk`Ù7ˆs5"…W…f4RÅkñíž÷DM+ÓÍîCÅ8&¡²‹:‰g¿Z`|†f^³Ò‹7™Âë—Ø3É0¾ô¬[ÁcסB`Ñݳð%%¥­£‹. +}‘™DíßÌj‡:#á…ɵÂrÍÏmø#jöÙb|Õ%¨JN1ŽÀÇ-ïmtûG‹¶Ô`l8©› Ç=d+ßihîj‚ˆâܘÒZ»òuÜø¤µu +x;Å?HÈã¼/u£´ð +f‹¤£Ja5á·ªÁZwt×{­Ô{?p–Y*·.¤'ê +ƒåµ-U¿¡^ŒÔãïÂ1ŒiƒŽâ~S ­â÷·vª{ü)i*“6t/á ½Šƒî”ÃáŽ@{-{ãÄÕ~\¦&},ܘپ¨MŸ¯!mÒ”KcG*&öö­}"ëãË»Tin9ršIÕq¶¤þèCN6’ó +„.T/I’i•5n+Vùº;Lµ3µ õ3ŽKQ’l‰B—Js#ÊóŸNCY9ÀÂÌøÄd„UÁüªXLK++²ôOP$€q¢é0ËMw Ÿ"f®}0=@‘üÏ Þ¤Ðâa-š»¨p˜¯Ö«¸KkÚñð~þ@ìÚ’I*ù»!„ìêÒ_7Á Se[Fõ˜:$æ +FÄWµ9qp‡úÚ“« ³ëæ‹ó«ÀAóØ(èÖJO#Þ_?@l•‚eã*h“)ë*ï:bÇwçô-¤çU´%xüU¾¬ãÖ¨ðfPÁ. oÍpÒS:¼þév9¬30´'ÂßÚn}}«]áyØÊéÈc(8Š>Z%—ÜœÖÍ{Réʼnh:þúŸGÖÊ‚a½’Gër[°";F "g‚}/m6õ§ž¤ŽŠö-¬^j +îÓ‘:_Ìßn ¨[Ù_ý›®I­ÛÝwÁw_‚{YN.ÓÃB3è/|îìž +û½È.1¨ôYÍpÙˆÝK/ÞõpÒS.HÄûV¤þ_iNñe"ý âoà°“òä0B÷ý<lV½ßX…`©!PUôº‘•-ž€Ü„ á°‘¸ð×Ò|YºúJ}÷¶0Ý÷‘ùÞËýØÚEôÛðVç]÷j†9Dyöî « y£]áºkÒ÷gœ|Îä+ÝÁzõL#Uà±ü] âæ[!Ç+T(Ê 4¦˜Lvx÷¸‡Ì ÏOÊ*tZôÚ¿Ù8”¢<ƒïsT3!Žë•DyßÒ9wæk-ÄqµWÖõÄC¬2CÙŸÛ:ú¬é¦ÎòûÊÜm~fQ+ª²’t½ +àÎhøÇ\8$®‹4*â'¿›i ä¶X×Eˆ®w£ãB­Œz÷Ùä'ÊÅ"ú±Á`ù›&B—êŽxÊ@¡å»s Ò“ÐüËp|pó¹ÂãYsïê»ziç°õí0}¥jã§=o¸.®*ñ?4 + òTg(/ ,ˬ€Q¿MAµbüÐ\5ÒÇq"¼—þD@&² g\·q¶èlý +߈«l¹f¢8|¡bœÐ´Ö¼‚Fc¦ý xºA]fðûƒt†1xn0‰G’5þµžfŽ¿Mœ¨k‘Š‰öí¹†pãV<ÀE ï­ã•ÌÞrç£ÌV!äc~8žiÄì¹U‰A/¢XQÚ¥ièÏPÜVŠpZG»¥±DAÍ=®Îó +øGR”s gjßp^ã]Æ ïRÐó:Ǿ[CS:?~öAv ú’™-Œž:™üQ†ÍBûè‹Îhg@xÕ^þô'%€TÞƒݳÌ*4RˆšàÆÖ:F8xδC÷nPCàñø¢SRŠ¾Ž?¦`SŠŠÒ’k¼šÄ¶Ñ§æ$>©:ÒÐnWcü‰©Â§ÿ³XA +kwô/ï™\õ~èÈëÜ Ô¢Õ>¯Ùñ1×e†*'5Ž×G‰„Ïkr:„uzÐGßryzÇòž îßËÐB«žv-œ‹³>*‚írC³Ÿ$& ü˜™ä&O)³J·ô‘}Á’Ýß {ˆJú|>FØhŒqI®!” -9ûQ4/+Í"òmHçh A»æ2™¸œiá„ QKÓ@éJùPË{á|{þÄÕÐèßvXZ¬é2ÆÖâöXz~5ì›^ð¡þ׸oŽA¦Dà+Àüñ‹€£â ³%#Oîô£“°mÌ%ßEŒ.‹i˜Î»,ˆ%ž×ÏRòÑò(î'zʪ?K[¶ÿ ÷Îÿ—Éò{¢v$Ä£j(Ú‘ÊMJØEY‹Š +–¸bþ>ázßè_lÔí’O½h”›ÚÐZtó×@(³âV¼U„·úŠ…œwb%³%‹\/j DÉêÃÎ’§ÀIpCƒË¿Òû<~ÔÝS lé«4Öeê‘Ìß"X].Ü‘ßãùÑK"`úëSݳÁ—ôÖa¯jXîË­·D%6’V»½&*ØU¶æð³€ÌíæsFóðPBž…±D®7·Gx!£EékYÅíÛ7+9C*:üñÚ躌šŸŽÈ£ +4¥g:}€6}­.@·3ï”ü«Ÿº•L²%CZŽ¥†Ú¹ªsÿF×+õ+wò#Ñá*ïõ’@¸‚@&»xæX½ã®Õ5/åj€e[ðå$g6Å&0°÷Ì-'áñ’þ—$oÙ’b祉Š-+wÕÊÊ‹ipÏûuniŠƒ <÷’!¼’`Òà™Ø\QD—râöh&Q|DôU‡4f}ªô‹?u®Á•õ¸ñu#Ž0¼/V×^؈i…‹~î}F»$~ø¼ŠnñmÜJ©ŽWî·½Õ–Ó3™kšÃ +lÞ© ߤ òD‹ÂukDz C¼yqM„Ç,cA˜ŒÉmWµ§‹Ä=ÙŠg{Î\!…¾Ô#†´‘h{sÄUãZ0D±?ÈË1»y.ÛEš—†h3,Ö&e–̯ê•{=[ñ/ΰ¥¹´5Ë{á“Òúk$‚)œ’¡ît#Îòqû¸å†>7ÿœí‹–rwá¾^8ŸK0×b—Í„b& +éèW‰¶çàmNm]_~´"-áÅ‹ ¿„ÃÀH¬ÛaäÿÐí¯d{x·…õõ€^EVE}m&U4  KQf{+ Àǯ:'3N¿Äå—+QÖÈàªáG‚q+JK·\ßO¿}öy·Um`~ô›ŒüN'É6å5'γŽ„cÜQ¯n #LÊÂ[#.ŠÞ¨O_¤mѹ‘õ†è(!'ãÁ5ð±H<öØ’éãƒB‹Ø¶ÕßP> +endstream endobj 51 0 obj<> endobj 52 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 53 0 obj<>stream +Šn±yàÐýIÜ„Ø"ÿ¡v#I#TžÎÕ@;p"e‹I0m¡€ÔâôiMçlÁ«÷öÿ¢ÌÓé-M‡ŠoÑ–¹`Þ"ªÅÃý¢ëJXmVëÕlNý2LâÜá®}â£Ãâ^·ÑmHH·€KìgiND’D•6¬Ü·†Êïƒ`0èïðã3·5mý. M}BÔùÆYŒÊ6ƒ9‚äGHuûoÉ=®±.õ¼ÉÀœ»NÿŽ}jÜF¸ßL/ RUnÍû7ÇXÒ󄾶)ËxTØ'Ô9Æf+9ù(Ê/[¡Bd˜\j@2‰Ö'xSXñ’»àw%ºs/u]õÔXÔ¶Kƒ“ôÒ±­Ê‘^*Þÿe«•$ ú±X rú@ OˆX*¿Áɵ,¶¦#ÐíA»JnQÜQp TËóÁg\íq ¤÷xT6!qªÒÓ©þÔÐþ‹,Ô6Ð[Ü[)–t‰Åœ…´ö¼å—¶#I‚¡î~rYèù†°Ê‚ÛR×ÆP=7Œ»òùÂW“áØÂùM˜æòlǪ‚Z?ê.„ã¥"É“ûœÁ§î“µK¸š¼JáÈá{ùǹ¡sÊ܃oôŠH]jî_ÕÜH,id/ á¦EF‰»D…§î˜ŒúÙY%^zŠÛ‰2ñ2æ#s+YŽ+<h ÄÔš¥¶(–¼ +KâíÌ8°ÆU¾IeäØc2o©Ú–r»¥÷æýyç>'ÎûÉ;¥ïKF¸è–ñ\jõ˜èÛªP-?–´:uL A/¥¢ç ¶òåÕÕ%Eææ1]W]_Íø§åM +j묜 |‹:¹!­ªMAíšœ¼}¤ìÒ´i.ÇØúˆÑ{Ší±@…ÀŒ£‡O‡–8ÏŒŠeéDÒ¹q9fåXÌ‹ÍΓvê^uÖé›üȱb •¦¢ê¹µ¼ÞéV´šèä‡x=m‡ Y® u?5à +µ½î +©?zÝWJCq£>+;éŸF†Dúr>ø¹åt’÷ÿ&ßQjMñ$G,B¼uÉÛÌò£zt[Ýæîúvi™eAáªüE…©H6Q\^©ª|òSm3›`H-Y/£J]Ã>б¤7nw¥‡JbëÈjý6¯i)Öñ–t–Ê´1ªVšT Ý]Pتϥ´ +á ÙÏŽ%˜Ò Š¯ œ«¨;qì6Ü’wЩçíTõCɆ¡ÿîÆ’ÁÁÒPŸ[ã´€Sg™ÁÊb 0DÅ<åÓù+Jþp}¦ãÎa=6¡n†ŒsiÒþJˆ‰ßHû‹üHضKªnâ¨6^Á¥\n6ˆQ¶‚ +ÈKy –EšD­®äÇ-¬—GFÕÆþøèѼm=±r;7[^cÄ”¶œÖ<åÔ­?BÿŽä(&Œ’/û®)`8U*ÙÈòËÏ$”ì^“ÆÙÛÌUÛË7ñËR+i!Ãè/1B²Þw×:´Lø•LPõÙ8[výôÒ£íOãzÏÕ'- +¢ÜSÔtâ,ì2f ¤¼c¨ÖÞS?ªÄn+ìØÈï fê½1—7:'œp`î'°¥K«×UþÝ·Ô^é說“¡æøoHz×›–ÉzŽ®Ã®>,ø˜î•ñ¥â¡ s¦¹/èΚ=”}J5‹%oC^yÕ7~æoyH>F@‡ŸØ"0×¼ZíjÉÙ¥‰æ ƒ¾oìÄ5¾rv'{Ã\6ÏÌ¿Tô>k>ØÔÜýp³‚ûZ„/™¿•‚Â1P8a +˜xÄèþ³þ¯Pá`¿0¦‡cKjÀI÷5yZ Æ(ö°°Üd÷âÚ`>JAyy=Q]=MNÍõ jÛègɉ– [bq¹²c„F¼ëÚÙ ±GLò“˜PŽDÓš‡ÒŽ+3ä±O¸ö|Ïa ·˜D·%¢{éì™í ØžZµ5@Øò¼óLm‡O +ËHP,-sT†nODFè9xôe}ýá†ýh‰ƒ•< ©Éñ¦oÖÜ_’Ïœ ÅNDËPŠHî_êcœkšB뢖 +—̶?:©²h»± û)ZmþÍ“ÝÓ­BåIÕžöÝ[ÎŽÕ­*’°%'•)n à: ZN€®Š¥”¢çÿ¸pLbÕ¢±ç×/ú»½3×î@- +ÆL#¦/<ÝJŒUÕš~2îvý…))¡{¶â¼¡÷ŽK@}›LMÁÀ¡T©XZ©°*!'°V +ÒïÔyÄûÔ-kA¸‡»²rÕ(Uºx7‘É\ú(]`ŸŽ. $L5%]ÚÃè Ž­Ùê§SƒŽÏW”ÒHŠª wÒ…ÂÙìãR dÞCFìÝ(TæeV&®0<äh³æþŽv±¸ÃÞh>ã¢LX)F§|‡‘1à3Äø¯üƒªA3lœñc€½fÊÞ÷ÓÔ +£€_CÐÿ”Φ¢f¦§å§ˆ®(BÅLw‘ú»/¼ŽPPÈ·Û°çú.¶ÉÇïñ¬ßŽ¥3VÏ1×µmz\×ÀVí˜ÉÊô¹Iò)¨_SFE<… P~»%|´ÐüÏø¯:ÊôÍÑM<³8s›ÛÁÿ†¢.›,4<§â>QARþ3"¨Þ +"=Y*Õæ=†¬UŠÍGj*‹g½W>õ™åðX:¤ST˜ŒôÌñÚ!…ôË°1¶ù‹TD.ObÒó«8 –f ÑGºÌðF,J dZ³äÓ¾qB¤öV »l“WÃ; m$q„ŽØ5¶ö/‰‰û세pâ6ò¬¯úa‘ +ÄøXrÞÑo&:.(•â`û4vcÙ¼†u‡SžsÙ`•ÍïÞ6é[?Gã³Õ¿W³â 3]áòݨm†i¡÷b³êÉ3æ;ûùŒóWÓ.A­B®Õ=#éªòÈ6AѪ1Ò/—n7_o¦ÈŒÍšÁ0~Ç![ì +áT«IàcƒM‰:Tñ³¥[}ë6£ýí?W©!<ßæôõ¡z0q£¦ŸóÆêÝ,osyd@V r÷¡òù¤ÓâÒbE%*’•ŒmxA5û®îþ¸V™pýSqÑCÌEÀ™ Z߈†T»x|æz‰ÒWÉ4ÙJN“žèvÑþ ˜&mfjwÝp¹y}ãIQ~9“FüÐbW 2*-³ð!h-Z:=Pm1“ñ =ª9Ab1è¿ÃV*û‰Ò-noפ¼÷ncQz©Íó—×ëÉ +îæ9>iZ Glõ…ܬ鯒§ÀwuˆnqïüœŽ¡g;”VyÄ·„PS‰Ï­®³Gª“zÀ·†•Eoà\Cüqñ[}Ö"ž•K¡_¢½e›½_Mó{9\8c$±Ó­õÎt{ ½àâ+ä‚#o⧞ +âJnt¸ŠJ9ÇÕ´îN¥˜Ëh(×ÆÜB؇ËN8÷Á$>Y”CZ|UÐ}úzí‰â)Tmzäµ…o+–Tø¡ f±Iå¢) ‡ò#ʧ§À‰ jÖ¼ö>è,~. +ze1k“J×îy¹Ý{g®(܃MÔ•ˆ—ri,–·xô +J› šãŒ‡~;·ëmXv—w®NMãÞBw¡÷)v‹ô)cß³šÐ5±Ì«jÿÅÖ+ _Î.†kËÝ|D´&—ßa@ÅÐýšõ>›r–ñt?´yö-UÎîœõÈÊh¾d¾j yÍ«Y’Á|‹D$°ÕlŠ„KP'&JÃИ÷ÂØaõѼÿ¯ÖœðŒ”SaQçíÖ]§_¿½Ñ…/Ôj?§4'slϘZ/"ì X½E££tÕšDâe¯ÎKb¬ ëü´Ž·øL~ÿâÉ8f.ÜÃm6¶uIÎ…Ïê°_ˆã¼‘‡KT®§³¿G ”?è âo-¯á"»•$kFåÄ­°(š½üVý +7eWèQcBõÛ™£;·cû£ýOá IESÞõ/ÊãµÁž»v 4hÝ’aæEÔ,ÊwUxÝPÐË /~ŸÔ죞îS`²ç < B´aÛè¾ê4Àhge™ªÂÎ1:DÚ´|0“ø!¡=v76™)é©ŸáIOX¤”R¨*muòT2î·ìì`/œ +="òkdѦ]EEWá¬Ö=à\‘¥˜HWÁBS á +endstream endobj 54 0 obj<> endobj 55 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 56 0 obj<>stream +OpøÏÚløIk2ňuŽ»•ùYjw_WŒÌ,ôTJYCÍyƒF——Ñ߯ÒJ1ÛÄ +M¹Ïî +êpO"îšÃ^#àcjãµl´ÈòzÁ%4yê˜oÆQ@™¨EQÐÊCp«µ…$æ¿Ìq|˜Žcòçí+"5»v§CH7“¿XÐä­•æ~ÃÚ‹š.u”Ee¼ dC ¶Ñ<ÅüšUÈIhÕ±­ë8n¯mž˜El$L×ï<–Ë©áéÖÖZn5!/âÊ>³P§(SÈ\‰­'œñœ1÷I-$JEh’î£LÃ~*±…¼é9í?5dïÝCÅJŽ§™i:þów,¦/çá·gñbŇyþ>.,Éì½ÚÿÊËx¯`!Ö­£M¦ÂÖkó€þﵿ^iŽkâ"ÅK•`dߎë¤ìt¹ÞA›PÒ%ÑS• W[K#§}#s$x»¥ìEëÃúH+s½@•ÔÔQBÐOúêçJŒ¢AÅãÔœžItùf¬M4G‰”¡ö1Gþmµ×G¹²ø&*!¯²p;šñ;aQ²Á&Šf³õZýšI¨0kÅ]ò᳤ºÕT˜ÜŠ1lí;Á¸È2OeýÙ€*c(ÕÝ°ÀîÕ–Ó Í?zuXü¶¢Êy½hÕQ¾u2GRf"\ +Zºµ +óþ,¼õ-Ôü.n_z1F·z³+*PAjԒߤ +ê8üÍ9P²å¾r6³ÓyŠk£ÉëaKqÍ›ù7~ZJ¹ô^à©©G¦,Smd9uËj]Г?1œ·|i!{ +ÿÜC›µVRÆiÔ‡M¥Ò²³[…T\bGýö»œØ``— /( +Á\t+ ž&IPm +OµÆõ5òÚ<µ¬N™ñ8Èf2g4¯ÐüÃxS×HHôÎëME%1QNk󃲂`¥‘QK"‡ûgЀž¶+쫾&íé©2Q˜*G^?x‹Øâ&ÌÁï„OG2ØIqäE{’——*x~«D¼êÁrÐb_íc lÏ+ŽyÅ]ÄSÂHËc¥ ¢(õÖçauÀ™F pÑæËÃM.{bz›ÖCOÏ$…º1Ü ¿ÓzÌR-_€n…ñû=¯‚vA„-5`ºDÖOOÜÏ%)A@.¾z¯ÊåÈ=Ú™ ·$‡AË– ¤²¡V÷6‚­… ¶¢vZ—òÕ<¤š3—ïp?¶Êà…NŸO„™Rucc³C’¢¶Ä.ù‹’­p¤Ív™´0¬U<ªÆŠ[!¿£<¸.¯ý?oDŠ jìÞ0õÁ.Š¤{8=¾Q„lô±g¶hAœ—ÃÂ]‚eÈHùÙ„PyüÔº.Î6:͵QžI/;UøJÕíCeFvíè`—4@\w;‚JѦ2N€nC\íå_Ýzú´ÁéîÖkÄöšUŽŽÛ$_r·j”Ñ0˜Ifmg¼wrzÿ´Wµ¹ÃÔ#[I„ûÛÒ{C\IU$·Ú[9’²Ùñ>ÁG÷$ö“Úe‰?ì¶É#sêpRÀ­·ÜŽ{ùT¤ë©çO¡©¶çö1AæìGÎ×»|ï™njJÅŒé•1Ù-§½Œ‰)õ|ß+§>ñ½¥ò²€xÿ¢v¨ŽN= QOTÖ5ÕäÓ¹ ¡®7­ä_ú r>1%o/¯3çUX¯ÎÀë…]ûâOÓ¸TCuÒ=U;îÜædª…©TRÿ ™¼K*¢¥a;a´SR¸ë Žqªk&¥R@ßw©¤r¿6G«@å µâ;‡hª@$^t– ª3D ‰ëarùo ÙòZÛ!¸Ûg²NVö>téŒdÛ´Wìð!)ìˆõÀ»±«„"Z!ÄÕ©bt‡¨qº9œÕ_&Õ,.òÁo 3¿Pß‚}H=PÒœÜhÉ aÓ}L%Îá#…Úi+Â9çÔ =ÑHHN téúY´³ú¸TÌn€ºÅYðý3­n@ôË•¢ì8Y”‰:-Îm²"‰¾SÃE0à (°ó|Y.e:þn½¯½®+Ìçü@ÏÔôbÄÑs5ˆP“—¶J<' mD–«¤2G¬¾)-Já@›¯þ¡Àì›U¢É¢]Ø>y'Ý ™ï +4ˆÏ#šK)TSÞqÂ~ë!ÁW*ÔzKwÿ H*+5Ù¹;Ò‘ÊD<¬])8ö¼þøÕzC.+¥cHQ^‰ò@yMQRâ ž­È¯$ÌÉôÌMkíÓ»@{v¶à‚`Ú—ŒšÓЮ%ê„1éxبÞßÎeï1)ü»¯bŒ5éâã?îA´ÅE1Á÷Yù¼ÄaðoH_wlòÉŽZ±ñÄ9‚X(“R_t÷e‡èše8VK7s}—X6`x +¡Çní‹ïçšDÍu@cÉq?q,ÞÔX>)-)¬ïªALñ{‹…(R°¶ˆˆæI‘ ¨PJòo6~±|=eÙ¼ÑWNÿ‡ëâßB@¤BM¿£¨‘Ì*G +/<¤ý×%9 +¾\lïyæ ðœWØZh¸Û½òêú¶ýý\àP Ì;Y±ýã+a(‚$ƒÉ +„ä×>¾[—¹ñ±`íJ¿Ÿ/"*t!ò‚…`$\'Ö‘ Ðêš%êÚØ×+ú +lÉêi'Ò¤ =¼:DdÁœÙXÈœe]LÜðRÕ÷Ê~’ë^«× ^æ÷/d÷ jÿúÒŸP…W—%¸.h%ˆ›.dé–‹' {¦^d +[4¿:ÃNLÈüô['Q,ñ“‘ +B®H†¿ UÜ[O|”MÚt˺-¤ç²*,_J]aRºÅΙ(éÏýén¥ø_0Ö:‘FcÈŠ&¸ã#®O"Ϊ’yTh œãn5#Ö|   v–×Û€ùÊ=9BêS¶£Å…ì ~()öø®TÊX'M¶Ç€Ë½‰¹W#¥ÍçÇb¿©dK,ǸN¶îq‹òŸÅ>~×›ªß bY§×¢h Õ6ÁGñ‰ÍŪ€ó"dHû¬…Ü—'Ï»šm»ÃØ_@(ìÊòF_op‘%_x(Hv +bEJ¬‘¯2Äq=]Í;÷Û¤h”¡þ¬êOø8V‘2»“ÚI”¢Ä<œcxÍÉO$ZVlìIvlü8°©<)ì¡øÆÅ2±ß†ö“˱`{]PÅÇSLÊX_kRòíP0; +T×Îû®QPQ!6”úU¶Gs¼Lò} Q +?ËÇÅóŒY1&!/' yh4è°ÿwŠ“hMuR±86¥‰y¢îƒ n\›°=vmÑÓÖ3„§%+UF=7€ºy\Ÿ|Ê%‹µŠœæ—ú ä Ñóîü¿ŠUŸ·~¨‰&¡XÐj#‰êÖI‚ºmÃjD$¶ƒ‹„|Ì÷ËtâÀB9ŸV½›zPçZ‚-d +p¢¥±õ®ø@´§”"*QĪØs™y›ë‰ý0ÖË£ü‹d³lPQ?¿7‹ï•ìov—–}¼‚¦Ü,ůOåLÛi1+œ†ddPÆqZÃø}ó4ó\ÆäΰŒô#5 +š°î¶}8Z$èKºèüÄÝv õ»ÊqC{8fZ¨Ìˆ)‘|î‘N©øºœ×6î8³¢Ò¸±‘<ª´¿¸kÆküŽéÐÂ1Ao>³¶ CÏû³jïX·ŸÔ-è]\X64C|ŒµQé˜ßWº4_ÝeåY«´;~sS7‹÷¯ž¨]âõïéäÖ 8þǨ‚ hñÈ¥å43ßóv ‰N¬o´‹S®yeúøëcw–ëÆ”\IŒuøhî‡LF°¿lo¬mÄŠÀ½z÷wŠv;*H¶iFGÇ?¨™5£>¾DÏ;Ì6@ò«µÿ‡œ™à2Š,Òü]•Rß(itÆ‚ÓâZ²ÇíMï 馪"nºŠÝØf0Ê.]œ°çgÉ×t›C÷Zp ÛŠѣ+TJhÛx¾(Gd“\¨§Qß/üðÊôê—™ÞJ(v@ÜF&½Ltßh3$3/ù!©…f§‘áÍ~^‘]ÎjPæ ûÒ˜Í`~}n@VX¸'¶+ƒæ%µRâh¹òïƒzîë]|SQ€RßV,c…mIF¯ÇäˆÐ,.x_iüMWB÷¥~j:Öšé­c¡ÔÔ³†rá…”ÃÒjðø‚W­Å))YWGHd+;ÀöÙoPh w—¢‘öX[„ŽŠîäa38D) ?!¼v˜ø-Ì••üÙس4v„®1úQ;À¸´i™­ 'ŽôÂÁòà©Ïܼ}ëÈ5«Ê ×±ã|ÿبí^sâ¼ê‡…¤² +›ÂÀK"ï³—ÈÚ4µGçòeIOyXÛý¥«ßÆwé—ñªÙ¨y,R>làb鱤:z„ÿ«µCXÍN†¼ŒÐ•};©‹Â%tŒ¶uc¼9¤Úl¹Ê˜KElqpôXy ~FôŸÆ#=2ÆüËo„¥Ã°mWÏÝhRæ ¦òåÛ”J|4¨{s¹%QWbªÊªÊjfåã©3 ³qìYk8¡xív£%©áÝŒ àùUõè#¤y‚?“å G¿“Â-Ž±ÔkçbøF¦OÎ¼Ä ÍKè«!>¥­ôbŒ¦¼ëîk¢éâÖg§- !Ú#‡í£ à´¦|Ë›¼õzÈ Õ + 7#Gæ.ò„OÂ{9«ã€ÇòE` +ò áè ¡ùc|vºÜF‘ºD"Œ{ý0hgH™^™„¾ÈoÄÛ„¹É4Û°f÷é‚+þœ£TU’Ç˾¬ò&¡ŸubO:i~´ þ¹Ýúnu¡X[dh4ܼ˜(r°æütš¨_z¤Ãˆ34•HEÛ}=”ºM¯°²ê4 +ž ‰åpŽfÿg ýÝñ>Ÿ?ÂâȾα®“2mÅñ:ÂØ‘ÿûÖ(D'eÁ?¨2UŽuóM¬ŸGˆÒ`ô°‰ºªðVB·´ÄËoÝþ§Ž“¶u1š~… Ú9±Új°[c´²*L €ñXÓ h'•u•Ç{ñh»Ñ^¤I†9TÑÛû3Ý?9·½H3Q·|÷­ô"Nüsî +endstream endobj 57 0 obj<> endobj 58 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 59 0 obj<>stream +.£ ádòàÚþ?õâ©K2˜ïœÚÎ^КMâ7BuôØï¶Ü .qßÜW‡ bí•^¾’ŠÞ„ê4´·…;t qLöZî +œWþ†;…ˆöfÄ3_)Òto®—bG¯¡ŒÉ¸>>ÄF©”jî—s©Ä#Júˬ7;U/Mw~åËiT|¸öïÝSµAX¢÷\Z¨B=BçÞQ2À7èy=èn bÀr¡AŽ~$ß…÷Ó·öyv{êZª +̲†%rÑK¯‡~KèdËËx·ã5þ=vÈõ:ï“»¼({‰ä +Ô‡s9Žy¯U½d”äÃÙÖÓ)4ê$V^x½Ò£ÐÆe§ûx {Ö,fKl¹qéÞÈiÙ™sU¿*÷ëéïõkoxIÊ—Ëy;ÄÙ=ÃÓ(‘ÁIBfDõQÒ(ú äÛž…¸(w½tcâEýt0´€ë"xtY¢MÞ3SúÝ57¶_6¸u#eÙ.¼•^DÜn_¯Y†M6SÃA}1ûfè䨌ÊD\=‘Ù´­›d :S32Ý¡¯š?@¿µWY¹‚vp.b€Ʀ"û,ÍÓ6UP5ŸÐ-™ô$†ÞVMj,²†yÞCûPz€»þW¶î€ZÂã xûjÛøz¯1z¦ñ*¦ãn_<€ ºü˜™›ŠoB&دʰ·õ¶ì¬oå½ã +XˆÑ3üj/ååWî?øÊKØ0|Y| XNã²i{”ñ,8‡g¨‹pêï l ҃l¡íè!+0—¿´Ýö @2_y°\‡ð]Ë6Ÿv€1ƒ¹ÌqâeqWY/ ôiøO61fœŽYá‰ü‹Bós¬Í6´c¯‚wä­jÓ£„:ÄôÇÐS#Ì5”ŠÆäü«¶N±lÈl)®$5yISX­8Ã؈Ç*cëªÐOXí§Z‚²²íhüÞ¼Jäî˜ÞdâtÄù Ê+`±,ŠÞ¼<£ óD$ «ÿ*2çÿë’fìt†ùÊó(¸˜”²Çƒ-‚Ò»x™•R‘SöŠhl´óÝ·—Ý»M†$Wr뙌¦qÒ)ê~ÌåÜAxMŒõÐm7ÁýüDZÿt¸¦kTˆæÝBVF@ô°+@Ķßé=dóäÀn«±²²ŽY7=1‚抴ÌÛyÉï–DI—!…lR¡ÃÂõg ÉTª\»C<¾–žœŠ¼ë­7ÿ'­]Í­‚ñç¨h´·Ï¼ÃJw<±#H¢êÑ5Áñ=e…²D¤-ÀÆTXPøýP•>ô)Kß}s)‹y±ù Þ‡yVš"?½íð:wMÒ‚;‘ÔtFXyÌz>ø\»oêÛYGÖd3™øg›#±Ó8é?êÏóëŸÒRooï£:‡8E å8x,rÕ WÂ{¬ªÚµ$¶jf~6 ÷œI†g%I’“f¢(` £Û´¸oRºÓo£÷Ýꨣg +{Œ.(éÒ¼ågøPhMÊÇ%X„cª– YØ¢•1Ôw€BNÊ¡ÐŽzÄíò7Ž×”‹b"º¬]uj«.ëddó5êž¼šµ‹x¾‘çŠú;L[B§3é Éék²Ùz…ˆ¤ÞHõqˆ/µ½_.n—$ÿùàÝé&ò«Æ„M¸ä££ÈŠe¤uF'Ôfø ³œD»y™"ü1¦i(3jxMÿt=¶ÙæJMÁ½Ëƒ½ø¯nç4ôE·1 ðI‹nF+¥¶µæ)l8ãñ¶kšèC"¸4(p^»ÓPΪ(ÃœSTÞüUŸ+Y^cnóÐ7Ç"Ñ–vº÷Îrƒõ×@oǺïÚ“þXkü×{>ðËòáTæLZŽ>{¤ü9Sp6„½_Ò†˜'•¯s[XÞÔ;c]Á^YÅ(¥t‡C¹l¬ó|_—~©D´jBã¼wœäþuǨ{Ù+vÝÔó’¯ãÕjÏk\5|þtº#~$¬5 6TÝv9Ѿÿ^3w#ˆ·½¯”›>š]ÑÙ†î ½¼Ó<ÌB6m"sFâÞ\1‚´M"]NÆ¿hƒH¯Ù¬Ï4i$m† ºÅ÷+‚0´äåó*'ÁÕù2ˆ–E‘Žúh›Q\æ½K«ñîðEÆËßE›ßÝõKÐõ<„•öéåáW6öÝ…½Aû-Ù1žý ú|Âü,±;+‘±¢OÅ…'Èúë¥ksiçu&$þ·§x‘&L›·0ûT·ñr/o,TûþfIÀÆ(7*xaJ¡u“*žùû7‚J |Üäxš"§ãÂw¦#'§hû«Ø2ÑÌ+ð«epsNwîRŽ®C¬ç:ƒ,ícÒšùvÜŸh’¿Ëñ¿´ú¬FâeÉ=qÕSæGµ V‘2]£VŽŠ5ÕvÂÛå+ôãu‹Y~Oiw|CÊèÈi*Æ·$ÇênÒóIšg#Û…7¸%L’Ǿka4Úê\Q<éÄ—@µbÆ­üÂë:PíÌyˆtü +’ÈÚKÔ^ê²}iZöÌÖ6iX<ÃÜÍHéxþ¹AÍ!ü$`ŠíZ¬}ñŠKÿ.ȽyÕZ{´@2©E6ÀQž¡[ùòÔ9+¯îJu¥¼xµÃ6î\c™ÞÃ>ù[LªB‚×Kxˆ˜$s-X¯p·¥\ÀÓ Hµ/dŸš=Ðs£# áÂ4“mZ”Ÿ+DT¯!‡üq ý^ƒJÜ ]­*x.Ñèx¢^@{¢‹Ëž6[ÛÙÊ#ç¢qÔ>f½ ¡Q¢!ÂqÓ]ŽèÒ$‘±þÐx¨j¾;ñÛ Žß'€3Çë*îI3â·]®#¶Ç#™¡ÁK©Hð ¦6U=£BN“KÞaâdœ[Ÿë±hÂf¨U{Ä/ÿROçe¼®(¸…Y›ùœÃ"›ß-¶SäÈŒ²MDÆŸùM*ð™qE‚;X‚èÿ +~jâ\\%|ÓB:Þv°ÇF œñ±š-Xºõ +WÞ~VíßjqW¸AtOökstt¡//¯\dZÎÍ´r¾D@D5Ѐ§2—[°`ºD|£¼mœ¶½°Lç–Ðõ0 ÃÀÄÌçg0²CýyœÐÙ ÌôÝÍ¢_ÓÛëèd ó,ß\Ç„#ö+¸ÂL©Wâ–ÄîÖµ¶âÈ(ãžè±ïâ$TÒ&k«œ×©Ù¾¸®Ûs!¥ +%¹¤b{ªn.; ·/Ãz©LFɃrM'É¡…“,‚(²zÈþQe£4Å[…É~¯súNK©ç¥²Dg2A°n©ÚÓñÊFÄŒKteR%¥kïÏÊ_©XQ¨ðkWܵ÷I×++LÞ ±²fŠTAÊàÞ…Š/°‰~M­ÞIœ´¨¯¯~¼ϧŸáõ³”Ï4ãÆ° då´íû¾Æ‚Ÿq‚øÉBžŽpöA0¾“œÎ? ”vȾ,c\£EçÏS²Œpðh(Ëü:5V®L:ƒZå`Vµºœ¼†­Ž…“ë˼QÄôËŠ_ÁêÕr8mÝ)ÒÐi>A(B’ô/2Y¥|s…bQZàG°Úg&¯sú8Ù?3¦õ¯°¬~]œÊ…•ÛEP¹ïô„§ë¨zÆ0þþ‰†qA¸vâþ§Õ¥uò*'VC‹³n²/t… ÷ÒÌvVX-š9€àÎyIÉ÷.Ò2Gf„ÌÝgÔN¡9N|p]/ÂÍc\a* äË#¨¬úÿGÉÞSžcÖ·h¾UÌì<×ùZk£Ì¢Þ–<‘«&Tbœn¦¶õiÀyd]Ö3(#eQ2&b‚§ù§dÙ|=m.Êê÷‡¹BDÒ¤ç‰éÀ$*‡“K@àh- zëlÒÉzG„·¶à`Š8#|mZŠ£„ÙLëô‹aWŽúëɦ÷ ÛÉöÅoìÞóìÀ©„Q2¿ª‹Zn™wž +a{¾,æÛßd%‘ùwÆ6çˉQ(ñ:èy=F H‹å.‚þ-&± >Gâ"„]–1qÁøçŽöÁJf£æÐá*u»Z}ÿæî_|ï/G¯ô hJð9NqÒßÀøŽBU¡k8’´AÒV—b×ï¾ç© •-§ñIñÚlú%¤îÎçåòÂÎðÒý½ï@Ò) t;*’qÅ£qÑ!#ëÊgQæ­ÁãT%—ÍgÉš4Êé:œä¥ hÇì½çæÔŽˆ WÕóy-ûpÇ)‡l¦><ãÐÇ´­oÕm}Õú¡„Ú¶QBùÞêYgÙðsfè~£O2" "Z$rïûžÊïè–8êÇyHKO«ÛUs]ø HŠ³xž O%2¾çõÙ»ë ?‹PëÞ¢Rr `×ëzWш ©'þlžFxÂÛ0ÛEpªB$À'/ëfW”.µHVÚrtÓ½ÇÔ7ÏË'DE°wÊ&7,„ +±ÖùÙ·¸M 'pß‘Ú¨ê„øa¡Ýœ lGË©ük¶Uþóáå+ãë}œÕI2É 3¯±ØŠ€ ñ|®‚‰: q•´ò9Ž0p½Êú›!>£`V ¥ùéUÑï´è¿7ÊÄnÞ§¹#Åä±r·5~v=Ó¥dl‰W'„–OÐqÔ¾8‘3Ùè›]Ètù ÁŒE÷m!ǃië×¢K ³8#í­öüÙÆzûÃN2ÈcíãÌ:Ó°U¦#vÐ#š´ŽªmÕ›òЭÜk£Ë¯tï=R„T‹-‘Kæ°Ô³°éŸhÙKËò,ÆxchFÔqØE¥Žèz „Ù‡lÓ™‰îä×±‘ /äê»´:²·*ͽ7 d°4÷Ú_# å1(ÇàCC×+› !ûPŽÕic^Õ@ôÛ üh6|ÑáF£¼OØÕèëum~eºÖý½ôl&âg:0UÂíàPíŸ`—‘ð²5îûŒ]¸¦Qq¦ñPÖ¬âÅ`ôb[ŒT •x^s_Ào&É‹ÇùP±ê#]¼ó¡Nλø¥¹Q„¹¦#K¶‰7È"—†ú„üV.ÚU¶lw gHÆrŒƒ‡öË”83$ã̇‚ 'eÙÌ_Ê4WêËî=í³úÕm€N"s)õä¸õý¨‘@ú¿Zê¸'9uH¨À²—Kþëf•Ð¬ÁbZ€²Ë¤Ü³·e&eò+ ë’°³ˆ9‰1<ÐÿL ¨w´¯ÚÈkä)2ìÏPÿ8$Ô÷"¶­]ÍcA¼3R­Z&tI%WÜ6nlÃu€Û¿ãÒ&ÍÑ0#…#Ù¤€m¿E/˜œ‰ë/€ ×ó£j6M¹¬Iíq‰Ý|“Û,ͽS´ÚÀo/Ê+NJº"aÞe…Â…)ßÈ®zdBs ýOÈâþ›À¥1"ÕÉ#%‰øü&Ñ‹ðC/¨µÙ˜f ÇZQ5Eš­úL9Ît#.NÜD¿îœÄqc=ñ…áZ£²ìAMîîbe±Å8ìÆ,†»üz™pÙ†|Š 'èû¼®–‡·ƒJÜF(C?Y?Çyœ{3-Hþî@¹gïEàÊ A å9él¡¹©‹&OHÕªÓÿßáªàT¬Ö!ö_Šä#TTÚˆùÿ<¶­Ö_>Ë0G„Aåxµ:Œ1Ôè lq RG\ö¶êÑ÷”;>Øs÷>ˆ“DÔù8!†E‚(&‡u,I';YàÎ'S«Z 4b ¹ã €O%È •³.›ø—ƒyW>2ÁHÉ.˜Ë•| ¤Œ¥Œô˜²ÐœI3kfwx…ëÉ]µÂü_—ÓMTe^Üe™Ôx×¹Ã^J0yTÿâÐ¥]Q剴ÐßXxŒ[¿Ô<”)ˆ¸+›× 8j‹ ]RÞª³«å]… Xæ%‘§¶‘9¡ùƒÖ<èö¦Â ãÇ|Ÿ­Ô`nêÐú;»¼Y·ØŒ1'xQ rƒ +x㺖zÍEQ%ë%2Û‡­?;øëºE=U)ë0EŸÉ!ðÐçúÆ|÷ËÐφÁÁ>˜SV´"Ô¥x¨B¬)´—éA%4±'›©OéŽ0Xï–ýwtýwUûhfק ¡ã¾\!õ©í)J Ç9(ŒÖ,€ô óÞüŸˆ‹wÐÁòÏ¥io + :‰Ý©ëô1Ý°1÷ZRˆép Ë5Õëf..—¾ã‘ý§¿—ìÿhòwVìÇG׃Ø!›ïuÙ}ÍAÿ +*Wïºh'ô‚rÞdÑq-N!~¥^b[sÔ{[£ƒãi„DÑïËdE>Úf"àS2ìSoïj mÿ…þØò.G°ç¯G¼X,útN‹z&ša»ÍÜNcëx·q˜Ë¢å=µ×)ö›ƒ³´!à|Ȧ¤.­µ~›Š.ž$ÙSƒ°Næ‚MFó®!‹(rI,réƒ_¢å†µJâÀ¦H¶ÌˆN¡Iö u@Í"³7gAª¨˜'Þ)íD?£¿Q[Üe¼Q|Ü#˜{0/3l¿†Qe8Ÿ1º=ˆ|UUÂÉÀN¸;wˆ%Ý?•;„R/3{W‹”‚ƈ˜ÜKsÅ,KγæîIµ¿ê»cuZ~ÌxÖ"äP¿'Œ—‹8ÕÉk_‚ZgˆBO“pŸÐç:^AÔ'8Š/BäTÁzk½n¡‘ãüáúu¤-Ú¡ÆëĮʋy8üCdÈ9êí2±ÞÕ)$ÇìD}à:2ÎåsÍÄu¯¯•7’hz±Œ\¡h7Ô3c©¾²©’\þ3Y t†eÆuàFñô<(wŽ¬âe욤…W0@/šá|ÞíÄ6}6Ö$›˜§õÍtM²÷dáT’ÒŒ|š¿´ÆFDzÑVdûa¯OáEë|“8ç)‘ÜgsÕñ«}Ì6û³esIn”©¯¸…:26;•cÐ ñ±Ä|wSfÙSŠà•E\7ƒhÔVʵ4C‰þm!¸èýá”ûæ}ÝxóÕ›'Qù»É`®L«å£’€ÕUì{jº ’Ý__@4¤·›Rv†½uÈó4þ*">=( aä•ÛR§R@ Jà cŽÚkã‹Î“¬e¾ˆ1Jƒ‡Ž´½úÄ2JÓé#Ë°(”¾ÞNm{Ï倃•¬˜»½šãÎoÕ¤¨y‘Ö¨š¢£n†š_Æ“–ÿ×åEÞ}•€P¡ôm‡§ŸÙ~<œ¼ÃÉýw È2²Ö‚rb{ô&/ +àãr¬ítgø&3?ø¹>8÷…+} ƨ?mH8ßC˜‘®ÿ •uµÉüL9ôØÀÈ?«u~ª‹HŽòx' ¨¸gP㉣aÉñå[Ï7/ëØukïtvR•?‹wXÞsûãz˜qzb4’¨8-F)f +ä¾4þª£Fƒ£CÜòÈ°bª&ÌáÇKéæäüÒ]”ˆ²ÄK3’7A¶ÙØ•Î2®ªöû]r= Y¢Klñ•I,¶À +yÈÿv…SªœAø=`±-*d±ÆÂL,d‚ì= ¤Æ²vÝ)$;”'Ê©BtÁÿð]x,ÜÈÇM” bPZžRX°zIª¸ÁaRÁA®(·“¨IYÚߌ_.HµV‹©„x¨CvH®bØßpƒ/= %_J$0Aʽ’š/mì·œN'd.Éÿ´_®ƒ”4µ¹.ô¦Ýy†Uེ—h©5%W 1›çÓEg¬0ˆ·æ4¹ò“_×ú¦¼¹‘¬2Š" Ó±Ñ!‡Dê*§(øë¹2(®à/ÛôY)Q«½8¬­s+¶s…òüUÍnMƒ®¡žCBùÄõ9LUu‚ý%J_DÜ©ÊM®1ÓÑæûØoûÑë¯Àyá^:|¦G¥üØŽÅêÿè¤KlWzá¦ÝÀî¦.M ;xKz5oÌ}©Šr…×CODn÷ Côbgj%Â'Ž24ÈG±o=?tid={UñL貤ÓòyÊ'øšˆÛ‘¿/—þxå{üÄn÷5´|ïÒ îl"]6&º\M¶;ºT^£çôq]VÇe“ˆ"’Ä/ÓÉfÆnìâBM©AÄ÷™ºj=bgq}g4û +¡Ò÷:’#A+rkVëíŠ]^Sù ú[Ø­«ŸØÁÇП¿„sÚì(gç$°ðI*Ùë¦#eÈYSf¯E™$‹axlÄv=˜]E°~÷ +É6KºÞ«uËú^š¹q.`”¤e‡%c’¿{@;¢m£çU1ÆIXKj_|—[ Å;–2"ò éÍf¼ߘӇ¿àåÝàÛ87éŸ[ ^3CÜþvI§Ã9œ$K-ÂðB'M¢œŒ–L£þÉá5ÙCOâµø"EŸãb¯¿^í†/¬ÀÏR˜¢3WÙ£ÁJQ%ÏW@êŒ3úŽù¿Íßî¤(½½Âí” +¯P-gvnŽÙ¬P’ÇxtŒÜšbÁa‚zÁ¾‚qlO¢•æõNãÖŸ»ýÛÛ!bØ œ Æ ’ùˆéj«Ü¢¼m^žŸu!öFƔȒeê{p_h…z`høÝq!½‰Sh^‰•˜ÈÑIë~‚þèlm¦O>Å"7Gð¨Aý ñ¢±'«ŠS<Ë… ‹E%E +±˜%Ͻ•삉Ãæ4í¼  x8Œ2 yÌDZ‹>HÄxš|Y3ws‰)ï(å‚{ +endstream endobj 60 0 obj<> endobj 61 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 62 0 obj<>stream +û(mˆÔJ>;z‡™ÀôV¡³J€SÊ»ÒÒá`›Ì,P’é¸p°r€Ö4RÙL +m M «´ïªªKEt}ÿÔHr°g±iÊœécñ“®ëŠë­qËNÝ€†òàDâvÍÔ|%Ñ’‹jÉ7uþš?ñ 5<â^E +w&Û•‚Î|ÃYß5×—C)«Ì= Ìÿ½6/?Kö^÷<>!îÃdͬs«VîZºCyªXrJZµ‰Q¡=ÔPÿÚ@†ƒO¢T‡JdEC¾ý>¥Z'Y+{ª?Ž8âú¾; ˜PbãìðWW‚m´ÝʱÝÛŠàÌ“!-ßÍk°²kxžþÐдˆ†ûE¢ô¾XµžÛ} «ÉR…+¯ ðG~k§hÖwr»õÑ-ÍìõÌ([;d× ¶~a€MŠÁ>B^2NLL`AŠÚ<Åq7Õ†|ÿ\€ûã'Jä9‡Ýg›};AnŽÅ…WÙîfnêH5hõ½³v´c˜¥­øLM>Ò˜tœI°qtâÎu±\ù·Ê—Ê°ó$Ù‡þ©ð3v”]¿JÛ #*KQÓD›Î¡TQLþøEo®°ê†XëYê/ãiû0H XCöÔ`k&…5ùô,¥°ø&,_.Ê=Í9K¦]fVˆJu©PC”s<!3âîùÝ "$ô$¬$NuKâ<¥ ÀAM=/EMÏ wóÙSêAˆ~Œ=©^%CQª]«+§6üQ3±YgÀ¥ùÓ·ÚD.ΖRøl(›ÅË”EȨY4>•Ýgy$Á '­:¡ŸÚ6[V}@´§ç\2ág?1n2Ó1ÂÃ-ðZˆm6«k%%­ +*d/̽PL€…Ø'Ëð‹´Ø@ ¡itÞ:ÞV~l)fúÛôá¸gÊ/[‹ GP>”%ÀdMïÉÓS|I6ÕS +Ç&¼ÇR -8f}õÌö:ËF´fÉKm·7Ç8>D  +"‡µgI³&nI(@µ½Yæ)ºÇ ô: µµÏËY‡ºó”Ð'rٌ¥F³èþ*¦)X?Þ—+ß·l€Ñü{Ë6ƒÀzɃ5 ÛØÄß}UÒüL0-ªÍ!²ÚçD“S…ÿþ£ƒÙÅfN$?¤Jd*‹úBïNziß@ƒóÿtw÷:dú¿xÈ[ïÔœ3[…Üà§"çÈsc±å"QÌ«—U6gƒ7ãnþÍxYºýÌ/¸#ÑP;µjÁoÓI™sÔjû†àE±uNüæíß½#¢pÏ÷%ì!ÁÔÊÛŸZE°’mÈb–o 2Yí12FbæP iÛkÌ0¢ö4SAœ©YnÙ!ãa“J¨ß¬O»·Ô 5;›íK~Ä\çü‰3Á²øSÒÓÙ¯cáa'Њ޿’iÔÍ=;/˜c™‘Í@8¹ƒ»ÛfÜ1~‡('lpqoênEš K +I{ŒÕÕ @I@X_ÁÍg»éÇf> ”jcÎwÎÉÊÓÊ)±61HŠÜŸÙu+1.ÈïêÖÃãCëFwÁœªáù/XòòC-þixdzcœuÒP¤;ýmxΨQuä2U4v w7õ†ºTßƹ'Æi#À¸u\Í?¤ïԉƘ«{ ç·bœ”I»‹ÏXVä$ÌɈóœS£ÂÉ¿¬ù§d=ˆÎŸ³_;ð?ÿXªºÉŸœ£Å¹/z¦fà—¹³þ×y†~%Û§øèLé§4½€ÒáÉ×ÒÌå$jõÅ…-6«Ï¼Ëj&Qè+€+Çǽ"ÃòØ]¸¼X§ÐsªŒÔ4,M]Ë~¤@×rä"½žç;ðý[ :cbO°  +Š.Jm]Ç4å)CÛ)¿H¿1tD\~¬¢ÕD§ÆJ§§ö":¡ûfb¸šgÎAá?–è-¼Ò™]ÃQLïöØû½õKÅÚ})+x]š(…8g™Œ¹¼½¦´øci<Þª*„€Ñ¿°6Þÿ°›"â®úÎÑñÅÔ_:BŸæŸÃ»·„m\- ÄŸÉ=åÇ3voÕ.'Øô +¹¿mß¡|M¦  eJT ç9ôË&÷700ŠüUn;+5¨ß(–lÌ×Ö„}µ9èžˆË +ÒÒ[Bü0ÔÀ1t«›ÙÓÌLzÁ‹7jË%²g±À<ÔÔŠš!cJ¾Á‰ !ŸM-»êrØ™d¸FIçô¸7aœž®t‘nIÕ°Yø}‰’{Eý²ê¯´)áÜÂ"§/Á·¸{!ÎïÅEÁ¿Óxe’æ ‘ÓnÛÞ÷ hv€užâÆ]ï0Ô®%¸^ýÓ$š©Žò[¯v2UØÓ¾5Žå:dŽO…’»ÊÊQþòóÀLEÔë°'ÒjôÒ?Æ5E‘5Y– i<¹±~÷øŽ§e¥Œ›š¸(~•F6ù]Õ2ÇO,:ᱦò*-7*ý¨ïÏJó|ù›t"úý†¾ƒ7ªñÙg[eÜ·ÌÕ†õÿ÷NoîK;—_ÑžÿUVº„ÔS=õŒ÷eÝbj ÿË5*5‡8OscæÏ“”©B¡výþ(ˆ¸¢Ìœ¦ +Ñß×±UÁ¾ä[·«£tKÍ ¦ÊÝnÎ’ù, +ïú©´2T€j ^OSÌ9°‹Y ›ÎJÓ Y-‰ +)z-ù½A Ñ«*Í@ÌÝ\ê§3Üâ}÷VÞfÏT¹Ï~L[9ªGÕåKgúÄ£~¦•pM d0BAÁ¬†‹ª‡Hš{3Où•;ëÝáw'Út9¨ i~T¿fǨXÙçAÔaµù)áùN›”J_ýÛÌ7Ã0Wj˜ršP?Èæ^º+èUä‡Ï>è‘7\f¢Jm( ¶´ÛCõÉD ÑgÞË×é¨÷îɳî§C‹nê¬aì™bðò7Á~VN‰½ ÜpêÃô´+P<^¶UüÃ`L•k`XŒÕd€^¶×‚ÆümÝN®L/{¢žDvßéI6U’iðõUBõCDFºÌ}öÚ"ÓñÁ“Ö•ë<*Ét'Ûuž L*B#é~½ãͪ_Ü^S™ †•^ºÇiQ=ÿßq€‡ +ŒV½Éò)ç +c$'g¸LÇ…ÒÇRøŸ»n„Óqåʤ’ÎÂ?3`« _ÖîÚzkÖx€Ü wQwâXL,Ÿ*ÜŠ3&ÀØRBº‚ÉÐ d<ÊùyÍê(Å t…ÿØ1ÁF"¹Ê¯4±èé|ë$6ÁºZO:×_*º—±èôí×ãÏk¶š=B†ÑÓ¡PÑ#Ô´Aì/Üê’J»¢ãµWðndg·Ú(Ñû¼4Ýrª<B\íæw qÞN—\ƒt^‰Â¥Î‰Ï(@—&ÓµÙ5ZêŸ":ÒÁ&µ|˜¾/)bjâ1ø ©µÌƒ6ÔƒîHPèHr ÁÛ'qö¬E«bfIt†¤I9ß~߀òQî½`<_/ö´pvcçBq ÔJdÉ‚„;£ HiœKDü<Çõ«z`—e&Ûý«ÿÖÐAúÎÄ€õÊÊ´Ü!\´dTfrl%ðÐçG¹cöÔL °\²ÅÃVùë@ÃПl.aaV^©gŽp¾%¢9Äeµ.‡ðó +jN^«Fy<¨2Ï·A‰ÙŠšRª øȵ"S}w#WWÔ/Û8hä–ú‡à>¬4-ˆæÛVZ#]-Öï÷¶‘YÌ]ÖeêGT­E‚˜±ke9kmÉá-‘úžüÀ­†h² ÐªaTä¿«'@£…ÀÙÏEÞGìʤï¨ÀK+èZ!h¹ö„5»¥%oÈ—Še=_ɼ úÝvwÁ ÷boÎkp´K¾Ð9- +Õ›L)Ô1Ê4T¼îY‹àT0á¦TÄÎŽaÃíø𰇡ƒì†îƒBáÁºŸ9»Ï©æ ÓéŸ>3}Ê=&¬¶-Ó… `r„›hŠ¦ð ™þñµ;«p@ëI·"Œa³ØÑ‚G”NæTI¨#ÝKÂë W®¦©y ókÉà*QÆxu쓈€Ñ©xKTƒku@!w\ˆiÉÓ~J†ÌZU¢´‘ùî–üŸÏÈËÜ)€¤¸N9iˆÕé¼n&~q¹hNÜo_áNr‡@ù³i×~ÛCPÚ%šÀ½Ç0P¯ç4ùk3Õoc…äw¶”ß¿õ)ÅÀ–=N@ªcuFÇ(=V)÷¡y…)"U–…_üÎFŠŸ$Ja`;28aá0 †¨²Šœmx‚Ý=¾e¥†!¡]eâúY‹òt†£$•;ʬa´‚4^Àï1Œ+ú«¥æeÎÌ*ž3y":ü†§Ä‰ÄUääå/SÇ\nÂ)¸$ÊtN÷ÅOÕÔ ÂÇrVŽÀe%J#1qÉj];L%™ý¡é+áC°‘[ùë’–¾4£=§µR´ïU£A‘p–Ä~m½ð„$.zÜQ¢{8͵m«õÓ"ÕËÕy6†Üáç‚Yœ·f|Äï‡^Ðìè:€~tý¼—*Ô‘ @üâ:B¸»gàHÅ~¡&ñTú¡ï¼#~Ü°÷!CæÏ‘ÃÌ0CÇ·Ÿ-!Å€°f*4,8Æ»-BPÉx\«|€¬J™n‚䆌˜~—ŽsSÛÊ‹õ÷÷ÙÑ%UΖ,“RÄw¶„ŨºÎý³6 cí=–eó÷;šs+t›§Ö×b›AÐv¢GÑ›žH_¶NJ™ôã½[å1þˆz&lÝ~º÷¼øÖª ðgÁ=ɵå½L¹¹Ø!ê +ß¡HrY©ÃÐg$¢_Õÿ$îH|àoIuÂVR÷Õ†ò«AÔÑ“26_,§48$Ï®$ž2!åü5ÙÞÔ›´2óLšïbEóÓè!gÈK§Ó‰·; ˜êËA^¼ÁAWòTtøep¤î(EßԈߥn8îÝÎaö,s±=€4("°Èà%ŒÌË~öúî‚UWU±ë8ë0ÿöõ.À›^ãó²/cymS'ÉíëûbõÝ¡®Õ´á ¶tŠlj="ÍLƒA=7Ä?a]fõçk5¾~µ.æÌñ(åss#ÜŠI~ÂpœZGa{ôå|gKž¯ŸY8©áU¸Zg(crnõCˆcÀ?‘–khQëRzÄx¸ ¤Çß2ÒJÈ;îLP2Žó·)^N:ÙA[´§9´Þ8³Åц“+Ñaç”{) ¢Thw›MaëxR++ x‚šÜ6D¼TÖ O„Õ„Ÿ€÷ý‰…û¯:ûmcÜPBa*ìü§t îöB¯g>ì{þš)Š2<"èè#~¦Ë.üz8캻PtHáçÙuÝïjzèŠ×I®T‚¡œyÁgªbQVÉTŸ?éZÉﺵ|ÝÕW)£ÿu(0ãИ#Î’â¨Ñh”ç‚ +endstream endobj 63 0 obj<> endobj 64 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 65 0 obj<>stream +«Ë÷ásŸ\ÿõRõÚr""\k>[]ÏÐ yZŒ¼òtÛÒΡwS‘xT4×r=v=¦’¿> <³fw8 nmÚ‰Q[´Hß|/"v‚xC˜×^+Š;õ(ÃPÙ([1bRaP½s>7 ß(y¿vP£“å‚!P„¨é©rïá ÚRJvG8yž<ëe$ãüM×õUæT.j¾:KÚ‡ì/Nü¹äÌŒº’¯·½jؾòø¤P›÷thª¬}·½Ì……)X#`²POþ.˜ÔršÚ Gæ-pЩ%…6u)üW}ú‘n$½›»HG¶\¡g†Æm¾/h×$Foà1Kd…yÌü˜\”ƒ¥µ©Wn×bC2mwÔ*˜"Õ„eª\¤Ç„©o[ÿý@n:¹•ªn¬Ïb9¥ÆŸ¼)‹¥N  }ó“Q9)¹‹ŠâôZ®éûíá\µ/mƒ@ÀGYu£Y©NÈ8ñ [+rÜ'<(uÌló!šéî¾P±…éú²÷`+yŠ¨fÚ-H6N18Ÿi¨,uNyç[¼dAì© ä!¼”™ì:¼^pØW1ŸˆšÐÎaoé€p"œŽÀ=)ˆkj¥‚In\wÉŒ¥GÂ0 Ø8§//`m8øì 9.„™Uøà®øE÷V2‡Qmf‡ÆaÂlŸ‰UŒ%«Ô­L~vZ9W® áÇ!‹¬!oæ ÊhѨT.zÄJD]5Ôf/f=Íg+ûK¹öéÝY¶*¼yÃp•å›Ø=3~‡SWÙ7ÈpHåˆÓ­ˆº¨Ъ\69é2Ñ1g*Ðæ#pËŽ:ÃMãoo]‹±“óFät æLj4Žwh¤3=hæ­s â„4òå{ÚS‘‹Øm½?ßHÉ@€8y'ÂY—ßrr-ô*Œc÷ˆKœ˜z7àÕ¾ìžVèaÛÌòçÀý/S÷ÛËô ×αyrcË·Û‚û‘€Ùfÿ£[.$Ôø½ÈMº¤AùŸáZ Ê‘¿b‰í]ÅßÔ³Jyžéí»¿„÷ûZòÅ_›¸CÓæ"x…}[}ã>jcç}úv™ >”å Ù Í}6 Ù%kC™P…É£jò%³hVêætÐ1øC':Nl,•ïgæÖ4Æ;¿Ž[4á×øľ„ÿúDòÎXü¤Øâ0ÿÓX’KyöB±ºgcìOR6A‚³»LXTúw·ó-É{Û,Ô‘¥Y÷ê §Ù)`í@ž®bõP»UšdOöÜôìfpJ6ÖK¬àsxõOœMžoA’)z·[ªÛÌ#6"ŸöÒӇϟÁ’ýN^á¦àÜ»ˆ,žÅñw_äýßìú=æpÁáÞ´/à若ᩄ—¤ß³G|Û°PÉ%ǹ-oX:n»¼`¤r\9LúâÃɈ«µ¶gÅq­Â¾ ¹Êp‚v”øóno惰²Ü}$˜dÃy¡œüÈÉŸZ? lS*ÇEÙgè2ƒN ˜áO.¸Ý¦MqæBrJl½¾Ç&;¯ŒMÄ÷ªöû¥õE‘ayÍ/Ó>vÙNÍ ‰c6ÕGm= /‘"S;°È:’6*ÈBĤ7N“ +in6[ãÓj`öQŠÍ¿Kà™…ÁR‘2«•÷Û°UÎÚ<¨bõ¤áže_©ôÏ^ù¸¸UIt¹D䬦ÞX¬‚ËzòZ,yÉpÆ»'¼s¦1½‡@ubòd ÆÝ$¹Ó.¾¸¯ùÊÆ"dl+öT1H×\%îi^Çp¬Û´iB³ÌV‘æÆnÚÃã¶ðL^¨b×nc¨€ùÂwh +°M6UEÐðÐÌi,rqE~ïž¼ó¾üðT£e˜B_ÑÖœÚG Œ>A÷Ïìÿ$œìnÑ”úöf=¬Q&¿jÈš‚zißï¢<˧„Ä)»©¢ab[œåÿ»jö%¥Ë¡>dŠƒh:L/È÷“)ÆÉž^jw§Ì=±][ÐC1yO¥3Ç0“sT™ëP7艋€5¶k.ƒÿªZŸ"®›”Ÿ¨(ª£JŠßP2z¿rWjÓýÊ! MùŒí€x2f«Ô,"Ø]ɪª=‡ÖC_«WŠS°¢n°)œ[÷<¤—Þª``¾y^é³ð¤w:ÙBø€T±:žË÷6¢¿ú—ªÌMŸ^Ø!¿>¶uȸU|eðN øÞ`ßÇïäì…`-9­Õ2ü›bËà‡3ílu|8Бæ9DõO컣ð£ší¨^1j&Œn'¦³À•jØÚk‘@;í¥gApc µáºÜ¡ È-á%AŒ®f™F~üR×+—¬\Ïñд[Ö“(}&(ô¿™tàòqçåõZìÇt¯µÝëÀó½ØÂÑôþl›èaô¾2D/éý¥Ú¢Z*öÆ/—í©æ´ˆ™>,ŒÇvXHbÐ’BšþmÙ*E¿ìÜRd}M2qðÏ+ïÂúìz¯úê‰Q¾’{#*WÜ%S„Ûe::Pêïýæúi<á» g/ùRâë£qY(¥»y!ìÓ$îkAnÝ€¸Â®Vã;Êk@¸m8OíÈÙ©5'˜þÅ„Á‹›èw KŸ­søx ‰¼á lÕ8÷rÔp/–t-¿ý*–n0^þÄ4Š¼ïyáš–ܪ0Oq^bü"jQùP•êh†c2zÉJïáŒ6³]}N6n«|èUÛÔÓfø|}žåq„ιšw¡Žá$ÅÈP].à KÓæ•‘¤vš‹Þ‹}‡à5ogSÂl¯Å +s¢jóIÚlØóå{忹—iA)Ñ•LÉG÷‡J‚åG’YAUê£]ijYª¿C ?ÿ€=ZÆ+{ØË;J0Í'º­ðG{èþu:"o MX&óQ$Í3™ê€ ¿Åz¯x€ñ,KØge—ùŸ„èõ‹ØEh ¬¶Ãó‹Ä8¸p-^þâÈÏm‹ŒW";™¿ÇfGíÆÿ¥X£'ÉH=Œq‰k”Ð3k”H8ÞyʦîõybëFWÃúø»§¦9‹±¾µÚiÍÖ‰îI[EÔ°ªƒÑùx ,±câTl—;» +_ T嬎îö¹&¶¬­Ï‚œÍ|";®šL°ÕÃ0X%ˆWD´+ WålT"%NŸý+ÜÅéÙO!lœŸÝ1ãËuØŠ\n±¬[<¸î­õPè„läÕX"ÍN{g2tY!QèMe&Ô“2¾nüØ¿²œª^gˆhi‡‘b¶²ä/:¿'5ÇVžÈŒž_º\‰YŸáYíoS¾ÛÇžÞÒ:»Á-DŠ¸h[EIÀa ñø<ÔGÐÊÒQ@é}DUöx|0/›½Ô^³¹Cãi¸l[ééš}XØsmã cÏg‹óxå¨Õ|x„Y?ʈD‘qÉ¢ÞÁd F§¸í2Ó2ï×z¡'ôö +ߌB-¶ù…° ‚ÐÝ^ofê_¿Üf=ìÀô¦¹Ñ4wünkogDí ¿þ^|/b㓘‹ÄÑ4A¦'f îpZ^Ÿ.’/y^s??ÈòÅÆë­êÐ6£¼´¿©ïÔ¢òA‘2Éí²L¤¾Y‹©øÎîŲ4ÜÉ5ov¢„Ó9k„vŠç‹z¯øAQEÛ Š@Èa%¡†‚åµh2·ž%†øqH 'Ô¦bˆ!|U{ +Š„^äß“®"׌ZÈI\‰PÎŒ¯îÿòî|Á>ÿ¢Ä耪_#OR‡ÙÊ‘‘(Ç–L +ƒ­±<…Ìsyçw4,El~ODþ¬OrH¾ R^ÙAÄØuµÔ¢Ã=b½ñv;jˆç°ãÊ2Bhú‚ßJòÉTõ ™ õ_÷™Õh¨ZYcTjMpvïägk^zµFß±T| «ÏwmbM.š;Ag Èw„Ó(€©nZ6zW2œ!ò4^m·G¿èäÛRY©ÃóÈR†yð,dWpìjFìEÈwêhC5žRâ,bÃÅ14õ‘ªþÏcÏÐÑ\õàÏÓ~* ±ðcÞ·Û%–ôª¼H£?è¾E~Š \½Ö¡¡ƒ°yé:[¾Ô:‰àSÚ—š0>•ùëô’ŒØÿ+lÑzŒTjŸ·?¡_ñWÃ9âh3éä]B–³ûUi$t¢Õ—§¾?ië©0"TíÙYÞêðAèµ¾¬Í<úíg¸UÎøcË1j€êwRàGê±O3IqÒi1á ˆÅ~Tñ¯µ¿ƒ;·LÛÿš4b©5ÿ}¼î]ž­Ά“Þ¬¤U §zƒ3ÇÒÄÙôË ¨[08Ú¤ñ lÊ_“ÄGÌ\žä˜n}êéH«eK‰ðoxµjz"FÜl»åþ±Æë.r$™R¬bG8§Ø›fÞ@@ý(n(7ìÿI3ìÿMuò¹+Àxä´‡ZWˆ§Áì¾ÀdÄí®:½ù`ÛìÀ÷H Úþƒl^JÏoUsÉÞ?âT"¨&¿]6}kÇ!( lM{²|AÁðÃöå´«¯×V†ž»œU|T|z¤KçÜ}®8©4)ôf€#º"øû¦%iÌQùJ› ¿º°·ëóm']÷‹fx%iߪÜ3ö›ÏØë²]%oIt`Q3UŒcX$žaÚk2ù1ï!©Ÿurղϡ3#ÿcU"ÿ ÇL¾?Â𳦉°^»;·QÖ"î÷=2˜·`Á÷®ÛÁÿS÷á£×9Äž³T¥Ö×?)Ó%uÕÎäe{ùÙ˜U§·'*zðÕˆ°<4²æ"7)g·Ï¿•a/FÎŒ«–&9“³¡³PŒ WjúFjë¬âT¾lÈQÇCÂ= +åwßâbY›Ö´ö…²â«:‹[¤£¢Çåðêž9½Ùf‹Û,]˜nÇ¢ò‹6ÁvÅö‹9_e<©e50¾J”χg–÷IŠ¤þ©|fO~g·*cËœ‰&AÌšµ=Œlj«oܪ„NE¨"ΓDIÛnp·åZ¡‚òµ3jçêá%rßWò‹¤^úü«.§YÅea¤>çÿÛ‹±ƒ îíG©Üøl:Gþ3àM¥ŸÛ>ÎÂcy±©‡ûìQÓY®ƒòÊùø ¸:|ŠrùÝ={ºauÊÞQuQfAïåJcÜ ¤{FY£ž_,zf3ž½kÌ—þmïA +X¼1› 3sl +H¶SéÕZÎ×u> +ˆÄFº¡©XY=–Û;M‘&“y1¢íÓDØqdÜë#ˆŠ]˜»É+šIô›Úeåí~—\ÕHUäÌ‚lR²ƒøzª…'ã„{s+Ì¢·ÒêCòøHÑ£ìíX¿ýøNè; ìs«vž’4®„™3œ«Z¶\.ê,‡#v3ž L”¶tIõM6ûo½ »Îïš L鶓ü)ðf^M-)º/HõíÏ‘0mÉ憑R»“³uÙ#pßÙe<Ö6X¸$¡&j¬…¯9•q‚ÂSóèzYA~…éc`ÿ–ùé…Ë“è˯‘Ë×Ü\³;¥JbÒ(¸G5±œà;úH^²åTÌŠ‡[h/¿íü ‹²K ƒ½‰ªÿ{ZœeõàBîàhsË/;¯<ÝuÑUûZ-ö˜¶ë¼=$t²?Ì/*®íE|_mlV ø…½Bÿ‹Åùå‹žÏ%O×/¦‚|ÎÕÚ¥ŠÎ[’˜P”æy# “ìCʤ°} VÙàž†Yôz£çì!ŽS2 ˜»öùhªÍL:bv„ÃHJK@¥¥€âß÷m*’qU®¿tœ8 ¶”ߟÙ[R'µyÆßWXô‰B舒i±Ò¡Í6ÁbCò¿™(|³ÒcféžJ<ë:Ƹÿtqzæûr³/'€’¡"‹ÂS†ÒŽˆƒUþ + Ä#é ÊŸ¹™ÿ^DWÓŠ‰^Z)íÚ‰‘µ¾?£Hž<†æÆ»èÇeõl¯„¼d¦GBrG*cËŒøhÉ'¯O· É0ûx¦ÉÊf×I”@þ$ÉË0Œe˜Ò©ëÅ +/Ê >F22µ)ö¡ôI/Ê4ÜÃJ> endobj 67 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 68 0 obj<>stream + ·‹ØÞú˜­HG€îij¶¶aÔY!ðS§Ò¶Þ„ToÞÉQl¹vp˜¦ªg ¥vÔ˜u’òVìëäA¼ò]JSó™ó^Ü¡G*¶ø l€ü ~(µ©& »OÊöؾF@Ø›³ÞI$pII±IóîU'ÊLœsîÈr<32ÑZ“àõZ¡ô«P¼p6Ø&»:"$'€ r µûÀ"ô²tÔT ñ}æñ0ceÝåºyä«+0–C]¶Ñ?c{ïk”‰õÍå$EWŒÂEñDʽÒBo­7…Ÿ?%¨ÄQ ÕÁeíòž –#Í1Y÷äÓKœ©Q³)rÛù§ +ækÍŸ|eßÇ` šAÜ!p§2úGQg/Nì\¦'ò5[~e<Âê‘æ³Îîˆoɳ‡žrÒÙâ©\?®,Ê +[n7š#¢«±Oˆ,°­Ï\WW|G‚]V¨–Ÿ®"»ÓÍ5é×¼wîÛì¡J +¥vµŒöFÉûD¹^Á-µA±ð×öÐËÁíðâ‹%¼†OqÖ:~¼VÒa%ãÛÙ­r^êî:i¡’&­qzôŸ¦—C3ë +¾)“«rh™4œLò]3ðˆÏ£Q 7g´Z–´Ÿ¨ =["m½áUB¶Bδüå4æg‚%)•¼ìpK¸`«ÐZ4­8[}Ü|Iá˜lÓÉ ü“3~"É8P´³y/Ÿ»ßx 4ó8Â^ôkΆïÜö àÿ4˜ãS¨c=Ž*Æx€¦h ¬£øŸ>ª¥dLîÁZ¸]ƒpvËZl"´4ÎxYA‘±¯iynÔù•+jKØ«=ûæ’·0ü}µ”TÜ¡Û€ÜìþäŒw*¼ë¨Ûà !î/Øq‹”ù1Öí%8ÿQ4/QÖ$^[¹!cŸ^àª5ž§A{I]w?ÌX“OìY*©@å0Ó®/°ì·nûŸ¸{òè({<Ô“~•°z^yìWÎb­>Ç €ƒ¿b#HÁÎeçWsãÓl=¬¢ØÏUúT· ÐÛ® ^¶*ãêØ°8}ø + Ž…Ì7Ýá$Úk‡Ø‡ŸƒPpùšËÞ w3xû‰…ÐVãÖÏÊA—¾¦=ŽQ‚^çÆŽ±v°QÊEÙÕ">aÕ8K°pGC±éûlÚE×ÆŠÊ[KÌç\"þ‰3AŸ­éZNݤkgWä(µR@ŒÈtëP“ÆÚÁ ÐèÒTï0ü(?ºtƒ¦; +ÒW x–,œ "-HŒÕüXÙ’÷ÈÉ™œ`ßþ·kcœÀQ‡\Ï‚ÔŸ¤BÓÌùKeKCSÒ˜Ø΢@Zu%y+òM«b.]B«%(ïýð ñ?4Q£î«ÁüRJ÷Wófù)ªG-ãM‰·Žìì}¤Õ+«d@¢Þu‰Nî×Nüq„z阕„cø Ö=¯ÛV«™%/õ»8BSa2Öû{TÔ1ÆüýäâvÕ/Ù{VSÁJeàh†8s±¬›Gè¨C+Æk‹h#ùƒ6–+¿§r‰ªÖzJC}"” ™´`îŒbuÖ{È÷Αêð¸Aö&£•K­Ù0¤Àþðtá|òlYVü‡ +Ëåçým' Ýýÿ~²¼æ:+)—Ñ´ S©éõ)cX?ªýIÚúÂ'¬7¡ÿdtp´ýhRVX¥VwÂä ê½:Jl*üØ —0ál^8ñ õ¢ÝÚú[è·ÔB|¨<)r>µ,`ŸUí#SÐëȦy5º“gå ‰P:e»«KÍ .Á„Î<ÿl÷Aô%ä”Þp‹ó€§–P6ø 0ØÀtìÅcxLû‡­ù9S—éx9_æs Â$;Vñ·uÙýˆžL×Üñ"{Ñ»SrßØfè,³ DrÛwùÕ>xázÿ4ôwTËàfÏA€ˆÄþÔp¿‹é;a¬i°RÑ™•X7üÜŽ|Žý·í&iÃqªÄÖ³ç“ÿ3Ú¼iã]/o<Ëb³lv y¬²þ*š²óß’ø"‘ïBþ!¿—£}hN‚‘DûÞà,Úõuª 99£‚G½îœßª˜¾'Ev1WZY×ÁN J°Äå“~ÐUaPÚ,Í è½k±ÃÖW÷÷´3­,ëd`“ðD]NÍU»TÝJ½k ÇîEFvž_¡Ñ8sz”ô=“¾Ù¸8°28jŽŠcÝ€áD?…µsý֟Χ~§m+S UémJ"Ä +•æ—úèøÜХ‚üåLZ\DÙ>/{ î:'3ûÿ¿Xë\IÌ¥J¿÷ÀãФ |¶¨i“Þ« ðeõf¹Í¤%{Ûùy”=Õ‰þ$ÜÝTß Ô*&^¢lgrõÑ;ç'¶3l@o÷|ø÷f}qkð.çwŽ˜“ô•{XíOåv!R‚ +ò%'F Ñ=QL㬠¥öï>(@¶·J‰p7 (a´›¥qOBbV€ý깓L¹‡š]c9aËil´©,>® +ðgWÞ‰ß`)ð¦A¯Éû +5ìF"ÂòÖÖMØôÓùchÁJäjë=[Ó嬟U[¤3ïv€WÆiíU•B0>±@Ü·3ŒÊ=¶¡ÐÜ ôòc]ó*Šd9¤zp­¥këÀ;ðþµÓ—+Ü¢ÁŠàù´€é7¨Ëílg *Å×R(ÿçÀËi„–ÓÒškÈúo‹b°Y¬ÁÑh±¬‰î Ø0— `Ĥ„õö“k/•©«Wp`¶øó§4Í5§–6«3ú¤­ºtc´Tø]Õä=MH©†ÛXsÿàšþuÊ(D7 œÈ ×ÓÉä~h¥¶RwÂïÞ&‹ÆÅ$f©aL7Nê5ôÚ'VªE{O2/‘›,ÛTݼ½=€´Ž±‰Ú «NÃHþIëXgîÆâ†WÞ]Ç«„A>JΰSói0ór +﹟èšóˤ;^ø¢FÀÁË:›•£ +ZÞ ò`Á§,tïjˆù<uv‘?s»kí|„¬4³|ã@®>ÝfAŠ:Ûáè( *º¹½œ¡×L‰öTmtWx‰R²€ˆ‚gÉ«.B ù|NílM#Lg3QÈÒÉ›´¹ÔØÝei⊜ð~d“µ·_Úõú~I¨•~ sð+8eÄòíuÓÂVvbO™‹Ç² ˜E’³ltïa‰õ±y3àítá+No<“Áw8ž+Ž·AÄöúͦ¦ËÓ«¿ñLw›‘A¾@0öÆD Àœjœ{Ø©ŒÑfq¢gx}ÜY$J"&‡'RvmH¾œ ƒ|F©ívÆƺ=Ïrx›oK^/ä¶AÝ öggï† 9¢hBT‚ÊÅ ä®æ­Ø-€è`uþ„Ä!©º1¾¾ü&Š mÎÑ®iõÒOW•l ¬Oo¿­‰Øö̲ Ö½2gLLK\·ÒºInâIñ”zS•º;Ê ƒ32mÃU—W7 +ÉÐrôyDÕIë%w›¤¬)Pëø´ò6Û‘‘à­ ‡ î*«9p“Yd5C&]‰t˜6Ou—#@ä`ggkz^¿ˆ¤JÙË® Œ,û5ºüÜhJt 0ä%è¢Ñ ¢ÐÜÎr—†üÂBz)~ÿü>hèýÜíõ|µó•Ž‚ãŸò{KvZYÑ ++2ÖÌ%ö´NpÌn;µÉa=M_Ñ+\hZ~ÃÂè,\–}´÷ú3‚ý£î Û“gÔÞ'ø# ¶dgLnZòYò…{[Qå˜Ví±úßA1ËüáU+ÙéšW/Z2‹ÂE1|×sá°¤îu±èƒGÕ-ì3‚䧆—b–ÿFÄ“¯Væ;‚7 ºà /Y+ßoµL6ZÖUˆ­?ebÔÕè{ki`âœøÊÊ›_»O?®GÍYI‡M•#E9?Å#ß{P×I +yp9@·)W¸¬°â¦Oá<à9{g<½5npá-NƒŸxÑrdmðýëÏèwF"˜L«ŽÒŠ±ÏFÑðm«ñ΢¼3®×:´ÍŒ¼S`tHÝîÌå@£ÁvêCö=ܶäåÌéËÙt•õZ˜¹§Ñv¨ªö/˜aä‚jš½Þ«lNÛË †Ä8”µk‡?‡«°ôR_×Í1lEŠ¶e¢¤3\x& ;…é¼ýÞ1©WJ¢C +pÕMwøþ6Ø/b­ŒÒZTð¿ѤZ1†¹Êéü™?¶E˜*0cÒ™e›vÇxíMÊüêiª ƒi¯à·F 0‚{œ5#ÆFÖ0®›¦e™-w ¼VÁTw#bŠ¸ÊY HÂxôóŠ‰Ù®‰¿!-îÃÕ¥h-ÛÈ^Ð= +äÅRÉAñýŽ„£œõʽڔñŸ|±íÂ"-F}XkÙ¹<ˆz‰÷¯GfqX[×’µômñxþ@ot˯žKÿÊ5¬áƒkEcÀë§Y°ÀBaM×$k¦LÀmÓ2¾QTCˆÍÎkF÷D×8<Ç@×Pä8xgdCý>Õ¥LÜ +`…mŽ%çܵü5f7Wd{‘Âö¡hMèmƒƒ«8%=âYØi,‹‘sò³/lîâ`ÖÙT;…K¬¨yšÅ¢ƒ'EJB{ØïÕcA¬zR]kb¡[$?¿³¾È$©jÛfsa¥†ÐÓ +endstream endobj 69 0 obj<> endobj 70 0 obj<> endobj 71 0 obj<>stream +Å)Ö!®ŽäÔÒÂ¥²äÁ¹`%Ð*K€SdK|J1à—!-’³wƒƒÿo|B•órr—{s­nkæ«CÈ +¶ +endstream endobj 72 0 obj<> endobj 73 0 obj<>stream +¶Äºÿ´ ¬<ðŒ#—ksš®IT“E½\ “ìÇÈr_ØómšÎòæÜS{ ùe:E{6Ê rwGxâý¶Â]ÚÜÂ˹"{jsÖÕ{¢ù4~Ö£¯{ÒB™\‚ÕÈåÍqìAñ‰è%Ìèg_¡‡t+8šz~ÄbíPP1èÓê¶ú:78ÖßÚïw6óL‰Â(ôz›|š¶ÜEIò£4€ì…PµNÛ¡eO‚lµÄ†­Z¶=¼8Oh/Yjo^⥾?Ϲ>—‚!)ƒ +endstream endobj 74 0 obj<> endobj 75 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 76 0 obj<>stream +¶ZsH8FgÈ|³ù“r g_¡ <âx¥ážÿB³gÅŽø°àEïe¥æœ8•¢¬ø /öþ¹ž„Ÿæ5—|7¨Jä£ +ݬ`cóùGwÁ_ü6‚è„“j'Qq +­øudè58ž‹ó"3 +Ï–·2N«Ý@–JŸ| +­9êg¦55s“`ê¡¿¢x“~¬ýí„07Šä JÝ©™:ÖyFÜ,l•Vxxí6š‘xuµè¥ÈCéh›æÎf?M-ø_þ{Ç' +‚#™Þ%qRXH<0ÆCi¢ŠÛ|ów£”L™ïf¨õ xó|}G PÄGÿƒ™Hö¤VM cÜ? ë“Iz§^pLIDow[rÝv?øuñ¶'“ƒDÓЕµTqwFÙäߨ| +ü­–-yX¦7œ‚HaPÙÃ*Vš>°BV ŠaÛë¡ÉÛŠÌÌ»˜zë€1m%€–åÝ),n9匿hc¨Ñ¶·xr«]4üsÝ…d¸ CPº.ý·5ŽSâIpVŠItƒÿüŽS¡gnÎÎ?Šæ,¾-?2-ä˜âââ]1”:~p(£!s㧩>»ÄíW/ø'B¢êÍZ®v?ÏÙàçU”GnÆ­K{ ÜÛÍfhÛÂö1ݸþ÷=éIüRYTZK Ç/uÀǽ½kÊã]„}XA¸&ìØ ZJ7ãš/Y5$ë›"Ó)“±Mv¡µµ#poÅáüøDi0âojÏ tŽÔIoÌŸ†»…Ó—0ZÏ †f‹(÷² Œ†‚êø—ñçR™"Î Žë X¤44 $-‚…KK½h¿ËØ’ç(éø=qÍ׬€æ)ìo8n("häÞšXsWAb~›g¨²÷n}Ã?z!ÍúãÞ;bþ®‰éÔןÌød ?œÅOzç‹åˆOjnH?6“eq×CvtLÅÞ-àQðhî³HúX ?¼ù l¥1êkn¡äÍwl•äu©•µßfõò¶Z‘ÚàüzS*ˆ¦Vñ¹uçPoQçÅÒ¼þ‚à«°„þÆXÂz0U_/\K£6ÅùÐn‡2%{fœSÕoE”Nß5µ²`4H| ²È¼1–5~‘¯Òãó¶7ìŒ ü1XÆ|Ց݇> Jw&æˆ(^½Ë`¦ÒdˆM½Þ—mFRßaƒç Cxbnô¤râ*„^WS\z©A€Ð$(º/qY|òÀJÍ¿žçÌÂÃX^àm.KP³rç¼c³ŃDå€çW—ž3ÎΓceÀq$¹›lÁ‰ëŸ2 2.ŠØ'Ðr6QÈå²ï¥;Æï•ƨ8ÔR}7;'ø:W&sÝ@ùZmâ8¸n{²ìù6z婇y·a„vß‹ìÆõC€dÆ.ÜéË#Sû¿L%ìä»͉Ÿä˜ZsE´?Mà*¨þ5;ï@;ÎmÉäÓÏ@Á=®†"Єw„RF9äFKQÆYïŒ'É6%£¨S +ž¯M+\ÓÈ¿$¥apëÇ¢m ѬÁó n¿`‰rÓ1BÔ–ÃeGaÀðã#€Ü <^Ü"ÅÌ™¬ëë~¸ë·¿·¬f +” .hóä@=*¡!³<âS<4÷öA°ÁÖ5–º¾»ÔÓ§I„Y2¹Ò'=°’]Uß“\‹…/raèˆÍ«àQÔÌ0_ê–A]`d9N½îûë!`Âs¹ÂþOÙÇQkÉmzºƒqêߺ¢ie1v¢ +¤ oÜhTó‚Slb>‡ ¼¤¢K‘x&>·sòÑ?žô­˜‚OÝC$^4?Å@©x÷bjŠv?Wx½ÙsjÝxÃbÖAÕ í[ž®½[ý`ÿ4ØØaFÖiBê¿HG ›ÐÛcÉÖ—Z›!c¦+騢‚kàƒðŸÓ¶ê…ÓŽ)¡áϵ¦ðjèY«ã¡6žtÜÈ4{J‹O2'Nàý“y¨ç JûÍä—õ5[p–þØCûN¾ÒéQÖL»ãûüÂZw¦l€’Sœ>ò$ñNÖ¿š7ÈÛ]Gèãt ï!}R¹%w·[ÊáfÁ¡ﶪÀ„äˆ1uPúïô‡¢P‹Eû4ó‚>mOmÖTàH%;­p€%O-ìÑ2­þR‰BO’û$¼z¸îÒãø-ÒAA c>:'ŽIMÝh´š8ólŒ)]ž6ÔÄßo&AbUžV5"è4+{âf ¹·ÆóÓ改×hKL©ž_¢Zœˬ´DÀkãävÚñ~ª”‘éR¥)0âEýo¤ò§ËŠ2cY‚Æp¢”m?=ôö@.}kPjö«d%’H›í;7g`H@õ¯L¡hJ;¬ ‰ÅŒ1¸j0aTš ï æ‘8kçƦñÈê’Z®O)ä¾ü¢a-Ú‰ÕE¦‘oÒäà(1”£ºªÁ7^~$÷žþÀ=.Ǥ´ã‚®Z%Д9×&ùùáß k?V|¥n[óÙÊ"ð‰áü4yÙ®ÚlhÌpR(8ÙA´_ºãdÁfAzjXüþ›Fûˇumû”‡¥žÞ½IŒÒŸê„6ÆF ù +¢k@Q½)âÙé6 &;YågØ{ú—JÝæ×bŽ¹Üà&¶©è"ƒ[»÷m[$f¸|ª"â ¯¼ N*W§ÉƒÙóÿâÅKÇ_JˆíhÞç.),N8ÏO2qžI ‡šy`ŽÞ]ÉJH¢T32¶¥p½ +Ÿ1Ù¸¥•x¬9vd .YÁV‚µTÚ*ˆ×6mTáýàþtÕærô%‡ZÊ.®*žÒ¾ßŽA˳!WN†ê›`;¼:f8ž Âáf¥Å{ytõ³oëôè©&/¼ozã¹ÃEÖ€z¡Õ0èôîJzÐo8Õ y8{!I=ƶý…?#^ΓÉø +Î]*¿FÒ²fŒiñ°lÎ@éÊhyšŽZ7A׃õ£,ˆ9F;cãQ4u¥ SQ—'‹©/Mw¾­üÝá³dîš‹¬Se«Q“¾#þJnô!u;F£¹iSƒäJyC£CêÆe*?øÊ €ÊoËQ½„Á`RØÊ=^´mD-ðÝû–Fü" ¯ø ”Ðõ¿qc» C@¶½•} È[z2ò» éoš™L zT˜ÔE¤õZ¨ŠÊð@„m•¦íÙàšÖy—a„º×?À‘™âPç¤Î’’l N m~Ë”Ëmb™Æšº‰ŽbuUAT‚*;-µíçÄÙCiâ“··2‚P+^§ŒÏš Ò:I³(œè¿r ©ûRyØÆávq³M0IODÜ©`…Ë" ²–SìIA”~&Éßɳ»¥•oP*A11:@ê¦K3( #ú”;yˆf +H}«ì5n[ÜÛÞ}~·ígdÅ[ÈQåñ> ä¡4~Ù³`rçžÒ¾GtˆÜ¦ý3•Ù=›L>Ýq‡ÐýÂT™{c ÉÑk2ÅòÆ@:+v=,+ãZhiËÀýt!p½£,T¦êçgÍ_àÍÿ!«§{z À9L*›ÚÑù?ïH¨¹_×ZåÏË}˜hëXÔAûÚ6‘›ÊË¥> endobj 78 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 79 0 obj<>stream +†„L:œÇÓ8>æ»o ú t±ŽÇ®«´e&3í XM싼屒uÀ;šú$# +¸YÏsÒo]/ª> q 1•ëfÖÅl +2œk¯‹ãø ¶‚‡ kbüWWí]ÆyÒ­dõ Æ™$öØÆuЗ}ß2¬ô,ÿšEegø™Èõ |pìðída­ô¤‚?ÌYZÃfÅÞEy%«S'ã0¤­ÃvŸ=’or"ÇáíÈ~ìó͵^3I¸(ðâ ¨å$ž“R03Ÿ¦í4äFÎKö_¿8x?ÕÁ{O桸xQº Ò_²dK³‹ßS¶‹ì™ƒÙ$Ÿô´‘QeNƒ3oiìÖ_aŠµ|›å(d¨Ð-uÝ‹,"›v•¦×~Fk 9ƒY“©Ó¯6¡7Õá W[®®sµ¾Sš7f•qÊÓ®Xtú³¯Pσoy¥t˜@1ø¢šlÍßtùLˬ[¿ú¶ñ¾c‚g*§Ò‘ÿÐ?%L"ia‹Ǫã¢ë}…³]ÇäìU~‰U“y¹¡Ú9j˜-Œ’.ÄÀ¹ÆpÄN´”ã¹SŽóÅ’a;^Ãüõ|Œ·æGF¢ùb~>æox,\‚×¹á-ñ3R§*¨@axÜï3”ÂÁÁ§O <¶ ^;­?³`löwH0?›ÄÄq8–8É4›¶jÔgîÇ™¨_Ç´V™?‘>ø!I€¸VˆL@‰eõA&#Acã—ðæ€ìQ±N‹ÿ6ô!q^ ã%v¨àždè”]MG}úúq(ÜW¡HsDcI0S¢Ž“–Î +Ñ8D¨¼3·ÉÕäY*6VþÑghjçoʸy²ü({®ÊÐpù-^èOzzÕõÝ )ÌýHòG±üUîñ¯çV}¬¶ð+®)«æwP¥•íÞ.bq]ió;¼y0¦NDVD +@#H¶í‰Ãp—ÓààÐÑK)¶F%þ këªûâ½ ÃCØn@vAU¡~Eƒ€œ&~îpb´m¯§Ð{⇰5úÉ`e¾v¦‘>NÚ tL|™ÕïùFQ¢‘‹‰ÐÜîj'ÊÖ\ŠrÆ!Ù¬¬¯G 1“oŸB$b`fLWR<²¶,ÉÕI!…=LE|lvˆúÛP¦pÜœs®ÏBüªFÑ—„‘>u4Vt­uÝx‚õsèðdÝ‚—¶­ú61÷»ÿp'çiÛrpnU€šo$©Uqb»S’bz£*¾†©¹½+¬U¨š°!ŽÊ@mPçm‚Fn½}¥}OâŒÖ¥Tà­9+)Ÿ*/]ÐfŒ·~º—“é¿PÀy +Énüœ@óW–¹©µné=¯ê?ofïìC†’5¡³W#¨ÜuÖ¼h ©Ã78]-ÎF·®óùnQ&ª—PnÅ /5ž|OùýìþÇSA1ίÄÈål¸âIÄË0Ï-="èUEƒ–€6Øu ܇øÎaÊì%µWf=,è ‰&>á’®pò;ézCèùé”nH$~ÖJÐ3 ;ÁŸjœˆiœve!Œy¾š˜xp©³Z_JÚüˆ´3IÎh¿Ø1‘Šä aHÝ „'Ðäb(}ó¹«uLïÿjÓ)¼›à¢Fÿú˜Ý‘,S_ópG~cSžÒÜ‹˜e»Œ Ï’ãv£Ëîj=›ùL?mx“ººOߧÏ>?æ° IüÐåvJ¸((†q\e·G\æÃ\I1ˆ7ÈÝ>Ȇ/õ—r¢p[­Fx_®° ž§é%Wz {‹õÖK_£Iûê~”@AQ§”@ˆí]=xWRçg0Œ¹X8Jš‰î´†ûNw×å”Ò’Ëuç?AÂsî›ÿ E‡ƒösái½B¢Í:R‰ôÖ#™'#Çå‹Åh†‘dÕ¹)…²û䀎òzý9šB­Ò9D°/}Î]‚ÔÐâ]ž¹ßÚ¤ÝKæ¿l3Û@`Yb7¡ù=µnù ì]‰¬°kßÆ„d+cH9IEg{ý+}}ëÒ2»Ýµð¬¢¶¯^ ƒâ } '<ضӢ8<­P + =Ë{¼r³ `vnQêçÈô¨zÖÚ€]¦õ>L£ÃÏDyA™E²Â«¡Ø½]CƒŠæ–óŒüõÓè„Þn=jjHÎï®ÔƒxÆÃr¾ +R%QšúÉÎwVð“ZÍ’f*Y+óå÷gÂ-§fZ°¯J8Ÿƒ‡Wg“B` L~e UÉ“Ð=íó»öoXaÝ…óÔÑ$±Ž”½3¤ñûˆZ½øу&ðô~Lj +È_ƒé×ü¤B:á Øuzfd®L¡Üî´¤ÉR› ŸVÒKÖ( 0pöcÒÛ¤Mùå¡-"Y©YÆŠô,ÄïJ}ñc!½„3˜‘¨Ó°øËÓÙ»®~Ú”ÏR…Uwa~×zúv*¶? šgŠ½—ìçÁNw‚?Ãtˆg{Èn¯ç Ê=N1\‹%hÿý[@åO$ÿ1”Â{V˜§ìÛñB:Â@VÕƥ㔚¶©L{ëÓH4a«þËÏÖ!·ÈÀŸr²¿çK±zùä+gø Ù¹{¶pneK3½²Hkÿh‘óÖ -V>ó^“ÀõÇ_‘14ˆüȵCZù31¡@¾+4±£ä®ì.ѨåHŽÓý±Ãkr}l˜PÜ“<|WA¶ËÙ2Sª‚Ÿ0ŠÊ]ð.<^¶lÇ– Ák‘DñCd +j. +:^È)f.b–o>µ±¼#{æÌê%ad +Ï´¬›*‚SFË{ÒG¼NûP#Œ+=½àGƒønÛƱ¯À +¥lxf=tG°ÚpàŠ0_‰äzä 0¹Œ›Mšå™( ¶ñPBzA3½¯ñÍ’ªÍÙÙŸ-ŒQ\X…¢Ž;Ê(]Û'ð¬ßñà;ý8ñ•$çqHÜý§fC„<6j1´´ííÁGWF¯¥þ®W®Ë&cñ„Þ³YµÚsGAàœßV(a¬NÈ©3¤r±“¾ÉÑõïá·áe …«®˜óIÆ`cš•¦˜<ã¸!¡Ä’Ɉs °â¼³×g²ãBáÃØþGí®äöÁL43‹°ð§3³®7gñçYîáªøsþ*®åN‰ +¿­¢L– ¿Nc)VM‚3 “~ )A™“ñrä"<¿q‚Ê@DdÌü:‡Äor²ú§-èVÌ Õû÷ÿä«m9KÝ"r3[4"çÈ×Çõà;@f+óOW=\$« +SÑGº·N ±†\d(»OÅP6æþlë‡ÔàÞîæœû¡ûf.~è`´j1‚=z!Àï3 CN žÀbŸâ.ë,Ç$7¡.w#önjWõâb|Ë£ÉY?_îpž9æ’0Ö›GÏA !ï ˜”Í~D‚nI×Áã'Ü0Áú&­ú¼ ’Íúga¶F¨æo TsMÊú9ôs÷ #{ ƒd-mUØšsT¢2 +×XØn–éÜ W‚¹P' çxÍŠåû§EF"&ŠÍND’›Ö&ØY@߬ý7UuÏ׃b'u%ÇTÐn2cåáåFxïŠ\>œ>wš\1’%04cKÖ ?˜-u³[׶ÛÍ>GÁ>¶¡×`V–øþ‡FžŒ +endstream endobj 80 0 obj<> endobj 81 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 82 0 obj<>stream +v$aÌ,ä¯@A@“9™Ø¯ø¸¾4.½¶RXVÓ0#Ääì|}3s&²Riñ½Î/p¨£4œ9Æóßi!†Ä[Ê¥’’¢ä µe<õO(iMÏEsóèrÁÈDæü¥TBë£NÜmë ðØç.ɘ ›ÝèütàQ«D?ØÛ¨à’€ÄnrS<Ήÿ¢OÒ7Eü}¥ôñé^òW(Ê~ŸT<È÷0>õ þ]eŠ Ž ïŒpjJ˜gSMÓ©Dõa|Rr®ŸX*Eº6ný=UAº$5,½LFEAÑò£²o20:Ñá¨YÁ?§ÑØ Òï™3Înò¯OÍÞs¯Xxìqdš OÛþëY0ñ¿Ä¼Æœ“yUlóßÂòô‰ÅâÄ7úêƒ|ֹ薒Z §‚ÛÞ¸ìKW»ncØVp„9ê‚•^²R€*7ÂUr¾ÓµÚ]Åå áe1™ ìÞŠ“ÅL}U\èµ±œÉ$a4‚ü2¦|l0hµÌ½ `ÛÛ,ÎÒL>C³Ï<«ÍûÌŠg„ +å)ÖÔkù7Þÿÿ¹Î±h6&¦¼¿)Æql«0SÉkQ£€Ð²¥¬æ>ÚæV{±,E¼]óúèþm¬–.é8c÷æ"(®™ˆ¥¹'Ä¥ÅFËÌrj1ppY‹û¶VéCRÿß³åèøãx"¡&| ƒ¯]ŠÎ¶Ð5nkCÿ1ݬ©9òXv‘I .×Ïb7lIÖ<»CFþݧqš· € u”û’)kè`LìX×xl1žS¸VïuÙ(¸ð™éhùõ ¼CýõÎVðh C0{æ +SÇOJôƒ˜Ûzó¹›êV¾ŽRÿH˜ÐünWTÒª'U*8‡ôÜ]¦ùo^uÅ[Ñh>z÷ãâŸrÿ},|9ð²´e ŽoÑ4¡Ë˜&‰qëǦ ѶÊä ª—4R S§9g"›?ßo™$ä9ðZȃñ¥£å‘:é$¼Š‰ÕŠw©pËWî{²c%2mFT…³¦fY÷É×µ}:”è.X^„$˜‚OˆÜÝø˜E‹Œ¦½› æ:÷^ñÞ¯I‰6Én¾M¿ñȧùùøš9 +º>ÍÕý]’sy­º«*š'šºò&˜ŽnTŠãÒ‡ TckÛ\ÍÏúgÈ q®}.`zœ`æZ¶¹%S£8Ø¡áhpäÖ^^|ÊaÚû½1d?ÃÛÜÈ:Ì·î#}°Ö_ÐYüß›\$¬N5¯MVÉí¢p®9F·‡~LiîßwÁݾ—.äoN0ð*ÝW—Ebì3®‚Ròßø!ctí@ß4¼_ïe3¿nt3+c +L¾ WWt)Ž,ö&fiåñ‹Ý£§þ8!þôf…ç4#™»öøF¹®g4«éýÚÜ3øHèV6£´Ä.ý»–ADÝ £³…¾ÄNLÔNó¯^âöð}Õ2Èïd…?MÊÙæð¹ŸBýGmÛ!2rÇ}ŽEy +”FΔµâî~¿k楦%×T<ì[+Y?ºY°Õq@3‰þ:—œ™ÔBçƒ~ómÒ©a]Pnë¯<ž4`1qÉ)Švløo 78ÑõÂHv$UÂ46#’fÇXõ0à +NèS€5®Î:0ÐbKxWá¸Zfi÷øð’§ÆšVb½yÔ¨ëÏMÂ…¿½lqŸD+N´d/å¨P@'?uàüa]ýmíP9Ðë÷êe ¾µ‹}ð}½ ÍêíV÷³þ«S[¸H~¥Ó¦i›eÙ–-ÅZ‘T*ÄÆäÞŒÆP¼OsÇ*ƾ–(^—é8èꘚà\?Q‡Çé¨ÚÓÄúdiiÂÃ/ii9{ý X"*Å1® Ð!MìpÔ_'{ƒ3†³Nõa/‰ž>>Ÿ?¼þFYŽc†‘iAdäv]òRA–·hX3Þ*QÂsqjî¶. +kÊSÖe}Æw›|~aÈÚlDʼnYÄ;x.¢­çÆ•0!ƒ|ýʲǠ£¿“ÉOü?1·e{NDÿš„íÏ4`E t{DŽz Yæ3¤»¯@:öÍÊ’&­©†äx›É/)61r£øÛNµ¿Üÿ]Ø …̸y»Ã ¶‹¸6Ú*ê/ÍÒ\rÒ×I´¤Þ,Ô"Ü€3WD4Ãc¥1ß—'Õ󦛶xmÌ´ömÓ™ˆ¥Xèç²±hžìþ‰½5·¸òù®8(Qð }C F†k®wò–´¥‡vd•P¥KMnÒ  ]FíN-êÉ øHÓͽ÷3ɬ–`yÊœ²G÷s.p‚Êm}(—»âò×Æ%1?ž­²*hиb YÑš$)‰Q”*ÂÍèA‰ê+¯¶Ïgгs(W¾ƒUCÛóŽ8-ÚlRzœˆšó™´Úæ–&•ÆGèo _›( 1ÌxIŠÇ··¼¡®O ›kJjpC"c$£Ò  n¾Õmc÷cD˜^“õl›TòR¼\OƒaÄ~×jä)6¥vüÇo‹ö’РT¤…´bÜiÖyð›Sì¯þ¦P÷…íû|ÿôŠØÅ RŸgAácæ6÷¿`Ö /›‹Ö‚@לîÉp \f@µÝa%Ìp¦ãLÝ'‘Ä}!RãüHËNÑMŽj%´ã9>ûÏ%Ï]jÆß#èJ²ŸZkÒýš+ñê\^¢35í}w#By¸Û­R§í ùó ÛÙÈe]Ž@b Ëb¡[§øÈH3èdvÄ7eäÓÉÁÈ/Í3ƺóO¬É×]©·÷B='ã—/r¤u¶Åqíób<ÞÒbVfϬ¡» 6M­ÞΧèrÔ˜„tâÕª´Bp:ÛÁã5½‹%gØB^ÖæD~.*BîÞ¿÷’Ó,=Ç]àÆÝ)Ò3Jnϧ¥Kš/‘_[å¤k»0w¢G`ð×â#._'mé «[ȹcùÍi?Ì÷Væí6­¦Pd+múL$ Hòˆ ߢšŒ¦”RÇü¾ÚþSU^›"Ž:T-óÌ€—m´Œ÷ü£°†u}DÄùg—™¶h…¾iÖ$hÁ’¬yr¦ØMi9ñ§ÈùöŒöA åн¼#ßSª +ˆÑ:I;*ö#Ofz¡ªT[xV¤&–Ø°ÀæËLWG +ig³~‘ñ;‘×4½WQ1¸ËÎZ`ÙŠØU“·°š*ÁÇÑ]r=]Vdøñy¼#u}obÌöô\Ø8¦ºÖ¼#£ó´}O„xH4!%©P—€Ñâ±ÜTNؘw`Ã*®uŽ éã{¢fªÞ +ó³ç=´$sÅþѼ<-â òN¢ûÐy®Ñ³Wˆ r³œFR>å.Žeõ7!½ÌÄ2ñ‡ +¡0P:·ÜJþö=LŒ¬fOÃökvëÿ ‚¢‰Q¼•kõJ¥Ddž‰ÿzu]áeÓýžŒªøëÆóc#Å H´$31XÛË¥°‡½íQyÛ:- –K Ïà³\Uó¯-C-Ÿ3È‘š° ¥y4m¡ÊvéâÄaN>VíCÛÒ-ð¨ÁpT@‹&Õ_ÏR CÇlsˈ; Vw<0…À5z. +3Ý€2RfýÄ•.¥µ* ˜¾>8Û¥tu™%TÓ«Õ%>OCdÈÌq8ëɧ¡5$ iSé*é‡þÉwì%“³ÙÅ*„Æ!N¿Ú¯tú*§A}mD\k¯o’.g+Wþâ2HÙPµÅ,oûâÚr@|ò ‡i;ÖõêÇúš4_B$8[LAÔ/ÃÙ-=䓘àû(ÑbŸM×y³ý•Y=ØÜ–ÑÛ&[@׳É~iT’y‡Q–CÉÖéò¤ Ú.9²áŽíœàDÚæ@å÷Ò2cP( íÑ©Ê!Ø‚SIæ–ê_j~ÙüYÉ3œ—¨í‚3ëüÖ‰Ýy®Íx@úÃh|eT6ºÒ1÷ò,eÀAÇyJENAJbpŒ‹³&Ó¡[=Ùà\faj•)ž$9jÛR¿ˆ5#A¦ÙBDuˆˆPSÎÿÜSKm´»oâ4eGˆÛ)˜ÚÆï¤<Ç9ÙqUk)„Ä„H»8|­£Ç¸âK›]›9  kU5ãgÁp%ï ˜Nšß‘SE+ß*Q«N +š%Ñ‚Lêúö6ù)%1åÍa#C×B_U‹½ƒ1 ‹iÉ/Ÿ.–EkJÜ&»¶ü,ßü)CD±R€eŠ<-¦RŠÞ Æ3"c¢g¾§¡Pà&–”ÍÈÉÒ7?JgeÁù,< ˜3€»Kº›.Ö( +èf qK²Ç=nX•w)Âa + k6de«ŠáÏ6HbÛ’qr7ËÞÿÃÁ0%2iRü!{OgÕØÖ«ì´.˜Àß' +õYI¹h<ͤôïÏ·r-ú)qgË·y'dh¼“8ëûŒ|¬[á—"m^>pfüÝ#…D.&kv.º42HrÜš\Cúöð‹Ø×õ¾p"aï2 +q`\Ó½h­ŸÒ)g +zÃâFGÆþÕ†¡3C1?ÜÁZˆ®¨Ð8¥÷N<À`Qü]ÑÉt£Ï>gyqžûöš˜HjÙï$„rël­‘×±Eš±zó[Ï!y`€TÕ²ñ‡A}^ã0LÕ—W"îæ»+X_”^ˆ…|ó$ò‡*7NuÙ‡íGþ{1÷’ý¸…@ +Bº¥ÅøÇ>Õ4¼Ùé¯Î09Ï:qï1Gà97.RÂŒ{ãqög˜Bˆ·lØVî5“ÐÀ®_Œµs«˜‰õÀøøÊ9sÆ 6Bv©DÊS¢ Š× f"sÚ7¤}`·BvïW4-$…Y(»¦[F»h7C¼ÔB4á!hµµ·+}7òÍçB\låä1S¥r<³nÔÍ­{+ŽáD¥­úÙf§Bóµ‹P|ªã£ÚµŸî¾6c°ÄC±ÃS<¿Í›q*“Ø/e9cU»ê…Ð5ÓMÎÚrYQ”P¾ŒW¸È öŽÇñ§oÈÚO’ý]– iUåo2ö=J—ŒÂôG[y\7¶àµE †¹‚,tNuÞÄ©~KõèÝQxêë1:†À%”€·×8®Þ”45ÓôÚvMäU§Yµ;¼°…ùKÙÛè–áÊáã`•±=®®1ÛSuk¥cÄÄ7¶’ïl—3õ'¼vµùs#aÑHøñ# •è /8@kÐÜ<ÙüÇÖ9<ÖTùd+]Î’UiÏ#×¥¡»z´ªØ¡… ‰ÊT’ëtÔ»£@þÉjmÁcµ©€p#@…•Ônó@<„·,DJì²:íF¬|´rT‰ú‘E¬c‚½­Dìw ³ý¿æÔýœ ͽ ùÝ¥?”_a›uÓ-æÇÑv¢XfB!}©¸A¶h +”£î'9ÐJrKŸfOïîý½¯––Õs)Âb¬å݃ÞШw0vë¸kÄà”>PÈc-ó`ŒÏœ–0Ô¹YxäZvt!{Þƒ‘?œSmnêÛiîßÅ …ø†4î©\2(©6¯(ÓSœÂþ/ú/Pï; ‹4éB%pÀÊñ&÷f¤Õ]îÝ ôaÒ|.L +endstream endobj 83 0 obj<> endobj 84 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 85 0 obj<>stream +‘µj¿)µoËfJ:šä ÊÓNªÕÙvBÏ_jtJBÉzºŒ'º Sîpƒd$ã=lƒˆüA±%Ù‡§ã˜Üùþû—:ÓÆÞ®·Ü©‡í:1ͯjø 1n ¢™eGc@¦“0ÖHìNáÆúyµKZÙÈf¶íÎ!ü•õhŠtÖNÏÚÍÎ)Òp û ¼€îÚä› Ò.Ôê‰áŒØ ¢LÖü&ýh;ñ×µo)‘/&õ-Q$Ñq°éjŸu7(Ì‹4Ç$2‡¦ÙŠCnqC³&nÃRnI3"Ú=p`†¿ŸYS±BxÖJnƒ UhàæÎÂlÚ>ÑBÿ{OÄ"Óh-Θ›%RÈ…œÜ— ÓI8“]ëËöÇçøbùê7zé펆ˆ¬ŽHÂDIp–8& +…Í ©lý¹°¼W~ˆ§½B9ý7Hœ×Á'âÛîظI+Oúo“#<‰ˆ!óÂÂMû&ÌC´Æ1¨ÉeŒ‡¶Ç^—åÙßHäc²½(|lRC±ÈdðžåŠæ4:'Ø)Îó¶¬ßŒ.òdÈú"ùB­àû9ld`exý§²÷¹”Üóå0sL ¾Y :°`´aõQÞlÌ–#¡Nx¹²ÙöÈì/£ÈŽšªêvÿe)Ñ}ªc–Ϧ½swÇà].?¾Vù P¥* :æ¨ù(\ +š¡¡ «Ç¼,ÏšCЮa_ãPö¼—V.ö?g/ajìÍ;ÙFML gn9ÄÜT +9ÕzÆ““ÛP{ó>žN>`öY3³ Tø4'‹D‰š¨.l‡ÆÏ5 ñD£wÁ´ã$çÙ¥£þyŠ»5D$$§£ÊmÁ|XŠŸLàU|»íÅ„íª'Fê§ h#À"ËÎáNùÌÁXo›â”·Ì[È©&îÙH¥}Œ£ ·º†J_˜‹¬L˜d&Ba8K@ ¾Ó „±‰2üÇ’c–Ðûµö(G(­¦213+êòZñøÕ½Š¶G3%#žœõôÇŒ{ß x»°ÜÚŒâ½@³Z ß¿ƒßo„%3 Á«v¤¿Äy#¨7t%w®…έqüõ£¸Ãìo +¡4¾éƒf{s›-6Lj'©éi + +ÜÛÄ ïâO£[u¿²s¸ƒW“}щ»`b"^rÖ“„u2' +왘B^èÒ1b:ÛÔ~à'Urk}üéƒÔž³æFžÁ^›n*ŒS8Ñ›ËÓ…J‹”{Þ4;¾2Òª0#JÕv£ü"ÔïVE» »6‡qZøq‘¨Z¬ää-CMfí¯Õw¦Å¸Ä¸ç­Þ‹Á}u=öÛ–­àg¡¨Ü›iüB#ù"=Ÿ—¿¸ˆŸ +&/&¼-ÿ¸‰“7êqÍГÁ+·ˆÎ¨î“QëgkϨƒÚquô ÜEøø Á~çñPŽhü5Š »ç$_r;mËæ ë0ÿF ·ªªíOˆ[ìÈž§ÓÑY¬I_ˆjDv®á-·Õ“Á©/‚§Ÿ{PÜ( žaq# ü.’Ù2‰6‡@¨Ù'xÖ°½#ãUð;ßÖ@€û%jgš[]b©3/ê{S—²'«wSxü´ÉEÍR3j,De0’+=ª¼#i!ËH?Û™’Hv0ó0Û—3¤‚žZ}ç\0‰XÊSLÎFøeì`ë€$?yíLÖ³t± +l£ØŠt³Ö7¬„i½47Êmø÷hߨ’XŠ+1K”ö Ã÷¨áþ?çú1Ýä¯ïhüst‡'ŽÔfýà­’‘£McTšôžªaîl@ï;µ¿Ï²C—æ…Œ+JÕ=Va¥I~/HÿâÏÁ;ÁBKqÙa؃Â÷Ÿ"™; ´Þ—ªMJ þï"m} S¡OõtÝ–ûÏï0ûH„ŠšLâÕÞXdj äÌŒq!§ÎxÝÃy))¨Ñ:Hß´(Né倹Î §éfA^¨µO:ˆ­Í{oR‘Œx†"ûbwC/ýëf€ËÎ2 ¨9ì”%™ž¾/°/hõöé…° +©V¶³±=éÝUJPRL~C<ª»¯4¨¾é*t´¶óe óþ¨„' {/ó$”BšÐêEހ佪»0Ê%¢]^oü¸Ôœ9'²ƒ.ל©£F•ëinñ,¦ ¥E[æž’¼ÿvÜ~e°ã¢cJÕ(±˜§5 ¨öO¶¦ÕC:t€ÖËšÅEŸÁîšîQÒ`ÛZµÃÖ¾7x9ÖM½+uqnz6öeoK2ÆS¨¬mÃ_àOPäzµ^f4b·ÏvÅ´›ªŒ£0ÈJ +¨yÜ[&‚ÚËTbj†FµÑFËŠ!)Q˼ïÔQmµ=d‡ƒí &Ÿ‹«¥¯w9Ü'oOu?l°QÐ/1ªgËÙv= éSµVKõü ¤4«WUXýœÝêâo¼œo¦Ý^÷LYXÕ„‡:xÍ ï8Ö_DáÿomÖ[ÜFÎh…‡“ ²îÝê‚ÐRN ›âl–H—ßRÔ[Ð"²@‰ÈÆûDÖ¤–)6¥%&%d"°f4·ŠAkVq7Ë[ŠD´qˆµ3¸%ð (éb±½KbžWQÿe Ý­Ž-MŽ@ý èóî‘œ3S7KKš¸h¬×Òt€ +èýa@õØ\x6×Õä¹4L:k­x…DMqnƒW_`+s"®^¼uVö58Ï©š®ÂwŸåVlÁk•O,@¾…ZÈŽÜ…¥ŒU*&Ø7DçÛžS‰ç*#ò2]º™0ï¦5TTâ²/á^Å®2K[žkA@V¹!¥áÓM}ê"B|ð°OíŒ +¡˜4=ÿEh¶´‰(­"»Zº£¸åB;wåŸó·7Å•Ùص‡»;Ÿ +0„,6“ >‘[lÀ|mÀ¨ê\äÆvõ<ãk¢‹¯»ñ†×7S³šÑ=àݘçñ4Ü‚è³rŠ2î>ä>®jtñ.§{œXsýM3Èh2oB‹-:7hÙÑž·–¯"Å‹)ÈéíIj9R†õsh¡Ò¾—‘BÌ(Ðú¶®<àÉC˜^=1ÏƺµÒÀr!iÏ渀 û¶@„ÒzɼþëJdñÑæê~"ÈšËò>Áë «gùOT¶‰ûa!/Ï4` ê†Ù¶•®$|,buÖÄåyŽi׬-qá ¨L7…Ô #è|5ËóØ—*íËíðZ±üÃ’Ô‘ÞØXo •t¬Êc}ËÒrÔ¤³d±+›ÖMT¤¢JVX Á`J|Q_Ö·kë’äŒÐò¤¿€âP¢¸Ú$wVúu´(Þy[C³ò?$Ó”“÷éùŠÿõ3h¿2ßzØA/‘aÒÛiz°¢ ðl@NXHRO´Ý>åã®ì¦ÜÛwŽ yêH_}°:x1uk¸0¢¡®%ÒŧWÓrI.¯âÕ 0gé;ÀƒÑ£yo¯^ÀTysñ†ùlòäÇ ãeЄ!œAyãìÍ]:’U­•ÀÿÎõáñç4Ë‚v»—ûU½þ›–lÜ!óØ‚”þ¢b¡””л•O¿m¼S +N`Ìí‰E«_°3yý@ ¯˜GtR;F­¿È9Ó‚þþ«Ïª›+MïË]þ¬æ“&vL ÁÚ¡ÑgÌ#4‚ÈÍOgþ„w{¹ŸeåeØðwEŸ7¶Œ”²ò ´%‰ØR >"/2õF‹FAÊï–J|òc"]çDó =s®¯IÆ%FÏÙ âíQ0üŒÿEÇe/·rr4»·Œ _ß>ÕÓ£ò{ +ql+È ²¸h–‘Ϙ=Ȉd\4ÿ½dšš-XùéȤ\Žx´×¦Úâ‡ÚÓ¼§ O‰±¿ý!xŽuÀï.¡dCé°ž\Uà¥Ò¡\Ý“ÞœV(¦|z Ó,}3&¨Ì1jȇxÂwjbIQм°i®Ë°»Ïf  P½CW.`©ž ¥3«oŸ%_Äñ9å¯óy€© Í pØ %¯R‚s:†ŠR» $eïÕW+UhˆO²ò%oª†¨ ‚üöd-Ÿ#˜ ¶žrvÆäPK­ÄÛà„¯Ð*‡«¶ý²L %ü‹‚$¦ÒÕÞzšx àÜßßWà›µÀK0öÚ‘oÀúŠ\Î{ÄõñÌ‚÷½ ¥WÅ †ŸðÄ (Öá=áOâe*ÍÅÕñ¾ñVÝ”Mü¯ë‰U÷å(Iç>SïÏA¦&EûÂWwÐñz÷HPÔ2çë ´·ÆݑǪƒÍ¼ÿmëÞ¿’,êhÑSì¿Þ!MºBÌèšTuŸ[ë…`‚¾š…E\Øu·JÑ/v‰©‚—ÆeíÌŒu¦XâùõO‚…(HóåzDâƒ[)ïØ›àÛ@q ªF`Û€ c`Ó»Ž„BxŽ!Œý·«YŠŠ­ÚŒσ¨Œµ=;Fõªª~Z“0üª 0ÚØXµ‘ô%åŸAÂNrJø,„è]3ÿôCd@î{ºSY]†¦•é?n¥­_vÄL»cÝ ð97F§5³'5Ð3µêy âO4S;¥m”Å8©À1L½8.¿ÝA´Ç3F8³¼¾—¼Ú¯§™¹ÿX¬jŠýÕ²«žt/„,ëÒÌfƒŠNþ(ÂB¯úQAjϯ^sü€íG¶d½¹MmãøâfvßœHnÖ” è¾Ü_dH¢ü†ðYwඒ`²ó뤟ÂñšÆÄ*]ºµs¦¦M=Á8pÔª“rțɔpëûÙÄ9(´ÙH“Ãç1Ï j+!KHþ$á>|{ ½ZéÝŠ;¹Â5¾clɤ ;ÓÕÀwͬåOíä¼!C•NÛÎ÷`ÒŸ5lZQÚ¿®:²î:Ÿeg‘ç«Ãî?j à.Ö:n@½Wá„$&ì [`d¦ò«Š¿Ë Üg=?ìM°%p† >£+…¦} <+Òl«Ñ;D¤øÈÂ$,ÉÎo(¼™çÊ¢QÜ…;,Õw^c·ä¿ú™[ìvSÇZóŸ´Æ'Ý:±$ïžáÚÉZÁ—|ûøˆÑÑ,§¬%G6-¬(šqÑ -Á=ãz’ßæfåö¨«7Á¢bÖ”‹¥:¥F$¡¸ä—]Êwûž¢!XQ{Ø^ÙAë„XLýußÍQ}ƒ’7ßO&2ÖÐúaœ³ÇEFWÂ`äÜté ˆyü‘?<É\Ñ÷öÖ2oôƒ;.¥Ÿ\ja­pHž.Pó‡ÿH53ËîÀžBVàe~ƒ~\™&gŸ+úÎôµrܸ´]b¶LëU³#¾ ùn ‡õð¼€$­‹i`–œ2qeº“p.‘Ÿ¬:… +ûçQßûJ‰UFdè‘Æí½QàÌ"-B’ïÇÄç߽젎‚`|ü4øÁOµÐßw{/™•…í€Ú9.bršö7§SRÿÇYóÈ䔸l!’-É¡ÕUà³ð"ÍšM„(rÝåêoÆd‡€<ë°† +±^bˆìN,¯ñŸŠß¤þ+Îz¶ù®‚LJªDÈËzjL¥¥Œ0 +€Êb»§øC-ÎmØöZSd¬{£í€ÓàoeX)B$ÖZ)Nòñœ¢vCžWp¸ é½bïücwö4@^G{7Ô¯d¤Ô;ÈÅĆý?F¤ËRmUT +»·¶³:ïk9vôþnñ“y%KBŽâ&KÂÚ€77:ª>'EËtô׫ò·›:­[¤ö’{U`õŽëÖ‘%% Ru3‹DÜäeà6`†‹•uINùFZÚ·ÚxŠŠ6Îkj <מnðá­k©+þö‹ã)òýY¶@MO­YZO‹ú¾R« ×’9;)#‘9±rôébŠZoAÎg!îlcƒBÂÅìÆd¨‡·Ñ.yæ7ÍÁ7ÓÎ?\¡‚duËú©Ö”I¹û„ÿÚüÛÁ©¦y2Õæ¼nvÖ‘%lדÖ~Iç>½içË3t™ÔÖ(¸ð)Óèó_Còà¦{/WŠ£¶]±%`j=œŽ›ÿyÁÀÖk8ˆ´[›Ðe–;Úû²i£q8ÄTgµUð ã*WÀÿ&‰×ïçvîÛ@öACª=ìÔÁßøYwÕ# ò–²° IçY{moàt¶ {)g$Åm¢|ùð)'µ¢å\³[Oe{:\÷O$–ù;1‚X“褀¹óöÒ'˜h ‚=Ñ R~N}nÍ„‹P +¶ò÷R<³™b‡4ÜQIñãšîoÚ¹H°Î±tb¡ iÇŒFz³U<ß7·{Óö"$mQwê'Ø°l†_-¬ Uü¶d™c¨ ÜØ1iåÑŒ«3K9…ÃRû1¢¨€+dÊÔó7Gyµ²îL¬(¥—{ƒ¶úé4©(œ-e91*Íõ¯.±šZãÒð…t¼qˆ5E–3Ðá‚8FP a;Wá$ h4ÑÝyZüuž8EJC‹‘]O hnÜþó¡4 "?@Ç8åï ·ÀÛõ¾%#n~Ì;Øè ¬° Xijz‡îSQ5ñFF7„o=d;0zùr‘bX4­ãÏ™¥—Ù^Æ·;jDØÇ‚&ó\$¤nq^SÝ?‘‰ÿNì=¦ào6½Ç ç €dìr'Ö¨M”.‡8¬ä?2ñÊ 3+IøÛ:4¼§½^ +endstream endobj 86 0 obj<> endobj 87 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 88 0 obj<>stream +Dé«ÿY¯;•p¯;0+#8Ô¡çñÎ8uJe9wÍU*¹9ã§q0MRe¥ d¦¦{0û€™òã’í€jyû¤ ±6ò/¿œŠ'-t =;€ÚÂO¥LD{DÃϪPÀÿ^²J¯½K44±ž»3¦Hvú[Y²Ãê;I«DvY\ÈÐìHgpOM:õç'X`ÖJÄÙ—»Ô÷$j!¥‚“ør¢"€ +0[+Ô†µá³x†]:côиë26šAA´+ŸxË)D_y±ï6ËÄ ~]½o§p'i)Æ Æã1¯š/x%§—@Iš3¥mn­#T3Bþ¹rŽ5 lœyŽ)ǽ¥FÊ6Î0§¤Eê!8•þ¹I7ÆýÚJÌßH4 9ÜO…؇ò1r¡YºÖŽ`{Ý°ð®Ç \\ü¡ñƒ }…‘¸Ãõ Ð²1 °Í½Í¢¨PB¤=ki8x¾­¸§: Nçeö1©¾áȼÞÀ¹ÑFJìQ©­ |×u_¤ãÙ!GÁ¤×ä{™c|õÀG“LºÅäƒKLI +½öl¶ý)»º §Q”¼OÂÿ ðYSC_¹$ µ? ú¶§šýÔÏà›[§ÝÉÉq´ƒ¦'n÷4˜Ä ùœËêÒsœ‰î¦¥ˆcü½;>éàq…fP  Rdvp¶œx÷OJ`âL÷î«Câ‡i hé{ós¶ýŒK̓‚w2ýO#ˆ½’[+»Òû§] PˆlÜÄZñßÃ63®àŒoe¹£X’ÑÓ§¢¡š0Y*׈(ü†% .¡ÕÄ~§¼½g-°™XÑòû˜IP·ª÷-æ‘¡yg2›}q[øÛöM.¸(žµ×¿ï¶­‡g¬3+J¼$ï¡ð ?¯ÍêŸgûk(¹þ½Ïr¼|Q¿eGýÌ +@Z½v%ùZ:Vñ¥Îô#WÁ G½|åݘœ2Fö¹çS£Á†¤¾ r¶íâ?Õö•£/g¸*6»š„"œœ3ï ׄYïL»ÿUâþ;<‘Ó›-û“®˜™‰™BÄ,YìS 9^4z–XŽ‘ÇEýÓ¸9\f[7%þšPÇàøïjüm¸[ô ÎâYÿhƒq”¥{X—ìº*ûûØk­V–wÊÄË™½ÊÙ€´#².'Pg°A•XzºD×Å[Ó«Õ˜«$éÀWvP=ë¥eþÎTƒÑ°P…c܉™éaé6R7A Û¹wTMm‹Wú»â{Ó¦±[sü|ÊñÍ›Á°%4 5$3þ3/©f‡nšë/ômÃuî÷øÈO$Õ? åÆ•{B¨{ŠAÑMñéCswP G0ÏÑý_îcôOIå0Êq‚øÛÚÔs£4à‚j\rý–La³Ï¸èbeâqX+w»½¿œLw†—2Á¨”èF®E¯Ë}Óœ÷s?–ìï¹’ZŒöí—’a” ‡"¨þ®rxgó±lŒ¥GzߧO34ÜR8rªÈS> eÍ÷wI/]R±¸ÿ xó ,çç鼆ZÉóSS*O–s¾ +n–yÐ#䶔HÊ·é+L”‘ŸR:p +pÇÉßÍ£Å_?[µªæ%\Ò–TªËH9”rL;Ào` DÑ£Ô¤e/p[IЇ²š]îÀr²¹º™½¦†ËMàJ¨õýl¹…‹·˜Ö³ý3¨™1÷óô»,Ó布¨1Öûþ¬*êÄÉ @–xjO 4÷Œ…è˜aâ2f|rCAjJ+I´|Y/1ËPzvÁ§™ÄÁ=~ª +«jU„-l5†™÷FÊ"uè(·=6l©Z\·¡6%ê&®Ý\¨Š©/Àªê&•2å÷B…÷ÔÍSµ‡ÞxjÒò3²­Ã;]×ð +'I ŸŸó½4Å“Wq°öÕ€Å=å/b…œNE|]Î,.ˆ¡J’«ŸmÆLZÛˆoü›¾.eˆžìZÚˆœ!5g|ÔESM(ƺQÉ ¹k¸°£C>!âÎRd¶Á Ãwî¦2<]Pó®Vˆï7ÈW”¦"ó-ˆé1V¦Ð=q4òñ–iTL¢“œ8¥pÀLÉƆkë^@:ú¡me?Èwˆ5#¾ö…ÅíþjY–òÀ÷þÕ©$=–b*Y®ø¹*†[ÿ×ú¡ýŒˆžÃràóé,ë]î¦Ó»)¢+ZH€•‹H²-Ñ…Ñ5•^àÑ°ßø…´½§»¬WŸw`à†yûcniòz&SFÕø.)zÛ…‡„pg­»¥4ã3w|ãw_Dçãt¹¶Ð.ÿ´¸Ç@epqŽÅ 'µ+‚ìxYýx8Íä4‰j:»Ž2-EKûÖ€Sáâ{gIëÂZ¶8»¹š¹ãÅþÂþOôì!‘ú×ÉÎr‹ÌVýI ¯Bþ˜{BD ’qý…¤œvµGÓRÄXe*zÞêj4ÎVõxPù=ï;ÝÓ®Û¹ñ³|—@T¨ +endstream endobj 89 0 obj<> endobj 90 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 91 0 obj<>stream +Nï[á z…?âF½èu® |ã@ëdDQÚà­–^T¡’w/#_•ýökÿ=Û8\¿cÓÔÜ™5Ýç†L¯¶âÄ…?Ä…åÃL +=ìð®²c½¦ +S/"Aãn)Lù½1&ì’œÏ̈~f&;Ž9Ã\šÓÃüÃož;ò„oCÁs†ëì#sLˆ©J´¿ËeÙ$—¨EÚƒæ÷aq£/g´?õrFöQeµjÊ#Ýì¡|ˆE¹OÎÜ9.Ö¿ÅS$R’b©•&o—?ê‘ãýè'æ"n£Ròæ[\`®4€9VfùËi2Êy³ÕaPûÜ-Y_™]æn2ÔÒ€VÀ¹rû»[†Mäm³Ú«·!Nºˆuå6Ò«Š¼¸®Õµ»{Cñ°¿ö¨úÒÖf +>Ê9MÿÜéÀêV…aO)©SvbU}Eæ7óŒ’õŠ}msýy:©f×*@„ˆ®}/a ë? ¹Íx£8PkìT]Ô^Õ gjlU*ãW}ó)ˆ9 Zë  ÄWCè£R.¸ÂܲRFþXcÙ2XØ‹ãyßßáðÕ(eóÿ/Ñ^Nž·“ÉÜ3 “HjýX  u.C“20„`"PLÑ„ÜêÑ쌺ö°È ê¨R2Nˆ©º'¡ÒI¿˜ñW×Åô|ïÝ"3jimI¾ÿímÛ1V”õsãG`¯.‘Ôt +%µë( +•iLƒþo ®xœø¼,|ôáZ&+Ô¤V3 \ºW^óÑã‘·çÆâq§úFoæƒróºÕA8ŸMík± ÛËcô'³n¼Âte®bT-¯,°j$ZA,½t>¢s™›ÆЈ£<çCÔ÷”{)£w)IÌxù(|| +,’&Wð,¿÷Klªm©“[wÍW¯WÇô©þ˜õ”ì¸éý¯âzÚã ƒYƒy­FLh®üc&à¶. JKÞÕ[Ùgƒî¦.ÌY©ÝÙJ²Y³f¨ÚÍ@tšPýSÖYË *Ûzêb˜ +ª\}ûY¥Šcmº4 ô¬‡aîLn5ÖŽ™Îx€äí¯p +Š)*œ0T’]ÇåžGˆô.:1 @0µÁÈøo3”ªŒ×Þ÷®gûòÝ‘úðè^î[0Û–ë‰göɯÔ|{Xñ¢°.HðÛ䧳¤Ô#¥@y‚ ¬éÊrjÔ.}y$–«FFJÀ3ÉFÐå¢.Þ›1#M²Ö=ë¬c㺢À>i‰5þ}tQ³OꑃÀ")Šð@åÈ-I9ûíö.´i‡‚ŽöcÆÅ3=ïÁ*Ý +ŒÂEÎHÝwÍœõØlÙñÁh¯… z/n3¼‘ô/<íy¶5b–a|HöïZí¥pß¾ÐÜ¥k2ª öB9½C‘âÝ»ß0{ +6qo3É"GÜV ]tƒDÓÄ›®ôBL=X¹älûëéÇÝ4Deáð>ùéT‘ldɈDé]˜E„o70}Rf2D8²ÇCˆØ>aS—j7ápêÌhÈ`›ÓLl—îW*˜Mœ •·ž$7ÜÆÖnõÜcƒ¯æ êLbÓLûF#¯¥üðü|sßU+l¯õÿ2™‹ÈfÔm­à_ïmâ!Ô©•±ó¨Ž÷˧eÆ­²˜#&Ïç%¦÷î‡;#ä©Áÿö^oë4P{”ÂxkrP§í#=jæjÜÿáØ÷°Â†…çóÙÆj{8tÁ1ee=ù€hØ${7€-¢’Y÷mPǃ×1‚7Š`Áäpñ5ýÌÏϵÏ~·cB?ßqóÕSNÆÔ§5h¼üÉÔ‰YxSð?TÚ$°.>ËÔ¾üxIªµó*Œ½£œƒÚÄw±¤m<` 6wÅñÂV¶•ø3Æì„ýÿƒèÈ4t×ô~¶ ž¿¥N û‹‘eDŸ³Ëóá5ðŠ‰³¿ÁWýËå šî˜îaÔ ½ð —R «§ÍÙ¸—+˜4Ô”™œ´†õ®O!s«ýw>‘nĤÆÆy<Ž7±¢^e¾EX¼(‚Ÿ_+'§«[c-£\ž“º<Œ0wñÊ,ó†6"4"š,Ü){β?Èy\ѽK·Y–êpMeü6¯w—…Bá 0Õ{b£ù¢ÕðÕ˜Øä¨ ¼*ú­SzZGur¹Í ªkðò¥/•ÐÓ3£ð/goÁ2¥‰~u|zóPìØë+¸o?©šÌ€ï©”ÀŠ2‘fÙ{Ž Åq +ê=W$1¾EYÓ{IÏ[f„à‚}5ЋŒ¼~4N pæq¨Õýåiaȸ_¤¬ðøë>9)CJß!•óÓÛúÞ÷ —0&Ñ6u¶AîxÑ ÷~2Õ³ëù +æ r×ýNt¿`ßgãFÙÓrXÄæݯnÕA,­ü-'r¨ÒÜ"P›“—@þ6§˜Íù¼s¤*pÃia£–¼ÇûÍ^ýèZ¼&ÊÙša“)û:ó•ÙÑÉÇŸÚäíµ{“¿N6G±_ÿVÒÒë3ÛÃuiÁÞ¨Ž‘Þè8¦ê0é'Zë7©òð0»™XˆÓ%-ÆaŽˆXÄâ––"IWé[<% (Õ>êHX3êtºóUNú·fë.ƒô +YàS=¹ Lb#ó„öGXW rå$¨­ÎäÑ‚,$×ô÷/‘O?Ч8BЬµ?xkš²ƒtK[p„¨ä¢¸ÿÜ$¹L2U>é2ã9܆ˆQ\ö(¶Ì²ÊuÙDGÈ<†O‰B‚ŠkDÏ_¤8†¡l*—ïÂÞBDËD[†š`~ßþç¬Þ ®Ô¸6êÎ,2½Œå‰L†¥õì·:Â]7ÇO:ÂnJÁí˜àŽÜ;ƒA̳ãÿ?€ dçHC£h˜Ðâ_®¿êåÚ¦íÃË)ú+ößLømÿQ 0[‘÷~ð@‡Ë8äýa¼DvÆãø³’Ææ°ÈqÞùpÆÆn¨ÒTx)äÝ7ž8uîÖ|R8LþKÅ+éŠc·3ç¦Ã`‰CwߘgßÜKú² |áp³Âl7vÓ <Â{lŠ 3;G¨K 2”qš“éñº°ÓgÅ©gÇ$_TB.ʉ„Õ©ˆwxÏÿnº:npãfêÏ595(}ç.GJ°­Ž$šäoGß„¡á|TÄr^žH—8£_ºtÒ3¦ ˜mÚ¾ÁæC3 gªS¢‹½À93–3¼Íp[¾PÅH¯•Mfè‰c@:”ÝÑÙüSuž)ýG¬Áæ‡@’AAxZ…ÀÉÂcÛ§öÒÑ-oÊ +e_s»éÜÇjB wþ”–â6O8JAQ@ž `|‹`©$؇G%èøn†¼½‚Rc+`Ƨ<µ„kÞèlwKݾ©<†bÔÜ)é‹éÑ*’ÈÑ“ |ò½¸¸?ˆµOR€gøqæy |*†AŃ–X®Átj+À_2Í·¡û’2Sh8eMÅ&¥Ð}5“'a +º.Î%å¸Cدô2ä2âþÂegR•.öôŠá=xÀCwË!vPÚ`ÝÐÁùBB³ÒúE!ˆ´,Míe]’gá ÆÃuÝúGü§¹™ +˜d*4þ ‘r o +7O×»³g£÷zQפ¢¹7_7nÑ ’±£Wž,‡d1 •4Z*ëx~‰´ç?©Î³9–”Û^J×;—ømóQ^ù\ªî»Ø”Í ª*ÿÒßcr@´ œsˆPž,3Q'xî5HIŽÄJƒ4·ÂAŒÌ>ÍVßÓJAd#‹óÍÌM½¤9YSv7*Ö!ð·³cä-ÚõtX×Ín¡ÝªYn ?Vbb™' †å2…¥žÿ\Zy¼üjí5îõu“ó” XTY9¦á>lqÂ*Ûd×›Ä8 5‘j«£‹Ð"M¿ÝËuŽ>RR¿q9”‘©Ø£>Žî‹¤Ý3HÌcgŸí` g,NL(xîlΑßÀƒÂm9ýÉÑ`ƒÒݒ虫v¶¶DÖ¸. ïP£y‚~Ç“¬F¢ÉKÐ+J%Š ¹÷‹ J’ô0h ¬ ü¡ 5ÄÿãF]oœŠÉc§“ 6Fõªà+Sõ½Ó g(K#,!äãBf Ë‘L~Áå#ÝÆj«l ?÷éÉÅØO©n£LåÍÁ²¿­ÙÑ·½p[§¥&\ŽÝ +þ¡8Û®âÞ©îÞ´ùSÓií&œK33ãZi°òê Õ²ñ™¨Õý\eB‘iûƒT}š s#@ÂÌXI-þßbå'ç\Å—xX"”5À;‚Ÿ½6H˜ñŽ\ö»Ápmg7?vjé)ʹˉˆ£ñµ°Eµ¡cŒÛ%NK,$6*ËÿÛh¼ñ‘zzð œ+þ.oSüAÿ£æ¦š™hhz(+ôËÆñù¯éõ8¸Ùœ7h¦Ïó¹?µšA×±¾V–D°feC$ÐÞÚ­ýÅ?Ù¯/Á¶ŒCoËÎn‘%oz ¢¬g­54…qèØö‰^S˜w0QÌÃb›†ñ³Åæa`CºÝ2ÙëI\!)ÆnÎjŒ_·ÓØÁrai~ÐɬJuáÀoböˆÜdBm ¼?ò7­Š’ï,.’Œu>Juú(–¶¹ZÂÒ§3ôѧ¶e·³¶yô}SUCÞ©Ecõ‚u×OWvV(^ËáÔoø6ýFbÌ'g«Hë‡M*@6Í÷–¼dnIÕSIƒ“Kßï+&ù<Æ÷©I×3º¸ò.ÉK×Y®ÛbTÿ6lÝìIøj#–>&)d¡!þ””uå¬Þƒ(†f3¿¸†î¿8\Å ñ!¯‰>d‹ÀeÇlßÔØ•sæt‘Ý’D1G„©ž‹Âš)$@Ø»k‘|jŠœ‘Ï•lšxuŸBs»½Ço~¨ª<æ·/5#ÌÚìº92™ÿâ:0ßßǽçð­Ò´³§œ ,ëB˜ÆñÒPôÖ ïäOè¶ê˜†G> N+bW‘ˆ8N-Ù À §–ÞÉÁŠ\>î:÷úló4qªÄ‹¾ù/²ûñ9%̦ÓÆïíVšyƒ,çF* _85Uìë‹P&D­e¦ê‚^ˆ—bs0ugÌÁöóøòéATøGaçØc] +½²©•?¹)¬i‹²GÖ‡†˜¦ຼ’#êÛÄqÚSG +pöX?‰r'&ùà¸5 ŒM<ó7µp!_‡ +§Ä^¥s?¯ÞJœÚ±Ð-àW$6ybùÇqQ]Ñ›qöí?Ù’¹Q_Ÿm¶ŒÊ5vyC¼9 +´…»…æ€RÃŒx´a +°Ofö'þHíƒë;Jñ…ÔýŸã§Ú ?Ö +!_—ñÀ­LJS¦,1ÕéËG±²´vòÜdfWi?«ÍÆ i²%­66Âp¯xpŠÀ K°ªŒÍ)n_¿éGèÑm¬l€®¢è-”EP¶„Wñ‹#_™†ÿü]'d‡Ü·ˆr3r"=ÞÂÇtat¼Ša8R„ ü>ŒçZiã×M]м×|ɈGe BH‘žp´/°žœmüÒ²Þch¤ž‘ˆJ?n4IÁ~4£¯6MO‚g2x3¹ƒ*¯/ô©µ["éJF‹7>ùhxà’ª9ßišFSsUyVRþoú»$øj‘ó)=¶Ñsô£ï—ø"¡¢Éðž»,WXˆú0TÆåjG®%SCõÇÀsÒmG¦Ií™îQïïW˜½mÅ6è ¥ÔêfHCª£6Q˜j‹f_¦5gG´¼;ÏaæxDËDŸÒS +endstream endobj 92 0 obj<> endobj 93 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 94 0 obj<>stream +Óu–?²^\-Ri_úwwY2Ó´¨ÿ8핼 ¿þ]hƒoIšA–ª¿ðçÔ@÷5î/Ãõ ®Á&•è!œwwèÖÐ0‹¼‰_¤ðÜW2®ý®Fp^aÙÎØÅbmÉð=ë˜ÁBÝõ"¾éé +Ç88ø®òLüèH% ª@ !†Éª´Ž÷ñ¦,*n(«‚úÑÐÛ£ü3Vìγ · n"¿D(Mêþƒ0–“Òœ’C–ç#K^ ÃÀVËzß©g‚y=[åuõ¾ÒŽÂ(;D%œÏy¢Ççüôò»ƾ¿«q~˜‚=µ‡ÌƒÇª‚…½Àh †‘Òã^pÌõñ {*êwbÜÐde|Òr7†rÅ£zb¾$¹™WvçÚßW.h¡3GW‚$ØÅš‚¥¥k—“¯æuMç?É]ußQç& ÚL6Ifn7gâ/úX‚FÔ,ñõ² »ÌKì (3µú~¬qŽZS}n9áé,£“òíÀË(/¾Y^R_7»ôx5X6Évò{ƒä"ÜÝîRüñ“èÁ†Ó۵ˆÇnE”· ' ²©#B\AÙË…<©Á±³ïu~×ß "“ñ1ƒ–ŸÖ%<#WnS’nDÎY)9¿Ð±møî.É,÷à^êl³œ—wÞ[ÇêÄ ¨qZ. Ö†+ñ¡ü)tšôÎDêiƒ<]•àKM€n·Ã9W ï]ôO†üÓÈ*¾Bv½ã¹J~K@Ø>"„>ƒƒöFûöJéË›·hèu»Ldê*«œ +zÝ>ý4ˆÜ÷Ø';C©©â~žRaÚ4õ$HþÉ£¢o=áb;…TLɇ™n‡•—äʛߴêmUýúË'ZÇñIä«úà†9JË@Uê4*¥0×zzÚÈÙø‘)OÊ iA3åù´N5V+—Æú?pÏw³Y vÝÐ Æ83¬¯"dš*^έ_™£n—„cäÖÛPnêâ˜û‹¾Ù™>œ‚º²N9@ãÂó,Ç>fsÝ0È.PNHÔöiX‡ì­¥Á)ÅrwV=ý°âù}ü*¥†ÔtMBìò‰Œv— +&ªéëZ–s¬æ¶•ë?(B)1pà9¢µAífYÞ¾”˜b1]÷ÿÇ Ìò2œ ûUL`™OA5åûÎ6+KœDœúy€ãKÚ’›A5î™2ûA‹`räÀ‚ˆYö6¡ÉT†Œ°u(Û €?‘µ&¾Þ›dVè¦;½TT  ª)9½2¾1Ïî7ÐVáŽl-¥’1 ;-êÒ¬›SÓ‡æiXyŸ¿Z2þ–V•¿1vò†ž9Âc ¼hT0œ&KÅL„ØuJ‰à-ÂSeA^,Ä%T«PvHc†ö Ú³¥mÔ§/o÷Y•’Q.]"ÆãV[‹17qA²ÄŒ aÅ9æ é¯ÎÑ¢ôGî,—¦¯šs 05ØÙ¥¤ÔŸ@•¯tR +ö_Õ¤ÃZiî{ŠÕ;žZÍX¨Šé„ÜôÐ}P Ï-×˺â ÇDJ²Ì5¯m\%ŠDÓ¤‚¡Ë}Ã¥ã—y‹â¹‚Š il ÔŠ.-æ¢+ö¾7pH=02§néT¡'YÓ[ 5Ó„1N‰¦{WŒTüQiÕ€RvÈó7,*Ø_a6›ZÊûeÏîé,ø̦ðþ®ƒÓò¾| J‚“–ÉÓ£V‹gçBuG¹wg\NÀº”&: +¼ÊqÌBЙ𤋮ÿòßûæ)ºýdü;Ú?N¹"×R†`ï"ÔÈ®ãçͲZ‡îdD‰Yø¤ÎRˆq÷V¦¦ÒîÜÞZZÓ£(žCã+–ûÙÎqJ]­OÁi_ízaxÅçkÃTgNþr¶ÊN‹¬›èͨNÛÉ–‘tŒ°%¾JÃümó ¤ÉA‚2ÎVH?@LÅv øûÁ`AðÃá VUíÉ[¾† …ä3½LZ\gSLÃy\Q¡¯q¡‡*5oƒl/§W'f×”`ð}Ô¡°E§íòŸ ›âùŠÐ>~˜™R#tÎü[‚/kp&^ x{üœêùévþÌšmíñ ¥Â}Ì:È=)ð—"rqQ²ÄºŒüGRÎÇûç_¥ßttµÞ‹Æa’D- +ᨷQ"}Òfÿl­Gñ ¬©½¿“Ú8œ-ð¡Æ˜¹Õ —Vjçù’Ͻðûó]Bš4h ÕYìÇû‘ašžÆW‡PÀ¹ádnºI™nº¡³n~î7/°1Î_¨šðë/K±Û&#j½ûMýHævU´$+ +ÂôÜ JR›Õ^Ňœšß< wG‹®¾Ãñ| ¶G“Zwú92À¶¡u Y$~„ùÃ>y;½C¢ôêsd£pŠ ,ïURìé/F/V4ì ¤Á›æ’WÚçõd¥M¯Ú,¼tŸVßëÀÈä€8\ÎJw+Ëä¬QG$sÈÛ8oѾ!ËŒ‘4¹ jà“ÀTïªÛ­RC.[üòö"<#Ô’ÂoÎ@ÂùlïÉ;·Wï­¥üù¿#c’JxSMû¤Í¯Q€70g?|•eB”¯ï<ÏítÔÇKîpÝÙ\3ÊÙ^}°/óÁ¸–'&Ý„Q.Ò¼#É )tÐp®"Þ=mìu–Í讶~Ä‚-»I©WueÎ´Ë +endstream endobj 95 0 obj<> endobj 96 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 97 0 obj<>stream +#dvª2oH‹Ìò¤ÑtýCNðà±òÖÐY\~¿r_Yn´ñîº@YèñZuk|bMj¼6³”É áj¨½êo"¤Óä“'zƒGõÎE´kñ’½>-ŠHi}´ä$Œî@l\>í²ok©Ζ#G͵¦dG|`TÒ©J†aª¹Á©µ“‘BlRj"C ¶~AÑýΧ~£ +«m¿Šà$ŒÁŸ+ÖÑH^«©Ž=œK²ÍY/ACše×ÏXï–@Ï\ uxPÛ;týæʉ˜Ô~8]l° ¨]ßØé¶ÍÍt#0Á÷™û!?½È[LÑ +Çè&¡Ú?”þfù ¿ë]ϨÇìãu(èúdÐ}ìpîâÃ|Õe΀³“þ@ã¤~ÂýZ|uÏÃÏ,'ûº%m}XñµI××,ÉÉÐ~­ö{$p¢•ÙW!ªÕ머”$x9¦>:¢>®ñÔÕ +mÃ5†¼– â’чª«ì9Œ¾v «n…X™º5ÔÕB9wľ¢Iõ +]P”$E_¼´hË­†œÐr†m `qÚkðåo7]ó õÊ‚¡ÆÊGùœÁ4iûö@·àà®jãÛi06eÖ©ó¡gÕ4XyEݳ…y¬ÃTàq· à龤z¶u0-7úÀ +qQéŒÜeDL5g¹&H+ + ä"·þ§ûŸˆ@¾Dà5ËÁ‘ãýqŒu'ÚP@D+Ic¸žß>´š#wvÞ›CNô߆EµŒµ‹©ãŠaïXla¢¯öÑT‰OfU2Y¾E?&Lƒ~-a<ü¡¶H`B@z{ºì®Å¼Nh¦Q(IŽÚªFN=pÊüžú³|]Ž=Ú‘¾,‘9þ6…×t’ëþ! þ"+äåKnpéCuÐ#I?QƒÑ5IãÐ =®Š‹Ë8yÞ×YhÈ Zîáø) üùf-½Ýò =‹ Ät[³5Cº%4‚Eþ»O]¢ ™Ô# eÉ|½Jva±jçÈC‚ù?š¦• ËÒ™œEºS«1{ÌË8Æê6C¢i‰äçx•”f˜ÎŒzͦðkç­“ïB½}Ÿ]7ó€˜Lš«b³eÑ“—¡Ìñó¨ƒKY13‘³Ø-—Þë¼ÌÎ= L̲öœ"áðÙê^§=Ö‡cÐ…«½¤ZêRšZ­ï–mW€ÐÊÿK¡EõæooìÒÑ0|†Ï½[ø59‰ÄŽ—¶n@WŠ¦ÛÀ"݃žÌ…òT^Ÿ»Z ÏíÝÑ…7D§ö_›ÃhUªðƒ•Äz´7ìÄùjÚ·0R¶Ô\ÍÃ]Z%¦e„žp YC.î»eôfŸ&1úÁW”2蔺67צþ$ö!* ¤T¼ +Ú‚2m«ÒÇúʇ@ÕyÅ€ER¶„™¶W†¦a.Ù>‚ÏUTæ¯y„pÑK OØ*Wç3é)¢®{6 7Xâ:Z„•pA•ë³ûmE~Pb,ÛU¨âÐNª+‡Zöаì®óóØw63q*;P‘žþÎ3è[ðŸÒ—‹˜‚oewE—ü…¡WW¥¾‡‰&™‘&ñÆHaó;ÆÁ}½‘QÛ—¿/å–¤¢ý¸êâ.£µoú¦Œ/Þ má šÓ`ŽÿA¿¼AÑ*\4Ÿ‹"¤Œð|YìëÛ­Ž +O?QòÞ”:xX ³‘E¿ŠO}ö0UçjgÔSX±vDh7ùEžŒT}än*è¡Y¸Y”qú +üÑ#TŽÏ_ÄB*}çñí¿ÞKxûP:Ì——綕›«¿Ë¨á“cæÁx¯Œ7Ͻˆ\­§¹Øº’–æÕßw!’*IÞ´pd6ú`Éoåå:÷ðòL–\ƒÂÎ-mxj9 tòˆÁE5L9½×ouJ0Â[\y›ŒwOÄ„˜V¶P4Š2\1äK@ŽÊª¶¡<áµ’ìßÞ‘Bã=7ÍW^²6ËíÉBÅZˆ¿Ý«Bí Å?–''8Å­VÉj,Áƒš>õ.öµYË5T>Þݹ?,Ñ|>äãeìï.£o8øÔog‚ƒ¹ÌÙt½c4\ +ð¡÷™2m–KÚ÷ÄÂYR<5Õ`QŠ”4œ¨œé ( _å~? +˜^òâø(V©Ïª÷^¾ðæÚ@ƒÏþØÞŽpi¤Ý>f6aPü¶˜aâܺH+`µ¶­-¿žžé§m¿I€x“ËÅe‚b+óyXÜ ý®·‚#%ËCT=,'l«@ ÿ"](eU¼Ÿ`ˆö ðD¼ÕE¨¶{Ö0½k1oQÕká†M.H9 L§¢&zr±æAáybtF´ø¡dÄ-êýë:‰ÑÌ3ýTNüùO&6…4Žtý’8ù„w% "4†Úl0e4µë(GËVþ”/–§Ëæ·%„g´Öwdì:²£S[µœ{zOXlŸK¤Í„Q Í½ÎÉj‰G|N1|[¡†é>d¤`ØŒ¨À0èí‚X\(O…)&°½X@iž ›ýàO‚2G \@ â_ëVÒ‹ÖVGØùA™ð¼{™’7­,ê¶_’1®HZbsEò¡CW7;>\!‘!tðL›hK¶š€šDÐ÷qYÓ»“ 0 «KŠÙrL£BKǃ&uZDï'“èß"´&d: +º ¯¼· +=èØó{4RwmPQpêpNþ|Ýâî6‹H¾y®¤–ÝDiXÌ8Î +é¢ÄbE§D× » £ùD³] i/ PdŸaP%»o +q”̆‹ ±c™ŽÖ²„#"œ^ñ}A2øú öž¾¸º³[™±¡ˆÄÜdDeñ6 >'S…$…CoëÄmGßǧõôѽä?}$eÂ}+3¢L¢j(¦û…=Î[‡þkX|Á‰‹ž[h±íÞºH£ÍïžçCfï±à=„ÚM¸°’ï ‡vÒþ*AE¾Íè5¦Î7Ò¢«$ÒwJ‡M]á„ÿlê®V‘˜ßÏW/$>‚Ü3yLšÄåhö\+”_’¤úimnGICÄWÍÁ4ÉIÈŽèÊ»?ò¼ÄMÍœ·üWèUCl=¼ryŠ¡3Ž¼ª žŠ˜ñÃ2ËúÁX‘¢GÂ’7È3’~Ï®7¶*H2óý ¿ ìÑüÜa ˈˈØÙžæùóþG¸À¥Q‡½g ½ûÉSlc[ΫÈS9ƒ ¹ÁU¥€¹22)d}‰Í ÜË¡Ú³³…¬µªˆd-_"hfžJv +K08SÜgtvíeðÑ+S å:ÐZË j{›­×¸z‚¿–'衈EnõøÉ^饕o–“S,Ýš±â2–›ŽŒH@[ds$1Π¤¿”à:Ô)›§<<ç÷ÏÚZî³[Ô­™®ßÑìý ÔFš~1¾¸gin³Dg&áIÚd.ØzÅÚ¾ÏRb”¦Ôf¨ºƒY¬N= áEÑ Ñeo»™àRRäJ>žªãŸ +Î$!úeêÞÞôße¼Ï§twcÈF€ÅbÉ-£‰Áù3ýŸ+hª¹1îü;‰Õ“þ(WP§Î@sµpC òü8µ-§Ì +_yäzè/ æöÎÞY°Gˆì”éþdc(ní:"K8t±S&èmã¼3FóGªèO¤!·¦÷EØâV?’o°iýÙØRì> endobj 99 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 100 0 obj<>stream +B>òëÖ/‡íƒpøz‡¤Él›UB;†£mtŒ}5>÷ª‰œŸd“sËhÿŒ£B ]T'\ÒÇC›¦ë˜˜‡m5oø¶(;ŠêˆOŒ¤º +¤ÁœŠrÑg®¯IÒºg,ù..vh}hA~ÑKÛæß;H¢O Ûííy“å]éXavƒ…Ÿ,–»«r¤”|å صόéA:È_ý/+‚©ÁØÊxÖÆêNr0>RËn‰A®ûÄ0U …ó1lôò½ßB žPE_[hí7Ø GÍh×ozã!'eçcÝà›>”Dé˯ï +·WeÐD\(öÉÍGõì÷íC§ Ë¿êÁx8çês,°Ña 7Gù$C°þÏiû]#•I‘“d0ƒ•¼ŽÒLêËöë î:wríXˆCÄ6Ä,«M¶Û–V}Îî{•å5~ßjœ”¢ñGO’f*WC Ý';€>[cH¡[¥<ÔÂܤ|@èêgåþ9sËƃ ”¨S\@Ò)tzd2c +ÇñUÄÝÀÆ<~uÍà m’cÆG ÛÞŠrš»kÔ’ÁÎ6=²Ø÷Û™‡,† XóàÀ†°éKj E´‰”=![«YN[¬Zl ÃBiGÁGð™9¤–çY¨ùv6I¤9òµx ÔÖNn\ü/2Ì[ óž𥚚ð5| Q¢pqàDÒ„!ʃ¶+hâ)F•”%Yh^MªçAx=0:¦éЄñѼ´Þ RlÔ½ýÇ7x°Îç]ò$'|'á¥F‡Ê ¢YS“c¡D: –%tìšG€´éУö·b—Ÿ’ï^,÷IpM<(ÊœØwû`m!æ¶Y¹ÐTQñ¤&¶‰Æ* oÖ“‚ÁNó#†fF0ÇÜ<{µQòzÃs0íæq®ãÙ€ØxPÚ½VHà8/Œb˜ðÅ­ÂcÊèÜÝÑ8õ„ÈèÅÅ&¸êÈÒxªf  "(™ +‚pð˧íåhÄ äá’‹® Wƒ†®£f²‰ñøåH£ê¶[ü‡.M¦ÀÉ•;ÃœÔaÏÞD†ê“?–vvÈ •—F”]rï̵*y»¨Ž¢~ vàñÉw†÷SØ„%[ÊöùI3N¼0Θr@ÝÌŸë¾U®z)jSU”éoÕÏø"ÙD1Ž ªËPxt34£Î´±ÀrÌër|$ºêúÐã(O#’i¦vòóT‹ç‚šà-ÆÂ-ÄõP~7äý0¹“±g³¥c‘áÔ€|kõÐÃN/RüÅyáÚ›zKHè´˜^àÿG“¹žÖr&ß¡‘éPÿ´•°Áð>!ñé´Xaì°X7Ànð×Ì·Û2·¿ÿ zS‡!C‘èO‚ƒ³Ñ@O^X‘jŸ¡›M|>d+ž!C᛽€¹àSèa³µDÊW4d™Õ*¤µ Óó.Z0Ë´Êõvú@C¥'æáUõÑ… Ÿêžÿ;UGÁ¶ŽÒ¾lF¬Ì`}«ñ7Ñš”“ö­íˆw³„âè*°ý–ÛŒkM¹ËFP(/ÖÀ›÷vC~?³Ñ Š«¬OœIã/4ÓrúéÛdµâ¨X– +šV˜†ØZ° +‹^Œäèê;©*Vîóý_‹%Ð9I sêí ~/–>u½fD¡H [f•ÿÇÌD‘Ìb6õ0ò²~0#'õ¾¿Ðÿ›ÏX"î£ Š•*Nå=ׇ'Ó^½‘všÕ +‹½™ !Ï{ò`ùí•øÁîz—q ;O¼Œ^¬¿c¤A®¨] ‹×¤Iîä­.r¹Ò:j0m[ÛuÙGu”@Ž0éÛ°LŠZøz&䀣Hâoøì­/à‰o¿ÊfZ±üÉõ¬¸^ÊW®¯³ÿ¼…†5€]I†8šÕÚßò;}ÐäæþªÄoû€2÷YoùlEg5(>Ý{+w¦ÇpYzî’Õá#ËÈæìl|ËT„j…Θ}«ÙÉq1Ò5È#ì”H¾šÑxý¢8M¢IÄvÉæ‚ ³ãíô¾cpKÕk?f5K*þ>ïbbâ¯Î²•Úž­ZS ¾¢µîUU轘t•£ba3ÞÓþfì'ØiÙ²™-BçWLZ­Sè'ñ¦pÁ²àk¿ùpM@wëÑ~Ú¨Ïð(Ó^íêþº>} ó_Èð¯ÿêáë½µ6P¬XÜÇp!k;ÿH;‡ù ˜F>\jüp@¥Q·&6xA“(c£åu3³±›Ë’%éæýù¥¸Ah—Yz8-•”<¥¢À*¹{‘^øQÞ>Ǭ0­¡û£Bâ"ùÍ ²±”N],¶$ÍÍ}2‘/Ķæ†ù»&³ÔE±„> ¶l¸ºb•‡ˆû®ùvæ¡ÓŸ˜”jÙåÉ[r'‰|ã€òô;8Nj4¾Mïæ„  QùƽžÆÉ›îDÒA:§“Ïå¹Îqö˜$ù•q]Ž—pøl `ÛðO ƒ +è¹8ê3J¯œ¹'¸À”z¬ˆVPõCQœöçyX@Óî ìi_ÃÆœ ¨^é]o" +ùÐçnÜ«-ÿb@…,!f§¿#dêí÷C÷õ´óC2Œ°«IW"›Ýñ”^¾Ìnñ7{üšíeòÌ ~ÁÉá{SÀ"<‰˜nf›;›´Þç‹M(ª öža¨&Á‹[Ø6Ëè‰óZùD~óýí9ɤU¸,îáŽlcȹ›,š\~Q5ë`^*Ÿ7ÄÝG?£ô.ÐÓÝ~%é¬À!òã%_xG=Jü’%<û7 o°NÌwïí þDîQ‚IѨûÛ–Ã.Àלduè1ï[2'$Þà˜äëg"xB8š(Ž67áe¸Ï ì„׉]].ð¾k†> *dù‡#ʉBDŠ«9ˆØiÐà¹v_3Q'o•ie¬Z;Ø9ú Ó!‡ÿZ£d–ÉÙxSÈìØ[ئóóM9©Èj2PŠ©ž§3Q¤Þª&è”S¼!Æ`â@4ðÙ\4q¡.ðY8¤)‰N[Û¯xî¾I¹µÊ/aDÁ@§Í®ÓÑàAëmŠyÒ¶ç„U…ŸŽ]Êr³hüó—&Dö-üà­@’—ô±ë﫸 Ï<ÈE8}FhÈÙ‘˜³Êºá³–Ð@”ê\^x@.þb¬·X˜d9 Ñõ×Î5rzU¥âKÌÌÕ¨}P±f}%ÙñT¾q¿ ©~€M'²lr÷Ód™B„Ä…•§ßä+Œ‘!{8|ûßBèíy;&œõeµÛ5Rèoe ”gyX¡:ìÀ]â-•.ªê¦²ˆ"0ªÛöŒA’o–ÆR—Û©âXWçà8&uŸRNq—æ¤ âÝSÊØF@R¬öE_Ù ÛBQa_8âer)(þ¤3£ÿܼ,‡eŠ²eH½Þ áŽhÉx8MqˆTð˜ø8Ycïî‚/À5ãòx åD„á¹®eÏ’·õ´te:ׂíÅÚ*®¥2غô1ŠÄ?~°^W4§¡âc 0›ÓþtUk×q~Rˆ²Œˆ½«š2µÀ +#òöú&?ôG[œG+IÌJlØóF .ßrÁŸ_] g8—X£® p«ôrC{<´VVŠ+£–£«³ÓÌàMÊ…Ï?„³ +ä¬GT; ½H`ÄåìQ±Õs3Ežññ¹äàOíôï5åÛäè~ZœA9Ïz9F(ù…¾wעˌjm)È(ˆnEâ´ä÷<‘ÒÜ~•c,ÿuíàª?§œY½fñµÃÏ@ÏÄñË#UQ𒤬 C^ñ\ “Żȉ 4IW bÅÀLH"'ž0~ÜZ¢(5ß×—oAñ Ž8æ‹C¿ýŠgyv²XNq¢³viF›R*¬d©|ÆŒü]•§ü?¨#g!„ ¨¢ï`îv©è{ÌØѶȊèN ;¢ÃùD#«ñD5Ê•7!ÓqyëKùçS…à[£žƒ“̤¾©_–¹Ì5ÅìÅÈŸ3víìŒK[ÿj.‚€Œ}):˜?JØë'µ!¿%§f)Aw&gåñ4Æ5¥¶ÙÄ£ óêÃR ~Ð뜻ÿÖîí8[ÿ㛎8 ±8S¿Ø*-?²gæï "Ý"™·õ$#’Ƙ³œfæ–ÀBémÍ +s + oçúâ£!^ÒŽ§^lå’3T­‹M™“IÁSŽöÓ•ÿKæÊ5’ªl„ˆ'„ä°²ç +kâx}­ñ’_ßJ©cáî1k%©Újü¦ù…n¡p¼p_ÌG-ÙKˆ1ŠqÌèäŸ80™{8¥Ó”}aºNÇð”ª>dA7ÄøMˆ„ÂZÿ\Ö…Æ—=‰F` ½Ýá[" b º‚®`›½ÎXôŒéMuj¼,ÞÍ-àÓ-°¾ ” Î +šSr¯bI +È´½ ‹Xnͪ„c߀ÿY˜þÜÞM‰ä§ª|¥}cPñ«Ÿg4ŠÿÓL—W·èüY›*Ç nbö”Óo9Çß`„Ì9{6Õ†:$ ©ƒæDÁúÖ\] Ùƒ'ϧ}M+›Ý±Û‹9Ƀ˯â#g§z(_¹víÓu“†ºI[AqÒÒ³0GA¥K»~Ÿ¦GÞ|jzÿ=Ì1û Z— »øVyæN:„W0´/¸t'ŒS4lZÇ-¤fÍ,œ½ÝïÁÆ3$à…-tëF`Ñ¡×óˆ GÐÀ'yyîtmT÷L?ñ¸¢ m¸°Œ"uX±^…íZ1Š«)œÒ×pñ;ÄVL“?K#º.£Ã¥€†£Õ‘WÙךwu¡d‘)ºŽg•Þ/½&hY$ç€OCsŽ†õÐ߃/è°-QJÞ.O÷M,âNºPM^}«*Tl·ëÂúQŽÉ#]o 'Ϊpn.r ZIÀ½?Ð¥¢GDc„ÌÃ1WÀÍ?…'%]Öøk¸öPF€ZkäÈMÊrõ„(€Ã¤êxMUÖôUôë'üg·×ص,@Móé%íÕ\B†-•˜ZSE7¼?r„_æ-1¼¥¸ b1.òž/v­zí3 ßÈ™ÇRlØgtbBÎÐýƒ,IÁ—÷XÒÄëÇ r½4kÖr’ph5#sæµäLz¦ðë-p_È…p0mH|QügŒ)&ìV!ó Ý…“øÕ‡Aª m`‚ :r”óNüKæAÏϸ—[°'’̳«ÔRx)¯Îo‰ƒöG¶¾‘›g:«·ë¸-Þ,pÞ~ÀS> endobj 102 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 103 0 obj<>stream +N\å.%v€a-Ubðά2îìÍ ">õ¬ŽxÑ^Šÿ=üêÝ¡Fü¨N}õÀü)á…z€´0ƒ˜ÈôSÖž€˜Nî§ÙðÃäË£7¯â€áÈãð¶Ñ«à½íN÷©ÄÑת Žb,ª²CüÒ©xRä„æN?€û¼Êä€ÄŽ|~#s¸rsT^½÷ç!^1×:Ƹ˜Ñ™¼-pîú$èÍEìT6š(óêZÛ ‚}N²Ž—¿GèÞz¦ˆ”0eÄ9úOôÄÊíÚ0äZOoý-l•·tâ,Î8h(Ã2úyïo]\¼§¿©Õúee™&lôÙ…#œM…áTL:rlóN'yéú²{×g²Xt´aú³g1JÇZ¬œ]ówŸEKɸªQ¤“°±x~°Y³D~7¦z’V- ý¶“Ìá¡^E1ÚÆff4aœù,Y6OÆ®‰%p“Y W*ðØd|òÖb´€&+á¥`à4&Ë¥ÒLf‹ìAî²?Q> ÙùÂp/´ärø>{~ÌX/Ex}:EÂ@Giª¸g<ÊKÁ‹Oj0+ïÐÀ%` ­¸œ-Õ3;_žB‰Œ®6ÚÊÖųHµ!]ð;#[­¡'|0UŸŸú¬OŽT„­£PZ—§ºaN‡äLØã÷è?» +Å¥Þk³ÎX3™FžsÝsû Ò4ùu„ÏÐÅ3;(¿â,Hujî(©Ý`>Í£,1¯üÄ„ .¾KËa”çùä÷C‰Í•Î¨ÁÀº¯«¿a»ö›¡pG©Uã"qM*wPàå¤È¹¾p˱t Ÿô›Ý‹–´Ø¥l%Œ ÝHjmblįò®ã¥)^ + 7Ø0àë·ÞÁq þ·Ò…¤ÍÙ¨•Qƒh”0¥¾ 2R Q­(+Iñ +ùýI È‘P +s: ˜e‚÷û'½«Ý[Â)”îw¹Ó±– ˜‡ØÚ ²N=I›øu¨OÒQXQÝ^·oß·ëÌç܈úwxF³°-ZïÁ„Æ`劺Ôdó•2‹‡_!n˜ž'j„3©¥]Y°$"Ó¬dÿŸ:i,…¶t¢ÇfRb}g;¿ 'ÍAÒâýã2]Çi´Kÿžñ?ú +”^SšÄFVÌÿÙ XÌ2æ—ç­q ™d/~ÄMÚŸØòÕ=CŸõtœÿ˜õè1L9öÖþ‹hh¥ŠëŒðkØ ŠDk±ÿª >MÁ© ŸHMÆ¥Û`žw– ôí¹QÁ†¹L…!˜ŸþèŸí7 €z9G\ÞlXlëuHÁ¨Yc*‚L‚ g)[X'˥澰¥ |¤óOkÚh§@tÛÄ—@—êsx)vÊHõ²ôé¤Ï(Ëö©Hó@—» ¤švnŸW ­ûFðª®_šNC¢<¡{kK/§Í^\ß}1Άñ²â¶¶ ÁÆÐS×ïGžÎïÞÄ"ß—xÿŠxgæç) ö!g£_Q"OhN6sÇ|ü¡ƒ‘ò4ÌŽH³2‘m q8Þ†äÀ̤=ÿœCiEI³ìûÿ ã ¹á¤?Gç³w›ôF³IâÈ]°ñÀ1AÅ<6'4KM0ûJ%!†±öºžÒÒ²qåJÕz×lÐãÏ6BXf@®04æ’jȹÝ)xòZsàB‡n¬úBÅ7ohîVm"Hl}­ôM#ðƦlœ Æ[+üE YGÙ Ä,t¹å0ÐNÏÝǦ_öa¿/ÎT¯ãârø8ëâÆ4™Ý¾~ „3þ)·ù÷›®g´Æ™sÀf—‰˜VÆã |)«øퟦ91þ>»R*C> endobj 105 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 106 0 obj<>stream +¥…ª¼Õ8žô›œ +&û6Í©ÃêŒL”d0D¶¬ªýaǵñ*­ïO¹Nu 12~rX†xméâß-SE“tûVræ [°7±Pëj~««SæËÄüžX·‘¿>:Qn<÷þȽÁ ·ªFê !M\®•Ÿm½oŸ±KÕwkÛ®O»q\‰2+Ë+ŒLù äØdÇYˆ‘Ãö?ÅX.“šçj·……ªP”,8öROÇg.ÀçýkYØ9äáuw¦°Çw™(•?àƘ¯CÛÌØ^mÍ]mß ùˆ/ön´>E"ðW±,¾¸®[®T¯1×P¥#ì|Ñ^¥b• +X‡Ö›ÖÅB]íxå`[ÍGÍ>±EÃò…ÕstUyž¥\6Ëmù)³’÷R·œ[@Oj…¬{…[êì¢èPlsˆ†QAöW `¶ 7gLn¬É`E>¡@Ÿ=‹}U·h;cKÍ ²I'9Ú¸P¼9]“ÜÔ‚< MÜRTÝØ<òTÄU3E²|úaz^ÛÒåbZŽd†ÛWkµn D¢·<-\'ÝyQzj%?‘ÔÃ^Q·Ô’”ÿê%¥/„ç߸=’crZÙ®Ž³Q¿=ˆz ߆ §úBa¡Dx¹Ýë—°?»tHã²B£žE 0ÂT‚0~lu“¼SmãÑ.î⟲¥Î2Œ''ìå§Å2Ðã¿9õSn+¬9U|¶9ÔB¨W®F²ûâ±ÏaÈÇé ‡>AªØd„=Àž„ÍË*í“öP¼TÞ; ©ÈY"Ûð srºq‹ÏÊ^¢f£ãdÙ\8cüÞÕ^B y\ÈÞÆÚ,-ÈÇ7ŠS#õUÐfò¿×HVN…³$fPr}Hl ¶Àd‘P/bÝÕ»ŸÀ«)›fðÖVˆ¤vILî2þúJ½è"'^Ið¹›BÖ÷®ŸG¬EÛ¢Só_¿«kMp¾$çIJ¤ +¤»Š†Ô…mTcž|µénü2B2ïþ‰má HÆϵ,¶FœS5à‡Ïת›-ܺ•X¡”iÐmÍD´iœ—f¯Ró@Aû;Fl<ÓÕÒ´[G4/´`Vx7Òe»¡Mã|I¢šÊ4îÙÆç•éÊJ2*OX>ÿnÅ.}Kp@‹ûGè÷õÝÊ¥`kåÄÌ÷¸j™ºÑ1¸î>ã"!o£]˜½¼Àôƒ0ñíUHý{$!œˆ®kã»MXqÉĺ~é‚F ‰±¥«ÿ9x×›F(ÄDGŒPÒßàãøC«tÚg¼nÍ›nó"þg¼^ß'‡Þ&KKÉ ·,v‚ï<¼”;WÙ B‘R ´5`¢¯dÊ'õ`3 sêp3H¡^.. ö€Ãõ$ c°vvãŽ~~"iåÝ ¯%~ßTâÒO“¤Æ-{y»M¥÷¤A8&PoÀbq:,¶Î}Nï@°–'KšÉoÎ]|ÆsÜ’Ô/–ÕËҒħJS:¡UDKjEc°ÉÒÈ‘æec½$b"Äè¦÷ßêN3Q5#¾Ï2¶ÿ° îûr7{‘*5§ôîö ÓA{©ùZnä(í$34L‘¤L2+ +¹BŠos¢ÚR7ˆ>8PÜ‹ºXzÈÔdDš¹j§`Qˆ¼·­ÎAãQɓʾ³ô¡µŒ>|¤ +ò×{iÖ~€µùML,s5(hþ²šÑævº} @++àÑœŸåÔð)"®^!Õײ¬·—ùt[xËß…¢J]ÊY 9ÑuQH%̸è"ÀÔ7oŒ*£šWÜ# àcN1IÈR™YÜ&—*qeoÂl|¡åJ> + Ë + øOõ Mb'B"yÒkÌ¥÷ü +Aš98­ÕgÜ6 »0ã|Ú -¯9§* ÊÌ[Aa±ÀæÞ*µÃyHƒÅ·.8Øà"TTB©8/Y,wE‘¶¾Vl(»²økv‚Ž!ÕZÒzä¥×@=ê`º–´€ôüò\WÁ±‰?¥÷igÅÔIÍ,¶ Ö‡ ‹’@¡dAÈ6¦Í\Cqj2M9uR^nåêO’®Ю-É°“W1¹itk²úwQ™” ÆéS^¨ƒ¬™?X;/ÇXÔö)]xhÕ)Õµ¬"K.Éúq†¦AÓî„b[xŽj¡Ñi-ab8G÷´SUß°ŽÂq¶ONý“È=Wr`òƒh£›Únåëáúý>\ИxZ²6ýúÏ–é¬ |uçV77™Z_Tô>ïú0÷ +õ1ßÍì¸:mø¶ŽŸ`á|ÀhKFvõ —„eaÓwd×[@SXƒò=nñ70E +F³b¾ºet:¸n¶îv0ë~QíWøLB‘Œ»áÔìÉ1ÆÉ㇛(@4q–Í~¬ý ³ùNüÑÜ›Ù×™S–H†dÞß`9üAá¹ÿ+båfßhf7íðHììi°ºâøS!àóÏãPéÄó_†ÖGû>/ÌÚ£A‡c¹ ÀUÝÏHT®ZNúæq5VBû’Ùœ‰ 39¡³¼›”[ Ž1àV#åš +4ÖëÒéãÚùªfÚBþß%úƒjíhË/¿N Ó¿ì—Ak™Ôè+çtWðkzªÆ=Í“§ÖÏ@ Z5†Ém^ ã—)2ç³›Ða +/¿Ìˆ—öÕÐ íp‰Éf§Û®Íp¿šœF£îz5>ºÂÓ…¦»Ð"öFñ¬¶ÜX¿ÖÉœ¹j(mª„é4Eà÷æiˆÍœ W¤Ì|ù«ËÍ^jU¶âx‘mâɯ®×d>§ÑH$Æ à¼ÂpBº”-0Ä–Ž÷tHˆ'·Â1gµ—f[ZÞ•uV"Ì÷\º/Ž«u÷3 ªŸ6{¡:¥ÁÀ7ΙŠ2Ëâþ=}Ž–-ˆ9…à–%–ÞQ9ŸÉÿØò¤5ë0n:q{Vó5?H•sh‘|Íû¢ªÅ3¸¦·?…ioµDØuÌõnÇó·…a¾³v1h÷‡P[Uìá²ý |LÜñy+ܲV;—]Œbº¸šÙQX l¥…+^ ¶¼ùRÚ€±„ÎG†Ó+<õó÷¬¸ùÂÃKéŸü½©¾$¶@âb¨±~¼ï¢]–…€×\N¢ÞÈ>(oþ¡vT]HØåëæeÐéÜSµ«\ùfLº +YX]¾Óú1÷ 2‰LCÔšç ¢Y‚Ú*ç’Ôtì12.õ¯ÜÏ´ÕA|! û¶—F¬e¿³ö,ú¨kFWÑ€8ß'ÀØY0„Ü5†·¡“uÿñeæ;O/Ÿ;> endobj 108 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 109 0 obj<>stream +ŽbgŸRŠXÈþ3T£ßžøŠ59 Öbµ’tùüÝëmT“~Ù׺NÐÊÑGʬeÂÌÝ!„È= +µ÷`Š˜rU,—8?Sh3b×"Ba!Wä¤åÔ9U5ZþæðŸÖÞO‹ç%—˜ÌL§v~ÄAÀ܇Õô!8¤å:½4ußbœÝ³OÞ}QÂÕýŠ²Ûö,Ì€IŽOÏÉŠJe‘OG¥ˆ¥õÖYá *-ÎÛË57Âîæ +#Cr½;´µ:sÓ´ çà¦Sf¶’qžÔÈãŸ{C5ÅÁëy·¡í|‹T«Ù2³×£×cÐÙµ½ t;'¸a1ïFò;3É‚èÐ0¼@D¹¬ÕÇa÷ènžÃÞüì4tè>V˜÷Æ`»PM’ê9Õvqu6Á"í€MƒB@å`Ã4pI@öbnd¿²%øŒe߶»AæöÆe4†õrÔÕ%ÎÃßLð‰‘6˜–§2×´™—þ‡’;ââ%-ú¤ þÍ“¥ú2!&dÙ¬ø¶pÒ níS”-©þ˜n:‰“˿Ъç`Ÿko“ôLÓÆ|?“ ¤1#o+uyx„ÇÃy\ípcEaƒQ”DV}Í&›¬ÒNm*k:„Z,öI=9X«âˆÔõ¥6òéf*ƒÉÀ°ý°Øl;Óç›ÍiSRȃï$ +­äïÞh*ȶÜËTy‘ŒÙµ9+…ø°¨õi2#l»Æ5Øþ~ªÎ¤YeÔŒÌѱy¬‘EA§¬|^-ù`Mu¡6‹†V^u±] +TŸ¥ù¡)ö Ã(Ô³#kŸ™¬µþ zä‹IbboçÈAÿÞåΔà¦þ²–Ý~èEI‡B,ŠÐíIÿ ‚F2[¦my€g¦ž³Á¹¨pš¼t†÷¤Ý§´&r¤É2h»·ÿZaGÚ)~áìI‘°„òñd[Hó£œÆ-h/ÝÁ¢³D›"h)±š_¨ÓbÖ+A‹«ˆ‡4ÙÔIšöpÝF¯,àÿPñmmð. ¯8mtѬ¶LÜ—ÙþÇ`®õeSéÄÓÑv '„<í¿qc[‚MD²¼xò_(_¹‡‘¯² ˆ%éYåvŠ.}+ÍhÎÁ‚R.| oªûÝ×N/zéÜÎJÇ YñÑ‚s¢ÇÛæ[Χˆàh¯KÍ‹.t¢ËwÇPŠ÷¸ý8¼ˆmÀ¼NÐdÐÃ÷ƒU9“õŸquÛ¼yæšÃй<‘ê.±o'qDðü¶é1‰Wž¶#Úk2ƒž²ÑΚw|ïq,×j‘ùpºW«´çèXÚÏp¾êv{u"HŽ?E5³µé&pDë’jDA@ +f;–½^y]»$S¬¨±I±ä+:+…RT›GŸâôgùŽLXLÆ4ùm‘„ÑDx^€pIü,e\ .< –üGé#6¦{²ŽØÞrŒ:.Œ.Ôã‚%£UR:°Ç…-ˆIê±/úT¼Nþa,\×é©5Î#,# +ú1Q›œ“LåÏœW`ÿ,³²º@;Añ6ÜW¾2qkÖ¯'‡¾BÕ}˜]ÄÀN›å±á¦Žÿ×DÛ5gKͽaÿÜ-87×I™õFÃ;26šÅt‹Iu)EXˆa}üŠFŒÏ…²F–Ù´©ßÀ™ýÐukì‚l´å°¼ò–ìÔ|”"…vÆ3¡ÚNGÔY«Þ“ÌâçšiÔ4¥ÁÎS¦Þ¥ˆÖE¯Â.©,å®äi©(Ö(Óˆ4‚ÿ?xf¾F3nÂLê9üv°-¸Ä‰,‡dk ‰pªÙOóÁâ屋UˆøK“º?ozø»Ègt[ì^/[¤c¦TÓ1ZAÌMæÌõü‹‰\œ’CÄZyl-Ö -ýÝ!* ú¹â¨)jý?ºƒ:ýUÚ4`·F}Å\î¼?D:3.ÓP'ÖYú…)ÒæuëÂÊh‘¬()ðm”DÁC5çöÛ䙫N7uñåúèåítðEæ:ƒP÷ã)=V5wO—ÇÆ{ “¼ºÃª¢©ïn銫Ñp+vÇ%s‹uÚN:Ei»úŒSîExÒÎ3z‘ïrd?bQ 'ð¦p¨ 2·r_“ï`ð”5„ÑGª‘*e²)»/Jo¥ŠX‰6 +ŽýÜ)Ÿ·¥AþšpL:ê-Ý63VfÛª„óB„\ÈsCVì+—¯0¡·dÅTøpiÎÙ.h]¼\®ÒmeÏäw}…1,S¹X“hwÌ‹ÿñ1ÉIÒ~‚ñ,¿Å÷Y“£‚!Æ ±Ê*œ›IQÝ«th°²­FR+¿Êp,—†Ñ`©ì§mdllA›7ƒº‘¯Çëˆb˜çvCÙœo*°_~LlOìƈg6ÅŸ¼ŽP}þoœQdÂÆÂó<¦ÃCwÄQ!bÅŽ)‰M¢‹è@ç©ol©‡^› ² í¥ßõ‹ç£‚˜3ï¼—ŽabÞ8mmKç¸æªTVÃæf?Ô±)/-ÿ§è^s ©á×7í +%¥U•¶±‡r¸-OÙGç˜(:0Óe;e€Ámwø¤¦Þdê¼á×IÍz*ØÁgËa|;ó‚Áß|¡7¡#è­Dæ*Œ©cÚ`:Ù®^ÏZQs°>¾ù‡Gá¾øŒ¸­Sh¹¥øè:빟kÔ²šö˜0 zbO«Ù@z6^Ë'U N\¯t±Ûz4\ãf}QX!ÅÔ1yLbÏŸ7IÿÊ›H© ‹CDUì“1TýBaˬ¦]V&ÿCG•X&ÅÕÕ.ÄoS&QªwáÔ•€Xl²œ4élmLY¹s¹¾L©üÆ%ç£!!«‘¦î˜Ó\Ýãj»9J¦0Z‘8’ Ä8Ì#Š¿B¢„º]Þf9 çpS†]gôt}ÂãT‰i;+h;t“mhSUŒx3˜2ýœI ·×þûûÏÛŸüçÂûǘþX„÷ì )c¶0çX ðcÕîrÐ;dV‰qèÓ“Ùž>ìxixY^Vë@l;Wwd7BÀ벨yw]Î6¯mÑh% âÚwèu†ô‡xüy«1“ÚoQÅ…š'î=cÄ.¸¨‘H£>+x¬ºÊûICf €bkf†_£Å$5s6+]²xŸ7µšã1ø}jKÕœI´£( iͬžNú$Ì)h‡çw‚‘…¿TûF}¡¢|ÚÍv# +ꎃDB6F…S ÓÌqۯƢ›/€è³¾dPnÂ+ÊÜb=.`swO§÷\VÅØ,ÚÛ{Àbmñ,Ô2k+#yÓzJ\„GjÉ•PÔH7mc«ÁªäqÛ+øƒl슿zÈÙO*Íâ—¿m¢ß$꫽9#·ãÜk5ìŒa;ª¯Â™C(}<:×ÆGcâ7 l=½‚’ôb2é÷^iòúÈì¿¡ÔøǨ«¿$9Ü!lÒ÷!#7^_~ÝŽd­[~Ûƒ=¯a­ü¨s䀅7w»Z-gS«h­åò}®äõ>ò÷ÐýÛ·x‘8€Çë[™ÓÉÒm(\‘Ø®ä©{@ÑMoÅe„EýXMLÜ•„™ì[^zùNcïD¶@ç j®oÀë> vì°—tkõ/Š;<—=±Û;#Ÿ?aZ1"H¾*A¦¿?)|òˆé3!5ªè@hÌmôù/ýÈœ~{ûÔ#Àt( é?Æcþ­.Ÿ!åÿÏ®Š—B½JŠóس$M.‚¡‘ƶPÖÖ·ôk€§ª¡2ê*•KÂ<´¹•ŸóÇ |6”EnùáÕ´õ/Ü#×á@2eMo-Û¬PLl ÂåfV{\™ƒb뜂+W¿Ú@Uh¾ö­çtÍLôSdT„ªÙ鿹t#C–þ€Êphg_PÂ.Ëìi, Ù(þüä§B± '{ßGjB¦É;¸Ÿû¯ä&CpeÊR:1ñç¿“2C#yuº1N¯Œïyû¸|ßèI'iÈ X}Pz¼óU(е! §»ãn¬Š>"õ}’ ˜%ç+v{½sN‹ ÊxúÞyOÉ×ÆŠ,'8$èò^bßEÞé‘É÷Q÷1 d²¯+8›´‘>>ï¸!¯¦ŠŽ˜.(­dò‹cJ°È¨üL%n¡æÝfV*¸3eؼ·kçEñÌ_fœØŒâý:Ñ$Bt(Ñ©¶ yy•3º—'™f"îö—$ÇO þ½ú‰Óõ +K…ü'çìÃ…ôOÀuñ²:jØìÒ@x×éÊ£O¬9l¸Lï%ì}ôgbßV•p/s»âWÑ[:;;cãks¡ºJ%RÈ£lb]ÓÐüh 8‚H¯ŠŽÎÿæ… ™SÅï,ù‹/)Ùc>nT©ŠšM«?ÑåË>)@Ó讋L.íd‹JÔïRGSm¸¢²ou½âêQ¦ˆÖ¬µ&ivÙ 4aJöøSÉ|F ¬ûÂQ'Æ5ªª !¦µ¾Ì™íNìðuö¢:ÌOßuÚ^âÓ`Οµ +ÞíÉŠ˜’»01©ÊŠx‰@ª–Étñ(ûNþw”9Fý…"Ú"óXbäÝbßø!v!ÐOo¦“Šrí›ô”ÖËN¥Z©ˆ¾ŒÞ€¶z½¸¸3bæ])éªÙÝ.¼šr3t_ºû]K´pü\)!°$E²\76{ùÜu€me¿>$¢óºªrÈ™/Ž3Î$^aîÀ]TȼÐÎ#ÅOoÆgÇ` ÔÛØäÏ{é]›)]Þ”fMuÝp¸3ÁïY[½µÁ›ë|üÐœÜYOΖ…ò–8Þ×Eœh¶SnYUÓÐþ#ˆLÑáˆ/Ò¸\®L=d­.ktöèMOò3¢³V†ó;ÈËÛò'ga»2QØ7@ÖŠä”1YÊoyþï4·ã‘VDïP§ètFNpÇÃn|˜HÞ¾½²µþ”’ÄñÙ­ÄÅ2Óa×u`Y@/‰š<¦ ¡­QóÑó’ñÚÉQÚ5«xã„ÛfÇYì|I|BI¦ ßù­Œ†ÞŠ¤ +'}þBøç¶ EU«cSb(¶•Ñ{þãTIVwÕ›M@‘‰Ž³îdç{À0ÿe¤ZÈ~ AyñÑùÝ“~Ekƽ; †³’Êàf"tÇz6Íw X¶ÇÅœ‰¢Uh-…$htS»ÆÄMhݲ„ñ™péì˜_)ä8>»ÊBݘкxÆ·Ùè2ÒWT$qq)á)`ªÇðÀïÍdšU•áLÁæûú'ó™’!fÅ)ÎIyc¶Š0©Æï™Eô0îh® ©ÜPGàq#~Ø-çÍ Ýsƒ­‚0ð6˜,'oÍÔ¦iÁt½Š„DªÑϺu\D%ÝgDåö¼l5ß:⑾OQäéh ·:§ÖGu–îØO7ºÆ´÷ÊXzºa¼&v ;ù8“sD‹@¤'£¿ô»TNrMùäøtýâ÷uZ¿²F¦³_qpY[%«~ˆeüºË ï&V» \°Å%yu—‡ò¥c@Š™ÖðîŸGkË™ç¯ðèÞû¿[ŽXAâ§QÂbnhuáJ:¢·c_½Ñ&Cj4´ôË}§¹éÐo-‰¼³ +Ó'w]«j“ÉH˜=%mÈœ=üóåÓÄ›<&‹“’>pnä€ÚiFgÞýpydúâ¥*¬*Gfñ1Ê;MGÐ&U†x´öa戊_‰G5h5:Ъ›Ão@þ{0 *Ê·ÍkjÁ¶aÒ´ ÃÒSÐc‘¸U˜šÿ’ÇâßÚaÚüEW™S3º:<ÝZµá»‚ÖXX5ÈHÎ9õ'ÇJB/ÏI³ó°/Xu)ãSåO©ºÑ5µ»ÀØå8¹÷Ç¥2êÃð–jíÙ’2èkØ(h(VPƒ®ãŸg˜¾(³2­g{DáM?z›*ô¿i"ãZ¼ ²£HúæÛµMht»¶zø;§Ä]òå»±%þ„ÔÍT(™éGeü%º®ö€]ü&ÑL_úvZçë6Ö–1<¿jáI—×õË‚e¸~){4 +j°¡6ëÖ¤x› pirÒdiÓŒßJ±Â£ÖZ +`Yv¤5[µšâC—J¼1Ìî䜼 ™Ò}¸âªbNŽ]zO›{!ȺÇ^‘~6¡à^©ÄgÅ¥—™È(÷N—Ôìú%üfyN™õ]Ò¹†ƒkžm®Ç2Úûõ­miôDf$ü=¼>>ÕÈ¢úK#§p!ÍF “É-*Þîv÷ä%`ˆ)#Hl=\Üìé*‘Viî¯òÄ©1d†Ø\ôIÖ*áéåm^ÉëÌœ±áÕѱ°oJo•XÙÑæ°\[š,@e`b‘80![XLÜÜö±¬Ê)òXô€“/l͹ä¡A–,Îh3ˆø;ëÝå’Ê^GaÁ‰SÛvõœ„ƒà_Ǻ…¯í:AVÜLmj•g& Wt‡T=&ñµáO­9“_1q€™Šc€ŠÇ!yöNÊ¡%17±ÂÆ"™`½‡y ðϦOŒªhï òÂDÆÜcâ˜Ty8ÃJV\^Ô~‡Øj°^Hiž9—‰J€µ¦¬/!úÈ:²äB qM •î‚ç­¯&@dÊ «Çص’wqgÚÙƒ‡¿^•í¼) ´5U€Ô"´Ñ5+n=CjŠ7!ß›|z«qƒ_ û²ÚƒìÍa$ž`Ìô:×øô®—Wþ "l¡´'3§XâËX"Â× KVb‡ü¤px:ô·µÛ–©ºæ‰?¾Ò7"¶åW3Ÿ+ G)˜¾Šá½Q„ç·¨êÁq 7-jñËR;bé RÐýCÆ*¤›;Š¨ÑU³ðÁ!i` }᡽ƒ´utãbW÷ñ[r½¼‚õÚ½Kü >kjúK¾CîÁEÔèKƒ|¬ò#üè–Z§jSùËßÄãA·câR§G龄†À4,ÿ¥´³K>!îào÷ƒÀã‰=rr«éøŸ'Àquš\½5¼ƒjöÏù+Ê6ÌÅë#[jœ‘1'ø2#•µéØ’†¨ÃÑ¿À*ÌäégÊàF$1pëþŒ+Þ±@øßךáÀò«BjØÍVP]o?]¥ +´éA‰ÚуÉ6ÇRwL„"‹Ëm‰éíá%Œ•ÖœŒÂB¸Óšü`8Ìþ¤Ôbù#†|¸ +Œ¤ImVªÍòwü²K&Ž1²Ê"Ù[„‰çuRqºÒÿCÉ +É›ŒS‚a*ßQq'¾4»! ÞÂn¸_h{ù«ÿš8Öþì S¡˜–àJqüãÌz-ÜDòõ;M[Í+ çj#Mí×R­hßCâ=7Íå#¡¼iTÚŸ¹Ú'XóÅ Š¯A2ôUS*G]kŸ¢Éð'æ›âQf§Þî´žb ŸŒã¦œ½‰òÞaÎ:D[ÑVÉØá”êàZÿ÷kY](Éä¡Ö¥[IoÏ—¥Diâ‡eÔ€BÕkÅD¸´“pÍó{È^ŸåiBÑL’lOn‹¾ ±ËC!¥r+$ë „7’=z©¿{1Cʃôù¤q”5†P·„HúCR¡+mÙSÑ/.]Ì%¸Â1î`"ÊØóAƒ1ÍèÖ<ŒY€û`8àoôj,þ<ÆV§¤°MG8Æø¡FŠ> endobj 111 0 obj<> endobj 112 0 obj<>stream +(ÚIHnÀ¾·4Ĥ6g¼¬2ÇPFÜu­hþØk8à7$ FfF&ÑJáш–À†pÈØÛ‚„þmKH÷¹¯pR|ƒ=ÿjã}—¥§jÞˆ™~ëØAð@ +endstream endobj 113 0 obj<> endobj 114 0 obj<> endobj 115 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 116 0 obj<>stream +¨z ã½’Y'B$\Ž¯–Ž…IJ ²~Ë’ƒ\W ã_.>+ ôÐ@ߺMŒ]Ýï?‰tâ¤Ì…€†˜ŒËŽ”6=~x‡…à"äpɘÊxµ·±™²öm9Fy™Rµ7'Hs ‚o*àÞ£Zà%<„ØP 9+$â.ŒÍã._% +`ü#Z¤à +)YAeÉÿ„CÆ¡±Þ>H›à\¥s2¤á(lÕky€vµÞeõµ²„DS†\^Ì"Á“ÝêÄ‘<ª‚€\’tðáÌ·´Í‹ÅU©Î“§;TGýœ žŠÕ°kýÙYaw¥ˆ1¥c¡Í]ƒ˜Ã³ªþWp*t±ö–÷’™>2c4rqqj`ypÞñße`õVïMVóeÂ7Ê8j·¿Ë>–âwÇé0Ž“PpÞØžA?Eõjc`¹Ö=ãL+irß>󪻎×U\Õ>é'÷ŠF^KeØDa-i—ö<Øšòþ‘Ks¿È’ Ñä­(’ñséK¼wUÁàèæPR‚(Áv£éU ¡–LŒ8u¾ZÃh}Ó—ÏUZ,”lî .²¥ˆ$?É©‡=O51Z äªý'Ä*\VÀ„üÞwl©}Ï@ YÞIfr/^o1À±uˆJ®ŽOÅä,fФt4¶œ$}tðÍ ­”’AJM(ÑL#Uv‰ÿ“¢[¨õ²©)<·Œç@:Ç“˜Û!—DIOÇîŠGsg~ì<@[‚1..rüû¦þâgج4lò‘Ô¢>=LÎÐ¥«:T['#ÅÔ;n¤¡¿vMSÈU¢ïÓX¬óµUòNÿU2êÀ畧è”+”e 4Ï}ñ³¥-Ú3éËΩ,ùŽîžÂUq—°˜æ îþܶÿöåýクÎV.*ÙæFè]÷ª¦Vx¡—°æƒÁãªèÒØÓ‰„)H$¦ãAS-âÜE⒦׷̨ö25º½†r +S)c9î €)šbÒëxªÝ˜Ìís¸˜”ø’$” {õèOÀ¹IPÉV؉Öï°Ä5]››’mÊ%å& b¶mTª·Ø c3ÎÅnÁužòNŒïg˜¶6ájª5yǧ'k\î9ëÖÝéóg©œÆ¦‰¶0¦Œ„!§°9-XÔNký9Je\/¸ZÛÕ;2ˆÕ ¶%³9»ô¨©¯ö-¶ »F þET °|õ‚‹ ¦ewâß1ïž”ÒÚO¥n•˜é±×r–N¸BèmwkFÎú*à íWªÞ¾iWÎÁÜ3¾ƒ3H®I?Z~®A€, ± p›Ìë®”ç<îU3MÕ„œ==O"Ë~ƒfAͧ^$•K*8Š‰<»Xn]:`õU)Öà¦jOÇ=…ñWÝMT,4é¯XMÌ’^.”ˆRûˆÎ8¯ÁÁ²Ür"¾¥5ÌPdc›O¢:¼Æl8ÇjðfÑåS/ oÀ‰Öì¤Õ¼òHD–9=yá,“”Ó¿çä×ib!!YøЫž+£oüµ,‚Úu+ÆžØÝ„ævP<ºfòÔR–hý÷-µ;ÿæÆZqÀ e‹iWóÔïÇ÷uwÃG: +K²‹JÍø>3d€"¸Kœ‰Ý¶²«:-¯·RÛõºü?ìV†RŽ¿ÿ<|zPŸû]ºNêtNsuÜÕjt!UÅhõ‘ϵ°;Äòm@á,¹¸7 ÐuÎåE+ÝÁO²=gú Cqbœ‰¬ïcDšÓTÝ™°h§'É~³×/6ÎVº,Çñ”b/¼óMë¯a ®ˆz^º]xät  ¡Ï½Ü‡ƒkkël³Èþg«Ø_¹².œ5Ç‘F\¿Æ+»ò…­` ]ËwœžþpÓ™‹=îàyÙ¹›cJHŸs—ùdÎK‡1ôe4(“úwz„sÜ€”ûœd4s6ÑË)ð=Ò¶.ÚÍŸÙI2¼ôjoi‘Vâ¼8ÖöÞÞ‚U‡±ÖÓôb…Ã#hªÊ 3{|êý/9Ýy&©â̺f·+¨j(•€k’,gû„N%’Î0üH‹Ù|¡Îð5Ü]¸wšÐ£bj]* +¶Zn ˆW\½Y#¦÷²ò‹«\Jê¿ïAÏ䞶Ø4£d­ë^ÈZx•q\ÆEðŒ“•ýSL¦õZ Äpðܵ¬©û4Ô62{)è·à€·²?w7å¸Ë#¢X˜±6ü{çœé]o~ã˜ILN@ ï|ºk$¼uÊÂc÷žcã…wm÷éP~­Ijt·êmá%3 J…#厥gº+ð¿ {µæ9Z§`JêÃ!°3íåÀãS:Œï±Ó6Ë/Øýyˆ™ÞK®%Vè¸ÕøyLU>ÂT£Ö03¯[I㟒¾g ˜š³K3ŽÂ¦YU>]u8‰@Pc?|Tª¹:c=ô„Ü+ÅÃ{Áse×G¡@¿µþMqÝ`ñ­7DNéÆ~9"ƒõ;/,ׂž ±и´šT×Ç¿ÀwÜ ¬8xúŒý½‡¯·¸=ú ý@ëʘ ro,ùU$†çŸjËNÕ¶ +¯’q"ù¥`ç¬ážÞyg(†0ƒ¦±žÅþ3, xÆGt(¹"?›ÙÇ©mâ-WR©’Oãš×Ü¡PÑ«lš½wQpçí”é«åâTO5*qwfº¼«E­î›ûð® pße²R ¢ +¡«è‰sTÃÍhQÔ@:áÿÞ‘EÞ‰˜î3T¨tÌìêÞ¡8ÑØ<.õŽ˜¯éò9¬0¥ ðRR,e4™&m’„†«òIÏwJ™‘p·——ùÀRhs'PþÖžûÍ.R}ßõ¹†ÃbØuù¢R¾ªŒÙ÷C L¬ÒöÖ'F7G»ztAìå[íÇ‹bz‡-ºak©÷ :.VGZ}¹êLˆÖŽf¢CÁùzæÒY“ªc"дˆA••S­·ŽÇKäxJ{ðüP?:î´Rë¾ï ú¨\@Ûð ÚPySxèãÂqk‚®Ša›±´Ÿ(Û|I~¿˜!W蘕zù?Å +š/¢¶ö€Å¯d¯­±YÍ9<öK'j !I_Y„Ø=üh€gü[ç"Äb¶:¬ˆ"!Æ}­F#äÛ°”ïòð¦ÑÖ k™ÊòDtžêAõ04ö Ñ•åti¿¿!T)´ï•˜PTÈ}16šu®øÈdXÉVïä²èüK3§šç´=vù;€„º³º,¸‹Ây³gsA{Œ×boG´îÁkãÂcÌNÅÇøéZ*;•°"Å +ÚQ¤#Î;ç(㤙OFŽ`ß›üvÓˆõPÑÅ»¹fôÝ©A<1„Á¥y¬ŠÎzá/k.-“»•h;L`/“9kk]Ê.X•4LëÊ‘uåðŸ`€|Šòƒ9²¾lš•ð†ä¥¬#àßÛ˜}V¯; {Nb§A +X=jþ«mâ³¢U »”ð-y÷qyƒüãí3ÄÐr*uß6q¤qúîï½Ñè³~¸ú1~赎>vò®œÄ{j欃 Ú¼ïI^oW¼×÷‹]NÓ®yµ1Áç¨|ê¿6è=ë¾»â( Õ¹,)õ V=w÷låx…êðOn7‚¿ï °¸AÑvÐb§¿…’¾ù›c9Ï™2Õ¥ïOÍ‘ÍnÆ8Ƭ=dÁ±u «s¹ÑƒŠI*5çA–}¯ÒfgÙå;``ï£ñ¤ˆuUƒEZH2í +“r³×Õ5“<®0 ;w÷ZÀÇy×ï¬ÐË“f`ø;†7Uh¬ó EY,),᧪•¯í +ƒÞÆ·Æ>YåËÌ’p W.\£ç‰Âª +-LÄü˜ì2Ùôâñî¹ÈÛª!A^Fô-i*S)‹²Fzqôáó¤ó0‰#ÌžÃØù†©®T*Õ‚Uu¡YØWH€½£>Ç–ŽëÀŽÊIÝh„‘5Ç3ª£eë†1Òqmcïai%¿‚=è‚ÓÓ÷n TkyC)a2¹IÃo¶,hûñžVÌÕ"ß ÍÍáé0„Ä/Ab¶ ¢¦5)’>1eáú½'Ù.AÀùë¬Ã>Ág”8¯G;&‘•–XNÛRÝšmüÛSoyFL×Mœ®¼ç9-’—eifwáÿ)'‚yy¯Mû¨ 8,ôÐ3N{R…ëNýf€…úi/(½ý•~£,vßØšsO,ëÝ…dsÁ`Õ¨gIFÀ„Œ¶'‡ÂU^FãIBm«“2Õ“”žë©äsF¥B¯ý×f¨Zoè 5ûü ó™Y]ôÅ_^‹‹ û²Õ®U&²(+GµJgTØܪ…tx‰¥Â¥£bд¸èag¡eÛ #YÛ(ÊeðÉ•xó…¯Á–|•&ûØšÌÎ?Ïج½[I°+‚‚DG\@ Ä%¶”ë;“ÁÈkÝȾŠ£Eþ# +¦÷$åLh^l²ú|&×64Üpã·A“ÔÉÔM½è=IúZh R,¤OÊþ}a.ì‹*¬ó|Õ£_ìe¡Ê\V'$îïCØÙ–ÚÎNIèÊïÜÁM}ÑvÀcÈ6Oc`ë Äþ'®¨–¾Ûˆ}Þ~Æ;CÃ5oà¾ÕÖL÷Ý{¹vßQßqƒ¶'í(ï"ô ¹ ¾ˆ‰Àéo}†¤÷=Í^¹ +¨…¿îIö¢ÕèÏ“›H¹Dõüå§D¡£Ê_Λ’‘oýOöAҎŌƒÛÇ7ƒÂIý´Ö¼o%Í÷ÄUh:ic‘fÑGfepu$jJs:‘aO=+¿aÚé‰-Rýä4lGÿ±J‡<»Î†;ÒÊ~õ–dÁkÖ$¾“lN˜ W›—P¼âq—æçTbiΞ©Øè Œ Ý$ög.áz/‚ª¡.õ0Âý/·MO¡¿D—Ô†ÊQvóÉ7Þ‚g €¯QþVT±Cî†oÙH'{î«h1ÎDr(µ½N÷ŠÐ}‚GÚ¾TÍèîRžx…‘=Ÿp\à–›ƒj7(hAˆ²pb¤jš6øºç›Iz/š¨ÅÐC¯™¸Wáˆ`\g¼_ ÍU“ï`{‰MzjüNÄX}g¸~ÔýÐy^:Úb3÷£–)Ãj³© +œžj&ü³Œ9£Ôú#›C.m+Q § + A‹¬ §fò €ÍÀ ßÌPtæì.Jä:!Iþ8D©L†Í/6Ë·êJåéc^ +U‹õ“Å Q1U Î…Üf:ñOãâètƯj rƬ%vwî`Wl­0¨Y£ÝKÃdXê]9iiXý)³´]l¤Wƒ÷=ý*ðï~› Ì7 Iûr¦ |#7¦ÉÝ—{/p5¹ +l73æâÂsK81‰m‰Gdòª¥§ˆÇã–apÌ2b¥`:+S±›âì5{ÿlø<ç‰Ö‘úl†2¯•Í=*A:Ñÿ‹ò2ýPüñ8Ûò{ÍÛ:øCcßÊ +endstream endobj 117 0 obj<> endobj 118 0 obj<>/Font<>/XObject<>/ProcSet[/PDF/Text/ImageC/ImageI]/ExtGState<>>> endobj 119 0 obj<>stream +1Èÿ”zÆŵ’eÍf©DA^·£Î{>ÊAéÍïV§oÇzÅÐN9àtqÖX€yhò/·FÐ"N†»¶à˜«²W’õöCœ‚} –„8V‡ªz¹­Ž¹‰ÌÒþîëðÉh]¾@u£vŸ¸ç^#mRGôVÈÍ©ÈÌö%g¼b±uñà;6$?-¸ +FúÊÁÐ#ÇVÔÅ Ý«+ºÀãN/3‡ìÁÃé­5µ=z§góÄbx­t›1ÝÕ[I‘ +²^rn4y•O±¿eè·^ +LÀ <[Éè Oê9SØÏ–ãZ«»).{-µ`Bê½ÑØ°Š¸BƒK9÷*ܬåûÇê1nMŒÞkÿ·±Ç€Œj ¸4²Ë¼îI+:¹j*Å’¬¡.h³þÀý‚å}Ô,͉Čè,^~‡9D?þÈIV7 ,*¢ºåò33ÉÐ4Ǹq½™Íú¡ ¶Ð<‡zÁ -hŽ5)n§‹ºñCÑÞ]¶¼/­œ3ÌÁ•H>ýˆ±M2æþ dRõÄ!kò‰Ÿžß=P¯¨0tH¹N_j±e”Ÿ2@—\ÿeêˆÛê±óX°Ætaé ]«›…)sÁ4ýâumE"•ßI›^ eÃ-×9•I+-p=çÍâ<Ï>LAóÏ@|`ÚM‹Ãm‰|G-±}P"A—$ËôÔ9k+ËÜ+~§AÌv“Ÿ°7ãâÿö">ã+Ê¥˜j–3eÙÍíêTewR†’ »å¦Ö\ý f!ÖÛ<Ð\Åïtâˆ-2ª¢b4¦£ñTyê $—úQ¡ “‹ý@ÔÀÕß×þ.5­DÍ>’¶CB,×ßøˆõ~¬+ŸkuÓ¤åya)Û–# +«Ø´Às«Nk[çÎ?Èð% Çc —v%¤I4Žû»T Wx.`KâRŠQž´£g-#Æ ý=ho}Ü”ÑV'š:¥‰¸9¬_Ø­f»>Ö^Þ„Ð:#»}“­—›dóáÎÙKbG¹Ï Þ9ÇV??v]´Ï¿~y³å³n|…žDAi‘×0½u4ê)¡Á:èèJ^Ÿ²Ix´FNÇ=¹¼1ç4à ŭ°îŠDP+ËJ1EpÀAs]I„ê#6ô%X5cu]zs¦&âŒÈÀª¯c£Ïóhžù6Sµ’ªƒÅLt(>±dI•‘CÆÔ2Ðo/€ô¥rbW§æün‰>\SYÛ>3ž:z…:ægx*‹Ý2¯tœ« +¢'UpŸ +=CRõ„Ý_£¸ÐÎÎ{&Ãb±ÌM}:ñµ"D¡ä3®×ûj2íà¨eÎÞ4œÐ{ãÅÙæÞ%@}6•Ì\cOX´L[ÍŠk~€ÅW{õé{äÁ¾ORT±žžF³ø¾¯/K¹Ý…¥¸3Þf¥¹àsÒe¹X»¯þáåOèá×£Ì\e׎ëᔟÏ{FOsa8œz÷XÎij~Âu¹ÕQ|ÌóWAÞ„n +HÃ!ù”cLÕæ­Š+@‘>•Rèš‹Hf*LéK9š*H[:wžîÃL`e`¼H€Ô­ƒÙ­´˜Žî$»dÒb<ƒÏB÷¾-¦FYéÆÆMs5™d‹w‘ä*¨´T>?tåV¡7»gîe`‘µøé %‘Oê á9Xfsÿ Iú‚êöØáï>p¡?0XïÉÎ6¨ýOÀaØø² ®ÏÈ8-Ùcë‹2;ƒ°LÉ­–¤~ŠëÂ'bªK‘\—»“„8,ó=³œBC0­7ÖR‰>`]EM,ÈÜKpD£,n³µÕ$ð’ÛmyeHhõƒ}¯oYä"B6¡ÓF-Ëé„©*ô:f¾ —tÅï–¿g”Xh€ÈPA€Þz®ÞÀÍ2‘EtêRæ5ý +˜9€§“ª4ÞC¤Ó;¼C€ÉÚ|$ÿ™}l}Þþ<æœÉö1“Þ¥yªHÅ y=¯þÄdJ‹ÉcrEòk¡‘*”˜öây}^]€²²¸V½¡¬ß#oq©bû!ùÁwea*1(ºæ[S%t2-Ö5Ó™8>õOŠ6xç!«ëuH¼ÝPü –o“Tô¶!#5º@t.ĦQÎoÓkOãDà÷÷R÷êCè‡4Éo aAæ^]篖Ô¬ÄÝw¦h“¬íã3þ¾Y¬¸¥VAE9#shIN+E8”ÿkÖƒýäºi¦&䀼öRñ˜MéÜÖ(,fUÎŽ\vZD©Ÿ´{]¹!vöô£à¬KÚIÏ­ iìèæ(„H[‘Õ‹»Îdn,!h0ñ–O%R¶ðS]¢06»¬¯ÚáºóÂ(Ú»¦¯0,A ¡\¢Ï4ÿ(Jº´SÖgÖàsû߬@@Å1æbñGßÅijc´×’1ü*‰Û8€…å¦ ©Îb½ +§aïjå ˜´`;$’6R*„ä9)Ç¢åãÓ‹¡[ð5óbršŸ$!ûFù®½ªÏP+ÓÇzqž‚Þ—’Z^ObÏÒŽ6 ÅLê[ZžLÝzStÇÞ X’ã=…•!¦Ä¦ÜAª¢ë¬öØì~lâB²¾VûúàFë»5k?1X@4fLÖ =ϸóÎ"â°DݘqW&!á'ؘSV¹)s€ŒP¬œÕŽk/PxfŠµu_rÑé½gÐ^“ƒ\ÒB75{êÑ^ÒÜfåò4*Öú­±£Aˆ¶”Æ*5%¥z»CVf Š3Ë êèF¯ÊPÓ0#¦Ç…O½!æ^ú³*3Fôn®.—5E!êòoÄCÞH5½V»–¬·[4c7Á£0DL%ç³jOÊqâbñ–&¿A,÷«¤x +™UOnh¼¨4#Fõ¢×wHùr"k.J}¯yfYL3ùüHuÓPDD·3/›+2'—ãα#Îçk§î6X§Ž‡¸pjW¦L×| Ôs<ó“(lwÚþñ2µ=jˆNy0à2ÆÀÇ[Ûåõ §]Éü.Gg)Ÿ¾£U<ã+@ÿúšøLl°CkÄ| +ÏÐ YJTÖ=Ú£1,¾Ôe*Œ $¨?½+ÃéÊ°ÿGÕ¡¢~¨||h!wDA¥ÉÕcÓ¯jöIy_ùºfÖ/R;†mž w'©·ÉÐ9ì2ƒ×[ŠQˆ‚b….Wcÿg³àÁƒ,8Æñ’ƨŒ©°±!v% +äSQ†0Sôû'k×ÁçaT«wd&FfåÒìñ‘h"b2c‘ÑàênXyCä_8óÛô1­bÁû áz¹~»+zà‡ÐÉŒÀf—šÝ *$Ÿê´Q?úÆg²ò/r§À5¡"4´ ‹˜Ñ ò¶”ü|"]HÎìRëúnÛ2;%Eu çáCpc¢Åâ]Mû^FT‘âj4úƒ Å|íg¡isAÓ +x¢ŒæåŠé¯JÄòQ¯·y +ñ†yœ­U0°l¦W +®ÏúëÑÉrÎdÅÐcp(ëß B¹œ“½Ç"#¶Ð±n4Zç" ѲYW~æ"Ïñºê@'f5šN’æxW¶ÿD^²EP ‰Ü]ƒrðµê»/wUSi¯Õá¤ø ã•UÅŽ}b3:Ú™™±À`‡½%œã¦…×õše˜k¥ƒ +£‰ZTüÇ`ù’ùëì~\áÿ_¼S\@ÉSè (âmСÜ5щË<ÿŸÂWjÈvÉiS¿#”-£zxèo¬â“^wüqNvÈι™{°{zý “—;Ø%çm¶/mjãB<ŠHKÞ€)ÑSÌÀý{ “yK§½r«ƒ.†zuzzzÚ‘½ZiÉÊ7ðÖÖób´“üäÎgÉOô›¾FkóÖ»µ_ ½Ç²eƒ&-cƒ÷?Dì'¯þ?ܶ4s"öGÊ«3$³t­Vâ¿T“«àÒ† [ÿ÷ët[9Eô¥]XßA„_΋È÷¹³šOÍUZóáµ0W—{¯6Jòa¾þÕ)脈Ë8Éš2 +¯‹yô¨Êæó€gOŠËD·ýä!oÊÚÖ&½¨ƒ=_û:£ð¦*Óv€bh:ÜÔ<ˆpÌ×w“ßLƒ—_¿ø—·,;{>»»Œ§\_ßR¢k| 웇Ädûâ±DU›¯¶ñÀ¢ãXé R-WçŒHå-v‰`fÕì­ypßa¸ئ¯úÓ6vv—î±APéL[oÑWåÇwšy0‚ÊR&ÉnÒµ2Þ>ð^:æ®,ÆÙyºÁþZ]ú1fá¹VÒ%Nñ“ýiYÜðƒ‹¼f¦ø0*AwÓ{4zäŒqä\'pwBlbÙâÀ~ûÖ7uæeöÅwo×—`’A_§Zq¯»Îe®‡ž`NˆsëîôëU¿[ޢǥî&^¾Å…ìNžHb牆å:2éEd˜ÁÆiÃ,Ú¤ø˜b0(ñ(Ž?†9TŸó͉ À“F>stream +%мq'¼–’4'R'ß×{\tÊNK¸F_O(Ì ƒÑoh{Í<®uðâÖùm'nz0Wýâã(]æœ[™÷…§ò™Bò9bÞ¯_ ôFwjî×ñá c/S´¿¨ ¤ï©l«²•~·üúÉ~Øôçˆm¥´qÂçɵÀ—Úae‘ir£¬RŸÛ‡xÇ´ Òðö¸‹l“;§í¸9àÒNUõ¦|p!òÑWà©Ê©–Ö‰ße™lˆôR6¨+Â@’:tUÁd ø³vc5GÈO´tF’§…ü´ éxãEÓ@ ‰"Kylaw1šc5nŒ— ;á´bñ“Á¸ÑfBâµr±N_Õ˜çXÔéò*567Š²](Ó\’x&ÒâžâÔ&êvrfdÓl’cJ½]Mj) +endstream endobj 121 0 obj<> endobj 122 0 obj<> endobj 123 0 obj<>stream ++$Åix ß“oÓSR£Vô¦oCnDí‰ÎVQ8ÓhdŽ)#Ì…)Š}jÑ{éÔ½»ì4®kÞ‚ó†H¦=´™éþª·ÉÅÄièûÊåfÆ„$-ÞZ·–â6‘L@F­zªaÑš/ßÅö|–_ê>Û’Ì`®åÒ§c÷SÛñ6t™JøBç^òd&†ct¹QËF= «¸õ©+’Fï8üì-»âBäLéÈXì ‰Úò¿È­NtÊÝÝm:S¹ +endstream endobj 124 0 obj<> endobj 125 0 obj<>stream +jÂÍÎÕø…Ë›Ùp·Wxë»b‘ÎHüqã+‘œé/Ü#ÆVMQO[4%~î P +h {-Îâ]0‚úÀ¶ÀÔ„5‚ÁÓ½ °m0j„…V¸ß™\¶VÊ£\(¤ìCZ  >stream +:=…© ò´Æ܇Ïú‚'­qÁe(ß2È}–MbÞ,"!Ä­Ëd‹¼*õý.k±È0ßÑ–« —Г|3ÉPQ¦ãƽ$M1ñ+ž1fè­pe%±nFO.¢CÈÆ—ºƒA4Š¼Ø>Çvð?—6ú}¨Xç“Ôiµ–éß6Ý0ýD3çuß8VÌÊdmÊWËžˆŸý¬Oé]àÉæ ʪOgÕ¼(D÷¯™\^¦².®sy_*×>ì=ÆÅʃWn0:)Sc‹ b5ë‡Â‹TùCãã_šHUû +endstream endobj 127 0 obj<> endobj 128 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 129 0 obj<>stream +àR$Ëcn!„ŒÀ y*y²PsbDï$ i¡bÓXûõ,¨y÷§`¬Ù/´uä—Ε¬Îd*Gö³™G‘:Z£-·QµVõõ3÷ÉkÒÖÚIE.»iö¨Ò¶þi†õ:8’Ü8ÁuÆؾPžSxš ³p1Ìœ™bZKdæq©õú6\jäVЯ¯‚9vŠ®0ÄÔóîVÇ®e©¢HI[ ¹XxÞå´Ú3Èþ†\ÑK•8_ªm%=±öÒŠ>S4I¡rA‹¹õ€«¹‘À˜ªA8 ÔsÑ¥C‹!ÆçØWõ?ÉÀ–ïÚ{²QãÃkˆ&V4Ú*®¤K|"x.šuv(î©ÍAaZÅÊÅÐåNÓº u£q¡èÍØ{°“"›1»ÿƒó©­‡DÝNƒw•ý%Ä]´H±1Ý-„MØËw´‡‘½Šñ»û(^ûh}7Ù=¼š%þw‘gn@ÏôPKãY0É ePb!³*Êß0Q‡Ö|Ã#N}K¤ý±ïUý©¾œbå÷I˜=Ûþ ‘Àå­%À!· Þõá›%ˆc@ç^RÛª…¦· Oœœ~2b4 +¾qn.Àw–ëWsÞ8¹µžÉ/Ý ÔÊóbõÌý¯ÎêøÞÐ΂é!½±RžÛEVHl|}üÆgèÔNÙÖüðѤU¯=„ ~ª³™×–ßâI9V¿®q|Ìúer¬2NMÇe³ +‚v®ÿ™>~ëàW¢½Ð–ÕI"E@— %*ö»ßΰ¤·þx]i—PKÑ¥"Ÿ0Ž&§جƧMºœvÂèàé&ô~G0ñíbÉQ·cÉ'œ0¡ç6p†¦fci‘`•[8Ùn‚CD.›ïœâºpqkDE¡'eŽÃCùÞU„';&êðdŽm-nƒtoMb[Ìû¹ß587ÔbÔ³Ê[ŽóœÒïÖ4¬%;×V^FÉn!¨â1ËWÈ)¶ ]½§þ³=´íÉ?5~…;Sú¿ý’úãëåî“2fd%×,(£@•ú€KK 8PËýÉõûg™…»õò~™óɬí_nøNXœ®¸î<缜Žê„‹BU2\Âè#\ŸnÞ¾x™bÎ3½†nÏÛÖ³\I;¶Jh… [Õ迬ÀÞ¼lÓ,x-dˆÖK›Ô¹ç4t»"û kL¨Ì݈_:ýVx$NFb=3)þÂ?™øÝ\õ¸W—k›b¬KÏ‚yòѳ¨ýǵû=›X‚ÕÔ è1nÊÓ›I/}DMì-*¿.B.Î(àçlOwÊeò÷•WJƒoHj±cêÉ^WÛ{%ÜädòfDR‘‘ "D6Æa>¿IÙd<û;…øàxŽ =bÑ~Å£›ì+Ï4«\”6WeøØœnÂ$Œ^Ó-§ =¢X2\ÆÓo7&…ËD""¹š÷à§÷¶@+"òYWL +ó³`(ŒÃ¤0· úÚÔD—aˆßÜQË}g +ÀŽ¤æ ÿWõâp¯çÖƒ?‘lZYhôï+S»Vôâ¾ÐÕ"Cß3°¸ÚR*N[Š&Û÷›c–û?´¢¤6ïLû½™ û‹S€ý÷ÿÜ¡q1Íü|!ëLAV‹ÿè¥È­QòŽêX±xï6ýá•›ƒüÂwR|è\ñµ‡áȇêvlU Í9Õ-æ,E½û€ç-~ó^+ûí^QA ×€Ví[¸µ_ÞçUánNõZêž—8Ü4\H]‹ "ª4È@9ÜZ<ûu×Ôï^LK«y?•9-’Ö/tûeüg ­DŒÇ4ôÒÒ‘Ká,,„õܶôm *—è±Ë|c1| wǽ)Ä3v‡„f1øW]¸wIé=™jv£@¥Ü|óÍç•eŒ( +=ºcrO]îÎë-™iÔGK&³©w`w+ÎÐðé]ÀÝ!‡jÔ8 “Ç­¦ü=«žRhÄ_ßu¨<‚]öŒœÁ·µOŒûJ­3)¢JæqÖÐ% rÕ l +’*{¨R   +”Dñ4§'³9ô4ù_fÊU=¾ÿz‡1PPâNª8èÄ¢©iE}q$ +›¹©¼tq˜…± ¬ðìfù0–Ù}ô<¶ (=ï  žèh¥ÈüÅ+`-ŽÜÑÍ`KH°Wñá>4D ¤øIrè´-/RÒøýçPf)Êï$C@8J•åq³›{ñ +›{ØPÇøðçô=Ë[ ”&p-ÅXÓ2p*n™Rž‰É¦POéͳò¥vY¶ ší÷z|h\Ö¯ýœ (Gë;lŠ·{w(+NÑÎÎoTØgÎ.f®Ï„~ž\ȯKÐDƒª¡)F6º_¥„áæ)¥ÈIXÃ%È$·7ü`ë „¤íµó¸Ä¥öý>ŸMÈâƱ¹ë! _˲"r})™ªéDû „¯`BòEbþ†‚„j/7¯rf»@«»+“Lá à>зîÏYÔ±¤Mõ ‹x›eP…}LÄ«DàS LDF|š´¸Þ·MŠ™ç­ù„Qíšîé\íM  ]³¢ŒÔŠÞŒH°»í¬ŒQq(Д•õ³‹RW1ƒ8áL+ÛUà) ùì  ·²[”ÎèØŸf€ BpFÔ_y,Z Ub_°õ1jÃIw¡¤ï¤ÎË ÇPpœ^ß|">dSHKzØbmE8Ä—f!FSË—2¨.ä2'„Ô6/Ø +Å ¥èü»IwYtûŽùO•K`n­Žñl~8ýêbÅ×aS2ÁéÞ]bTSZÄ*T‹@è±ÇîwfÍY ûk·„nA¡!LèûÌagж^fu–¡5‘:ª&G\m’\…ß'sÀ0%[fQµÐÖ£Á*~ºLhbÙÝ^;ŸÁ3,ÈHÊ\¸Paò²«Ýo‡U2ý$mo8® 6L`.Ÿåª”¦Üï÷û­¿/Óú/!5šRÇrìœAoõ‹£Z»¯S²”œÀ¢j˜}M`ÿ·Õ¡ÿ´dJÂ^-›ÎøöLR )™!ˆR•Ily’]kßUÖû‚­2Î*¯UyY˜ª˜8h3©Bj9øù‡4׸'AÆØ^|ü‚†Óyb‚’C#4ZÜ®·zoeàcgÓ¤Ô×øžj½q6ñ[4œüv‘¼{wvBþ¥ê"ˆ &ù¥š¥óÆ‹Ô·ÈÜüg.F «›§÷Ài®4äB@Ϩ’å”&3ËTæîJ®ï€ T§œ)‡y*äeéfê×û¬ð’¿ôÃÏXµ¯©ùÑ@Û CP +;dyûà”nð¥–Ý܈¬ýlúCø1§Z2ù$`q ’jö[ø•ÈOÁ°‹H‚B¹¥CRiƒÂj¥ê½ŠcÁ8H³°œ¯cjk_žCt=¾Ó¸éaöÍÙ‡äy²±Ø,eäum~ãø ˜È”®b¿£ÍbäÙ Vµ®~Ô}'¯œ®M¶Fg +É@x¶eO®U¤§£E§;±8íχ¯´áyìN­ ¿VÁ®úÑš1Ó‚sžá? Þ¦íÅܬ[vfÍ0ÛÝd­aômEkWª¦L·á„i áL¼È^ r?VW# בkò[¹¹~GÖHe>Bý‹cBÃÄ+åk?¢ïÉ/_Lˆ€)×èØU˜P¥g_aæQË× +ÏgsN²{-üo$é–y ¬HšH›Á\ñÖ”k±¾Ós麉JF´øòiHà÷ƒb®²;‡–Ãÿ¾Àý|R'órê® SêvRƒû¥²A …³ì`[=XÐì}†oÿaÀg ! =Db“‘ææ{™tÖh¶éµ Ô©ü«»[WnåS¶DÝ“m/Ns³ù7œkâÖzAâMÍÿ`'/×¢™Ó!•I ±SEš[ÑS2“«×7׆`­ªÈ®“@ãÊÆ“ÓŽ +ß&ô½møØ:ȆZ˜º€umÎà ¥LÿISÒSüF5²L;¤•:lV‡š‰*Qb/òÙÿ/ˆ9}ÄD°ŒZõôâ âùW/rä|ƒÏDý3Ogø̇ôÙâä߈ £ZúêõVGÔ¨:ChŽœ¹õ<¿hÊø˜¥¡$k‡bcl¹9IŒœ_‹ï°7“A×®žðs⤹<Ñ,e- a‡y45¼ªÔÊ?P¾÷Á,^Hà*€A± â +;XAý4­Ôu9RâªþìýÝHÞB¬Œ£KK9o¡å¡N²'Þá¤û¿šêbÁr0š·XVºê¹ëÝ߸ûV°ôˆŠïdØ‘ò¤#9õ²Y/X‚Úî‰÷ˆ ÁœöiN×+˜{Ãbòƒ¾mîñ¼ÿ0Êƃ‹ Aì+OU•ÄQ>cöÀ8‡iu<Ž•u9T‚ïdÜÅp|–Gí&øˆ#ònÿŒYôb’nç#R|ÄñºöÉ‘ ³¼p).ZÜH´ îš­µ]7AoŒ{c7Îó ýóo¶¢‚‚ëtH׫ñYÙԉ¦š«]ëú¾€2F¯Þa¦ïCÒ’†"%‡œŸÓö°LÉ[_çx¢H:ûž5ërÈÔ0tX7á13ÁZýÀ”·IhY*¼s"°PÞ—> †0LÀ—¯Q+ëÃÓ¦&ïAÍ1òkCÓ8 p˜Ã\îÁ…"âæáÞ á?w¤ÙÍëÚ,dÒÌ!® ¯2‹t… /¦ µ“®dÏ3€1©€å?­ÜiNÂ|D2MÐB+¯ÃV „ø|“éÐç1$ë³I/Wšžò´Þx™Gíqm§ò|N&{kñ|”²md4±ž-V[ÑXÜ +úå9ò+‡ªs\¯ZÆæÒµÊ$¹( +Ö×­Ž´!‚®¹„½YAxû~[Ï/íïuŒ° ë€óuì\íƒ[žáYíÀ®#͘ìEùÓú {:¿j{\ñõÝç‚tÃR7ÑàÚ²FÅqW@û»Íév +endstream endobj 130 0 obj<> endobj 131 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 132 0 obj<>stream +º;àn'i—#3ÎY€yÞ_|¦;[œ¹éNöímÂÝZžú +LEWçsl«Ó¤³+Í,çïמòãìÜ®ïj%lzÓìí1| +êŠfŸ}Ú…ˆxI*5Tè~Ø­/Óì¹JjÛ  ¶¦ªýQ–èH÷uŽ¬ñú†îÝ}ï¯mÕªçÉ´ÙîI¬«äêФ¡É‰ÿm +¥è,Þêiƒ€þ,H ªy'NkM¦LM°Ä×ïXõ[tæÎ#}屺ÀRˈBS0I“Üq¼˜uɱ§„Æ…ð¯ÌµªI¥ùFšô˜ Q³ú›Ö/ÞEô‹òu¾¦pÉÏŠ›ú&‡1²›° ¹ÏœÅþ Nœi–~jk€ìÝ€ù+*n u°£ÉçÅؾhìöT%[׸2›Þþ,¬©(|íJ‡c޿ˬ½°*3RYätV¢9`j-f—*C…Äÿu¡ãpÎEèªæÄÎmÅLÚf°/ãÂ'Ð %VìiD79ÂL²ÒÉs!¨W¨˜éo¤tPj*é/`GCJú]§éÍ8~›sãDzÀu°¬ÍÏ7]•ÝªŒâª‡iܲ]ø§ë‡k5ZŒ\ Ñbw~øOlTá“>Z1¥ü\ŸT ‰e¾8맰ÞoþC™‰V󕘢>ìG}ß5]¬‘A^zÀ$B3ó%nsÖ£‡ z‡ªÝ)ÍÏžËÜ|’Txæn¹Â¯!šæqPà\磬á¦*DïÀm›«™"Ѓó7W;%NušÌ†œæ96ûUçgÜ}M‰Ê<ÄÊ;£Ûz¼Šsa͸ú &Bòó;’`œøGTÓ“¨Š³&¸­‰Á2&ߪ6o4Ö€ÈP&¼|Xtî– +ëc‹ ·u'Œ½oÛ×Éš%/•‘Û–Å7à¡+ãiF +\äûgyjàÖ‹üÖ„FdL ¯8ÈãKlΙº™d* +ø&‡m$ÖåÑÚëZJ´·,Fà…@MA‹%¶óbSt„,Ä ·®àmIÃèlòYBÐ ºVDÀ8ßšÌý¿ÞéÓìùHá2Øì–-Ù]ú'µ¨I:x@+=>I˜¼‹'ç°$¸ºàõ$£‡ž‘\QÚw\@NP¾ˆë±ë[¿–œ×¨«°¶ƒÑÅjÜ™éI]Y4á#RT™tOg[0Ÿ‘ôtÞ¬i”ásGíOÀaÏ$PAˆ5ÖòÖgj‰öùìÕ½Û¡Rß­òÛQ=4–†"c„'Ú·…jVmË'r«V¸n‚ÓÏyC#Öÿ­¾Ñm«Ì `×½c†"í#­Kw¸Å Ú˜Ô÷ª +Ò¼Ô)³_QÚ÷™&F€e^šáþX‰CGºJÞÈÉsi6¼#–'E¿˜Õ{™¥³¹`â5í MÁÖ¯u MÈ µµ7°¢DûÝPòÕÔ£‹ðöUíá€ë3+òl ÕdX(ìBþçžÓìƒ grWø±Þ†Q.¨õ¼6I'ï@«82Ÿêä`>ø M>ûÑþsEg}DJ+µ3Âæ|öžû{“ZÈÃ#q–f䀩ppbaQÁ‰Zc¨:<íîs~L—²°N¢B +‚ŒÅÑ–7Í™³îæ´»ø–Î#èž]@£4ÿ×HÈÉ´'Я²–Pê–f`„ƒq¼¹¤“©Büï?(‚Ï2§Ìb™hµýpèþ!+Gô*IÐx,'=*4þEþ–ì½·S鈛eÎ&¼}²¨5/¡ï›îMÔ·”XêŽ2o‡•$«WÒíu’•d#8ë +D,ç®lï»÷üdj}6-M'ùÉÆfÝàÊB ++ÙÀî4ÉPÚûˆ¨P£¸J”0d +?(Ÿ¸r”êb‰T¢Ôr Q|]I•Ý£„ÅŠc³úö‡0E8ó~þ~œ˜ÕA¸8)ª.™½ëoîß`a]ÒZ™éǾÿCHI¯+Í5邹ªYûó¢ ýª'ô'³<_!ü ·ìº+sÒÞ!Úº^ÿwJ¥˜ÌvC¯«KGî³ 2çoROÒõËäÙ`bbÿ¹×^«ëòE ¥¢»°[5A3ÿóëF"\ˆÙ,Ufòö‡ïºÓ»¾ýí|æe‡ÐøP$ÎÌN-T BP`Î/ê5—€€°üñÕAùŠòAˆDÁÝa·ò¤°bAK´×Ÿÿ×ÇÄÇ}Å3[ïNœä\‘ÍÌ,sŸò3#'æQyºüªÕψ϶â̙¿Ä[´m•É³Üi͵rå}y¯[ pÂݨód+Æ›ué¢'’W:ÆŒ¢0ûœ¿@ãŠïvE»tùnÄ©èœú{4ìº;ÄË4¹Î…Ïefåó/i`´òú <í,¼; gÀk4žŠ¥ùÓÄÈ’G_õy¾ñò)zïJR1Õºå*šrÑ™šEc}Ì<9ËÛxÀ9ð­Kâ7Ñ¡3HH6;L3¤¶,+~œ(‚ŒÊYF"ülµ/@=€ã̉9²«-Á¹ÉL0¨ÿ±÷å;Ùšy”A6ŽDIF’$Ôœcú¦.OȧGUè\’‹ •^þgH£Á8<¿ÍÂ5þ†"™è„œñ‡ªVì +#4çkÔ@ç–²æÝòDÀlúKò&Â&Õ›5Û ‡Ø,l¨Ï‚oà &4÷3ÜtB·—J(Éö‚œïa*†F²håI¢+ÉÒÚ̱pµÆjk“Rít¬辺]ÖH¡×Q³M3°D½gÁõ”q(T(…éo<;©u4zdBþ_ÄA4:"žVE-–åĈԇO¹À–îODà4ÚªøQ3T¨ØP£- š˜×wýÜ% ‚´k‡ÇN.?xhªo¢~²òhØ奫é]CB B·èäap»ñê; ZF›¶O ¼b¿¶ éG÷}X‡J=Æ*•_{kžFŸ+ïÝ`Xƒ xÙ3Ûþ1}±œ»Õ ¬£eÕNhÈU=_æ])[-ÇeÓFdú—-4×&­«L«@`"ê¡hÍ{¶cgúº~‘CŒG¶2s6×µ -NQd'h¾QGÿK–J`’Ÿ7b£y i;ÅV‹)¹ÑD˜)sˆ_ª æ%¾”ïv.z«-¾B9 +«ãÝH2°/ åÖt²Ïȱáö1[dbÚöUá«Ï‰Ø_rD {o02Ô&L´t3ˆ… +ô±éßR1žäyÒùšê±4¦õ .WfŸ)iïØïU7‚ ¤?»(Õ} 'x½›:· Í2R˜œó5d=E®ßÍSÂöñѺIu§—½0#b®ñùÊ µ»„:„%©3Ýc¸&Å¿ƒúÍhH¹V›¼Ž;b@[-„Q rW©0NˆºÑ?·áIÅ=H¸ÿ.þü°Úšà9Ü@6Ûvž^tå0-æ:ÎèÔ'j‹Ë5Ø蚃võA=ø«‰ÝëeÓy)b1´J3ëþÅÈ‚åÞâ5±BÃQʲ£¸CÓåy·îSäÎÀAúE\„mP>$qÓ2¯ÈPwäYÛ0 pJ–Ÿ|©D&¥=ÞÛ"ØžßÜlÝ–ÜL€C ˆ5DPmTìο4¾¹ñÛ3üaPY +·ØÖïãÐ ê´“f­Ë |8À'í÷Óôe oYìsÙ‘»Sìc÷ˆØwCÂ#‚V±µšýÈé"ˆÀÏÙðßPgâ@Àk r:zñFÞÏ„.¢Ì‘wy4_a’Ò HÂVX¶Íö2Þ¿*38º †­f ãFɧ_—5ر=Ø·^ì_Â;¨ýï™»ØW£Cû˜KðÝr0Ï9ƒ4DiQ¯Üˆˆ¯U¢9טXÂgujÁ0aT=m P‚ ÌÑ°|ÙÔpÒ*.×Ì$…¬ÉÓ{1Ø“·StyOb§ˆýOêßY((£÷wÐ΃‰Ô7µ3Y¿²ƒÓyc‹Â{5IçYŸ%—žÏ*OÉÌK!çYߺ¯2V÷A¡lN+½£v¢©Åîù¥Ýíð-ÀjƒGRaði$ !;¿™©ä^Ù|‘â-»å··‘ù)JE.|שv’`h¿²rªqÃdAÝ826Ü'r>éßj=g×Ýó#!Gýþ;ôÚ¸­f¨;l´â7E–ÅÆïÞ ›®š +û¤›æ“#>{z± + ‰Ö6*Ó¨7 {öÃÜòyÉf„7OÚ)€Œ¼ÿu!bٖ๨£¶&/ƒEE­)Æ3´É´ú,¾©vŽ‡‚—¡RIC2ª_)nóLø‘;&"¼ŒÈ /ÑÔ¾_ySBjøÏ5“JÜ|¤\¶|Ä%̽™:J1Æ~½ãp)ŒÅ2Vì™"‡å0Ühœ'ÒÁ„ŒIÌþ¬4ü©!5ÕIqe±5%WÀ .O$IF½AzBþÃbŽS1ÑøŠè«ühbæØ4áñÀ½Å-E-*÷B#s9ˆ´aR¥,°ÂŽëŒ°%׳„:k튓ֳ4œjæ¬<L çƒ÷)F#S©´ EYôËq[@.Rí¨T¯ñÉDuÛ¿òJ£ôBßÎûý¯ÌÉ8$`9G†Çêí?)²me8„/ÓUG˜Á 1u–”&ªí ðÅ|Î÷°l’úEæWÃó.…32‘˜!¶•{RS}NejÛöhÁlÊÜGvûK´°ƒf稞B•7°êX4àز$îÐËέ¿:‰;™÷”OÿŒ± ±©sî„ŽåßáþÍäK’)‹j`‹»™{C1[…{¬ûaLwç AÙ:c•b.„aÚ3–boEeÔ»Õkc&iú¹ltS¥˜/ÅoÇìn$› °tE1ìüu[’D0|hc2k/áGJgLÙ]½üoSˆá9êõ•fWɱ©u™ïö™uSzF¢Mc–„%å¾Â ûaî„cQ/_ü­5¾ç½M¡Ö(ADùMÀ¶­ºs „H?i©()°•FV½ ®q;Ú¤eÿ<)èáRzK º4XÂi<y¾s—¯TÍU;À:Ž í‰ø7u’µáh®f¤Ö¦ü„¶­HŸÒÖIâÝ©s¹šè‹¸­ë—뽤˜E½^{Þ|áî.ÕæBÚÛŽCŒÌvNBžï¤Â úbóøó1|¼rÿÇûõri—Dˆ3œ¨ˆøn¥pE¾‡‹{rèñº‡þýû‚„¿Ù89lñUë^e¨é!•å‡Ý)V¸t -eËXLî,åKèÄ,¿5Ù.>³3%ë^×zû-Ò€w*¾G<šÍ:žŠ,útØfŸ.\W¿l|Š¥JÏöFg·9 Êü·ûQ+#t´¨žNo ¦þ7Í]¸¿‰ÞÒÔš¬›ô>”*Ä+PºÄŸÆ9)" ŽM(xz®zd.9Bè¿FGÀ`:NÜêökÙT·³ªÌÔ»hIÇàò¤…KÅÆ[ +õ-ù¦Ö31]CòDþ³€+—7Þ)eŽ{8žÜ=uêYYŒÿFø'ÔAg…¨¡úUÍ‘­XÝ̃é6xaªZú¸f¼W"c$Öº„a 2{Éi»ßÉ‘¼óZ›8‹*«ˆW>ç‰;LPó Vº ¯EV˯÷,óm$¯×/%˜!&½ºg+ ¤F7 ¸þ“¢vkOHž›°>3B¼ÆÓ2žΙ.ɼÇþ†2÷õ'‘ÊöP>— &ia<ËÓud#J¦)¡qKÚog$ÖÚhG”cƒg «½ 5Ñ _$¦Kª]O´Ñ´£oiå +endstream endobj 133 0 obj<> endobj 134 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 135 0 obj<>stream +'çöÀ{“ +'vbdÜà[¨ôoÊɵ6u²É.FÉ oÈú¯¸­!¥6c±ß#ò5X³ +«sö½ZÅÊÉ韕¿j5]v›oÀeMÎvü©E¼ŠHî(áÐ òáq,ŽO;¨k¹·¿Â$Ür*›W‘ÕÓ¸MÖ•Eœ2ª–Ÿ«2Øæ´LWþe4›gÛx^¹Ï*ñ®%èÂùüøýÁ;p/ûì~gœ¯ß‚ÈñÆWº¢!üEÁæ ˆ˜¿Æ_­á¤Ð.·ÖÒ#ÊhÆ7¸NöÕ¤'%VaÇ©¹„Äš NÂ]Ò¡«ÿ4.õÆ`ÉÐ-àTh g6Ë€ðï33nÜ9Hš½6Ç U2$Y¿Þoœ©ßrÉ$°ŸtžòzâàÌ(ŽÙ]Ø$K Ÿ¡øVš5%‚ Es +Ï'Ln5˜‘¥þš¶Ñ! ߈§šÂ—…¼·k´¹é² ߆JcBª@K4ÜØŽ t ¿‹=æJ™¢]Ø‘ªm#rÈ-\ ÐͺÅî'ãã56¬‘[:·ù^3(H=T>YÃüPæÉzceun3©ÿŒs•Üí'¼®ß%í]lg èŠß™éº%ßñ¤†SÞº¥ÕL+F#ڲȶÝæùÇŠÖÃèá+˜Õ´|ÐæåÒ7]ö¤çp¯S'¥°»eck‘ÓÛ1ÇÄXAGçßDÀfDî)`¯‚pÕ6L̶»Ôq¼«7+C)¤{€y5þ€Î/v©'ñ¼uì£)0• Q +ê Í#qY„î¬+¼Ê.õ`EïÐh§'Ã×4ªé’=· (r³Ö±w‹1‚-ÉÐax«Ë²‡‹Äðih4L~µÄ9Ö³’KŸ/L‰¢ßD&9îF›Ád¥Ð¨MÑ%ÝóH U“¼Háã¬Ï-áSj~¸þø»3AxB¥‹Àûh ”¤R…Y P¶uú%Èô汘PñªV“ë í2j©‘­*óêâUç4uyClÇÊv:ó›¡êé&­š©Ó¯PóQ€L-Ì ®ƒ?Ѩ+ï]‘?k¯9ÍÃÙ@ÛX[¹ÛRHh(‹Pâéá¦ÏSm•=¾«ß ÿl+R¼zFÆ~HgB–¬Là> ¨šãpé²8´%ÒùX§ª”¥mîÔÆ,•˜Bñ Þ¤ÎÕéI2C*l‹cTëUoü3I(U­R½æ½ú[uåµ d—(5°ì–Ý›€$ÁV^ÚôŠÛD¼Ò4J3[ï·#X´È â{òaàq·Nþb>ÎØdüîäå¼Ø£­Q²ë¶‹pdÌ8d¹¾øc´ðMËèœæA·êÐeŒÝrö2t¶cS ~ÌÜXãÒA€Raš­e°|}.d>‰'Ãâ¦à û7ÄW¶HéŸ!Du3ŒC?9MŠ¯¼ ¨ÕÝÌWþáKæƒ]f!ÞΩÃoœçe*ñùµ¤({ƒ^Í;RkyƉþú\»Zü!.ß¹Ïã¼ÿL¯>1rªž.šÔhÑvS_Mæ=j“ÎNH*ØxÂâÌ à£ì(ð>ÄòÞfêƒÒ\ +Û'/Þf•fñgܲ³__ÈæÌ¿Mô¯4óš“&#>Š±Û{mÁÝ5ßð®vöiQÜXüê #p|^äjÄ!™:ýŒ(¾’(nbO É?pEñD‡«sÒTHf-€®å Ó8b¨»çWeTOTÂ_Â*Íõ¼}½'®…þ’ɼûâyêÛÐe¬á¥4ƒ3W ÷墈û`J'„$cHÁÆ¥’êâyÈú˜ƒb²Â~‹›æ;æÀÑÖ4WîÒäzãèÌâÃLù¾þi*¼*ñ×ê?H_΀¡%*À$«A ñ‘æ&þnº P)8yž-·yäÉÄÙÆw¼¾h熂ô««AqâøÙ<¯ÚãJ³V+(í_qÊLRl£p'Û¼r·Ií4õ„y*»·Î“4/Ž!î] ¥ÁêÂÏ2íŒÎvž_ê c­¬šw?gó7–ÂòÐp*f*K»É°ñFîIóÙËcjvŒ”j#· /x[…A  ªÔÁŠ¬)ôž"Ï`O~¹|:ÜlàŠÙhVÂlsÕâWc,Ý®’õW TÉã3ÕSËü~¹šèˆû€1_æZÛˆ(ú„eSª+ÉTi úñ°‘^•Áµ—"Þ¹y ÑÙ;‹€ƒj1-'¦Hš;39xÚ×£lƒ`Kí€ï8’…¥JÖO‡4|oÈÎHÁ¯Ø„yqI»¤)1q»]ú“Ò{{œ*F;ךm ¿ˆ–yvpšUµzYsŽø…JËa’É蛾+O£8P Ùø°–Å´è¼´H!©«×kÎ./ßÖ*Ñn ù Þî¿Þ®ÐîèYÁIº‹çŠèµã4ë§@Ö‰„Ú0§k<úRr£Wñé=ˆ` ?l«˜%pîv€ñÖB­.øµ‰³ü:j®_–K³,YÛŽ;X–Uxöyu¼Û[”U”ÙŸÕ€¸H¤À¬H +,DS•ÿ?”U¤ü×åjÌ_uŠ¥\6ò¾à«Ò;.”ü‡W¿¼}íbš ç¤iRg×½æesFåÑWF~ÑŸp¸õƒíµ‰é4\Uê+`7“ôÊîáH(húoê1±t‡̳ŒåÚÕJ]g¶ðqÔxk’ Á¡à%5È8 +­õ´ÿ£•—÷&kÕ™*'ùèuÁÃ'™øFæ¹Sps‹VÝè)W¤Ðò±ƒÿ)sÔ©A`üR{°… q½ˆÄÉð-Ó*5WüÊòu¢×q1„¼1á4?ž8Õ»#ˆTœ 5¹öãïÂB##×ßòNü%òÈ Ø·Ù‹ƒŠ€d·u.¦­p|ù­²U`gZæË>kØã㘺¿ÔmK€"Toÿ½Aß3k¨rzGnƒtÈÚZ’[eôÄJ.¨p§®«á(ÜbçšÇñÙ8,öë™ÒímñeH=5°AóïOýOK#«Ä[MT4“é¦)-q¿3ÉØ’Üm%rœO¤¨$w¾ò…À +) +õ¬ç(ÈÉò‚p¿Æ‰DF´Ú+ 5ë­k&Á4#·÷I˜oO &ö±#* øm÷{¦çmO®™˜²¦á-pz¼\ ´·¾4•`z/‡è¢‚f.‰ +_¶ràq®öÚÒ&D‘œò[vé·¨^§ ÎÒ ¤º`»éÊÙ»ë¨s+4ûw¿aP³7Àט9}Sj•35rN_[7sèÇ6ûOÙ`å¾#F’ÂÂÕSѤ{;γKîþY.èö¶&t[]è즉B¢Hc~ï5×JÚ ‡¦U’˪Sšèõ„#+Éþ?t_°7¾²1 ×뼓?ÕS¿îöÑYéwM?wžuRñ´‘NÈ$ òF÷w:!Ã$òÂÇœ÷aIDôüÍ £š € 1u/ïúg¶ÄcËãUy[•Ô˃`)÷š F>LËK`Ä·mãæ·5W)ÚÁ9ðxvLŒJÂV¸©ˆÙ£dÒ59JŒ3;ŒFš1VYD¸ +™‘ D½Íj<ÑÉÍ9ÙÃmÇrV@®ÙGxõ[ŒC÷ŠŠD¢³ô ™fÝ¢¥ß,Ÿ¬(ô#Ú×çV>«®8šË—ƒ,Šzs¡¨2:Ôør3ó·;q“e9nî„æçÕ¬"+ÖÈ« ,‡qº°…€$J?“ºßy°âïRöî.:^^žC¼[šÁFÕtò?çù)))KNúð‚™yŸ^™÷·ïö”CÍø’òäÃ_®Ž .)é,‰iΰ9¨Yïä;™(Åí½Ìõ~姹å˜õ&txf‘} çFŽÇèc?y(§³%s}RNâ ÝéÖ&ÒÜüň6ŠÏU¼p šKíŠ> +Vë–ª“A}ópï" +Eóq⟘^n8ª •Ÿ‘¾ysçèÕPä°,ÂðœÄÌÕ½™Ú6P•_ß"?ÿiþÈUú6vÒ¯å5NmžZÿ0WiMž¼µ*fü€æM®É%‚Þ9Üt±l¨Á4¹S7/Ñmá J/:5î[å ÒRb‡ÝÜö,E-ª †lÍf°Þ9cÜ̶¶ÏTùË#0®šÒ×ûÂoD)ü#²¨]äaJ­Îz«òg…OÝ~阹$UR']×>Ò¥†cMa÷7¦g®L'—+ã¼ßÎØ—B .l‘kÛØc±6óó.‰þ…˜&ò;œÃ|ûut„㻺òèU&p7¢Ýd~êpÆY¯#‰­~ËÀ§¶ z”ÓLL0Ó;ùRy&f€=>mPHkJOD*¹-¯õLLX¼œ)ïD!°a3Ã3‹ÔÿÖÙ<õm}R:ŸŒê—eÙ>ýÂFy+ {ph`™—¨ìÚOV@Ò(þ}MŒ Ö'Ðê¢pனr)yQcjæ2œÉÜ{lÏZ€E‚Zaò²¤î%òMptÜÇ„FªƒÊÅñC±»³&^Ù#ø‡¡OÀnæåá¿.É´wc>µÉ¼ÿöIÅ`¢§¨Ld8¦SÒ%˜²SÉ?,°ñJIivòîë /*ZƒÆpÙäÖ{÷·+ð"ô•)¤áï‹!cmTŽZÃߌþ®®Ù(µŸÇ$4W.Èj +DñäabH*¢êo…9•ÄOPÛvd‹ÆSáIcO6ÊÊ™#›èë”°¤‰ +?¡2J#ÇM],6¡)‰øO%§ûwÐãÉn«ÂßFœÑøÁÙ²è5pŽÂHEæª!²>õ«‹ìÊeSòþú´µÄ+Á;Ĭ>!ëSdF–÷¦àWÔ‚âs +Wª>ìiª-™.¿fé|‰^1–,²oÈlVI½¿çqýƒz 2ë$“Ω<ƒó&“Rüç™bŠñ¶‰™Tõð;š‡Åk@4yÞͬ×ÜoO¡= æÒ}ñ·P§«ê}tñi<.Å+ß&PÚN%dJýýQàœ›ãõ¥÷uŽçÝh°õoÝoÜÒÃÓŠ÷ê¨íÁl#d/]™³üZËâ¾ Å¡[œÌZú€±n»½µ u ‚¯¼m‚n5ýµa Ÿƒ} t§”ðR–LÕ™ðëðÁˆ–çKÓ™ZLC 8ôâ¨Bö97¥xe¸PÆ4¸pŠ™þ˜Tu] +,søý<–ÃêàÃŽ8ZHTŸ©òÈ× ÃvO£Î‚Ò‰GÍ!G 8é—Ü·½È¡ÚéÊÕ®‡Íð[ã1,ËÔŸº¾ØáÔ¾;j•|×XY²¾ö°ûU]ʼn¯?‡‚£»µbϲƒÙh $ÿ* jvÃá¿—ßùp G¥€TʉR0œvô D$â€êº8>øùÌBhï5åµÈKV–q`N˜Ÿ ŒÂî‰{›#Bt¥`N˜_m‘c±†x5Ÿ‹q¿¿»k”Óû™*•ªÒ¹Ðƒÿ\?,¼ã¿c&›6U6hÂYFw!ƒyÑ +endstream endobj 136 0 obj<> endobj 137 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 138 0 obj<>stream +f“ÉŠTø™ìbÏC°¤Å(µÝ*·`­1tÛÜr„Ww"œ;BeÅIáŒýZâçgç©ïA"n‡ê*N­ùùðÊ%Ú£On¶Fàq5·oˆc‰9çH‚³óI ëò¼¡RÆœ4dƒ9–A]E7.ÿ¦áî :~GÙ« j“€Z'\ ëÕ¾¤Àš¿+Gáæ•aà £de¿œcÛ%fªˆŸ1@®‰ ™4.ÚD.D a•5µómùç‘:?t$ñ,3*•åˆñZb ­ùPg×ÕÝ*#¨²/$]³÷6fh§¢ÑÔ(Ô^9JÕÓ»­YBH•R%%·ð° ô›ÜšT$~ûÆ)°5²Æø sâ\/8ÈZÆÐQÍ*aöÇ#ÄÌPzªÜI–$á_Ñ3t¶Rê»{‚¨ô3ÙGUÏjÆå ÅГÎy›w±“™Úpw½K¼UË“ï=Þ B6Ôô(ª¤}+®wÞöŽv·Ì›Û“‰ÇßÕ.…dýâdŒŸîŸÍSt<›Eã y€{³ŒËÂ(Žz +ó|çŒðéÆݶW¢ÁtÊ'`ÆàõèŠ_ˆBLÍì'òÉìù: Ô:óÄ5Y´õ@-­þ‡JÓûi¼Ïÿ6P>l£˜ßç"ëå)'>‘¯‘ù¸…wƒíj®ÚòÇ}óŠ“F÷r¼i¢$2¾^eÖæïÜÅ–ÒŒŠzÃðÛºÀ„ÜCÁ©ëjVRNæC\EüdœPèÙ˜ã!á­ñØ/IÝ‹–Ûp÷ª©™' Ci?ÎíáÐh€üV¼`Z%±øµ}¯HÛ ó +|m è½j ‹ñß±¢V²ÐÍÉöGi`…@øû¤>-ÎPò³ÅÙ2kÒ¥$,±œûîÒÇðnäSäV¯—s_B'9QD:¸5>=Ňݡ`YøÃEWí!æè3A%Ká¶CDl7,A+^_^4E×øÉ5³ÌÚ(æHÀS¶AoÆÄÞû ++A}:ëx©lXwp¦Ÿ@3‡åD7þWxwJðsä: ¼&õkæÏB8Ž&Yfð‘{ƒïð‰ á5Û¢§(<9Úª!Ž!;d£þ^›E#RHj¾g‹ÕÞ[ëcàñ­çªô–¬vÓ~!_ÞU¦²¯è=ÿk —py"“ß}"dž×øErÆÝÏã‡Ð¦!F“h% + RNG6³4eoÄò¬à¬‹z» #©®ê¾®Èã?­ÿ‚‘ ³µ¨G\åZ±H²d#þIjÅó¤ñ?F‚ Þ¿Ÿì“ņ†N'Œ^+‚˜^,ŽEƒ^CAè…©wyÀ8¤¥hw¹%Lo5Çpu‡ôv©OG†)ÔRKp‡ìÊhÆÿâ'¾ÐcnÏo>›vÃéF™%É1JWʇÞ=Ê–-·CwyÕrK‰L +fó>þ /xÔò¾ä[lyF©âgNs€ã#¡r^;ß¹(¿Í}Ö†S#mA-8!útÄŽÞŠ-ǘ‘ÍäæQé·Ó£ör7þá$  ¿!D8ÔXtnÓ"›H\°RnºlõâºÂ* T{©¢Ýß1þ*"¨Ÿê«—÷ ©VÇAK«6NÞÖØ+Œè';(0+ÍœÜ툕° Vh |=A§ â¬ãD{¹Ð©øÄŸûÃ÷x%2éÀ´SõZåGü +´1N‚Í>Êl`îQP +«!§LÀöÚÌë ¥vqø º ’>®µt¤-G€ô²é+ëm×À¾_¥R&ŠÕCOÂ4·Ã7Ùy>â8¶ñãThj ÜCJ-yƒ d¡C;Ýo—` íóöŸpɧ÷¶¨~ÿ$šsôËÛ÷J㢔¸éN{±ÎyAÖçt‚{'ŠyÝxϲµ¿*‰³ùÙ@¢•PÔeK ã©;Ñg¨ã¨¿š¡±ò˜vüÝY•R0ôH»‹êµ \w§pÅ›¸¼[YHœÖŽˆûf ˜l½Kij¥Å ò^ËÌà›šöÞÀ<™w"s{ìunÏÀ +ÉMÐÐPV‰5´™¸d4Ÿå`‰OC4ôïnâP¼  q} ½Âqù B[¼Æ…¸Òèº ÖWA é° srëM‹†¹@Bd»üP=üñ÷[ñ=òá^¯¯û-ñ<ÖŒ µ&Xsƒ}b>ÊIã6+ðÿ«AîWÝ1WœáÊFqk#Ò¬êÆc¨nL˜©d’ê­=k¥›â®{Þ»’à +@ôØ9äƒ%Œ¸¯`î/aÆ—{a†á¢Ú¸îîúŠP“¨„‰4ì¤ìeÖDVNx5(Î]û¹$½|ùñ+¯ˆÞ¶;=kCZš÷ +‹‹âÙvÂhª*`¿löW· +5ÂÿÉÉ¥uÆGþ=oee}ʃ‚‚%Ã#¹ÜŠ`ÑãHµµ94;&)à²Iâ-ãZþÌqWŽ¸|Û΀Eöò…}óeu•ÈšîµîçbC,˜R¦Ï¥ã”†rœOÏ®hƒçsêyæ)MŠË(p„¿ªƒîù[°Ó d>¯›švcÖ„Óàalcú½ oV&¡¯pÍ—|ÒñZò™ yéÔL.¦’:2Œp@9’Ž[Óܽ3É<ˆT&«Ö×^mCeViMsšÝó§N»¹ˆ¦4ÊÎ(ô¤c«Èpöƒ8çóì㳓MJDSJd +endstream endobj 139 0 obj<> endobj 140 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 141 0 obj<>stream +ÎSÇ7S–œ@!zôy®œÛl¶¼\Ü/¡-`„f¯@÷0G¢­cîÈ¥lÙG €Û I­·é uCYP=Kð@&ëG´ìé½y;5¿Žáˆžowè`’‚š#uyC aá’ã5°#ª­NU[@ÜÃÊÍ¿ERõÖR†Ý•_ÂÞ®,§ó§öF¶5@¡¾ÞÁp¹úË‹˜ïÆQTŒzÝ>p·èÒàX%Èp‰ž#÷0ò|†P uR$Í:XàÙ<¹9œ™Æ Oÿ‹;€™ÇÃ66È´£¹í>¾B»š<J“wµe/RˆÒú#ºù®{]¸Ýì.°ämdn›þƒ`Ø +ÃâM«VtË n¶AÀ˜ç{s”Iêqèt=áF´ˆÿ˜ä0¯â㠢üón kzùœ[Áp®¤)é¸Ú_A:zniDÍF莾÷—^-ÜD¬vß%TBKx±œ¾ S¦ùVÖ¦c1n_)bÀ'g!éP—-¤¢ +£§Ï¾šËó8St'‚…e`éI–!ì˜iiÇ¡1ûĉh3=4[„3®ãå!Xg[ +R•÷\¥Þ¢ˆËÊ éeK›¢ŒÑÍ;¤Ì*gA+[³khôò*=°ÆázÞõóNe\õ!"yô‡KDpF‘,ÀbÍÓSÞ_W*"_³6– Y[ӂ†º‘ȆvpQRÂ5s_'Òˆ~„>Ø»œu•D<.m=åÜr zå(@”š>é7ô1R††véÏ;Ll½Ý&T‚Ï© +AÛW>½$Áø·ëíÕÔ"?³—©DÉ]͉F\Ƴ;ñ¾Æå¥ä±ä­PwÅ2t•òd›ã`˜¹¼šîLÃA³8 “Z„î@ó&Mi­LÂg4’ëâ$GpùÁ÷g 0=À’büý„éó(kz½½õ±žŠË€ú‘ìד¯œä[bc˜~Þyû–/Ãâ?Œ,Týh-‘ŠH¡):}åçsvl¼÷o_ FKÚ Lp¸|æÎÝIQÈ¡¸Z²íi” +î²î¿aY†¶£3LÙ$aÒ9}•M8¬Jl'as¶Y¿Ô¾&îoLQ‡]]« xRx ¦•\"n»ìWo©æ±ò÷Õ¨Þ}GmL–rþÜÞÝ3i}Ÿßêz7–Ò(ü||$.bñó»+VD²D×Mx[O OÿÈqèƒümÔhÈýµSüðѽQwš+[M8•÷’‹ZýŸ›8ôŸêN¶OotN;Q…Ýò×X.ù¢ˆI )•ìÛƒ€eŠkÞÿ¯!ÚlƒÙ|Ñš !ÅÞ=9¶¯ ?)÷w7…¤&p’é¥íË[ħY\ÓÐÿª¥M ÈßF¼Ú`9ÞíOsmª°ó_K^0I-´FZ•0ÊÈkߥZU‰CÄ»ÎC†§¯H žô¡Úì—œm*Ĺfb´­„Ó† !¨vû> +._Ü‹¬—ɨwYúÎm*W,§ÜóP^Ò>åÌþÆ^…12vƒu%xð.2hd%‰XP ·Œî™ .÷µ‰¯¾E´Ÿ5ú€TÒl™8û‘O:² a›hƒ×Ö¥r0è2({ç=ÙG û³˜&>yÕªµ/P«{±Ò¸QÿQ#@ù°õ7ÎÐôG`b9z#ôdjÓ²A‚}[ÛKåG#‘i^W+ü 8¦dÊ„?Ïà^Û ñ*í~Æð,> !—²Õ¾A™Â‡r¸;ÐLÐØ8B îǧÆĺ![?¶>…·Z‘çº]¾²Â‘¶O`_¥9Q>gÚ JC^å[K}§ã3.Ú¡ñ;iÔYÀMgq}¿3É€–¾KÚ]Äî'x’1=<5é²)öÃxŸ_ûÐSyöB2ã ÃÒô&NCî¼â{¦]m²Ö®Y¸ýIüJðúÈŸÌ;NŒÖÎWX%ól¥EæWÙÌömì Úø+pd^ìóê< +­î\ÏOËçUMH!³­]ž¥ü^ÛÄ)¼áIeûü—í¾ öÛñça\@Býép°^6Œ†å`;›õÝ°Ë—{],5 ,3ƒÂ»!”á0W“¤Ö-s=õ —›J5²Í´»â=íâwå¶ Ñyƒ©Êx]Gô¼D^Ì&ˆ%æ!žpûaŒ»ÄóŒ¡cÌgNn~Kò¸¾~•!;‘U÷Š–<õ´å®õ‘Ô…‘Ò±ñ}©zËŽë#OùlÞ×Üøô¢£í'ÊÿG'$:båY Ë%ó©(ƒ­rýËQ÷c<µå±õà~5$5ÑÅíÿbâËl¨xNDDvFч§Aü‘–sÉÀ #›2\ÉWhAU’–¿ýÊèMŸFgtÌaRçŒq@òòc4þKA£ä ÕŸï† a^7íø’¸sê„Ö‰üfÜ6°,[ %nîTuî$®äëM2#Þð®¼æUn¤÷—ºmÕö³£„›Œ5âECä MfMã@¿µ<~žŒõæ‡æ_*¤–(:Íj‚‘߈Øê»óçkF”¬X°)5®ÐñJU}+ŒHÈ3°ö\:Ãlàƒ‹M]ÜBaÑÛR1ÇZñé­íB^™‡w«ð_³»»ˆ–ä³^)“ßÁ^Ã`žݦzBÆ™|>Øpå0„ˆI1ÀjpÀ•Ÿ•6ScŸRÈÂÊ{úøï-5Íl°Þ13,-y¯$¿ÈB ]ëG¼ŠŠ(ë.8ŽxþûÃ!Ûm‡;{ ÓÚï‹éȧÚà¹Ð1»tõc" wRì´§ºSÛòägx)U)<µE%`uú79…T1DÔÕ:ðIðšL7£´ŠÓ5—~–—´>«$f¥Ã,¿% ‰ˆIî+kÑc0ÄûÊ—9¨³ èn‘NI:y§XþeŽŠ,›å¶õ‚“H}£ÜÌ[.Æ…†?‡g‘PxN€(N’÷\  Ãàf°²=ªŸKó²$xîÈr»*‘—LÃ0m1{ã>ií†c²GG8O€61 ó.:ýGöw®EˆéÅ’-D/è›ôÆmHBhh#D¿D¦cð‰b[Pùmè«Ïç±'MIÄíýY}™ÒkÞ]%p ·[ï|…ªZ®ªMæÖǬ“7áò(8]Ús`“W +˜!jLÔ’G <#MæbzÆKEÇz3m¢¹&’ƒr[jåÊÐJEÑaÆZp/zG¢á¹™Úpqï>æc„/BÝZ•2àH)©g5àNC‘2•¤ñL_ahÂâ™0Ú`#ÎSÏ£ÂiöUé“‹àŠàŒðQ•tò´SèIÜÆyjB<42M®"‚|)‰ˆ*Ê逽¹È²mÍ +VrÚÑ–×ää<ä+ïÊ0æ°ÝýAU%?tDlW *Ò7ªcˆT˜ËŠÜußØB(3ýîßý…ÞJs mJK¼YS‡A¸ß¤C!¦Îœ˜XŒUµ‰U‘æµ +ôÿÙoW÷0­¸¿¤¶9 ÚüµëN!à3ÝÖOŽ9-Ý2gL~÷NªˆHØf§SJÝ^Ž™ü ,NŠ÷×êõû~‡RÛÈ0í¿f´4Ó¦˜þOÓ:JKÍ°<ëº0M¯6xÕq)Á†‘SŠó¢K¦•2V¡w¸,Ç/Ö|ïñog«X .üP­Š˜¶¨À£ç°hǵsþwù„:öË+Cé«Ä½ßg̱ґV3Td°™"©î<Å?œ6Ójb‚ÝM&¦­.(Ó¶"s1ç½AAoÿàˆC9Š¿éìÛWjÌÆã›=ÛSsÉÛ·ohîA²'£òñ +~5Ÿa߃Œ½p%ƒzQ ;åíçƒáÃzGÇ[¼_hžw«FSÀ¼jÜg„˜`õ‘+àzmB÷Š-ÖÙ ¾Ÿi‰1 4sD” +dîM§Am¬>ô½ åâæ[c')Úâ5Ð5þ¤Ír:",£ö®(9×á‡ß/:Õ©À¹°m=óº ¨Câ÷‚JšaYmš> å…(3Þ øî(Éd«©µ‡9*¹HÌ9aãŠëJe´½ÁVW[Pre_ˆ}‡£QÏ=›4ž4ýç×ÝÞ„«è%ÚÊ2l±•¢B¬ru .¢wî!»Æý!ø±Žšfb]€lå±3OOœKn;°o$œƒªbß"cԈ̖ÃÇG ¸‰g0À‹ŒŸñÝ9Éâ¡àÜÄ•àp›ã%D´*@ãS§eØÉ ÚÙ eLÂt:=uJ›×Ÿ¤p¼,Ú U@Í6Ý1Uû¯™òeµ…ZãÊ‹úŸ36´rJ‹‡ÃCõÕͽÏeN_K˜sZMÓßίÈî µ*½±#wç6sˆ§À·¯˜ãQQýõ*/ERÑÚ`ë-;j\Á™;Nšª¸í&ÉU²¿r"«{ŒÑayLÌSødѱ¶è¸k~P–VÀå³!¡ €‘”™Ö"t±øœ ÇLà …®]ÍÎC÷vôŸ~î×÷âf{eÐHxk2ô²âx#Þ4¯Äñ÷Üo>^Ü‘ ã© œÐÇJÛvç°A‰$Âðfé[|6¢“Dôåñÿré•C°Ô çOoZ;œªÏZs¶,ëÜÍØbb#aÒÒhï¶n²ÕºîUì¶Ù]ÃY-ÌX <¾±Ý’š‡ +endstream endobj 142 0 obj<> endobj 143 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 144 0 obj<>stream +9·×B´rÝk§Çžª`žå=zwánÕÞˆHaê“­›:dö½æ õ +ŒÑk„÷aÎöõ{’ÜZµ'찱џÆOøóÂJ^m$ÁæG´³þIR¥â8²¬ .åì¨ü>6†ù×’!>mc·\ž (¡¹Öux—=#m´¬Ù@’Æ@YD¦2à<ÒÒ)³ûÝO#`õTÜ©É#¥Sõ|ÍŠ8 eŽÞd´´œž–T´‘ai´lÁ*°KšŸ€JwÑϪŽ,©Åx“ïÑaÄ”¬16W®~Äׯ:lŠlàÙCXÉh€}Ìî²éê\Þs[³ë³ó ¡Ò kBP} h„Ø׻ﴑDÍ¿Á‹£1Æ+˜ +²ÌMë:ÑqId?cD X\åt§hÀ„A[äÿ¯ºÙÃPÖRŠ-󜗉&CÑÛÒ°0ôö®ó€ô¹±ÁÚcüÞ ÚLø)¡nŽýƵ‹‰t8‚(›/à^!bÙÛÆ`1Ná¬hB ͺwêø=€NõXÜŸém} œm¢ÖáóWA7%m÷L¶Áª]æ4EÕ©Ër~ΠŠma ¸½9R/ +Ðþe¥â6 –›ƒ°L„GŽ{Ÿ~Á8ÅÚ*¿>\´Ä/¢} ¬åÄ7E˜ØÜÚ˜SàÄ(}Xø«üÎøEƒ‘D„ %øps\Ýňm‚›Cøâú,IÇK1ŸõÒeºYÿ__Èឥõ è—x‹!ÚïYÖ¿Jèu<æË·-—íÃb.ÈžßßÔSÔK²‘h4ìÕÞAÀiX˜Xjhø¾¸½fý©b+éű‹³kq&)Qˆ‚Jªóÿ“–b:;2uâF1 Qð[*åî[K62XŸäãc!X”êÇRÊDýûµwå¥M­³Ïœ£†Èó‹Õ"Ñz5Ä!kˆJ¿1<½úíq‘M+Ác ˜7b²mKho„Î]’ oh´„$¡‡wûNIT_¥ÐÒäÚ +•°ÀÊv-í´LŒ…](ÁÒ ÆAé*«!>qM7½Èý«Š©«—Š_HŽ^q”aÌ hÁø:M ×´¿™êï«1^}2ƒf—Š¨%¬óÿ3¼VÁÊL"¸Ód”'sqmë…7œCç¥Ýðûó&œÞŠ|ùÕIîqUµèlÆb +óÒC +Ó›»Äqû^÷äâàÃCia,z›>ðÂÿžHõ‡3õõQ3<;È’È?ŽDEÞë¹¹góG:$¹w:$ò-©LK’cäR$$9ýi~š/Çü¹+ÿIrj7£—å‰{2Al['›Ë£|þ{S:bÂÆe^‚žDS.T_lÏ„ö±¸——åLŽœûÏŸeÅ"D1X86ʹ ×§HUHjWo4»¢—øÈÍcBŠ÷Î…ÙH™ÅNů6¨º¢¡ê] 5®q|í‹¡7ŒAƒØ#ÿZ-ˆˆ¦À0âÊìG5°d×rÿEþÊPQ;`Ñ”Œe Ozíkë:m•¶ ]‰˜F kÌç&µ€MÅ‹³Üo= úÇfµö(æë¿Á:æ|VÕ–©“|ï#Ó¬®ÂHýŽ>Àf†:ä«8…³ûÔ¿5JCd-òââècVþžÍù¾YŠ2Àrg"Xqä å%ŽâFè}î¦Òºû˜¢‰i-Jý£N¯½ ;ã†Ö°¢…C$>îuº½Ê¸ë¿Ü¬0‰Š8¼ü“nüØRä +­{èSÇÉ¡ðOÇúh ’¹f;±»MØ£é :£lÚ,óö4“Å9Óâè ù×V©0BÓ¢ê¼sÖë(á$ö‡­½Àa:ê*Nü8~/ïI«¸Ïhr—8´©44ÄÚÛá7e4AÓÃÄgÎl‘p€žd‡;~”DÀjhEQo2k’¡´†4*×AÀo8 ÐD!p .Rº¨ Ì­ëß{<šO•—á¥ÖŒmŒ±–{õmJégŸdµ ){w5²!E¥B­ù>ø½ûêÙ¡ÿç¬,gñ„¼?È 6‹¢¯x\Ì 2§7]aMœˆH>ECÎ…ESá†LN¤³k9Ér*m¶}µ½©A`ϵ„2¶á|zVì.^ZÿÙ °½iG¶j!¾°F ÷ôµÛþa~ÛÊjý4Ù |âE™B™…y‚ׂeúM]çÛªË@ùÆáE`ñ§B7%zè)óÉûifáxëˆ3üŽ»t Ô”‚2Ï“;L)Ý¿‰#‘ž9 *6=‰Ž•õ¬Rmå £uYŠ\lù^ÁµWžàa)î’…T^s¨TkÓÑ}zÏÝ“SÎwN4‡ß°®«;=mŠ6ëÁ—r}áÀ’'xÑ®q}æƒ7üšY7›2¤N§47Û(ÅÑ­„’EŠ£CÍ<ö¼ ¤’}ÞœlQ;’HÌÅã¡îÑæ«~ª  Ž”àT¦mçõkìÊÛFj†Kf–GÁÿç8÷’f_>Þ‹tÃïá5µ&oeQc ™XINdž**rDÑ.å=5 +à¯GL +/ÙÔqâ¢Æå¹…]d +G¤q³eýÐbxr·&WCmhgÞßôrI1A‰Ñ– Œ×ñçƒÉÜ8G;@2m]|Œò¸HÿÅðÁ¢<X¼õ ‚2«µºëuþIȽ”'L¾Õ 9Ⱥ2;.,ÎQK´Bé¶rѬ8¸VÒÄ ýoÄõ`ÎñJVŒå07Ðç Ù&w·) `?Ÿ¿ù~gCÔê'6Ó1´ïë-¼G:·þ©¤c‚_uLÛ¦\^ôXÞ9RÐz gÙw_TÃÊ7ƒÚÜÑ75"&Ê$ñÉàùâ>³ê”¼jérjßç¬L®wy,®- M`!e;Id‹‚â;»‹©`úss¸ÒÞGoÅi‚†)Bªhüýö}m™4@;tô1T'×ö,/¦®©Ç4%(çá]~»\Ï©·£ ‚ÐÞªLbó E8Ì6Ì–2óþDÑì.gBxuJ? q+å÷Øs5 7Ê÷ûõ¥®-{a+ö^\‰o‰a‹g/å òæ`6ü°î¯”š§[Öàœž¦æ¢ócEµœ•üvf´ ‡oÙ/tÜų& q¾ÇË&Î6ç\ +}jRf5ñ&”ªRˆ"0æR=J†£wãÐÈzÒÿÕ='ÿ„iÐýÛž'>ï¨÷¤¯¼FVô~’ƒe¥ÎׯÐËn”¨´‘ÒÈIZÁ/ô›7¾¸Ò'[9yu¬$A{ãÊßäÂ>‡«ò+—Z> endobj 146 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 147 0 obj<>stream +Ö‘¨|w0¨½*ÜP"ÿÕ±\ÕînÒƒÕÅajGy kAü„Ée®ú½¯—é0ÜÝ9бzDÞgegY#BºsÍ:ä/Üroc`¼"¿¥öjù\ví£¿ÂåG#•ð¬~KÑùlJ[ý»èü½ "½w_Ô-¸ “Í0o`kVFj«IüqH5IS¼ØôcŽKµðcŠ²Iù»3Ùéû¬—±¹w-àôN¿Ÿï@mGó¯ “pµË“?Fä×CUq‡ÇN$X€ÃXG—bÆ¡/œÕºUajÞ}‰3Ë)áF.ç‡Û]`a!§\̦·É`NI‘¬À`ÝËàï±NÅ,ý6Š4".RJÐ̨;4~DÝäiú5 +ðu/cß]y›à”Ü°þ“vL2*¢ëŒß8˜e¢Ê±zeª ê˜ÿØa˜yÙ¥-Ø#{ú·¥À‡`m¯«´X9 +n¹ç¾Ç3MC¼¸ÿ¢Ìl¹‚ +´DêŠYžðxN¼ o@}êUüN•Ü2­ Wø…SÒ­Çà“ôAÃÎuüyif ;ãOúÛOIUî\†A󦯓B÷Ï}ÄP‘ÜÝJP©0樿¯€n˜¬ÀŒ¥E/‡X ± /\ùLI¬jðß™S©FåæŸLì2õ ZîZø´;ÍVO¼û{nÛe’¿~æx¼&3Þ5ß6Ã3õFë§2—^4ç5{A’@·˜I¼F#š›ë­üæÎOyÇÁníÕRÚvƒP¤rm‚ 0ç1É,ÂgÒU4)*… ôƶm$â±ÄÄnðì•×p°pz9Ôê¤u¥2/±p^L~˜“é¯é,·Ó¿R·®Öɽ© Ï¹1 ƒ±ûb ™„º(šrøÐv;O•Vi«xgnhU<‰WLÉì‚z0ÃÒšWØf a‚jÊ—æ˜nÖz݈z¾®1Þp?ÎTõErÂBñ¥yD›‘JUÏŠÿ¢ä(o¿öÁ¼²¸$]^íIÞº‚ÎÝ’PÛUä×äÊ¡¸¡Ÿk]>%~¨RfS›ÍhZ?z]öõ㤷*1Ú¼½µÿÁóèÞ(ý²Èl¶“,ß Ärw7sÚ?±óUÃûäið¦ûÎèê/_%Žj´rI:lžßùO"ãá§T3.ãu„&T²pv±é !Q¯a+Ü_q‹5…CteŒ¹AÒ‚(ä¬ñ '¬›šB&èlUßlÔ2Ö¢¥("¼–O0 § 0} ¦pÎ@U$…[nÅj±l>¶ ôùsf¹·Ù˜Ûbª×m4鋪ð®^˜Ê‘þùñ ‡®ŠÀF· +ØÛF“ŒuÆÊX蔃ŒØh+­- …b¤ÿº üÛb€§—…W/ª¶ÐêD•|Xõ#“CÞ}yw7ø[:bã~U…[ʇz*©šwO݆ž§–ÒÐÍ×#ñÛNÇo”QÉEà¤&…܇ùróƒƒÄE-à¨K=ʶÍ%+‹I°ø׉,s6[ظß<¿b–Œ’\)ËËUê,ŠÕ“%yæÛç±9>#Íe +¬ª{ ë%ýû½Î}9kY›îÎSXü—ZÇû—fTÁ¿k8›à^ÔÚí#ä-¯†ãÖ1[·æZ_  e‡+F@½M’¥½ír”«°4<_Õñοmà¢[!L} ˆn°Á©¾‘”¦Ïy’oÉÁsÝnR¤µP¥ÆòŠ‰“¾å¯@ònXa\•ß%îªõ} Èx'¢œ`KH§–q¢‡gµÎ0Û†µáþ„r,ŒëåEßÁVñþFó‰8Óª³Æ!3€˜å‘¤$í& F8>ºüú™#íaìÍïÓ+®¡W–ÈÙMVЧùÁi^ˆ—€Èª`'¶ý6.R"×\]Q‰UŒù +07å®ã’‰’Aƒ‰›?@,uh½3b +”ã×\ +N=)ˆyüN} )F›t&„¸,nú.2±¶âÉ3ï±[&4$1)‹ZÖ±|”Ö”WÏ ÖÚj6(݈§{A7“šWÒ—[vâÍ¥;>;äŸÛþk²®ÚQ.=S”£žèȤÀŒ×­9kQÀ-Š³lÃŒ¿—ÌÓÉY7ŸRØ +.ÃNær¥äw»?m…Öºaá*š°ÄA¦Cü™óTµ§ÉÐPЊQÆyÙ­%›Ã×xù¥˜¥v™r[JX-y+¨!ýs1EµñïO-ƒ/Žwy›|RÊ H" Õ¤ÏƬ:/Té0RÊm>e¥8$!‰z?í©m7û¢czðM6ú¾tÞŽÍ=6Wò›ÍŸ¥ð ÚÏúçëÄ…ùsÛŒX„bÈ×…<»5Ÿ'ÞÄÞ{‡¿(!í%Ô G8q…ˆLÄÁlª2Q««Íñ³Rqö¨+0ÞKÖ+5w¯¾¥ó©™ƒ]Y…1ˆ¸Þg8Ž\Ž·ûƒO‘Æ…ù™}Åz:“$›5¶í6(úRð‚Œ{ÌÁ¥ Ju”ú}/$—…•[òÉLt +%•ÃžßAíÕäxìÐöDv£ªÿ¢TßQcYá Í9Ä{ ­E¸ó¶¾yÌ%H»ìýx¾gV,Nt×÷?º+‹Æ„øˆr•,®Ÿöê…:*38%Ãþ؃‰—™$Æè—{iu´Y‚¸`ü€ÂŸßšK&0{Ú§’¾+µ¦ âxÙ +d.Z(úæ¼te¢Ќʊ=¹Ž{ÖuÞ„Iæê—ԅɈ(É|´­^’UÊfÄjðELh&·IHýQ|4÷4vP²Ty€+]”+ª»’òV’°0GX÷³{Ë_¼<{_n]·J¼W*®õÓ"a‚4¹ûu»1›U¡© +J) +¿¨m”†EÂ*ÁH Þ–î ­ŽÏ/åð¬¦%­ò/âÙH•zÒh;}öŸóÚ#ÝÛÖdõÀaòM£HÒÍ*¦Æ°àÕŒÖrçÛAÏv?¾³=7~#ñ” <¢áùñ›ªyéólì»|ÁBݼÔ'´Û¬ 4Ýò\fûwiúiÖCFÇÎÌ|îÁïÖüù]‡Ûâ]Uödä+Bûþ¨ÅŒRâ5É ËgàHËDÈ£Øõsk¤ä㥖…ŒÉŸˆÐÈÀNPa£GXOˆTÝ3¤€b¢üûTy~áI¡³XòÕ-Qe§…ìa9…¸BÃhö­”^º“˜™ÉGd¹ð‡a§é°í•/]ÌJÐ|?bw>a#9$uÁ‡´çIØmÝ1>×ÐY¿•\As›7}§v¯šea'xÅøýl¦Þ?4ýKÎckœ]oï‰}®U¥á;Sm ë~½e:îCÃ7|ÎÁ äöîIè­mîÑ@zLgòÎàç²> endobj 149 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 150 0 obj<>stream +ªӪԆљèymù¼]{ðèsœà%ô¦ËI²³÷µ9,ÞºíƒZóô«ÕŠÜz7×î‘Ã0Ø“lT`nÆîo™®åÞÀ]ÎYPYº^S)gÆu½ä÷yo¿^¤õ¥‰h1±˜·L“h/™IÝyÃùü²*øÓh¨Ð¯{<8dì]>28äMI‡ûÒ])˜í-G( +½$î즾òI†ß¶…ð»¶g"q)îsfCw&³Mö$Òg’nÄH¶5DI‹hš¾ N¡1Xq¬—üœ÷¢ôþ^›þÔs¨V¿ýIMóp~]Y.ášvÕÒ•Ú Œ;×Ô–öX~ñŽË +k)‹äž™u“Ìs¾xÙ"?~«Ñ’ññÕÕçðÅϘ!ó|Š¬µŠî¢¾þf¯ Üã=@<`A­†u $ +|¾yÇnÜ[ÁƒÂôvNE½ùÍ*)¥fJG4ò<#=kºn*œô9àp ûÒ{§\^â³…QQ±ìͽÇÖØf‡Äq“õ¤òþ%ªrfÐÖÃ*d«*ß$T-ÒŒ ¾Á2&Mº,]èšCKSüÌi¼¶•ˆ÷Ø7Á¢!·Œd~ݾ² ³‚ÿÜH©]𢈻o!åÌP{°Äw<¿Žy«)„Ä?rå·zÆ x ‰2f–ø¤hdÑyƒ1§ñÞÝ>l32RËÊ•”~¥²g–fhíßëš ~ÖÙ4[@{~7Š¾HîëC^Ë…~`¼îeŠÙ}!åºÁNT>*¿4Š'âBÀÏ„Î>‰Ås +¡¨èõa±õë-ŒWñ³èwµb «#yÙõﶶ¦`ÊÌEÌøÕ'Áui·IiR‚¶ÚƒäÅåu*Ø&øžq‹,SHE?e‘iÊB¾9è× Ë¡=‚= Pžg¼*›6XŠÈÊõ¦& À#!×ÃI³ 2‰É^„ó°ÂÒV0üwøÿç+Ë(¥PßC +v™Þ~IÛñIÖ@=cJß"‚‚Àf° ‡ø¡¼ÃÏgÀÌñ´m_8¶! x O!Þ½XæP‰¢ÁCFÙ9ϲòé_›ÝPh !×åá¢Ðا%Êä!d%F #ÇØ6ˆá@(NöÑÀ´x×Q˜u.ö1¢æ~3vÅž1iT^ä—¦l¾ÍSôA|á©.eùMGEpÆ¿˜jÃcrgÕ­x¦¸&ï«úbèò§@ðIþåÄ@S.g·‹iJz‰’/qeS†lW^J¨ isÚ£¡{‡g7¼ÄN^–¡ÅŒ²ø ËÑ\NŠìÿ\ ·VcX=q4‡°TÍ\<ô™íL©U•æcé Zd€éûvb¦Š©Þ­hmœ`†cs½Ñkôh@…Ž 9Á—¤ŒŒJ‘ŽXlR‘î¹÷a„©~êo¤†ÑdÝ¿‹õumÒœqZRéÃ!cSvÉÒ€Ù¿,ÑÕòü°õ”Œ2I]æHù‚"¦b9…b__fx +p(¦1›È’-›D6B§´Ä*1Ü"]å3|(öøÒùÑ0˜°>oýkfÖVøüq¢À¸~|»¿^ˆÈžt—4³Z—…¸fÓ•GX!;H +´·É…-ÖÓ£…¨¾q5ùÇ&æyOUì}á0hÕ‘xE³±&ù®<þ?¸¼/a¾råò¾]DŠ †glâúÊ…Ï ŠhwÁ8ŽŠÅ¶–îS ·\祴㔓¾+¬”+@–Æ€‚õwD¤*aóδ¢J™i¾#ÈÊ3º4ßúa”Ob÷¢ +Xœåmþû5¯£ƒòö*'”§îýüóî(,1+pG+Là°þÀÌÒõH«¼`vg(ûa·6 X‰íÂm¡Ö¢3B iâª'¯73½à!îgþ +ÐÀüÕoüïTSVFq5gc€´UÞÜ„!£X1’`/1+ǽ³vòJ(«JÐ7öXë’–²8ŽF…­XCÚ°½µv&ŠÆtñÍÁ§Ò.YbúAÏ›‹ÔC'œo-ba’ +ZâضŸf–K¿'W‚×bŽs›`áê:i¼Áͧ<ÉwÅÌ;Ø$ùb*uM±”‡ûÌà¢S/ðnÄœowdL\ÈÖ#z¹¶äæqZ°Ÿúó,G [°ó±7÷†!µîy4îR$ O¸ ÿ} ÏJLýú‘¨ýÞN;™M…ÄÁXÎsËJä"pFÁZ·ö„{bªMäHÎϱJö“M:Öt(•ŽEóáÈåÇÔu†Ñµ–ÏtÉÊø²½5$ w÷²¢´hcB,Î6¡2{ÜÓ3›3c³@š¼…æûÖˆÈâЫŽ¬ËÉÑpÔ0n<O7ÁIƒ¥ýK´ÐX§n“@ÿÒĹÙêÿ*åž2àWã×ÐÕ” +¸-üüö Ð@ŒÔò¨ÐåµÄlµèZí½ªçl]šœè[©6X¿ýå¤ú5úåÖÉ‚_àþ_ûÖ¤ãûð§„y$¿)HT™sŠr´µÈ7¹XÜ=…[š~‚ÿ]§®Òf|¯WòÎ|Êì/tOê!÷´‚-'ßÐe™r¨³{É…lx™ Ïg”¯A5ÞN9äx°,Å[§Ü~¼Ú¼éÁºTÆÕK± ÙÀèPüÒ‹µS~sØ5ž§JÛ™¥MÖê,·+û ^X|¾7bd ¹V‰m…–¥ªDŠè3pz'§ViõmÀ½”Aç@*ã.÷ústÚ-^q˜Ã@õ8Ù$´¾'ÌÉÿðŸÆxg72å@B07² ®ø•kÁ{î­ðÖ× Ø²¬»æŠ²°¸íþÆgâgthÅ!Ör"kìí«Ìì¨FÅ°C#Õ´?–ÈK éýCĺÅÚi DÕcÿŠÿ6¥y_™á‚¬×ó‡^mêS \­ß nÚ£Çñ=Ð|wì2µa Ò:nE;zb¤0˜CšŒH×w~š ïZ¶GzÌ:[ ÑÛFžÓzÕÄ)¯À^"&y žîÇÜÖ@ûæž ËTÂwÀ­êæ4L¦K±PQ¢GCz¡OñÉÅlå׬4ßt—,uVÇÃ[¿KñBdtB‡%5£Ú»Wæ¾ï_uì̹~‡7?ªY_uH*àÀÄËàƒT8*º¬ |Ì)`»6g?õ=…}k&0XÕqý êR_“[ã^9º´ªu²ÎÀ²1SŸOoî}¶Ù˜]„fq®‘¥ζUšè¶x¼ ·Œ¨ôKSh·¢é¥ZT:ð¨ô§EšÚÀ> endobj 152 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 153 0 obj<>stream +Jx[Õ©KÓ~(  ÇîqUSLëqŽ¸–gÄ?ÕWEíìKH±‹.Ђ-RÕ´(ÅFáÐÞĘ:}—G¿ÇE&ùŒ µÊŸéwîæõŒûµý§ß;zd]Rxj™€G+ˆKÍÖËþv¹³¼-W½,ÄTÑ|å¶ÄR<¬J5h9« ÒtF\¾ÛÙ.àz°‹j2€Ø„W-ûžÂ‰.:Š*Ñ°:ùü0EÖiµçßëk}.‹”¸Ê6ùݶ•í’ HVÿñ%·Ûé+yñ Á¬@®›a°…ÀÁªôc%Ÿmy$ÿñÍžKiü…nô„:þÈãü:3ÞŽó-‰ebLMó݈_ÇžVðSAQ$4oY5¾Ž+®¦ÑêUtKä<½¥œÄ\BéëACèdRW“|Ô¹æ± ãÐDüOëvðÕÅþ0¨]ð_2ÿÚÇ6ç.%ö5Så'±hQÇp3athNõdˆ_Úkz+w=û W0jJR*Øt²•ÛgÑB´‘ÅŠ Ë)u¼"bþ(Ìžµ—?­hÑ\Þ7ñü·™QÏU¬![øwàë*>ÑlM‚¶gŒño ™a“™TýOØ y¨Eh$ +DÁ¼\ /šŠ ‰ü{Ñcˆäª…ypJÏ°ì†ÃMh–‚ y»2|¾ýXptäB±èЙj•´²›“#åm€(EGÔGÏ«JÁÛ`X¡LhAÁ [Îl´ F“À~W߯iÆ)þ&£JÝ~‡#nG Zºú*yc½ŽLúamgªo(oö²s7Ë(A×ÎÑ,â­nd$QÑ”b+$1Zî ;d¢§´ÑDÕ"fø=î²Ò©[âÆ ]sÌŒéâc¼YCO¯ 6JÁ!úZþ`@PüuTgÙËŸ¾¾A;4<.ŽS4¤gD²¶èhŸPˆÚ¡Oïß¹óì:ý±-×Ä6‡}ª¨Bí—Ùù~òh‹$÷šÉ@XrS0ÎxD,šÀ’p¯ôð1\a7烴“˜gœÍô\!R¸H³&k2·¯L\ë·}5q£'nI XRY”ð¡½äÓ…‚’†‘² L›ËÕŸN¼õ—d#82_p?À˜™›C&’q òÄ3}‘m¨«DzÐOüPæ%ûÓÑï¯àoÓÿª„ô‚®$t‘eNN4ª6±Œùf×}ûËŸÑΦ2áßÓ#ÌLx縣û¤¼Ì™•á“±OžÉ_Ž£râêIlMk¨®¶ë¤$æÏôÇ“Š0;¾x)òâ"“þ6£Lä´—".™`Žuh¬IÃËyku;VxI¡on4¦Ñ²Éž9§ÜêÐ`FC¾=ÜŸ©3rï>'**! xC¿»-Huºæ><¶Zhàn÷`¡rÖ¦¥S#Å\uò`":Èú:Œu‡ò“nÄ@ẅÊÃŽ~s¥»z¹²Òát÷ÜæòUñD)É…õb ]D®t¸ +æ+®ëæÝ5Ó´SaÓP±ÃèskÈö š{¤w=Õ"±PzÄ´´ìܦ +¦}ää/(½~Фsý]xwÚžûM?OůJ{W‡Ü5Ïk!~Pß½†fó&ŠçÄ5HSIŽŠ@†‰°oŠã=ô ¢GM¸6‚™‹n(rðÍʱïÕp¼‹üŒ—ï—ú‹ãc÷Ædå`öH˜÷ÿµœn°]- Uºè#I¶ß _Àïð9nº òpßÍìÄZxÏfZ3púÁ0B¯Æ‹KS/ì lúZ+Úà î43§âjë’ôFþ'¿Œc ’~r ,¿,¤r„†ÈÄ Ø ¾µ=K}Õ]…€ìNYåÉyŠ¯¢y)E¦ÏÌýZ³Œ_†‘ÌaK½ÆÍJî+,¿ÞÜX@-Sd‹RUÑÀŃ¹ êšäûÒ˜ 3’ý³Ô¢hf¹È-4î ¶èϱWØʃcG#(&;þG-+ÝѨ2üõC·>LçÕuÆTè¶ó9síiÜìx}õ! _Ü\ýTÌeÞ""Uò ëîW"ft‹Ò}cHOû>uÍ$NwŸ÷)üÙ£{Êp] ü‹íçýÞ/ÝMR,ì×Úïì‹MI•ÓÑñ_p„ßW†‡"Yl6é2 5»~õ] 7‘ÔÉè|.–rÚV^’°lo÷‹5;ûc³›ž¼u\ßhmµYò°½½ lÿ.ËÞ°{vˆ'ù.NúIlhHÇ«šq¦`â®™÷¹a»§Âã3 mßíïžÏ?A€ùmPÍÞ’nä”f¼‹Ë—ºé‚vÎ0,_c{²¼G«s¬äÃBÛfÓñÌ%¥°Œr ã!%)¶d*x%ÃAò"É'åïÂUׄ¨òÚ¶7Ng$}bö Û^ñvõ¦¿ìŽ™3V3 +èÀÔ±mTP4áÔYÿl è~é¢Ú„"‡›‚Wñ¡ÝŒ3¦Íµ{Ñ #–Ïy4‹æ¶ÞÑØ”³ž‚ŠŽ’ÂMÓÆæ¹WŠÍzW'!ñ?¶×"–™E¶y?©%„QÌ¥rD9ò+Ü[AÏᢠÉ$݃`f”Û›JxèI®¦¾…Haá y úNýon*ýe&eßàÕ _ÙÆW}¢ ½HÒ£·V³øî.ÛŸ¾Œ/E/†h÷°¶ëÏ¥•1,.OZudÌ2‹Ð=C¸*x¬Ø_L+UöO"X;wl+ÿ°&V‰„¨3‚ž¦Pƒ¾Ðˆ‰k„+”Á~á ív4Váø{ºøp–зÌß"mö·âôøBº !AÀwÁ²Í”•éGaíœ7Ž(;…JùÅnæœaƒ«*g>'=h4lмÀì3|}œ:|bƒs‡¥¨.Úñ?L²±ø©¼‹à#¥UÉŽq|»-7¶;n|Ùkè ænûç™>²bßø½&ºzØÖ–…½­yÂÔ;ĦÃÈí|ÀÙ;zœYЗ®Ò«€k¡[ƒŽöʦýK{Ýðæ: mLg2©*×ýþÏáˆs E0Æ“]h aÄlQÅ„ºäyY®hk{!ö´Î0I]€.¤Mg†VOˆS×ÒêÅÏ™Á¯í;ŽZŽ¸K”D# _È\Óf¬+ù‚¤Ï~؈Áôu ¬GâÉÒÌb¡µ;þ¿ÙÓá JÑ!B¼¥¤÷ª •Dñãü`3–·~{«¸¿‰`“Û?¯³þN!ÊÿÀiû’ïCëêب·“hÉél¸jP|áØïCð†š—‚–£‰~qïPÀ|õL ý€ÚWÕXõà”~ &º—ƒXA‹41Ç-&lH'̨&ï†ìa¥ –˜9µ?t˜ (Šª?V[dcô,.`ZÛön,ÞRÐ?¬væê@BBÅjºÔ&â¥kç3²•œÍ+›7­Ü>¬ÛŒݲè]©[°U"ý!mZ•ßÆôX‚^ ï#<wÜ6Á»EY"8—)60æ˜ìWÿaŒ$©¸i×tQB€¤Lh@‘R{ËA“j ±cŠô¾ Õnø¾2š´×÷ß-Œ‰eÀYæ)q ñV†°üÄŠõÍÎîO×# ¾ìMÍáäî £óÀxûžàrã‹Í•5‹)2‘íJ.rxæ€)-Ŭ¨­i\¼Òz¬×øZì‹š vm¬¥4"\ÈÐR÷-=¥œ–| {e®³º4Ô#F-ô¾t¶o™ÄJ—(ï„#>™£,aÙ=4®ú\,øþ;LZ‰Ùto à¡š'¾5õ5ÈS›Š, ;k‚Ž.¯=ÂL›·-ÇF.™o:‡äåƒ|f¬½5ÆÙh€Ò¤Ô2ÒŸ ýÂK×ezç1ܦ: DmÖ]40/½.øŠæŸ_ûá¶ñáU“+2[ŠðàVâWœ÷|Å [3Æd:9Ìó£âË'&62˜‘V­©Ýó Ê ¤VÃÛü-¥ úf·.®¼!7ÄèœØFØÒ\íÊÙ¹E§"ìFŠµl_æ¯9Z“†¥‹÷Ú4Q³DsKIú†rƒ:î¨víE¦—³fïŶË]“_Vª§ú†S¿Ó¶h’ †ý¨Ý^q`È ;ÙtZÂsP:€<çHÝï©x»V)OOµ­øZ”Ú¢ËH=ÛµÄzô~b…šfðní$…±û¼°tJªŸFËzY!‚š¬‘_ŪÚÉǸ$”åâÞÏ;î +äÑ°ÇaêËõG5êªTƦÓ&:÷êF +êc»õ•[|þ·JïÉÉP:õ-Y +‡TÅe:yó™øfçÛ5äDzñHÁø+¯(:Ì™;ѶW>•>ÜA¥uÒ…Z“¢(Bäe•A83hä®dOUÉ)Õœ$ë†òÆ“Álâ^85FöŒ¾;à´·Èn”ÿ u2©¸Ä/kY QàÑÍt_è"Q±ö[ƒYtÒðìÇ>…=× ¥ÕSÌ"8Yn”U¾×‘AUÅš‹7<ùéÊZDj4tê +†Yú0þpÂüÌE{ü߇C®PÛDôêí’;Í DƒGUJüsžÅÀ%ÙÊÃqé޸̀~5Ë_‘QÆ)¶±ø:=G$ÊŒ"uš[7O.Y¸@¼pêñÀMãáï<™^ˆÝûêsh3X]ª®8öÀÓ2&¸»–© ÐÏIùZù™¦64;8çûÕÌæR\²|ký(;k›Ù‚62úûÂᣣ Á•î$4|¦pwG(¡ +DXr ?ä»r&V³vc¼OCâ¦U\Ĭ1ôãɺ ®oáä­¦Ö.²Ž÷S…ïŽÌc¨Ÿ=×îúv‰¶¦ýE…šç»zsï?ða6e™/iaŽ¹¿ÿÃí|”l\8/ ŪA}·HIÇb×òðgîN¨·çê¾þÇ“€RUš;%1ðU±j`.lÔW4ì‰4%îâÈ%QáËB#7Û^-VÈÌ®¶ +4,?„§qÀé” +'ƒq ÓÁßÓ©-¥¸l xouºíòÀ¦‹Dï˜poEsz\^ý¨Þ‰T; u:á}Ùð{ÍÙJ¤Ò`ûÒÇY‰Ã'@»×ߎkᛌ­Lˆ‚OÆG’;•ZS0§1!„“¤»# =l…t`„V`3‘}*Ê3#yw[7¾ùô-yö¢±úT¡ï2ßÄ÷ÂŒótåV=—§Ä”åu% ë‰_6f‹Äð]Ž)_•"hBѾ¤Õt?qJ`†Ó¾º£•´àÚBI`ˆcgZgù’¼Ûš'ìÔ,Å…†74=ã£waI®ÀQ 15ØDØv“mðká–¡+é V‚hr4_›SGDÅzþU”A’ð{›Ô#;Äw~QšPÐ-ËÊ/2¿aèC$vRüxréAÕ¥[¿±v‚ôÓ +4+À :ÿ&¿5ȆïsVJzƒÅ»yp‹Ýúé¦-˜f–ø·ÿ³„Ç®]ï=¨ziÅ&T†o6 Á ‘7dëP™„ëa!øö~£ÿi‘ÙÇ¿ð…°|ä",ùª 2á*X6A»¬‘C™µñ£cšƒ_zbÂùøy& Û›GÃ9`h)(ŒÊB8W¢ —‡SG#×»î5CƒNMäe OÝGȧ’?ŸúÆ„ “ŸªÎÔ‘9’â¼Ë¤ŒI +U¢²bH¬½Dµ<~kôí£$0s]Cpj»æGN=dœ€é΂w|p“·ï|r·ÒCÍýŒ}Üʵ=:„æͯÎìŒ~¯Ì òÛSPðb+¸PK}j–a*;ú`a"” +͈õwzÏðç“I &¾G‡˴Lê0³J áñõÙrç”,÷òÓfÆ×p®Ë=÷C•ÿî[Lñóîƒ6 ½E•!©´hz2®A ·f&){âÓBVÆ6ÉØ%“È€âˬ”cܶ·aF*x£‘Èôà‘{ňBóž¥Õèàé—÷ëaËã3¡¡ñb_èwŽãõ•æ”Zφ5µé7sïéˆ 1†šêÈ‘åhm‚(®ß¦æW°ÀãÍlÖÒšHK@ð4—,ceªŠ"`ËvÁ–?|âã{©^ðÆ·—Uîx• %ŸÚèWÅxˆPc‚î==Î-¿Nrë™+èèÜ£¥|¸ ªŸæÀ‰'·Ã×Ýp»Ëƒ›ÅO[ê›h­Ÿz#ï ŽË Ö,1L—’Ç•øöPËðþwz†ÊñqWÃ;³ÝìÆRã·/äñaîâòôÖÄå{g]YïP w1ÊV‰“äÃ¥µáS†òáþGêeˆa «Ïe Í­rõ8|„§MMÀ¹’KWBœ1½€MdT#ˆa½.Ç¡1‹®7ÝÎAúŽº¡tbÝÃB™}ËÛ©XÕF×P¿Æ“>T ”"éiâC)¯š»æs³b +endstream endobj 154 0 obj<> endobj 155 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 156 0 obj<>stream +q”x²T<å`/_¯kþ†­V%Ò~ø ìZc½¥#ObêËü†eO vÄ äa­ñiubxÁÚ.âÉ…‘ó ~€»/Éê9y´Hb°–]9Ô«“Õl·¥^™«údÂ&>Þ™¦ÂK"',–:ש1Û#ŸÞsz¿;‰1»7Æ,‹í‰ZHÞì¾—­û½ƒŸð„±oÛܬN+§j&-·HÞƒh€Ú²›ó¤€ó¼î  kô•Ì¦¦0<¹u°µª ×_¦Ã}µ +ñ½ëÓc‡yçDùµ ëÛ¼D¨ó”©_ÝãO·v]7P…õñódj”õßeäˆi9E¼»@áØOì"Ï­Ñ߬Ö[³ã>·†@§j=”Œ!RÈ4¡+ƒûlíX·ŠLq;Ý2Ç'ÕSå'Ž­DŒhÜÏyÊí7”,Õå‘ã8ßþQÈÑ9?þìîAEc¢Ã1EŽüè¬ÓxÆ öl‹o&ÌI~À78,¤ ‰ø<ˆ"`­Ï¥mrpÎJë¦s¦'Y7¼7 ;zµ>H:QyÑKr<16àÑTÉ‹eß®à$@ ˜:Ò•Ï6xÛWå£%‚ŸGd.šùB½ÿ…*ãÆ™D^±/Ô?Ì †êJ´nEâµ:+ý‹t/ŽI˜½ðö« «Lˆß×…#yá½0|›Êº†œÀ:˜~Ù: ñwØ/q[ ùî–Å'߯ÓÅÂF-ÿG™p4á#`øŽàd¹=tk³Aò—fþLù°¼ÎÈý5¯¤…ôÉZ‡í»ù€S2r¢fÖð’T•P(`€»<´hsg1:ÖùÀ½©G¡F½ º’¶ƒ|–×xPðZnUXçÄ V«M“û„Çü%[W÷föM°%²Ð¦àÃèòÄœX}{ ÊðÄßš\;‚kÜÐÜ’Ž¸:¢|R j«¿s”OLþ ¤é¯I0šZ»@`Ô0dž.„¢€éd¨LP º¦ ­8™ »¶!RcªmW¼SÖÀq)®_°G$!Ïè§À$¹æ:S%|éƒÏzÙ ªÚÞ„ÂÍbó˜OW*çÔ,¤‹úO“ò­ËG…\œìyÚòzÚª +îzÁ¿ îAwvÛÁÞ™(4Â|ËÈ"û¾Á°°Å=33”ɱÅÅÍ3‚òg0æÃ쵋ùèÄ@Otù†›ÿlj7€¬>*¼Ë6©„ 5™‰·fM²˜òN±x&¥ãpÑXÄK®Ò<ºýàJÁ©.Rb¿´f §õÖØOøìÕh”Ì¿ª…ïl‡}Õù¡¥ ðõ9\€ó' r$™E£2‰ƒ¶nç‹¥=MøÂz®yÙZt’±¼…Z4Ã6Gm°Ã9jmYC.×—ø"kN|! -Mï°jU•w^&w bþôR;ÊX’b^Z ´sót·ÎhLAÑA÷â7M(qXÐî‡xÕ õÝ=øø‚ã/=|*àÉmÁ ë T´7Hv®,«ñˆåo=zvŽ¿ö˜.ösºíK¯*©A +D@q‚¨ž\ËX .Ó9ô<¼Âÿß 7þRf™ƒ^bwÿ5û lú Þk>0Ý¿ü„Æ£ôW9è¹êtà]ÛN¦¿Ö…tD[´I[çï9{}rìè.ygÓª+l1 =×ïºÚ‡‚J©«ÄîøR‡õòÚbØ@@¬@\-¸™¾r³š—_§?xL½­yi¨ô,—–Éܶü9»ý Y˜XŸ= +ýMe‹°3¬dÚ+Ê‚@²ƒ¥Ž'ªë‡ñ9 ->pØŒ®¡¯6-Ÿš´k@Á?˜8ðxøÄèV×P¨q§ŽCrNþ‰:sÉ+‘a>\ÐÁÁd: Ö´']àŽ]ó´DÔ¯®ÛÿóÙo}r:'Õ6äe–&Ù / B¯jt´[d7—ÔÖÀ‚ôeó™OÊö¿¯9ä6³ €ÑFñ›Ž$_g‹úO?tüQÆShŽ%.ƒ“ƒfþŽµûw×`vþ°ö²7Øæ&åèù³çãä\ +C=dq™»BqívO‹e_ß>Ë­žä-äè8ìâÑœá©d²—ËŽ]o§ÓY!u%â¯%¤Ž"˜Ùs¨CÚ'¨“/_ q«¥6…Nvæ42¢ ’,$7‘HΖ "+hµäYšó«×\ìÔ>¨`Y~’8gb€oQñNÑy÷k]iKèômÒVFÕ†—]r^šY_”€.ß× +µ•ØÓ”î; sÑa ~¯ÔÿU²À¯©<…tíßÿŠp‹<Ó„ÝÓf]Ý&%¼‰m_ûîçè.ñâ¥ü9ŽóeÉjxÛÇyÉû–j_œ´’Ão¯Šrôûj+ q;=Kúë(¾y:—[›Ê{ˆÕeP6v­ƒ}—+æÓÁVÛR7dM^£’Iå‘k +ka«Ô±érÅ ¦ö¾‹¼ŒH9ˆü)n&xVñ›f€…«°‘ÿ¢8pÊh$ÐÝJöi~lçûĵ—Âú“KÊ‚ +Һ˔Óè½Þ÷(o ™žÿÈ ¢ ­¼†ÇÂ3˜ý•úñD‚•LšÄ°€ï-MÕÿñwõ|½ìT…↴g¿¨Ãsa]n®¥£ï¢÷E»:­´Èëö·ym–<:u+¿uôßØ"³¢M^«‡Â jþJžŒ¦ ŸkE2yð¶…8!Û%ø"a9.Ù{¯ÔRmE6Dßš9¿Æ ϨY&'½LôÔg +åó©|ûXéð2J'AœÕîÂ:.†–Ü{à’Êò‚›˜­³_]zDä'©üQïÉTem}ÐûºéCÛ¤ªdëÁæ û€ê°;Ã)`lzmåèEÑR8ã¿)ôìe¤›Ô q*K3Z~”ÕÀÃvºá‰x3ENr{É>-S *³ÿU4FW¼Ô”zåÛ'ü½˜ÿmi Ç›3TÙ+×ôØý²Ø?Õjjúy†g'ï÷ƒKT?qLWKî½ükÓg0¢ÐOÍ&¹èwÀåýý÷œ™2©‡WJ`lÒÖmƒÒ?mmJwµïtmN93ãQn±Âÿ—¬Q£i{Ϥ°£ïç±p¨ÑÃ0ò,¨]™á觸9\aw&—©¾ƒ±éÞñש$ä¹áƒ Ü@ìãÞÿm!Ï˼ýŒ“'_Yà…œ1sÜ*–yœ€ÿ߬T‚/ +endstream endobj 157 0 obj<> endobj 158 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 159 0 obj<>stream +á*ŠöoÀ U‡—˜klë˜î:Ɖ©ª` ‘àb¯E×`ÌÒÐYQ÷‹™¿„žŽaÓ‰ëÆ/4ÄÙÚ%À¾EÁ¶'6ïçþ?{h¼J CRζóÔ-wyŠæÕÖÄnÎzŒîNò[w-Xþâ1FKÿü¬¤<²c§…⦖fÔÚ ¼Õhò§â ¦S5•äv¯I=Ç)J D—üó‡T³ UƒÃÔÈ•ÓüzÛPÌ(È P¶YœÊµ3}ÈDæ³ÑãÇ’ÉœÿmUc¹üÓ4¼ÿŠ¦ŠîuP3;ˆ¸Äé¶Vý>ôˆ%”–勹ÎúœÍêd§£þ¨L›CEûº¼|øahV€Ä«mGãÑ[­Õ>à)uÇ?ø½þƒ3ïMƒhX-Üi½¤Ó0ÖÑs -ý~hIN$p]/0|ã±ú­«ò1o)n­„+Dj°Îw”üÖ`BJh|'5¡7ù÷v&¸»@¨§É²‹wrn¾èw…J&qlTON~E'öC>Þ ÚÐxõè»8™çà­¸RÅ?eXõZ«sù~:`vÑú7Zl––ƒhr¯±¯•ÓMn“ó7Fð  ·TÃXGƶwàq#|È㚸 {vŽÅeÒÄ’”j\‘uÉT” ?†œ±J[ëõΩHG:DÞ[\+.IM +f÷\z#Yܬ¼è¤ùó…ElÌ3À¤Þ‚ìµ6Õ9x±R´ ¨C6Ô…=ŠÈ,yGdÌJM‰J,ÏÕŒ›§d€ï›“$«²Ú›¡Ã3·–ï?fÎYAñ=Ó±·Rå԰ʼXÛª] u>ìa‘>C-¼N\uNg´íOhã¶j¶Æm¿$#ð•á”NòªòË×ÀýÒV@“6@ 7=ºrkàˆÅX±‰Æ0SŒåÀÆ©Žu±j5}ÉÐÆ·§ì¿Ë.¼˜íì‘F1ŽüœšëÆž‰lÂà‚ÈeÛßUX0.ojm¥²#KjaßpDGÖ¼júŽ¤¶2¬Ñ ’‡vx » ÃÔçl½°ò¹.PmT3fë߯¨áÄË'¬±Ÿ©qþY—œ²¡‡ÍXl[º +ÑÇ«æIuÛãú£]4åñwÚ;qHa(ötµ~ýÍ‹Åx¼LÃÕªù‚µ+muÿÀk€†­9a8²LÊ `L¢8,Œ·¦€}#K Œâ5²FÿÑ®øZý·8ž#zš¸ÇÔ¡¹ò‚w$k1g½7ÿ—–íÉ´Ú"4üZ¼ýçìfmSUA{Ÿ +ø–c1q~9oßzÞ›¦ÇsQ¹Qž#­É0ª”~}¸™ØT{JZ …IÊ£ýWÙ¼{de`Þv +™¹À 6úKùÂ/TËB4YlMòŽª¿°|3r‰Q—úÚ_³øÍ zõ}Ÿ´u%©;çõà ¢N\§Jï‘øu¡ãÆuB…µIžÊ ßà ܬ5{fëH“®Ëúl AѤ.þäyò£èÕÏZ8å*Էն¡ѭ¢”ò\å¹W߉•Wñ[ …уwæ&‡—8Â>ô¬MtÕ|çÞ!ö×ã—xüsqn²þ… A9gŠåò£?=eŸ2tño-Àáa2òêך²†ÛxIoþ'³äMÙ'=­ø[t¯j‘ð‡mÌ£p‰)ŒÌ›«5ý¹ƒ¡S¯TdÂ1aÒN“]Ñ*tÊY„žFM°ªLŠ‚ÖOgúkáÙ/_ú kµ8/ is‘©™ëÖUJ”‘;ãšâY¸M¯ ãþMû,Þ4“ëݹú%2•[Q×ñeã&ÐÎHoádD°#}¦|©ƒ^Š¬“I=÷h£‰Gðui=sN˜b;½ø$à÷í¸¿$Ç랈ôȨ9º!ëNÖÈïiCÎVW¨Š•¿ˆæ2ëbÊÞ¸\ §rÎ@¨ÿlþ@¥ÔYm„Ds,)‹ ÙbÖ—Òé.Q6¿’¢õ¤Ø ‹‰¢¬PI8¡Baœ6T¢§oËP{?f(ù–üy_|KÊFÚÌÆU@ ÍqŸx ü:Wùtö´[V廹Ìdfß9T¶×«b>‚öIbçò{õh‡Á #„¦‹÷é«¡J2‹9u\ÄãDÍó¤Ú1æ¥ûdh„c–¡&SNõ3»¹6é`El͹K„‚Ùٸˠ(Lj8«[OÃôr„ÌG¤†3O°þ¿Á$ˆ¶`]§ÜoÊWçj@Ä?lD£Ð‡ÂÑýÌ I´…Ód;t/ÌB6œB…y{ç⹊ҡ[rkp¡Áv A–¸FÃÓFìûbÂiÖ±¨Ç°—†7>¬êæ. J¹­¯7°©$Ž+d8ZÚdžç&¹´ÒhõŠ½5²UuŽ;)xà8:Øȉc+Úõ +µ³]+ˆ}Y‡à ;òÎ…{äC1Þ÷$w —=Ç€uÁï-Òb7žõ\¾ô­ ¤íú4Å…€¼Kž-Mâˆ(Ž:C_hÅlnÚÄ.`‘cŸ½ED篑íOƒîïÖ U1UߦBž_´þ`®ç×Ú”¯|šûi@«%Ë—)ûãhbäþB€9}¢Sm>#ˆWCeÄou›üM }Ÿì~ôVýP” üPÄÇ*ÄEDà>eÏ̯3æºQ87çƒÅT—Nã·â¶Ð¤æëM& ýCñÁ ›²«Ð÷úÉ &­Ø[׫0d~ Ñv<@+LÀžPV!D9pˆƒ)•¼ ê+¦ ÅÐgØ[õÑO5á\‘Ó‡ò®~£Þ•òäC#s¨5=øQ­7*‡q—ëU_-RÕì‘àÿáÌÀLüäcÑ`÷ Oi°ÈÞY‚õ[9ì(tŸ5MmÒÀQའ0$ÁÝHæÕãr9*³„(FùŒ¾×&¬ß?æÉåCï؃KåúÞ•È$¿d!‹Uél4|«£ÇùøÂnÕ:Ý'¬¶ífЄ÷[±±I¤¨›2¨ù²…<”bÙ˜ &Š—€*@ô$Œ í'ZY"yxRè0­ntïу´(ñ­ÞÌ”p“¨½‹†¶w¦|K[kˆhŒ9Ï1ýѽçÁ{‘½ÄïWÜm1ål·ðùL ÕsÑú@Ù'<ÕØoø›r\ò9JkŠ—Ñ/LJBÅôÜìÈ"—B^ãÅþ˜­“wþkX³³æÚá“°¶}ä“Ï{š‚ãíKØ-z§@~ŒjK„…=6š[ýoN•Iͨ˜±÷ÈÞ×m È)ºv¯/ä•>f4Àåõ”œAÏŸ1`œ0Á&ŸÓNïè=Ð]¸Õ²:¾ÏëïÌ)n[`bã×îG¦q ô™#¬{ÏòŠCÚÒ…[þýN¯«uœÆ·##}½¤Å]?7XÄÜ甫 qoZïjl—X18Ë!Ç$ÚS¸ìš¬Û8LrŒ¡H´Ÿ†U4šÇ ÁVco15¸oo@GË»%jƒcèþLƒÆg÷™_žr˜DÚZ'@Sg¯%[œ0©Ÿ˜Ø(¼Áå8>£Po{ŠŸÿý©@º› +ºÅÚ«Jl|ÑØÖ"Kª™_<¯‚‡Á/ çÛÂ344œÓš#?'½$K’Ù)ÄQ—tÐ^º­Øê7ìNqXí]uWÚË­m"0½fúâøª„ºåN¥0µ)h‡oìXëEy×  +±Žý™Pg²TPRåïòÙ"o‡ÔÎeL"ÔS +Ió©s®#O–b +endstream endobj 160 0 obj<> endobj 161 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 162 0 obj<>stream +Üq7Eê¬7ç.¦×·ч"t­cói½)'yO“àaÇ}€¹,­ðP/°©ÝÞüWª ðóʶ£ŽÏ誺BèQn¾› z›óe¬wysý„ÝrÝ2m¯˜„zÔHX ¤©cÀ¼'1|ãþrº?á LW{àrÖ9Ù”*7Žf–›×þˆ1µP36 <p\,|UA)ˆî.PuÓ÷ëüŽ Z¹oŽÑ߲ˀ)kÕJ×—ÐÙCêk0þh‘8¡ “8´*õ qÚYHwÝC´1_­T)µÅ’™Çå`áˆo%Þš€Œ$€Å;øù@@ÓRccM®Þ¹`̳í6»çQAtRŸ˜CaëQ„ùåÍI½p.ú-f|ô–F¼)+%‹}ÖZ®Ê¦a&¬G’}ý ‘¢vïçÍïô»v)’Ã-p|>ï +“!€³(r¤7å ˜)òñr¾§ÿÓ¼údúú!uñ‚–÷ÛqWæÏêËroiîæezcÔç¤Ht>,Ï”évBJ^+ÄÝå)r@4æáJ†÷ÉtsKƒìuè5&&ö‡#ðQ‚Ï6Ç幌Ï3zØ 0ÂëÀôö•}Ì´Éêõi}êî¼!ô)·Bq¾./YòÀÕ4ù,ð'Õ½Šã0MH° pÈ*Z<¨*GâÛRÖˆ×Âióϲ¥‘Uð¿ ÍÌæî"Ê®¨Ïr£ù´†:~ÊšYCÛ?Ý«ÖnûC&4  UüÍsˆIÃN#šN;Ô|*»&lp"±Ìt‘#‘DÛâ k®ÂTÐà–áí¤ |*²þ'Çer"@¤îĪáo¡’tM5ªm€£¶+E¨Ð¢ÿé…†{Còʧßv(ÀksÚ½¶›ø5 ‡A¸í>š™Îj2Í#g\× Ôls›¥ï¨~÷G\Ó¨ñ­ˆFØ殿ȢŸûDõŽû¸ã+ÍXO½îJ…¾gÂÄøµµä^*“àÊ¥ùÎҠÙyB‹],JQ/×SyõóÆ]È© +[ê&aP¢“gŒ]>ô±zgK|bÒFôBS ýw™tEýáÛ*™x_a5µÜ”Õ(ÔWj÷í$â$Ä;U¸É%ªN!ÊŸòï¿DéԵѷé,ö½{& Ìå FJ ¼jUÈ12MJSÄ%ê\rÏ&³Pš*¼u°ƒu㤒®ÏQÒÃ7ŒP«‚ñÒCKâ´zû]¶Q%Õÿr£Ûy!a3¾F=N–± ÂýùR%Ãy2Ó°Ä…F“ãTËi€³Ä‹õêäÖ>–Š§¶®‹“@¸q“Ïã2@¾[è€YI²î2 gƒÀMi䨗í'òZ¿©Ì÷+½$¯“g¨æ´z' +˜J3C8ÎÂðYÔÐ_=E_šòÇç¸è7”§áBÊÓ« „Œ—9N”^˜·ãÝ»­™_ºX>#Õ _AÚ¢ÅP[RçPùBtŽöófÄ°ešj~“8zÖÇ>d…N·ˆ7”"5rOû„±ˆEEæ€~®Uh "zj‚“ð|ÄØ¢™êežÑ±ª‘Ž¾òH0éá¢Ce¼PùaD†èÀÞb‘U‹Wzq²·«þ¯lWÓ¢Öq‹ã¤Ñ˜ñliÿÍý´˜Äƒd «ÚÐRÙŒ¤†Q™}nüsi³¼IcdÑn9óz2)÷ºOÚÄÑ°ÉŽüwÊn®uD;‰Sõ?6Ñ_~ >_§®ù{ÞîLˆ¤I96  Nvÿˆ§Žˆ‘–•n^ ”nšÐt|ñÔð­v6$g5<È#/†eâvê?‰9¹w}ø õÙhu2þÏhL¯£ölÍVx9™*Dt¬òêÅÍvà¹zë^²ÛëŸôwúÁpC/äžN 7¾ÅÓØ꺜?ƒ‡ø ‰<é/ÒÞÇ}›|ߨ(¶·g*é‘7ËigðBfg¯3O]³)V$Ê™üôƒý*ÊÝvB])+o,`ßÉ­óùÔ‘›ƒ;ƒ†ôIÎ-æóÌ—»º +ç2Lt°þµlS…rEÐæ€ñK£fÙà xÜ–j§.ßþÇVYeð¿ÿ üöBD²þïB*àBx³=ãþ¨ Øé 8–½žSÖœøN”¶dEZ÷©Ö´ïèõYDµ„lÙ4¸Ù„YÀ¤Ö?`ì=˜å¨«$æ@3‘cäžH3ZKI ¬YAŽR±¢ä¦}Û(ôì)Êâä ÿ +øùóðŒ¬ >Ïá'¥yQ¿xñ¢ùR,3ûýÏ^€öiíû&C¤þ¥Ö2)úíÏ­Èñ×¼‚<bçÚTq†Ä2 :öC!e"S\,w‚»ñ ýým›þöÒ#âP̱ªõ/,¢ß«Šàõ`’òfd!àpRT£dЬ¢©ôAâTýžPâK1B6y”áãÀóêâË«¦ Q¥€ñÀ9~˜]ÇÂëKŵƒÁR|¢h”g¤#cÕ$¨¯ÀÆ¡¬>Ãøqh–MaŒy×i›ÒØ÷ aí’K™”]žu  RJ{H†ÈfJfꎀ&ôý0øa]|ôë~G­XJXʳR‘Çá!3ÓL„æç,„ª°æ·6”öa+.˵|Û¡ºf&ÖóáäÇñØÏ0Ò׌#÷B2Œ²Ã¸×ÒYÊã’ÂÙ1]ÞIaWÍgÝê±çm{RxôÅfí"Zj3XÎðWÖ²Ç/¼)ù Åä ¡ÿt÷dE×ÏdœÒÎ!‹J¢~ÙxJ+Š ÛK³’­š~,uØ ž•mXîŸxjõ¯”þË• |ÒeiÄ> «O•ZoàD{ûF1ö}Äžìº]å¬tüÈJ¿[Á_gˆñU0?¨f£Çàé·Ò+£ŒHûÁ4’ù¦.S$žqÚ»]Í#Å©þ¹, p 0HíÂ\Q™TÚ½ ÔïÉ#ÉÙ='`†É\kvUK>S#QË@–å%›çéõ¢¬4]Ê· ¨wæä’mŠšˆ8\â\®hгƒ‡30ÌÒS¹[÷˜æv‹ˆý6Õâ)Ã}*»WkÇ¢›_ÿü³ßÎúW_™ƒ×¼õ+)U¥qJx4…:( ™07‰š +ï[„»´!¿18¢zyæëæÜþ×m¬ñ[õ~hRsé<»¤æ¨+쮟 Û.Ö£­(„¹½pðzðvB6ºC”Ì*U¯Fenî‰^ëü%7‰³M4ð¼õäúüž‡èœ§’oË^Ó1'2Éê_œŠg$ÿ›ýÐÍé9—a·è|(ûµÅWHPÖÌÕ—/­ÌÀà@(Õ4Ýì#™NzN`Árßìy%ïyïMÉ*Ÿ~?6‰ô‹áE¦5é_ßNÅ–,À>£IŸt*Rýs¶œU#µ›¶µ­?D‹‘Wª˜o…RÔå¯FNX~8íIäÔ£¯2µ¤<4S¨¼ ûaŠîÊ™€ç•Ôß釕ÍYžõ¦´Ú6fR>p<•µ>N„ë7ˆ}À\$°š˜¬¹$|á‚&–hžá…oè€ÊÏgh¤{áFö™_XhQÜéÈ#^èX„$Û“`e=D²Û4T*Ï[ ±O7wtàD")ht#áˆtÑršÔº£ld®q³ˆ=»ÄvùžuùàÖùÓ’\­ aö=K´ÿHø­ypý} °Â x¦o`ûN›0Pö-Ð…î–C oœoóhÈ7òà³³Gâ‹—nNcÌvhPg ¾o1·Ýë?ÓFx‚øþj¿:‘¢?¢ƒ"Ž8.£gtŠr}äÕ”?ƒê{·ÀÇæìf14Qß@†®À–º£wŠaÑ[ì¹›íéY®sía¼¯.#³“ÃGó ¨éÀþÊo­ÅA`KtHº-Ç ¯÷iÛo%èüß*i6ùb1naFl±¡ÅO t4ÐC÷Mr–xÂj Oe†´B¿a tœ H#œ·îÀžçÏGK¢ƒÈuRxùrE¹±T¡佬T fše•s«Òšô·Ó-µOª¬t*:ä¦/]=ƒÏÁ¤Ó-CòíÖ2Ù¹˜ÐÆÞÌq—=NAŽîä^õY xT¢ïy2!äÿÇZ/QŒíÙçv…BN>$D ´™¨2jFþKóöbQ’ >-b*%ªÉE–Ê|õ‰wøveôûrp¸ÿ'w_“_ÞX±™~@=Ûo]´º‹—ÍÙ¼¿DøïÇë«pÊÂ…D.`ƒ{ýÇLêq/¸òwÞŸ"ö¢7I_¦W‰±îê7ÕU(C´;O}ˆÉÿûÏØYì•Å>, "3_þŒÒ‘F¦-Š‘ÙU»Ï"æ£C3ÕÒëˆÃéJ·nOj^ÔG§Â'VË€*&ºMcÝ~VÕ{¨6ŒóÞ10 ï÷G'Í-o>Žù»¢Òó~[.¦uäûOÍQ‚{n ÞÚÖzŠÍ4ïÿ’æœØœ]Ú¨ŸÙ±h'èe¯X¤åi~´é¥ÿÜt$Œƒ|ƒÜQùJ»Õª†ù©ìžÑ¼5ø%ë,ʱZèZ~HóÊ!&µ>êQz|µX‚̪²â¸®Î5 œ6OÖ…i¹3!A–MˆÊÉÐdž ï}+ÃÃT~{†´.Æúf‚$ ƒIõêÇ8‘z)Él&Ñ{-õ’ û®â¿)תžƒÚ ê  ‹¸Lµ—Z0‹îi…<̽¤¤ÉÇgÁŽÙO^,Pº"ö'wÏ¢BŸ0[y/Cåè.h ìÂrAo?cùÑ6 +5Í ?=ÖFì —e±›ÀU`(ݽ…/uÒ®,=Ý,£&r­Je!—<Ñ$h}à7ËÅæÐ=Á®j-"Is 0/z[Ð1ûM30Ig¾—DúY ðüàu?‚n¥`¡ +¤ï½O]™Yă3”i Ü›×æ¡ËáÖjK`I4W¬àÛäíuå8;>_U·¶nÜuÛÀKmˆØzÔÉòùð-¿œ#Khé¦åÌ{L¶[`ƒ3éŸíU`¦þ D@ûa·A*ÖÌg<üøvCÏs¸Q°Ñ‡vòr@Ѳ²!ŒÂvCwØC¯ÃÈ1*±D+}c ¤Œ5 +æÆ|Ãq']Ú&ì¿k#ÊqI®óÁZ€Kö=ƒÝª6(çP‰ñ—Ñ6iÏ—ÊÄDæ‡Æ22Úº½ùNS ´x‘ƒåòK™ÅÉ¢‹¼‚]ÂéÙìÅ~d=i“»)u˜3+ +Ÿ•C²@ŒMýYbp¨Mµ ¶i>4ûô=Ò TØYDHwÿâ+h¥(Tÿ.xé4ƒ‹²†Œë””Ê„z"»îáò»4)„n§‰»Ö-Äwh îή¤Y!`¡|äGüßRæ”IëWÃBÒÇ Obšð+þ—©íwºNß”GîóÒÂRÐÔÍñéønÿ{¹Üî°èút§ á£t~Jâ´|MÿŒY’‘‡Úƒ²ê,>›V@1ww @šÎU5m!Ô5c¤W”ëõƒøÂúd»Yv$#{»Šä-×¹ØS–—¬YSɠ󯋔†Œ +Â;,f~¤ÎL‡‡éˆyE> >JÞ&¦=8„å˜ØÂmAdº ä’ôYÊ`¸k¾\7ZGCU[aâq#F&-»8ÿ°s°6ˆ|å>\çãÜRA¿€‚Ñö§ï +endstream endobj 163 0 obj<> endobj 164 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 165 0 obj<>stream +—“àÞùn}‡‘Ãì[<и³žl7˜ÃiS¶’Ú;¥31]5÷¢û™^@O +Äal¨%rV´Õ7îߤf;³3ôÌ>€Ê^{_#ÞëMÉŠù¹A%?V;/XBKwhÝU{ÆKntwûd#‰ƒÄ5¾ ·³ +©í“ˆ¼ñ ûäkì#þðԛ׺)æøðWe]›–ŽCwe¯êú RÄÇ¿¹.ʹëïÍÐ…µ„…jKÅ*Ír·70jW­¸wh»¾›´Š&|̬6Ј*Ê'äG|ãš·‚$€™€<¼*îÖÈMŒð/Ú©M„J›Í™ëR˜æ(gÙ]´iÆDñúÐ?~ërµÄßžê¾ZEpïòþÍ” +1cÔѾ¦ùš¨àrqí9_ œõaí$rµA]‹‰}>.gÖïz’ŽÃ_âE(Û€þ×B.1R;Ä ¥¬ȵ¼8ÊðÛœkËÚ4#m¥¬æeq±‡…©-Š/9 6Rî…=ß,²¿Ö;yµè­Ó¯nò¶Ü“G,-µ­ø r1Ž»Yþê" 3 s”¶?&eäþ„ÊÊürÔ2ì\¹«3=D¸T²í‚t4¦êoÆbÚѬ¤µžùƒ,ŒwX‰Š‹¦9Äiÿ:R©–ÇÞ½û,‡f<ÀÞ’-ó4Û\X®c@W¤‚4è⥶ +çU×Îö¯`v“x$Ç×ÖS²‘ùÔ„r=ënÃm™äor0P`M¶÷°¹¶l`>ê®^HŸ®!Â$'¡ÞïÓ’{7Ípl¹' 0ÎöÜ-ƒf†2-̓‡ +D!HŠþGV‘‚©p 4DµõPf9%)9Q‰Á,8:'€NKhå&¼š%^š¡Fö²aþH’H(}( +5ƺírmçz\Jœq‡‚'N4Ë«¥qE¼¾#¾·752gR͇¼À˃§»z– Ã?Ö_ìÚCHÖAóaÒ@³×æHè”úí›rNƒãßwS+HcÆ¥×ï"L4nDâ­€“=øÎàÄ€mËÐ锞ò«=ûôìÉ@¦·xsaû >tPœ]ÿЊ&dHw¨ÓPî;,˜RòW-Ü])3V÷(ö’œ­4 Ù쇉…Äæ !.;°"¶Å€=còÑiø/ S84§Ù½[÷îæ¶ác€ûŸÓzäg³q±y¶)z#>ùeã3‰´Œ‹jã8¨°;i­?Àoý§y–WˆÓÜR‡ ìûøЀ‘PPc„©Îß×Å{a}†É‘>Ý+iñI?³î¯ÇãÚÐìͪ4C ðÏß(X5ÿž‚Bu]þ8S©@£Eò¿,rÒÕ‡[\C',=8¢ù‚;Ãø+.§&fgK¸$¥løé‘÷„¯ë4]Z7–‡9-Ár?ì b¡PyÎo©Ñé½'.<%Ÿ8Qìk¶³ÅÖ–îüòP퇫?: ¸µ6vþ"2[¤-38DLÚ0…H´¬V¤uŽ}Saøª¥åÊOÑÉ—›ª4Ÿ0Ž¸Å!|€®Ú7§gˆ¥¶l«/MÅćy¾QÿùÊ—g§×›…iaÏnÏ©Ž&Lh ><èLayšò|?‚J¦o¤@Ã7RÒ/}½•³ñûô씫 +AÆwõÈ>žÍ~Òu²§ê«œf½Ã×ÖðÂHxä‹ßû›¯óÿœ ¿2á>ªØœá°È² ˜îK¥÷ñ5Díñ¤Q! «IBÙ(ÿÇýGÚÐOknQÑ)v@èvø²È›KðÐf8A©ÅnåùÜáb‰s±Îa¡ñ:¥ØŽÄUW0¬“’»{3fm RÔ&QXJÇ4›”¼­lËþR"&°¡]ª¦õE5­‚ðþdB,F tvqäRÚ Æ˜&`óÒþAû³œ~+J†jÓäíl!áb §]ÏNš‹…NØå1¬º×ú"‡1f軌†ŽlŒ¹Dè¢æ¦‘y„T@™#Ç1ešG7‰½ƒüeò©\˪ÔÌ>Ùƒ4)?/v&¬\c—h0„Àê©¡®£7ñ1îµ9 š>ð.ÕÐ!Þ€‘N©Í·­þ(?’9|öÎhu6p «!‚ +Å_Ù"´m8úü;ÁõûK’h…]TÉõÿ|aï äm­þò_/%òÝXœmJ½²Îˆi!lœöEç»iªSÃ#¨=?`_Ý›„<©Ž†ÑÈø0ÜóïÓÄJ£É}9½BÙø³DMÐø•–Ä1<'> £A>Š.6?NmAíÒi6ü-†A‚-XD.vø$û%Ä~ªºL몂DV¸…ÆWHÀdÜ«íÒCØS™ö:ï£01žãZÊÅò“”â&‹$8hæáÏþ‹ ±’6ö+&VÆCOv5«hs†L_A“2ìÜ¢b–1ÂwÒºøO¸IšÂ£ŠJœ12 µïôÎ=€ÿ#À·˜Y#£ß{*1Ô‰u“âÈÕ·Hœ^€ö$—³Ôâ |Â7¿àÝàÌÕ ¯±uÌ À͉NÞ»ì寡7ª„«z`F"—šZöxMr#:ÒC¿Ð¶¬® »ªÅD˜eT8ÑQ™–õÞð//OùöÎjÌ|"D©þ`À&õ>Ú®ÆJ²/×z’•6Y£ê|âýeŽòJ2ë/qwõ:/O¥VC\.*‰Ö:½sV¦6…¡Ù °Oò †~ÁP^éø}©» ‰kñ©!`Ö| Åªp'"¤Ì„eáŽ×URÂkfþ½— t»ªêˆ‹WœË¥ ]%{c«UÏ–ôüKE$1ébØÈ»ýȪÌ6ý‰™aýpOvp;D¬L±Ç» .š”ˆ>/ÇEëöÄQ~9ù:h+Ïså‚®ˆ~„Â%*.y½¯öÐ| ü ¹Ò•‘xŒ¶ÃÎœ.Ú» )zÚXØž•ßa«üΊ_‹ +ó¹ +’äÄ‚‰†ÕƒƒXè?Aõ¸sEÈRk—ÞmIÚø¤, Ñâºç¡&™D¶¯  éš)çS&[’ûMR8z<&WBwiåy¸ÔÎU‹ uÞv¤7—È“›™È¹¶A¼þÚ¦?ߊŠÛ[®‰)œ5àíœ>†hÛi>ìɽøªÖÈ—ù†?>iÇÉ +hbùÎjô™è c¹¡d–ÓõwÁX RñP&:lÐD´²Í9÷8k6œ|û½ú<;cµhRt"–ÚoÎðAS¶‡ÞßÐ$,çu ì*ÔÖ?Œµ7–Ëc1Ú3Õ‘j<*Þ˜`Ñ(‘Þ®2|øÜ‚Áxåú&§|¨£-ð«Ö›ÙpÝèjû¢b~‰f3³(ã‡á^六Y"³vŸå¶:q/-ÄiPh¦ô{c[îBOuù0,=ô‰ u…ø<ºÙà›D1ӷƲö#‹Ý;{ùHU»œMo—ˆM +endstream endobj 166 0 obj<> endobj 167 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 168 0 obj<>stream +ôúŸ®+±¯}ßuqŽ(¢œt80Î~×IRXIUð×x=»†çóü1¿B³àA]1’¬PÅ¡gÛíC5º&–.®¹£u¹–]ÅXÄî—Å­óßµÊ(Ê{äFFªÑ€ÅF¿BÊÉ>5Îó`•=ƒ>T $Ú¦iXHG‘¨¸ø$¦ï££ûù($ +ZÐ)ÈáêÚà ðþ‰‚¢Ó¶ºŽJ&¶i)ÐaŽ»«Møfšf„f»rÒðÖ¯|¢ao2¢ïßÐ'/£hiülHÚ|³Yr7Evø5VB׽毗ôèhFç $[EŽ3 ¨%O€Èùñ<‡çؘ˜DyÌ^mŒŠªf»¤î¦âû5£”oõag\¶~¦ø>¸Ù5”.Éi§Å–ÙN¦Öžè³È7M#wÙ»¯dXÇ”ø67ÈõPŽiï´jÏx"F@D‰ÆžõãgÏhjIœg'ÆMiñ³§jTûœå¦qá«OårúÌ] uëÐÃÎ…Ü>õ– ÑªsÙ× Éuº”YuÖ&¢˜êRçGf’YÚ‹c/$’Ã4`8Î.ó¿x¥­èÞ4{gkO¾–ZÍï }‘7Æ=«ÚMáŒÍk`%™öþ¯$éVczŽ [?ËŠÐIì[7¶¨Æ×Ò@Œ8åÐA_ÛMAð^Pr«³R–¥H(^ÜÔ¶^Ddlª%×=6ŸƒNðéëIÄûIóÇK•hQêþƒˆE.ý +Ñ…š÷Ůӂƒ«  IJ3‘S€æn¾Ýd—¼Ÿ×%ž7­O‚zÉgƒÝÒ¾vʆ=B{Z÷ˆ5¦ !ž±)¾ +þšéZ=BÅÃîÛîÀæurß¿ÃXûÁÔ°;î;UÙ¬çw×µßÛqŒ[ö<æ§ÇþyëÁuœEslFPœ>ªêï<î…=A`Œ¯§R¢û™¤À‹óD,™IȆ/¯ßƒ)Âø¶PS€ðã %ÂTž¬þÁø¶*?k¡ûÖ9…û}säÛàž¢Ýöõì“ж£"è0 ›•G&ÞeĽgnÀI¨ÔaXl!΢”ÊÍ-ê…JÓÕ¼-kPÓˆ6µBŸ’q‡éÊ›Š´$émÁ>Åwcú䈻BòàÞ4Q{ ÔÔsü²E©Jólùâùúj%ÐC$"ø½AqÒƒ‹?·»“ÈI±ø¯ ¡ÍÅØL¬.Õ“(:AåLMv•çXNÛHì~ÅsRöh}è9ÙX…z5¥ñfßâ¿üÍŠê¤d…t'z„<•¾´Ô¼ÒÓbåÙû½5„ñMÔ(´\ªß|Ù¶lÔl‘ ¾U9¨¼¢0äxÝÂX/VYGÎ*²Žr5aä’Éý”wü¹¸SðÏ +Æ­ˆÂŽÆ«.ÿ*—PÖr‚ÝËåÆË92¥f)¸ªL‚~#öŠ<¾ë°ÌÚ¹ÀMl…ô_3ê:EϹk\ŒÂ.ß +Ç= .ªá¦q_c†O&ÌK»š«Vˆâ\o=ì‘ågw“ûpV¼ú#·aÙøJ‚Â÷!ŠùÙü±]ÕŒŠ–‚,¹<ôÎêßÏ8€ +Žkú<Ë ° ÆšäBg´Ó÷½;m×8š!Iã=÷›ªB{Ò0Riæ§fªÑd `Ç´ÏCyÎÊ7qw™X_&vüµ ¬>’Úá'GTà}(ˆxÌc¥@®=¦ovÿjÕŸ`²À¬±³âÜ`a ”'¨iFâçƒüG/Í(ŽKâýÔç¨%¶|#ˆ>M€?;GÔ}ÐYÕ<‹Z²!QpËÚÞ s#¨ô>'—öoÛ8Å!bIXI0lîÇ‘ûLH=†!åÁV,þˆÙÐV…üýÀ~S#ð~#h÷’nzœÓ8í×Ùs#ÓŽÒFÓE›…'pxö¤‘`ËŸùÎêÿí*ºƒaH­?ðþeWÞ5£Úé(CB‹D)"1¿½•zjGâr÷=ÎE¼ØœµuàÙÙ©|U~W7°-ö%^ZÀF¹ñ°Í ŠºJcÉÆ„˜]αB”ȽP!k ù°{v\Ûªêæf’uBb;FWÉ(?í»]têÕ’@\ó0ÎëŒÎ3ñ]mj éuð›cõ=’ØŸâÖ—ÙwAì¤<𥭡+Ô¦ÀtŽËdU†'ÒQm‹uLœ·ªØåíü ~³úÐh‡¡1­G‚dóUJ1ê ‡Å¸"ÆKÜZ]µÿËOÒ Þ)9;¢‡^›Npr&˜O™©ú”tÄ£‡Èç9­§Þ›ü2çì¹B^ŒFF&`‚øÂÉxïñ›0ÂS³Ô1Ófj‰ï{=;å¶Uu¢pŽ6Ó´/?å#Q¶÷_u@âX³»»Ò=‡¹sÌé€øZ·>øIƒokâz§Ó»wæTb^“—„Qa:»¾¶®zÂaXßKº±^,H²r&„C~]ek@ÀyC2=é+- Ê"ˆ™çù˜f‚DÐB˜ÍÜ딯&M»VƵäfü<•Þ¡ÎÏœ³#ù€ +Ýf³ÓZœë¥Ëtt#*&ñ×.)|Wš6_8#7ubÎJÝ äŒðáN^¥oL2ìv¬¥Jüþ¶0*êì\,pXÆœBð¬`ž7€›ÃŽÜÄÐ÷-òŠ@qA7ÉÙŸTS†‚@žR¦'ì°pu¬P$'aÎ-ų¼Dê¹å1rTB¤W¶úXLp>Ö™©&•¦æÅ9ò“`Œn|“AÒ‹Á`$¼.Ç„ñ¤à†ô „u¼Bø—Ñö–@–W­?oJlvô cÔ& 7'jËM|4‡ ÃCk¤"RÃÒ°!/èµ»±><5»š´ h€‚RY.øbÊ•ûGÆêu`ùÖ„ýÐ:åkbõäÔ|ó“ͼLFǧ0ʇÝúp AÆ­£.žŠK”µwÓˆníuå˜3ó¶…øWrû\@+à‘ õèðRÁ„îÕ_ÊÔ*ðð§ñ9…³ÁC®0圛=S>&åþ5ˆ;Žwš¾6éõk‰©8€z<©ÑÝò½ *‚­¯ {ËY’ôUÙÊ*PG {‡Ç¿ŽêÒÞ7knéÇ%õ‘Å·Íñ1ŸRóœ™è;ÿèöxœ¶ElFD»‰þf¡•ºß9æèˆ +9¡¼ Š’øê—¾ÈÕ|i¥­‡)­oN½>MJp- Ä ‰õÅS¤ï®¨cĨ;NLefÿ¥FPŒ“»ÚdÔ~e1Ò3Xjg 4ˆmUñxz©1ú­o.î*,ãr‹d~–Ž¢¼ÁzÇÜø:ŒØÍþ:Aà ›ƒ0ÿàH¥¥d®ðª¼§~Õ_5DvóæN^p_»÷šò–ñýJƒõ§RËIùàŠ¨Z¢ò>ÎŽ³¸–áÀ9ìÞÝV{ˆÙFJýõV³#hÓ‹s=I3˜È£»È&®âkoíÊõ²c$ñ’êZìX +.°›ß@Í%.¼|¥Uk,¶ „c‘%_N4ZW˸WúB¥Ù³±™HÛøNFµŽæñÎ2§óüY˜Ì)ýHW¬¿?3àœ|;;î„ÙnÇÑ°äñÂX€Ø~ïÐ&ûg­Kµs¨ÝLbkÚ!Ü3‹€Ÿ”J\µ}‰žX~åijŽé©Þ†$¢ÛŽ¾€vW£1O ¶—qªŸ9§?‰e؃šðA.—^©¬Å´Ù¨(#Z;J!«Q®‡}ÜÇ;Š³Ç«çrõ“BžI›ËD‰C¦Åú£–+ɬcyéò`ûËçèÜ2{öÊKSJæ§&fíð -’ˆ`‡©ýQf k@:dÜÿ°HAúÀeí%B¶½í)2kÄnè}‚ +© ×1ÅZ®ºÀ&QãQs.]b×ýdÛ¯[þàºY„B™ô²‘ß0øï’ÇúÚ˜¹VOç]z»ìd`« ­ôHT¨ª°ø)Ó¢8¸˜§<%lý'¦®È ‚zU‚´–Û}n"Çz}:¥ñþ4ÐP\”M£¿a†…å +æ,c†;s>†º"âÑzUš1¥ÏkAO±X!–ûp"Ë,•#=žB UsZŽRäSçþÛo(îIš©Qßw þ†.kO¢/žx·Þ¾Åø°ZüÊ€;©$iê"QBÏrÛN=8 ˆ>8r™ÞîUóõ_ƒà÷U)‡Xö²"÷ç¿Bvx†Ø“N¤#×2)Úž†¦gªV!»SOÍ׫®­Bš"³û…{ÑWHÅÊ}>‚T\®±ÉPx[•)&G™Èö¿ÞYÙMx¯GжËÁ¢D qú¾‡zåm12ŸÐ.Ú ÐÅғо?£/pAüÈY¾)o-»šÍ&_*77Õ Íš¥RÀ+@|Ìâ…@Ä¢ÝF¡€^MiÃ0Û•îW §Yc&‚9À*A_Þ>~w¯pwruåc¿ój  +YCì*ÄšÈÁ~/<îA­)ßî¯| KÍ1­æ”ò;=Ý… [¨èUÔ =æzƒŸ›ê¼(n## ±xà4FJ^ô÷Ö"ügˆ´+›Ï—Å­äƒaC~+ÿ}B©ï’I¬kâÙ>ζ}ЩÈfàV%³afŸŒ•$FðŒhmÝÚ1ÃÔ.L£ÞgõC)/Ú_â’\õ’N0¼FªÅ9¾‹š[ê $* ÆîÜ¡5ºfÌy„©wDõwEžµsIgÆZ6 +endstream endobj 169 0 obj<> endobj 170 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 171 0 obj<>stream +£{ôõùvÀÁS m÷ˆ¡Fó +`kõT0Ý@–7ú×v DG:B²—ÝÚ—Š{g$ÇŸN¢Ž ¤Cc:dëBGz½EÉ–”èÚ÷òA…YX­útl°•5fS:_1©‡(šZt¾%ï'¿^4¹êC9ê¶á[OégˆT$ëKâoD;`Ù®ã7J÷mhFsÕµ?ãæÞíÐ|¢cIâiÄsT¸jÑó‚?U &…úV9FÜOðªçI§4U¾ {´›À‹’?DÊE}`ú½íÏ~¤4‡ƒh«Aêsf“§³ÑR[<ßß{iVáÂ…‚æ®kÅÄ×׬ÙxsÎFZdÚ ª Œ t°Fœê_½™U•Üɱ?Óâøvà,ÇÙ?½>3ƒxèŽñs¾íU,ôM‚ÆÄ pœ[õcwÕ°¢`>6ò ã67©Z ÖÀqðŒY,,sñÇKð,È„§Ú7.VciV­]ÀϨ”ÿ®Û²²X¨óáSq—-õ +^^‡ BèuÂ$ íGŽ-×@Q¾ÉK/x¦¥kÚ9;øpÇÏ#±¡Ž¢€¥(²%'0L”:Ý2]PØ̲w9Ç_ô_̲ÐÒ5 +×ç¶9íØLo…Ëônö‰`gpV× äÀÄñOD®¦54áÙ7R¹ ‡AzÁLö$Æ'ç¥=àþÜP5®À`lÛ%iœ'ÝcºHŽ1]Ía‚Öròñü‘)˜Ôä­%®r ï=¥’Z&Kòp­ôß6“ñü©nmœ†©£y–›CgÏÜ;hÀ$"‘µ´l´Žäšól7X/¿¬Û±#xf5Cáæ ßjùîÓó\Ǥˆ?oHÓbЭ6œx (zUÚiÜAMXù§~ºÍÛ3ö<‰šhÊà˜·q xþª¹Ítêô=쥫ÂÈyEã?Ì¢¸òt·6[*ÏùQ‚­p÷Ìš|êšqëÁïÔmn2¢a¡'?PVzd h¡†P±¢¼Cl$ä[8éVȉ’š”ýŸNË›ÏØË®JóկʓԄktºËx” ÑÐé¢_ßÒ“R9­ñ}5±ph£X„#)§‰AVüRpÖÎ=[Èí‡ùÌžã ÒG7O ¼Ùù+i:ÿê·47¨aY¬P¬7<‰héXÚ)ü.$â—@½Ò¦F ™8oó8é–fŸjwõs(6Þ–joI›[”?Ã>'uQÆ—0Ú#VÃ?°*¼Þ鄘å¿8ùè™XØkBÓwÛ ©}ÝöAùj9!@«qn1ˆÈýTëXyPËà +-d„‘Hûx+†™ùAƒžbë£å&ýoßüÛë3¸u²Z“)MÜZüìC>6MW|muûp2R§X¿Cà”©ânª=êyž°ŸŽ“ÜyÒj;“’€OršZœî&¯€³Ð~së­OCᙧõ>ˆÙ·½ry¾%¸d}?ècEìNêÜ¢ ·z¸SЊ»É·%@™€»*‰Î±Cƒ¦GS +s°¯Œ=ÆЫ±€€ü7¤…jH¹×ÿ‹\ÅD+n3kßøß«§Gµ¸Yâ¯_³Š÷HGÜfÏÈ›;62ðàCRvîÊ“²Ü"è9—Mý²IÓÙG%´?ŸéÜ¥ÿIÉ1 «6Í›kã·Õ^ÓÊeof“[Ó ·K]=íчû³>ú=‹…`åLü)ÒÞö$9{F`@°˜ ^H³ª,­[ ˜$ +µ `D|­¯ÝÕ¾ožªâ,QGáúÚ/Ëþ¯i߀\{«ùPb—V7æ¿.Ò[Ã@…Âƃm…oG¢VmØ÷N^•!©ö‰íÀ³ßi8ogâ±ÏBJè.-ˆ¬Œí}×ÊÜ XoEâÜÛ„á*n9Ôl±-ë²³õd‹8ׯßÒ\‘„1Þë¯$‰iI¤¡†ùô»° +ð÷*…rÉ »à[Äþ†­D\”O²öÀ¿À›u&øj-dž»e?•ë/·yô;×ö#“ <–#K»ú"*°]Åk™m:C”ø+€KŸlÜ,ÇYi;E”ÎÝpðŽ["g3³·®¢æÙ«YË™†¸Ú `Ï°½£Û»oGïG+äµz»|þI@0ð¯ÑÈ÷ºå›¥“Ëß +оûÏ(1ÒlðÜG8Œ;R žœb•E!/¾^Dé½ï±j®Áz;û—¿l*¦Æó˜µ@áiô:rx P…rw1ûCJ<ÏÄn‰`àiº®j`–+ñ¹yKú4𲿮\ùQ?òVU>ƒëÚÚCù‚õaFpÛÒ\4µðsž^´‰C4ÍL·›Æ.!-0šÌ)®kÚAc…Å:D8v¯gÑŽø3™D…®ÈÓ ÿ ›/µÕa )§¢£Ôõê P>Zü´ÊÃäH¡cšäÈöîuâçÆ WpS¾ÿ¡¦»ó¼a®~íØ`†À ¿¬¹i€Éâwa%Lœê©sî† +ì¸!~tÜ} +ƒD³H„öXºpœóŒ#<«y阱îBÆ‘<œ˜KäSîM^Ô}0Aª‘O”z” r–VVð`±'.v¡Ðùѹ~”É-C,¬Rºž|‚  É ‡†g¥ÜüÐJè°Ù×"m|×A÷¿N5Ji{\,ª[¿ÆoîÔÉ^|Ç +8”¥ÍçÚŠ!ŸÃ÷Áû(piË{ÚÔkØk–Ä;È˳¯læ;}yò[²QƒL]’ìèB5åB5€\“ý ê¡ã°¢á¾vBž9‹xÈø%ôÍ‘#ÓIEøB-YS4\äñß.”ó± “Y}£°B!‰&‰€jøü?ß°ô#¾ÞtGŸNÒs–äœí‹8Yg&‚íÕçúɇíÓÎ×®œà̓ ’Ú°Éd†Õ½¬Æ—AŠ‰îÁÖÝB#ë å”áó–{CÆä·}uÓF]Í r bÖðºAë]r7†ö¤¨/K‡`ˆ,øº ì¥%šÇýؾÉ6ñ[&üò Çæk.ƒ?ÉD‰Lü”ùöðôþ*u gcW½ˆoÁkKq.8s}éøRÔû`úŽ +2ÕÙN=:ý>ò3Oª \¼RñÅ +ï]"—¬KD%õ^©&6¹a˜oÆŠ:ç¼é:¢tã®Þ¥ìOæÕ"Tcb÷¬;S€” ´R8“ЫÊU’U£xñ¸[-ÃÚÎ%É[)Ÿ…œÅ×Hý5–³Z¤·oêQž·©ú'J)Ì™(dž¨Zø<ækÿÅ’3CV±Wþ/ +Þ‹j³.ùe3¦9RØ-êÛ–‹Ë–ÞؾÈ%¸7>~ᾫò"7mb¼GŽŸ õuŠKcÿA@µ¡`c¦ËH ­1$yøY0ï ‘Òn;‚ÛRÁ©œÎ¦»3?QrL–9‰‡-Þ^BRtîW¨ºÂ­ž_¸©m'¶]Þ¡è,í‚Û=êƒôóÞ/øY0ü“mN{b9^%c"L)üm³9ÕXuXy¿ò3|VGıǭ=ºFœ­gÛ¨Çë5ý}v…ÈD°6¬4r*>nÓ$+ãïB¿Œ¬•92•õ¦y&XœœÁ³1Vƒ™güÌl ? +¬rÃu,'ÑÇÖ¬üF…žF‡¢V&—úð¾ïJG_ (Hkö–•¹W¯ÓÞéC«ºÉ#én@h°™šsŽ?ŸÂ(FøDºò»‘\‘†#Ø‚0G¯l³?|ÔÓö’ÍÍIÜ©6 ÈÚJz%=cõˆx2q!ðT=¬ÁO)j⪇0 W€CqXlÜÊOg¿ÛêÓ¢¼PÀüYx?L%n¸a˜±@ Qàbu+m¹Cé*:ѽ>ÕÌÊÓŠÖ¯5¤ûB6IÆ^\$ÏÝ“ë¼jZë¾…îäuýx»Î¯#3Û9\qEDðžºWôÁ_/›¥^Kœ}¸Œá€Uaw H¨·–é!ŠÎ‘[óGDuî3ÁùS6z“ÒƇÈSw'0Ù(ÍS¿•Š©y¸\Û 3&uÏ㢿ωÊæÊX÷š%ë¿œ)¼ ñoÐ}ˆ¡1+Œ ¯L ¤ |&¬¡d +„ûÌ»hô>‹ñ½ˆÿ\§9¬¨æ°.q•ãs×'Là$ˆZ,W½“B–jL¼D*5’ ¥”Éqð\]ØÆbÒxb$¸•>M ŽßEĹ?<°§‘׸AÓ@9â„HÊ?K=I *•¦«µ“+?t;#‘q?ýMtñŒf쫃?©†e×:?å“/0˜%ïPþa,ð¸Ò! ‘â¦á¾!ÜüÉ ÆCð°È£áýŽ)­óþèâ]»0=P§ó'¹…&Ý0W.âÿלÒÍÍÁªýû\[È0ÉžgÈ1i”>n +–ÁØ×a2½;T5¨¨A’o5,´¥’9²@ö«gMx²TÄkÑ&²öaÂ?ýdœl¬æ #Þ«K’{ŸÞåi©" Ð6«6®Ž6"{+jhWêE2óXVÃ@én ªÖ.äÃâvÛ tß®ë7t$Of@Û÷&±KÝ»®NL¼r=Mªª´+Pìí¬kÛƒ =ºbÏiŸ3¾Ùšùªu‰Z¡Šÿq³Jt9FÏRb­Ù‹žÛ‰ô¼4ï'fʈ „1²ûF‘Ø ×®—q±'ŒQÇ”ýEv #ÙH‰fí?oXyT慎í>„ÍdÄïtÚIõ@ÉW:è_ë7Šnžî ++ç‚a!{¸,Fó‡ÂØ,.9r{3ð´E… ½bÝÆQúGÖw „¹dO¦r.¬e4ÌÃ@Åž<÷󲛦ÇérÑ"d¬ +y>ã{ü•n/˜$ãOxW›PÄßä¢íÃ2kòõ¿:bE$ +ó‘_aË«°élÏ-szýT¯RÍÔÊjÈEݦù|oA˜«¬d‡b-àB¾+ÍW;[õš\pyPvê))¤X¤Ž0’ çr?=¢JÏTÔ×j ÚC–p…sœH©x|·Tz¢$,ZOv¼ŽŠŽPd¶@ì¢avâBÞ/ÙßEžîÐã¿Ç %ÙZ ¶™Àîí +»Òšê bgÕ™yÓy ÷¥@4rÆú€êW×%¼!Šòl®lº¶pÉ)¢[VmK¼™8£ÔöÊ’áä½Á +„ _“)Ð÷²IŠ–-X5”†mžbqÔŽ8ê®rT,VáU¥‰/Ûì> endobj 173 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 174 0 obj<>stream +AbCU¬uýÑñ5_ãØÇŠè®ÀÐ/à*Æê$.Ø–ÝŸÈЮˆîòú×äÜÖi¼ÂŸ¢Ë$D±1ØZ‹ªË%YòIaÙäqÓÚj'D»€•.&v'‡ +à4¥ xüH¤ÛÐ3^ÜŠ™ëi ™KJ•ivƒŠ]ÎK¤jÏÙo|E*$›éK†›^˜þ€Ò=ÁTð„Õ݉{ú ɦø‘6vE¡êF;·Uí~?UkÝíÆ\qÂÇ x` §ö‘¢ýS–G42Òrs_µÜþ$@™Zœ­„ü \ªêÞ-B K´É™GíQ>u±|ý¼UÅ«—½EnjAü±sJ°×]¡]2"é¥Vsø€-WIÂXÊ/í•Ì*|Ì¥º!ë`O6ÂYÒŠ{>—éÁ¡JÿœH"ߘ3öN ½þÏWLQ­‡òH‘Ÿ%çdãÁõ”P¬‚ ‰¶]â¹Fàè|Áòws9«A;ðkÒÏ@þ[;ãÃ8Ì›ù)««Â5èbÉ•Ìfw/whx¯‹ËR ×âûÇSZ‚ŽòFG‰_Ä—¾-Ñu­€EW: µ‰—GÄ~U2:LCšüœG&8µdü”Ñ3œ©¤›{ñÚ+@£€…†ª²Çcï* ÅÔ}{û2xãb“Qÿ”Ý@ºŽ³nXZ Ô—ÛÍÿ1ê ÈH¾¤[ÜQBÕk¬fšòÇ ‘«ý“»rAW?—,N>Ç ¤pñ¡Æ©:ºÑ@ׯ, ¤MyHžÿB¹sðÝç±y™dèSFO¨^ØÄßùi-tᜫUà¡J<ImwúÉ•.^q]ŒZHÕšFûÅLp, +[DƒD æ¶ð”øHÑjgáX”=Ÿ:øõë{Â9žoãí>ˆMC†úÁCÿzªSkɸՃ¯ç3ž +.mÙ&‡äDauU51ŸT¼71†Æ¿[uûc,RíìÆü3Ÿ#ã¾²³eݾÐàæò™¦ÐI,“CŸºKñ†°»KôOÛK> +3”XÊ£h—ØÓØ-û£eÝ2ǪìE­ЯC* u¹”7‰ý‡‚)ô@-øO`%LéA㡼*CQ²jo³K&40s>¬öºaÌÀ‡Ù:…´¹Ù/â³è[[ô RCâQ‘I{+×Õ© ­H9m¬Øj3‘¦ˆÊÈðÚá¿HyœÎ^Ž.5[!¥Pé`¿ú5“ Ko[Öç,úƒÞ*7m¿¼³€ då«LÊ ¶TYMñê¿18Ï1^;ÚlÊ:ÇÛ4µ•Ütœ¯)}öõ½0qYª©t§ÿæ,[”Œþã ‡ýÛ†s2ÕÕ#[%B|ê˜`+ÿõ›…²\ï-ì8ì¡”™ùêË/‰€xa0íïâj—ЖˆRþ$ØiK ] +?L)Ù1³/4mœÎ!]£rŒ€"¨Çìi‰Æƒ>`¥Ñµ”>hÝNÝ/ÿžaMÛ>”‹U¹³Ûœ1›]VÜ©y z%òÂZ_S¨ˆìm¿Gžº>‡>=¸qœÚZö¥¾!z|¡¡¿ÛÂôX•Êψ°¥ãµŽô\ÎJ{['º9x¹‘Ã$5výÑ9äpëÏ¡¥Xò¢çýÇ@>2”x+·ŠG Gª(¼aÝ×Ê”š.s³º Ë/8‚ÎU.p}ñµ 37vûÞá׆힇âÿ¤¯Þüã—Y*˜T×2Åò§‡u|ƒìë~é€^ùüºB¶§3‚Âto—^Ô;R‰ž}†Æ’*«¯N\³ÈrლâRòâø©µ„t¼5Ï;¡xßr‹ÁHßÍ4ËÑIæ(ÀÞ®ø>H‰¹-í&=Wìhô²ctñ&ÛŠmq„&ŒtBŠ¯ÄQ#&ˆŸP +àÚ%í ø€lU0Å*xò†þx\¿YßP6£ØàN F„vÓ4]¢íÆõù®HénBÚ=_0;*Òì¨wNJdP×0Ôp0°¼ +ûØIR²÷õć•âµõîÙ ,ˆú„°v7žæùí/P§Jê%ýA e÷ß:çÃhÎUÙ­N‚+^-;©1*(™^=ÝèûàËŒ÷ 87˘ü·~ûŠ2§'qˆd¼].©®r|o‚¨ ŽÕaGg¬x“à 8™øPYýGŽâ¥ƒ ¾ßpµwz)D*š¶+ê1Ïš}‰¨?]¦¢ÿîoVöŸ žEâ¹ûjj¾é-"¤f)à~J;|Ûé*•õN3•{˸w‘…_ª>ŽŽ,•ø¥6:mFÒž%feþadú ˆzbaBÖÁ–»áÝ=W^Nx‰!È#k®š0M‡àÇW‹Q§ÂªN–ùº 8V£bÙ›gñ—¿‰Š(<{(o®&õ¤ñh\èä!Ìh,þUÝÙóË—†s|¥6@Ë[³”bÔ.]™Á|±˜Ä)½T¸U¹ïKS~ѹœ)z¥½ Vºƒ#ê6· 9"Štº%æñ…;ÁEº—ñÐC¾î;ѾךÊ+¸§ +q¹SŸ8¤bw4~Ç94#\ûtwõF}9Ϧ˜‰“%15áõ"4úº?¥ƒT%Î8~®Ä*'ÅÈwÀ´á”G¹¯»+`*¨”_L3£H]¤ºÕÃ+SiJWÝ/òym*V¿£Ìûw;1Ü~B̉ï‡c*,Šx¶~Ö &õ_e–U ¨7ÓhDË#”SÎJΙêbùä>x<¿ÄŒÇÍÄW`¼FHÜv´(]Qrê–òûþ¥\mCuõlq@ÉW]ÃRP´¤¬&`Ç[;eï<¤‰?î2C 'ÏÆ‘SIB9Äž9)ÍõÝ«ª·‰ÙëSbÀî)lBuBCë×€—Œ»ß™µ5¬)8A¨Y† ¿Fhg’mÔûL_RÜØz×T –âygÊƒÇ ÔY… J E³Á2²æèßÔ#hõk:ÍjyLÆÜ$º-·å¼Îîa æ|†Óo;!otÞP[ëºdÛ›GLHâ0œÝÅ’\ø›ÄM9'íò[| æÑó/¢&wz€#%Äøaí¬xÂÌx3¡1hŠJ +f¹ Ë"-è x†Ún-Ïø™­žé(òÓÝß·’¡‡bÕ}E,QŠl‘­‘Í ÿ ÅN´ãëÑðॺÓ‚75„¢þ +v3W1Ç«7›MíNgïÌ=[®ëÎL /wë=Q/¯7·¾ò7\,kf|Ÿ2lg\x‡;·ÑþÎÓ·Nxa‚ðãºÒ(/k 5 =µtža’¼K²› oâ3vè73†Õp‡#!Ü·üÿþ¿•Ån#‘oÍ%yÜ9jübV¬È¯ã™æZ´!î´z0šƒ±=‘~&gæ®2õ]ä5EîOø¾©Ÿ :™ X \žßÜT6×'$î5ͨÄÿÞvϺ E”X¥‡ ³Q…Ø·N=žÔ[ÐÆ0A«paFˆµ#‹ /Ë)¬Ûl—!geî)WŠx)_n×:£§wR¯";²dðB +™2žÂG ÿ®©¸µu­`‹™4ß ʳc,¾,E@=ùó©-:„hc_‘n^ž‹C¬xìË¥ÊòÅ-ût‚x^ ²¼'ðÑ{¯±Ë†ˆ¦‹„'äušÂ Ô)ŒÔ”½¼3‡ã +kõ…T21`™~aÚ¾"^ÎÑ{x¬® ›ÀS§7b"³ØÄ›ÉÖ cº_ƒá^#½tý c©ê]|[<%j_†§s¥~a0øããT1 Ë‚·opuÛ êËùºˆéœ½8ëvõùœã»÷jx!žÌ¢3(Ët³å ÍÞp!Äð/[éV½x ×öVîk(ëó°Ü¿eÔpí" +n5ëJg€ÂËCDÁUþ‰vMO%‹LVm¢ÍÎâc-®›éË_lC¢¸ÝPx”˜“pS†béLj¾å=Re̱8 q¢ŽOi¥JÄì€v/‡T@ô8\5rEbìÖß,OµYĨM6E¨-€fá_70Ö‹÷<«GΊ›+Íèƾô˜éW eÂXØ¥Ì ™)"´E‚ŒKÈ34EŽ+®(ÁO¿4yíÍÿÒ¨íªÈàcw¹z<ÅB´Ž£”í• í¨Á§; ûöåçA ®Š@zF7êŠ/cþ +ùb먆‚¾‡VEc¡«Ã ³µ]Ð]¢ás¥‰LíüõϨRÇ_Úæ +X3 ÉO)ºkQ×-Š¥ÀsÑXj«†Ï?1ž„%AC)¬ÈÌ?",úéÇ*Š¢I€—ˆ0xì—…“Îöv= ÃUÖ€óˆF„ÛA C@»³à% +c˜C©[$èx/9[rþBƒŽ¢ Ë75ot{…}²üÑ’7|j"†H´"I]c; ž«Ñ—vÉ9§e”¿dGs\žR‰»]Ö+ÔDÖüx>:l`}Dj0ÉX…þÖßø%˜z2&» ©ÈJPèûsÎÛ ´¿DÿŸDæœÓä4£_kHQÅ?~n»¥€)ãkÄßF†ÛÍ/Æ<þèµü +\gÕóËkrŠwKá~sg°7CÒwk!Ÿ À…›õƒ"×fþq±J>EY’Pºì¸ßèˆ\Sd]>ÞÞá1c#CW¡¢FÐFv¿™U¡‚]Da$Jxn=§Ø¨Ü7Ã݆èR©Õ ,hz•èÎv c€še»—µ~ÑãM`>ѯùüÀNuú¾Næ½¢©A¨It„JëÓ¸2¯þKéª%EÏŸ2vŽØMNqO@|âWZ’ÃÉÌ‚º¸ ãFŒäñÜ£*ì*êŒ^wzŽìÇR„ѦÂÝ \5OdŒ4£$ºRìN† ;ÓB¦ìý€nÙ[ßý0À®®RüÜ'p…4¡Ažßú­‡6›h×æ0«#.ÅA)o1D‚¡ež“ž;ç¬ÿ5±_Ö6eÎq¬FÍF}á*ÃT¸GfB…-Óü´zH%5£0 È¥¬Éà}¯R>lCðD ,·áøéÄR£¿‘­pãšÄ˶!NØU%§¯W kH©¦lA÷Ç6ØyÑ=” Ÿe¥®c\eèþ1p?2Š/- 0jXM\`ŠT?óÅäé˜Eý™D +DDÏ ý84w«Í3ŒÉb©ÎX?¬Ù{®íýf5Ì‚/;ûhɉÔOîÓZ  ºÚº4ºïVdÜ”¤–vŽå´p!ªY‚AÅ ¡JaCbü‹5ô£Z] ç€Ù}Iä;A§fVPXŠ»é’,b«kÎó×K^rª_ÙÿgŒP7‰l^by¬D!˜pU%Ôß±K9¯në~Z8¨‹È_½—†7Ÿ:ò †ÅàIKp]P³§¬åjO€ þ»¶¶GÝç¯tŠz=9·ÆFIËz`E3f¼¦|#†ãÛLNO¨O²JÅÎ^¯ »xï@zïÇÅìÀÜd@õ®ÂýÆ‚#ªOz òWöUË>˜³í$ÁMnƒÄ…JV¿^^NŠØ`¡ÿYtÒ–É5aðlw¢ú×w Ùùq£õ_´YSÁuU®íÏmñÐk ÑËÿÉæÔ­ÓË54þh¦°ô“¿¨xä+”C]álØßr†v)R4‘W³7ÖpÜEZzYÿn|\GdžÕÂÖçÊÆÝ8Ù»·G‘¾-qÚr”/l­—)…¤Z´Ù)ôØfØŸ‹m0åC-R˜7MCª`½á¤Ï¨Ûct~íÒþ›V‡]:Å]T<,Qxb?áYùJÈSýØ9(s“Ù{P•n]ò#ÑÔ8ËRª¬¤Ç“=¼Æ8ôãò O]{C¾Ÿ ·qÖ$‚gŠùþ´‡d!z+Y0-›“ʉ¢ $¦Vòöß9†Ïï×¥ve±°´xgâßgÄÀqúØl½Ó’ù¹é\¥œÇ1½ET„µ¦‚U({ ĽŠä¿Ñ=m©|ZQ®l½üµ¢1Õ#3²&_H’!c_\à#Ö˜b‹*ì“–b’q¥=×ýë-°×rÑì·vó\&°ïAÇj ÀÕîr'˜¯EôYWâ‡v.Rü²hÑ$Iƒ–õf$ÅÏ#,©ÚsRåÖ*†ÕeJÖ¨7¡xOcùuðšèú +¼Ðœe‰ºcôù‹ªK¿ÇÚõÿED0¿&΂ѫBu[;Û8©ÎâØÊéˆ"Û„·zBŽMRk8Ç=Ô S“ÜÎ*(ʱÓhw«€­öC¡-¡††. }6«yfŒkÊmg$È iå ‹nLiÁ™¼}KhgÎ!¨¡¦}çd¼0×õóî/ZÐHDÊ€®1é«5ÝúàÏ”ôZØARŒÆµ¸jc+¦,2›úC«·à%I‡çô¶\a°ìMGÓ.ÿ»`TÑ“ÔœÀ¥}M3µ×{¾ýFHÊÛ"ÉÁ*¶9ù»lr{†Qa^Ð~×@iZtC÷àQ¨_J0NkŸn‹˜‰":éįòµŸguÿP‘ôjŠQOÎAUO´ú;œ asfà¹Îo6( 3TáŒP¶WN_Õ˦٠ÊÂa1=Ö5)nÞ\Û¢sàÍÀñJNžˆ|\‹R î|SöÐo —9Îß¹Â.á÷rÍ&BÐ{87Õ_­á+ÝdõbxÔ'âÔdtö ýðY”'ë:_üìWd"ˆ)VŽ´”_šLTËÀ¾LÛ‰¤ mÐ`_ÞB<^bw,¬±äb9È”š´–¡Pß!¶Û‘P¡Dý¾|(Sa8Kkö}KƒQ­0Wº´ü䑯ë+ˆŽ‹f™k?C[ +\°_r¡gż_´ÈIG À2ã Da2k½~2å€Ü”þÃø–Rêt±˜*.wðã–òóÒvEª‡ ÞÄã}>ªÞI8“ sªṉúÌñ4ÑLòÀç—ôœ¢ #<Ö¸Í!£BJ’3õG>Àpqvn¹Â)Ü@^ŠÊGÍ=¾íÞØcd´“Ä HØD¡‘Õiu± Û^Ç# ‹DÁ¯á8÷%P  ´e1:÷œƒÚ¬Õ>¢¡ÆbF3zx°6à’y}”DBSÓ¢ùŠ†Zö‹Å|Î]˜;(æ{RKò­Q,r™l[ +Æ"¬ràV’La +á0L9fâ§sØHÕÔLÎ6·¼[Úï"¿À§ðöÃeä`1¸‚X )ÒŽDwïc]ܹq¶ÝÈfPxtçJv«–°¶ e͈X´“0Ä£+X?º„!Ýø\½Lií ’rN‘h¿ïÿ¤´4òý—ªÌ +endstream endobj 175 0 obj<> endobj 176 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 177 0 obj<>stream +ÔŠºäy"ÍúLâ%¥øµ­Gc³T‰•!4æ=æRÅî Ôî“Œy”Ídâ£`äס´bfõ }·æÀ´5õsÒ´™q†3Ÿ•ûòg¹ÒýA¥¦ª„å1>kÓTxmô–À¤ø{©ê„L~k˜qæaæüœ03Ë Þ¤¹¹Ëß ÓäMË#K¶F8wÊpZ#,›VÿûA_§ØU$IöÙçuZúËíº7 )` ÷Y§>·ãUî¥öª”Þ‚’”še\:õ%v¯M}÷ RÆ÷øtºŠ…#ì÷/72u=…TWˆä73A],ÃLJôï®Vnv$3»¸([VÕÓ`3§/v”(¯Dk4Þ䈹Cç9I¦wB—y÷EÀ"Á|F +‰V³@ Úï5”$gpuÆ]Cˆn«ŠÕýiÌËî?nÉ¥fbE8hõšˆ[du )â¼-Û»=\m;”ç ÀiÆ$F>ó9‘UØÏUÒ2¸¼à‡Ë÷¹|E[51C8¥f#{§„aíáÿ.½µˆ+3˜³¾¾uNDy­$œä›Û*&D©Ò¯»·ÇÁYÕWûÏ9(,‡eÿ¤æ®°U,%Q"èÏX +³Á»]©-ßÇ›lÃɺú­M8*ƒÈö{j p™" X%‰(Çå¬Nøl¢­´>vÑ‘4U—À)‘|U +eŽÅþ舽*™ÓPXY?&[üçFÝ&ëà•5$¤ãîÁ9üL5Œ +üÃؘ_ò£ˆÝ\ÖÓà×Äšô¿…K‘%~JC? +–ãÆø¢„DT8ÞÛÄðÔ<‹3ŠRoYnÕ‚ÜBÏbB¨ÝŽ‡ý9ùCáXá8©þœÕNü¥O/vÐÄkÃØÞÂúŸ¶UIÈ"<å–zY÷ü(öê¿«ì&øS)9_¤Vë—†ó )õM«¾… ‚Fåo“?´ÂFK%1ômÇQòOêlªÐ¬²Ö|ÍT£Ï y>ìÉC§#q4‘€”„PAÿw AM½‹Æ™OW‡ìQ°Ê¶nW|$ ¡‡w|ˆ¯ý(‚-Ĉ¦†Ocøª¹û2\ývxñ°áhÑiøèKÓ%äÿ"/ˆÁób±¦R±ºVL¼yb%·ÇûÛN3o‰F¥iyýœsµ 6Ö†‹Ã;)®ù3ðø3äV„Ïxž”vqªÜýÞh¯Ôß p¿¢vCOu{V4E`;J´íðµŒ}ƒÆê}¼§ ä1`Ï%ÃwŠc;â/¶lò&£‡ +/bmЬ¡BLH äù +Ìh]qÖ^3­˜óCáÛ—3´h¹ÔÍ+ñ»Äâ"©yÁWØ°¨JÛð+²g8ÿ”†*Õ'£š’n–Û¾S"ì{’ðžMfì1rì]ÒñçÌ×安.%ó»…{ëÎŽŽ GÐ „ÆÜšbyKÍ +™`w™>ò†ê*ó[üìì·;‰Ï·À<ªZû´h_W`¼-H³‹S»ÜÑh Î|u…ÿÎeç„îvhà¶gJú¨‘'}€i&“m¦4pFnÂg F–xßç±Ù˜¦oËÉjÉn¢‡Lsº™”Úª]EÅ.8ç9'®îÁÖ<{TAíýE]û¡Z§&r¨Xf!ä'QÖ¯F8 +òdÙĵׯ +lk·FÓŸ ªÉ”NÙ~o»¸M5¿§q—Ÿ +Ûp‹MÁö-Ö«ŽCõg16N·íVÕk|,$á4TaËX°‹»zÐÇÚ.)™Öp¡ÿXnßµÇV)Óxä§MlÈpl!' ¿™ùLô§£“y´¿·Ÿÿ‰·Êd)WY¢×»$oH™bÿC,O¡_ËËH˜‘0¢ä_ü ÀTŽÂ:ØëùVýá° ”t…ê@ÆX,†BH¡‡%¹.Ô#3KHR™|8v+ h„Ž<±x¼BT69T>6ƒÙ¬÷Ž3n æw¸ùwÕ[mYV}®Ãœs>Á6Ëß. m+Ël±ñay‰†&C%5éJz‚ÞÜÎ0¯µ+ýkÆ¿‹Lf*š)âDz–²Mi¡þ¨)’åñ>……d¹‘fÕ@TCD]áßLD³ %µq"ÁÂÀC +ü áÙ$ù ¬†Ã*CÃÏÑ@ þv^@ïK¾€)¯"ÛëG°F57NŸÀDò`,ƒu”Òû¶{ám4W yMÌÍ kÝPÏFíår.øètyI4±â¦Ðƒ"ì“Õ/ +óY”ÅŸp쌿Ôçž‚®À‘E³õä+–0#@@=-u‘ônÚù4%> Cî! h™îØn/Hc ãÈsý¯G:@ ;NäÏÔ´ÁüªôobÙæ³¹4ãBÁÍTš¨O-Ñz¶5:¨qÈĹO8\ŸF–t I—ÖP_¡vnîWá”ýúvg[áù`KL.=—3ðJœÁ¹LÃÀW°e²U%0•q’±7ò‘ìé£%¾å,šïx !ºfqß¹sk•ˆ 9š‰D÷úu™Ö‹XÈŒiT»UCzoXóêÁå¿Rª¥° WE¿°MÆÂÃo·ô°!3;ó µ}RÜVPÛHh±~yüÀé³YÕ´…®bãË5F³Õ<'ø»ç¢á$ȃ0Ù%ÏDÂ:úE¯yà{(\DÓNÚÎ̺ßœ^3$Ù%ÒtqÉñ`é“:tìêãöò8ꨡÅç_ ).Ÿª½ìöœä‘€Nár)>^óÕc„LKôu>S’—–·¦P®­°—ÒÈeÎ;ÊT¢† R•>p"¯»/É©;¿5ÈØÿ¶›ª|ðÕÂc`«¿GPÒ‰AÚ2úeý æó…½ i|1]½ý¤(R'ƒíÿ¡÷&Ñhiá„ç‘¥¦K‰uc…[ZðŸÒ·Õ®·˜»×Gé†ò%G ΓÛ#e,HN¬YVKkæç¶4Zµ†-Ðåö£ØtÅ`4ŽØÔ]õ®?ïc™ÿPïÆÑý?ºŽDÑõ”‘ªî–-Ö½€Î›èÉMࣞ±çèÓÊTæÙ•?S§ÍBŒÛ9@î% ˆ‰Ô-an‹¿Ôs“E `æ“Û]´P↴ºY‹¾Âˆ½nƒª rPjƒU‹]ÜÙ&†gâ¸ì £|³7h7¯Vã?´Ç¹/hkÆ•¾lKÔìK xëü!X\ÛçöO]†à}±GƵݠ³;çHˆ»ç¨([l·ÁN t™×ÈBâK £Ü°#úí~,e²F5LÆ·â6³í£ñ“?DU:±;Þ4Ú:§KNß»3`¾oK{ƒ +¯*ï¸Ò<}{ ]Ç‚I Ué·^ÐòIÄ´<ÈÝe:=i œ(ÞïÛ˜RþÈêŒ&ª æäöùŒ†ÇÆPd†6%Z…5ÚdP®Q¯@1µD*ÖRÖˇ'ǵ²Lâûf.ð£ò.°8-XîCì\P‹Øí̃8ÄhЃ×!Eñ¢•fé•V[<ž†3u_„=MÚ¤ÆF‡bú—¿?;ºŽð¬¤ëp¬„Ðè·W ‹k”ã ÕsW ¡9Å$·1ǫ̀9Yít'¦…z|< ÞϪ_q§êº=†G#*x'zJ-JûŸãÊÔƇ,ù%úȽE[zÇ&Š¹j Sà1ùäIxÜ +endstream endobj 178 0 obj<> endobj 179 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 180 0 obj<>stream +'Ü¿sòÛu¯ÓvnÛÈô7°”r&…øJP +2qјJÞí®5Ç Åcd®É(Y¹ß©Ú`ÒQ ÷ƒµvŽw[[ì -7Né nôî>E_}{!¤çAš6A £v¼½W9Ÿ|»5$Ü'P/?ÒCRŠ¡KÕÌEÕj4­¿S„³Ó¨ºcz9¹&:oŽÅ•'÷gRºƒRï'žo˜’Á'®4B#c¿ØQ¤0zÀ`4Yr³—ÒË~jÈÞ% ^åP}§ÐÃ6âTkŽ>º"q.ºA‚$LˆeªÓ]ìm´²BÅ/›o´±Šå˜§òÍÁ™ðEìJcOÍ<—Â;GÆ¿‚a?uß.ñù_•Ü\?=¹kéZ‰s=—µCc« Örkõ :Æþ!ƒ¤íd¤£†¦ -iÛð¬»ÿå‡Fãô ¯h^^Ña#¬‚!bŠ“§\º°5  Ñ°þF9 Ü ïÌÈ2b>M5¢ êWÚØ#®1šèf˜ƒ¢ìËì5:EÛ ,Ö´I,ŸA 0bÓq/FÖ>W'¡ü%Ø7x» +ݪåu½V•§öõTä#ãÜaáÿE¢F2•ò° 5KeöãY¢œ¬³–“ªü*|m>©ê'mÕžÏþzbK‚¤ÅsŠ|Ý/þáò?Ä w„í_š•:4Ñý® ä† T<*´ ¶ò ¤®HE¦©ˆfñ‡ŸüXg#ñÏ5hŽèèØ­8&¢ÅXø/Íâqã‹çŽ„cQ—Âñ©Mñª¤C̨û¶l WùkÓ¶´AŠHdãN† ·I±V`˜b`gÂŒŽÌ'§œ%¼86ÍÖ´ 9‚묥ßðBmãqÚ‚d ™>L+Ù³‡u­Ø\༿O?åFz¥WhBÈSÞÃî«G2k$Ä0R§_AVƒH†dk¯õŽ¨¼¦Æ¶/ýfJãŠú¹"¢)¶ÓÙAГŠì(ê@¯ìÝÂï©6$Λ@q’³i2M™lTÖb&qЦªí IB`‡´Ž¹'̘»; ªÿÿOĘÐ+×dŽbâFÊ>¿`ôÓI_W4»¶c÷ŠîúÎpݺ~ƒxFÜ_Ž>¿›9G‘ÉP-µS›¯<]£,…íà__-Ä[Ë´1¼ŒÆ_u+äxåPúF‘h:Fú]Y¥’·z9¶1U* Pxˆ›'¶¥á$—j©ôŸöŠ{“€Þq¦cbp­…w¸BÊÛš#GÚ¨0+©(¬’A2NÂ^殚~¢íå#/÷Ž:ÝÏÝËFÉÐqwTÿºoþÀ0´&“ +°€0ó&”Oò¹øj =qQ0&Ò%Ôk%uæ%êöø´¾·*rŒÁyëÍUðk>×17ÈCËfv=TsÛ4.Aæ6:L/„òõðù–ãPŠÖࢮ„ç¡GF‘åuç –5Â|Ÿ¾ŸøF ¤œé½4…µ‘î]ûXg×W†jâc®ˆ˜4.ð¯HŸxWî{ïÚ¥2$ü~~ú]”2•s]N··Qê%`Ä7ãvLؼ)R5ÅÖ# î½>xw@á¿D³Ádj7LÏZ•sIª§×úM®´i/Äãújs¸SÄëàH$•#%›Ìw»·hþ¹P»=Î×ÈQP‡²ÆBâ,½÷ò¦ÈÛ »ýÚ¤ìy”ÛVÓïÓâŽçÌŽtñõÏ´Ý­ÜIg³Ÿó˜`ôPA¥ô†=]xóñëòpÙ¶·é!戱L¤\mAxôì‹´’2{á<»…ÿžBÀW¸kh»Ä1¨Œ}U®Fìúão‡Ñà¬xÞó¤ÜŽiS}7ÌžºÕ…ýW0>,^DA®;Ò™ý‰óH®QÇÂ¥Xä'¯5Rva8²—øÄV‹<ʇÜYîΉ÷`!Z\½À»X~&U3ö»ë?(¶wßù=gMÏ'+&–«½ÐOc]ÇÚø3g–ñÓþ¯U6òÇ’ p‚3çèn駯GK´œ¨â%ë Š¯ÏЭóšrò½¸§o×»G8s67Œ™ÕÞoÙT¬}2 sñ<±Ñl’š™‰gÅ×MÔ6;ÄÓ4°QóAmEyNãÈbg–À•nÎå~8ÄÜè)}=Ù·ÂE¨is>›É>¿ÎˆÝûèE“PÚŸ°B%µôD´~ÿ¯%jOªJákšÆmb’@,;y´rzº… ü{Ù›€^RÔ(ßš5‘÷ÿaç•gNÊ| +C+¥÷UÕ°å4xÐ#0ùûèíô¡‡ñ–”\!ìËCÚâñïyxé{í«’¢%Ðñe‰k7ïèÜÈ~Teø|—+W^®}¿Èº!EJzBü:V(USË-CËþö\9™ÖíeUÝ×*ò]‡U<!bÕ<0bäF94"‹íy[œ‹úÚ‰r#$©ÍVÂÖàÉJ{y¤%þôÔíë¿ß«2òqtõüÆmÉ Ž]| åO{™ëïc”Œ@ÈUÝsAm\+O¬ëy¹Q3‚4+Ú`צ§S(!Nþ›¶ÁŽK=µ#Aê8UbÆÐ4[á~,€†™Öò@r“Tû!TCÜh6èYäH7Ÿ{>rPfÈò¥ª =L׬¼YÍd.Šºß姯„yœÛP™½¼7— K½³©$¦KÃËždؤöA +¸o|ºË×ûý–MIYòžŒº +cŽðâQ®ß=`Pgq*v²†Ÿå Öe®§øiÖö/'þ­|ºØÔüQ­1æ¥þàx&ÛiÈ1`°žmrd5u¼²§×åçí£ÁñÞ<ñ ¹67µzHÒí³ÝZâ²kka—?{‡Z"®Fo¼=@Ïu¶œ'¥¸Û4ϧ#9£ C,* –äË»ïïÆ$H| oÃ’ôˆ}lþžKyÖ5é—"leZÎiݸˆÜÖvO¶„¦¿‡G 7gXùöŠÏ 4î&Ø@Û° =‚ÿËᦧ>®V9qY¦•¯R‡Ó±•P +JH«çଃ;Øe&Oõ »sàÁNñGuc3ãi³{${õÎz#–´%z%EÖ`·_a|Ї1Ã~¹n._K'샱£ƒw°5qó‘] ÉÙ}/o¹rhN‹\°ú5ûYãädú‚Âyc¼Î̘,k¾§¼‚ÉBÞ)/ôUµ¡rãN šÑ|ƒ‹u+ä¸rƒ LéÔ3&a.Û8›'\DàöŸÙ^þ¥’Ø_-gx¶ëT솙\%OÚÍÉÜßód^PÅI3$›ŸB4ü­ÿT‘#¿OßXÖz1)6Ó6Yx nß +OWêCALÏ Æ•'½‰Â«OIŒØžƒY1A"<Ê–Ûÿš[š $w¥¶Hs©—~õi®N$Aþ”š}Üýhq…‘½úêž .Ä"âoŠÚ½Í\¥‚‡&IŸÀ +‚y"4ÒÇçëÿ†jS~;Usj7™<—áMß°þ`Í µûWݾս<­:›TBö¶5¸ûq5°q´Zo¤PÝóvöió_S$LÊß…ÈM½µµ…ªí/ Jø“„¢ô˧\nÃ`ꃤÎÃÌH'©ÖOFsüÛ½ûXÏ¿¾rIŠîÞ~Ž\bd ØO7€¬¦îØœgˆ-bVt>¤]í™áÿzϯJÊúÑEiÙÆ$LÕ%³7³ŠJ‰mËFîSFü÷ºÇ=ÛUì<}‡úÛV¿:U) Ú\ÍG4ʈ.³çBxëX)×]&èX»~E€ö9¾ºD¯§&*—à ÒŒŒÅómr#s >Ë®ž[öüJV«Q±þ) eO¿Ü¼±BO{/‡»—Ê~¢¾³ù~…ÎãŸÜMàiÚ@õèà`¯5Õ‚Jz¡ÀÿdÚóŽ¹Zmük)žö± Ìž#C—:+C (‡v‚$×XEPñóŒ-+ÇX®xñÝn]wÚ:üöÁ+þ4¤ÊÅ·V8óì©8_Á…ô’#*ûZ „ WDm;ël=LëTàíqã(Wm`„Ý}}UÆ{`ÌÌÌÇЕÈä¼nßo&¢ÔN2'Ϧºî‡+³¦M>âa%ìñ)±úª?Ày…!Ïã ÀÒ3":­%G;GAœ’Vx´9J¥ro]$ùtÆI,Sç¦`£K´%4ÅÍ"4“Ã_AèdX±a¸ŽAøz£@qÈ2àwÒHµ :'mŽ5;{°¢£v+Š{-jvWDÝê -Tm&'æN­ âV “ÝpÛ€[¥µdØóÞW‹µ§´©§´óúx®åÙV%ÕÙ,j[hä! ]œc <4-Êã¬[ÈÓú‚ÐQr‘áìµÅ1Üýƒ`e7)_Íþ"ƒt#Àç»XØÀ§!ª6¡MûC(^{ôˆ½ðˆ±ZÅapàrY®JRÃ9JñºH"ñÝZ '|þãÇ*Š:³c=\e`X{ÔîMoÍ_#@Ýãaœ1<1IÒää¨=¹(*‹ž†´qC™ã,}Ö +ýyv­˜ ` VFžÈ›—CxN.¸Ò¿¬Šëf/RVE& 5_O‘ìÓ ª±ï±[Ûn‹W×z¢h´L¡On'0v;6×ÇíÝÇÇ•ÕÐËt$‘:E®!JÀ^ê—€–Iù¹j°Ï”ÞOU‡ùä¾Ü£¨mixí€ýr(5Ö—¶Ó]g~/Nˆ”BOË ?jx¥ÕDxÒFË…éúö"Ýj8g¿|‚™Ö…M‘ +‰$hØ–ÓÀ{Ð-¦‹”Pδ{“®ƒXòÎhÿ$“‚ÈȉgÒaåÖéËùuí#÷EíuÎh_7*}H…ÓNÑ >8ŸÙËê®q‰vUœÙàÀºWÄУ˜¹ÑR£(I¦}9\D 8#<Ë‚„ÄMºè«WqPŒít="´²oaEJuc“Š.: Õ«Åh¯õáÈáX&]M¶†)›ËÀ ®ÔÀ:Ž€~¯»¥^áPV‚êÝiºh  »v­· zhò·~³Ü>´–B ó¯zŽñˆUG³*o‚ûû»+:¯ŸK!ó)¸4$ÖWkÃuÀ/ =쟴ŠÅèÔ“5jžry[íV‚¸rb°âaIDÅ2„§gK]Ù΃þÁ¸mœ<“…fæôZÕæâdäËkºv39&<{oˆéŸk¼•KeN*£Ÿ³Zm +jD|ïA¶ö›jÆé†0ÖA-çy×N𮑖F¥èPOÁ) Ä­WÎËçKóÓ%(K+1@Ç(Œ>‡ae(Z×q–ø[Ô·1P@ãyqT M+ =Ž.4Æ܆cwcUd L¶pøæ +endstream endobj 181 0 obj<> endobj 182 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 183 0 obj<>stream + öŠ_lyÐ&û×íå„bâ@OÌû'¼°=U2© ·) CbJ*m."^b ¡`Å9Ç,’8™ù|ö„¨Æ!‰Û„OÃú«« ‘7ˆÊÓÝ +äÝæqû™ ëÿÌ"ìpxK€Ç9 ³NÏ=¶Béž\¹iËÈHñìßæ@eq{c!|«cZÀw§vÏ3ͬôà:è°Õœ@b*Å* ééQÍS˜–ð¤Ò¼IýÉ”Š¦™ Àv:iëîx­£¨ö!eX1qkQ“ôB”HPþÂ#௠+…i=ç2jç+ÓsÕ$]DüwÞZè•Í>ãú²ëêpŠÞf¥KÁuŽOòãÿ§jÀ¼BíÕŽnd­5ênÊ“±lOITHÄX!ž°yÍ~$‰Ç>°unémC6#(»·á=l‚éœb·F—¬ÓØÓ¤±LÎÕp¶ˆœÐ~i\„ ”)~®;•±Ú¾Z|†T<*gŽ¤â%öB;É@Ü ´üNUüq´ˆ¿{š±¤Ggr0‰dFK3¹<;Öa!Þx¤tèDÂOëúAPä+-”á͵ƒïøYŸ™ï`ˆâÛT7¢Ñ,Ÿo/DX[ÐìaÉÃS³*¬ëXðæM;}À¤£:›Û÷~¢b*…VY“tH¶=ýÌ÷ìÊÀ¨.„ª&fP¼ŸÜªL;<ö•Ÿw˜R~7î„Àõ‹m&ë• þLôéªõìbŒ{$¼a:ÆÃ5£¤Ø¢žÀëø»ÞøìåN¬¦¸!¶{•}¿ÕwÑ{mÏ^å8'"Ï r<ΰž\›é‚2©&I}Ù¥‡MÞz’ –CJæPöÑŠ–¯+û ýÙ˜òÑôÔÌYsŒ/ÐÀBéT¤îû›îÌšý¯úŽË€Vg%|O=~×rdŠB_ŸpkÐ,“êé‘YkêèeÅ]ç>Vï$ß“JQÖjº‡¢q=‚ÇÐþß} +€µòï͉¸¨ÈðQÂÿ‚Kò‚œÀm–äÕÕêN}È—#¦ñj£¨e±\—Tè·®íîz'ð5¸ +¨`Ý[G¾'µDIKü;‰Nhn#fŒ&öH”§Wªáϼ©¶$õr£ª‚ç&¨©”ÌII½`× +ƒ:ÈXr»ŸÐùqP{•;Ï„G%œ§7ˆ5G°3W„£¥à>Ù«{âüLn8˜kKÒÊù˜Ø ˜°Û–å­ rJ¹ôwϼP#GüYûg@5îÞŒ¶ã5è¯d¥ú´N5씕òÉzH1ˆ¬í0À ÷ÖÚ›Ý —N\! ý{$‡\ôŠ@³Xo6ÙÉ3G¶ðíä@¢zÉmÁ?O…är{I0]JŒE¤ê‹:/jð6æ󶊩”^‹5±êÍ +¯xo Ú¹ýeÞxŒdç²õc\J]pL¤|nJûxÅ糧ð.ì×)jÀÍ<ê§oóÊ7à2ÚJéS™G¢ë h=ênˆ „—N Ž˜ä…ªE¦”˜QìŸóÜÖ^âœøफ़ñ8uŽg7(¶vë6šÕeAt˜%ªŒH‰“µáJý-ú:l˜QBHºØ¿ý7Cþ`!TšJá(6Ó|ż„GN÷®ÂÁ¥º‹ p•7 P¥°lºõ:YK×fñpgžßÆj +š³]Nÿ|n@¸Ç…K%_fÚ/þAïÊE¤!8T!çSIJ·‹ç\‘¤,6aO³½ï"n„:ø¸ØÏä0m‰àKÅú±ª§3õÄŠ$þìÎa½ +dЭ:V·wHç-æõ\ž7½<¥û8áþ·«N˜‚TÊvÍ´Ðc k¯Ù[!jÓµa›/¹ã(XÄðÉœºü*ˆ/#įŸÖ²”¼–·æm»cs”©âuЀ-V%BdøÄ5úE²ËÚ®ÊkZZ†³àehN¬¶ôìŸÛˆ¸âL3ì¿ãr6'ù“³‡."åð“?Ëyß!K‘Õâ¢"eú QxÛé!÷½c}ß+±¬ï‰IZEXÅÀ_´é®XfOÆkÑ›ZúóD’Ç"ª–¤›C`çiO˜‹ù©[ägש![ÊȈ…¬O‘'ïÝ4^l¼Ç“ iŸêÊø„ÉúùoÇÇ$̵0`O!Uémw0pZÊ(‘«õ"Ò—6s}[¡Ö¥/~¡Œ:(‚FÒ¬èDúô í~¤Ûì½uÂNg’º; S|5yn_JÕîÉç¢(žÂâ~Eh7u¢ç:ÔÕ|VSØÙ–æjX•5qžÒ.ÄaF< «,?s³sƒŒØãzÌ°Í…sв­ûªõpXŠéÄŒwÉ›õÚ^17ÊBŸaÐßÒ@ï©»C28Žª/®¨—Í“Lñý´z„íy£Kƒ?Þ³êø®Ï^ÛR?uqßðbÝsÛ ”AŽ‘@PšBœŠA¤Ãr¬VÂ6ÌGÒõ¦@D[KøþlžÊÞæ2c^–þþÐîû¯l6ƒ¦’ÜŒîŒîqÃú†Úà/” +˜lç³R2sÈ,ª¯«ÓþÚ×b`_wJ>ò"_œceÚ&ˆûY¿*žÜsŠ£’J êt…Ç ô¸gX'TI@ˆx¶;­ Û™]ê +.ûï<¢„–¾[uÌlxѹÚ7¦Þ•­?ý,ÁèoíuÔj X/Gã´tý(¦ý½•ÉÍéçMN:±ôFˆ¼L­iú­§[ƒ z²ßœøî¶ZòsVqR}'Ç€º9úO™ ŸÿóýEáöƒ –Kºfý@×S˜MLÎuœX–E_1–=JT·öÑõ½C³hS7¦f3§ÇcŽ3;©k•Œ4e&ºïù‹]rS÷\’Sò55>CJ•cJjØò¸´š@IåßÒ­É­zÔ·ÙÉã¤çÕ}ìå)yöœ±ËÝZY@ÄÚÔVÝ÷ÄÍò(]õæÏ&6PuS7c¼vö·±(–qš®A®pc‡®u¥N¿QL¿ø¬^_4àB¤ºR4ëAE²1ÃrdÉÇÎt•›ä… þ {NìŽ|b8%©æ&÷«­7$dÒ2/­ÛJí4È1<ìñô¼úü«R2›ËÃ×K©Ñ§‚¯¥M[Ëžã ?|Áá§IeÝߌNÚú1¥¦9^[$ANýøiæ*êG3}0ééŠT¨c…zÆ¢Œ!ËydLIªÞ>—‚µ&|,JGx;øYW.2Ú $ 6ryë±¾Yþ}€oyÀih\²úÕ”ŠÍÊœûGǽÃË ìµP@rî߇çßcãy§Â ¥)a¾mÄ5š8ßÃsWÀ2`w¬ÂNÞ¶`° +æchñh`Û<ý÷˦ÅëŒBÔH0ÎŽ~ë NŠaïÉÌ€iŽ “~Ĩé@€þ²¾²ÚÁbäÇÁv»Œ*ë=Ïž8æÀ °Ô]šRr¾r;~4€ £K¨/ß;¾BÔ½cƒ¾–•øŠÐð¿·Û²33ùjHõûÉÏ–§:7¼¼k¸¿Á•¦Oï {+¯ÚµûHg—¡*€±â°Zúd/C4+ã½/Dª’þ§jnÿSƒg,S+h0^ugŸÔLÁVê¢Je-Ýf9ßC`Ç_~ü²2xâ8¼E[jòÖ€ÍéÐ$rû¿e£ï%ˆ°&¢ÓÊì | ž ú™ùjÆ/(©Š×©¼=ýa$º …Wì“Ôƒ¹ +¹TÆòoÌb#âeŲY„–ïs +endstream endobj 184 0 obj<> endobj 185 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 186 0 obj<>stream +¶¢þÉZg×lIî,LF°µ“šëý-*¨{7Ì‘S2y]óÄJCâ·`"F}óeCJèÍJºF)=G8=bð¿È aZ¬ï˜‹Võ(úçŸäv8—_ÒíÆN¯þ[¤4}«eè­”ry+i%í\&”ÌõßvÝE‡¬´Giz£w&˜X·‚‹No—!cÞÑØMþØúY8W¡(aTvºNPƒnúÓe ¨?I Ÿ„ͤß÷ßÆ”ô)D‘äÛE>[[ íéüM(â“×ùt l>lòÑ­ù© .­Ç‘¶nÜ-Ð ŽÂÀÅ/Š´ˆîî|q2ÛZ1=m€ŒëúA~åÁRJ¸ n&n8- qŸÝ¬mçêñ-°`)+NÇ>®b>Ú£D’ÝþM{‹ó°¤û%æÙVhq9·Î< ÒyÓêþ³Ìý:³WŸv&FWœd°IŒ‚\^;ž¿™"Ñ7mÂŽê4i„(hH´ÉVU6îÖÒ×CßgÔ¹ ¿–Fà]4¤ ÛùnU"i+ +¯§ÍF[¥`þÉA걟ÔîO;Œ0$ûà _êñ›“ÁDñÛÀ~鶻ML„ÕljuAO˜¥"X"²ŽSfÅ v)}6dD –qÀX:ìBIJ“4kDÆ×9GÌÖ²¤*lp<Ïš¦£¸ )µ¯¨Ý 6\Oi|o³nƒZJa(Y¶©lžX6ÀÖ'c ÷ïT[Ãk %ã`KvKô•UËz Å÷>˜Ãaî\š@k–çÚ¡Ãý¡8¨ddqqööâ§øÅOee ²ºp`kƒ.Ãr +(ÏUHŠÉá*^§#=.$b­Ê°Oª«V½˜/˜tŠæ® “Ó ¶ îT0„Ä }R±·¯}+é~Šó+ÆœšÿÀ³×£Ž‹AÔŠüã,¨—ŒèÝ4f·ÀTvæ;݉g¤ÿŽAן ‡öSI 4©ÿ·“vø^kV‘@7@m¤4›1eŽŠÏ$O± àÙz Zù>LZ” bfpOž¿MIjJYá:Ø”+MÝÀwž%ZïÛx ÒOîëË‹¨R1:ða»@mqÒ‹¥š©S·‡zÓ6eñä^ÙÖî’z€Öð°¹êÐFÜ4K½Ð;J­Ç+”’ld&ÚTÅ\FøüÎ¥Çp‚ƒlÒ·çŸ=»RR4¨ù”Ô"ͺ¢±j +À´=ta´«æ¬e¾RÍe0ÅyLM²ZFõFÉ dd.wܪåDJ-\¢¼±7 ÿ7F—t­cxõ‹(º‡­Òápg+;ù–5¯wä$®¤Ç±Dþƒ¯DíÇÂÛ&‹ûÓd©È¸!ÐÔ&<{¿’jïEðæWeDá“.»x-"œfÜ÷¼u]Ô‚NÎÐ_c-,b^o­Òy:tàt*~( ¿m†ŸÓ>VåjmtG‡( +$GÅb]Cá‹…ý7ÄK Ï.´ i&{LJ¶¿†bäò¤k”0†ÕejÖ‘–²i#©‘\[gÜÂÑ•?zdl€ë©È †,=sFZ$üˆÃ»ÊhX òTw‡ÉŽ3\…Hÿx!xµTQd„L;^=;Íè7Ù¾¤fÀBmÒ"ÅŠù N„ °›¾}­þɳ­OüÅŠPþö؃ Çv+a›àÀoíT¾Ü'­;œeO;‰ÙéÈõw¨#ÃÖÙ]Ñ‹nÊòZŤt%,ä¸ hƒR>b€Ïú$v%þ´P·<‚-âmÙIËN€€|•¸²Û•}f“㵶³yÊ/Âÿ˜ æ ›E¿ðÍÂX®àlÂ%B•›Aui÷âÒÎ}U¿]½”£«½Ôƒ¡x5Í{~2¤yN»ý¦Þ”'v]ìh^û¯µÜçFL¸ÈÈœ¤ï5í~ä”~|*ë›-Pâ–w\•ÈDãÆ®”Â/‰ûL¢EÇÄúåËé‰â甇ßP/ï½~:˜–˜¶¹º{‡á@[É0–ªß ·Ý+4bˆÁsµŸ²AÌ’Èc”Â….”ÙðOzGÅ ¾™Z¦“ìâ¾2xåI¸ÍÍêuþɳès.h¹áz +<µCÚÞ?¾öS’ÒÙð?ûS¿£‡0ýwwÞâ¶qgæ}ÒBOû¡ER}!Ø,~g–ýB«¡9—£±üÂ75xÿ È/¬›v°áb<Óc˜Î¸„ªÂÞ3ÍP赽Ž÷ëw¿ó“í»åXP+‡2Áº¨?Ç8ëã9™¤º’ÏÓGê¹ãÇÊì§LQÂs r–—Ù²Næ/—ò1çÓ*E"ÌïO3¶5Þ[vÞõ…×æÁèjAú縆šÍ,CÏÄÆR^ñ^aðÎ÷¨“wTy0Û€IäË…íô¼¤¨‘†¤å(Óšµ%§Oyßxœ÷qÏh¾îßñfŠžâ!? œÍöe‘uS©V”¢ØÃq ºSQÿ\r]ÔJs9Ëê? '–'6q{ý™`¨‰j©ÉÁ"£y‰þ8Ã?›ùš,EÓ{ ¸‰µ_>ùE„ %Š6wZ0hn6†ô)쵘žh'VY“ôh¬ ’™ºÃƒ¢rÝÛ×ÿÄ}ØãI¯½sá¨áçÂÓ³ä倯èÉu|d?ù¹maNv4‰ªú¼– +ºÜ/‚tørjF¨å…ÃU¿UöÙïìd°öjW¸6‚ø(æ1¯¡L†{]¡²D›ÇNPÍY‰ùIaÝö4[žÉuM×Eà†4æM› FdUîê›t—Bq÷F©ZVÞù§~cƒ™9±;…Ú² Ÿn’ôØš3%‘Ÿ Øòù)±‘¾ý.ÎÔcñ÷{½ëì‘n Q±G³çÔÝ5\g8QPW™«ËFl÷çÂ5PÓ!”ª¡¡,%SʧÓÈÃÔ«±+êð!0_¾&oœªð«År^¼ò · Áž¢UÕËÆö |Ê*÷áÏÂñ +—[í‚„¥ÌÙ S<àÿژ煜Ç[{©Žöv® '§Ð‘‰Q +endstream endobj 187 0 obj<> endobj 188 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 189 0 obj<>stream +rù«µåFŒsR J_7ìÚ¬% HñWÏG=è o?hG‚C(ç+o<‚_PFy–Ö 6S.Y>ND]z[òòñâK#ƒ‹/§?!*à.. ˆ!BÅÇ-ä2à\þùr!Å—\K-U221ž*“8I1fbïäRF§~27ؾaƒ0OŠMlc¤£Ét9ºß• b-âû(â>‰'ÍíBÓÏaÓ·ÒŸ²OâŒm-¼K#¯ô)—÷|,™\,¥áb’==¦N,KWê:!Ñe[ÁPÞã»RW·Ç—¥Â™—Óõý•$Qz¹äð¸%¦†˜Ú)¢’ÚÈ°@O4NM^6‰‘ЉV%ßþ†“Fbh?«¦›¯#ŽQçµÑ#ìlÃGˆÅ–Z|Ã1îS³ä1þ°Ú}”0͸‚àçŠmÅ ½ ÿz‡nÄfçËÎÂ=»dê£;FWíý¼»°x! +F§,Š©—¬g¾î%×ÎAVºüT-TqIÑ^™ ŸVh C^ûæJÿ>l(Æíó¼ŒÓÑüÄ•""ùñ °—°"*gîð)Ïæ“¢‚¿~qÚÂ[û¹oGÄé(ÁÌ_žy-é” 5¬qùSM{6>ˆEWó<ë)ŸKFø›Œ—9uŠåV0‡ìõë…{ü¡3z¹fQëÞű—â ÷è8÷À26·bÜìPbÕ#/ÂÓœo¥Ýô ¦rÆÌK2 º‰wìþþØDê9ÜG÷¦?Ϻ’²ëð#vŸßâf$ÏÓ¤ºÒi‘VCT’(Re¸zob‘íP”:I‚ +zíàDL\-½˜ØUôdcI¯Ä.àëâ×@‹Y&ˆ“ê’F‚ñ;Ó¶6œ­€§:Ox3y&’nYçh(ñcä Ê(Ô="ž¢Øô`Þ„ËÌåâZö*ì*ËZ‰Ñ| 6ô²©glÛ +aþ®è> Uâ7qð©¢™µB*¶v¢n=lÏlô 00KëRªG¨n|€É¹¨XâOyƒkøHy.’ç瞪C]yÞ"ƒãXεAuØÕ˜,³1+X®¹Ü5«žp¨KleüËcvD!ó£/0ÊeÓ¤È!î;M©£Ì2þŸâzm#<¸ìÐBüÐ'SMzYW7žŸ|ås–âˆÜ£I©D ·‚àǘ=XŠ¢=W ¤ž_ØòDÂ(@ö&.@^ˆÆ°ÊtJò²v<'˜A¼´e'lÑ?F.¥³UMHÜù‘ù l8¸ÊˆèRù<¦å¶­óŽœ1¡ìkèÇßx¨ÙAe_eŽ«‚€¡€Ò êÑØ4"Aÿˆ,´©l^OÔ7zË½É Hwºb¹™Æ•Z[;´ŽŒÊ#›ðÅŸ" +Õ÷°«®95ê|“˜î×á*T}s/zT†ãÐò9Ëœª—†|Í;âØÀ½DPŒY2”iûœ˜Äãûœ +'_ ¼ºé'P½ÇRR­ ØBð»ŠÖž6l~ÅFtb÷Ù¹”·¡ów£‰YÀ,"&¤˜ÑÚßË¡sÊUîF*ÉWpë=‚J:/Óâ¼Ú¿Kò‰ª×é°Lm¸.PлK¦ßyg ¹ŽvñR¹wÁ¦Ëìœu&t¥/LFÚrÎ"¡ë›u‹™ƒU~ðE³ˆxèp_L–V¼ÉÀ3¯j>”4ÃïG¹Ó'˜×ôúÕ‡èVœë3AD%»ºÆR–Û/‘DcjÝV«äõó—Xå%¥qÊ°o#Ð +w”}ÚDAéB‘à*[]%pP®ïÊàÌGow¨ßu‡=AŸn#¾&TÎaij‰¿IAÓô/C쀱ÛÑöéõGúèF¹ U‡6¯FþÛŸ`LDضcÜ”’Õ;jl—¥By=”ÝBˆrö{ <êfîÞvñÎÒ,„j‘C“Ô’cºœ«hF‡¿yä^£¶D¯Èoo¸Tg‹7Ö”(»ÜÝYQ–òˆ•ø½ªâoù I’ªâ¤Ã „xPÒâ/¬]"ya‘ª  ïÞ÷ë„?ÝÚq°C0é_¨¨²  Î3¯'Ta.R¦ìÅQ¹f:%󻽜—}9÷Ë Ãsò—K[ìE7øP7 5hx=ë±V0ÈÜm);!%t6ûã—;üJÙ!"Úô‹Å¶}ûÕeàP¨ E>ÌdÏŒ"TOM6Íý@ú,“¹Õ>Š#PJ¸«’íäv0.®|:ËÑ0Ñ>Ò’rÏ©–ÀQ>Æ'-Nå›ëÁÇ«cÖ·ð´é3¥ˆ +Š#Wõ +Uïup9 U ’³ÿ0òw¥Ò›Ûº?63þ‹í<Ú´§3—Ó±:X´™š«>LiÙÂ’Uwø%öPžUŸiÁ<{}ñqºa–ßV?—ŠPw–¡È‰(`B!Ü8…FµøÍgh&ƒ||+/‚§gታÅ×EtüÐN”iÌàŸä9öŸë}9 9e[ «P'…TˆÞdtÂù–©qY^ûhé9,ZÎ!»ñ_…ñºãJP•_ +‡øîÓ‰D,1ö˜W»jïµäË‹È«¿rï“¡ª,AÓ6%Ž^—Ç’zq°,a†ÃòàòØ 7+Ä=3¾çH.VùïÔËýoÌ ¯÷Ìk§ ŠO˜6Ã` +%õªßÇÔyŠWÚ:Ó9Q’¥KEµf‡‰,ÿ ®v#öjãZ&u{víŸîýÇÛ+ NÜ\ÁÌxkû„8‚8öÕ¼ŒYá°o`s–‰×±½!0Y¡Ü*«[?bó?œ·Þ`0æ˜>ààpN +Êg'«†ÉÈœš4õzòPp¼Á·‰.ù"Ž¶;É0ÅK?(æÿ˜O8Aøþ&bOôHÊ`*[K}Ë¢ãÍ«ÜEŸDãG4­]ÆQ$u S”ÙñMâ;l¹—óxvDÃIL¤¼ÝoïV+¸Ð28éÑâAÊ’(Ï|¶âäÔñÚ#‡÷B=8ßÀZ¤£2lü]8 Ú¬oÚ¡—íÍøhÒ\Ø4§VJDP÷.ÓŒ°¼ËŽ ¢EŠàA‰5¸åˆÞiÁºöèP;¤÷„늸ï"Bc²EÀpøæH€Žn·Ô*Þ·Ir—Õ¥¾G +` ´§Ü¤ÔZ(Ï> +ѽögM¤­õΓôáïa¤x4ïD-©1RCb‡f¼nÞäødŽz®Ÿuj9Ó¥üØ×fsÚú‚Bg=å¿~#Ž×mMâC“aÚ¸DR +¶ i PV›,ËevøD‡•¹2ûœÎ‰;ðs¼Q]‹ÛX2à +ä)£9íUnŽv‡yй•ˆôb²”g½j&ã³b[QtÒR%‡mH°…»”#œÜ"×¥I4ÓüSKʼnå†r!†G >ˆz +Jk ÆUcåùC£´T8ÅÙb¦:¦þMlZê9EcK,#êþ@æw#*¯žé#å¼þuç³¾µey#v,Û +ž +NÁôsG:gìŠôA^<ÿt¦XËB–Fî¥øæb|b]ÀAìYÒ»´a Eô*_õÏrµ—LpiUÊSr½@3е“‹• moæi”L.(\”2}úîÊÏq¡â_à†ž^‹bÊœtܳLußð‰$sˆµ™lŠ£ ÿQù;œžŸý.¢¤ö\0 ƒßò*«ßBCâ@Æ7«º^:dy(ZôËã ãž¡qQÇVanCC±ìßc2ç#Ù…Q¥:'ä <Ò H§OacìS»gU©1R„K’pyÄÉóÛx{߀Q:Ð62ž8Ê•d4F>ê¡m‘'ºù#öxXT‘æ-‰³œ91iG·ŒäP½¨¶nÌv lîfäÞ(üZ‚RgîÊ G§¥ìºöQ+í3Vërï£ õÏ0£ %†ÆâfTv©áÔT—VÖL×ÖÒ’!Xmtfž”$c=¸Æk“¤Žäe¤ÇB”‹Uû£A½%Æ1äên îÜæ“´ ¸6Å lÀœH%c*o5®“ð–×ø«¯­,p:Œ†tJÖ®)8zaÜ=iN´ÁìˆyC÷è%%’ô¾ÏùXrm¢*Å—·÷OÅ(ð'§ñ¯îèÍFâøøœ ºÎõ +Ôx\:fèB¾:uL+οe­Tu-|ÇsX9Ý„Ͼåókm}Sºù‰¿,T¬Ì+~*eŒ‹]HÕ~(|«qš=›±€¦ÑúŸÂ·Vý Ò}Iå–4VUØÙKœ>‰Ô|±EöZ`"ZUZ é^ÖÁðŸu ýc¢b |Cñ ½ù…ƒßwˆÎlŸ‹(å°‹›öEÁ¤ô© +å”=\J‰˜5Äx …M)(s£3ZnîéÁƒîÔ¸¿¯qýÅÅûÈÒghÖg`(’oE:ìN;î_âT?Dj‘ð}iS‡LÕ%i ®kU´ÊîSàÙS|[ˆÿp["Ϭ‰à—é7ðmÉìÍÑ4_E¸ÎEÖïÖ›N¬Ü\õ26rõÑ ”*l¤$Õlµ:ïm‡@¤žÁÓ"\¥'íß’ň1qQyv «½8<§m™ËFƒqf8b([ ÞqËAZ *x +Œä0,?YZ¦à–Ôí–kËáÍ–#üIÆŒì˜êm㢋ÕTL%ˆ™ÑÁîáKáwöPòœÈ©½¿°é-T?ˆœ½’«—/í®× &t×àŽ©MUGØX 1uø·×*^ääèËi¸͆ÌXÕߗߧ Q*Ü3ƒœN™;ùmdnWròŽ€éÐbƱxœ¶†«0¢3€äôí0¤Hþª×ο=1&‘Š%˜+O˜m| + `iö`W‘ÛÉ·8‹3†)»d‘zè/ï¿ðçI?ÚÐî[c‹eûZÞ\ƒ\S†!yS½NàA+Ë!âÆð8A8  y<^|ÐŽ ÆЖƅëìHÜþ nVw +¿ß[cž6Vå~;M7È÷Â$XÅÁ"ò¼ñ«@X ›„`¶ó¶Ý,‘‡âžeP6ì1À•Vf‹çh€=s^Ðo*ðAüpKÅ#ÀG…AT°D%üe…ä‹; †hÙapÎ"QW–ÿ÷ƒø¼)ý+‘g°Æã7—“Byd2úâq£]™ª`•‰ç¹9qJ "e5ᚃú- ℉|âÔS]Éÿ§9_Zˆhþ‹@ðÆ€-ø j„‰ÿ2š9Îÿ8O:³œú:šFÉNa;ìÐ’o8AèÓfc°µ|‘‰¯!Ùà,×n#j^Ö‹BÛàŽ¢×G~ÑNköÞ Ç?¸±2nóuã2;÷&Ž³Ô:IZLkÖ8Y¨QÖ•òzPU~Üœ^_î¡ïÍ»vú¬+‰«1 ‚:íÕÊ.^3ÐßÛ1®%;­„ïCÝ0³îûý¶z‹¼dÜÔOËu‡ÒNÍʸñ9)=B×Z ?’{1L`lë /ÀZG¤ :ev‚í×~«Û²À·Bë éh4åùH¹«c-ókN¬=\à5Ö>U«3I¾¿wQ´h¾G”}«4uLEf?oX=ª¾ö‘‚`÷DŸzÏ(5pé7©Tù+D7Œvý­£mš«CEìؖؤº’U\óKÕýÞ v¬VûŒÏFvàÙBÚa£³¿`Cø„–fø:([L gk÷Õb6“Ž÷­ªUä©Ü^ØQ›dî%“þÖ_Ô™ÌS—Ñå¬_¥ç?gö;F>©4Û`ôãM'ë™p þk!(5ÃÀ«™ûn +.g‚"å¿Ópä£ôœËù’Ó`übý9iºEASª¿šçêÊÒá[†Ì JUöƒÆ¹»’Òñê¥, Oæ3M1{¡žAMÏ.\íìàŒHøá× ÷¿)M}D͵"“ Ì}¬î³åA¦›ÍÝ› +6Ÿ¸1íݘ{}ú„:-÷b;”øº8lFé”ÞNÜA©­ t~”ܯ»L³·‹$¢7Ù:>±hÁâë¶> endobj 191 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 192 0 obj<>stream +µ/,L$ãø“ÌC¯ª„!íº3VN±h¨¾±Á +Dîä2Ûàߥ€p®‚ž½N4þÔφNÒÈ–q?²}pÆVfä|xì +a $O_¾'©òˆâ/íˆÌð·Ê强¾U##†Ç>;§Ž#«€´{QB*âå¤r!ûŒVß(ëøB˜¶­>Nö¨o0ìÇëÏa*ÍÁãK“g5xãyÜ [ì›ÁÝ_£ñŽµ¨¨3:T“Ý}g(í“GL©ž¥ z³Òqõ [în¡¤Þ±]*Â5Õå’råËhâþûǺ›+%™ÍˆóŒÔ³1T Œº²ØíÅ_ÃQèœó³ß;‚ÝãF€õ‹èzM>•ŽèA©¿ÑǺÈ1b Ý=úíi¢ÀÊJ†ÕÛ˜`S8 EÔj +kïÄœ*å#,á;öäU­Æ #FX}€Õ+WÆT®p«àBë j ¼ÖEþƬQ 8ÖBb,Rçjþlê–M¾ +–™5òÿª§[Õ'Rp ©7–œÇÏ4¤8M-7þõîS`¤Z1Tð¨zÞ- ¥¤“1O[9ÜÙ’ï§fáM §TKIX/«e5ÝÞŽ„”Ì©»&‡u’ikÈ«ï#—Ÿ°»îN>€2€¥rÍŒ·»¶|Wkl¾¾O‹õ›ÕÁø›i„&ƒ1ÎgQP;Q¤j©Â×!nfÖ+|E±o,ð*Éf±wÊɃ$ _,ÒÒÇ¢'1x'sùß2ÇXâ,wËq-Ë¿^Ì—X}ÃêusŸ^¶µ[ºÓFÛ˜°w.zQ ‚‡@"áznúí!d›Ïdˆ]–‘÷V*T¹±5œ£ðÕøBQã€KÑs jŽ\£))Îä!‘&'DÆê¯8gü•'MVóվȋ,×z‡ú‘´­ IŒZ|[ðO­ê) +,h±GÛîõd< [¶ü“N^TuªdÄ ˜ø·«ó.5`ØÀiІ„GÁZ‘æ/pJl«”ƒvrRuR¨K×29Zß¡ë(IQ¹ÜóÍ·& i˜ÃÅh E€‹CeV³ °$3â,æ-SÈ!ô9à¿L±J•ÝÏð”)ò?¤/7x&—ÑÂp?—Ü9Štôwþ©t¢!U­qþÎ")âáP‡ÃûUzp€H#æ +x¢…éÅO}ûWžÁcN$mÁ=?©C~5œÌ›œÓ¾Ž  i¯¿`bÀeŒb_8âó‚ .¦“É´•Ò†û“É­´¦ZÇ œ”ÿ×ÞmF“%kˆÿlÓÂG‹¼Æÿ†.ñ W9öŒe]LuÙåi[–ÆC² [@’7Ù™Üg|Ü,ÐßΈ8ç|´m|Ϥvº_¾À‡¡æ`ç}XA•ˆ[²S#n‘€Õ::oÔ^KoÞ0º;Ž“t"ÄÍ€0ûˆ÷dr=Ëb;’2(ë´iƨ-Ǥ:J¾I ˜~Ôá, €éòÛÛP÷ï)žDÞuîE~’b¥m¬m·àéw=J~\6ÝŒ©ÆL;ço²~VÍró®‡.Ûmtä©MÙ›LÖá©€ó0 +Þ§jjœyùCd\í¦JõÄwK$;0$&èÑÈÙx¼ >ʘVýܱœfM•&?øÙG¿íxŸëáïÍX;‰j`Ry}àµí€p?åHOƒ»(4(þ.¯q¬àûáºI…ÒQ°|‚‰SRìG&þçóƒ5ó”}áúÞlN»ï ¯ª4ÏÃfífÉÕgÔ¾ ¨çÄc ³+¹ê¡ 'Úì¬Þ mÂD:ú¸YÍÇa‹(¢hbþBM¦d×;úôžýïÝsó–z¦q×I!ú€ÔJF*™p¿w¾‹3G6ª»°\ÆÏÈj§€‘“˜§‰4[ºáo¢ÄS¨ƒ@Y¶Râ°Ðãª`†VÈHï乪Ü{Ÿ”׈•±®P¢.òf´ü’CXÌ,DÍ Ùÿ–‡:¼ä넇:öx»•¹Ü"ÊE;1öΦ”[ÈØ:’ÜN§x*qçÑ5…a“3>;ö uœÃH7h‹T2‘ÕâòÍe±EìöúôQÖ ³…?pÚ8ko ©µ^…V÷}Ž1N©ñNu|«1;¦žÚ @ø…‹•}ÿ’ÞðÅ#i¹R“¿‡¾Þ?™¢˜8òd i%@NOp¬h½á“6å%N  =JϪƒÛpÇÅ4ÿʳ„QZ´Òðï©ø@Qæ{å ž§žU.Š°Y4Y[§Ç<›Í%»øu®“–1íï½þ¬/·ã}OÉжÙxù‡èÊô÷¬OqHÚíãRÜ5¼´€p©žÏu’XÁx(Sjb}Í[ÿ‚”^½R2ÿ½Ìú}ø·ç¸ÃÛ çÍ&¼S^J5ZÐ#ü0ÕHG4Ø"|3Õ6}’-Cäª(Çðçoe\ Z<äòÍIMV–—§+²ŽÊ¦\Ü.ɫ΄ʯ¾²;ôJÊ­èR A9¯¥ùq²³ +endstream endobj 193 0 obj<> endobj 194 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 195 0 obj<>stream +)<£g^!ôŽÂYÚ³8T&Z\ŸšRCi:+ø…jJ°[Ö wËCF‚‹`õ—-—ByË’âõÞù½œÊgÆs>30™içÖ©ÞŸŸá!ú(UáuØ8b˜¢ù }cœ¯Ä&þÇÕ^nú\Õ/©bûù,((¿¥qw?}ÍZcØN…¸§¤×§%8z†vŽêjQbÆ*®j(–vR`Ûú|è_k€<³S[íî‹-5ÓAÉ ¿ü³aåÁÚJôÿ›Í舒ˆk½S¡Q«xÀº8·x²Ù9¸6Du9àv49z—£›Yö,×?æár-¬)»ú[^K'—èÆÙÅÏï^"bÁø½^ÐÔæª O –¸çš"eeÁ£‘ÀÀÚçÎ6Æ +ØÁ ý±¤E)§Øµ1È-ÓÞ~´¢‘e*ñmâ¦]qÄ!D‘ò¼GlýPÓtýÛÝûý(‰îùÞóGé—å¼*N'.-ló]]‘£B¢˜ùØ´£‚ÁyÈÄ[áã›ø¿¢ÛŸ¼¶yÅnl5¢7¬sSgþ-€žìÏ"€øeÚ#QG=ÑÜ—¦°:'ãâRKþbsÀ‡Q›^~5âÕèg]YÀ‡«Œv=ùs“Ú–ä׫ÞâÔ¾ D·àÑùGŨ4F%ÐöˆÔ¤ §¯1§prãHé&A°<5Æ»¾ÖY`!:¤æßþ3'þ x©;ü§“œn–9—Ž»ô³~á^T3ic\cá2Íyµľó¨è~ L1?žíNû‘V«oXß;ÖÈ/áèÉ2êO³˜Q]ÜëÉ…Ž|lG©ã°[ÀãñÞ³Ù¡ñp¼éÕ•&†¢›6¸¬U yp¦e¾P‡ (ÂK°Ã¬Ò¨O›ƒv8X¡ºZ„³îÝyWﭷƧ%àéxä]㶲¯Fe<Ú»>5ÜñF³éŒì~XùUèh÷¡R¢¯^>g3]¿™P(‹ÒÐQ.²Ðp…é&™geì\‚T]‚é¦v3W•ÒÉwTËšÀfô +£öi=šÝNŒwY¢wV? š †C©žf¾ÓþÅx¾•Q§&áš7:DºR$;’ö 3OU”‰›\u°>•ž¯˜Rp†:LúƒNuQ·ÀªÎs/ÿGÁë7üq]OÐsÎ8ƒ«)—·TßÜX]¹®² ¾H©µÁ³ílÚ=wòsçy¨‘´jJ¡ŸØ¤±D–ÔrâÞlCyºv~t³@Ñ9 h V%“C.8#]eœ/Q‘”<…‡R»#ÌSÈ,l Ç~ö›Ïu­Ë·üÁï£wYMœ¯ƒ={D.~~ÁWr1$ÂÒì\¢dXÃXôü™<lfqÇ¿;p#¢¥è#¡&Z™XÐRDõ®B ̼ E£dQêyi&…?¥O¨”Ã7Q˜>Oô\›‚•eJªu ¶|Ö_…ê˜T½°Ä¶»HF™ýFH"ïÞF°iÃ/¹º¢sMãb*¼*q[KíŸ ¯øC’|iÖÆS÷Å>Ô7To>#¤œ/ßÓ}t‰¦t(aVÿ˜¬UÆUMoiÖªŸ%…ú8CF¿àŒP Ÿ|Ö³$‚ŠC…vµÀ…‚P¦])F„Ü+‘;Ü£³¤¢eŒ4=ÒjaP ©ØÐRIZ5HªÆ¶‡‘çß_…ùg¦äz[d%š  Pón¸ É/ +©{Ž›U‹X'ksÄVð­.,góJ)B ISç‚c²ýÕv4 +†=Eùé“'1”Q˜ek¶ëÊ „ã]V»¹ÛöbÏßá1é‡,*É£·²]Öæ +é—F¯ï.^`ù#÷ÀX\Oÿè–ä©|¼µ ©¹èM¦oõ8Ù5: Jʸûú‡ª‰»~CÚèø´}^éäM£OשȤ«†•í"x‹Ñ4mxƒM”ñ¡ð‡QÀxg¯µpÂ#ÞF™ÑÇ¿¾ôïÁîÀáA†‡Þ‚Y’d– E˜¯h©é^‘÷TÖS™œ1Þq+âéÆ/ÛyŠgŒËÂ÷0éר$ô.íµ+õg•î6H‹R²Þ÷`‘‹÷ªTÂC™%l]tРHï #7-W 4œ<œw dŽäÿÃV>s#q$›IO~Û[±eÝ‚é(quM—Ð3ûæ2)5ítVÎòaŸ{šàݾ°"P¢H÷ãžt·‹)²LÅ5–锹ruàvÂr櫼güº‹Y*/ÜÆDåà÷LÍ”³0îšÅ)õÅc=eÄ’Cádk 4é™_‡zÍ[_Ðlmë üI?hH‰=m¶ZçY(3ü?ϤZ¤VP ²Å”N‡=OŠ§u4å9Ì>dºUÖPîÀqGÆîë0ûI¤Tç-Y[Qw …úq‘Y±¢¨)‘Ýmxn,ŸG{så)æý¡‰!ô,¶ÁÖ€ä(}ÆùŒÕ9/\¸‘_ò³r&³aŽLôóØ`õä¯ÃeCëcS ³æH•â4p*šµ:™•¤1/‡¶ÄùþÛw"|lúFÜ]“»ÅAQ!}?ôîÇ3­¬prO„ùb ª2’rA‘3O<ôŠþZIøG»wŠ´îk×±¢{¨9êÁf*¨"2æßó‘À³Æí¾Æ¬­(K0žàXö¬HAJTŨ+½A†oÌ„¯ç:X« 'ñJòö` €Ïx›Äت$gv[{Oú R‚yÖ2ˆ‡¯¿®=ÈþÏ5Âßå‹_H!MN4„ÃË{ÍJ¶á˜’q›‚ýs¤¹¿ªÑž4SWâJ=1ÀX.ÏZ×ï8¥tkÏÚ +±ö€–3qí†×¨±-Jh çÉ (ÊqêDpôÑ™­ÝŒ§ùÅçÆ u7 +7 MËDÓ]2Áê\<×-æ$£^Ê䨣v¦y°3ÌÈ¿êI[ƒ¸Ú•^+µªæ ó¡då‚Ÿ›ÂsÁ{÷*Áht¤ªšC$°Þ§²j§3nÈb*t+Ì¡§x˜ë0¦Çï9Ñëa=8(®+)Y¼÷³ ©TîŒÿ‘凉ê´E± ›6‹Zf8u¸Í^ {XNeÖ¦\[ÕºLü*‚Gîª'þ—‘ÆŸüÌ­*!Kfá‚ »p?v¤Sl¶î±ðo—àÙKW„¡R¤„L´YuÑgRîq“RúËÝWWdŽSzT¨ÆªR…Œ¥£Œ„ I‰Ò&ƒ¸êðqïo0Xˆ¼ÞŸXÌÇQ 9V0òå83ûǸß"cŠô£Åó 8!@°ð|ÀùmV_R2 kêÎ/-ò¬º°GJ£³·¥Äá&Ÿê;öün¤Ôú‡ˆ¹ÏGE?Í#8Gï~ÓݬƒÉPïsŒ™O_›¦Ñh-lF±4//³7?¯Bn²×úëñÝL‚…`c¹_ Õ´´,u·»n sþî53Ù˜,Î$â6¥¿°‡Ž ‚(m¨¢cªžvñ”‹jfƒ\ÐT±K2hÀ“˜ÖAPx©skÇÏs?åݸ¢l8g饷1vrÿ6Óúß›¯iI5Íó9îìÎ_þõå}Ê\d%5’uÄŒôˆa0cgJ Ÿf?'<Ýä`Ÿã>áIs3Òwl’çNtÑßG|6f›ýgžÐÑÄcbø{pÍÀùùp;õcRY…T ¹%—!°&„‹JÍìÿ9®¡qF9O|±7¼Ê*”÷î:8¯ã¯cÆíLY™*® :,¹ €ÝèÇ»ÔÅ;íÍW6À¯*€sûz íæ¸ï…!fVÑ <±)eŒêÊ%¾éŒÔ$îÈIQ*Y|61póíö{ðæÐÝúñº¯14¥6Ö)q°&^ßþ4c²¬/X«LôR1íz¿-¦fHyÉvv«>1—•¬ ­„ï-‰%¼#§pЧò¬œY"6÷°Ï¦­tקHºö±ŒŠh+À &ïs4x©Kt[0R„mã;¹ åFö[Î>.¾+‡žo + ûG„Wüh<ùÄÿ«¨,óÙàgš'»åD!ŒF¿ÂG¡îvɳ\¢ëöm.òë~£ß<`'ü7óN=µ§eúMÃr–båB +øÃÁÀ4: d!K¶ÖÀñ]YDÕë>¡è|•5¥¯5—Žì ZÂÍöè*xI8±cl Ø"i¿ûg¬6Ççw`„‹D¯ôou§úQí[Ì~U›<¶Ç®\FIFîIÏmÁºp8z^T³&—–×ÔHI±4ÒÑWN[Áø|euË,±º]×<]]?]²Ugþ)· 3•W—_AÿŽm¯Ï6Ô͇`£M_@+Æv¥lϸc,Z‚|DH䂼”*iCr¸¤<úÜzªgY!¶ ñˆtQ‡¡®ÈXh6‘Ê3S ôb{õ=eQ%‘ï^¡B ¿÷Ž¼N%Næ±¼«š°ÈÛ3:1£¨6¦.íj#÷uŠ€E4¥ ºûõ •:xíJ}*£÷›Ñó “ É3åÐ{ ŽfÙ=C +2»ìÌú ñÏN?ÊR·Í4-Ô ß3Øa‘‰…3è‰ÿYÝBgù—›v¼,ö¤VZgc4ñ a¶¹¾Nq%åÏ^-9Š‹9E‹ëÿ_ê‹ÜœRâ8,@•’lC›ãw{ 8wÕ ç¿Sw™ñ_ÚÇfœ¾›¼D–Í ]㵃‚¢Û35뀂ÁWi®m”µZêl¿waŠõã’É'ä+Þ5`åpÜâdK·ô÷m‘%¹ÇGßÏûûÎQbm5å#¯qO )¤ù8G©¡OÕš¯ÀHLj~NŽŒ‡Qž<¶BOüXý8~¢h5ëÚÛø…¾7ÏkJW9»Fqµ¢ŒûImþãºhµÓ¬O±²Öú ä­¿ød ²ÿ>‚NJȽý¶›i`þ< É\U*×Ǽô̬Gà!ür¢—2W £©L£H>о]­_۸Ѹ5{…Am4V—Sè½öQ€…‰ÁWîÄZ ¸ÇHbÑ S¸Žæò’?Žƒ‘uIb-¹5þ $H·RÅ8†„uÐ^ýà¡ç€@·æÜâ +]"?õSxÖAX\§ë»ñs£\ìs šIî¬Gu$`Z#eJ% ‚‘9Ð÷+«É›¬ZKÂQÒu &¦c5À¸rþ&´'Ó gßRööb¹t×û×`‹aþ|ÇpKŽo4£‰ÃÊ-ö8,{R‚ƒS³4¤\¿uBkw|]f ðEÌ?*%‘!Êé)Æ’+Ô`Àß™ÀSÿePÌR×ÅäüÍû_œ)›â=Ï +Vœw;aY.°¹•B»ò.˜oëš4¨˜ñ'º YLc‚“ ÍöT ±-Û+Ó&;ôuxÆÃk½ ùÅžPto0ÊìXEt!Á™íÏ.ãEmåQ³Åòûey ºù ®vÌ5è9Ô-{®‹¤¸:EÂBÛ·®œÐ:zOÚê± á„^k97Åí®3 46¦+¶bEÙÞ‘úO ,o¤@jÎo©j<ê‘/ƒÐޛ熀BÒe_—óÝu¯u[tU2Jï +È8y:;†OQ#y0=Oå~|›᥵¦IÍÕl^›ÙóqÈÈ ‚¾|sµáóh=ð¬¸g2ÜëuKÈG]ßq~äel§¤jtC4~1ò/Þa;ó‰©*ó¨ëòW>„‡ç°ª™^I;[Ìý¶c;©Rý5v.;Û,«ìÌÏê¦{ôxdIö¬ŠÛ •j‘†!˜•À®ß‡bä‰ýºÆñU×;üøN(JªŽ@q”a¾+[Mµ)rÕƒ½É{ýZqá®›îPͪ —¶g£qeähUö3—¹5¼Î‰PDµec¶M¯æ:·Œ]NfáÙ¡Ë9Ò²êt±âͪÎ_VsÍ8òBºIüJ5`ZgFX|Ïlã+vÆ!­×³ÓŸWW#Õ£^>mèvgâI³ò»ÍHv‰¬*›µ¾4–Bï£ÂW»÷cŸ˜*¦öÃÙA¹˜\AOI5¦ÞåÎM‰¹Tí.ÿc6›[‘X7þåœ~)¬Ráæ:åj°ï´×÷yõŠÈCGتÝȉöÿè¾áE©Ðæ—5w¼yîü[Gâñ¡Ð}0øýåcš ÈÂ1ÇØ9K¥kdðM‡\ìÛ61W±à“¥Ùd—iñ¸Í;øtÆl‡ %m8žÁ †e ~w-Ų`uô ¥¬›þ!S>ÑÄOÈ"qè³êIêÚqå=œ€qȧD÷3 n’°‚üÉõ +p®òÓí¨Sx08ŒˆÊªcÓp÷ªe$ÙQƒø‡½s_¡f£xØ™‹]­¿ýæ žð ®ôl‹YŽ?g•ù@¨õVt®šìÑyƼüo×­K.¾û¡³­©3gE? Õ1¾iœ Í-¡ªÔäNÿÞ+9 1 ¨?`¹~¹úB(ÖG z€ruB)ãdÃÛu2r+_”€±½ÊÁE¼.ð/Yå¾òµønÐUº&q4;ÄJ?+N¶¤•äð7/µ·¾•â¦¡ÝÙ—°XÃ}6kÝ•ñM‘—«ŠÓP~ã!v§©þ7@Béywð'‚éî¸ÑgØâ¸ÅšÜï¾~«Xmƒ¦&7tŸbó ãXÀl±B¨êZ®cÞÔ4½×$¸?Ñ­hu;=bûå«‘²c!nþŸyú§#×"‚Š…q Š\C}ä‡©Þ F _¤ŒÀ¶‰lj‹d‚oI'%ÿÕ +ï)cäªÛóIɦzš_b +endstream endobj 196 0 obj<> endobj 197 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 198 0 obj<>stream +AÿÞ=ПßIöúnp¨¥ÉPþ4"V³w—ñë\Ž½w¦½x +›ˆkB),"Šö¼äx:š ôÞü’Mœcy{;ÞìSºÖ,îè|{%þ°˜*¿5=%ÊöCXTd5Xh gp€úöÞ]á÷/Ç<ƒm4¦$_²uq@1l UT$ü„⃰xiF'ö¬á”Ö÷~ÜôÚ¢1{4ÐÍS7GO2fGPQ4Ìl£G£`Rëù’ùükL2òúm@{ð?*§å¬`‡º•¡ÎÀ¡J^è KH€qšà ¦´Ü³bg‘¡¬õc‡¤pÙ ¼f®!ænÏňsÞÉËÉVW‘'?Ïí­µó6W¬Þæû¢šî/½šÞ–Þ‹ÄêDÐîϹHay¨òã}MÑLš ÝÌÒáµzmçF”9ÿô Õû=÷Âi'Ö8`ÁÄ‘ÚϨòcxâB‡V¤¿Pbß^'±4õHSƒ`$‚±kjR +]}YyD‹R˜ó+ôøƒAÈÙ0¢D%7õì:ÀJÑɆ¶âJ–àH…XõÅX%´JùˆüXl.5ÎÏãNPOLôG¬›Ëzb)ƒ_ý]‡˜°ë×4µ|Œeuø¢¤vsË^íô L›ç¾{ô‘*zßbIç[Í¥­=û·u³8®d{¤Ø†OïFPíÍ Ý¿@ùY‡¹[€÷ù™6©)¦ò¦C/胟]¢Ýdó…Ń­°W"gPƒÀs¦øRÀ®/ñÔºX$OadƒJO‚$‡ñ¿F…›4ýß ôúQB`²6~U8ÂùƒU|W–!–Õ©ﺞÂzûà€O—w2÷’þçÑýè‘‚Q¤e?_°išè‹¿ 7`ƯÚ7 ™Ñ½3œµSú®BÑÎi ‡½›@^ + Eš ±}a~e ’a*úº“™ž~7¨þyôbâ¡é˜ð$È Ô<ëMoÕú§öܹÉÚZÑœÀÝlË¿÷݃î–&‰—©%%;¦NaâÎU3.þѬÞxÿ 6ï£D‚oò°GRq«mU)„£É# ¿è«fÖ\‹Hé$vÎ>…e>ùqvNî1å.W鑼¯h+èOS°è ‘½Èh^»ot÷@Ë'\ +Nƒ¶¨&wŽÌX½Ƴ© W¿g‰v~ÌHÙ +Úß:­u»Ñ¡ ¥Î˜2®¶qX÷ê8ïú& Ù—ê| 5È@|7ð9ú].H + £¾“‘é±ò:ô+ôVB¢w8iÚ¯ØB‡ÑÁ›éqÇ–÷“Úef xLžº[£ÌŠ^fìÑÍ£ÇFñõúÀ_çŠÑ^ €ÀZÕ”÷ ¢dô/˜ a<¿eçÍ'õ¨ÂØj” ÙA¡à–ÊCTB¿CßÁž}à&?mÈdñdýJõO«íúYCiÛ¦sßÐC.p‡tÆŠgO}(¼ñiÑkÌŒC‘^£îÃEa"ì‘ê”­´™îŽm;°W:Ìp¸{°™G’ˆ±Ð^kØ×ËÍÖÞ¸ëê¢ÌæaÚ¹ïwðDïå¡x˜˜ÚîC–Á3½uÍl´Lÿóå6þÕßrWÖJì ävýÝeÄ[H£·hOé¡y6¬§ï(‡Î6 §"f ÑLJpÖïEˆÉó^¤ü3 Ã’fkœíÛÍåÊ%)@SèÿPûZmïæ,„SãC‰,a…¹nµí±ŠCô!<å©@ØysUÎWðVm¢kÝ%hgšKê.ßd¥£j±JJ$¹+Û2YŠG]nX1Tî©‹óAƒ)Ø1Q3Z/É–´¿Úä~ÜÏÎ\ $uÜåŠu?É öù‘ÀÊ)ê7Û‚¬;{Z+rîMÛoSŒ_›Ñ,„J‚¾ ŸxYÐ ˜û‚Ë„æɘð¬Ñd¸ ‡Gù»}%§xÈ6,}½Ð;þ£í÷âÂÍÃ0¹Ûì§ØÖ1LÕ5eÊ`ÓÜ@§úÝm‹Ò߬Á¡S¨ÝƒVè˜.‘ÛŸ ‘ Q½­sD…:næázräéó~\2™è)°Eq±´£ÖN«ÕBy¶‰YRþÌöǸ9±@×&.8yàhù oÁ#‹Ô6;S±÷‘· +¹hFÙj…RÉkò:FÁ,í ÖØø"fÖŦ ‰¯Ó·Öô}Ì×ä­\Kž˜­tï]ɶ’ ¼ŠãEã Áp“!‚Ÿ£F—Y% HêÑ +gÙ‘gÜ Dak@š€6ô/Ï£ùŠéwJîôB±w¯ïP•ñ’Îæs}5ãÀj ûrÙÉ®Ö8Å•PV›W+>=«”¯Íj™ætñ§K.öìà7z<&2aUP"ˆuRwøáñ:ºó0ãú~° ¬ÊÎëŒä¶ÛÐØ['§ÏŒ<"É sx +Öç¦Q;QÈ-B•ˆ8V> endobj 200 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 201 0 obj<>stream +ÿ–hwü~lºÅUÂ]a!¬h&T,ÇÆnì…ïØ‘“îž’p’°‡VP³î AÐVFK³P²YZ<Û +œOó;TÉZ-ú +¶€â#nÔ®fçân&þ™Ž55$s"§š8w]ó$# ÓC'¼Þ¹5UK•-Ê"#ÊœJºÛà|s5EÜ•Ë{$¯¿ë¥òl +rF°éNÔ’{ÉÊÈY¥ Q$Ì8[“™ ƒ%ʦšNÈ<8F…èì\Y$n¿g<úöꚈWFÍòÙlJ&u뺊éëjP 1CD|ÙýÂA_‰k[cÈŠLêyÊU§bVuìxŒÕ°ÕH‡¬D@$D,•rNK1'I‰Ù.\‚) ¡jUsoìÅlÏè„øBSÖ™+ž;5ù }mU‹ª3«óhŸ,ºŒdy‹ §P=4“§8C}½Û°‚ ÒÑÚM)cMV„DÛU=IÊ£ÜƶðZ|ËJÅ.ÈåˆÈGŽä›ótòíÉ` ú‡rŒÒëÂÜ õC”&rÇnÊ|]M0Ú†ÎóJOF-¦fK{X5ÂÜfvÆÓò¨=€7è0èÂgïµR-Z!®íاYµâRéßz]ÂÏnÑ\ÉôIClr.äÃF†1¿Z²ñP0UÈ´^@ਖ +Ë-(N¨"¶Awñ ˆå+BsªJí³aæ%²â²RCGŸ[ÈuX á¨[÷˱'zjdî¹ê$Â÷½ŠÐ¶1‘·iµ(K©Ÿ­™R‰ô”‹(ÜAÙ‚ï)Ý.<šQÉ?®ïêñö𘔇Ø}@{)¯îËã®1”á Wg\GUųª÷ol„Iú]ûSbÉ«‡óòú’´ç^05Î@ ­Ô@¡C0±ø9™gʱV¬R›“NZ,›¹#O%©Ðl hç`Š¦r³“ÇM«þžÐ8Ös?EÓb‘tÂ?ÞˆîRÆ:¬O*5å|_4ŸuAC£ ¤wðá7“Dšì¿f7p9—·I;!ÕçéïÍhÞ%¾ŒCUÎ/iíSÈpCëÀœÆ!¥R‡ú£Z)Êþ ‚7„â0'ËáȉQuWÄmoÛÌœlN&žß´6lË´‘ÛÔ,1Ôço‡ž¸Ûóã绑u¶”q˜ßŠ#EU„;§­9  ¬¨¼y2}n‘ ¦ræZ”m”¥ª s#o·…ç3+µz÷ñAJÔínÊñ¹D¡ŸWË‘i‹6½@vŒÕ#NIùðÉ-¬íUß +îÿJï"ðz¥Žn2°Røý—Z— ŠiAË-EÉìUûh4·–æÊŒj £Öƾf³.~n ÅÁ¨ !ç—«.8À¤H…‡9Ÿ?7º1ãýáÊ×ÚA}_‡¬ãø$]ñŒnHÌUŠÁÉš8µREÛ3Ì-¾|²IjÛmåùw°A‰.%hº61ä»Ï2:~÷ Ÿ@¹¡‰€…|[=§L¦¼–j;J4áYݪ½E Sd ŸYïáLþÀ‹@”€¯y1ÏJlñ6Û79_8¼Oƒ¤#|$(?ñèë@N™çø˜$`ô™ßáãì}_?õj×T8-õS:¤ã¥ P®qNÚÉ}Qi†Vž#‰ÐFTÄÜ¢c­›)a'KŽL2gaîÒùË —Ū÷=lçöå$€ÃòCjÅšæôèXŠëíù˜éÒ +'¿•©ëùfݾɃ.Ã^:r7j¨Z¦³—!òsÏ…]Š¨ÃøÃ`’CîÐÊò↤^,<‡Ú‹–±¼ˆïdð¯^Hù='Åä”\¨€-¢'Š*’VÞ^×$Æh¿¯ø0}lòåX€íŠZèݺl‚ü‡L£™`ý"‚)¿½Â,‹øxB&8ß)•Ye»=Ca Ã@vÌb¸¸g2?€ÊŽ^Aù/À‡=éªRÌ슨%K¼Šqu:Ä6éŒ%4&~Å,³¹’B:ùßøõ 5a¡Å*pqì>ÃÀú°˜Ãƒ¨¹8:ä7Ù­d¢‡báîÃUøÆËâe~S÷dÙ›ÈÚE+ÞMRˆÃ½h%ÎUÎàµJ§7<›ü‰x"eŒÚã®,>ñâÎk7ñÊ,µ’û?ƒÒ²¢è.À +ˆtb¶¸ý\ ØŸkÿ¸M0{ [6¿¼’¡`à;2c—šó¡n”Àç¬ µ7õŒüžbĹfî)z&žÜCY1.3hXF§ÔQó$ןTÔãcÞ^MÇœšæl¦:Ö:íàÝ9ÝW@!˜å«é.¹x"ÌŽµÝ—_»ø+îolê²³­üÕ< +—­¶« +Ȫ>ÂþŸeWÄôÆÑŠ«„ÆjÞƒŒ½h$Ýyn+_=æ¸A%ì ýQJb@‡ù|†§¸HPÁ¡y]$-ðpü ½ÅŠKpNƹzk ß2,½-‘6õNÙ]ÈA}Æf{ÖØ¿Gïj:äa|O[[9†ö¤Véuœ‘4ûçáßíñkwú€ÛýGV‚NäÅš}£%Ší³ÚÕ¤Ù°ºö\ù+|¸›BÕó¨=ÛJGsi;×lÆó™ÚøàAFø'ih0×çx\9y‡”aÝèfTªO„éÛKªðå +x"ãx(÷ÍÐ~i¡%1ÈÍ„UÐÄ$Ì0éÑ?lj%± “x7(m÷Åì'gj椧µÍK —â1GGTñ»ÞÎÈ!q命`¦‘¬{¹x}éyN¢ý'=¢º7¶„vŸzŠñ¹exWx6Ä«4Wž”É9Ç­b˜¯#R@ןþ/®¾g†Íhû†”N6kÌrÚ8DÊå—÷0·Çs™šC… ÞFœ̹\¦úh5BÊ—gîH¶Íâ¨VGˆÍíGÖŒ³Ð$‚Ž¹©Pîz0ØxÄXÉÕøʇFÿ(l°b¢2ç^ÓVB”…GY={8ö²™%ª»‰¼žðë¼ ++TãÍ +T‘ŒçáœZ²uÓäïedÄÉ‹}]ê7_®²·)ä$mS95·ÐMÃUÍ T#™¬&͘U-CYlßéïP@›°’D41Š,¸¾MMï&®GÀ¹‚iA$)ÄôõÅM•‰VM/øC¢$ÒELœz½ˆþPÿ(™†Y’7éÉ Ýקœ¨p¬IÈì¡„²ÑIï@"ycÆ@g{1û‰\jÊA+U%p>vô/pI³×¸¦Ý÷ã‡j +CÊ°Ù=b)ÃóùÐa¹Ÿ#@¼ö2ÞŸ|€ìØLÐm–åÄ»7ãsìÍABa°”ú0©*uUËÖš¹Pü¿2‚’\&«*¡ú’ô¦/·û?K#íÕìÑÜ‹•˜ï¬YÆ‹˜RVüó,$AkÛìªêúí¯M"”êÜlŒþC”­ªg®£/Xºä"Ã-'©áÿñÚ‹|¢ÏÒÄ_äñÔÈX§6_r€„pàÉ5ˆ9¼ü)ê)奙øÛ_§ox6(EtèßÆú÷+èŸÂ³ƸQ ùÙŽD/ Ŭh¬,Ÿi ïh¹»’£ôª´çõ<3%zf0ïä9¿IA +2=MݵZܸOå§Ò„¥MŸîž ž†ãD“Ïm˜÷‹¹hàÓ¨Ù% j3iîÉxÝ¥*£yî–Ôî´Ìòœžpûv˜ï6æ7x?nçC¥7 i«ŒXŲsûÛP&žŠ˜3Š+Éá‚@~6Š?J¯Ê•„Ò‰‰0Š?ÛGrO8`ï̘½ùN¬à_ܹu'¯¨’{†Âe=Ç’køÇ þRÉ€Ãèº2˜&½n&ÖB Àžwí»Æ±+©&®eþ¾"31ä+HË ýgð÷_A%êŒL]âÓ_/…ö5 %„‰þöÍŠI•dbç©Ê A¢D'{Õ‡öËÊ.¡šÈ°ˆz> endobj 203 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 204 0 obj<>stream +M¤?>gU}:@¡¼Ç&°1 ×ræs !`ag4Ë>Má$ç¸Og+ü]0—w$ ¥°VMnO¯}#·9¦ƒ¸}†rÉ"Ñ÷æ.د¤Vòÿ›Pa¹<òÊ:OZ¡tÃã»í.(Aº¥‘å?púŠa$Ø«¡Å6ŸÙWšÊy.þ-¥m£ Úê[aÿ*¡ÒϬÕ[ZÆ™7¬‰×÷t[+ËÇÅò^~ïV=ÆÏ:7p—.†G¾qí«b‚ÂÂñ‚9«&„µ÷¢Ïû‹ã†;§gC•g\&˜Ýõv!;‹´ºEcjlV¦•º}›Ë³|[º/7?ųjÂ*zCUçôƈ½'Q¯æsÒl…×>ÊÆg ‡WË—E;ºÙ$Plã¶æiW$Ý©Ðnë“R7!o¿P?Hõv}B‹/"@´Ÿr^WŽÎ>‘\ôTýkû «ˆúC<­†„l#ç÷m¦ÖV¡‰ `Å>FÒðt“íȇ6=ÓY^ëµä™´i0šþQa†ÊjÚºlY$Õ¡¸Ò]ªd„C0yqœ‰Cþ¦•Õ’eÖå@Á_Œ.|A±VÆæÓu"hs ëþƒ5dˆÐ¤Û)p9ô8qç`^*“ ¡—XœLU>þ§)FÊÛϪ˜€QbÍ'ÛñðN)Ê ³×ßH+T6; »ÉŸý¡rXÞ†_:å³{Ÿé˜yÏ_HWiÍl>‡Œiz¶‚TÅýh­>ËÛ0 ïÓÄü +X®f²ëü±*–f•,"B>at~= ÜÔCžBï[Tè¢ËˆÅåž)ôû~ŒÍôÂG!Ý/CY =¡XÿrÂPι‘Ñ€ ›é…"Ú®jÍiúº]QÝxØ5iW¶ö@$õÿ‘X}„Œ\ËÜ® ®åAu*ÂÄQþ  ÍðºóÖ4i’¥jçë:%?‰‰øÛ²{°è¸ÓPó(þœˆt¸^IlœÞ‡ ‘I±Ç3aþt»¿´rZ~·r,#œ!ßq_rjh‡ÔPñ­`+—?ÑOÕø}hƒ†(òtŸ`sŒëOEv)(%ù›O³¤µÝO—òŽ¾.Ëß…2ìK®‚zåó*E±ÜI¼­pÆ°0w5(¢\<ì>EÑœœzŽÑˆ¡Ð*@p÷"wŸ3A +x{&åŸ&é=[^²n1‘: +­`Ž‘¯OOµÐñÒß|‰þ=ˆTRé7ˆ8×¹ÎeäÓ}ÜõN|ô™_â‡Bgãí‚Þ–nŽ ¿ßM`‘þSkÁ¹Ä¶î–…£ºê­\,gQò +щ:Ÿëo‚ðˆ:5ÍX <ðßL+• $9!Ã:,›r¿j&7Œ[)¼å2òÄBáNÊ‹UI>Uÿ]¦¼ùüáB}êAîF%Ùܤ–Þ•Î×à1x¦ªÎcBòºtÝá«lŒù¿_¶¿ïüÅzÏ|?g”ÉœÙÛ˜]`†¼ñ„l8.¼'ØEAAbåkWumRA™“ºÖòG6®Ö#U­&9º¿"0S=W¥–×h)¢L›F)¢¢:Óš!vÔÇ(ôuøo„¾ O6nÕ¶pÚ¡“íz[QÆr™p«”ãêÛ‘Æ qN¿¢!ôö“þkÈÂ6‡–žÀ÷’cç:¯Â3Ì­mE” ¸j÷, 8>¶À‰oZ¦ºÕ½cI¥üO·R†µüß(º'ü8?kø hYƒ‡ÿäѱ³STú+®*·ÿÑnýî-x?A ¹NÐ ‡ùå ÷öÜEÍ×Jàí;L5ÒI1{…å`¨å)úð`ð½N#Ž‹UáŽ^¥¤€ Q”Š\RnïËX»y]=l¥e=´&Pn,Õ0­öɤ6…Õ£ >ÐÆnïnq]P8Ò 4ÏÑ]I%y½HÊ©)ñ]_Õ#TœUu§‚¿üÊŬ2¢<Å€\9¶> endobj 206 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 207 0 obj<>stream +?EAëKëºf×ÝÉåÈÒêòÒeX Ý{!•c»KäÏ—ƒ†Lë»ÌAíþEPêxÅwT–wŠ‡óX‚WÔ¿…^Ž]©GUßZžf“í!NÅâ" ,šä/Áh?‰qnv‰±±ií–¬Éà5ð 7ÚÜôHÓ:ßQÂzðÅ¢Gʉ‘{QÚÿCÕ»@µøûâ/’ÍÀEI'—p6§Êâ•Ù™7¼–énaRê¯PW˜&Þsߥ‚Ü$¡&;22wn[¿*…|<p>¢ ¾T⤑D—”™0KŠ‘ª‹×ÜôÁ]M³»gˆâ“ïâE¥%ж'«€~e¹¥â!5ôÍ—­ 2rVõ?•}¬-K‚Zû +ÑydôÌÑá.F°ÚðZ—†?ºÐOt¤æ/{·ÁÚ¡„›¾k2e–¯b\š¸éËnÔSÂÀ®íaùQJñd¤gmj°©w"ãBïs *M( +3Jä–…¶Nâ•RËhËèOy¸/ÐiíÈß?e\BI³ ,'cVúË@+†ÓA#R—U`Çé¶ÓUÛyY +ÛÁñãË&4V#m€ñ#t«;/$¸óß}É­7e€Qll/²ã‚Ú¡à¹á » -Óý¯-–¾V“t‘c¢÷©iÞ¶H¼X&µÚ%æ‘ü’Žÿ‡¯üÚÒ•ÓùñÂÈ7!”P™ÒZÆÆæ/Úí³˜©ù‚×S]_(–-RçEè¬ìÊR‘üò]ö<ª*ÉÄÖ[o“<³áÜƯøkíð”u¸ÆN·_ÛÔ,ÖÙßÂü¢½±®9#Ì€­KrP¶lÖ9›Ó“?­Åë$‘èg{“Õî°Áq]ÁhqãÎñÔ%ð#r+ð‚ÔÙ1zH£8s´mÉôr +º,÷x Êqéa£ü(ú•w€ûå-D@4ãNaÖ4Èó؈q£Ò Ýìï"½~V$¿w™uØ^?¤…ØMÆpÀ$OÕSîш}(¸cï€Ñ-þÝ‘>v¬Þ¦²öXth¨øw‚ÚX8éoÍe ‰5¯™©Ñ/Æ ÉÜ<4Y¿p%J¶hx4u¨TæpýëdƒeâGaý*.¹Ø D§ÓC·‚q?š/ŒïºÌ¦L¥Ýa±}^<º 🠲ÓH(IʹÕ/p‘´Úœ]ˆeÇç[Õô›«cRlnÃNâ~a1'®ÈÖŸ9®D5öúŸtÑz³qMãþìO ÚFQÄ*Þ†(ÀØ–®Žb-aâ'QJ {bÅOÏ$Ù¿(^-„xÃCÙÑů2Ÿ‘®¼B»Ž’? +q.¡ •$ÓC{ùDàäfÚ¾”–ò{0‘àñÑï(v‹JÝ!öf\)jôá:kEõl T–\ôñ^›4ÜÚb=ôVHy…¡Å)¨}ɸžbÒ…ûP“Nþ”‹³h‹"*œ³œÙS¥Ö×*7'7Øž<ó_Ú§Gâ5”ÉÎvŽ*oÑÚ¾œÑ:Ý¿¬[ƒ&}¶f@˜¾®PbOêØZ¿ßnͦ +Û͹š¥¿ ÈyúÑðG¸;‚€æHL´+Xÿ0~3æÂ{\ÏN‰ 6*Nz¤)½ÃÒÙSß\.ʪ-j¦"«Š4Z™kxÖSSNGRL/˃(鼕Hæ»wl°Œf\Ï>‡ÃÆ ä%´D~Tfg‚£Ù…Þ3 ìEðü¬˜¯i—©L~C\VUæ?µ'æ§VÛg‡CF(2»HCf«<ïˆí©hdWã!™Š.À6½‚nŽº©lÇëDCÆZŸ[¨¯ëYˆ«ëÅœó:í*[mìžX­4 ÿÙ}敆Å^¯‹â|7ËÉùÚö}óÛfø²ÒüÅ—¤¸›J»·0jè< ãªÔÍ’ä2_*¦ MÔØ­4zç1ˆƒ°û§ÏõÁì‘–ú;Wä! +endstream endobj 208 0 obj<> endobj 209 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 210 0 obj<>stream +x\_RåŸ1j’ñ²ªì8 +CGˆEV„(ù¿Ê¾Rø6“Pœ?›ž§*RJM¤DãçŸq²2B¹6‰¸;¦9(Ðyu»uC&lUÿâdâeFP½Â½…ñèb›%UîÏ™Úp,j +©M…Óü^¿ÌiÊ["MBÙ‘ÁžvïÕE=Àü“±Û#‡C‘ラȵR¶+°|ÙÌ:HÛw›hi6dìº+Z…œÎ +çtÕÙ\ö8ëxÛbœ$EpÖËÝÈôÑ!þ +C±êCX&õMªÅ‹â9EÎ(óÁ¡XlY»²É)‰E®ÔÕ[ÚŸyMÜä¡©~ÝújjT’O5ˆ,ë gS•†~gówëÝ3«²s¬b=ÚK$¢3Jb¤_ÆÝ=;ˆ0_³y⯨»:ß?"îû,±Q“û^«k8§;åÿIwóo)"Új¼ÔìUa=%¡ÝEg‡XÃ|7¥Fß>Þ‹°â‹ªpF,[¢°™…ç+Ec*äßx$<W"Ðmì‰_­^vž4O^¸ nŽ™¨49¨$L¥žo2¾s;á:Þ8u.’W÷ŸÓîà['¶4Kb!¹‚ɹ¼Ûa«÷Þ é”_—â2e³ñÙ”,Ký-Ïàù\ENèœä…„½MtE^³àô6ðYN+'wjŒçOw*Bv>‚A»ñÖD³ÊúSày}ð$íÎU5þJߤØûƒ!¢8S+c ü|eAA‡n6튷HÀ ‚Ç 7¢—܆ O.f‡j ,rVk $=oÕ§ôì¾(/÷2&Çœ^åþº^¨ãC„Â@Um—Ÿ«p+ˆIö5Ó ]®˜4š ðö­ý­þ(È»«z%/u 'çC>‚o‚gi_JÛ¢V±7sä%&%Êl¼×ƒÛÇf57\è\À Ç»9ZHÁ œª…¢QøúKÎ, ÿ—Äž_kŒph#²Ï‹—^‘_ƒkòˆyÕ…l¨Cbk0=T"+¨fCû!'§9t{ÿ`ëºè@È„#£™NÌ ÝËp.4XàÞ’‘=¢NÇðd"Q÷²H™?±« F"ã­.Í3BŽO‡‘5y\sº o¯Ë·uö›þ-„ÿH5ºJM¼´ƒÜ á(YVrnâé—0í2ð‹Zû{ñÏ„ Õú·yýžÃyfïõ€ö‚r-;[âè+æqIjEv6¸>à°irÞîä’ƒ \¦t¥Vô‘w_È”÷¼é~‹‰ñõÔ‹rã‡7ê¤XãÏGa¹U©ÆP8~ü pueo—:&Èu Å0y©uºhùa”ÃÜÓ’¢±¬„–1h8È›âUïÀʉܣ•«×’ò¿Vùr ö5©êŒËk`DãûN:8ýˆøSQCJf~çç.{êc¥ðôµÔ$xu;Qø[©gë&Î60¼Í=E]±úÍbá3íÔWíx—t¾ 2[&‡Å€ŸÎ¶3 JŒ|\º.Ÿ¯”ÜŸOÌDZ×½ …ë,È—ŸÇ¯Eâÿ5Ž¼wž(,â“þ‡€fÇ” Ã|y5í ƒÑz½h÷}G;5Ð+”™] ×ôù ÇFª¹‚7£•<‡RKêàåN²ú–bèsáÐc§ ¬Èþ *ðJ‰n§#@2£–s2ˆY¸lRzm°É¸Z[œŽˆaй÷OkW´Ë,à…’RÔPq1h(Œ3Áe·…•°ÖF±èV4*è6€ 7z’@fb6«ßM=º¬”.nÓý/™nH +š<öÑjñjµ7±Þ-‘çðê`ÈŠ†¤Šûë9^ž·“ÛˆÎ_ØÓ»šþîfq $6“Úk¦f€^ !5%“‚Ì"+ëàØÃ+J]Ѽf9„X¡zÔØ•£i’-j˜á¥—šLþì +E¯™ý_ÓÁBöËV½Y͈«Xžxǧ¹ßÁÉýÕÃ;€Û”‰¨‘Í™øO²ôATY‹˜¬$oi(&÷o4RP;ù3[Hà“‘Î.`:ÜSÆ©¢<’cé'›å|PŦzGèïÚCCà(¤DH¦Ø×2_é^è£}¶Ú!õû÷j@Vy¥s3ìª.¾`ÚíVlÞ}Ôµ…€ŸSÂ9_ ‰û*Ïý&ž4“èg;Ú>ô»Ô¶smh%‘°HÊ)2þÝÜ ƒ×SÐ!ýë6cDJÂ¥Ó,Ç^Ö×Ýhf½î\ž…Ä©ñâÙéƒÓÎûùÆr릿ÌÁ÷% ìÈ8¤Xl[ÌÜ ¯Éìxœï ­9’ubGxÚ£{†éã œdô2`9Ü£—* +RCÌ|k¿~OFyœå‹rdd+®IS%[]¸wr[—ܦp¶NCo­*01&ÉË~ Œ!÷AÂnïÏÀý7«4 ô.—q1?©Ö½Jš;THØ.'9Yg÷"œ'E§ê®4Fwx\‚®kD0šrQCûÇš²Š8Õõ M~zÎÜvòœ.Íë12;üæÚ½¦$e[-ÅphètßÇ=ϬóÊ9sqeI’¸ÅERŒ¯k=ïë˜nô6©´4oËøLP³/-üýÒµjàk|è¼€Uy¸6)jGw¸ÝN{ôuuöàƒ¯N‚·ôPgcåã‡Ú¾ºé澊cèy±=ÿh*W) tãíi)dlÛí!Yœ¾T Úp(4{ÍÎÔNÃþÈ$îç Š¼zù¹;ïÊì­DâĨõ ¿ŽóŸÎIÍ—PœJ¦‹ãE…õ7"­«ÿ¥nš½òáH|6U¸ ÿ·¥Õ®Ã¥”Å9*_Sê  æäª>QËÊé—=󭇲v¨~rûþH.ù&ôsv1µ ÝHÅí/àn2­X_Cׇ—»Ç õ _>îó¹DHY=Š¯Î·ÊÒiýàdi%@€ Cû™ù§Tñ xM;‰t…·lž†6õ~M±š¸­ûQÿ\Ô6õgºÝ£¨\ª'\*ºyž×§ÿXì~”C%!ÌT{BÛøKk‹÷"‰XCo±{=Ä9˜#c_¨÷}/$uϽp rZ™¶Ñøa~ãì¬$öò“y:;ë•X°ßvKO) + ¨k•$M¸†Uÿ[Fv1×t"S×'ÑÚ‘#/Óc¦¿3+ •á‘´âNØ ’Â~á4šn”Ÿƒ!ýÍßóÅUw–(÷B÷É‚n[ªó·–J¶ˆB KX/Liĺ%¥h` +˜«·ˆ¦Á5½Å2—Fëv×Kò¤¤ÕYHü/ê2é‹(øŽJ¶÷˜2üBñàlaXÖ0¿[°r×Ö»6ëµ­caRTî«…§ÓP˜fÀu nÌ”£gûU‰aæø÷ŽÄ8ÁwÙùVró6ÎB¯šëÑØç¼ïä‹Ç¬úMÈ~ô-¾¤Ì@6§°xˆˆP‚’¥$Þàäù„M„½¹œsWðäÇ¡ïjããçŽ_äéìûÝÿ7þ‡ûôQ¼¥þïh’ýa¾U +endstream endobj 211 0 obj<> endobj 212 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 213 0 obj<>stream +*t®ÄÛ7ªâ•b‘.üjµécYɘÖ#ûäE|K­ªYÖÉ3…÷^Õ”@ðtîš´óDl®bŽK÷à/Z³ŠÇÄFÒß Ãóã1Yh‰7á Ó i0ÙeÃìS' dÕàÐ5>©Ê¯ý•›\âO𳶸„¨ŸÍœ°Èôòa³HÍaþœÜ«U5Œö-bÕÏ]„ú‘éúåE:ø¶ {Ða"ÿ™we]¶hÝÕ2©oåó^ˆ;QüãJ‰½î>V'VM:Þî9=Q/j’iž“y›)xµb!%Vëï§l7£³×C«¥Ç¡üîšÒSöU裺z¡4|¹öÜ® Å‹hêW™lXóR,æåCñ×V‡ ø­•ŽÞUA»6«n/|-éî¯Z¦fØýþO–tîO‡{mŹã+‹«Ø¹_RIBIË|ú¹ŽíïßâPÄ‘½NBHôB1…djY2{»ª¸NÒV±Ì~ª¨,ÝÇhQ­¬ÚedGz“Jr×.…dØŸÝ-˜ÍgR5»á$„AæDª{!É{ƒCÇøíOÔŒëNV|»ÆÑÕÚ€ú©¯fú¦­VÆÊ!0é£Î¹ x0¬j{¼…Æ;:p¼$¢÷§Nì#bë.C2'{¿DZ&Q‰É~At0XnÀx‰ÑB2,»âQ ¦”Šòs€ï†‡? +lßYù· écÊKjh­æä-:GaÐ@ã¡1ÚŒ>öŸ¸²éñÖƒ1WÞϹ…á§VÇè"¬$i½ýÄPEåÎá±#îÒ±°3`~Á©]Ö^ HÚeW›\î-9éò¼-tÖÞÇgê1À>œÏ#^DäupÈÂ@y°Ï«J‘ +½’;0¦Ò¥«:–·YÑ?àïs§&ŒÐòl }ŠÖ‚ƒί|îÇ@7Ü溗ñÕŸ%UÓ DÒ"{+Ð ÿ.ÆÕtÔ.Gîy36m¤” 'Õv*jZ‰#`lHÑ_Ñk¨¾É(¥H.7—»^Üt~ æÿ~Há’ xÌâgßÌBbŽ +ØÖ»xêz°ÆÐmÖlòþŸÝù=!˜Z©ó åc“fŠˆÊX”Ouûz„!–f[™‚–iüXýߥ ¢:y.H‡ >rܨ†¨x*\L'|¤3gú± /:4nCS!õZZn`2¡³·_T8U§…$d„Ç÷Ͻ;¤À”ÅÒÿ‚BîÏO.C–HHÞ¾dD„ãGQ ó™ДӃÈÖqÈûmàÆÂqáJª°ÌªVéf&7&ÑñøÞà[R¤ð‹6BI|‰‰8xп]œŠ†Fµ®C³¶?’t[$Ô¶{Xöלê­0ö½…2]Ká~ñ%/žÇ!ÍÜ à&„¢H/,¼w³ÙV©<ÕÛˆóðæ)Š÷tL>ÔÃOG¯¶p®Ý•O±K'‹4[ªWýî÷<ëÅ„Ë}Ù¨Føþtؘo,ˆ…Q* +µ4FOìH…»jCÆ|©ÈʛĀío8ോb½×mÁ +ÄØX¯ú ÐÔü÷ŒŠ*Ðê•ú*h%Ãa! Z‹Þ> ¿@“7¿Ö:§¬Œ5”ùÇ\/ˆŽ|Ï}òF÷xuïò~u‡jHº|ÖVοòä%ZTüuÂ6Áþ°๛ۿ¯ƒ‰ZàdþÊæ@¥°¡&tŒÁÂâ? *d̲è,ëæZÅ^VQRœáXMi…,#«~ÔÞa]è õkŸrÀ…Ìõb(vÇ}\16«$ 7²~ð‹Ï7ñyS`„Í=Íè±MB1%ò 8ǼƒHïVdPF‹(Lcå£Éû* Ê +ÉÖRj\´¶æõñxD”¶–«ÊNç +ÛfËzøkÉÚ‘L h…k H™[Àƒ¨ÂwÆ”Üh“p(Ÿ¦GÑ:rE àA¶*uÍ7:Ö‘»,y‘Ô¯älâÅN»ª‘‚É–¥ð2 €})Øøl˜±ÜaÐñ4¹íÃ3Øæp‹¥ñÙýÎqKÿ¬>^P¦ŠpÝ+uú’Œs?©4½$ž¤Ð‡ïöÖÐÁñ'Útá,ÿX,+:CíèÁKcÆYím„_Ģ󾿭fŽ…’Sˆ™ç–Cñ£ —F—Ó]®u¹ËÐÁx•¢ïrèþ÷ÞÝ“ùx"Ûyï b#ƒ8G½"O0Ùªuz¦Õþ|GÅ@ø¹‰øÃ×¾ÜSÁ¦JÁtí2‚VYú¤. +æc¹R<Äp-{/²÷ŸT†­è¿‡"ƒ¸}a!&¼[k¥‰6Wd­3÷Q­–Ð+ŽÇTZê&dDC’ó Üm5¡¨Û ­h‘a2ñ +9@V²kí¹¾“@•U-.þ!K”M¦ªûQ8ìA«Ú[r¸?ÌIk¢³ö[Ó„OtþÃk»}åjŽ²p3©FQO+A ­S¢®í¨ksÄPaÇ‹¨€L{Lø¸c¬útǽ¢rx˜ÒÕ’,°Á:]±°ùLKuô4½iF¶1ó“+hNy@ú|±L?y{îØÖ' ”‡ãPîS¦:5ûꨉ“wÄnÅ}ÙæqSz6žȸšZÒÿ¬íò|$ŠÊN»†~.k¢ÃV§ÉYè`!$DsA“œxåõp¹¶ƒ,à2 õÆý*¾ÙzpÉçK&‘ ýX…XGw"g96ò ™ýúJte¸ÿgÆÉñäG<ÄÐpp¹âdðùñõî0CB'ê‡-vk¢$™Ñ«˜pl“£ý‚Ç&y5}DÜ>zqØÆD= ñÄ9h–£j¡jw+!óÐÙp$‚R•Ì5$nÝg«'ˆniöÏU±T%¬]µ{½­f¸¨ùék¯º£%š­E•÷·uZº8t¢Ø=Œ|â+,rtvˆU½V%"Ά}¦”M¢èJp& Ä0áWݽÆŠä´úLÔŸÿ†'Kx(ò7CAô¢i¼„YTeÊ'TV³óRBËÇ̸7pÚŽâabüÆÖGá²Å€•`cNÙ«‹~àA÷òà6Ãz0ðíü<ÁïŠLŸ&×É#-JTµ¹š€ƒ PÕѺK[îRòs„ÿ혮ÖÞ†[íÌ…<ó +z…òZNÏ–ÌXJJÌ ­!ƒsÄRiÕ5Újäz¥«S#ã*ÌzN[hú®ÿ J¯±| +x¬òí3~’øKÌÅmaçz‡ @ ç ÿ0b_¹Ž¡Y¯°—ÑTgè}Â%ePªi'2k?Ë ˆûK£B)«9y—dNÏÈKQ|@ÐLtìlæY}ð†‘×pócYfï@^Ô×> ÙÅëÉ +D±ÿ68M’q¸BeöŠÞBë¤ÿi²æ¢iÊ:É‘LüÌyì~ã½”Ïù¸í]xÄàðR3¯¥î´'Gë‰.åÍ´rò†œGƒh¹»àПô,Zvl_vJغŸ-<ý ×;0¾†Â“>8ךAC• €ÖGáV!Ç8sZžä9CKïPaÙù;âÚÛª±”xT³˜Xñ×Ä÷1Ûf³ç¢{­Y¬|¬·µši'¼é¬0G+Òú¸’ž”û‹®¶FŸɲ_ö>G6Ü)5“½˜+üe¼Ž`Ù©t¶Â|×›˜{ÈçX2ëåw‹)"ŽëÎ+UȧŸæÛ™ëÿù+Sí-ó°ßl‚5ŒÄU›»¾Òw¯ûñgÍ +û€oËx,Èìí$?ôQlzRµ-¥$.}~»djF'$øÿnœˆxb-¬Kš+*þ•‹„žÉÞ£À`£¦¹ÔÃýJŸuAª‚/dXF„¡bË}¥äÃùP_=œ¢²oo ¾QHIEŽ¸B¶@¸þÓ+®bTP¿ö9l-:ÚÍzþ·EA×ÿ(ßàÄÐj`‡ðùóKïÈçvïÔ(nîÓƒœ¯Œº*´]AˆÅÞ|f  NPxiȳ*tgë2mýFoù^ijpu=gBˆ–)¹LšašyŒÒEis¶ÄJýyÈÆ\äI.œ"ïžò£4Ê:d¦Ø†Ù P#·ÐóXø¯a3 bß…r÷®"µe:òþC‚V7à¥këêy;Gò16ä÷ 7Ö>é¡dƒêñPL^ˆ¿”²ÒEÉRÑÉZìšo<"ï PoˆQÔÕ”¿*ŒCî;RnTØ.Û +Ö¸a•4~S¡-HpÞ?žúçÀ> endobj 215 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 216 0 obj<>stream +4-dUˆä~Z~wY¯Dº.¸Ç?*€ŸV–¸ŠCô÷QH /f9s¸ùž +Ûð8ÚX?'AhÎ{ÃN‘ ‚£Qv Oï=R¿Ðáwè`Œ©­ ,.q©Bî Žb{0b5eªÀ)¥ÓÅià‚ç£+kÔçœ\6Q¼¿©¾l@¸èÞ’ÛCÝ­\/Ü ›§e´Ò€l>-Âõå´ÿÄÕ€¡f _1}d|õû@~®)Ã,èôY…÷'‘¿=Ç\¤ºúò&궱%b•êÛ9‡Oæ–ÿëB”fi?î623wqóß95uÔŠ¹¡ªH¥büÈɲ4zûî˜)[{´xG”ì_«ˆvpø‹uÆ稢q?Ê8—8bLc™“«WÄØ‹[†m§·Þ€j‰|Ág=ÀuÑ‘òU­,E»•,cj~Áw$$OªÓ8¥óù aÑEë—Ð9€`¾=º¨&§°å‚Á¹ÑãXwbŹÖåê‰ÎO÷ÐÓçO+ÌÆ–(‚SRÝ*ÝrwÆ @ËÄž„Z›­[ŽŒG¦`kèªR)Ë‚ÌO)|ßY|œßŸq¹\JTšˆFÊg²µ²ßŒe;F‹Ÿ/bú쪇DŠ­B§s5ÍRQ3Ì{oTþþ$O_ÁÚ†Ö¢lŸP +MˆÆDHò¸’eBáªGŸv½DŸ³?¼Ô£4tp‡ŒVlˆš%Ý k½}çcASÂ+õm}abcð\ãU‹ÿÍioyC9‘Wjù,„1W·5³B;¼¯dÿÿ3„"þ¾,GgÓƒ˜é_¥“þp ¨WŒö™³Ñ8#),H!Ë< °Ì³˜7@_e›>Xi0ä"5ýÏ\áãñˆ¯éÿ¯I*¯  ¤Ô%¤™^óS5>IDöÏuãÖ÷ÒÄc—ô¦‚Ú”Èñ9»‰x„*…à ííLMx}ÅÄ:µüEud¼W9<0=ðB³&¤ÅW½¶ÙBdµ­µ9³e=‚Ç—E§iù•ÓtK¥á‘ØÌQò|ËœBn«‡iKªzC2ñ°K‚ZÐPÁ†X”gÈËÝ­¦c€¨Ê’óþ~«•ÈÏ UŽ;•p± ¿~ðS?¬\Á$¥WÂ2è±»Q-Uä5´Ã9š´‡ÐËUU4€ˆ×ÿ„ŠB¯ +j/¥DÜB;ÿÆLjV¯à’”uÐrÇN”•y}‘ç§t´Ô\ºø|“¾; ^pÀ¥Ø?öûSÖÃeÜ‚÷ÎÍ€cu¡Q iú$ˆ†ŠÇò¾´–QBõÕÓäÇ"dŠí7«œKm†h{¦û+…©éÞ©›Ê +~oÿLçkÚU€%ú@¯f°¬½³=3¯h]6ˆ¤Ö1Vce·+¡µ>°Ð ÓñÜî4´Öm¡¼VO–ú•Õç·H¦ª‰.Bù«±¼¾3ì{2‘þ„´Ã)ÖNÖÂA.®Îî,ä>f…€ªÏ| mI¬ÜDÅg &}jõª:¢iâo<sæc|ÌŠ—­èÍUF¶×ÁŒ'‘ð&Á´Hί‚´å˜„ +âi×ÊÏûhS.‡U¯‚½r„-Ž°-jY‘”h{$Œ8ëš!®š´rü‚—´×Ö>ÍÉßÇ+¦#1[žME‹A“ž™4dž~ZF:C›I¿ùV |kÄeJM}ÙzòÝ\#2ùDCÚÄÅcul„˜±ç¶ƒ«1Cú|•*ƒægîZõã³w õ$I¿wR4@» ^qÅ2•pñÌ,¤éáÄÞÒ¨_¬¢Ó@ùm÷ÝÒMÙеœU¥Ë5ÂÓsAúç?ê2œN§X¢M|‚ «|?mKØ?=É´=Ž_,FT‚Á$ï³£á\¦ä“+Ú™ZôJ8£PÌìïbh|e`Æ.”²çóI'U÷M¤°A2k¡”’Í Å6#Çš|( +endstream endobj 217 0 obj<> endobj 218 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 219 0 obj<>stream +Lj†¹i—LSÑPKð˜¡Îõj:vjgÕ†þ6зúßgæåQˆFP†²´WÏÒïod’­ÞAùNÄí±W-Í¡‡l¨á õÇûpâ`ÁåD^9šöÎ{¹ÿ9¯žaCRñFš=§¸œûZÆD†¡.Å-å¬~CÇ¡5=Òb&±Ü‰D…«U†U­ÏÎ5”¬ôŸàc[w½bÙï[EqåPS¬Sã,0Ž‡#äûlæZ FaˆWç‚X”jHgÕ‚S¸n¨Ó/bPP¦Vá<gÁ +”è##KÖð«A{Öø”=mù±ÂL3BÜ¢ˆÓ J/<Ìö}¾ {siÎÂ.®ÁÄfÁ7N;ä,¾îy- +¬õ‰ãÆþøW%»"+¦sm/°ÛSɧtCSv&BÒ‡¾ã²dðØÕ½»·°ÍXPq‘T%P¦ ±IÝîNîZ¼ÉŒ[¹2ÖÁ·yÜSóðWµl°F¨!¯Okך—Ýña»¸Ïk6þצ µMðç*~˜ÐÃáI¹{qïAK¸[ +ÇÆKÜžR˜„AÁ•^}ˆî(>MÜh§gŸ\4cÉ~1¯Þ4¯Ë.m@p^UL™\wûç”RÝô +Ñ#;K»Xü)ŽQÂýªSê¾`šÂ$ùzwÈͼygîPnyre&÷Ý,wôÌ4­*I‹*,ˆ¿¡“ zþËÂ16% Ò)(¼“+¿Ì4|Ãj xÀí›ão~þ²Ï]Å3þß-s{ñà +ÃO÷B— èø¹Ÿ‹ñøŠ "J9ga’ºGKO Î:±ù kÅA +u™C_!àqGxäÏßnX~M{SÚ÷D‡—‡]¿k5v-ªNïkŠæ¹_^x‘€å,c±ˆ}\Ãn H ÏӋלËe†=oŒ°Påë´†7ÖÆ‚õH5†<¾ÿmŽ©\ùO¯Ÿ–pÓø…Oè.…|“Ý¡s\ý襳6cµEÚ6|WbvA™Š,t‡âÄËÈŸ ogny•73Û ÞÔxEô/)”-ÏEmLÄl q"1¢>¬!a4Ø£•žB¡®àÃ5¸hËi!Ðè\eÆÝâÖž ýù8ýTEl•¢zrW>V\»  Y&O¼Iµ¬+éý[Ëó*d½4’'+Ÿ÷»£·C[‘9;@¥›¡Bºxþh+FóQ¹¼­ÞþYŽ(^t·§}$³£mP#;îõ‘DzìtIJí"Ñ´ÆÑɱ°£µ67ó2CÔ'f)¡Ê„^]Xe˜ž!Ëu9ŸÕÏ>ÌÙܦ‚LÍ=ź]§¼Z™ÓG_!ÛÑ¿,™%­5Ð}\\3óvó&ÔŠãÂýÚÔ«SÓ5,æé0{- ÍsÈi.¡Î^é!;ßäÉÖ/$°sWž‚‹&¬ ´Þ4Úw´FX4‰K¾4í`«.¢µ;)É¥1ŸŒrÍÅ“‡8”™ +Œ‰®" RÑozL,¸?Vmûrnú!ê¿^ùœ(ŸÈŽ3Ý !DþçI¨.w M™P¿¿[¨š½À§šÇ`»è"ª¯CYkó·±ÇOå‘&zäŒÍ1VZ¢òßMáný×"¤ÚõYú_b¬y5w¢ÊÝAûSÏÀ$K/sB©{ö«ÒÔp{tB²ÏQPÕűƒ0)G‹ùmãi¡b©4nÚžÎTÏmp\ÕÓh%[?F`ç@j˜†N …T-WóÖ픃ÎIhIˆÍÐßä¤C|(=ÌûF†UØð~›è?Öê&èRZ€qh÷Ë°‡´”3À•+Ÿ^&íÁæ[Óí$êât®~FøÜpMG€{#£Ìñ™²h\ÒÕ»W²ËjÕ8!Ë2ãˆY:dw”éÔ%_œ>&“Ô Õ•`úÆMD‚M‘^ß…²(@T¦Xsr —0Mw"và³AÖš·h*`e¸×Rg“abÞäIûìͽ²Á”U1<\‘ŽÎ*bB*²qL Ë‹=Z6bר[ÃíÍü8´ñ.¨»ê¸ðÝ*X"NäA^áÈ"ñc:|áw ]°†(º´ÕòئëaÇ–ÑB[‡ñÍåv_Âf¶h¿YKK£äp¶ŠÉŠäM]ÄpÐlÛ²C¤¿Õ=>Ú’yÎpÙ4X–ÖLa}üHÕ°ÉeÕ*¹KsÕÇ€+ÚG©¾ÅÿÍpƒ÷Àz(¶ä!qK¼­­ßE{œß5 +endstream endobj 220 0 obj<> endobj 221 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 222 0 obj<>stream +øsÐpÊ‘) æ­ÖÕqØeÝ\Ë^;Üض‹&>»#À†øõ„ M“6Äòn¶Ñ*P ‡Ì¥¼ uÞ°ávJÙƒ\Àºd­_ãOFçaº¡ß,Igguâtôš1UàŸ“y*—ý­Øz+£2ùùµ„5Ç×êÐØýôO-‘öî`¾1í„æ„?¾ s¶¤ìÞÂPø½E8I²|VŸu¼ñE¬€ÖØ¥?GÒéÔš©÷ˆÝ }Š0^×ÿ¨ÆæÞZÆ– ÙóØ/F£¡M6äƸ}¾Áÿy¡IQÇï2N=íÑi0¬ïÁ&0 ý Êq¾Zņ5¢è¢º-®´/QÝØpnd¼£éÃçÍ«Bg†ð­ýl („àÚ{S%ÿi9ÖrAÎ\woõæI‰J×ü#[P†bý:kÏçñ‚«ÀìøÌsn…ÊÇЦ0Ãbù¶éAÍÌŒ¿¨8I„°Z®‹;ö ÐÎy>·"“¬Í2L÷™º‡¯ìëüMSÛhÌ”`=XnV]Ó¯À±ùZŠò¹ŽKíVšwG¥Lîµ%ÜÓLôEبë?Ø>»¥'pôpÇä·t¤|ÅåêC@‚Kÿô‡‹20Óš¬cU¸LQ„H°ÙñƒbÀÍŒ.,†m£bßÎýá×G† +N\¥ÿ7Í¿¹«âT¡V¥…Â4/YPJ6g2ÀÛüÁ9(Ñ)v± -ßµÈ×` +@l¶ ©ûx%ûR¶Dcð“Cú6ê+R-zïþ_|êî ~ í|÷¦°:"¦ÊS§Ø"E®Ðxd—€«Û™QãèŠÆâ±!äFT$¾LÈŠL)‘M9kìõÅ"¿§<Óÿ€¼ËܨØù>ºC¦%į.á4Á‡†ðƒèɩë¢ñ¦É!áÂÃ5Äç6AÑ_áÐ+Ò&ÚÞÈB"`ñ²6­3xlgÆnˆ¢Ã“Q¤Á¸±;Ÿd–‰ã_\2”Í—‘™Ì÷¨š¾lÕ Ö #$JaKÞ)ãÁ#û‹Äÿ’Üœ3_FR¥Ýéh +‡Í$jáÄÆá¡å•M¨Z—ÌïÏØÓóTBD <æçC¦Ý¯~ƒ‹¤ t~Ú8X #$7ü> Hk—>PÏ;–Öézß8ÅÇ7J#«4na|¨d9w¤;‚Jc{3a'K6þÛ(Ûý›ë#}RUÁâ»Þ’‰]ãs„ã~·Š“|sAŸVX¦ŒÎ’ûCµöuÏò7¬õTqÿš976Ø­¿Ò=$To/^€÷"Éõ®”¨$  +ù13tË©,cÀõiþÂbéÓ•„ÎŒŽ¼„­ùxùâŒzhC#Lð#c~oïY‘;`¾4ÞàVáÒr×…!™òò»ãÂV „+Ìþimúš©ÿF)Ëí³Ï·orÑ â&ø£JNÏü¹ý ¶JŽÔNCÜ“ƒ:«+ ©6îŽ,'☂ôNï8çë¾ÅjÑ”·£®qjåÏþR'ŸXÊ„Yçô^jÏ5A·Eý\gÛ¢ËÂüg%à2’’ׇëð‹’QE×p·‘`ocH¬#r¡Y V9™‰•u¨ÂéR +:H¿ ý÷³î¨‰;›XóÐæÇμiOÎua©Çÿs&0’³%׬å3h)mo H$d©W#áQþÈ´¿²ïté«™´Ì«¢ ‹ÇOƒ´´¢ñ7=Õ X²G´¬)¸xJ„N˜)×E_׈sk„Ę~­2ÇîÇFÒ¤¶^­®bò2×xÿµ¤ðZ¥7x±«úÙ<” •†$)A¥èÐ͉et9Iˆ^EÝF‰²9²[Ÿ~¡ÃÚ<¦ çr¯Ñ­½&XwJ ÃFñ®–•¼((›úZa‹ôC±~~Ó¢z }Ò«úðê嬖ÊOÊN|Íœ§µŒ%b8Gc€å&)oR +)œX¹poÒV‘néoYOsÛ®þèåÚAV.yu4aàôÒ¥åÝ¥nxÙá¾sÒjj6•¬ö[Júöd‰}î0NÕðÑ„i;ÒÄ©=ˆÞ,’ïx +#Ñ_‡‰·DÌ‚ÊfСôÝÀ¤OZŸx½ä“ŽÿÉð+°64U/ÿk ‘âgL×õ/q¬¢Ü-¶s?LÜ`n‚.TM÷dýRxC¨—'V›±`ì%›½×Ü6²ÌÞŽ“-‡Ê"-œ¿›WË(usËGæ0æO‹«kt|Íq€,¦ôþ~LÐ>9.Rüëž!O¿à‹žŸ²Kãø"Öåˆz¿þÉ.ÊæŽI#&ðµ@ÐðÈXùqYT”…Ö%Õ‘‰§>v×l¸Äd54÷¬ªµç¾£XD=º½­~Wv> ¼â‡Óúi²ÂQóˆØCiÞMDÖUq‹@´è—²&óîêum1ç ôy׬ ¾˜²Õb‘¬Sñ²ü]]‚õÏÑzÊ^8º¢Ý¶ï3åÔªé}#„–ŸìweÐÐUá ìá¢`éfä6™@ˆ³Ç3s…Õ¾<¡Â"4µc­eú‹Ýípí n}øB »>˜Oh˜;š×¡–Öoœˆùhtðå"½ÆÛIbåæ žÍ¤Ú:òR@d„笠§ål/Ϙü; ÞQA8äÌ— ¡`´ì™¦ùχ{µ8ÁM4@XWUY©Á»Þž2¸í¢šôD”æ^ô_šå”öݯ[R”W „QnQ–‡"œ+æu¥®S@Yý§¦ÞŠ­M褒-à²ói«Üb]_„Ë”ò«·¯-fœ^&®t¦yJÁ«]z8‚ƒ²[ÀVè†ù‘.ûfCØ |?§[ƒð}¨w•®ŽœâBÒíîjãͶÃ(+g…%ÑÃb²× +endstream endobj 223 0 obj<> endobj 224 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 225 0 obj<>stream +àkuó!44'¶ø„¹‰+KõÔ^ÿ…§ NäsØb¨îz­uŠ]Åň×'•\|DnC ˆ„xb– –âa&,ÌÙ,;l•_êê=K¨ñnÃZ@¹ äS¶‘p½9¤ Ï°rAc‡`Ë6ÏÏ8ºà/Kô^ §zãFÈÊ.{ü솇K.ü¾äÁÿ~Ö¿~üXh]Qîw|·ˆãœAy¡ +OêQ^ëÒë«oÛ +—ˆsIÍVMÿ.8–!M>¶úébPPNi¸øTç¬õP¥By)ŸÑ®6í +eD/jÐÍAKU—Ë!ì"qlvþ"ºÜ"”ß/éêñ€:Ô|X€\ø±'ÌšñïÛ¼œË« `Š}ùîk„©âΧyÊùÃîÀÖÛÒæ;…ÙeV~ûL4ÁÙó.3'ÁÜìãü;ò[i” KOøö÷s|·]•…‹¨×-hxª‰=wJ_eÊÎ!J¼ÁƒK?už;•©cß¡Ë@@c#‰Ái´ˆZ7.« 0]FpPùKOˆ=úÀ£®L“ ŒÖ»J“xú ý«~>y¯. IäAXçDtu©{C0”É+`GÈ—ö‡<ïÄ2O”ñ¥¬˜Þ>ض¢•æˆÚQÓñ©îO¢h^Lõ1fù}@¿à«¦¢Í¾’-]JV{\¤!z`-EM¡7ˆ–̧å÷‚TœCÞ¹‘~—}ÛÛ´:d v…Ø™ïß›%æ¥wY@ÞŒµÊ挒ú ÔIDœ¨GýÖ˜1šo/¨¼UÖäЬÉÙãSQ?%ªFP¥vЩ/6K3eë8ŠÒøÔÇ@QfŽ._%E  ±×{+¤@¾jÉ*Z…ߢ€ÖžêDV vê|Èl÷éCÚ„í+.à£hXV/ùªTó%‰¤<ƒ¶6 <~ùÖ] _t‡¿IìÕ9ÑœÓãóH¶îYՈʼ 7ê|›Pͽ{4a©”È¢ óÉÌKÖ?´:3¥Æ¶ü¦ÏJÑ•á;×í-ªÕÕ-¾p¿‚øÉ N¡¡!4£«ÇmUˆyÉ/^,ÉFW*xûCo@ßCà‹ Ì^»2óË çŒånýi¯8Èc+*s‚]UR&‘JŸCZ/÷s©ß»úɉ)x5"]Š1,Äÿ‹;o“fÊ y•Ïê©(b%¹oè$tO‰Õš$àúâyþØJ½Q3v´$î@MW¸~ßì/+®[ä¯cú¸ùs›3Ï)ìÜOóŒ‰\TÓ ÜÐÇр͑hg aï­ÁÏ&Ó-'yä}-±>_°Ù“÷fÖ&HSKØ?2ÚXAvÏ+ìŒRê•z=ѳÒœMÏgN +42cÔeú˜”Ñå¹ÜäîÃyMÑSG ?Öð\‚Ü$¨’Á®ó¦ÝÉ‘¹L(öï3àîÁi"-vàŒ²­´ž­Ò¬ùrÁí3ˆY‡Ûˆ1ÜÚC˜RÂîÐœJˆ¥¨_›aŠfïs…3 è ñ÷ ~}°È)vˆOÑÅ~½UBŒížÿ°’µ.Q•æðÛâšHej‡>‰Ò µv4~CuÀ±®e ™s’‡º¼¨"i_1„€WE– ­p;«og–JLl³BZêXÈH2EK‚s›ÏbaP>‘ÛóD¦ j|{V^îô;;Nà¢Î+¢ûúúPÓìö± Æ:·ô㉿KÐ)Zò°nÂC›+°»YnÎ9@\‘˜pŠQBÔ¶"ä¤ÝjJˆ\ÂA% œÛÎúœ“æ“|YÕð…BôD`p$G‚ÈÏÆÙ¹]jé Ï×8ÿ?ó=ŸÞŠ‰Ô¹K·6 ˆ—fIÊ@ n6düä´Åëu¾ÜmÖFNkhO“^¬ü7±rú±p¾T) à JŽ ˆÊ-’ÑdÏÜ{åÖÍ}|ÇeãøS;Ÿl¶•qš÷Fþ«™5úi{˜¥2ØCÆ€„ ô••‘˜~˜9K&«Ž‰ˆ½µ+„‹X»[L—Øm`øƒp±®'ðîè¬ãf^fä›f÷„aD[¤ @0­Ô–>ˤzxîòʹ<³®'Å‚|s¯\bÒH]šbÞˆm…ïÉÐ E÷ßþDs~»8‚æý¢w\ÛBÝH]7> endobj 227 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 228 0 obj<>stream +įÄÉ_œùƒœ‹I¶ª<ã9}2P¡Œ>E ž¡ +O PÐÏÖ§«]½ hÇ€0p:ß@õS}áÁÆWøÓ]€ß6Ë2jùaËŒø×J•‚?C‹» ½ƒxäÏÏp,TΨXYÂ]Ðë8;UƒÙ䮹êÍò p £1‚Él‡YÖÄß#†¿‹G„ÖÛN6¢À=\·ÓúèPJ->H“FÔëD8¹â`š §‘œ.3?—Ü»N>ÌÂ|`fÜÂÕª+¸GìfWߘé®4 Сð] +€!¹<È•çJle +øL B/Uôj…DÕ=‰ÁÔãæÖ € TÈ.ËÅüï‰M$ïlâ±´ý¿A-˜Ê¦Ò-¦o¾Qº3–@ ”F¥­~Zµ…€’dìkP„Áxô¿<.¢‰.Ó(ð0?¸g^XðŸÚkß)IÃîþb£ÿA½•br»IÏ@n‰Ê¡…OÝÇ1¸’³õM•žâ¹§ëêi<¹>†»¶Å$Çʈ„§%ŠÆ3—r•îدF+ìEÍQLJ”²Ú«_‰ýšŽ˜ÞÒå½xgcP_¶ûîdëlO '@o•øÞÖÒ“ÒnÞá˜ÚÏìmxal´XRâé/Á˜|o³Ï1Çwö®73ï•Š¾ì":@ÇKêš½¨âz:PéÆùF†½Ÿ¬|ïzUÊDÁý‰”F``0à âPjIëýë‹ý†OÑ¥8g +â©?eÝß!Rs` ~³±òˆŸ»°uϢ×Uë›–á +¡ €ñX4é8Ø™_&Vmk!žr.̧«¿*K¥ÃƒÏD¸ðÝ@ìõ¦ô¤F”ã²÷ň1kظ}JÓR(_ÊYßä ¨;ÌV­÷Åì©Þ­t:zl)•¿d§ÌI™-]~ò FŸèejD UbÐl¬H‡}Ÿ'Þ•HÛ'J¹ÐAÅ!€2_Tïõ9~ô2*©ÝC'%wZüŽ°”¿Ðÿ2ÊI0Ö¯Ù-Ê B5Ë“¿¶T¨y£$£Â…é°¼ÖÐás??iÞîiëZû5ú€;…,ú 5…ÀͦXµCƒ´|n0 mÑ'›’gT‡Ä¢0k´ñ ӴߤHK1„í€óæ’òÀÔ~'™<Í}q š2&ƒ¦ÊZgi5?·S—4tés·Õoq&þrŽ²TÅÅ1Ú<·1„€™N?`Igí¦5ÜLb®Ø«ù3ê%<¨ªX §Ï&‰÷ûb7NyÑËÉ9756`Öyÿ#)ËTEä‡Ô|Ç:´¤'ÚhÇ°´©½59‡÷5$šÇàìiçjå=À-¨Ê-<[5ûhKÛYPÑ쯳hH i·˜­œ#¸¤Ÿô¢=u1(³dÄq´Äl½{FZ>òhâÙ!¬$ 7ÒÎïÌ–Ô–€:Ó//ªÀãôtˆ’'×ùCámÖHPÕ'4ö$RåÒ°ê9ÊÚ ’€•ÁHVØBe]´ ýs¢R×y2Í‹n¾™f£ô×_0yï+z"’þºzعXb æí(3±™¨-EfÅÐ%R·AB†€‘‘V­›8 ~‘‰ªÙ¿=ÊOÍ”Q5؇F,ë$É™xÝM ©I×jh°„f2SøǺÁA†ò¤]M–|†ÌNòÖ‰»vw$MÊÍÿûڵ ›Úþ»öR~ÿL[ÿbñA ®¦@4`€–æ@³~ÍRˆ¥†SVWàe[“èŸ4ïɤ¦e¨“±°É ˆÇ&ã;“Å aABçÃÝI4®rvÓûO¬Ûþ< `8› 4|a.W+EMU:Üð7áX6ù øI™ö®fÑÙ èjœHA›r›½j#ýÖÒC`i‚ù†NÃ(c¶-ÉÕïé½µQÌÓX ÒY¦ÔÁhºÿMè³4èV¿b¶ZGòµÝf.E’âQ~4PùÅ˾@»àV6‰[q×4†e«ðW{3i¡2˜òžóY2ôxfÀ³ÑÖœ…Ÿ™á^©~v¼¯¦|Ï'Ê5ÅÅ÷¼:+gRpÌç#è *Ûl­-¸5¸]àK Ci¤Ìœ¯Ö§áK80ÄYh†®~Û›CÅ>ˆæ§žšÊ½)[ HÝdÑ=Õ”$¹Vo$o–‰¶úDZ²‘‘r¼pr2c·ŒŽ¯ÌhÃOýµ„nÕ…*©œ¯yv !Ô¸¨/FÚ`– ¿ Gþ:œöé˜nü'»É:¬¢™˜';_>Ò–‘”êP‚ =ú¦·B©CÅ2×u|+šÒÎŒUß\¼‡êê॒NIAýpÔ"÷”n{çšJ+›"ßãEšKsŒû> …è­RÝX‚A¹€pîÒmê¥%σ¢²;ÕÎ ±Ô,¢FtZ˸ñÏO⎿¾ˆî~ÓXÀÏ[qO¿õÈ¿Ð5YAÈÙ°>‡²æ9vŽëlÓðO*tÊE¶[yh9µ[6^ß*îãHå4×=×Þ÷€nˆã>ZÏ):žóiV•k¢ cï·ÄgŠnC® 7ƒ{ë 4ßfê,¶3†Ê*®´7=”9íÅBÕ‚°eá^FŒœ÷ðîÙ<®ìIšÅã˘cLŽµñÑÓƒX3@ìç +IxÀ7ŠZšþ|8- :Cò\°v:7d8SZÉn +4wqÛ†„~ϬIÎA^šnŸÄ]²Q«¸,™Ýꕲv ºøMšþ%KØ™ƒ@<¬ª\ª»,^;åÎc_d¾'ˆRG¼4±ØqÑ9-M§ ð’ +-“¯–;ZOe b£ç/WSîü*a¾¸óX€¸£[zº +A¢W«`ÿ:ÛG'™|@•WÈ1ϱäˆvÛ%°_Õ¹ +Óö5yfÒÌQ:0›$ŒÄˆaý¯þ;×à<ªã®×„Og RYÕ”¶¬ˆ}ûó”“&K1‡}àf¹Ñ± a²bÅG³âþÚ¦-%orRí=œÈg©½&¸â¦]Em-¬g—ìû¼+ +nOJ\x„‡{Ò&2þ'ýḦs“ˆb×Úu;ÇÚÞ굄κÇ6Ý4ÞD ¬ÂLƦÕιطᆲîé-¨„ró”W +¡ +~xW¶(` tE¾r:½ƒ÷ò?K–é–®ÍG&ǵyÍÜnl¹úM I՞ƀº®ï•"ʬ$m²É²w(sÁŠAoÈ™¢Ÿ_,ûäyû:ùl¸Úç8‹Š’°“ŠõŠ5“ølL˜ÙEãùc‚°ZÓoô‹q8#ž_”©5¸¶(¼Ÿ_ÛM67ZûØg¥gä‹þj©6j–Ï_¶8èžbà7D|òÚŸñweþk}£+Éá…P´lÃèÑ™ó×aÓ@òÐtâè§Ê6—¿Ô¬î·’ý÷; «¥+£Ð%ñÛÉyO÷¶ G8Eä&ü-k½õä¡›n6¦+xis¿hgKB…%¯XÚEÞ‚ >±öw¡È6®sY£Uÿßme¼ÑX(º>2D;Œz|-¨’³'6R&nv1ufúPè¾ù£¬k´UÎQM©h¤h1‡T¾Þ®–Çè¼ùæRï ~¬+@'9CÒÅLÚ+J.,<>Ä.áÒO꯳¹xva4˜s¡ þˆ­bºÔ|ºÄ®øì“É'i~G-/P$p>+Ì…H ѲÕèäÌ4;QbIi~Ò ÞƒH3¤ÖTå™ÄsÂëPdŠµ ’ØXKª¸Þ–E¥S:³ԑfÄÀ§:{Ô‡Z)À(„CŽ$ú +›RæÁY›1ídV “êT‚·µ#ÑÈg/mѽ8£é2˜#á£éKýn\ä. –½Îâ•ñÔ=Îkr¦@z¬9\7$tï÷üÝx¾÷Aƒvz9 âƦ0ØVúÛõOÎüŽÅ2<ØK"`éѤ@FÚ½$™ÐýµbâLyÛ)H¤lZ\IŒ§–•31•E¦ÎÒÖ€.£á«ª¯dO_)WôÏÀd’"88éuÛ²OP&¤TPåùàá‚yÚž¨¬ýô§ƒ&šA¦­ðœ=26–ÃtZ7<Ï.a.{h@NÐœÀ3—#µåïeé¦Ö”È‹Edˆ"ÞìëDsÂÓ­% Ã{ºOìzÔlø"¼ø|DIÀ ‰û:ÒHËuà~o˜]ìV²—¾Ê–`>Y±Q÷’”ö©zs,;bvàá:ª³Ü·f:‚qNƒ—!å•?Û#Ì#3õÃÅËõ±ÙPehêwâ#.4ŽA¶`óv²\“ÛŠ4ÚÕ©â´»ÂÆKE,CR)8´ ³?­§²Þ•kBn+kÊÐõÒ°‘7oíÿ„‚=Ë{åíqû$Ú€*wN‰1Lj «í Çt¥SŒç$AyãØ)Ÿ2…ø{=Í€BôúOÜGÆ¡Ü…L:ÑAB©~]I[êÙƒˆ1è—eÀ£Õá‹(eÂÌô3JaŠ:ÜB8ž‘³3E¡øÑP¿Óî×8ƒ×æÓcU +¿˜ì{Ÿ@44¥¥K6'åR'H§T!¯£¤þ°ãdaÄKÏN\tÂõKÛ˜-ûÚöD.ÃÒ3Å™ÃEÁ?Í`·¿sºû¥Cûʬ¸ìYéD¸¬{Ý¢W(•·Ï€qvßCÞXó‚ª{.EbK·¸â'w` Qæ y¶r+wŒ¿LKéÞM²¬öòa0@V§Œ:ñ´M>¶:o#‚þK7ÉÜ•fÃ&‚ Jnf²U–Žû¼³Ôû®tL-VÿÇí¯I™ Bâѹò‡€+g3¥ÿí¤>hDµQ½âÞ ù¯Ì_:¸êÚþ•y+ioŒêºWbã[ÛÏ ±„8‘ ¹Ì¦SK!úV¶4w[þz*rSWdלíz£ÇM$ínzÓ(ýÙJÁV8‘KòĦŠQK&~†íZ¡)ýðëêí·`Þ S¼ìÜ +¸àˆ†®“‹‰$ulÙÊþHýN–icqe$]š6S­?,ö0¼È +“Ûa=ŒulªýÝøgËàªÌuÍ-Åb1 +' , +I+–üOœgWt9:u`¬ãÔ®´ÏÙV.Ì»yß)Šº$P¤þ)‡„à/ò P¥ë[îðx ´ã#«rNÌã„ÇV£Q(iV_Ý›æ™5–‚„ºÍikækUý¥% µh)Z¸§Ñ›j ¯žIÉñ$€Šy +½‚Œ±Ö™:¬ó‘$}(‹Ê¾<s’•kz$ ¡][»»ïâT*üâö¶k¾ÁñÖ>÷ªä‘;G¤µl½ü’ZPB +endstream endobj 229 0 obj<> endobj 230 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 231 0 obj<>stream +d×-8aëCH¨Jö˜½½°)ëmOVô÷e2Bí’h==‘ßÊæ¿ú+ átZEĺIÙîz†žUä–3‘ÈÞ¥ILš-yp¢÷¹ÖŒÜ wÔ^¸nöÅÄœ¡µu+z{šŠÎ7Š9G2c·Ã¢*Cþº3pÜp,.þ͘žOsÊš‡Ò‘­rµÁØËÓ=¤0vqþÉNŸâ•8Ño*í$€WýóÒ—?ǃ´{¯8ª0Èÿb5ÌYõžúlò¤•Lg”K•Çö€€ñdêV4»Çwd]r–VGƒrä3éŠÜ~8áÿ"Då0ñ…BÑ1p¸æ†ùÒÎùùB%K׬I¡êòKìé¤H„9{—`A‘P¼ŽÆÜ–ŸÅ¢¯#ækö›„ÍŸ…ØVI|ú÷g$@ýqÌ: \Ý7‰ª)…äÉ—1¶pRÑ#G>ã5DÌšXòAžîæm™Ë-ý‰/çPocCíÙðt&¢“å3 É4umËøª{½ö4eØËkË[¦¡&¬©ß«ÒÚé­®7}Ó +“é@îtzƒ“$T±L¢Ù¬þR×°>a¦)²”†Hô¿”:Ý{â‰ë° +‹ëî8Oô-¯ê=bÄsÂŒ×N›]\À-·ªúJŽ÷-îöZsÍ™Ž+ ?‘£Ù n-×ÿ·•Ž‚ñ ¼¬ö9=eå%ðòÆjr¦ƒŸÆNtЂ¨½Sˆ@wæÃ@æH‹ŠAØí1ÍŠ/"”~5›}r¥'ÁmÌõWc:,ëÐ#WS•~uß”GÛL8žòˆ!¡ë=|×Ú¬ï(´U.Ä“ @Q\ÃÊÊ…~Ìýð‘v‹~.ÛmÇþMd'Jtß÷£Ù•Ñê)µ¼¼¬ü+Ä”?N „H wRÀjqÇ¿X¢,Žg&ÈKŠïâ ¤üøÿ—½x·C*¬ÑÚ¹cDUœöLˆ:ëPÄÁžçù§®Éœd¥ìj7Ù×òBëY:-5kg33Ú8­aN*Ю¶Ž 6¢=ÜsóçL}|%1é¯' …rŽU"à±V.^”Ä„¾MZŽ†™²ÝØÀx¦šîœ%Èûu:„”2`k$ó5䋆Zœ ‘Ùª>A`¦ »xÆ Ù¶6ç>7ʹ2žÄy-²ì ¨ðz{Ä~8[†c!Ë«8 +äÃ@\Ó³³ßÚ™Fw6] ®œ=Î+f*ãæâ½&©ÒïP%êðjõ”¯gÈyíÁ®]:ÑÁ‰>¶eü!Ð:"E +õN5¤õIÿxsÑÃÝ×Zënk ¦‡ `˜Ö8'ƒähÂ=4š˜Ñ,IžÏõ.‹¢2$Æ<•+BÕè +&3éL&;sވìñ'U—­Kû‚EI½‹oíDF4G‡PªðkB> +[_®|©¬LÂÝŒøÅ+uCuðŒsÏL< (Ÿç¯Þ"‘nsÍÝ -Ô}0gpMŸ´oVÏn76¾Ö®ø³y~ÃÆìLƵÑ›}ËÉyò³b§à±XýšaxÖ°¤—b¢|,0•ô¶ÐM5CL2ï0þ[†ášÄGïâçk€ÂÙEì"óW(Øú ¤`×Bâ»Ö£ˆ¾…A½ĆRÇ–ÀtÒå,H*„h©O»ža—DG?ÐU·¾8«v–Qº “ᆇÛweZ¸\ÍÅ̆Œ¨…á´Ó"¹]oý#Q|µ…Ã3=nWêngÙ¨s¬ÂúçEæ£N¬×5ÜO|Ù„vþóÇ]!W€}Ö}1”„vÓN“æÑYñCÏ"ó„ʦ/>XÅS¼ÌØ⶛?ÀÚ)å–Æåõýl¨T-}ïïÞýçS¯6]T3B¤T¨‚j'žF´f®Œ- $CâŸÂ æÌ QkS|Ç&á]æ¶&Å’V „üÅÒ¯Öž–âO‰G¸ƒIÉן†‡ãƒí  ÖÕB£Ùi+Éâëj&¥cÒµòÿ‹¦ÒÓB°$UõmX£2ßq¸æý+Vµúè±ô3o_`¸ì¸Ú–W_º)RW÷ß³ëK®ˆÛvýù°ûí|” ×k?“÷‰GLjôbÀaûCÑL£Î.žÉÌ„ru>4T-)ÿ*/² V¢ô#¼ÆŽ;‰ÏQÉÍ ²ý^J£ÎFÐ;¿í×ä{͉¬a“²Ëþûï´õ»SðË—¾¹el¾§[Aôº"}KÒ˜Oâè’ ò]×mŽÍ2þ7!±¤X +{çÙ™™ivM€%u¸þ¾†GŽYzóÅî ­ï©þWîV¥D¤Жﳨ§M$ÎJŠÊ–ú4ƒ?fËÝì›U·“ àûÔ§ñ'ÿdkKÄ0²^e¬Ôq ú*º°IѶº]&]Æâ:÷ЈF$ûÙ §Ïùf ª‹Î¤¡K ÒÆÍ|Õ¦9ó ‰—Ò‡žP˜½)8˜‘OˆQRÄ^~ØÚ?geÓaU1÷Z±)CzN,‚ƒí~dԡ赶¸€AS¾_¢N@q¼ºEý†OCßÈ-çRß*Näo4éa$;¨Ôæùú=iJCÈøé€ôÅ„í® w¶©ŒÔÓPzCâùB`aÔú%Š]£.`2ÚqYÃÎÝÐ/~qBq¾ ×‚£–(¼ðå¨ÛÊ.!kôªäHk¦×GôàkΆS`vž)¬Å¡på6%<”§ÊçàðnŸ'M\yR¬².È Epg%—ñ¬;åˆ^~‡¯R6]œü$Ý0¤ ãwbËøÞTÆ$KWÑ}TQTÿ€¥§ræóP«=ìI.¤|šI3œŸØh˜tn7÷Y ò/6®²€y6›±Àˆ:YbW_8áAÛ\*'¡©»ícÂ?ÄN†Wv~ÛôÎhôÉñ– Í'¸¥ÆÔ|3T0jàgÚ°_/çÞæ5GÜsÔÎûM_ãJWêÕÙëdÍ´CÇ8)ttnÿ]¾QÍ¥¼Žnåjº]_ÕØ?ôw“ë'äfÉ  +ëì%izÌËT‰—‚š—ªüba¢Û»¡`åM´^¸Kl¡kûjéÙ.,­û)E LçT¯L3NñF¼D)b[øÔë²Ô¿Ì9ÝtlªIR ÿÂ0"ߪ` v·8v/[§..žNI=ë Ñ+ி r¬šýNæ㾞öZhå´ +endstream endobj 232 0 obj<> endobj 233 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 234 0 obj<>stream +>8‚”Ôo£Nq7u}^ysÉ„÷ÖQêP6Tc4OÉA{‡ù!%ÊÒ‚TʯêTSIa¨uäÇ[=ñ⦘%#Tâ ñôÅÚ×Ç>ÍÍöŽÒ¾Ó¡¾`WCA@ÆáCaþ-ôØàAï\®™m ÒÕµˆ†{œfÛT¾ÁÚöC†RX’ŠV¸¢‹uªMÏnêbÙÖ°|ÑIE‹D¨B Žw’ߤ·‘£ÒçE¬êa| àd‰1£ImìÆL¾å·,ÌQ$k€ +¤ÅÉ-ÜIƒ±€Ë6p]—D6ûD:±<¦¨+•ƒRmüÖÈ4}$E†ÔÜ w‰>OÈ$¢›ƒ€uVf1÷«(ÞŸnɇoÀ“n-úì'ŒªˆÿìêS1T3ëÞUéêþ˜8ÅA~úÄì;*î°Ï¦-ŒByfK((ÿ££]ËRÚ?íö –֥̇.¬tÑdÈËýwógƹs¬„Td¾_ãû) ÀÄeµ9|_ðä\½Jý1Áleý¥áÓ~H×ü°y2Ì'¸úÈΕtzò¦s”Ó°Ê…sˆx"X™]u¯€V?áV¡?Üxv\%y¤ÐA*ƒæ)0ƒŸ6¬W¼É1=JòL^Ÿ­ªÉ¤yZÇÔ¤x÷Q®ûµ†† Û/jŸïzñˆ˜cŒNý½dr¿ÆçŸWBIÕÕqQcïtMï¶|Yæ”ý?€&àÿ—ÇY‘/NròX¤RâK|ͽ}rïI«yÜóÙ°×%#q’£¦’ÛpKdŸRêuÒð̶z²×çõµÏgžeqˆ!Š é¬;„ö]VÛQº?_ÜŽ‚éö¼B˸Ò"ºQÕù¨‡^™ò %ÏùõûÊWÑ«‘;^A¦‹„–44Š^?„žô ,FÃh4Í-n¢˜°tZ%}7Ȧ\Bt0/ t#®döþhðk­«7Ãt-w çI¨"WùmÖ¥É|¤Ï*–ôÚ!¶V¤Þâì8FáŽ,ù~~Hfå:^ð››hÅw +Ïb@>ã÷‰GÎgÑC™øªØÎøïhj@êê©¥ñNœÄÞ} ï£Zb¿ÞÎñ|-Þ²4ÇéÁ$$E3yýÇ{¶ú5©BÁ"!^2Íá› Š°Rè‘%ZѪ1cŒòùÀMçŸe{„È“@¹ADžTÃÒ¹½(²1:µì³x?I¬ˆ1“$ÃàÑNvÒ¤²Ÿ´íÚ­”ÓbÐúFZéÊÑá(>i¡5€UÂ숋 Í3§NØ#À+þÌžX­­RCJ‰À¨2(†¯&!„E>þü¿­Þ‰æ\µ"ßÿ׺=Íeù¿–SšoaõàÀóJ+Ìý¥iÍÉ[Ä,ºíT´qº*ÍÅÙýÛ¹Á-¤ë33ό֤(@µŒ5³‘ƒê×¼f´ q~ÅêO=Ÿ†ç\ÃûÜãr3ãUj%½ViÎ/18Q‘ñ½Ž·1=ÑyÀRé\çÔÅ |ùÄÅÜwÁ© +ÎlØBÙîuÓ¢š5ã`X…Š»Mˆdu}H‰nSoû·PÍ0q3·EÉÎ*’ OÚË⎧ÕÞ6-ÚÜ;¦„à•ŒÇ¢7ˈç I‚7õ¬*¸»p ÒL 5k±d¢ÜdÚGµÓGuÎ óÁÓ9^d•tÎað¶¢frfõZ­iòF$²ç£èWMìpŠ¿‘Í +î”—KÅÀÖï•Bc©“ø;ü]¢*#}Eõ%Uù:iç£Ùù´‚ÂEAmÑýǦôš]ÉòQ÷ø‡Âk¨‡Ý"„ö…ÇnÞ®ý2°(åÕµº<¥²°µ93æ—²ÎS%^zNÂ;ÓѺmöš4¤â"»";*‡¯à›[ í ?( n¡yU­ yÿ¤Æ%â/bI<¸”A'XȇWEwA¦Y8¤âÑ~›]¥YÔOWM.cé`Åi’ê•ÌÚ dÜt¾om³[GœŒç© ÄûφÎ1¯™Ei;P[ÏŒ’:Ä"=ÛÕîÜ#t™®œüñ±øèí%óÇÙ0—XÁ  ¯ñÚ­J:–¾cÅžJU7öTû€@¾F:æ&¿ú¢¡¿‰›Ô›Ä¯YÏ—)”¢¸É3eÐŒóëD÷š¨^Èâ2Ìêì8ØëV Õµ‡¼UWGd©8å]fÃ5"!±aɆ©nÝïUk£½Ú »%çºÿ0(ä]Îo÷C,ÛøtýØ.Nˆ/E»j˜‘³é¨ˆ(g=´Œ{»1Ï8bŸ eW¥@¼@dšÑæý6¹X _æžoMÙ5‰ÝpˆZÃ-žV M,ò“_ˆÃ0ñIv-´¯ÕÔ™TŠjº>ƒ­þ5s|g… £-"¦^R³”ľ %fï†t6´ŽCϽQÇU£E +_hí +xŒ‹É²°µzNÁ¸ËÉNZTŸþ?º`º)ü4çË(¢ï)!]™ìý´‚¹ÞÐãQÑÙË)µ)âïÆ°äjˆ3¸ÆÔ'Æær‡™´‰#ºåhÃ`*ª5;}ë\°ªnQþ\ù”‡f² {Ôâ ’½ +ˆTñ`ŽHUYáVäLð4dOþ)¾œ:?™*¦Ñm-ò>™‘Q#¯°^ûxÍNý-°î’lˤ‚rÌóæžoµl»^Lx:’"*^éb…¸#;·ê¢àDnÑ“IÑLM,VNù‹ üƒ6r&lIG›€A1+)¡È€^ÃhÅ8`÷®ERÙò¾o¢:/nÛR@ +ˆp‡xÎ<ĸNÐc·þëdŸOXW1ý2˜?aãot_æÆåòÛÛÅ•ï–›Æç)Ù2C†ìä`o…Ï®_—Ã:Eíž,z1ÿZXª†Î ¬ ìYy¿ÓjØëÒSˆ7¢°àÛ4¹>ÃÁË…÷dèÈÁ@HrÊ+©¾”fQŸ-m2Èö“ßÌòö2È`°RCM¬>2‘poŸº’œ äÓ W¤²EDžp‰ý±îÝ|ÖÌ2YÅ–f²ü,õÒ¨øÝpF`¹c] Õ‰¢”Ž "®8ˆw“[Ã#§ÿÿ-ÕämÞÒŒê†PßÌ£…õŒ)؉Y¼åW.Ù‘°4y˜U`†ýMð‚2 œM>–[qá’LˆÁ “›Q¾xP©€Œ»ÿRjÈȉ`èW @3jôÝŸÛ;’x40=¥›?£%3¤Þü~œÙªÏ23ðÃw¡”~7CAm\OÇÁ=¬]‡WºIЄ@„q™ :)¶¾ØÚ¹Y }í!¨ýtQ_ÆR +ç=ªó$b1\Væ%ÉMÌ>uêùÖ²Û#Qü}¹½ÃîÐfÊãÊ®7)æhÎ}íÛßpŽLwçÀQ<›TR,Ùqý¬+¥ÓÞ÷Ð;O R¼œ)i‹úü7ð[eV÷Ø ®Ïoqß{RÒÊÃW´-†ØÇ8Ü*h“W&Lý2ÀÁþLó?âúØ/lT‚ëf5à»}BfJ•—6buÛ“¤±<²¥5Ì¡ÙD¤?:;Ÿ¢hïŽõ“‚9lçüÅ÷e!p(;ÇϾ7°–ØïÌ—Ê=nb °xëá[™æl Åà•!ŽÜ\)͸m!1á{ùZà8WJ6yÚ>)«o:s‰ªò(ÜÁå c™ÜOo&Ì^>°ç%šUÌH°ÕÑE˜àÏ>~˜lzª±Eæ U· UOEkR_ôJþ«Y œ¸kק: ¥ u«L–[Û‚ÙThÅ;à©Iü9Å9ÚE¶ï|rÂê&’VoaϺé°7:™(÷R<æ^9£ah„ØCÇwØíȘ}Ý°ó,㌫záð"hhšûxs_鲜Ú#’<û𞚉¤V2ðJf{‹ÇâeŽ-æjT‘ ¼(ÝqöªZœÜÉДû +*HŸSH+Ëî=kôF‚yÛ ôŸo' ðx/œÑi·vy)7¨âر!5mê87¬>iw¡9³­#é¨måDp=+à€þáµü”ãàùË+ôµ5Ó”[°‚GipEg¸à*Œ=3â GÆ+­ˆŒî¬(ÁÑý0ÆdÙ7L†s‚†Oàn„þú´dBrÅZ#³Å5˜© ›Z'Áû°±aiUÅVï­­Â +àäömà¨O–‚W®¡ž†GP)áñ÷~5SOjúîß#¸‰wãa<¾ê°vDûK4­S»à㈜Åb‰æ&$¨UÕ­$øS¿ÞË™VàÛ3O)Á…Ñð––û ò½F†íç‘Ù£V§–®y•‚L.CÚ(»$©§RÛÙßÊÕ©yTL»õ<¾FésEG˨½3ÄÅضt ëý®‘€VÀ›¿°|" +endstream endobj 235 0 obj<> endobj 236 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 237 0 obj<>stream +ç· Ôja9>/Ô‰ ø›Už™§»ÏÏ^œb¹­uùóhÿ¨p;YãP-ï“= ~Ââ¨×É1´X- 4–ó7•&½æõü@t¥2Ù¤׺Ø1§1@IUB_}bƒÙXN²Y?xû•OHg<WßžÅ^k[“”¦å®õy{¬'Ó˜óFÒ95/ü¿¿”ïO`dŠ9­CÀç$§EOƒ_šq~—‘Ø!«=šŽÊ†l+bîŠ=/²° ]ù1óô¾(s-¥x.0}ŒtbK¸yúLÀè2Nf}˜×‘_ ØiÑL”Yf»m­ùŒv7¤Ë~¥.æ +шr;j CAâfmW@e)$ýá7 DU<+U4Õûß“[À6ÃDl†,k¸ÕóϽõ)Nr2»]Ð)Úªð<ˆv$ô +ÖôvvÞÌ)_B}¦SÛX)áιW +æT mO»Âëûo ³€áÚ€2¼§nÂ÷“^ZÇ`¾â}š%ò_kým0Á‰NBRA¢˜fs|e³CÁÀš;àÑ`ø +äšøõÞ*ŽÞu6ù[,JAÜ0Z›0׬!B¹ÛçåÆÐ}– §Iy%ʸ¿í)'X4F¬˜¹Å)I_ñy 8LG îb%vùŒ<ʸÎ$ãøúæ¼è‹eï¡Þa}^+…Ò<¦ç—†*ÂMxžîÖ»ýz•ÃïÙÝ;oÆ[JX3Õ5Òšz¶$d¤x¢)Ô°dXWN =DŸƒ(‘JÇìšåNŸ·OqFÔ¯ò”‡cm]Ô6#OÇø&0[ö~E †ÆŽL„@„Ò•­vU$%n¹W¤ÀÑ;qZ1‡!ãɱn™–øEËÛžšºú `²Æ—–1⻾~óý±†£‚Ä8[î¥j/l×^³jýÉÈê?ç½Y±5 h KÝYŽ•>ðÊÿÜ´+"ÖE.t?iåò¤``´íîð“Mä΂ÌçòÕRùø€ìÊÃí:EzX/µ½HÇ×–2r»št€H s™g "sœ € ´]±¨ÃÌ¥B¹–ö“ÏlØ‚Ãâx,ô•Épì\L1ºA~ʪT23hHË“Z«Ý tm’ˆÍVn0Éóæjßå­õ [•`e×ï=P+{ +qá×jlæÃhP«¼÷û)}¶ò¼ßè蟕 +VäNà-æb "Œ·[y^eõ±ŠŒX;k7Žð eL µÁ¶ [; 1¿NŒÖÍ‘=â±êœå(‚‘ Ö‘‚1#ÜV‘öá! wßoW2ϯ Ó^ÜÝ4›š‰Ï%zôê—ÑÎi‰éå™6ý?4Èõ•TèkhöI÷¾#LDú¯ÌwÃ@àb€l”>§j²f1>­qá(/c]r÷‡@Ø·i°£?ü¥®mcÕ%e|ÇÍâõ«ë+çCÂv˜JÑ"s3ùÓœ~ÿ¡ȇðW5¶Ök骋ïNþŒDž¡îþË,LRAþ¾!;Ž,Ë^öŒ{!æ_#)d•h^_*:¶¿Ž&NY‰}U 1DyÌWÐ\ ¬¢—€@çFÿ½Þ†Ò°4J¤Î ¡.þÀL®µÅ"› +PhòDúµSâ$U(À1±©ãñ î¼/P¸Åm‘ù(¥ÌLâ}"ÊÓ²š)ûà' Ô„¨l@Žàõíj­CÓxݠÛ¦øí²UAæ·D~z?ëÁѼ/QÞ®jÃîºåKÏ)úŸ„ßâÌà $às1Á¾÷ï“K›}³¼Øf%¶*?î #Ÿ&»Ñü&Yëoצ”#\¨È›¯dh7[weib}+@ŠÖ¸Sïf~<*ÀœÑÎý©:Oþïì–‹M M»KϦ#³Šáì„¿ˆ +'µ3ƒ2% +& p§w4ðaÇjeOC`‡ ·poI"o:âC‚âKG&f›#N»i/J)Ÿ—aTf ÎÞŠ…·¹èeˆ×IÅyw&¼VRS^~¦þ²XÞãÉ$ÎzbN{eC½²ŸÙ~AšÖMîOƒˆ+iïeiçsõßW_œ Ä(ÕÌn = ©šÁF:†êÑÛÎ*õê„Iý¤>4 ºQŸ†JnB}íÛ£UdGrâ×Ä<ˆ)è ¿û{m§öÇ~AÎZ 3öWÙ|k®}94R5bGIùÜc¶e¾LíÞyåIÅUÕ¨½(mW2nu6–T/<šWù]òY*Š¤´ØnŽWü1_cØèQ%XTfx^]™¶ó¬>,$ãGEø…fW +7¦¶fîãhž!nÉ•VÍÆ/õ¸Œ; ¢XW’ÎíàcĘðÇÇ@*m…MÖ&Ô0oJøtê«¿Žþö;V;à¥=GByuŠ½ zÿõE Šl¢zíG"á%ê1?Ò¾E'œ×À.YIN­i6ég= <#°JM»v£`€Ód£wÏ$g¾ÈJ @cÞA¸„TܨuÉ&FÝô°Îï{nØ<·V휟'”i­ïÙåµR4“9tyÜ­ãëÀ3 ¿~PÙ¾«ÆÛ‘ YÑ? +Ö5èf^»õWBîåß>þ$ãÃÃew¢cv{H>c¡´‰!ܶ‹Öć©p`–g“~ £ø‚qìúÇ‹¡PPp¸CÁcVq‡dG™kxlR„]†D/²! ýϾ°q W1 ;#DiæÈa«!õ0y‰"‰¡ùWº÷>‡(èËû +ËvüêÞhAÖ®çEÚ{#LYO=*2uó®Äú¥é%'Ã6uQ¼^B¼ÌPš¨žf­2´ïH6º«×‚Óÿ7³õ!‘¤Už(Hlìþ^Õ“k[Â;ð¢Pe¶ lzó‰#¢˜.Á +iÇÇÎî¾Åú‡lå•´ƒsӮĿûø6¥-Q§ ­ãÖ¢å é}PvGýäcŽ…j5ÿ[ôBZ®`‹¶ùºó.TQ{Ãshr{ÝÍV€äf•… >Ì9H™~ôi{ríÄÒRE|Û4p‰¯ð#påÄe¦­ævŠnõV¿O§@m0¯Í?ºÄÆ3¸ŠÐh™ îTýdæRpÊY­úa:@Ì!Ä@NŸO5lYÿ€­vᣠ2bšÀ¬.O#÷èu;™ Ž8E¬¹ãk!—þdm´5åOÿî1+LÔFî?Ig›2ñGB YCO:$QÉ!ÖlD”.rjšÑ +O&;hnq“¥OÅm Øã¤mæV®”=$y†±ÁVÙýª[†Ô|‡° 'Îïφa˜Ã=•…ð7s¡àõUË­XÉñV¢×µ½^ž[Ï©jô„ür ¼ +kiæ8¡ö®L;Ójv#º­nS§Û+ÐJXBŠDÊaׄÙZqÿqKõ1uZ(½Ih=™9ë«ùÅ'W‰žMÙ2ŸÀKèƒgáYÒ*^Åv.2‰Û«}=ÿTÞ·CŸ¦Áœ=²5_Hk¨ù‹‰ €º%0}“ûêf×»¯âW FÉÛ:Ö»re×p}u¥,+y}JfwÂYò!7£v"-—·¨Mȶ>ïÁˆäZ Œ·Ížt£ÚÂÃa¢oBU‰×ÒŽ’Zbÿ•ÐF9Æzó +ÐaØÄb–á»RPÃF  € FÃzò¸@Êr;MR±•lÆáH=j¤À°Z!tqn€¦‰xï@ +æåÇÑaÓD¾Ð*cÏÝ“ûÀŸ¦Hý²Î¢#5=ßtÞª|Ñ6HõóT\Ø#´±&kÁ.~yá_©Ó¥|\gpæZ/•ßµý1š>Îq‹Huq+š|n ʬ=aÈËÝ‚îCx#ŠnO-(¢—¯¹4®Š¿¬rP£¹ Á+½‰I¾?röÂò¸§qÔtJ–çjëHx# eÿOÔëÈG{ó]š¥Þሠ+Ù¡Š/5³x:@OM /u‡a­šä¤@êc.Ñð‡†+ëÆ$X2?Ÿf¦©–O§uži\k°þÈXŠÃ®–Ï¥›üfU¦|¬ë7}¸¡zn\p›ñ‘NÖç’ZoY‘À‚_«ühø{èâé¸P—wçÆÙiŠ† O×ÏƦ…Þh<üÿϲnbÏõP-#a¡z#JøŽ¥ˆjø¼Š0T{*Ü·ø³ÿ¢kÖz&†ègí(ržêò¿å& ïØRì |,ªnÀ³åã†~â1…e·Dr«Óÿë¥ëžÃÁð ¤Úºk[¨§S…fÔ›â>îfNw}é/%\¶gÝ÷;K§³[¤Áòo‘ÚTeeGÆS–‰ +>0Œ P<.¢A§Äaob­ûCOT¢_ˆ‘{WieKÚDpWËYSšGeÊgÁ‡ÆŠÚ§îAœ¸%¶ãÔ‡Ó‹­n’wô¬(O åo‡Ù?pr¯r7® ’äw9…l:C<˜à àŒ~ošÂÎ#²¢<Ð’¨”RÉç !½‘¬P wÙ¨?~ +oö¶OÁjrLÖ¥)©ƒ¸éæó¿b¸¹ÕøS +`ñåÖ²¢¬¥r±«nš{H“Ò +¨JH{û¦æ9—\i"®U›d²Y +–Ûžæ c h£šÿMÔdùiÔt¨>’¡EKS–)……êðZ5‹ËÞ[;­îk‹L'-× :3ÎhC¶0ãÇ +rɹνOd°±Ø½^ÚÝxa>¡p-pÙc¥Ÿçlò1¢±½.–Æ,uÁé…£°|ÀÅYì5-Eb$8üˆB¦§*¥ør:óOqlØbL·î .q dAQ‘óÁ<Õ’Že·l`zm³³“[Ž}žoëìéŦ6—¯…ø—””¾!å2MêÎYÜ +·ñúps`ÊåO8Ð!v2÷.ÅUÈ8$zµO»œ÷ÔÓi"OT ̽»“©žg»1Ä„o¯Ç·zÂñÝÂ6Øë% +ò +彜|4 ^ ²¨ÈÁŒ¯CþkM,žüÖw%(Åyã؇e¢À8r±C^0*wEÆ™j2Ÿ T…Íe‡PI¼žž¶Ó™›éÎM»ï®FÌ7@%Iäãã\ ’§èÖ_¾Ì9É–Æj=-A ï*°ýZ½Oè»Fé`õR©rò~R3X¯Ê oŒ§Ü®Ü JáÍá.ÞÌÚÓIË‚g拽žk®ë ZV“AÌJ¹S‹^nÒQ c™úòKñ`VÝ<ˆcG¸ D+ä ªisÍñr„& +¼Q?×Ðs¨[ÍpŠeXðüöœ¬“ 6n_qÛ\£^ ­‚XGôY<È! D Q)`D…Ê {ã~a ¥¹…9¸&VG둯A=*åÖY<ëZ¾â¢:¸«îwî´´v +ˆ~À0È”¤Ä O¬lËÆâ1",€B~¨˜î&’µ'¼¤ò¡ÔR£Eok22›¢A°¬ÃÛËQê\oˤjÄ’¡,ʼnhRpš3쇚Ørlé'ÿ¦&{^¦=àCäƒÆc +ÊÄn°¶ã"~˜Á;é½B‹ù¦­ñH‚¥Þ„Oz¨`bÜÁÕPu$mãJ 5¿)žhý ¤±ÑS-‘0ðLjOý#Î×þÜ -8WÙ¹PÇäö¨GG½Òcc_‚ÁŒ¬ê‡uÇ‘b’‘(³°•=ŸÜòBå=x4ZA ÑòŒdˆ—.w”ª*+(ÿµåÅ pùß}ÌÞܱí ºfð(Lèg_„mPÊk¥Þ0Qà%ü‘–ÒV‘ãT\Õ·êVZÊ +aŒ…¥÷ˆÝnÚóÆ9Ýð—ãíûóì¸$lШÎ2‚%¼ªÊo¦~£‰›¢àÅ WÎ% +{>_Ô/²x–xÙv$ù@O ²ÌŒ$áþSb{)þ¢@–Þ£¶t•d>tŒù̮싟FNâà—ï•03Àÿ|&a£†¦ê+Z³fl%S£ßl>ˆÖ¥'?á{«Œ‰JŠ®2½ÙLïunŽÊ)B»oîzA[íâè£Ã«í–=¨.×lõ’}ÙA’Ú&ðù®ÖõÁKÐ'²¤štPÔ© ¬xÉ8¯‘d”žÀ»çõŽà6æ¸ÕLl¸GËß'žÿ&Y–1rAòû,ã4`JòYfp”II#ú6ïë×Ì· Ô7ËC":Àžì±Í¥ íUBrùÁ +ôTÅ~muõŸÓn\ ý ÷.ý+üõg{œîµXµ²"šÏHôt +endstream endobj 238 0 obj<> endobj 239 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 240 0 obj<>stream +û¾/84Ø^]*á\•‡×©ÝUs ä¸iô ̓»˜›¶éÍî‰ÉB °#HV(ô Úaf² +åWcªötí!„¸Ä™»ŒÍšŠ]#k’"Zlûÿ=Ñ.Î$ƒ! ß’-µ˜îqr™ÕÀWi°g2™RlØŽAÂ|ù¶ †bqõ„TM\œ¸pÚ ×.!žë¦Ûœ%ÐeºÊ1¶¥>QGUY8ÊñèZU%1¬ÿœ†%,ºÆó凒Ü%s/mMóªÓü)³²ºþÝ}@ø&HKì*M¾??XÏ‹Î’QòÞ€óô08Ü1lûï +¼ôb‡Ä¶MÁãùÑLÑöq埸(@K;Šrä´™_B«©PbïaP¡¤b=°˜Èë ­(ÁÀGã«0ÒXF6Üû›–úP¯Š®ûÒ({½’ü‘%Ku|§†}ÿOpÓ~ˆqÃ6^\/¥“Âð…p×W-]÷¬i˜Ù«ax&Î%F]‡GPrÜؼŧ(IcC¥§Æš î­œJ‚J5r]ÐÎQÆÛ`yE”½¡w¶Ü¢Ct#Jª‘ZÙ°$[ü»"5» úî¬ÉùÃ' ͘ÀŽ¤BɨÞÕ¸d‰%Í+ŒÝ3”Ôý¯I [PúêˆÑâÙj£w TK`‡=£ÈŒ¹'ÝeÁëýÜüJ'®·Wm/«¡…¼€Êçs¸ÕƒE€ª¯gÚÁvÕ­£G9© !Úïú•©›\ÚÇÒAf+Lyèõ³Kgÿ¢ÈTö'5XÎb†Å§Ô÷Ô”õòTó&°0¬w$þuJþ.¿Œâ= @‘ìÂ}ŠÖà`/Â,«-þ"Ùî>¦-`ænX¬Àáƒó{çÒ6÷ Þ±ÏcÝ\” h¬šQ¥¼ú’c:p#É/iÂhA oyKâþl<ë<Üe_}08çJTO]’¥æ¤z‘¾^Æö$ø„#}!§ñÐd~¸áÜyøb =\Š¹jd<ýû^™+:2â`,wæV» +–ž)+…«•ƒ‘ÂÏÔ½ÖTTì +KíV(·½¹Ûì +Â|ÌYMJºÄøëÖÌU3‘òfJÉã +'s&)ÈÄŸJ]CÕf -`fbÁA³ù[ÖJs¨ÃPžº'3;Þ^"aÎøÐÇTc–„å"†¾µß\¬à]ÂE6àõøÐ=UÈÉ)i©öQ¹ŠÿíVt6"V»‹ËÔ_ ô ѱ4í»ĺÇ×½¡_’ò€Ç:i6¼#mâÐfš^OÊCŸ!L54P88Þhep;]¤,ÑsæKLÝÓÆ!òßp4=cb¶¼#óÕ\}*² ¯ä¯ÕÝè‹{"5Šö‚‹Wã˺¦:x7+ÝËÎœ\Ghì‘Š@XȈ ÝC_=”VW!ñb£DÅ#ÙVŒ-ŽSK ŽxC)ú[ûs¨'u¯Äº[-Z0jÏ R)µ[«Ž&QªÛac”zô\oVõÄûðËz£„í–Xhâôñè7Ý=¬ŽÜ3Øòk}Ó¶PG X©d㌿¹´Øv%M#´„ìr€320*YRâ>ç&iõÒÚ[×G2Ù[è报SÓèFîýwÜs<Ñ22úHÎU™»¨nìŸ(åÎíë„톩–ç¶ø:Â&õìD™rrì3Q J¥ž„†ÛDvö +°åÞÔNËÌò‘DÿªPéÙWј â!ϘG'kó³°Fo ;Dœ„ÄN“b;^ãC\] +z%`³~ð^¤eþ™g,ËÜÞ̪s¯Þ®¬Qw» Ь‹qRK52hÛІ ªK¦dQÝõX³„ØJ4:̼áÜ÷FIŠåoWÓ°‘ëžFó9’„Õ—¢·3BAšJoߡ̳î¯è3>æ·™)µˆu@€/«F€#Ûcªg'w¬_¶ ÷³3øY™ÅÊ5Ô¿ ªÁ'÷ì ß㳊;•¬ç'ŠãOÙû«ñK¹|E"~}yj –ÛÍ~!ÜPyèý¹|çB>£k›Üÿ„c}5ï>á¬9â{}IZŒé$:~_o †Jþˆ•lÐ'•e÷ô¬%HÈUlÆ#ãâ ~Ž†T!ÎÏ+E¤ EÜçæt¨Ïa¶^>ëîg’ÑÐ7 õòMãS†6Ì5ˆž~káîsÙ¤é}ÆÀϳ–#lÌEÃBw&Œ Z!‰È™n”g“ fykÒ8Ã@F6¸©5`ò0QV«D¥Cäû9ÎQDeE¼(æLtëB^À° öIÒvÙ–—hÛ”ÀVBºçÔY€oéÁ£-¶Äþ2Ú“æ#"¬ÐIM_„å4a„‘§ÌsgTúZ(Îà…JœU +Œ75A<„Ä›x)ÅÔºÖ™`7ö;C„(šë, ¾!“jôϬ©Àœ]¼ ³ÇäHh²Yc Î(²-¦‰4‰!ï€ù0»qA²ÄÁåøÌΩ ºÜ«h5–Û®Xw¼yŸ†©|8Y#!íBW!íŒüc”> ™­÷¡å ”¨¨¡Õ;sLYjㄼ(<å˜?õi˜©Ã|ølú|ƒþÁÐS±2ÿ=¬ŠÐý›é+ñ¿[šV5ƒYx’žc7Å\@Tc ]œÌ0#†ˆ(êW\nàén6c^|"ÎkB0=þo†tÑíì!©€$su ä_ïÔ‡5èèt$ö2⻘ñCe7MFì­1N^Ø-[ºž]ß|2ÅmÕ|•óƒ°ïÚáÂÛ9/!9ý`är…ÞSü¥ì¸•¼8ì Q¤Öëq˜É*ó‹0ŽèÌÓpÄjkÂe>ôÀ;[y[ÍH +«4 åëvkÏ¿¥z<“…¬\³c…Ûéæã#Ñ<Á·‘f8`‰e¢#‘£õhÿä«Ú¢hÿ™ÝAeÎVån!üI«µ)]0ÕK|­Žˆ.CušÞ…yy¶¾”âSðî¤#·°+N]Ëø.Aýýl‰?`€Ñ3£6rZˆH¤ÕâühYÜ{YÒÍYŠ+ô" ˜P˜MÒälé¼ú +cÀHݾ€h èÞÃC¬îÓáæä,VçJat;(hpJIÑQ÷HðË›,cZ¹ljÖ†µ4 +Dq'gï0hrN e~⃡©I_ÕtÀœý! Âþ ‘€^Ç/òOJ6”4Í›Â`ª6B¾ðùjG×ð,„ yµ¶I\J–ŽÆëlì©H‹Èr%ÜÀŠÙ‚´`fÐ +Ú µ8“àýLxêqG@烺sUt^M’ B³ Äz¾39¥PýíK4²I"^¸G„þI‘àÒóÆb”€çž%4/ÇS5É ÔÍ–öûW#fƒñÎù bÉÍ8ï|ØLS D²'vÂXËl7©€×‡ñÙÁ¡ŒÚu!È®l »uŽÞ*#§Ð³Ñ¼šÆeû |ÎÐï£OS7Ÿ1¿ÿIáç"3w4¢ŠQÆÈ‚°ŠÐ·Ë®*è´D{&jê¢RÑÛ‘Mh:KRÎÞ]æÍšþã¶Øûê¹(·UDš{«wêÊòX4ðîÅÈ° Š ö)·ÿÿŽÎd\¥âmÈ°=d×Q±x,Ì=* ^€cÞ|¥÷c»´”üf$ Îû¤EÝoÉü¿xþ/TË¢ªÁFYý²áïròp8,pŸz5¥yËå5JŸã;Bÿw""à\b•ÔÑû Ê.GùH‘3ùä±Á_ +sÔ¶˜ýõ7wû' µñëlNw{LN™”²³u*8dwG€ÛŠÅO<ÓXkÍHóè€Øwç[²xûhpÄ“äDH”òü®ÝL†‚em± ê|•œ†y±aG¢š(¾ K¿@°  +Mµš¸,@˜Küb#˜Z‰B˜h'í«® :üŠ÷Ç ¡“oš–y ÈÓF_}¦½WTZ.ù€Ã„`ëYöã¸ü\ò±/ +IEYlv ¬Oê \¼. '©”И‰ŠÃå÷‘âBØrÉ`Tþ|®4kt(1UëºÐ˜™o’r[S @¬ÎHÊèüYI¦±œ¹¢²su„B2ogX_:¿®/ÿ¢âˆMèO 2—ò>2H1ˆã©‚©x‚ Çoµ46s-9„÷£F ч¹‘ aînçIslUïÜJ?ë׬å\mô豽欵1:ämú@@Ç%Ú[t¨¿ šM´Ü^ÆÅÃb¯¡t6Ç + ИuTµ‰že +¡WñØhŸÞt!§…éÀý8T®\ƒ[¢…ÕÚé'K$@ƒYÔŽ¹Ñ^ôs/ùUòeµÌÔâ`.ãßE5B3c´ÝixÖ¿:þ¹’}Œ¥ñ3RTÁU^á¡(œÂJ†h{¦˜GÆ̽e‹ˆÆEQ!ÄœÒIìÙ#¦ÑæJž¸bì€ +„ê¥Ò'hM~J[ç7=¡'IŸrù]UÀ4 Pó{Œ;‘Oµó¿zA7}Þ²N/…„zĤÀ˜x¯aå<ÝOîm†Ý ræL§ÑÊ' VÐ÷ΘxÏû<®âo·h`.–ïËip%xÔ”æO¥ØkÀmÊ¡Ðã¥[²X«†Ê JyÀ^²ÎÜÙdí‡n¼ûk¼ÇˆñË„Ù¾tÎà¦il«™¬Ÿßd¦I$Ç•Š¼6†¶®ƒçw­¡#Ú¹Ò´›SÍn¡ê÷™‡FB𠇺`Ãâ>>»ïQ…¸ºö?i•C³ŠjÎÌ^ƒkÝ<5%Aì;þËi5¶N‘ªÂKú![A{ë%9^c +b¤¤LhãËSæò…êôÜ8AÓÁ¦ + 9&$^?á}W(¾U—%”_$Þ·]”ùÆqˆÂF£Úð«¼9³fΰ\çpþ‚)¹Ò‚8ryB²ÏѬ +á_ëÚs–¥ÖÃHæ=¬lÿjYNø£Y´·Ÿ–I²/Dh¢ÖnÎz÷ðÄqmF‰nuÜJSý~†4 {Æz¬}ÑGg2~ÇŒï`;$à G GÖaH#LKU‘°\á>y¨'u‰ÏÊk•™$¦ÞⓈ¿©G·’Çä4 ójµÛy5^°}ÑjÕ1;£árºÊ¡@9ׂCÝEç—H¬[@ :û+…íû[ЮuÍͼå¿õÄŠÞÆ~ÀAÖâ¦Æ¯Uì`5»Päg!ì¦Ëò…üˆRé8®RÛÿßßá&Ê4­ X¿†;Ž5“¹.d›Ûx¤À”c<ÑA‰î«Ó²ènHàæ"¨-ñ¿?PHDšÞgB%ŽAU!¼8¥NmpÊ Èïà.öz¼ˆ¯^tÕta‚äêÖÀ" +ˆŒw£ÂC輪.ÀùR>Ò)ßì"ŒÒ)}ñ{wí<¾|[ ýáÍÚþÃP¤¼|é–¸s·@Wù”Q‘¬Ì PªoZiÄoÅ?pÃ2¶›¡ZÌL™$…á Â;ø-lY! Ï7þ˜ÿ1¤9áL–ѦÙn4ÐåŒ[ûŽƒâ0°}EêU_Oá®oôWÛÔ?ÙœK÷‹Ô¾ulxÈÑ(ól=N:ìfµ€×6ó…žkÕ%‹Ú›[‘™á2ÚžOØkÌÍh]ø+stmN?Ô·[T¥hÓfç¡[-‚à6¢YKh;×?ÓgáEÿàÇôªÜ÷j£ :R’¹ÝbÉ'OcĹñeÛq1qñÉJ”³‹NRÏMH–øbUrpköv²òèÓ1U¿ÚÕÉüh•5Ï«®ál¬Ç,œØ6çZ™‰¸h(ó1L;DABjYS1…ùL:Ó»W ƒ½­v[bQÊ#·™Š *)!aÑã°&nO<¨ö(¯õÚ¢ +,cGU¤:ʬzNcÐ#æ-Ò'NOÁh«—4ÇA÷‹»‹bçʼnIç”:øŸ‡RH$“ÃOÔ3mŠk?°óTýµaÊ£R5õ??ÿ×ö’çÌø…rA@Ò‘:Æ¢¡mý¹hÂlŽ´€Í]Œ%Ž=7NÄ°ùqbkfª¿·d2 » ;ü<9L4a´¤ìRµ7u…p£Nºú‰ [mÿ(ñþ¢ÆŒÈÇv˜/,Oʼnö¢Øßÿ¾®".oeàÅWK$VøI×Ã;~À6vôóÃâuäöû›=õî‡63ݬ³Ô5•éœË¹ aIó%ô=PÎ"Fàõ1׺J´ò¾¸œ´Šu>ž¸s§]vìÒW²rÃÈ2T8§ÂÀ&o +ÁÍ£i?Óœ)C$)Å«XgPÑ%{»ã´víRÜ1V<áxe⪮+qFÓ ;á§a„Çê*Ì  m/{øv§Z`*TGªVm“Ñ­R°±B%Åø§X2dçjŽë+¡ÑéKi'}ÄMäpYSýx½Ôíü¡\(©å\Ç6?‰;d’æÒ)G@Œ¢Lð +ø{Y¾|‘¹:GŒ9e‘5›oý©ëß‹2lM&­ †Þã¬É)©á°UÜiÅvÞ +ex¿:%„ýÔ*™¡þT+è„7…òˆúÊŽ7ëkïlr%ŽÙg\ì ¯ÚĦ¡{­Ó7òØcð¾Ä~ÏMØÓ¡ :ýf‡è\¢žØdqÔnyjšaZL/j'Néß=I~‡È£ +ؤb—%ŠÆËDWs„ ãGaS‰i¶[U{Ë™)Sê?ÓxŠ­pàh4ô|ÿö-¿:©2D?@ûÛ_ÃìÌÁÒ•\ÅPû'<ãÙlI£Qªä.È‚I}]èJ¢^‚èã1¦dL0®n•U¸­}ñ¯™$©žœ‹GêB3*,ífVÁ:H +|ç.Ã3ÀÔpÐÀh:[€~E;¿½u•ðYW"Úý÷ˆ¸À`e¼¬µgþ0Ùwès )¦4GÉ”íÙ÷KZa241cÁ±÷•2'´©ÃxL] 6—ýúƒm½]<Ð3:µVtS' ¦Ñ)ìƒ3ÇúØä{ÞF™ÿ’Â_g|”Pu‡Š÷oC1v%âeoPÄ‘k/¨GË>]Ô–QÛô`…@Ü—CEõ™(ϯà$:Ô„iéâü8ïDÉî¹ †®mÀƒ ¨åê»ë°ôãÊ«VcÙÆ¢A¤Á„×àc¡z0ÌôÉ€%¯ÏôÐj.A4\KˆâÆX ~Ò:þÕ~Æ  oö¥…&qV¸ÀF®n›µn±Ð‚ +PnÙA[ÆãsøíPþå² K5›l7bç«døYÒùüû]©Ì%Û¢Œ1gŸŸÚ¸b+k3‘…Dû+ÃRNüÒ¸>¿cŽ4Xó$ “údÇ qôíö³Úq=W õÌ0Q"«R²¬^ßóûNJª’cÚ/=罨â~™uË.<„^Ø4Z¹ÏNå2N½*SÈ +Ý6{VŸ/ñ‘89ùëá•[jD±×öüœS¤:µ¨I›> endobj 242 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 243 0 obj<>stream +æR†58çŽJ‚,Çš¬ÌEôѪújäêwî¶-çùyfØÜï¦kšäÒŽ~ðy-ùµŽ—×w\Ë/d›Ãv,niDµznoÞ•Éâ÷AàZrj!ÎOZõ¡c_ú `‰Xi­Ö_R.Ç. _e¬Æsì+o*®Q>h‡TpÒ¹Ž™‘ |†Ñr^˜µŽg¹µÁ¹S)Ï_Ww ¢RËí0¸BJÕ¤?ÐøpsëR¬×‚•#Õ¥å/cPímsy]zws_‰Oo™] ¬XCö%$Ð äTEJ†]g`GIn›þ^µö˜on…|yñxT‘ŒÈ9Zõ”õªq>¶K1ì¡\ý¨sÃ9Ïkr² ®4÷^уªÎ¥÷µÅ³{‹ ŠÛøÜÚ3™Z“»’¼>E·2—×”“†Ã×?Ú[™¼|ÝÇDÔz¾bÖ@§`j`Óq>qF®LHY-—©ç+†n’ ҆㒼M?¿¸Aw ­ yû¢·bÓcYV¤{ÏÕ¶¸pÃm ùÆøù} $Å!OÄ‚¨¬çFxÑš6O\l!MËÑ©°p7€RÅ5 £žo\Õ-{zÀþ)V™€øG>´“]ôº +œ›]TÏ…yÓ3X £žÃ¤hnÎÚèý ñÚé=õ‡¼Ýc“XoÀó&V²âêº}—â7›¢Z(C›6YS€XïÝ`Æm“ãXRùouÑBœ ñ‘f{¬¿HX‰˜ó?›ÈC’ÕU¨–<¯²êo™JtLJG! n‹D!]žÄÍ`:ˆÞ4})WÉÑþöíRŒÅÆaÀ¦xÞâL+ +D:>&‘Ö¢M™Œbÿð•ÆÇs»acŸ\8Ì¢ÍS•u/hP¨oòÊVÙÿñKËàÅ[Ç‹ãÖ…2÷d4 à9Ç ûisoµÅ½¬*‡ê˜E:I:Ê1™×0°žZ"ÁoMSí_ä6¦ì¶†e4q>ƒL‘3#å«çÿ\œ%…gwÂB“ªs~ôPµ+ìãØU̸ƒávƒz= ÙV?ˆËúó[7Ø7aöåÏò rÙŒ@¦6—ó1è“Jn¦sÎâähŠÀBÔŽ¾žˆkíèî{­%Ûw1ÏÆ÷ì¨}r ñð7±ŸêÊ¥MèƒÉã Ív“ Çç]ÝÿŸÔ&ÀÈZÿ‚²]çâ@®p¥ È€ãÅR‹¦>xõ=äFRgs'‰Œ³á"è7ɹÂa‡1‘ˆä¡¾ûd$½&Ò9ƒô´2èf»¡ôüø€äMpñoÑk1Ò˦s?òxŠ¤ ›ÕuS9 +‡gº²\*|hŠ–C gï}Rvaøw”õ¨~¬­4ãY»´e¯“úJ`q(f‚“Ï›)2U¯áäÇHM M¢ýDXË{º#K #”“cÜgxÍåšþïßùê|ò†#Îü6]í–ÀýífŠ*…úýÆ!rÌ¥âé²+.J,ÝA=ñh&¨ùòù½^•ÛöYÒº,ƒ7Šÿ%Ì”aó+‚¡? S‹•c·fÛïv˜¾¼?|©ñì%õ%“[·ºjoLo<ûq +è%ÍvSîÛ°ÕCàE·Qƒ·Ð 7à<Ÿˆ"5gô;{+¾¹áÙŸ‹Æ3¨üä´+ð2b›`–!dI( ±uÎý7ÓÿHÑkÔ`pÄ?(v÷–|7ujBP‚ðëëæÞšeŸXñõƒ²z†Ë‚€~¦a¹Ú>\µ8ÿöYòU§ §n×9-{8 ÓÜ¢Ïo‰,ÅÊU0ž¾×ÈŸRÓã¹gñ·Q?ÍÁS‰Épv[/¼Èv¤Þi°Ã¼\ãµ4AL/˜¢ÊˆT +Û2QÁ´gÿ¹ÌÓ`Zg],ýݘ79‹=C2Ž¨#Á:x_‡h«K;dkrvÉâ;CªQaENë–¿ŠEm”ÏSäÎÅ/F&¸ +ª@fƒ4LÚé/Ë +ôßæ…$ø³c])ánü[Ä"Bø|R^Ê{2}£tÅÁÛYbôùÐó`”¨µADݳJ]0í¶âÅW`ʪóù2®Oª½ÓˆÆkœ€Çé;nµ€êc ôj3™$%Æúx§Ø—¬¸]ÓR_x۽˅P­aÑÆ4þOé€-šQ;q’“´–Ï(‰J†ž‡§`L-TMu¨z˜¬‰ÄÑ-ÏèÛ=>4¼I•¾ûÒ‹µô8é˜.äÓžæEúFóqÔý¡±´|cqVq•WO  ½n¸S}—åo.q_ª…ÏûÀpNÛ‹¸ûv²³|ëîLïø¾û¯é”dÊ +š YF{%Ç"‰8>0R*#?RÁq[„ÓRüHâbRí^rS}À®•U–tX Â’ê%å¥]bRla¿®ôÉrbÅòÔÛëƒ@Pü0²ý{ÍšûƒÄƒ¾´Ly@é¸s£vΣi­QšÑoȵ”@A,˜*Ju9€ò!½øUu?òñf$V˜ÃG$ÁøëôÎO SA¹_¥ÓŸ›=ƒxñá†ØÞä_¯2žÌ|'"ުǙepù…Å%ùžˆ 8ï^ü÷”ï~×KR8y"á3Ú³0=÷ô-©:œ&†½Ò¹I0"#ý5~±’ãs®ïúô—v“Ñ­¾É¦« +ÓÑ(C$­ëxy°ä`Y5I›©Ôàßk7Lœ˜ø-— +Rª¼¾˜ê‚ÌW¤—u‡í²%‹Z—1"OLk䌄¢ÔåÇë¯M:ø¹èìÙ÷ÏWœ¡\îŽÑL5f³'XòfO,¨}Ó‚Odw`D‰©< ¼IÊÍɵèa +endstream endobj 244 0 obj<> endobj 245 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 246 0 obj<>stream + Þ#‹h·y Ï°4r-?y r;&ů¤à….„˜«l[ç{Œ1ò$³¡ÚùTqãQáa}÷- «OÛè)…„S_þ'LCÚ±'¡:F9µsS}›/´RnS b¦R}„]Ö‘¼ÀÁé]R͸K +yœœOع‡˜/ó„_.]Š¥ÃÑ.°|@Šš ~uâ—ŽÛkW¦ŽE\áä—OàšÅsTó/$ÿÉÎ[ÃÔ¥éqI[bHÊ ¶¦/U…öaåU(´-›rÛh ,6'Y›>ƒòsÐ×jô÷òùÑj+©Ã8ÏíÑí²#ÃÃV¬™¨¸hý4é30ðO‘ñw³«±©ù/(½¥jØ¥µàñ©^Œ§ Ø-jòùJ-+³v3vIA<¬Þòé½^²å‹tõ 2û€¨õ•þ HF…🥹 ` ªoR C®yá´5€Mfqxu'NŽ…Ç'ƒd¨¼¡ë »ùdq+H”õêº^Û°´ä¦•5oŸ¹€1Õͱ¥«À.Ë2ô UÀñík¥êÒX±³Èið¢È;'Ôéð9í—uMW*ñóQßêDðKŠÃ—´Ú_4"?Åùch$Wq¨ªÛXþ:à6Foè m¸<.)*ønR ·ø• ó×€w,[ó³üyPkÖÚF¼s³ @—W?oPÜŠÒÒJfUs[È4®d'9Õ5¶æľÙ.yt)š:°–2cx Ö}Š:+Ìî°ÃÇÀýÔxüÃQ3®{Ab-suˆâYm¤pyJ÷V{T+n¶à.6H'ʱ|xÀ̧¼š3öûÆ{4)Rø¦£u´ßöÉj§á Ù¢"åõŒÑ4GY"eßÛ,ø`õ1 +; +¥·’Akûä™]¶ÿ.Z1{õ4¤M8ç™~1ñ¨ÇߥopŽÁ$ EÞï + ü Ò”ÉÑÎ¥¡“¾V#›ß,µ) p¾°[Ø ³úÀ/Í?1á6üw.’4ÑÛJÿzf˜C˜BÉýüçrœ²[ÐÃëS-j!‚œKcf<È“…_ã@­* жIˆpØâ(~Öñ€¨hÞŸ—ÃŽÐ ®¸¹O½íÐ P¬ÛêDaGí¬oÇ$æAÙ_çvÝþÎ÷Q€èSÊ]îÕ4äÔÊéÊ’Ašû¼Lùú¦úT'Nž—³]-~œ“*†NU?ç?Ÿa¯M–tgÞìTh"ŽX:.Ì¥¸öß?.Ì´åÿlƒÞõuž¸5Ÿ«B#÷Í|SÔ€µªeÌ›Ñq9jaëP6Œs º9Õ_ŒÐÄøÅ.‹Tê–Šã8!G߉îYqô‹/9ù;À+éªgjÛ@l³EC@ÍÐUåÞ('…ûçUD4=9jª<žKpÈ÷¯‰ p°–ÑUW “@Nµ™ц(ÄS¨»7¿×ÇoºÄK•ý Ö¯3(–o࡬2Ó='K;Ξ±›¯b-®<¯„y躊ùå4gi­B¿db±ß¥XÈ~'Ž—‡”y¿Ó§†„yA®iI TcÛ †·èºv¤„ØU/ÅÿG¼Tü¢­@5½e,t%Œ-ë™àêè’ýÙz+N +Ÿ9e½f…ªY´¥ á…’™Ñó¶zl/…îÁœý)8[%M-Íã*U€€L-ÿŽßžîÍÛ£Œ¼Ò°³ÊæN2Ÿÿ>™Ñä²'FÊí"R·k®Y±u¶^ .xº‚™®žýþ…[m2•ƒ o’jx˜m5È™ÃÔ” FŠÍc‰^x*M«¿µ÷h¿Î‹µâ8üYèÌw5ô!ú¬¾ÏÀÕF<ÓÊ„´ËMM_ìܳš­ÈYà¢+7M ¸h 0…ò9ÀŒõ€ÇÅ¿qg¶L¸JS’ir˜QæL†6!C°§G¢œ“Žä¸¬ÚÍêê/'bw +ge?õŠdIdg?g[·Foá +èM#T÷ ¦·l éÏN?0ZþpóœÌ^inUýD‚P©/ëŒÉ:CÔ&6aØõ;@ &|ÉÖ+8èß7Ï:•§·i +‰· Í »&qùÄÃ%Å0ãJÂÉáà‡|;)ˆB옣ŒÍçnN "Ä^Hð>Ñ:ÚYµŸÂ%TŒ61ó~G^*%Wõ@ÐÿÛ‹Fõ +´3õk¸ó|gçÅ=¢¨ÐÐ ºWD€5AÈgÓr¶ÄªŸèÃÝ3¯ý¶w¿'¨\,3R!cšï÷½Xm”4œÒÕP[ªŸD,” ºøVÉ0tvgk£*õ £'Y¯º'¢ppÕG±m¢þÝ™©3JÎ~~Nºë’ü>(맆Qè >ƒ¬HJ†ëGwa‡â$§‡^þ«aX$圹iª^l `ÅpUü"[g¶Äk5A8”$~ÓSo/€dѴߊѳRuÝm¹w°slÓ’ÒUÛ-µe`TÛ¹ôTùFû—Œh4ò¸æ•Þ‹˜ u>g:¼7)$µXFäe²ÀFk$à ‰2µ°6AÓÓÕK­>ŠOœÎÄøÙëÅË¿#‰‹54™ïB"^2Q¾ak0¡«„ìOoÝ‚ãZ JöMoe3ág/{ÈY1«–wO&Ñ|•YSLC$ XÎò<´»Ú `z€¬ÃY]n6œX´öR­øôQËu1­ž™TÇ*[µé(?tTncëîîPaàšeÉ£ËURöäJ&7_˜¨0Ä6 …8tl,Cé+EŲ&ÕA¯* ßWÙâû‚vþÎì^õ$#áAÉd+ò8z ›¦ƒ¦*á»Úõ‡«ÔZs}¨^ D &÷[D¤¼òt™Db±®GÒƒþË ËËçb @ §È::ý¯–jê„]ÍÅŽ¦Õ¨RoÁý·aæ“ðN•@¶PX2R=>¯kÅ!‹Ìòìù„U[Ò¦¿ûáô·ÝúÃëHu Nd2NFÑqÖêóF‘GÖú0/½d‘|á”Æ€½Å »&œtkulBÉ-jóQ6TH_èœý¦9S…åV =¾N0ñI®àT…©‹]ÒFï‚ß%Δ–µžÆ š^ÐZìfA¡CÒDÆ:A‘ÌЩ<ôh"aàfaÌó#…Tâ.dUrÍ-Î/, ‰žTupáÉž SNá!›š+ávÔ_:H‘KI9=³`ø Rdøà ëDö‹uŽEÚääª7›Ý½z˜]ù³XYßM©aìž™,ó绯¾C9@iwŠÖÐòÒ ­ë_QÌ(©eÄ6÷ÜËÛlßj‚^IGöÁU;Ìb;[ò,$iGE·PÞõúiÜHWX “‰šÒü<¾bl,ÌWöß~y1ڞϰ³¬.“^ +kKP#˜$´§”0kJcýi=GoÛ"$[}jfÑà»Æ9ûXköjΛ†ð›ÿò \ªÖÒôsª.9ôðAïÑ t–H?EMzuäT +¹´†ìëq9Œ^½”\ËW+€‚‡9‰øƒsÁé?]u®I.l¤ù=9]> endobj 248 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 249 0 obj<>stream +€Tu Ÿ!è}öÍ’`Ps!M$¦ù†þìÕáW¼˜ìffËdI"ŠŒËiDì^iV}bÅ©ÅôÕ±Gúc–¶åCç©·¯‹´ÝðÑ—®)ao†Ã«¥½ýfåtﶆÉñAFåjô#:Æû<>sÇž;å™›·‘ü¢oó"]òPXås­1ªf‰Dÿ1ƒ¢ 8ê@žaº·;ã1€<9Àò³D £Î’ étØ”}Óª¿›j餟MÍ8NÆR”2ÿ>ü¢ìKý‹|ŽW¬ÔÛ ©Ydð›¥_à ן7 2ß6ÁON¢Q»÷½ÿKç½Lxï¡„[²Þã2í¹‰gxó+°²n1žmkÚ;ßÅb·n€Íú„&"ÕmÈñ%ÛfjóC/!q&@7@Ý +JU!&¿VdïØI"!5U»L=m ?ó·éq»Ø]šA—Dt쳃9¿Ã~J¢•´µ(ë çI/÷J_ÒbTÌꉯ:ïKÍ«7‰Ä-oèt8æuµ®¥ëYuFÞøï +½Iö4O*ŠJeê»ÿäªq:§3å^±§…y¾Y9sq(°•Ïèž/«lXI- Ÿ¢?&agàŸÏL´XDþß~U“Ž4yy\áèKP±hŒM›Ä9â'†ìWƒý)ý•G˜Œ’q9k"ëZ,ê^œ—žS&?®ŠG]mT.X0dXLŸ‰%é¤'É™aùF–<ùÄCÔU5Ú¤ ÑÌyô©\Uæ>K™ä×ÅÄ”¡eýXÚ#¢™øŽ¹ gq¨=µ¾«ÉrǨ…²Ú¨Zïz:îpÌ3›¡´€ê‘ó›tôF°µ;ÁwE«Æhv÷8 2Ž*OŽz>z«ük©½âÎÀžjãTÞç©ÉhÇ“#9mÿˆŽm¨˜×¥ðBžMh“§¶ˆÖw5¶âc­¼ˆ¦Ž…Ùƒ*ôDu¿Ó._ÃÒÛ%Eè°«Wü|§C­òöB¥‡ƒ5/‹Þ9ƒ@¥[)U˜Ñ|TØéæ¿I õ!ŒUbÝ®Uw«2ÂH‘¶–ÖènëQÔÒûîðä}ä4W««H´‹–ßJŸëËy/h;D!ɱ"½8“ý+âxÍl•5€K,þ”6ýê2áxË |QP“2Uk9ŸÄéZñAA ZmÛŠöغ¡nȧym_ø•9¦ÑWFÚ8;DÖݲm'•Š§éW»†ö{z‚–Y¶¿¼]ˆEhb¶nYš€•ga#Ï{‡ÛL”ÿ%s›®ù¹È!†ÑÍ×XM +¦9 .wžü›ú׵ó–dmàŶ[¡ÆË`ðy`ÞÎnKÓÙŽ—‘ŸSâ™*KQ]ìxOfÜ~Ñ“!Â<¯|%º±oc×yYiÉò6^ŸA^ŽÖlÀgá²)/wNv)§€g3ødç›#NS°á†ØÒFÛÇ>y¤×Y …ìaÄþõH#Ãa7l:yå-cáós;”@AÅäßOæÀ{ÿ» +Ë­bk5#ˆ°3„:úUÏPiü`¢˜Uµh¾Ú.}ÿM:|þ美U€W ë'Œ¢xZ„5ïî#VIß`‹Â4ÙƑʲ ­P%Ö§yd‘G¸—)Z“¿}:7Þ;WŠrà°,îÙÿ–ºþ]Ê䢨¼šªÔˆ˜øŒ÷Cxn4¡v–##3î&+My!ÙÃóÛ„éhºˆï2_ôK=J.DÜ–Z™[קD5Ü_5ðVÀãbžÐ„^PÀ2µ$«ŠkÁ‹ïJF `~âÑ!`6"X><ÓgŬ.òFص?Ü|KxKzCúψ3|+ÅsuÍíþbŽg°ÙÝsî˜×gŠ›Ã½¬Ð¹¤ƒoB?ºšÙóf¢jü›Ü*4 ÙË îí€B”¯©Ó‡z²×öØï½tŠ«%T°ƒÃ)6ÕsÝÇã®Z¥Œç.*ÈŠVÒ£Dœv–¬­Ÿì§ ¨L2Ò†XY^¡Enò£ù‚güe’¬ìšA© ¨!T’µ +=¶•íjTCrƒ. ;67é¨,{1?þÔëYkÅùèòVˆìjíüB;FS;Š¯YäGt]:öñè¸ôÓê ‹²å×ãÿm¡?ä2fÜ’}¿ úíã[Žª–OÁÌmp]Û´ ïÖš“\…¤Ï8>I9§x +o]ß-Žø1H%9õž0Üb£VI;ð^na¢Iȯq$ÙöÉU//á톤XRˆÔãH;,Z‹>±fµÆ(IØÏÕ<–Ž›õ"Ü¢¶“SÐœRGŒéSªý‡¿JV5>å…•Xb †“<Þ‡'„Âûæ”Ùh©Rï SV“x©6Þ8;lÛ 1ãE•jV»Ì¤Ðî|Y9ÇÅaF÷·Œ¼¢/Åõ(ÏÚCÜ'è‰í¥íƒFy;PzÇh¢·«i vÒ­û4D戴f@¶×ð?ñ@Gä÷ +IN÷Ú¼€‘A”Ü ÍMW}0ç¢,ÆÚ¥È_Iy˜Kw/¾7ÝùÌäÿ1ÈT’¸ª1¹\ɽ´cac¨`x•wê› D°‹UÁn'ÕŒñ´F…C€èNìD„=lÂ6Æ–w¤£_FLúZ¬C±rÆt°ºrÇë˜Ðô‡Å`9!\}æ_N 1ÁíU/xæ’©-3ÚµáÚ<±ô­q¢õRbL*ÉîXÝN#¨†µ¯ÜOVA ¬ÝruðL¬E¤ú½ãÆß(øÐbÓw÷;}ܪ•Jü¦Ð?Øï».+wÊÊ€^$§†ÕWƒïÃíÄ>¡Ÿp¤!—.xK#Û«áþ»In=H(0®‰9ȉÁíß’C…óØádÞÉqvóB<†³uFƒˆÆ ¸õV‰â*_ ˜†gL¡ìòˆOÊ¡Sÿ g †Ø§˜³LK1¥–ÒB’[I*=(½n‘¡»@ñIÝ ÃñlöXWn×&ë«‘¾ÙŒ%©@Êvò½ $„Õ>`º ïPœ>+%D8ýBRmX×q®»½¦Ÿ/Kâ¢çí¼VVæ¿÷º{{eâ3ÙØÛ)K„‰£Žêà™Dzݲ®eÆíñ†ù\QŒ;,¿R_Mý-ƒ¤‘Ù_¯½ˆù_1¡Jb+v•ç~±b#åç¥dÙx:œüæK + =µz÷it3ýEJý#+ #¦xYrj[¯ì÷ÿxXrÇê@)ž€ÉHqSÜÓôÕÅ;& +e˜—Ûض{úØDDwL«Z¢á8ùçþ*^Nª'aUÿ,KcK¨¢?¼ßÖKÔCpÂUXÄõùû.¥Þ9¸íŽ|¾8ºÔC!R$\uJ¬™9ñ( µªÛâÀ›¡Ï,Z'j`cì¶ßˆì™k:¡‚\ ÿÀHgj†à†™–CÍ´üCýûÀÁLY 1dƒµxÑ 1EÙU•Œµ‹§®,Å}@²O¥Æ|ü‘Yµ Ð+§uTWÀ5`Õ)êDWé!¦ÒFETÁÑ7ÿ2bœ @« úh˜–`KÒñc§¢$¹]¯G4 +n³id<Êü·iÙûòbxnßÔ´+4ÐZ€R^ƒFm¨wǪþÕ±QQ‡ +_Æ?<Údsqÿ +¯<ÿA5qÿñÔ«ï8€WD9 Ýµx§my¾i X¨-rôzÀlÑü¹¦‹ŠEýs¿†þ„Ù˜Ás7¾î +(ßÿ)ÜfÛÄ+uðþù‹+3ÛÓ$ ˜µ:WqÞ Þ~¨*ó(»s²F}é²®C¥°˜ó­«ÀJò4§J»X]8¼»šÆ¢Ùö“m®WŠ6’Є‹eÍn)HÞã2!),ßC]f~Žu¡[‹÷ãlòá2@ÝmC„æ^Âʉßæ뻕­/[`ø:=,‡¶güuœ-$:}.óúBý¶œ+‰Î„°ÅɵØõ™è3”Û'¤ŠinNÈVu½ìÉ 'õHJ:1ˆ£È㘃¾aþ ˯7Ëšò•=Çà± äDáOe(sÄÉ¡»VÊiyïà˸4 µáÓN@NÁ‹kxC ‹\7Ç=¢Ì2 jÍó||­2w§ÇôX(Šž$6´ +!âÅõÖ€aú:ö!F‡kÌ|h¦N½Ê(n5-9{ßÝ•4>oò}èJbl±—Y @éM‰}ÚݼÁDd*û¢2gÜá_éÖ"$t±b†Á($´¶pßc¹ƒ¾Ñ6†XÞË;.Õ€ó8¶nŠ+âòiUbK[%Ó´(JïŠ3±>;ÛåzhRç¼ZŒ‰Ì»xñ¯ Ÿ[Y¦jŒÅšÕáWJ« +endstream endobj 250 0 obj<> endobj 251 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 252 0 obj<>stream +DÖÓaµØš×èŠúõuÏàv] ›q:šRé:'8iÉ¡M´Î¿aT"A9@0…0_ÎAV©^!l“¨{HG{m1ÿð|ÝÑuýW~“esEªÁäË´š÷'1ùœBë\߇ FÌò&oºT·–1ªÎ¾§Œ{B}ÄT¾zÚ03EçdRµøöÀW7Þ>ïžUÆItÐ04ƒ ÒLâljÁ”’–]]Ê2Ÿ±ãßê£ucŠÎq!þZ‚¶im‰Ð$«¥soâ‡Ê0ðÝÇ7ÏEûýSA®NÊ8óõ»ÿ‚"Kú,Óeh#Ý Ø´Ü'*¯0Ü!â#ïàÀòx—o¢LOúl#¡½p4¬^fÙ®þ‡o¸š€¬ýq¯‹—Âè/äA1§u~¹¥ZÁõBê™Ò5ñÄ¿šÈÉ6‡g@vxZ;¸sÈ/¿…³ôß|ˆ ÷£]–é+\q]¹î¾!R ¤ˆúmMŽR)oñO§£fyp£DíÅüo-u,“¸ß3 O¤¦Hiûmxð]þ;4&Ö…Óмç1¤Œ*dCÝj}‰ÝÍÙDL!-Øèê¤å†ZX±ú´"ÝâM̲fxËjEB«þKò¡"Œº1E{iÞ·T¦urRw–KU"½©Vλ²ß&×¼+¥Ÿ›saÿ»“– -÷;µ¸V'ç^ĉ©~2$¡è¦ùûá/“±JNÝòªðjsQqœJ”fL^h9ue«ÜàKŸœ_@™T-¼¡lÒýÈQ€MÚŽÂì»ÍátNC"«†ÇðåTNA’2è·X O¸¡êŠˆ_|©Ü:3Ü«E<‰ò¦WKR·Æƒ"ÆñÏÀl§ÈÁë›0¬^Q o=ŒS¸ÍÑô1C €÷î@•zŽ]l86ŸaÍt´ß‹ø¡ž+ÖtQT›"[RÜtÅ­ÞÕµs¯Lü¡Çžx¦öÁMÿħ¿o5ƒm<¤¡ÙU$bt_7ÅêDü±û?‰êéTû1ŽžîºlEø²UÖ/ºúñOüèd|ŸÖºÙ伩aÑ am‘áD‘Š¨=Ûø_ƒ¿k}ÐLþ•.›Œ(.1ç_˜û²fPQ\&¶[Qò¦t6ÿíDæ~‘fñ¶°¶F¦©T9¨r®À–¤\RÈMVÛðPµè{üÔ^~ìy=y Fþ/2òW´y€Aï„ÈOÝþi JnÖGÖ³ÑRß oÓ㸮âÀp›§#Ùóú3C® +ùôþY^ÄÓEã¤ã¶;Ú£Û–PÅG7:í ÒM.Eg\_µÃ;¤7"胇ƒÙQzœ6º-OŒÍÁk™Ü^€9xdÎñ„±¯ØÂ%<ÿu·l Ð{ÂØáæy]Ù®Šaf~/ªãèøÓªy«R +¶¶VXQFr· +ô›¨ž-O¨ì ï~Ù·xŸ½fM .%FÞ€ù¹nûýI +Pk§Ó¨¢¯6»øpÐ?{×X™J¥0kâ`èxìã¬×0E2ȧ–—‡Oµ\CX²3bØþë‘ÌKUè‰B°çkGöì­cc^F  š9Y;e¦ç½)ÚNùŸ«|U¢ùI? #‘V#eóöúFˎʘ9·r“Ù{žvþüw ¬µÉjæ+U‘(Ÿ“«€ê¹º.ëý4¦"ñÐ,0ŠƒeíÇùz0L?‡s÷­ßÌ{òÕ5r!?¬Õ±·S§OBâ–‰Ҝ/ÐNI`tÔY€ñdRfMµ¿Á£õ_îürW’X2SiòŒ¶ø~L¦?4³òWÖ¶£ù6™ùÆW©@$LjsAìŒòEk‚ÒÏŸ—t¶¸,M¤Sؘ‹-?%!ÏtU՗LJDoæ1‰òQ™^…ø¯0|Ž…Ê ÇhöMà|å:fþwÿ—Z%WèXYcò*L„«Ü*‡isFå°ó‘R ÉÎ ÄðÄËùì +iªŸÅ¯e%j²ûŸÝë*6Š*KùŸþj#V¯ŽÀfÿ÷'¤ºÍó&^åÆ‘^JØ#Í£4Ãò›&ñxNI†«áoì`®ÄʘÝq!o“{ñq Ç6blA‹³å¬?l¶¡Ðµ ës–ÝQ`¾.«2¸"M+*÷@Ötå;Lý!8•°ñ@´é씌 #®Þý^ò˜ ZË?kÜqBÚÿ +¹DC=îD€$xr~)¯ˆ5ƒÆ–ç¥ÊÎ…ÐGÏtïnR .yx…‘©e¦’aÿjw€c…uLÏ–W­Í +U±TI'võ]ŽPÓ¸+’ˆ n-7&°®./¡H“c~~x2+81tç™öºªxIÑJÐéñv]W3E;ÿc§Ö ódÝ=*~Z}a"û“ÉhpÊnÛµ{Ä|X oÌ:“~%ª‘SiÀÅߣ¬B»âªOÕRy” ¶( ò+‚»Æñ$V7i~…":NÑýžYûùƒÅÏ"8õǼ½Ö!ò{²\x£ÁH2ó¹ä†‹‚XÂÞ¤6iõþyó7cÃÿû– +…W»ÜQ/Æ‹Æè-~«ôwÙ~:\¢9k2ÑY]y¸¥;ÉIæ®?BÉ6ƒÏÿùö>«Ðãu¹rƒP&´Æò3²–—]3¦]{s bŠ ‚;ÕÓœÿ!›¨?m˜wÐ*Œm]G jýa€À?G¶¡döЈ N–`Jg?Š½06ƒW1|ý,9! 2ïFà“ŸÞ&™B€às”èHËÍ) ºÀv¤ªŠÆ&|jvJ¦‹ÜHGžËWµ8óVj$&Ú)KI?‚’^nqïF%æµÐÆñ$‚1U¦cÄ GÎCOGûQ(o3Hycþ|‚k™“û2ía[ÍE‚»,аódûφ5÷G©Svß—¢ø陕p”Pl7xÛµ¯:ßkݶ"擯0B©_A“™HÆ‚Èଠì ü¿-*¨Ö"Òѳ|~É‹Oà]XçF]?ÞwW£hO8—|*æÓÇ+›:>Ù¼’M•úqqÔ¥‡¤¤‡S!QfnµŒ…D^†#¹Ý¤áwÃj/zÉîÞÙÀ6Ä|Ò!îá*ZOøßé †SØ>Ÿ2µ¸^œ Gí÷¬-Ììxp:H€‡ïa €æ!ë¢V¸z– Ö5%Çêî±=÷Påîéµ¢"þ,‘ý¾%{BÒiÇ%™"fºÈ2Õê¾`È7‡ îXRÓ ÐB±)¦¢[µå|BÑßÔœdEzÚ^¿ôATÇá<¶é+W3#'‹Êo˜§ €åÉ@qo¾ kÐôàõŠMŽWý˹¾kzˆŠ-Ÿi· €Á qCñó^ÉÙ€]˜ÖT׺¥á)¿Z¥®ŸÊTþÉXN˺á÷AÔoŒƒXðIîrº#:ÊõÜànOÁº‡Ÿ£¶G5¾»‹]¼ÃÕàçù{§&réõDi)cayXµ'¼‡5¦èò³Tªu‚2´¢¡%+!éi3Jè6Û¯Òˆ„5Ç2+_AÓêïöRLg_òµ:õ£+„A/œÃXàEC]¬ìƒ%rzkÈ å…¹°ì ¸'>­îÉjuϘá}¿Ó7ös–,`Œ‚¼¦ËÐ@”Ô¶ô¨¤®Q¾G8p} 3’ƒÉ˜$_È὚®È‘'09¥n¥›p€ÓqüÄ{^z—»ÈoîZ+Á1Møô·NxfSšÚªÜ»Ò}JcPžq‘Ê<øDð¤œÇ¢3‚©ëÞ²ï¬RÍP|:¬ à:a³òWÈ?y;?ÀaÈ‘‚ÓDa¶ŒB•sÅŠÈêMb¹“ÿ¥ÄŒ7“ý˜íí±h.¥åM×>èÒneÁ.Ï,£ta¬Ñ¡àìÅÓ- ³L/ÅÚ@@Ú„–Zto/[êW[†hœý€«f§ôçI@eÔu)±7ñ®G&|+ñHƒ—Àå8n‘>ºnPäñ{€õ´Õ½ +Ó­*¤Ï§ +£!æe•=ç´viƒÖŠJ-°bkÜ£`^•9—ê¹(ÛâÀp—cPIÑó•lȼd¹Ö¶ˆVÞÅñ8™gîÁC:K,Æœf‘ûBtuRÙì)~ËómàJ}ÜïGi"M¯ £x°dÕó¹#›±ÀØÜRï ¢ ×+V€‘§ø½âiŽìÒ¹¾µêT[ìò¥ ½­Dů÷¼Hs!™s€¤?pz#:j¿d»jcÅ~ 9 qÚ©Èo½E_YçRÈïÇ¡¶æÉIý¼5~7å³PÍ`e5ÿñ(‹@¯LÖ0ð +³ä0du«u5±Éó=éé¨-b+Å:f;î”À AÒíµÖ!ŧ03Ô žΩ•ïáËÄŠä½OÁ©¼!æo{¢`ÊU™a£W'b»]=ÙÀ—O2+Ò¡×ZS¢f0ã¢ÑÍG;«¾y¬ÞÝÁc{ +g\µ&õ(º»®ìÁ;`:+ÀÚ^Å^è@ÙåËy.C‚ Åç``¡!2s;Ðpà[0 hZ„±f^mÅgä<ØêˆßûŒ©¾öÒq-žaäD yi±^‹«t-ƒ¨¿„Ï&&êÜz ¬~:¦ã´œ¥X*‹ï›¨ë…d5õ7)ÜJ9IF×èô¤ŽŒ³ OM j}jÝ(”ÛéGß,Ì}µϳjݯbÊ–³ZíM» ÍÍb‰j=$ªjjÓ[Èõ&¥†5'ûmK—ø MÑ\â)EÐ)A³–Hpà–Pí› V@’]¬B7ã/ÿósíÑ›û9mÅOߥ^D_Ç“®óèwæ JK#ýŒ&l’*B¬ånÝ5)•¬¶&¼m3À™z§¨¯Ëæ³ü–ŒŽËôYf]+ +:EÕ¿¹¾à‚è­ånMl›k4Aã);Ù0wˆÕ.ћ鹑”v±ðejŠ#P’ság'äë©Ïu•¨þ’¡LȉÓÔ¹Hº2£=û°cɨ“ß\›¦ ÏZ|¾UnÇcIý}û‰bAË0%/úqè÷þ#R÷ÈaéêYíG\\[[xÕò ï<°¶Þÿ0oZN¾@ðÑÝ…2sÚtÝž&´vù³÷l?Ë #5ð>kÜOƒÎ†„òᨅ¼Ô!å°e ‡¿ÎÆ÷÷ø‡Èeª´WŸªS>>¦—[‚ó@¶Hu¼ÅÈL`íšqªTÝõûg­^H“ÙÉf}g‡½¬ºŠ–2ï^æV§Óù +ÖõÒ>l© °ë‹ÇgñvdgÝÂ{xÞ(n­á +}Cý”óÕý®ØÛ{ºÙÁ= <ž9&“Ë1—û“oð¤÷Χ*¥%¸à])aØ*à<$™âûÇT,ÛÐ+ÅÇ㸓‰Wká.Y<[Ô9Q[¨J-´BÑFÌv8 Éfú¥ëFˆàthÑë·ª¡¤69“yVJô9±š•3Ï/cä¾’ÙR$;Iƒz@’^NL¡®£³­U4ÜKz”n¹Ëªà•„'Ý’½4s±|nXJ£¥¢Ç†æ•B·ƒ¹WÍ䆹*‘ÙÊ +endstream endobj 253 0 obj<> endobj 254 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 255 0 obj<>stream + ê@ƒþÐt1íœJÈ7ÙýÒ° Ql‡,G,zoo»™Ã½b¾›àœÙ$É)£%4B\êgGõÕ¸¢˜Ý,и¼í=nPšà}ÇÒBž"]Z?<1êîUû1šÅ½RçýýXÌ‹ +\^Ûƒ”×ýn ‚ô±í)“?3[‘…ðeÖ‚nÓ»„F“Ž¸%[<þ ™™äEKúãòvþeL©‰Xê‡ûø­/ªâÛ..ÂP„@Ïy|^%öÖ¼ïin¡™¤f&K~vlPÑ d:ò¬ÌîÛU¨•fø²Û¾kÝ¥(EŽ|öÜcC|+j™'Ða‰h/h§§ÉS¿Í›bí¦vêÜa(CÒ°éŸÇ–"`_y«[”Y0«ìvXyÑœ­ðݨqO® +ˆµŽ‘þŽDÕn÷À‹dáù bhŸ¤¹‰®b,«Ö„Ž)ØRíÉʾhÎ’æà÷³\Š©ºTbŠßF}ëåác—–£¼¦Ñ¾ÁXBýùñ[š8jÊÙ[?7C—ZzvÏkp +†R2S4ªXüµÀä°}›˜Èù`¬#ÃÖÓEn›©[°11î…›‡k+›åg>RVúæl}âHÕ°}c$ŠŠ3qƒršÆMV:ÀË°R=H|GP hÝ#3´ÒôÛ0^ì‹V¾OLÚ23|SßL]8~–r«²­Ž©*!“Úë–9Œ­±ƒÓÆ+ÌÕ€b'gr±fjš€ø:ÈYDóm¤{þWêï˜YÛ‚¬ÌË·Á‘‹i|ƒZ>YgµÔ©hcèÎþ£—Îò+•\nžš°%fã6ÛPÜ{l©w…;°=›@õéZ*z¹d¼Ö_µ7ÏüjÇ‘Ù5÷ûì/ ºi,¶¶/Òƒûœ滋+‘©ü˪x`—Pí¤«hÎQÌ +“\5ŠA|eüžÃ ƒ‹07Ñå’dÃm¼¡z$]1åˆobÙ;šv'³2²Ð#`X†÷+ï¢/èé[îS {0×™¬³.Fëú>3Ëø‰n誜Å¥4 hWøÏY”$7i³Î•ŸI¤Ä Ã@#f}ÔîjùcáƒrÀNàÓ¯öb Ó!–yÒiäoÏIÖaQú:èŒvyð|xm¶#Ðá&‘i”Îß4 eH¸¹åyÑ.,âX¶à³± DF¦lsØ!ÆW¦Ñ~x¨RȘYÓ{šü]ºo‡+ÛR©wCÀ„?«N@Ü°á2‡ W {„õ= n±9ò%–Ž¿†ê?ï%8jK#§GL;È­¬€˜­Œ~R‰Ïô‰ý"^õþú rسë©"”Û«ÞÈ“M»yÏþ×Ð9,nW u #Lt¸—0Úo!Õg‚í.³dÄ(åßj’ðv_HoKOélJà72ÊƔІ<¯{áFë'(2ì“´ñsô§A¸wjƒ¶]#0éB!ŠeÀ‰òî#¸2±D¸ÄÉ+±ZpjšÁXi(û‹öñ ¹ÿ„Ó3¡jÄžH¨M†~¼DIÔCœðƒF#¸‰&¢òÛo|¬…Ó uÜ ‰G j°o,Qf;}5\è×%‚Dº¨ ÉÃ~éè¨æ‚>q&P̱¾RýB[XDã?Íö»)øtSO¡ëMÆ{NHÛu¦ñgÏ怀äjü£ùGyIUŠHÎlÛ7ûxl²FJ*¸g[)pø0¡3§•ŠçvÂÐ\xùøÏ8‰]÷IÖʲºÈž0€kˆŠVþ8hm‡ï`ám/±ÝÏ«EW/]Y;vp¡H@êeOÏ-rä~- +pZxÓàõt¯¹äU·Z+[¿m-.¬‚ŠºâeÝþhÚ¦õâðÖøHŠVxy’Ŭ“£÷½ÑÆ$ëÒ/Ñ0÷ü®£=öÅöÚô]ɽIh©»<é’‘v´u 1ÐPày7‡ÊÜ`K +ëdÝ֢シ|‘h4#¶hAþCL"àÝ,»ÚñÕYÊR}Áö Ô§Œ&(+ò8ì‡q¡ÓŒÀšMü)e'°Qwb&´!O¢°WàÊñYÔ‚xáÇ÷ùêáÂ0ÏÙ´OÁÛM5Öç€&Á¥Q"µ’U¼Z‹îj¢/Ø3’¼O•äša_\œöG"œØùWíô%î»à.Ñ–nè%¹¹0T©¦T) Ð_Ë|ýÁ¤ý·´8=›½ÏÄÙ~Žp2…‘:;u”ò!ûèçu +˜EÑZ綰”c×.§ýœ0¶+Ô: +[ê,¸\åÈ;qߪ[ë긚¿‰ºÙÞ­UÒêððÞÂÀ«Åú›xò¢0ˆ9h)»Ý{În žÅ÷ÐEˆP½ðÄ K‚…CÒÌcÆhQA¢Èòb8— |ÕåÄn*AËŽ¨€Ý\™"úÙÁ3sÆw30"3;.‘îP 3æÚKGIoš.׃^zó ª¼ª(\.5,#­½”âØG9ΤEí/S½6˜¼É!¯?íQ·˜©‘_xNƒ®‹$¸½kö¿“oZŽÞ£]ªXð2I <Ñ;€n ÉâÊ©Š]žrG$ú‘¯×ÿ'lÁ×j|³ã*™Ii˜%ºéA¢×µ6JÂï9Sá!”‚*`!cZíkóÚÙ¾PF×GeBþ¸É*û æ–2[•×› +¾‚™ŠCc©Q2tU1”ëk à 'TÉØÜSí²ÖðJP©^fwˆÿ¾—mu¦Ý`­^Vš +¸MtŠÁ‰šèýÏ”gC|ñí)оI£S£'Ý-“s·`_qV®™UÜwÛzÖ›Œq‚øk,ƒ³ûóùz‰ÞÚ¦ÐLm@í‘Š.ìâ«T×<ú›ƒ™[ žÿÉ<&*ÒÏó ;ã$Š3”ÿü[i».ëÞ¾'c.tÏK´V"P)qŸþì9eë}‹!"¡ý˜Å ;)°¿·š,±ñÇ«¨“cJç{ÓY“X¨éˆÆË!C†v ÓRÆ(£(zŽwŽ†ÅšöšvVùžç ñù=ÏLKwöJ\Míˆõ®*ÊPÍè×Â×î´L:ë‚°º€‰ÔÁ0¦Ú5õ‹Q†ûµºÝQ•bZ˜˜¤h-©º½¸ÄôkÜ«}#änšÎÆÎ^ã"`æ4ïZ€¹Ò¢m ÄÏx\± \®XÈ6¢Q@åˆKB„W8ÛM1³Õ¨,Zk×­Ñ}ã/‡Ì¡ÏˆŽ7•,EyÌzÐë¦p7ëÙ‰÷¥N.Â2Ý5*šÀ°Ñ×ß7-<|Í•u”åÕ}æŽÊ¾$¸´—•%Åa®Fì¢éÇîfÜZž0ݪQ™Ä“õž-µo:\Çÿ;4”›K—C+6Ðîæ¸ü ]-q7t¥ÎMEè9æX+BKîiÀw‚Ë…‘#þrŠ‘¹žîû€sPÝ`Œ »A³ê{ûPîa]ôW‹f'Ö¥ ³ƒ@S`pèX †àþ@H±Ku&׿ãÄr*?BRÒ•u¸¥V.vaËý±€˜” , NKØÅ ä.L™Õ+î9-8oÙƒ[¨ýoÄCÈnþf­gµËôÚ¤1ÖTý1¶ˆ'°‰‚Èw3648>wë •Ò ³Û—‚†OºžµƒÎ¹r – DÆ­¹‘ø@(®±› {cý²r^ã;w­ƒ@Ód§ÝKRlfPÄ+s°ì鶻ZPt€˜“ç3á`‘*q¥ ×[á½7åDRÎ 8ÚÊ)X#“æDËBHòð—€ÆVÿQi+fNÔ«‰¼Aþ°*†l`?A¤FÇfC4z§+…§\_„€Ù£àþ.U¡«cÉ7³»‹`ªghc¬Ú¶Å);:nÓû&ïmãb_­¹Î™P–x»Üô«3Q.¹Û85ÏBýÍ)›çžqÐö,}-ÛN«ók²£ ß@¥Jý_ш i“5ÍØ¿Î΢°.ÞXúÛ|&1ýãn"ÛƒZÙ 2\2a.ðÌÙ»µ” jc¼¨ÜÌÏëwÕA-šANóç<Š÷¬feÁ¢_Û$°x­®ckª†”+·ÎøÁl]тᳪ«ù‘$žŠ,|<®V¹¥'Ç…E=X »)èÀ:5Èm@fÙIâd÷ª|ò;~Ý_Ÿžž:çô狹²öX}~ÉÕ%žNFÂ{4Ô¥é/G|›Àø†èQ§¯¸°ÍP !ìÒ êÂåGú·ï¨€dn&KŠ„£TXÓ;2ÈÇÝ»ÅuBâÔ¼”95j Ž4@;€‰ÊAÅG»º’¥C¸úᙨW—DÀ sEV^è[+3q’‰Ðsßî<}1ߊGüª:Z[Þîñe¢(ÂÉèáÉá/é™ãÅœÿW½gG)þŠ°F+âmŽ Bœ,ÀǨ•—‰6d-nÙ³HÜ„]Ü)wí>õõÓÑ®øÀ1.Ø–‰¡úíïEÐ!»½$x,aܽñb©å¼³àN_üŸÕeͪ̈́…ò^ü D~xßLf–‰˜8m¸°(…§^Œ½VøDca^(o[µ ¨X½[[žÚiæ!ªßóÜ×µ¥&ç» MÖ–"t +$,3…J‘ÄêÄ#þP„³&JýÃêþµ!¨ÒeS‚ÌŒ{qÁñ°ò)Ì»ž­À^ñ*f§Ó’D¤Ö/èÅPj«w +üÐU£Ä€’ìà Hâ +W\T&”…òµ®aßdúæŠmL ¨‰êj"»ÿ”Úpßgü)xFý,ŠÞ¡ ±ôÖ×€?þ”JzÇçwÙWhØr¤ÃÿÿRÁê·@ ßö|¼®—+‡xD´¯HÊôVÊm?ghS+&>ëQO¸ ä0#_G¨X-éƵØï{…“ꇧŽL_gøJ&úŒÏ³íEä3%aCÚˆœü•2#ÒØÑV¡soô=”V¨Uö…ôz¶ðS>žŠ^g¾=ÈÜ­ÏáÉTÇ÷$˜Z=“ÿ?ÐØà»óñ¶÷Yy½SQÌòÒIñú‚d^1‘nÕé—‘C‘°Ž6³Â&“g¦=‹=¡/IµÌãh¿‘Žÿ“>–mþ‰¼;1ËÙÄr÷¶!]³#9“(¯x®n‡°Àêãk—Û·Ì`È°Ÿ8H"å`~ Û¸VºÏ·ñXr`® ·O‘Û=Øß&ðÑG=s%cs+j-h„îkôŸ|ÒN}hP• ×ù“@P“M~ÙÇÅ”Ý + ‡,6 Ö.ž +bÙ ~¼ËŒI/\ÝJ-Ô77ÉÛ¡~Ö.×u›Õý\5à†*}3m³5Tü®å^e×ïò÷öaÌ·ŒÌ}:¹S«dø¥BŠ¶ù3m¾@?྽c9ÆX¹ùé’d×$|÷w­‹§¶Ñ& Ú/=•8*•gã¸Äö\&ØÉ[싱%¸òPëiì Mø! MÄõù¹®é pÜ©´ë\2˜7êW‚Bq‰Øçi€XIÆø‚>mZÃéͧ¸ +¬Tÿ5c‘U·²5òÂ}$¥zr¸§<>’ùZ¡›aÅöñÐÞE½F—‘kHM¿Ý{ meÆkv·hãžÏ—r@/Æ“4 Ÿç|JK2ìÜÒ¦ÜØN ûû6·†+l Hxg.{ë"ʇX+Ð;mSiB£Û)ƒÛJ—4@Ç>’c“-KšÉm͘¾Õ¬ÕQôŸ‚ïÊ<gó:æ7—”U'¹÷‰éÖNu)8”Ò–†¨›ßákÎÈÜànsQ˳å-?P¿pbRâ¦%Ú†ÇU]ÑTÁ +endstream endobj 256 0 obj<> endobj 257 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 258 0 obj<>stream +xæÈ&Ãa9¢ÓÕGÐ>A>לdÛŽ¬i0$ð¼‹Ïµ¤™{﮳œ!v1õÖýÎÔ” 'Ù2‘¦mD—ä +ó˜ÑP«½ iT°û0¸&õ—‰Ê%n+‡…B|‡ø(ÞÇV+K$ìs}îz#îž fš’ {×®ÝÊòâí’º(<.%«ÃÉb;—Ñœ[–ÙïÛØäý “Ú{Ö°Äî‚S£!RVáŠ9Œ`ÿ~Õ¥€Þ”hGËÛ Ñk§ÅpbøËÿÊ°¶ç¬è)“Œ[n b^MkôQÚÉ|ÝÈDs/°~òŠ¾~¤¦¢u,4§•MšVòå˜5!ƒm˜›Ü]ìw&-6>‡¦P ªoºˆÄ/h›,}ÆþyžB&ÔR5¶ pE•ýaR žh—ÁÞÍNAÈÊó€E{CQP Å6PüÐX‚à¿$>$› ö ’ h'J)ä–&Ö `µIÒ`¶¯€'üþª¸ÅÓn£»[CÙ,È¡{»*åÒX´ÃjNŸÝdæ±<(—äÁ5Y²Cû\Ceúc?ø˜Oñ²SØV—kÔeS8×eg9Džg¬¸[Þ·ÊKŽV_E5æÖ­ >Ä8£\ÍE?ó»ld,UîÖõF±â(٥‘7!'i‘7\«5”’Û¢cÝ5Ëx† { ûŽ†EËÐó4˜ÝéBQW˜°¿L›Œ¼qXá°CEO7»¤–I‚î´6¾Ó +Ÿí€/-þ2AEu1˜öÁj‚Fò]c”£ÖÂ+ß‚y[9œ]¦[ +:'­œJÜÃ÷ïÜ·4¤ ™M|©öƒ–>a”¨Ì6¦º `þŠ­zÉój‰4î)=ÏþFµQ³5$$Ž\Z+ÍóøÔ†u¬Qs¸ÄT–~¹>ÖÞfR;ùgÞ¦Ù¬ä"ÇÕÃðJ$@ìA®æ«ÈÆkF€ÎHmÑã0Áë! ÐcŸ sÐW}+3äîrµÕAåpEt0Çw e¡ý!í³S|¿3¦|>8™ê‘i7‰ˆùÿ«Ï?ŸT^Gá¯jtb¤& ¿›:gߟûp‘a` +Î÷%6ã¤d?ÞÓŽ‹–”õÁùÄ˨P~ÒØgÙt®£#iΨóÛEAáOBvd||-îü«8lc{-":žLþ:MÔõ#–Ïù®÷xp¶>¤ ˜È­Krbÿ’%žE;ü‡·Õç=mS€']£X®r“ßoÞkJ¼¿ËŽ/>‹´¢ +mkªÄבºÄÁ  ‡A>[ ñÖ¸Ÿ•±ÌMJa‡o&“!GÌîÁBòVº}og^Fèÿ (‚¬·™ $æJ>„6ø«J¦$çä²<@™ÈÏ_Þ&¤ŽÌÚ0$«U^¤ø·´SúÔ,QMW¤R§¶ÿ:a<)f’âÚ™wõMøQçð”®NÔÉf?/ÑÖôT ä³2™CûP4ûxÈÒîŽZž”j.–Šê^ê(¯ )¬¤Ò®­!­¥f[Ðm~‹ ±R*êÍ=„¦b·½AJ0ÉV­@Õ„¹G"X]…¤ápJ’]Tµž!ëaĹB••dúÇú`€ù(Ì6û¢¤qæj/(b´qä*pkÎÉJÍ–õÕ@­¥ó`èÆtVÔÍF¥jÏ•z{ìdsœwK¸”œ Ýð†>à ‹ÇÌ•%ýûò´Œ·†UóÍÄåäÈÖhMõEÿ·ÂHÒÒFk#p–„€í—%€ífº½9IûRòŒ6¾=Ç/oºc-Ý$O·ÙZ-Ïʲ]ʨCJgš†Í!tþë|¨cöjh3Ä' ë6ȃ8û +åsÏ%`µÍu±£ðRo4£K¥Hkg¦ ál&Ÿfcͼö"»B3n‘,|lÌ,d &ï±^ÑêØ£ß|¡YsYwÞ2Z nÞÌçûºÁ#{ßËc™Å§·Jh•Æߢ²¼”9ŒµRÎ¥,„ã™G6-¤·*Üâ_IÞðnBD£©-»c§Ž £»óΫ4Þ%Ý2føyø˜Ä«³ æª/üj-}HΪRÌö•1P YçGª‘Ÿ,’oïÁ°ŽS.QÛï7×í·tÈÀÍ ÚàQ‘`\hkÀ<ó|²r¶¸ÿßDn0ªºœÇÒyÐëi’”÷”mÖÒå9z’âÃv<Õä~ª½WåƒØËÊÜñV!hFñþˆó­£ªæÔ,¬òé„åI`/%ç#ñ#§YAÍoÛÍæ•ôÄ45…¼dº¥$–ˆ€>ýÙÚBÖ“[óc‰Ë#»*dhðAn¾QÆшï–ýèhãUg_Xí¶ÜÔ¾)·¬ÏL%옔ÝWõêf"7;Jœ±³pLñ„¸ìíJu`+O²³\Q‚4H•·aÏ儶ŸãcZãéSÍüo0‰#O+sºy²üÅ!¢ç@ü]›jÖó¨ê­ä×чÙÂ!¡wÂm'G¿tÊuÅsœëÃy +û&: 3´h1!ï½Ln¾$Ž FÅC©› „6د™4·€ÏZ’tFmZ”åäØõªäÞ%ã ¥¢£¾aˆùðõ~ñ˜ã´SVúŒwÛ¨îD—͇Írcµ‚@/3|¹ÏÎý%~õ2èµ£ ƒ•OÍ‘ÙÐ3HØ’ÿè݇=·¤¡ÓMV§JAgãò 5mÇC!™~c) +ƒ¶ª¹óTN‹Ìª´ÃêÍ‹—C¢uKõƒÌzh +*êþ?‡fª‰Ú·ê¼û´¸ÌI êëaÚé´M®a#<9=Ƈ®”ÚO­>nú Ê1Ó\tZhxÆ`ÒqTàœ¦ ùª—Å—_bŒèáÄþMiJEñ®°aŒK]YBÏb­ËÅBu‡ÉI=}À˜½46…ŒÆ}V£Ëý]d"½å[—×–Æ +•[jׇ©¥t°PG.:³¡b§r 튎…è6¬Íz‹þøè1c’¤ÑÃ[-(#Ã/&¯Wt×ÓÀ€c="ù i ½Atŵ+ŠhˆI*\°RIP‚BPšY¤’µÅŒ3§Ö÷à‚^…ôÝžù`íXû•MÈÕÎ=ÿrÝøý¬§u}ñÄ«“M¬ä­¸ÕpzêÒ}}iÙ+\?žJ#f·´ÁøããCX%Å2.ãm¤EçîJ‹«&@yo¨Ã믯T»”—/ƒlŸm2-n»ƒ~"ÍuÛìMȳny£[û.jÙ¿+-™ +¼ºÌheï´b1‘hþ/2vLP{°«~y¨¶h„ŒÏÕdK;¿c{HÜÎÓR',‹D£r«ªölpƒ°Ñ³‘ÁÐÝ÷“ßØ ) 7Ç*XhõÅ1•e²ò­{Ùi1»–äQ¤!q xϪ¢˜B}ôðœkˆÐz¢5‰ ]¢íUr '×;\@g4qPù;p:Î"pð"æ×…Êèt ,/ c•>b„»nßÊIŽ^/Ú#Ú¸(#æ¿!56f{"êlÒù…JÐÒ‚nGq‘•"ðçŠïÎ oÏgõÕí0/_L˜ С’=ø<¨syN˯ÅTúòÏ0 > szåG±ºÖ·ûÒ +á©CÙ¼†9%ùê {皥îÆÃ^ÄE¼æ¾®P›„=K"˜šË'C°Ω9D¡2ÆFãÕ-Jk¹öÓvÏ 4¢i¥vßáC¶äæúœŠüh]éŸ`lïP¿,¿[UÎ9RDP–ýØUÀP]óÝ);Ö +U)X!ÒÓo‡80÷äeßüSsäG5 +ŸÓ1˜ÑÌ‹mˆdTQ²› +Ýv]œ6ZñÈWìÕ ’:ÓL{¼Ž|,Ôß LÄG(]Þêt‡*s[\†HA¸˜ñk­ÇùңûlŸ¬]æ`8©«Ù±!‡‹AanâÞôÔ}‘;Æ© +Wpl…ˆâ:ó<¨\”P!Ú©„åïË(âC»‘õ¹©K¡wÑ9ÁV‘аkônéÀ¤‰ûÙ °–T²˜‡2Y EÀ|Ù§«¥rÈ}H…jntñ^Ö.ŽïwaÿÖRAJÜÕù-Â`¾ úˆe"Û-Ï6³±¤"2SYEZòï’7ã ñ†Ã¢«…¤d· Øh _Xe§·Cí춲2ÿþbóD™ã[0ŠLÿzÐ{£Ö­.Y…²1 º·†æÚú票ÇlRÚje‚xJAL´-(‘ª¢»ÃEá¦acáܵ–a]8,œŸ§i¶tsmž–.Ä€†'¹õWÜ?,iª©r-Å#:7e\¯ZÌ¢¯(ìLˆÙÙö I>CH÷6™rá߆°$Ò¦5ŽN\(” 6Dÿ´ “[¬«îz ^TÀVˆ¡ ̲ ß6oÓ½äîjG:û6.·Œ¬;6¸órF5Ì7飫†øêâ=[ÓEv«Z1ÝæÆ’¶I3õÃhàZ§ £xÃÒÄì:z¦0íº‹ú(ËñêÎG½ï}ãßÎÝ"§%sX&Ê73ýhyÙÑàß®‘:V8&ØG™áJ”¥8û—IÕ{”‹þ¨åqD²›¤MQ-$‰Àð1£/h­Ø ÁóÅÑŒ˜VRF×¹zä×]˜í»NÃͽé¢_#D|œH|Uà¾ÂÐévRhÅ)9™¹þM´OÛÏš<®&u cÍcv¥:žè{=‡–»ðì™»vÁ“ªÜýB ipœ©` ŸŽÔìôDØjò™.ß–£ÏT£/J/K¿ÚJYÍ8!ÒÐ&A’ã¹Úýà‡¥±é…©œÙ°(CþnÎ+ø +endstream endobj 259 0 obj<> endobj 260 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 261 0 obj<>stream +—¢ïÙÜq²ƒmðB%Òþ6‘tXt{ÐÎDzXá”aö‚Qþª±@Êfý¤Ä>ÖêM] 4¿Z)´^1ì.¸é¿ð×{ŒmG}FÙR%à%P‚–!9æD1µêEå•@ov…(Ö»p.ì"þû|9:V"KŽƒG¥Ö Îi×áßUA\¯/")%j›.MÁe›ÞË»¢Û +ræÅ„QöÚcDbi§ÅxšàÐK=®ìNFæÓ ´K›À[0ØþFËgHpuDÓ¹œ_~/ü Þ‰0N£îÒo‹ê˧Dpeßµ7Hþ j4¨±´Ù­fnŽWì+èÖd–Á/ u½~„t«¤?®«Ìš·3©qÏÊ^Š}ØÁU/>Qø•‰xå'[Râß3±êØ£#Q–gáûœ +ï`–âMI *P›<õ{ÝîmnœÚ;ÍåÜ<©˜ç V ‹bÓOå+®N5©\4£ZÀ½¶p“Q¸!Rš¤çû˦÷Œc¤ÛéxGà—%5Å¢c +(¶Z¢/ äS –»g×LUÆ.14,¾SöŽ.óuaaŸ%A2æ^nûߦÕÅž×-WTä$i‚HÀ»UÝÖ_JC×Î/Z̳Ѯ¨Q>_Y +¦¬¸tl©ÉÙ´‘f}«Ô&ihð:yßÄ®q_š_ìà¢HR·,Ô,½S\ì4’² ÚNZy>›&3m“AÎ û&õm‹ŠY8†`nMEÙ6(L˜.]Çiä°Š¸Š^öJ8nÐáqá‚•x†àLŠªzô‡zÈ(”k±|<6ˆ„Š3ÕÁŽ7!¡œI®k'–À:¤Ã. ã³Aÿ®ʺÔ&xíqUƒ]ï“Ši=Gåú!u¸Eå%ƒŒ¯³Õ~Ú@L…ÏyÂKàEŠ`¼Æ[»¼¯xŽ[ hPÇî,„}5}nF…ÃRMÎGéÞìqbTªW5m÷¡j Ðcïd±c7»¡@?yju¹ýI–VÕËå¨æ`rdra»—[ç`’ ö„¢áoJUÇ|ßTÎ:¤–Á„,×ò²{Càè7$,ÜhlU݆ðÏÇ•þxN +ë$së_‡]"TÄõ˜9¢Ü0ôy%êAŸ'¹i÷óÝA˜–ÿ¦ô4ø"–ͦ O¦ÈKFXûæi¨gݦL\Lþ# <Ý ²ä)yåÌ€µuŒÝÚzcå-œŠ[±>ñQ$ñ3(‘±!»Ù¼Zf† m„ >´²IÖùžÀÿ·Þ•³ Ó’â#pÚbÃmƒç R«xûsÌ™Ñì2쥹¤BŠ&FN[ðµÓ¸D ÛšÜÄ.·xë>q6Gn¨¯òbµ¶ ¨µSƒšÚòåL Öˆn¶JëIëÈ\æŒ@]TXô tÛí(ù3ˆE¹³”U`‰÷ãJàÇ–.m¥’¾°ÖjÖ“N´¤ÿXýMêGʸ<ÛšOòƒ‚ FÄ{¾:¥ˆ²˜hBhk ¾ôó4¶–ÍŒŠo:w!›u£yºÉOÔ+"bƒdaß×ú¢–ãtá H€’Ár ]hfy>ä½”¤Çh½êÒJˆŠ„_²W¬ÝТ˜Lr¿E/³S„ÅÄm-×6N \ÌÖ_m¬®Î4ÁFâï°®Iº[秗9rúõ¥ûîX'a½|׬9åY£‡’2c³[bVÉø»ß¹Ÿà.†n+-Ú\dN=¦&çò\,÷‹ÅGKÒ®Eý×WÚD Þ>hèbÜsþrÛO‹Üsß3 +J¾°ÑõÞHë´/[ ¥Þ0Ö)ö /Ë…0i‚S˯“€Ø©Vï³gåpsÅ+sæHP4Í@6•õñ¾â¤º~c3!* œ6¬k‡XHGA¹}%©fÌgHT®ôÖpñÇZT/¦­fâ¡u[uåý¨jä†mùMçÙ:MCùƒs|ÝݲÀZÀÓ¦žjâÒJó³°ïÓãIE@;ø:-çŸôõ ØBÖřքí0ýÂnKë}µàÃí©ÝÈx<è>–|Wid€D&µÈNxŸÿ–Ò®’ 9p‰w–,™·põÁ8ML_²Œ0ö÷nžkÚ“\éóÆËëçrÜ<ű›ò‰’(ˆßÌ9úq3Ö(¼M*e¬xÖ\„¡ßnF¸mô×üuÉ iÖ \¢ oˆc‹ûOjo³E†«Ñ1eJqŽ˜§Žœ:ó"•œb<0Gb5X+yÇ·Zä Ï+Œ>6ü4ˆ€¤‘õòÉZœ)+Tm‹ÎüD¨àÔ$®¡ºÅ³d¢£Û¾˜ÇF[Ǻ+ˆºÀÎ9AuîŠó4ÎçÈ,X ’ržéÃî@[Pí®fTö, êA’&‘K6ÞªèÞõ¢"g±^kÏM’1ì×.”v'™»Š6=ÒÍ4…'5À²1µÁÙHån–¥)U/¥Ò«ÇY0Íe¿¿¢]UÞRÈÌíb”éO³ÒúR†Åv„ +QÊϱ!ùïŽ/š +ÆÙ!Àì#È:Ú´µ›Gš$T;¶¨[Ù=»›ŠàxFåEŽmºC†>ؽÉ"t?ÁœlWtÄþ4íñ™4öa¢¼›ÊIÌéíqIáÓÄ„*&|ú(ÁV­TÕ¢“¹œŠ9jÒÍíMFŽTȃ—l8­:°‹f”kÑ‹*7r¨xa»w×{Ä»â]DqÈ9gÖØk–¿%«§†¨C›ûÆLZ%Ü?Λ¬QÊæwî˜cAS=Ü÷S͹¢3öq×ë8Bħ©¿–[%‡­¨ÖR2<%R_ºðMøч©\B5ÍG“Oîá¢ç~"ÉêÛ‚­éaÅ2~§3Ô‡©¾—”V, 1Æ€!e[KŠ©ÕU¨îò>Û¹${ëKÎ >µûz[+¬3€¹“8µB÷@šƒ¾ºØúnçj曄¡ÙQËfGÿ+Eöؤ IHÒÇë'G½–ùê,OÓú&`Ó–¨%Õ ê0zƒbÍh!!¯S’_~™y¾«E  Üw ZÂÛà \»Ìƒ=)gZ[®ïø@Јı´,”nìlNÐ…()ÞNœì$¦CÒ`Õdž.Óóózkä%{÷lŽ¥¸þÇþ8Ly>©îLdtª*Úú¿kËQ7–&8à6ër:|PÒHÄie^ò¬órÎñì2)_²2O±Ÿ3ýØeù"y›‚ÂüàW­þŸ!Ä/ÝÆá¸Z!÷¥u «â˜Ú¸…^¼ïqÈ^(ñ­ ¶€lÃ9Â<>#©/"ëFMîddúHœ¾P”Ù¥¿Bku&êWÖEù§¹ØÒýO•pÛ°`’¹òæN +’DI¥§Îµ øÆjÈÜ#e¸ð‰n?À¢»õ¥¡ª…½ Ó ÖW*ôV§@4UÉ:o ºG+ùh¦Ìn*³~Lõ¡#tñÕö€QáVâtݳཡê-?EçѪ d{˜zK%ôâA%4Và+EŠã6+E)ó¢¯XsÃlŠðÃ9w0ÏûLû™Ê/¦aò ¡aŸmzÞ‹5/êléb5£È›ÛDˆ´Xnxp`CÀ\4Â;·ýßv«§~‘ýã»Iξág…ñóNè]'è,( ÷2.úŸî)¡…T°Åêßúù=Ëh·ŸVkJtìp‘Rê#Ì*ëƒÓ ÿ£~Güû&´kQõBñ FY³Ôúè|¨Ýñj¯æ2¨%^IÛôeÆ’EœsÝu›µ~xQ.€BÕT;phk˜v^5“‚Vˇ’$[àb厷fušti»¢!Î`a¢bDÌ­j<àf‰üÑ„ÚžR…ÚÒ̉ԧÌzhæ³ü×G[Åü9sgëWI ¥ly“ÖöÿàQ»§G$<3ŸˆM’åöÀ׎`Åõ'“N3ÓÁø0SCqAÉCƒ“Ͼ“žåŽz’cÞ!”‡²Äƒ[ó›m :j¿ÜôÞOØVÁ*r«ëç¬ SiB*¨£š²$œ!¾A´`PKM)eÃG¦'‹æg«“Ìuÿ(rÂfñ‘éê¢%å²µkTdš! Yz4a+’Ú¬®•ö L„k–ck¾ÛC§Á4á°ñ„*![\ÇÚ|vË’Y*n¾P&šë›ÅªëÞ +=´æ—D”‡´éyPp=imœæûßìëw!{y“xg¸ t[ Q2£À£;µÝÅ÷ëBÞ™nš2²ê.<Ó +¤“åý¿i"Í9sMƲúîuÿê+¢q[ûª  ô‘}0{+ÌÔ©ž¯ÉpuÈNH”CFIêQæòkÓc= °å¨"gT[8Ëøl¹t –Õ!ÓT­`”xÛà»7ææòÉ)–›ãàºJ\Ÿä7l%’‰U~r¼®|Ð{B³wÛ LêŒJs“¦á‘~¢ÛÛÜšS¼¼¨ÜM«Û]òÏæ4³-„)}ºæ¶ßêsŒOÀF@®”ö v¶<…Ðu¨¹x5ÁС îË‹ÃÂÔÈc/ZÒD@O³ÕR€Á×>JVžÁ(Æ"~}FÈ“!¨.Vi`]=V²ƒK†«‘lãWbhü$¼Ë×SA™š +jËl8žŒ0u8oÝ4;£?ÂǴLó Üx›=¡¾…Ž²Zbù…P d#r("îGk @I&Éïê&‰›º¡¹vQyµ0 “.‰¼÷ß•N¯Ò„ÌznQ®«„Íù[(âOŽ&pdäñðº¸ì"Qx›MäP™s¬´î&%÷§¤…$ôµ9-"Ì¿ÇrÞ:ñ²69 ŸÌ/áQô­ÄÍz„ö§lt\V#k`ž&ó%L0½ÔÛÜcxÃ@ÛêÆ'<Ô©©e¦.‚ðÖÁE‰ú=µ~©£¥Ýåñc×oÌÿD¸…¨…ÄÔM$,c2·0\®²¶¾‹î „x¯~y'¹´ù‚KÇwõUÙ!ªÒp1ªPã Õãnm@êupj ¡`¸éí†Ð]Å ùFëÜ«ÎÒã‡Íf!¼!Ž¿g̾Gïžžb¥Þ iшºE× jñÀ_L~ZýK%¼ùG“•à¹|'ht­ù™eÍ£šžˆ¯ñ²Tò€DE½ÚÞÑôYG»1>d8_ià†Lg&Øš“¨GT62U šˆ–C€X‡uX¦ñX¸ìk>å48 ÐÒ©€‰ˆüX?Ô;,Ur‘è’”ÈÕ,i×`HƱº&f€:!*ˆÎø|SK©HÈ$B(^û :ã–hcnŸ¯²©w +ªÊúŽÁdÅ«Y >_Wª_ERþNÒæý` =.ízÂÊoML µ_5ïw¦7ç ˜ß|Ö5ÍáWo5k§ŒS_Ê«Ü_а¶}þŽ'¶è¯#ÊÝ”¿­¾¡øŠ“ç –3snþ +endstream endobj 262 0 obj<> endobj 263 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 264 0 obj<>stream +«´Ó¨•—ï€É¹÷YMö + :€ zæ)@ãj0Ô¿»¸œÇ“ +&pVQ³`£Û*>¯æê§L7wS)UXŸ+{”QYî£àDö÷QÑÜΰwÅppQ©hÕFV…=Ò ¢¶z©nøR·QPãzá@ |ºBÙBÓ"³…l·a‹õðp’ôû %œFÌ÷2a7U.Ø;y|Y`dqÅ¢pYZqN´±G‹=T*CÓ¥¬Ý:b«Dâ×G»f˜›ò‚1¡Bú—-Ý'à¡êŠ‚e÷iVõàcõŽ…×Zø@AYXûÏCìíaßG·JŽË«+kÐ,wš$™ëF¸`5—ï¼ ŠþzM˜æcÒ4¶–„Æê#n˜}ÀC2öf¸pžÜø›nÖB훬FR\…çÍú»-ç +Ú¼-ãkXKO}‡7Öé2/ÎI‘ª1jÝhRá‚éJlyk ñ +eIº( ö¾€" ;ŸKå Mà­Y’Þ| +É/@­ËÙi¾ÎlÎ8* +vÖ5N”Ô…\òkM¯ dM©1£c|w:NõÓ®cÃY0úÝV¹Ä¦Û¸Jal·%•¹µêCxš‹—˜*è_p¤7šþYŠ! ŽãÂÞu²Ã.H6„¤÷î{‰ú5¹À SG—\ÕF%cžÞ:†»ä[ø9®ûo=(^'£QÒgîäÎÉ_C{d‰!Ò;Q{|>÷`wÇCn-´¹Ò¾E~(å‚"ɯ½nÿ™~at˜ÄLŠIjõP/§ËÉø[¼ÏE—TusÀ*œ)'eªh§ªÍ¼yñ²´]÷«¤¡Zé7RK„¹&?e·æà³k–0Y77|n ^m¢ ¤Ósª3ùo/“t ++`èo˜øþ&C†Ù¸†"™¸`xœ—ÕC53íI²éé»wŒûßw¹`UfŒÍðn8F¾TöŒí(±Ïñ_{b‡ùðœp;á@#hiø`2®]@îôsUóÚ?Ò!ûšä‡N¯¨Ñ™QW!wŠ7¼®mÞ¤ÚÛò¡.œŸ™C#ÞT6üç>ùÛÙBî¡ø/ßþ|Y¯‰¼i ŽÚåyg܉Q!1JV­‹‹Q'Ã]Ã/Cæ¸ÞjoÊ*§^Sÿðf*X..ÊúStü¸WŸÀÿ†ùÊaémó)K6žYÅßM¸ üd÷³¥!#Ùr fGN¡?€F(Ñ–¿Á•Q‡å¿øòž +3‹ÞÞ‰Ø2©hP~áâ.Í–=m­Ù‚LÜö”0› $Y¨/ø@òÄeÅ!;ìà‰Þ_§ ©’! X&#!8ú“ÛU÷ò¾?·špöXxÄò¶7è®ÅìG¤6Ög´Í^¿©•ÏÉS~Û!¸Dþ^ž&©[—°ŽÆªò?,;œ¸ž «½ÑÈÛSó$µXhmωx$Kö3“ߊ“4DÇBÇ¥CËÍ“x”%`Èìªø>6_eLëíÃ=À4kùtß1àV‡}Ÿ`ºÍÿ3&‚™l¡—V¯Wk±uärW|ëmÊšèö‡‘Bæ;™ª‰úIÊïÝiØ•?:PvØZÇ@þ‚Sb¯‰ñ]Î*ž‘<‘·“v[—‡:²ý¯M~«wÔE™¨©™ckÛwíx‘ö›y+ÓÔJÆ…|K2ŠU,‚Ó­ ÆÎïóÎ=ÃÆŸìØ(RzÕˆ5ê€È?Ñ/@°nÜÛ öþV;‹èU83D¯mœ`Läø²iæÒ… ºØ s2³ùà?I÷hbçRù$}(õˆ;Ry_¨ŽÆZÉ54kÜŒ2;ׯ”,*ÀfŠy¥ÅÁåHë-U,í¨„*±C–¦c#“3L—ˆg{ö§ ã#ƒ^ÈjÍø¦ñö­9ï’SÿCŽ#¼2ÆßÀ¤–àSà¨wöØì¦1êé¼MYtª +›€¢žŒË$·‘Ç%Æ·g”-xóŠ»1þxÚ56¡{)wP3G[;`²…ƒl!)žÏ¨(ç®–ãÊNvuy”&7‰^ÍÓŸ¤ë2ä¾›®MƒèF•ýD[ÅïHQÀ€K)ÂJ¬'‚ö¢¤¡z¿í“Ù"´æ>Gïèšá’ù©ùYïß1ÆÅ2{ÿ±Jâêk‚>Äþ²Ï)ºeÉ.‚%S¾È¸G²‡·óT¿Tº@ãAFz`ŽéŠ} ë_Œ°7H&X@rv–t×aàóªìMôþWû?*5ÄŒ²†Òz˜•ãƒÙw'$x&üŠ!œæ¤=\<ÌwТÔwP&Uu]ŠÎE‹2e¤Vžc‘²¯99êbà½øõòKÌ%¹Œ +Oè Üš®aà;à@DÎï”ßgܸ373kíly®ÉÉl#‡K0x¿.{n¤Ã~ÄdJ»{²È ­JnÑ•å:ϼmŽ—tŒOŽèòúN¼µ±‰mrÏgS÷Ñ @Òw¬ÎÓ ú ¬Ÿ ß¡¼öáV4*IVõ䕃”'%ÞáJã`rW81IM9Š0ISS{ôظ ¡æ*pìÔÔzS ¹ÕkÍËFô ßÖµœ ¬Z¬bœ´ªŽñ¬Åtþ ˜!(¼­“ÀTþ–0RL°&ñ„˜ Љѓ)÷ÿµ<µ5q€Ž l)¶müçqµŸÑb z,ÜØ^ý‚”íÀÇ EOÄOaaO3€œ_Û#®'Æo ÄØt%4«ãÍjÄ…ñuN[üºÈ.šË„¬œ·±3-£ûÏ•WœÒ[`>Ù:#2 ¯’@â]L1ÌÌ-¯0ú×…,›oš{æóïbˆ÷ïL,ó„F·ýßIRZU¸µ ÀBU|% +çÍ~¶rnH圳ù:‹œž@*j—RpZÈÈ6k÷Â&_w(úðÔNI@û2»;s.ëU¦ƒ*ÎÉòÀ?§÷òÿ&ëÆB (¨+ÎÄ͈á>ytÜO¶’Ó +d— Ð^óð5ìo–…‹XM‰ À¨%¯ëw†M :’Áj_‘öÆnÍNºw<2)*æ¥3Þ=/~iÚHè‹P¢§<Âp—ŸúŒSaGd7ÉZ^?rdv®þ?ƒæô½ÂªGô-¡/S(š;Gî ~|ÏßT±õÅzþj‹oDc±4Q<}ÕŽÆjÇXÍß dYåI_ê ±ço vFEø`ÿ0‚VFûÒ£¶á—¸X™ÆÁ”ÃöÚLèQ,Ëvâ Êbõg¼ÁÄnåp„Và0°&RÚ˜L{AÔó(ÿp7XÙ ÒRBät‡ È5qÒé¸Ô ª­aÌ8ÅQë¦%Å8Xç²ÏD›)oqNÞ™y ?8«nD¦Ëm–8þ›æ’Ãu1ʈ5ˆwd⎠.¢%D$í¥¼ˆ¥B=‘¤bD Ù ) +Cwíg§9’eèSšÈä”~TCˆ„ïd´Ž Jkhäº1Á´#(Ó¸ð-D~ç?…¯Ê@^ 2ü"M'×èX —e4mæeUå=¥ÎÅ`ʸµ¯ Ðœz4’CÞèžò}L2¾Ïsk¾è0`âÛúú±Q>8¬y²Ie!ß\ „¹rò4ÂNÍ×b«:¨3TOe* §Î¦ËÝûÉY:÷ðQÿŸ„‰Hùb®E,^¼º²¶úSÀ e¸¨—2â}Õõ©K¤Åª'öêi¯\¤Xè Çܬ’È8þy¾ëµy|ì£BPæ/@v¨šE Ð?Ïÿý\ .榊Ý8LfÜS: €Î³²ÍÊCc~VWHd%«§¼%s>hìÏÝ×™<`Íp‚€åƒjÓ*¯\K~|j1òáQ•¨]e!É)f:-ܳc+}x„ÄÈ´³¦TtíOñLYÏN¹Kσï`¹«*=ÞfTŽòï"D_l2Ëk !Jà_-S Í€g‰‰µIÚGÓ“l†|‡.ð͹¨b)PHT¼Ê|ž}OºÈy ŸÓSN¦VÏ~¾_«¾¨LÞ(»ÕEÍá%ÚÐጠÁàéÎ2YÁãæa º¡³BS¸¼ÈÅ5jý£õöÚÜ©ŠjÄi†]óGvo‚ç]ç½ùÕ“UÞ]%K.3 FÐY‚¸ª½Ò®U°gl'ÓeœasAZ§÷,þê|ìæpìà峢ةË‹¬ xÉDÛ‡‡ª85î{³æ z¸ª4}€—ûRÛj„Ωi—~'ÇÛŽA6WSÁ/½¿í³&Ì¢f 0gè‰?è²wšCþØ$4¼7Ùpͪó3Qzÿ#(Î8oZ~Š!-tÓÅx>¹ÌB‘hòfÐFq2ÆÜŸ‘@dO|Û{’žÌÿ–WÈIÑ_9ëäx4kÙ0mÔG²½…ì"4 +†7¢X"®Ážt û”àFËÞ·.º!B°IBMsýî$ý¬ õz)pALPeG4‰Iáä@¡} +d¤ò§Ù¸\’Eï ÷h×9[æ“ý)“è Zíu+¬,Bið2±èQA¤~×3á K#ûŽóu+¸_I5:¢+N)¯Êk,¡›vÃ…J@DèÉþqŸ»¾tê‰Êr?ñoíJäD”çTiV_óÚÑõîJ$^‘«ñÎÍ•K¬ÊgcG_ˆŒÃ^îiSÅ3u:ºÞ9˜&`X‡ozã@u µ³ëXj©Fâ®Éf(ɧ_rf‚1Q*]×)UáêB+бpçÞ²¦ÅÎm08¿2š’…þòy0“çQ!sêyQÈ-ÁD“–¯Èî3n·Èš>Žp¤ -·õvRfãå.;Êq¹$Yœ.•ÒðI'Ì}}‰»ö\–nN'­–øZÅëÛg°ô{²ESu5J–ÅA…Ô³ÒAZBóCiýâª;KÑ}<‚ó¢mÍíîšAVdšì©U^tð}|t¥Pˆ»ò*è£mE£ »˜‚ å?wQeöx-à€½H%¨ e¤Õ#aYl>‰6/ +endstream endobj 265 0 obj<> endobj 266 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 267 0 obj<>stream +Þaü_!{Ð~dc¬j’p¶å)Ûþ&¹ìô§Á \ls7¦¼ü˜u×*q%òWÀÀÛ+87÷ÖîªRšz­úµ++;ÆðÉ15Ù™|½×'²€™½–¡ì–…½—\ôDgèhìÀªåžú#+’Ï)ÿMí5§6jC< ö‘ÃøsìƉƒà„Xø›ù垊Wõç £™áøÁ!¾ÿ?Eér¥vfº°Fr*}F(ˆþ îuü³¥C/¥BM' +oÍHñ,דb½ÉFÝ+ÅÊò†lKB‰ßÀÖé ;³9bå¹’×`P3TÚpÀ¤úÌÖ\bÄÞ-Â&¨UZ03Æzðb,æLi›ë2ÄoËϱ玺Ÿÿ&‚¤ŽZ®3Ã[ +%þ´à>–÷Å‹dÜNàM‚~âCyÆ«ót±â¤zñÐ×cè&„ +ãÇ,È™§™ ƒšo ë«ki[çõ²‚¨¡t—Ø5 ˜-g[Ç(×óÃ{q(}ä®0+ÊW¶Ù„šnåùkI2¼ŽMF Bb[ªÕ~ÄÝ{YÖço[“‰Tw…æ¡ó%M#œÀKí'€×·¿[ –Ê/úÉMÈÑk¾DìQàŒtñCÖÖÿŽY»,™Ë åæ­ˆ¨i1yvN×¥3ðO÷}ê—Õ…ª>â·ÅC¢}&M„‰Eá.ËfZ#4|Ùkü”ãÌìdÞñvd3ÀÃÎ…é¤ ?4-sÍîqËPkínA(@0Á +0øZN{¸P¦»@§\\QÂ+ÂW¿²°×ÿ3Ÿã"À_Ï”ºrzF!¹ÝHû\£À­ÔïEµè1JVhˆ»±A%&‘AÍŸ%ªE âˉÿ×ûÕK0É`Þáÿý›ly=16cÚuWëÃà:Pr,bAs†MøÀ)rêsóöó¸ÊøÀÿ+Àðò·B"2úpzXßOFÜ…ìpñGðT©]¨#€¤€Ãð@Ke) üàF«]MŒEq¤èíE.ÔpÝPNv’d J¿&°×„šÕd½aÏÎßüÙgÜöAlùÓX®ºLú§ÿC›«I³üÀJŠ¼BýA-€¥,! žãiX‚Qù§,,/¶D_ã£ä:tá¥FÙüu8dß©½W6A°çaÞMù+£ÞËÏI¡m à+H,Ñl.Þ½kÆ"ÁŠl­e ›˜¦ÃC‚ZµG™ ?h}[t‰ï¶·ÄpÛ:‰¦=Èø?…Õ¹0ƒÈ!¸¯9ë{òd\,.ïÀ5Z +®øá”óïå9K +t5f`xíþ‰:6c©ÇQ‰øW$sG{8Ä#|¸Tˆå÷uÔæôvÚä3¾Ë ÿxÊç1¤!¨ªÒF¿…1ÛM/±éÓ<Ÿ9亞ÏZK/–Š©–œ¤AzÏfc±…ÿ¿¬Þ×Ê·à‚\ÁÎ.}\tIõ¨õµR:.Ä0ªóÝ8Ž´wr=ÿ“¯!4´ˆí gjeª)v)Ç·>ÎqÄ42¤¥TƸy6†½ÁRt×I©ÊmåTyGN€FîŠå:þy‡±öm.±ìC¢#)úß黊pQ°½èq´«G¡àG——)Ùþ±ðµ¬+¹)ñä.”Ö±IÅÅ>“4É4tpî§Ä®Cÿw]÷ùƒñ •'ê–‘¿ V¬eÏÅ‚/57ŃpM°~ªõîD<5• ­Ž>k¥÷@Â,@’E\f…0s3ãR¦ÊÚÀÌæH¯Iº'ãàÌ؃*òy̲» V¾•§¢€i?½^'œœ°ZÞ쟆mX¼«¿ê9Âjsç­ÜÈÈ <'€È?î"Éœ1æ+ãs)½³²šawÕä!ÅÒîö10•Hâ¤z{Ù'BÉù݈ôᨫ·ÓÖÚcäeÓ~áâ6Nv÷c{©œ½="ç©Jë@ÿþåùÇÔDfÛ þ†Z‰«°ÕEè*À”ð” ¢ÒS/\;òÆl¦Ž½ÃmÞA‚ë±¢ìÁo FŒL~“W­‚Ä´qæør9úì²Nþ÷§ó%Ãlž¼ßßÆþ8®\$X7Û4t7zwÿ2[ùc¢ÙíLý¡Sã¢@Yááï^iîË•U|â I |b¡ +r˜¤¯1T53¾¼‡­ÏA[¼ÜXÄÕ‘ãâÈhääK¸ç—~*íuÖáô¥ ®brÆéP ø ‡“H¼^†€—¨NZ.¡3V´Ê°þts–É[IzB(@³"€mõ“Gj=Ï]‚½éUðôi×£‘ö÷éÅ°r£O1’ùåÓd˜îÖ¦E'«ùª¶TèÈÓk˜¹Á\oàýª1klx™¥Xâo•©¶ KÙËb¼%ù[‚£fÙ»î"ÑÑkq,2ì}ˆÃñF8lb¡±Ò…KË»˜ˆ^aÿüÒo¨¥tîá‰xÇ…Ìv¤KY¯¡Q5‡{Y=¼¹-À‚¿ªDÞÊ"*l·‡Zù~º¤ “ÀLG7ºÞÀ&Òád>(+¡´y&²x¡õq90ᮾ²ªÑ˜‹]À¡C„[Þa+¦Ôý1Ž×Ú0ÅGÏ~»_e/Ȉ‹[ßÕªÿ—¡–ûq³×¬))3iK5Í>ËK#t ¶lÚ÷Ò×ÁÀÝ@ IéŸp$wAD~«Odï‚ýÿŽ2¡Ô¸…Î7j“i÷|ب‰eÚßëtÇ-¢-ä€ôl‚ Ï´Ò=Uòaâǯ´!1mñÅ)ý½®0Þ:ÿ«žôPzä‡áZ!§ A°}”˜¸ÀúŠLá1l%„α$I§ˆaq0I´ô·¤zÎso„ÚYhæÈ„XssƒÔÛ#•ƒ“8÷T°§²«Ùw¡ °;>G‘¤àÈjÜûžžýuy·ÿf0]ÆÙ/º03ðSè."VÕm´ÕGx)表6Ò·Ú5š¯åQí1Ësss 5áKò}èi•Hß8J¡GPáÓdÿ»íØ"óÇk00ÀjíÁ -ìoà©rYàCV¢»ŽÖQšv5Iéw‡¿Gx×-ù^@Òt>ëº?í”ÔB¹Óiÿ«BQw6 ¨ˆqJx/~¦²zwÿ#Ãp¸a&E@³¿;–ˆPùE•ÚïM!]Õ@Z¨#¨Sg¼•Ó«Dèš`äEDbæ%KZëðTéŠíú–( )¡f)¢4Ží_w8 ½ÅJÁãñŽúLzqc8±¤#Zµæ +UHp‘:h·màcªp®ÈNk¨ç²µ·à๹Z¶.,…¢x‹RÄ‚þHÙ¶GRÐù:ýkb*µÇYä_6€®Eš%Ç!?Ö°•3ÈhJ{ÇWH( ”ÑØYVjØå^Y›^jžëƼœÅ{«HgÉ'‹ Éô ï1¯õºÅ!w +”쥙R7?C0¤_ö”–s²_ßl_L¢ÛSˆöUÖþúN¶™–¤žïÃÁ`7¸ÖF؉â‹JuXVQá®ðÌk\yvÓL¢K<™¡fÈßý, NÞIxûâ·¨á3êbLW›ßøN¥7 fЦ+<Ÿî%«·-¿X«+Â,@—­Y‡5³Sü¼¦çG×·‡]Û¾Y×Ïäài_W<¬+ŒÍ ˜Î ‘„ºõ&s^i@¦•Ì] çÀ²'„È +¹Døœ‰׳×|ŒžHçHHæ°1tŽ—ór !àÔY=ØmIâ„wŒs¬ö5û›Tç6Bg³3÷1zd¤BªT†"À=úÄ £T‘–›+@®ôÖ²¿ÅY3hÚóÝŒRÇ1$|Žå‹; "½·—f©í¾Ú€¡®8ÈPs¸çoéœHu´4ÛËn©]KòQ¼·Vó§±<šË8T7³@ýò5͸O0ɧ'TGì‚홑@o¹¯-#ñJæw%_m… ‚ÿ¨EÑkÀ „’Àì"sRØÏbAî´$r½æ¶˜·cP4«/¶vÍðEÐÃ0ëÏŠ» 5Jô1†B¹_q d ê+„L‚a¾ar”¡—Eá`$몽Í|ÛJj¾m!§¤‚ÔDµ“%¾€Œdý¿MGdž‹ t¸¾LkÖ—˜ßÔÓ‡²Q çåPŠô…ɳîÆ-’µ©"~{¶IÓâ8ù§neñ×]ͱHê%é—˜›öô“óˆš?ÎôºF4’Í•‚؇u(òOŒðî]‚WuD1Dâ?¬Ó’ÝE½-̳͂ 79ÝT=tã½ÌÒ\îQw’€é¶0A[Êõ*Dúñyó¶ªÝ\šFµ¯Óâ3–y¯Ô+è¬ûÛ÷Ý™²r +£žÔÉ^}žGN¿é$-/ +endstream endobj 268 0 obj<> endobj 269 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 270 0 obj<>stream +ž´ÚÃÐ.*B4±ßÕWzÆEæÊIZf‡ +ÎüœR;#{ö`P«yâ»6vëT¤t× <‹ñ@qæàÙë0Ñé(¥ºç§ÍlTõð×ݺ]{WVšæWEDºÉ¼l:áÀ¸¢‘V3ß&²FI°Ì›ö3ƒ»s¬¢Ü½–™`ê"Í©Ky˵Ž“ÔœâŽw¢ CÕq\O \uÜ–F붷”¬%;øÔþÞ“´% ò3Dm9嬅Åæ+M˜ÞùË$vßÄfà`¹juÄHªv¡ÁbEwY>/×xËà Øè—ù¿yÐlM£‰ !õÌøßíœñ“*Ø >؇]_ÝØ<¬xhhR½…y2éÑ +œ^Ó”˜¿\Ö«»ÞägW™›poÌJðŠ¯æ “Ú«ªµNÏ߀ Ð,Ó EÞIÛG´[„e?5A zXìílm>¶?‰‰ð‡–|ÅèÅ1ciµ÷»…ŽA®ûx}Ž°6gÓYÀTÝ›ŒvÔ?ò–’Ã-YþV†™QpÓ( `4輯á倂°´leˆU•X#l—þ©Í=TQ5ÉÄ ¼¿¤¦5ˆ´¸!p=Î0ÈJ7"N‘Í3_š_ öMÛ¸K£‚°ü1×ÇúDæä7ìçà‚v,‹Å ŸFŒ¡æàC‡càªNÞyî’ï”+ðÁŸ–ÉDʦÅŽü€ÐÔù¶p¾fq•Ë¥ìõd¾jÖo£Ýg~踚mÊÿIÇÚç#˜Í¨ŽY1@&Þ±#‹¸6þí L08·Pß? Žgà})'«EÕôýˆÕFz+fÏ Ï9Î~Ç[eHŸt£ |ç˵$Û®Ô“kþôºx[¨ÈúfN¼°9«ÎeªwfÓÈéÖæúd¥Ô ;Eü‰qÈNéiqèEn /QzÚÛnè?—ú/ “&Ö™2ý®ïÿ@#Kùwâ, +Š64xA :+µŒ~ÂmõPη㤸 \?i7‹†¸f&]Òl^¦‡ôõ1ˬUœú(“8Ûh¹ó|^-æþìXõ­"l¨°õWÓö÷´Åc =R\&iC1tÕThíït¢´E¸Áv‹:èÜVÕá½v› <îzYp±—ºjÆdý?'°ãCvç dçÞµqÜ sž ¾'Mk%x†JdªZ›UWÓfŽ¶åL'IßVsÑkßìIVYÛÖ¹§FÊœ¸ ÉòêCt¥b茶ìM‚ù¡}ËvØTú!ì`~1µ1^fߧn„s'ŒÓËÀyGÄ F¤` /¿#¢f~¾#âÐÜ.î8¼6ïZâ³F§§0¶U· Î:ûr—cE‚r³r¦Öº.§ÿAUii§¹_{0M¶ÇE} nûŽ«¼#ÞQ.ô ¬êæK¥”¡­ƒÎ„W²‰ƒýöåì®ó¤pN½J%n¸Î˜Å¦•ñUÝ8loå ’l/ü†–"K;U)ŠoG[¨&o›çN†»ð#ô^@rr£}x”xoÖ½[®Uk§7ðXÌÝLᦜ5óÝã[ÒRìyª»ä,5Â#Èå¶Dccå9´¶y¬Ãë&YI¸õ€wºX ÃÞu¹ ·¸Ý™—¢!N+êLP•,¯æ´Ì)W +Ó] JꌰEÛƒx‚ó*ívD‹0%X㋾’Q bH¾˜?ùö•?Y}Ö„6 ÕaŠŸJÓh¿«h¾ÕÍÄñþk ¦Mé4i$%:×Maý›ÎÐôo®,“Œ¡ŽO‹Dâ7Í^Ž8ùnKàÙ$ʶfä×YUoG ±jp.Ý£¤l¿üüÃ`ºÝ&M¦3fòê +!ÔÇ%϶|w®z÷|z9{Yò…§> +XHÆà(¡ –6§Ç¢0ó?†œæUõ­žŽ.>£yu…d9¾|ŒÁ`Fj³T ³£L@n8@½êñª‚QÀ&ûNÆøôÛ­¢gÙê/ªn¡»TU¸4(-W‡Jž_Aò†IäŒO3’aŠÿÄ°a&å·[îý>’#®ÞPO‹C ä\uêüü )fÁÇèÉ$íFs‡—Oæû彩¾ÀÔÐœããÆ×™L€¨š)ƒд;™Ìö@Ù™–’r“‹83“4õv ýÜ4Ý-u´U0¦ {Rc¢¥ù@çÀ [¿,RPäú]¤"F7o¨ïÞöc)ÿVÁ´¾'ÿmnñ¹%z%ø>„­Ö6¸O鎽Œ…û¦Çäßt®É#›z§Ml±I ƒó¿{œ ¡,‰D'#ô+4N8ÿ1õ®EQ˜§åvªEM*×N-7tȪ|Îå):ˆwâßtWy8’s>ØŽÛÛò}¼ÊzÛöN^§PmÀl{Ð*Èí]9ßO-¼¤Ú14ãÍúàôä ^xh(ö)Ö`®ÿñzeoúfó]ÉEí‚õýÞ¿êé§l؇D{t±rÄ"%Ó”<˜FÓðaû|˾eb†m½æ©™#}iƒüøÛ‡ÐÈ#IÇaÉ»ó ÂìDHó +} Y6vBUŸŸ®ØSÇ<µ!‰  4š½¨#<Òƒ=Ø3%ì­´Y؉¯R ”4Q /×±¹Å41<òU¿ü/ÑõT/Ťǩˆ_ñ :¼å=¨ŠH=)¸˜èƒIñ’ƒþc'º‡íÒǾÅ:;n¦yð¬Áq(ܽÀBj(q¥Õí5lÈ$©»µKXÓ¸…èE-œƒÈø$í¿LƱª>«˜“è;\æ–£¯/¼ƒÐÞ½‡Ö·ñøMÃo¥2kVŒv¡O«ïÊË50‹8§‹Ò œ19mT7¨)/“K7ÕPWÉñ+ Z×ý¦GÅ7³˜Ò«tyÄà“R¸·%q3Uv™uÓ€¾ÛªËí§FœÅÔ¦ÃÌÓ{ ZU‚H^¤iu—Œ‹lò.ú(ç@‰X,Wä¹I€ÙfÙ˜‡ØбêüÅ ?Šéò³õQùm3NÕ!®ú¦ƒè6; ûé­jêe ´Re~°*?§OñULuúßNð׎¹`GÊE‹œžåmÜbs¥WÜWD‚G–å GÒQ…e`Qê²=Ð7 +ˆƒLBÕ`vëä£rÐÚAˆÖ˜ÅP Év <–«^Õãeu²³”B¹>ϤÍP$…%ú*9iMQœ â:ØÊ°Ú-ù½bûÏ»ÓoTb¯¡›5Ëx ð¾(D'Ž=±é;íÒó ð îÀW³«b2í߯CTÀAäò;Éè¡´ÊI¬vTôâc£FY¶gP³«¿V±†3§ȣ˚«=pp¬N¹˜å›üì¹ïÅŠ¿t®U9^¬R* ì¬}RÍ~nƒò:»yÛldýÛ+øÖÁ<àþJöm£D b PQ‘`ø}8µq)m±ÿá±Q•L˱ÜVyNc§k„Ô@¢Cõ†-H”Fd¸65å_ÎÌ à™ÏÒÀÔ4\k ˆ›áÆ1dËß®§„¥ô*·ü| ¢÷ˆ½iq¥õæô“„m¾,ì†çîÌé]µ´Q2#oÇ•G—ôc‡÷e‘«ÔþO‹!=Л_cXÐ^Ö„8‘KŒ7£#7 ]ƒnÝ{oû´µA-XÜ3y¾¢XhÑúc¹äPn”ržç†š¿†‰Ã²*ŨªräûGí½—3’\^nÕ±s†û+7&±úÜ°CãŽñ‰KBÑÊâ¦Þ°qÛKÀ8ê£J?ÑF&aá +\hIɃ}ñ#D =´ /¶íCªÎè9GÂJêÈ%ÉAšÒý8ÛÖüaE~6':ϼ$‰w·à4È,ëH¼Ñ¼>àB±É«)Å_r +²Å ­&¥à1Õ»ÜRuËT´ GvõС±Â¤¤›kôsîJaÕÖI=W7*p|ó¿MbS[¾EÙl“0ÜyÈõ¾#®qMÏéešIµŒQrgoUm‚ªÉ3%%²ýÓÅÖd….!Ð|:èWt@8<Ç·b:‰V•JrnbšHo¸_éŽoº®È.ûkºï?±Ù4JNÔªóÜ´Ùïc3‡‹1¦¼˜ïªPÄ Š$®«,$Ù¹-ªìƒå$}×Ç_A¤q:¡{.7pB«ÇÇÄË )ÚàP 1ãb>Wc—5íqÔP˜Δ‰’ürI@œ„s/J¼|›T'ié³[„)¨7(¾e—PÑ~°P-JÝw»ì_”Q/÷4¨Þdî•ë84+¦÷[´Kõ†Úï¦L<渂E¼Øð•îÆ +Ç+t@ÝŽÇÇÒÀSœfÕ5¼0ZJ`§!j…`2ï"ËÊ™»Ä?°ó´«”Â[»¯V¾%y€kî ç1Í Cˆ”òbµµ­ºu»8ä²y¾i±pxYû±Ž]»¿ª›¢jx½Ñf†…’çTHÌÙ w<Õ“[Æ»Š@Š×Ã+Ê·ô÷®Söe.‹æN3P?ä•Ý‹à[OÊ“îŸ ú—£Øb€»ŸZCcÎÜÀð-XÀQc×᜻Ӌj~ª< ¿‚kj†Ž!‘Å‚cihÁÕ¨j&Ñ@Ú Ýq1Ì×›8# +®½!†ž¤)—$UÿÊ* 8_Pýíë…0»¼äû8…‰·@Ä%ÄFÂ90jSÇë¶ãSKàÛF1Ùl'ãÍhùÚý24\">Ô×[„¹®¹¹æ‰Y¦u´Ù‚å.`¹LbÁ艿äßä¬vÌnà’Þ¶æêCŒY@С‰É)jèÁn¡×{¥Ö¶ ÍD¤Ëùgq”Þ\ئ¢ªÖR›³ e ÕºðC·a$HC‹Œ1ÑÝEX‡KʼnoJ+w‰ä +Þœ YÊÑÆQ¨­ÆÞdîH…öýÉœ~Wß ù†jmÏ—RÐMR–rûhÙƒ’Zඖ|"6™/È +UÏ.µŸ‚ÏËdßaÎ<Œ³u3‹H¢5G¤W·ÆI}Q+‚Ÿðß´=Šïð¿ïg§ò,z™«váÿÖ{:îTÀʦ±Ì©°\À¾£ Ï.^"‰• +endstream endobj 271 0 obj<> endobj 272 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 273 0 obj<>stream +UåL”‘Ê_|Ëû\ÛöÐ v,ÍHk`~)˜ƒ_áe‚£ôPˆ€U*¨ÿbͼàvõŠiÑÜ|WfÄšS¢ßŠ¾ýè¤ÙîçŒpœJ ža6 )c«R8žsÂCK¡µ6*p€Y=CÊãßùµ‰Qú•¤,ßí7¢P©"2û^ÿ³‘õ¶¯cáÚ´ˆ¬#ÐnŸU€‚–š“š_’W—•öü #Ü‚ZÏd#Ðé…‡ƒº™±#h,î”bø»kiªQC=³Ô)Æ}òk•¦Þ\yßfêÒÎ… þ¶à7Æ—98›ÏÀÛ¾WŽ^'"_7×­|²¾bAì°'2¨ƒTàDXrµãgâ¹ÀÁ”UCƒ×BZ +o^(&ÿökì3Û&ô€WA´0¿ÇÑ•:"Ëî}" +G,Ô9OÈy²`”·3Z—ÆÄßu…ùÄRÓÑmÀD6ö¶o9g!à.1)±G2ÒA’=ÓòÝ Â6Fä•Œÿw¡¦âR§ôº@Ùr¢#£ub¡û(®_KºóÖ¶Æj)ó•û.Gi—㹸soPÝâ0¬CVqæB¼A¡&äfuO(¹t&tûÛ‹CÃ; Xżº–ºdeb‚JÈ~ñTz ü”„…îAΈjº0+J4Ú¥ƒ¨ÜÔ§ô_vü‡0´Aé¡,èpûHÿ”gO]ž°ñPà +ìzÞj%»Ÿ¢ú«VÅcÑ틽CSUÐyCôúãAbÝÆ£YçIn×)çѽgþë&‰ÍU>yØõèL¯Å“’­Ç)RÆ>ý²ìâKŸ½âŸ‰ÞfÆ‘7°u²ëë+9Ÿ4‡Nf­°údÃ(Ap߸Ah©df§Ápœ_ìrH>S!½?¡ÆȆ4þÔïk‹éÍ$j7Þz‰ºÞãfc +~òï`'Õ?Ã6v³Y”9 ó`ûýr• þcsøGsXƒõcS+lOÊûã2 +)„,I…•%9´Ì¡=ðI’^ë"ëYÈ x#öNqç¿ É-™" +"$“•’ÿ;âh¼Œ¿0ÌàÇ)€ÈÓt¨¯uõ°8ã,œi¿UÝ-AºM!tQ8ë5¶?kÝ•¼AQ(`pLáA‚Óa«²íO‚<„ˆéPŸ©™|uo¬sK§¨<>„@Œr¯‰9HÂ&«d« "12ª±lvS=q; ª¾!Ÿÿűû´›uŽÉÐÈ#…¢ù@T±è±…ÐAqðI[±>Öäâà¨â<Æ|¹bi¬'Ì.¾îjz/´8¥Bº?®‘ë&² ×áYm(¤_lOí0ÆHÔáRËœ!QÅ(‚Ö<$@øŸ^Y ÜkëPº_ýˆµ¡#SŸ‘$IÔì d|`ÉßT$Ê#I4øî/¤,Hóš¾íL×^1˜ìÅ¡Bî´ïêðöï€N-T_Å ¿(ñ…òÍÁ#¥Û=õZ¥–o/÷Œgr€×}ª‡4²vö`—Ðïµ´  Pܹ`GwðYsñ–¤¿!ÏZûŠ +´»¼8z“>—KsŠÚJàÿÜ€“®êʪïÍÁ¼x–ã›-™á‹gÚŒóOŸ‡"‚±¬Ó :åºØèadBË›Ô%½M¦ÿª#Ÿ‹f‡+ÚX‘g¾Ô”ãT@b;e¤ Ä7¼LÌÓ?#œBBÚÒKM²ÁA›üƒqˆŠ'2³+-°àöVôE/»¬â•kœ;çÒu¾[1»O:ˆZåǹ›­)ÈÒfëE†˜ä ˆ­wgÿQò3^‹œåiþ½6';4W·¿«Åh¼R# ò“°J@ýzó²Ýe ]íD ?Ų—,Ê”±)»KIyåRŽ X +ã(1Ã1Yl?Œ°&PSدr47“scMwô¢Ò8îR­S­¡?®½ØC:ÿÏ‚FÁ X¹Ø µÑîÁà_¯ö¬G”mé%Nò‰=  JEšæ<¹FšN[ÃÆ‘ ½Œ:jÿ_ªµEMO¬M6Ö è¹¢½öWCKR‰&Ë×cѬW"ŽÔnÜI± {èxù¦G• Àó™>”a#a¸@Ø sYWÕ0Ò–û5Ž¦ˆçšÂÿd—÷–ÐŽûñÂc“þz½ýï/ÖÌÄ_ç>Ò [þÃVÐRDç”R¸k—®ob²Ïü2¡ªCÒ,÷IË|þF­Zâ4¼ô[£?¿=õïv ©ÎSs8~Iã+EU´óp‚_zÓ_†zgŽes_Õ›£ó•Äì‡Qˆ7ÝÊæ¿b€iÜÅå{ӣĂ!ŽWÈHÿúítØö­ûèª k93Üzußâ%E5ºh, †;μ/^ßn¨p± ¼U{Æp®µöÙÑëñÿlãGžX*æ$o:†èÓ2òò4f ÍÑtaxBÌ¿e7‡âÁEu® +Àq² »í±h÷Ç_^Ðeâ^I6|­²!B,m„0å\¸Ä”¹¥Î+™Ðè¿`—'«9ê¿ð”LÓÉfʉJí&å ¿ª °Ø@âWÈ¥­iz†eì*•·—Û-¶Æ¹‰äˆÄ”ÒÐ>÷ÝWöN~2%b¬uñŽåC7Íc2v‡žnö°ë§­Öt&ú9XöùS„û|ÊŒ§(_Rp¯]Xåáó´Lˆ»nQ/ï©‹K:–•ðî{ rà8ÏU +"\p¼®ù¼i‚}~½“ª™y^ÄØ™kêÏY¥^´%â;úÑêù8]2‹fGÞßç¹M¦ÃCî„h <)Me¢å¼»9ùÙy®F¸O›LÉšdH/HÂîç†Hí;æC–~[’+ _zª©ŽT§T[+î™ûÏb.sACŠÓ_K0¶ùgçøó‚=óz"ô11A–F· þS^ÔÏ6µ/ÄöºÏjX°Ëæš~ÒéûöÓŠ,T½ˆX§"¿IE]RŽY¤þ+Òe*¢ ,X0o‹¸1íÝC³n:³J….Vsjž´Ã¿IT½/DW¶}O”°W£[ä _¬Aüµ(ÕË*¸níy‡ +×¾­èÒ5KO°"7¯Ñî‡Å×¹íê³aª•‰ +¦‹WéÒDqè÷ižÓíîGNkê\¦>›ù›]pH½<Ò6_7rZµ.õ¢I:mZ4÷ùOÿSc'/€ÞõG?qÚP‹ÀjV©DP¬œõtËBj~Ñ2K«oø3fÓ׆¬ÙDƪ‡ùsªÍÑĵ;Ií§bM*¸ÝZ0KÞùø°:/F˜„Pgò¿*KÖˆ:yõýSø"=~qžªÅ°_` °vº,“au91æ-ZGq¾ÓEœ¬¾Ð³¿A£&$£è_»,öB³6åb8Bͨ5Ò ’ BvùÌ “þHD‹¹—1WÐg«ô£›H¡²(U¥^B—´ªÏ‡•DjÒâSº•D„Ø¿†äÑ ™„6v©”Á±Ñ».Ïö⻴ޕbûC*–ÌÕðC-7±ÿz''îÐ >V-QÆ°¨šŽ—Ïøº5¯Ç_kr¦Ã·³ZäŒÝÙw+ÉwÈ·eï‹yb¢X=§ Ï+Ä_´`1DÅM¦„³<µ¨°,u%a¥8ïEÏYozÄøƒûJîiÏDS ÿ,;"TkžNϼ'¹IÅ}õu +þ2  ,d™6­½Ã±IxSÎÎ^ô üùuPŸàŸmm¯ü5n>ÄÆ׳)Óì6L­§!ŽêœHá+ÏF3)·•eu|Ãׄ:ê,ªK'Є(“pÌrR ð\ŠB”ifÙSÆ\¡Ã ¹:§>A%?ƒ”.wÂÃÉãó¨¿VÞ!Cs¡r3™AõKE@÷&~µl’¥Q^é®Ð2€g Ão§9F¡ªÔþaØ^bà©Ð, œVÌmÌ'd*®ss¹ %sémŽØrÇ`ÑÜGÙÁ ªz%PÙ¥SÛ„éÃÂÜU0{‘½ž*|B+2736:؟რÑŸ×Ê`)!•Qú‚ ¹üªUÁÒ¾sDžÉç**š™‰(cÒvybwìké¥XßÂy?Ä5ˆ•èPÉì…ãÿèzàêq¸£º)Õ+•ÔýÞ³!c2€±â)û»!„cÙç2ã°’_š×É=ÂQí”H]JY©½‚(ò‰Ì_öȶ¬Dæ‰#HÓÜÚ“?ÕZ£ñ•#xr=ùkM©xeñF»ávj„Þ ÑèšvkÎY•w?Ó(^™%Lµ{¾ƒÞT´§±çaX}#—4“ørÆC^Æ9 9Ý…‰ÙWHè‹9Ü +iB»ïØÊÒ=’¾ T§&ÜÆ<4k`ëö×Ç&‚s1Fõöí9ÛüÎMãFòöÌB%)ü&pƒ¿{ëøýhÙž +¼ªš[åLjZ: }´‰ãK³hÉC´Cé_«+÷H3nN:LüÀ¢´ÖC²íò-å1zaü±fŠ¨µdî®Üò Á²JÛ’áü¾6_b5IœWÙÉ<©ËÔwGTô™âî²òiaŠ/[~VÅ%µ$8¦ãÖàŒkiMÿ3×]gîÙz¾çJ ª6'_)D<x¹MÛnÿ͉Ý*§–çÃjÔU(Õc–G<ðè€k2Sw*Õ" ~N]ujXšä ÙôµOÍðÖ÷²Lñ‰·biÔð ®Ì¾Tqgÿ0‚Aá¿é¼Ó¾Ë:*¯Öü.ð÷Ž56> endobj 275 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 276 0 obj<>stream +–A¥Ô¸þĨf_I0G†ôŸ×¤Áù[jºöÞÑnøñoÆ€n>ãŽA9lû„otÊ€,©¸ðyÀŽgŽŒÅ`ëïSÄmå·,܃"Þn$£ÏëBóôQ2Q‹ä¾\˜ Pr=?“2ÉeqÙ¨rÊ[Ñl'ðU@cy¿& ü½‘Lƒ‚M‹àép#š9{§·çœÞ‘¦áÌ›M±ä“Æ?GMæpŽÈÈêJĤ¼ÙÛG=pÒ{=ñXo ›yE¤`Æ“²qêG`¸7?¶*›A¹Ô©Ê÷ã/Ä«‚·%>] Ô„”‚v²YS ¯ÏvjF¡FziôâÊ­"FJJ“w„+7ü±˜ŠUŠ"W›-Áf)ÜÊÆŒ§é\0Íܱjz0‰â6[¹Kì]Ì ûÔD C„W!‡ é$A¬¬Fšö(À/·EÌj‘ü…°G½a(‘‰¼“Ë 0¶/@H8ßäÑŽJÈØìÀÞ1à¥wbÅ„Ç“²º, +?n1å3·âSÞhÓî¤<Ÿ¬U¿³f@á^Ë‘iBJÏŠAbþD’{¯ÄõëÚjã¤úà‘€Ýº6–ÀçËgÓÅ£gì +×{OKÍ £¢åUWè6Ìžb¾ØK ‡¯àôéÐTØÖ}·Öú„ŸÕ“È«rg¡ódl=kׯ4°0«J÷DŸšá‚/>ð=ìG³žSj}Š)?sŘMÒ1Š°Ló°å0ñOn ö:ȶHq½9Þ¤¶åçÊgX™£7Ud§Y°þt!™DgÒ9§1³£út­H€ÿJ]”> CbÕO·?!F 6Y‹;à‚Ós”ÚÐçþ…1A~ëŒ<³s!ÖèóŠ1Ç„\ÍÚŒ-r±ˆký>Dvð=ÔGö®×é¥å2n b ™÷/µÞ*š‡hA0.sE‚³cšx#™½™$†)hÝŠ Hh‡¾L¤›TY®œ½&ßV³ +egúÂîR(ê2¤¼Œ/t®5Rr/HœÀQ&˜+_‘—®zbªzágÝ\Æ)pZmà âD‘˜Sk{ß»LÚ¥åû¾ OsÃ0œªÔ dàÿ1ûkÔÐ3­÷|¸[q‘êø'gû`•áUe[š­gšKÏ£Øiöï³j÷#PëZâ&!±“kjÚÊV“9“ÀÎØáGgÔWº=. /b’¡T™“ÓŒŽ +pÄÛa 1°VÚÉâžÑþn¡3m¶»þw¢”PRèp-WŠBCú7@ƒ÷îEÓ]îGqØ–÷³Y:žW,Ê+¶!¸ZÕ«®ÓG–F ä<ü“Ê ÛÓHzï°CZº; 뉬uÖ?è¿@ÿèùš”lr·-zàÆüJ‚ñÖƒá;ú½D¥t6XRlþì«u%- +_â/å£4:ðž |'bã Œ˜$¼þm¾õ§ÝÔéoÀ%ÿLß +汉Â@'¥ .,¨û+ýªÆ_Q‹¬|Æ•OBÚ&€˜e¤Õý+›÷jVÛÒ׶^~ÙÒÑà!C8œX”`eEI¿‘¢ç<Ä·Ä“”î’~F¡¥kßò4?ã0u^T’ïצ dKv¤Ðäˆgå¿iè7É#‡ ŸâÓÙT@—o7:¾£‘‘Âblªú+@®˜N:ËÁEšÛGcÌ0\+¯àYÄ/MP»äkõ£²†ᚪ7d(GLýn"Î×gTµ›žUŠþuÛT ¼<ª wnS²Y+{„~ê1ó2A*-›¹h´9C—ZªgÀkSºþA~;oÃpÚ TÀ~gAÐ2³±?)<`%U](ŠW'ÝÁ:j€hçg²&\•’sŽßø£´/JänY|½ÊšCì¦Ôª€¤ ¨ãypÕz œv}ßSåð>Êša亹eUý~H9%& +§‰†eåÊh¸¿uò¼Úv{`L˜‹QhñX©™Ì§§AìÒ— ¾8T2*¾ÞôŠÛ|Èk.«mЃpôM´¦/K†ñÜKfØ,qìUo,€¢PZ9êzI!;ö˜.1§½IñiPÕ`4ÀeÄgµ„6²Q@Ø|½<õZ˜<¼3âÊ<8mú°®–+äYÉÚ JHþûœµŠPÝêðy\3*¥À$Þ•èö‹íöo;"jªÌED6‹'´À´HJÛ‡ç¼Ù#.Ìœìí±*yå¾s{þÐ_͉wv³dPÜA¥’àiYÿã,0ÞÖÃ.VRÿó¸ +èÏʹýY¦kÇ<énAªÿòÚÁ‹OLÿSȱ͚é ¼•ù­6Ë5X•¼ ø[nƒµm6t5h#—E\à‚€©ñÌO Ô†ìÉÉZ:JC. Çó¯i÷ÕËÎ+ƪ˜SØÍYËéâìG[.‚13.µ¡ö/þs¯N õ—|ô€zÝó£F3.¿“Ž2u,‡* WúÔ-mÀÜlõÀ:8èìXÆÍŠ/¿ r“ gYŸ•]{ü“«B˜{KÉÏ\u‰=$¼ø¢/|vhå–Nxá´ì—TÞÇŠÖK<'­üR>+>WAýì +a™½³åñk!Z€~U ¤„ÿÿÕÇRàýdÖ+³B?œÁ4¡3#ºÛºÑ Ô(×õ€{™€.ZÄáèa›6þt×øjxÝãh’«ÔÂá®ì; =É|täÂh‡kåû*Y4!ÄâÝ\•t¦SH¾ g;lýÛê…ÿxÓHŒ¿×ŸquhzvIãÀ&þ¤ZIaþÓ_þ«"ß›W43ï·üâÑ”x"Y ³©iò„DË©¸#jùV|¨¹vs‰¤bÑb^L3:X'?ײ(®øÝëÇ (x¶*Åz |øÉ*Ïq„‚,‘˜©¸?…ÿ:€¾pn}ÎæveHß!J:ª ý–¥1khNÀïÐí7ÇqÀ 4î]@<íáו|Â=ÁH‚7P#š¼Î¾eµŸÁUGŽÔþæ#› úÖ'3¡ÜäßFQᛄI½§/p#É ÁZû ÉËä Z¶ZçeЀ®àË~”*ï©e5$©­<(M˧ü €ixÔô”à¨CGHÀnoCÛÓmm[Ø¥åÂÆžŽ2:@—TÏq.Ÿè½|%§™¨‚£– ‡¡e¢¿v›D¥<;æŽðú¬%\}¦;Ëø%KV€wšˆ1¸ß¦ôbõâèr>Ú»¯p>‰\/ §ŽÑLv<(‹w.Ì—qݨõgÊåw Ôç¤6Õ·ëLçxó„îN[÷o0Ï–¶ïñƒD,¬“=pÇhô±jÎEê X·âÌIFM‹”ðOÀ—ƒÇ¶ß¬Õ×®%ác£Ég»Od5Cœ#$<3ûpÞ<™k˜2ú¥ ²¡¹;}!»+¿iãõÉ ZÙ_jICÕú]p­§CÏ°þöÄÑ, +º…TzíûÿÝX +)yÅӅͧU󘇸¼^›x>T‹‡â7Æd˜û½÷©tÞ_‚(VÇñÝZöø?FàQb©¿k(>¡þ!œB×ÿŠOñþÇÜгÐïDçyö×òü.ûÙíµàÖ0*MS4ƒŠ­”ëÞ'œÖŠé†â‡;è>¡"F¸ßê3Q?ýq,ÿÄ(V«/wÆ·Çî±ÚjÃÄ›#°Ú>ê7°×uyúCïß6ÏdA—Çç{óîÉ͇ëƒÜŒg¤•Ð^ +iš ¹Éµ º¿}!lúÍ~Éõ%'¾ +k? +‡Û‘'XÖ73£ÆF¨¤¸É„_à?Í` Š·Ç…Y_I¿3säÚ‰(JòKãk)Ám tº¯¡ú)Û—BZixÄ=ŸwÔ|#V£ñù¸ç¡³\0êooðØ…•Ü¢¸[¢ÃM.@ MXù2G æŽ$K‡ 1¬­=†()žµuÇ¿ÃÞ|ŠXñm¯ÖŠ´R=Oˆ×x²ÈIä¸Ë§zŠœÀë÷@Æ÷¶­ß M©ÓËÙ±â:íróVÁùgóƒ…–°®Yç úŒ9ämŸeÝ/ñóä1ä2 +såæÃÎsšäÜå4ç{L‚wáëf?týPœ­;=­']nÌ<®˜Ÿ3xzôL*IyzkÉIFäuÉaÈ9.Þ™^ŠŠWLAÀ,Ø'Œ+ð9MI· €)­é£ÆnZkóª`LOZ©sƒâ®>>þî“v9¹iˆìÇ:Â]Ãë›&*|¥H¡ùn¸åµ @9äÃéÅu5¼šk錷bÄ·ÊlÑ£ªOžƒG–³GÛNëÞ7Úñé +OæksmÚ%áBí-”ÄæÖH˜Õ¢nkIëïçŸq$íh·É'@wç™. +Ѿ®Ï¼ž€™4·øj%„À´ZÖ:Ìfò{íGGŽPZC„ü³éµÿŒI”.¹ªÍ<Œr–2ì­›€ÄC(¿L÷†Ìy|š¢®O@N¬ÅR^ú7;o46„_s}çÖŒîØˬÃÆÚK0`pî×:§L–‡éLЖ&c^š³T LLø®p[l|•ÞÔýù™©S‚sÂÿª¸í,–!}|w¡L*x–Ë¢ygÚÒ.@½¹þïAºJÞËŸœ +.üåx a‚‚!®e×4e]¾o@’^[¬Rª :øfù§àܸŠÖÙúvŠê,ï–ãA“ªˆ6.³SÚ1çïDd™gÛʧ V±vKp ¾ø9J«@_¸áœ>pÞú’;ÔHsK 1+0á·êÄn*Ê'$'óI¥5(©îŽ)ŸJh0úR½4<€4I!™”FL¾ÍÐ|kÓÍ-p¸Ò”±ÐgY^ô6ÿ \«ñ;Zþ6ÛUr绸‡MŸuË<Ñ&]{ Íž¼x,öÜjõ7ÏÔ}©ôiDp¢t| ÷ˆ%w–ë ½l½1;xˆ6f¦©{Q0¦‘p/`ßpÞß¹éíZÿ£ø þ`‘×¥ê|ÇÂé£u°hTLxñ¯ñ?sÊ7–L4ßÞ„äø8 U§d”¦±±­$Œ¦2=CzqAµ%þ\ј™H-lÛ +¯*&OSkV CÂæP¨ø50*Ú$[ïM½£µgEý*Йl¶ŒÊóeðʃöûO±Jàpé£Ìoÿ<D”,ÉÕ¿cï­ê8>Ý^Úÿ©b—OóY˜ÙìJS ãS¨Î?w¯0ð5˜Û0dŒr`ïÚ™1Ýe¹Ú¨;ïs¢æ~!ÑDïQñ¤ø”pàxvÿ“ƒÔc['¬b‰9­odS8õ©ÇB®P-\¢C–åÕ‹Œ›9ÉB4i ê'ø2-.›=ãuÛgsª‚ÈA‰(Y”°"è[L,c6qJì=/f.^"@ã“ÉßߧJ~¼.FÅ€½²I¢Åƒ7*Âåw) îÄó¹‰]„2þr â÷ÄããÂ'ë|Õ±¾ØÆë¥RÞÏ?k4ˆ³í69~ xYÇtá@)ˆ{knnÔôHýBÙ>/v“CN ¤ì —(ÀB´††åcã¯a渃] +î­h§~äÇY;†RêW&Ä&fšl«½£éеi{h—…Â8©¹ Nw /Éý¸³Ãm¾3,Ì—fĹЅ•-ㄽ_›Á@°tµÊ â‹2-Oà£î˜ýÙÂ4Ý]Z¬ÑÿÞTS/ÇÌ‚YP>ŒúX}®{$³\^œuÈagäµ±Qª»ë6D™ÞøMþ¥ÀÉ“™Ö „rE6­htíÄ `”+‡rVC_Ó×Ô5Y±XQÙ…c­¸Ï@E!Gú²¿2ÖSuE™†_úÆ•qŽužoF{w¼éB9ÍÈ ·f/I§„Ò¤l"Ô嵐µíB²šCJÒ-÷›Ì(åm&j€]‹i­¢Áß^f6+Rìˆiœ8×(àoVÐ9©A¹sa <êøéUóÕ³rd;ýd°6¿ö«„=‚žžvº»IÊÓC`2@'Í6†×'gX™ĤOaëµ +Àl’M ö:»SϘTÐÍvG¼­xSzÔ.{‰ /£ñÏÞ;sðQD\=ÓØVp'Ï7¡ï(½›âÕRvÀ“sèPáÄÆôø&SMÀ_ÈWCÎñ 9|j3Hœ±K§€Ñ8Òã¯-»1Áðë ªr|˜-5#zvΗ›[GÈ×й6e¥.ò’ÍÑ„€ WŠõ˜B%ûŽýëX„ÿ’­½„¿êºù}uÕzŸðÓ-¿+aÃXSvÊêôYbòqL@*/°Rí¤‘1ç‹{¤$)‹Á¯2 ¾]ÿ‚ŸE¡Q×D¨NÝg8L·Ÿdÿ1„φµÌ~ªFz=23׆*u \1 +Ô{px Ÿ£Ÿ-ÈóŸê Ç•àJni5&Ò–"º13«äÎp[ZGè²DÉÃ2hƒQ»ú’ +£[ ®]Ÿì÷{ñ¶«©ø èÂY¨¾qDÓeyAýAJÄBäºð>I©ò¯ÿô´¥o”øFX ¸ÆóM± D½{–ÇÔ ÜÛÉĺ»&VbƒÈj"1}ÅȲŽY™CŸï3ó‡$?´¸(jälOÙ4h€†ùò╤åêïö"xWd‹ˆŒpuŠ”¤ÁÖòñ‘-çÝ_“"GÔbÆ·Á>Ø™ä=t` ý}Œ/Ûy(Ä>H8è7ó¹É½Ù½H•¬Bê‚rÏšo—ál^H¿,ß| J‚ãÑVQ4Á³Šƒ%Tî,öQËŒoT˜Jåb… —Æq@øjG|'º)õ©^Z¡±¿¥ KDKˆ2Ÿû¨Ï¦{?J"ÊÔ$;Fƒ‘™Y;t ™¾àÌðI(u“Kx‹µjuN9ˆ»fPТ»å6ÌžÁHMZ^`Çõ88¬Ü7Å û©îum;-±“=µe”å_ó$îÀ¾N ×’û+†Râd_O:GÓ?Ô/ …hö"ÁW‚ª®ÏD5š?´©o•rájb¸Íî+T¢¸qæ<‘}>RÐû‡Õ5Ž?¹^J†6Sí`Ô…4Öêƒ +endstream endobj 277 0 obj<> endobj 278 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 279 0 obj<>stream +“ë(ª«íîÚï‹bvë~W^ñ¹És`÷öb fz­ä)WƒÉ¡¥ò£•Ò”RœÊ¥a7"¢2ß´ðüKs¸Ù!¶gk³ÿɸ¦ÊnY)ÀP¹ª¢Þ7ü JÃ(è³%^2ߢ=¨©\ äo+°ÅcEŒ{Ñ°Ø’|ð€};,‘º$&BÞC]tš£r•ª©íú¢š`Ä>H^nÛÔfëLýo¥2vÚùP¼­PÊ]V½tœ–÷í³jr×­î +oæB4Ø2$©µ±”þÉŸMJ«Ÿ¯‹ÀщôŘ…ëôIXÕ‡ˆ†º8uFÕýê£Åƒ‘NR‡ õÂÙ¡"ëLø}t‚SàØ"¬šªBr³-ÛÍzLšÜØ(À¬M¸YÂËî×ÞíÑÊÍ4eŽ 5ÇŒ¡Ð.­4íRÙK­tè˜T ä“¢‹t¶_ï$) ´Ç[ö÷#ÇØVÏCeáÐ( ìé¾ÛbM--m˜4C‚ã­˜Üy]MhÐ@\Û´zCž±Qt¨À)~nšŒLÓßÏkó{ÖYÆÂZ=;=A©ÿ‡ºSÙ±Ñ[PrÁÚè þ ?2I«);fƒ‹UTª \c~lõ7UÓ[Cp.H¦ô¤¸fÛZ˜V©ëeZÊ@È8¾dë!o¼-Üœ fä9P/i£9òä3#¹õ}ÈÍÌhÕ—Ž§úö¨fµ[U4 CÀÑ^ؙ̇ƒ¸ã³X½ +F1ÕE=òg÷d +ô¾Â£/¸k•½¯iÂ-Pƒ&·^¾ œø¤ôð¿žJ†Ì—O”û*}šDK:ðl´û®ùTüuGFa)¥wŸ‰¶ÈCk2Ò_“AJ|…hÓ´:ÿJ]ø› žšNPtQõªTH6wÁHÖeFL&Ú7"ïò±H\]2j¬Àõ S Õm`¯-ù©ì2$oPYLv.¶™ÁÞY8‘<"ÅÙH¾S°V^ž_ÇÖ‰ +õ„"·ÿí®Ó¼fÆ’ïs&ó­¿Àdó—bT j¤ƒ„X°'‘ígMª›O9àC†®ý5sÝí8ï¿[™‹L8XOC¾­:°=`…1·²\üaJl ËívûyŸóPÄÒ=½æÍd²Xó +ŒøÖß55ùžg`þ| ò>çË'nÉ—ûº†Rߧ)PÁ–vÅRO€l):—XÁõÌÍ/WðßÐnNJ®Ô`ëÞ©–¦Ü¸ÒƒK9¬Ë…ϳ½"˜ð”ŽÇµª¹Ó‡èÏdôƺoõ`4W·šèNeH]Ã@£ÝËýÅçkìéªv4}#)„æ±åä\*‚ºù ±Õ•~”3Á4‚2Öýû‰¬\ºØöÜÏpad®Qs¹*ðáBFþîùÜÙlÑ:ÿz·牕ÈB»ê§l=©±"rIx®isnæ.ø,UÙ¾P˜ü"DéŸ1bñB8ÿ%ùÛá¶t%9^öÒíC•q+PmÌ F’mñöªm$¿m‹¯kÖ›ý.Û® +âµd¶=Xuv¬|#XTIbK +ÓråD° †ÞO0¸‹à“é|ö0Ö€ûèßÙìeMï7A·'@Û -ë\T¹+:ê³Ïˆå#©.8›OÎ_2‘Q~Å–ÀÁ27‰XH©Ý“ô* •Ëw>h;E¥Ö¯«¾(ûWèS}$"µnøËk»Á‹Ð@êŽHš)½”8ûÒhõ_´¢¡ûj´|ž#PoïÙ#‰€ADÈ&´ñŸØl;!ƒõÛÎ|ûr¸Z€ˆÃ'BªZL*³ïn°£;lÝ•c鄧™ÚZIÅ¥£«±Ø*N×iŸØBØ BQÅâþÒ.™}²s²àIžkt«[ñ*4}}Éü…êv¢¼ö¾\3fy«F¨þþ⊠o™N˹Íì-HÞTc8 +Ìr@>ñ>ã¢/ö(ËP IÖÜùŠ-Ú1ø›\Á¥%Y-·Ç$¿“ЖýIUŸMö]_ˆ‰N玎9=u=yXw"OÁf˜Óºôh€CTjãIå¾.ì-m3u‡r!pCLq³ª(ØÌP¬'ýà Œ¢ýg_•ðøÆKXÀSvÆxX@Yœ«Æ‘XØs²†;G I~è†*c'…¬©ÐP2}|åïtÝϨøÎçÆ… "$$¾¤acÇXÀéäDL“­LÝ.A†ÄI9ü] + +>kƒIú‡l&+Z † 6 +dä)vemOô¹=ŒŠ w†šß˜<Šú{ ~C•.µõª n×Éó\༳Þ7,ÈÛv*ú—h±…Èsñt’ڹΆ}HYå¶aÂaâ~%Ž¬Ö°K´Òi®8­ó)b–;öIY5*ìDIg%§vÏ?Ì ´EGSœË€ŸëϹàp`ÜŠúÄuŸë–@œèfÚÕìåãÏ/M³ú¸ÄºÄm—ƒm â­ÜlVì ”<Ú´–‡)â°økT°" +öúv-v¢ë (i:jj’Q§o¦ 'Œ‚/²pÔÎqýö|]¥áÈÖC†¸ÊV‰[ü³“º¹6·|`C@"›§Çü^+ØñìkåØ¡}üšdÁùüÌ F’ÂÉž¬áäHŒä,¢¥ŒÌdP3þŒÆº—ŠENaPjófˆàÙÿOfÊ8Ú´_€ƒJ ÕÚšaªcžmê{ ð¼qï4…×GµL ֬Й„•]g_À:unì=•l” ìfëÅ‹Ô&„–®{;:i#X=–ûF›‘èÀ¹*Î/:(På¦n–^ÊLK9(ø»ÌªÃr :^9ƒÞe˜ÎQ>°•¸ñÅ;¯q{©•bâØ×@k×,Íos‘çÄy,ï¼ôŠ%"þÑâPUºURïz\eu‡*Œ½y—60á‹.ºñà}¥¸Žt>ÎO92Eqç^|gáγ¹¥XçånÍÉ…¹+T²à+…¤Ùœ¹Ž$~ñ(i# çÁ®Ï± XOÂô¼Ñt} +[¶cNHnMpÈFH]‘±0å\pë»g‘ï³]ž+ ƒZÉÅ©‹•s ±p±Ü¸(>!g¯.Žû“Œ¿”l§ñ +T’à|è–®žŠ#¤4‰uo‚ć´Òý­e5AH[¡øeÍÞl}dùÑò»Ùq|•P°ŠDé«Êå•pð-exvóÏé×¾ -@cVpp«^AÂêž#¼f¸ÉPGë´ýNÀâK—Úµ`"­X9“ŸGZ±‡FôÿI”ÀÔþå­]VâÙ¯p‹È\ûnI aþþ;ÌÀºØâÖw6í¶( ¯³" ›M³;q)© ™‡ˆ^ñÄÌ(2`7§ÕÒ­$`GÅ+{ÀŽ.ö§X§dóêN©•·}䀗pΧ–Ú„ËNkm1£Òä/ ¥réÊÃFÿ(Fí x2¿±>"$Æ]Dg"k±Ž—íÖâ<…ÊÌm¨wMÒ?¶/PŠ±îq}I€mö0µÄg²¯¢©årÀ'¨‚uEÿ2–ºaBá Ø5Å)!<3Ï +.kÒ®ŸÌçà +1µŒ[@ª1Åëj·@i^ÿÆê“­_vg«½„›—±›j ×›ýÙ–Äd³ÜVø6BWmçE1w7k!N¦ý†è*‘vŽ1 ªwí/ôëÑ"vÔ°`4žzôXh&&ç +/«Gÿ• ýY?ÕR°ŽQÿ?^ù´”‚ÝÓ^ C®Ï<„—„ÆÀ…ku¯_Æ ¶L“ÿuŸúfæü„Uíí]c`æ\¥“^)-†ë7%¦9Ù²]9pöe,ÁÉîçVÜj¯üïÒ7´ë¯ø„"s‚ +©_†Án:c\C*<‡šFݧÊè` ó¢¬b +endstream endobj 280 0 obj<> endobj 281 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 282 0 obj<>stream +§<dhÝb·±ÉÅUJ|ž]k¯BÞ •¼¥^¨‘jŸ/]Ÿ¹-ÐÒÜÏñƒ€khøлõ€èœWJÔ«K=à8×UŒ_l–߃Üû{3K6žFhaØÊXó\#Ó +µ0o˜'r¹ ,åܧäÅàQ!© ŸÍ5}K4}MŽˆì²ì<©ru€º±Oa'z´DÞ™‘ˆØ(S`öæÛçe¨¤Ìn¶Ã#‡ yŸlö°ôýðÞAH%½ùà!×[ô^ WÈç\œö^[ÛÞΰÛñ˜ŽÌPdÁNy^¸%÷šž´5å'Ãænäx“Rè[ßE‰]sW(Û¾/’h?¸è:Z¯ê]™C|XT²'3kÇf÷Òqî…}:º0˜Ã›TÑ'ÔÒÎÒèÒED3ʬéˆ}«ŒhÀ˜\2ÕüGV͉U·ùŽßÿŸÈ¨¦+;ŸBø!D'[K/Ø5‰…xÃuälŸ +B Øα_8#k HöÝ÷«‰áO~ï8Ôu¨ºå’"ÏÑ(óž«LQ[]ºãQ ¼ÍýQ¦ó½ÞŒ&±|ÃF|'N?}X»ŒîŒQ¯€“ádYîé'z.2´èªõm‰  Kú«áÊg“a¾až lµd½vâzaZ}‹Y§ÇVfIpsm}óáQI§‘±)泎^MUO+òþÆŠh O }ÙscÒ/ô<øÇ1èn¦µbÿà•5r²=~© zˆhº3¨©Wç_÷> ŽR0[”ÊbPôÞƒvjde;#ï&éºdÉäN~$íéõ7†Ðáoo;d‰)åéfÈ¿cZõ­jMì» +á3 Z óÙ«Ç>((Hþ‚0Nð2œ¼ûØ8èkS¥õ},(:÷ÏyÃTüQ®tÂø+ƒ_ Å‡¯ÐÆÈÊÕ9=¶¼.Ôí½oäz[-ös¹ „~Ä5*âí1{ô„*¨Úý{0ÍJCåüS2΃D¯G£mÛæÊÙ=Á:öí¶ÑÐ4ïk­C€<Óý@ìòÚW> endobj 284 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 285 0 obj<>stream +ˆúùË«›z9:r,­«Áw>ɲ¬÷Ê«X1—°”4¶k«Vè(MK.orÄæß×¼î.GZõ‡dù±Âúöð’­p笌j£‡2N=(„B“õø¤ŠŠ¦}}œBùxŒy¼ÆYcHWöóÇðÕ +A†>”³9þ{Z*s‡ñ¼„,Ntª±JO; ÓãÉë2˜¬‰T=‡öÅB†paxV±I’PÄœÊùašffLÔˆ·l³gÃ@’yç¤ærY]Òåy¿„9Á(n¼ †„Æ›¡•³Tìn£‰R~cÜjñ¡Ò8¸jë¿í˜ÄY1§y\ Ñö2;.q#~Ò³0Æf´¡¬ÄpÖyjRÜÓýÝ +%XúFÎ3Lç&* +¥RÑcT¿eP«ÚFj:üIàIÍ9Öëíë!Àº’È](—ÓrŸŽ@†œP %0QÞ˜rc¸äò4ñ[ÔG\¬ ã)É.Ìß'¹è¾ö©FÓ|Óa~i&'Üäæ'[œ'ùOGoèNW”™ˆÍm:¢¬¯)ñý³–ÜuÆêü¸¼ÍûQý “Ä<æ†S^Ìz†•DËÁ£Ì¥À8ÿìxçg‰Í, /K3“ÕBB&¨,ì]δ­|¹ŽWGF"íœ-ž!Ðñ5·ox,„G²2gíw±Ýß@ÅÍ\„ï÷v‹Î±eùL§^´“¡âëô4wÄXçÕý76HÎœhªÒÿÝrP*””!'•^¶{ššQÕ” &‘™à}ž Ð9HSäŠ4jv5OdØÂD±ýDXÛÝþ¦§]¹xçáÔÈïÉ”KÁV´²üøéo}Yõ£~ÓLü:O㻫ÆýójP¢¬,gͲÊCÛ³m8áSƒÈS¿]ûßæWëþ™â^ÝŒhŸîã›8ù²ØÙïCϽ˜S˃+càD7ªJA´Ák¡×ì^™VÙRý´94Öc}Æ2@¤ M+ËǬÐÚœSšÜõ]Lšˆ’—Îw€Ét±¾¿nŽX,ù¸z&žgÔÁfî«úD¥iÆŠ#¦”åË^tÆAÈ\Tèz‰äÍÕ£KqçôTšeÕWxÏñ,H´òS\©nÍò¿WòÂò·C“åu´ù‹ cY£'7M2ÅË&S['ž•Çgœ`¡ÛYWÅ¡à׆qÊ´·b>Ý¿üb~­«eÅÔ‰–²)dZ¾sä.Ýn$>øÄôÓɆ'®­â¡ä®IrÂUá:*·ÜŽ@±P<‡aÇê¤/v®*ŠQ% ±j&‰óË7Òåê¤x² )Ȳ\ˆIϹAóðË$N"*8t*|°Ý2#džJßC5&:Í–t"HöY»'°ˆ8|@FP,O­ç2®ÏCÙ& Iì÷°‘£ÈÜ^“§9oiŠP)‰r¤ûmÐ厶]Óäâað¸sÍ + ~7§â*S; +œÖ"]Fþá,ËÎ!Þ>>#ž]1óÉZúçtoDOþ)æ—}¸îHë©Uƒ§†5# I¬Ï‚Ä+¶ÒºÜëcÛÇ0¿±ÿ}C7¹„ev*‹ ^Â+S(Z¹nWƒðôÁHÇý#ìo/pIÄÝpk‘£wy«¸íÛÓM¸¬{cûDĆdá² ƒŠO"%[‘ŠemÞK­l?@yÊÜèRBƒ±>2šþ*õ…Ê:éî„"!%:ÖkM2Î?x^–`¾)LeFJÄÛp[Ñ…Êu‘¦gCH·ïYÓkÊŸ^¬èYÕ€xñ|÷Ô°¼Âz]¶Â‹RÈÔ«­Y²X_¸Gmcɤ葉§óô(—¹Ã·bZ$¥:<ÓòÒz'(¥ +ÉëÒj. FÖ!7ÜØãºSJy»8´+DAt«Èb`çðT»ˆ +£QÛßcÊ×¹ÓdV +™«dã:¸5žL ][Ö4äŸ2éH¾lôl ’ía€€û_¦ˆê²Ø‚ðQ|c)¸•+,œž\,Í ¤ÑsâØiäqdÁ(rú.dÞï‘,”ëAF%¾y(N*t®;|$¼´Ž ¾Wu+óžÒHâOøh?Þ`d@??õR…ÝÂPU·xi!ôà ¹«Zâp${ÊR–®öq s5Ê?V&¡›4º>+©{b­=Ñ$YôsnÐâ~óx’‚°n\1¸ˆµÄdN3PèuIžÈ‚`’Ó¨@À$°ÊÜk§™#¢ì>(„OÙ9N«ó²&{¡o A› _ Ò¿S{[©—~g”·÷`],Ñi¥Ü: \]îNȉ֡ +NòãTJ¤7T&÷+ª¾ - n½yŒÛYÿ†Ìžþ|ˆ?½ö=ÿ¬N¿°=zëHô‰”û”ý£Ïm£zcï.“ÐÞz¼ê•N2ð[…Í÷ÿ»¦¾4óÐýVœ;A :m$wºZ'Ë/pzžkÏÃaðm4‰Z¦×=®Ð:. 'DqxÃëjÑDÖP(ÚP¶‰SV\³<;\ÜMrfŸŒë6FœÝÕ%wÉÑcô! íÒÉÔžN\»ß‘È‚†í jºÏ +êᘗ×ô$~™|[€øÏœáV´¸p4š¨¼O”ë«À@^­(V]tByF¹àÀÝ;Æ‚#þÞ«|±¥$]Q÷\p­*t.»×Ë»q—ÛÂíåLuMáÞ¡Ì ÖǪ̂Ĩ®©‰#Nä/ƒmn@KÅp`¤´B×Ñîzµµ°æ$¡‡@ç…hzmtóØôDÃ`)\.Å¡žRcˆòæ„¢|ØÈÎŽ!%ÿ{/?éÈÂ'n™ÄXVçºûEó8tþx–™pÉ0Œx, ó°ß<²È‚ÚìïÄß_,ËÞZø˜ÿ^ûºYbÆOa)jª ºœqm3“ø§¡ËæͳM WÓ;šÄ]—‘?¶®¾ÆüÇ®gR¨R~òãÈM¯í¦®l4H‘8^ÝÀõYÛfŽÛÀíº.[ßÈxÝ¢Ÿ”—¶Ë¯›îµó(ùSšêŸ&…G´YâߊóT·Á>ZG7gíË®xˆ‹µAU±Œ*»“q9fm¶Gÿ=~w¤l>o𠡨hŽÀÊë(2TüAqžLSï͵3…¶’J̯£¿0Óàªä0Ìù‚OØz£ BÇp™ouªQ=r©ª+Nèeh¦:;h*"£°$fÎâ–¸†u¹Ü—-Øk ê³]Û&ÞÛ–Z![BŽÆ¦ô/¹“䪿õe­|Î4@@ò‡¶/Ý“¶1Yµ4G³ïžådxÙÖO*#7•#è¾vô¼FžRó]ûË:ï£(…„5³î¼õ†º +Üm¥ëœÉ­tóˈå#l40Ið–Ä·^gPÒmýRÆ"r¦T[yoý¾óµ·³Øtû8"ãuãSvó§’À®í%ÈÍP’zôlêFêó1Ú穆×ÃÔÕWú!³ÒCwÜÛŸßîéH¾;pry^b+»}3jþмę4YÑëHõ©Òîäñû 2Ù¾0©k÷V^~Å·ø´nÀ çíðÝ+âH†ÕžAô0KoQRùÇ{ã»v^¶Ñav)Z`ÇŸQgñ÷}Ь µ³‘Æ*þó*sû»Å\^Ý^BÆÈâhÆàϵÈFàú5U`;i Ù:,'ôYuKn\«hLôC1¬s äÛõz2$Tÿ+Cj|.©é‚&€J¤ë8äã˜ïUft­\ä2û*§ˆ3„ƒ¢MLòx Ý8Wk%žžë¼ü§ ˜§¶Q(½]Ï$»(,$bl †{eF¤Pö èBãF°²wᘤìÝ{Xs_Åj\ÈòÁn˜Ç°Ú¸ÈPI[ù{ýjnhÉq¶ÌDÕðsÌÛqtû UþhäUÜòdÇ£ Û­£ãY¦ËV +endstream endobj 286 0 obj<> endobj 287 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 288 0 obj<>stream + iLc’g„€QPeEðMJA +Ãßì)µ¨ ðALêµ[ ¡¥ÊÀHSnƒ-FFØ“óèl§ž‰á8è úí‘~rƒ°Ïy—À‹ãmÛûI.‚»‰¤Ç§é™€è['^±u“CErÇiWU†É†ÿŽ?^ ØÉžMP6V)zO¡§òc+ÆV•GÿrMjFPºÝ“¦¯ª9Ñ­XøÉ@1å"FÝÌ´4=®³8xLò-¹Ý§ÒÀ |®Zã}-2W¬tD„ Øk@é Ù¡¨¢rßdˆ)%Ø_É• Úæöœö‡êö ÖúÑK=ë"—=bÿƒý¼2Ew), ¾ù‰Ú‚Û€C>ÜÁ¹cÓ;f îŒ&S£ÑE»XZËýË» T8F{P[üàBÿ +g ”Ù±m~§› +ªIAOõܧ”¤ÛóÞq²|k!U¤àÐU€Å^dë¥(•w€FZ7ýá` ×ó Z|1€>‚3`jvèlswîC¼]´€ð˜Â™Éq¯Xhåó”¸ÎÙúʇîáº%”Ÿ™&°²$â~C‹tï +7sË»®ÙLÈdKƒ<†û†NNÃm“§?]DôŠ)M¶ž Êõº*†3\üàj§Ç––øC ~¥Oµ1Äqh‘Nþ ÂU‡â¾é¹ƒä–Œ[Älç±d2<>ͦ­…ϲ̖¸pÅØÃ2¢±§"ϳlÛ–¿òzÂ\ˆÙÂÑ…Þ#³‹þyÇjÏ#5&š'R&È|Ž–¡Í«ËÜ—ò¨y-Ä@ UTæ­2Ó¥[NÐe'~°#œÚ€˜ À¡} å—•Ñõ +‘ßê‹n÷0®lh˜öÃþѽ¦°ª¨Íe|i¢üÚ94%ãLé€@ª +»<¡‰å•Ë K§Ûc¢q¾\K/üÞ»·à2f­?”ìÅ°Ô[‡.÷Éœ.éÞÆñT³º"“aìéõù$Û¦A³ +äô]ŒYMÊ»6ÈVF|€£¼_ÿ沚"ã:O¨j–åìq‘‘£±¥ :ÙøoMs¨`ké~Ã=ÙFŒÐÜqÓ{e‚{¡™­/¢ÂAdÀò£:…ܯ¤áH$eåw0rt}_Tq$ÃÁ¨›mÝ;=2ULágðéAêi~˜útYÁ¦*_†ñJ¹e-„l”¬ ψÍ}žâcÜlv $yõ€¼d.ŠÅÎí3R~¦K8Ù? %G×*嚢§Ó^só±Ð¶0ÌÊãTÒWñ0Èè)ªªccÑMRêH®?J\Œ=Ó fNâšÞØå2Ð!­@”%¦hèWû*›N’PP%`!7m« Ò„¾-¥ò"5×ø"°?«Á3…ù³¼^·‘ØÏüÇl½È¡Z’a0EÌ›¯ãjœç^oIx0a•h„uBÂSðÜÒ@‰ +.*óIî]ËÁö˜æ‚£QdÆ9dÞp y26w3n4âP~ s¨¼L­û䪑þýŽŠS{~Ûô.ë¦"ÈÝ"ÕÜlNìQ‰–oIê¨!Àì¡6þÆÝÌh¯¾ù÷‹_3„®»ÕàGQúñ4ÜFhëÄ3÷í¡®ªyÈ~mvÕJ3(Ý5`Ç¡„ÓáÒ[djíh¤ÉÞ"¡˜xT¦ëÅ@ŸG[Ì>6jCãNp¦(Ò$ã„Än½å7p[VôÿÍ!sèBí;=‹i\ -×.*§ÏH|„@*>¿ƒ‰š‘Œ&$„ÜöÖmcêxÚôb.Ú0 §ŒðÕLäï¥>B®˜¡ùz­-%>G3J™Òš^ÃK댓ìðÊ ÔÇ>ºyÌ'AÌ\Ú*)æ³åÌ(ªÛJA¬¹yÑ®žÈÔ^Û7¨ozòåK(Wež á*—ݼÎ/lÔtñ¦Ù/íÆÔøgzCÄAQ¯~Ñãú r8ú’w€£ÆkI䟒&R/¬»EØ™ðõ˜'vœ¦‚V's½Ÿ&Óâèèé“Pá4µ\ð5/ÿØ~(J<Íè¯ûÎó+ʨ@²ˆDиˆ„Š3ïùØÕÐpkÚOÀ‘ÁηqÊþ À¹êQПÿ¡un_+Q"ÿô¶Ì6ê‰Ã¿w_hÀKÝ¸Ø ŠÄƒÊ4Ϩ&4î-ó‡þîøöP­ ˜',@1¯]ª‘=Vc:÷L@#4>¹êSU5rÔ¹@ŒX-†Àÿ2`¹LžSÕêŸ"KRØ?¿ãB ûš”^S-&2±yUPn#`=šÍ ¾-ÔØùO{¨êqõrêàpó©|´@üÐòNˆ%, Pãv ³ý硈%¦L£€xiÍÓ>%§S5ª%Û½´Ä±~ÅŒ¸*´öð™$ì}Ñn{1wäóš«|÷Q<ö~Mðć¢½ï"ÌÇ°Q¿‹›Ž0ÚB2M"«ÓKÛϤ‰zAÉ,̳ԑ„²;WÒÑ?›F ;%¤×¼Ðïl¢}øõeÅ;ç®÷ª"ê-S7#æÏStosÙPG; öÔD¦ö²D,Ñ+6üÑ)à÷8‰÷܆6&Ï4ók¦Ì{\ûæíéæì_vYH¦YHk/ñ,ì­áâáÐ#°×‡ñ,½¨'w9 QoÂã(-—»©î©,xÎÂð×gNº„G½â«eœïôþÓÂíWKÕ¬Ûe±ãÓ82qô‰Àɬ¯%XôDG®*%RïÚ˜Ã"óÇýÂké(7,i)[ú0—‡ (V7Çg=½«4p~íèCwq5å1di’2K¬ÔÌ1ôa0T¿æßM‡nû 2°%/¢þÇ‘ï +HÞ¿(„EÀÄàÜJ)-*ƒC x]¥„ßåS«O3ΫuÀ]+sÍ[¾âU·XŸ2ø•Ò;-5Z +òbb½¥Î¶ž—™°‡ìŒ1 öð$¶TrMó¯8[ ág:HgZº¸ÈœX­¯5ñ{ ,B¬9ä°€DÍÓɧ‡ +Æ^k"Ôíô@Öt Ú{ÂGTQŽ5s”›šÑ¦¦­=vf“¦.#”Ù™·Ã3Ý’E¡*,¼‡‡ÙäL•õx&z}NI¿?t¹Â…êü§̸8Ö¼jŸÕnÁk•ç]S—D"C½\©cûœ/Ûç@/œ„´‡$´£´òD Pª)¯¿Ì¢ë±a=«JÏ OU(Øæ£0Ý×£d 4åš8xY³Ñ¸ÈZ#À¯‰íÙêÜ=gqí·Ôii¹LüdŠEÕ Ž9Z»MÞ L}¾Å4;mÄ–Õ8õ%%v_SR¸=¸Õ°®òº+GåD÷JX^zûùM'?$2ÆUͨH®=ŠäÒOÅwq8ª9pB@ŠT¬F5ßtò1¦•v>ºb½{AF®‘"ðRƒ°6QÖ¯ò×)܆AC‹Æ0m«9s¤Tg%|aäQ’M²Œà“çô³óÍß<—M’vŠ>bZá +endstream endobj 289 0 obj<> endobj 290 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 291 0 obj<>stream +Qq>EOÈÑ3ÁèÕÑÙzëW!¿\ªæ!˜u«x´ÙIkR5%PrŠi}4¢p#Âl4ûO_–Óìv)ƒöR_;ЇÀ®ƒšWs‚7´Â+X„ð•òKÛÊþø %M¦7¾ñh›'IÙ×éÃáómëÀ±½Á¯(™˜Ý +ßÒõ•N:KG@мöÇRß͇8ÝÁÚ‚ñJ®8|™æo/ªD–+=.:NIc;Á±=©ì/´f  4SDBõç7`d ô ü@Â\Û £‰ò)—Zân‹åK]a96ÛÐIh«e4`òK¾Ù19ãæ†;|°ŠïÛ¤¨:ÕÊäËÔ#e‚Z­Ý£Ô¹?S®T“D‹U$xjÛã §õ±;”`nB†ÿ€-¾«½jБ;»F2¿'¾»ã§±ƒº¦<±=tæI”F{Â8TÜ2´^Àƒö!W2n Ž~£•/’÷=Sº©}?¬ wŽÛ¤‚M²‚ºšý[ÀGÄâÒƧ¦y«ƒ‡$n= ~*ˆþ›ìŒR#é{ÕôŽ2W²ôóª)ë¨í¾5!–_ŒÄ[‚òÛáiîN«e|BÝü†”V5*óð©Åt¦@ºÄÁP#AÓÞ$ןi_$c´$B?Sø}iðY!±ZÑ~ÛÏA>ªÛÒ8c‡Âíq´C‡I=œóK¸÷%DéÃ~Õ\‰±žüzSZ¬SG”zÛäЫ ºmf¦ùä¢ß òUL˜zNßÚv«—ûŠZ€X"͘Ñ%m‰ÁiìÄ'Ó®­S£D¯ÚYfââ¿~8gäà5 ZøÚt‚³wÉ»qSÎp°­ +ÖêáJþäP.Í¢&ûÄyÆA,F(fžƒY4¶§$ÿ‡)V=Õ‚ðÝù-ý%Çq9…>ŒøÕØ¿Š¼TnÓ4V¶ZKÿS¿7Bés¥•ñ4{=DlŸ›ñ5«ÿ6C»óz8‚ßÛD¬El˜PBÎ’ùT1*ðŽ@—‡/“ˆgNàñ˜Áñ•Õ¥âծʧCÔc¼m%+bëw“ôVÄÎûJ€qî®cš Ï€?½Òãkq`¯ÖçwËÞì:fÈ×ÀdN8DŸŒ_ÆGÞCI™ðbøNÒ(y©¨n³z’bÁÔ¶}èæCeT+0ûabØÜW¢ÅÒ•NWƒëŠHPËRÜÆdA md¢$Ld¥:€ܳ2®’ÿ¢ýdªnêOˆ,6õ©iÅæìÖž‡Lf §Ý_À!}îI]˜ô²›Óá÷rELÇY£â £§?ú=­%¬^Ó1–Ÿ¨}¢õE½Wì`x0 hËs©´ùx~œ i“±/Ù9ä 0—oû»ã9 ÔY­’t+äJ5É)‚·ŽVû9®B0a§Ô-Ó48y¦ŽR Ý«*²YñŠÌxEUÔ¦F.!Œ‘_ÒG@d;Ÿ[Ã¥ªëÒŸÍ ÿ[qœ­½@£'ÝÉ£“1µõ =ÑxYlö²3ÍCy>§˜€ýI³3V × ‘àY+b·»-Aa·á”.X¨>„’'ÐÒHtuõÌ_]5Y†™´ª• g;5ßÕÎ%Þ6ï;ò‰º-ÃW觡¾­+jíynÛÆ»›_Í;f«l’ိ޲s¾v»ª/Î'|t7{¥îe7r®óâ÷f_†WœÁU¨ˆåYnÏ­ÊËywRÛF h.œR²–…@9>Íè»ÓøüäBÕ´’Uš™nâº.L/ ;²Š)¸¿ Nc*uößúc/ëX¡´ÑšÉ–„1³Ð¼ÈΧY+°exYÃDKÍjMíÄ€Šò@Ûßg§`ÕVt¼Jݹêÿµ€¹•÷õhýk7D˜pñâ Nd@HggFºf%³e>GkåZfªäùýE]@íÌÝ')AÒ£=ð°’÷ôŽÁ È®¶8j—ƶ4Z¬‘søèG[gÂeäí2ú“˜ámlä]Õ8*¾{ê›b=ÁOQ܇/ÀÆÌ‘Û\µÍ‘áíÅÕj»à;ÀîQ¦B û볇¾ îÝïåcm £ÛÏ1‘ÊÖõ +ØõL±Ók²2HÍVpÕžóH^ìCsav.C¸Yjç¨Oå?E{¤½Äžíi!œ²f¿¸é‰9Öüµ9ç»Ôk–,®fÑDwSPB€Yª ˜zf¹vG¬™T÷:iìÉ7˜:l$ºù †@ø‡Y„ÍR7e^æðä§ ÇxG©nOV»Ü—w¨¿mä7qG4¸óbî5†û¯ÉU†Ôâwõ.xÊ@½ÁfP' ‰FÅ ÙcŠm3O¬ë3:é {l™T54¦Oz_;&QËåá’੧ÓÒ2bûî猟™nQNÌ;Ú£î€4ˆxöjÀ•ECð[Õþ—Ø=Ýqž›X}¦ã7e9¡ íßg©¤ÉÈLÁ¾r-)™=òË[Ý~†>…ƒª"a‰V,äùr:*hX똱 +øª0>Ï5Î:v÷.sò@ŒøûD´Ðép‹0 Ÿ?çÒûÏõs=‹Ÿ¿çïó4æÂ]ßí6p+ŠQÆ¿!_g)"ÓYZñJ·÷ÆK`YPM,W.¾æ»æ°ašŽnóE|ˆ99-¿öÌ~ûŸN?1À5@ .ZX¥~ª²a]'8‚˜OKÇr§2BmQβ‚ÅíU)hã+®¬´‰÷&+üãÄ€¤ /·ÄšÆ0˜iÓùLWê|ìUµšËx5À´|Z7«Uæ*¡íïNL»’¯ ¶óȯàÙÍ·’©ÁŠß”>„m©‘]ÝÔY³åZ¿ëÆ*J¿ª‹mtmZ¦¸µÔx`8àW&û߃šèZ ôðÈWˆ¨TÃhm›ü†ØögÿL¢Â@ÈÇØ„ÉåÒ þeг;ƒFZ-šSÞø^˜¶8tŽo +h6ÞW2¢À௵œ·.Å[rÕ7:úò‰E8¢Û¨óÙµ‘àÀ_ ÷8M©™­á4mC"’¢p=•#W½¿»N£%ÐüezqYNt/÷À¾Y}»ÙÑ¥å¥-`<÷”ñ_uÝ^û€ì9êèÖO'LVMp.»*GÞ \‚JAÝ#da7•ÑNM=”æ²¢`úþ•,²>(f{[e±:ýY¼ùWI|Ÿë¬^a7ÏÜð»#Â?k|¡÷(Ô n_éõ¢¨AÝâ‘ä•B«4~ãJ?ƒ/2¥ “Šó£‚àúK~ñýP™ ¥‹Ý|Ñ‘2Hï<×Ó*ñhqÖö Ðjû\6@:>«RâDâÒ@n8*&0%> Ï+NV* /ü-û/#p$¥ Qõ%®ø?bàù¹W秉èÅmúé裔m3Ǫ^Ñ%mÞÂÏ8¨_&Lÿ*ý ²éˆXø\ënSðåùÓ;„ñ SgùË£àK¿IèÔÃÚ,_}…‘*,ˆ[sPâÿSVªž°‹TITÌÕ‹st–Z6€H%fnÈñ$<û Я̗WÁ-<}1/\¢â +`Áz‚•j¬$i§½&‹©„2³ @¯ÒQ¹œ— ‘®5ˆ­J!ž®Ÿô€ÈÞI oâÌâ¦êH[¸µÈ_uÇÍ©ƒ'=›ÎŒû[Ìç-b{{ìØäa ³,-üÅ1a¥]$÷úœp.Ô !YFÝòcÂ5ºœ— Bò±SþÜünŸR™±˜ IX$%LŒó¯‡&¡…¤PÌ2ùA-ÞM—õ‹Dœ¨H4«Gm~²ƒÿº¼”‡0 + '#@rŽŸ‹€xIh?q¸…ê5âBí Pµ ~7jLÐH>ùé]…ësÕ.MñÀ6#Ì•ÝxuJ³ˆþ3,Úb•Õ] ¢`'³øÙJUâ‹"l{>n6eÆ$<%ls>ªzßã}š¡¾„MÊKþ”kQa#³{P™Ä.Z9ô-ïoOÈ©AŽ=ëÇõ¶HKvk[õJ ¦fÿn=µ¨eìúBTà )- p^=ÕÑñwªÐWk 쥯ø,<ÉU$g ù0!Ë”]ÇE«]!cxÇ(ÌRá´¦µTf˜„¼9tKtQøàªR£3îs ÉUH£@<7Íd±<úª,¹£Ì¦ƒX×Ðd¼A'R8Óÿ¦×«®Ûf ®ù¡„»*&ß.G<)W;ÙÒq'ûu v%cʤ­ÁG¾]<1¯]@N¤jªC‚'ÊJÂâºc#‡hó x.Ý}­‡=å†zêËÿÚø·ÂÜ¢Dð¸ÆÿwmîÙ D¸ŽIÌN¾ÐŸqS©Íé1FZÃG€Ùu¤f•ú:‹ÕÖe«ñîW—e ‹ï³Ju¿£öšK‰HvY?~í´ š>t0À¾UÅ[“ìXÛr¨Ãªú;•W—+4Äõ„ø§c[Yr¸uL°ëC‘ˆ§Ö„«ÞœllÍÂ`ÍÄ~f\zÀ¨|bô¿ Õ òÏ8¾EÔ„ž`BŽ‹F¶qÊûØr½Ïˆ"—~ +b!„|ž—L†-/ñÔàúT·þO˜©”¶¾ÖþnÕÚBÕj†M}ïï·õzV¢´ê:hpÇœ®Î#á ‹:ÑŽŠv- Ç&G§š?µ_n÷BÚS‹„ (X +ãóÎ…r…> endobj 293 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 294 0 obj<>stream +ô+³ã%+¤Š ×öañ¨§¨ú +3•IäîÎ5í)e”Û†ƒ¡µþÝÜ€ë1‘£Õ÷f +€±_uZj-¦•¹*J^kæ’@!Oß‹åüósé!üæ4¬ïw*‘<(¢Ê'S¤scɨ¤µS5¡‹WB 7u ?»kÆÝègiü@¦êNälæÆo<¼t~g=¢« öÔ.½Š +9êZIç.Ãaƒz2ž5•ä¤ W!ñkb¨ZZÓ Ž5Ñ •‰`ñŸ;˵/ÀZÐUV„À`Ù¡ÃâwÝÞráÓ—Q÷[pSW¤ø’üäJvà˜Gž„7’Ò´QE¬b¬\^_õÔ¾‹G³öï)¯ _%LTƒÌÁNåEb³;Кâ*:ùØù¡Å,WàÆR³Ì˹æÛÉì.À\p6#•¾à"ÏÅaì%.žÀ¥ik®‚›J@tÍ°æ/’-»Õ¼SåÒ/Œ¹ÖÈ *7:ˆÑt°ÿ½ §îëáMb•Õªïò cùÃ7»9ŒÇEwN=rÝ,qÈ`jBƒjÕqÒ-¹g=#¦gÊü´ÄÚGÕ›/Û˜5ÞÒÿ˜éwïCìÜZd"¹˜ê¯ØÛ/¾ïžŽv×aqM¡vÚn4{]O¶Ám|·Xa-Mÿßà ƒöîÌ8 ÞB•‚> ¶¸þ¼iâì~IíK'ùH÷ìÚÒ¤»Ó.w#–¤ò½•%ýñM0$x•R7Hþ1Ø_]öUÝBöÅPÎåÓ{ÄÑû4`„uF11Ñ…ÚmB³sÕÜ¿ø>  É`Tµ ã²‚.Ùõ¾)u±‘~èu)$ @Sr„ê|òuÿlä™W>ˆAö×x(˜ât}Ư%i=é°ÀÆ¥û‘2dÙìB‹·€Îñ«ŠÐõóâ€4ÍKÿîúmJÄŸÈy*BìWú<¨@#ÐÝÚC ah“#Y|†VŒ^ùÚ¸P¾¦BÌò¾3,Uëo×çŸkÐÁ ¡Çªûÿ"AW»^Æ-õ=‚iöÓÆß}Ñ~u†æøÿëI&tMÃ%\Â_uhpnV!Ú=Ñ”û ɺ‰N'u*-G,EA¡bÛ`p³Sig³7 é^XÁ<sé3lÕž ãh>Cš[åQÉ_WÖkƒ«Bbî± ”c·SÇliZ6Š–…w<íÍ<ÿ[AÕ«Awû¨»Ð„hÓi;tZâÛR1À¯Q¡üA©!LI1öUÉåÈu&ûíôoª ®¤ ñ¥€’eX„s¨ú ³‰š¸h‚ ßù(e 9—S˲±.xŠNH ^vU¨B‚Øi1íºY£Ñ2>¾ž+¥W43›Tw³–„<^ÑV¼àA¬k Ÿ:uˆ¨¨ðBIêo8^ç?l|» C< ìå_1'³÷ªŸ°Ì_ƒ;ÔM¯*¢úÍmr¡ÉKÄ餘%¨³§ÕžJ˱¿•qŸµµ÷Þ1m½HBµ³í«Ç•;Sš$:éxæܱðE®šÏøè>ò”"Ò×}…cTZòÏ4öÄnà·FžÉÛ¹p#1S_·” +ã÷Ädwf@(yî[mgjLÌûï+h©*)”ÓÙÜÜUBb6å°T©ÊÊZÏÜv?n15@û˜úTz,ò,üÑÉOõ‚”Ó)Ê'e¢j)r¾ÚbŠUÍWbÃЧmr4(¯i+d›:™¬ŽUCõ§ù*Bh9šª cÎ4(Ëš‘@ÿiLÕýÌr™p-¡Ó¾ùºÙ[C9_›q¯Ò!ç0Ñ8p¦\À™5SÎâ@ÁÚ +Ïy.r“`jÃÞüQ"QÔפ‚`9—„é>bRÞí úb™ èŠëA¢Á‚Òx2Ð(k%Ÿi^ TÔ%sà1:¿–NÏ©ŽTùWI"bðÁOÉÆÎví¤œ€*W{åêa¹­ F×xòax\ †Ÿ¶*Ð +?ÓOnÊÑn+k›ù B8¯“·}ÝY:›kÚácj]û‚1†¨¤Äv+æï}ÔÛØ'©uR6°æ­Ío™«S©i¯—v{r‡¾ 9#š¤¾9d=¾¦ZẠSQUœì'BB ,ëv€¿§xhçE‡—ª1¤¾´oPæ°§j.}ùè@±ü(XnO¼ú ¸Å<ÖKWûêÔ]Ø˘ÆcÈá7„ARè‘“Ru²²[C!ÓD½GáÄ$iÝ^ù ÛÅ FÞ!1©z)DÈÆO7w¶Ë“yš‘üX&êr挟aj­”\Ð;íV·ÝØûo’|¦°Ï“do¨±ˆ”êö=›B›2^Ppe!eð:÷î„À'ŸŸl#@² +O6`iKj®wô@?rÇal†&ã§ÄL5²/A’­·&NC2‹Îúy¶}ú;Eßò¹Ú®™Ð'«¦´ùÏY5”éü> ‚Ÿ€Ž{Ê{òÑo/îpŸp/§}-𾯧-X—ˆ:‹7d¦àNž!a£z¤¦`æ|²Æþjœkb+Ý€F Û·ßÂëPƉ*²ÜÅBDå”iÒëÆ'˜uó9>ñ÷|S”ßíi÷âjÅŒatÌõQTEØGHÇ..]m†<íE1"¯ RvkíËiäpK+g3ô. "”ølò³tK\{ Ë DtÊQ…à´ñ³ž?¼[xÄzM;:^0‚l Pu M.!Q €÷ÞçÜ-×Ì·º½Eþ}¤[|m–¬ßX†ÈîÆžâ’VÛõâ±])¸¸¡U ÀÝ´þvý 6¹Íz;ˆPíxWÞg–S%¼ î'¾jáȾÅ7„úˆŒ6yÁ´¾“ü;5 ¦1ådŠ!ýHÙ÷—  ÝS¤ß¾EŠµ!½ñføK¢i‰D£v A4üõYPÍ´oñ£]ybó™Õ6#}8.Ήs\+ ZW²Î(D û”â{³"þÚŠæÚOËGŽÞXzk–`Nð¬Î¶÷J.¼%[Y°fô”sm¦½(>þfÎ@³­¸LÐÂ%´)µƒeÒßXºËU +KôšÔëÇ#ІY1µÉR^s`Ipr›®DóR®øÁ5©qFÊvÂ6ÔŸ¢ÔjYΙ‰oˆí„‡œUr¿AÛYÒÁ™Giµ£ù(áÔ§šyTQf± +§ëê0ØBŽ±‡Q%)¯ð¢—Ò\ñƒˆ£XüX+„þÝu¤µWªLQå öÛ»‹Á{0§¿°XÎÁª}±ÇìÑÏGÄ>dEëædŸÔC¹44_܃-eBóÚ­+ 2x’¢OÈ· +Adúôùe7‰{ÉñæVÇ SÚŸ:Ëí·C¥FN|\iÑ„ ÊÈãoÇ&bsCÛÝs…_‡Â£¿_•e­U5ú=ѵ-¿(æ5ÒRUWõL†Ý¶ˆˆ­â¹?ÂlyH $ï*Ži :X'0ž] °œ~ò‘½Ú¡1Þã ''$E+ù8Øvt&ÿäb&“Lö(Ô£ÝÌŽË_ÛňæLÂ5õÈÒµe˜Fv¼1M6¸#ú‡qùQnÁg8-z-\­«{nB7„†^/0·Q>ÊoQu² t8ÏW ª¢3gÍl’I³ß“[Ts£UÎïPXíܵýÀ'q»þ½ŽÜøGçØâ`É…œûäXì1¢÷:,$—õ sNþ¬ˆü§îxY7Éa‚\'ñ¨nm)²(S4º¥ Ïø~cjÆI£•õL?ì”#?²SoØŠ±(mró >¼0DS#tÐ&ØèßL˜'ÅC„3ŠW¨Ï}ïÁÑ{ê 4£KÇ5=¢·êùøÛÏ D½(;$sfÏCʸ¿(ÏåÄ )羨ÂTãNe*Q¡!»ôšK£œ²tä4ŽÚ•Ü xÆ_b%do+ÑQ‹©*ë"&Hä°K=:ãÆô¤ìÛr^ À ÚI4g;g­ÉøáX‹¨ÅlŠXÔí'ØðÖQ1ù +!3jÕå6°›.6½ ò +)!ê¥?›Ý!|ïþ Ú8Ž."b&RJ[¨øhbœÐ\áÝ9ìa“–Ârbë|§ú¦ûÈ„¿u0‘7ÞûC9Yöv˜šÓGM+Ý°+r„‰wc '¤,¯m ~ÆXT€çNT¾„¨ckiÆùÆÐØTò4Öåán§£ÑÞ«–ôtêš“ð>õtÁžÛSk×¼K.6ä¨ ‰t~»Ø«VNiíio8’ò.Š“òU žÌŠwa9£·è˜’äSÞá®UØÙò×(QÁº5Ø +‹”>td%<7zJxB„íÂqÞqÐÁšx( g‚ÀdC ´—©8iÈÇ» †³ Ÿ[iœÐQv’¡13(ŠWñÈûø2â³™[·z»zlT¼N“#ÊeÞDïªn¬P, –'ÓqR‰_Ö»ó_×&­ \=9âݺ³(¨I*ê²*;1Ë°9‹49ÞeèÅwc#cÀSkt‘AvL@'pé â¯åDÀ)ÂK3þ’¸ƒQª3=»>¶ÝÏ‹®ô¸¦V׬ñfÁç-”bUr§ÇnYÈüø‡|bµ»ÐÛg V˹©ìoæßèâ“GŒÁw÷nEçñ[,h%‘½Ê ÷€qËzÏÌxFXu´‘R‘ýž‹Ôíu¤T½…Ͻ7eö6¥Èa8U˜YŸËVñ‡#SGÓÛ›Z:å×}Ðê(1ïk +(š;³|*tÛŽÚòþQÈmL4 +DmN­ÔëÐŒC^á~f<Ä€B´¤$iŒ&þê’2PÐ0Cg­¥òb¸£cöƒV)¢Þ^‹’óÛã·R”¾ERR£M‘?jÌÕ:‘»-Áî¯ÏꡘÏJG—ì·<êj•Þ㎣CÝF±|ó²53zúÙÁ`H&ÞD“ûWå^õ|ùTÊ‘&¹¸xŸJs?Uþ£j5ZâJº `M§Äß©:€‹úÜÉ/L˜v{ÒëlÂ.)' +endstream endobj 295 0 obj<> endobj 296 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 297 0 obj<>stream +ow°¥©UŽ³¶ÚÊœ˜vKÌ+ä·,@'úƒ|I3ÁìÔß–5ä†æÈBËÕeë"q?D{¦gæúŠ£¨8Ï c^Ù _Ì®¬;¸ýËzzzïšÁ€[Ðkù€ÑgŠ¾0ö: 9f‰«®`͵P š¹¾àà–… +˜Š3{\ãȪœQ~ÓÉL¦¹¡ôPŽXvcÓüÝDí{‚ÀéïÚæK'KòXñ‹p +‹x»©Gø9Kl{»“óUÅÏý‰úOý”"_ÂC¡X•#e1Ó¡”ù;ZÏHÈ>&)ßOÖýð~I,<¹¨î𚤛/ç +Ž¿[ è­i^i=šÑþ¦*þUàg-!SÜo¦ƒ{–ñ&Ñvr„¨íT‰ôXËb„±^ à›Fà7Ñv”ìT4²<°‰º]DÅÀèÞÌßHøµ¦~¶Ãéž#¿ŒM(Ù dv–f1¤4[n=©±*tK°`8K$…ŒÚ&o|o´ ÿ1ß²/ñÍ(AÓhë8–§4úN“­ó<£á!ôÃÒËgÞ±y3áQëØžt?*öô³ÑÉP/bib‰Ã:…+F/W«?¼¯è˜’…zu×dFñ0Ygýî»&@X¢;1dxŸz×I‹ŽÜ³ÄV‚vÄçXr§É¢ñ 9êFKƒœ6Ò¿ÄíG¯ Fc‚ùÞŽy„†ýß-꣛}ø¢rî²Ø–O´A:*Íž±±ãùoÈÿVL»I€Y6è'Î?ƒDÿøw5×ÚÍÜò%FjMƒ[Ê°|ÊăÀý$1NÀµê(sù¡3H:fÏ!r¤Žž³£ÕÒÓTð.ŒŸ‚ ¡ÜWßà*¸ÚªÐêhä♞w'5/¿À@ðYþ•MncYÕ ¥·jãK1êUŽ:DB(qø§Iq‰©Ìh­g-×{(oK¬/N^‘:a˜"P‘kP†;µ ½ Û]€þHŽ,KS¶§2`Ì~N•{'•H’”ó¿õ_­)~¶óùÎœ¾ÍŽ³[—¯B.q­È_ͪùÞd­s”È¿”6Ù…‹×$›¿Â,»_bYDAi¡»š2Ø žæúEe ñÂŽ¦°ÞëýNXI{9ïý¤ö'7×:Koòû¸È_ã©0_ExÍó2ØE€ ’õ¦ÒʨG™ùœ~€ÏÁÏÒõÐÿK’ñ‹’¹¢Fï±Eµ²km €s^Ržß‹„K‚¨Å™ä*l¡³ÀU‘•LX.Ë™¿k‰¦ÑȳfT™óéï=c7fØIÍÌFNóƒÂ=Èq&¥°=„>Îa¨P_&n%îI}HCbÕŽÚ<µzËœcöî§IRm)‰Ø(]s ¦•æº*ؘø1Æ”‘äõY"3÷"*•ý_ihH®bëÒV=‹½Þ5uuA-€jUŠQ°; wë+ˆ+`LÛvàï*2ú‰l¥Ì_¬÷L tò|1+F¡V¹nÊÞ·è¢„× jò8ï =’£‚ô¹ÑMsë¤tÄ©Æ1äâÜV`T1·Ëì;!y`É–!*æ=6¿Òú³LuRP] óÉàZÁÓê)iÀ¤†êÇþ­–é) +¼àú‹`ox7š›Ï_¢Ø@j›ý/•´]]Ø(:šäcsŠNI™$ -7V€§“R9æ'ÃÆ\zÁ.w=†Õ‰ï –³;þÆ03ÑõdMA:¯}ŠÈäâÏSÑà%L“ªÓ=0"÷µ“ ×0Ä +®…±UñØ#¸(`°¸a/¿žh*«¡~† çÖ Kˆω×|뀨™÷2tëžœ>²)P¬ÒppøžFOø6À»0­ÝKóÇ?SÛÌ•Ò'¤yD’îÌ#øì4+6ˆÆ~µ™SÝ^^{äÑ>c1Ô­Êõ­j¸ý ]žQ!‹‹óã{#ȯ[­+_*<åRBÑ¥Ù]jì­’óMg‡Ã<ÌåØÉÜuQ׶?`Ë4B…XE7Þ)°‡êG;u,²; æ5‰}îÎ:Ü€ÄIŸ&ÿæœ^ÓõÜâ*g69»Ô`°Ü|ša?Zæº2ä³7ئÈÚ( ¥–Y(\D›W‰œðú¬V %g3{;™¹J“-Ýãq½Ép[J}ò¾ÿAslüКE®½Ö+í“°s %€úL×_Þ!oìUXz‰wϳ Ôƒåt0+3Î,_úßÞ@ƒ®§^åªÀßÖnNBÔ·ÊEÙÀó˜EB˜ð[20§)¤¯$Í{"åšØŠÂ2¤fzôt´`!­µN~gN#fÌÜvEÅÏè!‰¬[/T_e)B>©é×IžÌÛïá †aþ÷uÀÕ œ@üF-Sô*ƒ*ÞRvèV> ±*|”‡*lNZ !0ˆ¡j@šv#Òß0Y_i +Ž¼•K+T,ÉiT@#VÂ}ÓÊôö|$ñefNRߊè£ÑQâÉÈszúÌGŽ¤ß–¹3›dQÌròº»PÁk=ÔSª2øúÙóÍüšZ2ˆpt}äxC€X$s(_ö2fUÔ^¡<Í¿YìñO”F˜í]q‚ùKŸèÕ~n³™ºcþªüSÓ^[u/®þ¨¾EcÚ,íú÷küË:¨6zôTä†rLs7ÄghMö¡ˆKx]¿«¨ÃeêkF~N©ëZ1{IaãO3‘ÛöR%Ô¬øñ:¬ì±N ðP£Ñ¼R™™þWmÏ?±ôíq±h·úÀ1y­¹?yøÖB}MŽ[M.ÿ.ëRó‡ +ÜUÛh +†(HˆGM¬‹ä´ÑýÁ·v$î›ÅèŽÁì Ï@áÂ7"±òÅØ,?<æ•fÆHµ0#qißüØ«¨b}Æä~æ`lBFQï–¦I E/»EÚš·¸w&õ£T„ZÈ + åiÄý|•Œgf)ͪj¬¡3$Ø¥=n§—…ŽÅ`Å´/g O0Î_Q×ù¹Rë(˜zÙ­‚Pp±ðQ`eRUNqŠÛwƒÆ=“}êÂi,}ÄÏ¡ïg®i¿¦Ûá¯ç‡4}‹¥ÃìQ”vÜJã3fe(~a5s¨ö 'Æ[¿4¦¸Ü‡LÎÓQ¦Ï922{w£¾[ìF¬‡‰—¢ÝXUƒû XP³4¼V6™f·aäôùß[N$úVð7 ¡¥Ê M³Ì{Š=ÙP§—!€˜G¥e§×ÎB!ä–ÊüøÚò–ÔY!q\»›ó¹ÝV±3×~¹e%§ÕßMŽÿ{»¨½{ýèùñèªC[ŒÁâ &¯VÛxVѱü¼Ô\[ÎÒ_´Ëæ »ûmÓRÅhÞvø¿ýÈÏìÙL>“ºÄîÑÊ80_S;%ä¯ÐXSa˜£'Âù_l.d¡BƒpäÝDëö€m’s9‡ûf8ÝXÿ©±å7}4— »ŸXÔtªŽG\Y\RÔ¯1Ô°y´FÞHóV¯} »6§Ú(ô£;‰.•ˆ­:ÀÍ}y‚íî ‹Ë…Þ´ZØ!ïÄ뼉¶¨qóƒùPd3³Ÿ +koêä¥ÆÊŸc“3÷–1­/>ô>ôWgmÄä¹'<`É|Šã}}o!UëúXvbB;´[œ'y§ÙGÜ)÷=Ö +W2 Œ­[›|+x5Š“†ïË©a¿b;C%SpeøWtr*æaÞI#ŒÊ©ä<±äݲ#Ã5¶¢ÒÕ­ã¹)7Ôs4þ«+綎Ā)¬(XÄÓÉßl÷_˜úÕKÖBQpv.¼xl¯éVWç±^ÔÜŒO°8†'”6FJëöüϦ˜&0'ŠAbHÉÉYÄÈ4œÛ®iÄ8¤ž LIWñ0Ð + tØz\¦‚úà6ÀZôí>%à×­¦Ú•:g2‡‘ÌìRêaOc°¯bé|ÌtåP³/vœ`>ÞÒm(Û0DZÇhc,Zÿöl0ž{ @§sWP(¢ˆb¬ªH„ÄÞ•þƒÉ>ZMto†ãèS÷×i‡ “CšQ +4¹Óæ–ÞØ)íuºî­h0í´áG ïIC*~o5Tóp“€ˆhÄö£Vƨ+]%GÜì¾Bì£Èx§8Ê~à´Ä³PúØ? +gëØ‚TÈÊÑÙ;ãº-ÌêUgŠJ¾Ù-ªiÉëêõø¶úÂINÙ“w=Çï¾/Ðжl÷ÿ³ÜAÒíñïªl÷ÑE´€¸óvF-¥¿îà,.¥ú›ÐµÂ„ˆÈÎj1_WV2a‹ +¶ô†Z Îrdßã/Ñà÷qÖRÛÜ3ªf6îà2¤ùó¶ö:L‹Ô5ÊÒ ü'¤¢ +¤q"’rß™ý”˜€DDÆ,™·Õ‡è§{}Nö+óŠ×`jí¶ÌT ›[ ÙÎ&^Â+Ó‚:°chI³}h* fyI¥:í;mxœï¯<ÏvãGcèþ`pA%œ”W+² µåÞúWwUø͹W¦äDѺ`Äꣻ¡|”Ã$(ù¡E)ýŒ¿ÜC\±þ»IsEÜj†ä~â©=˵Z¯9ãî·\N%I,X§L,êT•Àun·ý5ü¦0'e™ËËáÅ„ÅLaÊ-t?SùALæ+zèK:E„ƒþ˜©.}î²0‘E)ÖDay9ðš¥U†h Èº UÆþE;÷\Ïz͉mðïÄ8¨Ø­OÅ’Ø}‰þÉdüp „ì´}º‰ã1#%´/^éÕ3÷ør8`>¡Ê°`Ôã·öÛ¬J6Óø#‹»°¡É4csÔ𯂢ª2i†þ>_¿“z¿çµŸ'E<±Ê°fQ‘‰‡i{üû„ÄD1P&^?#ˆËpÐ*ÊO¼½+¢CדÜbÕ·Ò¦àpI·8‡4ønwùa˜Ø¨NåqÎ`a]då&ÀÍŒé¥èHxb (òûNR¼sBD¨B(¦U¦~wl¾"΃3ƒûd˜˜Û›¡5–¨Ø©_ÑaüÛû5éfsH€C°Zþ«-¬tÇÈ:KÿfÅë1¯bY'‡*ôtµœÞCé?J[ Ân·Ç1 +Rˆ™ø§¿‚“4†Õýb §nŸ©ArB„1çC¢õk›-1«ôãó[P9žsz%â9Û¯|¤Š¹nh7ä<‹=üžö,EƒCå!-ÑÙ$f8=©y‡^ó²‡2<¶o¬< ℘jTÀ,ž/=†ˆYÐ× ŒRôgG±`êVÿÓ«Wy*„³Ü6Šîò‰ ÛG†fÎj¾¼ªÇÙ2!ò¨ë<‡éW>C ¶:+Ú’çšÉjŒcþ*ij°«uÍ™½5µ++ãfBÃÖ׃\ôÀ¼5tfr†‘T”j‘Wgk¹Ÿ4¸·}azñ†a(eJ{0 +«ÓUî’VÀâŒðâÙ”åýçæu1â«DÝ" ÷zÏB"V˜P›ŠçÈ„ÄD÷žÅ„iC„V%ûïô¾–ŸY©?¦o•-AÜ\ÿ—¡ë!×Ò +nÌ4ë’~†M2ÙŘ6¶äztf=ˆ+·Ö!N¡BÉIA´ÌpÎå83sN¨3(2-lQb·°…@¯à¹]:èf:Ó„Kí.Æäa"Œ¦5F1÷2Ê_/­Ër§/)>Wl}¯Q•Ðî1Q.|çÈ)÷ŠA“%<’»YSÙ8áZÉdå5FøÑÊ/jrÉT¹†õÖbÏŸJ?œ Uà !«–q‡ˆ¶ôŠä-²ÂßRu-èIáõÈn‹éíÉ Í)BÑn9Îo:#ë'‚7Ò¥?H;'V¼°îµD–MØö0mì"†`”÷ë)ñ +—Xú„ÿõÄÕ€¡Í_]ˆÁ¼ûeuëqš´Žmô¡zrsr«ßR÷ Ð7÷ÚÔ•O …K´b-Þ>EM=4N…å‘=EæÜäh³¿ÐSÅ·ÇíÐÙ—FƒW‚Å ÓÐDGÂeÏK÷‰Õ µxS/¢¿g¥å ã|^sYªSt] +öc÷ƒW>òÍæ²l<¿º°_%ÚŸG`lh•€a/öü€—ÜÁïÝÒ/ŽêáÔB22é7kF÷‹&ðò¢-€‹Ù`)ƒ9vÅa˜ØŠà M„%ÝýfKIBiÔ¸'´íVM䎸Ÿ¹_[Peoä tì,üËOÊ8­’Š +%¢½DAK¿Ùž$øVˆ¸Ò†ðâQYHÍ=× œÎ?Æ„Û®r¡æØIk@ÿ‘ +»ò¬&”f|t8v' ñð·eæ 8Vª“_‰Xïè­ìpÚA¤Z+>IëçQaÔè&kš‰„«’®sš¶´$.e³nÙ—VŠÉ5c$vº¥Ã´w¯¯õh R]úÑíòä0b‰õThÀt„•8|¤­X.Ú]£p4SS×44Xºº§uZ"zÄ_F:9©£çäߢ–¬72ÍôÍe&ZvÉ$’®½Qþ°ï\´2É9™b¾&7'Ú=Ò‡V@à÷štÂ}÷Gg•ë9L}1îR„PZuפo¡ƒù5=`¤qéG^°•º7 j›Ð{ÏÖ·!HRh^‹¤elz+š-_[^Bs•Í‰àúy«ÜçäÓÁç›·£ {F ¶±¯‰ ÕmàÇãl13(€wo–Ò`þ»µýBqý¥müÿ§FZqmìúb–=u>w¬\ï”Üh|üÕU¥õ¾){—øf¢ù{ Ûò‡)Ÿ³ŒÛòÖ/­÷q >-±ùïmæ:¶¤asïm¦):€rʯ‘µ«Ý™î¿Þ\¸yö©ÿ`€gç®z÷3 Ÿâ󪧣<CG%â2ãÙ;h;‡ª@e™eGÙLü æm”ÑD7y2 +=®µ“âºIÛ7û©ÌíK®ÄïdÍ}G\‘‰ÒzHxìäBÞÕè9£2ß6ï¦õ>yËIº½¡ª<üÃ{*ÿËà(v} +0ˆ¶8ÌSeší›¢’ˆ#0žxÏ{±•Õ6 Œö ’M£FoN‚Zˆn à—Dz†Ö=lñ’ûWw¿þŠê¨Z(©£úXV’Óô4 ŸÒp/ºCùö0ü1C©á=­áK¼Ùí`Õ…Fâ2«‘ ŒÔ’!®¶æ¾ï)5<ÎW»b›;sMϨ…WFê‹hs)=Ùº9FÖ¢a˜¼÷´ï XO𬠨qXe£"¸c*ègû±„®S´YÛz–Xu|ÙàzW¶‚(%¾«€zª90$«3ˆÚÅòqFP;L­\FNv/ºãd/ÏRæOzÄ¢+ÍK­ž¸×km¶UÙ Nöÿ_H 6Š­‘3ñ+Ÿ¹³ÝC2×ïÀ,ÁÏß;¾tHã¢ùn—Žî`wýëx†åSV+mƦçÊAØó'½¹†{ƒñɺaÉ [zb’˜ŠG'©ŽÞüERÐ0sNõ20ÿËšm‘yâh“Òßd¹wc@á 9-4üŽà" ?j‚–D…\­ .™‡,Gej€wótßO"'Õ†¬š ˆi]W S/¶LÂŽæÆ—¤Wn]/HŒ¦4ZQÆŠãâe…1pÒ(|!Ç)ÍO$ª5‘ñ4L-8}"û!|ošaY;³ ¿D5çÌ¢çtte¸¿å½±N-šË܆©„!³-i Ú°JUѶô”#¤´Sȵ ˆ«Au±Uu‹»Ù]\ÚÜX2‹«õzá+cQw˜FÚMÙæˆgÖÙ¥+R“Ûf=ø!÷òUçëʶkZ&‚ï1{ +åe•,II$ ¹çÇüólt´‹bïër¸°÷šÌòYC‘Hµsö°üB Ø´qh¶÷™£ ê ·z Ú¾tçäÙi½{ìà„“èwìíª›z¹ã[UYTêjªKÈv(±ñ ¢éfAÉÆiHž +VªBåÈçÜWGеgg­æU¿ÿ¯ØwªÙ˜Þ\KÒr@3ü/:^œ?¦¡7¥úLu×OZ;Lûëš9߆=DQ7å{âJ+o¸1¿”ø'‰Rü‡H#îýõi¶J¢¦·ôÆõp²°ÞÑVa]XD1ƒV+¡ä…ª4b¡7Uñ–iaëdЕ·½_7ŠP+a ¤ˆúøÊœ»°³JL×ùU8ä/‹ä±ïMrs.ª¯a ˆ—³òàÖ“õšºƒz{o„Àoú×ÛÍtÿ»üÅI©Lìà|¿/‘Yg ˜³ž¯‰c*çU¯œeØâ¦2âÝË-¡¿ÑÅ@‚ Ö¢6¤¸` ©nB‚ö´Eœ®1e)_³Ú“$+H²Æ¸Yz<‹A*s½²Eï”]vþw€½áQ`aÈ[Ùrƒ+_—l cÐiëZphW¡õbîÑêË•&…ýçÏ.•Å¡õNy /ºmµû !G™ÿ¡¿üüVÿÄ6™ÁÍ\saxü¤OñC ŒB7ýD{áQJÐàhMx>  +8ÕÓÝ!§º1:·rØw f# ¥ +Süj2 £l9å,}‹ÊGØ l>˜Ž¥~ŸRÓÀ*!l9gðkY>-ìÐ5 O‘Ž«IóixcôûéOÔ®ÁMÇÉ +endstream endobj 298 0 obj<> endobj 299 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 300 0 obj<>stream +@¤ÀX¶qq†u¶iu¾·ž²œÕÝj5…^°¾‹¢&b`·©îL!m96¹­w¶DØ„ 2€ö—¼ð–¯i{b:îfw˜I“a¦¢«ÎQ©¿6y ùÓoAÆ?eŽÑ³ì•5œØOW:M›¾ÄðÅU(”o›•ÒÌßãæAM;âߌðöªRòßßö¹éŒÇ&¿üS÷R’îhlÍ<‡",Ź”]Ñ𪦎I£è^w$eR3Ú-¹û¤Kö +·u|Q°‘$€W¶X´‹‹œ–cÇ ‹V] œçâ,N Ghºl`ÜÛiX¤æâž<<ᎺîEª©Êt›PÀ¢¦&Xœ ÖËk­çEÄëljÈóøº*ÇC©É˜þú›N Í#pk™y:%o‰¥T XÏÿã Üì׋jK<çïsoî´/½r’s‡U” XfÒ ÞhC¤Ó™¾hö735^»íØQ©Ú¼7\Ú"É®ð&]¥‘ßÇÒuÀvÈFÊÇÉL)»S€/žn´¿~s¨ ‘ +¾OpÓõ"à Uxâ~·ÖìMÉN¦Bzâ–ÈPº$âñ{X (0§JûÝïüÝ]ÛXeBã;Ù=ˆ`q^Íh‘Þùî%w÷ðc7J;DÑ•‹0h²ðN¥kXJH¨¥>ž›QúRZö_¥'¢ã]d‘Þù{›þ¸ŽÍ5|…^*6O“½ùûÜ/@ê$éTó£Jæww×ê"¿Q©Ùùx¡`jó4%sBéÇõí1Ø/Á¿•Œ«øS•¡{|…¨¼VÑD¸_«L[k«0 ei 7¬>#šFcÚŒŠþìh´Jп^@9 + +£r¾-)gÛ÷uÜïZ1gäªiao'v÷pf°¥Àý]ñç}ä³æÅ´A1p «TU-ò´FeŠ¥Ì•î2\c%ß<ÏÀ(nt¼è8SüNýîïÜ(ÈíiûŒ¢òímùc´(ïÉ=°è£ukvç¿×7å½}Nz'A% x²õÁ‚¬©¤:Í…]ŤVlFk&Špð)€š°Ñ­>|RÎÏÆš)ž̵‰‚1¨û¨J†+oðŸk T>>;\[!»vÝËÂwñèIÙ-œåš‡¿uDì™ÏŸL€æYÂÉÊÞ©U +Lb0ïíDÑ£؉¨43Ål-\+»ÏãÜ +ë ö-|[vÈ ÛV)ü]û\éss÷ °›1÷¬Êˆcà;%Þ§Gg$[þqŽ=<éÏ­APÀÄ»h£±ôUÈüØÉ2å´ÿÞ?Û$^ߘñš»ü—f‹µiE‹s]‚€…‚Zûòøq…Ç!10ÂK„îHgbÌîz‰ä<èæu'¥‡@÷“×ù}߬ž­“æ³~bÄXmÁ}"ÅÚ'…áÄÜ飰{ðÁ£5/ŽÍ¼¤ÊW»wEþ\É $¥éW>//íÇ’oxYí ý +›k,Î4¤Ñ॑±à ÀclüH4¶r9Þ5lÂÓå&<ªR|ÂçÌ­¹Æ yþÆLïp"y8b_µi)ù•Ãßûó ¥'!~ßU<‚ãá +–"c½ýÔf-gc4nÐóŽ>”$Ë’eÕn0l°‚ëM€ß¬§²´,'àPãcÓô·<ã$þm)>ç$‰¼d9I%P[a¬ûo“”¤!Hât7&ØäWLîÍ@áÎè4³EŽ»Vê÷w$¢]8¸äÀZa\[¯ã©ˆù¡e§h`tiüÚ7žýµÉ<Gä¨5éÜõËdnµjæ¸Ê1éoœ¨¤¹Oþ¯Â9G(`¼Cs—‘*VУ°'oÎë4"¾Y.9B#¥Â¶t—º\A‡LÚ¯€–Ýi™ÄØÎÌH¦À†<Ú̸ëúU%B·%¡_ZQõ0‡UŒ‰#±‘ýô ÁF¿¿x{‚Cr¬›J9ºy’ƒgNLévðìåÊ¢›ÊK܉^Z¼q˜Ç¦!¼Oìq£QkM5“zÑG-¨)‡ÒÈC)Äú¨Ä\gXI?¥ÚàøÎS.9Ø”Hy3ïY­c``]ô˜ŽØ5ú¿Eu†.V¾q}"™µT…ƒùÄ–>ì‘…’hë».Ú룘v6 u¤i yë:›ë…¯­róì$$ÇëÎrølsKc…›÷^£ñ ×´i<8…Ö œÀG×@²üÀ7‚Õ~‰|Sp…‡Ë71Ö‹= +ÝL®'À‘²~nNS|}¢x«o,x)„Î=Ìý·ë…ÆnDC0E)ö|3Mœ:‹xüÖË0VRó¾jÍõv„ó›5FBBŒÀ]O;«æ½QO•–à(IgB"p˜ìäΌȴÏä׫Šân:x«`IÈàÆ—¿îOÿºÎµäð ™é}¾wW_£)99¦š"µâ̯y4À¤/>pØqƒ›\$]ð;ÓPîÔãkT5E?…¢nÉtӥ½׸䴢Îig´Â±o…¥0Ç4š1"FˆÛ•—|\éåãƒ;©jb¥´ ä«=çü1ëßr´uågç +6i¿p•ˆ稲*†UÄz†B4Ù¸Ït‡¼U…Ö\¯ #OÕÃFÜZ0Š†Ùã•<–ÅÐù•óäËK=Þ@”Døª¹¢˜ë×÷ÚÀ«®÷N\PÈ”ŸºÌº¬jdLïûó2Ò˜òÁ*©Ž!BWWL8x¼Òyê«A‹ y]OŦì®b6ëh7+ûˆjûMë…UÏÑ?ðÝ–e9©„èºÍzo``if|µ­3Žqu #,>ÿ+Åaˆù}ÍEVãÞt6î:ÐNX ä#ïå5=¦àlŪXÐ<'™ªàe˜ÓÇп,×Ò­†æ¬RÏÍ”Õöˆw-Á©5¼Ç©‘K ~\Ýãgü¼’N/ þ™œ([pXk_©¬i@pÆ + œŠ ÚÆž‰@k´Kû™Xë¨ùexzûâ¹ ¼’(J«æ&÷i†ð¤ÍŸZágåÂúkÖ~Úy#Ëß&|.hgaÞÔ¬B@Ê^êfû lü§ZøØ l/ûê-ai“ .Ÿ¨4Kd˜6ØZTñ`ÆÙ¯A4,'„O$äbv¦ªˆß:Á³•¿œÚ¨úKº›÷ÉÍ ê!]‘ðÛF0wã5Ô.Ö|pÞ è7Ô#úæþ˜f›˜raQô<ÆX};áë»1Y½ì&5ÁÀèŠ@&À©Ö:'íôçW«ÄÖT-vÙ'é0Ð4>mÂÊûxR¤ÕŽ®£Éõ[zJõ*¨Ã´í¦¹@ñ‚¨½üR ÒoÔ€ö%z'àmIz¤§‰¯,¯b“ ¦Pe¶}Dÿ_q:~{Ù¥Ø eí +ÑâÄeÏu=Ö0²ó&õb¼fžzÃ8»H …«²xl@´X`j¢ +ø…Œ}ãGÒôb*I ÍïD؃3tò¦+1õ÷Ceœ+ͬ +á öc(LÔ¼ÅÜ0¢KÖ¾ø”(htÐsÝÖé3×ašíXR-'Wþ‡‚gž‡tÐÈ›1 ÃXA“ˆRËåX†RA‹ãÝZ¡²% /Rÿù àÐê~ +Ôˆê Gm|¤ßNVµÈ§Çç9Ë ”ó˨ÄÃÎþĨ•Jø%Ü¢ny)ÿ(•ËÎsî†à3{ÛPž^j˜*Þúá’¼à+ÌD€=Î%R<˜bÖîÔn­eG^j¦× +¡/£e¥P²LÇž'ݯR8úóØ_*„s(JK¢÷)õX[}R³¨¤3¤Žði,lÏÖI’`~PLʲ·ïc‹ ¢Ø™¬dóŠÕÞï~ÍçSc"á«KnQqPÛF#Nj©¬#ùãן} Vé²ù}_¹øĤ%7æi¡¨{FO ”BT’s”@oX¯¸s°‚¸ÄÆsb8¹"¿ l¬±Jù[]”•!pâKüašhˆl¤ }@*Î4ÔœnÏa»ç%—}~Ä.”6@“IWè²#3ïÎ…q”`’¢7’ÏÍ„´H)î´ –­«ùž0²»øßê¼;¬5t†:{êÃc,9›}Û‰š°0–¯À‡£«ªO¸äá@`ȆpÜâk}t™{17œ[öB¹… ÈëÕ\.>ÎS¹Ç)Ž‘ÃPݨ·bñ·}ú‹REók#¼Š¾#÷@½½Š +¼ÜLï[˜×U²Nd%ô?ú©y ½ +}zl×”ÉäãzÐ~;´K s¿/ª.ëH¤6 +êÆ¿q™Ùq!…CÓZÈÛ½$Þ¶ÀñrÊøj—yÛ¸Êu¹õ¯t–ãµA‹”S@˜E—5¾êÚ—°]¤ß´OÑßÝZ|}gd|DÍ}™ +T]‹#„, =ךPýd‹ÆÙa]ðÔhˆ®Â¿â"a– +.=ƒ[ð¶SÅ­e‘ò¾\Ïä Gs×6M.¹>"Ó…GQ¶M*mmæÌVoG—rƒ—•èºG´>!ûçnê$ æѤzUÍ1è÷µôbÚo÷8äúKÃÑtV‘¦‡6³üJzü*ô˜Â{ÂI\çY~m°Hê¬OæFÞÛtE ±™é~Iàæ‘t¥’éè-¨ÏêLÈ +çî¾=Ãé´¹<†Ç.c–¿ø'!°°ˆŸ™uä´ºK¸’ StÜE¡TbSTN,és rc-26ÃÖêÅ€~9>ØجÙä[ÿz‚EÍ7´zõî%éz®IƨùwT‘¢–G?z•O +ÚÙûÂüfÝ0º‡ØŒ'nrAþž‰uÆöÙWz|áF4íê$›÷v¤Ý°¨ƒcè0C2ͪˆFdºNüeÊ-©¸Q òUŸ_ÂûöÖë`’¾+´ïæyb<ùä5v]±þ¢Ÿˆ Ü[1}ÂubLº›LÉ#7'-h Õ‘'fäªJ»ë—¨-ªŸ¾wÂÔ¼ÝW£¬oüÕÛ¯ÔYDlÔœ³†óÖˆ=î'ü°‘¥é¾õ0öòõ)%ïèJ¯]}t9¹‰{g¬”`õAZ²G[8_ÙÍ ¢ÎZ’µÆví—¿yFËïRÆ,SÅqnÛ?þ—«â{¯ríú#oÌ =½°LVyÈ +endstream endobj 301 0 obj<> endobj 302 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 303 0 obj<>stream +é!ȆUÃ!7€å¢®98=Ó·ö>‡`´’ Š~–ˆ*ŒaËOYW«b:·¡ÆÊøþ°Qõ­²áÅ-ÆRåꣂÞ—%nªû*·?ô- 1*´ŠhA¶(Žì&$”ÂA½~øaÌ…>ÙÂ5FLQ³s"x0Ò£ñ´Ÿýj.N¹OÉn’ÅÑö÷ï X –B§fOðÓ2‹ÿå˱“5¯³V÷×IÂò!´øû_,b—UÿWÚðéf±Y®úq‡§Ù=Ôv¬g.`ƒ00÷dŸw¥Äñar}-möþ]m\ôýÜO=WX†¦T£1êGÊ,6-ÍnœâÃ'wÐÛ¬b·XKº–‹½wÅp · þ¿ùÝ?KnÔ>º Èس{ÌéXãì×yóh9)£¡¹®÷i¼Æ}¶ + ±¹Æ€(²Ä€¨<– 2‰—†ÖíÆqHJ‘  çdÝî÷r×/°“bT¼Þ ié"„F‰í3 )­µÈɯ?t:r +çwÆÂy$ž¨•TýÉ–I¯Ä|Þ=ozÜj̆ +ª^®Œ,êiOÄ"€|<†5Ž¸ïGfazíÂo°jkcš§éS3vPÁù+ŽÁÀFÒ Webm ­ Ý2ý,ö=‾|üüÊ ÆŒ¥÷Ùm±t²pM!ì§Èû2!k-9Æ*Ú>øô>‚OÜgÏýÏíGÁÙ–ÇêUмG }¶¯1èäb‡rDbCñyó"ÂÇ÷Þ½ äL•Dh=¡¼2ÙÐuÇ)o¹m¡ì`¿7geCŠç¶2$3%AÃÊ°º"BɱY±aÁ` ÄH¿åÀÁ8Ü­ÖÙü»ï¤0zZ®wyñ}àjƒàE{œÅÑíq¦éÎÏ8é—&~1ªÏJÖÝù„ AàoÝãE˜RÜ’f›«¤ÎñsJÙ‚´{¤)(v½Á|îµ›a=³S¨–Çö}Jm1ØWǸ‡©,½¶VM|s<Ú?Üÿ¥ñwûZMÈ2í¦ ®š döM‰#s»CÔç+C’nîAe$ÛŒ]æ²[{Þqx³.õÿöáÖË 18˜ë5”§Š&8Ý}q +€Wƒ] t0H}Ô Xh]»&ZKÖŸ€Iûð•åê«Ñ6t.”ìuÆ$õ„™‘w¦!dåyÓ-ù>—ðœÕÏ;`—¾HûAê^øàU·Ê‚à­ûµB-Fåþ*‹¦=P«Ó›¢~¸£è<ž“¼LÉûåßI’ŒÂFéÖz(tl9æ©ýUWÁ ƒ¿Ç.§ùùÒ§†“„Ïڷñ|¿‰ºÑíÙ¨[*4j' ˼—öÜâOÉiy:šÕ¹Ã c€§C˽øcÝ’…M=âùÒO`‹bÌ:`òñtdGŒk·qŸœAÐ4ã1d¾7Ž +Ó»Z-¤<‘cZ4D£Š|Fn-)g +‘2%7ez“K)w¹ÑXÝU¦ãØUùiA½ú%j’TŽ©¶´“ëvD³Ÿ¡ß­ŠW°ÞSkxg?c™òŠ r%–ÕkDÉÀés<+VV„·½úsN%ù…,¾hb}h•¢Cpº:­ì hpotµ?œ Ç“!Ú„ ›T  ÂxH4Ø;¿ƒtGSï ³-â€É˜½;Þê¡üÇN¦Ÿ¿~BÿÛØ¿CIÐœ1Ž=tHBœ°¯kn²§TX¹›º¯„iñðóŒVö 5ù†ƒÍªGg‘ àwÁo*©d)ÏÔR©k\üU¡a°ûž²—ôA–fÏR‰ó áÙ¢­ðÄ{®|4¯“ÖPï‡þ7½#ÉAS27à+µìÍUQŒ¡÷­ùpè/¹ÀÑÀ¡ ¢Éc~ +oòP„èö¬‚9/nøuŽ›÷âºñ'_DrâW„÷P%éê ègi#&Ø0ñ@;[:sÝM:àÄ)FÙFÑ¡šÅ~ÚÉë>RµCBbn±Þª”êG?QØáxÓ^„òHà€Ňêÿ`Á «Èä¥QÅ÷V ` +~?TÚû-qõ!R^Z·Uà‘¾¡D©®YS_¸RŠq˜ôZJ±0òÒ©ÇlÍ(̬]Mq­¯Âe_¹>MU_ÊU·Š.”Øe”ÇËo§Ãn<*‡®Ô27/|„_¡ì%ègëß7á‰÷Ó >{áÍSNywzx‘×^ê…(ªCê2`w܆È,Àÿ¹Žr§ñ-ã·Ã^CG?órBë s],(â1™4™ï ÿhX¿êÐn¦yÔ@3z4d!‹§pÉ'n¥‹Ê)™Õn/íÍV'ºòÍ«Ïijxí[˜­È}¾´õÞWïkÕåq²ƒè[óR¥å]Š„ gÑr3}¸£³mntìÉ)Tfö\‹’S¢æÀ%:¥æµ'T½ƒrËŽ¡-›>H +&-;W:AÝÝñ°J3¹‚Pª·Á–3,%s‡cD"Ì÷Ùn«¯å8k»:}"2j ä{ï® ? þ[< +endstream endobj 304 0 obj<> endobj 305 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 306 0 obj<>stream +Éc~%¥>é-Ɇ¶7‡'O.?Û;`µÆ²("ǨVªÉÙ°ºàV8@½6£@›wEê 3>`>Öû'5˜,µÕUÆW÷’ t¡dn'›7¬X3¾ô‚ +ËöþÒŽi§7Q/;“·5nvô/53æ]6‰®`CRý5-6Ô²U¿™öª“õîù€ffñ‚Ueî}wXV¤Ù)~X¯h—™ÉûXUt±îeãç¸ú,á;¹6Àôvx»„[3{ú¶0*” ¸½·£_;eó»yeÙxÄ×ì…©ƒ=ìfsæMü1üwAÕŠ:!:™Ú©ŸÏ·D›Ü£ñ¼*8|€}>‹“g¹&¢`ÐËø¸À¢ ZÛÞz[®Š¢¬*ƒnï˜7øksq’ýÈJ<îu§pË ÈùüZ3ŒEŒiýÝhø)Ø~FÖ_C¥Þ«ûĪé‘d_Põ³œH𨸉GŽ5çšÀ%Îaöh¼N„nQ,‹†¢ÂýÑw (DüB"7ð/¬š_Š²”Œôàð·ºþѪÂÿQ€u…%.0â¾%(ì-wÁݬè«Eà-}\å« #ØtäÊH´Ñ¸9m¥ƒânô‘×Ì“V]»6pvÄ _ÇƨIâÃàŒO@_4Pja¾áÜå”Z,¯wÓuëNÁÕ +>Í? Ú°Aj–RÈ>WÓ눀­Jmƒøçp1É*½Xc˨žd-ŸÝð·a4 qW÷N—AÊr"ðíŒ1P+­^6û'³ +d„ñ¾þ~kV—½4Ä®(|ô—,n[DrþLÒÄoHè—ÁYÓ×àXoU·C徫®mF×›êë‹dÎö²áPœx¢§¦~ÚlI9Í}À”° +ÏiëP¡FhK…±RLF]Ó\žÛ@bÔD:Ø«¿Ž‘è…“W}»EñÖ% +e¹Ž3ÆàëÆÖw+qÞ"ƒeøÿì ['à9…´.a—±¤PÕÜ?”,ÜÊ|Å%IIÅ?@% ù/¨=)“6Lu ¬îç~NFâ4TÎS¾úWì2n’F j9VÙÊwÝS† + +"âò/ “O™Ì¨E‹ûäºz6/«":sþï%g€Å…{…û[gO!/+˜~ì>Zü”9¯×D2@cŒÍ×÷Eº±wmÿÉ’ÁÙ~/šeŃÏaŠŽ7H{€Ëìr/¯6s{ïŽ{‚Ð?Ñ¿4• Å7Œ5z&6”Tõ ú—m ç—û§®2h ó·&þMþ-`š=«Zó=ý2ìÑ.¤GfîÿÄïÄ’]àvRìõ1ÍŠˆifµ0G€.ErÏ:“¤Ö­çùÓ ®„ŸélEõwLõôûy.þ*‹²Ajw3ٯɉ@2´Ð}œí/Áyà3±#Ø“ûw*!¯Á8°24>”}Ùÿè:²OAs&‰ý'Ï4V h¦ˆèôøÖ¸ù\í{“¨zņE ˜qî&`C¦U’íwpSžŠ„ã -Kb"hâäï‚ìúm&åUWåxÍ£¢ž ÿéù!ÀÆÀí–¼S¡Ð3žWφ˘8)DÍå´"?¾ø:(Ô^C?5.r²|ÝÀ&Ò¦~o–ÎnM¨Ð 5¿Xau~p y”P'M燶£u·£tÑyƒg\Ð+ü¹Úiœ|[æE÷¦ò«.t±ß26Ä‘\ÞmŒ‚Á5$úµr“˜âIÔ2’/n3=äÊò•à™ÍPöQeu¸:*Ëñ•ßi¦tæz-Ò³»5ÀF«éÒs{«•I+ò‰…dª]C§S\¢Ô?äâ…ç“ýx&Õ”àŸ<ø‡\j#6“Õ}Ζ)™]î.™ý\gv|I¯Ý9(ñˆ ¸˜áy1¨êÇ›‡6—vú-glT©í‚£SNÆ0'Q`2àZ˜“,öBi~yAÔ¿ílâš@÷2¢Ð3hí­<ò§[鮶B,Í1ÏólZ{£§·;©çº{õÆ溔¯“okʶ c]ƒkÁÜîÙÎJìUÎé±kŸ¨àdž…9>×T|àI Aùñí˜ñû¸Áî’Bò*J Ç#l¶6ѱšNNNÕà@é'¨…9­S`ŠÿÅÌÅÿaÁXå´žVÆ°„S×qÇŠu½.£î†®\T1Hóÿ•‹¯\ž# ]¢ÊåŠpÏEÏVÁ{ÕgbßHÝì… +õ^؆¼Mºà:p¾ž®`¼Ü¡‘G| §˜Ø5‰K!0ól¬Ã£ïf!¢ ÷·áHÿªUnZ28cڛý‡6©ÕüÜY  È[?°¿boÔI,˜_$àéÇ4á*¼}PÍJeÄÍG­sù;Œ7€áôÙ­Ax;1å Á£q4øÃxÆèÙÀ.Pèv†ïuÚÎÀ»ÆÄä$¡²òG|#!™€b¯ 6§á©P ÄØ:KŸˆ%÷IhÀâB•AvkjÙqÞxE|ê²=ÜkdLb ="O‘¬n(Š`œÊ§A; n·-¾ÌŠàÃ(R¶Æ#Þ½æ°uE¾ª0¹ f9™Vµµ¤{w‹›S:£ë€›³sä;W&A˜p™À¾ôÈý5ÏV_†6R™ôs[&ÇÊtj×@Z¨P0¢ÏmÍè ƒÐò>…ŽÑ4VÖ í^ê“#ùЄk퀡„ñ`É(=ª—±\û@L”Ž +oG‚¥c9$¸\?ûFíiBð +J]Õ¨J‡XÑÁã"$*C£‹ Xô‹c=äÕu*žF[¶ÄŽúì̧öÓZ`‰q·©­p‰¿ õ¸ý¼Ù2<ÏR1ƒ#Xi[FG°)9=›baÒkYû>ö. |‘÷h8.åKDò ^î…ÔSÄPa£¦ð ±üËynIOc (â*èúÈ>&Õawµ“PÓlß5uÇÜm—ŠGË÷Û9ô¬G¾4’hÃÕÃ8Ë;r:PÜÈGº¨þÈ“ú>o óH¯·ËO.`ùãšÓLË’vÁ +àÈ|Ž¾±ˆc¢a]¯ó‹Qîzi£®_È̵vö)Ár2”ëžÀ;V–Päƒÿ㾜/†À[Þí@õâípe{$^ªrÍ%Vp¡W¦IÇ‚8ÈTè&È‹ü—Í—×Mö-x¡FŒD4Î9…Ö*‚w>µ‚óÙw +q0V£%ú>§%N4.ùW‹$)¸EËäZ¤kíåV^ÍÔ¡>*rô˜_Û£Ù€: #©—ï†$ ž C*+ÔO…|v3?|îç•¢4$zÓ‡½©bË?Uon RL7K{7|þ! ÓƒõBø`gÉ^ÝñðÜâl %Â…-)|üŽ&ω?E榈›»ÁÁY¼ÇvŠNûŒ•'û›ÍC)Bƒ©À5ÈtÜ‘èý‹"zçyêSXÓÍ)dÓ¹€&MkcÇÑ"+#×ùaÉ&Ù¶rG8Çüä ‹Oó¤èFœ¨;0ÁH(Q„Íu¯‚Úþ9Ü/Qºâ“XÿÌ8ôN‚–Zë+›24½Ñ/Y膛䃘¶ÌαY=‹G½ +Ðp«ä6á~†3¨Ì ͺb :q¹.’U×1:"2ŽJ)¾ÿqãµ-ù:˜Î¢ÄüÒk®Ô"4+%ƺ·›U ïOEëBH=¸’5ÛqeèB(íšœ=ÝÂHê%hË®ÕNN‰lÈÛÿí–Ž‘š¿¾ü‘оÞdDùÙ õØÒ[z¸|¢4¤²áÑDŽšÜ¯·Sx~Ô7OµVym·Q-8X®°gHîðÏ}áªtÊß`¼¹VÉGñYæÎ ‹®·¯ìDZŠ$ÿÛ·• ¼Õ«Ò"wJÅœ”»5»Ö¼!RòX†ã,*Ü𧫃ÔXÅ ŠÕ™ZÉNMli@“¯žþ[±ÉŠ—¨ñ™<¯¤ * Y™ÔL +ÕŸ Zy8 fv~0å¡€£6a°›k1;|Ç­0ûÿgú]>h§•¢úVÈ ' ê¥!te»F~üÔ\‘€ j0Qf}w([Æ…˜…ƒb¦lꆬóoO}>p÷ ý¥> …ë7•ò{Qoå³þì‹>¤HQ1¶˜ Ô7hméamƒÎ|8Le÷¨Ee4Ê2A°† f`X’*wüµÂö‡¥^Íóú-ÒûÁ>ñ „8"•©€'Æ{c/.¶ÅnÏlŒ:÷ò%Yf‘)ÓÝxÅ´­ŠÅÉNÍ!X +endstream endobj 307 0 obj<> endobj 308 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 309 0 obj<>stream +M‘)ÞC1w/ÍÓ;Ö.#|Ÿ]ؘ£w@‡LH¾c©–Ò:jn¢‹Ï¡¢ž¯ù Zæç;ãG(^à¿ÁñvãUîú±<h5h¨¹·¥¯år¥9 hÕÐ8/,ocKš‡S<(üÜ÷²lŽ§ÕÔóÅ…¸ü‡îzñHÝà•óè[ºêá.¶]‡tHÔÉ!åHµ´zM1åÝIžÉàA=S'>4t,¥‡©$1 +ĵÂVsQ&¦J ìÍߘä¿[k×Å`·‚®òA0AËÅ;Êo,×õgoÁ÷óô©j|º+D¿Ï(_JÞ{D³+±ŠÉæFÎT‚† Îh±¡üì‘=εÃPdVš<êŲ1À@4<f'‹ÏÔÕTg¡Àc›õWËiGBh?}¶û|ý›1õWœ+2wóЖ‘@€ê—æ¯D@ŠÞÂÝùæ˜ôý S ±ƒÑ¢X +2-¾Åž™h§: +mõht8²–ý +t}÷ؠɇô£Lˆ&æ½Ì—>{k\wqé vù,„†¥zR©Zjàƒ•=R°] ºM§ ÕЗyûܧߋ©…¸v {dÅdžwûd‘„‰Š)ÒD@­—[XØÉ52Ï놓ðÙ÷xáCø計>IžÍÕyéºæ|Ïœ Z*v=›yÉŽ]ÃÐâÜÂ’ƒ9Ý~qý¡Z$F!ùËŠ Œpuyû¬ýÁ„«²c} +{”q »4 ,0^~OF™œµ(I®ÆS^^|sWÙý^‹s¼+üÖ÷!;Öæ †]èÆdóÕj*i°6yÉ)˜»Û°ç$È؃ÖÒ¢³ +1Üm©ß _ ê§xXÞæëik˜ÜíjšbÚ›Ø>Óà[þ̧ւÙÓbÙÌmÄC‡òÒSåËÊçO?f‘?Ïw÷åTËÎQ½¥åi·sÄõ®UáH†±I ³ä÷š:N.’4E©2÷”æOƃl/jËeŒà7¸E;çØñгómÒÝCxë6þÕ…Úà_-Ö±G#Ïç±;ÁÑÊ…ìÌ3*0ûÓèV Geö X“$=݇vì½\6™¥‰ªÀw¬v…ëøôoS‰ïoÆœ2³"%šØšÁrä„ÐN É¥’®çB4o-â¬YM]Ks¯-J3›½’BÿýÁb¸d‰®²¬ +HÓm{.JD„86½&d|Âö®Ú!}ÑÕîí9sãûEðÂüÏh{¦zØÿ+q.fñÑ y‹îf$ßêÒ ¾P›òq¹ol¦nÑ~›»Tê'”Ù©BX/ˆíU‹Ø)Ã%°cNž“ùšÿVÑgUq‹Xë Öv3fG¦ßGäf}Sn6‘û ¬ì#nÜ"Çùo»îÁ~ý ÷GðŒ­Ý¹Ÿç5?#8_µÎ]íDÆTÕ"¬ŽäÌarU4³ê1þTlßÜñl(ÿäÍD,ä ¥mK+2ö0¹x6­·9 9ã7 y7ÏHa‰¶ ˆÊFS¹×ǃœ¯w@CªãÓ!é (¤w°X¾9Ö€Õ +Y‹d{Ü-¶¡:´Þ˽|ק,™0êÙåPñ÷íºÐø]=„;JŠª÷¶5¬[}ºY-öø胨hžÛÕ›áHn˜[K—´¼¤poºRòÐz7—þ0" 6Yîí Y ‡=3€Ò| »dQtóˆó8P€Ù—×¼¦WRƒöÈÉ »ØVßØÅÝ=ŒÕµÀ˜£yÁgÊázjDÜÑ8× io®4鸠>ÕË Ø·AŠÆ“ò1®W«Q‡X5+ɦ¡ï «] F¬?}ÆgIŸ‹h-¤/¿†܉yóícû§²ÇÒêyG„»€]ß«ì–rA~;ÿÐ ƒ%³qæx¹d\Áæ'šê¼xcXÃ_¢£¦À˜t¯íTèB*žVs±Ýø!>ÏÄ«Ç%Ï`™¯dAÇô­Àj+µ¦j6.ØWqÌwÞéœñ¹Œ» ±”¡$"­À þ73ªá^°íØÓ~Ú£ Ò+±-®<¡Ev85Á¶b mÅcÖxõ E±%þ‰^Ößra¢¾è÷.>bZF™Á +w_ó¬Ôà™gÒ$Ü$lb €ªÄÚ è®qáسÕ;k°#¶¿â`¸–aö2J,Âíü©ã ö¤¯ÕÏœ°׸ A|œ'”Ò»‚“§Æã/{d÷ (Y 通ĂH¹?¬èž¯ fõ”¸ä*ûô@¦¹ß8GyDÈ.VÎúîƒSÿ¡o= r8thtˆXÌÏÿ—ãÃÁÛ®ìïVŒCòJî· (x2C1‡f^žûåW;¸X¨R¬–Æs;æñÊ1¾JµÐ·~tD,ÙÃÉñ„$Á¾úÀr@1oµ¿xÊ&ž×°æ¨VÔ 2ú窌¨ìG54îí¯`?ö]ôÓ-:Áh[_œÂ<|”Ð&ßuý89Xæ2ÀÐxÑng{Îú¢•RPk.ƒŽ¼û6( hÓ¼†Ã  oŸ)ôòð¦È*”KÃ)dÑ•¥Ñ•[;pˆ>©w jH‹?IܪéçÙ”ký c¨¶ã›I‹ +¹ÜZ…' +xæ‚Ê9ʾ:^Ñ2£¥ßø %l[p‡Ù'$ú^7¨PÎ#¦ìÌiˆ°5y(Z·Ã†Û¨!Ú>× nY}Úl¡£Þ½ <•Uú‹Y«DJSºJ¾¢˜ =ªõ±6ðøðÙ wº«¶øpŒ¨OFlS᩽I‹òçix{ Â9-f.ÕÀíÁDœø=¼BE)£òM¹IlM¡>[¡áŸhÄ&8¾c¯]!]Ýã:ù…ãOÉ*ÔÂÊÃh—ýÔûúøµ4ÕÏ·Èb5zm@$x®•ü@ß^˜3ůŠÌq OhèKQ {-›•¨‚ÊèÔ‚¡/ÈMÒ‡ý +èIø!)Þü2€”ZåKZÍ&X×\/IÇhú|N\Óù—î¥lOs2øyPô· m¹ãJ¶ƒ®ýʡЪȱcÜrÿÇš‹¾xvÍökE8‹Ü'žºï›y·ÃÚ¨MnŸ²'»³dwÄú§;o¼! °"nYåì9ŒLæC'WÖ¿¹SÅ¡äJZ´ül¹)íhI9þèOHA€Z;™`ò!ɬ‰‡^;ÐÆouÊ„‰r,‡ÂBpI:tëÒ-ØñD Ã<´ÑÅ i“ÕüaÖ)¡|Ð&r[Ñœ{z§«L¹äûxPÄý'5°Ø’i±#øð>N‹°OÓâš+§¨~d!'zÇ{åî\&ÈAéþR‡«RõkÃ7ÌèxýH/ÍÎP¹x…j…¿H8³Jh/ÐwRí¦Ù3–ªÈ ÑÇ_¸Lc¤¸Êi,|æï„Òþ +²‹’¿õO‰¥zì:»ýØ:¡Ùf{îÈ9ViˆqtM‚®f +šÚ€¹Ö6MqŒƒ ×xÒ ",€žƒÜ­¬QV1;qyÙÌê”=Ù@˜N¶$U¨LØu<°_Â"ŸÔ÷]7Vû—7øŒ€‚4îÿŽ4¥·e.RRôØ8v–Ÿ+ß 2~Ô¨1E!ƾˆÿ§nzù¨»1'œ]ŽJK9£«3¬.³s)—õ‹¯ÿ((Ä óV ÉPHwä-q“ ‹[Í2V4÷#èØÌTËÜ ïXnñßB~Õ¤[ƒ>¾Õ=Dgùç9°P¤Úå–¤BhQar–ÞÑZiÜ 7S%6l™^m½3·Z|¼#°M^–Ç8(Éôcš— X[Q|“á8aWRvÒ˜½Øªâ² ]ûÚŸ<ÂKŒ~¤}9g@Ævx:þß+Ÿ*µ‚â’^•ùD²ƒ,Êg(fµ™“Hû°Ó7r]U^ûØT + +ehF³Þ9`Õ‡†•HmI†˜"[Ãð¬ïæiãÛ./Sè´z#ý åqÈ@£ŒËØKÿ9×ÌoØ’€ªÄvȺ•‰ËMè„ßAª`é`Ê£ïn`)A– (â|ÁWVÒ«ºÓ½÷éÈ€2$éÎ…ˆÛk}Ij(V8%Á< +Pßòh²ÖMFéCEs5WŠk$FjÈNÜ/fñ$/øU°k+ÄZX°(òúÆ’=¡~}jèéĈ…ea_¨‘,NÒ:oLS>¨¾Tâ’€ÀŠfõÆ)Á‰ +Î)×¼;æ;º]õ2UQ)7"âŠØÙq8ÒrÖ@ºïîTãï&V²‡|£Šðòú<⸫¶@ØÅé¬L›1XCȸñªÕ)!<—.Ÿ>Ÿ¿”‘ oVÔÏãHBW‚¦}"‚zþ+ŸVŸÐ”äºó0ÿöøƒf/ü ‘¼V§™C‰t˳:Q +…Ü ¶¼>:ƾ½È:‚B òz‘NÄÕ×))ÛWV2C|œN•XsÙ¢^Ì-äA?®‡U$P[•ìÅÐ[6µ«¡FÑ ¶±›hW?/T·J ÕY(0¢4Øݹøûáøm¦À„¬ÏÃçÕi†ì$›·àU3 ‘›ápM¾ ™Áy,ff™Už‰ŽK9œ–ëO¸f’F È´u2õÝMþ7Ñ6j2ñËé—^N]RìYã&QM=ÌÆ É‰¶t ¤DCGT³/S"S›íR¯½ –Lî«`?‡ãW»e~]ÐÃ{u_ Pâ©çåºÍ=òxÆíû³u†Xº³Ÿ4’ÞãªÿíOþ¡þIt]$¥—.Ê øíºÃœ+%»q =U“:¯Ý4ƒúæƒÝdy­+’]n¨´w­<ßS—âY~I"…pksY°¶BŒ’öÏ¢4yYéø¥¥‹ù£GÞ¶týW²³¬Iiه迻L+g¨¥S¬W”e€gß$â8è™Ò=à4¢ ùO®fœœ@¾8u^Äî],Ëel%BŽuÜIªNæÁnv¦6•¸è|Á4¨ÓŠß×uæy)]²{þú!FóØ&šÛ¡oL.%)R‹EAXóÈPÞLuQºÏOË}VÜÀájz;N·lk–ÌvýµŠid««™På!$r¶ÐØ‚uR²¥!ŸùàäeÜ@¢t¹²Ò~ vªÂÂ2cuœ'ÊWKTS#Ë€&Sªú÷t9쉀sT/Ï¢ÞD{ê il¹;K± ^’CîåUtSÜ&Æ=Q€Ÿ¶JÆj]¸vÃÑ%¯¥ã3zf"ñe²Æ‰ÀN_A4b²ÙÊ^v€ïcI‡#\ƒr®2PÞ-¡ƒÓŠ<Ì «TƒHÙ¦þL…½(2ƒåß–*ìéÆÔÑ@ +endstream endobj 310 0 obj<> endobj 311 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 312 0 obj<>stream +Žä²O<'5pÞsûy^’i!¼ÿ‡Kfv(n¼--Fcwߨ5ÙÐãR¸Y “„_¾j”+V|V"p2ð­eµUÅ `O,ýËh£QZYÜòÞá4·²±ßפÂÈ-F†PíDÍÐ>ˆy"7¹H!Õ‚¨¢Žúî¬ à:ú+Üäd¯ÝZ çƒP?Ö]3_™ßñ¯ å¤)£tJâEcÐ(|°G¥ðŠîŠ!§)ßuÄ*ÅâÒr¦zaír‹np¿ƒÁ(ƒ¶Ãc[>mÆÎö3öR3U ™M„øuÁ |-ó#ÈEæWïè¯ìƒµõØ­iÝ^Û•ˆÂ#ÈŽZ•¬„·f‚;.šKÙîw‹”< " «7S戮#vw ȶ 6y\}ID"oT¶A’–R]€TSغš/˜²Üáäùß52ÛÞ?¤˜]ΉC\%YÃ?fJ®á +ê.÷óDä§EIs®ô%ÅI¼nÀä¡nÒüˆhéhàÌÊ”»Äï³¢Yª‡I,oÆ࢟þÀ˜—lQÛ–h/)˜HnÛ½$ŽPƒóßd9ºþvZ•†„¡’94ÐcrnAÇP~ieªaa Nš3ŸR“5H$òê§kÞ¤»[†æ\Œ¢q“Îb3¶Ã•:–Å„ -µø#|>°ÁFÊçäTâ«.`%âYg»-p§ã ¢)7bÁˆ’Û&d¨†™brøëšy7_H®ökLé©Š#³JohgYqí?bPÙ˜?”HΦ*8«Ü;9km£Ž³psƃQ¾jäˆ^>àºHÞ‡YA¬Ë:|éâ –a €å­€cí]sŒ …þ èg5•$`·ðïùUÍk1Ë÷œ§ ×ÝA0Ã=1ƒ¢ÕóÕA¥¬£¶N/æ +æ¯1œW Kñ·sz$õÝk ÛAÁ1È„ÃuJjp ‡—WªÇ\ÐkßÝrñ톙EW¶!¯‹™6ò[›µsÑÆËݧ)Ò_œŒË©ítq¶Í¨²l„úìÄÄÚNåÂl*dâz–µÇœ“ _ò¼¢ÚiiD©mð•«(Õ––°¤±«-µkÒÉf5µ##¶Ék.ºÄ¸œ£¦Ä¤2§¬ì‡bû:53 TÄÿíÃßðo¢+rñx†0«@ßñÑ]$¬6‰á‰âo~`ÓbiÅNöÈONh{!×Ä‚ÃÌk¶O'Ñ äªË/¥^ëk¡vQ(ü:Aטõîqª+’‰Ä¬JÃ]ZÊ÷oú`Â7·ëiü¥è¢¿O]¥}Qîw,“Fw…Ù6ò¹paSטÈVäKy`go¨o»)€*ÙHhÞ ·ÁÍ ²TüíòA£¥ÊFz¨ÎN…(¹`è~­Oi#ºòl˜ã\¨̯…_‡,¿¸¯>ºöQ&_6él9•À‰ûÓL¹ x—.¤R +æqÿMÈÆ@°ÂåîÕôV0Ðô8 X ©úh);©]ºøÜ_Š<"ëÿÀJS<é9ºÿÊÑkurL%'>ÎòŠÓ2ûKn'¦6@ã[!ó!‹‚³£¦|ÖègøzqK»acF'°r³"—âa6sqbÚ&qŠYƆŠ*%¦1ä‚# ÞˆVg)A­h¼™ëŠ\•IÁu +`4S•ÔI¡xÛ·í\y´–!äïÉî\”j暤W¢âD¨QÞVúÔô(­µìWÙÏž«kÅsEºO5ǯ±á|æZ ƒÉ²\‘¶]ø±þ¶íJ:sâºÈ÷¢Tómp¸ ÿMwW¯T…"°gðŸ=ÇF.Dë~ÑdãT玨u=éà®ùä_%0|2­¶SD‚M”‚Ãù0ÅÊ9ý™5â÷cåôCŸMj`/ÇÀ&M™1ŠqÇ¿ž¼Ô¯ø•¦²[¨|.–{Ù!‚$0š³Ù­<q~ÄV¦€­âˆV¤÷Ôà7Ý¡÷£VâÄ0£N€&S¼$Bmw¼”‘IfSCÿšÐuZ ll¡&Á}‡*r"T >¦ûüà6¬:ö§<àÔ“­•H´í€õ^ßž{ZDsšÔs5Rãk¬õêt8·×0>Û –P}«K“C6@ß?ýÇõN_›µ¶@+}†'ý";È;@c’µ#ªêÌÌ’Vãæî¡}®æ{áž + 1Yž7ª¾’ük-(ºrº¬Å!zrR¥Â”“9 +ÎäYÀëc¯ŽûiýÉš®b3ŒÎ%‹YTg\.éîûòœ¨tÓiñÔ?¨òª0›ÙæÐãd"öä|Anà–4ó$+é±æ?é>a06HÚáòJBSĆч¸­WHã–•Ó;Šºz,¥IU .Äï 2jŠñkaÈr&Ïh¢Ÿ78Ó$ÃNp&&Z7Zð¨ æ-ÎÜs5ïÜÌqjÐÈ3ù€6¤ƒÉÅÜ¢öëÊ Èð(úu÷rdFö**õ“Ü…#\:Š¨>¥8„ð(;Uã’zÈ@)éZò;Ô 6˜·äû'•¿à\žÛ>ǹ5Ÿ{‚úÇAWL‹—ŸïâÉBU*Ð,÷¶WDæDµ$Üùþ´hÍ­ÚIËl—4‰¾íš2Þg ËöT˜L¬²@ˆ›Úzøî‡U'cÍ ¬¿ŽsÀk°Úy¼0Êá’þ±½Ù@ÔĈúykŒ5ÃnþûÄ jb3N +›iÄíý¾pQéÉ)üã¶Ò‡cSP6jpA”bd/*dçöp=I”ïï¯Ä…xǸb²}ôô|@ìÅ#âÔ’²“’›üø¢š#Ú–Ñ1ÍÞµûg¡ZÓî*ßS±Ø +gØ‹‰/ÃDæbV"–r*[ÊGB®´>G(ò|~ ÍÄ?àœŸ2f‹óÞXÍ ²-•lÕ㜕÷qÇŠGø€{zÔ›ùÆ„S5w‰*Æz*×\FxCŽIZð3<&qc¡žÇi9(Ú– ˪KéÙ¢§{‹¡›;#sÂÈåþ†ü]ãªsÖÎh>Þ1ûSxÚwƒ²;(´h0Gòè|ChÝ¥1_jq>¥ò¾°Zǵ“´uüºˆÈ¨ªJŽ#šb+iË}Œ+Îi'! ˆ?Š±zU7×~½4]¿øùOXO½™—·ïãûÉ´âÁv§s·aÀŠKYp?;3Yùƒõp€Ís‡â”½²{07·ÿø¶”N‰c¯¤;}Ã&b!;yí°?‚$Šæ?„Ô€§iÑ°ÇǪ°usþâuØÙŠiÉø¤Šc´† +“q!Æ£Ù³"êj4K™ +Kô`£SP7zÖ•˜Ž6ýg‚—#<÷fAm&u¹Â¥^Ã,¥Ýg­†0-ÍŠ–%åôgþÒ#=í×>³P"€Î«xÛ]2hû+ /‘_i¤à˜<¢ ŽÕº“Ñ4g'¡ˆø jTnÖP1ÖÓÔS"=CŽ¸í¨ˆÊ›?¹Û™µ¤0FI5Þäò{š@Iu¯YÀn“«ãN‰»I4u!d«†ªÑ8ëXQ†¢ä¾¸ŒÙ·4˶¹ÉóøTæç ˨¬÷pDg½¥S@§öèZâb§t–X'Š4ª ™üÌlÉù¤ÇèÖÏRè âh·Ø¹W„­.‰6±MÔ´øè˜eÖÔžãêi+4³Óhºfa<7[Xf}ÈXQOW¤ÉÄ7=@]²~ñ$…Va¬ËMpÎ’B[ç€cû‘ +TÈz>i /úØÌó'¾s!) ÌëÐâ/ +½ÈPxµB…^·óÍðD­S¤ifÙƒ‚­?3ẳpr Fêϵ)^B²ÙÄ8´ú©–>\èÄ)ÌÒ“ +µìå­µçmú2ïܤjs]F×5n¥º 8?McÉÇûÚ÷úV\wÜ·s ²>¡#iï_¦Ï;»s/q¸ñ4Uö׸‰OsWÅóÕVºk›÷Ñbq‡ tàØ2ž‹M.¢!Yuùþ_D^g\C`]°yº£âqv]e Êy¥›h¸ŸÐ£9ùSþÈn[2Éä +’ºñÂG‰SLÅIV™Å ò˜µôk²<©K•G-%•¾¶yjùÈû7ßÃ|9p/TB)g;hþu¸õJæ¾ïlæƒê]^Zö?ÿu5Õz#}M¢(QIm‹§i4–~¸¾3$ƒEªaéRÎÞ\@’–Ñûe4ÆNjȦX° »Ã¸jÉÚùÆmTÀÝlÝ y¯W‹»Èö«çpÚÒ˜f,H¼¡1ÃäÅF·|âzžY<„G$É·± +endstream endobj 313 0 obj<> endobj 314 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 315 0 obj<>stream +‹ƒ¡?Q!Å]mÒ§ùnoßõ^Lf«ó‹ñõïœ [ÕšˆÀrÒÜÿPLrD8Â.¼,UºÈb +#1ƒøÅè T× †öEÈÿßÒŸEÝúç¾k…™–®ƒKþ}ìx\ |n­ýÇîD~0»£Øg;²¡u¥ kê k´Ížô&‡¬žÞ§¶Ã >Å8ÓÌ?:°ãû4‚L3Ò×Û:|ô2C´r£¨zA;CÌÑF«­:MïbOz¼4þy…B0;ƒ æsQùQàú2 å¹MS­ø´~ê„η@ÏÑ‹*3š»¼ E\2C—¬íĵ~YÁÊŽçÐ ò«‰¡Ù%ì#å½’ˆTUºO;ÎáÑ~JóÿJÿ4ÇÙ¥•‘ÓQ$iHÓGxðï#Øx—âÒeŠô÷àTˆ•j­¬,¹ÓD™õs%w]AæyÆ¿†qó?Ò ­*Ž«ÈŽ¯Ñ±¥ì2c¸Ç}›¼ŽøßKËPf¦3Ž +“ét Ø”+ _æj@ñnGó€·¿nCJŸ¡àËcÄŒAò +‹ÞO~ù¹üÜeÄ×Cµí„Ö?VPl}”‰Â®‚UOôÿ—‘ú—É°"h_¨ÍoýÊ”’¸–›¨Þ”ö.š$yC·)RɳL78Œ6g 耼P¢E’B¦ÝŽÇ#9Ä<£J×iëÍk¯´³ T*óN’Òç0^}OA/[©ßÒ2Ù,§ß"ÏáØA#F±^I|îž*òýÁ'뉡¦*9ñ’æ@‹øªÔïÕ|¯ya/>®¼ð”²—+Te4deSI¤I^?÷æà]ÙÖ¾T›Ü~3]ªÚ2<Ö 8ÿŒ’u¡Þ‡>êÍŽ3óò­Ã¤ý[¼¹mZ' k¯+å'µu'©]ú +ˆ÷ÆñØ`h§VÄ_\Ä0Ž\F( =Š¸çŒ/ÄOµÎ0\áD¾ÜÊ;^g+ô ¸0hAQcG×™:)Pq—W¿“*Ð5‹õxŠ¹Ï…Ñð“QàÌuPÛ”Úàà]/9Í­0 +úJÑî~Ò$ q®«IE4öå”t¬U{Q1Øyø“Ã~wÈœ,e\F¯ÿì–éäón@T–óòþª±qJf¾kê[DEóø~2bm?²zóKOèãr­!¼pÓ Ð/]Ñr°qù7æ¸ÂœGÙŒH½GŠiú "!ÍrU?~µ?±«ÇÀµ°$’Îîo“Ø K>*e—žÐA²^ªÏ°+g3ÍÚŒ"¤»qÒM2è÷²à*é”z£ÿÅ*/Šr›ì±6ð’ÁÁ”PÓFVDßÒyïÔF‚äÑ{–«zz5X3+¸(}!ãÞž¡æ9eQ(KukÙaêhF½£_"Àè]ËÅÆ$éFó1ÃéJ¸Ô*Uvƒ…º-^+[(†¦ùÖáìÎ ÷é—Ò©nßüˆ õlÂîkf¾@?òùWóÃ¥ƒCŽRBÇyÍ]§(OfëèãB¶J=XQ‹EqvĆÃý÷çl´RécÚĵOÿ"XWãyMý;í÷—á¦%ÚÂds„H…%¡å¡‰+öê+’niOeǵ CÉïÙʵ¾×3i¤n[·wÜKu&…Pä7¶Yc¤D='àÛ(õ”)¶›-bÄ¿Æu«ƒ0Ùø fºÏó §:÷°[Ç“m]v­“¹NŽü\Ú²/Ž 3¯¯'¶h½ܼìAõÛž_Uí¡¦7Î 8ã ¸Â7›º#d‹²Ø“]! 5Q…HjO*7ö#'uhV÷‚¢J›©´=pa[ &ý"bCÝKüUÄÛúŒ*‰ ÓÚ +¢ß"W™Öâ³Lµ´ëx¹IbÍæbÜ[Ú‰§ç)ŃB×M‰É6o„,+LÔ®J3Ë^+A'ø<‘?Èø‘¹d dày²ÈK̤þL8£)ðÚ^®£\º¦ÕVcã®{Ôô¤=«ãÛ’D!’skç°êƒ3/‹Mvò ùJ„fyÎQI-)ðC¸ýl&8ƒºæŽ •#6|9Ï)¨ AÿC͘2ErôN#™ÒVhN³‹­ÎªªÄäÎhí/@ÁpUÇ…(¾e5^§-BÝŸæÍξ’¬2/ 1ÈyÏ2=ÍYDsVc†{^@f¹ÎsË•c›_2h#Küx$8ÉÜ‘h jÛ +´ªÆ…ÊÒÁŠõE ×DxØ‚iý²TÜ6¯Ä¸aŽ†Ë>§hiK`°=ä…œÍ.ÎcÍÑ}ÂÉÇëꦓ…à o>H'©»›³+v·ýfôÛ%”ËH°yÆÓ#˃·0Q„ÓV Â4õfUÍê"Áš7i¥ ÑJÀÁ’ÞzàO”õSÿ³^›ZÜk ‚–¸²2S~¯·û²sÕ'VjïfåÞ/c.ˆsêƒ PÔ>au»ñD‚î¶y"l•”¹3›,—oÆ ­¶Â{ªš“¿Q¬¦î £…ñQñI:Иº'¢0,ÄhåÉΖ5¨ý•9Žˆ<’.2§ÎÕ‘×ÍfF-wÝÓ©·7}½€´©¢òã׊‘‡‰±U¢P³¸ÚuÚøÊ9H;›OÛYÐiÈ&½Ÿ—œÅZRG˜Z,ÉwaŸÅ5³Æ{(Îî9BQTÙm&ØÂD.uÚ%ò·©²WtRº?`’ _m³öçD/ K6ô–É‹Ñ +¨îB°IDÄÓo§?¥Û¹üsሔ“Üë¦R fk¦ e˜*Ýîöá›öy⃹ +ûo +Y&ª™¤Ó=j7þ` u®˜ÐW@*Á&‘öVæJEí5®;) °ú^ož¸–#jàÑoqDŒjÿ,yAÏobr•Á¢:!À;ÉÉFŒiß @áÍârp™—Rrü³ÏÂyÙ.G‡ª»MØF¡|Tw +v&HFÞVñ({”¾Ô2+÷ÚÿlÏ]yûi&DîNЩ\ êFTáŠã¢ÐÍõ¥Á6¯œuôãEwTœý«/(Û:@¦94 .œM?™€86³àùçå.1ÂÄLcY8òÀ_! Í„™ùfcÒÈÒï–@o +[§9nŸZ4h´{[Âï‡æŽL.Vºì¿sCØMFîŸgfwÓ¨àÎÿ——`¡#ûð4 ö‚Mu!x¸„*—i4û húBW# +'Ÿ£ÇG©V ª™K/åh|H{‡š(Ûz[`îõ ÇX5Ø~çh?¥_“ÖV¥>’Ëd”¸Þeíz%Ûmq€(þ+ÎRBœ9nóuêƒdÜ6ê +Úà©ÝÆ*PÇÝ_û4xÏ'G_Açëã“ÝÏP-läò0}ÄáuÔÅ8 g,ÛP“ƒ™,KmîQŒÊì<¿ò 6B*tªïšSÔöã÷"zI“Œë–æ/í7·’êì%š©}@é‰ L2TVÃä2x †5C÷tXv±àKü™Œko|¤¾ß«jTž`ž»e¶ÂDZžh˜öã.CIkíVågße˜5]<1Ÿ““=ãáw©%­á0Çjž“g›D‹!M$Ú8àkšuK¤à€l­ÿ ôSØ$ÚþÞaŒG齸ò>y :6t÷åÁ¿Ú¦€úq/åÇØ8½|Êñÿ ZQ*ëF›êœk¸çA2JA¿Ð/.;QÑòˆâÓ5 ‹-º9ɹ">X˜íér çß2,«Ge‘@ŽÏ]U4þ")" ñÅP^Ҝ҇©1—J¾ðË•'ÉÖ®  É){’Iimó*\ƒçÎø½ìp +Ò¬OÜ–¹½f7ů«P)Þ úòs¥€àíXñÀöˆ $È0Þ²Õi‚QRkik?¿„âͧƒé*!A¸ÞŸÒ½ŠÌÈP?´“b•óíˆ÷ :Äz&,íZkŸÇÖLJ (×*ýqÒFl~:OZAT8¬šá&jr®Ÿ&ð&† +=Pf•4EáZi¿ªÉ—/?÷ Rù±‰É¹}üò é̤¼ˆŒCóÁmó*ÕŠüò e·ßtl̪UËüáÄüq œYqÝjêm‹R‚¼§z ‚gþÉm.øXM‡b;>ê4Ç´† ¼µ„¥ê”o%&Yh"”7aâR†í‘ Ù½š¤ÚS þñóÝã«3|Ë2׉̕Ÿü­LL¬teÿ# äO.IL62-  ÿzc÷“ž’g[¢Z ”‘íØA™Î6<Ó +UÝ0Ÿ‘ïìÜÄ©†"·jãH©—Ã[ÄúÜçäêzßP/(RCÙI\…Ž&˜ZXq•„VË^nßWI'6 l«p…ôÿ¯‰i„Î'g2SNDr™R'ôoi2ªì3†/ÚDcù˜–®kr%*ZÍOÒ`¬€ÄÙà O&¦7&P†úq­wvßöSBŸùêÇ !¬Û{¢‘Dâï5ÛÂfi’ïLêsbpÓÜ1 _²fZÌ‹ªÃŠ2üZM€!”a +æùVME×F–0F¥WÈ‘ mT­ /µ |¥àÆÂ|cÖPª¸l¿ Ã`JC[ñÖ(ão9S‹f#mƒê³Ÿ\"NóÐ^Õt¨‹…ó˜ßÓÉôQæ’e Ïœ\òâ?É +´;så$”¥Œ¸Ž +endstream endobj 316 0 obj<> endobj 317 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 318 0 obj<>stream +s¡Â„ Ñ5:n=J…µ…–Nau|ã—‡X9ç܃ÊÂŽžþbIëü€þ˜ÂÒ_cÒ85š îi¸ßÚ·< å÷r´sø‚·zöôÜüGôñãsM^’ÕFIq*,æjù˜£Ú|gV„…!R2Õï<Þó+:|þù2iœ?àïcp—Ÿñ¦7(†*Ïäg_Ó¯nz|¶ªù*þ¥q‚háÉÍ’ ‰çUØÙ•ö¾¾Ð€?C„lTF@RTOn#=GdÃ0Ʀ M©ïêí*ŠvÑ¥BÜ·,ÈÁ°¦¸Cñ«0u„´C¤iQ~‡bs}3Ì<- ‹Qk`)V¬ÙƒÛŠâŽ[>H¿¸¡ÈKŒÁ-…Ÿq½u´hÿ+e$÷Ô[=ô»ÃýùÿÍ£U™a63AY³ÊálzaÁx¨”ÏaÁùrò}»Y=\‚<‡üí¥rV:„[Mcê>h&ÍÓžn üMƒ‚º ùζž`m²?©|=–Uc¿\@1 ÿâ^J…¯ßð ,؆ó(‰ï\U®÷Õ£ÃÆfá¨V½p߶Õ]³ûp +v#ÆTö@ =¡+å þŠÿGÊìÛ˜]ÏÕ¿Q['vW©H3keÊD! %ºj‘Ì:òj9 ûˆG;… tUm‰e'Y ¹u;škío² çz¥'ËïÜ ’‹Þ›ò2ÉI„(\ ½•qÆî³]†’nüš*¥ã5ªè–åá²d¶ˆ(Fòì1¬˜ +†ù¡>ïê!YfgÚæ™SU¿Šq™«Y(‰/ÓG7CXÀ?'.ÀºÀ‰îf8f¶jì’Ù5õÆ}Ë¡^–+1vTl+€’‘‹]ç<ÚêõM$ƒ—8À_dPò™Z?®eæ%w°”+ ¹ù•²­&0CçuáØ9XûàQpØŠïáßv©qã«Bum~úÁÑÄ$¶æ,£Ø/Qæ›Fà¨üm9¿/GÕ=?c/gù6ëV•Å¸q§º0Ò€hQ·Ë î={÷²t‹3:ÚB±A‰«ßnÈ”ÙQ;é7eì2ò ]~·eÁx•XÑZ@ñé}$ºaö‹•R—¸â·sÁ½@› oKé ­‡ek®óQ£™äá“£rÉkƒ8¸¢² Í·d}!e»+àIþ×› +C lLâ~^º‡™Î;z|21_»•E¬(9÷9zš ¢$f½YüφõRa2ˆ–ÉÄš¹(œ\èpøô„:=âö +K-åPO¹°ä¬Þ­Ì5ýSÝÔ±Äã²–°}ƒ}3Õ ¶¶¥¡! ñ¨[(zu d#1è—ꤹ1ÑS‰¬´hö Å™UdÜŽÛX£SRQàt*”àE£´rû’P°,ûi[6ÁÕEær} Dfôc"Ð_8‰XºZlç áäì Ÿ‡8¡Ù¿2õMØÁYÄëâ4Ûùn׿ÿDº‘ŠÑdäÔ}¶S:Dð÷ÁÙ@^ŽEÀÄÃ4{×T‘†§À“›FÏààîÖóÕ€®„ ¸>·qÖ‰EÄw¾LÒÚãѽKÓêU[DýŒþI,®Ð:b¨¡aSy7¶ +=„:<3nè ’·/dÎZ†M/ðàYÆVãÁº½§Ê +éÍÁúZYx—éí] LÔ€-ˆ”Ÿ ²YaºÙ<´ÊâNÂuiV&ü…Pu† PÖ¹y˜96öãòéžQb +ŒìkÍëÎOÖÞ9ŸÆéü´Ù¿™ñí-Öid¸£ãˆåµU²dw—rʉß]Зœ§nÞ`¢­àYO-–=Zò›÷Yíô^G8ç müöóÔçÀ£‚ ÎøTMx¾çdX€ý’ÿ ­NÐh˜pÆ=„¨ú'LzEå?¸F¬-­ +¹ÈX$¥éµÉ†½×V"æœïOÑÑ«†ÂQÒŸÙ:“´™À5ȉ'Qw[Ü(\ï°nS+-†¯´f×áâ®~d„Î|ÁÈ>‰O鸢nÛñaò’Ý­ÍÅb9sج D¶pöWk%cÖº +wÍÊæùµ×kâÃàš¥º½ÊR¹i˺¨ŽÅ‹rVÓ€$Z|VáÌ› ì~ ™VQ·~ݤp™QQP9DO•¡>»¥#"š2UNøg¨ºõÍÆý·ŠBZQIþÄgÞQDO`†™^ W~p¨ött´ìרôéXÚòmÆœ¹¯~E`r:€h7úê]j¬j 2ËŠ)Å£Š¯yÃ*õ¶bÝk—h#®¨c¶5}\áXQ§A +”e–/n1/M³¥E©Hœéúhl¹7“a¶ ØG[ðAi줲i1“gøÃʱW23—²LG›•Ýá7A·Ìn×ã¼ÿTà Ž?мÈÓ9Å:5ëøRÚànTñù{i˵phl±ƒ+9R=X¥ªêËübvÅ1‘Ÿ}„˜0"Í7Údž§™9ÏP3GÛªª¼¿ ¾ ¢3›“H¥#ÐÓ¯û$ûŠ†cV +;ÏÛ¢½®Ý€;ñ¿Mà"…ÜMlƒo5„˜Õèçæv1|kvVÆÛ´åìõßèÚ «¾ý Ãk¶!2ØG¿1êÐ[Š}æ?$hóUŒÙwc8ßǯ †:èà`wdïÆ©^K,kž>Ý©> ðd¢~m‡Ëé• ¯ÜÎV ÷¼Bà:k6{Öf ™Èâ ¼tÖ´]ÅlËTèpßmr¨j = 8¯Õº¶ÁªÐ ÜC3]?%:´ bÍe˜,®?¥s fðt®YHT£K©O¹´- ýmØFÂ’2u +X¤)Ý›NW JUF˃}ò^ÆQÍL¤c†·m%xJ“”úúÅÛ¿ŒÜ2gÚ0ÇÜþ˜ ¢…d­sžò6‚²Î©ä-­ü-Ïwâ¼1,&«‰é¤{k|ÛÉ”`êÊÎÒ¤AÒ×8@<$ÖÜþü¤Ílø9#6§´ +ËØX¾ g¡¢u±œ·'_í#Æhßh2¹!G[äåÅæz_ž8 öÚ0:†ƒ°0g*%¾Þ²û¾°Š gKK©õô*3orÀAûqªA'áµúJŶ©¡5‡‚ÒŸ<‘Ž‹-;}ÀÓŠ ,ú<V°k·þ‹Bôfϼ5¿Ư‰K9FÓfN¼DæoX›sd×[€µÉæX)7<9 £DY˜<çâ÷;1(bààËâÉ8u#Iüë'‚Iwa[±b_œo!.?Kõ>K(Àû ƒ¡`k#z§“¦¸¡;ÄÒÖå/)ÛÚ +Ó¿7ªÀ6˜wœ×û}Hùh”U#‘ +Uû~JËÞývØ9h9 +˜9ò~€Ú¼1³Ýcä¬ß¾Qþ:QnHm…ø%Àï ì*«§„o~¯?×æ»<ÀD˜Ëk©ÉŸ +¯ßíäÝÓ›Ië8• TlðœwpòÌ£E19@Ù³{—³hãHÃûÛÔÇa[’ìpŽnTlä½ä›.Ã`V:$·] y+ëܦР+*·/<{™ê‡R÷«aøƒ£ ø¡Û é¯ñ·j9+„&K'ê\ÎÕsh€|ï¼4#ôûÖæÚÖ$†amÅJ«F üvL6y#| MÍÁ‡½‘ +¾òú×é×a‰EêÜPtÐ +uiDS©jŒ3GTW¨æeC± ¨e, RÆ¥·ËÔÕä׃¤ÙH·2vb¿~lO\k¿H…سiÊàmh¿!üUÿ*CðH 1HˆÍps…Ö¿ÍW)­DįþŽwÐÜL +i»Áý%ÿ†Þ†Dfy#?ÝQ?J!c iæÉÒÔ#ÏLÈ~žPù§Ý”ö;Çfþ•ÐmõŸ9ö=–½IyuiêÿÞf·vèw7¹4†ûîp‘¹~›®$+‡H6¶Wûº ¤…ªeüD3gI¯N¥øö,—ÏNT‡¥¡5½ÙŽÙ1nþ¬B +"ú õEÙáŒnŸ€Iõ4€-Ò$Üfö)Ü­HÁ´—{Îf+²:¸ÁA€sÿºëuüÙc®cÕ£V‘±°¼F;˜”‡5”Òê—Õ[Á=ÄšZïFN¢'¤“-ï¤ÞI[SçqŠøÍkòïH´?áx5F ^ÑàiyPº|õ»°L±å®ò­R²Ü=¢p5â[K3”do§5âóyeÀ3‚£D—§æ †’çÙ*~77å¦)èCT/sl¿Š?±Ëü@¾hv}{?Zɽé…Úâys%}rñTd·Åc.Ï‘3j +¥Ê,Ã^­‚µËGYdIÚè,ÓÌQ.D«SlSj½î4wP÷¿¬f±ôc=åS ÐŠž¤2!¦Š¬ÜöÃîÿùÑiºoÀª"þT¨d^ HP¡ÄM¢gœÔ(üZAª5žNL™Àò‘4  +ÿ*%¡œkà…UëêhÞÒq@W¹º½ÕÁÅ* N@‹û(®ÙÇ»=Œ³ýÓùŒšæ.d1óɮ݋šXKÏàT +Š>ù Sð£¨öQss§tŸª0ק]Ò!¢Ï˜CÄ4ýL/¶ž2®ël +endstream endobj 319 0 obj<> endobj 320 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 321 0 obj<>stream +%Ó½„.EÐz„BUèj…Éç!™[¾ M æoxÔ¹ë~;Ã7ËÈ÷IBŠ˜5âÓ6Í(ܬ­¡7ʱÿ»»‡¶Úlªá·%ÅUê+å$#Èþh$ðz m #®kâA+Ã,AcѾ+kâé¸êæª鈟z-%Älù¾Ä9ïiÆãÓ#'øÅ‹4BúûWÙ4…³éGt[ÀL#[’iZAuzúÖs½P/7¯·\€~oË4³( 2á81/0kðWÑBÕÇ÷Ó]„5æú8ëñÖ´°î&˜Àƒ|,É9:\D©.ùæγ[û`®¬¥¸ím#>á„ LÝ–+7Wªæ€NB&áîj…cÝd=—£Ô*\>E'Úö2©â¬ÚîË|u‹elbuã½úƒ cÃEƒ®|ÿà2|ýïB \yØâÆžšœÐPûÄš>…žï=¾\C4§*ÔüAPV“[Ñ¥y9ÎTO#C¸Ñ"3æmD#KDùQ+ª%™‡¹üûáŸÁQý'ôÇv9Œé¬L†«<¥Df*‘?òpe©|Œ=•+U5¦—ôÍ|“»'”bpÿ5—Û€í„4UHõ&‘f€JH<€Á½»3R…ÙÏ·¸É\ZèàŒˆÌM¾2·÷ÀDFÞZcƲ£ö€ÒÏti¡Þ]ó¸îìè 0Ú&ÜNf‰© eØ—ï³J`vo,—Mz)Y®ÿ¼Õ¨0QHIA¸öŽ‡®<Ú¶ÆõâþQÇ6›èÓå0}oïÕ‰¯våõv8D©MiñRJYö¢:ªYãÏ7èÄ$»µ[Ç“'qeùA›ý·cà’ðWÖãXTp„“}ã‘@X9Ä iÌØCAàn¿OÇ–<[A; ,“) phÜžþk¸‘¾ŒN9¢HYü“Ž)ùõŒd‹— ¯4änèƒ\i\¬ÇA?^%Ãîl¶êÆÌåHwóZÈ6›ámÈxBl}{ÜhŽn°«šòP· +£Íÿù°ú–jšú/nýHSò8•nQ«Û ZÛlÛ¹a_Žñ”­©scòPŽŠ¸tZG¾t¹ÙtÛ„/O]=ØБ™’+ƒ‘É£EKõÂà^kÅÚ ‰à‚‡•GrV ê¡~óÌŠÅq•j‰jÎâ›0aÁ“Ô+s1µà³Ãž¯$ŠV{šö‘C6¾žb¸våmU¢^w£V­Îç뎭f½MÐÞ)É:jdLÛå‰N’dªÓ/_I4byWhD•­ºÀ80"6Eß²d»?-‹ßâþµ›‹#6A «ÑŠ½ÚÊ‹”xè£ xzt;ýÏ—^s@ï/¶Ãð©¼]ûQˆ€ŒÂh¼œ8ð°[~ïþ°¿  …iWqÔ'¼!†+ÖcmÂ# Kú˜¶‹éç×ÀV ±M»_âPÛ·Î=,Þc®nu{OçMéì è9²MÿŸkŒõôƒo³ì€ó}•Ìs;@Wk´Y=Ó{?0\v“<Þ Þêðéû¦ÔóƸïÕ÷8Åi͘Û> +,—Ôü1Iá Çé¢éøn‘Ç?æ ]RKPõPãV<)ƒC^oA÷%ÂÑaœjS…9¬X>6yO(\Ø ®Òé³OÓ>3 ‡²àΠB–%¼¬X©÷ìaÏfçþ àYN½“<Årêx²¾¯ +¥¤`Jþ%žrüF¥)p»=]ZKOKŠ^·zj×w'Îù„Jà¸ÿí…†(ÑìÆoÐ) +:’$}9ßâ¼Äüm'¥ãþÖuWÜ!ü½Ÿ3¸’,,Žzì!²t˜L“ÞÜY¾ð«9jM×%²Äù¼4ÝiÃŒ{&ù˜á­«ÌÌ*å¬UÃw˜[Zä-¶=)ã~áõó9z„ôn§])‘šÊ¬TS¨¶ý©<¬kºYõR%‡ñÓgKP€$"}Öï”piÐeÀ"»“?ÝÔÒW!‡áƒÛñÄÆVðaNØAÑ¿ ¶‹íº(e&¡0Üš¸5©í&Éþ"~ó8× ~Xëœì¯ñ±Úúþ +î;YoÉîâ`ÔœVʼûMu{ë¯=¿øö!\)ô_zªû¼´‚”ÉÍ@ø£®eáÃÊÀ")Bÿ‡{÷˲ÑÚ•È2!SO¹ª¹Èià +C?×°PúA$ØL7Ò{<›@+|7¶ù$Ÿq´0™æì‡hµª^'¿ÎüµPz^\e±Þ¿ØæW/îœÞg¨SRß²j©y€##V«ú…vï´ÀZ×EÀàŒÅ©G»OÑux¯­²ãjm_\ä xµ;ü»J¨æ‡ØçÙÝñì×ùç!¼@¾ÏVÅŸd®’ƪ n²f[M¼•ÙçŠëüçVØÍ ñ²È}‡Ýn¿Ì‰ˆBõ¾@ëø²_è2ó ûí²g²g½”Væ J +l­† ­ÕÐkúÿ÷ó@{ƒ^ÖêºÇ™Ð;ˆ Ù¤¥Å=â<ç^åÅȦã XuÓ+ñºI¤6äS‰*™ªà3+ÈtšáÓ.†—É‚½ .eÂÊI#IÂ7´Ÿ¯’8z²d›õ—±ëIz£VTx¦#®Ÿl^ö]üâ[Û7f͛ȒŸê^ð5ÂóD'ø(ánDf<–$"Ñi›£ûÙÐ ,PÛB §ÆJvT²™é,<ŽKw‹³‡)Ñ^Ú´ "<¾Êý‘1`]¼L/¦çÐJÚæØüÅÃï%è±åwâÐÆ|$Ÿ—Ð3U&¿8Þ9–{A¢sˆÐCÿ'#ÏU¹ü¢ŽÕPÍL”r„†l4%…M¹Ÿë£V€Ž¼}%ñ(yKÎøÿ6€/˜…m×]Îèà•ë2R<Ø ¤w¹ü÷4Ißæÿ­&ž‘ðˆOµÀû¡s:[Bšì‡pA 24Æ!‚«$¦›— yÉAçèër¤ÊÒ?ÎZ÷$*ˆô ”Â}5ìâap š²!¿—¢Ê›­áa3k¡I­‚Ð|˜Ö€Zçõ$U)Ï)ÿ·qA+‚õöÍZ‘ªÇ1sˆ™Í¾-Š> ³/RÔ9˜.G~eë9VÒâ)ˆ¯@¡Zë òMŒ`BÞ+7ôÆœ$°ÈâÔö †‘nL…hç…R±C0° 8VV…’¸µ=ÊYØŸ¾ˆ€¿œˆ{Õ9Å(X@è{&iaã5àWØÚµ¼ýb¬è—’FÅ {ÜÆtÓëS‚#çÔµ¨™p²ºŸ7É„Ý\YžÝ×wóa8n†)Û£q®í÷Ú$z§iADWGÀ +l±? ûva.³—È)qçU.‰ØÕ`‹Ñméµí¸þè“›Våæ vö…;0 ¦¡ ó6„m 5[ ¤\éHb°H~d|êwÓ§<`‰®­ +xl„^àq4ùX3Ýûä¸ròk[ûaYµ¯®SK-ƒ¬e¢´hìŸ4²ù!a ¿a&Á]uÒ6òUZÄrùÈ„2,W\Aøÿ_BØ_ô°ÊZ…×h$÷~¡b`PéVàÙ#Ú^8ÿia˜|­*º¥U—qKBhã8Ú绺%~Ù]JG‘/ «a޷ݯ[µ aRü¬|YDÀ€ Çü ¼¢:•"¦õwüÌ=µúwKó@‘˃¬¸8~6T«\øsÏ>h¨w2#èÓ~B¸Û|h4Ÿûqú†—Ø­ f˜XÍççKr‡oÍ „,‘Ô·\qÕ¨zÙJ~‘¨“áà4581#U'oUI#XŠ–…sI#òͶ5${1Òº 8øÒÌi!QnK‚Ñ ãñor³¬.L·^j3ðTþ0ž.ØßÉQR{–?ãô;÷¹O±üƒTíf’Tx¼ÌO¼ªdiâ/µý{MZ£ã-D8 p¦æ“æ›~J*艇\ÑG +\·\êãÆ—HŽ + +\©QÐ` ULÿâßÅA'±å”¿zÎéZãZ~Úï~»ý5ÕGw½¤±Å4]/cghÌ‘Õßiâ\(tÂY#c4’£ßúæp¤»‹ +XjÙ ŠhøY=«J•Cq;3ä*ê‰: #ž¡<ö8ååƒ>1Ê–:‰Á—ÈÀÞ<ÏD̺Ÿ,˜ÂuÁÍ÷cÎK s3qÆñ4æåŒõÙÿiläexLj£—ÙÄè·DrgüöoKz•>TÃÞpR°Ù@¼%t}®'…±1âiôñx°”&]NG´?Ôw8–ó+<g=ÓývùZ’µ4v;þŸ¶C›<ÓøøX·Ê! ÄÝKä˜G?—žŸ†¤¶m“êäÒš_.ðöDáeµÉ`AÇkõ… À~‰{>™}³N_×wï‡HŒ´e™í§ý`a¿×¾. WMÛF­ Ú¸‡ÊžasWR5:ñ’ÊpÙÔ}ر ½Ì¯4c‘è%iÉ¥ðƒ¬¯ppMÏVësﺕª¼]‰åe¥êE@¢]Ù„~<¥³RÆ•òv´^ês¡â‹uÉJêIæ%sv¶ôåKøëû[ƒ'p6¾–0´K`à¶éIan¨x1`vLæÛP2ÉžJ /‡ûLº¡EvÖmÔÄ|Û6Zh#iÇÛÇƺÂÝ>tCM<×ö[õ¸.©ËÖéðp'xîd¢ÊŠÍu’ÌzD4Xã?é v 7™jD1ÈaÈHnu£€jh¼•°ù0ªþ½ö +w(@–¹ԂÉ'ª;§é1ÛäÀ:ü½’MlUÐ µ,ý÷@9ÆoûØÖ&ézFFS…pñ€ò%ÿSÛxxg=³y³f%5¶ŽÓ‘‰}âÓˆÅQ€B—GnöU?'!¿5 ±.4£’jš9Î)Š‘…ç gNºË 9 §,†e\Hw³…ûŒ£ŒÂCe7õ-˜² »BVÈ™±–GW@Væ­ÒÀ¶Ÿð^ÿ}pË^*óØñ!0Qù å“8Q¦8Ÿý.íØ÷h×¥ÇJ‰û´‚:®`,Ê/½– ´¸¼EΚrºj2ûî¦y5›C£Ë™ç£÷cÚIŸ¸3á˜R„Bmæ^ ‚2Áœ>‚Å”Æʤ­R^f/æ£`œ´ß~y¦L.26 pØ`—y"÷Ã0¸ûüv SJPm°+ö<‰·æ†&O؆ØÞnÙB¯YᎲ1x•µ‚”•Røïzž«b0v=êÊBOrg”fë +dТ½¬>[÷ùzA +ê +䈥õ´9Õ Þ©]‘Žù+F¨Ÿ|Kúwo-ÕM¢êkH ëħ—Þ ¸aãÅxÿë§tç'äŸõêC…Ä)‹éeûªJ¬¡_*D-‘ÿÜ”˜Ã@UA²?è[àˆà¾ ~µ Ò¬o¢7µè·¡ k—쯩}„üì¯Y ÊêÏ“ €Õ“àŸ¢9¿KÏ—øçðpÈ3àR‘Ào©ô=C(u Xj¼ ו'ïƒZ£S¬Œ@RæS•mòÏû)";1¢*ÚÕâ‘z,Ö§£D\_ ¢-kEj1(YÂF1iñDGs«j¸©€?ƒzÒÔÒ&Í÷Oº"1`Å$û×zdp6hu ‚Çþ¦eÆ]³×:öi¦Lš-Qèá.ââ W*[x8ŒðÎw„á¡1ü¬È~t2 ámÄ*ÚË苽o´’艽« ÉqÄ“¤âÕµèrË–2ŠÜ|ÞN)„orçÑÂDÉ`zlÚêÂö/Ñ<ݾ´µ4UOXH¤%zµD=¹ýÈÞñ1y2L§ß×ìý,w¯Àœ™Il&8OÃÛZj·xDòy•±•çn%ë­Û4pnÕ +ÌË…Á»Ô$ÕRjJ…¢ŸÝÅ›îŽã~c;gDœ‹Õ=LÒ»Z® è% ÙÔÖîlõɉ5˜ÄAD‰0µFah1ã€Ù’Z=Í$ÃöæÆòžòœ/T'±øÐ4h®È#!bVaí [Õj”£¨€ïÂí’Dšotò¢ªßc"©om{ý+n,ö}+ã› ¼ÏŽöܯCzºi¡±*‰—éГe®ÿpDãÒ/gY‡;«œÆpD¹Ü_ªz")j·ÒBÁIÁ“4íz'’Áè@¨¸•!b4Åçñ—¡ïÁÚ^¼£}0øÇ'Îú1ª@Œ_ t€t3+ÑLùj0ÓÚ••¶o­nÃf)%o´yíSn™_Þ3×oK7Æ×y@V²KÚåsÑ»Ðh”ÿdzõØ·$qZüôaên…ë·ež]R[—ñY¶ºòNä"ÿ)8ë÷ Äô{3ümÔüTs¢'jgÿ ×ñc5Mp!¬C#®¨œeUöñE#z€ïG ¨è† ­ã+@$±·Ëd“©òÕÿ† pÔPÞçm?è2ê´=þ9¬óéâÙ)P#·ðmIJ +ÑÏQ¶¶$µ´[[37»rHàµø"šNÅɺÍWû»MCúøÐiáK°$xDòüŠo§ÛÃ3oGKC×ažàˆ(ãOÈnW—’ð2N wÇ=¹ÏÅמ®ÓÜÕ,2ëÝ€Û²bW÷û UYê^ÚmJ A%í¤‘khî]ш‡o¥|ž‚“æ½õüþº †ªJ~qÓC–Ƨy(cSûwY +gj”SÜËÊaW¿€íÕc²¹œ +ÐVÜu¨akH¾3¿Ô¶zpBβ¡ãmp#\â|‡GÌ|€Qšœœî2Cqd+}‡ìÄäXWqHžÕ§Õµ ¸Å‘{½.¯Jm/¶]œŠœè˜Íåq8@þ¡¥¸f·~Eü±ÉŽ’^~S{7:·Ì;•©BP‡KÔdêœö(úrm¡Sí’Ö¡K™nÈ ¿À—×TÕò”^Á@'´&ôxŠ¼¨®ÐU\åæ@n3_ÇŒ~éoÑþ¾JÇ[oš×2m`¬ˆõŸÓ=›Á™c5{Šm'èˆy@w‚b®Ä¯xÔåS8ÚÂÅÁKh…í7¾óŸðÓÕ–:ö©hØK7¯ º ˜kÕ²š|$‚üNêZî0„|š™Zþ6rÍP1žÖ’W-GCg™s¥€tœ!ÒHmN¸‰¯ôsÂΈøª'òÅj +ŒÅ›™Q $…<éÍ©xLá²IìÌÐŦQ4€¯?êéãø¡n%/ÛךðóC´ÇÝ:KÃ>Û\W”V«¦FÍ'`@ˆNˆˆÂ•t O­²VüLŒo“û·/—ñ°>æŠêøôÊ¡Ëí¦b]X-±’û£CbUvâ/’bSÿÉQ λØuLWÓF¤z¹ìbÓÛ©/YbãÔ°}b\`Ø"ä7²Øº5XðãͯôÔ Šóy á7¾ïcŒ‚ÛÓº«7k È6.‹K¸ýž6¤hK‡a³q3ˆDNjž›‘Ù7Éš;Þ¹5UŸCÿxcÞÌîØësµ.R¾'ò:ùßîÑH³*゙Š+xÞ¶§ówЧ:Uü8îKNRzj øzõª»:ìš +endstream endobj 322 0 obj<> endobj 323 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 324 0 obj<>stream +c@ßÖ2¡'‘´¿7~•Ÿ5iéSœq¡`VV8óaK:„-©u¤ApiFøóƒ,R‚w³²øÞ|˜EO¼†å9 +Tpwò—Â]p¬‚›†Wz)àºøµë&Yuô:eS²³ðo _à1™&:¡ÝÎ4–Ï Ãzy~<õ83ôh‡Uâû×Ctù}¹x%‡%(Hvýiù)]Š'œ4]íÛ¥BGgHú>î(éØœÌ@T'€D2YQ½emgsðöœøG·ª§|0RRfüDéto„’©¼5Œ¿»ñl¹nQ³a¡Ð}ÐcE*Š•”–O|7k6ž"¼j ÓÌÝiˆ¥)pê~RÀDÓTüŸþhÀS+B?ˆy,qŠ¶_½vþkoPŠ9÷Û¯q/Äê*ÿ”qÞ‘4ŽÌnr + ôí†÷/É šNè„îUé‘÷•"1ó¬Ñ8R°d$õÂÏ8¡¤¦ç¨ «ÎÌûÝ›å`Ê€ž B¸m´èoâ×è%\u”õ%Þì¶o¢e¯QáHiÌr¦Í-(iÿ‚;Žƒóôy$S¦oŒ?Ðñ6,¾¤ +”¡r3‰£L/©n10¯å(«æÅ®LSÛD›˜Ió18%ÕÔX©œÜë’'‘Ï€nt- +µˆ|WhðË©’*WÍ-æê[ý þz޷⼩¶J«V#÷\øcKk¤ß U½4·œ¢j%”~)¡|š„™r°îh¡ÎŸ1 +_¥zôu$¶z®2mÒÑIW¢½ß>rnŠŠ²Ü)¾0­?JcÏRpÎMÐ ÉêÚŽðyËF§ÃŒX×Hö¾K WØ©Vf†ßÊ3ž2IÒ ¡½!ºâ‡ô~@Ô+áw§¾yROþ>¨Í§£_ªº#c6ÖÔb•¼ÅI®_^è±DES…sW÷­ÐCëw$bÇ›(—Èm¢GRöx@P¹ÕÎUtÎvMiBòÒg«Ê:ÓÖ«H–wÇ‹õØؼ6¸’“ ³DέiÅ€)ž`mtHïâ]è˵Õk1 +µi&¢Tzª#b|¯¡`«Ø¢•>'¿mK#àíHb ƒ¿é‘°Æ}|¶¡©ã°.J믂§bdí#˜Í.‘‘bs©ƒ›Çp‰)ù‹« 7»lÈî†3oHW,—?Ï„ˆ_réžo4Oµt‘¢Ô£Šþ†ô¦ý}Vwz%KøÂàé [[(0a[8ØÖ¼·îô«¬D™=Ñ•£À!S¦‡ˆeàkU}àíク +¼ºðÊ£np´€êú.¿Þ&l6'IB d÷¾OöºòšR>þx|GÃihäƈ«lH‘_6žxmw&fÈk3íBãPÒ1–²€gÔ l½~V‡¢}s^‘¼ÔÖ‚5)Ï!ÓÑY^n4T £“î”ÇËC6“G‘â˽*{²›ÍaçZñ{°ª:¢–Q4noÎk8»â§ÁOÕ ¤c7Ÿ¿`L„›‡2’ 7Ónûë)QÖ¾¤¼GõV‚Í£¤ñž0V+f$vmFß¾E¡r©eÀÃ{)e߉ËHt9^‹G¡ þ;+¯ÔF«—Ñ9LéÒü}®â|tg*9ظî©ä®¸{íݪþÍK‚OûkaDßÜ„D]1¯žwÂS8ùDÂrÈ»OȪÅ%Ñ“[/Øλ&ÌõIk +gp{ÿžjé›ÛY°Ð¬kο2¾{è¢û‰þh_ÌDå'»Wèƒûhf¡Ó-16ܶyW“°aû·Ü{žŒÊ]¼2âÊ^ãÍ¡¯¹ôLO§‚.ÌWÐÕ‹ÁaÀõÍÜ‚RÄ1WÊà‘S=çkn^åâ|Y'á:º‰š±Vrù òÏëÒ›àLz%¢|lÅ/˜j¥ |*÷…Ä°ps`_‚y‰±½ÀNò%¥‰X„/¹Ã+Lá"Åh»ìf¥„ezÉ[q¸Åz…¡ Â1h²Hãkü7Уå¾Gòõ¨FжåAÎVæ8'µ …êClslŽ:}ï0Ž¾f,’#åÈQ>s|·%{¾V…” ?Õ%N”îãSo£FGŒ–jMƒq²&=ä¦çØÅŽdÌòo[ª¼[Öa€­>èÃOª,•¬±©]žÃÐsiÜk zà™ËqÍ*žÕÛÃü¦F1Q=?³"’K‘†G!ÏÑñM™FÈåoyQ3 ðXÝÕÕÎX)¢²ø?« „³Ñ±s¿É/TªÝéXn§PÊ嬛B³÷•¨Nî¦*·X1·_ý1¦}’„àBtÙ43€³ë^•ÇJ‡|ûKã\!ciþ^€¡ÃÜpŽdôÞÄT±zghZÅY&ÚüM˜œ­‰†õКü¯Ñ•ÞÅx¤zŸJìά[« +èÀ*ÊmðŸÕ¤]˜ç^zž[‘OüR¹ýGþárˆ‰†>$L;[¨±;{ÀðÃ#úøE?P=þhCZÿ"ÛÎ 34üUT¡õê°t9H0@pa„,ݾñ^ïµöhjþ5ŒÂ@éuÄÀ®÷xß¾OL`>¼ÇÁ×>-œ]2E1€©§,믤ît6 ´Ø$¡È÷˜ïQuì»òŸtt¤‚R#|·…­¡‡Û Ç,~n°©g•”Yèh¨ž¢±Î^z‚„9h‚·•”Âéά2x¶qðµ’ã6Jë}Âö +Ò:¸?Cª\h…6ÛjJ0£‰¤^&',÷xÊ8wœ´XyKmU;šŒý»*a:º× ߥFY «¯×·ø×J/NÁƒÞ5ßËЩy‹ÞþØ“å/›û{3uUÈòLÓñLF!V¾.+7:æp‹B-ÑοàÙ[ÓÅxøèž·K›¼%$§j¨™ìèØ0d”=­§†Iá`Ô;¹óˆàZeÈa̓—}çÍÏm‚/;ë­Ôiät+®ö´I… [Mé-)ìVéÒõ³VHEaõ\¼ÀdZ=Tn}R«ÇázoˆÊF™*· B¶4„×óJüM¬’G‹ ïÊîm'¶¥‘“J}¥ µ'î²2—¤ûöèÓ ΔgnfnÒ\S-B©hž*–ò-ÊBÿêô²NP°¼Ëþ¹(@?£“‡„AÀ«Åð„(‘ÖDxÊ÷]í¬íø¢Zfš•Ý¦ï à½¤oohE*¢ÖÞzÚÈDÕ™Ûfx¥Œ$Ãq óÉ ’Lµ©ûË*,‹0›‰^¼9cS”£äSt×Õññîçµ;óŒ½ew·“N7VñnÛõ¤ÛFô¶ñM&úÁS=>Ü4&sEÌë±”Ï ¨Ê%kØ&Øn„"ƒ0zÎÐò@»#¯Â%[íl½3©V)k¹ ½Â+!N€&™ó+‚W•+° ©ô …w(hy­ R®] +‚ùP†xnêiÆÇ"´8­ º9Ý¥üê¶Ïz&ˆEÇÚl*Ÿ Ý÷ÒýNÃîŒ m|Õ'X;Ñ& Kµš-öjÇ÷4b•Æ)“•†O‘J7{u~v\ñøÙY¢Xjuï¨Â`w¸q‰É|8«ÿ­GÖŸÍ4sÎ=¨OBrù³ì߆W¿òRI½ÓTîÌã§r™ä½{RMáCŠŸl?¬¶9õž3Û^·¯·4žüJhgd—ÖTЊBu~pó,ëøÛQäºg¹PÀ?7nµ½w;ÎO¿À&r S¹Âµ fÓä,[,?¦Ç/È¢sü©˜ÙÕ¢{‡> endobj 326 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 327 0 obj<>stream +ð8ýPs×ß ªÄ—2“£t+¶Ã©š¥„€1ü¿à†íÊÌ“1jô3|.] 6«büÍoóHqŪ‰°ËXÌtO²§„r²Xþ‰Ž/øNOÃL:sµa’ãF†‡IÌe'aût¥.úgc9ÈÏ(ØC4ë9tä´m¢a +踑ò_³pÎrü7T‚¾»¤÷æŸ,Üô{6•tO€+ïíP”6½R¯ï–‡xòz&€ëh…N Ç ¼`¢õšØ ..£4úÉw¥ÌBg¦¬¦±vX95'Ç"Kâ‰GКAº5 /ܬ/–°,B!-ŠQ¾ ·´NVµÈÿ·Ã<)¢Wöá$brœ…¶æšx¨ ©Ž…lœ +@ŠÞW<Í(ྟBaì=æ%~d|<ó^OCÉiyI™ +æ¿mÉ™ +„õs½í¨p±mâ*gt + Ûn‘|ÝÚJ‹(NwùŒÍMÐOÖ¸!„™lªs¨ª­»^"Œx¬ùp¼pïh©Ž®)úÿ¨v¸×®&ž†T‚p4aI2¼%SšŒÆ³¨Ç°‘€BkWX +-üo–`ëº,קeQíHf5ZyM=ê •’«-%âbŸ9Ô•ÍÎö5YÏj´èp2H>â\Ãè"#+%¬‹6ÐË*_ÍhR(†¿ nNµ`ø +óÅiý(²ÔDè€vj­&Ä$¤ù¹WÂÐ$d wŠžJª=AnØóV•¢T4ÂËJÌ]Àk*-”ˆÞd͸(¡8}n™WµóÎÆë½x¿‡ÃãdGC˜IÒâòºÿب½q^Ÿ€i^×/€;úÑ  @áé÷(¦'÷¡ü’<‘2î-¥WêéW™oË|ÈÑ>`ìlÓ¸NQñä½Á¾¿3øžñ3Æ‘äl|U+ì»#Íø¨‘Eª’!X{jÇþ›ì2{ u–Ä=è8´© ,½(3¸I²@‰Hì Ú)$¶ÔD¦9Š‹)ühž0ë¤<ÝyãvÍÝ0„›`Ùîÿ)„€1{Žùe®·N[LÅQÙ­þ“ŒŸNðÊkM8ÅG-)áV¤gpÉ µõÞñPªn‰ù‰ü/H¼ÚhDtÕ‹ROÝ6™t (õÀÄdÍÀxkòzöMwi™4П:'ŸûvWÀønâ•“3ÑýjÝJTò%n<ìå;ø@×çþƒzyø`Š·fëÞÓDªºïÛ7M9P)J庲IúËÒ¸ãe¤¼trW&̆œ¥ß>‰óH¨È¦U;oºµƒ>gs^NÓíDý.ûïË—å¤ïeîÛ¢¤ç$útÐ6yÿbœr¸¾ah߀ŠP9*éñ'ƒ{¶1ºž0ÎÕI]&‘“;cøÓ*zôS­“QÐ/ß—Äöjï«Í…¢jÀ?ðî³-gnúW.²TŒ›táîjs—ñCc‰{ðoA|â !?b0V{r»a¡ƒÞÚï 8®~H¾GZs-f2† }³fò=º³¡%Ãd>‚uˆ³}ÁýˆÊ#TS¸åªØ`˜’ë¤|“Àÿßúl…ØrʵôdIb¢Ð¸DϾ6°êwNüztƒˆ€½ùñ€¼²YœuÊÿ\-÷®Q¬¨3¸µTý…Ã\eºh8%¡§¨“å¶s˜•ÇDûÞ¥¼ÝìŽÙ}šJ.ÓÜZã~Ëo"nmQâh‚>;Y>O¼UVÿýŽ’!cÛUCȪݹ êÑ.P’*Ë¥´ºyÀþ-d¯42båÒ*UF©±ØúwXkþ©’zìÑ01BRò˜ÈÔžJ_oÌ +†15‘ÌRYðÂãã»Í¸Í±êô #b¢ ô¥ÙL€¬µ¾‹,Ú’ §»Ã©Ho˜ƒ`ÐWƒÑ²gñô»SÑ9tn½|àÕšï[4…»' —:ý`…§±¼ªŸÃ{9° ’§öë®ê¾n]‹ˆS•”28=føWr6¨è„‹£?Åjl´y¹Eijâ-”MGFÆs\ðLq_¨¯:+ú_ÁÊs®?ùt½¦˜¬ze£Fi–¸ê`Åÿ4d0 ÍÜ!E"n›2Ô‰ZŸEB¡bøŒÞ©j ÉÁT Q±7bôƬHï°6F8*Ó eDõ4rõFgo§ÞU.4&ªõ({YËÿèfãG†MšezV±š¦)˜ˆ'+Ä|C}ìóLc9ëãi°ºa¦Î÷-½ååàµß·¨5Iðã3éŠM™ <¯TügZ{îüÄŸÃaàdÙ^CA²1?ÒŽ¯«˜~ì¼”Sã5*çöãûGG/zDºOt¿ðöŠñACR;@»¢ú>z¤ EU OâY%: Œr|Ë'y™Û&»Qi6ÁÆãÏ\ì}g•³¦<¼~—Y.¥ã1ꈪsª v-Œ(¨#T]†Çm™ËÝT\¹–ã­EøÍýæÙó{†R†#SÉïßÊxÆÒ +³Û +L8зԥˆ§*ÏJ½¾:ï9Kö¿ËSf‚­ QÙuá7'÷ðVNqï +JèS)ÂmÚ:byÒ»õìkäZ™~:|Ì`µ* Û¾¯ Ö“¯J W¸é:ÿH-5D( çý€é6ñ{x+»ÍW¸@ƪ”"ü•ú¸âô bmÜÄ1(8î"[0ã>L7'>Éè+·_ù< '.Vßóеò5`UU³.ÓÀ°à²ß.És袋Çf%‚‰”÷-vf4<~Ån„3$È’ªiô™&óïmB,í o­ª€Ï©ÔÒ#i%ïzó²ùn$Æ‘O=Á¾;¥ÍvÝ`Jƒm˜é.reƒÃ,è ‘3;\pû2Ê݆Xý5"_óg ¹‹Ppw·6†Þ_·åýœÅˆ)©¾Ì7\š$ú‹3Ö8öȇñ̶b‘‘Q[PT¸S +…Ü”½²j¡Õ +>¤ #Ÿ¼ ÿ‘¶hÿp$êÇYã³o–Kø1&fLŒ®7Èë°42}¯µ¿ØëˆÕcv)P–¦Ò $ Ë ßÈ訨BÃ#%ÇáèD¬éŒº[iÀLg°Ý=ÊTÞYB‡q¾½?@s‹mŽûØ=›#C†GÈãS +ˆ­V« #Ä#Þ;ã„ŒGó$Ýœ)ï°]¼ ah9^ƒ¬<"ÅW“gn+ 0QZ‚`BBâÑ\ENâyÂÆñ¼¯J§8Ç)wÃÞc°·ìK`4\&sI.Õ=ìÖÂû—[ÖçŒés‡p{÷ +AÈþf’˲?Ûw£Ô,†Ïòv€ŽãÞƒ’Ûà8­ž£‚]ÕÝ­ÞÜZÇ›£¤>Dº¿Ç†pkTÛ¿Qⶩ0†ÝEêE :ɺîRÝ‚^R +„1?‘ Ôª\݈JYSÖ&Çü‹.è;Î!*cј­{}ä¥fÑö7L•Âb.73 +ö„î~ Ýý%È~±Rúá'ÞqP)šRHS˜_ëÃ$庰®%Øq5ûpjå§)gìÆÉPõé¿¢pÁ¨92X(yJ(&Áœ|AÒ—r5Ä×#ê%ãÔÈ»0BèzßY…›µ¤„ÖÍwxSpòØSe*ëÖš¯ +Å£ú¨ÜN{fΗΣúëS-ê†ôÉtGÁ^q•ZVù‡÷ÄhW+=ÆEÎM÷Ð>óÄUcï€} ¨MåR;Í» .û> Ìg4¯¬¥ÈùõE†+ñª›%Õ¶0‚²ü÷¹PLd8 õÔÿ2¯¯"q6¬&E¾ ò:V¥¦íÀ5Ê"ÂÞõœî†è·ÏÄ›ÄùPÝ–«iŸÒaÛá»êÿîOèl’ý¶ð“¹Òd„‚ßÅ,<±žßH4ꌆ1Õjo~qQÁâGÐzzƒ…3ßçù ïV÷šfäÈa"ÉCÍük†ÊÁ½ä¦z‰®°ócÐv1«öŽDÔyde' Ò%êÐ ,·ÃŽ,K[:” fÕ¶˪þ¯¶¹ü´¼ï+«MÑ€½1”fþKÍ¡Ž¶~¢i]ËΆw©2Ý‹T,‹åaã@›¡Ñú<©OÆ;ÔUÕ8H¡¡pª‚²°Ï!H–[û‹¡‘Zí«óøÀHA¤ˆJé4Y âþ-”üjɦû"Ö•Vp­¤p»¾’å­øÆŠõ™Úþï/„]›­þTQý{"afµÍ‹2@þ›ßÖ•0«U%²[R%ŒEÝä7`ù†‘¨„°àˆV- +•¥DÅ©ö‹È½m[žúåp)ŠÆâ'Z̈ºÊæ¥{î ™,äêÞ0z«å@¸Žlš_îa›nXn½ÞoɳE ìVOÓäu4ï"àÔ\‰ªšA‹°)«R]2®wü*yjS5}w+å§[ጯmq˜‚ycÎ9ßê˜ÖËÒéö]`EìúJ…·9»*êiAh)×oµíæRÔFȸ/A3ãÀµ¦ÿãzòÈú›T‡\UŽ×ŒÓù‚‡j®K]|캖cu8Ô™'^Sy…|_Æß0Ö±Œ5‰H¤?b^†I-l¦}ˆì²¼Mðp@€ÁAG°2ǘۇ5àE_úÑçbô‰öI\ˆ2rÕdž8*ò$‘ª¬ï&N¿ýk’+ðÖhÛù¹º¢ÇÏ´ KuÍcÍ·¶FRª;ʈ·üSe„ˆ_µ5¥;Ž1†÷­±«%ÃÚÑU`* +> y¥úþŸ_ÊîõÊèÞc¥’‹êX:å+Få’íeßgÃÒ DL&7öqž pSâ$}ßhj§_ÒW„s¼âøÙ€Ópùªò‰ÚbP±CÇ~÷ 5â›®nåøTurÜXq¬™×Ò7¢Ö2;NR¤ ¯VÕDîŸp: &@§ëê­gËÜ + A(ý„Ç.CûÊlK—ÿ‹ƒÕ÷J¶èw«·Þßë\iüý…æ¿!õiZüà¿ÎN%áÓVÝÙˆ…Õ*’àV=Æ"ÍÃDÜŠ—BÃgÔêµ`(›_kM¾ŠcxÒäL›ÓIù±øpKvU…Ï!MiÿNÑ5°üRPLž0ô øɤ^vÂ5B~{½=±$=ß“KE Oª³ç”ã/[pnˆá+7¢XŠ‹Žþ1k.w€x͈=S@UvôDfsH£›"•sHÁå¨-‡Õ±Sˆ ýÜX nVWåWV&CbJ ;‚)ÖHRÙQªåø*‰àoÂAÂ_ŸuÈ^U‚ß¾´yß +­\ò˜§WÅdÕ•9§ñ¹_Š{<~®™¶wߥÒl­îÆ>+xG¾ÄÄ>ó?Wu–V°¸Nv³ª{«OÌvÆÉ<ά°ù-°Ì‡?ÀsRmZ§ón˜ÛçbÖ1?YEÔÕk_uº˜ ~ 8rÇB¹d?³°²—Û*Õ'ã)±ƒ#sQzpuu PkxÄ€²üÑ÷þ•ñökçE"ê¯Q¹ötóñ,Œ{×GûÊY—óceØu:,ž•†k-2|-?ó#ðyht‡ÉógÒ`ŠZÆ9µñú´yO=Ä,Û|Ïé,qÂ{Çwú°Šäž¼Å·‚‰ê'œk(! y{;z%¿œ°w+¨»$ñ!ö‘Žä_Wä—™6G–1¿¥Ú,¦ÉFŠñVl‡Ø.4 ³6[Æ–˜ÝÒï&ª»”j3T¢«uûSÛw%ítà‘7Ióê°á:o­k‚š¦¾èÖdc]YÉjµc.ÚÞe†v¯w[~EèGÜlÏ„¿ÍTÔA’]Ͻ~Ž,¬04³©'©ÀUfòN¿®„Ù° +¦­H4“Œé¹‡³–ùR<€é>Õ©ð‘i¾¨WÏöþ¦ãÉŽYl!û¿­ (˜ße5±ß¶·¦ùe¬Ó¿a&3mªßôC`iÉ‹'ÊÇUÑ1s¹Þ¡2üÓn +endstream endobj 328 0 obj<> endobj 329 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 330 0 obj<>stream +[‰ç•)pZÃÞ”>š[¥Ýñ„>çÜ.×ô؆6~FàÕRßoé`¹Óq¦©Íùˆ“†A»ŒªA±èMFT„ìâ¶:ʇÍÍÓ±ðp‘p4¿^åƒ<EóÅÜ#ã ‚ÎÞj˜c¿g†ž-]+Ý™íÝ øMòÎô ÑÏaâK¶Ç@NÞ‚JÀæãƒèÐÙ*Ë…ãt8_ûŠ,Â>D»œŽ­$@•–Ž‚Å +4oëªlà »Äò{ +½™Ô2B1’ƒYœº0rÍ‚2Sw!B¥¬ŒWÁx5ª¿/гi ì–Ý/]Î?}È7^zSdMÐÀ‚¨‹ x²9…ò~çšàܳŒ]`?:Üì­há´3Z[Gsø³ûDÑ(¡â(æ |sPõÉܼhØÉDtL烘¯öbÁ.'[ÛZ@€ù0íì`ˆÏ¨*Ž™ðT/¸w ÅÒ»ˆ˜_-ìE#SAE '”ŽØ@PKébȬf/µcgowÄhOµ»Ë,ÙJW.!áãK~&qožÚË„u< !Ê×øÍÑê‚Ža¼+„­¨{¦a忦‰.sÍüã“ý@iQF*¾JƒO¿Ä~lôA[±ÛíôLõ³¾F¿`óu¯)ÞíÖ¨ibñãV¯˜Ü¤‡Iîá®;Óg»òå}ÛRo^õt z}ùFœÀu_‹Zb(7ãq6ÏLòñzRh¼žõ`Ã.ž³#'ï9¯äË憈H£,³€Ädi”¦ †ø i  ;a,vU‰võŒ“Œ… +@óêÇ怯6LDžï"Я*EƒŒº¢3EIU›¼@<ÐhH¬w‡†#Í<¸æ›Ô +gWtý˽›ÙSéwV(ÊÐÂ4ò§çš#m^¿I{¸88Rr`üÍÏ¢¥’ÝàÓ²ùè–ë³[€wgÎ[»Õ‹s?‘}•-_ueªãW.X%Ãzq¢7|ëo¼ Çv‘ÔùUÿ£Ó8ǪJu$¸¿E¹¡aèúQëßlç¼°Ø™=~d9Õ©R¢PÔk$¢`%°×îaAÙâùîþ \~ +-J»JvîNŠ†œâgŽÈ_àh|é´X¨nF¬,ÌS´2³ + ÿÚµ=­¬T¸1m9cÒ…t‘íM† +Â0ë²q¼ý™P’ùSYõyÍQa²¹<›ü5r¤.D·ÿÔÿo‡õt¢"¿ÐÎö*½6…ªgý”ÄõõÞcÑð3vÝZæÙƒ[ÈšSU¹¾µ.Õ:”xã!›5%Xuá§uSCó˜`6ü‚±D¶þn ƆÚú™‰Ù[ÐÏ2*Ä£YØ® +Û¶ŽmãÞ¯þ˜†;ÁQdž¿â<€ +¹‡RدövŸ‰ oñ4ð23ÿn `>áúgxg‹ w6MEGÒ?q%.mÆ@ÎD Þûü$¾O®¤’àºÕbVíÕ«ár8…󶵆œóšõ Ÿ.qÇ„K§™…`~AüÍ Yž¬o) +þÄlC®9­:´ º€`P°]¦+ÝiÆ„(FÜÑ+õD²†<‚zo.k‹2åò\ìÑú*—Ø ´®ŽÈõ¶¦<þClûÚ3ãLc±ÔßU§(WnFi ~õ?ÄÔ¡Páoh”+Lh>shèÒ¿™1¦vÞI#HµuÅ™„í‰(uÑÆG­)'B†WHjW(`¢Û]Œ82%!\P:ß\R Þ«öDíÛû¯µ¡UýŠçj¡ü=þÏIÚ5X厨äŽE8Æ£¤›QûÆ\˜v4PƇ8(ö +VÀX“ä"<}%en˜3Ì3/èšfGy7½KªQpÒiìCVˆ. –ŒVVÀÕ¹ž×‚ð~ë^^âÉãvàUeðþò!-$ja|]"ª ªÁ™@Ými AðÁG/€%}0T£ƒê–ª¨§‰Rd­KVˆ–gš‚Jª +_,9 9ÜotQ?Ï«ê‹¿¿\zßî—RIl2J ‹*iy¦Žt¤Y¢T8Égûù««í DP†$Läü¼~u»Çy) zÛ¯göåö8¸ÊóM0t¿ój¦®_+¼wiÁÞÛ¶b +Ç0-rž|Ld_0CÓTo<4—¹ÂìÉM,õÕ·[ùwÃö²¤´{)ÙùQšÃ4îden´ø|½»èÃ[¿Œ‚¼g4ŒÆ7mxT´[Öhè:¹#ø{+>>UìÄŒd×±b¾°å¯Jf*sÓ<Á>?óq›9¿ù*œ¥h©õÓšQ}íû®õ}Æy³«ÅÝFõjw®Rîºñx`Ò{$ªí¾—G:#}â´!¤!^Ÿ’\8[ûl“Dp­Ù…#JÖ(Ì£ ðð?µûÑ'üL8VƒS¶n²;_UˆiŽ²fUF““@šy +ñynÀ…ã¼RM¤wqîöÞ%{ÑRU;•æšCW)K[¹} fÛ˜êú +øÄ0‘äó [#Ññzø›VJ¡ 0´b¢HùO2t!Ö1ancòM­—à»Ûk¬ +· l¯“Ç4å"ìßpUðv÷Ÿþë²ySëÞ±i ÓEÁ¤+­:UQ:;< ¼]qø\6æØ1ß…Ÿ¿Ë ÷Ú2LU4ÝJ¥ Ø%îž³K ªòé™_šŠV¹xv9ÂÃp¿D”º”Ò3¶”£ŸÕ–w·U5W S©¯é!ŠÈL“÷7Ù‡ph^àU¡òy^JVYœ™l¥s¯p–1­VG…ÜIbÝôg¹Ëk^Œ×//ÍÛçPL´ãñÃÞ“èTô•‰Ìw«a{_9ò¶žù1bR•ÎåÚùªZAà¨#š>éåã,.Ìô/ÂobDLú¥_ZÀƒ¸ÇUäq7*fÖ½W¹­—i?;imû€¾UH0fëx‚Þ øAr÷Xû›C_ëÖ ³+þ&/Cæ­Ö>™‡åf.®v³×ˆé÷_äýÿhT†•ô`3W¯ËbØâîàL¼ŸoLŒ9*<¡J“4šõ•">ç2r®@^î 2t6Kǯ)X‘ðúw™U¥#D +LfðÓaS]+¾]€þeƒ J´98Þ(ÏÜ93 šENòš‰D‰:’0½‘Î?·^‰ü-;ß.X›lº–å}¿§@te7þA Ð[NLM©:KÕ§b(À¹gè3Ž–¿_6ÇÎð;±däHñÎØvMkjðKø«Ír  àG¯y^¤®ÁÐhq7zaI‰»µ¥9 A*ûÆ2 Æ‘É,´ÉäÔVaÿ.v'B¥2dÓ´ê?–$ó(¡áh0)DC}E2ð —ÞÉ7«kµÕŒöø{,áÐÚ¡ƒûd^"«Z -’RÙ‡¾Q¶„¸´±¾¯Å£"wÙGàÚŸ¡‚¨gŒ«cî’•ÝšœcºÂ-åÍØ ûˆÈH.OÒ¸ü]“¢u4½½¥yåÊ]¿ K!nÖN­àfR.~D…®+;:üD!Ê „Û`tãÿ6¦ª4/ÈœÏR!iH Jpù Db’7[ò¼Ž‡oÖÀ óÃ9«¿¢Ÿ¦@pFoAÖ›À÷ÿñâ<Ò‘'¦ +endstream endobj 331 0 obj<> endobj 332 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 333 0 obj<>stream +°´&†iŨFA= +t‘hëÖ-FŽÃ†Övk5y$Vä—“ðV?¡ížb€j8·)K]°ŽLiŽ®t…ƒþ±ÎÀ䎃$^P:ÆG ä¬Hšå±@•Ý/`¥GgpÃÿ±w@þ^Ä5ÄÀ¢ŸS]g :뇤ñ/­ù!îwaþPôé](·€Ï×o)§`v†5ÞM15—…‚GçÑ Yc[’ ‰ š{è‘NúûSuŽ‘]HÖÜl¬%ø¬{Œ{åÊž Ó‡%€U:d¶xBɱ’Âé"°mAêüÖx=âRo²¤OÈVU` ô§Ø42-ÔYð7ó +Ô+:I]$ÕX?‘/(Ì$&u Â<ñúÕÐä.Š˜˜ðY‡DWíÂù\c}£iüÏJ v2ªÐ<ãôo|4:mwg²û4êM $m¶ëVÅïv*8ûN—«J™Ú%Íé£øO|¬Ý½JÐ$쯻Ø{t&šùf 41€¦9ʆJîQ±˜0µcú–gw]±.è/¹UøË|ò]:1Š'’jdz¨Ò3ŒÛ"6n½¼êÆeĮ̈SˆY`WÒÊŸÓ{ï'î(eÍ›::‹r¾œ(ÓëTÁð3­ÓìVëºÃ<†ŸÂ™ÂÀóÞãõ/—§·_U,“¢ekz8n´Œ‰¶åq2Ähv¿=c—ýÂ% °Ð !*¾ÈŠßÀ®³df«9˜U +©–ÕoçGb* õ·ž>TÂîhè-­Í.˜U¡–™BMhùæ ;Ó®ðUÇö‰Z, ;cĈË)Rm·‘@J,lO¡Y¾NV"Ýip j–šÖ5¡Æ;Þ[ëív與XAº¤C {—Ž{iùj +ŠÃºŽ¡_¤é ùtG„ãg¸d'gµ÷o“mu¤$¿D ÇxÁ‹¡ï!%í®õÍÝð îÚ±’µË7˜ï–Cû˜ìÊÝ71¶?ˆ‡X¯½sÚv±ôÚ¥UGࢠg[û²ŽK]ˆrböFÀ‚ã)|}.sð0¿äj­Ä›C”db¢Š˜ž0§ÓoøË€ÇR˜ÁUïýNSÑ =äk%èqzØT,)mR€°Îä ’™wö‚1zY-¾¬»Ä¨Ø…È=nðYÂcãwÁb(0“Êù+Éì…©ð‡^âv錭‚ExèÔêö·,RYä±fýi‹âß^ûÿ(ó 0œul¥w~™µ¿Á­¹Zíܯs³"Ð@êä–ˆãe`U· Ô6) Võ|†Zœr¸uååØ% +Ø3ÉgH¨ÝŽ˜Ö¸#Œ·g[ßì?£€!ª£®'ôõEÎ]|’¿27¹ðì-&˜¦c®ÇoÄ‹Vø •]~{¡0-b¿›¸QM¦¡ÜãáB&ø2½¾(•*µY&ñÐãH×G:´ÿ÷^ñôðÎÍÚ¸ruÜοµqÇ6>àhíÃø¼qœ¹l™Ù•×nz +vÆ>]-ž|‘ü¼3DSðé`ú{êIgWÄyQRáÖù³ÝÑÀŸiÛ ›¿ç*ÙÜiz Øà“OÝ™)–Ï´bµvM«Æì:.™E«/‰„Ëô}y5 ìÏËËÖŽôæöâû[e¡!¶ÝriÒ7š9é†wÕ¸ªøçV»KÙõ!ëtÙèÅAl¿÷×)mZbë'õ¼¬ERQá/¤ËYC¼Þ¶õൡÉ>¶çãÅ«„(ú[ˆôÛ4ûœÑ¯øƒˆƒÿop®ˆ¢6gÅ™\°;Ì g¤·÷sû€BÍŒ=EaÛÙÊ–®ºä 1?Õ<£:¤Ýç$Gï:<¹¶ÇiïO;‡¨„~Õÿ£"#FÖOî°&eÍéõ¤Æ8lÜîfuâÐ9øÔÎ ñŸ²wé‹®» ☙æSÐIqë^÷¿.¢°nCœ“2x¦nØaÛ–ýSL÷¦5ŒØÃxû3Î(qÏ•ÿ9zkÛ“k—MEÆõ"^d5,®¥I/OYéŽáQOØ\yz9ãâhnØJ``ôòàµp‹R·!qÒ%'Úù¥e€îë„N7ÄŸÛý&˜N:q¯Ð« +©?9ÓÝ ã`¼T™>¤âøDl'ñÜ4ÍÇÒêÚ9ÈK‹¼Š_Ð}bw ÕbÚrFk¢ìÚ¨`ê/¤ñª œž'T©fÁ"hzP|ûÏÑD,)ºŽìžŸ, O`:)œq²°@øÆÑ ºÜÈ•y°!Å7~Ì’=‰ƒŸh=ôŽªwBXµ™~Î8SP.)$•dÚP$‰¶þüˆ~ŽÑ›M +q,Œô]Ò{›Då D¨¢ð%/EV MB±:±ðÂ@[g_ثÚ!Ó=®Ná¿£¨Õ—ƒˆŠƒ¶BXJñc›ØÎÛü¡ß«J”^ÞïˆÎyÂqCCgz†"=îö¡,=I½eÁå…Wª §‹1ìDGÐyªþ¸Æcºm3ýè¤ØPLDbŠ*ÆÏdÓ%[í´áuáÃŽù=‘¾šÁ € nÅÑTìb:%3ß‘Kb(ÑJ‡ÊÆÁ,¦ôñö¿V±cï÷u%qÞ‰¢m¶p>wÈ3ë×Ç—ÐØñ֧ཛӹÙN[òšæ¾Ko"IºqÐp8“l’`Á‹¯PŽÕL‰åSDž7¯¿ÐaÃ×ñyÍÁv„›ÖÇ:/çY[>D¢9’ý§±=«¬vŶ:¿„æàx¹çµh1ÈïÿÅ0’Ä¢ž°ôj@åËgp)y¥bö¹p}rì‹ìÎ;-ä•RakMü·˜LyÍœÐßËÉ ¤œx\³(°XùÝ´#èžþyP=^zA¥÷¤v ýÍÂP¡óIâÄÂ%r™†x¥ñprÚøï·(ëBÑ›Á—åÕzÛBg_'=Õ»žZÙtU ìRïô—Õl.?ðß)±Q(•l¥Ÿ³À€RËÏkàŸƒ…4!g®­:k{±Qà›•¥Ìþuu(=” íß wœÄíéöŒÇÑ<2’Ýæg…á]æ+­E*_'‡´üi‰hÍzË £VY뼓aÉFEŠ™ìzíæ=;âÚ3%f)—ˆ×׿¸j«=Ú̯†)oÓ²uTDêúã +|§6«á2¼1ŒVR9 +œò½ïÒâ¹Mö9|°,ròlPÜü|‹Úñ–m÷-pùd­ö<0~[Dº‘äŠfg´I¸¤p /ɮׂ!«˜g…ô”i¾¿FšË^¸ +’ú}o@íWü² ’LÖĘ˜õ\†»à&Æ¡£í5»½º'×eN[@‰xˆ8"»«ûf&kI¯Úé bf'¶¤fN¤ñèJuâC†öcÜßó5ùÝçDñàå‹ž´ˆ¥·«ãN-_€Ut¾µÞzƒM2>’n-3_`ú?;I"p}˱Eʶ{Ess¡ðÑ—w(à²ä ½jb·­Ž {ê†-[€ —Àb*ŠQ4FsXÉl¯ùQÄîRQç]û<È9Ù®½ÑOÕÊQôTå*^Ñ<²jF<úC ”ïHÐ’Ôª‰+Ð#i9¯Óšam±4tŽËûO¤ÞFm þ­ËØG9–Ûýzûè1G×ÖÚjΦ¬Àóq2¾â±Ì#ï]a Àh6Ž“½Nè›Á„ü¾•ºct„|)önÖ|0 6þ¢ˆÚSB¸yÎûÝ]:€çù6ë +`ª<ôéßJ:eu‘óB7ßÉÅÒî÷¸ØyÇÙGuÐW¥V"kβ}-y¿¸õlå§jåËs\£ïYe³œ÷ `f +dø‘M·ê¼ÚÚ„‘$)•|dg»ºV IuK[R`†Ñn’Ý“ë>òL·é™š÷o0ú8®ù¹(‡qµ€¾éð¡vÆÊ?Ä£¯,ù]vE˜ÜÇì@N.üè’¾–;S©oAÆ€2×îI³ÒK“›[ÿú"ûf|mús2•ü +À¸ xXé)1dþ}TX¿‹JÿÒYöNF1Ã}ævô-ËD¾æ«ZÌqYDD]$Þ"R9Ló€ßõ««¸ä‰žn¶g\ Qkû`Ž9,k=ìBQ+`ïÝh¬ùÿªÒ2xŸD)¡ jú±neÿ¦Ë˜@Ï߸*Ì3Å-³KâsºQ–ÇZŸþº¶¸´²ÚUÖÞ!²ÿJË@›Ë„¢óY"j.&HHúâ ¶•‚×–Ш :\x‰º† r¸½‚Ú‘û$$5¿ø6çu yÀ²jµ¿Œ²6ãÃô›7@;=Ùx©K\”ºrïzߎ <>ù*àh˜6HéïÙÆÍ<åy‰zeÞ‚Æ8ìøÞæÐñjz Ñ]U5A+Qvâr^“º  ÑÅ¿¿µ’]ñ‹¯õè ßžñŠ Œ“¼ÍmÖCh(©4ÕÌȹ»°–÷ªÂYªòºiîjõ’˜j‹¦QiAA÷Ou w{ü³s|nR`)‹ì{ˆº£Nà­ª<GÃǯ-ã-¦ÿMÊÙÇ-ÎÐJgFÿQµ=ò_¨umsžôà®›Ÿ@ê]_Ã4n¬¯M0EÃa´Êóôlºv4c¶ò=ÕZ;¤ð¨Nh7.U^Ö yÖÉÁ&]]Ê— EÏÚÏ‹NË%!½Ì-aðn+‡­ö¶/%ÿ­~|›Ážµ5uÏ :cZ²‚í8V¼ÜùfEaº +Îé©Õ¤yß É+«î¶„´[";W¡Û]óõ¼&5«»Z¾½§ HɃ_qŠ½=Yÿ¸†ó*øLÜK% +®36ÖüüW,ÀO²%Á^ò#TÌ•û¢Œ£˜ Ž,Gå" â¤áW†"Ì`1Â\·1°”Vj}ll/®‘®½Üµ\œï¬ +ð‘x”egŽäwQðÂûNEÜ÷ÜþSdÛ¥¿Í­ô¡óí/R>$ô· °'kþou]!»-# ãÃÊiZ}ô¡1¾¤'\±™[`ãÛÕ¨=vlÊþu¾à?Ö6È yï¹å^¿H€òJ¼DƒI{]ÆIÒS&®‡Í–$àsn9æÌC/TèövÓË(FW›õОþQÏyÿ€À¬–äžâLƯÙæUW¾±BL¤…Hè*r}W•Åp#}ž“ô¿Ï´ Bø2ÇžÁNýkêÿawOz‚ÆIÇÃo”=8Ô ‡ÃÔ•z;ÉÏ<ÈÝÖ†ÉcÕ;GjÃ,×a¢˜Ø)¸/Ù#ÀgÉSÜñV±ð+SG…xu©úð:/ÆÀfÚ‘£íKn+Ý´‘R€Q6‘ýë‚ã·fù$¿KúXÇi,±ˆÖùòRµ@ ¦å»ú'öL©êW°Hê¡P@òý•àñq 8›fˆgSÈêžùèÐPÉHjj#÷¿þÈ¢O‹'•¥…g'Õ÷ô ñ&ð}=ãMÐ/á*€Ì2¥5fÛY~ +ÌQ;‹ãŸúÖŸxvçUÔô´q×Ì›ŒƒÓygïœå%ÒÒ£rŠazp¡ +ò÷~êöðAN©ÔcµâE}'oyA¢5wØ¢~Ùq\¸m|£ž[g×mé¤òY…BcŽ¿ëÉ~„”Õ¸ÿ •:1ÕOD}áôÛORåçÃå:5÷T:Oƒ®s»0ñ2¨oW$ˆë&¸È¿†±pÓ³‰·ÅÀf)S.[yjU|^^ào§•Lª›ÿÞÚƒŠ*úi|h†—ù€{›Ÿ—æ:îº-F÷`Ñ«I1ÎëðzAgö«îóêu±ü<)¼øšq ©Ed"1GH[mó¬|5²5Nÿ&Ù÷=ÁâáÒ5…[ˆ0û·7þôo'¬ó•Dƒb5&Z££·DÁìçH·šÞ!@iÊgòqcÁÏ9"8EhhÅ8½æ·†ØÞýG||á¼—Oà×ï¹ÌËûò¹ ÉõÍhRì…H´=t¯¦Y PÉìH§¶“Šr +äüÀ¢ëöï%+Wošx•ik3_Ktì"̪½¡ìŠn«Êkÿáß•øR&Sþ僅MT¤þÿc-Ú_¬ÆÙ<ìá°'LgfR­÷6®HƲöH"^$緿̹s´<¼ã3ûu\fŠ†Ñfç9ã/>ÏÿDdûS¹øs‹X I58êÐÒH¥)€ +Rye^.MçA&Mþ†.·óNÉIÖrmHGN·ãÒÉ‘|ö¸'©›9É ¨•¿ÇF½W4IÊ¢öÅîœîÙ}QåÏzrOâV#6‘NƉœ×ê6gª+[DOXQ.®Óîë l²ñ‘œ÷Ÿ´÷ª+g0 §Aá¤k±Kä]Wu­!çb‹øGËôläײ'Bäé—æé)¥ß"ü‚ÖéÀ€D †ê?4õOÊc¶ÈktûU«T=cVg]I&›Ø¤ôYÆùŒµbxiY1ÄFG ­x¨}Wéê°-?­ß%™éŒŸ–…·¯t)Ñí•Ö£íë‚O’ã$w•Z”KÚ˺²&ouÒQUµ3ìŽó{’ïlp£‰ÿ¾&L ÊJï9Ò$³'‘¨ãŒV»͆vÿÞ=‰ˆ“Ôrˆ„RÊrAÏ‘~û~SL¨ä‰RÞ@ÿÃ@PòÅOi¼ÁÈ"TÅý”ío&úpÌ_ ç¤pn/ZZ$jjëyžp9ïg!ò…¡ÇÆgCìçä$ÇŸ;ÕÉæÒ  ÉÔ¹½Yѱ¡RÂÔõ[,é† +endstream endobj 334 0 obj<> endobj 335 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 336 0 obj<>stream +øó*¯0ï0Xí h£‰2£52#Ppa½Ñò cÙæν9K–+ß-ß˨ÛIVîñj{ñ¸.Éןݙ³·¶‚®Vçyjè_T^ÈÒ1:BS¿‡ÀˆÚ/~µ¡¯¡Æ¹-Iíb¬Ð|^ íþ¸“Û7Ò ‡I|˳9†Â  +· ¦Ñ6@J;‡_.ìÉB‚ HÎÂÜ~±æ oZHþïÁ¢‚k9÷¼Èƒ_…µàSCŒÒµ %‘[ÆRûº¼èÌâ­êÚ&ù·J7ò8˜º G$Õj<^…i¬1ߦ:Pü·D—ÎïtV£ßˆÎópwÁ»–ò\$VÒæ–åtÖ~ni€q`pt纴”œ°ˆ¯«@0Í_×Çz*lÀê‰0ŠŠÞq1h™]lrÆÄÍ0ó¢Hw&%žnL«Û•(üs&÷OmF0JPÈæ,Ü.i©)ˆ€°‹šHn1wü¿“G¤é^'Ng¡õºš¸ö(˜÷ú[żÍÖx´,Aüs¾q<Û¤E}¡¯IÁÆWGHÐ=øÕv÷/š[¹ ÂêÐBí»ÎíÚX´í)œËÖùP’aNGÇ5t~«˜>S›„åtò±@¡9QN2Þ¦yÛw“ììæë"%\xM›Œ¡?ÿ¤;OP¶Ú š¿8ê“ @&ì|×/èϲ;Sûƾ†Öäøà*º2»òÕUÔ÷˜Ù£ÓÎôíƒü|‚ÞEù“ƒq‹J«ÿ$À‹½ûEòø]C“Cl'øíÏD‚òâYG+£¿WxøÌYŒ hø¸¤Kr^ ŠÒ5£ÊTjDbnÂ’ë!ïÞR,<Ä‚*þÚß”4Š™‰lÄc÷k8¤Ùåg‹%[¯b$9DÖdM.GÕÔ“¹dÐ €ù€dÜzò:²ŒCQ_Ìë+S5VÔïô??Â*-© ÞЄÉX^ó©÷\*F‹Sx.¬ž¡£à¤Ãร¦aªÌ€Kž¯RY@Úp Ànü±WÆÖYû²Õ~k÷d3$ùöÒxbÉ`'0;Ø6:¨ŒÕlfëÄ.(‰ÛY¹ÖÞz#²¡?Ä=ÆCûpØí<“ƒð”Í&`etÓ6­›VÊ̶§‡…ºtf·a¬:ÐÉ{kr'°Ô¯û;ru뇷rÔz²•§«Ø|‡}Ù¥›}mš5#ÂbŸºíwÎï„ÈyAÖž|KÛR˜YTOÏ5 +ÎŒ§sÉ|šåtV0³¹Ý]Õ—ÏòK"r¡.Û£¯ÑÆÅ®ÀÆõ´¥­OyDíT¢aÍ+}f´;Š7xõ§É§`({fFO„«J³×UÃϘ¾9ñ’€{( ûýá6 ÿÒ.Î-N{,-¬lŸ®›%DͶ¼„ÜÀñÞ– ¡{a·x5/X®kz;¹Wn¬3üåêauAnã]â:Xñ6ñh-½ð[x‹Þ“žéšË´Z%VpkágJQxZèúÕñxîuN~¬ó&c¾OF´ÛŽôÓRÄ¢ïëéþf!½æF‘¿ó"j¥W˜E›/%btÕÚÿÔ%Ÿ?o.ÛÈU¶,Vû'®ø:KÿœMð„A"¥yû@MöŽ ­ˆTÑÙñf¶Ä–Ÿ£Ñ0GX‰ÐT¬€bÒ~(13rmÆðÿ!ˆbvžÈ‰G‘T\NôæùÄþñ­㾚Ý×÷\•ôÓ·£¬Õ‚HlÇ<¹© Q‡“á2eúN¶µ= gø+aµyÒ`ln6~ó¤ðQîØ*F—êj«?R§žÐ/ýÚx%ô¦+ï¬3…šŸøŽæKò7¬IQŠ*òsÛ'ÌàbúIÿKW7${ êþÄ,A©#b^—\D÷É•®Iõ<ÓúaJæ}%MWè.Ä$ƒFTb³]ÎÖ¢n5d¶¾¬ ?„]Ši»kQYÖ&Z>æ)ªEY€LFÍóMüÁž +áü‡\½`ÚšÖÏ.T!:k€3Km? +)™ÉšË¨~+»v­£@màw¥áú:5µì†¢Ø»ÌY¥{DØIƒs;„l'‹_Æ‘¦b^qÁmS…·åZ×oyFEµŽÕçhw.E¼‘©up»in M@n«²¦D°†ÀB‰'©€Ëã•ÞYÿcü\vžZ¸s©­‡³hwãVÏäL×òÁߌùr65îÕeÌÞÈý áé$ý°,r~ýú—膾IvP8­å]ª'Ó×Ø7»c–°£NÍÂW³ÝÍÅêÏ×Bg˜äžYæqö«d°Ù*”Ø"ë:[PimÁ>GMa—y•R± +1Bó$ŽÐ}ãe?æ¹GþŠ1*º£Ð<°£Ü «ó%°™žû:àèá>çm–ªºÑÉÞÁ†]¼VO'§|‹D Îa(jDƒÈu«·Ãá’¦ `”^>*TŽuÑ +Ð +KRK¾ôzKJWÓJ•dlÕÓLÕµœ\w4‡¤5˜uFO7í£æŠ5]{þ×À6ÄÌ©cF¿=m+@Cí@ýŸŒòfIìLZotôt/'¤\ÙAïË.|Ï^ùÉ)>³»#ØÛ{å‘c8" b½¾–[xœLaX¹義 9µâ(çÝiRê*î7 õ³õuB *Æ ®gævu†k•'špâ+™´Cº»Ó_ ØjæØ¥+jª;"~yWYôÄTø!¤¼>™VÙ´Ÿqu¤°§† ovÙ²lè™ÏÛî <§äéWM*{cÒÈœ$W±¨ÆÁdÔîŒ ªPŠ&y=xI“@$‚ +Ïaø¸àùÁZχœLƒs†V%„T®2Ôº/PH…Bˆ)ö…& Þ¶c“{i( Ô~`¦ƒáœ.Ÿ±Æ±wÌ’o\ÒÍÿ´££hÆ2ðÅtå«äɃÛÇ_KCkd6;ÉÎ…SÖŽvÉ %qEi<%~x„™6ÈùŒíÏΡ iô/F4~Á´6Ι&)â¸å™‡G8à±yK¼\ B:b=Îó›xÈ¢˜)2ì%XÒÿ Eá]Á‰³bm9xöAÞ @–8Úœ +2’ô qÅ»ÏKÐãµÉcZô +ÂÄVJƒ|Zo:® ÀVVmÙÅ”®»".¦pŠDZhè•üù¢k{{ h’ü]âC° Ýìí’u—ÙKéX$UEE  ª€“îÿ!ºµ–WKs&/¯RÿZš“wN‡t…mes+%˜0»L%ää¤Þ P›§Keœ ûV"j±¡å²qwúü]â·$è!‰Ù¨")!®€K1w| Ô¨u·-`<ÈÀ°wêõ,}l×ÐÇ;âÐëÈ,"åÒ‡|лs˽ΪÏLéÁ h¶Á]¸ù&\ ¥LT)ñcŸšp©¸‰MÚ/Þ[˺äN÷4—C¦ÅÉGÌI÷®Ð[V>Ã5w#¯Û>§4ဃ>•î_`Qæ«>öÔh!UºpY~¤tT¿•Jû>oËkCÚ¸“ø+Òëì]¬y­BÆh Õá;‚€VÀ +‘Ò–WTAI‚Æ]ÆÅÂ{dO¹qvÑ8°>qwhÅ=GÑ-O]GgÔY÷ŒN¡ýI‡pïÊXÃô[Ú×Mv#"¤V6ÇÐTWè¼ENe©•÷pI `U“‡¼%¾G5OK¾+´£ŸÑya`¾WWÜZT£e)õµÈu¾5a–ýLÞ§áí=‚í<Õmz†bÎØŸZ®I,]Ù3Pwf·¦É†þlžçd§ï ŸÛŠ¹@æw8aßͱܯץeþýÔMo ‡…²ÔÒ AÉÐHy‰½k*y[Áôo¦Á“ƒ8&ÒhþÕÎü㈛ÓÝÓǃƒ´Æ¥R}²uv1­%2*wfãÉÕØ›œŠ€Fáì`WzÜknhˆÅ‹½‰,]¯cðò™Zz"'ßQ}ÂËy×Bª ,%˜û¤WrsdÙ„(FØD<î)WuQ ~d[G·lÚæ]KMÀqI@¾ép9æ +endstream endobj 337 0 obj<> endobj 338 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 339 0 obj<>stream +ÀÖíDÏÒ"!ÿ§™Àpçù܉¶¹»s«øi=ñe„׋»ú†ÝÏ2~0HšJ•Vcßœ´Â&ó¾%µB àbÂé=:ŒÙå“â]Æ®{<àþpü#ÁÚyÛOw»ã£ÛzNQÒ?À;¯Æl·ú:ŽÕæˆgóÆþiâ ÀÃc‰áóoI6£Ô²‰>Ÿ:Þù:éÀâý²1=ÍÖ,/²Í4ÕÈï`cw@‹/n¾@ ëbÀ*ݵ?@aŠP—ìAÂél}œQŽ +â'3nW‘¯6Ž±RÞ¶ºȃïgf|¬/m¥ëÿ++§ÀæQ‚ûÕJÄêÁ¿ã1Öeiy‚©ÕWÉ!o3ÎúrY¿ÒY å'/xün·ÒËqð`-cGeùÝ´®­(µvJYú²ÔЉÑØÜ!…—ëV¦™E³ËìÏibŸ·ˆd­I¯±òÃs<—D¥¯l;xíyA„Eƒþ?ƒ>{+19|°XÖ òåè§ãÙj:÷„s§¬Õÿ|W¢F"©ñ:ˆ§p·\(8,¤¨®ù I•f;Uûg‹ŸöÿÎFæ ~™×nSïz¦õVQü=9=!¦>¾êô|ƒý³‚ÏtÜ`øO˜ÍÐ}º<ÇؾôÜÞNN†[Þºl WÁýô'z|s5üR.h…¾o‰˜—õ³·³ô®0ÕµSüGŠ¦ZuÑH!‰ÐúêÁIáfT}l4ÎLqË©Ë1/×å[ânÀ̲^X¼¤(ZÏ«±œ“´)¼+¬oŸ×ïÖ Ûq´•qÆ9Â<ô¤-NóÓ .§ØB ydgÀÝ쳫¶‡Í«Š)ßösvÄE=7Û•^cÅd¤ÅcÓ'%êSð.?nœ¸ì:p7ZóþD¬¾|ÈÎ Q,²ä’—nœk4Ëî8·ê?Z\:‡­Wÿ9ðF‰‡Š»¨Î(²áÂ@ú³ÄCÕ÷¤Ì=’‡‰¨Y™sÜ›œÙ;Èôø*sØ Áþ€u²óT@,÷¯ˆÞ§Y7ù뜋µÒþ_Æ̡þE~£Â–5v¸Õ©À~ºã^Yd*´, ÑÇ æ}üÊïŽÀ ËEò§r¦Œä´UÐÜzÇÚü‚§GmH&ëP\äI³¯ùÂa–:Ê2;Ú}ù•:Fàç!>Û×aÊð¨ÇBÁO¦¨‡ßUöV ¯;y/„¬=W,-!N‡ åƒÁ瞆+í5qÇvò¦Z3IUÐUÙ…ç¼î[$ýŽ\Äç•úÓÑÆù…¹8ŠÙ_jŽ¸è[aI !€}2Q‡ÞÉ€è³Übd¡+Ò«ÝƇž™ +ìF_g®–÷„,ë­<š}ÝjÖöp{ÎHs®þ¡®º•£É‰ˆcû®&OA¿`º£Ä SH—5œJ”°:ƒøÄ  ‘ÅéG?ú6fÖ±X=ªâeÃÞðÍhD§N,¸Jú“¾gxNWvù{¸çqìLç¢8‘© Œ|iË«ø/žÕ£Å: ‰~r¨Õªv¯naVJrj’Z[ˆ&Ý…wzÔ´Ëù€“•!Rµc\R $‡yô•üá³±[ñCô+‘©ïgmn+G¸+Óå¸ïÊßÛ¹®/¥€¿&ò"˜ OñàƽŸ­5$0ξ²Ü€gß©ðÂTC®ªr›Àaf‹Ð#ˆK Q+ÿ&Å$Ž)r[ûqGXHèY¦0Ädïa mmòíë“66[<Þe@Êm.5Á¯M‹N_ñ";yà.Œs@–®Ü} —ù q _øE:—V×@äìù&µ<,Ña»ä{—{© +éÒs‚C%œH;Wãe¦­N®þ•SDÚ ázá½N‚Ãà]ÕR°p©¸–›â?šJT…èÃR-‡!ö>}íÓPì!F¢‹cY:Ù÷²62Õž²Ò)éS~^Ôc¥fÔ ±î–ØaeÎÑ‹ÙZÓN¦^{DŽœqÝ]½mNЫÕâtÇÊŒ_«s9ã¹;§á6÷AÀ‚·HÓiõi#€ù4½\äž X/ŽhÜHö0ÅoüªGó1:½& ®›Bê)Û}|·=bDZ²£îIÝIYõ#  +@G>‡¹YÓ˜ûåÐLf|¿§ +}¦°t´©Xè9FGœ¥‹Ou™>£± Bï7»s·+·J.• Äœëýú|ø¼6¢y¡]¤~cÚPõÞmrâÔ°@t¾ŠÇ2]òœ„Ù£›Â[ÈS‘^üX 4 +n[× Ìƒ?Åû¦§æ}k™.›N¸M²A½1mx  AÚê':†÷Ê*éB>‚IǵŠÖ]‹ª]Œ³-`sTpEúgþO'~K—ƒÃ­ œK£.šº`ç¢äË[Ì € ¨8Š=1ÀÆda×aç<‘åyæŠ1­É ÑWÒ®òm{Zé[˯O!½žœ›'/ùžøDhd6bºÙü¹†"†SIÿ§ +…Ó‚òôþã {mî^1†X„{–«= V_ðØUD«…¾üó–ÙN™ Æ=YZZby[4½þz…3öˆ#{é§zðŸà3­mI1UYã2ÁfgµøœB0¶ô?PÓÝð+1‰©1N ÆÛÙÝ¡ˆHsöf`%Ý2‡¬«\_ÙÝ ÿVÿÔ€µá!bãfR‚;6¦Q‡¹øŸ¡Ö#lyÂkDc]HNúK!NF–t¯ÏO3ô‘8n[ÎyA&Ù}uxüêz†4F7 Ñ;Ö%ä0}ò B¾§½h›= ´_2ÎÆUÆ ¸LËLl×X™­µdÎæ[5š·Ókª[FÒfÎfYý¿þKž…êMªÖ.Õ±nÌjrØž°çÉí¢­„Ñk ⲟײ‡ú•’ä¾~ùŸ`z<åeüæHÿV¼*²“nÛRœÊ¤²÷HÜìf‰¾$kúáÎ]wÒ·»éhx¶‡þ|8«2[¦RM¬ ßeÎf«C2=~mo‚†ˆ"¤dŽ/D<1^Ÿ´šM +gá:Nô’ýfzê'ªm„쪒¢²;F@Yÿm( rf•!0⣨ŒŸSA_6õÃ,Œ-¡/4®šPEžÓ©Òõ›Œ“ùú“zºTEà¬ß˜*9£j|V§¬G)‡>o§Øú«Yn»ÁŒ`ëéIn #‡™è‰³§˜ ËŸs"™pCVŽŸJgtä‰Ë1üo9ËÙ‡ÔçÀ£‘°~¯à•‚å[»¼Ì®Ò Ff5ÚÁu%?’—ö$÷l5Æ ¾‘—òœŽäJÓza3³â˜¯¼¼: +ˆ6#N–?Œ“h dEˆ±¾‰¢ Ä‘ÑK«ÆÒXB©±ooÂ>Õ†³^U(ðM¨Ã…2˜’B+Ã í°„•¡Ýp˜­¹ßª”n§¬Þ:ÂaA±oŒlŽÂ‘²öNia·ZÙLij¤ùÝ­_CTÞ6ïÆDxØÑ3¤ê“^rà?¡ˆbÆð5Ž¸·LÐ=,d¾´ÞyÊæ=›6J@¼É0#ùL)0ÌçhÕó]µÏ¬oí.VÿÂå³NG(­ãØÉÈ`Šdõߧ€µž²Ñb¼jgVŒ¯¿hÉ Æøt¿?™ëíQ1Žc`nbÉ¿ù]½Ç$Ä’‘ô‰±ž{‡E¸fy 9»öb ¤cè±ÞÃ(O5FtKõþÙ­e Åëi í‰úÏÆ> `Cüû)CRjùòr wÖ³ÓUK-ê5@Gð7à%vDg;»w)<,ˆŽyqVÿ8¡§x{)ëÃEW¦·*¦‰9–§üÂ"ªóp7û<%hD{~®ÈZ(+†"Olïˆáå«åóˆ?ó™Ôº"ø}fl3\nF4ÿ‚).i5Ó(Mâ©ŸÛ¤è#Â8ÀaHeñ"*†¿ý<›d sî PÎvf¢^ès蛸Ò T7 ++–{˜âR˜œq6€<‹£—VlëÈ(£ø*É°ÖÚÔç©à±á¬K½wècvbôoŸt‘Â>E’á%S’…ª/U˜ü>WRÒ»%ˆs;ºÁD¡tª‘.;»dØQà6£¡YnÕ6ëÐJ¬mn*ꀂPyq¢D†20yV€/â`J9Ò*Ýiž0œ.\yñ +‘e3û\‡¿Ór}ˆé@“ïÎo²Ãi\¼ýþ£H†PÚçºpi°}ÑÃ㤕҈îö!>ú»Ø¹‘F7>t4Ô'qW4^1_~ˆ:²2!h«“!SšÐ‘,‡A+"öGúg-m"Ú$Ì`¨ç û¤€¾" žuu­Ý ‡ 2ÍLZ¦í0)þº +Ýszo¤·¿_[ßIáv'xIý”§î¦Riý·Fv¸ålÄÕÀ¡î?ñö¾Øç©ñB/§þíP˜ìBÅÉФ³%–©JâKmG—o˨+\asŠjM™]¿&#à óÔ÷#·70݇ñNÚÏ•pBNÌM Fô@l<ÙcºÈN ¦~*wí +ÔeR>÷ =3×ñ*‚\ëFÌüÇ‹w.ÿINbáÎD¸ˆ–¶ÊJ•¨^Ü«Ek^,ºÚV&F¶1æ8ꩪLÄD@H¾N~ºBƦþdìÚ,êÌ•¸áyLl—‘cÙL`²×Æß»Àϔև&ÒM^ñå(ôÛ-¾öÇîºòt0@‰0–VTÜ/Ë›©;hhÖ/*@Û%™<—‚³Vò 9MŽbíhÿphÞ€&BÇ-`›+}š´Ó›>0Öæìô\®¶(„ÌÛ´£/ŠQ«–¼‰D¿O<\›ï¤fž#g7iMãlˆ3¢­`‹"튘~üû©v }òBìnWGé€lUÂf‚]£‹É'øŸ!5=ò¿ýKK™¯„¿Ý­³‰ÓÊ’W ›x> +_éE„.Þþ*X+óIô^ÌßÊÅ¡N¹a-'ÀÇf-%9çBŽi§Sºv6€Ác|Ž¦ÉÖDƒXú–)™FWb²îg­;Pûaÿz·(å«œutÆSN(TµåÛëDð c–[dÕ º,*.%AGôm¼ô2‡2sVZ9†Nñ„÷½(½)¹‚ø¯EjÀÌjêõfª.F(aYžó$h#îíA‡”ÇWźŸÖ¬8"Îbù>€ÊÜj$.—{žÏŒ™ ¸nÆNý‰±:n„ÅòC¢ÿsIc]ÈÍéÒîì“ʃ}ÊšÛòH–Ïb™p M„†/xÆѾ-‹§¬·?Rï mИYƒ(8ô0&¥@ÇÍoæóxŽñ}¬¢«‡˜)Q(K“$@¸5<(˜O¦ÌøÐ[ Ú›Ä~Ì÷úƒÅjÑ_§?_è„žåÙ›ÿáÏsM̹'0¤ šSƒL^¸vÓû=''öÙ_±#Áúidüßádx»_—žÉBmyÖí4¼Ë]v‚ð˜ñ²Ñû Ý«åF§|$Ô}졺Ð{yy^uÃAR˜¢h @õ‘OIÉ6Ÿ(Ém“†ÎyNø^hÜ­ÒU2{•ZÀ#ÏF¨Ÿ%›ìA^EW¸¶­NNNF(‚/³+¢“Ê«ÒËŒ¹p¶læ}u–ÕŒ% +ã˜õlÄ‘í + wæªÛŸ$§'’oǤȖIaë/!Ý 5ÍÀ16x=^Æ÷¦ +šßÃRòE"(ò`À7#:ÐØsmåÚ"˜°Þu¬[Z‘OÆÒZQÓ>ì?]Lö´y™|XP—l:ÉൿHç¨=´•2I¸!Ù3FmýANÕòçåÔ ÒúQkvàq§žÉ|ùÄ$:áH{غŒYB4 Æ¿SòõðRøvëù–ù8ú~GU£åæÚ* ‚ìÑ"uT˜|a¤eFw…m¶™ +8©­oà Ì·ËÑø¼e{#• )ä)§ƒ›ý”TQ7]ESäÜ¿3g{s ^ͨrz© Ƨ¼CÛ:6Ûa禅1ÙÇ2ÃòM2©5ëšf©Çþ¢]Þãj^¿iÕû>™6BˆJË¿Ÿ™¤™±Ÿt×FuÝÉvNÃìzª¯ÿDAú¦sÄ:‹d!_bº¢À¨ZÜwwEöæÆÙ¿ˆ €÷ž*_\òƒŒ²_—J‰ô¨¢V2–‚A2D +% ŒØºsì°U›ÎZ;™ƒnjR#³štpˆw÷9t#Xg's wÙ#|qCF®Ô#•RøÂç~l.”D‚‹óÿJãÆ®¶x?'Ø¢…ÿüÁŠ±Å×aêÝzªÓ”'ÞÝe cKtÿP›ÄéØ …<'ÊoÂÂÓtõÍ®¼Ñd[çl±d±7ò(VBZšr„À?Ö¶ŒÂµs€™üQï›PH$ïªý£€ùâ!+Pœ¶lí5–Î}G˜i‡$w·eìiþYñ'Š²ÎZ4Mº)tËÖÅ3Ê/öÑÓKM,þ¦áÆSa¥…ïÍ”ññwÑâÓ–ü9Qåßé/Q‹¿˜ +endstream endobj 340 0 obj<> endobj 341 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 342 0 obj<>stream +–è©hÅøÓz4XæHˆsÚöÕÅk¥æH“ìM‚t,˜ïx¿Ó:y»½ Ž,c8¡†/ž7—í5%ˆg <.ß +™­[ œ|ÃùÙƒ€_Ïf ÊUš11¹OÀ߶êëjBm}ug­ÔmGWëÂpöâ5‰q£ 3¬QMÖ°ÌX°]KsJ'`D"6)Ue}·Ö º{"ÞâŸJjÀ¹öð ÿ½õË^ßÝ‹œµéŠD4‡‘ñÒ÷ Š¸Þ÷Cúd@@R +*Þ@ðMªCõۇ‹ ÀÄ\£UNçÔ<¦¨‰B`ËûþSs”–’…@”’²¡ÉÜ–þ¼:I`gÓ€ŽxzVZFl «zÝÿÛáK1jH<é.þecÑe€þŒÁ+=÷‰bâC=0®°WPÁ«æ(;Õ†‰´7CɹÁÁ¡)Øß«ËTJ]!¬dÎ^ÖÀV [ç'‚YïÆ{ +$DÉ >³K¶Bue(ØWÜç‚Ñ ø3ãƘÀô( pÈ‘)±eïß–oNÔï’uõc|ë–…qݺ:p\„¹õ’3Þ‰9/ðÈÇ6ÍÒ2+å2 Ô‚Á÷û÷`P´Ã<§¼îÑò~ôâæ"¬ã‘®Žl2éÖðÐÇoèÑMjkJu߈C‹Pnçãî G„d…ÕbÓ¢ƒ{` ïnb‘ÉÊ0FM2ï§ÌfIÊasº[âXNߘ¶#&<‘<{3QeÝÎü ¨!—Laå¡æ¶‹äßcóø†òOó(Æ®ÏàöYÊܸÉÑ- P#ÈŽ³¨C?Ϋ0)]o*EÒl9° Ħz•©*} Q{h¼U¹9…»—µ,~wî:>÷Þ4LÔÓ5À†MAó#9r%pžÇ4–ð{÷%2ß@ETsóÌÖË;ÜLê²À ÆfŒi†b·Eè9XýŠN,ÇlXãÔ½Ã:B3+JwÓ”­¹s&-˜ÄÉnÐïî±Çµ.\Ðad§2÷A·‚4†)DŸáϾþi ¨•“˜AI¹íðè˜Ò2d˜ƒ ãÿÈ…ÕÂÐ ôå 6ÆݬÅ`¼ƒÄ¹¿œG5eÏêÙP0]:¦Øô|Ö1[tôLZ ~X?7 ¸vµËµ9(õ¦µ¼äÔ—™ä„u—ž¥Y±+"|“‘oÓS› ñ]|–¤™¾ +![n”D +H#­W sÓšÚ•DÖ”Ýó!îoj½ò[ X"ZìŸ^42Ÿ¥6éAîô'š€¨â÷„´CvÔ#uYÿBS\³”¾jÜÌn;c®ò_;ñCöJ®lRFà¿äq ]6|=ÚzúÓêÓ®4Â/UT¶\ cyÕmãß:}Ir5°ãS=;Raó—)üaQAÄo”}ObÍtË·0Ó}ÂC…Ò#0e³}X4¢Ô]DËNÖeŠ*LR’}gŠDl²Š ýõg²Iš(<ùrÉ凚[sP„ƒ”ÙM ºé¹)—ýÀ‰†Ú£ÇœÒÚ•Ð ¸êvd¸tf&äV=()ݳÊÉß.Ë~¼JÓ„ú‚•Píx‘+š©Š—F&àVæ¸Tð¶Äè[›v4„`©¹ú0µŒDÁ²çºã©?”g˜ ÅÎIÜ»-ÕP/óšÜ-1€i­oß%ëgñ¤—<㽿p™Ž‚Ùï[Õ«wyã³\´¾âh'y-0¤-:Ï5ó-Ù¦% a…°áÅ ¡àNní5ŸG7Y¦z̺¿ðkW³Ðôpº<”£Ž¾ÒÇ⤊í20$I–¬ë×Ù… ®Â3ûŠÍ¶™= 55‚Ìø¤bŒêÆvm%]qÝ ôR=Ð6Ò²bEtªÉŸ6-‰¸]$X¿}\#1¤î ë9dT&äUÇJ ’‘pbÓÒP¿Dιø§IHCË&1S<ËÙ6y×&®:úô$ÀF^j‹Ï‘YÊ3?øɦPš5×¥.¥å?>4•ØÕ‹€Ï²îšÆ>’gœL+L ;‡B›Ð¯ü`nƒ¶½¾Ã½!ÏX­¹×î·s™Y|Ù±ÁlX÷„h“h²–;„7Ìâ&Aæ´žg +%‘Oˆ/™Zæð Kt¥¤¾-êøêS.é¢~í)x«©-/ºþ3ÑÂ÷½Œ+/1м²Å7Äê).®MõöZ”Ã?‘yþÈ·Þ؈§{%Éñ„€q…î·jhkRåÏ8•»¬"Ø)ÒÀhì‚Ü๑{ƒñ=d¦Ô›~‘Zµ-Ææûá–Í"öNŠ€,=.á’#76ï­5†pá8È¥(5ÙÖó2¾S¹ÓÙn‚&õÃkܳ1zËL^Pî‘·o˜Ÿ©ù¨ &G¡’súãõ¡Gn…ÃìWá?9ÈÞQp÷ɽûé^¼òúO³q!EÊÜK¨’^—(´5j> ʉC„Ç]ÊQÛ/—°Õ°-ÑO,ð‰îg]" <@EJç.ÙRKœšíT"ö¤AÞጂz¦K0¤¡‰j„ð¶Ï‡ñÎ2±ûc‚–„"·•¦ý“‘Ÿß¢s?Eb­ÈN¦2-mÔIÖÆ8Gê ‚·˜É­ØØCø@Û^q¨xêGïÃQm¬÷§Ðëó(_¾|šµY™z*£Úûþ5¥æÎÔÌÅà—x¤þ‡G)J̹=ìQf>¸-¸0Òõ;½#'¡Î}6½J…æÐúÝ–*×ÍIyÖ²»$,šêy^¼Ã˜eP3[à{å۶˂<üM5Š¹€n!>ˆEIûHLõ^¸X ‚ºè4@Ô9Ћ`öCzÅYÅYg¡tÏ’c½¡4°*-ýÝä„&~×Z{s`Eƒæ["üJ¼ê±J·tXÇž{RFWÄp©7Z‰Èb†é§0«Õë‘óÙ¡}í6hNÓå}--.æ=8,Dx“þA>òr…ó;¢÷`Œ³?_Œ`e£NƒJhï•%|añ²ëÚBµ›•<ÍeHÂQIÚÍ)*)Ã[  ­WWTÅ~DÃÅ vYLY&„ô"Ȥ¹ð ¡*õ™õs]©V¼A]eäå'ÈBæŽñ}ƒí¯l¥#"ä—tèÞý½YæJˆ'#Ÿ$\¦b³ù"̺[ôì"ϦÏu€ÎŠ%¢MGýyod¤Öûoÿ²É‰ËÑOø{ÉŽ°ä"L2dpc´†;ÝiѤy"eãòÎ\&÷³!±ÅìˆJjT9Y7œÕòÌWlÖüKÓïÍCø '1)ºú«êo±ÍP¶½.ÓLìN¾Q™bÇÅ}P4èÆ÷ð„uYqL~nX/Q„pq;z7³â!¢]Ák]RÏ*¶ý‘S¸{ x‘8!¾›€®¼tÂiyUÆ“QeÆ%¤(Ý-À~ýÎx¤¼êJƒ&û˜§ÌÈ`å—*Ù¶w«„Nâ’[„ < Ûƒja¼n\7#­"þ´@Lt¨S´Xs^•ñh?¢‚Ë•v£`–‰»SbIÎVøi€¥Äš +gb »ëç{E‡áñÑ‚$Ô°!–9q‡Úƒþ駃àÚÍáø™™“2ëŠ{Ü^[–žÿùÚ».JŠßdáùÒëìþA¶…µ£s„…œ!üQ›yÒ(œª»‰A: ½Nç=šçÏì˜*âýKÇ–ðÈêG‡}•aÑÖBx A …o¬Ç)uªýV«–"‹…ÿ€úyëÅ2@ûšíú/Ÿ¼ÝÞ¬"»Žká0R~Ç)‰Q¦Õ’0öâ Z­øéˆ:ø¸M–_"î*¬)veA°N©ú~δ•T.™¾4ØD¦–OZ¨¨/Åï¹$ {a›Vé„ö¨ñ¸êŽî˜qáô² ž&Z 7Zô‘¨¾Tzß +I¥{¥|ÿñp\Ë$Î0³Ö4j‡ +endstream endobj 343 0 obj<> endobj 344 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 345 0 obj<>stream +Ë8Ö/“?ç-ÇÀ¿ÿ«”SÕ˜—Å]g‹<Üÿk¤àƘVŽ¢Êvã^éód,ÜõT˜…•ºµÍë~j²¿$|ºˆ@p1­§É…‰kÁ—Æ ÉÆ„#%y‹ã+‚k„\¾ç}û¸îNò’š¦ø P¤TŒÿk@1>S zðË:sE½õ«ÞÅŽÜ&c_ï®65§—€?`¬Ò)1’Ó(B˜·HñÝh;U8† ÅE|DÄ­·bJS—:ÜS8­ðæ!’ªbG2>gƒVú=•úAÚZ Ôåä ov¢H_HÒÛ>W¸3¸—v¨ýP„ ©yØíµxÂp*Ô9W^¥£Ô,öå™~^þËú¦–êûpêRÑ#Ùý±ÜÍáyÁ8Ô¯M/€÷ùsµü‚t°?ÀvY(1ØN+§`V±ßýrŒÁò;;ê=çi€n° ÇM©28PJ¼väø«Q¬ m R +<×kÇüÖf}{l÷ÕØ×öº µ2:CNÆõf·c+{ùEìêždµ’õ™Ú× ÇrL + w@úÿ‰Í¤?âñB©H7¼Ô ŽýJ±½½%w·aš}±€úÕ5t‹ +‹ »Õ¹åob̈‰7Æ—Á ŸÒ êjSœ„ ÚÓ¹ÌÔ'úD†ú€ýqýr‘~ŸÙ P¿냞‡O=Y•ùž# ;yfÍœîI±øJm>xccÝow‹¶­0ÿLG…Y­^}’Ö +%‹ì/àöfßPû°ÍpÄ’w爔Æ]XÂHq`&1Èyj¸^NYãµZ»ù'åã@ìÃ;<Óž´'\_9x¤ÌüAͳPD¶] sGh9ÔcÇó: sÖÆ^›CIÜÌßEµó²•F-"†Á¦–ýÁô\„¾„®ïsG*ü㪰b½qLU8™Ô惠Ÿƒ½ áýuÝôÈ&¼Ûê<ƒzŒ“§ãQØŠëò±S®Ê ’«YàLŠâvÿ¬ P3ZEu£:h=û—¸æ˜ÄË‚(z  múO‰ „ ÍËÛ²kŽrÇ• ïíxý—@>„³ wÞ|;ÖÐrUÿ;%¶yYhUµvt=µ…øø]•Ðp9"aÇ’x'ʱ.>ªtÛk|‰>éy Ê=ù}d?8®0)à^†R‚†wñex $µïÈßqü~ÐèmáV¶Ý/žÆÐèŒGý³Å!}uÏ“²«òœØ6‘Î}HÁfL˜L“(’üzo!UöÎѹ|ùeÐÎëxGšî ÊJE÷¥ŸÊd«Ë€Á…XU£ Ud‰ò¯ 3"–rt¬âßG%wSôz ({ËD\cQ`Ëç÷2Êè+ÉsJd²æ­H<ï”ÇáT(‹C^•0â/»H”ȶƒh%…ÎQ‚3{þ:0ÉVßÛ˜hzœnÉhI–`CŃŸEb™U¬ÌJ@¿à?2ÐÚ[QX?—@D`žP|U,«I@LÓu¬ΕšüûZ–Š—êR1ü-%ÈN –.fȸñuùè +\[“GPúÀ«ÛCP“ÆeºæäîZË¡ý‡28|k¼“/Ì©ŒüÊc\*™1á/,ÄVÜó^A›UéÉæ0ÆãÎÝÖê+¥Ïõfè¾K£H y¢MâÛÁkìì*Ù¥­''¨,ΘïfMjTx©×ÎKiŸ…í´ÂLÛ*[¸[ê}Ñm›IP€_ЩÓ{«Ÿ'£Áø,¤RsÃHÛ¢C©šhႾçœ_Ql óí:U~m«w뇗D?«®@9£¢ÝJ×ÝGïb”Ü +–ÍvHi&E0 ´2š¼óÙ‰‘U)ä?«Úu¾PôÊ4ŠžŒj¼¸µ¥.ufu¥ ×ãqát3…Ê´¤‘a´à<¯wù»Še†™BŒDÑ´xÉB$ê|ƒÌf}øåë0›9š‹ ™=SŸGSìŽö²ª‘PHÜe(Z–HùÒ7° íØ“~X=õOF°w!5»Ïï͉{öÑòès*Ì}*q![F» +?l5ˆp›Ûp•  ÍÇã=ÛV1 +s´kúD˜)'KåªAö+þ €ýú¹BãM¿–_ZÉ,FzAI›jnþÈ 7vìöòègÍÄú°xuL¥¼¤Â=¢Dº¤ÍÒ[ªlæi"T0}°lj¾ï>‘M"R¬m€«Š·'AüÛ²Rú1&‡bän¼™Ì$ž÷™U'SÔì7³-6¦Ë§íz pH0C³†‘©¥ÖVË_ç·#ØÓëË×ÄÃU©õµD}À¿þ—ÑäÎI N|ó¡ôs¹†{Å0௅‚æÊÔ#š&Ö>­H`{EhàËÊ#B+®%š™ ¹úl#ñÓ‘}±T[$æ7socÌÕä¬ +()ŒíJë¶<âg6™C”¸;ÒUøyÀ +LU}ùàáHÙ±§ÄT+Ìë·›[<§£¡£›¼´"¹¶b”[¸®Q̬-ùs÷ã2A +Tà 0æ]ž])v̉é{Ç=·K{öæV{ºÝ œIª/"È#ÜdúW éð£›:"T å–`JL‰š~ +5ÖÒK¯ÐºÉ¨@EIqtÖjŠM—æ¥çyþ¤,;5<ì]¹u>ª>'¹¯q B‰UÈßôAÚr?øMAì‹XÓw¦7“dK9{áNɽ$­_¾Œ†ÊeË)£Fñ9´ËõS"Z†ñç$…ëíp’Ê´½ä¼sÕ´YU²(„()¼m±ÀÊÈÉ@ú±wz[¼¼"Ž?ðµOsIUa½ùK]tÓ%ä>:-"2¬†…¨DcÍ3éÖ‰½N2œ…A0”#~ÁÆü§A†®woq¸¾™æz{ÿJ>[ä³ßR à+o1ñwÅJŸº{@®MãÉI¹c¦Lö.hÚKÚ¤?ôD˜±ðÁõpxV‹VÞU ‹£R¼¶{Ö†ÒS¯›nÔ}´¨ÓK\×r3v8ï)ᪧ¯ñ´B¤¢h åªtVH‹}Ó‡zàó×ò~Á½¿ +¹ÿ˜5‚Ô f¤Ü‹Oÿ‰ÏUŒM8vÍd]Ycxço§À‰îÿ‚n;Öza, z6¤Òx<ÕäÑ#ER#ìß^‡{ñVµ}©ÏÀ—À'#ÌB™º4õÕŽ¾š.”¾Q vmKž€õ/ ++–æå†øÉ›*шKÏ(9ܘ^}³¹Ø!›n™Õ¢3¼4–¬E%?â;¾÷2X ’ºî˜¥SxÎâO!q[¥lÎAS#5jmó(¦Q4<°|T:³aPùŸ¹:Àu9©héט'ÝPé ÇÂTÎ^ž [Z5`i…°#:@¤}›Dd#ïðügvª¯¥oÒEA.súvé…¡_ ¶m–kB +e'óhc*°¶”íBt?ø€¸Î£0Qšeù ài‰:9P¿ó_ùø’åDêĬk¨áIÇã{ιˆ²÷d…Ù—ÐØkQù†û`µeU9ø@Hâø 9‚à¬j Ná¾à‚©»2'ü”óÚ6ÖJR`VÅH +­ñž#se4²vŽ&9’àO-y jyÀÃXšds’0ŒÄÀZ"=¿w9®$wwAöÅØœ—'Zw‰ðª T·xÒœé^.hû´€ßé˜T( A&pãZ5.ß;<½L wãq´À˜Sy~`Š ?ÄR{IJ9áyã+u™¡b=„÷’ƒ¾²'@'í&xà¹AC:à†Òóóhº'ŽË|¼˜[æ•]xTo|%g*ɱ:ÅiœÃ3uׯ8¢êrdD2ü£•wCøadï4Š#vøò ú7mÓ÷?›DyNg7eL挲Nô.ÖðÔsÝ µ94›’5ц '@·Z*ò·]ÐA&>jïÂðR9þ@†j‚‘ì<ýy8$ͨáä¾¥Ñ +3;Dx³|‡5vB1•“jyH¹n- ÃFòÕD´¢IÂxÉi¬>uáÞ§p,×£Kzn«OµÿBÑËKN(ãó„¼/Þ¤Ÿj4.—¥£¼Ejž§é‘3¯‹% ÞBÕì×ÕW™ÚÜùz÷±µôf û¡•E¹Ëf^Ýz­™Â’è’áŠ"™AeB¶>_Æ‘›VT—PmU Ù®”qÕmZÙ£µoÿc¤9Ž†š^ô?v ÿ„ŠÔX2⢃ËgOÁ¾s*ñ—â}5÷¶K†â°¸JÏo 1ºŒT£É€ [}L]ø üvaJç°~‚µÄv9Æx­vÔ8ôyãtˆ›U¹nöN8yÔ0ðiÚùþ¯žš5I GœíWÚžì±^PøÏT,†æÈ£y˜Cñòn{ãêž +Y‹ù¹ FYs}<ñäuøYq + +endstream endobj 346 0 obj<> endobj 347 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 348 0 obj<>stream +”#ºÁÌE"a±4áyaF+I.öÆCÁ«+™ÔúÈ¢’~ROª×“Zz1¶”Sâ>«†CSýÛ„¥“1>Ið=4ž/,Dr’q¤©—åÞY³ÓôQðVÃvêN. +ö?{Ã3 +Ò›ý*ê“ò!S8ZW(‚ܹùWª¡kAîÄ¥r¡›7¤œe ð€žgàc–èïÓ¯µÏ·±ðû°í¢N…h&àGÞ:ÍEJH86÷²Ù¯J ^y%¤TÃY÷á›w)ÜïÊ0M¥¼EV8'”¥ã ´ømZJ²¶\|^®?Ø2` \ƒÎ¬éŒ| ô‘íOµj×’UæÂ% o)»~ ƒ¦ìH³ÉKÃ9ö£Ž®²lèË]ÀßÛú¹Ü³ë—W”‡ ûqKΙߪñÓƒ¬Ëü½¨HÉC¼ëlì¥ø¡@#n盕jþ„ÌÇùœÍ>z$’Ï4”PŸj:ˆ5{¦ÚµÆʯ8‘•á­ç&ðÃÑÿêw3To}GDO¯¾ˆ÷›)™Ï‹4».!¿ŸÓ²V@ñ +Üåp'LÀJ¤.ç‘I»ñã¸"À¼~æq–à. Ï :;NóýZk…»g…+Œpg­ã_–®œ¦}´.J(lŸˆ‡´ôUõUmlÔéÝ¿ÿ´[sõàåÖ tV'•P¨dÎt§”TÕ ‘Ü´Xê^tçy—0@Yfg@²Üøš¬]qÉ®qÅN; +‚#úJ@v Ñ"¿ëèf ‡7+£_*&£!!M5{ñÅñM/”7Èöll±ï±e$þýG¬ªÍá"pÇ™?Ý}ÒskVô«¼µ BX@Šä¶Åë¤üíq$A\ Ã=ð{Dzï¶[æ¶^+ÑR˜r—wÔ +íïÜ\z„ýÅu'íyy“ÈÞ·d:k[V9æk«"e¹î4x7ÌziF€ú·Ò@ÁpZ­–FÇWx!M÷d'”O¬qj*?êHî£@7èý?ÇäW©|ª¾UXí»&¿p(ôÓð0Û¡ÅùÖàÀF¼ÿ;]“ä3ƒ@D¬#Ù‹9D¦ðP#0×®| I[ë *à·T%ŒEù¯4Nò›†Êü¯ w]NVÜ©•Ê‰÷s£^À~ã™*ÀÆÜ°‘Ñ]vYIàÞ7@‡°[ÚW´SB&15Ń`w^,—"õì’¥†4ÚÙqÙ|& +ˆŸç÷,x®ø È-Wƒdï<wL_µ1_çŽÆdN +ø0Ç Ÿô/3ÇÙF±Š†‡q)êå¯Ûk6)&M >¶Ø[ö”ÛÔÅsSÎŵ|5JGbÚý + tâˆs»ÑßDPÁj):ýbo“¹îÖBfV¦"`x»ö05ü?°íÑí§Zªª:{—yàRlP™CuÝ…]‘‰ø¨ÛE+ƒ3®K‹ß åúo1Åž„6œ@™sÄ&Ĥú%M± 8?|Ï"4ürÁ8'u2O *‡'à-Ö±ç| «îBŠìÈ•b!„€³%%Õ„ š¼ìeÔ–‹!U™ˆ<È^ò³)ÿ[×·´z…Av´® Ôè6?y_åmµ¤¯ +ãåü7Ò$-3Œd^0àòcœ«ÓîkWæ5Hzë Jóòšºe.²ÈaÍHÂ7û@Î!8ÚfŸ.˜9Ò1(®š·yq€A5i¶“õ0*0xc¤PŠus°åöz²nµÈÅs÷ï‹™Ü`ãiŠ%«ÿYþ‰O+„qÅ8㇠Òû°ø‹ºX_â]BŽÒÔ^÷¥KÂÌ$ÞšRW„©%¸‡ +ÉD9ª)b'¾ËŸ0Íïõ•­ÉÿCŠÆ'Ù\§M:kuåQ1+ÀîáöyÁ½nÄ·ƒ7îe HÒƒ8 ']øíá v"-îñ‹Lù²€ ü¢ØŒ¨3‹—)˜ð°aøæd‰Í åšÐXÎ:®Ü~œÂd5m¥¿$D€ÂÓrìo6æô6ì´°Öիȹ-¤ œ%Ë —%»mêOuDY$}'XŒâ_™}2shÃ8·ÖýÔ¶«X|H~„hFú)ÌÔt‡ž•!ªªš§ÂÑe<ÙA¢IdŒæ±>sÏLy}z_ÏÒŽzv™A= Ü&V¦œ7„^ƒÔN’Œ˜EÁ7^y):÷,9ú0,±£“CÛÒØwmòG®HybDíÑê õ.F>x‹ñIXÊÝ3Eºs@C@GÈh¬•…‡jëϚÕN;’hÁ£~ôuï*lxÈõC +ÿDNÍ`˜ÎG¤QQ,ÓáPzŸWuo´ÝR¢â[h @ÐM³YÈC#Þ}ó#îvõp®h#òxG›vu**:[Εçâ™›_Wô9u--Í5l¦Ì³³BÓ¨¶C2s/gu¸GOø%§MY\j…Ö:BR*f>{lp95z©z:¿ü„ñåó®DÈ0,3Ç´ý¯!âVù•¥ ˆš?{ Ì4gû?NZûÚaªî7˜ßûÀh¿UפTYþúFùú‚µ¯mÑ~¾|Yq:¬ò~È0Gy¿Lº½ÒŸ”b/lÐdç—{$LÏTY¼ÿY$Š/ÇUË°Tnâ·ä­¹è1ñ`|у_àÔÄÔSâ…š·ÙQZZâXȵ‹ [‹ +¾”Á´g-/ýJ€ëœÓ¨Rÿwû°ÿ½;‰ÐãiÇ{Öò( €‚?èÓH«Ã~½cÏV‘¦ÀMc¤ÃHe®l4"1xá”ÃBø|  ¶KÏƸSƒ$ôt§Ìéu7èål¶ê2OXÕkíxƒµ½R (Žx}§f%?®za8)¢+€ÑŒ-x(ò69³Œ,/?·T²m‘—ýá@DK +ÞØ®â]ؓط›”;ªR E±ü¯_ÜÍÙÖ mÌ •„••þk(+O§CÇ–i.À’f]Ç°”~ŠDÂËTyÞÙjZd¦¢î¢‹°ŠÌžRº\èÎX¤¯“Ú?ˆ‡ ÕÀÊuDáR…lÝ“^èÂ4ð˜£&‹¢váù›UW£üfóŒ.üÍcyòô[ëj¹ç7© @W+ +¨¡-žaIY_hAÑ°Ø(ìZµÜm­.^)Zìú^ìÃòÝ48­¢¸ÙjÔLoOÄM#©W|8ÛÂUöGä°ò,Úœ8¿yÙ㢱¬.[ºAÄÊC;ו¤B—3Ms}˜ >qËI:tÅJHZëDhŸ›0=ÕwÝAöRµqÃÐ]Q#H¹â’öOW19œ4K-®Ê¡ *–êÏoxgsý\—þ)Äî€ìך4“ƒeš}AeAÿ,kZ]X¦ã„I(ïNÖ•¿‚ewy?‰„‘Ó;ŠÓÿKºÈP&%É9¸{•P–ý8_îÅÿ ÷M漨0I EàjMÝmà˜{;´(ø–ë× +žëf¦•'£k†Td5Ø[î8x›É³Ûô]ùÅD“„¹Æ#Mù¥YÆ´ÕT¦1ïv5—›(Wׄ!½³+VYëP Ü&Gt(•8Ð&×Êż™§•¸Ï‘)e2{ÛOMSô÷«·åþ% +Ì8™¤´TvŽ\»´Ð·„¸nêýK2¥Ý£2±Q`v‘L”óÐÏ,ÚÍ?¼#”cêÕñš[Ñë4Ÿ½P·ÿü\!ñSÀ9Ô÷nVX+W ÔWNƒ˜ÿºØä ö¢žºÈøy!Lƒ¾y¬-V­ð›ºÕ§1¦ÿÃbWêqŽ.Nê: Æßlù´¢ Ρ£¾ð–íûóÔ/g*›ˆ¸ÕZðAßÉhâ׃‡{¾Â¿7E8dtÂ2g((v”ÍQÊ”Û(_f”5NCp>y8."ú·•eáD‚Ä‹÷ve˜÷¤F¥p“wì´œ+¦lÏö‘Òܦý}*+ ÃN…H!Á_kU*î‹W› +±íÁ<:)–2øÈ,ðSjï5r+Ò ¯B×p±(¶Üï'C‚{æºÂGW®EߪÇS/,‚À9Nï}žYíG¨ŒPj­(6º|×N1)–ê Òç +¬Ê+‹G»CDpr6~pvh3i›”žà»íä! ±Yy_ëñ"6$OjmqäR懱aøPra÷Äf>¿ë<ÈŽ6±¢¢”£™³‘SgôôsN¥O~ˆÑ“*ùjØà‹âd©®óâÊ’󊉺IÑï xwsD–Åõ}[Ý°Ë-+°Ãâìéð<)Äðû’ Ò’Ôðþh<Zâv`µú|ÜeVCÌU©“®ÖnD çVqUVóÿ×Ä?¨ÿ*ÄȨ¼¸Õ0\¶³«È¢_£¶µ5Adëáàº[°_7ÆKíýÇ:^?½«â}o S'úÏž¹Ô¦@»ßß<œ„t +Áª¢çìåÇE)ePÌkþ¢A”7„¨ ˆñlž2–õ’D°n}o“‘húM}>­É͵"ËÒü)3–fm(‹X+èZ®ç¯’B|¦¥˜”ÚX Zù“°We›_}‘BþT!@Ôï|XJÅÐJRf)ô’YÆ“ô"W¨'oD¦-¸³¿‘­ËIü¶:=Ãæ ÇSæ‘BÈAÒ=‰Ã ÍñìáøÖZ£—تFýv©cÙm}©jG¹¿Ä·ÿχúö<ºÁ]¥m"&µïJóë†>ð.¦ðÞsÇx¹âgÓ¨ÿç€_}z{[EU•TbܱÁµÆ‘ÍñaHc2–’#qï·Bôpņ†³†¾Ðv€"A¦oäÍAØ5müj÷_1¦sÓÛ&Ù8ï Šßº„ ËÞŒL‚Ãñ˜uQõ;&þæ§oýÇৼv†pß9¨G³@m·µP¶©;'ïŠlàr\?jÃZ1mFÕ©ä>Í3Ó×ÙÉéE8[W‚E”úâ¨o·{bk5(°’®j}ÜN)‡Fj +׉V;bBïøZB¸ßÀ‹1ÜpÓ`6Øu"šefúü]>ÕçÔ®vt2ÞÃ0{4þåÑñ,E¿Ë;ªtê t%¡ŸZpRáä” Ò æ=*¢Àf†G{§¬tQâ™ ‚g]>øõ´.€ÀEf*k«2ŽîMoºÓoèT»Ójõ.ô`ƒ0 YÓ€}]euJQ8Ñ­âÅ.e³|ƒ=No ÚB“kôŠŠÝ)Œ-|XêDÄlÿ±UŒî°s9om2§‰Ù·üqÕùµÕvîæŽçòÍñ2µTNGº)¾û0¹½§å‹wß¼[GIG:©…åϨW' ŽÑ…Ã?>uŠãUÆåqâÇ~µ¶ÓvóÖ‘9ÌZ~ŽæVp¿0:Â:D‡c¡JÅAÐÝlÌQU t* +ïŒúHî]~fq °R Ô’U1„Ú7ûQüfüÛr¨Xã +üþGút³žJ‘Z‹y£4ãËíߦHbàÇ=[ëÙQ;‡„éÏzÜúÄä=»Í#ë— + žl™Ò8a«Ø¯¾z=îU½é‚¦ñÔZ +endstream endobj 349 0 obj<> endobj 350 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 351 0 obj<>stream +[.9ñheöOAlmj9"WϪ2„è„BA!ÅÐ[´¡Uá"u7pÀ“hé”ʃ@-^feNQ:H£W‰ú^âç'«‰j`>3¼Ai¸ñ,ëÅÕ3&ŸOX;Îì»3眃ûk9Õ†f–¨°þ³õ¸ +±Õ‡Ú¤|ÔB,h³Ô-:½‹³ˆZ{¶4ß²ŽÃæ¾D =bB×Ä€Jþ†‚fÝ%±GîH&ï~»HZbÎ…uØÞn©f÷,‚“›ÅŠ½2…7˜–—²H.×'ål[$P¥ëSÂä÷ïÝάÓF’€D”TvˆvÁ”')ë‹,¬«>3Îû0²èÒLJÈÏJœ|ºjÇÞò£ÕFQ¿x„õoëÈÖí ¨¥x>ýjp@VýÃíÇmšñ̆ %³Ô¦d‹O‡Ë8ˆt¿,š¶O=[pèú#’›Ùøq¶ß2Z•âð`j4z(¼U4“\ßË÷^nïk.B¢á±z—5¢Ð&z¾øzîú&DzYO_…pe¸ÚõžßA“ZþƒÐö¨ÓŒÆ2aòááÚÀ’ËehŠ»EËÍÇ—cól6Óœ$(Ènyɸ¨Ü‚m—pT9KgYh$OÀçy±&<(ø«Œi¶U…P&,@èEP!žßaV…€Sb S2ÔL2ís–ÈqoP N•a +0hï.˜[rÅ®3cïá[‘§E‘NæÀ[ï÷…ˆÙ0äÍz×]ÑîõbË’å¶EŠsçP% §ÚæiŠaQ¾¯±óäìdËÞj‡ÀçL‡ò¨å@Ç»î‡öL™ð>âÖS2ìšýÍUØ(BZ8Kì‚=S|å?% ;ɣϳRB""ÅáÖ¢;À·nöféY8/ùÝ· (Å»¡›måÑÀbÈX. +µÕ½ºFY{|5ªáü3¡5Iè]aN6©äÞt¿á.óÒò:—”«ôèpÝ9ŽáK¿`åWÃÙýY%¹­| ŠiÍ^. rbó)­&•-ÿ†÷¢]Œƒ,øM¦`6Ô®èxåɲ,ýpQÑc;ÜLŒ+úŒÆ3÷%PÈF.>à×9 dðî‹R~ƒ8 ¼|#mIá‰ük7çÒ‡wë%—eL ‘½³ˆÛÌ¿Á`sÆé„€ßAY€Ï¥Ç™#Óe»ø‰?±w2hʸ–ÄÙÚ6UªÊ,¸Kû­-6ßØ«Ø`·©H°°N›‚Qãq2¹¯ïù™<ó‡‘X‰¢N‰<§¦ƒ‹|rûT¹¦á.Œ,ÜØL“‚Ú÷ÍÿŸþ_Zú¢2èJÎÍW8yYyä“›w)½)T¬«fò…[·tihìÑjröâ"àÓ[Ä…9øãpú€‘»,«/ÖÂÜr×àˆ&w';>ÝŸæÕ8σ'`¿UQçÃjö@Á·.;ÅkŸÏé-6­{;^¸Ìo9š1eªr3HÈ ‡SLk'ãzºçÇÚ³“å~Â¥iAp!Hcê’ +DͪÅæÁŸ®fÓRãÔYh JmP`”mÙYaçôÜ•lÓ˜—©¥¥sõÉ +­R¤˘Ôï×iËŽ,T*Ž Ö¿óq Ý`CÖn›’Õä`¦› V²4zãt+v ƒÚ´»S½¡ŠìBñØü(7¤æƒŽ!7ÛºÓþù¼C¥¿8}‡(¢cÿnA´4þãÙã_Ç<™#Þ3&›ö¶ÚK™H¼‚.Ð:ü Q'äQ1€ IA>Éœ!èùq.P‚Êiu3þ¾Ø>õ_\VxM¡¢~¦ÊœŽ `¹LœâFOÆÎi£°ZW…îa”¤G7-ay¦zW}¢\Gy†ÀRTnm0a?8YmÈFÝïSVW¡ì3®ÂÚ`“^sˆ˜’&î_x” “ÌpA~ŠM¦uåì|S×òwy»‚¥xyœrÛÑÁ4-f&Ë ›tvŽhškc‰çG®œâðmî¶AQ5°“ +endstream endobj 352 0 obj<> endobj 353 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 354 0 obj<>stream +k+dè&eÚ+V ÜFúrßþ,à¤pz¸¢´>Òi®²N_T^fý2mÔvÐ)dÂX–z8讄’ø´Ìɦ½!¥DTûß –¤`Òä7 ʽPË¿C:×es®Ÿ0»~2>cãÈig‘iŸ°*Q™áÚÝ}² ·iš£j;Ac{ìBq¤~/ Í²~Zfyà]9:¤—¶jà]£»Ž±vQi¤dí²žkѦ¢£‘TÁ*]Böª˜êë“ÝöY–6á-\Œ®ÁsŠÂ åqäç£r˜(Ø@¨uˆä={›óJ8·‹¾åÐLØ.¬ Ÿ Á'Û£}_Óu=~4Ðή­;SÑå,Á¼Ìß°àœò¹Î¥XiÛ!1”ýÎD였g«’£ù[DäÀ.æm¤­°X‰ï\á IÉCLhÑdáD ×öùÝíj¡æŽü‘:«<2J‚K²Ø Ÿ7õ¯YèzïÈŒC½Ô°ööäøÞívg¼?ºsŽ1Ê'¹d3±yš?šò(ÚÏí8:¯¾ ˆ«ã=eÙ‘]»fÇ‹öûþEQתàCw[b‚\úO Ål=/L)¨g6oŠë9SÃ=ãèÏ¿CtÄسˆ@(Ôb…c^hÓ»Ãï7b9N$äúj±HA$ÉSŠ=$=.7…ºùØꆥƒ¸H'Zî ¬ôXÐ=PUŸA^X$–ªµ¹$êeÉHëàÒ:Ÿu]ɕ亣5ŸÂ4S=(ë`P÷‰’rìAدôo­¹wWݵÝC¿l~@ Àá·…-Ñ¥é=B,U‹¶u#×b.üŸaRs+æ-èôQY@4`FêùjBÛÇ“iÂó7À<û…”$ÓM²Ï ]lVJ–5Äü<Ø“¤ B¯ÔÃ{¼ç&$œ­ÈØÆvN×Öbwa}:ÔÒߣ18æ³mnÿ9¼È(©ºŒî«eƒ0Qñ„éÊÑ=É–?å˼“šZÿå÷•ìtŠÊ ~¾ W!›ÃíŽ{ÄIÂò“%šuÚºfãèÑ k›Ã’Owº±Å° û±HŽáŒäK/wÙµf¬I›I¤¦Hh:8z5f8T¸‰û|IКºO‡åOüSu›Aæ¾äÃÅe&^¸Â=‹[ÿž–{—’Άž•žE©cË™s?xDÝüò‘<Òã‚/YÆÃÑHì-T7°|¬2d3 ÉìÙ¼g™U÷Œ3Jk¤l©]  I:4}F:óù¨Án¶NÓÌ ?é§FW½wVŠ²÷0„Œêxõ-W8'ádúÑÈÅO¹‰‘/A-:·Crïà$v;:ø>",2ùk-£[Àcï® +hH<3^Yú™DîщDàÚn{Ú@íAI]<ÿ¶ ¼|Pr¤oD{K²Ís‘LÏ|²³l¹yüuÎÕÿ´Ï5bƒ7Î0$ Hí ªM‘ûB ý Ïm ÏVz×eNbêóH0¹ø5ßÖ11}EÔܧ×I|ÎÏxEc™¬n2PÞÏ}³d´§>œLI†#¹Ê# ›1 _îü«I°@ÎVDžh½Nô”eIªôÿ!`Í|云ñÒlR òc–õ¬ee€â­˜ž32y% Ç=¹/mê²dàžm≹Ջó-Ù +ÿ#ð9Í:ŽBóÀÐïm²M`_dýüðÄd’Qù¤™ +±ß²ÐÈçxO^%Üõ?üÒM{M›iãt±åa7flŒ¬¶Šm]祑ú?‰¦ˆÜ8¥>¾q°±(ø©v{9ËÓ‹ +[,mAÝXq{b_S¬Òψïá“@82T­ž!÷qVõ*×L—(BNu ¿mò¶;ÄØÀúáïŽFÛµøögVw¿”.ø—uxB6^÷:¨m¸Älu‚Â4 tXÆÕÒ«»ÿNè!P·J{ÿë[ØR  ¥o!Ò=,"X×üÙ ¦aœcIù0šµ¦NøC¼%Ãu¡‡ç$k»m³šO¦-WG×FÎコ/a¼~Úzž4?‰¡)ÜݪŠ+g±y¿ßH}‡7˜ô˜R)Ií•ãÁ¤pòm†æ`8[ âN)±4]D‚U!–ÓC«,¡}à· Fz…žåmðN—HLžqv1ñbY kTŵ™Ð׋!|¥Úó 7—=ÍDÞ.ÄÀ>¶\x/ø®oÂí>¥öXNø>+E¦~…Wæ2Õ—æqRÎ>©M½‹áÃV}Hƒû¬ŒL¬ùÇï’ƒ¬Û6pFÙ:ðúجM4: Q°Yóº}xžÝå£kz fúbyë-P`H6øíqqhŒ´³#ý+¼ûI%ú¶Ý[Ø芡Q>ÏI9Šc¨É¡L|[ƒ€ŽÏÎq¿ì Tö¤Ñ¹·Å1Ÿ±-ýÕ‡•ÃÊá'™Ê§¥ë‹[¼–¼Ê@ë"•ZßVÀ©_ 5CE¼}OJ çö=Ó6i•¿»^iðׯó­<;lû‰Ä]>à ^ÜO5bÎq¹ƒZÉ¥iy ¤§%ã0•êÊ[ú ÂÑJá«õ ä +ŸâÔ´—âFÝQ;:nŸã}-ˆÇ®žài÷yx<\‡rõ©Ñüâ8pµvÄlm0¨{ ó•‘ç4Øšgg_á|á¢ù«±±ÛÞ7ý ¦3wÄUæú·¿~<"B¤ò„¿E&ÉvQ?ä÷zÁòÛQ7ks«òBÍšï`æÑ™¯M_ X¶ÚZ|¾ƒâU"Q‰ôIÞ%;ßÛŸÙ&ª>þu0ªW‡œ5 +ÆÒœýµušx‘Uè\Ca‡±ý¦µÒØSùG•KÉm¸õêNË3LU°C9³‰°ˆŽ)-†íªC2ØŒ·_Ó^æyp×=Qòä+b÷ ˆ4Jù_&Hþ¡ànéÃ- ËN¤…l†¶yfU€ª’þ­ŸJbW¢ M÷d¶t›_ò€Ò̶úÕ4µ›˜TÐÆ+¤oÐX½ÎêºCÔ +‰1®^$½bÑ,ŽˆïZ !hÖÓQ~öé¨Kë <#’3Õú;cùDv ©ÙÖþC;uŲ"|~BD@Ë4pïô +“M†IÏ/ðk5Ä™GÌŠ²j±³’aîW‹<öÞK‹{fùi§1UûŠ=½³‹~QÀ‰„Ó•ÛÁÎ §·›5jÛí£ÖëfGo«…Ø¡úE .l~¨O¡A|Éð N”Lí@¬êjfÀÅcÃ0’ähSØl^í ®ÎéÔ”è\ö,¿3Š2œÚJA¢—æt&¸ªAd“s´½þ¯Qz˜8WEkøØ/~¶Ïif†› Œöf±©1Öƒ+z(ºüìzXýâ7õ"§–ª¨ŒìvÌlö^¯ó‚Ë¥ºÎ{«ÊõÕŸÀ Aš8˜m¹'~÷À)ÒÌA×ÐÀ%I£Ï‹¯ÓÖ‹Á{~ï(Ø7üµJy§X˜ +_bë/qœÎØB ¤*yª$òBkÆ`·~Ë?*Бœ†»FU½†ˆº+‹¶õ¥µéÀP‘'yoÛŒá5{ŽÑ$oWû@Èl;¥G:M™xÁ·[hÈ8µç¨?óà+åÔoØ5êþî\)¡i±Õ6§Ú¾ØäO€*þz§ñI Þ¶£ +endstream endobj 355 0 obj<> endobj 356 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 357 0 obj<>stream +¦ëç¸ãª«BÂ÷À~ÜÈèÙ£´4Ÿq]íÑfþ´Û0T•HMjŒÅq£¿nùùµ<ïît 10ž|¢EHŽhã¦Þ9_ÀqXúoØÛ‹@25£!qü÷$œF²ªä% žº›® +r¢LÌ‘‰ü4~rš¢WóŽ†ûÆc<òfúBu(\ZEŠ„׈ôwK%P‚DǤùZ[d2ݨ TÉ™¸ƒîŒYsÝ ITµ‰ïvXåYæ¹P5F7¸§Zz…E•a«ojןK"û /ð lË<ÁôNžåg0f.½=ØfŽõ“‘m¶ CdÇÇp'oîã«îî.íâ†Tj ™ëaÕƒGZañ gÂëãöd$d ï Ÿ‰Ä’glw²ßñ–õb;õy‰¼ËÝws`?sÍ9Áb Þ{ªÓ¢‡ÿI‡¾¦B=kåeãHà5¾@§c×é[uGb›âEª‚Ó˜z‡õïËÑà ×ÄȲÐ&ú2Üq¦³)Íg¯?˜¹##Q‚áH£ïÝl'‘fãê÷LyyD¹ìFÄ‘–vüe½~pû¿:%_ +‡µ^Ëן/å0ÝÄ–1×3 +Sæ·P"¬Þ8…—úFÆ6ºÂ-Ó[ +O í7ù8MZåÈa–\ Á¶ûæ}d!I—ljl_32ª^òl;n·ítÕ1Ãh÷š¤ý;¯£Âdê…y¤vÃTªïº¿F +ëž"š¯ãÿ©dFŽP*XŸ:¤ÅB_J¨R+K|«[}„&Œ=SöNáÐZÚõHÉ]ÀŠÝu%Q†Ô—õ³’W“{¥¡ÎÝd<%ÁK€ +pXZªP‹„æ¡È¡g×îoŽé—|ÀÇ$^8›­=× {Sp¹|Q?WÄTýiqp&ÖVyË£yÔþ¯EI¢Â×#™}õ¨õÆq–NÉzæ—úU[ýÍ<ñTF}ù>Ý%9eÆÂ5Óºxû£¾Ç/Ñ(×*i¾ ˜·¿Î—°a/11…ú‚Ãfáž?BTY æœæ…¾ÙÑówÈT ËMYšo¹H++aœBõ¿WW©CÜ—{ÐÞΟSðéÁÉ4q6:Sød'›cæáÑ«ËX¼ˆ¦@š0M¶üuÿj-ËѦºÃí%–Ô×m´™9ÃNu{·¦"ƒ‰åñ3¬Ît 8Z¬¯âW=ÐH)²jE¨šé‚—Þ-´²Ç)\6<£«*ÆíO•cÔÀÚ¿m´*5ÛXæ‚Ä¡Ÿá™““LäÞÉÂõÌÂÖ9>Ï p"âþ0X£eýœ²òÏ/uʪƋ»âTgâÛF›ïõâió¡CR›3槕¢ù†Óãá-ü_»Pë\Ÿ²ºšßì#;I«_èЄ:°FeÄ×`¶Uý*˽Ã0…oþ@y‰—["ò›O—'AŽp¯ Ñý1àKÏ°þ$çÆRI? T|¢à•4X45%ÊÝóÙKð{½x¾+‹mu0´î‰ifbUƒ^õN°üo™–¹-&hiÙäêÛãAyw™ãä‚,Ô^"Oßh;z®1GÄA¨ü"B-¯¨S}1«íèÄf©(é…!Ýv“ýÑØ^{¶1ÎÐ@†éLS Éü º;·o¬aNyvDÛ¶ö›l¯¬I {?®b»X=}¡…¿{Ÿ}ï™^‹t÷µýÍÛà'‰ä_Óú^ç뙩…Ê\+S6¯.EÚüïÈC$ÄÕ^öpÜåw?c87“-Cr°²ìwztÞ¼UÕèghøUR·|ήÀ &êñ±w?ÛòG©êô`Î" q:¹÷æ~Í…ºm\ëäC$‡âʈ¯eä0Bß‹ëFš§…¦=*„†[ØEÞ +žÒ1`hR'OÆE¤ÿÆïírT)‡&8¢úõ“e–Ë9åWŒðoq}Cç2ñBÑíié²wâ]Çt~šPܶ¾j’æ;§UÈérh³Yy…ó~ïüCœÒoTn‡Y Æ®¦®ëœ-Ü_Ým!f¬Öjutµ'> /1ø³ì âóÄ`¦NZ'=Œñ†hZ´H® ÕÁ´|OR ^+ý2 ®ihv-‚Y½xŒ<óât…‹´ ’è’|h€ÆílT©NR›´ eÛ]‘ÜiY¸wŒ£‹kÙÅE×sóóÀ>7@²A•¦‰©Ò`ckÊë +L¯ -nÔrLjvéZ"8IX‡­‘ÈO4÷ôØÚ~1’³ ¸¼nȨÀ£f„ó| £j(áZ²­vô)>cö?È Ð«ü‘eêÖj¿ªâF㦅G쟿Z³£iÄÈâ±ÅM?@Oqœú‹È}Î7¾ŽÑ8É% +0ļc}.ÊRà9©?Äß)Ž™ÉUÛiAö.íIýéÍñ̨Å*¥=ȉTþDÏ-?zy¾Øœ0зۀ¦¨ºì¶œQ3?/Ʊ•1B‰ÛºCP\ôó†aá³BìšÈ¾0À…\õ +KÐå†?È°TÉI‹éµ  +Füšq¾j-=½ƒÞÑ7L>h +/.„†f.󕺤­¯ ½,Ü•ÊéY,³×ÑJwènß °K›õκȖҭô à³½-óTÈåaé¤&t ®âDI,¡ÕÆO8‡ò~©ŠÐ+ðfõĤq| +Ò²„É3¢fl°ÞÂ#œ‘Zç–%n݈]NvV‹V)•ÒO*‰ÿ×ê±­æ…˜é&ÛácËj"¹éˆtʼnqÖ!›=†»ƒ5'\˜–‘BŽ€¬w멯Ò>…¸-€)Áß©J7ù{ü&‚0ÊZÔ;B’†Y9#&òâ“KÏi£šXlMÀZCé6MUˆz]ðð=xŽ7˜ªf`«(1v—€/ Yì¡nJg@:åÀè’ÉÜ°1"uËŸ§C7Ü‘scâ0Ò]¨€Gêíg 1‰`¿1sXŒÅûnþ0îþ²) .§e"L9ìÿ—¾ˆ³‚ÇËžßoê>3]èƒ H/µ ý)ŠæРjNöP‘7µå·'!ÿä*Aapøã3–KÝ,g:NA _öíº!›’Ñ™Vr1 /MžÁ‡e’®¢]ÏÞ Ýœ]þ…ßê6P(µÜ€ +v5TžvË,ù Œ D uâñ¨‘‡êU¦ M‰½0,_èlHü²œï2è\œR`à³çÍ^æ£Ã×Gv3l|¿a´nlÿh*ÖÔ#vèš K¢ë¦Ùž¿E»b>VÇò­Sìí-:¸ +Àâ<š +—´t=†fßÙúgIY]u³‚Éý°afwÖëvQ2ØúÖ©tyNçš ¢Ù+_ÌÌ~uû®×´Tk°n ð@RˆP™[0ÿþOÈ ¤ ¾«eCØÂ'ÒFy«7" [ÔCøÃŽ Q]Ð{}`ùüß­Tl½ðª¸P‰eÁÑÙ µ¿ÔªÞ/ó­ÎÊJ50°…†6A ¢ß‹*;?Fθç½_ó€*£*Kžk©eüKÊ2=¨5xbh'+vQÓí“ö Ê'—Ýa›6ï´#MRKˆŠÛÑ‘Ð9q7çÝ'»MÚ2wM‰?JaµãÑÔ~î?Ŧôqç+ÙDÒëÓY¬pPɾ£À&çbÿUðk[ÅÆ&ë;O-Ð ‡MáåÒ;[AXHÇeµz`œìäÇ´E­àãûÈïHîkà8=NMÀ¹¯b­¥’vŠ‡_0Àê1E¢ÚäÊ05i3›vè|™‡•dBõ±dº­gµiû™’³³$eÓâ¥Oþ³sÉl„I󡇔üMœ\adAÚDv¾ë;1+kšq dß~¼ÝÀ„%ä1¼iqر‹ƒLû)Ýï m!©”áÝE¹€ª-á {ß@ÛçQ]RÙ”òôüaW»×õÀ˯…rø^¸O‰WŸ²G]Åxª‹oüœW•¹BqqôýaSXúÊ:^tªÈî9Ù˜¼641“)ìoÙ ªt°’ƒsyÉ£ð'×b©º`/ÂïtŽ¼¤Ü=Q©ý0ÙtÂËßÊ@µ?îßÕ4ìÁ§‰ÀzÿKyÓÃ0•JÖpîó±"ý âåó©Ó¡¤($6±Ã›Q@~@'[†¼Ÿ +µE9~z[6NýÙUpKåFÕ¯0û˜÷© o·”iRòDïÄ*ܶUÚëòMu[aB±ìÁ|Ä­ýC;ð ”[‰ó•Abr°\ØàÝJìv#„VõQs}6cñ ¿ò˺*óÅÀ9ä(1ýpÝ·Ž\hÈp2Ë©¬& >Oš]'¡Ô9'Š¦˜é ’ÿ†ã_˜dJÍ/¾xîÉ@Þfï Ÿ…KàEÁÖé€.$æÁ~Ãû["[EŸiŸQSù]Cß,EqUk°¹ ‡°N"Î3”ÒÖ…aõuýÔ‡¯\x¿ 2èC©ÂüÁ•ÿÛ ¬L0…5j¤cïÍòãÓ³,ú<èY ‡-þ‘¯„Ëí‹g¾+ÇX‡ÎôÀoÞ ÀÄaÓÁ±Âó÷Ð1î.JˆqÖdwû×N²ùL«Æ#h9ŒyˆÃ#±I×–4d¬ÞÈåòFìèÐTd_ÆG¡hüÔ0ñ7ÄXkïmcëÿ%hg˜QßògR4xU]ÆC‡Ö^Üi0‚Åíh³dÖV“©5Nï˜,}Iu¡1(XuX-Õ6ÙÞ ¬ôE(Sçx\oDœƒ¢ÂX¥ýL%néëŒMÈ*„ûz<·“ð榖·ÅÜò·ø©ZGáPWë³Îx>¾mP¤âkm½éµ^Žðt„y}á%uà§8oÒ]G f‚v'ƒ¼æšãS&IÚ¤%°û–ï +c˜9†æVS^Ë{ˆTÖ÷1øâ:Å»žZ°ï³P-£è{GGU¿z¸­›€Xå­ìé±Ù2rÙ†oQ9tó§§Ò6oÕ‹†PÁ)åÌš^0&¢kè¾Ì˜ª·MÆZæ¹4ô‚5šÌDÙ=) àá¢k¹Zö¾¡*ê ΠQ,úD¬jJè™±÷ˆ•½ÐïDTU[uzÕªÍõÍ]I«¾O„$ŽÝ¸`¯y÷±u^[×ê½Ã Î';ÑQ…! +endstream endobj 358 0 obj<> endobj 359 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 360 0 obj<>stream +WØ¥wG<=Dk5iˆÈWÚ™èW¤,}¶Ê¾k==c!;ŒãßdÙh×jLš¿÷­PÝ/›$úIFN«¹Î¤;\xIˆíÂÆkÙt8 „ÊÝmà’3¶±e¦ÜC™;À³¶å¨F“ª0|’«ð Žñ˜u{? ø¶ûh~\#2ljòzœS>*ð¢Ÿ) ¨õˆ5Ž|AËðRR‰(¥0@þ,à 0“s>û˜áÞS ô z9´\¹¯»]&lJÇ]µÚG0> +W#Îz-ïþ¾üþ 15;ÙpÎgÁƒ-ñTÂ/±Rß{'Ç>¼ ®KSç&_^}a?eeÂá‰ZÞ 4NSŸ”$ö¾‚“´âŠ£eRƒ? +’|½c©`k¸²3QÇÊq§=Þ¾ÇáfÓ>3%òfoûÕÝÄfÓ~ßó +²h.>ÔËæBèúâ‰È¹ÌÃÛA±i=í¬f¤^¿d·q/&Pñ¨×.Ýì|?]•H}ùbÔŽr`ç2 èL¹n53ÅýãÎY.vxM[š€?­G*è¹däË  ˜Àæ¬3™Iˆaô§ÇÉ0âi‡lzEÒƒ³X¯+£u×ñEøö˜ß° +Î{Çpë;í:ª­­†W¿BËõ¹ù×æ·&¾žZ8ø¡³gÄF%kÎ3b +Ž|_ +ùšçVzÒ6”mÑ+ arf7TÖ\Þ)oµëÆw,?šÒ«'90Ži>vº¹$çAr‘iýÒxWÕQ¶¦Œ•-ù½-+ÁH´â¾ï‰JíÇbz‹99&£ÕA„|§P‚Ti¢ÛI”ÛÊ(½•â_±bøç”üšDZ8µv²¯õã«Ì“ƒ#¡Ü&²ÇÜ +˜J²—tá­s>œ-ÿm%Q^úMbŠ®Q1]Ÿ³Èýã®Uso  ×ÜqÃûÁÇýÅ8&‰XÆ“¢bhï…Ùý[P¥<ǃƒíÈ=Ĩ]“vŠõ8~Ó%þ¬Â")ÄLGF"'¡g*K[œý c7~ŽJ¾W•WAM`dÃsaûŽn«Ïªñ]H_4!èÚŒ©WjFGЗ-›¿3%äj°Â^ìÝ>eANrÆ—¯ˆ„â;7H7Ôr#á^ô·SÀgÇôÇÍùþM”½–³ +iD«äYö{ÄÕúD9ÅH¸ô_`ƒ«Vz§shL˜]ÿo¼ðªñhHxNeÑWÐ!9#wà,Ô…çÒ‰/QÔÔN·_éÓý–]¹¬&úzÁ'‹ÕZ-VòžšsïûVͦ>£ògþà6þm ÿ6›@â'@Á}&Jè?ÆDFÅ›\·vòÛY©ÞM8%ñ¬w¦_‡Ð|tôô¯¡Sö¡ØZ!ªÞj™¯™kI}ÿ©]ìÉðú÷›wÆ~~gÊyÈ-¨>U9m@´¦ƒÖêËi4½|$€unœi€‡‰Ú‰åãDy¶ºUOÑèÅ¡a^CŸ•]Рն› IôJ#ʺ;^°®­«ñV‹Äêíë o¶,Aö¨4T°+gl ± ò«ÃŒÙE¦6|û™ÂŠl¦­Ñ¡a¿úÓ_fE¶ÖôË¡œ“æEcÉ1gU€’ÜeÅŸ¼§I«:*¶ƒÝóv{óCGwª+ç¨h€¶(ç~ø錪ü~Kr¸ëwˆ•ÔZY@y/æçÏÏSSÛ9u+[ªƒ«Þœ’¼t½*qñ¶wWò\Ú¤œ¸Œ‚v]¥e5Û}ð{ò’UòÖ¼ƒðxÛTÖÂÆðÐf@¿ŠM&ÀÖÀqŠ»±vÂH-šÎu^ÏZp.Â!I£¦œÎ—gN§¹VEÏíUñ[%âí&† úùƒÇ]ìæ‹ó8?Qþ;YÀQ‡c}æ±K mÌ.ŽÉÕyâ‡~'ÔÉ&Ît2øî–<Ž4“Ó.ÊŽn$•ÒÅ‘F•–—MðÊ·™Oà‘͵—zÍÀê¡™V uyZ3£îtÚE¢jª§8*ø"há±­öT® |¿°K#'ÿÁ6Å‹1Ž‹?Åík{,5PýW?ŽpãÊ84F§ŽZH§Õ ¤F'9|þÍ,VS»Ìf.T:|­º©f¾R2Ì”÷¡­ð4Þé^k3Oü1¥µ¬±K'Û'î¨|„àëÕ[”Xsìâ™ì}âÀ-ó–H!hHð}I“äPÃý‘S¬ß(È2Ü{^(õ…óû¹ëÑïŒHéŽ ŸxšQ+´b–-[÷zˆ¾›_Òæë%€ir~ÐÀfÞe^ÿ§T•ù|lš¦Õ´¯-‡^ÒèçÐìè5ñ>‚;YÎøäÿ ¹•øBï 6ÌuªÇ«ôƯøîËEŠÇÜã)‘ZUŸxúsž›U‰pA>aÐBj_£á—VçpdˆWÖ™£_d'IÌÓ\Çñn6H}vÒ·œýš7àI‰Âp£«p€ëW$5¨Óæ:¡’‰t†½Ô¨Í~¦ÿzc0¬DB¯cŸD“ïT( +¾ðÊ0É,„„ŸAð™†yt‚KBO„ý·¢o©^Å:-@»¾lÊ(qFH(Z<ô>ºæˆÅÇ?¦Û#¨‚åê +w½1 ú»ÈÄÊîúÙCsi­‚½EAîT¤ÅµR†Yô×#%ÕRbQ“T¹è²R&¬Í.~tn÷Üz4—­Bú›8aĸ^¦:nFiâ—*¼RÚ;¿¾|šø{åçMQm¼ÄÂ!6/!#¿²|qHé›O2”[µºX|ñ#u®P¦H‚€µðÙˬv6)ÐÛˆÓÐdPÿ ð»x(”ôŸ4wºE„ö¿šŸôePŀഛé<0§é-`c ‡Ek¢–­î]:ù +CPE¾¢.ç}@Úµ:è»=¸a\Jè熈ì¿ÆÉ1¦Úãÿ‚ú‚E»øŽ”7 ô:doÊ"¢Çá,²ÉìNð{ƒ¯èîêwsçj^([ŒÊÛnqL¥ÿ‘Ö3ú߆y®ëÀ$à¢`Š4ÕÆ>é.q6R}‡½áKÎhx–îti‹Ÿ‹âQA=œT4ý¶6°#ªÖT‚ñ/"ñ­çWt¼©Y«`GÊ þ†iäƒ +ñÆÛ±ü˜x—ßZÒãÙž”-µt¯a¾¹>7êÒHà3ôùÑ}z´š}MÃ7^`£É/] +Òo‡b tÖ"NvOcþdL&ˆ¨ÒaƒþòV® +¡w°m?Q.åÉ8¤÷VÂN¥…*§¹Â~̯J’<ŽƒH”ÁˆQõž´Ç!ÎE tœ¾ªYëmfÑF ¶™f§Øxáô#<í;˜˜•³\?˜c•1 +ܺÐÂéÈ{ˆhfE³Â'm6i£þ;ê³c}±i±H×–“m±Ð|%Ñêÿö„.A»³ hP\ Ò·7K-Í’É:o\®ñÜ‘£B­ÕÊ3Uc",›Z´Öv€ôQ0‹N5³Tô梽é¦48jÖÆ…u%¸>çyR%¹î“þzègn_=rÿõÑ †1xÐa!îeœøG9ùÍ‚QˆCÇéxû«‹´‘:ÿI–‰‘3ÍÛØÏÅOz°+ëJÁWœõ![4Z„q˜)ҳƹ(ybDá€xh‚1 ˆ“¥õhr6& +Q=3Éã]0œkžø‘°_§€x%õ.¤]j«Ï|m—¬m5¦—>ä2Ʊ_ý¾+×v%ìc\Ê—á?_áø¾$ÿ’ÜëS™v«ËÙµ©²_¸<ºè;Ã1ùµñðÒ)žm@;O…Lù dhaãP¸ŽGfûVˆZ 1*p\0¡öVMÉïÙ3 A¤àÆ$õÓ!LÜ0\YrÔõmÙ-—Q}¼y¼ìÿfK +vÓ…ö +Òƒ®5-¶KÏúFìr…uÚýyS‡º9V¿áîìž–h†qÇÀ ·ðæ¢@·lëÄd¹.å‘ÅÕ r©Š˜k‘÷ÏÀÁ«—Ô ÿ»æ¨v¤àê¾ZT€Ä/0:]¸È/ÄFI’ã2™oÜðÂvçÜF|YºÖZ3³R5\KŠ«v‘fTâ§Æðñ(´\—ä8¯Þî{ëŽî‚pFVPÐbýä_ØšrAmýéš%Ò 8X$s—$®œ%‚özp’§9àrrªddX¼Ø >Ó£Ò•R%›ù%Mœ9zZúÎpßIÞ¹þñ§w>!y^}ž +ÞÊ­V…Ž¯ Öÿ +endstream endobj 361 0 obj<> endobj 362 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 363 0 obj<>stream +»Ëjöwå5®M$Eì;ü8f´C +Ü&À#Vâ]p¯‹þuv­O#úƒ§“—”’‘St›Ûõ~SÝ$C‡ çÏÜVDÖóª[ìO$r~öÝr×pLÈ%ÈŽCò¤.OÿÕ0Tôú)Îòut ™Ì9õM‘GÿÌŠÒÄ!VÔH+ÇpÞƒRS¢ÅVPGû`Rù¤Úhfhe1('\!Q:ë¯j'/˜$uaRd,\ù«>Íç&yïÙÛÔ³0íÅ+£ ¬ˆYÆÿ!Ü[®FM‚Ûïšñ9¿<Êý~Ò%bbu`?,è42ª.áÂDy¼É†š¨åÍWÖ4Œá#ú—U=6þÄ»=²- ´¹;«­Ï´%ûGfS›«oQž ©ª¾¡¦]àst{N(O=ÓXCXx焧‘tf-¦™gwÖ<®LxU‚O%-jµÐD<âµÚÑ5ô“1ÒÕzD×PÍõäêC€ƒáÊòq¿âûTøÈÃW{ñØiV¯=¥¿äóЕ4>óìTh³J«öÿùuíyp×Òx¥¤A2èJÚ·_4š.ŒL¨Üɇ!£¾Æ²ѯ&`—·}Ô‹„éêôœ&縀¥3$ß ¢‹y$ÉÕ¹0?ñFßfoàD˜©Sžu¤™QV .ø‰Hqå6Éö=Hñ7Ì®áIU9Cî `[?ɯHœî½åmÑé‘2Ÿp-Ñ^Ž•™ÛŠN4axQ8ð÷„>¼cçÕ¸ÎzD¿8^½‡Ô‘Ð $PØaEœM0ÄÉØtNæàL VƒÄ8í¢Âå µü +Ž’ΕPåHˉ»\f° z ¥JÑ\ܼĢèÄ4 F'-g‘ARä=§lK±;™5 +¥¿ás[pv½3 ›Z-7Ãuÿe£^½¯˜=ÛZJì7WFÜ”Áé“‚ÙЪò¥ý6N.¤À‚„fÒ[?ÐV¥…ük¾[_RLð½~¹vºÂv©vdùˆ#¨Iû«&ms")ýÙ§Ÿë'÷mgS‚[—Ø'Λ»årÀ!ÃÙè%àß~’Ô6û’’·âÝlžÆXïµ<,k^ãYG÷ò®å_˜á¯áè˜Im£Al—µ˜«Bp*ë¢*`c³h²ÅèÚk…—ßÆÌ)Œk¢„ÿ¸5éIÑlu™>,„¸ðô?ë3-,–?ÊŠê Ñ1âVïõÝÿgO!@:ÃvÚym÷H +ÄyŠ‘£êžuƒyðuØÆZ\¬?iJh=Aínàå*­P) ZØmf{²ƒp +µÞñ`z ·žphn…iïó瞢×qlX†I¤¨4ÜJ®•ËTÂ#Ae oj nù/;p¿rôr@Xà`þU‡61ZÝø泊Kô°3­²/påh zRùø±ˆ©d®a:-¨×(E¤Ã\fŸÕŽ&ÓÓ¨PO”û¯9™ =ÜàÈ-¡ÇºÍ]yÃH`MÜ6û¸;Ô­íðö1ÎW†QfŽ³Ø)RmÍ»­n~ä0 ¹º Ô€ì&Û•±ádÉJaØ>³»DŽÍèФ›”û3ì=¯A¡ƒ@c˜œ>¦Wå•Í+Þ°®”ž`ê'8ø©:íáÕ^úã‰}7ø¥"áÓsÌÊ;„ªPØæ4¤Vrd¿¬íjBƒÏ¬Jæ g—âıïá¡…Ñ’F Â¥?J¢È8CШy!  ô‚#>læ²{_[èŒ,ŒZ/Õ¶ƒ‚§(ýs:í(ø!ï©Âóß'N¦§¢lø¬rºùå¢ÜÆð8{,_Åà GJ¦€ñgÜ“«šZüz¨¨âä+Ú\R_ÚðB[óžWçVÛsÈTmñiªéµxr}šÌöH±8w–ŒÊXì®#Á7£EGíþ…¡yúÁ‹”f=à a·‹Îo¸$'©&:ÎòÞFßÃÿ¶ÂÀÂfOÞÙ&ù>b:ODCSù˜!$‚C>—ïUÓ%?Àà\ciŠ)L6ÀL³ßzÊP4P2c€ÓJŸx*ÊŒBð—} žNoæþ±³4-‚1,ÜbÝ$4ªçdóþø9ú9DGðû þØtÔUAˆ¸t»½:†˜.CÅ×ÔU½~’. †¨ Æ›ìLϤ½û‰±üƒŒ /âFšjÄPÌ!\3Ý¡q˜æàó–åqßR1j3iËÂ#+ìk霟ȿWö;³FÏÅEÔËÍâxƒëKnP€7ŽlÝ»¨ÞÆœ¢ qÒi19+BD»’ûÿ°>ó1yE9â„þËDF/ZÒŠ‡ê®Kïk± H¡ß„»hã&èºöúü¶/d\üˆçÌNÞ8ÃÈc;éÀ2<‡ +M6ܨï\°5x¯á÷ïz©hÑêAõò/†×Ñ7¾·FK2;Dz.í}]ÞÏ̘aÊX +ÚÊVϲ“ù=¿(æØ؉ãÚÀ˜ +endstream endobj 364 0 obj<> endobj 365 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 366 0 obj<>stream +ʈo+VçB oUnõ³!”âL"è6ñaa ‡_ÿ•ó.˜ÈÆñ&Ýõ¯@(¡2¦·UýŽb™UævãúLa±Œ£†î£Îîá¾}ù—ú«%®$ü$ê ñÃQ»æsö0¦ÄÆ<]ø±hèÍf–fñæõÙôÁÌ/¼»PNÛoa;LÓ¿ü2íÇ·ÐRksš= +´È¢ùb"{a”Røíð¬µ=‚ðá?çg¸ ¯#2÷ÓK‹• 1‹øÀ »Ç.Ì$VB¨üojÞóqƒaï,•ÂîF˜ºN¤ƒ«êî—“`ŠW$ß}dMåK”Å‹p`মAGØ3/þÚ¿ûUð"ïõgþ’ŠÏa¢±þØÍçÚè'¤ÔÊÂ~¨að1÷ÿ2ú•º¨(‚EÝàÁcÒKaI6’ž!Jÿjýf«ÔUNb~ùžæ €ýW)d¾H‡òÆ^ø¿BAfÑX¬t.(˜«‰ZmcF°méý™µìÄY¼È(ëË®xØkò‡ýSód³ ;uR‡)ŒCd#‰•[p så5Pâ`P›¿ž˜²Dh›È^¾W‰6žr’Îé5£x*¡_[mÑ™ËAýkÅò¬ús²âý&ܪTa¾'­ ض‡@K¼ùh:>6©À¦‰OTSð]ï?Ø"à ä\BÞú¤6qbuZäÒ$DœMd@‘TĪQýtdßñ=hK ñåBt´¹%Hh¢¸Bo‡a×â¤ÌDñžÓÙ,ФM»’28ÙŠ~ê|ªc1a~D'³ü„çk6ôøº´N*“XÃÍþx> +öjú¦.>gšú\䌨 +8­aež Év©Ž€ìÊ­MÒµ»®Æ\{¨k B°’¯x,ü;_Kªì9©È Yƒ“ÁÝôd³ùÒ'¸ð´ ö;„ëF}qßYeŠzÒçB[Š”‹Eቷå|M+ø¶‡LÕÈ=BEǃX{þì».”5Ü^Loš”öW¥)W9 ªÒRÙ¯D^ Z–ùw¢"W[ÿ>¯s¤•2ãF¾äI%ÉüRqÆAaÖpN §®JSÜ{ÃtXSUÏ‹ÃÒ-o¨7çôíøÅp6ÃmÚþXî o¼Õ3whI}Ö ÷¾= Y 0x'p}®Ò?Ð-T‚&µ›}T& +ÂsÇm÷¾lñúz3Ó=Êt#ËùTø6ëÞšxˆñc]`ºÐL–<ÔâCÁוò +Ä]Ç}„µe,˜éÙoC|óQî„Œ wŽ’ °ttGöþVõå\þYo3dÆZp¿¸¨[¬´æˆU%]zq•XgRNÍÞåâ(X?4)¦yõ—|üSܲ½×}_ÔŠ±»¬@@ƨ)éÙ\´˜dŒ­¢ä»8mçšTà`CðeZe.†OZ™`;ï<°ð‘ÿƒ’VAô)ÔÅè–9%VƒW@JÓ²‡ÍŽ¬m•­ÍÊÒÁÒ"äêwÇÚ!G½ä¬OÚîýî2!Ä+fgíçJ0Ú-3jüHÞ†!÷kCsgþëÜa[·„ÐîëBrT$a´û\œ mžÒl—M¼ë­†èÞ…dŽ¹Ú¸Dk!Þ“VK‘9¡SY¨‚Ûü™+Š™³ÁûWPÀªð,ü'0Ê Ô¡[…#ÚLÑ\‚è3ÍwƒòÙ»æ7îÚÒ{œ™ÐÞAüÒÌÝ͘ËHñµÍhÙ…·”¸˜yÕ³ÜtD4d³í>…oêÒèDÄè xå¡ÿ+'‰È8²‡S†N¥X&jÐP›5»Ð±nõ> .ø}Ê<1„ó¯Ò#ûcZdÄ)F³wå²ü~L„ «a“;$ù³ªó¨-´œÐTSVû?Š9ÍúÄþ&r½Â¯NÆ™ë1íº©•ølÒ¯OîO”B*‰Éz‚iu¼ü,>¨€ÆN6tð“ÑB•R%ãÞ0(÷äë¸.Z½>ªµ½zBwZ|ÔªTzz®WJýÁ›™9£3Õ†"ÒOê(AS1o¿¿®?®á‹[öwã†@fxÜeyùÂ*kÕ«¬¶í²›UêÀ€É—®x¯`³¾Äk4¾D-KñUÆá´ÖxÒšgTbð{S¿m8–ϹûlhLÜî2>¦<´G|m¹X&&F77,a˜m!ñ_·„R*ÁuÖ8;EpÔž’ÄÁîzæ˨:½GqµŒCM*|æ=¤ÀlD•ˆ/Ø/¢Z~W¦u§Ž‚šã+‚ðö¼Ñ)éPwÈ®û½x÷ë­M@610ÚɸøâØEzâï)¶VˆË$ãéX_Â"\íÁŒrèز­Çß °º(õ¦ƒde9P`¾._¢òßÁƒ£ÉàÎÿ¤Å½²ø~&wa¢äìí÷¯4µ›u®{—õAį7ÞŸ ÑÉAÁTþtÄŽr.aRNJ¸ûâîß…ˆ|4wKç`8TV"IVJ?ÒQ—nqÊòëùÅ•¢Rï#M}— yØ®ðUPÊÝ>‡—W÷ Ê£Ìi<\3¼™h¯×Ú´u0:é/jÃœç=}¿SxäWÉxÿÄ´í‚®²7T]NÞBÇí•ØÝë§>$6v«“M‡Û¬™ìÅ +w_]¯àÏÞºUššÅaãLòj¼–wur•Ó~¶û û·ß݇|b.™£wPµœ"'=»²=àß·V€ Ãzz[ÜÄ£–Ew¸Eè¨ó…àÆm(­èÀK']L'‡ôn7Õ ,Ï;ýfºæĽoÃÍ÷Ö§ôÑüÃi˜YDò®×ß²ÞùU/û};3yë^¸üÕÂטmàšëã¹îÚws¼©Tà@ïóôæªr¢¨œGÝ„D¥'Ñ2äOR˜ÄÚ:Ü’·Þ¿wüø Öë‰Õ2ÝWd¯´EÕX÷ÀVpGR–î°÷˜ÇÕ2SŠgÿ+,±¼ug)æV˜J¾‘üÄc ´úaô-ßi ‹¨Éj/ø÷?ýÁ8•¸èœº­³•ÑË­GJ–v¯,fËíUE GÌJ¬­Êng"“}mļèÐÀP<Ýö€?ÒOì"‚ZÊñ|î¤R&£02Ûo2Di7â„W¨WvY¡ñ‰“z54j4]ó]âlªî<’pj +¨Oã~*÷(bþ0Tƒ¬§,>eã4_ +/ãý~Íé`…™e;'ÁBüNb€RM:œŒª&”j¡ò.i‰mgÕÆoTRM£­úcÖéjøŒh™vœ–\ŽúÚßæ‡kN¥qÉO÷À)3ýŸwñä´ê¼Aäò53¦Í°?¦“â„p÷Q‰¯yÒý'¯VZ˜è÷)Àh&(ÙTÚ%I>ÙyÏŒ ¤FB²Á _š>ªn¸<žÔ±˜Dò—bNÛScÏðÏýÔ;iåÙΚ wü¦­@ˆî „mt·ÜBœg°ÔRŸW˜Ž¡›0-4ØËaOØ[Ôk†}B"B#Ÿ÷A&&r¨?„‹òÿ×$æ˜ûQ‰Û‚÷${÷>ø~¡2‹W\™lÖÔÙcßwÌn]=¦2ûÑn{"œà³µÏh:G˜}AAæÆк\ñ4…]Öhó+‰¿­^v;J'8-Äþe¹Ì¦i¤|%,j’çßå_Jš)™j‡ +endstream endobj 367 0 obj<> endobj 368 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 369 0 obj<>stream +\„:¾ö9jxgÚEtÄò7ôDŽH÷­kÍä¡šò2p­PG´—¤¨gºÄ³žC¦˜vc“<£[Ƚ|ÝùB¥…«ÑN¬vÜ®ÑQÀÓLàÅ~1K üHû“NÉŠ¼ÏÖ¸êRçóÊþ¼˜&Fü-Ö~B®ï;ÿ'™5ØÊ’™(k)ÅÒbîÖ‡+ÓB7Ã[§Ë™¤@ÏqteÐ ¯žR÷*~›æ^Æu¤wð§HŠ 1k€Ñ²Æ"7#…tºÍttŸv]QcáÅ'oö%…ÃM†×PÄQïÜàÁÿÍ¢< +W=!²ÊzÉxµYis7áËò{5È›ŒWß­ì÷«Quˆ“G&„¦Mœ5þ|Ã@K5qN\eøÆ8ƒ‰ÁztÐ$±9Ÿ3¶\z´œÆ×+`™‹„Pí'CyÔ€\›”Á·”wÀIB°¸¬Pq_ÖqwŸhÐö¡ '4 LÕ}EsfËÝl†[ë 'ˆŒB—÷zÅ^úîÌyÏLJ˜£ÃŽó0w ¨Äò§ˆ‰ÑðšÄ?76È3Sh=ß’¢Ÿ…‹ÎÅ*Cu[ð*ùÎ/‹åkURi}%'‘tÌA“üóå(§:¿Uiò‰Ž0ÿ!*l©ØÜçG^‡M{šëQJ  xU2ŸÎ²"3¿ƒ ?'cþožìüÀ½ê,µø˜ ¥¸ó0þDú×v~*:(¿ +A‹pI¹.õ¼î –(ŒƒâpˆWDŸ¬°ˆP°žbTÌ(íjgú>A·ü‘(;æbä”*õæDð™Ez_èѨ2Ê O—/<­®±ô‚´<¹×*‰T ¼$}PéЦ“h(Lu @agéB©OyRf‘ç}@Ó7°³xÚo½”ÿ—8€dr&ÃÆG + Ì¢˜¸#°Ô‚Ò'³™Xg·Šà²P€›<ó Ô è>ô”5m$ƒ{žJ„Ø9ZÓÙÄXI¥¶U—‡0°¶ôiˆVï2KehÔÞaYÁ£ÑJ%dï~Ùt©1òó‚I,Ùr²Ä?<ñ¡q^ø„M#—3‹àǨå'’…y%¬†°B¡õòXSÁ\í¿t¨6>úi÷Àsz×Z“‘¯ÚsÑ®I!ѵ«q6`¾™^sb¬VÁ0áâ>ÀLQ¥_jÇLÛßЧÞÚ,Ö"ÀWÙ" rÞ¹£Äþ3 ×cÌDÑä칤‚€%µd©ëFCÈ"ÚusÛ+iÐU»ò§S\ ž¼ëY>Ûf¿ãgUǪB<ñ‰q]ÏŒ“'Û³G¨#84˜¼¹Ò™D@€®ïòöË{¬: +ª^4« š«5ôÆ Oƒ|®WÏGwÞþt"H•]ÈáOWîòNf&š-ÄpeøŠT×ì6}ÇÁuŠvD^#×vkëâ›GuŠ +_‰ò¶Ã®ûøœh·ž*¬˜éË`KÚ¨Ï7†âªÁnó9£—ÀvxÄzkV+pÑê}¾÷Ìy> Æi6­Ô&ŽØÈf= Mg‹æÑìmóÆ84&t£hv¹f\"uËvk#ø#&Â,Y¸Š¶ÂÛ]ǂл®×ܲíR½(PV˜FD£’úxëV뮌+Ðsí68Óx&UE2JKøèˆðJ}¤–‹õ´’$î®=¨D€g,W`a@tò2 F‘í."ˆ?WnTAblô.2­Ïn>'ôøŽy¹"¸HÃó¦L¾¥+.ÁIÃkJ&º#e™u~I‘­õÎ;¶ÅmÜ6F—s'ô‘š†ÈÁZq)#Yg©Ô#2ÖB"øUX;dŠã‚ŸóZ•ä Aþs.€Næ>¹'šŒ…b/œa]TDdÏ,f^±ZT°ÌtÎôÑiÇÆÍiM€æÎ/Õ3Žc}ò›-ö¯Ë}êÿ°>ß@ˆh÷³¬2ùmñˆõnK{ãÝ‚}è—·‘3w€ð.ܾÝÀ715űV‘&Éï^i^Ð&R\ –Tðñt°H’²ÛÂJùæþ˜,ƒDâ êèoø h±HW2…N)­ò7vD™[{Êõö4^P x‰©Á™úE©qèY´S\ççðcthyZr—Gz¹þÀê"5|#£eÛ˜úZõ!"•ìWçª/ˆ ƒùèŸY4™ÏºÇÃИó#…F+…üáÜ/á@íwHÑØeDfh£ïqßc~)n"V¤2q6¬I“¹/IJûÍòÓqü\ýD4%ȱOú~½Ú»Üo‚šÝ¡:ºßhûÆøq›Àªí•ËeZóc„Ö!ȹ Y ÆÈH7ç^»®áíž6º2Žk2ÍbÖ=I0ÄÛ]]I‰¸§µhù"õÊŠ«BUfïé'lÀð×”KúÇ}åÉùf *JÝUê0š‡ 2Ôt8¢a× /tUã@‚Á€Í ÿ‚¯-p.e¶ÙoS‚ÝOÄ_g~ÔÓ¾|´`ž²KÃ3¡çcM» ¹ ´—\f\Þk\‡ìñªÙ°5¯ŸMñ}´zÔT!W¡Í&K/5m)ÚMÍþõ ýc,$õq/cUþÓÊõ;ì7ºÄ)¹Zßʈ+‡«®Ö\©XôV"Ž8ƳÓͽ[({vÛ¤¿ Uƒ + ËÝ,è>kts½:ïnºT_KfhŠIr;Œá¬RÖë£Ú”)™œ³ßUì‹/a‚pºÏʸù§£ó©@Dj‹bäN}aÿU°|ÕøÚj^!à4óA.¨ïzú‚P/®äþ“ÆbHžÅîò—[SÕY®ØbgóǦ¾ùÕfÎøõàq|Q%,~ÜCðL °~Æ•ó4w€Ükß*n "Ú™2J|ô(-<&³¯Û­ŸöXï(K©Uê #<4±1ï5¥e4ï•_Oêœký##0~Æ l*…SË Tñ÷r÷X»?ý½ÆÆóR>_<|Ìuå± IŒÞ.2ee: +Œ“¾OréÓ‚LŒcjÁÚ^æk§ž–¸ç\ƒ…é­ãrde· †Òu VßWh.P¨‰´ÃI;¦yõeë‘màyÛýáZÇþ—k‚¸T©Õ¯úmÂm“¬áiã ± fA6¶¬¼S7UÆ”Ù3¼ò¤ƒ%ôÍðÙÌœÿ+D|J«ÇZ.Í#¿”æó¬êÎlPNjO“ì«lDýP´gÏB6ðܦ9( æeï(ƒgê Q™9ëÖH×35,þµ tYùŽ,·.›qV]¥õ-ÿ²KpT”„ð5,ÉÿûíLI§Kʽ¾}:´Ø£%L7÷4šÃam2¯+¯xº£až¼«€»3º{ wh_B¶u7ˆ[=ÿ8·ƒ}lÙ†Æ0I:Ì÷SÉñ]ÕÑ:Þ lß>Ž_AbÇhä®ÿèê;wìÛÒõŽÅ°÷‡žeO<ØÉ1´/>É À}Ýš­ïÃJLέ\,Ðq5Rw¼Ñ´á À$(»¨Ïø@ý»ÌÕl9Å^Ø‹‰BÓúã°‹†)’;Çí\ìí^‡…?Ï}J¢,‚b|}Ùšî’X“˜¶Sï#4ƒÆW*–û¸)‰²´´È†“õ@A‚3IF>÷%#c¶¾“:Ncí¢Í4£¨¶$$¡5M³ã'ú 'á+íz­U:˜ÛË`Æ8íþ[¡R÷*-$Ëë*ñ˜ û #?éŠ×C& ѪUáâð&¾jæ—“Vp¢áßJWƒ»y=œRÛò`Ï#ÍúV”ÌC!ÈV£ ç#4„Ò[xNºDWE8ž÷® Ñt±»ÌCaŒò´nˆ«ÍOQzøÇ[‘¶gd°Ö,o½¡?ʇðZöÜ]XÒ¸¥þ “;ÐdÅ‘,GÑÎ<èÝO·©ÜɦÐN~ÓDo"–@&[âJ\€fVüB]fªA!ïšÖu¯¡e3#KI›sé››*¾,¿öŸ'p7Âþ|Sè€#…Ñè„ds|O©‹íÃõ³Vȼëg]CÕÃ^ê» y~!§ø)ö}ÔGÆg‹ã´Ô¹©ëŠ~O—÷ý×y8Ve?¬]®±KBx›ÚÕ*ºkKoÇ.Ýüa»øüuýh¡á‡W2 ý­‘ïµ\'íÊNü¤e¬ÜMÝJ9dùÏ™ç^$LCtÏ{ÖrÓ`Þët²{Öèᇕql‹pwòxžÜ2±ýjô:³a›•È[”G,’6n Y#•Ùw÷À‡DM¶-5û0&Jsô"£7—07 ”êËöÝyJ7@A׈±Gׇ%»j§Þ5ÏÀ–hšA‚Î[w='Ó@ŠÕUùõ¬ÿ}ù/:€æ–ÎdÓú4–¡(v`Ùpõ‡m•›^ á±µ¤lƒCþ[c÷Ú„´ÄØäX»2f^ýdQ–ýݱSwQŒG9©3•+«ÇÓyÊ5¼(ÄÅ_—'Vt¿ÚNîÚ5 Ç— #N¬péâ(¿h—ú³Òó_ã:é¤aÔµ+MúÒc_IücÒ"Ù‘´eŒÓ%´K£a„@]ÂPª¶d'&ªÑõw3%²CÕÚTw¯Æiµa‹9 þX8:VŸQ’°o £#š!H %¦[E#p›•·ÖØo´¤”G€C†P(^gß„]¿Ù¹™å{`ReûQ8¾éM2*¶Á|NýùNãáöñWä‰wÁ<ÇÞ0ëÂ}–HAz@–Å +ë3b´á&ã;u ÓyõãpÚöק8kÊœu–ÒpÂñ ³'Èè·¢ Šx~Á èsÄBÚ¥)bëä]•q7’– #“ï»~ѨM6A¯ôŸ6W6ÿKØ~ƒ9¨l­Z}#SðÆn£×U³LŸãnYWyƒe²þNX£&}+lKDX=c,àß—éyu¤-(÷NÄN/(À-Fk‰Ø$ë°Å©ûÉ\éú9«Mè§ÝÐøJ}7wŽÿîw‹‚lþ‚3Êu§ +ƒõ]»ÓHŠÜ’õŸ­0˜ª¡ÚõzlÁæ³9QëÖª²-°˜óV»ú»ÊzöJw88£)0¥‚ÿsvæ(˜vйÄÕl½q¶LùÆ1Ç{ä¸Có Ê@ÎÝ[-¬bË·qŽåŽáâô)|ο}ç欨r–TÚ\U8ÐxFñ´(Ú»Rj|Rª³œ"Òú´Ý9³FrTÇ–æßåÂÀ‚h-/þ?GÙ"Œÿ:•‹ÇòÃ¥óâfÐr'ÖÛKª¾‡Q4¼,œIS’ª­ßŠ&µîÆ·öO„J´Œ™ýÈý–e—°Á0¢²âR’Ž“hü×0Ý’yì'â!¼kš~$r²†÷Á~MnŽÂ­uçZ$Àj:ùêøv&ï¹fу&U?RÌ’êˆ<â~,qJû…X}Î3DÒ®çêfœ6"FŒ„û°y +ÊüçJóš‹Ê쎆œý®÷VMq…ëZ¨¬-o'¢b”c«úp Àͤ𷴿Ælr|ît‚>Ú']ÌHK@íêûdø”¡1/~ Qº²gþ4ߨPG{|èäúè9/þ)2ƒ³¿›ÍÜ,êά‘nv>ü{a‘ÿÙ¡Öžø™m†­Ö}¼¿ .V¹7XŽðØÜ•|Ÿ5Š§ß3 S1©cúà +endstream endobj 370 0 obj<> endobj 371 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 372 0 obj<>stream +³t¾ ¤ ëoÒžVkcö7£pÍsÃsD>ºÁíÊ Yé?òœ{z2Ùwǯázó­W&¥àtçNs¶¤ènÆêüš¢O8Ÿ‚h÷_zcÊãS›>KY¾§åkËx?ÑR‹±ÛÄœ®ÌŸX ww|¡®7Áþf‰†û§OaLUÑ-ƒ£0•ÖÕ…yæฯªäF"¬9„~å"œÒ$j­8ИŸV¤w@À!ï§ÇaçÉ(Wî*z=é¨!—É•Šx+Ö--_¾ô«“aRÑúšY·ß’ø|÷»tdç2ÞŸÉ#|~¡ãŽzz k[“€Xãs0ÿaƇµEl·Uƒ;“„±¾o¸0oÿÊ¥–’ö­(ÛˆÝh¸óíX¹:âÂHËRá³FŸìTÏ8 ÷cq,ð@¬²¹æ ØøÑÕ:}QB^ˆbFÈÏâÕ°M\ËHÌÎ{Oƒ‰)‰µ vIËî‚gš Òøã«1\ý©¨v”«P0¢ý«Þ&Ú¦žò•Th+¶…÷®œr[M¨d"mSjd¬È–(ž*7”Vt-^õ†ë«oÝ8n”ŠpÒ)ÑëM´ÇsÏ%¤ËÜ!£ç.…eJMﲸK²UÝaŒ¦Á\ gôá#lsKg€§H!h/x2²ŽœÏæMeeZb`£ENŽÌ'‰Ê]~áwfƒúßÀ ÁñKïdYkØ’%ß–J^¡Êà^#ÂûOSo‹ºse!›àžŽê ²9™¤ íÑ):8…¼x!Èådxº™k(ê:eå (#Ž ;·¡qèç„šQ+Yaˆ0…ÎNˆ§Z™rÛ]2?»¢ódTÏ^»üžòÎï–ˆQ[{\±œE::'NëHd¸$à ®R6[í´"GÓ›-4_Ý2FØÍñ˜*ÌæÑd• ÕCUÑÃŽ‰+£Õþ}·¾,Áƒ|¨¾ÌDGYv–w p­ ÜÿYŠÒN/}B2-üoJI÷ÚĈÎ/ùæe–yêÂH_Cï Mbž5b@vÉ4²,1'VœÃ¢=ßSåG(ÌaE¤²LSKNÏ•up X[_ðYÔg<×àç.ïQ~ª½ÎK€x”ÈšKÑý³!¾c³:…ûLŸ÷³Ÿ±ö8ýÉ«8øOã @µø•ÇŠ{§6®x¦Óß6¦àñÕ´ø1rk­È~Jm½ËömóoV ýŠ]œtD³_1ob6­¹úìT •$¼jƒV» >8Òošÿ‹oAIÒ­ðøx–RP¹`y탣et(a¬‚ÜÚµê(ß„Çk¯9äó²YDÑ´uaÿfž¿î+~¥oy>øë‘ôkw%Þ½†˜ h¸à—Ï•˜x^i“Ì™¶33’m®qÀ€ØãÙÛ¦÷æOÑÖEƒäN+/ZtÚx&©+ÃÕHI†KËRÉc«û¥P[ éÜYG>Œ8„ÇÊ&þôqY:†\È8“Š`ì4†É r)"«ÔtÞj{©÷âÛï㼤U&/»Õ†xJ.óò¸ ªX㩧·Ã¥­–dÊŠX6d-;/M9‚Í{"×@È…ž€2¿ ŸÔCæyB|cå<Ø Ä;°-qú( Û’kBwžÜTL>!eŒ ŸëÅœ{-Y~±žÌk˜ç1Ñ%Xúï.qjî¬`ÈÇ\VÑcó{·ó¶÷z›óAW'“ø ÎØûp>®’^Ÿ‚ZR9‰%4 ÀcCì¾\âÏ­l‹—MvÑÄ™¥xoTžÀü€©ÓÓ~‚õËÊŒ#·°ÎÝ’`u§+ÐU¶'ê?pX÷è䬽¢–pa(†"ðsÏ5µgˆäeÍÃßîb¬˜IçóñþŒþ.ðP¦d¥­>°Ã¾]¯p"™óã.K^šXÙ&9½i$äKÛãÓfÙ ‚J{òG3b`Õ:(D;~ÊÝAm!¾SÕ€³j±øíCw‹ò¼†‡Íí‘…Vy¼hKñ¢™ï’HÏÖ Rç®yÔ«bLê8%þNTË¥Vj‰ü­õ°Ím¯ ³\åzCwœß´êŠ!´)Êû´†É)Â$QÝÿ=êKûÙþVwq_ÇÙhÇ´¦?/+¾”`Ÿ§`On33è…\‡n/i3õMkÍŸ’uZ]“Hùß%KÇ õTÕD_Ÿ¹Ž¸.\ +kØ™ÂvO±u)VbÅ`‹½y‡7ïÔX‹Âý}q®0æ±-å¢Û¡ pMõøÚ—3‰¡<–Ñš@Lºr:‚¼ŒÄ/î•){§}ZqOþ!§…3"nÃŽ;„àPh,=ÂNBɾ/u¸¢âdºz­°8,Ng $n ˆi ¦‡'aM]§áÿD*軩 ŠC‹™v BÈÉl:¶ î²UèNã7+å‹®%Ìž±‡Q71º>v;:ˆ/CÍáèªÞ×naÇ›­K†éüˆunÞCã'fJ´ñßÚ6 ³ ´š–¢¤+¨ØK%9‘æ'§"ôAL²ü#z¬Øö\‡©®±ˆ60~»ïôEö#r=jo¹¥bϳ͂j:5§®EÕ:omãYü + ô¤˜䦽ߎ«ü)¢òºO4 HSÐå?:Œ$±lÌ…ÀÄîžôCŠb0'°$7ºã€ñc¦wÁ + ¥'‚™6¨ ‚>r¹È—Š7KÔœ|”¨$pRø³e;Þ ÷e‚el‘HEèҹƻÎ×SðÑ›’g§ñµ–Ör:Õ§E–˜~Ìòؤðc~’øvŽ`f\pIÈäk¡„È.¼™ŸÌ¿9:rB$–«¥”„æý@ÐBGu‡ŽÇÄŒ£@¡Ýÿ„mÑ[ìЖ§9àâ¾ ¹…t@¯¼Ñ¾¯(€/lîÂ_”ƒf‘0XÖÌ’ +ñRÑ ¥ì#×Q‡cÕ´7{¦¸£5üÁq²3ÿîó5Ï1!jìæ?ç€-ºÕrìMÜˬìÄœQ° Egr0ÓºèY®p BïÐìÆ°÷ÔA¿^ÚãëoíÿÕ)$¹ ÞBŸ=]ì£þG'ÎIÙRÀUÈŸ¡ç›:Õ6¡-T¦Éõ‡(°Tø¯$¡ †ÇeõÅ{ÁëÑújç4{DË)”xj2½Ç;oòaf/–©¡c«ù-§ºN¼UÒæÂìúîeTuT…a&ZĶîFç·Ï1Á†¢¥¿+»*Ùå•]v‚H-ú '“ŒLmá{ínv¢c]òyõc©›•Ã™=¡ü[{êþ<3Úaþ-(Ã=TF¹üd^MMäÄñô’å´*ëyg·›‹µåúj¨Áhû„ààÝÛÖ¯X˜"3!UJ´d™!¶í3VJ-"”F&«Æ›C@ÓÕX/‡ ê¨<»90…<…>abKþSý—¸ˆµÊ Â%'€g¸—Bî{å^š‚/ghÚí-ØâjÌ÷BŸ<€œ8¥ö¥;ܳS‰Ú"1o>e„’¬Ð®/ ?>"·HßòDAãüéümã +†€j¢ò¾r~ªü‚Š‘%I¶"ߺ†µCð¯h´ƒW«=‡ :=jtæÚŒ‡–%Ó®CÿU¤v¦áÀõ5áÚÎ'|úåN¨ô7(;ErL²¥¡œ CHÓ„W<7Ù0C¡GoaVìâ•dÖÐYÓ6ËM­œlô#ð 3-¬«EOÈ™‹´NÔÆõ›¤H/ ýÌ•þŸÌÕ+ñ³2 +æý%Üçèšöß™nI:ߦ2›þÅ,vztmö‹Md`ýC.ÄOº4 +endstream endobj 373 0 obj<> endobj 374 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 375 0 obj<>stream +Síµ¼Pýi´鈷ÆÀ:隷܄¾9ó<ý—߸"ï{%³¨Á¤7¹›ñ¦ãÀ @`âÉ‹tÃBqÒt=~¥ý'}P±ó̵_àÐ ̤ø“ö<Ð&‹Ê©t1±qì±óó|¡=gœiŠÉ&ò²Xƒ¸©ì IHÜ×:óÇ°k¢XWÿŠÑŒªUN•ìu‚âÔÈeë{k8gÛ 8>,< ýi¶·çÓ%8Â_Lœw³Ô=Ê{õwu3h‚”g~I ›«Í&”4Çl »:šÀXý=¯ÛÒ1›À T21ºPŠ«ŠŽð1‰ÌSµÕ±ÿfЩÌg,•þÿJÐT©D­›BtpÏIeüËáÓ@c­7œv­’~ ?]vâi« +»ÛÁÍ/”|q‹ãŠ^jV¹~[„Ê°Éqô`ç=潪ﺓe˜`÷5i0§à +á\ü÷åèL{Š×Ò$iÂJôÀGçßÐøaî»ÌnþuzbYí¥(›h4zeUnÑ0*ñz];:HSòÎ(þŠÂ_%¹QŠ¢2@¢œ8½>%ç´(áÐR7çšÚWì!¥½?‚šfÒ´Ÿ!ÎY¢Ò†‡ààûTøM¤{’y•+—$4ˆ…Ã^Ù/-¼z·¯UO—Ȧi²X„“2´”C!« ðÏwÙ©£ ~cbcèh™û˜³ŒßÚ*i,¼ð­#M)‘¬ø–.«¯3J›C†1ù• ðt=úüsHQc¬mÃ+3jH#öÀUÅ ¿lÙû_š<-V*¡yî·Î‚aÈÄå- +}]lCÒwGªc+mJ!;}KÁç¹Ò +ÇW.|MëñÉ)P÷åù0ó´o,X"Hk ’­C‰ -I›¦üÓñpÑ\¿¸|¡<]k+È>k±^¡3¢°qPu¦“ˆúL •û»½ôeâUcœ[wøA¹ÊÕ„’Û}Nñ· ©mß²¬ØqNåÎüš½qŒC¤‚”E“ü‚™ˆÍ#aÕYÕfæ;*6<ƒGÙ¾«¢ ‘ÁÌúð [üÐÝßg´G +À’é°|Q¦ìêÓX +'üÄyq!1Ä`H=ò¦Çðvà0ÅÓ‘É+Ô2o+Ií¨Jeoåþ¡Œ¸ªBXSiƒä–ÛìZ@·0´zÏ6(xн´_Sljf  , ŒÅæ8iJbÔ¾ ¥ç@TÆÍã+zf9RšÕd§¬ûÒyÿŽø‚:A £¸¶NÛ‘käá?Ö- RîÅŽëJ/Í­"]~:FN¿ô‡ÎºOëz|@UÜ*› í>b +Ýä…<`¿Wä[âÞL¬qÜ}•1‡6¯ŸóN=þzôŠ°¿j1‡e^†'6ø#…sE< ¼Ò~IY®ÞGAªœçqÕ+IÔ¯XSRÐ9¬Ö´ÐZûάDx´ãBŠ&ª.a|è{ûæ‹4d!g¹ÑÚøÏeÃÔ'«¾ÕBK±øÁ-µlº[E†òæ.W¡Áž”¾ÝDZŠyã™P5òP‚"xׇÚW¥‚Á¥ÛýWû¬¯#±–Êò`š>‚¶ R8‰zï^õzk³ ݘYº€ïœÄùwÚ ÐѨùw÷2$ßÄ1qûUñýÖFx‰¨a(²+$UИ–7²·O$#Ž¤ø= õœ!Èî E⪖õâg™Jßp3Ëe:7«,ñÿôdQóFL=vòCÏwkÄùP+RÜøZŠªœÓB£xooŸÌ®žìà’¼÷î¦Mí4R‘œ{ïÍYŨwëbšõ4Hv#ï>v73MYßÍÁãÞΣž¨/í +Žbû/«¹¬#€{âd+;›ÚLÉ;·>ö…dÊ¡á¦OàáÌä{cI ¨CT¢s„¦©Ï˜+ÓcPÔ‡…™Ê)Þ6„–ßú˜’wÄ@ Qu¤ª}ÉZ*{y¨Šî@ܼ¼ô®)¬Águª¢‹!y Æ>À ÷¸"Z^(}¥>ä‰æêZŸÉá]1`Øìap¬G(&Š¤wÇûL³þQy`tÿ¶aü83XÚ2!ÐÚ¼gPT<¨ª +õ&+¯Z³»y#ØQ ZÈÈ™/¹ÑADª1Ïùƒ±úÃå>—áüwú»y­˜Eý‡ÆËÇì¥X›#;­«¹øh„Ù®[yHjWCÏLÞ…g¦Zðt#í´¹UdaÿQ8¨ÝÔ÷6ÞÞ›ç]{µ^ D²;¾ >x ÛñÄ‘}qö¡åÒXÄñüˆü¦]½Öh5m¢©júªsÐr'K±03¡@¡³hŠ:ŠbùøçêyÊïÑo51ÒLüjgÑFÈiÑåy +Ÿúæu }|•Ä`èÞckͳDʦGãH(ð mÉ8¨›æ…̘M®7æÂÂûŸÉˆyëBÜm¼#Øí;{Bè–“” ™3NtêÍoÛÑ +endstream endobj 376 0 obj<> endobj 377 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 378 0 obj<>stream +Þ»ÖµJãY- aåùi›´¨.3»d0K¡Ig=gÈ–åbDPÙÒYv:R/Ú˜4HÌDj„¼C7ú*"©žÔ÷붗R’߈ð@ÉY:5~²2sØÆE‘†F5€Í$Ù.ìsÑì\ä~¥Ôi÷OËQI4¥È¯ÌùöÐôœ’5.À‡úB×cy+8"elßÒ1N¸c=.fΰ§?¿@XfÇô˜/2·èx"’0WÕ¶L#Ê@ì:1i†DÿèÓpnúÒ…Ábß­r™Aˆ­õd2[¦úx`?U¸•ñFPŸ“‰nÕŒÿÐu ï¥åôÐÛž™Á_ük{| N€äHK3‡Ñ@{²€µ ÕKÉ‹µì‡ê6'RM]5ÏÓfÑÝ(¼‚(6†{Ó6‘Z°ê¨žÄõ´oK]%ì¡pÊ« ê¿â¹)S5†«t]øÔ’(|ï'n]Ø‹ 8­l™2f\”º èÁEõÓÆãêi D§üª›ßfôÒö¾nøìnÂ|ÖëÍé™ÌúB)aUÈ]AQWÓúJ)´ÀŸ‚x6"ÜÏm~B¿«´°+ +…\…Ô?g„,®Ñeo‰Õ÷òì±6Ý™D<;W°?µ’,A RE:yžšSÞ².z£4âÈŒ§^Xá`Âõþ;ñðÁ·éuçÕÒjh0§‰3=Þö0“ÞV j ¢™%V¨PK5…Ø~úÚî b .:­òM³6u1vÞ39ØP:±šÕ?$jÀÉVQVÔ­ÂiEŒAס1{± Kã‹õZ¾Ƭ¨­Ÿ«)W–ë*Y%íºS'µç®RArgwSíߢ±gBÁÂjÚÉmãȨTj9Òºý¼d—[4€=ÚF ®Tþš zÌ«†OlžhÊ`8æ‘Иy;óHuØ~±Æ¯€–Äí˜i»¨"öúMJÙŽ$ÈT¡ÍªƒîÖm´P£ãû´2€#˲]B+觛Q׿ò]”-»œiç“">´ÊŠ…È»*“çÅ#æ ‡¡bìTx7šåV‰¯rHOÝ­x­dæQ¨­©f[U(ãqaA~mGôœ„R€òfšç<Åueðî­}¸Þ©¶4¥Û/—}Œ [êxcÿ‘¾jQ—C©ª˜² Õ…ÞT{¾_MÁƒÂo„§ì³8ÓÛßZpF¤«F€*´Å;\PJÇÏž)¡¾í„vðÖP -ô‹=ýbyB@øØŸðch/˜xÐÂœH+în™¹LQ2QT +¹^ŠÌ42–‚Rüðr(Ñ}t4Æ•M‘yó§N_ÏÇO»ÐXÆÓ7™^ºãûT1¡e>mþ±<$ɪí)ž¤»4Ä‚½0ì—J’5?ÓŒ=¹7gãJ) 8òx¡+·eH@:”b(.hŽÍÍ“ä¯çE"×L¡*±X:0¤º¼ä´ÉP(a7¾•™"†Ec`-ñmI³_8¯YM¤=êy‘ùÁéý¥|¦Ü.WÊØI…'8,ùudÜáÍ'¹.kì9¾ecŸÔt¾þŠôÙã$ÁBëaF b¥Àñ kõ^òP1=òèrlÜde1¾t/G´ +áaÅìÓ ¾Ï¬1^µ€JÜ€8âÒò”¶QR2T¢9•c@Í éÞ{‰v¢†qLኰc,‘eׄ|Ê‹«ç)qìàåÚiâvéÒ@ØÓçGy‘·R}]5¿UëPžPb Œðp?Ñè;òÂKŽÝäN›»¦6*lÁñ¡+žùf~‘rèR#ä($=@'Sö23·âöFÒ ÷»ÜxùE¸»Éö7ïr: Ï;­uÝ@Qýý£á´U–¡ÞÉ !ek»Ìõ»)Å÷zˆÏ )˜lIÉb´Ô9“ +ð =_>Ó†™ý.R¡œpðWgdB óôzUuôüÌjÙÒ<2ñüáz°Ë“B–xû,ö^4]è•?pêÛÈñD6FšÎÏÛ·È£# =àXð ±ðŠ•Ñà('ÊÒ#IEì]¬?ïô¶ëû «Êw´Å÷}!+µ ÀôU-K£x°l ¸Ï„V9vÏv3 +AÊ;F÷ 3Þ‘†š2%#æÿ¾„zJÏ7Ò”ë+¿­Ì3ŠçÍEÛß ýo:l:Ÿ ž«Ýoò½Ü»Ëìfôº.1½ï“¨øÄ~„‹T:mGûÍÉÈzšŠDþ<@6ÂÜMˆø˜yÝÙlH[%¥Z"DiËàºé¸Ýjr¥êr +¶–³ÃDU+®HÜ÷¼¤$Cé|3jŒp½.üì\ð¿äe ‘Ë‘ÌÃÃ)J/\õîÓnþÚ +Æ̺NÅã§;]<£šüYºÜ-^‰ËæcÁ>=Ìü¨õ‚ð¾Œ×pñÐ~í'ü´Õð”Ôxr2:}/J…2À‘ﶃä"óáÃÖ&ªfÚs :‘RjÏ®s)š²î!ˆ˜«=ê7¹nî*1|ŽT4ÝHlýC°Ö†«DÑ×C–!5Ï\^ÚK:òl©Âï<Í#k<ÚÞp[ ä€’Ì÷ÆM‹ÀV2™š$Qè=ËòÅð•ù1¿ˆB;e~;vÍÕ²Æ'Çý©ùÈý-U’ê¡%ú&4»í•t³H§mlòéòèœñ4±“u,„!{«4ŠˆOÀôƒÜA±Èœ®ª¥B+ÕXßc"+ ”q•2Qž3}10]fÈ•Ã\ š±©Éö]_E=çûÏDmJ:mé}œLó9;ñ´|7$s„/ËåÔé9±œaõ<# rÓíW†‹ÀêOìà¸]Ö$œÅ— +éZïSæ4 +wœ ‡è´›1²Òb» –|©Ú÷T(‚!³ÐÚ­ÝŽ # MË7õšÖÏS8ÍÔGpÇòLi™Eû öØíØ{M;y ¨°?ý:çý)…_}3]ÇN¿*NHÒ7¤v`cfRˆùÊS…1ìB¶olú#ŒÕN¯ßËÙ9ÈEŸ]^ÔhîëÛL³ôƒ+êÛ£‡èÅ0Êú™ï +9>Q-Û@—pøNY`>¾–œþÝ š‚Ï¡L®%èxéÓÛW-O;‰æu$&ö'”ß"¥ß*õ´íèëûµÛ±ˆŸA57LUªôLØÅ;B/­–b9wm!ZÔ«qj ¯ÿ†cÆzÝó†ü¾;°y#ô·åÉ :×BÔb=LZßö½yn3C8WS8®Ìè¦E·_?ÂØݦ A±¯õwØ—l%,Þ˜ýµUMÕNh¡›n΄Ô:`'áh)¸»21=þ›tfÜ/W—‘i:Ù¼Yûwp(X$&eìð)éÔ·eÀ™ÃNÕpR—¬q’w®o(Ð%¾ü5]z|½–®V5i­³Ø(ø?0C=kô^ìJ˜bÄž(ó»çí -NcØ9ƒC8¸ÁÈLK(¼{Çv]W$Žë‰[Ý™R=ö h§kÌå[b”Ç‹–¿Uô“ÝÄD¶õ ‹ê†•tZwyDœøS¦Ôy®= P;mÍ’Çò-¬„G¶Þ)°â†´>#c>›MtëäñõÿzÍé{÷ø¥s”^¶{‡‰2;@¼‰;ÆÁ‹%ÙzX¶`yþÝ¢„ÝUêî7b†/uai5PÀ +Æ°ðÿÔµ"vN”}à}¯·îO¿®2õ€ÐßhOÂÝoeñùºÑÇóqÜÓ<}Ãò<_ËrUTÍH vÛ’¿ÀAÞhœ¶*“P>P-þƒ®^îÌ͈HÚz9ê¥É—=(oÑSjS™å jò“´™m–o• ÉØ¢ékø|ž×ZÏáòr·˜vŒT]ˆuÃ×Âÿk6Ib +¶ÇQ‘ÿ“?‰be%Çe3}Äb†ùZ;˸†ïCðmAsÈŠVW½açäÍôd Oq}žSû£a:×:õ‡øp\‹ÙÚêz>¶öUÄ”„°Ó[ˆ +vuîÉ[œÑgÛ#ŒVÙBòêˆwÔToaJ³1ÿ~ÑT’¸/^ww . :`‰µ‡3`ˆµ™´#X¼IOáR +y‡ä\5#HÃëkšçF9nû>ŸÓA·UóÕ¿êCSÁôiý®° ö„>-›º˜j uy±“×ð;‹äl­ëÂHÒâb—u?•ÖÉô§rñ²ò&–•!ÛfËå6;\W1XGÁô6¼Le9n%MšEå:S€]êϺ^íX{ Ÿåˆí•Ö¢'Ìq8rWÛ•R$Z•‹ÙTIÎæÙ´8IÜMWk¬]vêýäŽÎ÷WRòà.¥Þ0 ”ý€˜!ûz;ëªa]΂]¿nŸ#À¶Aó{i³Q¸¼ÑÜ7áÍÉ”‡z}=ÿíë‘L€Å,J$¼Œ² +H‡™Ñè,¦ßÿùÕtÝXÍbâªWjÕ•át®(ç/!2àP€j8gÉ%ŒøâßKçÜ-µ¼1˜”œV ä,ü€†Ì1š+ÁùšUŸØ£vÆi~þ;C}9 ߌ’ÚX6¿äñS(ƒæüWε™WŒ¶Ëie1P^«46Ï9Sº–6O|ÎT¹ï'h¥èc]Þ&,š«Îwé±MˆÍH_’à¾65åÉ@u7_iô¼kÕfsqp²–ñï˲–ñ&Ÿjaf¿Æ',Æ ¸€>9ѾGÿ)<mkàe@JwŽÿ'û…l@«–zý„ÃBÏ‚®\mžuËì¼ú˜]ýÆVâ”~ ¡‰þ†t$Ek#JÓöìSŸò®ôâÓ÷PéÊ¿j½GÄ/ç¨óÞ_…ÑÈ#d**ZBöí¢–P+»‹Îʹµ².ï@y›kJ–þúí»´ƒZL;_iˆØJy8\ç`K0Þí¾¨;ä.hîg¸f›•B$ª2Ÿ¶·X’ØÿJÕÑB>âÁë<´Íþs‹?`î•« ÿEC¤’¾Éú²qì +à#°Æu ZjA÷T #†k¯i·É•cq2è¥75è;Fû1ì`7§øã8õ¾´æ¥ò€M¾Üß׉ÚÂMº‚g…x\ç;g\Héa}2ùJú ¯¸ìßåÆëéЪ".Q2=ìýÅ«Ì2aG3¦ý­¿ƒ¨ÚMIIàýß¿@ïdš\Ôy?y5ëSRú¿ +ÇÎ}Ööõ¶Ê•¨72Pƒˆš2ç çþSÅ ÄQá×~¼é°C½!Î}7ÛÛÌÖP +|xyÎð˜âñÓo+BEâþÐÕô+v¢º‚_¸Ö¶¿2…ôbuw~0ú|;}˜¨¡ ;aHxeÓÂÉß&¡v®È1?æë!Ÿ–ƒØíi]&6. Ëœº¸eðø]X7ÞÉcºv¶·’:ÚÍiÿ·ŠqÙZ±w=zFþг` °¥­¿+8#‹´Æ]ÅÍÏdrÁ›à’^q kcø¬éM¡Q+±þ2óÕÓ½ÐHì€û~v®'ô{ý7โ¤ÿõýÈ»Mü/_¸x–÷Œhòä>ñÊ`õTþÍH›c°œ¢~ÔV9×½£ôp}KM›ÉòuNQ£ugÜ?eý2Íðn٦ɖåw€Ær«ñ¯yj¬3µÄðŒÚžyúKk-ú錣íZowtÁæ“ŽæD0Æ ÎC°îsn¦sþ%ºº™•EŒAæ=I cý¡‚…tû@q«Vñ¤<áÛ¦EPþKnOŸ_ð¸)@9ÿ¢´Ú§T-#0U§ÜÙMÑ¡‡TØ Eg÷nÛé°A9fÓjÜËšþ<ïŒóL5žöBr³x½æßàzö +Ê=µ=dM»MQÕÌé ¹óèÁÌÍìBʇ€œaF@ +w§NVòk÷(&škÙÆsZ£ëåaÐ +“Âëúø¼2`Yo2ëv—Ž¨~ÓT‰=X´©Á4L­\ÆøŽ© l÷ëŸÃW ŸŸ;iØL¨]Teàúw.¯ó;„ÝK±ð‡–¢³o4ýÛ6½iZÙñSñ +–‚®rñ‘èÜ–BÀ[=ñ¿{%ò+E‰ÄÞÓú•M¯‚CW?ß‘›þ.Š¤¥A^ Ìà§vJÁ,¢žj9+Ks8©ÒÖ^”t4YW`’ì”GdIËk’ÓºA;JŸ•wGn‘©ÜY´eCÏ«Û°5N†“ÉQI:ÚRÙÐÞã3h-Òdy`Àa=6ˆ‡ß9#þ‹ ÚSM_ƒÏôͳAj?u± fQ +Ó HÁ'ˆ"Òjneè‹z‘—‹m¿Õ¹2U㔾…F€£æÇÓÃÎ8Kx¤¼St,x$¼âŸ;­~+ºÖ ´ÖÐAƒž5ªVeÏI*à&-DúSB +~ Îeí“DSžÐ‡ßŠÌÍaˆQ)0¬9ÎWšÍuÙc.Ó?™õeU-ÔvTŒ˜Óýmm‹aQ?h®¬+” CÙóT˵ԡW÷ß{ôª—Š‚–{ç²ÍÓK±ôÆÌö^¬|:\mÑϘœw'?±r›ÜÑ,6ØÚr¦ô ¦#r7NBÀ¹ú Zˆ-p¢ Œvµ…ý¬·'ŸºÓÞË`e€| ©Q Ð +BfÏ£*àÝ‘Ñàš{¯NFsÇQéA"–)•.• !tØÁ??ûá¾s6€Ào„\Ëò Š’#a£Ò´e½¦±ÁV­`~—h(©ñ}ŸªÍ ƒ\'”üm-pÌ\<£ç7ËN>äP}ò#lL%=©¨•y²É›?ñOSð×›1X}Í@ç8û[mÇsÀ,•LÚåq¢C{œ;“ècYÿ#jpzuÀ$Æé±Ï¢Ü [Bž­¾#±©å%œ˜GíT.̘Ϩ}­Á7iüc ›«êy)«C¤1¬ÎÍ'z”·$I ZBa*ñÁÕΕ_²lwíVo™Bóë÷õ*. áñ ÙiYNOúü +’«exïýÄaQ +Þ¼>µ-Y6#,çÎ0Iiñ×Ïâ°@ ;H€ +«[ +MÉóBStñZb° ièvŽüz•RªB¬¹H›àÞY8¬öÎÊýSÍÜs–ÈÝ @™b"™4Œ‡=‹ÀŠî0TËí$t~0ôÕéRµ5·®*z\Û8×’2äÙJû@Ãîvmöc׶˜þE÷Šó- XÉ¢)t›ˆ/&,×N§ß(~Ôžsö[§X¬xiy˜¾){q]—æ1[`gtÿ ÌXnJ-[ô-S,ÕBÜVµg²=I“èå¤ÐÏ`}2qX©m}¢0<Âj´7"Å`"î`µCwŤ°OðøègN¸|¿YTªSóŽtúCþT{˜t`”4Y¢‡Ò™± ÌhP+¹c‹è>â*½Ð>kdR_øš%R´ëZF¨3ÒDò•4\Ò=dV’x †'\Ô;²éÆÉ´ÖU‡;Ù©<ºëí•Ç +À2»éí›Õ3ÓpÂÏÉãü<ù +ìÌ¥‰ÿÞ[6/ÍqÝv׎Ló1]¢#À­rÂÃÔ#a]ÀÔúD7åîEÞtØ€mvÓdS¨uÅ–m¥>R@sÓî¬xÍbŠÝZé#ª1œ•ë¡×B·ìCÂ}Ì3©ƒÌÀ’“‘*Èâøå,*‹,„å†Èàp8 1 i08GD}qíyØzSGË&é'Å ñ'j“¬0Nˆ¼DcD˜‡ ³Wÿ ÍÎk*qZ è@ÿiæÍ­Èz‰Ðš‘úåòe ¦s”ŒMù’I„çÙkYµYûqÿ8vöé²ÿ§OUvM¶uOâ>ºHufšY?ÞwMéãÇu:a?>ÿM_tag÷¡‹õçòmã:šxTƒŸÌ«G‰ ÌùZ¬ ¨,c¯œM’±€®Òÿ¨9¦šŠ?ÌNód #C×kçì4zÃçÑvkÂßÓX¾ýY úª²ÎÛÞGìVI@wµQ¨zrÜUä>{ +À©Úf,\{—v ,è +,P-_Š^“ÑõrÛlÖ䢟¦k©ÔÉz=ÐדnjîÚ,þ°Âôóá fN¥¹M£´çž;%¯éôNåjéøùÁÌ ±Ê–8¬ö‹I4‹„mXuæß};á(«QÙþì /Z ;Œ9×ØÌÈËu†âƒ<Ú@©Lhz+Hÿô‚†6oZjO¹Ù\õO„yýÎ!Âb„ oôË*ÐMªàÙ«Ñ­b¬ÃÕ;÷ ¤kAõCºxúñá5¯+ó¿hIL«Y†1}JÊê ¡·B)¨4¬À4tNo÷;¶UÞQ)Eâö +”ªèû¤˜mUÿ; X+Yh¥>ˆ±³[u£Û5&…ÇÀRä—÷¥£‰©8Î2ÍÏ"n/¯šÀêËEÂ'úÔ ºÌ fnTÈ—Ðbg4ËE‡•khлò†k3'ò…’Ðyl0ñ˜ÄOÒª¯ÆËk4­ý¨)/*µÄ{}œ)b¢:£À¬Ûhk'­€¦CÚEĽmÔ¦Ö×»,ÕùÐÖ¹PWÒq¼®È +%ìå¦G<,íP™·,Í '4/džkaõßñp¿}(’«­„Gù5ŒÕù‰¤²PÚ³M•ãʈeƒœ&^\à ´%6Ÿ=Ïã߶IR ÚÇôäÅ•…v{õº`ÿÙÂ]ÂÚ–Æ•û^SôZ·èï¬$¦²:ßälÃLµM #âÆ0Éëæ:‡„†Èþb $“³€$c¹Pš¨h´Q“µI ‰5>v#‡’ .L‰³dé`²Þß…ñÏ4fzbúZ;ªêó=ÒW¦_˜í×8ý¢ïB\×á+1C¼xõq/Õ«ÓŽÞsÇÀŽZO ºÑ¶™ôÜFYyÞ?üKh#"Á-}4Å:x°cÝ¿iŽ…PvŽ[°ä{(­—oZÄ ü†+–ŽÝýÀ +ê4ÜŸ¢Y'È&L‹=|î»ÐÑÙ-¼hÀull•ÖCß›ŽÖFwO«y~T¹@/°Í+N¶esSM4jÞùíÒ%X˜ÄÓÊMÙ˼_»¢eŸ=¯¿i +endstream endobj 379 0 obj<> endobj 380 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 381 0 obj<>stream +ýÁ“Ç9¢‹È¿]a¤{Ž Ñ¿ßj +íËq—êûnÖXp0 4qô”À†Ü°Úƒä *OReJŠTçÒ•gÌVVšâùŒ‰¦:J/zq`¤‡,'Ã4¦.yôÎýÅ#‡hVÆêhÌ\±òTèòâ²" Á¹¬:¾Î}×OµVGKX0 /GÓuYS  $çÁ1|üüÚ^Ð<‡`:R÷éü t(üØ€V=¾Cw«CìB>¦¢@ìnõPº5+ˆžå;ý`„üE Yw%ü &åEÖúÂÖŠ0¡¼~?3€¨Ñ N¾žÀ¶•~÷¶ ‰†­(aô&ÀõqËͤ³;.°­L“TGœi Ý;ÈA˜‹F‘‡òË]¥Ï×ãbyš‹C«eïnHìñSËÕ7ÆÈ*ZÒø„ãaDŸðãFA•7ÓT#ѹ±&2.¡BzP»kÉ‘g½¤ý~Ôš Ô"ñ‚xÄ9)®Øj+g¤ñ„ÌË»‹_AÖò{¹ ¼¶o/"‚‡š· ,ƒþÏÁñä÷QÜ¢J!Ýl‰3ð<è#í­lG,s³ž—v8ï‹ë«±3Y‚gZñØ~õɤûÉô¿3P²©Q²gÙžá9X øðm{DˆL9¬ô[Ȭ›&Úºf×Ðâ,¾ah²¢"QF Ê=åì²Ø¨éïZÒÖ7b²ÌÂľ¸Ë˜ªTk–iàëÃ]¼/’ZÀ ¯ÒsèzO:Þ‡2-¿OÈ®Àa×|> åBn·T7ËH¸€íѧ³*ë^/ázŽòbÓ7'È:|ì +÷“èh?é¾\ÉõSÝ?èÓn°ø™gÁPNÁýWEÕb$V™û‚6õ=[XøÃRˆÜ¶ÈÊͽu95Hµ%ru_…¼!ûÆ-qmŸp«Ôx+?~,žÓ\æ/Âóʧ»ñE5dtexôé(ƒ³Á=–àU)ÏRä/ôOp—€ŽL¶ñ×¢yDM°:`]$B؈iá¸fNÄDçAM!ÇïÔ¨Ú€š‡ÆÄ$¯0à1}ädùÍÙÔÑ…|>JùNñub6n×RNn,»†Zƒ¥¯‹MÉâßUoc¸¢Ã-Ì-LPä鞊¦:#>¿8F+ÎÂoÑÀš¯¯³  /²°B­%Osnãˆ@â +°<ðóÍŽõÈECÂYexS·êžKkK +)¢`e`ѺÖెóßá„ØPízäDç æÒ.V)I¢žèùQÛ¹#çì Ü0½MÎÛ«¾3Ü]7åUc‹õå ®H…S¡Õ,Ð27ù"þÛá³á¼Ù±Ü²L9¹}°î'+L;HÕa"-öaA¿+¿þ%Õi]8BÓ¼$HóŽ5¾çqSÌÌÔ¨+ÏSw®æ:'Ô¹• ÜoðèæJ4|Øaêì¯ù\ËeП„/˜!â]8ñb“D‚;Ü×5Þ9c„KDøÞ,ŒvÛ‹ß2°ø+ ÁÊ¥2¬<•À<‚^7îó Ÿ–¨ÀVY¬¸RúõãRA÷jwÐgŠ¹îùÿ<Іnê>}uÄù®œKø,ð0£Ò² Äê®Ýh´óý¹%aUGög`”ŸrR‹õúÔé…8:·¼j›Ô`Èš­‹í +É2t¶Ô²›­;€5ÛÓ¡œ´e7z¿t^h¯œ5ƶÌè$b´g9ŠâÒ%lyÎÌ•,=欇6å 1Ê»•žQ›²-¯÷ +&h|¦Ùu$®ÕÀ–¿M˜ŸS’ð‰ÚI³ÄQé›2šgt°Òùöшëa3†Í%õö ƒì)Ú;çëZP »y «öD®Ž(O*aMH]¬¢£•"»èC«ª@Õ“}Ä_ófÓ.®Hìâu+Ò<«Š…´cå˜oorxaóÎÔŠx˯ÿý$j:]Ár›åñ×µQ ïìùéWDÒ«§ÓˆæÒU+j½ª¼Ã{ùæ}èIj0ÌðýäÛM³m4Ú¡uwì¥V M­h®¨ < µ¡_»²(k•8ÎÅË&‘´ÍÜÚÞØNÓnÜ9oÆÄ/)Ç#=RÙœn1‡XS9¥Èž^óžýËopßQma·zÉ`Slz:CE$?=Iö¡É¾¿ -~uÅxØøP|tÂCS‚ðܶæ4: îÇC,”é~D»v&Òû@Qó8«xÀç@SÝuÐlìÌ2×õ¼Œ¶2–èGÝî”|—ó0t’Rœ·Pqø£ûN‘ 4ìKè03 E8'»¦ +]ìã:F¡cá›#†7"¡J0-†Êì΋á;«˜*öõU{{#431m +*Úc¶˜sÑÇi¨BDÕ“‹Û»@°¡8¸b„‹d÷Ðpî W>´œƒaÇÕ8ñQº}oF³_ˆ¦9–:Àî¾¾VHÂ%/„ ÿËûd‰O²®î´öVR>¶‹,‡­6ÅιÃ;ÊR9îs…Øé’Ž”’XoêmÈN¯£6ñÊ÷b]#SÊ=C…! ´C]HúQjñÓÏF«tÚ*°TÁJÕ=©ì0u¬ÔŽÜòÞ³5m&õSx²eXîH⣠ö|záI¼cow._ÐáË(4ýXòA2‡NŽ(&°»:µóYæ ·ÒD¦ƒaŸré¶MÈo£zðçh1Óçn W§7™R¶ÒÜâ¬qœ_¨(ƒ-FZDK*h^÷‰{RJt + CÈI¿SôQMåõc-©…j¼wû²èŒÒÙkˆY¾U)žÔìœ Žˆš†-|êxiV²¹Ò‡ÀKwfÿ 5 ªÝE fûØ ß“cAGùƒ{xÍsœ-7!j—žtk”´¸©Êl‘vrîÔç=TcÀà”f"Ñ1{±í’_˜R‰Ô¶µã‡V“˜æHvwºwÛJ‚‹« ]RÀÙ»‘÷GV¶%ÇÌ/Åò^XdÅCBÎ"œ%V2F$Ò@ˆ-½o$ECˆoñcÏ ­màá]­DQápX`…uwKTáÙâ¹ëdLSÓ,ÚÕ.§®Øn“K&‰·H2wŠÛ²ÌC’¬,•óbj?€yïä˜KŠvõ±!â'¨•Ýýï¸ÆÆ,U^¢e”Ÿb(_kCïî'¹I³î× =¥4˃JÏdÉæhÜrœØâžë.¶Ê +endstream endobj 382 0 obj<> endobj 383 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 384 0 obj<>stream +Ïù¿ú¤VéÖÑÎVù¬!™ÝXb’Ö;ŒžDÂÍ5Ý»Þ>(ð>Ð-Hï–Â7 ]˜=uò¯S4Š|»§ú¦F£­%#RÓþÕ¾ºãÃ>g71cFT.Êåd?¸Œ$hÕ`vl…õÌ0i½½¥dâ>¸ßÕ­¬skÓÇ×Vüš›-6³òyåfkpˆ>ó¾åíø¸`1ÄæÒ¾3åK6ƒÄЩdL´Ë_.+Žx¹…–Y|:Z¹®ù“!ß;ÙIþVgpƒz‹rMöyi4ïi]豸^o6é _ÎÈuê_Ñ·›G&Nƒ¤‘yÐé»Þn Erxýxï~¤œåº \2ü_ƒ–¥`xn—dêÏo$73we»Æ}¶ßQè%÷£[%]dDÙœÔ[·@3-ØÁÁeëgÙA$ Fó9’K&¶¡‰Å0=½þN±ÁaÃÍtLý.žð$%…>”(r‘áZ¢DÊ•Tî•Ü€rcŽS««h?c`9F`S˜¬åîG‹@†Þµ+LØóŒPëù…áOç$H#N­ +ðá#ŸAdx„ê«8[X ðnŒÚîzÎtº +9d™ xgB0¶ lüÈø¥Ö~€¼7*¨ÕP¬Z–k¸—xkQ¬F6M6‹¯—Å"\*Û[ÔýTH.IèBâúY[þŒEÒ˜ÖQ™xã3¸ø“ñc ¿ÆˆôìsK]¯¼ .ý›6[L’ÃÜ<{”hN8qé#ÌW_ú§T—‹)&J«ë¦[*€¦«Ú‚ˆ5Ä»¨¼ð¦3ÃÜ•‰Ö> +é‘,–id£<˜R§|/ +=ŸƒBÖŠãT6.QáÍ¥8[úO]±îo\»Åº"¶ya_¦¼7˜./Óéºyib¦—-OvÆ~Dói‡«Ìvö}uÏ…žfXp*4©žíÈ¢ƒ¡[°øôÄ{G/7£A‚Öü Y}ÀïîIˆ—t÷ªŠoh/X‚W˳ÂãYR‹È-ì#ËÛ"2ã1C< ¡û8`<§èÿ|¯¾‰ØÞ*Šé `Šwq|²AOsGNµ»2D†­~ÌSDFÃ/½^Rƒ†gg|+Œ{• 3îSo–UwÚu¤ÈNô?ÛCDOá@*\K¸$ÐhÀ%‹ÿ²ï.F ÇbënRÐó'“wv=a É9 O;¿4ó«7láÿ"Žöö h‚Õ®Ø[ç Ö;ÏS¹$j˜ ´Òû–/vJuWJŸy€sœ7ðÁ^äþ½Þ­=pQž¹ÇÔi5á…ECÙlé+îÖ‹h76–‹ ‘?ÍFml NðoJU’ß¼2]½:¿½gúпüú'¬ü†Ûð L–§·ºDšœiäN¶Ã™>eÁL72A[¯£„Ÿ,öÿÈ<ïÒõB ªEO¬h#€[`–E©Ml_' Í¢Ú|ñNÁÄî'$¾ »W<.cŽí€(y¦ro¡ðÙß¿4×1ÔÃ*oè¹ÔÉx :cC¡[]¢Ù¤»mV—q¿‰pµYƒ¼îƳq•¨påßl /™oë±(3€•Xf[‰HŠÌ£>tX:[ñеÓv¹û¯pÔñB “b÷¬ÄÿçyAlÈ.èGó+%•C[ö¿Ò˜˜Í"äò$3-æ2E‰CSØ|vJãd)[÷-;)ajXTæ•b¯e$² )ÙÕÈ©IgåÝÏÿ¸Sã3²_ý_[o¶ .ÑyÍÆ#PÜxq·¸Àʳú°¦y©Ö !LB°`'*…Í=Ê= ¦ÿÃ}gŸC¢zÃ\’,ìQ_oím}'Š6*†íزÿ¸y]‰ `€£íŒƒZì"A7Rx ó˜¨Úɇ4 óÌÀ¿1] +_§åÉ`çœB²ýäýWÕŽ·{·‹–ÀÈö.cB]šo|©Á·|D gWp¦~@÷Äʉb+?›£ú*Î5b@¸“ª8:–3)P”RYâp‡à½}‡uú„Ë"™œNÜQReT^ŒzEm<–/C°B7à¿kÊ~Œˆ–ß““ÍQ¨ôê”j.¿1çÆ1^rD ™ã}jz'­ççýP… ø0A´»)n†}`8¹ƒV>òèÐ/ПW!L¦%/wý?Îâ ýÉÐÂÔÍU6®¬ûÒZ4Î…ŸÎ°±^"iÇ7|ƒ¤±4õ½Øåkf—+­ÀÛþlÇ…¸§”º> Y-Þ-öt’;½K‹{Z¼¥•Ë®±ä>ˆ¸">±ˆ_ÁÐýX•;ùæŽÞظíºs ¤Ø«óE¹P÷çŸìÛ4Ef0ÔÙ”…7ÊZêóÏÌ‘ÃŽVΧ΂•YxÒ„‰hàÐ(oJ+)Dß1º[N;Œš{}1ðiS•—nÝñûöx\0Õ}J‰Ø—» ”n¬@óü?M9s A—ÓÈöƒï7eÝ’5z7š-Œ¨‹?EÍ׺tëDwˆdÜ0 T¢Ë²),oÔ,üÚqß”ýSKâÜ™?6ÿéL QÄYw,=´R*p?vBzÎÜçÞƒ”ÀC—­ÊÔ°;QLq…Ñü˜$?0XÜßYÊGæ|F錹ÞCLL(Ìèqͽ‹”OŸZ,äª^b„Њ fñŒŠÿsi–gíxâÀìèV"ãv§ñbbsˆˆtÕŠKªöî“שNæ+è^~ïæ¢ûŒM7Ç@r¡‡¦{ @i_ÙHXE-Jcô_RkÉñü‰ÏKŽó%µз"2ù®ù«M©f%ž×›kóZ}µÓ|½¢³K€× FÌm¹ù©ÿËm4Þ•ÀOôM:ÇÑŠ-˜6Ús²íHÐaÇsN¶ãôõó]¯í‰|~v³z¸é†÷zìÙlÉ*[*åŸO(®¸…͹ÍͶ˜©¨Î6³Æô('}à~I{?Üþâ¨aåg+ýÈSj#ƒÜ ÍÚʯQêÃhÚ4ød¹’ØuY†ªàmfQM´ŒoLhd¨ém0”¤,ank[fGÅî2Jèë(V9{¦÷&â@|†sV ¬ÕȃßÏäaÏÑíNÛrÈÌT˜€Jñë»bI¦tœXmÞøtaòÖcÀ6¤õ9ãi“³"!:ÐbO»°^6ÝþéJf‘IÐ=VÊ$R~Ñ0g¥OV¹†ßŸŽF#È$KÐ÷ÿ0Õ°¦4bAÄh¯«Ÿ¸õ¸HÎ9÷ÆV0»d¥L‹6`'Òãß}šaë=•J…69B1)éèb]™>Ì‚A™'úç!»=Xl%¿ ÚFµ€Å]îÒ'³ÀßSˆ³E/ãqÉô®¾?õÉ#”v©ËTâ–&¬j5ÿ’í})}#ú¦’U0U½Ép´gÛ¦r(ûdá!\$ž]æ§R»B?­WõfŸ9?œ ü8qÕ“¢è@vzlZqÙÊÃBª¨ÚÏšà‘Ö]é‹ë8ˆPÏ:­µ÷W]øô +EFoëÍDûYqo^ ˜‘ÇÚ,Ol%‚ùÃÛE­¬æ3H•Dƒqšª ؃žœÎ‰Ò˜¥Ÿ ÏðÑó×µ„Ù¸$Ê(^טö;Î 0Nª]ÀŒÃy%×8Пs(¤–†¸¸®ö8ºß§æ¨uÜ\Ä×%xjC°%o¹‰îK;Ì O*=zígªžh +endstream endobj 385 0 obj<> endobj 386 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 387 0 obj<>stream +^³æ¨Ž£‹Y`G­M#L‡}ÖškÛç-#^,R HÊõy÷·$‰Ï™ xÂë ‰X§1ý«?ïñ.–½¶X!WÉÍÖó?Ö?#&Q“ÁNâNU™íT¼s.±zƘ]LûÆÌyïÜcè×,×~#Ôæ·1K›y»¤ ²”rk•E7ßæ|Ô·þï’Z±l«”l¹?pß(/‹¦¤ û¦Dý’*%cZ0Ê!Ò\;½ˆVÎ!¦v<…\£ügÄš„xF² ¾=!@þ õrŸäFøYŠâ÷‹âDÌu°þZ •N¤&_ý3ç!å[€?V-¥çH&~u´¥$Äš£àçS6Øgqñ¦…2 +> µC$ùpÓ¥GðFK¹ÄdP‚h¢¬ÛþVLÌÆýÜøLN‰Û“û}ЬÇõm¬‹íi}À ´mižýÌ?„ Æó°`²…Þ‘§ç}gøtv†PÎâÆQ½,@³@¶S®l(`“H)߯ªrœì»ûáÖNy,z‡º ¼?®ÕpCdt.~wP¢d‘³cñ4o›e —"UþXv™,º.Áõg-E‡r!b¦Ém>[RGYªZgkßïç¹r¸‚£ã ݇o <*n™…\=$kûäŸ1ê͇b»^Šä>ÇF±Èœa£CÂÈ‘~‹]£Û¬\HŸ!"+ˆZaÁùéoh’Â%ì²ôÈr–Éy´U•kò|?xùÐQNôéê*-„z•¸ûïYu6ÍUÀÇÒ¤z5#›¨;$ú– tÓ<)£T.ôaaÆÜ\ }¾äJv€Ÿï›¤J ºÝ¨e:´ãàþnLÄ0Hndh E7X§ÒãÈVï,̸idã$Wd¨B“ÝŠñZ‹tô¼ÖÓ cñãPû WGGmu-êí󼽩C‘”~Ù$ªSJK:;¥¼Äbö||QÔ +ÝVŽ„kÈzÊZÓ±ˆ8¢Äúê)p¨‰ÓåÌíJR7ëRí¾óêöÏn—¿eˆ¬ÿ'3ÓÌ›l>À(Wõÿma¸Cx²åÍ­À¥¿‘Y*•@´ˆ…&Ëþît§d*;K«Ãš=èø„Í‹¸DMĦ£¿Lv+æÛ3Ÿ­Ášº:ÿâny›IM«øcP‰õ6[>¨Ux.௲es4Ap…©9ü*1ühÞ‹¯U¢SÔgªkMû£DE¨VM¦ §ì£?“ÓƒÞmuÁé×àýé[\ç3ÃzHW‘k@CÝß +ØäG$às#û)†( „mΧH4Çš5<À&ôò팠V˜_âÀ݈ËxG²Oèœ8’[ææn„ÌÊ ctg*‚ñüI> còÞZo0gÄ®ˆQBZƒýåØÒW掤¶§KÐ[•6¦þ¨[»ºÞ¶|˜dnÆÓTÙŽé :µFƒ5m#ƒõåè…_õRûx…b…5)¶Ûw?ñoZÑâ1“OI»À‰ +É›ÖH9á§xGxÔ’½µý±®¥èSŒc~>p×7]t/äJ  #éx!‰.Ù’É?ãFƒAL7SéIü«])Ž…?»ÉŒÉ"ÑæU{OüÞÞ#-Zhë‘ø4­øö7 üÉÀ×ôñJêðGӰ±B¦¾'_t=;©òßE/,C—IQŒ|âÁ4Ÿ=¥eKo«o WîË¡Ö-ëm[õ8sgàüû ŠPL)^Ÿ!,}êre2ˆzO2É×6Ñ)=¿ •mVeÚX4Ãöµ¢ð5•~ÇÂd>èÑ±‰·µV¨ˆsÞec–snæ¿üøòoÓÏ£“qx¿éNâEHã?f©#´žŸ,G2}5>3.R¸ÙÐb¾[t7\>DSƒD¿A cµ¯™Am=ÈLž.‡ã. •˜Ñ#Ð6kŸ© f0qc0dŸñÞ`|Œ'cìÂtV9’@É QÛ=ditjÞÓ›&ý†h=>Yeo+&ó%bîÐ׳š‰A§8„Lák7Ú‰±±ïÔ"F)Š½cûÖ¼Rè™ÏÿÄ Š ?†ÛMù-^â_À 3-=5–ívS×¼çê*G½¦•îm]‹·ãýÂ瘄#+eæè't)_‰º7ÞUñR\ßý2=¿€Lô÷¹Q³ÂŒuà€øÌ=î_8ÞzBÀ¶_Ú¤(+B ›ºï@üÔ›íþ1/Æ6ŽÝߤÖWƒÿ~ ·vIÅIÓr¬^“¥C @fØAG“™ã°u³bôÏc›¿Žn<ɇè¡0§€ ÁÂP2áEuâ§Tá*é±2Ó|)Kfp³êÓÇù³»i µtËžáuâJ¹2ج¾¾h~åž7æ?jxûsGlé·«!{]0{ÙBdžßF`MÉ«ßaÐÙû>¹±aaÌú'FI +¦6*ÑqðB™Ò·J)‡¶Æ– ÔÒ\eukû)†1âttà B{ºñHÂT‹hÇÃÏÅ ïÐ)\ØOQÒ~af„¡Lï$)͉|,*zCš#¹J£„]W½,bd6±•áœ²ºå’ú +:6òˆ5¸Á¶?%Αæ#jž'™"ö÷¹<¦0ˆ?”›úþ2sáL÷:ñ]C á‡=-–JrÂ7Öpåù(’µ€´‡Ð»î$þ‰³¿…) )Lìâ!'ÐʘD>²õ×XrÏ€: ÀnW²L/&_ÞË À&6¬ËÒ¶Ô1ùM3# ¯É!²Ñ ³’ëÎò¯%Â_MàœP©‘œÂÂcÆ¥ÇE"ßìõÔé?r9}e,/Áã2qÍÌév#š ¦ì€•YROÙ3¡)²{t@P-$ +xT×$Wdµ{ÌQ¢í« ð\[~IÄ6ᨺYË¢ÐŒÛ n-žRf½] »åž„Y€ŠlrŸ¯´,¿ã…:ŠÍË_+Ÿþó‡iNvhü#—nÖ†Ûj×/ܯý—7¢JWª€Q¹äBv±Å£›¶W>ô…?ùÖ<ÍùT®ªõBDÌéÃu/Ã3{äfÁ¡>ý?jƒf,;¿øò".J¿Þ2I{ûzÁà™ø;óŠíãÑ®þ'½ +|vCµPÐð…¹¿g3î])“çÿ©÷I<»§¡+÷'èÊAhžX$DpZßéö4%Ð)ÛaÍY0Z‡{ŒÉ´P ·fè_â·Kba”!TF‚þ‹+XžŸ6¯«YV6Uã1\•cÙјÈW@;0fNþó*ÑÃWQ´X††sÅÚ"‚·ðôðñ«;æ*O¦Ã,õA-ä›(f÷„ˆ.†™²Yôà;§–œ/›HÆîO0´/KÄÓH +Ý7Zþ´š>ùõ +õ[žô"º^¸#G–«û~±‡Q&& ¡T„‰—Æ»j¾ú²­«uUK‹/ÝUwèL Ì¿Š^ãöZf‚jT07cnƒrNx,ù ^üŸÚyU‘Êë‘âľýC^#OôtŽLŽÊLJ*ÁÖ/5z¤Ë¿,Ùä…ö¥£Ödâ=‘ììó^{]¶ VÑy†=8¥  j‡âc%²P"Ö…ŽóX¢ V70ÊŠ%V”ç¾Ô¹ÿ‚t]¿çC+—È@Ì—‚Bâ™ò¡XŠð³·Yw  / ‡<®yB¢„Ö™ÖvNã@¾ ši ƹäõ£ņé*vQCM +&hjÃÄzÍóeEÉH‚$žz²‘ùæZå[ìuY úri6`šÃ¤Å•#ŸÊDCÌnbc€æ8ûÒ–z57ºÅ×ÂÔÉë*ª‰Ÿ ôˆžw?T½^?t´h‚+vyVa±µˆ¿™{<î ½"¤Çx§ÔbQÈÐjmèLND£ëŸ'ØãšèóŸåA¿<Äù1¹RB£”Œ_>4SÒ?Ô—ÃkU1~ì—Ô!ÔË+jk^ÃÎj ͬ^©š¡‘» £õm;D­0×HVÐT ìñ‰˜|óü—M"9×p¿•ò4¿5³úÑrDA\›ÂIVŠâ¨r9°0Åš€½ôÙaiÈèfhñdsši%R©#©ëVÀöFZ‰¾îmc>áïýú×å!ê˜ ¬"*s2êãï¢u@eÍ'’¤¡ Ýá[v. ìÇÙ궨±®¦ýümäÈ[ñ?µjº l,Méñ§g¨;ƒªn…Šz®â€€™>;‡¦|®±yôil€XšòÊñEðà”®a…#ï>`]¥'¡ôΡñ YpÎÛÞu¨æÃŽìÆ-ÅÌ|‘ópÒTZNâ®­È& ^œ¡8³š!Å4$r¥ƒÖ:æÀ]A‹^1’'•J¥®åà„П¶F&€ƒ ´d:¿EZÜScâãú_~äìÂJä§Áµ‰mR`±DîÛN$ŇNí‚\E Ù‰×{8cL}Êe4»=¼IfA {ú{QÏ3¥³Ü³(Åy*(©1¹zòVÖ^Y‡ ¥ô¡IÉ؉Ý%s¶]')5dž%CAÇÁÜ^b "¢î”ÀâdíhyØ1 +x”n$Ø TU0÷°¯F´ßúÔ^˜ bX„©‹k}è•™s'ÛîkÐsÁþ¦º³Ø4O{TÉðâ\Qä©{R¯ï—’ÔTÛ<¿U Ížª°rºõ¹Çýuà$’DQ0ÍRÃU(GŸ>xW†)h?EÚ‚å"¯SZÍiÄ“!©Ã€u}!‘~"üÁ|©`t%@|¿¿eM'©ÝÕ¤¾Îþ‡[.»™²e†W0oâ?¸¥46#™¤ Œ½HÄŽvsa4»D®n¡Úý`9Abtk-‚€x†½:%çcnÎ,OÌ£ Æ_mt@K àwЪE“’ªÚV„öÐy3çàíÉíæ§ï“¿«ÖÀ¥”c3ue‹^Ѳ#ûìþÐ_š°Z_} 5åÕ¨a¨d¥üŠµ{UBpo Ú(Ìઽ"Tãàü‰=LÓÀiÈhœ¾n„|óø•?qVžxkw ú©sí$ÿíféÒX§À^Ì +‚IH30´su{b#˜õ—á)k¤?ý§ŒƒðÅî”´»ä~ÇBÖw„ë°F˜«&ɪþ«¶Ñá©ueb74ËâÝØú€×M±/"cÞ[.± ×‘9:žûêc§KD7: ˶õYnZ“žMÔÌ _ë5fMnîsôM8í¤ÊB†zÆm³_rM+@6Üþò*T4np,>ÝQšb¬–üZ t²”žØãp2ÌõéYð¸Pœ ¿@õ“pFv: ¶é‘D:Ör&ú"ú¤"AçôMƒz|h·ûiãð¦AÎܬ…ï;€úÏË!'iIÛŠú¼toBôK\guÆEYÿóœH¨šÔ¸¼–Ÿƒ8,äDf74ׯ§Sön¹|(ðe*s®z0ˆ0ø7“ÕBûð?@T²¿úÖBå2ôAÏz?n¹bÅAa¡1SŠ"Ä/–Æu¥¯Š@ÙØãg~Ø":û¹''†öHëí¹BŠ9ÓeÏl›ÙÜo•gnps’Üz…]™ÎeÏ&Ž_iÀ.F"µ†ùÏ~\Ñ°cåÒKjm®üðg㇇ZŸŒICU˜íúÕrK¬À¡CìyŽ÷V5FVÇzaY2“„bj²ìs¶‚é~Â[fÔп¯Žnìt5ݵCÙöФ¡r*O Áv‚a†¶t´RG¹+šÎxP—Z-Ò¿JÞ¨Íîe|‘̈<5S ²A õ’òœÑcž­• èéþ‡‚køØú@ïß/üÉ縷=.Ñ[.òàdÁw¾O^irc9)& 8i¥çÉ\¬WAßs‡fëï|Å.¶ýñ·@¿ö†P¡0Žý¤nçG\nÖ8¬•`Ìɦ­›L˜úcTß­ˆ…>ÒáÍpG7m…I|¹mB‡ì¿€ÔbÊ5|j?7º•8Œ Ž÷/¯T?5³UÔÇ‚Ì©6OÅiÀuÖÊe?rÖà?µ=Ú)7øZø§tÅLXÎ-9ÔÖ"žõn£ÎzÒb¶¤Éýƒ5 Etsy³ SF\áãÊšÍÒ^¸‹ùõÈ+åîÉqµE8Hõ A:6¬ÙWm¯ƒþ˜y»dwÙÓSð+qWTY¨Bü¿Ç§=-é¡o<ÑÝÝUD–žñ9 œÃ¢9hEÀ §r6"ÈpÞV<Žþ¬9Àt#GÝ6  ³…^'/Й]uhí +Ù.R†ÝVÖÑ“n…æÅ݃ùGëe¸íµæÛÿŸ«,ýÊ\è$6èC1‚ Äw€LÊG˜QÀ)KD‚=•­ÖKûªð´°ô¯-¯’¿Æ¹â¢9ÍÐ_òÓ(™eI««sÓ¿GÔÁ«ùkæוlö?- ù´ñ&÷糸_¶®pG}³Ô÷B}¼ItÉÛÖÔuÏiñ&×µù|¨Óŵ&³Äw)ü];Î<µÈS3 ИèJýT”’ƒØr“~~ß•@QŽ.«Ûþ— CoØ`òMÆPSyÅr/,Í»$ƒ?’aðÄ+Óh‚ãÊ žzÒ‡i ÛBë«cg&ÃXŒP¼ŸÈHȧªýcËå!!qÅ¿ 3+,q m%™/‡Î(tÎÇóÅ›`󞃙HS´Þç×›œ?—÷îl¸úåGQÐÜ{Ȇµ½ q`YgÙP}Èø®Á»IÚò2GúØ1ýi–'UÜ"?A6B¹Oÿ+“©7²U,ÇšŸ<€ ƒˆ×Ô@ H5/¥6òó`Ë-®êçc¼Dn³ŽÃ$Oå2÷¹•ÔŒmé]ÅFéƒÈ Ø?§ªyŠÑÃHúj ÏpºOjñôk¹ºÚÐgg­K-Ö0[¬.P½}ûܳÙ~ÒÆrœ¨2€» ÅŠy0XC~_ ¡$O±0]Ñ€8ËYý]tΊƒ³kFHßôÖÌrn›K€T%ð¤G|Fwq2(ãÔô†7}pB­GñlËi ûc{üõÞW&¼¡¥:¸mu"ñÇhÚ•ZKÇ&ú6æÑîG'pa>Zä +UBZR XRÊQR`GAãÐ5œ'ôx6¹8àbq·÷›¦‘üÈd{¡sNR¯Y˜É“ Qa€‘Ó¸ò‰:x¨¡_Qù÷Šsd5Ï—¿¡v3q-~¿%ÝúO}Á(…i¡\&^]% ÷Ç r“Gsá,ŠŒìò„g<‘#pNôWaR…J}RTX†ûŒeÌÛD·{òºŒÐ§]à3v§ˆa|mÇ‚áù¶ "QHccÓrï»{rl´†øÖŒ.…ÔýÑPC“ʳc99ßty~•ÛÖ‚Fi>'Îÿàp6R´ˆ6Ùºa…ÞÄ +7j¬RºÕ·~ d;_ ù/¥Oq¶4:¥ØºkÿHe.Úw„4gömãg׎!m#¾ˆ ^ ¨ü;{k[ôÝW>Åâ ]ê +endstream endobj 388 0 obj<> endobj 389 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 390 0 obj<>stream +g7¯ãH­4ŠÊ/ê ú,§ +ě泀¢ƒõ¥Á õN‚ÿÀí86‹T½üÎj‘PeÍRoî÷ëÙIZ‡¬EGÞe#ë"ºìÇT¤»ìÀ²ŠñQÊ|CwÅP>Ì™ +rk‡¶òCºrçË Þæøˆ¿ï¦W–Xñð¯2—VÃØc£ÑJ}ÁÆù•Јõùl»³íÂY8m©QxÆ +Ö¢‚QY‰Ðxv@œf‘ß©÷&’OrtChLcûoK +úŒ¼Ãð™ç]p.xVtŽ@­j¿#ȃb +ÖvžäsŠ *+½åþUû'Þ•«…‰ù ˜1¤ƒßҌҭo <© ’%ñ~k'L›Æöÿ¾¤èÍ~QÇ-åÀ?AÑEºp~sqCÁb¶ü_j]AÛˆð&å5|»wMËU)lQ«š¸ªié+;û¿—š^ÿvþÜØhÁAo(ïav ¹’·CtÆŒÅkíé•u›RÂ" -*Ùn´8*‹ýñŽKM&ª—K Cê«QD&üÙ¬(çÈž´iuͱAÆ‚b81z6½diQˇ¯$V¥XæoϤvûVµØ:éP@.óh¢2¤u綷Ü(ð‚ìjÒ–òÏò3üÌA+¡é"ZÈ£zk!>a¯BÓ³§¶k†¨FÏ0PVþÿªÑ“:¸Jìz«k)ÜY¯î/9Áº–"W郔8•›²£åœÛ–]£ —Ò4*m ög@ô7GÌKüÖ y˜i²ê¢ä‚ tS’ƒwý3ö¥¡Qt g“yDÍuD"KïCúö“°º/z‘¼–G‡@ã nyë‹é‘E„î§Æ£0±>¤ïi5eä5ôgj‚ä`ßü–¼|»ƒÂ:(o[Š…âKª×ªg"Q°†W¶\n– QÅ|PQ ß(R)Vì=ÐTÈ@1fÚ[ãX>‡}ˆÔ¡aÞèuÁÐ…¸·œTSQRð™|Š%A…%Îv¿>™Ü+¼ª¯ý‰ä N±¡a€SÝA\ËÄ°Ÿè‘­\ +¯ðŸGêÎb}êKŠô…FaHtÂÿT°€ÍìïÕk$w\Ò׫8^ÄE@Ú1–IvuuA¿Æàþ€ $÷Aì*ÊÉqzêˆS:Ää˜#¦ïá +†;è¼­¶Sl»w¸97®-‰ÔjÐutS¹ü::¶ ñ Î¥I†ë“þ8AjM‹&Qû]íÌÎÖ HS˜áÈ}ÄӦݡ¸Bœ±NßhÄMGX]À}؆§Ã†mZE54 43`½ÄtKkUßùæÐ6rªh +¤v˜ß¯œö°F×y´I¹ê qËÒ_å¥F¶ßÎ;Óç.ë)(GÑÊ=H&¡ { íhp ¸nŒ§Ám2KèÛiSis¢E§bRбž`Kˆ­í +¬)ð•¼$“:×ôbïÃÞWSâW—•âtž6`Jî¿=‡†2ÄàHߊH!}ˆ£“N'±{Ej<š’g÷lÃSl‘Ì›^~/h´G;ÈþdŸ…HŒç’šCV(- Ÿ{K%ûšeÚDɃäì•oî¢tE+Ãëk<./Dƒ¨)ÔЦ¢‡—ùþf7Ó +õ¾ÛA<=?&P +§Q±pBÌÝO&ÙßîõŒ4ãŸW‰Ç¯Ém¸G¬Æyiý«ÒÅÚ’y‹1ŒÆ[Æg¢hÁ÷W—KÂK&ð÷al©äû…´R)C bÏ»…qJ]n…ÈÏ÷˜c@&ÒÀ‡ËBr@áU ” -Âhî€K–m:H„E'p¥àî<4ž[6Y³¾Ü`­M”mϪjzœÀ“Ôö#€2mc]Hl‚¡CðRë“9}ðqø›W‡x.8AÆ~`ÉS¯mú§Ï£€|EÄ ”|!53?0ÉâœàÔ ­éº>Õs!t€*tT-ЂÔ­bOª$Aùm¼åÎ)3ÓV„p"Zæ¯õdšë2ÒshÍ•kÅ]b0¸ì+œõŸS¤ªŽY AF°Nß* +zã•ÈY\<Ô?—v¦À–rh0ÃÚ„ÎLð6©d}÷ã¾)¸piz¿IsÞ*Ý…ð‡“,õ9: +T±„ÁJ«ç§æwøó²?}VEâDr+jæ“O¬qç­í÷—Q²*Q\OØ%ë¬É´Ÿ÷:í†]ß C.KNÚ<)_@„³Pt‹NRR+Ái +ÄÐÂ̪{ÀÉPÂ%ø€pìí(óé™cÇ»¡iÿ•Dzjî­ëÑ\¼\’ˆb'ÆÄëj“½!ß–joOŒÕ&zÌDý²¯‡Õ#5>ß%û+ѱÁ¾äHê¾ "œ•Ç/ ù1æ¤ö'3¶/'ÑX<³áµ Ë%:ʪ²¢ráœkJ¸×]Þ„„‘áúõò MJÎΦzÖøQÞ×°kÆ£|p«Š¡ÁŸùyWÊå Î3 q)GÍ:-T·FVßøæG%§Ž‰,U‘ªçöc£|ªªñÜ4Ú,òÚµìËv$bÿýébÑ©ÉÉ­Üv@êoÝôòÈ!7EÕ  ‘~òÛZŒ³å{*·Oälø¢ˆ ­ºV(Á÷È”bõÿ2¬(Ke’R¸,Ñq}§êÌ!9Û{õ=«LØæƒ'ìîÛPÜuLIJ,€Ê€Ñ+ú\CZjv žT]GóëdUÞÿ`ÐÝЉsÚ¼z°;È<øe#Èûx=ù´ßôÁ.ÀkÏô+‹\ùC›G€â¶ +÷Þ‹¨T¶ ÓaÔËSz±;u!žk´Ì¿—èYHò!£½ÞîZÔ›SéþPM1Æå @Ò ;a*bÔœ/ß#Ñ«Âašù¿"„Í `¸ušhOJèQåNÇ’ˆÄÈŽ«ÿ¸·ËìI’žWrzSPW±¢Ñhë ä>f»YÉïP±â¶#BÜ¢• ᛞ¾Lþ +'õIt×ùmúžÜ‰ä&¢áêñ½ŒwÐsb1öÕÿóLêX%nT——½ýÐIÐpw˜ qû¢£dûiÌ­9`%D•—¹áIÙTtøç«úÓ{øª81®u5ØdP](0S{ø…^‚ð@Q먽ñùÄû$®tÃT(òåK«Ö™æè}é( Ày 9õ3€Õg×± |‹P€lÊTäÃôjWXŽ¨P^Óu/ðÆY5’€±ùå%ÚYßðòÝ·Ý×ÿ]:<‰I€q͆ܬ&ìRá. ×øWÙ¨'•a;Ž]­”!AÙìŸdkÙ9 ¶I4Ë"SËÏ5|N! Ô‡i‚ßQ·;IŒ4bSp8ÓlX\ã9¼¤õ–RB }PYÚ@ì~¶~S¸S¦ ++`/ë0¿-¨!µdæâµ°ÃÐIf¡B¯&ˆOñÄW·ë>ª$ÌŠÇ‹Ì]ûû*ôd¶n2|@°aMSs4EýÃpWLFI_Qa0¯éYåŒx(>\òدˆä¸+¬¤î—/„…Î효á—m ‘V¿ÆÓñ+­qÛT»BéÚÈtzíôbsWóÅôèa Ô;Ï`-ïÈïÈk³Ùw_td’“=¢³È”UÏ¿Îμ=É53w&ç¯*Ø&zu¹¿1g ŽúŒQEüje¢38‡Ôí $Ú°‘ É@Ové#Mw'µ¬ï¬•_{¡ÇF¯,ѳ¥)ˆ ñtµØA1棉M›Ÿ‡ª¬cê”ÐÄ"îyÕ>²îmP€oýiq4¿ƒ»kE>$bü¼&¸çÀØ +ÈrÈW¢3/žþ6,0Å$Kk ìÌ@3_xojßOÎx~km ö<[$Ó»›PçþÐö€ôÛ’]ݾœ©ÕÑö@z§µ‚«2Íh÷ñ”úð5Žq^gtF–<Æ +nW¬(ɘWWØbŠ2h¡)ËB +‚geQaûæ;›.I6kòÜ™%S¼žÔãlùÁŒÇçºüqgRþoÕ|UCËùµ¸x¾hn9K/@ú{Þ.zŽ¤šØœéïV¡9•œ¾Äê·AŠ‹*ÛLû­ÞòÔŸN_ÛÖ6§+¬?ðW­òtGÇŸÂÄZùº –z§Év"„ZCîUÞNB––.ò¨¡ÚóÁËM N÷Ó,€pœ 1}Ðe&æ©ñš3v»2 ù¼áè..µßÜ´O­ßêl@ú§c±¹à +±î}Šçc¬9¡æ²J3ÒV/Ó-ÑÂþÈië +@aé#ôìÏwì9ˆuõ³W}üÏ©Ë÷]T~ž=aˆ„‡ã¿¿!äÐOùÀ ·cMµP á·÷¸è¡CUAyóA{?ðwÔ‰IørDœv¦tì¢+|Nv·˜«'`MdßÙŸ¢øí!É®'äDf +³Ó4¾AEI™¢¦ž©×>Ä.>55¦P6%p\u@‘ñ{Üã`5rŠ¤–µm7äÕh(¶~«´Ü•—W0w1Ïþp cÇ 3ôÇ}LÏ8ñ-šâ„ñE¾Ÿ'„°E‡é¦» õim<ÒHšHù‡3¶¹¾®¤ï•R0y­Sž\µd¯{,6dô-²#`&ô;Œ“¯eR¿ò@Ó…îúÇAå{@íZ\že[×8-X–F„¡Âû¸ÇÔ‚þÁâÙ)•é-C·OG²ÀDfÌä½ +LÖõ¡êÿìtKª”B%nž±(¹FBkë3V+ªŠn)áÝǼ C'¾)c5•ÞšD,¯1™Ä–6´ÍØÓ¿ï)Ù9CðÌ~¸pTe~dÒ*ÜF“¡ƒMkþCõŒþ5ZâfÌ’ßL½•°ãƒpó,¾ùT× Bò5#ŒäÓ-zäKìË,áû%?GþíãM46,*)sMKSk®¡Sv3o øÇ0§3§6t_š¥«s³@ÜZЦÌnÞÖqç–g¬i0•—j4f‘WÆxd$¨•/SÖüœå^¸™ü,Ư ~ ÒÒÞ ©ûÉWbFÛ­@€0e¿÷g¡cÉ0vKÆg+x!Ñ E¤IÔ=bZFIQ‚¶Ö£I0mÎa'ÑY³šo÷Yýô]Ã[… |¹ÚäÉ°žo@mÒëy²ènü +endstream endobj 391 0 obj<> endobj 392 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 393 0 obj<>stream +“súðšEÃéIƒžÍ4ËI0ùú9h`QºRN¦_£Ül=ŸÐÂãìÑ<0[šË^M¸TŸ®ÊRíØ‚_AçY0SŠ~ÿ©xs»~9U?Ë÷ª»Æh]ɆÁ#š ¿¾Ïoœi®žE™÷ ão6ƒW7­ÌÉ°ËóìŒîðxɸé%1øá]à¯_×òðò(ÜNš’€L¦úÊùê@¼Ü2~õµhϯ€“_i1@?4%ܘ= ݈3§‹àItž_0S_é Pî¤K‘^¬V[dv¿Óà /Ö,×€ûËE$ +Œ/ù‚Ls=#äœÇ j?±t\ÓUýÂ1U¸£$É0±oh”ÌE [Lè 5ÞG8ƒU$NQ©”& éÈ3dªÇŽÛ7ôs™üQ*6²x´‡Ú; žáÁFÿÉÙgL§³Y›&4Iˆ02†—+Gû±6âz•‡këôóxÛx½zº³<µqh¯·C(8]‹Ü#Îл¬ ë|7¸fˆ]ìŸ_8òäJôXº……\;‚›ˆ½€0 +õëáOaPaX­~þ˜¬ïR¦q5{ñÁ"‰RO¹‡À Æ_PgË2OHªÊfCÜô|†Žº˜0“0ÇU|ΈßN‚£•¦Q¯\‚spo0]dc½³ÛMß¾‰ßgM6¢«yÜòq’–fY¤×zÙ.)ìï½…¥_:ÖTq¨²ðû[»G.ëç]tbWHLg¹;Û™#/ Ùê/Ç%óÐçÁë88åCüJäýÇ·ÙÙ™Y§ûNµŸ-ý¼£HÜKGŠÕÔƒæ^µëœÅöIl…*èfE¼…[ƒ7Frv ?,Ï…5ë1¹ SÓ|-åµ+ëpºç¸ºnÊ}Hª’ØËmø&ÈŠ»]. Û¤‰ªépÍt¸ EÌ¿SsºÔ=‹»Óåà·»Ç×#Aº6yªŠ6±¯ŒæáØ–y‰±ÅV“9ÍÊú«ˆ¹-N6w0·¤Àkôiº14–øcî@ó%1w`~æ:ÛdÓíb ¡Šu…+ íBî»ûÀ™=sTR›û Â:ü¦+TZxÆxlÇ-N=R4•Åõ@TUÄ®à'©GÕŒš« -ö%>WY¡ãϙɥu‹ ‘¼—0»_#˜·–©ð}Âõ\¤ h(}ÈÃô 6ŒòäŒ<&\'K¸`fS2Š Å®~FEÃó‚àT)P[âqÀM+À8N5¬Œoâ@FEÎé†Iê÷õç–#’KOÅÌáM·Ûഅ騌LjôÂ\óP$ÎxܲLµ Ç»¢L†¢Ç·ÙP¹ñ;³!V(^7ž¬#‹#%];¯Á¬mTä`HJ1RP…#ÒË’5öAϨq“Û*„¼ËÅh ævI´ÍÂϹŸ"KŽ#dmb6•Å&xׂ‘("Lqš{O'[Œ;Ó`ª†¸aªÃ9fàKÝÁŽõî¥ìî³ðkÑï²QŽ?@qÝAÈJá…éJ*ÙhIJojˆmŸ9[Swj8ü3Ë$m ³…'Zß™îß wç?Q¤˜ÊS ŸÛ%žYâP© rôÜê§Í‚ï¾$`‘«yf¬Kõj¨;šÿïa}£ÆÀߣ¹¾k§pŽZ|îí¸ò3Œ, Íj…V7Ï}yØ9ÞwgŸnÝ£Stcô´…ÉÔÕ­<ɳÑÊ|ý½ÍíÉÏ­ÃGä.z¼Êà;Á3¹‘¶S²æÏ‚–¡˜Vˆ¨ÿ÷oò^ ¬Ë%0·Äû«èT‹ã;ÙHÓ»»Ó»É»‚c´-Ä Uÿ˜RC\»\·¦AÇé‡}Þž½û‡Ÿêj@à–òç£"uÁ±úȇ°úçÔš½kŸ+å +]ÆÚÝƳ¦‡nɪê"´Ä¼¦c¡ô0NH,˜ +»Ë¥¼ýÓi zb–óÆ„}^=ØaªwAiX'"*›ÅìÏŒ{Ò)ùÌ3×åvómcO•4À‘‹Õ” ÃÂ6ìüaÿš1]‡¶a”ðWŠ( +ÿÁç~È™ÿ¦Ëïä<¾Ë@ +·DCZ6ݾ=­‰µ9—ÄîÀÀÈ5þ;©û#!Ûßd#°Ýß0Fè¯ysI¡ÁyfŠPšÝ4—ëŸö  :JÇû£a.Š–'ìúû¿êˆæ¡sŽ&eÆ7î 8h—â£vU×äæEǧ7ã-xé^3ÂÜÑ¢„•ø¿â5Ñl†¶õ™›` B Zl¥²›ÁîoN,Ú~ÙÚáQˆB?æü3Î.w½O¿§Ik¶ëAw¹õ¾>âô'eo|•cÑIªÙºaã¾Ê^·]ÛàÇÕ‹VîȱÊåÕ`â­,Bí‹Tæ;?¢Ð݉Yzº%‘ µYOw,qûpZJ×Ñ¥hÊÕPô}Eõ´»®b ,¬¼¿íä—|ãÍvFØø•(ÿL&…w/7˸‘Ûÿ1ã¿¢iXˬK¼”"•b jòƒ;ôCšUŽÜ’H£!LqÓ-)i²Ûkð—ÔÛLh^Ÿh°U;{%ñþËY§—›KÖ]+ñ lÂô;úxv ø/—ÞᘳX?žã[§U9KÒ;:@ßg…WÐZ’6C¦mi„ËvÐZMù9v~@=1Û¢æíº-¡è­`¬šL£D&açäôOzùÖv!»gSÇÉèžž9±, ”$åPr÷jA°qz5\‹N2N‡¹u£õx•û,ïPWÅ j <@³bQ÷;¿äO‘y¼§wj¹ œ­æ 1+÷ƒ» +>8Û¯2+¾+yTÕËo8ù/BTô&Î/ÑÕMßpîpPÕ/KÅy© Ç—Úâ>e/À’höR2‰ —5 Ž`†üäÓQÅð _-3Á[ÔÀtqíÄOîm¾GÌÆf‹Y¾z9zH:g÷È6)ÞjÌ–ª½ oã½\3ï +AÐ|©$Ìö©Q“8DvTšéÛ…#h“¡RHûjð ˜mØRMúº€•¬Á+´²¨îiOŽz9soòFM¿Ó )ΩҌhòM•»]ÅV>iÖï¤oîl¾¹ÄŠºƒ64ÞGuûOq¤‘ÓÊVî s\Ï"¤«·æ%ê#edÉZ+ÇMÐp;¸ÛÒÆ?ðPÔçÅD!ÐóÜ3á1ñ‚W¼#ïBCcpЙ­†Ìºà°ûRä$Š(ýÖU´œ»0j3–!6‘Šg_Ç/Wø#•&Š”Z bEÅÕïÌìäÙFöïý  ©aH°‚OðQèi=ßœâQþ@÷˪4ÛË 8uA÷w¦¬ñR˜ÈarYf´ôª–“@@¨šŒV¹|wuœ–üò>Žoxb!Ž7å±³ô^%‡i‘Š×ÖööJÞõ |hͤ)³ŠR£Éû_ +8þL€½¡w”bHï^Ìù b••XúSºo*¹Œ¶…yöθ!ŒÚB§çŠ‚…—Efý¨]…ÐÍ,Rÿ[Ç,Dt²áôM~õA¼³Ñ +3iŠíàOÏÉ÷ÏAƒŒÓ÷=k¡…nY]&PÎÎÜȦ^û2ßèjC¸_?ùOˆi©€µ¬Ó×sý œMc~¥ÛB´'5 OS`Õ;›Ù +endstream endobj 394 0 obj<> endobj 395 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 396 0 obj<>stream +:Ø€údÂñë—J O&ŽÀ(òn^Å·;t,ów펔à⊀8Øæ‘£›¡UYì¼=B¦ôÃɳÄ7ã”ùJ>Õ*2mÜƲk±u§§\ðÆÒß ºb›é•“è‘«8ù–» ÇÇT;=”Ï:¡‡©|Ø ‚JÛzÊ›â+߬ +žDýãWÌ\uŠ»PJN«ÿ"Üÿ“ò\®ˆ@Þã=Âz,}s"åËñY=Tñ¿09]`3L© ­†ýsž:„B-0Øã”ãëfÝçÈ í,‹ÏM¨¼: ‘þü€òEèwoŒ,D­Pò…š¿uÄ~øAmÀ色 8i?mTB/@?(:sHª!4éÁD€£&CL ¸¼‰ lŸ³¼µ=YŒê.ªóÝyýŽø–("È'¼¨~LÌ?õ…tîÁ-nF·Sü¡ñ8;4:±Ç˜¡\?ÞÕÏU™…|‚†nêkÜo +åŸ-èV m.¼ ê+_¹¢Ä} ,²hüjÁ”Î@¸ŸõãªT¼è»z {™>Ü„*¬•}mGÅòqx 8 ñ­¤çÔ{2ñOⳤTpÝa\P`(øÌ!w~œ +ûÏåè§$%Ó^”4°­ÿ¸¡§ÅßgN°¿—ÞÕ¡îo<÷`mì ƒ¾!£qDZö=zäÒá0ñ:Ì#fd‹”ì—®»íQÍ›~Äû i þ-†ý Í;uêl›&ÜÚ5jAûr`›–à5Õ”-©#­ã½MOX檵E-s;Ì®£È¹~±¬Ž?ÿª•Xc¸:ã(† êÄuY§îd&X˜Ðú¹mÁÆwëixº!1ìÿõ¿«ÂH‚9À8ÝÊEáÅ‘Ýu24|J XÈÉ+„tÖd·˜±<_ò-3ÚÌ Eúw©µ0Ä¡9I{9ÓqiðÈ_îˆUç-j…ëï ª”E±oR3Ø×bÑE Dåàiæ6‚hƒñu7æ¬4÷›¯±Ü›Z©äŸN0ÕÕ®ùHV=F¬×ç™ï±ËÞÈ@ó`ü®ð¸PÄƉ±ðÙŸ&J™°ËšŠE1a¸qóŽ`+^Ê~¶ Ú·ŸAÃd1EW5ø¡t¤üÌpù‘§s-×t¤U!n®èzèã(ŠO®ˆýj ¹r’K÷7ÛšÆbâöÍ\wŒÈrŠuÔ{HìYh­Š‰Ù§_èÒÿyužÄÿUÝö#Àß»)®Á??áø‰Õ´ô_çw¡ rÍÊKæ¯óK‚ ão¹M Éèk”BpO1æµ +ßyOým¹\kØY–îžI9ïÕøÕ.…ã™]¬õ‡m¿Ýû€mƒŽ3k½/ï‚ èÇŒYÊRBd!Kt&$‚° ëÛ¢æÉ ´Q€žÔ‰†Ê¼§xØʨ»Hì¨âä ÜtøÅZ iÇÁsˆÉ}zx]ãÙ^¶çxph‘Ä)÷ç0ºàkƒ~ŽÅ#̵¼£B®œÎ©Vƒ˜ +³¾ú÷"”q·žw.50i5E’ä=ÍÇÇgœbÒK€;‰/˜P¡™S[%, +ìV NýD‚@ÆÂ'gÒÌAÀ… ê}ÿ”ÁË?øfõQÙñ""ÐÜǼgëÁÅiºÿÝ 7BªÆ¬ +X)fSþšz¥Õ”ÑòäɧžR¸#!äô쟎Ç!'œùOªä{ž#œpÆ?p_~„­ÑN‰©ßœ’=µú²Û/o ‘žV/1e­œÔ»ëÆ‹,úÁté¼îª’kjVŒkÕ¿l$Š¿oÌë™V»=ÍïÞµCÜRò“7”Njk÷ª†èWÔŽåAÆ`ÎrŠ¸(øKgjdf)QFí¨;8Ûæ +ì?ö +c(Ý’" + +Á+p-·)%lĘ½²<‘óèÒ^j¹Ô€”µ-Uši£õda&ÐƈFÁ!6ͼ›Î·œ•AËz£é8[•Ü¶å)Üç–èy·Ænxz )=¢n ÿéu^¯¬ÆS[ªkN÷€H3gºV|,MJ{W¤!„íX¹ãˆëóÍ›öÐNÀ Œ³ý˃/Ë¢Ž¼áè® 5N…涑•¿4„w‡þÖ@29bNéÆx¸. Òyˆ¥w@­(+k9©8t ¦]7ëF”qËâûgßH¢nô‹Ú÷MJ;¬>î}ª5ë¹O¬Þ~†ò)rú3AR9tíÐEˆÚd¾Ó>þçå¬6﬇ýKâF©ÍÇyÄÄŽúB-̹¸Oi ï{o7`ã¸É àÝc*2õY +Ó8ðx¼éQæÕccÒý=Ír‡Å5"„æùÞ'ýéßUS>iZàwÞ÷‰ÃJMØÀ´ä,†”~òx‹WrãuQný "7ÏAÕÀJ +|×÷“?ž.jЩۓWDÿÇ ´q5®¢®…Ùèïƒ!Úsá˜8Ê4¯­ˆÆ¯Þ&ŠJ•(Ä·_:‰Ý.[?mú¤ÏAòÔÈxU¡$$L¤ïÄØFK¤Ó› ›p4 w •‹ªéÍñæé½»=é­9K¹ñÁ(8B^Ó&ž©­|Ëá?݆ˎΠÏ%N÷„ö’NŽ!·y‡¿Ös˜Å´4Ï‹¼ +s–5¼Á¤2Oõ›7D-ÞéP°âj úÚEOuˆy¥ñu>l|M¨&’˜·Iý·Ê…Ôx“Ì*l5âe×êvœ¦ÄJV¨\Ô3ƒT)ŽÞ¤½S&.ù9 Šà ´½K¦‚2 Hü³•áÚ,õ9°È»vtü  ü¾ÌUÁ%å;‰—Âà¥ÔØ¢äÆ郣q~Ê ”ŠÃ¬ó¿z?Á×òµ(ÈÒ%Mî챂:«˜´Ê…™>6N‚$ âmÝQQ¥yß;8F"ê¨&×Ò3®]ŒJ„ró9ËxqßåU´®‡EñäåÁŽÑß àËf½—)ï=Ìßòf+òÜ™Ruc·ƒ=ó~{1)ÑTH3GkÊQà{ö9$i£ü’—‰ uA{yäÐw;ÿíW @<± ¢@œ³Œ âaHÛZ?81=|~\É™H»R•üÐú¬ªØ &_ïØTé8†Âã¢!©ýŸ³^°]¼Ã£2‘;Ø…ÔÉS”;¤>PÔ§ÿmÁØecô¿àÄr÷µVxhFŸó)4‹ðéìô¯Bo,löÏÆ.ðC»,MjAùÄ›Uâ#tÆ$ÑļH(%O<ùAyy_Eƒšûⱬ‰Ç{4µõŽ …ièp32Ócú†òÞï\O5Œ¦Ôóøuê$E‰(½d¡_C=¥7ÈìÛX¦ÉHS®@>{ø Ëè‡,?^W?q£?Xw8Š9ƒÇ$l|›.O¶)ƒ.XåÇÿÖ†Áôþ ùòëG§£³Â4Fñ¾E×[`×\w圎ãqTT÷¢ãçâGeöz%C•yz|"˜S|5yöC"Xæt›þwúÝg+Y 9î}Z(¾Q\LŠÇ""ºWÁÍù8ÄÛ}}BÃ\ð»àÚlüy pÆ´aÖ6e6ªÜVÔbqÖhŽž»ˆ=2lÎ_µt49ÊÁTVàìIÞn 9ñ†Ò³èÀ7¦·/„¯ä<9˜$òÅÅ° 5X΄oѸ#Q§‰ÖayUzöü5£ ËØ©¬Þé®Ç5Ñ9rl(yú†Ù7ˆ˜©ÃL@žÂR>š/3éî·µé{h´g%ÇFz]*~Y7æ +¡ÏAþ¬Õícÿ<€IùDðVj†«ÈVî²à'FQ8gˆ Ï•™3õý þ ç4Ž!بL,žïC.e?±k Ñ à²œ‡¢ß¢äJÿÜßn?TXÜq^¬@qX3.ç iÍ18‡J’ý¤h¥Ê ï#dšòn‡Åúßê@ÛA{á/²¿QŒ'øV觯ZHL_h³ÁIÇÝ01ò2W·½IÚ£É7¬h|‘kŠ¸ §ÇBø" ™ð$ý‰Õó^úªa1rºmÅÆøzhV¶æ›_|JH}qõ¿æ)|QµÅ¥ilfP38M}¡Ù‘´k°á²Rš1P={.7¤‚¬†[­Âð6©‘(ÓàÚ]ÞÚeÙP¸]ø&™æwíw5›Yw2 ¤qÝa%ºUô×à©IPŠ6”"ØN|--Ëïœ +¦åB5d8³ náÍøÚ\Þ²Æì¼´³h)RsçwP’A§êˆjˆÁ‚bb8¯ñ‘H{¹æ³»s®ÖT=lÑÒ6Sƒ×~¢ÈE2ÊMN +endstream endobj 397 0 obj<> endobj 398 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 399 0 obj<>stream +U ðƒòs;c¶$îŒE¿G…¢2Îíìú>;WM®‹Qú ¾Æ+DógPJ«mû17ѦX\0PÇ°Ì|A¯d<`ö3Í pµnÙýsòýxŽpf7áa[ìq(¸ëµ9!‘ º .ÚwÝe…ŸÊ£aü¥ÏÆz‹Zqõ…³0KQÚå[–÷™®ÈÑâ“ ìI}M‹CŠEš3™©,BÏ̘Nª°Ï€ëÓ¯öQÂù¸a€ðv ŠÞz…_Ÿ¥º¬n6‡âÞŸ“]Õ¸C„¿C¡ š: + Þ´á‡Ñ¿!dCÎÐN‰Üæ•U1rˆŠ&6UÙDxå“bÒÕ&÷ZUÎü‹ºõd¯û:ÐIcÔ3 ¦ lÂÍÎMÙ%쀼 ¸ÿåˆ’Í + yx.×ÓKàÈføgÅõ÷…g ä¾V¶lµª+­6žÕÉ–ò*ú˳äû9#·±VÇüŠb|ò;ÚŠ•,nÍKÎtí^ýZZES¡ñÌŒÝR¶<Ø/:¬pöÛ1®Yu¥Ê|)½2§âßLå&^{ˆ€W/¶p½ ˜ —÷Ä”¨°Ø79`jDúËŽƒ2¯wÐ6È.…z&4Ð22–¡³²VgÔ3‚‘ÕœVžJã'Ì HAD+÷èË¡1ü¯ÅV ˜\"G9N~r'±ÏØî5ÞPÄÑz²¸×IA“‰ô›WOîB i +ÉÕôÉö–RX´<*Ôb +ñÜâN¤[¶UÍ2§Ú€Ïú=Œ|;5•êê£øÅsÕ½¥q +áQµR(ç8^Ê +‚–`°™v©­U±÷ŠÑꜗPû¦=ôùŠ!Ý¡º°qóɺUÁž‘x9±˜7j"ȹ[í›+Gªo­š#/¶ó¸Œ9¢s:;û¢Íb±*·×p"©%ÙùµÑÄlk*;çÑz[ó_ElzíúE‘l6rf©a]^q/î<—;h\O—©4Ù8¶j¥¹Œ¾€V¯`47‘þ_FvÃwvp`k+&IØÍp²»¿¿‘þ8ÇÄê÷©2çò Yõ j½wD}ZÍiÁ6óv"f¨£4R…ý lCJq-MŸ˜!±AÆ¡&NT0æGEÙP¤b‹×ò|ë^¢-Q-WöÐ'ÂuWÓ‡/ðƒ’eeÖ™º.YÈç@_Ÿÿypjã_ۼȰýÒ UÌy>¬SÊE‡ìJ13{®²ãçFÙž¹•¶•Ksò݈ÚÆ!Cöì­pÙ`splz"/£íœüÌ9ð£r)`µ¸¾ê1bÕ}YŠˆWâÌ:r^¬žrñ#'[ã<}án ·Æ–âÙ%)5 Õ׋ÞáÏDœUfó˜,çIJŸ=Ú‘X?Y9"(ý&Eƒ:€.T<#w% §PFg±IÿN°`¶ˆklí| _ÙL,ØÅ©÷•Âø?¾–íŽ@®ÍÎ;V 1EÖ….Èêã57Gf9RÖ8¶m•½5jùV×ÑÜEÖàC›ÍHÄ]/¯ta95l×JŽðù\.A¹Ë¡ì}Ñ PøÐò +µ­ +„ë¥K‚@}SØRâhi>½Hyˆ™„M¾2\éÇÝi>»P².,î6X!¸CAvÉGàXuÿ)"¿·—«e›ÒkúÚM-öi ±÷Š£ÍI‘Üõ0Ž§7ìŠGÓYÀ"‹þð[z# + +CÿX×dyW¥B,Þ<_‘¹OOg6$p²ï[ûºÂü8hO ÁM´V + —¬WNè¯É–o.Íi &b8_ÒÉ Œú[0Æ\¡XøXѸÓhç“€‘**[Òuך7,Û;¦tã”*" žœwrÐ[WîúIu"÷«p¯ŸïÚâ!Œ@ô–'Z;VÇäH"ìOu%FÿlôÈñ]Š¯½÷,¸J*è퀧ݷs—›þ~¹GçÒŒÙ}nï3ŽXï‘q#ª‡AÛÁ&ˆ©7$%󗜒Ê_èyAQ²)1x’ƒ9L~p|,h1úʃA|„êçCBõ¹CtF„³„ÎÇñžkê‘ä4ÜòíæK‹óø·MÔ#o{M«08Z0Ñ0ŠªÄöòÔêð#*¦j>:· „ ©:…V¥I•HÕƒ°õ2'sÈqó?”ì ³¶³c¸ú!K¶„¨LQÙ‰Ñɉ¿ü*‚ü[Q|C¬®™KÑôèñ߶dà´ÁïÊe?Òœá»3‚hŠ¢Ê|'…ØlrÕ  £µ°Á.jZµ çáI~Ð7ilú,À“ „¦ê±µmeÿ‡enólEOÆò&ba͸}žR‰&‰Bà‚­pí€ó§‡^òèØRY>j:þHŸ Y£þŸƒúmYØ=WîãÝp‰aýi?_ÏâøS“*¹r.(4O÷¦y9Žv7[î¾k$C·|k°D‘ñB¥U]*L(¹Ö]š±-Ó9?|~[7¬Uø€©úÒW]7×휻e-mÖmî +endstream endobj 400 0 obj<> endobj 401 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 402 0 obj<>stream +⥜vÚ$®£ZÀBp÷ÎÂAmÞ«ž²øK„¥9ü1*eGZÁâ´ +PSB Zñ²7²Â:$4ûX1¹FåWùbÙ˨¸ —Ü)½ š¥ͨ·T¸ÄÞÂ*M[‰ž÷* ç¡PÅD[P‘SˆI)OLí[ôC{(ûói¢î+±~›é±483ŒÜ¹7Óy‰.Êè©EÃ1˜ß@Úθˆó*Kð&øE¯*Fä*ú£h@÷Þ2ºªÛ½è;:î3éMö ·^‡ïU¶­Ò¸cüžudêã5牙RàVH”¡à]F²x Ña%-ØMß‚|l÷zÉ8ŠRYâº:J07ЫX¶!™ªÿì.)[XÿÕ°Þ°LqÅþçg(µ±–—Eþãò™ypJÌ tåCŒÑ î=eüä ²ülú W´ÆWÁƒ¤0lM]:ÕˆýÏ*é¿¥‰R·¡®©ù¶Â3™mu›}‚^#hœCˆöÛáÒŸºqocSéŠ=+ê ÕnÐìè#’¾ƒ…4Íd(èC¥®š>jl<Ñ¢ÑËòÑ|_â‘B®¤íÌèºæ:´¹Ÿ2V¿ñ°5\ÌÓlO³¤šz4-À—Ü‹¸<šÎíb)ÏR[ô#«‘³PwYʼnpmèNÛvR=êwvǦsœÔ>)Ÿ|”;-jül^ íò_ùaTü/Û+î·nëˆ q˜nQD/|/Y ꋽ`‡I>±ÙþðR¸ÉÖŽ¿G4ýJzÏâQïÑbu&õ]O 9×Í5â L·¶Éµ¬qà )ZíÆ%@›yØÐ%Z¢³ÑÒ~ £vgN¶±<|û|Éë!ÿ?Yygéä±éŠ”j¼[pæ¿Ó«o¨Þcý³/!\”hüGO[À\®Ç7¼ÎIö3…C€‡Ä¢ÔD+éôª=¶N„¤O +YBµYîÇ耹¿kç¶Ó˜ß쀢µ0·HoKvoíáÜù@Í¥%yuóYÞnI}düt&0™8Š²¨9  œæ£Wå­G¶ÎøgŒb[_³­«ýüà”ÏöÈÕÓw,Ò©Ïýbá ©­fÈEЊ¹£æÇf/ÊÖ×ë˜pÀn€è':’Ì!»®ŸÇF- zÏ’Ú‘Ÿr3Žü~l@s ‹»‚ÿ˜Irý˜˜?!ü /p‹¾3-ÀˆM’{¤Ž5ä(–eþWP±¸†%H¤rˆEßå•(— ›¹Wœ¤ýŽBü€5ÅǧÌã + + Å´ªP$3Ø_x¯ÏIR kÿQI? õpo¦šÐUyaA@"×ØMZÀïZZ•vZ¿W1ÎqZ'ž·êÐÑиO3ž¨ë†[ŽÞ\ëÚbJ—²ÜÌê¯>ùÞ­¢ì»\l¸åyó.bÞÖ:aÂÂT:]XA—¢‘ì +­<g48‹]—–“³™ LÏ{jǪu#ðá»Ô¸0ûZ˜wŠFƒýäM{nf0‘š™o= +¡[þ_ú ¯X¤*ÅéœÖ´€ztdø°­æf½7úyÏm³Ng }¿\eÝë=)0POëgoømȲ¯¼ž#ÚIûÌüòcYË´˜ð‰Z‡‰ú°÷~ÐýÐc}--Q-´Ï'½j¦§ºj¡ü"/ÜÂ*’S´Ð¡{ª%Ë.䟩:œœe©?AepÿUý²~½‡¦Õ§ñ-§¡þèr‰•«;pÏ"6çRë]:°¬»µp†KfæÕ௴‡8,n%ðçÕjç\=¨ +îR%ÜEpéoÚûÓëüNKinHäASdoÈ%ßísGzTÞYM¬”Îé›e»e,!2r¯„…3í-§f +@¢JKŸ*ÉÏEÖ ¢™ÈIˆÛÆCŸ¡¿ûµÀÍær;[—Íÿ§­lÕ¢¯saÛ·3ÿc”íëœÝœø¢À`-!Ü2BG24‘çEŒ»ÿ@4ÚЮ)=Ý3•ÏïL¸Ëb°ÇVç&:îöVµ‹â$dT–ŽS¨yã1øS(n…Îìñ«`…)V¥ná8:\Mö%’û ½žiÔÈÝÒج îœÂ1Ãþšæt/CMèXíôªhQƒ¼©//{ßÈv"Ø-q¬ „ûI†?¯: +gVZy¸q²¯3Åàµ>š¦¤ÞÛ€71—íb#¨¢Î]MvSŠßÔDZ×±ê^´*ù›?6|È“)‚q”˜œ¤€¾ª#BP=Q:cû~3 A%}•‰ÐŽ Æ—ö x•8hçHôé¡ET¡hx·9Mœ–cÀD‘Ëþ(,2c3?ø*d(ÎA²u×ÙÖž|¢HHQ÷Hîk®¾ç˜ÀàH¡ÇkÏŠ<°ÀÃêÚš°qËa<‰'·ÇÔ¦ñÇqææiHIº Ôé¶%%Õg˜C~¹ýÿß47+l¤Ð×Â,·ÃªÆRÛ šœû›¤Y4üÏÚB½¿Ÿ±¸n_¹+aêkÅÏï†ù—-t—åÈ—ó/ü½ oVÉÍа,E¥Q2d„…Ñv$;}µ%ó£(@DÈ xÔ]¨¤eÎ%>ͽ2ÌçúZ9áÚ{A1R†V%" I%¯‡ÁC[Ÿ:4$7È—7Mê_Ü ¿¸Ë¤" Š‹úʃ¿‰ ¡h]Eó¯ŸáŠ;¾]ã Š’—,dGÓˆ¬7:-!´7L\æ­¥6Aýé7k|&$ÍB|z‚ø2ßäómî3ó€ò~—-ç!Ø¡ÞÒÕŠ/'[kmyª:¸Ê ¸}Ïy ýdîƒg¤È\@¼ˆ¢ù ™á”~•Ø42öMc¼lKÌû¥Ž"ÿS5GNß/ZP™7RÅt‚ÚEêE¸ŒÇçÓSåÖ6RíSocçëól¿gCL .OŸ5·Ù½¤Š|9Œ:ïqÜÿF`TꃛaËK"¥¤T> +ÿdsñE)Àí…2åpußà T³CqRôm”Z΢¶‡²kb¹ÕW(Ã¥ôUi¶9-¿)óÿŸWN¯2{±í0S½Ã;ã>}@d4Kßáð& +å»^gçÐŒ˜#Œ/©Bî=µ…ÃUýúö(K_œ«84t9V©¦œªÛ¹®Þ²¼¯Ž‘m˜Åwm‘Ò,FDêR5¹N,®uË‘7IÙÊV‚ù·kS×ÎðsÅÙv’Ú°û需Øq5v¹] b9* cSù•y@¨ÁÏ’,ËÓ¤þù÷ù±½æ™##TÕhæýk-i@:¼B €Í!(½Ï†Âœ;½eSRá€oʔú¿u ï3vfqöˤ´â}›ñeð'Ìä¨ /)ÕŽ‹mÄj¶ªâ«üU!vÆ =NÁ<ؤ÷®9¬*Y’­…zô#Ö~I¤«†òsýÀ‹°UK |ÇY8é°êöPNݳéÑ&7¬Ïù;”ñ/LZ³®ä©Õ9l%Ð;Ý)4Ññj‰Å¹2 ºnŽÞgÊ)|f—•[{ðWûÔß/¦jO¢ˆùIXÕ[úµOãÏ© õê:Ì Äí Òø"‹”5pp<Ú= `hÐàQPÝËFÒê“9ûþÒ“À" #ˆã¨“…/îN}8 º³°NŸÊ©ÐsîÉÁÝ´ag…®˜ªZ~h½–Í +7@NB‡î!‹Qܱ¸·dÿp47:Ù«/;wlF/\°ÂX•ºmÀ^#{oôûÿ|«0§[Pn¬Ò9$ZLJ| ä‰qÛ¤nsFv¼˜/³5‰ÆT³Ìa]çK™ó² ,#d)O³ëâE= +d¼£Qµ$ß.ÿèX·ÞŽ!XZÎg92-ªžÀX`àüsÆ ãÝï%ék„¸NGN¸•Ñ>b6&L…–¬x[K?§ÈlëTPéFg–¬ä<™tšÝÈÙ¨ÃïàŸcDVSõ×µ-EÕ>$®¢Ï;Á6¿e/ÛYpôȃMÂô4ê öLVe>C÷õŒø×t3íc³}õ‹W4|°Ïg)FYZJЛ2ÿè8Ò°͆B°ò?àѶeÝÙÍáE–þšxÅã[Mbub+¤¼Á÷7Mã6ì5AÒ°)ŠÎÅž·å“á ùe]Q^ÔÀûÜ}?_Žx %o´$¬«– 'Šôˆ)ö¬QÚÑ^HÅ’×)¯]S¬)šüt›Ú`Ö¹ä #Yi?^Y8¼#h$¬ëýSµ¹=,r¹ç¹ç0Bƒ¸T¥ˆÖ¸¬t<õöúHOÃﯖû°æ×þÓî!Òâ±øZ^6ÉॠӰtIvÞ¢f>­BM×ï\l¹²H:¾u9`êßó$·H $‡ðƒž_>\0iðÂ\sÛM÷b¦«>ŸÕÆQê‚~5Á\¨A‡ FdÇ1kuÎCázJu™Îäaõ±8ï@²rI“²¢Ê'øõ5÷²6µ}ÂÞS¹sVÈÿ0õþ’]˜ä!2cøó<ð"uJ¥1…UÒu}; M$¶¼ýsKs`qso%jYL瘶°˜ݘµø eo·åE¶«cG›žK‘"ß)äÇ)‘EYN–C©YÕò}|Z¸é›ì ^= »°ï 7Ñ¿ü¶Â»V‰Ê"rÒ®rB·„oQÜî0¦iËþGŒ=üZy0¯è&’aCêuò0[ÅRVù´]´»š£± ãv@þJÒ¨•~¶ia°›þ܆šóòŽ„£&ëôË„…aSX¶ÝÍM»Su+ËÎ3l8òL7m²Á‹¯Ç¤mF­Œ9Èj+=‹¢ß|>Q[üà oÅÍLÏYž°ŠÒ'©fU4õ`Ï/$˜$"gpU´&éÁ ¾R•¡ôaª®7_”vÇŠHÿ?›§ó!¬$5­(pMFã+Þˆ(,ó† +Å/¿GǧK*k|çDÇ̹¨Ÿ®½·°Tí'¼cLÖkÄ=‹úÄÛÑ?‡Nžp +J&© R`ÉV8O2âôÔ*Çoi£_ŠÙŽ× +ÌE¸+¾‹±"bv%Ö^Ð +gw)Z Sºù€ˆþq'3ˆ7­íØÿø¨¸¶7ž$i1Æ|KYÓg§«ÕS»ËO¡Ê +ƒSçˆ*Z½êÚ gsGÀÅ¿º¼Äf"Óƒs‡õg«[vR¥ô®Ðy‰\É”š8îÄìÓ2?òVJu€¸ÀÞŒ¢Ž1€Ú«A$Ûdµ±D”ÓȽԶ`‚›÷ˆyhàP cåàØ  Á2¶»çv–@”Ê6É@ïâ¹N¸. U¢!Né's\aD?Za_Ö-ç°ÒÒVîC¦iÎð[N®êÈúNa‰µÂÛù0% Àƒgqˆé»:@<èêÈЭ-úÁj~{É\qt¨%ëÇÜ’ô¡{õÇë«1²³¯²1nÒÄÃJmwÙÆÝbK¸Ç6Rî?Â¥§Ný¸³­(Ó~¶&T°)3³‰Ôû²œ1Ý—^ªñE¬G'¸q]»·óÑ6«8üó‹ùµAR ýÆ^…-ÃnCh“8Erù~Ižs9ÿ0›E¶2Eç'ÁæPÉä¼óA¾ƒ«ËZÓÃot4]רN«Ó#;c™Ê…ÌbR»±,ÐGoQ "ÞE-ª§É÷%§– öàŸyÔ&(ʺFx®ÖNi‰údênéay›8ÎoèZÖ OVƒÈ×àJOõ¿üî4D +µ=cýT=ªEÞ \µ_¦çj>9­ªÊÜqS÷"3Ò;Z¤›‘gÈÊÁÅa+1Š")âÂtÑU +ÐÓâçÓLºxHš…½Õ™Ê%œim?¬¹8G¾ +ðɱŠè…Öª¢YœöVÑë()€ +Ôt¡ ¼k¦ C5å +5‚¥ã=d»ÀÛë£uo¤aˆdŒ*´ræ6ºL°»éÄeMÎÙº Pâ]°61—5+ŠïíA„àô¶B!Nôd^qÝy¶ÃàtmÏçåêEøïr}ú]½õ"˜üÆ82ô©~±•–ôIvxM);gE½ +‹(@}ÞÆ>Ô€œ›žS¤©Iª½—Ô!­“þåT.³W;Ú–JœKd;V]³sÏáæó:ˆFnùí2¦[ѯu9õ†ë +Š®iÇÈt¡Ë*x°2`¨ÌäJì´é¯BÓ½^Ì•€ZxtF¦vÆMé^Bvëd¿óS%´VõõúhÄw’OwQ +å5²†Ù z7{ùï©œ³“cçëÊi"ÿ ‘é]É)p~ƒŸ—Ò«e +’Nà)[˜`ÚgE|áFKØ‹¡Ì7ÙäïÐÓ Ó8Û0˜ª³”îÊz¿R›ÇßèJ©ÇÆžÈ/ßù.C”'­S*s,±æMغ!­vD²G½ŠÃnQûãß°L$Š½]OÇ)ûÍÌDutApuK‹lù‡êô¯ÄÙü¶$à®»À÷Hckmeh0-Í :zÚ}â›®5âÍÕˆŸäÞ_UhkO.‰äW»<"ê øê¾­4.÷¾yÖuåç—ì—XA½mFò2ó£ÀÝg•¹×fÔ£y¦š_2ijKËàX¨€Å¯‘Y¿£´i2¸þïWÊ€¡ÐílO±Ûñ?·g¬a'À¨Í|æ +=HK ß–ö‘VÔ‰š{å÷\ KÛý. PwÞ`²†êÙÚXz7ùáûci g•LÓKf¤@tÀ"àÀË>¾¼ó¶Âò±2Ö—›H~º¨þàt zß{+¸]A> endobj 404 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 405 0 obj<>stream + nþž‘1ôÄ™¸>ƒéø}páǵ[ÙŸ!Zðù»#~¶*Bu™˜O¿šI„Ûô»*s|ÿD4&=&VÁMeÿˆùäÇ? +b +0àoQßùÉzA (qK‹ãN™ŽÉL,¾²¬¾ò78z'àÁz6 äPÝñª€F…˜ j"øµM½PæZ~ê«zœæëT:6…o?„«iO«QÎhØâã÷ô®ÿ$¸þw’[$±sàgI +fL9"H¥½ -9íG›ÞqÑá™1Ïhqœ3Zl¬ï¥Sƒ&J–oAo×x$’J“U±õõ÷ Í?m·ôKU×O½t—´7j Ç 'ŠH)t3ÀÛ&ª ¯sÔ•ù^óp0ç1½ +wáW¾Ïʾð°¸¤Û *{o†FÑËw`L]ÕqÆí4&òÛM’í’lüM6๘š«q#Ã÷ÊMµcÑãÇ}|¶JõM\Öž%ÅÐJVÆ„\”X ¸ìÄËÑY*+¸ŠÂZ®TÛÓ¬áëµçÝ ¥#}ôµò`A!-ºš•íÇÔð]öŽ•îK̉ôÔ¨ãPÈt•‚X‰{ AÔ¨ªûû¸’‡¥äÉJ\8ö)/'Ï3;ÂaÀS¾Ï]“ç³’@^ZÞýzýÎð1Õ§É:a¸_0¦Óæ,êEF”fßmŠ…´úÞ'²Vñ]„Ìä120³QEØ ˜2oØÄb6#þ·ÁŸfù”÷Ïï'£•…å ¨=;m=òD¾w ç`ýÁIQ·Ùz›\¾^Wx${ºÇç—73N»Ò2íF蛦±ZºÇŠEÅzDõ+£rT/y˜vÁγæp”:öýŠ ¦ÖÌš‰=9ïdœ+1^¡ rA„ŽõCÐ&°|Ç›@…1Yƒû0;î aâOŠ%}.$rk|çtÖz2…-Ð[ëû/ó²ÒÕ±ñŽJ&‹‚îëV½ß…úWÞJ¬"¦>ÁtB},ß u¨ÑJ«c$ä«Ag˜BŽ%åê_‘Š4-)TZšÌb“=FNþ‰w ™zÚקFV˜ƒE—FÌŽ‹è`TõIN7pV„éL?GnsÙjO¹)ßé‰í¼×ì£Ä‚aæ„óÿRÀó ¨’åb£^,+5ÂE,j§6Kûrx<@ÃË…ñêo¸ +¾Ì¥a&Ù3på`— +MÎÄô g¯}Ú÷Ü\¦-}m’àO]võ "™ );îË7™/¨Á°i„Cº:)T÷ãùÎdMÛšªM4! +äYaùöœ±â–XÏl¸à ÉÉž™¦1iX¥`N$¿ÆµìÂ$™iuJ(2ˆc'>Ö(övÞü"AM»Ny.ª‘ÖoWîL_¼LÞ£,Ï ixÜp0Ä|eÈV[ÍDïD¡Íq±zq—vì…õuglWØJ³hüN¨ž×ê˜øÞþzéÂB÷½C¬TKìt4Ôs"l ² ì4ý`×ö©ÚÞ q“2?sa¢Øªsþê#¾ˆK:Bˆtwë±lÈŸlÖÛÂDqRN³1åLFŸîŠôÿ2íÙ˜ðqÚ{ *#xé|‡Ä›Ø©°ì:Ä·['»ÓÞYáµ`[Õõ$ hûHCOû–¾©„ô6’oɸÇÚñPˆ"jd_&À¥Šªëó3½ ¥tÆpùêB“µ¢¿JÚM%š¯6’‹?e ÔW'U%NFq+)¹À~B¢›AƆá¬ë¨L€!Gd‡ƒ^µµÀÅm‘Ô£‡àÿ|p3Ñ¡Ý\‡ÀiÙØþJφ°Ð9‘kÍ œ(›4œ¤o`¬—*5 ¡¦ê_\¢Á@Ö9ð‡]ø¬ÈÉpmdW{áþ†)ݾ^Ôœ©Þ24WßÌm¯›Wˆ+oŠ@Ш¦\: ž˜-¼“§Âdgð˜Y¤e לûX[Ò¢ çïªXiÎzê(±ÂéA ¨±h· +!mëôJ­ ^të"ÒyëfçO¸ ¾ÅÊlí­0«!!mw´=; +ÿ„Cæ&©/FÿàrĨ:0Ã3˜e¡gÎÕ©’¥ØÂPC> endobj 407 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 408 0 obj<>stream +9 OꤋO`c3åç?£S¸ÔT—eØ\IѤeÀ:ð„B‚jª©=ÕÁñ׊ÒB t–æ¥îÆÌT[o”ÑøÆÒ] Œ#n*Õà©ñá™Vðá½%‡¹À.ÞÖ0Mùû½ó= yâ/íc¬``ÀJûßÀš^uwD’ŠáÕÍFäFíÓݾÓ~æ?U¥/ØÃÕ-¦×No¾ü +‚ç¾_ C*.¡»<*ù¢¡^ªHµ­;Î5ë6'‡]µ€ƒ+Å2—G·J&¾¿JÀÓíû1 /O¦ñVÖˆ@ œ¨ôƒ±añþ +z•†€›fSTè“Ž¾G¼ýz°#‡Ÿ_är=[|ò8ï!U·«o–Ö #ýÖ Yˆ€¶ÉÉÊ+(~*° ž?Aʨ(]0Ýh„è fdòKãiæ² 4ÕÈ1&b0 +aÍo¶Û8Jö‰—<󓧧Ž´gÓ®”þ!µ=Ö2ÊãÆÁTk¼®wñXÓ©×ðŽÍ¡¬y–CL«*pƒ(>Vý “É·ÃW¼[ =ªY¾ëÓ¡<×ã.:Lòº•Rbô´rúŽ×‚#Ù‰‘k¬™W‘s+;ãvŒópd¸EÚ C·ü¢¢˜#ã,Ï_Š8Q†!ñ³¨Ú.™°>0’HÅ2›±7Y:4öVbsC‹†?¨LIíyâh-oÕy…Ll¦ —³‚à$ÐË8é-¬ô~ù±¯ä]ò1ýÿ+[~ðñòUçN¾ùëEb,CsüÎüꟵ´Rúí~0V¢`m‰d¾éÔP¤_<ƒ¨-Çê¡׺’g½ey®Ó ÍÍ èR(ˆÕ—M_š·%@#ƒh„MôÚÄÛ–\ÎlQP (išä.ÉÐ[±›××Ä î[÷é€× e¡~#èx•XpŒ]‰Ä‹=l‡\ÙJÈÖ6ó#sØ-Mˆ¬jJA5(¤Ü™< ]Y -³¤ÚÿFl‘—6là¿FN¯,r½fÜÈ™%Zþã@DÇ° ó•§øžbL ´÷oZ@]ÔCxH¸?éwúQfé0‘÷ý>{p±ò©Ž“+“„é¿=Ç´îE4øȈ&ùÏÁ/—y`ø!°L)¼¸ðÔèÊÁªß>Ÿ9F0›+âx7Uˆá4ï92,Ò*MAŸïÏÜ8^„AÖSþŽeÈ“q&|>n[«°Ojfòfð.…ÉuQøÆ×TqÐd‹È"I/íLŒ¸NµšKÏEá ¥ßdjJg”NCÓ%mî{G1tÄîñßî¦Ê0ÇFÃõAÞj‹0^‹»È&³ÒbÄqò523!òºNA¢7-^H¥j`[fÍϺh$14ãìLLª€Áÿ(f0‡óu4·k<|²,kR4ëþâè6·Røšx»\OgÔå¸?Q·4Y@1¿àM¶€ÚÙůy£ÌÞ`IùÅ ô?—H¤¢ÁCHìÓvzÙi¡ƒï®HMóRªè¬p¡ÓǦ+RkÄ4Kã*°aF1ÑËT tÐóÀÍØ[Ä™T +±ytŸ%*ÅUD…MqNΘ¦l èD7šqÛŠÙ]úæ›CÒÙU¤ÉaŸå-JÏå&ŠÊšÅ* em¾Ž-GÆaíóÀ_Ù2¯îÉÝ$7Aÿ ›å`ö^Gˆ§û}ꌛo/lÃû[©Íi[9õ…¶ø5‰€-/‰*ä>öSêýÀÿi?r +s¾aôºCMØ®#Mq|œDGþŸÏü6 WCö¥´†ªóË3×V³×H»+äÍ¡6!0x‘j{¡µǶ>è9>šµt.4Q«ôTk£gÁÂó0u[ž…jNlafEeEMåÔQf‡Oylw`b {ã Ó¿rMß»cõv—A€S ¸hÚ`äã±þ¤&õÿvë¨Ö“ ÃZÒ¯6w"»«Ä¨÷µºh…mOL•,»ì¸[ë³Å¤l£p˜Â«=M¬%½š:‰ZÂØß×x4} ABvöI‹òo£+ù å²ÇƒqÀVµžt!®UcŒ…rÄD:Ï‚m˹ Û H´À¤«÷i}yû*Æž ñ(o_Ë#Uºr1PÕ“-©î~‘8ì°+3Bb’ç vk´”Òé5‰™—}½Ÿ½gÖ_Q,iãëyë¥ØD=`LŠÜ¼Õ.UEë¡zJ—d÷…6Ÿ“VóøíÕn²è*“rƒ ðÔ`Í+¤ ¼|ÁwÀ/3<[¿Õ©´sÒR.ƒëg 'óEƒ„ÌåËøA&ÆäÖÍ\ß<ܧùýBÂÞ–C½Üo3a‚kM2õ”HPTF[æ:¢ÛÑ„ˆ=÷´—Ñß {ÄŒçÄ9ƒ¥E‰{›ÎÙÙ²IvÔŸ§÷Úæw:½= “Üÿ<±7,Ñᣠeæ·f—iæ5ám3’J~˜»@@eOt²”~ÑEâ’P¦º„nHY\ñ¤n=éâ©o¹jƒ“Q¸ÛÐ °øÒHpæÊOðYîé˜Fæ!¿ó'õìVˆ¿ãq¢ö†šÜ¶{(Ÿ5öEê#?ïWì KÊõz^x©‘ƒ ŸŸLý'øø¹;ÚqÈ[<7V”±ûä\IeDË¿ÆmË? dñÔJwXR5;È|Ìcãé¾%V!ˆ›ÅÆéëåæòÅ«Ò«‘í çvBR6ÖvQj"<$› £„2ƒ3Ö£ÿ­ä -‰Ö>ÝéÿW?“UNùÖÉ÷*É_)EñÄÝS¸{²‚ p8s5%ƒò×/,ȇÍ:b„å0·“±\¡¤c Åœm‹_ýOî1bòæVe.V6Ü NÕ÷B¨Õ^6ÖñCÕ®¦Wðr¾8zÃu-þ*ûshÐgšìáö;ÌTv]î©×ÿŠ‰^7Ï)ÿ¢Hƒž¯ŽQ–¯‡îxœ¬™UB¢É‰Âá$‰»¼K*Kf¶á¡ŒB-íßßOò˜ï¾Irà³&„(VJ³˜b×>Ôøú몳˜¼Ná =+K]vÒ,vÒ™R¼Ñ÷ArÉÕtåNòF–œáidé°*»öêåìðì>×lT¸Í’÷MDÚ,~úG!!$í Î2ÍDzSkÅ +Æ$ç·Ÿ;—2mVÂ^T¥ì×lí&÷åéÈOb„‚.ûD$æ+I},¤Ãã¿.ͤ•ú!ë¦íãyç¦c‹Ïá VFGùdÆësÅ©X LŠÊ):€7É8°·†ߧ¢–¡eawóô¢µ²ŽR )žÌ‰ž+/„PSØf„*${²V!ÂêEbáÈ–¾n[o7lúLª 0Æ"]f*Œ6„þ0Zn0€¶Ü+1®V±SK^žU€ê‚çÀÜ=‡õÏ×UÊž¶T{(?¶_¯G·Zç&`ƨOyï’ߪfÿÔ ‚Sáì{”=$‡u¹zðw­5jÏñJÀ„~~=­—ªi¼C÷~.›Ñ[¦L*u£y÷\%ÝtŽ*&-ºŸõl«ú§TZÒk¢G€æåúFmÐ÷"Ų†U¬ñ¯õü‡itYÜÇÏ]%¶ÈÚ:Ð ¬!L­ÿ•=®ò2T7{RAC«ÊM§¸oþM®EùZl²¬Æ0¥_”Ï4Cé$—êzÍ}¦EHµµŽ×†÷§ž*A×>3䪛Ëù¿æc‡³SgêRh¶2mÒÌs w +K&/Õ,/LóäÁ4l?Øi¯â]ƒ¼[–Zø@FŠÑN®Ö±QmÀ“”"=iŽ­îüÄ!‹ßØ”OïIp  ÅR_»Ÿ¥Ëß Æ¯•WV#þ µ¼A‚¯„¢J駊 |€„•Ô…Ñj€jÃbà±îÈg…³1÷ +?!Šo+ö¿ùd1jõe*ªŽ'¡)cÙ +kOÛá‹þ;˜ð´½¹ÞF¦q±„/lšk誃 ·Ív‘_JdñÝ.µ[±,ÖXìE.‚ט3Äu„ZñãÇC¶qT°? ‰ðµ±kÇCÂ'›KË"Óò5ùi@YV:÷³L8+yy­ý‘Â|í + ¥¥c²JÈ+,iŽH¬;_NÒ¬@> Ìàïð" o°r¢ÙdtÚ¿xÛU íN2 +üNP¢öÂòG0[¢7!—Ѽ8ïãçJâ{U~Ó{'ùM¾àþÆzMPœ†.îw;ä×]mT^®ߤƒ¶Ì÷;PR.9¦f  XœÒ¬‰^È×M›}:@ZaäW“™9Q2|F;à<'{3kÿf¤§N!ÿs¼^óKvÊõ>œE°¡#ÛµBŸ±Ïv“ÚŸÈšÀ~ê‘ G,¸„QÂf¦\E ¯¿=ûë²B,ú|/_…™Oà1Ò@­)6âh? ñu¸ñ‘#üì:Ð[7E‰·l3~Œç˜FÏ8È“ý—÷Q¡êAur5˜·j}BEiÝâ ÀhN·ÚêößV@Ä‚ÿÿ¸%›9Y7¡—&ÒR[º„V}v«X7M˜÷ÓÀÙÅÕü nnúNÍŸ3$çÏ媷<§,PêŒ.ßB3×´!¥o›-t›ÆDªi}x{Ž=Þ¹œ¥¬ëÍòwAuІ濩ŽLó<„f&`ŽJ_­25MPb Š²P©ü +.RÁó‚ÿÆê1+¨^eòiÌö™…l ;±ÀõãS­N§±š!I1ÛÛ¹tˆðLíc[|§²‡8}‡¶ÔoÁo1)¾ËÏ0iKt|ju3ÛâSÈ,AUÜ­h(g¥‰Þa¾!®ÕsÊ»–ÓmÔ>Ü”ƒÝò¾hO+ŠaóGâ¶_^àeL^äïëL›VI?¿C7\¢¤¸q×yŸŠ6×3UàaV!!|¸/ªã(•çÁ<Ç…heŵTÍiaÜñn·T³|u—Ÿ=ig¼P&YX¥™Øfù8FZ=¡ÍR"i‹`x‡41ãÅtËX¯hº8T_ ìÇ •“ܶ úyTR$LKyÍ¢U[±Ý“ðѦåQþ‘¬Vå}5C Ò0å TúÅsJZhÖ4Nm{g…oHFïNŽ„J¸¨bÜÍq‘­ÿ‡÷K豦^Nª’) f7_2ûsWd·èݺ”8ûìoáQÖ¯z!Tbõ<ݦ„ŸÒŸ§lk -4$Ý‘UÈe‡Ù77§VÕáºÎŒ¥j…?âötÙ8º·oÈ´ƒ»üË6ñðb• }vÇ ™’q8B¾äÝÖ¥†&)—}À%øç ÙÌ]ÈjØᜌ'S¹ZK/X'ãsØÕ¹ùlÈ ŠéòÖûx[±Z¿_™x½!dšU3'Ž,Vºó|‡ï'åerÓ¹ãâ +¹%FÔ®.rYÓH`$çü³â!½¾_eðýç0ì1 +!»”w¡æHsfnÞîMÆ“Œk¾Û¢û˜QýÊÍV4 ºí’V$ªhd˲AAÜÿg_Z'7¿ûIC…i~ö’Îá? õu_ˆØ¬@t„9˜ZhßÇ&‹¦?Û¾÷ÖšÈ}ª¢$dµøj’nõF ›á1uSÛ“¹MÞP4xa¡mÍî Ò‘Fœô.xï(È1æ$©<¨ÑDLµx”qmÌR¿—tœ–Îj ¿7Çåºï‘–ð˜“QV@®…š¼1PzXNªC–ÂlÕêpÌôsý\]Á<7KÝ»9JwŠ$&cr®×{QJËËî8{vg|R1ö?ŒR±Ô^ÉË®j ¹™lŽíæpÞU?Ro{®ÀV#ú¬ÎúM刮6§d÷ð é<®štî©ØDcæ´ìŠ›ß¦óÙ` è"µß™©X°-1ì3UÀ…³€q´ñ°—AÈ~™‘]•øP"Æië4œ˜œ÷ëìó‚·ôbÐg ˆ‡¿ ˜sIÖ%ü%ÓÑ™üaÒ_›ÅG‰ówÜ_Z i¥p£…¾âF—Ìôß¿ÃrI:U”QÍË£9=ɇ„ØÈÙ»B Ų$çž:7Íñ­—ÄfVÙÑ ÆÛ@Ý ¿^…×ð,¥¾nbâWu&{ÑFy숮µª‡žR´}xÍ$äC¼ôÄw]3{3BRé+n…û3ÿèþj1¥+áØ2öàÑ«”‡yËúèêÔ OZÓÁ1·Hn€RýÞØåå—¥µi>sãTs6Õ…N×!†OQ~2À)Qˆ#ù4€Î#+Bèò‡þÁ­PgŒÀí1'¼ðú±…x®U’¥³‚siy>Ë.B°%„ǶOº+¡êñQ5ž(ýÑ#¹qò£ àqûŒþ ²#p3e +endstream endobj 409 0 obj<> endobj 410 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 411 0 obj<>stream +>„¯²óJ'ë3ÔœsdœÆN"%ïÒ`þy ã–¢k‡ïÕÃøãÌ¡H(ò Þ©Þ¥d=Í¿ú¿ð k^.HëH®·TÄOlzÖü B¡=ÌyoøËðT¿NnŒchº£m±ë} ÃÉQš3Ô×ç‹AÓø‚_1Ò—0Ÿ˜Qè—ASˆÆ G<¯fu‰å2ÁçãV;Ãqðð„#bPiO#;ª¿P$³;ô©É¾Þ­£,#`úÊ÷ :È•ý·Bf“fÛ?Ùº,9rLÚ3ï×lŽÓW§Æš&g¯R¤ñ¹í§ŒöÜbq¬"Ç<öJ¶{s;CPîuíyRîf.i±™aDì*òÍÃqö£è£ßù)í¾øľíh_¼¥®Än‹C›àx¬~ó²× +©\õÚBÌ ûA.1q-ruêí…šû»õ\üÀ§ŸíÕ{çêj§RÖ鹨ϲ©Â+øœ’YæÃý±e=¦žféî»x*Ðgã0)ùe¼´3­\_¹ÙÉ蜇µÓÅ­z»›HIUølÊr¸,è½ÀÔ¦–V|ûv–ÀÚ)=·Z¢o•údî¸+wJŠ]éJ¡­‰]n4;rvã·ëè{0²Ùb d(êE2B¤ñ¡‡¸&²ú'§Ç㧿žYNŒ"xf™¡ú·l©ØƤ(+W1|²ÑŸêÍt¨‡Úr—ÐiJV`‡¡Ó', uùŒ€`ãy,wCÿ-@j¯t@ýßç«mÀ̼dÊ€€4…\ZemÙ‰!vl­v*¦y7$1¢¨†W»c¯› \FqÆõ¸~m dÁÎ;þ; Å©C¯•ºËÑ[¸Cª¥ßþ˜EŠS0e=Å尿®€°}ˆNáPÄJxêxtÍKýG»ª¸/Ž=8ûú™£".‚´Š¨Û‹z%|{é¾ ùR³ß-ƒÑ‰³9b õ‡±xKÛºîhA­''K/¶!9¼Ðcöÿ¼ÿÓë@xø×:9¼»)XOä"¥;Ùºý¯‹â“aŽÁgFœWó „˜~E¦áúB1~N¦y‘„!u/á£}©3%~xùp+³ 4‡¾ç±ìO·Å—£tÞ=ª·[|'¢@D\¦Ð²ÃŽïTèzû8³—>Á@$Ó âU•Ã+@Wê˜uWíä¢\ÊÆïð@ÒÑ(Ðo>³JK>ä;6ýFdW M™0Ð>$~Ë&²VʉFùøï<È`k3X2ùïÃܵFÌêô‡Î±Ôps/}ò†·ð/˜@"i ½/ŒóWýI˜)‹{Ûj!š·R‡vuæ+LîAê¡f¦J¼Ç¬ð¥|EÊ$ç` +x‘mcjïqnÑTç á#afåové# +XVi¾¸Œ„Žè¿¡‹ëÇ¥»((ý 6›9¢U±~2$[ú0ð6’VÄã{#®*ˆßüµ +Js¼Ñ¬Q*@*§è-áS™I18ÏWH’ðuÀ7Y°“#,yic+¦{€˜ø$`"î 3ÄÕ‡±ŒÌe3ö¶mžæRôIJIì,äo²þ__3Îì,HÉ/.åã.H¼h¤8öزÁ±cï dk|±* jÞ~ƒ2ïÿ}Ãè#¢ç3hõ¯õVw75ø2!ù¶?ß¼ôâÎÎu”DJÎóyVçÿHÜvwB)R¿ÛK1ÁÏEa¹LÔ…(íb¿)׌?Ö¤”äW!„Wˆá+šÊZ¼žª/œ>·Y‡‘°ƒÌiG¤ëY7ƒ©¢å“™3ÜH½ú8 «3´²²OcyÒÓ4p°Žðs%Kþe¦'a¬ˆñ©šÀœ¨"üõ+áÐâMhžÇÖÏ¿Ëùšj³3}‡¾K¯3?¦—ÞÿüÔ?Å7¢ÐV7#Ã[ãhAdÏd*ˆcÒEÙä½úy@2~;Â@Á¢ñê³£Õbz¤káHÌžú½Ü!»Lé@W±P›¡UîÆüŽJdFÚn¿¿2 ÚŒÁé߸Ý”~’=ªË„+){Î:üÿe÷ÀBØ ?™È˜½Ü9Ÿ~Xô~nÏ%~PÀïÏ|þþ] ‚ö=Ö è2Ï°ÅâCÄm‘„Ú¦¼ŠIŸÿMõLHX‡å8×÷åáÛovÏÙéSÿ*äÝý2ÅfÏ,•Ë*ÿ'3š@½*2EšJc àÄÅ¥-!4uïÏ/`Ìe$ºTHªÅFõ罤E†ÿ—k¿Úøì¯%ƒÆL[½.íTH3\hGëŸÈɇ¾J /V¶Z4PdÊO}È 2VÖè`ºúP±mÓv¥N¢æÄ=[¿4ïZØ/oŸÁ*µÛŽN"ŠHjíŒu˃¸ËÛ ÅæMÎþï}†»”Lº\^„Å)~UZïçÏ‘XâV¿J9aǦ¤¯Døz3]·«Í¥¿*ò¤º‹\¿‰ææÅY†‹]z*‰ÃÎ}Mõ% /”*Ü„·Ø×/ŠuâLêuë¦Â€ÒxšÔFc3}à²4M'÷” +îëýT#d\dNß©è×¹äÀý Šü èt\£­z“ý‚Ó˜ÃÂÕïÖØYèCÆF¢ZÅ6•òå(Q _Ci¥Dã;9šå¢6‘PÅ7I½ìÍd›SÖ5(ÍB¬¿{Ô.C™4ŠCˆkÜþ7¡—zN(ÂH‹fŠEëê(P%¬—:CHs«Aœ¬¯ô“+ P•ŒY +ò„fæŒ aï¯2âÕJËú>O¸ôñgkªÝ/wYîÖ —Ó‚dJUÐÇšo7V›>ówÞ¤ráò{?2Áuð3ÆC<àï©#‚@I20}E*ÌBNß7©3a÷+ã¼ ¬M!Ÿ'Ûl®áÐZ_&àM†Ék(A´ñ¡þDrÝ ¯ÖÌIÑ7Iê7÷4…ÞƒÔt½µÙT]+cB´'Ä®F·¡ÏøL÷4¾Çv´¥øHÝeŽ>•øhcX“}Ç,+EÛV“ÀYlÅÐ!¸½,Œ:µð§ûçþcBÒä|]Þ£^ž~ÍÏÛ´(¸Ò¹Õ7vv)=LºãÿËï°V¤g÷#^9NÝÙe±Ï^ Í@,‡úªÿÒT’µlY ëϲYt;GhC‹ì¬!F&MG×/›ƒ›q„{‹´ŸÑ3òwñ@­Òýœ>‹éãŠölÕ°žç™r"F4Š„O ú +ò5¶ÆrCIÔiY³yl@8^ áÉ‚Ù@Wvòg§¸Töµnº@i]¢tÄr#ðìÇhS)Dͧz–Çâ¡N°-Åv-g:¥ÜSiÙ(w0!‚(}klíO®¾oížäß´¬¨’:èòœaéV4ïc5lX×µDZæ3°ÿÛ”(L& táhg²ø‰”Bcx+÷Ed¯ër‹‘˜­ÚVe°ÓhHgBIH‡ÔeòÒKÔÅëá3Dv(¸êÄGäbAÚÐ{g<ÿä÷2É/W²qi`8ÿÈÒ°ÑK +gM”áÞB“L @Ž”-]6I0S-ñéÓÛËøäòÒÑ4J§<ÿ‰«òt?qE‡|KÏ ˜[¾ÏÞVÞ’=Õ½«Eá]ÿ +¢Y“:Ÿ§ÉuðP%#yG錑öƺǖv€UŠbªÈ² ú-œ„ê›I+téYßRG#LÅçM,ê¬,e†*ˆß& 2- Ù·«ð">3Ýæ^e;0á ÏN}°xN‡%¹L–9zÏN¤¥cWW¾p§dœ˜¬/æÍê;úM À±Òàldw²† +endstream endobj 412 0 obj<> endobj 413 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 414 0 obj<>stream +€Lú#új4¦¤Íg˜›y²¹ü§¡v‹°·ÜŠ‡ÎýÊ’¼ä<œPÜÖÒÓB®Vð¡‘~„«I|Á€Ë¬UJúŽ¶5µ4ý ç¢7SØÚ ’Û.š{so)ËÒ[‰0ƒÈï]¿(åq;ºËF˜›_|ÎÑFz–ß65xf²(µ‡ÖÕÅË^¦ëši€)y|ô!,î9ôïÙ –˜H°j fÄ´´ûÞf"èjÅðkؤȂMÜoMȉ^{÷ÑÈõ…t,ú£Ó^íŒušœpâ…3 †˜Ý¸˜®–»ü°S=â‡Pf±Ir¯Â!ü d÷EפŽv¡Í>{ÄîÎgg£éMUç„¡  87̤“ôôÓ7ÂÌV¨¼ßêßGP&‘øω:õÿ€z­Þù©tÍ ^ìnL{EØú~æ̘ËW^ó`qHzÖí÷”"Mú‰%ª>êExaÞ¦a„ð\aÖ™ò¸'€Î×gWo€s‹žðŠ{¢”?^"RnÎ6&§3£Ð¼ã¦Y.-4|£³?ot$€ž\ÑTñmq2Óº +Œ“6¦ÖƒJ]k¾uŦxé«$NJÆTÍd©ãõIcªXtf§ã]£¾ ÇsyóQãpôÊD#*x\ÚÝm"<ŽÈyýp¯Î¸ë®ŸdRº”ÁÌ–X “Õtl3 +éóa¦Ê„ €"°dN…“J³/Vñ‹ÞlÒ §C3¼%ð+È ¦²ÛÇ™ú4Bê÷ 3þt.‹H¤Ž¦ÜÌ–›íy=Ð2ü+¼é*`(@ÕîS·gKŠX'®Ã+TñùÂñÅsÐ’b)‘¾üɈ1¥Á0âÆ”*ø{FÿØ¥¹[¾YQ’q™È”Hùvx¼Üi2%àÿ˜Há°ï²sêëâÑBÓ(Üo &»ñù4†A|AÂþljäÞ¡ªÐ6 ,ú4åÅúb‰ìÁ'P-X2eí—†JÉ"C_àƽí’b‚Æ?; +%ôEÓƒBö¯µêÄúÚ'>‘ Ûï‰âT䳺¾¥’ƬøÀI»©3™~s™ù$Fzh ½‰Ä2Ø +†hÆYX{ŒÆuIz Ú _æ9¹%^8xNOâ¿‚Ýeb¢¿aOhU<ã<×hëØÑ1´¿2ÌÉIW­ 9®I\ ¬¾ZR²RfUØú}ßÒ×ú3H¡Ñãº*›edΗÎW1:Ìsù@åMzAðjš' õfá{„ëœf qµ²”P5FÎÅt hº‹1[Ž8-¦:¢ÚÈ$1á‡lÜÜýç³R¡C]G ŠTX`:kF,ÃïZQš”˜å>öïr]&u.öMø‡sï‡ÊRRV¤7Ýb£>°ÜÞäHû f¨þÌU¯(¢iG/oÙŸM±pNèýZ²»¶¿ü–˜WVÀK¾,£òAütrSáå¹s<\@ëâß4"AòxÞ!È©¼]8»’B]LQ>É®4.eKÓYÂïÜNÀ –6p“ÔýiVº˜ #'8r‡«ŸäU—pTu¤àÞwȾRMåä©Û­Ï§\±(­L\›6 ­ã¦‰N–=ÌUcÆÏ3@wØ +´RÇUŠN€FïÓrÜÊ7±³uLQ¯è&Ok«b¤•ši0K©í|¢m ºßýåObüð4×6À¯ÓìBÃ0ï0—‡§âxB& <)œ0¸ÖZ?ø8Êкç~콸aU¶°S% öäaø9#^‚Þ¦j_¦Ê†fL)æÚ ¾™Ï1Åõž?%Áœ×¥mìU/Ñ ¬lõü}ëI ÄBD'½_& o§nÿ¿ —Å úñ°çÚŸá”}íä³Ël¼#+òØã><®öTDòCÆ_¥i f-úÕsæ™&ÐÄ.Ð=E¤¿Q‰lì+p²U© ݘæÓUØ¿Šñzz¡S¸ßt¦¿v™CwA "Íéët˜{ê­E&¼è¨|ùý¾+'/¦QŠ’ÓºSÓzð"€–ÞaŸ5½ËY›ÁB•V<ÿî „,% +.^a䞟súÆëê/O=‘ÑÈ™iÇìý¨´À>›Ü¡µ@ô[†Eµ|x„¿ >6ß«ò„Kƪ9§¿v”To )7¬ùOÞ!ÜøãæwóÝîa:Á#‡#ýrÙIbKìz}j½öùEä=¯7R_ˆC¶ÊšÛÔ`ˆ÷—» +J:D‚~e)r +«d>ÄÀÄVþVSÈ™,¯{Q¤}j0OTwîü60 Ê!ië+Ü*“|úHÐæÇm +e]r¿Ù%!«;ÍH­Èˆƒ#Aæ¹›®Øœ×jê\ùÎÓ‰aòggû‡B›J꽿Þ2¨°9*¤f/À«Òisº€-ž/)¶åóS^ÖÔ +RÔ÷Û€‚k“C˜=cv3¤Ó äAgäN‰Y´¿ŠÏ'kQÇIe*Å_·vË̤“HÔÚûq¢¬a‚_Y :©öØå¡Fú¯ow•w8^©: ŸV¯›AÎAÞ ¤¾ãÚaÕQÎø « yž¶ã”4¯ElIß㾯å*…RÑT¶é²kvr•Ÿ^€ÍrŠ<~3 2Û‚¹l—Û iÒ°‹þ.×=‚'úð*êæ¡g`xè»Ýh»váà8Ü{£7C\‡™[¤Ö€eU›™MÎC¼‰ùRþ…P¿ó;D-­¸ø³v<©ž))RQIUšqö_~-ìØÌ»k.¦ãÒ‡(ÙzZ—¸™Ú±ƒõÇæÎêøà êÅÇ’w÷$Jø¡Ö>oÂY¸Ùˆ?ŽÍÁü±æ9‰ïã¢@‰­c¦°„üähÖªhmN<êo„ëâç«^tyzãµ—DŽ¾ÚmíjtÌ4=pgi7_•-Îœ=U½ õY^>bñŠ9âWðtÍÁ¥ËÒ´ñ™`»‰%מD¹¯ËѪ3D™—¢q' ï3ðƒ + Ûøhy1ã}Kµ̺9¯ä_Ä‘÷Õ wŠþŠ3÷ðò?6rœ¾A`ÃÍ‘ÄåËä!…â™kU6AŸéðž˜è¯°Ø=Ëûl +^*9Çì¥qYùㆃ’9‚ìˆME³‰e“S”«@$G‡ƒø»æv«¬QñØï79€ËË.P¿ÙøsõH"øž78½- 5Â|µ.M+S,ÀÉRö­Ma0ÉYI‹?ú·çÞÁBƒnØ’w~ç,*ÉS!¸ "eøqo}—H¾—äIÂõ!ñãR׋3àËp+1–aCCéÈFòkwö[€Ú·>“)‘\OûtJ*õB2 âùé¢kÍl‘|à•Q.Q½ŽÔšp/#c¾cŸÙæ]§º>œE™¢´%hõÌSØ01YÖÃEpëù"Kü}»ck¿(UÙEÆ1úBBGö4×…ÎNyO¡½8p/Q`"³þ.Q^Õ$…>Càä\vPè·FŸßž&éíí†C]Yàì*ÒRþ¢ÐçðT ¨ Aq2¯FƒÊ±£Öº · äBnèãA›0oÜ弶Ïé ÂÆK¼^ZM7èÄÑ¢ns©Ž®Ç +qŠûÈ„à{ÎæFVXAÁ@¯Qœ…s¹&òT`Ú~§H·¸—=½1U€E”ŽÛ·¨³‡ÈÕѲÔ&.E¥m9Nü¢Ç 72´1.Ë–žÌ«¡HDÍ°ŸÌüp©pÂ@­Z2öÁn +Cåu¿Yþ|´ÁÄ_¨s³Xri,¯'ÃÞ—¥’U'*ʉكæò_gOw¡-›³'ŸHƒì}¡ñL2B5\ðí=Ö4»/1o0Bñ0õœ3ǶlÝÒ +Ú“N‡6²$2:ö +‰(:´G·“]ÆÀº-LO ±oSÀ‰5Þ‡\ƒõ9å£k*ÿjqžÁ4FÏxâæeª}hM…î×arôàdv/¹˜E<0 ïp!°ô+ÚÙ”=ø@º¬´²sgß*³©†E‰¦ƒ5z_ —ÿÜïsŽV=àÓyÇõÛãb”()¼q,YS{, +PEm•æ@Sìn<Ïu‹¬®Ep˜º½>‚ò²È³3ò8ªëA²eúj¨ØÒeovÕ‰ËÈÏ„áŠñ+ÀeǤ±û‹Qü5• b/§</=¿q/g›â„ho§2|ãо {Ñf_SŒáÁõ£ídJèdÖ‘^[h\ܯϢfû|†û¡¬S4¤É VM5WëP"À3vw@\yt³’zÆþþ©pÁeØú{®š'ö•8LHdÆä~îÕ2ÀàåÂ(|Mh—„AXAÐÓ–«Ës©š!Š×Í7Nz‡'—0r!Vùè$Ü!Õ!G‚þ/#úø!z§þW“-?hã äP4Õa&EbâueýPKXNóÓ·îx/Ýä Ó°JxZs26Ì †± ³ÃV.DõÛ…ô + àð‘ª4XøŠ@ƒ¡\z˜s†úá‰bï+³Ó躞ý&ºù%»æŒ‰âlù,N2ÂÅV~L@ m««tá'Š­HõÜDy†2®HÅ0žw(}sB¿›øÎÑqp¡(ÀN?é‹ËçN˜N2Þ¨WÖ+üQ.S¹ù Y®õaÖ¡„¢;¾Áævñ;1>?3]ñÈ‚H€wN¾Â`ÞÈ€âVW´û=ÅDÙ7®™œ1-!`âÇ“v|Iæý».'idù¾¬Ÿ‰ÿ ru’äõÿEý©PºÝ̸h’LˆàñùÀ+5€×{çÈ~æäGØ6­±,Êí&[’Tc¼‘HtU…@L¶IxÒ±ÐR¯UA?€^´ˆß ”~4ÈBç/ÌZ£ˆ¶§Ú/zL»¢¼EB¨âEÌBòY_Ý€tc³5dÔø»} .:àŸà×hEN7•%%£´<"!ˆg· ˆjçåsÎåŸj™ÇhxtQs9Z]P4÷¢,ü0aüõÏŽÛ€®í?rð(/ÕõÌŠžó˜6tˆfiËL¡ÀsÑË«MC44†>6a ¦úÕ©‹ Ü%pÿÆ”ƒùCðB³B®…ÐäU {/F]ý¥Q7 Ašwẜj5wÿ$ʦJ–‘1ô´ fíÞýºÛwŸ¨­Ùl8EBg¹œ'ÞSÒchæ]„‹—É ‡ÈŒOÜаÍ39 û4Í)ÃPc‚ÄÝš’fe¾¸ÅGÑ«ëP› ƒ(êbW|„¤HA€½¨SglúÏt¨r`ZêãÕäV’­*º˜·8ÍL£˜l„V<‡¦r¯?½èSë -ÿ…ÞuÖú2Þ]éhiðŠ­tÕ‘mû,]âŒã câîjÏÜd*ñùZOI,ÂÉ]„èo:sn¸ØY™¿ëÕfuÛBII¾sÉQ^UÉÞØ#‚€ãóŒ`9ý°›Âᇠ9x)`-çëÒúä´ [ãŠfà>ºåÎÙ¬À†ê\08kY´ªéˆ6ÛÁ‚Ü‹š{’TË þžýQJÍnê%ãàHXÛ¸_8T¶[Q|0{iAÖD“ ?Äá‡þ.Ÿèé‹Lîœ$Nì¯þ~´òÒ÷ck nÚÓfJðŒŒ!Õì«c°5Oɯq½ÎvŸÊ ½êÞétÜ9’ Mª|ÜŒ…ÞèÍVqØ·}‡2ÿ½Ëü)Š¸üx¿„„͹“’h‘Cs«úwzæ÷õ3ÂT0ãŸaóUǬž$_Ý}3(±>SöóÄ7Pmí ê(¸µí@‚ÞýoBžº^ z\rã¬ÿ[A„[DéyÉ)­€N Ð3¾ ‘÷#p õóãÚ0’Q‘ y§ÙÆêZí»â1¢0€—wË •gKŒOM—K‰ˆ.,FDå¢îèrä­®Ú¢µB·„©g9ºódf*|61f±bˆÃtãMuJ¾4Nßr£”$ý5Ä +Ž¶!ãÊÓÖçåwn•!“št…9-»0N0Ç+ñ„Ûç>©û&E+*œ2ßêtkp¨8Õ–wK¨@/f«/ßý +"VîøˆÜC[? Á +endstream endobj 415 0 obj<> endobj 416 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 417 0 obj<>stream +‡’4׃S`Ýi­µ°5B»iUEÈì£3GAÛµß9ꀕÅÍ!ÿxOãÛS÷¥EâË”‰3Eä…ïI·9‰ß"’^‘…¢˜êàûT¨ûÍÚîÖ˜Aä±d«ÑòbøRüBˆñÇYP8u¼Fª'îÛçY}2·uœÕºUôÆwpe~©gÅU—!º@â$âR™Õ¦lþžM™D å nÁmg†q'îîQL vßqW¶¤ÔÕΘàü|Òí¸´öÕ¼Cµœ¸˜dé—ßèLÒ\bqÕtSùΛ¥?Þ¾âÈi;s\Ú&2dC²®p¿È£©a|ªéå‹@T->í.y‹Þ:Ññ—XxÉÇ}‘ŒKƒ,;æè"õŽs^}‹W%’x±8!4r \Œ­ÓÄÌQLîb7Æóz$jq¢ð 1r&‚‹ž¿äÖðô¨Î˜¦¬õ^’ž<ÇÂk ÌäæÏ{P<1A&I [§t|bŠ¿*ZÓ½ül$7ºîS$Ú&¯c79°|ev©DiŽwÇmìõ_0î+YBâ²@Nˆ¯ÖCÛXMqµ.>Y³¢!§ïx„ðFHXŠ>¨3ž7ÞÑÈ»µµü±¤ùÉv'¢ëó%ûyº)š² ž°Ô Æ3Ù ñïcn;1ó£»ërÏ"'%U bÎçy +.ENäÝpkÛnìð»à„Ò“¦…¥ðóÄVLú¡PTÑœÏÿªÖ2n‘ŒóKÍÍ©µ;¾uØ8zÍ9·°¥¸ƒ5¦Ž‡ä®Ø' ‚¦WøM¾ÍE‘PŽŽ!¬Ë2ßY3F­S²i(–âÜEëöo&m:9X…Ûœ0±‚AC«C0­Á<¡àؽa!öhñ¿æ_™j«*c¶Pâò:TÎ:ÚåžTù[åyf4 7˜1yzבÂÂÕÌÀŠÝǤâ(·°|36Ó>ž¶}ǹÚRéG’éźRdŸE¯ Æ»sT,©~g¬û´ÔšÀÊÅ£3ª—;2ßší–p°ÂÃ:»‡FìëmTÄœ! ’¦ EýÀOÎ$Û*K3ˆ5—•5æ”rÀ©bÓÔRŠ¤{ð²ÎÚßæRPV>ÒI^_Á@Î¥h ‹¶á퓹¤Ž×Ì+™j\(¯?KößHªÏ½8³ëŸŸ¦v¬£ÛÑ–Ü © 2ºoµ[Îx(þ[ƒ š3àëΆ>ÀÅ]U’wä“‘$ÐJOü*J†=Þìà^|rGßœRU>ý¸?žêÜ®6¥‰âþ'µ–Ÿ¢X ¬é—`Q3@s&¶ž•›Oî?VÓ1w£<¤·4¯ºÒˆ5AEoUùUçO Ü+Ù°IsÕ®¢¦—{pˆÄýâ-F“A6¶¾Ö° Éþ‡0²À;2Ì{®‡ÿX¤½ 20æö Sµ%2< Aϲ1N¯{Ýôííÿ°7ÂȤÈ7[e5@@'';4HbwÃRPAÝfÖnëׂ¤ýQY’YÌžžª+*ňÇÔÞ™ áÅŠ? ½û®òʶÊæR„QͧØñó™2À÷tÆymnóÁ6:á²í¾7L&.+ áY{ÅpÇ‘é25¸TÅ£º*DEã›K@Æ›h'/«GpÎÖèl“O‰ aÅ"pÍšÿV›H‡ôØ«µdÓ ~뎘`ØðøÉÓE7øs‹lé¯Õ$³1!G¹¼ãDnû†c’fÅÔ´›I3»DžÃDU†»üèW;+µúqò?׸dˆá\cuKGÅ ®³Ôº®†§æÃÂÈXn:H¨ñÿcºì)ï¨]²,-aîX~ï½eÓ9ø”nèC*Èðw/^¶÷ãÉê;`¸ÒÕ›òþ­§kÕö0¢ÖêÝP1`oHøÖþ¢êÅËsR +’WÄ–Ðs UQ"çÆ­5ËnP8ŽÇ|ÑÔ¯KWÀCoÞG˜²[gq•IÔÂÛ>H6‹¯¯]yxŠDmx—·dùG¦È°”!Ǹj¨®a^cÿd39‰ïª‡)#AíYýVgÕ+˜=Íy¾3ƒyöîžœTÏžÖCQêÿZþËÛÓ“ €7Û­a M[Ï’³!•‰B5¯HtÙîô›¹?‰ÚÀÓv°˜Eé`7…·}{(··ß(µ¯×„•Ú&û“z+Ä])GšÑä„ò<™îaéè­ÁNGµ™ëv÷µ"Ã!u°Ðͺâ ã€_‹}:t–Û¬ÊLZ-)V³`j&éR,Œš¬##^d‰½ÓšN4ðÿµs~]á¹=Üö&ÕóîÀÆ“Jâߟ÷ÝKó̼¯8N Bnè;ç ¬~Á®$ päÜLÚ¨ùtž&_«\äl[Í_ÏTØüýé„/XU™ío—XÒ2,Š¯ð‡%m´=7HÈzØ|u×g ÂÛb´‡ÅÃÏʆ{úÔÀñjù_Õ˜óe/¹cÈj]"Ñ1_ð!!ÞäÞŠ±óï!êþ¶R}_›Ö¿MA6Êx[sÕSýUõ d/Å÷¾MŽ¯ì ƒƒB΂x†wž>'mã6©àfÌ›;‚-wÈöh€vç–ÖMŠÚv qPGt¹ éêÖó‚ÕyŒL?{ë™F,Î]¸ÝJ¸}AHp“~h 5¼Q¥öæé–¥‡9]ÌŸ¸:õI¯Ó<& ´DÊp7òÕߟŽâkóU…Y:uL Ë´—ØÖÛ"¬J CÒ[¼Ttm4-]4¨³Qᘼî@á‹ï©ÇfM!ï¦Ë ?T”¸º*ùláfTa¥,j¡P„ÈF·;–žMáVÁeJ¶!ÑMŸ>L§:óÌæO”RGÆ@ãÇ—”P±/Ëõ®˜ÈvÀ QuéÌ'pµ(„'&8Fh.g nÊ>v7`Gƒ,e?sú_þñ¹•3üÚK„Ý@Æ©,-ÔJÝL‚OÍåÚì>~‹§¸qy÷aý £„8¹¾ÄKÖHlRb©Oã9«ð ñ_Çûà äýþ‚µpÝ”Æ%õÁtçy¦ó‰¨‚ðA¸_˜vÀ0„`9×9Óݸ·¬'¦X sd/Û¸h1Aônm3ÙYðÒ”lÎDh#CÆRð\†#Ñ1FeU”ººSi¨vçßÔÕW±&;ÿj¼–NžšÅÒtCíCUZ—Û"v” „7¬+ZN(¤Å´Ó‚i¹åöh£‹ðm;¡¦`§óJ\ë­ @tkkmœZ±ÜmÕ¤½G4`yÁ3ª@“ˆJ(Q?·;?mq(€”órЛò{!.Vâ*sËhĆËZ^QN8M?H/5?‡0 ë ûÏ~HÀ–ò[9¸7ì`Lsä1K±bpL;ìrQ}ædvã‰?=ÚJŒqmIr@|B­Þþ!߉\Ìøä5ÄJJºI£´k·\1G³æ§°·ó“jÃIµNµxF»Môs<$ÔÕ(Ò-"ëƒÐ&…§PVŠ uv_,UˆæzÔª®1ðtJtþ5«ÉSë÷*ƒÄG +]ŸÒ x[3FêÕ‰P-§Ñ?Û沋õo·oļX²S¹Ñ2àÈúEY3£¾gF %_lO‘Öá¶Ówn×€è~¬óí MMâØÓ„•×¨å={Ö©=Ö¶;1=ÀÄ—í•hnØô2å^Pd°ši{°•ëá‹ñŒ6›.¦¢/¶“Å™’Í”\Ô“zœÈQTH:ð²‰!cMââ+ÔÖÔˆåâ=|Ž)÷7¥´c{ «¦ƒá3p\1n¢cDìªg¼@à}ü‚¿tí¿ÔÞIòÚ¿41øå|gï%pÐ*›Åí·J€›EµõU uf² ìŒ)Vñ'ã¸zù› {XßQ3¨%¤t9ˆÔŸ/¡C?Ù[¢¡P‡ôÅ€†/–ñ³j­Ž¶æ^M¶^`g|wÆp…Rfø+µKq5ÿ©òrš<.æœÎÏÜWWæƱ…YÎÚ +gÇ›æl…µ€¤ÄA¥ „|ÁUPóß98'³Ö¡` +ÏQ¡§²_f©Ý’ã.Giè:4ºãÿGí0U‡Ó^é?ÖÞ}•‹±9Œ®¹0dÏ +;h9qlÞ„ Í÷­ûÀ»ªû.ž› ﶋm,XY¿º˜ |[ÞÝ óÇCaØÇj Hj„,.äspq‘‡}¥<c ‹ÂÃô,˜eq|äçæ2Ñ}Ò‡ÈE`^·’ÂP?ŠägÐ-ϹAý÷,]ÚUý’žÄ’¥+Ñ„® ³Ý5ä -ê*Å&è›éhHµcÞó¿Þ5ºD/¿u8q“ÍA;™¬Æ›ª|R ÑÃ- 3¶}ŠrvD7á+ðñe¨¾¤±»éJŽV( m°ßÕÐÓb݈[jì“Uá¸ö°ï13»F>ÉæÂŒ½WÞ7Íêfx; \äÉ(ÌS­Çû½;ÂÑi2¥‹Cµ\?Íò²´f# i¯~œv1£r¾b±¯c/{„í¨ýÐôZ#‡—œ[íªñ)bùç¡6ã3ÆX‰¾™´¸àüÝ%(¥h<~ÓßvÙ 8•‘Ô€Ìéjik—ÂâƒÍâî©»¾%Ü˳Ô1XÎ{|H—]ºéC *½‡š?S £»2¤{ËŽ <¥´ñ‡ü]‡þýˆFúFú‹ž@ˆ„gø +¬:õTÅÄŒüàDl"ñE¤j¬]Þu¶Žêƒûʆ‘Wez(W»bTi>•¸ …3D}ØK +sWÍ¡Ð"Ýãø’4ìÒJkuø­"Á3_ò…`®‡é¥¦nÉÍ$‘{IáÛ þ>‚vx`ÑòšÑX÷joÈâ×ß„˜¬¹ï‹I˜ó¶Ó6* aê†í°_Þ[”Ó¶OFg‘E…*w„[Õ±‡š´¶´go¶çÉ'õP˜L?ºævN»ëîëL”‘-×Çœ¾=!Ssêe™ÉG÷¢ãÈ´';„VÛMó»$}™ŠˆÝ3†¸Dz“4Q=È/°TT£‘PVCpÚg–7ïÀ¢ï(Ç>áŽVó«~>X´·ËãÉ 7Ÿg¢JW½×dö&žÃ@e!SNÇÌùÖmŠge§ÃYÑ»¹‚â ‚Þê #Ú~‡AçÐd†3Bß>àÝTaÏË +endstream endobj 418 0 obj<> endobj 419 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 420 0 obj<>stream +GÕxǘ›æ‡QÁÒñ=r€€+n{b1¼ËÚO_oPRÑ?’´êÉŽ?Ê3 ¾(Ÿ‘жG”…Üyô¼‰¯)p³³EŒo®ˆÏ±œýÜý•)ŸP_´˜~û~ÂÊî&ÖM´Û#b8Þ+òIO15ýét§ad2›±d}ž”yVŠ§tcÌgðæÚªµˆé$$׬éK›…þ¨¹[%•­×È&¢Ø¿©—‹â­l§B_Œ1O˜ÐÝý »`³ +¥L®~¶—Ù %_÷ +m“Ï/ÿ¬Å RÆ»ÆJl©˜®PÙú'ÜÀXæÃSh•)êõH·n"Øg·kb1“q¾û\»%i˜†3*¿kß½'&r hrsÚNà‘__×/EXvœ.R««´9`£ÀN(öÇrñû+×=u:¡…¯ÃXEÝg\—ú©{«<9ñä ÿ…i È@Öž_¦\,¶ÍK0~ù-FO»´4àŸpèÞ@ÃܨÞt6ˆ2^ŒøE…æ„ F¬Ô*S¤óe7Uàâ²_Ûj5IÍ‹9 j©;IjÃ%=á€vð%Á×rü8‰€vuaÃÿ‹ ÑÃ5ËvYàh´ñi¼ +ö¿}UÌε™=Ó‘ÁN&ÁelÝ7+¼ §ÈFÇ ¹Ò;mù£ Ø~)™Ž .ž5°É÷AµšÐºÎ–AÎ%Ô¯LÈÈÔ’Øúz +_ï£ÆHïÀšgýL™ç²á Äá_D[5€Ã2#Úd Ó»gy ÷óËߑ°6¦0'Ž>²«¤Ð"î"Çd‡û(M ¯ û2|}6Ÿ†¬¦ÎÑ6 rê£ÁDÉu<öÌPÄœÏ1‰AÖªò¾Å”—23³kÃ…²ßÐk/þéšM쟜T㾹ᩕ#CŠRõ¹réÐg–¾ámp‚”±GO@ݺ z›ª1¡F”h/ãdm/æBtE=Ø©~n„5[,¥è±‚†hò9µ‹ƒ° ëÊT»BvDá€0œKÆIPéêUa¸BþXQ›ëiÎÒ2›êü~X¡ç‡ÔAe{%Þ®Õ¤ë5™ªH£ðwïæª_P¢¯/¾"ì6aihý lT å±æα?|´_ÿ Kšïx̪ÓƒlÁçÁô)§ÌÌg¡#|qè,èó%•mg°â}|¿,YadØä:þ¿  'œ¶§ yR|ÚA·…E¢Ÿý«•G8DÜß5>'øl3¬£“°êwïMˆùî MjL¹¯FÈ,Ÿz2._¢° !Ižr‹=ýD,8“q + ü^`U‘äÖö~ÏÄæ '߆„ ŠòKÖW™‡W{#+-EŒ?JÆHª"+0Á®Ô~ ó{ÌC×'W@Q_¯ÈâBø…)ªñöü-š@zù£0äD2ìyz—¸kJ§íEkÍDŠÆ瘒OÖèåZ½0R€Ï©ÍFd¢gÊë]×nœmîu H5²ÙÍ•Jsògp{gtZœ¤Aôwö¾/0¿“Ò%È4Ê©v ¨q/´?njMá)½ïÝ:LÐ|âi˜é2GCØ )–|åyÂ@(ú+re¤Ú`?׬î)ÜǾqµxr«¥ÎèÒ¤Ž½ŽzšP‹·Ø¸XpÕd²²êÃbTusÜæsïúKEº»7oFœrzÞˆK!ü{ŠIÊFxîE·Ðئmƒý F «ß[Ëy$µ­ÜPçÑ^áeÔÚy=E&Ö´(ƒ±ï(onÝ欯EçcÇÜî®úvµ‡Ø ¢Ñ·]’Qñ*ê$ 0Ìø¶‡x¢K/Rí4Ðé æÓ‹Ë[YLð¿AŠû O[#<刈ºž8³ý[V¢²Y/]ØCÆ–Eé§j¬5¡°Z„EXä•f¤4<5À¯K[‚##œ>ƒRÑGÏ—s¦Bl›Æ«‰h+©b©mÏb—C•Ã%ˤ.™ÿi£½ +Ck¯d\{ŒÄ +O÷y >ük¨OÝÿ!ÅxŽàG¸ s¼qBáÁ£Š_0H"žŠòÞÛd“>/"VÐî÷÷°žâ\K­wíºòZl3…[RlÂÔïƒ';ÛaäæÒp@²´rïupl‘"–¼è¾aáÇýoÿ`[þ×UU”äñ?âÏuÖ‡×#\‹ °.4ºAÙWìâW#=‰RßêÉ|Å×1v©sq4çG^«˜öQlýk +:E*"u懧bv¯’iÈ`;e\ €zJ‹à§ïÇ’_Uóà¶O@„p: â±Ï5cÒRîÒ7ìžq+z‚½sKj?ÑÓ¯—‰é5iï­2„Úo_d!q— ‚4®-çcd–RÅ£kiCaGî:h>Ñꚪc¬±Qãc…Á£f—8Ü®¶1â¹Ç³Ô¤â#D¼óÎHU»ÝVy~Gé`îH¡*Aˆäº$çÃÙcÚ¦*"z2¦ÙMÊXä˜vÓ Ïhá]lIPšxÚ"mŸeÜ} SP3Š^ôD¼àç‡pOÞíL-Ôsp_'¥e©71¤£jÛ¯=ÈÀƨÃôL?6rK„ŽÇ‚0ôR ÷Sa,Ö5+Å6Š°§œÃ n™{"sú«ÒºÎe ÿ¯hŒÎ$Ë8-„”ˆ…$.•µ­€ÊÓ1Ñwz|áŽû‰4hš·C ¯ö¾iêO¾X.m~Ø7îqh¤xÓ𛜼bp–Š}0Éy^µ~'3Zûaüwý:6Zä ØšüKÉ Òz•¡Öº·‰>¾0sñ «•`TmŽQã›nÎ +M©z¯[¤‡4S—ce‡ÙᇨÄøª·—¸¡d¿#cIð‹– ï»{Nª¯¼ÿá>?L¦Ò,‡„3ÞÑ4çÇK3FE÷sN-ySn©8w,ûTØ­¸U/èE š -¬G° L$¿HÅô½˜ð³J ù‡Bùå­×aŽSCË$^‰¢•š¾—#D¯ýø_4À$2G­L!Ãõ×CTÏ~;£ˆ]iä Ê.—Ý%o´iÚæy(Õ™’z„;%‹ ¢0y—E ‰‡)Ј  (òaû($$¡göYËïS“R¹Ö8ïvÕûÒõQ–íbçZû Ÿû”±–Îbáئ„’<ål(o8¶šŒn +Auòµ“¸fÊá´,ÿ…¡WËZ‰`*šÓ»uTî#-J³-‰µÏRŽÿ\”J2­°f!0Ù~­c&mô>6I]ŠtÞ|£k&W*Ð.6 ¸©° N¿©kDŽá÷Çp¨±8ªtXdWÎUø pXØ¡`Ýí³¤¤}–ñ_ªU߶%Üt « + ãà¶ü5rVþïm%ååÜ·$êByN5{i¨-¹¬Ïz˜+:`ÑÊÕIÞq˜Uz:RÂy]R䩶óò5Ræ™s`á(hÈ«dNêÇ…4µš +ùK[oo9FôªÎƒ<~ÔYªVúLH!¡& xÅvra‹‚äùÁ÷&üD-y¤è\%;žŒ’,§?€ݩ{‹x•>sð|Š´ô6Ì:~hü5ê”:îBˆ²Sávþ²íük¿Åòã3V,âl*jI£d7„ï7(œƒ~+ÿä +œ‰Ú—•»f¨¬¿hÑZ\šÇgfäÁíz¾×ê¸[…‡ƒoYL¨UÞì­9±+¾‘<àÿ¸ˆ¿í@é/374©·bäÁ9] ò®‹G>¿ß¾¤G(‹€îÕ~Ēɸ ‡Ä;éȺJü÷¢ä¬‡ø}È2KVë%å÷‘ÛØ Í!½J3ý]I\‰f"P‚HðÖ*óž«mˆ´ÌwÙ2§c‡¢ûTR{lJvÃhÂÑ ¿熄£2½-{ªY(ãa©Ácy/ß faý’;™BgÖä·’hÑ ’ÛS¥KüÍ°€[gt ¾¦Þ³Ö¹¾Ú +j’÷š &Sýl®n"3,½ÍIºv7K”´YPëdyKwýl—àί©Ã<âÕ£ÚIè¡Éäúzû*cã²ÕgFâÛ?Õ ®£ˆÄïì3êóbû\T ¡§âe¡w\ T (¿püÿŠ\‘o$6Ë*åÚ‡`RÎÜkè&l€ …œéW®büú÷hYoþOá.¯^TW˜ËEcÎ>Ñk¤ˆ^ì +~¡¶±°Â´©O?Å ç÷pžC[ܳ&-$(Ž53LaD"Á€û…ªTœ7³Ò? +" êüÌjœDý–Üœxk_-ŠHJÚ*8ÕùåO•7EØŠ£9°r›ì¼A\uÒ˜41|Op¦Ô²A¡©,ëð$ë?©<ë±ûYoÙN’R‹DË «Æ™¿öEÜ]ž7®*Wb÷ÖôË橤ÊâYGÊ~C Ø7æSÊQィ8®Åv²×éÔ¬äô“¤*ÑvÝß3×±¹©ÆõÌ>å׸h ۇ׷ٻfó‡“`"¶uAÀykbdQõ`®ôô[L³5Íê8|ÓûÚL”ѯ"WiŽÚDå©W9¥êŸÎ^c‚=7äBG*SØžz&‚¨Ê—HîyC6ìc{)ÏF1\ŠßâN’ÕU ÀåS:gn`IÙkz[ f‹³W·â(TW:×v¤ tfešÚ0&h”©Œ‹’aÐ…gp”[~†½il›íñ°B¿Ø'ŽO.—± àÅ÷§>’”çÚšÑ?> ̶æ3`YŽðh° iî¸Gé– Aÿ¾üÎiGbÄ8xP¿µÊ,»[›CÇ.Ò¯ç ¤­—œV¼6ØŸÕõ—Tô$æKt¶=Ï)"* ©ð‹ÈoHª1ú·xä1·×ò†”é†åG”%襌г-¿‚Ûí]W†õ{p¡)=ëù5·5l <b”FÖr}·Àdé…×Ãr{XôM”Æ í2âÁ>~åñÐcSÈ2÷Åq©"U@õÄQ©ú±—qìnÖoí¡€ÃVÕsûþò²ìj~¤Tþ립Íî’¡=»h¡½ª¡¨*ºxàr4b:ÊS¶o˜¨ ³Ç |¶¿-@‰~ =áÓŠÌÇ0øÆq¾Øõ^ûhà™v”Q[k +endstream endobj 421 0 obj<> endobj 422 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 423 0 obj<>stream +‚s#ø[¦²Ï +ïú{ðH@´•Óº—@œ€›À«Ïr ÖéäÑVk%©¡ZöŸ„û€¬ –vØz¶ÃöŒß{&OxUPÒŠ¹Í£!µÅöŒQòÔ'ñ ¬Ð<£”ºšˆŸ/Aõ=Ó±AÃõ䆄Ó,P4lÈÌA?j_ÈÄéqCçY·Zf¨+ªjú¸“(­”HΗïŽ?“«÷ô<ÐØ13²{8½Ͼ¥:Æ‹QsÈÿ…¹30ägü¬4|)WK£/Wä¤ñ,¦÷}ˆ(ö,NžN,Eù×É]TbÒ}H@!ðh"…@E0Çs£ÙÐ*“µÞ od‹C¦ÐŸ”üÌ2iXZ¨Ãý(V}4RЮ¶×ƒ±òH‘½˜äèÒÕGšÜCŸëuË"‰Ì(Éd$MÆ7D•JÖ,鲕º÷•×7kåÞ^ÚZÍ-ªS5#»y*<h™Èàð…ëMáCú‹0z3í}ß‚ßHâ¢^6$@g>»ÚSç(³lÞZue\þeꯌ˦üw´_št²ŽŸÔÞ@¢b×ÂÙ¹B9{Ž>}Ê¢þEWy >üŽäéNá0ÃË=^Û£ Ä)C›5.Hœ¨¾ûÅNí~HÅ;H\ _÷ Dh²ºåê.˜J'ˆCÑt²¦e”KÁÙ4ü²#Jý”sp9¥­Ð.–Á[¸27þ•´‚¿´9äQ¢/j:ȪžFôÖl”CÁ¿?i}Ê‘k"o}‘P+YãG‰>¦[Æf^ª‚bËE2Ön@Üë»6·“F@öR6>ÔúŸ ˆ±¯gQÓ Ó*úüÀœ˜y•ßruç˜aSð  ¾µ7áÆñG•ÈLþSfì—A5jHlAK/²ià\ ²ãsþ*ò¯%pïq ÀÄ1¾Þ¾Ë·lN7Ž“׆™0ø+nNÉDZ¿º¶çó9m¬º½>÷Ä WÔQÏb$c•0PÖ?¬Y鵧ÙÞ^)sW¾ê>NKÈȹëßVð··ôCÈäÁì© òì/¬îÒR=8Dzs–íLÃK¾¤cáûÏR½=›_ŒÌϼñ/{ZÕ嬯T<–,ÖõÔÖ“ÇsÁv_M˜aª]ÑúP' (ˆd­—‡§ÖBerôæP>Ê9wÆ7ÅËÃv ½·+Ñà4¶š9IJÅ?à[ªõ+R‘§˜£’y©¼æ7¸•¤” +L„´>Ü°ô2ÞqÇÈ*/*pþ3¼DeÆþß0^¹ðïœy¦¼pÕª‘ý<ÎQuu“÷®qM“€÷`$G°ñ[ÄàymŽhØ–ímÿ¡æ™øÔò=óäÄY\¸á©û–áüœz–Ϻ…sËÖ©¿ðžAœ0;Ùhü–ZüÝY!áAŒÇOxÒKUñÄmHLÃ@)}™9z—€l¥]2=žâÇÆ-© §pÄàÝÒ¤RóÙ€[nµÕ¬GÉ4g2x?×­±IWÝÙµRZ~Ì¢ûPìAŽ Ž +: ”£¢eõ·ð¨gKùÚ»A%ýÔÔÍ÷¤(]FVÈ~•D|€@ð¡+ûoóðÉeì"ìëàLÃ)•(ö%QÒ£4äÿ¶l_{·Ê_ ÷©5‰Ê‘¼À<&ü²‡¹@Ï„UàC‡ò |j8k0ãÀýoÑ–}ºÈ uÞ ¦ÕƒÄñèöÂÿÄ0'æ:*/gZÈ‚Þª)ˆæz NƒG»×mÈx>ŠPîÇÐÓVî¬M4¢$2Öº´ØŠ-†ü‘DœRo·m¤ç ?‡S÷y¹Ì>‡ôI£ì•ûçŸùZˆÓ®wdRÓ)Ûã–7Bç2¢ÜtW[ }]Ò_´­CD»t `y¡îg†?„xk¢³Hù…ÕóquÎœ )ä0rŸÍ9²}L c,¼Ž!–?Ë”ør­e@euÆ.ͦ<ñô@çXé¨Yvƒè,v.a?NàŠÒ,1@”"(6-næÙødó¬Ä¤Â,£Úàs„R¸®á’·h˜H°·óOQ¸àõÅÑ×ø‹YXÚ .î4yuøzÃqú:´eTå1zÜy©áGBŸ!$Å(N ûáU³°ˆF³üJfqíßüV>ÊàE–Ò¡ÄÎÁôÍp±eZîXy¥Af×1.©4,Z†ÁJ±‰_߶xmj7·„_š8´„2ÃI¢Õ—©î šHv\U&oT넲Zèã±>)i¬gO‹¥@$úusn1òÍ×@/ôÝ ú)r²|Ç4UƒË”Õšüðkìztæq¾&óRe°uÛ±£9‘´^q5ˆe,GmA?¯À€´ ‰ì`“Ñæ~àãnMÈhd•™3Š@Ã'æ/17"JÌèH +¡šïC÷ÄHz[«˜Ö-Fr¤ØÖIéÑ]aX)†¹«Û赇¿*¹ +àD‹,Šsô×Ë{{Õ(àÚ‹¸É1±¥ÐÞÍ›Çå9Ûœ‹C݃,Ò>®  ë4å¡ÆûØÈ„mëˆL×GŸñ5vü•F'xM8ÎÕntN?żÖð½¯ÁY_ú#06&‰ô¿ w´Åõ…ì0lØ°»&¸1RÕúa˜¥€2Œ\Èûm²°¯’iÑqüIÊåšå‘«oL+–®'qâåg±:¬ãÍúÕ †Ò$¦îóô¥;È4*¥À­¦P«D¦ÙgÁߎŠÐÙ¿{ËënVAЫ?AY–¬¥hµqnO5iï?uÊŽ‰ô‘ìâÏÐ2p‚jÞÿè<\c‘ニÐLmÌ:)­Ï±»×OSŠ*—¿:~né2ÓÈðÅÃ!4𹶩GFÆ?Œµñ'W…|"Ú^~©¶všø„qé{ +%Èn”¶“3>WR„†(Õ°AôyS£ÓµéA|fK¯ vWŒv@×-»r¸×<ÎÎ +ÔÎt‹aW#î>É_„ÓÇüPR¢žÈ²&™½åy×ÃIF$YÖÖf€9¾[™Êù([É»MÈÐeEÄ*ú2B›-±âz*U ŒdX•¨ÆßÑÓІ/AzÕœp‡ÓÝú$„¤¶#FE-,`ìE•¢ˆÚÉæÌŸ9Øäó¬ “;ÆF&;ºSßÅ ø´û­â:^‘!jJ’ñ‰6ÏÞÛ¼n}µ•`͉”ÊÓV7R¬ üÀM0è“Z([ñIè  Ù®ÒV¨98âÁ(7]u„ÃO´~û6M Â@Z_µÛ›Ú‰=ñl{ór¾÷' +qåY/,»«3Ó©Xº¤ú˜í0Ò»x8nHÕ{˜@zJ$lÞÏŤ G9ê3åæú/~­ð£Å)m¡eÑ?#1ëu¨2u7WpÞve%×BÊk» ‹X™°dõR#7-Eµ$Ám·9Çö#Ž\±þDrÅY$½“¶Ö½…í¤»º÷VäQß"ÙC ª“J×ñ›Jt±a q¾¿.«»‚cŸ›Á”`Ê esw;u †-ÂThÜ·éø­;s§¢òVSPsÒÁð«aáAÄI#~køNÅ­S‡³BºßKq21ZÐU£›üëƒA'†RèÍÕT.bÜü&ádéɉT¼=†ÌfÙçò²Ø3ç‰!Æ"@«X„t>QÎblxÞ»¢øjŒDà€ÆɆ.ý¤Þ箕þwwãùŽTlÐȨvffTsà t@ÏÏEyLžmSÒµb­˜:ñé¦ß"KÂ-E–Òm×ÕèóñèÇ7Žë2ý–¼”ÓLž¨»Ó@9wsh È2¿e (¿u·/$+€oŽ§RÀkã''åôfQïÂ¥< mÉEãÄÂ*°Ó"^¥Ã›BƒÔ~ºæU \ÏM:–3ôD¨QI%=‚ËÂE¦­ }ÚÂÓX +q@…­\íÚ¸sˆ†|A„ñ\’z³°ÈX*F²ƒé´î—a!ÈX†ð]- Yßݘ´oHj’„EúÌòå\¼ +žm53ÑúŽÐez¸7œ‡p!¸hv9 –#`ºßÈZ„ŽZ5É_3»¹ŠlšAì8¬Úø–CRäƽžô"";—‘Yó­dÒÇîÇñ tžhlN>èm£L˜Þö×½CI×ir+˲± ZSÛh_œCñRØYÄ)¸¬¤)c 4°Ývè¯*=ËÛ¬U/ŸÉ壣¾²ƒEô+-9‡ƒd“ÊGõÕŠW$P†£Š›"QÎÁtŽT8Y“ …x\m¥‰œŸY(¥ ¾ ¡UȤx«ìñ¯{ÖÒOªÝU­âí{û¡Åµßk…RK<€–HsðËDN4ˆ÷Ë17€¹N,è|‡gá¥/ˆœ sºM(eÀîˆÏÍ=ín>‘õ}U¿Ç«ò“ÁÜ´ ¡_ý&Žæů/Ì@ØÎÑpÝto‰Á’@>(áÎô"Þâó{0)@x® ÄŸw¦¾fš#Hî–Xýxü|ÐC;Ðñ|tÏrIWsåÍÉßS4:ßHSÆVžx\–lE éxÀNÛâ—.oÏLh¬<ÐdiöÉ©ðŽ/#àËBÚõÐQ3‹O÷X?;tÀÖëÄ®z_uf£XƒÀ-æÿ‰ýß¿ZzAäoP +µŽ]QD(<´½„\œUí?JZÆ4ŸÃy?¼µò¿Ùe¸–Z,—œÀ¤aÿÊ· ‡O–:ßâ:òàxŠ­óÂøÁöú±ãÌÿ,‰D0ÒÌÏÙÝ°÷ð!êÆ¡mYN vˆ«cL ¢L¯Ê‰òЪ3Piµ`yZw2nÅ®$ æTk¾'åf´úÍ&³ÈI"þ²*D@hÀazô¹Î ‚OÕ=zȃq0xãkQÙ¥uY”|¬Ù™±ÊŽ^¢)~ª±éé£ËY,z•¬­Jà '>õŽ§U•?ÜBsa0g̃éÞôÒm©†gƒ‰ˆÏÆ‘í7®r¹ãK7Ìp‡\}i(ÄÞTqÃç³€6AVÒô »¾´5à›thÉL̈ùô‹ò¶•„b[w:¬~ÙQ™¡SLÌ=ÑöóŠíÕÛHà >»ðŒ¡‡ä«ÁœÐ§díh\¯¡åX¡Ù_2 m3AòÏ%áŸ^(_ÔoùpNç3vYPAp`4¦«, ]k¬–BÅ„^©ÜèE)óiŽ´Õ ÷b —¦bð:ñâvî5q×Ea5‚ ¿?“:Õd¾8^òìÜ©Zèt÷Úë•2Òð€úG»Êyuÿ¡Qú„æ*Y ôÏz?Øö€%Ê~ÂÚŸ¹4S-\Ÿ$Ôd 'ï.ô1† ú±Ë•û`½¥ø £ÈÊæe`›,í@÷Ø8j¢S“ÚUz‰ø\÷x-üÖºbφJ7¡½<{®ø.3ÀKTÐÌ2ƾ½\ÞZ¿´1³³ôô‰)¦ÀºC>g}mœ(*ß.CµbâeÎ +e 7ꊳ !&‰i¸$±;µô.wÒ:šcQçÿ5WûŽÍ)ËY9?qÛÕq æAÜ +endstream endobj 424 0 obj<> endobj 425 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 426 0 obj<>stream +öŽKâ42¤kçF!>S)]ý*.Öo§Ežc™ô ÷Z(hGWTÒû¸óNáÐ?#âÇÑùòó¥kŠ*‰ðluvëÚJGrû M̾R³u i¶‚TC.£oYâ†l)ì¿Ý4$Qž’ï鎥ת ÈOXúj].³¾“grx_¸ÿ P¸¿J:g<“8d°fÅÞV’®žsMü¤ü‘ÀÐtmgpïˆ"cÿÊ>…ì y<øÁƒ¹D׆Þ8V2Š)Ò§¦î¾åÛ=ÛêZðócVÑWA’’¼.Btð«SÎjÝÌß&-Ž†ˆ€Ë€÷“Ý@Û’,=QN]J÷ŒŠbg_´'·×ùo„‚ûÁ w zÿÑë>úL{šÝ›„rQfZ›´&¨þ¿]7±t ÃyWǦ͖ÚÎê/è"Ê¥šù­ajáz%ÆÄ‘ÎuŸ1^)=:¨‰3“Êu–°ï¤ò0×£mc&!rf¨Ø"¯¤¡õF•½‹ÿW•¨Byj¶·v`AûrèÛ;qÄ•·ÄY¤&ì»Té±-@áªqG!/H‹+¿EÓô½E3ô5…¿!åü°µwxkö²,;a7Nÿ?$7º::÷³.äîo6ΟJ*Ñ!â0PÑèÿ€kOë|^åò{-˜aê†y~^–µ6Œ Ÿ¡”F7ÜfüüUÓ¾eÈ}+: ÃQæ\íKÄãÕmÏK´þÆKô_¢¹VóœBJr+[Øo±èF +giØÆ8î,Äòdf—<”CfŽëØY:¬—YÐCÚxß~ov¿èþl‹¾‡:]¤ö ºz.L¹º!];:®Vµ:áï(Nw^o êų®@ªÂÜž#ÙŽÓrÃ2ˆUùôñ"170Ñ vdûÁ>¦`’ón(4îýÏo²Ê›òÔžv.7}‹“ìbIæâ\„Màáýãåþ?;[æUÍ™!h´µ×)!Ä.CÈ:ùÜëKøÚêÜvuÇÅ +:S¡õÆ?_ºBÈ ÙÔy):tjC1{W‚b2tZY,¬%*í0×N¥êí½mîŽ + ]Y%}‰°›îÃ-S†öq€'>R„¨³çW-áWº«xqk MëFŸÁSˆs}¸g§ƒÃâþKU¤S@S~Du›¡Ó»¾ëö X^‹)µF DàÏȨºÖƒzãPeê?,É[Á}ä | ›ß²µºKÒ /]‹SSºå¼ÄÅÖ~„Ú0WÀÒ²C%<¨ú À5Z†,[@¡€Ü¯Gµ³ly „°GÓùä—ŸŽ,K¼Ðg¸‘T·u¿<žHÏó…—Ù0-·ØY.0 UÔØØËñT÷ûVlíêAᤣ³x¡šÜ•aiЙe±@¦üËá¨ÍQ«f +=ßÚo¢èU¤ p¸ä­P½ÎW½ +ÎáßѾbi³Àóð˜ôÏÕ®dVʶø6ãét«À*Š˜9ꀟ%‘«F0{VÍÉQ5èpDØÌLÚq‹Åœø mÉÖÏz§B3ÄI5(Þ„tßÜ£Ó©äF‡+VÊÚ«#¢F0W× ¡U˜àJ_ã)KÔs´‹&LΦäV͘ƒ¨ è âмõ1Ä&ÝÀ C±äó´‹ÞÓ5p’šóNÔ îj¤¨K‡Ôjz)«1,EÙ”î$‚^ÿõø‡ +` þÍ})Qãçf@ð¼uî“Çø¦ûɘÄ{I°Lö•h¯Ô«—m·Šå¥fSj_d¸áÖò“K¡Îû µ'è”r× ÎËS‡¨GZV~uÎp/gÓó6±Ñn«èÚPkâ*{>ì]«É'|Ee2kˆü ×"̧A=ŽO‘œâ€LL‘ûÙ¶ßþò/Q®ø½ìΦË,1BJä¢îÌhØ/dlÝ}Mü'.bRóÖ¥í¡¶wÏh’‡J´@II¯—²õ‹õÐ"h® ï’Ã|à$­ð†¿+U¬b– JN›WϬ)yÍ^¶IªLø›1;²vE{i‘öñÓJ´^’:>Øð‰6»úÞ27JQĉÕÓo~«šuGáÏgŸÈW+å«ãIÀ_ÿ·`P‚wÚz¾ á¿kû¯×Lxýç]?Ê¢A;£'š7óÁE! '·/[°tûG6 úµõm΄m¨…4gr㤨¡e†¢ Lj×6[è¬[lW®UkŒ$XÅSîѶïx'mÐþ(WÅÞ„_ŸJÛ8ozÌæ-¶„;ÖEN%švF’çÙ¬IøÐ `ò» +€ÖPˆ:©@¯±~7ûo”éÕàí„ãU³*ÚQWº¦•WBæn!c†JG‹Û·E·øçæy]ÍšÑ&﯎‡„u%*bûHÜÿtÂñ0 +GòD"‹êÑwmÐC)YešBîDØd¥¡CÃ@™ û€*ÿèø½hz¾‚л_(¶\»¡q´êÏÕ^AgùÏãgÊuÆ©€Ÿ® ŸµH\°hŠó¿C‰Çz÷‘~Y:Ccžò‹ônž9H€‘«”Úûòpîüì°FhâÖôIýá¹¢¤2øꈭ€=­)60MY(‹z¢Kö†î…®§êÌxæ|ºÉ+’Θ˜k’9{• á[ºrO‰c‡q篞Ðôm™!)‹#¦&’å«rõ9£?à?u +šÈ˜íbb5©;?âÿ !ÓÎd»ÎþAÄð*ØÛ•gí·0®ŽŠBAÀ¤6#‡h £~&E#‘³H<\¶—Dý'öÏ|#GÇH}IÔ(zÇmµ¡wQ®"àÜ[žÓöÛYиqé#ÉŸ´L‹) ¬{|n*·;ë;ꛧû‹Q4|gršè ÁWoÌ„xEç *ØP| += U™mz~†¦×sæQ +» [ Š(º\ ¶Vq/Óåñ׿‘ +š$‡³\¯‰gñù}’KnêRCA ð§ÕâãB»oبÔû Žr¼¢K‚”ql v‹©#ßv¶0ÝúìÍÑÔSxù—{øîÂRrº ÚFËÕŒšðb/K]M•K´ªJ C{_=n9þþabˆ‘ ŽêÛ¶:;+C Ñ Ž×Æà°¹ìŪçE+‚ ­œ¦üU,­Ïƹ-÷¤/e¾0r¥ÒÂŒOå,Èð º,¨NÅöéÖ||éu7ª`ÿÑšƒƒÿýÆ,™O(%·£iŽ‚$%_à’¥.ïÅ ;~Fˆ»¿@Ͷcë¤Ûú¶œ¶ O',ó¹$c{–ü©F%æHRBÓxïíñR—ã¥÷0A ÁÔ&‹jg¤~Ré2ºrÚö—g©üw§HÔ0©R ÎûEÚ-ëÔ" Ë +‚ä|¸¥ä:£©,£›6àXɼԭœ=ˆ¶Ž„žä¤/%Í Ð@V}nHŒƒ';_L-]àYh£S¢Ž¯~Câå’ƒã4äOÕ·¾2¥D.³|aÍÁmþôMÌڲɉÌ÷ê<¾ÝQ›R(ï>{ð¢Y[ºÞ&­ê7ÏKÌeSBEW1ö(Eìv* /nFçQßFt³ùé?¾¶7°4RÙŒW$¸k@âüS÷q7LÛe­6QÚ­ÚAh¿)æ½Æñ÷ÍÏ‚Ä1§Á™—bh\ÆÆÓ¥RÕåƒ2Xû°MGoÊ9æ[oJ +®2¢4†ÂÈë¡úÒ(Ñbdö\È?'î_¸r’‘pÿêUu46Ø‘N“ô©·NÒÌÀå÷±)õžúª }ˆ`*ñ‚z Í€“#ÿ¼ÅHË•ùÐκ(Eôlj1¯šb¢iÄm‹näuŒï®u)‰ööÝì°‹ëH¦›Z.¬ôæÐMI3q>D–Œ.[”KŒ”Â*˜JGÕÚ|>ç¹Î.>‹Ä1¹©³NVÏܽg]¡ § ·~H•\ÏYAÏfK¤(͹ñõÓÕUœ”í¬ 8ŽñcÝÓ%-1WbÜ—>¥ŽfÑK&ìBt»¾ÞzØ ±¬Î™ +Ã…°Áñ3oüÅWps<¢U$MîŒÆj× ÅçnôTJÌ›ðuhR#žŽ.­7ŒgRŽñ2{Ý8æÇ7!÷UÄ÷œÑ'€YoɯhíÓ×£P&Ÿ÷^³c{Ï Q@¾E'‹Ï NwãÂS¦©7¹ÄAeÇîÑ>ñ®x.ÚÆDÈÙïK÷¥Ô0«ÒV~øË*qW¡Õ’º*™úŽ;—ô ËÞUäv²‰BEy㚀dD2É Üþ–Þè˜6|†4V¥tN¤û•¶•Øg|Ù#ÌyùW 6ñ߈ã8¿>¬‰Y-ï%­¼-eþ‹ +ö銣ÃÍ{é6}j›KàÕŸØlÎÅ®‰PÉ-9Aí’ì‹rÿ½kV¯ë^|×tÞûÏå¢Ì6 +0Û=]+8:"Š£nøVôÍ},`9ØXg«'CË`³¼]Œõ_£´“x”ìŒyßÆ+œþÕöšÚ –òP¦?*1^r0¼=ÈYAM Òð¶o,Ÿ‡³¯›HÕïi3n^¦‘Qet"Ý/…!E™P"ÝWWu„•ÖºQž¥¹4 +©¡iÖ ¬±v‹óâÄè•vÙ qw¶†×‡­ó6² À_P ZšÍïdð<>}€¶Ìû,NÏÜ®»Ífj3ÞðŠbWànŠ'¤ùꙨ,~µÙç$BI¿Vc¬ˆˆH=ŠëÇ—Ùž(°F ¯Ò­,àë1h®Y@sã¸{,MPRõta—xÇÀ¬Q;òèÉ)|•h^Á:¾ˆw¢¥ñ|¦ ‹ˆ­xk\8u’OÙëi?U§˜xùÆê† †=aTK +endstream endobj 427 0 obj<> endobj 428 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 429 0 obj<>stream +OOÕµäBL¿ +°Õšž›$N%}§†£ú-4‰|R¿ñì‹Ž¶P³çàæDYe Dè¯}ð?…rÑ;GQ©-ÆÌä‡Îå_Û+-8&¥Ã_•Fkû¥éù±&¬nVm4r/²²yÀ¡è,bN“-`da‘T‰-&ùd k¬Í´Eñw”xWv›–#|ò”!,ˆâï´U›ôx£âº±5&¥èä½Ë +f²+m©=?>é à(VÈ܉­‡ÄÂÒJsˆ +­ìúZ>*Æ$Üõ}§\D¹¶7”ãP;†ë€¶úªQIÈ/¡L1=M¶:¬†Âf ÚðÄ©*¼©«É[ãùÐϘ8urA|Ï)õ¾<ûœ—íñ…)Ñn§NçýÏÛcÓþÕuƤùËÏññ¸Ì/Ä+DKl—’ÉG¼¦Å’W4¢ƒ?s}¹0Ð$NÆ[p@3W®0@$ÑKwgó—rØK:ߪî–|‘Lÿ?ÕX^ÒØ/º_ƒFxÞŸpª¶$¢*D?[Y-øŸ³Z$ží¯ªÓf—-qâæQå••S«}uÇÙÕ_JÄ# ×ÒÎgf‹¦‘:ùyQ=º)\3¥2Þ:«=ÏÎùp2¶}ªyýQ#z¿³¡ŽS;ùZžË>l÷ÝgkÛH1äÐkCÒb–W-=[Y)ð±ð¦næÙßÙ†*ü¶ç Ùe“Qð–öm_3tX‡ë^‡a)"÷)“¾S0¼OÙ¡C㡧Þº….H6é:™"ÞüzÆ ¯Ë +Цn3Fô»aŽµ@’ï×Xéx@óG‚xó&Ê¿$žÈA^µvmç ÖN $)°8 È_‘øÜãÆ‹AåÅzFRò(±Ÿì +·¤‹Èæ¯3MÕ n›Ø#X(eÕ.¶RªÈô|ò†o®ØþÕ²v5œo€Óüdµ¦Í-vem ÷ð*dó¹¥ ;×—ï0ø\5ܸFZJ #gS À“}‘#m¥Ÿ‘»B½L+hƒ Úž÷”ü€gñ~Ö†Z)3³öÂ6‘8"E:-°Á²OšQÅCfM) 4«Hf–Ðg8¯hª¹F‰6ŽOÞ¤3 îr§Ì}w%îÈ”tJ‰«Î’0^8 T·óEæZ^ºÎÙW8ÿ¨o îs­=,‚Dê{¬øOÒHè¨úé‘P¥£ËT«G *“¦(Ì™U¡÷8gºT×1 |ÄãZP‹HÀü“êyýkAظ’*ú3"ÜÄO-j,Z(³Ñ’NOŒ7Ì¥¶žè·òŒ#>`<¢¯¿S=\1ö)î˜>÷<™óëYp“ú7÷¤œ·èÛ7ªÚîjŠÂŒ·9x™$éìhÈx!d’ø÷e^V~Àc…‰<™ŒGP\RȾý8kh¹d–0b-ÂwÚ¿YW°”²^ç29~µ$sÑÂðúIi¦t:Ì>ÔÈ` vÛgù黤íG;èŠ&†4•ýú´#Ze +3ÐééÌ4îtJñ7y“[ÒÚ‘’¼ fªåÿ ä›@¡ «:U0ìIçôûûÈñc²q"½Åi8LŠD0P0óÚb1lܬxQ›K÷s}÷ÁêˆÂˆ-ÖÇ0-&Ï]7iÈT[˜é3‹ÖXõ‚ˆH«2ÙÁY#ÿ+;˜Mé:l ¿Ì̳»¬äPþÑ•‘NHÄþ?}Þ⚟*}`z¯•‡\06qÑl Â„WS6-Ñj~) ×À°ªp!iÑúEŠýOOÍítS:üäu½ö³zªXiö0lyƒ$¨¦Ùôrþ"²ƒì-ƒš¸¡rY«KÓ‘J…Öº¬E¾ÙàIL»4Ò`+TŠ®Ì;q'C«¬€j’>ÊÇÿkDÍ[JäØÁøÔnïû5Ž—´éÔ.·Ò†AK!lÆ3ô~×,½ræØK7-ãÞ=³ÞNëm¬±Ë˽o 2lá(¦ÙÁ L‘ÂB¯»ä`”»¿wˆÉJŒý“j÷?Í?Ò +¿àÁp¢˜ÌEtf`Ñ9!ŸÉäg´–±Mo¯­ïlÛ4„ó®üÀ,ûÈ’èPÎØ^^=®Ð/*ö„öØîR;!õLY¼¡Â™û°gÁ6%u·¥.ü·ó'½Qo ï Àï_Q4±EQI¢„xd”¯£K¡¨z·È;PãY'(DCÜ #»¯5sÐlî;WWµù†@yÁ9‘ä|¸fÀÏÛ+Y»Ÿ¼Á=ÑN’e£W€pÜ7ÿ|;y¦dáÌ°b¿O‘N´I›£Œm=—µ€Ý½à7ŸI¿ùÚôšÎɬҖ(¿öD›Ž(U# +}–तBäj;ÒÓ ízÙ›ëamKf©Y`Ý.1¨¼úÕ¥§Hf1óÕÎPŠã¨ÕpqG °e Hî°B Ö×x3¹†ýÔë•Äx×dÂãq1Q˜t…G–õ\±½È‹&í›: éÉÓÙ¹¡½Œ’ò¼*œ‰¯²ÿz·Ò>Ç%A÷ÐRæUýB¥#sªUÄ‚#ñÊäRÑšFCÇaÑ•H ³´3›¯£# +™5õ  +øù?˜‡­rcÒu¶¿”¾œFîåÃIŒ.”Ss%,E,9 +ðÐ^µeïÿšHµc¨#±yE¨éô22 iŠ'è/œG™#ïÀ#ï°ö?ŠZÐØ|ö'ŸTÁžÉIv?Þ²2-4;6ÇÃâ1ƒ2ìá7; ¨g9ÞBÏöq›€6â<0Â(u ƒ=Ü®rpºƒÚÆOz6½Çî¹(w¢€Ð)N>'g<åæq@Àô-ab6%T1¯ã-þ!§ãñqzËlô^ã4Ç©Ív°†ÿ Æb¹ÙU r’ÕÇÌ!ÿ¶{ÏMšæ(ú1:—-°vFŸ•-Ñ-? Š1“Á“ì¸3 +PÓ¯Åì3¼gIæø9‡6‘„ÀûÜÔwW,Øllìž5([7`­P?‚•úú1?ޔʞY E†³YõoÝÉHÄÄÞ~E-©œt©ŒXX8 »üÀôò •«çnâ8Fë?¹Ñ®þ} ~G`3o&t¢ô+w÷…®Sï_ζÂmQâ\^«Ú²ž²žãÈ<8ì@¬ofÞy<3i‚󾔥Ûle‘IìHÉ‘ R~7¬Ð “ò›‘âš*ˆ¹ •Æ€fÔTÉšzO–‡P ógüÿ)so*Iõ ®¬ÏÄks†fJ‹­~?¿¼Šö 6‘¬Ô€ FT¾‰Ã9^&öž°‹aÞÆqÆT€á…­¢÷‰(îE¶û¡Áçè¬~â+¬°tC¦bË‹VÀ/Zµà¹ãŽ%A|é-Îêpm(o8Õ¿I¤K}xZ1¤u_z+ËmN r¨^Ô®E™Ý`Y¥ã-BÍ^×$kÿaƒ8´-<ö„Ý„RÙ—dÍy,Äíû@óÄ¡QÝoP«fÞñÄ·ElÝÏhöB£lIÚ °ßz‡1ÝšZmq2ƒmð+?Ï­Vû“3#%¾…¼˜¯h—=GRÒ:@_FL5~âCáoJ⪦èûIדŠnú²N–ËwnwÔÇÌÞ>ÆsöM þÊ7vÒ óEË-å‚:pI†G“m\îÁ””d¶ìÝßzU +ÆœZ–cßÖ”®ÚãÚ +Òj¨¿B÷ØgL´ÑtÉÍk5EN'<“þ‰X> @žÎB2³dcnRô⃨^…Æ:ÿ 4¶’#¦ò¦ºäØ—òÎå p£húÝEý~bŠ½)wWC+/†;Œàì­¯ãÏ3ž w]s¦Ç°ÏÿÐ}ÐÍýúü`ì²$`sP`j&«›š…p“J Z@¾ã|tÚ{É]6¹VÅ”zp1«JYåÒ{lÇ,3r/_´ÛAO^M‹v3ß»ªµMùÙ#•§ n&®HŒàþ5´«¹-%I‰t믆·zÊÞ/IWõ8Ò„Àáx[%$ŸË±ýÅÛÜ9% )ä`Q¦Zl¾»õ tÔìO‡÷Jn¸ÕHÉýz‰fuµÏŽjGRb° ù—Y@{Xjµ¾†çãÃ?¯Ãùé±å*GeöX¿€íá‡lC$£nŒS +FÖ‚±PÒgßÃOv.ñZŸêÆAˆ^2Á§2X ?h; Ó1CG[>SŒV‰OœÛÌiåK0UƒõùSæàØ0{'>ÐãÙÑîŸÍ±W‡Aÿ϶¡‹AÌCÔgmçfæíŽ*¶´[ j1 ÔSe4bʇ–Œ%…´GH¸g£^I ÊÁI¸­â03å{¥šRvFCüþ‘…^ š].}Çpq<µÒÒšÉYÚÍEßzmÐ=Ld"ðÒl×\´ÍñÄNýÛ¦ùß,`[œü/#‘ä'‚bôZ|ݤ#uC±(+áöêµ>×À¹GÄLE}C¤òA¾kƒ.˜#q#*B½éþ™ë;zA¼á`´$ÅÇ÷ßdjB—›hð×ÏM`˜…îSHFúªrAëÜ.©¨¡îbù7[¸íðî¡=fɉg—/Ћœ‹ FiÅ,ï°žÄÃ%Èæ$LØšÕ fpÖ–ê÷™C/<.üœ D|F¶Q»:“ŸJÊo ’ L”A„ò-¶ÐO w©KÚ°£pr¤:É?׋Œ_ÝáK•Ì:c5h²©¹bTë•HÿãÎo²ô+%f«_œíUo‰ÜÛд¹.‰¬¢`{hÂn½8±ÑïJ´´Bª\Ëæ›pWÀûKiÅüÕh;"z{q›wûÓ"uPõ­Ì¶hÆ‘å}ø(œD§ET„ºÓ/º šÈÕª)ÐGöúófR¸’i¡—`"LŠøóQ~Ò÷3 ®-Ð#³Q +•8×ohi™ú"öÑ‚€’“Ù©º=ÙŒ…kÕpV€ß~ÿ7Ÿšì’Ât@¢¶x– ‹c²göVÕÏHò 2Ùþ».­ü¹'GFžÍË‹$Çó[ÚI½œ÷‡ØÄqÇÂùaº ­£N°rîÂÿ#ÎGªOÅ#È/#"G¥¥n?)­-±Ü€5Ÿ‹«õ6°­°0’ ‰öëd öÛ«É•S§|T;‰’¿‘'¤ê„¢¬Ö剤ÞòAúõÄ ú²Õ‚¤éî_ó×ݶÚÂN©c–h³òСޗF‡|p䖱ʑ•–€¶Ò¶{ä[ªËä€"Y‰ äŠèšvØ Bô¸œ’ø³PË‘HþÛ'\¦‰¯ùè]p†—ýÝ=ZõI¬rÎÛìî{ý±EÑU02¸JvTÓF}M7hƒ¶»¾üê¾Û‹ËånjƃV“¹g@¢¹RD³SN'(ÇâIÐ!ïY/¡ÿ¦vò:‘9±?îºÀÑq­ d5´dT(¾EÕ€ïE…ÝGT£ð­Á±'ѧt¸=Têê>õ…àXUF÷šR‚oklIÑäVß=Ñ*¶Æ嵚S;òBÂÆ9þ eZŠSezâdmì>ùÝQz•FáŽôcsÉi9X£ñðò0=0ï#®ÍB䂦Ðò¤ªÍÀ¬[§D=q+FÓM˜Y±‰íä@KV©U"š¬hžb£ú¡ ŠÇÜ!dZšmÖXqeˆ7Ô±ñà}'½uY›É‘nŒNÝnÁd3f} šXøœY–aZk‚ – 7#Õ2VAúHpdÌaÙO/m¡s¡z{/ór*ì75À‹à ÙUp!k«»xž|¤]†ºˆ¦lÎ;S 4t—bKp±ƒBcP·õ‹úÛÄÚÓ¨4½•fåè·Â}Ù+GUïÛ$ÆŠv "+àð^œ=½fYï¨dÿ°œ¸ë*bpaPt6ûœØußöQS¬‘Éó2$­Ðw­7ügd¬ËœbÆ83÷õ/ãO¶„Iþ:3.þ|Xµ¾åâ “û41 9®8ÎǺ(f¾§ßNœíûUÓðÈG!ßù« ý¸„9œ•ˆ|¨‹>o¤½¼yO ½Éÿaí9òÀÊÌŸŒMµ;›®”Y˯;ÿÀ¨\–¡ñ:ñ~É 5º"ØMԤ䞢¹,-HöE‡rõ¾Å|\dx¤$r 'ƒz´ëL$2­A…ƒýÛÌšÿuÉmQfãÎÛSIP6•‘j+©VÏ%+EÝxÎ~›-–K4¡l Û5|Ø<éÖ‘€LGãH’#B±uïÉwD؈ +q=U‘5ß‚¨‘»â¥àž: +µ×ZjMcÂÑ4ækJÈ@‘†°ˆµsÚÜìì™cØ ±”\Js0  {˜íÚð#ü¨¢73etîí׈e&ÄhÓ€W4ýr‘—÷(låàgM24ºŒíyé$ùúeÞ~šó2%Êœ@¨?BÄ­Gé*pb!p ( ª0YUõ§˜Ò‚9YØí«‘ u{u‡åÒ2Ûr¾ g¯#*ªÅ­ô BêM:’Y†C!¡€û#·š›øÀ„ƒL‚úŒÄØ?‚'Œ| ¿±$eК½8”!xÿ¼­Ä-¦.èAÖb…*éÔWÌA"àÓ‹=aèX&æöä<¾¥f8$}.5mßL…D—Ûë‚Š”¥ïhÙ¹Õ +IºæQ òÔ“sŽEuêakèi´2@…‘ÕMìQqo4o;6J,‹5mb÷Ô²ƒ˜ï-hsñÿÏ8gUÜì <ÑrÍ54ßõ½¼1$€~%o‡:Å›|Û¤/Õé=…z*>€)³·tôÓ,x™¿c_¹ü Õ£¥UupƬy}û=È.•ô~‰¸‡¯¬Cå{ð¨øò }1)\ÞˆJ8sZZ0ò[žM°µiçüE;ÂQÙ“Z‰ÇÃÓ$Z×—ëCû4¢wºA +DpRР;îÌdõ}1I.ãÞ—ÀÇí]àŸÙî4Yÿì”8ÙX0øƒF‡é¦<<†µØwá>Ú Ïö¬Fw5hŠ h‡âm‹=Ý_ÕÊvŽ ½šü6s^ßèçÆتCw&تH£CÒäñg:â`ù&Ê•$'ª8kʨÇsAwÍÂm)ÝìÌXáö2ðïÛáp~óiÂgÚŸGœb8žEŠþz²L¯"}ð!ý­’k!á©ud’ÔvgC"hîFž‚¶%©ÒÆaÌ!-(‡êáëË2ÇSæ-{f{ÍŸqO›Ø[DØWýa¾›ð¬û”&ó(‘\ð’®ØQdçí¡)ª9s¹ úËÆ€`P#?ÆÑŸÃ#\ÆÆïv^’Žþ4a»`uíé5V™SŒKÓ>¬’!²J†<)õ^1‹‚@ÿù;ú¢æŸèJ³wƒP,7O‚õ ø8¤]GÌ)8óé’|"çd½3\Ì¥r@ÔnpUVü,¹*\¢ÿ¢žQ\°–D±H¥¼Ã2<+¢çí,K,ìçYî×»ÛÎAø5¦ðƒìç’Ï7µ2œÇr´±(?X’x$Ñ‹í›.ÛÞ`÷Þ"¼îâO<_æPÑ" ‰üßv&VØOd‹ˆ\Ç}G'½ë,TÙ¸ôür•eö¡Œk£˜Ù¯£3.’@¢ðËÕ“ÜFî¬oÅu¹ úðìm5œ«xdžF¡2f–³ní©£Z+Ï +cd¾=î'õŽÍ¸ïßó¢.ñjõgý×ÄÁšû@ÜkÃU¨wªCÇÝاª ØQ/X 9eè×?þõ.p¥C ’it™ãžo«ô±NýÒÈ9ݹìØ*?™òø &ÓÓ½Ë!H¼$Š9Z`iÖÚiûÃîBÓà]váÉÔ:^×)KrC¤7ßÁaV;¶/êÉâ/œ´¬5ËœOB×›åÂ8/nb+k½“¾®ûpŸ*×Pk–ÜÑýÂXù„k|²®©›A¥¿šÍ¹és»iÖ]OÆìãhKî*äX9SåËb†+E_5b#Íòž4+œªíq7€DG/ü0É4ÄždÐõoî¸ç^Åu#ö¾½ X£þéJ﵃®Ú?ÐDB-¤m °XC +zf‚0]ÇÂÿÜþÙÙÄñËùåD)2È ÷ð*ˆãN)[éØܧv/ŒäÍ=E‰© Ý-gç}ˆÑc÷5^Á®%YvÖ(éwCR};å’²Ò”®ÚSgÉŒ­ú>/ŠgåèrD¸ +1:ìã»Î´—¦ %·}øÊ°uˆ|`ÑTÄG¥»‚!Ôº‚ÐÈ,Êáh“ò7;¼·¤YÜÈ6jJ>ƒ±Ê\€û»±¦DÚ7 ‘/"3ÐÍéÝË­H¥?­_ÛÌö¼ãDg:Nö¨ã|­x.ÈKúúV ~rDÁ)ÖF9<…Ç”ÔÖˆ¡Dp™Ÿh“bkÖù™îŒ‘øsæSF¤ä)F`ôkj¥z4&­«òЭÅß5!®!¸ÄUþZ¥Ë`׉œÒpjs¶öÿ{ëOÃiæÒGȲŽöÊp8„Kê«Ì‚ßÈ7¾JLÿÇŽ)ˆPL¢âóž‘·“ªÕµ´ÇP’¾ˆ/§¨°§8k%7в +Ý{%6Ð7éœäeÇúu¬†X‡ÃÚ +Ñ3Šú +C¿°…Vå^Þh좧ñŠ?PYÄŸÍÿ]jÂJÔå½C§xX²iƒy)»„Ùè¯þG¸:v»÷ìClÉqµ a#ÓîiÃåÕj€®?ÞÐ"[ïö@âÔÁ™ñµÎI6¨îù^¤N&I÷W¨ËÄÈu!Dõq³Ic<`«e¼Í•êöYîÔxzËÈhÆ¡q)ù^„¡bƒÙÆ–I=²²5–øVHS)_? ›èfè»ð-úcb†Ìnr}3aóu;Š—ï/…”)•Â-âw­ALÜ­Ž{ê²LÎ…À$º°ç¦dOé‚T_, ”näÌ}®›Ø‚Þ’Ÿ?©HÔ™Ô*'êP-±ô)0FöHÉ~ø”‹à¡®KY¯Ù]¹ö¥ük”ÐßÍ>•œl=.‹mü­íaÚ|¹‰;tì +þ"mh '­>D £aǔЗ-\i i¹f3¬é4mu™-"Œs„ÔS?KØ‘ñè?…& Ê%ª}?tá¢~Sâ •ߪ“ 'A[¥tÈC¬½ÞÜêçœ-> ”Y "œùÃÈH8µð#ýtf~!æ*M&h9À÷™kV.4¥ŒC1f…0³Ššž‡gLÁi½9;#þÙ³D£‡2V^e7üŠé>ÇêDpã;cz_Öùƒ"zƒçß¡p:^M2ˆ±tk ÷‡šI4æÁŽtÒ‚ù×ÛðJ˜/ß¹+FT4b{Ê\Kâ‹WÁOÌ…þ\jÐA¯wò¢¹ŸzÃ[Ǧ#ŒT"®ÿb5Qóâ]‡3dEˆŒLíäâ{X^ AÒàln1Ä\vr~ÏUSnüÚ_HøÿKKêy‡ˆ'®\±ŸÅw ¢ºU}ƒˆÀéÓ` 59OvGœ†úòlŨ`•×‡*«=ê>9‚}EÎ|™eàF£‘?nÀ[9|Øqà®`õwj¦7ƒÅ滛‹Œ!E÷”Ø4Pnaõ0åÕÚ±Ù~«VË‚öÿªGÄ +|3w•?‰ø§J=ăC|öfêñ-= +¥ü(3©î¨2ɉVgÀs쩧ݨwŸšŽ7ŠYñböf˜éŸWÕrCæöú\=pbš<ãgï!°^°~øÝj=Ä°²Kºgó ÿ¡vøµç ú$$è /P |pN_YæL ¸ |»zTh«ó-ypªÕNH:›þß|»Æ€í§‹<þªº + ¿÷$U{“PIH¡ìÁÀçÓø–ãëÎk ÁÈ°À6¥{Š :•³ +¢o#~ÉlK'ê»b´ßý+I=]ºø/Œ]Õ³òtÈŸßx8Ðï6 @¨JyœõÒx×òe +ÜÌé¤ÛY:Ï4®„ÖE黂œs1\*¬í#Y™ì‹¥v#ç-7ô¹Ù¦…D’‚ä ¤ìöF£òc´Î`°ï,S£ˆ¨ñç~çÎFK=]„DI›Ïe3 á$â/fjã¹_Yd8ä@‡}R$UñBRà.5¿™©nÖžÈWa¬ý;f(ü1vø–ÆR浚„ +Q#ÎÜib|)¦Ë^úúš\S{å“{Þ£À›bÑyOÆ9w#QFÿ /þA3k»ÆÓíXèE°zaìH×6ùŒÕ7™L’»2‚†Ó«èŽÇFQÏ·ìTp™œTPh?wç-ê ñ7W&~N`¾Õ«ÐȦ¸®úÓ3¿¿Ê²PY Ì1p¡´u7kÌYò3•ÿˆA z±5kT˜¢L”ÍcêÁ…RDÉè²0sfÆÀ8ô<ÎÙŸ_Åüç l÷ZãD‘ŸÐ+Ztzs¨®JÍmhÝÔ}—Ÿ–ãtäárj…ýÛðà ¦,O+Z8¸³Tö.ÆPQñ®!æTY׳Ç>÷Ràc©–Y5±w6 +údóZ + 6$½vˆŠùG½P¥ð–Ÿߥ:hAÁs )ÀʲĪò{‹ú ØdÔLJÁÁj.ØYŽ!%µÍf^ö·wRŠk’ïjå(t¼MÛÛUìšM¾µì>ÝüO˜;HjR1!S@m ?JÉB"Qy4Ç»LO'“`Û½Tò1û•þ?ýA}d¢xÚbbT+Ð~ ¥ <›°Fõs×"‚¨fÛÜõÆÛ*5ó_WõÌÍ +ÓÒìUŽÃÔÞ‡n3òZz¸¸ò_ÇéºCžÊÃ꜎s'î‘ò™¼N@™2dp%èÎ»Ì zãá-á/}|°ïP˺¶ìš¸Œµ×ûòq;ÃRy³„üŠ"}7bÏf8ãg;]’´Ç–êdÙ£O휖s¹{ÛB“ ‰°°¨þàT¡ñO*ÉJ´bq*‹ÝnS[][²üÛ0‚÷$m6§fc§ŒÖvä(áìÇÉP7p$5}±&”ºjÍDYW u&.fá\çUKÏ€åÚ³®u;ÉÖ/RZ¡Gm„<þ@zK„VfÊâKAy£oÎñçoChüJ:ùó×r¨î‹—žŠÆí¡jE’ÜQ0gÜ„œáèqb ÔÂ:C*ýA6~F E‚ðÙ]0_qŠ¥ieüÕÿÊaÚ¨¡" ±7ÏOÆT•~' +÷³@y®8á:‰m¼ùa9¬T@Låq& @õd¢@fÐ!ÏUÊm´[åÐ|ýû=!ì÷ùäEDXWT9„úªyRfË$I )`³Ⱦ%N™1µñ½ì~†'Š²íæ®0•¡ÖŠ/ìîÈçÄB²XG +endstream endobj 433 0 obj<> endobj 434 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 435 0 obj<>stream +ÕcG¡i¹Ääã:™ŠG(Ú°{†,¡\ £ FB®R6w˺Ó>T b±ÔÒµ5Å=%™)¢ˆ8$È^K34XÈ¥k¯>¨•ÏÔ3ôkNªMy0•ºÖ0ŠJ˜¾ê–÷Í#uÏÆÒG¡!ù^բئ6N60vÇkÚ„í]CþW¨öÓo[]0ʾÝ0ôBhk§Žœcã3µ£·ÂB|š±úÙ·UÝ„`Û}®¶570OÛÃéßÑwûÖlÍiÑËY#£20¼®þµä98Î*QqÙ4§n¹â½±aÑÅwÚhøå€ãp~ÖÿÙœS“ÜÞLcG÷8mÅ&Þp¶zšŽ­m1•äjÏfQáÐ’g¢Y?Ø‘Zò¥Â™Vñl-š¼Œ;ÞŒ5vñlŽ’nfÉ<>Ï© ñ?CkŠð¨z&l ¤Ã¯xå/O{ÄØÉ<Ýwbˆ¾'CÀÜó*§LKÅ º¶•'\æüãŽP|>%íþîSç÷‡>æ['ó4—,§ÖMcUÑ‹gÙª8ÌjþÝ™Ýì Ò´°—GÄ¥ÿ–Î{e}Æí⨷˜¬œçŽÚ\—¨ËtJº'7æÎuŠì° +ŠbLY’]áVŒUˆ¿|µ³»¨ÑãÆÇÕY€ øÝ;ïÏK| + B€=Èja‹pp cÒpóÊŒ°Þ`½>®Wurd,1½å3°°_–¨ŸtðkTSWÞ £zj2ÅL{}$Id>ê­ì‰¹µ ^œÖ3—ݯ ò¥ÅÕR  ¤´aca-Í/ýÖV^ƒkí™x"ù,Ùø- ¡‘¼­Q£Tqf +åùýÜüEðšÞÙCñÍ-4äicà2p;¥ãv— —¹alÊ1,Œs×QnA= ûÂõ<ÿƒè³õ š¦p¿<æŠg䈵—xí 3©kÛø®Zxƨäø:ó`I}Gi "À~8ÏÜV ¾Ã•–y8jE£·à™@ï íÎÔ…xûž›_ÂՆ˔£ô(bŸÈ©RNwÿ„úM HBÃÃà(‘úá¶^NЯ͎ ¤¬g=þK3Ó§[¹ôaË0¸™Œ¹’³#íƒk‹èã‚.­ +4tT@yGq|“xµ—_õ ä:1‡Î}ïŒÄ>…ïÏÊÕ Ø£Oˆq…ÞÓòÛ¾‚3Á¸mÖÇ_–¿F²I#1fgs bQm Õs~‘„ˆé†dAZ•J{½Û·â^»Q>˜8ò»Ý,o 'ß&A·ì»ñ@q!ƒ#¶*_%¦ãYE¶¡½Ù\sfM}¨8ÀÔ‚ÇB2U7˜‚YÊ-Ÿ¼Yÿðp +Q@›þ'6¥ÞÁêBŸ® I‚†%nâ'}þÕ/âZAdYÑ‘ k;\Ω€ ˜ ­K +”3ªtŶ+ÄýõªÓy +1{ô ûKE?Nº€°.ž +CçN *,\ež <;ÆÑw\¦ùÙ•nŽ¦!Êb”[;dqˆÏÒ̬ðhÌ…§M+ ˜\ã/¡K¥qe3ß·¬•ß'Ø‚'7î}Q`Ôaž=ºjØK û²1 Þv>NM ƒ!öÛ’ðhÚ›,—J{_+#™Å71¾ & p[»\èÅŠw7Î݇¿oοhè=õ.ü +ý,9~qX²^—6Pr2çPÉœ³P®»G­ÿwþ´–ö.‘ÖdY-yÿŒ„7í/aÂÀËØúÛ ÜìNFª+ó—߶Ÿ[¾–‡m"ùÞ닧r„ü>¡':vò!³Ø­œ!̇3ÀL«´T²ç`åGrséйŒ‘ŒW¸¢û%6Tç%„px²â-ÕUTŒ7 d1ëÞ Ð(Pø/°·Ú¸[i×V¯ú~Q€(c5/Vyð# ^ÞJk¨¶¤ý2å(÷@™—1±=óæ³ ûÏÛ a|5 +ÑŸ¾ãZ`Í™âé‘Lw· +rÖ~Ž{Þƒ!‹Ïn–;½ ¤ôÚQgx–еÀo¦ ®_¬årFПë௙h>ì»V,ú™Î;Å_ +Éú´”B0ž?éÃ(Ènk†bj +Šá¦¹J…©8ÀŠþ7Xôvê»Ö ²ÑæÞŠtgv¥v’¥pùýH!Ó‚Ïm5ÁÀm\P“¢u’ߪ-Zë4Ð.Óh4Ò( zj³@˜…¦Ÿs‹ë8ñR@)nXs³¶ùsYèh©.=¼ÄÛU¯½¹~+ Î¸È›Šf&LçÝɇyz˜ÂklÕŢåúÔ"Á\5Wð¸qN¦±vtîÏ»ظh›‘@KÖ|™$jgUT ´d; Šë1TïªxO[jåZèk”¬”ó…õz·¼ê_·,8]ÔÖ¼ße&¼î ¥Ùš6bN]Žùì‹°Oln‹ä¯Lú<õšÞAº)ôêƒó´° /‰THË8ø +Œû˜[dµ×bÚ\—™ÁžÁÈÞ#Œ‚Â6;É)Â4ÿ”‡H®§­Ôk²2^6TwœK—³4äpܢ˅qù³·WbÉlü¾{k¬N‘PhÜï°–»ù‡è¦ŽwïíiÁyYæ*·M¨@‰å}òÚ¸ŠS¼2úÓ–=à;WZ¥ݳWKê\aÏë‰2 ¢á·˜a„@Ž‘,Ô覽nä]ÁWXÍ{÷ˆ~¬·1:&Ûc*¸Xn¯[º!F„`çÓ¡Ž 8A†á;뵊œ n¸'³“úïòòÀ^s˜)\ÀM‘+Î~%XØïÜõV%rÒ͆tf€KªÆÁíUОãåÌÉüsñ®¹Ú6ƒa;ÌÀɺõh¿ÀPš1*8)ݸ–´PÿqÅ(5yú¦üÆ®V±Žñ[ëCŒÇkª¨ÉÕ Çd”1¶ xüɶ۶ (®PrDnSß ´¶½1;…TA4‰ëÏÛºûààb\ÂFMˆ¶|ÊÉè F_Æ%½›}UО¥†tÔT +;°Ñ›µ¨!í¯ÌÇÑAeצúùeZ_]N`_dÐË‹ZqmÖ^tP¡+`8ï/ŠÑWmÁâÐcÞCµ‡?•Ý¾`þ¨Å‚ªÚ5 0d¹ð뉰 dAdÐ@éÓûÝÝêG×tæB貶ž~ä_6,¢”Úú+P‰ÝöU|q¾ân±ÜVNï%¦Þ ™…/nW¬cÉ9É4=Àt ¨"Ì(ÜL)PX‚ª©6ëUíhŠ¾É+Îf”h´;©x‚ª— ã«Äú W.Üó™ç㘯éÝÝŒñr‚eÞ ˜è C‰ÿKÀÖ~vþ  úÏÁé1ƺ<Ña(çvèÛbƒþ¸ò{Bš1†<2—ÓµiSS±‘,²F‚ ø\&^Ó¦2øÆjz¦d} ©¥PxþfÆ×7=œ¨²Ïúf¾‘2©ãê·Ÿk1¶*o¾‘Í%ãá!×ñ‚ž.Ìï,ÕA; +yù3»æÓk•w¾ºØQnü²®rV¸qÃjA¾ +»9ú²Êš>é¡Æ î±F1YX¾¾bÅ^kÙäŸëz"€eÜѦx‘’çu—æ«ðŸáÆžðz~¡Sƒ¸`Aº4‘6yÝT”ò•z@ÁÒÆ ùêµIwÌ}gB À`"’)1xNJ+¢é¢¥ümŸí ÙäËlGMøí¿Íb‹Ò9| +&þK³“C dÆá`—À‰©z±#mMpõÏG‚ûœÌÛ–q×0ISQq é •z-áƒsÙ* {ºµ¿¶ÑYxin¾m*Fê¯å™þrµ!ó[ûîF[ý­¾ŽËkãVK/•û3 [Jó¿¼égâsª;R‘+×Ç·“ôÔ}…Èïhû+ðØ@jÁ#;ü>sâ7¹4^Ó*‘XÙÔ0Ý2C:”««8ûü~:‹+ƒ"aÑOÑUïd%çö1Ží­D~•Þ<‚ë# ±t䉚•¼a(Ïš<¸Çî¹±£œ@K ’ñŠÿÛ.Í¥+¾C%¯¹³>&yÈü!¨ÒÙ˜¯ÕïZKðÊDŠ*[ ](~œô~|;‰æ¹—.ãrµbÛ”½#M³¿+ƒº(Ó`¼N‚ÕÏk†ÃW= ¢ß͉( <7¦‰n l +ÂPþôg±7¸Æ$jî­ÒpµIBl"s#³ìÉB*¥×îa¢~¤D,UùÎu¯y‚¹†spâ)c8»ÊQ}ØýÉÿìiƒ“7§¼¦³‚ý:=9Í^N…‘ú,­Îß¾”ÛÚ‚Õ‘ÒIfV3+(EdÂA\Á¸<Ní(_ë+måbNáݹ÷¥àx';TÓ×úÈbf=`T¹¶T[·’9t+Zø“þJîÜ܃­Éð‹¡Ø/ÇZj <“a³›ÀL6”—.½ü&ü#ó\r‡@…¾ë†¹séÉœ›IÀ³³è‰X/Çtê”5)§3À‹-M“á;]lX¾üÒ¥#ú£:LsØqëN±žNë£w{„ƒÏŒBRh`i–ý +X³àÆkÒ#Ö¯–¯é¡øÆ*}z:È’;æq(UŠ%$_Ãýá¼ñŸN[|“íÂI ΊèwŸõ3‘´ÑÐÔ¡Ál™¤ôæ˜Â‹#6ÑÐÒÝŽIì\1÷d1&Ì]óXEà›Q(}KV$=|ƒ³×âzåDøWy?gSqfœx¥¯”‘í–}õDN|5Páõ3¢gêû[ôÐ;Á]ªÁ¦!(P«¹pÆûnx§É”Vu‚M`Ô¢ÀU‰¤žµÆa(‰›•³ŸŸ¶ +ê7Í›ƒÉ~®W½ŸæØqa³·%j 65Z¡|åä'Á–O¸ ïd7"U¼…'A/Æè•á•ïœžV”$ÝÕÏ·‘ +w=#ÈH©èÎíŽäÏ_ן·lk«+¬ uóÚ‹¦Þælz[±ï"šÖŸ®äNPÌ6’ÎyҌà Ë}ZÚÀaŒ`«luO$]Sš¡*¾ àG@ôã’Å4”Ãô†éáãØ@1kÏ"X¶]6kC‰vg"»ß¶<¡ÈwU°Ñ~\Y"ƒ`Ò×Q2ØÓêÌIçf&¶+r¿KÈa&Û€ÿ` þxÎw<¯gTv¬êdí®ÆÉ%Äýò«¦«®NfD‡î›È໪ò8óŤðõ¼ŠnÏå~ÛbB(ðÜrt„7ÝЈÿh 4ä/_,ÞaÅ›“åâ)¦ªš¡þ9ZŠDÂ2©Ì°†Ú‡W¾]Œ"IDŽ‘ScÞÄó’˜øgܵ uôiN–Õ[·âòÒƒ6™|5ðKOnïédã¿¡­Úå~K¼ä°ØúÛ›×t½ ›ËZHú °ãx‡:«¯o»u—wÍ]W/#¿A^ª_ÊùˆdÊ™»På^¾CÍ#ãV§5Wä9ØBû¿ýw+àdñ^%+X¾Ú?˜×ª.§¨µ<ÄÓòÐ]¥ÿT&°Àì°.û#ñLK–ºýÛNÜ%æaô†°CqðÚ;ÞÌaç>ƒöšs|³LC³%à—4cºÊ‡ _M,Jªÿ •ZâÚäZ<ÚÎ_–‘N x™{‹Ú…ãÉÚ@§ ëìBöb»à‰ªŠ 6›üúŠmÄ/šÂÃÔ”Sº%4üQ_ÑööÚ·Ào]c¤7”$Šôßñßšû…Ÿïƒ^ºÒýA¤`<øĪÎÀ Ëë1¾¿Ûo7îÏLwýÕºõj}O¹lWÁá4jñJßƤa’ÑxKžŽ0”Èh’ 7½{ÂLSiÊ5ªyztûÚŒ•w + +ŸÏ/QRèlòLGå‹e*ÒÖWwa4©¡£¥EW`zÇ”)þv(còÔT\ÝåD~ȵ â«HöQ»®)!¦ã…´UQVIÝ:DFBVe[Ç7´„Vóý˜³C¹¦‚‘:äß*}7‰ ™u—¤DlªàôJíö&icL+ÈÈ©•Ö høŠ¢­ý=¥¥y‚‹Pið­y–UÇ»‰³óÙÐ â¦? £ÝB h†Â0?Û·/&Të¶Á³À²“Ú|ßR‘¯ÝºNvá¤ìmäSYQmEÃèxúÀïà^Žb{TØS ·ÕR²‘!62æ7{úAµNÝ~(ìܾ /GcF†¾Ìk©w¾ˆ9F’û,ê3[^=³ "©[%}ÏŒ=XôÔ×Jø;¥ÏˆY~j&{PËk°Zõg +dÆ:hÞà¬ùþC@ä$®+·Ôã„ä‚ÝéŒjB&”¼{¿š˜ë ÉUÎÇÝD.Û •]BI®aRWŒuV+hz¥ƒ½ÂÈ%ûö'&¬wƒ#½ýf¼Wa–é(Ý‚Xc¦ÉN&¬Ø¼É˜|Ñ·¼Œâ| +Ì–9N†)Òr Æpô üå +ŽtR$›†Oø)£³?Ûk@ÎcÊ>•ˆ»Æ]i‘EkÄ#ꃠàf1{¯½kVV²Þ ´DšgÌ,X’p•Žº·[Ÿý²ßb¨ê¶œàÁ}r½<~Ñ=ÚWŒ8gÍW¥€€]e/?¥@̉ü;ɳ˦£¾Gƒª—£¦1jˆ0¿ÐÎèF¥ª,•yt‘ Ÿ¤Úúi˜!f›Cz)±^ó¿÷Ú÷Ôû/˜i9Mœˆ\}‹%dJ;‰Û÷fRÀ[€$©”G>VÓÔ³É8Þè´"ORNƒ°û*¨v˜¼X2Õ9W]Ÿô(²†ß!Χ٠+½€á¡iô¦ó“r¼m©€Ñ‚¶xwÁvN äi +}ñ¡Ç©G}¦­¤ïŒÁaàϤßû‰Ú'ÒÕ/º¿’Šéå«à¦%Ù‘Â@ V¼ÝÏk5¶¥¦Úš´¹Îi†ƒ=À(f=³3ô™ê©ÒâJ}IØú;Ûe¥Õ@ýÖ]9£þð¤ÕQ¡ôŽo¹<Æf cRœJßlxÌ +endstream endobj 436 0 obj<> endobj 437 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 438 0 obj<>stream ++'ì勘÷­ãеVeaãéõ†d|ë›<ô@¡¥ºÖ¼îîÓlˆ|¤îcpÈ ÷fpOŸ…xµ™G­ƒQ|ß(<ºZlN$— ™=ÍuÄ)ø6@ãË +F 9°O!OuŽjIËYnO`ÂA=.'ü½fæZd¤ÂS}ÎìÅX3'JXÞ˜ýEÜPøŽÐ¸â^„ãòq¹ß|v¬Êú‘âa"®«æÒ(¶Vö „·!ðwÎZGúëɪáiU„“ac;ÓGfÇÞÚ=‚JÓì§ +‘ï~DýÀ>5êAç"­~Ú”*¹ù½‰É!ªgˆ~ ‹R—XÞ¸µI½JaO'Ûz¦Plàûªþz–ˆM«Â÷š™ëy†>h`ÚA"ŸŽ5J~UM¯øû-ÿ|]¿¯‚Xy|™Ë°¾”'#óÄzÔc÷ÌЄî+_+!0aTBÕf™Èc™H™Ë:+,4uz‚mI*jQç'B¦¼|ikÂÉB¹—»^å<ómVMrÅ©ìúµµÏJ­òKäõ¦?+=E ¯\ùlûÆý׉´IƒfÒéÂ5»9®´=·Š=“°p¾½ˆš|Y'@ÈMæò–År5^¶û 4“²÷éeoOBp“C%zbHAÃ[ž…lLUy((úáXà5‹r‚Ï jÔH>Á•ÅSö—mc1K×]Øëm˜ƒŸ %» ½¹4ûë ÜÝóKXAÇ…Ù3s.ü]U†…Ô\Ô3F«?´°áá­' ZYÆÂÁvæ¢ô¥Å~ +VÚŒý™ìØÈ…¨H \¡îjý¹†Dê'%ui-zKÓ˜(ÔpƪsøTî>{<ÁV¶³Èui û @7Ãøõ!k^åˆåŽ‡ÿµWT9¹k»lˆøÍ䋱<¹D…²I×±áÕËš¼:æGN؈IâÆÊÉî ÈÓ¤XQÉ_†«Àvb(Bè“ +9v¼¾¼`b¸O|ßÄT0èb[?„ã€&roœø¸=ðÒ®¿@0ú›ÈÕ,pÉß7æ|gãɵcš)Œr’xDŸÁ725œ))ðÐ<²À;›×®´Õb<éSºð±’ëÜX_~ÅV0ƒÌ +ìrivŠ¡jkÖwïBP ¨óÃGÁ\ïóüí'ÿ Ýo¡[mòw£ƒÍ¡ŽÃA\,¼†µ ÷þ.­Ÿos{Te§‘Ô“™&÷; v`|˜n .¾HÏ}Wú –¼-i‰5E8±Er­! Ú +F~Ý¥…Û¼b¹*M¼…,‘ÐP‘hv3ùªxņ½‚ BìY'P£ýšN5Ÿ×I/#)wyý!3‘U/¾u‡i5d'ïÚ[df”ÎÑNP¦†ê—ˆ“k[±‘ä{¼??MéhÌÕÖ©»_ùŠ‡Ç5ºk*}^n‡üZº/š´òcpHµsÇ]¾'Ûè‘ô÷’Ú"lQuÄœ¹ÕΣe!³ÿü­ïb?…‚3¥gVƒ+Ÿ_<ÚµmÄ HèÆÛoô¤¶Y•Û̧¸é¾ÅF6­TÒ~‚“úVÆ8ÁjÃ’®6´>r]Š»ú^ÿ˜»y(Y¬®zËzÜØàž¢.½sÖ d d^I‚ÂÕŒ&¶zEÞ£ˆYuðwÖúo@KΨ+6A‘¥[Ã17äâ÷Û˜¼:_Ïñ(ÚÏB²Aòç}ãóù÷(®MAAnÅQ€wrŸuwÍÄ Ø<ð8ÍæïIˆà»7]Š:0Iœ S¤w’TtPa*—¤¥+³Us"½žp£ßÊFS_»eÇ?×o–7Þàãè$èŸ •{•6'zYïÇüU€‹eÎy“jáI¤‘XÑ +_ô&:x(Óé B=7“‘Þæk­õ‡ü !m;‘¢næ¹—B_fu^~5’ŸÞc"ÓpØ2|1‹–ЬZXüG’ü×ÙÀ­ ÖÜËòSŒjÊŠj_> s%lƒ‡Ø:cvuj˜Š<½™êÖVBo³ Kž„JÓè¬;%F2†A¯òöÔ!JŠÿ˜yçwkêåvXênN´I9€)ÀˆÌ$ ô΄¿NC7A¿šï2[N:ä=c¾äú+'Íœ*òWOr†i©xe„}•wwÑ´œùÐ@‡Å\iÚ•¨Í¶ nXŠz¯yEd`Ò ÅÑDµrždZA›ñ”F\P-ºxÓPQ¬¿ÓFôÂ%\ÑgÄ“Å轞`¬•ñ5‰TßD?äfqès;¹CºGã}8þT«/…L“Æ&ëHÜÖ/|WXÍ€â gœåMÁ{Ö“N/ok ÀÊŠ ž©j10¤a"V“t \=¼ÇÚêºJ,4ŸØ4jË€2èTŽä/¼ŠŠAÇÙU°›ÊOÿ»’á׳°@”õ8$ Íåj:d/àäŸ9ÉÞŒ¼Ýóœh:\WôÖõ¿2ÜyÓ’–:§A/ò?¨vÕâ_GµÉâõIZ×<”Ù’ƒ(Èj½ åY îʾ¸4ñ”.l5[üÖvÝù˜ ”úåð Ö‘ÇjRà ¯‘"‘dǥǕ,oÂ@—ܽ7f¹`³rØ÷F?ÄF÷Nñ‹›‘¨|¬£ C¨J~Î8ÙLAp쇉‹÷ FÖFJI'j ·˜å_žáÐ]õ„™’çb‰Ú`Á¿zDK®‘uN‚u$aÙR#§¯ý Ýpvìz‰É NÊc ° Ì ^⦗÷P-Ôè &]Nì‘Ám,ƒ$ª–³è6<âgg×Ù[|ü5ª|÷9 yŸ–k08¥­3æeô¡5ýœa4Ý I|¼_Å 9AR´wü„´H~“`ËÚž2ZÍ\m—Ä‹‰PS¬áÒ|‰J©À´ûéÀÙ;-ü—E1íãg\V«?{†õL`nÛÕß–¶Ee+oàjÓ&:#Î3Ö2Ê%ºM ¬î¼¸àPMÏŸ#›7Í9¹,Çþ c¸0­>*óW¡Ò-ÒزY×[WЇêm—Uä®Â¢yâ/Ù ›¥Æ•½¶.æj`ä2â℮ώ;5ð`¾žš¢Vù¥ ç‚jm£½A¡k™A)P¨t­»Ä”2Ý-øf™&{\Àz«™8ûÞ +óç +ý,ô{B¸NXL÷gµs” ý#ë=˜Àž%÷™¸´"*¤RLܾaŸä8+Z.:þ¥ùèd£lû‰kco0éþ[L÷×ÃÅdðº»r.u³EIˆ¯pR%ì­Ë¸Øä~%®&p…Qað˜ÈîED~'a-SØK•Š<‰4Í‹ÏB¸Wß +#®>W)Àá=:­=Æ•d¾cR:º!"à¤Äטõ¿ÖÿO ¨¸”½²_ø›”åŸz*‹"WÔ[ ‹G\êÜÒAÃç¾Õ7hÝËôûB=rÏF@Jä!Ž<òìÄЊÍGŸHHÉV:Íå—bHv3ŒY‘žGc¾`*r5ÞN´² #bDL:'k•œŒW>ó×1®Cgós±hÓ †4@6–óø#¬àÝM”<Î|ÊÙ„çð3Ú•ò˜±üÖ—˜æˆ ´pËwàê‰,Û;Ü»¥VY±¸~¯{ˆn—ÄÜlGdÌm¿ Ü".¾üoç¾èÉS‚ŽRð+%}…Jg¾ÝDmŽcØOî Ü'æ1…ä½md +eø§—+^=Úß²Åý×´Ék=QW +aû€N L?òÏšê 0²± lý]n?‚V/¶ +Í"qà/XV­k-(ó©ãkÁ@Ø‹iãô¼RpǦs0ˆHƒ*û¼F +`G«ç¥ÖF§#Ù5å!S¬òyÒ£J=0/D4|«4ø ^4oD]h ·' +ý­>¨þí?ƒ×dZx7}€rF÷sçªÑ”Æ;/–±pDå zT±ñ·U˜O»%¹Ø§jñ:ª÷VõJ±g4o©ËqÂ:ä÷ƒHæÌáíÍa.V×)§zq;³Äðßå` ÔPà!_?Ì9œàÓHUøÐdØù;XÞ¼<ö¨"0Óí:ß…íè±±¸)ê¢ÉÚÜßUƒÎÄÌQ ubòr£­™Åd$ÿ>¢´Ù±?Äœa#os™YþÉÿK^Of~5Æyôö‘ú1wŸ†Óaç&AYkþeío]%Ä2¹Âµñˆq—hÏD­mÅ’[-£l¤³öÒªûy$3ä/¢È\É(™úcÃ2èm<ÝA;ËÂô:õaÞ€ +¶Ë±ƒ7v\UB+íöɃ[¦un)¼!ÖYL­7P“µ&8UþJVÆ•½GW$²FƒùÕ© …++˜/±‚!hã0ÝÞR±¢ûIpéµX*ïR”`hhÌKFK1[,G]G¦á=Nw×>.2¥4Æ¡¦ÌIáˆð¨‘|ò3jÁÃZJ{ãwÊ4 +Œt­þüÍRKùÀÈp€¬Ñᾆ$¾÷~¿1þpm˜äùiqÙŸ0‡»>\7ä±}'$–¦°.2œæáëgVÂ~î’lMÖZRj·6ÉÌU÷~ac]X^ýšÜñ + ·þâcJð\€Ò°BÀ÷<—ÍŽÉ95‚|iÑ’@ÍØP3 l€må•¢SWþÀбQÞãEfÚ+£ö¢¼0P‘}”¿‰|—œŧó±0v—õ ·Ã‚ÔÕMÈTâ()Ñ}Žd\£P916Š;ÀhôEªGTÕΨ†fª,ýã U\ïåf7! +\þ[C÷¨þþ0U{|q¸iéÅç·¶.ʵx"ÕÉcüö‡èý‹Ç¬Ö;nÎñ0¬ÎpB~Z€•<ŸxÝHÌWY·ëűܼXâÄ;mé&.-mb7K„•{Îã+jÙƒ“ˆW‘žýR£`qðΨù¥–”XH†-ðÏÆå &%°«Æ´Ž ŸpŠß@ÛùÕê8 Áo»>⯾²®îâ“éÿcŽœnW´áÍ.0­ +€l5®w€“4Jñ-Ö~má7 ¦"Œ+ÍH}^ƒ.ƒ±qlÀ=\<_±:Ùþ>}{ ß¼|œ:›öôí^8ƒ È}Éîæô +DŪ䣗£âºÄ‹òƒÉ›’OßàIèœ4vo3ËÚ`µ·?`.Aæò 3»å|‘­ÀÂéAü"ý  Z^¾9 ÂÍyÅýÞ[ˆê艿£Æ …üotaî9.YDëÿ–UB[yª°y „£.°ZeéýÚÈñEYÃëLÊ|¼Ã삨(ìI-/u¦.¾Nþ©zX¤‰rað'íŠÐtд5º±-U<9¤`L¶»#šT|eÙ«qùP¨Ž›ÏüÖƒÿJBbý§€•DO /‰ì$Q*²«RHÞÍŸù•š®¼è Tymï&‚{REqž¯ž#Ó¡{‚µ5Ýp`¿Z•¦¬š‘ž¡`áÓÞ2ÉUäÕóö%4sS:-¦¹® +endstream endobj 439 0 obj<> endobj 440 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 441 0 obj<>stream +ݤ‰ð'B_ ëA2jr¥ïs- ­Î¶ˆ×x°(KŸ4Ì@µd‡ËÚèVZ¨Zä¡ÛKÇâ¾¥åm}‘ÇàïåÌÍìOÓDL4jÁó­}0\½† Rtç‘îa|U…áøDÌñäŒboØ·Sø$_Ûøú—âuâ‰0Õ‰²@Çnû%¢š=ó¿»°OHGf™ýrkwÖiÆ»ãRªîëØ_MLgÅä^ÍTóG^JW ÷F.®ü™æ,dð÷ Íó +Ï2äAp1Û­‰ø¨õŸl—~˱頞£!n¼|‚œ‚ˆ¸óÙ×7g›½¬ˆAVÏŒ½ŠSÚñL÷ñåÀ—Œ½ Ôïéùí—3''ÑSª`éG«î_c}m+ÔËÉ‹µ„µ)ÞP*üNOñ^:܈²™4?ܨÀ¨Þ·äág"·(ƒ2–u©ØßÔ5NŽÉ}`Öiäà ´À‰X¬•6ª&ØùR‘¬þºð¼t«pl×?"'yUWe0<ï¶nW).=LÞ¼oï2/;€@FÀA2«|Yºû&» ñ¬î²“6gÕ¼¥XáyâX?Ýxqq¿ZZ&çÚSQÐûÐ÷Ãÿ–²—œÐw_ý°nlæE‹ÇérðG%†TƒÜŠl‘•®`™B« >Á¡;á ^ñ\åê{8nÓGeÆãë½VÀ:d—L÷¥ +Ú`äp’¬Å•6ñÒèGžæÅqÑuùàûïgú~Š nlÂ_iÍŽÅ6ðÙþ–e«ÑP'}'®Z5HøÏ}'àÈ«sÅUî/m‰a? =ë4@I”Ï\ÀÓŒqr¦¬:TfØÇaš.Š¼óÀżC¤d»R7Ÿ€›–ÀÚF3®d° @¬pá°Õ{§û%é×îÀŠÁÛ5io¶ê¬w"x‹‚#ZÒú£îKÔlÌž?Qî +P¦ï¢•ÙîSdÎâ®’»Üå¼Ô)¥ã…Í}«Å L¶®‘Šù®­ r±½X_:KU‘~,âzo0oŠbMv©·öÍot–Ï_}£¸Î»R  êÕt‹jw*~üMY½&ºCeú ²á¦vC&ÀËÖ‰;•¸ïOƒ\¾Çh‚aÂÓãm HA²OCÚxP€JFó{'.,,M¿—†)<ê6‡W°oÀEh‘EC¦ôÿÞý+[.N¢wPnEpf"5gˆ|Ïþ"ÑBäDBŒ„"ä„0!æ¨|c}‰Äz {'›c?Ñ “> ]Œ[m\ÎßÃ#Zb}„˜¦Ö¢×â•@r‡Õ[ô–=績Ð_|tˆdªíêd»Ë9)çžaØdlÄ&km˜‘œ³ñY?ÐðšRsGBÍos‡¦¡\ï½Êq¥“‘ÜÑ—êð9ºCaƒ0È«|±¡gbjp VB*Äœ"¸÷¥à'*Æ£²ˆØ¹&„ ²[ûñÊ·BNÕ\YéÍã¾ÑŽÓå×Aÿù¨GT¾M׸׋ÍRh•æLdy\_/`…“3-ˆ7÷•Ò»·Ü߬RîA™§<—_ò™+ëûׯӶڌ=S {¹[K‹’/ƒÒú¶eN7öAÁ•ùØ µÅá‡PŽŽNRH-×/½¨ã‘#zsÀ!½¦}DŽFL‘H´q/¡Ä·÷xkY»…‰ X¿E`1YŽVx{O×”¹‹”ˆçàŠˆ^™åj6ûÔ«t^'Ú/OUÃñúš~ñqdo™Ý7dù&©w%\^¦‡(Ág]p±7WÏÀsŒ[c0 j%MÅÝ?ä¾0…«Ò–ÃEÂþ´÷ñ€ÎS¸~]a.u ˆg*g¸{v ÏâôYî¨A¥OÉ‘‰™s·«Þ÷ÁˆbœdÅ):6;¥}UÁ”!N;!s†¥.óáš s»¢x‰°žŠ¡ú«‚g©á­ÞjUÒ¥p¬@|m^,¼Õ‹ÕnV¥¿>jU6¿º$9žÝG70šáK8*ŠüF “ÂVP5€×¥…gTô9¡­ããñHä9¿ 1g\ÿÒl„ÁKX2é;ýJ»)™%©¬•=ƒ¬‹RR…jš6mVÈ„µPœ«?gœ4Ê lBb|EE4<Ì݃C€ÁÅ%ó±žq鋼ýwÁ@¬uCûw_;”Î :Tcµó¹òÿT«îBOo?Û‘4˜ÿq͇y&±…L’Ö´ÚÌzk³¾ D¡ ÉýÛ¤*/§T­ý$…èœìƬ-XÝ«ÒZ2ÔhÇiÛXùEäBÔS/øh°CKIÈê±#_Â[öú +ü³ªƒìumGÜw¬V²«d=R•ZBò¬€§læ.ÞNLKPáœÄÌ`I]$y¯x$sLšû&[N²ç#Drk¸»¢«ÔÔ¨“㽸`µÌ)(üeñtë +Š*Äù3e8+:ðàþrÍ‘²-NÂÓ÷>1sº0ÐêõZÖûᕸ¸=òk¦¤N(¤}>2½¦0ã5‚ø¼ëî ôäWO!rš-Û.ÙÓ’@1 «ÑöÏøRL–pdµKê¿ê [@ßC÷1¨Úw]FçL&Z· +fd™˜w[3þŠ* ¦ËÖVúÙ·×1‰+i©"ÌšÍ2Œx̺͋¢ž†ÜMX›IêóŽ^$—¶ ã'té8$BæÜ,CÖfôbȧ6rRËÇãV{˜²Çk"§ÖªSw˜ëA? QLFÃÍqÅŸ:¿³«·Ùóq>t¸ç'u9¤©M5]DÙÌâœà msStöÁ¹q½¸CòÐÕµ±´Èß>`ç°O „Á:ϹôYÎ +ˆš!úfÀU¡l÷ž2  ²Ì"dx®,Ä“7,øe5Ùµ”vñ“ö÷ƒ +\²„%’¡×æ$È:i¢©©còWjR®ÍŠ&+m5YM¯»ª£%J°<‹€ŒnÚR$s +èoÎjsððjMêy3d)´óXÞéä÷';àÑ,–ÅdàX¢¥BvbNÜÏ}qíæ:­ÿ‡o ;øÎ嬓_™Q©E±~€ˆÄýì‚*N@.îA݈í’!>Ü)•­’šZ>qú0É¥†£Å¬¸Úöú³ba‚G§ÓúBÏ«*¡_ ÃqØd2#ówÜÎ3ý‰ŸO&÷Áª# ‹ÃyBìã›ê„7-SµÆ ‚XÏé…ºðñI¾|sý{NO%µ"­ÎˆmÀ1d$„JÎ0I¯´ÄÇOKû$í Ÿ¹PC¿ÌÌÏè  D¹ÃTYR‹ñCReaI/G"?„Œ,Þ&S–Öÿo¥P³§¦JŽµC‰tE)²L'îMoMIâAZº±‚µqClò߸ g:ÅÒ(³Ãn)¡®Kÿ×ÿ.>Hìýä€7ÍWH‘ ':í]màóëž CLå®[¾¥ jŽÉñéöpß$m¹|·iXu‘œÝ(`‘‡šµãµ#¨J8¸9iêß6bHd§bUJH +Îo¸eºvhÔon ˜÷| ªÉÍõo<¶Oñá•`Ì;?ÅÈÞ+%%ÐRfàDka²Û®:ŒÜX({¡HNÚ>y½RÆ-çS8ÁÒ]ô·¬äë膙Ï<¶bHÅÛ£{.gkd£.‡ö‹‡,BžÉÐ2t?W(d´‰ap]6¡X$u fÙ'†¿‰¶åOøÃb)éú8^At +ʨÍc/8&ÈÀ1ÉÕVЙúëÃpš´ùÍÌÈÀ­AÝY®ºb|ó# ŠÇÜ—všnÐuÂ)ÌwÓnŠ/hi=ù¼dèN¡5Ë +V~‰Q&='µ\™}ÝTÙqz–(ÝèßÎN¾ð‡âsæ“š`› +—ZH¡KÏ9"°,‰ßT§~‚p¤tá«m¶”#Ía‹ðCîn|ÃÛêè1xŒªŒÆs\z!µ¸ÎbLÿ:!™Éö©K=‘DŠ_cs,ã.†²v¶=Xäm…bÐ^«ÞT£ç2¸`´¡ÊÂÍJ¶ÔDÕû¡¡ŽÙj¨êíÄb³’µQ0ñÔWÁ†Ô &'Ôãh¬w¢ò’üÏÉbþtÈ‹1~¾Ô÷:[ÛKáMä×ÕÿóeÚ¬ß;dqu” íSæåÐÚ'h’Ú²ÙíçõÀ™eý«š®•<ž‹Õæ>p²oéj¡ýVÍ£ËÒ\±^wàÁ× õû@Hl Zu¬pÅ—>Úº…zïj7yØóA…¦Y¼vÔŸ;í£"ž¿Ðv4PÌùÉ=W•Ìþeýöð¡ ãúåÂ¥Ü/àÛÔd„ÞQ2d5:6%ô#ËbA5wöH1ËÚØWªÏÃø 7#ï`I:HšM× …^–)ÝSÄtûØOX8úMxô½)pú„î2–”d⤧¬­ŸµÈ +ð"~ã‚»áͤcl¹˜å c?ˆ¬ÎÝœú½” +endstream endobj 442 0 obj<> endobj 443 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 444 0 obj<>stream +ì°ã5=wyçÐ'ægg×¼“A“\ø%ΔºìÚS‹Úš … 'ÀðÀ@gÛÎÏŠH”T¥®”À¥Ùº½>>ý<í¤HR³¦lð¥-i^R¦‡¡œ:§¬ŠÓ&˜¯·è À›åïÁÙ¶èï=Š­Ž)冃¶&Y+úNÚOX¨îJ½Å m&fAXÀ¿¤4Ñþ$Êí°ÂÑ.8ûg´Þ :_¸ ¡Kä°²Ew]j;CµK(n_ÀR †ÙSxÙ<:“øB‚³VpásžYzKÐDÎ+Þ²¤ÇÀÍû)öÝ‚ßjÜz•ŒuëÚXµØîWNóvd¾ãcéñÍe›@%€ÿ9xËx{ˆGƒÉ~M<ðÿÚ×î,ç;¾´š_æs)»<Þe7–°Î¸Í¡!C§ À°jL`z±û>5K[‹è>ä¿®çÃÒ`I˜žª€c¯@,EøÕ¦{x +!­Óš"KV²ãÍÿLƒ¡Õ‹ÜòGwb¤rÒ¡MV·ÖD—NÝx*ºíß0¯ßã®9tGD$ ä?Ÿó-T§5ŸÁ¾žwÞ8?Çê|N‹µüÒ’¯uՔǴ«×™Ç r}»mËs•»ŽÏMEŸs)I½èÆ<=„ä3Ò)ÓÚ©qˆ¤N;1³Oºk‘ÖL/KÌŠ0G¬"`µŒƒ•  bþ†ün†™3ÊÝa$ïË¢ ‰ÕLB§Ë@À–i¸ˆþƹ)\IÞ§Æ\çè7eÀ7Š³Ëâæ7iZ š USõ/.ýmõµâªÇtÔy j¢1—ϱœ²t\pY’{n¨9†/K„:z‰v2]jY1,ÙåfdYü´—¥²Ýº!ndüØ€ê[–"Fùþ¹”ÌOŽ±4ÆÀ˜‰§ž“ÿ…©®·”"3ý…ë@’œí&ªÇº1øõ03¹q96]ü—,„\ÜZ󊳺­—¹óÿ£¦˜ý<¹òíûªÐJW²˜‚ÒA‹ßjÀýêÝŸ,ÏÒ*gŸôßââò ¿RqjëÒÖWÓ¥yð#A.Ú¤¨”ºƒÛëÔ÷ûý´5‡¯V^P>>Jø6p§1›à­¯@ßis¬ö¾¡½`M-J°îPe‰¢û,o¤ 1ðÔòrý¾î°º gùÑ°Bê6 l«MÈŽ'´ÝJ›¹Ù>ÿò±$õuR¡MÌ(Ï2.è° +¬¾¹Y³0é-F»¢Ä éT<–tIH|)Àüz¼½°vÓÞ‰¹îËnÀ—^‚O<ÍZ;"IöÑUË:*ö¤»È`£CÜâ'7þ ß8&Êe—†Ñ»=O¶1ßIF1„úµµOÔˆðt.ƒªªÒjó âÒÀg”rW@ÚwþF¦P@ðÑ«×ö[&·iKuöì# VÇZ9æEXIÓÜaBÝzÏúˆL9!$‰¬”<’ÏkõïTý”× {HAvééJí Š–Ó”v"¨"Dš7íà%›c¶å¼·›ûfvªM=²vûaú˜‹ Íðþ" ´ #¦È›5UÏÄ7iFS‚oÈŒÄö·¢ZN:ÖK·<ÍÊÆ.§ŽH·³ƒ Ê]UJéä–h&(öƒL®nÖñ©Fz›?/ÑPM£üeè…qÿp½ @iÃ?:16Y5<¿&³ÑŽR=xKõ»TDÖQÿ½ŠÖÛ½ÚóºñŽ±È[a,Q@†§7IoYÕ¬†ñ±-sùí[¬î[R™¶õÓPRü!é‚é4µäí+ñoìèëXâ ‡,uê³vœ†z{¥5ÏèkA–"î48|éé®VáíTR•qצ£õ1ë•JÝ Ÿ¨ ^ųî7+àW°×3Ñ·=Xsê ’Ò_Ó¨Ë 9Š…8,/ôdZ临0\!ÂËdM'¥š=Òý¨"­uú +qP¨Ü`«óë œà­ÃrïíÞ#”Ívó™÷ÉI‘:›#çöÙÜÖÆcxŠm%žaûöÅ©b6Æz•™ó¬ýóò<íCn!¥(G/ÿ§–$Äø.SŽ8e»8ÌXéI^Á ÔÇk EÎïx¦·BMçqîJ‹ÐG,:å)lÆÄqr¢.Ž¬1„ÞÁØ LwäVájYHZà™’·¸âdÒÜE¼jLjùÝMx†¬üM½¡ïŽ²“ÂÓ:îO”.’k6"Ú“ yñ”t÷b‚&®A1ndgäúˆJ1ள$ Ùš¥(b®ž ˆ°²àîU$pŠ Ô«ê;i0×4ׄ„³±Å + +·Æ$o\¯GA¼ ›çÄ÷}Ú׳g#ÛÓ(Þ“ºÑ,~Ç7û5»ë1ÖN&CÅ -Sà#’SÌz Ðì©/…;kô3_‹ÁNÔã,à ÆÉŸ€…Ó?-£°ŒN×üéH˜#Loénz&yø:m ++Y¿)ù¬Ó1CŠã蘧U’¶‡YVP{!ûæÎBÓŸ!Z¤h<ÇD?ª²‡"Ÿ‡0j7„8IÖüq¿²2ëbÓQBq³`熞ñY¼×Aœ“Ò ªŒ¹E–…k8ß–«oJqiýÇKÇe”GþÖ‚M±1ä>i*YÕæAÉñžåÀW\xxø0œØêžUSóˆŠJ•ä›÷œZ^³4µ³èö:w{?Y;Ä™©Þ[åØÀ©® ë[iŒ´MÛáÊ@eÖE§å›ÏôÀqÇ4Èžh»òü§$a€”Õ|d?‰åغ' ‹DÞÔwel’Óî(d1JÉ»ò—RîÇ?3Øü:gEF„Þ½3PÛä¡0ø×¼bœàœÝæœ/õpœó‘½¡mHâãØÌ17_wÓ¦AØ/X;ÕÇ;Õý\n>›TùçÏÐÓ¨€Çµ£¢‚¶w-%|Žj°lÑbñ\TßfVŸnÓ+_´„k™mXºTÁp¼¢`ó•³kVZ?Ù â‰Ç¯ë€IM´§'Î/µ]T^¬üƒ;)w¶óBn3h)Ê`ö_‰ñê+o·<fùoµ.üÓ˜õ¦»“ŽQÿ¢d!<¸mZßtè9á=ciÀs8‹£ƒf Ö +T ¸Èü»ãÑ•Cý&í‡z ëIfWÀð–ÆL绸¤ËÅ„Ó¤ôiîÀÁàOí†)‡i•‡"A, N| û3ª3çMÅô¤†Ðx³ +Þ«êË}µÖ)®[Æh„Øó¢†ÞyAõe¨lZR©£çrÖ6*€@osóûœ'—•\_æ‘Ã}Y€Ljã*Ù$«_Èxo–ÎC-¸\4#ñ Œüf‚où̸â;q«ÐMa{n§sܱ38ùñöÃÞmá…7'!*–´# >äRWÚ$¡Çk‰“ ƳƒwœîK¡i–ùexzM8c©|i+@íß_ü.•ãÎ’ÿ¢' ¤œc| ð{'êvH+ +¹÷ä²ÀTXñ8ÓêS;ÄxNC0A@™—´ëß.+O68C7b + +þÃøËiJ¨x¯y©zË£,/m*§ÕßýÄ„j0\|»T*ÔÍàe¯N,Uyf=dm€c#̹4Ÿ±b‰xælò®nó²±6¨"`¯d5bž1PÜ.¼DÓW©-üü|+>šmEj7Lƒ5­éÃßaù Q)°Z +@ýÙæ7 ŽJV²)EQ+Án†r;ä´4áó?õ¸=¾(%ƒ“¿þ=Ügý!¬ØùüïŸÀÔ‹C‘·ã²~qcë!zÓæ®ÌÛˆN ^þk{ †g5•YÝÃiâÇ…‰„ò[lKÂB¶3Iª8 –äòª„ºk£¢ÀeU/O0ys‘&l]Ì{sçêŒѬº/œ-•›ùÑ"$©ùÌ«5–— œ@æÀ£¯ã´ƒ„$:QÊ%„ÍÎt(*óÕº`ÛRªÅ?ÏåØÁ¹Þ4öœá'Z@¤I–tþ]3E!¸.ŧXU  +H €ö[˜ÁóImZÇéª?{²Î›5úŽeúõz¢­>‰¢h¯ÞÏ‚G¹ãÈø ]b¦YŸI +›<Ý5Šaa 63H“·‹¢dÈü>”ò`÷íF‰šløÿùÐNW‡š=t1núRµ£‚f°½Ü)^³!·óüÙÀѷ#cÃkïMâ<¹ñ{S;^‘|ÆSGrƒJD©°µ'ÏO#4˜*‚ßYˆÔÚÄaÑ­Yh-#0ª6J^Uóz Ñ´Ôhßkn´½F ê Iúç€%lEï¡c_ÿtƒ&ñóуâ·UHl¶LÛps5ò¡$JO’a`‚°ãh!ÕJ€]XÑ!o0]ÆvíJo]œ u™øº®ü%Iùó +ŠÞçÔpkAÕö²&X4§! Þ Q0: \ýLÛm¾:£ˆGAÜØ…Eq8À›ì,Š­4+c?ÄŒe•Ã\×*˜åöS@¹ÕuøÀ£’±ØYð[·¿´p8©¬Ð"?iê¼h»ñ“èq~Ÿñœ~ß\*?³á¥•þP‘¾æáw(#2Å ‰{V±ÖL.¥Cçð€ð‘Ì ƒt8k "”5ðGˆÿ úðf»ÿ˜ñÄÆoÌülBXoË ã‚W@"#R,¼Nþ¿X°ÉõÆ!ÖŒ-´…„ c³V¥¹h –+@eáMqM?p ¯„ÁÂé±@Ïä_o?ù¥ê‡]å\{zqy¶ÃZwÁ;³ÇN#Ý0ž.ÛK×\áïb6AlFFm1÷Tº‚h&¸^Á3pf”!>£–†Ç™æ »Ø&òàÓ?J&=í(ñ心ÇL½ >gM”ûçýOš=÷Å3 +E&¥“õ#{–iOÀÛöάNÆWK> endobj 446 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 447 0 obj<>stream +×;3ê : jî¶ÊHéÚR:$ÊÊðw×ÇÌ•4ƒ>ά¿êÞá“G8âoÊF‚>ä\ʪ”ÓÇeÉ(4I‰‘âÍúØ¿¸Ü6Ǧ*N%ß·ŽŽq¡\Љ™¡3õB@Õ¥c’ŸSX›Tð^dRi]žé2›Šµ7ÖÑ7’ 7)ª'$¸B&wÚà40›­$Ÿu»Ï`çîd)e™¤Ü)Û)p ç”Y«¯’‚8š8ËgQædÙŸ¥îÒcuéz¶ñ‚L<…ZœÍþŠôu¢SÚEJôÑ3-X8Ý +è„6%hŠ:)ª&I€ëT(£óV*£ÕãóxWiй? ³R“Laãïk¦å4“`‚cG9”ì®v1NPY²V‚+=Âæˆ Œ j ?]}ò~¿¨m~Ä¿„rø¼Ü “=…Ѓ )VŽ“ØOyëjÀꪑÂjRŽ?®="šËt¹x‘mì¢gV —¯m÷¤•8ŒKsÞíÉ- 8Ó霶ÏuFÖöBêb½äö{ÂÖø¼oî¤gxÑž.Ô·úC=I„p·^q(Xg¾ÙÿÒHÉ®ë2kÈ/’>Ç·ü1Ãio˹*œçЋøò‚–„ÓäzêôóÏý{‹4*¿Œëµë:]žÿµ*˜:×%JBu†ZßTÐ,Ãô:,qÞ;ù:w¬jé>??R;Pý¦T÷`hj¥Ùç¹ü_ySE)?ªƒˆ8 …‚› äö`íØ<õ£*ߘ^Â…\þ”7®{y®q¡­$ ¢ßýù¿ÞZ鬳ä}xqѶÝr •e8;Øm³A@šíÙñö÷Ó¹$ö×S&{Êè‡&ý“Á ‰eÊ¿Â\ÿ!Õß?ç*Üi ”®‹Ê«Éâòý©›rq_†6°§2¡©!–ùŸà1uMüÞ4˜ê÷ÿ½wM~:öÿÝ-€d[ž/z¥|Ç<8l)÷$èÀÈÒd,½bhÜñÞø§"$?Ñ +ºåÎ$*<ˆ*4a¯âÃ+·€ù­¼°ŒÔÀÓ›õë‰Ts@ìU´ÁTÜÚQ˜Kß²h»‰<{Q£dœ‡ùóŠ{ ×|MO± Àö’¡1ÎÌ™¥:#fÀÖ–OÔÖÕÁʉŸ]ôæV7ËbYÆFüáO+hŒþ¤óyD¥ç)ÆKnB,ûZ°2e„Åœy¨~ +Frÿq4]WcôZB•ĞΠþ.¡4ÇI‡?Cݲ—(,:á*jÕÄ7 +ˆ-ò†å¸3f ús”³,Œ‰ƒWÝH¢ÀÁ +¢Ø±äž3}ÓaR ¦Ç´Óó²mOå¤4ç’ƒËìêEæ!ŽXjüÕ;ôÀYÂn\}{ ?ãZ™ÍO:$Ôá/«,“çÚ†£¢¬—_ee*7úü>bOæîҒ7s!6çâ…Ô\®YªÈYâ¹ö¸6£™éðÈ[+Åö3+ü”¬È¯õ¾¶ÂEï²vó5˜|Ò¨Öù1s£´€]³øW5¦ ,o~™ÇÕ»¥dϬWø®ýèG€´M¼]aõ`IÇ#§Wé)Ü;A÷b=ÑšH&19Þ×SÏ 1Y!q’TáÁ9Å¢d-èØÞ͵ŒrŽâÌa—ñJÁ?ìÏ%‘ë/åÏÿ5ÄÅVTll›=2%ütA×Ùš|ŒÒH‚â¬òûãòVâR©£*ÜÔ ¼­åm1¹RFñãx½—ì$ZÏÞVÎÏÔûÆ-"ânÊô/­kcNö.üwq ßiµnšÀÒiØÎ ]í/µ"ßÍé¿a5†iiÓ€%¸ ´­O¤G\ékØÓp׺›Æwi²•F ›Jú”“Ÿ— üR/#†|'ÒI›Ž‘s¾³¡$hõáeD:Ì‹O~¬›0+ñu*?©«gÕ¬HÇ]Ó¨Y`zú&$ ‹•ïX‰:û䤑`NC\ÔGÒ¹&š©R3Ѐ”.ÓÀrã*©Óõo/Е'Úð›?Sæé~SŠ½%îVÆ$l“Ò›™Úw&?Â!Á½=Ý`#¢X0݈”ÀMìs §ùÂoÝ]ƪäj’ºÅTÔ0­“>jõLWh­Ï}q<=í;[œHÒ`ƒ¡8,e"pkFZ”¯¾½L™o§7d¤rCŒ  S‘‰Ý*áhÛ^ùîq».;¯jð6TÝ]Š™(:bkÌèåNyä“Z»®5)õ¢*K_S(_Çã°üÙáW̽0×>GkÚÙ¢íuàü¤ç½Ê矲œK}¯ˆ†Ìþ·sÝäßI˜²ÛùFšt +±3‰²¹{jyJÅRœe°´²¼`&s«Š‹$ì[²1§†µSÖdÔbŽkŽR áES•Ïö è2È7\G½`¥©ìÖž§+çy`÷ª×ŠN6ãÅ©brD«™š ¡JÒmør2ϵŽœä¦Õ( ó [2 +ÇùFÁ‡ÙÈ]ðÏùÚ(rlš†4ÝòùN^ã&0‘>-]&~ôkÂÈ¡˜©î¤;:%T9 +綀h£Òe@ž8Š ¾[>ÿÇõ#—2súÜtÞ|Ž$¯P[™—nÚÿ¶çª:7é’†ºÁ „ÊÕµ`65h¯± ÃËW ï/zÃIlJ’ ·Ì&ñì³çsjÏj„Ó4¡ë kèjEM'«WèãÛ¶w¹M[•G¹+ +sI(ÂÜ¥:˜ bè|‡ö欧åšBðGBKt£Jlx ²¦Ø¦Ù"êìô,¸ oþ2³pn­¦¤¢ø¸ÿ(Α¥þž-IŽ## þ¬>‘ÆÊÍÙž¡áHˆñ…JÉ›úGòyÒ° ËÆÁm˜×ä.IƒøR[+2Äò,ø„Ôû¨› ±lûy(ÙË +ÖáÂÕŒÚÚæºöî³Ëä^ÀØ6Ó Üõž¬ìÛÏ ™íýª;Q ÜðÀäw—7õ˜0\ÞÛ?X[”›Ñu’'áEtïžg~¡«{•Yìw}Ð ê?ÞBn[ŸØæNŠ&¢¿¹µD]¥ÈimÁ$®õ½¼Óæ» ”*Ðo£Ûô¡aÉêóDFséh-ð%åè5ó.AÅ+J8¼'K=~«ˆ)6Él®f £zL>ú_=8]¡àíìuôh3~öR2ç†ÖåóëŸ:'01ïºù”hˆ½jùmí˜ä­?ý;™§?Ï"B° ùSJi³ƒP.#WÜݸM4‰¶éq.` T‚èåÙB4€T¨U¤\Ûj­/j]³34¿‚Ùø±óéÂä]š'¸ÑÞlgáˆGøà\Âå“ñ>ôm锡hŒ> endobj 449 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 450 0 obj<>stream +¥¼îà ÐßE[²ñ=›¢ëà-ùü’ÒÙ戂 Z¡JŠk ÿ`ýÙ»Ød¨3,Ú%8‚|²D|ïmçܯu6â‚=éd.LƒôiU!Ât¾Òà3¶˜?tõiDÚ6=^˜ÿ¨Û BZ¿Ø U*-f3Ãc0Ø*NuféÞGn†ÃtK³ªl³;m( ¹5«Ðw +ßx5!Àÿ9Ñ*%¥Hù'ý`n·€#"R8,†ó8Všãùw­ègº‰>öáuÛõ뎧^›¨²Þá,@• D½­À d  Tøw©_[NÅ©¯ Ë`*²Š.'^Û+4Ç©M"îì ]†éÅ}xg8áÁÑ +rIƒ‚ÞÓvZ¸öuêßç^ÄvPc‰áòš ™¨ÄOpPºðB>ìñ¨W!×CEýlŸêB*]„ö?|éßBÌ{ÐÞ½PÒÍ› Ë ÏCjÀ%€â¿½{¤¸ÊQï­u—ØMÒçV2 +*~KáGÇZüfÜ7ÒßÏÇuU@½¥±œ£Å·(­YO(ƒåÀÝHn&=Ë—šQñÌñò#ÒæˆêP¿§uéÌRÝB‰iÁy5¤ €^-Þ.£OTÕB“Û”zên îX\ŒˆUoß(ÙQáÜäõtö0ò/-ðŠµ2E(w7 <“ë#Z ˆÇ(Âxã%×½ºw©¾ba:Û˜nžŠRW›?òg=©ÅðŸ|Ækä(°A[4¦/2 ꈉ¾‚¶½µ¬AHÙÏ*°«áìdíÎ3;Gï +UÏן\G6»ï´’òb óžˆW|9æÏ…CU™Z رþHÂÉ|¦ç¼}¡G7CÅcÖ.ñ€K™?O‚²x{ÞŽ*±¿ô%1b–æàô(JóX…Œð¼¯F)p»ƒu2N†ÎæÅ:”£»íЇÐ{d šò†VÞ LrT¬âWˆ‚cÖHºdž AH_Ùæ ’LâCÝXåšKµì}•‚ÙÝ.pF0°=D2n…¦C†“ô5^œ9@ÕôA’£ÎšÓBaE^Õþp2Ý•gA¼ÿí áè‹¥c•yÐ ü³Ùç”ýÕ¼þeÒYñèg{ öò.Ãzwˆ¨š›ü`¹a£ßï—Ž:µû´?¹Â®©äøå?¼‘?§ÜTîâA†u«]cøä󩧿) d>tR”îÄßÎòyJp»Ê5GÊÖéÞÚã3>\-`vr¾ñêzlè ºÇmÒ^rQ§7dÚ¡ÜKÃwZúèx11ÛiÁu_"Â8ˆiG ²¬=v]X +—Œ¶Ö½]ÃЙ'Ë|ºMi_ÏëÜFbף˦ +ßµn8r +pÌ3ά³÷¸Õ£ë„j¢ìk‚h -i¹ìDŽ®ÐØ åw†­þ”UÙÍ^„Ï3`ÒÀU™á½_”!ô¯–†„4I᳧ÿ)ÁŽ€lÉÜÒn‘€²·À›Ãd+(ÉÛJXÖ]C?fJÊ’¸ÍÌ#ÛÛÞ–AùŽgìÌ(§™E/ðX^ÅøUUÑÎ=:•ÇU “ä83Miâ…32ÂX‚Æ)Œ÷_p0œm]*UæX‡¤¹Äâ)äp ˆkÃ*bòœXØg䤸Ò4Àѽh4r]¸ÂVÈÖŒgðdxÙ?§üptÓþÁ±%Œ¼!`Ø¥ýëe7¤yÛ]€¹ËO)¢0“ÌÞHU(ö6•åSs'UWºä\Oaù 3åǯN|ÅðcÔšIŽ[0qWÓâ=ˆE €ÎCn½jX[©\Øš\6~-¬ùE³Â…â[&Õ`-WŒ<æj̾¢ýÒ’ôIF¨EÂttÿýÿ6#k•””_ð…dP1 ¬8‹iK%­ÎR š°‡U[WøšOqr¡ þ’´;k¥Ùcªž­N‘Ëç\Ú ²–`r÷vw ‘"TçA¬²¼^À[N8o–?mëÃîÛôl—‚¥¬VÎñ›N„IDµ¬¼,M²Ä„~ ¬Á‘/g>Œ«S%FÐA…À¶›ü½zÕ!‘º=¶ª2@vsK-Ä’E ÍIÚúøŸúx­qéºtsoÁdôÈ–çÒÝÂ"`+hXFŒEÌB4 +wÄDSžÁs“µ”PZ¹ û­”4Á)J¸¢µšÍáÒ¦îÜG#Šk†+Uéò} ˜IZ5c$H·ï¹ÏMÜv¸SÂvÇò¤š§"ÑVËv7†ãT~í|>t¶oÆú—êaÜ>]X,A ;9æ5¹<ÿõP2Z‚oIëDÉcñŠÍ³>Í-ÌÂásnZñôbÕÀD‹·%e™3%h˜‚²à¬Ç¡sÚµà?†s¢@>‚ŠÚz­mzm _dûˆ²:ǃ  0ãYaepœ‹°*3à}*%®¬‹-@ÊlYd.¥4 ˆqkm Y»ë„ÆãÀ–-Ö™Þݨ” ¬‰v€QŽ¢ùõ vÛG0"èÈÙÈ +´öU\ÐÁË~á™Oö‹öÞ.10¿Ù!QkªŠ‡¢²zFȪò^}Ž=8À±3·“ÁþÒ®/¨ár7bjZÐÔ¦¹‡äGtgr¦@¤P\ºòàž«‘=gð¼\¯ßqËŸbV;ÙLîLksD˾Lßc€O¤cWÍÁíÜÊ*¨–·üÈnbÕR…è@wwnªu äS +ÞæØÌØÂG%¸âQ#«Á9­r'ݹЃ+œ’Ë4ݧ’W¬n`wãw2)à£9¯A!´žî–xжÔõ¦ìj%þÐô®êe/M¿Âq\7ƒv•]ã]I\¿P–F‹ûŒTqo56Z†'kdÈzø4žJ¼Ptß2³Å¹žòÛrÛë×-Lö1a)‹( +˜Â +Þ£:ØUù²ôJF+“lÛ¡'s¸Ò.ûþþCÇ Ðӫ⟪CÉ3ÞFzOrß4æÊùþ(ç8HwØK)š¥¹KÆÀkå´EZbwê +]÷ÛVÐÂ0PfÙÜ»gd€šNbžM:W˜õÁå»I`DËNn£ñ=×É©Žy¥ŸØò7é‹?€¨ö_‹G9#¨þµt6ð2œùw_Sm€°Â¬ZdÃÎL6›}X0TŠ‚G.¢Bhv6Ö;DWÓOÍu""æõÎzŸÈ Ó@ÖË™Á‚æ°–/…<=j<²£éôN$¦{m‰¯‘fõQÁ4&H±ábÍ É÷ÎÓÆ>Ìšc­¶ÑóS®-º¦HÃ[ÂÎ~éí¢òÑ™á”F¹2ÄGfI".†¿’üUåv g&F5w#/tx·Žë›¤ÆðÐ16`z|€a%Aó× GÅìG/³ðDQkäÒÙè2«JpP5|Ë®2=­ <çäFâÙÆô¢ðÊ£òߦ©¦ÀÂI£;­Ò:–O€™ÚãƒÃìq'¸ð!Uñ0ÑH¦o±“û†ÞxEvVðlD\ ë;3SFÅ`kç'7Çaw¡¹ÞïZä ++¢v2}¦ç}°ÄZ”®ÁãõF:–æ³Å¶›±²lé€/¬†.…J¢j¥@]ê ŽôWÑ|q(Ò4áž1æϵ<¼™ÚÒU£Éä,÷MÙ›‘É ëá%Ç£ š ˆavL=TÅVo¹Í aAr‰¸“„ËÑë}\Ÿµ;æÀsTòÆ(Ö*Ô³±™T³„´Ì÷±dãh*]é3¥€/<«µôÓ5 1ËŒDtsö(Ÿb5KçàÚÀ~²“æíÑ.NÇä´V6ñté šw–¶´]â*Ì—{Ô±0Ôv`„tiáÌ0À½+~i×eÚWs[ÖË ªÖÌŸ…tò…«ô¨ Ÿ~·«É&ß½™ y‘_4Ño‡l‘*ÀÃ×H’çdÚÔšU•x¿yüg½Îk„;"^Ø#>Ìm¾MH¸'$>bç®Î÷K¥.ÌTCÃG³ÀaŒîÂ,±5ãܧäºo/eI1t›;\9¯“².âWñÁÕ>4ÕêbÔ›åqæ.¦ÅZ'|Ö¨O@•Ã ýi½€æ’()boú…“èÒ:~õw¢SŒ.Ã_lX æ— ÉjÉWQ÷â'Cœõ­®Wǧ©ù˜Rœ&åh?Ÿ¿^N>©tT­…¸N*Ø3¯(¬+Eòðj½K”ð[I“£àid 6›K.o¨VïVÊ;(wógÎGß8H•ï.µ›SþäƒIÝ‹±g‘EX«óжG¸ü£ÏÁÿ¼©rùˆª>Éÿ…þ5€í²Ýï{]ˆ^e +endstream endobj 451 0 obj<> endobj 452 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 453 0 obj<>stream +*õ­ +áQ$Dªü¶ÿæJ¶ùsÞÅO&ýÏcoW­EÖ +0$++’Ç )Êa´Ý­4œøÊ$âTs·ö jÊ"Ì Åå¨âÁêæxÊ´` +ÏÀ•Ê¯Ö”ËÄð9$RbÔé…I-ÀD +9Óϧ™Óþf2ªLÓ¶ÐNøϬ6e®±M‹¢q.álQñÕèkm–yŠ´m“Íîg_ú<)¶/ç¤?1Ÿ¸ìØ>žÓ[¥G 6êË©Öé4Šw¯À$â%¤Ði¼®qiÓóðÁ TMæj˜{WuFTÄJCx^_T³'TÖ´oÆBvñ‡kj#)—r¨cõ»ÅQ{KM%|µ]H×óN©¹ Š s¤Ý%?¶n0l®N—°L‡@~'rL¾ÉèÑSq/[¼£€kÇ—tW “c7w9‡>˜¢÷ÛTÙøg{v÷U–š¤[ïÍ.§ùÅ” +%tÊ÷aG…÷aì„yàþŠÑ! š$O²OwgÝ=ò ·ÇœžÓVŵ×BYB37ŠIIå}Ðœà@þº‚ uGÄ톟üÇ:QÀ$ p©Òí\ƒÇ­ºFÕÄs²¨¬Õhݦ܅{@‚­ì°Á³áŒ±á ®MB˜ÞÖ%¼ …ímªa üð‹La‹TÊ<'a®­›ð–ô‹˜™zT‘þ¨  ·ìäË•âï€u’ãý•eW…ä{ÿÜ@Sß±qxPuU{v¹Ù!y~`ø"=È$Ù‚ ð +†éë©Þ-Ñé,ÿ}glš9¾¼§@a¸o€ÄY…æŒ\z©Tuÿ®yõRÔ[”âÐA®O=" 7cO?DÑ8BÊhGpÌXbø„¸-QT±zv<ßµ€8‡Bʸ±O€¾£ ߇—ýí1r˸{Äìèê“/K¹')òL`^_æ´ý`—Q©Ž.4Û³76xØ–²µ}™.çÉPš0ƒçÁë}~& +t˜#šÀv H]UFŒUiZVÉm–K¦Pe†4£ï’†¡«ÁÁÒÀ ÛîÉÕS„–°£¢L¯FV›¾í—ÍÜè‘ÖÀ‚yNu{s¡žBäàŒW·Â':Ǩ?Ù•–ºé™¸´"”¬–’#OváÂÑ®g>4z:¡†ºufˆ¬É†RÇ'ª•gˆ,ë~ s‚ÌL®ãq†7rna°Ý•©€9±uË#ËÇ:@8]^§œN¤X‚ dk ”ê]œÆk—?nÝ +Çuï¶ÁC¯Ôá¦6ЩŸírVÂÞÊ}[eÍ^Í›kð§T‚ìåàJ¡`^]A´q‡ÚÂ73\ÿÖ„TW¡¨¸lÞùU•özc¬vÿƒæ?–ëdf»æ§ìH¿“§ +'c5ëÙÒ³¿ Ü.'H©„ø²ËÌB½/vÅm]|àü“Ï  IÔ^Û7+Ÿì¾›£ÿMüLm×3G ?ÀFýp¸£x¿¨$úeJjüp¯¥©3Üøí™bíJPXßÍß@1-÷õ*¶•Qå»xÿ<œÍ€Îö8‡¹±ÔN¼jä$:¡¤6Ç2ú¨õ— =íl^r}ݱÆêçQ_t×+÷bIÑ!‡¦ç·ÝÞxÝmŽUÌHpÛ"l ]©îÄ÷l»6v"š€Õ7î2Óüó +ÆX%¶Î2éçO!¾E¸íˆFÜ&MÌ/ßÿП aó!¡¡È¤\÷¶²Ô…òˆêTœ%c2àƒÀN8ÐdÝDâV'°µ Ƕ)gÒƒ$eÞzîÐ`œ-l5[JÀ[Aò¯ÃmO…ï@ÜÇha<Š+Æ‘nÀ˜Çk¿® RThol&¦ó0ZI¤[àî…¤GÚ›qF¥­êʼnHšÑž­c*N½Fe&…ª=…¨iB'Œ{’lPÜå*|Ô’æ=Ž±ã/rVÒWâÉ ô¥z¤è•'˜ÔÌJ ×ê× ·}zúåÊ`FP=CšB=é3R·:óÒh F¥šLˆi)v0 >wõ„ ÐË6PvË"cÌ“·ŠṲ̂Á{Ë 6q¼R¬*7J{ýYín‡4ŸB#Sp °¥×“uQÏÀ;—È”8 ý„mžÆ˜¥qŒXŸ*$.Ýžè!ѱOæ)Š:Jæ¡r¢Æ¥˜Ûîï‘阶ž-ü‹Tíäö3ú“Œ¦/2½Þ©;kuÁ*ÌßþD€©²Ë¶BüòíGA8V/]®¡hÓ¢ «ÕÝ]@³Æ,¿Lç€õ€£Ùå‰÷øäßd6D‡UFVK‘/–«ßæþkg³£?^§F–ÿRù‡¸W:)£u'ªh!pmæùBZåýØ1 =:“±ÿg% õB¤&ÍbªÜùDl(WÍ2¥ +¹RésÔó¡:Kr¡e÷éÉÞ†©D¾&íà1Üiê?'ª–×ØÕ¨åaóB "ø›Ñ§a7Ô©&ý/ø‚2Ûë"%â§hÞNXÚ„2è‡Ã9:ÍCíµ”*®¹ _]i»©â¬|-f·þú,ùZÌH£‘éŠØÃ"y´lNY5+˜¶Ô+XJ–o]ð›Ga²çìîNíÆût %“8«ß|†JDLAY^¤¹Œ€øñg«f<A¤jpÔ÷K{1Z6cd_Wµù¾Ò(_œP‰C¤ô>i†.é[^•õ,ÈAR.š~Ǫ5¸èìL˜8NB:fe›³—­×:I.]ùóa….bG¶lGpzÔ2®Úà9Z²G2d $Ãý`zaºo×ÉšÃH¢ciŠîžÿC½3¢Æ:â7í¬ô!Z*gô)ŸM Ÿ¨è7X¯4{d‚8µ­ó×ÍùÛ›µŽæÔÝÅ3õåt†ªñû OÜEo5r,Å<Å[â½³¬Ë€G„uËðÖüÌ”z”KPƒˆV|t¿‘ésÑÁ,1®"x;`$"i·8Þ .§p¥d‚ÌOèÍaâbh >d õä Á4¸_:•0½¥‚Ɔñz´`z«'þ«B¶¶¹gõ–£FZží§G0 2Î-Ôõõ\bÏÂCòª]ÈP%ŒÁ +endstream endobj 454 0 obj<> endobj 455 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 456 0 obj<>stream +§.(¬š ɉïÃ'Kk¹è¨öA#»Á† á0Þ“£ LuFJYÏà Ÿ$u§í™z…öÆ1ƒÛáŒ,Ø:á@+E뙂@ÎÉßõ¯á Åúÿ€äPÍ\CŽk*{–Î'Ç–iô¥ªa–rF•†¨÷}·©kœQ>T±@dvü÷»M=¶ô°ñâG•ÚE 4E’C;EÑ„ü#‘ÆW½‡\ÿBÁ©~ƒ¶7‚Íÿ3RVz•Kªš³9û˜ñOé7;Ó”Û¿gÝ õ±·,b aýŒE„wÞ= ª[W@oTž4Óê‘ÐHR +ƒ}ã`…¾žî¥&[¶MRÐ'Êç‡yrAûŽ4#Ív²µµdu€¶ çAì0€MVdwlIIðLÐ8>vaá¢Ïm"Ô$oR°Îd|=ޠ̼³ïæÍ•ŠYaÐdᵤ +ñÁvJcr#¯¡ypDèp¦æy,{Ìã$]/Nã|Ÿå7aÐ/—¨Ö6¯(W ‡˜ö°‹t!ñTTùo\¤Í½ƒ)ƒ>1%ΈüŒ™}^ :ž\¶½«%¥»í.ã’“õ{ÒÔÁ[´g„n#–d„qus/ŒDªÔ‚¬nËj–Ö>íY»:]VåL¡Û3µÂå[ÑóµÜÞ‘G&N¡%æwºOí + (к|m×Ëß3 ®6³–¸xÇÚâŒ}|hÒæ '¶Ŧצ˜hkøw¼܇Ïg¢¸…ÉŠ,71€ŸûùÙÔú¡!íÚfêàlÈrÁˆ¿åÚ#+1]4N±Ài… RbÀŠãàþh×gž5ÖÖdj,·v?ëoQ=áxúÕh@\1°š¿øHª¤¬Ú½2¥¹ïÔk÷Ò½w\o{–åA£é°²]ÆgçMK’jœ¾ß¿‡Dʬw]ñ!wq a½€šݨs!q~­á(‡!·V^°ñ|Ì!mÁŽ•'æL&–!Ôθ¤j_¸ÔÞr¸k[|‚wçÂØÁJ¯¦oIP¿ã~^µ.¶æÙئ!Àg†Âjør€%Óž‹ÿšÑL*¯p¤.½Uj;±u¶ÙíâùÖ$­RÃEBGÐ/#A{ŽI„'3æ–¥J)àGŽß|}6×}W®†R÷’`-'ÙX÷´‹QÇèLqÚ¨aIšùà"…YŒµy`Yw'G¸¼HÉtWåðš ²Jè«Û 4^ +ÂxF¤Ñ +Ža‹ûR§jF/ˆ8éÈ-àñìö!Y?ÈAV'È! 8i/}[J ŒrÈËxŠJfY| ¥»@e«Š2ô—þ¬1‘ª#TçÉzCrè¹½‰–1Ýi?¿©vn+Õi1íã^_[O‘4 ‚‘¤Í9BíC\‹ÞyÕ›Ø]–.;*óTæzC™2UÇ׋3ÜRíZŸ‘æ·²—޲ቊ·@™Ïߢÿqâ´;»8bhÑÁ¼’†3>~µ—”ݦÐÁÑ +Oà§Óóê“šß̬6È“l>땈22iìÑ1?Mæ£õðØ/æ´S³´3Ø8ß©8rª q©ÕùPêgç`1 Ç…j“‡›ü]êCÉ ¹.~¦Õ¤•‘õ2žtê)s×yä‹D‰g«-èdLæx6o’#¬¼n ZR:}hÑd`*i½1½Ÿèýn9ì³OÐÆsêœbpÞðPa|î¥;]/ò±ÖBî5…Á®ã‹$HN¦F)Öõ£lBWÚfÛ!ãžÂÏØ¿ÞòMûÓ¹ ?E·…Ç®UoÄrg¶6UãdÞH”ˆËòžù—~•&¬+\ÙJ¾`z-ïKT°8IîycpÍâè*¯zœ›½Äu÷kæuŽ4°Â›yæÞîhψâ(M‰úÐ|xqì´ÅF<‹tYÖ-®®okÙoñNPáe•}ÐÕ#Ýq"…‹ðw0T?%'täZ]¦f3ù½Õ{Ðüv8ƒ,ÈËS–jåÚS¢,¼D09Îqx†Þíj%"hy,€ìðf£s£MnÉvN{/æìÓ;ÿÐeoM†ÖS‹ÒpÆU6éA—üq2r.†‹ïm”—ó”Ò¼_#Á¸á¥% %äï›MÀd¡OæOˆØfo¶]í›Þ,¿ íjA:d©:Ì/Vª¸ÝÚ+œ1DJx… ™¼…w¸‘,{Tt-“dVK1¼éÉÿRÔ›×@§Ñs½ã£t†ÿÒ„óµB’F,°¶:ìŽê(gcÞÂ!‡Î-VšŒXMU”»€õpÕ|;êñô„1Âl6 OÓ>y§dÊN +_u¬ÐÛ ¸ïç£ìLÙ°e0…©ˆ ñûöÁCFªŠ1 ÓAàÓ@|t.¶NšÚayˆûm')z¬ý½Íj°îVÀ¯Kˆÿp«¿îíIÇ;døˆPü⮯ç=‡ù½;{‹±/–…z Aú%ÆEf.z€gF´À ìÝ“XÜ=—xî÷ÝÂóãv[˜-š€3ÀÇŒ¤ÐÖv…ïÞY8šü0šTÓ&½óoÛ/H“‹8)Ä1•ViôyÀ)•]†˜LQRŠŽÓ‡&YsÖà„NÄöÊõKÆ÷ë¾W±ú³‡¾Kü뫉ÿ‘º¦ +v­~<ȃŒìBèË®Œ+Wc¾ô{”ðž‘xÁi¢ ùËŒ¥RDÝÖF²ÞK¤ úˆz°"ø¬,ê;±Ù<¯^°M/QìE×B(ýç.cNìvQ%öQû!Š4žZo“|s` +±ý™%KÇ“Ï¿è.H5€ 5PsT < /ó³|ülöä4_ºù‡xí'@fˆŽ¾Piš†ä}ß+¯ìº,R¨ðJ³ñ‰B‘›ZŸ˜ò)¥y°÷XRcvâÜçŸ~ç‚3 +èhÜÜ=’ÁJp™j{h›ïÆaT‘nÓ‡YyÄÖêõÀ;½aH…èùºíܱ¾^£(I¦OwŽ +œ{.J>μ~薕Â^ +Üùi ÿÞ’yjÔ˜éÞÌý°J§n_ +ô.r›Þ7“À8Ôò…Ã98‡8nDB²¨å¸ü¹iq‚ÐÜ°¨òsk\Ë ¡oìˆy_ÈG5 ,Û$‹eè;tPl7ìP(âÀ~¾5¢%ø*^xcܱ_·W?œÇ´ãü"8Ť7ŒI…ž­ß}Ÿrsoò›§Î”„$¿ïâWƒMG\âíõ41å@I¿Á^›åÜ…_×ùcÍ{€`¼W†X{ù_ä7èáäÕ­ËÒ޸Ȁأ¼AQêx3HÀšÐÔšN˜¾9g †Ý­µÝÉ!ŒMpÁ]ò&[ü(³—o¡3c˜QùÒ»Âó—¾ÈñCdS/ìp…P¤ŠD{›r¸ê?ª‚~¯à} +@USù˜^Íóq‘z&©Žª®©lƒcSè[Æd¢æ”âÏrƒÀʽ¦’þÐCòV,ù•É¤¬c3yaeŽx½„žwÔž™ñúm­’^瘇CòÑÿÂ0L'ƒ%æ«*|Û²„q +ëÐTRüP¡dÀQažVãêJÊç¾¼¦0qÂÜ&jô|"·ú­j?Ëç"€€ÜªŠ«[õ%V+Á±ñGŠÕ~€ã!$½ÃÞ¤³nN¿c¡i©;°pßÔÌBøñAØ´Ûcè˜%¤0iÓZ÷”?/× i ÃÃÊÊåc[1ꔩPٴݺ‚.xl)$—§˜².ëyÈ~µS‰'žñÝE†DÀªUÊwm‘¦LœÈ!HFOÛ…cWÍ–$Ìs±Ñ•3ˆFn“^c¥Ãáy*ã_º¢ºšÁ¹§}I™ñ*ÓpS®ßßü¨0ngKuPÃÅÑø¼6¶>‡Ó~' Lgº‚ûG´Mñ©¬®'UìÄèú©-‹¥ÈLùBÄlq]?Áøîš&7ÏÊŸê±p€ÿõ‚‹JÌøà±²‘±ò[Í(ŒvVñA>¤P´ë "f)NÄ }‡ÚN&ë{™¶ ²†J¾ëçºJŸÜ_Ù+(ß(pÈJ³< +%bR‹ŠËb·•Ú©>q¸î–‚Ÿ »—¹—-3\òÀ‘t‚1ˉf¦iCxÛpo‚˜G¸b›=¦„¾>{àô8`@. ~âñÿ*Û?ƒ¬¿pÍC¡¨ÒCA%oÄ8›°Q¾ÖÄ3 Úaš`ÞFa÷µ 1»ÿOMø‡BãC¶ýQç=?o_µ²Úü°g¹qUIø•ïíPª]›U ‹úغýÔßøVàÐz÷8¸”(¡W—rþŠ‘|˜äsø¬?Ÿ9Û0Ò ‡MP-oSЋšAXHå&*ý—ö‹•ožè-#·¸ ©ïh`|©éÔ0Ã^x€`¾ â[Øäx›'/d<èó¾&P*_Ÿ’`èh*Dž£~¦C¼:6Qn¬}Z ;*:N;ÖuA3¹tÑ¡CÈû0;=ýœeÎïfÙôúÀ˶Ón¤ÁÛg¤#RsÔá*luÅù"E†ê³Ú4™ÌŸ’pº§„t¹SoqÆFÄÏ‹Z4‰ànüâáí“”}bÑð}^ºŠä`iE#@-%䜡s§GwÆjÚþôæ 8H”Á ¦Jªµ4p ¿ž|Ç15 ªæ]SÕóóªý·™…Xo»3ˆÏe(v'6îgl'³B²ŸÕÞåZÈ )›{”Ø ;9;´ M[µxKšEÖ]À¥WŸˆ-}°íwï€nk¨±Ƶq÷}s³©%%N]CrüösËE²-@¤‡§úêg•F™ Ùð»¤ÂfwÙ8Ù± uÒ…«ÞÃàÆD娫Á+_v‹@…ïAd~ö_( qåsœ!E“r¡¶à"Í¾í ’¤•p!Y;¤?Æ BÂ>g´©uäÐ;AŠ^X`±.c±á™-•0XØ®Ï]( ™CØlfPá~¡N›Çs®4/âÃe{}ó²dãñù´kÃÖ¶ÑËH{–2Kr ‰^¯[@%¦Äoæ {`=Wˆücµ x6Æ™›„Ûn±ýÞD$eEm‰…†ZŒìÆ2)×>Ïgª†´Wý@lž&Jîiü®-߀øžÐ E›U¼ï7o™h%¡jÍ~¢M¥Zér„ZiMŽùN{ªAø-ø»ÕGgíb÷$0‹áÆl©g;F^£U9˜Ó? ^«²{ñêä-¦‡Qž}2Q†$ž¶Ê³|gDȶA,g‘~µKD'„ÍK¸ËcÜ6ï­§IÒjWºØ¨è}d€ŽIÇ<–êŸî¤IäBàÙ–KÚj%Ÿ½~9&xõ…bÑxlÿ¯aW{B¥>¿ýüõ”À0-`g Œ}¡DPüâ ßÎuüÛ¬AkqÆøÖ:ø‡å-p¡éïF°E6ìEöl@D$KÊ©U’É/f–¿H>?h¿ WÂôWÊ@ý\Æl]3Ó»üÖ2>ùσ'5[¬°ÃB®)¥¤-çº Šf'½)°/ý$¹_#÷ÌÇ:àG×Ö„4[bN„CJ(ã¹–ú›âjQewí¤¦"PɪÖ| -b³êAÃ&T›§f£†XŠ$ŽqÒ¸½ Þ”/N]ÚŒ F«J©¦S3 +endstream endobj 457 0 obj<> endobj 458 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 459 0 obj<>stream +=èc4í}lY!b¡/KD +u3xº\ÅTY˜8¹ÏnÛn$JˇqäF’ ²k4=±/ÝBÜ[âÜóâ= KILÑ*ŠÊI„œÂî³®ƒºÎÚ×’~²½‰¯ìØÇäí–4A@þÌ"8iýVøÒ²“P±u †9~¬YWðÌ%´[ÝHŠ¼`xÜêTÅsŽ”Å#‡îßæcQwáXkºM5¥§E@Öd€Hv;ëÖcŽa¹z笰­2é^?Õæ¨uN£®y•K™G°ÎlË¢ÑðYÉ{UýG¶ÄEu^ž3*ݺY’”ÔùoÒaW °“,íðsqË4™»¢vÔ'ÜÁêŽsžuz󻃖áˆÕß. ;:aû›ê&dó;á4*>™ƒRó¨kG%a2|Ûe}[l½û : Ǫìíù}…#1"å|ñI’Š–"‹LƸ•›|+âµâ»k³ÍøÃÿr‹Ì?1P'‚tQé¦Í—ïwJ%o?þ sYnÓ'e^úþYJú®ì¦n+/âPz)ìM|¸ÐJV`ÒU¯&Äû”x´#^P×ZüÉÓçQ Òz½õQõ+nÒsÁq¬ÎÑÈ<|:êþ8ú[ÑúG3”.¦ï¼tò‚è–,—ÈOÊ6»Nø÷ìA7ÐœBäF³ûÔ?Ÿ˜Ó×—·ìŸ•Ý6”NgÅc µ|¯)'åuôIŒµÛXѸ–ÞÜ+ÑÚÙ$ +4ÐÅ…|Ý üŸN£ÛtÀ˜²¾"Z$y†î'ñöoj)© +ƒ8¾·J<­%`ûWJS1îW ƒ3ÈŽ8'Â`0E°ín …átˆïßE£«(Íß«ó6‚¡@÷¤©G¤ÞÀž07xàš(01O:Ò(/ò¶Þͺ{º8²º &±âœR#* /m­î†ç~EL‚Áˆ}Cø<[×m¬gœmÕUç'-Õi\‰-d•á¸´#oäEC+v›w›Aëý=ýð˜| å¢p³JxƒÍËrU2O‘a8gÚè7\P/å?÷)³ø‰X’ +ÁòÀÜ„ÊX¡§ŸZ?¹-1… ÖâÆ/æyÀ`Ù´Üó~f¹³xÈ 'Ÿäój|ÖýM®D nOh)R"KãM†)õ>(g"(L©ÆÌøE‡; +IeÛîB^-e©M°ØݿJx•/ÿ+H(×vMųî°Ý±*¿ÎXüñfœÙŠ›ûS[‹ò Ã=0cn2'd=ãœc4ñ•­Ë–þ½†YŠ.ÒÊürrDfq^µû3 áÁìt”OX]¿ÿ¨¾7 ‚0ÒÔ-+fCÐ?X;Òé%ÕŽLVƒE?“ë‹â£Ðm7®KÄpúhØ•”VE.äØKRHÃÁ3àQ£­g ¿aÈL;žømÚÕ¯òv,¤CZxÁ#[bªñÉW +ÔW3Œ±´\è4YwhË—‡>]|ÚgpŸ{^;„Z R¶ŸqŸý%ƒÔ»ùªè•9³’6g“†´ 9ȹmJÒ$Ñ'ë$/}f–Ô~ôIÏ;Ô€ãUUW÷ÜDæïÀ !â«*[¦Îp{eÖ\ü£!´ÔQ-¨T +2ÑåK˜XP÷YËw½(ÀŒ +Ò÷€žúò¨@8kq®3ÝÁ±"­ÛøWªcªAk?Æ!l“Ü…ÌIïÞóÑj¬>}È-Ï€ÕÔ8Aªé b!±B4?hëaµR ª>éx 4käI§0ÝõA_àƒyD à„³MÇvM‰õH }®˜ªšj»Ü0í¬Ð²©¿‡¼«›o„˜}dñöMÓË©až«»ˆëÌÚÎ Êœ~c9b·Gó†aö†Þ»É•‘ÅÙˆ¢øÈ£œTÀêÿÝ+ÕÃt3‡fîB¡ †±̯"3è~ CuJ6ÿœh¡¹ê…ÞS˜)zfûÆÑt ~)¤¶ ˆúEì¢Kíòñ÷\Òo/²U +ç`Ç=ã:`2dÖAü½»^½ÐÞ-JG‹Ö,Slªhs‰Â1 =eñJ\»1¼ÙOògYýä23‡dY-<™PíèßYJÒ²&ÞÈ«‘d¥µ¯À˜Ä瞇v‘ôÂE3 Çä ¶òsV*0Ó¹âË»º°ã`UÖû) ìˆ.¹fš¿Ñ. ªŽž +‰´ÆÁ®IžúÇÚd_‹‘ä7:6I Ê1å‹ È+‰å¹vµVQ¨5…Wó»–å$ƒ®FÙCà䢩9-rQ…B%¢SNl™©tY ë\EBX¼û‹Ä®ÓÐ|íPös.r7}¶Ã͇Ôå 7F¥_þ“ä(…Ê í6ø£BÛ¼mCB +)ƒýû2ºOûU‰8T/Vyji[¾—ÒB°wÌÕx }ˆP@×áEè«ã¸—³ ¸§R©Æч‘¬™wd1(¹ºT ¯YÍ @ºT ñÓŠ.Xà%ËÓ¾wø¤"Ï;ãM¨ìO!²ä QÆ✪,J~/:ôÝ-¶Ôe‡Åµr‚Ø“ßRúñ‹ZÓh´•Rv¨Tª„iHÁ¿‘A‹T¼±SÆñß^é¼;šÿ$£O“ïùñ^O@ãr¿ 7Ýo—)º6$! åJ`Ü©á}ˆ‰Õ·ÉC–J;ÇZªÒ· Î@;Ρd}`ãN½S#;²S›-$OÍ8æ«»ƒª8L­w¶d‚÷ó(ïà8ªÏéÙwZ–Mvnºì41ër•päŸ bMòÛÍ÷M؇M!NÆp[o·fÓÄši°?}¨o{)ÿ ŽÔ@!õÀKe¡±~šf²ðz‰AVô`Î$Iš´åîäví„4ä,¼2²ÍŸí.zïÃá¶w…­ÛšñΙU{äB•ùEÏÖ¶û²è§õ„ã{½•n$¤K?–† ÂÚ®N>#Ù¶ÓJÂ×ȤR‡å>U¡x×Äo+I–­”! +_òŽ¬M†äj¬„MX¹“8ªP§4Þ„¨$äÂsÁc¨ž&±Œ£08±8ÓbÞiL]cM%gM¤b–%ß)€áó ï6æ­¢ž¾>D€ÚXVo'úÐQâÊdš-Nd‚ÀXqh…C}•izJÒ•o­0d5ÖUôêÑUÏ$£¹©Ä !Š_œ-ðä¸ú@Ý[ÿëu»@jtÎ׳à n™ìF›=ÐéÆ*Òé3°³áªÆ‡)—”qÙö|î¶7h„š#Ö^FI¦¢ ÖçÁwu}z›Å§”ìg<ýPb.”Þ!ùÆ,±^Š;­A Þ¢³½ßZÅñZÔÜ.ë‰ßõgF¬a×*}-âû죈Wî¿J”òñþE¿CŽ¾‡ƒ­·-Zø©6-lƒÚ»WøÒì„ Ó u¨OÍ¢Ìô/s~µ>Ûùò¢ù/R‘¾&ƒu{¿&HQÁü†ñí +†Â»fÿ%f…^ÚJ½þ7J5{&«ìGa¾ôø_9òlhp +…R0÷A|·ÇzŽTÂL4ÖÝÉ©× W„â½v^2[¶®^[ +endstream endobj 460 0 obj<> endobj 461 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 462 0 obj<>stream +N¶ÇxÇ3šU©‡Øwˆ—¶ìüÐfùÌCŠÉg—‡rÙ5µ-ØLgT`wk¹y|^$êéX Á“°–sÈfïm¿Á=Ìaiöf¨'^%Yœy$Là$´kÜö¢ý¿ôï.†Y,œ­øM<6¢ãÑH9ÕT½,Ÿ .ĵ™ð/øækð¼^!T•È],¿Pkx©ÚÐl— -Ž<’îj{h*‚Òî-¡W)8ÁʺóÇöîzT¤o›³\•ûpxqתW0&ïSTv–›}ÇøŸZ¼@Þ¼Í%¨ò»¨g6¼^Ôγ¡‘Ÿ£?;©Ä.t‰;í±ÌD&A¿ÊY_äz +Ôë.’à —ú8Ô4eÑî÷$Œîò-SÏv~êš9xì†ùhîÖJ]7ÉQŲ$e^ùÄû:n9=ÿfæ'NÔ/Qü~ÂïTò• Û'\¡že–Ž÷ÙŽˆút¾™‚Ó%FÉò×N(ÕBó!QO¾ËrAéN•÷ÕyWVù©"½òàùaÈYPÀN䯺 |±…1Eœ|®# }ÛF`p=Ú­BRÞEü)®YBÂyS׿ÿDûž¦!?ã‘™$ž†s$ƒ=ußk6[-'nW±4X§p3bÈØU¶L%f ¦¹…µ"¨N™ƒœ0»ÿÊSËi©šïÿ±1z Ò…-y„~Õ¤ÈÃ=Ó/¸9ÚÚa±Ö/[³Æɯ)ŽùO¨»t,ß4üRü83ùEã—-a,]#·b¸Æ®Ä´Æ+ÊY}ð«ë‚Á´Ä}{«™Ûß/©½oñ’GwÝ,ÆremÏ”f>.î­ˆõ¶5ˆÜp}]Lô¿C½e;û:i¤î5d<ym¹Å`ì‘›΂Zc‚Ç94ßM׬ëÑÅCùXr3Bt‰nP 3 /+—jìÕº3VãÙ`·Ê,-ïÊcž·´?¥qɶ·2uçÐ1=îåžÆ%>2.Äó -zä`a‹±œó8 ¢i͛ӱ‹è•)µ–ìi°k¾À“¸,íx­•´åâÏÐÔB€qzûfZ›ë±âYU¢{b\+¿J±\.w—¯~ÚÉÌÁuÜ]éE4V+"Æ â[µCX;÷‹`á3´ßˆ”:ÔÏô(=â0ÂOcÄàd(ŸûuÝ,$DÉ>Z©‰î›ž9¡0)ÆäväüWú^eñœ[i¤¸Ëä êˆ>Öjií=CYâ‘©rXWÄØã­wM›EhDK$T¥wÆîËðàdn1ÿÊbloŸïzHËØχHœˆÍï«?ã3ž†B×nÉU|Nm…?„0¾‚H&{™œÕ„µ]QžÑ ß‘IöÆŸ¡&öÀr¸Šm¬ƒ\‡„7õHxL¯u¹¡JQŸFѱ€í'P|~æsÞ—‘c³h¦Ÿ “M^±bÞÑr.¦iGëöÞ§]6×NÂ8½‹!t¾‹¶=c×ÙúaxrEmnèyï8Ö”ÿ ævb1‰_,ž>­ºôÊ`€ ?èè±ÏÈí«1“é=s Óhu”.ªaÃ7RÂѳ¢Ön•e]w«2—5VŽ S,W\5Îìrl´«ƒU4ŒüÒÛ‹4Qa™÷Ðß/e4¾&‚0ë0ezÿq`N3Ùßâƒ:qMíÌÛÑ/9ÃFáÄ@Ç{xÿ½äU©äLOEIuÙò7Ðñtã«À)Õ¥¿r›N@ð…ê»1»¨N‚|sÜ¿º;6ÁµÞTÚóîÝ|åÇÅÑÁ(óÎ(—a‚—˜ù(e0†“gïäÙ™K™#>ÆüãËÚU3˜±_Y毠¦ŠFæg´kùöån„Nì¥æœ¨|®˜¹ÝDØè‹B†•îYŒ+‡•'méª`®Tk¢|GjºÃ”«™ãG¸(¤lmù`˜{‡7âÇ´UÆï{Ž"ùŒ%ç­{†Ñ¿Ùê +Ó!.ºª…`¶õßqÉÒÆÏœ³ÌÁ²©~ Þ?þéÍ陉ª%’xœbŠAMØð;Ž°G²è÷•*Ê©-ü.addˆ&ÂÀnªS‘˜®.ÀÿL碲'¶šØ˜ìy“‚U‘d”È«d »ˆkl\Ìô=÷zy#¬{æIC€#­î‰}&¡×?÷gD’ÂoJ~—”ð¿%ÚÃàÁ‹ÍØî–,)`¼÷|’ñ Ì̉±#+îq†Éçì°f³"7ù{z)– ‰ñC;cW-7“ÂX‘“*ÓÇC²Oç¼é—¤ì÷¦–¤fŠ†ìB¡ $‘V +›%‡"6è™qZQ¦Ï››n”ç _Ú¡°¹);DAw?Õ†Óz àv1ÁúŒDÓWj½ž…òc÷/ÃvŽÚŸv/Ñæ°T?ÄÚÊNÑXŠ…×…ONIM4<¢¡BSÒ­zîšÛ^snÐá`CÀ.ïAMØëÇòZb‡èãD˜'õS¡ãtøP)èL<ÔY;tû6í’º÷î˜G‘v¬m‘?B=¤;äéI¯WAtÒÁ´G½Û*«é­rÆZy#6,vwƒîƒþý“Kÿ“Á¡Kínþ„èÔÝŠK$ÕzµmeZ`À7Nës öœf¢Ik(èïg,ʾ%mpˆ®8ù§`ÊÜ©Uÿ‹vm¸ó;kä +Å™8¼ôä”PA> endobj 464 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 465 0 obj<>stream +RUNlN5RX¨·¾Z ê“žÝ÷€­²Ðš£ø;C’ÝrTî‡vb%‚]iüÊڹƷ5B#mü"&Jå5=ÃAßÂm„g¬ˆ~[}øò#êÛy”úŽMu³@\§–ù¯ã¤ÅpιqÁ¨Â(&8©â¿;}TëlI^šå×½éMüdU@ÜqDØ¥ÀSƒ"’ŽT!"6­i'ßÉ—ÚÑлü¡œX¾ñL¾ Êüd^ãFà…7 ³%Ô’›1a?ñrrQËX³­`wÑl —üÍ3]kÒQxÙäif;2øÙR%í3°‘é\ݶϓËKæK¢´>`»’O%lõèIzz÷ V—Ê}(ïOv–?MiP€ŽŽáú¼Þý.gêߢ˜w'&Á¨*Å ÔP¥Œs3~2=îÑÈ]}† ~S²­áZþ·i¿PËÛfTüxÓA6ä2Á\ó7Sq#ÜÈ@IÛƒáî8=‡b¡#$N£Ÿ×àÃBﻩWµŒØ)ñ‚6}ŠàÔ¾¡ÂˆWè†Ïî`%¼~Ȣ¶_‘hÍ* m½n5íc4cHBZ*Ülxã ’=ÿŽ¤*Ûr„a ÙóCVI¹ÛôãdcþéXÝ;Ê8Àg~±í¼‰ˆ4lÄ6p“hEC‰Þx;¼ñ³ö¦ Bu/5:æÅ&ÊšVùµ4¬ÀÝƨƒe‡í¤{Ñ£ÝÀ)%Syg¹k¼}\¿\§ãq€”l³e®}Ü^àÛˆ„ b¿»ñ¿…uŒ@M© ŠÞ}mJ/úéVq8Ö0x<‰öšØj¨> è<ů^[Nuøx¨ŸŒ1-r¶mAðc}*h—?Å“oùæÆx#§ÃƒÄ¨ïêðÅh3Œt·½ÏWÓrÎ?Ú‚söZ}â;Ø1O>q-e•HÂaКŠé!3`"Š¢¼¨ï"ÆJ<‰)Gòñ y"ÿæ©Ùƒçˆå2ɯzŠæëaÂkmêÏr¾þ†Šú׿:=ÖoòÿèlI-]²Kœ.¥\ýJQ@ìWZt…³4Kc¯î6“ù)ya¥ôǸ…ǧ&x‹f¾†… X[Äú7{b"4©5_†2Rèf¤ó&ÁØ mkú«y§–xrÒÁ¤Øc±Iˆ`Æ˱£tJÆöÊùN‘²FÓxFU•–õ€Nð¥uuµ_‡óû»føÕ‘ÞR;…j™í×(Ÿ»u'Ï ÑÆÔ‘ñÝüf +>!~½ì½høñ÷€Ú#O`ñ`¶G`ÝO:MÿQO6$¯y‹ÀŒ6Õˆ+[ +E(Z‰«)ñ*M0#1ñü:eØ9¬‚@TÌD\XãQ™q«¥¢6ìmPò¤w@/̸ ³?È‹ 0\-[àVkÿ +}vK^yº˜ž‹4ÑØ`ÒÅ=ߌuÂt”“{R.]#[þlÉ¿ÙŸ\r +á¾ÅM眶e„ËÓ D,4VÍDmç’ué6®Žþ¶‡Ûy n­.\çÙyì^ NLÜL’½6“Â$HÞ‰HƒioRF]$Ú™,é·.=•*Aÿt2k÷[ec-Å.³€?æj|€ÆPh==là†ƒm¾êFVŒ&nÂfÁÑ]ô™Ò.Ë“8?ç]ÊY1¦žÉ¤žL‰%®]ÖÒüqy`=tB>¦gÖ’[³?¯<úìþÆ!¤Òäcû‡àM$Þ$žƒ}ô‰ÚÎÜ¥Ÿçÿ 'y‰S·e˜<–ˆBBª¾Fx"ÄI»êæà“W°Tcàœµ•/õ4HB®mu¡™±âçô¼J£ÌD¸mu}8¨BÆ!ö™ú*ñ ç?¢*“huô®àþnÀ˜’ÇG=c#RŸå¯ZíðE ZdZ|̧Üq—*Šÿ²dñßÖÿÁII,\zÊ[¡TÃU =öGÒfÎkó÷‹™¢“@‰{oþÀØõ†%Úê?\™*˹+K´BBëãC¸“) +YõÒÊå%r ±×—ö>ŒÕÍ CiQgu77Ú’2«q¥†|r¼ŽÇUæK¿:ÁZ5¶öú“ïÆÔÈØ17aªþª2½¢+7Û¦³ÓÁ±UïðïŒÏ7PôS0»vöªüî íÆ·…˽£êø!ªu>x©]1 0²jâ§VJV8e‹}J54—^–”K*·RckÄ+ýD{-‰ð49 +¥‘}é±î<9ƒÐ)ÓùYÛÀ¸H5esèò³]]t5ë Ëni'œ20óô-Ç)´œü(é‚z¡ÓplæÇu[^LµfÊ8•6 ÛYLßñe`~¸rÐì΂í‰{$]9ôD›J¼ðs´²õ¯>ØÀÄ(²ÓÊæ¶RcðÃyn2îé爰»§!NПBÛ¬Þ€$$PU ¡“¯{Íñ˜â ¶“¯jæ‹ÜT¨´S]bѦ½b¸xðf§hûE]^®Wĸ Í³¥Ô–­{%NŸw˜ceèî6gÀq&<ùÈ«‡û†²ú7+ý—úDÁª<âoC´.ây²$~°}Øä¦J[ç&ÆШ7¿3$®ýšê¸bÐW)¥œ“z©ϾùŸ ŸæñÇÀòülòNû÷Ù‚-+ÈEHBÜJ†í2˜£’CoŸö6^×Ïø u3%Z èÏ2ºJRø3éOYŠ8S¸"é›ì +ƒNèÎaœÕq#‚Ö+j¹Qø󑧶]œqàk9ëC¶ŒJa°nW¸ Ru?çг‰S]Ú¬ +WÚ~ž2NÓÂo’pýàÖž¤™§”q){WBßY—·‹Z%q£)<Æ0dÌ–·€íÚj¡;Ö[Ou²ô¦€D%þﯟ÷Ž zUŽiô> a‚š7‹ïœ±X\÷ ¿ A§wñúŠí± Á +ÓzcómFÉÇùò7Ä[›SÑË]ˆ÷UÈ©Jó¾=)·—?!yÀSÀõ/¾EiGŒ£c«’ d%– ¾jnîÜ ¯Í±Jy"Ö0‚毬`žˆ-ÆÞN€ Õ— +ýöVsX3€öÆx¶}A*ªˆ½EʯÈuB›ªû;ïâ?O÷ÚÇí¸½]þÞ—õ%°;Œ˜å£qè…ÅtäÅ*ÉTZEô—rx’ ì/íIÒxùë“\íÔ®‡Y‡¾!§Ùøа¾¢9mŸ0_‡I€b„>I¼ä[¾Pšöy€‘Ñ—îCG#Ûƒ“˜W‘%É/EÞ”¤ YNvµÂø|²-PL.EÁ¯ÓÎßúXoR>KC—6hF³w…Ò6.gØ4ôŠÅV…zØ’ÁÁ‹)¨þë2ALEeؤaHK¤½XºT³%z;í€!ß3 ÓÂ57ã)¬óqcµPø+§ ˆ‰¶Î¼ú÷»Òë!I·iËñ¡ y _&,§dÁ㥿ÂKÊE(' ¥ö+ 7©.Ï°»Ë¢G]N›ûz¶ßËz•Þ Îé`=ôŸ)âz;êu2ÿwÀ8ÁàÓ—nøloáY еx¬7„ð‘–ýBnʦ<.ø©ÏqiŒžË³IÕZ\aÜä›î—âÖíÊêz €ã‚~Ìs€Z13Æß0>öÈwÛ NÑеeeáD/äC]´œÂ l܈yLxU_g“Ã×J:z:I¼Dh€©«|Ïqß³[ êŽ|¯8Ð % 4ʃ§)¾K’Ý4¾ø‚—d±šùÅÝÔÖ‹º„ç¥.| sñ…8æ”úϺ¥¨ûRNÀÈ…šãâÅãÏLΫ£HWçdÞwØQ!-ÈQþŽx˜Y…“WÑ/]šìÜc¸sÛÅÎÕ^º+g ]Åâsÿ:Zu\x R¬ôK‚Û5Na¥žFóT?¾gTœÚ×Ö„Ö*mõrÐzÇÌûÞ•—Á €­ì}—j£6(úwOÒ‡¨©øp¶d1' sŽÅ¼÷j­œ±5Ýë'#2ì#ÂæÙ·BÐáPxÿ" aÑðZ¡ÄPø ñUìo„ä?a.9Ý_FT•-Éþxzp8ëÏ +'É@ëô8²&–‰Ñ*ðÛÝ„ –$“G•µ¬æ“9ýˆ ¢Kär¦ßH%>uǵcR5½FD'Éj*ä_ô¡)GJËâýÆ̱1;æê$ }›¤'éò‘¾êCÆ\Jû\ÆUP“1 ŽÁ„e»W|Õ‹ì÷ÌH0Ý¡vЭz4WȺ2߃§šdïëî º§Méûý…ÜúŒ©A'Òá³ô0ÙàÃ4Æi¬ŸfuÎ^z––9™_§' bâ‡Ã"²ñ%ÿ¹8(‘oáÂÖt¦O—0«f UÎÚöF`¿Ô‚v9.C# mŠÇOÆÝ×aL^sæ-vöš +endstream endobj 466 0 obj<> endobj 467 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 468 0 obj<>stream +õv²‹®WU¼3‰úÞ3¬Ó¶9=´2žÒAÔ¨ÅÖrNr¼±ÛâáôüsP,¶¾ ºýšºjŠ1ÁùÿF +b-I¥7ØAO', o)úÛã4Tf†°ï{­£ysjþ©lr +ôJ¦.¡Kl7ÞHV0  ¿ÀzÚn¼ÅÀ#Á^I:…£ÿ±žÊšÁø’ej>ÙˆÍÉWÛˆåW¯ãŽv½Çß`¼ß±Þ߶YUym¦gõ@ÅÕåEᄶ4QŒÂ® Áà°vÉ8œ à6#*°çBÙ;ìýhPh°s OÀê÷Å£‡Åûø’È^~$õ0>²0¦Ò1ë¬2='lÒ\ðÆnË•–3Íy‚zhûûŒºåâð>õãÇ ¼·3v::RÙñvM»GjiA` Q¦1®äúm@ñ×î-h&ÁKòÛ:TmoóÏ,"³Ü‚Z™p§P§z eQÌžý„Õ u¾+t”H²¥^g[ïŠq·Kˆj çœ‡ÚÖ(!Ðuø¨ˆä¢žŸ±ãíÖèZ«pÝ–V´>q*kf­“•Mæþ¾ BÇ–ëv;~VtßOÎkeÌ|_mC(_ D9ü5]=}Çäh$¨*G‰ÄÃuüÁ|ïaó íç9+AVѱÿ6¶‡‹0ôÔú¹Œxj(œ‘¯ÀÑdaKžè?ÂßðFq÷+*œêKkž{ý/k»ù‹õ2ñ¡§ðó]ö—M öÅÖ Ø‹iÿ®´4ìjÀ!öó›R‰íS@Ú¹3j^¯£F'³Ž8í«(µÞMÄ#ᣙ¾FEWWù­ÒI£ž¸¡`]/U7_frÍÚù ÀÊWÃg"åBçxüÎn“ 4É‹œ¤^çz ;°Gñ'âž ÔáQ‚ë,L-£#5Ö×{†‡Òe–ŽˆîmoÆbÊâcŽÖ<=¨' -[âØ&7ócîÔ¦œ˜¼’P’"ºBž¬1aîæ@èuZŽr?rr }D%kÌr[µõ½“Ì[§ÄAø0Í{,È®šÞVnýæG‰rîœ^“2í9—±}lpH¢àç@Õ¤ Y6o þ›™Où6n{£m«Q$Qh®ÙîX*O…è[]IE¸¹WFmgØCüðºêÍ°‰ÀÒz½…†&’˜‡ÿ ¨Ìúµ…… n-Ú¡yý*6Ò:r2)ìÖA§@W/š ⿨Ÿó·kVJ@ßÅ@'W!â÷ ¤‚ Ê}¢p(;Æ<Þ÷x|*D[8Øx[VAp¼¿¹é«1Zd=òB3„;Å!ÃFžÌ`µ;(ªEyg¸OÍk²î ùO¯zJftû®¸ÞH«ç/€³ýSlØ}…mF ·Ê2"PÊɸÒ[nAÛG9/=.¥õv{Y5Z_Eþéh |üs‰€”-qqLïg¶'E¦«pÃX­ÓxM͈&ñ ]³S5%×N±0²å?1w‚dÚÅ’Z£_9 Þ´f¨ÒWJœõ×p·k–‡xïùƒàÉ•¯³O³9?;…ï·£¥äíV)˜s¶÷÷‡cîûaÏÛ ¶Ë íN÷ÞÐæ,ïllcg´Yø%™/ø½Ü¹#ʸKAÔ㶜„51øÁ>_Q°U|'|ú†QbêŸ\ØÙù6`zlE4ó#I´m‚« VxÖÚaÜnTyr÷à%4ID$Ø·îqâúâ‰GØ-/zžß¥‰9àí¿‚v‰iñ‘›+ã¿’U¥¥Æ³H†w3ô!vdòÜ{ÖÌ&4'™¢ïõ»Çf¹M¸˜§OmŽ(=WÀÍ[ã½^vô˜ƒé±‡^…þʼnnŽ{Á2QÞCÜÃS.«†§ÛZºÊ‘†Ð5gÄM¼‘_NSu5§‹j/vëw\´‹ã¹ž¹Olþ$Lï=]PK°˜Ìg«æ ±õý0Y§œ‰N7&„ð"pE× ±K þïâõàuFfqôæmä)CöõêÄ]n?!™Ùg žÝmŸ{"®_œ /ô¨bŸ +Öl«±v^=T§þ#BüoÇ[¡”aæïr»䎛O:=ë™C1ÉlY`­f±ûZ†Ê%_–¹=UaË;%?xm³ÛµN,õ¶d`R©L—7™þ¦ô¢îØûþþ9ÔfavÝ(µžÀvü£„Ž8!Áwº.9»IxeHŸõúLUΗƒGf10²+ÑE…z„,ª› ü`2§Ï Ñõ“ŸÈöènÕúEç?q)u,b©È“ÚI³£î\)gôšôƒ±ZÃÐ¥ {ÿÇE,m`«ìÞ]¼(‚{ô½ÌÓ8Ó;a¬Ê«ÆçܦîÝûüŽÿø´ +«ß«ÓÃ'#*^¿ÈôsþºJh“pêM}VÈ3w]¾ q‚%ðuAæUCÕG‹×u7šø~\¾ÿpO™Ô}À¸nÓ²™5’nN[î¡9U+Shw ˆu-1 +º!9µX*_O»ÉîïŒÈ‚üz¥M®ÌíYOdÊ%`þ!Ô\B¤DIÛN¸t‰‹KäàËÐö! 6ìY!æíÃÌ쮳ü§Yn·k‹ÁZî:X÷:§Â|¤­¿W6†…ë,¡–s–7¨Ë=Z½PÄ+†KÙT¹àÎ f`Öï ~x[x‘É +=ƒ¨Iÿƒoœ ‰#\Ñ“(.+Ï,KÕÊwö° ˜ÿƒmöîŠSß +ÜVØÄ0<ìY¿N׺4%fÎß·ÞÃ\óD ÁZp¥N±­³‘’¢S¸šU ›9KbWñCDÄè܃‘š!R¡úô>©´Bí§ù dÅÓ(ÅÔÜd;ÚÒì2…Ü'‰î¯¶ L°ê¯³©+ȸœìavÙH‹Ó—_A«¸-j‹µûª®Y!'~îlGbòPç ;›T:[ ÔH²^óó€ˆP:Í0 •ÞŠ NÍ{çÛ\}¼çѶ‚£7ÜxÅ{•ÝQªé¨OU[UæßÜ¿Ú‰g:b~w]u3XR>½’Ýíñºna½£î6Ëù2;—Hk@S¤&z7ô“jj樧ŒÃ3Ì_ ¦P(Ìü³SE|¯‘‡>ŠeÉ:±}6ÂI“œÛ½’âÈ4ÎÎb Z +Ãü짨[¸I~ÆGH[Ú"äÁÄB¤'ü’lÔá§òàм£ò®ÆwÜ+ú0ÍäÞïÿž›øÌfmÁ ÞVÓ™´yîü·‹í²\ço0p†9k“ú…èjäh'ϪP÷Û_¶ì>$¡>ÜÞG-{H»HÏ{î Vd,3Œ–’Üq£ € Eæå.I ¥x#<­M¸]'‡ €ºâ±¸‚þ4 +dáYœ#2L$]€ÕÊ£MYX·ª¡‚ê|~sÍ +ìió’*sÌ€ãpm}`EKN¨ÎT—É|¹‹Mî2õ°ÑA­¤½*ûzÇÚ´'×uä]3ãaÈ£€X_š½~ê.µùeE€t€5Íïí¯ÈðÍ„?(Lª_|†mÕ•>œa|Ù„‘–{øØ+w‹­ Œ¯?#P•×†²}çm»5¼F•uˆöx{¦ç±ã-$|rµik!Å´ ysÉëͳâC”ÑÍgØD ¡ö Tq‡=;ŸC2ÐâK0Õ*8Í^7%×dœS8υϹ罅éGž£•ª"¶ñy$2;ßBÅ™³ÏÒ¨œ§ó†¬s Îù²âh&,Áû´üëÂQâ®…§7Ñò´å ={jDÿ™0¾@Íc_#ª¾¹ݲ_&^ŽÅÝäûÁ“2~› FŸÏXR`†r2v)žzËw±¶r© 0•þºrÜ' ËûÔ}µ¾\_»déZþ6•Ó“O%Óºtûé_µž²Âº@ƒºÛñœþ¶è&ჷšéËæî }° ÊÝb(ŠRCý›`PañS.ª®ÊØiÃcK„$ñºâ]G°C½ŸLÓ;.ržNÆ—Gò¦·ù3ý†àü°3ÀPCÊ mÔÁZ¬¿4}꧌6@DYSáä‡7ãà|7›Ì§ì^ /Lä?Ò \%ºAMÒú +†YaBGp ?f‰ÇC>è•ÍåÕ«¥{ÏJžXix Žï¶†âg€9Qg³T$$žƒ#íÇ/ìöÛÐg 7­ólž² ¶ƒ1·ÒCû–·Ë~sSåûEW)OÉ¡½!à'qC¸®üX|-f:(,÷Z°.×Ó,þµö-·ëÎöÕº Þ„Ò°B&=ÃƧëo#¸Ðýf$Æé}ÛA¿û¼´ú–ôAë¥Û ó3þÝÀiqÔ«Â-€‘ˆ +³ fl´Qè+Bj(cI´ÛØM²¬T#µÀÚ†g =Óõ¢þa.Oxm>0Pá]ÊùDõ;2‡úT2tÍ_?¢µ!6ìóÅ´º¤™>¿3õšß¡^.SàO¤Sp¶\¾§®²ìoS>^÷Ž·¯ß•ÔÃJMRš¬”Í`1œEg=õÎÉâN$ &W©Ÿ"ñè‘ÐSƒ¡×È&5Ùr²•0±X¿ÉúÊL¹2¨8.{tÕÂ_ðšr»™ +Þ¼³WWìöîÞK¶,sýå½ï%Ï`ßÎSM0p}ŽXKÉ£y3Zþ§ŠIÿ'–.¶æCPéh͵<ýœ ÚÚqÖ“žÐ%Åjì§Ýæ*•D2 +9µÍÿ:…ú©ú_©–¥2s|d“|?º™¹ÏІ +rtLj…õJ(5eyøø[òpy}ÎÏî†Ój»"‡¡0;˜{!VMîk¦ûúòä2ÉÌRZˆ ª­ò–˜¸‹¶òÏŠÒ¹tm°Ý8Ü°UAsª¤!2cò­©gÛS0è• *d¦Õ üø*]Å8-³’-àtNYãqBE!”pø²¨´a׌‹@#‹Ùœzõ1¨¾Tœò +®COl†,Ά»2CKÙ¹xk²þºæ +ùm*ðV‚ÄÞKHØö\vcêbÉh ܽ$ ÷h6ÉÝ…¸ËŽÌ.-%KmYv¤ûDìËíuª1›ý(àU¦åSÅód{Ã_<èP¹a%<ðØt R—@ÞR¤ñ—Dks²˜ŸÑ¡1Ði’øÃ]U³µ÷±Øï÷X‚.6œVV4" +l|ÓØ<9Q‘I H|¬«èØ jïañúÓHŠGCÕh½AJè„+R˜¥âLÁÙ?æ^Ù|àÐÁÙ=õ²êÒ¬ÏâÕ„}rÔKâö§C¦Ÿ„‘XÈyÓh‡6kŒZð“(mËîU`<e»œ‘ØQcš¿ˆá[]ÐÌí˳ÊG+>CqznE²¨IXpúÒJŽ"RA¢·+P¨t{a…eÌ=Å<½v ¸p È*7y9×2䑽èl‘Aè~Ös¸ZwdR ™1+"$õ="ˆ g“€bõ†žÿÂvÞìÿiÒ_ÐC¡Àêðf˜Ž(ÿ9%cÈþyèÀm‘âUl]%Ûyî"x÷~'º ƒ2èÆ[Š +— š¯51] ÄÝ\>àñŠ[ItOn˜á @ÌÈêéÙq×Ó^£B‹ˆ¾'YÈŸeWôX%²èÁw7Žð´ÅŽ™]+™ÔŠj¼îW±NÖ9wÛø-’}°1 Ææ«Ïp(õíÖŽ²ÙŒ.3hÄ(Ž—aÅ1¡Ó õbÓÕâ~ÔÝé†õ@·;FQµö”⛋;Û@`¶yTnHj_µFó(JøÕ™ r +¸BTål‡ï«»:u7’~jåêáå’ÓdnIy¡¥‡X‡<&Ÿ®è?ª„Œº•.$>z±5gšH["tíAyc3ï¿ ’ VËVñ …Z‘R8Sõœ!<ëð~ñW},É{€é©ºq"ÄKú.¸s‡'³VþsSá9ð!Õ?*ƒüU¼9¶…A[Zïåù+ºü·#x‘^– ÔÅz¾óÖg5šÌ D Ùpd¢,ø !Š©ôHŠ¨`íòÑçrP*w­¼±û“(®ÂAʃYfá—ž{iü-fC]NB,¼l2x­#i̪Ðî‘Ѩ4‘n ,íc?sÿ [¶Š(-d‚N·™ÏUÐoˆð´ZçeYòoÉÍI¾äñ,;§òm·å·×q´2ž›•¥!å&­û1?qFå¦ÙÛR’ZCkø‚q›½:*2;:¼P7$K¥ŽÙX:-”Šør4ue #©p¤}ùÉTTÑ“sl;ÞuÕ ¿,(õ9“KE-¸XN“ÀË®Ô Ùü; +D†aµˆDñõ=«äþþNzX¯A³8E£¹Ê€9;¬‹]wÆ<²ÖêN&¡EuZsX†¼›ÙÏ9Jn:!o•óYö^JyPéùH´Úü‡¢›Û¾S»ÖÛZ»P¼Ç€Ò3§>õ{×æ"õe¡abÔùŽÓÜ((„tN³PQ+¿؉´HÈJ¬4ûü[:IСE(Yr­Ðáÿ%f ·éh­(Q¨2».MP²Œ´­ñãÀW¢ +©M¥®@gpÄ7Á‚×uSÃT“ù#oñ¯j†Â³¾Ý‘û†›ÓRÙ… e{ÍÞ`át"Æ›egã!¶|NYØ+MZ'¡ÖâéÙ&<†3yÁ †½Ã/æ`ûÍŠ›¹Ì]ù³.Ce„w†ë$MVœçŽß#ñ_¸q›+ßk€õ7ùQcõ)¿<y#?Ǹê¦.GQ`‘ÞXR°bsgIèd?+²8 iÖdd®û$¶‹H±BÁÀC=/øÒnYÆhõzÍð=d ¥¤Ùw9eeYŽòêgœã¸ÒO?N#2a1ˆ-råMqûpCÖÁ’]ÌWØ¢0 ý~âÀ@Ih¼“»ÁWBèôÚ²Ì=e]›žH>³":v¥ážÄsÙréHþ ±‘bQ7ôÖÒª\@2Ðß;´bMA‡ƒza‰k^k<“ñØq‹>ϲÃ9¢øä£Xf)¶’%ŸÛ;y®Æ«v¦×ÁÔÒN¿hÅ‘G±Ð/Xbg/g.ç+7%Šø’ø&Ìοf"½˜×})©kˆü+~Îïgå1©57š\wѲ^Ú²½?ÉRò½ºñAºãsª'AyãBÊå‰ZŒŠübç:hè3žÆÞ~Kë þÅ%9)¶µ¤@TH‚»„ +~ ìSû÷è΂x9X%xw6ûðÖA†þ ÊlÕµÁ«Á¤ê¨‘Ån¨4dSºéG?Z+5urè¤;Ô«³M<Ö]i‹ý¸wÄT£À ˜’ãö²n·u-=,†‰U€‹“A§YëÓ5Çô rcµÂ}T¬½7$Š AŽò$˜nÛ’&¼AàZX*#2·àDGxÔ>Šá LÅí˜i!ïcÀ©“}Ù 0Y\2Y¬ÒjM]1&}ZŽZºk2ûM쯧'»ŸIÐøûi¿œæöR}vM¢¿&;ìrá6ÿÑ@W2ã”<’o6àÂŒ=+õ8O5îaŽQä1a²/{Š» & }aTV¹CMв٠…@O-m½#µÉÄà­G3Ã$a\„ße>çƒØúëÂMÒãçUQV +QzMN$—“å^$öÅ8*UÔ¡úåäZ ªMºÙÈRy¢öˆˆõ²³¬·•Îª}¯ +ôç<Žr],;ë»”ójøWŸFV®ú¿~ù‰QgDhUØ®nÃÔBÀu€÷üûHÝ+6Z^„Ù¡hc{É·½è÷÷²ÆBŠ”¼Ý.d®Ú€BJ +8Ô ©*Â4NC_lu©¬Pê í« ›Î )QcÄ–Ph[V´ÂÖ‡o +)—Eýb€çXw;†µçj×Gtä¡æXnª›£ôI„‰ùH.h +*ªÛìã£o4 Û\—z8z§–FCQÞ·\ýi”‚—×@ !hà»íû÷t<%œVæq¡maƒŹtÐTÇÀw«‹ó>9Ò±`*}Gë)¦³²HA]p mÅÎ7 ¹½Ü_§‘‚·-Æ.&oÖquÄ¢¶òøƒ}+Ÿ":bP·–rÀê#JíNã°â•˜"ˆ0»œÁ×|–µÜ‡ÁrHánÝ3hCF ¤b +Hõ5ªÈ%PêM"_?œöPŠ\Cÿª´ûþäÌM/ØK‰àÔ’ +endstream endobj 469 0 obj<> endobj 470 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 471 0 obj<>stream +b5¹[9 ÿâÀ½³¦³GN'i¥hrH¢mÅãPV“Ô®Xöù¶Š®¦å@L×…a‘_LpñkswÐÃ=¨Nb)+ª:Ÿ9¤$M§gÏÜÕm?ФDân¿îbâ0ªÐ~KI¼(^‡{G›|C¿BšVéEWC{›ÐíÎ5;È?€RLŪsH­U#÷SÚÁL<樠k +Ì^*d€XíâtÔ|#W >«=Ó¡“kòq«¬ HÕBÒ¡©ÆU-Y^.iõJ£Â1‹*Ôpwm7âÄ`Veü÷Kõ:Hôœað@JíÒÞ@÷ bÚ/Êëñ1†]*ˆ®1Èþ%k×›çÀQ-çðÀ'3ZÆuR—ÒcŒ.àw³ÇšäçÝg͘•7ùd8‘­L!'¶ë*¢Û⠆ܹƒ6„Wí­’M¡«|òÅD$Fo~ëJEÛdýHmfRõ¥f?NÀ +r„Êa!W5©AÞ“‚ó›¶çÏ}/ý‚â ÅzasÉôî$B±Bâ™Él÷ gþ…ïþžHw©àRûÓëé1–#„å8 Ý š=ä25Û&g_K³äq†ðxŒQÉÖ D–¨ÿò/obö>mᎎÒ#LÆO“E4ó J(Ó}ßËa»~Ëi¢¿„žµÜÊ¥¬>}" S>6mÀü¿¾MîöéMï¨:´mîòˆ*º>Òra¾Î9‹í®EFÎi4›B†ðÅpàš2™®å†ÄñžmÔÒÅ®íÌUÖ:Þ 7ôÇ°Àí)VG„u ϪZN™õ}PÏÆ ŸP· n,…Ú¼çW€”pìs‰ìŒ@lîM_vBbÍìO¯Ä"ì—=ïµïL¼)Ë\ŽQ„ÎfÐì¬CÐ@Öò³í6+ ú…¹éCåê$}°u¢¶ßàÕó0¦¿‘®šR* 8Æ0Œ=CÖ×¥0—HNÁ¨z Ifï¼­ÂG×hßÀe˜,]š 8I<‡ûúÎu*}{~Sd-â•-º²^Ôpu¹èîEœ·*Š hqŒDÅuëW•3¤¬9ŠÐôY<ëë'Ÿ¦­·…jK–;6ê«ÑÖ®…‰™¤GûÓ…D}m¬h/ aÌìÃ_`Ÿ?'QWÞö§.ÊV +jºB%ðoÓßȱë_k–3+Ó~ak 4Ëö°Ø{FÙßöÄ¢R.–À:;Ð7ߦ I<}ra,›føÄ`ÎÖ9âŽ`ÀÆBñ +_ýö½SØ•¹€ ¨œ]Ý´&$»¦£ç  «Ìã€^JJŒ:ôžëE»¿£aï›8bê-qEE¥%¾JJ'5#WƒäV,uÜ¿Ò!|ð²îóôìüó9ß²¢°½ó*ßÊoiÜĢؿýmñA}» ,äÚðY ïð¸ìƒÒ÷Óü™]èvG39äEÕ¹¤àìíJg$òÓÛ:oîGЉPå)N¡Ô Ñ÷§¬MÊ¡õ´C̬Ií_½RŠ½ÚÁrKîœÏ…îE®©ºþÑFbå$¤A™ÝÎÃbrUõeؘ`å° £±·¶ûµA#¨•ýf‰–x7Œ|1k±¹4©´ìkò&p¬—î9ñãÊ%ˆ¿ýöÙ?DxØS˜¢)Wz¡þ·Ë¸»ô_Â> Æ Ù §SÛ0ÅõôPè&úDmQ/x@f“¥\¸s`çC, ,ü¸¸mûwcˆQà†õ¯ð{SuÎð]€8ò€G¶¶ +9àÎÄõô„q°aáÐPý`øH À€ó{c¾ìîÎ3 Ñć‹ï•Ù¼GCT¸¼þ+àz3oã¹nĽçÓ?ðzn¢ýÕoÂô!Œë^”¢©Ìñ“·/˜gîMãÝkrµmÔà`|¥9*HÅ…¤U©C]§_ˆ8œØ8¸gU)ïš r½ÔbÚH5"ÓW´ç¾ä¶i¤‘ÖÁ™è¢ü‚5رvïv§øšn‹#·êYè +0kâ x÷[^~c„“ß,ÇÍ1»%{ç¢ÎËNΰë§P_ÌŽÄQšX0 ÃwüZÖÂZH*]Ò{ [8¹&JÆ.*/6ÈÁIC¯ÄuZœƒá÷L8s"Š¨|Bº3¥¼‹ÛÇnˆÓëÇ(q‰TÌ“tcôf×çKh½Ÿ™{¯á¸Æñÿ± ¡YýòÓE\j€*IîýK”^êÅ©DC]7s ™;)G§áX‡£žãêÆ;w¸•Îæ}“´â·V„s´ÔžQTv«Aø‰ËI"dŸ‘f’} üº\7@)¦ÃD¸–õQ ’›Å>˜ÓçDì58Ñg6Î ¹%ÝUñO°eƒèŒè®7½öOg9.z$8¯xHß¾³ vˆ™zdé'ÅIÖos…Ô]Éj͆È´ºeÜFXú {Éo"ø·Ì&Ãï‡iØ°Bì¤Ó†" ^o]ìŒÅ4ÚŸK8ƒ^[ð×*)ištGTUq“ÝèÌäo:†ß¢EÅm\+geI¦ ­‚?_ªužÀ£4yãÔÓ{wÉW†™ë*x ÖéqAͳDï^¬ïÏâ#4µ­4Åy‹©æôWQBÍ„R&M-±”ûŒn€;䗌؛:Cu)1v\¥Y» ÓÜ!‡ÞiÁåL.˜bʾUWÎEÓí[LòÄ!t(xÙ¼EV{rÞ€=lÁ‹¨й2{MêoÍ»y-5FVòÅ&¤×¡úqs ÇCç0ÑÑ#W7›»Röÿ`ԕƤÆo¢C›-ÇÆЦ -è©áÚüÌt—Âú""¾éO~)8±¨FÅÛ0(äü2Ž dsÆ*ɹ‹þþ +T}H|dõ|IU%4 Ä”ÓØ¿ûÆ{ËMDµïZ4Ü°ë1z"3‘&šÃDÌʃÃA\Ð:Žˆb– +a¦å_µ‘¨À) ¬aü«07Á'î¤Îò$÷ñ€?¿`k +Õ*¸1ópàÓYÕën +ÌdT€·kÏ”=÷¸“}檿™ &n+^YiÞ«MŸ ˜Èõ%üZ“²þ>ú,ßɪ$á¤_lå­)mÇ•ªO³Ždœ Æ,Mkbö‰¶OÕ»ÞU)N¶m‰uN—Ò©¡ûÏDÃV§-GŽPÝú°“¦;›î‰xNjè~½Ù y™ì¯œå%¶[´G:ª±% +šGÛJ•Å”$s,`$Œ•˜q‰ŽxÅ:œTËðIÌø¯Ø„´ÄqPÏ©ãá3ÇͱÕÉMv+´`kÎóÊHÜ _ÓæP‘[Y/*„Ì{œèóŠnÇùH i ÓSÞOj.ä™3Es$÷bìÍ¡‚wd¡IfQ‰­4" ]ÞJÀë<¯ƒMµMô¶:"8Þ¢”'ÅÕå(â}9Éɹþ[ãàWUeëß +¿ï+™½NÏ“À<±Î +C¼¹Òü©/|8'Zhiá4Ù}^ÓA¹ž»Û;u³X*¾¤œš‰­RKݪ}žõÃø@µuTT…ËÍA‹Ô ¢í ï3¤"ysÔÉn<×9-P¸]_7Œ6SÄvÁž­ë->œÑø6+wj§»ý¿!ÓSqÖH²Oï´žµÚü{Ùü]·Sµä’g ùk#£J½Þ†oÝL/F¦\èæÊŸ ©î¨E‘ÆA«Ã¥ÜEhÓHîqU™Î8g/°6X‰à¬Æ÷!€Ye§ŒdzŸYꌡx:‡tQ ¿lî@šC(O«n +T#qn毎¸g·@»iùK±o‡‰LKφ-‰¢E¨™Ö×e ûëòæw·ÂhžàHn–oU÷$ØyV‰B¼ mUT’R/s¤1WmoÑ…-]bœñÀ?+(Q¸%ê9«~³âá‘_¯}Î2Q$ü¨JJ?ZÕä ÿó_¸ áY÷…;$°ñ/Ÿì4á:ËkÁ5K +ÌÇËÔš«WŽ»5€Ó?Ü…þùeЮVŸ®}TãD WÒ£béÜ7ˆoÈ(²#•YõG—Ô·þì¢fpñÿ +;÷¨eúoòD?LJMö§˜öØp*RBX½TƒÇØê>ôΑû£\òê;¡¸'´¹SðÔö2·Z6ñ×VÏþKôêäTÎx\“–Ç1r©Ü’ÉX7#<Í£Ôõh “a À•Øjl#‡ðøÂÖÊs+$’]©¥~ΖEŽ-®ÔºƒÆg»à,=7œz¼tZ-Eˆg0¾žËP1ôçô ‰ûÉî©{‚ÉÊöÍð1(ÉÒüå?¥QQä“DÂdô³iU!*€oûG¸O.‰´å?Ì“ªîœò¡Î̪5»«êÆ™J1¦…QÿÙãµv8Û2E–ÁÇopºSñF~3»bMŸ“„ H[žr¢å˜‡w‰,NSÄ‹ÓÀÅ‚°™©ù§ññHx°|DóKÁýf*­•sÙ>uˆ+õJ¾-ᥞwy)ô+ƒšW Y݆¸!‰ªmˆ"ŠùÛ’*ïÊÉq‰lêÌaD ÿ°pÍP,áΟD•®w ~³ÅÀ³Ê‚¤ÏÁëì*÷º†OMà<§¹öu(ÓÛŠß‘zq’t\ª‚ ¶¦ àE†Ê©žé¡PÕ)€(Vë; „ž=¤Q‹KH£»áŸÖ•NNÞn!‡(]EÍ\<êxÛÞ,éDøFLÍ5 A).ŒREäjÎ O¼{S£æVÖNÓéLÌm¢ˆàÆ+š\ÒWNQû¸—”ÆQÌŒg‰UŤ‹ï4"ÁêP’W¤ô7ó‰ƒc–ÉÂîWÃJš¥ëœ-Ó¯nü<õ5gÓ‰µõ7´ÃCj¥¹7a›,gµÇ3ľ1÷š=q‘¨„O'ظÖó{(Z[ ãÄkâ¥n…M¦0”££QP7ÔžÙònl¦È/ÏBwÜÏC¶˜ø¯„ ¯ö‡PG'‚;¥DÚ<:âï@¹!ùßË£ûÁÖfB!ÏlB˜!Ü%˼ƒ“s"/ Tb±ç*t7y#Àƒà%*X•2t8"Í‚R”R´:T’·”‘“û@¨œrµe7ô#3õõð<ÚXõ„á*Á ‰¾ÈùªòŒl”Ó ;‚…~c/'uðÄýó¼±YË´¿æ"VwLå-ô£µ´¶NŠ…ta¦_ì@Væº ÓLªåU¶Pv÷ñœü$ŸrB‚žöpW¢–¯¼S<¼Í<è#îÀÖ +æn¤'™{˜'b¤ÒĹ2Õù;ïFýN7ט”RAÄ^ñŒ¥Z¿àÝ3 Ãý” ‡T¹5ëçíE£÷àö[ÏðÿÜŽvðÀ-ò@KX)/iÀ~&µ0ßx9§r!GÀŒÍâéÒýô]A`oÄwSz:9ÌrC‹õÇ—ÿΘý»Yº(5pM)§WÏGØ,gGI›!€Ù=· 3»×x[~' º>ÕN¤Ãåi꣓l{©o?rçõ’z4”´"ÓV-B 'æÅüWc$bà¢m™yf*ô ½öH‡Žáaéiw`Û +éà¥×çNèºØ|LïvÃM˜öóûß|:OæˆiQ+¬¸ûÍ¡-ûÎOÕÍ~ágäåÐ,9Õ‘ã=±"þsâuuÊ {–'öQë v³í„JäKx/0a¹&Ü$Ž;ì9»M“¦_¨ÁÁHÉ7nŸa†»p­eÚî·sߢdÿôð½û?Ô<ð‰€$uɆsšë^㑲°PмªåNý=3­Üaˆ69 Såïïä:ö`ÇqœÍÆ†Ä {xj-p¡šå&{P‘9L}T +뢊31ÝØ©~Î.W$úVö¶‚µ§%UÞΈîþC¥žÙaÎÎÝÞof÷&ͱñÍ8•(Ëüz8·FñËÏÊg.à#žMHè­”]1ô§…‰G‹Ÿ]ñõù‰:à,f™ÖŠ%fQˆþv6É8$¼^?Åå táß¡¯v¹”`8Ò$¹¼üñÒk÷/˜›B…ê +ìå«u’•ÞÄ‘‰g®ïÉðÜDúö8ø +ÜÚ^¢æƒ0ÔÂ37¤×4GQ½hÄ/¾´–U³Á¬þÒúG_Ðïòªù7Èvšc* _'Åéb‡=ûŽšñ_Ùqø„¸³·3˜–÷I½‚~¤yw-Üþ ÊýØî’CÄ@Õ‡d ‚š,?ítDCå¤ùšËGŸ¬,â‹‹©a)ñ–:úåƒUEرq)¬"+X-9¥ OßÓæ :àMâ긤A³«Á.ùãÊ£Ú2TèˆÊ4‚ЄÅ+Iµ£úL¨/8uIeyÕÃê>ýYJ±YÅ¡±¤{Ššãžo…zp™Leþ; !#âÓÚƒÕ1¦Ã¾ø ¤ †b5N.‹L9gtœp_d,æ@ŸQª6€žñN¥òlÛ'ÄòÇQw8]Ìü6G$/üœ<¤Aœ&RqR·ÈPÃÊÝ°´˜Ût±‰'øé† Æ(EõWXeÁBšY8ö7³^àÄg2âÌRd('AÚ ":óylï\þ׋W•áLïQEÉ¿f_]öWèpK¯‹<Äï£ÿ>'hV$#¡Wý¯-²¾ãæ.Í΋™Qµ¼ˆ£ÂµB»[¿}ÒÆk¢… ë\Ö*æÉãZ—2+BY7ý-Y˺Š¬ŠìûÆkMâ ‚‡!ÑåfNývw¯\°'Ê&R”=ÉRé±÷ $H<`”Y ”´ sØ4¾Ë» ’‰7®èü(§Á&ÕyNŠc4nal÷9nÏxzø(ñtH³^ÞÓÝèÔÓ|ZRªòý‰NUn‰·òŠÜJg¦G~x…sÀ¬¿S®è ¬m‘q‚*¦ÿÙ×€v7eÿzõ}L Î%7*eèªûñ~<ÕQ‘çÌbä8üB¨¨ÑõBÛˆ4?˜øú:›ÞMšüØCW…®ÞýØÊoE ¹©¦¬µQßy9eÐÄeöåí6îÉ<ï_ÌÐ3€ìôçŒÒ±gÙ˜wAŒu³fäeeÁþÀ¸36=†0 ¶°ê!¶(Á^uªk‘˜íœèïN7j[ @7—Š5š×ñÎ]!NLmÑ„ÿËMrn±õouY•âP*Pÿ`&¯”YÔÛ€)¸Ð±oÏ@‹hl— Y|ÆS΃ãÑëøOV‹8\5cŸ§àm'ò’#exU Ÿ»gy˜ÝLY/±B¿Òþ`ÔH›)"¿¯¢’Àß1úΠ‚xâÐ>ÁgÖQË·Ü1'ªl]ºr1{›3¤;Ëc—Ñ=kÅÙ"îB»ÿuÚWÒ%¯Áƒ!ˆ}ñšjv³¢Éà÷®NNí?n!KF!ïT½èIŽðÊÙkÚ»Dè(¿xÛLg}šàÓV|Éü­Í!ˆšhJ<Œd]‡¨|Ö6ßÁ•SÌ=ÕÀ˜4’2ÚlËÕ]g/©­”eÓp\IE‰?Á¹ü#TU•zÔ¿G“9¬³ˆ~.,/ÞOg@Û€ƒ+©™Ÿ…m„9뎟[µV±KŠr|·QÃЄýkÞ5³éöÁ– LCðxõSûäcX`¿Ù¥û¤=ÜhñÁ±=Ð6–˜z1]_ë]¤Õ¶ÿ8ÝÖ$5ì)feä.U¦¸ËïÀ~*Ht˜ðÞ~NÉü=!¸)?Õ::`ù| îôބýx±8H·Ò[)’e˜³è2ï!z¼H¿¶Úò_»¬&#"æß©žqVPˆ´Ÿ 2ØçW‘àÿå‰Ó“s/‚cQïÁðÇȹi4Ò5›žf™Ø¼êy3&­¤± +>²ü1-}™-«›‹@&¡Ô8þëÇþw–2r´Þõ½¼‡¥»/><Š}¦¸ÐÖõ\J¯ˆ›quyÃÅ¥´î'ŒyrnŸ¸§óX÷ÌDù­QìÌG¨2€@Éíö8à‚•îUdž:ç#EbªeÁqÄÚãø–ukæßÿà©b÷ôÌó7ú-ÏèCM§©/²:Ÿ¸©íÐs¬‡Aì5½€ÊÞCåð§kŒ´ìŠ†ê§ ÑZ€.ËÚÆëÈ%£L !G׳)ÓEßF ¡Š`Ò˜áÖfæÎG›÷)Üóîq[c66BNzÇèÇ_oÝÜĨε Nª zº‡Ú™W(Å +endstream endobj 472 0 obj<> endobj 473 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 474 0 obj<>stream +D®"‘ÕX¾¶Œ-ð‰Ä™&¡ç +IcÛ75€ÿí»÷˜DôÛ X9ŸßR¾ªø´ð®VÂî"mwÑÔ•}³ +›úwµ³@B\mÚþMÁGg!¾ìÐñ UávÒïù×}£Ÿ†~˜à…›­Är+}…Ô[FÅ×Ôéº67¶ÀAÒö.®*8âÖñ×°m¤}— Sÿ}2ý¯wô@ñžº—•r0Š1XÓ„Ô¦ÿ½j¯û"Ê=WõD¸1¨L…™kEªÆ~ÆñF–1/ç19áù%yÜø»¶ä­qãxèQ™û§ÝzHjO8_‡#…Ú °ª—W,`C/æòmcßvËe”Å£êP¡•3/dÔÄ )Ùj°‡ˆ¢÷›Ù“k¨–êX«2$[û²‘Ÿ8ý”VžÁ‚‡4©„øÜíUÐd¹nþ +‡‚.iNM=ä8aÔ÷[À¹ˆ…Ø"•›B~ÄÈþÉ@î e{1ä`o³^ ¨…ÜÜRÛò32|{–Õ.DJ¥£ñîbèÂĘOLI·EÞHdY™ b öaÃqMø[OR^½R°Ó á ŽØŽñ +pÅGÇè JBñá²$Q0ÓJ:*Ø0iøµÉ-¨ñ’~ŽÌ 6*(…ù¼ñÓb¢ó3ƒ¹x"ô§9)Š›Tâlðð‹9‚§i£¸u9/•Êž8DΕ=H'ùqäúâ¹wΞÊÀ?pš‹ƒ˜á±lgíxÔ¢òaÓ(tÛ^Ð6{ëEÚÈÌÀ´÷ö³§ˆÍK²ôÔNÞЊ?Töb‹=*“œ 32Êk£'¨3(ƒeÂj¿ÀZ5A>[Ï’ï¤þ>ØÛ]2F â^$rÑûXaOZÉm®„f˜`éú©ü¥Bjóèâ3¬¬ÌÙz=ߧ<*B¯ …D[½Ù”†³Ò—¯ 1îÇÊð Jyi@å]ª8‹Qž+'±Ö”h¯—‚“°«\Á…z¨g´-ÆÚYçM½|Ûk Î,Âõä†ÀTí :Àɧ‡ã‚`Á°SGVv{|=t?ž‚Mê£úÙzfC¡’J)q\š4 ‹­s>‘|úÕ³É+"` +I…è?ü'¼.;'Ju^zZLºt‰GsjS⌹ºÚfJàjm‘î`B‰AAšÕÏöXñ\?”’ä@Òófš%ÞÖ®Y>@â‚OL†à×9HŠ•_¯ƒ¨Ü)·›ÕkÎg8O”Änp$/ª<,l†’#÷—´†˜yµøG”µý„úÐy1¿ ‹›áù:ñ‡!¤«¹…vùÊê8„º‰F:<õdý¥bµêžS*"Å÷X/áN&)  [Y£ +£sýPás©¦fÜ‘Ùm¨[A…ç2gðU“w΄°qLŒs[b>M€ýšò.ô†¦ t²Ñôq8(S‹U¾þíŽ]ƒNrAbÀJñÌ$9BWÈñ×’õ°Ìþ›®C4±ß¦(h;bÖÿÓЋü£~à|™¨ŒxÍ:d[ñ ÌOê2ÚŒ?SY—.9ño4èâ'«!ÌRÖÍ"ȃÓÀÞY+Õ*©òskËfó[…ƒafÛÏ4ûŸk£)*5€?6OÀË=i¬W, ÿßK\õ©‡l‰ÞLØi èRÖ-¯ÎÛþú^Œ¶¼ž;ƒ_Éà?3ÈŸœvwB¿ÁÃz®—a>C +ž8]Ù6G0’ï3ŸÑ¾$k)éúÉŒ&÷ ìÉÄ_mOf‰¼ItÆ΄ÚY…ß@‹‡ŸŽŽHCÊdxz}Œ Œ'Ø0‹žBŽxþ‹™šˆOÍ:«phÿ$• _º†zô3뫩Ή-EI|<ùÈÉ ñ¬´Âú‡RîÚ^®Vo׊2 í4¤:yª¦ç¼Agà™ÒÞ—“BC®¨ ¢Ï ®ê€m¶L“SA9Á]n­)™ÇM¢ÀôšPh¹UL_¦žQÇôãíZýäË º4ÔîÝ–FÞK]r™iÌž ãôM=éQšS» 5P¹·Î'i™PÄAª«º’¶ªsM½Ïàd ôø‰«ÿ·* JQ,ò©Ã‘â„z‰ãýæO$†[`ûö¹©ó©rW[ Ú!òU"“¼‚Hå/ëfÁa¦îNk¢§N¼šMž¾Ú tzÑ2ªÏiÍ'ݯåE&ÐÅ‘¦Nr“*:Ôl%ÁeÓÃãLè,{ŽTø^-²­Ý²ª¡HU@ÊD­É›Ø4)Ò⤾&’û˧¹8ð% "~…Ûc3z:gxúŸd©¼œ?^¾Íy#´Lèó.#‡jŸKX :p` +æ‚P]âX˜z <ß'fBk’ÕÈG&¼°ï¶ØL3'ôÛSUdƒB"á÷šê‘v"ÿ¤D¾\3~vS‰²L ïÁ7)ØñOí«ñó<¨•9R‹!ø"¦%þ¬EÉ÷ÓÇ®LälPFoþVj¨¿ÏŒ6˜cÖÿ` ëdc&--`ôÃ? “r¤ÐC¾é;‘Æ^ûH|8‰N9 ?ÿkµqv žßB"ge¦ð¾Wœ×g…™¬ØÒR?,úaæx(êé¡/»ù$ Eó•—?h]T'µÙ4€Èæž“ÒW®7§Ï+EU8ùÎóÿ ±tÄ¥^à ÉLpm{|â¨FírË[ºœcñì¯_š·ûZq-€D|y!ˆO"´©+'°·N+‰·Ü6IÈuðeÒRýV%OY9v€4׈V~=™¿9Pã˜taÿPW`uì=^Ž0®²Ø¤8c=§Ó4Ûi/xæ¿L\Y%&X=Ï>Ëð?ÿ‘rØ£ˆ•b hC›Ç»þ#þ)¯õ+«O>·{ËOÅÕ•P w¤7JV¬óåqßÜO/~¿êÜ$ à¦ë>vñ«àÌÙMkKA?=Ü2²s"] ™[Œoªãb—«Æixö² š½s„1e +¾ÑÈ´ÃirÁÐR1½@ÛæŽÎØY‚;‹3±Û¡% ô(wm²ÄHªN|"9ºWepÏôœ¸¦ +L‚D>¹×G©RÁ;>û¢Ù©8–âZÜBœkŒ*ìÇg¨CAùØŸüI2—;­DÝ£ç"þ—¦:ÝÈ5@úuI’f0ÈæØý^Êêw”RnKÒ¿•}„™ñâ-R64up‘þÉ §_ß{X«ÍaâDM„Âo°w-,°I”¬uʈTa-àPs–ùA‹|®hèŽ)0Iß_PbÃïšYGäJòi‰³Ç`'¥ÀÁ-WQ†Ü3j_T.{g¶!Óp;P•¤õ kò>p›¬ V'(óE>—hURÕy_Žf€=Y¦šB$¶ÁLÚ%íõ\øL‘õž+F0_Zû=úü+<]Ò6ßd„_+iÒñʼn.¹¼†¹™QpF`ܵôêܳ q½Ë§zy±{“Pøç¦@2¤0<›DÀbG@²•vìqÝRõÐC¦Fu¼àÀfýëTl°&,—MMeKôÐÕ³«ŒÂERã¸vT×do»GÀÊMþÜ8ÅòÃüß»m7IÐSÀß~™¥Ä„­r.ψ~€ªú+áÂU!h®&7CŠàmPÀq2£DuëÆ…üuCí:co'»ù€‘I!6²Œc7Æ i¯2ajb-³=;‰=§üE¸[œÙ¡#ü +rÔ)®/ó1)v}ŽöUÓN ¶Tþ¼/£Í’k·»Àëÿy••)…@Y!§|ߤ ½"qð|™ó‡x“»©"ý ãŸ'!Ç,§O.瞨/ÕÄLÇO‰^_/¦˜š7X»+ Î"€”^ÍJx=aÕÙ_‚rÈüŽt¯.RÖÐ'·ïÁPYË×háð×n ÅZhV:/Ǭf -™Ø¹ÄÉjDåo4¹¤.o¹×ùÈ !qQ’K¿¡  TÃ…ÆO*„›YGµÁßRÄÅæíLéânk>¬N½ÑÎ^qèOdzŸKâ ÜW.|ÒM“êÚ¨%nJ/Ÿ‹£¼Q´ˆò\³h»V¬ÉfE’'óç± ‚*à(þI½#ª£q§rÉ阱€.z½Œ[ñ÷»Üjá©ÖÕoV;Â÷ã\Åm'¨·”øý +ÿÈ3ƒ†ãöcN2c-äIÜí¨ƒZBëR“­o®ã@é|5tÿÇù ¡´ñ‰ÈË_ „Í(çâYªdªWåw{_bSpÃÞ݈ÓBp‡¢RÉu¯6 +Q:ÈŽ;%&#Ê-ª)iš‡ÛÈ1VûÿÜ>ÄÀ?…>EjÍè:ÿ¿{°õÈJ))*Qv¸B–;]ÿÞZK5væíüÄP(â2ø`¼[tÆ‘ƒQ.o–g¼†0u1¦~E”5yÅë!ðrá’§ø~Ì…ý ™¦¸¶šÎrâþ²VWnSÝ)ïHûg7eWJÑÆõ¼+þ +¦gBPv›—Žët/à³ín7ŸäùCìšLæÀjªÏ=ÄëYz{^F|ÐOÚE× /± ïD76ù†ÍÕ´E±$7. iR3V~g¾÷ô˜‚€¹xh݉z£¢OIN=$K¿OSÓB-Þ0„©úVqÃKnši-GS=ö¥fÌÑ~ŠKõ|wšØF°zd4,DžÃn¦N”Š5çU¥ KL^£'q;í\åÆòµg¹³;dÁÞ@…Ðé,ÝÔÏF­¨áî·Úe %ežv^Ï¡å^x7•…ÄL¤¸<¸'á'Sc¿sóµ$Ö‡`@õdKhâÙ%Ÿi´û–w!ÿqÂ?ÐÓX2D¾mÿ]ŸMÜJ<7¤¿RÓé–i.¶úÓÖ&¥å} +ª„gðÔeT.åÓßV”—2¶,ÝÔ]0'…/ö¡¯ñ›€y³ì2èoxv5Ö¸ÐÑklQ0bÄ*,ˆ ^ðªÄ‚0¬+w¹X‹Ä–?¨85Ó/uæLû‰N¢’54—ØÌ£m¤\{홥ì«QÒ0EnÇáï‰_Ô!ÇÚ§×Ìåí®µ‡¼Â½§ØýKUAÏx;kÈøýëù—QãR¾ªÖö|-zw)œx’‘¼¼¨°&£A87Þ‘åŒ鄑 ct&ê¶Î€xúÿ¢~åîÝÃz•‘ú‡Þ"¦"„žº†tøŸÜž•.üj•þ|þoÒ +Ó¢=Œ,„ºkÃi%ÓS^â?‘ìöEV?HBÞ‚˜_‘ÈéVðŽþ9Ó>-"óÎX\þoØ–›l¸Œ½ÌÏyîy£ÜÏåˆÒ…²ÝŠÒ‘‰s¨âªÆŒ0{ç'_µõ¸ýãÌ}=ÂöŠUñßÂÝŸìÛTÌØh³1Í:áe·ìé/êP]ºíhüÇ8³7äÉH…æ¸ðØ´˜ðN³Vóºd­Öíö!HÙ2;9>tÚ¬#PVû<³°¥÷Î'¢í:ºMEé×Ì@ª£zXlŠin8˳|H©˜Ü"âé ‰µŠöd혵Fô³t®{ýâÓzÉäRáÂ5ŽVK*â2‚_D šØ;Õ˜™bÌä%Ó#•¡nÈjÉ€·­„Áo§3ßr9^ì­°däý¹£³®a{ôBcxlç'ânC¬‚œ‚LV˜°‹² ¾l’׊ÃÑ{1¶"g¸ˆçBõÎјƒƒ¼ŸnÙ’ü†€U3Eµ ÃçYs¶žÔsý,jAaè¤R@Ò:O£u ÷3ËajáYtA+{CXyÙ+Æ@CùœZ±òÔµkš€íÃÄg?¶%IÛi~ñ¶uQk~¿i'»âÎQP¡è´Á´Óü®¦n2Ðpä7ý§ÀÙ@gòœš~f9¿|C.áÂÒ.6?ÃàÌ÷/$eÒ™m Kµ/fÉdÿ¯ÃÕ$S®™yn-]g(ð`è5ù :ÃÇùÁW„H01ÀÐ;¿—¦vK·cÏöÄèTÖ@öIϱ7’¿LÁœ[Wå©Ò[Þ§©Ÿ¦zK^ä¼B`ʳY+\Ó¾ò¯X6mŠÒÐKÌM@Ù}«Ó Ÿ³×±_î gV“†.TG0„ãfEtÔdkèC­”춛•»Ü/=g)IÉôŠFŒóg¼Qgv‡ y‘ôT€ Ó“Ìõ—ºVgB²Tc¦S§ÙÓ%”®½˜˜Û$#iÛÝxe…l*žuI͇kwðÃÖ’øfü+òj¯Oaº°xç»z¯õ6w³î­wø< É`*:á òkXÑg³*´W¿ë~2Œ~‰¶¥^^€M[O礇ó`´³JÍ1æ‹·—ä3Ý +¶éIˆC +údHCýhhÿcÚÆ©˜í㔞—!N52BxaŸ–<ß6B•åö»M¾üÏ'¬rC +øëî龍[Ìnˆ|{”Š•ËÉ‘¼n­S5©°›|»¾r=Kyh¤$‰âÁ©Œ3e¹ҽçÉ.¼Õï}$õS†’Q–Þ‚E:® ;O°ŸLÍ¿ô•ÚÁe±5Àd úUL W¥Íñ³˜îYÉ&¿áûSŸ÷å §§ÿµ¾nO¼dâ·ë½‡Í×fÜ ®]ÄïÂNN‡ìÅ,Âhô"÷Àb.¢îå.™N« ÎŒ¹TÙŽ­ð ¹>Öu…äRvÞE‰õgoÑÖ5³‰¾qT ŽŠ+Ë0äL¯L×m%Ô0rûz; {lÑFÚ"HHm1Y˜C`ØtâH'ZùÆõÞ«QÉ!ÞR°ùÞÓ¨½ ¸ö÷NŠO÷,†ˆ"*QCŒ‘”ü¹íª + Vh‚Vh"9ÀyÎ,6 ¬EH’Ûâ%'+kŽŒä–æ #ù¨<Íëë¾&ú«ËBCÑ¡¥?LonŒÛ}ˆggL ÄßØ:ú…xr2a­7§–¬Y0yûѧ>_ùú°Ô{¶ ¾4º¤’ráO,§ÄüTy´+îjx½ã¤A9ã?nSˆd¬_šÝP +endstream endobj 475 0 obj<> endobj 476 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 477 0 obj<>stream +CÁ¬Qä©’Vî~®)|¿Ô_‡ÌlÞ^k] +XõwÖ•(&êQHÕè|z$êiÁI,”:ð éC/üøÏ…hD_ìß0j™wÓö_†Ú7XœÃèG©`x*ȨÓƒSf¥ËødhhPRØP)ò®á‚®ù«h¯AE\¬5RÔžVf«Ðç÷D É“Ýqà&„üm!5²z¬¨“ƒ†Bµãʾw‚^DƒöÚT|S4¯êáéî´ +á°”.Ó)¿kE +Î8a6:¶µ©@&ö/¨íÒÆV#<ØýêþN¹C̹|úœ3¡(ÚuÈájµýá«Å´Ù ÖoUFw¼©¡½rw±€UâTþµ4Gçw“^ÜŒd©[õ{j§ƒP˜dô]ÚÖIª„!CVzþ%RrJ¦*»‘xªy|õÑsRûZe(hÿ0ü×:ØÀ‹²Ý©uyÈî-{ˆN"´ìTüUɇ¶ƒCòºD«‹eä©.ŒpÖ‹Fk0&C*#†1¢@NŒ +wÏZÆfrÖLñÔ]Û`‘²·œXóÏ@cþ'%A–p©ÅñÉiÄ·ý«ª‡ö¢Y°'Û‚6dpðÅŠþÜWò¼îîŸaûçH¸äûºlD±>År,À]‰ýð± ª,”zxÔ\ã÷BtkmžMº—°Ü€»ìh"¿“èòCKâ$ +µfèe![šBY½CÞ^æÕPÜâ@M®f¯‘ûseOî=Éþ0 /?B»PŽ×Ï&B1<âÃé mÅ®ÕÉSÑSšËd”¢@¡½Ä­Ù݃›¹st !¡Æ²·Æx!ž¼ žffÞNS´¯2qÝ +åA +<â`Á¹Ï\–Zëµeà\B1*pNÝ~Š.Z„_Ú¤]éÅëð*âÍ:ð@´OÆ ýÜ·œI‰á{’¯b'DŒ‰ˆt–Rˆ4ÁµÕ-b>#¶ð0 Lxƒ„ŸµJ³ B$PÖ¦Þ·Ä”DÙ"bèÚV.ØáŠBoKÞçXñÄŽŽðd©W1¹2âPÛÍÃ3LMe’À6>ª†Ç42ÀéÖN;¨býËI‰âaò²ç¼e¯@hF»®ýØjmÕÞöGbž‚®´S§=µs×û‘\1›…?þ +‰Öx“|ˆB÷Y]x\5è.µºI'®†4Ëj ! ‰ Cì±Sß<¿ZÇb9rÔs¥ÌP؉˜]—úv<*AV¶Ë¯Y¶AŒ¸²¼?!WñgEIÆÑq4:÷o’q´Ê:¶ý††ÃNeÚq4e¤‰~r:p”eäh‚s½v%ÞD¼Åg­ ¿¿715Xé +~øFÐ¥Hžxk±éÑcÿåvš|„$Õ«hüb±¥/¤{²ºð•$¼cãí›…Zš½oàõŠzt‡\„ß/Ìþ¦mÔ–š,l0–>=ŸòÑ‚ €OÿY+•LÝþöØQÈë´/îÕIKI!ù$šT“·lÇçJÕLÈçFÇ8o·Gyt¦È¾È’ôüàaà s‚ødˆ5RnÓp"”L y†ýù ŽFÏ—j,Ü̸°èÝi÷ãœ9O Õ\Û%ó!"„» +Ýõ§ 6àÙëL Ç|„[>+‰€ïeñ küê4×ÊÃRϬM(Z\¶§ÔîTÌ%«Ô§Õ}=­Æïåk ÅöÝb\—hùD§¿_³£ynvóÔã ±ˆ‚üæR.v@ +µ×ꜗìâÏ…¡¿[ë¹ze5Ë08¨ƒ›1 ïÁÄy +;&sÇ`Çø+1þaŸ *ó>Žœ@±9¾v™©h§îìOm¹ó—ÝÆÿ¥Ï¡˜r +'|I;-©ÆH}îë¡@™±¾È7²Ø‚­Q#òHA¶e&·’à +Ö\ OÚº¦;2â"tù`DsÕË»‹©$zÙ¨}—ü Xyñ‡~F¢©½Z{™^ZîÎ1БPɘWžEiÍ`ŒHü0™xªy–ë5Þø¿€+ŒÝ‹jeP«˜ÅÓDšCºÆcQÅh±V6d +Ü)æ^áICZö5Ô„ê`p¨¦ñÃ9pæ°ë ëGDV¡èðñÝB¶õlyº¿3ÃÎÒߪwÿ¶Æ”̳.Ÿ‹hƒÖÍ%›ï@ê&WI_y^›Ø1FQMð’(`WÌÐ'¡'=ñ$m)=´:Z¾–4ÒQdúÐÙ#Eé/Išñùdƒ{0‘ ++çG û”kí `SçÝÞ!e…4N6.; +6Ðœ!åìK¿ªAž5´fŒI~+uÎ<ÞëXnûFÞÀ¢›åƒáÓ­[-d¦Í.æ‹#'¦¼)ûyè`öœÍL0;¨"‹.=Þ•TÅrƒòº·%z7´(F4š Æ+Éç³7Ì”¶Ú´\‹•låx~]âc…²¸´û4fH,‹äZi‰š:¿Šo ä<ÖtM sV–ЈàCƒAEÓR¢ Dð'ªCi9gœN¯ÀÈ+ƒRz‚ž4Ä\+L¹ nÓ_eWÛÅ°Ê:kà‹ñž£dPóÿ½º;… >ä\ò ñGÌÏpmãz›v͈)eãƒü7üiº•{®}ðˆàF•@÷Ì€‡iÏÉ›¦GMõåƒÖæ}xƒW­TJã>ˆÐ«jÞYµùûÐM¯&aA”Aröµ@7ðO¥2©`/‹Ê?k„›T¨ÛV‚PEd÷ëÀJ!Ï™n[YÒÏp=_Š—0)’Œ¼ö HÂ#Ñ8ù‹p\oc›¦ ä¦g€S„º¯¥ˆtþ¬ºûbQm—nÿn2÷JD6â XÍ0;ÛîrÓX˜—¸%éPxYK××r3ŠjNÆÚö´œ6’êW¥âì>è.ë¯ið‘›Ü~ÒSú;Û]Ä¥Ãì•@áY`4÷)åEŠèÚhÉÑx·Ò‡ô1¶o^âvÂqÛ¹ÛQóð C Ÿ?¯œ…ˆ$]ùƒ®ÛÑUÑ_.9Ú +OâëÍM•A’ +ØÞW.“캦lb¨U'R½~(Äã {¹ ¦söŠÓh[ofLH `r¦õ’W’ãL©5Í$j}ÈИt #U"è5÷”¿½üT#ÐêÓš…ù¼FOÖj,ºöÝê=iX"Àƒ¡Ì+*æ¨ò~™ÍøpbÌ'°“/x¼o¤ÑYßÈÓ/ð.¿›ÍŠ«SµÆ} +Gn=ÔhŸo–ësÐÔ¼›’‡¸mþ ŽCVƒ´^¤×eÿÒŽ`% °‰°ÅàWY¾œ{\éÆnÒ‹¤4Þ!š¡À{þ©!…[\ܵ·×r€;ï}p2~G2ÿÿñ©üâ{ÚÉ…¬àµ>vÓq¿ +endstream endobj 478 0 obj<> endobj 479 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 480 0 obj<>stream +«øÞ#ôË\““wÝ:•4±ƒ=ýâ>·*™yð$EWZplÔl(†f.ÃÒç®uŽCp#(„<¢¢fe¾†6/¾r_ã”oi!‹Rl*fdدJü“4£"ÚOq”a zÙØßálï¹N’À?I`ürå# Óÿ&C¿þÈ4XËÁΘÂø`”}¹Äöß:p©}y'×àúþ†#DÕ›š&ûRöï…ÚèÒeë ­­:¨|I~#ðAo,}7Ã¥ +)SZ‘P©]€þDòæCdHj¨M«2½;g 1x¨‹‹3Zy.ž³5| +²5þ˱ž’0ôÛ»/žó/Ëv¾§eïÈûv©¨_iàU¥d܇²3äs€=¿ŸÙhi†¦t@ŒnÊ+êzÐÀv^wúĸùìÅ ¾w…˜Ÿ¿uƒo†#kÖ¬ëˆõÃbo®ãч1brþÿ?´Ÿ€u'žœÜYéÊ« šþQ³`9f𘂆)`9q‹ú¸Î¿S„%«ÇÞkvd‘P¬] !¬´ë2Ìt¦­%Ò!¢£â¦‚¼œÊe.g쟗ÈÖ¾‚Ðùê…Q‰üÅú“¶{¤QѤéZÐLøÍ!ĆÁøW3ÓXKH'é¸-ú Q"¨-…â*w~4]X²BcÇHåŇ“Ê œ7ÚBiÕ"p‡Â]Ùav6-’ë磎óšF-üÃÎsµq“7]Pñ`\ÙsÅæ +Ì$aî˜ëóCë‹Ý}õˆ ¤!V1“;çô®uéÖåvÆr`؆i-mׯõÆ@†0=ò@ÎV–˜ûR˜ Àó³ôºšª«â•F´†‡l”3R >(o›~ÅÏ°uxâ(ï*1¬ÿ±²×Jhî+1 ÎO39¶at¨`ìáiû8„ŒŽqÝ›ôÌQ}¯)­ÒoI¡T!9…õ=ôq!Êæéz–ÍàXŸE®¸{—oqèzøzK¾~‚–Ó° §MûÔëF€“–…]áIŽÅÝ© ;þÙ²  ÀŽIL,ÃéóK²cϱÇäˆÄ}JÃA~Ìù¨ê»`FBG©VBª¥£¡ÇÿÀ] ¨ +ÇŒZ}&œéDà`¨Ù>‚üNÊN‹Ä@6¾c•íRõj¥[÷´S°C˜š™¶$ƒ,Äá·ò¼ù„zù+®í‘„ô¿{µHx¦ˆ»k6Öó;„Ç:æÁñBˆ›x-¨ïÔk›k÷æäÜ`0j± +ì,“{qÍ;vÅã—*¼ÄjCao"jªÕÅ+ˆµž7NÏüƒúŠò´j$ØnKÄ9ï–4X)û¤´åŠäòÝŸ!€ÖMj»Óà$«‰îüuHVhq›ÄcGîñÍ4’žñ1•ì‘Ý¥ñ»WQšÒ¨¾ùû€a¿`ÔäšóàTCE¶-€°’é–®çOÍßÝÝ +ëXíóp ˆ„YÏàF0àï)åh$UóUüÿÅ­Ah¢“X±°4×fè ïê›J +…²mÔI ºµ#Ýbw²“ÆaXÁ;z»:..P^•Óa¬ŸC,Œ¹5â_£·å%“zUÛi@aù{…¸{UE‹0ßâQØnl¢äÄÔr<ÔÝÚ ÌO3ûÆZÅùôZ£åŠÿ…nÓuÂ}çcfb¸Q.,jL9Ln¬N²;xËšç­Nˆ€„|Ë{qÑüý +VÆ‘h%9aHH0N¦HJ]·B¤®ªã4öžMÉÕ9¸H—‚Iu_®Hzå0 B>ó­Ý…Šj $©¿3Û:oE‹ÅûëãRñåÓ˜ª‰T× +_Oèñèkñ—ÚGO¬2<NƧKPç_7V ÿ c{Aï_>Ü‹àËâ‚þ|‡OåC4“r6aÍ’]Q¥F—zwîÎMÿ)A0³mNÝ'±Ýaët´€öp—]/âx‹0ÅG¹%@pïNÕ¢Ù0c™×ï/ÿ:TýÌ eÌ\=dBn8N¬§$8XÔ¥Ÿ1ËûÒË;йäï=«0#@¾â5 B?ˆÿ‚;çi¨`W Éápï¾J\¿jæò¼a±C0êºo,/X „“_1ÃÛQ2°J]òu(¼ÙŠëÏ”PVkhNS‰ +î/’i•Ö.%û',èvÝó¾þ ®ä`· ùwyT؆Þ}µ=HC +â•¥_©ƒRâ•ŽgL/ÓTøÃåzDš5—ZF˜<´ä+ìÑÎ9yþÉÌPôϾr0ŠŠr°“}² + òjb{‘'Ÿ“Ã--âFçÊfjU ¯O° ,>hü·6À×öT ¸•žq;[pú+à"‡åápP tJþùë–ï(/.æs9)ÚÑ+ä?p¸ÔƒœzKêVEZ^5ÿÕ]23ðS1ô#ÅÌ ‰Q@ÚA yäɃ¯ciaÁPPŽk6tj·[Ø6¾[Ÿ{ŠóÏeß6í±H{”Ž˘CÄÚ‡F­”ïZöç{{Æ~à< T‰*/ɘµˆ3{ WF‡…ÕCs5üÖkŠ]Ó§uBÐIeK5Ýg$•è"ßC×oõ]è]Áxª0Ål(<¤o•‘(V¸„‹›>*‰HrTÕxö’ñt‚“^C™yN¤ÚŽ©0=7û6ò+E¯e Õþ‹:rb‡(®‘=Z Mï¼;‡*ƒ­¨0¿ã"K:¶\¬‡YZ w ³8ì(µŠ¾¼ü°sà.üÈ'€ÌÜÕ òR¬Èeo£œU¥ˆš‰ËÙ/9çª,D¢²LÆ¥§êÛvàÕðª«$GLÒÐ:¢’d¯Ö»q}Iç`haóYÁxlGñ«ÙÅøs}˜¸\lî¹Öf‡(•%Ûc̬_cr™ž¦7 +gÌÔòJ%º^WæþFDÝé¢O«Çß[?x°^=γ‘O)f½ÌÉ=òŸ~9ëa4¬ö¹äÀ láûí•04……;.'MŸ¥ o)²¯*‘²²)çÃ^š}"¸„ªiæðÑaµr––ûØ–á„A}¹ú•솎5åš‘\­8_+€4ã@9|E¶R Ïþ´¬È¼m{¡r~{º–ß>\6GÚ{’úå˜ËÿH5#Eëž¡Á‚]²~¥¡7æ¥BGÎR4µ&ã9É7Æ@Ï1ÄÏøÜÜŽ™ets7K¥Î¥õ¡•rÜÀ2¸tð•#! tà„q<˜šoþ¢jMXkmB†{ª4i§a/¾¤Ú­“˜ƒ%™~¬AÂ);^`ðÏ„ ü0þAÒû·ÈÁª€¶ö¸_ù,5Ô0Òݯ].Qõ: )…ëˆNƒr6d(|Ýl‰È#âÛÁCkÊÆFNR¹ª´ó¶aAŠÏXPA}ý¹¼sx6\cj22¢q7´ÐM?Êvz1s­Ò,!¹½h1šM×I©ßɱôZˆD<÷‚G±G(%êØoèŠ-ÊãÅ8AB~ÄZu¯áªz¼Õh3R ïLìvþ>¯O·bE&ˆYª¯uò1+¯¦yÊ¥hò0eÎè©Ëi`4‡Ù8™ vÕô-Pg¤«ÌÀÝm³ \÷í ±T 3cüOòÜ%{ò„¶­Èý:œº¬ZÉa]$2åi®/]%ˆ ìslî#Æèj a£0Ù§L¿p¾v:–¼î"éÌqó xIê#nUËÀ ¹É~Õ¥ìùò}Å|‰¬‘{ ?ùŒ›g…á’„äû{+Óë­³INè ÇÜLÖb‹ k´½W¸»­th»Ù~ùÅvé/m˜1‹h´é’ýíz+Š|Z€ñuêîä(¿Êëæ¾VgIQ¬kü\.Ó‘çÿö»(¯ûD +" ¤lUa ± fM”¡ÁÁfE1Úc¶Œ–ñ£GMœ¦Ó¬·>M5¤YÝMžÄâ$,®8/÷‘€v²¶aó”puÜò +Ýù0³™«•: ѶæÈxpÊjƨtkµ¤ýLš0õàÉAïòRᓇ{Š—ü ³§e¹ªXXdRüï 3Úuç…gNÝïZI#Câ*J ÿ ¶Ô>E?ήbQ±¼HL§Ksõ$ƒ‹°›øôes¹Ÿ•çp.¿Œ +'Âœ¥SÉØ?¤×wœCõAcÓ14Qf"…Àv=h6e¨ëgó<ûvw7@sh‹>_GÍl«&³ò”G•Ÿ#¸Ð×Âb·SÏ›ßÄ– +endstream endobj 481 0 obj<> endobj 482 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 483 0 obj<>stream +2ùÚæàŒc‘ ÝêQµE¡¨½L=)ð_cýþ!û¿Œ»ûïÖÌboúnQlé_ˆQ5)¢Q)úv‰ÚÍËøÙh¢'6E •ì_”ù¶ŸÇw·ÅˆPH`Yø‰u劉Í1 ü§‘ߤ•–âêḿ-Ö||£Ñ×Zk½D…5Œ/Jn¯>Ó3ÙbMa‚­á}Á©äZ]—]°²ÔÖ—òd>Žï>ÏpÕ¡šöÒ@¹ú àPŠÊ±e?€»"p²bkž6¸k|):ÛœV.š9¤®éFU¾IôwQç íû WáTè\óöÏq c°cÞ‡ ¦e­‹ähµ1£k4¨³4%(Yî£Àÿ9I~ñKíËÛ‘1i¬ÕÂBËú±DÄÒ;òçDIî=$è!x³3ùøJ¢àê›…èÉË{›ƒCS„]¶€ðªÉŠo…åàÎCtL’aÂÆuHÿPÿƒQ†ªKmÊÁ4„Ö¡Å´3yíäXÇVŠJ<ýdžê"Tqàƒå…z¢FbO05Q¾®D÷©U–…tÈvÅù.^H@¬?x¬‰D¦Ø ‚¢q³iEnÆç°T…}Ó[9'éøN}!ä…PPp‹šíïI 7YbE†;3Ôyý$ÄÒŠT˜åóîGÛÊL/vÛâÜG-ŒmÙ¥àµOØsRG½•Ì2™eWŠ¢N—<Ã|¢’æ­O½¦nc)f˜/”!€DÄaKÅmØL—(çÉñ¼|¿H¯b†|\wéƒÂÈ!uÁE:RV‹#jp(±’ø÷[ -*Rq±Wˆnãb—&Len,§0–%¢ki¸E˜$§vš¦ ÉÞCyL• ípöø|AZ©´{áðN²×À†¹¡lqØåòUž·òWwŸ·ÞÌ|ÇÛÝ£Û@öÒÛ¢¨mþLàŸõ÷íÏ?“å|ß•ÓÀ§ªËÜA>NÆ·Jq±“S þ2‡7Ⱥ|¹÷1÷Éì½¢ðd3rãQ&h×ôµ*¼ÙOÚå–iô]ÉÅäUÃJ›ó¶é7aúï·Õ‰—Ûç™S>Þ†ŸT +îúÙ2/ÉŠ¦ðŽ^œ{ªø2ç„qÂ|Ê™~AENð*žGÚ~1²ü† —¬4<BAïò,uiâã_`|Ú€tË»¦^~¸àµÚKãiŠý¥Í‘îJÓÕC%làL¹Ÿq’:ÐÛ§«gÔ«Ss L=tfk¢Ð˜Í„N¤ƒe1¶}ÈÓ YW×±‚‰ÑRˆ?geMó€Âåe¶H`ƒj}MGÜ&ÞÏ(PJ) E±ãIÝÁqE˜&ïíÊW¨çflk¸ÿÂoÊ2¡+ל,–Y³@l¤¦öp}x"+¹›Á«usÞ†je–ßظ}bÿ¾z7k,¦~±Ãœ +rÕÉ“¼Ï>flÝÈŽy€¾}‰Ñódr(tËe¤o.o²yÖJ‘výÑô©þ;Tùö¦ê:…ö‡Ë™Þ@â¿ÊE¢ÓJjl1¦ÞßEêxÁ~ÃWѤâË?hFw«” œ„+2„>ÛVï‡Î_Sñ÷äÒ˜_s4­ôg0B±Ûþ4XpÈiÉqцV0 ØîÁºÊz‚8f”š r–`‚7VªÞï¸ÖŽ—X.| ö,˜‘ɆcÞž=ȧ†òX¡æ)Tž,Õ@sÄ?Èù”€X“ tN© ~ê(*°B9Ù(PÔtåáVéRk¿úöVÜ&3Æ’Ô 5UEî=øv|ù½„À€›Hµ¬&)‰ ŠŸïi¤t:ìîžx’1Þ {¸¥ä'µXFâ׫n#¹t²E¬— å’¦GeíSµ_²ôÔˆ£X'DÝσ'ZƒÆËé` +oÄé£úÄÈ+V—ó¨irøMÑñ¸†]Iu¾Ô`$y«¨l3ÕÜ4`ÏkÓߣˆN£Ž!H–8“»ôŸE_è3~橹²¬¶©A˜^ŽûTÓî¿«Ð_J",ø×v_96`D£ t +‡ž‡™ 34¶4¨%Ľ°Hø†?ÂPÁ#+òš‡-~ÖÓ;Ò3‘êI©Êëú˜ûRЋ˜C kFlÏ +ÂÉqÌ2=ÒïXQÉK´Ù™¥¦l€Yl¸“åÛj‹3ز$ûDI]!—NÛ|Ó|Ã(wHx¯ÿHÅðÁ£ù5Å(4ÆY¬§,ÁûÉ&`½î~¾ñ뫼؋q5W¹ƒ›`Ù¤Þ,ã|k›HË̵4Ô„¾e»X±jbDÆÅ/ôT†ø\ZÄél¥CuÊ7ÛçÏ^»ëß>åžÿ+(ECæ¼=:é¥BèÊjÂ+„çHF;äîi±™d=‹\R/ßP:kræM9ÊsôV2ïEj’yúÊ¥ÑÀgs—oÊò¸Ýôz©Ù,çwS¥Ð¸‡/KIUƒÞŠÓݲXRXv ê­e¾~Êò¶ t%Ië¨5÷Ëbo‹_„í>àš¬ RY¦ì9…óOÕŸÁ+Ö3·•¢Ù‹MØk¦¦Q“ª%ðÛ¡*€ð?¾²+ìÒ{–$iÒ¿«ßײ}I­HiæoÑó TF±^*¿Ÿ_¶³BAg›ÝzÀ04=°PÑÉ„ë +ñâÕêqÆ´ßè;ìCïl%£KGeëFÖÚ_A¬r±žÐ³ã{ '³…!G_uõï‹^i˜~¿äÎpœ«5 +Ž}`w +'÷ÝvºÚsXæ¢sìý« b§9 #I±„¡J›4 ¬ A—œË~k=G=ÇÌ•¬ÔG¼Ð*2rí¢Tî%‰÷ƒç0ÄÃ,rñ¿rhàÜYÖé“q aÊx@HW߀’§·$ø½ÓûíÓV¢æ6”?›©e¦–A0jŽ—R +D©L +\Ói+{ª +!)Ö|žúUH Ê–d„’†4FïÎC?Þ'ë©Æп-¥˜œï{-Žü…4Ѷ)uI&û¥°†§É#›üÍá¾Úí¥rQ+‚KAÏ'$Å5êTˆ¶DÂp/”ûs›Od1ód4°ðA¢. Ð{ªÈõ„( +_lïK/J ˆõãø+ î8¿k~=1)ï×Ö`%‘äïi…7 (¤¯½$jÒU˜;$óò¡~65ƒ×…†^ÝÍo¼y1ÄÝõ0jÅZ‘ÆäÆÃÖÉ‚¥B°Æ,:œø†\7Xy.¶¢®VåÓiP"°gg ÎøÖ4`jÿÃMR†Ël–½g [¼X4÷æÚPïp^æ“êd[*@Â’nX2I,qÙ+é@f™,^\±ø[ƒkêD³;«|‰ +>S Æ L úÀb^· ƒ¨2é’ܶ Íýu>¶ñŠêÇÒEl‘³æŸXÝ&rð4 ¤pÞ\.íDb«a+ Ç›«n'í,båûÙ•YWîŽí5½-fØ]éÙe°íY?ˆ^ªaB ¥z‰}bîTÎ4tÆ“%ÊQ.ãHP&ÔdËŠ¿±~‹xL?qòµÚ-Pš]0Ü nýeÎ?4B_Ú=Ù‚W@XÊô¨£{ÎÜ<ÒO H*/ÓQ¨…“ß“È+‡ˆ­a„á“.Äiâs.6ù£à¿6V_։خ¦ ¯Ã|ëd9„ Xv¨­²ßU·5t¿ä1¾H}$,ëÔ;Ú7Vß=´¾Å’™²ßô{À'‘Ù÷d‘³‹[ÄM÷ʹқÞk¿ä!£¬6T®ÿÈeè%¯_ôŽ”¥‘ãdX¥‹ªÑ8gB¾‰_äß„ÐIÌjкë>|ÌȯËM¼oH TX‹ƒÆƒ« ñEoqAßIs˜üº¹û'$GŽngVQC¤Ò §s.ŒÂ”釧‹§_•qh[_‰áÛÌ‘ôïìá&êÙKlš=²‰0ýTDXÚ5½Â;•KÖÕõl•³èúÛꧨ5&i}ÔWÒv ¨7¢Ã;Vk]§j~eR&§”‰â¤ðl%ãÝ£e[«jP¥ýà*Ñœ.籨]xÃ+‘î>"®®­þ05°Á¬Þߦ¯Ï¡\ÜZ l1X±ñ¹a\»PåÏæð"†ÚuË*¦óÁWï¦+ï¾ÈHá`)Þkæýa*GÚZ¼Ò[€(¼ªJýtê¯é§„´|ÿ=]ç!hic’¹tšIí=¶camG-e¯„g"CvD,üu9ŠTXìÈxk­#_mNÁ@ËíÅÃelô[cx\Ž¯<*vî4ò£ vº+ñ©æéú«©éëd öwN¥éÕ+ÈÞRiäCÂPùÞ‚©?žÑÇ»¢Ì+¶t+-2¬›!]n¢6çÍý¾øW­S~£¹»õqïö÷£¡fƶߟ:1íÐ Ï_Ž…\Ån§% ëLÀ§˜ãŒ‚3* Z; ’ÔQUEõȧýÌtó&™sUã)ܱeàŸ¯yf°>ˆlù$,ð'‚Ã^ óäM½#bZ,{Ñ Ç.Ãeý彄o‹Žøx‰jï³ú:¦Û +endstream endobj 484 0 obj<> endobj 485 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 486 0 obj<>stream +GÒo½ x×Ùž‰" +LŒ`²Liàø§;ͪø¯ÁZpyÖÀÄõZéPÿ85R¢HÌ+¡Ì¦ ƒýù?(ýÎÿÏ€ ~ΓWü£}#S’E*µM*‹Æ/½•ªmùžwb¯¼­²ÂW“r†·ìÃì[éÛm(`ê­©jœò·j9|ú°l”7ÎWC²¨Ìã»Z ï/;)^¹íõUÿª¾éóžÄtçÇ–P 4ZÀž! ©ç:.ÓF}+„³².CÈhùË\ @õV9 Ñ:wÒjÃçá_¼7• îBqžêô3£n¼¢Ä~®\$ˆ›²Ž7h‹ØØíž4–‰ÈÞ_†ÝWÃglÈai㬖É]š±;5XâzyŽ{Oý{¨2Um£I%òâ\8§UƒP426QÕ i® +ªã FÈŽæÛ+£ ¡¦<*3#¶À×ÃóâK}ÆÒ·Òº´Åsô!®ÀÀðçpiÎìó³FÑD×$ E> yV/2­ Qò•£)˜ãßæysÛY(ÙZò¦—¾{¼}Mfc7´_ +ødabRJè5üÔd™sïï£mÍŠ[§„ïxt¬&Ú—˜ ƒx Â>¡†͈ô¤»"¹VŽy0ÀC©„Ðe´H†§ø[nÿø3€Çö¹m{Eŧ)À;ùa®aˆ•Ðp«B/6©˜{Iß¾¦j7’î=S•†}η—fóíWÌc·ªì:ȨÀШ­±uÓÏVÌ˱“MºeTcEÑ¡Ž¾ß“0 û'ˆÚ«e` ‚T‰˜ZUÎÖ ¯ñ\¾% ³ÞwaH×^×u•Ö3¨a£RªŒòÅ™Öj¤™ +## š.Óèzꥹ}CÎWǯg)pUOzÐVëôbÝíµ]‰¶ÿš}¹¤r±2‡H¼¡~ÇÒvú¢gvS\èX¬Ó«p¸3ãš-¾—ÌÜ}ϵd²Â` Ÿc./ÚÈ»x/| +^Ũ.꟒¼¹<–0òŠóg!½Åý.ç¼Öò,º;ñÿ“–uQYŠo±8iñÂÀÞìÈo +tøHÅ1]„˜GNAeZ߶MÆŸg†À7ݧꜢ³V»KQÚ¨Þ^•Æ´Êù^ ÕÝÍ?ŽÝL<+SdwɃ~£š£ooCÖºê pÖ/ï¸bÑÀ¨Tuª¸ÇOá‹àñV3âæ³Ö¸„ €2犱D¼pNý$÷ËÛ_à.[V!+ûr1VÅ|»¼ð¥hJLaØ!„Dö«aøI4Äs|Úm\àmÎÁšc˜¸Üâ.§‰­ô~ÉÁOÁV8Á |ŠÖi¡Z›,º+‚¥ÌŸ`œ„K:éåŒ@Ò Aó±@³D |r/œª/2eXÕXí³y5t½åç +²k%•á6t +}˜Ÿ¾+šWà]ôã'7›aý +G&žMÖ(ÞÕÿaÏf ªÇI™•ç=.}yo5He –imf[:'ÍÅ¥˜öqÓÍÕ.GÎ$´]n Q˜ûÞ±‹¨Ñ~žÞëÈâïìõù²T¥·»q¤¶;Sn뉙š¤æa‡ùº®*çE:ò)ùãÁš €É¾»=€þbÀÜøÇ)"¸*JnUëÓ4œì©¿.¶TÌ'b%7õã™QžU¹H"Á’„Ð\ø8®¬Ö”’,…ḕ¢ÄS:—5o72ƒ¢Eël9Âø”/”˜9\pEKx¶µo”:=Ï¡²³tÕ¦ۙ0^å"u»48ˆ¾˜¯O“çÀ}7—~‘|zÞíf0íOM®=ºJ3Gq—Æ¥sŽÿ6¶n /hVð– É2sÃU +Zúµ?Óۋ­. oQBÌ₺h|Ð_y¾S`ðë`ÝvdÖ7âED¥‹ü*:u+ÊIÈMãTjØþb.›¾µÑŽg¤b·UØÞšG LøWâiÊûL¦âbÁ}ÊÍ ¡…ÍP6µW1àššð¯9÷Ò?,D2B>†±––ØY–ˆ‘'ª®Ïžæ¾V1Ÿ†´5â‘ûG¡™‚ Ïv2¹ë»ñl¦Œ\þ÷Š¡é$TÚe'§Ó¥|¹‹ÏÔ*‹èŽ>܇øüõx'uKë¿šÿŒÁª~•+ûñÕEb×"<ѱíÝXÝŽ‹ß |,²5ìÖÁÒ'„ÿVúGPÁ†#ÞÄ9RWsG‹S½âT^w\~Õk Y€Õ"eUá?.ãõ ß §¨0&jê+Rùß >†˜ÁÎpl.s3¸Ñ _3žšò¡¶Uœ“x¾¬°žÉ@ ¾À‡¡œÜ`b_ߺ^ð¶À ‚Öªv5}‡µŸ’XÇnÙ„£ës…oƯŽÅþdÌ£¥ë%åiàÏ'ãrÁòÕj`êmü•KqUŸF®¡Çk¹GsÒÛ$ú¤3Šh´Ô‘ëËÜÂœèå¯}†BI]œ¬ÇÀ›Y_„ðùVeÍ5Ðý•#~¥*׫ē“¨´õµI~Z·è8d>OsÉáÊðv þþ¾3Ö ËÆ9­Ýo©îL`ôo³yi ØQ[T^)x$pß4° ‡PêM!̲ñ£ Äs’.ÉÓºè +¦ŽñK©Çr•_¹Âxi4>š}ô)ï"åzì¼u‰¤§Æ¨%VQnLÒ’ +endstream endobj 487 0 obj<> endobj 488 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 489 0 obj<>stream +¸€/ÂÓ¿ì1XÌøkê ùWÊÿV¸·Ù#ŒëÅ…¥Ow<“е¾®K+¼ÈT†Í-Blïóþû(%l¢üf®£‡¢emxÎÒj¦t_—ÕTg[Nä4?¨^©(hôm^À—ÓP ï¹bÌï¡ RRKŽ˜±™«X{6 ¬K /0†ã¾.HÚf&íGwM~Rg î¨É’„rëe C’WøÔ ž¥Â«æJÅýN¯?rJ³u1š'uÉ‘ JÚ›†©¦AM¡wh¾i@ TÈ^N¶ìÎÄýFz’¨ç¡2éرZ}S%)>B“k˜2¸_EêÖL‰k³*ÞþŒú¬¦ÄÀq·KÿÑ ¶Ü˜•/2ÓƒP) §º¦­ÊÆg2QÉWôÆ^‰‘äIÌ[r”ìÖ5¡åâ4V•aͪœeÐAÁª¤Ò¶f­+ÊTRè¶ÛýO—°‘,dåT +>Âü„ä®L@Òÿ†¤*;Ž¼ Ëk$…Ñ»(Ä‹a¥Ð•¥b«€b<]“8ª–2è ¾»9L±?JÈ#¹ ¡'ñBŽÎåd”D™Ÿ»“Coò->qÍt×ÈñŸî }w#@¯¬1ð} {{ú¹NòMº/¥ü‘.ò ¿;†ÿ·©qøä/W²éê¿X÷ã åÐäžF`ÿÞea­ADâûžK(8éTOk.³¨µ?ààÍ­Hh4AèØy]7Þé{&‘ýÈuŒò ˆPœñ¥I% ++¤y™qÐÿ +aAØÀ¤ÒQ¾ià9»›3Q¼&:=˜={Öï.@pÅΪI®qß_lõ»É›2($r .gÓù/‡ YÖ¥´d®M¢¤oʃ#ÙÁhÚîôÃQ¼€º’"‘~¯hi7–wRe¸9îiPoþÝ–Glr…’ħUÖÞzjBðxEGLÖfkà·¼W»ùö/á™bvÂZ-ÆyJ‹øÚjûC0bê`â­Å+«ŸãMJY‘>b{PSBדþG–¿ì‡—dˆ¹òk‰ï:{UtôÉ%s(tñ¼©Œ¹­ˆÞægþ$Y¸AÔ« ·ù¢¸ú¼Ñ²îcº'ÀƒZ‹jƒLÜû_ „_ìÊh øæqêò’µ0.h‹cô–áëÜŸ&ø£ß— ×ÑE©ãlü±Eô8‡],WԀͺUôªa`5ÒwTBI“뀵›àR{ÜÁ8ü¢œ3ÞQŠÍiÖÓyh®ü†ÁŒNíb'Åɘ¾dÛ‹ŽÕ™ø)È~ª¼ã#hÉOC˜fòõmr3«`Ûé¡Ñ÷HŸ½Ö +tÅž@ô18V}ôsÊ­Çøç7ýÍhx‡hs2꯲w +7˜ÄLûú²Ó4SˆK¦¿Þ)y$ +kóšŒsòãx®ÊWÞ1¹}ûç²þCwJLAuuøáH[ .ÁZÁêÇ‹%³ªn¢øäîYæ¥;_ +Mùõšké,r„sV$|¼B:ogN fC¾çG Y…÷ñ‘l<<¡ä=&$J•mÈGk_û%:²|½"P’–0BŽ%×¢E¦‰ë!O#)4µ"7ý¾#QÝðZ³×Í‚!Ï7+ˆÜgð1Ƨ+/#Èèš›A’œÞ“Yוvx ¶|ÃÄ„öñ ЀädœoðùÿžÓáñ­÷>A®éSF´ˆÌ·‘6FCBâAÈÊáXªÈFMrßÞH¦ñâ|¶Dÿ'G{^Sì«6u«.°â/ì«wëzZšû‘}„ * pj&Ü(ØŒ|.Puiçx-žY=¶TÙÌó,&‚áH4S!™á_½Î¬Ò½y®¦ G#÷d©¤æëÕ—éNR%SDv f!ƒo‡ºü‘ˆÑæ’<ÖÍÛ¸qGO§íœâ²é'6”Å@³sÙ®£/6r)ù~j‰€ÿ®LéVÓ)ýŽ«§ÎŸ4²m‚'ײîUMÚS‰ÐƒùÞ½ .gWÛµ ’ û¨BÊ&=DÁ×^£î‹©…zIŠ:»øhØS&¢Ä:J¯xœ›‘8cŽöŒ¸âUg0ÌÆ™Ç(\bTUhEÕ¥PØÅÅ XÜÄ¡ÓÅwƒÐ(bSaPaÊ¡Þñ¬'QÑ96:É,N!ÌŽé…¼Žjð¤Aµ˜{83µ¾JIÞNÔþL LHv÷ÐÙò8xˆ›ìµÃ3¹Hc3Êp¡{fÞ«ƒ…#‘Ë ²,@<Œ[º%‘!$³—jâ„mXE&¼­hóÃåïÆZCªŽîF7Q˜œ¬¶&är.6蘻k(ÊéYQ%xÔêgMŸªúA1œó9ÂrE½è¯D3+˜—):©ÙÂÅJY˜*jG %L ÷w¤EÍ'p-#: gê”ô&1áûeÊ?½•ÿ¶ñ0|/ñßï×ØàæŒÎVßÙi†3uMQ»>ÕCȽ_eókÓoöê ù”³Ë¯¨>1=• –4J ¤Í‚μ”Yy&Býl€¶*À\f{U¨6©š5€2WM9Û9ñˆÖMŠt*‘]& XåääÙÛ¦€gVG“?òM·m4½¡°.¤^ö%Ý^ݹ¾p²ìêltí ¥é´j¥BPë]³/!·ÏæÑzÅõx9" ¶(8uq¼ÙrÛ@O\¹˜Û¸~*r°³/ 3ã QcÓ=.f‡\s¨‡ߣ휴¶F«5?1$ÈkÅè‘\™Z£Ö£wˆCü«\›ìáj¥Ìø+8'ÊBëæ¾âEljÔ®ã79 x<‚þ\žu’›2Ê¿¤5¤Íæ)ÓVÝXwÉ“„ÂÏ ùÕ^*”d‘Xg×÷æ¡¡ÛHJTÕ³âw}‘gËÂ9­c·5 sBcÆ_ˆ ½µDëì'°|&Ã=i¿¯cX³V‚#é[vù˜;¹‚MR:ÿB°\•ruíŽX¬ÁÖ¢3†Äë³Á£‰Ã7šhÌÐǽ+b\X±åž°¢:Îþ”VCý8® „½Ã òŠzºëáÅÈ(2"=ÈVm¢ãX}·ÈÔͲ“-é×RH2ùÉÌc&S€È\|"欟@pÎBË%÷J?l“`ÙÂ:©OFªÉG¤ +•K47FDd€—Eäô¬Xu"(ßm%ñ¢ø”YÛÊ[ê|œþùìÕSÊŸ»Û. +]Ü‚ƒn©c·à«£ä¼´¼LÖÉò ‚‰ ¬¿3‡>©ôzV³º^ùfñ¾H¤ÞéE|î Âäc_p¿'K—ú;‘æÔ÷ÕÄ7±Uš*e‡X„z,Pø+òšéKèµ6ÓÞ7ï¢?´•Fâ•ÓøG{û';àtÇ”â€Ú +.66íNÌ+43j|s–jÍEì© üõj­9Ì”‰´o; ŒãúÖ@/=Ç/wŽ~IæF§_d5ÙLɵm7§[Ù #I©Åe•Íb +M‡OfíAŒívød/º—téY¹ŽþãÞ9«µgÿÁG–=¢¹­]7 Ѫº“ö,«;V›èÜ5ªq¶vØÜ0 + ²±«åa,H_òé,[ÓÞo>¹îÏ·×äaÔ J$0“Qö‘ì:­Zj¹êo©ór¸Úæ¯7.“–V塱ÁÔ+·©E€‡_rF¸³j×͉¿•|¬§Öó T ¦ +æ鶞=u`Âp‚*Eƒìv±uÛZåÈ}º¿]}¼=›8f‹_# åP¾D?”÷ç+ļòG” Y5ÊùGÀÑúÏ0[ÚBÑj§ªN0?#Ôòh7Ôb¹ÞüùmZÁ¨ûâK +˜¤Ÿ×À²ð=-(Qq·|ƒ†~Ûý +ÐmDy^lAÂ|b$H{Aß4¦Ó«üGÕˆE?wo_™KÉÒ`¸G’ú¬b”{òñhZiÉØóK6Õ ”CÁFÜRÛwâ¨ðN?t5[w{ˆÉ=Ö1ß•IIÙ„ÔKêÄÒEúÓéX©²çïølí»h¶M€}£BþVo4Ÿ®oö›¶+"wAŽÉ-H$sGœ(2aàû #)G`=1` ìªÍ$¸¦C¯ÕžfÇòzNL¹Ìêk˜á=Gñxæ^q¼È[/¯Ü =fÏÞ‚ZbBºÌD%Y—©ÌàIì<ËJçºÎä ²ÏàW¶¦ª³a^Ž¸`¼J$i¸k¨01Äĥ̘½}m‘͘ç,Xï;¦„σ¤Rêx_ZܾJ¿”áÍZÛf ôÇbsϵE;¶ÿy]dþù{ÍÃ2埽²`ËàP"ú}ëA%!þd2À¡-ÔM‘³{ï Ü­Ò”Æ*¦8<*‘éîœ0=»oƒï +¬r€á ò`÷3[,þ!Û$ȸHZ@„Æu4ùJªÌ}Ñ ›W~äVxlÝt“i„,ó|ò›?9U :\¯Æ³—n)'hRÉ0(keWT¶O³¼Õ#¿Eà³Á©ä +²9"0c,‹o[dš^©1­õ"ä>d™Òã¯I‡ Ðùxˆ¦Ž‹ÇDkµ7£2lª¦,Æ3d„IÂÏæ-é +l‹« žòÁ‡'wîÇz|p»<¾-TBlšed“ÑǨKˆ…㲚ElS Wo‘QyñxÓ`¦…k«™mŠ莚§#`èúø¦:æ­?¼PÚ ó«5Õ–·ôŽ·qâVØ[/ÑOþ’‹Â"óU‡ÆÚ€üÕRÁý·) Û”:•eÈ1bÕ‘vT“²¶Î|Îjy™²Ûè™ØYYºrÕÑèëÑáXWz{¿~eÄòß5Ö}üê$ýP¹”,1®Œ”fî«o| !rG%U%Ü«_Ìc#ü ·ÐšÑp¹3sœóIòLz€3GŽ—z˜6€.6.[\«ËÓIè¥cÞ0 yÄÆlÌf lFp·É9}øÛÄÂŒx‹sÂib[[çÒxvhX®ærÿɵx¾ˆZ¯ÀUýåµã d{½/Àœù¡H.j,÷›\Ã÷.Qž:-¿~ Fò‚ia©_hõ ºªaÌ +ÓÔ*î^Gq;Ï€‹²êÆG|èknÙ\Yð»Œì»Rbo‚GaÒqöêoFµ µµÚ‡ð'Ž[T+þ» +©·ö«%ˆu)š«"6`a~ƒxlÄê–ØÕÙ½åS;fŒ}šp&ðôxrÃYªb¡&‚4¼(D°ùúˆ·½‰’Ýrl"}ÂÆåáŸ1-'Õ2®ßÜÊÜÀ¾†öŽc¯4øjS0v‰ ãO‘£‚ñyrœd¥)9yâh™>û[Öì….K3ðȧ‚7’Þhw’»ËUðQ3°£ã$šøôN?'æ(´\Ë,œÿ¿ôCö¾*Ú{œþÜÜC݉š¡Óã÷PJ}xˆ…¤E`ñÂ…Dܨ®çúB§Ø‚7ŸÊº£O7a¿2>øLèzË"ô³·U,hðÝøfÐ@^ `“”?L̦¯‡6TÃÊ…¶]ë}Aª¡ÆÝiN#SÏg¼¿>÷;z„–6Ð6MaýGQ§÷GHuéðÙ‹àqׄç< 9FdrRD÷ÙÕ”°LXæ뵺0õyzVpFî&ˆâr–™pæõm©§­ºU ˜÷ÇQË¢Á¬KÌ^tïF¿Ïq‡äÄÒ Ð­{{¾^4Eζ/ŒFš9¢›œÏ2" iã¯ê@Êüž;÷Å;º4¾Öe)î®2ß´T×Úaæe³ Ü2¨`Ï«¨Iy{z +âŒÁ0bàà“v«õh.ÄjÝHÏ5‰xSp¡©L*g·.Þji»&/:i…eᨙ#\BøÅ +:ž›þÝuwqþ}û¹Ô3]Ó&c¬­›ÎíeôýÈšJ£{S”½UK¹ïßé¦Èö´‹0øŠÑ4B­÷ç¿Çüò‹%T²Óͬ@¤ñ 6¹€¼”VVzc@J@ó|.f™å&›k!0já‘qæg={Öh|÷ÏE«‹éf׃a€!h¶ÿB‰ïKæÜ—dLöߨι^Íþ‰T,[&>Æi‡8×QôjbX!÷eß’©Ã^RCž-‰óE‡r&G"¾©—b> endobj 491 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 492 0 obj<>stream + +3#Ë&¢I?{¬Ëi$xßN>OŠ^NPqTˆ.™†§Rƒû~ÏÀ‡'«žÙù­`?®©!mœ,mÚºØê¿[ÿDaè̯SØm+R +Ïu¦„v%È:»ÚIGSÿƒË¨³=ölï/Þô[½‰ÑmÖ¨ì‡,Yß@åR?Ž/Õü 3ES´E»­âLJÍÀ\²P¯–Ò: ¸ˆ¼ìž‹ê_ðãWºDr +¬žc +B óþ^²N³Û1e™:€!‘Üü²€8g3=:"A®í³þ<¸ {È‘®w3²‘ŒHá¡‘;1SÏR}âéâÂj:­â^ùäòOZŽ¥J-LÇÞ”ì„àSd(Õ«î-w• %=&OÐyÄYÞK( …Ö1›Ì’„8¸éŠ;9ç@=pgÖ”BåÍ™YÜ(\þk“ wÜ×P†B¸–Ð披{.°Î¼{¢x‡eÇ>º·‡P²öž·A> +^àV-çIhÂÑí¶Æøø»ê0WWoiã?Ó-àØ<Ë€q°Kî×å…œG?Ú +ü±›~—@ç½-¼íãп +‘ôÆÿÎGâhÌqÙ¾˜`½Ü©r_¡¼U4sk_‘¹‡•X +6eZö™`ÍU`c%uز™ô%=¬’d¦ö…ýô2IPVí¢DÆü|˼ ¾ ­ÆX_\ÍóMªôµ†Âˆ'n8xX=ÇŒ*¯"ÕêÁ ÚÉ´­š³@¸ô†×½ ‘,•¸t©cPÓnµA¹ø^ιW˜ŽÚèÄ^&Þü¸/¾¨_þÑu•ojfm·0 þ)õŽAG£Ý—¢?„Õ¸l&“1_À ŠÍ™{:YZÒ£“‰\nR„á‰ÓO˜,-0#¨ÆrΔÑÒÿù~!¨â1½IJ&Ñ{~Ò~ ª qL?‚ˆç·ßÝÅ€“x¡’¸ë|¼V±x暃Âß4Öäè1¦ƒšP¸àPø?uO)ùÚá§OónÆ->ÆœÝ6Ê4‡Ìƒ¥Vd9:ˆ×:`ì>ÐîÝj(6-‹ØX9€ÐâèW:uɺ;ðS_¿¤êï¡ù, N@L³§;¼˜>ö;Ì›Ò$LKPÖûšÈ(#j.\+ –þgæ6¢Â <{õV\ßX}3äk:·J‚©¦÷Ž^SºÉƒòÎ(Ó +1o鮶8ÅÆŠÇ%uK«¶Ò¶LìärfÿÉ£èž×â£Ð¢|_r÷G*±ûEí{uwMØá|Þ°¼£Àrո˫Óy:÷û‚vÚ‘€¾P&Lj° ÿ7Ä„¹˜Yê~E-«ž-ó"Çä}âÑsÌO|:S¥€,°ïH:ØóbrËšr|ýv‡ÎLò$›A9%]uÏW"CÍU¼»ó8,í xŸQ½ÇlÐâX/‘ˆá§=¸¢Ð•›Ñ”«£›+SÔ¨M®O®œÉÅH¡šuNž.3¯h*|íäÇËwý{”aödGï•RšÃšà@zçX·¤·iDĤ„>[ÌëÀÄ +‚ɼagfLc"†^X–#Ô«ç+± SŠ¯·ZG E›[ïáTy‘Ì)´Cp°Å¶ó°â±˜e˜RÄUžL +nt°ëÕMZ½oËc)êAh›-˜[+0¾WCŠÌk£»ý¹Ò +áê$ª9‡±YEºžé¡a†â5w²)+ß-“¶ÔÙ­á*C‘ÏËe¼—…K QücUì4…÷/… 4wüS¿åÂoý‚D­DéûÅâH ä5ÇûüLÊ _ð6ö2`ÈÝ®ÂÎ%W.ž;e¡ º#€ÐôÝ­Eö|²_x«-l›ô’EPÀBR']ÍB×°D°w„#¢)h†&ÿ!Çl펈N Õø'$u„–ñz—=á@ú_N’’X©ÂVT½j3Õ’¯Y7øÎÄ6·W³þéðLá:Â\ÚΟÏÐrïM½B Þƒ\vxCž˜šÒãÃ`p”qëáÏdò4ظ[Cáñžôx±—À‘Fv­T‡·|úøœ×,W./‰xÄtÈÌ\åsUÝ6aôéíB[Ý¥x“áðø_+„c»^õ&©2XŸ¯ûu[/>Çq\NsÑ‹÷©5ªfð .jÊ|àr=½e~…ñp‹ ýê’|ɧäg{³²ZÜð¸ïKôÃ4| ¯1Ë ó•u–Ï¡ ðÓl&´e¤\[#úKÕnf¬­³`š2B¾xƒÄYJ^®àÿu$z*hÓÍʼn™GùäªØš*NŸXïvw úUp$éý`®™Äj%Gt ©óÒ¨BÊBÐ/ǤƘQ¹\•3/gº®¤p5×öñübç*{Æp‡Áͤ^6¼¤ð誘kŠä¤QõÙœÄÅ«éËËÑQ ¤Až†X¿¥e¢ka.ùÌÂr#¹ÌèݨڶšNV!?“Àüˆ êVª}b´ +­­|Ztr"Ž¶‡@°Ö£7ò^eyb~¸ž¦gÆñÓW½#ỹç0Ü;g™#dܼE«ú ¨ +|@@Å>ßÉŸçSšdÄ PÔ€ËÕqG"……ÚÖƒ´ƒ3`¼ +ä?™!ðãàð +Ñ}vHQ©V9E› "_èTà,N¿íÝ$ !Ñsд j@‚j±-ß­žÇÌðÁýº½»±OiÀ`Hì k•ÂÌïä.t'ð¼~èž~)óo öó¯Æšz~¯OΩ)Üw}ëý+BÚõc/kìCv DrÁlôÝï7»…Ä%WÒ$+¬k,Í[å¤UŽ®àÏ/‘Ù~“‹££‡ãâ•hج<„ê/y ¬œ‚( íJ½ âÙµ¥´66=ìè’îÜ&ǺŒ6 왎\žóv¥Ç´—6®›šXî³-äÉeÃèax̸-'"B^{³§Ãª’\8Ý¢ ‚³1A©ˆOMI9ï«°«ÞÕ³è-dBÁ’Dì“Dz²Ûõ‚¤,¼Æ*;™ H,¾Ö‡ŸÒ‹Eżz{Áˆ¡5Êkꎴ~á¯g˜t¥É˜Cå)Z27Íõ@S» ÙŠ"Ð6P”–d}æC»ÀV'ʪ)æ­(†„F¿`Àú¿%ͨû„ûö«ë´]üªPå‡W¼(ã­ß%óŠ‹ Hæùô²zÛtžé¯qÛ¢x}J~$R¶¾q×°püïŒxqãаX6ñ@² 3ÎÁÓTÂÏ“-~ömΖë´2qèäLw¶*m½jöó{¦Ì6/êÿ±ï–Hªõìb'h¼ Š²Fü.ÿ·€Æ‚\ZÚ7ëBå䞪ácv7š¢AÔ´ƒ }o(U¤H¥!kÝ›’ëóùduŸ ~iä5"úLïâb•áàÚŒ©\Iº{w @Ÿ$IxØã"oâà@‡C„‘ +4ŽbN ÷î”׎¦ 鶵­—\q¶äÜ©ï A_Ÿ¾D¾_Å'È’ìK’(r33md¦—½YHD †ÅÚ`3yÞ&dÖQM˜×p‡Up=^ë ƒ4_N#?XþA% }”Å0ïZή»=%Y=’§nOœìr¾÷nB—y€˜i›°²|î“ ­ÿÂŽIì¼ôšŸ(êb´/—£jׂF^l©µR"&)ÕwŸÄé$ËÎc¶X4Û‡u>=•2Lô€úÝ âBy®V`ã‡Osé×h8ƒéjþù:½N‚Ò•B$ßDQÃë÷­äÓžù.Ç”»I å6Ô¾€b‚ºÀ^ÄÔ2!ÏâYâΉâ»h±îøâœÀÑê¨å‹LZ¦{Ðl É´Dà±|y²è²'íãäÇæ¨jø߉$S¬léCñ^\Ñèêµ³*§ðéQí€Ý¯uOŠ$äß8Tê)§)¦“õçßHܳz— õྨ÷Tß‹¾¡v“ßA-íO“éâ•KU7È2pÚÅe gÈÈ|WKæ5ß™pfB¾#¾ž +ƒ æ{„ÅOê²_Î÷s¦ñ½èJêKµ¼©Pô¶:…G0| ‹{Uèyæ’öê8D¾×éÇFÕÎRâÂE}:~±º™'VÈ8Jáîè³èdÏú=k$NÆ^9ŸÏŸ™»4öéÞòlÜÒxfïppf¯†IeÜècgvßqà”’ŸÔ²Í‰È_j‹½+Gê| +–‡v¤N +¹Ù])‘;u¯ZTdêámÊ‹”J(aëqºk¤TôsÝÀm&×p6;˜=0k‘ã> endobj 494 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 495 0 obj<>stream +Ƚc/„c[1ŒÕßNd;ð +ŒÓ¡ +%B Í~@ì¸b•ÆÀœHb9…„BȬа"/@`eãJªªL×V¿³ †ËD,{ïù‚ég®O•ãjƒb8€6ÿ_Üêø†N'"½X¤—‘þÀ;ÉÏ7ô%6ÐéÊXgGάuR$eTÞVâ~&.ü)dÉFïÊ3 «Ú^ô«ãí.dǶQ5Sz®£ÞAJsåðm„LELòuSƒ_’0×I/ŠwÙ°sBÀ·_+AW•Ñ¯Íp6Ì". p×¾ÃÝ+a^²ú}!A·ÿZçFxÊR;9³D •O“&eòA Çiù#Ž³5?M¾…kì¢-ÕÙëÁ9 ‚%´ÕÀAɼ—СUqj](®—æm%(và…‘êŸ­¯Ü©ãAŽ È'ÿ‡ôäÄt³oØrp]û\—‰(+PɃ#·¨j&-þVûø\…¿ˆy˜H°šÐ´?Nø*}+'‚PÖq“róÀ8Óq%3€¤Nøò)9ÝÂx"c@" ½ÂÅv¡QO;7$·Ð_ð"ÎÒ‹XV”¬¬•iÜÑœPüÇIÛÂfYhï=ð +ñŸr± ƒø›º´æ*‡òMŸœÄUgà ‡ØMzL%B}:ÖâÓ%£awèŽA>kÜ™“£$¢ˆx‰O™$B:5€”OíÙªIwx *å„{B¼ïv¨­÷iÍÈÙÍ !c•E™OT_vçÑ–á*–ä¸ËÖ@qsÛ—iv%B4 çIe›Ž»Ý Æ}•‹œï¿ø{sgç¡1úL;Lxüé ¿¬`IÂp_pj=h_ðæžG¥²êéÿ(P¹Þ…ŠáÙ,‘Œ0¶i®»:Wµ1‚ÎUÍgÙ¹¢;±¿yZÐþëmÆ2û¨®Æ£(ttôi…ÓÝRúúêþŽ±e\ÙÏ c²£Ôej¹Ò’ f(ûÙÌnÑÇŽó’?q\ä­„H®B!À[û©‘Ìä1“Áã愧°Q'¶!±Š¸ÎÙ=3+h´}Ö +Êú-õ1ªÝYn¢U ì…y¤Tº¿’^Ê>RÉÅ6/˜Þ¶ç“MT81½NOh¼?.ëØk6k¼:.ûÀ‚Ä©ú>½lymìl‘)%ä¥ôêÇíY:¥Àé]ä½0J›áäÆÈ~ï`ˆZjã>$Ë›~áV‘t$Æ’dÏþË[,Ó•EUs+(3œÓ¬Qû'/l}àñÓã–ÑTµ11pvî2G˜OÑó"¡ï`H‰ýL×,*°±µ!xmž†¨k¹$«…Ës-|0âªO&ôœ'$&Ÿ‰R`sàdVºø»aå˜H(ÉX»Ó±X7pQ÷³Å÷ªGOÉêáñ£”rGB\[hó*R¦¥ë—fÈu냑3ùa]ðéZ¹[°Î% +ñ*C;IDãéü|Á~:Æ2›‘è FYÃÓœ” /Ó.‚nXÃÛ›ô¦.ü9ìíóÄË•b©Aø›æÖW z;¤óAÿµãƒnþâ´Apum/zîÕNæa;3ÓžÇA¾°Z…%g7—¤~"w¯Å<¸­®vdk*i;þŒœ&¡œet-#¬_Aì¼+r4R³•äëZ§»ê¯7Þ'òóà@ñ©,Ì{=ˆÙÀøœ{‘}xò¥À© µ—/ʈð[wÌ`7ÆöÊ`êTššUTXk¸f¶ÎÏÎÊ$«ÏA›""¡’{ˆJæ´Ü?_–¼XÚIî½½E¾FÒ¡W>à×kÇsðßÆN¼ü¥¸qÎܧ-,¬^$_5Uƒ°ƒ•-g[y]ä…ø‹Õò–hl´ˆcÜÒ.H31Œ¼Á¯ š@ÕZxãøo ø1ˆtÄžŠ«¶›Ì+I.(‰c_G4â¿Ž|‚ +%ˆŒ1MEá_bRH&~i~ ^ýäF\lSÔ¶ÏËü†3pÿTÕöë™ÊfCÁ3&Ñtå<šÛ³éÉÊðR®˜µè&ºÿHµö;wx~rD HŠ!~´qF ?Uëöõ³½bªoC%;ƒÉ¥µAyÿR#Ù)-7Ç–àCâ?J«bTx@—ç' Á×0ÄhÄÊ~Ý,|Õ”Î)çáD±ÓFä¯d¬ÝØ_v#ªbBð§ +¤®Ø”=0·ÚÍÔÙî7¢Újû³M&oâÕ¸$Í•_v=Ë›¸=5ÁÞbƒØ4’Qšè›©lO™®ÞOÞx·ºC‚4sÜPl(&¶d˲h+8/éü¡ê 9ŒÇg…ÍÎ5Ä0g}ƒ5`’Zü„ƒ×¥U6C©ˆ^žVÑ}Vö*ê‘ÙŸTú ØÉYF쎖àÿ›¶®yÊÌ…xhKÜ«€í¼,†Ã†ÙgâýÇL¯Z®øFn§=ð§éSíF8a¦kœÂòÇEW<¦×"´3ãèNñÿBŠ”©è-¶É ÃˬÊ{Gº[¹m•º ÒϨ}£5ϘT»¶% §¢…V3·lÖ%¡të,¬WÀ¼é9â×Ñ_Ed“¿QŒœF——ùuRîf¤Äñ~÷ã0"b¦ãϵóH gÆêÑ<”5Rí ÅAo Æ-¸Å±½¾ÕÁcÕ,Žj_SwÜ’#â‹Š«!žc¯Á‘²`Â;/¹ª’z:&ÿ~k ´Š¦:—‡p·ñ¸xŸÌ ‚ ×¢§Ã,¬i +›o/J(J@À¸‚sð c¿"[¸ßê­=yaÇÏûN¹·7â’\T¶| }€µ×qpž³Tü®<ÒMˆìÝ6t ´k!zBÄh‹ÂÖ‚Ò)ÉÝ +3ä{ý5FÖˆ÷( jh’Oýêußè’3Ò —Ìiãáž²,ݼ€#áð<™ŠvÓ +#lF73åàYþ‰•ý4Ÿ +Õ/Ö7##`|¢BoDó”ËÉØE½yù”‹”ÕIÙÁzx·äÄFÀâNtH“ž#85¤iÕÔ/” >”¬[8I:ãµ™6ý²k sJ Š.‚GAÛÊÁ‹§´hÙ¢=1µÐÌý² –C5€’ÙWq› +Oé1ê#àAº +Ë”ò÷Ks_ç€ÔÚõR¡'|טV’7¦ ™žßjêXÈ'#³‡UœaµHMU®¡aÔ"(ŸÐ§Í6Å»áhÕÏ3ו9Þ!®m,q¦»#¢pìÀdÏme…B-]è’’jfîBû»v >¹J7”‘¸è9}.Ý`­èN–ŠOe  ìm&}ünîO3¬¶s¡*'ú]˜jâ©ò÷!©Jl¨¥ÏtQÛ°5È=ê-:ócàÜyæ>¦Ïê/ ìÃÓ£_¸QŒ +vèè'Ø%?¿/›wK»l¶Ïœ ^o;a7YD™ˆ‚]^”(DlËýIÁZiaå[Õ¥!Åu |‘du2ü®¨6ÏÅú2$‚Ú;öP˜z*¦\ÄR¨`í̽¬ñ„´Ð·Èµ|l“\>ÇòmÅD×Hšåfã ÍŒéjÚë"¨–—yÊÈ+¦¥Uå}Oy/Ò1Í\` +M- +»(—ºÈDàÓ[³<Û9J¶Û +ŽþÍÍ4Ðîp’Ö¶Å{½îWÏ°f¬hT¡ÅúóvÚGmoð®Õ{:Wœ,‘ %Þp£´nvè`õ&¬dÖžÄ\nËš^ Æ…cE‹{i»¹.kI°±sÔÒ5Ĉ¹Ó#¾÷ôáù›nÛÎ+êêÝg[Øò¿@ûÔ\Lx­Æ%žr¹R¥Ê«ÄðZé[7æGŠö!}mrI¨óû·µïÀô‡yu[ ½ôkÃ…%6î–£ŠH:ãpðdá§/ÒjÔ‰Dù”äv(p»ÏÁ0`c÷·0X®F+R¦àV×ýÀÀ’Sl p`È蘛6r¤AuëØ:<”w[é’'™åu0 ÞGTüˆ´º½ F€‰‰Ù‹rE¡b3úíJt ;5|݆+7L±ÚY±ã´…¶8dNE¡åÕuY¯3M¦ÞÛ +/,Ùë®›LMH@lA$j™J¼-òhe˜ÇáÓÉoFü½}˜¾ÏÂ)$HK"ÜuÄØ) œ¾8cmyõœ§ž‹ »–í&•Š²2#Y†wƒ?¥Ö@h=‰¾âHK5üθ¶5!”ŠêF¿™P°o¢?˳GÖá4Íû涪Þ/Ý·³{Ò7TPLTœ6%×6»EâçÁöH +ùùóÙ]Žûx§ÐÁuÔ ø» ºÎ"ŠÑ¯ŠJ£²Ã©Å(¸Ú‡®Žö@„w fÿËcN£ ÉŽ¦ªOÝíQ @[:æ=£§°‹íåÐXû±66c‚ŽÌ¿L'V._»r²0ˆx£…Ð×…ó>X6á ñ§DÝC«T£$wÁþÙ&ô#Z~múûa fl4‹Ù6{ËD‹ýJ Ëð€ +å^#$¬ ì˜Ëù'[™Õ—•šüÞIy· ö]íß1’“É·u"‘D¹aáæ)tOªÀM¥ÞÕZ‚¸Òp¶ëx»ú2–eуzZwƒ™ ˜+•=ùòL7«ÿ3Ëp…QÉD£ò.[îbb­_VTÎ:Û™Ú£{ÔL`í¢âY_{²øÀ2\;ü¾ÐsЪ=_Tk*þ8Y3÷€Ó<ÿ!61¶ßWãéXiue©ËÈ)µÖ)YYË1@Æ#‡zC[_<La²qßõ¾ü÷¢zÓž§#þ("‰ZÝ?d0ã'gûþ)S£º#ÈäíÙ0;€3NØû$IKá_ íE¸q|γ×WgÍf¤µ%S?¾`ÍG²|’%Ñ©cp$†{*§{ºÒ„»Óêî«MÀAŒVL¢k;÷G²œ2³HÈKµÞ 4¬Ù•bKû¶ÎÏ¢4—"½6´“Ÿ©+õ%~p¿ôe©{#IO]Û˜¢ ¤4–4’ Þ;Ú›OWó¼fBe⧮fb;šòi¨ýfó@Ê!Aæ½O˜¶–(ù¤záðúò>¦ýî[åvÕy¼VÚõ†Ú:'ŽúêzXYÜŠ¿¶ðÑSöf}ÜÞ‹Ú­Cš¯ÚŒ:üRZÊdg´™ëçc!CÍ}ʘºWÁ£øÝ>¤2n¿zõUN†ÄÊë~‰EŸïõدal¡H7[¦h÷ qeáa¤ž£ÌòÙržOìòœ>×ZTç¦È¼Í/2¬4‹;™[»X‘«U!mžOñ´‡'ïlŠAIÔ¯Äú.,£-ß’Ò6¶¥rRÕ%tj†#@1‚•LΑ l¶{ ‡DÚž >Ö£®o¾ú7ì?ɪÁ•$âg ¯ìÉ4hªÝìü5bŠÀß{¾S·dÊØ´"0Œ"IÕ™¾‡Ï°ñ:-IÐ_Ïäg2‡N¥tM +§L„8ÕgcÓÿéTLàJ^õvÜù«Aói™CîÑ'¥]‹Jê&ÿ¤W5WÔ‡Çò|ø¿­¿RZ‡3t“¬ ôæuI¶‘yå+zEÊvÇ¥+ÖºZ×>ꬰ^8YÎnŸ|ÀZ?¶]²Ü‘­Ð}þ=}*©ÈôùµšÙº{–3™åä‹ÅÆIÆè¾7&ú¨)x²ü E¥œ «¶‡ç}›=ÎcDSF 4ªç>r{™`圜ˆ»òJ^Iè£ÞÃ"‚œ¾AÌNNè¦:Z ¥w˜‰MœöN~ïN‹ÖKÉÓÒÍô!£Ya„4Þ–;‹¿vì–¹íߧŒ§_Gݱás·ÿ‚”Î’¥7˜ »0i{Q•}”ÓŒIÓ#Ê]ìXüàíJºÜuôÇÆ”~5þ> endobj 497 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 498 0 obj<>stream +tÀ¥÷(cÐM[â[êö‹˜«(bƒ9UEñoÚów’ |IÿKf~«ÈÒØMµ]þy=¯îîqù]V:ýônØ]º,bø†ÍÑô}ß  ,¾ôç­ÃUGÔ|ŽbX&ÛÔuWÕ8·{fi~lWÒOCàtŽ8ðá?·+씋Ö{kÿ^s?-º¾¦4§*º_¥lî)êÂ9ú ÿ ËÞ™éÑ…fjz3Y¬¥½êT›™7ʇ 9vððhSJM»À%ø‡y!’¦’Íùf|ý@ËCŽ D«U»¨öŠN‡iG½§µÑÓ/ÍúÔÉ”Zúßé?ë²Ëwÿ;ËG§3&0Xͦ1¤cI‡¾›«e€&Þ›è.«£åuþ™)[@mQÅ<Á6£Olü>ƼÇ4ÜÙOªoP„ ( +Ï uèèy15•½IÂéø£n +áò´¿ºW÷ϯdtŠñ_E}Y:¬GzìD¸Èž"ž^žØpá=¶§/9£‰™,Ž­î" VV£Y‡›„)÷¦Ä+ÍgñxW!¿*åÞ°UÒ¢2ÎOËèäB÷˜úÊí”ÑѤæGzø¬¯wnª& +pÝp5†;õü§Û¢DÒÝPŽP¾‘埧Ãù‰° mŠl9O›È‹…ªÌ¡yóÆ|L8Ö[oQëT2Žçgä çÕÇHPÒ_ÇζI÷¾Q· Ö†4òƒµ¢g6£¡Þ5.v°b·BGCT¬ƒl°Èìáí`'ÙŸä%A!>™£ÿþ³e|‰e&ȬÏ1W:ü̬C)±t=:‰}¤æoŠ*D¿ð¿6|ÂgH^Œ*Èl8”sª Ò©!]Íx- ¨2üm#ç16+|ØŒÇq$y}H£u~}›ÂPŽÌ3G€À4Â`¾·ãòõOw,Tp`Ñ+Õaüü2?稕8nŒÍA Á +O«J-ç–Œ„ÃjO·ÍNÉZéyjÖt¢!Õ•7ÐN¯¾mI“^Íž¬ÕMT„vØò4„¦ÊGéçH²Ð³-:×Ko'=»£ÊLøȈÒHçÐÙè³¥+î™ÒÌ: ǵP†›&ƒ€1 Lëc°ß(^PQûµ«ß•Uk@ç½åî>þ»Ò´šùîåáñX?kšøÏß‹À•-YÈv"½›jUÁ4Ržœ.1‹±µëïßÕŠf”aÙÇ”(Ú(±y¤ŽCk…•‡¹Vÿ£Ù¿¾bR5†é­;ªï-Ð <§¥\Ù8ZË¥uõN%ÍŽ+ÊŸY¶9…Té®îs"(Í Û>«ÚÁQöœ;ÓñÕ5)…@á”MÁ;"BÉ|„uh{$»>Ü8[IÇ(½¼íœ÷ëлq +çæ äM#'ê«H#? ç.øÚ:toÊ·~zäÿŒ¿q˜¤×M9®_v, + •\¿¬”U *høŽLíŠ qŒÀôØ“åáOÎeÞÍlXèöÔ¸–y* qyßK?A°¤TÐÎwWXd|uÿŒ«×)ÓÌgø'–A ¡š¹ûº¿ÈˆéAÀ鲡ËÚÿö…T´Gw’z£xÞƨ¼¤˜ˆQÉNÁBå³>c¸Á¡7³]vº ºÅÒIìðõ¼S]T#goÙwž-îI9MÀ\ü+nz™€¡ ‰8ã~´µò‡IRÜ£ŸBÏ$©N ñÎAd½D®lm‡®„?=°FÚqýOM q8-œ_ÕÅÜô¤x¿ ¨•^Ða_5*‹¹ÕØÊuÓ‘ÌMË”d¬È̾ŸÕøg§µsGcÓ¨[ègVŒê™™¾r#²röY³ qɯLõù‰¬e Iƒ.¬qJ\q78bô [\R?Q‚;Û”hÅÀ:Ó_z +P‡âåƒ1ÃXãá—9t<âö2º|¦­*Y²Èþï„iÃùŒÁ;úº‘9²‰šŠ¤™ó0:%v 9ŠõUÒ6Þ¨ýoe^zD +.HЇjF:Žz/â@–Ö®ÒQ•pJwÝ•ý\ÇpÖb¦ÊåfzÙig¼†.äHÊ -• Ùkæäé=¸›8ö8°ýZû“µË…ý²öÇ+ºÈ)ÄÐv¯°F(zì9ÏBSÁ€Ï¼éÐüÄ·ý_Žv³fï$ËOfžw¡ÌÍƽårXð¡ÐÐŒ ƒ~¶©jÄù4¡©´eøg†,Ü·EÁ3²êü'´§‘æT/3eáâßñçmð9ÔŠifT[îvë_TÃ,]×_ËîâL1¤—F1QXEû#AI ×QËYÐ…‡JLïðx‡£ÝŸ$nÓ½£edë³UÚ@T†0b3°KæZ¸²²:…Ør… ‚^DLçÛéRˆƒ- õ ]¾’6† érǽùùŸVÑiª§j™±lÁ9]Ã+'2Ú7® ùÄJíP®+¬ß¯]¨›Kª¹M‡,¾§ágªr'I½rXþª\JTUtïÝ!ËVT(0ÞŒþñ˜ŠO^_Ýüy)7<¦&f1zÀ·—»Œ':èråÕãºÄš5æÍ b.*A‹Èúœô1Ⱥ£·‚íµV,ùvl$-½]ݳhQÙS) G¬Yߥ‹¬sëà:ÞAx•[=—¥ýѸÐGÓ¶`‡°÷¦±åÂ5ÎUMYa˜Œ ¹Hw+øô€È8‹‰*‘­¼_…ñÒŽ?’{%ãÌm=ÁÑ¡U\zKÖ„&nryqù(0¿¶<·¢èúD­lùþ->;Í—œ  ¬ÒmŠÀ;[)y®¼‹5„?‡À"~ˆS7q‘º5üü¨3iZ? ö}Ç°€›hêt\neuOë.6oqGmܳœú‹òNÒàqÕsÞŽgöv¯j|–rÑتŒQ<¿u£ý€5«&Úûg¬ <²+Ñ‚wdpTíSÝYIž)ãsbµèIˆÖšáÌ5í¾öÇÒ³e •ìBf@™3Þ—_~ÖÜ›ÞÒéÉ´ƒÛºm›ùãRCw¡F7«Ãü0­-”ÑJoý{¤¯ÌË>c¬Ðwmcñ3SÑͤÜk¹µ[öVê4lµ™ZpÓñÀlGb9V„¦tr.fµ3ï3Ú=•q>¶¼QWÊŽ¿Ûÿoe²Èß×ÂEª”Ô¨G„F}Ñ. ëoÙâV¿ÆÀ÷ù¹Í)ý`О†Í’u^<Óµ(ù)seâÍT-›q–6Éÿ¾úÇúì »î/ +¶±¥/… ôI‰|.ƒ%¡›Í€~y¿v‹½hÐg/ñfjîm‰F÷Òˆ|Àœì‹n炈±¸YG&¬˜Z·ZZio—мÐIˆåÈ™•¿@{c{L&ŽgFPøiÜa ¸{ÁLŽNNC!ד‡‰êúÓÁ1;“…LZI…RKÞ5Eáe&?uïðÜJ?G=JÔ³+ö_ýÇ©ƒ´3ó}0¢x”¾8rÑwl±¹t›ßq3Ó"ì–1nà¹|uO9äi:Öz¡Ä9Nì°_ì›q>¸TcF!( ¿òðHšîM¾2€¦¹ÏÒ†6ë4à÷Š®`ó#¼’²êm^¶lMš¶1Ûkˆ~8¦á,#ñ–\6©rÌàuÖ"‘ +‡ØßÓ—‹ÑX–ì'ŒŽ–lÑy2Š2׉/xçÎÙÁ-êå1Ïü%tõóƒÍç"Èü‚O»rº|® aª³àôÀº4ó˜VŽÞrñƒdíóEòd†´xæs÷ª§ë„ŽÐnhÛ¬[4ýÜ“„= +rˆr|vl»ÈÏ­Ý,•xbô“ÂtQpz,HŽäv»Ÿÿ´È°gÚI™o¶rrëßðHvxªmN~&ŽthµQKèöR®º%'Z0ª~ÿ}r¿s²?I!ó…8TpqÈßç +q½âŠb{Ý™hRÐÝ-–H@"ûe²~‘΄¾ ^Mûݯ˜Å+£!Ã8?ç'é[·ø'Ü΢ÁÉìGÈdO‚‰ÇÊ´n¼£âêAI‘âç»F,plPx“r„ÚoyüÎN&ÿÞ¡ÿ¶†”žð"D 7u_¸b¦ZÆÐS¤{›Æ3ì%øNߪ~Ô:_éhEÏÿ~¤s}X esÄu·Ùœ B1NDüjV½óìTG õŠu0È7CF£ O†!ìñ*5xŠˆ8Í!Zí+ï‰ýª¬íâ5ýS‚‰Æ'œ¢ÑÖ¾H]î4ÐIŶóßtEõ`¸¿+÷S&˜VåK5%\ví®…Žj¸w4ãؽKÀ3%Ù€SL@ +!õõ ÿ9ÜVà»ÅþÀ¢xáÆáÎÇÕ1éœ_¨#o¡ÈÅm¶ubàtuZöÉ”‚ðY=îÉf/=FBäIB sûÚTííÕ HòwZÖ€`{„‡tù.Ev†BÜS¾E*·Àp™§î}Ôç‘C„¿þm6‘ФgÈPŒFybño1Iœ’=o»Ãí´GŽgØiÚ|\‚÷ㆱE|Ï ¯ÉöJÈ©Ï™|›)¨¡‘¥rkþ`Ò Vx¬`-Âú|Ù)põZêÊî"´×XS°Çí¦5hü`}[ß ñM‹ÿ-åàñvœ;}' +ÏâîÕŒ=„™¦Ôã$”ÕYþ»‰Ú A"^!ΰKvÇ‹+Ù#R™‡¿8ô_)‰ë(Ç J!ê Vr 9­Ò¨y8%»¹ºÍY(QSCv’F¤¥Ï³å8nÉø9{¨Î0_Éiü Q[«Î“Á®WN&ïÆ-Úø”`=GW­¼>vY.Å)—{=tPJÁâú†$ N„¦‰y­å–þø{!Óó0x´ß6÷48ä«*̧6‹„ú_³%!šæyË\òëŒî^úNÿÁeΊÀíÌÆeë– wI¼Lì¤lÓˆDBw(Û…µ‹t6Iø,ºdmbžÓ]em|[.æqe×X*RÙ˜Œëgçñ9sÅñÒ×VåFŸS–÷½°‡-þ5Ç)éHs¤›2 fÓv^=ª.€·‘p,DrŽx‚âVl´îÐÏÜÓÛ井±§Å30ñʵm^Â%'²ÝÄŠYÉ“£Tíwûuˆ“!îÐi­Ž-ó3Ê¿k%©Ö‹^6àæ„Œm”~”*Š!n×}•Qº_z­ +™M$’×Ìä´w1Z݇¹ãÔÅc]Sk¹ÔÏKl`í~ñG‡þkßÌÈa:4&ÇðlOO“Ì„’i‚^¼—ßÞ!Xn/³ê àÆWA§“¾¬FF÷ÇÖ¥§¥Ü!"Aé9nQ4þºÈc¨F¬ wP¥ˆä{a§Ù]Æ©ƒ¤Hš?û¼–’&Ê.ðÞ3Wí~oaK®Ž ´¼©Á–éý™É¶ìÈãF˜UMšeî}1\l +endstream endobj 499 0 obj<> endobj 500 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 501 0 obj<>stream +nó瀦X֘ѿ.ºHšù-J<ò³±©ÀVE2SvY/Ÿ;­Ëã7æ±X¡¢ˆ …räþ¼òTŠF]ßu¼i~TRóm;‚”iÃÛ +%Ã'Rs[šo°¯iKò,›ü+Ék:“™$,“CT¾¨ÏGú5v&ÐYUj­%¶wÝFYI /Kzä +òüðqz5æâ¶;ÊÑT”ôcòÀ„Û[[•¸'á¯0“Åd•‚ÆYgD¦*>e»Àwž}6€äÝnò'J€`t_éäø™8 -¬‹ÂŽ“uX¼Œ‹×¸^¼¼ÈS©¡IP%=Ü/Zšl}¤ÃhOfþôŒ. k]ƒ€Õ3ËFA©Hlf";X¿/ö¸´F¢ÂBª"ŠF[¬x]É…× °!ôÑÊŠ½Që^/oífÚñÏ( ú^±ÕšŒ=H+ê4©[1çÕ¼ T‚mÆ¡ô©)XŠ† 0»ØJ6ÆCänOQÅU„1„¦¶´ ®vÒ3fp ÁroêˆEÒ©1 èmÊ÷~0B"|?d ›‰{Up¾S¦cAöMMÜ{÷ù|¶n?2ÐA£F‚0¹ŸÂD9åOKS”~$­ÎkÞq&åQpî¿|–]$ä 0/ÿ¼­R^®/™ñðƒÕàÏÅõ]Û3 [žÖ„ò3†Œ°½êˆn׸:B°ç 2žb‚(÷ôÍ«ÛKÏH' —|E3¡!UD©Ð·øSt˜©% Óò©ãÍáù2ý5‰¿l6àÖ8¶B2PÏ&/TM]Ì=ˆIWë-ÁÆžÝ>¬Ó/Ïü0Öl±-(lB»¢üýíúòã‚ÆZ¾ û-øXú­az‚pXT;¿5à!»@ qó¬È Qhßú ÒÉ€¤LmCˆÑ g)F rñd¹º+·ú=—© †>ˆÙõ>-P¿2)OÓV{F±Õ&ä5º…[Rþƒ¸`¤É׬³šÂ× âYòŸ/Ÿ0÷x°´&è3q½x×½ãôÿóÙ]íA˜“%&Z{£ÿ Äèrz6èwS‚ÓŸQ©™!Û¯×ÁòÍ9ÔÓXOªG0B¦oãM;\ÿí‡ñÈjVÕ¸Øtúl -³káâ1a½´BƒŸjÅ2·Ð&m}‹½„˜cO&aÕs?ÜI[øçï׋3yýíöžƒ/µžµ¯è[—Ʊ8( ·è~;á鬅Ç…ÄIž•uÌdmÐ –ë1ÒSqÈDÃb2![…kù÷#íÎE7¯À¼:;.bZS 1„ûÖûÞ¿í`_ä¶dɆDRÓR}ûU‰ÎÉlA`ky'ÑÀÓ·ðwlfÖý¸«HvØðí¢iÇÉ·¾ÈÅ+¹)¤­7ô­è›·s¹Áù{E yo­ã ‹³õ ÍøË8Ùññl?VãE–·oÍÌ^0‰ªµíþŠz— +Zˆ¬¾ éQ÷áƒY&£åFž^C¹5±A`ÓKgíÚÓ Ñd9‚Ü„3îtÞù>t=î˜j ¶ô–¸QS†É/-åý¸Ï‚D}H!çøpœcÐM”á%®¢QM|bšíùóÄ"i Erµô»4¨äk4á4Mþ—ÞT5^Q8½[”{öM×ù êáûFL™p‚ƒðW¤ ÏÆqȽ…;r•Gâë®ÞÄÕò\)”l%oBêÝ£\ú¿…§$Ž…Æ{)ó£©é½wpò¤.~DKÛ}?Ð"´¹œw˜sËdŒMUD< ˆcVCy>J§lÿÌØwZL¦T²Ú9Š—0%ãï×@r¬=›3Ú iÍ#¥Ä£eì¢8 }µF Uã|Çš¾Íí-?$çD§ªÑª2L üÏpx¦\Õš¥œñÀíVÏ’©ŽD6+š|JÜáuõ.ln]Ø3cõ¨XOeÕ‘ÙÔ…øõŸ¥•ð@û㬧bBdnlŒÝòõ5_Q]làhÇìªKW¢ß^¾gHÁqatTÚÜ ³ Pï¯b¿Ï™ü7°%Pã_ƨþNû¿%îkA@:"a1{zÌ—Íý­}FEÜA³8…‰’/エÝP’{ÅL¬õ-c°Ð;V˜!õ`ÕtcN×YùÈ;#’€ûûÕˆÞÖ4ìÛýГŻtiî,¬ìš×«„C yOp ž.½†?¾ŠÌ[ù¬q42Ù¯q±;9~|•Ûs=Ͻ½$bL¿AãDãZYÉn‘boI•9›5»ñä\ æüáAÍ{>º5¦m£T¸SÕ¤é˜5¹«Så™|/®o¾åºôÿòþò4ÇpJ‚üe@ªÍ$w¹)ÍoÖÀÔ3OàVD.D‰5u˜¥$S³„~d9Ð{sÊ» +¡Z,¸K}ƒb ö gs{>l7æV 7ûi3á¡HY Á¦±2ö=s,±–Ì­¼¥Õû’fmy¡(4ä~=R âÉUª:µ²æìø¬[Át¥eîaHû¥J×­Ž%¬Õ8ƪ—su =ämšZ%éf)>”_K+Z}…á9¼Ð¸½º$CO® mµ%’=„ÅË‚[Ý…@wOòoÉÏüó®g% gnîD +—cK{ó·æ³~)Ó àøïÓÃèÇ™šÍÇ™©‡þµø÷“ Z¿k„S—‡Ž ×ÏRJË…t…ˆ0HiŽACô¬¶wÛ1'3ç‘ +¨3áéˆÙ5mÌmoÍ`Mìa€î0o¶‹* ´Q¾¤ˆ$(ÊïOt+Í–îÇßl–ô= Dè3 ¢Â§rs¥ÿ}‰¦xˆîªk¢&&¨ÒŠüe‰£fþêÊDŸù:—C4÷Ö®ñþéïÅaéÙXs«|‹µ¼ uãžõt[•=žñ 5×y0+9XºÏahµ6l¡V¬v£8Õk:b)#O×mrë%tSg'.‡Cìåd¿ÔNbAJ Y<`Hêv©†¦¯pghU:ã.tñŸ#Müåµ +¹=‚'m{ÃSAö—ÿ#U 0ä(6c”º£®,‡ß ‘’­R3B±‹ïÌÏG†~ùž‘ŒVpç Ë[¯5+xÀÇøö¯×«^ŽgLG'äýg¤^X" vUü딥&0°&Aº2vÖ^ø}¶ÐÓöŠ×¤5ïEì-fÐåD:$Ä9£ØØr©ã»uÄ‘à”CÀiô¿ß0FPOå’‚$ÚJ«z„n2úäšfuùµ¬©E…gçë:µ…Áú°¿jÝ­i%gŒ +—‡îÊÆù¿ŒÅ᪖>2)hEKôΕû‡.ðˆêNðñÑz=éy%WéxVDzå6ÞæŠ/|5ÜnPÿ›¬irU„¡Á,t6¼ÊáÉ÷wY¶ÖT±ÜÎáú¯ÁQål\§Êû(e²¤7wnD«¡9‚;0ú &œ +óÄêb0}ìÒKÿºp˜&Súó»—JϘÞî&›•ó,ÕÏbkêÍEÃuû?3ú³iW{›ƒß!ÆW´’Oø›JwŠø—Å#°‘ØË/ ‚@R + ÑÕÓKñÖ%Òb½`‘*LGƒÏbÌ'e®ú³¦¬ÈZ:Kb¾áÙêˆAö•ÈR›‚ ˆ¾y«hѨâ€Ûò‘UÛ+XEv›Ë—±¤ëlá2ŸÄöŒµÐ÷°AÓ_ºÃ¸+—nâl0cÿ§R5‡0„’ÞРÆä7q îâf9öž«·jhZÛGN6åL;ä|z…jÆ×AwèãEùÌ" O]PL;x2ì¼@¹õ4èÇ_Ûl|…1,TE_gWyï×RÔkº>3‚ ‘.‘)g%Ýü¡ÄõÇña‚©Lv⢿cf'[ëê ú啱C”„] +‹õ™ú•¤ñÈZÃà-äb‹iÖ(2vM»DCÜwÄä„⨠iÛ´ò\XûDÂãžÓU§§É×DZa¿†®A>èÓ«ú·ûePO1a·#!°LÏ݇÷PÅ¥°a’·ðËl~‰ðóÎ0´ô“Ø7òÑYtÆÛ r‹ì÷Á½ÿ4›ßÁ|¯où¬|²L¾’:vÎwmoY“q29œ ¤¤±Uß½BíIX{áè4í^ÞЃ[]+ùÜHÎ~ÿ)I&îò¿ÁGð^RE|\ѵ*ÈÐŒÕí ˜wEiê‚ö+‘}ò…™–Ëÿ¦ˆNk(®‚ltâ”»!khN;Š@vvycÀM{)r~f@ZÉþëÏW·ˆÏz:÷ ·gmç¿ ÌVT$AÃÛŒyÄcè|#|Èkæ¡DÍMw5ÝC}°gM'B*|¦¬¼0Ð-fQ;äŠæBœÔ;Œ£üÞ©e‘š(^RnºWøí¾\ÒàêK“!ñ[î^‘ÇǾÄ» ¹™ÂÚØ3TÂtu,;mÿX÷'$(& îD«e.{˯'ᚆ)íê€Khíêcá¬xw„‰GGC—ÕŒÆA>‡Ô£D§õµ²ÑIr{býs’Z¸„œH–öT¬iû»×ii‹° U1¡ãíåãGð…Sè*ôR=ÔÈ’­F»ýÍÊùP>vAD+ÆJ KÇ­9Ã|Ûè5Yú+[hÑÄHœŸàtI5™'– ìW‹ŽFqNÚ’)¾N´[W¬S¯Ämf\uV­+Ò#¯ïdÅØ‚¢ ”Ùd€m^»'E†fxº¤ëTúÿ` EQóó: ’ òEÆqDéé ‚læ~bÞ—VPéÅ#2 Of›mÍly-ƒöod<™ú¦¶Üf-‹gâêqw!‡ô –îND6’exëŬ%‚Ü‚ÒüKM¼ Ôèö:¾0›´ä3T}üë '»TÀP’ »ÒÇ;>xß,¢zyP]Bî¸<ñ!:}lð//ä½A]·+vy…ƒóúæ¾tM¦Œ`=¦õèE¾Œ+Æ`‰X;¶Äx‹$_ÛÌ´ŸÓ´½Üû4rWSÑ¿àOýöÊï(Þ=Á h áAÅ:†[î•({þÚL¦µ›À/åƒMÕƒúII/Š(`¤ÌîÞ†Ú`üe˜MzúµÀ +_þE,Æ1ì¼jJ²!HD0wðôOô¬ã +€ +)“@Åȵeû‚ÛyY'7¦£„§…,*RoÐL fZÊ1¶O¨ŽyÜâ‰OÌx?ë¸tj7Û>@UHèñ.ùW„ ¿L¨÷Ïúɵö¥¸L½s¹Î¬Á…ÊÞ—€…SyæU¥½¼yM1½äÜ>Ð{ƒt7¤ŽaÁƒã›½«Y4ß{ÓIÐè{7žµWÓ×O14 ÜÊçÌK¹C$½ÅªÍ’t›š™£AØD]i_|¹@ߦü/K3W‘‹šSèFùáÈÒî•~ú—µcL[boriû²¦Â,DE|sÆv¤âó°(ÀPºÖ!˜! +endstream endobj 502 0 obj<> endobj 503 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 504 0 obj<>stream +±/ìÃ!zô¾6äŒtŒë«kŽodCÅN¿>@P4™vË•GðïzY0Ü(‰±¢…¼ª¨_Ãÿi”¯Éo™2b:žÉ*ñæCžØ0õ'³Ìc6Êt „=r|3T¾és¼ÁW»¸åÜŸYÃ-K°;ÏÿºB1X*ü`ªØ‰’ã"K$nGãÊ2iÐè˜ü`.C©Ïƒ¨3…Ë Îßñ¸™Ôž +Œ½`Çú1ßWŠ½’Íïݨ²®€O¤¦(V©ßö)Uk {Cúë\9¼qM{Ä!µ¢o\ÞLÂý/5Õ÷í¿ë/ÿÙpÐÿ ïào¼s 0ŸXÉjÔÍÕÉ–Lñž“ù°)ÂC1EªÍy’ÝŠÝÞ¾KÄ Ú¨ WQÍŠø\¤0~îdà(‰¨EǽÐ>ûš¼f‡:q$èY 2ölz¨=V7rBøZ$_À!­e3šW< eʘz<Á”ï´…c +‚¿Ò2è¾ì”T¨Á«ð+«¼:Ò¸Àˆ·#-νgÄk¯‘.ÏcÒEŽc²æþÀç”ã?èAaé™'×`ÑÈ CXD‡Ý˜æ‘Làþ¶dá¢*˜æg¨‰Íäãt‡2#%|õ·:P©¿ô)É0Sßúôí‚MŸ©dŽh8oWâ³Åðb^›ùË›l*ßK½yH@ýÖo"ÔçWkn`zøÁ¢}½x L|(0üªQ£ß°~*âS!ÁŽx ƒãø Ú›ŸlÑÂ['_&ä†Tßìp†‹Ùªc°LjÿµÔô‰ÿÇ•,úšmmCÝ1o*¸ÚxE,`F‚ ÆŠŸ«ö"†‰Ñžˆ±jÖ5T€Í< û¶#à6‹LRܓ耄MÝÑ×/Bä#ÏB]‘ÀŽ ‰§[²Ô‚‘–ûèèLCm³sð¶FvÉ.ÿÈJ]’ûáñÈr䬰ŠeCMZRïÒe,¢½Å‘È⋬Á0 +OÈ-ŸÈrs]ø¶oÔ{»ì¤„K”¹IÔÐÈÞÔ“oîûÖ•‰…™ì,“5ãS€îãÂÉÅÅ \£Írle%$ˆ‰|¸¡¶¾?V¤ö Æ®-©UJW.z—1ûïk̯¶( ’š¢Y|Ö/ºG=+ÞPüI…ãh^{E«ýàm$ÖÀ—¹ó/KÒ¤]߈6dzåk<ÁIŽ4Ëá…¥pðÊ)¥ß惸kt=y’Öö 9í vI †Ó?n͘×(¦+3PAÊ!@“^îJÒùêÀÍ8e²å×oÙ(_{hËV·'ëw)¼¢Ý»}„››Dv؆ÈÃWd"7o˺ãÙÀ4UºÛ<„oZ^ÁQg£ßÎDƒ˜‰„¸Pù’šžvs¶·ìÚ¢< Ç—3ì@ÙÅ Š;ôiÐ. #”¡‚/Bõ´is~°XfX|óMòíñ x{ +UVˆ2Ó†¿éÔËw´±´Ù#—¦v „3¿[äIVö>x’£BÄcb÷ø±b‘*S\OP³úþ¡ýºœW{ñ–ô2]”6ÑP.ÇÖÔ¼Ƨêj+BúÓK'Yv;Ù÷“qY,ý¤„J¬Ž§‰Ê´¾%|GÓ¢¹hŽ‹¿#O¸j¹!±˜A¡Í†9~92¶ÈTç Í*+»ò?Ê +3ú$»¹óBþý0£°’.€@¢7ÚS%.U•Gv)ƦRb↾K‰±F’í]—y@±®eé7’¦Ãÿ5nõ*4/'Û!¦=Ùó·‚ñQr7U×N°ÅIOß}Îþ¿çÁ!âB£jˆÑN +$Ÿ`~£¥ô3²Š“–"Žãgn*dÛÀ}~Öåtæ@gD¥ly¹î"aaš÷ÊjÖL–»ÄÒámqÁ¹P(üÇr¼†Wa8Æ›O\+Ô«¥¶3%Qùù’J¹þº]„eÔ—¨ZË÷ED`!¥ó™—óa/tNCÚ}sëOjÎ^³Úߦ—½ +ˆ¶û¨HºÛÿ(C7~2g½i8Vóœ@—„”°tª©»…¾ƒ(¤‹K£ußœGèO ÎñÉaˆ§y­s3Iv‡+• L'0î¤ëÄd/uvq+åf6lls;tªTüŸ—ªt ŸY±àÿÌùxýÃΆ1´×ÿhô7ÐYb]þç@Gö 2X~„·ÑbÉïÐå\X@çû7¾HâëWûÄ*—Ïr‚îN [€!å¿ógBC'«L6š-íò!Œ¯òoZ¾óݨD¢XÖÍ‚&te³kì´5|’Vž‹ -Qû*Š·ŽpùŠû3qK—D(aÿ=})!¬J˜ Š¿Té’° aü‡=1Sìr?ân¢j2_­¯¢š= iË犌<ËãÃËÜøÁ¼l÷˜(ºÜj/aõ³ˆå Fì®Í± Ÿ7ñ0DK‡«õ¡á1áƒ_µw6Óî–³f퀆x7nHzß×#Ø¥íøí_m:k¹GÄ¢YÈ LÅ!’ü÷©ë¨Ü™ +žç$l ™XÉO]u~d·Ûz˜âÃÿ~Ïqû¥Ý¿Š£ïò¿—ªGƒ¸µ/:Ù%ÚP?,äùQ‘‡‘3š|Ûõ‡¶ì†ê 1^D·ò§åÑùUôν~líJp†Ò®ïÎF@¢aN¿ö0þ&C+<”@žè”+,A™‚l'iHÑM G1XŽisïG÷™nÊz~"@fĈ6¢ÿxE<¿§¸ž}AwGâWbÈ+¨ä¸¹ác?4δë[ûI-ð@Îèá3;,HâÝÓç§J¬Ë:L ¢*É-à1{ͽönCÚu˜&!Ü÷3ržÇïéÅÝ>ÅF&—×GKo êqûHîãð‚³×¶”úZ’ÒW\ÃúÜ0ÑS¯hÖÅÚ”?•¿\š@²ÔèãƸˆ/,CáJÉ+˜ +AïµÇ`gsk:‰k åøÎ0 ð8l_ã˜â¥•FÂ:ð¸À˜l2Íûá÷}!|7ÚgŸxƸْÿXæ¯äVfy><ÓBRGƺ“טéX‡mB²žൊž÷Å£<Ý¡;~d×ÑãCYÞjÅ&5§ò'¦¿[÷ -/Uqêä?kf×Æñé€:"Ððcª;ÿmÀ ‰¬í¤úß«?e’w#E´îR´ÓM™Kì +µü:]<ØMçúSØ*aþ¯]äG¼èÍßl†Ãf¾ô?€®Ñ!]œ)]…³eÜQÛ¿: &3Éø?ñ;ý\w|²á.P,ØæÔ¥B9¥$(!鎉bêM"¡VŠrÅ«ïÄØlˆýð/qb¿‰bOrâæ‰AÂs‘8Òîϧ˜—ÿ.€¼ÅçÎt¤Á€š^Ayº °„g±`k‰Pæ~•þ^Übº„q*#ôpÖ'*õr6%”€£³ü¨$â|—ÑuÌaØ"[2Në]mwQ‘Úö°Æo¢EÛwóšÚ®ô«`s @k,¬Nÿ}•8gŽ.“W}«GšÇO&ºƒ–jçHŽwÜói˜ÈeÂÚ¤û£«†áyÐ" ¼t C’Ùÿ,ׇd>@ÐíÍÁ'Kañ|Çh#L»ð¤qO‘FdB-¥Ó„Ú»3ð€Xw04Ïv lÔ&æ9ç3)[J(î¿[Áo<'ðÞÇýJüöŽm“Ï´º|â¾´/;þ5Ež?bw{ ]ª`Steºu½Í#ÞpÂd^0Äî¥V±•Ç,mÔß(ª …,‰o¨# +ƒeD>#(s§T©Wñ¼»z*E˜ŠƒÏCâ÷ÙZÆ¡ &4ײ e_ßvŽÆaW’dæÀ + ‡ôlÿ+ë«yéöÑåš_ùEzgëNäòlÙKEù“ˆy6ö +a˜m(§ôx²¤¤í$ãŒsG¸¯&`¯Zb5 OªºÐö ý]U¦G|µÕ_ˆÆ2üÅÝ8?³Â¼äIænz tÑ—0%éà‚\˜¦Œø´Î©ÎÓx40š(âžšÚ„/Q`v3Èa˜Güݘ‚`×/¸a[B&ÊZÿrã‰A~°R÷bÜ£ÈØDŸ-ƒšìÙÔfñ‚:÷0…j«“ÎÉòƒXT™ûæˆÐfÂ!|)¶>xO1¾ë\®Öý + tÀÀ‰¶,üȸî»ÿëò°|Ûºs…Û÷•8ò"®Hõ¼(‘ô¼ç^“!ƒ’ ð… ŒÙϵ¼$×ÈNzÇ¿ã!W˜$)Ÿ‘—…›>q*ï…r#[¥7°¢aÚÓG?X“”$?î»VjTYž¢ÕÅuîšË‘DþÇoT.ygà3¦QúZci€ëÅÝMçù¢ù9±Ñ!ù‚¦ÛŠÿÇ•Ÿû–Åb‹Žº1&ð7QlÒJGl‰¼’Ïã°ÏëœÏ*;¯˜ ç¼J“\¿ú¢J+X +X„ ðc½$ךS;±¯wô5 +L2«C?âöɾÌþY =¦ú‡ b†.É +ì"±!ýL4Ó„¯n™Â†S…Má«Ì +endstream endobj 505 0 obj<> endobj 506 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 507 0 obj<>stream +c… +›æÒÕÆ o´ÆµhÌW… + +ÆÑHXÒy.«†Ä +KéΫׄá™Ø€y;añÀ­d‚Ü—ÚüØäÚ +QÂvL¢.&]½c×6rex'yøâ32 >ñÔ!q2 á×>½WõÓ¦j7NÁ* ÿ϶ұZr¶z€›rЗèÚ°åd·áÑã—?Œ<ǧˆ ÔøÙéåùè#£L:+¯¦^¶D® mié¢hrâäNM]ÃZj—žÏÿbÑI‰]Âc0–öÖ¥ÛÒx¥Ó5tn@xˆ­~míµˆyzxšIǦÇyz(wdšãÂVÇ!NÍ[Ôí"ëm³÷Þ9†¨þšÝÙÛ¥‚Z³±.’v)$§¡NÉŸ¬_iö„§ÏtEƇ`1É%BΘÛSt¥®˜ã×^„e¤Jº'É;ŽfeS—H*Wá£ìL®?͉årÕ7Ÿ+¦6âks›ŒŸ:òòTa†¿R¤B<`ä +C,×-*ßm.Õ°ÔHÂiazyo\æZ +gÙ®Ï „bÊ«‚»ƒÚã€yx‹Ðñäú aI Õ‚ÒÜ©CÊ•ò®ÃŠ=úâ½³N’tñâ¿ŒS>ÙK˜8TÏã›kïÃQ_q>nÆc‡\=JZ`Ö‘ZšžæÊ“@/ü?ŽeM-Yÿi”ý-Ǿ 6ÙÀ9%X¿vµþTuŒàYdùÈ=W\r%aÐUy›Þ¡Ð¸6Ci°[óÜa|ŠþÃyàŒI56]ˆ|yKŠ]IãÀÃö¶dˆËébã«=2kþþ‚lèkÜÇ_Bc`ûÖoq9G<ø ÇܦA~Š;ÏùV¨jÚÀ†EÀ§’SMÞLßYæs÷^l— ¡NXTa/3l |¿HC>*$Õq_Ü« ”mêÉ{zv;–-4q¡2ºÛ‚hæ™ER®"­gˆÚÉmQ]›r è[åhµccå ,Á¬Rë3qÅÃñ2Ï‘„®”YFi¯¤ÁÑ™3Ï’ŸžâÈm9IÄ´×`hÈQ»?܇ˆZ6yi¥œV>îqÊ­Ö¬¾†.wN4H=¸pX¶ÜûˆÒõR%F¤å/whF£ÀBó¿æ -é…©ú5©Á·‰¢®íþÚå¥}("w‡ëþ  .ªØóšÊqðäý¯$<}ãE[æt6·‡0ŽÐñ8ó7d“ô—k3 Go}DiåØ]ù5ËÜŠðÙwk 4nßdº`r%Ù¢É}| Øb©GdúóÓºÑ6ùÉÕÕï“{¶ªG6ÙJPT0XÕ,0yL£öŸ8þ¦Œ$RÕo“(E5ú3wuFX%Ö÷IQz#s ¼Ýbðå1‡n#6˜Ì¢´·®n¦Ð|½–ý¡]dxY\[’ÿ#«DžGZ}–ߥL¥_9†:éJ³ô¹ºò2Åþu™:G€Ð NvþZú2•hqÞÇlÁ?HþÀÇ„À)ëÿôŸÑb#ŽiNvM‰â xÒAppÐ~žRê£iÚÒ¶j6 `9Ù,)Ö§Ÿpß©µT9‡@ø‚ˆjǧí|lQÍi=}¢ô)¿´ëºÝö±›:&Fa›“ÂÛŒT±¿ò¡6=; íóMˆÛtæoô‰ƒÚ`š™Þ=‡A™M:üÛn&æ@‹'Åb¿ó@ËØÓj;zóŸA/ƒc"ÿ.ë!*ë/, ri²”(˜é£·-s7zŸ¤Ó2í©5I-“«J^RL#Ð\5 ÀnÛâ=tðÂ*N&#iáÆ]½½Ý]ø ˆô%·=4üúp¿*wO¼ö„K—K5ÏÁó›2^à´éÂêa +ꉒ»T#‚p“¾…Øaé6v’(·_vƒ!|t†8Q ³±3E)ðÓü™¤a¨ô G·{H,Þbè +V{_Q"E¢é©šn3»Y>縚$Ãêùý€ÔÔ`¸uia7}=ѺB´±’YÍDZYwNY¯±¬ZÞ7¡ú?æ˜à´º[¡n®vÆ~Öë}$KqôT%§°qM 겿å_ ºS6ý¡ çúiTöA×s~H•HŠ]‡Džò ¬3<-ê"Š”ñ&vw” ÓÚÕÎ<—Œî×´Ž27ð¿Íùã¬àJîëˆíª©î·y‹ùÕµØ|Ƥ~‡è}Šã;ÿµÐùÇÓÞáôtÿ80*wÂÒ~ûO“¼ôK$©¶êJŒJR êl;—é_Ò )–{óô©V‘ã…O÷ˆCmøkžÜ-ö¾ïXŒ¡ÒrñÑ’~SoŽµÛî· JXÁqãi@È6Z‘V±¯Êo|\O¶ÄyAößÿÞß×ÄÛgE)¨Õs­üºJ„Ð^wÄ]®ùo§îUE FàfÒ#œµSZ8c‡ˆ´0p>ÔîÔMÒ‹³QìÇ0׫9+R ÈÇÝCF¼Û[‹|ºý¹‚ñ%Š´cK·¾ø3j«²„Ÿª§Ãìr•[™ÁX”⾫lš* “ŽªùAÉa¬§í• é„ó6.]ʆÏÇg=ç -YÀöRufïMaüX_àãöYÔ"æ`‰~>¯î¡ø×$6`*Y–¼ïWŒ‡°dԛȮ×q-Fü£+€f6ƒ‰® ·îÞ£ƒ¹ÓñM~8§ óÑP{’»î³K·¹[¤à[Ÿ\…ÄŸN¹’\[6l#u÷6áæ[-|_±TMÑ·›™hP´jè$à¿=Õ×sæx|m$î'-û3©"y–…YÔ39²Xw ëXéÁj¢Å¯BÖı¿jÆ…Z*ï÷¯# —© ̶Ô;Å=°äÚdºB?¤½D¿3rfA,}j•¢Åßyv,°H¸[ñ¥ÒÍëåã­Œej[¬Ž + U#løeKRåüÉéô€·þS¬<Š÷ß1é!#ž!ågƒ!‰'%V–³öL7b3øÄ~αðy´¸ ´ +fBÉžL0Ý;Qr‰â"ÅÙL$wãˆV[›…E¶¥bSbµNB©|ÖSàÉsºhuɯXnfäG¸ 9¯ø‹Z™3.ôù¦|aJÞ†B¼p™ñÏu߬•"|äÿ¬½·Å„>S‡ýÄëvüŸèé•¿ùvrÚ,_÷,nœzlFBR¼«Et+\.ðS’þhÕóÍç³B˜NБÀm'Üi8Ǽ?7ù¦êz”7Þ§•ª®‰0[o{DÉ3=ô´_áÂçGSáíÄ^‚¯Ã’ƒ­÷p¦gn“¹9e­Î!»Eê}6ˆÒÞößGþº?XQ°<±<¿ÔÆCUÿaéM/¶ßâHop˜MÈç¡ökµ^Õxòj£ïƒ@æÚL²NõÏj`ìÕ*W¸þæ¦XèKIr9z é¤üiCWƒ÷c=0¢[6<ÝÆ»ˆNŇþÜ’½®ý¦ºTã½maµÏþœþ–Œ;Ð:nÏÚ,´«¢~*1«íÜö•>â¦Ä}9™þ{ƒß½Ë*Tb $ï9Ž~ qN(FŠæ†#¦aÐÕ3F5ähiÐ:Ì»¸nï—Ùª©&’*©2½iUÕÆ$jâµíD-¿‡´Â^K­™gœä ³^+èb¥c€ü-ðxzYúuYuI.ĈûÝv2yUwøä`-^Ù ¾¼“y‘ÞºW#ša§…þ5ðÏ'a|i›ùF÷ªlìÔ«ˆ»®¦¯çÙ~uhcmWL°Ê²ë]˜ëò<Ü?ÞmOïßÂO9,åVÄè“u6$E.ÞåÄËÚëkYçÀ&u¢B‹ûâ/•”Ëš½ß­*(Ä„Þ'•>u +W +½4ôÿÓºç|Ö˜„[Y†z¦‰ì½¨:^=3°PdÃ-© uAŠd¨H¸'|œœŽ)ËìâRf"lb_=¹¦_q:0k êG´°8_a×—9l×ÞÔ*÷iCG|‘n_kXÝùŸ˜U8@Çk‘¹=9x Ú6…¡¿Å> +endstream endobj 508 0 obj<> endobj 509 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 510 0 obj<>stream +ä=¨=,/+‚dÿªÅnJl?ó$½ßh«Ý\[Ž¨;bïÇ{¤E¢´ŒIq£ß6qÄþx‹Ë\¿p:sÒ<º=6qzsÁÞªŒ eUó”vðäyOåusè®KŽõŽ­â«~Ìú5W¼Çòé)Þd®:M»äKUýOÝìÏé!Í{µ…[ñ+‰T/'ëiNó;Ÿ_m'“X{ÄLšAÏp:û]ÔÛS¾·Ñ$Þ ¾v+Ó6S̉ƒ'Yje ØB{ßiú° qr:…ñúçšj_‘·ÂQP_dCX¦.GÍ/0ûˆiï¤Óo«Mñ²°H³X6òÏ.ÐÀ:|I>¨›ÿ’Ñqª\ÊŒíX¯PæHÌÐ×M-nýà‚»Yæ‡ ìa$ +=h„…!èÚåªå»_ +D,  `¥6'é{9Ci§€ÙßTÈ$ä²¹›|l¸é‘¨`uEd]«ä)½*þƒ'}Ÿcâ]é ögÜ#XÌÄB9ª‘WJp„ ©ß_Q÷¾ü³¬Å@#]&¹œ Ó-Ѹr›Á:öw§šÏQ†7ã‹ZKBû>À‚Ǧi¬pQZ)­bæ!í"ù¶äO#90£Á¬ÏºÞýÈŽ€Ò©8=ž‡­:ùg¬“ |›U”áàÂiq8“cìuù«©6%¢×t°Îúí{%®~»øŽèÆhùãk°‡E“âÅù^¹ŽºF¹šJhlÊzSŒìwû¨ØnƒNoy{JŸ0–'U¦ájÖUý“D†'í^rÝeulw~ûóÉœðÛØó¨ôx”,’Ë»¿ý‘^ÃÀË7í<¾aŸdâbGBRÿ¤Â¥ê.\–Úd£€§f–ÃY¬Ü‹”ˆªFÒl¦ö«¿äµÖÚÜ' ë¶vªn„D'aù!Á›A¼ÜUaU>-« iÌM *¡MŠ"¶Íµ¸Ö [°~ßã-‡KG³† …ÅåhIípqOúÙðˆ}’ê×Sj{Ç\€´Iæ5žœg5-zFÇV,YM{¬å“”e™Z®!b}›ÓUk˜nwZ§@û+á,ï Êf:X!Ø–©  qµæ29uæC…ø÷ÔàÚñyÓ’•›i*Âþ¯æº37Þ„ïå4àÜ@¢V÷ÃÜ-S0Å‚¤½>oá½Ô€Ä «Œ'Qzuà+æØò–ËFhZH¤Þ®Õÿ#b0­A›Ó±ôœ¢ƒÇì;™qÓJ[…‡IÇÉ¿±_ÀÔ¹ Ýt d¶U',y5² ·ä.1Š6k¶„‹,%lžM#í)Þ-:ÉÂ,rHZm°´IàoÎíA‚]¼‹ßÓ?êY™e*“?ˆpÅ.ôàñµ„5ÁnéòŒÉ§,€'yê-Ò“Ã~Vâ³pñ"2ÁGy†Ùï:“)®lœœ“/9÷-Û*iý‚´çr“ó6‘äšYઙ.@ã L'5ÂÇ÷Ö€K–Ñô2†õ#™Èz¯'ð:­I¤¥ Ûcêfºqù‰ß4·Ç^Y2÷GT¹,“’¼—Òf ]µ—TA mÉû;Íß…›ž%/i—©@6 Ôþ!q—ggo=ì™D¢;|úúz)h®Ã#®áÉ IÙX¦öš71·7K¶Ù b½ì¯.dƒFƒ&Gݬº#ŒbÂì@ÁŒ÷ÃÓøDé┇ØÅ<49²bÎä|7†˜…÷ŸÒT? ö;] ŒUqÃàBJU¨¢Â%Ü"ÐıLòÆøeŽ[À¶l“¯0:üyhæßÒ¸sÜÆ·2%–¾ÄôÞLF)ûÛ/S~*c¶äÿ"nPâNcË +°=$Ü;ÃHýDYÔ¾dLW²­!+I¢Ä[iaÒŽRGWÜòaß–!;ãƒp£…h¦™ø |â¿âG2u€ÄçîgÚw}Q1å¦ +ÛX”åé2Š<2IJ‹ /ín(Ö9ŸŸvögéèßG­ÑƒýŸ!&‘ÚùuBµZÛß$"Öz-¹kÖ`ø„ò’íoðI÷Ù™us0áó1›7p{­SeÂC¥ƒÓÙŽ;N@Äs4+¯?cLUÆ›ÙG¥[ìÖª:[‹¢°*(1u5y™S]Ô7úK"± S\:ÎiyÄ\üüÁFXq7 L^Ÿœ#_G~ÜŸ›tŽ’OÅûð¯\ý¸îï*É.sE¹c‹X¥üʸÜíÊÑÅç…€ÚË×Ëffþ©f¸2àXY»eÿÔð Ì5•‰(·yZwWÇ)ÀvAÄÓJCãï¬Äž:xã?‰Q(jÛ-ï‚Y) Vˆ*±É•#¢üx‹ý94^šÝ½:¬î$S€:h¥l…Rïi¾‘iï’3OÌØá`}Äbz“6|’3F=.É„yŽ¤¥Oßž‰|Ô +- UóP"Ò)ðS¼ºèÅRqäqüÁ… v„ñdÅéw“vŸ?«vØ„èÃÞÒ4'S/øsKʸgø:ÁÿïaL´LõÿHwþÉÇ.Á×êì}’Ž§õÂÌD+žeQ ä·ê±#¸û£ñ·jÂÕÖ2|@?bá!W§é*S½€Zºôý/¿úÚ±)Z#¬öö逸»;—ä±HPÃj| ÄýÈøâÇÉÍ®„]Ö>þÝ_Ýf¿hþßôOôM%I…ƒCÁþo­™@Þ´Ù½sqê —^+·Ü­¤'_¹õ¸¬W7œUGÌt˜w:iþŽ\péGNÀN™{ÇJ þå±åx˜…¥ñ0NÝóh‘Èî¨lÁ(·Ú¤êÈ‚‰öK‰ +ªŒW¦çæfÜÔâþÚë‰}Û‚¹¬ÖZÖµ·lsn†5ÛLLÝš2 }…s´ S"[¾q><ÄNgBrZ"þÇŠä¿0Ùö¹Yä—Â*QÒA¬×åý6U¤ôú–øƒ*¶°€j£²r™hê–YËw3òÒ©ž‹ +sh^.röîêÄ°à ù¾ö€¨» *È¡i“KŠ¥CÃŽ’“í‹÷Ò“iÎ]/ç“"ÿØÓ|íT±F‘Ö½é-Á±,-œÉNಃ†üÚF’€œÎÏ.5ˆ²Ä66Øm.mÓ†ê<0”‡&ïÜu ¢ÔC›,ŒöWÊÓÌ›û»~Ï!½èÚu è&OšúÙðšLñ:—[ånúŠøž^ãÿŒöõžnã‹=ow¸c¤hM|ÀéEu=EŸÚyäò‡€Cà? p(w©œyÑYŠÎ5$Ä|:uïðÏØ…ð +0èFϺ´Ó‘°&Õ“.¿x¦Ù<§ ·î"ä?QÒºØô[|_®ê +„Ú»Êa1èУ H“LÁ Çɯ–yiöؽP®õö°gֹϗ‡C+{o‹F; +³¨†‘ÀJãðI€nËšÙ©ëIñn–€G4nß•É/ÔB‚mUX^Ú¼#*KJƒŽùÃÌ\-.ãà Ž&Ü¡'é˜'4ÈË\ ® ŽÐÛš¬|Âd¹`@Áp¿ C ×!}˜øÍ‘tâ)P±ynÃ0µPfÍÞþ¸eé^T¬œ{&ÓUÿJÃl0xñŸy¨ÐùMGÖ*¥fƒÔmÁÌvü:ïíb›ý>)#³÷qaªÒŠ%ÃüÉbQu8•t5 ’—IÈXÚ¬kí8×Q²€Ë›½~åñ’ýѨÛõf¨PçÚ®å!캙æ=qeáñ>Àa¥9«ÙÁÔCN¡;ØãÏZ´,ÛzøƒĘœ5 ÎæÁU]CÄ¢„Š”—øÔ ¢K/Z.ºÆ㟩_ßÚÌO¤v0¥ãXÇÿQ½hëò¼Éë È;Ý5Ê’ƒŽÍ—«üy»:+|~±çÂx¾õ8.Y†x0 Xˆj ž“±êÇ õÔƒZáÔ½i[>Þh_¤ ?ž«Äœ‚2¿¯y +”Ž¾EŒTMmuÆB":f†?†Ñ˪)Š ‘oƒQQàA#,û!ÛInKÇ)\€ÙTy+R¢%\Ëú¼„¼ë¹å¸F¸sÐYæò°)z{[ýùU¬Q5¹«¯K`Hê_Õ¶mnÄ÷t/Ô¼£4‚džPžÆ»Cgd¤ÙᲩöwŸ5×½¤ó ~ògJT+¿¸Úáè %ã^úûåšþ[u¨Ÿ“©=éë0°²—îGÔK‰šø˜k)4©â¦•!KÛ+Ž…LÉýW>{ÞœQ\Ì ›ä,È ÙNkºPÄr›ÐAN jž×Ø‹èÄ¢‚qÈæÄŒkÔ2 >d=í§[vÄÖA&v:¿çÿÉ‘¥ KÎR"4âhÏù•šž0!®Â³Â”v0_!!}â¦ËªJ¸+šŽÃA«òì2BMô€×PÁ@Gæãzvnß•º$I­¨­]'ÚL2x9ãæ–QYC´YcyÉb|4°µ‘·´¿™ÐËÀá}`¼RéN=6½ª1rTœ™¸¦§zF(Q—Ò=é¾éƒÉ¤çÆp¦n}Ü$É_k‰Ø#š•QäÓ!ïvàXf㙺Búç~½ã£ÍÒÃÛº[Óçµü4>Ú«ÅÕÌÛ’&7mæKWHKù¦ïÒûS½Õ8ÕƒÔ@lriÕZèAÛ†&€ bô#<«{h5+f+ÝlšÿÀ1u^x§Aõr%¡ž"3dŒÅæɇ5ÐΉùáÜî|¬ÆMk‹‡'1ndaÉÄl´¶/˜ê+0b‰Cfàðg=Ï¥ ±îVJÉïP>ßW±^È,ß.J1ŠB·P*H]¥»Úx?=s«ªïˆV(bZê™x¬4Ó"î„–4××cø0‘ìºÇ˜Ã¹ú †k0ñRRø0V¸žgѱÎË6êGÓFåUëW7`t iL gÓã;Ü|Ì2fú__9ì*†PÍ?¿S5 ¸÷clQÐFXÁhž²—2ˆ–±òUU%îD$ìbµmh\´`g¯ÊLµÅx°®êÕÊtoý61vž³×FO—AX3£:ÒŽÈ(wüqaG¤_à‰F!pÊ5±c©£¯Äm„Õ!2±JF—8¿|­‚Ýe]•MøekÌBÁFA­6c¥xüé®›oây_ª{t†Ÿf^HsâŸÞ†n¼Ìt°OÖ4”Sú_¡`÷˜î+Ú!.æŒL8‡nz¯ÖÐÜ<5П¢h^ë‚[9ØE?÷ì˜1pž2?ÿ¾À›²úBûEñ—I¹¦9¸ÑÓr¡†lLOƒWÊꊸK*mHOýø!6GÎçò^˜…ÃhèÛ9³PÓ¡Mö»Æ¥X¥ˆ1”°7ü‘Ôwh^Ê*Kw7>Pºl=Èa¢¥†á»TÕ#Iž¶«.&ð§@PÖ&uéÆ©Œè³„‰žôAÔ9¾Î@…­/þ¯ê©‰[º¾|¤§ÃŠýR½”®š+ nWÑìÒ¾¯ñ ºÙ„|ÐĪa‘ÏÈI-!¬ãÞã”@yõ»\•k©ª!ǯB‰Òš +”‡ÃÆÁÝd4|€|ݶ2 ášfÂÏz±UxwÔ^ä í%™*¬ß[ðü-ÏLÆxíóa4±y¾P¬ÝúPë%R&M)V‹$•Ü1Iµâ4UÏhVô ©`àÚ½z¬¤\ˆ¾Î0ÿUG‘ +endstream endobj 511 0 obj<> endobj 512 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 513 0 obj<>stream +«ƒá» }³ÒÔ{zgÔnàÝãK tÕ³&_‚YÄ­Ö¡}ˆùÖØaÅ•u÷A-ºOtXãv<µ²±%_Ä3KŠ¨@ƒ Õä’½ª‡š +GŽ&­è0ˆc×@ñ™õ£_ÄL+•Êøa¶Ä»@ãäœð§„hZå‡{cJ¾¢÷}{l=DÀ)‘þnB4F{­‰™.ž¹ vˆŽ“Ç’ Þ=coRZO®—Òлï0Ã&<±‰%!QþkIQuà‹±Î (+Å·µkš¡jââï4ј¦LWIÚAtxÑš§Ù=2ÎbTF=U\|ÊÙŽ±jì0µqRÅÓkå )ÈêËÒ€}θo¡9T7½üJ_ÇS„“?Ü +ð*tØMݧßô˜)bSPtÞ¬‘>Ó§5ïÔ úÊ1dºÉ¤+±VЯE<:cžTušÓÇ…Œž¿ˆ’ø†¤Õ‚Õað&W¹Ò鶴 Ö?}RŒÖÐC‡=±êÂßßH¨sB˜Ñ*BÊ.ðXÈ%Æé&Áè½qY *Â-æ[ôß–|Ú:ö(×buMÙ ýs…“VRû20‰â`‚|–;õ)ñpËÕ¯Qº¶ßØ×åì@YÖ>¤ÑãÃÈYoë¬3s.¥ËDÔ°Úñ؆#ÆØA¨Zr÷ž¡Â‹z€FìóúC©°¥0XDV~b]§•öJʶñå±LÀa,LqYŸœñØ®Käѧ½À]†[ø¬ªHcÂï×Ú¶¦çx¿! o7×JÝøå¤@o-±Sj·RUº+¨ãf£ü¶Â¶ós蟚ÂSÚÖ£^ñöÅxØTâ%x¹Œ³mØ›]/)Øs$ã°à[xEÇyCpøÃhlî °‡Zw¼K;ªOI*aÃ+ù¦­Òɹsδ¥´Vn±ªt.ÉGQªË?Mê Ÿ€Êçö±RDVÎl–Ü_Qð!Õã•šõfÙžfU—À3 «å†©7¿nslQ#˜Q¤––ø¤™tªb¡ÎjÉMš×؇®ã¥2¿J«C°…Vóý+õI†“(`ÖUEs‰·¼Åt½fñOS¸k¾îSÏÐú¦!ÐIèŸ ’d ƒls’í³b€ìˆOjúmÙèëf¡ò·ãp#€°t ßU“+cÉSÌ_ø½»ž–°:ÃÂ0cï¨ÆýSÌƱ<‘Û&Û^-»¨l8B~šÙþéÍVOåNI–>} +k„tÛÜ\ó“äý;d7 ‘“|¥ö}aPB¬@C“A^œ°D¯¶m[Ò¢ÔÎî/R±N˜°œdíÍ%3‚¥.š|ÿò¼:=w{»Õ`’)âø.(|Œà•oÆ»ˆ6ÃQIñ ^lšÜϤ9A…ôÙÌKKw]¤¿Û›Ùxî©»^ƒx³£\Æ©¤›¨1\'¢L8`X¼IëFw˜(K£ ßS×`öÝUOΫLV©Lœ´CÒ‹úsºã<“/Q¦k¢¶È>˜‡Ä‰LX ™²@àHšöx~B±—k,4ÄæÂíÃ5…òÌ(¢9˜û  ²ç"l®”áM€Q$Á½õkùŸ]ÓåM’«ë(¯>ï[ÉÍWw,›šþø43ž¤” +Ã52Q+fÕDcðßiÜyàm0ÚŒ\1O³ö»^TÃXWš5eó{X 2xžD¹jâÕ΂wômñ‚ôúnPnÒ˜¡f¨iZ•§‡eE H\ò"Š tO×hP×A;·rÄ:‡y7­T,ž)ÝU«”´Èðäÿy“Ïæ#5ýl<Hø›Qz(éC öççSîuâ>$'Øxt"mÞv°•Å =ê&Ü#J¹çm+ÒjÁi]„צ¯ô Ú߈ëéÔú5@ú ü<Úp{+ä58{ÿ¾:óS&×^Ïê¡L¿V˜¡+˜ÄF*=Æ-…”…CCê²æßGȺɶÏÒ ¢šŽ¾~ÍìÀËÃ. 4óf†³°ŸžQ‹Äâq/©L„ß _À˜<¾²°ö±‡¯ÒûA9|éÑá+m+ŠB£Ì²‰½‰¿7d6”Û¦1GÑôÒÁ§œ1‚ù’W—$ÇA6@0N­Îx;»ŠÄÝtÚ~­ 9rÜa´í³™æ›€qžôðÀtæìÏj;?pœÏÃhÂÑ”`åû𢢞† j€q”;6LjÞÒQJ½¡¢6›¹Íü„ é »íR»FaGÚ}œ|÷,’p«3)|qʶ<¿ËÜ°~K—mõ +B™Ý W:CeÓ÷¡»ÔúÆu7™Yü3 +:¯”ÑŒÂÿ§ëgžÅS´›?ÍÄÔè¯FWܵö ö3¦õºöüFÕ·Ï%Á¯ Ô‰CBJE8jzÐóK+´Ó‚F˜´`éÉâ“8 2ó‰cÙm`™x6;õzø<ð¢Ð¸¿,Ü°ö `›»Þ=Dé£2³£-0NÚA<'+o•-ð«¡R#ë8â-»Ø,­XPF£Ë—ïÙ:Tí¯Æã D* ¶lú&y’Ø(‡t€+æ]¢ ›ùÔS1Љ‰,gT½z­¤Š‚I„ɘ»ù¾:(tVu‘£=pjìþen ¶‚X,»L5µW*Ž*Æ1ßbêæ üYÍ’ãLú‰jÔx8’¸jîLë2Ãeéì-v4óÊÛˆT1 "ŒÉBŸÀÐí@¨Òhðø[öÊë³F¹ÖéH_ÏXµlÇ2Š8¤zw²ž–`.eúÉuÛÄãƒL¿‰y‘O¢ +Õ’vpŠ _ö#ƒ·=Úkl—â:Ž ¯¦¼ßfë½­‚¡Z·Ú$0`©üò]~£†/£ ·ÚH°ñ2Ert[UÆô(„Žéý Q]]çhÈ=,Žûæ]óft•†7ØLËiçƒ×)Òp´±*S¤c+¹ªÒ*óiiáðPËt|G×btBs§˜Å Ç$DÖ>ùs¹®\‹$0Š~‰ :Z)‹ò) ásû™#Aa®í÷âèýòp_6ÀH¦ÚËÇAcrXUmÕ×LDãÜ䦰þïø­“¸;ñ {ru:ØG±5šÎ~ÛfP 9sõŸUcíwæÉoã#åÛQ7èó%ù‡¯sœ„âHRªÅ q´Õíš+1ü|€¸û„œ²g™+|Ñ´@PaûtŠíÂf}4ë5¡7~!ö2Ç5ñªÝ÷ð'iòßç óÔãä>Tv#.0*ê#7ÍRxZBû._œl0ÂH´™~¥#ÇÜ?E§ Tw39qLº 8žßO\Õ[Yñø~‡+0_Ê´$íÀÐ&Àsì. Iñ-$ëô¬v¹½n°"«’Ñ,ñw@–­%ÐÞvP!þ£S)ÛÎÚý4ž*?*DqÇN$x%J#EÝy)ph†ízbáÓ +_«Ïh ÜÉ:x°OÛÙs±ƒµ¾ÆÓ Ï Ûþë >ˤ©“¾Ö’pJm^ó=ü­Ó½^q]Ï/àº`]ÿÑÛúiBŽi‡Ò„ÃÛÙ`…kþ²ÊDEÎnœìp¸!$ç<%ŽnT-˼}eŽÎ8mýÌœ`bó¨å»_ï~BÚE Çû©Kªš8œv–K˜7Ùzo)YX”¬{)§N@0 >“ìS"5J°‰€8RWuÞšzĬ]µ#¥˜G[:n3qø6’·ò¢Bƒº¢3|€Ζè·ý4û¸Z¹ ½ïv9Šy$ÓŸQœ@cá´2N¾~ŠŒ1¯¼ÆÅC–8x'ç8-‡l ˜ˆ©zß“bCrPõê!ÂfZéP›u1˜ý3æL”† ®Qó±À¸ªéÔêS*ø( +rò )K‰¡Þ4µÄ•ïÕÎmÊ<±ÞäÜ¢Kƒùˆ³­’¼Œõ¥þqJ$³ñ³ŸÐ'qFÝ-ĉœ^l»Ë$”ž¶×rSô ænZQgš¡dJK +ˆ³~Š|Álì˜ñ²‚4Ä-'û{®ÕM_¹¾ÐšÈ²NŒ1ý!Bä‡\ÁiF¾Z“Þž#îõª©„¾µY¢ƒó7uÑ¡Žç0HU›w[]‡J^ ?ôÃï.øåuë{Oø4+DÀ-Lþõâ`næVs‡äCŒ=0Cö*ÚŸ ”é÷Âû;¿¤pÉql½½Éh„Âo‰°û]¯ñ ür=. ?}…ðr{.ªeY7Ö,ÜÝßý¦›‚ÒyÐÇa 2~&4f¶‰’Š?ðùºT¿ˆäÝ{5„¾egsT%1ê,¼Àôãø0·_žzwÕB¥ü!9A»[¯úw„½ùâ8ä)9* Y¿Â$‚ÛÈ…U ºn ³Z>o9‹ofä€R2ìÍÚ1(t¤%¤§J:ðÂñò ƒ V’”Ç0yá'̾B›6ƒæX‘Üä„!N¸* &™`öÙ¡Lÿüt”°ÒÒÜÿºè™«å¬|c½Šß¶¨•/eØÆ|­®Lóû—¾žÃŒFíIíÔÿŠØý]ÉÏSýÀ™¦BbòϷhŠNö„¿ãÊ7d·•¡Øà0€ŽËÍ@û½©«DäAdÁ´îN1)lA$+¥c0̧°¿-IË +endstream endobj 514 0 obj<> endobj 515 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 516 0 obj<>stream + 駎¥Çó‡G²¯Jù Ä“z£VY߃×eYòýÂ˹K>ß¼´µœ@öÙé.¶‚³ˆŠP„ù¨¼‰µ²S|ÀG•”QzÑ.¬Ù/&ဆNûŠDê]»:Á 1‰XýfsühÄXœx:ø]+䩆žÏâ‚ìv˜ÖªØhUsò½æß=¥Ykóˆ„ Ë£çÖýz®OW|Ÿ´‡µS¼O[´Ööž:B%6‚h¯høk–œO7¢âþOüÖ§nz£*Î×-íéÔ®49Üv“îºöå©QK»p[¯ÜÇ¢)°¥ž˜Uœìi’à¢Hj´±| v8|r(¤ÑI|U±®x È›þ©Us¡#"cÛXA1ò‘jv™tç‡I„•Sa¤¡DF;D ]™6áSë$’ÁâÑ”cÕýôŽˆ¡Gƺ«¥íF.Ï•¦Dvo!NëÚñiô½€³cè&v$cig{¾+î×ö¥ƒÀ¾(ã‡ÃE.Æ´>8†¦蟶ŽB\)XfûÎf–FòÛ.@µñГ€¯°*hþåPéc&lq?€ÊHSE{ð´-Ú|%‡¼jé´î/ž /¥®Ae+Ñ“«…ô>X‹V>Ù]:ê +‹fûi[¯&ÒL\ – Çz5˜¾ùE×.®ÑÉ}ê^(Æ¡±‡€ÏSB'v*ˆ³¹ ¹[Dëf¨tÕ+f™ƒp…d.‹)¾ù/ +ò',îÉïÀS®”ýJ2l~²ñ~·¬Ï ×qT4×kîq¨MŸOûfjP4Öýí)âÈYy,÷ér˜éSÄ^ 6 Ì: 89˜Žf“”èÚ—‚`µ¬ÐÝmèbë×tò.¤÷ £orËÙ¿‰ÝûAêÔ„v‚§è©&$ÓxŽ±ÓñåïR׺VXÆäÐ>ÏÉ4]5zN—H6? /$ÉkJ>'úP‰cÍðJ¬ŸDì"SJ“@nÅ7†c­9P¼aý~¦µèäÚ.R¹«?ߢâBRÙIø‘pë &,ˆÖÙòâa™ƒ¡Ft¶æC„ÞÚ ±Ôt\ÉŒæù†FÊ8ÞÙ*rîuþÌÖóÀëÔŸ1TžÁQíì…7"C%òJ—hÕ”ñ’Oéå+TPcŽ[8i¡rZòNð¯É½½ìL¢žÝ²ÄèÝ‚gŠŽ‡B +šóœÑ-÷RÝç ”ï)ò7ø²I¢êpyn—¬$dH¢l3¯ºèÏ"]xAtµ1Kži¯òFúêï—KO9Y\F,ê[#¢D&ùœ¨²iòhâÿÙª³ÁüOwûÍÕâ¢1—Q)MB¤ë=™ƒú2ý;ÖKî¥o™áÇîù6N·w +†mO¿”!xyÑ.ëUÅzúáÜ,—‘ê:´ðÉuÀðÅbÐ6éd–îã|Y ì}>I¦en}oB +ü‘ßîÒ×Y5»5›™Où%'_ŠÆãbq e[ >ìlkÀô9:/¿Íž÷eăïüaº‰·hþ‚BÇ.áI…Qª¹÷Á~?K±?;²F½¤*+¾;k>#©?UÔ·)ÄOùË€AÆY¨i8øÏúeøÝÏbÖ]öÓtY¦×p§Ü‹¡¸Aj´ì¨IB¨Û®£`~—åTAAý—À¨Ù3µ0#æ¸X>.ÿéØT¿[™ût]ªô–Ml&ÏìCo‹þ›¹¯Š¶6ˤ¤ßm¦E«€'3ü_09Rþ—D>8;’YK„Q>Ušì°öÕ뭤РÏ+w êWìivMô)ÒC]Õß·<&éILZ‘p»UJçÍJµD'”þ¬u¿ëï=mÏIì'}a",Ã!V¯~;XÖK‹s¿.T•bïÛÞÈßl-ý+æìǨƒÕBÿ¾¼šœæÖƒ¹ñ}õhAl“ß} ‹haÌ5Õ~0šGtÍí×HSD£¥#½%¿ÎÂ,Öi¬ ¯pà|™ÀF3 +“`±§ãµ}¤ÃÇÃbF׿ã*ÙH0®ñù +¿«Ò)Gâò—Ž+¢Ž÷{¬ÐóÎnU–ð‚zãúP(:WàeDÖäÅi9¼–2f. ª¸.äèœEªíB†{:.{!‘ ?³ÁÖ>lu€4Ý|ÔbFßꘕÛRç7nðý#áL,öIÑc­ûb¨þ +y˜w¾×héâ Ê©îÑQ&Lò)~ž@tõ±ŽãwpŸ+ABWý¥”— ¢®uá*ŸñIé6O!Ÿ n~­Q­…y ‹Öj£P&|÷WÆ mYvAF,ïîsØ·ã•㸗¶µ'ÕK…vwž¨®÷ƒ X ,¶* ÀpPÊf>؈wUg§»º`àý#lw6ï³G8Š8íð¯Š'üGöÒ>th‘¨È}CòÈê竦%˜?ßµa®?è«¡:æ0Ëý“ûQ<íÕ—> +šeWÞv; QLsy“A“Â1}ÕŒ"‰±ÊXD/ÎÚ±þX¤ +¾¤gëaT‹c.ù}|]XÅ:§ÚÞT_PkË ­§Í¸hÍ[ÓÄKFðr̃ñeׄCÓ²½Ð¨[ÁÔ°!kx2åëÕ6¤Øg Ä¿!³ÛFŽóX 3Ê;”•ŸmàÜ{@HÌJ)E{Ôü“8âé;ñ:ѱ$¸Æ v–wÅ;í­H8ͱ½‘¸o?‰·Ãš('aëç9Pa2M¼5c 'fˆ!êÈQ#mTS1‹Ê„_Ü˨´&¡ >;€x©¡0K¯$ÿÛÕ…º^Šc{“¸v‹‡Ÿ~™/h~j‚1á‘&×ñX…ù'ÅaGTúû½xh¸…a(Ý/LO¶â£t²n}ù‹‘ qîr5ZÞ‰¾£¿ýÞ;åHa”t,7)6<š8?[®­D˜;±¥µÉ¯¼@Ϩ¿!tÀ£ß©Ÿ4ÀwËË›§š0®KÖ¥ÁÛ#ð.iCÚŸ‘5ÏËð‘-ßSmFmÑØ{?{áƒ*þd×à´ào‘ƒ ŃÙÈO¤©àFÇðt‘âsÈÚ¸Wä‡mÄÑ+ú")%¿‡¶'ÝÎóy}ø„²ƒÁ™XgˆÌ [ÄD. ýŸ(#SéTT>ž¿Nħ»H„¦õù»†¨¹µäìw‹ã‘OKÊOÖ£`KQ/7á8Ú_‡«µ˜‚¬wÔz”Å"KĈœvÌb‚£±”SØ‹¢ÒVɹðæ …c!4«ç*m,:Âç¼)©/-w¯»®Ç: +´å«%­"×홤<„¯ÇäëXh”s·/g nÚ°Üe9mZ¥ûöýhúC?F´MM wZP=A'û-Ú=#ÿàa \ݹQ^ŒÅá–ÈMdÏ(µî¨ñs±Ç¨ßûëtO½©$u½®ÈÖjúõ6GÍ t=›&­ÙôŒ3$ÇKé‚j¶f 4gÌï_KRš§wè/`»Þ´y×vè–ùÿ€'…Òe9€¬o©˜›€-zÌ 5`IQkÆ‚A <ÖÑÏ€/ÛˆšŒ¨㌟S±ÅVku0ñظ›Váظ͙íë‹pJˆ=:Å,™`ëâu rqàæ;wàä,û°—5Ücü«7²ïžU +û)fDBjõøyǧzA³Â‹C‚â.‹mÜ=BŸ Ðiû‰=}wãC˜½&Å*ÇUÜ|„DjÿJ’·u·_¤LºÚÆռȣµx ¢‘/¶u¯®=³ØÛ-Ò÷ô•e=ƒäm<[¿3³,µ);Ædà9M£¯Ö•Ægˆ t­3&õÌy>–ÚoÝa˜W¿¸ªb¥/M-cõSx´.‘ÆÇEŸ. ôG/´úð8’Ç·4"›3¯ùdf§e@9ð4…[1>ÉJê’L…·] T1Œ_s°’´Éý­ÖûíùÕC¶Õ +`Bšºy©¹Ó`wåäá?4KÏÞg9›ºßVô‚} #«ƒŠ5.…4/˜;‰IjI6¥#[´k#j.ùíY#T4tÝå»-}ÄPØì2Oª1~•­\ЋÝ܇$ Kˆ¡yã™>Îͺßbå¶âêó`ïñÿÝNúК¼äÒf~I§–ÈNá1ïRœ_ÍŽ¦O•ð‘`R|BK4vo[Ѓ,(ÚˆBŒoÆÌ÷ÝÇŠ¦Gê™"€x‘6­=î§Í“Ÿ¸WÉúskieo¦~CB÷  +endstream endobj 517 0 obj<> endobj 518 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 519 0 obj<>stream +3AMö<’ AI¶ MÝj´q‹ÂÎîÛþ¹ˆæÜs¨üAÛ™†£":lîI¡-žÍd|ÉÛ–¿Ñ n<«×ºü ÉË åâV ¤äŸ€³@SÉì‡ÒSP{I˜¬ÿ$N²WoÝÿ`¡ØE[¬±ÏøZ¸2aʾ«>ó¡f©Þ½WP€¤×à½$_ñL g4úIúJ>Tμ‘´™Ø¿ø…·zþ«åuüs±W°RD÷ý¸uLp;­™QtѼâ”ÉÏfÖS”M,ÃÒ¡ƒQC2礩Ò9zñ6(-¦þ/‰Ju‚ât5H R]RT}—ïç–ͺxL¬ÒÀ,SÇdxÀØ}|‰§Õ£áÄh¥žñ‰×¡ Ú÷á­ísÀÇ¢—w9÷ÙøÂwR;}ÓIˆfP{2·1«VÕpÄ!·é†,Ê¥hÊÐþÄѹ¼¯6@‡<¥ªOLÉråÕéÏv(9ÎGnÈÏlc«ôisÂ/^à±6kò¹éwjŸÞáò•-ë/ŸÁÈcb¬ÞáåЕùRb´©FF1Äý© +Œ: ðeø`Å•TÖ&UHSÓsm6X¬®áGàŸ0wbÔ°*MŒw´!34»Çxê)û!réAŒëã0ØžjØçæÿÄLrbík¯Þªw¶æö6‡|*Üέ¬OŸ‘ÞcyÂÒäDB žYÓÑâZ4ü¶ì- +çƒæP«ú`0Õð;ê@òn£ö·GbUñëU3qnÊA‘?•5âÚ«¶¶«ÎÊ25 ©÷&ÜmÎ`\=Û \yî*¿‡jFu®`ƒýF8…ÃïšYlÓlC¨` §Â‘<Èõ”7¦e‡h?¼–XG dR§oœ*½í©±÷:D)5õGx·’¿5Þz?~`òYm+Ž-Ûo*Ò5A~‘,½ÝÒ9ßVQƒÇ ¬Çðe†‘£Y~¿…<襒õtá1Œ¬¡ìå\Ô\[Ö"ÖB~¦\ßMj×òg¹>Ù%©BEI™ˆ ºQ‚"g;ñY¥o Y ¿ÐqjÜϘ€Yª3ŒÉ2B¾i"‡”pÆÀR×Æ[Ô†¦Uˆ©Ngm~8xÜ…DRäÖ'âu½¼âàÐN‡˜!éûy,¹ ²àÿîö#ÐÞø£‰ +«îŠæ/¥ƒ;/Q©cŸ1›AYSú±F†ž/Tïç~?vȳön±7CO뉴¾›eŒú¿¡îê—üâ©r…ÆDªhJ7r +Ð௵ŽB2_ó{ÅÐv±­ºp4ÂA@SlùZ~E¯,¿6kägÃ%°V¨sqæÅÌ×0 ×U¤¼õCt^X¬ðÁ˜ŸIÌ7L·7 xØüZ°‰)êEeùîcÑ8þ‰ÃÙ“/2»6ýË´8¯ÄÑ`ØqµïùÂ.ëK–1»bð+–[%,#HÌCª{Ñ#˜ù.a’=¼ªû*(ŽË,ú~~ëÉ_ú×6ï{#‚SªÏÁü¯ˆ µ¡‡ââcy‹”iã&]\û1!®¢ xǘIE7ÇužRÐÅ×a…ãöl|åöáØ+¯`÷°´´~]ÇþƼm„þBÅ݆øÆ抑†>mAÑnJâÎÇ×qº’%Cv–{ªr‘ÖÊ‘ÖOž‰¢ÿHsmŽÂ­ä<ô›ÍP¶üj"° ¿Øy±ÿín-]`V2Ï–s=ÚÝÚmðv#å#¶ØÍiŸÈÀ?½à×%Mæàà|®þÖõîÇ9‡c}H*_<îÓ«ïárzú§èÜÁëYHŽ*òw+Í÷1"¯»7ÍXž¹Æd;1ÏŒ÷¡“ù ÍP3„áЈ?ÌõƒÉ¶ ÒqÿþÚ .~u.¦x@š©F–ÊæÙ˜ àG‡Uõß“UŠxˆwîe•ežh½…Ò*…ÜOäMhcð¤)\Yþ$“pžÔÜ[ÇD›V#õ{OCâ-õå¼}ŽÒNzX‚}t”ÁøŽ$oU+Í$·¤L‰dÓˆ–¶ÿ®=Öf |Âmm˜¾‘×øüv +p{„õ RÙøbÓØ$Ü4~´ì&ˆÀçBË1†›`×´´ƒµµrc°ò ŠHRÁfù=&Y<Ïz-kÓýæ"Š;ef¼AD”æá#ûÈîÿ÷W ”sðÀ¯ ‘†oÙÄÛËOþIJqÿ³ütà›a±ø•@>Ï KŠþ‘í·+n WñOUV£dTq2„sîL0 !3‹ÇqÔ¥õý*óJYlx¼ M»°³(š2ÛrRm„Ffèé8Î^ãÀ°8® +êJÐ¥5ø8žk¤Û×ûÎe©Enâ‘aÂËÝx;è#iÒ0µ6,ñÆRU4RTƒ#EluI¬"ÙCÀð{ÆÕ\¶×Tq0 Ì›kJ%îþ˜´tfZ +Õz…ÌàŠŒAÊ$PÚª!zèJAhxôgV÷¬0b õõÛï+&IK¿C±ì€¹¹ïçFõš”&SyžÀ/ +H‹½tí83Bš¢ŸÜDN¨ã[‹Ìe$QÖwi˜áF.™‡ƒtlpÚà¥}N'Ö¼7r„»þÏ I(.Uúü¾ÆÙ§„£O8J§.=«'K[˜ò<ØñÔ°p£ôŒ§9îñP7ãËtta’­azò»êgÄî­±Gn¶XžðkM†Ø™¬¼çk|,ùcäÁ bi\w!¿/¼—fÓU*ò4Áˆ£!ÛñG¢@]¡š¢Mú “0@Œ\6ÍÂÖÔÂPWžÊ–¬ºø:pÀ§jƒrú0ri÷:«ÆìÑÊ<6Z³*ap¬‡h+‡¨Bã/×Ú¸‡6–û&#Ô!pèÙ¾0«}w³h‰zŒ®íeù s"í§'[ÕàM_MrüÉcb-¿ŽôÂh[ôö,œ ¬›ýÝrç¼ß=Hêæ%/CË‚R}t\žWùCA5SìÇ„Í>W_†9)\¶…»ð°’šë×£¤×"ô¤}%ák‡J¨]±HË6O4ï‹ly昹ºtshç–åoWÚ«³Å*sÒö*57ç‹ÈÉ…`²É_™Ñ·S¬5Æ%&úéЧƒ 8óÒ>#÷F‘ +GûµO„bfø¨ Ø¡«ù/‰#Âòñ|1ýB§¼VJRl/WǺŠV<‘Îߪ„,RÑ€„ GI“#{zY+ª:ö`~vÖò…Më;þz›ûgxßg[“ÚŽBæU#1j'‰ÿFû{§4MÄÀ, 2›0;Ôü¡ï’—ø BtU:®Í<øÂòùQ¥ûL†’7Sék\'”u;MÛ²£ß[5šäè±>¨$3¥–.CAêæDÖ¥ò&`pè(à÷ÇhÍ0‡¡p¦´Ç‡ÄJqH)·LœÙË%v¢Ú纋 "†$]8†D/÷Ãÿ‚ j—é@¾Ü)ˆØ; ˜F·U•åœ'“UÃËźő_„éT¥gî6š ŸKБÏÞ7ÜûW_¿§²vF/Ð]«î½fN`8Ëij–÷x\öæXv‰kÔŽýš0§ÌÕïiťО¦æ6]%Üd‘¦~m¯c5ÓŸ‡’šRh[ÍEY™ñøÛ[±ÀY ÒnË +Kò€Dó÷Á‡f´êBwaÖ”.‰å¸Rýv¸»½Îˆ ñ¯–R]â'|±Œ^÷é²ÃöíSà =Ü Šndʨ™Ÿ¥^Š-‡¨¸óú4äÝü +r%r€j„…B¡e"¿½zI¡«o2=cw2ó»ùM¨µ9ÀÖAcü›üî¼czÕ +‡íxgåsR±÷ iˆÊû:þ#Ý‘"žZ>$£’£ ¯fÏ%c¢ž‰H‹‘Á@«T¢¶@Ûî{úQåR̘ò‘ŠV0~ëu|ÄL¦dÿ ÉåPà8¾Ý?y$2¢~%J×ÁØ’Y$¥!ò26‘åtâ¤Xóë¼kˆBoË‚Tö ‰¨òúâIÙmÃæá8FKŽ…pSnÓL)÷ RéôâŽÜ††zÚX]²’.8¦S˜ž¥PZŒØ#ÎCÖ¸$qöóK–æ>ã$ 2ì€-…·D1€ Àª0§ã„îﵟ³š V‚k˜’üi…C&IÌmzÚ/ZY.„âæ‚‘$`á;¾§CS r-FE¤CF¹­õßñ|¦Ÿå9HS3å§2@Vbˆ#ìÚ%ýí¥E hd"ÔØ?8™G-mc ·­½—bùîuþx Ì…Û®%X½±*ûµï놷òýyf‹g…Ú«¤û„²ªŽÙ{–㈓’¼Ð§UÈ †i +XÇßÉŒˆÈÆѢܫ@PqXA¬ø ðÝ9]© ÊI"{l™]Ès@s|9'9±-cXTÞ0Š, søl½:‘}Sù [Oƒ]EÔz˜a-›èˆŸQJú›ÑÝwìzU;$0¥i5ýK›|P"+zŽKÁKW\¾ƒìûá&\OœÊÖ_ÅòhÉ,Ãrˆ²ãJÞq÷êd× TCÕ{3CûŠ!c”XfÝ)&ZŽö`¤äëݵ¦*p”ŒÚ¸eÔ± Û‰.‰Ž#§$F^輌Zg¯^4³mZâZÆûw +*hºËsFkZÄØŠÖ¢‰¤"\ìQˆBõJbAãv‰;Õ?ç®û÷.L÷ðÑÍ?ã‘’ƒX³톋‚j>I¡CB^¢á¡ÕÖ|¸_|ù’u!ÎLýMíÓ•¤¶uri%×øÞªQ‡—ªèðIr ‰lŒ’&§O8O7M÷_N-WäÂmUÐXRᕪ÷šNÿö®\¹<TMiñ²;¨“-óP2N³è³wÀNEC¬S•/9x€z¸GÚÀD%]c•éØøk˲¤ÝßûýøÅjNº#ÕU5ØíFIiÛ§3þ³vÔ) u6iuu¶Šk Üæp¶“#¡)Œ¨f©«FÑvý iÎû#Žr \G +¸V+fÊ9ÄDÍÞЩœüý%öÓf†sƒÕYmc ÏQöâ‹+i¼ýxâ+£9jE2Ç®D€ìû¦·\Z1›7O½`€ÍâÔ}Ö³Z¥<%âüù⾫K¥FYªîìÊd)±Ù +üX ÁÙ­±Av§—&½»¯sî;¨:?Á»¯ùõãÍ Ì|½ àjZ¸ÌÊË+ÉR'#š ñ +endstream endobj 520 0 obj<> endobj 521 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 522 0 obj<>stream +_ÎÅwH‰òµç:«¦?E¾ñJgFô½üGeš€±ù¸4Ÿ¶eh” |ñÒÌUý• EÝ  nð¢A–ëZ¤æ~àPºšQ H‰„N¨jººÙOTÒVtž×/.¸ž±OÔÌ- K_¬ð ¿…Ø‘êûS£ð"‚GviüÛÖMUˆª ׈pju¥° ¿ŒÄÁ{º¯«rÛv4K[¥ú\V+X¹Å6®/ü2…5¹‰¡©˜Â|ÌŽpsŒÅ>Ý8"ðþ0ÔRõ¶§ZBÊUW§íÔ /$1j1ߧk|îp.y©ª +ìXBªâ õ#TÀ¼RÂ¥! +ÉrÉ)y]íY9ÓæDt«â“:PEØe™ä=† +ò²½løh¯Îïil'û¶%,w›nªÕêüóî9MÌͤoïôçHíø†2ã¹¥³Úù:ó«š#Õ‡ÏÔˆ­ë'7'•jÿÊûÂÕ&6v-³|~çöÕ=&t³¦Qîéð‘ÊmÂ*&6;·d9¸~Ò„ “N«f[qç¢è¾U#'é_fZq w)†f‘Í9.°B„ 8ïUã múæó¨ŽF>Á­îR“%sýwŽžn<ш›[hpz>Šƒé\ÍÚ,ˆ~Ÿ»yƒe‘] ½ †+³¶0®·:Ú‡ÂPÒùn… èULžh¢vEÚ5¥²óYÌÉ¥ž÷‡Ý·5¬©?Ëó­´ýL ìx·\b÷u¯ù/Kâ4¾)±¸ð ê$]†CуC6uû*£ŠqcF—¶›âç;Œ7ŸÒÄDÞÔ,%Y²ü?ù°@ŽÉ¬£’[= I'Ü-ª³Æ?˜j¿\æÉ Eï3Á¨í®¡¹ÙK7ÒØ°:oKPŒbö'ºÎQU,>ÚÃ5¶QX8Ôƒ;hc¥™?˜ xKèÝæÿômº³41)Íì-1WB\Cÿ¸ +Ü‹Ø} ÇZ'Qtãb–ìÆ3q ãU …¬ÅðÆw<0šƒ Eȱ[¢){0ˆ[’Ù’ùkžºÿbý‘¢hÝ8rÝfàærBñ3¦M•Kv´£ÓÁê¤(ˆœ~Ë°È,P` ¬g¥ùQà×95¦%”VÕ~÷è§O&Ç{ƒ2,®"`¬ÈâëÂèI ­Òóævl¤››Ð$IÜ¢Ú\¡(§<µjÜU¦ŠÚg“Q̓ +1TGy"®¬jplšÔï9Ad,µŒxBûb8!G†x–yäüãya>9ö ªÍ±¸¼ölaƇp<~ï‹èô +¯ïöAŽ WmWe…¡d¹LÔ*·h]Ç DIü à; ·/Ù»ž¹[”’»rTì­éÐ,óÿîQJaͳ]CâÑ|È›i¿òñ’°R$Vš—95Ëö¾ÀÌš·¬Îp÷C×TÑq‚+Hž1,Š%|˜ÝúþŒaà``Úwb! #}¬¨’õ­üE³Å+ê†ûÜön+€Í²òÁsëæ é +¹¦ET+=1¸ŠÏÜ©h·›_¢6¥z?ø„Ñ>FŠÕk’H1ö˜Ëh"®µKiÄ¥§tXLÕU¸+ܲÄ;’²LÖòÏ™«è™ˆL+¼þ¢l„¢´Î®ß˜¸›\)ꑾçÍy¡/–I`oàÑÃÛ˜¥Óôu +ìo``ÿø°¨¤ +M,_by¸³&q¶ÂÛM8»Á®]Ê÷ + Ç°†Íœ%Ž©Ýê{gÓXsÍ“w“_ÌgÑÛd¯¿YÛˆ.$™viÀ2ý|ÖŽVÉáôË+¥ˆ—Xün‡†[ôϺx½ï¨&O¾ë`j楶d‡ Ÿ·¯¯åNmBâ[¨©‚URó?óÜÍà‹Y$P^ÌìÔ÷*·-¬ŽýLÛðOþR„Bò`@ ¹Þ†G{Ž‡¹ZYR®Ó°Ð#˜Ü# +þ=êL Ñ4‘÷…D¸’q†FC­Ü·Ø#,CÜOquÜjqFkËvN¹ZT?$ÚÛ*Ðr‹5—tB÷Íšt¥¶u¹UW)LPüÞeM–«÷¬¯Wý°WAÕ⢫ýx‰\È`{sdœ¦ K@†÷£Qõw•McÅÛKHW¯U©VSÛf¹NûÞ,y_G Ó¨M-—€ß[?ÌÆàÊPOÃå 9 +2?uÓÆiš^#iÑ`B1þô~N(“ÝFöT‚•µ+ÑŒ0ÙÅÊ‚N^\ØWöí¯ã ®ËÑ/΢ßÓÕ³r/Èéé637ºÇi‚å$…8N©¢*¨nWÚ$)R_Â85Nåîâùþµáû±&Û㺫3)‹ïÒÔ%²1š¤¯4ßatÅr2 å¢`á +›UIÔ»ÔSü “1P«[²fîÊ Î4RáO2)û–ý\Â,"ŽÂ„4¨]÷Ýí1f©»ŠCV—Z&l›ÏC5›E"»Ø.ÞÕ4ýÓd&]÷œîDR”>§Û&9éò qùJñ&ñ +ÎÄvŒº¸ñ˜Šé·#”Ê ¦X÷·¨té’¿Iú+÷ +Ž3ÉÚMøHŠj §VÑ·±SL`I–ÿ®?œã›¡"¤|[±`z"ÕþYuaY3É:ƒœ©¬"/õ-÷p…lpˆSøŠËQû­ÓèLKŽÔR}´©H«x™Ö +%0ð‰£C+|Ĩ…ßRDš}î¥(fÞÔþµ6–ºüÚbààJ•WJ‚G¾¿T€A!n0 ^»1ÕÕ¶ ÕBkŸ#\s&Œ£ Dåä1 ä ˆYP¾Ã$ié<€2e*YåpûyEižE¶(Òçï­\ wÅIä©OÖ¶šˆ¦•­·Rd¤ƒZíU¸µ–“REo«6A#~9%?÷’Yü²»yñ¤9£jT²&»€.°gŽ+\žOåÕ|Ùì¶S+ôû!ˆ²ñ(ÉŒ^ߪøqÜ2?•gA973ºkÊ”Ž‚*õ]C1“²¡ºRX„”`ì…º9 ¦)k©H ðÖ«ûàgé'hbª‘âGeÚ1ò…çÞ!‘ßK%²Œ™uùuU3 èŒÖAÞZñR˶5¯…ÊÎBÚÕI&Ããd°MâèÚ|ú0VÀ½¾ê'ÀÙ@ ÌœRo¡1£ŸÙôPÊ°VæäÓõ'ø9ÜK•Mß> šÝ½:Tèsç_â¿*}{Ád¸ßz¸¾~ž¸q€Ší4ù\(nøyN–Õk ZÊÞwÒåÉä-̱¡ØÃ÷½ÂF ŸÈ!­l¢ì¾!Ö'ŸÈ-Ë[Ì…å7¥d½McøÁFËqèF{—C:IÞíþqŒš›7†Ñ¿±¶æé«Ôc¼àE¯€ËáTòc',ݘðÇe¸ÜWã̘¨“=ú(:N’âĪÃ{í%T†½E:Öº/¼®éŽ¹6ySõ‹€M0– ‘Ø›wÔn¾Æš»bdí8ß †©òmk’ î''窋] Ð?ì>§®¾ÚÒÑC?z + §Vi¹.Ž=NáVñà‹?m‹{?kdHùƒX"š Ä„Td§=·¶‰_x½=îÄFÅ€¯RiûÖUs6ycš§Ñ‘r˜ñFVØ Ü¬.½iÉæk yÄ cÒꈬ!¸M a“ù×Ëm˜°r¶û·NQ²k΀̛©&¨0Q9ÇaÛõň¨í"ùoe‡FE=ˆ<É·‰(i<= Jš;¨§”Ùá&C Áë +« 2G³Û–F^­¯l}­¥‚¿Üá½³úú­ËL÷_f”vó¤º2ˆžIq½[ “v@V‹Å±¦‡ªºþ"ü+Efó®#}?®­f?ÆJ¬.ŠÅ›®z=Hi/<­Aé,P?yß n¤šT~ɼé,ù„ôab¼'(“LÀ®-¯l}éžö½Q´É <ÜØÞö„)ä¼ ûy­8ô§zÇÑõ£þöª œþÒþÐB @¼5eƒcTÉÉÞâ"Z—wDÔ©ÃЂAWú7xÔr¹ÓIwjr__HÇÛ¡‚Á]I´›N­¯nsüÅSäAÚ™N³X½4È.%Àˆ=Ø{EÑïp;–´d%Šc"hguŽƒ¢`»•˜Ï½(+ðq¶ë­I{ËjM?ê4ÇȾ'÷Æû-øoHÞkZýÒ¥ÂËž¨{ê¡ f<2§EÝL,pCiëeæbÒ -G¿&u jbÔ!^ˆTP_\žmIñ™°ï§òBL 8’D껂t¹¶WKáE1ÄA„?MÕ:õWZÉöd•n/ÏÚ„–'– œ h•Ùzv» +FñXŒòáuLè±ûí7XæÉš™•s“]$—Ì D·dB°Î¾ËYf¬Œ¥ýÌ9r>å()µ9~û­ì¯–U®yã5Ú|~ÐbVLk2@F)¸. Sÿ›¬–Üa±¨ª}èNPdfæ„úÂüŠf¢ËÇ0cb‘úr®÷§>æ:¼§¤p+úŸð€Ƨ~÷DÛÙÍZd ŽaZðBM{÷ ɨ C#B€Úk˜±N#|˜`©ÞoŽÇ`Øî½ äo'ëÞuÍL÷RPj*›tuW•óW÷ˆ^ðÖÛ1VÅ¿üeAVÇK”¬bK“2œÎ¼ôšKbU Í( dúê>¶}âÖá/f0oÒ.®Ö5+›Ì:1Uà.CÔe›Ñž#š…™-”¥åc¤àébçRÁ_¸T fœNþœ÷¯#ÔƒiÎIZžùg«{l§fV¿,:¤Ø’•æZȘBwÚ+ì´:K"bæJŒë¡ðóblæšöÀŸ[&2óÀçïû¯ ª žù§bõ©–u> endobj 524 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 525 0 obj<>stream +¸]åôÌz¡÷1¶«q×O`8Æ–œ±h:5rNV¯ù²²ÝëåGíE"Üû‹Ñ‚±%™! ;ÕIÅ®øæ‰ÛÒíê¬1‚Óq¼ýM=|$JðÞ.ÚÜŸ©>Dþ +}þ½?%îsM61U$ª€æ`+@÷UÒÍñ„ÄÌKø†Ìíþª”¬û"Î[Î3™Tõ3ïòÝƇ…/7’ÌÝ(Ëýa³D,(KmÃl˜`é[$2÷$[ŸoìÙšxmŸ“5?XJco°i±Šµƒû —ÀÕ*+µØξ<šw¶Ä&¢å! ¤‹­Ö›V*žŠçƒ|‚ia8XüýÉÀ€² ¤VÛÁpäŸG•õ Åp#2± ·«…É^äw6ÀCTèã9&—Ë>úqô®‹¶ûkT÷üåD®³Ðîj}GÌ|°-…j ] Πv† ³¤–è`( pÏSJ’ìZUùÅO£x«¬  ‡;Ë uHaºûŽ[aƒê„J!ºåÊRJ›ã8s×FžÉoYwÙ9qáwÃy¸ÄdÓb]”ŠÏä!Xµ"4q&N?$\馇£Ï)¹[³Óó¸Ïi#,/ÔŒŽ@Ùk/üC¶­páÁ€[i¼c èF°zàP]B5¿û-yN;;B,¤Fè>yÙ$Qðù±r®½Ù@.Xp+˜‚€EõêØK>2|Yn…´B_UÊ7ÐÌ^ cCÔ”’OYÇVZzUœÝ «a¿ëk3¬Xý²0ÿÇô²_­åÆ¥=+$d¯†yÉÒî÷,˜úd/œÂ®².áõú×·éË_–HéËf9ewèÁYídý5«ì0›µ|‡Þ‰#…_µºJýpñ² +ù{<·Ç{_/ZΰZ🬟Ÿtß +Ru[db€¦ÃÂî±Á¡ F„"eå&«øï°ùþ2à*’Âõ1fH„Ä=¨ÚÄ÷¨ŠÄµý¦Yµ5èÖ%|ÔýùFfXÝTóÀá]†Zân\Jûਃ´Ì õ‹ þ¢÷Q§@Ylœ²eÎÿ^VÅUÈ\‚¢l•bˆÄ"I%ÍìæîSIë;ë™þÀ´·+¨>‹aßó9‘Êw£-ˆ8 ‘ԢݺÄ4{ +¶O¯®&ˆPX@Ñ]ÍÀâ†Ð„mŽXYµýOi6껳%§È¿ +(S‡-áj°¼%Fαµ/² Àöl ¡ó+[Ìà‚ÛOú -dëYÑ.úÀŽãDxÉ2ƒÇÁcz! Îåî‘Zˆ]¾Ç/@ é5Ý@Ë™c4 xCÞ¿öGÒ|Éa5ðnŠBOhwÕ·¦›>¯ùwÑih:ÿ”¾\Tëƒ?§÷K±ëªÄÁåXeÌ$zöPgy T¸‘L|÷Šæ0ðqDñÅ߀4ÍSÓJ}™&Å×NDÎ×µ1–7 nÿè>W^M–ØáÑL…úÀ·‡º³6š?Ì:¥ÃŸ‹G´,<¶ÂÕÊD‚ðÔÉßÈBL™YµívùÑó×9t$ÿ>ÒN§/]F• )VP Ê^:‰ÞáÌ}1Gä”®À«øÍ.ûpºP]´iÝ9Ôy2ƒýF’ò¿Ù—ñ\‰ÄW+ü„”BcÎZ$ '‘³E¥“4µÄ!²}ÿÑ$Q Òl~n£Å\¹„*TÄ}áãH“œJÌû W |KÂÕ~Iá³G §ÛÕ|ÞÄ¿pv*“´‰‹€M¨nJÊ߯éÝúÊâ´ÊÿS.×XC%RÍ›¶€šÒ[õ8Ì)¥xõƒ +qƒÒùc’/1?ïˆ>Wà¼í^.îªô¯éÖ&7ûÐ0„X‡õ‚ó¥/¦$Û¼Rò+w†€pÍiÀZâXæÌ£ÀKŠ<„rÉ'ã/¼ß]-?óÖ= ¼Þj_¢Â5ì|Ÿó@¤.X«{­i€èÓT™Å0ñ¦ù$ Ÿ‡MÿèÕÅUã?Û0ìZHÒ®·,ed2´ºÁ#LбqÔ?”“—£sÒWC/˜˜éëQüç˜)q–„õ2“YbÊ a8Æß¼öʆËõ=ªc.G,?¬“Ä´«é‡†‚°.“¢©¶õóVf… +‘M°Íºä䛜o7€+WÉñ„€Ê"yxR¥™VÜñÜÕ›R¼ý—ö¸D7!o$’ ‰õ…xë÷AûßäÊ2S_ÄXLïÞ7’AºÓÚð1dtý*ÖZte€'žo±øq)o‚Aõ™Ä#½íº.üÿA²“…VŒ¡-[w´ LÙZe27dϱeãÍ{¸¾¦(†=±Ô*&¬Ž…¨å¢ü“#åd—@œö3Üö(ß,¸ +ÀÒf7EÛ¾#Ì誠oÄ{Y?¨ž[Ôáä´¿Bo(ˆ¤>aze¨Ív +•ðtãíodŒë´*: õY÷BIZïê¤lýñÄœ’KTzÄ®#®&Ô*JáW‘ŸûÌèÙ")B½qÒëóS­D0Üå,Ê,Àæ´3989ÝÈE'=oˆd@ 눯Áj7ÿdæŒLŠÉ##P"–Hâ;šÝRpð±;@ªHʘY.¼^e ¡>¾ÿ(±ªI¶01ô¼ø5uH ÉëHPƒ—‘¦MüWìrFÿRg/¦-vb½à¬wö=²stÛ1dÂ6ð–Ñ:X¿(áæÑŠì!9ÑÅön©#‘áɹB$×`ñÅIÍBÊ? ˜´‰§¬øéy6òÕ‗K€ÒG÷äCi—ÝÞyÀœ½†f½ÅÌ£‚ìI²gªpßDv\`šo¡êdTñ´%Uô¶¡‚ü&Ø·!Š$Nòsa…ë€)¥t,Öò2OW0Úž=UBöÙe‹®ä†eÀç(ìai¶L`WI鹞Ÿf”x:s:¢)|óÒç裌óô\”*0‘¹ô(^µ0Ž/uZ½O¤¿×XÏGõ!;OLõi*µæì›D:ª4ãŸ÷Kó³w=LL3q¬­išk2{TTTN-3{¸pÎä-ž¸bû°W‡éÎ9uü E ‡2øQ¨6c¯„}àéœì;l–³Ô˜%»IV©úü€“ñØÉqMj Ð%ÅaÕ©$Øo`cîÍ÷ênNñ”ŒÉ[Ð0ÂJPf탯„_Þr7É]@ÜŨ¼‚(ŽÚÏ––ûU˜&M™DÙñÔO53ítÞüVóD´©Ðd¡DçÂ?Ã$júU«Ù…Ç™+ÆúAŸ‘è¼×ëH¡dض¼>ÇË£Œdt?}DèØèräj$èŽYü)8£OË: _7@RI¹a³íÐ+€ý®õ\ðjØU0ˆ½„¿]®‡Wݵ¹¦zÓ÷æz•`o6$µ^›nÄú8èn˜µÖwÑ>Tºò\EjëO ±(äüÔ™ôrH^isfr§ùIJ(YƒŠÂ€ä <•Iƒ§Û&Sü‹%+hÛºÛqKShN…o6³—B +Ìü2‡Ç<â +6vz¯¶ƒ’öys°„ð…õ9|\–Ìå NÏ3J]c‘û“m.ñOò‘F7ãôЯ9†;¸a¼®DE6è©îU?¢dwE ÖöHðú¼|£|9úVбÚ8¦ržÛ“¥/ÐÁôíóÕ×Ýu_Wv^å[z ´. t<þUƲ¾ö{}M\,x1ÕYÒÅy!‡ç•E•Û{«ñ‘<`3snÄ–èšÌ/yèL¡ƒ7Y¤PÄŒ†dÏCŽ‰T‰Ç^>ÒBd< Qgéß!;ëb^dähùcÊT ÀÁ ýÅîÄaYüu3§™oº©¨›Í¯}ú{c™’…~¨‰~~ámD%në“èhœ•dµwtK*ð„b"å­l€ù„P7xш›ñôû¶£•2jÁ4 ²¨×!IU¸y«­Ž G]AбðÞ2 ½þ‚Ù‰;Š[Ü>vo*S3ËçΞ5ã…Dqa\Dßð3ŤJ$c¯lÄÔä\ë·£¸þúË›¦÷Îs¡ÞHûõ~ïL»]AfÒ›ÑÛÏï}(d¯âFËÅÈBÎß*zk +’’ôtZ¾š‚„J Kä‹ùT³ÓM/èªC×ç&À{åAàç+>šEw án"¶±Þ`)¡iÒTÝžVªBqt´1#îû.Iƒ+pœÑáIŒS"•‚M¾ Ó-ý§!â¨PQÔÜzŒŠ¦\ÐöÇlúO6ïû'z{î3rË»òQÞ¶\-¦ +<' WRÖþQÎ<±-W®âµ$ãÖDZÖœs ݗИï¯×Τå2ƒšžÌ¤+X¡©ÞàÀÁEà[HÁàq–;’ ù†­˜SŽ-y”e?\ü@_A$&´8%°¸™ùÄë¯!KéÔ*,IºØ3ÙüièâÙ²¢TùeA'²ZO{ïBX9ì/4¡Èx½nX»8Õ Ættt‡7f|¤{BôiƒÕÐíãÚG‡ÿ'ͳ»ƒ¸)δگî¥rù0ž×pìsL!ce%øw;Èø'Øå/Í9Ç ¿ä/ѯNäåä¸õôC9.ÍfK +žµ¦e“jÚ&ë¨4Ö h¢íå Za¡Z"à¶N±CÖ"8_šä·Ü·7’·ë훃TñQz õ稚ÉÌæ5÷fÊõRéônÛ<úï#È‚K˜*ëVŠ–û8SRM òp…Ê'Y¸Œj{wJZÆ˾&€é‰UÌsÊÆ›‘u®1¼ ?ÈÑ ƒË!ÚZ£&H4`&Q}ñ@’Y%Œìõ‰4IªÏe~ÞР=†ÅNE>Súæ/ÛíÆ +£NÞ,Øï&-è;;R¡àÿð€/!|†..‰oH&»ãl¥‚}$"Þ…3 ùŽ ÷+¡óð•ë l á7IÂW)?*q/‹§¶šu%'¿n•Åv'Äst«íÎ÷©zöçZ4¡y˜;²üòÀËÂëíéºÓÉÇI^Yy_ÿ”°½B†×@bæ›g…4õÓ¾Œ8ì8n™//t݇÷±†I‰9HŸE +endstream endobj 526 0 obj<> endobj 527 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 528 0 obj<>stream +x.Ú£w{_ÑÛìŒüzà¡°ìø£žPNà(JŽ í€ïü9eÈM§'‘͹†pö“Õ€Û„-ÐßDg‹ÞçA?äLò‹èŠéúdƒ—™v8Ä)&ßGS#†Ñ‹«}ù õµjU—$œhê«–Þ°NÂ¥l饀+z¹ò®–Ãó³Ê/I(Õ ûŸá¸´HÁ4;+9§Í­§I½MW%¤÷d…26fpK¬¬·ö–¨öáíü)PÆU0a?‹Áôµó½N¬B,=ñûÐRH;Rzâüï|·–š¢ÈNª–ûb hÜÿ< nè¾il³Â«t2öÑæ™éÑÀôª âÉ5¬xÉŽ%¬jK…§ÇœÎw• %o¹oFÇ}fIŠßh¿:æ½çzàÇYIõàF‡n=\ xÊJóÔ„Wsìv9ˆÄšUÓ¾‡ü}G˜ê%ƒÛMà³[Ñ6žíÅ.±aÁW=‘†éMˆ„i¤5Múý·—è;ý‚ÿÜÀ´9 þ‡Ã$hî–TþÆÕGÑ2ÆÂwý;µ¬¶pææaØnŽæ 2Áð?½&D½µëµÙÏ Jø&eÅ8>ï˜ýwfc{asÈ—ô‘Ç@vS¢¸ +êÏ–öZÒbðð íKYE8nˆ~Í#“dJ+KÇÃv<¢èºUÂ×ê»AKù+(ÅH¦zFW ?Ž7êî.A$óGz™¸ªLÕ Æ{o,é(—gn’¢,²1‡¥é5ªRz墽‚3HÈçPqþµÕÏ áþxƽˆgÉ2ÔÊ"µz ˆ4r©-›h´Ê’CŸ5p½ëp3Œš Gè­Z‡ 1ˆÍw‚¼LÄv?J{šÒ?KXÉè}ɧ;£%C›ÒD|/ü„y5ZÜÂøªîEÞÎ܉ÇÛÙo‚8Î,,p\-Ni~Ñ6Úˆø·YÕî²á£*ß4!æ@ð£ÓK ¥X8âØïñŸíœú•)ç%–øŠn œÅ3>pã<IJà6½Öù~Ρ=‰t×¾£Ö…Mlw³ô–g͉¹ÃÔIF60ýÕ~›ãØ?<á_Df³yÞ[r ;»IÒا5÷ø±}=1Õ:jw0Ç^Y$ùþ±ÀNWÏ]Ýtp=—øªéhLn^âïÚ10S¯å´ Õª—ÌæIÀãpÄÕÁ瀧çðH1·d&2¥ßö›¥Rqî=]W¦Œ2Α êž\#'1ØöMÐxÅ¢0ÉGXÐÝbtó>’‹’UcÁ:;–‰7"_ãØž³SÀ¡q æ?ŒÿóèÍ•v,D²˜ê/]•FSzzð?¨”ŠS1—µ"ÜAÜ¡²—½†TŠ þùeÊŸ53ÙªB#TbPטŽJc»«q0±SíX¤5õ´Í4$)^9ÛT>=~\JRv>M8R}é&Ø+s¹š+Rù¥Þ\éDÐ%zÖ.ÌL±Ž¨„HÂêÒ_`»ÎâÒÁfjfõ£{ÊTΚé‡Ò6¾ÒMÉâbñFgÒ0£ó;Cu©«˜ëb¤¬µlù€ƒ§¥(,2Š¦h~!§+ö|CJcì#.89Z*$ ™UA›I×ÈÅF´†EŸ-ÂÇŽŠ)}m‚63uàjJ?vr†â7¿(þ@Ž#Ôf×}aHªÅ±u7?P¾OJÐÄ´tçd9‰Ê’lMªL.¾8cD€HbŠ]/BÅ|êéÿ¤f¤Ž‚;,%rÀ¹bS\ŠHCÇ—,Nfok +$9+h^)½¾'5Œ9î…>J6ÀÒý…ó‡JýÏJŒåDÄê,‹„)]߈~ÁYœ(!!Ëìo€ï6CãJ›½`µ•–ð-­•{ìBF ìâÈuUO]ê ýà'Yn³A›ÆéU»•¶¿—BNÿÅ +…Fö‹Sø‹;|óFˆ¯³ “ŸD>4*ê ž¾/ÌîÄâ˽BŸq+?ØÃþß»[QŽ/äÅÒC³ˆ¨§Óe‡KÐ y¯ öD¬¬Ä!¨ê¨œg¼‹¿Oµ¤ ¹™91¥´ôaàD›~q1´Pˆ¡ð¶C_o_ž)€“3SpÕØ!›6b{5O¸²¹öà²&%Vp&à +áuÛ ò­† ¶¶\ë'ÍÅyÀÅE¹Tw)¤¦/GYýÝŸÉÅrl{›nɉAI\H^y‘îTìâöƒj7(^$r6ã¤P>ÏPû+,l"9e5 Ê .6êuK.µ’g5Û[Y=6Ô%*L”ò²Lm|å!‰ý*Ûà“yÊ5çöœ÷F?>õî~Œæ½(&;nä»9A +7ôxÊÏŒ„¨¤KÅç*b…°‡þ&óœB »úËã[Yîáz8`ÐüqÜÒ¶Y›VoÔ#HŠAÞAÝyoÐ|·ì9aȃÂܵŸà&æ’m P“üàà8'¾‹ÒB}ù«šêQ@U ºC èˆÛ¹.éÈKr¿«ÿ5j¾c¹bnòã&¹îaSѨTƒwœ€/ºbMó@L•cߺ#ùÌê X‚Ÿþ‡Çe1bvÍ Ú(G1n¨×nx¡[nà=Üx•¡`ñ,Ò@ý8¹¯˜srjnïÊ5k‹bõ.­$dõÆcºnè{‚ÞÐ#¤qHF)x@Ù3›NuL/‚Ì,«ÈjÅ'ÌçêgÍO‰ÎVj¾yÌ°SÙ«c¼—é]ÅŸj*3fHƦ(3žgdvš«0ø(t)X¹æ‘¡.6Cp2[”•P7‰EV¿›~}ìõ)9¶¹Ü*fµ•åXø-‹ *¾©’‰ýÐ&‹òµ·nS4"xîü+c-ôÑòñšËÊ%Kº¹Ú/*›t<)î7o€ïãF¼Ì°’T%áj˜à½sÍ~æØCxþISjuC†ÿ›Te&ªÅåó‚Æ]Åjn?Ž´?+ˆb·]º0mǘǘDIжÇeüm^“ÇMÖkœ‰´—ñ\1‚ŠÑPY×8-…ÞéÍoHuòSΟš„f#ú`âŸyrMÈôÐÄFñiâ)àöÒÌjnM™òú!ñ¨×ÑÂzV`”Dms¹†>[uàÈu³æAµ¦¾§ƒzÏq#î8§à~ˆä7£ï[˜U1ìÊvž·CycÑ.'~¿6'¾­E…'›‹=ñŽ† ¤Çž–¹¬ÐAŠ@\´b[7“ƒj«üš 1 õ³M'¥Goš½u¼›¡â¬ÕfœJþzŽ“‹".Xð曀…Â5èŸÓ÷q9Qæù˜àµ€»F÷Ù“’¥Ú»j?¥ÉZó&]èíâó›ª!|B<ª‘¨”ÇdÚ°­I=+FÅZ\šÙÈr8D +j§=5±ªG djì^Û·¸sQp{þBÊo÷ÔyÓC`Kå¼ÅA&ö÷«Ë%V•ÊÀ…íŸJ¨UŒA}½ V3FÌznŸiŸz7!:…)úƒïn¢®”ˆ³D×f€|qc1Æ tl&Éœ=¢¦Ÿ`Ÿ cºŒ5å½ÒÙp¡‹Óœ?«¯G™Ýž QAnù˜¯¯Qæ ˆ“²Ÿ»=«I\b=µòƒI—㔫9¾ Ô¿óÏ^˶ÈPHÉ¡P>èÑر:ʥ̑ ›ŠÄ³³’ õš ?•êUõ]€£“„‘™Z›—+›¯sf c +æ þàx[Nç– öܹ°½¯OÒ›˜¶ÀUt ¼¯\+î­ë”Ä¢!äK¸v‡ï×Öí' äRˆôq'/Q5?œ¯'ü"­#ä,u÷AvUQ÷âe°”)¯}'Ãò¢šÇ³eá»Å@4,{hky8»/†ÿÄ5/„6é˜ÂA¡ÚƒvðNÕ­ªÀ/ìukÁç«™î·h¸ðNpQ.ï.„¯ðø;þ•X‰Ì† ”oÒʇÇd…„N¥€3M¾»~[)žÕvã†:-Ã5ý©¬2fÅîfŸÑÁ@ý7³é­(9üÂ^)Ñ„ÓZ=3Œz]§t:fÁ8Ym &x]”a¶Ê[½½Åç(ËÏQ “É6hŒ"÷ÉÄì“P_à).×RDwÅ‘±aî-&2ÀuÌÄÙWßIäYM­™ö¼X“§xs@“å¼ÀÒI‘¾Ê=t8.SJ—/Lj´FÎÇЛÚ;Hièµa¤û— +Ím÷ày½8¿é!€,½ ]yj]õgô[»tmEð†öLï>¿Éßðbå<%íAèM.§Þ“nóµç©åA^ÆõïH£ÄÉÃЉê'‡©=oÕ̵Y”î?íÙâ5° ·?ö ½k” {N¬h þm“ã^ÞFÁèýìn,4ኇQóUu5¡^C˜‹è+N¨¶¸ù?rmŒ)¶¿J~|œ6³¶ü +ÉnZJà}Zܲ~öZÀ% M«~Aë4‚=-Ÿôcs¿b2b;¶Ž@¡ì¦’ºhÂ!/Ö¨ ý@Aõ!½#Dzà #êt²°#(­Ì”áŠi¤ZÎÿë¯þňƒH˜8x8¾0á>¹šÀµ&Ü6D9/Y³"q“âð±û€23ØÅƦWd ˜‘tÂÛ g%ØÍ?CÞÝ…®C öÖ&‡j e“$·Û°í ‹$†mÏ p»¢¡ H1ËÛ¨ÄæwK…ý§dŒÁ{ÎÖ.ATÈÍbKbœÙœñ-®ITçÒtZ@…âÒ‡*bù^ð6ml šäúF§mà1ùa¥Å¿Æjˆ1š¥¡€10…!)YÆÊ®qV« ·v÷šŸÿ^tR‡È&¸Ü€X®ÜWˆçBè­y8F>ƒê§y«UùOhðáÀÄlîÞ}”ÐÓ›Oø#‰T†÷rö +endstream endobj 529 0 obj<> endobj 530 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 531 0 obj<>stream + “ñ@ ƒ­)Ä}Ž-?¾ÑˆµÃßîZ”õ?iåuE)¤z2BP(H·RÍðþT R ŽµM7@{÷ +Þœ§)„ÿÜÿ;íHSK¹àÙûÙÄ' •øÓ±"gåI_Ø««©Ì óC#çôJYóéwÁòsÿß´‹tëÖåÙ +ï<{âŠ÷\ÄÞà}ÅbYßµÿ£›²Œ@0ï¬E¬ªª‘µbûÊB²¥ûôœ&yM4€°WºLÀy|å%Xv}S•0ž?û¬XÊ{Ec )`,ƒù cò 24ÕÏ\½”Ÿi;É_ï®àD7íz7 ˆ)€Î•÷g•Æœ\Wáä¹-Ä™Þ5ñ]b- ÓM©ב™Å ™ÌÌ +N<d”ÐZè!™Eys©OO +E¬ü +'@ihÒˆ·/Š¹Å™ÍCœG}qS›uÖ'ž°¼ÁêãZ?¡×Ryù¥9Åe¢ÑÌ€K'Žë².Þ!è{:rú2ºÂÒÖ3ù¬¥Óçã;Ží‹›‘#”²Í‹Í•SLVÂMü˜£oœ §1#bˆ»˜^QàaÚØâ lÄÀ»Gšc–EúûšT ¢²jè}rt’îŠ* + b'Ôë9+ž\QЮ}D—ELÑ%¿;Vÿ¡«šü¤tÊVyBÛÛÁ”ˆóœkžr™ ÏY×1mò$Q^þTuñãÿ¬ÛiôkËÎz.)MÌL&¨L#¥†3®ïŒõ{K©2†©^'ŽÞöè>+Ÿ‰ÀÇ‹3þtº^QV•ÈäÕòu…Íèo8œü0€²ú"J˜9´bÃÓÄ‚ÎL½Š˜„zÔ£Ù^Œª&NluÚôç;š1ûɦL +¦óäá6ã¿Õñë'ɧbXÞn÷h€J€ëʬ¡óZú21, }ìüÛ©‡^Ue¨®„©É ò4z½=…-² ßÄk¬€]¬+ÂVƒF14èÿØGöÈœÅ×Gª<_óJÿ\°Ü#TƒÈP‘©,æ¶ H¹79öB¤—— dG!~÷?LÝ!Ø!]ny"-Q¯'Xÿ_ õz«”9U$Ø6i‚Â3ZŽŠºrûÜM(`G 䯗×=J9q¾x³Ht]9©°-ù¸Œ ƒïñ»ÅÒó×ýkç°r¬fS‚QªPTÒájZC$«±šàîåmBó> #:5Fÿ½D¯ëc-on<(Wèám>`É”ˆ‘IäxÄomÛªÐ\ ¦Ms`úqž¼DɈæ½iHžŸ×œ”Uêµt‰•FPÙÚ ++C±%Nú„¸b¼LpEÇ"äé%ê"½¬Ý´¢æJwT¼âp18šƒv¹»yÖ{1ñ—w&¸n–MÌ÷®ºÐ ªd×ÜížX(Sß‹ªk6œË‡¢„Êüh0;ñº5j$`¾åÁ´Íµ..Ã|ÁEŸ˜òª_÷ŠþÔHÑ0¬K:øl¨E1L#`ì3µç¥Ýk60iã#jÓ[*‘5Üè,­S05(q^°"mÄpnTwÁò˜7Ìá2mø'Ç2¼y>ÆJŽ»Q}’ûµÑÔë±®@NMeÈ!¿ß#¤Ëh>aÜ“öÈì°(’b´|ÝmÄßb€¹Tܬ ð ÷\^’¯ÐUjØ÷av?Þô°ãÑ¥"„§ê ËI–,³–—´"W³ÀÍþV8=@0¤µ¦¾¶—ßïp9ì6…öuû0ºîà +þ¿9¿yGé±]/K]Î0Áƒ16ðGaf÷‚«I³Â'fÿ äà +,;` 4SnP7w_*àøvÿ¦jè2è+âû“hèpŒåíO7Þ³”’©uòW6;ŸcÀp>yá†Gâ•êQ-.ÆE¶Ö˜5§£†ñ¾°~ ÆN†|q¦÷ lHqÌu®²4³a^µ{ç±ý› ûîqFu<”âþ}³6˼çÃEn8UäŽÓ<¢ :7Á½+‡ã~ëё†Ã¶Ö!Áÿ‡Ð•,‰—Ù¼@f-ƒ¤ab;œ“ÀÙŠù(¯`se(úÒ²Ô(WûÊ„­¸bÙüâ}[‹ÉyŠ€t¦Ä·–¶Ä5T„Q@Cäó#L‘|/µ±6ÿ±L1ªàwp4õµ†C7¸KC˜ºÍ¹HòÖ“œÓ¾o«HacK~羆XÅë^-¾2kâÒÌçïZ-jÌcoJÕ^5Já_% 4é~ZͶÁºèœÍÅ¥úÕÖ¿kñjí“å@;° œpgómÎhzD3(–Óã4  ›ùyÍI!—wNvèÃRAÛøö©±êßToï{û…¦Túƒ½úP´ðgžáÀ„ol¾ÏiCöGè±äšÜÒnvNþ#¥o}¢&ŸÂ³À.oö±MÜq[C&•sU¯‹ ÚuC6¼3Ùrï>ý$'ú}µBßîÿ2g›h]Ež€7á󌓱ó´¨híC¸Q_6ž½÷Äé ¾=D]l|f”‹—@šw.uÔÈKˆ9ØJêTÍâ@ô~‚&’F¾þÙ…Y+ˤ(NÜ:ü¶y•pw±äó¤­,ñfSȈñ:aÇ­÷9´Ó©]Bq‚jZÛ¸O+¶MoeþÂIúh„°¹­l5žþÓ3uHyoûÑ©õ‰_¤Ë‹×†Y!ÊÎC¹‡ºím)«Õ˜ê¼vÉ`563l+¨MZ™HV’a^K[€‹-eJ aCUÃÑtŠÿ<:]q”~Ñ­ ¤DÖÐÁ›(þ¸Å§›â&AxXzÚ%Ô‘Cè¡0«,PȺÄèkÿß@¼ö¾#[ +X6Ñ®)üDäW†‘aϾ§¹Ô ]…Ï‘^„•WµGÁxO•—Ô”®ø‘Éù1ƒ¤y¤·É‚…Eݹnkˢϓ IÚÝk¸žJ¦úÒJ[4ˆ ììS×Q.ºùV ¨×>•ú$¬(.¿ÑþFcûIþ?å |9³²UXv…§­*K·$Ê›‰Dgm ô¿°´ÿòBúu¦Ax…/ -­ÝÃ#‡'E’RŠD¨±…ßèÞù1ÙèyBÄ”§soeA‚7)ØÎ%ï1Ôú[†â›¡~à®3)šŸûy3h»$„ÓEèP´‚ü­ «¸I« +è²ònıNÊnŽ¨ÂÒ6˜„ ãù¢ä—¾¯¯ŽçûMzXa»/T[HIKŒÜÚ8Ñë(ð2%ðÚ,üì¼çªì™0’‘–0‰nËõEÁ®c€ŸÊ€LnR/GBç:ÝpÆðix¢À¼Áʲ–ÃU¹³¹ ½²’²8O+ªÝx$ä”Ia©ƒãíS·+UÁhßpCÀÉ…²¬ToÆìŽXɳ݆?4j©Aõ8Oî_d)AÎè ›®ÆŠ›oLcÃÏ*9²`a@c¬ ç'YM!¯šsôH!<ö+-¥×o¶ §MqpnÕ9¼ÖèµÌL8î-ãÙûòaèÅÌÁ•¼ÚýDdžºVí3Ü›bú ™ä}¾x¢³µ°C¯áŽ¯µªé’gÖn¥ŽÝ)TõOý{C³M@¹$T KLÍ]ë.¨ßLïbõC»Õ…K¡L`=t"± +=ˆràÄ8¯N’Ò(æÖÛ2Ñ#tÜeÙíRƒ3ébthŒÎêT |Ûóñé¦ewUVòê IÆÉO H,Ú¬_ê;k +Ú…¢]5 «ê~heÆÛ “(fúY.õ¼DïLBuÆ?ÑW0ʺWdp /Ç$ÎJ)ÎŽe £5¥Ÿ0¯Ž¬ŒÝ™ÿ\­0LÝí±D6|^‘I¤Ò¿ló‡ÿj‡žu.ÏNäß +iÔí1"ìÝŽ¨ö:qv¨Y âeT)9õ2 ÊÜ“â1Î5 l|mÌ°¦‡>&]_¨OŒeòJšÚK휽œ-à·‘mŽô¿Øž{•ÑþÀ8Br:/ÛÀÍ2Û€\³9ö©A øHgZ Df÷€¥ VÖÑ'é˜Î ûIïóÕJ‹¶~‚u=}Õ•î˘òt™‰¨\á¶òceª£ËNfMÂ.ͶⱕXü"n~ðjaà3êþðSáèØqC¬ç8MÈÉŠ$‹ôØÆ+¦z€„ÏL°ot=âæ–ºFªÛ>ƲxY7ÔÂìi0 +*8›Ï®HLJ-L3óà3 Ù?’<±tå÷q›ù_ŒŠ4éÍÕÛSKŽYV€.D³ê5¦åÔÉ!á±dËgQ}Œ—ä%¶¤ïZ…_jÜÚ½&ÙþbŸùp€{º2Z™ ¼Š ñ†¡O1O¢ô_Ç–œ¸!\¡ômæ—b7s•©ª3NÀÍm‡7º.…iúÈ'uHÿ@Mr@Ú¿/ ˜È õÀ¦2éd:DB =€¡‹ÙèO-Äòòaæ<×6A¡ó0Ú3ŽwŽ£„Å ÈêWÄu›ðÇ| ÑÖ°)®eÞT\5€+ìí·'±¾aܜߢ)«“ £ýûž?­n¼+PÎ]Ähg÷qdGÊûfÃ/y|Ê m&Ì›¿1Bó¯¨íF)ö xŽ$w6·]K›[Ã\7§±¸ì6ù!¾½Ö\C72D…V–LÚœZŽkôi~ÝŠ,ÀœÀP;ŒýCÜ–ÌÁdÙX)ÿŒ] è­¥¬± |Úܶ¢÷þŠn®4S)×´‡”MT«ræ Í(„méy xøöÎÚ_uþ3Òíûw4°=pÑ|°@á½Wã:´D êã¼ÚrñëÅ$åB1 ¸SeWO¦æ0®¹#ÿÑ£°¤W]ü9ç~“ö<8dÉ<’éý࿬£%k,¼§fî;Ñ‘ti'ø4î`´ X¼À,Ì}"Ž=ùÞ Ã]Z„ú£æíë"ËRf—ÜÞ¸—Ð7ò¹Ô߈¯ž…x×?¼cüž]!f'T0e^ +endstream endobj 532 0 obj<> endobj 533 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 534 0 obj<>stream +Œ¥6èM›VÆ<û[lo°ÊtžÐ¨µ<×dT ”®ì«I7ÍLã*4‡>Ï¡ÈšÅG‚æ‹cE7It B/ð¡Öe¸ qŽí¼\‘r/[jÄ.¬Ã£‡ó…å’œõTÁ|~g”É^Ë/È8ì-eVʪÌßW÷¼9[çÓƒ¡»­z:½æ_ï€z‹ý¿£˜›d‰x8{cïQ«n]ìMQuú|䇟ɽ‰ÞÐTmŽã MÇgYO¬z+cù*-£þ³gÁÌü°›ëW™xÖüä@nYÅКx-Œ›á^òlͺÁ­s—ØoZ+çJYæ‹-š/kCòn»MØ'”¦ +"‹€™'—¥üPsט8s/SÝaõªHΫSµ%¹‘zQ º;¨;#‚°Y”µ¾¤{ßÞŸ$¸ö‚ˆ ùãJ)€½Ä[Šê·vš1_Õâ£nFgó@¤h§ë[#^Dá†ÅÌjLtмЬe uæˆÓϼA«QT€B ü]þ‚}«2ƒ4(¡÷­6o,ö”¢SÍŒ¼ÕõSwbnSò +ع—“úv™I—Î_‘”}Š·8ÖãXˆ>&ÙÈÂöÅ6@Qé ~"–¢ŸŠ¹¿I8;æÚ7÷ÎW…öž ¼ÝuÐilbJ.¾ LœV«ÿ0VWLÑLpÂ.Œ®*«k1´;»­“·*ÙBòÄ(_ ±uͼ]Ѐ¬'¸ÆB}ÅEk ÀoÇëI&¦ö_ÛÛµ89¤òˆæ ü$8¶8VFœ¡_•ˆÅ§˜Ô¸ñŽmg¥;Û9ÉD Ö\{º®ïÞ»ÿ•ÇõŸdÿ1“o!/×7|e\ÃýßCÁ]'#f9âßBìÂÄAO‚C§¦½&XÂÿl—5]¡kOYÍe¦Â$QÏÀª¶²þ,‘˜úB¡Ø¾VvÎz±h BÊ»Å˺“0vºÕÖ犟{S·¬ÛÐ1žj_Ä>;mŸ}ô[Þ,¦±g^ÿ'Paß.yè`ý-òísȹn{åÑ‘-³¤ñìØ°„hûÐg^à) ä…^:B,"þD¾(zaß°8‡®äxüWàž¯nrHÙúJð‹Gâ¨Ør~JA#Póºê€ÐxêgÆ(¥%Àƒò&¿ë±ÜÈÐüÞK[8[³Þ«ÎaQ¸Ù¼Á_Njc ÈPkYD;‹¬`»YMQ¯}[M„Fv)îp¢y™sˆ¥Q0»1Óàbá>e3:Æ8¯uF?áÇ•.<ôH»ñŸ$\}ƒÃOxMxÉ›ã„Æh¤Ÿóh$’˜Õá˜@|J¤` +ÅàšÄƒ¦¦( ä©„øœµ,+‡ÂÐvõ~Ô/’Òx˱ÿ-³l‰T§‚a¯{×ÌÛ +Ùîh üC.=áÎÑ iIa«FHù†®MeKç:G$I•=B.Zô‰Éeµ4h×Kvª²ª ëËÝÀßhÓžâ<{ìàÔL³:ò[#Œyœý$×Zn¹wÜxI„¹%Šå›§ÉõœuTŸ(üU[Õ%óò&i"´”*Êú¯ ñwϾ3pˆ9Áã#Gb¶ Åd™è~úPAð\ªgGUg±Vîíyÿ¿û²Ž1|·+í³m|òõF…ÀMnhÍE'¨ÛoÚ€kÂß3¾ùhðËO«âÊ{Ž$ä†àtTŽ×£’2B ^;½V“ MK6íZƒ g Ö«§*1é½æÛ•€d +¥Ý¡¢‘@Ý¥;iE;Pth 6Vé÷5ÿNÆHðݽ7CàØ Á¾ÈMæßÍj="ÚÍÿEÈéýC»ˆX0šAJV(3ß7žËP ÿx»%G•Dtå–ªüh6nêOnS± +³m~Ä›ˆxøû°‚è¦ÑN£]­q[ÔÕÉZ§M¦‡ +%&téÜ&BíÙV_#°Wu¥rÇhËÌϼí™&ìêP‚ EƒjÚÊRé X}"·ô•é\

Pš‰G¼SºqóL;°{8cM«æäˆØ„Gˆ÷KM£†ý„XÔ¾|_‡«ÚÌåöŸÀ¥æâŠs¦™xz•ï±Wÿœêw´òe¯Ë¾U?¡ñT\çûZ>I™“ Ò,¯û« æVSÍüAí0G¹Í`%UšWb¤‡°ê!êãê­Áþ¸¦´ZVÞ@º¨D–(¨¢Ç­§Ô–A=½5%­fôM\ÃU“l§X3A¢oü;2ï– ‡LdÕ*)(„Z€j3ÞÙe/ ÜÚQæW=$=A¬=l†l#­}ü2ûcب¸!ÅÂѧݭ°ä ®7³$¢SÃÁXŠ!CÌÃÒjOüÍ\;MNÐíþÜ‚Õi]EèæÎúxøà)AÒHùñ56± 䟎M_éKÞå ¼¨M(¨/çiÌ ˜è9 OvÔþï†{ͧ³ÎAï%Ïû[‰Ùа#â%t¾&:ï½6<ÒÊŒæ1Žy`^Ð%dEŒŠŸC@ˆ§ðŽý'þÃÈ•u"Aü—ë!QÝɸèàuRÔÎ E@“b³}ùðÿÛ¿Ê<¦ï:ÇÛ¨š< ¬G i|ÁÄäãéÛ«^`9GO•—öëjÌC~¼&ùמï+·™?ôï‘ZF÷Ee`qúÚà WmŒoØ4ÐôÍË°­,½:jª'BNtÏd^Ù:¦ñwÍ™é¥móɸ&Qó•-¤¾—D åk¤^柵¤ð¶ËbèÝ£twº“~ÛÈ-§1]ÂÒûZq —ì( añ?ú#œXd2¡y5éýQ¡þ~H^ ;ýf¤ýHtãÿ’™âÍŽ?Cãyò–ig´Ì6á7ZpOçYgÆɶ2u‡…Ô€BÄM¶¯¸Pe‚Ä-‹ê"<=Ç,–6±AFΫü J§DŠSlVo)ò« E—œsÓB/³>J,©´òøh3#k“†•ó¾åÈÒH0†ôôf¾I ® .ÎØW÷'h«5¨òAUn¾%´·¼kdf§N‹ ©Óöºî7Ñ%Ôðþ©?,Wß²¶¯+T´kÒn‚Q[)æxÐÑ +‹zƒ?05í¸MŽ!9Eb  1Ê„…sä" )ºØ„‡ùl/Tùb¢‰„˜TdîÁésN•I †ûÿÛ¶sËœ†½ËÕªi–m½MÀÓiYÎðÕž¡Rã>/²Ï`ì­~ðÝ:¥û«F›lf-ÞjØ–7œÜN18d®Ò6±ÿ¤.md3BáÌàk<;ñª†4oµ¢øƒÈÝÑ:QÖM'Õ8UØ4çD ,,ÀD îÝÌ_0HXÿ™×øRæIB\=«iwã£jz½™â4÷O:Ré= qy›faŒülfp¯óº/V¦ ¹¦éÖð¼ãY73[O‘<5á!«¡°I´£ÃÌ‚TŸe³O‡`¶ÌþeÏ +€VrË ^6Ahø£Þ…(ñ`jc™×CuШ}õzä”>óøÑåw-ãäQpÉBøÂ2ˆì¡ÁTaç®)PXe“†Vœ‰`"†Á‘EeÝШ¥—+œ“¿ijïÞW‹Ä3tX[yúw)’ïU’è3-v2ì² mtÙÀ3èKHU+ëÔ@ÕÖö¬¢ÃŽÔæT’{ú®sõQ°¹@Æ +O‘0ÑñMˆ²þÕßIÔFåæÞ£Ìößc%úeBØï:•Q1éÆ.W……¥ +îþ•£ÜÖð3Aa­Þfyälçú¸ÎRwn’”Ú/œ³äƒ`]ÅsZ™Y*pò€kôÕfŸÜ,éýg×­=ü·ÖÒðŸ>&…åŒÑ}®"«¿o¢¢È_PÃûõˆ¥n¾&ÏO(‡9§tòÇ>°Cf¥D¸WûÖ€*mىŠM¤üJÙÄ>bk‰3[`J¤ô¸+5ù‡ž 2 r:§†å ªî)…¯?mRs€LˆØ ygÈCß7’@¾Æˆ*’˜D ¸`tlþÀâÝ“Óe¸ÊÆÇ6n°pKa}ˆTÊ›¤y>ïpò?¬\ɳ:ðϧ6vDˆöþÓDp<ºÜke¥Z7FÌÉçb£à£=¨3æ¡ê¯ýX\l»¦öäãµÒpG¼Ål£É"©ÚF׺OPå]ûˆžãRPõr*0qnÁ ½±þ¦¼«,ËOÏý{ÑóÌL¥OqÇ„—uDÙ׈·™†¦ný|…Âo+]A3BÙòЊ'š¼¸hæ³°ŸZÖƒ2 d¾Ûø˜}`ÐèÆQ]—žOù"§Ýo6àú* @4–ÒÛ¶ +(Qgï+Œ/c!/§Eój•eFÄÑRýÄ”—ù¤œƒîk*ð©‡èÕRž¢*µÎex!FØý˜CÚuÓ¤ú;!¡Jª™Úàªpîm=µvò%ª¤ö™éi1ÑÚb“ò%ó¸˜_Š[¦ºõ.Ud “Á¹¸nÑeW~¸v®8¡ùŠ}‡›;Œ»îŒÜÆ¥t§f{ÖöÊF¢ÁûﲿÄ4MRž +Ö¡º£ˆü‹q·nÆ µE¨Û°Íè(ÝxV²è0¦©‰F‘‚“šù~ŠLWŽ§T;4…í¬ù1aæOko›DÉ`‹fÒîVi-_˜Ãðwß}’¨v¿:‰Q¼™0Ù¶¼½œ¹quŸ|¨±HÍ3y¹‡©‰‘´ÜÀ\s ˆÔÚ¤ɬñÔM3ɵܥ5‚! …D !ü¢œO; êͳÛø›Ô³€±$‰sm÷÷S—÷"AòŸ ÛþPȦez9…{»Ã-ÝJˆæEpÊs w‘íÊ„<#5r¨²‰…ž à7§£‡zÅ6ctYmü/¿¢=‰6‹¾ÓbŒZÐ4¬BÃxN̼êQM—éÐÀQ}! «~; ònõ¼6ã‚}ªÝû=}á¨69ï¡q¨aŸ.ÏúñOqK[pó^–U0š±ùª¢«Çµ±ŠRܲ^5ß 6íß4rN>‹sböä ëî°‘ª´œÓÔêìdeÎópÈþ_Uº¨…¾ocÔõ®õFÿäK‘ìâ—¾}dÏ*ÿg·~ÙÈ×ô^gÌTš@‚½ÛÃû+fEÁ¨š§ur›´— ^-b¨I'#¯\åO5áFå©pÒk饄ֹ5£ï’o”›”¶7m„0S«”}Œ«,Kz6ø+ouÆýÀ9=ôàr£:›B¤MG‰B=Õõeˆ %6ÅOó²8|ïÒ ‰šä='¡õ²»…êŒef™óKZè••¯Ò^‚ž‰Ge¯Ÿå°´²E"+YÕÓXMÿ`½î¿ìבŠÜ~@œÌnÑH&b.÷w1Á.âhH#­0•"°h³ü†…z?ªÕvªî©‹ì•e ¿ ƒhƒ.3gx‹1¡!oq½Kˆ]L‰&hôf”æmc6’³S’8ÉYwžlœhäã+vÞ’Ê€¼"ÑctÐ j~*¨Kü9¦¸ÔLŽª:}Ž|* BHPEzC=s1DS<°D µÍÓÿ"âgè¼ho0déÖ³HÊÑq«*ªø:H}õ6ø®Úã Ýåò¥¾ÔL%ƒ»¼ðU…LBQ ŠB¶jä8ÉYŽÒþTgòøÌIa7¾æ°àÝL:fúPð7'N$¤m,8œ‘-—¾balv‰ ®ÓT˜bë­^d–›ð–³¾S…Ñåç~&Ü÷+càúÜò4k ¿×.M-'•Ed.<ó^}…âf‘ BðŸ“ü¦@Ìå‡Hƒ¼šá‡»ð]ú¥9ûWÁxuìÆQõ]þB•i¦°˜$RÚŽb +ÝË'‚uÛ3•g¬ë¡·Íá\Y‡5k5i‚³!…ƒ.°†`íQÀv»¹~|<"tð;‹øI¨wÌæQu‡Í A·­”JB¼dxØÄ4ÛK \3êHi‹_yÏñŽLôÅÏ(n3½§ÞŒCG·N¬lCêdw{“ÝʼCµ ÙT€ï™¡å…j26ŽÞd³n}Fé/pÁ¾Þ–›Š-©†®Æ{Ew³ÂSÎOèɬZƒ^„š»~¸­R²&C½¬âA»¶›#ôFÙÖ†¾¿ÔTkñûø‡é„@Ïäy¸¶¯e7l°µŒ \„U`8˜ÁÔ"•ûþßuwŒÙÁïµ…« ³ÅešÊ³`âäð°óZ.óáÏ :% 4a¤òÝ‹º¦ÉR¿L‡M²‹0Ë:@=bÍÙ»†6\°Ï¯e>@sñÁ¶ºÅ+c†ÞA.À°z B÷rHSÝÕ%˜5¼¤(ÐapßêÞ™Áb‘]æKÞqý Ïý¶PÿG…ºxG¿¬ cMà­8›bPÒ8ûWœÙÑOþϪ>!» Œ€û²PzÖ[ÐV®ß¿·ßŠ ”B„ÔQVŠ‚ †æè¬.{,agZÁÔÕ´HîZt¢¾öñÓÁ@¬Ë EÏš¸áë,áµ]úÙ9%y£ÇÂ;J +#+µAØÔ–;[47fá“/œ‰ïCÏÖÆomÛ«¡TÚ}ƒ[\ŽÁ ”!UR•¥SR)€ U¬êæÖìš™MÞwØ|‡JVÞF5WÀülÐÑù­­í°4¹RpK—Éy3áHXªïP+7@Î_ûÿZèíhE±ÚM&Oã1„› "˜íÊRàh™9׃“õ5_¡©]sÓj@í2-$}‰µvì±À›qå ¶¸ Þ4 m[¬ +Ž6¾ß«ò ìïG›<&ÝŽT6\ŸuIhÇ–AÒˆyV¹;éJE&øPvQqkÑ,³å¨½Ö‘õ5b¯Xc¬SZ@&Ú¥äÔüËp #t?«>& æì†Êä„N÷}Ú Á£´eÚ†û=ŒôÌÝôØ’‹ßEØËø×Fª–F''é±Ü±¢x~eãËd®Î¨´yßbq19Žec#Î_ßeû°7Ee]ß–é™  šµI‹z²¯cf– ' +}\s(¾`•Ž·˜³'Ü&Ý&ùÕ¶U¹.lPuîéýC«}b^z»KXC†²ùËhpÄÌŠò±:àQT}“•¬/XÒê’S~X¾dþS!ۯįSî—+zÀÛcQG}»œ.kAk{Ïú‘/Ø$/åŽIEúkd(Tü±6£ ZÓ§ò +H†2,q á¼^ùœ'YÒì#–V©mÜ!/ªFºÙêb]ø¬§|ÂJ‘}Ž²äðîÝx,!†X½ïÁX-¬J+$ÇŠ#¹]©Z(êsºévÄÛî'ò“2B‰DT½tð©à§<,,\% +l‘VEïrS™ŠO2×ðIfvK¦euöz\^¹ü7ÇhTN#=õðnë-Òj-©ö¢1†a¨VåŸæA6/¡MÏu³iu“õ’ÄCÏüâ9J—®Šyfzo}÷¨ /|œÁÒõóãM½“lÜ#n¯WY¤µ‰î\;®íz'Èd“ߘ6B#]B§ÿN;tâÉ1uaÀ$–`ŒwÓÑŒ]RýÑó‰Á‡Òt¢ÔÆ~::ÉðÁ¯ÀB4 Û”ª‹Ý80 +endstream endobj 535 0 obj<> endobj 536 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 537 0 obj<>stream +hüÖd}Ý>r/tãØ4SÐd9^›Ê¢)WxiƒºK:µ@ÿÏý2æ"öe2‘ð4j7…¼n8v+ôd£¿,‹bœ'Ö¸Ý º• dç›rõÐÀ¼7.›8ö¯U –D÷N½s³Úg´á47N©l^KÛ½¼úÐàćŸ >¬aÇ7rjP–Zï«mŽ^¤;d,k´ïÈmìÖØþà1Ch7ªS¹œD¬>‚}£»bwº_M-G0J*0ì õ’ª=ƒ"À”ÆøkŸÐ?øí™&žaQo‰ŸùY™¿ö°n•õšU(Šúke6‹¶hÀ¨%Yþ¾Z™ÜZ„&éœÜëÞ +»Ÿ&GŒà}ÃíO“Òù`?cF€Þ™BdÛñ$ŠÖôZ³¨= Ø3}—Ó%ˆéÉ?+rõönºNä“PûQ¨?Árþ¼#2Ýã̆qýfáŸ.$›p¾sÇþÈ}‘1/|ÇGÍ)o™N‡MßѢͥæ‰ÕÙZÌpIÇcË{”½ìØéÁ0]瓸L‡e­xØ•V¦Å6Q/Ö½:%˜ú /õͼ· +Y.X=Pô[^àðå4ªÌ”•%qU +¥7„‰"ÙcÆÛÿÎlº+¿oc¸;ÁÔ=¶€øéžð; +ÇìT?,鬽ÞªU=®TtÄCb˜,m–‘ü_çY³lÍcØz¬ôKõ#®£‚ýÆÇß¹ðÂi}H¤,Q@náç醯¼ ³—w&îæ¿àc;ÚQSŽ Þù(/¾KÛfù^*ÐU™  LÊN„¬rmâ$†ódoÛû/ÿÀøRÖ¨0æ é!’qí"Ρì™®hÞÑõC~Jƒ¢»W³[á?}¡¡m¾´À”³·ÉXl\|ñM»½?ǃ优)T~öêcäb]Cáw%;0"D\MÌUãEQ Ò³ÈOy>ÙkõáBo“ùŸƒüÝÙ=üû‰hл٠Ú-j3$|ó¥ýO¬+Š£ÈŽAœšÅ¼ŠHÙñ«ÍÓž¦CŸs”fÍ:hpZ%¥¡4¨nƒ ,¡\sÖ îKÿZ?ä#¸ñ†5÷~j‘\›©ŽZ¨‰s»¶°yyMI‘vAzÍä˜H»­Câzòv ‚ðLvÇö˜ì‰ U\þ–\¯bÄ ÝÚ-”PÅúŒüêõ ‘Êk¾š¾ôà™Ó» ™Í<+Qí}¨ÔõßÖ²IgË@ÜÍNÙ>zqÛ‹¸£dסìYu„j•áY+M&^kËÀôFÙÀše#’kãðO^É<‹9–Ì…"{rrÙ{3êÿõ(ƒK<%ÓçÚþ~Užðo¢pÄ +TÒ`}š¤½Ë³þeÞÃŽ? Œa¡GzõšVYçŽÛ‚»¸‹íé}ÇT¦ŠIT=·ã»/ìÌX ½ŽöRë3Y@HK1]ßæVÁŠ4Mxdf\4ÏXç6qM7MiŠ×ñ˜~,§ }0wäÃpEnÌÊm©¹Œ´¥Ð ‘`Lúso·Ò»;öâÕ†ÈÜY\PîªÕ®U ÚhˆšL#KMüTº"ô+­Q\È];²>Ü% ~E/òÜWÕÕWÛ„… R W®©Å!ü»¼Iâû±X‚òu>!W“b²•ÁøëLèÍéVtÂb¸Ñˆ†ÅÄ´#ÙÝOR.²·…üuŸòÌ®Ùbp­áF)ßj ˆÜˆ g’FhÒuÎýWsß) m·Ý>œ/ߤiw°b{»«a1Ê×WBäz°­7ØшQ X_.Î3È ÒŒxWúúYG:cùJÀªûp®QÃ÷!Àh“¨‡ƒü¤!¾=–Û£„?…ð¦õ…Ùs éì‡F6-œUÔ-z•3šÍ&Cúô‹aa¢ã{Hµ£Ï6/!KBLÔð†i¬’Ñ3Ä7íY1-uôÌo{¿œøÓGôÓ×mì\ßÈ'©•ƒB)ø‡n—É&¬ÃNZ7â«¿¶@@IÙy9Ê®:¸n­ƒ«yx"'›'¸lJbîˆ*£ø˨/DøRÍ4Rñ¯P¤¶ÐñÏ}((lf&.—¶d¨JY1/rø Mr·Iü|Šý|<Á¥Ôôõ3ÅæÕçК¹7+ˆvÌ/?á ­\Yû[÷ûÁ‘¯JZ1Obˆê¦þÜ"ݤ)kž£§M[+”¼Hÿ¶­f0AÌ· ŠÉßñ{9IcŒör¿#‚ ™d™ÌvzÍåÞ1¨7<4îÄn9Ü°fïgØa²ã¹>´P=}슪ØzÛ*õ¼`BÃ2gðð ú£ žÒ2 EOÎÞôbö‰!o ˜È¬ÝŒSU®Y*!‚{)®D9\+ÄÙ%vš«ê:%kßÊt]Ò4ÅQbÇÝ?DIE0­´>«“éÁœô ì¬ Õì1ª¡BXñ×uXKÂœû‰],iY矖ØÃ>¹JehX×”ÿÕ“ùmÃoTðk&”[£øS»-7hQy|N†ê^» +N„ƒÞ£˜Mlé|ìÙmÏCzF\Ô<²õ]üÌùoôÿÆ S!0j|È0²†ÂH¹ûúöæ‰3RâOT…;î^&Êm²—Ùé–ü(ò®û… M#Œ>5à½'s"r ¯§ÿ¸ÑÒœulä¥âf«ËmGa$½½ù®±{™¼áyh[ìYWÜ|A_Á —­Pñ- +Ò_–ɪ­uê-‰O#«ƒá^…o0I¤â;Œó‘v½ýužjNz0 È +^öÒÎœõU*/CØaX«˜¸äeÆü0u1ÎíÒ5–ŽUJ૪,CC_ÞŸØ)ÚHÞßüÅûÃC0€åçä±B$ú«2@5‚¢ËŸý)æt»S¿e${ÕŸGU¦á>Ö¥«1”:¡Wtï:³ 7^" +œ#¬ŽZÇRZ"WY|x€˜)ÊÞ‡iíç^N»á,|I1r·Ö’ÔîVÎÁÑHwè©uä¢a:ç5lâñòáHAÔn|Ï«f(i;ÈßP>¥~è Šs-lªèð%º/”ü‡«}ñÉ0žkàv ò5oÚl8v™7˜~ñæRã.“ŵÁ%¥1q_BÆwßKU òf-/•CöaÓùÈä=”HÿjñŠ±îÒàŠWù²ä½Kgr€ØÅèøm&KÙ.ösÿÍ¥‹úéLõæÓ%@6üÌGœ²ÍfëpÔc^XÄ‚©ÀQd6roA)Û‰8'ŸšÕqŸ5(b +Ú%, òáérœÐ=H?SŸ«BÅtÍ@²bÝž «šÕ=¨–¿'&Ù±ðx7W«è%©g´Rø÷Qùº O„@1–+Üß:Òxy%º? x¦O4æfºIÌøD“)¢Î¯þ¾êᦅ×Ü:~ÈÉo;ÅÛ 'E“½È×A +â}xl&?¢Y×î! ºRA)íº'5 ”jdþŸç%w–¼*Îü‹ß4a;~ +§]PÅclvìöóh™>aexï…¤ÜfÙ:¯Uk*m³DïÔb|Ú^4‹AÀÜu¦Pð{ß º-hYL¨A÷c^ª¶v@¼ÏnÁ,«‹¼øÿ9K’ŠgèV`±e_M`LÅ*Œtƒ ´]¡–¢"¥Þ—¦ë‹?xw‚uÀ¦žSGˆSÒšç¢û¨#Ò¨ßÐéèj .Uÿ(Fvßq× (Qoš©lCv¡É]H[i +—}›í…aÄ”P¿æg3Yõ·ŒÚK§»qÃÚÁL´7ïÝnu¦ušhT¯Æm¬ôN~ä°VQ“Ë緕ݦŠrÊaV#+~¿Ÿm½Qû&¸Õœ`mÕ:Ùc9º¸oHõ0g_+Š2NnÉóÎ †yùü°paÁ‡zã͸­Êbí°«cê°ñq#Ò–)ÖñS}­—唥-¡H㊒­mßÁÏC¯²À¼Ç{)‘IJ2ÜQ<%$BN:¿0Õø ì›ÿD€ »&Up?avéË…Òv<¶iHVɽT±}¹ W-‰³j>N(#1g2lj +±Ã¾o²i¡\Ž?\“í¨tÑ‘ãy±Cj½’2ø•Ø·Ý³–;ò§· ˜®+ÂK6ƒ5ûþ¦k“H³ŠK“;NšŒ\†É¡bèIØ +àÿµûÁoÙc© ôÂÍ£#Mü¯¾í”4Hô_|ÿ>Õ¨gÚ`0'bZ´WRª;—r2XD´­š+ ¶V6ßÜÆ&”ø5ÒDÚÿÜpßÙa<ËkºŠ¬>–Š—›Xרš©|ìtcȇ¦AR–Z1Ã7¿‚3=Ûr# /p¡ô7 ï +P«1¨Ãç +ïÖ’"÷æç5E[´ŽìààqMݤE?§¦:O‡¤ósÒ1Ulv×}ôò’%¾r‡Ì²ä¼>€„ܼµÈÌçIi@7ëâ±jXÐ6Uw*|';‹£æµu>ˆß s‰.6€¸êãäÃ;Lô3®¤µ¿`K—iíˆï…X%o¢‘òß^Û®‘ŽcR-ð‹Ž/¦Äù<Âq®h W('«ëœ¢Œ49Y(œcÆr[8ÊWB5žºÃ¥/#(÷BÈÀ^X€ªçTÑ–eþ*mMs‡Qê >Í1ƒ—1GL²wzfJs?»%IÖ¸lf+p9pñ(s†móÛA¿€§³0ÍFPÄ*ê¦.þŽ¥ +·îªF'³K˜bã^$¸Ÿ4Xi)Y¦¸ékÐï+³—á\8l[úP XXþœ£!ƒ9©æ ÚÐ2Þr±Û1¡G_W°bÖ™›U§Î‚^_‚Û)td£^-[D•#¶E£)ž?œzl2ÂG£X1ëD²ú}#ø4ÿÇ÷dÕƒU¶ç瀧 [o¨ž×Ç¿ÒϲVÙ} ‹ãÄ}ò3à +5e¸øU¡ŸÛ^n`™Ñ‡lؽ¼ðO®èöðfü«gݹå&¹¥Ñw0 ŒÐÈ!ûŽ*ÊÆ …( i<ˆò¥!ÇòöÜ4Í@{-¼ÓۅįÿË“­:Æî8ãa¸UL9MjSiõˆaù­ÞªÐ7]Ê ÊN«°Ý‹ã@X¸ºº­T‘ +ØòÐÔi÷È%T¨" «¹uisù¸õoAOY׋þ<ÊÁɧg? ~"õ_'9|ùƒbRdKÛ¤ìgï`ûáë%OÐ ‰® Á¢’ü7³Œ,E~òê´G–Z±½ÑzÂBù9å,ßÔ‘»‚ë¼Ö;]z"Ÿã¥Tˆ°C“3*Ró8‚f>[0ð³¼Ò¼{ >\~š½vö2²[;qÚÆPt§/ܬZÏ?bƒí­ª-ò„ÛŒZ»AŸé×<.æ,ŒÁVú5Sß o4>qsIKèå™Ôb,À½ˆïBªÐT¿òäEûç·)ÙC±M—¼Šþ`–‘¨×e§£$»ÀUÉ$HI°6µs1J¢áŽÆ=‰#ÍSã™#Ä¿hHz£b]c¼üúU <+I5OðM¶qd´•öƒŒ˜2´Pˆö?@àºò‚Œß}i‰©Û2nÕ›ˆ×«_Ž/‘ xWÍÙteª›uCµÉû©øÎäOV'Gv}Þò4åÇ{‡Ž°%ƒ|þaˆöRÌ+{3‘ŽÕãÏ#úªùôNy†ÀLªV…>©qmkâËÂDÆncÁÊž/5âö5å‡':;$î°ûã£ÁÜùŠYÇÕƒúdJGÍUQȾüiÝÛ%HSÛS ¨Œu?µ,¬ ¨(Õ³Œ8ë‚1 ±uuUÈ *nÌç’ ÍUP̆h@Œß&­«u=UsùL˜%‚‘T`Fî°;1¢)Ï݉•6:>´\ª²LS¨„u¡¾ÿ\±[cŒ`ÙMg·íŽuÁ|PAÂ^»Ã¡ôA~JÄ©™ŸËãŸñ+›È$»9ú%Î?í7ž£™—Ôal­žÞ{U~á柣I#ðC2~¿†ò [èQâ·^pWDþñeEÝ(ÀÆHa#lÝí)'V£NÌ81ƒS¢ ÁMMyR'{+¬ðHr{UÏÈ‘}Iª¶Àa,ÆbôF^{rËÙ›x=k"/Tűųn['Z® Þ4ý6±øG%fàŒE¿ï<_òéo®‹ç¢Ý‹h6¼–¶W—íó?ÎoÝÂwfIJ2Ë€!·ýÐoE,nqžÃÂX¼ü­^ƒWë<:³]êûQ‡ã–,A&@kq&ö\‰¼Ï0—j†S3Øp´³¾-§ãÝYhà »¨³_ª]½‡Î•TAþ´Ð¡7+\/¶(Ò=Ÿa­6ÅCÄåÿ#¯î¦ZÒZJA>¶š>‘9ùÝÿ7»ê–uI’.;,ˆgú–B*3"¦`ÎÅè’MÏ—Y¨Œ¦Ä¬|m¨&µW‘÷²k!ï ÏžS"‚ 5Ý­ÔˆÓ!FÀ)8 þdä $2vïÓ¤©¶Ûšž†.ÈRR•}õ,×N-ù†œ†o+ç挄²L.ƒôtÐõI eé?Îÿ±lÔXäÄ/|¢f°bðY²ú(ÝuÒ,’´vÖ±£tXù4IÀÞoª#~4€2ñ…‹{©½y­Ð…Ö¿R8êBw¾ïDgº&7&Û)Äh½oTDÞTËU +b·•»(òÐþ-ç¼G;ÛAæ£×ÿ~ Í/J8žK è{;ØVp±ß÷å-U,‚ž‚ÓÓýZtmPÂvÊèô£ÛC¦wê ÿ=î­nÍFø]ã µ‚C2g‹|*Ó²/A…ž::zžñÖf‘ìoÇŬv(lö­-a™IvŽSñ¾ŒÜ  +Qe¯Ù%-^°¡ƒ’iiÂ_¨2'\æ$#кœ(¬1ðëÙŒÈò£é?µl½[<¸fN­²=qŒ¦^aÛ£#ñÒ·Ôýò’qŒî+wé&±ªo¯ñÜÝ[§Ìò_‹Kõ²~ªÍèíøðpƒ1±ÉÆñEŽî¶ Dì ÍŽõôÜ»h™žƒnç‚(ßB¨0ÕQÉy×ÔC¥c˜]X[¡K«ïŽ¥U´4›~èMŽ˜ÜÃæÂÓÑ1Œã{Í{mÂÃà$ý¸ÔcÅÍqýÇr†êÕ¿õ¨ÇÀó&¸"Ñ›66·1¶/˜; +…ïì~Ï¢Â+¶óè0z@#†°S¶ +*9c¬_Žï¸×å™!zNr -«so´±Ë"¥CV†ät¯àá^³ð¡ê©Ìæ8 ¦Ô݇Ñc‰Ï à­ð ¡}ú`~±ÏÒ:-3ÊíýÛØ»R7¶(Óøp$!ÛÛɧ1 «”¤ûCõÊ-)•­ÝÊÓIîë9@ ™eV QÏ1ŠŸÄif ËÚùžÆÄ|}(?ëpoÔbŽžÀ£˜]=Âæ:㸠+endstream endobj 538 0 obj<> endobj 539 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 540 0 obj<>stream +Ì~¥NÚ¾FÕꃣòåN'ž[HìYqöß»j®:½hT%pæÙFƒ÷àŠÎÅ£f©7h1ˆËAô£C;C+ÊŽ –ÜiÙRáµ¢ÃÔÔ&°Ký˜e‹ß—&u\NdÀçÀl3[*¨ütÖì)cž03ZñpÜó­"=]R\-àmm˜¨ÈÊ5Íhò†îpv¬Pê®ãÈBYV9z)ª–ƒÉŒ²qÇÉã6½m|Áœ¡§…[jÌ +…Áw0ïS½iP«a_Ÿœ£ê™H?íZlüÝ¡ê`æ=|+åžS¯ÄÄ%gÝxφ<Äó…è.Ï@€Gv`5œ÷¬ÌÂø”á8ßG (S^Ñi1‘=4è“ŽˆN“U_øh䃅ì.wÖ<—‘<”ËK¢Ú¹;šƒiÞ”€f®!ÿ6ä¼ðfLÿN_*vÔÃ&zt%–NhÜæÖQk­²øÖí0rä¿í. íIO؉#ƒ>õ2ö†öjíg­³ÞÍž­'×[AðÌPî„jK€ü'¨Õ …7”Swé)í‡Zè«LΣ±ò÷û:)šÕœsµ'imíEå+̲Çd#²Q·ò×áAŽ/ŽX'Wµ‘»fU'3LËv]¹<€^K™Ì¤—òøp’ò/!S—BÙ~˜˜ŒJÿ÷"´fÞ:e2TUt¢Avɺò*õý˜‰p¤_®þO8¯à^^­H[êã¤u +zõwܺ´W”aW©ÒM\ˆ§ËÜ®h8‹» xg̾ ù†_Ó12ù35Z‹sjžJÍŸ€¤gÓœÚé†Ô/ë;o“Ãüž4t6×mH²×c7zàœZ÷ ¿)?€Ä“¶m?t§|g¾{–F¬{_.×H Qòon¸¢[}/¡væQu^5ûìTtzÒQÐî${Ëd¯ìq”ÕžK,7éqèè +à]`×ì™cÈ܉uI棥ñ²s.ýðÍÂ}µ½x°§…m<ÜJMü‚]Ãû"½ÈFºoîûVY<â“ŽsÃIÈ;žµ×‚ª.!h¤ Ûö}a”SÏ0$ÝRˆ³=Æ›77oüTÿ^í—Ý`À‘x¡,s»®>T¤ü&j™m€ÒžXÿ$‚ñ’%ƒdà…“ f¾¤CÈ=ödèQ¨›¢™Wk©ÖšÃ íN‚á0†TžÞ7¾ÓMÁl÷x%ì¾LÍ>SõõÞøbÅ¥0ƦóT8z y[øíByü‹Ôãž•óŸ8ée­îà…̪”§†¯ê_ò‡µ;ÿlжOk39ã³ÎŽÓŠš,ãøâj*ªNý–fÙìŸÛÀçŽiBû\‚#§ î¬`û¸?pn²°Ôù¢4g”=úÓ²çÏ _쌖«=h¬g#cˆº»Ý;›”ÌjÔÑ6B­¢y¢Lb'¶?°’¦ÏXÑTƒOõU˜¹†íÈ»?#,0JIF)éäÓñhÔ8Ó̦´ø8XH´^³Ä(¾’g7‡¼œöZ!ˆ²æÓœm•üÀ®ª3¼…Z=20ºœ«â*»%wP9fË#˜–‹+˜Cô„²°Q¦¿²EØü |0 !‰&E…<6‹?©­,K{X¬¬~R܇–±ÕÒ=Ó±íÏ«?$Åœ]E‹­í»ýÉl ¦Ÿ/÷ºdÏ>iÀCB„U©öŸê²c©§1U—-üsÚ0MüiÓÕ#·G±Z‘`´2š>à%–™)#[fü3Ib…•ýÿ¿NÿüÔ‚þyûúú +%{ø„Å ”iK]Þbâmt¬+Z¸- çš<ĉ–9gˆíÍ¥t›÷€dZ•nïYY¬rÍã4ס‹üøï¾×©HΫ9f:|ˆ°)ì%„^·Ô*…ú¶^^·¥¸díœ~ŒöqÏ+ie¡Y¹VÎæ_í9“vé!( 7ìÀÞ×Ec³w¨Ž‹øï–Éi6Ub²Ô\:qýn-3 7aèµ"Ï=2gÝl˜Î³Ñ 1Ï%€A–;#þ¯"µÀÁIW65v“”×mF àñ;S#" ºê:G=ˆRj˜7Ú{¥úçç³fÃãY(ù+$$Ï”¡B>$<™­Lw³ìA¯EÞª–z`ÇMZ1u:›ÑªÒqe)Õ²„É<ÿSCôM+,g£Cáц#Žx»dæL£Ffvtò™¤³o^ éŪEI7'}}ƒ-ü X {Ö¸ì,É^á'q‹ëÙñ¦ž@Ó,¹Ku7©à&ûüFÊgªHðXVd-oxÁ7çÔÑ gð« 8ÀÒS·kù9D~Ù"‡™ü*|iÈ1畲D©í²Ü£Ëª‹‘v/¶ +]Æ<„9±…Šs™ …“_›4×:jE° bŸ±ÛÚ:5¥Ðÿ?ÞJ’Á³ªýÑÂÕEf·üƒm/Õù­õ#-Å=ùè`Í*xih´…‚r]æ“{5ÑNzÔ“H·A–_ÙOÖ꫼»å릭]È#ëý«ðF” Ž=ì›ÿÄ–|p£{ÿÌÀËÖr<£Î2…A RñµB«ÀÑ=2Ì%H${zÃ[<Ÿ,ÅÅ¢IKúZ”+Î`™ëtޟݰýNÎUÜ }Às'¿ü(uˆ1í|å`žz[¢Ûî\šLؼVq–âÜv¤vÕxpvü¥ Œ>D–â&©ÆÀ¼ßò‹ó§£L>}CãZßñæ[6ì®ws–‰nQB>.Õ’nñÖs˜”&NÆœêäRxç+P¶#±C¥q#,£ûžß…(éqß~¡m@@‘n±ÃMç ÄîIF_Öt2” +¼%‚À€kdÒŸÌ c5VWì5¨NWÑß 6æ¢ Óva:£á±ê©\ôAϲ¿>Ÿeÿ ]SÙS×Ö’ëP"ÿñÿ¹ÅÖóh ”™Ò +sÌÕMë=*Q`„Ï$"Ò¡Åêµ,ƒ»0E5ÃK÷þáÒ­\Xóß‚XšÁk9ÜèõR¦—n¨‰[ð"µð;`h«Î»¼D¥›pÝçË*¹ñ£Ú„–‡™J¹mj’ixFMGêpª³E>e¹0v ªö1\:O_XM´X wæ è9÷j¬H÷£K£…u«ˆ¨v ©¶ÆE(ý®Ñ¾Æ¤ì¸[Á¬"xQ]%ÉJ#”—Ã7TâÐéUØ2©¬¡ª®ù¡bâÆ¥`!\>¯¼‹Õ +©@GØÕ°o±¨9.3àórÚ.c +²Ët°ä|¼ÚV5¬U¥¯¨¦8ï€õÊHæqÑå¼äÊ +ýQx©2+êŃ:bg‰Sõ5?ˆ%;`pË ‰È*Jbˆu¸¹þdÞC3±Ç«¤/ã•MiZ˜’mÆ^úÞÛfÝtm…zã.ñó# +'òº×ûPd£QYÍ£4«¡;ßÊíÞ:y_™™úß±¾þE ïËD£ÔÉ\p¨YI¼ž¥“™”Àòw y^;™&”U$×UˆÜnòg—“e‚Ø5ÉÒAáÅ«äv"ªúô+‚”eô±Üôü^³ÆNe¡Æʽ®÷jwÍ°;΀Qò@q ®ÿÙ‹§Z¿Rµ@[8Pý©FDî0SW"Nù‰²6fÁn)·Dr©k9Í ÎÐì_ãŽ5VȾ…YkLDŽ‹»&~Öuµo»Ò×ø0 ¬2ãNvÔÏ"‰ñOËE›Pƒ5”™½¡PÊõ  ¨D¯Ø»È¿Ì3OEœÆrÎsÑk©TU¯–¨‘%mÞ§þ»v즮ðyœóh#1¤ýhJHu7òWÊ–<óÝ<³°qåÑϼÞlBMÚ¯q5œi"焲Ž‡áÜÔ^rítoùñöã@Z5÷yM}¢¹?0„}<çăkÌA*ûò·S1¢yFÓ¶t‰cùH=€7” À¥|]n¹/¿F»xžÞ½%XM?ö_ÍÓí&Õé Uãص8A%f0f‹48Ä*=AbSoÄá¾èCØ 6TeƒIsP5K3Іð©[i¾-_¼Ù8»|üK-ìäõZ2,2 +Ã×¥ÞA6!ôÛ7п;$ì œY!Ú-x¬çZ< sXÀÌé¿F™ì}o ²ÏxI[¡•°Ü”p´T‰;L»»¹Ï ¼Ä¦‹°J÷¿,ù¼¨`a)xʱC¨¸ƒžaÎcú!dÐ °+^z½(=8Y¹~ûkîÝ/Y ‰S—£—,7é±Ç1_:a\–³{[N1Í¥Oï^„ï˜9të8œDð9ùjÛ|ì¤ã1ÿ¦òE¦9qp?f&íö©báôg 2ùl372óìué>[Rn2¨qk§&Õ,’yqå Réå~ÞŒÓH·uIJ¬ˆN+•jÚg°·q3ž4ˆ€oøe]D‡—Š¢h%~Õ +%VXË‘›N“i‹óPQßRÀ?g­ ?»drx†ç²oz‰€·üó9Ë"œsèr÷·j2êg)dD^Ì‹Aω°/'©Sèhnñ&áÇ+M» ;ÕÐVÇDœÃ;ø(—0ÌŠ퇥÷®Ÿ+#â’Ù¡-Ùÿ|«a½\š6ˆ™ø9Åí,ÓL+kР”P­ÞÇô<áÂý4_†nÁ†˜Þ_°AQu• ¯B«šô·Å9iýw@ ‚¬¸ƒ:&¶Å6ÙW]Qac¾õÔ%¹CC¾çDÄw˜ 4³öâ´ïírJi“ûú(ƒƒ—ltUÅ%¾m)Gr+ŸÆÞ¬'Gµìv°Ù±*Ê®»mÛmؘ¸ßM5Å=컃6Cj³´YXU6vx|Œ¦¼HÓ=ÅpiÚño¦SÎNtq%L•B)D;å,åú‹¸ó“ç€|ÔÅøn®êÝÔˆBÚ'ÒX¸MŠ^+› Fá´yœŒ,„þÍ»‡Ý]¢ê¯MçÖ›äïèÛÃ$A· ´w Vàw7ýîAà©FIP nuA±ýroqp¿àLÁ6a•qJ…æ´¯dm€6z\7ùä.}ÔªÒ)–ÏØë,1»XÿbM:àÜó Ô5£9¡p#ÉjÎy/Ï€pZՖѵÑ=gŽD,?s—šE¿_™?LcóHÖ¤šJ ¢¼2ebÒ2û%}8[$_ÒÕ8¦p‰Ô+<&ÒÒ¬6‚¤ó§ŽÃÎÇÊêÓaq¤Þ6Ù%â+Béð¾Ú„¡£vÐxÛ>zÆÿ©ñ( rôâ6é'xaìØ!&kÞâ„t±ñø4 k0‘˜ÁòÖÖàžô²èøýÍáw™Âé Œ,ºå Ìâè„Vÿùi>ÛG¹!P©w¯|Å:´'ùK‹Û ÿ­Ïë¨$ω5©–¦19ßJ-ÑÁ‚ÑLD£Ô¬GäƒóbÙÚYDP2Ì÷äB“"€¥4vÆ[VJð"D#N7¼ˆŠÕGd£˜@jm\ßÄP§D'਻L²FéÿÐi««’.&PM¤=B‘+ µxŸð³GB¢Ñ=™jÀܲ!)OæÓÆôz™Nîï=ƒO^ßÓ¥Ö¬?eŠÅ‘f)QPï0·#ŒHÀ4nÍEÎœ([Ã!0mfÐqQÇ¡A‡!¥“Ðqmc*Ÿ2ÇQgÙ¶ü¦ã1Ôö2Ûòì'Ìõ€zîð(RžÇ.¯N,tC=º%‹9q%?ÃF“x¬×-(ØXÞ|Ôˆ'¢wLÀZ_5 ßøÄþÜo_D”t@g’>BL'RØn»¬ŽYÖ Ö{;ѱžÝŒDë„@`÷úl0z®_ÑÚßT'§ŠVÚ_ßÉæÛjýA8š\H|>G`|&s÷¾¢2•õ½v²îèÊCS„³z¢Ó\#bhõÍ5§JÌ>»mÚŠ Œ)Üîì9#Ô?Y…¸´M xû¦å еY2OÆõ‘O- = 9í ÅvŠÞ¾$Û’åo‹}IÄhˆ®Ëø§‰p \ô)—b29ÇZ%¶Z»*B(W•þvœ k¥×tÌ”K·ÙŽK…¶7šf¡¾3ºéæ ÊÂÏ06bÒ `ɬQi3”"þÏ“ö/$££³Ÿ.&m¨¤éÓ3±VFþˆ·:ë–Dƒ'Ç„½åa€¬Ž›¬ÓÓÕ|7¢nPCæ%|z¦íŸSÄöu@ñÝ3¯:åä@Ö…ñU¯ñ‚† ¡m/GõÞ‹Q°Þ¼шzóŠ»ïOê{·Q:—X*C•úœBÕó˜ŽJ#YjÞøŸÇgœº-« åì\OŠóâGÁ¬kQë¬þC÷aDþ«‘À®¹¤"—¤§qM§&ç¨å’ÄøÅu=Êý}}÷Œ,OÍáJ¾U] WJÍOñ*¡cj8‹Ȇ>…?¡«CnÍ‹reÖ“{[ë‚ðPtm¢º‘¥ÞHQ@AMœnŽ“5#ŸþN}«Ù‰’}®% a¿õ¾—Á`›)FÞ_î羕#œGq}Ög“0ž6›¨&s.a}{þÃÑ$â”?üpŸbº&åbê8žTL¿Ù¨3!M•e¥È6š®ã8•²À•šZ¸5ˆøj¯P›³ + ™è$?–:ªd0«Rn½"¼•0x ºã½d‹\N¡‹™Öèum;B ½Üù" È.¿¤Ã°˜ ÒÞãÈÓ X³/ëÛrÄéœk†4 ~Ó$øôŸÖ›ÌhØXŸó˜Ãy´ñŸ¿Ü‚¾H}Ãø:MñdŽ“¼¬¡ž¢Ä‘BÝOª¥¹>l:ª)-æÕ‹H…à–¶ü®sÍ©„c>tá°ž‘“ú$ÊïCQËU!ž(Õ½Q´Î«r˜°“¢;i˜bê <,€tìÿ§ÉANÞ˜Šñýø\—Y²)Ô–?Ž•®'XÒ˜Êä> endobj 542 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 543 0 obj<>stream +C`*iNûðøDƒ^¾³ª¬áœ/çÛ6w¤Å"{_{וՔ¡ö¿-Ï›õwZ”gM8:ïûþYåIô+Yd +9½J™)k{BiúñU2{Ÿã߶yΖÝÂýóÒôÒv´¶,}øJ³";ÉjÑ0YŒìËXŒv …”©4…9ÿåQŽ¿P”’ÉÃGâ“žà †¼¥^wÜ‘0Ìr^:~´O®ÛdººJy­ï+ªŽ%·ˆ^œß‡æöçá'×ZÙèÌO¿î.3↩󌠇;„ÉôŠÑI¦¢ÆŠÒ+êâÎ}{[Š/úŸÆûuåu}æ"*ëëªÍ1ü··/×õð\‰BæD«˜PþL›[ŒÜF®å2›I$”˺²õõºJÖJIöDO¹éÞÓÅ^®­s¿«Ü¨£j"ú0u&%ÚIa«âežóþ{íP½‹QžÎöµÝyÊO¥ÄªÒÿ+ès¡SÌÔw–ÐØ’+E׹ć’ÁYñ³+61éÿFȺê¼%Q¢O¥qAˆ ifƒÊ¹ƒƒÓ!ãÅSp釔8'Ç–®©¯‡Ø4&E‰f²ð!ÎÔ#ô]kó6ÇÆ*{îÌ;/#Ô­°©Ëð”˜é×<Þ/¥¡Ñžð±õ<{’%‡ŽZŽõú+&Jzc§$íBç÷Cf†ø2Ã~-ý³›WÕéÒ¼¼Àâ©ÛúºõÍNð‡@—*ŠÀñlßô-uÙH›ÞÓäÌM±N¬+¥™?ããÝJ‡Ý~ðSðj¬Á,¡vÎ7ªøsæ´." ŠÅŸ¯ÎÒiB7D‹ó« Tsª¦ Œ€?Å £‰»îògRoÔPš fï O”1kùëýþ#'m’_ŸV ÛŠm_Jä†ôЧJÞ©ƒLqg÷ÿ02°f.“c@ûð´2?TR­Â*ç`ûƒ€™ÊwÇ_ɳ¢—^ü¹3ÈrÜzŒ»X>ÖùN£Û4J;@kŸÆ\qZØH¬¢õNz̼Ñù!Ì‹›£¤„Ày"ÚȳÿWÃƳ²òàÉiø(ù}”B\Z‹ŒÕFƒ¥{næã>„x¼OKùöc~âŒ`âZ“ò«õ䣳üu*r6ÅžiŽ{IrºkÇ&K×PácíÎhï›#´ƒágf4!@ìë7“Õ&Å “ÊÎõX ºÀN,`vD†Fnfqk²ŠíŒÐu­™ýâý$ÇÒˆ0ö±Ø×mŒG^ƒ9õÞÞ\)FµsÁªtilÔ?óÕ0¤ê…ýy–lA³j›HÊ"ì-;MHkpSƒø¨ˆÒ#»:±ÓS3ô! Š!Œ¶œ X?`)ÖL\­•ÆèNdGSÚÝÈ÷Êû¾Ú†øÍÑ?;yJsŒÜ»ë4l¦ßèÁ&ÒFß1œ8®îÏ„[ëf…Ú÷5íþóiÄs­B”c¤ä®a¨ÎĪBx:µu†vÆ_:‡^ÅÅæì}„X,®P殰Ͼžk ^£ë pÞ#3çŠ5¢&ø°õW¤´§#M l êº5Ò†I¶œÝä[¬·F#§™ÉäÒÅW‘)úñÓˆP/8ÚƵºä‰t¡AØZ¸ÄÀ—‚d9êy}Oú‡KË×Hß„q]^óŸ+OÊÖmØòö÷·éî€,Xí÷\A7BTЬÔdàJöŽ'=ɧ!$í©¾¦ÕÓHØxv¬y( î’Ä­¢åŽÇAò»Ðuý•n¹…e‘Ù×¼ûµÞ~A¡EÅØÞ c’vô•S+ÎHFUÚÚ_EÏ‚µÃ¯¤<ÊiXç]êU%±¥ªÏ{‚Lî±/¬`ªÂåïb¯”Pi0A¾S(|ùL£Ú +ŒÙ¤Ö¹*x‰bI +¨å«mŠj ŽèºìxÉ=™7‹ÜZ3QUE@ßò8”*¹þL:éNiË-íÏŸcHm˜‰åÛÞL7(S¾uHÒݨz ·ª˜òý>cÍàZò1õ3lYk»x +È€º¢¾1(øïþküÛÆßRAÝ“g‹¯ÑÆ-ðÊÕ;Ö. ¶2£\¥~†©pŸ¬¢À·=˜HŒ²¢û-#–ûŸ»Ï#iÁ^-¬3Tv¢'`¿¤ì =ãqôpÝ1Ÿ +æ@*¸‰xÎÙia ÚMGßQ™o3º?}bI'õþVnx)×^¶•¿¤ˆ^ég ‘yh¼cÅʪO=¼§cßØfÞÓÆ®ë½Þtñ!¨ ý¦"ý¬Ûî±-m=1E~±MÝÿ½ÂR‚fÓ¾Ÿ€‘Û.|ó‰ elxœ—iwº¦jó|ô úíy«—ª•WîÃj0„Eý9»¦´è²: „¹ ˜+»ÝâîJúÛX[8¤Œí“ä\$Rý~þü¡®†ÛãuZ1ÆìíÐWÕ¤èÿµo³Ìì%“Àµ ¹e¼K>ö]b‚Cï“Ååhƒ»úzü>­&ºâütgÓƒÂì‘ Ets¿Ý^‰¸DQˆfHPƒTV0Sòn¼ОóÑÑÍÛ<(hÁ:@Þ-þ‹ta^™ù^¨”@yCM>’¶7pC¶Ï1gnå[M÷µé£ž`hòR,wú‚ÓË8»NÍÔsï¤7~ÉfCAgØÄH óW¦Ž5΄4&>4s4KÐþ'CÝq“ªCv)8€  _r͘Ä 9¹a‚óx +¶Ã,ÌÐ$(÷Ä»\ÌRsr'#Œüîõ»ýc[=‚1ˆ›#£YOƒÊàTRf_n€‚€ÌÑÇ›ÏÖ¡¿$Û‘±°CeÎlº=BQ=R…«êù{”B¢POÿCXjI7iÇäf•ðøƒ›Ë6]ÁGk²ëÉø°_øda6òºs¯Fibôg§·µÉ„Æ“T¦Q;•IUÄ/_®DØÐÞeõz#P÷ ÚÆêJ»NúÊë”8åòHa“° sÁLúê{.~¯éù0yÉqý;4åÄ*~Õê}F šy´“®c…YÂå…$}k v)&¡Þ÷Ûõ>·tQQ­wÒC$gc‡hª w›hpø˜pƒÎ¿Î]a1BÈ×VXgQåw™…kf6š–€P¨(GÁ<œÔ/6ïhà…MwNžBˆ Šõ:—®>µD–›“(æ¢l¸©7HÔïÊ(@­¦)¼—¿Â‚*12¶ÆÁä˜ÿA¹çGhQÞÝ?Þ÷)ä‘}ñ'H~£òý+™[Ï©~‰ž¬?’ ø/\»Ï¨Öõôª[UAWvB@0ïʙÔˆbª4ŠÜå~60ºæêÿÓÕ4°±Ù)9”Qƒ(<é]šeуˆ‹sSÄœrV›q¦ãs‹Ýäþâ%$T6 ±";”gph¸Ðdò_Yu÷éÄ7Ê:5Mw°±¿Áz'Ôú´½Z‘=.õý²öV~G²3a (P)Œº³ÏE’üüÕØ»‘ÅGQC7[L/==¸ánž^›êIÄ–[4‚!EÛ ìy +"åÒ{•$ÐïÓÒ¨4Ê–6Ú˜ì!3Q0 ¸W92Û/{ÈvüÈöˆ‡@ \ãåÉüL\ÅÛï/)¯÷εl ³ÊñKí*T Ç6¿“D¹Œj˨^om›‡«Êg/ÒºÎ#õõ»™‰,s¿“C®‹¿È•SÀgãŸÊ6Bt;‹ž¾usTø¾ª± ˆF)žh€Õ·Ä$Ó8ýÊøg²É,MQ:ë¢kóó5ì`Â)35^uÔJXÛÝ­* +òΉX9FÿºÕLÕ S™ ¹:}†ÓÎäÏñ}®@Ú›{àþ¡óŽàµ£öµn¸ï#ifÞ•’ð‰YÁ3ö a(çw*Ñðáé™êto±@X…Ä1RÌ(‚3ƒ R¾¶§þÏæÌAóp:7÷ãÙe³h›µ°øz]2ÊÉ?é¹o®¥Gƒ~¶•ŒlM ŽÑLö²ƒÞ‡^|Ú yÊ ç9¨­]GñKswN¡p4pç…Ï»ãÀnÔû½ëŸA¤8„ÃÙÜaˆzä‘UH°âxßROóA)[M ŽÂ³¬è§›×ô  Ä>˜'.Y“”NC =ÉãvãõÂ3j#kª¬T³B«¦Öy»Mj&V±çºÇ,©ßo7.¸ßmºUõJßéK]×ÅB…9'5½D¯²éÏáÚýx'´H%©¯ÊÚGãº/„m“N}bŠI'F˜H,¢T´qÒ½XùIcQæ!µ^à/rHLÉÔŒ%ðÐPã}Íü¿Çmìýtçœþ$—§ÖªCÞ§¶?Wþýˆ<†&ó°…¬ê',Á– YÞ@:ÿ*yÀµ„Š‚WÜ·~aH@œC¡"|îõ„LVÀðLˆW%U^ ÝJ=!Ô'G®?[o¶gMŠ(}ÒqVHÐr °Eál¡cý]êÞ‘%0ÉÙ7 üÏ 7//;°1ÿÚ¡•»Ìµ÷ØØL6Y»§l¥iyfV©üÆR/’†;CÇçŽC,æÄjÅïW–G<õcÖ=‹NŸÖ +q"Ö·ZiXšØ@¶O¸×žz‘a#å·4äÚzl·i•l wÁô¶gu£ÄÝFiõØÀµHÃi –!St˜ùü`âè’éo>Ø3&™6KHðÞkQ¯í½e’²©­Øºߨ}¼–šiÏ@c‹.;æÑfÞœzò$ó:ê±Ùˆ +&a=%¶qÍð/ž†œÞ +­ºÃŒ¡þ™¸B)jûª"º&éd°èå½».ŸÑé¿RñâèïÖ‡@õe¸Œ¶H„YתPS¤.+ðÎOpD]ø½¶rêo .<ù…ÄYÚÄEœóøû!É¢ŒÆùâ9?¥ækWNyZ{¸€ò^oßlhK~5m2°×7~Yþ +{Må¨k‹²Áä›Oܘg8q äë0[oŠ5SSš¨ß”K†NnSûÚ… ‡²™]‚ü´Ñtyýr˜%[ëfà +õ­Yì²{]ÊÖIÞª^_b¦`Ãw®l·Õ?/Õå™öþ QA†Bh37ãž÷/Å©gÛÉßñI°Ì Ÿ\1T`C­áxc„ØeÅh‚a‘ SÔ~/6Àxá›vYþ¥/£¡ÉIrØ cmF«†|Fƒ|àyÇ«oâkŽš§‚‘À„òÓucú «Êxp-¤­mY‚˜ãø^>ìÒžI 6î´o~yþ¯y¥þËJ;¹ïyï ÝËšwY(Á.ÃyTÀ§¤]ÏÍÁÿÑn,*R¥wÈ`}ÂC¼·Å¨)kCJ«‚ZN +VÆæ: ᧠ÙïÙ#'φróg—„¼œ¥iïDÅî¥÷6õÍŠîôNÎ ]æ4 %áÿõAÂ8ÂÞàð‘WþÁódé8·¾c§ÃNŒí¶ÈÕM4ñµã »¢G }Ó’bµÂ.©½ ;-B—´áÂËCSàü‚㈠ì¤r‚ëØTAÁ'pm8ëRñz-æo†´.ÒE©©=¬¹?Ô¹çLtç¯ñ€ŠOvö„+ħ݌%Ü»»ï1ìm†Çç–’„ë!ä|†¡ÜEáúÆ_+kDæeø![î ²EÆeŠYÇ-ƒãþ×±«%½ÑWÑ%OK†@²Ýú–ùKhJ!vµFœüÂzãxëKع™1¤#÷%<ìXìðÃ!+è] —3—mhÝÌ¡ ’D2:Üq”âÇзâç?´{µÓ”ÅÀàµÌL6§sÍî좂àŠ$0ÏЙJS +=IûfiŒÃuDÔH{ßñ´'Êžx½:t5—Y%”}q:5LMëv­OÐ’‚‡yïFnŠIÆkü>Û ¬l·Ú‹aNÂRvS>“Úhe ¹­©ËJ‘£¦¤"‘¦G’œo-ÜÜߘÇ.§â‹dØßWwI÷gÖî•jü1ó`/hæÑïÃXA»R4‹ ™'2=ò=q•£)šãŒh÷³1©Î‹¢ÝðjßÜxôÃæÈt€4y^è B>ÌJí6¥ßÇXˆq­Iq¼áÇéYê´r¼{‹4ügL¨ ÝšOutlïá7ãÍêlQ©8dï(ý.ŸÖbï&êfË_¾ƒt7á{²à*ixebÌ›•V [ÁWý¤0ç“T,ª‘~ÈÚt%‘¯ÚXàò÷cÖg¤ïL­ +Ø„Ý)ÆêÚÍá#?ûÛW¢”[á¦&ì3)þ¥]œsîÕgìÏ÷fñá k¤ÌO·’Üö 'ìBSŸbOÖ±‰L¤Ý&ÒÒO﫧6\Mz¸öÝú¤[œi»·Ø±LCš¢ÓãáÑl9ÊÕ¾šÁk²Ï4DOÙÀO½ÉÊzÓÝ›QÒç¿àh°T‹«²O-åya$ãˆ2 <¶R-ÃµË +endstream endobj 544 0 obj<> endobj 545 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 546 0 obj<>stream +YŒ§¡Q âÕЇwÊ+9ìæ“Ð)¿¼”ÃÖõ€²KážB>½}ñ‚éž/®bPEcío=ëŠË^×÷äZdìiòœ‚ýmC–†>Rhôöö2‰mgZ)7É•ƒ%ã[n%œ-ÜQj×Ö'N8‡HÀ¡ãwA”ªGãB¡ÝJï9}'“g ï+|½¾Œ}Æ—7 ”Ég>Ðàÿ´ÁζH ³Ñ/ƒKQºÛå©Ÿb/²mög¿ÑŽ¼ÆB¥ÄóEË; æƒ?eTÝ$£©ü¤Óo •l&¾²¶²B©œw¹©:ÉGfCâ\L_àIûv<¹ýÕþxˆžÝ ê†hø(V²A(³CÐKó¸nD¨1<)qðOEävHÑp87­w¼¶§DY•b!‰òË9(¶  '¹^Càa`Í£KA«÷ .¼Í‚¹7¶µ´¹¦}'§^`çjˆ ÂË|—çYPî8f?ŽôðäUØ®žáŽ,twCÜÑ E×,²ÿÅ:F¹õK “åQŽ2ªÌ—({2.&Õ¢ÍQ¸^^ñkzgNÑka<ïçñ +Üá‹Xã6Åàqð6>&ùP§¦`pNEòUn×ÚG¶3ÇËZ ûÃX¨dôF‡À›ÃÀ^z9|ïOͨßA ŽßQ¥¢ '$°vw]°Õ”Þ£0Œ*©ACƒUƒ·*>­cFs‘%øÝËC»¡ÕÊÖÝìdc­Ij³R=Ã% !·¿ ¾²jþa´þTý0˜sfÞäzÒ^µäF—´`ñrÍYp*x!hxò¿kœ¬‚¶â=PÕäË5º%8É®øûÕªŒ±‘ŒJjÚ×R…L9#Kutoðª)Œ%,Ë +o·.“ºj¥Û.ˆò ñ!d¶ýT!â:ÇñEs)+²Q*:æ‡ 5È ÔÕG~Ó$àq¸Žà„Ö ½Cvr;).w¢HS¡¬D&£:#5ºBñc¹íšóQÖ9¡jL*Rv:ÊéÏ" }T_”æ÷°Å Õ$¤ÂbB|η”ÓxÃDN·°ÄÅJ$Uª|^¬¹¦nOúy£À•ŒzaÌvc飃Vaºî©ær÷ OÙfÀs<%“Nöœ)#ý?tˆ–VÂ8+A´äpˆ>C•®¾&8妿tI¨¿ÓÔãN#Tåt>âšèL=ˆÃÄé¶Ü+–h5^Ø®-†°T‡ËÊÿuBªe½}WVKgU­3«1f_L{Ê@þÀFä†ÉÔ…ÁDfl0å—«=Nqt‚rhçW©Ü‰GhÃÉ4ÿ!Ù\Od&™”ÄpÁ‰hdóštÆuÖòüUË<Õwíû–Nˆ-!v‘'Íÿa2pz ºI1¬‘¥ÛêV…èì®˜ÓЊDV3lŒTÄÆdÙ©LÚ÷’K BåëK 3ÑX×.ý=§¼C½àV~J+Úyèiı’¿~‡•J¬U)™eåöòªÚî7,{wùPv $NG€Û›U”êýmÁ›:Û¿ñYÏáõ‚¬Eðìÿ9I ÙÖ*"i¸ÎŠîŸA+z§e1~ +í‡F¿W……¾7R:ˆ&¡äu×sÞkxã×w’[¬M ‰ò8ÌCÇHµæW3%¹œ±8î×Pb5 Nð?tr…âZÓ—!µNáÒ¢\C‚×±¨Dï3¿ážøIã:uÉ–è/<+4˜s0ÆÅÊeŸ‘Ÿèõ _{/Sœý~Ñbè[XÀß>µLGFY"Wñ;öî'P‘oùërÒoº´WÏZtHŸb#ùÖë¾çænE~ªD)˜VW$mj³”QÚŒïàzx±Z·}±¶@gCGv!6UóæÒdâååùýáæCévö Ñ{Ì&àQuNù¸­a’¹[®ÂvPÞEwü¹×ÓžZí˜x¬~f2Ûǘ +-ŒZÿ7Ø‹Ò£rÕGÍ\AäÎ_Þ·ÒyJûHÓåÒwV’Q— tc]ô4Ÿ’ˆ¤íú+Éßuf½Ül;•‹æ7˜?#P}wyëk…êsiAcûÔÛ™Êæ£õ­Ó-5T”“ñ:ö‰Ê6©k.VÆ°(=Ü<øÊ•Ø—ÀÈu’D$K£~²O€¦G@;¸Â²ø¯J¹:ZÜrwúð5¢95ù7vÈ\ÀÙ>âsl’aeŸ†€Ós×1¸Î‹bBÝö˜7‘x–ÀƒÑ»ïUâÐyŠÍÿ6zòÞz8¼wý§00§ã$triȃ™ºÓº«Y >¼ó%F£!‹:Ô÷á•h ‡âõ¥Çkbb0 à €ro›Ù©ñ„ }.5c¬ÅÂ¥ÁN@"b†êÇ]\ªAϧ\‡²­&Êî‘V¶¤u= ®ÌŒôTðø”â½dSl|Ü•OŽZ½ ¹¶2ÇÔÛ!Ž+ÊƯøŒSŽ¿üMÔ§jIÍÓdΘî´}s²Sˆ‰‰‚ËÓB…ò4U1'8ûnápÿ@-ä/øºþ´MµÚç¹îtû¢*”ǤK1¶ã–î,™sú¾ýüš«eNƒØÑw]ž´ëSÛ©€ý­ø'§Ê¹’þ¯gÇóç€E•Ç±2NèÔ!ç3ù^6)ëœæ^ä(8ðÁ†“Ô§0þYûÖËTû¼IðŠ-U¡ÞQÞòÃÒã§"¹OK†¯Ò#¤$*3* gì¹ñ…vU€Óð°9øpOaoU›ÉpÆ»ZiI¦iÙd¿´I}ŸTa*É\$Ó9Ï”WÓáyX}bê.º‰ÒòáÇø×\dŸ'­ÍS‘ƒi£ˆ±AýÀZVÌûâB†A]&äüT‹¿³®Îâ„®¥ˆ|C=zˆ W‘íÍr¼œnÅŸŠ‚—3ߧã+¥K~—MœÚП17#µ€­Ñ=6Ü_€ýhŒ?û·³æk›M-ŸJ½¨¹]‚ Md”Úì*¬áù]4Î1ï¢aH?ÎßÑ‹ñ嵕tˆk[SrždÓ©RêæŒp­¸^E­FŒ5Ÿ»žù@ŠY*¤°5wU ˆé;}¬•£ÈpÞðúPç#(rÓZbq/Ñ–D Õ b:í’M9ÚéMpi¯±y Í2t(L6{ÃI©š·¸7ä®ÇŸ.~‰×íòÑ)P4ýé\’ÄŸLòÁŸö-z-'Ô¥Ùz}Çehê KKm0fÍìDþùž]÷Ûoºv'ð5Í#á^{)”6æÇ÷FlÕ¸H£é8EqGÌ=mˆ~´¢¯wÍCíØbr»Jæ*HrGÌøì,ìD?ìZšÀGbv”,’$„ÿ†~ %÷Ñ‘Ò÷š@E´@Úì÷@9Ív!•A³Êf_C+² ïœH~×=ew¢º¡šzŸAboMsÙàùjM«¥CÊ0 +Z¡íS±PVOÇ––Uy©%AßÀâO¶rbά`ÕÒ'ÉÞ©Îßåù7pí"ë‰jÝoiмøŸUw­Öªs&+8¢+r¤ŠÅbƒÃò?s½¨ajs݇¸š´1P³§"ðЕ\ýÜßGŽ"ߢ–1´|HšLxœ³|¥[ÎGgÓ¦A„LO[FêCèLVy$ïA@fï§G&DJB‰S¡Êžž-]÷³¡ÀŒßgÐúÛÂ2'Ç¡2»œ”Ø[ÛV14Ûáätÿã¶ôHŸ{‚yO]®']ORK/–ÑP ÿ nh-ñ Ò;gì.ûŽ~;ºß)øž/ µnöbmê*çt²Þ§¿ü)L°@O· µbRŸv¼×í7i CÚþ ˜ƒ£;\ÜÇ 0¡j꘣ÜO¿‰nzvÞÙÊ|æk1·3˜'Z6?jñ€ÞÁ­ÛI8jdïôé?ÿàN"Úgâù™™él2Jp¥Ñx³ËIiE({ÎÊn?¸šx¨NF? +aèÀ?ø·—2lÓlãˆc±D/; läG}ÇÀÇŸ!˨MÖ¥ùÏå÷×q¨c U öéqË9ežÓ5 lÖ¹½ã˜?ŠzAÀZP"Õߎ¼ZÉŸÍ!¬¦­S…³ øºë€‹Kù—kM³c¡AcW‰EcSÃKDÙv±<³ÃžÌÆ­)48‡«,ýœô:~õ$òü!ê(€T÷¤ƒdj‹}íeƒÑÀ¡P ¬r‚Á íPAxYz¿£Œ>2e:vø]ôsëÛgdçÅž3æ!ˆc¼÷˜šÚ‘è§ d—«LÌä?.‚Š; â¯‚Pî-KòëǽSëff1^¬i@ô¬rïT 2®7û¬kw3Æ‚ùûT>I”ü7éÔùPjuö-=q÷jðݬ­×f™”3Úá­`c¼8}¯6ÅÂG-º°«äQF°gZrs_øª.lhuF3Ì»¸$"w¸1ßHn¿ÍžmŽÛŠ=õ.·Y]šL 0„[.«WXþ9ìÓHâÿ@M‡Á«–¢Ò +euÌ{|ò¢`ëÊQxö¡ót&è}Á’Môî’ =n?÷‚~C;¤LÚϪ0ÀY(Õ˜Ò!ìL‘⮘ÈÜFn ³SØï6ÓF5å–0Z0 SNÿ>-‡A É%è„cNE¥’úŽ=yªì­ÒeãÂ8}£!d˜C‹£2°šè¨ß+±X‘•ÜɵèĽ…8“E¾®býž˜-²ÃO¡oƒEÃVkCCA­ûªíçÁjíøÈös—ÇòV|Õß“Çò–O©H&j$Ãغ B•¹ÏóˆÎ$elzpËu]æþf‚GëuØ Öç° ûBŽ€^RW|ã5‘Œ`‘ëÓv €#߬1fnÐ}i<’uòÔh)Š7CCà$ÝxhQ¨AÄ@¢×ÂŽy’!82Ò¨{žÿH¸|ú×h&έb"DÁÛüU7\½UG,YZlj€6%ëQÿòE{rlŸœÒ+òEÜ€w£ÝZõÁÏë˜ÕWbç[¿‹ rÇL”ÞúHzÐ:/1(?ÆrÑÁ¦Â¸ Ío;ƒÜÛ¤^ƒW‹ð îˆÕoªç?J ÞoÏÊ¿]JÍ<Š kÉƉzÛô¥<1À5 +e}µ®L¯|º"&@@Ô]à×*wð`\³ð‰%CâÏ&†ZBVyv$±¬£¤^bÕ9üÛ> ”1ËÐr…¹å´œYc!ŠP{yöôØð_r®&\’vý? ¿`G¶ …vó.Ø Nps)y•ØÓi£ó +§¤ª8Wa]#ô ƒ ÷Ê’…è[‡g +áöO‹£d”½àÃ18çôA•sÉ­]¡e¶¥%OûTôW˜s¸‘ŽAHé î¬Ð<ÛÛS³›4‡È+/6e˜ß9÷‹3êîI6Œl|‘5vG/€”P‡D¢榅PNh>úèÂù +¸ã“Ë`9uT&ñÈ­ÉO$<©æ &B Ós*þosÚŒ×èNñö‘ïÞزõÂ`:ïï}ì3ö˜Ÿ²¿Ò–çò¥ÜmÅ<¹U¾7Æ-WßxJƒ;~QÒïsÆØCyH¡²«Þª‰×KdŽ†E5³¿]kÄ©\uÕ"FvJ(,Ó”¹@ž/-sTc¼@|´‡ZÀ—… 0•f\·Ýz!c³‡»/>>µÓnž"d…G¿Êq¥ÞáòfUÁ*+¼$«nªü X&'–p½=Whч3Úcmt–ëx¬­óá/c«ƒÕŸ þ±ž|¬  qUn> endobj 548 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 549 0 obj<>stream +¾¿¥³­×ñ.ÈïwdYÑèS-Ø ýàñ 3kH†1¶7ÏÀEdcÄæRÞ=Èá¬f+òNv‹ ‹ýåÍzÙçS +èª3¬ù£îõëò©ù¼`–é¥ê¯S‚Ϲf;Èôw7':Èÿ* ŸU·=ò>Ù@á}(„æßÃpRœì‡îOû¼û¹¹®¾×v'UŸº>ö&³‘X2jƒ+U´üÆr5‚ÁS|‡0¢Ð%“U«¾M¾ˆD¡Oø’¢oæãƪ$Áƒ`Ÿ0ãfUSC%ÝpÙ¹Ä@áoÙÀ+iˆyænCŠ•›:FiL‰öW”fÇÍ(!¯d÷qïU¶Ä0ÞlKÒýcÑtxði²`| +–g%öÌvËÑtD¨y—`¬|øé¸î’?pŠC&™þ¤>2¹Xz‰ÐŽ·EÒ®Òò+}aŠp„ì±p™¿ÆVS‡7ä„ÔQäK>k—íØVíQ TTwnÃT³åñ†º\`?MÁ]9ÅŲb’PñKl)ÏÝ~Ø`?aÎê·xT/¯ê¦-Sú,}÷ýú,?Ïrû ÿr½ÔúpyYÁVŠ+0J£à—²Ù½ž)ÄÝÚñ¥ç +J%A°`£½n˜A‡_?¥w7îöª54›‡«|SiˆRVüßáÅùlº‰:gÙd{hÄî³Ý0ÇÂràÞé<8<éexí¨^ùÈ2zX×݇šéüË9±b¯.2T[¢J«žÍÍu®{Ý`’J,Qm…1 +3= Þî_‡=Žh¤k•¨Á7Ý’3rÉÅFò°º˧*BI¥Ë{"±<›æ爀 l©–Œt)à €ø_4ƒœO¸ÏYÚT®„À­Þ™kŸö>8ØðÏLµ|êã£pùŽê€äûI“;@1"ýËÊWvF”ΖF Fl^® ÷y-ŠýêìÊà“CãS]Âj:™JUÙøB5 xÛЪ'Ö[’ JD4©Q—ËÒ¿·ðüÜx§ì5ü²µ®ò_Èš‹ÁŽLIW)Ö¼žãUvɮJ]•C[è„ÆF5}õ.uPÆÍ9E/wÇvzsu‚ŠµÐf‰`Ê„ãäCÊe}Î]®b+/û`lðSVañ<·¤ú<ëŒ!ªš®V²®¼¸øgaáåX¦0kÏYW©:Î F~}è_º‡5’ö®…^dîU¸K,¯›HC[v_7¯â eŠƒÜµŒã¢QFR%ö¨DœF€Iy†?SôD`s+á4^–]"–­ãW¯¶Ÿ‹ž5>³ Ö@ÑÑø‘F5œà>ç3F—â½òæ™Þb±8%Ë+[i4Ò <¾j×/¾ŸLÏyr:¬U]û’¡º ™ÖóýuòlB®ˆ!)ÿ·Œ‡^ÎhéêíYtÏi>YJ€.RœúÒsº|͘ÔýÝüÛžNhÎÇ ó­›Ää@િUi:9>âÇ^<XO W>гGšµÆš‹”V§€{wå'&­ç·¬lª¢%›Zã„v§w'=„ÿ*l•íÓÆúãB%Q}åöAê±.«Ú¸…ÕªRhž6²ýw,Ç ‚)Ðà¾ËºJ˜d;©a¦·¿ù؉QhBï»Tç8u 1;ØeU‰¶DÞ2PpÉU¡ÆØ•{âÅ +Í©Ì%º¿µçl`£vkÇÚ¥aˆ’JÝU×j¿•¬8H¶„¥³»_ œØ:: ÉgXiË'x×ZÉýÍ1äI¹R ä06PYÇ…GÈ·r‘ÒèÍ~¬¡k(v8Ïæ#Ìúnגּ–ÛMß '=ül‚N6~hÖüƒn– sù{¢MŽ ÛÞx¸_ÿ¥DFÛjJ½íà©œ)V3adK!¶°-Í"CQ4qEçªR¥hÄ ùµíK +çÑçÀ÷:w|Dåä=äðøóƧÃrZYxÙ›7ëß•P‰´¤ç…ß5d +„ÂçH†o"N¦eŒ¯ôlMyªä&.Ë<­øûÚr®\{8£IN &1¿ä:ÞãïcΣ/Yqª­€nˆé™=²ýx­Înª_ÕQ8ëT:,ÆGŽh~4µ˜ká*­uÚÝ÷Æxer—3‹¦Ž%ÄP„ÆIBmï­ÊÜÉg úyæõ”ó²+Z¨¬%ÐÅ¡<kýäÕVô¨ön]ã‡Ù‹·)8uPµ¦×ziüŽ„,³_hŸQ‘”¯Ö-±,½.øî8Þœ¦$Ķˆ>ÇœŒ ºÐ•âJ{ŸR3°<µKW.Ša>Y +þ¤H´á²¬x0ÃéÞ‡$9˺ €>¡å5Ù‚i5 ©ƒ©#7l_ˆUr÷pàLS„Ï)ëÍCÐÝ®¹Þ”ÏÿÈhoyÀÇà ã¢ÎQåK`–¥L“^{RJaÂC†äÞ3Sæ2oc§}£‰{F%aŽ¸ðð(¸Å®Y>A}g¶lSþ¼ô͹Ër'zòÓIÛ¿0‡qwlP*˜sôg²­•F0ßšõ„9]eå*ñ­øqp,4ÀÒ×Üh“¤íQw4ßZŸ5rû­Õ®’h¤óº¯9Y´-} ‚Eï¦î£c Ë˳W;ý×Ç-å õ¢¯º„Pƒêˆ~³†œ«ÕQR„‚:ÂÁ©B;v]Ž®©›óóS¨PL%ý÷´›vß°uVÎN…%Ä(ß 6ø!»b˜û÷Šë©Cš>K›*ö/1ª*”§–¤Ì¡éó{ +Â4Mrÿn{÷v)*1MËÍa”öì2Sàï(x÷è§ \x¤ÑÒ´~LZú™v:6Ëö|1š¼J¾˜ïÝ× ®±’8^hM”»L²æâ_ôZRö8—Ç‹Á“g¤3$pÀÙG'–ŽÜSçù‚¿P)Bë°Ø’ËsäùÔý#ØbW· ¾¶þÙzdzŸœSH$àJ—•,A"›¨ž½¾z*Üí¬× +^7üω‘µå×;Éa†lîÈà‡BØÆ¿jK'gÍëyŒ=rIÃù iåÐE }fá’RÅ°œÔU¾aTì§ØSÓËë Žj´]B,5{=LÒŸéà‰>™9S Ö3™éÚ7Ì•¡{¾­Î’ŒòEê§Àͳ궉Qñj‹Ï("„A5ë\9ˆµQ™3Ð=.ç¢<Š, º)ZÝž?«[öÑJ/s,4EY—Ø".í±ÑÜe£Q®¦ôWÂ[†ezöcA@waìC>¬ý°v!§KʼnÈOô‘zeóOçþ¢í%œ˜«¦ð«þ^ð¹}?Ó±y·Ôþ×áx–:H6´ïSõ(žðOW£ŸÏrsÅ[üòÐaI{p.³š‘±ÈÔÅØé ºa'5éwã{ãÒ¹–0`õì)ÕsÞŽÂ…–'~¾ñ6E†4Gqú®4Ô‘‘Î Ž§²Bó˜ FDOŸk1†¹”ýŵµñð®0.´Eºï%IiNžáXS”Ü9à‚jƒMëô—˜0"Ò©v½ÏIŸ¨sCT±†€5Œæ#^Y.ýMå.îfìJ—öa¥ ßý*ŸUÏ – +¦·#™Ë†÷ +pŠ@NFAIQöøRÐZ=ɪZaï¾ìÝQÔ‹ŠuµÅß=‚{Y´!¶ÿm™ÛÍ;KèEt+î¼íóeÏñ ‘+ &™ëoLWÉ|ëºxÉ_×ÅJ;eö ú>l|L¿$g¬Z‚×+—ê†y)eSÆ Õÿ±ðÆ`n¯"$`Èðm½iô–mý©7ûóÍJŸf>³Zõß„Zp¶%ÍKÖbáÔ“ÿFº0~¾ °%oìU$j’ª‘ÃnXí)×ÿ0C®·ôà…¯©Ê…ãXŽ|ì-[q(°qØÈ-îjÕ´\sÿgT 5Ðågy'ôÄU·ÿAáµàN¼ôjC ©Áó‘`§ð,h`þ¸ÊKï¾æ|”f¨v9 +h<ŠÔù½1·ÉOx…÷Œ4S»MMm^’ìBÜŠ~¢3Ä‚î +ÞPŽ˜ÜíÔIôÚ¦l -þ?.=(/yRŠ5`Ä:qim4ÿ^Eb¯p–›2›üíÈ“´.< ÛÝãÄ…g|$ +endstream endobj 550 0 obj<> endobj 551 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 552 0 obj<>stream + êº°à§ä–Äl2µ½³‹º×wßk×nàO/%Þ•…:ëÚÒÌ-ƒKi.Zõ7(%fÎpŒ¤„†pH˜[›¨4p¢±êT%¼ª/å çð˜c0=¤Oþ^Ö’ Õø!CÚÛüè6®áòV‚áèñaÅ„êóËò$ºP"‰8ô4[u̦Gzígöõëe/˜cËöeÚÙMՙ슷 1Ÿ¿Úé÷ŽÒf€ ø;…ªPÝo ׺&ïÄ—}·¯[îíH„™—(º»-–=Ϋ=}œ×CQI# O9{/”è!«CÔ LÔ¯küV‰bñ‚¤×ûøÊ$¦ÿ FrÒ–v¹¾ï°BÉ%1}Ï3¯W}¾JØ«©˜R(x½¶o¡°Uç}%ˆíj-ª¯ÌoµJT¾±Æ±h<Æž¼œv­W%•mD ˆñáÜv„ïYb¡?Íõ÷ bßÞò÷«d’½¢rȈ‰ÐUß®þÉJ'„ä‡ßé6.|öÊI^ov®"Èc#»ðšr™Ý¼)ò­×èœpŠýNÕžšƒ¸ôýHñÜ@þµi<{ÖáXþùÿ]ß‹>6f»Œ  .,mày¥Õßo +ԥ횮›ωµ€&BV-Ö—õÚ»¸øÈHæj#:¯ÍÀc‹É@¼#¥Å(Ù2Pl>A±í3gýƒZ?¦âŒöˆöˆåÿµ ¥jœ¯03lTô¼„-ƒYÏ2ytx&²»,eøžâbQÆpduÑÇÀÑ;nËÕbɉcøI͹_‹Oƒ¶oÑî2ËЭŠÄk/8¡õ±/hŒ×%[ +êÿG…ùÁ„)úþúoðqÒ”jgÏ5«þò¬þý¨-âý¿$ª|}ÚIs[À&L½Zkˆun9åèê ºBZ~ ÖÐôxñy9›Õ¦¤À…ƒIZ Œµm(%ë!ò¹á$qúwØw`BÓ +x '¦1½%„…ší™{Âœ‘Ùº =;øzž–ð±± qÈäNm±Cy/‚ðR}ë4ºßX¥ÌkI×&„|9’š•»´òeyOW t——‡%6$•qT΀ͥÅôß'ÃŒhÜçÊ÷ƒÿ‰ü »¥¹Lo[ºoe!B—WÞWÑôâ4³¬‰¹ÍU}~Xšvqu³„:^Óè$Á¯´ƒ‰öLGøÔj;ÀÑ 5.”óëÔ×lü—X³ZGùh‰ÒPжù•Oøœ5wÙQ­×h]ï^¼e¯~N’˜ ØSœ BMÐ÷¬<4Ïx낽YÌT©TBO®ÕîŠY{Q10¹ÎáÛ²£VE“&TÕnrI&è)69)¥ãz§Ôô0|hš!®@…+ØWóœP‘lf;!ßNñÞŒŽœ‚´_NüS·©¥|m++4*žÒ6P@-†çÚVUÙ +>®Ñ.üç70yŒ?8Ãäàœ%÷Ž#³ MoÛ0>þ®„þ¢‚I¢½Ü_þö,6c÷/[Z› ÌY“7íF£Sp(¯¸jÉ«"–œØV½‰T_¾ºB>ØÉíøÇùœ—B/ jaCÏÒ½¹R^‚»í©S½ø—Ñø0O…B^ %ë»CÐÿÏy£^fdêJ{1ÕK˜æ&ÛGøäy”þL°5ö«h8jÕùVûéhç +°Ä½õ!Ìx³Àukþ´«Òc7Œ«|Ž£_ÏÝ@LéÿåShÔåÎ&çJ’Ô•‰%My:Iq‚XªQ¦ÑŽY×u#F†`*Zؤ'-Bˆ29SCH'ik2gt8ËA=0]ÓVF}Húøâ2©„Ç*ÓÝ0¸{Å×EgÀŠÊ ðr8ýìÓQïvÙq²WŸš¡¼éZÀ÷÷¦¦™„½rIRÔürùŒ²oqŸÖá%šã…Ô6™â,v‰Ô‰‡U ã¨The(„wÄ…™bEV¢~eP…!hjjøpðjÝ;«5")°ØtŒ!ͳ1Ã*e¶úŽ^dW…—£Œ`é+ÀGÃÄ 8X3UíÞüšŽ´‹w¤éÿJ-œ0¼ÛÚÇ…š–rªÄäÍî¥bl×m+™·äÐE$3ÀOkŸS%ÅO€ª¶Ú‹ à"Ú °EN#úSUƒñ¹8ª€œ—³†°áH{{!¢mwC´ü2£½Q’üC‰Œ#é—uÄE'ër_P7n6g$—|z¿ÞŸ/O¤ÌÔí$ÿQ«£òqÿpží ¨zbŒ`¶¹!!ÖÏyG)K$üDì‰83HèÂ(Ô&/Ü®‹õ7QË•ÜÕlФ£¸¡)k¶óJxO*¸:n™n•ÆÛ.€×$uL[ˆ•ÜRélâ] +RѶÙà<šž±«m¾ÊªG=M¯^“œ6 §T‡AÅηûÙs3¤*δZûSõ§H Ùjk÷8ušu5²i?H%-78ÿ¾•ÑɶýC:í“ɽy3K&«/>ÿ_œ‰×ûÆÂÜN¥„—»‰ç «r̵CVP½(úµÑáL ¼ÉwœÈ\í+¡n¦eâCðÔk¡ÛáŸ\O¡/‡Ž9fÏ™ªPëÇA‚4Yep TÅÖˆ-ꥊZ‡ŸìT“dßqáÊ ’RdJvŽÏÊÁ;µûþâ'FjÜjˆ†—WP¤*I[uœÆQhŽ³‘´ªÁ*d"ü”açr l±Å¬üqµT³yD˜+Hrªÿ²K6Ô¤f­ ÄØ“±3ÌAAp‡®gŸ´Áè]u,Ù!½O¥b«F¬ÁF{‹¦Í8¨J¥^˜ŒðnB´t¦ù€á0ø—Q+ŠPÁwaÚÏ® +ŒÎ5Œƒ²tMáðvU_åþÂPñ¶`å³|5ý±žPsLsGÙqÂ$’ Í¥;'6º-)áÐRU%ÈÖÄõó`ôø² åÅt˜Ÿ™E™jØ¥ c ‡tU£¥»ûùBa†Èôvu€Ú!-R”èD†OQ§¢ô¶üè?9R…¬¹³ÓoÂs„aÉÀ‹U%|;o~°~škõnED·VÕÈò‡/uÂæèÖŽKW-H(óê= Êv¦N•‚w¹(mþ‡þZí OëøNà´oäÖ¿´{ö ½ $ºÁª/C£Üu/¨1ãu‘Fh²È†‰Æ1É´&íÈ÷20¦î;O©y d0|¹ñ˜$ ò-'ö}wMe˜ ûG¹'Ÿ=SÆÃ+!ÓJ ÍÓ[y ÝnðB‹ÊEIÍób–Þ+öѤ»PoQ9ÉÞohƒ»„BñÈÕÖ¡ÌŸÓ‡Y™5+ÁÝS1Î" H ü.½¯]m”è]»§Nî8,S4¥¢‡GÀüX´—mâ?tØðõÐ[“Ë! J$0,ox©‚PN~eãS¬Íè“~zm£u%zð~tôEY1ÂOç]åd²Øï-¨V;@®Ï< Fµøæc1Š_>οÛÊ£œ¿aÅWN¢˜Ò7Y-{b×3$Õi°É RmÖGG–ªé :²+z&`—zCÔSxÕÏëK‡yƒü éïÙøzVÙÐDB#8de/ržÛ_Õ&L×H.c0­ÛLò1Ëö°ß¸v®«íwêz¿¿i¾Ÿ1ïLÊ©¸Ü“x8mk |Ü–9L´7\ü¡m±×)O‘j¥èûzE w:Û$gå‹3 Æ}ýd5øT'Sgúä[Ó@!ªŒ +ÎfœéV¸Im–ñN—•,æV‡'IÝFObØÍ#äj±Gh’vßìeYVAí6X)5¢)ÇÙìΤDX/x²íÆ$–ÐØ9é4K¿¨ ªBÎd¸'6€õÝ°ED²BJñ“xš¶¢ZG ÑG§?k´æÖ–*1H<8¦T‘·þ.øéš®çPU¦–æ{ñíGe‚[£Á:‚He¼­ +XãÐ;,žE›ªæhGäÃAö O(ïÝ…"/ë¿WÍÚÌN…#þIÁ0â<®¨â&MqžK‰Šá}`…ìyhEBj‹ÉÁDdrÕ/I”¡$ Š’sÏÝ×ÅÖö²\Î葺sôçÇä@ñ/«~„¥«¦Òa.d̆#HýH{ u +„yFŒÐû~Uu6H§ó {G0XçdÕòÚì…¹¸dGó@mYÃ7uÐGø’,¬ÊU+¼Ü¨`þƒUûÛRqҴѼ)Ä:C·v`ô¿>$†É-D´« <ŽXéŠiª{Ïb`³ÁjRtŽj\ ‘SUÇdg¾»šþ‹Í½ò«ºŸ†"f›9ÎŽ,‰&á¨{ƶ¡ ÜÊ3ʼn~þ²ZÎÊãgоóÔ6Ÿ¨WÁ6Kf¥p8•—ý‘“[>.¾+Š¤82Îjü«ÐèSíÌÀ°ƒàtÐQQ©üÃ3¡‘ó)‚™^ ûh@êhOªŽ {ÏzÜŒ¼®Œ2b–„ä¤p´Sþ‘—~-ßçZW[ÔêoùÎVÅÌá™Ñ#¹µzÉYqí;YéôÛ@ÉÏð‰.¶Æ·@D™`ÙV{64 î~ 4DøS0žŠ¶ýJ4<pŸÄT>UŠz¤ªÉb” ÖŠž,‹b?¥Š\i žcsç\ÛÏ~ÒÍ\Ýs09½ží!öÛ\ŒÙNÞ ï*8×„× žÊ®g’±‘K„ÉL1dBõv6†™òò³Û3)Ã%·ó³TÞõ¶äJSÊëIñË}@J‚,¶G¸ TÝ8ª‘ÐZ›d¶Ý§;¨üš¤(@’[åFk °÷‡"“db®Ë›=µ66Um-©R¡9¯é_™{wö y*ÃÉ ‰Š¶ ëøþá踘PàQÖȬ &ÜY~?¼Oh¨šÁ4Cª¯€òØ#SÖ`ôç©_ C)g÷²¿`+‚jC‡•7|íÝ2™o\²½G¾QpyH!{ÍZ°­’Y{»xÙ C¯jdY>a;‡ähÉ‚µàšýî1"mj „Ñž—?—û¨µÊ2>x¹}ñ°|#éÀ&\k]Ù¾! ;ßoif9ÎE%.CÚL{»|ôÄ8™o©ø}ÚMC~ó†’Ú>7F³:C¸¾§Ôìn-ž6Š~aç5ï¶Äe?Ýbš„ú¯þT7 a +~Wdº ¶ÄP´ *…‡DË€æMÓ“‡v‰é;ÙšaëÉÙ8ØQŒk 6#£îºÒ[î'¤l:è0¸¯ˆùS»¾XVôÄH,jBÕ‚äào,„FÉntl<ýõòx×PxrÔ’x*КۡgÈö"`üΈ¿ê8™›ôM}~4Ê“I¼4}Lѽ¶hºÑ#ñÈ}í»ÕX®<§–eßâ⥹ýE4¤Ê ž¬>¤¨”“°<”XlÆ„Y|vEZøf9’7ª â|ê_]üLÏ gªv€2ÏÍ¥íME¤åÅsl°ƒc,*Þ*¤w»ØVµ¢º ˜·åaÏú1äW«\ëqGÂoò}Så‰Çu)hà,Ü$;KÖ,’ÌÃ?žÃ깨¬@•1¤[À®þM>ûeßI"+atè6±™ÆZêÞÕx˜-6°P̧²MºÂ<´žPµŠãè-ðÍG¢ä«Ijz*KÅ­ˆZ/t3;BrXþ’ª#åà`8+‡BD¹>3¢§Hˆç>u„§&3nP&>‡Ø4gâ&È-œû‘ZÅgW£²º“±áCŒ{®äñ€B6S*lwØ­³œã2ÈG#­HœòLÞeeÄíVf 8‡±ÅÄP‚r{ÙÓˆâ뒃㠱¤@Øž}p¤Š4É +endstream endobj 553 0 obj<> endobj 554 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 555 0 obj<>stream +Bi`µFç­éþYÝåSDTôJá>MƒòWXÞBÄD_üîDÙsÄdļÎMÍ’·èrIáIËÊ¿Ø)¥ÓòŽì„þsÈž/Ú?U¬5òDös5áØhXóGÛ§VšßñÅHgË)ÓeI¿$že¤¼ò€½(ÇZb¯íˆ ŽÕØc.ãÚÞA$Ê’ô¼Ýì3ª‘4Px9"ŠõÒo 09Lm·¾a¿n8âCNµÝµÇ”»d‘Ík÷„ðì5ˆÌæá÷vŠó~.$þ'øl1"-l¬ Jœnþ‚Š& ÕDÀ¬“Ú|Í>¹¿ëþ³V²¡ØÂPŒôiè3@¿ÃI—­W‡àÝBÒ/~ì"^çâ=qƒY„ü¯§—ø%\“ò Ú þ?~Åíà7?´Lè…‹,¼ÒÔmÉG*Ô; ŒgJ†¾¡èCpÜxÏúŽ7 ½B.EÏ0~Úví”Z ˜Ñ‡}Ök!x=†“T™V¶nnX’©Þ€-pB“-Ë m\ƒ‰ð ’‡¨€ó~pP$(|Ž3(& ^b•é*ž“)Þó + +#>ÜçDùþ•E -‰ ¬Ìðy?ò•`sQŠe›†5`½åü΂‹yvÁÿÉSjáÊ:I£›êæ)xÙÏFä/ 'FaWŽó úJìsze;4§Bpï 9³ï˺Ÿ¨]ñCTçpÙüSÛËD=*oetËðð$pm{®ÿ+†÷«º6Ñ:g Xöú¸œ£á¡f±õ\Ôð?–(ð@“.&ëÕ ÇrM"÷S \ÕÇpìk„$Õ1â­^«y!¤P?ýuÙ¶ ¸\³KDç•0bø±ÇÄ;y¡p¼ÚKbïÅXPR4–zKƒ¿ ìž×&{ Cæ"ww„|z.Sk'ÞO5©ðjwh<Ãa.…dݬh-Û\!œ©¯¹“ìlžÝù%à•$z¹ž†¤DøáZ>g–„>eŠ¿²By)S~Üéue]KòŽ˜Ñæã§$2µRDAöA ƒ•QêQ_²—Ê{óÒiðTU5ýÁîÐŃÏ<ÿÄ£C£Ô÷f1ÌŠWHrŽ(¯?×ü>z,a%ŽP4%ËèEUVsÑ$æ4!aHà6Ûzúô¬ ”7Ì[Û,þÐÑà)e|ûjŠê\õëWJÑÍÞB”‹€3»ý¾©äcA׆R±Xmtèë§âêɈsX¥FÛs8ÁÔå1TØNÔrf‡&fV¹M°ôí:QÊŒºj¬×x«Ñ­¾h&5Èræ3ªSBHÙR¤[߈wƒ[Ïz½>¡ „©VpQøç¾-n^îT½òßÑáÙ¡j@l¹ðôs Xy¤š¼+¢ê7«ràä’M·Tð ¯Û hÞ¹Ÿª #Í{œãÖ4Öñ·BŸñ~8•Áe‰Ó ¨Búów‘¸¢ŽÍp¯.Cù ˜›Í@´]ÈÌ:@?GYÏ¡'ž®„36¦ï¶æ3šHÞîA]‰¡Z÷=˜Ÿ³ßî9~h¸Õ¼àŒÙ +Ñý6Ê&´¡Ÿ9j°™lp ¼vœç5ü‰ÍñYøÍ°Ž/Ó›T/3LlbTxžŒIA ,ϘùÓÄCðš›PNñv4êÕDR$°Ù õñ +ÕÒùHã†÷ÿ+Ä[ "— N’Ž_§”œ–^)™µÝkÈž±¤Á²iõL†¤¬?Éô°ô•´J¯@?ïF¿n…öTutðT9&òw̶\Psc½x7ɃÉyÊŒ"ÏYð@ÝnñiýÈmm°‡†zSÂ3—²M]ãƘë;^²œ  +û¿¢YëJ=“Ù3‘4x–Já]Uë¡ÍõÍ.SþoÞœ›Sûå±Eï¥L­ãÒåó`t<ÁG(å`÷a°ÇU>LThÈmóÍÉJZº3ÓØ–>¿Ï€ùÆ´ÔÉ‘¥ÂüKäáϺGšh¶ÿÉ îȦÁG2ÄUÀžß,îžäê?¥[4ºGIç™Ä¬)u2´k3Œ!}rt÷$#›IšòÁœt,ñ5Æé7j Û´µS(q£Ñ0šx½oTp’Òêw׊»:œã$xš²é\Q8;1 É “ó¤ÆÅü±I¿P \̾ãš{4ìK¶îD:B7MÂÀŠ¥^ +ÔdI£WÆ Å’ö–BÏv½¨':ßîåÏ·yþ ŸÌVLuºT‹SŽÞ–ª«Å›€¤5ªÀ»× +x{,òÖE&ÿBávÍ1!HÖÄæÉèÀNØ\0¾ 2×s§[ƒ1ŒÚÝÂþR]ÿs© —ÇÛ³àÙ(n&¦8)§3;™õ£ L:ûåòj”¡ì´ÄéœÉGW3‰# ,@+A¹ nVÊþ-sÀ-°K +L4×n¢Ä:˜^ƒ‡Í g›é;§g‘yœª](d¶õ„‘»Ož¸&·þæ ˆÇJï#^¡eϤ$ÚYôŒ¾¦_§}›”55ŠBªs1÷[¿¾Àn-H‹B8Öã_C)ú½¹,_×ëžØ€1-ªpÍSX†Ãÿæ‡ '|™Á=rŲ­Ù™õêù±1pJœÄ”à¬Krÿµo>‚ˆX¿&kPÒçqmõŽmÓÍaVPzoÉvÒÜâøß íW•œ›i­”³T¯· äNYôö§ÃÍÖÇ!Ò%z•ô:&Caðà#÷+õm¦øÙbžª Ñ®ÔèŠ÷ð–ÏÐfØÂüý¸ +ƒ¶ø™žCi5E}(r¦ÙŸNÄ E|~S°¡fGâZˆžL€Ì‚Æ´@ÁÞ‰”~w¾LˆL-FËë@ôVu'·ƒóy±ŒzŒ¼|©y§,NìÿÅ2³ÉB÷wÛ‘•qq)>BùÕ«~î}nÒNÈø–G;ò.’Ɔƒ§}Æî T¯„šþ½ƒ1—[©Ÿ=Úu¼@ÅX6È=²`Î÷ý¿:S/°Ã5ÜäVÃ9G EÈ.Áž^µdøÎæ£ÙKQÓü(¯çâHQªO2]?O‚¥NC2l"Š ˜ۛRaÉÁëîmAV²ÿÁó΄·|xÎ*³^ˆzÒ7¨Ò?õr‡¡ï>1Â|¥q"œrú¯àwxÛ¦Ž@ˆ‰E݈“dO’ÄE¬©}(8{»¡Ö?µMÖÏyLúÕñ±#Ê$¢¼<‰V³í™Á¢¬D?«Ó+=»O’sëšzt6橾„>Öþ‚§L£ß#ãYxu‹Ê—ÖÑžµ´×Ýn êıL.*q– áÇßÇûßMï§gÉ’@MÞFFgOMBq}Üa8è©!2XnÙnC? NµqÝÀæEjÀò–¹ØD°¾ö¾úTÏ¡Ê>œ©ÛD’@ir=“r;ùÏ»•¼5á Ž.©æk`«þSðŽJ;ŽïËRKT +endstream endobj 556 0 obj<> endobj 557 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 558 0 obj<>stream +eÉÇ7Qƒvÿ?€6Õ{ýq5%ý¤?Ä ~æàæ¸ö¹B‹Ê¼‘ÉM)0à蹨«áÁ +ª!Ö¦®wûªW_½Æ™˜"&ƒµsée¹†ò·7¦&ŒÛ•ò´'ùXÐ3Á@d÷ ¥æ‹°e•ö m£¹h¢vsJío!Oît|yÓp*Þý1ÇØ°±’rü”â׸‘ù±õ‡Iƃ¹0¿û†MYM]ö‰Õ",$ÿ£=žò%JœÎÏÚ±õ2(2ê>öÿ«]°Å è¶Ý7¬/CóN|d¹/*«É׋ä ÓF*MúûÅ{¸"²Ø‹U¸‚ƒOÊÚ^r†tY£®i´¨E¡œ‡GÁiJ›õ¹b4®Ð™óÁ” Ó)n b‚úƒÏOIÚÄâxV +ã5xÒåweª°tAQ|P÷ƒÈyx¬0?ÕhŒÃonŽ¸BÖÙv3Ê¡=£¥fQò0/üeľýìå5%õ•'ƒ÷Eò_‰]ؽ'D†Ò Á/”à‹oßD¬t1€B¨»ŸÖë!:.H/WêÝÿ¼ÄDJˆ ıµ­yQ‚àÇ÷˜j»¹&íù—#ŸVšqP̪¡„4&E耖be=õ>Í ?q0À¹{×›Ó©ñcƒ8³D-J¾4äÃbO:`4"›å˜A¼P…Wž»É;®Ñýqù¯^KVÅ=×P<´tª|jß¾ææàµa!flôŒW­M_Œ-OGÃ5ëX–!ZvÜáŸÈ˜¥UÏòn̆ÛÙÕÊ¿°Ä߾ª/YJÆÒ£?ÇÏüòmvÅŽ°g*æƒiüD—ûÉæ^ò+ÖÚˆthn 7ïPŠ4ÔÁ`žy?t`Y>¢Q‚m®9Ù(C'³u×#^´´¬PLÎ T†¦¨~°—x¬<‚íNj±Zx¶”Q·º ñ”ìôÿ¸‚©c*¬BTÈûdle ¢>UÀÐÄ$„¢‡2¡rfþ‡7uQXa‹§ˆ+j>'¡³Éedzå"ê¡ë)é^L¦mEÎÁ@©î#IÇ‹ }d‡l™5òÍ›:î35ÿ¾¢×ßÇ=íªŽR VÙs~SòàþÒ=*ì +ô2%€<Ù±(ñ¼:üÊ8@EAŸºM]ÜÆ Ë8C)‡öÞ=“§éô†™ZâzžІ +sXYJ£×ú×T3™Nᇠ@%8YÑžlCr߃È)9”µ+û·€²i»Y2‰\ß: ûÅ6¡¡oGB+í–×Yµ3ÀAlò×ÐrH͹péµ>æàgïùÚÀ˜3ùÏb|ìøÕ ï…¾1{"—PÙ›¹gV*3:Vl}ã½)Hå¿–]…f˜C·?߀÷ep*Ÿ¢PNüÍ«“€„íóâ’D„r<Ññ4ÈÕÁ`€ŒãçNÇ:uéån6Œ2èñÊ`uI ø3Ÿæâb¶f¼¬ŸP”­TM‘[ºT;7K]¿}’@ ¢-A˜ñòÿ¼=ºéÞrÄþnv̦Rƒ˜‡³Ä\ÑN#…ù\§Ó±qò¼,ž¹L¿jîôî.\Ñ+z-ÕÊ‘ÿþŒ*p–ù6Ï× à=e¶DfxÅÉÈ‚² ÿžTÍBk‹p¡¶“|öÊ —_ÂP“P(ÃW,8ó(áYîßæ³r÷ÅANïÙQ·+öÜfçûÃÄmi·F.mo!“f~«æ¦i0ºBµ3'׃Œµ;Àî¿&+Sæ—ÊäÑY^©!•Ýß‘­)gb³!?p².¥ClM—±Ž YÖ=æ8¯9¥5áëõ’Ò;Vž5ÎL(õ1âˆ{ZS^Ós/gŽØªÜí8í‡ë9’½õÎ:6{'f‘ü OòÑ™VA “¯)<\4v3X°e´ÉËÑø å«qÝ6Á˜BÕ…‹'¸õÄŒxXÖ&ý4f;ã•B_R¨Qñ¯mcS±v}AͳQ£%æŦ +öAÛÒ ÙŠër옺BnM?ªôíß¿C“”¹¼á‹ÅS6CH£TäoT?Ì9’d¡'‹qˬ2dõL—œ‹‘>VNÌ©çÛò&XC˨·»žÖÂÆzc]DœKøÊÞüF±‰&^²¹_sOö|Åi?õH¯|Ò"P ɈNÒËü mÕÅê‘OÕ†N1ÉJ°ÿ9Jû– ÆrÁ ÛBò<±f ™ÕžPêvòñ¥È….Õh“Zĵ5€§ÝgXÉ¿™kA¥òI…ìe™€ËäH#ûcvõŒ§ƒ,!âiFÈÛ@X)!NÂËÇæ‡n‘G!FÈ5ö—µÉΖtKÕRØ*Ëø£“ÅeÁü{Ž]z$Èû¹‚ips% mpLËS xR*AÁꆓÍÉí4™ãêâ±øÿk‰¼Ì„œRbfœ±&ц¹Õ%±Ù¥÷ï +ï`›(ÒÆBì"'åÚúÜ£ŽÅ§–ïyÚüvr瀈î*Õ)N`¤‹ëâOÓI™ bi§mï•­øë¾Åç†c?ô£4(^h c'¹ÂOÊ•ÊDϵ€džÞJñRÇt­ÔSú%:aúØ?u÷’§?ó2Ø~>T´µ¯™÷R¸g!x(ÚG4I}ôLCåZÛ cÅ»£`ï‚›½D¦";G}þ•xQ@ëOu—(Jrß×'3›“ ô“ÌÓÙÍz?éÅF—*ú:úZæÖ«O¶‡Š0ćmnÐ]æÊ3Gå1wš6â¡=·j¡y:Ú|u©Â[m”s +¼ójéHÙ@e¯®—PŸ»5.Î9p«é•÷rÖ!4œpïl%®Â>(~`Ú]'D-2º¯ãÁ±€ÖBZº£Ù_˜¼x/®]âN½?z^ÀÝH,«òDªSúG`Ê/Å`ñÀ³0£Ù­¯ñÉØ ›Ï&ÿd4¿ð +€<2ÌÊÞí<¹ˆVtû‚Ý;ßÙUÔÙPÅIJuŒýu­¬ä”IÚÐÓ,8ðù[X ÜqéÖ!ÚÊí¤ñt%™" Ÿm6ºLú (ïà_È©­ Q‹:É@!Oxçðó°üO—@y7µ?ßÙ ±Ïe7¤3ƒ Wœ#ˆ=Yo8¤@l4æ]‘z Kš46‹[Æ£ 熜^ 9²Cb–d-»oºð±ÚŠ| "j†Åð;"¡f#ñî:U^:dlý +’°ZŸ^ƒ‚¨7ÁÒ*¤7ôôðG²dºPrxµz9Y¾È*Î\î +ðEå^ŸƒÆ›ôY¿Ùz¶O@GÚ ÆÛÖ «L¿] ¥™¥u†Zˆ’$ ð뽩ò/È CÙÏ6§—#uü¹"uùÚºT͹Ŝ*ÿ¼ ¯æì záÍò‚^KúBÌõÄk•ÿàEBƒÈ~fÊQj'¬¬Ç“}à*yº:¼ÄÊ-ɬ­QÊ "Ëòr‡J¿/í‚ifùð!bz›Ý„™eeGð°.3 …¨|µ^Vò“ìWñÛ ßø¢ª›Ž•³·EŒý<ìÌ·-ÈkY <·ìé‚™OËܬ˜³ÄÒ≯8êƒhQAù’þ¡¯Ë/&bT×Ôc.2ì0$ÅÒ˜¤‘õbçÙ—#ÏàðÉJ rnöl¦³†°·Møüáo±-¤&ÒŠ±BнŠ±L¶5ì…ú<…P´ñaDt¯~‰VK ™ze-…ÚJ*ÍôQ?Y¶ÅÞ+nÐ÷…&${”q‚ô„+‚››ÍîT%†@À„ìaÕ*hÆTóxc’Wòì|úh‰)‘9Ä B~ô^ÛîH ¸L`ヤ(L5¶㺢BŽ~pø8ëµ6P…t¡žæ&BÆ+Y~TùMbyú™Qú¬x™ï4QÔ:±f Ÿqe1ðTCÀe«7þž =ß–%eÚ_¬Í¸´PÛùiiíø®¼ž,ÉNÌÕ€=Muý43˱\X,O<5Óì÷œë{ú&÷ÓhAÔ4 *p_rkŠ§zUŽùÐM¸DÝ%kTqÊCÄ6ËØ£'rº{˵ ãf†<í¬ ™m—Á”kÉ!èôYÜ<üÎ.ú Á©0Y#Õ o8(ã5^ÓÁ=¿ØðãU;ú ¹r´Í‡£ ï`Ö8ñ«Ç)Ó+å!»dcXÙü<âGü ÏšщŒáûÓ 4Ð~F!¸ïY›ÏB‡É}¯C%\6ŠñÙcÓ—¶É@7Ø©íº ´S[d· »£˜F´‚<ò÷;:Ü%ô›Ã› ¦[ÓnDåò[ŦÅ&œve HéË}-¶ W9aY5âŠ,y™IÊïºîž—ª¾ê']XÏbÆx ‘­qÔÒÑZÞ–E§ÛRµmÛµwÍo"i'ª‘g'Á“Ç8v•j£É23¬ÒƒQ-+2R%Y{jr Á¤Á3ðâ¨{bØ÷“Y:> endobj 560 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 561 0 obj<>stream +åxrÎ#Á.ióêóðÿÒâüí­/F£0çÉ¥ŒÆ÷8ú­Zbм16 +ÅVñÅf•ÉdÓÓ©È ¨Šß¦½"¥Ôøì‚¿DïŽö ‹”ïhÞ;,âGSœ²ð&ªÒ׆À^J±(“êy=·à{q×âÈšIÈ +'ë½Çî”ã›`ay“G‹S¾²êJ…DÑìðe÷Þ®ÚrOMMVÍ6< æ8 ×\×FZe±{Q´3ŒÆ<Ö.f‘¡2ÇÎЛ‚  íA_­ÿÀ=»… @¬'ˆsßÍ” X'eƒ* ¬z±‹>•7®!¤þTÓ«­8÷}ãLJTF"íM’`rÓ_ËÀ(”HPVDçKö)÷¾Ýº&ŒºôÁ-ìÞ[è]‰•›'vÚ*D½}›5\Ç•Bÿ{Ð/©Ò*´=š.!9ö7ôh»šv˜oíPœ½— +¤¥ßGK×cÀ¨l,Y NF! èèÕ^¿V³t¡hΫ3¡ÔåÞ`nŽH{Ù?Òge5IÚŸ_pÙ'ÖÈ-ˆ_ÍDYÒÒt Åš0‰õÑf’õ¢Çù/7˜Ø¶?JB)ãÐøzÿR¿säj½ÀxêeióQ7² ù»~àÞáî-ÛãšZ©ÿg9 >œá²yjÙ §Ø"gòÕC»áèUõ¸¦p!äj]OL€î¤Ë¥ ±È°8ÆÎ oïh‘éMã:ß„H4~Ô9‹_â™_Ã]›W}GŠ‰ Ag›»"°¡â{ŠÔ2ï+7æÅÝúË<†ÎÀ J“4©š uó]ž¼8[s—ów>hñ+±¹´\Ê$­×‚)%·Z¼§óµÂ>jî‹‘ãeý´¸èX®ýA^(i­1̾)Ï%po™&¨ŸÃÁ&^óÂ)dôfÁ9ÅÕ¼IÆJÒ•Û´úîÆÎ|ÜšUô0Æ®½ÿ`É!d?%Ϊô~¾ˆ9Ÿæò.Ùº–èœl?õÁZú ®—KwæLõì’œrß½¤d4èÉ1Z;çæÑ…dOC(ƒÆ^7YxÄgZ@cZ5ˆq½™qX*ty+YŽ"‚”§$ydá2rÞ¹Áä·Ô*—÷–{ÏhÐù2ƒ„ß<ü…å4½°˜œLœ¢iJ±coUd†ÃäGÃÂÿ÷âuöžð_þÄ=”ñ¨1U±Fñ‡™bßTu ¤ºœA7é«‹ÂX¼ŠU»ýÜÛ¾banT¾|XDÛ¸ÊIäJ‡ùU9FØVÎ=†œåKLò’n²—¥T¢¼|°ÆEà7àh±Øû]¡ð¦ï==xq~{6 gL +=þ¿æ@ûÈ«Æuç7ÊGWd¶ª¨Ó2tðmÈXK‚Ê5j’uÍ·N°oßhŠ5wÙÚØIpNŽúh´|Eê”ò7 ®Ùƒm©%YŸím”:®a›g·iÈZÀ›keB}©<ò;ÌY•ý ämkkü ‹å‡¡Ùãã•,›Û„ºMsïS.b1TѤÄo±ÞmwRò|‰<Óˆ¹aHl«Au2 +K"u1kéñàÕ²=‹ ÝqÕ»M݃…|æ ‘Úö™0³ ¬ ÍãNeÈÒ“Åóz—I+p„E +†îùYmSÜâºhÜ1ù¦ïÑ–WÖ겿,ÊÑ"(½®¢÷B8Áò|Üwæ +TÕ¬DŽá]íl6ȇê&]C£ÎížHFÑô&ùm„‹âîžÄûšP%M³ÀìHûh—ßxÆLÌÇ°D"|èÝz¢1P åM}Äåu™-Á£­-Îè¨?áäàÈS×Ïlá„D²Hþ9ÒQ¡,zDêÊewT¢+Ø ¡ÃTÎH63^ ÎKÕ¤ûÝ8ï«—±U_<á$OÈ#᥮ÑûF8ÒÝzAÃ{œ;£$Ø\¯íØÊ ï¤”s +B!Ìàîópdêë|àÉÍ(â<‡g)讇Sì\ë<Øئ¿ÌÃeÏ%\xƒT<3Œ•,)ªj¹ ±ÌvüÂû¢{‹A+öÿÙ"Ëvå_Ô³‘>x*LâT|sðº37  ƒ:Zͪ7ï`Ö =ŽäŠí‹ÎèU¤ÏpüJ`2Pš üåo}3~Ç3ÿ}rï,Æ—–BÆo¹Øw[C} …jŽd[GBÏu•Eþ=”Dm"D—™Œ%ܦ8)T4ýÙé »|Ê„iÒW“ß äù/\CRv¹°bŠ`ùꇀ˜õ?Ë/ÒèMFœÚ·´H#öýmy%›CN'¾/Õˆ±6UJi­Ä«ü”söŽ.ýF0î1¸¹NS¿R™–!ÌÚ¡l"± UØ<Ÿ(9V DçÒ”h4Ùßa¥LècDi|^8Òf6VŒÜ:ÈG¥ÐJ‰ÛCœÞA˘ç5¼Œ|ùjݼVšëÉ|¿0ÅeQVìêð)tÆâ;/ÏСÆåF1 <—hòÆž {¨Œg ý1ÆÊ9UÍï&Eû´x ®¢D¹'™8ΣV’0§¯ùòƒCDöu¼Há2˜ˆÙ9k™ÞJÀ °æšZÁå„@'BêAõ}—½±m@!…$ôk[ù‹ÅX¥—08(Œnó[—Ù^êÁßæÇÆšA܉¨“ß<ßÕî4ÙŒîÇÍ8²´ß"Î0CQć|*ðäÅ5`yܽyî Ž´j›Ï‹Ç_/Ⲫæ*ã’Ñ­ 98§CÙô4GzðÛû½a&3–68)î +‚™<¿CèÞ÷L{T«”“d¨xó:ç`êgbƆ=>J/R*P— ˆÎÊô3Ç +qñ…Òl¾cïÞûM=~XsJ-¶ ÞftT“½'§ä2×O™¯‘ÒŠjÅÊ•Þ=Ï‚~—’É«"”IÝPÝÓ˜å¢ä™…dÎ/)â+Ū‡I‰À€;Ìë[ÞégÚØvÅä¦/¤Fè;ðÝÝÁ!8Ì¢!š†¼§QÕ4#äpQ×"\¯™ŸøƒùR#`=”˺±¢«Í— ¼žšùÑÓt›nƒv6KCãÃáñ€1ÑÖ bš–ÕK;ÙÊõG³Á?h߃?Šžõ­À¦$ÕÚãºòüöäþ^I‹Ž :%a™Ë¼wö\^¹LKz¼J»F~4æà¤Ã +l»xøФ+]Á3g ÐXÇòr”K¼Rî»6hn£y±ÓˆÆêðŒ¿4"³m_”²ŸQê ¨Y’Í·v_d5åy •etæyúŒÆoµº©3aT¡}ꊈ™EF¢«­}?êàYÌ|MsúQȽ.Gá£Ô‰‡+˜|eŠÉ>YĉBeP%|/z¶@ÓÙ»1N—ÕïVNB—¸ñ¨•¡¤˜2;l…^ªå™ÓÐp˜: +J®ÙbÍϺƒÍøãØŸ¼ú²Ÿ‚‹(\Â]àJðµ×ÅYò$&þá¾Â#Qr¶ÞTkïFutÍÄܳºÊÏèh`S:0àg™Þ»ñvõãÒ i`©Úçv 1r ÌSÉÒ2§3Έmð̱¶§(U¯g¥5àŤÅ^¤‹¢¤Éo³aoÌWEö0¢°ýœ¤áÓ?é©ReÕ¾u@W±,µ.ꨈk-Ä8µWÞl? g‘‚ƒ.šº˜Œ°Z1hJ»qÐGý=ã×òáÝ¡ÎÁM»PÒCß`8Î<òkÕÎ¥§d|„?‰f´W;¿ +ˆýèèAD,š}¢e š<‘fš¡sMŠæ¤Uì¢Î¥o ï§Ì$3°£šÈ»‹ÚùÖ =*s«„g+ŠjÑ™ ¶7¨Ÿã{–Ál¨5µ\«0C0=©Ò +Õq +$ÚIûˆHÎ&¬O6xÅ‚§Ç&¼÷Ár/ºK1óU“CŽHÎJ¯½„Hº×^ëÿåŸ1 eg÷›¢=àÔÚ|2ØŸ—¯ \w»¬¸£¡,o…WÀzÙ‚­:äX}_’‚Ûåe¬\L +t(x‡Ï”à­f¤Ã6 ùƒD<Œžé¨*þÔÚ£û1˜îLD©ìeQ~n<]‚ Y„Þn\ÖmŠà䉤óT[‡r£‚•áv»@˜zÐS¢ƒ§L=±}yÒsxh]íšÀ«IgEýŒS˜ßÒN-d8íñ˜Îö&Nw!´tªˆ2çñˆÿª»$˜Ô¡ÓR¢­¨Ó$WgÛÌo#ä`“væ7OÚn–:ËDaˆ´6N³Fýý=´ïxñm{(,IëäɵGêÐN·'hxÖùZD óh1‰ñæ­û E^wq’VKa&yB a0ñL/'YcàÂ98t—SŽYÆ?­*Ä•‡›¨ÂVÿ™š®SBÕõÇÍÜb›iµúu*Ù +&/àøÝÖº!Oµû©åÖáRëaD櫶;ÓçFÒÐ…F€ŠÖ=ɉ,GÍ‘öO™ƒ“V³¿X†ÑÅ¢D£]=qgy:Û3úÁ_H•cÁ¢_€åOYÓù¨¯¿½Ö½™¾F6/ª2xpþÞÛ´DÉì\£Àu† mìØ8ùV]êºhhx‚¯Î¬µ™+ñË1ø³bÁüIá9}Z0Ò§JªBCSŠsúQèhÍ,í(]`Ÿã¸÷ šÝdûD:_9Ü|©po+ý·ˆAk$›4^ú¶9aéD@[’´7%¡QLï‚éù½E§î)ETØRÈAn›Ï=¤?\†Rf\~˜äžç:#üß›ÄI¤h£Rl¡ó›K¿wê}¶8øÚ–3k‘dm‡ý…m,ñûH+vzy7¸ìˆ5ǽŠ(½87 ªé³>p •¸dë ²‚\Æâ‰çµàÖ“Ï`Øœ-ìš0TØÈütµCS“aœÎàr!Là±nU¤$#º%Ÿƒ}TIû”Aô +"-w:™Dÿ|4Ä173ç1_\&Ã¥1¯æ¤?êÑÃœzÒVsÞ怩íºÎÜ鯣×qÍ0ÇSÃ2U«44C£ÍhB£d1K„©oÌ"H×Ç& +Ýrû€|ùEwXöô°Ž{p™ß¸¤\ÂòI©WŒc7ÝEðÄÄ앇?²±]Ôå âw¨Ë¨.ü€;¬r?é-£”Û+ìkpõV'¬•t äŠÄá’E •PQÂç¢mÕá£R^#C0û©êZ"—Æì„@ËáFV²ÔT3ÒŸ­RÿÌÄfp Á~€"+™y¸ýê9þm#–?DoÙ»[÷2 py(S«Zí¤^y,Að´;^ýs×Ø×^" L›ÝæP‹}.ŸÊ(!€,¸žÈó+ D4ý]Š§Êoêô³ìNŸžE)ÝB¨Hçò-HÎñ®¢ñByÀ¥O/ÛZŽK¦i½4p DWËÁ•ŒC[‘ѱ߫™&uo¿ë€"¹×,¶;5žÅØ9Ò!ÞèRÛ‘Þ8Ðe¢‡‰‹ðÆ—á +âïg¢!*’Þ5?Ôø{2´à5Žæ³Óz#j2eó 3Îþ cÓÓ%8Î8ó6ÂP׿‡ü–v9`,›ÌµøÇ>Ö’Ü"KÇ‹]¥Å»ž;ŠÝ]£Ûé”[ºå•ÛG•dék°ªÇÞÊTϬmP&prÝ ¢w „wŒeËMf8bI3jTx_Á¹kˆç1 Yÿñ^{tÞuò$ËfiÝÚ#Ì=—á€0, ¸£ž>üËÒ˜bÞ°¾«B æ%ûÂÇ·†}¸#«‚> endobj 563 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 564 0 obj<>stream +~IÖÁ3)¨ÉDÖX2Ì\´ø¶ñÌh2‰·öÂrM§'ú-f6òÇýÈIêç™Æ}jxÞH‘­å ‹á‡Ò*sb5; +De ºØ©5c%8»(…þ“Œ‰Ý‡ÕZŽQÉ9„ú“…Puã¨<´*ÇØýTeT4;n¡Ý¡û}x$éÜÒ8ý8#­¸\Ë„Kæ%L}å™ý vÑF† ýe½sM%¿ôßÊ°Ë»0æã¡,ÕÄ…Fùú­6‹€¢¶ÙÖ蘪L§ý°¬lx?”9ïÒi)̤[/a(p³ŒÎ}¿KB_ÍK¯j‚¾õTïã¹BVàðEkõüåŽø˜ +ÅsÕÕ®á>4x?2»±¾ì8$%ëã,䮵ý50«Ã›Áp©u©£®ý"GÁnÕPó3Iy­RHµÿLV‚©Ä¼ù<ˆ.O¯kúÊaT‰!-¯…dàêý_œ!üå9Ñ2¼Š¤ÁKÌÎÅØåÒ`\Å‚j©ö`žÌqÆÚ”ÙÜ9¯JãÍ}9¤ -º`IHÁ->„q0V±Dxr¥hÎ…Wlð«/‡CšÛï–0‘òuúÑÆïÿ‰éD{³Prç0Dm _gÖÓs´E&µÁQþDbª<=¥ð—Ò9N¯Ÿç8 H7NyêÒ•˜ÖjÌ6¸vqpAqpeϱ˜ý¼³<’Š:] ÃâqLêNÖ%âã Ø¿A^õƇôhßeˆó«f#<²1øíLÎHY¬Ü"§(ß%–e®ôƒ8GìY" ™v‡8Û?f)½÷˜w®(õ.ín¶~†›T§B6íª9¤“ÄHAÀbûApÙ]õ,QÝîíŽó‹Ôf/»Ò3þ›îõ¶”‡ú¸làl¢Öã!ÈñH«ï¿µ¾V[Bü«Wù6²™TO±T +ök«Ãê¤ìúåiDÂÚF ËÏ{gÓq—6s €¸#0‹HÖ‰Õ¶aLÇ„z ûCPÃä²b¤ÙXëÎâeëÌ”æ$òÒÆD?)æy hR3÷ʸÍdvПçWØ!œ#6‚šðÈú‹~w¹Êð@7ëp ÇñâSèôa{0keäT|O·ƒ†èFïÏ î¾CÏ/8T“>ƒØYñœÃ]Ly¨Hl¿¥‚ËɹΌۀ´³=ú’…ß CME’ô–4ÁC§7¿_ðâ©kÑNÇ«†xïv¶é ƒk/Žð±[ h¹Ó±—8r[ñ8ƒö~ÆI>) /$ÕóBsf0fb=È>÷•—qzeûWâiœîY|œ +@/Oî‘"| Ô›s!Îv`4ԈĨrB0‡\ÏPй*¾Z—¶6úÇÑCž‡ôÏîªnÜÝ B4øˆÇ–Üg¤™ò¯}Äù»LLáÕ¬4÷è:UB?$ß¯å —øG <ÛÚñe½ó:´(ÏS\à…Pd¤"ë$¯Múö +ÆÞšOƒ²9zÒµ'ÐOa5ƒÂá|Ëx¨ 23MšL©å2yL׶ ‰P‹Qz¸çf¡pÉ[•¹1¡õ×å&\u,o•Ùó)|0þ +‹/ܹ,©†ÈóÜ +”WéJZç¥\~Ï]vÐ/…[K€cÆšcŽ g¹R$tK•D” sᨥÅlü2Ãàjÿ‚Èz÷ïÌ€YŽu<žàh ‡NoÒ ¯Âãx“3Ï‘ë0Oá%4&`™GáÌ'O”ê¿Êy·ªr‹FqTVG¾ç”åoA¦Ô w™'¦ +yE|Õ#+wb‰†²­ç_jibi×ÆòûÛ;Èà·cQU€Y¦ïŠ¦©Ýî&· –”º÷CþD7‡:`;ãàÙ–}¸²ë°Ÿg7n´‘ciT½»‰ZÊÌýeïqÛ`ío‚U ²?kYç$šrîxBƒ’Ä5/Y„@Dþ¶Má‘$IÖMøy\ ª’Ñ%FMüèÀK•Çí1,Ì#8¶Z°6ÉÍK~yE@§ ƒ+옫÷ôDÒ·"ü ² §WÿÑpȲf8¾}ùÇñ±M{ 5špøwîv§Š<¦,+{Šv\90Vœ;îçñã”䌨ÃÊà¾$¬aU1¬¯åék +¥¨Xakày V¢lƒ8mïædÐÒ†ôÖo申ˆîå˜&¥vɃÄ~úJßÕ§õÙfž&éÐîs“÷˜¥côJä*€¤ÑW«¤Àï©;ºDn9Â)Ž"i‚™YuËŒi9Ván©¥hh )†F›xH”¸=½ÉF«ˆåaã–öË‚L~tªƒp%ãÛ¼~ oÄ.Ñfs‚õÞÄ&õÓv÷´Èb@¶Dx`eÞáôö±‡…áp\^dÙ¼âýu¼’¸½k[Ù‘çikŠ#< È>˜<¼Ò¼X2´7‹ T—ždÁ¸¤€G ð´(NÍÝxΨ[–5b8…ÐήHN1É7ƒå-”Ö€Ä6„1Š¢·8OA‡KI&VHD]–ÔM¸{ËÂ]`P +ïŠÆ|Dd{c¿%ûùÎÑyä` +7Eô§…Ç„€ÑéP{J)eÊ})`Ùm¯šÂ)>ëM¹ã@¸ªÚ¸Ø?›ûI‘ÿkËÙ›d9æ(tøÜH ¯0ƒJçøS§ÁÑbü›'j%h. þ+#æÉÒàÛµöQcÛ$¾øðz‹ßÄÇQå:ºÑEçîbݽZг.jœÜŸÒ+Ì %¸ÐjM/L=o+ ÕÒ)×\Âì终–GW4œ †bn®äÉ`ÙtŸQ©'ñ½%©…Ñþ ûuU¨ðª~ÓòG°Š žý•Ü„„+Ÿf* +9Vš»¼É+‰{2e®8&çF>2lõ…¸ô€o‰×!œžoî„€Úþo0N¿n¡ùÔå‹|Û¢žvÖ#ýÏ£bõ) +ZþvWA<ˆØax:ò\ÛOI z«³Êô­*ÃÑ2šÙXuQ-!ü“Sv„<ÀxΙÌoõʾø3k§¸ãz`seÏã„v¹Ç>õKeÂò[û½i°ZàÓtýö¾HýŸ1 KŠ<¶®i¾x× yHÄYÛ¢‚¸†|&ï@’\IÙ%¨d´¹ï“ÉŸ·£7CÔåGíKdóA4<2?ákgÛQ5tN=ò­·#-÷p‚÷bPß·æ è˼¯MéæNíë“Žëˆ ÚŽA$ Wgê:aÆÅžÞ¯6"°›Ô¥8¢M•É“î·WŸGy6…/1—úJIŸ'+Lˆ1è,BÀ짯J +ûp‹ëv9oÄ5:Ø€¥"É!¿PÿSÑas f*¢Pž…N1¬ÙjöˆÅIs4>Ë¡ûO~á ñaÇÉvĹY¨D[ÈxtÂSv»ÒM"¯èêî ì Ž€üg±ÓQcì°ŽãŒbþAyîsñ6ÔÉ1=R13ù.È~Óî Á¼ôà5ŸÎ“Pº[U¹<“Þ§xqWæã[Ca2"j\ö¹byp¿2TÕ›ÖyÏïY—0ë^YgâŽÔ˜\QÙ¿  ï®øÔÃqçÀÿóìbWê~ +ðÙþ;àÝ?×A1qg’ƒ`£¼Év”Dà'ÆÓO²‡ù ”9$²=óE™¼…²´®üñ +ÍJ‹§/nÎ!Õ­¤*ø±ã¬á¾WŸ-Í2QZ³6 ÛÖâž½”÷ÉðÓ¨¬<”õâÏAƒobç ó¡t![LQxSêQH»f8's;©B„¯,Êÿ„WP)¢H¼ö½N¿†8Œö´i‚ÙvŒ±é÷YOåùâÊ/l›C:ÿ§lH›xÅwèa›QG˜7£§áIŸØŸ¶4N¯ü™U‹&È.6YøôÉŦÕ«€ÖoÿsÌí|Éè+ 5–8žÉ#§nÓ¸ñ`… „eœi癚pï¿[+B¥NßHrQxÖ¯;¨mî£|âǹЃîূv3OÚpÊÅ@|ìßûäR0’f¥G`š‹ÉNE³c^/Üù¼û³~5(3$̼©8‚Ø£«]&b4›ø©on›dm>t:k2sÁ–uŠ"G”wzJßœÂÒŃÊ® ’n‡¶œJâ³ö¤´Kð +}؈¤zdŠIÃfí¾ª‰cè¼´G¯_]ˆÇ&€ªNðÍ3@ª*Y´v®&—yE‚—­xˆ•êæ m¸ eñªs£å4ØDèÀáb5}aÕ‹A—ªBöt æ£éZ¸×,Æðô³¤9û×Êí÷T@ ±‰|qpg’Ö%‹[5éÍ'õs›°ÞÑÿ+'vFas2€5üÖà Óò_Òíâ~U ÉRn©BCG@µÍài¹Î0¾EŽ[ úŸË] ÖG´ç07‚f¨3VÌô:ìr“ÅƯÉJÝOåhþ 7fK™ùµkpåÍ©à‰W÷eK»5I–ÒxJá’_ð³n§ä¹Å~*%›Ø¨»1 €ds]¸Aœ#˜,0ûg'åP8­,}ßÖÔ~ç=PR¶?!Zî?RlÔ À<:œû’–cnOœñ’ce_ žĬÊþ¼Óï 8õÞT¹ ¬åc(ÉòÝø¶œéÝ‘«bR9… ‰£LÝ”4¦ù}5L eÒ”ÞC#ž0ƒþíÇ‚¸?5¶®©ú³Ú1T_õâ¥K= z/ï–„á}‚NÖ©漿ÜÖÅÓð\|é Ûüaþ¬"ý©6¤Â+qºÐ,ÿ¬ *}Ò¯ò¡V"Él•ê#f–à—õó>†MË4Š\f(íÚ!€Ïª+DÛ?ˆâ[ÎUƒ +•b?8ú«(ô'ö5Žf’S–+Nl"ÎTÜå"u÷ª¯_¦—q¢^y"ÊOt £ª"bËBY]¤®Æùßp­ùœˆÄ¡ƒ™ŠcŸα vú¿@Ïɤ b­ùðLHSåtm.¤ö8x™Ç‘;6ã5;¬ °bçðdÍœ9E‚ ÿmB hÒ|ÍØÃ×™|{¢Š÷X°¿ŽÅ˜WäÏ÷ƘkãÞŒB€aüËe ayh@×@mÚ>·½Ôã¿yÞ¾$‰qËÉúò‰<1Ëq&Rj¿QÑ= MC73zo²¬Ó[,p´Œ^á+( µsÁ±éëÖ=ó­–7ˆ¡³¢Ï ù¶9ÛEþÏõH*ç!5]{¶áX$¡Vðç ÔÒ¢‚!%àF"jó4D£—ù—ºŽŠeÓ{H]êɤ„æ¦Ç?®d§'ùˆZÕE¾o ‚–ÍĉK*Õø…}³Ïóø1í`¬Æ¢òùˆšÝH þ.Ÿï¤ù™§®žöTŒ,†T¦&Döt.2Õk9âˆa-mÉú·@cCeJŽNŽ›"ƒðÙÞ¨„*oj^EH®HäÜQŽÉ€g´N'Z–­i…Õ9…OoЯ8:ªLÌÇo ìo–{EšQ—.Oœûª‡ÐY×:Ý ’L¸ÁxÐò÷}»œÉO”$(Â1àÉH½ç<4‰;IKlßÒJ vßRõo{':Ö.:»V¨ïé â¢*«XzµN‘”.GšËú<·zÕ<› qÁÖšþUcê£aO—m»ýAZÛÕô³gtÝU—p#çÒ©xe$¥._)d5ŒÂŸ4Hµ¸²è†Ù­Ûh%p +ýû·1¿Ä­5X3¢F5«kbœQ«^–—KVA®™‡[BoìíZAN|ŠçY¹Î³ˆÏðny€l’¹$Þ.ËùÞU +o·JÃäÌ-ó˜Â.Tˆ>ô¹Ö‰DdDsô¬ 9pjBõ*"´–FÄQŽu©h£Ï})\ ÷BUƒYèd¨ÿ@MNü6©xI|©£`àAXŠ‹ÇÅS~õè‹ ãäÔ0‘ÒK +”Ý–ÇXÔ !·=BC(kT4õ ¬ÓXq¢Ëy™½ÿEŽ½I§sÐV¹€_f'p ¦ºÖç·±žæ·*e~=šuÇ`ù1Ùõ” ÖªYŸüX͆´\H>ÀT0Yž_Ù„3‡¤æ¸ý]%œ‘]p˜æ墿ß"#¬üG·Ä&TY€ÓÞÁ%c ^ýã›ÊoE×£÷rBè4ìµ÷–Š^ùíë:œ¡Âd£”þi^©H×67«üåb~G ‹SË>$µ–©¹Uß ûØt=¬9Žãu,9–/l裀¼w!«.¯›OÇEs;ñ&Ž=¹GQ-pãrœvÞ$™ìO-Ü{’}²ƒÌÎÓ«!vì¤ïÙ½ñôÞúvñaŒ¥@èò8,«ôÛtÂÏ>¤#,ûŽÕdÊ.ða_i3쯪zu’%°ÛI.@à«üFôS -ú!™ŒXÀ`Ž¨#Ò{Åã¯Ø»ˆP7éHf}Ùé)¸ìEŸõ1ô£¿€_6eŸr­x ®a%“‚Œ-w8Ä)½ÎóãêãyFc ÌXÛñ·ì¸a}¦I%°rTWtÊ‚fÀ)Ù×ò››,]î§^íÑ|ž<­hUÉIp Â5Ñù ³ŸA¬:1½ Å<ïßoCnë./c:Aænã–_·C­ZùlÓi†UêççgÈ®I"¿ëÙ›Ÿdžß +—ð E]E¦££ŽÂoheµ.Ô +i÷4Ã.B†pZ»®Çÿ²Un¦DFü+Ù'bïA!åÄÏ9ê¯L„Cß~wF˜™Šžeɲ8¿Q‹5‘c@uŒó‘BžaJsRA—lðK¾ƒNÖÛŽÜãUýk³h Þ²¼•—¨äÙ_’Ò;ÉŒJ7TNEBd;›Slþá<LŸ’ËZz‰7#W¯un~ÿÆ…«¤ñH¡‘èS…N€»S÷°öÛ=ýEv€2¹ +ñØ´G?HVÊúJ¥\‰]xÕ b_Ñ]+1é 5ç^u súÇÇ­ f)3c¬ !W¤mÒ6œÄ8í÷6ðL©ú•õƒ'»YÜ×p­W `mî%žÜ|ÿ¬HÝfOÆÁúhIpǪ•"$sWÔqjëÿ7*™÷öG¨`ƒ¤É´gs§ÓšóÂùÇù{ÜuäîeR¼ô›> ²ÖnÊ^Aÿ¼.£°4Gˆ዇Z>¾ßb:*;Sç¡3Œ4—Ð%ñ_9&óÄVd³h±/™Ã!çÙÇÑA(Üôõ/!Wye  —@ÿagÿé@ÔÄ óä\ÅíÛ¯{!¥îB7Æ!?ñȺ³R‹‘˜àë›Ø»¤³,¥Üàq}ä¨çI›U˜WöïY9ÇZåSÓT¡ÂöBp}j%ļ©Hž_«äÁÁ&Zò\Ç!èúóÊÄ©´õ’çî# N¯L“&rúc%à!`% ,Òê®îK`úÉ™ Çà—ªÄjq`ðŒvG÷‹¾…­îaŠÇÏ3—ÒeÑÇvjûí¢RTK^6²©ÃiÅ%Z¯ÃÐb…Ù&”ïi`üL‚yÙUÏîJÁe—5i6” bJÃìå<åŠ3¦a­ +K­Jëʲ­8V‹ùî9à™›(†Ii"¯³¹?ýVg°z‹Zõé!–ÿ›[ů$3¥÷H£.Ác=¿ôül>çA8%ÒjëˆÝ[8ïcs«-îØyÍD{Qx„rfÔØ‘ŒÎ½c<íÆÏæ]¨ú¨Ÿ 88‚mô4\ÄŠ<3îÓVþƒÀ˜ûUÄ…-ìx­/»ž<‡_;MLœDœ¦Ó àÁmâÓò–îC…©ˆTëþg½¸ëîç:{),Iq6™\DIãçj“*º.· ÄÄZ±ày° Æuÿ£,ÙéŽÍÿ·ˆJ"UÓ€4‘exÔ’N{”}úsY’t¯MX&%¬þû‰Õ™¤ ZjÍi=:¼ð·ŽSVlÖhkåïÎ åk@!oËQÈ3&¦ç¿Ax=W¤åÀv1ièèMïïð á¹r/['ëT~`¿n€RÅ4–[ÿ€êww#Ña~ ª¼ðhûJ‹b*[™Xe|ÎÒywn‚…à£O˦(/k’º, Ü%]9®93!&1µªÄoÑT|?çy綅ºšÉú†÷ïj=ã·råû¶ˆûÎUû +endstream endobj 565 0 obj<> endobj 566 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 567 0 obj<>stream +…óò óÆ4‹ÖdUï4h‰WŒ¹¯Óz>TÞüýôuÙ*DJÓ ½®=GÈgÇ7ìyΈQ'Á6á-W +­  ò¨ ªZ—Š÷ +凞\—Id¾é9ºµ¸k'IÙjgïú +—‰,üèFi ˆs\û–à¯[?çWŠà,oëh²RßC'æ°´§’€ ÔdLÕ1iV‹{8ÀKÍM6…x°>òA$¤`¹bè f%Fr¬¢¸jƒótÄÛõìÊ—'¢$A‘óéç 6²aû8“jÕ»›¸„7§²/¶Qĵö ‰9[Þí8ܔޥ>w%²Í€ÔljL ÃRÄ—æ„JžÔa6v;ähCôfòAx ´çÀË;Œ´T·Lˆ7=ï…: 3{×Ó)•Á…²šºp@ù§•qÂu´Åºýç‰ý~׋}ŸaçK€Á.þn~bàá ÿ}ÀO?™þBP²á1­Ø—ˆåâqd?=x~ƒÛ×ÿ³¨ÆÈu¹ø-✹ïhBÎèA¹“ jXîw^æ{òH"Ž}”HÅg›õ)%ew32ªY}Îké™ô?Ð ës]¯ÌöJU‚]¸n”ï5= ŠidÇuÙæºÁºWíu1QÂ[û? 6×ím§ ¬q·—¾¸òKÍWpDºH@™ôž XüK1½¨ò!ùHåˆc¥w~¢*u3¤ !hqöãú3ïÙÇECœ1›¬{UmÞÎÚ}oÇ!,øc•lu¡q¼Pž»IìÍD6‰wâ}ï˜ßVjCtØ𘈠é͇EÕ¶üLò"< Ðƒw1}¹5T`:ç²vŠþn =È®TtqôßQ°ÁXÆ^u´¸ÕÎ |<ôÅ:wüN•!°9NcŽëˆ Ÿ`˜›X,¯I—jm"0 (}“ftªÓÔÌðùÖŠ +6›v†ä0«ÙÓÊ¿¿}¦ßVj^ùñ~»bôP”éæ)ËFpAÝùÏ -@›¾ïQ¤ú3#o¡FÆ ŽÔ´WGùo­7:” +vªÌÛ[Hýb¥€ð´§TŒ£Ük + #¶u˜NâKU\øØ*Öò+Û!,oÑs÷W+ÒÉTÅH3þ‡ò6^ÏY<ðÊ•ÍèšëmýáÑx¹Ž&®ˆÞ _8—ެɑ÷ëhÕÈ)*º¢õÏa¼ƒØžwYžªÒ$@ÓËT®»\9ÝG"Òe ƒúõA‹•ˆe›1T¦\f×7„¸ÆW&AÜw3£>‘o4cÀÑô2kr߬·nõôü¨mí¸³w›‡ÁðùmƒTÑ47¥¤µm>émç_8 ð•¿u¡ó±M…¯eJ\¬¢ŠƒF ðö:'WÀdVXv¡\k¥JÞfU¾{XÙ¦¢P‡¦w¯D.®=æ6]]CÉó–Xnk²‚Ìø¯Nñ‰ýn®k D¨ÞM¨,i+š®-Ö¶"MØ€vÑ µá홼rñL Zì&`¢ü5]ü´¥{JN¯ZÝ-¥ZË9¦i-é*×6‹\ 4m«uötñÜÁ”À>¬È”öbx£š ñÑ$ Xé¿PûbxÜc³â¯Ü´ü.}z¡{ZÆq»ÿ™3ê 8†¨wªëtWïp*(·PgƵBê³¢o´‘ ¯ŒðcÍÒQ­Wªœ:’ù…'_Â-ñŸL²µ×©5pó¦ãiô¸Û¨þëbóÐýýS‰Ç¦«÷(fw[x0@VU’·æ'¥4Óa~ù3š»}E*V+ÊÄ_<[ïw-Ù+û…4‹“Í©ÿOá´ñãÛ=›øŸ{d»oëx‰„þ^`‡B^~ÐáG×'ð‘&ÇgI¾h_ž{’ÒÞ<†õ¦ªV *~#`¼•«Ðå™YÈw[åt¹NGÔéH(9tóò›+d ÂÃl–æ_/ö¡¶ŸÙŠÎ¿>Àt)c[Llžuߊ…D u”F‚·º1®v󡿈 ‡›_èÈcŠ/Ŭ­¾S|šË[Ù©N¸¹·?$MÇßfËSï¡45ã>Gˆº–Wõ|†R繞ÃëZ™ ²’¬~Ú«„y(°Ö.-L¥v=Ô/èSƒD -“œÝÉ4$ººg\ÃV6Y,Ë>ì¸0DžøÔ±Ã(GÕNÖ@} ê¶XÓf?ª2éO¯YàÃŒAL‡¶• ˜xœFÔ¨«3_’·(ýo-Q0²öæ-nΞ«sµÃØÆñ§‚àújŒ«ÆRÀ¹‹ˆÚAQäU À +zéߤuúUI(ÌGr lj!UµÔõ³’A¯‡ý®ß*ˆYÏЮ§Ìó…HiáŠÏ=\6Ósan©>‹K=îÚ˜CŒh…G¹3ZôŸÃ_›tŠº±ÒûÁÇiˆ§¬ù.ÌVÁnE~!ç;MW—¡Ÿ)½ù–Þx\@­Ài3oH¦i¤øÚ‹ƒm+/ì4Eì\LØ‘Ž„½üîÇÍ™R½ƒ"…¯ŒG„iýâ\û}TË t”Ýf: ã%†ÆɵC EÕF53ÇÇy¬±ÙºwEUIüëçfBç{Fþ3¦:V>£-Å®V2Œ@‘oûQ±`÷pÌ~$ÞÏGÆÍ@Èw©Ò˜nmˆ´ÇýÚqŠ—CSGÈÒ$W„Gïý®WŸKÍö±^+GN"î^RÝ’Ü +Õb/'… ,!§ƒÀRq|AžÇ3mñ؆*?4k.4ø%ÝG“X…¶:‘µ/«2´WKç÷*›8uàîðÏŽ'Ó`J­Tb¯l>$§Óçƒjµž7gÜàF +N³›R]Ê®ykßgMj{ö?ibîð‚àP(OA×ZÊã;^ dü×|é`Ð4:ûÌçÛ>†3QÙ‘5¥Ãè¨ÎñôŽ{±œ¸ówÌþÛÞjÃÝmCݺc ™˜Í½¾ óÖ‰=Eý%m=¶™<%´Ã8¾—ÓÍ¥ëÉð2?<¿GriU­ýð[…ˆGºìÁ°’»û§zĉoø:„|R½E{ÈÁ „±“ äb4?=÷Æc­òÝ»Ò(`éió¥ye]Ó $ü)÷ƒúÊ“ŠY«žO¹!'BÒÔ#‘(¿(uÁoEŽ{å|¹Ð,/*½d±jçÞ±i”ó}˜jÿX¼ïŠÑ;y9ØÜ7ÂáR‰ƒˆ¹ÛG+ÀY6éŽF‚B–ÿn1¼U^½]åοõ{§*ùžb ˆ¹˜l†€Žh ñE’i¨fyzÌòôî@XSG‹‘–Îȩ̂+ 3˜r¯×ÝRAˆÕÆnp0ìT €Â˜K]E29±KÔºvN((X2…[‹0…±ÚÚ$i`<þ@›DÚs0ê +ÁÞS¾}+V«½©è ßýƒ#ƒï'R;/2Ju%~)C_׎òù/¨aš€´øöº e8O-@ÄáWÁ>uk¡'Ý@ëï–±;o H· Í½{Ú2§“·áÄ)ëdF]‡i¨½~bøÚã¡4a]êÒFVá©3LåN͞ȑfNÅ:ÁxõCN÷¾„×¢x‚‡WIÖÓ˜5½šN¢ÿØ—ghCÄ!Y.¼–Òœ—““(ÕZÑ°ÿÏú‹–`7elê‚ jC}?ï”xÝ# q‘ÛêÏé +$÷Õ~€h^ +‡è)Œ—4å³oGÖH°õÎ QÄãèﳚý K5÷zþ¦ŒBCÖ6)Ë~¼Àò,N(çôeF½³‹³Ø˜ä¾iç\¢š{ÙÆ8:Ù|ä‰öÑyË‚jÐÍ‚g¨5R'Æì:šrBm9ÌI£ï_ +é`,ÚÐ?«éæ”gYÒêÉXPÅÐ"T¢£I+}ÐØ YÉËFy¨)ä‚TÖGÉ¥zÈ×_¡§nÛ ~Y|Í®k\Ž—í §ª;^·…<î+À©ˆÓV¼gØ^¯yk­ÂŽŸ¨ØûuÈó«#­ÖŸuò(Ew>„çPª'¶Žýz¸ˆ´‡4#/š#:ÉtoeFÌXô9ÿPj ç_]ÍÚ_Äнå}ï¡+WãS CnÑWë çé¡øfÜ”´¹’×±˜é879 €ûC+}Ãÿ—ú€\ò5ŒÔ´< á=fž¥ü¿žêdd¹ýú{´ —´£eBiÁÔ-9mXL})§ñ/eí[þÇlºPô¨õ5uÈgøy@èg¬ÂA®³ÖîuÊèO jße.Rl9.Ü!<+þ¦Är²ÀåöDå¢ÚácÛôwz´54Æ‹Ÿ®%‘B(Æ‚?P‚ ƒž/µ™¥LR)z`E‚×òºÂ Wÿùj](jš¾¹Ç÷v8 “è¢û•vÁˆ³íLN@À»´F#¤t˜Tò`ÿØø[¨ÆØic –“,¥:êp«4 qòUÄìª`׸ +¹bŒ1)O^$¾·ˆê\’T.öK¢P0àÁ½áÍÇþîwNæ6Ô“×ð¾IYú´Õ=K°±TÏ”åÚQGn¼­ô@b5ý2v÷)Ž+†¹{Q&Q+ÆíÂ/a _z¹ÊÕXñ…fz?µdÃX[q¯TÄTòsù¾Tvð‘áhÁTø¯ Ec»VSy 3ñÃtí^°É=Ìl´Ÿã,»O9YÒ3X@è-ý¾ °„Àu‚µªJVå;æ"°¨Ë€y|Ñ ù‘Í';ö!ifq%&Ú¥óLŸJ8ã/ë¤ß((§‰%Ðq_U³dÌÒ”¤¬{$”ì˜Ó½’iã?ÁÜ08VµOD–È +ÄõîšnrgÂ宆õòF¡]Á7Úu*Ò^wP·.  ÇÂ8µ'T±ó`íпH·âÅ&ß,z±¡ ¿Áø™ßLi'ÚÌûá¹g\¬æò—õTÞïÙ3hBTOíÔrn&iëÊ·ö6–ücv •¹yoõ1?ŽÀ†­ž àºpXˆ•j+î D£ϚݮfÕQ{ð{&'B=ù!è·[æH(Þk}â\ƒ¢ufgÕú0ó°ú®ßòœ²»Aµþ±d<ƒtGª5Lž@FVæCf&.3E׉,½êÐ S~ˆIµÏ¡Q^Îbç‘zéxÕèð5ï ¡À±ÄGõ”K™ö¥oh+ŒtÀ£b©<‰-Ó«mËÜã6mç¯ó +—íp ŠŸþò–97ÕÍKTÃs¢ˆÈ\˜oĸP‰d#ÉÙí½oɼâoë8wî{?¢ +!'O‡?#¹é±  ó×½½'LæÐsâwhr9¿å‚MGˆÛÄgÿOIÇïqHX@¬zkJ¨…EœXkV‚fb6™c¼pÞ¢Óܶ)ç÷[ v¶(ðf-V÷0<™ÇY­žO­šAGªöhtNîEej&ØÆ*SdU‘2.D䄺{¹O‰šqX6sWM¸„´–ÞM.cž½•ÁPeÿbxÜåÂœ×ø%®If ÊÆ`†‘±œÃ:ÕXÓÍüÑ>­¾h®ÍíŒå‘ÖJ…¯9pýJ†ñ"Ü^aÏÄà"ØD\X²©@9™}—ƒï’Ÿé}2ÅcÃñ³úÏ\fBEzFÒ—sê,z­[`_O›êmc+®[eÏ~ ¶åÙûÛ/ÒÉ%i¯˜!¶V &« dFø‚.wÁzÅ]Ù>¨'¨ÍR´~Øet¢‡~Ô’êM0Yz,M“~lk·¶€xÍñÀ°m[ÛÉ*ËjY¸FCl\!D×”—«ù ÿmjÿ=Xü½‡Æ² |Ô0¯°­ªŒ@9 +ÍJ³2¤ ɘÌ7«l÷ª®’ÆyAMü‡ð ²H’ ‡ˆxyÒÔ1¦.º 2—ß~õ7 Y˜ܨ«nY„Âwå +osÌ]ƒúü—3 =§{ÌzêÃ8F/ˆ_Œ6ƒ£Ý›Çôk9=ߌþQ=}É°ú'‘8VN +Ó®]^þ™Õ„ê^F¾nëé àŸ¦¸±$¿ªd»DEÍ3¡þ³¸ô»<[¢ÕvkÜö¬Ûîp'‘ÞÈ&¡xZžøúGìj™T.èÑÇl‹cÉðbÚsipŒ˜¶dUAº“Êdåì3Ü]þÿk@éèZߌÍÆ œ°2è!I*}š‹ñpí-„,]É»âàB ÓÑ +º3Q¼ +endstream endobj 568 0 obj<> endobj 569 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 570 0 obj<>stream +æ$€Û +’ŠõGyú®Œ+çV€ò…'ð9‹PŽZ£{iwøúD +ösž ¢Õ"Jé•è…hŽJ)Ñ%@P”áUoë¶WåCÏ(ÞF{$xt––›T·¡Ð`£HYmÚ¶>Î@I˜¯ÈκЧ[¦ŠæÐÃE8CéV‚²èT0ÇÒ’•d2éÊ[ûIB×ĉÁÄ͆±‡gxR 7Ö/€ˆE4ܧ¨s‘ñ¯|õr$†ˆ-Éà—ÝMݨN<‚–:…"ËÜWšÊ÷|d9Ù_O˜Aë‰Äcä*ºk-tëÞÿÏ<´þìó®ì|]ö4 +›J•î–UÛ6:© xÿ/p·ûh®¸Ì }Œ# ‚À¸­BŠªÿø: )äêPGjE©ÉÅ Ñ…¸Ázmç¿ô·+cÕ"˜½Aö|h«Ö'º»j°š¸O@vÎt–XdÑÔæ¢íÇF¨ýú’»Wþ/¤…½ÒÓ›²>4øáìÛîsLÃYr;;B^ ‘¸ ñ/É©É +j3*K'N\ 舜þ¶gv¾ˆ/l|Š-–FÑÒÅ霷“¡CÏP/ ñÜT¿²Ô{ñýÙe!ãl“IŽ`z©¦Uu•jTÐ…œötæ©“ÜRSóÉ—’!S©¬LA½b’iW1ºeùzµæÜ©­]rà›²£˜j@mÚ¤j×pò[q)i¨ûõ/{™ÓoŽÑ=ï¬Eùêç KæNgmhÏ!ªú™¸6wV‚wbm^÷A!ø$GþvGw¼4ÙcÙÍsð–…ºƒnᩩ∻/jÐÄq;µþ¨=W7Š=MqRðÈOdü¥#YˆÐB!ÏÚðœ(*ZàÆÚq´ecxí«˜¬bÁ‹ %Q;áR鱂O] +W­™{¤µOT;3ÄÒ.“³¸4¿Ê¬³¿ÙvŸ#ÙF%>¦Ñ=lãQ\)¿ï õ ÀC:=J"73îð+¦§²çÁ 4G¶vu'k#+¾Éë:‘lv=ooÝìW™˜6fS€òçÊ°ˆ¾®ð3®ä»Â¡H~e®«•£íol>Ï¥^˜MÛŠ²¹DR\Ì`$|”7 /[¨î’—íŸ1ŠüýpŠÌjK)NVÎ8Yü‚A,Š›TMÇ·s,9’&ýØä>þûzˤ#Q@^ƒ+×ÞÅäç“@ä!§@šÿ +Npùo*Ö°—e·ïýtîqa:ÚÎýȼ•%lÃpNŒ9¿U]'‰5K¾>8}S´Tbó£Æ>‹Ëá†ÃÓŸ«¤"¤éh®¸T‘ü¥ÝÊî¡M· Mû°—ÒJÕÞþõçªlÝ“ïITÒ¾ý»ŒKØOBóÒkSG½,ãºL/¸4ï–”g…Ý”O§ÎtYL°ÈzäL&Œ-¬öAk8„ ü—N¿. +4“^=—dDxômÂáÊâb°‚|aÀjîÌ*«1™&ïFÅ(öæù×à¢7I‚0tˆõŠŽ<’€IrR'·\ð[·–8 +ØÑñÁy¡Qu“\¸r`ÿg|¤v’_`˜&f`Xˆ©ÃÜ Z±®/V–§>ÔëœÁ˜Ï9plrSÍÍüõeë*“xÔë5é.-´FÀ…ýÊñ äÈ–ÖË‹‘/³Ÿ§ +yh³iþ_ÜË‹™?¿•™°¬¾ýšX'’bÕ^½ì'ä)Ùá L¹Ú²N\Ô‰î¡Û¥ P¨éfDàÿ!,ŸujÀx÷[1̾+Z߃ À+žöóèûnü%XÚa7b~>ëÝÙ’ŒCò8°Fz×°Ž%IB>ªEÏÃÏ䙽—rë² ðР½5¾”ßûª&RÈ13Ò LĪù =ΞpïUœZë bPŽÏŸëT°Ž¥G*úûþÉ9y0-IäKÝc‰Ú¾G¡Ÿ +Ä£(khœÛ/hñ¿°#éuVšJ÷졘Ž0Ý·¶ŽPÊk‘ödšÁŠ©û?¼Æ}¶/Ø +ÐgN˜Dìþ –`È]`e +í¡^Vž¾£Jõ(”•—ËÆ1+;s§AÞ]sO +endstream endobj 571 0 obj<> endobj 572 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 573 0 obj<>stream +Ïš#¾Ú|Ú •¼ñ›Š’X®;÷ûEp?¬¶R¸îcƒöÓ® ¶zS«;& Øè–613§õî#{¸¦IÿƒcžÜ«tç 827ÑÂ:‡³D+«ÀdÉ3QqæÄ„¾j€÷Ü$uµOÕú"ñý"o+WoF#º‡(‘ù:Åž„)‹lDX\s%&¯nô§×kXyx¦ÌÆ¿¸sýŒ-Æ­£³FmpLþ`AUÃæ1pˆ‹b¸7÷¿¿Ç¼Lþ%þà¸Ü”B'D²É.Á«ðÝ—ø2û ü#¿ÿ/¤w¡"òŠª[ÄBCb +O.dV¼.z |0’ÙåÔô*F%œÓæ±C ÁÊþ'ì=€ßË1,?×Z"5:ãIò} ÏH´“׺zÐ3#«ýŒwUä#_6ѵÏv›Smšˆ«Q}„Ô’wñTü—¢DÂ9Š®®i¤¤YáI$ܨHÔ;䙇^øK?FnSRýSÍ{’0f¤ØmŸþ2PKÀ€‚D +´„ûðWž]D ²eõ<ôH‚‘¦°’èô€ ®Ú÷oIÕãðÁ ¼eùxéÓt,ͺ…Žåh«agÔ÷,æ|õ(AüXC’óÔ€ä®ø½âßL2†$k¼^gíóŒª|›‚Å)ˆàŠ´$U åBêÏNøÖT÷±‰ÈZž×«Z’Ç3u- KCxÀ`òº‘1h2Ö‘öm’½ÿ‘„íÓ¤˜ |þñÄGOýWBÓ6½WA"å_à ̆7ö1ä3}ŠwŒT?;a•xÛTb&Z·$Æ)ÒË¡¶y^ú‡uÉúà­{ùLßWé\¡‡×È©6¡qˆ ù$Ùh‹®?äá;L`GG®z3«^¤4ì FN³ƒNë,Ÿq¡.-'##3}:÷|ÒÙä/?ØÎ1'{W×?Öê†xgRVˆé7#™˜fy¹Âp8s 2¼.0Q‘Û‰mÝ…ÅÁË Ìs¤›`…GQ›ÇE󃜴'A )z(•. §ÎYFžoæ¤Dd šŠ!È‹ìêm”öBJJVå90)wº›Òl¨ž)ºQˆëÙuïL»J׺²—?A©QÒ,C­¨•Þ½ÏáqÿKðÄ“?È¡¢Y„akC¶KoÚoÁƒݧÃg3Ð9[4€n5*‘ÚmßSÄØRÕ-erxžûm#+ï˜ÚÞ#éµßH¨7æëÚÅw§£cçð㊽[y }ïØNЦՇԈ6qHš…Æg[®¸#Ì9Øvo½½“²0Z¸Åιhe”¢aÖí “…Ãà@\þÙ)Ñ5ÎÍžpkäÆ6EsY›A#¯öØ´½–‚×Ù$…}‘£e"ßr7è¹Rã¡iòV>Ö¦?5wíôÝE!´ùDrÖ7‡åºžØ‚QÙS:Jþÿî•Ó4•ÏïðoÏ@W48ÇtÑ¢ KQ“ŸÚ'°¢ü¿qàÙ”z03ÔbЭ…¶ÂÈv5/Í›[¡4EmÏ“NÒ¯QšÆÁ‘=“¦+î|,8¶×໽褸~4½Œ:Ú#»è’~„/ùN}ßÙ%Ÿöuî@ôS¤â<3~ðVŠ~9÷¼ÃâÛbç·ÛÂø€¹—‹wpÓk×»øÚ¡Lÿ‰ÊÕ©ä ªØwè J“C˜LtaÍ%`¨(!ôÒXñPÈ@¿ +ë/íxÖÊR‚·ƒ¦ýáȦàñ|~ýnß‹üsí}x:²ÒÄ}¶Ú%ì8²Fj¸ëg‚Uv&ÂðU ÛzU’ˆ œÞ²·/å39ªëºU?gW.fn/ñb{êÉڌ˫ƒÕ—æk,,Pz¯œÏXïE0­{Ý.ãwi5oƒ–îÿOVÚ GXÙ +«Dtc\°{¨æì¼Ö*q—é±Ke‡1ƒà§Á-­’é#B§’µ¯Ä ±°º®‰oz?Nx|®½ÊÂ$¡ŠÝC*wij´2l'„NqC¿{kl÷Ÿ¥¡œ¤†Ë~¸Â‘ßµðüîwÒS¬nL 3l¶Ïd`µðL0:…y9Ùì2â¹™Õ¬ªäç~IÞ7Xù×+Œ¸‰À°{=•ùXõ´šóAZk0âI_™uòk[[Bû +ú£Í—Z¦ZLr Ü]pX£þÿSd&Ãäózõ;À +#^åîÛÏȯ¶øa=¾QB1B;Ãö~Ox4k[”ñió‹Ò‹;‘Êi™qÑ:ºX×à‡/ðÞ¨~Tmä3nΗOcØõúâÛ +ÿÄ!¶+I°Ü?,ØŽõÁ~Ÿ«#7÷"l{ ¯Ð‚Õ)´Ã—%”‚Âod…}¯„Ï2‡ÙáóèC¢M€û¬Í?Ô€ÌWÊ0¬c£Ý°¸ºZ¿ ¸¨3 D=a)‡ðæ€H˾Œ4$–¤§îG‹t¢Œºv¼S?‚Úø; K³êGÊ g#£1ì9ë½¥gxÄ0ìÍž¶¹[z.=mAö´ô~«™îš}­t' +x”›{tx§¯Fåÿ ïŠ{š·àk&úÁáŽË±¹…u}E¾ö°l]ÀJ+å„z§C¢æ„HJaMj™€UôÃB?~5õJ5°ŽØ–—²ÃöŒöÒ<ÇÂéšW"ßVèÝÖ)ŠPžªÀaP¸rc ŒV„2óZÜTâbšú:ÁõAL/Fõf/Î0ÓgœÃiP +'ÖÍÅÔ©¢_¨b>ågµûfÑkŸ*Y €_ƒQ¡b¨³À‰Óv;b*ˆñ¨× ¼ø¥ŽiŒ:k^YÏ‘9géÇÛpƒ^~ó‘‘Ä3Ü’FÇ6;)ÍKD²øx 6¡ßbê×"ôÄÀ •ØSrZKh³‘¤Ï#t ]Ü°îe+%>~b-â +0­±<ó*$›1qÁÞ¼½ÂðǶeVø‡QÀ±ŒœÏWSoYö` +´)ÆÔ¨çÏdN¹ZN—­ß…éª(¯M¥?<[™ÌAL¤!7[‘‚¹1û—ÒS‘‹üû{w­˜Q57ß”RËÕüYÔF4ÑŒb¨:™_ f$¾ûL7­ñþŽ¡®ÿå\À¹—\{Y{6÷L›ù7o˜{¼Dž•ãÉ|ö7ß67ºãå"•6Þ&Þ + u&éi¿«Å·½]ŠHÇN ÈÉ")H&ôáS)äÎ/AÈ|t +±!J¯iA'‘&/Ém2lè'ÖžŠ³kFg#òÄ4 +ƒ;Abì>"¦6½5@6²¶Ž<™fó°XEȨ¿J10*]ì&ôÌsP®¤‹¬µ6’Šð± ++ÿNK]gÖ[ž(Bœ¾„¥Ï¤‰çÌ£ªŒLSÜKŽ ß>ÙYÞcæB&7Ë›š=€Ùþ¢ûJàH£-¶éY ú=.eb™LÖý––^Êë3«ê¥°WIß–’¿j{6‚kCÍO¡üO¾næ¢L*Ûi|ÏEg¼ÛMJe«âÉ´À;ÍŸúEÑ„¸fgÞƳý©ØÇŒJc,O6Ìgù§äèØ@ñ°–bJ<'ª•áJ—½BM/N:r }-I0&¥Ù6Š A!IºDYfßØ÷ÕóJVÕ ñv¼_× +·úï÷ybWÓ íÞ8ÄeÄèÑô×cóæû Øà6Ò\ÉVŒÒ,oŒ›ˆ›†•H{Atk¿‰°Yõ÷F$ôe2 Æe¯E%ï×BðÚ$ð!À`Á ”dž¨ÿ\²2ÖYm-ü=(°O†l_*•íÐGÌ¿ØK5{’Ÿ¥;\DªX£·%x#…õA­hž¶” hi~.JtJa¢ß›0nëžRl¶5ßÖUÇ.ñû‚ï³ ?%‹v’¾ 8Ï8{¦IÔ¡ª£Ø—•6 œ’:5\½‚Kµx´Aö¤Ÿ–³Þ"ƒ(TƒBJx›ü£“ÏGF羜‚,Ìûr9ž}.ÏúÍüÓòÈ¥ƒØ€W2æYÓj ݘ6»ÌCwÌÂÒUõI€g—OÙûI–™  " Í%ÁáH´ˆŠ¹Ìà†×ϟµ˜uJGỢ‘ôØÓ +®X'¸ƒd@7~4PÛöÓ½;®…™<.õGˆGù¬ì—–KƒçèxåTÎXÛ3àKbyÜɳ«—oÎÝks'ð’kù¾5ØIÃáÃ.)$3/öÄ‘‘ ÑbÝ9vÏE^?8FY±%X¶›µ`34Û =«yÔ¦:|=… +ÑÜ/îåÃùmû¼ƒœpÜ{Z;ñÙôõÞ²¶Å¿—æ±¼í ·ò‹/DñE™3VgÄ3ûzló²ÑpE!LþŠÃ^²¬§‹sù•ã®Þ›$ˆ*¯Ñ¢É IÖ >´””|–h²œ˜Nö<Å3åü¦Qüqìxû¡|¨$ùþ„_[±lpËÅë;CyçÂæ ©ÐPºÒ¼þ¿<š^ªò3Ùý +endstream endobj 574 0 obj<> endobj 575 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 576 0 obj<>stream +hc …Å +°Ÿ‡Þj¿DýÅÂkÝ…¿4–¸ü-i¿¡>–P?O‚e$J[Ï·ŽÞv¨b„‰^Át‹):ìj¡ö"ä¥=»O÷ým jqÏY²)VgÄëÛÒæ¸Ù†ý8;`¶GÎxBïá‹Ç5RÜ$_ô,þˆˆzÔV'[^ Ñ½·ûÀM49¬óä½EVµãö¦Y ¼R Ô¦ϪÛ{éÇøÒdµe6ÓIÖ ãtdÃ&TŒ{š7æ‰ñØI$SΤtÈOæC„°OŠK¹¦ªê3Éÿ£²õÿ ž;þXø†[­Ñ•„Ó*í—Ô]›´× ÜäòÂz—ÃJv&Æd9CLáâݽÝwMQße¨=zÒ½²î6žºÓÐ’pKn~ïSòG%²¥²][üO¬`câBy€œÁŒ7JÔÈ íÀ?ü_ݎ‹%›£$,¤”Õíå­ ‰ÍÇlýŸNDÁeTÅ+IždòãO@hw¡ÙEÓ*Šßy?öø)…ıÿ¬ºd/¹…iKzÍ[>¾<àô¯Þ÷·V»/ 5'ñÌÅÇ i`®¶™¸Å=Ù?{,î"¯]"³‡“= &ô2ÿœÐ°ö*+»lEmî„š=`ñO}N L¼“Vt ÛJpSðš~ãmXÃP¡çZ$Ôò`!ÕH'ÏÝ}ÆË8ïô•­ÝÔÝÓâˆìÔÙY()Ŧ*Ëã7¤ìHÿýÄ举µXvò¾lj Ó?ì!Ÿ/É–½½º@õFû +qÅŠŸÿ¿'P+,í‘1x'qÎ@‹Ÿê¾Ë¸A›`‚’áÙyEΞ·XÛø€ÇðJŸk;f¸žÀ¢·K‡3bƒü4ðÎ+‡\ŸÏ@Û`ÑÛ˜§_g/gè&ÆgªÞws”6+9Sg*÷øZ“cüHžæ€ܶÊKà%öiZŸ÷zFÇÝÒ:=ò˜T uÄu³*î§ÒGSVQÇßé#â¶ÌNá.~LÖÚ»ÏóÔ?+j7Ҭq\›1få©7°jBËw\ ¡r€K3ª >_7Š3@Èj1®4kÜ*-\*xÝÑun)š>ÁKúW•n“B  ‰ é’}Ñî®%jvÊÛúXI‚yÏëGcŸ2Dæ'|t Æ2(² =)…¹ä +]Év¥ÎV>è‡ _é¼Ñº]ÏÝÅ´ŽQÞ›/Üô–Ha5Î\±YÏxó%v áý/¶I²6ñ‘qÞ‹™xâÈŸf{â̔ң,é‰)À ÄYP&Å~“k ’ÜÇN@Œ>…è«s>\¥©Ú /I!êˆêƒ‡ 0£®÷+Ê[æQ>‡©HºÛ +@§;›ÝDÿèõΡÁ¼c÷Ô%%^^7"Õ¶‘P_ÿ(¼š¨‡· ïKRîßÚm8Ü—`{sø¸ÇZ«¥F`¥#ïaÂÙ4Á ïÞ -ìÀû °¢Pª¤E–sHƒ ÿÿœRí áø¨Þh@–¦‹ØÒ0N!-:üªšZ17¢N†A§H ;ƒ®!ët?ŸœËw ²0 º¶K9>PÑYg+ä ªVÛ‘X,ßD—)þD•GZåV=‘òfþ•n< gÐk£»Øˆ™ÁC²`GS4œ) ö¼°¾æùŽ½#b¥õ +×HX<þ‡Éô3Äý%Tì혢ì)'¯µ‰¬úE”®Ÿ ̽m“=¹lØà©P?Xn¼ûéÁ±:"qЬ\%ÕÿIó&H;o@ñÌóÿKÒ¥$Q¿cBšú±ôþ*(>Æ&S÷0i²ÜpŽÉÜ1Å}¦ø"žfg-ó$FN ÅÛAÏØbH}Sx1¾÷|‘róÝlré|Ÿ×« ìR8Žˆ¶Ä(YÔ7·q€DP8U-Òv!k,2™‘Æš½—Å·¤ë.:"Òe’Ñ`/xO†ÙË 63¾ÜÇC&)`¶\ÓÇé¾Õƒç¢&é3/€¢6ækDÕ.yèâmx Øèê ØLL9iJ”íÊèÍSágwx + +°C?IÞû%n°=춰[}té®ÁµGÚ wpn.5¼-Z]“A70‹š€Ã T7§)D;¢¬)„†¼|Ýą`BÐs”a`U˜Qܲ•ñ—`Hû¤àŠwßÆ3.W ÜŽ]l=>Á…SÔ“7Ì÷ b9Ë0©—© òê%KX’n†8¤94ÃغZ…}ÑM^CúÍì­#g”4ÅñÏr þ½•°ÉÎ;–¸¨,Ó4‘Ý‚“¯Èf–±£`©é«?ðF’V²Ñj]¼#ôÐ<§œqSœíÐXÀu¶Í+>×SÖVù'$‡—¥ÿ¡V®/¬‚ˆÄàbè\!ÎñÿÌ•Ph#sÍ’söld øQÍiÞâ´q/$É\ À‹¢¹£ +X7§÷0õÁ/“3rÖ¹’i\…ÆÈ?•'LÄ‚7‹vgŽ^[2·!”üfmÀ2r%—£**Ì6Ü÷ [-‡é"G•.ØÊ„w%k^8Ç_E¾- +(*7¬¾GÊëy U™õÝ¥èônM==GŠ [_Ž©´íBe›ús¸XûíëŸ 76VÓÍÏ@lˆy‚ÅeÄ}›!F}#géÙùØö„½xC€geAWÈH²ó„Ìü‘:Cw“ï%½`všÔlí&‰¡t»štéàâZý¶¢6ôýÂ)>y~àð²0ë8G sB!î%߈¬|³æùW;d +Lò(ü]zŸIê¾ê‘µ¦C .z†¹ºé´" Â&s¾ÉÛ8^,ãN¾Ö™ÌÇì"-»(&à_/=GËÚø ·Jð--'긨±Yæñÿdƒ3áñšÎOOû¾‘ +` ŠRÉ„Y¿Ye±Nª+B×Ò—Šc`c²xL2 °Ö&¶¶¬XÑ÷Ã<[fPdªä2Ën¤‰ƒQ¹úñ@®Æ% ÕªÃ%ݦj‰)(‚†+8œ:…Üà±ÙN¨B·é Ò˜ær`Þ»X PƒÏß {$Ù$Â\F’{²£X÷ÊáŪÇÖNqvÁ>‹xê]H*+- ªC[›ºÉÉ-–ñA1 û`Õ ñ7ÅþOzñàwDÍϼ>ßÜ ÉLT§K÷yqN‘ûè‘G‚D(æ‹îÄJ°n×<|ËðºSö5}€aŠ÷•L=º«†)tîî÷ÀÁoÁ²›Ã²]àŽ–ªw>}n‚ÊNE +/ ® ÝÞ]ü‘H3·±>ÃCª!;lϧ‰ÒRÌ™ +#­ù¡6,µe¿öy·bòAÕHÄ3ƒš56äÇGÖ"%þQ q×0óÚéñD¯Ò\ÖAX®43!kÎï\‡7ÄÍ$ Ë·^#ZÇÙ Zó´b£-TËÍ>úár8Ѫ¬ŸYÇð>·u‘¨5xi¡t]H8¯Çb3 @Ö<–" +endstream endobj 577 0 obj<> endobj 578 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 579 0 obj<>stream +…ŠÛ]8ÎUû–'`Ð;Ûí:ÕoÝ‹¬Ëø„"ÔL0À}EûOú; +MÊ +Wª©9ŸßŸ*NìبpÆ!|zƒþF¡·ƒõã,®ëádv_<öqþƒg™¡Ý#7§¶T 5uÒˆ€„Vúäâ瞥æˆh/"XŽƒ²­ D¦:æ†âvWDçXÝz(—õ!ŶeLóxžâÓ-WâÞ._4áÙÆt£Š%iýqUuã)Ö`d‡á}!"Ž·£ëZ¢7ÑWšoa…d|!ª·»4eÖõ݅ϵҜ_šv9Ó_9ouñì³6.]÷ŒØ;Ð@w¸“pÊ6ºf\2VžXR RԉѣGó¶ob»¿”.夎cj±žNñíþÊw\A4lìš:o¦À‹E+Å°œåhÂfrðð;k‚eÚoç ”èÝS½Öi5+ô´YCíîåÍ Q܉­Æës-J’© +s<ÄxùÉf'«¢5X`“ ²WíáÍס¡´YMBßµþ€jD|Ý¿È&I×%¡P—ƺ»½Âò¸|Îàúò©ô˜"¦ÜZL Þ$¦‚}v… <;U½þ{«cÉγЭ{r]»< +áo}g¬£ ÔµG)Ø„èØ8x&!TÕïÊêßE3àÕX-l yxd‘ÜÕvúÊ„ólZù%,û`:âFã‡ßLå“Ê,t©jAæê:ý¨¦ç¢`ÉÍ«>u²X;¿'¬ÒŒ«é±ò˘q0Ôù§¡9xèÚÕG«cƈW˜·Q“Ÿ€’=w_à†”Gÿ¢§ª”a*ÛK—‰•h>MLJÙÞÝcwúŠ°fÏC])çX&´rJ©²Õ—†™Ý.n +Žñj¯ÎǺ‘wgVºëHäo׎Tµæl~DEF¤þÎò1.ñ0!ÕXuA#ÁËçvÚQ²žžÂ Ê ±FÁÐÃùùЊVÏãÞ¿ˆ§VÒâxùKÕ¼Ä=":ƒ!º`´.R>¢ºøÈ‘¸CéԊɼk.ñãB¶¬ È)•€e_ÇÞ5®;m4G˪«»]?Ud"÷qÙ ÇÅtP¹Mû¢(ßFQóŒMxÂ3H3»’o ÙXøkbæqm73Äâ[Þ[m«‘ `o +Óçžb=[$n¿ìŽå‘ŸØ=¥sà>š¶¢Iù¾ÛJívå ÒÛKÌUuºã‰ø°“Ém Uª06YQZªj«aÑû…‡^Q¹VMÇœ]ðZ"2¡@ cëD¯ˆ$ç»™üÿG·äl†^L¸\¦í +¹†™½Ã€Œ.x‹KDöoW—€…<­l©*®Œ£ÍpH×F´î ‘ùFdÉЯˆYw §G«ä[y^ëý @øÚüŸÛY@=Û©³y>†ÿ/8é‡m[eD÷È­Ž‹Ò¢,%_+4ô´ÖÙ~eŸkaïBùŠs=~¬ØMQ4UÕÁâõORÉ°SX÷þÇë—uZ:mS}s–€ÀòÐ\ wçÑVyÝF+ûÏÑ„5_öÖ±0)Ên¼JC¬h£"ºÏ¯<„Èzë Ca—PÜ_KÍ·•Z²øDï ezã*TX(?‰Ý’á*áŽPãìn&¾c5óÈü=€<@â¸vɽ +ýÌhs ®ÚV|ˆöä¬aÍkD–ø‚Æç/¡Á¬AÝê"Cc_C¸ÜÛ.í~ì5‰ãŒÊ{´\é´"Ìúm‚}HOŽF#Ø£ðΧ2!®)—\£2sþ}¾Ê–ƒv´P +ð†|p¼a^F(4MÌÔÖ‚o™ÅKÜU¼µ íDÅ_¤˜Ò2bÓ®3ûÄ×ÅwŽ• ®‰´8­îÄ<ÒEþˆK¶¶çì<Š"ãJÔ„=ëüoq¡]þ×ý€A墖 +syˆîz/SŠž¢÷ÐÝÀœ"½ÐmQ)ßO¨¦á5Šã†Fˆ¹ÌëÍ"vÙ\ŠŸ²ï9*ÿÓù%òþU ÖÃîÝ= Ð ôŽÂ\zÆcÜ–  ÅøFVÛ”v(Kª£‹ÀJ™Ï¸ì~|æ +RÛ¬¯ Ä·ô£² Ö^~ŠyIaW¯F¹ÝÃQÁ'{€£×ñÝ3V@rE(Ù;¦ûT"¡”˜¥}‘¡áÍ—Äf%a}ô9éš +ƒGD_t/¹+PƒGà/2§s™HÄÑ+š)rŒt¸?FESÚ©|k:?“Ù*ÄäÍBwY¦±QÄF»'CÞkü¥âÊìQM—jÚ蹘ãÛzL{<`×j‘—äóoÙI9ĆÀß“¬ÚÀÛgô/"2S·ú yç°ù²šP´0æ[d(ÜÔ‚)»ÒæŸEðo.õ¿ü…àÆ„nü•ÑC?ùõ‘œ¦}6^êÀµÎpÈ›@²²Õ2zü'2ú`Gþ!ó² mÂ÷yWø +‡Ä!ŒÓ´ÑYö›éýK QZÅôà&?˜Ê ¾Èp¡ó»¡K e/À[[Œ½š@ ÓŽó õ¦$°ðÇr£©Yh.ãÚž¢]P>¦©#„ùú ô~„Z†Õ-ÃGPæi{ËÂ1Ù×÷µŠDóÁhùy8þë󼟘îy>JED÷Î] Ï4Ø4}$å,,r|½6aÜæ£yR¤î';“~mü@¿—|å-ž’U|y»1™ùÌnp8C¯…_]õôJVàÌ´6©J[Œ#I'ùk`ßa›~YxíÏ0I™±¦à-¤öâ,ÓAˆÀæºÂLZ0´‚?h¸4HGÆ¥£vÒG›rO~þ£õM|VB„ Öò#ؼh‚¹M´ øä­¡–û6%—¢¯T}òƒ=N¢áq³ò–þm¸€ùPëZEÖtˆóçï#:p0Š$X{¡Á€!@/Æ„ó©Åké´¥©ÙÈû…e&9I#¶-‹žG4Jv”Ò®?8• < +À…·ÜK$X{j¼3®UÄ-à>x/ú[9½k¿©š$›>ø!™Ò){žãÄI‰©š +ž1E½E?û/–˹æÍlàÛ7ío?4¹à­|„ò3™Ø@›–Q 1Ó÷¡@–+¡Ä e£vDS=ä)^;£¡ŒL™mêgâR^hù_ú/hg/"<‚™Î®@²YEAÜSÌ[ò²¼òðý6úÊ—“S¶…Þýcw›L÷3ëzñåK@­¬Ž–Yx)}wôrqòa”ס¬‚ò…çÇ*ßP‚ì¨yˆv†Î†Yz1ïÁV|ÞÐÞh +=-Î5ÿãõnA¿‚'™Þ(L¿z"*Èm¦£’ÿ1½ÐA¥WImÉ e½‘ì¢dл0]Õib4OSRÿÓÙù2Õ^'´¬¯mQÿØdL™Q/jƒí°¸L°JhÛ‰*;æH>¥º%ÞøéÉÉ£¦ØŠ^æÛmòOæKaÛTH‚¼ÂFÊ?•%3ˆA¬pÞË‚ð!ߣßOШÆïà[ʸLC,uðfa¼ó°¬öÙ¨¿¿RR6¿».|ú5`v¹»Þ[ÝØ@‡IïðMo„ *Á&WYÆñ‰˜Ùé×Ý2êÊ­ËÎöê{{#NšÜ¬°íŒköXhÖ¬±ÅÕ˜ +¸-§Q¶öBc>ÒÿV™²›Æ{¹CRU‘zÜ„°#µ’æ³[ä_F /BeDó¢öO.ó›¦-ˆéõÆ\W¼L•6‰òüYæ¹€–ò°3I`ÉŒ¼±‰%ž‚½hð5}wïJ&M³È«µ]Šn‰†P¬ˆ-â^Ÿ6Ÿ‰ÆºÞ'È þ>4:âÕ¢‚!°ŸLUx;q T1¡b­P¢ˆK\þÁÎ̓ĎËE9a9°âcÀòì›ãFái‚HŒyq,%µxÿ^q‘¡”QžJÅôõjøƒi^îÉM’YJ’aÈC¢øl×øu؈òù¦¦º³³ÜVü˜DaÇtî夸RèQJ_¼(÷w³,f[˜î$Ö³£ÀÐÝ4£ð!&®,ÏV 6³øÏH æ(amK;æ‡?M£FÞ»M6¶PÙ.Öjl7¿•ûy°yÝ튴ºx,–'0Ò;6Œ¾Ä§ö;ø"1<†ÌQï¶ÿ3›Ò›¼=6ç®F“ÝÄÃø¥F6sÍ2íö7V¾ZaVG}RÔ¡¨½›n¢)õ±›O·­ªHÍÇÅ~8M‡@Ãä\m]¥¢ßÄç‡ÍnCjŒ€±Ü=œŽª.ÀYÛçœy½e]we/k,µ¼ Ôq„¡K©N¦°q3ØY€­%ïÇÄù€sª^Z%Mäe¾Òýz–u}4@â!+&&Õàë©c t„–Â;ëÖõÌ~ÖðCxÆîRïtž­«Âóo‰5z}k‡ÃT@}:}ËT„¨éy×ÅN[*±T¼;’篺zñ¥:Á½Ž½{EüUFUŒWø[zƒBD¬‚'˜;?ç|É6AÍÌÿ”ðk¯~žjl"é Dz- ¿Šýè„=áºs ï7G„ØŠécÎ+ˆ¨ìmÞn ©Ð‚qŸª¬Ü£–}\¢i°Wr? Õ“¢Ú¬¯ã¿Ã*þ*.™¦`íq\-¬Ÿ@ðp›×ñZ­dšJÜÖº¨úì{ 2üøÀ¨´wŸ9)–W#à&&L5“¶EÜØ“#ºI#æ3Y+øôi´Yë% zôñù‰)jîå×»[ýÂÔ|@ +G@TµÏ—±Ïo¿õ§'«‹;ÒÀ©—['¸X¢faž)àzuX~(¸S­ø1x(w®ÅhSÊþ> § +ËJ.[xÿ7kn~¶Á+,Ðgtñèï K…cì@Š¡/Ñ=VW,Y"Ûø†nÈŸösXVƒdð tÓz ò7o&Ñ®¦“”µl ìØ{áHmöª¦j‚¾÷·7.;F5ã ŠPK¡•2³é:öÁ8W™aD»É¦4É'ão^ßâ¶@eø+A¹ç*Ñ.+ÿZ&gTø`ÙnEôÂZcqoÔZtžŒç‰rPƒ6âžÞƒPïÚ÷Ù]ÿ°Ì›ÊÖ4Ÿ×Wršz϶¬ŸŸ8zÙ²úÆÕ¬süÇB& îžöé3B¹Z™R| §hn×ØÈŽ;¶¢8ícð¥eèU§¼…¯Û¦¯»XepYóJ% ,‰Q‚‰cEû¤ÊÀƒ¼(ãÌVÊþ«ù6 ªŠÏ‡i¸9†ã}ÿƒGOts}â¤S3ê4 ûŽ]ü}QJvÃI)íØ¡®QëZ„ñm“½Î`ˆª?àr¼ˆ(ƒª?õ •²]åjÐÑxW©Ù„£HA¸$Ò\K‘JwŸî!œ‘9Å.Ç¢èw˜yÍÛ¦J˜Ý-ÄòʿƤɥ焀`sÊAœ.¬ÎbérPí®ÁR!= Ç‚•³_F棥Ø%QZ¼WÁ‘Ç>bמXÿrô%ù¶ÆEûÎAw €~WÆ_¦@ïiÃW‰-( +endstream endobj 580 0 obj<> endobj 581 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 582 0 obj<>stream +yÇu2{EêÎlÆËmD +Ø"uû'aàÿÂÌôsã(‘D„°Î «±;*iLNžè^[HÑ +ΣÎÎál¸xÞ”è,"£<—0†2S处æºÇߢ™ÊÕ]3¢# …ì$íJ¹*ˆ¦ý/Ò¹˜Ž¡Ô S6ÏYr=éGðæ+¹½ó—ÊúJƒÆÐ%ŸD­Õ|¹ÏÝíQÀáJ¸ ùÓ×@¹X*ås„&·L UyüRÚ„1SŸÝO#¡:‘¯ B÷FÔÑØêrÒ€ÁÄS‡4l³žç9Æï!ïŠþˆ.¯bÔë9Ýä׋æUÍ+èwýÁœÛ¸$^s2y|9·ýQ’TïÑ/âýƒöC§ü/83[|²wô¶þ¿D\Ñš1ÀàãA®Çß„CS#ـǛϒ?b3"æLj††c—'H ÉÂîü’%Ͼð"Í„3ÿš.d‚uË\½éÔ³]ì€?J4pò›ZHÅäòns£ÑÄt)žYÔ#¦ZoDß^ï• +M A÷MJ¥CÞŽé羨ŠÛœ“«“ŠÌ÷yÖ|®Õ1ÿÃ@²짶FÁÔpôžÑÃÎEà‹â»ùbò—Y zêêS9—¼ßõžr¯+X[+“‹æzÀZþn@¯×ëðì–V¥®T”QŒ"ü$uÂãm$ñźô‰â·L#ªPHý’ìbqIøvM\æ ›‘ÔÖ}óÁµÀjËNÍðݤ¹,!NÊX⢎­ç +é¦å S<é†çh«ùË%b§½¨À]Wa7Fp™Wy:°°C ƒ¾Â‚²%± +êÍÝIàà3Ùø•/ ‹x(óüðL]àɉ¦-£<•»»)à˜Wò#u 2z‰Ã—»RðbÅ–[PƒbÍùa@*s®p¤Äò¥Ã¦îq'p‹ŠIªšr¿6'«ì-Ž«n4µðÒûï¬XÈã°8èÜ +S…ÌÆñ!w!~Æ«/èŽ6ˬòîªÌ®-®#brpÞÙn_nm8„ãÍcb2ˆMO[EÂ?Ç`_Á¡™•ï*“n +ÓVÐ6¢—pJ•lÀ)ºÎNKØbÐjúé½]YÜ5© §Î!WÚ`2Ú~ +tͪûǪÄq2‚¶ZÍPÔÇË@Á¤¼)º•H$7spôW‹¾>èØý ïDPÎäÿõ;Ud”d{ò?uÙÀvüÜhde0 ËS%£D›¼à׎Ê"Í•!©™Ëyø' ä^ +?”–0Aáo^Þxã‹mdLšš—R,6ÌdÞ¥—EæzßÜ\÷K¶Ãá[0&éX¼ä ô\Â%´D@‘9žÝf\ÖuÒÂÄ»?Úá»ý_=¹byrlÐó"êAB Ln¤H–L(ƒº.èÒ¢Í=Âȇ-ýk’ºÝ Ûaòs»œ]Jî°ft ìV€0Ë°†+—XŒm¥†È IW××|Qâ×üäsñâv„r 㺊‘é0z÷ZÊ¥ÑL|‹4ÂÔÿ{¹ü,£°Ä•I(+à?tZVâ6©ñ@ÎÓ¸6Ì®Nj™Êà9aµJ\ᖷ霜]¿•#wª2¥èœi-´ }¾½ïÚ.kOé.Ü[ Ò˜²fÛñè“8ÁFhqó"(˜sù‘n…¢¦l4ð9µNJþ¨#аÔz"êîUÊË+  +5YUs>Ÿ?OÙ&‡/Þ*1I}ÏЭ-ãç…-¦n n-'¯Ô ö¤€8.W>ÃXò,àÜ=Ø€oÚz^â\Û™R±¯‰©[Þ)Œ¶«ÎB+Û{à&ØsÔ6ʺÅþa­Yú(G£QïÅ +U^--˜TCiÀ›kpL1!iKqà|ºøýc¼‹µ¿Ê[Ø” ^?áWmŽþ|):Ëv ÈBí… UņJ Íñü~oÉ2Ð= ÿÐ$ÿ¶\“Ó—éÔ;â«q¶ YÀÙþF~ùˆS¶[×lj{ä„1À"ÈÕršå]IPr‘ +px‹ ]ÝYó C‚[£i¤ÂDO\ÎË dI‰dnqÌ0–ŸYÔˆ³?=í¦¿ô8‚¶/¦?[˜êzSÇË9^³WEÚI‹gV0aFL½L…E—Ùµ~[£w¯·ÔÇRoæÏCªÈ_¡Ó!bë¼1|£NcdôÜtøÚ´'¥ ¬Ý·,ì)!9Oëœ& h 3u[+xæQÃÁùa\½¼t§€<¢H 6ÚvÓöMR"$¨µv\*ÃÛΰ¢Ÿ„(óöAº2#YÈáÕi„ùuŒèT0è÷QGËc»—×Î;¦y|ø…­ô“¢ÇíèfŽ¿½ášYø®¡XnÛ¹k–(‹y po§S/¤‘ž˜¯&`ò32NÞTºÜ!Wþ˜ÏûQªNf2§öxW†å›ò¡¶J¤÷E%‹jIR&Q­É¢b—_~ÕÏÆùÿÿ< DúQrJŽe²'–W1[¼wB9z*p4Ö­¼í¼O·¿GäwéêÄ¢Àöηh!× *Âë ¨›A©þù~s¶gкëõ'+̓¥ÊÁÃ7bnô§ (à‡+¨ .úø“O êŒCw¦ì=‰ŽíhX×¢1÷Š˜ê¢Ü«æL]ä?.!Ê°åcƒØôoÜ9[5N(´ÔÆýBºV‹¶¦\`ÑDæ˜î^Œò"r°é—Í; ÷ÐÄvvfXw +rÒÏ"³£DœnªÑ ¹§Ï%œº©b+n(\‰xBaͺJjëäb—ôÍbÍþÓJ[ýøMßÔíB™ÉÙ¯ýÕ~XÏ)‡)ïZë¦ tfý¿ z˜·™Ø¸8¿œ1'([”ø9éczI,ø-ú楑–FU¾,6u” æŸæsêœ3»Šn5†ü~ä°4±…Á'ÜäÛÉG¨Ä{fíï ÿªðbh‚6ó”É`‡ªgº³ÑòƒS­±õòŠîkÆ`´Çßkkñx|Ám­œ6îÕvVu:CG#u:îlÇ4²Œ¬,û2Ï–/GlúÛaõ'?s fƧ\I£º ‰Ç¼.òü/‡’s9¼¿ÁzÒ`óq>ì-¤úU©œ],씄7'T-­–Ãí¾’ÆǸÃ@Óyñ.\@)Ñ!ˆÝµõñÿ%ï”I|O;§†òŸêE$‚Yû‚qàı‰·ŠÄ0k%VÈQÍú1¹Ô}÷0«Ô¿ün’×dÚh½„·¯K&ý&áøTvOê{]H’Ô^žXÒ$ WçTu ƒ™·ÒÌ…b,øÄ Aæ¨êQAbÇi’Rz´µ3ʘVá$ƒoôΆ_»LŽÃ-x',ëó5ªœÏÄnœB!îe³ƒAgUx[`¶|âÿ“–Ø>©ˆÉÑ÷ Òj‚b$¾ÑÛÀÀ%B9s1yB&\n¹ðËKm÷À›dM¿Ôn¤ÂCBz$þNª)OSá-ÄiWÀùÔ2¤È鲿ÀUt%ü«F ãüº4 aÿ6ûpûÂe™ñ›]UªÛq[xmzî®…  heŽ:Œô¾+ \T°•ó*5ׄâv-¨DA©–¨V}_ôp÷,éŸÒ< 6V™?JýÓ­ê ¼lÝùA$é:÷f:€+âÙ·Ûú8÷:{èœf{e›»‚!Q¨öÑx.ëÑ´†ª*+Ó¥ñBõì ¤yäð¸!Þì„Þ€ñ.Ö™&ÅyÆ zN }R€’Ïñ»”_>l…Ù9¢ÆBߎ¤~reGøì¶éóöGO%ÅF‚|j´PÓ®,WK¬îœ˜uu↽Ó/kYÕƒœö i2àܪºð8ð¾â¸¬vI¢…çêHšrp>òNÄRA>yœø¶ +6@·Y]lL w²íÑ!鳋ýR2’5ST¥½Ã ó∋ÓogZIÓ×Ý%k=ƒ<èf úÆš‹«h¼¤þ¿éw`2‚tǼFæëâ +cž¿/Ž»s9ìÿ‹ME«ì¡¢á¦ÛOôA4ÃœYŸêŒhUOÉ"¨¥DªÆßâfw¡Ô\‡hƒâ’æq”¢ö`ÅvjU‚c‰à“¾ J¨óúå„ +endstream endobj 583 0 obj<> endobj 584 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 585 0 obj<>stream +ÅTpêŒà9¡jª2çoøˆd´02€™l§ÿ#XÀE§ÅB!è¬òhFíl¬Œ‹{$ªMÜé&!—¡Ï3Ø5oýlJ]+ÞÊuo…EwêÍSÉ ¯3o¹áÔ€ Íq)+í!¾”?óÏ(š6îtöçʹƒgæšI[1o¯[·>K{ldªïV‚ÂhÚí3”>q{²<'6ùQAïÇ8ÜŒæ Pßø µ¹Ùcy®áeÏd #¥¢ë÷[ßð‰w‡¾ËÒ C3UãOI}bÖ¥Ã}llÝJ94±/e~ÆÅã÷&ÀkN~9ØKynÔ/¼`÷ +¢"©ÂŸKÖã+ƒX¶€nÒÈ8bŸAÑÓ†‚¦âÀ#€¥–¿æðF Ž~ Í>½Ò¾çWý/(úæQ?Õ¡BÛ˜¦j³.ª9òDĸ©ÊIöT,h¨Eüç¡Òo`óÍqnæ–’ž +jQÑG7àÝ&3Ù­š[&‚Ó–øûj–´å8ã> ˆ¡4‰ÜYT‰ Œ} Ôö·Œ*ù)lÀ›¬ÕC×JáF{“ë¹:½L?6Þì¡™zj¬þ<JM«É´²´§ÇŸ)܃®¦CýŸz2_ýžã궂l'‰ÍÅZ;‚£ìo ôÆ·7‡RO½-~`GÚ!µ¤H¾$žæÌ2T¤7Šþ ,¢:ïUÀ¯µ–Žp­)’T’*Ì)Ü "ãød+»QÎìûöóç6Eœ¹‰K²}‚朜>4*^ã³Ð²Œ8¯“<#ÊéÈ_Ëc:õ½)q‚ŇþÝÌ÷ˆ|ÂYÙŽ<ø·É-©Æ»šŠd³ ÕÕï.‚[…Az))êré°ÎÃœÌdƒ'yjÑTŽç.4zíÍ÷ Ñ•´ÒDjüfçÎiózKp.æ „³¶ªêZªM7È^±•X²ºn«ÑûòÕê®#Ähʵ“¤ÜÞÙÑU -3Ý­Y â” ™0 ïœOýÿä3:ÅͧJ ÊPoÔC…¥³žãX´gݪ)œÕ}á«°ùòåjT”‹ƒí ”|„ÑÉ4õ3éõD÷ÏcÔ"šù8¬¿ý‰¯‘k·¶jkã‰*—µ‰ ¯Ùöñ*«×œH<ÑF —3êÕ´JŠâ¹V5¬d¤Éå]z³n8÷×ÕZâÍÔ¹5hžgôæD3‰:Ó!¿³Ž—yä=ï(Q^G‘ e$“HØ÷aä~öŒ4Uï=:ôÖøw§RIÐDj‘'½’Ž£® &uÚ(™ú:I®µÏqã¢ùP R¬ŒÎÌiHŠ&¿—UîÙˆ{Q€°’Rœ]ÚÊßñ8$§àÇPéÛqq¢94ãÇ÷÷6웕*Û±vM¶®¯cØC“^‹ÿÁ ‰ãÃ_€.'ùõ€—©ümŒÞ1"D^²DöÜÔF†cp†¶Ç‡0`:< Óƒä>þªb3qê³:š¦q¾HS¬Gš}—¦Ã ˜zÚéJ9Ói“9ha¯”íYç|ékîg”§_¢$Bóá‚m¡ýá¶Eph`ò2ZbVR~Es›ŽÒ±4†sýÿüM^Ë£ôýþû.^~Ã]ÄA27 àÒ³v èÏ€ßЖ„\“ô%¢lMz" VD|*ÕR.³sÅó¡™ a¹ +ô[ÒžòZ4Eg!_ˆbb!« g +‡0”c¨Ñ¶‚ggžE-Flø$yÊÏݽØÝÀåfÈ•‹õ¯t©š†TŒEÜ4#{~@<›†i‡Zpäà"øT‰Ÿ ¶L‹çÇoŽJÑáµ/êÊÞŒAü®ˆ`xë¦42ò K„NK¿ˆ[ikÉ2Âí“0MtªËíŒW3™¸Â-s°¸Ø¶Æ\Mø¼E÷iˆG'S:ŸÂÅp3Míª &W¼š˜˜ÝaÊÛ.ºûë{,í¸0®vaKERÖ3py¥§L%¤%ùŽc*\±‘ÉXƒD®œí†¹ºÇE”`Zº߇†Ü'5 G;‹uå‡|Oò%pøùÃÇþÌÄ4h¶èé/îé7J€G~.œ)z¾Ìbf˜ì8¿åìòð£uý)[Û*)8 ß6’oPi¤Ê5~Åh9ôÿÀæÖIiô]bï¸i/:„~…" )þÐþ +]1GœÈv•g=ÏÐûb|ƒ("ú0 “¿e<1«\U^ ¼s½cw ÙtîýH—°Ô÷`4~»é¢P™ºÆþÖû—‰ÊVš–j0ÓWª~<Ö‰5o{ñèð9ËBD§é’…·däXÊ£-üy»÷w¦¦ˆ]ÎýèÿlÀLÂÈŸ†~ß—ï>{¸ m€ÝÓ:›sÒ6 ƒ=ô]Qâ©Õöç1Ižµ˜áÚ +|›"%6z+§ä^¿]ÿóªá24^ß}î­ën’X»T‰ `,jݳ-u +ê¡QTÏRqÀâ$¡|iµÛö[ä¤wpǬw‡’ÌÜÛg¡˜;}NúäzvDYW8²µÅ€ÿßÐËâGöÑ´íÔ:O¦Wòo›¯kzüBÙQ5>|Á¾·$¸Ä‡[ó Æ cÕÍäÙ¢`á`¤‰otG5Àö¹M }‚aR[ÖƒeP Ó;úIl¢ÊhPÚ•·,è¶BÝÚ8%ï9®ˆBK¼KÊbi…MÍ~ïǤÎ%cÁ[®ÁÛ}#Ue~+µJcø«:òÍî¤1æö(.â¢ëù°ï8KöRÙ°pz®ÿ’t÷2 +…èr\;,y?? º™¯öë¹ ôÀÇ +ã¥ìÁ?JõU˜û§ÝÞÛù{>—$^/«ŸÄ®} µæLáv/$a*x‚×t*4ÂPËúÎMt)Ëέia–l?¤z` ¸_¼³ê#ÁËI^] + ¶àg6´E°œŠ‹ç®AÇ D®·)ÙÌï°¢×þÏS È|-E»yÛÐ"èëÜåDvÐI?ùcÜïIUý_ ï*|øþ +„s¬d/wÀ• …Ÿ,Qè짯Kåtà2Qßl÷:ú“Å Q·!¬s¤0² ¬÷ƒhº +)`º«óœöøò!,qÓX`ìŶ› Þ ºãéÉ‘åðlîÖÐöœÁbÏ5wqûõ,[ŒûBF8 ¨–3!Õ~† D“#]ÕEÍ£KN¿Ñßû㜟˜]Û·Þô³5{ýÑÆ”'ÖEŽ˜Gó=%Y~ûòm¼®ˆŠŠ±|gô†¶ºtH;ÿÆR¨}ü8 ÏœGDÅX«Üp$%¯- ÄÄhS¯3î=fÀG}>Ê•¨0E€@w·`NrïãëÕù“÷€SëjPcr!)@aÎœ}øž—ŸÈ,J$’¥C»ú9Q£}2<{ÚRŠØ8{€–…KÑS~°â×b¯fÞGŒn!צú‰6i°´eBäåÕXä]öÔ>ré¤~ÍØgŒeÒÑÊÕ£JEËƱ݀‚"­‘9ÏŽ›½ƒ¤“¯þäM1㸷™N;´ohÂNíõÃÆ“ëp©DÌQˆÈÉ­„ŒÒ°¢Ú¯Òv…bOæËY©bT3WÕDç«ìEdù{æQW9Löû3#þàxÿX:0%=–åšI¤öðj˜º4ÊM§UpN@ŠÜ{<œá›‘´œèHÄB| Ú‘OH`Û™YX‘À3"Uë£ñ!ª,zgÈâúôCíh€€’xÙê>’šB'fJ°Ùe»7ÿ©{šÆ/¯Ê"ÎHæ†Ãl¿¾Š®IÈ&rŽ¸ÝãÒ«ÆN‚õÀ1¯®¯ +éÒ_‰4®ó¡û< œ„z¦Ÿdá4ûÍ® ÒÚÏ=‘TRÔ.zwL‚ „|÷ÜK•–pó§5õÿU- 2Sµ +§fàð)¥»:þ«€Åï(^Æ¡„h(Ŧ—éoÙ™*•bRG˜Å‹ÿ§Å×çŒüÅ^»»Cë¬rì[©O÷ì»1ùæž=iM€ú‹†= ¾–þÃrÌ`ˆ>_²mäNʳÚÖUÆ«w§ÒùAÅä'ì9µ/0¶§t×’1ä œ /¿%4…¿ÓÜ4—i)ŠábíWtÛž4à4jÕae>yÌ=ÉSYœ(ÒŒH£Ñ‰3×IšQÿ.tÜqÛúo÷†B…ص÷ê¯q4KO–àÕe9nDc`î}M?$öź WŠå¥ùfäPR äcUœÖÀ–¿¨¿ðrwy»‹J{ûÅ^V 4» ¸gÃî ðÒæxM¦ê<Íßæ^VVFèR}†aÑĸ’6É$(üxré½ÊT¶«'$2ÿõ‰+k»·ÜïCâJvz)Â9Þ¿ +Ò5ò#Ð×ÞuèL³kÓê$3U+¬Ã=0 9ñ·…Uyç¿·€JÊÚLs?ZCVÔÙRD€_ Mñxã­Žò¡_UÙfò3•l2hž`c:t æwE¥‘)Ù)ÑÓ>k@Cƒð®>ûEôB lÁ­ûƒŸ:ˆ™ÅÌZ§˜]ž®ß1dhƒ<—á8Ä=/ˆ7á;9|·@“G£Xè ZñZ‚>à ê=¡'·!ä¶^ºµ­4Ð¥3^÷©ÿÿÇcâë×&Âk´„¦î¾7YÀO]Ðôþn•K•öo#tõË·¶eU0ò +endstream endobj 586 0 obj<> endobj 587 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 588 0 obj<>stream +vi7¨¸:mdx‰kì¬èz†¹ï¯0X¶ÊQÈD½ÀhÔí‘!Îg?šÈ‚ü4….e¾”|# Öfýh!uà‘ZÞ„±ÑWËxjæÀÂJçîJ„“#¡ÓŒé’¬œÛš 6/F¶øH™é>rOÀ2ŠIÔÖXU8Êûeqï̱î¬?;ñhïX˜3,™ñ BÞü!ê®›,ô>Ó üDª{ëÁჽV‚шXž»òÇ6ó GÔË­î›*cz^˜ í{Īå[Ê=)+>ƒ*éRö¨já}Êa½Êü_WúL§#­hejøþÏSDzð^^EÄþ”úùAŒè#ìçl²SZšH¥·þy6Ñ…^Kj>êUT—8íëªã³Õü›Þ/miDëc¦Ïr?5N +n®‰¼´ëÜtŠìºÇ#z«ÉK|î?ae£º jq'Iª”èiqnPàåiƒ3¾•dô„pѯ‡èèÕYcî+ðÚ,ZÖ‚^×Oª`Þ¤ù‹æÑ‚q¹°}ÉwGEëÕm‰å²sÅYGþîbpÿQÎÜ.eÄÚÄY›Å~j¶Á U˜ƒC9eeÿÞyŠ•¯Ð[Ÿ×kªþšÿ´!}Ì2{Πœ‡H!¢ÀÊjóù¨ç{ç…h– >n/ôííB À bWß ³Âq¿üÔŠ–H[aY&èPY6S]:0 WÿS66zŠW 1þ1@ȯnìþš»¼÷ƘµN'UàqúíÜëG¬dv ¨@u¼€9ðàÏpÜ'óŸÜiðGânĈN6øA‰Õ*Cœvÿ]Ëï §„F9*+¢F1¤À§:†SÛ[P°é•&ºÉG{“=ÒðÑíý_Ø;O©œÓêÎý˜ÅðjûçzÍÐ(ט®Å^±‘ËÅU;“äV?Äô{㶑?«,‹hˆ7å†ÿÊýŸËŸâ<©†½§´z¬¿)5»€Ÿ(*wÒ!C5Ïš¿¤Kœ{aô«=aþÿ°Õ4l6ç†>2 ½Ž7ØÁ¯ ©!QST@?è¼ûûëÚë,bQZÖÐ].ûÙ¯Šð; +ÓÒ%ñŸt/Ϻ€ìµ„4» ¯ú„ õ… ï¤ä-B¯ÅäAOD2اcµËò`±äïMip FÀ©Êºá=‰Ôi\/´60 f/€Â»¾+ùí°º {Y MI-U&*lMEÕÊûbXc€¹"9y.XïÁ?=k#ÚM´Î:„Ï/G‰”>TÅúAGX±nd1ïŠÛÿÆeñ±S;¬{º$ÙJ»©ßaË©oÙ~çFL½1?#Ž,µeù'çç¾½á>1+ÎzÅA[,&JaÙ¶°KÛ‘•h;{Z·PÓ’$åqAmH|2T©?~ +{0(, +²™ùÏ‚'±ˆGŸ®w JE¢ý°àÂ~5¼Eƪ¢JÈ}é®ÔÂ,Tá-\®ký [‘‹«€fi{,HœæÁ·æs‹-¼'aRg"æ>·žr—ؾáÏrrƒxðè„ ÁÈ.õ]µ1AϬEÞ‡}2:j0¬è/"¦‘xí +üÎÑÎÀ2m)ýÐl$öh°‚þ\§hm€*Èxc÷å =’<Æ+ÆoEƲÄ}Ì0}3[ëú+Ö&Wîf <¦VŒ®»®7fy¢a¡ô 8D ‘'i½I ®-ݽ.P™ÈÙ‚a½£Û+›÷š=ZÃÚâ*íd èŸGìRø¤eI*e(ÕÅ7º–|o>fM-¾Ý “ߢ€é€Íb/¹ÆþÀû•:7†ÛÎWËõ—Mƒ¿Z'™]¡XÄà+ÊeˆèKϹҳ€»ºÓÚRãó®‰%¯©ºj¬t‚t/È&†¨eR%aèóvÆm¶® +\Â6×òè+˜Ý‚–HÁA½˜«La´þ€õÌð5Éà9;ÀCšÝÙî;J ?»'g+Ä=Ý ±ÝÑ~EŒÈN &zbƒxæ€è»S¶ÇKpá†_5ó}Ì)W·ÍÓ`Ƥ‰ã^ÎúX ²˜Tcì!yar3ó±`…—‘y¾f®ƒZÒз©Äk€\òuÇÖZd1…$“ê«6­AÜI…IIÙQú69§ †ØH¼ Üf[neÙ1 »rkߧHSm>Ïžƒ#šÔ²º”Úe§Jž +®‚:™¸îpk{²¯?~H/É2Ûr GóäÑŠ¨¼Ç+\ú +Å{‘)ø.ƒLsÉÃA¸Ñ9¥ÌREDÚøÛAbi¦*ätÙh<&Óˆ<‡J·n!Äý¥rqc[–bõƒ4CÅÞ‚Õ|Žc•Ic\Dòý"áVebÔSîÉë.#@Þ£‚ÀIõ\->¦/é¯qÌ?`ví Ì‚dW€àßÀ¸‰*ÁçøƒÇ~nÅsɈñ½‡¬¬=?‡6ã…”¸›°ò-äH –H¡Œ{…ð÷—.¨TwÝíô¯9ë³Ë¢ÃËbHiJ¯Þçÿl‹öéãèî]¡Dß=Æð¾Rc© cS,RmÙ½&#™˜"éúã“Û-Ïl2‹›ËYÄqB±ÄC¿Ð*0ì×5²5¯ ©seAsŠ—Œ›ýCq×çWÈÛ9ßÐ$Šð)Žäíûyª–òS £­B–Ɔ?Ö˜Ê| ±o w–³‚B0m¦H‡Ÿ·<+ËÖÈe +J¹žÃTÑÑ+Mm²Ð5Ói¹ËZ6ÚhU›Ö·^Ṅö¡·¦BfoýóqbDRŸMãßnÒ¿Xw›¦™‰xaƒÎ]G7â˜Û¿%ƒ7b’"ÝÚ1cèIw˜Rö†%ƒ®ÚïÝÊÏØ¢ryqr[~%Ç’©“ÀÙxvVý/÷æܼÉÙÊ¿4Ö¡õ8 LÙi–à}SL›©©dAlnk¯°YI™…FìD2Ôf>ïÝS*÷ik ‚a>2ì#.ëñSy B_pÈvs×U8K:“hL¢˜-jT_¸*Ú IŽ?#¦&ÇÕYNÐ!ã+ò¢52aòÓ­(©SåÚœ.N¥S^š5bI"TËÈ4“¾c |1”9ž?$æ×#é>ÀBõƒÕÈÇ]L{ÿHËFY¾ŽeØठO€ØT«Æè£= @†·vˆ‹vN0ptx©ç?Íì›ÔDeXÌ y¹XxÈ„À¯†Pó!Ž+…ÍRhݺå;¥bà?X®q¢¨Ò(OºÖu£ðŽ,…ýíëô+’EYH Á“’•ü,’ñ0W³ÒsvŽ‹™¢?‘èŸv—¦£ ¬[»øtÙ]-W“()hóÙÝ€9êÎ +þF,nÙ` 9¤ÌþVRhE,¨û„®$¸ý¶î‡rɳü›êœŽBDì“œóxÒ*X0qñTüö`˜·¾Ið `uq+w/ŽË*"¹OoÍÅ?ü‹|Y«åzf½+͉"#ø®*þ “Êßì‘Q-Sà»{)–¡›Ò{ß>ÚÜ<±,DÆ‘BGd/ôÅ1™™;¬xÉËRëþ©®NæИnßþkjq/½°žm—ÁÒ‘WP ]xeðp&³h*ß^÷ÐJïu&†P]y[œßi|(è#5DÉ5OÓa¡¥æ›óÒ-¥úýžöd¯;ežž¸Ê×pã®söý?zD•¯t»màãô^FgBÜpõÅtÍ‘MÔà ¾§õéUÖOK¾¥èá%ÜzÚ Pðã›Ò§ç|HÿÓ­i¹“cGúKÒf§Õ)‡YAåhZ‘‹±{Î'82öª/ö×)F·q(¦$}c”å˜tT1¡·¸Q™tU¾xù[hÀ¢Q2í®Pw¿Àzè¢àµŒh°¶,š¬óž‹‹ëå½çYÉ·ªˆèÉ!þ¥2ºqZÇ.»ë?3­Ç¥µ  Âü%Ã+ë‹RDÆÀ™Æ‰&6“EÒ°hSÇ6;ìA}Rú0ôZŸšè¾Ögá'“Xà {¥Ëb¼µ̵e¼KŸÃÔ'Ùº[“ûžwK3'EyÀ·ƒ4sp :¸ºPiÏS+¸ÚÄsú;£[“jÉ¥‘×¹fGå— Nüoí»Äøj+ŒE¢)QQ­y2¯–é;QÎv‰3÷K[©@:{ …’×ñ¸(Äç®%ý|´Y¹Url§ÂöóµzT lÿU”Ç-DÌ®ÏOÖY* Æâ#HLsI7Ä«ý0-rW’é&ÞT'0[´vS\–D¯@Íœä0BÐÆÜP` +¤ù« ¬îWtÓ~l#½$§rý…[ô‚8>…Ȩcu|•¤V’ŽŒdwÙe¯À¡Æ^êY+Lh±¿Ð zí€8]å'5z3„“jmP kq/8,Ö¥˜Â˜%+±öÉ]XƒÄÞ_´ Yz`Ü—9így Ú›0–ÚÞUƒ É{•€ ´Ò¯œè`ððe댴ú€-g홽x=¼R½yИùŽ¨?=Ñ°ÛCÍÃó£Qãøð,T^é;aîÙLÊ·ûz¶¨tÝ„Ò²qß6¨H2c7tWY½¶Ì²Ø½ï0; ”Ó\Tss©E¦è¤LÈúLüŸÁWI1_€“¯~6á|¸ÏN°½ÛöÀ¤Ad‹u¦ƒ×Ý¿x¢Ø̲I†ƒò©íÉ¢C­‡¤Y7uS7-\.Âx“mŒ?‹ltÚð1©ë烯Sµ×Ä\è]ÿ‚Q%êY˜¨›qAùšIcÙ¯XÍQ,Pð†«\?Ž<¯ZþT¸®oÏ˺‡#w¯’«Å)]«Q| ¤ÎÀ_SUýyµËõ-¿Ñ=|­ÜæŸ0Ž‡74ÈàöNiaö¿š¥qÚÅΛÛB(Ða‰|ÍBäÁ#5Oí¼‡Y,&ÿ–ð:ÆÙF#b`ð¸°me—I¢É€$OIñŽ&7žÿ^ÿ½q¶ô…<Ôs'ã[ éÊAi/za³o8½;Ü£†Øõ07ÝÏ-¥”nš%,©2w +ë'ª\ Èy©8Ÿ×«Ÿ<8:"£Ê69nÄ`}*ÝÑt‰û´º0¢åC]jD¡!~ç§~ +¬–[›C.fKRUÑp½Q¹..$èµÃæšÇƒfìnñ\³Xÿä bJÄõ;±'2Kù°Ñ\ºÞZLÒž­UÆ3®€c­x,œ!V{j°}ÜÝ[«¿§ "Ý9"$dtlOÚ‘£k…EÛ' ŒŸ_bif‚Q1+œ©Jö/9¬¥Ÿ4ÚÃe©ù¨ëîüÈÿPP°êÖŽòMǰ㶠 >Ù®“³ŠÓ0_E Šq¾°ÃsÇñœ ¢ $gØQdÉÂê±áð–ÑMœM]ooAıùÒó$ô]Sä\y.Œ Ïiݧ*ŒÕîºPøœË¹È\FP{$P"o·ÈfÐ&u ²(¼rì þà%›0BÎ=#ÆïáÔŽzh³$ˆ”k*ïîÃoÏ©l!ÈdÔlêéR©Hò¿‰pŒø1}5½cë¶Ý^LCõ¦ŠT7B0Un…‘ÂÀ"F±æSìçu˜4è:`÷äp©¥O=¶ˆC•QF¹r†a &u÷ +ò(‚ ÙŽâ%„¥E±>à vùb·hÔ2,ã]¢Œ»1=áoE† ýÆ“k*Ž¦7 +endstream endobj 589 0 obj<> endobj 590 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 591 0 obj<>stream +-Ù[ö$ü)P¯RŽX!£•†Ú_j“¤Hkø!Bî.tÂ#@*RVYòÜ=Ò]lwÀÐ’çcðM6çž·Ô€›ßzÓð÷m¾04Ñ~~1,Ž.y4±eµ7„˜WjðÄíApÓ )íHÕå¯VeEv=ÃÎÁah`PeÝD¤P"ØVgK|S•KÿA±2ᙈãR~  œÉ(tiAŠT‚¯¶É7aIÍUÏ +Šr˜ÖâßÈ$ž· «r$ÈÌŒ÷„úÑÓ@‘‚òŠ”!ºíÑ;ëÍïijŒh¾VäoFZLv…E"Ž"Ò-‡s|¾‚8¯›Ì$²3Aã(‚”‹ÂÙöÀÖ˜d–eã…”dmóÙXiTÎоQm-‚˜KÒ_Âô¿0$Ì·©Éõb_YXø×ﶕyÖ)Ä[#ÍÎWT7K²å¼ï-\Hg ü U¥º³á¾­–d—LøšÙ`v±7rÙKò».Eë\'̨ms—ÃŒ žBeë †–¸°}*Ô MÒ›ÆVÛÍÚ +:ÀŒ>áOHÌè• È}ÕQÂ|²éÓ—\—Ķù¤ü Œ0læ ú±ÌÂM!aqèÃÆ`©9JOXÏmî>H‚l(2MD FÄñâ:wïL(åà]UIÞò›)¬T'.Ê/>Zt\ +[´¦CæQp-ã‰GÛˬå]ÃTßX*çkêFÜA±-<ŠU öŸ¥GTŒú›Tº¼BÓÍXi›4¯„ +”‡|DIùS¢y‰úQht£Ã|M%ï5 » ÷f)s º¶l{䨂éPö¡”dÛ‘„bK‹ke(p/¸¹;ãj}$+$lèýB|p®75/S8þ"Ƴ<{ÒŠgø”º›.jµq´ìÓ cú'©½‚ ªÔ=]uA%|yAòÖ¢­û¶ÔíÏ÷Ì“õnQ»ÕÀ‚ft\ù,ßv[gÞ à)JnÇc7!WpyQ·,%o·Ûd“^Ë_åsþžÛöäÀ¸.)¡ßÓm•ÕÂ%—ÓÃ~÷”Oª{!GJýŸ²íˆ£39öùWw«ºÏ‘SÌÍ ¾ßYß¡íxà‹iç€o4]ò‹«© @=x'Dº„¸-¹$ºA×¼ÙÑÐ;Lß5+Õñwƒj¸[–ñ²8*nžœoôsŸ$˜RZQtÁˆA7ªf¼5Û[s3 7<Ýy#?&\Y³c·Ë\·¯ÙÞB¿/¹"Ìe,h íuÁ|{;E¥•;Þ3²€ì…é#%)nŸú§À_XøhºÁ'ƒûâ‹Ã”}ƒë¤>Ä|shê5b²Ñ‘—ì¾jÿ1µœÄ‚Õ¤ö®M—K8U^ß·Ö.!ƒ;è€Ä¡33>}–c N·G4›î ÖNpRáè“ êT·xfy)+ aˆ5÷Ó3rÔzÀë¥YØ;¿Øì˜+nP¨¾ ¥0§ÅíLq by­£Á˜[óSI¨äï‹ý#rΓ›Á'vp¯š×ÃÅ_“†‰± îtœk‹e%ïcÎòØÞ‚32Ý}>çǾ½­;?EÇmÅ]€ê™jFdõ¨õ  Eº¿˜M_usɲeí7™y¬õõàÃ_"é ç#Oc3Úp¢|Û"nÄÓBŽֵÁ!nì¬÷})wxÙéš([óµMPxµiù|¦«,÷ïíw‚³ÊÃŒ¬:<éÆü‡ì} |$^¨ +˜R[ì“x Ý÷ê´yÉÇe‘¯SØÃœBjS Ôå„Ý"¿#™Ôýî±p|Ò†øÞÿØó¼Î~ â!ŽU§ý0f€íVU7_b˜*ò¾ —„ÒØ=z‡¹´í*„­‚‘x}[«èæ—ñ/TcÓkÀXÝÝÜ[øò£¦ žžÔÓµÉ9èãDßñ;"‹´ñµ'a´ñ’<麗¬Ôq1½É +'¶AD¢”ÕÔú•TìÏ»º¨yÏûH©èSCtU9ÂÉ<Ô—gXÞYÀÖ†=‹ T×úÿ @çð¾#‘èþ(VŽÞϲë©yåPä[êñ® +éäв“ªÝÈsÄôÌFí•Óm)gLal¼¾0]#§øÄ^NÊ%cFozÆoŽÿ­à)4™Ð[ø'Œ¾¿.µg,$/œ«5äˆÿîM©Ãtžó®¶ÐÕ[£ñRÊ–õî—‘Q¸#@”¹G²©'xoRqªÓ¯1ÚkZÛpð)fúaæïׇ¶,~€AJ€ì0¢MÏ{…_¹Cò²ðý&‚ûvê…d·2ºnb M±8 Fs˜V¬ÁOhß°F(ÿ+ç8(û¦²¿ù€Œc ƒÅ îuˆè¼öÇ¿Ig~(nEZÕD ·×iDQÄ Ç¯ïfN©ü3QO 5–Z"Ø*tºk²mT^-À1Ýó´,ð[o-ñnŸÑjò$ºøcÑ-[û–ê­VáÔZ‰3Šå²AŒu‡1ÙUI0G†OpЯ!‚ÞeZü£Æíñ__úÌö¼Õ¨ä賡J¼ßDæêíq_Ò ùª0ŠÈ1Щ¼IÑÄA)d+óµU–(ù½¯,U1†>ÒÉÅ—ÍŠl3ÒºðZ[…HÞ¡7ŸÂ¯Jô +jU{¨¡Ãµm&EöæþÑšøª—ã²5†ù»$™Ü«×€ùV,&µèÊ"Æš.0 ²¨äü4f²Æƒ|ùh?¸¯S¥¬¡oÒ´‰oÉ“¨ÑK7c÷×9Ö*J­õ` ;²ÃÎoØÀK~PÇ9WØŠ°w„¦2OíˆU¹0§-oka“B5Z›žm$„ßûoZÊQÝóQ<ÕYµ`DUé9º¥HôÛ=kÿ”Q´ì*ãˇ¯ù<¨ürX—uä)´Ù™;”EÕ§7KÈßÉÑ.•ùΓ’¡*f#²±áxiä m –€fÂÅkY5k +Uêžë`èKd¯¨›²ä´æg&ÝjÒÑ5¬ÿ9 +üïÛ®!Ð+Ÿ®)°K0—ÌÖNÚ(nèårÛW0,¼‰¾ÉŒ~I„ùºUxÑ`2²ð wÚTm×S€sK0÷"úœZn:Ù9v ˆ~´…K”Õž2ù¾äd—Ðã\©ßBa ´òIE%.tLôÉ ~µã¸”KÂýw|““Ù5§¡nB­¯ kÇEõU±›¤•öè¿qô,ÄP浇êü‰­Ë"‰ÔVßÊa!yÂ;q²ZIì\dýÙÅù®à§9Q·ú]´ý˜4fOW EA´‹Ï|}eP,£ýµ™I°Çª—¥b[G7¢ªÝjV’4y@'4Ñ"ºÅtbN]jGRo†¥ýq1b]ËÌ<[3WfûÚƒ› áƒ/EšÛ~0Eéødócô2 ÉJïé‡ô’rvÜf~Zoö€žêYQ¾ JͲ&Ó}ÈÖ=·yÇÆL¿¸X.øăkÇ#9~å\›W~R'³Ò½ÍänG‰á º~šXÏ6è^zV ÄA2Ä·B«vµZ PÆ2ÂORÛQDò2M£‰äeëŸ;k‹˜Ú€éØËÇáU–»ÆŸ» ºF¦°tÿIš]cÊÛßèDãÀ»[<ɱŸJ.à>K&ë…UÒOÁgn”×ú="yø¼V¶] š!™D$²ÐOTÅt,ªÄâÁ +”ÙeE;ÿß‘>YR3ƒ¯,ˆŽ xÐþ%‡è˪):9}ö”ùrù©{.2“Šc­Mºï3-»ª, ]{ + ¬N·´ékÞÿQž’ú‘û›Õ°˜¹ Wù††üôsCr^ŒlM™áSJø>Æ’.^$r^Fø £óÛ“æÄ«â!ø³SAMƒAœ!d´í­o-n[Bçòk¨°ˆtHå›ò“qj{½ÎÝÌà¨R6H5qtÛš7yÇG —Ï?B…‹&)1MeYG©f†&Ƴ&ç]4"dz][ÿ½^å‡BGŠPÑ-ÒXæ¼÷ß¼å LKz%a=`}Wî2‹æž–½oþæ Ùà”…Ybv$Pö‡Õ¬¡œV^38QBð=TÃ`Ä»“‘žsÀ”Có–Ãoù<öüãÉ|–‚}r”¢R’i쬈Fãέ)?«–ˆL\dtˆnÙËbáxÖ4’ýÑ ï¢qÞÅCá†r²›¯-TÙìpúWiUp–Æ8 ÞÃÞã’-”ŒuB0+Aέç¶(ª +€m|è:8ÍÜ É0Å_´çÛä[NQW&×hÜVN©øÿF2œÕ½ 2š9`KÏeqHŽP¬,~pE8üén£ÝÚxÏ FAG•æ‘ žÑC~Æg§džr-hV].¡Òˆâª«§áÕ Mš¼|ž½dL`¢1.šõEj•€¾€…t—«§ÁÝ€›¥÷m ²GÙ·Lèn9ôйsãOž,^›àAÛ.¿ Ži ­8s¶ö— uì¿S3öejTœ"5@:r½³kþC³´ÌIJ9­¥æä +"³ÄPÛ•v5Ð\bà±9ë“S+ÒZúÏPY2ÂpCï×N$*EÊ‚¸+ÈNe†ÙƒUsUeYöv1^Cì "Ú/±§rø~…©–#€É–aŸ—#9°ï3ÉZÐgæ ôYá Q2-²þ>IÀ}­ãrÛ»ø7¬\ô®¼šux€°õO¶µI½ç‹ob’¼#i;> døñ7ì3 ¨¨jŽç%ËpeáåHV¸ûìvP>³ûÄˮө" I¡…äÝKg¡yo$ÖªSFBºìë{ä=1Ö‰†VÞ@¤c¸ Ý +Ø•ˆ=Ï$üêÍj?'ùÉȹŽðˆxë@¿j­€NOÄâ§PÊ(G–lpÛ?ž7í´5hCWAMm8jg%gàI4ŸCªšã´½­=Åú9V±²þÆÇé ¨|ak §»z&¿ž5=G¸Üõ¥è‚n‚fk£(×]:.Å× ! xŒTfxqá+EP—ÊUÙ}(,tíãéó‘ŽÄ|à)Æ 6Ôû“퀠ÁTQ¿ù*®SÒ¨Q¡ßkuQ˜v6'Ž ­©]У)š% ùÒÙÌî,Œˆžë.Ù¼Ó’³£ÕY=z7ÊÇ›ÍFAóÄÿ3—™õá0ÇcÁÚJKOËQÜ š3SßtõÌŒì¢$1A¶àFºÆOˆÙ5O£ÐÚý8ç oægBS—êö»¦ é ÕJ(짢1tÕëßÚÙÿ §šöË$2"+yÂMoé:ÓxêQ°&Ó`>¼O½*êõµþñ4{6ôKÆðêÔµß<2£¶#§BtÃJ4ÈY²J‘Œ•Í­^sIcµù¼ì­Ã£}y«%/û-¸Ìü›¥q¦O "•ür»ù¬ŒÁß´ÿ1æ„v§Æ¯ +‚Vxƒ`ǨyÄEÁÄߊeÈ4¼®ž¬BNÏGÉkð# ŽO^ÿ~?ÄdTX5²³p Ž“šÛø€$peþ:¢žîs‚.h(»ØyŽ½’ã yCç.È:¤6Üšœ@| ´;7Êg¹¥n=ž\×_LÆ6S³|hŒ7HE}ß’¶ñ’kT\ Fñ¤ScÂ…û;ž,j$oç´B ÿI-›†»I̱éPAV¯‹qGŒ,®kkI¾.}r9Ê@¯nÌ‹¾cr¸TüÀ 'l‡çŽ‡Áq“÷²RÉ眲¼+Ó‹æ¿J¼¶¨Ï3)ˆS\ ÷´µÜ(®Qh„lç`uXÂŽÁ²õ?9|^ƒ\4gôdYºOÅ uq¦å»4ø +ΰ¿RO‡Tã8ñßÝHqÜ!ýòêüF}ê¹Ô²å•´Ga®ˆY“»ý¼°D’äxâÜ +…<{+p:V,TÎÒÝÜdv¿ndXÝ'7Ýã·vΤ–ø½†å¥¿Û[{(ÃÄ‚šk7.Õžç&´oŸH:¸„r°#Ú²ºð¥T.ÁvJaÏxe/îud¤‡lš€^âÞæ#!ì•4rÇ–žè5Ö²YüîwjÙ«xv»’°j¨(Sœ])¥  TmOÚRäÇŠŽ0Ûs+§xÌJ¸†0ó22ªÎ~sƒ—Y Ö3„ª´Kw’oüª›®ÏZ¾Ÿ¶‰¢}\S£\îN€ACçÃRúÛô9?píVÉ1b©t†¦õïTü!h'Çô‚GÙê¼Ã.‰L~±Çð1·«A9¨ä>Ÿ}ÿ3˜'+ ψŒÌQnäÆ{ÕF¯†ñŠ¶HwÊ-Zwê/ÚXÈ¡`Sß>ψ’N”„qÅžÑ<ú祘 +ohø᯵¬?ñ˜ M맞Q€ŸÜØSíåwÎã $EAILò»t™þ°u×_©ˆ5«Ž@’{ëfŠHuœ4[H'—²0(.äjØ*îïQ0_ÛFóQrD;¬Ä,»¥ã[ý‰¯ŽÒPãâîüpˆé^ ¡¶®OðC’ïhÙ ”*ÀJkŠg?3ö±°µ•~íÞ²MQÏ“Æ~i¯Üäº\ùjÒ·Ù“‚^Cqþ6NØÅ׿ÖÚû߶ŒÔ­ðŽÖ1¦C2ÙÐ_mµKUö3¤ƒyœR°»öž]a“Ñý×ÕúÉ2 Vd¸ º/j%7sPdРÖá©:‹ýN Z‰ +endstream endobj 592 0 obj<> endobj 593 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 594 0 obj<>stream +Êç!à­öV=wzqɼI÷Ë6æ§é~{'óÔË•£=!Ö´Ø;S¹5Tø¶,ú1ÔŽLcÈ}µÄVó “¶²&%'çñl@;?¯ÆÞ’§¬ +_ÕØ{§ÒSŽ\F6V×;ŒšM­2ÞÚÕ&ÕäÕ¥bÒD3¿° +Ûl$(BöóMûp9 h~û›&¡Ú !f±ÙCþ'ö«[<$jüÿßQX¡°ÚØÌ+ʾÍ(Ù’\k] ×DÊèÉÊØc˜Tî˜ KŒ$¾Tbþ“ía?|h!+ú%éúŸyù¾Ÿ®]ë?]mœ‰ÂIaÍ¿Fè2:d® ÕŠÖ€ˆ¯JÆÏÖœ‘W”ñ“—¯›“˶ó5Îu Â:dðãBÚž5¾+ƾen“ÿ0ÇbË«)°…™²ÞÇÞ¶ª·$7‡óp¢‹ Äz8c:Æ/h°|˜ƒöØ«´®à0–o¤G#‹¸9 +ÃêgΑ7#)¾pǦs–<¹ð ¶%QΗÓQ¾"Ö:…»¥ÎF¾×GÔ/JÙF×Á]é=?ÿ¼Ý™’ñå<î«°YüF»/¼n”ˆMó0ºF³¶´HWIÙžÇ.ʧðźÕT™NÍ>Å]è7¯ áêP¸`æ“jž#oS:w ‘ª~yX^‰ñø­ÜGî.kˆ:CmIñôüºk£W‚gREvã¸ëƒªÔ÷¯|~ç¿´†®Q?¦qo…˘§N[²ï¿)ÞýŸ¹AÁÓjI› ]­Í=‚ÒAÄa$ü}Èa‹fךôT8£ "z·åâžÏR{BYî6Š÷EEi +1¢Ñâ÷UM>GñÝOܯ—f½aòªúŠ¦Ú÷sZ@Åï§4Ý_¸<¼u³ƒœ;G!ÔjÅ%;5Õ©ô~ˆI{Åm0„Åk x¿FK[øF\³Î«¤fÞÆ´<ºDS{SÙ´ß4n’¯Wdo<å"8Ln2ìÀ/ó¹‘N>O<ÊVþ—’Oîúà®Ð5Íx:‹’“¶qˆ@ÖóÒkÊV­ä¢Oó×ÐI½§#FB$èþx­Z æK'‹¬aŠµ|^Ù†òàžjY—€Y%‹ºRg—aj€c°ðÖjOy@F9ûJæOYÔíí“Ý뀀o¹ÛýWV)#A)¨¥ÛÛ8»ú¶æ Œ…ÓÚ±jIІRÄÏîJúð}$?—ä•aÐSÙŽÅÌq\8; ÃôäæßcØßšoÖØ`xBQ”Öc˜–ŠC‰(83Ö/;ñ³VW"0S³w`¿ï¾[š(fã¡™éU’Úmwź¨J Kž÷H¹üðÁ9¶ÎÜA‘ö¢Æ´ÌEã2œ+ŠP`S—Êša—uP¿íÁt’<ó>ðíŒø¶`¾jÙeO(îºûóä³?« 3³-&Ô#ßQ𴨞d‰ÆH# A Ãµ—Ü'±&îE‰€å´LS*!D"9ûó|+íT7ó6 )y•ç‘õšìœ·ïÔŒ¹Jô±…ý5%±ù«•ë¡ÒÏ5cŽÓ4­©ÐKíÆVÈp¿ÖgÉåf.d ï¯ù@ Ðs 1i^k¿Z ^A²ñ§ ´ßÊ Tà¢Ñ€Éoaÿú Iø9Y~<ÉññÒl’ÜÆŠmMLèsžbîÁ½zVã=é×V‹ZÈÖ4o ý“èì*¦¡6OÛ? Œƒf#|}°4Åf&äPcc¹­8&?Ée¼M¬¸ÙéÇMS„½þ47Ëð^­n’˜h`2÷È#ÕY{f®ÄÈpôAÎiˇ­`Ì0›c‹Ÿ½ -m[ºÓ<ö½Ìô©â?n¾F2Ñ›q¹Ÿ¡ÃP›Qг>¿Á$ÞtžhuOÖT„”,5¿žôƒ*{²Ð³Nôu§'•QE“Ýšhö2ƒPòpŸ™Ø‡l7gr>=»Q%Þ‘+DH$ûøà f¼èàmÑ÷=ã ‚½%þ@¨w€Î ŒX3W‹=,iÅ£/ï…^®Í8u‹á–¶á3y„ÚÅç7eW0-MIÝļ‡ª¯ÄK—Þ>³xíí`Ijqå1±X㦠&‘¤iH3# ï8'vð°müigW2ìô”ûÖM#êüÈ–ú5X€ËþõŠ.Ï9Ñiøs|·›ËÈ1墩ý"“Ú•üÑ'ƒÉi;fð"ßhwFŸ4î'’ž7²Q© iÉP̯¨Os¼¾®é­Âäð|ßö+lÆ1>[-ôoj¶ë òÌ´ÇÂ>yØðæ‹ «ØRÕã„N^4••49#¯sý¢sóK˜þc8UŒû“(j»6Ùnd–ö¯¤óĘùr¬€(‘ÝëÐÆ^æÁ’ä¯6’OÞ§8¦çO¸3Qàò3ÞÐ?ÐxInü`Qíª§K‚ E'&ZØx¡õiM]ÒX”d}¿?`6¸¾¶#Ö‚c<ÖľB™A^)Å,åTZ¿Ôò€ôÈn2Ø Z<{™h Ï=èÙJ€¹‡Á‹'í,Õ¡ô^Îu&-&ø}q‡ Ó¨üºNè­,g(ïsã CÕaå4ꪇém±H'û>‰üwiß»¬¤>ˆ¸Æ¢Ý§¯Äo wâ>_×Ìò±*ï£÷4i“N¸ÕÁÿ/=™5¢€;žÁJülŽM¨†RâMÜj¬Z0R)^rÿU,´¤ÝÛýG´³²*ò±ª?'Ùfº­²º _5%rôÇS'Ú¬ú…z#aœ¤2Þéûk˯“ñÂeÞ00èdê#é‡ÓíšÔ¸¨úìtLüªÀu¸3q7µÀp͈ª,\ãÙ%seÝļ”÷Ö¬.ë=–·=ÝK€s™é±j¿?F:Ì!eXBʆ׉ÿ̼KäÃhyÐ+9@Óˆ*­ª´hçåBÀãÌ‹èRÛ5 _‰õÌèYN1zw­—ç }‹(VBŸzË’!Ñ)€›§Ã + Ï•1«.—Ü£-Ò A»ö É6€)x²A£lð˜Æ xëv„}rîÑ* -yE„‹éY‚ZÿA 2'o“K¨ FT‚}é7…ú¡G¶¬’Ìê+ÕÓÈëø\ÜoüC¬iµõ«š(ÆüºêCÛ“¸€¦ce¾¡ ¤˜;Gé­ÙÁQéòýþ=Ayö¶ÏDC˜³yln›ubÔm*¡æ«Gà焺ó¢geÔŽËþ[Åýö·ô›Îò/HWßÌÙ‚J ZP' +Ñ•2—ˣŖÉ5§h!ÏÈïÒ—GÏ3úÛ⺠ÖNK8Š·ï›ÞŒ¦âÕ:ô4êÓÅáB*j5ªIŽ(`‘, uòypß}_ûe-¼áÕ´¢kXxäÈOø¹Q©ýÿŒjX+IŽ=`Ò»™Dw_bšÕ¯!¨Wfι9[èÏ$†Hµ:Oi|ÝætµŒå0Ù‰JOùlHðp'ÙCðКÔÀлüí{ìknà£V—çÁ•’Èu½”píãÖ q[:?Ð,x5stÿgF‹^]™d½ÕŠoDÁóK SóIë4Ã4MÍtó¶éH!ŽN»å¬A§ÝŲô-/™!'šöhîS+1<ªW\mLkÈnQ[,nA ï2T|ð%àŠ&ÒIkdvl-!8Z¯ÏÃÐ9ZɈÖ3FÂY —É•¬åŸ†çx/?˜ò²á/-èZ +endstream endobj 595 0 obj<> endobj 596 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 597 0 obj<>stream +ÝH’úÄÔ4b¼«“ˆvKÑy ‡™ÑʧfãXB)åÂá˜ä‚̸½¿Ívà—Õ#X¡úÜ;Aúêp– +›Ñϯ¬ï0%?B3!‚Ä]‡€ZS²—c5Hº¹{ª–e¾o!‘D¿æê×{Bwp*.vøs¯ÂêRÞ0y¨C¶àl-vo)bû6°Ï¨SÌVÛ³}τ̲Ù!ânÿ…<õÚÓqpðk úYbðžPÍÛ$ç¹ÍÍ…«»g)¬CÚ>kj‰3ËóužÑíH¼¸íŒ–;Š´Ï#Ùg“!¤µ¥”ZXDÅ1ä[ ØÕ•À<˜"øáÎêíû24ïDõœZÈÿ³w³ÆÚsæ!?¤f>ÞøÓø¢8§9'·ÍíYj1Ó'_YÊ‹$—^»^'AÌÀ\ÍŽ6 ã'<*Y뚌BY•ø7Î +pÎØ'IÁ’k¡½5ê+0ª XOËeNÛu@òeð©hNô_«ˆ†(º¼…÷î˜Ø.öl4#וñClT& J¢ÔèÉhq~&òÞ}aÆ:@{ ÁÍýk¨Iç(÷—ÌÙš«»)Ì,ê +øh2s(‚ýEB¼2xxzNmf3q§j¾Ž’»®•þÌþ±Ç½åüKïFý÷ ÿÝ' +öv4v°JUÒcÂñ= 5ˆÁR•Bö¦†uÇ; rO`âEö®wÍ(%{"H~†¯±;n2)Ù† +0f]ãæ­9”1?ãTåì=1D ¦ÒòmßëÆÜ¢&]R¹GåX©p¼Œ9¬*bÌŒòžãcB0*Õjõ3ߥ¬BTýá˜pìmÍKOi.uÌ«tç™ÊA™é¾…Ô¸×öBZRiyî”DÔ5*6´¿ªœä7éÜ3®T<À:ì”ÂñÀiŒè„qÍŸt¯+8*WšiK•æÎœEzö¶%ˆ4 Ÿ¢ 8ºÇ•/Ú*—°ëpÙuÄ›Ç%ºa¼VQ†oð\ø+&®§)D¼JÊkÅüá 1c0Ž6ŠNä¹tJÕè^,vq%o†X-EGýÏTõÀk -™UùÌQ+5 ÕN£ÐÕž»:â7Žùl]xËõ×(([ j~-o?€±oõÚXßw.äóœÀY9òõ¦ŸÓÈ|IíPiø#c<χMt‘{íá+, +EËí“¥© HÉt”ÆÜÖm¡~PÅ^Õe§-Õ¼¨ ™îy¿è÷ž8/Û¸™µ°ÛC:ªšMÈJÜ›Šó ½F¯­X­Ô ¹¥cž?.¿´9–L™{æ ï’Ø,¥ÐT½µ¥L¯nMã-©¦n¨´WŒRF‰‚0ï…]èÔ¥ÅpÙ›(+»½iÈÞ"`Wýë¼pí3•`/æÜ%ÐE÷Û'˜ 2%‹x¦ŽíW9·§¼ÁÅk®Œ¦±‘¸uð…¦ :h›"ª$Ä -\žVÔ†>²V\ +¾eéG +çð»]_ódöT#SsºMmŒÏ5X¬P†9Ç]Ïnl8A'ì>Ÿ«¯öÙ;Ã) ³‰^EG‘ª°bT°eŸûµ³o&§Œk¶•÷…@O“æz™{D°ÕŽÎa &[ÎÙ"§dxÓ0 Ñ2™óʬìÕ—ŸM8ük:ÅmÚÆ\f²~­:W|™6ÙgÂyÚ® +ج¢‚ ^ŸJñvÒ~ ½ØáHh@u¯—LxܳN\ÊD·õˆ©KÀç‰ò8Îía|q‹ +ÑíGW¿@H§Òõs¸ ®{`XÖ™Uy×I‰0”(„µPñ%ìÄMÃû;-ë`%&•n¤Pµ9š!¬ÁSdì>z‚¸Œ\繘ßͯïÆ.®,Ó¥_õ¦»ÑÜ JúÉZ^]@JØ0ęՋE&mBîÒsÞûÇÓëŽ3,1S×a‡MEétƒc(b›0P$gÒÆÙà’²IÔW^Wi4§eF¢a­—ùB 2/¨¥¸ètšüõ›eèK¶sÚåm:ì„ò€~6£Â„öý y}|1ùaé>4àšgÑèê]^„ª³  :ÒþsyÔ×ñìCŠ…Þˆ×7æî÷AÙ¶$“Qµ2™qÎ_ê ÌJewÚüññz†À|l·ãÌáâÂ]°}=cõV“à8ž4ý^a‘ãE⢰ˆô#qÊe_r3è‘ýJ â.°5`ò‘¶Û-¥w~¿^á5ÚUÞ›h}Ë`v7çWÈÁ8|퉓òÃð9 +zHyÀ'…ç +åbéê 6Âàd‚¶ ôƒ í|Å.µs:ÿ†ˆ†àâÍ]$Hðh]¶&¤˜á2¦Qyâ :UòRº–ôôÓ}+¾{Ü©ÂI„3“-ý>¯šÚìÊðŒbtÑ9 £y¤S$Ú@Œú IC¢‚¾}Vˆïæ&¨…¥ÁM ,â—ÈE§õÆW{ OÍ'‡zc¯•.Þ§Û[öuF\)©r |V†í$ÚrÎÑöbòŽ4À +úPA¦(6¯äîöµ¶ÛpлM¿ +‚ŽoâfÖi˜,œ¤4¹`îè*=ËQ°`ôÌÐ ÿW¤Öz9ªcd"‘N·,Ú”q-Šþ]õGìïÃéekÝFmG©à·)øSøLŸ©+i°s„%‰„7¨›¶êÞØÉ·¾†ˆ»Ýúqhðõ˜á—GPt]_¼¨f}9A¤i"¦u•¯]Á[ipŒ§œ)ÇÝ$³`⪮¢7µ-'{·ƒêª‹»öò0ä0ºæ×6(˜•ÌÇ…tëI( RŽëøf6nàDÑ(†ŸïÒǦÍ(³.R{Î>Šå÷ɪ”%凟_p¢7gb?à‘üéÚŸ)Eôïü¸ušý2¤®uÅ1£uàhç7x¬> 1¨6¿¬^ê’ ˜'}Så~~Pƒ_¿_<Å/¥Õ +ÐVíøÌþbÈ™º‘Lq;ù%û'âµ½˜)m¥î Ð^}[Êý›‰§¡Ì¶^pioϳ¨ðmÔV ÿšÊëØ𧠤}™õ†=_Ø´]Ú÷w7 +û §‹p$fLbc¢ Js¬¼£ðC‹¦¹+«ÏBWn¦ÇýYÂ"åÂvGsF>méþ@cpÝíئEÓ¸8W¹·Ü2?€ùwôu…Ÿ[^Ÿ˜Æ²öSš—þQaÌ-(âdŒOj¼µ,ˆ¢­Ió»Ô_?axœäqÄ*ÇhÕuŠ¥.ýᇴ\có‚±¹{Ne4ì–‡H?y-˧á%‚8ª;½ûJ)ŽåvO÷lo[Ç„NJbß[·_ëT‚:¡5kÔ[þæMÂBÉ“â n V¹¸5˜0ðN£êˆÎ¤ñvy-¶îŸ8aï‡3Úûï“+q°†pFš¡ÁŸ[ÿt„;ùudI¬$œ]¬x)\({Ÿ ßa˜æï´Ç)Oÿ\:Db§Í`L{ã@3ˆœðCuÍöéEïªça^”Ö›áþȨ㳦çc¶ +N·ÚWá^G¨ð‹Oe‡û‰vJIaúP4b'^M—åÃwhБ–(>²>‡·Ñ 1ûmÙñÛÿ:-FÅúÀî÷Qâm·¾è Úd°0eµAð¯Êû½ðö¬¡S³6*õ(y§µA oFÒ°)?þK¾å^x¤EѨwè¨ Õ~¬÷9ýú‹fîÕß÷Š¶‹¹ªb²ê±¯Ò:Ú¾À`Éé#3CEð+gãÊ’©’>[²:5?k6³½§5*ÌG y"ýÝ&¨[B$^Ì°Ö8ü‡þ‚Y €/|­ÙhÜÑ‚¡*WÀ8É}"óG€ ì?™]qôðMí€üø“`ƒ:¥Ðâß\””[m‹|É•*{¾v3:néåRí¥µŠp}»1Š1®/ÄèiýÑ4òBþü6Š(jÅD°HׄY[q*–4ó·Jå:&n~Ĭ ÖëXöQd[M&ò%П‹“7ÇÑÑoª?ÕœÏ$Jð¹L“›©°{Š=#‹Ñ.ƨŽoÌL \ü»æJ¢ÚÓœ?”–ÿ×âÄ*ìù‹„zœ{`i(æÂa[Ø +endstream endobj 598 0 obj<> endobj 599 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 600 0 obj<>stream +P¯³ÇgTÌà(pÎdNl…I,»*jÃÚ—W¬«|'&’Ñ’ðm‹§¡ A"Ž´(a¸_~nîLÁNl|_¬àÊŸ¸†¨ž`¼x®¦VÑ×;ho¾_¨uÓ +S÷©™Äœ·pE}¬iQJÔUòsç¨Å]ãªqõbW¾ºjÌÖ•3ÔŸv\õ½(§9lr‡_b( BÁ‰ÑþFíéªMÅÿm_b™Ô˜Ãs~d5hj` Î6H—Ùp(·ºÖ¥õ%wLGY4ÇóćyS€*DŸ’<Ò +yï_qýÐ=8jÅ9A¼ÿO¥äîoä—÷ÝÄu–5Ê›äŸMGpóœ¥t{„†E¨èåz}ÐÁ9á†ÐFK±;¾,`c~DC6•&NÜÃ5[-{©éÍ~ÌĤC²6ãù*ÿ¨ ñÚ–ÄO17XçGK\jž¥Ó²hØì_ÏÛî—Α5¤mðè5–”Ò]íJ¡_H§²ìñN'jeZÀزaK<‹¸=)üÏX©ôJrµ mQ·ë“-ýÃ6x•1œË;ïbFȱUÆ`è¥ÖÊãŽ]°÷z#(χϖÒǽÏ[cH/Ó)$ί޼¤› ª‡t%C!êú"ú.%ÀSϵx¼Ÿ°é?q} ž}„ç 0ÆûôW2z>)ÒJ¯Çy¥ÞñúèЊÈÔ®T±(,/Mïbs°¢„VbáGdÜѾTº+· kP¼Ð×ÆøB³q„ÒlþEf$?I÷k@ÏQ: EÚÞ¸ô +…<õÒxÄK6;a(5Fû?u|i?kÑŸñ× ò,Âê¿ LºRÒƒ°Â% +ñi©H G©9¼¡ù‘÷œQk ]»n@S¹÷ž;L½û‘¼ù]I`ÍéUZô+š~.øí@Û?Q÷SŠ‡'mЩÈ~K‰,”rXÛùž§%¡bµ­æ¸Ö± +Ô5#ßô ëþc?J %©¢Æ/r&€½(­Dˆ¡«RNdZ%z3ÿQIažF†ctÁ–>kV vóù†o“*Û½ógÏtÊë]åOú·§@€­m¦­£ÈxxãQL!›ÁScƒ×Ì·wöt1Ù^Hš ÈYúUYš2×B€RäÆ mWDÜE[©‘;¢3uÅF,z ÖOÕ_#9–J$ÜVÀ…ïÝòö9+킘[¸å0&ƒ#-þefEoìkшò¤Ù8plO,­U|v É°kX»œ¸}äA”®·U¾Lh×jc5æï®\Ë.‡l¼°[HÀ_r§“‹‡×ŸõÏŸÿ¤f]Η]`I^”ûfIðey‰&Oqû7©Öƒñ©ãÚTìëù`_‘„_¢ \ü3»¢.‹Öº•×X…eÏÞÐok.™‹çÞê·r>zñ8#qe¢Lá÷wîjôF&Wò}zîí³‡´Î=‘RƒaÆô3G"ÅݽÖJ,ÜOÝ í¼KÌ̵°)d@Ì1ƒýÔÄH¯h>¿»µ) t—–¡ƒX¿=‡]v~VDg¥.ï¥ÙöFwíFuOÞóúÇ„‡¢«kÕ³Ô‚”R¤äœE¯½ºkX¥´ojãA¯ÂºŽýBæ›B“,ôŸ­è•@@®sE +û‡ÎWLK­70ÜP uÎ xÒ ‚b\ÝÙ¨•˜9”µeæ¼G…FÏ þå%·¼ž†œÃk³õ;ÛŒ§O;v•Ö7q%S#Wû7|ŒgƒL ²:eŸ!ñ‰„íò~ š o²ÝÈÉòÆþ+KEì;­>ä!/±bEå_H§ûÈ-õ1g6A]ßöÒK‚%t%±*¸o™$úé¶2ª)áD%,Š$mσoj +ÑOÇÔ㶦á²DP·®Â®Â¸=£H|ú®LÌŽ\IØJvöáö:©4Éš,NÕíU6;¦ˆÞÓª°æµšÀf âLòG}Q6äD]j6AX(aÊÛ®ƒ {ÜÞDì´EÜWv>§š#X¸m[ÛØ àÔv5"Ïüf·qaþ‰6ü#ð3É>˜†ý5B“î"ü;@/š=›k.íº•±:¬¦0!( …ø†ï4vך+5QgŽ$Fùûþ‹Ø¼¶º=Ž:sìªßKÄ>“—cºpt×½¸§[GY9Ø×ÖWEZ]‡ˆÜìåž[P¥vFÀX†[>ñ~Ãiw +Á›rŸ Ë·<³mvLﯛ )':ƒ¨Ñd…|vjrÑý÷Ÿl9ã,)£Ê]Fú®J*äÊ®ãü‰p>ëMÛ’6•õÑUÏÂì¾ÑLCâbNñM_L>Š¡²×y­†N´”«Ý:n“ÍR8¯´1æ˜D+ö/yç.Ûú? ©çŒJíË¡lF,}Ú ‘¼Tz¯ü”}x½÷Ñ-c,‰çà£c^Ašß«´Ó0·¥‰Ë/Ö $XÊĆÑ:¶-I“çý½ÓJâë)ÖÛÉH€â·3‡ ½¦4“âš_5qÚØ6IHz÷•L°>éfgözI0·K5ÿH¼é ´ )ùÛ§´}®p· ¾Àm…ù{Âñâ´ÔÝà&óHñàCãRQÒå—È'›Âuî‚ hLÆÁíi¸Øë|LE†½}]èaQç°aGœYr@ŠŠ¹]8{ MïDîÓ +aæ׬i–ZÇrHW†æEà.‡íwkM$,.¢¹dNU¶Î˜X¦£íe¼÷Ã(Áí"C1ƒ_¶ñÎÞd^.¯:î—møÛqO€fÍO¼À³RÖ8 7 S}Ù ¢Ò©k$HÝP[±Pbàm­p”<”Ø䬢’_ç} ø’`&Ÿ¯»TÜ5Æ,~=;ƒÃ6 +¢+')»è‘¼ªÛW•™¢°òíïð3€ ѽ?çKáÚ=áËv6.),äè6L IŽ[@{=øm!û!Œ±+¥@#u>ûßàë9¢NXwc*‡N®†™†µ +T%¡™2·ŸÑ/.ÃfdÛâôgï»Ö¡·Ùdã{\ mr‡rŽ(BŽ|P¨¸JykÆ‹ãmûmÿÏ¿@•$Tжy•¢fÅ•bËO:Ù wïÚós[Ç à`p·ØœßÒ ru/ÂT‘t0æ0Í®#Éá:¡3³#‚HZ·ôó~Œ¤¶Äß”fyy;×ò0ªR¶·pç¿{¦ÃÖ*K¸U•8 ?45mý»[gÆŒbÅ9léœ&‡åJûÉœIe=ýººåÙ˜\³†-—W(ÜZ0Aú*igR«ÌQI¸Ú®ªAž\ùôq8!;ÚðÝ]lÖ”dÐ!`f+ܠ̲¨Û³J«ð1"3(×[ + ŽÇøIùêÅ5„æj1ÌÂÚ%Õ8Ì—™¢ät»ÎñØÕŸÐÝÆç ü<ÊWÕx|šõGJ¹ðæW¤Žñæ$,â8_«é„sËO¶ÁBôYÉ7Ÿòÿ¿îvvKUö-|Þ«Åé!™ÂK¦ ¼œVD÷À"\^t†“ÂݯjõžÆl¡[‘øbRñÈíp ÃíJÚÍag«×€2­_Pb±ôj~ú·M>èÆ8 %¾â㋘­ýGÝ?NM‡d3¹Ø/D¨}'»L(Á^G–!Ùêë‰+dE¡½Ðû%“)Í_êÌÜG9ã]Œ7$œÀl“tFf]1 Y\%7Ìý? ›/GÅî«Y×Y½¼·†> endobj 602 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 603 0 obj<>stream +cðµÖçtA)mwA³ƒ˜bjâ(üöóhß ÁU9 èUœ(éÈœLA-rÌ +Ú¼«^‚?TtaÄx»ºñe˜c_ÁØb§¨˜§ÁþD¯¨ƒv6 ¤©3šW`ž]íç¬A• :Ñæœöïëƒ-4véx´(Þ—PwÇeƒ{¾ù'BÝ£ªä|žh8.Æ8íTñ7=áüÆ(šWëdÿåÆ#ç¿ZÁVÂ’gÏÕŽ¥ŽpÍXE}¢~]ËRHhÆXl—rÿ¼—mVtO¬+¾xÕ£ˆì %r™Ãšˆ“lBê¡JJHD«tEŽøbàmŠ}Ùu‡;B¿Xý_W.•ó›ë¿\ÿ;‚us¹§BÉ8"ãm:Í-ɈAÎðb9a[½Ð +ÛÛ4îÄd þUjk2fÖ´ÂQ ¶·'1@dÏÜc©BÔ ·ÿ}+ç–|2X¼SŸÔ…îKà­K2q©HûâÖþ3 Îæì܇ï8èPÈûÀs 7“›m8kc +~g  +.Óàœ Þúê]ì~x¡^?^{o_lËIÔ’QÓ­•ÝÍ·“èL¹|p&*tëT¥‹ š­¯þŽú +c DBݺŒ S†Š‡8ûCÑè±A`èà¸ÿŽm0€9©\gjÅìQšeȧ®ã•7¿R¬ÎžÇ*å?ÌŒ(÷úÅ ÀQ?\¤riáý7àÄžöÿ?©Ù!…ÚOº¿Ö#bGà?ÛlÃĹlÁÕ[úïTìÛ(Õ6—cúnÛ”å­Ùbä/Á¼ñ¶›dŸ” þã:e(ÐAX*P¯MoÍÁ…ŽÓ#“4>d=3îm£H3óní8Ú‘•§ƒø ¼Áôr½·,GYAplx‚¹ÃyÆ”Äÿc%Óõpaq0œd2J¢(ðvqù7#´àDŸ©kˆßÑõO?¿/@Nn€¿Lk%eþ{˜g¿ª­½åˆfƒ¨Í+ËØ¿úÌÍ6«(Žˆ‚úÒꄧ*G’œk—¡ÒæOóë¥+ä ¡|ÐÕ¶œŠ-‰GGŽJCO'¾ãÑΦ(W±÷ßdØqæ¹G5AczÆ‹K'AÌtõ…u†U‘wC;Š[~ +• +È‘_Niâ¡k0–œ³9Ô9'~{èÉ…h§} ¡æX‚ š¼§dÄhŽc¼Œ ©òÍå8•xA®ÀA8ú°v¦¨^Šã,M_ $‰¶òRåhïè{»ò ž=]Õ½Ä+68Wg‰³cFÞºÃúÔ1E›øH¶Â ³àë²Øˆ[¤‰Ôv –;.k°ìZ[Et¨ï)…Ó¸½]@ˆö­?SLZòuŽmHŵr¦(Ñ£ v©¥ìP¦)â5­Ví—ßyý‰õUÄU›9ÆÅ6-ÝhˆÎ[møî:µ:1Ið€a® ÄÉàBP–î…5tgRYW]*¤y¢,ýgLo‡ˆxdÔEv$üQ{ ÜŽŠð Ï*û,Á9Çeݬ)Fä¸wšd§´ÅÛ" fri ‘d—Y u Ä¡sO‘¯ŒÝª9jWlÐEãBîÅz&þ”•´®´xipüÿ×,‚ŒýÓ˜>yì§&½ÿ­Äpd•DÉM8DæVFu÷wbpÅà¼Ç +„a þ ]*h×!æ*•dÿ’@¸¿rKñƒ6—q3Þ½Ç=£éxÅijþ<‚Þpf+dLs¤ƒÊgºœÏAÂ%Óéš6º¹;;©{ é‡ Ãê|WÌvõ¹ +7Óšl®l±6‹Ëž¹[©ŸÕGŸ,ëÉ‹B'Jfjªñûš^ˆJ½/*â¸~w± b¬Œî$Ž²Ÿj+*MЛëߥÁ\!V +i0/b³€×µÿúdÎS4ÝÎÙÏ$xëAÊ„&“&‚¿c‚xk÷A„S†UK ] ï¹­²j?1öù•vEcp&ŠUÄš.²bvÖ'Š!¼Óµn”PÔe“rèÌþÆ:Oq3Ïìª-èE²fÝï“üÛ÷aÒ{Ä \/H…Ãùßëd]ºàÜ‘ÝBòTsPr.”þÂHÔÅ8‚5âÝc_ø"Th˜éº‹)¸FÂÛ?VQ´Êý;f“#òmìFVP„Êpó¶ÏÅá0šðs`m {\qélRiŠBbÓiv@øßt,ÅEÆBPáT›ý ´ùS ¢'%Ü…Ù¥ßóŠ]Íû¦Úa·x9kì9x—è38‹Ê&s›ËôÊ]þã,UH7z&Aè—°ûºÜø(÷\Ét“²VE…ÍÕ¼Ekõgñ"ƒ™b­—'[Ä°ª}`Y—tŸá~U­Ú¾¨Ü¾QBC**ÜU‰X–è½Ãß´Z.³0•™q*žb6Ëš*úfD¤™w‰-žÊªx€ ‚CÀE4 èæòòÜai©ôôó) ú¶î×¥®e-]…q–öBŠ¿r@'—ïtgN(ƒË(7 _–„}þN€ªÞ‹jÿª³¶ù[B5üœcW¡æïÚý«Èâ@¡­ÖdlSO%íßj›)s‚1š*P×)ì}ÒÝöÜøWQ Éý­7£H¬Ç×—3ƒ»wWKOå#ªæ‚QŠ½J3žRûç!„r'Òöâ³idƒEÉëH#|,±åŽð3‡E{zÕmdWprE\&–2ÿs¾&O¹Ö¡ u$kþ“Ò7ƒ±‰‡®µÀÚEa¸€ +Æáë?Ö,Â+[„@xÇ´ý™TÖDnpbæˆVܼ:'º±|û÷Á$5—LA§ån2£ÛI€ÛNÉt?6?×w[Û™¹‚G¡)·¦3=5ÒªFþ9ôX‹Iô\ó†r¢¤­ƒ{'‚~®ÞµÝñäI$UW°‹ YŒ NæΊaª‹4Ø* +N³Ëm÷bHÕ½'û—9Õ­ê{á +†WseÛØ!©u!±->¶òI"•È¼dá°O óYÉ÷a¨ÙK±Œ¯y‚âuôøm]¯Éh5¸ôG9 +Ô3Ô.ëyTA>Ã<ÎÕ>ÌÔŒZf} Jç¹ÉÜ;š¹}í‡{>€ZÀ,5-˯×a gmñ¦l妒3ø«•þÅîE4|[âßøF—Ñ~ìIÏ–Zˆ/>ó¥ðtôÒëB«ìb[hS)€ ÐÓt+l¬Ž8C™?㥚›)aª ¥ ‘‘ñÓY*#³M¶×fǶ;ŧŽQÉ­Ýžoçoµ$ És7ùP*‰6e,î¬e=œßô~ÌÍØXC÷îÚÂ8h% ‚㪯³()e±G°~[ý‰)WºÖ¼^—ä²ÂE ‹^ŠÅ-°µšn(¯Ö†Bå‘€•¶ qYâû…ñ¶—H3UÐPUe¦ŽGJòyû2Ï«¤ßÏ¢¸„.ñÏ”Tªú_M[c—öj8W ZßÅ>lµYè̱Üdï&ü¦ öuüµó~]Óµ|Jôö[Û;¨T¬÷’ˆhi‚WÖÝP¢¦Õj8à«Ì©Lí]ýq´ja1a»õªn¤ž¬ˆÔëø£ ^YŸ>J>î%ŠFb4ºüž<ÄF€{#¥ç{1>âçÞoYÏÿçµzÄÍÀí·ÿñ†T^…ûÁ ÐÒP2÷ùø¦&êÄ×mò=nØ=<‰7}7²ßš‡@…¹'GVB¯ÿ"⹑½‰b½LQþǧ `3tcî"?ý«'(çB’+Š? ÆNµò…[grªˆÐJ¥_[ºøH©—vÚ—ðò}Võ½]r×»‚:¡$F _|3K\mYÜJí‹ÞˆF\ƒy»­ãÔ+{¾ˆ YÕ±7ê +lôçÔ3 +>ªœãå çx7ÿz~V0åÓÞ8šýä˜e ¼cP9c4{YqHLR‡ry^âÚ,bÔ-Ïš°ê×ÜfKþÅ7ãMz)Þ¬ÓÔ¤èX´ãE¾Â‘LIŸ S½˜¿÷<Þ0«ó‚´gùöô—)™5GÆȉ6ÁîóÓz¡•lø´…H«”á¬<e«.¦l,ã}ï«VE|i…¦Ç`Ïc„>V%ÚÚêF” +FFKln Q<òi6ø» Î’µjËŸ¤eànÒ²˜Çé‰f³Ô§<ŽvuÃ`»vKŸ³ö›¢°b•iD¤}n?Ó´¡(©OL»]CÀ[|Zcžµµ…öJe½bõ!îõ¬å)+Š8À8ËØALã,=# 4ùNbvçMªõŠÓÙIÀëÜÅrPæ¿—•ØµÉ ÊôL7¾Š„Û +'(¿HW´ei8C”VÌ7SÝ rPr4P.˜ª:2“m1~ªäû›–àLŠÞA4ÄÓn‚VMvÄ +{É2ÇôÏÓÅfÌž•úGÀm¸i;òuÀ>ÛÒ"úwm!Ÿ#%‡&Lrøí3îÞÚP º™#j¦`¾ºY:^üÍÐp‚5›â´l’0ó +Æ/Kù߀çÎŒç~£dS´&ZŠ©ÛS\9«bXŸ…dÈ$Bnç˜?ù•r«ßâà•+ŧhŸ’ãt'j/²Qx +?ÞÁp !ÇCrƒeM„&Ž“ä»;ÙÉ܈¸°ÆT¤iL’š²ŠïU¶üW–@# ±Ø"ÍÞ?X™=d„±“æó¢—ß0Žg0°é~ÙO’á0ξ›ôu€™cƒÓ_ºæºíýrd§ž¼íþaÃêO Þ¢œOµ¸yÊ2]5Ü««&¬vlÞoM¼h½†$Öz‰­™xFÄÙ€óënjVâúñB#–U™þ¬Ñ]UíÚöÄy¦ÌŸ™«HÎ +YÞÈã’†ìã½}PÚ9þnÇYé>4$Ì®öu {Å…Î3(¶h ¸†2Ëi"–å[±ý0F"^)óz•SH»´»Â,¹‹>ï$ÑŤ¢‰†OH´'zgo}?îà£v‚Äpêï¡m7Ø Qo”½£¶<×òè"†Wœx6˜lc|NôºÓÁ½8³#ßÏê3MèÆ,¯J®Mô~ÞäÛ%ø½ó„Ä â³ˆò~ýdx¬jyÙ—0 7ÑŒ«I‡òò\[—}ük°=½ßj-I)ÚîkSB¡Yyæ—V¦7–F:*‡ªKù B“Ѻޫ˜ƒ«ü‹ö¿’o»Ù}ƒ¼¨‚À&b0ðàö«“6Ù(X½wt\ÙÞù­àK%M¬Ïc/KMìj¹Âgœ¹®þù +~ P×Ññê@rlÂR2.ü¼ûôÊp æðYsÝnõ ¤O0Æšy…>Þí>QÉTY»^å5F*ª>ƒ%IfØóVICðé]Ø> endobj 605 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 606 0 obj<>stream +Ô`´-W„ªœ9bΛ%Üüß1=->ËçÆÙÊØN_áµù„CdГ†j$M#}ý6Õ7·1¦saùÌž‘Äs ê'&¦„ +íÏâò$C!ã<)ÞÍöhgŠNÖ75f<À½Žd÷µ-."§oheñÝäUúÄŸƒŽ·ó<8ñT€¿¹µZ#%¡㸦³Š'E+ž2ax¬“µôÄðáÃô$‰‡™ù_V:Í–PÜ<'-‘ÌõE$p¯¸éPJ¬Í¹Ùò‡7éÚ¸ ”4Ñ9°hHÁ+‹ÞÕ¶ ¥þ¤i;g“‰ÝÞe6)†|O°qtõ|F®ÀP +2gvA:BÖE\Í7­3=«!b%NÑ‘hÝ)B|ÆŒc¡Á™çÚ &ÔòªñSíü‹„7½÷‚ ©~™À³± ‰"»Ù”έáŸG̦CR{Öul‡øk´N—ŸT€¤q1s¡1ú|8´ÃA<:ÜÑKŸoË0ßåì%ì¿V»Í¸(C*Üîùq{~¯]&ä~~YðO'xk_/ߥ÷ç\ Z˜n‡½cqhSo^$ѲÙ:Îf÷^<ÂÇßÐî%×p›°8£¥51;Œ”¨?Ä™YúlD†V°ºŒ”ƒ‚º‰ 0ˆè©Wz QEo¥â©]–‘úÑí ÙŸPÁîhÎû4£"pqCœn÷†.d‡·8¼/twkª:l’›,<0…µÕ¸”y’|*‚+ÀÜ@µEÊm¹Ž•9–çúBñà9§k‘»ýk&¥ývÎÍQ M¼äW[Y­Æi_ßò—yÈÛV^·çR/ ¾hØy| +n—ݦ—@m×ÙÜÄr˜{ qûÎ4HæqÁÔ]™ýY ô£hš¹v|È_3lTkf,š î<Äy™„>G“Ô7DqRTÜ6óM¡ä§®½–¬Ñ30ˆ¹wHW*«ØÓD6†Vh$„Ö9S7§"ÙjF\çt³Ê »Á÷ +éHx™à¾Èí‹ÆF44ZoA.…õu=ùdÝ@Æt‡O³aT®Ü©V»ÕJi(Ó™û»çvï¶Ð¢N*¢\:Bß +zw¥8`Îàb‘§¡Âý,žºe| +¤*8!ÙêûÇŠñžê/P³GaYùmC JZ¿6ÍË­å!ÖR¤ÀQXù…úÍèUsÀ¼Ë°‹¢ +4nÒvóVåòNbåÂ2âÎë‚|OÛ€m—ýÊ( A‚;·…p&öpô4¦’K‰3_§Þs+WÊÄuÆünÈËî‹^¡dIu•š:Þuí&¼Ëm­6”_[ÞV‘"GsM²AÂv΀.º@ªáxɈå:é9Fƒ^Òk&¾E\E‡­Ïy+Ì5ÐÔEszpÛd…_”M¨å|Í„V÷½,™ Æ\´'Ød±À£LZÙÄ•‚.ì÷³½†é—¹÷‘ª6±°Ç Z<ß\…7ïnòMDz÷¦g›êäöçïÆsADEi† ;”µ–Jˆ,1ïºKmö:ªtë½Þ’Ȥfø:Ç ¨é\œî)ë‘€0h¯TÔ`µØž¢@›Å4‘0ló@d¦P‡ˆGÓ$ ¬ýx"[‹|½`y7Ô9uK—eÜ|Ûr$¶U¾ä“ÉÖ"ÚröÒŽ°¥ozdÑÕöŸ=ý¼ã¯§Dø=ïh! ”`Z]`æ=ç m´>5½§IÌ]F„òRçèåÕ]erŽÊÖíÇl<»-‡ôó}²:%ïHÀ\jä­£æ20átoEýˆ° UXdjØâmCõS-Òt6ƒ}\/XW"ã-J~P«z®„ýžÜñ7ØDÎdpZ‹u~b˜C¶>k—BB4P 0á…Lšl¼r kE)©* BÃÁ,Q臡GÂÊÚG©ŸœÀÚŒWh´bdý/¢P­.ªÅ¤Ûžw$ø/\íéêSµ-r”ö.°ïçTrºüØB4–»šeŠr4oܪžÝ鸙aØÇQÃÀ²Ý¤³çð„±Üf’2Ѥ<¬‰RÀî4ô­•@fGp`^³jGvf©%$ºÈÅ¥StÔJ +;Peã~iò‡Æ +CØPЈ—`*r¦O«®Ì«Ô|72ŧsJü@~óm9¦ï7®mýgï®ù³+[ev-"9oÄV;l +´Úþ.à å YÍ#ç"jÓ ÿR´˜mrã8‡B«7*[V¢¶ôQ=øí±óZ/1eP_êÌu‡DßÐÒheí0y%§ãí?ùKºI‘O#=Lª`S‹Ñÿ€ gñjîÜ6Š‡Þ<üÕÂà§Ja1¿J‹ 0gÚ%foªÛ¢R‡ï0ºÇÿCpvR¨_÷_;ĬÃJQÉZhM‚?VüÂ&G÷„=Nˆ§ø{EnOz5ØÓLfMÖE¡$Éoß÷ ÂÅ—Ép3ÖòVÄà݆I `Ȭ¬ˆU]ô9„çù&e¨ÕÃò[ãlyøßu1Cðèh®?¸jÁñ 2щIî‡-^˜°ÛÄl(6ªôðýœ÷((äwæøÕ&Á¶Ùˆ±y_2›–ki±Â[& la~qÇË׳üš-TKj)z­7@wõ:+gåå»Õï„[ôã(ÀÞT‡µUÉúIõEßÖB}åu)¹k5; ö¿\ø’ˆbC˜ÏCÓ{·‡‰Ô*çî7„.‹€¾@è0ò6vÆ“êV,y t깨çz;ßC´ÔoB̓wöR¹ô>§”™› wìö)ßÎ×ú”h·üÿŠ×öÆí ž~&›ÝTÅSêLiŒüblK-\ÚB§wº(})î +=1þ­±ÃI=Ô5§T÷ ÑéçûÇ“£ B–:¯Ÿß.•?•MϯuïUjc+Ì9"tº=“ìsDMô[Ój]ÇËŠ¬ÿ½U¢B > bY¸h ì³ôâ ú%F| ý-ˆP²KÉ-‚ï2ÄîÀÞÑ,Tx’ïÀõÔ1\K'ZÏ]ªi60ui«•Ú„‡Þ?)`ë\‹%Ñ8B–ìµÞexWuTZྨáIêj ¤´p i…ÕïIW$‹Ž¦òžë"–-dÆ°È)kf$à:x©Å3P[:i–RÔ´îV8¼jeÐônœ÷˜ç}êÃþidBõh+‹Y•í\åt|hÿ™ +¦ô +ý3®­b)}:´««)ÁOõçÜ;JC +‚û›‡>ú­m´L‚ŸÄ—Šzf!fƒN5ÐbóNµ(ƒ¤h†à I¨ +ŠXÉ„v70 “¬ÇîПåê6µ2nè +.3¬=Îͱë•þˈofb¡£Èå?}+ê‘šØ^5ôšû1³#©m§;íýχï]í»6`9ž„>4ÙÐÅä¾Ò\Û5‹d —Ù¤)¹/%\ÏY;¹-ÏWŠmÆ\KT¯zf#ž¸˜kl*¶aV–l3>|8emuZ}ç®ø¯=#sŠÙ¢ã%~$=Ù(ÚIÊÓòÞ YœÄR’VêE|-Ýöž„ØOÃ0:ÊTn¥NWÀLGéƒ9×!B•$\»dÈçôd]@‚ÛÁ1-ÝlY¡Œ'rj|š9•Þ¸¬¤Àþ4Éî<RÖÀçÕ¹Š‰9K .º<_›Ëœ¯Á•Xâü\Þ§sÄ3”s/ÔN²°ÁDØCe# +ãݱóep÷öRz9WäܨG&¸?Õ#—k Œ€Å:Ñ?G´ïÞùX."•&ôCäüàA3*G”¹`<¡F†R×@mzÁW vUW¡Úñ…ªóÇšÀlëDƒí˜Ë¢Ã1ž­AЂ)ѦQMÁ +àÎÙ[²;Ë·=#¦`ÞZWÎc2Ìn€ÍBžˆÖ| +endstream endobj 607 0 obj<> endobj 608 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 609 0 obj<>stream +…x<ûÌ®7bžÑ_Fï0ï"cKdÚÒÌ&6J©%ªØU±Éþ ÇE&ÉÅID{ùݨ1œ’Év(|E:bŒP²Rš=ÑZOð¥ìÁé1õ»4Ýè²ÌC?äyI_¯Üu%}lȱ¡ƒù.Ëeki®[ÍsüUÅññ6ž MLBºÑUPª÷`,\ˆ¯a¦øQì)(D–åÈFÓ˜\£D›ÌvllU ¾"Ë¿R¡í"ôOäù7#'?ª÷ÌÔN36å€ÄÜ~µÐ†Öî…Û=®[‡êrÍ0?[ûhû´Óžxé8 V1Ò¬ZÝ[L¼v2Jg¬•Ã©Íw¹ƒ4Ž±µ •²¶cëBÍçX1Bo¹‘iãÎ\åm[ÕI2{BêÕ­Kï(7*fD~óã ¡í|u;¬ ™+‘i8.™-ÓÄKëU¹g¦¦w‡ÿ³Q ‹Æ¼ûâÞ÷UèšgÑóh?H2f22Èƶ…–ÄM ‘<ò ÝâåEJqQ}‡ðï÷?u†y>õf%•Ÿ+q¾}ç¹þRÓúÄ`¡Ö,%ÒQüzt—Pžêw¿>ÏädxðpÕ«%°¨³lç/û[}‡î²rþ_fL®rdáP)9©{Pz,„ßQX´ÃY£žH’ãkI|¡ ¥»Ìõðt§&ƒ³‚ âE#XÙd?œ÷-ÞðôÉ6hn¹#¼£Gó<îQß¡ˆé«‘—¶p™c‘J¡—naù•¸k÷ÙÍ€6yóBÛOc~š:ŠC†0TÖdFëÎÏ XÛ)g‡/’“Ìæ|U '3M*¼öAdÿkåjƒ@OðêËÜÿrE÷jmÓ Ä¶]·€^T‚oÄt©ÖÆ/ò̵’)Ä =`{oâŠ7ã_Ü.ûî{~¿Ø©¸s&0 Á¿à~Õ:>b…ž[îKñ%²©*¢[ÌÈÐ9õë#„b€ÚÏ™«·ÓæaâŠ'gM cùvhª0Ňˑ—€Îîè<, ¦Mÿûáµ%:jû´ðGZÌV:f¹µË¡I> +–\ÁêjStñÜëòòÅE¹Û<6DºŠÃêÝ’Ž+jë¤_Éá9õ”ª,ÓS™èÕí—M{ @IéCŒƒ-f‹Ý‘2“º‚º QŸ9ÿP˜~ÐÀÆø'ÎÀ4Æ¢££]X­Œnå7ñ{…þ ~&W^DCÒnØ2¤] NG§>øCvM}‹È—9WxRŠÛw­¾e ŠÖY¾![¥ˆÃ6æ ]ÔÐòoþ ìì± /*ä7ßÆŽWoÚ.³h"ÏÌZ :êµn`|­P78ä%Tó¸ð†ö›ö?Vâ–¹äʃ| [‡TuמEë ÷y¶aC6ðqzŽáÞFôä.·<ÏÏL|9y”zu”+’òñ!\gNÏ=a´·¬WY+C/ˆ ÓC¾-Æ=ìA£¨dŽ÷]+š„Òv’0ª‡óÄ,YÒxû + šVü9¶D2®Åj]HOóÌÒ‚W¿.ü}E³shÂGȳUƒ=“«çŽßùs2”tŒ@>fŒêæþþ üeóœ?.<úò‡ŽSRü…¦Ÿ +÷ªSQ!Á+@³¥òC“º¹çB£ZcŒ)œÏ›GŽê™la˜÷å;¨Y +ÇO‰£’mŒŒòF‰ÀøÈ5@¹ºÃ:¼‹öOpèRÔ +‡œ<¸—¾\ @/™’ ®ÑÆn¬’^e ¨ŽÜ¢ÞÜÚù¤€A—Ëã à9¬ÓL-¹#®ËãÆ|dÍW «ÓøÐ*IJ°Ûóªa¹ÄÝ×'x»$ˆÑ[f<A7ÿøvq*æÌ2Âÿò£Š†aru1ô#ŽçâXXœƒ±§ÉÙ‹($GOs7T·7æ§ÿúTf6+oê±þ#('•=«xb ”)VÛT»óØ|Ê‘@&fqñ[0„R ‰yÄÞª¦âÄì TÅÐ(Ÿ0åÍ8ñE&+!·eÓ”úX¡¬.z`*D&®ÒÕŠdÆJõR@šëõ&Âî`{–•/ŽÜ&óªxÁCä¤ë®\fAÛfÊ ܺÛ'¹îboªä‰tcÏ3oJÇþ +‰Í›*Ô¿ÆcggjAtõì/¢¿Ä!¿Æˆ5V&´âî†Ã”zt p¤LL­uЗnñmþ†T ÜjÓkFÍR²­R0DR÷p!M·ÂGÚL£ì@l¤_Ü•MÊ!;Ðpú€ F»{0úý(|^¨¥úÇtFH×ñðÓ 4 yNP€O¯¹´~‰T&9L><ª>‡”*¾ |¦ªÁ•™%|cžŠ¨{æ¥f&&”Ô ³J7ð€}?¤^­øSg¤Nañ˜[^5Ö'3³^·±Cÿ¸X, l†±0½è]ºüNç8Î/’“õTšQ"é4CÅb 2%»|­÷Þw¿5‡{,Î?r¹d¿h¿ârÈN{:K"ñ'ý*ÐW7ÑžUJý”<„ÁÛ©P*`±„ñÓ¤¨ôo‰AuVè¢Y LvtŽ}m§-DcXàci5…íMÏdÿšòÿŠ4¡ÓŠ” SK»ãû2)ò9Pi„è*CgNÜÍ.:³¢f8¥J_ŇŠ™L­°> æÜQ¬ÃjÉçÐÕnëœ#ý¾ÀE¡V +Û˜lù„jÌEŸ|Ïw{–ÛÂ’¯¼ÂB¸8WÇÃ7K¯u?%ÔúåSÀÛ·Û öj·€úÐøçù[­W±ñ¨êVvM&Úê_uëF€BÅØšŸÉù;ÊWß?èÑÈ®ðRÄ3Ö뜮ëI\Sá¥m0¾‹]ºÇ +¯å¿æòCŽ½þïÙ÷g ÙXi¶´Y‚÷!99éÅ1* ˜Ü—T|Ð*Ý‹"¯wcÙ\eeðø%‘ï.žÛ°Ã‰¸ßˈìhz0v<-[¿×,þ3Wç¡\í0Û­Ùùý7u·Ÿ^}ÞÇéyîÆfþú¦:}©‘ÍСH(èã"2¡;ü­£Ë Z&¨?¼÷¯õéÂZúéÒdövkV–¢ˆ½O‘WN)ÿÒmg¼VMÒðBê3yÖo^ åä¹û&S:Ðy×bëñŽ ¸T6úÞ'ìdŠ{º¹C&f­mÇ/ij|ÄAŒ/CÔÄUDékm1þ'Éßg¯>º^‘Š‰`@ƒQ  +>гµP‘y‡˜×OÞ_D.N®= Š.é)‡Â4¹•6-Î9÷iåâ¥_N^2NP´¥Ó¾HÐ ÌÌ¿«Ò°3C*™›ßTýw¡÷ÿ2åÓrÐ J$KU  S/‚¼ÀØ ªýü7عõw‰±7Cb%ÎnÖ\'SÑÊôL™ùߦڒÊ8A°²Š¯ÌÿYÁäÙÞ¥ÆlE&²zn~¼òÛπʤì#û94løø(såÁQä§>&–XKÉxðϱP@Æ?c¸šä$ßg;-C/¦ÞÍ\ÙtI™¬&ä›ÏTËU¾c ÞIðúÜ¥YìÅlÃ4˜þÐ]ÚÖ© v‚¢uNZUCÕŽÓK³ +endstream endobj 610 0 obj<> endobj 611 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 612 0 obj<>stream + ‡ë˜_G”£&®HNb†¹ï>p!¡(¥l½Xów2•õÁ”„Ú¹>CÍdµ1“A×4C3¸Æi§ ‡9tÁ[ ©vÈC¾šì  ×å &ÏÜþ‘”ä ,Ü|£ô^VEw+NGwf· +aŒö +Û¨ïK¼ü!»ƒUݪBY|×祆Ԭ?YglÒ@ôÅ Äzó©Lã,(ÇÖ=F=´yKPÔ‹L2Jò¶¹É¥|ÍóÃk”šì‰àP ã>e ©3 a`£\ÂUeØ ßg‹ʰ2áä¶Æ @Xá›_rà©0IGUA‰â\7Ü©‹å&XÛ9šÍdOó·•ÔÑþ']-„'¬LÑ\;Wqa½ VxdÔ6¼¨¢÷”MÐHÈ« aˆáÿbÑ—©‰g·tK@Qì§lˆÔøÎÉÂ0µïåß—¸ ÛÛûû ÚªøÒ|ô#æâŠLW_'×<†­ bÄ•~×ü߯p‰&È›Tã]‘ûÌÜ9Žÿ‰‘i¢±ªXø鋾°=ÞbFu°/F“”^C£ÿ±ÐÜÆËžYÔ×Ëj¹#)Å ÞmÓÊÁ‚qNSR8Q^·Ü§ÌÓìGê¬]R¨ò¾`+ø}ps‘¼éܽy¶,©Uõ/gÁz^- ŘÝFŒºÎ" +†e F¡fmÚ+óA2PÄéÉ"ºílí®"lÝ[¹\ðRtgX'Öáýóù!ÙSÙ*ó Ç$ª >êá·N:ùã×A°n5¡$1Çh`<é¢?!á†Ì÷•‹)¥2söHæ^¾;#Z&¤"tQ{Ë|Æ'%3¢·Œ¾ ¿¡ìºZ`Úô‚x0!÷5ë5t/^–QÅ8»3[-WßÌøiåÜ/T+)ðŒ0øD¤DßÐ|(ÔoåvÄû§ú³³±Ã<(Eõ ^·É|EìÈnE¶¿žÜ€Í a„w®IÇ1È"¤Óf %–¤ëTšÆÃÆ]vLÏwŸ½õsÄÜãí‹ð, yª„»e²ûÈ÷}ã¸Å<ø<3ïŽÓeœ b«vj +›Þ´ÇaÅd:ݵŒDhÌèј;ëHÂ7¬S9¿J$ êÖ¯I³¸ï_#b]áoð ­Fã}‰™wä9­&Ý`ÕýE€zö ù .ݽØlEBÃFĸœ—U”íe§ÞœÑ:Ë÷m{íyµ„#®Œqéð'p +×fƒœýz.'¤ðfs1ìßéÃ÷e…ôê±öŒ›û1BàïÔ戈UãåSùÑ_4¾–Ù£²¡NGoFåÙÿêû"’,"X@¿>T‘ÑZˆÌÆÐB'ìŸ%¬µÞ¤zÆK—r C÷…¼È=œã{Äþ’Ñ}‰üHW2ÝêÐò¾É"&»£G× ñ}j#;À³‰-ìŠVÞ¤ÑO“XÙ9]§ÛÞtU(Fïmáž‚aB †¿X®ÆM8W"ÿ&@Áá3–‰Ek}8ˆ ¸B±rDA:ûëÒc£àz%WÚÄ~;ì©Åíxa»B“*¥Ö¿Z¦®ËÏC1»AÑ´¬¼~LX5€ža÷á;~I\ôP ß&'…ùo¿±Ä£ +êâ—e©©@ñì~~ü“™ >Ÿs™˜•n阄þ4¹¹§cÌæÐísG&éµ™mÄ È |üY˜C2–t´Ù.ë_óÈmÓXŸK”¡î¹½I,¼Éf¨ °+]xȨø4h7@üVôb= e"Fk™}>ŸºW¦ó”dËúmœoáó——VôIÀCÎâ`{ûJ,¿v/r$QŽ´ SK«Ò‘í1Ö&!ü‘ce²I¥f`_YÊDò¹Å~JhìŽ~@}òÞ£Ô„Lá0<]…^NâçH2x-0äÔ…é'Šš0úŠAµ»]l$Ž1Ä=¢/Øþ*z»‡Ñ¢%va„ùŠã)¾F ?À)l´Hi2dÜ€)»]­öK$ÆñêÌÑz‚ȵVüÛÆC-+ÀX¢‡ˆ˜XÉÃœ\óÄY'ÙÀ@Nu¸›ïÑÀa0 ÛJ‘ \ì»>0£ëx'&ñÖTĉ´GÈE¤üK&=Øà£æœËÂÌæ&éÖ„ti7+°]‚ÈN{…QáŽ{Êõ­F•x’ØŠ¬HH‹Òc«Yµqë²Y «lí÷FŽ±ñ¬_V!ÝŸ½Úåæ;*9òX¹4»0ºÆöš¦bfîî³ð2PV8é=Jêêþ +ìj€Í˜¬ôµ–P¦…ÇÍ7( w›´”—Ö¡ hu +P¿aI‰Nd†üîcÈDå½Q5™ÿ‚Órît[ÛôøT¬ÌRÙG9£·-!Ófª«rþàî›`Ѫ¶±w×|Ч1'°øtÒÃçÄÕV>1ŸgåVÙÉ]1×N¥gË‚§F1ØM‹a ›ZJÒŠšÔÀdÝUlúáÄ»èíÂ¥2§™, (SB“`Iké¯+µõh ꤳã~ëÇŸÃÒÅÏe~Èm¤Ÿo”ã^/œ…|oÉ?@h 'î¹ßÿ[{¶êžýqp¹”¤E¯\l zŸuø_ðʬlóÎnÇ Ï=á…OÀЩ¼`Túºáœ§ˆë¾S=s’†žs§7fÖ€!õ81«Žº·í’ Ö"ïë§u¸,Àûó³¿àÉ‘IUÕN&4ª}›“ðFP: $ÇÞ°×i±^ã]Ò¥+p×bM4&$äRaBçu¡®ýý%œPy®œ­uæV* ÚÝak+ßÕ†juÍ]EÁ e2¼Ÿ¶XC‘°o|µ*¢ðÑfÓî*ÎerL“Jõ¶üZé´ñÀì¡byøéNƒ†Ú}–’}ÃÑ®§YÐü³ÎmqtŠì9yçžPÝý[Þ@x<_XV3Œ‚é6KH ³yÅd”W¡Ÿ™{RD $¦Z!q¤ìÎ7]NU'’©&*¼!}9ÈOʦf_ÚÇ +{EDß°°~hÕÛªÕCâ?b›[³úÙcP¹}+SdðöPRû²˜€Ç%žï»x´XÖæáÿ\Ûë +#‡²Ó&W/3+ïÈ*ñU–öÃgfVÐÙt4B‘Üg%…<\°òÜü!Xð<4Xò”¸$eµû¤ˆ4;Â`º·*1Y^Fx ˜áêèf§ʧFq÷Œú)ž–‡¤ºiku¡TÓÿ}üõyrœ‰4.ÜòP«–[S'£åaÚÒTm侉aÅü¦ÖZ•Ô3ö%_5íXd0 _›õ­°4Ññ|®â§X-ƒ±ƒX6à ºÑ­]v‹€õôhp_é½ý¨Á”³b •z‰*•Ù}?›œÕgb%|ž¦®Ç:þsÝô3ð”ú¯\‹“µÙÂ`'N"]÷•oªpåM5>ÀÈ4÷-VÞa¾@‰\»BŸ®>3‹\TÏ… ,©X½¹] Þ*0¾¤Ç6È°;ÊIíkÛÔžôs!ƒfÒlˆ#%O¸7êN!`úõ1aì;‡³ñ׳¿Äepx÷ØPwúFuñ¿±³Aê“ö™¤"'W­Òî易8¿T³a㜇¥»—KœmÚ^ýK±Õ†qV=…:¿1‡H>yÛh=ž°´ãÑÈÜ“Üt ]U½»ö˜Ð…Їð ñ; ¯R +uëaùZKr{åüŒhˆ‚-÷;ebˆ øR>HøÊ¢•`1‚åjjÑ›Çh=ŠŸ þû©>ÿËLJQ·ß? +3{½’¸È..FYÐËÝ6*´Yc?|NLp¯u(ÓÖ þ—@¹g=('f3% Ýå„XQsQ¼üx'¼íÅÅ‹g–݊Ƥª=ù<Ëú¨i€Uû—•—”¸œ*fG£’' 3Óù Ó²—…ŸïštÛ’lÔß0± Ê™:¾õ̸ªY2pY·=†Ïáêü•¨Á›åN¿Ò‘ʵin¨XaÓmiã¾0Z[U,²¿_H}ŸaåÚmÙ p–­¹hÁM}Î@-®,Ê|jd…$÷ ±eÙÝIÏãʳG$s¬Î°Vàín +ßÖv™9‰ÏÑþܳÉÄAC»œ¦†z½âº-Åþ݃2ØÎy’`±<Ú³ªX×û¨˜kŠNà¦ÕWÚÄñ.._ø¶s€&[52( +9ÒÝ/¿ÂFcÖD’Rç Êɵ1’I«|Zsnu)˜ë €å~`«r“ÛUœ:¸ÅŠAI!E©´¬ Ùðq<þltŠŽ­¸=¦°†íÁFÀ³¹ ÎgpŸ]úS½n[üøoõTÚ œ’ › +Œ s_Û‘¨î”×óòvƒ¬­z*½õVtÁ¿µô'’i]*ø*v:S‡ë¾B¢e1 ÑŠSȯRš¸¼ŒÙ»”Ôó!1_Ìú›V±ãiäÇ…'Ö˜_ì‰Ì²ÝŸ¦aoŸW&§cëìö [¨5òÿ¡{ßÍ‘Z"­x9Àñ›­øІoJŠí¦¶C£ú¢¥¼¢ÈÍÚ”°v”ÐX(ÊJžL…øµ¹'zZõöË¡©ž=]6#ð!´oØZx>*ÌÎ òÓ– (#DNí’’“Î,²*Mèf?DÕªØ.¤ÓhD>¨'g ˜¼â»Ä6ì@cÙ‘~dU>MRÊædˆÛNVÜ>pËÐ7¹ðîTÿ˜&©£p—óÍm64(PVYš”evŸ™Ù ‰Š«ïÒñ´2Ð@/è«€UÛà05el`ÿË£ÿV*«‰˜îŸj&þ €!G*ùº–PÄA'ÊŒ·Çí“JÃÅ„Ì(ªm¦KW +êgû>t¹ä1þ¿®,O}tvíæ©lA²¼‡=Û%.ýÛ¡£síp&ãçòÖó¿¶û…WN¦' +ˆíâ‹u+Ï?³¡Â[ ;uÝVÿÓþïáîûÁuv/M e‚§Ì•ÿœÙ­~bt[FÿýCƒ")D‹hÁ˜¤aü£ñF"Gf[ÀÎÇÄö¦Þæiš¦–5›š"ñxÆ¥ô­Æ"ÿ1¿a¥D ®'GuzE-Ý€ SÖ˜2ŸfNT F²ƒHÊíÇoèeÇP‚½v|f¡ Ø™WúÑdD9Šªç3æ?~àF¿ ê÷ +†V« a¤ Ûî^,kï^ µ@=a”§†Œ¡;!øó—2®g ÚN/¾à™6<ûÒdGïTI¬WCÁ–8·ÔŽ»,dÂ[›:áDÀ=5PÂØÑÖÿ#jI›Á^¨~ØVö³Æ¡Ö×çÛbq-§6±þ_º¹½ÕpÀÎ&*R'9úÇ„ße¯GöÓ,!ʹÉÄÍ\{jEùÑC•ñ†fmUSŠI0DX¬üö&ŠÜ›M©Ñz­‚ËÂzÈõÈŸ¤m™ÔpqõÝZòÖ—æQsÂÎ"´†S¡ +éê|d|]Õ¹ACl}VçE øôç·ê¢YÓ—FƸÞØâr;^ªø¨}ä~b”W—?æü€œjþ+¯Á Au|?±›â@€Ñ)¢*ŽP^™ÙñÝT3¯°¤U l.´À˜pY ý„‘åGŠÿ°Ú- h[–ê?u(+¢¨wØ™ÒÌt êÆÏë4¨ÇÁþ‡̇höÆÈ Š°¶«’XUî]7{ŽjÑOŒN§®‚ Eñ +¥Ã$'Q–O‘b/Gd:›•+ê6µ‘VaÊ,©l“·ÒŽ‚›ŠYìèQ8} Ÿr}NïÜåT?RçRG¾DÇâo•¸O*q¶d…Æþx*¯€šsÄ)9 êYH¯éVV·ØÎdZË ³­`î5ØÞd}¸³ÀDÃÔϾ:j”cöÑ6r'+òÒÇ!‚B\o‹c«•49R°?ì³:nýE>ÿQ-µÞLÁ^ =¡?Ù{Äy@'/å .'p¿Œ’˯6€8mHû.›’~O3wÿÇÒô‡Yå´ÌeŸóÏÒ/~¥´*Ã8YRÿ©©6Ç瓨5l¬è:;-©ôf 9´›A/UOLE3Þ-p\MK~.µŠÚ‡8s„Ou{=".o/Ý„°ßЗöóF=9@5£R:óÖ^Aä)%w¹®&¯ÐªƒHPçl•hh<Cf“˜NmíoÅhhaçT±_?éÛ'©û„YÈÉ™›Ky#KBr3*@±EÈ#½»AÓºvµ6^T +”Yb‚R@ ç<hÈÊR}M2u‹Ri–µ“èÂÇ#&,£Ü»™çCó¨ø*ÍÌ9”ªzVHTMƒèX²"¶ŠR øgî~Y¦T@ÍL +õùÓ¢Íödzy4 »cŽðÒ†sß)Ù yûºöÐÚâÏÑ„éSÍ0t³üµÍP”ꈣUÓÒq > Ä}‚î‡ý½Ê)>ÃÖW¢–vØ÷•`T™"¦d²…Åç_Ñ°Rë|ì‹eÂ["Ä~_‹ \Э4Þ:XAñEwíe­Ââ[Ü2ÖÕ-Îx9Oü]-[B ¨ù™€1ß› 7öû,6ºš!LhõLͱýõ™0óçÌyKÙ<Î敱š¼Ò|8ÀìjšeüÏ8WÁõÐ_ÔhÀäFL…yñ«MÈyüi%ÚólœÕ¿fqS›©B4øŠZë +endstream endobj 613 0 obj<> endobj 614 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 615 0 obj<>stream +L䀆:êijN^HAšð.›ª4Q¼·ðÓ>ªÞɶKpƒ5”â|lÊ6Qt¬Š°™w¥’Äx»Ï.rPÍØ¥€2xauú””^ü…:`ô'6`_Èeáõ2—Ù¢¾D|ÝçÑBc¥ÎI·¬,¬¹ÇøÒ—Ž?M +ñ™ M*^-ãTu•ú96ØÝ«¥°­@âm1Òøbm iÝ0ÝøèÔ?[ñg ïÜÖz>ù¤wÁ?Ôy¡h ÿÈöî´8[ø7§xŠö­N·ç}œ«ÓÕå«LAŸ" l/¼ë½Z$[ÍÓi×Û {?Ñ0þ=%춪ëµc€ç°38ßß +?"Š4Ë¿P² è~IÍ.ín­Q”†°÷˜ÿñc!ÕeÃMÆ_Á3ƒ+¡:=‹;‡Ù·{AD@‚}ëi-<IϬ‹ñgv1@?ss ‡Q.ÓØÎñÐøË×/ÆÔ7K¶ì)ñ¼ïÙ!ý eÞv”ˆ_+M«Wäùï\¦1MÃ%øFu³DâS i¼?#J‰6%8ˆÍ®±Úʶ6jl¦šm³«W«"5ŒÒjmþDì ®A¿Ÿá{ÑGóä_˜ ^ÿVY1š8Ã!m€c>g"ô{éÇSÌ"LèRÊ|ä|ù>“}ç_æGb|ôu—?Ñøc¯>¯vO×!·¡,[†6ä~Gÿ<æÀeÍ[†ÏfTcC'º .Öè}ÏM(Ïm”iPcãI 曹´”²†«ÕÛ,xAÝQwsNåoçW&õÞâîêY+§ç7XeÅøFnNIá -3:3šLe®ÄøsRŽ9á…n>½ùêB|ÑÚ‚Š>ÒÎ0ã䥚·çü˜Xm’+Xƒt¹mT‘Ä4;‘Xº8_P†¯[ÝpRw‡+¦EXŸE6—»K·È§B:9£¦Öà38J +‘q Ïônùè®°<àŽ[ÃCוc-Nèã¶5´\ëA˜TÒ„~i/x¢£¦.¦rwv«Ô>Ú­ NZY…<䶈x}Jj.Š2¬®!¯ALø¼#Êûˆ6î°ûè|íl¿ððªÉ¿šTY¡ÍyÑsæ²ê¤¾OJjÚ÷äî‹tÙt»…ØV–% ¿:¦02J|¶GXñ‹·®ZqºÜlDñYÄëÓnn¶°žm—옜½!O`X äÆy%JONÓª xÀ} %øj'ÂKÅ}ªÉÐÔ¶ILÜ­¶R…-7êBʯ Íúm>§'1Í:ßôb xŠLâ×½ï•kŽcI0™¬\`·;¸P$¾@»1i2eY`(MÍò'ýçŒ_“| +AÞTÄÔíš ƒ-¢î@'ú­ú Q›M¨wê¹—OÁM]éCI§¾Yø5÷ó7¼·ö’1ßUÑ’­¼êåɹbKèßœ¥x;§ÔM—XÚÊ«#¥†03_‹¼“'´Ò¯=$ Ÿ#ÒY—íߥ­.H·/dGZ ‘cLz îÉ°ò²ºý˜ckpþÑäÁbŽæ›)Rñ¬F8GÙD»ä¥fGzú?YŸ}6ÕFÌ„7Ù!Ig¶Z¬*š\M¬FëN^ßÊ«ßï3ŸºQÛr3¯˜eq÷5(C +Ö·úª5E›€œhRéu¥×•ÿ`]{Es4êDï4„ œofX`”ÖŸ=äÑ/;ÈžrÓ8Ég ?%!Ô•`Ù¥/÷¹ððå´v#µîþ\[‰%£KLAZç¹Y¡ÿ`lÁÒÉIö“5àûfòBëùÊWa« ^E6É=Y?É™aãL„“¬Q”Æ9­…5\lv—EO¶×Ï2dg’O¼»}NÒÒ/¾‡¾¢‹ö±LÖD½ñM’tWó-rûLW :Á&idˆ†*}ÐdEñhPØ_ت<¾?Ÿ}¹¸”øÙ>] ù¼ "ïxxDjéðºlz ±*š°àT:šF)XhˆF‰¢ÙÃZìï¦ÉjëÓÐÞ‚DŠ¥ }óMçgé74@ÙV›…Æ’¹«ƒÀçȳó2óªÌ«\£$ˆ›ó\EÚ¿éëÃ×0¥G>d,áýW%:ªgê÷ª%Õ,õß@ÂCcsXÙ}&ùÛ.ÄâÛÐ_dïb„›ž^årå#*÷JwE4ÿ’]6¾½f—E–c3¨kAò0°‰lðìN^•f^ï‹*Ë µÓ3}MeÍC®>rXÝyÃæ²Äkðæó"wn/Ââ`Œ®‡~NC n£ûSwõë³Ì^6‚Á2%ŒrîDxBºÄž©µ|  9~ä¨MS²uïüƒeýgaÉî¯H·ß¸“|(¡}ös +$çÒú5ÎÜÃ}®ÈÓY¯£"[Güsß ŸJ¶Cð¾Ðy”î³Ã"_Rôs`ªº@\)Ë-ALò£J2‹ ¼¹zçOY˜œ~GÓ89ú­w–¨øG‡ÔçPᇠô6»?'ØxÍ=݆"0í'M€Om¾È‡±[ZR2Jwö·ÔYOEyŒŸ½Ü³Bºü•|°0zíÔG©}.‹k}°ýEAQ½”ÐÇz«+åz¾ó;\Ìïm ‡ŽCmáï‘×;‘Jôë Xª@OE]YÐOÉ "j]´O÷ `ñYéléŽKvá m6I4¦¢Ÿ’ôf4»¸ßÊÄü²‰´±x­øç ¾® ÉÒö2RAv¡à<]kw_UAõäuÀ¼)­µœÚ1ÔÇÎY€§ó3N9¶²À~fËè¦È"mjøD6ƒS‰CUĨ-a=¤b…(:Ý2®g@ª×ï÷lä_ñΉ±XuùÆHX±”«µŒÓyMʆ]õ÷O‡Ì»“Õ<>f ³0h^öÕ½³üá_RºÂ¯¾áJÜ—\.c +BiµJ#!êÔm40è?¯ûÈYrä4€7GÜ&¼úÔG²¼ÔøGÖûPB,Ä9i—‰ ŸÀæp8°»Tó_‹8 ÒM/Ä*H':×C”Í9ft!5ýÒá*Á´>=RUÔ‚6à'’(téDÒÀmÄ!æ$&½¯µüVøúHÄß«Þ.¶׉ôdÀyls.~oÿ ’ÙéRK$Ö ]m!(8ÉÖò +’¬Ñtäg)UÚ©1¿š,¤~ú‡äŸ:E&O ÞÎ#‰Ó— ¸ùv5¯É›Ö”,Wdä)ßóÊ‹ß>ýuz/9ÀÐ]áÒ +6êÑXºzt—[ÁN°í™y €·Gõ¨:Ã8f§¾nàZ>q„Óe¿ýL“åÏJyÉ=rÛAY +ÒôLÊ6¡ù Ãÿ˜07dqg‘Pg,ÖŽ}-$åL2óÅžPª%h´ø]ü»Ô:³ÏXÓo'SB}2žšlq7Ë jè²&A2”ãݲUS×?Hd5µs­¡Cý8Ðã­õÖeh^ôCwí‡Óž{±ZO<Óv‚÷[+¨²pkÚ±Š[}\yÚ[U;e 0¤Üô¢}ØŸJʸb4Æ“E'%*¸ýõ]ítàB'Æ~òõáG­Ù&½jt?W¢ßGXèHwt´?¨Ðß®À%m£Ý<ù(ãŠ> †œdÁßÜö-eÔ+>>‰Ì, ·À×ÒlB&/]Iߨ0E¦²ÿS´h¬ÙGåÖ;,ö%F¼­k[–87µ5+Ø ˜wT£Œ±çèFàæO=ñýYš#ùÿ(‹èº}dKòë +YØ¿0"CªšÌ¦ž‘fÏBuæýîÂÎÕI3CX|ŸÊ¹ðøh_Ex´NÁÂm+NÖ=´—ëz4‰l^»`È5ŽÇýÂíáW")vk ÓÎVß¾bÃYÔžhñŸÊ˜üwÊ>ÀNéìhT0tƒS?ÓiÃfJ_ó0¤2Èõá) €ji/æ-ÖFô‰áæ'íÁæÞ'<ÂfRn Hæ1஦šˆ–šB¬OOŒa n]Ø ’KjÜst†ÅèvëDì¡ž -ÔolßïÊkTòd¸øžš".0íïÊ=®ºÖ³ð°Ã ÜkHÒ†Ja!ægJš'ûÞ‡è§TÊ8'º€O™Í^”L•êÇ,yv +:¤«•^`‹¶v<ÖUq^’ xkYdpÃgë-Âÿª=ǵ/n“±œ6ÔÜT’ÞÑWÜ“'¶8 §¾æFŠ4Ûy”ä»5+¬ñeƹ ”*û õBWÑ CãÀa„±J!]«aÝ4Z—ª)ùdU*û„Ë*ÂÎé/ý'`š÷eÝÏjˆd";`üùXiU|¹ä&R¿W»!?Y®R[@û†d +endstream endobj 616 0 obj<> endobj 617 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 618 0 obj<>stream +àœÙþA»GÝ£|ÞÇ2ç÷g®¸m +&’XVÆï(MhE8ùŸù)|‡åtÌü‰ô‚íu‡ &õÁ;RÅhHª\CЪÏPN\]òýÈx¡¯YˆŽ‰ü¾ÿQ(*‘b°Å1ÒWóZõV°6‘å¶aNˆ~ßÇž%€#ZÐy±cãe`Gß‚Ì=£þ”ÇW0eÌcZLc4!“ˆM¾±ˆÜ$ +ÙO÷Ü?,ìàÏ/wvŽüÊ?²g†€o}’@‹~¨6Ví#3Ç™>O)XfÏÜ…²<—¥*LÎQšút(ï»Aeò)s@æHž6®vU?áòSC„ڈͤˆõ2¡½Œžs¢j:žäwô#Ž*™vÈlf\/ʘ6}EÀª$Pžy¿Eï`—µÕ«©ßøbV×ÞÄß`ÖŸÇ –¬9óæ§Ñ£ÝØTŒ®[Â16šº L‹rzR÷Ø©¢ TT¸Rr¸ˆ¤wÐ#)˜Ç;ü· (Qà”QPâw™{?•6Sp3òòÞ7 +ðaTK̹N9G¦õ±ÿÒÉU¼‘«ÛŠSú8Ì|ñ´¤@h§€ÜÝ6Úah¬ƒòY{¢"óv…™€…÷Ïg€¯À@YÛÞß>¡Å~%à:ž»¸ìܸB/>€ô%eÁì¤6F‹ÅìD¸qBî‚–7¨‹ó­^Ò´©L囫«Gú½ NÝšíoŸ|–e+‡š1™” ‘aC¾k>¶ÓSe4X"¸F|Ùìùjk܈KJŽóSã gŠ¼Š€è –àMƒ$÷×;†´ÿo–ZáTqUD13|ˆ=±ð¯ñ3zIn™{´§QMp¡6–„«-Û+s èŽÝ‰Ë{Ÿ‡å2;}Ôê|b½¼ˆ½jHõ|3/+šÄŠï·vᇓ%|l¹›Ä…ô,õ@À,a°oñyµ¥nÍ~?Ñ^û"­4§˜q{³`Ö ÃIô>µx½ŽÏlÄx·FgS ¤ÂGj=4åŸôw»Î¸+¬ÛD½«½00î¬^óyëÉŸ,Öôòæïke鱟¯¥²Üge˜Ò™-¤V¢Ãâ ÛåøJ£­ù Ö#ð·ÌgbÃHí£pX’Ÿ©aÁâ²¥õAß½“§·Ãòn'“qhÖ»Z±Øµ†ûàÚP…TKî=Jˆ¾×§Í2ØïTÂHnFMÆõ†û$4(òUôŒê<Õ~$”¹@°)g)fݾn‘ý7ƒƒ­’ªri'Ž! Ð^6 ÀÒÿè22À!pò~I¹®¡²&=&rü¹uÓJiS| ÙR’Í ¸È0ôø® V³C\…kø:PAp¼ïªš4H´|âü¹½_wUn?ú‡ø”}ºæ{ÈôÖÚèõX™„Këax‡~·ªM8Âqt4“Cx§ŠåO“MÖo%9¢{ÈzFýÀÇØÔ“áhƒ˜þL¿3RèécMÄ^;Œµáù.ƒíqÉè®KQÍs&žˆŠŠÚ‡„up3¨ð9̘<8¢yÎh›@4üx^ëû–j“¨_íÎ\ŽØa‹ç&à …W²úÂöŽêN;¹e#¹˜° _ÞI‚[æ(N4]¸%I³œúúÍã~óöJ¨t!FQ'“nVDZªwÆäSÀGvùƒÿ…šŠƒ?‰vw`£hZ¦¤Üd/ñRä䬞ú Û +F`sýÝRB€;íeáWŽ[¦Œy73×D’°Ì9!ŠÑÛ{FÍÎ6›Š2fÈà!fG6”`ýµŠoý%] ÞÀ•%~)€P(î•ù²²»óybœm¼Ý*Ùü¨ª–x}‚ãý¹*–iKZ j5 þ×´þ`×;ÿÔؾ¢ÅB+þ¢ý\ tÞõÊèZ^ +xpÕQò\Å=Àµ×`çthÁUͳ•/\iB•yþ³7šP§FÿŸ/é3H à•Â8 $;>oÒ¶‰‚’ªÆÄaåè§ëÈ ÷ÄÌv‡‰îá¸ÔøX+èzOÝn<`§Œêæ¡ËhV°Rƒ<Ý‹¥(  +wŸÝ*NËfkË1"Ñ Ú1ÓfžÅ"NÂ…_žÇ愤W`ˆ¿ÎÎc²Ò®¹U½“°VvÔônÏ–¦§]ÂqÏÄ…üóâÛì‰+‘€’, …¹gcK=ÀAïfªoÒÒõ;ÙÆñöèÌ^!´Ö£J6&°.šEšBm,a!–(oÝÜþ —Y7ØÄ”o25ãž3¾yT¥$]'Ý ÉQ•E9ZsU +ú¦Â%rZà\á#Mÿ±ä¶dnöù2~ýc kT¸P4™æoKÇÈïê$<¶“ º9´‚ÀBŽÛ&d4ե´¿+ dïÏ‘ø_þÈÐYmÞ–ÆÖh= ¸7þÀПxÄ×´¨ƒ3[׉…âNãó3ü|+Vʈg¯6Zäeó#œg.$êDà$¡ß~ýÿfÃû3àˆJO\šwÉg©å„ÜÔÙ»ƒg–¬+¡ÑÆGlYóÿ÷ï£ùÁ鱪_}‘ðYîåNH$V4·­ñR\Êñôþ ÝÃã.Iq¡¾(ï’‘ÿBEã5A(]ÏÂÖqø¼H T|Üʬçœ' @¼Ì1©ê±%u`hö„(±y~Ä¡Þr€ðÍJ°uŽ>ßûÆ ü®óÞÂò†ÞhiCM®”î|ÖãÒÍœ]fòŒËæ·ÕȈ,*ÇNá‹&)º¨’« ûÚ£"*˜µÐÔ’›Ê ZïV‹@±ºø²ô >Ø ÔÙbÃyí;Ö 1Ö.r«ÄO¿ØÀUàÒâ3gS©Œ6¡²Kob­P<Ô僚 xóÿ¯dÝO5µŠp[ãä\=6è'öîÏå:©ó¹Xp·Ž¡VXÝæNȹB^‡,‰Ÿc\XÅ»_€H+Õ£ôjæQgI©$ÛË–ê¹[ÚãÛølNxZ„0êåe~FºõqE¡© ‡’`¾“Ö‡¾µ¢%ïä¿&Ž‹FFÒYŽçé_Œ¡wÐ5ÿ´RšÚpö(ùaù/yAÓ˜hB$ÕЪ3šwŒ´ ÂɶŸ‡‰Åeã«»¶GDö!²b¿·BÁ¡-ºUP_©hu“ÛŸK¥:pDâÀ¢×‰ wæñ–ÆÍ™²¹>¸;‚+_ÿéÈsÜžŽÇ+rý*æL#ê*uñÉÞ= epeÏöešX”sÈS¾ORt3 o!eëîÄ-}jbŠWä—ÊáïÙ†fBÄl…ämsïžê(¶ÈÌ“C1]‰[uE")RÈÜH ì$ÃË`  ÕKÓ鯺Kè7jÒºÌè»ÕzB8‰r¿UÙ,OéuÀððùº­¯ãîp¤Y²^ëÍÉj³"´¼åÄÊö­Z Þ¢¿ (6i·CYqÍJ7$yëËn€·™>¼^šhº°K|mãÄìÍ…;ø*ÃA–èëøPø5’ê€T;Žd•„Fà~´~AÐuÐN˜*7ÛÙ€úÕurÈ7sBê -Ài|‚ +»ƒ!¡)&ŸF»ðÓ®‚ÆÃT<{Ꭰ+endstream endobj 619 0 obj<> endobj 620 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 621 0 obj<>stream +~Ǭ‡È\¶‹ËåÛîÚÉÎŽéÄŸÕšÁ·rôWî;y*[fSv=^O¬/i™†B=Öe‰N‚lP3ªœ²”2§ À÷ÿãwÓD ­÷âtÀy/2ú òFh¦Â&·«ù}c·– O»}#j§hUb-×6Æ$¶­/ÊÞg–×"¼EÑ]<.®¦ù絤PÞZGëôx©KHV§2¾E|¤ªìa/‡Ð¸zm™p7ÖN[ÍÞ‚Ñ MÛ5nÕá‰ÔpÙo‡dVMÀÞ›Oör7ø3™Ìî“w®5Á`¸dgUÉAËë4œ=U ’¿ dŸp^µ˜Á‘Íâ¸Dƒ5Qb%Î÷x$Þ›+Üó?rÈ5r†+çV•ï Ù:©U}­hÆñ["škí\tˆ¦Zxon®—–©³°Ú#ò?€Ù_¯ò‡€K,ŒtEÃõ¼D⯠+ÇÇžü:|4!:à߷aa«d_€­ª›&ÄŸà.SôƒNI…Í0%åpìŽñÜöù†µ·Ï§Ëš8 ·9«fßqYKßÌUã•jÆv-†®\ä?G×ËîA»ŒŠâY{§Í’¯n5™1E{„ºçø•C€…Ùr™zi +ÞÅ(2¼†ÑZäÚ”<Ùí‹í ÷¿Ií¶Õkî9“ŸUTˆ{@?Dñ´ß:ø[a{1qÝÍô3"ÁE EµyN™Ÿ‘ж¡C*Ù`º)„EÞ];1 + ȸ¹lǬhâ¼8-'àŽ`òVŒš'†Åé1Ièð"õŒóÈHEîEÞs8‰¼dž2ÛB †y[À.­Ø ^X”˜~4Ž¥Ñ*à±ÀYRo®SÏßæ^âÎýQ-&\5Uѱèp¾ +N§ôr½9¾Å¾0¬4wGÜŽQ4EÙ¨òvðF4F©¼½™òÄ‘²cñÁ“Yt¨'H@7ö9Nú˜Ÿ‘ªÅÃþAfá‡.œ7×X²:³R9ÀÉÒ[`µôäÒfyœûïºàÂú‹+ +š©8ÄÐﶦùG5zøªíÌ•'ê4ñ=5JÍñe§Oè­r~š(’ûZ7|ŒPÖýY§£¹7'/„ÀR0Ñ=PðÏZi·;%Š¯-Þ>¢ÄÁ3Ê॓=‹GSÙ&,Ü®+«4­%ñEÅ•‹Ñ1±ŒÞSöoxòêâÞm6ù§N'öz—A~±ß»,þºðŸI¯—âßMk[*ƒ¥ aP‰›qÃEv(Q¥"¥LoäG,1BÌu§6u“{Ãë;î‘å«AÏ‚TB’ªK´ÇÆŒBBÝùnõ-XH¾8RÑ[ܘ:t4Ôn íê 眹îF-c¹ìYí¶† ýÜIk{ãg:Ä-¶5€¬_b¨(Â4lÖlëóŽt}L£5{Ø×Vj6Uù“rŸÈ´qŠÈ‹Þ¯>¡ü™“·B5jú–7|z:è¶ýO•. ù<Д©ÙŠìîÈì8šwÉ‚\KñØ‘× +ÑžçƤ,C˜êî$eDÿ˜­e”GôP˜œQìUŽ•¶l.x_ßúèkÚù/³è^>§G`Š‰3µVsK-ZÍÌíÙåß,œ4ù$)!Êjh;ü}êÊÎs†ùüí¯Ü9å´ øtÒt,=a]·@a·›";˜FTÁbzMúºvš—‹h\² `”r{¼þ>ÊÇàð2'CasBDžïtÂ{înJ|h¸Åžî~9ªt‘«ÏŠQ†É¤ˉ‡1ˆzg câüÇ'¿ºÑía÷ô¤-º…qLýNòŠwUкíÚ#*Ó %ˆËqŽÖÚnL¯Ø¡!væg“ô-Kÿú›&­V¤³š3VWÕáEî›ÙSæç1æ €2åTÇŒ÷:wŒÚQ¶Ž±ôÄbóo@uÁÝ<æMÌ›¶#€Dæmpw2¤ýmÍKͤÑG–‘c 2Rc44"Û~[ jrLjÛ`ñëXäìCœ(U\ïŒ `?ŽûÖÄ+ËØb§·=ÌHèMdaý<’„O9g3¡‰m§@'ôf1RãúE[)ðÜ?fÃ:xœl{PÜ@¦±~uPsÇ…¨I(tXôôZˆ~ß'wÑî Âÿ!#¿ºVøêB@ƒ%­8~*Áî.ŒYÛH5¿Bb¼½?áÆy>!Õwr9Eª1Ùuî2ÏÖUà¡5öƒ`£ŠŸXHC#À Õ/oÎ.{Þî_yÏ;³Ô±åë½f°‰<°ÎIýÊ|ò,Y–:˜œ4'N&'T%¦„œÊy„ˆ»`;ß3ékMÜ¡}&ñ–eÏu€lX‹`´yÊFÒfÆÙ©‚*ùy•Éˆ¸l‘ßK¢É’¤T>žå½÷* Pj¨Í=£*!bfJ:J‹ã¬ŠÜØ= '}·Hæ5Vg’´ä¤³¬mÞâæ}zZ¹@¡Hõ T‡é¿ÏÂBw,G„v×Ä{kŽšœ®ÍI muf®Â>o@`&bÎ!o²¢ðǽãäj‰c©ÐÊm-JÜÜ +ŠhƒltQBVñK×&‹;‚"óp~°EXàæ²3º ‘Ò„cëZ°k¹[ +qœ´ûZ]Õãýcľ­ÕCýÂÒ: ùé r4Ö ¿xwÜÎcB•Y@q¸ãö½JÔpV˜ú)„@ZÍR©MOîVŸ¡Ä±zÿ ’FĦB~ ‰æA8P({vóþI›~ PÛïgÝåŸÝsÄÄ„ µ/I¢¦ö,T4¥lKêÌ |pieèµJ냇‚ÒqÛ\§4ÿ³DñYÏWÌ>¸ +¸¾!vøLØTB/¯¹€å¿c¬µ¢dg^Â.ò‰SNÊðŽA÷;>ŠÛ‹ÅºËå­Ë ´HM¬¬\5T×OCÚj3d †¾ŠðqÈ;ñ +ù>H ÁÚØ.On¦Ù"TË% ®Š²üà +iNgy$–P%Û=„è + ²áß +o ³ÐMƤÊG®ç=Ï4BCI즭¥F›3¬5ùÆð$ܤªôAäérèfÝÍÊ0=øª›tq~’cª¾¢ÀìÇ”M +Hªô—TãqvXp79lh×UÎA4sSˆ¡ÝÐÉïãqbv8Úf‘ˆhÃðÌ4Ö&Õþâ ÏêÙôw•.ò¨9S½À6Ë4Lý‘!â@¤$búq¿+üQiU2…±_a®& +´‹ò—Q*+ZÈ‘w –ü£÷\ßÞOÒȆU®†‡ +ºP aÅG ¿tbÃjez±q™xvLvÿ œ$1 ‘`¶Òna£m¹ˆX•ªˆÿú)¡4˜âá'EýY~gyÞ0é±Î} )ù¸˜Ö«m¥<ˆy!ùÉ O +¡Ì¿ +‘ ;€åë;#9YBÝF"£bŠtÅ`᱃·{/Ü\ZÑgõÓG3lBÕÅßÃks®ãÞð¾í’ÑÏoÁ7^o$­½ÀO¶ZÎ+~ßµýð)-Žãõ¥¯Ñ=Dz÷¹Q;¢(5 ÛcJÚ¨<¨NZ!Hãæ1ÊwL ¦¨×´ƒ¤ês„Ö÷´5­ÿ¬FM|/€¤~ «í™›–ˆ¨/u&¹VÍD·1õ±~Oû_žòɯÑ!$VñD‡Û:Ñ*eå ø6}¸, ÊM‰¥ëçñi ¢¶©Í± +›|ÖŽ úªågÖѾ$PîÒÚ’¯AÈ(%žâÒ9EÒe8‰·,§b>Û‹”ÚŒÛìpv§)ТKýˆåŒ¶é®µã{Ó€­™›=/«qö|åì$6_ÙßB†QRêݯêBû’ª›P|ê䎶€Š¼¼Sl¹”\ý5/~\ª¨Í Ýrnrü!ZØLXg ÀL¬Ï'©?}§‹.“¨ uj3JVáH[j§Ç ’©Ä­h#|A~@Ê $ظƒ…R†ù)™É!p/²Y3Ãm4„pOáŸàL'HÜîœr}™SÐw±L|ôO>w&äÄH§!'íH®8h“±ÃVÛ»z³÷.›ù—ÇZðô:1QÊàµéÞðþ-jéwv¼²\ôS÷"Ž‹Õe?"y^ãÜÛ]¹!U/)ß°7Ä­ƒfRd‘ò>ì醶Û;}Ň홓ìËÁ]o©ç +<ÁVZ ðFŠ'%:é”&%–3níÈ e–¢I;zsÇò¦MÀtôàÒ?»í~’E]ï«òöN28m¶Y‹‡)˜Âcßê©á6¥…l´˜¥)iC›l`ð)Ã!_Üý¯Ü~Ž@ª¿û«×8±»½Uÿ$"»À¾ŒEôE}Öƒ¼ñ‡ !K7ç¿{¹ÍÐÔ¤„ Dæ(åg¥zÂÀ”.9ú\$à +ëi¥<÷Å°ÇÙá %­Bš\±Ý¬¥K¯$·h]´âó4|¥í2-¥X„+¸¿›¡"]GwO3ú1Ÿ²g}Pî¡$B^?ìªZØÏYþŸ€’,]òdʬÈ×>Ø—T ³õ©ëIs.ý§¾ö¥~ñâô;Ët%‹ÅZì»Ñæ·íŒã2þ{Ë;>PÒAЊ‰\1÷8P™­˜‘¯ŽTœßÄ„èͯäs‡wÒæ[]mãÄŒ¸krïšÜ.• ½õ;¥DÄ¥“"Û®nPÕ%ÁLw<¯ð¢òì‹jVä‚ݵÖè¦ÖŽè·€Õ;Lwœ‡•,ݘ:ê%˜ŒŽ–”¥iÌ $ ã{Œ[ŠŸUÒVý¡)ù‚TÍJ´|Ûgü«ÂºmCîÓåmõ39ÿKÓªÞXíì>’û.KË–GpVŲÀ >»©ü\X/B›´ø}$uùÜišýÀtâQ½zLµ Ý*/V°hY8­5.8PÖ»?xWÞºàŽcƒ0 + ºjÞ‡¡ÔÚÂ]õ#íDsy€swì÷>NI=DÖ†›`g¢è¡-btæ(2¸\€@eÇùg4N©9²¯Y$iñQ‡í™(ý·ö¯ù¾³hM³(m:ì&êŸöžg´Í­äà;-ëŧëp¦€+mçÁ|¼w±òó§3 +jìó-?û™¤9;·UØõã0ìH–±ч­_£ÀWÝŠ2k s¤ôœK¥am^ªÃÑBC»n÷¿Ûõ{Éö[ã,¾ŒÙÚÈ–çcˆ½tt‰V§ +ù ß‚ãŽ÷Ü …ÿe `ª…¤ÑÎ/š«©¨©>–‡UïYÝ5…Y¢Byc?-¬,Ä÷Íð`PWÀÉL ¹?c¨²ÝŒí$5«SD* ?äþk¿±M¶ +‰uçÝfÜ©q‹[vÝ€¬=7ZР +´‘ Tê7M`)Ø5lý£ ¼•,TKBÂHÓ§fÄlמ^FÂÜôµÑ 2Yõì¹9Zåó3ò uYJN] Àœ Ž/O;£‹œÅyÛÖÇ£ë2˜ö5_Ž#˜4ÿ.GÆ<õ³‚Vh.Û…€ÊŽ"(#l÷Ý œ—µëÃäj^Œ§ÌËæŒ*ö‹œ±I®OëPÜ_˜Lä·’†‚.;XÆ&ø(®wgR˜ÌÙ6ýÿ}µŠåéûfbR âÈeÓšHñô! TKE–S¢Ü¾ÏËâñ]™ø.…ç „µÖ(¦â{è˜LGÈÐßWÇK¤^ä7Ëì'CKßÛ\¦J&.~¯ªŸ\x¢ë@1œ®ö#+|a„Žª\ô½2 =&€“ˆÿ¢QAb¡Ä~ÚQð<Óf2˜ìQ´’y;r*Y’X ø¦§@)-Ú~º†åÃözÙpJö‡›(FÎXd^c¿[™šh‚¸BFì ¨k²êS + ÏŸF-o#`º¸‚=¡¦”q…$«™XÛzIªõ{æœ3§ºß˜Ý램D*$nkÇÚQd©_Ÿ~•òh ¨DÄ +endstream endobj 622 0 obj<> endobj 623 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 624 0 obj<>stream +=íìÐöì©)ç+ à&%ëÈ•?±_k5(T º%Á-EÁLxÚØ¡º3+ªß_Å.:5IYcK>‹»¯bë§q&Vá©€VÄo„`ПyÑÚ™à¢é³0_3«©&m² ÖP²3VVö2'19ŽÞ÷þ¶vIÁËø„½ZƒèP³éªE¼µßÁ»›Ü,?HêBÓHQ‰o‚¯q|LI¾PÒú™dsõÒ‚cÄ="Ä‘È,„>ÝÔQ¤çàr¯înâAwdÄ÷¢~tR´è¿vñ;+F[ý¸ ŒìßíYøó±éϨ¸ôQN«˜&RÎQà~Çúž¿(^û Ù +œ¿m‰µ€óÁ#jéßùÏÎZÓ#K˜K€8 åÓÊÿýU1ÞªۺѺ}nàYÇ|…­er½@Ò×~ëîk˜røë®L' 3M–ˆ¿{³)kŸû¸ /w%;”œñ¯,E·°=Å!ð…IU†î_JáõÞdAö¾1$•Çê-}"æuíxS.IÆ3¹!ŠÑ¦v6êm +Y¯(ù{F\E|pU%@"…j¢lµl(fSè:+÷ö®Ig”ßÎþ–1Ì ]ÒÎ +€0Š0GHú,ê~RæA0°IŽ\ßÚu.ñ‡&/ðÂÛý½‰2eaVQQX2~TmȘ< +n h%5~é.X£¼æâÅ•‘%Ûo–¹÷±ä+„â¢+^±àµšÑ{uÇL2<°$µgÈ¡†R.«4Ä.²n 0ŽÔò7'â˜%:tžb;h&è÷Ô +Åν9¯{RlÂRé™ìµ­w©¾8³,§ß:³Ê³s«Ã¯ ß°d,óÿx–ùO5¤óêŽÉ§Ô²øuYÝߧ3Š^QUÛŽ,^×õ2“×K ®ò';\ºõ¼Íÿ#KàE½wÍÿW# ¾TF°óã€'-TrC‡¤-MÄ0[K|&Åkhacðxä DŒÒ} +š¼˜¦„Z³ÊC:ÀÛDÿÌ5yû±bàôáÊÛzye¹ bGw-+,€ !0×óy…>³µyÛÇs€/)>>+ŠÞ­:Å>ïñÚù²œåõ S1Û« “½::ƒŠuÃÙ=ÃN´—;V‰JpûžlÇ 7%'ÕB6×^ºÓÜø[cÒñ–¤u(õ„®SŽÎú5ýLÆ‘­„à!lß»»Gâê»ãµè³Îž¥"˜uz&ï *i¾VéüøéMpØTýÙ_ñR¹(ZÁ‰.'/ +ËPi$U7˜7Zó§ºT)×" ¦Ÿ 6ÏKH¹íÏÏŠ«-=4MXä/[DSW ՅܶC‚ï;`üŽ‰±Iɘ‡Y{7©…²ûcƘ0ùŒÀèWíœdÓ|^þzÚZG~µo µ½ÂÌ5‹z´¿¸WŸ ªÇ;f-hò£‡ôK?;ñF9Hü¢ÿT§-eà`]Á(~J‡e¯»XȦÙ!¸NQ‘.Xqå¼íã¾{–ÄXÕámnã„SóaíÄÇ!·ÿü0ÚoÆ/C¾Û™NXSæ -Þs‹o)a0r6"_"Ø2ÿ†Ä¦Òf“m·ï(âã¾ðæÌK«ƒ6C/G`süN{­÷r«ûóBdÿ>Ùñ 1¢k9#ÃS0A;œr̨áñÖ;Žª1÷ÐpÑáwžn™W n‰®§iUû–fÿDúÏ\öHIvœV¹uE'kÀ"¯>ûÚ_ç/3©‘[”×(<8α³êpŠ-Σµ1‚5•v0n®€0~ŽÚP’hƒõ|­êK]ž »'ÿ?¿ÑF/‡ÄVf¥qàì ƒIñ4€º…8 G¡9ÑÐÏ‘úŠh©‡RoKš¼K"n¦–“Òº_É—šB*®xGúÛ_ Uáåç·jÐu2#ãM6K1`Ñ™=°HÇ|^ +Ç°ÈÑ â:œ[&=锺¯¿Ä$±â/èÖϨܘ‚F)©†C"ó_hË5”K"%í8C¶Øë•gén›ÅÐا0H¶àž¥· U JƒÅ3™º‚ÊGµ% +.aÅ–£á¤çωÍ@ã3‚y®÷±?·t‡/Š*~£rÐwTΠóU¬×.¯ö‡÷ÖRˆ^úß@Ø—¿DX5jò¥£_£oŒ¶°ÅU!:VÓD73šÂ†à¥-H¶ÃGöùLQ¢`Ú×V\‡“6t@ ”·¸ÎçÝÎ~ƒHåT®uóQô=våH¬Xs“ël”k6ÙÙõwÄçì#ÍK´ŒU‡6¥÷å§ÓîžÖe¯…T¯•<‡gý)OBà˜­R} Z!$žË{½¼Aè‚B`usúÙÃJR…¥ä² OuaOúöaƒ:CÏ/þ7ûÑuƒÁɈyÈ$IÆŽŒR^„,áV;ÙîÇTsØ©«”`Þ¹Ü|§SÈHÕß_èMkgT1¬ØQý»[ôÄiï +ÇÛÃz´@ÀŠ£¦/³ÐQuÛ¥²™ô-Á¿/î¦%_ð´É(d#cº­¾F·©‹Ì©ã|÷[᧎<ò¨òÛ›†3» eÜì€ÎÙ©séàªò–ÞïO÷ºˆ3’\—ô –¼.¢ø4sÈàe‚þð¤1îpäÙŸãº])(6Fy\¿ÊÞ«GŒ®]åLÙZ|c%BŸØÝ#Iñoiáãsx‚©Ç^z߸BûµÏ¤#¹q*é±à%SMÉiÕfÙÒ¿Z„ð6Dj ƾ¨*wÔHQlk…Fe AJùUG£ÎJæ!¬Ò›áƒßÉ­nüæ³Nǵ>Ø|iŠróÃÃLû©Á`EÉï³v²#ª+*Ö@ŽƒHTÑ1ÚÍ .¾jù?{Ó4ÈE–;îè $¼ +!óØ6´VØ$’Êüò,¨_9÷ýÊîrožÃÀ¼$ e¡k =BŸÁ=X} jMñ«ƒ&<}NzeQje©ÉÊŽ:–±}”à/èí‹%G'¥”ó¾5¯%Ð7Lv¬cÑSqu“Rã~Ôâr¶ù:ÿ! C³ cŽ'@âIÁºÏ—³ Ï)zW¡ûGv#ýl;«¸ƒÉ¨ªf”£I_JöDþRJc:~3wë4Âöóˉº0‡MòìÜLu¡“ÄùdVkœäšlëéßëÈ®y¢\ðXž%O*¸|¡4jžé9;S¯SX´qDzMõ,´Ú½± ÊÖˆ‘lùzþkfÄBÈc˜ˆˆ6‰Ôt¢$Q,Y¢ë¥ÔdgõÜ¿qémöÑñäê†î¢mÑÏ_w²yäTpVp„?Û*ç’èœeÈ 5äôþxM©k”Zÿ]>P¡:‹ÈÑÒwìEFÜÈßYyÝš†6wàž­CK˜N¶<8E 4…gâVKNèñtçž| ?ׇ¶Ê´:x‚VML”™.•oqßÖ.´#D’[Þ­¥Ðqõ„EuF®æ›Eœ]hX`¤Z¼E”ÙlrøjǧßEÂa†SDë`.Gš“F2ŒÎf ü¤åVk€…9œÂòMX°¦ùÊK =ÅÿÙýãêjÓ$P0€,d7êÐI¯F•X”í>f›C=»€ç„OuÚ^ˆÑØÇslͯ,ä œòÿb8&vàǯ˜²›ê:¼Ð W¦ºÂ +'-oþ×&Dlý[ïgLÝeÿñÏh±£ D“}xYYÙ¨¦ sLp ÑêEF·IH®£ÄRvž Ê7PL{óÆêg˜Š8°®ý“G–0ıMßv1 +í™–_“›˜â½´ïéÏ‘+®+(?ÍÇÙ€ãj¬Ê¼PE#Å´Ï~½×ç^ÃÿD6~êmåÕ hZ‡ýì-í¤?˜jÎý}𘙛}m4Ípâñûã~ÁqxùÞqÔ`½JäY,±iìáB’ÿ‚Píý"‘#Ips%'ðw¹ 8²îïÉmÃ)Ðþ!œ®µs·ÐÍh,çuø´€ºR·ª%g¿‰‘‚;¦›¢2`ªÖücÆyfyˆŸâZÃÿÛÌ-A¢Î3T½õlMÍkVïUfÐ'­¼¼?½ " ìÉZÖÇy/Ù4ßÙíJù06¾2LáY ê¤kRgU‹e~iG§Úe3ü¿°ž]ò°ÞçK܉£öqnÔ¸ª +[=Ú¶ÜS=‚±º  ÇE7·þ@îæaÛdŒ)Óc^a©íí"/bp/Z!`§” ©}x%âî[Š£[JžAÙ€WšUÓp\†§S"ïœ-áSÖ`°g’ž‹?bü‡yó•TwÊn.]²Qÿ„˜Y_\ÖÂ#€C0ëÒ +”…Æÿó–«Œu‹§—]Ëfã·]SÕà:ûf{ÖŽª÷J*FvñŒ1÷{ÞÌ!HF}èâñ?)¼_~õœÛEõU>ÐZöN„|tAšðŽDû±ÊºNgUã„Sáïýž"Ý ‚ø"Ëzä¸ôÂÙ QÜbv´{I•†ˆûYη¿‰aü:%ð¿ùíwû.2Õnt¨G|=¨êWlLÂ@0Pìñ¾3ÎÂ.(â•è \±¶$ä™Ëp€ÅUÌ UˆZúá¤Sù• ^ñ ‡#:`—âT’_WæõBFŽâÒñ,êêUs —;,w%u)¿5 gÃaÓF#‰JN+tµÖÒ/elùJ=ZCŽ0 $xHp +Ý^ :ÿÜXµë©À\¬,gâ‡ûcéóåYi>Ú¯Móé-!É­8W»žÇÝá ÷¦ö©$ö+¸>tÈíº;Wá`aq~7eB– +ÝÙ“šIT_œŽß!÷$t/örP~n„žÂÇÃ\%2Èüì©ò9òÛ@¤!q–:JA9¯ŠDŒl8*™[Tì]Òžc;¥´¶2¹Í=$GÆyå«èÓä4êÂúžÒ]Zʶ[¸ã^¦ùá;q®áa÷Ôœ$Œ¸vàñ ‹Þƒ_#:å„F„¸#HJFéþ*Œ¿û0“Ävc][½Ÿhä–`<‹:´P”/UËÐ0¬©q3טb »¹v/¯·®:O;Ë!e¿#ý«ëâm· Œlˆ«È/(ÅTo™-€Ôü¾^¹: ÇñÑ‹Ð s‹àw5";‚ï”(WÇ]ún|Â…‘®R"Õ€­¯s˜ãÃdg:Hí-q·˜þP¢ å=v ¾¼>»¶¶çVøõ ý³‹¾”F^XQYóüŒš cjNÛC¬ôDJ"½f'¼ƒt@Ã|=Á߯ÿfæ?¥ÄVjî7[„9ú4ÛSB¼xlIvWtÒŠ$¤¼|?Ú4ÎOQåÇÔ†H‚—ò\á.g{6¸w›i@âV Ç:ʆŸò +Ô‘àX‡:K{šeƒ´eûè•#ʤó=ÂÛY !²s~‚'ªD°Íú^Öz£W+“4Ųò¿lªN"$>Üè⋼w‹dí0KÌ'<ÁiTÄ©FÊÞñ/25yÝ;^ç$#5¹¶ECA²“p&ÚIõÙ9pö_DB6ÑÕåNqcÆÎ~}jµƒ;E÷ñ¢ü •Ö&r{â®0}#(ØðvrÖ//Ãñ †Œ*¼Þùžáèãµ49WdkT-˜á` à}½¸ùsW+<öŽöâx2(¿™5†Æ¹0/RÈ,ÍL|ážß.Çý}KX²êí2‰NÜ}ç¹Ãï‘c ý—¯Bû~If™qÑŸt|>ÏÙ˜ ~-^‰jò``ï“Éë±&M\ð¼ë*YF±á[%šSާÜ)KûίÞï wvÒ< Gî8B¡zº!×»þí%#u ‡Öš˜òP”'hú&Ü-"T¶jLÐÌØ/EµññÈùBÌVv«iÿ×î%Û"M5¡&ÉÄo’…ºö½`G;{pa¨wiÐtš)Ÿ­Wm/Þ¯ê›wq +Åñýr.ç Œ÷k$ˆ –Û¡UL&³XØÅ}†—ð½ì•Ž[ÅEqøßv«àDrRŽjÇiŒ8é!9ϾxÜŠühço4„5‘ˆ…ûŒ%“l¹g‹"š›…ÈÙrÂkZ嘆‰ueRdX|wj(ÄŸƒBôh³In„¬–†Ú¦Où9opØÄÞX'üYÏ™ÉM+Ú¥£ž²˜æÏüYB4oÄšÜR„ƒEÍOí˜Oÿ扴×ÑN° ~H㨼ï& Ñû„d€Ù'ÏAŽy‡aV¿Ê)áý×ô8CI ¹–ï²B¦Õ5×cµIúœƒ}¥>ÅËñ#”Èј±Äƒ›t$Ær²í×ÿq0k¦Ã*°¥Gw”vkápÐTþ)ÿ äÜbÀó3¦ç@,5®Uø¢Š”‘yÑZÌx´$!q€jÒvùb/XÍAïú²£ï_A>ZâPTW¬DRÐS~yŸe~Õ”©œÖ*¸}þƉû hkZ0#ÃE~ÜÞL׋—`p îø$Å5Ïu¨úrQ²_.uBÜ:Ìù@D¹– e¨}]w\‡µ68öÿÆèß}WÀ«² +endstream endobj 625 0 obj<> endobj 626 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 627 0 obj<>stream +a¹Ô´æ-°â_}øÇ{Æ'Y®è‚™E¾ü­d&~ü(#.!Gû‘û½ðq TFÕf—Øý¼ÖNã¦'þ-Ëo¹uŽ]×)<´éê4üøÌÓ‚ý $ED<ÇhWüWµŠí‚°jŠƒèCXH}åæÈA²^7Á,FU_|2V6¯ÿêv‘iýŠk°xÖ«‡Î{X(bàü§¿+8(fèœöuq‚ ý d íÅ£5PòþnRŽ[S&Ìù¼“`IxE¦28P¦zîq,ó™õ&ð6T%¸…Ï\œ({vM/ë¯ÖE Æ`šÚÞ…ié3¢øì=Ѽ¯éOälILz fè§U?S*ôËÞsˆéŠv;æã¬9±hŽ¥¸Sô©k†XÛzå|IÁcªsÿë§É¬§Öðƒ”¹Ò0«žù,ÒÑ~·C-N8€Ì¤-ý7Òw@Rã7l\ó˜›Úæì‚Æð“â%éŒ yý»†‘Yø"zˆ{ú·Ø*ÛÉ{’Þ~nn=×ùð®ò=æ+kƒWX~Ð5&}Ö6 OF>àg­³ö‹rVò¡m.Œ%ªè ÛUÍŠ•aéHÄP¬)Ú9zü³9 z {8°L΋"¢r³E‹°/÷µÓ¾6ÙaŠeig›í7Y8HÿxŽ§@cB™9{ãf·-ò-¶Z³ã‘µzö»‹˜ Ýåa·Ž“wu9À[QÃàw¸w×hMÃïzÀ–J¯B•œ’¸±;½Ø÷fÄeâÌÙ‹zGù^h¨ÞD¾Ù³™\âps0zUëܽjÃçgV%2h,ûD¶úˆ·Xíùü¬)§rÌÓ¹!?£Á<¤W×`r÷¾K,Y%_¶c ¼P +áåxÕDDßWü/ÌYѶqÅÓòMüöÅn +-i€"i;bëÓsRc¡àÁ8|]Å=ÙÖPœÈqÍj–7¤Z#Ìø„>žÛQò®¢aŒ ÞÎI­é¥Îj- +V‰q‹ñ âêy‡¼ÆA–PŽc€;mWä´ï––~AÂü7t ¬ÉrA$ýLªòr7»Fö7ÌD 7]ð þ°zãç1}„røl>4 æY^ÃìÏÁ˹Ž²¤yPîXáO¼VÕß‘òC3XÕ8õââêÁEÁ\]áÄEîÛÜ“=véT#­ðÐêÛõ7‡F‡j¹[¦ëU/Ù<ªÿ&?7é_'Î ñØ].uÿ%¨€Ó´18I,ŽQ*áÍwjù=RØ/¼Æ§"¿õÁy4®ŸrÜ=ú¬áFìZhaì0²€ád%(9ÀN“„š2Ý(~FÍY‹ÕÊ£æ²È´}°À‹yõ'áà$Z«îãÍÈIÔ`×II±¼úešê*@mû1, ;¶£‹ä§´ª#1¬I†´½AÅÈEJ™Ž”³!ɇ‚ÕÂéA+·@ÙÍ(ôÅMÛ¤‡fîÔ¼/#qº€U‡nºøÑqŒåŸ>=jß2ÿסÁWû6\ùOZ¥5é=O••zˆ±M+ÆA^e4ÄdQ»2Awú™0¿œäÉÇœ›²þpO`;à#¯k‚B©; ´y0ÒáK¥í¯j"|ø²'Ü  ÕæÔ—•Ê=Ko™,á³"HuŽ»«!ºM§Mj§Kß#õ2/<Öz![«—ž"¹ŒðºeUÔ¨ÉJÁ®Ö7ñøÙˆŒÙºM0ipïx­PÆVðn\P£>RV;7¿Ëzvü£¬ŒBÓO=·¢<ÀXà+‡×}Xg$ÏûÁ©³DcWÍ=ê3Î}nV°xac®ÎyWJqæó¿‹ü“ þ³9m*)¾²¿S "þJr¶-ÂôžVö–L&1?+£Ú”£ûŽì”G*@ÖÇöûã-{So×SülV Šƒ]݇³Ï7™Ð{?¼ª\]œœõhÒÌM/à U5-5Ãʧ9ólUY€`ÚRdâ±¹³®È/‚OTÆ]/¢iõ3ÊKe[ÚÀ— ¬ÓF›]…MTñ²–Þÿ|ïrŠ–}FÃ]؃$+Þ µøtþZÛ³ñeüùd´‰u3ýÑÒyVE>K7p=šlÝ¿7“Q‘D%}YÜòžþ9+! ~‚0õ=•}ÝH¥ýÞ½@ó;gfO©¿C|a4vz@ë©ãÑ êK®K43pû¸MG.c}%@³Šm<3T}ƒ¤-”ÕiÖNSª;X¡â¼0´¸(usAGJüjÛ{äôa¨öQz.Xb­Ú?*šú? x‚ü‡UQF7ˆ¬2ù-_­ÌGd·Ð_yAñ×<8¨óLŒOÖ|*7öOn õÉÏîS´ˆ øŸU¹€vÙtXøCPêåE°B,4Ô•ìix)J‰ ‚äÁ#ÄÉ@ú÷;~…üçúõ#=)u‘M=–¡XDÖù»^âJmWºÇûÿ›Óñ[\¯”e Ø+·öèpá;Húe­ + +9¸p³§ùìï*Èýeõ!H!¢,–kÍØ’÷K ÆíÛñUÃÞÆÙTcfZïh>S›}ÁoÝ›(ci…èú0&ÁÍiNV®;¼gA›¯’­£Úº I'UÌ‹¡PçL:+•2±?k»±@fÙ$H›E@Ùƒ„û:Aþ¥Oç8ˆ#ÈJÓh$}Œ®HÂ3šÇ6øyøDI|R®„ÄV:K1+Ö€X‘vÀ›Óu‹­³3l«9£Œ¿Âæ#É=±ÿJˆŸ=(§aõÌ=M19ÜÝur3ú¶íû¡’Æ[s“Ö¨ßbÅ|éŽpíИGZd|Á)®½×R&½Ý  O@)þf‰¶=.Ý—µiLÏèØ£\kÛÞéû¡³’7.I_úX…üê±ÂíPùõW ·ö½9Ý Äi³~«î  jU‰ŠÒIÙÌ€(¦kö±ÕpúS!ºÛ[Ø«òebB”Ý&«É7‘%ŠØúѾ G¦2KØKÞ‡Ç}&©¢LxêŒÄZï½Ç +­‹Šèsñ îÝ…;ü³á{¯Ë÷8„04›Í• ÕZ¥ QBÁÆŠï³ôè’Ozp1ÝÀBÔÒ*Ê–Yôôv'ßÓß·JN^Ù-»µÛSÏõÍú xÙ#N’=BijŽß7ŽdU¸À/\Q*’ªJ„ç"¡‘¿HH5¤¡þy†²ù‹~£çŽÞ— Åõìfæùªæ–íŸÔî\„°Ù!Hx ÒL{‚K#kl™ìº1ÛåŽ fmë_„L²¶ê3&°Mâô}„%š½¨ ö™ )vt¶;ItŒ“¸¬>2l¼DùãY. '4·‹z·F¸Ceòwi=$‘ýwŒÏ]¾ö+kÈ£ñ–M1M[§j>5œ÷²¨(ÔÉÌ1_OÖ+ï¸&3CÒ÷º1VÈ–öÓq3 +Ø×ïs†¿×$¸)„ ŵÆ ]ܜ߯LLŠtYQ`Œw ”´D‚µ£5—°¨FnxúüÀ@>…A¤ƒ9ŸÄƒ#È<‘;ªŒÍ\7ñx8½×«fÓ±²Ôœ”2Q¬á‰â%îËÌܼ{% ÁûæSsAþÒF¿qwRä(){ßû¼wZ€PQ¼¨MNåªû< +÷†%”írȦö»Y?B°K%íhC(òoÐÏvd¼ý“Q@2ÉPÃàwjP=<Û£(àŒ<åÔüIâ³ØDÏ +³%?>uV‡¸ ÚV üF$â Äf£ðSuåqSOJZx¥§ÇÏI`¯®ÑÒágÖæÌ-žäß ³³ƒ¯h,ƒBx¹%åɾŸ©¯hÎ)!ü\'{´2¡2#ÏŠ9n$,f/ŒôÄ+g ¾‰RdoRy‹®½jJ)o"Ú7p8'V 8m ”äù&%° "`,éøÅJÒÇÚÐëÈ ÿO\uÔI%ÛÁ¤hÞÆŠ‹ÞqÊßÃÌŒQ×{ +T:÷1ÎHžÜè|­ßÑCüŸ: ýl0|ºt¹â¿"˜=ñ¤=ŸÔ褢Nƨ±;º\@¾>nËMüä´+.EQÔÇSl’†·ÄtÁ¶„*”“ÃL2JëÀŠ:YStÉŸæ­Î5ضީ¦rþÖž]H¼é…Åy‹7FànÛ„«Òà2¸uÀ]áèÌ°Ù»uJM°R€4wiØ0È`Š•õËs&STThà%}×w3¢ðçp™@cz2ùs-óNv¡%^14"k BÝÌ¿/“fºBÎôž‡Õ¾ü,ìsWhA4eâï–©˜[Ä àºõ¸º¶©p$è©¿“ z1Áup “V!j»Ÿ¸ë)Dö¾¦Üáy—PR)·”üÖŠ9hsjhÓru 2Lݨ‹¢Ø hÙV%+¡ Uï® Ð¥X +”5PS{//kQ(­|c”¿s^Þù2æ|ásþKL^̤ +¦[€×ò¯ýØ·jØ¿cª°\ò1ÁȶÃLíÑQ%¹4™{«ê—+z%Ÿ‰agüß[YXýæífT}Ÿ-™_ªe¹¨Ï­JÜOR Ô¿áXhõŠ@æíð~¥7™ŸtÅ–R{¥|ª¯ÁˆùM¯˜¾ô‡2°,{WI®ue¹àÖ—–(Ò¤hm5“áy­'‘ýF ´™ŽB¸O÷t-ÌÓâ:Æž¶A†Ì³É Ùtxÿ‚(Ís\¢@ÁGH‘$‹Éœn8egÖž{3ܧ8S‘ÕzItdwFl}¹O‘@Í’ ,f(e3J±‡¯½ TBóèÑðÃT~v÷“ÓëDÚj hWÀ4Tv5åªxr5V^óoT‹ßÇ£ûªãëÒù)ykõ3óÉLáÕlKŸx×¥€0æ¦@æÐ!ªQ]Ì_Ým­]éZ(wÄRÓLªÉo`ÈüZÂ&Iˆ–¡'¬s’»F§cŠÚ) hÁ¼rïèÛ=hóZí$fêŸ×Êœ_R3ñÏ 9ˆu-ºy¤þ».5"”_„)¯°ò×F ho+Wš¨P×-"ŒÍâPNÀ$x)꘷ÂÉÍP¡€ºT¦ÌÞ,–ÙoœêÎaHB®/CE—kƒ ±€ê#3Ä +}je1{ƒÜçL•:$«¡ÀäX,ßÔ.}ß~Ã3¥°dy8’0ñ… À»üêýl‡?Ç ·³ØÔÂÉZY'XöøˆSyQÅòàÀ¾ östZã«VÃ0KVõ|PËŒ¨º8#|èør§sÛÍÄsC«`p€¬àþ×=LƒþL7¢\oéâî×´Ïî,…HõÁgÉ™üòTM`ÿézz‘Q(Þýc;ÿùŽ«é'RÖ jŒjÊÀ=‹…ìu$€ÌÜg€*z‘ˆX/!ƒ2ÐÆE~H±ƒi“&°“Z›žAzäÍ]½û^Ìkþ0ðÐŽØ2‚àwƒ™(àÅظœ9Ô™)i×n<ýÒ?d®]MlÆgØÆwYl²qš[û—ìB s„ܜܛ}>‹²SËÈJ_E)p¹š‚Ĺ㩠æ!ÿ±á}„šÝ¦ïZæ¡ô¨¢{`ß¿˜‡‡ã&6mm>7\T6—¸U=:'â4cîL!킬>M ‹¿È\Þ·¶š=~œƒ°QK¸0óGdÀu™/äHrlNÂQá2HÎ’ç^ÕfÛ‚ªÙëB¢ü¾0 ±q'JϾÍ=á,8_Ï _WKÓ4ÖÞö8¯Ù>6^.*ÿH” †íóÈ ñ.Þ çσ`?&‡±£ìïFá–›Ïcå}8¼»ô½Éå +<æŽÚ6ßIî§ý]Je:D‘„Æ#aXÜ{¾˜,ªL$mT–%éOGhGC¼ì ×†«±AZÑÝ =vc}G1{+úVh¤î³»j¯I[éoûßÚFèH†–Ï⢄º”ÓKg@5ù¥øÚ1ËØ«2f²òŠ³é¿èž‚¨´©q-¬­2ü¿/X¨L/M-ÐÚo˜ÃñÐû ¯†Š×ô=')uëñ+!!‘´‚Õ> endobj 629 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 630 0 obj<>stream +P›slǵ8m¿òç'VGHˆþ”1¤Y…±Ðº |1Òöb~¨Ò @°õÝŒ3ÌÜÖYô<Äâñ{ÑJø+Æ¿-ÅiþNb H‡$2ŒðN¢éÇž¥n‚…Dã_‡Húµ¥æ?˜1„Úo3 âþ#v³¦fyˆ +(b¨T?œ)ñµán4ó3èxZ• +Ãz·µbV… áœVbBÊgþM³?˜9Ü`­A‘"ÌϼÀ¡½Ïlø–0˯íyÊ"Ö " ]ˆt’þÖP¤6b>¶”íA¢ð—B‰ÙNe@û¢XO£pÂÍd¶ÚxÀ:ùÇÛQdâ­qò{±gå–·BBðå ŽY¥ÄÕ—¯› f£Š‡5®åu¹h˜J*^•áÝÁrN¶wr6Pz«ÀhÄ6È4½^¿‚/Øíœñµ ¼zèeÊq'^ üÉíJ;#ëéÆ5p=_NCä®&±I\6ç¼e–ËNš’þïÓñÅF¬ÊexDì¤L<Ó5¦ž•m4nXú‹¿£ækMvàì–2 à¤Ðï¡„>H+‚]+=}ŽVÃCärr6q®…© di¾€G_äâ<Äû=vfé¾ìŸ·s€å5§Ü\Â)‹çâïË„‘¼=­Šî’´/2:×8ÄÕ%º!à +d¢½‹R™Ù3±B†Dð.Uè-2ðÐáµòÏ%†š'ÅŽ7©=KÌú/dщDúY6s®Þb&-…v’ÀxHö4xªÙéH餡WÅâÌ&’0áˆþµ~!W” ^UHÈ=²êòJmüÞ¯®êo!v”´¥³ Ê[’²8¾/¿ÆêªGժꓬÃ#ÏÇ’¶¢e:S e¢n©ßžîß9 ®- ·vk‘õ§ª×J¨)R“.ßåGº¥Y@ŠuâÉ6HWO‰D];𶩾€®Ò£’,%seefw¹=„ì oŠ]ÕAž†ÝÏÁK‡j5üýxD÷`ö +E ô i\;’uB±ÜÊŒ¥%Ò å/‹ñÃëËTŠ¿×SýÚ˜V´à +g1›OÀƒ¬yÔªŠ–陆öŠ¡ó‡.É{œ·cë}9û´¨™\ñ»Á â7^´¢>H›¬&›³5aR ^´[y,Z)$3zê0'›ðƒB +-@<Èhü^Ø‹{º6-ŸYUУ×–#PGeO>„*¿ZÐæÙ„èéîðÎw¥eVH²cJÿ7—ò}sþÄ£#;¶`ìsÜ–9¯Y¡…â>Û?o”´8 E~é󗯇‘¤´;1- +fg¶ÒŒåŽÂkirbœœfl‘£ߎ߀åu¯yE꨹L¢TY(ô6?¢/¹nž”÷.”ÿ_öJµ:”ßt™õD5›–¡5‚HH;ð8Ì=ÆÐrÎ')!Kÿ¿ Þóeè¹w¬F·Gw6ºÏã½Y‹ÑüAó&¯?ÎúÜ=Ò‰7¾¢µ5ÑÁ}µÄÝùYjg»¦ÐíÑkÚ&âɧ‹p â¡;ñ!`õ0Ûš§{ô—rúÃD«$**©Ê—Ä“ö†*8y±ÔÄGn°»Ð}{.•PÜ䤚•Žb«¶Ó½2i˜8yžTP$/eKX>7I9°0ú± +U¢Žæÿ㽦%ÇrÓ›r¤Û@·B˶øU…b{/ûIPb +Ý2‡Ýf²Fˆž§Ž9c°¡kбqªlæŸì·âÒ"Á¿!!ªÚ¦õXDÎ!¬ùRBxÕ;õ ¹æe9Ÿ Ì=|ŒÈ™ö)kÜcÄ+nõ”ÒÚ‰“žbiÓxO¡%í"!§DVºY®—×Ew:•EOW¸¾¤ÓPýÆ ½²;¿êÙj»ZrõÆV&R'3¸ï%¼[˜TàcíI ¨’¸2ènë4 ÿyʼnãÀ&_ónSÜJ| 1xÙ¢°ëÉ\Î}ûÃ;ÆE·]c€Mwtþ9¶%ày?§nUCº щˆ€žÏžÒ%³¨ Éòlæ®*н˜ÖDÙ Õ„X_ÄÈÉð…$\˜À8õœpµ¦cÎ]mÇL\#­úsüÉç̤àsQ©<¶0¾kí$MÞ³œ"r2ÔÞ ¦Ô¹G7ø¿1Ê:DÿhÙSÊpÌÊ)[YE1ÜŒsò6vøþ¤Ðó#ÎE‡-÷¹×K)N^äÞÖ&b¬ÇJPerƒ§[È (ü÷Ñar¤*Q·zé=ܼ…û=wx.= ÆõþU™NQå®t_èz¡ùº¦ï–Ô¸]ié£Ô]uíÇÌ2’`wJ«?Xï‚{*ªèÄÃþÎM”½eþ¤µ3â7VO¾_‹Kæ3p~¬)œû÷qz¿HV^ã= ÎYÒĦ\‡kemÔöÔ'­“‡­ÍÎ<–3aDvC ãØꈽ¯&"™kןÒYœ¤A#i½a†ØCE¹‘lÅ +þÄ°yÐ÷Ý^‘ÞÂü˜÷—2IØ€a•<Þùp…`œ!HüH’§•­ï•ðö På+—ý’}SoâcWR|a\›øÒì…TœWQîO§Wðkg2KZÄì/ô¸ŠêÒx@þöcv +`á“ϨDžËØõhËEo[ó5…HC“ºs¦]6ØO×¹ãnmlÇbÍÔ,¤¥v•š¯õ( …}F‚"¨ˆ¦ÒÛå~Œª=¸ÿE !ñ‡“  +îê 1EÝ*¯ê8$b–£gÖÑha®´8ÒØ»¤J‡·¤tt)ô”óSS4èƒÜ»c/v®b`~lÓŸZNRë©SDðíR' \?tÉ!ø%­¼Kší@Q r½†‹h«ºÏ Ä–a5D,à@A—þ(P,ìÎw-J%òzkl܃LJïÁ,'¤ILÜ.’·^h=Ë(ûBèöÖª'¥—hïÑz|±8B¢Â~¼Í'E'ýç¢7ß( lùw ›,³@ ®KÄ,îËrÄÙR&ÈȤ˜,2Ooþº$Ô.pãbïàãbé°»Jîù§Ç?Ý»æÑ…l~ ¸ÚöQ†vÀè{ +ɹ~yI@–`覅ÉÁá‘‘ã“߬aŠ^@ÄÎ[RÉúî|"âÙÑu]p WôœªVühåüvÅ5µ?25š$[#ŽÅ\§×kô@úàfÃÞøч6IÙµ)u€+ˆ#ÎrßcY*Ø Ë÷È=Ÿžû3ÒÂ,ðm ƺÔc4 õY™šFzŽh; ûD Çc‚ƒc$sª—xòéȲ‘×FÉ#nD€SRVŠ­9´±uÍ ¼ ¹£L ïC쳯WTËE]ÜV³Ë.ániüÈ°\PÓ‡Éê2ü•ÔE +"OE +`„JчÉRí̺°SMœ{‡~‚ŽWSG6ô)ß[Ž&¯ØÙÐG§KO't”¸­ •¢3îV—mÜU+oŽ¹$H'­\‚©îéó<³#w€Íˆãªf̈Lz²Ü§:D¾ˆý„Ö9Rö¯ûHßÇz/ëðÜïå¡"t™—ÿbT*Á¤ÆiÄ#ÞÝ[ÆXŽ!„úIhÏnÏÒ¿Ž´uâ¢c$’n|³1·6™׺Y÷(Ì ¯I=¤ª·™}|ÚÞ®c’4%‰~2‘i®yüŒ®fûîdÐÄÉ)òPnÚ×#¾gÚ#KõQRªš ¬ Î^u"Šü§W–Ðߦýß–® +endstream endobj 631 0 obj<> endobj 632 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 633 0 obj<>stream +¿$¨’ :÷×ÔèK|Á“Õ +êµØUý¼Î_ßã. Ç‘a‹lø|[ÕAJ8!×k/>KSé ªÑh=‘yÎñ ¦ ¡gÕ‚ îeÉäd¶þjYðCrJZãååÈF+ù΢׉BÑv‚Æ6v­˜L§S´~YøV¶k6*’8¹’ä+Çy®Ñºª«s€)„.Ÿ&ö ÚËÒG)÷8²TûÏaÖ +cæLŽ»Mœ.—£žYŒ©ž<Íb#ŸB„l¿çsž˜½É´<¦±'Ÿ*ÿ:®R2DϨþÄÛ¯íç¬-Ã|¦¬¿…Pñs øÅŸd®3w¶Æ±?­“Ù¬PYGË¢)0!Yp•Ø§Ù ðÌj×ôÛ?½ò2zËH”ÁH Æœ†Ësõf»øTYÊêq>¿Á7xîÂb\ê«i »KóÅ›ò´rFÓÉ/Äža1¼Æ"Ú<·ófïópsaõNLr«¶Ì7w¶Ör1•ëÄíòš¿‘Æ3²˜ßÄ×X±±¹XI”êS9bħZŒo;»A°pÀ5ÖEäoZ¡’…x¡º‹U;“k“%~Ô挰MËõn˜Ã“ýGËØ{šqݺô…èþ;°‘±â£Â‰³vMZ®YÀµëò»póë@óðë”Åá°H€ +ÔsÞ5…ÄhO^ÑP¸€Ë=Cž{¤Á~²³–<²d¤†$á DUÊJåƒ@ƒ^Óo¤)ð¼fšto<¡Øã²ÈXµµ¢…«cê~á•Š´sþÏŠ‡1£œgœ0ö£)q‘Îk{éË Ž_.Er›mï}³T>ªZ®ñ-žö#Gs¨. X ²¡ixH9?Jy>¬ +W>š£ï›5;…UŒQ\±qì o„Oqÿ|Lý5£†—‘lÅàëP˜ÅöãL¯fÉÔ 9ž¹ø]ì\?â%¹Öøþ™Â?uðà}†åŽÛYw¥©e]öÐÜx=îÐܹEÙe¾QÀÞˆš§÷˜i”Çœiѯì®ïŠLÓLåÖÀ2PŠÊS +m)úÁßx}¬å£«0]ëÎåÉñMŸ¼†þùãZ-i¡5¯Nã¥2L€Íøk^_[7ý²”O?%¬¶œZ(l2|W 8:×»dG]¼¼ŒkÑ“Øžug¤îú&wx!‡N•é¢?ò}Ûº¾S³0þiU_c^ܷ姱>VžÅ!T5dMnõSIîUžj°&y-t5æ‰QânÈzp¤´XÎO¾Zè ]Ì}í.,(a#mT|èCˉzýÔ ¦¹jïN¡. ñ£5C‘L,[ªö~åt%ñf¿õ³kŒ_p&Ê ±Ì]j«³f^K¹&b†~ÛHd­lõcƒämÖ.* +uùºŒ…r÷ÈóÐ@LÓmç?Ê‹õàT̳bwT}®ÀÏqPª–]É«ÿ ŠhŸ¢`rÙ”J¤è^ ´GbRãÂéÍ#€(”hÓ‹}ëvrq^MªÃ×4´ÿQíX‘Z16~GDâÒ)¶Ýxk©¹V8Š¦Ú0Ñtj Êù·,£®±Ý¼Xgh0 kìÀÜ”èõ²…Õ3då®JyíxéÖ¢¬M+΂İ’;í³ÊPê‚;àc‘6EYñ¥ˆmÁçmÅìÚç Ã;’ÜZ©¾®5›I¸¸?Sh§›`€ÉÀ1š©q#ê°-[ßý&tž¥sZö¼¬ïb‹RLW´z\‰†±)µ·1·Õ°ý*u‘€ìxR†¯þ7ã¿y.7~!pš¾“%;ÍÎzÒ¶¢…ŸpZ²Bp:«ä­m…1ÄÒ|Á†ëܽ +?\g +:È"|®¹˜†Uh\_É „hÍöFócÎïè +,Q:ŠìžnyÀîþo  +\v„tQ‹îޮˤϦ‡ ¸©OvT3.ÔP§4X³ +qž D¾³¢yYØêê‹cT7xÐoŒøDþ–ó­õÞéîË‘}¯ÀÛ@€átSbNÝF}5ºþÐð˜kÄ-aÐŽ ë- ÀPsS@¨ŒÇP¥Ò)vrÏ—…£zÿ†SEÂPâQ0\ƒ[–gÁ¥¦ º£‡û™ë!*ýŠkà¬OÇôÂA-[®ûOßf·ÈPY8^dq»©±YCu­èA[>Ëð ij-ô¤ UOGÍy˜¢xV¦óмm8í«‡$KhAO(Éz¾ƒÿõ úè7C6–™7-¨é¼Mªpü¬UvJÎh–ußêù¡wÃiC{Â%kG%mJ(La©Î]@­.݆Ƈ3¿Ämû“ãra˜Ü©îÚÙb¿ $, +å€Õ-|â}y,]T2@V׶ ñõ~>[ÀKÏÖàMT0˜*éÏ©NïIëáè›F¿oB§õTCÈ·µ'Àle_—¶®TßC@¦&Â?ñÒ‚y™†iÿüZaN†ëÈ\±Käs;[X¦éN…µÛ;ÉQn%¼?áIÔîÓ–Ç×ðs¹N;îúàü ü×"<‰­¯ý>ÇJtß´ âËâðMg»É°šôŸ9ó†H¡Y¢›¦¦ƒ¼`$¤Õ˜ïð‚׋uâ˜e>´"}„‰Å–û¬šœuŒÚ®¦Zö­ ¨I!²B55„áþ.^üÔ´›ýã%9à5Ú¦¦dF^Ñ>Þ§ƒ¹q…´*¡3p-²+ÖÎk¤3h΀½®=j°&góeXcåpd#¿¿qY±Q`i}zIÝ®B®’vgÊ‹69•¶_ˆÍúoiLc`cï~FÂsºØ´›©ÏWIO!zC&Ú÷^dœ ÷$£,9 CŽ™Ë^•^$Ûß—½‘'Ô§.æJ¦àºæˆªC¾),5€ØU ¹•îžÆ¡zJê¯ránƒõÎ5AÖ”`/4¢€ŠÓ¬¹XÃÊS+cpTնܜ½Ä"ô‰<Ä[lxQï›b$£”åB“ÕjÓÐ$éˆk0$§½ÅVH ªY{ ¸ZvþrJÄü,ߺV™ÁÝ­|kŽì:V¿Š8ÝÝ+¥‘ií¾f’\Ò^=‹«Ã™$Šî»ÚÌ ÐÏR–ÿÉèT.ngfX„ÖƒÅ&í0ûIÑó‰Сç øÀÏ+Ó¨Q>º)Š¹,ƒqRgk4ëP„­öR•¯i¿à|Ñ‚$.³Bh‡}Yvá¨M6g(¤Ù-F“w„ JŠˆŒ•Ûx{ûèŸgöøð ÑYäzˆBˆÅTÇs_з˜ß(ž/oØt34.h xï+çÚർl²úŠ‹—ºSºB~ñ»Í©&[wÀâEº¿”ßeÅÇ·B+-húÚ…é8b}Â8tO/«ñÒWì¤i§¦Ê,ï)aa>üÞ³’ÿ¿U(ÙÀϲ©bÝጓ3³þHÙfƒAÉJMä)Öëí;r›ŸE;]è2íPIÈešVË™Å`IéiîŠÐ]´ì3Ò†þ±nšΔ˜5—’à˜mÖ8ýÖ©G퇞ªö¥ÃÓwÜI@7B«”⌡MtžqøÒ³Žrr §³ÇëX©’¾QpjÖY<%åw{·Å*H±t 3U dƹ¬Qw,ÿ¶"‚C,%J©´.‚B²73ñÈ6/º4vsŒ[öòÎ !Iƒ~DIIÜ\,²:"Þ4?je=C3½DEe€¦V7†|ômQ=ý.*|Eæ'6<Ä™Ôõ³H!E3RúÉ5^]¼Õb%D•­1€ G§ÏpàºCQ²Ël-ÕϾ£ºCp¸Šx4^QOÕõ§Ñb¿à 8ò^šNœÝŸ›Pÿ׎ܦGë<[άîÜKïÒ®ŽlD°ƒù›nDÙ×]ÿYLÞ’rî£G(OÇÁnöþ¿á‡&ï£Ý,ælP†«¤0]ù\9¬•qc[ÖÜþ!n°¦û×5RžíD*uµBrÞµ—MRå­MÎuGʹªù8ÅmçúTUýBú4ýE_°QDm +ÂüŽ8ï£m“‘ƒ% Q÷…^9LÛÅ:BRb„'Ko]Á,£Â4Å,½éÜÅ‚ ã\˜¸j_Óä°ÌÜa¡Ð;ëÖ0èâè"÷°Ó8{2zfWËൌZ…Í?$­#$'¤VënƒmdAêºEýŒÕíwÅbZhÇôŠÞæŸÖœ²çÑ|bo>?…jÃUbSd*! Œ‰Ì`€bæÉ9vÑÜ]òuʪ6å‚Æó… õÛÍŸVÙ=Ñ^Bl·PÆå^ÙZY¤î17P­çšj¢Å?Fyk£:’‰3¡qÊ %Š¾>RZYÿVíæÅ%Ý»­žy¦ îLÃÇ€b_~‚áÊäÈgö­Z‹ˆ¸§g Y#ù·¦.Ø7(qšÆ©X¯Ó~ËáoÒqH DÎ’âͦèÊ^n6ÔC°r!ãD@kÖŽ‚mµôk åkÒd‘IïŒV½Ë›Ð.•ëæÐ'_:T×rìXJ‚Ð;}'×sÏ~Èë©;<À[¼ÐÇ5¥Ú*ò‡¬KPw +f­[â1HäŠ_j¸+»\Q«8Å—¼ Â*¾H¥{ÜO1ïÚUÀ×ΓòqQXRù! +ÄS3ìYÔä¼×Wð¥yFv~· …¶6wö¼_Z›5Ö$\ŽÄgŸh±žPM°¬[ïzïé>ÐÆk 4‚‚¿¸q„WÕu„„âYæÓ°ÓŠ3KwÈA¸ž5âñJà¬iæ<#ÑQãZÁ 8#ö©#.LnÞðóÜ~vúÕ¶µá_(\Ä™!?Õ±m:Û’’´t+:l£!ÎåÓR`Ôì„PòMv—n9z¹×›ðÀ>aÒ!Γ}ôŽjŸ 8#•Ÿ*`d˨ðþÌ~Dë.ƒ¬`^ËÐõˆÞ=ï €çPhVoSéþOóŽ\Zk~úY½(Fêk§*0!`Ý€Cö~ÝöR(p<’–¥®]ô«Ï/ÞòȨ··)‹$Ò²G .èÈœy–Cbº‡r³”‚Øš(™ˆH ï2ÏÐûZ©™{£¦-eáõÈ›áu×7!!äÏ'ô“ƒ‡¨/WÉEkÔÂ?nIT£°‘P͊郌q:$‹·¸íØï!Þ45Åß¿'Åe(±"kQåú¨„™ä9÷RUóª(ŽÌCP\ ö”€´]÷¯I-¤%‘h{"Îü£~x×­b\²ç²ÌaX˜ó³ƒÄDÝ©G)ˆN ÔSQ(ÓKÊCÚ컌ð£‚;Ýb×<É´¿’­$EÜËÔóm¦ÂùÃ׋UgvŽ±T¢¢°Ö*Vi`‘b¡íæØâ—k‰fòÅè)o”1’}̆ ËJn0Ûºåk +{ Y.ñ¹3æ€CŹٹsÜÅ;äï îa(æçRÅŽ×Z·ËWKLÎ`ZmAo;ø×ÚÀ³k¿ÆœœT$æsX8êß¼oK/æ7<—”U§m.d0dà«ò*Ó’Ž7V--”ÏSйîAWUÞd‰¤ªé‘PÌ…¯‘KÐI"e/¼øƒ œcZ&6®y™­zõèiýðÂÐBo`OÜn± EEGð½i²„XŠ]"ŽÌûæOüN\2kŒ³¤ì;þƒ¬¢F9ƒ}OO?SqéÙzæJ"§K‘Ü É( * ¯| àø•8P\!÷̸ùVÒo¡„¼Òi@Å{`ô›{“S@ˆšßZ¿®ó•4¿s»+£¥ÐNG®“G«3Ža[ º^{œÇ´ éntw“ ¥å¡™†™.é2 cGÖÎÚýfPS–íÚ ût]УRàŠuÕ + ¿´f4I‹‰Wmx_Dä,㎪)ûËR4û‡Vxb¤‰"–$Á¤&UjSy^¤¢JV<{TµJ@9Êe´¢K¬fîÏ3ÿ­´J +;÷OCÚñí-¦Ôâ—ÀeŸ$šAê½ÕMoùF¥«Å£ÈE_äô`øÔ­†¨å“ÎG E‚©{±«/Ù®U1i—áDƒÙű¥5[‰|n’‚,œl;ul¨6çÖe‡ö¥ªb†ÕÚÍRÉsO0ª ¢12Sßd†­U Ï È:°Η{»:Û1ž´¬‰ªZ€WÒÜgî…6TøuB´ ÅÏRg«ò”lü±×éG 2ôŽþÎJÕÎy©ÜH§Cüŋºpäªü05 ëW¢õõôÅ¢Ps™¢ÄÌ}o?“97‹Gt>‘q—~Ã"ô2ÇçMÏ=h ùæý»TqA¥Æ­‹õï‹Þ´r½tu–¼AÖû‚±ù±Ä^€K‰oÍ­Ayì(|¼àûQSn2«QOmª?ÙùcƒB^ƒbzRÅ<Ñ\+#ƒý?4áG ‰4«¢'æP¨N–<ûÜÆ&æ8zìH<È7²ÿO‡ÛBµŠÍ.%ª¥kÊiø[§Û€=jc/xißDÛq’sÐ+LV»tê$6 +ÇkYàˆh”:ÜØÀÜÔý:Ds +@‰'vp Qʤg!̈K¶[Çà_¹«Þ¥­ï‚€¥L„„08òƒ «c»ÛbøNDÁ´ÙÕYŒNƒË3¬q¹Ÿµ»:VùŸû Qw=ã÷*zkb\Uó6ÃÞœóé1;Üéª 65âYCq÷-”þt™&ÇçÂ"-§©„…p+Ïå +endstream endobj 634 0 obj<> endobj 635 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 636 0 obj<>stream +wC©œÿÒ µ·êEBärÌívÕi©Y•Š‘Ä<¢ŽÁ©Ýshma£(‹KwveT +8,LÁUóJ¾íž×÷â'_ZîÜhìoIyÝâ‚Ôdô‘%æµV’ˆfœæ0ñõ¦µT·Òfˆ2áF.Çš’+q¦u›¾€!”u á+TÈkTÈ~ˆ(k+1œª¨~õmùT^csÎTu±‡õ7“*xe(6ç’ÉgB4S¸NŠ«Õðž…º8¯5â­’5SwÁÂ!œÄ÷% ¦$Rq±‰\”Fñô§šwwŠ%OZÞ¾ÚµÊÎÈl|sF¶mI0×P¡»‚òCb§Ë)¤êqô«bÂ{’/5ŽÔçR?áyµ1py©\°èNj7[âò¢˜%Y1¾4•êÁè‘›…_±â—K¼{jXhSýq²g Ù£º•|N·I"À<ä«ÒT?¨é´CôáÓãU~Iþ„*åúxÏ÷·AÜÜ.lª¿c9–÷ÚuÅãéŸiJfƒ3‰ø8üJƒTD“[ЫÊÜËSQíòŠËѤÀTªŒX0ß í˵M4Rµê—©ó“Ùï\p„èë^ €±™Ù˜³`Æ àá¶îÆI†ìyçS’€&Ù ñ^á Ùþ¯äRbü¥†_}¿õžŸCCúXð³TèÄ?/è×m>¢:nm ê–a¢I´6”™3æàšZòaåÑäR]¥ÌXÿu³îëŒÈÔ^ÿ¬p‚Aß()¢«aíO›REh¹,ÏÛwdPþà÷fnM ‰üJhx¡S UØàZª®*IJ‹0…¿ Ÿá¢àÃôsEv& ¸=@¼{Œ‹tùcR×ss·1Ôy òbzM½¤?ö<ªk´¸¹ÌËzß{dL°5ôøg4¿O&PšCöæpà¯-«phda˜ˆ)GÑ]`Á6!×îo„S˜5 èR…ßm‰$Ê!tœ•?¢ðvsm?ø“u0[þƒp ^Æ £X8Óø¨.%@Y=¸p˜¸?eÔ³ûrwÅîö¤óš’a¶ô¯Už¹œ-èq‹ECx9ØÔtrLiìÒÛ2©¹~ŒÑCC?GN*?ix\CÇüK~^ºð…'E¸¬c2vÂ<¹ö´1ü,õEŠṲ̀¬?r]¼cŸÁÓ¬GȈKß$¹Ï7uë9»£(»‰Ôwä ÒeÍŠeÒ–êÃAËð™õ”ÙÐÿçK`âë žhsÝ®G0Mb±-w©@DaÂa|UM4Ö9©xq¹;pÀGƒëi‹³1ö³X°5 2»Ï…¼F-¢ç ‹áU?ž——–ï‰÷6xä88Ÿ÷´øeÛ‹€:ob+‹Â ¥Ak|À©Ó›¹`ÒÕW<èo—ÂÌ%0™ìሠ,4|Þz‡òz­=ûJ Ùë£]øj©Ü;hó)îðì°(b©~fqA t­=[h<”{ÕÔÆX'׊uŸÍ¶i¢¹ùdq½r<ò‘QG8 Êw^}uâqSªKgÊ0 +¥ðBŸ™¦s/¥X"× óÎpˆ…6?Ñ&íñècnGV&ao\_1 "» úì",©¦ÛáÕ‡ÍcAåá Âœ|]{¬GX¶èÊî‚iñ¦÷þåÅÑ;Q¾tÝ ³Æ'qŒobºèJüˆ"Òê»YŸ‡#w„PœµÞCµ`ø¯¾šjOÎ|Ë ¤75Š|i§éä…á¢Ëµ;hÃUd5oƒCÞ~Ÿÿn•J+~ AæaÔ¹cñSˆbݪòËSn¹—MùHrh ‹B?)ÉAà ·InÎL8ºúfAœK†¸Î¿$¬©µ[ZUU¿à¥-Ò÷©à&¾Ècû5 +ò³#‚ߌï~šYµä²w³ä+ŽãV}zÜ¥Æ˯k»z@…~AxÑ$ßû¥.‹¬Ç‚»Iƒi°mîÙd…Ú Ýb6Œd#¥¨°òíC E ìÿä&^2‡æL¸#yžüt$µ¤ànÇyP€ë‡ÓIL…*6mLõd5%õo¥«æáTu“wÑZõœ<®’$½îGó/⾶ÁÁ`ä¢`siþš:ÝAÔÉ$Ä7oŸ«ot˜4}¤Öå#Ϥù0Šþ³Ïñ©u‹a‡ ?£ZM08¶Å(ÿ¤ë4d~ ¼P–™Á«d˜6ɱ£Äö‘Œø[a¸¦R°¤Ùû0Ó6I’S´ÂÛ.4§¢HÆYb:Y v“Çî×… ‚'Ÿ‰Õ×Íé”DJz7Ó@l GýOšÚ$t§y ƒ¾É«»æ?Bõ ;lÿVc¸‘8«bD1w6t̳-$¿gµ^Àk‡2S%¢ +a˜ÿ-x]ûC +—=Yb ŠX;JKÉó—9EܪÛ18ÞéA&Ÿ@RÙE"m³¥ƒÍyÆ( >5¢åó`4z~|8|ʹæÜQçîvw8Þ;“#ËëJ<ž¦{‰.y  Žcç¯z©ÁÞf³ÇZ²ËixämÕ_^bseA\ê\¯f>j•OLô+TƒüiŒ±þù¶a¨“1û4ß‚a?¾À™8æä¾Ñzù1­Öóñh„΀³ˆFŸ‡Þ'2cB”]Ù4ûÇg'ÈPL¯bdt9Ò8ÓlHç9Ü\‰h$… AíÃû/Äa^‡Œðà(E^×¼ ÿîÝ ”iuZ/ÏÉŠƒšª®ÉXï-uäæ3©²eµÒº–ÖlcŽÑí}ƒ7=ÝÔE"¬-ÖDÑå–Qþ0²7•ÎÆÑ SMĽó}Tú ==_°bn{¶°q©–¬œ7½-˜Ì9x=w&È ]åS‹ËÏ_™%\ÔÖöÝ÷4Q½²ÄŽÆÒ‹÷퇩Å̱k»Êt /pºüµ)'Li ÞcÖ³RÖÀúÌVPz+ãiFRîÀ~µc)¨!Î?©NAÑŠ4D}ûµžûLä2d®éòf#¾Ât!}üá·óìÅûOfsÃ$0nû(ç'ý°6§1÷YËg؈ñwé< ¤îý5…n{AOWY`Bðÿ ØX³Žy •â^­o·’Ï›·|yòtc)œCHšÈÉ[Ôm½"TÕŽØeOUÂŽÀÁÙ_ UñŒ…0×)xÂNO¼]b Í¢»&YÌ-^ÿÓ`Uƒº‚·ÉWŽ$àmS¤À~À"ÖÞ ”˜äò5ú»m6Cå‚NSf£Q‘Ûú5¢û˜ÿAK–dÞåj;à08=¨–n \3~nu\N ŠD*^ßÊIûùö‰8']vU“åLßÞ§½”GL{ɤjY‚¿T³Û0–-ùN 8ʸ—Þú&úÄÆÒ?`(˜ø>êÜ4‹V„>ó³ôð ]þ»Ð ìn™š:ƒ{Š>´&²*v Â_…9qwзËFnñRUþʶ…I†TÐᯆuÃü£¸rg3nGi»Æ*(¼ØËwÝ×]ç×Ùˆ`ݶ=‘0×#j8ż/Jâ’mãI  C‡1:Ÿ™Wpø³aúp;׈ÅMúö' °Ñð;RœUÞ²Ò\¶Ö‹WwlBƒÇùéþq¸‚ÒlºÃZŸ/^¼zi@Næ*-¬·øív¢B ÷LñLÆ«Ú­ÓM€•4C¸¿8±Àô9o¬€p¡ˆY›#LäTs^MAb!DÿÕÆœqNCª9#ð~˜}Eó›]ð,‚ôa˜³2až*UšâpçF(¯{~‰h[%¦qž;RmJµ¦Z8zà?Ò¯EÊ gO.Xaš à ‘:ª~WÐH!þ‡&Ÿ<Š¤©¦N7*V„ ¡À[à!»Œ v9_p"©Ìsw:’O'À£vJ­ÙÑñäo ºíƒ#­Ø_dívèÛƒÄdMßýP¥ûÜ‹xül?É3¤TîsòsÑ0R A<èv7A¿þ=°S€âƒàSÞ! J8DUm¥‰ïq¹¾,þ¥ñêú4DŸAlæÜYH,rä^±»ÒfüuŠ‘:8o¡áGŽÌI|YØдø€ôwRòùóÝ *Eœ?òüß1)Û?™°–poY?7{šá-Ú$‰Í©=)Ùà +ãŒÇsñ´‘”´Œ§ÌxSVU`™ƒmP¯z»]Še¯¯‡YîP ‡•ìv/ëžRØü•) Òñ|äláÖÃtoúì£,.γé +oüN‡ jf—üµlRþƒä¶ÄÈk²°:%v8B&k*íqú$±Î |—yçM,,5ò(Õñ«3¡ÄùˆŒÒ#w> û~¹ÛrYü‰dx%ª—âkÈ©ˆÞÚ8z>cŽ¥egc÷ײ)Wr×Ù) +Ùiéé·8èÚhÁE=ò!:̽”¬×ÈT: 9Á8Rû ÜÓrï%k•åYÍ:˜U§Ç`ÞšÍõ¨ùPKÜ(ìƒ;cç5o„È:¶¡¹Ú«î-m{V•¿ÒÆWiù¨éãU«ÀÉîæÍ2 Š¹‹~½™dú˜Â0÷XŸx3˜³È[O:Ô̶à`–v}ãY„ï¦X š¯SÖ£ŸÍËÁ8ÀÒ7ó MÍÁŸÝ›7u`ª7’ +xψ$2NH¯íœBŽÛÎÔË¢;BûÖÂu’½kȈè +[.Š“üÒ,æâ;Ø .¶j»¼¶”It÷ËU춫‘ç±›D”n¢† |Ï[R8†U=`²§üdDANã½ f/†WÃ’´n%õtúCÂñî²úD $/Bˆy7Ò‡RVlµ‹eNÀ6{hÑ((þ4kÔbÇ2 +U+'nO"Ô±ÍIÚäÇÌ „îzû¿;¯n>;Æ'<Õ °q´„È•z]L˜p< Ÿ–<½0±¼?V»«Öm²A‹ò'øÅ z%'•ÞëfÕ»`è0̼ºÇÀZqç¹å<õÌž¯W]«=‡˜t-—piõ@%È–ÕE&3ïd¤7·#uÑ +b“s‹ÿ (8¼Ò?d|:8»ˆìIÌþ®l"ì/˵ãuä½ÝÙýœþ9Ó]fÙ³C©»2£´J‚‡ð×q»Ž`p*ºQëZt¶|¼ýŽ£!SlaŸùߤéú‰ÜŸñð)Ýê?íBàq½ö‹ðŒ>:‚›—[ÃÿÀí3]Œw˜Fû.$–CˆX0°—{Å5N¨fóg4ô¯C‹5[ç)É䲈ïÎK–»½(%h©²ÉÅ:v|w +„ƒ®öÁgÄŠÉëé1cz/¿§oþíËtdï<›ÂaZ^ÚGxQO€=rg)‘KRáNÚŒ™-§\RÖ3ç åÌ|‚€i9‘ÈI‚1üæ6¡G;/’)Ô7–÷ˆ^ß¡í-ŸŠàˆŽ“¾˜€€_£x`ÑtæíÄBK5d“I„ôó”–ô¾Üõ— 3{a¥ZˆŸ1-ûEè ÏÈt@±ZTǦ.ÁD‡—hRs w[YžÌìÇ}áúh1³„Ž!ŠlÒ'.˜0æ­ÿ¢,¾M¦ºç£¼Ôd…@æØœ‘ ¶ÙK+ ö$Jš0!wðŽQf’Ê2=Èq!LI m¤ü[f臤P@?‡·ü±á¤{»kQ¾˜ÁÞXøWÇUÚºÉz XµÐÅ ˜åV> º|ÿNcQ9¡TY°ô‘JÒ +endstream endobj 637 0 obj<> endobj 638 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 639 0 obj<>stream +2ÉÕ1!í öÈMÁˆ#!Ñ»&V?`À¿ |ɦg +W;xæ¤H°ñk4ôu·dâúEJ½ãÕ÷¸:Újî>2#£Y6×+÷6uTeÅéF:Pè°ñlϘ¤„ZéðíÜŽD­®Àíåè9?Ùógöó1ÿ)¦Æ¨‰ajôNÊ>Œ?r›¯ª9Ô=AjÏ;iPíX=‹0º®ÇZì4„ê‘'¢ž !o„凧3PO.—´¤ Çhš-.ˆÜœ'>zTöm\‹IŒóà:–3“@ +Ñ#ܱô8W6Ìó6ótP½uò·Ê—o?†íÖ:¥zémÍ/sVyvý%Ï7Ùw(Z†ú–0YSD€ +(Øé£"r×í¾h“Ú!fZ…àëÓtÓ‹Fd†SA;DÎrÓ:ðóÅk¬ãLzó]üæ®ÀßKÏãÁÄM> ĪpÝÀ­Ì@â¹D0[ÇÛpù@íñµÞÄé«Rð#:‹]élÄPj\¿'¼âî¿ :fÈïdç›<eÌGÌù=~9È,j¥*ö ÚC½äÔ€Ì ûöÒnºùûiŠñG]Ñ]ë~*`\0îc?ï#0ÐÐï}HÒd`ÑœnïO¬9‰2æïzéã(6»fòÒ™²f2Q&6A²–ÙtGÚ~m+ ˆ×óK¸ÍšÊ SÈR¯- ¼}œ]?µýÁH†4²\âJpï_ßøÂT“1“°HN4ä¥Bycék%—‘ÊM*%a ÊÅ…`JJ ö&‘/Rz…?U8¯—Útó$•ùÈÚsìU¸ƒØ‹a¡•7éùä,?õBêA®“vlÙÆ'‘²ˆŒÝB®×(ÄÊáÚ…ÞÂÑQy“øÕå ÕÖ{ÐÏ°Mîÿ‘0Z…çÜ¿þü`ROŠÄ” þÚ…}ÚÊØ‚Êàþ—‚Ùœú$ŠE>7l{©ç•éâ‰g4áMY€Ô»Ï«¯ú›gL$ êñwk •&d›ø1«HÖMcüéLœ‹ÐÂU‰m÷=r ’ýšèµ³BÜ] ©©=1à‹_îyP¯ +7†_ûù¶_i¨u®éµ$~íöÿ“C[bÅ°Afâ>âÊ +*{{&'eÄ$ŸªÒ²^=2¼|ÚðLBTIàÝÒSiÜÏc§¥/d)ñY*«è€Í+†,"¬â8‚ǃr€CéÎíÅÿ…A^N×÷n]åh/Ê𒕧…µŽë7¢š±ïy‡¸O§Eê¶f{UÍ7O$D6ñrùãÚ1üurìÄz“$ÿS·ó¯Rê¨þW ëVeÊóÖ9„¸ˆY]cVzG"*1«:5¸‹c%÷yêöôÁ:ª$@3§-cX³ý/¸½ž¼µaCV˧‚ûd­¥ô?¤¡ èÚËì’öƧÖçk@®J̹‹ÔkÎvY»¾eµÿäATœ}xŽ Pâï=ÿi —Œ@+XÄœ:Úof«C þ-Cn9îpª„Ä¥½§‚¼xòÀÖ÷@€}¹J¤ °9ùÓæUɶu¾;¥(çåıé¿úEí¾Óz¨»9z‡Ùôª6<2n!"[1[ãõÿYþ†¥eü`.Îu°#³%.£ß*ð÷ dºe¤b”‡–ˆru£}g1ú-0èì|þ`'zmKUŽ~@òd˜Hß·¸Ñ3y_è~˜‘>‹–^¯5WÊ÷Tx.áúÇ{ºMÑÅxÉÖ ›zb=¯¾«2é*‹±×8rilQ¹Ó45÷©õZÝ`ª ù'Eõ7ËÒi)ÜdG¿$H³’÷àñòÎïãbö¦¸-[ÕjˆVl&ámZGi„—wÿ¢E&èsº;—žßsˆ®L…fƒ‹Ô¢vf5³×kL@ÿ2}qÁ'Hº Q©ÐϨÂiñuÆò|1+Ìúæ:`áJÊ•–Gh_–q°¯%­â ²NKJóú”ØIËù³ŒÃÂdDÈm„ô(fú¾&°ô‡·ãœœ|\‘œÔÙI ð∣JÂҳ '-lùlì5[»ÆjOüë[™þZôœx‘kgPwk^K,ÝÑCkkEà‚1‘¾¢jüJ1ŠÑ0*SQ±ÑïùB^Š±ñ»‡4ÁÀ¤ -ÝûrëåÀ\W8o2ë¯ì´R'å¨`WH»ÿ1;À‘Uo"qL¦A‘Ï-Òï¿Âò-‘kX{ß‚ãFE÷~ >yld"ÜHÏŒSþÛð»Èã€MŽ’¨ +ç*˜g w„Ƴ úÝÛp\ôÆþ×R¾ÑåöÄ݇|°Î(XlEÓl¤»9R}mºÊµi3Z…&5¤¡TȨ–‡ö6®·\HvÀ,ÛÄUªózQ—p}…w“³Ëa͉skë!€øæ1«.Ù†ª§ä@ÚK÷7%b7Ún'ßw äÔiÃ÷æžÝÖ^`M·íÓŽO¢Co\uDgçBÍ“£ðOWQ¼…[ñTi\w6v±;ó J,WÆש›Mô'¬‰¤Ë+i7EÕr¸¦û7BnÖà›€»OIÅv{_š{9´âªúÊK±ºð×él9c_&¨ºÿóÜû¶Ûü~J箓»Cä¢(ÓÖu3xFÞÆ¢%ã>³€€ïÀ•´wÝìA/ï1¿ÝF¸Ýÿ¸¼#3ý’ƒÕÿ !|˜†à«mŒ.úJ¥ + ýÆнñîžÕK.¿OëûØ2_²8⟛2>D–¦!ï‚dþ¼ÎÉ>s Þ½ë{—ø'°ÑðЉܠ8”ŒÆr¾kŽU¢F9©³%ë›A?³Æ„óÜW骇ÊvûÑ°Þ®QŠï•âk±§3p 0£®¡M*íü²'Ç qֳݠÅ›ë-¥rÉZÖ^%JëÈJ]\|œj zýx=ü·ÓÀž¯Z¥z^a_Q2ÐQ§þ‘?­ÕxißQúe@’ôâͧ–!ض×4Bô=ŒlDêÒÚ³Š0áoZfvظÞeóÔЄZ=3TêôhèãÅ}w×èdõþ8i‰cIÎÈ0ú*_I±ØjÓ×Sä„i¦Ž Ľ-ÝC +Oçî>ÛBkß½só^ÆÌxî\S­|òØ€h°±è8*AôåŸ?B¶!ô´Ä.YÝi q{¸‘m_ _yf»Î1Ëü¢&/û 2ÚëéMSa¼`G ­¸wîÇðBÌ×ôfbBO1$!¨°`} d¯\ùš|ã>¼VRN½ª@­äòé„ ýR:R8â3{tÚUÌ×ÖÑûŽ†iÏn"ÑBª2¿´ÝõZ³b¶C³¿]¥{ +Ò†¶O·Ó@_)ImÅ(óK¾‡‡_Sú§þjy_úmn©£ûmš4˜•Uý¡.ªÞ —GŽÇ­f=å±.z¨ÄhFðŒÒ´˜:Šá!šÂÅ$‡fé®×»¾Â¡Í#Eƒo< ˜íŸS.øx™ßü©ÎÀÎy§qi‡@V•:ËjíÄ 5oS,ÇúCc5Ú4Dd»dQF´Ê&°\/€m3Jð€¬ß(f&ŸdTtk˜–ÞVãC•‚^lïÓº!êü½Š3 +yäYŒJ– t·=´XÓt¢2\gɉԘØ.læà‹vˆ¡eå÷ò˜™T¡„æ}ý1†N&ôQi68³Äe7¸Å¿1yT+U7¾ áó™Ì'œÄ+¶!Áë&à¤5õÿ\ËígA®eAŸÔ`OÆêXŽ=ÁÿUçÖµ”}¶Àܘ^£ª—¯cø&ñ¥®¤.mÏØ"rˆ?éͼbÚL q™{}û¢4ºA‡¨L{æOïHÆö§úþ¿ÎÉÑ»n +({hKs¤ŒÑ]ÝIT²~Õg/ Çÿ´åT¯¥ÜIú¶ *¯¹~98vp"JTØæ5¦/EœçüctjOô6h]r\;Èùl“®¤ium@@6°Ò!©½ñ[$‡[¸£r¶ÄÈfS(ªŸ9­€üµFþwa©,©?M™÷gµß÷¥Mv-ß—ïC4)˜5g16ìöMIo“Rd²d‰”g²<ЄM2‡ÂhK ›a¤£x/I{[I«ïç78ɤôBÊøvqšÉ‹r]s#¦Ö†5 ³Ï_ë¼ÓÕy –F:Ó5†?Wéêëå +endstream endobj 640 0 obj<> endobj 641 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 642 0 obj<>stream +»®Â²±ÿqÛq[) «”ÓÀ2ÀN -8h+«1ŒW}Ôxéϲ2¤ž-FÄä>çû ç +ûÓ•û'@Ø ¶]ÎV=\¿—üi“LT°‹îâÒï5C0w·éßÿÏÅÖ,æ_ªÔñ#—ËÀoˆ@¶UÈxÈX EÏ~[#òÑzµ®SxÛ`('±æœ™F¥Ùˆ}“ FÁi)5fß98QQùnGÓ66+Æʺ¢ð.R*Âœ|Á±ÝIÀÛl¶Ï°ÆÈ›âÚ­]à€¦MªÙÑÒ\;Á¥ˆ^"$NlƒÃbMȲø§U¶Ñ±»Úïq½øö¶K#sS¥Zß"‘íŒdð·Æ ‰á>–ÑfI/._£©S`UNø7ˆ+4,èΦݒµ9KƒR޻ɧfzZª|Á?Gôèh¹âbzº¾7^QÕkïªL÷(Ë ïO?óÐõ +ã¨Þª,¶YŸÈÖš¢P·úù\±2›ú=Ûè¥ê)®&*0­÷!C¶ö¢ªGÓø9÷A³BMݦU,ÚqTJßÔåîÔdˆ,­Œ¯g´ÆúâÒ J¾¢‡óîÄ‹Î4 ÿœ„÷s”lʤAl;ñ‰jfUÈ©Eÿ}ÚÓå× ¸Ÿ>{ÿxB«c|» PN®§ýt›7˜×¨Òšñ2Ã(€åj{íÛ+r#‰º+¼äáÆ"Q‚C[oeétzR¦Èiçu•,2b¿àø›É+™/7Pú9ù:<n³{8†ˆØ1jaõ¨à¬oyš‚·Š=˜èôÂAº0°#tþëá.réÖªèøUƒ!B +Þ½hg¬ÍÌ“>$¯ÒÉímqš!4­qpEŽû÷Öá/wò>Â^òø2|wÍ8O¬·25Úf|[–ÑÛ;%€J‹Ì§}0Ò}ÈJDhÆ%eM]àñå W&… /T¤ˆáX¡Õ€cʪë•B µð™ÚA®Ó»˜å|fr­ý2‘Õû¯Jû§@yéáw^¹PÊ›6ï&ô.ß›™ÿ½ aå–œ/·!Mg¿Øa÷"Ó{D*¤¾Éâ~äh#£~£|‘&\ üx¦6 ºG ŒÍðÑNìð˜f¿  ¹=%‡ƒ G§ ?6OþÖø«Ú"ÆRW”»[Ò-Ä>¬ã§ëè@Ùö¬Qp† ƒÜ´„š´†2½“ƒåþ® )»`¹Tû‹r²n×®/VwþÎ +ÉmÈ"JP³©¡ŽUÎeÝå—ÀLr-NÄ•±X‰ÇO¤.õÊÑ—ßÄ*sÅä)Z&?ˆ&‹µøC@¾Gb¦Ñ7ŠKp½ñ\€Æ>*Yrr=.â9@JB ’.÷׎&µ†ã"§­çR5rÿÎd¾çÿKV‡Û7ï*0·IýBn¢HaÍÚÜV)O…Ú1¥¢Pílû°Ä¼’ ³©¯fF½‹öK>ÕºÌÆXÛ!_gÈk,Òd¨æ ý&íK¦ëǹf3ŸŸy)1°Â?`4|4„Óy¸Yd¼=®æá&pre™±23ňkXGf—_³ ]*ÒÈîACE}&ƒê¢y©³Œšâœ‚¼š­Ýº=v¬»ÿð—Û™‡+#aÀ¿ÅivÎW o×Ýõ&ß»¿¬P÷·åt†É,ÍEw!‰ÞÁàÇ +endstream endobj 643 0 obj<> endobj 644 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 645 0 obj<>stream +‰ª´÷Û 2Š«ÞPòZÖã”ó`6° +Tf",gªu_ÔÓ œÐ§ãóv‡úh+3‹ßSê SÅŒúˆ¿rªíÎfî6jÌž–ס8&ÎÑ­y*³Ä$*;ÇÕ ]ø¼Ï¿Â= 1”“8¿{:¦·(…´óRòß\ÂÇvò•êH.šeWò&i3qÎw5c°{i?ÝnÂ<Ê_þ²Ý:¸_j»ö/]ÂÙ½œÔk࿇ C…+±£´ó2/?e{”í'¹ýãh C…ˆÏÅíµ?í9„Wþë:÷¢õŽ´6É¼Ò +¦caÑRNEÁ¸'´¡ÄíLø¼dr6YŸwDÞé·Fõj¬’œv ö‚3N—Ez”~~ÖÆØï?œŒˆLb½IJºªUœ%£¥_å›íùð$Õ ÝëäÈ«u.ÃFVbÑôÒ‚1ÜHéDc‹ + ÿ³@«(1·«»âýJ{dÆY… #åMHŸìš’nîeG¢/¼=í!,Á7FqóùÄ6T–+G›ˆ Ž<À²IñKrŠrº×À×Ë£B³ÇêífÁW9µ[ÂÔañpn»}Uªáö‚úJˆð%‰Á¯/ê#ùÝçƒ3j”™¦åF( +=øñ³¼MeTwõv=3ðô1sµÄŸbj<#.ä÷ Æu9[/ ‰UUebB%èE+­üÜÛ[ ‡Cówft·ò]¦é|K£†¨-û +©ËzXÅß~×±0Dx;»ôëÒðDö¢Ú+¹ ›‰q-â.®5~Žê/ ÃœA±‡šrQìŸsàs•F$F:èxüfñviºcƒô¤ÿu|¯d·N?ÅJ¿³´s¾&ïr2·.y±e!Xð¸µÛ:aLÏ1!†b‰ðêùL +è¥xm¤LZô¨Âq@=ˆŽ.â ˜, /p<¹c»o1A±\ˆ†€IΓ….¾¼~l®Bb§ F\¨[*”ÀìyV¶|³`AZ~I;—‘+<¡9Jæ瀊É~¹¾bw„ò"v@wà¿}ŸÛZa Ï?FñnµM$A®`™oY6 +Sg!¼)¯¾x³¹¢ 5OõߧmP%ÓBHÊ…÷4O¦dñz¶àÃû)åN¯‚3Íé`Õx Õ÷¤àÍIÀàtWgXˆå5î^¥ŸùæeY ¨¤4¤³%À€¾ GBŸ&x6:J%]ú­# J_Ï¢Žž>‹ôh~ƒqÄûR|L|,X#ë¤æ'^7Œãõ i$mè[ÿÚÿ¸M¤h$’ËÙ8ƒƒÆéM4DçÊÓ•ý·à.䢌óÔE†‹c¹¹¡ào@ÖñI@ +îåuüýWbçžN€J#û M¹¹…f5‹0Ù6ÇòÎ$˜&؃˜TO[ ÉB+¬¯b 5nHœ< +‘ohZÿY~õn²B¦Ãï½…ñ2  =T1–$B8¬±ÛÉ‘ÌÉGaŠwœ´]ȳó“;Ž[ñJ»ÔL—óek²dgþ¿^sÍï¹®i·¶Iq³¬¥ä?ýúÒsKPùs§)Ê¿#È»¢xëzñÄÛò‡Þ¤¡ñN_èV\%VIÓ‰;¹ŠsÜÉ,ìã¢HmA9œGi²*o¬)ï€|àŒ›—Uyþ·»ôǯ½!4‰z)”ç'†û3§@)ã¬Ù]Û‹&„®Èq¥²ƒÊ p9CµŸG[ìgú;;•RïFØ9œ“q3ÀŽ4A6þÐR4Vw+vÉ“ ñÞЯÉgŒgµlù™8nªÞæ G‹Q÷dSÍ û¶Ýž6!ÒmI b¸² ‘Ú&Üûú,W¶O“ ÙbëN…¤O|F@œÔ3ZFÉPlX_Å<¤îsŠÝ>ô⑼ÞóH«)“îë:¥òã%m€.ð\KÄ!Ć7X J殼¿ð91)³ŽšsîFqw0vMËnØm5ÔÞäd¿öÐ-êûú‡WúžÜ;Î]P,\Qe@¼ÒôE½fyV+ÐîzzZÃÔÎ4ýšDRú  Ì \õô~á²X»³×Ödê[¬ŒsÜéùÞž¶÷ÿ_vwùÍg›Q7ÌÞ_¾ßgû4¡W•#çkHÑ[$¤é²Û¯eƒ}"kÉ›!6ßÃ;¼­Ué É´¶m€ÇHœÓCAô¯èè«îØ©²1®½òM_a¼í·œ„’³okï†pg\o ®5ì0°Dê.¬ØsæÕé ¦¯»?P”e¤ew[;É z¾«½¹ÚMeúÈøÀÁÙЯ%M¢£µè90õžÉ%÷ãÎAÃ(Þh/HïHÓ-Ô.y›&Åi]Ÿ­)1¤Ü]üô/9;»¹8t~Uå0OÕÊ„ŸX³õ>eרa³"Ý•§tk$›z÷ ¨?pQûéÒ_AµO׸ çœ`²×ô:Xק…ÀV,ÁjÛ,EýæìôÖiPŸ›mêÚGÄ–´íjåOÁ᪔ÅJ,á™`jS˜Y™ÁÇ1´±J€¬S·n3ýAÖXÝ*i=8#Íò}XB'CŒÂ-(“WFKU1°Ú°‘Zƒñ‡Ç·O‡®¦C~ùƒÇ"BõùC Ö+) +lÐóËÁ”ym9_ÞI£,ƒ•ìaÉ¡LÎÚ§aïÄÏö­>ÐÇ€ö«Ai {ôÒ¿§öÌ¢¢®P =óÜ Êîö_ФjÈšn’îëÐò °ÏÓ]ôYäû¦sºËNQmë>·8Vrm20Ň3ÓoCbÂ$&øtV1½€Õˆm}C^Z«ïˆj*Ç}ÁJ~¼ˆæþ +T>¹Ü”´£þ8ë¥ÛB!¼X²!âÕ.S)yªI­'õX"] S¶j:ãU{Ä} VhˆLt'¼=ßš=+‚ȵlm|ƒ‹ì0ñëÆ.fGc=‘'?:ôap§#/ò;ûɲb¢Uà6³Yèð8,8W7­ ™×Æ(LŸ*þV£›np#ÓïÍ>GD‰­wR§`VÆö¯ì¿DEœi"º?PBþ‡‰±n­rVÕÇ‚•—Úÿ-_ÂàU¯”¶‹/`T—‡ ÷úçƒ o~µŒ¹tñ×iBŸò/+Ë¿©HÝýVý¶ôûÉí › Ñ9{-ˆ_Ÿ²øŒ0ÿ³¶ŒIö–rØA…øJtqæŽé/]±È³ø“t{» G¢ÆÍï„vú#ÄU‘öL—â>N 0ä¬25­`SC™_ê»åg„¿52†á‹È83~>#¨Ú5×.OŽN¸Ç~âç&_LsGü¯OEóç‰BtÈ•8I¢,[QCQã2[°‚¨ "a#´„Wg^ö®‰(Ãýuªtõgؾ¤Ø’@ä›KÛBÔþòëˆâÀ®4ÉnòÔ>ì4ßî_yc‹2XÛfhÌé 95Ö?dé0ŸoQ|] +{o9z(o¦¡ÄOÈ’Ë´öóm€+SP¯Ïu;)zb4#.UypÕ¬A¾©Dåx+x˜Ã¿½«[=hó-]s íuühí¥hiÂé©aR¸.9ª=u˜„N|Z}%­[_¨ê©‚Fà­Æa¸KÂNœzÈ}Ú;ß¿ªÐÙ_Bd•hòjg§I§ïxp’5a!4õ9ÏøÒ_ï¤Ô””ÌFÁ§\@=xœ™Á>HxTJä•k€­&ztê—3=ûš#¤çÓø·F¢}¸5¯‡¿W`ÿ°T¡žšØf9+2ÊBlcM%Ž^ {2)Ъ…°v²2Ÿ­Zé*Î-)RÏÇqëö÷¦XRÃ1,{½Ö¦q¡8úÚŸƒØ£¯ÐÔJ«ðQ0Uß`è~¯n§»Ãºë®Àê65uÛA2~»»ÃÔVØ3ð(UžÃer·84h 1‰ ‹÷êb“‚°ÎÛÒ[Ǥjfb–ÕfÝeæ ÃÜG%_ï&ä8݆¯[>« Œ ²ð›è÷tU-Åôø¼Ù€¼S„L âäôeˆ†Ð2ÿä9‡ƒ ¥ØU¹Åœ31°ê“øÏÂeR}9ÄÕ]}>õF~¿C­]IJèyv¯õš±#ù–½ùk ë>×ÑäENºØ‘øŠ|ëËè¾Uú­!D ‹Ÿ°¸*´§lQáa2qçÓ(ÚÊϱÌ]j.O%r¥!õm)þ$CóI„¶–LŽtûä¢ÓÄ)¨°¼3W.7Ä”/v?Ú;«V¯Áõ<`ïaòc,¾`n0h6v'<.÷iÑ:3JÕ£ôã>aÝzî °ü\ç½h¬Ö¾ç£qû,ðÈBˇNQþ )¦÷#™äýË_¨ÇÊDN>RÄ=­š{C>xKÈh)´0.rÊÔ‚ yFu,fþf²Û¬úOö™„nüïÂÄÎ1| 8À%E‘ô÷ou>Ëÿ­h,9ðŽØá‹‚´žÍ»ôZL=»ÿ ø‘\§²ëJ¶ú×æ3¢øŸô“†•yóç'qŒuÙ}häF÷¥áˆ•,7sŠZåsŒÜÛ|CtZ Áøßî‡ÓȨTÆÍ•¹M,ìoí 3Œ2ÊFŠœCvàh¿_ªRGól]2Aa„äƒn7ÈHä¹:–&;·ôœ˜Ûpç7éì(MÉBïØUAa±ø…ÂÀ “–Ä ¥ýY°Ð´Aðï‹_mRgu[»N$à_¿ÝQR‹~¼ó‚*K-ò\'ÓsÖ8•šMhM^‰õëû¨*éLw~nRoý¢Å§YÙ̾¤›ÆU\EèrONNc£A¶Í~?zžrJ9Òæ]´xƒêïÿ2ÄâãméD‡à$øšêÇ⇴œèÀoÿOŽ·&|Ð;±ÅZë…ºåQJÝH#éÍ£ÏA{“`•¹³f¹I/ÂFi¿NqçûFJ N‰æ²Ù•úäù¯%]«Å.µ±é&ZõR@LÞF3„àv ÐX\5)8ôEôï%GGr8T„ðzm œjË?¡5|~*(Ä¢ÒäI‹Ï5×a£ñ–sxPÿò=ÿ ãíeP®†²U[?pÆôɼÝÄÄ}‹/’„ñ'dayyY§ÚSoíò +endstream endobj 646 0 obj<> endobj 647 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 648 0 obj<>stream +ksÅéÇèø‡ã”Dì)p¶%Z×:ªd„;–KY¾nsW¦ÍrY±Weòçªê_›­}Ó&xìøÇ@;ÆÐåÍ£Öøý`ž\&jþÌH¿€KM;Pò‡-ºfˆ§:l±íYÕ1åKCºœz9} Ú¿—ÆãÔˆŸ˜ƒ{¯îÀXSƒŒ«ÏÖ2³•m–ݸÅÞã19¶\Vlœ[Ö‹#sª°¾aÒDI§¿›~Í}ý®aá?l­7ðµrXó7aFòƒ¥+Z9CÅó Õ‘LëWRB0WÓ˜C6@Šb‹ÐÕ”áHž‡ˆŽó÷w«´‚Cî`¿ MÂ9ÄÉÑC“ÙØÿΓÅÖ`’…!'x§þõ~Ÿ^È+€ë.,£)1"ÓÉ´t­ID!wEMÖŽÅÚ¡³e-—“6aê\ÙÊ›FÉ¥XÖ»‘ŠˆÈn+~êæ )«¨Hƒ5Èužã1ó¬ÅèÛÚmAHmúóî¿N0g¹«NYµ•:ßO&›ýaû—nF<†­Ã’œ,â·ßgFãs¸×zKƈCÉ¢*hÕçX 90„ád'âåÜšÍ RR¤ bjA!iœ1 ¸Õž~.÷¼€*Š½?¸Âç” 0Žâ»Á5T+˜øó÷üeYkX€‘g +çí3 `ëŽÉë~u?ÚKO/ï‘ß›fÑÌ3†~2‚?möíÇ]1"ãîߧ—\EÄÆãCiÚ:QÉE—ˆŽKm 5Ä3¤vQÁ¬ÏXò8‰:á’sBÞÒÑv‘2¿^û‡ºDmi`8÷’¡#Há\kÃÑf{¼¹Ä¸” Vã5lf7&xF±ÜùÜë,›~í¼ù‹t{»›ò•3µÏú¦¿õœÖüj¹è*/Z(,qùq KÝé×íW-VV¨ÅIõH"a€û‰.Z Ü,3º¦RoŽ,£«Ãðw®ƒ7®äðeâ“¥t¥§{¯‘¾4i;€‹ê“ܹ‹*Î,UwqÏÁòb$ +ŽƒdÑXäþ½iž°|ºÄö6æÈ€<¢¼ òABŸZÁp)@õSƒ9RnªS•Y–é"ß +¿•èJ£œ\ñ‡«…‘-ý (Ó<‚A2`]3XñÛžXr7ÂÚNÓ,ŠðÃ…Áá¯P'³5ã´ ˆàôžÅ>m¼ÐÙ˜n“f¥@C3ജхnŽ#Y §¾ ÒšVwB¹_ûÙ +Éø¶ãëVšoÙ'V¹ŒÓNÕ +~¼”.¿¹²¶Â !Çìk>úŠ„«ø½„ld¼Mb)­ýa‰jÊX œ,r¥ó]´ lÞDþp®½Ð7_î`Óc{3‹üç˜h츺­úUDL)Þå¸Â²éJ— Ú7ÙùràÞdo¯ÐF£¶et)z¨NˆˆÈÒ:–c~IÆ5Â;Î'Æ.Ç})ÜD é5‹‚úщ;§«b­M^Ú2YÉ3ÄuÕFüAÔ»à¾qânë‚ÂÜÅñÝÜXähVèŸÑ<Þu€$ˆ$k™hüz¥Ï/ |¨@­ÖTŸ§GFàõ®]ãÓH ¾¨.h"8®e‚{m¦¾;-)r.#ßÔÔ® + Ï{ôÌÉúšÂ&ªÌÛFÄoÍ5)aæúºµ$øCx< ¥ßèÁqʪ7{8¨§…ÛÏam(¬(HÝýî0Ðdt¡¶§’n‰òkº½ðŽ"âea/;¹cÌ‚R· 7sMØ 7óÖ Ñj“y|UUÅÄÙ–déû÷*±¿¥ ÚqÖ0#–þÏL­|ê`Ï“‚£¹@¼›…öî?+-¾ËP*aH0X ¡M"aaòmY·ùOÈZPÿ±ë±?kþÉ®JÌqÊvŠØEá.±®¯a~.‘u¹—ö¸. ™Â + ¶Œ‚˾œze¾€]î –xš»|Ö?ÇT4M±®¯6 \gϸÜ&&r3 w(;š&"BŸàHxÊN*³¦˜iáÊKš[ßÇíÇQÜtªÁÆšw)ÿUç|¸­œÇ÷˜LÁqï<FÞÜx«º!÷wP{°;*1þï_^5ïΈ#ÚÄPê­å´$§Aq/º)Ä.°jqÁŠ±4²lþL¿ËYô°ï´Ú(lÀH”aåPÊjm$¹IÎõ h~û2ÎàOÎíºkÏ~µ·³¢?á–`â Ôu]Ÿ+К_WÄ2Ÿ&ÚÒÙ†Òá¡i³=…ë¶pÆ¥ýF…Œ¤3ãBÙÃFpä ]M¡o´4Úã?y¦×bºhA:ȼلþæ1 v×ùÔøR¸?ô¶‰.Çw)í×y%Ú6ï¹#}Ø/Wæ®=ƒ1,Û6‰É‹Å)˜$]÷óLB(IdüǼ'_¸Uoªú•\ŽKL•7U§3g®¢óß¾ú&q/ +{³ó$.4K^¦Êc;/|ëDG7 ëëhäôï3ë®/׺Qk1ZªE-ÊûÔò÷®àSy«l= ˆþz´Êè±ÌðsjñL)¨gWŽÌé¡zØhK[l‹-ÎFL3Ì3.ûë– |„ dµ¯´ù%…nŸÕå†[, +>`4EÀ:š‹ÈVótsœn2äQÍFÚš +‘&åêsèv&PxzšJ01´Ý¾©µx³!m°Ÿ)¸75¹<Ðf“6#U>òà:E0¤d‹éÝ])¤Ýp,¡ê©ß&ì(Ìê*8Ö6Y¼÷‘¾Ãô­Ã•M Wõet‰Ó‘vDc’LDÁà §ÞàŠû¿÷¸AβA´ Fï6ÊÚ|zžÝ§¨¼ò¬“B&e5!g&ûøt¾4O¿t׿>fy}]ÛI’áFÅÄÛÊ“v„Ö„ž$Ñí‹£VA 8;fµ üÍy³ÆËD°"b´ùªÙÃÍÐ0èD 8—ê@ó™„8Þ@׫eMÔlwî +q¡Çyq0æ7 +ÃùN%0Ö5àMËÔ¬3w…Τ–¶¤oÏkÆ,²þàÁ6O“"µ­¿hj©8Éa"£ ;.2H˜€ÓºIà´°ÿ7|ˆ‹Ã¢«%R¥=Y!Þ¼¸t âƒàßùžÇo ª÷ /㜖a\E•ú[)&Á½wÞl >ÊHš!t%üçÙ„!±ju$¼ÉšÚxH>Kñ(ZÜòÍ.9íO–…›fѶân¨¼¤1ýçáÝ`wô¶_M^'@m¼Ãdv·L€»æ¯‚9ïÍÃ~5)ªuËŽÉ[jS¾@\’©ÎÖHI/Ø3~™ÑºG)ËÐC•fT8+ÑÍ uÎ +nA)^n¤€]?@jµZÁ=dÖCºÂ—ÛùÑCj¬la”è«Ã¡XzŒPéÇÚ}í]7žÐ6vݻٌG°äU’31"ª—óHs¤?1´LÈò`_ÓÌæTSYÜHì+UÂ'«±~y#•âÔý2Ý|ôŠxÏZAFùôj~Ä9Øgt +Y¸®Èdxûz%·ö&8¶Ú¯>}$¦ùòäëîÙñžÃÌítÓ*f^È4ŽK!Z~‹þ‰Ì¯Û¼U?57k(ûæeQì/Ò“™·­K GŽ IÕ¤ìOˆøø"f-9¼ ø¤ÎT?š߉‡X²©@fõ·sÛD!ï4ïÛ))¢¿š(3ÏÉeéRñlGc¨×ÔôSÀ 6ó£Æ+qAýIåêÈ`‰U96ùEÄÁõ9 úþAdÏ{S®ëUq[,ÐÞ›,ƒ+•?ñÅAx8Z +Ñh×·>ÆFïv÷ª¾º’ås¬ ¾,9§»Ð> endobj 650 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 651 0 obj<>stream +7f\i‡5KÝß…2\ƒ#ͱÝT=õ²^sâ²½ò~…¤AÒŸ æxî;H%ÊçN<¿»úÞ¶'Ãn¯–έE¡Û'Ó@þ´Òñ(?…¬qeÛ¦·¬ß ¤8º¢R=[*UØ_ŠñÍyl +±ÆZ‘ÿ…-è§]T…©ÿø9D›êêZÛ= 'º +€}‹>·Ä=`8°šº“TàéàŽ=–ÑWN³3È8‚|p¨®Ž|ÌGíp#Y ¨Žû*3!Xïœb8x/„-Â)95+0—ÊøMªÆè@jîd¥Þ”Ž™˜ž?”eý\’£é:±–d9ì™ 1>²?uîv¿„™¬a5É9'ù¹> Y˜nâ§Ó‰S ¶<Çã„ÞJŒ9½ó7mš”ÃäR¦÷(e¿è2é£sv±¿+‹š¬[ºe¹j%Ýs5ÅÖ"Kûªö÷[眛Zì4pr‘4=SiZˆõf%=¾l­G™MÛÙ…3Ü™ü$!¡Œi Vkš|»ê¯…¨½v`•ö’šnÑéO׉œÈ³öÕC‰Ä¤ÞiÀ4%ªäàèÜM4m5ä¾Ö¾æh/§b]kœ [Ògs^óF>8ú– òcƲVu1þL³Ûÿ¯B-–šbŸÙ#a,´B…8}Î…y2¨iöâ2§2^çgot`°G¶ÁÂþl&F•«8…í&þ+¶M¹‡AÉw–üešIG“ÿ9bkWˆ'ë¢:}5©çõ·©™in2qB‹ ¨ÁYõ›<¯çîž«¢;ÿM­A1F[‘”¹ê‰-ã¡­D6ð÷!mÆ<*¸yl“*9ûènð=h*’_2¢ŸU(#Tœ¤v§ôɳÚWéô{xà©]y•Šÿ¿Œr§w^Š>öƒxU‡A]0lPºÜø¼¨†t€EsùÑ Íz²"£ƒ®SŽ>–h.ÒÕJÉïÎÿl}ûYûÆ«1“7pkµø›¹î([…Ñ~?îVÜha™Aó|8†©DltH<¨¯ê?µ8 UŸý¼°PR¦ä–lÁtóÒ¨u=ùu½û15ï¢7E×¢lGiVX¨GeHøoZ'ÙÊiݾ#µ)Åt“Ü<(Ò€«eá[}†÷ÄQsùmÝd÷mM²r2™Ú¿ËŸþ Óàõî*i·0º- ÚÅFN~¹ñå=âyM4^ÈÏ*—büQÄS*=½+og?Í㈠+ÌÁ«Ö½#r šý>˜wTeÒó]&MõY¡ÏÖå$‹µt^ pÝ“ $ÚhÃÅÿ±Ùü­\©,t†kÁ«…è+hŠHŽÈÕè¢4з»ÎÅq¡Q?z³åæ=ÞÓ8¶'Ò»ë³yrÍ|U$Ë2IÈ‹ò¨²",©µŒm0}û¹±ùÊc#èøP6Oo!'žÖT1@S¢Â0ˆ_±ßa»4"õ—¥…è‚ê,óLÇjÞOmÜXgòÔÌPõ-<Æë&á5œ÷pýðí$êŸÁL…Ý×,qÿ*£–Úe{õY u·¼–ᘄ]ïÜmå/¡wYòÏç{)ˆøÚ;9»øæÑž13²n¡"þ©¤%g`wÑnÃb ùvuhA~…!¼sÐu–hÐGA2ß1MT7{- ãZÇZ GO?jÓ#ùQÎ í‹Ó`–;6ÙäÕFknÝ=x ^ž¬VKH„:80s!±ŒÅ€ª<¾ÛØWP±/£Ï›[n?ÑEfõÊœhŒÓ^§Ê6‚M‹YU`’í©XeY†ÚÛÉôuã-{tüÖ.o¯,Æõ׫tÔ•kÉ?°'5 ^]wµSCƒiEèÀ)¥gÄ2lÙ9²]háº10i“^ìU”¨*6ì>ô“É‚Èá5Ín²,½èÀ¡íx{èáë÷êñI©2#ÓæN}¢c¦7Ñ£œùÓ³T8X=¯©?ƒ Be`YòÚüåTË:‡8x Hª–~ûÐòÊLìæb5N`¡Ól¼ l ¦ ³ö}ëƒ sÄbp³ù“‰g ¤‚V´Eów.ÈÆkÙtx4 ¨°´Œã"ùäEP29³ta–@æ/z™¢o9».ÒÊÚ£œF¼Ckô<ƒ&1×Bmu̼fÃLo"’Áú]k$ZlÜà°MV8ˆ=“qì°ü´%11\ 7‹¹‹Ìë õ—u>G +­ +Š!Ù²Á×ÎO‡_k®r$}Ä +Á•ÛJ4dè-àÓvÄzd1äUÄs0ñÖôxŠŒ\ì¯}y1µÁrN èO«å[‘"ÖƒRâ» -s¯­Î7¦ÒÀ¸¾Þ~¿î²æþBþÞÏç5r—ù†å„„ÞKÚõ YD™pcæ¤Û;&qRȸÃm£ '?<‚ËjÝ~N¢ËòDM‰ÜAŽ”Þp;âÑHÅFY´}ÌÚùè‰U¬M[³3Iÿ©_sTÕ‚sÙúÁ±Uvî/„q-šÇ!߯´Ò^†ïÅ#ßï͇е¾ìd?€ÒüCácƱ»«­4Ðflè" u§—ïšA„œ€¡9¢×l½0 )X2ö¤GMþI•r)ë¬svŸ^ñ×iÑ«+µ»B¶´ö‰!õ”˜U«H,׉´Ä0â2âÁL¿ˆ˜‚ùšÓµͮ£gâ'Aó¨÷•â1¤Ä®ìv&»/nrµ%‹÷hÑ%Bwñi¾Æ*ç{qT½°šh^–ëz]’]%ë4è¯:ÀŒ©z>x1åîlÉ;{µ4’}Úüúøå¼ìĸX;w´§</M‰÷]ìŸòÏ×µ˜)ü9r{5äe§Â›L˜üÐQ™ö*»†îå–C»þf"¿\¡NA¤ndB–îɲd&¢ùÑ¿ +ô2Eǻә›tqûÑÚˆÉÖ‘Aºœ™Ê¼£mXz>HÖ/ÞO˜?}­aläÄŒU’5D²ÉŒ\Ýãb4^!›PÌL …¬ büØW éÚ5*ÖÐ{ç~Æ¿˜D00û¢QW  z{Ýkùºb$éñRZ—Øßɘxx±‚ûœ¶"a8¤ +s”æS‘¢½…šõbQqÂú‡></çËìÂ$mXüÐÚÚ†{¡ ;T¤«Ô->Ñþê§O•ûýÌÇ,ÀKkf[Ø«”–H"¶¶á_Rî²>ÓRä“ì„‚~"Ùšg´ë°ü2!i[B‰³µœô‘¼ÂÙp®I&’gËЪ¹óáUïEÍ QÏN˜–‡BÐs?É¢soçG)¦9«û£±ý…(I"ž4ß60×Dë__Àvþ#ÇÑñ!Æi–‰}«äñIÂÎ@‡uU´šè(bk>vˆhiJžNÔÑ‚i5¬1gln{×Ï‘:òÝ»ÛXÖm´)P,2ô°6تP¿†4gçî·À G´Å™S†ù–<"Â¥B(\;ȽiÛÓ¢žy´óLb}â âbCý¢[*4(“´RÁ†JØèß{q‹èk4Ó©ò%×»EèÕýù&ö{ïá’!A)B7Ñc?×V[ÿÓÀ¶Â:ü*¦FMðôx±ô+|ÆbU_ Åí´˜#¿Ý‚lÂÛ{d‰º¡¡{¬xÔïD”‚ûÚ8ƒËäüžÀ¢ÆQ9`†=RóYªEâ¸ùµËýaÈI"[ÃPæ„øT©îÈv4ËÂ`ãÉÇQT¹n†e—†Ù÷ÊÇÄÍšjÈLˆÀt&ÇTRoU„~¦êóH òÐå-=·‰Ew[Vèx~̉ßN»`Ø™9‘˜Mc£¢KJÄ2x¯¸¶}F>-Ú"dž?@^S›‘Å7ñaä/iùþçÝ2HN{v٪ףCŒo€wøìöT#‰q Œó¦ÛK™ )w-•]5N•é>|ªÔ9›îð×Fo‰ŽÓê+wÏ<\ÁÀ—COãÑGc±žëL™æ](tÅXßEZõõG×A_4ÝÍ,ræ¼Ræ‘ÐDµ±hŽ-dÄäQ#iTMqPLJu+©±@X_B­\óµ””îM¾hjAM^ï&‡F³ºªTõ¬91® Wãº}”Ë’œ“{óï}ƒƒ ½>îz’ì…{6"ùA[‰Ãrœ²ÀXÝl:KÏ«º3k©2ÓI¦Ds?¡óq ª¶/ÝÎUûõžµƒªØÎþØž1¹l·ŽpL¥çRj¡FœÛy±xP¾²•âY'»‹D¡†XIe| Ø-èÙ¢ø¹“÷òßD…e ++² XB*ºy“Paèrºä0rXþßð×ýî Hñe×oýéIÇÜ?Ô¶úôdÃñ%.¦$ÝßÿôxÏ+V¼ò@ÿƒ +endstream endobj 652 0 obj<> endobj 653 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 654 0 obj<>stream +èÈló`¼}ÇÿTëÿ+Ž@ß$=ÍF¤wt˜®à¸@ÛzaW g¿cT7K•€=̤â餻/Á:J¤— ‰ÝU»rlí`X¶^<#ZŒéYÕ-Ÿ+TjÏ5­|°¸ub•Ô¬@Âd¨àW´Î0 ÷.µ)•DI’Ožtãç ê&Y[j@|4КÜûĨê4 µÏ=æêZû-P[ˆCnÐÁÈâº6¢„»ê3/x#dÅWﱞXîMÅU‹8ÂyÈs +:IȽtàª-°|½„›Ç‡éý‚ä?0±ÛY2Iï”c3WûbIoF׌c)#ñbtŽqË`È%À@þåÝõWÀÀÂ/ Œªç·Vá ÙZ'i©—„¼×ðÜTD!š"ûU÷ÞPìcf‡d¨IÑdηG¯ÈÞe{5ú`,@œ¾è0û]f +>àú Qm‡Àƒ¬5|xL +OÔ>¾ó&ÃPV¥Å½ÚiS°bFеÃøüàüç 3&è¤×j~Ñl•£ËäW„ëb)¸m´ [àíg!혛èáÓr@I¥ùý¢YzL+ùgù‘ïÞnýX6¦mÑXªO€¶Ub6@®±!<$³KmC’V±Ïº)ê¹qÄcèÓéáèæü,¨_í¡^ØxÜéKÛ8ËWB Ö@H’0!Ö–'Çɵ—b-}¤ý!{‰§mÄ +g®˜O‰rì¸ä*ðý§*–9 0ú+g!á5-:P’=\Îr,‚‘wÌZçˆv 1c¾Oböa,+*3ñi a3‘ô>^tÆG”ÎòLaZÝ$(VÅß’¢5±‰Ir:Óh[u§ƒ§ëKü0ßd0ŸmÕñËž.iRdÇ+1GÕ8 A;õØ2þô­ù½±B ·P«K¹J—ñø Éœ<ÞEèN½—«³Ìõ¡þ˜¦_¸Í0¢²>ì?”T Ïê1®³Ì' R·t詾þ°ñÝJ)ôõ®¼jÚ&‚šw ´ÙvÈ,´ZßÁþY0Ÿ ð]´úó¯  ¼¯:8ˆìçËКþ$€ÿ•vXUH¾Í÷Ÿ%ÇX×¾Y~—íGn£žá¸¯z:Ošº»z\ó|÷"´âDìªWv¨ 䘑ªTÖ2ò ÃT$—|ì~3<±©žD?^h1,©‹ŒÊ¥ŠH()âˉ,½LVþª4‚·ÅÌ1Ü°ß2±LÐÃT›îqä¶òë‹Ê¤;aÁOé‹4Ƽ~} +Ô›íGù ª}x‰ê~†Õ5Æf[(ÞázÊ+Q£è}ºÕ>’…0àhóÔ¿•±"«AmŒCC¾aUDûâYõñ ¤à{ðFúv ­t*¨iÓ;ž2·ûç´b§&TW–ÉúûLV+PóŠXPéÚm9J†(õÕþwH–œ'ñÑ‘žæ]FéWyºNjR&t‘%ÔÕ º±s31!nûw +¤xèÇÕ¯ÏV7ŒÕi†Ö¸Y5a§µ§JÅ3`g}jPOmaàFÊdÁì|}¡O_P~ÐÌðÝu)ÇrÔ ‘¶ RPª5ö±,0‘ÚÖ +‡&ØäÉW`yò7 |ÓŸ)ø~¾H×;.†¿øénVµ§òWÕÍC˜®8X†‡:ú å+£à—ãcï +}(ËèrÐ<·ëušO‹O§6̱UÕä í*GÜ,“`k €œêr~hÎGB2ž››ô¡%Î#="Í +È‹2ôÆ.Û}žÕĽJ>«_±ÈŽ‘‰šxÑ?)z­@°7[¦‰Á„Öw–KS@±'DR33ps¼†‘usãé!â°%ˆ××s§PÞdÝž†z ÞÜ‘èöp}dϤZ,»M®»]¨_Mª•†zC€îÝá€Ç=ÅÝ5{ƒ$Ç«CÉ3ðÎ6ÎxïXà6ý³l‰¾Ž %ü°¹üà­N6Uÿžx\òÍ\Èܱ€‡‚FÁëG%ôÑOOÔÉf*ˆî ÖÙΞ\æˆÙ»Wg궵#>,ä'ø²x —¾\†M6 ÿÅ"?¬``ÒšÏÚ¼Å0Oæ&ºæ!iû> Z£Çm¿gVénÝÙ|1~óÎmî_*f%V úvnQ–§ˆKR(ßéƒë¬bHðcO[Qx¥²!Ÿyu ibkêä®ßkмº¸þ\uçÃUƒ4“Ù/7êGLÖ/-À̳V#Ñýrö=¿ÖUase–'{ŒÏb Õ;Š(:Z½MÞ ødìÂ’…Q{ˆ¯ábe´®™×a}…÷H³o襽ä.y7{ŒZþ›s%ÿ È(þ¬ºÅý‡_É¿ȱ´8îûå|j",r‚©œãc„ø×CÁnNšŠ#4Ù1áàð›3bú@¤G¨Cô*ÁÜ„òÆ-–‡â7äñ^x/œl´æ˜g*‰e^žÛ\¯Ú‚.b"þLÓ¹—^9Ao³ÆÇ䤕µŒó¤^º —M&Ƀþ&ïÒlð<çȵ2&¦†Ö|Œ˜Åhxu¾ô£‡¯É‹W¦5{ÊòÍHaQÇ©%>q:?[´Pá\R™‡Â¬ÁHàLAôàÖ蹮^‚…ph7½ ì}Ošq”²Ýžè‹ÜÒy ì¯=Inâaš+¨-òk#ÄÔÎïhLìLõÞS? Ž„é/T#žŸ±»ÜE´âìŒä¦Á“`?AÿÌF0l9RÚ¶XóÇ“Ù+05;®TZ@IgŽ‡IÒŽ:Í–‰¦ïÁcl=óhìû.Eos­5÷ o•$²2Wêm)QvZ>®þó­ÜòN ‰ÉqìÔÛv“, Ο ÂÁÎÓášY#éQâ4%‘#J©5ÃilAúx¦0iË"Nñ8‡E3iBb¦»MKM›ÏHâ[`ˆr”xÓoxh}ÂŒÉTáÔ; ØMÃaÄÔMwœxÉŸ–?ÿuBó-Yˆ®“K¿„XeA49“4ä3—ÏtÜ^ž©øËžîxâù·@Ðä°[O;:5£s±#Sn©koÿiÍB“ €ÐNŸÚúk¦O´”ñ‚c^Hæñp^q¡'uA¬i†oÈ?'›åòØ3캣 ä—Z2©SÂé`3vɸõ{ùA"ú'r-êÈñ¤TÖ®hväQ²Ö¥7NÝ ‚.œ‡=Í Hc–å%6Y1àžÔñ†3¾*Îàèöœe“¨+ÿ,~ð&ÕnW鮿B-Õg„Jö>õ’_uu—[²ücâÄïÇβ<.QìB—štxõÐȶ8ð,&«Ý¶–溣>²~¾óÑFWO+2¢ g\Z¶A˜¡Cc“šö°±ÓïôÅ9wâÉú‰?‚Þ»¼yÕdˆ¶|ÕcP¤.} ’æå(„Æ 1}z"ôEðÍü[¦È`/U‰Ñ0m+nxOým'»íÂsŒ¿ûjeaZ翯3FJÛ•Û¶ø.»%ÛÓÕ²®KMêô +‘C…ñ^Eß~Ü<Øa,†‰;@6Àr^Üü¡'‰0§}»Y~ëš±P|výÉǩ²ž«¿œ¬ã0ÎE†ô–¾¨c´N‹í¿OÁÖx "9h +±4Š(%‡>¡Á|XÈÖôÉL˜ø–ŽŠTµôQ{SD7’Þ ‰#ÆƨÑ\Æcx­–µÕ;/¬uÇe/JÁ¼‰_}d'üªÅñ´kÏTâHÖúU2þz”‘¶›Òé9e©Ú1Õc¼u+‘‰¿VI;êËÏARIKÜÆÇ< ÀŽ)¬M4{ëÅFé{‘ +žH#ŽøŽIHµSÒ¨‡^Žh¾Ï™¯ËÏñúMŠ}NíÔ/×DÖyàkü*˜>Öa‚öaI¬D–D6k‘\(;3v9¸¾¡*Dm³t|ÓU%Ûf&ðú“9éAßäÔ(+±¼ ­ÙÙ¸$5,ù#R¬™ô™©Ïô«Èkôµ^Yƒ>-Q@¿h4Nß +ôÉÈ<ÐŽStT®æ¥ŠZÄg¥â–Õ`¸ÕZ³éøòU8ùdㄯäR‘Œóp¶>%nKW]\‰åx€áyÇì.Çãéž>O¶ãìšûZ<ÿÉ¥b¢æ—oˆÕt¸„ÆKÿólcæö»‘AJP˜Ý©úÀÁ¥ RT0UÇ™Y~¶kè§ ž•Lvmq7PhØ‹s+sRÌM.M†´ɬû˜ô»°’7OÖ4xO›ÈQS{ ìÊì‚uG­äT:—œA«±Fpöáõ”ŠØ2ï…˜øœ‚…ØžjkÁ½N)xÍGe`ðïå+û1Çvh û–;ڼĤùÓ*ûAå¿U…?2fnÓ‚"Âô}½H÷º¢`lªS¢ô JgÜ°Î+?À]séÔ½üï +endstream endobj 655 0 obj<> endobj 656 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 657 0 obj<>stream +RÔ÷›š'6êDÁÄ$qwÙ:ì ©‚ûU˜6ឥ„Áš/´fô»ø°þd"ÔQ꣫¨Z¥cù7t ™u‘DwˆVc™?óü"x¼ìî¨À˶¯$>‚d*Îm63Çûƒ0ú×vkÆôk^D6‡u£Oio¾n•·Ðbüµ‡ŽÁδÁZÁ!×üª«n1‚3£¡ö +Ÿ-ùÆüð úV.-õŸ7Š’/Ú"4!Å^Êfå(ÎyæÔ¿3„Í'P0†#£;—Hž[`ÐAbŽ‹´Ö°ê|$ŠimŒqhó„QªGإΒdAº‡ƒÂýï}D/`ÏrýD=aq”ߢ_f‡ÛuÚÎÊ[Øpïpl˜Tˆ­Ô¤&rÚ["äëdGr[¡p¥X vÿ®õI™‰é’ !b—I§c7•Z‘ÝKÖ´’ ÷ï—Aß+­SZ·tˆyïÑ;ãa”N2Λöø©ˆ†®r#éýí&AOaÌèkŸüØΦ¤ªÔÊ¿®Ò}P›;%\©§|PG±ÊCñK8c¨öÄ¢Tˆ÷µ 2Ï QdžGñ“ Ïš“»g¹{#(®` üÍõ³P+YUéùîQNK0¾³ãØâøazêpÕmXÊ«Þò RxHiUÖm2¿´FP·°¬ë’’`(2³1©NçÁÍÁC7 1ÉtYÿ‡Ó½fÌ>­~DÇ°;lðzÀ¢€±½Ÿ°-è:TO»|ú4œ¢¡æ'¿:r>Êð«%;‚.úy yËvÍQr/¶ÓVß«°J¶¦‡û+þoÄåÇÙr§Qeú~$bÞíy¿‘³4šr¸*¦çÙ¿&nßÆš¼ûþ™AЦŒÇWBMH}Ÿ•]÷¼÷¾XÉmú^ˆ Œ=³ûa\i]¸ùw){<ž@Ô¨ô]€'©Xù_ýIæù$º[úQll£ÍE—Ò +ætºj}U¸¿½D%`"Ê@J$.;÷o1¾ëO&hì}x?á}ì–Äìö|츖£ 4 »¾òðøz›AIÞ9‰&í„VµsNª¹‡6}áì]Àñu3db^‚ Ð&±\É6¦QsÉÒö«P˜ÁŠ|rzü*ðsOwåå6èW¼=Ï€xâyM‚½4úç@xœ-êúìLù×ðñ"ÒäH§Õ£Ï6\ª¦n•äÎgM°ü<ªbŒìÏ-qktp,S”ké(}~U¦Œþ3Ë2µ—ºpλGgiJh¬…s²Á§)þl¢}é|Àâ¿“tKèY¨ž^®“À»|¿ÄHSøtC¶†˜ðû~’† Øù>× LÿSŠ°ôŸüÑ!Þ©ŸÛ$M­*zE£Ví¡útË1ÌÛá_~â_ûZl2$u +¨„ëGRx9ØiWåÌïy{uýî%¡Q(Æ 2œ%â·Ë7¼Å½:¡òÿ>ä¡uý´;‹þ²305"ÀÖOì}½vo©ïº^F“1fA³Û"`®j«ÃqÔℹKÐ3á úy ´½·4BÕŒpéˆtOœêÙhÂ&“Ú„wE•8¤‘!ð&Õ¼Dõ1o–Ps­(PD¸"*ÂZí«B{#ý2p;øäõƒÒaöG{s6Ô‹õy“rU‚Äh5BX(‰ÛJÚü>õ’cj~›-7VÐz5<;Ï Ö»*‘F{ïê$Oi<ãöúã¿y!߈ùðÁŒ"äI‡•Mê:ì{ñè?YvDET; áõ4RïÃT¸PßšvcVÓ£³kV'Y¹š„gþäƒ9©„Eú-|´ë‹Â'deåŽýiÔÞλ:¼ÀŒâe¾¤4tÕ×¼Ë+é£Z-›û¦G«‡Z'ÂS^Ë<ùWDhe¯!¦5ÒOÌ*h5 íù̦}¾>Ž­$g{ÆŒ–évÔ +¤‰ +颫hÄó!óJî—íŸ~‡±7·«C ÁòCæ\ó?Ù›xº¢6¡‘7›&Á›qµC? W(FÖ.Qå!ÖÀ›‘Bê­k z`,èQi|) s9><â³Ñbò&œÞ°Ÿì·ø®ù|(B«ÖŠ—JžóIØj:é'pöNæãÌ13¢¸Œ¥ μõçb%ƒõmŸñ¸eM©#Y û‘hò-¦-lZõ˜_ UÝ¡±’a¾,ñA¬3iû7=¯·ºÌ»#.†`Æó*½„ ^uckïøò˜B3ÁSÖ¤ÉfØÚçd±ó™ùéµéEùßÈÔÛKœ*Zªd¾Ù2×ôZæÀ¯çßJª­2#Ë–ÿþÅQ\æ8s*oaæ¦em·d ž?Ë *sëŸÓDyvU‰#¥ ‘æEå·cAÎß((žä§ŒPÞ»cÙu'7y †dïssÜdº—Üõ(¦N­MbÔÃ2¢yŽÙÐú¨n;Y¬ ¡QǪ9qTGp¯n„ÙöϦÄWZ4þm+°õm+êu”qO¶lv@ïoG€&¹BVlsÓ&ìo©ts£Í-7\Å}rMd‹ÓÒx«Bùƒ!?ë "#fçâ~A­1Àsu2m)h,¶–Ô'›D$lŠÕŽàvlí>…ÐõæõÜGKãiÐ?K$nÊö¯`½¢‰úeÙøB8Šéßr €ªÒÙ4¬°Îù7uÈÈà«Ñÿ;Q]š#õ³3Eøª•hÍâÃûxfV˜äo±\˜åJ°ë2˜ ’¤,1"„WxxIŽ.åÔ|Fìû¿ƒ‘™ç_üÏ~2„ëiËòÌ%h˜Ã7ÆV´\h˜Åë…Ü`»ºŸN&ˆÄYÀu'ŠEFõ‡¼J$”»{ô_¿/#ÊUKߘihî‚x™çÍÆľ¡p¢-?ú7‡ds^ò7ÈÔ¹8EJ·V€Æ<—[‡:H;,3½C ª¨…–bòmlç?À ´gåëƒÅ쵇¤ þ…ʘ]!ÉÊ—]à”iJr•ß(« œUøØDÑ)#žõaû +˜dÅÝoMí…Ždßá×'D¬{±á©ñ"YŸîMóì)ÒÑ Ä¾4bµÏ„˜·lÃÐ)Ë2þ…©ÆÀÞoÙˆæÉíÏrÀž¾¼Í3f:ó0­ž8ɇÉ&÷èñ^$éqÝßâ³.¦¡Ì¿ÀO”ÂÝŽá›<ÅWµ_ ý¢Ú‚Çå‹´ZŽÙ¯#¿A>®3ÒF5ñ•‹ °ÐÅ]¹¢ò²ÈÇ^êÞ®PNdšr +9·ÚŒ Cs€n„Z\†‡gÎ1OÁÔÏzsIÅθ%üÔj¬:eš>mÉÀÊUG…PÐozÊí8t`á½ÔŠu˜‚ÎUQÅKÿ¢ïÃ[€Ù|¦±¼ì†ŸÜ[x`Óô ‹ß‹§ëQØÑòj +cêóšûÚpEu§6¦º®H-ÇÜ£¡îr`oWcxÇ:{¸-ÕÅñv”W4¿Ûüã°Ó«1{(e˜SgBN¶m²êx¯‘=Íü¢äý™rUÅ¢êܨ‚Òh5¹}1“ï¯wPé¨:NA4\{ò±w°;nsºžÕ;ãžóCÓbPp6nôä†J/ì½9œÏsÊOÛgM®áÌsC˹}d¢ð&Mª©Áú =/ö#i°=è’3]3Ég²à;Ž>C£éRSí|m«e›ºËáý¢Ö(FAòU”ÔLëÔb½<ƒbæM°Nª½üpfK Gªæ…‘›ý\‚ºœvO¬xzûq§Ö¨ËÍŒîö„Ìæjà.ï†o7¨èwKþ§Z­xKÚ]h‘ÔÍ2œ Ó‹X¥ç¢ÄY¨½"¤ü KK4èÛ¬%öË èùY§QfhÇ*™Ú"Çß8=:ýšLˆԆšEÙ>1*ÔŠGâÙ–²–¢üæˆÂˆ¿ÀäU9ÊÙÃÐë|ΈysïJŽoö”NçvA½ÓˆðÞÿÛx£‘îiœ›Ô×^´KŠ¤‡¦$Ñ!\ËMH)gøz[q›Ç¥yvÈÆÑìåƺF/¾Ê#&àó%¬œ®&@!ZƒTý€È7“æÜ$*DV»0ÓMyŽY„8%_”4¿÷™¤úx…3Y>¼jÏ]Gyõ4ºn” ¤€š³VgxÒÅ$ïÈ[‹”Á/çºw%®«”Œ‰MuBAÔ`½ì£u±§Fɇ5”M8Dö»b‡{&¼ =È9aþæËwƒóÁ¡Ö?ôDªD+).Þë ¿mÑûÂx!d¦[×æ$àÞÇ(Cõcyo­x(2P70zT9[ëgÆÛˆ5—û§}ÑŸË)ž[ÙŸ 0Û«¬Šj¡K'ÏÓįx]MOf¡b%ŒÇN{ ^QöäÞH}uPµÒ Ò®$ä#§ø2éOòû½¨Ï¬à€d,{Þ²…C‚ªgçpLº[sˆÕ~ƒªŠe…N0 ·¨äj„i3_ +endstream endobj 658 0 obj<> endobj 659 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 660 0 obj<>stream +õH'Bðâ'[³¶)2Q@÷±tÎq I‚¤0îŽ7Bñ’€Í†Ä}µ¨ý†‰¯iZ2Þœ*QqVØôM…ÀËuÔO3»ñeY¦b‡ÿı!4­ˆ¹Ùe㦬9®¼ Æd¿åvœ¸(æB™˜ sfMç=pÇ h™™z3PŒŸÜ`wê&ªˆ°á½éøüZ 2·f_h`”û'îGö¡ág¤[ý°½Ýš¡ôTÂi­{Nר 8/ µH—¦Ûà“—e’kƒÌ¹Ìs ‡3yq²wf‚¾©‚~¬ +”a›¬uê@¤U“¤’Ÿ)/"ùˆíˆÜfZ;º`*µ›;§Ú„ÍA~¹…°Iû–•Î ?½nt5– +Ý;G¨‹OôsßÜ/]ôdaìETµ"ô‘}özã!zf9ÔÏÀiáeÆWÍÞIÐêÒÄÝ.e0߇pר‡;Î}'HøÃ(CŠ3õ’"îRÎ’PãTxßÜ•€Ü˜ Ò]¶þÔ¼lrÚ/²/jé'YÈ;oG–7üñ40åÏ@F=65³ãŠØݻҒl +“ö4ˆ¨«Â6Í¡¯€‚-uÔá^õˆ7¹UvKV•ü3G$ò³T;´\øf§/ï䇓ãUkðáRvNAë,èè›D ‘/YéÝ æ©^¼j—Bãž´VäkWà'Î᫯sŽÓ%áÁ;Vƺ£ÚzŒÿØ·ys˜Ø††G°ÙAxús[IâTРáNSN<Ô)}P¹J‰jE8ŽS‘ˆkíÅu~ˆ—ê¬xBÂÇsaç6Õrš]G´6,IPÅJq‰ʶW¢8˜œ%ˆÈ“~÷pªÿdÍglÎÙ.òGP©É­r-ƒ´_»Õü•C›ã… w‡‡Ó¥õŸn/õ[U¶Ñ1! ½Ãf!ÓÜ=ÝãÅ?{ù¥ÆÇâBVî«ÒÑbz˨]ZÒ¶¾æ#bîtb{ø§+kµ«éð~RÙ­g²lŸ¸tá=ŒR÷·¬ºõW(6â"RJ‰‡ÔÈoAó~*B³ð`…×ÅÜ;+ZÐ~• +ÂíÑ7¶fìuK%¨ )ÏÌ …ãN±˜díb.òÖýYcY­þ-Ö\®ï-f ²ˆí’j eïùÔó«dgÕ÷Ž½wcÕþ¦lÙžw¹>Y8›dk»l˜†¦FmÂ_IAÓ;v¿xƒž¼Ëˆ„ˬ }êAHK7Éš½?&K¹ gÁ’-7Š¯0»îòlÛ'¹i ÎdüÇø€Ö&õ­¼.f*ÐféQÎ8AÞÿu4ƒŒ)Ç[Á)ÏKÒ31å2fIu;Mpü§ý³Æð¼õD¢`ß°m9óS„w†Áæ§Åa  ó×S>TÔk¹^£ÇKí+xhAI@<&tu~&tϤbǞδÐèu˜xQÂÐ_ÕØÒ¸Jh‚„âÕ^˜­÷š¤"¬Èÿ;ú‘ÀšÛrê_~º¹â)õšÍ`Ÿ©Rã‘8²ž&è÷¸ Ož¦ÖWÔÉÖØÍr[èÆ´‹DÉ\²·?ˆ›}©BÛ¤=ž~ÔŒí @T`ŸThŸ >3l£ J+â¬®Í zéD?Ûxÿ$Ä +Nê€7`° ùÆœ§e0#ýú}ƒóî}X©É(‰BçÜggî*I¤ª<ôÓ\C,š!8ZmjÌ(Xšn¯S별®óÙ\èÒÉÌŸ9Ø´‚ˆyáÇbép.jäp°’ 3°u_¢f¦]Y¿-f]‰ßbÌçüî}|?už„:Z0ÐáF }hk>¶ðPú +ëhãÐ[ÚîëG/xŒ6#·Ðp%¥¼ÒºöuÈ ÕÞž›èë£ë‰qUOØrvQ<‹E ÊƒöðË µ ¿åG—íu$ÔÀ¼í5Q ü“ô$†ùW€ƒfÒ*µ2¸aKá.W‚±÷­ªiŽnZ»îSFmBÌøÚhíC(­Î¤G±úï:ÐK±2ŠÞc¸–ž6‡ 'O•jÓT¿l2K~¿Ï»1¨ŒD{Åäbqƒ*~U(dgž§ÄSDÂy9/ +éæu÷tqEâš!*ú^Ï&ë_€xßùbFìzé‚Œ+yü ³< ä!ï~“rúr9œ°²$®J·-=²§A‰¦LÖÏší5Á1Ÿ¯ÁOˆß]_r› }ŸÑJÀ€†…W +¤TÚŸ€IÍ%šP7"×RQ¾à +íy¥K¶àž<³ëä­í>€õSÏÃ7°¿+ˆ8iõ¦ëD’®ª”Œ êC‚£‡¸wR³80œøi1t'ðãc†âqkÿ/Á7ÙMëwƒe$X$I(xN ï\Cë}¡Ä®wAGàžE&"q×ãDS¡Ë 6M”Ò/Õ6B ÌBlÏ$ƒO½Ì^Yö=ÿŠ ïþ‡ÊJA1À”üÞ¯nui¥’§‹} ¦°Z[MÞÁñH‹™ê„K<Ìýi€S€ b+_°5É¿S½ÌŸµN…&~Ã6–‹ñÖ×´MäuµZGúô*9€¶,S&µQ÷ÑÓ2à“¸óW(Ç^óïK;¸kµª~4žƒ«žó´ !aîyOÁR2Ú7=®‘Eb guSè[þÅÃP¿”ƒÃƒ~ä¢podV#uÿkØETfü:Æ›P›n<ŽƒâPíÖó +ø%º[ÎDt×X´3\€XoO •oßö߻нהZãØãôÉÕ ÂŽ£c„,W®ù9×=!È‘ÔÌ徃۹šZ=‹{Ó5WC<ƒMPÓH>8mKó‚æÝ!N"*ô§3 …dZn”F_ÜŒõ[œA]Ÿ–ò+f«§êå§Åðˆmü,Šdx®W©P k õ+:<²z¢,Ó(ŒO;ƒ% ﯽS$v¿_>@ê†=¬Q«pï}‚_¼ówÌà|»Ì~oY¡>7+¡©JµÖüÅiK«IàTmÛ—‹ççl({µÚ–‹8ÏÛÄ@HÔ™pwÌy—I +¸eþ…®ÓB³Ahàc†@ +PsÄ Èܳƒ@Û}5“,NÞ¦‚m¥ôÌÙ‚Öƒ::Ç« +ÆU«`Í[ (¤å\ŒBgAŠ²2¦RqØáN…,¿ìá¿Cùópƒõm‚ÛpÀr‘ð…%ÍI,[Ä[¢Ád€‡*X숒Ï^y#EÉä-)ú’¥y*CH…›Åkp­F¢ “fïÙ¶—((»åÒE×L#Q×^ ¦v¡uÄ· ŽT†0"äÏ*ˆ‘ +7ÓýR½ä~÷M‰ i"U×Z‘'åMáß9ñ" è¡šM,šÜÞ¶o'rÚÖ‹º–®mö“På}fõü7Ë7½™VOüh¸Û†NB¿Fv ˜ìÆ`°aNùµ$obãêŽÐ(¾zHâ¹ A‹€vé’Û¶*õ•øÅ«¸6A(24Ù'ª”ƒ$üðS I@òJ.­¬£÷ie^ÈÚe·¯'øÛ– ]hO© xH|#ˆèGú4 ¤Bd–<D»³ß7íï#­‡æGeV¡?Ší®¸“¼cÚ¾Þ‚Ø…™˜FཉÔlâ Øù„`§Fóu,Ò›o ½N E›2ZGÖ)ûrwz$é0>Å£jM¨Þš¤Í\i£)t`¼!ã8è4Ô@"Ô¶x¢ +HgÄòý(Áÿã“ȯ޿@—)! (Œ¤–³ ®b~f®kb¸©huzyÒÝ•EÛõ› +Rˆæ¦–a°SÛœøärõ2"zê2y€”)ZbAßUêí£g"Ëéxa +3²+a¬[wߊ%¬ˆÎšØÂ7OZôQJì'5½á §Åa«¦ÔÞRûHóÊ×öŒ%›¯Uš{e€W]^ºÎ‘Eê¤ø“ÐëÒI—bx»©ÌVÅ`] ¬§GÔNÞ ªcb-”¼¤Ò:¸q+°ˆ­d0"¥•T}O…ùµ„"(°¶¬žR¦£ÓæMñ|·Íýqq/dP;0 x‰s½ÌàJ5…µo¸š¹r6,Õ%CÊ—h£ì‘3 µ>è^O,RTÌpÙ@žéd#¾ŽG.är +qÆ(ct¿Ä]e×=ºz1þ{\°Î…›¯N +endstream endobj 661 0 obj<> endobj 662 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 663 0 obj<>stream +†Õ¿43‹äÖC0Vsû9¼zu&‹Ý—Ý{N¼Šê$…C½ŸCÙEõ°Éôø毛&Í1Vß}„b)XŽ³I1´&g¯¼äºX[_¦$Ï–à°HEæ[‚¾rvùÉûræý®Õ°ðöq8z,üyRKÕ‘‹xż„™[6" Ã0†1gJ´¼½òäã7qØëAJñy.¹4?+Š“ËGÁ¾¥:û1×~”d1ÉÒÚ)%meTÅgçŽÝ~“ÄòavÆX?탨‘6¯%8ƒ©¸ÐŠVÇõZÊ£h^pîwªHÅ–âñ®¨ÔZ ‰b4I›e îo<˜[âO®â½¹ÀË·!@ÕÏÄ÷©É +Ÿ˜+è‰0åÁJpâqO‚E1ã£ÃwŠnh°•kú×–ä‚ï°¿÷Z·(~·D®8¹­Ô°Ë\W"t\ÙøCŽãI( ãª@?7&YÍéNŒÙàè3¤ÍVÕïú!gd6ÖàÒÓ䣒¨Ð Û ´ª ¸0bå/;Uw…ñJ1Žhê8-£³Cõ'­§êIà9«:9kבY€ €NöÊ´‹0é/;*x’‡Ë&óDXmm(£ŸoN.‚‚7<[ñ¤:/[”ñãšMRû¨9-–jŠ%ЫîF»ƒP<’~?3±Æ ð‡rÕWùWªæüWkɱÊ?³-ÇMҟدcAÔs]åá•ñj+ꮺo۵Ϛ#ãßâëÉŒ4‘UGÍÕvÉ» ž¢xž6ÝÒ·ÜÏku’ÔUmÍ3ÌvãØÛa>æ¾þÑ1f˜ƒØŽNá8pZÁgg;Ï úB G#ç zŒ“ Ã·™Ii›W}ô-‰9ÍÇ ŽHm»AM5iQRFDàØÃÕb<Ñu[|z?"¨ÃuPu^p'ætÈu[¶H¼–õ X-AÞl[{`<‹à>Vl53 ¼³Çï8SÄB6 fµÆ'ë¶{í& ¥Ã†Î ÉO½½Î|ϳ€-U¾CExDkm7CÄ]ÏÎ]èih4†.0«:ao¦îË+“@ƒIuéB9 fä„ró{»er@!/w ‹¦x;0oúâà.gû}ô²'‡^uP½ÚüËX‹šþ*°×6©)½¾4B©­Ív@퓲Ã(ãf~ç4Å»Ž’=¿:Ø)‰c·ò‹el9_Ñ«þªbl«Y‡/+Y€KUK;§:åãPm|N\LSã}ºy¿ÆÏEq"ažË?bÐ9ÈÚÂ0¦Û€…Çrsp»¡,Ѭ,|Ð~D¼Fç…œ±@G…¯:`v`Þrû·Éû‹”uVŽiÉ…HÛen¨Î*ʧMÓWÔÒÎËÚ"±çŇ‚ÎgDëÿw b(—­Uœ)p]?4”sãû#·¸N(õke{ ˜Š#Ä+I /9Ô²\_[-©EË–.3q“`ະ%>6¬KÕ$öS#ü­V~W¾y> ¶˜«…3:õÙ¼ ãÞhýÒ¢Ÿ9¼óz±Çhoò¾Ö‰{9¢"F7Éý'^F[‰Áø$ŠT4[šDZ›¹ŽÎaÊUˆ/,I‚ ´ê´gÕÿ9JZ‚IšÙ u½¶üóÜtÇ¥ÉlW½—ƒ–ôÙåQÒ.G‹œ)]ø "BýÝûz®¬\VyJ¹­¹àõ¹á>bQ›‘‘fr¿†%¹¯QY%ÇÓ×؉Fƒû>Úõ¡rz­A0(yEØâÒgáÕËòØÍ_%¬#6»uÄwa'¾%>´Ø 1-ZúÀìàÅ…Í—‰¥îßçƒl¯S^¨-VB”ÝÜgþ_žP¤¨|LæýXn÷=µ}ZŸ†\ÇôÃI_ܧº*æ}þ¼…/ëJikå?4ôgx®Úì^½z©^£ïÌ Ú†–RPÖWfÔþø®+9Ù¥í³S˜Pñ}7U¯ÅRª×BŽ.·ÿ&šª/¼oé ’ãfÑŸrr4Þ¤ü|/@¿Þ-ÐIDÉ4·{Q®gû14A§"–Ý)f÷96´¢s1ÖÍöæ Sà®vȶ¹Ó„þ2í,$qqÔÃnãðï¬é&Ø*@ñDeÊüà”üx¨v@µr>³ü±,ð\qvpjexi2ò==êÆžÎÌ'¶SèUÝ5 ’| +Ïš–y ]m6_•Žû%‹ é¨“ÇÌbÈ¿Hnoň–í®ÉäÄHæ_Ø{±WlÇ(ÆŸÂi¹í†ÊæØÌ<ûœ—àO…§¯O°‰LâvT›ötÆBÉK…'"Ûkz{ùGP¶ëÑ"ÄÁ3˜x{#‡p%Ç"µùã¸KÔF\¬ô>6@|=ÂE $Ë3 úJ…Œ¥OXŽ§QHÊC,yoß’°ßâè/ù÷}7R;ÛZ™´RžðLÝ!´£:ºÞ§SLÎÿ£Œáo6Ûr? xŠeÝRy¼º“3wi[µë½Œë•œl5 ʨB.'VŠi-Ìfˆáâ€eFªc`õKê/¬ËÎdÄ+Ý_Ê+ÊžäáÈ‚¡l³¸ÍÜøé¸lzÜÌ/]¥—j7‰(øê/há7-A¦)ÖÑ=À«­eW Ö?€OZDíãëá†ãð²ŽûnçäèIä£ÎBhÓ¡²IÊK’¾Ôß7‚Õø#«erŒX;L`ÆN„…p{žÈjo‰Õš/À\_zÞ&¢úÿ²¿Ú]† Ài¼[ ‘}k’/_8wç³ –ç\wÈŒ9ËíU7äƒü`;”‰0Õ‡~«@mŠ±øòV.¾Ëã«Ù,žGáo Uà3–âku+—¢öŠ)u˜aŒ·âÍÙÂýfl:ñk8å–ê!˜Úј˜¾˜ 2ÙŽ4‚ÏÚZÃ*Is‰¯½T/;ÕºÆî€3€²¯È½b/+œàì(™·} äµD?ˆRUËüȲnáSI²5iï<üyié‚ÎÂ_»ž]9eOK%R‚öð2™âb€÷¼àBò`Uñ‹/ªÏ$‹‰gšW”¤Î€¼ Έ½ÅÔ—Æ™[ù×D#hzJ&4üRgÛ,pj÷$ÕÛ16eSb9•S±)ãèòê+æŽÐñ¥‘u„Cwj/C¤s1ßú™1ç¾ã£ÚvÒÍä?æ´[‚j¨LCaL§(¨Ü“0"Ä1šg+ŠúÃ"Õ„À+Ý” +ÖZÎ%JâBz¹íÇiÎÄv`ä@rîéïN¨I±_”TãÛW­ë·00°©îbVÂà=µtåÍyzÐñì„pkǥ͛\%$ÊÅU÷“ó¹JM“'âDæ´M]}YïÌ«¨EøóMó…õ«ƒ®ï˜•Ïè¿älqÕ}€WxŠ.ؼßõÄ°ÆØyjô ù³Ã­K [Ëck¶ÖPžâØùLØ“@”_Ög!=œ¿ÎÉ^#P©Ï¸þšçé „]<Ï+*ò†Ô;åÃ1àÆ¿V¢ž)’Üi-ӘͺDÙí~./ß\QÕ «bØSaóF‚œ-7~ŽñݺODÌíëÍ°uèr\{O܃æ×¹ìã!Ç +‘XXßyë˜$õZbsC”€‘,—…tzM€¦´†]¥Ø=cHMÄO-ÚíÉvÖ?‰±'ƒse ®|Íë!yÌX1¼sþ ]ÓüÓ›ÒnRÑ8BŠÀ*¥gm/ÓÅ?¯¢0=ÌSÓ&Áq¦IÀQ$¬BLÒOao»ëU‡3à_z„b𦭕Óf5½iFµsk…\›pÝ'BÇB’ø·ÞTòÁK X{b¯†ÒÔÀ¼YÒƒ`ø©Cñ~Ò»‚ƒÙ¿ãI-#¥”WÈ(Ó—ª¾É +ÔÌ–9áß‹Êö|‡(ÅïËà”…¯Ïˆ†œH¸»”ÓÔBgì ¨¨ÿAXÉÇýˆJ/i¨åL½Íª‡²lâÅQšÑßÕ\Á¹ÒŽ?-6¸ï¯8"~ Åh€¾1éÏîRï}!Þ¡³ˆi?º©çÖ(çÈ +à‘ñöätûŽ¦m–É'¶ªWêqFôaÊÒŸHí`qjTxnOžX³šÚ.$‡jy¦€Ð…Ëâ›í“|ãÇ°(¤ÚÿµïëÓÍÏ+¨ô^|U1Žûò°tTŒçó*yk1+¡Τtgiø˜ƒƒb9þS2¶$f¹€û2ŒÀ 9ºktcGé“üãdd¬ÅGó– Î0wæ¹XXV4Èá?0H‹@í¯PU°æ»Gh|ÁΑœƒ«dÇ6Ð[c+íïÑàà±ß\;(#x¬‹:ð0n²C¸`«8)nkbðU š¯‡4›ì Êºòõ¬ðr;gŒÉ‰7ToÕ>QeÔ‚—,ö‘$ŠuikhÕeäÌM$¡iKøË\RUÒ¦“´Oz¹i6®A¨L€´Dq>qù†`ñ“¥Ë+åC²§üæäSrIã"´ažq5áIæ |šy-j„8Tg°®eö¯)–’¯HE/°gæg¨’ 1²¹ø¯óŽ“/š/̨/‹> endobj 665 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 666 0 obj<>stream +wGƒ”Ö[td„Èuâ‚ÙC`$8áùÀYYO’˜þIf% s÷§ #ƒš°îwnX ß=Ö'èg4ã8¦šÈ=G=8%«…¬=Å …»-Oiê!£0õTè!:È™ýdwôIí“Ä$˜v;’77 †ë2Zìºä»Êg +fäå#GÑÚk«Älþñ¸ŽßÑÏu}èèM¾Õe+¿øG6ê9`Wу¨ÖÍç1»‡Ç©ƒýêÆê¡ÍyVºüÐÿv-±õÿUÖòàëo]!¦‹ šS +æ]ÛòÇç¤Í6Êyò +ø:[ÆÊõªKÛ]¯éÄÙÜG #K%_$Óob_øËwÓãÙ°0Œó®…¨0©s#PØdú¿—«ö2»åO”ŠÁú,h“‰&jìÏd[M»„ÕâMß+'’…ô“LG:ä>Ü3êLC‹ªÝi0I¨[}T%N›²P›.jÿ&<·>ã¦ÝAܾ7‹Zêò¤Ìê~Ê÷B\«üdλ)·¡œZ¢DÐâ#Ùò9}óh”ÈU›r·¦µ`ñh­nÓ7Aù"°Ò¶*þôe¿Öµ‹˜*®N;¸6V(ªvY÷W¥Oê: ”n2Sõ_³ÝF¿Àш(øí­æÌP·³fs%RǬ¹\6Å|ýrÔd -ê¾Ée“…nÃA—~zƼ肎¬F+1…Ô}ãŽî¢í&½€„":ŽÏ³:®mO + 7Û+ßÉð:é-< Mƒ/‡º¾nžuû‰zºAN¤‘žA6¦™®øœnúBBý¡ÊðE—1ì +·ºýÜU`¨sY–0~7(Ô/š ðð ä¹v>ñ Ä°Zi‡Ê‡1ì&ñòi²“w +qÚÕÖ½¶`1Tª!9fúÞ +‡‹jÉx@?›š*@¶Çð»¡\º”z¸ünQk¾>óV®bbû6»VÒ} W5 ÿ;Êsó3¥òÏJÁ½vw ÅÙ²ZµøE¶P9‡Ðz&O‡·U]WfBÕ„2ëÑÛL§©»E Õºúä½€iÌÍ̃9‘‘Pg59cL"\.Ÿ°öÇê Q$i­è]£Ò¨µ ƒ8鵉¬dˆBÎklø)9i¿$ÈìʾÅ-÷¿U,:¿Q>kŽYƒçøá!ðʲ‘ë°”W5?«Žó„ÑOJäÓ1¥·JøÅEsÚ[ÞÑÈI‡=˜«¹Ÿø•¡£ms³å%,IËàzI³¶ç»^ÿÒ¤Œö‰1è!¸ãÙõ €Bv¸¿|TŠºQâó}YL9‹µÂ*÷äÇìhh)éÑ‚1†J†@ƒ`CçrýrXÉ…‹¢“*‚ˆ!Œú”@EQõÐëk€õ/NY/™mò«ÔD£Ã~Ͷµƒ¢]ç¥i*¡ç £™ñ>“¶ˆ³kK8ã™B’ý°½Ëp8‰;U„¶&ÉF„œ‹áÄ4÷‘áÿ§j1ò…g¸VíYÂ8Y›ªºÄtbd'Þzòz‰n¨?Ô%å.%»™9 )7ïÄJŸ1tÓf0°ÏÀ/\l@ƒÄ°*zQÑä%0”WcYÊf³ÇŠ“)%oa0ü€¦ÆB­ AI$…›8F /„úê[ìë-s Ø`ÅÜk"óC„f€v_™#ÙÓÁ'€"žçf±–XüªØöŽ2€ƒ·;cñ{¶ËÿtªeõìˆÃN`ß|{*S¯@Z lîí ¸ääáLhD 0 ЮAjêÓlõÊŸN²™c%þt‘ÀX\â·\ìR²­ƒâæÂRó‹ß»ò‰ºó÷| ¬—¯Ÿlê¶e¤§2Î&¦?°F£wð7)°pŸÖ}“î‡Ü%ƒlš®sµsîæ_LhDlÄÁ¢í‘¢¥k ŵš[BZiœ¦±˜†¼³ + v­¥¹«¶mRwÈðwg˜k¸ò®Gp}jû| +w+¥~Óñò·NÆ­˜vÒÈ9'¾Ã–ßÛÊÅi‘´þ4+Ö.Lö°RYúärsYÁæðÜvµZ.¾jµ¬M4,’¢â<(t䨜ŸMc[ò˜†BÝö"Ô¾Í|É€Wþrn,ôðSB½N—@oàbFFëª;zEz~¸Øy–G\x+öҼăC©ÏлÖOÃÑÙ¿(¡ý0{× ëzlD~3ÑÐð2Áu&°8Ìüy$Œ`±YÅŽóï}ó0Ùøö§¼mlKB(P߶±‚q:®0Ü ©¼Øæ)N^Îñ ¶jX…''™´bÕDùõy_B¡ki}]\z +Ù¹¾D<‰ªöâ ñØs+E +=‹ø¹ü’£qÂÛ>ÞE 3Â6»°ßF€ ó  ï§òød8y€4 ¦ïkˆÖkWá6lTÚâ9½ß’Ï’çåį÷ÂWOá<#lRoÊÀ¹MÔ„&ؘÛø;ÂåòVXÃ6)Ñ»FÿüL¤ž ú*¸«‰?‚"ZAÛÎOM Jr­µßþHƒr¤æ5)ü ¤ßð^]ïÒ„¶ÙrygîõRÕàœí½Iúp™=|$þ&\~Ü–\}¤»;SzXÎÊóúps(3ÌEÏFNÞìÈ;) /Ôm*‰WìR¹üt䬒œÙÞ]büSŽ1ËéØL‘}¥`BÝW³>²„´À4% xÖ%‚Ìu¤6”ü“îûØʪ ,[gンب˪ d÷÷qDTÍVÖPu/5ts°lD*0Ù wë· +XMî…+»ExéüŒs©ÒX31­Z›ÖsDáì„«µê:íŒÓ(ÿP›SxЮJG°L(â…§0Aâ ¦›3™öY¤'÷PO÷e3”q3áûŸEŽsHHÖÐýÊ\©eb»ÔRÊëæ¼ØoÒðOª ¬t)ñV8ö°M£ÙcŸW 33_飯™.ãèÑû•Q + gÝuPÁ¢¹o»{Mð’ª$<¹ß ‰FÇEcPû/¥£ÁàÇTuÇ5c›aý5”Ü#œ„Qt{æ½›Àñx‚ƒšZ§îÒ  3ròSÊÓÅïcœÑð•´I÷?Çþšd/#²³ot½^Àï žùlÀ¶“ì@îîÃœ“Õ?'=’dÝŽ…æ0!!nN â„[ë‰Á•ôVMû^ÝǾXeȪ«¼ÚºZLÁýrŸXyÊñ+«ª ÜV)†×\/™¿ª–Ò5ŒÄaYBjol£~€sL›Š{sïU#€WRÑŒ#ÉYw²Ûa²¦{WiO/Òf:²L?;Òø‚Øžù?îËà6ïmÐúÏÙ#ŒL ä 7ëªJ£þã¶Æ]÷aDž)¬ïF¼ãr¾ÏP” Ôÿ&¼¬<úrÌð¬GqCPcö£6óñÄé>Ÿ„Ž iè sc®˜ªkÔ¼u¾âíËg±ÖµOéÁù¹·Uñ½ |½K8|„Ie_Aòñ·Mj ÅŒ%¦ +»Qóp ^ÜØh_·e™FŸ)Fú‹¤ÿ15êÒVh“.™ +—²_ïŠ÷Å-šíÉ0—„F7ïãl&Þ©!/Ü–Î3OKÓ7^qÇðÄ5«+ã(‡²~/Òq=q=7fm2: ¤Ãï(ïðˆ‚ß r•ÿçÈÐ’4á‹Î^-Ø~“[Wý5Ï+eOzW³Zúè“0| Ôµœ{`´d MÛ &³EqªzŒ}›ØÓ?<%ˆ‘*8Ë¥»E\¼ +Ž×¬7%ÓnúÚjƒ³t¹f•f;«Ã'·ëÿó>±1ÎÄ.Y•o†È.A…rS…J:¸÷Ûâpö÷·g{áÍ3_#®]áÀEºmÞ®œÉ¹^íZæRh¶PóIÛ?›Íßô ha• ÀÌv±ô¨e@²6pÕSË —X¬¥¦""Š[S$=¯ºÒ[£±̳ û³TάgÅVka4zúâ Ñ=`$è'XßË†Ý Ô¡Ëj6¿åC®Íû7;LcÌ­v‡—%j.s !pîä%5A*[Cüw0A çz`VȈ/Ížr–,œ5;ä\ŒyÏup¶²ÕGغÅà¿IÄæLDä„#Tº€®þ|ž¢H`l“•h‡µ +endstream endobj 667 0 obj<> endobj 668 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 669 0 obj<>stream +\¬x‘X˜ÔQ,-©G¦(µ™©{_¾­lÈÔÐo?70§¯ÇÝ4Iü†MÜËŠ…Œ‡C8‚deŸ«ŸîSa›9:xtô1äñØζ~7cozN¾ÑÀÉ,šD«|”BL€¸CÄ) é]RIãýž®:ºÆ·OëˆÙp,t_­îÇevU²w㤖ž©îœ°Kߌb‡ŸXÈœ Lð#’H(‘YЮ½j1x²†iô%Üäe1FÉúB«%C${ÔŒah½´ {CFÓj_0Pç«Å!;€µO‰iÓâ‰Á†ÊÿV²[͵¹ÛnªP$ýÂÂÓV?ôt-{µ\º&W**0?Ix! +Ñ©ûT"|Ñ8u¢)Ý5}ÊÏÚ6Ÿ’È×sçÆ߃`!êEhBö¶D2+Îãpº€>õ瀤ö_Q»ûãÊ:À—Þ}Ú  sÎû“e_éæ÷±Q7õ¹íwѾ‡eaK]è"’r*kt|ŸŒ.r›Ò@5éN~•§AÈð [s²dHÂ%ŠŠªÞ€¸¸ïœðoY¡_«UË }Yº UÏÞú1'ñ‰í6ΗçxeÏ//Ö + ƒs±öœnœ×cèIMñóÊâ˜+Ķîb&ã ™¹Q VŵÂXv”û‘øfÛ§—œQT´ì¤àl9IýÎÐm€CÌÆȲF¾â‡Õ¶šƒìÅNו^ «“bãBz*Ÿ·âlrÚ“•"%k© *Oi‰¸²«hùB}ëgï‹ñÇ ç·õ¸ôƒFá·5À&Gÿ,ÆC– Y·ø[N5(í½q¦åÒh‡û…nèT€é…óˆƒhBW@K+Z˜·ÂŒÕõï@_04jÆšùTJ -ئBg°™‘% fí¤²zÐãK~¼Ž¬A˜Áa˜/ßÌY0؉§æ“4wðÁì=4(S +&N7B£ypØ u=?»‹—1È,ü‚|nqî´ÞWΗ)hø®“¨·†ŽØdˆBõ¥‰²ô± aUÌjùžÓÏÂs‰¿„M±µ¡À¤/í‘Ï88ÒD4/ÄËJÿŒ¼‰6¸^¢Ûý«p*ýú ]±½ý(‘‚c-˜QßÄÏÿ›Âvˆp–âîæ*ÆgÙ[û,Š\;2!+ÿ(ù®^¶oDêÉÜ@R. –o!¬f½Ðþ•%ÎV…Æ™ +ŒAH: gÖ‹ç1ÑRlŽÐÀ +ÝâC„W7,ÇS›WîõéPpõņ™¾­mÝ¢£ZåÅ6§Ÿ—zK†™óÛK‘ á–-‚x‡ˆ»Zû¯îqü°_I):6éú…§®çˆ‚0,2©ŠÆe°öjžÆúŽ¨ázÎ3Ž6ÖUˆLV 4ƒv÷#üSê£cæ2ƒh¼ÛK-5þeÙïÁ’3XX DúnH[â~u¨°®'ŠS`ü ­~Oë;é>Íry¤Å H~‘ï´aæX¿÷yyÛóV/¸hÛË,d‚¾IF¸ƒcYèqý‰³})˜²:_ÖܘêÊ]ØçPô9ƒö¯b‘¤‚èÊ;^cUÔÒ#hµÆø\ézhLÀºP0Ö¹ÙÈŸÜ3'Ç_ÅÏHI”M[&ñ%} ùèšÈYôökþ0éŽÅf­†„Ž"Ùɉå*Kí¼“€ÈKüýŒGO/×÷u)¡2ÏvÿNÿx}¨ –#òû¡`hÔÝ*!’Îcqb?èZÀ;È:ÅV[£‡È<—‰vQ-Ëõ?Æ'×ö§¤Ø…ÌZÍÌ™®äFp×bÈ6Áõf¹û¦1šIÀAKØLÔ1F§ìœ^]U=ô­%…ŒÖŸßzQ´ñ|ƒQßCf¨k‚&ûg#¼‰X™e)l ²#U¤:©6×q˜C‰ Ey(MK¶_ÅzY)hûZE1bH'œ¿®KëgâbÇé÷F”þ“Lÿ·åBµ +ØL<6Îâ¹{·Ä‘Ù¿húTOˆ¨îÒµ3„(Ó ú-ËÔÓ¿&‰52°ˆO 'YùÑJ§Ì”ÕÃþ‡>¿ à; +_ã[ż˜¨54àúPàætÐÉç8ÛäÀ_FZ.l¿ï=îÈ Zµ”ïÇRx–5‘Ö€ë1‘³s¿!ˆãcÊPùôñõ-Ž‘Èþ/Ľ—oR…ŠØœéücd/§ÄòÿG¯Ï]-¬Fë§ôU<"[ÊT¦Þ ïɹ f$N”>šv⯌éAÁ±*ç/)•žÜ‡8 kBº OÒ$ùÿ ÷gxY‘T9.架‚€JãUx“%#áOÇu&* ‚ƒ;ä”’¥Ëc%Ï¥Ý*÷Š"’f~Ê/¢’oYHap§ >‰@'m–žk„ÕØÃ’_(%ßy‡»šKüø;Þ>¨í%[tç¹/qš÷¨$úH2tø LpFùxºi²¹‰(>Ãåªê¤g“ˆ^tq;fÄ“¬l±«mf¶¿3Ö<žà7m1OÉ¡ï¶Sz+§sÕ|ðBëÎæ“ +-íÝF,šÉ,x/À>ãCŽÊýÓl*‡TëÌtœAÞjNFçyÐ>’¨HbÀ¹æÏƶ€K0ò[§>E˜Le0Ȭƒ.8¨Ê¯JmH‚KÄetEÕÀ&¾fÔøªSAèßqBÿ¼“}U1:<¤Žw\¶Ž*ƒÎéZ׶ k·A +hEó5îb,¨vá霉cß>F~VM@¥àZdàõl®¬×Z8•k«ö}ÌJ²îKP,½¿·™ƒÔŽÚ¯¾Ý*´0`ãžÃÖ¾}œ¸?›©ôùDgXƒ‹Û®—‚v€U!w3ö•Ý:ÔŸi'ÜçïЈ\õ¯H4Ú zSÑ£ m©à¿Ï’˜ÚEF…ÏôýR†4W(¢Z2ƒ¥šºßˆQ¸4[T)hÑh›ø2ë2H¤ø™£âw :³aS¹XÊ•Í°Èéígý(*›~\àé1 õö¤¢L³Ø'KºýtiünXý(Ÿù N÷¥»þ³ä¨¨ˆÏ FÂã’û=c(Ö‚H!îv³§þ¬·DzX¡Â¨„BŽž IWháRÕãô‹ÚîÞD#– Å6þ“Ó¾cž™ýÝ yç<1j» +žþ´Ç(:¿ÝD\”ßòÖŽÊ×w‹àû=áœÚemV!3›¼åŒ’&R{av½O¤WÉÛ¡‡c;d”DIZÙ‚jм;%u ~?á ©ˆÓÌ:*í HÎ~jp—M’ý2ØkÂ>ä}æ\›ÃeøªUhöŒh #í3a…÷ +˜½ 0eVg€ÊoÉ.¯êèw¨²´˜,û{®aø‹B]umt-cXEssžúû•¿„Z³¢BöʘX$K4©okQMSp¤'·sÌ¥|¦´:ÈÍ\àÔFQÂ÷’~ œ)²pŸ Wê!Ý‹·ÐG £Â?­÷{AΡªos'ÈyþX¢ßƧrøB‘2Óè:]‚’^%hÆ<ìQA–¢ +÷­= ЋáX1Rÿ¥Ú‘ýÉçÌ.½2ͨ$7/þq‘Sšøíáň ^þL«JÍiýBëÔçxS-'BÊeSº¬¼JËTé¿ož¾Ÿ +ŒXÆ,ÄÑÕ:^{ýH25ƒJrti§ÇÈu¿Ê—ESG¬iG-§eC>œmN¥«àÿÜ +3Öú G´˜Æ<œ:3bÛØ‘Žˆ4Çß…DvÔ­þe×!¤û<Æ:óg~,%U-×Ó9©„’øutmƒ#ÏmÜó¾äW°Mýk} ´ó³y/¹o TrËu*îª\BZ¹°÷ݺj¢æò²ŸHˆ þ© ÿ¹n#š€ïÖ½·«æ¤.<E¡¤+RÐŽOkua WÓ8£Lˆï(ÈQC›J· +ºÇK „ß.õÁÿÑ®Ï4œ$v{hx†Å$“g=9+·kÞhZŽ›:2j ²*">ƒM¹ËH[º®x£uvF sšù*Nª¹“ +îf’¾•5.l€¯Óµq®Ïl¯ƒܱCH'Oö!ÊU½š‚›`Ï@dÐ~Î7ã¿SQ;Ç‘@é÷gèÒÆÍf»»ÚÜY^½û*×Do—Ú™ Åq’x“é‘ð>C,(ËNŸbƒYzŽ¾ª÷wNž£É–ÒÕTÐÚ}˜U÷i¶ùOPPäЋ%9í¼œ¨Í ÷Uð}@XPü2ªzi9Wf£ú®½’’ÈLB›y‘`à*BtlJéÓŽô첩Xv +"¢‹4 +a®ºØÆ»öž¥¥’ëX˜ž6:ûí…mï)$Ýrp~CÇŽ.ìtq_+Q•$MC\ë¸û3Ž@@¨<7.§”†Ã6b'Ûzlôp&ƒÖÀK¨ª¸c9EÄZS‹hžÑýš~{ðÕŠ?v·à—4±—¦ßHäó J,Ò–¡zM‡$»¬‰;f®Í¢*Ž*#*Êi &ç·+$}æ¶Êîlí ŠÃÂ4ÊûÐÃ|C"¿6ßûEìÁÌ–AÞîu§ï³FžÉŸ¾„)¯L…ÓZdŻݼã%#âD™§¶`soDzÖòHC´ŸîµÞC®U÷zœèÎù®×#'½£Õw Op™6—.¾$}‚œÜ°Ã?í€%…FÏ©Of<É<°¸ÐpÄ"û 4ÌIáD|ù)Õ¼¡¡-Û°ö"Þ.*jq΋ÓdI:×gà_[)ØÚñ‚ª"ªÙ“NÍá …ÈÞ²^.­©gÍiÏgFÓ¬© +endstream endobj 670 0 obj<> endobj 671 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 672 0 obj<>stream +¼Í²Ô‰ù†ðNm`ƒm ÙƒŠ}— ÈB '¾ eIâkœ/ø%ÒÈßùú¶™éÛ@ë@iç,Út¸öw«uSEºPߎ„˶ggëïZv—MüHÍ%ñ˜a`”Èi.ÒfòÀÍf¦ÕÂe±Ó»]¹'wÄ£þt¿>ÜZ¦ˆëž$ˆêŽ8ÇÅsûÕ+îöžîT«ëØoÄY`þ-(@>£˜üæå»>[;¹¹ªê )—(t¿¿DÛøŸºJ¶|JÉÃî"{ã…„8v|úX.£¡Aƒ‚&›Í_wÐó^h…WTÏÞ#\ˆ<"H ;ëMO:!¾+⯘z•ä¬mnlóÓôœæ€Ñ£WNóøe5Ç‹Ü7Êp0­¬ƒ˜O£¿BD»Û±dJÖNçðÏtúüxâI‘°<}âC+ ê-ÓC’à’$\7GãDvÈ«à×Ï,ÑtáK}\ÑÂÚU@¥ø&Z^4Ú WÕ4 A®WIºÇähÜ´‰·‹ŸÝê!wk‚ˆy|×ähbVZŠ¾bÜqøÑ»¹àÇ–Ûµ­¿ˆ“”¸šC™¡¾'DˆU!ååÈÖOScª p”2RÁå Œën¯‚”XôVg¾f%DXµ°dñÒ<³¨M„á™ýÌ`QH0ëž¾(Éú­–Õ¾Õ ¤œãÿ†{v,ÏŠs©ÁMóÏÜ€-òTò¡ +# +à§~t¡5ªlÊÓCÛÛ87#ü!{¿òëÄyPgéb›öšE(ÁíÂÏðp×=ËòLˆùºpïršÙþÇpVHãlÁÙö /õ\= -ÍŽ,4w©ˆ­…¸ö©ÇÆc3Ã@สÔl-À.[`£¾ š°áúM@´ý±UÕod¬3‘¢Ï/­ÈHE›tJiœ˜…pæ8zY=ðrðG3êÊ oÃÚW¦ çëæÝÞ+|»G*С&™>M†m—ˆ’ÞBÞ/ø†Ôs£‚QZ_àÿ‹'zò¿Î÷›·°(Ù¥™¦ÝŠ´¤ŒòêlЗ#Ø|†8 ,œ˜&œ.?Ÿ£¿½p9 ±Ù`vª^ÅQϲ\AtxQ!ˆRĪwö:Oê̇8”nßê½P•±»rò„Ϻ„â¾=ërLÔü‹ø>Ž) óbs3ð;߶샧Y3¯,w ËIþ÷Æ%*cÛ2€%ÏùÄP±¼ÌöÏ Å¢Œógç¸gÝ? <ˆ#;uŸÊ«5áY4%F¾èß9K¼»FæbÿÉAÈ2U ò©Ô‚‡Rz.S.²“iP)ïþì´ƒðJür8ѽkùª¢Ò½È1«Íh%ØJ4L“Û°F‘ZrÓtsvEo½õçX\õ‡d”kÚ^#.¨ï-„›°Ç^"àL\ý¦œ[@tï§Y,ð#|¢`G¯ÿ {oùÂE-·ß ©ÚX£HôÑUÉŒÁ­E>kè>[æXÛ{™ØŒVaHæwˆºvî7å7î¬1•M:ý áØlà房3Ù%Bo6>ò|âàxÈ@YëÑìëi›On…î;fò|Ú¶H¨Ki0敺⮚‘’®`z­æ¥!gl{$—þÍwAYÔSŒíÁeÆÀÜtÅï«ÆãøèáøˆGøVÀ%Hy%Ux”š“]r,ÂL—œc<¤§™ +†ecŽD^—VÄ;H¬dMøV[©#çÍøq&ç¨úH¥ß:Ye7Šß|ÿ§‘à°hC“¨w0rPæ`ìi™¡×±“Joȵxœ~°3TI‹NÇì{·B ~Ø ¶¾ÎºfŠßBg@_l‰qÎœ³?*ÏÖSFvKÛLm©oã²€2@ê‹™tõ…síù˜¡u2{Åã0ó}eòv¡Ã6á~VÍÄâÊSòÿ‹Bù(Ò‹*ÕœhBÜú‡{æºN‚¾göÎ(nß-߇ßV ]?‰)×>¾ÒØR®jts«ìô—ÄSi%ˆä‘çT1D•…k˜ìAsñ:¨ck|8C_ŠÚçœ@ÊÝ?NpU<5íd±ßN$,}î~ɶBë͸‹òií^w`'ÛÏ.›`1&,›C‹ówø¨F [åó…^m½šÍP BÑ$¾ñiHå|’¯Ç^„ŒƒMšM¶C"~°ÂOdMü]Šjà .¼½Šëò›_ʆ¨å¨uàF+ÐÞÒRTps€­^jÆP8œ:Ç£ X÷ãͲ-z¨1«p¯¡"îÁX3Y ⧄—ÔÆeÂßãGàå8œ¹?L©‹[df!Uú#x㎪!ºK­0¸+ç@Óqj)Vîƒëg`å¹…æ„¿VÇ%² WȳÅÊf·RnÎB{“M§pæŽ'|g¶D²wäߤÚtZÅNYô/P¬EÚÃÆØÖsít:òÓø¶«!zQªF_¡VÉA[E>¼kïÅzÇ©šÜ¡ð*ˆÛÓ‰L©v£qùÆÕ Ý.•ºÈ> ”4A?6­·­r´éÅ]év#Ê“lD‚hÌùCÚW|1ÃåÊðÞ·J)k`ª·À¥J û>Ç]‚ï€üø¡«Ý:y"ªó̓Éqh«Ø”ë§Ä2ŒæÉzm}[=¥65 ©[k’¥}îñî­®W+HAíe)ªl è8ãiÈZunŸš«9ÿ îÒ¿Ph[$ ôjDi÷¨Ðt}ÙôFÙ +wð05EÂå‹ý:j;å[Þæ@#¿RPuÝœr÷Œ¨ŠÒ‹ì +ë½Ov¾˜Á›*V‹²j°w«€õ`K69tàS “s ßñƒõäSÒƒ +t=pi‰ŠjÃé<"]±ôoÝõúâ›/G¡ë§„zÚ%©xÁ¹ióK·£v]š€Ît-óx›òI±€_[tUµ…¯<ö pŠ¡ô7ûßéi ÕšÌ$#žÛBŠd–¿¶Õþmìb—ÿµìBõ‡Y0ôhä~ÖÏŸ3™šA*ÀlåѹÐp¥¦Ì€éNÄÞ‹ø7=’"¥Sè4(šB¥F)Þ…*Ú¶­Š,§‰¡.V¾×/:¦Ý–„Í›ÜYMá·ý"´<µÆ(=u¼=}' ˆiýÞpÂz Í´à5ƒ:á;Ðz›"…?Ä¥MÝìèd÷$ð5”¯ž‚ÏTã å5=04-ý­2bº^s„¿ÿx#?© 5Lbùðèú™ž‰X‡WƒKEvq™iá?öæ³ÀýpVBÓ{þ»ÓrO'=%ûû¦÷Øiœz?ëØ.6§ŸÃñLIyFxªêÏMßOëÝÒضën@ ÌáF ¢ÏV±~èGa%Î`]^̽Ãd ]©ÕÊ¿Œ®¯>Û‰¿iñâçêxkdDÖ2Üvžh•²o§íŒïa›ÙxR(¨"Ã+TFbàÙ£"ØÙÂ¥¹XÁ5Œ0Ëð•ýF-ÎFÊš]<®œÁ$ÇÎîH„÷ïÓòbFõÈä»pB*$èíš%J¥…­cp|,5ÄšÃÊolz â,_‰XI? dî±·\±ÖA3òâânÈ>ʳێ+QcÇRWÒ¬_ÝÆ×/°%¾wÚH_B~\,Íä¼z÷»m¾N\k¬dÆ6ö‘ ím0V*{ÍÜÛž“Ôˆ†ÔåL FµS­'< ‘°:?WJŠBŠÑƒ$±Ž) Ý,aÖ†™•rÖͺº%í°ÑI¤è^€và³#øúz Årœ¶ç”Bnw[”¡„ƒÅé;¾œ¾þ;™ÎD ™¦ëIJ0f“ªÏ²äI1<¼æ”„sœOùCð!öÞÎ]7Œøž8³Œä dò¿‚ƒvãÈeôöN9Ç×oÿ:Üc†¦ù…˜N"¹×­ ͽ œŠ´ã³ 8ýèÊJÐqùÆ·rÉ*{<€Æø'k’͘œÜ÷ßo„«MeûÁçýÔk‰I¬bÉ&™ùXÄZ[‡tê×îêpžÝv+ù†ˆuÒ7ãc“õáPtAÊb}¸Ó‘P¶ÝøÕð+Á¸Å„Ž¢c×¢‰65Ý„X›Ø VP¡Ú÷#î.5KG§iM(œ@wàeN?>TB„2F]BŠµO=>sÿÈñHÇbNøÝ(q®Ös**˜ðWבû¿:¡®ºv³lÆ-»µ²3¥µ$§•‰ýéhm8^[+ñ±CßRäŠ> endobj 674 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 675 0 obj<>stream +Œ@ð¨#Ë'ä´4òÒT°©*}£­°®BŠáÛÆQ==ôŸD{Ê×2s8sT•µ)'9¿/ +Îk¥¬ÿ•Ý¶ëèCå’>·ÔL¶àv7*t)ÜD«'Œ7ݶ0»ˆäEþ¦Â{²„èêÞ·GÎ)z–ëìÁIß²bh¤ +ø·Â_ÏÉ[¾6NŸ©OŒ†°^~Ü…ù¦õB~1På+I¦ÝUÏ"Ñèü+8tøj·¥¦zEÄpn1“HÂd3̸yltLüpÈ÷‡3â4È®€}H‘â~U[ D ¬ÝPÎÌEC’·û¶ çás´öãÚƒíøÕO2œ‚šï¯/¾«0ç\"®<Ÿ£) ˆ·s §·OȇûóMßL,BÑ}Ú†Éʳ3+‚Ü*»M ™>„Gcté‰F?¶áôüIÓ%-®Û…DZMmö[ª‘5«ÍS¸‚ã2¹L‹¦žaì½$À‰òaöÃ2¦á–‰’\Ëw–¾l£ø~|èd¦¸ý/1Ëð£]eayêóŸ.Œ@kOXöHêŤš³;8¼Ìò¸Å‹OGqþ÷ćŠçÐDâjÍÎ }¶k_¼nèå7å|tqµ^kê£ÌàV‹’"Õþy÷¥5—TDµÞÈ°Ç2Z¦{PSNPÐGˆj‡ÄìHkv*-ü§ý’¬šé¼¼v°JšHR铦èÇHß +ÍM»ÿÉIU›¶ÙÝïì‡p.{ʦdšðÎôż¡³îÊ„å]~ºppNŠŒáT¸x€dP†“ÓñЃ Ë@ñsD¦àÌrÒЬKZ{,BÄú¨ÃˆWÝú˺åeŸDîYaÜ‹ü°+Ÿb§fê›Ñ„ûÙ’ +dŒsá¾Ëb™)ê%rU©Š¨×„*ºú®È›Ý˜”Ѥ;¿l¹ëƒÅ·Ý8ó¿Benšþ/­èßžZtL¶tzië͇¨ýÞ£Î×, dü.Tš|ßœã< Ft”µá¶/¸wï"5E¶{µŸe}ÖÞ•º.|-‚íp}ÓÂóãh¨úú)õ›>lßZ‘ªã’ÿË¡KÞÕ¾ÒƉlD;ÜÇÐD‚l—F}ׂø¨´ùægs›=Dü­0^‡àú¥. &´S_yu'Žlj-b’eŽ¿ H¸Te ¼YGÁh56‘%v— *›ªÃèZ6<„¨*U"x62'd‹ö%·6]ŸÚÙ ˆàWÕXÀþœ0¸³|ùò=Æ:Í{VÊ[r»ÒyoŒ–²$Rl” «|±?‰…ÂPLµj÷È Jƒéû¾¢÷ä·í‰àÅœ­H¢²ÐºGe'‡b·R("CmIÀðî=¹’d3¬’Œ_÷žÂˆåý» „u`ü‹o‰–ûx81m +æâŸJËÒ§{Z²;˜0¶uzJÐH>Õ •e9Õ²›Ž‹ÍTÕG:˜âä©õå¢eWv2ÆøÑ<â‹ör¾óÜø/(¸ +† K¼6~± 2V{èr7§£C<3ijÚšƒXùè—ôåHJÒºE ÃÉ +’.ÞÆ·xžqχ!L$1%­zþ6'‹wxeXð‚ s)Áäèƒ$¹ µÝ»! ˆ*×YŠÌÐÏ%Ò½ÈîÚÇúöQ•´Kÿ¯øˬ ÔÍ`Ê„Þ íë*÷ ¢J忈IªWáÿЂÙî:ŒÐÞY†¡ýwV.`h11‘ÎÍ/:KÝ)„xëxïŸöÉñá_àÍdxή¤¼®2”'Zk›t[+¶Æ±¾»q¼IˆñdŸoHŠ¡0ã4;P±Ù]xúPÏv°q´(ÅÃØ8¤u Ì`°š=—'K˜ܧÐîŦù2ã Fé­}Ť]Yü6™Fíëý‹ëôÞösë GðcÙDUN Ñvã\ç]s1õŠì]L¶UEÝÐlâ“,JcÄ áÓÈÚ9¬n´ï.â3…Öm¥¨š‹› \´™éÓOµ¯B‡gêF¹³ 2„ô½,ÛÞå˜EëQäóªÊÝÙl¨³ƒ»ë—Îfk€·±¹•;I®dï_v@Z !îϹ‰ +&„&¡Ø`û/öî/ÛOýPQÈŠ[®~yßVe·Q×2*yÐÛOãö¹˜ôÔ!ª“‚cig»EºŽé»i÷÷ÓíÊ,Íîòï+þ­·ø¶~%µ»Ù_‚ðühýèaºb¤I±Ù£EXZ´èi å3p–¶æe·Û-¼»´{W’5@™u˜R­8Ÿ‰”!ïXÌÐA®Õ€¯ûb¯âóÈÎÜ |·{Ãö_D8ÕÍ´Èâ2~ÔøD¤L–‚îoW—ê&ÈÑð³Gæ,íHõøY°ž"È!O—‘L1œq2= +#!,c%á4räÑÒÐÛ©×µäâ¼/ŠÇl°?ælŠí³u–΂6³fllñÊxºWÀMâ$:zÇÎ8¾ã jlÀRN‚€anàô$Õp!£[íX|w^L†7‚ÂÚ“)¯èç1uÛJU6ô @ÊËŠ0L™–¸a [ÊæˆXtO‰ý°þB¾µ‡‡¯¾äTÀýqC¿1¤<ñÁqmÝ÷IÏDuÒ{X0g-Ò"J+¿ãâscêF×jÀÐ,¬Ñh*¾î~·P¬AAø·Y¾Åê“ZâìV8ÕW›&¶é‰Et”â oŠ§çáM»^ª>Ç ?ÕnŽ¥“±çVôê•g~9|‡ %7ÃüPÑŽNœv|HmÍÞ°f¨¹H1æqFª…h#N™jþ~îíó~|·nâï„úœ“™ÎÜìE1s¬À˜ :á—UàB[½l +ȲƒÔ3·wå +§\ã0"_•ú·×kaüeê²»$ËTƒÒâÿG¹cí÷´ oOËlR²x]¼u+ìó#à«‹çÍ øPÙüá‹îA±~õiüÞ‹¬]ó‡ÁÚA$óÙ™sW´\Ø6üÛ†áeú ¦RMQýéãÓç¬ À?Vz÷ªßÎ<ö7^°%†¢Säþʗ͘%ƪD{[H“¿ÙpAÙxœØ¨×ƒÁM-ÌŽ}˜‘¸evö9¹Nï2u‡©Y`—UÂoŒ+µä…¬Áù‰AN£ñ%×ÎAÝÎúêÉ9XõD¸þZF°¥‡‡\µÑÍHìºyœM9€­vTx +Ü6I*³6r>hiïLiâ‚ÍmS[ïɹVáPÛÕ¸•[¹ Dõ—‚G0#Bcß–zÄ—à³Ì_ãЄRÑùøN3.\¹‘ºÅ¿÷ûW}·Ã¯µ‚kãyyžZªª ÁàÇ…<^ ÷®µe@r·þþÝ›µ‚|COéɇ¦Ümñ0À—:¸C>ãÇòòukKÿD~<ºá]±ÒÔdîúJr`\K׊×qTÑà± µËŽíŽ€LºÈ¡V\ØÅÈXœQe/Nvï3í„ç*8j M¬j8²ãšÊ¢3}iÐEj¯gê`5O²$ÌÛ§¢°¿<Þ^Žt¦ XÜÐ9X%¯f¢­i8iBñ± ~G„µ{Æ §2Kã#¡=QŽ }ª"«ü•ó:@5â}·ðg”T]Åë…’Á=Ý`J©8‡$Khh£âÊrêü5Ëj~Èœ¢­š5µÜ‚µÎÒJ3v*¹ýümöi=ø±VìF­žJ3¯]ç àìEÝDãÀ´ÚĬì8{ÛB6=iu¾ø´²îïb1Kó +¹ÌùÓµIô[€ˆ´ˆHË°¦æ½êVR¦þµ +¾ÄËƆNeÍç€ÞQÏ Ítí*é-¤Oi7ø¾>‰[$]Ïí¹iù³iˆkte· K('tšòTØi­!‰P©…?JýåšæZ¢$¤Pïæ²P¦ýsÍ] ê`ò +'¢SB6­¯ÇÞÛÛž”çµ +‰üÓæð“'*ƒ¤Ç Jò;-ÑUäõ«‹þ¾÷ñö&\Z¥u£4Èß%ÓýÔïYÈ>7A9Ú@ zµ—é¶Bjǽ3*n•=Û³Ùÿ›¬7YM¡ç–kè|g?Á"·üF¡ÞÚxåW¿ BÕb!dßÒ£Øèì¸I,O®&n‡â%!Ú_ÿ[º`߶û;úJº{7¥ ^Œæ1#æ—ÒÂ2Ü•‘›«¥ÒÀݬÌÔ(ã'÷èÓÿTÉ3¡Åìqš†Z^\|“7hY›º;lý¨ é +/âò%¢©%Çj³žNãš‹ÖÌùÞ^¦GõË£þ&ûçþ´`¿(-fRe0Ÿ :Éeå²lÏŒì@~*tû÷¡'eÚ»Òq •ÀØ _JZ{qRƒÊ} X²kà§ÉÔ8SŠ­ƒ‹m´06vYf·ºR F¼¹½í¦EÙD¿ýaà×A^ÍÅ}L?BåwCÇ8ð_Öš7þuvˆyTÍ¢+Eór·×_ø€:UNFÙTÙìàÁûdUF9PT §<pùUL~8–è{-H W¿È$0¯,:ÿ„â¾Oi‡#éý–™Þ¼Ûß(Øëk:ºw3?»á‹£…رéÖCÃL;%ºì8bð׫”&}¿®râ1Û¤¹-¨uÄ~>ÍëQ‡­d€X}¶Oª§’(‘QM +endstream endobj 676 0 obj<> endobj 677 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 678 0 obj<>stream +¢%Ï;1Y‡¤«Šu¨l· Õ‰2≈·aa û“N°Æ®ŽbÕÃE§, +a Ê, +¤ª<NnC[wóÉ5wwØV‡’bÔ!Wa·6Ù›LÔv:=0=íªôU~à$ûôà¤Ru'„…Ç‚æf>Ùb©2(«Ý‚œ½¢Ó,öw‚Š¸¶}åÿq±Êd™{Þa­¨UÉz¼T»˜“o’‘žï…øŒ’a´|oc&ŸGø +a*ò%å¯àVèÉQâÊ¡Ûõ^›ËUÕ„|´*ë7e¤aÖUµõ\8!p•ùlŒb"Qtè*êWÞئÆ&W”äì2Ù©‡ÄjIù*½ +QpWE¨ê|6¾–ñ0¤N{"Ÿˆw¦@l…²ßµÂ{‡ý5Ímâ£ZVâO“f+>`SSï[ÞÙMYSGSà|óüêW¸Ì”)6È?Qolc›s®ŽÅdŒÈ,ûÕ©ö K ²2öÍ2¥›–ËÇ°fI_ƒGÕ5<[òg§Ý¶/KîÖÌ.A$9Õüe½*öÇ6³±½éG³ógoBh6Å—pWŠRCXîì)ž…L—=Êm±·-PâwŽIಠ±ÊK€)FÕç%3þ*ŽÀ“œ$n«¡'Å¿tÏûa¨à˜$ú1Õµªên{'ˆpÉ?óK 84Kø1±7ŠZiodËA1Íî`Þ”«^æÑœ˜DùrWDÐu–šô? ¯þ´š7ÿÀ@\úSI2w©m}x¾ûàÆD†Mp’룮H‰ß=Ü0¦e¢ÆYi}Áûž=/$iEP÷_ªSëBË]2‘3\H*ºcp„ _¬[tXïÍñ Ò?ïûJÃá`ìš2ä^øh’’LYwoS-ó8°_‹þ9ë}ˆ„;vƒ–à7Ž¹9(©ñ¶¦¶Dt…þæsàÿ/ªaÑ—Ð>¢¸ì)YëñjÍ¿¿i*RÒ—v ‹!ŽÊ6 ¿‡ã%¯©–taíaûB7¤MÔ‹[úåV±ÉЀ[ˆªT™Ø[…£ @¼4#³Ï#g4û ¾k¡ÐÒ/¾XÀŠŽI™7ÊløaËÖZY™ïtüå½ Ñù^eH 0&%±­ëÔ ç+ WÆGŠ8‘®œ_ÑQÈêÈ©!"¨¬@Mû‚eäÈUœéxè¸NògÍÙ5ªÀrÇÂO³©B:+;–"Ù3;¿ëg3â9Þ)œ¼ö‰'|—³@K.šÊW" ‰í6¼r2£Š¡(ÏBw{mà¡öÞ5pùüö8-*:ÿ«k‹PE¥<ÖÖÝe| +Ä,3ãÐA-½?ƒ¿@—JÓR÷2ç}¶co›u‚\¹T*@â4ˆûM´û™t–'Ò×Ù Ž9Q%£—tNêRlìêx²Ú@Ĩ°Ð­"J• !%^HžBÐ+‰ÈñxnÖÓK8bNn: -ÙLÏGA×î\[½½©óš +’ KuÆò®þ¤ùj_ºÃ¤¨ú—7zé?Ugt±|ÕaÈ»2Ç.æCú§ò„È Å€\½ûqb3t=5‡×V»DŽOÎ)JÆ5Ã~£=ï纘œè´ô)Ÿ÷Ô‡ï§zì=k]H‡¾“×Ï%|Ó_õ<”ŽJ‡ Ä2ýŸ,Eÿ:–ã9/í¤PLƒbäR°‚sÆ8@çø$ä%Áz¼þ?Mïx&Ò!¡Þ´‘hÚjjr=z¿èH‚«çW"ý©\ž9)Òi‘ãMݨɡÐÔ?H«Mè¢× Úš +,¢zä'gS¸ÄMòs{Öª“"`Äàt¿„LÞ—º˜bñ^!œòäÉIP¿ +tÌš*/š[ØoPyw,’ø—vI–Õå”Ül.—ÌiP«¢/¶`áJæ—É)¬JÆ`ÞE_ûuF7 *ÇoWôðÊ5^uM +AÕæö}>6V¦hð¡`N» ·.XXT¡g<þŸ² W»{É©ñ(kvò p€rqž§cœûggßäQpi8°D4°5 Oœ‰ËKp,š©»(+îï4”j +8ºräy¸äérUQâãnq5Ÿ}7‡Ë؉â®æÁá©ÜG…Òœ¡AS™S<Ðê‚Îgµk†ÀdÈV´ú5çË-4w»ª@@…ûjÉkדvç³Ý7ý}¸{…•½Ñ)/6¥œ‹ ²ârürTšìYÜÃ~E9­<¸N‰À¢½Çðv>€¾øü®Ê¬gæx„¾­÷/{*2:}½XþIW%‘šàP¤å(k@‡ê*‚ˆž5EèÀQZùµÜBÿéeÒ³{Ö8ë嬕 —Œ<‘ÞÇb +Ç<>ªI®w\3 agœDÎIß¹©¹@ÂÃòqö£v¦Ùž8" Ž]ºÊòé®=ø¢‡/±Ñ™í{¤vÙ +ܼ):ö0Úa@„¡’É–Qš$]u3Læ+˜î&U¿‚Íýjù´û€©¢AÜÄ s¨§:y_§ºÞ±óõ°#ÛM Ò+žf­!¤~‚MTG]´ØÕÊ¥0g"È]`cßÉÿËð.í:·Õ| à6 xÁ±žA³ÑÕ²Þئ*™X«ë΋ó¥à5%=ŸúÖ7b«ú„tÞ@l…býùT0dž¯<í¾ÜÖÎ.‹»°EôÃÇCÎO²ùîDZ­Ÿ¡p™ˆh4@yïq¢Ä‘8Ëà å!Àz© ýWh ´oøßçÛã:"©Q\ÚÞzÉ0¿×> endobj 680 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 681 0 obj<>stream +`a3ÍŽ¹„€7ÒŠÇã ž§®ýëÔÓÅù­×9ˆÇ…›k0`ôÝ÷ÐÿL6û¸Ï}àeb§|¬©Ù*(TÊT?S© 9š‹9s/´j}UÆoj»v~R ì×Íÿð԰dz/Ë0]J½\r–˜7˜ŽñqX'ò"-OAûQQˆCp˦ôÔF}ß ÕD `¬ÌäÇ’ÀÑSÚ¦u´Hžós·æ¿:HLð) üdŸ8<˜å˜l^`eGBs 8AyM™Ô—Áv2ïã®Smã\J²ízG¾ú‚˜F©>tíßI¤¨[ZjnÑŒÐNšQLŸ" á¿M'ä3÷Ü´súô8-§£˜²Å'`ßz“¾x z8J¾Î¥KŽíZÖµF¥¹)+ó!%«¶´vÐÕˆ©"8Ùfj_’-OÑ6qºY$ÇV»yjoë.+ƒGµíy[tò’œzëšØmÖ Š´6òš˜šóˆ?¡ÚWpy^ólöE²˜ø4cŸ®“µËò+N”c$g#&ÀÛg›kC:‘7Ði-šaú‚ÖèP1Òp]}€f·X<ÙÒ"µzw‡Ô°‹2GlŒ9Ù‰ +04)µÝ óª½á<í½¿ìG´ê1Ó·&§Gï°CŒü ® +½lïßa¿¸ùz>hÃÛr÷‹Ê ¾o‚€Ÿ%ös]î Ì]Ôª›7çí‰ûxê…ˆhmûIyÄ¢áH1¿PFñt¤ ¢¼_Y8±;I}2m§£ïÍüÞÌ«Ž•ò¶”x>)ÁBkl ¿;ÍT¸µ©w$´›)7:#xJµ È_OEdU—ïUõbn¶xâ1Я~¸ÿÈÕ&v‰LíØ”“ö¯"® +ŒŽr¯A„!M„>]Yõ3«DŠo ÙJT|àŽ§ëSô%üô»èŠÁ}œtÒw ¹þžÃV•"™ ³˜cbúßï7³NÝû¸„±+ÍÚ1-röŠN;d"Qõ,¥m6Z—ö=`Ì»öÌ¢&r$܃\kyÅÅ¢#€Œ2µÃ]É`Ü3mÄÎÂã +¢àŠ—Oes#ù…‘¿s½µ¹’x3´AñOƒïD?€q MFßhr+ÿSªn ª©s.¬ñÊ¿.T7sͳö¿}+DìÂ%önÿqÕp¯98 ÓÛ°võËfµd®â¢7 Xt¸j˜d´ ;–¬¶«²Eü`dªV-´|—ÒG+uÊ?™j‰¥V©:©ÅS–ùŽsUÂõçƒÝnó6"Ä;?R·ù¯Ðæ ¦žhÛLŒ­uðQ²;‘w;«Â×÷àRRk#•ÈY¨9ªÀ°%‰oì(˜´G‡áËÐòkœoÙ`7$Á²iZT•#(œ4˜ÃÙÝ|öl±… >vàtq*WL¥XÁåÓ¤CPõ³ì墰”I˜GF8¼)¹ÏÑ_Y;ír–Ô0Yj +eLÇ| +¨1Ž H&˜zJ –¬«Á ‰³…cÝ(±xg¾tþµëáÕÜBÄ`+ÿE²/¶v÷‚<Š–IÚˆ À]ð‡¡_ÂgŽilBY“~J3³§4æK¸± ºKlÞá¼£®JÏhÉVAäÆ{pµúõž¥ wJäcm²”Û'ñµüÙ‰ª|ì@¼ÇIÿ¦‰ô¿1ÒæVÿ‹ç1úÛ„ü°‘ì€pÁ¿¿°vÃ)Wf›à‚”ƒØ¢”',cIÀ ȱ|xAƒXe>µCPïm $Ï ¬^z;´¿Äì:·) o(ñó™æ)ÊkÒƒþæDK¹ÀµNzzG™èÝNäü+zVצ«C˜y Ñ ,‚*mô:7à™ø1A;VúÞ:F~2)ıw®Söƒ7t!kñcˆ¨ §I,¨å½S®a2åK—aMtT&I¬l©×9ŽåòV¶†ƒýR¾×Ýn47{oÆÚËãÈ ÂH)ryF¸”w›Ì½žÎiÌúBÝÄoÉ/ÖE2"OR"as\r5ÿàs¦Ç5YJžßOb骈’›~„óþ/½§èc/25ÙŽÚEå!µêä†XÄ¡ ¥«v¤Ù-Ñ.à+Åó‹×üíÑ&:™£j9ïú™OJÜšã©ööÁ|nì±'"úºéá-¥úáw¦Âù”xš0Šdc6FcÀ-Æñžà +endstream endobj 682 0 obj<> endobj 683 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 684 0 obj<>stream +áHÖd(B­ña«Mþu°lB6Gêz,³D29ÈA èK†?Ü›Œ#z,eš% Õ¯l+m¤:ùu)YôòiÈBÀ¨Vu9|–ˆ_è7ÀÇñ%HK‹Íl8àN„óýf ×üRÕˆEÏVÉP¡ÐFÍniœÒ–¨þ•ß|†½.¨„8!½ˆ¼Iþ„‘‘ìc²òÃEH0 E–§¡îèâë˜G{ŠTÖx;ž3°¸Ô`]ù_øÏRó|^ìéÿ*ðs)‹<x­Fn†zÃVU›$¹«I ½ÅKzø3Vso¥ò±~(Ïsþþ ”8QË5³9sOosÖOWõÁÈ*Ànä„-•X“”é…—’Y\ºô@$èhqäö-ƒ ¦ëe¾ò[A­èˆáuÎc¨0^ø!sen¥ÿ­•²œ(š“oAmÁ´ÀXÉn’XŸ„Ù͈";Ÿ;uÅx­k¶rm@ tƒÂÚ,¡!ÒÔ“v+"JH­°‚å¯UÄ*qx7Ùb“Ú•åŠufóä`RZ¾@ºŒ%9N6Ǻ“W\ ¨(A|Ô)-Èl~ò°Œ8¢=Ch%Ñ2ÞF¹Z~2C—*_íꆻbívc¢¨Ø—Ô‡cœ $°ÍClæÁo¶8Aœ×z6Y' Å¸V;¦#FØ…(Ö©®M÷âáXª„1»¢ !_â3Û±Û˜‰Á‚X``\#Ç Ô¿Ë˜Æ •ºæÈ€Ý>Šœc½B>0ýÁ£Úg‘ãž¾ÕäÊT“Ð]ëÐcª,ÿ¿˜#X› €‰ïý¥,TrÆÿ È,§Pèe®ŒJ<‚ÒS@xøK* Gi' -UU9e¸¤±5ñ¢­mu‚`Ñd´û¹®¸ÜÙ¢A±¨AtªûÕ.º×XÁytëo[0âéäQ¯¯Ç ‚s:ˆ1🷴x*ú¦E’†ÿJ©—ŒÙA‰hC ºÒˆ-„"ýçËV ˜j6^Z¦NÑ+Ñ +å Â”êïOÄë¨Ñèw™ºnÙ2àÜ¢ĩ^¯.©í}ùɃ~¢Ü²§ý$hy„L‹òÊþ¦)½ÓðÔp?„XÞ$® 0¨){êG쯞 Wò!o§¿o%õN40=šc{dÈKÂYâáWïq‹SCíx ¤ “Š¢WÆó–˜Â-…}z©a¤²†í¦ê=¯G(ááT&¯¡/ölt˜«H)M›¢ö‹`}½?IäoaYdQ¶m‡qXÞº¥bï*®”´ºÛA(O‹™cÂÎs¸sx!o1#k"Ûíþpȉ} ªNÑjÊ]Iѳ]üÅ@ÌS€ÿãï]Qð-,vMäÃÿ„ÄQÜ\2°ÿ02uê¨ê¦Ì¤øb'ÛÍjê9?‹0j®E¾ÌSÜ °4ÚÞâœ3õ®äBÊG~&4ùÆØ~·@¥­ßuÉ8Ët¿ÅQ‚: @¼è¼L¦Í³¸2d²c¼. ðµnÈ%xóÃFÀ ØÓo=pœeÒ£=+ÝOÜiIf Ÿýà05¹‘è]|Ù¢ë½QX¨é+ ÀH\QÓù_—¨û-}œ,<¬iΣ{‹ÑœH5¨– hÎ/ffѨu¥WVÛÑãC_ÎѶ"Œ­Þ°ÿÊ|I h¹ÖÄgkÔ!¸o·„å»È¤8%4ÆæUòïhGr”µ[Iöw΂>Ÿ² ]íÜŸë°³µ_KÜó•_•¦¨D´¼” Þ…=Ùñ\¿)vn³|ióîÿ[»;8óóÿÖ/zPWùOeÂ\öˆ£§&¿`¹êÕŒÛyZ­’Ú +sÝÜÇÜðo¸3ÒÚÖ4™Àÿ¢«”ôŠç2Ù0>Ÿ4AȜ̹e½æ ›ˆlwOב“]ôˆ°ßj + <úç\²í›âº¯!XÖ@Ëb´]ýv‚qmRIgu½,CTõfiäh‡žÆ×…à>y¬rÀ¯{MÔ蜹8bÔÈ|ƒw{Žæïv@Èò&ðNc]<Ž'FÞíû8Ñ»‰6³'D=´Îµ¶ ª¿b”,·-‰¶øTz©t?cØG] V”k”Ô.™wIq¯ëÓÒ:Œ«Ž—ÓWjR´ÓĨ'…®tȆ7ˆOVCßuÙkzé œrìé(*®ËÀ ³g|ôe—0)BÛ”1¶‰å"rä|ºŒ³ ä’'ßR0¹0ïæºAð GŽ¹%bOãZ3±°fHÎîíl»¡ç’Ê4Þ jßñ_TßZõCg2[þÖAT÷=ÓöµJ¾Áâÿñ«¢œQ8Õ|ó+Š¿QŒ˜¼ìoW0†iÖ,EÀOË軬ᵋr¯~+ 饡BS·µd£0‘-¬€¥¶øFºÎDHK{ XãYT*C­žT蕸Õu¥]_ñmãsFå“ixp§—£€“¦WKsh>ŽuYÊ‚<€|Bï¹ä˜Î5÷w–C„è5ô" ÷PõÁšSõn¼ÅwJ ûbëh.l(à$‘Ö{‚¼¥õ€Cgø<+QÄ5[”;Œâ«ôFÛJ´‰_åBÄe‘8?®Ý ¢¢pÉv5–¬ªJß}2À±îÎLl¯ð~&³º 9û.ˆ‚Ú—{UèvvȲL"¹ñw;¬Pe@½4”‹X/î ÒÛÈo•qóŪX©f6ØCÁ?putÐ<^£_Ò„òMV®4I¢ÔJiIêNPí£H)Ñ C@LÄËQöeÚë‡$Øô5Åf('3U±#¶7~ÅaòÆZó^fæ¼vø üTg쀦—¹u^ol›,ÆÍX#–àA* ®Å'dfSœ•4V;±²7«+4ö×`¥C,#,ÅËêFwì#w˜Nˆp{›2a¤“ø|a”ö¨&ߪ§÷÷‰‘‘ý¹z³8ŒûrAáXæÎê8ÍÁЛ–µ² M.²A;lØÉ춧/±.§28øÛ+kèfs¦Åkêù~RÅ64ÞÛWø1zï‹Ò=AKƒÖï¢Ü©`«Ó|Ç‹çn„ñŽüäuÄ>$8Rõ‘ߊºe¼izE¤ÊØxüÈX9;‰/­CÞU×ÜXÏÌnõZØß €¦Ç{Ømª§2©%ôºÂ’6á %N-³ì$4»¼­ëœä zú^E'‡Žì@EÍcêl|øÑ€ïϸ7ÝðPüÌèéf½Xa °ò%¶ qø;À‡6îTf±KõîR{baÚÓ $¸‘x­õ^÷+®Õ¸™«º¢r¢am¿°÷f‘â€ÚìÚ8 ™12 [Ê’3É)PÜÜ…˜G×·û¼9Ç2ŽYº!>:K»Õ|ñM›Hÿw± zD%'¥â>Ó&h¡BöóŸ¨=Þ~w茗Nj݉ýÀçî»fFI “bYúEƒøë(àg`P&ÓÕ»PfÔ}—:Ã$£ž”¬ÍØïó=|mêó®o€ÂÀñu®r«5‘fx H(ÅOdš©µžÓ*N¨t#ø£€¬îÞqx'͵Š.%YNiGÊN¢…Nü²Í +endstream endobj 685 0 obj<> endobj 686 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 687 0 obj<>stream +·nŽ…:½Tê1?¿¤Fñ²ꢀE,op‰fB?‚¨°Ö°ÞLNÝ^¡ØœI´l‹K«õS÷Qz爄!áwz!·HàXÏÄРàN5pYú”¯ucZ%õµ°âiGFòÄùú‹E’®*V€,ŽÉíÕp ñ5©v®Ž¤š•q²šVeAqÔÀ#Ó7–ºŠbæÞ|H•j­ÉéÄ·Ç¥ŠN]Œ·¢üU ¶®´iwßË/_E{">pFTƵ-~z{8¹4RŽÖzÜu0]CÈë¾ žÉ¥Ú  „Rq$LR¸,ÞZ>¸Mû*>QîɃ@ô¯&4Zœ”ò;û€®ªq?ÈÃJŽ +í‹—hø{lÛ“© VÑGÑrÓ÷§ÏmÞŠºªž¤YR(õÉvˆ%¯”b”\±¹ôÙ>öçh>2¯˜Z¡å½ÚVýŸ~CT<¤ÐÚû)[ç˺·t£À^ŸvÍ£ +pÞ inäofë³\WÚP†ÙXx¢!Ñ4bïáYØì´ÕBÒaóûƒ àž`«¾ ÀÕ?ÊósŸh ovªIás\¢÷'ÿntî®ÖÞw{m@;'Td=J[´y…IÔ;žbÏtË…ñ{27×+¿—GR0Þâý,©sõÿ;JFÕ¢E$°<¬å…ºö²Â^ÉîBxÁO£X +þÓë߶ZgrKÙêÀãäXä®>«/ð?W˜BDÊU¶YŠY»QMá‘$†Å†/„Sż wïZFšÈ gŒ$œ9…3ýPLÙË×qlØœnTN¿þNûÍZ;-ÿŸt?iÞ:S×O;O&”KLRÌ+ðY°p²ô†<•Ã@ÃÞ¢B[&X›ƒšôÞfÙá[N +BãGL¹‚ùºL¾’r¨v-œ4l’þGåèЊ‚Z”-ÎEÙXÜç@NÚ¿Û¼ÔYÈê¾Æ·ÇZA“o#‹Ùh¤BéÖ1.$ÝíjJ“UJNiÜ«ƒ¨W¯™¸ÂÂ8Û ˜h ÍØÃV3^™¤öˆµI"{xÛµk=·9? ÆÇëg7²“sÃ5Qß¹"œGòº²#@…¶bP:ä•*>¦aüa!äEŸ4¦”«W6™u´Èþ£T"3…Û,á"CmÉg cÆG³üêÉ ók•6®ŠQÄ“Ý%C óv/ëz3¦„ê¼T l²¼”‚@°ƒ‡Ôlqöµ7¥wHúÕuÑ?´'G‡ùiO.Ê…Fhª÷ZìT‰¡öÿúñú<;Ì4ç”=ÝA|€+' „$ÈÌfÑ ˜Æöiš-öG ñ—1+'k"6¬2cÌŒ*ÁêHal(‡5VÉÛž WÙ>DgQI÷Öd[l©ÒØü£ <M¥„^@‡}³Ï; ×5UÇ#ºÎÉN,"'ÅjÊ´™ˆ<¢á~Fë¤Åø'1C‹ÿ¶èÞ÷¨#µ"Íp¿£?À’ÓøBR~Ž´·?$r¬!¹COp—ô?P·š¶/Îáx„³f{H9yr½Aœñz)ÝT¥oi¨К†²‘aØØ7.Ñ•ØبéòQ›wÛ +¾&Oª–Á0c~Ç»*7Ó«wxlrvÔdÇíºm`47½Âî¾$;—Ó¬£:ùk…$J5™;;f(QNÞÀðž†ØŸêÖ9Žø`³ëÊc^7µfÀû$oÒ”’[܉&Ì><Ç‹ÆÄø¡käË”.,ý #ÓDÅ(ÚfNc_®Ã!ÔrŠÈŸß„-ÇtZÂ[ºÆwµ4žR,4I( tJ™‘̦\ÀÌ îûÂö½7´Å¯æÎàß4×Õ&OèPk5% ÅE6ÈKFÑÛK ˜iB쭒݃\š­lOo´NC<ÖM9g%aUCZËU×Õ»­eIû¶ã{¾$¹é˜ÖfÜxbÚÔßË:&\Uo +×=ø"ðf«9Î4²\ÑÚX Ä ç5éCRýÏ!Cg±åÔ‘»>9„ÏOè©(-jW ó_ +L›î˜ùdd‚Š7øëøyÚz¼È¬`nˆ‰ƒ%~¥3ΠëÞ-žb~Frø'l@œ¿¿ÀNl)“¬„ê¶oÝŒ*jL ’ÓÉ´îÙ/©–á|ÍôVÉ1§Át2à„ëdýlè€÷²×*Ë1½Ôq}š—6JLlçq¯.>À k^Ú×I{陦|ìDf®Ýм®ÄJ‘„W{×OXà¤dW’uÂ4?¾ƒÅWE¥ºÅ9Ö0ÀrüÇ“2Ǥò¯.Îõ+Sÿ³ðO$KŽÓ·¿9@Œq„J@å÷­ÑTj™¤$V½t7Š’Ô·)y…õdŽR¦&­Ö:KãQòV~ðœ>Lç1Ä'²r㬥FqFH(P­E:Á?3륙¸µýºïzOLƒÃ¥áè Ò&´Jòñ UæÂhŠ0®ÎŠÌièZ¾&þêî83Mœbø« lqikqÕÑü¤‹ÿô¤Î+’@äÞe®«oƒ³„Ä3Ea÷ôa³È“9õ=|®~AR;¤¡+јÆh°6«È“˜"™r\"´‰ž¬.`¬×ôØ6-¿ +‡¼ÝRIFgVIÜO+² +&p>‚ÎïÀo!Ë@büŠíµŸÈ~ñÀSݪÝÜ”žøjŽÁ®ÕñÂá݆…Ú¨“*íš ¢-xLxî‡ûU_é+0+ýº 3J<ÉÝ‹'ohkÈÍ{+~‘óÍGÝÚœVt^|Èd‰2¢„o 9¥±€xž!A‘vLÒ0& „®¸Œ0E©KüÀ§iSË¡×å:£Ù›óo)½C«'”’±«9à?4’`ž¨³Ÿ›T;«Í. ™}Ù4ç„îÀ”!Ù:L\XTlu€€ŸTÖ«ÆÁcÔM0Ì•i¤µCF&߯B~ATÂߌ +kå” {÷G˜ª£ï'ý~€Ðmõ­Bí:Ò2ZÅ^ÝvÞi!…8sýSÔ¶ŸÞ:¿„ìt,ˆ¤Ài"@šØƒ¶ ?‡åqæ"ƒ ö•äbq<ÞÇvì GyY7ø±’D]Ê6ƹE|KÒЗâNV ¨»¤¡ðc¤Éb'’º»€ÈÜÙÍ?WïÕÍ»þSJ˜¸sižëUì8 0ëŒÂnR䎋RÉl´Í@}`›Y<Ãá?%ìSºÞñ +DLW< à{XŒÛŠáY8m +mø€ ÒP<äy>“‚ËLžylø‘·)´>Íå²ã4;Ї]iñÖá”Ç#1ít…¡M§Ø8h|&ù‚ÆD¾~àg0ï@U“¥A<›×À‹A))ñÛã ÛÚÊY„Ç‘ßÆú@Ò Rö;±ãíç6Ž &3L#H?U'Ðí|)O¾Då­ŽÏÚ…äfÝÍ*ãIXò-.eM´ û·!q˜õËGqgENëÛgñÈI›JoYñŦ:Fo4¶Ø¤bc6GÕ‚ÅÆn A9¹æ&go'“¥ù‡®ñe7á Å}wûF¿~ùùn5÷ZŒuô9µ‰¶–ä©VNïùi\ÉV“c¾†U†ìQ–æ1öÌQÚ:s“žÈlw²‰Ö>ç7 ¸ó,ÀW—uä­¯ž¢n/Ü“è´Ú’}}ªÝHÒæÜ`4nl$‡iÎ.ÙcŒiªö+Ô¿B äK˜àé éûD „ây™"2b]¨ Sú‘Þn6x5 âØ ¢´€ð»øf¹Ð_?o7}¯}Í7#>ãY(é\ð9׳ÊoìÿÛÅÓT„§DnQŽ:År¢«Ø1®Ávº:kÚ†€¨Hƒ,µšÖêú@æd òS &–(W¤¢¦†æÕCus I¿¢à°Œ¹~‚'¤Ö¹Ò:CÉ·¥KºñOœRè¢â¡µR¼Ý~°ÌU¿Çqʬ+^fùiîÿ®´¾$V¹R ™{h=f[¤6?ªÄwRC# 4˜ $ÁSeˆ{ò ùg8ìWÇ…,Þ„_¹ñ)‚5ø “×*Dq%Ègi[f(ƒ73mr‚Æl¹4qWÃEHLca¨’Ña˜‡ü5³ÀMðž£jÍÆ/Ò‰G1OÍ#H|@Ûù’D¥˜ÿ¡«`þ²l3¿–¸VfscÌTR{Ÿª9Í×î’Wàq°5[Ð;N—Ò”ýrì9òaó ÙU +endstream endobj 688 0 obj<> endobj 689 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 690 0 obj<>stream +×puµ8~‚y«Æ +EÇfAÚ&ͧ¨ïè#Ž¬•Ý[¿‚–‰1SMè æ÷qµ-©æ;¬wÇzŠtþn/µá’Î2\›+òä3å\D¯P°œ÷z'Ô’Ç, kt–ò$Ñ\4Ýí/LóŠ°²Ð&Ö²?zŽc¤äBè“,C'óß¿áyªÞaZb‘£ »´Õ)öDÚH:.ƒ«²î55¤ö3ð‹meÛ•|?òihäæŽÁa¢bþæħ¸íð¾„f )·Î‘UÑyÊߤ»cÌ v~$ß‚Fõ6äJJφÉ7éÓ ú‰ŽqêÙ’O@¤W¬;0LL¹ªlœr8žò""1Áú›á»SðÙ >ßÞÝÒlQÊi]€Tx>`wËô>PÝFŠ [@¯©:émaî {í½ŠƒV6’w8 W™ç_Ëôz*(£ º%‹Ë]½2ªÙT>øFÈ]b# š&³NÚ|%}ŸÖ8ÛÈq)uˆ"qâæGLåÏ[Î]1Lp&ùÇfýôVqHû‡´ÈÙÒ˜†Š3-“ ­†><z¸wÒE†içªÐב­¶©oþ2M™yºókôŠº–sù»T•xnW£Œwþ-A ’[?„Áíå×Ê@ Ds£fSZ—¬ñÖ}\”(Îí”\…ú+\Ëè §+½Úƒ<¡Á¦kd‚¶Fá4aF²ðãP ÿ$ iË9(Ú€µëÄ,Ë}1Xï0(ź^onamêúÔ¡Ä´É|·; H2è‰hÙÙÐx&ë¬GAŸbi-¼­«¶oÔbľK +wáfG9úh@˜¥e­$”Djµ¿‚Üw‘º«ýÉX/ÞúÚƒn¾T:¼Rì'K„‹â&=<>ê¯Ôg²½ŠÇBF¾FJâ@8*Jùgœ3£§L >4Ô<>±ƒ[bêìÅ*§CÎËh£Õ#Õ†QÆ”U—­Á䵿Ò^}öáß`-›û ˆòGn@®L6òdpd–4ÍaëJG‹Â ÷DP~_â%|"aÕƒF3Y´ý…Ôô>¯ªç¢Ñ#To¤&„‘G 8Lrÿ'é`M…”Ž”Ô0aÕ{¼>ñôõ§hÖ}pzð'TÒkÉß \OÅü›û¼`ZY.IR›™ã0ý|¨l”&Ë~«‡A :QCpâÂÕ‘ò‰ùlµ¾QG˜oÞ~Mãeϊͦ.æÈùp!Ùž:u DsÓ“Û]Íð×L8$’8¼^e#ÙÕ­_üÇ\n‚…Œ2±Ÿ ç´}ÉôárÞR’K§Åô;ŸfWñ;l‚ï•ùhëêŸUEƒÕ\©ì7(I°}ý  Î ¢°À9ú$N™cÁ’YÅ?¬å'©•MQiÈ°#Ù‡aþ"l‰–…³°T¸jåD#âv˜2®óë%Ò(öŒð…3γzi¸0^7;ôshµNßaÑÛ¥™–"RÓ:“ÄË¿;ö\9ÎdÈ +™ytC5d_]„ߊiÑÂ'=N¹s7æ2î]0>èLÝ·ão|Ë¡†Ó/\œ¿7´T|ïíÛ :ôjZdMðƒ0æ­-æ-cdÿ OÓØ}:ת Asj|sæ½^jß”|Gêr´0P 8äت1Ûò§"‡‹ÜõDZ)ŠÌè¿]n1†ê–´æ0#pЋ/ìÍH1E²¸[8¿OK_IùpSÏM[*'!! ]Xô;j¶î‹6÷×hÜ^#ú0HBÒR|´jðŸæÕ²À$Öÿ§»¥¡›»Dàœ}.móÔŠ„(»ÕG™²tú=¨4÷€/â“åJ~–ûñ®fè6g‰vôS7$íÊsÖªI.|¿ó„’X‹{àIh 1Æ<°2Ç„q«].”§Ô]ŠÈ1š³¼3 a±½ìÖT:SŒÝ5ÿ³ò('O*±©ô®Ý¹S+Ó„l"Ž¢UÑçr¶wÏómžË'»ÀÍÆ +@bãø„ó[t!p…x(þZ*U=]_Ãç¿(Ú§w*.X{)5ÏÍ~ǺÿVv,#Ë$ åΰRÃõ0Ū¹GNd%ˆ¨¥–ü¦²~7àˆhöƒóŽoõüBøv>‰‡ú±ˆP'¯­‰ÜHÓ¾© ¼1ñ×ûQ=]ˆì*’xÝ,@&¼ž‰_Lè¾Ff8 VDJ=vü¸äðK(A’hºœ‚<<YÆžr.ªÁ-| ²7‹Í¦BqÐÑÍ”@tÚ#YïUd †üÿN)³Õ4ºÅu ¾gÁ ý[pý/óxM£áÊ…6>Óÿ¾9Á°)¹ü€ŒÒµd¹LÇ:«1Z²l×ïã4> @HiËÖÐTSÔáòp˜œ ñ61T0ë÷æI¡Ò÷£ƒW㊖ D¸S#‡ÈÉk·­Ÿ¢ ÎÁÍ5ÉÂ!; y zžnˆ'Oi8ЇGY{…Tty•ñšÈþðÀ†‡½÷ÎzqH'›šù:Zî-Œâ¬oÐS›Vù6 Î+'2>%q@‡ˆØ5,5/“ÅÄ`œÃ9!z소u7ÐCÌEŒ>R¿×4f5dW?‰v»ãR®ï*ظ^X~»Õšš‘AÃ:,ëàïÉfÐå.Ùt±/s|i–E¦]+¦6«m7 +qÒZÛÀÍï¤õHÑä*ÐÆ­!JŽ÷lBóbx©þüì&¸áƒN.«®œî†š'ò÷&1Š`>i—VŠ™Qk­Â=ªç¶¿–æÍíþá“­Öã iY+ù¸+ÍÇÓ¤ÇL0…7à#¾Ì§/›)}vÐö?Xœ„ÈŸ®¨¹pÿá&̯I¸ù}©â‘O€Ç&Ø~ɲ}‡ÐéÿæÊ#§O¬Í¿ò°Q‡/R#qgœÁ‰3¤Å)ÕܬZ)È4€œäíZŒf‹Äµ<ò0yIëž^Uìϵ3µ×›»¹N'Ëûk¥Ì ç•Ië;Ìëß/EnoÁ¼_yt +¶9Ó3aÕ™3o\y¢?3[ÜÙöCy.£º¡]©ÃûaÔÌûçòÒüy!úŽ<†•½ª_aGÕr8±ð›Zs[SÞoM‰Ã·mÖ=ZáåαÂQSP+¯¤%þ*fŽ¨^ò‹ýeŸº£ÝûE–ÌÌ@ºÅ"T–s©ÓFk©ô¥¾3÷7 +endstream endobj 691 0 obj<> endobj 692 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 693 0 obj<>stream +×ÇZ„Î*FHãïË?Hòû*·‹Úªh$ äLþÑÀœ[×4øN?]ÁgOMˆr Õvk½Q`àÕ&ÏÃÐ}p†èl¡Eñ Õ׋O. -îZE®¾ùuœs"ä²Z%©ŠÁ±cÜe–aQQæC8dÝmÍv­ªŠÏ¿fâÂ]'Õur3hû=ØÕ« +{%YÚÍ_£rW ÑwßX.MÓ–ƠȚǭwºcðŽ°Þ͈ ¢cbsÅ;‘Žû N߶> –g¶Ó¦~2ÖUïÆ­Š}«#ÔçŠÉ°÷‡p†ÆÄ«lAI¢/ÑbŠSå·UY£ÂS'‘Á¨ Œ[E:ç¼Rà ‚~ßrÙ'„{!âd±l•W…Ø+´‰‘.˜¹ÅÚxßÈÌð¡•— g«ÀR0U²iûŸ„êÇD©¢Eˆt´x«‰P 0Ô…®Xpýð*~ŠGýF‡¸"¨ÓV)ýÇ'Å¥ƒ3B›ÃÜ÷ï¸Ò¾ŠÔŸ~?79»õÀ8±Â*; ~ºÌrúº8”/A•ô „ª?èSþè)íðsè©ñm¹ ,f- ¹@A +³nkþƘW>n‚Ò]ƒÃ PÐôáS¯ÕÑYƪ^‡à¹¬dSji–$ÚIØþDu׺x‰µ\Öé2V>·7át *ŒˆØ;óàßÏwáúˆÚãv÷eV÷¨=4uÆ•,™(óC¡Þcˆ¨Ý“Å˘ì,b/ŸÓ»‡ÓgýÛámŸRn;””o J€CAßÔ%{^Àq’pÆñØ‚A²p º9š”©Ž„¨ø“ÿ,H*_` +¸÷g~Æaf¤vÚÃ'Ç•mºÃ<@¤W§,!Ë?—ºfÇúêÍ“Rúk¿^9ñµÎM¡ý¤Ìòâ;W˸CÓÚ#XÅ-øIÔ§+Vî ‚a=Šl†^Áš0“âˆ3ÄÖ?^RCN ½½žm%zZa™–þhú±t`d|I¦#¦ çM‡’˜D ñÜÌ*BÄ•…?ãpˆEŠOt—–NYû?&Dl?5Ž¤u7«¹úúð &ªr5V¹ßaÆù÷šàfM,.îùZýˆ,,*¼#ïLeã 4"N~”¢Æì£yºïØ«WŠvÌÐb@¹xoœlâ¢äfj—ei–Ÿ¼¶ç¾”½©~Ò£ªÄá]Uf›Rõ!r¢@«îxLiuÛà lÍoxÔÿ·¢úÝ­4¥»½ü•# î¶ÔÖtòJF„;+Ê,µ5À[å$ÿ«Lø¬oZHˆyN NÞÞÂm¦¼qâ‰_6­ò¼U= +dß,ã \$k÷p BÃæ>x=ü +JÇÂÁ–ê9]“¬&BŽþŒDËTú—̨Šñ˜ñmêO× +÷Ãp#;Š7‹$z7Öã6PümWøVR)ò:O5.#1|ûÃ7l–.?>®kVƒ0bãÖÁ¾}ödH(î%œ%rO›$íÚ1¢¶€êä'¦²¡ò⺋lºîtTs:Fï0šåáê*::Q°þ `Èi—Ž¸p~1̘ž-Vµ/¹Oo+R˜¼3ðlFL/ˆ=Ï_Oæ‹Š*Õ'Ö°­.1ïqXW]¦t62ÉL;¹&W¥›#Þ°ž»BG^ÞØ\_tAÒ±¸[¿v.Úâõ-’×¢Û—‹%o‰ƒÅ>œOœ¢[ ‘×8šç8^ø‹è %Š#x³Z Ü‘T|Æ"}Ããô o.sÀ!Áze2ysä3YkÜÏ*FÁ’@Of¿a-ɦ¾"É–A.ë!‡ð”ÅŸ¶›+"¥•$¬Îúq‰yUëë†&÷í8PC6„˜Ð£SÓPb%›”b€m~tεK¶°héäc•OÚ_›x¨¼¼¤9õ¸ðvdu©³”è°Ú[Ôr³T†6{²¯¹´¡MÃ}2VóåHË!sõUšmY—¾ÿÔÛ~kéÌÖ1Då2#ÆEVÒž¸°¿du´ÀN8l‹l!ZaÁ2Y™û—ôn+ÌçÝf ‘ÍZó÷´þN!#]ŸfZX=$ À°Fáz«¶ùm¦†=–ˆ©n"ö$u †¦…Ê:Åô6ûê©âÁ*M¼«¿Ž@lŽ gvMlïçì}¿³ÏSjWÌÓÛy¨Í'´”ëÆf²V º²V«¸LϪˆ-jfÓ£t`Œ–± Cm®ï}çÿ* ~Á°(ÞaÖ+ ?^Ãh 1B´”(…±ð \Iß›7ò±#?-ÖƘ¬±*Ü¥í{*¾d_ÈAõŠÕÆoŠð6»&/‘"¬²™êû*¦l›³eË/Eàñìè@g¦f(s¦´ˆÂ°*º“xÏg‡À”Õj–æWU½[`ïNN‰ˆ+c%Ãè)vrÖÿ\¤]Š€g­°ðöOQÀH[ˆ¶oMÇà+eT^:Èìžë¡×ªf‘%W´ÏòœŠ«©„ÚI:Q÷«š ºîÿ©IÊsºÚT›Ì €ˆÇ×€³Jœ,QNÚWºÔÞÌþho¨ÂðêÑð¦-B^z¨–a©‡E5ç˜Qê]šL£!c£)ÿ² ¸Àv‹Þ¢þºØ]ë\—×*Þý„öü´Žpd ? <2=5þÓØÄFò‚{•Öõ†hù=E`¦c•œ¶—hú°FËž”3+ùËôP´N½Ê›ë¨K-óG“20¾å'Bž~_}Á³*„"ß<öíŠ=gµ4-ädaìv&…=Wëd;i›ÊvB¸X}œC +ÑÀg,ÎóLÈÿxŸoóÙŸûD5 1ͦÉø®äv“âÿfÎô;F´®Ítƒnü˜>ž†Ê£j˜Lü¯Ì¯×åêµJ\J½îʽÁ¸ ©] E†w áœ;r[ROÓ¡éºüâ@F ÐBx×µÞ€ùQ³G©ý;Žè©÷Œ~˸†_Uhc¬Yú“ÂÃBgÂƵ¡5ÁŒù„ÊŽ³¶û3‡ÏbÓ‹âkëm+ÜŠúÆf¿2Zõª_ "!¤NGpE‹ƒ›"ZËfÀG-±?{F@À,ZÚÍÅA™´ÛHÕJ•µå3ýDŒ Ÿ‚ËCÙX¾-hc’¬Å®-Nk¡´¦$,Sq+yãŸ@ïîÞûƒì›:9i_Ã(?3&àK¤egô‘¿ÝÉ[C`$+ KÔœnÜÅEÞEŠàmä³ù¯G€¼ÀC/\“&puÎOñÄ}¦¯NeµKß©é%u!s?71Ô>¾ºnø+6TÈéLv¼Hð…=qö%ƒÞŒèb‰´ ¿?m§ÛÉžâ§&¸°ÿ1bsÅkØ÷x>jt †1M‚iØrÝdÂ1çãTŠéÕbX‹ƒt|Þ,Gº/â¯ÞgSF3A_&e(«ýÜ*fÖb=bD{(YëÝk+«’Gñ?=›1Ma53òò|™ +endstream endobj 694 0 obj<> endobj 695 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 696 0 obj<>stream +Ë5àÁ\·a£Òù‚ÌX¹Às|™±ÎÜ\r M—GËaç°ý9é<ÉV⦻ ×òX–üqÆúE˜ÒL¶Û–뙊ù8å†AˉkÀÝk§}Îå;í5]xˆ÷@6ø Ú©n÷ñÆ4"-Ö¤|ͼ!ÓW»ÔFì_K¤sÊÝ Á¤ËŠõDŠ/Àu•ã'…P¯¤ipäŠgî©<:;¾G÷unð/lÚ‚¶ÇÕ±…§jôUuÕ^í·Áúá„Ü¡)C¼>½Ù ókÁßnnDf_çSfèAŒ½~ŠŒ¯Â°×Êí_+ ÆéñúSs¥ß(ÁŒÝ½J¶5,Ù]dÊvQ\êYpÈrÊLÇZ–b{Ó´Þ$ÜÂÀh¾Ûº›6Ú¾¿Æ¡Ý =ƒgzËdkÛØ?½ò§AîÆŒ¶IÒÄ|é`k §Ý˜ë¶iŠ|a®&¢5–´Ê@JÞ]™IÆ ¤ Pòìà íßtÃVØ)ÅpØ §T¡×¬]Gƒè‡Û†ªõfNoÑPúêþ Ìõ/ÆQ/· Œy‡Sƒ2dfï‰ý­‘­/¥·ÈÜK·:¸ÐY& âÌ_錄ànÊÕÏ‘v Ìœ ’(Q0ËyUØ…—,*¸h‘³õ†€nOvµó¨e†AÉâL;ƒïý²ƒÞ0!ÿ¶Õ²•']ØWòq›´ ë–…pn÷¡=Eóí%J øý\陨óXØ›²D´ýò@S6b5“‡þ(·ù«CÄAè;hfÛÏ©º¦ˆ–¤ïˆ—çèn—½h©ÓªJ9;yøÀ‘$™çNÅÞpó+ ·£?’PõÜêúº,Åjž‰l§#Œ'­›¢^ߣÂB¡¥!ÂîÝsÆ8†4©V¹ mÛ5§ÓæE°GÄÖòRß”Å90Áxç¯îªŸ‘–K¾£T«:hÿÒþž*>V_>˜ ˆMO„ v±Þ€C€ƒ8yyÔr„AO2* ÁGÒ|Gã°G)ôó"›’;%M'ý°Mù›¶hB]q§êÑ}&‘wøB nmáþ¶C€eëªMè„|oþáGÊác¬NHH}çL¢ªþ RÓpäïâ«tÊ9å2D9îpR²ˆÎÍ à^¡&棵·g¤ój'ÞšSÊGŒ&ÇZ! âu lLøo~ª¼»g‹Š/éQ›}3‘ÜBZ‰ÉÎÚ°7YL‰x ¢ÿNŸ›ò|M$?Jg²Þp¢hÇ3÷_^‰†1w·õÉ?ZÈH«ÖvÊOäk´?¢‡à™¡4ƒk*˜ç&_¥Î1ªz‚þ%†Áá|”ë{ê3^yJX»Ë&ô_ @ß•>­àBýtÔ «KUñs‡…Må,Ì‹4v·=Q5ëyÃ!°7Äš4_l°|òùÂæY»k  h®Ùé¼SêZüܾ|ox…¦X g2¸­Ú¢ò…ÄHˆ÷bØ)X4=*ßgÞ GÞ›(úQø®Ç­Ó)ÉôƒSŸpñM"Í #de˜˜ÑÃ@Kã±G_@¨òNàŽHƒZ2˜/ Û0Étþ³œ4UçX~G³–¯zð!û†‹"RnÝQd!ôü?>広_erMÄŽ¦TŠ±®Ûߎa‡®q˜fêÄ:C£? åšÂjå,Âþ²Ç‹@±|Evc4iTÙÁòáÒ hïȲ³U•€(M–„0Dz±¹X¼bC9 ìªó8Ìé²dxää@|Ê"j‚p-0.B.ø7F¦pÏ +WmüLÖR×iÕ`÷çlÓÏS1dª‰ø«éTëà ŸVƒ[}Õø{ÇûGüä +GZÛ€cN˜ÄRó¤àÎ «&0ÂœI‚ ¢UÛǹüš7xÖÚ0u±¸Ú3­PgÝ}!BZCßðØ+w¡£-SH›© ïvy+h˜ :ô¶-½< +0È|K€Ï_…ßšè÷)‰èæ/D·üwo:Ók½îÓT!ž¿ˆLïš^ýÝ Sìã+ y±ÕNú>ØJ„?~;¹.-½Î*‘^•àaGjcfñóø ‡Ó-—aËLù,8ÿþ¯¸½ŽaP@ê•Úbæ(8Ë +í pp üñ‰ƒ šåpêLaê’´|ÅXâäæqi@&/ÙBÑb†ýD²Óµ°V86ÔKÎ.±ÀÚÄâˆ> ÎÜ þ~OR–Ùñå7\ƒ §>ž•šöiEÞ@^Ã,ÿ„Úßc“Bp+±)vÏîÍîéž[`Î^ëägM8ˆLüB¹Ó'{<— Óƒ‰ì1¸L'ûR{^Mb!Ó­ô‘p°\±dÂ…Ù™?þ†„¢D\Moe u•/„l CïÄáÊ_Ï þ3¬5ÜÚ)w_,½ö©» ”ü¡99ÓæGµÚ›‚IdíäVüu¸ ˆ<§µî<™â0*ç°¾›Wö¿{íqž²òë%n»CÝègõØÅN=aN¼vn1,׈tpŽÒ@É|ˆ­ßË,ùˆ“È–HAÿWÚýoF9 “²ÿj^TKà½ã‰µÁ¿úðù*˯9<_8Æ–à2—+¿§»û B»tŒíC󌭡I‘ÏàZ †»òϾïm:1q¸1± c¾ÿ¹«JzƒD)ùÕÉ»‘=¦×G0eIG,w|¢oÔ’xg>l“£žYûþÒòšú‡lDz|ò ª)嘷é!´l¸Ð8³Þ‚É÷¼†Ü±ÿCÒU úG˜A"ç¯ÀïÏÏÇÚ*ÀK\ Ø…2ѪBÚu{Û†]Xö™I¶z`¤€.¥Àt2%[–FD‡°cñu–"o¢"6pou¹'’÷½†Užô˜i5+4<~èOYnòÚ8u¦ +•ðj=4ù÷@«.øžóc +ÉàÛî’0'þ;Æœ½yœÓ[ABó-¯pMË*I mrýá¾Sö¯­õ†& ;¿² +{=}n)Øο£œ¬‹è7lžh&»õ Jzá7ODµžWéîX +ŒŽ´¿K^› +fqaª ¯iúLè•«œ¸ÝÞMyôp†Ì Ì^NIxôH”ó8°YÄw]$†¹Ä¥l°C]ú¨àÕÅUNšâ,!·‡¢{W‰§‚sÚ%Æu¹w^(rd9]åù“ÿXÕþ¿QLJŒÞû(ªüe`¨}¡CópœA‡æ<H\S¹€½d[!Ùtþ•jy艳ø>î+¾‚^H¹-dt‹,ªæš¡ùL…fê%[Cèæ;~pü·—z®á) 4D=(üØw©†ËÜ-%BLâK‰4ÊWez¼æYIêIi¸Õ°ã±2˹ñ.C˜ì­Ær¨É¹¸7Âiøgዬ=:‹HÇ_ïOõß¾’–?À߆æµ—fÐ]c4óJK¸]c¥Hoƒ¯#ŸãlS\è¹3n‰ÚS彋-p­’obÁ‘‹œn`R;¯™¹º.c•;4†!ïè¯ÌØAÞ³Æφ&WÀ00©þÎJ ‰ÁÕtþŠ°“÷¸ÙwkZZ[Œ)¦eÞß@},Ze*.‡žz~ÊRpÅ•Ù!¿g³ÄžhWn!qB”d`±Œk ]RÛÎ{ÐBž@(û‹W9¯Y¡ˆqø#ÖfW?Ü´ÅöÅßÅQwøf[¨TÒd7Ÿ¯÷Ì?Ó±‘./²by F‘>%9r@üû„YÓšb›É¢Å(e#¸0ßþ94"\íZä`…s4zŒª÷UW!]>-˜½!öZ lLãFìÇ£iÍÀôÞÕ'ðG‘Á 4B†ôy”~YY¾SPý’èÊŠOOÍZYpíò²-vð³ÃÝQhMRë¶çC-Ù$T\q:±ªæ.õ µ§/ +o€GÒ¡iÿ„±µçòkLýù50%Ã̶ÝaJð5ц,Ó¹‘Ó)å ¥ùî‰7YîeiÏLw፧`Ri„Oã|¿'’»£8ì$Ž:S2+I½¾³•4Òf‰Š›¦€ð©éw)ê^ƒ¢aÀ÷$1åSÉØÏ¿¼Å*g½æ{̘ڀSˆ¤dÔÝ]Aܧã\õ7\׈õ9í+Ï‹ûoK×2~Yþƒu6®ŸË6;­RÅÙ—à†AV˜áV픺|™ñréÎz ,ù¦´ÈKcö¶V`®ˆ€áâ0:9#̓a³¨¾$ÿ¼•´i¾Æ¡W¬­{…!¼ø6Ôo-Ú-¹øÃ7 ü50‡Wsø„®^û H}Ì ™…©·é+îïÜ~p…òVkTL­Iͭϵ¥=ºÿᛓuôÞ»„¶„÷¹„~ß &ìl9$ˆûiƒÈ›cV$ãxšZø÷¡N„‘$½—©fwåˆÐ㽟Ɉ;u&T&Å»ö–”Å:Ó' Ò¾” Øq•œ¡øI4aSæƒDäl gVâñmn.3^ö#^·ÁA¨—¸qèÒÞ¦2¹™Ì/ž`ú#Äw‰JÓ¡ólŽíºüÅÝؼºÙfÀs¤¥m°éJ@u<Á3ä™0·U–+.Âæ\c–wÕú +}ægÇpgI¨f1“`¢©ÓÉêÐiþ°1d5eqãº5NrÉcÔX0cEöâHˆFùï(œ3Õž(6rÉsjRDÕ¦.âHÿ'€ž§Ö‰k¤0Ø¿(‰tTv}Û)~Ý :Ñ*1OžäÙ¹wøÞÊ1]¾`–»<2û;¦d‘+Åÿ2n€BNf…åô ®Ì¶×m‹þ*LÃî ¹×è¡Äˆ@vb]µwG؈-‡÷;Q R?<ãóV2éÃvv.,ĆZ¯·#7å¢ +endstream endobj 697 0 obj<> endobj 698 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 699 0 obj<>stream +㔣W]j¥ô庨¢%ºÛ–X‡+¼k×ëDý7¼ãñ~H ÜîÒ^rew9žl. +¶„Ñßèmƈf”yJh¼Ò•b›5ÅnEó‡ Q¢5ûöËkmºï:tëù°²¶`úêùŠA5Å;ó„ +¹§î M”ÿ±ä¹ÑµK–z¹pŽï‡Q/EÛ°Ø<.ÿ·Öf:Š®;Å?Ê hàž±ªáŒTtåûÀ?æâ™^ͧâ¡”x‘lÛ,>,ñ…aáâr“™SnlÖø1…$\ke¶Ý«ÔBÈ¢ÓK OÑÈPjµQIÜ…³àO™ +x‰ŽG $ÓÉ+‘N˜×‚ÌíM»Ê1aÁ±u Û‘êzbäýÊ‘Ÿ&Ì…3Eª­"SZþÛ/Ú… Î!ûŵqü ”ÝÀŒC¥â¦Sw¬m~+æ\`]W·D3¾G½55C{Áý’/ð,õ!¾Ø^ë¾ËF»Ë«.âÁoÂÆk¤ © ¹Ã#,êÞ%é­^µEµîmˆ•taî ¡I¦p¢ðX]Žöt/']qDc´I*­-ã8•^ê+áðçp¡J:ÍõSG­M¸3šoM Yò¥uˆub.ñ*5b¿U‘P)â³Yª,ßônYâVT€­¥¡Õ‡þùð…šÆœ5,X+dÉ¡ÝÒ±šN¹õPª†9¤Z“;ùK¡)Œìq+ÙZŽTiþÛpdJÄkºOÊç€HõØgdE$ƒÄêÅŸ]¢~?kV\È 8y OþJV¾;ÖÞfi“«zCl9qé*¦Á6œå•“D4âRŽoCèðJJåÄleyÎéazšZ)kG«å3u![å غfa&:„?ÇyéWÜý8¸>—ôØàEµ +ÔÁJ~ÓØ  ¨{Ü‚m±Î¤ÚA8nf²Æwû µ0`¿"lG¨+0ˆQYŒO›žG·‰p9uj?˜ð9 B)•|n¾•èü+…þ¼ ¢öá3Íž•O+—!¥C/õti×íáh^-˜€ýUèÃõh;1¥*“²CfÂ1|á;X5½èÞU¿2r¬L® ±›4$¿R}†hs–z7„9½Û‹*6л= šfJ‰¯É@˜Ñü¢¦ê] ‰…UÉ]̳ ÌÜs0èLÛC¾¢LzüfLï"ÛdG’þPªÅÙ0ÎÒ¼7¹~gìsî#¯>ºM¦“óf2‡7p„æÝcQûǑ#¯‰f¶ú½;+Tñ9šÈá{o\Ï$×P-;sRDNÊÿXx/ƒD˜$}"âWt•SõŒÂ“¹ˆú ‡«Þw©Ô …Çkí¥ï k?I³@&%8^D(g/»cýœ%à-zÝëìãÄçòЀ süÀIÉ¢)ü‚¢|n1,âÂÇô5ÜÄZ]Îö5–CCBHèV%‹¸g2D€Cˆ)lù¹GR ]D4«N#kù1ìH;ÉÈXßîý÷žªu™çsa»¥=¿ö´à»b ÆwH(<Ïy… +‹ÚÇßhSɉì¦ò .©æ’8ÍN@«oLn ü•kÝ)ä=Â*ÜõÌÔ¼Iìh mγ‡áAìPNœNh/xzÌótâ§JK46@í üö_LX%ÇüYcImÂ/„o‘@ ˜+K³"uJÚ¤$ ˆ‹Ÿ¤I92}¾ãÐ +¢¤ãÀT$Œµð4Á×.úö&# ÖJ§ %€>!¬FvWýÀü§´?ã];tïú²ìh²½b"Þ”Î[¼æ3œ×&I±·‰]õ‰Ô~*ŸþLR°ûv?å*Îú¤²Ò‘q¬¾Ò8¼©7HÁÌZµ°0—@•s#uÅÀ™·CÒ(¶˜&"0ÛÃy +“î¾)MŸš0ñžn·urÞˆÿRŒHÙUV o/­Wn ‘Y fHÔÂþ|ßšZZy‘ úæyí¤ ågÜË{¡Pû¤6Åœ‹ëÑì,Þm¦w]Û•˜¤³"Á¥ßË“S9Ù°ã螟\ûWÁ"OžCX›Ñשá8wyAp°nt|6¶¶83¸êͪâþ—#©Íœ@ËÅPá]«³±ãvYŠ³Y¡ørNá~Ù—ŽWðb^‰Ï][Àv"r§¸¡®s¯°Z…E%ØŒéÏÏûõ,¤K=Æ(pT»ô4yíKióÛ…ü@‡«Uþô&QzqXŒSY¦Œï5 ]¢Š›|s\öØGÕxÐ;¹š4¢’O¦bñ ìM¸k9¶BÍ4 ;G ì¼>Iƒ$¿ÜÇgÞß[X#ð~¥;Ó؉¼§ØbûŠ[ÂdæQ?ž$D>ÖÒOJqÃ3_D¡ãz]={β¡MV<òi¬Çº§¹Äù +ÄÞ'»9wºëÌ›16Q¿»'°á¹P|îæ<™C †ö},3= aƒSWXáê»ÝqëF¦Dy«EË°AHwvJ!>´:"­åYAÓ¸ M[î¶Â:5"È“NÕë ¾µýàÞ€êºÖÕQ¢Bú½@¾8sÑÄÑŸKò ¡EH¾’äGØ_¸Õ²í°‘Š€Í-èziMILO³ê¡|{Ä2F²:E‡×/ë'–‰Ñ“ûš£Ù‰M –•me ¤[D/Ç'—–ºú«FüxG c8ï!Ò€WÝî£Yv,±GÍØ;Ž ½ +ÃN®°MH ÅSåûàhÁG=ç·õŒ—ÉfÊúWƒÆ§L¹Tf™#XG/½zj°­ìEÇ%-¢*¶?Þo¬ù`×ìàhj£iŸ”^ðy21—‘þv}‰íodeUcYr`rB¸ !Twwpk,sP%Ÿ‹œåÛþª¬ëQ†ïäó´¶K×2‘öSÒÐã,’(mNÒ¯3t< ã!±e9nL¤ É*zSwA¥¯CÒ¬)äm*ïnr¡Îø²¶v‡À›‚ Bw Õh³•"î)Z}õy!¾ +«É‘‘¿jè_;h9±ãÑç&¤®@~È«1ŸÊ_T,f͈êäÖýÙÚœ÷÷[ì¡<ýÍi2j§]wC?ú\ tö(²-Ëšø»-ü‘ÄÈ1Ç»Œ=ÁÎ]±WÞ†câ3ô£s”×ÓRÀ+…øi¥ô¼yžš4šÂ74·…ßÈúí"._Bêð/ù¥¸õ¶á£¥êtýu€GÑëbÂ%{Ù1m‡ˆo×e~XÜ)Å+Ó,lng4¤ž!+ Üe Éxga©À'žªØtís>È*x×¥%4O{Ž3ˆÃ_Ë`þ'¿ÕPœô³êçÏ5äLÛß ¬rKÚEœ˜Ó6!Xš¿Ÿ0†Ð¹}ŸÍç!jùçËhÁ£!ÞÛÎQsæÕ¢Í Gòg÷V‹†MÈÎï×ýzØeÓ‰fpµ`4u,î’Q>ºÐå3:)fni4ÔQMqä­.âj†P4cñArlù4ê‰%F’<|ÝsòY!xŸRTê‡|«šn|*pao?èRüà.f©Qÿ—^CÜpܺsŽê€fN« Ñø¼|K\$ ìÆ1kGøu%¦ñTG§ß¥An9DDc—Ä–úªàBÚV@œJA¢3sƒ&6yÙß0Ï£° ¥¬â‹Å*òº€~–íµ¶p?›þ÷Ï„W}6n : +1Böv±ò’­kU¶\.ZºÌÆ´6ÈôDµˆÙBHT1/`ß¼˜Ïa)Yu÷(Þ›DwÆáxCï d?T g†aùv_Ìn¡Ù]üÌÕ¾¡ù¯8*£)Ú›¶¼|Ñ/Y;nŸ\”©Üƒ¸KçÕÇí,ñ}†ö®ö¸Õ­¹Ð]uýñŽËu"Ü)Œñ9=ÀÊA_†^]¸v1ö³­C©À' y£u‰ójËÊiL«_ªg+ùÛ™2€"ªˆÉ°Lï •6Þ™Ñrø ªá +ÿˆ7Ù zJ¿2Ö,°Æêb0 ‡æò©x£cŸŸÌ«“Þ(ËpýúÏ÷ñª<®Ã “ÔÞÆ[¹qan/€À¡}’ŠÎqž£=ñÿI…lÇR°i£Êüè)ó8C18 ­¥ž}#XiÈv±ÑµÙU«–þ9׫e\nƒÔ•Ew¼PWù, +endstream endobj 700 0 obj<> endobj 701 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 702 0 obj<>stream +*½¼ fôÖ‘ëdyÅ„jÝ àGè‡çÿùKr¡‹ˆì·:¶^3•kmc=òɘS\É*ÞeUuL9ôŽÞ…ˆ¯]že!Èx…lÖž×òäþ7‰ŸÚóYË}’CoMn„Ó׈öJæ¿,EipzêñÕ…^hûÆÕ(;J0¹-3×ä>9|ÐÀ=リ>ZŒ½œÖ¥uº!OzwÐ+££"c°©fÎy³9ÁÉü½xë´–n‰' ´Œ|£}—Ao³÷8NC·Mfg²±Ø\& q¿éy¯Ø4¹ÅéêQ|Ž©£.ÄsYŽ~=6}ç¢ :„U â!KÔ›-º§R«8Ðï#èÂ͵ÕYŒ—»‡F0gxÿ“LÚ'¡í¶hxX&,‡À]hÏŽ®Û*9?Ûú]$ØM±Û¬jð]‘@üÏQèÃÿkR¦°®ÃvF²»•ãZùþ U£°úäú„BKÕÎt⪉޵©˜Dˆ_?(„Æ&9‡ßp‰:ü¦žÙ Ý‹â@³»;T#úrúdâw#èç6ôØÍö-' !…l° +Ç5]ƶèHßi2G¯uY«^F”z÷sž(à 3ƒ_H&Ø›³è~™Ž$®WÂá™ »wìõIUºck†gr,h¦“@vÞ‘–=Løµ¦Ý×> *!QïOÞNEÒ¼=;uù•Þ*‰?Ã’'DŠ‘ u]¦ÈtÛ­ólêy|Tkšsn|eÙ9€f*Ź¿3„´t€,¨p|ÿNTL„Þü ½+ Pã:c'`3™y—÷#¯ûÜ(?i µSL8Ýwœ$ضáªÜ½è¸79Î…•e²PýéOô˜Xn±z›ÁÇ«É€$!ß©òo%´)òÌý‚çÁÝ@V!™Iªó’Eañ•Õº¸_Bšžh±~„ê•ÒfJŒêRIÙ·çÄôºúÌí+òÕ±¯O>kº ²Â§¬“jTG7êèÙê„°á󎾰¬lùxäþž¢B øýìx^×Ïo·Sû®ÛKÈ'wµ´Û‹Sõç2 sUCÌF [€ä{-:‰8k¬[LÃUÇï'½œzuÓ$£¹ÐQÔ…Ê?™’c­Ž£ û1Ín‚pŒ÷(S²…#¦ßÔ±’B:ì¼c¡2¢VˆûAôŸ …pÇD@¹™ÖE_"ãÕùbÁ]¢r^wh¹2@áÓâ°\Ž&üâ&]¤–RU2¤çC#@æü• Ç"[?óàeÐÛÎíxéœ SfiƒèÈC‹ ‚dÔO É ø”9á«Ž€ó4]šfôDÇ ÆÓ"ÌýäDzý9ÞŸ°dûÿu.GW\‘6Þê)ÒÇÛ×æ„ùT„¿±nÐböܘ_Ó/$Ž"þÅT6ú¾\Esˆ˜^6ÅêØ­}oŠ֮DZš|m©À> J•S“Nä Þû›³÷ßH*#wˆŽW¸óèn°ëœîÂ¥‹Î^MðÔ°Œ‚ðZå¹jõ=\~'Òˆà‡T? L¿ëÎakkÔÃÑõk&V zÔb¤JÈÑ;VãÔ”S‘•ðÃkë÷z¼Ù(Sƒ–~Ÿºåààmÿ‹VÂ²Ï +šL”- 5h2]CÙ“ñÀcÖ§·Þ\Défù£KÒ2âä8£º57æFY¹šýµ5 ÷r>í-–m›œVTåð*Úz“Š”–-µ„1xû豌!±Ôpz +ÉÛ"„xŒ|ÎŽi1Z +¹Æ½4ÓZQ‚zc2îG×`'‡èÌ('¦¸W•båõ»ô–©ôLI‚ÉÉdþs­È21ÿ4lν$/UÎwÇl=ŸP‘C~οX³¦7ЛۊñmfM ™ôåÄïWs?ìRô¦`Ágê¥p=²âÙ1ˆW+9¦¤¤Ó!ƈp°ót¡¿r/ïuqdF!õ»·¦ü Aúÿ‡ABíÂ=8hTEZ/Çq=Q#üX$X`õ¿“;…‚ÃÎEã8FådþIóÙÒüQSëá3/Ô¯Ð É ¹‘òuJÔª¬’\»Íÿú5‡ ’'î‡ésÃc“·±œ5ô·òÈ»'il'Û6aĹ1wzór_zÉ9ý¤|wÄm«é¸–ÿºFš›>sù.Ìuˆ¸øZXKÉAà_0•¡ˆi£wHÿ ž#®Ÿé-©Ø 5¹¾A4!9‚›m §Y¤é¦udÑM´YZµ©ZÍ ²v—z=7Ùq<šÎÛïŸ2Ud7«MÁßDOô%¤ÉRØï*Ì„Ñ´¡ñ»µàNtOêÍo÷P; +Þ®@ää ÆÆlƒ>£²³¶ø,ÖϘ¡ ñs©õúôhèòS›Ñ«þ4e@UÐf‹›a¿µbf»ïa&Ofo’U +åNÇ¥Òëç{®›Ðé) ‹}‰­Kar®5„ ·Tð÷H–l§Î"×þÒÜ#ad´E²¤Ñ=ðÚ9Ê ‰M;eQ#·ƒPÒ’K˜é™S³8órxsŸ:ˆ=VbÛûW;ó0žaвB—¾$' ¨¸l—ŽqS Ø"–gš ºýŠÅêm{~òÒËy;Jµ†³Å§–¶æØÂŒ¡ŠqæÑèY_ peÛqúRAÉÝì·ié&†+Kw@[ô ++Î7rßÈ¿¼ès~ñAÝ4t{)fª·QF_ëà¬j•™ÞªÁ;æ#äJ"«o#ÊOç“o¢Þ´€¥ëõM<Yðg¤üú¾¸É—>+a×J±u´gÁîéˆ|Žã†,@ðøcåCé1ÖÄ$EgJwÎO7LÀ¤Ñ>vˆ›ârΧY·*â(žy¨ø` ; Ê5¶Yå¨=›h÷àªlò¿Ú8»þ™ÙÕ¬þ;÷õi­dsúìãu“³v”îUá¹VY?u->zþ'WÅC:3êÐŒ`»7ÕêY¨ˆÈ§Î¡¥Èh,ÙgûFZ1@ü\Ò¬¾J¯èÿþ±É4ôh~ÑêÃbn*ÇpR¦<7Sêk®ÈzþñÒ¼þê¹”°ƒ.ŽjaïÞý·ãV½n»Ö˜rå ¬®„Í•À?È­ +s*‡RYÚÌ`dähÚõë§B‚*?.„ú·‡6ãeMÞn Uи–¼o8#`äÛ.Äl*ÉGK\xYH)B¦‰“H’qþ€ï¦Í¨rµû£(‰^aÿ¹Ïÿ‹´:ˆð:C$­>…qYœG@%0F±JžÂ×05²ç9D~&­¢e£^bŽp4xö¬pj!çP”¦¢±†À"Ee€‰çEÐÐÛ×ö8Ñ!òÈ$ÝÈ­áSe°M4ÉÊ;f_n)™Ò;u)„*CïO™ÊËÛ”Se뤀tÇHµÙõ¬¶/ßîâIMˆ’¬iz}r³gXM€°&Ì£Ôs­cÁ} +¬,Ǫ/‚ Á¿9}H](š=¸3©ù>À‘ñßæLßæ÷z:I¡<…ô[}eþ$õ7cêPÀ}¾¤NÕ6ˆUpB-C”Æá}Ú³PNI5ö?xFῸ®N]úrNý- ÏBTÿgbÛø&%Wol6”DY|ŒuU‡ˆÓ:ï?¾¸3i+Ñiá´–»×iúòjx•‡#•òËÙª}Ù'üõ*C'«Â‰ØD|Ý@†ú¶én#gL—ã-Ò¢§)J攆Ë^Õ‰üË'/êBl¬üÀߦ !Ñ.2ÐÓeª†ÿ~Pì+oÞ.ýd±ƒ6ʤ<&|‡§¨ã@V +endstream endobj 703 0 obj<> endobj 704 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 705 0 obj<>stream +*@õ€Â‹ˆÔI/’ãUûíG»/Ûý|îÉ·u†acüœTdüÆK:ý¨Â¡òÍhÈ…³ âÃÅN3R9 WNƒ°m’8—辜°á™TnùžN¤stõV©Ér(ÖEÞyNBÚóѱç¢JZ3 º½øLòr˜S¦°ˆ¢xBjx!L¢§™Z0ÔÅÞð(S7'r_]ÂyÂ#Éñ0ÑÃɥ꿋Q7P;ŒC“P¹¹„õ&çŽcÛ㧙‚ZtŒÇw~Ît@Ì+¯Üåõ›)Ù»9œnbFŽ•l ï$\³Ó⌻)Yüê¯)Kiç°Ñ S¶‘á×àætn^€¤%ƒÕ.<üTw“{‡¹•óF‹Œ³A¶BétA6뉜[û߸–ǬMÂRàŽZøMLô»ŸÿÓálZí€x XùÛ±¦ØyFürNµyªg1¨Zn½¨Ü®Âï$‘‚Œoô¾WF•d€—aŒNÑi6žôô/¤[ø«2-}õ£J„Û°¬ïù!l°:g>ö÷ã:´È¾èal·ÑòçàJª’TD³ùY‚ÒÈÝTg,˜,0Oe-°ÏºeBŒårÍyŽQ­½á–ÖÔ‘,1y8±·vɳ ÿy€ãÒ®a釉——›c‰€§}Šþƒ<Š¥vàñå<µmœ¡ +8Y$‡Ñ’«‹Ån°Î*ºåÅ@UC +Ø9,žœú}¹R‘¡S6½æÆþFª¦Û-6׃D‹Ðý¿%©öÒ–=¨Õ„VàT# /™âûéÏZ^?}>³TL¢ŸFžÍ:µÿ{Ô÷7^ú¬ʽ?Y)¶ÎÙÂÝ,,Ùߎ»R.øœ‘k^€ _V^¤ ÊÁeø²EJø)\4zˆ<˜Aè Õˆ%ìàîÞh¶|<$ò ¡q÷îv2ß(ûפì]²,xÆ° 굑ÉH:C|‹ý>ä€ì5†²Eçð‘É&}üO/õwœìÍ#†Ixi¸NÜ¥Ú4àÆnDÁòʺû¿LOÈÚÃ1aDž¾Àr,œ +%¤ptî{»´Hæòb…øb±Ð”‹3»1*¡dR†üîóW‰°(‰”|šZÑë?“±˜#´±ÎïÖ†§ht[ì÷Ö{07oÚZÇ^|†…•;¶©à5[¼0(£ÿÜبŠÌ“ÍTþ¼øäf65ˆ£ÚŽðÿ™6èÒc–_88…ñêçiÁ4²}O^¨\m2²æàÉ ò_ô7?,´L-‰l"ø󮜆2ÓGß~K"’»Œž`S˜ršŽ¿õÝdÞ­0ÛÜ&hÇÚ3?€ÈöM&ÈÙËŒ²à®rœ„=zM¸Ë/rQQl1àÓTjvHU䀘3înd3ðw“©L$2õ°*7Ée£&?¯”ö>í¤\~m¯o¡½2馓Ñʦt»JŽ²±Æ]›sX^ +Þ¦üd!ˆIM|›qÅz¨?„ +Ó³çŽTÔµøl>Å|6Íš‰ƒeÆ[*‰±E Z›#Ô1JÚø‚3ZCf‘$•*ØíqlKÅý¨ƒcƆü–|åÚæbXrŒ› Ü1U‰ž÷}S8’[p’*~›.Ìйª'æ–Éš%{÷y6Ûå-ëŸQºq;Ó5Vðùn)F»äBNRòê°/Hk>ƒðúVpwÜ€‹&¥@*܉4­„îÍI¸þŠWÿ÷WÓWäKˆÇGþ¥?ŒQ~‚‡‰aåš}¿¾×É âbóÁKy5~(Lbm.b„^6ê¶+­D ¶÷Âfühc‘9fgC‘¥1Jw½˜ƒq?§aºô.¨èá=ò½Öa_qp¹( +ÛBUNYýÌÒ¸C-0v¯¨eo‰pÞ…y/Eð)žñŒ¡‡±¶+ôNÎInÒyŠñ#éÑÀÌCÒ?ÏäMD‰T ²PÔ#2Ð1Ÿp¥ófä%£Ò‘”Ñx"|¬kW;¾nåW2‡þwDq_ˆtW¿ -OüÀ÷®0/Kòr."‘qˆu ¡¿¥‰v—ö‹x¢%’zË…~ñ”²[#6~­—ͼïÔƒàÆü­9’ú û²ã%`»ÀÞÖ ]¼>U°-©ºAºOE=ÈÎ7ÿ}þÒZ¨Hï Íÿ +pD½­yÍš‡liã¾€Z?Ì”Ê} Ä»`û‘Cñýˆtøn±'dœ=å&É~Óšv”²¨ý0ë³!é­¶÷˜³áky¤«0Ó$Øþ]Éü3.›ñ: ÷p¿¶!/…J€Ž¿rª¥¶‘œ~1üâ*ÍÞÚ’à3%Þ –ÁL8Méôõ[ßÉÚΩÕÔ¸€/Á¤xÇ篦jy'R‘®ò²gåå´4ÕTfÑïÓªRÙi‹§‡ùp£D¯ Höæ\ÿ%ô¸©Šu`¦ÙÈ*6ŽVõT ÒyPÞ”™&’DNO¬²»!@È’r@€‰ªµ †È0+–Cb|aOr¥µÄoÚI˜ƒƒÖu;rùEá?uM¤Á¡0òYñIL¨½½?oŽ¦AT+¦[)GÜ(—çÊ5S¨° ™½±R«¯e{Ký˜q7*ê4Ît€ÁÊÔhÞé%òí›rB¥¤ª®ÚÀ4 ±$µOk¬æ©˜/íh€b’9¯¸ÝÁ4us):4,ù +€ãþ¶KŒ=¨k Q.ïT Lµ¬‚ú(ˆÈ5Äq#™¤×Ê^ëùwU$qÿœ¨ E#=Û„Õ>Ñâ‡æ„t>1n¸’R°ü¦;¨¡ÁOûfn±ŒÏÍ%±"ûQO) ]¹z"Õ˜Ö*†2!òHBøµ£~Q)F¾d +XxÝý›Qâ«MvVZ²i%„cm#ã„¡ëhȉ›Ý±še2ñßæ‚Áèýâpy´±ßz㔓eNÝÅϼð¡^±Õyƒƒ.¶O.´>CÖã˜aµ£²1EgsvH!³º<)\“ìA•cß4eåͨºXwÞ•{EŸŸâÁk$W&v›në(žòÖÁ¶Œˆð˜pŠ|02Íá»®Êk ÆŒ·…('‰Ë%¬ƒƒJ6»n˜9Ñd æ°5|¨ qˆ"zèaýì¶õ¼ˆ”’•1X!Qí‚·¶NêÑÔù(Ø ‰8&G´&ÄÚ¨&TîÞIÚ5(¦¥ô 7ÓdêÑ("ÎÞ~ ]‚ÂfNZI¨3âD{Zs­ø ÌÑy݀剮rIÊ3ÉÛ·ú‡)‚öïtu¾Ái:;G`ˆxô†ÀŒgC[(Þç%³K‚L¾ó^ÁQœÇª‰ÅxåVý©Îh€ŽáŠ ·IvŒÍhnH›H¬•%Ùì |ßM¼hH> endobj 707 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 708 0 obj<>stream +°=% +eÄòAáTÖHMCF%䧤XIz,â &†Ú÷=3ÛF‘´+Éå§Â. “uWïl–¡"ÆÛùŸXWØ'Œšyà·žF¡FË á†²UŽƒBîV°Açd‚Á„ð%ÝHðóºò>\j—éLà¼ÚRð3—î5Ⱦh’έß×ÿ2x·KˆP¥½% éQ /ó‰G²nÓ«8éLÚº¢°)ʳE)öS¯ìƒYÍ…! +’,èº0Y|J •2‚—öG±W‡U«cår/'›À'‰z ÑÈ (Ë8å*Í»5‰¶<ú(µ"ÖzqøÒ"õ¸N†žœžjÛa 8 /Ä7ûU¹Cmÿ6ÒÙÛ}†©9!:¤WÏÚŸ«Ãœ(ŽŽDÝC´ž+šßíOsÅDÒ¼Éx@m©Vm#Âåø-v½~V¶s¿¬¢Èò£T|^ùT‰SY +£l¢SøÕ,Ðo=á|d›#¢C»óå,|/ÛE:”Ñ\-.Xö “ÑÄ]êÑóC£“"ð !F—èªÓî]/‰Þ¥ú̓;y‰Tò»—8›aì=ïðhƒ çØî6a*áŒÉ _Š¿— 6ÈØS^Õ~M˜†å0;Š¨°ºèƒÚ€(}ŸFr´@c}Œ°G²æÈUšQŽÇݦÂ(7~h¦‘¥°¿GHÒ¦í’eQ0ê¶ ì2R6¿¹1WgÕŸ€<ÙÂ83"¾)[|Y`Ø¡ÛйþlYý]Óžj“›aÒzC\ÓÔF›±ȵ¤/séj~•iBñH!Â<èöÉý(¥ÿd9óVd”[‰âQ?â*Ëùƒå ~­ù<뤉}þÍí_Ú§7ïS Ô +odPó[ê†s­²ÚüpÂ÷¢ýä‰ö9Ïéð׋g_#|Kÿƒwú(K(…dQÁnq6e1K3±ŒU½L-sq€TéÄD 6]óSl†ÆˆÆÕGÔê­ð^gýür øÌßßië)|Ž 笨=ÖH8_ÎuV`ý„âÍÕ¥hÕ<üzÛã8VhO¼ÓG~Ùü0—®åûfB²lpÕN-B5¤<àlªÇû¸sãë¬#_H‹6¬fìkËGfS®háo-˜Êc ÔÓo³Üö°¶Ut…ïrˆâgñÆþ$ð^ÊCº»'ƒ5ˆJKèêÕ²têÞ›ôŒ‚DÍÖŸ‹xºFòx‹\x¥:mÌ-¥ôô³ßº9X‹sÃýá˜ÛqsRÄ ZÆäôÚ"RYØ0Äi\F]?΄]ØMI1¸w¾~œÎl{& Ô–Å•Ó k·1ø5 ¾¼ô †5b­5Éö,ûo ²’_\Ï)ºê‘së¥Dä›x‚XòSù–qêø-{©uD2¶æÂyöck=Í»V/ Šc‹ézI!Äc]Tåz-2ŠÔ„0•Ù=væ®­‡¥½É܇ÂÏ£h}c]Q”K¬fÜâµ®i@=H­Ýç}’óšûÕ](œ#òøX Â=µ…ÇR춅{6Ž ¢æ ¸~p†‹)8vÅ¢–3òr˜AêB¶.b˜nÜÔzŠÅÖ©GÅ +!ý‡Þf3Œ1b6“”Zšjp%Ÿ…Ÿ¦?‰¹oa +gRn#Þì*­.ÐãÖý#§ûÏ-ôg>Vzì[ë¬9𩇠ÊÝõh®¼ìa;À·€eåÇ¥ÏÊ[—O èáeç⢌÷&xN^úTQã–gÖ’dC'ª¦~Ê|÷V—¼ë‰nþˆ'X2Õy·Ø½÷øVªO¸jèóoqQ=¢JµÖ´’—ûUqV€{ÃN‹·xYÒxU êGB[mù‹‰äqý!aM|I4ö§jWÒJFHÝÀ·ecÂÀ‰¬ºje÷« º÷+ÀÀÚ…oüº;åYŽíd |½°/°ËîqŽI€ííÈ!¹þ> 8íÞÏ^VÄÄ[Ò×E)´XÅäåa¯P!ü/ Szh5oÚ™…*FŽBÅ¿õ8¨Ã ÖÈe9PÉÈ®ï=cáZ±+Öñjv½V°Â„Hkt {'“¸§ØèÿÒK]ÜûÛD pºj{“%a½®3£qûurMìý&G!¢1ÑBÙJbˤÊ/œ-+z‚‰~È$5a9Ä!|çŽw4] ºÜÝÆ\&TI‘XÎv6ÿ™],}m+4^)ÊŸ¶%~ˆá£gý¤LK— "RFLsç_·Ô¥˜¹ŠJ4a`Ôl¶Xœ+œ¿S»"AËw´Sb3)H¹}V?¤"Ù¿*êºB£*Æ„.êe,ªJa2*,Ëí+'G.âçò™ZGÎþŽè”>ªš;‚ ןîµÅX/-/Õo¿‰7 䣥·ïËÕôOÈx(JýŸhÎ#žom»cŽô÷¢¶å‚Tn?)´ôÍx\¦_ª:ÓcÏ‘;?r›³†¡ÆÐá$r!õ#"/(UYíƒÞp?ך6¬)/‘Ig#K%pIõ•#¨;º\?hSz ·&±{sã lý~úä¦,‰Õ6®añl{ èZ~OkŒŒ˜˜JŠ…¡Qì•üü6]hq†¥ÛŸogîÈ´É<°<À/¸>,sÝv,3Õ½=î€LÁïí¶½‘ haò”¯@8; m´>ò”V§X™gŽ`Cx蟇^b°ëþ´ò5n#‘—ÐC,èžñ=ŽnVcÖ4äTà,õò•#8¸åo 7‘–ªµ¢Å% ¿þ?VLjeÍ]êê@QBc^eëKjmÝ›Õ!r¾/~irº ]Å`˜JZ-8æGeèêÊê3•êïìeZØlg•ÇÔò4,Ï/…DdìhCÎ2VÙ’ÐêÅé MU°Š£”¤¿ùž«`Æ<7ë e¿ÏD°‡ñ¸\ag’=Ou÷/ýÔ€UÝ–È„Ðõ­ÊÒÿs ÛáFñûiýy/ %R3·¡uÙ¿{{~+E¬KF)E%¿ÚÏ‹¼xyšVZµ‡â{ïÜ‘äZ€H}ßkʹßI_!eX8¨*,¾¸fJ¨t…U{½îÙ'½ª:gÅ–ý÷é’;´ç¾ãAjOxQZ¥€‘Ž£©†Òçæy3õ3%$¿zžO2 WþOàLÜ£ž]A Ë£7TÕMs|ž…æí ª·8îDG^H#Fæfn–­)6e*ëÜ£ÒÊý9%§¶t–5ui2!›„NÚ³­’B§éÙ5s苹Z«³¹§B,¤:¬ø¬Ðgn +„hf'j³ÊŠ"íz¬£E®§M…3d½5y9í$™L+ItdÆøx9èÒEN!¸Ðïÿªò¢óA +B`.>ŠÍS„ø’°P#Y,õª£ +»ß]õsO÷Ú8à茳=(åÆG{ÞFtåHfU™OÏ þòþ*Å• ôM‚ve°ºé³ÅÚʈæ8æ.H¡ÅÉ^¦n9 ÚE†Tw_+;x„MÿàWìã šOþHê4¬¶ +¡!éö(ô‡=×÷ìB;×)€™ã虎Ӧ‡õ6&±LA÷Ø=‰ ‰³c•€åµÅùméäô6 XË¢fÚÆÜ‘O!¨|¤ÏÁƒsZ÷uÐ-ìHÌfZB%I®tv/›“A7+ÿ]´Pš6±;ñÃÂ÷u +endstream endobj 709 0 obj<> endobj 710 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 711 0 obj<>stream +æ’•J)"­9(ƒKj +lÌ{~Œã'›yVîÇ‘“ŠJƹêNÙ¶½¾¹Í™‚ÃÆÈ|`*@ÅfÕ=/óV4±?«0iò&ºvaÉÆàþ,"‘ +ãJ†À€aà´ÝƒVÒ7 ¥öuL‘[˜{b\B° ¾_­¸ÈLÊ"@¸¨ÍÃJÖý#Ó›oÕ §éð5ŽâVdȵìšfºð”R¸L!Â{¹Î ?­ÚÊ\}%!¾vÛ*¤‹’nÓ¥»œu”ß9ÔÖ‚x#ñ’ôf,Òp±8,e 'W®iÊððîvÀ&Äw´jlÄüú^=DèT )W•&‘¤çÇâûÛþ,$¤È÷S1£'ˆHéýÄ›øÍúÅ™r.ÛóGÉ%h› —Thë£ê4ÔëÈèXåÙÉŸoºŽý¼&“Œ_á2FÔSGxù÷3î±oÇúXtâè +%¡¢ªÍä¶A‡ßš›Æݪt +`ñ1\ÐG‚“ xlž>ß.·èùJˆëe¤îR á@TŒ¼4ýwÆ«¨Í T3ýƒÅþe;:‹¥T¹÷{£?sow>pÆ?®¾HàÚEëBЕvW­fC< CT;oä~iG‘ ÿPK˜ÃC Z¾ãøFZ­±Ÿ¾¼ð»ÁÙÂø +‘òÍõ,÷;­K±òÎê3zíÄÕÉ—ÙÜ6¸uÉãvy™œ†Þe‘oáµ6"9­5f¶ÙësϪҌ#éÉK?D²"tð³ÄhoüÊ寜Œˆÿs¾‡”º‚`¸}^È'Úà³tðý.ÿ1H¯ +YÖpìá½Ñ›Mõö¨c—«UGúyÍΙRtoŸ•¶öÿwpÙ½òú,FÖ®€-ÑVç'úRï¡Ï5ÈŧRת´Ý‘~þ"A=Î#Fl°Tð¶•â„êC«f­ñ§1¢•‚¼Ë”o½ÏOÀCÁìã˜n‚ŽÁ$Ƕídc~±þ~lwI¼•&™R©Ožž7Ÿ“ !°‰ð›ÄO¡ ¬WëQò÷®5¢$”´D“n¯|o7h(â@Iî1û&¦åËKßžv§ ”k{ÚÉì»~\ßø§MÀ„É;©ªrÜÀF—iDfÇס[¯^Í£´ +_4‡#£ÆDÄþðk_Iùb1®c­1Wàvåg·Ë&:\f¿*ÐÏÌgëÁ]Ђ<@;9ìe-fû¨jÅà©ÿñ#ta‚´ÜÛ3N·OÝuîåîêw°ëph¤ëVlÔ '½ÃVÓŠÌññ4NßkuÉvDqŽÙ(‚cßÉTŽôb@Ù¹kŒ9IFô¸ma¥9ÀK¢Î-ìõòÄ ðÄ°ÉŸòd#5¡Â-™ŒÝb¨š°Þ +éÃìOÿó:çÂdlš%þ3Ëé«|ÆÛÊ_®ñ‘Š(wÑ›¹Žn‚ïgù­Y‘7°3„´¹ÜìO›Iu/¨Š¥ÚqÒ¬¦Ž ßÝüó÷›‚I­jŒå:¿aºh"íηÿŠ ¬¢ê=äa»Å DÑëd~½³=-ætpQþ¸]´Ö,XÛÉë,Í÷ihð£&ZËzßLŒíSÚ±|ÒÒ7eFÜh[(mí(âü³{ž4µ Á “dM ÂªŸâ‰[\‹å%&}wtx…Å<ï›Z{¥càÓ¼•]ºYq5ó[V“È:'sô;]!kîm·ø7©F0 dX{•âо|+ñ¨Å*b]îI캸B‹±žöêà ø¬1ûçñ”°Û—)¸øF:šñ@°+%”á‚"ËÄXÒ+jèm|sÊÜߤ\ b±(2“³zgüç•þQ’Ó´ãïAçÖˆpzU‚m¦@Û8ÀS”Q6‡€~.?4Z„{Ö(C°ŒÆ¶+ó2&†•+4!Ç 'R“ס¸Ç=k^ûA*þ­÷Uˆô^úè×…ðšðÞ°ÝŸv¿õå®6>DÅ ˜3¼G—ÌƸ21±“ÿÊý 'z—ˆßtð·ÖÌÉ߀Ž5‘}ƒ)þ0°„¸;K{”äß° ©øÞ@â;B6'ÜôHLM÷†ÿÿîé¹¾ük`?ÿgy/Sðó‡µí®„9ËpM(ÉVÑtPÃ4Ü`I¤UH€õØy8Qo··òÌõ«±@±A‰Éx“º%Ø[rÓ\º¿ûH©H¦eªáÀY7xO+þ + ¬ÔÅÅú÷õâ«{§œ Ö¤C¬ÁìMæp¶ÐO•7®$§S+ü ’ro~\Ë}z²?êÒtÐèêk¿÷µ$™’*…–ù¥ à Zy§{ ?âß%qKt£ŽÔlG£Ÿ@Qó-Žç¡Àò^Ë,ï¼kæN>8w€±Uýv‡úãàbþ7ÿçxgx±Xßít‚‚¥rY#—ôÓs(Ý<¯Ô³+©¬  +êÏDü* ?oXHnÑP G{cˆ±ÿI¬T9¢Œ3ýG¤¬»Nï8ža’·èÚæ—žvÍo"· ?eýþ×já)z²\á<ÛG'T-;¶JpyQ–g+z×ïöz]«Ë»¼s7ÊÖ‰ø«›¢nºIõ1nuÍú àÀâëÿàS‘Ï Øš­ù4|Р› +4Y5íx*á‘A¶ÍÞóÊl§çœdàó`¹Œ©ƒñ{mz’bÀÿØãúåÊ°úLcyΉHÔµØf>Ï”\ØY¤ ¥…Òš*BÛ±'G%|40•D¡Êwa-ÓŒ.|—Î29ðB¶nܼc¬u·W&¸™¶¸ËSƒÙ^oOùrÌQô-R.­ª% kÎû약Ý\&"¢ÅÚΡÄ¿w[ñN)ŒÔQOïš!}ZL¬™µK|wÊw¡»Ô½Á† ÅësðHÔ£pá§ùmš¼LÄÞ1 X5Í.š9Ö–väî%i÷^°°š¯Š&.aÀ±R)Çu¹‚ñ¸÷·-œžn#/ãç­1Û—Ì~;>J´9­fmÂ2-¾—©½ÔÓˆÄ d¾ÑÙó² Y®xO°§GÕyÕíù±!líuîñü—ŽÏjôœ)ê¢f®]£ÛëOÊÆùa½T¿¢z,wOáûõW=¼Ñó=·û'”N +ÎËÃØÍþµžÐ!}N1ŸÉ *-Oaàçp8Ÿœ½®ŒÝ1D7ߪ!¾ÎÜ6ÚPØ>X~Cæ¯c{ŠFôýõT²BèÉIÌokèx“ÐñBt`ò|3-}gqJ÷"ŠRšÏaSkçk:­ªrÃTý<&–4ëƒ"FÈe¶Z†–ŠL80á¼í¦:呈b5ÿ­–‹bY$ÕMéWõÕ…úFŠãHëèvVƒK¶“[„q™ñ‹MÅÓGöÿ˜÷Ìð¥ 6§ e›Œuâv˜k´þû۾#ñ{©XÖ ù¦|u +0H›g-šè쬟\ªwoFÍ)è4_ÊZX ®¦>Î@uXdôÇÿ«JnÍ]O‹Å`{Ÿ¼á·…Iø‡9ðy] +þn36¸C}§nîýÿ,÷û‡TÇ@iÓ¥F|Èÿ2y7¯6@ªôý0[.ý²/œŒÀ‘åÏ@Ë#\ –-rÿÍÿ`‡pØtpÄf’àR­å ÀÀÆ4¶¦ôl=¬…#Ág²‘Û+3‚¾ œÅµÐ-&âP×Ò~º¾4R±jÓv8Ö“½üØãÑ]1„òY¦ÒêOÌÙÎD€Ê}nWVÓÖ•ðy¼ç‚—'NKH,ÂØ¢róåãü¾ëRTH_kh¸ÒèÄ`Àßã˜JTšêÓcË€„£È¾=BMˆ ?T8Þ+EÞyÃ|ùΔ™­íP +endstream endobj 712 0 obj<> endobj 713 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 714 0 obj<>stream +©~ ¹^Ë=zéK*ÖÂj%-ÊTf"víëZ’Ô±-e‰Çˆ#­r(KïšWÏÍH$dZí ɦÿ„8IÀ8Œ.˜€eͯ1POª4¹i?pSB3@ TX#þ¦"4D!4¿5®FTM¹{=Cå Ü™ý¡Œ8»õ.s3ƒ“Vð6–÷ì„ZÖG´ͪG¨5¹ .ÉXâjZ‰Ø¯ÂÇÿ^PôÝõJW‡­¯¤Éæ’ H~PQ_UºásgZ#A÷ªÚ'ʉ È4qFf¨©a@É7%a¤=«d!žÈ¡‹<€¨9°ä$Ž«Ú +wjD=áP]{ƒ?eY)©Ãš§yùžTÆèQ:ÝÎÉÏU°Xe¡Ø0ü›\zvº:ëüC +½Q{a%:–• ¢Õôá7–é“çtæȹ׵àáObú±ˆÒkÏ“ÿ§.Å™]Ý@åÒÖó–ŠþáÞX—Ýn‰Ç]Eë·m6À.V¤Y˜Ô°ÅÏ”0dNT«•[r’̱Xo Nä-+W{¯h¨‹qé÷s1ôÛÚËÝ×â{(g#Ðh˜„©ƒ?Æ÷ø +;.à†§Åõ§`|˺xd(zN°N9«høPá»Ò_VkæêA¹íŽA_åXÇÖvG óHöN:n}$ïy ±4qªþp];ò¼`o°Ü -&C\áù‹B,ÎY·ê†·üÒ4ÒºßÖ2:YC!RG‚õ®­±–þ>b®NY{뾶ëZGÝŸ êÆ%&Œ–â‘¡í;ºÒìÊ…uKÚéšum±rÄ ý7øpà8²ËU¼iqºÓ 3pµ+f”¤´M͛ۛfj_ÍŸº–ñèÛ&uŒß J™1ÈMê­g!Y†-g‡™:qÖíO Ÿ¿‘ô­Ÿ¯>þ|¿£s×Í휱À8Iz›lÿà‰s¹ ìüOƒXçìI8mà +ïã]ê”Å@öËq<êyJo:Á="0D5FuÇïµë¿âÄWpën’¥]ÑÓKù̲Үäºl5‹ç%òM†Z­‚œgFHËÎò­±ó‘ÿv(d¯—@¬2«@ÓE ÈÄå]ßlR^|·ŠÆÚ$ÞL"úF°5bÉÉ-±4ˆÇ×{0ü¬JVðWndØ Âfë}@ôA^±–5é'O :Å£üð ‡C¾ãö‘žñŸë„cþ©æ¯/;.÷ ²$¡Ý+°~~ß© B›‰ºD¿|J†Dm€ñ´œ]AǦ|æ£5MáÞ&”[€]l\¶("ö‰bšÖ‚8­s3HEަس8“¾©f«vÝw~ÊûÞ¦c¸|¦FTËö”ÔC§kd•ÙøÞ=’^}3LD9®lF1ïÙ^-zLd$Sµ$UËô'ýÜQŸrxÍÞ6]Ä4À5‡y/qO ÞU.ÚÅøÞp ̳»mýññ/WJ·(MÒÞMH(œ9u«/”»¼™Õ[V¥½ºÇqö CXz¾Ž˜5çšð åÆÄxØ#£¡1¹NQâ.#XÿñÜ›.wØ-Ô¶t–ƒÍäØ™¥fkE¬)M–ʶLß3¶·iÏ»Ù6õ~×°“ëcºÍÊ£žµéq¸ùÐXàÎþj(Pq)•xBè…eúÄ×E®ÿŠ=¾• ¶…Bè!AH¬òÖž÷läb?† eþF?Uóf¦ï)¤Í¢ÆKîœö?]1uðJ4ÜCן:v½(íßD“ëÆË÷‚í®%átòÂá}òmîs=j[—ÜñV:ì]ÛÎ^5®9¿³¢êuyh–ìUD'Â/­>C¸º.a-Þím–QÌ;½¶‹d »èIÖôGü°ýD+6>Ã~avãúä,Åð¿mŒb™˜Ð~tÃ&¨y¬°W¼>"œ/*wά1'v6x¥"•Õfçα ±/áïç!o£ùnÃy=Vq}û..[ÖgXl“Ôam°’3nq÷¤o$·Ë …U è\ùtÀ{MXEžÿÀññ\ó‚ÁÈYOð”N¨Öj2?ª,ã4_ÝPÛZx`¯¹Äʵ[鬫ŒžfU*ûmœå´¤åÍI˜® tg^ß}héme@Lj®Æy5û}C€†¨³w$C9Káø‰+ñ( ©îa¼Êøƒ“Î÷ ðLþ²@Ýöù²K$Ô +6Ÿã5ñDµFí¢¦ükÓÁ_ÃŒ´pùñâ´€c6ýyí…þ×ÑH5:§b6MÜ°£ù„–J ÚtÝoÁäù$Èëlw IÖ•ĕïªè`@O¼Gí7nS[8¡þ+%qÕTàn“¶ld=¯ž¿ú~úûl{Q‘ïBun²l|Põ=„ŒZ~WŒv!RFp‹¹Š-y-÷ƒòÉ2)É5T§º„ÆMj¶Ö‘ºjÓjÍ›¥”ñ„M]èd˜9Þìêmß~­}{Ì“+ºvæo+nŸ£A7X‚¢tHy§¨Ýeà +gÃÄ–ö†ªà;É•iÁt¡k­õþ×:2¤¼sU ´]vÚìûRd¨¦Hh•öâ½_J+z{ [tÙ`‚Ñù™™fº57$e“7AÌÐ\ á-ŸŸ!‚"üo‘aFœì­‚é]þÓb(ñ^¿Zw’6+±>Ä3ž_P*ãœQª¡IÓ°Ôò΢ʆeD£Nâë~(¤€1Ï-2}àÜ&¥é’z@@UfGV,Jξ(¼=cŸØ=OP Pô+cuWt ‘yî|´›ºwâ€56”ð(aw+Ïþ³j>‰‹.|Ö]Q¦4ì‹]ªˆšµä«Xï€*¼ èt.ôCY¢ïˌӨ “žãB3‘:ú|MáÇUkïhENôy˜ÍÄ¥uµ/®0²Di¯3„Í£¬a“¦ º[tEß[C.$@Äy²½8¯+JÅ®b²-tä+k=ä³Êý„sÄÐ#¼(èoÒìw ÷²‡’þµÝTK[ø{¡·2áJp°%¯iùÿ Ã$¼ù< +endstream endobj 715 0 obj<> endobj 716 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 717 0 obj<>stream +òûÏð·Ûèy/¥XPqw9Yà‘{Ï9Ò…ßÁzñê‚4Þ<ËŒÇCñFC?; Ą̀ÂòÑõK;?BÝP«ª§„·BOz „9ö¤Ÿ‘|Ìm»…¬çB-éô列gŸP zVl+ãS?HúIÚÕô·«õµZ·Qöo@ hcÎHŠ'Óž#P,·4hû3>×â#cÊÑ‚Ãü]d~w¡cÊfpCÌT!)Í­ùqäŽ3Š¦J|Ãg;bå¿S«†^%ˆŸ>6&[™SšØ`emݯ±8)|êoØx“Æ2ÐÙ3N{Xý~ŒH…/nŽm÷£ñ×úwŸƒ¶¿v>§rÃ_GÁÍØëFKÑy^WN8Þ¨hÝR„ pi·Þ¯AJMÖçéöo£ÃgÐI´•A[)—ûÄÄ4ñýNÉ')1lw>HÒYe µI%ŒÏXÑ’Doi§Bƒh}ÞÇvW$6"ÐÝ#å£ä(;<­ð3Pñ¦´{Å.‘9ÐW€«ÔÕÂÓêó¿'þ¢ud¸`@VF‹gÓ.rw«Œ%|*$,…æ8Xè·ÚÎo´p–"5Ô:ÖâÍûºS?õ;÷…}nã{]-„Ií~"͇8†ÔMë²X5ëçx ÈËA©Ú15*þnømZeÙh/‡ö"ÐŽÐiãgñ?‡ÞmÈô³WÓb ÙÕ•‰t™a±ãÃ.™'vXXñ‘.‡kh-` qIx90R=UØ-ž”l—'ügÚ„V¡©A¾ËáS%‡WÇ©Ž(­¢Âm?†O<¼ŒxÉpNÈæTK<Ïlw¿ƒ¬ÈˆÁ?ûš±däc^õâbÐô’»HcÔY4Ó!K\ˆâ³xUäÞ ùºÕÍ®¤’J®èef¹2t3+Ê¥à:QT“˹Í9íùü—fAæ8›÷í÷<+~LáÎÄmÛ™ná:´s{˜“PïRYfÜЭðkÔý€æGŸ]úzPÖßqâËpV0Öôr²ª.4"tŠø¯ˆùÄú^á«Û~w›Ö§ a ¡„bWçÃþWm9'.H¦gßUZ±ã¤ Ú–!w‡9”T쵉r\mô ;Ÿ.«+{âFä…ôVÃZYÞ¡þqH„y}cý™fèe¹ŽêŽ‰PüŽ\—lSK4|¼ó6,!¦±]ò¤™…*‘/Πo<Æ Ñðg*ÐFƒ%|ø}r¤÷€/* +HN ÖôS“ùþ˜Æç!ƒª‹ÿ¬lpçK¤ÿÁ»„2ìÊg^?-šÝýöûŒïßBà(¼“ä(¸•\Q.Šfí±´ëdü”tö.h=1DÈbÎ%¥-ü×Àg»Ð>¨©e¦ÈµG½?–sË\ò5ÀÃ[gjü7>nƒÿ°Êx †ÁË‘ÊJP2&ðÿ·€$é{€ 6F³m0-CvŒëaKˆÍð¼ÄÒw¤G{<@gß Ÿˆbï6ʬk‰LФgôþòsÕR’ñoÒ¬=`hÒÁh1sƒAÇ4CÃÓ3Z¹ü°Q²ìrnôåN4Ù^©ÒBÒÝñEðMJDvtµâfþ% ‡ºfS3©æÅ’‹æàâ±Èó÷·dØtœõä‡ìàž­E§ Gˆ]äg&½L íÉ¢tVqz”뽊w1K)~¾e¬ˆHˆ’ÐhnsDž@H>Ò<Ì`0/‰.°1$§ŠF‘ðdèM=£%ý»Ž É%Oݳ” OqÝZ}Os» +ÁÕ­h'¡^ù•GÊ8å/£²Ÿ]ñBSׄ t¥ÇàntŽ|‡Qã4ÝÛ=CÞS¯soWŠû³Øqˆ¿.þ–ü”‚\ª•“Ø~º3QþJNî^åËcf`ŸPžôb2ZvÈäYXQ2Ž©ûøFyˆg5ƒ¹ãÊL0ïÚë–ëÈ +.‚§•†{ +òX~ÝκR:d½ÝÄâª_£y¨PqÓóÞê€3ë ¹ZXÐ`¡à¡TGö™ª?¼K+/уîJÇ«áë–Ï:IòθӌúíDp÷Ç=rÛ6 «ÕÔ¡ˆaLàH•2¶@ôS¡4Øól%ù¬ƒ‰¦zd¨™ H÷ä§2Ët½ç¡Å9ʆ%uyñ;'’@ÞتïºÛŸ¦D—¼WK»kížlL¢Õ¼PùB´©!…Ú¥ÇWŸRC®–O:á.ë› ¾ÉQð÷¥µÈõ8æÇ©)­!° (^‚õlñ_v'ëŒÚǸ +G$®$ÿ»™©±½Ýbɬ’) ƒbd>ømì>T&©¿ú‹•ËüªÿgM«F¢]}‹­p«<¾pò? ©Q¹½kùð5žs‹gù]æy®äVoèVA09¬åæ±7ú£SÃ÷…1‹Üyë³ +„¸¤;aÉþÌýƒ)ÍÛÜÑúÒPfW ÑC&L×ÃfFe°cë +SìÒvëˆáÑ›fRªT·$F¾ ¨Ê†Ž ÿþbLÙ©ØèÐBZ2f‰A]fµ¶˜¼Ø6Â4\¥˜?y‰–µçؽA`ªÎÍÜ^„çHC—¥™<6úa)W¸‚ÃÅÆàöž9ècïÿ÷ÄE~_ÌW¶Ãì‘´¯®_]?̦ÁÁñ$¶Âp^#*ã?ox5 s ¼2“Œ]=<ù”H¬/AÑÛ@µ$Uÿøœ©Ô|¦¢ã·rƒðx®pq¹«·ÏYP„°Ù¶•¡þcL<ØÀ&¿‚.3³ÛcéV›]"[n¯/‘ìr÷ôó“ú†YðUÌ+Åeá§EHà3L˜Åu[Uö oÇeQn˜Edá…àsmÐ|àÃTãžµÙsñx‚ã¡Ý(€…?+$(ˆºÒwNH,9žWOx|þÉ?¿e4?1Dö æI£5‡¸Ÿ†ž°u‡i„uQ¡V?¼Feçúæ&kv6” ¾sú(¹åWÑÛÔ9ôÂY‰¾®õö1ŒvU2Îf:DY—5ŒyxÒ» & ÊøöG<ëÄ”.WŒ9ýõqVØÂÕf‰3È,ø¥/œý¿¾Ÿ¥Fºø쨧vŒ;I<y)¡Ù5 ý +endstream endobj 718 0 obj<> endobj 719 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 720 0 obj<>stream ++ÌÒa®•ç€aù÷ŠÑ31‹mî;èn ~gAnŽ4í_m€/Ýçä&$¾6ùñ“£ÎNě͓™~`Ç*¡üÆq>m=_kàæ½Fo¹ h®e ò`2ÀûŒ¯gsÖƒ SüÈTO¾@Á¾úV\âÒ0p>ê½"±ü¢mÁ™œ×!Ùõ€Ù™?7Ò½†^g“VXäoÂ'„…ª™´×Û‘õmµùy~¯[²ùmc”zÝõ­i×Ò³±Ü½P¦BC¼J‰61Ó"Ç ›è¶4ÿ«}ºÌúÚµ jLƒŽ»_ë?q':éáfã°æZK? ÛÞ`QÁ«¼‘¶–“Áýé‘äwhùWñ­f eù™ú]ßÕF`]j±áLòmð>u²}p•‹TÜØù2C«ÀÜš¢áΕvȲí°}*$É™x h-*žñNÕ¯`R'žZžðËJöc^&3‡¢+hÏÒ™©‘Åå0cê…y§<‘uyÇÁ‰@ͯ0Ií~ßâÜÝîæÃ.²ÏÑý²µL<´Ý¼xÒû¾š¢:Òî8¦M©t3pG!‚UsÎ…Áû󭯺P0Ô5$¤Š]Tãç™'¸‰\¯Jæ.y ÂvžPZo/F~ˆÞ@Û_zˆ¶ “ÊT f]}¸@9å¾¾X+rY¤É‡¯¢¸<÷®Ù5ì¢ñúsã ¿L=°FÞeÿìZ0g÷ÖVŠzCBÁ,µ#keë‹7ÊãÁÊ€Á3~U€õÞxåµÇ¾‘1z]†ñg묹¥aªQÙ£ý¶B™¥ü ]9;X íÎ$ÕÜ׋êöÔÈ0¥ÅànžïJì=vØÞ‹€ÑÆp&h»¢š }æþÛe.(©• áZ0EØ 9o–µ+YšÏ¨괵`lÆqåÃãéöŠo"4Ãü älŠ–™¹£èêØ:iò¡ÒÂ@XºVÑ Ns"¤Ú^ ‚±dFÀxëü ÖÁ w(gÙO¾W5­õ‰×äýÔ‡º=°ïkú¬&žKQ+€±«>;—ÓfÊêàÓœÁ½ ÐÉ2|½”c•œIŸêÑú¬ŽÛóˆâ¨© +ú +>á­9Q…èÿ®âÈåø +€ípj_ØŸ}`²:Þ¼ZÓØHø­"¦“îf¼“ +îˆ1»pÃQ×æ‡Ým¼³‡X7+°•ßˆ§ø«”©ï1«Ù­™Œaœ$K—©W¨Ü3`Äm0ÄÏáYÐM«"¼*Ç_¢zs’Åíݸ¾×.‡ò}s3ö©¢›×‰Éîyêâ´» +Ý[5À¸?úo›êŠIò¸†XþcÌXþ²ScãtÕÜô×°:¨ðx%µ±P`N"£~^Ñ)¢ßyY&–F#–2 2è¨m]ÛÌ›a–˜Ÿ¶ÈÁ¾SÛ¸‘Hœ4´77ÿôê$sDJ¢ÞôóÂÄqï—„ð³5ÔsKÐ&·ç.½Ú®(Y¦’sÇÐ&¤;Îõ=ûÍzÇèÄ'#7gT¥Ðº¢ÖNTŽÔøI½óà9\|÷¶ÓùûnPì‹Ú17‰YÈkPwo +ØB0.Ô(GcV)wÚµùÇÚ7JÁ7›óD +Éwd 1õ猾ú.-0 ©pŽ ÓjÿÂp8ÖÇš³·!õ.G“¡“œ“-¶¢ö19‡A"§AšÎúúG*Jh¸X‰“îW0¬MPvçhÁRåŸ8E8%ˆæN2aØD¹O´÷%¤TØ á‹ÚÄ8ˆªH½ q»xÀzÉh3HyA´à:¡2A@ù"F¡d,¥?«è½à£ï¯¢\¹Æ“Ëój@þa¼æR¡Õ)u‹ÃÍŽ{û¹ üK*‘Þ%ÿã…˜4”éµÞfœD8|$þHÝMÏ)„*xQ.;@ÞÇ ó­€Â\º_yÛ ("’¯"âØÁÆUÐ]½> endobj 722 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 723 0 obj<>stream +\CìAzd¡õ&›Ý µ¤!±÷µì5ö/1Á‡Áx@ض'²Ú(K_eÅ~¾k4ýÛÑy¥}ÙRqßÈJ×Ò)¦>R2å·É€\'ÂMYš`ÕK[u©ƒ@Û—¦QÞ•1D³?S«X‡X·˜Œ\Q‡“xM—ì ‡—9ç›%«{ô?²zE:1µ\IˆÇåÎé*L‚U{ëwÿ)‹¾õJ ®ÐŸï-ôóà[:“£É¯Éà_Zh‡¬ýH dÖ;ý€U‰žhÙ%£Ÿá\¼DsäCúÂC ý{v™¦"–ÿ.cùÙcT—.,ïþ®ÍãYj˜TØ¿å4vƒìlj`¥D¤oÇ$ßY|nažê±R5øtJˆ£qt'¾fEwÿêM‘>J)8©! fÜB+:5 R*gÓW(šÐ£ÝµÜN?†ò Ö‹Ežzù;ýफ}púv9t¸¤Ü{‹ ázÑ vzu+%O¶äLZŸÂýÌ…  _ ÛýÇçJ/Ž0y +‘cµˆ!„© pG@Ãwýea^R²¯0ŸN.g¯Õzø³Ç2?ß±2<禳ˆ “”7áH nú¥Œ¡ÔLö/aër°G'lý±Ò¯­Lªâ§¤ Ù¹):ÏBíÈm®q6£¤ÞÒߺfë.‰ƒ÷¨&´yÛR3†þ¢P-Æ#œ–Šl¡ÿKé~²vü†ßäÕùhÀßÀ˜’±^’››ì"ù¢='°§O·Èðë( «[Å=…QÓwЪ9(¯nø©}xÙ—Ž€Ðé>Agð +[øVuβš§‚y·ÇÍ‘ê™8äsÌÛw”K?!«;Û/ƒ²­ p +•_™¹y¤ù­M™ ~^ö¡4~jxê;ƒôHgOïŽóPVÃ'Š.Jð)]Ä‘RtâÝ’Fè8ü¢m4pg&\Æŧªxßè£y<®Ë:¾ å¥<£‰Ã|FÔɾwºa÷7.½VçŒðæÓä÷ÍQ€Ë±æWé­@U±ìøÛú“ÌŒOE°X*9&ª¯\ø5’»k.ˆæàWãâCǯó|¯¬]~5å¯MÑß]–{âiÙ0?>úOÈמH”IEŸ‰5k ÇŽ›:…›µ.L«éÉ¡lkm†hO|"¿·CëgLbK.Äâ ëaIÀ ûÆà³…còø6öáXÛsF@¬éQéMF©1uÛwR5ìKs•Õ"éýûY¦5ŽÏ­¥ì!•#¼´56õA¤½ÎŠÔVd™pÇ7Ìaˆ÷ÝEÜ?âédK®Õ÷méfçfé²ââÏûµ}"N"ÇÂr¥ÙI]§‡mÜ ­þÂi^ ¦dAKgÈmTŽëÓ2§O_QRó’Ñ~Ù×·`-Ï>É • *±õ,Z&¸<‘"«èK­Èi«é¤{C;Ó‹á&æ8VÊ_²€Y© òò”ý³Ô«ZÞôðØá´ZxDÙo5ØŒ–˜?&ø¤£ ›á¢=§q M‰ /Ý׫.ˆ°úw÷KEýHÖÇ:Äsö²¥tóÈPVw(Ö´J™Ï þ Ö\u¾…í`ã›Öwm#þ=dˆ)­-ëÑú¨÷/#Qs´Îê°a¾*— øtÈl#åUÂÔ¸ŸQ(ûÞUdð,rÀož5„‘ßÕ¨h×€O°i`{ ãèõ˜îPÝù1G '+¨ªÒ 9„;#Ìx¶M ΡŠrÙö½%#ÒÌÙÇ<3]¿o…c)LÛ¤4>Ï•‘)¬üij%çöC~ŒW +0¡åo8jŸŽÁ5-M½"h¶¶–M\ØLó“ÀH”û?$ªÔêpŸÐ/h678Âi”àkð«æÁü¶ +¡ä *‹PžÈ;ÐzL±!”$.Î(bv3‰ùí6ŸwÖVBs‰rL„½) ýéNÅo¦ +ãË걓•ÂI h“l´óMt 1þ­¤¯0Ʊ;Jh)·oýâjµ=ÒÑÀ+´²56ö#±”è”»nü"å[‡] O0ý#[Ò¿‚Ë‹î¨IÔ^O—<äõwè®;ÕåO8ÐúÔ•Gmˆû6L-)è|‹›4ÓØmi %ç7¸ƒÔýu}Ð ýï€æ¡¬h s¸ŽAz±¤ßhlû…¯³›œÈõáv¡¬TŸÚD®çÜaÐJÞToØ.C}…Ø¥`rƒ· +þ}³ªn?¬<äÎ Dþy7Šl]“ß(¬jQ»õÖ¿p¥ø ‹ú|lÀ¤ÀÞ9â"²/ßØ_^ñzD\[î*_7½ÉW ´ÁŽÍ>ìs„-‹ˆ§«Ø[Ç>¡ ï[™‚´n è.^g„ãëѵ£è-ÜÒSî¨4™¥º{§_Q67`kº³scâÃŃmruê«W&FýÐ-ve»s.ÿD÷âžÄN‡_ u´hÙl‰[›êüø:¯À}¬Y÷´™óT± `ZSpAc-÷Ó°¬0ý>å÷2m ÐV•wã ¿‡ªD\ÍGó§î¯íãñ„èV{Ö;þËŠq.ç¿aûsö+„ÙÍ ë‘И¶ö£¦\‡JÙc0W“rfŠ”<;ëRgP|vP´òî-ÿý£’µÚÄUMî‡7„ªƒz:6¾çfis­=Äb»µuD‚_j®á Η$QyÅžÙ„‚4çÞe· ñãúYUc‡ _Šcº].òˆW‰í“¬3cæmm&ËÇáÖÓ@2Úº®³#!û{žA†¹.ä_½’€Äk©Ä–nŒ—j?¾ù“¨Áz€V,PmåÙGt$Ó”}x Z&­E …Z-§ ¯wh;'‡¸õC¦Y†jëçVâD±5eCaý2m{G"ƒc6O¢ ùô±nh¶zÞ»Õ4Nüg‘ý¨¦ &~á )AÎ;£ àÌDšæ|Ò¬O朇›œ5kËì¹”Ó"îKÑWhŽÔª-B{… Yí3žÝˆž\ÂM1¯n’„ðÁ§Ó¿8eïì6*úó|j1·YÚñ·ˆgo²šÌˆà‰Æ¿ßd ᶩùkèÑÑŠó„cŒ_ØÔäêƒÈ#•I#¬xû¤AšáC²j°>ÄW¹Ñ©—* +¬v¦ã«"dk•»d”vĹ,¸‰¤h bÞàñÊUװή >6í¯|(F¼ï×%"jápL<áMÑÚŽDÎ ÷æÔŸW—É] Ë[¶s"H56jå + ,Ïþ½jòÖsJºHÜDý^UѾ†£þºìØPÒr 1‰–í—!útö”¦Ñ¯nÿí|G†m¼>ÊJöÓÛT“17=8½U[ïûh@ØÍäÃajl61Wc*qHôx8¬‡áhM£ÁÐæ\¡ÐIöî†!8ÃbQô*ñÂéÿê™Àflx¾µ‰KÌDï'ÊSéʨ@«ÜüJÝåä‡A©«è˾ÃS‚Ƚ.<ŨC/}WôÅ8‚xm­TMÎoœNñ×\èøÑr’Ôe¸s §qõÿ`á‰]¥GÉóEl²Ûæ:J“ +%Þˆg¢­Ê‰]Æ*Ãj9Üãí@`›ØÉN°g>yT¾±&)&05ƒÎJ{-Z¸ûÈNLê”âö*€sL È É41q|ïxGœ²ÉÂfÅ•»^-Äžh +KÀ¸ú³[¤±h&/Û#ä _sO›òÖ@æ`Gøô舘ëú‹3ïÚ4%9 +endstream endobj 724 0 obj<> endobj 725 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 726 0 obj<>stream +Æ'{€LðYƒQÌwßB“HýÅÌl‘š¬»)ù5¼Að~`³ÓÄÄ£Jtq„o²ò3¦ó{†ÿ5€ªVÒç¥7RÉ|OÜ$÷"hLlRž7h‹U¿GÀñ©i‡£ÖÛâÊø.|=ÂvòÓ¾ˆ¤+ëÑ”äf›>*ÅlˆøÕ”«¡ ¸«Ýÿv\ h +¿>¢‚¸®‹!`)ÊÀ ßJï\c’Çx.’Ú7E‘î‹`Zˆ¢N6èmNßâ3 ™‰ +@)4ó`ùãÂó;…x¹§N0Чûß7¦æÞÀéŸ.‹î>HÄT’ìÄq]Gy†Iât‹~:s|Ê»]E…ûHp›)ôîP5ì2õ†›èÄJMb\¹Ç¿v o2°ëM±C@$è÷u’/Ãy¶˜”a¬D’ëSõ"KÙ:^KýȉÕÈ)á$²Óä4>u˜{²™*a3g-X_¹rF“Åã8]6ÚÎ7Í×*¼~µ\'üÃoçûÙ\~.Pé7Œï±e·/‚X³Vôª8_ð0F¼· ùN96I+D¡t=ÌÖö'Ë +Êâ=7I-4T|%Æmï_1PbÒýÅú•©Q4ýaÎ×É÷mFÃöeš¼Nðë4ijgH¦Ê:”¢:þ& nÐ ”OÞÿ»Óüu?O㶪äñ«àO¥Ïsµé/8úesôd³Å½÷åÖ“»óÄ8Ÿ3´èKî<‘“Ýa5Í‹~t…—s!¦iîHÒ=Ix^-µÐFÕf—g’¬f4ÔåØ΢Gÿ€„2·-Õ]4D¨C\1£%ùÍçfªÏF{x$âìHºlÿüñ´_yz·ò¶á¨»Öå\\‚ùåG´3]büÏYHHL…}cR·…Ý5ËÍÏ4eÇW£gÊ åà»CaJ©Ïö ?'ºµ¨QG”N¼_»,P)o7vý#ÅìM‰ò4ÿ-m»äaº!£'é‰ßD~=Ç[‚òÞNǯnuUsÎfä…‘!è-ð£ +ý +$°ÝWjö×µç»Ê Œ‡+Šä¿†pÌlªØð˜¨qô6¬‚îrèn ™2véN÷D´ÁÃÕR“,N /ÜÏ+d;Z[÷3"õÌB¬&‚Z³éꛘ§kóºï«AÛÂÝÀ›T6•îòó+%®ö&ȽZèlöÐà·º#_=é!4c“ YMY÷PŒ,PËÑz[Õøf£õÔ=!·ÛRFmVÈEŠ^@¤&]ª­8$AKd»fÔn‰U…vû¯"G[ÇAñzÇJ>; ð6¼§©ÊŠ¨`殊klgR€R$›ZµµTWÙÆ<Ä&'˜ùâ]„ù4Õ”&Ü‹“:¤]úÎg'ê}Õ¡}*S )erúåPNÌ™íâ'nø®?k₷Ʋ·ÚQƯ=‹Ô_°$È™tÜTÌm…õÈ•4R4o£‰ì/娅嘕ץ¢½Š}[}ñƒ… þ°©Ž¿0e©Ó£º–›œpcS½ýÐMyÅÍV2[,¼YÐC¦‹f1`ïåa˜3s¹àÕòZ‘%Ý–6‡ƒ¹úÛZ5ê^o«&ãÔvO%` D>\ÇJ‚Žf'P­°'t´j‚Qñ`ø%ÓÂg¬0þ„+ó‡Žäáº1Ú¯¨^V J¹®"ªZÃnŸñš<ªqY®¥ÄÌiÄ×ÇÏè1ÛÂh5#ˆUÒ·Ä Ò¿˜ûÍlè&òŒ%¶=‘ú(û¨-C>ÂçYèD×Q)ë8ôŽ—Ó¤cá*ˆ˜tæZ +6Œ³€fmdûÆ…ô×¢ÙË9‘iÞ,èyðšlÀ\§§«s^ĉ•¡–AÜ2^j:û‡*ÒrŸTè->7Ç- 8ТðÊý‚¤!TšÈsäï +^{À!Í®“^"¦¬D+÷ÌUUõ½9R.zJèdÓÝìd «wæÚlÅÜæóÁ[Ö|?îHŠ +'*ë  ’LÎ[øǾYy\„\œGBC£2Èò4šÝ^âû¦V¯ôPÖ÷YtOnÈHÖ.V\§tærŽæÓ°º zO>òAíÔ1š,¨§"O­ê•ìDPÖ6,­)ŸÞ„“ Ë©XÌFöaô1¥ºÎ»SjÖÈà /Aÿê.Ïøeë};hÏÜ%×®1§A"™-Y„gvŒX.:±,x Ì%KDç¹BkÇïó‘’u¤8XRFä:xöâS—-ÿœz"Z1½ÉÎvZÒÊ€h¿ãƒð—²²—·$Ç5•–ÁD£ÈOÿ/S:$A€4í{~ö +‰[Y÷œ¯õMñm‰©D¿X·Àûÿ6ølÔÂkÑwVö=,“Kë-½Z2£ÓT=`Rd3%µûØM½…[ÍiË…aPö<Âw7&×ÍòýDŒ °¦ºVÚÌ°´\®7³C‹•kùzôØïD8©žÐWFÞÆ”\¾ˆûþ6Ø€2šô¨”¦å·!TÍ×ñŒôÑ’ Ç¥§[‘ÜUø@¨™›kŽUøTÁ„Ç¿tßXÁ°¤cOëY„>¬òº·Ï"ÆØ¢àòZUtm>¨èE)¦­ï6(¤$¾£‰žÔŠ¾%PPqì+'‰–™FŸym"ºKÑ-+Ñ<ˆù×@Ñô‘Ô“³EäúŸˆò’!¬.ÎÑHŠÞ"ÜnYiÔ`Ê’jyŸÎAZE$ËhQ/,Ïý{L†H·i¾Æ&¾•èÕ¹ÏD’@Jé«[UFºØîû.–ŸPò¤j^o­V‰}±ZeBÝ‘ƒ´öɼr˜‡ Áf,·:àÿ ¹ý¥f™ý)Q‘óßŶ!îù%(¼!ˆ“ ^ÏÉ£ú¨&È+ùLb¸‡ú  {ô3 ‰v­¢5Ïd£èÂÆßcÐ}c{ÑÝÖó½–UÏX­øCe !ðê:g£Ù嘗QïÆÍ°Q+²£0¹ù6ÏÝHiéI®†SʳªèWò‹_´(pnNn¡ôÁšºC__¢µŽ¬Ú4,eébkPZ(ëÚzX¿@©ù# î^©ÜÃMÛÅNä;kóÅLHH 6‹I¡¦Ôo$Jè9ô¿½éü=×æôa õm…æ9™ÿÝÖ™ÙCóžéY…¥–Tïæî>.ql —"3iÝ°ÿ/»f{šÃ°ö›v‡x5nªp +CeÂfwIÿ}Ãhp±y°ÌÔ׬éȬ«îìLn"2Ãí’Ú•¶{æå«N{5J­ÆÞŒKZvtsœˆÉɯÁ—¿r&=Ú¢QÍó-ó÷¡n&Ù|«¬~2;†² érû¡cµ–zn'’žÓT­»;NÀ K”ƒ÷Üt,¥ïûb¡í» /3€‹8‚ßn¨0ï…]> endobj 728 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 729 0 obj<>stream +¯Ãh¹7~²2í8q,tûåT +ÃCű$ŠXÁ®áØ¡Õ&8±²²’òˆ/í™´T©M‡L}Ü”3P¾Y ÈrfÈkÓ‰Õå03k—¤•û O¯3gÖ±äI¸o#9³Ç +®µþ©¦>WD¦’?ÛåÆBÕI é˜Ú*U'Ô>ƒ»üžøH3¥&Ú­ÜFæ%@ArŽ…­|ã–‡< yê1.‘I2ç#´ô„ë4ÿaB÷””Ÿ”5}´¾m’î=›-qM¯ g? Ûpƒ‹7u³½F4ò†!àh2›í †w{))%$–ìBV±êœá—Ò˜› y¨Õ-hcxQ¬ oer­—ºbW¨Áã cŸbÛfõ"rùpJEPxÕc¬—¡Ò€A)‹1Œ‰Øwu>&a“'<¾€7÷$v`ïnq×È” ]ľÌ=·Á!R œ?þmù>O@kÅÝFÜAJÏË34T ~Hҧ×Ææ½JJ•Z>oéFÓÎO:òµM8tw`%ŒWHo.ÕµpaåèÃÊŸJÖNbÛ}Ôö »ñpÒÞ#+ã:+Mw?8š¶ÀJ+5šÓ"f8 v®JèLêñžçE—¿*ŒÓåSž“–q>²ÕM«ÖE‰UœÞ*²Áÿ¯`õx¢Û“¶rAÿðÞe¡Äð]È  .;kpÅaŠ9• $óúGæo ¨‚ ­ß3’‚„ÑA6í:ék“£ ¾à’‹ó&Ë%úÕB C¹«ô†3V€º= A²:ñÉ1–w!Kû±;«»cOÒWˬ‹¸Èþ4X„˜: TŒÓ-†G±á”w½pKU¾ßõ›¨¼aîÓ½`BdWl‡½~Û¶P›¨æÛ€óÒ2¦×˧Ž´ï}hɃ‹ÖÃ*O£Ìž_@ÄÇ·U~¦tÈÕk¡ñDy³RZ7x²Gs°¶^­oÇ#»¹ÛRelãÝPa˜-jö] ÆÑ ¹úb@\±$rb^ò×Ðqקî:‚žóq?»Š‚'ò¢ºRi¦Àg¸ÌBŽfĽý¢ @Ûê$Ájªo3n®qÑï:{¹Š’¢ì ˜ ¡¢¢º¸s^÷ÍÒ~Z;™»;yfžöš$„K˜iC3ïÔC¡¯=ĪF´Z†?Ù÷Óbe7¢±¿x¹I xAÖ@\¦2˜íYí¥BŒ— ›Ã1¥¦í4Â98{·%Tg²_0ÇÏ©2ž‡BwäyŶ\ß“Gëu„Àf/íüA -²Kô—¥ó,¸[¶ô_\ÐU…Ɖ˜k;·gÓà{¯ ŽÖ Œpákèv 3>ÎV÷Átf“ûøë݇»c!ç‰d:σÉMMvçs™!%EAè#Ò¶wHy4gí­  ËѵÉ|;t6ÿ +endstream endobj 730 0 obj<> endobj 731 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 732 0 obj<>stream +¬Œ…sü€–e·XÄU—ˆ÷cò®;ñ¯I2Î<4[oÌÓ!ÈÕÜåÿ´L×N¢€ ÿ‚â©Láì¯_´µ‹s ¼±0ÏõwF…O+½œ˜0Šxk…´ØcÕa°ùÙŸ!äéÜ +˜¥aö¹u½iêýžBà€”iE8åìuË΂4ØV§"°ùR¾›Ð[€«x¤ìr)U¢ŒÈð€UEŒVÜÅ€Ò—ù½ÏÆÝ“§áݹ\r­žƒw]M»x¤G1°.l㪓cA¡ª§æè‹[V ƒöžJJ¥6Iö`þÖºÔõ^åÎýt‚ßýµQ%³q5K¤ö;*wc”P%"VÐlË„Ãg t Yç[C¿(\:F.‡æj8ðŽt¡X'¿WÆ^#ÇŸjF¬ˆ¾Ó6¢”* ¬[*Lé-ô*Ö +bvãBf4ÎÖ¢@úù‘Šõ$tòzKt°¿Õ»ÁÁ¶4"x8Õ-kÂ1QËÉÌ¥A'—Nñ©ìrå¬;»Íb ÷ŸX6:ÔÄ‘¿Uj#YÃè3ìš“eâ:–ùœ¦úÜ£¯ªXòÏh ]i7Ò|£Î†à¦îØVˆ¡g‰xmR8¿K  ÷h?kÇ,kýœ¹¯}[Â(<Ìýèºu?x9ù¡¸uÃÐô®|åößôùAªhsÊNÚ§Çz°˜õÖúl(Û•aH}ŽGIÑŒ‹;.œXaÂMulaßíjZB#¿Í¹¦îW5Åt©ô>™Ø ¢í}¨ôF©Ž•”kúvÞLÁƒ¸Þnq€í(Å0YKž³µ-¤ 2«xZz<šOâ&(¸Ë'&  ]çîÅbe·k-ëmûUzh݈¾…VßĬº,ÌÒÏ!BFäp¾€üik”Ì-"mµ$û4ÍÕI{z…ËßÙ@•5V[™ˆTS>dÐkAà˜åÌ»äè2Ì_zrB6|Ž›É1s>1GðgÛßLcì~ò‡Ü©2¹ˆzŠ‡YOãC¶ìbvÅ`Ì/-ºz¹‰,€~´CÌ®ñ)’”kgCáª×Cþ±`@=}ØrÖôÉPÿ¿U#ïÓ!~îEe Ó Ýú ¡ª¡‰iï/™8ƒÀ»obSŠ(¢«ó=}Š’ÂJì¦%²7^à§jà};#í§Åîè/^·²šo‹·©ÅY¼çÑ}1µãàKi袰jÌîϼD‚[|&öû*7èQ”ŽæJ¿ „  +˜¡€²{cè&ü?!™ÎøËêº1ñÌeîn*˜Nedpp¡åäQŽ¦tX%bïTÞ„HzhæÛr—* +Cß‘ÊÉ–0©”¬[VôJÓ*8ßÐSw‘Yÿ4æ·è`9þ?Å »ø¤–Èm9þ0¹¿â|h4q1ž…äN¿Yöºdz Òáš™zù?ñ„aÂÿü1£fµðDD ·‡;éä~ï åg#m0ìKÛ¥þ&Øì±·Ó:‚mX¯—å·e×\d¾®ýô§l­.½Þ@!„c(ʺOš”l:ÑU,£Ú^ק êP5b \åÒéy´n¿ÂªÈSsîu }Ú'"Án3²n[&3³Ž‹å<²ç ï$À™lkŸÿ ++Pü‘§¯Ã;$‡16Òk!zWd¸Ö +Bj o±¥Ú×ÖòÀ¡øôî3‹£~:\§ý—…œÓ^á+Gf¡×ÿ hkVyþºÑÈ‚÷D‘_‹€G +_Ó±‘]ØtK‰&Ǿ HR ÊW቟Sý· 2g)7de³1â:^Ì'Ä£MƯÚPÊ^1åÚ3æ ÿcËR”»·ð‰h 5è<1½Ltsi³Ø¬nCÅ ‰è‘N¨p~¼´Ÿ*½-7À£ú[|¼‹;V{­:éôà´ðñ«®`7ˆaÛ÷ŠŽ×òiC§¹ûÜ¡$Tg‘ËT]Çæ éHP¦Ißj´÷Ñw';@^ÚÅ †¦Aa/j–áôhl6'.háAÇÑYY3NÌ¢'ýW4úÁ*B«B_ê±|þfðП¿_;”²þ†pÄ<~½=ýOñšY-Ü­ÄQ‡è>ü˜PúeÀ#úˆÖ^Ý“5;½Óöa~š ð·ÅÓ^¶‹ÎB­†ÿúz1þƒÌêhaƒË- mÁ(¥×®ŒÅ—°Wc[Í]A³9Íä$ܸҙèûCY˜a#ËZÕ¯ÕQv[G&9¬Çr¯­Â9]+°¨èŠâ=ù+aAüçeRye‚„v»šI (eš±ÿÜ{Ë85–}ºná?³Åcs š!ÂéÉúÞ1&z4¿S‹–!–¨»Ù3ºcU·Ù}ß…6, +ðEǺ²8 €÷PBóÃ)ì§á=Þ¾J(Š?ŸR†ƒÚ€ +Í4“r\’°Õ>ñŒV¹&)ngÁ¸Ûºw.½©ƒf(÷äp^ÀVì0Q2O[’tŠ²#˜šË­.û—œ"nü×ëâ5IWXÛ’ºø.ØŠëQÖ<,øt¥•F>H–žéŽé3BHBÌÞÞIÊ]OŒ$•®îOŽSF™ +‹;Ÿõ€zg-¤]0pêýÇ™àJŸÃ€[u{–ß‘ÍE EŒj8DÓ|`€¥…zè ·Ä#:f}é¨úÍý<ØšØ }Z- 0Ž@nžkblkÚŸÊ`€Aðõe¬!bª,TÔˆrŽwç7-¹á¯Ä}¨°^l¶S-Ð%Î&yºgíìË=׺$—×(Šå\ò†*ËJÙJöék¸Lóžµ³³½aƒGV3«µ/1ͱa9TåBÒ"Ó¼ ÉFh *<µ¿µó„Ž®Øî’è6<@6ô1f8¦.h­ͯ<œ, æRj³4ûC(ã˜9MµÁßð¾‡A õòw9òΊYèÅŵ0ò#1‘芼wh¨Ú„ßäËŽŽydÛI‡çŽ–Ã.–†|Yò ®¤Õ—ª¬´zr™j<¼ø289q-E âîsŽ¬_°`3½¥ñq@c,r«I°±·½Í{#3ô/øâ—Àkµ–²ÉÏÇ8Øí’÷âÝ»W¼…ž:àįM¨£rÍÒÄÇ’Ñ\ˆˆz¡CŸZνs—åš‘@ ü+ô?.Ÿªªã -„²ïžÀÜ:[²O—Ë’×ÕMA©RgaÓ…þ”ÃõõLúº5ÃqWß*hʠ|Ï`Þ·<æŸl®_§Œ×bꆽļlÂcH­»~¥¦ÁÛêQyÖx&ë;Ë0ŠŠ(Ý1\}8>G/£Y|ƒÉ3Úæ…ƒš_H¬)7êº7ãÿÊŸ¥ˆËÚÞ¬·é£ëúL©Ï&çPÍð؈¾óûPIsðS¨¯Øûs[VóL8pÆ»Û|‘>Ö‹ºNõ“2›‘žîäió®í[•É +ÉŽ+ ÙX_ÉeNdÑhïÅ{G÷ȤÎ%"}ýí5d¦ ëº!ðAÝžo”Pg¡‚ÔZÅßÉ’ïR‡+G}‹Gœÿ8 7·™°„šõṩ¬¹‚ÒU¥˜—ï)"â[-σ¢Ö¿÷Èl6Î}†HuÒf§iL´§Ù«èzTj€3¾¾"Ï÷Ç?ÖMƒ¤W&½=(¿ ¸n$%=W9C…@{”]œÞÞùQ+©6/ƒ‹)²}zƒkú’©9yw u§²:Ùν¼—P]d “õt‰±}éøu8N IÒa2ëÓœ¦Jm^‘=o]Ý)7CY¬JWŸ¾’$ó} í,ëYv8§œ>ÂMˆš{µål9ýÑ)À9gd± ×lDzÓ óK’cS +ÜÅCÆÔ›]_‡U$cGVM‡Üpåœá$»w5ŠŠ›9ekº(X÷¸wvú¦&~“ª˜“ÝìÁJÏŠ ;ö˘QtŒ¹«!âLnM‚“ÒLpUjÿ®4J÷zgÇ +endstream endobj 733 0 obj<> endobj 734 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 735 0 obj<>stream +P([í C}C¹ŠH!F@ýæs¬[i)ïdUË þq‡ûXÇcÚ°F9’iv¨F<0^Zxá,Lcr÷1JÁ$¤ZÌV®t›Úƒè<1Ï3‚èxOyçªåµØ‹Ô[yQœa6ú¾‹qÒºY«Z¹Þc»G‰èª kPº€< ˆxè€'Ö{,px4)%µáÌþôäL¢1ºáðuìDX½Ümæãhy77ÊBæô×YÓVÛ|¦SèüÌvknøy¦%“zù×ÏáY½Ú@8¥Ù:~ ´#Ö{ÉQN¡øïL&÷VÕC”€À ßXŽÍ+Aû©ªé}K#ëáJâ*:HPWs…Âe>©M»ã˜z¶à‘ŽÍžºoiP ¼«Œ]¼¬˜qPÛ”uuvÙñxgq…d µ—³¥[Vª#ï¸é$"š8Cq›l MÕxÙ‰Î3Ù?þÇfþý£9TPjh~Á’_ÅÚ9Îð1ýØZRg”åÜDíŽtŸ8LªÓ†½CÁìýÛÂýµû /·šd¸N„5ÄáÙq‘½Òz²Tj;yû'$µÐ0à¦gyp?–¯ç,Ldu àQt=µ‹Q¼åVÇžMÖmR„1Ka6÷»Ãe+›Ä(Ò &Q~°uÆš/"!tãWúׄèšx>c±ýœ«néÞðù¤߸úƒJÓºµ/Ž¶ï„{¾'.—0"oÞç[ñ0T‚*‰Ë[B´¥úÜ +Kzò¦:8i®0µäü²2£ÕW?dÂ!{z(»o<ìêà„ÅOýWý)-k§Ät¼†žô,îNs¥´=‰ã¨¼<¹mýM†]ä¾Q:·ð7X[•—uçt@ý¥o"è?ᚶ­{ +æÒsÈæœÒшd wµëú×{°&vZT.S‹Å!xŒ¶Î ʸ¤« uƒS Îgk••{#ÖŒ*è8WìFÐh§*Åì‡A¯ÎfûÉâм §ÿßûh ç^‡î ¡ÞTdf¢dÍ@Æã7¦°ÆpÇÖjÀU–÷œ8Áƒ#GvžÃ‘‘Bˆ”¾7 G^ørùtGi-5šB}ÿòºÊ:œ¤dîŸ1½üƒNgÍ2=!OwëM˜'ÉÁÓá¾Lµ%dŸô¸6x‰ï‹x«rB"¥ö~fzü4œ5’öÓY>¦ú‡ªYàeëLði^Åb°ßظւ¦äMA…Cdz¡büöº'¦KDi“±âĹ¥\/‰ì³ü§&t²ƒV€ljTƒMPݽzÜ>ƒÁ‚r·ªÆ–•]®ŒÀÀ¶1 ¶¿‚w)Às^Lõ=žNªcÒ„¯ù qޚ͇”ºk¥Ð2Ɇç%6+ÓîÒ(ˆy™W1‡`” ˆËòE1åûY\[Uß>–ä?OhÒÕ;›Ïã¹Æ‰Õ%iëÃyU°:^ùTÓ—9zÒÙfôpl_ìäŠÜ)pærlDKÝú(CáßlE¿ÊÍ8 qÞ¥P#b¡)"ÿ]¬TÚRõœ•3¥)‹÷‰ +%=¦g-±»ò ¬\VË3g ÖÚm+&i +·+nCŠgêäðO¼þq¤q¸³T€ÌÓÃjëy4M± ¯1À^¾‰M¿iä†ó×ìðz”\`/ì §EÔÀhC%”8]í9W MÈPâ„cÏ ëõ6ï[O«@ž ÌÌ^óÅ÷¾û©"¦¿<ø˜cÇÇïRødðƒ +P *B©:hö<âóSéµÒ=mZäþå± +¸þ jyEßnC¾ŒZ¹ ;ZÇþeüoçóGòN3[5ÑTÏ›w+ÓH+‰R ½›$®_ Vþw2ÿˆ«Þ[KSÕ—ë…øà +VÔ–TUôõÜf5„Î|«îBÉY}| æŽ)3ö6xé£4Ä´~+ xÜj¸ŒÛ{Ú~ï& T?Q÷ð‚OfáÒcÐ^Ar8íß»á”Tצ£­t‘”cXゆ+‰ýÄÖüwÄt‚¨B,6v"]åÓž–ŠžÈ\5züd~ió¼¶@Þ].ê秩ý¡5 çã­Ù>·)ºxô¬fãZµi›‚z'7ìp&bÛêë{Âœ¯ã ³LÌÿõ[Vû*^®BgLÁy.ª° fÜP¬E´/È+†]äÆ Ñ-‘HÊ-Ç\®)½ˆÍ<ó¡8o~l¼êü}†ºó +Å}·ÐþÓ“LÀS0ä;´ ºÔ“ÞÄ+Ù¯83æÒ³c^ Ëc¾åFsFOŸŸþ„) ;ýç?.ä6D ¥yIEÝj¢ÆµV|™ÓS”§W–×4šcmÌÓÕ$¯Ô˜ÞŒF—Qž¸‚~ }i5*ê¨ÀGI.å,…Ð{¡òÞ¡xû”è½ý„\™Äܨóvj‘›Ò]‚¢S¿@¶¢ûÇ­Û8ºÎEþp®ÞDxoU”z¬VÕplˆ.õ¿¸™Öúq,1ß™•)øõÎ|ê'ITÐÇådQcÑÖ« +b¸eíYÏ€K†º§þ÷dÔó׃ª‰=tj‰y”ÌûçÍ0– •kAO¹Z<.ñP¢|¦mØÖÚà­Ð›.`n¤XA:ýÜ}ð¦Ñºò×(ûCí¼fµ& ËOwŽ‡ˆÁs”0¾¬žÀ¨;kîÙDöQ⥓Nà¬5=!噥­ô|wl»,Ey±å/ýÝæ\ÃçßÀ¢x¥ FŽ?3¹‘ƪå1‘£ü¥9aš¼T5â‰éhχzwÚ’xc÷±•‰V +½áH® =Ü÷ÊVó˜J›è°„Išº;@!óÜ+õE!¸WoK”ÄõÀãì)8“râDÍv¤1ÿí ù·´îêÌ!,5áL$÷ƒT0˜TaA#«Ëwí_½nVu(üÆ÷6Q),ñW‚í¼¤MZ`> endobj 737 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 738 0 obj<>stream +-Ñxš€É¶Ÿc]Ú‚Ç8)£lERsY_¤ìÆ‹‚g é=´½ÎÜH®Í‹¹3 “÷ÄP@ØRñD;Óv}¬ž·hÜq…sPiù´f&*QC¦ÛAúóïLq9NÝ/¼{#U^S‹À?ÑVš¢gôaõ£ñ+j´0Ýx²¥„ˆ§±d–$Ó™¿âV¹»áæÊeÉL3ÒZ“%Ó ¯I¬~­ð¾e¯~t{íbTõσ$gÚÞ«S†‰%ï½…[¦1Üã—ƒ© í”~–^½ÂIa¾t–Hü«éiã +±×E‹ý(áqƒsÄ“ª?Ó&áQ}ÎS\(â4ÆÔ:óŠ +á}ªqä5·ÿéF"vªå¼Vy¸ÜUKõÂîÈÅBØBþõö* ª¬²O†mV½RñEŒ2òIèHâä쪮2;|,ìy¿&ƒëÖ-úˆCŸ/½4f7ë/S„O=UѬ’»Ûíýû›»åü +^ãÓ˜·.?¯ÂNñÏOr,nx#8aßbmLŸì×ëßÏo$†·‹évf£h7þq÷ç€ä,±äOZÚ~à¥)*Nµ‚Ò,Þè®슆[ã3)Êô–Sª3» þ´l4þ¼ò-bÈ?$Ç}æ!„ôhçÏÝ@….`¡Bè罎–Ü]fI½{ù†¿½ÿí=Y(Í7MV£b{fêâTúõÏ7s5ä›F•þ®Ì®ñ€½£v²š89©NkåÀ¦ÑN¨ú1f ³R®Ï^º‹R)tÙû¿¶ZŽáaåêŽ@ },œt—,$'\‘_²_akÝjéþ­,„)6žÏ„@LñùÖ§¼ËÏãkU;¼vц­oŠzQçùf\ZC7ø2<ÌñY˜=’ôˆ'JúEŽþ.š±gµ< iÌš?ý?Hé23síÀRÌmæ /þåFÔë%Èôÿg?›á›w¯²Ž¶ÆUÃ1Òœ)öîHÀ 6Ù”¥ð¤ ,KB¬ö‚bˆ^ðͶð8è2bO£ÏœrYù¡ÿ–ª6›:¦äL¤4½v¥"|/*wG]=`þÊ{Œ¥äš4Ž±¼0b´Jcx½ëç,+–¨R/«ôVIôTøLP¹÷¸~§^ˆ4R$)·×rI¹¨]| †û@ÂûГ¡oìn»YœR?P¯¢ {å+SÊì­jÖØ¿–œo%ÅrßµNN°ZŒz-H}dRQ§TjJÄZªð`| e‹‹†ƒFTF¹Q)¼—"›ETŽ”1Cx@Ȭ<‚1Y)c&Õ¼µVRd°üôSñÕ}â]®¨‡üµLÍ8›¸SAsœAÊ mEwäº?ÀžwDÕWp±L$j“·Ê„õ$4¶Ç±ªØ² ªMí¿Óè‡îš +¬§m4 ŸpÖ>¢wF´Ù‡%íÌÎ8¾ïNÐlóTQhsâãj +Ø™–ŒJŸÝ´`²Ñ(¨\›Xõ I2N0Àžäq2ò²ïËE0b¥¿³‚]ô +>Ô¬‹•Í**!4e¤°›†PG_Ó¹G.ºPµÄèzþ•kׂÕ-4‰F»vO Š¹Dx &µ’¨£·,´œ:õJbC¨_±~V#¾ï +ü•ÊÓÆH˜a×8ÖÉ~Ñi2—£Rœ‡¨ür SNçûôørE‚ÌŲƒÉU¦ \3ÁÂðùî¾!ç ‘ÃäK¹Âû­Íò{mMa14ÁÖb{—ù_ÐÚh´}s[qó¹¾$#3Œ.;Fð2„"Yˆï™³ßdpE¨-wì’ƒû3xú°ΞlàaY•çb8g" +6›é0¨vŠ;j²èAÔÖ›N¯lâ`vk w¤HdŒ` ˆ,(Éf£ De[›d¯mî”ozVÊCJ€/«Ï¯‰`û}»ê›á“BëÑÉîE0#D¥·áaD ÝrL'¾üèÖÑŒ¯ÌÍ&fn(É‘z"|ƒbã2œAɘ‰óf oyºMÚâÀî{o·)­›ß]5E²H+™!4Ÿ<¸RÑ»ïftî–k}ͤWGÙKk9æ¨e£Wɨ="ýÆÛ¿)DQ8 ¼ „„Þ- V·à¨ìĤÒO-ÂXï5R%Ò'3ŒïE•xgR¯£¯¹²Ÿ´¶¸óÛÒeþ¶ˆŠâœ‰‚Ð5$÷Ø«À–´í$m`µEkDS¢øéý¼eÌPv«únnO7ô#Gß»²½«VHb®ºÔ|üŽÁÙ=‘™ÊqNä¾v³V}“O ¤a¶À÷sÙ·2äƒmªçå‘ +@›¦ vCÕ––6/;[Õ*¹>ëŽÂ^é5ˆ-?O'¡IGCÞJëKæE[{¶ƒRâ¥KÒûÁ~%blíbÁ¶°ÅY*9þ.Ô uÛš‚™,^ÕÏÜúºä¨5¯œõ&tØ_ÖÚ¢"ªOþÈv€ÝQéëCDXÙœ ·{1ö³ºWÏ]VP‘r )KTr——5Kôí[~Üt«kÿòȸ[ŸÝ³0Üø4Ë¥ ôº,Ô­˜{m=·ü’ì±óK-ÚHJÂÑÎßÏÔ6ìA2<äS¡üÊ'£0ï±U‹¿H£{ô|á of²èš42Þ§ïy__Ô"«/-=_…G…@·Á+rqÍ¡Á²~€kfƒÙ¿Kù#ÝÞçfø’V®kúhîäµ\Òów\LŠM +4 »xñÞÚÖ>åÈ +IÄy˜ÀÞ‰yÃÚPr½ €†1'W¬ ìnæ.±5P®ÕRže—½wXÝumþý‰‹CÊ«e•ðëä15ž×¶¿Zd5üxû¤LêS¯E 0Ï€´>¨—*u.È"‚-ÌbtÓ~áÔqÇ7z‹ÉÝ>‘ÙŒ´EÑÍkÝçÝoQ¨ ªñõʼn(\äÅFqÓZÉ[Óëg‹Ýk‹ÏYõ’¼eJoê–í–Å~rA¯'Ë.ˆ Bµ~û)£˜~iC*dÔºòí´>”'á Î ‚Ÿ5iÑ\œ »¼go‘UHy.>^ªB—BÜT4È@ADóþ“ <9t +H0Ùîxi‚ÃQcsð- +±qþ⩾”yü»³·è ÑV"1)¤Ê³5ͺì -#ƒ¯:O^'%_cVž_!_^(B÷½ûÓâgœ>ÛJ9ŒŠx¬å3_+M3!Ø `[‰|‹VÙýxx*k +Ýj0»]VI gÁ­KV*dú¬8ÃÈ~}Ïøê×ä÷/åjŽxÔÀåÛ¯‚¤0Ñð9*êô#ºÍ ¬ÝûÐœÝ äÞn®ôqFÛ0_¶`áIþRlN V·õ&ç'¿(q_D:áƒ]è—ö¬Ã½¹ Rõýý·RGAPÛ°H·¢t<%î´ˆÂs|—)Wwæ¢ö +Ù‘…ëUñLñë÷ GÍ/QÆï·J†äº¸Q¾ý(SÅÿùYã.ëeO“-÷;¿K¬\,ªè(”`nøüÅå(… ëìåÒ]σRˆ¾òIèþ6Ÿ' êþäÚf0/IdY-¨ VuæYYúÑ ïj‘Då|´„ˈ»¥}zÃ÷|ýVþÉñ|ñw¤w_-5ýÏ‚_­PóU oPpºž\žeÞR‰ñÅ?°KÐf›`‰£eOz’#ã|»ù|°XvÂíaЪ‰ÙW­›G*LÍIõx¤£µ›&ÚÌèS¬‡¸‘SÏf!кÍ ƒ¸®¬ãØì?‰É¬ïk"T!sû gvMv“Ä}í? +z’úy^i­¦ŒWѽpQÏaTé>Ú hý?) ´‚d>I¸”õÁ¶r“[”šƒ½„•}]?òs–ºO!¯¿ÜPvÌŒDþßø $­¾®võ°í­Ç’óBV¨×1‰6FÏJ{ã‘7š ?¬ÜÞÑ@-§y‡‚P’öÙ°ÇcG þÍM, +ÑKTÄ1ÏÑ×é¼é­G‰³9=ÌOµžMëƒJô¿ñÎÙ¼¼O7Ç-G©5Â/%–Èx§¥y¿£„Ês4ŠØ}WÇþ‰Áá8e + €–Õ’àðI..¸¦ÕlwëM%>ë:öSíîÝRwîNyx”¨­w}LŽX¯§í˜q¡¶²Yãp¸§ý]0eÊZ'aúI’8þs–êƯÃÇpozŠ8@¶éPü¤û üª»±rÔFñŒÉ‡Ü¬÷Þ4œ»f¡ç.“U‚Rø¹NžRÙ~BAÝ_ßó¬1Ùj¶Ž··sºú}(kK¬ûÙMƒTžs¸oUø"Î.åXŽ6‹¿'z·¯0ë’ +0ê5,g/Â9f ŽÅ. ïã^âð›Ï=Ú«/Œ– DV€ëI­ê°ÀÝz/ +"d3ÿ²ø eÏ–Ýg–Ad·Ñ(uH¾³(gØÌﶂ + +,U˜M‘›ìÕã²J’E5âúaÝZIËSˆ‘ãsùŒw˜/íWùùXñ÷ãý[pP +9yU`-’Â^S"¢5¿§XF96‚éÿ¼Á2!¼ˆfI³Qè¡p:åoÒu4RÕø¾¿ +endstream endobj 739 0 obj<> endobj 740 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 741 0 obj<>stream +7‘‘eW»˜k–3C µ ƒøQê¼<¸7Ný?àn«‰1αGâá*U9˜m½Ãça•" H„“q½]–ð~‚»ç Z“˜rkb‚QgpXf¯ù¦î’1þºf½D-kÔyWÎe†¯2Ä+aMÙö]ÀÒˆwÆøÍ+5ÈD/³ ó\ºD +˜·e_p\aæEçЪhDt;åÐéÃ@Fmð3µ¿juBèv¢H®öo²rüÿñrZ´LlW[ëb«½Ð¸lŘ©@·†ŸZè¤ ÁèÕ8Q¼Ù5yÍ«¤Òª‚g)§­·uâBBý#t^?ˆ™l}"9<®6ã@C$Ïì“êÞLüSÉ®žo¬Å鳦q|Á»Ž˜ÿîYgG§ÇB¼Ñ”"äBO@°ÂYTšºM+«ØˆÃ=, ül+‡køm2s¹«ªè^nÑ +—`ÁO°9xX“ÖiÓ +™û¦Ñ ½›½ñ&ÿˆ×í5SfåUÜð·þÊÄõDÐΟâÍêqho®Lfj#óö·|Ÿ,†×X'F%,©NͶ|ÔÕEJA?`áÊùÂGÁÍ›£Æëíÿ«_¼åÿM±#vxQXìBhxÅ#ÚÊŽY‹ÛÃ[y/i1 ›s.»¥¯ØÊç™~˜èGiUV‰‡¦3EB^™‰¸H÷i¬‚*yˆ~#ÀÓ¹ï7-Ÿ‚%ÖÛkëŸÎTfé±r§ð@pÚîP‘íuëvÚF ½ØdWW¶%)%aÏVGÑòovcât®I,åšÝHòí5ÇzsEú—Ä°ç§/ò{m±(îªq¸ÃÎôAçìWŸAœ'ôŒ,®ê²ßìº5Ìßä@Ø"¨KTzu0KRd`'…¢ÏQtw¶¸è„tfÒ)¾¤n8ã:B?v§mµø‡Ø‰ÎLfÓ%azlgüã—¤À`ÂÕW¨n—õûÈ$¸¾çoêí{ˆQO(N00¡°ÏçÓ`èŽ"s‘RñË”M­ô˾œXlµ±Žð¡… +Óñž~TObÏÌiv샗'þüzäTm¶´¾¬Ak±Ç×ÀÀ¦‚…d_0Í(¹Æß –ج}Õ»¡¡‹ GmÔî‚råÜ3}þ½V¢“•Ìn/Ǹ—±©:=„5Å—©fúFd^%ÏA¶¶¨í¬Äí‡÷¿í—›¯zWšû_güÍ_éèôÖíJçF)•íF€Î*Â\(ëOµ”§3 µµÏ;Õ\žææo€>4° IÝ~”\L;áÁ)3bd ÊþànðyÊH² [Þ@'í'ÜC6(”®l©ÒVF,ÑHÏ;ílä¹ë÷4GÖ Þ0Ï=¢bع\lŠ;žm¾Mez 6e‡Õö†õ©-ÅKõéZý–C›;m\ˆÊ¡}m Ã=‹qÚ{g„&‚f§xz3½úÍŒÆgFZdîCjŸ |þcÄF¾ ,.â*üOU–èÑ¿+„é¥nàïÊâ•Ó8TœH€Š^ ײÈq¹ÄI“V&ž;zÅ Š5µô [Iƒy­:˜6ò4‡ y²I€txIéhòz8oX'Y:?¿ö]£òÏDóÄÆ‚K5ÀÉ9d—èTÒM|jÓ4¸Õè|ï} +/¦¨…¼ÜzD$&»Ëêè㾎ÝÕ¯sz|yéÃNü®vÛÓnƵ˜ç9AÔª=ü[ÑöËgòáÎNw@—Ò<ñQTk€Q]“=›0~P˜o›‰ +‚êáèâ´Þ˜p Ãî ©èöçc®–!è¢@M^ðd_¿ï$QCû¶&fâFS¯ª–€@ã0Þ PŠ?ÂÖ€ÈHÉT«ooâ¹ðšàÊyðeÍ„ ’ÇÚÃsh}¶1ÓHÞª¶ÑW9Z%g夬y¹¨JÓ>0,’B֌˖–5þ£×"ÈøÿA…:ÿƒrs:}.¼Ï†yÑx&MßÁWku+UïRQ¥¸MÖ}ö«è![ªI`9iW·«npÏ“?gR¢FÛ¾¬WˆSDWUN­tTl·óéô¬ îfçž'e½=ßh¨¥±FàÏúë2Rš)µ‚’A²Qöîâp‘äÏ­£[ó_å¦gì!°É¹Dõ¹xÿÛK Žñ"ê·ü@ZÈ]ó"øƒõaMM¿óÁs¥Xï^Û¤†B/<ÚÄjxËÜêòlnÄ⦞˜x|çÚ¾Q=û™J˜¦‡º~d&;¬e´Éi†³K䮈ã¹_Eî´!åe¦¶Vº›Ñù™rhó %× HcšŠ%vȦig.6 ñâ{¢aD#±%ªøù‚juHÃì¾KÓ?¬?Œ±¥"uzè'¯#ô%äŠuÌ$¤­#Ü~AkMÑ' Óà g<á:+Ó¯³Ê(±rè™jÄ\ŽTÅt î”Ö:'rà61…T¶“\ áñÙ^Çnô¹”_Ù}&Ù[‰‰Ê0$>y‚´$Á¼©ðæ:ûý*çæ`]ï(y£éW u/BZ…~ÂJ4îb‚/f¦€Ï¹ ã¼Ũ8ÁHö ¼Ÿ}‡yÛAfгé¦s +WÉAG*ê_Óo»’. +êäy© +.> 6t÷}ÑÒ ÄÇÿeÙ‡VØÃ"Œº›Ä§hÄÉDØ(Úh¯ÒÄX°‘F™±ûôß0FPn$•ùä_gò×êäÿÌÈ3T8mWd>—ÔúΆõ:#5tëÅ”/< ëZ%)aã:uhçû­ócQ¹.f‰3öÀ嵦+'xþ½s…açMôš®•\ÀYÚº¿{Y /ƒ ´^,?ÃèzÒçL?£W f&û¾>±Î¿Ö·C¾*Y3ºnÚÎâÓƒzQ`}-i;ŽÞ¹Ö_kì¨ÑÈ/Ù/Š½×;8¬Š1´G3†úv*žŽ"{#ÔsãƒÍ‹3AQÝ:ì„yfX;#z½hHÛ¸lú|gù¡xIÀ܈ëd‡/@íþi»™á°ÇË'{ÿè!ý’\@²l*ÅÊ‘ÞÜYòQ‰`R«qýHb`Š¥¾@tÈl“©›¢ÍfŽVI¾éM®†•$OÈýž{?å•hƒÄU +4`eFÄ#œû<¼õ0-¯•Ó¶w«:0[³Äü—[:qçÁ÷ª MØÍ.É+Ü_ÒÌ÷Š÷ÊÞUíÞ’î ýK\$?ÈÙX²D™†#Éï]ŒÄ>ئ´ofÐP'С ¿¯¤ SÑÖj“WF²-R9ý>zoo“Õ :=½åꊶáp +BÂf”·?‹ôÑ)Ú—àÞ»ÏÐèë®;[ÿzS¶`¥eÄÏ*·H_øòá3Qu×($ÖÙ¨ŠfYž·{îÂÞsDŽX¨ÅѸωÙÊVÈy)Vj÷ùšA8bó +Ö½&O³Ã61ò0¹òjJ᧯Ž2§ øŽtaø>hæÜ—×”ùwXÕa·ðËî.‰ü÷nƒ†’¨O.ÊqøË¡ƒ@øž™låk¡°Þíx{[á +ÎWècu‰âk ls‡—›ô7LvŸX +|¸nøš5‘^§h6Fø –Y«xºòg“b{%ý^­õN~YT¯‘i«¼^¾‰²l|¶Ø±œËßóŒ÷Ð'üÈ(ZùŒ•ýÊø*$œÂÿþ5‡Ý°¢g@çJ×Κr ½W2<…UWw [OGÇ +’ƒÍþ`ŽÍýâùöÿÞê³M¶öº‹;ÆâÕa›qÑ?¼¥ß†¼(`Á¨XÝØc†ìš+n‚º¹O”ës ÝEÂäOCü/&ÊÑüCî×wS.f%È\J3 š°o {l›÷•›ÞØM—6­Áýq à—Qt›'+$WzZn$fÔÛdïKöºtÙR;ûçÛü¶ü¡è +endstream endobj 742 0 obj<> endobj 743 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 744 0 obj<>stream +d`Bí*hEÌÅÜKKcŒhh?•yöç˜3·T°%Á™âñ2u0:3<4Ä‘Ñ*ç-QàÑûá£h• ;Ëðˆœß»_̱ŸÃ6Îœ÷ZÃP‚»/;Ö›ˆŒx‰ÀRÂBTÔˆÁNézáÕœÒó6ƒ;Ñ]%À¢Nõa°èÓ3\Ç&ºB±<Ó-”Õ²sfNÄ;ˆ1 z$Ž«ëPžz‹I—2Ÿ"¦P\ç9¥jÈ•ÜV&&\©pîy¤tùµfçe¢CÊYM¶VLKavåÒ£9œRM‰+e»1)ÄfÒ:Qqy8iRB"S¨Ì‰ÿ=Ž¾RÕox»”ç•ré="ÑnÑDȪ46¦­?nŽeŠ7E®®ˆ« +*ðªR®ZS•%$J|ã?£0—6Ä@vrz Yv`ÃMnR!»Dû…ÎÕÛÉN/V“ËÓø(E]hYåÎâÀœƒÛ¢úèRèï›æÀpùÒ†r?°Fƒ5>ÛÓ44?ºüæLÉŽúˆ8=šwÀc0þåm<Þ6´n¹?Sðaóý®MËœÔé#> ùúó˜ûâaŽÏ¡u½CJó63ɤÔ}‡²ØZã9¤iÇì?GÝb·r—o|ñ«€Fqë|sDŒãA.¬W¼ 2‡-K¸”íi\dàyÆ®g¾Î?ÁRw+¨Ä ´:ûÛuêBC‰!&æ Nê¨WCüjʽê.Ö¥)ÄnøOóÇ/ÛêKQ¸E"òª”ò'ë¯Øa¥Ìµ«G{…àq\J©ÒŠäM¤g[ΫA]ºBžÕnTØ•Òë¦cï²"5‘ö?“ +îrT?‰ ó]0·Eò6Ÿè#ÔÜ+¹ÕåB’h»fy²þcƒÙ——ïÙ¢².BÈÿÕɘ˜èR†yháÎì1Ó`Làl1ð%ôioÿL#mãZ†Ñ^̶˜¶W9ðSœKØé=¨=u›k; #­°ÚF¿Äö¡Lá¬ëtú›ÖC üÏqï|,ºÉÌf ÉƦ(a™8yBM@é>jtKBLŒÔ¹å¸)£ Wh¶ú›}ÙÛ²©×GpUŠÓCG˜LÈÃð 7[˜ÒɆÛ7_÷—Ë Tò+M/}ÀOIò½|ÇAÄžNo5§ç¤+ùDè¹;]ùMœø;vmr( ‰[¹Éïú£]º±w…î%¯ æ›øK­Òû=Óm_»ïˆãsû +j¿¢ÅˆdçË|Xe©#£ ”Êæ‚^Ú)º) üv¥*΢gYšu‡P(ռ̘ÿ¢ÓýB0µñ†©ÿÞäŒ,mžd¦!¬ð´Ì»W¡G]y03xõWaÒE±¶kKŽ•èƒy7 rú˜ÅücQ#¥‰=g:ò{L^„!œr‹i惩„¿Ë7+Ap;ÖHˆÕ÷j¾„B×>Ü÷ü Ž´pZ¶žp%¥4t׋]ÕIB*ôÖq«d’L/ÿoŸßÉ=Pq"S. à ÏgÑù”~Ó?&î+-&9l“~¸ˆ«jS†šË°„æ`Úá3´dàðü1®<‘ôÿŽ +‡ßuSYàŽ ’©;œ{¥^Mk·ç6v9´Þbt5£ìnC5¡,4EšÒMJæS +q›ærÞ^ÒÏß›»÷T™]ß9 ¾ºïü­cª5—ÜëÏçI¤ÿ™ýzKsÌñFõ°}ý 4ö©úŽYxÛp§×¶Òa± -8°ÖxÄ")D[ex'E_2à¯ä¾¼ûÞz´b zb“ÆBðÙBªq{ï{zºGBÊ´’˜`öcÈ™Ì +“p_³$CyC¢&2ôd­\ê–3àŽLÛÍ=*>ï}4ÛàÒ4€³-ÛõѤnÄ­¿/m"PÍ`¾C©ƒÑ°편´àR<Íœ¿@Ú°7žpsë>y“5ÅÄ\ºwA»¡éØ¿K‹ »:¡ÿvÑdãØ·¼µ&",µ*3Ë$ÔØND¾€8Jé>qXOgË88AýeÌ  6¶s[2ž*(³nC8‘殚±²ºFº +ŸAe,Ÿ©äÜÅ…éf\0öfÆeQöñà¾î弃(¶¬ãúì¦Do¡o9Bµªnâ‹(„}‹ó©.îOI·0œ:[•.4egê±ì¯ ·X\ÜÖ‰•‰¸ÊO¡+y3…‹NM_^¡ûÍ‚ 7í~>RÌþ + úcjQ½Ñà½ã&®l¦ëÓXugP9d"™F`èòË^=Ÿ²‘gˆº›6ó Ç-l*€äåh,•~-ÂäÆOe"NñìÁfV[eñÇÊuä5û|ž»#¯é-ZYÍ®U'g–='|¸w±ÈŽÑQháŒ}zßÃ’©÷£ì\%R¬HŠïcæWBXX¿.0‚×ÑÍí5C;צLe·]V(Õ½O ø´öÜbj?¹jT" ìÒ,?Á0–E[wc•§}Ú‡–¨®Ù{ÕÜ¿ @¦7tÄ×.‚ðÏy °?²Ižy·?øíí8ngí³·¢ìÀ”¥îpC»zò¯èCkÂTÜYÔ¤$]ÙÍr»oÏ «¿‹Ò£ø1úâàÕ°?.£yLõ¢xάæ¡ð–ZJj÷Θ¯Ô†ÍaÕlÔ qsmúîÚð–&œfC ›d»%X 8ô+Û‰c# +PSX¨Ø¡ tBÆ•ØÌÚL⨔'ËÕƒS¥÷ûáÚo·øRæn=8Ç‚›ÛêÊÎEíXLêɳ"M¸èy›ÃÍÝx¹¡9‘ŠÈÜÉJØq6¾Ks(V†¯µº‡áQÀñY¤u¦´ID«8í³–"’6q\,3੺Aùt/wkXX&ÏóÝýÀ²Í1úå\^ìÈC¬ñð%ê…~òdÇ$p«›·=ÿ!^WCÞ¶»iY˱¨Ñ–8Í“©k8éÓ>3x‚_gÍËاã^P$³4ââŠÁÚJúoR,%WjÀÖ<ŽNø©À¡ÃƒDhýêv.l6A½6¢Ý£fÅf±Üà†A·%/cì›C‹ë +ð*EHê ʘP‘•r£–J@uÑ0$oÙeÔ–¦¶[%h•Ø\)q +qG¯ˆŽK;ú‘T¹S¸UDwÞc5®Æ÷’|\,9øÎ Éjã¿f@+"ëÚº°LûÒ¢Ée«8-¨ wPÈ”Y„(׬pýŒ/Iy’w#A0•ŒæDbØ`š\SzgI,БS$Œòô +ù× Ž +XP¨ƒÀ“Ÿñ‹Ðð÷M>Ë 8õщí·7pivbBÿ]Cûæü\ÐR¿0°M©À…‰sî+\jÈ-ð¬×ûÊ·¡ ž­ÊcŠD+PÑ—þ;×áã&/\"‰ƒ,£JL¼æN@3#AåõV¡?à ((€aqÌnL®dxë«òB›‰Úó8/—fW”#6Â%#íf˜`!‘Œ}žõ‰)§ÆÁ¬Aý±°q&¯Ì}PUyK Ѭš™áïøM?'·µ;â Åi ø_¦mß{; +ìqÕúmÔ´ÀÐŒÐÆ×|Í—Íýª­'ûN:‚Þd›—ü-S!(fZ‚,éýÇé8Fœ*}Á*¾«kÇT1rwz ©˜Û# ®[";NÛ`™I½œ7–Õü«å­U Ä¬ŒIç1¼§ôæ6ʾ1ÁýÓ!»Y÷Ùr{¯ÖÒzÚ›žUÄyÞ¢u‰=esΔgg9H ¹Ÿ@ñ 2œ•>Û­¹¯ƒKʨ ¶ÝÙÿí&‹µÀQ¦ÏŸg_PTÀßS8WC*Ü^h0kŸDÿ¤Ÿ]S"0ÃÖ:1#7Ê£7ÖûÆÅÀ OëhÊHŒE,nTnýôS àK¹ÕK•†ˆxê—*â;ù‡Ð$—Ϋa +ùý'ѳ´lpäVkFñ€š‡Œ:Üxr=´!Ïþ|ÄsµYâ"à4àeÓ®õÌÚH3}âð >i¹9ŒÁؘE<Òôþ’á>nwÁºŽ]/¹ú=‡s“†¸#C¯jÃdzµd¦»ÿšMu¡7°^/[»ódÈê5ýÜúûè’ÖTrés~Ô²†ªVNÒ“ bÞª‘ ñSHÊ: +([Í,fæ<5ìUáÍgAáײ£WgSº~¬û‰±_Â~ɸ´«êËkãØ´øïÇ\,¦ ëkcu‹¼±‰T ƒÕé/ÑõW¢žª ú6Y±Í€‡w§~qn™¹"ñ‰)ì™Öãt¡•ÈøÛ)èKÀò¨ŸfuvQ‚X*Ýr"Yí§lóY’ET¯û}ª¨9öZo ‹.´FŒeÂÖëZ½å“ØÊOAÖðoC¶í™ÒÎê´¶çuá(qÛ +3?[ó­ßF£ËÛ8›„š°j…/1¹;9#:P½íªäÜ邸ְT•ºù¶”ˆXá$êÉ[Ogd3Ãx>oP¬†¡òW+Ð(ez ²&Ø_A„°|û™Jh·ÿÐÊ'ìµ'ý~MO´p0[Â\SŸ9¨g`UNË‹5Ï­L¦–XKp—5ç¿Cžâ©vETð¡é+xDGfÓ|Q°´2©Ëí³ +endstream endobj 745 0 obj<> endobj 746 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 747 0 obj<>stream +óeT…ΰœÉ"6nîŒñÈf#ߣ°×Twäåá;ž¨Dè:iãM%A©Z×ÿàDߪ×⺰ÕÞ Îý½† éaA^vg€3Š¹‚´xš•½ôã“l¨C|¢nd£¶®¯ä2¿Š”½€‡b'!2A-)T†R²ÁfüRpí7« í sõ\:Â4`¹MäXøéû|ñÕÿÉ-. ‘£¿¶ž9eq¸|;Z¸•–ÖG ôfæ­Ü.ŒÍuªNÌ»¨Ê‚Ÿäè þͳóà)ærpTï“G¸; ÿ\Âz¼¹ãs.u¹Ôùõ¢€›ia~e¢W"~w²Lk_é¶ôî’¸4çSIy¹ŒN$é~Z¯«L—Ò‚N§¦~w§@i×ÎÄŧ’Ìn#o›óvíe‚–ïF}ܪÔɱ+kšoêÊ[ÚmÐ!ÆhU»²ˆÐ ݹîxé” ?‡n؈øqïËQÀûfÑ7Pz4ò(dw¿±;)¨¼I+ƒp!¾Šäˆ-Êà—\ÿP¨ ¿çC½Ð‘ҩ鬯Tó|/„ +ÿL>מXE¿ @´Üò֜ё߂ÿi$Q^R§èïR±ÍˆòûnL~“è°„Á`*“|ƹ‘…Jd?%ù‚Ʀέ¶Üþm<Ý’ûÖ—i2Âu¿™?F´VA ïXHÌŽc©gÝ|aÎ :Óê +ï%ۓ겺hËï>{*[f_h¤oÖâo6ßø9¬“ËjJôÊûÐñrF›}w×U S­raTÞAÉU5·‰°%‘´(ž¦m8 +ç` +M×ä í0¢ùþÀ\Ž"FS‡6qÔÅ$\y%íôÛ3áÈG˜Ø—è^Ùäô»< îÀ§Xä]z<iãwಥ˜Ç"Q2ÜN?Y¼y3¡`–u½•UÓ¬ÅvëMÀ°"¯ßCq„ýbè_~Døzù2#Xs9 ¬›Úz·KI·‡¯©Û Ýe}§(Dh= ¹C¡Ò~¢ï­aUÊ·°´ew7}äCÄE>U³“¼Cßñ4‰2Ýú‘;°ðH&®[îlÌü†õXº`Dx¬…†™xcúÌ”W‡Ðu-tíSaÁ>Œðïd<§­Öô(«†ÚråÄõ9('‡vÂu0àZ¹·V¦ÀšR,pIçE3Q¿ i„@ÄDÆÝœ_`Nfó?í#>Ö+nÔ3'ȇMšÑ¢ì†OÒ ‘–‰k7sòpö捻»¦³ûžjuuÅ8𱳸:[òdeòyY³CoÖ…?·KÝMÆu-Ã…SŸßÀ>QµÝ˩뎉¾fª’,luõG ¦…ÝfWÓý;'"Ò`¢hÀ˜… rz\Õ¾áÿ)tG&y•sÇóXùÔþ1˜u¬Ø®6ã«+™ÿþ¬Ÿßºv;ðÆØç=ןÊÝŽïEµþê#ý‹å¾löžÒ$´M"DZ©ŸL•4×£@Í™*R&ñRŸB^ùGÃôÊZ³²Y)÷FÊüd¨ŒdW>Òº +ðQ=SîS¢ÇՌЉm®ärg­¦®ifÙXÞeðfeãøSïõ†¢:·ˆÄ¤Xƒ;ïž]ì“—¥š +ð9W™«\€‘fsÅÞ|Év“ü^t}ùíüËZÎe^è‹Q{E¼}[<ÝnŒã j"êóB>è}c.{îÏŸ0§9ˆC¬~&8Ö.?lðÁ ë6¼Ouø +¥ììAÚbpüL^oÀr(¸j/ ¥8<8¶J‚ƒ†É'{¢`ÀA-•¶Ì‡ìšWYÄ5s¡î–é¿íž ^biÚBy^î|ZáÒg/»Ð›7;}çù—>îY*(|NŒ½h Ëa§|UEKæV@*ÿ,¡Ê†Ø‘Ÿ<ˆ™ÎŽÄiçÂÃmÕý|—É9öŒ¿{øš“žÅ§sOF‰×Í+%UV19 ¦Ê„>ÛW30/É m¶llÚ£6Ö¤ùÎ7½ùH™-.¨ÅœÅV(B +¯ÿôÞm¥¡ñD°×¼®šƒVdÚèÎ^²FˆÒäœj¯ÒîA9J”ÆЊÞXš¯llíZó‘—˜Dgüí É÷JCj]û–þŒÝLðÏ=ØѲÈÀ€` `{Ç…ß#vÇ’ÎTA»îÔ×7ÓwUWŸGJfB>âû$é̱Þ>7è"&gê™y,)•+¶@ÈiÕ·¢N”Ó(K¸'D3 ËƨSÜÔ·u9brU5¿“4‚xýlkFêVc~;0;”¡š¶ÕîHèVݽ= ÇÂr_ÌÉàæ‡Ó±l°é™Ò¯²e³Ž‡ïsZÉ2욨œ>÷â›lÙ‹J;[`™°†§ÅÄ;ä›g—ÐúXü•¬eU-Ù–8O‰öb¯ .]³Žfk§BíÍýæ" +Žiñ}kû!ä[Ö~ø4º`ËY‹>$b¹ˆˆ§ÃZŒ;U½\ÉGd÷Ü)4̲P3ýÞ3„ܲW?çC¬ÅiÊ´‰¡= k8qso$½‚Eu/¾ˆÞ3ä©Pôáy»x=@˜üšgÀ³mä(­S/[ÐÁÎíåÅ{}Þ’ý$§ªZdlÅ®ŒÓc­'=\#1@–«×âf´kV®të9\ÐídʼlÏóöÑÛÅl¬¼§}Çô%Ê}>°+Èî?;ºœ¡ç ÇÁã[fL’ا8³S4”j6ÛïßKÕ|ŠßºÅGþéDGðý¤ðRyy…éK&%cÞ•p=[NC·i`ÖHûÑ’ãÆäs'¤Ð•?Åðáè‚7:×8cÀËü5¸¾‰<+Þ‘Lþ!¯‰I&L#©V7ÑãcŸKí¢`¿BäSS®/Æ6@$ùË‚µ§ôWÔ¡KÿÑv…}•T£Ü]çDÓ@è ñœb0¤ÚXVã{RMDp‰-þ(½rÕ"Ýú?§¸ ¦?¶¼¡Ìlˆ‚íMãåkÙXmk—ŸGö_4~nÌW’¦º—°_§{ž ÙŠ<`Ú{ >§ƒ™S²%ÌÝã*ýa!Iû¾†å·Ü¼˜*•¶43ìúú•+ê.ñ?#'áíÎm­e…# E£W†,£Ž(WùQ1+K¶ÔCÂÂX½¤Ðº8ëÞ§1E×½³X ø½§P¾±òl-½!Ž‡aåe×ñ!«0`ñ„ã]­ŽßãyrkynYµ“C¨nñý’¿G–o?.( æï>)€ëœÿ»ãZk Ù™bZŸ§=öä&*'Ûƒ«w-Ï÷F…ÈÈ–üNtÞU–DfhĆ“<Ã0Ÿ½ÉùnªtÁ‚Q›n†¹Å”iŒ_ãg0‚çR{ù9[¨>ØŒ6†'oßÛ db7‰Ô¡”6â +¤m¤ø#ª¦['Ê«‹ÅSÛ e$³!˜ ŸX²e ‚èÏ€1ô]‹ÞX)c噶EçÀ˜ú…ûT? +÷Ù™AÞ‘Û®âcÿ0M†XWFÕ?è¶4=M~nøÕ^Ë®+h'XŠ Üt¹]¸þÖɳç4E 3õÏ]`Ÿëc§ü°à†ËõŒÛ¹ *i¸òcÝ1÷Ú>qô¯”³ÎR¢/»ŒÊlyÛþϳìÜp +µ>¡]òȼø8$ĆÂ|ÕV¢Á2V +áu6q]žA‚6¤`t Nn˜À +Ò'øè]§GîPj]÷Ò®~OrP/åàx1Û>+JkÌèÙP×ØøÁ}„eÝoA´® +endstream endobj 748 0 obj<> endobj 749 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 750 0 obj<>stream +¹–j%{„HEÞãé?½–‘ÒÎÀ4'‚ÈŸÿr9<$Ö~HàšÏaŘ#$naʨ;ýÍ%X~çàD ©TU…rpuÚýö[ HœŸ?æR¦ÄCBþšRÙ~óð¸Ÿ{,o‚66Ԣ̱Š+㉗e[Öp»ãjbJ¤éCuiY8²ÉÓˆ}•­¢t°,wYè"'Hñ©QºKCpÓú¸8H2•Hømf! “ú~nó‹„_n™Ü„â^«Éê˜ Òx—¨ïbÍPcšG­’ÜmG+äjC¨ß†cÉ”³÷ òTœ{Ù>–½cE?cKæŸøï‡`Áˆz, ~¹iÀÝ·AN=¯Ÿ®'ÑÒÌð  ½¬P±–{õÖ d Ó…|œ @(5£fjS0Aüc¤Eí$*LË®.û,Ì€vm ’µ›ë,˜zwg™=ÜD8E +Ì.»>H–éúpTŸ¹ ±RÄ)dØëwíÔ%yÊë<ÑýIÍwóRK&s}zŸ…zaÜ:éñ{Õ:]І Bºð‚õÓÜá@vЉ÷‹¿1pÈ2¨Ð\á€l_ÿ7bQE—ÌZµŸ0£ã—â±!}œ)ïÁ–êk&rxqö¾UË‘UÊóu¢bUæ‘\°¤ñnñvž=®Åt€pk[Ê ÀºíàBÿ)z˜ö]àFðþ¶´2¢¸3aÞ#Ýø­¶Ç¶Ë,¦oÛÁ–nÉëbí%žȯçìx³¸ðG;yµ¼>к§odLÕêBîZ¼u– y`RË, –¿#á€u7×&Žš¦†Òå_0RŒ‚*NåpyçÙ½º² ¡a„6± ÍŒ‰ݶ£Gø_det7êõ÷üÑv¯xlq¦×¦)â>lÔšˆ¾>iÈjéyz[w™wÁb›¹j£ =€ëW€ØPÚé“‚Š +þ¸,Ûpsáêð@$2êAgeåËŸ‰s™´\ÖÒ¶ Œ©,ãq{ÁQæ$dc Œ RŽqÒ°‡©-IûU+Ò"NíÐœ Ýpêq•Ú eb×ø²N0²†‹ë‹$é,îŒ\iúrG%nõù€BSæk.þºˆ…+·ÚˆÜ`Ø%ÙCkBN%Ñ2ʵ8ÀB¯fü1ÁúJªÙ6‡Hӥ‹8ÍÖ?­( ô!pÅÓ*+F*ÃÙg7Œî¤‹âéðôT,.-ÚL%züTá’•K«PsÊ%t«ƒ—8’)_Í«1ìÛ;fz +F NWôiÝdÕFiáí3ƒ—DäP7ÍÂ6J=M“uÍh?¹ÌX½í¥Ø³¡ïUXŸÂåüÃ96þHÞØSýçO¥¨÷?7Ls;r‡ †=€ÀÃ*ßS9o(^ÿýÃ!RdXÕ7<Œ! 6ðMñ–©Nòr²l„ýÊu¨—‘øÅ·lU™Ç¯–––HlƒÁÃ?.WÎ8²@Lëæ ²c"'¢É°o5Í4¢­!ÕE”y;ÇÄEZDOO°£>/Øüþçxª¢ Ë0ílÎrú³ŒŸ »Ô°xþx²¤Ûß‹NY°€°]§]ˆ]B½CìÇÁ*Ð’bU·åCZ®¿C~rï¯%©Ò© þ0g¥óEWb2@}= ßsæˆD¨|à˜<â8T~½ÔÓÛµ¤E°P¨­(‚‘ЩÛvôútÊî>“˜à Ò¹3ÄuØ%®Î4À=û²¯ú˜pQ‚—'Ú“½ H¿'¢Tfù =Æ:ƒð€Ï@‹—A±ÿ¦~Mugæx,Áâ–ƒÑÞ©Ûu¼3ahèà£wºBÚttèâRßO½,<©ÔçVØ‚Û/ú› ×½f`÷q;è˜2ë`}^‚9]¥T‘nFÀõóxf@i1§è÷ª¸7°·­3DŸO9¥¼8B¤ßÅ +÷œû3rCˆwG0K{ (À}óÙ´E‹HõßI +¿¯âîÔ…ÿé7¨ÁÄäpá¯IÞÕ +J£pÊÕ©ˆ:Ö þ3ÄgòK4H…ƒPÅá$ïy8Ïu½¾+ú£ûFk>¢|ÖÄj½³ÆqÕo3ÉÈúžåŒrݸ7óÍ5f=’V™GSRjD9®BwjÑŸð­+fpwXD«Mû*—Sa“)­[‚[] oþdîØlÈj’­òø|­Õ›`ƒ4Þì•ã8=Ó„ñÜÖ’ÝGå„5µØÎ+*Ƚydev[Úa_[üõ +Œ›äû5Ÿ1ò(5…óMbñ¯™‡ÞyÂëœ)¶Þ¡ËOfÌlDb`FšŸµu“t^æ*E;=µÇ쟉/Ä:Ø]±¢õdeî…ßw²LYtÞ“b1¾¥ÿúRPíI§ƒO,à‰ëN}ëìñà +#ûÀ.,9 ÎÕþ›€†FJ€ÖËäçÀú€“}qØ´FwŠyé¸N]NQQÿZ²Éù«mìõ䎮*vç)³º^®£ Ö§=Tcù9Ï©¶—´XL=Qy|,¿2+×Ü Î²j¢“Ù“‘ånÒC¢¬Å¦!—Ý›µapæüÀx”¤©N:WÉnÁXå·7ƳŽ(Ý0,›yª,}( +ÁñâmXv¯œç>>?,•ÛÞTÄù¼;·bô&÷n†‘éä×wêì¸ÿuMª…Ãa?á6Ëå¦ü­ nq Žƒ÷câX}á\)ê½LÿÜö#¸¾üV;÷ÍäÚõc°v8µI].÷‘ðyûŠ ÉJ¾‹7À þçfªÇ É°¨«‚¯rü¨›8pŠTýw·òÃï^·þϧïÄFëÝÿ²0Q]ÚŒôZ¾¹_ê"ÕÏš]ÕýB§ê®•AñIAûֈ ßÂúŸ¹åÔ€Z)<W¡/‘Ðfh(Èýxhú°²*°Ì¶ÙÑÆÂà§[µÈø®é€caU) nÂ$N4¤Ž¼·Õ +«]Üg\פ¨i±ì»G‰“ PŠ%šÃ[½‚ÉìÐ1ìLD_¦âk¥c HI›ë©J½•0 ¦è]Ž@Ø{býr­À¶>Ùú¤sûl $GQÙ›b9 ²ã]õÀdgJmÌŠÇÛlȨÖ“„ƒš²8|ÿÅH”Í1áÓ38éstñYT–~û™«Ý«o:6îä×ÍZÁÄ»<›î–ÅK:Nwö¥þþôÐ* q`ùþ¬dIƒ³l^$Ç{ï/Å@¼§iÙE9ÿžãÕˆÅx¥û²òŸC9E¼f"M|³%‡ø6q‡L!ªzG@dû Z»Iuæÿ£0(/h¶Šs*ƒ'nÞWØ—+ÂÖ™.פ.ÿ¾¡!¬ï”m7 xiRs¾˜Š´Éxö° ÷L¯]MÁæ¦c„§ ¤MÔtÃÆ/×럎»)–—¢{«Õ÷F‰e^¡ÞÉ¢'AeP–q3XvF§Š.nZ¥§¹­8Oøä.ÔT(Ï~k¼wf/è7¼‰*ÁlLwíéÀÿ¦7>ù°}(ã™ü·Â[Ÿ +À9Xz߉x¤Å-¤Ae PÂÊM-/–”¶}öWõ@¥e_ß[ +{†Ó/³î•($±\¢:@îäfŸ÷,@ÕEuÎþèêwSä1M§x0óèýŠxàu% +_¬â GìWx˜nÈòM&©¿È] YÔX>m¹Á•“Ä2çfð’;¿be;¹_AÙA¡¬×hy‘C\\Ï@A¸{RÌ‘ë©þŒÁÊæ%•ÞÓ©ÂC½íqôz˜ÁüíÀu´«·Œ=Š×-¢DåÆÈ&’“ÄUDV¶a„Šýú1œ -'LPmë¬Fø$ñ²ó¬}ˬ³mN1èRÈŠINäf;¿ÞBÖY“^IÅiy8à7NóÜ4Œ eó‚MÖ -ÉêmZ)ܱ½{pa«HœÑz˸Ð`qcªïh/Á¡£8ý¾´ˆv¾›@c¢wXõÀ%Ä× +fQ¶n‡ªkm¶´!ñNHìÒჅD'¯5m9Сá\Æ?[J‰1øŠrùøb(7ÛÉQJ'Yؾ0‚Ýs%ªï·æÀ^¢äJ4™½PÿÏ|ZØO1 0*ƒý¨Ì–¼ÁpD ôÐ~€Œ¨½Yò)‘ܘ1§þtZy®±ûƒõ"ÈÂ<ö‚ÛÀœÌAòXz'>ä:@Ûrç¿_†ý+Ææpä¥QNyäi$˜«—Ë”«š<›€7Ò¶ë )üN³ýÇÊ1£ùžZ*ɇ§¦X¸`·ýrV¤Ä´•Ï89øXFÖˆ¸\½(E×7V˜ž²DÿBjµ‹±,ÈÝ«x2.¯w…QæV%’§Ü@íKŽêÓ§ÿb6•ë…¶;m þíß­õvÍ‘ìÀ¶hY„³©¾'„oÎ7õgÐ¦í£º¶q¬ôrä½Hæ6æ ØC}‰­lw-¤¾:¢×TÙÿŸ`Þmþ™ˆTâ:/£ ˆêñ¤½”u¸ñ;qÃËß+>Ð>˨s9¢nßñŒ˜eˆ©CJnBÖ\lrRç'ªî©j‹o×µ0sÖœz£Ÿb¦S3W‡ïð×ÙX>1'%øì7n5÷²MšF¤.nÀyôøVl&Íöêü´@u­ä›žG‡û3ÓØÈ)eý ¹%rŒŽÀûûÉ ÃØz§ÇŠÓÉÅÞ2¾hNÀÑúÿWÞ¦šÍ]²® 0QEÿ+€`¬ê4i¶ÿâ#þÂᶠ+ÅR8h»˜):Ò¢÷®Õøc‘àx?¨ŠS^Øê¨d§‰„¼ØpÏT>¥w‡UXp¿t¤’Dpƒ‚nVçî2  +«6éã_'Œœ,l´W6eq‡<ðR¬£Q%7#V+Xך¾ÉÐ#ÓË7̃g«ï¶dX*ùºÂa%{|F^äÝ fTYHÕn {ž­Ðš2FˆšeÔäÚ‘.šfð6öyütN“¹Õ8ë0·i=‚r®Ç €Ø8å_cA¢‹œþ»r*0™ÿã–?ø**–$²h–nÒØó¼à‹ µ3·v•/I”öaèw¾C&Ãê*ÉÆ¢.…åÑ¡­Ì㜥š +VÆ.À_LéÑxcUìø_^”Ý͘6~ +g_Ñ*¸Ÿ“ºÕq²”^5üXùÀ…³ã'9ÒòÙ(XïýŒ×iåOt÷sV&øQìÄÓu^ŽØ}Š ¸@ö—œiA1&ÚÛîîÛ߀óVp¢¬­W™08ë|Î=œÙF¬¦Ž±…Šb>HíÉ@ªœào‹yeíùí׿ҕ”¼fa«ìYÚ’:=l”•É°Ô1’-Ïùñoæ¡aÖ¯By·Îï1‡¿°<ÒŽöa(ÉÒüèoåÖ'TY6JŸ¾N÷4õ3RöÂÉ~rÀ-¬ïG“ï4ÍÒPó‡ ÒuDiï“v‘ ¶ÿzŸ±XW´öÝ'=œM<Ë&tûÃené!CÞô£D<Äy4/¨ +endstream endobj 751 0 obj<> endobj 752 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 753 0 obj<>stream +PÈ"uõ¿«Ìý–ÈÆÅ8|ÞY+¹¸ú½™Ð¸¤å}_†#=X%1&8¤I„}\®Söfþ¨ú>Î »»Y¬_y1Ù@s­ÛÙÒ´Ÿ#:dx,šŒ‡Äá%F6åKVQQšðAƒ8"ø¶ýP•Ç +Ýšc6ï¦óÃWú!RÖ Ðïõ5øñ”¶’AV'Å«½yœJVptàßÀFÏRøCChHíØõî$3Ð&qó&)÷Q‡´\ÑŸÁ:0Î6C#¾9½—Ò^6”qÚ`‹ø(È^•lÐÄr­Ø#:_9xP,øsEò¼Mr)[³ï¸=NÐ=5 Ž.áÄ>%ƒ|°s‚Ü]$CMÃÙ\­žOSÁù¤k«å }KoX̸R¿>éuZ½„ç-g»DĹoKžøõ ñûôYîïà’¯§šý/ƒ?w41¦•b?ݺӟçê½-Ù¨jušU˜]Pâع.´2‘Ø'±ç§\ÑŽ¶×œÎ§ü‡ñ!_‹IEœOÈ“ƒ™­¡ÔbJRžœñ ýUÒ’±S¹óµùsŽ©½5fì˜åîjýˆ­ª¸ ¬qœ‘²ïaüj[í7·°<'·ú¼¹ûÅÿî³¹?ópüÏ7G@¾&†c£êݸUÈPÑËÏøƒ‘†§MH~¢!£´ät@6& +;ÏÄ15¯þ²ÌÉ“.”=»Ò±yïP§8B‰ÎƯnV(ÁJ0V¹åš—SSxÁ×[¥rëϤ8FôX Èx$ IÿŒ¼Ö‘}p³¶€KÞÂÏÏõU·ÿ–ç…‡Y‡v7ú¬VKp«péy9ô~áæ‹OÕ]Ÿ_§½o—¸â9-Ä/ãhÏ‚Ñ=zFÞΓ¼úªo¶ëxœ)lñe¸=|8p8¿,9`Bž:°W#B‹Jù5ê´·+Z[:«ðôkIžßDm^`˜8¹ðµ«w‰>^x~+IH6„OµÇÊXuÄ\E.žÂx8M~ ek +âoÕ®ckÙC®×ÑœP“Í¥>[ÓÏ2a“ÝßórŽ$…TKÀ©¯Ï%Ýí+±“ßW Uý˱,¢.™Ã4߶[€ÿWŸ–R“},qô϶¥Òì¬Él}ÏûPiÆÁ±t¨bOö^<‘ú™ê•©D)qAë…û $ò³Ð%–¤0Tê³£CÖù ”]¨ôl†Ã¾#ÚÙ‚·£YlHGf›ëfþà™8¡§t&×÷ÏZ"8€xÐxQ옓¤i0"û@ÕÔçˆrJ8ׂ +Þ;°Œ‡íúö `쟔"‰ÛP©žž­ÒAWý2@éf&‚Œªe”ø^;$çªA-€¸*“ƒÉÀ×ÍÓÖM%á5xax­¨Ü”œÏD7­(Cl‹SK­®Ñ°òÛÓ­ÿ?64N¦ÓßL"þï©Ñü† I?¦1“àDE}ŠŠo*æ,Cê‰w<AÅ«†øsœ29%ÊÑD;¬®Þ꣋NW‹„úX@¡˜×çòã–NOÃÛáÕjþo¾z ½Q ÎK×Ôp™¾dÂj]oœò7 ž! ˜¶~]ü˜A@Úãá7yõIûØeEH`‚à¸÷6åºåŸ…e?¿_£}Pxä:óéó› ®©~kþß;iៜ­)8ö™ý‹(ЫûqÃõÉ ÈÃ×c€›û@ö_í6kXû³Ü$²4o©ñJ²ŸIÊl}†üË b7áUŠŽãjåñ™HMߦõ”½sñ šQTZã›äŸÛz-MRç ”Èboÿ:? ï°ô>àz›dhT,©ß ¨ãz®¹œ¦ÿ\—•p¦dBÝ–x÷À>,…N FÚÉú•×hÿLO2ŽÔf­,eþ =¾°f.žË²€x+eàöÒ“„ºà¤¸@Ælî4U™(JÔՙVà!ú·¥ Öý²0AlC#]Î¥CÄq÷/¤€7°” 9ŠîÔPJ1é@"¼Q£ÍÉœ„7$·àðÁ=ƒÔ*À‡‘l¼×rÜAÓÊiÎ -ß‘­eHØræ8l>áÜóŽ&6k™÷¦Åy«C¥lm>^d:E‡=øëÖdñ +’@?º'¥dë%ªgƅдâî.I¥ ™ÕnËÁ— RÂq+dûB@„.•û }ZFŽ8„dO®î_áDãc”˜TƒãtøÿoÚÂ)OH½\T;U[V>;OÖÖé6 ¯5ÛLp©‘“‘-MaL­Ä\ÞræÎÕ0n½ ¿¥…œ,ÄÜ\쟜Ð!=/lG×ïÍ\5¦`,i{Ñ?,pD—BÓ‘)Ó +ÁO­D‹äɈõàT-ÙÕù]Â8l•; ÿŒWÕfÈwædnXO, ŸTó5=zïúû:#,?²,G ëL+NOþ_¼QY`ePÒÞj”c• ®*0kP¥-Ñ$›¥MÒµÃüÈv~P톹ñïÁþ÷Æ'ÞµÁt6¡¡Ï»÷ïÕ…·‡‹ø±…JH Shæ[‡Ó(HÛÏ»Hº[[¦ÛKÉnYz’sw`¬¤êºÁHž)øZ)Qη仵0Œ³#3«ñv^©'7Šç§Žø²Žœ|ÚXâK/Üf,ìxüµ V[Íy )‚¡I$î\™¸oÖ¶{«üœÑ½ng¹Yyc/—^¦-¨1íا“r,mÓœm©òÔ¿Â|Ó¸a©E—ÅPµ„ÓÃÀˆð”h¯ìt]úDÕÓÞC åê¥ÊPi;·/Ô¬ø$û³Ø‚üçÐß#¹Á˜ãaþÅI„7—Zâæ©ú-¢ëlg­o¿¯~ØÆŒCg³"*‰$Î÷É™B÷\ˬ*Æ•ªgIe ëŒ+‰ôǯt]‹À˜›À‹'@yÕ$±U :×iU6œOvž<’ÑâÇ)ÀœGãŽÓ³T`Ü ¥¹ÃÄš1Oˆ 7õŽèÌ®Âø2Ç3~ºJx`qOÆóuïU:þ i-Áêm† x9ÂVsV¸Û|9… <ï8MíµCTÚ{­­¼a»Ï¦Ð8%ûH4ð>²S†‘É _ÁU÷ Å‹°'ê½ šÞݯäg*sašxQ_€{÷$¢ +”a€ï]ZVf†h$µbläag¾éåÇ:tš_nx¯Zïä6@1úhë~œV>Ïr:Ù¨œ™ncŠ¦Í*õ±¹h‚þÉ@ŸÌðº¡!à§:ÿ”™¤ÁÁ³©KÐ1Mg‘æQtdG¯×踗ÉŃòÎB,M:Êø[ïkgŸËk±âšƒÜÝ-¯ð2§›ó,Ve…’~Á¬>&_h@#&ˆ¥ÈòlL™´é_C´Ö+–ÿø÷Þ„BáׯÝPúyÓRÍÀàÜj0,éP+T¥VžR °Ì/#GÉgm´çu~Aýûѳ‚­>ÇfJQаë(Íë•-˜® +•QzÃdQd&²©}ˆyhKëqçØܶīÇhr&ðgNŸ[)àØ ÏÒ¯¨Œg1€Qú~ÕpO(/¾K4×zNÜIjœsÙÜWÃ÷g^¯adñ§4Ãô¹VS»y‚h×€|´#º|ÁÀxËɤkž>ÞgÝSˆå®’'QXË a,Z„­M"Ó?OÍ`‰m¶ÿÈp1lÄÂu2ï Ûº5®!nþcëÓë”ý¢M»DäÃZî†æ Ñ’.áÜo'jBj};ÃÄÓ¦Vˆ çÙLºþ^ÛÝvÞ€ÅÇ6ÔÒÓŒ¡0àv ‚òâ +væ:œ¦Æ4ŽÐøa™¿¶µ‰¨.Š¡aÇ +ºÛy +-øÐë«rjœ¶·íȤø(¿èÝ:¶ÀÞ2Q¶vì’u 3 + ò(õÛì UË«×(„ÙHÐ<æÆÃl»ƒÚšìC:ß[Ó‡½%¾¸w+'Éëm·¬’=Wyœ=e„R…0½ŽRÇv­I sQÖŸÈ(¢Ê8ä¦Ñ|(ÌûF›F¿“Mt¨:®•h1§-ÃÔÒ{ØWÁªHç$ìëp{GâJ-К$ydŽ–›á<Ø;¸Uô¢ZÖ\î·AìË‹ÊãëëÁœûò +ŠI!ÖÖ#:÷áø7ýê“õ#ƒ¶ÎÅ!ó¦}ÁrüâéÌ©HPCeªuË?—÷Mýæ›™’^sÅûâT¬Ï¯ƒQµÞ€å©óÝûá{©ëvÖØ眼*ºažUÍÁe.HbÒžØJéÐÃ8‡eÞB°ŠIàZ)XÖ0Ÿëªdóøú2´‡ÎwÎ4É=HàT¾BÙ*1úväI‰ùÐ(‰ +Q¦ ¡.uèù3¹V×ZkuÙIÉ|ô¤.@EÆÁâ ´Ù€šCød% çRþVæ/ü¬kJ²ç£z\Ív¾ðÇÃHéxêÏÛìø-+w@„3”ü¼’ëq‘×éü®ÒP³§ +‰X8!÷Á.ÂÝ:±•W]NàÀÆ[Êj„ ì½ƒÎw=Dḗ‰í=ºÑK&Û;†e +(ÍFÓ®ÂP±º¿ÔÏ/Žþ†tüº/«Í-ÌôþîWew¸FäOÈf²¡U¬þk8Uv›Oþhdó·¯'`Gw§]Žaö‹‡Å SÕhDÖ;­c©}N…D‘ê!\짜$Êß\‚ï¿ 7óÓe% AÉßÅ+ HRpÒy»/ðÆã¨uà Ofº–Ë´z{Ä@ÔÓ­øé šîjÿ<èª÷B\ªrøû®ï(—OŽÕ•_ÛÐCó±KºÝÚçfÊG'Ây ?Èb8é{€müøÊÚV?ʤ”º9 ¬%e†MÓ]f˜Å¹Œ³Ÿ‡@ª>·®ÛÏøñÔ½ DÐŒ÷ÔÂ9QX‰Io+ÉÂ1}ÕájÆè¶lD_@¼·‹/9zÔ­†·}ε¯ëÞ*+HËkdü¥î Â&G^íʤoóC“XLœsa%÷,†>8Á'ŒIF¿ß>ºÐq<2ŽW" ¼€ùW¹ÿ’“ƒ`FÎ~ l{Ô?òѸ ‰ +Wh¦å¡8ù«ƒ¾>«æž”#þ5ɃÃë¡>웓yÊžÁº¹™gh×G1e”ÂÌi'›%W½1Ð@ZMF¬¿)ÔÍ»ySä…ü°¡€`/ÒöHúkíæÒ¿5˜Œ¸Û'¼¥N)’j´ô€ Jý6ž–R±ÏÙ1Ì<ÉŸ )±ËÇ7ÀB Z\¡À]l†^š‘åvXB+‹ˆ³dZãÏÀˆÈ”wmq¸N¼‘û÷ä€6ë¡(à¶#:y pÜ•L·}`!æ#Rê¾4’–Œ›§øÕ¸ p¹u6h€ÇN›qƒ4vG›”&8ËÖK†#|åšQW(.ýz%CS‡r9êìzõ…föBK`,´i_< + y’b:ËȈi€,^+u1ƒúÈ…û%¾ÝïÇ¥X›BÔM˜µ<àÚÞÎÿÏ_­9ÚaÛ>Cƒ¹Äª¹SùM:@šnÕpÉ›"N\(×k¶ùóÆâ5}–Ý]‡ªÂs´Óð!S”Ù‘— гöÓ‚SÝî«Ø KrÕÄÈb>f@È_L=‹þm—Sš¤Õ£;³wס¬Ìad7q} ?Yòa·”ÀVþÆç;ûÞRŽžŽÊc]ããÝúîèf©JC¨É> ~v½Èp»Ç4jºQÖÇ@[ãP:’ÚFÛÅÃ4ý.4^·žƒs}yhU^U É÷v]0Ìëëb:|þ:Ö’‚×ICÏzÆRzУ>+Ô›V­1uÆ&l 2–lÃùiZk}­àtž÷¯$ðÌÍuÊi݆¡q"ÛŸé´(2¯?±¶9RÐ/NÃN'HõÒ¢¿ñôÆçó™¶_D×@(\Ÿõ}-*¿õì8‡E®¼À? ð÷Œ2 ÄO€y€HÖºxsp^÷FÓ¢ò¨øWc°•°×ÿqÝ&#ã +ø ¦ Í{‡lɺÈp _ŒËÝj,[îë™Ñ²Èdu¡NAm?MQÑåýPÒÅÐØÍg6^âÔ,i ¬«¯˜&vý?¤ â,â㟘fý`Âå6ÚvÔœLêM€¶8½ M ;©±MÖðˆÌÕ *ŒÀy0Åê†v Ïý̼´§f6G8x€ÏÏq¿É@ÓsAÈë!WÂ~ŽÂƒÂ¡Ç ;ƒWøÄ\¡mÄŽ²µÈÑ%´ìÚð-rfÜuü*? Ö>Ùün!U[ô®š7fA8C*L±0dz¨ -Pf“ÈÊcµ4¡Ò| £´„F¡1}•5 ùî~¤Éu3cËNh±Fß“áÉ1ÔË›"RO L«ù›·ßçt— +òs>»J¿*F*<ÀÅGùÞó‹ïéq$ÛhdÙ²(xÓ\IÔU0;°òz䯘´)¤û¶-z@çÌoŠÎŠ*¾ízË 1Õu‹ãFïx•ø"㆗Œ~^€BÏm³MçX?ñKóhdÓ¥_BàX³X{7?-±qŽBXèvA«dÙr,¶œ<&2•5e„Ľí·8¶ºGçKpÑÙ|Ô •z<Ã=óÔðcÛ.x.Cï4ƒ§µ'_*>>ý¤ZÑ=¡Œ%½%TgfHE…+åÔùL&bt1P¸NxÎxÜbaë|™–|=xåÄ'Cx#R÷Äú—SÆÛ錓 ‰Vìuød=¯áŽø!š.©GÃ艜Ah„“ÉøyÌžå ùX×öøþG ÐéÚ…™®çîý… f8#€ ÏHã¶Qã³ ” jUܱƘòëúñõoÏ·î7Éy–[ö¤pPGHÄ°‰WŸLW·ç•™,¬ßì:æºÒ)¬ÉëRhž> endobj 755 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 756 0 obj<>stream +¯Ãä >´*ñTO!5Û^'Ý4¨‚ƒY„{ +-Ú£ nV 9z甩„$Þètí ê°–q7 ¨…Ñò¸K¯ñ+Ž×ÄU³ ‰¦>eO¤NBñ™|·ÈnΣÒF+àÕ£Ù£§Þ‡`¿p®™a‹[sßâ^ÎÅ%T| ôÓ®ìªà+áWt<‡0pÚš»ÞŽ°º¦Ù +=˜È ö?M‡¶¸†Í÷³M<ÍÛÄÿcÄÔ¬F~a˜Xò’˜ôQJ)€Ø¢CZÝo‚ö5N<#CåBSä@Y¤„—r"®S§º0‹ºW'*Df£é½1^©)’ÞåÔ}Öü?²ŸÑà¡P=vÁ÷}6ÍkYÞ˜m½N„"ï… ’J¤(½£ÍÃxm§¤‚:²‚=†¸üÀ’/Yu?éü¶•nr×O:“¡Áœ²â"ƒ}¥æÆ üž. Þ¨=ÉdÅŸ!ýw€rùÕÎt¡¯:Áx€‘|«àhv“T®“¤Cp#¿Ÿ¨¿‡è>šÜÒq„/ØÉŵ5 d¿¦¤–ì%K¸fMž¨Ùî‚aêÆâŸctþBÏ*ú´"ßÿÕòï'A£¸¢QnµƒÎ +xØ«,»b æZ]#¤ qnç9 d*dÕ³H7oq‚| 1Á–Óû!ͪjœÁ”d“¹$T ø7z¼˜?¶7¥´ÖȹãÁ;¥É1w¬óÑÓ9…7ü©×íɯÙ)ÃoÅœI­F“†ióx%—*¦¼˜P-[`‰«r³ä´LV].Quà`JjUÕð¾¶þÏ,TÐëÝÁa&/ïÌ&o«j±ÒÝ_Ñ8ÈB†§•QÌ·€–#$dË,ظüdk¶ÏʨÑWÕ £n–òS.ÜõæœTÍGѵñð 7Ùšû40€ÑŒ 7Ì®ØÂ_A^/,îÈfèsÂBrz$K1wƒÄG— a¤g8QQj8»Œo‹1$ÊüÅ—¢fga‹œø|óAzsÓ˜0;ØéÇòÚ»0Š]ìØòפÙÒD|4Ý`L°æ<Êc(­øäÐzÉÈ36 Ê*rK=rjzŽDñCè4¤÷ÕÞöêC®š¼]¨byT²bþ!.Á4sèD6›V6ò½ƒ°”þóW0TàùâÕ¶ºw\û|^Ž€5EÒbÈ}[³‡Øâà#õ¿G¦ýÈåíYvVÐÑi…ß·ÍóYê\6çüj­¹Ø%-«ñÇ)”(#uk÷UèÆd¸DJˆ˜½YŽ)ø;÷¡J¢[É7îµÀ|‹!Ù½öNwÙ†__Ñ Cnj¯“¿¥äÇ,o1±Ú’h,-µ×N$à7ñio-F/?ÿÝÊÑ _ Í×À%ô~ª¥“‚©`iœV÷ûíÎ"¾TÂS‘•Wë+b¬«€.BHßü~ +·¶Zu4AÚ=ã… "A©º7¤†¤ÌY× •Pž;’Ôkª«ÜÃÔžœ%f¯Šàr©¡Í»†DÁm»%]5 ßò0òAœýh÷‡”C?㘠!á–é9¢aÓý9·OŽÀֶ؞VÚ®ÈUñ[ÄQÚ1þ•É=¼øÔ÷^õ”t鎾•ô %Ô†Oÿ¿°›0N5XïF›Ã†ˆ…ºËHÒáq#Çï¯w§!KŒ~qàÔ“]EiþïÞ{ÆrùòŽÍs“‚5Š¤…óOÞ‡  Sî%ŸРÎóNX+|ɦFGï’®‡Ó•XzZÑÓ%ECwÊÙ·…%ÄãŽ|Žå“jN€«¤íÁT é»ÇœèVz²ÍæýûÏÚò‘øBhÑã/É´çsjÚ½ äóñÚµ`ÚãGˆ‹®%~ƒÚe— ·SÃZ݆¤È7 ¸Õ›€ö¹ç\ôØ&EVöy\î!ŠÐú2|f3iú?zQkÐÕD·û†ÈwÑPL’ :B@ö}£`”Ó +¿cùbXv9X•{»øPø²Ï4Y‹ö '0ø¼Á%ÜÈ]{¤öF’ñüóÏÉVCZ”QQÜb9Ø(ŠÖ攬«ÝOyV—Wí>±ç–ÀÓ߃…%¾ŠŸ9\eÜRbœy{x +ç®DFb Â€µ:)ðf$†N!¨RpïA'MûىܞŽ•~EðH~¬'U0ÞQÞ×$¡žCíuˆ’¡dOÌA*l4;E2lÕêSÖ§ÈĤԕÓ +õuŸ%ÅQòõ‚¤8ãI‹€zÆcæÙÖ`ÊõÁÙÉ.‚¾!.wH§µÊ¹ÐâáéŠ_yË¿Íôô£—ÝæÔT´»,À„\\®ÈÈ&'ˆ•ë.b¥ÔÑ… x:åá†ãf&Ù÷ÔXXšª‘E~g#¡6½ÅäBäç¨,úÊõâqúÚ¤¸š)'DÜq ž(7—T{ž®©›t¿¾-uù÷ªöåºÕ¤ãÈÅ£&¦ÜÍØèdÛùpâŽv-󉔢}–¿¿ÿÑvü 6`z—ÚÛŒäFD±\åù…P/ +ȸªÃ¯u­.W úÕr 5bDºNº³QoÖ²reK€;¤W=zh (ØUÿh+ˆQøØaµÅ7jI㡳¡µê(ß>6d]¾ºï6æÁÔË8WãÏ@pScyˆÀÁ®[¯,«¥Ûå½³qJŸÓ‚«„„q^W€îÛcA£–Òâ,xì/=Ð÷>©Lxøî¶á­Bå¥òŽÿç3_<±bž1Í ãˇâµÐTàÔô7oL©µj<âŒr$¨ï5».{’Ù¾Âúpù/ª´0kžçO¶¶Ž]‹=*ô †aSÈåúÅõP/ÔíUíÁ¨dƒ+]w¿¢ +å˜ÁÛ<ñ†¥ËPÈ[ÌÁËuñslâpÉ- i°³÷¯éŒ´u"²:qdu>©ßkÇj,Hÿ³ò\"÷´•C9矅”&Ãbi{2WóK«ðºúÞðn{-2"lš ͲF3(fVMÂÐΌW®ÊÀŠù)«!Ï'¯QD ‡Á|z‰òÜ“›:@ü±†ã"Wé©u#a+ sÄÔµþoCæñDä7 ‹èš€,ÿ3FÀ˜œË„ÕÒŠøíà5‘‡xÂYѸÏm„*†è˜âóÌÐ\ùaÙˆ¨±VÏQ„ï)ýìØ~é+¡Ôª Ú_q¸uðIU{õ²§ÒJ[·a8Ø•Ö¸x“(b袈ÓÕOüGi¢T6u844ìä”\Üa‘µj† Î{s¦m84R%Mýš mMïxÇnîT kÿ”LÌ-Òjú‹äâVœÀ! Œ€e¯à"S УWÏ(þô{y£M fuâòåðะ!‰ú\YÆXCªô鯭`p«&­Åa(µ\“‡z²>’†)0¯}»Ö”fUýøs›Žçv¤ÇùÁåaø©·MáÝÒ±×´Ü~%9ζ#·Ž‰®Õf>\•Ì®éWÒÉ¥Q™r”7ÍíFÂ&½8•NxQ¬\"Ÿ´´¸n/ÇúýèSx„{ªbSSO½1öa-Í?»bŒ~¸(_Ï[ÞI¶ž?Þ»8‰4çµ¥=ÔŽ3êBôì®W„Ùj é+ä¡œç–@1áõ1¼(žTDéò«ñ¤Ë¦Nóy5må»"@Òàô‹8Îà¿fmïŸk [й/’Z“þ‰Ç®Ü"„Á㯯fGh°#7½cÆ7£–û,¯ÄIn› N&¢ :èó6¸âW²AíÚNQA2NGB l:ìÒ¥°´Gw&öšdYïjûÅÅl”ve“VvEÞ>í‡Ê9p΃!Ñ#e±÷úw5¿}jaki¸_t›í©ÉíuŸ£ÒöS¯û}*Ù¦$`"ö/¹~Êý(¼÷h Ož5(ö“=–B£¬EdÐU®ñ³® Ùªç¿Ø¿FÕG)9¦|ô׆r)Ë`a^q£õq%£0•ö"€Æ›w…L·èÀ\(AîrŽ&`…ŠŠ¤+Á‰£˜z‡Ïç bvÛ^B SN;©\j¡J)1®ŠYûeßJ=²KäžêQ–R¼-êÚO¦‡'8¼Üßv:—†5Ú~vtQ{Øûuº²¨˜Šª§Ÿ?”ì¤Py£?:¥±«SåT~@² §µö±ºÑ÷ý&äs§ád`-¿Éøº×5vçdü’¹æ1¿õÕ*ÀJ¼7àÔî+æÃxEGã¤Ð¶"Óú}mT9g] Tòã„ŽÀ+v"Onü$$̙ۆÁSw "wÓ¥ûOkƒ× +à'ØÊÿÕŸ|4Ðô¸‘ŽÌû¼^zÔ€Ô-/Ÿ¤õü_?øÐ^«Óm«gù1Æ%êRF@"Ï$7‰‹O;ý< J~årç+|o”ßΧš<˜å(o#êfFvœDç¯$÷½H¤l+ND>´vð|P# %Míë—àOnâã1Wdëg©*=¨m‡?&Û¬:àu‡ŒÓ¢xøR Q¥U7aUÌôb’þ¯„uòÕ7€ý¨ª‰|P‘ÄÎ1VYíïºJWˆv×d{X,Ó°¬t.`èk.ÀVË'pчvË„°iáDÛÁqïê·&ØYZw Àh2Öu‚&¼‹œ æÕñˆ“ª¬‰¸)žúìÏ Z~Ìvþ®t  +ê²ë*Ƚ^â¬õÔ"bŒmâ`jàZÆM s37ù«Ý‚Ó#3L›B‘8ìÞ µX¯nâlßõã¿Q‘Èô—3~éРŠh’nœ=&)ûJ,m¬ô­,-¾\Q™jâ[ =vV)rg2Bz¡"oîbc.o%óˆý" aêQj#å•_ü5G¾\aïœfŒÕäDmb­»]Ë—º~Öœ¼°ît‰?’e¨S͇]üXã÷¿“gØÎúí7Ù$ k¹®ÞJ åÉ*ß`s$bk,Vrà…³/Ö%ðo—0^ã垃ÚÄ×󿮈[ãzú;'+H b¦߆< áSo‰•¦Ku¹¸aú` +’èÎËæÉ&·ÅFlÒ%øÖœ‰d)Ýy ³BI/åÐŒ|íª‹š-í© EÚ³¶ôr9gŸ{Np0$w`X-ïU#ÍôÅt#IÍßWz‚Û +‚£‰­¢7‚š÷‹Ðø@ù%Þ°ybå¾ åj«0¼’&þÒîZíf…ÕU|å LÔõñ -† =;,æÂR@é¡ uƒ%’$´pág›üqú#Ü_ŽÆI¡¢–ª]©BÌDXgUÊ— øÐ êæâmi5ÇP^î5¸ª¦ú;6}æË éˆ+üÙŽɧ–~èbž1%!§ÎùfBeQ©‚ãñlŠ®úö}XB‹Eýø6%˜+$¨à£Y•ÓU×u7Ë«mÃ7!TÑ+‹ŽŸ½Ù¸ÆÙã ‡ìèÿJ C뢇sãu¹=–ѵ)‚Nà¨kŽ*á‡PÌËp S1íZ» ºó‚)=_èÒ÷E·äCùü…s +lž7&7¤GôŠ-ˆ³(gx 6~W—ó=uš™¯‹"s ý`‡ÐàÿÀq„‡àýawƒ:fl’Œµìè†Eâ[~$øPyBÉÞO]8¢÷¶ËK]œCšdmªÍ.~ýKùqy¸T:ø"vPC#O»‰. ÂÅ~ ¾éŸ§Ë/VØàþĸkš¿ÇÙÕbÎùÁa­á}ϲ–$KEí_˜…¿±Ú ¿;•+ëÅD5î9±òBK8£VÎuŠÊ±ÁŽˆ·•Àº8pÉqr@|÷d>ãŒ{Ÿ¡óƒúï±'¯ìf(Iå/}UÅ a¶”÷Xðpп¡ÇÙÛ×@•tmtbë~ïlDÈm×þ aÜAóʆÕÈ +$zy?'›ÂØ{jÞKÑƧõΡgOðÌ}¹‹±Jù&]ƶ„K?I†.ûE»}€\‰Iôã…K[‚Mû°n§k<×CÏO@ÅÞvw¢?(ÈYV¡q)°¾gû6ÀÆ\üåØw|M*05Uòù°…Ç÷®F.¡?ÊÞm0Âki}Ž‘àX/+ß4±àXO._–¬ûhìPÙ Pϱ‰E)`ØVúnòrèŸ`oS4£½\ç¢G)ï!#¾Äp.&[éÁ.á!àcZÏJ¬æwk±.+­qV0Âæï¸àÚ¢]Í›t)\ÏTH¶•Jwú_d× VDê‹É@¥¶ÌL»ºK_ò}¦È“¬S;Û¸Ù‡i.j2¼ö§q„îÛ1$VöìÂýà¾Ñ8 ¤Õ§Gêá„ô§˜Ç6ïøµwBðb.Hzöâ&)–OœVyò‚j$²í"ÕÁš¼Á¾OÃmÞÑÓßê™—Zœ½’ã„1Vá?x} únW脸eÀT.–Wcªmtظ^©¶ˆOŠCàKÉ;˜PªÅ%¶vš^ašyXt0L,B¼rZõýZ×p‰(/JFö¿¦nrê –Ã@ì·ô›RÀ=¶.)z¡‘²àÖ059ûÁW#px?«™ã»ˆ¸«QÊú2-Næ>ã¡v÷pIá‹»ÚY¾¸‚奪ˆH»’›—B¼Ï!£\fnä?v<ÍÓ9*4›÷–ٺʓ¥`•¬w³5öç^îHQw`»ZOw°amùÉ2‡œ zÞx}ÁˆÑL A¯-t¹³î¬¿õ$÷ÿõÙzÏô§€ÓnAQœÝÍ:r "”‰¡_ÖDÛCú«ê™b! Ñq¦ËóaJ3 ,šµtðªšê"ÍU˜Q»:2±+"[ɦ¢ õ ú÷ž¯®3\€g +/P§R:†x_H»èô8Œ +endstream endobj 757 0 obj<> endobj 758 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 759 0 obj<>stream +ä³plƒS¥4ÕãüÞiJJ àÂR*ŒÈøhå"À!zAQ€V Ã]^0s“]!aÔ}'•™‡Ÿ?}w½œT/£uSåñŸœª=š!…Ϧ®gK*LÇm‡+=ò<Ü¿+’ü„(fô[íaãÔÌßfâÛŒ6‘þ?ZqÁÀ‡÷t¦‘ñ×ôYߢžäÜ]‡w¢Úfx0$`S7¤ãýÝši™-±.ñAî4ptGZ}%¼owoÇ”R´M\¤»¸PQ„ßpÕîâÇGZò¬ºü¯ù5q&‚4ÙÐ^êƒåþ—QÍ°¸šªPÍ®_7=·)žS«ÀøÎØ∶s wöj&#kÌbÁÞ*eߎ+2µR©Ÿ£Z²N’ã;/c™ øãÛ÷%Ô›­³­×7_“”í©áBwJqAs'gÂ`}±çº ß Ú¡Á'L +HÇ2ùc|]JìDå²´yèìsÞÍü=û OìýMÅÄÓLtWý©bE8õµ(n´Œ>½ v"ÌëÔ!ö<˜[µL,6Têsí\ÍÊ:Š=ò'úåÜüSl”œŸáFבPÉ}Ô<´ù]Ãý…".½ëQ9Æjƒ¿Ûc¼oWµY,  Yêq¡*6ôûÆHUv5øûºøbÅ.]ƒbÿFˆ³^ô`Vôl+ÛÓ Mdg +1¢X•§ZîãgFì¡d ­¨ŒI(”ª•r,U&…9*oÃ胱S¾‘ê?·Y˜yÛª“±leØ¡®ÞîƒFn4±õfc57ÀªóOv9úPšæë=äž*$¥qË;e6N…ìžGÞøˆé9ôàÖ<`UP£HKÒ½B­*ê‘ÉÔé¢Ó wR kÜ*ÓI6¿oÔ¯D¼‚­GÂì…ç ¦^DœÃfÔ†§VÉvwäd¥:)èAÉ󓔜 r‚aMM ET!L‡k¸->kó ­Þ;sßOVì“¿ñÙM +-™G*ƒ)Š€C¡T¤¶~lð ‰îeÿo³Ûr¡K ´Ê„Ó?Æ>#1Ff+;¤CŠßrik[Ë)ËräXµÒQ—N‚ô!EßìOÓ6T6åoÅÂú'–€)2Íù¿’c!ƪÚV1v²b“Ö2¿¿Ú&a]äuzo#ôdF10õ…æÎS +‰š¹ÿÅIzh‚W®QÏ Û±ÙÕâ ÷ë—€S)ÉhÔ‹§2blL›¶©»ÔÆà|Ë ò5wÓ]I7Gc_s†°JvHY +à¶AÜñ²æ­Aq¥új˧‘>yÕ›RïÂ_´éN¬}¥k¤MÌösš|hVŸ€œ߆6¼H‹£;áƒç áµ\ƪ[|vÍÞƒ=­-Ïr þ„[‹p™ª˜P»ãú?’¨ªÙYz#‡Þdƒ¹N²9ç8góŠ3û‹Í,²±Y®gW.Ò9¢.4ˆëÁ£ ÅÛy‰viØ„`¾A`: +"I—bI ÊëäMª•;eÝ¡ïš²ëƒáü÷c&{‚Y´°ý."·¿uñq-(J]‹úƒÿC Ïaˆ¬ÊÆ[ü<¡n¥¦Âf¢ÃÔŇ nù°bé`µ۪߄«U +¹xþ(¤·Åi³“;eÑ@óoa´æHÛz¡c¥‘BûÅ<œYËÉdÜá¥Ï ££sM1!&‡<¼»ø,ëÔSönÁ8“ÅñÆ#„Ç(¸C®“cñÞ¬½ãLì ÊÔ½&‡YÚZ®!7ªT‘˜À~2Zhwr2–¶—é-~ð„íV±SãJãNARM[ËjDó³(UÙøéÈŒ|ÈŽÃÞ;Ï0G ý}·1ž¡øHäï$Á,:vˆ«¢&†¿aj=†÷¶¦×/õH…Æ[ XL‹Æþ“öÚÀIö²^]F‚ÑÒ;ÌÎðo-¼—üzu‰pƒ´Ô_´Ø³˜ÓfèF;À…?uN•/9«rãm—UOeÉf%7e¼ +ˆ7·±¬Ž*»cÛBV×q(¡ŒŸ´žp¸´»ç2—%¸\äXâŒX ÝJ5¿*´µ.ÄúÓäbf ÇÖH×x3WmB“8Pmé[›¤áÓ.D¥ýß4ùX=_3²Ô–Úcdâ{×Sãm×iþ¨{•r>,óƒÈWè(j†œM$« +¶pxÏ‹ßy,ÎmöWs{Ù>˜É¶\ÿyµ(íŬRlˆ›­èÐûeÜ%ãÑ­Ò×{P«“ý‹Í§Iùc÷A°ú,`ÒÅÄn»µUçìè›äª/ù¡¼“Có-(ñNƒ~p.Gó5DÄ|tI`?Á*êǽ åvX‡&NNbŽ§ûãÇâ^é}¯Ü”%[M¯ +·š ¯ç©‚íg +»X©ö󺻗·óhŸìôË‹Œ·*†Í“]Y:›“JuqÖ•ÏnçÁI5½Õ›bÀC2(vöuãH +ÞÖ›á ¬ð‚ «±…îùªÙÉ|'ÍD +^n˜Æ@Ÿ<œúÆ®@¦¡¼îL¢Xf±Óä°¸casJGªòÔõQ ÏK¢R‡"5QQDR}~À¹°ª:½ö¬ØyÂÊýÓf‰´°£û³!*'_{|²çÍ—$Ýêñ’[ÑsØÙÏë #ï9þ•xÆj÷Ò‘ômضfæ +e 0ÌÃaéþÑ|ù@Ÿ¦îyÄgHüG}`nÑò&b&tV‚Äšc¸ÜË®A<|ÖÜXð +¦8¶”?&;OÔ +ñ*`IÞÆoFSÏÑÒÕr¯¾ë½º´ip°“¬ðf…¡ÅN|ÑÔòZ«íQ®žC‡2î#ò§­Wf’ì’oK„oz!~²*Õéþíj9ô¯ï$LFmìÜ‚PU) 2o²+nÆ›ô™Â½’_Ic^t±Ñý +›¦ëäŠô‰ò†Bé¼€”™’@X^-¸:Æý¢¦õk­ú’É5·´'¸#«",Ökzåê¼1ÔVÄt>l0»îÿýã®°ì8ê© +_Ãô xR¤Sijh4¯k"§hÿ*˜5êòLÄn>¼ ]O°§½ô©Í)a +†óÈá¾ÎI¬È×éÓ#“Yfþ¶Î¢Ào>Õ¨ä¡ +ãZp1äpú-%ŸÝÁyNÙMyWÇ›Ûá<þÚå »=t°•üë#”WRÙ{þUšPô„«À 5°·j0?ð[ß_(i©(sfc†:!¡øTzvh/&WÅg澓¶û;Móª'\–Ÿ†=¯"²ŽØa<ñÆ;jŸ;E´6¢CŒfG{g»Ž£Äö´S*ú©f+§¼·Þ\*'/ÙàQoP#„Úxpüøw¤?ÙL$¶ ³^¦Ãsì¾ð§d§F”R<[ qûZ…g±‚6?ÓŠÜšÀ[H£¡ð6GŸ_¥úŠ®Âjˆ›àƒ •á)¯.œß£þ‡Œ# ÕxËŽ•^\Ûù»lÏ'’þé™Ò6‚/‡Gáä®/þˆ‡› áZ“ppÕ8©äÝŸÁµ³œ«Ì^™ìÀåy½ +)*&"—µÍÁ„ç’VÈðéÁ˜ ‡APv1Äã[×çC)Ö5JÑ[ÏËíòÁÖ±#m¶ªRðO,³>§CÐ¥k‡¬ì}¥J9–´I¶ì›R®ùçIÌsÌ% §¯uÇöÅ€6PñÇÿ·mCé&»a«UHÁÚ.E–ßþôK‡€É27æÈEžU+X­‡ðÙ#V‹ >5f15|Â*£ 0U;óX¤£–àQIƒ›„°µhÄ‹bvRh2F)^o9D×/ÈpBCðQ´|·˜ªØ”£HÝí}çU>º +ùbyðý²9xl÷YGÖÁ`–û®Î–=ÆÕI¶ÑŠ¾cIxÚ!®#‰Þn`†1 åúˆÑAÙ\I.‰w‚ÐOÜ"›¨(lÅyŸ†: +–ßFû“z‘¨ Í|ZÓŠIUI“ûríÙÏëâc±.cO¸´F‰F¦j£%ÕB|…¸È:°g†*¸vI;¢¬ûã¿Ù–™>dK÷—. Ÿ> º£+ ‡ò±>ÎW¡š‡Š[¹åOÊwª#w 7»#jBÌ1D¤™Å€— x?žx¬a÷¼âÀ:biÓ#,â*Æ¥®|P Å»Qc):eÏhõîYŒŠ~oi +òsÔ4~À µ¢Z“à¢'(UÌÌö ÔÁõ*ò$ s6L¯³Ú<Ùõ—¦P7éZ*·,dzº0øÉ~–ÂsñÌÅ|U9'’¾ÍÆbQY@CW5·b‚ðOím„iƒÙ +™Xòl!²G0õ1]ÉPS¾©.ÊoR_¥Å4.¯¡ší‡¿h¿…ü¯Ïcë›5ªê€†…ïÿ:Á®¡èÚ*âZ€«à‚!lÎä&k G…0±NSÊÊUè®m€[Û.û¹‡Á´ø܇šïN¹óƒÃÔ™U@Ñ}‹ËTt(C¸¹õ¹6EËI‡æÖ5Z+í]‚Ý'§M%¼Âí*oõËê)ï&-˜Ä¿lÖ¹Ø؃¾ö½Ô‘`’8WZž7ôö|+’  +Z9>*¨é½ÁÅ<ƒªÌ>÷–8Æ÷Ä¸Û š<ûòHBMOÝÄ-"/_×xó1ú¨²Nbh± ñF6xî˜a¦æ ôG|m÷(ÛË8’ÙåºW 6KÌRdn¤é)ý/d±žtWï-Ž«n×ÝM:ÔÑy™*‡ò0Îdl:ÌÛuª…öw“ûÎRÙ.¤Ôó\ŽâžøöêÛDÇœÉ#ƒÜñGa¥³…sÛ°eD}°ÏÆø¾ú2ß<· ÓGˆmçò–Ü`vˆ¼ +˘f¨^ÞÄ\90þ°lnýÕ?ïì±z,H4F¥ ‹D mª÷‡ûÁÊM@ûA×ÿÚ—>Ä h½¾óLGYÑySÁ㪃àÒûìÏ||”¥ˆ-°#*ÉDý¥ ?Ç#j©¹£§*¶ªªƒƒÉká›dÍóĆLdtöÅÌ¡´OaUžáük­kõN ý0MŠXªk¤›!Á²ÓQ„€ãwG¢-ɤgþˆCcq·æL°’œƉ!Ò ¨/÷ê¦uhjXëÊ9s2}ruGâ8u½ +endstream endobj 760 0 obj<> endobj 761 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 762 0 obj<>stream +Y¡?Ý7 œ"½¿1 "²Ì‘§IkæÄšÏ(/ok®(@ž ¡‘ßñeOÅŽæ\É·“¹íÙæ-3pŽî0.¤A1“Jð#4\wÓ‰Ó©¥¸ß¾Eîý<§ˆŸ€²2ĨcZƒZÊzg‰0#øxk"m†]ÎÅH»ž +l˾43Kñ8|Ÿ«2ì#iÔ ÂwƸAhõ –V"Þ«ÊÒ]CiŒÿúÕõj Q}æ‚ß%B`ª½™[ðqöF«Òë 2YÞr(8]6ãÑÝ8›ýÞúUÊEf:¦—bFUòÅéNâ8e ö×﮿üßfŠ~Tˆ¤†BøëpÞøŽÍOÔwÕ’h)WÂÅ¶ä ‹Ñ+Ì¿N{q¦qF)v1—"‘7º;qµ»Æ¿bªN™È¤Ä¹Gm±8î8”bèçÉvînÄ8]lDO:qP]Ò4fð +G#CÑÎ4Sñ\¿R§ØŒ(=m¿›r ¡¨>XwÁfIJ¹#_jZº£)€àPc¶†`À’âeà’a’½ùž}/ê߸š3Zÿé^wœ¢Þ­> +`fÝ'šì°ø¹óÃ0…mfåF>s—¸±ÌHkYöŸð–Sj9t!BÉfOÞr¤,tÙÉ™*³å¨R}6¦ûŽ_ +ãÈdt¨RóFoMPêû€R@1ˆ,Xé ŽwU—‘”®e ÎïaÉ™‡ +}ë ûf™¹üRwp†¼Ëî{{âñåԣч÷¿[/öÊÙ];QôÙ ,‡ñ¾¸ƒ,@ì)öW¼”I9Ï"œ]û®BªÇ'Bà/=ø*½þ…?p‰RP±"EŠË&™Çó¶E錆UéGÙžòÐýÅ1wü„ì‰ 2üm»L@",pAM’Æ~?KŽXçA@Â*¦¬ÀßNËeïÎHÁ]Ûeú/ û¤Â9÷ÕpNOüZ«‘üâ”|ç¬O\|žŠ–´—$6_œŽê,q×b“svœã|*ñ$†ó¹Ç±0° ã˜h½êYNúl97ôkc¼Ú£ˆIg•6OÒö*ýó\“ä#"§ÉÏ߬ñÓd ‚ë½úŠâሞPÂéwcLÅÃmºœü¾@x†dõßê ‰f„ÍÜõTN¹»„pPÕ¶XU=a¤ÁuÆ4Žo€~8Š2O§uW9t)º\W÷PR±Uo£ª9?Ñ°WbéTÒÊbñ B +`GåÈ£>À^…Š>#1wŒ¦ÜOø‰Š9!ôß°U-˜UðHíˆÌðPO¸}1³™¶t<,WÛ:e²,)Ï‚&Ï3Z1¢(ò¢6µZÈp¨6X»“e¶ ¹FtÍe"ëß$A±ÅѶ”9€!£g¹¡|w⯒.Pf¬|ŒµÁ)ðIÌÞ»zíµ/~1‰_P|—²Áö±Þâ?ìÚ{¬Àžž‘œ@i‰¼©Ë®kC•úï2x#/JèHçˬÉ&ßS:kqÉ©”ûåæV…Hâî$š¥æÔ1õÊ¥¦×R–Ò)¶V¹õUÅ ë^ߎQÔ ™|¦~(lO´olørj1oc¦‹Îd3€B`Ÿïì´…¡Í ž’ a€x¬r(¨±ŽÚÃ.U[M§Þ¿»‚t—ÐL«Ê/K ÙÝØi\Df‘i©¦Q Fr©ðN6ü?*tŽ O¥¬sø~³ˆ—;…Ÿ®*'/Ÿ¶–ÿ®ò)Ô5¨ Žßèå=iÁ‚ÒXØŽ=º\­VnÔ³CŠ!{%Cäb d6ªM›nh#VÙ3ÉLUè›”ò·ŠøN·[Àû-5.\™‡ê)ºõÖb [–ŽÔ±’¨+«½H/'Œ5¬éÙ[\Ý“×B}¯¿ÿÞœg.!F%Ž‘û%ò н«ŽÓåJêÉòÄ¿¶iQÅ eÀž¥ Y4ìâhu_Ü9KE*eŸ¦ž%ÔˆU`) +ÍŠ d¯‘ìÌ,ZÔÀºÅzÝ£nÀLhF²è3€Žì¾…À›"À' C†ÈëýWò_çûWçÒ”[»LKVE +ä6‚è¼W‰8ÍXjç‹•ÔéhìLõ)ésagðg¹¾ÜyQMØ…‡ +öz?ì\îÕ!É-γ•yûI :¡ñÜr¯Nƒ×ÁpÁölr¦ AÒñd6âZdÊCO§áß‚®˜»µø ãž.!÷9)Þ_Ì ªDÓ§D‰øÉ£¶®ÙBy$÷|ÒgŠÙç¿— ³4çO ÷åÖ’¿ èžÒ• +d%çRn.MgÕ©?m¨JË ËÓ[ïFU×ÒV^Ðý¤LP;„oèTi1E3>ô”ÖïÐ*4d½3ð1ô¢‚µã’$ÿ°U ù(×Øv­?r†ÅÈ,øÂ_Ÿú«hcT‡±J }ÛÚ¥è*ÆJq’,šCV+bðt͘%mH¤ ÙõÆûÝ+üóõ +í^1Fç,ø¿Ía~/ð_¨ub$:Ͼhü̾ (à„5y£å* ¤C’cÅÌÀ¥<º=›g½¡ÑÀšÂ;¸²œ[ï'?<ÿ èqCvj³^’®B$}1ÿ¼œ\ ÙTsĪÙåóžIDž™;öñ™/±n¿èØ´€ økën3ó6r8«O”3ÐÙ: rNâ´T07Jêü Ôù¯>&Kyi:’ªfu0uÛ¸°ÙéÏÆ"B•Hâ`²&Po”¨×r,Þ0r~¿MÐ;¼Ö°°þ¿¦Ïð‘ß·S§9ö¤›N(‹2HÖ¥¦ôÖ™ŸÐ=gé_–£$dHɪ[7šz/¹oÐ| •Ô4µ3‡ØN­àZ}fX;§Ž„«@ÔôÅÀûuX0Înç`¥ a2Ÿ¹u‘È °òX(Š%54@ut[<êß©XƒZ3¸öŸâÒÈ™J§Ü¯±‘Ï°3ý8ؼs·KüNÛø!fä$&]™çíHuF§ºâ‡Ìq“z+úÍ™0a—›¾G””É‚Ê>‚ ýwBh’Q-°&“ÏEàG‚âæë×èg‰[˜Ø+SR€§Àç l„ÐýV¤–e+9°sÂì4¼­¡ 6·.dÚÓï‹_ã¶$qŽ'{ Ój ŸIþ5?.XÏäƒÏ¯ÜÑ·l¦lʪÎqSŠî„AçäÍb¦~]^ªŸY+pJÚØ4âÁÇÖ¬ÅjÍI}¯wŸ2\~¸ÓÆið9CK -ãèç¨%GBò·î¼YµÊˆ½õ¹(SGÕ Ùtcvº¸ˆér]PcOÍMoXLì,¾ÁÞ€fhbdŽÏû]&Ó³ü :¾ïu'ç›}—Þ•¾n(žô¨©<œÎTG'#ŒÞSÑ¥8D¿ÜÅÂNöÿ´BaQ¢nÍX ½øé|!ÔËj–Œ‡ß@/‰¡ßöŸ½âWÚÊ¢jD3åR$Y‘}E ××qr÷9?’ÍŠØzsú—xb +—¡+ZåZH°1É_ßØCÃ|5ë'r Z|–9”²Ž­“Ïu¦6Õ v*>¬ •ù„íŒ>fÕQöã7Ü€ ß$2e›á!ÃOpÛë±êJ ØUN+Dz„Hñ$4d‡ÿ¬é}¯ò…õòU“pÝ%¤ühÔ™£ƒ“Œ3ç¥FMÞ Âˆ _(§nW¹ ®TgÒÂ÷K8½µE•bšƒ¼&;H$/ +à.g…2å~ÌRÌöuxì³ýV4c1F8ùáß:y@Ý)Áê7¡èè&¨&_±?/ j0:fxvOˆ]IÜs®Öm ·„üü£Ö¥å± ýEi‡õŸ;¨^fûôÝ´Gü{Ú0Z2WÇâEÍO&ãî7-1 ¦EîŒ5­ÞÑ’}°¡êßoä–lÁ +ØmŠÍTŠ +÷~ Ùj*vK’ÞS2ñ‚ß*q¶s8$©Nö‡ÍXÍ@k8€.I”wSß(¯É¬Å؇Ç+®Q”Aì»ÇÌЮšh{…Ï@:°9sìåj›·-Ç(7-}·$¨è)Ÿ*`<­åîDw +ËÅ,öc­µœÕû&rRšvƒù¶ðÏŸ° Z¶s=­‡ÓQÒoÖÞ3¹¿ø–+’I²ß2¸tx §4\¾ÝË>³!¼Ä/¯#GAÉLÛdxíF¬pÇ®¯êⲜ:4xã®ã)³*œ·­ª£eŠCeD@•2Jz&1õEN B„&ìvÚ,Ghm¡ô}§Xäfn€Â Ø¢rñ¿“〺¿ × Ôv}crèiqbL¡’¤-„­þ¢]·i 30<šGÄ+…?«Žº¾½È?s Æ­51ó§ëSŒ.4ygÈRéYJ³?Y´îê˜åå2Ñ+>n¬E/¹ÅôX¤3›sÝIK2õ}+¯o¯,‚u­·s„·-.&7$ó°w +—R+Ÿ‹ ó%3M‘…}²aRÏ€ëÀðŒ‡Só®…‡˜ORg$=£b¨Pñ8N2ô¬‚£½W*¢*"œ¦‚$©¥9Α.õ!AõÇžÒ~æ‰ȾR;’½œXfK*¶,_ ßÓ›¢Ý˜”uáC$(.à„ÎÍÓµB?Á½}g/¨ZOŽ0`ÚÐÛÏqT@dŽ º÷ÊBUó WÞŸ[òœõ—sÀZQr@©Çæeìܺñõôi…‘„Ãz8*×Þù ÃUÔÖ¬].§;‘ê5üñé©\ ÝÕ±ÃÐ^S¥´y•~úôÁÞ&CøJ:´Œ6ŒJ§â\¿ÐL„¥»ÌjîÓ P+‚¨mÜ íWðEó2ùMì‹>…1“ì³ßr±WTÔßf^£¹‘û°@¯æÉge±Ï Ñΰ¯Ä‡Ôü¸ G|±þ;ÊõÐáуuso„:Ú!zzÎpu|¨!ªh,8¤çšè )NÄç8©tU„µù[ú÷k…VÖWˆ'.#†:)uª{’oÊÈ”¬Ví +;2ךOF8jQÐ +œÝ4ã²D9¢!.N„+Z5ÐAšŠnkú¥’ ©B]ÚêaœÃ¢Ý<âZ XÿŠSð#ÄD‚ÓçŒÈ®°¸Wëë+šwUv§ÙúØ]ˆmÞçx/tïìô° êÄûŽ ñ¶/©ßZw‚âØfÚ•&)^~ëñáû‡\¯lq7VYŒÙsåšR™ŠP> endobj 764 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 765 0 obj<>stream +¿Ñ]”ºzÆ—ḢöŒ®†"-åê3 É«öÒützœhÃTø!¤õ”ÎÓÖYCä'û¡Ã£Þ©èPO‡–ëЛÅÔ'#wW4Ž…¶7êü˜x]¢ö<&–Ñqò,˜½ú@e ?Eíb¦n…Kö…Ÿ?#õˆ¬z=7ÕVƹò>„NžËÝrj¶–:y“|¶½§˜Û§6úLeD­È¿bÂaq£-§AûÙæ/Ð0ÌRKÄàxè[ªJ6»)§•„1ÈÐê¾x 1(’5õßÐ\$*£¶Éy;+g¨»dE¼ y„\.Ï}Ž"ŽßM>–XÏ›¦[OÚÉ +;/ÃB/ö—ïéÆñYŸi³œœ+¿×qÙ¬Ú\>›“ùôœÅlÇ8ÍD|ÎÄ/¥¬Nâ¼³ëé¢:^•“N¢)¶4™²2Ô9ᶩ ;Ä!Wéîi;»hó‘RqD^º½C  + –°`¼ÂõÓô[Ú¶ãÆgí&¹Jú™¶ˆÀ>2­]ßÔd os–¢êï¼²/‚_C#w#ׄÿ„];¹Xä¥l‰ÞšÞäy I£c‰·Š‚Ø¿q7\³Éë&ùÒÂA9RŸ[(Ш5¿][n£·;ý7h½É9y÷ósþIJ}ñUpL|Ë» +ûwHFó”–%LÁ-GÌôNÙº]CÇ6¹GØ4”7óùõuSÀ°š-]óø$ä×#¬a›ŒÊ8H ¨ž%õjÃmB×PéOÿU™ZYUcóŸù¹`ûÈ€Q!änÕ¿#6(·¤ñ–=Ù~ +âÃgv +5’>ï)usjw-~ó&ÈÞ?›oj4T?þxŸ YyØlÕëPtRiÎVßÓ“«¯/úúºnìá‰g,>::ãÎôK¼K|èŒãq¸¡®¯¦×»P}×é+pÝC̮ϒ"ŽáÍH$´j†,î0+ËDC«8¡÷Ys9œu€é+%me#]‹t<¸›9è]žÞÓn!9¯,f)$•—EÓòVã³DÚ{%+æ?BJÅ_yË&æâ<àwħdïèÑ®êQ»³s{±pNƒ&PjzÿKh‹#B“ðåË&ë,f:ãt÷Uy¼Êø‹ˆ gqé +òIÏã]ò\*—Öy~NŸ¾´(‚î5lnëð-B)þ5Å Ã^c>gjA¡)¹°ÿ¹±ÎÆùÔ®ð¤síÆ>§¨àÅcÚ¨ö@{jM8Þï”&OÆW½@B‰Fˆ€d_&%<*&BÍS•8onó8Ì®c›O¼¾œG­I#/ÏZ÷è›Í|ÑÌSÉ ²À¨…0÷ÅÌS£1ò–öʉŸÆm–ˆö¯:“ PËC[¶sÀT·^I%a,ôÚa¾ånÑëeÆÝx[J“/¸VTWsH#ÁJM§ž÷g‘õï5s6È b??›Å™$äã189Ò;*üíh¶g!i•gÑλ…Æ{a÷ìþ[‹Di‡£ÆEKe'bÊE1TîÕÒ«Z]˜7xoI¨®üYA¿ÀÚÛ+ìSJÄÕÝ®kÅ 2ƒ†®¢¶É¯ Þ)½\„l×ç’w¿Ëšîs&¾šHéA¨IÍÑ΂¦ ‘R^–ò‹C(°û¸pcŽw8Hü«›á`M¥nü¬®Ž]1žuq÷Ã'û•Ù *Ð…bêÎGæâ²ZÍ!"ïÈ¢U™c-‘Ë°™êí§¼–RÛݬ£@³ÕÏ.õ™h–´4K̸„ü>>‹­±/§~ÇžYêwz§ìÜâVr“†êôABÉ%l6-S%Í/ñoç3èæT× K×TywËQüð½[ª ÌœŸL +‹|AL½ 9ØDðÐÏü˜!9/BÇðAÚáp@Hÿá6îä\®Ô" +èU+CeX{fta¸nøʯp1mE×Í Â'b1 ½L—±š®jJùÑtщ‹àüpJâJï{nò[Ôe8ûíågÓ»[r‘΃|P~ŒYp|AzžËdÉ¡íÉÈ, §îݵ¸2+Îý^øB[Rܺ4å¸y–ÚÛŽ‰µÖÒKãdõÚ°†»,̼ û× ÕB*núJéíž ò¡°ð̸nå0œèàøÖéÛT~F9*c#üÕ—”7˜«M\<®‡Þ§oÒŠ©@ºu#'ß2³ºì ÿ³)›â% ÷1ˆ‘rÒÿèŒ +jÔ#ß!ß¡°IÙšPu›ú(A¦Ç_ü~4vCÊeyd«ÍCË?±_ÄËÝîuáœ^?ˆ]Ù~\^Ä-l6Í +áw…þؼ5iEÕ +!Ñ ÚÊ.H³‡!ÿ†ŽluÔ}ÇøPÔ$—BÖÇ‘~Š³¸)ž.lA¦¡äÜÔƒ„†OšÝ¨ÐbYª Dmà©F§ùòÓ¦¦xþìígý9jVXéªÀcÀ¹Ê-ó§nVKëhxÇŒwQ¢wA‚/‡Ú;¤6>¤Ë|¼¸ìÊ´zBwQpß3aj´êh0g°0r“Ò?Œ×—g¶}Õ.”í¯\èÔf0úB—ÇŠñ¡Zr\¼bž]“§{‚Å¿Ö%€ˆ¶–á(‘ÿµÕüN˜WY{hLëÍ‘;Ña_l^vØ™LDú9ð ¨Æ}›ù3{ÖÇÒ¶´#J¿´Ú‰ ªBÅk +endstream endobj 766 0 obj<> endobj 767 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 768 0 obj<>stream +?{«JÀWBâªyz$s?´á9õ#ŸwÅ6ÑÛ£Ö'æÀZ'¡Bbt ÚA/g£ «›’’Í)_¯L TqµVjª‘³V6/qLêÜÊí¸ò#i=}îK´¿sCÓÕaÄé¶-*ß0”1/D?ÀÓñ[Šm^4©””Bž–äUD=¥óÛ`ÿº+œZå(÷C=“R*-Û„Ÿ9'±\iáœ'íD ôI>Zks•âœªN í» Éû =}I÷±AÁ I‘½öõæÉ·Ÿ5r’ÓÚ@催Çn½wÁ„at úí†áL·…åR&ßN¹»ŽÀ¤ãÕÙo–Ô.¹5ê’§}¢­·¼ÈÒú=ûý]æs÷1¢:(§<3ôAò0S8ÙÌ걊”ûJ3è’¡ iãŠb˜µõf™pˆ(*ãâ„ÝŒI’ëˆéµUýO¦¹’ÒZ~öåÕi´ ¹A$œò-áÔ`pÉß•%×–InÓë~ÊmòÎrµƒ‹¬˜Y|wˆ‚ˆ â˜gɹàH<®×•Ô‘R߈ÛŒhXëäð—J äÅ5xÓä/Dï&¨¾u£³É~ë;h%e“a¦UÎLòÔñª| +SÒÞF IðŽC‰xÙ’6Æ0l¡.ò&+R]JÍ’Ql-ÁÜ©Ó¶³KØ€ÀûfYŸãO3©®{š×™Üœ+ÞæÞŸLöæP;q9†c”L‹Ž;ÉuÄhÝâЊʿC þÂ$Y¾QÞÍ`èÈ /¥N6’éÌe8 ]š¨$&(¹ìÍoôz²"t9!p)Ñ‘6€àá[¯ÛSdB†Ñd黕ˆÔã‡Ô¸åÕzÃ;Â4yŽñ/©œ¥+19 vó¿ É%MÚeôÜ„”®x뛥;Àj SÖRjq‡0œ_v Õ’Œ¹Z!·Ž2¥TqR|ÝcÝÎùP[lHþ(1ï6øª¥úùsæw ä³óý z—ZÖ`þH0¨Ó9Dè=ž…³úc8éå —Ù¿B%óêÄõV]”?ëËUŽHÓk&YÈÞ©w~§ÙvEƒ8ymÿ›AxàÃhÂss »‚š0茩)ÃŒ^c-aˆ©E-y,ë²#¢ï‚ô®@nx„LÒˆ¾r9[Q¡3’Í/ë«a]1äÚ«¾MéÁ÷#29›@>k›û§‚Å2[ù“ˆë…D°Ä½ÜJdÓ²qfO§64Æ|Òt4×úAªØdåÒOv¨Ð‡ Õ+•ì€»ºÁbAPŠµA2SŸõÄ|ÏÄ”ÀŸ3³Â:³Íù ¢ŠPEýïWRóA‘ú‹ˆïj>Ö?ý+b H{ø0c5º–íáÛŸ¼³û&ÆèæžÛ”Á! æšþy\* ê {—8ZDcÄÏI|aàºÅ £Þ™ûƒÇgÊ&¼Ô× CÎe§«þ¬™8™è¹jÂãàeÕÎj¿¿½É¥‚Æ´´ 2j s c¤ÒwoeÁw÷C?Ìmñð‰åBˆNÿ:09øèo_´´Øñœ‚hl3 9\¬5½ï¢ÀL#Ÿ> ïl«:ïÌÇp˜|ý„©×@ù ùÙïÐãKKå@´+¥!’d. Î[è+h¹@aÖ7“ƯݲùpøåM Gh¬j©ÞÐf(uÔÖ$ ‚¢øˆf™Í9ƒ›á€LJk}ïñêqC¢šÇ­öulæÈ.PðÀÞ9ˆŒé?S ßd×´£…Kf <ÉÊíyÄœÏîE½òþ©Mo{›kaÓV3Ëú³qͽf®¯`_ŠàšÏ LÍHåˆÂ©"~güZ­‘̲Äö½Ö3\ï-ŒR¸ó,÷”ÞF>f»f™‰ŸÛ}©Þë™Ê;|í÷sÌÕz©jŸ€HÙ{ÊUœÿ kI ¢¸wly¾€ôœÌ£¦Oýà`ìo±:Õô]Q5…á«pÉ Ky£®'áo<ù’žaUÁ}Mñô¾$2—DjJîËfCïB%ìz&Ü™5[c*{™&2u­;ÈÝá¥5 K°Íãõ“ðŠ7¹Â:ŒIµySü;)‰É„`W7^³¯bØÞƒ‚f ]3ÞÆÅM3ŠÉ¸¬ôçt§À˜Àau|Û>•&RŒ¿îgÏ%Çáh‰Ï T”Vñ7µÈˆ‘Ã=Äd쾘?È']¶…Œ`¢§Lü¬Ú·M`V‹^•½G0}M7_n¯1Ç9ê­ŒH‹¼½Ñ¦Çh¾ïuíÐëÖe •–^ò‡°ÜžÚ)Þ-\aƒJØgcN4.sŸüF¬“á,£léø¢ÈHÖLÚß•cR¢nxS¨h-JŸd­&wAýzRºLkljóy|.«¹¿ðr¢.Ú{Õ6û{KœMZ^¹J]yl¿}h€ýÔw-/žAc¶²ËàLBY²KàƸ>`YÂÕc¦ÜÐ/òJþÄÁŸ9³‡tîÁºoXn¥Ë‹ÜØ}ªmá§óU¾{zFgŽ”Žvãä¼”½Œgu<½ËÈÊÊYúj ÆPôÁ+»|®ß8„šV:ôñž;¬ AªDrx7‚…¢ôT4W0K!k-UuN1»Zÿd0ê|§W”Æ¿<Æ’Bòr•0qÞì7ZâØvÌX-8V-¬?Msä×ÛXæïÁ3ÑHfÖ °gx?ùQµk®Ã+É‘«ið‰8âÆW÷é͵ÐÎ1 s“‡¹àÁù«¹³ÅsÈÜèÛ­ÉåkÙ·þÐsV¾AF†òÞo:‚ÛRþW ANÞ”þú©¦ùqÔ¶ÛvCÇ3`^:’ƒïnü9Ÿ÷ FY2€ÞÌnQîÜr‡6¸ÄŽ@ÜÖBðXCb/ÈH´4à[ߤpÌwÃDÝ;ûåDÛ`N$N‹y)ºö þT*Vð¨n‰Võ[#÷,FE!qO%ås¢/ÞH#‘ÇFÄä4à@ªhû/½ª9Õ<—Õ•‘ƒ&™N…ˆYÔ&ö̈ ’§Ü\qàŠØ¾·0egµ ´ G oYDd§§^¶X Ò_¹LA^EÒßK;“IóV$ ,<P/½©êY ¤5)‰Uw+H=þš@´­×A¼›r§B~Ã]”Íô˜QôT’Š6ç©åW¾ä&t#ÙDÉ4íÌ=˜PENú +ø> +op ƒë#Ë€1ÜîÌ÷àÖ=¨ïÓÓ9Èñ…Fy˜˜à@@a »–`¸™W»¨ã eÛžãÇKˆ|+—ɇwFG¤lKBd³ÎöÛ?qï#‡ !þSY¤?Ÿ_ì4™è¸>sâd_+ž§ö½ÆçÆÏg¦2âS´Ü¶ôÍ{žÇIº™|¨Ft#+âê}“¢»ã^‚Šq†NëD+*Ð_ +õŸäZHƘ˜oY€†b²"±=)҇رðœ§_g†!‚v÷$ø„^k!\åùm{]bK±( JÞ–ƒYŽö 6 QÐ3ÈÝy:¸k(ß ?¤ôF²9Jç+s"\Faæl¹5 ~F^(ŸEeƒ$?À¹µæˆü+«6ˆâ“ g~ÿ@¨Hž KR¨(Éz³ çSçç­Ï–š%Lø;»9¤Ç­Â~ªBv =²6õüþâ!~~Y ?€$äPPKHƒ^ÿt…Ú•PÏüæîGú°½&$[d¼NFÖÜNHM›šË26¤©;5!kPü`»»rläëÒ€ýЂ4ÖØ¿«X¬÷Jÿbºž$Ÿ’í–mŸ¸²‚¿Ò.y¡ÇY-|¹%ÁTº¯åõù•Ø7¯U’gi-m0Y1F¨›ºóy!üýù¥Ör(õtåE‚yæGöºÎ÷¯®.†m*våüÑ<ÛŠš„¿¸8ˆ"gÓ³éíŸF¸tá^¯æ?N²“²·â½òÄ¡¸ž3­â–H‰¨D𰛤YžŽoiö/eÐ~"ÿ\\ b¸éE>0òÛ+\Éo³¥©£‰M5¿º>:‡Ù%É÷ÇSê#Ý@ùzy&£ÜGËØ5àˆɉOÈÑc:ÁZèjlÎÓýš0¹o!Ï–õë% Ž§‚MyP\¦Z*/Ç+§`e;¢?o9™Ô$b»”#?ÂÓiûšì5ºÛ Læv€ä½±WRÚ/#½}wÿs,¼ÆSÁdÈ®ÑM‡f«V§9Âwa&¿ï9 ‘¢HJÈ]¹CåXÍ di{£"ÃûšÊĵץç«ñ4bAž©Feͳ'Swg®T9.œÿ<úþö‡‚µêI: ' –äÓTÎRm=µéþ +endstream endobj 769 0 obj<> endobj 770 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 771 0 obj<>stream +c÷¼_ ÆÅÜCï0DaìZ+ ”ú…aû£>tÌbŽ¶J£§I¾]?×£Ó8Íc8Oc2ßy}7Û ZÿØÎ G`êÂÞ#¾«P€+å” §­72†ù¤Ü†ä¡vèA3ù?O:=¬–tɱŸL/çŠEûÛ°–kXW¢ÜÔ?$w¥Ga>_X"5Ó‚N:íw¤Y$VÅòŸ­êms±–ÛZ}=ì>‡JŒð§ÍÇüFž¤Š$`G¡Œ:Y>ê¸=¢õ|è´÷AU¤žÙo6>¬•_ºÓâŠ?›Iøœ±jÅuC`¬U©$Ç‘ù`P˜Å×–6†e@g5˜†ãQt÷l¼sJ¦%™÷ŒñÐäÛ{úˆ n ¨~óÄÀµ°øÏíMO&Gn…‹Ëóÿ7ÊÑï‰ÁK­×6º¨L[‚™f`g LÚÓaŒ,Í_×?èÏÊ™Cì3YyE|¨ÔóDI8ÎØœ(·kË$Z ™š~¹¤ŒRaò ì®"2_3`~’ëƒÿÁÂH°²Ü‰<5m›g™~Ùnâù:P±j+GKÀ½Q|®ª3nýEiœ l +6¹DÓsc­ÞŬgéÎ +ክ îù’?®­íÔÁˉ’W¿ŠDü¸üŒò‡–<°Á4ʸ¶ÃWöõ®NY]\Žo@ÃS×â[®¢ MX<¾Hãße—ƒá?MÔ¢/‡”pfnîÎFGg¯¨>0 ñ(CZÈM—¼¼©£‰‹¾3ºWš “ç—öˆ8Ñ\³è`¬8™ßë´ù!åÀ“|.'£ÑK¤ û›)¿]Ù" u.yuÝ–\rJ#Mý‹ëºÛòÏ‹O‚ñf‘ƒs>)t—‰BÌ®hÒ +ãÀ=)‡Ý`Ïÿ1ñQ—++î%—3ìž•kæ§sËÀˆôá·‘Í\vP®Ö*Fa¾0H +]Ú”z[€ËèÌ8µ\QÆç«.³‚h4¼Ÿw* =›óÇR%]­ê5Š2.ö‰2ÀÜk¦¬‡5sežm³|Ï°c:ª²0Ä Zâ¼b9VÅ’x¤¥¼9ÈÚë–ºª~_»¼ŽßçÜ=y°Õð›[hÚ5Qè‚6¾|¡ÇòHËð¿“(BbJ¼ß&ÿ~Ù<õf9ÉšÀ/¼o"³;°¹Éë÷¨Êrá +¤'i!C §:ª;• +²’§¡Kã,ªÜ žö¿ÐÕs×[S±ò[ž'€œ„˜´ õòš öŽ–_ú¢ gEôšÓ$ò5kľìžf4õ×GÈ"§1h4¯†Hä ¼ˆÃeö•EoÐLª¤Ãdñc¨‰›Ì[¤oÁòµl7$ö_zqÿ{†*Uñˆâÿo®ï¾dXXÔèr.áIm>W5ŠdãÀm½†ED]M½?ØÈöUQjÂë7¿M›e|óçZŸ Ûêä{Ë\l”€#Öó³¶cP…]gÐÆEõfg!üP¯k¨ÒF¶»Î‚øň^¡ËÖ²dV€–xùÙʆƒIŽ›Öù‡? ÈOlÔ»ÔëÌ?D— Æ/U + S6aÎI6ß ¤°øÕ!ô@7òö|×S ÈŠ!í¬‡ ä‘POZ] QdNËÄPZ< ¤oÞã>ãP­VUý_¯(4Ê¢‰_²¤Ïê^ÕB†§J>~´„”Žx^Ì„#ÌÀ§Ž½Ó16;UMà^e}U«ùÄrsøƒÿÔ²Ž`U»§ªìÙÝ5Tö ûr<%ÖæT[WW¹øSýƒP|Ìg¿Ö ìDRDZW»ì¡BüYÚÌ+B.áˆB”½RF/%𸄸,å4¼wELóèp3)R… ÿn±[å)$¼< z…j¥®Û&WCTæÝËt¼J‰°\áw¤¶0µRd¼ÜW·C =Ÿj@ìí£HFcß®èÌBÅV¸&ÍZÎÑêûñX;à\»ûZê¾k¡<îm§ÎHs ­WîàYu0Îøå2”¿WB心„­²GnémœÝÇ0=¤Î±š(í‘U[l^ŽªI”i?þa¸k5Ù‹‘ð»…±hëkµWA2 ¯pZ§£\®k‘mAhþqmƒ‰ÍRD†"ú¨ßuüˆ\$pª~$ +VÙr¤ï¸£nµúÑ?U¥Y5O߆?.Õû¡½?UrÜÑþ®ç“é©Gg’ž9j + +^Æn‡¬¦µõδO\Ç4røüÓË”÷BÛí½°ŸÓw1©?¶ÖY&[D7óeqRÔÕƒF2ÏÓvþÜÇ:=ØÈh¤yúÍ81Þs¬ÝÌçsFT¾ +í7ý¦T²Õ¤Å‰s +¯=ÃAªì¥=ŠM'.9P ¦ @*¤²BPBÓȤäÏ«ÈhR¡#š}ß:vÞåžÓcëT“Ì–Ð +ËÂVŒPõJˆïðCa œGZ7¿NšÔV•K1¦T¥B »&º^|ÓS܉ÚB‡„‘X’¡y__èì9EYõQÔç•œ9â¨Â7¨þƈóµaé—ˆ|ØGs úÀ®¾n×’°€Èâùtor–‡*/ñï°ÃÒ_^ºéxÑ”‰}úX(]eò¨l¶ƒã0šûò#Bã¿ÛqžþÚQE ðtÿË<éà4S™$ú^„Åƈ„×ÈbÅKr4y¸)+ƒV%Š=ãBö¡£?³É¶Š±÷)ê²Õ6i>÷Ge–9‘çK¡•§”þ”#IHªóOü ¥QÓœÙÎ}‘Ïà¥#»O‡ÆJÔ#ûL%B‘!~ckhŸj„6Ò*€‹œ^Ý+לlWßbð ~R[ ç0¦ ù.x¢Ñ†ÛMàó§NªIŠ•¹2q†ÑØM–´XøËè Ê\ H,õýw&÷øž#ç=»c˜Ã\"¨^Ÿ㘠¤)'0dWG­VÒâ+2³œ©]Þ‰N.vé‚ ¢î12Ž .`Œ.Ž©òF“Æ ʦK¦ö½ç%cŽ1 ÷ÌbK–¿«xúÆk+ÊB¡»/á.ßÕ#ç^Î?èʉHp ½¦!>\:™]¢Ö¿ÏÜá)œ`Ö^`¥¶í5=ØïÊÈ|õ¼*<¦ Ï=”JžEKµÁœ½j*¯ûsÎq'F:þ ù?'±ˇòÊJ"°øŠrè&=jÕÍ¡¤‡å½¤ÿ‰ÐÝà.’„®2JŠ‚%×uÝ¢ºÕ,õíCj¯|&õ³ýSêÈæˆ]doæÙ*¸b-s¼l@3#úÀÑåæî™ôa’êÕÍÂÏyQÕӻġþ/àd¿;ŸàlÞ„–v¥7‰Ø½œ@ØÚúþû@Šê1 aÀÞYÁ <8 µÇñ&€ãpnR=DÊ÷”ŒovÓ¨D<£ ’…úFÓaéSmö÷(Éç` ^1«[Z¨–T?«ŒICV#Ÿ(ü«¤ä›H—Ï¢õÇdKé¡t6mÊ¥äO53w%[Õ 0yõS^¦®§ +ÜÈ”FóþÑ%!9Ç™W†¯”» ³~h,`wzRTtw.çEt´£³Ã¢Údz¦É3fZÙN0YO[%aÒ”W†%S4VÛOBš­öh=Òã5?û^B"ˆ®¬w8~´¯œAçS\´P!Fä*]’’)Ï%Çú7‚„óó~²qAnÌ€4qZZmlož –³‹’u%(bŒ—­wd¼Ÿ¾ÄVM‰’íh˜#‡u€:mafïžôp½nV—÷8¢6˜Drwœ¾àE„É `LƒJ°ÎËÍ»ösš¿]öi²¸A`oVÃÚøà@ÙßÙ!ÿl‰ºº‘Y£S ož%¸ªð/êÒSÇ»\_Ƥtmò—¶ÔŽ3a1g Ž¹³¡óᕶM ÐÐ'R,`V7»'×ýýQá`4‘Ú¥»n`i=B‰^>DLKSÚ¶´üKc#("r> endobj 773 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 774 0 obj<>stream +©†›¥UbîJµhŸ.VY¶NýÛ¤+ò.I\¿ó§«z?[ÓÎÃ0¥ï'?KôxfµÄt¢#Ï+”‹WÓ¡*{;ü.1_3i[¢é—Uæ­HL8åL2~g×Ï´5ÏVÁ©‘zþ±ˆfê£ç¾Fí·mÍ÷|2æ6¯êþÔSqX›Á3j§’MÈu%–àWüÐDL«¯Ù4”õö—éVÍo)`rrAÿ¯ ÷Ú·á©Ä$] ¢”]Új¶J! ±Œ¢ÔÌ-Õ ©½Æ™Ë[Õš›/¦ÕŸÚçe^~JNêßäü_ìSææMwˆ‘-닲” g¡Ì¥õ\L½fùߤ—g²$zxb±öˆ²å4¯v jSÿ[g{6®Ö@ÌX¦¤ß‘·Õ۽ݜûvA +JŽPGûk‘UµÚ‰§|;c»í[¬ª÷UÎÔ§uÍ£. +I÷4¢žìáª*ûr+?Õ™I68sd®F=aÒáÎq“úŠÿÝ¡lÀY˜Ò ûNÕpX´ªDuOcºw;°|´®ªwZپ윩ßZ6µóÔ¨\.É”@úÃÚY'Ž¼7oz9äv÷|ª¥1X¶éüÎýUÿìrÂâ|¡Öà[a,6çÑÙȯ.ÅІŒuüøè†<[O}Øo0x?E6KGÒEw{ðàéʃóó¿PÓ|¡mYB@O퀫Ǻ$†¸1dP¢Yû JÍ”£á­Ö]w¶í‚ãgfç‡äÃq"érQè9­f†NŠÃoÀÛHTB¬bG{'’Å"†A,”šyÑÂĵ6½öÇ8G˜!±`ÕP*ÇXMÔðV‡œÒ/™iíóÛ`;ÉB g»£®|˜áíþåÉêr‚8—OÐÀ®DàÐÝyR}¤Y×êmÌ—­ ‘hψµMAa[„ +´£ªbÿW$û€SÉÅ +0S +¿Â*lB`ã–kó°±B o’ÍÍãB‡ÿ˜²%v\žä/è~PÞæd{+à|©ƒ¶W‘…>!ÿNðçs*sÏÂIÀÃ6*À¢È¢[p¨?§Q!Ú8Jc•WÈ}‹Fòøi±¯…&„1Ô•/ÉÕæeÎËürèf`æJÁ‡Ïç^—¨A‰ ¶Ó,Ã’*Ì­ž û¾r3d«vÐ¥à¦ã’#3%·SMYU‘8—šmí/Ã%Hå2þ:õÂäly±y92oòóëÑ¥I#€¤~XÙÇíàðVú?ŽÁ)IAHY´zOŸ´£ºšíõsF)'¶‡b^˾•,Îõ20TÀÄ*¢ÁöÕk/YŒÌ¢I ˆYáÞükž¢6Ãû‹¯UPÄHGp<|hÿ,²Û}ªº n4¨€¢G1öc¬èšJÇ•¼D€d Öª¶ûI@=â:u'ýr«WºjY1aÌ¢£˜û¾‹»Ns@Ô‚!ùÙtã}—ú„X¢ÙïË+@HR”üÌÄÅ}Û[˜(`ß+ yóùY†p„ŠÁµvJ®œ½¨/Û •ÑSéq¸ÌÉ/³ºáòip“ݸmºÌܤ»i€x`¿ë„Ѫ#;Éꆔ%ÝíæÖÄé«»hâ¢ZçctÕÜ ól|Vzxæá¢îu½ðÁ~7Ñ‚“Ÿü@v2¹°Z¶]X…œý2ŽìUäöq ^‡÷È*Ôb›J?·ec´ô,:Éì,šÕß8@„³ë4óo@H¯À%’X.Ý,¦]6g¤Ò"rï+.§æƒ1ñ/[ íºåÇŠšm[=)ܲ9.>wâpñ﬉bC"q&¡}“.óí!Ÿv먨0ßÚXìÉ: Ÿ^•O ‹˜,#DÒÃdy÷ìD´õ^ÖÀN¨7$DQAZ•›+ H‰rEZ[‹#Ð *d-¨Ov&£Œ `Ðá•d ÷N, ÙÎ;Þ Q( \oTì8¸ñq)6¾-˱ŒuË%æ¨D8³"aöç”ßnÅm» \\²‚‘6-Êîµ…XÎ\”–mZ58ÍÒ½+§?g&'JïÅÚÑXÜ ¨Ð¹Ú°‰u|?$¿`¤”ìkâÇôDÃw ë GÁR*›Š“á{U &Ä~¦;Þ÷ÿ·Ðà„¼† >lŒ9À÷d|¼}4Éç0RÊð嵐`Gu+=«†»E‚G^‘-­”¬K|C^kvZ@­Tè÷òò™Ë:é|½@”}‡Û’5žö³R U/$É“ͧØÞÒ¶`PÇUaŒ8]JþmÁ9G³Ü`íÔ-3^Óüw¦ž§¢õåGJk «¾§Ûi׺ž í9$2‚2vÆÂÌTmšú"%ª²××èàD˜Q<æÐϾ™>õ5ÆW ‚¦7ö©T»n‡xs‘é×ïb×XQ•dc5W­šò¡ZÈÝ-}ÌV¿·=‰ßúÏ+Øß«F3=G7žÓýç8ÏÚ7xÕy?ϬIêúM¡-q 'ŒPˆmUü@s²»ôIkÊ"ˆ}¾I=JÑ­ù}¥fl~Õ E£Ÿ˜à ?c_WÅP¹j£¾‘à9ê•*¬²ô¶¸…˜5#\”L'˜€>òünÓà ‹¡pœî!™kÓUCypôQÀ‘¨¤æ\ŠˆˆÿÀë­WÿËï±Å}e Ì;úØDa-žhdPªbÜN#àl××.îÜO±PUI"-\SÍgv¢³BÊ~kŸèƵè=ü•çº:#=,)ÑI›Öå +Š†ü$Uˆ€¡µÚÛØjùðCÓ7Q¬P+¥×ÀÈñH·“Æ7v\šÆxpÛçáU;ˆ’pg…- UûQ­‘‚ØOTÞ}Ž€øÑ$>°âÿžé¼~ÓÌ Á«áÙŸ·Â}/.çv<îu¦ó"ß­K­™›<—D»oøH£>:gé©ú„?†øÈ"¿~ÓÏ™§ŽEtÄ5){r¼×ÌÖ„rŒ^éˆEÒ"ì j CkKê,ôœÂÈ‹š«ÿ+Ÿ‰©â…ËÕsâ#^xY@c¯žR¼¼fñôÒ­¶O'çZw´ÿdôÔèb¢Ý¹„t±ñÊX@}'À11 ¨r³ÞÑäìK¯(©QR2ð%š+ççMX°ŠhìÈÑ— +endstream endobj 775 0 obj<> endobj 776 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 777 0 obj<>stream +@ƒ~5ÐŒ÷3åI dt«-¡TúÕA~)Ѻ6|¼t‹ºâ +ù}îH£æž–‹¹s‹a¸5“ÛIßĜϻà¹__ˆÓ¨…´ûHºiZÎ>çY•‡?ÿ8\_ß)Øú&Ö 9IßôdcàÛ&Áý2X;ùëf ]:íáwì¨B²¥õA³Ç óØe¦Î¤~âùk&¼ŒƒŸ¢Åc³ÿF¢.^5 ú„ø€ +Y†}¼MÄnÜ@Šb#èDÌ<ñ,ûw5óÕEðN £¨¡øI+ gì°&‚A>'f§A0Qøn|'Ðâ1tÖÃýµU/–%xvõî>ðü4ö{$ö\›ô Ïñ[\O† #þ+CÅžPsHíCì,¶=òÝC.—üj0Ë»äµØ*c„Ò^ÃíàC«lÞzYXùª /òËõ*uÄý0öv꜅’½qNì†,F5VÏskÛ¿7CH˹¶¹k +ÍMeNÜdÃM"§ ‹{º1qçÍîQùHdý¦¥œùD¢‘Tú*l‹Ìs0 ü4@¡-ÎJpL1_y½ózjyÄ<ϸ7«:æeG3ÊqN¨-ocdýU›8T õ3ÇCˆ¥…90i%Éèb ê›»XÅ}ñþ)¸±ËfqÐÜôÒËzBYïQÒïKHsJs1kç;¡¿{Â[~ }5Ÿ³†yiñ+߀?Êí°"G~2L“ÕK‹ ~—ðJ¥ÊË~géíh};Ç™fW§_ÎòÁ©•âœ F!¶vÕ¼hÄø¤à«ŠJú¥æ#–ƒ¢A3?¥yw’¹Ðñ2%•·QÐ>œ¯xkÓ;…ð¸;…› ©`™V6SJp×fÖe›hÛšœß W46dæ3JÇ[xW…`^ù‘IH`E_ ·ì1©W>Ðli=ÔឌÌ@6߶žªðfZ–­eÐtÃæn‚¼ÑQákôc„r[!Óï„Æ{ŠÝ> d ž¾€ä®¼õÚíô£øVi§çQÄÃà «w.`í¥kÏQQ½òêÖGœÉ®)¡Õ1…Í +¡F1Ö’ªóCUˆÎ<šï€“cõ)@m6®ôˆo…ÖиŠ¹Ë.­ö$q‹ÙÜ6Ö€!©./%uôÊ• –ÇE®Wäµ”ë¹ÎO³jë:S" a ðÜÈ)9Þ*™!̘†9ÌQ\µ,w×@Ôï8W.CnÓ>Ä ÃŠí7‰¦RÈêÏmà"÷›œï;>´®­äç3 "uu  +5W.TgöêkßpL¸J:eÒt¶@áyñ„¶|t¹ã‰ + <^“@•Z:øy\Ö*Mòç+Ü—ECáã̆^ØWêû`ñE”°ý¹‡o÷Ì3šÖì  ºHGÛó2†Þ{G8cóöUW;‹|sZÎ4­ A^ ÖýÒÌ KòFàC"ØP°¿_dsY*Y(Ôgp™Ë¡¹{‰©Ðø‘Í7{Ó'’k_6pþ¬Õ=Ä]—ù³sFjÅýò§%då#ÕÚ‘ƒ]ŠòÔ!Øô£KŸ8ë€âfwí¤ðÉyyód´Øž²TIæ”’äPA'ªYºù D«-€ VçD) ahfä´»ð,åî&ÆAŸžÜÎq¼rŠ”j`HË3y5y•ùu …ý\rxÿsI£U­Ê4„u <ÜZÚ¬¼i6×b?å‡?•R§’âË|"M·±÷˜|Ó +aØi²ùV„ŸÜÐ…uS]eÊȃN¡ðµÌþ‘ëµp9°Á¾©'?û&ëÅ•uªò÷\éºÛ¬×¼¦«3â’úÄè:Èßó™ØN> JÛ隤YU»šrÕªJRÆF*ÕÆ.(‡Ðã©*usA¿ ¾vA‚^!]­Õ Æ—óÐî»JÔ6žº³£ÙK „ötôä—rt¸j¾ÈmaÛžµî,ÍÇ=iòó1·¡Óeù<¡;Ø“êdÌ~s!è˜/ÍoùзDápºV gaí6ÕÂ(“dÝÁ×waì»f“®‡NsVü1Aèô $-Ô vJßÓõ‰«Q,!îl‡Ü˜:‚ËÝ)ÌJÃCIšï`±~n³Èà¥oÐ1Ëñ2Æz¸´tó¢ÁÇ۽͉Å&r¸»>€oˆ©žbùJdÑ“¤ â­ÙXnGc{Üb…ßuEFB€ym¼bÁ‘h´0¹€¹p=ªc¿è¶]çL•ìI±!^Åyñ:¤3 _³]L§²#@íš ¨›`gl„ø¤k¹F¶6ñj€qM…fl§™U*}ô'‰á‰Ñõn$¡+ôg&¸£jæÁ›Oó)MÚv'MGòœh:8 +»yãKF"Ó{3aßʉ€Ìr<âÆøëRU°úáZhÈÊr„C!«ÄT|×I«÷ãîÜ +¥ˆ9yñGð³­õ Ârt” {!ÙèjØ Ú§Ù]ÈÄ'ÝM èÐåe>aøœIJ[¯CXÛ${+«®MÍbÃã¾Qp¸¼!þ ÖÔâ2:EPÐÈ• ýÄã%W{ø憦µZà×)8‚~Öd8á“{ëßvSöÁP{þ‘æmTóîܨ[ë)èn»”¡Áˆ|š´Kœà +B˜ÿ¥‘H¬Î[Ÿ©28øŽaxÆïŸR€þX•HlÆ}ã:Ã+1A‚YÙ<óµbàWý”²²x«_³£G–û9ð(p–Íú§R¿~Œ˜Þ÷…³·!+:M4:@0á¤EDŸÎW †õìN¾‰·9åçr¡µ} +â=i2HÛ÷i"¨®¶Vê”­Id–ôÿz›Ä‡>€s]˜XI±Z&h$`ç»I¿âGO=K·<+˜¼ÀM“Xpˆ¥ù`"t»€mÒò‡Ñç:áOo‘*u;­–K¡V÷ÐB¥Ö®—Vúqf0$L<##§løï*N ÀÇyÜ2€Á¬µPvÏðFüåÄ8¨x°j‹·F¹*’:'@j¹úÆd®·x]Ԩ§0(þ´‚`»ùhf’âܼiGaø©0·Á@ž¡ËyòÄ^À]øÎ`ÐQl[Ú“gë5«ÅÏR˜òýcpœf•&º£ §:Ô!r%9†ÁNšÄÂɉ|å—)˜¥­)ìâsµhM*ÇyëW{…Ç^Ý3ñ™5ˆ›ìj#s¡- ‘h$éÝ—h橼g§ZF.º5±î]ûèLs1A<É]|–±Zù5ÈV7[1%v¢§s5ÃàŸÞ>Ðb—¼†Ü·*<“ö kB‚rš£ó±sg©/èUe®‰šõå>h#Qtf:ÒpamË{Üß„”œø[‚†Öæt7€†´VA·•m÷}q«ÅËOz¯  ©q·ÌÖ¬?‹Š¾+ÅšT}îáÄ»çÅ K+²†ê\Ó³CF¨Š—ÀVÏß×*ç¤B¢?DÅû¡å«k]åQ.„QC1¥8Øó9à!ATÀý›úX| õÕM ÑPM"žXz¹³³êRâ5W†È‰­PðkÿW•?´y± Ö[[ârœµ£š[ϳã£`ùA+ˆ3õ®3ÝA ÓÌ3•‰»g)ÙÈ•™Â,ZÒÁ ŒÂæ%y*oþ9§– +endstream endobj 778 0 obj<> endobj 779 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 780 0 obj<>stream +úî‡@Ú|‹Xø÷¶FaûpP*çãÂ(:F \^BÍþ™Á´ núÆ­R›3­Ê¾/”Ñ$«{T‘^ýë'¦æ A_PèvT‘,œmâÞ¸„a Ë{©^RãÀÇä +L–L¼·w[º-`E!” 8„?âê$‚V~¤O7׆ZÂäN{Ê{wlû[Ο3¹£{”Z!sîSêÐÌWP×eNõ„|Œï×Wóo7ˆo„¤Á®‡9×?k ºäööS‡ã]mAÑQSìˆaq×Ày?ò‚ÔT—~êó·eµ?:ú`â(ñŒWÅŠ‚¦Ëúþ‘ø'Êû®ÎÊ¡%`Km¥Ð*_8V 혹ÀAè³Ý2¼‘Wy:sÇý¸÷¹3z ŧ¡šZ6¦æiÝýÍ·¯,¼çÏ#\ pÀ]¬á¹3kü¡«q¿Gpž$’çj›lŠjÏ©­{o’­9Hösvî +o.ÿžgÀX¬/‡dÓ­ÿâû[°Vú÷I¢5¤Â°B<âPÇ€Ô ˆ•,£k…¤Oû¿zšâýI}'Q9 +8@p@+h&ç!Ð×sp&ïºWªðß;ð=D;¹hv´E=”gú{3ôR1Ô×5”öOÛ_Ìk¶™àÿÉlu[±TÁR«[!£‚UjG¦ê5W ñå`3†þŒ¸AˆµJ¦{mÙê…£"X!ÉtõÁV· u"tÊ÷xi© Ú( Ñ]ÉbTìHšwWƒAþ^©Ôq²J€höÀ®ÏÁ;ºåv8¢|¨&(7²á&‹Æ’rà]å`Ìf÷¡ž-öVŸY§å·EyKˆÔRèzÞ €8mÚª„i÷Mä"Éq¹ajoÑ Y°î9L>`89¸SßÕÐesÓ(IS…Ð_ ©÷“TØöû[üÉëëiÄ6èP{lmü¡‚4>)X£k ºs2›¿ûn"î.ÊÀÍ­ÄÌÐVvbå–³#ùî [׎ ôˆlN<°Õöɽ®[ c³KI×(<²Ífbïì„TN½'3 ÷àBNÓ¡ž÷Œ¦:Ë’OýL 1Üu+:ª‚nAÜÙ<+«·ÒäÃæÁ F6CP²zÝã;h‘ð|ŸÛÃÞ +îDptOL!Ýt±µÂI·¯¼+ÌïQo'Q€M{vÄ5A-øØ<*h#¸qÌÂß^ÜÝ݃شv¹Èjw<&)©íV ß§3e•´®êÅE‹tES9F+œQÜØAþ™ƒ׈ýò½ý­¾"m®zÉR×íZk½ÏpÓ|¥F7TÖŸÛò£'³ Ò­m‰’•ÆLDÐ#£ýcïìBøÔä3å·B¨ñ“üä`þrÝ?-‰Å£¨ÞEx*˜ì°‡Ç@ñåªË»ë)0¶5ÅVoqMcI^˜G -H“oLËkí¬µ®×‰¸´súÅ*gøèg+ ?j9Ïîútß:†k584í-!¥–Ÿç%nGïûµ Þ̪xTö(‡Ð2Œ‘öt´ÒZhZXxigõ«ÜO2Ñí ƒ:žv;øú$Ÿ«´ïriã®Õ^щJl­åaûÓ#‡p:܈úܸó†ÿ¿(ˆˆôÓ[úA.!ÑÕrŒm¼ p… ªWydcÇŽsÝ“ã§Xfº±ÎI~ Y5qÔ˜ˆ?:ý4ØÂÎqš +XìÊ"{F|€üÒFT¡ÁÖc‘„ñì«œAâ¿u‰ç1;lHQ š¿˜ù åÁÒVªí´» ײCû~ÕPdÖy¶Ÿu¶¥•`©WZ;·H¤|¢ò¤—”Uw °×–Øó9žŽï½§îãL¶ð{M"½ râTÚ7žÅ¢;i#›Ëš CH´ÞÉ:‹4B¦ãË⻌å`ìÍF7ÿÙ•Ý,S`67î_ &Q¢¼nÂ'gÌBQ }ÐY1JàP¾>é d8AAw’€|L?½lhòì.¬NgÓl2ŸâAìsE=MØn´‚DÌx×u'Äq¬¯ê¯œÊÅÅxíQ +1lðZ¬ù2e0øúï¬}JMðl´Ýa;âáÓæÒýEååiÆZRW4­Þ‹¤hL©þ4c(¾`-~¾hcÊ5 ØTÎýwš^ûŸ Š©K­“®û´ždÚÕ” Z'Aí û˜»å–Q³<Æÿ[£ÐÅÒ”óeºaë!öíFÞBgãÿMºÁÏO†‹K»µ´xÈã·ÑÆ±ÇšvÛåE27ù¨ûξõ_¯íÁ‘©ˆ»JP‰«ðŽ5…»áùOÒ%×ZôžÛ„Σ C[Ž±ZW} Á#¤¨×šªØ°ÔóùÃ0]­6‡ñ íØ‚Àjβ9&½wÍ‹|ßI•å6@ö&€;GH̽­ãÜ1ïeõë©9¦cT8År’o¾¯@—´:¿Þî@xýáq8 SðM„ñfÕ¨‘å·ØËCs‘݉ø1̪dí/lÿ8Á‚k~³ßU#ÄDóÄ<ÃÀÜ›/½£?'<*>k'ƒžlÓ"ØÆ[z“Ý—ÛüXwh¹ %Î }€BsGÈ^@2t[›‰¸H{(YÑâ<ŽŽÀñj’82Ë…äwJd€2Ú*¢Rû™¶6•¢ØÕíúTÍ9h"? Œ}eåÝG¦Î3†Ž.Ø÷‹¬qÇÄ‚í{¡«¼5üU³Qx–ínfüˆÃÛ‚ŒòÊ¿~›¸¤‹úÕñm2êÅ’f”îiG—ÐH}Ì‹=¸ÖÂ=,E·^DF³ Ï°L\þ]ç?Œãá`4*Je@'žѽ„ËQµ Ÿ“5~}WläQ#¸1ÁžÊj …«ÌCðCÁÚZ‘Zzœ7iÝI) +ÕÖ f–‘‹×èfJö'æÍç{‡ +…*ÒÅØч)ÿ§ò¦øLŸ ¾Î&Y …Õö“7,¶0bE¥h3{_é!òøl·\Œšõ^ùvm$ñÈÖ¯šóÏSbãîk<ŽFY¼ù¦²®Þ™LPPVÔŽ –®åÖWõÂbIÆ“C§óyH–®ÜT¸yìÙßß©^}ZuqÏÞYÌîÏ ! CšŸX«SkšÑšÚºYtË$7×–ÞigkÛAú Ö£ƒÝ‰»>´,M¥3<Ó z¸$|^Mña9ê?CŸ Ž ¦ÊS~G\‡\=:9—¿DeS…Õ)nÆ Hë¨ÓîRþ.è÷È1hµ¹ÀŸòsì±ß€C2¹¶Ûbl}:œð±íOí»H>/{t^„УïNó8ÕHþãWµÀÕû¼é¡„,iÜ3ÌS‹§¿MÓ8Ï !;è;üä2(Ôoë…vòh¡ZÉT„A„ºTkª^Iõ±“N2[í–ÒvE(~ípÚ¤†*¥Ú¨9f½`\©l÷/ì "T8IJ$I¥ƒÀR@ÊøœCc8;ÞÊ!®¿ù߈Ø,γ±¯(¶(¯0š!ÅKÚrsA“ É}˜W]píæHŸº³È .n!—Däm +KŤg’ŽÖ^Nû Ë*GÐùϽώrfŽD®ÌÏçã[ªµ»ä&¼àW\—X®AB©Dt=3—QyÀ•pÅ® Qã²–OdË-ßõ{ÁþllÊÉÍÜ ´þfXâÖÒp í®®õÚ°‚†åY´>æTtSY _dxíq^¢³”Ï϶?(QaÊQ:•ÙJ˜o*‡€÷P‹¨¬ÊùÛÚœ´W`¶L +¥åfó÷Á£.…ñÆôRÎ?uùÝMªEÚòZðŠÞ+‹J¼RÜzkqᔹ.£)ݺì¸6ûB¦i뼧¶ÜYÎPžñ牒÷·ŸÈz8 kô1øhñ gÊõÉíVâò`º¾! $I+£¢ìíG¹Ï0!|›Cì2^*&!ë|RBε«ãwb/§Ü&¬.µ¸¦çmb@ç®´ƒ䟯?”Yú4]BAgë]ºÊ<ÒÒª&îPý<#€°¦“ª @-0”’H O×]¶ësP¨9Ì„02b:MR¡ª2-±©ïW¦Ø¯ðD h\ØsÖ.‘FmFù\ømO7ÌàåK·í þÕ¹=#*_Óa‘š r‰¦ùaåãÕ­‹šPL±¨#)‡•¯6¨ÚÉmÓ)›âÓ˜Ãô›é¿%¹`«>ƈœr/£/´Øìyw¯CñSÛ–´µÜIb  ùº3»~Ð)äc¿W¹ËæžÑ¨»D‰Æ÷7q³Òr-eàMc'!v•úüIlÆ!"´!)×\‚O J~7‚+þö $Ç¡@8;ö5 ¯C©˜Ýkn¬’œ–CƒJz˜/fë[úmÖ7âFö f4 ”ÍÕŸê‰k?+Fá+o;™?¿Ý$* `âŒ,J`+¤‰[ïÊ–ÿ.r/N]$LDVEïŒÚ)¿}!Z ®±aÜ=cè1)%&Ÿÿ:‘c”QG¡‚ßSºàcÃTòL×Óâ|#Š•6`Ï뻎nCÎŽH´ðÚ‘ÀÄê²ÏHÃœ3® ¢”oÈ#˲~eÎN˜A2àç8§^½ó ;'P^iåìþ¦æÞ*/¤œ!¿jU;:sÁê=úfà7²:&(”Bønë SÖc&MPॅo9+6 +ß> endobj 782 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 783 0 obj<>stream +bEWµ¾Og;=öù¾üÊ yJ[õ¤Óc±\ÕÞŒÍò¿&C‘b\H2J<ÊWà…wËÿ³_Êó?ÐœÙÿ¾çŸf»—ÇÀÙ®Õ60ÝÃgy¿VÕÉðΦ=üh¸Öágþ<IJµâFŠÁö©¹óEÇTóuè+„ümkNáKšKè7Õ´ññSò.e#5R°"4=[„ì%“5DËK^~«î‘´žtTl±§ÿJ·Âd~Z(3sàêÁ ®|nò¢Æ3½ý ¶+HàæÔj)UŽ]º[ŽÝ¨tÝ”»úÔ6Ë?UûÚOý$+^ÐÌr¥LÀ~ŠÁ¬Ùó§v£•s”€?‡.Œ¢{Dæ*–!šÞ©²#€#˜Q +ìóÃ?ÏI +È4jö;—I+uyís-w÷qL>¦wÊ«6 &¯¬ôÓ0Ç7³¾÷ÀY‹“†¤Kù\Î^¥|WíªdÅ’ßz°îœSd› ‡ÍáaqVЖü½.ú´„5¨¾–Y7²×p7x¾Ì&ë$vÆöðªžX•ü¤ÿ†²9Š«é©†IVc·ÌEb„·*©ñð$EQhþ1ÍIWWÍwQû$C"F»zWÃE"ש©l½h”ÞϸY˜Ñôú¾&ªÈÀ—R)¢¯×–fšZ ‚Íט¢& +ðûºT9“„–õÏØ£Ð&JÃg67ýÌí¸(¿!-r»¾\mÜv1càQ,wðX´€»Ë%Kƒ6jzÁiÊÎå&8,)<½HVuÂDÉöèmE"Sœ¶-zôú-¥XËaî•YuÖÕÕ&_e!·Ú¨×zœÃ½îMù^ÈoâLˆ5Ÿ†æ ~}ëÐÚš&ˆ*äcI ÝåÄœ÷'YŒ·/y†u6uuª†8+´¾éÓ¿ê—"d#îÆÆUåÍby‹[.‰b‡æý}Î|4d´<# +¨¸Éø¢Òì%ŒuÇOéúa©¢2åÑòûsúÚY€°¢§ZÁ#ù&ÂÀ£—Å +*÷üÊ®&ßB´AÐ×0®ÏoCÆŸNç‹‘¾ŒLîv2N<“ÀQ8‚ öħíÚ£Á*Ó.®dvš9Jø˜ƒ >íPÚá« ù¨k¶ÿ7i/±½Û8šÊµö°¢Ï6Äk¡ ˜Â¡êÒ,zrhE‹1Ê:/f•¼i6Q1Òa õóÛërî\fyÒc*ÐÒ°Ú‡‘¨>=2%L¦šH3æ§Êͪ£][¹ ”¼wt-Eåº „6yÑÉmÑÂ3ÑÛÈÕ}­¸©LiåQ7¦?á²rNB7/$FYqr“f™x­ö¥$fÿÝ +>˜Eg.¢PzMí[ißv%ÉÚ}ÜŽéó{ +••×¡jO÷©€³ˆì×9$ûÚv„‰fÏ¥lÊ–©»3CˆºhÁtHJÜŒ‚µy)Í^:åJ,ã&¸žoq×MvJË<@­ñÃoqü×@ã¾²ñ]Çò›‰ÅÂ\0Ù<’‰Eý +!b¬Yq?Š¾¿ï½7É Ù\rb°Ók¤ u¦„G[§UzM¨ðÉ€i-j˜ùn¾WJ1¡8 Fb8LÇÎÐO(ÑÇSê<Æœn¥X /ŽÕT’ùêA›{ŠÆ’1r"×4"Ü…b2ÄígöNdÑ©Â ‚ÿ„R›;Ÿ¥Œ5Û1­Ô·þ•h+°°3¯_£÷œOfÏÕV)@Š‰É +>Î7W-¸;> 3{s„ûòéëûþ¥€mz… óêaXªíÏÃ2ò Ï;µ$\ˆóê}Šî/ :y$ ý×™—»F–ÌÂä:l 9ÓÔ¿ßU®0×?‘”׌¿.¹ê-çX Š…üpACÛ"¢„A@'Lˆ·\r}Ô—Æ!ò,ˆi0K®˜;_2ã¹)6á•g2H‡Æ bI)<—xäŽò·ó*$®äÒþˆ}vk4[˜át×úOê‡J BwŠ¾ÎAÔ„cNŸüø,2P'Å iG” Ü}CQßUUPm¥IžÊñh<ꥻ¢vÛù°ûyõvržFÜÉ"õx0‰{; +©=ÜÈþîB Â>ú<£ŸVxx¼…غ´+ß÷­ÊºAI\å+5EnÚç¬å#ÓïÀSäöÂøÚýXE±ŽsšR¤‡~^ ¾*@£ZÜ£äÓ0“ÑD_ºÿŠöoRÝ– TftjÍj)}Wœ‚ßÒÞžQØ€‚ààß¡ÊAô-*P”5ø¶A&‡Û¦ã[~ƒBJº©00Êÿž¯$ÜÈSÎÝ»Œ¾§J3¾›HÖTfêmÚ';òj.“Ç)âJeå•k¹2¾ð4)aI“Ûê£RS®$M¬šN°¶àØç>o©“®»_ñ#Ö"Ù9­•R.:peþ¶¨.3£Ü@ßO,Û_=C,rq᜗øL î ­©$=SrÇ7Ѷ®Ænîñóó¾Ù9L9ú;c >ˆ;Vù +I´›#Õça¼?Ç8ÎÜSòˆ´DøµÆ*µ]ðIÆõ΂¾Äš3ÞPôˆí<3hR÷d‡«UU©Z˜ß VÃ-„I–¹‹uyù"²}¥Ð9=/jw¡Iq?æSEeJÞ{aºÅDÇ%Ñe™þÞŽ¼&œ+;_{k +‚°ÛPð*{{VL z%€ûŠ;²‡3™{ê0Ì,0šÉ³áЙ×çïŸãkå[–Øó²ËŠ¨@Éž©1!Ô½šê`¨m-5—*àÅJå a)ü¨oÒ£tÏíßäCñh3c±€>f”¦öíúþ—6ŒNô4ßD†·Þô±ŸOÚHe ¤þ´;-ž¨rufÍq$ ­âÉAö¾'eÔbt/£†þáìñm½ÍU¼L²ÇÄ 8g·ò0¯¦ë×óMżÈSÜ`¯²„µ^Ž<›s¥]…«¥gõ ã‰ñí;,=Ëõ†‡e*’ ‹ÊzPiߢ`\{{ÿÈØ‹¢}Þ@µ„•¤‚‡YïAÜ©?3l³ÒÊq»ïzÇ…¢çùsâ"= ¦U/gê{»>ÜB—Â+ï´$™f30ì4t0ð í>êôjO'Ÿ©beÈ,~W+†•'7Gô¦Ý–{‡ ñ^ÿàØßÕd&ä3èâháeM$ôý¾¯ŠýgQ°ñqÎwà¸ÁiPSäO°s@G“ƒ¤û-ô´øOÍ0»V,ÞýE-üe/ºw=Y0v ŒâNR …ÁD¥o’Nº­<”#®ïöf”:…>e(¢ Ÿ»(]隣ƒ³šdÁB…7RK èòUá”= ƒ®cŒP† Íåéø}ÉÄî¿ì_£–pÊÍÚ~ÆU{Ø,h`(>$|‰MZÄ–{œ0‰ÏW™{žq°ˆF-Ù¬Ô~[xf¢ +Æ‘ó咘섥pÿµ\¦ÖC£¥c(fK²ÄH>õ, ¤[àV;âIãÛõú~ F‚éRñ&“8.‹$ÉÞ!ì«ÓTw{ó„DŽôèBË;G‡çùõO_ô£ŸK±®·J"éC¹ûUîîHd!/åd˜Ž:A:M01¤Å®MRLŽ5úmqmv`Ö´v†ªàUµ×°·Ææj«öд¬wžH +o0©æ8“$foߊ*Lä÷Æ–/R²ó!tÚ´BõÙ ëŠ&[úοå®ÅK±½+1宿?çœxů \˃Ÿ±wº>`ix/†|¥‚¾ˆ°¹¾ö§+ ¾fD'éZ ‹jMñÅË×¾Iÿ¤3h¥&ýõS¬}4€-úMøcbà9¿w³øLÄ਑u1._|§uI¶£øƒàhÞXB“:Ñé)0²©×ên2Â2mæ$1ugçÕ³¬º¨v蟗2O®Ê®ÈBäêèMsÃ’V~Ø&–BI]žÌs¼n¡ouj‘ë×ã*v5Ãr2f_Œ—¯¹LF#œá1Þ½ò"âHÂQß5Pÿ<5óT»ÝM³z@7I\³Å¿tv'‚LÎ;uEhÔ¨|>ì¢q’1C°.3˜ˆUdIˆqCSæ§÷×X&M½xa™?h-‹ËhZ+c õTZ |îrÿæ]Q¦ßÍRˆÇd[V)­RÀ0j˜R +7¡q5WÚp×Æi†iÖ í¡wƒj8©h¿¾ŸËJ.kü¡©jß_-eógÌ7jâ0†ˆUƱXkxåËÎ1I¹¾t…¶Rœ2‡‰•B’±—z´ØºK÷Di¿ Ûc͆! 5y£€‚Úµ:O5§Q,ž¯!K’*h'ø¤Xv'ø¾ÆQ> _D¼ÿ⧅9x}¦ÐF¯¦Ü5)Ö£’ÕÙlæµX¬{†švC7ŸYá9ÍØW>,´`Ä*w—¦·3C½g]†÷ª+¸J#ø†Ïì.Ów@‡0£~æÌ_ ÙúëœÆ}oÿ]y›”·hí}ªaˆE­Píxã+fSªÕÉ£8‹ŽŠ«ý!‡¥‹®Åà +endstream endobj 784 0 obj<> endobj 785 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 786 0 obj<>stream +g³~º<ÿ›‚k‹²[=ŸÙwÕžáÆC"(ÈëR°7ÕŠ…œ?$n #h½«™c •Ç† ¿<“j‡È´NS‰/R?·çÃÀšdÿLsOQa®Øï n“QœÐÕÿÜ¥– ç”®{øDƒ¯\m +jÎ3EJ=%KºàhâÊM[ö¼n Eõ>nÛJ{Áð—× ¸á\c*|Ûs1¦ pbY›VwÒ -Ck΢¨•7¿›@ŽîyfSÍÝœ³+u|£µ«‡Y4苇ß`³}P„2W{ª×/¡† x¸ªàn…“{j•/[ÙW¶þkͬܯh5×Övhíè:a<®;õx¿Výñ=¬$®dDÿWXˆ¡ÖÒkjg„»Ú$>õØçÑ¢‰’"•gyôSð»ÅÑ|Éfoöî†úâ¢«Û  ŠæqŸºÅõ»í*¨¢†èèž\Ñ©âxXJñóèÛ¾¿Â»¢¦u=It¼?eJ/“¥x‘SjbaÇêdÙ)R¹pü ¸Æñ¢×‹¿Á8 Ž‰P^j[ÂêÃ,Œ¾jYÚ§7²ÊV¤«_›üo*ñ¡ô >27âÚ×BŸÐ¨,Z, +àžÐßK"!|°ŽósÊ„g¥šœó\â¾f ØèNÁì8̽DV¥Z‰“/[Å‘V‡¹kž£¨wôÌûàGÝšƒÀäO¾¬tü±òMl÷‚µ£¼â¯¤ëS8?)w&Pw$ÃVTz$UøýŽ¤óSJ‘ ,BDvÊó­XŸftRmÂ/S Ï'OÛ¾&'wç"yCÕ¦6°- óÝ•×ZÊ”sÿ³ +•e³6a²J ö¿Õ5%±-n" b’PE$Ûƒb%éºs áau¡T¨ka#à7FVx6  -Eí™|¶²Ï{–~*Ç/¯[¼N?ßXß7FÀç%ö›—æfѪ£eUyl™zh<©û/³ü´Â{Ò(vœ§€öÒ 3‡æ©F™:Î$nÖÛš`=bu’{T¯»ŒËñ€ÞtÇBëD)ÇÎuÛTöQ_~…õTŸƒý€ ´Á'Ñÿ†B—^Áo£œ>è?Ǫ(q ¥°ªþ¬³$ƒ¾;&Ÿ€$Î}9Éf0¾+Umö¥BR§ÓÒoc'hŸ@±Gñ[·EO«ÕQcN +È_Ûâ:aݨ(,clg­E¦#,s'œÆõ?‡),$qWMí"ñÃg9ƒàžžµ¤ +V'¶ )(‹4ØF¯±B'·Þ£$"†b‡´XMæ#`è’µüul‚¬õ[[jŒæ¬wNŸ¤úŽÈkir#¬+XÔ7ó¡“+ê+»n°¥/v"Tv­'Oòßäö~ËT€oB}ê÷†'ÑÖ¬]å4äEEÌ è’ƒ·Ühɾ©þmSääýþóì%D*ç(»úe÷#;U|B:Jû§ò1.3‹OMýuóI fkç^oеß{ãßA< ——¤Ñ–=#ú-<Á8hoÛiÛÈ“¿Æ +ÛÓ]t›Úb%¿ÇãØ™Á6ùˆñ1SÿNäp«º°KüÌ„Yž·«»I·­à¥jÑüç i:;hïsñrþþß·}qÔè#Dsûo8:©Krë”>‘ן[yKtШ²ÅÝ9À’tâ†U?¹g&Ôõª0:ðÂ+!‘bn S€.ü”ÊŸþ…üéÞ·îI¾Â¶Ï ŽùBªoträ[ÐÉ ûûà1O¹”T满þ*øÓ·±×Ö<µ7âC_¶A,4ÉS²QžàQjköBíddÄü‰Ž³ø +†ò‹Ë£;o&„¿jâ¥p€~îP[_´û;zÈk«â’òÝs^äbÚQ1€•t¿´€’•Â¶jdø¼ÙFï" +mÙOÌ{›¨êxîvŽÁYwÂú[=¢¥P»3±#s-&‚3ƒ¥´¢¹û'?FQ¦;{Eô3ÕZøš Û…Sv ƒ)ëJw‰ú§ÐûºRrìÌsJ:ÏdKK¨«DÖ³oñÀÌ(ÖÃý²´úÈ@¢ÃÒ²ç¾5BÜíæc}lFà §(ŽP²Ú[´ú™H-fR8*×Ús†³²§*ͧ. +Yèä÷œœxe´_|o“?SžžÊ¥Hóun´2%@|· Ëœ¹µ4¸Ë`ƒëBŠ¼F±û1ñ…êœÃ÷½²BVëœY€1Õ$¨iàöWµ+Ô“ìÏ¥L±to®‡ÊµB »ƒ6‹§HÏ¢Xb–}.Kk}Œ|V®&ãoþ ÃSy.šc]Õ‘b<›`ŠîD©HhH±ªÈ5%À)‘µQæ_ý™¥u $këâ(l ÞÏ…ÒÈd̸}f–zûrGú2ÍwÚ%ÞºV«aŽÓ>66LväW"µ?ÅJj]\úÙ¼F?9æ“`)(¤Ú¾tuÄ¡¹â¸]ž”/ú{c"/=¶éµ1Ç|4J­à%¸Û·+XÃâðÅTÓ"úF]‰kðÔ-xwsq£½­qÖÎ=x¯±½†æÛœec¶± +)ù:£•©“õkt¾45¸”·Ñ÷² ´µ…AF@†Òc:©ýI}¼?P‹,ô-¥ ;îƒÄ®Ù€z¾A„Wal¼ÆÃZš<ÁänŸýû¾·lÃ¥ë; ”8Šh„½1.p:ƒEÏ“°²Á2”=›VRUVèÒõ‚œø3K‰Ü7;À+¬‡¾ýóÐçH¤‰‡uM¼‚ÖGˆ™Ð =Ó‘&«‡œ½ç£stê=W^QF}\~¾£iÃmäÆ(¿Ä3o¤©ç¹_ê…{ìm 2ÚJ®¤g "®Å¹Œ¾†~̘9ýÆBh÷É­b‰¬5-C\<Ý·•½I´h%÷Î2Ö +úOÙIkøäžw†s•òUõh×H,œ4hEo™KÔùL´Ê¼‘ÿc$­Û£=DT»¬ê΢€ó”Ý[Iì0“íì +—:È¿:/ì‘Ëœª•?f·Ý›»ÓS–1‰ЄPéá€ã8û–/©­Ôs ÞÂ.Ý´\4¥9Yzèª ã]r×WÇÖUÆ8öÂAro¨"a&EWТ5îŸé97QíG,£tUw7“Š3,;¹ÎÈœ3 k¸÷bï;÷sD…4¡UofËN‰Zoð}Š…s×áÃ& Ð…Ê–úŸÄiá¿#mç¤Ì\»X¶V€!™ý¬!*Ø&OÒ£!ˆãb5¯'LOâQ„æ.Èý žTÅÂQì2q ¡öùñá&¸[Q‘Cç{%ÛŒ#ÍÍjþ:, UrÃvø]è†)‘Uà!]µÏæ€C6ä׾˼Ýæ¡lÅâÒ%%Ã_Ékó_O±–¼]k³¸/ê¬Æß­ñ½y…uˆ÷ÜkJ¨¿Ž§BwyܤoÂ.¤ËРÍrsÀðèK 6†zePXU*iæ£2eªÌÇõ8âEM¤O +endstream endobj 787 0 obj<> endobj 788 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 789 0 obj<>stream +I:§”ÂÊ8P?síó¦ ªñùbʃ¼ê÷3‡'XlüÉ“ÌvÔÔYki )Çm`tï?4'HÅÎÄ.U<ñ쥼DÙYýwuÒJ‰Tj4ÛV»•ÉaϪs4.§Ò*ø›fWCˆñtHË–Y˦‚• [)ïŸË>J}èXPg+Dº0%WªÙ«þÖ?ïãŠïb]ÅΚ×>¢³#©5"žE +-€4TÔ\Aji²vq4'‘zJÐ’:ÀËzÙëûÄ3fÏ4»QbÝÁœs~{ØÃ34óûmêzî ¼Qÿç›ÜÂI ¥Ó­Õv”-K5îU¾ºïwŠºÁ´ÁlòßBô™Eû÷›Ä{úÉ­YÞ×-'Äå©öÉ€Æò8Ä' ć‰êTÌXâ õdQ–¦ç-óRa¿ŽÎ‹ ‹›#ÀL VÈJGžk§„ƒVO¯Š»02nRSèÊèÀ^¿ERÝ+ÓZp\Êf•5¯2i Þ;Èvµßøu¿ØZFúîrÙÒé7\»‚jîÂNf¼Ùâ!seŒÈM¾Ð/˜‰³ér ³‹Ýºš=‡ó$­h%ºÍËVÄ[õþ°q §ºNú:ÿþŒÂ)?î§mÔ_)ÎV-úå˜ûÖ·Òa3©åÔOðÆù**b0ɨõ:1ÒÐ#ðؘND¤;l9 ¦>‘Š;Þ;2V›‘ß‹¦¦ ì¿hÃâj°Â÷Çô‡j Ž+™©àS%‹Æq¢ç¾Žh2:²¯¢ðíÑèu©¬­ÆL;‡AÝÄÍ3ÿºç2a;Ÿ^Vt®•+¾™`yó±–À¸ÁúÃ.?Ñ ¥ß tI0›?ËÔŽNÙ¡+oAÃ$š/ ñ 4ÃfÉ 0òW¬mà««ô A*ÃpÕ”¡GYk¯Ìb‡b­ušU…xùÁ"ý˜"Bn¹Ç;ЦµW|AK·àôP^2Zã »®Pcp/÷П}Ò mpÓ…°‰²K¬gØ\Ø ð€…ÌbìƒÈUw]HfœßàÒoàÉcÚ$ÎÈ–O™½æî|tøÉxQn"r$ó1»ûC‡·ïŽvßÿµ ‡ØÑݲç´y7‡K^–.mc«+4¡¥‹4ÖUŸ.x“H ¥$Yœ¾è¼‹èDFuà—ûˆ2bÛjòÃÊxçOÿ²Nug~’μǥ&RLdžãPSUÎÞH÷’þ¸:Ðœ’ý¹~nQl^îFøÀGor)Ò%;ä—Ròf¾Þ{Z…JŒn§í¤~Ñ8e öýÍeïóúͲH‹x‚BSãXƒÍÐ1‡Cê4Æö}اg…É›„·Ÿ*$~j(¢Ó¬;ôÇ…›’Tl¿üGƒÈC.ë6Æ5>9¼Áý­bŸ _°­žp,óÂc0&Mqê—ð¼‰:ë²ó…’Š‚JA&¤ø"†¼9 NyJâWpòtÏid/ V6Qm}vÝ_làºl³4Sm%g¹4P˜>|©®nOüÿQð×ûWA(cNÍ*šÑ‡†—Ÿu2^xa¸"Õ.ýá½ m(ǹ Ùˆ;¥W—qðjEôÎÊÊž ÛF€“Ù~ '6’ä²CtC-”¿µYÞWÔ"aCd\š¨ÂðrÕV0~“I(†ÿj(€wÏð^@t$±ÉvÒëù2®äwñ…… +ý‡¦¢òó·§îîÕȹ2˜nS˜'#dO·Q"íÞøÑ ÏJmGÓih¼¾µÃXN®]ªÃ‹{u>-y0Âr± r~([´.¼™¢Ô‘)Z#´*ˆûô4\õ£Ÿü»ðÙPqõ&—“>p™êÄl¾Dshñï~’}·êd¿Ê ?†L"%Ü ßâĸ5}¶ï¤n’ù"o}ËþÞ%IzÚ^: jÚýªÑö1—ß…\Ö†B~$àc­ð0'I«‡RÒ™Î`°dƒB„ž«}òq¹õÕÚ §§`RXÙׂÊXeÝÇ–8vè²OmŒ¹£ŠÂ¯4§ÈEüÃÿý)åËeŽl"F–^mý’GÃ0À0C_ j,6Må¹ìgž×–¨ŸÕ¡Bº”¶÷Hß] ÚÀ7‘X(­ÆÃf1`š'Þñrd<ßR»ÖÅ×™ôLÏyþ'çÚÌïœÒÛF÷õŠfõ%DߪÎhòò-=`«B¡Rj£%LC°Àž~…ƒ6¯yAÊ2lPdëäB¥öcGä{¦°ÂTñ½Å»{ á/AC2¾Å—ê¼»Öt‹FØ“;g–ILÓ.ßë½#‘1þ¿®¬Þ]Æ|ÂÉÕ°µ¡Þ_|_C&Dnk¡¹=´ýyÝB{ Îf–Á–à}‰ëÐ{G~îrp`½ªm9𼄴¥T¥‡´àÚð‹°þ.ÍõÌÁEój´ß˜ïáâ>Ï-ŽA5 ¼eu´U[mºÛP iÓiØBYaŠˆ(§ü•…,E‰¨8øØ6ÏRU5Ló¦`ã6|X²Õé%¨ân·­ñ2Ál½¸×ã_zq¹G c¥CJâd ºÒOhRªÅ>‚¿Ê^ÚÕ3ˆfÅIæÅ|">{]ÙZÿpd*ôîT«œ•äýîШkÓH¿Ç|Øê[?vÖs¶Ã5O®çEr"A#eœ ¨NÒ˜.’[ù…‚Ó”ìQÍDÛTÚE΢¬B$jRãͤ)µöÅ‹ì$ÚŸÛ´‡g'Ÿ/ÍòApçïƒÍì5Ü°ùbíâ¾ñëA*o‡ ¦BZWo;¶TbÿßâÉd„ú0N80×:åµö¤ÆãW K) +/]¿8ðÆ”~”T#ù›um1¥Yº³û¦¨åÄøeOÔ7<ÔºW”S_éÞ_h9°µ(µQŽmÔAXÿ?G¤y‚bËs4Bo‡6D™s]€þºÉÍ™q° + õž¯âX G|P†½7êGWãy'ïÞ=ë*]àóà?vÓáå†I7{¿789]¯‰µ²¡±jÜŒ,ß3öÅì ð=…7Z^ ´ã@ãþt`…&°‡Ê9ËÝÎÇŒX«RC-¨ÝÀ +ÜöªöBþòØqš¼'€Ìsn”o­P(êï ¶@3Ýèj؆<úˆÝ,;S`aX\>”VÑô6¨ò $Õ÷÷Žå<¢T·ÄÅynx°Ô_ÉvÉĵ%ãd°_rNÕAò;È­ÝÑ®’ú£H…Ç<ßY㢺••¯ÊQ„sŸÀ‚0—Ê»mÜbïÎ?` lÍaô° ®®"£XaÂ$³!gÒ]GÞDú¿`.üÖÜòR#eH꤅"=-J÷œ¼j2–lùnk¼z ›Ý£Ÿ¦Uæ-~&àðìÁg=”Å >Œ ˆé6‰9k¦*бêêS'àÆaÝ8w3Š¼l¿~y“€Âf?~–8Œh`±IÖ†GG¨P^³ç³hòëêcŒÜÊ|DÛÿÍX·s»;ßÝ +ò&òCf³$š„—RWPh²åâøž–D˜^¬‹j4¨IËS¥úÏ=£3{µd,òco‡XOëxó)[ï-YíýF: #ND° +rÈ‚S˜%X[z1«TŒÂ6/Q™aHŲÚ:õMñ@b2wÂRºÑÕÀsì кÛy~ÆY°àoPQ®”n_jÛåÒRÇYŠk¢kPŽ;Y”P=⢨–ìLóÔofu£Ö’0›püæ…Á7PÔùÈ®q‡`ª°q¦S±÷CéJJ ^&CcI ùÝì òoÍiþâꓺƒ%‹¨ú¿€ý(µÏkQÒø<¥*%Ÿ¸ù5ô'€ßÚKÞÐÄ :ZIç* FMS%*ûå¢+4OUÉ<ðÓë¥)Ýô=^·vYʹÄD6A}þ5w #f_²ðf-aMnn€)c°ž“Ï9kà +endstream endobj 790 0 obj<> endobj 791 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 792 0 obj<>stream +wöàq3Dæ)§3PȇBõ PÕU%ý{hÉqåB«{EH¨7LñBx+Aã°êO0hT»Äæ6 K[–¤ýA<n®tàR bú=¾¦Š +Ñ*?÷ž›öZÖ·q¢-HÙéê¶D6’ˆ +2äȨŠ4…ý^#0D‚ÀæC™x-mü‘ ¯ò}8D-qïuœ/0àöo¬”ÅG5îvé+µþ_Cbÿ’²\†S5n0 +=«eŸ +],nÂ*Ú¹Þ¶¨:ןñe‚k oA§ÑOð¼¥ÕÏ +d7i_(L IúòéTÒQD$ ÇqÈ5EßþŽ ‰½xºÎк—^K:Mj³÷ŒbCÈǩ=Un]ÂFIJ$%æUp[8po§…fƒ"¦¨¯Æ·ªèx~+}Ÿ4µø¯ÏDõ „¯ÍbC-AÎè¦E©>|=nmS¤“`ði˯é¯ñ Íû$Âs’ÏÖ©vÑ”|ÓÞ‘Õ eÄ¡‹,FEÍTC÷IÎJ[—Œãª«ùŸ˜„·J¯±_þÞƒŸû×~H~æìh"ç~ü¿¼#½m™ís5𹦊ð§åÉÍø Ø÷ÙÊ2oLæe$3ðy± …’2 ?á>6wLé³µÃJttt=-¤é,vE´#È[¹pîb¹VÎîášžL Ÿ®Ã”:*ðBQá·Ä\0ZOÂTߊ†ú9i™Tø@bŒ T@Öã»NDP¦„ŠU¹Ê,R¾*A ªPk +r㺼¸Þh>©á¥‚±fC%š/pvÎ9×sÛ¥#ý}®7<7L "…§Ê^U5'W};±3ŠpQüº5,ï¤[¿a“^z<ª ;:hpF@X'#ï¬#HuÍ-A8& <`Zú÷¿aî”x0ê[¸…Ï}Ò´t   –—Z£Ž-§wÇ›X{Zž;¥ìD«89L—d®I1•Î쎯,Ä6ÄB„~‰eìÃ@{Ë‘D Uî4~±LÀÕ®l»‡ã› +Ùćl{O€Ñ¼ %f½Q¬z§çB¦!›~ ™Õf;íètÙ=Þê2d@YÅý-=¶@Å {½é«jɱke¼Ù·0ìx‚<¡ gñŸ²k +¤‹ŠÇdâ0³^5‘é¶#ä ’­ÿ4<ˆ;$›ø6ÞÁ×æ+öÎÜý¨›@xj™#ôùwë¶!ˆšÎ¥†ó½ì¦ÄÐîÈY"®Ç†¸ŸÃ"7/Í™ù3š#·ð.Í1Š3WkOÿ¹ò&\æõRÏa¶½Õðò°¶ë+@î*GAô5ó «$ÏxÞ‚7}—†—^ˆcšfj>[Š•.¯3î@J"3²¥Â²ÄYš¥°ïš>!‘;^2êG†ÛÜ/_ "põýœlìd¹Þ_àÜ«Ë­/ò„¦Ö +ßœXÓ¨¬ÿ£“0mcõ+Od5&ŽC{%ÈIPùåø(^±ä]wˆÛ¦$)çLŽ‘YÏRÓ9MÇbÁ3wÿkYv¹.JŸw(³ô”4Äm*ieâ€Û4W2n•Ž‡Ê nûþ”sÈo+-úÖK<á~ÀCå™2§Ôòúï–È}c–ùyw9Kç=dm—¼)3ž˜]/Óà×´"áâν'ê¿*¾<²š']nŽT>ãuß.{rß3æDvfaµ2¯L©úÿ¸q¿übÌ_efÚHäàì žŸÕ¨ <Ý”ÚI." VšzÕ¸OÀû.g<;óŸT¼7ä +̤0#¡r Ó)7m +ú]X‰ëÓQ‰ü=ÆÌÚ«)[QÉKd-$V÷ 4öãá/¬Qš+º¶4×Ôý9q‡Uj|£à×jüº¾çºŸO[^gËöxFW÷µÖÊÜßèkLQž§ær÷ו`¼ν JöÆ``‹9 ÷ñÒí•Ôj²Ÿˆ&€$&Ûù!Qï αíë¦áÙ—Â&βÕK¨­@ÁDt Ý’åsÏ¿–ë}­˜Ý³!uU‡.¿4É¨Ó ã[Ž¹iJÞÕíI£Lá»C h>YèÃæîtkd¨^é­áy%ÖÎÑ‘¹ïibd¬Ô—v\÷;þ”Õ¡q¼­Aûlm>5œÌl‰­×•¬ ÿÇð 8uS±–~ r{4´Ó¹÷D³É¼8Uͽu©ŸÞY¦A²ð@;¯›„Òá9üÞÄ·¶P˜Ê_se™î Œ³íɻݞ £æø+Á—¯ŠêháXîùj£í¸ª×·œ%7‰ìlà ã¢KÖÕ%^ã¬^~IMV\÷Ia;Ž™à«ÖQ«cLcÇIž×˜Ù¥’-«^_¿Š™4ðÀíuŸdˆ'ßs‡ØÃeè)„±~ ¡£”ƒP§?•¹—·É!¾ÜÎtÒ„& °çÜó—¡OàL?åb/Eû MÀ~°\êü"ñ~°#ڵ²— }Q'-Pb}Ð!ôwŠ<±Ø'ƒè„8¼˜œLt&ïõ{³A}f}$:†Â¬hdÓÈŸÖ +$´ÌŽõÂZì…¡D‘©ñØÉ2ŒnjÏ#U,¦(‰½t &ïùaÔ|S“Y^ 1A ù[ÀÚœ5¥c +ÛJ+Ï@é›-ÿJg*ÇqÉ"Íý&]ü¥ä ˆÖy¿Ûßvö–¢.žI%•x¡%­a¿•µ“8u¾œJng.Ïu?CV1,჻×X¢éÂ%15:G ´Ý¹a"M«ãÝ(ØH¢5¶¡…H7°‘Åx£ ÅQè8ƨ>¼¡)ëG/\Nñ Uµ™âqéI2? ŠПÁ¢ ù§+cI$|Qwþuø«94Ç”+‰Ö/ü½€ÍfØrŽ.N´³bGˆ$¤Ó‰}¿·ñ˜<®U¡wqå«ÌYäMª,Ÿ¾¶âg㯮äq—¢û¾owÙ~t6`Y¼'(:¨6ýb&øm&íþ2†Üzó\ š5y@MÒ æ8õUýD].HŠÒ¬rú·˜šë äj³?˜{°…VÚ”•,.G­-‚@2Ÿ,Sè‰qhŒ×§Z Î@Ê%Ί·áÚN)ÉK.hÂZ:³Ñ|ŒPI 5ò»ÒbƦÌx8-m¨V *Ýÿ£h¸D°ll¥öÉèwè9}éÍ£#@ÌW‡´àO‰¿W` ÞíB¥nJâ^…¬wÌT¨È#¦,‚HúïwµÓÝ$ÇhIàgQÌÞ•Œúo.Áøù¥ý ¦DPeÿçÕDç(éíÞ©!† øh,$b=«€ꊮÞä„Wl—(@öxY'ºÉ=]Ìi æ<¯PU±MµžòºPâ¨I÷6&íǸ?ìÑYÁ%JL'žç’to“¯ÀùœÄÍÛo'ˆ>eŠùVâwÍþ|±Ö`PÇ}ÊÝF·0ÞSfäo™ïö×ß–Ù~­e eÚwm_/žôüµßЊ”¸“oÐ)Ô½·8M4OCïy[މܓ"©IÐTqAIï'rÉ5)Ûƒþ$±æ β¡ØK4¦‘C 3L5Áõí'ÿ· ¸ü¡È»Ç@nAa5²\©Ú9t«rŠ«)5VPu;g +endstream endobj 793 0 obj<> endobj 794 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 795 0 obj<>stream +‡Ã 7e@±œÉ©!£[Û|qû`ÒUô +x­ t  '¹[?$Íð=¿nü–ÍÝ܇û!‹ûãêùd§áÍÎáOdšúûÕá49Øu,3²Ʊ"<ŠÁ¼ºÃ'˜¯ÞãŠú†Üðeœ¸²êVǯ“JËç:õÝ‚á…ÙÄ4•¾B^ˆiDý—jAÄ2ý\æqø—„Íl|¦Oç•7—†ç¿ûƒuæa™§ +(^›Üß‚»úk‰ãÂõÆbnŸt‘p˜„â`3Ó÷€âÑë<A‚‰âU¡…ßìÄÙ-Œ½ítT™:À{8¸j—AÛo<Y?IN1Sð†hì‚{gb¿=òÞž­5ëÔØ÷¤6Ña¯y€b«YÉÔºÙˆØýM +×剂m)8«½‡4ų²”ýDA`LŒð¯+lpgûþÿÉÈrñVÑK¯u*dPõ&Òpð©`rýÄ¢9AT“’oQs¾b¸ž›ukz3Éràa=QjœŽˆe¦åätòÝYò¦kàú:›Ôž XÄq¯UBÛ“pÁ¥[a*iNÞë­i +rÞ×ì…§õûÒc‹÷ôò¥STXh&yÀæz‘ì÷éùn}v‰$£Íhsà;¦ÀÃ(DŸÀb6™Ÿ$}€ø¨ IÙmùå´p¢7]‘{CõÉèÅ^Í‘`*JTƒõp«µß_ÃöˆÚ¿¾LâÎŽëîŽ=®Û™›¹,BcÖ󙙘é3Î=úã&—fPëþËý&ÊýêÆ*êIV¡úP™5à‹qÌÎ!3¡ tÿþº²¬TO?Æ%¦Ñø©þÒ•èËE‚´±ht^ˆúBõ+&§`ÁŒâÝ1bÞ–%à°ðaü÷Çlù¸OlŽÔõöä-uŠTÁOj˜‹1\»Wì§.aM˜'¡~ÕNð”P…áHâm kã‡È'rHmÁH9àa¹°œÕ½úSÇØM¢BbN›A_Äe´zĬŒŽEÅ„_"Q0˜üiz¯xÒ¶¢« ÂŽ$»æÕÒ€ÆW‘ F¯ ˜[#¶&éZ´OüxïRûª ©W‰¦51d­ûü§dK¿Ý'²EÏU”÷´Œ€·QD˜_!6f"048Üü1Ä´EPÛÿ«ì`ÓVù/¡é²ô&BÁYûÉ’ÁÙÞÕ'¦–È!í/ùÜ$•º~ñ‹íç?;\†ÐëOU ©f¦,/:Nç —€‡n¿rôg‡ó¡¨aMÚR$qj«!jÃãaò*¨ñGyIItAЪ(§¯y·¢@;…±ýzV)Ù&T …Ñ5ê82fÆ¡œ{3‚xÿÌô™‡;ù:w˜a±#©m<„÷ŸìÖò/NF‘"·6Ö+I7¬q‚°Ã ¿G%[F°Hû„ l#‰YùÚ»0ƒ3B|})rT±F‘¤¥Póÿ¸ß _u«ú[ÏúãõØÂ% àâ¯uSa£YÜ¿ÿ<Ê8`³±Ï +=aÄÆ]òKî\ä°R¨ÓL5ö’¥šÛKņs퉫 ˜ ûªüUI¦ð㯧š¬‰'óm8ðOyàû^ž²òŒ‹¢ÎK' C «8çåM<}ÆÂæOæ|º¥¦³¦G^ÄGn<ÄÕõnÞò®dÀÈn™qÑ2]hP3FøY|ÉÛà'û‡JA,ˆ6ðúðOô…J;zà­~ 6—mMÝ”e;ï€á ÚÏSqg1§ǼAÂý²Z¤¯ý]ÕF<¥Á{À¯y±êe-g"ŒÛÏð'÷¦ú×û±Nlì‹W°žFÆ7MúP¢Ú`cJºª§%e¡5ˆq­Wƒàj.ÝDµÅÅ€ü?î#þ:p:Že‰ñ«CÒ×è…«÷cGü^—CKXF8fìèç†ÛGí¢ø°ç-°7uMx^®˜×Ú×É»Ôò@ê’@+çòüwμâ×ýhFÓ§‰;CyH{Us<Ûü€g;"ÔíÑDGü0+EÔƪ|PÄZq¢c:¤ 0T²AɘÈÚr02-#yžâ®}U¹;ŒßܺBÆŠÏÒpÕ—}ü_Ñ9þQŸÛáSióºâeè} +ÉÃø}'漧jk!:{—kŒü—T£%ä*Uí Gɼ~£w‚0Í2 ¢ø¨òSL5 ½—o;ÑcÊ„eg$àîÕÊ +êúÙC°LT†ŸŠE£À覶ûðŒz*0ð¿¶>d} À{>‹ZØ;¸ƒ<©3»z<;ä4¶ÉuOÙ<ûy¿Y3E§.!Ò.aN+ú´‘ÂZãhbçhe_ÈÙ9¯$ߧùœp]U0Wk:·öú Šsô°/V£^OY„Ñ`Fú¼¢ÇåÄýµ€N¤oS˳(Žæ“fÅ€¥€æl±Ž±£°‰í=¾e ¯¦0-}"æ´fu¸»T¡š0Ó+W<6WÓž»# ùôjÄ5zb’ÊëþÓžcQƒ"íh#Rgí4n¹(™NB{ÚxqÙñ–n<8ðdtAA²ƒ´wÞžÿÛ_ϸ?ÜgAÍ«>ç} ÄžV¥’”[g-L]ùxú4¦~XùÛ;>’æ¨ÖâT×k%g°LÖ–(ðl`~9ï€Ç»Š¡£yb'sÝš-‚±‚Ÿ-JW6÷½S9«…tëžB^ä&!z‘Ýã:‡|*R.n Î!$˜4m×P8QÎüÉ·|/×ù6àRSΛÞS[è âÌ›õ»ê#ÕO)ZÕ38‚‹z£…žðHú‹6”¾`±yŸÙÆÞ¦NáÊ|f2ÜÝø”+Û‹™!35©KDÞ¡9µ•pŽ3ü ÆÊ°´ƒÅN ”΀l8ÍœÜ%G:¼ìÆqh¾I ±û{s!˜ÆŒ*×¢Ÿv¦âµÅHŒ¢èHƈK_¡MÈcv1QOT¡ J¾np;Úݪ&¤Žy¯V4"×´AÎôC‚gv F 6¥¬©ååà.î]}ÆÃÖÉ"{¿¾üÎà¨y—”Ìeúݨ(þÍXCî¥7‚Qs2\]5ÌW2&@W¶vQ;D|B:Ì$Ö÷I—­¾!¶²;Õ:“–N +…nîa׬߃~d ¡™ÖPÇ·ˆÅê‰òRóåÄkµFà+:W³]÷]NpØÂB9d?!F +¢'îdõ¸ ì#”Öû›%™Þ,ª]¢Â£,f‘±¡sá±[_“D—øòVž¢g‡ù }ø­Ï-˜­¯Ä¢ê|:T£‘£ÊQß<(ÇBÁ™ =|ãÐ.Í®â~šþâÈ.ë:ÿáÈá¼DÌ ŒOKª$.!¨V§ŠUÊ°B”9X,c¼!­êhwCyãÜê…éÞ@Þ \uõéÚ°;ózN ,­pž 5 #9š…Â5}Ãuˆ²Ù¢€¡äÜ\jòñ]ôÃÂ# ›»?zzs8Ì0s3bìvJA v•€ûóÑeèíJ5v +LtçÒ`„d…*†ø{ÊÒã ÙÆÙ,&‰> +Tm‰Cš…<;Sw/\ˆØlþS¸0¤#}÷‰_Ì&e½ÅCðzE‘QSŸ'cþQõ@ç> ùˆÖ6ü¥@š?nŽ >”’°Oz–»nCu¸7ÿ½ /M†=;x pŸª4.´ÿ0{JðèäÈø$â}EÔÏÑýr›œ,ù½¸rƒîS¤Í¼B_‚”‘ãzIΗY¸—«Vâ7&¼|¢K–m^,­*£þÀWˆá·Ÿé±ÉžíR*uPÙ;Û#NŽùíQYÛë«ayÅ_(Š»Keƒ•%¥Ey»¦ÏÌþ¨¦X¯û1 +Àø Ôßä®°þ€ "ˆvKÖBÙå¼x{ZáeâÌ5¾ÔíÛ–2ˆ¸ìgߟµËÌÓ¾£™W˜Q±¥5Ã3±#¥órmtö&(Ó†ðϵÍÒœ¢vœ}HGͳÄçظò•#^ÜÓ¼>—‘{éê×^NgbÁ×ñœ¶ø„0ì¯Ò ÓYt ç—äÊ—Ò{=V×ðù›ßNGñR5:@¼>Ô!ÌÌô%¬FU‹–' ŠeÄÍÏ4¢„®Š©Ž~®Ï1’C°Ð‘žy# ¹;fu·„+}\~Ä«æðxþ)Š«ç,·(ÛÏQÖÊfØÏ` ñ=´* ›X2lm:oV ¶[Y‚«ð¯3£ÝO‰`,ø ý ÌFár‹1¯Ž‚Íž+ÄÝÇnnÁqNÄØÿÌáVÞ˜—èû¡ÙËU”CdÍ4Œy%®ÕzÔs= ×ßzûcÇs¯­ g¡“?ÕÜÆ?àið…½-À%Jv °ÒH> ÊÅ(Qv¨wç!ò”ÈÚëÿžʧ³Lnê|˜j©R~ +;þjè"@1G8W›]®B¼±¤*ß=½´XHƒcÌá²X ®)Ip‰ìC›zg“0å·³˜óɼhýÞîx¤dMÓ¼Çî6‡×-R*ëTH{oZµÎñcIÓNÄKyß±i=Æ-Ëþ™ä„^7ŸT*„^™Þœ%D3Öœôä,Ë ×Èy²E.Vâ²Ù_Ä$›¥Š³±ut»Mj3Y­.Ój +‹úÛ9ýB.?ÅÁ65A<ŽŽUgÞ'ÕL½ã;r‹Ì#Î^"[V ¦ ›þRîX^(™ºí椥”ßn¢ÈPôŠ6å@Ô†zWSÉìSÈ<µ;üm±²Õif¯T¡ýyè=Q»% 0çDºý¼‹ŽX~ïp ¸˜.Êb¯_ûQZ˜›÷ÄG²[$KûÞØ £FÊd°ŒY9T3èóûÕåÌ,ÖRO'-.ØLWÓë‘N&ô‰ÁÿWªç¨ÏxGOµJxõÕ…9íy´–ì$š®¢ûM0\ÕLŒLh¤‚ D¹Ü<,le½J$›Î7 '£6 ¯Q€ý™ Þ‰‰NfÊ?ô¦sNfŸ.×æ\þ{2âDWðf#¢g!Â1|†QßV‚ø~ø‘R{cGÖG*™2…oî–i‡ Ί[f†é‹vÏÐh;#ÔÉŒ?7¢LT*Ftêû°Ž½xjª‰]µ€é®=WD|‚²îÂUô™Ð~rCV?öSòP·¦ÅE]Ä­M«Ó²wœ°4¦Ø¿!pçî%Ö#Ž³XoJîéâäß@É éTØ[¨wU´H ¸îžc gGÙp¥((°@P­é.A¨‰ñn¡þxâuÀ ZÏc‰RX»ùoxòK{ÉCðÕFû6l’Úˆ±™I¸‚ù ŽU{èX >ÈÎÛ¢Ò1¥)`f‹©—Ý=ü=´òpúU³wòb¦w Ø¿_|ÆXZT/4ÿ +"&!·'ädxÐd"8•`sx%¨ª{–ä«H>Ú¾[FE]¹×íΗß8ƒÐ?×ÊóÒ]Ûúè‘?îPBê|ÉRN,¢ñù àÉè¾µzEÉjdi6{»óßv#ÖÁ‘2%G˜ÎºÛL¤˜b| :Ž^ù±‡”Ëú«sŒú}6ý@œý.#Yiÿžëµ\¼²rºöçÕ £Ç‰Õ‹ê7‡kíJÿz:j™ »X=©\IËæzÒ>ñ;ŸkmÉ&š!'¯ša ¼SØËwÃöE4Ô<²ß^ѯñj ‚!Aê^Ãf}›‰ÌjOã]>˜Ëí¥ê™.‚³O~`ëÁÛ+Ž ¦æS9Î_ ‘5,æ™Õ»¥™„JÂÐÛQõ›«ÊsùÚ˜DÜ@bWª0FµÄ›œ%ÍþòwÚ‰r¡¯Ç)ˆŒA½Tä³.n¿§>eañ…^·°Jª«€sTß@G$9ã ·ÞI4|\8¬ûÙáÞƒbq8Ž6šC"[p†L1Aª‰²²R°DQR¸û¬Í¹¨,:#Hé“5Blù=#èÍ”‡Ã…d&,ÿ8I2ɹn.Ђ)K9=tb¡Í)†äNhlQ@ûÒ¡vS3÷y¿í¾16CCå¦ãP¡ äôøDVÃc㧹Œ6ý”sØžˆ÷O°a<Û9ûRfíþze~éÄŸDöÙ°Z±2èñô•ÜËaFâ!rlÓ}ÅÓ%ªœCþÍ>0pÕ~Þ7AØïVzá¶ÈÑí¶„?{ +Ó\ÿÂ,5$øÉ_%ì55+~ºN­ò9º“à~aý(9ðåsÊíøÊ Gà76n蟜`ó¾(ö¿ÔíF«ÐûzèEr++4ÀÃàHP¾`—(Ù)A,=Eïi…QŒkcÝÕ)C°,•œ œŠ.L{·üÈó'N¬>.2¶éÏhXìñè͵±8>Vî™’¾)Yã§Õ¹>íçZWUWP÷fêø—°#âµ±Áf·+ÔpÅ +¬ˆHÉ릸¯s¯›;MiñŽiα—'h…2K÷˜ eÒ‚™W3¾ˆ‚Fh÷j; `8¸ñïnðŸ<ûÚë5CAY +ÑX~&{/™£Æ¯àš}|rv]úp:ÌrâÜÕKmžŽSd!MT ×ùƒ‹¨“Ÿf?ºp3ÿóWñ-C® oDîÅàyC÷ èŸqD½Ô‘›0ùb3ÙïqqlÀ~:¸Í; œœ*º¥òm ݶòêq£H_œï 1Ár)J/‰¨‡Wí‰x é—Ç·V‡(›{2 ¦NêÕÜÚG»yóÁhÒvÉ$j™Çš‘|Ò}Jv€9hyf§xõ&êüÑ«"U[!$ñ?ù°CŸöŠèž` +á ç ïä Ï«2Õ„¬†þ(ø,QõvÏZ>AûR-å_][ +äZ( U‹¢£¦39¤sX yÙ0ñs☼ïd;í¶ç‚JhòØKþ|Nð]q0ËćL[ÃÞ„\9É’Üëçz{‚±úÚÌS™Ü€é¬­c- Þ3¾r˼øsl-/=}«mÍ[»€+ò›+S¡u0°Y#ou_/­IHM^ƒOzGÜt:ç1@ÕA‘…VaPÂFö Às‚Ò%¬@ÖÓz*Á`‡1]éQ¨çŠ ñYÐé`¶Âÿöu ‰¡­ƒ´ï‘üæ„gÅ8é{rÄ3\Ëj„0ð·‘ý.ÖŽ•/m+¾Ð†Õ3¥ù”€âIS+1ON)e„½µ2[kÈß—µL/åxØœ¸À‘· ˜eÊ߈Òs.ž«ú#־ϗ)åÊìh¾uÔJv‹CX¡{b†ºäõÍ©{¸[Óµ"wu3GB‹aˆM-RN4ŸŸ“-uHmÿ{A-×ùšf}x6¢½q[•`Õå½hïv"™z T@è)Žq5L¤”pO>8ø‹¢·.¢1\:)œÞL5wµ$«)Š08Egß%hp¬A‘p­sR½ÏˆeÙpT”~™èA +ºongžÀ,A‘µŸlÅÐi_åüy6ÿÀø4M0Õ­…S:VÎõT¥ü@ì *Kj“ÿ•R&Ø#1M®¢ë‹™[wx®¹TÀ}JÞrÈ.ûŠeW‚—†]çÖ­Þÿ‰ÃZÃYr8ÞÓ°¡Çó¢>ÑÚbôJÃx/’Öý¯½Êº¶¿ÊðC$¿1b¬ã-R2cÑdƒ˜ËÏív}ÉúïØ­œž()‘ƒBœ#¨¬ú1%3VÝrxÌVêíQ–êY‹`¸irrŠóVJþ=ëáp’ÔÛÔyÀË4Ѫ¦ÈpnZ¾‡lmð~§HG1×{zËjú+îÅúßýïçµñ¦·ŸÌíŒO; YšZÏT:~1ÎüxüóëSºò&> :•–þžÕŒ®î€tmB(T6E2oeUfij]Ížü}!¤pÏÄß%0˜yEfÓÿÜNt.¡§×®ÅC´ +endstream endobj 796 0 obj<> endobj 797 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 798 0 obj<>stream +|™ö‚²¬{hVËæHŽd9÷œ®Bp­™¢Ö4䌻Æ)'`;ñTŒà^ñ¢‡%¦ÎTÖU˜þå+åÊp®Á‰J’„c´K<ìJâm•¯qhŽKº”ªˆ¶ÂMáAŸùf‰ #£ÎôÖÏ£Ã{/CI¶#éiär›ûHH5$ƒ•è}a²{ŠÒP³¤ã0 :\¶¦L·S½áìC°AMgµ!È_>Z û^– ‹«Ï›/HÿÕÞoÔÄm«kÑrlBEþÒ›¤<* +ëgAw³…¥¨Ã¶e›•Œ$µÓÝÆÔëÚ~ø9‡rÃ>.à™7î>Nþ>ç„8õòÕÖ×NIt‘Ê…îhß—ð7å9hº~L­×ýÝL:iMhóvÍ‚½27 +ýž¯RTpu.ˆƒ2”ª8‰Æ £Ý†xäÍHÚïP»°#ž/Õ‘ž…ƒ~F…áL + +ÒYŽ‡§ ú +FG×ړṃÔ'Ñ?ž\ï€c½“ßw”%‰ë-ÁøL†‡Ä:iÅÁùÏø¼ÖO +I¬ÓK»dоâç|ù ²€%ºl w÷!{À7Š¨fs…DûÖ8= +\ª¢)À¥á4Þ@¹p›xÇÇ3XYà0š¡5–„^ÿó ªÞŠP˜tŸêcbñˆ†JŠyP—Í‘ì'ª®þ)Þ Ç ƒpï™ÎUŠÑÂþ­×ŸØ1ÐEMÜIæ2Óéûôë'öNÑðØ ÿòÖpù q§{4ãÄV`¿ºò50¢v1«aÔùÜ*Ò¶x8i +uJò:a¸îI~íœ廾AMxÌðà j#Këþë%IˆÏ„"c£“Eà33sƒkÃKÚD…ÿóGµ˜Yžc™íÕTÐé!@@‡œÃpÁÄÐ3¼|¤ã¶wþÄ3#B­?Ió“ñrþøyúɯt+ŽDµÓ)2Në‹@ÏghmÊX@:ø^÷álg·}‡ýH QboÙç¾p¯é³ŽÐŽJ Çp»„?cŠ+ë*Ôæ±è sröBD@ߊ‰*†ºj?¥+½ÔÒ]¿ržƒdð›½3l%ÿÈÞžu +'#™Zu7#uvÜ-}|ðAµ½zH4Ê8ù’¶Þ-d2¿øiòVŒ{hiÕ#0™”Ï€P•E€Vss C ÏQP_ƒ¤^nLClÛbFw^y€P).23àµ5e¼ÍSXç€ü8Iy˜“jïÙªtxJ¸»žû&,²Ÿ¹cî¢(QBDy»Lê2”l˜Z'=Ÿ´½ç!ãø¦„ƒXkJÖ×°sUº*Ü ¸Á,>!¬ãè!beˆ}ncœØp/šÍ9ÒšTTJfuæäÍnKP—Ú ý4F)Ͳ$ÓˆÕ«Ísf@£ë§Ô¿KóØäÆ}å9è<#ÍÏøé¤zŠ·V3¯Ç*q0èó¾äC¶òÖSÝ£-ºíÈÏ[ŒàÎO%ÂbÞ)ó Æ6{‚Ó>°Ö…w‹VØšÀnîá÷§ âW?{ŒÒœ°fkÖ"ªl58/^~’J ìÞ µ59Ä¢Þ73Û¡)è½!o¾÷º)@ìCi`å| +Ô,ÿtgJPD´<‘᧮5°ˆ<µª(‰óñI9áÄÝ]2s SlŒŸfK«#C]–bÛ*^XƒmHÞïÛc»‡üsC9ÑûVòç,†VË{‘~–ø«ÏG×iáͦÝ5$åi* ah\5>ü"óŸòÅ÷àéÏçê¨ñ„úBô㎈|Cßë¤ T˜ž§öŸ>rUÐo,Ä÷ü^®ÿ>ªVà!f*ˉçÜ\É^Gb:å$9“V:MŽR˜ö‹R­X¥æjj¼´MŽ“Qî¤!)\£üqU§åQ¿Murv±íé¿úˆè×b©(nchŒÔÊ/¡Žøa£(Û?ÅT9ÂÜ©R]}ãù¤k¯k(,XŸ˜e&†e÷Ìç¿At:¿Lê¨Êƒ\lßê,¯x›M[·;o§²9eN:8³f%\²8£ŒU¶ÀÇ:*FwC])ÆBo;;JópKó(3$®@°gpÂhÙÀjr§4.Ÿ&³ H\žÅío¹µMCùÉÎÛ•ü¡Hìë§UEÜS¸Ñ¿sîš}§zƒœ·SÏÚ˜C]†#ÈyªÆZóó-Ž 4çRlxÐxY0´=ƒü©"ÏáaÅ…Ÿhl‘•òQÜ‚îÿ²þˆÍÇùÏ{Z¸Elq‘PXÞ¦}ýyÅÓ ¡©‚등V³Ž‘©võ/Çt¹¢ŽN`\†+0¡]òžäXc\ÆØâ.5è{h7ªú†Ö Ø+¾*Ö,;ÄÀ14ç 4~=™ÒÐÖ‘ß”ªÜ1‘<‹±2Ž9–vžæ¦?³D³ÿo_´‘Ý®ÊëžìñÐsEw'ŠšO7ƒyÄÍói`Œ°ÞëP ÞN­ä¬c‘I@ðÌ{Š›Z~¨Hém$ùÄѼqÐc“ÂX{fèxžäb$bÍ/€èâ¼S +q.òV@)TXÂâÑáYúPT}ÁUc 2CèÔ7rúË*ÂZ=ôò½i³zäζ“äCBOÙ÷²‘ÕØØ"íȉád”ù¨ ÛÆïFs-G`¬Áþ6^D×ð3•8y¢n YuâýÑ¡Ö§ÍÀ‘ M¥wb§ ¡óò#VPp1œƒ™”°„ý ÚdßG®Ö¸9ŵ™(^MΦ]Íß ”λ˜@¯T«Ýáf2ˆî¸ÅŇ>@©t‹ÚêLíÎ×7ч¬!‘DÔf-„ý‹õ Œ^QÁlIµC +Ú rI\Å=¢Š¥ +¦f¥xUj£³Lÿ¬ôgÙ Hûù´èçHü²)kÄì^¢`gš ·' +VÅü *o‚è]M–ê¹Êþû!À¸ðûŽ&_qc P±ÀîÁÎzfè‹Ëf2_å§~r;eRJµÙ“^‡6LŒMm,™åŸö…y›5t¨—$Û%ÑÏ#kžÃk~ˆÉJkE8v¢…ÐôMHÊ0ô þººxvßó®RQ žOaº+˜`®[ä*ê´ß±2@äU›† »$€xôÆÕ³ì«E™íàmÉp:~¼0xÀ~Àhæ·Ýž{Ü)Çè%>ºÆ ê~ø{tŽi·..ðU +U‘.«&ê‰ki÷£M_g«B.a£@—à"]êÈû0ÿ$[ó¹çówoƒ4l»x¶45£P„cÈzÕ°Ì] êê=c¸ÐÂê¤C­o…6 bœDÀËļ*ÍÌv9Óš ãáÛô5G\Ë$Q뉯uz(p]t<˜¯sâ©AÛe·Ù?‹…ܳºðcñYµp"¡²ƒÓßsKUëð嬣úŠ)-åÁMDg-Ml>wÏ*LÜ<3Ì¥)Y½a×%•‹}§9¸WôåÝE_¤ü´q…ÍÆ^þDÐåKä§Ñã˜kÝdˆà'f|â4S;†¹ä:.¢b) ÆÚÖùÿ*Ks¸_}HœêLÞÎv>]ši­*aBÁ`æü®b‚aÉX,œÌ))Éô?•ëTŒË +bà¼<]>‚‘aU½›K"uô"ái>FÐX`ÑÊ@úài´ò‚ˆ™ñwav,S=XÇl?ªSd"@\¾ÿ°´B6×¢W/Fë+7¨ IIvét䮂i‹lYa{,M Ò1û㎵d?¾§#×—,®°ɇ@Å)üBÂí“ÖçQìÝËøIt£‹L†Ž¤è"¶H@`þ#z/zð× çQâù£Ž¬SÑ@CbSÄU/JBõíš´Ù{sÐWÙe|…È硵õºÄ;/T yîå힌Cjy +endstream endobj 799 0 obj<> endobj 800 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 801 0 obj<>stream +óñ=Ïì¤5{ µ¼—(¸?E€J­r‡¼¹šë~õíL|øÊñƦǎ#ùB¼üþ¾{¯¢]^âïÊ¢¾¨â¬B v¾†ÑOt:o™Ç´à˜NsŒèjÐ5Aö‡ë”ò2^ÛÞ© +Ŭ'í¦ÌƒG¾Q´åIô¬:JꊞbšÆ7¦SÍeR¤bE†k°¥±#ÇžSl˜,ŠW”¢:·Y¨µ1PÝ°.LS +O+KJDÖúÈ_øg²lmMŠÕ~O~ûÐÑUÓ‡ ³< _÷ÄHË—PŸ÷h Ô;mºW:Äb*Áºä^íγ¼/c/à)W¨Ú½¥ÿD!ç¥ÇȃXGöpÙšmÞ‘î{ ‰,0¡‰Òš¦OµÂ‘ϵ4çU­AQXQ^• ÎÎÝ:°%M'ð4Î-»!D–SÁp‡PÊš±˜ uÆÏËús µ“òÐjÖ(a˜—î›fûBÄ kµgঌöÃEýNá„å6Aé@$Ãm”ö2dÌbüð­ÛàGyÞ«®±ØörGçlÃ1TÚ°37¤{ÝÀ ¢,Ó]›GY¨[’:v'E3úÿa”à‘×Vœð –‰æô™ô›£‰Þ…5}ïâÓûÀ€;FÒà Ö7O¨!¸x*nžû+g'ŸÞKÿ¥*Wš©;ãd1:·Ÿ¹¢Ìl3‚F5Ôõá±Ìýþ~½ôG"”›Ž‘º–``RR$“iû²ýjamûœüOô Ö²°…7¿ïê`Ú ÊDNà +ì[-Rm‚'v•‡"Õ¸•ø&0ß…w–•mÈ̲Ð=_ѽ¤ƒÙRRqtüTvIuº†@Lý«ÆKhèB»_™E–X™¢ÕãY(Mëäâ6AÉ8p½0vë¾ë³‘ÇSFo©†wŸoРKæ0«@O-¦œUWqD4Ɉ㇣$¾˜ß +¥|÷_‹a”Á^¨^‡µ>ÊvaFC©£Xjô_ÇÕ¤òú8Éåp—Z#‚8m‹bÂÈ£mÇÉÛÝ´o¶ìT]{œ‰CA<ü?ŸÜ¦“œ'fý}n}[~¼k¿¤ôÿW:ŒÖÐUÛ€¤_Iìüüq´!˪O¸­¢ýîÎÒ¥ƒŠ±EYˆæ¤Ò +í§•ò·¼ ‚$ÉB .Ê’”;ÈùOHA±rÖ(¢Q¶ÂȨÉk]ÌF\õv¹æ·ØÆ@¸kãÎX˜%,º@V¸b—cc`r\¨zX•u1òö¬‚YänôŠ³M‡€ ÕÒ·n*pUˆvÍR¾ôŒªïûápp—÷D3«„¯7ÐÓ@Ñ]w¨aSÃ{DïÜÒiÍ„ÞŽZf©}®^‰ê¢•!òYtÛœ+ ™­ÀÁßy,(~uBz{˜mö‹^5.3¹¿’CÆ®¡x´êJ RuÂÚ"͈ŸO\ ~,ò¸‚éqõmÉ¥áY´DêÂ|ØÈ&bx(z§œÈÙ«žáÈQ#²¶ÁjøVº^K/þOb†ËE[,@³|`ñ½ì4ا_3j¸oILñPÁRŽÅfÈX5OûþZÇùµŠ¿¯‰d¯×Ëìk^üÇ»W«mõíß3Wvynˆ¥eÈì7ñP<*sžÉd¶Ô•Ê¢…ŽôF +Ä:3$þwÁWåž|‹‹™ÊºÑ·ÇÏ ’”o¢ ß”òWº²©Á<ÆÜÀÐ2 œÌ¤¥[<ëØ­4Y’à7•eO˜qö‡¿ìà*¿ˆÕ–if,ó¥ÚÆS™êÄÈÞ^zÒEî +³¬¶åEøó„¤e’+.‚VcjìØt«½ ò.[ºqŸªF³Ì êr©Õörú*Åv ȃbvÔ%Ü,8ª'W=mkÁ“º-|¢¹õúé÷«† wß4RuÞ…Œ/È0-²Æ¡6OPœ2O2Ê»I7ûÐU*pF#LÌ!A’$†’Yƒ=T°Ò‡gy´]Yþ÷·5J±æÃ×âd»L›å•þœÒµg–z>©SËb'¢°Ðãòl¥#Ìû}–I±¥bƒ¥ 6Âð‰uñ]ŠÈN û%u{ÍŽ¼œ‹òníjbJ­©ãhW+/Aé¨ôZXÆ8óäÈY‚qˆA ²øÐûÂþ$־ϫ$ßea^FcÈ|¿¸:÷ß'«'«¦6[£Hæ—± ÷\áÛr‰âè×ÅF¢ |•*VÚ8Î:úʲª'hí(hþƒy€][åšÑQ„]¼rë\Òœò¸]ÑÉYv»o\@,´yã€ãí  ü_ý­UþÞÚ“€ ¤ß#‡#ä‚{ÅdYðæg²Îz6ýþ¡o„OFÈÇcéÓ~`Dx?¾«é./_‘bˆçòÑu¸}“ùÊ7¢ƒ¢ìœóâQá+Ñ(h¦,¿MŠtèµRíýYÑ´-è¢ykQ„D  4ùÞ8*„0'jƒ8Ô¬ á«a˜e!"S5¡Ý…Ò_Uû0dYŠae©sÞy6Ê°“Æ’>Z:ó~‰äZ0ŒWt\óü8`RBÂd0‚q¬fâÇ9ú#Ùõ‹ÐüV-ž¼×Šº +ÜLZ‚e+}}åÐr=‰9mˆ‚ù{'ì6òÜ·Ð[§ËÄç\a^Rœ’­òf¢Šè¢ì§óZ¸ÔˆˆÎþ+|¸-Òc•:Õî}ÚõÞò±gîâ4HPüâʨ;ÍwÕÒ‘}:ù 93 ”wÜú`2Y¦Zú’@¿èíX±/dÞ#&êX€<{5umH½üÉï|ÙMQÐg(:Jæ~Û{“ŸY5p54`×ÄGºvpYB_Ž·ãðÖ,c6‚Î|ëHž7?Œè%²Ñ¸ˆ‡ŽŽ¹œP½Ãòö´¿À7˜JT –Î #/#èç=r8®±,XEl0EYyÀâÙi:äUóãÚDºRD>kŒëh¶)™öèÝ>Ïç·¹¶æŸà5|ƒ‚7²šÂúÄôQ\Y«&@BÈ,­½$;<¥ðòê಑'ãUF’çhs]€?ž¿!VéV±7Àãëí×B)X+(j”å|‰‰ +)š_+KGb< |ÓiÛyYÊxÏK~©õ“eÑ•'}HŸÈG;öNê%PVŽ4Œ¼ åܼVtX»æ"h¨¢š]©.Ú>·¸¬oi] µH¦¬ñ=ÐÃÎä$aá]2‹ÒA…Ä´n°âçaMñîúö3Ó”»i`!Ã'd•Çß­$ê¨Ýå¡R¨SêinvãLþq« Ý_#wkq `n¨³d;]®Ò%E”Œ&Ǭ°TÕ·°ºKëJ‡˜{(gÕ°ïm„5F‹‰û,³Aø 0w^ 3…´—’_ŠÐG˜AÎ +Z£ÛØïíÃ_6úð­Û^æâH|êéÔAÂÀÿÍÖn·”›Óqïõbeq´”{Ìã¸6hƒqMäAÀð%é3$Ê@$Ã[ðC­¤të«úx†r1䜈]xí …Äîspg:×Aw°«_ÍÈ‹]óθüo¯hË ¯5\#…§qš6Ð8>` nê@“„±c‰Õâg(ê½vŸäg@=Óàª0að€jן>×¥&¡Ñ7´úÎCîÍúœ#Lwý¹6ïG~8à X°!·xHµu¼8X—qjF0áúx«8ù’®d¢:¨ gz™ƒtL}WÔáSw'í©Á@‡§wøÜPáÔg±;pîè{ÕÅ1«¯IÎþ6r‹¥ß”›¬bí¤Ý@ÇÁ¡ùu§Y Ó¸+Çö`šÕõv›ó…cn(¨ªÛüYÖO¸rŽÄ?òÁ}e)VgæMX¬MÞ…ÇJ‰lR¹ÿ&¸ê¡À’œ&e–W@¦°˜›B¿©ïu¢ñ8èÛ4Æ×Ê3€îX1 ëg'güžö÷'ä¼±Fqàâ0îÑÒ¾áC•8µG”ƒ€çþ¡g黧Z/ë·vACYGô¼8]ýŠj€øÈÙ¨¼ÃšW§’¾‚0Xf¦4í €—Õ&âÔ² `‘BÚFª8jK(uo6ÉÌûjÝ0=ì@/ýõkOåì÷ˆ“ Qm–ƒ ó wÖo£÷. ìóÀ<¿è×áa`?°ümÑn}­ÜãÙ¤$}(•WÀB‚}L™oÙÈç,ˆ•Þ«U½Ð½C¿&Óµ}Šñe‰ÔZâ”Ùê#jŸ*¦kŸØPâ-l`;óJû¥l¶ï¥›õ³~²œ#ÕPIó>å ¶Gí¦ªjJ¦C +endstream endobj 802 0 obj<> endobj 803 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 804 0 obj<>stream +Шø 䔰𳙟è…XÎ ÷¿ÜêóúÞ†å}ÜÕW¼ØÒ‡è­;ÜV ç%mh¥ü®€ÆbÛz†Œóè4Ì^zã©W^½ªáüÞmš¬o&ØIG½jV ²Ü}ü$¯‘gl“RGUk4¬xP z´k®#L:Ýç Ó»ûu¬lËÜÞ €Y'ŠoøÚ¤Ë?cíxªM(vñ"ücöÄs…Á`”ËãŠ`êÅ”uÆvuð.6ômÕ ›o.At1°™CNr‹š Í3G9Ñ~‰ ä6YÖ ^¡;~úº¦2iåÁûÞ©ö¥«­ç·ð¶°x©ç¼ŒM‰"bXµÉl@ãë£óXGFÅi¹]xW]ò†Ãa¯Ÿ¹dåÜ.Iï˜7?Ü„w·HÇA EêáÁSyφ™¢ÏàµmwîR|Û;bpéǶ ÛñŸt:œ®•Ÿ[né±½Nâae´€°úéJôúb £Ú d’ƯÒ# „jT³[FAx…Hêàb¿˜qŒðUÙ5}¾]*—ˆjƒ[æ(¢×õò´ ÷1®,°`ÒÍœ¯ÛU€=ÞU<‹ûU4î j„.jk ÒäõÆ1;9M¢Ä'/eò7ëÅÊת¾‚ø•^ H^½ç´.hnŸ¬•h±s…MÊÀƒlÜx›-¡»© ‡Ôã +žnÈ^@^Ñ 0öyYªäbˆXîâýL盶Q©Æít×H£ìo%»»íc7ø•Z £Áæ|/æ]ú3Îzj…Û¿%0;YDy—0…l |å¹U%D4©…Y¥èe:ùô¢%{ÍGýFm«? HôêîÆRRÜðq'u§Xç*Õ’úr’Á2~1Utwÿ<Ýù:å ­…`‰A—Xžzpox¯e#`” D’T#Tüǯt}4Ëå›X´èÄ-Áÿ“·cG®}A1—¶Òæþé¡rr'E—Ëɲ$ aŠºâ^"®< ûbý{Ìß}ŽWMp ½ÿÂ2-ºíŽ‹®g€ñzÓè÷¿ƒáˆUƒ®t÷³dÁû Ä"ôŠaâQV~mþ…«Ã⩬=wÚ’ +߸i¨Êë½ã0ãò–ŒTM(€1Jú ‰3w›Y°®¯,çÞ¥ X}#!ȲáÆé!ÍŽ#¨–Kã›þÏOie-G\üáõW‹n'Ò¯ËþéÚ­,q{­zë—ˆŸDõ–p¥šwc}—ðY1¥{Vr×»¿:Ñú*!‘‹4×[9‡¯7=r¦Â¿4ntB›¤%Uõ§aPÖ ®ŒD¿\ôV-œfQ²ºšµ’ä• Lˆ9Ÿ“OTa§«}™<¹¥g¯¾£[Q=fîá¾aKÝüt/G‰Ä„ÿÉ®ÿ[fX¼Ç×Qæo(ë~' 0„Hhìl6ºRv’Öß @z•ÐŒ™ÆeÅx‘…K$ƒºÇB‰½>§.$f©/7¶Žå?”xî¨+qñaŒ?ÍOZ.GMÉü§¤:8_©‰"Ûpb¤çœùTYoÛ¼¯¸êÒŠ“ì§RÓížX½ñÚ¬¤à˜Ù^­boiC‡m!+'I€“pôÕ!ÐúÙÙDœ®&7µ Rù™‘·&PM^úbÊÎÓe¬‰ès œ^½Ëtª¯@TîÀ4hö*0¨Ø?(tDš dƒ~Ø\‡Ý=ØMÇÆÊ8ã8àŽA'm|yrt¾.Ô¤Ž›,wBx¨WµFÚ¡ÀS?÷Êö°‘e¥à/ìÈ£§È ú׺Œam¢{ +€Oì5cý”˜•Ã–[Ù’"Ï!®Ž»x½ýe›‹Sô0µUçù37+î|*Ī·Â!V.0ð4¾*Áêãá\ž×(ßÎ%µ¸daS3ÊD亩¦Å­ŠÝ,‡èCðÓêJƒáM2š¹†ôÝrØ^øýÕÌøÛH öNöËbšT1 :ZÉ'”dI÷¶3òÑò„§Ëâ#btà8žîÿŸO ÍhDn&«U¡/uÂL“1RÅ»‹¾ÆÛà®Ö»è,vF”—a²£&è®}2ÿôb* Ç ¥†Û¬ß%ÓóVéƒÈéL@”1Üv'J37¾M`/Éì¢ Ë‡´þ$6Kë~' x+1÷2“å 1d ­¨é$/hÜd‹$}‚ÐÁ}ð\I æ®Uèn“ìxéúCv銊&#°Z)ÆøžR£s•å„ZÖãFÞÎMûñ ê3©=Ä,Pt\©ñÆ3‹_[ž]OdFMxiA©«Mè^•:©‘!¸§ Ù;\ xóçž´£‚û4–]8ƒt¥ó¥Ö,gã¤+¸Îž@–ª,*7™a$yŠ41 ÐÖ@¼3~E%RÝì¬ÓÌA¡³Ž©(Àqqà£úr@¨X² Ý+*è]¾K C+ç7Æ‚”}¬QÊp(¯û¢ÜÇÙÂÊqômAp%NWCì#ãašE'r’ׄà ì8£b »­\EݤӢä×$;«ï…"æ¡\#’æí)V-–Cm¸5ù;î3ˆð*Ö\ó¨uM¿ +€r³«—’ òsOX<Î ƒiâ‚7®»Wü2•ä­åw²6ù»I¼~cZl 2!Ý:/žZ“_ŸšY°ðÃö^w—â2nhFqëK@Ÿñ.³r`ªçá±i”:Cê+-ãO‹ó¬t¦Êû&mÆÌBÙ8qÀò$^¾Ù¶ò«ü¿U7eˆÒ-¡Îy?¸?ŽbB°Ã™ˆÙUk5$>Œä  =g  z‡?"±ø"Riå}\÷(ªÉÀ†ÿãLKœ…+qÿÐ? ~[õòéT°¼¬cèùµ*{# cu#’f¯ã×£ÈÓ¡å¡ +„†78)k!~”URÝ"qÜ:?º“®¸Sí”螉-YYü/Q±6N¢LPÍõ]c T :lj‡"6Ã4À–~eeDäTÇú,ðTրɡÛÚÖò.ôlq ¤RzYWëïp_Û²×lº{í£W9KœóºO­õuA§ä %”m£5¦ú(“£›DÞ‘³Mñ±ª9Ó%YeHo£;s¼ÇÚ§ŠPV+±x3àÑɸÝÿ˜-½Ì4où|ÿ¸ü.Íî–8Ä~vÞ[Zb7æê6³‰óqrË3Ê܆eøùL"•‘Ò.¯x.)z¯úçŠObë\zqвÕÆQ¢D€ô­÷ÖÒ+°ý?Ù)i…sÉm³–ð"Bf8‘Ù\`ý¢ó“Ø~ >U’\¸À¤ÃUkYò8ïÄò¦š)ƒ2áO}ž£Ôƒ úv…k ºK¿4MÕæWÌãbñrÕ²¶U¶M¨K˜Ö +endstream endobj 805 0 obj<> endobj 806 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 807 0 obj<>stream +-íþË´@é›Ï¿¨K Ó²†.êæÙÏ6(g9¾ÕØlqJªQŒðJPçáä†+÷½cœ£|Ë4]]0t7îµ°ž)ÚØP®¯hæÖØܨ‘*ÒW/–µ¡2JÒqmÉ 2~Ç·§,uŸWŠNQ»+=õ“[·.¨Ý÷$(ÒT$^…uÓ¡`Ùço0€mÓ +Ü Áhý¶€üô §k¡¼æ65£ °OöC'tÊJˆÍבœù^´1ÄㄦÝUUþ'‰ÓDÿè³ ™£+—È`>*æp{ïV°‡Æ´ebY€2‡AŽ©×°aC³Í"oöšœŒ6lNÀÍ©-Ø”Ÿ€»PÍÁ©x'=pìÝðu<_w¡ôö§@­³½s4.bg­PódZ%iZ¶cKÅ^«y›~¢+ ­dÇÆ•Åa¨dB“:ýÜùÁ¡D£&çþÜÒÄE²„Iç$Û:мw¾0ï‹h¬w +…ò œZ*2ëÙ2<ÀÛoÓ¶2y|€m¾wé7¶‘Î3_ÄbäI9ÇN\Dagt˜G¿ÜÀšižŒ¼KÝï³Ò(Í ‘@·.L]1ë¯Q—Š6cbðš†]£ÛB†³JWq…–@äR©RUðs5eÁ¬çTW!ø`¾iê¾ýv¥Áf|§ß„uº¡*w¨ÑÚÏ©ÍüöT!kæŤ'mÕÎ"–ÞåfdbÍ/óA¾/Ãr´ÓDFKÍ1(/eàÌæ”H$ï®Aæ_4êävDfDn*p·ÄçÔ{I¶š/±Á¯Ùt&NÉ"Ns{Vµ–Æ¿«h[¦’•ïQæ™JÉPOá‘!v[v›NòU=ÉŠ¥©©É|n!xÓ#évË‚êð±Z‘Äš12Ê"£‹òÁUÿ +Õ.{8šï³q‰) )Ï»•OQÏ–dII¢U e¹§§ý¹gÁZ´>wÔ‚Çc‰„X6žzÒn1i™P9jrë(G³ÀŒ%lQ¯5òdàºcžòûZyv3ýfK`‹M®.`N:?J¢}ÖÔÑw²ó +á‡éW§K|)اÕ"I{ +*¿ÍtTé·ÄdM 7Ñ)ÖIƒ{.ÄV–2ë%d×`V~P­Ea1zàt(ѱBcxöÈRv ÃŸ5÷ÊB¶糎„ƒ”bU—ø‘a# ò¬ßGŸ u€‹‡RGð•…s`\Áú`h?…Ûôv.Ç~¶B€U>“‹Má!?ʸŽÝ¡U¸5ãönâÑ|üä%Á#_ :a/¯§Ñ.5\MÃ[ÀÚ_Ñ,A¦è¬mƒ³â]ïeÅ5 ç“pÂ4†öwS݆MùYÿ’•Bk`ÔYlÚ.¢ßªèGÆ\j½ +õ9!ñ¼âE×:0f¡À¬×_ò‚+¹a²s{nèêuz òê4dfé'!\Û ÀžW‡ÈK~ ¿&¢8G·Œ +OñËŽ +˜<ÿéµ­ +»ZAK©Åû¸Â1+aÀ¤ŸàŸœn¬ÛÙÅV¥x¬&FD ªÒÌÅÈ~}¾ +Cõ£lymÊËŠ$m–/kÀRPNžÕVÏŠv2Êm·çþ:*‘oP¿ÀzÇ°X衸yòú•Ü’ï?— ) )ÎUbju¥.tðà­1ôxô ˜Zû3o`.8ùíÚH{Î\ZÌÐ<æ«'6Ϋ™˜FEbæÿǾ|d®xtdþx2#8V…uS¸ +öËÒcÊ“Ó™çÈD8$þ¹m."0·H”:ÇQ«ˆ£Q/qr{4$dÛ}dz"Ð¥D¡,‹ÿæßcÚßXÜàG¨¸ÔyÃ,i %a¢±z#¾GaÓ[-_è#¯Éx³ÅKáRâ:: ­­J¡“Ì}ˆyHNÐÐHK·‚% ð]íôÇm†×â +ØË>›ƒ@Âý ¬’_ºDM;ai¢>l=ƒ ÷á3ZÝo¡EòìšA ±4ŽºG 8ž#u.ü è=æCHÑ3s9Xqc†Ž&1öR+[籞6sŒS“@]éî0 Ò„\ö(?œº6‹ +ÆýÉ)1ª£‚I]ÊØH]ÎÒ¾„1Qi³ç‡b(-FþtÁíWÓÒ_E'†1'ädÖ?"ÔŸ¸I<ÍþssÌ ×’}u»r$U‹Ø«*ⶤõÆH¬W\øuõ}qÈÁÓ”ãKô[- f«6NUÿ–Î~ý¦+œè®¦¼öÊ[LlŠk¥[ÿPùƒSD ¦Òô¶šª~تbÆ€çÂt/:céI&!ÁÒ¶02î«âDfÃ.ç†C0<ÕåPûÝá&*w“õaxסì!ù>ãn1“mZ9%È—ùy Öbô!o×  ô»ŒÙ‰¬ëNõf6¤š½ ¤¡4V4„p«¸ç‚‰Šd<©U~lŽøm©ù€kƒaKMÌvO +%–òÜ«'¶Ë®lÛÿߊÖóéxÊX8}KRê½0ãy&bîñ<àB·iQX™zx¡€ ®¾Ñ%o“Ñ$ªb´Ù®ŸòÅŽ(þFÇœQ)òPtã%×Áåã$(ú× %ÿ¨é>à! ó™@õ¨S€ÈŠÓp†à"¿,Ö Å%ý„^ô?î·gÃΊ´¿æ+¿à9!V™Í‚6ò_äĤFÎD½t.Eßs´ÕJcçcö\/“qÞN¸ó“Vý$ûr? sÛ šÜ[½«ÖQn“·ž>×å²à‰i£ûÑB#WÏmÆñ êk™Ýäˆ €\ܤԃ‰Än!U:º5;÷ºÀ…X·:ýþ÷2W“¤5< K }N½aòFg‹ø¦e÷8ã2—ÙÌzeÉÚ°Z–£úiKþJ.E°uÊöí8Ÿ,2)lÐø8Îsš”¥~&ÚW}зíßy]V +7IE Dõ ©ðø˜ÔïI©Å«åžþõƒNUá 0Ó_yÿ|®+_‡G®<Àºñ㥭҈¨Wa6m"ÜV’qzÑJ‚øy뉀­°–#KU³be°I¦ž7w÷”Ïîs@‰²°/_´ß3yÙ ê ä3¨”bY8ò¬%PÔÖÊ%;‹Ñ¨6pûïûQdÊÌü^¼Ì£YX'À/u\]÷Wú5àòú~Ž75—¦æó¯™Já¿J@VÒTÅÚÂ= Ku‹<²ôÉT¦ [÷­=±»@Îר‚è|Ë[ÈxwL4t‘@à[æËÅóåjžÿµ±½ÌÖi3Ffè€Nš–b¶NJ¡;ý¶”ì»F5õÛ÷â‹f·¼å—ï -DžøÇñ¢©óœªDGó¼3À È!øõ(-()º¯(\’FKÉS¸ÆGˆÑVʺz +˜Š CßEç²Z«lØ`¼àƒK9òÀ¡wÄ~^õ!ЗƒÓ›*•Bê ‹.6‰”CîV¦9ÙÕÞw…¼“Ãó¤zx6T|ÃíÌ> +endstream endobj 808 0 obj<> endobj 809 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 810 0 obj<>stream +T#h¨ +"™DsùÏf?;3Qí\èýØT;ˆ¦Ç‚{¾±™A]…¶ÄC=2Í‹Ùš·…&W‚sÛ®UPìÄð™aÜG5iJð"ÉÍȈIœ¶ÚË䞉Šr¹¢øŒª«xƒŠaô_4áñL±n"w@d€uqZ»zfŒ±H ùA °Üýá*ãæV–¬8íªY×j!ÜdÒò†õ| ü›Ôøïpa·,ÐÉœDœä#ØXšõµ_[Ü‘ù»ö¥˜oÛ£óÑ)Ç0¾ƒÛœØåC½oñH¶=5*Åõ>j§ßbñÐZµ6&þú“²æߧ³+èç8<]Aý‡xî¼ÄxÊÜB±Èîǽøåb-”DFúh[½AkðB=P?m]sôi1‡Ð÷£¹¤ÿË{é.€cÎÉ)&­‚Ÿ¿y@§+aŽÝ.ðPc²´žjÁq+GKLycÜaզÅßYÔúZ·aMµ +zk8Ç:X~¡†±ÁRZѶljÃ-*Iª°>6UÞòå€P¾òO0*m&ÜÌ_´Ý¹ÂÜþÏyöƸh;ÿù=ºúRʘàBl©°gα¤.®z%³¹vŠIx*P±hå´*Æj—­´ È<ô´O~î÷Üí ]ŒT.Sɳ.¾êoÐFz]FâçJŒo]W5܇°fJI¸5*ÍÛÿŠjW÷LŒW/P8H>¸ BZµžÒ犳¾«MÃ'sÆßšÙÃÖ#`Dª, L…µ§LÎük—ô- +´Ë5—f3Åõyû68½q±z 츜õ²xŒÙo$*þ°f²XÍIAdä‘#Ô_‹•a¥ä* ÎHqIø³ãE|ò«•Z@8ÄÜzþ£p5@=Ï¿_ÀÚ@ìŽs/gU®ú1‚INeáéKî´‚ÒnÙÆÒgWRà,Þ;6Íè-æäXÚ +K8dK׬ÓÐöÏЙbÉ8NžÒX–8@BOÛÇ›«–©šÄH½µTc&~¹Lkq:'U˜øY{ù®ä'ï 2õø“†­ïc„Ïöqìqý9¹~)šØ)}.Ð æÅ=}¾äwl.ØéÂ)]³îAy¦y°Üg³ìñl|ˆ-˜BÛ3¢m>«éXþÁÓ~gÿ»K-ÍÛ'í¡ Ï‰Qä¨ OclÈúíwÿõŽ5+§§©ÌÙ@;Wî!W¼)¦{ùXëåSÞæ-— G7#E¨â¯÷——öˆñúøÿtE¡1 ¯¯oH´3/,%¦²bB +VI‘F<jµÙ6ÿB¿ÝÎ"CÖ-ÉðB˜cblïbi™KÅ2G{ªÁy¹´‚®˜X¾”J}„Ç$±x¶Èí7³²+œ˜îÀ´Wª‚ETyÜ#Mƒ—B?2|ŽÛ»¿ÆOÚÔ9Ç!Uµ9(ÁÙ~{FtΈdSÒЖä X°ºá¶k†Eb'¶ërH'LŒ±Nº™Ó'±#®‡­N¨Ï¸9ºh¥D¥Í-¬Ënà + P’´ÄªèXéÖãÈ|«’¶”´ªI,µì¿³¿sF?6gƒë4Kó´w5„tãÏÌå?nw©ÅûM)û_‚|»F ”ìI6¡\O¨é ¢<-X )ê³*ÊÎŽSî,±l1BR*êG£8§èÈ"x'á:½v´¡è¯Ç¾aBL ›ÅšSü 6læ[ŠcͦT!öñÝÓ©– äõ¾º<Îð—&pååij%LÕ3DB™•¾kûÇH}¨÷kRs–hÀ1Ñ óVÑZ²å17§cRKÞp„zZÉòU~u3 ^Y–ò€"Èó3‰ÏHçˆñ©Zò‘d©G² ×6ŸFëe¶æcÕQ*²ò×ÿ´RåFTÞ£ +"ÿÓ'y€ü<üh ”Y PåÝÒCßÑû†2¿Jå¡ûn_õ®c"EÒo»ŸµAPRK~ŸåãìÓ¦¬€ÙŽÃã ¡pH8¬Žãè=()­õ‚ ,Ç–®I“H…¹Í—~׿pûmz¿˜ Zx4}kïõd(Y¯ÜLvd¤WxŒ]; ù¶ßþQê3$6Cؤ;¼‰³7”·LäóÃÙX5¨®Ä‹@×O;W–Òæ¹q‚zûݸÌPÀ9ŠB¤Ø0ú‰Ñ`YAUU õ>¾/f–u¹Îða\ÇÏU?™ÐCKêØ‚—FÐᆵ‘{”8¼|õ"üRó’sﻩȇ•R ‹dÒ7{OÆ‹d›?(Y’r¡Y°I¨¯E—™Aòˆ¤z O´æ1×6ÞMÜ}êP’t­é!è8sr©£8c¢_mŒz²šŸ “m0Å>LöÏ ™Íã$´/KkÌÃöŠ‡ŸT Äóx"ÊúJ lXÁŒp´œ~­ô¤´Ó¹Ê>8Žy;™WAâa‰E â÷&5³išÖ/<ºøº¹Nfýáî…äûî‚ˢ䙑 -zFeMê áûJYkI)ûpÁƒ]ü£<ÄlÈʆ²H‡ÝU.³ÈßáXÀm,>‰ ˆ!ŠFé`E=_ý<Ž¨ ,±SYV»ÜÆ*K&éòBV…µõ€ïè— Ó—Ÿ±½¯‡=R*:ûÓöÑ’˜á »·êôkN[.‡âÍ$xgak,Sq®ì]úžÕ…äøÖBæß(öâofmÎŽyp¦ç,ó´Óc¾>Úwëç†îŸ@ÍÁdjïQ†ãžšPÆdèçFì3Ì`TòÚ°é™ÇQœ„ºÍ‘†µ%€ÙÞvúÝ‹û¨ùÌÝ Ð•ÝaäRŸ<^—«4âÝôƒäxiÉ•”p-70å]×Í{Êœ®åN̯96]G:,Ë-º„_ß»#Ãy­ë¸zdY“°#æ(/¦.7A€a]sK æ%寤¤2 ±F€Bˆ£àÐÈM¦×ÂmVuÂO Þ$+0qh¯»1dÀ£_ÉrûÔw>ÛǨ¤¬-À<ÜF0‰…L‹ÏÕŸ+Îœü!íMþ9„òø> endobj 812 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 813 0 obj<>stream +,´]ÒhÓ8÷*—‰Jš‘^6êOl;´®,‰ÞpmÔAJQÔ±Úðkd“f¨UvIíŽPÍÝ“ØÍš‡ÛV™T êðË5Qà¤)ú»f·$›ð@*}Y³Ý±gïûžR>¶}Øàÿ“=ëEÌZºÀ#ºÏ)'•{§¸?mY==ùàÀ±©¸Ò+(}2§Ñuež½Þ0YÒ?»U?³o…¦áÐööÙ-¥Û¹ÿ¥+~-4@Ãt)Gü²-Klõµ›}/l¥#Á¥`_£\«¹QS:ÒÕÑ&Š#¤ü +Ãi$ÞGRãÎKŽ >éˆ ,ÿá¿q­›‹öR|¾Ïø6𦂇ñÉNfä`lF®¦ õåéü^‚3ØÊÚ°ÚFŽì w%÷tÞïaÐØè'åíþéz¶‹CZí›™ÊÖøaqÓtâÊZ^¼ ò>>c¤|faÍÒÀ€Þ¸á-¦­¬2”neØ`?l¬"”ºóSNÓq°s2´šËÐvì,©Œøé×öIÍ„?£ó›tø¼Ó'±ùiñ¸1.Îu†Á•fhT«Zª)EU—T äɯý&‘ʨˆd‹Â6*?þ{^åí6âøEåÀÓß\Ë[ïVA³¤Ý¢Š|%l”áÍuÏ­Öô´ f§EâD¨e¬Ü÷ ¡ òdb !’@-y9F#)¨Í+Ç2¿ž:à «‡_˜ÿ9PßB)›Uµx4ÏØ¥Ç(H’Ò#c܆´ê›e¢vø!{`<9*PÄa1|Hqnoùn[µ¡æ¶0¨ÛœÁzr&W*Y¶j1þ½rB‡Þ.ÎØ¥]¯ê÷!îZAT[YážJÎÀ¬ƒÓ·Ø»#PUgëGñcœ9JFalî‘@¸l,7´š–¦çÉÌõÇí*ÃÚŸ=FÊ qcã ¦³xHeìÈ0¤ì؇þ-ÄnŒ"á ýŽ'}^ÛÔÿ@c5“tI ·£» F-–­Ã1Ro1…U…^Ô~f(l)#·‚è1{?‘i,Õç"§'‡„T6íaà$5x±V¾±§]øþL\ôÝš ¶¦Ó¥ù„àìæm3L’,(™-Ò^䨣 FiZ½Ýß@O¤k¯èà FÂúîêëšÇçÕ6êÁsJ:¡ÄäÖAKxþË-Bò)|Fwjœs‚·˜F~¢N+Ï@@°2c{j 8å4çKÖž63rî쨽&V + "î±±‘ðÞkøøÒmKšºa]/–—ý·@ž}ƒ `Ú9ò7Ìè>JyaÌîÚ•#ÛºÓÛõ‚þore y;COÕÖ<ü6ê;¼ž¿ûÚü2’ç‡ÜgòZP”txûƒ'‹?‘…?ל¶_žh wÜ ­åø½œg[âß›âq y߆!©ÁÌnJ뤗¢Š>éÆ•¦„ŠÅ|> üâ‰;°?8Fê‹àÊ|®&ÛYÔપÜåÍ’ïmÙ·˜“ëC§NÝ´Æa’»(dr+ïæyH#¾‹µRŠ>[i¾«C˜‚dÃô[*ÅÁ‰=¶5•¾IuM´€ç;QAf èÍé’¢S)#ËûË?>IgèÕgvÊÐð„‰M'¹Äãê#è¡pÂ}ññ"òx7öSû;æ<[ÖÒ²³-~Øħ½Ï€Yâ×>w͸X½“¬ ¿,á\l~9²úÁ«üôõq:A¯f½Ï+°J™2Y>•z‹‹!‡Ù!Ç#§Öú4_Œ.ëv݉PnÜ1½åXuѤG—½•Ç8_äÞ&_#xúµ´É5§û>¦K0G)§(æ_W?•G¤õÎz%š )°u÷Œ8ÜiÍH‡Bæ=D¥å‡ÈGXÅëÓq>®5ÆDz$½PcMFôü(ÃËÜF› kO =*”¼Ý’æYÓ,*+£9öFÙ²½‘ø¾bBo58™ëÂwÐO•Ã;hÁ†îêJoè±j/Òé²oí«úÚ¼¢vΟc¥=¨9Àµô ŒE©"¦xDà|R¶Ÿ×R솄‡,ÕûC€ux,¼Ùù)yÄÁl×° 8å±_7u•f§Á¯qñë@Òs35°õ‡÷+9 Ý˜7Z 9 ‡GXð½"DZ£šÁa•­“dJz 4J¹8.^ÄXÔÛñžÉsƒ£'ÁR´ßxhBtí§ÕÓˆÐ"0Ã%ˆ„€p&4̯³ÇRhŠ °ÐFYÍÀØ öUˆ’½; :çãñû¹ÎðÄ2AN 8¼%†—,õ 5ÆZ-všê¥ä—䦒IVÜòMKòÓ˜t"V•€+€îÝÚ#D»M×xy_Ü•ŸÌ`=ð€jùj¼­º¾{Upá|Tï?. Nê.ÄvÉ’´o8­Æ‘þ Þqô;Ïânܼ\¦%ÛY’»£F +³zwG¿­îÿS»D¾§‰BªÏ!v7|'ÿÐDι™F˜ºm¯“dê©­¾!CĸLùŸXV~õW‰÷1iƉ;õQAŒQ«j h°ÈÂŽâj–`­|춿lƒwïÒøKL)íYÙAÍ¢HhÀ/k÷¯÷(¨ Ó[ñLdáµZLÏ^}l¢äiÓa&iÍІ+èm?Ã¥$±Å/(nø­_'”B©ÈÍÞÙPpv³ûì·¤ù¯‡ÖÄò €N{ˈÖeõCödåeŽô–p¹TLKÔù)Þ„c>L™¨ZéiúC]‡,B๞”x¶q|n)ÿu‚Ï/ +Õ4qtd qåˆwþõMíÅ!®ÁØpnUb6e"ãMEí–çI¯Înü†IĽ˜ýÅbv$ 4Ò|LHOnÚÓEIIÕë(aŸ«sÏ J#o5Ïdw:IU3àäR®º×r)›î cfÆqüVb¿Fù,‚ò͹i¿ Aõ~»iq'÷ÃtrÒ$[6kP&؈Â9W¨ýsÃüdsôœzKD•{í¸j°.}$â¿2¸T©P{¿£b0˜ÿJ^5ŒÜ®É®3båý°ÚQsxùÍ6˜ ¬r<ËÎÎ>pó_ß‚)`qHÍÕN9‰Nú-Yb;îÒ]‡Jñ&ݧ¢zá4¨æð³‡ë`ÉÌû +´ïHÓm`lõ>Tq +« IÍK™Hb6·#8¢#n¹~ê©QÄÝC¾³ÉHRß ‰N†Ô9æ?ù’ØUÀºyúù O¼i‡&ô¿ïnÍÝ!sÏu¹÷â*QoR¼ÌH Ï3«?Q¯m ‡ˆQ®À{w϶ù†þ>$]$R¼. +òöZÐÏiê¸E U:ˆ¢][V˵aÙ2%”ê­2¼1ÄYnß$,Èléh®…Hœ7“¼Í»PáJT®È›¯¯5À¦ ûqP3©¤|_XرŸxˆatßÇ$çÐ2)pmë°¬œg뉔Û_­¿û=aã:ª¸®ÛÂóp)³ŸuTAÁ,ÇŒÞBÐ8eúŠÜþäÈb8Ì\•8K‘©±yN¶L9L/û ö*îµaü#/Õ;Ôž—M±¶4\ 4²3%6¿’‘=ðP:çyÓñÀè‚téцqÓÃ<¼$°@"ZË2Hzs= +7펓š±Q*™jTŸnʆÖ¿Î1á¸í³¬füex.¢?×.Ù7óLþpºTz½ ¸Á'Á»›û¿ÌÒˆ9‚Ä#…†oâ“gÓƒô+« ÷(C¶³ÁpìänâÄäl©„«í¶Ø”#Ê\ç~¿z;Î+3‹›‚½¼í&4¹~7yvö!Äx^;é ×Ëe²A"_²U¨ïo™ô’Ô‚£7×Ë^®>—‘Í=Àc÷UßeàÓü~³(Bp :õW}Ülœ”©¢&ìäÑ'dma/ÈúPXn4öœÍBÇXgö®ÌÈ;—óJþð`Ÿ&®7ü‰˜ôúa¼y:ªÍÁ7)/pq… +.Täµ­ÈÚ|>™ðôèUUÄñ&¬­d¯õ›vÊXÜ´z +0î¨æŸJ_9p'F òâõÛŸw­; ÏÅnl.M–Þ|_\~-ŸJŒMì~d&Å2»NnÜC•iϲ½pq ¾®Dëbxt=–Àz†(Žêƒ_Û)"nÚçnõÝ+M16ÊŠ4hie¹¦ñë’ºÈNëWô¯nhDlKç7gåñ΂ +xÏÄ­¼Kÿ’ÐVsúX½T>0Oþ递šD“ìϺp¥È½¥ë°çb莺™c€Çíº‚†?X…LGó“'U¸ßo§ɤanü +Íu~ƒãš®¸ZY—«]ŽØŠ—:Ôs•s'Üá^N‘3ÀÃé©H©vÂCÃh-,™ ¦47X(MÀd¹–æÏóä¹pÖÈ#[LydI„šç¤æÏ2#M£Œe…@*‘W澆?(šôÖxº»U1mŠ3{]0¸ %x +½op3çj‹DÏÔÏ\hÈݾ 6›†Åe>õüŽÞ‘ß;è›EùÁlq§ÒZõlöΪÑn¦?w[‡XÈ4_íqpøv?q×-ѽ3δSWæt˜Çºr=í1@ôD÷÷• :“½Ñ­­}É™^ gƒ,öíÖOczáXZjã#Rã(¹;¤—M·ü°&§×P±º·-)Ùï# !üp”TW(ËŒ„úDCpß9;´úGÑoJª'–Mì_ ¾ÍŠHÊÊ¿Î5é„õ1Ðè'Õ@X¢·¨É¯öâ—+¦¯úºMno2";_.u‚ˆ‚0q²ÆYD¬ÅŠ,ű†ÎkwˆTGGÑ^Àj„ó1…)±a0­JQ”ÉÙWcºã2⾸O,&2ÃíD1u‰ SMºð´˜ P¸õ[¤ÏCˆCœ”7æÓÿëtœì×töÏW’ÛÐé EOã;|žÞ¢ž(VI\g*ƒT _¸[dÞõJöý»p.C‹ëÕ(ÒW0w·ýipú 6>iDZ.Æ® +ÔóRïêЯ *[9æ°T_hË* N4‰D™SÐ +)8¸•Õ;îxÙQÙ“F«<×·EÓ¬ŸÄ+nÈÔ¼,“-huúƒdõñrÓ£oygãßt³f©Ã¾5W§£F/4 è’[t,ÿœÞ5a ýE1ĨšMÁb £ 3"\f|ThXsüY2–¨ïS¦zÃïïÛÖ$Ͻ܂YZý¬^î2+†cÆ?E¯¯zz…HYä„—²OIK¶QÄ}»ZL•A>x æ> endobj 818 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 819 0 obj<>stream +®«ÍÒ .AÖqêåV÷\"»Ý„©F‹Qí?žÔGÔXè!^¹~ÊVËÂ?}ú´Î@{½Ý¯¤n>Ÿ‹†¥ýÎ’.ë~5ˇ±K$kßb§Nÿè¿®?d|3zT®ÍyeY¤V”å4üf(ñ™SX²Úª¨ŽERáE§ÅJ8|yÈ X€¢€©â|þ<A×wÏv³/X‹8kçiôщ”kXûºIôùëúGëºD– !´ñv‰ãš#{›Õ¦÷0úzh¡9Ì©rICh&Òƒ.òŸOÌ[œÐm5ì õ;Ø ©àƒ‹;Ã.ÞB÷íNÌh»m{¦÷¶a‹Qï}3~žÊï*>d:TFå´"¢J\ š™Ä“Œ´÷ŸyJ†_Ñ©/ ÏqrUûRiñ~¶¼ ^çœüb™ñau(‹‰§"ÏSȪ³‘€+òÞb íŠÌϵDªŒ¢ Ò¹Ã]cß¹óì}ÕgP»‰ð"V–+í¯•Õrx\I7E +h>euS`¾ùÉS»?Ýï‘ÄŽŽ!´~wß·Už›Ñ'#‡Fqú,M‘4"Âi©5¦¨Õkðc)Ü¿ Šë‡ÝO^7*é ÇЕxÁ{°5S—9L5äÞ`cbE{´!$é(ÞpJ“tÿ×1­'/Ȇav¹ªJjJº˜(+¨´bq;®÷þêcçÀ*ûÚüFÇtÌLCžª($aây)ÄžÎlKµ¬PÃßøçÒ™8ñ: P¨P)ë—”áÀ•ŠHýQ"Ê·1¬×èo‹"Îõ€ÐëH§à<¼~î]B•<9'ëmB 9üÍ3:ħu¬­\%ücä•^” UüÊÕ·(ŠáP'¥ñLÖšç æ>¡ÕmaõÝÚ 5©òy-ÿÒ' z†ËëÛ)X0Ø{Fî(°gâwtâ‡Æ òàãâkk%ÜÃÇT£ô +“<ññÚ™¾}I“ Ú&tঠ"x=Ú EhÌràŠÖ uÿSæóTõO•½ßgR˜Úˆ±ÿR¥\ÃòÓüC|v&¬fž$µ#Là“~yÐqõHýãò˜·ë÷à+, Ÿ¯Ò±Þ¼_%¦`i³Ž™ŠÓ7Áv õÆsm0@²í[Ygâ Uü^øzÖܹµqÀ9¡»Ê&ò edìÆ)9˜(Ú7Ô±µKÍ€3Pã8g×ÁóÀ\ +x]L#¡;ج=M•Ç\„4È3"\Pûª V«f[o_™ªåÌ.„äGg}kàD À™8gÀåÃ…S7òá(Œ2Û/—¨Ú¼’,g\†é¤/m¶8#Ú…„βÖ|½&ýÿ¬µ÷Lâ­H¿u®`g¹X QD6ì¨ë8ÖŠ&§e©RJÐÅUó6åÒöG Ä j™oÂkg€lÛ6ö ½}Ò‰ª… ¥Èÿfßt.íÞN§ð*£¶;T݈ª‹»¾Xµ÷Âp¬G±©ÍÜ ?ìÆ&]y° óäF7Í”!Í´4;×Eh*Íå—ˆ_ô=ußXŠëÀ šãM@LÁu<Bê[TeaàßØ5fVmZ2æÁÝJ[OmZgn&‹Pñ{êο£D¦oÄ e@ÎCägì•åÁxùmÙ6žÃ’¡12¼ƒùmW.9R@¬ºµ+Ft^™Ïé~ˆË¬‘Ê®Õðó5'·Öص=&Æ8²X#íiv& mwÿÜK ¢g®°à?Ò˜XœYÁÕÂJ›/Cç‚ýéj^ˆ~2’_¾­Ë8ÝŠ„£P8ÙÐgq{?ˆ#—q‚õ]ÃaÊg}ŽÒšuªÃü&ƒîiæ$å†+\I‡ù¢Œ{ø=½£»°_4î0QöMwÙbw +¾è5=ÉRsñJô n3ýTɇÛÿï5ÌòCÑ í@q†ØŸéÚð-÷bA××ÊpÜø²AR\- ׇÎÝw”^šá e×GS“uúbD­ ú—Pß¡ i‘Ó½û×P‘Ÿ£‚1qü'²\ŸwƒÌF¡ ·©ìÔ^°åÖó¡ðþª «Âd®–š)™¯ÀA½ Âö\¼1>F š î²¥&5ÍÂR{âI×¥1býÅ)§Bž €¤I™ªºû†÷¡Õ’æ&òMÙsŽ6wwPªßÎÞ‰lÛE24S¦çxlPQfO×én¡ˆÔZ58…ÖÓÐÏÒű`%£–yjMÿœ%;§$bawµ¥àxV«îþ—#RÝ-B~%™LóÈW¡¥%Å r::@2$Öˆõ LË-üˉ$¾×d´K™€Úø#mö„S˜G‡áb™žA¨©ŽyK¬* Ho5'kzxí-^nÁ%P%ª^½^‡Î€5;5ç{صŒy=h؉¦EcTð¿rížÃ¹%wOô,ö\º©Ä‡Z[ÓÇBr\Îï**¤4ùµ¯E\G6˜k°$Íâõ¹€ž_ðùûÕЉx¤s8ÛfÄ‘˜U Ë]Ã³ùU¥W™Òéh»bM<%„Þ—ƒqØYégÌQR„DZ”þÑNoÄVÅq ++ê˜;5/xk¹Ü¥ç83üåh”fZ?E¯X#ÂHAËœòEuå„í´ìÒA¯ñ*ª”žL¦[¢Ü¾¢A­±:A#½µÉ9çŒXÙ‰<‹É¤ÔÜM T¿+›™bR|(óÐ&Ó&0gs]:_覈+Sî¹àz’¶ú|©¹—ÚÚ…úÑ‚ %+6éu÷îOƒhtjðºµÙ +2wS"QM,Oï¡Ýßx–£«„e5ƒ-Ì›€Ï×!EÂz±ØAÅâÎòd=pÂUð?óϽƒ‘„ãeü+V–š–b5V–ÛÎpÕç1"ÀâÔ$ó£“:‹×PÃcÁ¬‰*ÊÊC;qoŽ¥ ÝŠÑÀ‰òýÁdUíj {“k•…ÛÕßü¼O|öG¸ßÁn´øaÃ’ñɘŸÕ²½mˤ-R@¦ê$ô‰êrä°åŒ“ãÐ~ýØ 59~‘ä[AWÉÙû™ëmŽ<ïéëÁÎàäzõ|UØpªš +Q¤-©àxœ#‘œYÛxï—H¶ƒ6#XãÈ”:tÞ.”îxr³îéâ,sÍäÒü“Gºp¢³:Ò†íQÂç?ÁM£xµ=mÊÒÕ,ïIqÚE&•'_ˆÙ:’°ìüX’)±»½ØmQÀ4‡àfÓ†o;“‚ìEj˜Ä˜(Ðùcm€Ã/ƒ™C”þ?d2  8ð7Tí¾%{øËõÕà'IŽ ”œ›‹pºò¢iÖ{GрĂ…¯%^´"ê‘‹5¤ü!bûIꇠl¾‡/± ‘,Jќ̱¢Ë¤ç.èjêB{²Õ+ty_HKX 4üGúMNb,‰ØÆfO åûEÂ…y*œÉgµGaœ÷ÔõÄ'0+7U¾ü¸Ë‡»jÒ/`©×Ä\…FìsR}÷„'ÕÙA•è˜'³m5JJýÕÒª)3mW*ÄÌàƒŠg¼wƒ…SPà4.ž %{Nµ3¾Ñ@e"¡üwBKƲˆ|ÿYV[þRûŸ(ð*àE”–¡‰_ôÄ]שŽ˜šù1µgPéÎä?ÖD§²T!óÈíÚü 9 Å×Ì•‰ËH˜ÜeÁNK‰-…?ÃBšÀp$,ö¨ _£÷5ñv~'à3”RT0Ãôã÷"_NÄí S™C»’ Í©'÷cUP+!ZôÚ§!§‰pÊÏœßÒRq^œ„Õâmç¤8H7XÈköý*S“‰ñÔ“ÿ`û‚X‡[ÄE¶w ä #uC·#Ègí«jóígÿ#'ü¡_?Ò@͆uÜO:ÊðÊ9r×&•v4u•*ì#î ô®5µâ¸¹žÐ™{@›†ýBÐs‚ŒÑD$¢FÖcåŒ'KJÎþûÂ<þ³÷©3ÂQdËè¡æ~K+¹š á´v¨»\¹ì =lÂ#y¼ÙÒ¸]ÍN©¥4 ý¡øt9á(]éôŠÉ¯gõE“à9‘.>E‡N~µRõí;cú*™¸_™)2&zG¹cÒ@b3ì;ñ%ë›Å„!P`˜,Îñ•ƒ+“Jý”´¾8וåYßBê•õ•H·4¨]¦‡~,9«A eðÃTl*‚n5ÜP§ƒØñÊÞJPÎf¤†…ÌRøü?”\+÷-ªü0a‘õ÷χ`Û£Q‹EZ9–œi0f—+€ƒ¥£³Úçac4ŠWûZòGn`[Ô¶äÿ`×¹˺7¿™¾ß#ó­óÖ^(šåÙ܇§ÅµÁ¬‹ð˜Rj±h+ç­I/³C[g¹*”Ѓ/üüÚÜø°,?ÖD7à)Þ«»gâPÈñµ +e±ä‡'‚|>5ÇÄ(E§jÛ÷;Ö8ÃM +FŸÈIfšŸ‡ns­¶+=‚Cîþ[Ò­¹I ‹ÆOê0“eó m;IhîÕ»|¡´þË!ÜØd„_95Mäìåz³ß"’é#o÷ßcÁÄÉÔá +4ZÜi /Ô×6ÁÔ˜yõ@ Z\Ø^Yü¡÷Ì‘"˜7ÍŸ5 t¸RA¬ÂD© ÜI &nJåhKôÎ¥Y“<–Z–ò5‹2Cÿ°yêϺÙÃЉ~KðꧣW=GFpŠ—0/“S‡w„uKUW2²O\¤G~R˜aûÖÑN#ÔdÔÙC2š÷)N§³˜ýB¼»A×<0’úmíÕ1Å GhfŠ‹ d‘ÇáRQiÄo§¬¹»›÷ê9Áˆoi±5è¸ñôògŒ +û²´‡ºØ•€sçÕ™~;aªññ‰¨1Ï)®Š¶g£·äÇ[^>H±§Í|cZtîÈ‹èÎÝÊæ!àfkx—%)—̧#bø}¶Þ¡T^}¥<ÍX'k2£~¶Oȼ=´½~jü(1F¿\övÍ\õ}¶R§Uy’Ûðú8¦ì½ÅARQ$©:á[6®F4¬ö?9þHš.CDñ‘XâÀ¥Åc¬·|±mpÝïHw·›~À(’HG¢•-Šœ‡n2~hówh#Í£‹ƒ9“0RâÐr;Uîê˜&\ ÃZ{/ˆ~·®”:ˆ7æ¾èñ‹Ê?!‰Uülã9ó­óxö¥ÊzŸ3HÈïîö:’a:]&z}ñÒ‡KHÒŒ'Jr̨C·ù¥‰µ‰RÁV#yŠDñPx_éÜ_çL#&¨ +pî°ê¥šÅºˆø2^®+«'3píœMñ²„¥À MÕ!šýŸNE$¦¬wVÍ–+ñ<éVÞVf +x$'ÙÍ„¼ ½'€°É/$)õe«lÇ…ª.^<×¢V)rœ¯´–ÆÀ +”Üïø1’¹êx˜žî¸è aGı;wÚØõ–ªU1…ï+×ÂÃܱ­ïÊ‘+/UmÐÐ0r•·{ïãp|K-"~o•ói¹¨ø]‰ZÆ5%ç×zRí’O +ÒÉ„Š­½h£õ9—©TNóI™!|aN×ðŒtk†Iºð!¹BLaB‚B6µÊ­¢ùe;ƒ ]º˜PŽÏÏfëLP•%Í™ÚÝô•têî³v‚ä>ÂC!EZŠ§ë¿Ýp™°[ªV½`¹©K3b´õuyŒdÅ϶lbm43Z¨0ó KJ¥€NT¾N;+¸Ý¬ŠÐøÏ#þ%WBÑ,Ëõp®0¿¦Ûbõ[!¨ÖLkö›¯iª`\·PÛt@“gûèõ‰c'b¦}Â7NÄ0r‚½ŸÓÙ!á‡Qßø/9œÛ† ….†> endobj 821 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 822 0 obj<>stream +N¬¯^Èèm ¸§öÒ*{k÷Ó›“O6¿Ç~_’kmZP}MBÜ9$jÝÇ +ôo6¡:ü'& ƒÇ©nBN6^¿ò +¥ÿ¸·]Ío5ù~˜ªÝRÝJÝL‹˜Ü2ÙxÄ/Ê0o1€˜5nrB—Yót,ú,jõ”ÅùüĬo·_ø«bßK—‚n` d¥£|*ÁÎÖAÍŒ`Ò¿.6)Ÿ½ZEY­œ¥‚ÚÈ^—n,vÑåw¾(åöa +Dä!gºÊùé>í‘¿À×lð ÆNŽà|Ót†"žð²¤˜!@o©eÁ¯)‡wxú­$ŸfÖC¤3nÛoD¹g~í¶/ðˆ†ñ¹¤iòìz„âë‰Ôü‚èˆùïqš *‘°ñ¸&ø™¸Ç/ Çÿ¿¯gÕ¦9’gV~¨-pÇù]Κøÿ“Ão„È6¶oWäè‘q'¶šKÀÑ;[ÕùËë$„Ì_$£a’q§G%`Œ‘Ž?Ž3²Ýl¾qŒL„÷¿ìAÀr@ž/NÉãôJtÓp‹BRK΋¸µ9Ö"ËcR‡.3z$Ÿ4`Vðq8L] R2õ й43wVôëÂjtý¾Å}½_t®°ÛPüþƒMÊ·šd!eN\tøvÁÚßÖâzwu0˜\›Â(X¸£U®¿—*3³ß…ó°îk£OÍ(b0ñŽ +açpAu£BƇ¶|¸1Š³m2qÂ-ŠgKëDF8xÛ–š²ß-Ò(iä™H{‡±ª“ø®Lì…vɪŸÎW{”®¾"^rƒ½ø9ƴȧR–""Ì¥‹( +·ïd9¡**ò†UzDòÖ ÜšúŽKü†9°ÛŠÇ*;ß1¯9>Ⱥæ9Ùõ—8óñòÉ>š¦a!¨ÿ +Lfo Ü“ç?²“ÈAqî÷Äl‚1gÖÁš^,õ3Ì^‹ñƒÃ¤R†®ÃOÌñT¹f΄!J[ûø!,ø;*7ˆ*ç\Йœ»¯ËB‘"Fï”ÎáKzŽÕ]Jªí¦gG~1¡×Ìis)tBÓ?,s¬ªñn‘~\¦$ä°÷ ëþ€.¶œ•A@'#IšZÝ´ N”A/xÒ9Çò¯ Ður¹a™góÆÉ”×tÅÑfÕê™ +[¬ä]­ J >Ç32æÉ„#k8º TEB’Ù&ÃG áÚ4"Ø}È›®¥ÆðCÃò3¹Z‘Àþ×êÎûø(Ï¥a†²*ÇN>¦KèÖr¬S÷aþ2‰„DÞ!è_ÓGüag{w†Çˆå»ïq‘¸,^¦RXŒb»V̤Vz±•­YlíJT–ô[èTAþ‹Z–þ:€ºÙôT-¼öÅSÄ4[ ˆEâ\x_Øg:yÐ V25Æ—?=Ô3Ý ß”Î#6h$º* îìnüÕm;{pŸ…ѳäB/zg5A€ÄÉ».±œß]AÆÍ{‹·O¢W ü¥äĉsf涇ɤgƒ\Ćÿ¿ÁÍpzÐÓ쉚ê›p[‰z[€ÊÖYªèðž `–A–éK › 2òW1Øš¢šnÅ·HçÐBCN•ÈðVñoeo¤8Ð߶Ûÿ·fÖ&ÙoaÍ÷Fn©øIâü—Ô~…î2§#®ö˜·]¯a„ùþÚÏاõ?/ZPÔ‡Ù ¦Û!é ï C>Ï£Û©ŽåãyL£ãN35ùÎÃR²}¬ªÃ;èy¹öQ©@ÂË¢Dù}f‚`R'.’{ +ÿ5©³ØÈ:X&Ì +ѹjU4±ÙÌÃ$é•ŸrF 0¾v(„VdçD:Äž}í%äBwOÖû?VR+´TàÆô®ð)[;8Žmã:éÄ"ã;ÎÀä9³öº<9 rH|´¢ëjX[Áurœ3Ý°¥»±CÕÖ”U$¤%Ú +%FÌqeú…¬dðxGÿ«º0É2¯ –I/=¨½§ø]K戮¹ËyíAäµZÜ]¯BYç -۸׺› +1ÓüZÜá À)ƒÄ£ÂëmUï@&øÒ¼!ñt£ÛŠöF$Ùj<¬FáC3|8P”þÍîˆÞ{äµPȤÅ姂RÇL Ø ©ƒ(†þÔݶG•a„1F¦܈xòÅ¡º[$TÙ[ˆþ:;Ùé•æ*t‘/²ñß5Vhþéo#’ÜÞ±4Oˆ/ iø¸Ä{BÒ–EëJð{G(¯ +ø¡K².ßYÒy“¦ãtŽ8ɽo"£_Uѱ—ÖÜ, RŒ7TóG¼à] Y¬k³("5Ïfc¹âyáhç‰~wñRd¯çwd¥¨ÌèUˆpê#f?Ê!ŸÌ†p’ ET05u  "<êµD§Óƒû§yØašŠT€¾~KgmÑÌâƒ,2⸺ճ-|Éõ¨ênêHà^;$¯<úy75°üÌø”ˆ{›ÞävïV,w'¯CÿØÒ A“ÜáNið½ƒrzdîU›CÕ¤OºµêœHIÍG +u -PS!µA€ÌÞ'}ÉâW˜ya—N€®,<&‚g(“ Dú;_9¿òœ¸zþ]]®šúÝÂgîù'Á 9ÃáÈø8bsÍ +2BO¸F‡‡L­ Öþ†ú!ói§²""vIªÃç~â´ðn”B¶>ïVßBk±f’¼ãu)‡g0óÆLCÊæP@ TúG½™êm`CÑ ã¿ÿCÊ7KÔ‚eV’òˆDó0¯WŠ¤³·Ïq‰ÞÇ9þiÅ +Jæc"pCÅ®ì(¶}÷\¦ŒdÏLÃŽ®ˆÈºQ'd¹â3Õ¶Ék-Ý9¤&ᣃ»Ô¯ê:ëÔ ž<±1vðñÝu&]IѸLÞñ\V™qGO”ä×uT3–;üÜÓk¢¯Âg]dI{ÛÌS’Ð$«s/-%u1Éo!™´«!OTÈÌà’uýé^gõ[Vø¨â­k¹Ù9V»‚$ƒ:Š1õ-Ú†^@™1/æn-Ž>ê-`¼À(cA_Ôí{•ãÃVþ,Ò­ºpU›•eTGuóx<€Q¯6~×e3+áq†½²–æä\îùríü·ܸՀ¿¬äᙓm:òFÝbðÖ'Æ!íÓÚ曺zªf—±S³" 4m‡> endobj 824 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 825 0 obj<>stream +< ßð"q"Ó†_½ýk8WúmumƒÕ·¾ôØÑ÷>f §…(ßìáuY¡±Hnªÿí.§a¥^’ß=r S«Ë53<°tÿyáTÓè΀P¾Š,õW-MÊœA÷Ói£›P5góÂðSc@¹gôûyõS|é0ö%:k‰l\Iu\R0jáwüÓèá(àüTé/õb€øIÔu*,55*t+ýŒÖZç¶Ð|{¯îamì×þ¸Ø% “ª˜^¦–Ëj‹WõwÔ®¾O;¤‚ñ53VK|V> +K‚ô¦·›Èd{œ¢Ý*ŠXãØh €´1Ú,DI@>‘ <(Þé¾²¡ü-IJCíýwäT\‹—YÑ£×Y[[=ŽFhjcu+¤óöÊ•ߟk!ø_ºP7.¬aÜXÃ4 }ÙûK¶e ˜ñÀžþ¶R¸¹ä- ÛÑèz’¥ ÃÍ+³«ÇÓ&ÎRQ”œçuVP^Ét1±YøUäFÆ¡,¨ö.Ä`-ãE˜ƒšôešhÄ%»Æ– áÌ¡¦ï½¡:‚Cm‰<ÿ°kkZ€AYäe'ͤœÎ ÍL«ui*•ŠÉêÒœÔ›Ü ªŸö)P¤,_OTx…³Kà›ï¸'@/ŠCã²{¢ºjmZ½+…¼K;ÉèªGEøVÛszyß½a²æ†‘ÕƒDáYu8×]€=ãšWž4a«bQbôa#¬1u,Dµc>¼(ÿý^S^îxÅ—'NØB0"ÁxUÜfRf¢Á†ò·8© ›ßË5Íñ§ +{Ý+“髧ջ‡rYXySÊXdPàrÕ“Ë{³aúŨõ¬XÊ))‚¤Ò´ô=eN—_ 'ÆSû ßZô_u°ž‚FW§ë¸cÚ^½}¾aIdLsÛÐð¯œôz*pP)GÌ“üs㮸Ý#“bΟþ·í¤*®G[D–ÝkxšÎVg3:¯–Twý1™HUÔIô ,Ô0 Û—¡7Ë…m¢€\lêIßÿÖÅ{ŒEÒ½ù€2s(Gu›Öû£±B…C<´ã3Ï; Çsw»p9OõÞî)˜'ÑR·Ònf:|€:þ°Ã€}¡ÿ°ô–ÞŽr®i»ãRXà7Ÿ\–0ýèÄ^¸ð¹ƒåºmÇKPŸtÎTê*ìZ³k¿âHÊ#M‡!£—q½|齶 +£ßSF´þH,zY‹¸gMÈPìÁ¥²øî‹’œ‚ ÅîAs=`ÂC<¨¹UÀœÆÅÒôÕ«¯H”ˆ­Ü­3ÌûÄUçš«Ÿ+æFªi@/þà²öÛ˜7§ø8 +TÌõÍU¡úQ– +ëÄ’ñïµÒèåÇîTSD`‡rö­ë2܉¼Œþñ£Ç~‰Â¤  R{mæ;›+:?]½V²|æÉäïZÆœÁö¥hw<1ÛsV€Ñƒ4D?;×¢¥«Ø#£Ã#†èJ´bϸæ@:ozð¼?H’íÝ×KI~{uªt†+6µç׸™Ø‘ë=­T8RÇ£ü¹èT =ôj;#èêÅЭUË…ÆÎ99ùÝp]¼/“ñŸ-Ò:Ö¡l¿R€)M´Crk>èIâ~†Fñ ÷üÑ×lÛ‡({ï¡+õyÕ'5¸@bFõ˜¨9ݦiV­¯$F¬alW?ÃôïÎ…š´eªÀ×ççQø;e5(]ñj88˜Ûèâ;’‰Øçög)78!Àôþ¡ºê C¢“v h™ig9x“ XéÏÉz©™Ã§ù§©*ì™áÝ“¥¿)›ÒËÕÕÜWfB„¶œÝÇæZ´ +œ \ì—·~ÂBµÏÉ™ŒñKbýbQóœ@Þzæ¾7ûµ½ÜãêöøÚ™LŠû—²K ]O]]3U %¹–dõ%1Ðέ€XCš$Ê{‘õÜNv ¿?®ñ˜9¿ñð©Íôsiü +²¤ªNÃËfÌóážW®ÓàIá}OúÈV¯oÍ[Ð;õì8½ç¶·Î 7~.•Ð­Z#ÊVWã`yC9¹Ò(G_íLpüÈ)ò”/HaŽTtyPÀúüð3Haû»U׶IêÀZn!,Ò]³C +µÛØÜHãËD{ÃâÀö\ Óhµ’fË8Ýiïß<0¨ÿï8vô×!˜ùX* ƒ#t*Mwz@vÑO[µMVçE+ÏÕLñíu𖦢•Kê®<Íl·ŒÉQBx ÷|ïM”"mO°¬Þ™Oü¾h¹ºèá/oaÓ¬ÇßnÕ+,©áÐî©‹AÇúŸdyBF}yæGÿl!½›\0SKi*1—ú™©²w½²®Ö!±Xü¶ò°+Y¤N@'»ñRñÿ!oMŽÐÂì£èžPEŬÃöˆ¨sY1ï ‘®z)ÔðÅÌ2]ž*S‹ŠŸPÆPЙ15¼¼m5kjƒ×kþÙjþnµO30ÃߧAZÊZD³*ÌbÆÄæ@vR¬â‹™pÊh8⤳C®øN˜Ëï6ìth½1ëO…‚![‘d¡¯U"ôü‚•M8<‰­ûZ[Byª@ÚïÓ®ÔÒþw +¿Õz…=gb†8L—A™Lä‘ßqØ&Ü),s+†XŠÐä*5I׿ž:/*2Ê&~Ž%ÕK2®Ô›†9\VÖ¦»Ó{.^¿d‚ SnY,j×›‰&}þÒM°Í$Õ[—{|;šÄ.ÒØG·6%w›1å&áÿb¹U÷§ ‡î¶‡“Âã˜<…Œ,ÊÑæÄpéüiqQé/CA7¨å\¦ùà{·w­ ÉoˆyñQR Üó¤Ã­,û:=÷Å®zô #ÔªÁ!áÏ;£µš›ÌÃ@lòl¸¹_[FjþCת!žéÆè|ÓŠ¾–'²|÷áA­{L×ÙX„¬³\’î0ø‹ÝF³ö *y›e*J–ò r$:ãÊ`‡\:“0ŽŒî÷Èœé;!ÌY£`jr©ÒŒsÈgs´=6x*e€C9Rb\òòƒè±ýŠ9°2Cn$£D G•`¶Ž”n.«‡øž× ½Õ~ý³_Ю‚Òõ+'g&îÙoä‘?¾[E€Q3kFXàíwŸ9*1,zRòù@3•ÔÁPÉ8“ítø–ȘOe®S<|SMÜqç öÌŠO1æüLk4õ̱“»ŒRB°Ô¬oQzHÝ¥uJ]ÜŠQåŠz´q ™ °£ÑÕÄ«­Ï“Ã}Bà(‡VÊ[Z>áLó­š+Ño8Æï‰ývaµbTµuveµ@{«5U_«J¸—¤ÛÇ SAyb÷ø¼ˆ99h;N+]PÂØ°Ÿ6‰DÈyˆ9Zôò«“j€¶ v^©‰ö˶cººQ¢„­ù=< ÜëØ+4®µ | +²otÕ¼›ÿ“ræôÅËa­/@Êݽ.F?Af§aê(¥>³‰“ØI+ô’DWé +H9h}$íÿ‚¦$n›¢z®—ƒý ‰'*û{=Ÿ‰' _Ç ñÇ—Se3¹ EšOxrª~g~—ѯò¤Ëý$ý\ˆíè"áÕ$mÕl75€üdø¯¢Úüb–Ñ'ÔJ/œ,â¤Ä| ]E=½<Ðä]6 êSM‰éÁWßnèI0<Þê\Ï|Ô!j}ENºn÷ˆ Ô0‡,Ññc6ÝQÕk+OcÀ¢(çÅöÈIÒNrKPT±^Z‚Šy;oªœƒo%V2¨G½Ϭ¢YÚ9ã$³Ç@-¶£¹´Ìç]2NÔ1`q†a'*e˜dܼ0¶ÑëÞ¹+hÑF`zä%‰Q˜ÈÖ»Þ/þ½™—¡2xKW ©}…=j8KÖk™¯ý»|€p¸ :,¿ºÀ’OoQ½aо(óŽ 3HJF îüoLÀõÕáW AÙöuQf{Æù]\;ö-hº|ñ’"ñøÈп²Jbt5{Õ¥•ý fŒÄRå-€mDË0Lðæ(uÖõ€¬‘|?]›®“JB–ù^³@+• ·Xk{­ið«mˆó‰Æ¢Nêô" Ëz•…áI•èá€R .H,…“+`¤«@ÍBÅ1Ê2úãÊ_ÂÕú1Ea0æ42ç<Öt/ùza"ÃIÇiÿµŸæÁ”z•fÝ¥WÜ»>Ndï,áù ²ðÛ5“Údÿª[Áoøýè:H¨› Hãnª´öŒK”ÿÁÜløaÞ8eV3æ 7!Ì|ént‹’6G¾Ë> 4’+2ðí¥ÊŒ§5¥Iî¸bn+·NhÎ$,@—– +ð#âªH_/77˜3ÛzrbÓ@4À/‡gÞFµ”rí^y:˜¤8ˆ&†oŽ"¬N”ëѬª½šRÃë"@Bd•Y“ñ2ùãY>Lµ5´ÆJæé‚6f(—ƒüì칶‘`ñ^Ntï+Ktÿ-qý:¯G€Gó÷_(ã…çqàÂ/`*wk,:„EæÝêJ–o× $m\á”@È$~(ö)‰ ¥·Ý*ž]Ú”YZCäĤÓ1ÛëZŸÓ€uc“Q&àãöa_ e&ûdRa·è,õÓõN*­ÙÃ;‰¼pPSC/°†¤˜)w%4W•òÕ;'6:³†„óYŽ©B×ú’Yhp™ Xå¡çÖqëä»L ¿Ãÿ™hAÒ9ýÙøŽåì6jí¾óXŒÜ`rëè1˱²¤¢cô‹å$[ɆœÄÞ]Å\×.»Zš2Õ]äV²òĨµ2,`µƒTJhß{ß'¬KÐÕ›öÙ”#,dÖ‡Œ©ÈÏõæ Òv¯8ØVp¼§2Í>ÿ"«üsâjºûµNÁ¢kZºS査__Øý÷‡ræû‰ÁâA]éœ&çOÖã¯xß¾ZÎcüÔtÓtâ{B§™*.`ɖײ äa1Ð^¾³ cQê…äLKˆša"t4e„Ž?*¯MûÄÙ/(vŸ™°uÊxtÆ–ŽªC :›ï!‰#Øî̶vߚω¤pyjYÖxc8|#Uy¸ñVúÙ 8G#;ªáó±ÃX@èì”—˜‘W vvŒ $£·ƒDYm#Ê]æv”£Ý1–t¡{ðC ú[Q5½ŸëþÄ‘ó#4ÐÝ}›½náÃæ¨KƒsfŠ"Ïμ·ìÏT_R DéÜ6aõ†˜FÌòsx+©äæ•c9¢Õ‘qà‚ƒMB‚JÛSûªJæmLJÊ[Ì@ü ´žíŇ»Kò|ñÃ6‹½óyþàKO„î4ž2x/W±¬$hËRçœ +_tvwT"ŽÛ·ZÒZÁ¢Ñmôjœ–]ºlw»‡Ì®.à–ÜW"ÕÁ‘'›Ž:Jøætˆo Ub?:^âcu˜ÿß«˜ZÒpôæ²'Ö +ÜÏ(à•¾Ü„hûéà„<íG(´¡ó‰ñj§¡æªÆ£­Cj­zh)îýy1ÆòGY¬”íãÕápF¦~ÁJƒ.’!Áþ‘\WB܈„æíç\Ñý<”ejkp5!!ìqË}‚²4P’¤hÃëSÚ9Ü?W›&ÜÏJ‡<§k…g;žTzÕÍl¸ùÁ[`HC‚’–Ò"|ØOê‘/ï_˜‚iåÄÇãØfœº#ö˜°Dß%gØ´ihŒª7¦`s¨‹ŠÖ¦QÇí Ú‰y—6ë{0^ÙJ-^6{j`Ú+*;€'•`öþUh¶´ qW© û·EVtÙda³¯Í60¶ítrå‘°ôjþO¥í¡•õpÛzn¼½£Jø¤å%0|[ãÐã›\]é+ø£:cÍákÓ +endstream endobj 826 0 obj<> endobj 827 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 828 0 obj<>stream +‰Tîu½pš‚:‹3©+y=%Xõ ²¬¿ƒwà ~q·G´„уèçËzûU¦—ÔYWg¿­QnÝîÖûVPXë[HÕvã+…NGVHok=Ò2u@ä¸ßÛÉd +3qÓjŒ|Þf¢/uq$ºÿTh4Ì‘YHà8Ú4†íü@ÏtBº—ë+ DØBO„²Å Q™Ý-uèœKctíí B&u¦›¸Ò ƒÃÜ¥iôºÝ©í:Ã:¾ËVØ9¥9Žò%ŒjxŠ¥¿ WSA邲ÅLÞ)8ÿ¦·i‚ˆ geÓ“!Ž›gÆ[LDyò«ZEÛâ:Nø€hw ¦èÑwJ…q<÷¢®ÄrÍ9:…FL‹1$ŽiBë±gÞ©TWµºñ/"óc‰ÃIGo&#SÝ·Æ9B|‡=ÓÉ‘°~÷Ÿ5ZuæïæáïÞÅhð+èY*ÔFx «u9ÌåÙ-G(ÃÓmrT }ç…šÑ)…öõªXÀž*¸Ì¹èƒõÛ|CÄõy\ôÔúß~÷* Eø‹éAª=3P`ø{nâ0ÿ5¸Ñt5©h‚ïb«k”»ÐoÓ1“«ðž ö‰ïä}kFm¤zëîÅRT(˦ÿù‚—XòR'GÒ?öR³G(WÃ¥ÿÛÿÔþ¯ŠÓ(.h%ÓÞazr†ê£¢êk'ýkýý¨úCžÔõGR?›[s„gN(÷MÒä½9„)*1­µêü=³^õÎ<Êèƒ?aù“½/>4¼Qˆ”+“ùæýÒƒvÆÈèí¼/,.é¯ žÆƒ[ß6I)Ö^ +¨Xî6ôyÔ°ðm+–»ÑSR¥qn9qÄûÒw,¼i±C·þ%,[š‚Jþùdö²Ã+ò¢(ìƒÙ;¯ra8¶ÕÁWÄEx<'né§YÚª¹BII&Œ5nÁ›‰ö¾¦ŠXu%ot¨=[ë47ê¥+=Zñµ~dÔ +?ÌýÀõÓãypëfW¯†§Í§7ÏÃ;ý¹d*(d®-· +áêQ}^¬àÈÿEE­¹U)ú[-ú·¯1R{¾Vöóh€ ¬*@/™0k!¸¸iî =ª1xb{Ma +¡I>,ñ£ý¶2ÖÍô>>çi„@¿#{/?/‰^¢‡¥îBj710æœ.]Åžªz¾–°·bø$:L˜5Ë\(K 6Sn4µ… Eîs·Õ±v9õ øˆ}Q•!‚ƒ?­)Èb +×' —¬‚dS§s6_ƒrÏVƒMȶ5µ)1ÜeZ®˜Ù}w7iÙ¥ÌìÉÇ:E·¯Ój^vz¦ò¯¶þu®âº †¡Òf¬±ïRåÑîþ ß}0¯ú@Úo,…¼êeI²}Jý‰Â‰òGt£2É2‘ÚÒ¦ZÏÅBeWûGÚ#?±•7^b+ìdúË^šˆòyx¡öÞ??±žØ| ËÁŠ«%¥•%ýá•“ÓM–fòi̓áD9Ãc&]Äù„õ)¦0$ ¡z;i8ôvjÓ£“á/hÈ©R¦ys£ÛÔ(ñÒu·öjbô Œ8Û‚ÑÍœüùWB“.óò¬zìÌ^„=—0*ië ŽÜ}‰Ð몆‘Â8¨ƒŽ²aáWØbJ•¼Ó\ ÿëc(p¥ÍO2;€íêêà +©gjú9¦ÅhÓ« ZbQH}s{º,Ùq£«Fì¥URïóØ\Ž ”?|u×Ü:ÊL°dÿ=r‹öÛc<Œ>+hž4Vâ‰pMô.j“Ìõ—Ò¬KrXöZ~ŠŠÄl²4.®DÉêcŽ[Ù¦²™é­:u­meŠØ3ïWSd!•}g7:s Ú=7N­‰køîâøÀ¼x{˜9gèoç®Ûi/}mº:\/BRBj‡"tÚÄÉ ´Ñe²"h«¯Ý>a`tjÂ$yfê+ná…‘¾*” +endstream endobj 829 0 obj<> endobj 830 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 831 0 obj<>stream +áï½ ’Pã˜ÍºÄªUkwmªpŽz {¯LQ–¥¡åÒWˆ ±Ä4J2b ¥B¯ân£hi© cÍøQ¿^¾5ĺ™òPtdui«Ä?L›×´¼í ÓØÿE?f^µÁcþ,n1“:÷ÁZpäºÜ¿žpÄt•EG%m-Ø"ÚÓ»ÂÖr¬(¸BÖzˆ:Œ?°d³b·I{Ù) |Þûˆ²TSÆUµ’ïJÀÌ7â[¦÷ÕúŸh.¾aºÊ‹¿Þm_êq[ÐHÉæeøùǪ/‡U^ÍÊ•¢Ågça´‘b–~n¾é !Yr7TJ«…jòÜ•â³Hs¹”Ôìæ4Tùêû'æÍåw¤ aÐÚÊ(<H¥ ´ÈwvÌÉëïߨŽÌ­1!Bw¬š mTº~1 Ó’V2“x›ø“k>ÕûK¼ß/€¦ŒRÒ`§“vÛˆ»Êü”¾¤OwŽêŸmÅ+RmŸ¿h6E +oG‚  x; +i»oØr{Ø/gÅ+«ØÀÖþј’©àÅ ¼9ÿànŒšHŒ„Üd¨˜KC„ì 40X ÌÜm›`™o<ï˜.|ÍÃa¬wb]xà Î$‹ëuð¬ôÖÕ‡^t<&”°ªIá’F÷—òÌOž.pk~Òòð€Ѥd4R¿¡$Y¯®ßfñªêžÝÎMeMò?âfÕÊŠàÕÜÀ8V •S–¼Z‚gÜ`[?§9Áä?ºC8‘€c+j¨il¦éàL2o³ËT"=B}A7: ™—Øë YNw97ÅFÆ|´0Õúti àŒ‡l)Èsˆ"½!K +DĨB(Nó ì<à­ûÀd¬°.Ò ¾ÄÙÿGÑÎ6Ñ®>˜~t Ñwçvš.Î "ÚÜžñˆ“ ¤B$ ]æ¹ +Á@%ŸMÄÜ6™®N–—‘…2_kYc ü¡p«Ð8ÜÉÇÚxévWÉ·ðx¢ýË['Œt6Ø_Õ³l ôÏ׺`v&# ¿“ù^j±ßdϤnkhw¥½°WS}M`²ø/îÒÊÇ#|ç­ž%( ¥±Ø:ÏtñýéC†€¬9/ç) ‚n)í‰Ãa §Ý4¦‘’7¢Qx:ˆžÖ& V]Îü¶·k§ÀìnÚn“[žà'Z±b1†_““ù&¹ÍPÝŸã»Iå<°xbYÖ)®‰~ÎŒ Rh©ÞåË=cb%ïù¬¸ ãÄ?jö6,Ë»SX{ÐðÓ A, ¾A:Éft3m?T—Ç4Û—Ôн¢Üˆã'¹”ŸV17‰)Þ³K·âÕg×Aš)³¿žð˜|µ;3Áx9ýEs˜œÃ3樓ªšÌÍFš‡[±O‘ý2¶ÿ ã­íü +ÅR½kíÞ[íQŸŒÖ§1]£Çu&9Ö"†ÕTèeÝXõv\Š3E9±5¸@/=ó—¤%@éëlµÁS­ àì<çÿܲÔ-´æµÑtvÿ91ws§¢ j­©ü²òŽ_ÄO[ÂÇ?‚íÝë½£2ÛQ3³—üuÖ8/Qáe”ëÂœ+rrZÙ% –FíÅÉ,{»’ª%Ha¹ófò¥ƒ±ÂûZƵYæ3óÄPúR\²ò.e‰€Û›’Õ1aO¤üF…WÇC*_ÄD¦cЧlyó—ý÷ÇY¢y:ªÓEÐÕw-zBPpc5Às" ÿðSü4JIm]žI˲¬.dàv :mã# U¿ãK΄ÍLê‰ÈœÖÜ…è¶Ä1üìWAºc&ÃTዺ/¦â÷HÝRˆóÁxÄXö`«…Rè]/tœ×J/c/ÁW-†áä̉Q÷´ÐUóIDÕZ¡øÙ½aÁ¶ {ãr´Sͤ S¶}¨X êlž½o{€åºSMáÐÊ1å“)×›y¶“-LóŸ.[Å8Aª[ú›/ÓAöÏèrÈ#°Œê¯®N9ý|ªA—<|+Î30¬s˜. …-‚Ù™™yjãéd²iù82ŸYŠ{dMF—M*ØL/µµ²v£öKR€=•- ”ëÄø«8L +û݉í×XòÀ×xß Ýa„®VÉƦî—ÓrQÎkgDbŒ’ˆ=ì‹FMwo  Úƒ— +=̇,íØã)EÖ”)ŠÙüVp¨Ä‡1#¸Æ¶Üüw‰Àó‚Ã%4týÝLýGìóô=þ͆CBL~2{zïNÛ€’6X ›,Þ¡ÑYç½C-o\T¯h~aô2Q•©®poáîG­«vEE + +î0Å$ñ€Úåû£wJ]ýnb…ž**³t{X;ŒåpÙ”oKÝXQ%”'C±¯£Ò¥òªœ›fÓL 8 ¤Kðé5¸ GÖtŠÐ”ˆÜ™Ì@Œ”*¬³<†¶áÿ”( r_Š¬¼ X…C^WaèBQñÏ«×û3ž®%YÞkЄ|gû¡tfÌs¢ì +”xÐëè }Ίx§•v6u2ñí·~¦i¿@ÑÅúV¶ ¸Ò)z¼Æ{YÁ,C‚ ñ€.2õçPÃâ9áIRáì0íú$…%²šG ,õ~ºuT;!zƒf£ã‹Í¦¯ g²Š"X|+~mZåàè_"ÓÆ×V,úüËé¶ÅFÒK`éÉDp2½%ð~yУõ[ f"z%<µäx˜ËA¡—Ëp±‚8è¦ÉŽWñÍ}2j·ÿ-uã@bøÜFݯQ• »Ú†VO³6ÃÙÎl(§ŸöÞŠ¶kŠk²QÞ,צÇ6q~ìJ˜Y©´¨:Ntë¦Î¬äˆ‚-Ü;¸<î $$çˆN†¹hê`¯ 72% 2ÚŸìÄn˜ +‰oAmÛ3L Æi‰">QüÇ}>›Ñ–0 +V´‘6l\_;ó„¤q’Õ¨íÆ·lxJI3è§úŒâ²½·Ó¹’|dz"šþ£›é¼>Ñ‚Õê]™!e;)E§Fh­6ÌÂ*”öqý¨°Ëê½|mìÛ¬#P1´}ÇÃ+oçËFçÓèßi¡Œãýsi™YÚ'|ÿ¶+j²­¢ÛŸ,†©eç½OÊÊegÔŽkÌh§oÛDõ ûAj¶!Øê–¹`ž•Ò„9ñ†jà›/LàX‡c’]…® _-7J†žƒKäkÌec…éïÍÝÑhÐ7ÒEЫf+7Ì,ÂmqE@‡ä­g‰ŒKyn´›ˆŽžàÁQƒnÍg’] +endstream endobj 832 0 obj<> endobj 833 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 834 0 obj<>stream +øÄjPÿq´€m©•°K%RÞí5ËGs!RI”?Fzý•ÙIýÖ³àíŒãrÒùÝÆ?‰{øc`Ÿ‡)tf +t†¡÷ˆ{¡”‹Éá3^þä|CV¼Bc™ž°ëÿQÈ‘#ËQ¬4PpžEqröÚ—êÄ5DÚbõ­çjõÐÆUÞÄ’¦ ”@·WàãÛ,Äù‡v0Ül0.R¸ø휓ĺÌÕ !Ñç_Mt;&YÙçÁF?¶ãgN©çžòÌ:ʼnKˆñ½pÓòÑ憉 Ê ¨þ‚Õiú0QGep3HëO àøô‰µå0Å6e ü}ß`šþþúðÔÆǃտ }ñ¯d ’ "…e£Àê|‰ÁÍðSÃëÃfi‘ôÌé5uã±rêyT/v§ÙQ”¦ð¦È¯Š×`à°Šwx×W ;C&°‡Üô3óW˜B¡ƒžd­“‚&j†qSì#JÖÑ…B°µÈ/`sî»)ëšÝ„q×~WnKobجïïüÒ÷½îØt&²J×þS……« V@Üã,îAºO£[¤ÅZ cbŸòý0$±¾ÃÇ1À£$e|Uà©ñ‡· égÚrðYí™øúyhØx|ü BÒdL&MiÈëœáï¡š×OÅ.£ ‹4ÈÀøÉ6·H(u”S–y­ž§!ªÿ '¹a'¹â­OÙXÌ“#‡±ˆ z°LÐB)|Íî+Ë€²§ê©-œ¨““^›ª„R¯à2´Œžî&øn¬`¬%¶»Áfe*øºÀØšzB`­Š|$ O¢ñäk£ú§Cãdle‡šz©¹gJË !Ö¬]ʘï3äãÆò +@ÖÕd‘¦LÂ)rܹçòtXuç“_“ +Lv!Ç>-ým%õ³HúÇYsÔö6óTCù¤¹¼Æ!àK¦â[@iK²<á…:ÿ9OÐØÑ~=_Ã9l÷£*.qPWiQq -m” —°¢ …N¨§/:+bxÔ›¡.WáA~óA{®Jœ²•äh¶3PÓÈ.„àØldj9‘ùÉxk œ§È:ÚñÆ?+C5ãÅ`°Âiä®ÉmÌðéþêÌD>>o‚š[î,!Ó±^‚¦¤‡Ï›ü8jõv‡¶šËh"áThjçU’~FõR²z©ø3;¢yÒc§‰qú„Y+n§(?7 ¯ cŸI<[C²F*yIÌ:;<*R¶‡Ùú#svÙs­½’[M}Û¼}¾•¨ê?¾†×Mi~<Šâê…TØ=çqÛÕZ\AúŽ:A1ÚOñÓ¹<´^”'HgN”¶Ù–¦³ä– ÔñÙø>{Ä^Éeh$ªâ7^Nø+ÚêÌ$Œœ6¤FÃÕ:ûÂôòü± š`î­ÆWXûâR5´~"ø å€c#Óeï”ZÞÞÐHRé½àûÖ>Ü,Km.Ú™‰ØQ˜ˆ@»Èôøšûé (kÁ1ˆ–v“^]¿êãN`¨àÌ}#»mn˜3s[¨‰@-W×4$ ðïeƒ¹*gÖA掎  ñ„xRšúýã_m+ ÙX Õ?@»d4fZÎ’ƒ5G}è(i6*ª÷,d²AŠôàì7/ÿÏ®°o€ˆ\àQop­Û¿IÒèÚ1¨ çÇÙÜf-ª‘ýKÅ"ójåûñ|Œ¤…IÄó ö$ÚšÐpË[SÄ4Øã,Ë_øŸFßd¡Ó®’o½uXŒ@×dË"ˆ%õ¸a›Ÿó‰¬ù€üŽ‰¢ÍÔb¦h6™â&-£*ý Ï|å1gDGHµ[qÈΤú$M} ¹0Ð9TÑÐ-Y:‡Hdëäú7ÔÅ»ùêƬjÛ*­ àR-~VQŽ¥Æ~*‘^:¬y'zþ5ƒNÈB5 )„3‚S•ïí/ÜÄÿ[wG´ðŽN’Zò‹¡Ü÷–|ñ Ÿì¶áÁÀÌLMýÐ|™Ð!7|ÿ“BTZÉQ9ÐF^ßo[? õ0ûÔ«…îii–=‘/ ®¯ó«P„;.ؽ‹ªB{^’åfï/ªtNEWøNÂéÇî”ÛÂaRÀ³N +áªÌ²† R~Õ6¦Ý­t^,’T›ú°úåÛ{‹tæûïô—Ð5˜„6óøÉU‹´ãS 29‘më÷/›˜Ê10ùY%H=ó1Χ¹K&±Æ@½¬¹o¾Ïoþ[«n:óF]ê(>÷vn’=$\"æ›Õn†ç$𼄫wæMNÃâ5õîA( êk=ºög,8™ê õ­•<`q@Ï°ƒë7Ë°ï‹6Ê"éŠ?×T¨yåÚ'¦Œúu2iùÞH:\]5yœ; 5:ãoin*Àe¨`.òƒw””=w#汃 ›Í[× Ü7binÛxh}Ë +Åâ,ˆ=èòD0K`­Ìîz¬ÉH÷!æœ×h1DOËŸ€|¾:lµïR|XÝ6Áép¢ƒŸÞ¤ZÙPH’7Ôagùi’¿»&ÑSàI¥¨„U¢åðcÑ’Ç®–¤{È7å°,OôÍnIh’nr‡²wZmÓÅ^[­B²s¾ý…ƒÛdܸ/Bñ›¨-ûÅŠ"Y›cïÔ+h ’e>ŒOó;»R͸}\Àâ™sãØñöË2vLóâå³UP¥FÐ + ÕUîïrÂN«Q(ĨéUÑØ‘È ,áɇ¥å>†Ï¢qï“ èî¼Á»oùŽêÆÛ¹§òie€›í[äöÇl!Ø€š ¶OŸh6±R•§+Xž~öy ï~rÄÖ·4Û¸wTU«ðé°f¶‘Æ› +ÑâÙ¬kÝ@6%ëI,|ö“Õâ£4ŒÕçQýOÝ÷¡\’È•cåczbÆ'´/Z’A<×°’ú9xjA]c˜Yó¸µ}ççN³‡ˆWÜ/;ðgBhÍMþŒFÓ=¹á&LšÄƒ´Cã­“îPm0Yƒ¦®0Oñ C (äü{”výèâŸY³ R~Žºæ:DyÄd" KƒâÚGÒÖõ¿]—e¨ÜÏ"K¤/•µµ,d{[…V ç'‹Œ!u`u PgÁD Ö©d‚úÃ9kì[“’‚ÉÕqžÅ­}Ù~²ÅPÚRr¢þó”,´ŽãsµÂKdéÐK©w\ì"Œgãdh:OXzíðG +‰ýˆà@…Ðs#¼«E~m§ +´‚æE‹=âÍ»ë¹i®å<>õã»ÕõU•“ÅEÖŽ çÈ1•¾Î{Hß@ðãl§RÞSg§ã‘c +U63¸‚Pfènuža„î‚~àC‰JjLÃÛºú<륒¦®= Áý%´ZÑÔKÖCa~´Ã¨­°õì“ÛÈw‡Žr×F5zH üX4N³µó¾À…ê%q´h)vÔPø%Æׂ&f»Ï^ÀÏ~¦dæ Ãu],¦.U¢A¥ë•Ý‰­‚’ÎÉBÁ¨×¸6–…ÇB”Üo?Ÿ6GPäÍx^,”3Ô-žºðnÅ6<É<ÙuZ6qó€LÚ¬Fï7éõßbbÇ +2£9ŒŽ[ܺÿŠËáñsŸêiê®ám°« æȯÙ!鈔Xñ„1LuH®ÓôŽº“= +‹›ûyݶ­è€•ñ"CÇØrìà‚’¥7âpæ”gÇûÈ’ÜÈj³(Û9쥔›â¾äŽs½~jàX“­õ+œÑBê7,Øó]ÝùÎÉç!Š¸©BÓ 8g÷°“[~!^7€\’D²åráØ×,¥JSbý£¾bFƒºÜÌ Œbª/ß¾V7,È ø& æUk=Yvœ}È’¥ŒWÁ\ +¯w®ò>²äŽ“óàwM¯Aõ¹fõ]0ý|ЬÊÓ ®±$Ö +endstream endobj 835 0 obj<> endobj 836 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 837 0 obj<>stream +|,gß“Á ¶öY‘‹'œŽ¨3CW@¾Àñ}|U*ºh„{󚦌9E“) äÙöå¡JmZÒ¿Án¡÷ˆÐLœëäYÃùØ y9Uß@§$ëùå±Ý^Ça U>–ÎzU>YiÐ/çšní0ö*Žs ³>9Ùçú¡úüŠ=†l¡_é;Ž¡?7äé`­:#eþŸxrÏЬ”G NnÙ*°Yöœ¶Ì+ ÷*è\ù¬EúæëÖâ·ÊâRµý˜'PrfoG&ýN£Yu+Iq¥?ìÄ5ú<ªÂ¾\ï(ѱzZ™Óë:KmÛÆrMþ^I oŠyyN"ITc&ng\õ§Tæ \_:KGþ܈tk¶‰¤×4J(‹*™"Öë±DŠÐFµŸÑ 7>Û/r •~¥SõYèPúOéuŒyCißÿG,Qÿf¨¼ñº•¾¹Õd2äXb`ˆ·×‡¯ïL×ß|¶+yÙA¸ )¥%¦ËuûW‹¦ç¡@‰>AìOq{'ÅnÒQ3_¯o“:Ï6@ ©A*91ÉóÑ1s>äà‹{Óš®’vߟuðM— UdÂÉZôNGû÷ƒjš%I$Žæ¯Û'÷#*l‡<ê3vƒXÖw>ÄØIÐĸ{£w¾h”Ò&ãò&uG#}He(qÁ19Ì jùXjKïtÍéw¨JüÛ¡º ‘JUžFÃwÄœp:‚‘]™ÚϘÉɨ¸>¯!²rþ‹\™1Š``˜/àQŽ­tþsÖÞÇ è©t¥2Qõq|}”º,ýu;­¨¨kÒOŸÓ4ž„‰‚ÔQT抻~r¡› ñÀ‘!YÙæ°ò ¹´˜a'XS6¶°èˉw¹)Ò‹(£Bê°kÚ]ºÜ¿DçG‡AÑ}h­‘Ã:»Sßøb—S°€ó< °gòí €ÓŒïÐŒÉâXU5”ŒJ=OÄù$so+mÙða€üL^¢Õæ¾NèËtiÒØô°¬?‰§þQ²8Õ_°ìr»åLöþaÓ'oMßè€!fÎ8 ìQcR*ŠôèAWÅj ëpÖOˆØ{£ÕæG£œ—€6Lqiá¢ćÖI¸p˜wú›{”òÉÅSFyãµ-¦zÓ ½¾Ò–ó=½‘¥~ Ê•T‹õJ€Єċ²ëðPX½ÅZâgª<ç¦néô‰:,ªÓ+cR®í=´­ƒËÙíwâïÈ¢goÓ1i>o#êýE²:ϼ˜/ó€“îZNÀò0™)—}W?ækGDÙ×¢ølx•Ø–j’“ÉË™ ä ³ Rƒá½{°¬¢U‘kÏÝJÀ+c›qñ0]!·qïÑ„‹HT QÙ©žà¹c¯\ƒÊÒ#¸þØ©_qk¤þã–5AK>ôNó­//úV]ætÐ^1×ÙtÔø† ów '¡pù››k|K,&¢õÇ7 -=¶4 +æ+µÇ¦2ÕNO.\±îõË¡Qjýµ¨9§Ó ô¹ïÎ÷—ë¾·`öh÷,qn~ +endstream endobj 838 0 obj<> endobj 839 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 840 0 obj<>stream +Çn– uýªjnRúsr¼›qøÇT'¡GY¾ú/ÆbûEvä œqÿÃjF"$ +Ö‰4˜=þÙ²QøO³0Z¯†7؆L_“ºýát_ý#~Ñ—¦X§5e¨I#žäï”ÁÄbƒgt£¿eÎ2ú îdØo%Mœ—õiR{Pyà 2tÒJhþ²7T$€ –ëu£™ïG–æ(EßfmdÏf-§’S-xÚýê‡îà¨Äç“‚ËÕ„˜ëö×öòò9Ú%Ö“@ȉD2Ór¶‘Ùw#w‰‹¼º/l’Äïzh÷@K§‡ÀJ¼†! 7°ÊJ0€ì<¡†Ý–mŨ+N÷Ö +A`d"ÔRþÖÏ@9u§èn¢ÇÆ8Ž¤ÕùÝ]d{J©6ÃÈmQÎÖÒš¼9uöí6Ìz,1X0Ó?Y{œºà¥EÊdgÍ7þq§•ÛçîÇ3 +ç’˜û‹áe«lCÑ\ÞÇý¯[µÔ›š{A±þÉR÷¸ì‰ž!´Êô}pAWL6 ±Ú’¿J “Gõ™ªt-[; +‘Vk>îý‹²\D„Aš¥ª Aߎ ¿ËtŒ –h)½Lļ'ЬÈÝ=kM~RY”;¢,©Øa±ôh,ñº¸#ÿ‚4”:¾õ&Á>ám§ç¿yÆêÅÓƒ~£²æ8«/ +šsµìo£Œ!¨|89ìk‹J$È¥]P4æAçñh´__6QÕÔ†:ãZHÖ t·Ño Ç +“êo:¼+Y¢Ó|û2lj³Ä*—zÈÒûmcµäomaöziõû:Ùs©…l¤1ÃÈ¡gƒ]§ÁR/}ŽÄtƒ­cWÞñ@?‘çŠ]0uIöK$%:–7¢³Ç~¢…œ>° "´úõmWd$x!åúç Ã(µÊÊ=Z™L/† +„MË-áèœ3êÔ½)§íIŒpH¶toÔª9 ɧŒ`Ë ´…Î{¾TZ¡¬”‡ì·EÕ°¬øòç'÷ÍT´An ô6UÞWLY€mØ;¶L±à"v¿%i âŒmäó̘²sèس±¨Ÿ&põ>*_ÛW¢ÜÕ>.6îb”–÷dGO Ô|=Š"ÖsvÞ-L€)+‚+Tî2nŒçËÆV°&*5¤zœ†\ž‰L¦´-ŒÌTv%žiÊÑ Õ +©w@ÝýÍýcXüï×Ý/7zc}Ç$ŽøÂÀ*+ê…t?Õ®óyœGòégˆ‰WâhÁ™W5Ý\ßo}ÏUo‡J£8õ²¯¾¼gƒÁgŽßòB5'¦»½Ã¥lk—Šýšï(éЊÕÆ +ÚR=5î *øçDþ‚ Kù½=t×ÚçŒÕáêÑ­p žƒ¤Ò‡e‘|È[^ KéhsÇ™‰¡¦5Ân1>› °Dæ!+'¼(•Ï4eXpè5y™ŸÖVëtSzV^®xò”Nx&òÐÕI$Qdì»:3EcG:‰—Ò+ædÇ}NU>¿&½÷¥(/BÜìÈù9r¬)F‡d ½€ë°£i{ ô²ä“QŠÁ€(A±o£A&»9ØßPb²­^Ýok\Iƒ$ ¦@¾}4h±MK Ï^ã!—Œ™UXjä¹õï¿x¨3÷rµ|Läp¸êuµ1Ô +G_Zá,Âé _Åÿ´¾ïe‚äzÙØ&} #VXžª»V3—˜—†ÁX:€8©…‹ï^iÀUQ ÒUIWðeǽ6hïþIŒá÷ù ¡Ê–"f~ÏVžƒâ$ÊI%Ô× ¢ÿ™ÎC=B‡ë†±À.6GÙ üÍ6fJ[H„X;…³ ¸µ$ˆSU¨z; CèàŠ¡ï1_Ë}@ª3o®×ÒúnëíJIb’}+ÁKGe;š\Ct!IŠ«5¬§YOb­û­…‹üîÅUic›ç†€@R-¸xVQ2Ú¾NCS‘Ý›œ…¡hy0E_‚´¯ð{‰êñ¢_ «ò%ÀÝEMwÔèÙ5Ĺ¹3Ô¢Ï]楒o (Up;c³¯¡`^&|0¼tC†ÕæÊ€75G,bKÉ*ãoÚT¨z•G“ !"ƒåÇr‰Øä Þg}ÁaM×pA‚_DéDä6 +f5W+?8£ˆÏ£ª&Šêéúc×tÇ©£‘™Ä>ñI‡ŠÇmÛ)?4­Ã1…-{ŽÞ–pÊn²üF@^ÀfèžÍˆ:Ýí`«­ÄÏJØƤi˼¹Ç!’}/¶4+è•¨Û [Šj˜›m}¨kÉðDûp3m7±k7]ƒG£ôœ¨QˆÓ) ?:üã–É7";Kþk•œ‚NN”ÒƒMÏÔÆòkÚ±‹ßTÉ É/m‡xŒ.QçÄŽŽÃÝIù¢w[ÑSÏçáÿYh’z@”`aiÖQ(mýMÒ»Óf¸á|â·ä$Bä5 Ü#ß|Àž^­ÔLÝTå¼ 1ŸÇàä‰Åam³NfÑæ +LQ"ëK´ g8GãÛO±›x¹§ú¼jl+Øû¹&®c#&ˆ„%G<7Ýòôÿ¦*ö8›Z² °Ã„ø!*Põ#>2TŒMUgkD#}ÙWÉøNèåBï"ØVd7ý›j hÝ’xW«QtàšE£ƒ`¢h2FYÚ-dàv$ñ‡¬éNC¢ •©ÌþžÖHyç|¶jG­þ;Kýƒðb˜UØ@å@i#¶X²ÚǯóëG± €¥T6§dS‰xX†º`Áw÷mùôƒü®WHõïÖp®‹U„ªŽnÇe¢°?"5ªp[r—ž¥DJDdJʪÞ(·%ˆ^Ž!ÄÍì¸lö…t [„BUQñ2âZ‚ë˜w›l²U5xµ¸°Ÿ ¿ë‘ÄÍ»»]F€InðkÊC|Uß"³Ü‚×9DÖʈéU‰]d±^ÐÃuG+ oTßZQÌÞʳ¢‡3FTÂÐùŠêÁ®e!Gé£k‘S½h³©½U¬¤Ô^ö5—Í`‰ÍзúéI ºxEÐ5”7î¥c!  ú³«‘ÎõÄPa¼z~ÝJ%ë'Äæ‘ÃØò•[3ü¥á» ‹¹k á=3Çç÷võE±ƒE/_ÓjÒâ¢/XÑhÚkYåî!¢^‰&1˜+às +Ѓv~ª~ŠD¹ƒ2æt=9x‡mÛ¹7Ç߈2%§lc•+¾t殘½ÙðôQêÌVKæý;ãšt-,š×Î]ÐÙ[¥àÄ'¿Ü_Ú÷ay)ï3Ò2]M±2áÌßÁs 8Yq òŸ"ˆ)UçÏCƒ íâ¹sÒ Z­Ü8¸ €[z»O™×ڇт|á§\”¾&TQn»÷N%ä —XHÈ.ïrIï;\V$ %hã¦BŒ£Ž¼KÎ4eÍÎ\x·”È^ +É2«8Ñÿÿ Q5O‘þ‚ŸsBá—)¤J÷j“çgŸèƒÂwjÑŽÓÊOÙ•@„_8½ ŸÆ¼ÐýmöÔŒ5nÞ¾8°ÕÈHx2û^ÌæZ–Y±=éFÑr 0ð¨Ò›ÓòÄ=,8ªõ\‰‘ÅFV“£¿ÚÂée‹qsx'êûnÈ•’µ¨öwA/Ð*ìøM:¦R+·-Bf=?9yâô ý¯øy+ }Ÿ!×Xĉ Ú€ùÉÙhA3t¼{€ìšlé˜Ï®ž ú³Mhrr6æõÊ<¡ä=ÆŽ5KF2 ·“÷†¾¿Ü¦#ƒB–»T-vÄÒ»uºWÀÆ)ã³Ã “@ŸÇǧ>ÃM¸ ïp>/B|ø#²%éN)!Ö"è¸.¸¼¿Ã—)ž5w}è¸òPÜ‚ì’‡‹»•qv4iÝ\‹ÆšQ!rµ‡yDñÄÏчë[ÿz‹ê`½—ÚÅǸ¤OÂñ$©¡em# +VA!«jÛŠ˜™»‡ò¦(Èã7äŽ ?Ïí…ñKlßÌ5C:•xÆØf¸¨%ð„U!?ªå8“®Ø] &&)aó)CÍ›¶oI”?¡Sz}~YÍD|âŠÌ¤à†ãkÉ]°›d–².¥­a…CI_d¿3ö  ¾û EbÇؽ’ZG´8ŠÁØÈæêóÞC5£QXc.ÓBÌç9†¹ +endstream endobj 841 0 obj<> endobj 842 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 843 0 obj<>stream +$ +ó§48íØR>ìœÇ*mS”è;ä]š¶âÉÄSÓî8±È²Iø%B9æ¦ìo¿ëgìg$ì€qÞ–Æž®ˆ›á4¢€¶˜­±[;DÕ*é]”t@!3¨š ’â+õ‰Åú[ûUÑG¯ÁàÒW’ÎSÞ^öjCÝî" ÎÐŽ.©ý4§ì:SŽƘ:E—ÈÿÙ2­©4¨"ÏqøYûDM3§­Üm´¬¹QÖÒeK¢Ç øsy˜1*Êïíõ±R QŽ:Bï<Ï–>Àkz v$v@ñ²Y[03“þÆàd»8,é´B#Ô›ÅÝr4}8ÿ„8Äù)_“©'˜Éb½è;6!rìX.·þ°büGyü—ôâhA­¢O…óÓ¤œW²qþÞ›‹‰ÙÑ>2OĪ3ÙåtùÌ”˜Ì q4|¯—ËP8æ³$j‰{3ÑXUƒgcÉÿÝø)’1†'w{ +c}Ô™p¡2Õ7B!q>Ü{ºSŒT „Œì—XK¹€ëÊ7££Á™ùéìÓ:}Ô{´šú®öù1^»•ü¡lM‘£(‹¸Ú9?+ûïºyâæKÆ]«ç‰xCH•(ÞxðDô!RÏÐ@z}|^-ÿx´\=`ªÛæ§Mœ…«w¶Ö IºAtê͉û|&aÄošz0äÐ Ÿ§¢àÚô^rÂò:ƒž”˜r D+iõ Ï ¯Tòˆ æ;A‚çW7 +Ö§¸†ÃPa’U‡äå?âc–0×Çq¼Æ,P—ìsÃQË8Jø1Ι÷\•ôê!1“ÚpËT3U»³íN‹>¸ÉïÔYݲŸ-ÀNe&bâ­‰Ÿq¯ìž8ßÖxíº ÌÈŠ8ÇeˆÀ5¿[â €tbp‘q+åQ»ByúmufY»vUÍrJJØ n®0)(Àfw¬à½Þ§· ÙœávÂ}ò-Ÿ3Š´^ðwÀ—–xKf·º_kóiNÿ¹S%6u·ñeþ©cpÊä¯Â³v¶ÕoDTØ› ÌÕÛB7_‰M.ë!r¥¶ +:–¾’| “îµ÷ܔϺ.4Ѽn~ŒP½æ¯¸x"R}tMä°)V•±zPý÷lYe:‹CÍwq_ \Tà×e‹GÑ΂¼êj~„i…lÔº^øð ÷ƒŸ)k õß’{3Ø^¼®ì3ª/½¸Úâçð)Fô—_ȵ¿8þZ˜Ú8ÑïÝöÂAë%âîBâ7û%Ø.0oàÚ§¦Ã:ñ||x– Ù_R¼YñR”Í /—·€+yQŸv}”¸2Ÿ’†ð¸èÛ¤ûþü}@üN–ÐÀŠè ~ Ó½¶aØ:- ? ð÷ˆ˜³Ë?ý€6F ›`+>VíE8“½鶽MáHFÊk›rX„ÇÍÛäÛ·•ÌHwóOæ–`ÊÝ$Ë7ßj*‡°å°eajŒ-ùê…¥¶Åî 2¬6¿fDRC…†Ïé&Rß­ °üM†žž sd*¹X@«O.a­†M9j”Ý7±›r-FõÙ“Þ S“¶-À±muÜÍF&+ÒÖ©\ç@ç›×—µæ¼V”/äE7fö±º5$àò˜ÇG>å#"'(f ñµmØ]F¿åRöÕçaÖU®Í;|ÔØë¬î©e¾î” RÂöEu{ó˜ +|E_n(ä$v;fMhCñÕ}‚xa°xó(›<‘eÐ9УÃõÛédµ 5$þ”Ó4mLT\«‰ŒOîUeUHcé·ŽŠxŒ'•qË(7£‰Ûêþ¨E·MT鮨ÌÉùlvi}WR¸“TJøîÜ´Ì-Ɡ–Ã!zé‹©?ºV@~Š yɪsšçÄÛ7ÔIââßÈ*Ë鞉EÔ´tpÆ%"X@tm/㚶ŽþÇÚ*m¾Í®¿@DËX¯«{uG¯¢h/_C3KÕš`Kì;PH<§~1pH‘¥¿;Còpw æl>8CÁîQQ|Ó=ëi À‚ Ä×è¼ÛÁ„¯~^Ñìxæõ5wG²;á^ìepøRèË7Þ’Ö;¨b´%)x]Xä²AŒG¼›L1H¦Rå½=ט„7­|Mg‘ÿk5£?§¹ÑH2â,x0'éëⵘ€¹è5_“ÒúT¹â[<Ï1 0$¯®Ø"áÛ4@z‰ Ñ!aB,–mSIª>½zå:Ñ NAFw^‰®Â Ê¡Ž|†µR‰ÒJõe%¢D¦©çÐÎX“¦ó¦ò¸[®ò| à²Äéµ9\÷æTlåyÈ —‰ÂNÑ~\6âÚ*óÔ\ÅÛ¼Bõß%Q-ŠÍk=¼f€…Ùå|oŒÏZ’^0r)RÂÈr [W”îË.¯ +=ˆÒœ,…1âÀ¿5ÅxÌ7e P·J=D6,šd„.”<—IÒP-J£æyW¶ÃªÉnòmÁÏÇ€ò«Oì=,ÓRÿºm÷ ñÙ£š_¤¾¼a®äÈ÷çC|Š»¥ŠíAÉ +ÔWwµm¨Ã8Xb,c<÷_šP„,À’¡7xE«¤BIØ j¥D–ã¦p•@³x«Þb›ã—ï(Õ2 +z¾ÉÒA xWKÛëùÅÙÀþ5æ!PÓÑÂD`ùuV«Jr¯"7¹Õ<"Γîù+ÍQ^ÂÎ¥…z˜©¡ä@D¯ìñZÕõ‘‘tJM2ÓèeK#7æI=Ã>N'…U»Œ˜¯K N#REô&uFÊë h¥î•°9¹”ÔÛ–³ÛðŽÏ¯xA™Z5YBk±© <}Ú\a4z¦Ñ¬TÇì]](è,„>'Ã$‰m«2×&5=I8bbýr€h•pþ˜ùz«ä +•±Ed94]KoÞÄ  Tá–Kâ:O#xãc*c'¯¥ã +ÁàÔbÐTs§ïKÎgÅ•ŒHsx¶-tD“ä×v„[gat›‹!  à&á™Kíp~ŸmR«–í[/ã’mXEµþG‡õ½ž7ýõf-S2ErV¶þ}}º0dÑ—r4h=‘|óª(4¿õ8&ï¶ÙÜØ·5ÌC ‘I?ðg[ö*Úíf†óñ%Â^) mdu¶è·<$tx{ØPeÆpëYBö*pFTx„Þ;ÍÅgI üFúÅù½mþUuBÌÑá;Ûω±jÿ0G£tN@‰ÂNóòð,øê·Ä èZa7½ç”ó±Î$2æ ¶®ž-ÿ.7+/slϱ´[«O8ÙAÎû™ðËФR?}¶î\"J#Ö³ÒÚØI87^Qy%©+ +ú…iÆž+ª¶ôd´"yŸ†'ú€à <÷Ì#ÆJRþÏç=û£¶¼Ò%PöImO‰R +ºÁ’Tœxÿ2^èïa±(ÖÚñKªuð šè‡QŠ¹ #ßÛëÉJ,¦fU5æ‹ÔD#‰ÉA4Ü_xTÀû]}žÖ¥`(»ô9XWc‹üš¡Îˆ¢ö ò»ÙƒH­NügjQ¾¤Ù{¼$ªQâˆî-Ç*WÝ:‘N§`­…³—ðT]Ø#y +û!epu¾’õ)aY`ú}âÿTÛa§Ÿy–m24×£TýuôÉÌÁ;5»ˆùÖä~J< g5zÀ¯/2îmºµ2eTt£û z~¬<Àë_×mÃ=àæ]Üm‘¾‰NÆ5Y®#_ìT‰¢¢}þïiD*ð°·çƒÎH[ƒ{M`LkŒ{7§@°TûSÿ&ÑÚÄ0d±ƒQ9ËÇ ¿}—°áâ ˆWÑ OŠ6õýÕ‹€ùÖnŽ~p±rð‚älÁZ÷‰8ÐÄ«©R…2.±T™…f€v4Út1¸ïú»žÔ‰£‰Âµ/xØÆÉZI¯n}fV^Œ0´2™•ˆüÆTÆu©â0kî·ˆ Ó4µm›µl‚å¿ Æ  M¬¿WVV÷kãHâºù9”{“ˆ†,G¬¢7—)èçWО0[sóZƒ÷âꄯßÁ¨‹käÈûUŠMH8æ“í¬OØ|sÆ“už¨hR6p¸²Ž¨Á0üW1ô„QJ1 ‰•a=e&ëõ‹•EðùÝÀ(.®áçÁzäåŠô×´†‡oíHBÐ>W t}:1 óæ:ïÞǨ7×荒DBhÓ<êF‹&.¨Î¢•Zä¹Úxu¦@2‡'›Ã T³BwË!{Èé +~›nó‚ßÔ†¡Fò«®kHÒj–p†XæöÁ¨‰Fs0ÆBG›òš æÖg‰:åï,‘šulôÄBødëË Uê}£G*êQÄ{vA^¬f|ƒh°jip¯í630CíG-l$ºñ’E$þß°¥A8µ‡mH4^‰}3·+è—oíåö’½cbÐh *à"±A(G’ïmÈÈÏý­ó‘ª†.‡gOÜc£Õå!-{¦¿®º}õ^´©-†!_oH ýìêßÖ{–\È +endstream endobj 844 0 obj<> endobj 845 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 846 0 obj<>stream +lOú!¾ö¿²ôìÜoó—ð•8 9c͹…ƒT»ÔUwhâ`\&„é|Ï—l ¶ÂYŽ¬QhGYûNá‡D%ÕèAK¾å ÉkL®^VÉÔÓ=¶b{’ñÿò¬I}’æRÔÚkT±– Ä…™9û™A¨Qphb§f+Šmyn[ƒ»ÂZäSúü +fCÁÞhO'ÂÈ¢ÍÅÇá„:­|ñsþ}%Ó›íREO#fL³ËI™[ŠaÙÒ½ªéL8°ÄŸå^B¸f!'gV$3(g5_·©™rþß÷6 Ð%Eü+•óƒ*‰?*Ó×íJÌ‚NŒ°ãÐe»S¼wT€E }Ä–& ý¹1“ÃoÛC31€(0UîX({—Û¹Û OXÑ@Õoç÷ꋋyÞJ×/ì¯r®-ú¡çÒ·G¾ di-òf²‘ù¸ÄFî7`cÖ- d¢í6ï¦êãp®C“š.T¥ úåÑ×­ýÙk ëm¢¸0_s¹«ƒýÞ©èêÛLε>.5Aœ.S;zæ˜eñà¿Ž*U±V]¨ˆDabËš‘¢ÓÅãÁÍUz]CïØ5™ÿ¨ÂHW‚{E¨ê#tÆq˜Ê”OmEæ6W%íªZo_Àë¿P¹wtŸ-ó4XFŒÂò¸x JÎíZÄV„ýͪøò£ z+{—®‘B^%K/©ÜgÒaè Z:BØ‘BD2jôÆ*ï¤ÃBù¾ˆj›R•iOä$Sw`Ð,8ãPȽ‘uÞS¡¿O@g÷x/‰1Ø4®¹)´ÿ˜08ÆtZdâ‘Ì(b©Å=t𜷆Q&ÕÍBMã,Ü¿DÚÕÇ —nø\µP¦9ÂÏy(˜¾‚p@mŒqË®lžþ#ƒPéOѼ†Ø†žˆç³ü¶aâ‰#HW z͸XùeöÒª.Jž1@úO÷ªéøTªt»{^÷Z%(ÑäÒ¶ö#¹ÆoÎ)F¶çófgl½Wô}|U CÚÊÝÅ(Ï%TáN1lô€6[¾&tãÏ¿müÚ‹<ñ{¥°·¹V ˆËœUê@œ›‹´ØÓêÈ+ŒÒÛy™õ’®¹­Öô ¬þÁÒFV†Lo„ÉKuÑZ„ÿ¢â Óç÷&åÿ]­˜ÇÀÇñ4•n«°›Ák˯ƒwµƒ² Åä÷˜8 ÷½à”P¶³-”5U×î•õà.¿®øyê¼F¯¯äÅ£€.AH(WÐÄyc'–^Ý™Öjk~;YkD5Iü¥bmGµî‡ðo )Eä·°¯FîÃgzé@‡¿ÔêÞ¦eqy›Êw ŸœÈ6¿ñ1«Yû‘Ò[ÌC©é•ÜÀS +ˆc.Ù2æ¸IÚÖ{¨/Ó¯!1ÝŒÚRíbUDØ£9¦üEü¦›øi}‚,®™Ïœ¬pGIú¿Ÿ‹©VÞ™­uñßH^¢¯³í¨ Œl‘3TsÕóN1/yž“< ¼ušè«§ •×Sdÿ3˜1¤­qn£cà“þKsõ0G¾9½íãl#µø8ÿçH%øŽ«°Æé&a‘´]`ÁeËçÙߎæGù*Ôd&þ?«ϢÂkò˜!Pì6ƒÏ—ùµŠº?µ…-¬ÔƒõøÎë‡lß¼¨½[õý«ÂËT5ü(‚¿£âØt—m™#üôåcFÜcàtf ¸ ûÙá?¬MS³oÓ*λ¶Ú„ÊûX3£¤\G®U:ªæ†Š$ÿÞ/‚àš„Š% z +/:£"=; 9[LpIÏÙbؘËÉ.¦P@)Q½óÒq^ó&£RW:t¾—‹õ¥)‡ŒÌ„‰¥iýÓ Ï¥8N1ü¹ ù±³ ¸ ¼ÍŽwIOO“S.¸,,0’>f‡ÕAk`\ßþAò“³Á&WåÌxÁqf,Vn¾LSŽÕŠÒ¿èUïpa¾” ¯˜ Ú.Û×+,æã}6Öä’µ»ê {OÎæÖÓ]`JÖÕ÷ãÄ~­f:ÍxÿÚû«¶ŸÒ?®\ÿž¾ôµšxû¤Í©LN„PêÇ¥ÂG¤;ÈW~(]Ö—J²Gœê.ÕŽtÞ@É¡bÂÄñ´Œ¤a­»%ï÷½‹8óJqv†j'‡<¬k6R|H”öTuÙôÖCµYääã¤TBiðˆè÷s~}ÎÌPr+»1“6IiQn8®Xóš¶[ 7J~¸¼xîs¸TR ôƒ×lvŠ¶(YÀµ“§‰¢[ŸâŒ6/5’‹"â}–K.^{´ÖÌ8I™úá–²f+AÖ¾ž½‚bóèhŒ¦˜"£+ïO\ø³g‡Ä>jªrl ÓvËüãýÖA´ŸóÒ•]Þ’í*ú¹‰,+~%¢ÐÚ,{Œß«¯‰× Ÿý»ÉwÀ}!ã•iÈí‚ÁE2ŠèŒ­ÔÒûâl™"tk—Ë…9ï®AN¹ÀѾŒà'ɶhàaÖ“¡Æ0VÙE¸K{¾MÄU¡@QIóˆù¿nÝ®,ꄺ•øsgœ×ë‰æ悶ߤ_Æ»Ã$ºÂb#žð­P®ME­€—Îb­Ä+x/Àß%¨­ìÜ©gSéÉÕ­L +d‰ÝFíwcK[ àÝÙ:Â}¹0xZ1hKZ ÝÎß©½EYzZÇ•ö:ƒÐ¿‚1éb¦0óš>¹’Bk*ŠÃH‡mMNÀr*2\"Xc¹á eÝdÑOÅIæ$ÚÝÂÄÁ\ûÓÇ̳/½žÍZÞ†fïy¼éMð:V)ÊÐGÁ9Í€¼¹D[Âb¢–3DCÏst†¥ à¬EO(KtS}t¸´•ïéϱצ¶}ü7¬Œ&3¬?&¨y¤Õ)<¡Œoyòrã!\f&ÿl>?HÝüÃQ¢V›ð`ùsO¹êšmZS¸×ø¯¼çÓ†øRFoÓeªÊ *Ò\âìb {Ù²|…œòKñÌœ¾ãê´õã“`b±sÇ¥®ëÍéï¡RñÛg²!ÞÌ0s¯yëî³®_S–ŒQ„¼ë.ïѨY¸óÒÒë5#øÊJ ^©:ÐDûÉ}žh5†û>ÄʱŠÊAéW!VäfrÊí{ÚŸTëà¬Z 6Ç“í«6á•’*â˜ß>VP¯5ä-ô¥sK+ Kñ¹(™ +î\‡YDETÙ²f^Bglomò.Þü¯(¿\i2¤Ì†Š ôzLä…SS¸¸¶¶Ÿ4°x@ú:G™utm“éÄ‘ˆd/Lƒd{B¿­ëQ‘l!8¯`\Ä˹‰Qù¯ª°°Mµ†ÕBûµ¹'ñZ&Ö55<Ÿ²&뾉îpºÛDðp«²4·ö_„ufe}gµðc¸I®M ª:TH€ËÙ¶iŽ<ßO¬ˆêˆdÌpý]Eq%à&­q$«ã/|æÉ‚k{ óö&ÐèʇŠ™‹ã¸’ÚG@Ÿ‡_Õ[\ Ù€x–€šm(’ÞÐz*m1®”Êîþ@8]ùñ¼¯*Š,9# `¯üB¨@,SC)˜ªï2ÊVqƒ jžØ"ÌTŠ"å±¥‹Fßqž>•»WšÖˆ'ûÁþ¶Œ'rþ§bkQàð ð bpg9Ý1Ñź½L¶F‰ñá¹k½½Z5ÆJñx +6,"‹ [õ:úâhÇÀÌæDòæ}¢™Jùc)ú "¤ß6;M+› à‘Ÿ ÿ(;¸çH²±èÿ‘ÖÂÔiàxÞÙš,d±ªx¥Å­B0žxÖ·ÉRõ=n®TE–Ó·ÓÃu `pJ©Gœ9UYV£Ô—¦š®©“ÊÖ•ˆ«E·F­—]ŠÆúe6ª ^º,›†´™™AôóœÉðŠæ©wxü~tÜÖB × ø¥lžš¢ùêIwÞ©ÓÊÛ¸ÙÓÒL½£znŸY½A·ÃÂ"«ŸõÎÈŒ;ÓŠéö8½OE¬z³¸t’v|Ýúr_þË÷R]ŒWUñŒ‚EÁ +h=Ú‚oAÚ¬îrA[! z‡ì 8Bÿ‹^è•cg÷¼ô<ʶû&ÙyH‘.’ÊKã‚Á2’i{òÉõ(ÞƒQ%³ !›…÷Ig°ÝüÂ=V´º¶àœÐX™k(­BëHµD4GN†3Kx&ØΨÌØæmïêf±ê,üßækÂÅíï;KG÷z±L¿c'8r2Y9- ³)x¥°óÿïÉ Êƒh%­òßãB0¡¾\;Î3.¹_9Ráʆ҅9ŠbV¤ØD„{ðÕ=ŠqÐvïêêYóeÁ +Â>£Šã5}š;ºw¶TîÜã4áùËQ‹a(`ö™¯4]×½¾i}hÇ@Zº&˜2NêšP„KoUësã Ø}ªK F[ÐU9¾ˆ„äůÃ^^P1Ñ‚ÂÛP{¦px³ä‚V¹™nûøBeÜ‚½b›Ø j›à‹»8…lÇ@PÐdÙ?/ŒßÖNÊqŠvM•õú>éO „ €ø: 0 IRØì…©Ž™½‡GoÂ/*ÞK8‘‰‘Б‰€ˆ[˜W˜¼J-/%Y<$Í@PÁÝ}ìï +\hRêu'Þ^ÿ²Ÿ¤6p{i]'k +#Ϊ|¦½Y®°uÌÍ•è,kjúŠ mIZÄjtv*-( +B´¨QÑX_ðc“~LŠÀÝÖþÆ£‰µÍl%çtþ(G¶²wÑe<Œ©"Ió©qcEbØçª}¢þC®uŠh•½Ùƒb0Ó%éâ¤ÅÂ'Jm}Ø€¤õ)¼ß¿øøµ+ªZ¯åàÄ`T!+€j+“}ÞéàÙÒÕñT®MT%‹]*œ¿g¬ËÜÉË9ê )¡o&QCãJ¢Pjü,ÂPðVáa—§ß ʼnˆ—uäwªRg¤NÇÔ…’¨öäL'—š´ÐؘªÅÿÞFÝ¡º •©¨OÍ|Îå$Ͻ§ª½ê'?WÂu²íõü,V]íBåì¬ÖÌw¡Q¬˜»¡e­Â óKŸþLp~°äºXIf¾‹ Lª·Á¹žmF8ªÑ¾' +endstream endobj 847 0 obj<> endobj 848 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 849 0 obj<>stream +™§-€J í2ÍhÜNÆZl²ßÑ,O Ý QŠL<»j8`´g=@¡ôã³{žÅ aqãÊ'ìU÷Tk¯Â…%0 v­ 7zvÖ{ÙüÁ…‰ °éoñ5›¡· 7Ü «ÚòÈe>Ê?ð›ÀŽñtö’‘Œ.Ñ;·¨ÌÚ–£ÊþËõKGÈ烰¯½N€»„¹ÝÈʹ½½jÎÚ÷Í(ýaÒÞ·.ÄôP=J\rëƒÀK‰©,²[±ÄXTî_ ˜-”m‘=fnç[Ò„cRµì4ìTÈ )¶àZÝrɱTê¸å‘Bâc8‹¸ŸMpÝ@ã5‡=a^ÀÄçÚ„„¯RÞÍØŸUÄG3d¹p +JeëWâ’³<;é;ÙDįÃF¼o6:u¿DçÞß³XEâ°Í’Zèñj:?«ëÎD¿¾oË$~ðB»N¨õÔ]u¯Ø +Û“LæšYé§È^0;NEü¶àv£`Md×ÁÏûVêeä°Çù1TGþF^ÊÁá¹½VGY¼ú£}©4ÑkêDP-3Ú¶åÀÑ\ÎImÞ“Å_† ¼ûE0ïo/–•ã|ìy¯pð‰ºâ´Çˆ IÑÊqª›€bf›ÀvÄ» vØävÊ^ÖÍÈûãië4¬-UµUJlÄ]zr¸^8&`¶;™©™ÇðáÑôÿ‚@‡rœyCÒ³¸ð6Iâ@¹…¯Ã:%¥cÏs§Æ¶´Æ%f~îbyÙ09ªhþ;¦>h¥Ðî^²"TY’ËùÃÊâ«‹Ü…¼¢ïuÌ2_Ìý“‚ëÓPË=²üô”bÿ4|”HÛÝU>• –×\ß>Ý«Oi¡˜ñ˜~Y¶×+ý¾ÈMt!ÇieðÂ}žþÙcêS¹NÌD*ÜÛ $‰«ˆÐŸrÕ‘Û·üŒ–hú©»T£àÁçì]mØf +÷ŽGõ B•¯–«5Á‰½—ìu3WˆLÄJÔÉŒj›t#Ò hTÛí¸¦ab«vÿ§¿ŒœúG ©Ž †Ð ò³ŠÇžö¬P”D¸çÖñS…I33dåo1¨Plý¦›ì¶›±RQŠ#£o wWÄ˳VD¶9K›4¦,­lU7ÊLOÓná¿:KÉ—«JXy¾»XŠ‰ÐZ,–™ŸÉêW‘üXN 03?Š¿rW©0ù\JÙbΆ„Ý-¿¯¹nLþ´èwèÄFÛf]T߀±øcQ¢[s÷´Œ…Cøy­y8($1ƒµb´ùh :”ó"{”=‘™l@BH'ÆÚe[ˆˆãÌoØa+¬í)ŒÑMŠüFÚ a6´­³¹\L ”1Ó¤«<¤ê§$%—ŒŠÏä$jy‡3Ê@( y¥Wôªô-f/˜)|Ö–¬¡åjÜÓ¨$ûçÀyÖ`>Â4”[¼šÙ÷þ¥«Ù.Ÿ~´”.òY£TÂý!•®›gäšx1l@ÒtpüþSø¸îÛ~‹qõU£OÈéë4/Ið…¦„¢ìŸiÐŒ´w¦ŸÖÆD×^7”3"É8þ;qt7[JÍdv.6“àÈa×ûk'T·=L#üp98²Í“õ…‰]?oÄ3 ʼ-¡Õ€Xœ~¸‚d)˜½ÅÙÉ:¼e?³¥Ö)ÆwÊzä}ëÛ/åHøì@ÅqŠ(`¸ð ›Þ•ú•÷¤Ê^-.°ì¦\N¾žÆçcùéæBÇêØõiY僰¶Nm>’„G ³ˆ„ζÑɆ]™)²RÊÅǜ٠³e=¨.mwnÏ[J”;ÿþx¶ B,kÎÓöTbm^ +R²ÇâÞf`ðþ§ àÛÜi%WÃag}‚4ß?Ø…«ø¨Ü“%9EÁf7 Ÿi°øÚbqêOQ§ÐÈ°Ô—¹Pº.ÿ#~´"ÇD¤õÅRrO;6ö{0™KQ÷ç‚åf]§þ¶ ßTöªxrxF@È1 Yå 9ï1© ,šü½í‚íŸ-ŸZâ£à¬uºÚ¾DBò:@g¯¤†ãñON6û¢–Ÿ¨³ÈËõ²AµÔqícãÌør\3vE0C¯ÄsWpÁ†¥[ æ­¼4!B˜ÿP×T´‡‰A»(ôª ÷9c· ¨I,ÏhšOÐvKè·×ì©ðÝóf°Cõ¿Ž×R“PØàxÊÑÖÑ/_ýâD"Æû`4;ò´aT¿píËS¦~)ŽÄ‰¢âôßþƒ’´$U·¸¼$.ç‰í½6A!÷’ÞGÉ^B*¿ñÂÅJ£»Í…0bZÃþŠî&·ÿÏIŸoØ{=€æNÚ›í½îüYùó0žš¦hÿrîÐÀ™Ñjx-$Ÿu€Ð?-‰¨@qŸÀ½{•ô;\ +©ßd¿gúÌàå[<”*fu „ ŒIpäSl†"’³bv‘ïòŒÍ㉄÷:¤NØ8 +B›úíqÆ +6-LÝë‹fÝîTÑ}qøWïâÁk¬Ä~*¥D­oG}Å7Â6b.ºT?)U7|öØT-[Ï™™é$X-S8ßø<=Y~âð~?o@D›jÕr¥2&KçÍöM{ZÉ!+²5*µ +Ù½Gú_*]DŸZ3@ô~ñT|×£ñj|äó^{};[KbŒKb‰Ï‹Z{„Ž ò@Ï^.xüÊ-vŠFHßIç9ÈŸY€l™Ez$6{7„+ô*ä.¡¹%L…âMì܆–MqCÄåN5 åÕ qàçÓÌH»‡»¬w‹úƒK~ ’ç‰sÀjûþ’iŽ¯¶œ{/•€K~Õ&*n&†Aˆ~ÔV'ãB·¸tŒB}jßp7½‹ +Š™RÕ‚…—W}Vÿach KrÐw пÒë·Â~œ[Âyµ¡¯N²zàBÂø|îFæš©ÄïD™SˆFa£M=ð§!ÏiÂFè/]qmºæ™ùù»â‚êáô;í!$Û6²a®myÓn%ÊÓŠv"9×Ôº^ÞsHpêNœl#XTÿ` fÁt—nŒ2·žd¸xlܧîpÙõZ"Êí½zÇñí·Æ*K­ŒÕëét>“!kF€^Ù1ip)‰¶\ kÊW*‹ZiåšHŸ>¹ñ0›±×ÑžóuÄ}“Ü ©pdWÃÄ2§ó ̪­&O]{Ëd÷·ÅÂz£p³©‚`½ãt#’ˆÚR“«i (“\Ìm‚•aý+RЦÑzÏ=¤+isßçnŽÖFę̘I[íР¨ÍÚ³±öN¢3ʪVåojC¶í ãl/O*0-f_ïý{këL$ÎYfü™RÎú,Å –N®àÚŽi8«gf@&­ÂÚô‘œ§G¹õ}øÞ&¾Ö6™Î-ÁÓŒ$ß8;GG°GŒUO:µ=÷òÈV]˜` òkr©Ò+H‡ÿoqÔ!Ž©–Z_Š[ß VI°Ñ½HiФáØo!Ë€¸awp¶2ÌVD—p«NÔwånþã…e3jàÈôFZåú©çDÕK8iòqSÊÍ êJkW<6Aq +›2kŠGÚ9!U k¬RÙ²—¿S·Ô £49S®|XÂ|-PÚ4Mö‰z’sTÌ=Z.Å2#”pµ»6˜O$ШOöñŠ†ÍöÁÿšà +.ù¹>›u·rR¥D0(‹Û×OÇNÞÎY­¡1¢®ÑuÂRÆ3¶jfCgR" í« Å#—hNnno8 ¨jÉÜÎ6b‚/^¼´Ì‚-\$T7qZ‰¾ã2Ø«m­Xøa÷PžÛÀê¥øGó;T]…1j0¢¯¿«fɃjJ›‡',ï‹#æ‹=þ¿Þ/j +–l4‚G¹•,±ªb.}IÚùE`(9¥ ¬”ÌÃyÌnˆ§·Õå÷Îè’O,3?^?L£ðÞYzl[^kXÊ)¸â²q÷ÒwÕ§õèT´úöÐSÞ[»¥Óä¨ÿ|ƶÈ|@}«µŠÛ­¥ÂjG#œÁ'^“73[ê‘7ÑCkO’ ˜ìÊZû/•„; 5|—Òƒ£|RJ‹<†µnõˆ+WÊЄn«þá1Ä"CeJ‡ÚP3-g2³AU}9ÞPÄ·…¿Ô‚…¹'($ÚUS’Ã,[ôÄ&¿fX$³| (·CátÏI½f¼ë·x#j'w·õì7öoH«Eâ Ó Î^»ê—s'àíKW +endstream endobj 850 0 obj<> endobj 851 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 852 0 obj<>stream +Æ‹] Õó#Sm}…Gûí¼Ðh„-/‹6ô" oîâÆìGŸ€_S\=yxöB‰¤[Îì}°o‚Ý@Ù²Õ´¤=†®ÑÍ„x2þdÞ*B7„pˆÖb" )àj½Ý‹ãµ·7tzœkK^GÊŸ³)¹±3T–Mý‰Ï°)¯pã¶<` …J;ù³²ŸÏ‚¤Õÿñ.s²°D•8+?™gtV^ó=ÇHd·jew “Þoã>å{QgÔ‡ü?#›–7òÝÅ‹öÖ +)4‚£#p †  Jº^•ºŒÍÖÁËyˆ)éªMÜÔî÷ÉŒ&QFýq”å¶&£Ðl‡ò Lʘܿñ°&¢6Ë<¥ó,ŸT¦í¬famø$ú ô·÷¡Ýl0½Є ×óWœÂd•t(þ´ yà,XMv €E¥_ðq:}&zö÷e}J¥ìSª:¸)u‰ýœ§xðs3¯Â!ím,ìøƒ¨ù?Là|ôÐ$ž¬½Hq¹ÍÅ ËPÁl}DžuÑNµ¶—TÁbbðöc”¨4•œƒúØ,/Ébã#ÔGMÖƒÉUHàÕ=(d±\ÍŽþ¶¬#–­ánÆHN{àœô‹KîT&$Ÿúqïìál>‰$<–LßêЪ’ªŽ©ï¼a‡zRKSòšÀ$¦‰|6“½)A kf9˜R©¡v鶎sJ¦V›¹à;Ta¦Ìî²pÓëÕi=Ý>4åš–s+¼ûó—­íÔÞ^)óífcþyÛý ˆÅýÖ‘öÎh]îÝ E…’6Êÿ±YWh.âÂà²ä’͘ЊiN2ÖAFC3âÿ}Ã^¬Ú4¬/^c‡¶Ü@/ +þntÝTyÖ`»:?wÑ-ËÌÛ¶ƒ×éz©·ÖiÞ­yPd•VôBaT©YJv†E]o€ ,.¹Ÿzðbf4}x¿8gÚan_g×Q,Îß¹ˆ¯uÍRïX–G°•þ-êÿÏ­©m÷¶ˆWL¾#ôrî·@i_9â_%Ží铨®½‚Þ,40ÂèÝ„ríAíR3åòÖ Ÿ}e9ød³ úÒÒAŠó ùœF?â/¬5¶È¦¢ü×ø’Ò%Irkæ ”zÚ¨¹40òsnÍ(£pÚ(K<„~á?­|yGSg”ëzUh-ïÈÎê!HD Éõ™êž²Â=Nx§÷hb(rx—[=TX.n¿xP¥6…ÖÌæÿòcÜ YêàÆÎMŸ}@¿ek·E“5KaäsLãY•›é0{!84¥nJŸTòi·ÂEþ¶f}|M&]©vߪ|Y1ĹÿäEp'B”œÕªÄM +Ø3ù&–áˆöÌ|M–1ñÐÕ¨BÃ(äOÕ]Bð¾YïÌGéÚ¤4‡ÆBŒÙ3éþ²Â•b)1ÈjŸ—~®Qk¸/ÞS ¨mª'dï)†UÐÚ8ÕÜÒGsMúbÉ4Â^ÓÀÐAT³vâbOüZ{)#"á¨MDÍ"ä¦ ÛÔàLšyÕ~æ•QMtw€ArùòYv‡ bosÐÝÓz/>ÎÁów(̼ËsàÂ;‰ŠC–ð—æþ¥»âd™Îp莻š¬áá’Dk{9 »D¤@ÑáZi›´aãfýÞ@szêv›jk_§(¯3Y€0#ŒYCÅQªÜq²š3ÊÛŽE¡Å€Ìw9ïZk¼ØþD@Ë êŸ:†à~B/¾î÷L›ok~yý2¼Ç»µŒìèp噓#S5û‰Â/”4³l-¿^ão—›ßHb‡f¹0'ñäUùuꬫfÁµ~¯…z6d…¸Hã ×­B÷”¨è'Ã}‰›¤-s=Yã8¿Ëæ;eûVb)Z¿^> endobj 854 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 855 0 obj<>stream +ÞÄœ&¥ØJ‚[Sú™±TÎúH²±Ì°óD š€ëÌÔË¢¼›æ€^)4 ØJ…d™ÊlêÔNcZ÷´ƒ\rDF;ÐÂûc6|2*EZ}õl¸‘?n<öZÜŽÏ÷¸À™²ŸüéÀ™Ÿb–w€CØ8r°ª3JPÕÁ$ƒÑ³B.$êPkd'Dà;7ÌP~hÿÖ¦ðLgä•{+áËÃçW¿ß®"¡Vµ¸Ï'茰•æ(õŸÃ8ªÐG¼6/h-LAJ‰êEOó¾¢õ­|Nbù~© —ÔŽöÕ¦YyÓ`Á²ÝJî‚gßs¯ð'41$¾ü+?–Ö<øÒ6öõØ3š( Å‘×?äõ¸²-‡=‚WG¾úΘÿv6…!œ–šj‰µF—‚ólW‚¡ûµ•Tið0 +òÍN½{kë¾3?`vFŽs×.*Š¶åjc…F¤àÏ«÷hw0Üüq;LÿÅðaÀeÆ~#ò?•B;3` èìRê~ H )ì:6£ Û}Ì—_ª‘p|[eª¤°3ˆS‚ÙËüö7¹rqÁbëAc*d±\\‹.zÀlã×ç¤j%ü‘¬Ϙj ™‘þDHis¶ªæÎ ¼±>·ÄëýwúæÒp&à=óˆ€Ç&køäx‹µ¸òæ3šCd v&~تŽè6ÑÁ!)T¬ˆ;i«Ò†±HåpjéÙ?wuÞ ”.0“ôZ]¹·?„é¢Â÷%XѸ½ýæ`«à(PHج¸iª­ÇÞ—ý(Ñù¶ÄÇvO˜ª#0¼bˆ'>d÷X‘n¦'IÏÖÏײÞgHíçL2€å‹8h6`‰(Œ%tcqäk„î§À¾ñ*A^¹¨ÔïÅ"øõÆuÝž +hÜ‘Y‹^e%ÚáÜÀdæ#%6ÜFB†”’àhWºb ºy´Ž° ü<” UÈí<¯Ñr¦…˜ø^Ã>G¨»P˜þw ’A½ÿ8[²ˆxŒWœÌÔqBRIV´ÃxÉaÞÎÂɬ\„s!|axZØ%³¦A2òr£€?à;bÑ Ø‚Þ~¼áä¬ð½Û ºç¬Â'©x¼?gÕÖüã)Û·Q‹K +”ØœåiìK+àgÉ$ë˜mç㫃Æ(ù1 u˜Q) •Æ¯ã‚+>AÓ~o8ÐDuÒú¶L)ù¾9Úa+¾Æê1u\¾cýþ,no½£s˜Z*Ïí²¬ww¿±_ èÈ H¿°š{|;9æŸuP:×9†2(¦[Ò¿ß7X’Çñ„qöEÄ›ËÜ$F# Æe®Hž<Š@ðäÂêÝ-4ì¼b©újÜÇú⼟/Ö ùzÕÔ(b—¢./…t +Æ U)kQŒ’ƒnDÌÁÍ^Ó¾âEœo²—®­Ü§×\¾ßˆ6¶’´¶ÖQ ˜Wer%¦»Qýε­ ÕFÃ>\IUFÅÐÎÖê||³‡ŒBC»«È§ÞüÔ˜\¡$ÚtÇ ¡t—g÷hë%%’£?ƒÉå韖6,„èTÉ8=Ãât¸ŸÈnñ-„”{!¶ú´…Zº´BòQ¿gÁÎ:ؤµ|žÌÀ_Ly”MãõÈëk.gŽà¡^ö³ÃÂë=]y×SˆùházJ…æ—ªæ0ÍÆ¿â¸!g}ò2e¶­NÓ”tä­i¸ØýŒ¸ždï¸XE„]ÕùIâó¥|VøN˳¦/FÉ*Üò¢?(¨~¡“1™‚ÿñHS>7ö»tÍT<Ó °Ž@Y. ç(+ÉïðÓ)(Ä—‹Ûÿº(+·¹„€–vr[ÚÚ<5E£oYè² úïüá8H ÆÀ‡k5¨?’JÙÃú>Kv|÷uL°hr×£¯#ñÛù"¯Þ‹5~+w·ÓIÄA.Ë1@…-¥ˆÅ} ^7i„ nºPƇRË€ûœŸ[ñ¬v©BMùäÊ®ÔË +êÅ”zפ†9:¸WjÅçu:ióuÑz6äYùì×½4çÄQ»7{$ÄŸ +/a8JÍ‹ £Z;\òÔRk"â”ïM^“Ì?C]i%ºœòh[¹Ü'ÛÆŠ½.ˆ »"}„v"Ö\¯b•¡¶±`GVz›=¢¸yÓ&zá4“‰óüdŒ¾9ÿ¯"ÝK Iåžø±hÁ"Ã:JI« ’=†ýÉá°cÂ^`5Å®ÕCÐ'W¶†¤êáf…Dùdð¯‘"o7«Âh™g-_@KÎP‘ÈÅ£HØYîªÀÆ|¬ Àœ›Ö-—®ÝÎ0;·"Þ1§ä5zA×;mt[ß:^8Ù#8øŽÌïé@ÍÚû¼+lÜ¿96¡IN¯Ü’Í­-‹ÚèÀùöõd·ñáºz°2¼#ÈøKµÏ›XÊÖòŒ“‰]Áu<‰´]`Ç™Îú¨Â·¦5iƒ4( a1båœG‰0Ö-X/À¼ ]qï"g= eG0äV¡wGEíA«‹tú¦››‘±"è0ÄM¢AVÜ3>"2ÍS +Ýæ8£¢BS~ÔV VÖ)5•æƒ+™àým~&æ4¸dŠ«@}x·µ¹”[¢j<ºšW$•ùC¨$q[®.þãÖ&G-D¾Ppã‘8=½U‘>M÷Oöuø¸‰e‰H7n3Ûò ½]Ñùw D7%LÎ&2󀫋Á‚4³ë¤Q!0«zËþ£ù© u$é&ï,%ZPOŠ;”RÖC¼ÿæ™Æ271lj±qo{ 0=I+™uÓxŒ´ò ÷#p®üž‹ã?¾ÄÔçl¤ëiê%Ë—ÞX]ÂÇ­¼yŸBn9 [¿Ô`Ùvéý§“·Ôyyô¦8:A—¿L:‘ WI}UÐgV ”óÝ™i'ëUà™[e¯YQÒ(¾z[>[ÌÜ÷6v uaƒC¯ÿUœ»ua§‡-C ‹î«þà]ä¾tÙ0;·Nú±!j•ßuêæ÷ ë˜îˆNÇ¿LU^Rýû¢°;/q-žZÝD€±&ðÛʳ™BfìoÌ„Œ^пÎÄ>¤î§‡å)üÌûù<^ p1Ôáüêì—žSž]æÝOo²ä-¨Óc<=ÅE8Gº„ +'$ðôô‘É7­ñ»]¶·²u}ñ\bÄGÇ}xꦟtŽ„ºŽ3±õ`Ö[;:™ò{^Fé‡æ—Bâ´¹¯{ô¼'½…ò„@vªˆa«­.cß6¾bVøMÙ œK(…û3œA‰bj·%û;>ª-8¼à/!=udX›(Øj…wcìÑÉh8Ü]hgüÕ¦¤Y —z¶uk\/3‰ßÌ‚Ê/²w2=X›i y¡9D0ò8RéQ,íLp—¿t¬7cp +endstream endobj 856 0 obj<> endobj 857 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 858 0 obj<>stream +©ƒb[Yž;ËqÉE;M¥~ì\ü6E׷Σ:gzËú³×›9§·[Îâu&œ~¢à)c7å¤8Èfw=«Ë†äèåxlŸçóXà ßšm0&ÜóQÕžZð•²ã™‘ÏÊk¦“Ä퇑À¾kÄUît66à¸5°w4LÒ'«Eš¯©ÏÇI›]b=¸ºe^¶ $3‘ Š§„^ZªíXkgj¡†µ§v¡\”YK+ÄÂ%·#¥Z$ö\)Šø½šdŸ*’(ùÌé°Þ: eë÷£ÓQÙØ•YrK0W?‰6á ïsljκk2¹n¹3X7W“E§îEq¼¸}¼òSLŒø… ,}D9ê¼!çËÛÚ=»ý“(Euý[ˆÅ<'ÐÿdÉ°ˆpZÝ +ì°^•­CËýWî@%¹"² +hIŒ=ñXÖ “ =«Ô&b8H•¸rEñ„»;G”E¦AŠÐ'pe-wêVš{¾@&j%OäX(È«ƒ}U!ó¶°ˆ²®ßÕƒ®¿à†*ì`W4Ýìδ`Àÿ¡¯\ÃAŠ"DGÕ»«»TN¯§|žj¾ŸJX¬®Å}¸NzÄg熟+81Rxo„b ¬ˆ7"¨v¯ÃIÃ9Zw¸„ÇþkbÝúX&qÓ-¾=ºÔ)ùŸ‘Æë#2w ´m·^ÀA¹Æ|N.Å.‡èˆ( „H€§ÛYÉßÿ‘6H:Þ…ñj¥Åñáî%çÁª(E¥§ö`cÎáGÄd/ÞP(oÃ@au–>ôè­xùes6¶IÃ〢oX=鸴oPìœÙ|ì\®¤8‚šfv¡ž)BùìHį8q® Òªþ÷œD¢=áì<’ Þåa›ÑsæsììïâÃþE,T¼-8Š2ˆ'pŽ€0Ú ™@ä|2>°ó?©$!„²€–ܲ +:¯p{»y©øb„YraÔ;-oàºo_ÎMŒ¥ëä³SÇ3}Mò.<Ȫõ8 ANê6˜dÓ„+&H…pÆ·r +±A_^®T VWÝ>Z™në@/™Cþ¾`ç>5úËór†eå-R7²~ù;r¡è×mOé<§9 +z°ïGg®§~þ3GLxñQM7Ú®°X!8°Ó~ +ï*C*À:åÒòûØL³”i¤×A›+ûò 脹$é_˜ÝÏäí}š +ë=‹x¶1ä((iu¡}ú 3­Øçù£Æe:·«ˆpVD>í¤sñ££MW%#†¹Ê/¹Ëªñ‹ôgÙ ôcŸqD"d-ØšÇôÎóýž=ü4•»EdÚKK ãº=§V@ÀÝBf.’ºÍ#+Y¨qËVCwÂõbnP¹¡}=ô[O´&;ªŽ§‘fvB(ê•¥ñí›U _›bŽš.ø‘á}m3Þ•AN4?R8øøΠE6žµcÁOt–ÔGML®m¬Tã …¬Žž}­<À¢”¯ š‹Me¿~÷ÆêÅd•‡ôLb‡S ÕÓøKqëBe <ë-æðS g«z¨«€ýª{®®ƒ¡øÑs²ö89mÊÚG£þsãÐ{Š”ïtÃð%,x eY¬·«‘1m†® ¡äRo+;@ñ> =ÈB–RÊSE)Ês»46VyõUò…»ºžEβa$^^7lÙv££BÇÃ/П߃´A,Ô6eK0°©»B#²äPÉ„½¡úäwûŽ­Âþ—.µI=Pð%5×.}î¥ÆÒŸÞ‹L¥ÒÈÃbt¤v!ƒmóS ²æ­)½g w`Õ•Ä`„¾µ Ælæ&ðê¹ Û‚UÀœ$¬Ú.ÚÚ”ªŒvX›m»”.} äv—ŒA¾Bs¬ˆš„¦¾™|%ˆ +Ù‹­È óÏÎï—S6Í8(s«³PÁŸgäñ½x.Ÿ=5è{Ñ„¨Õ#¯°ŸÌƒ?Õ©³w+1 ¼©týåÒ.;²GöÔª ^ÜLœpÕÆÁØÅeêT/”xÈ HJèÒ6aÂÍ@*VK +Ä9–Lj5ér`/ÖEQtd¤‰ LhQVUxøðS9’qW|¸\Jñ à]œˆBìu°‡>›˜Œ*Ðÿ‰IòÂO2æðÐ4ØôŒˆ¹G@/‘ÉžxŒk4£&ÏÊÇõ ñ”tŠõç¬ÞâKr§“4x¼~)ˆÉ«Ûb.ÐÜÐÑʇSúrJaÚ茧rú!iÉd*ðg Î~EÍó:R JÌ"‰*Øé¢lnrÄžØøÕ9y1$¿µ¼‚Ú¨CÐÄr€›¤ºùinkúFÒcªÀVƈ›qÉ®ï®\›~1êº|{“½¤ûZ˜ÿ§šà–Ô‹’o‡#àˆæææìDóæ°&=ѻْÕŠ-oÓøž«VC/g‹…Pø‡]òÂDUIÕt +¥Üo}"ð擌˵Œã™6›]œ^Ñž`½Ÿ«GqÀ” F­i˜)X“N`ëo¦ÊüeHµ)²J]&72™¾Ì~£ áê 4?Û [Oí±.Û$Ä!ûïA üÿõÜ­<ï²øÓ‘a¯‹º. /{£’»;L€*6Ù6ËlUÂÖn'Ésb.Õkq3¤R2GrãBáwå»Lgà„åÖ6ˆWn§¶Buþƒw§ g:Lº'ÍÛÞ¸`Q#O´¿äIKÁé*½5ÊðÂR_Ž™ÙF\››Š–ÈÒÅIóÀqÛ % (*EEL•ä‡6Àm¯x³í8¶mØžFæÕ›µ&§"£ +%ç{íDÊ‚šÖ¿yºæaÑš0BýÄØÉÔ±9ÍóÆïV³±©y ²’Ž¤'Eèº;]±®’ç/3‚˜ìº¦4ŠþjÿÛ9m¯c«ù켺H9ÍI"Ù^¢â¶ 3¹qÂÊ,€¤Bù½†ð…§K®J{ +(ÝË!Lñ•7þ =ïÚ,ÁGD8Šþ=ÙbWø¬~fmxhh¶µ³ùçƒE<T€”ãL)d~þ|uÕXÓæÚƒ·Ï,#\.Äúañï–÷iÇü„­œY‘ݱeÄ¥l£ü dIB‰—qèOå¼ä»ö(0¾åÌ J‰+ڥݛÅô¸’\ ½˜ÑÖïCå»IfÈlžê¦çW©á|gñ‰ŽÖ¬¦.ì߶½ïp¶þùB/ÙžßaâU|œn45ù‘ýàØOJÛbŠãAÄž6qj÷9Ÿ©X,^ùPJ 17˜•†Äòv«‹¯Ž¼MmP¨>Ï0y-q%Y%Üäã1á˜J¿]N<üƒ¶ ¶9Ä/+hŠA3:»ƒÂ¨9Ù9@AÇ­¦îY]J8÷y*$‘&Ü]^H•{ÃT;åò’@t”»­œËÙu„|·z|"êRV?"ŒRR…cç´(‚8Ím=I™jtèE“–f÷J‚ŽMˆýþ…84±DÅéžP™v{âüÁ0Gï!Ï6ŠúK(……½?†iÈf¯ñ£ùÊІòHto¥ßµ÷ﶋÎåÞ*Þ¶´¤Óöxdœ„<},üžKNÊ<ñî†s®ÝLÏeÀ¯\'CdÕŽ-¨`Ç?æ°ÁswPhž3 ÌJFض±Ì¼Ïjb¨˜•æ¸‘yÞ£'„»7@b„:úNÌ7 àœÒèºpÿ¬‚‹`z0ujÔ˜ß721ÓKÂû“¾iù¦x<æÞ¯¡Ía¶ÙY+4ÏÀ “m£—<ä1š9Ìw†ÖÔ¤U…/æD¢§Üµ¹µ~0Y+g‰üe¹Œ=tw+lòúy +|!KvM Á“ÁJuq)Âéí¦äNð?'ï\ð0ÊÓJG„=5çø2róÒrhÄ ýRûµËñ§.óo·UÎÖnÞ4ã­]GÛи±ÓÛê>h^B~–>G¨6É)†ŸùÅè„|²5O°7߬DQ,éÝãÒMha^ ÙLí|¤ž• ü0Æwç#íOêáÑnq¡µ%ǧ”1ÑWŒMËxŇQýý[Ž cµrFÌæ"SO5ÈÏú,P¥çºŒu2‚‹¾ì"È “w€û£tÎäH6­%Ãæ”ÀÂèÄý Ȳ~e»‘©ÜóÇ&ÓÙ±Y‹¤çE)Eâëó“þ&kæ5q3¨.0ÄWŠ©­2âø5v43} û¡¡®±’¬Tú]aÿììsædh^.ÿýqÛßûg£I MzDþ.êÚô£å2{‚_ âÔ°c›¼š@åkR—Mñü)I«mª`V`7ᘼc{ÁZOCjNÀçøÄÛüÙ‹¥œÖüTb¬C&¢‡yÊ÷ù™‡9t`þ¶Ò0Q<“ÅJ º«û>.Ò€­°‹‘H€* ó +þ­þg<¢M¼IOÙd¶„$ør¤_.…C…FD~XÑgE'€¥©3"Q©ëZ>¹0¼`ô+·@†ˆxvE u¿ ñMjÛÌ wlZ ´1A  ‘mñ¦b]¿·-Z£3á¦þà À¥VàS® túùu +}0ï–üú=Õ×Xg8ù™A%4ý§ŠVþÎH£$³CâÍî#"þ¨™ððp<A¦ ¾‹æþŠ¯ñb‡ÊFnà¢ü£PjÝNÕ ƒ}¼`D=[§Å8Ðkx ¹rüeiEÛ“Ö}•æ£]¢kò=¾õõ‡Ó‡½}5{#C1&G”ߗ˺ù™ÿXZÌ.*4]&ï\? ÂX¢0Æ yPšC>Á…NfDî7-™NXƒ–ÊpÄHýŒHþGùÑ®ZTùöŒK°Ìæ6æ?Üäüƒ9‹âc×]*Ìv‰y—&4½k½ë¶@ö­€Õ9^VOyÔ»Ä[kÓ92šG›Šì`ƒ.ÅLl$Líì¿L±#@zsóÿúékXBâÛqîõÅ£ÒIŽp©ýæa¢ÃŠ ‡ùËúËPo-Ï +M¢Vo³¯%f¸vÞ¢áPN‡Öé4L®b“/Y=cÛ„ØÛ‹²0¼Ñì\Ó¸& S«ï~àTƒ¢îgðà oÊ%r ÌúÈ]?·vDšÁnËN2`/¤DÉ7N7ûàÜ÷z¨i7”Ì$.çÿ¸c}Š0M•g‰Ò僠"¸"NFóEë¯à€jûLâ.,&OXU)€AV¼÷Ú_°Q™7Ñ%» N½.f€/šò®üñ"Ç$¨`-éF„Âg’E¿2„SyMeT('•v,n9åÃ]e]“D4…L4SúM‡¶ `‚55#³/¢zlqᘌƒ)æ‘Ap¹$—M÷Wß Ppküü»‹¸DõÄ“[`Þh*ð>²LÏÞA¶‰ýÀ ‰±œ|(*ݬ‰ì¼éF°¼·¹ ƒÅã€ÙŸ„¼[˜¿;°}c% RBì)KMLôo³ƒ••cý{§ß^Î3ù~êךS†¹åÐÅœÍy"¾-¿©˜Ú‡x×Ü‹«!Ä:_â9Ã^ü!‘Êo8üvW3¡$´!àLmÆÇ9°™UÍLtÞdò]^ÿ~ÿü2Q©4 Üœhr¤ßˆ?LŽR¡¢¶ö¥ßLy=ï0‡(2PÍ ptEÜ·¯jL®‚ÒµAy4R•Nû^Šª¿XLt6QÙ:úvŠ¶Ø&J`—ò…¡8OT!Š˜ HŽ¤ü§KNE®¼¶Ž3ZÄÄáYùä¢| ëÕ “²" KU]fÿWÆÃV²ó×õÂrÁì¬}9|w@ I€tà8ˆ{;VI‰7G òMvê ¦Ÿog3ô¦}>×ûm?2lÔkLÅŸ/ ñ ½µý½3xº idsÐj…ÿ +0þ›ÝòT¯ µƒO ƒ””@׋/ìåz-õz~s_ëÕçq+ôh¢ª&ÊJÀÌñè%}Æœa»+g8=šl ÃUÉá &àcÚÚôð…à+×ó>ò qÜÑ@îüAtž4Wi[ŒŽÁÂ)'W›Œv¦Î÷±òJ• ³þ,õhJbÁ ¾È`{¢îXXç§ɟùè噑ÍÀ÷¦~v`S߀o³}ic£rI–—Þ»'Üɔ±*•$Òä¨÷b~µŠøk½¢Æ*¯·B{¶ªðJ€¹m’Nj<­ÊìÖù¾iGWYGü6êÙ€»æ»ÎÂËŒVò£+ +Æ[þ< ãá*†T¹ÔïŒ;ü¦Y9{-ÂÛÓBÕ—Z5 S7cwƯUÝ-ó.Xï±J0yAÈŽìRÁçDõ÷üÁѬÝ$7ºŠ·÷+ a5N3ï {.C_¬ BÒI–üsLÿ:>Ç9£†VïðàðÑo%haé`ñc6ÀM¸•.È2_$ív€í›˜Äȶ£"R ½Ÿ+ +Ç»'îY…­Dƒ–¾?¢i˜z¬uŒU„6øjwâ˜N}0íûìvQŠAùÕî0V†Ï#À£EÒ~ÿƒøÆfv^\{äÍÁ@.º…ÛÚˆä"@0-Ü e_¶"JÜ’ÊoÁœƒGR|o’H䉿ø‚îþiIX…ƒmRÍ­×Qzr¯ +Ø“©íê)¹&ógC9šz­Ä¢w7Wû„0ÙÔuµëJæV±‰T0ÕPH åj›£°yÄ v ?íbk²z õ&Ûc¶j†ùÇXâ@®*¬ì›>·6»—VèT„¬æº£Ã“­»šÔ›C"ìÅ2òR`ºöªéÖbƒWš•MÞå¾~÷þÏ/Y¿Zœ¯‡Ohd'Ç¢°VUÊ´`Èx—Ñ+¨kà"or Û‚íÚîÚÇa‹K g8ãysãQ½Ò€CÁí¿ÂXïæ™Ð€‰dºJ¦Êã¯Î#(†kØ›G«Š„F¼J/èv<§¨1ìs +Im„è¢0ÀAæf¾Þ>úŸ±÷ÇqÉ»ÚC+[>EÈì¿dW=µ¿ãÛ³£*ЄMb>ÁY%…yU]8(z®ˆO M¶¥wðŽôku”3*¶ØE`?›ØÌ1ÇÙ»èÝjô’’’gØ +£—ð¦JùËYHŸ0`.ÜhísªšM[$áq#ã{ «+Ž–þr NŸGöÂ\få¡…{ Ê3,¿ àÞ?y%|€ëП'ç50¹r¿åŒKž +±µušÑú /piÑÇE÷ó9I˜û€›EZÏîPŸ?$*t3å½`C¨”;Nm¬4Ww×ÀÜ:]Üâ «vËö*œ9浞ñ$&¸Ôκ,èºâÚP[Äâ®”^ò‡ÆŽÑO›W?ðÛ‹Ó(´.´0 tiÒ ã7†.³²\õLªEOÚËÑC¨N/TÈþ;‚dÚ +ØVz av½óÆÉ"Ï´êàÞ83ÿ¯ ÇáBa›” ¼2² ¬hÛ ÝÉsiܶ~»ÂÛßÔ¨2ûh„OºHÞ ¦uÑ®×õ{~¨¥,N¨ZTÏ?%\/¦”¸ÀhN†,C/.€ +Ò2ó“ÐÄ<çûmhZé žê"ê †£èYY&‘`ÎB…3?î#(¡]3 ”\)•`°g™çÆK¬š €”žÁÎòø&Ul—ñ §mžÌ?õè뎩ÆdÜgü׺Çͬ´þj_¬3Ü«D[ëÀ=¹ ª4«[§dkm¢ ŠˆL;ï8ñuèï©@ñtšÏHÇ£ØúДš:œ@'íp3ïu'@ G:‰o’Ųè8È;Ú€óúírG¢QyÁÀy/¡&úÖ™uzvö¥œ`ï÷Ö[ú“™3b *ŠÅþE¬å½íüi…A‰`c¢lÀ‹&rèȱÅÌluzûWD6àdz&ÛÇî‚Àf}}ˆO¹_A9 V sÇÆnî„“‚…JÊãûÂy.!©üï½ a'º¯!­L±óŸë´Î@ÁŒ—ä K À~^Ð]ÚˆÚÆëº,s†ñ•¤#¹üºürO kké÷¤“k†¹d:4¦P”"9CPŽ¾ðHF¥rݬúX¹-x ‰¾69&Ìîüšäçãº#Ò\q¶a§Ü‹þÎd4!å„"CWI…€n•¼á>#Þ +ß"ÃqÁÚÂ4|Eöhîò-s<þ0%zËޙܩËëŒ@Ò/x +wXúvŸøB8WFP¥‰¹'ÄÞ1ßî·MhÌzXîîG¤y˜Z]« -†ør¾ýšã´†ÄÝ襂í†N.úÛLÀ/I¨žö_¨q#ðMB<Ëôü-ÎWÔêãðóa~ÃQõ’»Ó­U̪vÐNð©N¸0%ù‡H§ÎñÙÝv‘áœrs:8¬°OeÒàÛûÜJçä/ËñD•Ÿ«WØ'ø‰m_!Ó§@Ü +îéId¢ó§Õ³‡)ÙŠï<ן»oüÁ‡pûó0ô;‰\ …mÇmµÈ½Fç•2¢“Tb)¤™9*ïY¡à{Z2±£#ŒQk³ñ;ž®±²'E®‚þº/z·Îµíé¹Öp‰RÂ&ä#ﺪa&gªº{$,¸«aõ[tv,í0U]ÝzÄŠâà‹µhƒEöl9íè¬é¼"‡¥Å‘`7vE(ÙÄñù„*däÃO&.ÖIv…E#8üi¢®G«7 ÿHÍ ÚÂ>¡ß ªˈý[º-®Šq„[ã8â “ç›~i%‚)Ø:£ž&«wÓ%_NNmQÙ‰P»¯¢?> +½3òÆ7Ó_/ð ëË€»‹c¡^—3ϘnZÞö,ûgÅA;a:³¶}ýÒ‰¤Ì6â‹WD¿óœÚÌ9õ©J‚=<”ú†“I逭¢ÅžßÓ×ËþŒEÂgêâ¨ÿ·å®Åз‘ytžºY­» Û®÷­ÄÌüšUf{Š¤ Ȩ;‰ž!Hÿ"ý@Qí06ÔXøx‚†p£ ¦\ÂàSž=|“C$hòÍeç„öP30œ^¸)Ì÷mÞ\FÕMé¹B-CÓÏé ÅF<úϨ¹vlÄÀµ¬^ñ@S: ®~"9¿â»<öJ|[ ('Ä­:¤ß7Ópùm ùPpDßÌâ(õj!†1oÂ30u>”;D+^™fh±lU︶¡Ñ”¼ÏÊæ&›˜$¹‚¼¸’V¾õ@ú +w`fÃ;„Ì Þs”ã0óu#g ЪJïF3I¸ u·u«†ÙZ‘ž0»sãÔØBæfïÓ…jëa²Â¼_³j”Cžl–ûdóÙMôƒݬ©4§É»ÖºÞ¼#+ÎÜi8iOzYãì× ‘¶žÌŸÖ×t¶ªm·cú› ìÿtzÊÔ’¸ÁÀ;;«=‹¯k8È×õÝ/òB PÝ¡Â…—< Bdzðgå ëÐS¦_¶ßy"QÈÌ>ºWSÃû:"PsE!“âæk÷‹Ù° w߯Õ8óø¿êum5®>tê„l‹Þt·õQ(6Š|ÞÅõõþ _Y.órº§lC!V\X×àtßÏàŸÜà^ÅÆû*<,>nßã#¥3dÚÂ4 +»_à"ë×ê¥y5¶¨#Í.Çñ:ÒI©³¤÷ý³jüÁÞæ®b´4¥ŠÓC¬~æßô…MF‹•©Ì"Ëg ïTóý°óB«›·ð‹é­±ø…’¤.y ‹í‘Ÿlá ¶íyÆ‘`ûùªð‹”sHˆu*çMÆ0e ‰nÈn–&>²3âÙæyd±§¯©ïú–“…B/%SzQ^Úâ}pÓ“ä5 Ø“>Õx¢ú…6Ø> Fdb…Çí¡ þø'uéW5nmÇ (DÚTZä«·ûø럌¢ré^­/?ž'0Ó¤õ•ÔÛY íÈ,Í•ßE|5€K AΙ‚q?CÏsOËÍÊ4æcuJ_L0ñžŠ°tæôZ+ë¡ü›´Kõndב‡˜‚dmÃ’~ÊßpoÜ™½xIÊAúÔÊ8x‡¨ùΙþEÓ¾‹»cBiôgl´ò›ÄCYó}e"ë“&5¬UL¨î’¸8ñ9©fcãZ Êy±wŠ¸Í‘§ ´ðÀ[óÙ Q«@û ÊºñQ3ÓNçelŠgi=MG\zõ½šì;Ø¢„3=0qÐl°ï„ºÊc”ñäÇ—Å[N+Kƒ©zÒË>s£wçè¤~í¦ÆFJM+ë[ö²¢,yÕÄ<3´Pxv6zöY3`ÀtAäDš7‘ZE,RÖ:iÌAkÙIß) œ µÓmi¼ËSÓ€]ÞñüujJ{Oø½ªË‘o¼ŠJеL¿^¦¾®üHì%Ðx¯búÆc>ÆÄ„÷Êry\œž$‰øü¨š†˜Úžé”¼usŽ ñ7š Û vÈÐiX +ŒA˜3fEþ»N¸w>ésü|ÖÑ ¿ÛÿM÷œÿÿšÅo´Á2 èÕ±:ÁóòrqGI6hj‚Îÿ>EB|fšµ+ÊRG +endstream endobj 859 0 obj<>stream + ¥®–d5â +endstream endobj 860 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 861 0 obj<>stream +í4m̵³AtË!­5ä4Þ3>òZÒ œ®vÔ™•q'¢ZŠútû÷¶U¹Ý=8Ü‚ùÕä%Õª$\茉ºÄf›û!xr¥ +endstream endobj 862 0 obj<> endobj 863 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 864 0 obj<>stream +²zLõé×Ñs3M l,NRÜÖM ®…¥t4ÿ*Ó¡#Æ}3Ç)Xbmö{×v8ëµVPïâYÖÆcš"ÖÑ‚ð‡ _²F¼+:p:°Ñ8úÅlJ=ó)Êyc¤¹|^ȵܪ2˜<÷›1œ—2¥=S{$ÕÖ«¤@÷çWä¿.{»O¸”ÝGzlÓrøB?Žy™ÒYT¥Î(í'³{EÍFã'˜*G`ô|¤sôX^©À¶¯ÆØù¼ºÌÈÜàìQØ´ +Cb¨Ë¥Tâ`…ƒGñ}T–fÃáŠÅ÷[w]YR[6^aéãºó\ÊpZ‚«A„“;ß}8-è;w¿ãÈÆØ ÈT Íh9£ÍY©o°Ï +qøá,Ѧ}.³XZ…¿;}jð„·aÙÂ}Ú!Ú¬žG$ˆØ=g1'êéD¾oçxFH”šd ï5vR*ϽWûñÒ,[C«zæŒ;f­3H_ ö?u»û›4(RaµkŽ‚²[L©9íÎh©«þ»ßÑÞ ‚Á«á(Ëûµš¬':ükA;½Ó”J+\km=ÜÆ0/uíL7²2šÏ›Tíêð¯X#áHfŸbKÙ,?϶’9X;á``GPj|ñt÷"4ˆ>Ð"¾dIé).ƒFãþÑ#ù|EáL1Ö—¡Øp ݤ¹¥eÓç›sÉD4+Y¤›-`%XÒy‹SÜ‹võ&¬É¾[hh"¿(Ê ÿऴNŠohüHz-.eI/uï½Ó&èËÁàop袰*F6ò„Äë¸ÆÔOaå€õ_¿ñ'¨€,/ÀxQñÄ£e °ÞÀž8(™ªÊŒ$4.%}ŠŸ8·“"Pµ¼Ç‰ÕP.ñÂFv§Òƒ#­æ¡CÚ¤õ>z R>UGÑû¾}q X`•D±UÑjyÈáê€ô´ÃW4¦˜ûMž ]Þ{ãÚN6pùrŠËÑÖîžiU*Sƒêjñ>qÛWd3 «]ø+:{ô›Ÿz-¡ ´ðålPÝ9f¨·H]q)Ä׶îý.4hcÙnÁ; q+jA]Ù±eÈ}4ÓÂB–Ô2ñHª¡}]Ê=®jµs½×gxÒ09LñIJP%42÷†žDð%qü¼Y‹Ÿë/Lè$‘ý£_E ä’cp"R¸k.ò±ô ù×Z¿Ó‡{5?§,HLÿã’‰YJkVfžù)‚x–ø·Ë̘¹Ê¶ ¯$Y¾OµB´€ä³¦œÔÎÁˆÍÕ˜dês_g)ÅMí¶ÝÙÜ‹Ç~¢Ì‡Ó|¦é+ºÔ¶Z-C €²œQvtž{¦¼4E~þe9]Ü·2ººÛÁ)0¤å#)F~5­,>D&Ô+èaŸ”…ªùK·+ÁG…á\VÌOïi%Į̀<@a¤=툩nÁ!1ä;ëuN£ÑÜ}h³Ðvp*Ò>îˆùå0eAÖêʧò˜ UѲì ö·$þ¿z|âEÈb©„iÙÑ#w‘»M`Vo)ËÚÝz”°wßÙÚ~Ù\HÒÔ²D©½r +ÓÖåï´ge„Ï€B¶ÏtP>tÐçTeŠvQy£Á‹ˆþå“,®–€cT7€N1u³Z·cn2·rÀÚB æjCÔ_­a³¼ÀÕéî-K¿¡[5y…vµ=ý¸£žãW$€¤»x¥ÛþAí‡Âîm$É~ðSñ~€÷±øŽk{)ö%õ­˜7ì–baŠÛ/DïÁ +ÄǸ~úk^ +VP*í³_±#€Œý1<~UôiR$ûµŽ ù6gÖk»à'>C‹Á€tY¸j‡§ÐþÒ¢dÕj»øÓa‰˜¬×•æ½j‚œ\ ô?ÒŒ°Záv'euxRN‘›|u&ðÚ»i1·r5f(QzD&Ža¾Ä}­>…ràÎ\e9ÊÁRËú:þbU׆ä¤ût<»Ÿ6ebC)‚!–ÄÍeç·q¯ˆ¤©%Í°TóÜ T? +ûßývfï•;‰6‡5VŽø2¡›£èÑâ?ö¼*Bê.¿S‹Wnˮݵ'–Paóž5²#\s;WïþÈK ÙÁY¬ÃòWÇŘ¡],˜ž¤ÒÃÐIØæc÷o ¾i8•-ì­W*ª ö¡1Ì%´hí‡##ˆ/Ç‹Èfí§¡¹Èÿól?„]$—ŽM_xÀDdiýèU<4ìwMÖ»>¤›7"‚•8boл†hFݹn¨ÌÐ ¶q[çÏ™HTwȧÙÕ©G‹ì#z5”+ÈoÆuåež½ÉÊs*sEO§oB©²³K–µKßN£ô:ÌѲ¦r¥’„y²Sñ¿¶ÁM7Û8E±4êd§ðè6…³ RLªļ¯Vb¶ÉÊ…l­e3VB¬?O =ð\TD…'à'Û éÎUÓâ ‘;=EŸÿòåõü€‚r‰wQ¥•²ß  flCè[ Ï‚‘º„qóÍFp”Ε£Ùët¾ªÄ‡š„3„h¡ˆ_F³¯ó(}Ïõ·]Jª±ýòjO¯Hô ‚ªŠ«Ä§•-Ñ4M'H¨cd9¶Év·øòsö›Ð/Çf•.¼B_úCæY^·l“°ÿÈç?¸·)ˆHÙ†|sˆ)s’í4M%_'<_"Q Oc×QKÑîÿ1¢nhŠx†÷—òÁ i£M.¿ØV]¡ì§ˆÒì:Èž+w·þ;\W¹:ÞZpõAýˆn¸@srÍg¾ÎÓÉÝîéTÄá­rƒA>¡NÿžXp& 6Ò5Eiæ»Á÷1t׊j:Öã2£î:?½¬¬Žþ­¹xÖV5¼ËÀ8v ™%42F‰‚H¤ÅÕb"Á¨èÅ—Ã?©'{Ì­ Õ½ŠßÝ-o[|æœÎ'ÏŸß{¤up^@ŸUCí÷÷¼õL¯ +Lu1u%èT¹˜ª!ÔZ²Ü ß…“K’ì¯'qúãÛbÛ"|~;ÏžÙ]Øö‡ÝäEeª¼?õ륃½Ã,•8.TŒªý›p¨U's©‹/hØW•X©3\åüËÀU¯²-lŒZ"ÂÂß»7-Ø"<:×-7 0v3É$ØÌ̪ÝDÁ‚?»Ý‘<àïLÎAÍ»ˆM>P" Ų=šÝuNWLƒ ~#Ï“}-ûÏÿ—àýÞõ„æzSþêB/¡cî³1ÄÌ*òÛ¸Ö|x} áãå•šŠÑ+¬’FÔ˜!Bg8I„ͽ@:WˆaÁDýºà&sƒ‚:©o‹E} +O4ÉJÖðÿ)YÆû”ÄSÉd6p2ä §aõy¡†Å6±›çøeçKmÝ•3Õ”¯JµAb…!#±ÞFN£)d$Ÿ¿Sƒ÷O7²ò¯°`Îë :¹ Á’÷Õçɹ¡;ýâ”Û½I¢?Ü + ´ñc%êÊ%*Qi–iªåÕ³ÜÂ\ˆ¥¤¼Zó„àÁ¢!Î{H €ð͈¯ +Ë,Ï{=.,†Š‡Y’Žhgh¤`±¡‘®ÿzâ|‡-ÐVÚöo4L€í¸Àþéoy¸Îú&éMOÄÌ ,êóqÿÃÒÛz?#†¯—è8Ò’hr‡ÑÖÍáòüB åÔ*N5±™ÜžJ} ×)&øTJOþ©M<&§Ù„zêb6©l½€[Ÿ½ë½¯Ï¼ŠÜ3ö•{ˆg|O¾Ì,ñþ¾fýZ †”y؃éP­¥åÔ/ö*{ëÙwRvÂÛÙ +Ô¦Yªo$žl°^,CË6žŸ|V“ph—»ê/±•±¿A°œ›GÄ?’-6 +¶wUœ¼£+l½w–Âä‘b’¡!¥9Í3è*©Çh§bŸvÈd¦™Í #Ö w:%îoð­£Û¾b ‡·nK`չ惡§ÿ¾ ¶!þðtÖž9>©h¶7°œ$† +Þ5°d·'ý¡HAæ›Yš›o·óGÈ ^ýÙšu?õ(t­£%Ó=µ'·ã(äÄ?ë˜ +a‚Cï4ÿº+’Ò/”¦ˆÑDc·ÿyœÅŽ£­<.†Ê6ÍŒ:dÜ*FÔ.ø2W<7Íuï>„ý`êl\ï^Á6T ÛµlOöõ±b<ñgñ)¡JԙߺûaÞSxÞñö©X¥[©@$I·$¤¯‚¯yôSºîUgVŸ´n +’õ_’”ˆ(g÷]Õ¶ÎÚúx.ÂCó|s(¸1bæL|x ÿ÷DðpµáõÈðtYN'2°Èðaaf³Ý^žŒ5ï¼Àiž1/Mç%‘v –(>kæy5êîÜ^~Yä‚P®åm BGE€OɆÊsOš½“XÚÈ¿£ÝÖ¬"¿¨ÑRQ†£=òηNütÇ辸 %æœl,øÆÑ æ{þíh9o&>¬ù®³\!U¢ +\P¹µ;Û³ùß箓‘˃Mw§@}}Ûç7ËF†ovÜ·£®æ|öýÍ{{KÓ£ýË×pþH~mÙëMÿ?åboÍÎ5ÜQïr^̵PºÏΰù1]ntHúáeÖ9Ü|÷³Ì•__ÞoDð ØB#|Ÿ0•FÒ|Òq#Çd˜² ýÉ(§¥×oGýL÷µ‰ ¼ž¿¯“ØÂb„¿Ë Lö3e +ëê$¯HˆdÇ­ >‘ᄼ&¹j„]…&2‘” ÆE‘qqK5ßv/». ¹&‡Umy“Ô+)ðÅê mÃÊW÷ ÛË%¦ÅänAŸ{r9ݨ]Ñ +e~?¬Ý,Û‹Wä‡8ÏZÔÍY¶7ØÒ‹2oÿY‡ëâíÂÐÈ|:ì<ùOã•3)S‡4¶:2¬j3:¯š½$g¥­x(þÀpÿFÓ®µ)‰œLìÔëS]+úÖÌÒ­~³3g?%«nñ´àKZìp[µ³ÉdµîÒC%Ρ0×ùý­ Q:8Š—ËžÕ¼óñ•b.)Fb™½ ž½GXi€‡Ç@àó‘“ëȧ¹\´Ã•X×Iˆ~Õ +lƒˆã"Š45¦o–×;ÍÀhO/ðàD_ü[Mèm¦…œO,žµý¿ÚÀœâ%vÔA»~EÂÂÿ“Ž8}hJ¶W§ôÓ1i_¨¦?05Íe©ùf’ldZ€sG)aTû岫ÑçGÖ‰:ážV¶¦v*zenZ+Ÿó`ÑœÀ©XÛpû63‘ÿ+…z©õ?ÐG" 0Æù¸ä¥ +/ÖqQyäÛ}ldS ?é§:qÑR§“×Í9#—¥ªT§³_,Œô=ۙך/(V”4+2±8¼”5|Áj¡Ä10Áòò9Èú±öŽaYgªU ¸ÖJS= –H¨THØÀÐEíJ‘tfêHO„Zv­*¡?ùÈ ÷ÞTx>CC·²%Ú,ͺ*HËÙ›«Û ä¿Ïki|WgûÖ›±Ç{4ð·?—‡/³‘©H=³ˆ˜7EA- 'é} s£›‚; ûÞó², SEŸ¿Û˜&²rØøqþKV¤@¹­u/ NØ@ë`ˆfÓmç×´ü™¶<ØÁUÙyŽÿi$¼%Øw.¬|v×dRòÎͯ忄1Aàò¿× +“)ëz†®Åka*ZÒéºMŽÃçíIE¼6EÌ)â0jŽü@ÍjO¾MlýHE·³³tÅçT%h{¨-W†ùØøÑ‘¡øÅ-m DhÌôPŠX½‡Û¶»æ`¯†ÏÐÅ#ÆÍwå^^íÐÏÐ!Ë7@RšL,rŒ…-üŒ^§4!YNåÞ_&û÷_†w\ëh™˜ +º|CèZ…š©~Ò²ö=4yÓö ìp—ÅçG<•û"óË™›8ÁÕã,ôÅß\ˆ«‰›[TE¹¥r"!àíœN;¦‚ìßµª‹zëê]Iy1‡cö£k‰”(¢ÑÌéz:EÀ€Ð¼bOÃKZ1Þ–1ÜÝmº¼åK*J÷ÊÒÓßzõÙøívÉÈßkØ@-°Ç7Õ<ºèƬ“E D¨ùDÜPdßXnù;š©7%¶zN³[¬øeeÇÿæwÌc¾FÒœB/üwd_E’Ée/ £çM¦OT4@\~sD¿:X’âCº«*€£¼ÅœÅ.%!ÇH'êÞ…#ÒQ­Ì·¢±8·¤[q’æ/ÐŽ:g|‚>óß|p“¬V,–zˆ™“ÚWÝjßÿKZIJšÕtù#É›°¥xð‰+™;× ´BM÷h›}ŽYX¤×Ø %Ô.ªúZÛå‰ñó»'·,µ­Ýi1 IüŒŽã†e3Ì›šk]Þå‰ÃjB÷ž;Œ.«ä ceÁ¼'Af±=ÌÐbê=j^€ÀŒÙÌw~áÿéÖéK&o&bk“Št"V]®}Œ%4ÐyŸæ½UGÐ'œÐúd,Dº)´8ß%Ä®µÙN­='€8–v„4~âêÙØ8O*;GºŠ>ºÃ5N³ÿ83åꂔɬˆHOõ·¿m°%ÆÄKñž’í†mÃ¥#•$x‹©¼rhØ$¢ˆ¿ó x¹4G_90!θæa Ï_¼ZhLa óå¾›Ãú€ƒÌné½”˜×r‡Òü“uÃáüBòVKr PqÓN·WÌÁ9)qßmÓnµ§ÈŒP"lÜŸB¨[UHÛrJÞ÷`¶adòìκ`±?~7l « ‹¢+ÝYVê÷ÛˆßëÜ z—­Ó•²Ò¾ž#ëÆo¨˜:ŠÊÛ.÷åi³5þÑÕ5 :Naªé;;Âî ¨ÞÞÁ¯`¹™0(ãu"ðaü‡äÙFnñ›Õ{¨r4p!îTylü: ü·t‚ef ~¾ÿɸ.׺Át¹O!Xù O—ð7þÕ‰í=£«½¼‡`_ÐÖø÷+?Ík²¼ Ø•; îõÓ+…;â“ +­”[‚u}IyUÙ|„cÃag „oK‘°´C’~×C”h‘¾/aÔ‡ âLj'*SA‰Ä%yÍ;SAk³Ü +PAmñy´Ð„Ãd(êN†]V ºù…Œ›u“J ZìwÿÏ¥ ++¢èÇ IÉ%IÖƒ(”Hƒ‡¹ Êbc‰á8b0m·¯‡ÊuN^ æ‚£D^u+ÖFâ"ˆ2§8+µ]l<ôø^!>ôƒV1ÃÞ¥:éS¤Ø´ºçG°Ï¾šcMø!¼d®’Ž¸–)0s®”~QxÉËì™XA ›[®Ò—aä(î¦k͆³<ÌòÒ"¦Nklµë®£\'Sú}Æ"…EŠtA¾@Àê€_TµËð zv)… g˃_ÂU÷’³Æ¿€&Ó*ÆHrÕ†}¨+ígçyðâ˜7¸ñ*°JÚ–WÔ›\ãìýˆéot€.ùf¸bž¹õÿ7Q[3‡Û]Uê2&)•i–+8&± ûcC@k¦fÛdM¿©Wþ߬CI…?ïäLj.yfѧÙÂÇüoè{Éýäzîþ2A)›\™Êð†üä  É¡ÿW¡…f¥úî|_¯$ÑËå9ƒašèÊ[[/ÓñøK Læ åµëÒ·Œƒú7ëÊ055f²´3u—¹‰Ø¸³@«á WK ßiôR‰¬‘¤ô™Ù<ë&þ–Óæ–óÌ&~ÆNMöŽ îñEà­ZŠ"‡R¢­iøçÍw®€V+kXõy‹Ç$w)­•ÍWîýAf=€Ž’Öém%Ä1–Ô”‹Í„”…#UÉ0’$3ºéw’Öý°]³(µƒvf¾ˆ> çw’’câÌ\à¶úÀ!"Ðú)\hh›ÊßY + JEÖÐB<Á¸ÈT†c \]Fó1Ó…Ò¥uÇUM Q|XÒ¹A#ˆeb§Ѩ|²zD‰Æ²…-Èj¯#¨¿ý¾˜ˆ]²YH[TFØKyãXå‹P)Ž xƒ5)ëíÃÏÆv®ª72Í¡"áSr÷÷šf|Ÿ8 ýSnªy6,ñ’‰¨¤¢ZàþHH‡E†Ÿ³ô³}“9’JÆ…íd†WZÓÓâ½I6$nÅçÝlç´´¡é n§àÕmιyü¤qø]|W|/rVµg3J•w}­‡êÖóåÏerS§¤ ~Fãá2}ÙÉÓž˜öõ ص¹XEaëù?¶˜h+[|¤ Ÿr}›7™¨¨{¥úþ™1žæÒü!¨ðT@ˆÇÇç_B£ªâ¨/-e½5_=G–g9ï'ÌüÍÜŠó»Å·9«EУŸ¹fKÇÖéœìë,!ž•S0ÌÕ1uâb¥š×¡I¿Ã]_gäeâÞkRµXYj²4ØliÊç{cïìÂPS%é‰ÒÊw|EƆʉIAwÃä\9XºtúßïK‘[»ôºÜÏŠw¯kŠé7Ì"ˆ[3¾{v©†sËvR¿˜€*]°í¤Âí§¨zôY/ð’9q{#>ŽÜ•Á— ¢œ/ÎpžV6‚[§i¡M +l88xÌʯ˳•ËW§l¿¹åV¯`W`57q¨¿8]·ëýl#yj¥23áâS”žcɵKçÅÛêT ÷’V5Í5NªÈ,‰d;vIaKvìÖllñáêx‚è [™Opû'ÃIùâoNÔ…fó;Ö×dfÎ5ÁõsÇeàöl>£ 'A³ë0h¡‡ÈðŠ}ßÈvM¨¶ZD¢XŸT&-)½9àX»5Qså 3…žÓˆ©;Ï«Ãa¢¾’Œ ‹f¾¶ÝBKü躰ßÌôÛgÞû´ÁUÙÛ?,Åï}µ¼Î¤¥¹SD +à’s*qæ‰qdvv»RBä•“Fúõ Ý…Ô9 'ˆip²ÀžzA/$¶áî|â‹*'Ê÷·Ù8¹žzî÷Ê“#½¾-h£v˜`˃}¹•×=X›™{T—óœÞMáÊ×Í… Uœ¯_öM> Ùi +ˆkÀ€ü©Ù‰á#²Xb¬ÃG­#/õÇ¿ëhuѽŒ‡G6èYƒ'Êý‹+OöùvcÎ2ø'=h ×ßx$ˆŒÇãÍÑŸ.0ô Ž¥Ô©zù@w@­Ê¹÷@˜…Úž{{[¥gFµOņz8§h1 ÄÚÚ>pßؿ㻾H 1””l'H`vdv³Ž_$âå10f%†T–ý°½[,"7Äšúc½®þ©Î¹ÎsM”5Z‡M†×ë +])ž­háUŠ=*ŒõÚï¦Í‡®v›)À]ÌÌçùl#§Ÿ+„¥M¾“¯v+X™ +iÇ%Vˆ§¥êáþŸ avŽQ^$ßFOÛ‰&´>2 e‰ä /ïˆÆªõ°gpš +ÀÖÄu Ž—ðP çÕ± ÞI³jš¢­x¿ ˆïìÃë¥ùÙÜxµ+¾'¬k”ìŒ_ÊšTêò%<J뜻Ā-ïϼZ†ZÌ®„1à§á•òN==õ'wØ\)q/„ZûéWu*l^ìigü§øß³ùQÓËÄ +ÁÛ Û\[…äÛ™B¸;5HFoÃyiöÖY(!“®ú.Ûò~JeË+Ï)g÷c©ò•mݸPÏnâîí!®mk+^%G· ÛMÛ'Ë}r(Õ¾˜N‹(!ތݮÑå}óây¤áº¢jP¯:÷?þ5,7ÚeŒé p‚->ÅrSÜÀ êÂU…pFñTiîýð¿"b…²]”Ž_ç†Û£³€LÁ0gœo,”"rôùq¤“*çEó«ßaÂ(çãwz¶aч9Ž¨®¦¾—Åïq¾ña«ÿ¾â` ;¯'‘ÇC¼A3¡¸Ú$kOU³ƒ¦öÚò)ð¨_8mWÑ‚ÙŠ+šGë#V3•ü®›$¶Ý‰- *<Â!ÜÏãXŽßˆ~™bü‹Xdµ?I‹Å•ÕÒ¿®L1s R¢Ÿ™ò6‹OÊÄœ,ÄÉcÕ Ý¿KC¤§MÊ%vhï«ò‹0Œ9nÎ_±` +endstream endobj 865 0 obj<>stream +P<‡äݳ© +endstream endobj 866 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 867 0 obj<>stream +gåÂL‡ßI  %B3!ÛÌ$1ð·@ÿvŽßíQˆAxZë/»&`Õ’Rþ„ñŠ €$Ó{Ý jB-ˆ÷ä”És§€ö)ô ò +endstream endobj 868 0 obj<>stream +ŠÙCú£nGŠ +endstream endobj 869 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 870 0 obj<>stream +aRnIû.­žc[3^ƒ”¢ã Ga“áÀVU-üÏùhv.!ÌkÙkÑI¹ÐÈ!¾AèLåEÀáÍ[Á™A×vú<)û36fD ¿ +endstream endobj 871 0 obj<>stream +c jóâd+,. +endstream endobj 872 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 873 0 obj<>stream +Ž>stream +&K맙}z¼­ +endstream endobj 875 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 876 0 obj<>stream +;B@I†q0ÕTá‰l3ÿB¿ÏÂq-ÁaxÁIwÿÎ5€ÏÄœÎYõ•1C¶ »´Ý1yoµ¼ýW–ƒ>_æé­ìʤ¡ütÝ +endstream endobj 877 0 obj<>stream +’q]• ìýí +endstream endobj 878 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 879 0 obj<>stream +û´þ†ç |œnøüs¤C•þOš(z}Jɪ´ôÜ¢°×f;Hk,ÇÄÎûØÃôU±jõÓ9k–pÔ>Í„–½M€šåpˆt(Fe< +endstream endobj 880 0 obj<>stream +{W3k=?e² +endstream endobj 881 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 882 0 obj<>stream +ž«Ë¢‹á‘Ƈ9šž5¯Õü0þ7¡XIóLFÆï‰Fâýo)–VDõ$²,Ìk6øCÄUã¨~¦×Z™‹g¹ÂwU¢™&½oÁ„ +endstream endobj 883 0 obj<>stream +…Ñ ‰¢ã[ç +endstream endobj 884 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 885 0 obj<>stream +;ªRÙ¶®¼w†ŠBB¶0O¡ópFpæ—£Ú–Ô1ÿ/»Ãí@+[b:@7D¡~ó6vM +³CKK e… M= (#XÁýBæ[_Âc +endstream endobj 886 0 obj<>stream +M0ÃvXms +endstream endobj 887 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 888 0 obj<>stream +*‰Êx‡%¯7]psk·é ä‰Á9º¯`õHpC‰¥¨)cpÈé>®‘b\ZÁÙõi T8–ÔQlµe´ž5-ŒÁ¸ñf"PíÔcâ÷ôç? +endstream endobj 889 0 obj<>stream +…'°w¦Ét +endstream endobj 890 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 891 0 obj<>stream +| ƒH †Î–ƒ þÇQ{‹ÿŽnFó¬ˆCeªS3¹Û§eêEá 4; âò3^-¾0lBŠ‘z¬kR§4Lò¬z šðûca=!’¤ +endstream endobj 892 0 obj<>stream +{¼<ØŽ,Wv +endstream endobj 893 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 894 0 obj<>stream +7‰ƒrŽËeÓD?@àyïò¡/èrÊ›`pÀ®Dx܇>stream +µ‘J=ÆÂ(„| +endstream endobj 896 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 897 0 obj<>stream +öîQÅ6ãZŠé\gÏ×\Re'^X,'ŠK\¯>S`C²‰¤ZkŽÙýúsà­Çb§bçÖ#ZdÒív9¨OÒù_ð¸«øâƒ0r +endstream endobj 898 0 obj<>stream +WM¹Hy3¯Á +endstream endobj 899 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 900 0 obj<>stream +fobýÊŒ ‰g)W¶Ù¦GkªYûÅ'u¡A¹Â>t¦QQ€jë#`ÂÕ“@uü(®Þ¤Á° +=˜hHÙ†~rñ"‰>stream +µÝ¼üJªþЪ +endstream endobj 902 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 903 0 obj<>stream +{×N^Rúÿ”J:Wõ˜¸Q6£I™Ué±#û5Jr|#¨hÎÌç£ ˆOL‘÷½¿}”ˆT`$¦ùÒì@4½,@FÓ`bÖÚ× +endstream endobj 904 0 obj<>stream +0;ƒÝù +endstream endobj 905 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 906 0 obj<>stream +ø+x°;ƒá>oW[¿¤9˜—+“Á0ÁœœmJxÁ,$®ô¿–ï}Ó–Ï̈|Õ³ƒ“6¥ª³B&¿2j?tJ=α²íä§fx“P +endstream endobj 907 0 obj<>stream + @¨]FÉq +endstream endobj 908 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 909 0 obj<>stream +ú˜v3Œn'CØ—‡Éßü¶'ÐrñÍ•Ü­ï^[·%T5ïUqô‹eº–Q[üùÏ€l-‰x.ôäŠÿ£ä`&­HÊ FõpQ‚k;Ë +endstream endobj 910 0 obj<>stream +½H[²Mqœî +endstream endobj 911 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 912 0 obj<>stream +ŠÑQ¨=ÿò4ZUuᢉL· 6P˜Ê~‡Í$PᬈÃiB<òÈ\Bæu™KL¬ÝH·†Ûp q‡‚Íùà ¿‹cé ¥¡Ø§ƒØ +endstream endobj 913 0 obj<> endobj 914 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 915 0 obj<>stream +ÉMLV±Sx¦Uμh\Ñ·¬p}\1Ÿq€ÉN—óû¤CUéW,R tC>a€ª|xqU¶Õ×Z?…î-óôw¹IH(d;”dªªfh•¥´3Kˆ„[eÎé» ônmWÍ3­nP&.Œ~~•Ý d«ÄDíVgæðŽ\yÄ*7¶+8¿£•5-Y„ (n½–b†y®RõÿÔO^È™×·ª_íåûf1ø—pxûfL˜õVñ«=XÌsLG‘¢$ë²üöx´Ûø×CÑ)ÒCO*ëËÏFÑTt£g«²ºè ’h]OgR S*:ÚŠ™zK†E]Û8#ÿ6ÂmY©îÁ¿Q1Z:ù•ƒ4”Å9צï>tÄ¿V=Ö›µh WUôϷˇêÄä‹£œnÁ؄ّ;YcÚ0­Fº{ Ω¤nàºÖ2#ˆn¡›½ÆÈÇyÖ#ªARìzrfAî]Ïœ¯vÄ«^w›)›•aI‡ƒ Á¬|hú½Ê¾u89”à“ùHDZ4B0YÑ„”}è¡ÇûšJsQÙr~²- å’P{ÝüVçÂ-<*"è¿>¯R©‹¡Cú¼È,ÓקÜ¡í9©ÉvÔ”¤˜ù†8„JìÎà-Þê—ÒîàŸ6V™#@˜R h=/êú¹yH„Ó2Zï ƒuZ(ì¨ý6ì'Ž|yj¹ QD¦¶XÆ.G¯÷¡pÞ¥!#i×gœðäÎUŽùá?3wÆÆ8oÖˆ1LÜÕ|Ñ„ÀÜ¿@'<}¨Ï‘9eÅŸæ¿|(øŽA‡»Ûù_:ö— |ó©u´Í¥!x(më÷âwâj‚RÑÌš|'ÅÊÉô‚ØÏœì÷„[Ø6ÚrHæ¦Y<Åa?2é<Í6kÚâ–C¦jg9ª=ƒüa¼ë@p)ßœÏ5§Óê•ÊqÇBj¶Õ`x=êF~wîÂLäÚpd„ékú×!lCþ“¿]¶£ÜÑu·ã®;µ…bZ˜ú¥k»HUÂ{æUÍÌÚ®×j@GÚY-VÒóÉ%ã6=‚ ¿¡(u¯ýa$ÚІ +–Us”dЇÒ.I29"fûƒ”p+ ¼ßÜ?{7ôø†A‰{ø¬>©Å”ÝHß{]ïÖ ÏëGdÓdûÁì{E>¬HIÎÔ™€N–Ì“ÚÙrÖ5•Ýá!—Æ_ÎW ‰T¯”u”A ´‡Ÿ×Ý·LIç®±WÈ2Ü.O"F{¾¦vGŽ~ªX?[f´œ(¹«ÿ'NQ’1ûçÇ°«ÉÍCÝ°]²Þ>ƒ»{{ Ìüp$ÃdJ"Z[,ŸrkyV!€Erm&éWÜñ˜ëßR|5Êר+ž¤¬ê±4@δs£œ +=8²Ñ”dãËîîP!‰ÝJfð5m^-QxNJµ[ÂåÅí^?%†ßö¶a±¯Çí|ÎH÷¼CˆtÝÍ.2EŽg¤ 2îÅp±33¤ÿÉd…FÕÖš¢‰v¹höê?QÔ{„z>C”ƒj¾Ö|? Þ??…A¶®2÷:ý¥R‡Ë߉­%-ÅAJC¡gým¢ )béû†ÿü¨®ãWûÕzæŒzmc¯à»Ÿÿ`1.ÕìúN·ô‡EÄû”$,X +ŒâšÜ´?‡–ìzVx¡þ. 'jcPìáXÏrä2|t·ëšó• & Ìg."ÿÞ5fÙO:Ýb¤²V¹!¿ífÈ)’%‘KèL%k›BʵFÊìÖ{þ1"ÞŸV¸@ÉãÊŠhÉ èZþºvùŽ‹¸#ÿ¾ÛŠi«S¼Eó¤K4–3Éo´ °" ÎuÍÎÄ®‡÷g$•Æö åK£P:«#¯ÙPÈ\ƒE}¶#ÉšRQ?©¡ôÿRý€Õl}” %t”m-IÇ#ÑuO_j~Ð.Qׂ8 ü”Ȩ$â¦V—Õz· c„Rø¼à“lÅk÷ž£“%;§j·ëTw†xEzMŸÀ¶çœ)Mm¼¸jxËíGô1BñÁTçÏ „`“ +gR +<¢ç ]-¶Ar6¹2•zmÑ!“øàü*Ѫßo·n°"8‡•$ëOHH]µ˜ó+ÎóÓ‡g¢‘fS‰À[ýJçÙ·£S/TƒÛçæ$º™ðÁ€F7“ƒo+HXÉ332bhä ÇÓ‰º IÔO¸ž –H€—†pÝÂáÕ9f +¾GÛ]›.•š&ízí‘!;&C»óËüÛ:æ×åiËÄ8GnüøÍÑ&N¯vKô9¼«âne +C`j9Ü•wñEú‡8gÒ6Ò|!ã {àÐC´1gïm0ŒïÞ¯¸}ƒ©V¹V+Â(°çìÍÎTÉœ$o=Äq»óá%^©¿¤´‚„ëÒçk9mÕ0ÒeYB5ᘻ¦K¦FiÏÃ’jÿã•pô +ST9g#5ß.‘Ù?¥ÂâlÄÙpXê‚%ƒ=Ý^Ø:´vëV[g“»OAmÇa§WX@Á±W~|΃ù0†J–xד,{Ôò—s›?‰–˜;e{Q©‰}yÖ¯½E:ø0noYÿ}|5é#ˆQP¬ÚS?³Òê*Ƈ!O"4³&ÖQ+ Ñ‹pã[½Ã™syt +M–ãʇW)š*ã«aGåÍÂzvOÏ)Ã;ò.ᄪÀ^V*bEÒGÁ¨Œ•z›² Ýqv3ìî !øŸàZãî*0Ûs}>{¹&ÌâÇC’ O2zd¹&z«ú€Qi%¸¦÷œËëï$¸UÛÛüM¤<¾œ›¼NÓÔü‡¸òçgvzÂKÍË?Aù66ÅÚX:gv/4¬Üœø‰'ƒÈi—é W‡Úƒ—?-Ù6®£¬*^ØSùA•¥¨‚]ùV÷¶ëͺ»ûY4©”×€-ƒ žëV—çW'#WŽÝ_ õyâøàiÉ¢95Aæ ¡(eÛ›xr?à˜ºFk1é:Þ’ÿ²Ê(äAÕOlÛÕ=ÚO¢›Gá\õMü3ªF7*ØÙIoÍù—9¥*w«úëÞ ö“ëgAmS'5‘ªkÔTj>Üð˜xVBu@ÜÁÐÐHËKáØw +B*rª’&Óâ¹ÍËÐKÙÌZWÓ]5¾š óˆ:v×ÄWM2Ù»îtòôgTïÛkF³XÉ¿3ï`Õ#Át¥o×õ½eo̹–{§=Í , +1éQ^õ–¾öuG)ÓU(³͵W*ÓaDmü˜t.ãóÌõ³È§ùV–ù  ^· r@p÷„Ã1OmåÔNéì^ ÂîxMa_ðáÏ\ºÜÿÅè þ;ß©Máºà»î/_Q¸r¯­—D¯)ÁŠõ¬Ë"EHwoä¢ËýyÞÑ ò½ËïîSíŒÌ„¥k‰ôY¡…ÝRxqM—ÈØíÓxËÐÄ\Œp0ĈͣT/œ•+rô5PÛµ_ÀÄ ýý©¸¤‰Ç7p¢¥¿»YS”ÐäíYG_@b~ÌQänYUÚÕkA7ŽÚÎýÜYÏxa÷+w#€µNBFå#€£ÜgÑOõÈ;D^xŽ¼A?ŒöŸÒ’ívß?FÄñr«œxy±åò}ŸŒVÚ‡®9Gå *.À™Vá7Ò¤¤3›Íg?B·÷K ž&uŸÄf)ìü¡æ(ú—d»voMÉ~¾}Jreø&Éî(†yÌÚÓ[ÓÝœÍu;•W8ôæ³¼ôÙÞR…Ó ö÷Ȩûx¼ŸØ¬y…+A©^(ÿ•–Pшø…$‰m·n.GÌï)/E7ï3¬÷dfäSg‚6Ìóåk#zö%\šuz@ÖwÜŠ.½^ ¨¸Â;fí +m*pFS¶5€ÐË#M­Œ¿ã?é=þ4ØëÍ`øýܹn4=k^Ôl«1ÚßUêKx +νÅð”ó’ðµ0¢~7mõ@›ƒ˜„øø…K"Í×ËÒ¼AÙ੽ʯ‚eŠ%vÌøJë- ò±Š°Á¥‰ä/•hw»ɯÐ1˜ Aü_<Ôæ"Ê1LÊ0|Wéh¬øבÚÇn"âjO‚z8ÄKxÙæJm tÅ æœî«Í Ë£îië=U×”ìƨ²»‹8YvÔ¢^ˆ +xqDë[3¾%=ù|HV˦+Ÿ%´è–Ëuž'äuß3öU!Ù`„”zå.›?¼Å{§ÒC= J5…^²£ä­âOÓÉPÅ¡íŠúZeV]Èôµ´4&Û$îc=–NŸ èQkþà(ꚧÞ9Æ ½°ç&,[nsÏÏË JJÛXÍ›@œË=în0RùbÀýE"mÃ>ÕAe1hk¾™nÙ»vi^ˆþ™TBÎ*:!?3ß5ñRÆ,þ7gè´ì,LÂ>ŽÃT»ºz>›²tøP/’ÞY³ö©”o8Þ"P:ÃXýÜ­žàQÔvÔ×èž°ó$Äv-)²‚ +ÓP4Œ­åJòï8œ†·D¦—ª\‚¾tÏ°èßJ½âíµPg¡Pá\µ;ªÈ¡ 6•6Zc‹ôO‘S”G Bgí™À²ìŽiZñìç$lŒµØÕÞ ÉÄD–›úÚ‹­^W)í Ók¦PNz¦ÙFq’£CG”Óyn½ô„Œlæÿ F;¥ÛÖÈŽ¾nÉžì5K!ȳƒÊFjE” jª'±nס«édfþòIIÐöêí⇟GܸâÚJOÒJB¶–àÍ;`ÍwìÞ(Çÿ/YUÞV‘ëv6#<-:×ö ´ÊßÅîmØÇG¬ÙÒ> qIâ56mFµUê;Ï‹wŸé»…úàŸW\ëž]4cõc“Ìð=ãN‚UHÛ +b¤: ¿£B8;<¾ïº …­GËWA—äN š[jNÌ祔¹sb`:Þï®­ú¦š|&¢Ц½¶ÐÑmšmhÁiGD˜`ùÏý«aP³ó¬|»½9êTÓëçìú§Ä·9N(W¼XlU€8wCý7¦+&iå%Q°3zQp<[AKs= +‚><:¦ªNØú§©ZvÄ™0›¸që7K>È…y¶Œ7`}fø#0%¬Ä9î !ûÑk¢ì Ð ‚r¬M–s.kÇö¼×““ÒwÖù?⯘í…?ÂãÂà\ò[ÝrÃØ2<†ˆº2½ùzËÐ>ëI³2`ù¢ÇW~ ã`"ì ÂÓf~ÈZ(‹_ +N&ötqgƒƒÍ:Î\ µ”§lËMPØÑöÊÈí=Øu¨¶Ï@vR[˜Î.F‚´ÆôFú:Ÿw¹–PŒ“‰_¡ã.LsÎn$¥¿ö“"Ä­Š8z E;ІÃ<„¤BÛëTtѬÏ0l$”`Çòí“S÷ ww¸7U5 æ5ðä õToŠÜ‘£S²æöÓSg`+˜¯“eYÈ!‡ÄçÅM¦Y­'â —Õ^™ÏOVÉG:éls„×î.9ù; *ÞÙºvÖ•\Hþ']÷Í›qÝ£ê9 áÞÖÜoAµ7ždqÛ˜CÞ”}¦.ÓdI¯ÂÖ{ÁÐÊR)ùâ]k›éÃ]`s,+î r³| 4\Ëù†œ R’8)ÅùY‘úB4PpÚA§yŽ­ #£Ï”¸aÔY H>pË?þHè`†^ÇD²øŠÝã7ßH¥ìÑ¢ãb¼Y» +endstream endobj 916 0 obj<> endobj 917 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 918 0 obj<>stream +¼«ü³ðŸ¦AË:W{Ñ6ÓBhºõiQÿ‹þj¼Ï;²¾ ¯ÆÛ 4\rÁk°é„8Ë Öô„ù)Ê2]Wfaª~1nUIsôZcø&t[¦ÄŽsZÏê Ñï9ˆAæ)à³únâ22žk@ö²•€3xÔ£>£ã+ž«Ô#ÑPÿJ˜,Úk>lb£dG þæ|—?Ú¾Jœ…5‰Û7ð†ò~sã*â(hž4ü Dâ£ç¦¨Ì}¡!¢r[ld§‘wcÓU~z"U°îT$>ƪ3®ìCmeŽCÖ¡©Žô +þœ‹f„ùóEHMäá© J/Õ Ý¶~â Gáf^.e@;b¯h3ÇÀ‰ïpD .Ìñae±/tЃ´Ñ.×€Ÿf:­°xX•HæcÁã¡MÀ ß pûoÉÝ9Þ™8|C}e¼ +ñIœI\Xõ—ôqPymGïÙZÅÕT„&*¼™¶baæêë¯`c|Y¸ÊÙœ ªÄàr‘óQƒŠŽ¹)VTÜ€úC@§ªSi¸[¸~Òž—xN‰k/üò3¢®’ÇU넆Ìl›ía&£çêõÄxBÉ»—ô5Ìeð©ôUöÿTeúHI»~—A¤ðÈ2ŽƒŸ“þìØ$/o$ôÛ¥NY½´ñ +%”Ìšú4ñý¹/G£;H/¶F­UE†ór6´ªìY¡ç|* ‚Ë…h4¥.¾Ât²POKi7ÚÜ]ÃÊÁÇÔãêÿçŽç:§Á,5 ‰E0ŽH {̺nØ$ìkKPoÑǸä„CI-‡Ïñ}RhÿôYêÞzÆèÙÈÕ'Xc\sã˜ÿáÏ*ÃM`Ê_®48ëy8¼Ò«,P­Ø™„nÓk,Ý4†™qxqÚM¥Tã*u“õ®Þà*ÀŸì—&zÑÿB%×ú:¢"¦Îb·@GçŒóÅ#g€ˆNí JiÏÙ¹üVJ‘E™û¥fÏðU!FBÉÞ œÑüä“JnüÀï6uzy…ba^ã5û¸¾èyœã¬,¦`³ëÖ¦¢æ¸å)ý+øZ¬uAÁ“p)«xY,’j·Dü’2-ಕáÑ-95žŒDÈÒ½þÿ +¨¦#0ÕÂÀó檟Ï×É\Ôʼnz÷½"ùóö—õí© ‹ëT‚8&qÒö¦ÎRb:]K>$7•©2ty‰‰b,ç#<4ékp9“y +Hf <½øêf½ÁuM`"§Ù›º{äV7ÑÐËœ² +ܼ²ÆƒÅ[Zaìí¾[Ò(ëÞ[üHSÜÉ*îùãEÔ¬´A“—À§¸V&^zýPKÕíD*øÆP¡¼›Ÿá"jÛáÆ•²¥wJ3 +{S*AÌÚåM-0ö•ë ü%)HíÍ꤉d>±¹]àÖk‡æ7ìädvóÌ¡©³´·¬ýbVÎÎ~èc0ð~³ó_ :OW/–ªù³h–z”á¼R·„§‹<Ä4 c›‚ÁÂÝ s­.¢bˆ„o@ÇÙ„°›à¡¥}Srf% ì(’Þð‘i„®›Û-ã9ârBòŸ¤ÃHNµ[‡¾àz¹¤7e­Ÿƒ£¡óäÿ¬4ò:XñƇr»G(™MDœÌ„³@?Å·}”“ë/¸\N-£t®„pé¼[\•ÓZ½o:¯À©ã˜¬ïio鹄JïЂ2®ØIÂ`82E]7ÐÉR¾žß¾HuU$;œ|ÊH&$žÔ¤zº©Ue?€°BéX< «ÝøÚÿCƒ¯‡µ1\Xó’À ¶LcôÜD œƒÑE €Á/l ÷ƒÆYÖíÛöeŠ 1þl4‘4ºgþÁzOžo­çÓˆú¸Jx_œå5ú^-S×5Þ5V¼ÊèOà„všœµÓ—Îâ/ʽIŠðeÞΙ´µÝSãôüŠ÷µÚªIß,ÅA/Éóúb<ÚÛ:“'>ŽOõ·"鹜3É_¯^HM +væ䉤öeE=z 17U$ïõÃ+¯ÅŠ¢r=)fåÀ†(Bé±¹‘[º„«3¶Fª,4þÌÀ¸ûëqÈ‹ +µ^bæ• ßÐy´ïÅ…Û˜ `«qøa°tqòùîøå_DDÍæÔ¾_ðV=Ö#s R‡ü¼¥ o +·ßKÔy]o„›•uR{™(¤]o£@ÓX®]~ó»ÿU¡‘lAèTbÌ¥^wf»µ¦‰X Çí˜TxÝä'+Rå½È€–ã"Ô&Ë›ƒÓ!MôxVá<ãëL+Çø*$šD) +UŸÝç`Fß^é,|™sÚf‹¦§`²¶ñªø0àá)¥®ö –AȺ))O¼Z¦äTú‘9RO!-\ã…‹p‡A»é”³ýöù¿3ét²IŠ©ˆu©ýùüê–àÑ„lˆ—fÝ´ÑÒ)Þ(HùÌ7´‚Ú˜¬|¥ø±¿Üãý å3u¤Ú<¦Ï9™!eâúðÈE#å_ÉY¥™ s$hÃ^ ÚÚÇs(J3‘æ»U%¸ÏÒiî‹öÓ +›OŠ‚ˆK’-æó|=ÂÔúµø ƒg?½ ­çýôðpÝV§~÷ç;Žj»9Q¨uifaÓñÜó\otûÅ;;$x¬®1{ë†^_1j?ˆÙKímSÂ7ÿ¦>nÀ{U,úÇv€P\çCÁ9ÜÆ[SÍlQßÍnç¬÷€¢øû!ò!^t{¤.Óvá÷ÒüaJÝ·¼¼—ãø®k0Ax-ƒCŸ‰EGý!Ï™vÔ(ˆ$‚œ}É I¥{ª˜DøS„D5cƒôÒ7ž ÅŠ)÷°taõ˜¹·A€£ Ê}°°q¸=,‹á´‰V[–sÊÕ¤¤œ®¤÷/ +älå+Ò‚G8Hx£tžŽâʽ³Ž`Ø–Š´Ñ«9ß—Œÿhüåå1>|þa2¦p,ÑîLƒ ÓmÔ!bÈ —&Ê÷f¶Ö³7§µTl¬»é¿"bŒ§ð—ô–øÌœôqGk…ÓÔk ‘ߧ‹oÏd6žbþËvPOf/Z¦¬7¾1dËf|åøÝjQ7xÃ,%?]æÿÅW® äe¥+X)! º'r‚iQ&œ „þÊ–/¿”ƒM>Xç³lD¾« ÍõIÃGK»Y"ä9Àîåè/ k$¼Iö§aNfþ£,†ýtb²K w +ë.UR¬^Àö1¥’AçK—åE÷—ñ÷LJ¿i Õí’k´›+Ã*‚}Õïì2Xx5@#ê=ò¼a[OæÑ`ÔÈξg’­ÃgM™!£#»‹§ˆ¨šØÓ†(øŠŽA¤a³Îù?(uÊ‚6ªï^aÞÚ^ â.:ÑXáhA3–W Ç­ó"ªû‡Ã˜!ÉA¿®ü- 0 êE5×-¥ö‰O»[G/«ࢪgä´¡GsD “f+¿VŸn÷üµÀ2Ú5m6xžÇ¶(î $o·4 o ¹ö=ÍUe´¾åÎu‡˜ +ÄþQõceà»ð•K“Ê*îÏRmci|L™zè?¯Ð&—•6æ¶í£Btž9X£´^Eºn«0ðŠ>´O¥ñ›Ïro%©«k)×tÍ|@É~ÞÍ}àR[‘>1xÑ;^ì,K•ŸÏµx…§šÚå%UŠ6œ}w2ÃÚ +uê»B‚zÚ}G;sFìõ³ÕäæÓ¼ÝùªéPå6X,n I¶~Âûƒ‰’Œˆ41ÚbÙ‹­ ñ£ÐZ|£[â#€ò1aû†}XæÈÅZÈ©UÓ5êܶ1žFØqúëæÚhMoMèK‡õíÌ·ù£×G–¯&™©MýÑö÷ðkx‡N¢Æ}ÜM‰ %aZ‹xÃÖx-çÆØc: 9©W³CaÝðZKåI4Ü( AÍ[ö!õQ~Z%èniª&:Í+ bϤÝ6êø0¥¿þo~¾Ö,`Ë0T7…@ …ЫÃì€Þ€èNPü|N¬O önBŒç$ŠæìŠoVK×õOlt~)ËœC€¡Ç6]W‚ç¿bSž*åw¶óöèR>Б]tùÚég½w”Ä b”ÒIðù`‹<'y"»‰¬W˜…ŒUlwÛÊ(OÞÂ%…&)ãÔ;óºz.r$âcË|ÚZPŠë¼®Ô2Ÿx’Y.2ªaÉžй8zðS¬ØáòÌH•5D´È‡y«ß~po—"žUKì+5ŽÕ3ÂA«n`ÎJþj„Ø}QXnK!2(’óû³rs¹=©h®Ÿƒ[º!IJø,ïU Âõ'sÒu}Ëó 9å^e¬Š“ùúŽœÌz£È;‹‡Ì XÞÈ‹2XÕ€aÉÜ>ãVŠ¤Ã˜4g´È‰Ó^˱âõ~ÑP»ólg+àT‘šŠé qDá!OèÒ»ÁöS`Óç±!L}hIqŒæ[¾ÌmšeªÇ'Bö>°˜ Ì/ž—u¦ÓšÑl¶ëã%ãÙÙ³C©ÇÓÂÔÛM€üĺªéä|”ÊÐΊ0·J¼–ú‹ÊPòl´²ÈšrU<ÃÆeübúÚ™/Œ‘Å°fÑußÙ@Õ2¾`¡a ±žN£_ÂtWº*ª¯ŸÍK²ðص„URcðìu’«t£à¶ñSU1 ^ÕNºå.…”¹,ˆp)~ê*I?œi´s' “AºÓÞ:UHìsÛ÷…ôø;«¨î¡ËdÑÃø5ciš[0–…>flä -(y…¤‚ð!*3…‰kÏ!㎕ftÄxù?•p_e’HêDabÉ*<ÕÎé°“)ÎÕk¤'àŠºÖåO›Ö®$røº`ÃDÝUd!­;œÀûžò÷tÇ‹'U]k i FÄ¢›ª-ŠCÖ›ú ³·†h­Ù¦}¸Dyð¬rKê̲•^/Û6þOû ±ß[ø¤4DË<¦ö$ÆG¯¬þÖÖBãFíœ(9|£*wX!¥ýh)TÃ^yM'A€ïu497.;܈ÓxëÃ!CÌL~æòß‘¼¨-bŽøc¼ÊÓÑùd=­d"2ŒH¦‚<8¾laW·³¸ðªVä+ÊæCEø;í¶nè~Ê0Eæ£ÕŒ@{]0ÏœøòaøìTA"xOŽî^¸Ê¶Ÿ‡·¼Ì=k§-B œw(shwÝ–ÜÌq¼‘W8î…è™KõW—89vôJZÊ‹T§|oMRþ…'¼o#¦ââ®ã„¦*êHí@Îus3¹38ˆ }3Z6};Ú¿±ÈÒ@Ð ŠêdK¯'™³ãïP«ÌŠSN»¿ YÐ9¤ˆT^Jž^w2•ý…Uif1°`“Ÿ +ë!ßuÉz`ו–lêŸG±ö`+›º úm¸ONt)󜉥 ”½ZlÒ™=¯ù'êNŽ%ÛRæ™~zŠ“Ö¯çØ8«p‰'Ýñ×Ü€û±¥°?;4Í"EõAÙgÜ!&ðÜúÐõµ7Ä–§ÞždaÁèdLAÿzE;¶/4¾²X­=¥¢ÄH4ÁyÔiÓˆ„æ.ØHŠD]0GÞè·ýº€BaUºz rõqÙnòöa4~]Ýw\ôgöŠ"xgv|­“ÿ‡DUaff%ÂqÿÌ3þ‰Z2E3ô¿­>šž% èŽ7ÑÿU”–u[2!²Iq³k˜ö‰sØØ„µµ²øx¦‘äîò5QœKEe:…s•f°ŽQAIàÙŠßœ¿Sü…Ø+Ö®£ëÕ7ϲ;&æ,è G/67u>²ÈSFñÿ߸¤›¤¢þ`ç9«)lýPÆžÙkë]2\Õýà[y ’¨eµHÖ}d8'Z[ù©Ð½v£8…Oqz%òñR‰ó«)õÊë6B÷#üÃã€2O§~ f Jum¨vnßF¤›Áç|µUêD,{.8%†Q‘Z‰Œ@u±GAH•j>üm/™’ƒà>kµdY-¿ÝLùbD.úÝ^[u›&M˜ö²fzâՆũ®ÊðQ2šöó߉áÑwö~¾\༠‹Æ¨.är«›%žôÒÐ&pû‰zê¥ü$†–Ï!4Q2ýé}sq¿<$WÛRÀиÃß»}ò›Zm‡Ì·†ŒËüRò_Õ@A’/ö:).£VŽÜ–†Õ²›SØãmÞ +ÔøWV¸ÝýÍ.Ðí˜òÄ$Çy¤Ð´ý»F|?À¢‚4 `Š¦¢IðîÅ°úb݆ÝúU©ëÏpÚ‰ñQ^ÿ!‚Ä/ŒÖÙpÊ÷V†a»ËfmþO”ÐÐs¥B7¢‘ö¨pg”‰ú*½½#}X±§zãOõžÇÃz…R:¶‡Rýû}"‚Å%8–•ŽÕŽßE,1å¬\p¾ßÍ[®%1=¢Dáíê1Wt;@³L°= Õñ¯Ì5ý¤ÎÛET8HØà6^Si—»à‡[>[ZPvcnË&›€Z˜Í´—ÿ? ¯~k°£àcíʵé‹Õcí¿Õ]&h&`Æž¼;Ñ»{øó^Á^ðrèÅ©Þƒå·OÂH3ÌF“&B"¼Ù=Ž (=òtˆäIqUk1Ê=¡ä^žY/1_L‚} cûØÈ‚7lq…Cg58_‹MQ¼2Õ2iG¼•ÍW¾l2VAʤ‘¤ús`*=X@ +µhgáŠW~̽—­Ã_¯¤ËžZËŽI*“mš° +à`åðæúxÝ\—rÒ |Kh #Àr,Ôéh­j"ËîÔõKVz>"͇—tU&uÔØ-t"øD.]N+Z]Uç«mu9SÂfs+*¿*ë½9BÐlP½_//Öl*,g;Óš£yǪ ݉8zEr³ÍxellY:D_¢OB£@GM<0i+J¹ •Lmt‰óÖb*™Š§_í»§ÁLS(j:<y¶ƒ¸gSg}Ê׃¡of•A[t¨SõUç"ïf0v‡nǪóꣷ¹ý»?;wA±ùÊ ²¤\mË¡ÃÓI[%>ðKàÌÆTN¾›S9ð0Ö5Ú‹ó›3l…>,éÉRº«”õõ:âöû˜X+¸§´¦Ñ•áŒN˜ù”È8Øáhíü¹"@4¤þnÅŸ³ ÛÒ´&µA*¥OÇ6;Í!g ¡\¬1±ÒÕŠYãîÈÂr +ï (štófX€5_^ðÅyZÓS.&ýéçQ9s¨¥bÍ Î[Ë2Z`,!©ù¥]@DçÒ‹zv‡³\b¨{\â!-t:©\nQ~aå’trL8yŠ€4å³êŠTŸõjˆ-¨k!:šoV³.D´K@†¨;¾ÜÎ@µÜñ¬iÑE#k]èáÝqåmh8ñg͘€.Σ…'™V#ôDz'.™•2te{Æñ¨Š¨%¿6CøúI,ˆDèêg·¤ü‚=g­ÿèbº¦Ë÷[=â¼Ï‘·Å@0ãè´üsÁǨKœ$h‘í}K`†Õs,v,ÆÅî:5ç=5"9œ7m/š´¾•…r$ò?Ôo_„fnhÙ¹k?ç¤öÝOù^ø¡%7…?OÈ o' ».“XKMyf F¼äóo-ÿ Åæ„<Êg…j¤†ªžoSž$Ç[¼åþ÷+Ò‚B¯.)}Üã.ŸƒÅwÇè"]"S!‹(Ÿ¤¤4ÌcÍ\Ñ„E=y`¾•]hMݽ…£»d vF6é*^§ç†)aÕ1¸?õ—i¾Ö¿Îz hï!–ïŠ5DÍÙÊúU"¿ã¦ròW)MÜ¡à üª›üµ )¶¨bvØ*—]âÒ…ZÀø£tI Ñ9„$±‘Rinìš´w>yT3—8VÞ¶d|ýQë&Ü\µ‚8qO³Š•irZ{<7ÚÑGÎñÛ~¯!%UWâÀ$ì:1gXøŠ9[ß}¦ÏìH^5gòR*tœ¨Ýü{ª˜àÔ(?#¥ó3ñ{ª:U=cú ðU«m7#¼Ìéxÿ_…¡!aõ.øë¶PVä&¸ôøY¸rT½NoHXårÙq¥æ²fltœµùÍÅÏå¨oÿ‡»‡½Vq§`r¥œÒyå9Möú¹qˆ ™jѾ-PÞ”v»ö“btT6C±n +çDT¤ ÷ÖYD6Tà¢61¼0¿f°ˆ¢²=Uç¢>€ÿû):2G¤b,Š0 §ÞƒÈ`ñ„§eæ¹¥(CÊ%뜈mUìyù¦&WUBZÖà*9öäU:Ûßm…Å_@Ç>°s6Œì«q*{z–Nˆû¼ŽjÜ^ÊxÃ-Ëá_g¹ +"‰‚GE×Z ~Ö^Ì}\¶wù¹²òÌÏ4œô$ɤú…£»!E×<e,§+„)HcÁëhdÂ÷-ó¤L…°k<67?çjLný5™+én‘³Soš¨ù‘‚Ôhì 2ZÙ<.>×6‹F¢gôÞ3hSD8:bCÌ(TÏ› +·Úå…™*­¦W\FH>à`Ëed qã ¿|x”ûˆmìbE> ë°€Ÿjg gë‹øð†¥KüÈœjÜh¨]¶]ßD7™ƒŠåxC;uüúÀóõ.võ5$@Q]T›‘™°€ ?É3´-‚@ ¼¶™¸ÛM1X¯&Kˆý&ßοa§žg%ü¬~T‚0?fxÿÊâ·x$N¤„Öž“å_ýQÙ®HB ¯—÷ƒH}Ð=:¹oùW@þ(_¶‚,íÆ‚®ônVÿô–JÉó¸)üö|àÙ˜iÊ^2·!h¬›û‹B>×xçõÜy)ºú±^ìÀ'^zOÝ=($~‚))ÿ ˪{g„ó,qÄKeœÚ&}1<Œ8@QÔ &®â61oE¶LÿÅøtCÞ< (£…ȹØNL-#å©/žw"°³õ,ƒÆºJý4Ê™QÐÑk%Ëx=\—áÏõÁtKÓ ,©¶5™D•å²«ÞǨÐUúdš%¬‡Ëå ÄqÂßØ=Ü[Ù™ë Š—(«†Ê»¼‚þ+ æ–E±þåŽÜE¥ÑÎN RÀZ‹!,;26å,ñ± +±¸p¦YÊ‚›âÀj2gWL;Û7ÜüZrÄhQ:Œn~!l+êÏÖõrx°ž±ç0'á·ØȦSi_°á©vG§>ù,#€†—<P¦–0ºk +ùшÌÜ&ÁEËý>á$'ìs1ø?íæ7ìÏ3ûõ&l]ƒ¾ÕäQÕ¤Ò©e7ª +Ò•ý +endstream endobj 919 0 obj<> endobj 920 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 921 0 obj<>stream +#F‡ÁxˆÄÆã¶É [X@ÞYt¼z³¤fv¹qÏaÑÜê ñ_t`¯Ù–ðv"Í«¥A«æôçÈ)07å#Œ2ÍJ,ƒj×dX¡-* Ñyÿ¦ÂjÓa^pú8áÊeÎýs¶‡¼ [2‡_$Œã ´žˆ¼ï½³ç`±ž ;â2âÑ\'[qXØÿpí¬ 1]-º<šRišÞ~˜ÿ÷ÍÉOe«ÈbúZ–òh˜K²1JžŠÅÇ‹ŸS¹|çHYE‹›ßq-ÂøCÉa+ÿtUNFOV†œ·) pGyÌÞp" K!`Ê4Æ1¸ n.At¬K³!Và•Yžå&×ÝšFB3òÇV¾Öø‚s;šà’.¿ŽÄ%µ8æîn_é†F‹Ý¤+æp‡R—‚ßø=jäT&#ÿb„Ãí.áÔxð7ßp9œ0°}Ou\¤ÉžÝdzÏYÊ7Óh¶Ø÷ŠÊ¼Ëˆ¿ ¤é9>o`Ò>‹pÞ¬5:h‡! ¸â®Ðky<í“bùÄoÚ–%”ek>¸2:þÓ_CdêåU,ôWI…´$Ö!w'b®lý$ÝÓÜ0á€/Šr~‚aæ…ÑÒi yË“°?j[Ñ’Xd§ÿªŒ¦ ˜0™ÆWƒÅÓŸÿ!ùñ{³Bk uu²¤é1Â`޼^¨™k°ª#› ¡Ø'þÒˆƒ‚G›toú°Ëd2•þn«M‡BÕ›ø¶—ú'98HT‡jCõ€ödtEn"å%Ž ƒü˜ÿålSO•¨²uE«Õ8^ŸÎÙ'÷ëbÊ}V¬Ñ mt Þüÿˆ®IDJ‚käs½¤Í]vÃI•‹…ß*èîäf8dRZÁ6ÿåÚÔ¸…«sº¢š?¸ï´ç’°=šèá&:¹% :.-"zT¥ÁÆᨕó|wê"“ÌIH?Wÿ3änÖK'6L÷Ê´`›$œ‹ÂÛÇdi±†!ŸRtÓÉo _>2±9dצ+ÏnÆ8®Å·~õ½•ëîK€²‚l£;J‡¶˜©°?4c!ì°©²iWB ?€Ó1c¥9;Íñ3BÒ`̦JWR:mxŽˆq&’žì¤?zKY§ªà¯e]z„p ˜gs%7ñƒ¬ÁÈÅ°”®aJ-æB©‰=j[¹Ó#m Òè°TᎿt^°àë§Îr*¼4t‰¶×»JÁ¼’ëm€âVÚ[…l4K(:!GsgΖ ­Ûꀣyr(™™4±!eúºœ¸žOºYÿfm&©ÉJÑ(ÃaÛdê4ßÎ~QìÐ!0>™´aM·JòÁØíX«Ç‚ŠþrŸyå{wŒŸîæ¿Ž…Xµ…;Ö<©¾VaŸž>ò£²³i›³w)ÆuM:©½C5Ì“ +1xT u’†‹»o€éDR*í[¨7£/Ù”pšDyJ.¼ +T|ÿ!·([:Jý¹þäJßÿ†„k Ó8XßiÜGôÎdTRu?ŸË¯‚hþ›ŠŠ­Ïìö0=¥økxh º'§Új5Ô»©]±ƒEO~³—½çž‚ ØBþU ù +ËC'K.øivV™÷÷cem‘=ûRîŒ +õ£!æqu›Zav®ZãŠýaÛP¬ñ¼Í +z”Ï/\ÒÈA[Û1Žõ'í4ð÷¾¹ɾŽO(x‘¡Aü«˜f? ÊYa¾Ž ‚ÚJérÒ.VTÜ?úüS¡ýp%B„@Á¦¹WÛíÙ~ÐAJå+‹ÿµÅt«XØ ^¶¼â¾X³GNò å žÆöD &8¶ØÔ”åƒþÕ'Ñ;%½¦éä7—S +Î aB!,˜f……ÐL'ñcu…bö²°*Ô?\¾s[eËAîʞ拉›™¿jþÂ^Mª\ùvZ·ÑñMÅF®øâbaAI—U÷cv„Sv3ˆì(Á×Oôs¯˜Ã6ZX;ýù?D¦¡ÌMœœŸí±ýè†FFµë,ófåÛR +Ë{CzY²ÇBLuÎ…¢Ÿõƒ#Y?nkOÓ÷ƒ¾¨¤ÖOË++O¹írฆGâfÀ}Ùòì¨óÔ¼7ùúù#Z¸«‹Ä£Áߥ ?¹ÒÿŽ€ í¾¤J-™øɪb‚T´Ybƒª¢þ}¬–E/¨|é8"ÚrVdI]ßó4|¥¡»IšÖÈÁ%8¯Æ\ iM\cEü77QÁ(8µ¤ŽÄ˜V)‚ž.raäÔSøGû±é’{ðv™«RèùÀÎ’ééÓ¤6º'ij÷ÙÖ`ÓLÏA¦êÇE!ÿ$½»2¿y¬‚4ŽOñèŠ%†ÿe‚õf½Z; +×,üh6«;+2Ô¡Òð‰0“I qڤѦâÇÂMǕΡ†7B ‡ Á?feÔFÊ£`P|E;,¥>Õ@áµî$¯*Í`•N°à]¬Ï¨Þ΃‡í7Å:ÀûXï¦züü•nã]¼R²òïæ|øwËh’Oòû!•‘SnƒÙ‹Šn! & k”‰Dky©ì9¡·B÷&â~ ›=urU¼\s àÝúaªó3ÁªcRêvºu>´¦oÀÔzìšvø"ѸI&Y,êéßø=,ë`ÄWýmYa’Å8*›Að_â!a¸ÀTGåmÍó!Úš^ œ¶ƒc ‘O“ˆøÒ7@µ#é}ά®^ÛýWÑ*8糕mW½Y6 ¥P,Jf]ÒmE1·=Õ¶Ùb>8æx©ƒð Bà þ…¾÷>@=ž­–â¥Iõ)ÅËâ½ØëX]I*ÚD |ÔZÒD¢Y圂ù7zþg‡sw­Ž1·šÔųÿcLB,>jó‚)ï}-1:«Õ +Ò¯!; \rciÝð•£È_b' ü~-}º,Lõ_‡9¦’gkÅ „&bõ¹$¤­“äUöµP ë£hÝ?À¿/ùZÃWVUõçZÂöW“í&@µS~éå +¼!¿Géweƒ¶1Jý#„Œ©_þÚÀ(ƒ‹Æ`Õ£(êâç„òÏ!J+`üCPî\l¬aJ*Í¡í<,t#°”á1©ïò Öð¨Xnjl¨J¿Øÿ¿ ±0x‡6ƃ]Á·¯Ææ^Ñ4ÄÏ,ìÏè+v ¯¿ÙÈG7ë™7E¨€{ñ×,§ùLk6íÐÆ’üÕO;Ãäòîív5°vˆªðêßÒÛ)Ô…¶TÝŒ»$ææRØúœÁÊ8^;­z]>~‰e`£ó궨'\üéŸúêkyKÂË3ÿûvEš&62++äù“ƒ7®¼kf-³pFßB\Ø K‰6XCs«çÏÀ·kŒsö܉Kw†§CH8®ÂÜÒV{\µÁ‹6 MJÔõ€ÒãgÓ!Ï)Kç°yRyaÁÛ}¬5yþDþáFAâ¸kPB'Öyn€¬f0LÊ„Xȶ[Ú²›Ä\ ò›ôÓ¶¤#l6,–--ÿYµFÍ$äÖ¤8o)ï aÞx†ãï³shhƒm[œæã—ŸS„’ ›¤¾ ÔkPy&ï~¬¿‚(»Üõã§õ ÷d¸Ó5ËÓŒwà?T+ï•ðÊo±u•½@ÙOÙÚVýv Û?¤þf"ÂÊ#Û¾g~Á ß4w=Ž±É«Y…•kÙ‰7¶=7à{.µjzÝ#ñឈçÛ’¨@v„S¿+óADŒ®ŒÓiϵ +ë ¸ëèZ}ŸžxE®«vrèfaH'c MB;¸ð¥¥xf(­pŽ´ϸþ‘‚‡mTÑ”Aw t“H‚}Ÿm1¦Ú¸¯Ï<|@§·Y¨ëÚKsø÷ñg2b†ÕBë6Kl»Éƒwð:b–}˜ÊOŸ Ú˜Ò¸pŽÓœGƒ–|E>ñ«À—/Ü6Î.XKPuÓ1‚*)J¥:º442 ѹd#Ø{š2Bš"¥«çù€‚¥ºMgR¡¸æÀ bHÑŒ—¨ü¨v#Å3¤­­œÆ§DPeOæUxˆ‹TàHØË•ø”ùÀ¦h-ER3»¬ˆ¢.oÃWº›TŒLYM •½üpdêGc:£»E’G©Ž‚È€^,fîQMýá&´¨Ò»‘A#¬YÎaÞc ®^Áßl¤šÑäŽÊØôF&Iò¿g–:äA']¦âHíà½rö.úõ%xÜ0Ð2´{}Ó¯^Ü]äæ'MÀ®¿!_GSÑqIÏÐH€`F]QRŠò·ˆÄ8]š6ÏpúÎõËhe> geN +t>?e9çåИö£‰dƒ>7ºWP«P©UŠ*tÔÁa¸o¿èÏ&AÒ6„Ñ$ɳR+øn³:­Ò ¿ôûÁ. ›ù»›‰Ù¨=®Òs9žzPZÌŽ:)÷~¹oÿrEV”~çèJ»l÷ +üÿ+'3¿õÖ_œè^¾¬éˆÁzXÐ¥<’_Üòù´©ê€UÃćå`·w  *dúcyþ÷ͽ—hÄé< EÅ®ÓÄT¤.Q€u)?áS€Ô%È…AÆéN! ÆR"ÌØ3MãÒè™çóÄ’‰&õ¿ÁÊ)´ñ4³"pÊ»wì=KÑÏ@ït$Îg…)Æ>y@h ++Û"atŽ ‡;qNº FlA?×ËàHBÆLkzž)¤†3]œ¾v·I97槪Qw„9[~ñØ·ÙSãÈ3¢c;qÎDä.êÈس”›:b@‹j ‚x$1—Œ®¤Ÿ7±—èoò–ÑèR÷;Ähz0sè*…t(sŽ>d9CûL×r"‹ã-jqVp˜¢T2XZ c*´«1k^®ÉñÚeë“:*ZÙ8mdɤ¾ ÈÒ¤Yõ&X“Å_È· ¯‹‚~tcînêBl>Ý”3,TWœœŽ‘9¨êp‚}½¢W'ªW‡ î4«?íĈæMÒÑ_X‚3_‰}Ü{]¦†H•oœC ÑßË!ÜÁ™‘¶Çæ êÊPYøÑO< ~Šúð|9‚‘y­¿émyuöì{‡ô´Üà ²cȹ°Õå¦B»ßï—šh|Õúv^[¡Aa9“턾:à@u¾¹ÚR2R¥Í‰Þ¤_„Š.±.µ¿î¶Èäú g`TIõ,C4 9‘J³‹²BÖUuK^Øü!¹‡¾ÉáÇ'Ò6‡¬¬a¶­°ÕCÚ[q-ið:Æå÷²@ÑóJ˜*®*Ç"¨ªÎ2¥„RÈäÈLz¡9öre3ó>øøúáⱟK ún +…%sz€|¿ •à’úlU¯ëg|‹?ÉôþÛ­Ptbí×#E„ãS^»t¥€Ñ½CØ¨É YëIIÑø#a%}{´›Á[ÌGAǨT7Á­BǸž¶ò×tÎŽ£ÿ§–_d‚fƒàèòÀov›nÝÑ3ym?‚Jø¸Oîlí\å¨,°‚‘Ûíùšrõ»ÞÊ!–SKBò1×T)‘˜¿†£ÅfÌNÐáÈ—¹ºµW©?<-9¿1@î·ÄíBäHµK"”-¸¥s§@« b­Î¸«/ØbûþÓZÑÈñ«¢B œ¤&ï +r/:¡E:AcX>è+Jõ,b1¨㜣åzýdT—|¶:_Ù‡^¿ýúÃT<*ì&ÚÛ:ýN$¦j£A$©¾±fŸ‡Ð Ü3G’«ƒ}øY¢‹IÊ·Søã_èÌ6Éxx?ÒeÇ9‡¾s e¯9h‡. ØÂrùŸh\ª¦Eêy þÜxž)ŸŠóHJ鸿WØM‚©ŸM r"-ƒ½t™ãŠ` _|WçûCÁEM8&Ó@oØ,±æPD<<=k¶zï=M Ýàe…Ò¥qÈÍЭ¯ÙPåxß!òGç0ÚÑòIzî—RÊTWnH,o38äA‚æ¦yt{Û®‰ªOÉqlœ¦Bÿ"~üêÌyZ.LN|y‡Ía ®Ž¢‘‚ë*¢f>qw|ì5gÞ·ugöVf òx¾%ñH‡ý»óe,Ç;p {ïö ýêçôü¤ô^2­ñºMÓžÛÿˆ0Ÿ.?’ÏöqÈ^A‚#’#&íiiŒ‹Ñ€øGg¾U¹‰”pÝ°[h³8Ö»a9u"Õ™€|×AòÂ3xB ¹?‹8|B÷4o. ÿ%.îó¶P l” «v1Ç{-|&üö¾(Þ…`›Ld9 ‡ÕÍèž3\+\O– ÇÔVª²þí‚0Ù5 ‘æìg¼Rã5|‰º‡ ›mÀú0²"´ÃâÃÕÑh_^Š…]ØËþ^—Ê:8ehÈ0Ë¢\ç‹g$…ã7^|Œê_[¿Ò¢sc†8þ˜id9Ï4}š›™Ù÷TÃàÏQ±ú¿`^‰ã·ZßKb³ÏKøÁ%ŸGM WÙç,zûŒ­ñvN)WŠÞ­Sï«.Y¹wøÙðØ6åB ¶ÐÆ¥v×Qˆ"¶ðšºš“†Jæãjë¹Üëx±=ð¦úœ–» ëÞ;P"Ÿ%¼³©ÀSZž¬›úš.ÌѺ@pchÁ ðÖvd ÊØ׳·cSƒ„H8è¦PVk“F8½TsëzŸ 帋º¼Ãùçd(¥§r¤ÚPçCiº†ºýÒR“v@+®l*f<Ñ5 QY—}¼Õ\ô¦£·Ýî³oÿVýí—±WâÿÐü+pãéÅä +® +›ô#:Sü±3ø\êåµ#i¿¡ÌRž¿´aofp· +¹8÷e,‡lh³ÚÒ¥0QënliöaÛc†7?ì܃àÙìOsñ7/A³Ò¯:ÀÑ@•V¸ +©ÌëE-²ªÿPNsm$SÞê}D®fådU—i®†ŠMæ¸=š%[ ^Â!ùEø¥Â ¿ÛAúv4ê@Ãü +Ÿtóñä +à¥f}¿¿Ýlïw`™%¨“råt÷:çÔðM4•Rг°&”_>ç‹ o·áÓö>_=C{â …-´MØ9²íÎÁ 8w| SŠ%9Þ X»ÏÛ:õñòE_Õ²åŒÛV.¤…ÿ"˜NUAZPåÒ¸’W> JŒÐôúΕ{oy¨%›­õ¢Îîf•!;nhp±¡ÆYñ™¾Úëàx¬cCÄÀvPHcUK^)b Ÿ¹ Þ»N8¨óè(ÏËØPü¹Ñÿ¬¯*è0¿p¶„\;‘3ˆ1Ü'h§­gÀ:'íWÇ_™?ÒHÚÈ3ÿò‚M'Øøž[šíò`l±ú¸)5fEÞG h¢Í#ÒOð¹k¸»¿…zœYÌVÈ;íš²fÿØÐÔJ ûªPsÐ`Õ¹V@ÑÖ€F¼Tæ°)ätü{ º¾ †àèm3ÈŽAn‚žÆ +­“…ç²äå]ÊÕÑv_àVâÕ"ÆóœþÚ¾6†Ìéoúh •« 8Ê!±ñ¶ª=‡ÅKóPF€²I¤bÖ%QY·yH2¦ù’ÜþyÔú—nPd¿æ±HÁíŸa¥µkÄÅ_ŸO’¦·§]',s¦pk¹“®ßKg'’Ò¹­Ô¨m"S-B«Àgðuq[öÀ´Ò +c!Ù h§´v/¤ ÑW}‘b§›YÚ…3í§Ù‰Æ{ëßãß%a˜½¾–è,¢"\ÊsžªSG¤@ÿqL ‚#äÖëw™ÐDkÅ,T Jô¥›8“b“:/d²´N—@ZŽ‘YœÛÕÔ½ÊuœÜú¿1 ¢‰Qä}­<’ð8¹ª¸jZƒn Cé7〛H+„?Ÿ1·ë™DŒ)JPˆº‚m^=™Û±kÍ D¨bø×*eq3+Ok"O•éÐ)úKE‚1Õ.ßL•n}Ûõ1摶fK_S¡µÄ>p8fgAá +¿ŽÌÓ7ï …6x%¬Æ-&ÈY‡_±§MãÖZ•ßQ[ïÓí¤ '_•)!òP-“‚Kh7A¸;£­²~Éþ§¦¶œoþjï(÷}±|”œKË‘ÂÒó$Ÿ¢Þg¹Ù—+hb©Àx@¥bLe Ì}ÍêöÊ +þƒÉYÑ3Ôð¹Üv¨Üf•Yn2Héœÿ¶ÝR£ßÿLWDEFp<•U‹?Ð(©R"ß·9ëÝÕ:=Wâ-ÿöÓ䛓ªÊ·+àhVo +·" Ü¿ ý×RQɽî[:w•u)ƒ™jHÌ`ìeó\ßfÌÌŸ^@—‘ø¾¯nn«9^‚Œq@lOïüöÉÚiÂuŸk…×lš“¹>¼Õ”ヮ«ô15ÙsòO,Ý CbÞô„NË]aç±Ñ• +pËCÛ®Ô{š›éo| fã¢1Žë«¨ïV†u`#Béô]vÄ[²ô24†@g5¬¼M1ÌÑç ‡œøÌ{­m/Û¨`²Ø-öÆ=tôÿ“µŽ¼€2!´-ÕOÓkŸ02v¢¹P‹S*<¦N(YFªºíO'‘†§# P—L“C`d¦4‰ F·œÑ×FVª¤)Y†¹ Húƽ¶8¤yA1ÜÊpäpL' fÇogŲ‘\’u½þæÝ`ËÁ×°K +¾Éoo¨Ñ¿6´b-îÄ¢*bã,è­€-/xž¿sì´Çk-n©îi ¹¢ˆ%Fè³ÌÀU¬Ð÷\]Ç ׂ +É‹ƒó˜™}øØ6ïb#ˆ‚(, F·¥ãR<…*oŽËFª¥·ÇCþ†o VˆŽãüõos"RXt¶µy@÷Ñ(0[ævÒJÚ"fóå®&Ò&’bd?–‘—îž4Wk#ù.ÞòØ-Ö1àˆdþؽì@Ùú›¡h.IÆ,}ÁàÿÜú RªQt¿yA¬J¥þ%"rê î ›ˆ£j"¯5Ø1&ˆ´nUc…uím1ÿÿžb[£GèIäyOÄZÁÊÁw]àé-R>"›‚IííK›äåýÞ‹÷b?+ÖÀlÂ9„¹´È~LDš±© +'¯àÅ ›\BéöüŒ\S ­(DWk˜éêi5¦Ÿî ®ò9z}°;Œ²á›‰.La…äc¬öÇÇûÝèadlµƒèÛ _w}’º Ч üÎüœÑ6‚³»|›yPëâút6°¼3H‰¦Œsô‡¬%ôí±Ádîêêª,ZVþ|€‰¦i>Oæ$¬%ië«çÙ˜¢›ËŠâh„áZ©è>V{@Å-b}“†ª}]A¤~ˆLßÒ:ý2Ås$òoró4íÕz%ôûaLïž,¢xTX Øk¥„Á¼õ—(.é?FØJ­Ãp2±£Ø3; kËïþN A>ÑÁ×ùXžÛôܨ‡¯vòXh0Zh_®#šÃ,îá»sbÎÙ¡ré“1$D¾ÈÈǺ„1Áí'LtÖô'›^¹}³Q‹üÌåµ˜Ò Õ´Sûf6#yúà¦%‡ÖT·uµÛäæëÕÚŸ÷À‰›”0õüÌïÀž8Ñ0¶î„ ‹ §3¥÷ElÅžea· Šñn…MVìš×Ÿbû‡«ôQÁ´ØÝ‚C§MÒuöe†ŠágRýuk+Ê·Ö¾ê¾ò:‘Yƒ§çͶªj šÚŸTä™sFF(ßM·ù0råµHæUmLôÝÖÛ',€—¼Ž’§@CjC’qõ‚_OGvÒ¬6M3š”Ä.§ú#­“Ì D¿_1‡¢sòêËh!Ž°SѨ¶Š ¡ôH«~ºH¶ë88Æ1~ë"_â;"n¯¨.(þÌ À߶ÝujþÐÖ‚:½c±»6â:ŽÒÿ0ô"A)éù™áÓ4Ñ°c«â:OâÕx 3hÝnª&š æy#(Ío׎ æ×k^1*£ñž-7»Ç¾Sâ\&úI6½÷øCë¤CÕôT +­‡tFéx°>ò_ çðïIQ@§È†~FHŠŠ8hµ4X'VyRœ ?DC¡wk-"Êc¿k,'ncGOrøEyñù⊙tLúÆ:Àî¹ÞÏs®DGª•/¾µ e@y&Ql’_ù¤†~‘ÕŠH(TÌëLY³£S:@ö(œÏør¡TXµ Y$ñ^ŸUÔW”)e謚µ ÝKø,w`°h«n8xg×\ æ­8–ØÛ÷‹Ä<‚Vx·èLþõ®”l…k_âH†'ʦ暟•ž’ò-€ÆTùÁì:€M Û[î{Ê%Ìé Aè-¬RÖtÒnšìÃßZ}T¹¯Âëä¨N8˜6Ôå©ÝÜlÍÝÊÖgöüG·1È¿ [ÓXp§Ø£5=æðáëp³9 üý=Ü.òåtô=ö3†l6Ââõãìkݘ=–{ìPÏQ#ªå(š9u6.°îEu?EŽL 7•pÝØ™ékXÕÏЉñ§m•Âu¯Œ,—£öðú.BˆÂýr¡Ø.²ü¹nnQ¾=)µ|ì,°r/Ïb5ù´Ü÷ßJo‰†sU»ãçrÿU» óäRêÛgò£e¡³Œ®Ì‰@u ð!å:yñŸ¯ÿ¼ž;2ÙáúÝÏwâIãsS˜ŽŒÒXR˜;, è ·Õlf9•Šy!«\”ÆCÆ[⿦éáåèžÊ†ª77ç݆¶>Œî9q!w5FøEÉnåGªe†‡@~Õ€?‹×pKúíð¥­:¥É!+Ÿ:RV¿Ç-ëÕö¿­áØ_È’ÒU11iê¸éž½^éÖÐ!1k¶jŒÀÕ¿I(;õ]Ô®˜\NØ)T+wK½ÞM&¾MMÌV +±v‚¼0te±Óæ¾oÝ¿C3ÝÏ©n—sX¤¶‰K €?Û§ð‚Ñ´Í!´!>ñrùd(ÙÊmù<û§O!ùíèâôË 9±‚oé]ð D»*½“ÝZµlg¿ÚLUEÌV±Ìq¸ÔÐGŒr”.ȃ›˜š^¾[|ÿy>stream +ìæAÔÂÎ +endstream endobj 923 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 924 0 obj<>stream +ÖHÚM9 +#QÈ<}ÈØáæ—%T(ž‘é¯mµ%ö9±ðoà¯ý†+Þøc =²W»üŠAL •\€•d²Nî]R‚ø +endstream endobj 925 0 obj<>stream +GúUJnÍ%"À +endstream endobj 926 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 927 0 obj<>stream +·"ßögÒd±½JeW« Âݺð`œóö³…t½yîY"^9ÑÞ,ƒ_M¬Ü¨û>stream +n ž‘G™› +endstream endobj 929 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 930 0 obj<>stream +Å[Òc8."TÆñn üE%I×ãxšO‹Jý5«³C’t^Pºsãê±7ð¹ïþÌíjo&íQiH›•³ã%«BJ!<;‹n%h +endstream endobj 931 0 obj<>stream +9 ’¦Œ9C, +endstream endobj 932 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 933 0 obj<>stream +Uº™Œ·×/‘aÆ‹øJùH?Íi(Š&?í}=†š ÕµýêrSù¨òf;IÕDóÖøNâÀý³¬ {†r瞧l¶ü2×µß Ô¾› +endstream endobj 934 0 obj<>stream +øº¯T¯;lB +endstream endobj 935 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 936 0 obj<>stream +QKB ýÒIŠÔõ™˜ ¯š[æÊv¼Ëâ˱fŸäþ CPÚsån®šã~rÆz'ù¤¬Æ ÈeëNïfÅ„õô ™e¾ãå +endstream endobj 937 0 obj<>stream +‰¨W +zF +endstream endobj 938 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 939 0 obj<>stream +(EØV½9åó÷œ¡òyWÃBÛöd‰ÄF‹ ®MˆÁ™f:YôžËK’nR–ÄVÿ¹ æîäÕ*x¾¹&i–d»uªBú½sƒ¼2SÜ_¹ +endstream endobj 940 0 obj<>stream +0§o:±Ð˜ +endstream endobj 941 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 942 0 obj<>stream +¤Ø?vV2';X ˆ±I/ –Cq© Hç%iÚ°ˆk¸Ü†)‹íe¯’“éENñ>ÙF65ØhÕ1Wêuþ +Çõ‡ƒÊÚ"‡s4—r +endstream endobj 943 0 obj<>stream +Ž­Fj¾|i3 +endstream endobj 944 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 945 0 obj<>stream +‡oÑßòpðøÌ™á(ĵs8úÌ;„6{vƧÿ¬gª èxaì¿ðß)ðÑPû)O¶1<°½hm +®NÃ\õa¸ “HV9¦øéÊÉß s +endstream endobj 946 0 obj<>stream +,Ûw MXS Y +endstream endobj 947 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 948 0 obj<>stream + +[ÍÛ4³UëwëuHãjMtkžb–“CÑUÌÿŠ/©Ñ ÇLåùŒkç¤1iï`€†ày·3TG¦­M*¢` +4ã +endstream endobj 949 0 obj<>stream +w„ÌGñÚôã +endstream endobj 950 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 951 0 obj<>stream +W^‹ÿ­7åAŒÝ!¡ðgi—„£ éÄ| ª¨Àq€H¸S,bÙÍ®ÁÍÊÉBÎøý>\ùíŽc¥€Ôô.Ok¿ ˆo¯r +endstream endobj 952 0 obj<>stream +{xÚ—¯ÉŸZ +endstream endobj 953 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 954 0 obj<>stream +—1B¯öDã•s™EpQmùÚæAÍ(à-[<«ŒÚ¥FÇ$ :Óh\òõTGãë͇™fu¥¿ôú0%籶Œ¼CVZT@]Øw|j +endstream endobj 955 0 obj<>stream +³2äÞD«"ç| +endstream endobj 956 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 957 0 obj<>stream +´W¯}ÊËE­ÀÔ`r=¦Òów¬j0r`9câ5¶˜9c/¿¥xšç,¢/ŸÑĸ‚ÊOù†ªþTcö · ž ‚V_øœ, +endstream endobj 958 0 obj<> endobj 959 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>/Pattern<>>> endobj 960 0 obj<>stream +ʹ™2OL<0tó ÷Ž:ÜÒí¹$´@9wã ^$D€oJÿùÛõ}8ì×M$_.zTñ;Ë=U £hBd${¡ÆŽõ„Z>M e–AºÎ±§A:Ô!¬¬<ý2.4©ÜÑ„ƒX–"<Æ9vª ..d/;ïh˜M$©`¹UüZÿ 1ÊÀ—-B¸&/1+ú¦´8ý Î(Ñœ¯Sõ½Ð’ .¯N0kÜ|2t½kfâw&2—˹7P}2s ñg„fôð›s"šÕl³[ƒëÛKNÙè“«Ú;}&Ï»•ËrM(£#áM• Y'¼ÆÇ#+I›Ú))Égïb¿×9¯ÿ>÷6vÐ"ˆ­ü×ÛȪs±:Ö¡;›ë®8k7ëç9x˜u_èè|·2#HÐ/E5»õ ªknб¯ÓëÍðMºÇ÷Rò×ElÛ_ówʤ…åœ-Z¯‡9¦˜"¬î=µ{:ç½QHÐ5‹ûuMˆëñ:Öƒl…@¼­ÍYÓfƳÁíab-oõaÓ¼A²hNk‰'‹„¨‚ÌÙ‰8»K7&Ë&|۽שŽ*†nfƒ«ªøòîvoòÐì”»,p•+W&|n‰`Ò¼~¹¯åB“¹p*×\¶îßBD_ËÝ =ÜŠUcK_¡Ê­ ÔXqÄe¡±”]‰†^ý2[]Ÿ)<÷wÑ•4™ø‘‹¦Ó°5>fKÿrŠ BÞk¸ +›e$S>Ér3æùVÔ}¼WÌ•˜<ìxO“>¨žÄYH#ÛA‹"hhƯkúlG£ô}öË<õ…Žê+µQ™fªˆo ã/Q6?W×ï¼ ¾-<öüÞ—NÀJÇ]°Û†7˜?`ÿ˜ò®;ü=½îˆNÓ +J“±ú"eøxNT'+•KŸcÝlð„%è¯4 oÞ™‹5¯‰fJ[—ºÐÊ6þ~e:¤K2ª˜³¼ª)b|Ç n¾§£MxQ…„Ýø>Žˆ†]©ÊN0ÞB,¿£iѱձ)8:´[³/FÖäoú²ö^þKÈ¢Ý'ì…AÞ„3%Û·”ª¬¶H8Ykià·J&É›%Y»Ê*ä·ŽE³D'P¿b/Þ+_Ø„zj¢S§@Ž€Ê@äÊðÎgóƒv÷bhc.+#êx|ªˆjŒöȆ<7fŽƒ`°Š6Íf2A¶™?:ZEr‡gsÔérª a#ÛæŸôÖ\ã{6©b¾«JWwµá·²Ì…ZZÝ#JÛM츖ÓÎÒø4Ýl_}îd³,ÔFé¢M_þÐ êï"jk %÷(°¤P Üë–IƒžJ|¤µÒç«Ut™pú<€ŸÀ±wÄK1£và\_…¶ðYqߟZJîo_ªô\î±e”µ”¿G¤&ÃÕØ›–•x@}?š®€tå3¾ºšÉ"ªsˆµxµ&©<(Hˆ=GÝœtÔÌA1¦ 1:^éû—"±‚B½¢ÏܹpMgX¦?SƒEø`mÓžœFÓ1µ2Ja'2=”€F˜t6¨o=§zmÂæĦ˖Ë[[q¢|ÖOOQõL=n£¤zg ãÕ«§'j²ßŸŠ­ò—Ç…yŠW5H>ªlYšš»ªÑ©Ëå"rÈx“¯Ñð£KG(í7“¬–d}W,õu^„²ÝcEÁ­îNt¼hA!ÃX²Ã]ƒ{YJþ™Q»»®cO¯¥l”åÕûª¦öª±Í•Ôyuø[óÚ\têq•Â~1Dâ¬ÜäHS»NZÒáDH¥qunýl5•¹ë¡‡÷zb +”œe€±Þñ`Š«ðBFø·"Cªä³7BBkÝn/ÉÛ¨¦*ïcÅ4æD€lD§fžAx`˜hÇD·KnÅxEx7È®#TYŠÿ$È£…áç‚TeQ£×ö~4ü¬n¡%±¢ æÞAêU<÷–®^æH”eÏJžûg®”-7 –Ÿòä^Šäï-*Žw¡Šñiwjäœ[â€i:pJBµ¿+üÄ9ÿЂ>æÖZÞÿ V§6£´zµ†¢4±+¸„Æ5ÞÚ°l³6Ÿ ®ç\Iù2z-ŸáR<ו‹ºÒÇwºÈ·€MY† ñÔu0a /·)ø3Ž ¼…H/Ù]³_/FFBc:ûênO·ö§æݧ€§d”$+}T·ÅìÃh R= ùž#Î,5À€ÆÀo;‰@åoä•!0qŸ<Üá#M ”ÛÐÙÜwŸj[…Ëåâ)¦PTe,3ßr{ +b%º7ùɸ ™Ò’ŲBè!¡ÿ¹,Ú³Ûÿß‘´Ð_/{a—`½*F¬¾¸ºV·¬¾áZŽOꀵ`8·?­ÿ¿…GHr”óüÁýÑ]ÈãFúmS”¥T£»@œ-"ŸGu¨ˆC#¶Z—‘Œð"`?u(c;kÞœô:æ—%Ë'N`¦$…‰^&’âß «»é<8ð6_üP4ÛqaÍiÀù4N<&q¤æ'l»Ôâ”æ­ø•“—¦zÃqe7¸{֒ȲbØ[‘“r:aÒÄ°dŒÂ¿Ò¢`,©\ùû£5±êù|ú‘X±Ke©’ãΞ7P_‘œfvTߟ´s½ÇTbÚõ˜ÈõòàÑ÷´ó Š¦œ—œú€â¯ë¤Ö²9 ˆ+{õ§þ="Æ Û†u¥o7AéìÔ3•K¤FÍ÷¤¿¬ëÏ3;¦]ŽuˆLÞ.ÂÀ®Ö§` ÓƒÁ)Tšáª¤ÄSÉ>}ƒ#çÁàÂAœc:˜¸8Ÿ©-“1¹¨FÍÑZ;¹O¬u§ôÚ ’#)7@0ÓtL¶ÇÍP"ßC9°0\;Y®]-\Xûv$k€Æø/ž°€+ZùWÞ“œ“ŒÖ—÷ð"mCì;Ò’1ð˜"3üB‡­K8Z#íµý/AŒýytÙšü`ŽïoÀfBw‡à°nË^7LŸÂÌ!ÔVñØÝS1C=T:–§lá~^ÒO±qaXiëÆ7>™ ÂÖÅ°øà ˆßGÂ]Y»Ñ¶*?Ò?tdÁʈΜÑÈëõ]—2$½6áx'ôÁŽ¯Ì§1µ'Å#Õ\‰UÄ=øiWŒ]ôÚS3»ªåj¡"…@EEqXîá¬O¬¡!NÇÓãÑŸ&FMPCÚñ­=jÊtÍ~YgÞK`ø§‰«Ë¥Šs¯ƒ%Eä°v ŸbºóÚ7GŧhT‡'®Â5w‚b»¯úÀ÷iÜšÜKßù¹§¤­™LŸ`rY3†¦ñ9wÌ“/ò¥ü,O2 ëa—itPÕ-ËPˆé¯^N×~ÕÕ:ß$îÔnF¯ÿï0ð)bñN”TµhI5dR”/:åüÒˆû®‰ÄÜ}Lj) +)2›ÿ†–Nþ“Ngõàò:Ÿô¤Ü`Ü +ÌÙ1û—"gf«%zMÿ:YÎWÎõŠÚK &܃ڹ¦·@3…•¼H–£žìóW +«XÚ̪Ê3§4ÿPÓPŠâŒ2.w9=Qží7Fx•éW&I-xoA Z”lâ:ÏÒ—¨Tf¶ùaoÃ&®X]šnðŠX‹1VŸ•ˆa3~¸Ô©/µëLNO!eî›a®@ ç`Hwzršß¯¶y²zÃdÖïænÂé-Ö' %b•­ ÅZ7¡AàXT)Ï™Wû#ßt§‡n›„Ê´&‹{ÀWÞ¢Bñ<¬EdV?BN¶;&þ¤Ðpèðcõ¦ÏfÅ—¶1¿+±9øßÒ™ÂÍnpKE÷ŒO£Ç;»»VÀ„»6#`ÇoäZRÐÁ?cZ‹èvó«í,€RRâU븘hÜ„œƒ›‹aã1ë( àS!Åž(måU¥ºÂÓ‘{hÒ6±L’Cí×X<·àƒYß ¾7@k±ˆ¹ªzG·×t×tJVœGupÍS5\3Ý™{Õ¢†j¬öL÷(r§ï8ïø 2 ü-ÈŸí/툹ý/A`HÅhváz×ÊæÇ–iD =>ACt”\Á5ÝÂÂb=aÉÑs»nñfº ‰·®ìêˆçTÙWÕZ™:Ä75¸~øUˆÊÚu)Ê©¯;LƒLq¢©Ü8ù+mœàƒŸ·†'âs¹•‡ÊÞŒFaÌbÕ"ïôíØwe±Øb=¶8dý«s$6ôŽn¼÷Fê›bqÔXþDúg§guC¼º%F=0#Ê @ór7, W¦´ˆšò*óåÙ«€ü¯¿ði“<Š¶Bø(ñ˜û`¼á ¶)4cÎZ”’T¥ïáïm¶e]®³ü0 48šK:DÔv½Õ¥Á™«<ˆÊ³Øÿõs.– +.î2Ú@ϹU.¿ÇvŽ¤ÕÞ*:ðÆ7o.HQÿ” AaˆtŠÀV÷`ëB4&–*„œ„×€æÑÐöÁ¶\¢ÂL¼9¨Ž*ÍhLJtrn¨$vPw° 7owëD“ŽüÇuDñc%>Ìú˜¥Ã,´ œ8ú0ãe@Pªž1©EˆbcÉoÿ£4þ2ƃƒ•´F/âa[Èkðé9i@`™)CÙ1ãVï>“TF³2/MÃ?¤™}’±žëŽów…Ï®#÷ú„† ïŒ!ÆæVÒŸú“É•aWë,ؘÉÞñ—!W”à_¡Þ™LèÅô‚쎽€œŠêð=ÒxÍI}j6\Ó·.Õ»/K¯Í¼˜ nÕ +±zc&=#Ž•â?Ü¥álw:¥˜±%A?¢H‡îUµHRC×”'»2›§$ ÝšâFˆ ©ñjr´L˜œßW^DðqŠí¢Ä‹èX½Q½¤IEü$Ž‰(ßõƒMÕex¸Õ¹¦KPhùJjÎ÷·c°XÜüH†@˜ æ Áw(Kg2ÿ9\à~n3÷ôî2éã®VÒ{*=Çq1£WwY6çQ ŸÝ);ã"gøRqÂ{öqZž[|@ NE-”Õ5”]©À¹¤Š<1Ms’ ©^Ë)®*ë|‚FþÊ(÷š+¿IEpuöÝn›ü=ß0üà ."ïÈe=ÈŠêa!%½6¥f¬2TŠÄIºÚ0§?{îÞxÛ^(ËQ”íëÈ5óy™œ†ÊbÜí¡ÊU2à‚üÈ9Îäî°EÎŒ~@ó:Ê÷ÜÕï_›u×:•Ó@Ì'܆uý?£ž°i–N c*?›¸† M éúéˆÜ8LjÌp”Ù•øËN¹7æ»p…GB0µÙ)­üÒáÄ9ƒ™­Œ¹C…Èý_ÉàG˸íò‚!Á× _SãÇup„[ ‰ÖŠ29%4ŠæÔî=’Ti³À öjщ[ÅyPYjNéY¡(÷×òòêÔ>ïÜ&b©£³B`qáç}36¶¡æ¥bõ§¡q-U“0v®cM5’BñçÛm-†CxÞŠîðÙ +¨Ç‚Ì9VÒë€ç†'óá/Ú¹¹Æd3¡amçM5´?éÚ÷ {¸‹®WQ‡ìÀ"îÅŒh ¨ã!U¥/ÚîU°i:¥ÛÏô@F—7T?*MîgxDó<ú‘úÎ#[‡Ï/èci‡S÷’$…šÄ=ÁWÃäÕï:×=¾±n«C {´+wÄŠµé,ûù‰ yæ‹=9ôj[(!d9©1¡®Û$ÿFZ©¿¸™!ÿŽÛa6x~’N4Ÿ~6nsÍÖÖEF¢ò)ä Çÿ& )ÐeÞý·ŽMî{<3!.̤9±­º¨¾×¸£êñÂPW/BÓªÝ|y–â@ÊŒ‰ÞßfC.“Þ‹…DíOßÛ_ +_ËxËŸ‘å¥3&;ók´ä&ŠÓ™®LD¦Ø丈êÅ8AÌ8wç0»¡½ï¾.ÞïmB ³ö†Ë‹\1¶¹ª$%öñW`ô0³3„Ô,©.|ÔÄÓßš‹§´'ÝHЀGÛ’@TvÜE ‰SªWQ-Ö eº¹ñ7?»1ÔÁúxQŒ‰S|6Ÿci=´UJw ý7¯ûæoÀÙFcJ{ôå¨ë%¹ÙðMÚ/§ÚE¼+£ŒÒÑ,p]=ÏL¼¶ÿÄès5î<¿ænê¾¾í] ++™ëVɺºR©ø… +"u'—é€þui¿ù•!½òRýß¡yå t\·TÞŽÖ~×ñ½Õ-n«Ï{íÉ·üExB%…ëé#þ¯€øúØ(a+® Â(_’ý² Ãð:ÉßFhƒj´äù‚¡åÈÿx[Ð-F:Vª…íX +'Ss&J,ú㶑اjÞРëà\qõ¹ðþ41Úo "ßèK…JÂÛŒ Γ´5)æ0Ë~F{*œiq%¥òñ¾Â*D1Ò-µJƒ-5³e1D…ÿ8àåĪ}¹²Z/‡­ MY¡T˜-4!ÞN¥d¥ÑG–Ü[$Õ¡ì6¢ä¬©Ä‘§ÿ; ¬êWPIcw>¦ Û¤ã‚ôìq“J¿K=¨ßnäTwqˆˆ.pè”4Ñ”X8Ý:>+>@7¿ÆY”>¼Ì/IŸjšÆ|^η¶3ýX¦ˆ"…Òç…Ù»*Lh´-Š +t<¸Ûþq‹HªˆDëëüA1D?^(öØ]þ£$ÃHšVÏ5©çÞeÏÃÙ—¯øûN«Áˆào0¾å¡­a^™2;óOš›Ù§D»‘á×¾¿³˜\Kñúú“Щ^ý8_· ,w›íú½S’i¨ +mJÝ%³…»þ¾– K&òB×H\˜ß\dšú˜¥¶«“€îQŠP.TÉ4ñ;OBbaÈlìÜôq§Ü(VZò=¥Ñ¾"ãÛèj}Pæù Úƒf>Ÿ àïT*ú¾ç˜ÝÊHƒ‹BjN¯7ýRËh\P}þ³êã Üç]~%Óþt ^».Ö^# ƒëý´3æ¤L[%ÚŽ© ¿‹ÌÆ,µ[áÜ8~öÛÝmÅ®.csS,ÓëPe£¡PÖAÊ‘ázØ×  Д+UÜ §C»¿hò[löŒÓÌÂZ^öLºV¤ÛQ7Çì¿ßQºV¨]½÷m‰A‚F„ÚuÍq²t¨¯7ðzº 7Ãå¿â´¬ÍôŸ¢CfxXЦ¡Dþ¸º/š=ýœî!#bW÷dÁ¥†àa‡<þÀ—fA•)k¸ßõç'€ú$¢-#šÍ€—.rçø¡nØTíïq~XÁ šJS™‚"áãœ~miÍÍž–fäWÃ8™\K©|‚f ÿÐÌ¢~v¬ö ø)üRÃ'îðmÀørdˆrWBaÜ<Ħ…åNÛ¤ãØ_ê` én +>bJjÝ- +}Ýö²ŠTDUî0í•£ýÂ`wPÓ|Ò>£Âl,‡õ# q¶ìïÈ2¹ÅÁgj-mÔb¥Vº*e?­M‹0L+¬™¦Ó®?+6Ó…/ýR‡ëg[d¯®îãÛù• ýx—Ô.j!ÝÝñb*3 üÝ6±5´s¶«™›^o eqÔ’Yævܼ8ßòƒ(öj¬I^:˜~˜¾9õkýƒÛòƒIÔ~Gm»ÑC©74Å(¥•¼‡IlVɦá“ÝcÎÃóké$µ‡Ã¾/U@™c\Dºƒæ–ï‘|öœüóS¶Þ¦ÂØêFº ,[^‰9¡ð„÷JBÖ + "Qݹ”ƒéï>O^*¿.úšP^X!ÑK-ˆ‡­Iî´PcC‚yɹ™!œAëú8HåÝ:s &óÜË ¦™HÙX‹Ò ð¯GZaN¤Zx{ç/0|Ÿ÷ãj®¥¢9 hÖs´juT˜5ôÿÌK  'D¬ªBÞóçà=“Ðì‚7ç)Ѻ*ÄÝH·ä¹y-Åf~—Ø_€¼k!¤L¸†˜£í C‘¦¼–îõv¹U¤Ï „>KÎgɆûU/VC­5OÆi~ñf¨ã3ê[ù6Ø~…M¯‡Ëd0vËÐÖߌ{W˨rvD cb»A˜ëE§…1Öt /[H˜Ÿg¶H€}ÜâFè8V¨$ÎevOýÈ%õ?ÐÕ­êu3*{Ô|nÉ—U;Ôj+ü›Éôè5@ˆÏáüV–®ßh%žºÇ„w­î>‚(qÛ +rÆ®ûÊãÎbuºü¥4^p +l©Ä¼¶… 7óÑ­YñÑšF%©–³Žâ›­ùS¹K4”';Y†¦¢Ô=aÊÞc„|“… õIDxuíBöQ0OgtäÉža'Ö53™ONõÂ÷¦…¥šŸ:é˜\o4‘=p(rloLjïùÑö<ÑcÜ›(N§yöﻞ,ĺDø°yGr¤ƒéc2˜å2, ‹A–£IýA„WP\ÇV++%|ÚpŠL—íú Ñ¿qvZ=u.Ž?²ÄP³W\}Ax7•Õ> aEž: yüS ”êœ<ú!Yõœ\é(ø=£ï³ÿ—7d¯›XM5‹ûqH‡xVÙëx9_ˆ]‚ç-Ù›-¦6}ªàz«ü¾Àn&\3n^‰¹lys(Ú¸CUx<Ü~Ný&r÷æKÌÆ^IòûÖR]ÒGj®Š3ÅK:FMû[RÊ8ÅòÎt‰&¶ÞŠ¨ 6eU±ªBWQ8r±,æ[Z½>iä€Õ1Üx©Ðßh.ÏNR¢Q3Þ]E¿¡7gGÍÝ Fä,œ<^QûK߇L ëGkß>k¼qyïîÈóE,æNo¸f–âùë&X çŽ.ÆØ<õ%‚ .þ¾—9¤j( _R;×òøh</°…%¾Ägç2Oª íuÒìm’·ø¡2Ù:ápÈWêœDŠ¼C’›t€0ó) ŒÎM…àË_·×š Ë+-MÜ*iÆåÕ!Ë®Z×<ÐíãMAb¶VÄ-%?vG­ð«>ÿk‘[ÏË{•W)zÚêMƒ¡—ËÊbÜ!¦F—©Ð,NGoµ;ˆ¨H=¥‰¤\Ú1èrW¤F }  yåó\b60"x":º÷/véÑÆÓÛ{ZáÛÌç-êè +±‹¢“»°s×Î~øh‡GáÜÎÔkƒ ô`p$†¤“øŠK¥ìK£Ýgl˜[oŽ.DÂMk=ÛJH[Ê«<å‹+P)í":Ü _Uø«ÜJÜ èynõÜÎ㮥Ħ|ÔëÍ€o\†mtÁãå½7fÝréÌAs¶žÔЈò‚Drƒ„^¶ )øÒÇ{8ˆ£ ‹Æ¼X7§kÖ÷#Ï(–9ðé×( ÷^ …7ö–e%³úLªïh‰ð@í׌‚#kÞæÒ|Ïçv^Ä,sC} g®%™K¾z7[¨6¼nêy‘³S¹©7ÇØIШڒà/s­Ä/yðC¬ +endstream endobj 961 0 obj<>stream +Í;Z°u®‹j +endstream endobj 962 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 963 0 obj<>stream + ¿’ØkÜ™qC?§1x£ÑHEÕÜÞp™ÀH˜¿œŒÊG^OÁElqÇ'¯åâÝ!Ä®õ^ +•4€dÞ:×r<úɯyݳ'¼núnA +endstream endobj 964 0 obj<>stream +Íß¾4]ÿñ° +endstream endobj 965 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 966 0 obj<>stream +Š•aÎ)µ”9”ù­cqÁõpyôÜÃÇ­)Y»à{+´¦3 +¿Ó¨6xš/y8Š%äÀ˶üÁºä]¼µÆär:Ä°ò$ªÅ„5]Ì +endstream endobj 967 0 obj<> endobj 968 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 969 0 obj<>stream +T@j„“xÆò{BsYrÉæ¡®\@ºÖ ÀlMe¿Êø¾Uu.ÄýÝó!)>£èHÏõm´”£L)ŸGe_Ì ŸÅa–ê'^±„muÌã–SƒôV•kN&zÃç²:üg]9Æ [V’”Ïý£êš×/µ³«Ä­{É)@BDˆ‡NÙŽzû_”Çä‹Ivå äW(ííÝAà—Gâ\ÿ´„ŠßÙ]Æ»sòmŽiùUViÉ|³klóïs^·]Ååƒ!åÙ:p–Ib,~+vf„ê™È&° Ï´ÏÔ’Ô™±ÿ§ÊºÓó8î)/Á¬Ê ù›lU2Ä ÷Ÿî²V1®ƒÑÉôdÿÀMpó´œh\},G»æ×Ön üºÖœÕmvl§ù/Í¢bÑcl)J”¸&„AÏ >‹›¸Ð)> Ò‚û­¸*hͦè‰Ñ¿€žÄîÜm„Y{Pb/Þë}ÊjàÌí”õk÷I6-H`˜ÚgÜ¥™ÝSa­…KDqÓhN›2/…Î=`UÒ”ÂDzþWv5‰ÞÞ×—6–CWGÏh¨‘³{°G_Sˆ¶]2Ç( )±LHcn;©vp ™Þ;wØŽœòýŽRâ ;7ÍåÞ§f' =zÈigÀq©¶||t¶Ò2Í•>DQ‹¬ô—˜ÞyÉ:Qhëåî¼väåWt€iSÚ¼©æ—ˆ31ÞÆø~¤8!=»R{pxN9»¬KGæå“üÝÁ˜ÁŸiDÍÝ›á±Ð “#ìÈ0³B£„ àRÞxÈû¶ÒCµV_bN‚€t°¦ €©F*ê†üSR­k„ë'j ÀÊØxƒAù쯦I½,üœ?½…?EH}q~bTæ6œ¬›V˜Yi‹8•ïùî‹\c;ðæÇåçŽÉøDo°¹DŸxßDwå^â•òšˆ­Ö@bí!êv7%â΋™îy*h……¬ËèxÊËw@©J‘/oõÄ`_6$ÆûWIÈ£LwI0s9‘Š‡ ¯¯ÆÕ'ɱ[#Cï[…L:+ f„\1üSvá)—ˆUÿ‹ò`µ‰loјhý“gI$°f¤ÎÁï´›ÑZž÷kÇ‚ÚQ•0 išû«pLÜrÙ/^^æÑþ~¥Ý$¸àÑ6Ų «cÏöÑï1UwѾéŠïsÔq/—Åøw¢Ðýÿ9ŸižTG_£%‡v(GŠæ‡\Á dè¶%’i¡¡l˜DûÓ÷¿ÀqʼlÀA·ða¬–d{C|>a,p_ÚEÚhT˜ +€*‰u ´ <ähÄÛX³\qA‹¦ìuòÕÚZËÄ÷‡,Tü`ga¸ÌŇÌú~_Ä M«ºàUk.4ëÒúâý@QÂóÎ0+º B^‰‚/•äÀOlEG~+F.‘`ÈÈ‚KëÛ6çÛÍ0JrTO—­p¯Z¶ú›•2hhÊì YßÒ¿¬†¬Æõ”*œ`uîôìY|MÙ9óµ¦M +ø?òè¿/£àMás}y¦ârsÄPšq¨$$º3* U  ±Œ O$¦ÜcKÔ¨3h-UuË÷d(2Ö¦Œð†éÆvá~\Ƨ•ØØ…Ì×ü…—ªh©I»/?Yñŧ°Ï³æ/>*Ïر¶KgÌZá%ÞŠN±+òÿ +‚~Ê]j¾GTòÀ5$ºä¢UˆCÙSâ²ñn"É|iîúª½·!2~yœÒ"!+ºÂÏh—v¦ª£G¥«sD¨Q ƒ‘¿±‰5ty¾<­ß%*oï„AÌü1ÎøûHÙÝb”pp_zà6uZÝ“J“)"¢°dØŽsÛÓ˜€9ͯ>õ;p¤01ͽ“#ð"¦d ˆ[[®ÑŠ×{œ-*%6t–y¯ñ íEX®Îq+Én•ý¾èÚjÆ”Ž¨+Á§é$…£0†WgL)ûëäÌŸ÷ºÍÞ½¯”uÂêT2H£~ßµ'Û 9ñ{cº™q@ÑH!UJ%åsO–åºAŸù ï×*Ýù¹fÖ9Y!cè¾±n[D“~½îÎóÃr2%½Ì¿ºF6+§IÚädZ0!s9}âÖ³g+Âì“U7oÐ «$þþ<{Ã/éÿöš‰9Mt¡1‹BðÚ- +‘#å8¶!$aÒÞºÙRªfBŒnŠßvôÁO.aSÓ„É£ËZä¼µr5F´@,ý.ÎWXP9¥åNæA…û¼J…cœ‰˜²ªÕÞŦò[o…(é Ã_º¸ õÛ”Ê,@·™]2^)“R¢[rÕ‡[ÓúJß–üK®’¥Å|Zœíp)ÐLR˜Ï0ž@æ3;ä6 ñÌe”ÏŠ‹ÛÊeœ:”ûÿãôœb!G'¤°&tGh\SþQ0—|¤´¸–ëEç¼çÚcoÎ wÊe`{Øuð´P بÛvù-\Úo’ÐÇ!wô.ר¯ó®ùõ@£"(¿ƒ;ÿìÃ<–ȉë…,s·ï² ¸ïÄíÅ>½é +…•´Q-1ýFêû{á邺ÉΘ¤‘GÍgog\ä•-ÿ¶g§á’qGG,`–É +ã…KÊÝsýj>6l4Þ/,˜’Ež¸ojLûWÄÝÓo!ÉT¢Zõ1Vê‡.óP—Eo¸)¨ã8À°þß`6Q¡…jÔ¤ãÔçŽm¾—Ÿ$íÆëw<Ô·¢†kÀ@‡cò]s‰Ä¢:Ž— +X‡ùTÀ‡>1ü0Û’5/Á½ˆW¸´¼Þ·8F³LŒ2™Uèy+¼X—Ôy)Öh®Ç|a 2â®MØùŸ9DËÝÒ59d{õJ)Wôlo+Юûd_9vbœ%™|doyV¹ÇÌØÞMkÅÒ'æF_]èì_ÀVÇz5¾Ú¬áŽïUg:á¼>ƒ]á•‚`~o4m…€dzþYѱ414W¹ö ‘‘Vï|s<Éx«o 2ëËžO¡G©A¢Ð4ôíßr·péϲÅ!ö.Šû±•PZD—ýû:ׄK<ùNâIl¢Ê0É"ñ¬ŽÕ¥¤wÂzwl&©J'OJÑ!B~È}ÅT«/­• âÌ!šìÍô/(¤‘Bƒ'}‚†ZD&·#'ˆ *ÝÒ$i # ‘ÅDɽP§Z³7s[±~X`G1 % ¤¦G*s•›bb™ ßXËT·`À’³ÑU~98 ë;]DÊå±ÆωùÁÌ.oEùïóȤGB¢å'ìéX•Èzø¢ë ØÖ“1Âa½0’¹n©¶Q«JV$wf1hƒmÀ7Z™Ï•À¡ +Gâ{EnÔ•°6{œ¶r¶rõ’ÀŒjT}eŠštµÐ¶šÖkóiõ?¸">’†‰’Ýk(Nt”ÿ¥±…ú­Åsiù-J€ñ¼ó‘:‰Å½ººÂ6lÔ%„ª]ñä¹vLw·R#i8½5Ov`Á­º©Æ‰Ìi¿•Væ1v‘Š`ÔCéC1¦$¡'M:naâ(&qØfô÷] ŸÓ“Û)Ò?^Ç“‚_ÒK²¡Ë‰Ô¾]„1ÐŽPa®raÓgš†^»ªû­F¿Äèâ®.gÝTë'Žl–ôp¦¬6§^iÁšVyY„ô‹î‹ ÁJ ®F­B Ú±â\‹'S®Ì;{Ü~%ÄÀ—µÅÔÖdüóÝÁ–ëIµÝ¦`‚«jè©%ð“|$Ë, !]ºå¥=%v[[©w§ù0ï^ŠryŒ2´—ˆÓ{7?íÎTç“ô¾Ìö‰jX“Ë®î×?ž 8›u6ô¢$¡©5üù} „x·êî ’ygþ@N6¼áa<…†˜zJ¨‰Œ7çãº}9Û³`Õf³Õ-¢è Bä¯ÂU sŒäMayÖ Áå¯[Ì‘ŠX4ä\n +ßaT¢âÛÑ”Ht-ÇvŠ/AÍãAPNígÓ(ìdÍ'DÒ”Ãr~¯áQJm“I¢²ÇÀú#nï˜,Õ–TO¥V㞘À[þÒaNIâgƒj÷ ªÕè>àc{òOF>îkˆÇ…©‰¿Àð-×žÛ oS’½„“›Ì“Ýÿ°³BùŸ åÊM(g¨8zß@m§©Ÿaþš÷`7œˆL¬ÇÇÏ1úñSËȤÛ›c“OÁÔ`™%&I€F]nUsÀ—£¹{1$æ•#eY¯‰£9¹qñ}"ëkШīã|âbXˆz jc•c–¾RÙÈê'Æ–qÖÅèĵ%T²n¢»O€œçSÛâaZë}TdhŽ0zü¨ÎÆÇJÔ²® iù¹ƒ0_§îçÏ‚À XÞ×Ng¬˜`¤ +ÇÓ£z˜Bs5R{Ã@©Fˆß9ãw¤_S¡IØŒ4e‰³™B™÷› +bÁùL͆AÊè-?>å þðÄÜ/;)e¶Álî;?CØ=C813 ÅL±¾.ŸØYÃ{ÖˆÌíˆ8mwv•.#¨4£ ä·&a¯=A£P2‚3‘ùÐVvðÊ?2©â{fŸk]ÁD»HM´þ>âÑxˆÏy4qgÈ!7õ!x4­­'ø1ªcÚî¿ÙÉ!ó{Jër§’¸m`«4ö‘›]ð ¨?1îø¦ÍLÎNif®~éÑ ½ˆÝäÛÞ~o’12_ÌóÁ,úqú%♇è•ämã(r±{Ù£·‹= +endstream endobj 970 0 obj<> endobj 971 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 972 0 obj<>stream +á +"cRtð“¬ó þhLý+ßÕö± ØMYáת.8ý_ÂÖ’¢ô÷«t?¶ðÒë­‚ÿ/%ÁV"¶9ëÌ3Ë3 ë}S}­€ŒD“ôÙÒãU©òÅ6Ä3Ø4êD„3û¹=ë~6¢Ê`¥ôNÍ„UzáÞkê|äóè\jµº©Ó]'U…ùÿÙïän£ÍjÕ&öQ7`Òh €ånß!?ëéhA¢ýamò*èXapå—Žì¶ðçž…šœ|3õ˜¹l¢ ò_gâ˜}Úm@ +TRÁí mWH `ᵆ³çþQ!3+¤×Ô¼W‹‡„úµQÎã¿l{ÀnÉ€~¾©g^C3r†ÀË9GQÊ7H/‘Á/fWúf”mŠ÷)7’÷,©BX|ªL>>Þü$Q¶5¬ºH t0sb¨tY씓ÑWiÔn…©Rn¾j!MH1®ÃѳhçäÆP‹Å*Jn؉fíWy+žÇm¢{5yO‚‚‰Ü 8PZ…ñú÷´¸aü¤Ï!·»¬ü‰ž 3ƒV+6àŠ¡[nåq¡ ú7þÐÄì`ÏvåÄïKY<®¬‚ûÓ—r_ýü»Øà’dCÜfa/Hy/Ϊ;np«éç1û¦d gF©¿IꙤ 41QW •ðUÂ}ùýJe}¦ú›‚jåî Óa ,—Þ³ÁÙWØq]‰’s#ÛÆ’‹~vE.;(_ÝE‘¹Ïüi3h<3½’@ªMg eì_¦Àœ–~GzN‚TCüÒd+ +_™¤I Ý]Éå—ô )Hå²BàÍ໇¸Cß/(¬ó7Îgl[Ñ‘ŸbŒE”ö³©sw +“Þö(.¢$Œ'¦÷N%qZDõüØ嘎nz¦ žÚ¡qîþ¢ôÂxàVÝ +Cžâ6™5ì0*Q<³ö!ê.ø]7]ÈiÝÄöï GjéêÄES„ööS•%åú… Á^ÀàuK,-ƒÃ:¹S™5ÒËëOªJZx¥-ßÎ1ß‚þ;ø¹¨/ÛÙ˜‰†âñ“³<ùyñ5‡¿·Af6õ§Û×Ï4ÃÍ‹vvÃ70òw üéE¨ÿÜg~¶z%sy]ôEPåp ÷Û“¾šÄJÑ?ÕV@ch D%êÕ8žÍèªíô%†Àð«òC¤®´¹«€QUü0AžÙ‘™§Óê(kô`Å,Ø›øW®mrãyª$5 H¯”B³—íbsó^€ý{øXû™R`IЃ®˜2ÎÔ«ÍË/å0¦ƒ/E*~§†];°¾}#ƒŒžÞ\}NxƒÞ¢2ÕPBCö3/Ð%³$[^v“A0ÃyFÝÌ×Yˆ¢þÝWÑR†¯é'K5M]jfÒO?Þj¢æÌ7&(/8ÅÆÎ8³¼}¹FÍuŽßJž©×"¹]Œe îÖƒM€F³ûnâM4àlßõ¡»º cå ˆ_>Ú ÷/òéA@_D_/¢RˆË¹Å»¨¨Ë¥‘s›j"¨Y/=G¬ÒYjs:N^GYw4µÒCpÅA½.\·]¸ u˜Ãwî0¸²äÉ™¯»K½Ä±R‘Â]Çà$1O'ˆ_ÜhK¹ã`|Ki¿®¿¯¦­“„³B¬ÔÀóELyÖ·NX÷xPÊâ—Uîº ÿí·’Œð4†½{Pïet+ªq|»7ó=lì„ üáô*yõ±ï+øÑÞð¤)XçØG:\ÌÊ1¸ãV/Ç!q2tyGêGõ¡n8eråãuˆÕX3¹Õåþ=T²‘8Õªhüñ(Å~Q@}ª× Fqp¯“šà»ÆsÓ—‚·«Ø:„§ÆW= a“Õ½Ëódp7GÊÙì —û]¢ä’5¥ÿ."Œì%ÙV¿?Û!†$Þ)‚äé4r~g_·Í1AæOP3­z@#zswW>wÞ£”½—S ù•Ì”¸¥ÛÓ‚ }š‹ÆÄàߟGac2•˜pkõUÎK¸¿KÙ,YƉô!¼ã(/¹ßE~q>oß󳞭wp ƪǛ.—Øz/¸‡o„!·,™½ 0þ5úóíd°œrÒži£ªVð`³•ƒöÑž"ÿ\ß%ÔÄ%.̱ÐÖô½Û<àÉÖKÔöïLOÉ3@dWëf„)Ñ!ˆ¡=˜öÏn ðT¸aåZ©Èdǵ +Dq-§®i—¶$CSÜzˆ¬»÷å¤Zjv?.õ1v'%]œ-àèP³:mNf•ÌFa ½ë ç:ÆÉãò¸Øh$‹j?òý-9¨Ei2º—…5 “€ã¥@"ú¶àÈGЖY ÏΛϢ2ôÁÁd¹†œºt*/Ö}4`m«Qh~ÈhL¸×ÒBŒN€‘MΊK·D®ù4˜ÑD-ªz6‰96ÏîÀBË ú]í(1XÎD±0âFJµ”¯K¬ø¿¯öþ›¶V¢Ê¨%úoþs¤êº0 +B0ÝüÙ*c ê㲃½\ 4BwðL‹Ää |†P«J+p‘¤+Tm©ì­ºõ¸%Õ¾t/x3º§ Iÿ’ýœ×ž +endstream endobj 973 0 obj<> endobj 974 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 975 0 obj<>stream +7/(.-tÐH/r.““åÓ½·ðúÿ*E“½·$¼y_ñºÈ¤Íìµ×Ù$ú…Û­1¶Õõ[÷S€Q9-%&À›ïèјD»àÙI˜Ú4-Þʷ¾½Çge—›\u0Ö&øû’Oñ•Kµ9BGéf¤ÿô@þp½)Óí,GNè×Ìaî‰Q] VD`S ¤<|¨h“'H`î+­ƒ ‹‡÷å(‡‡ô!¨Ù)_Þ+ê¦'vfäh ]Ù}D5v)WÓ2ëÑh¥Þq©HT­û$$ý¢LHª#¨”¤F¸êæB<Ÿé<[3°+‹ Ú•¡ŸW5̦Ã7DU@Už´9¯«š¾×ùŸqnˆ.ñm(ÿ×¢]p8<3Xžcp_}áþZ1‡kLKH®Ð`Âf¶€½€Û §ñr4€ŒÒìuý–—mGIªÞ ³žÿó¾ó¿ÏâÅ@#Â\k×£ˆ¯ÝªWZãl³¢Ç J•ÍaOt˜ÄìÎc¬çÄ%°8’õ·f‚ÒSrŽz]mÿX°44°yUPºP/ç€rª‘çÇÁêl š0g•í ¹D.”K½“꧘oú¡† f–¹:ܯ{øÂ{¦| ;` llÃHýGc£Å ÑšoÈGãÇþcõåFTh‚ m¡ üázæ3ùwÅS¤öK…½z7Ç;t´îÌ ±£•ÌòÛä6™ÿ3Ñ8ÞÀÝj uû”aU€åz&dO£G%¯)Ê[ˆQ9[Æ¿Úóüªp5°B¡§»‹¦½¡» ±FÓ]6švîMå˜ÍAxÂݬí’sȉÝsK/À ¨¾D7L2òÝô‚/!Í“§FÍ…|Ìi•Õß©@*Ãý£Ùûk·H¶£Þ-êAÆÁ½¾»³e [[ RÔõãÔJðDg»f*ïCÌùr?^b˜±T+ÃßB7®®jXC²^fì²Fì£T Þx +}LÓr- +—r¬_@äîpg6ät _àȶ¨·ùQàÖ³Co®»P;¥›£ï“˜×ê;ŠI´,Il¤‡›ˆäxþ¨P,áÀï¯Bå ôûÈ^¼N1‡C ÃEòÆ/ͦN Gì7¸Xšs®™ÏzãåÃIÞƒ&±:y±¹QÊ‹†š%›Pê1e‡2f`×MÜÒLÎþ€P?ÃE5—n2™å)³l +·EBȤrÑT-¸þib2hƒŸní±žqbv$EÔå×JcN–}cZ&íÔ˜X/«†JiEø³ò-ßO ÒWÀB‡zoˆS•>Bó6ÞµÔsá­¨¡?Ë– Ðÿ”‹ñ®Uƒž3ñ6£ Ë_÷ ÃX¯®…0êpl˜N ó~d„|_ "\ã¿Ù¾ +endstream endobj 976 0 obj<> endobj 977 0 obj<>/Font<>/ProcSet[/PDF/Text]/ExtGState<>>> endobj 978 0 obj<>stream +d£2?@‘zùÜÕáíS T¢-½g…õ?ÞöÛ–`‰íTÕÕõü®iZÂ~ îKÓò”@•ÀÆtæQ$fYyx"Ö# ÇÈB1‹ÄA5Ù©–ÌwXªSÚÅ®·pY“{ÒÏmj Cëä-¯ÐÍŸå~u Ï¬‰¯8™Ò ¦ÿ‘ð[*qñý ÌÉŠ('SŠû]a~ë]˜ænå bÎ6”Kix4ã©Ê`eŽöÐd;[Äž¼µÌ€L ÅmôX:·Ý½ÍƒJ7,îúÙŠr"#¦yr˜_ž¦ÛÅ3øÜB?¦cÖħ>®y$ºÖž^ôÿEÙÉ™Aü¯Ÿ…;Çì³3³Á/—Í#ÿ!Ñó‰Ç’QÊ]«Kd‡À•ÇËÙ$•ÃNΛ@b7B\§êQŽãª€ŸK>@x8©‰÷ »œ”oÄÕï²7ó20ì‹ÂéQµ(«³±‹¹âû!ŽG,½‹MØD° ©`+Ž©§:2CY!/hýñ/Š±9CÛÙfˆw¤Ep$¡gÚö.¼]hõÌîö‹lI»bÖÓÙ¹hÉQ ŽêŽ&í„lôBŒÂ4 +*ÂKI§‚®¥Z +_xölD¹(&äžW¹!¾ñwFa4˪ô¤*o=ÆÿxËà)Ï¡9êzÒ€,é ù!ÄäëYfÀÝs.p\lõ9ü™ç÷©˜Ì2ÿ?Uäb@@ËÞ˜ &#uý„‹‚ÌÉR‚iÉO v˜à§ÁÜÖQ¼ÿtŽÅö”ö¢0³Â—Ú¹09SŠ$’v Üéïî&×SôJýÕ*žTb7™`ßU®+]‚>stream +#°vÍ”*œÌÕõvû>4ʵڿíW?1 C²æuÁΛ?ýK…yå\Ȳ|;Kƒñ›=K6!œ A0€Ü#6Cö§öç~7w«˜ª¬õP"BÖ_¦ÕLbÊù[ uVTQª(hö?œÕ/VýÀ¹ìxËPQíÛƒÏ!ýá¦Çíœo¿ô,yètÙf, Õ ð*Ÿ‹vEÈùòeúxÙpÌüž׬y°!5|iàdÛdày—Ž¢ïÒÞk‚Ma¶ô½ÓÖ›lÿô7—ñ`ÿRu[ðQWÎôÅÙ…ø‚5ÍŽëy;Öýç I«ë—¸¸ëõ2¡÷Î6àÐÊ÷ec.{N•i¤WÇhC„ºy.”¨Eü q7`‚oÐ -Ø#ñµÎÿ<ýWõ”1¹S,ÛÁk9Gú~æs=<9uô°¯Ó{}F{ +endstream endobj 980 0 obj[/Indexed/DeviceRGB 255 979 0 R] endobj 981 0 obj<>stream +¿Feöžë|;u¶5†64œkÁTV9Aü¦Ü½qÍ«w·•îx¾<‡·r±C£¶ˆÀ=˜ßVW¦£"ÃÜ˜É +endstream endobj 982 0 obj<> endobj 983 0 obj<> endobj 984 0 obj<> endobj 985 0 obj<>stream +Aú‚·¡ +\wÞ¿ù’*hfÚ5ðÊa Ôý8Çm•— ´m@K&H‘"=Öó 8/$ KºMhÖ…Àí»• Hwô1`úºháêû2'þT½U²'{|ú`ÇÖæLWz5 n¡¸÷’ uæÓ–Š 1vË"²( +ë@¢îÀbr%øúê-™>h¾ "ÿGm›¿] +(¹T§}Íi˜Uù–øeŽéqN +±‡•U}¸iÇFK³>Nä +endstream endobj 986 0 obj<> endobj 987 0 obj<>stream +× ™r ,taYfßÙö3‚é›òbŠ{ÆŸÃ%ûw8Ž0#@NòŽGƒS .WlÉón"qXB‘³–嶶ÖÞMúÛVt•%Y“ÕXá§.$:eÆ£®i›J}Ã~\̆…Ù„0%Œéo-æ(€«úñÙ2!²UU=µéE X‚91R•À»W™áb‘$gûTµÂ®ÒFo÷+º*ûå‚c õUPUN\BžH¹¡ž:V°—yu#Ö4Ší´|Eló'åÕ-/[“&Ç}›§D2 ¡Ø?€Ñ\EI ŽvÊbŽj&ëi¥d“Aü ·a•$É/²ëû-3¥ +dÖ¹b2\baùË:ÄÆ“·;9½S±þÈÜ72öÛ@¹ ¦8æm}4¯v“HÆ”êéy([Ÿ +’r~áøɤpþ®ä ´<«ÍÒ‡‰oËáçÊ>ß;ŸòL~_3QYÑ7˜¡Y,´í”GP›i€…£_™.Yûo‡»IÂ쎟®¸ªž“1¸sªøE4‡MðžU…k+çˆÒQ5!õ@ju !÷°¢qól}ô@Ê7{8¡^«xÑ¡„&‹ Ú6ÄÓÏß»ÀÓ#NÞst…õÝ7ØÑê,ü³¾ÝÆñ›ZÙwŠã«i +äÇÂÚÙl55;ƒVS2ßÑèÅ%ªY±ku!'²˜‰X˜ä•¨šœS7«áLù¥û‹Îg¬¨¦híý—å€JC¢Sài K+‚þÞ¢GÝ#Æ^¦ +l–æ,ßÝWµÈ8Vi—øw1‘ãG×D ¹ÃÕ€Fm9 &K0z3D½Œ‚˜ÛÉB5.¹î1ó4 ~‹@Yܳg2èf·iœWSÇ»·agç§OºÑçšUÿàÄŒH1IJÂ݆iÄ÷¿Izœ«’L!„rlÓ\jió¯²\û3þs´_̓@Xød  #G׆ù›ø“4®'º¡®Ç_ßà O"¯^yêV‹]ÙâÍ ßyt³Åí4Ê=l"˜ÝqRŽªVa¨ì§´_­~-X´ä8ã^6¿¸2–*o:f•d½à—‹-¸Ã\=t1Ü úù Øð¾¬yÀô†—®Ó€•‹·^ëñ±4ªî ¿C±¾ËÝ&`ý¦§ÓûäB„¯ìïØ,H£—‘EN)¸ºÝ›„),ˆ»=îTßÊà·Ðᙄ.x&VR\]â¯KêŒÆ#ãldsä1* +±Ü8(~Ÿ€òmc+Ã7ß5Eƒ@öþaÁEÀ›£FIŽy­*y¾•çLåÏ'¬/3–‚´‘n¿\_»›‰¸hB0úÉ|"1O +K:%s žÀ<ݽ¹R2ê@ƒ&é7'L¿}/ öbÿĵòRóhª+ÌSJ +dÜ yCÞ>/ÒàÇ×ÅVwv’=¢/:~ðó*õÙCSè8ìuƒoó/gÏD3Ü÷ÿ“ú[`Œ½@a2GQÕRy™¨D‡‰UK¨Ç5úðÉM– ÁyX{ŠË§¿ÝK7ˆôCÖ³3Øån?ïÁ âª{–/ÜÅ壤¡o¬Ø['½µþÇ™v à‡ÌL$ýÄ>[ã¿×yà_Ii{Öwå:q¬ãj ¹Fj +_Ú+¸ì£Ù<‰‚öç+yª˜ç³<Œ<2¡8ÀñKÙ½v¥•¨«Ò½žj³à) »±C Dµx0~j73‚ž³ä熬÷kŸ'ç´Ù¹œö¡=ÀЉT{ È«ÖÄgŠ/éÃ%NŒf‰nÕ(åÓô©­QUX¾¿ƒM,K”ªýDˆ£9/Xs ’Upñ'CT0Œ¸Áíí’ñÑ(ë1]ôåxœ€jz^ü?›ST¯yiûl²áØ*³ôýBŽ¤囆2/)N]Ì›X¼b(Ûåk´$'¶¾smwˆ$–IhKªO±ŽbÂæ¥nX¶ªa\«LéÖ×IÛ+tŽm6ÏË- ¿*íŒR¹ž?5TwÏ3”’\aÎä3 ڶ傮ý3¯ƒG:) nñtµhµ§úsùO6Á­E/ oÒDç³ü1,;nïÎÌ%pÒŠÿW…JKªùåéþâMs±ÿç«äsòL¾9K¤‘Cá²ö‘+ÎÌÀ×Øo;”­gè8héïö(€Imtƒ¨eÛq™¥ûN/e­™6RÑMYØŽ™$Âçgoƒ³rÛ,›•) ³dWœw¶Í«Ù¯Ôé„£–"YûG¾ò€Í™tÃãÅ®€£ÃbÊà +n/Ò66•Ú2P‡x=eËñ +˜¯½w1?%D(À +7Îî–T.Xbâm¹øºƒƒ¡‡ÓnZe7ª©¯šèH©Ó-º±xŠHƒå`k½Á¥&vÑÏ4 êßûƒODÄCèñ¨]„Qi‹³8Ë]4Î>ôا”›Ô&¡Æj—W¹™â3ÉßRfhý‹ðÛ¬€©µ`+kagºÃÎÖ®!¨¼] Ž: {ð„o‹ Ä¡Œo}tËÉ7a¯6qâᨠ¥öÀŸ¯Ò"Ð|f6©_]}c.ð¦Rk«h¥©E Ü|„•VÜG8‰íëVp=ìO3ÈFß´‚Á‰çLÞbÆW#ëm#VQƒL~¯“ñõð6¥ŽÐy³Å¿2Ÿ‘™õApk|àuánÖA9äðœâ¸“ñÑä1}ò‰Sã + `7·€'ê–„8ñxò ÞQcE¡•7cÖz.·Kq‰R= /i&¼Î*QÍ!¦¹b`"ÊyZ'Áã—K‘"—»«ã+¶Ÿ¨uJ\«´˜0°Ó\L•-éô'•F}@6n¯ú6/²™,Þ»· Æë(“qV·ï¤¹_àE«jJ'As_Dy©ìÖ`÷>Õ¼[ÓXÞœM8É?æë'ú94×ݸ‰W×°'}ÂnxH±+^¹©HC0FyÙá ‡á(Y¿ä} þ ç@v”œ!¨—scñÖ’Fí»!Ì"MÊ^<÷Ft“ÌÈ ÉE?ý1 ¨8í7Ž"Ìk˜¿1! ªXhz³7”áêQøkñ]ßxœÄ¿å$P"Ÿ:Öª9õ«¦Örnœõb¤¼¨• AÁBãÓP/™¨læøéU*G0 +jvѾ§©mNßR šä¢xèåY@IF&^†8*kf#Rðß*"œ s³ ýòð¶ûˆ×|Y$[,lsF²lÈ/"Âê?8÷'e}ñââÒa¹8ÍÈ™-äÒGÓ†ð­×ÇÚ:ÊÔ‘A"Š-ˆ¶Ã<ži[æëŸ +3Ô.Ât,¨]\“»ö"c”’Z§ÒlRíZìqƒ¿Ê‚f)âÃÊ€‚Öh´> Ña,9ìÆ{îšqJ0ÃÍ[Ñ¥ñïÓˆ¡Irvk•,EkúG£wàÒµö(Ì`ulvBtôΊ,à©çZß@F•òEsÿDË]R!D›Œ!ê‘(Fn{QË«O¥BÀÞ ³Uÿò‹$¬à Ïé¿ì•çi¢a˜žUå'‘ËÝÿIÐ*•á¿¹\´ ??ÛPô$Îúj§0Ù>êèÜ0BÚˆ3s  !š>ß; *ÆþšV8Pj ¦æÝÄøŸ O=/¸éAob>íè°i¯k^>#£„ræ_Ö¶òên Dlj(±r;®- žb\‡õ®¶ÿ(¢îí0cÃþ ŽH²V!Õ3Û}&NÑRTÌ+£v)ªª,…lòrlB!tÙi˽GWÌlFÎîŒFT½=-Ûþ~NgÿY;Žó@‡JÉÿ¸½ôשټM}ç<kH2Å*|Ó%5ô,¯ÙV +¦Ü?´á¥žþ9»AÍç !W}jÝ'µ$÷¶+úä©´-ªÙlXÍmÔ0Ùê!sΚ­Õw„@‡ÖúŸ­7¬Õ5X´mÔš[ôO΂xû#ˆQ-¸óIÆÎ׎‹\w3̦‰ÝB‰'oÄ=\£yÛº<û•àIäÇTQD EËÄÕ4¢\›?Ût‘õŠ7‰W侂±"I¡ä£ð¯… GIæøÉT±çVšvôÊBÃ"ÿc‘î‚úôúsN°[H딳­ÊâXú™õEEÇØqE€Pc°ªŸÝ+ÉIç8€oÖIµ’$DÅ—1xÓ#¯ÝiéOÈË-Rfîfî¾ÔسçŸj»å¯?"¿ Z!**Sîå=H5˜ p¥tT„rí5;Ãÿ=áÿA¾Ÿ[º´RÓÕÕGƒ7aºœÂ®M„åÞ/þPúÍþ0á7ÖDÎ@(lðÜD&眯 ’úm­pJ·¼V[´ï†SÎÙ¸„ŸfXèbßDðfŸûG×96½X'Wž®Xdw«Èx~þØüð‹æçgËßrå/rSÝ&ÜYSbgÝ#)ê¥È‚,4hxÇé;y¶Õ–Ðfª˜à!Ì$Û‚¡N-Þ<; +endstream endobj 988 0 obj<òêG{£]šV˜]LLȶ3*w½q‡[cA%þCê'OÞ jwÍ–P† žuŠEÙêijËP÷\)He@ÖqöÅYMàû¦ò:b:.Íе‹ü{[}®*dýPÂêr<Ë ÎðƒRWIˆ%ÔA¥Õóƒ :Ì&!H¶¸cïg+8† ÝüÂ8‰°·ÃtöM ¢ÇŽ¤c¯9kJ}³<òƒÑ2%,ØLcƒí˜©íÒºú\nMgRªÅ+ÅnÂùµëíbÒùEß[°*qaœ¼¦`™¥ŽÃ¦µ3Ë.röž\ ±/kzä*±…d½øå÷ÊÁM\)çFeð©©p‹n ´zKÕS»,¾†,*ߌ}%Å ™r¨wtJU¢úaP/Šõ‹…1Mý^=û±E˜H)>> endobj 989 0 obj<> endobj 990 0 obj<> endobj 991 0 obj<> endobj 992 0 obj<>stream + yæÖdvÄn.7èš™û™ÀÁ ÚÏ.@l.ŽŒƒA<{ž[«óG,@0DŠë0íGØŸP áUË’wò³êìð*= TVž?âÊB†=)nt|qÄb9\Ì$¢©©å[A¦ž³´8n¦ˆæÚ¦ø¡bŠ +#O Ù ‹,¿¥0OÅÌäËV–&2ê'Â<¯š>(‡5­¾C fÕ%!’(éɾ"6i¡1¤T<Áb\€ÆvÑ­ôý‹5X]øìª+÷›¾ëxÉû†M"Ÿù…VÁG +endstream endobj 993 0 obj<> endobj 994 0 obj<>stream +iìmÈÓ_À‰}IÌg‡IY‡®“–ª ª(µhzòFæE‰²Ò¸HÖã,ê]Ð;x„gÛ¤j‚`–JIÈõN +endstream endobj 995 0 obj<> endobj 996 0 obj<> endobj 997 0 obj<> endobj 998 0 obj<> endobj 999 0 obj<> endobj 1000 0 obj<>stream +YÒE³%!¸wfÆç ]Þi®U°m¼ Ïšï^ǧƒð§xDÅ`%……‘ÂDР7ˆä;y»:%Ô|‡Œ=ÿ à ¼µ{Ȭi +ÌîE¬9TÍ*ÔZ9~f…B$鶠Õ,º|5OPÍêÿ¥}› Þ\p4j_·•ÖeÏÎÛŽÃfG<8OwÃq÷ø 5F±vV´¸ƒíãüÂý„!³dTÔ|ÝÌòÓ®&¶×ƒ1¦32´Z/æ¨É¥e€qí¾¿r…i.ÜtaësbbäĤ¨âon0îh8¼™[ÍÈòë Üàͼ…È`3ôv%|¥3ÉâhiUäØý#WÓì`÷Òt3öZôy~­Áýooù´Ñ•ìzw6ˆ¦õ`¢s“E‚ˆhþgï·§êyÔÍžsS6ÍÞ"ÝÆ„¥1(¹ƒv¨Ž ankôgH¾^èДëÙc–|Ɖ34ôX㯵Ҳ…©`0ÿ+ê86”º#¯ù°ê±Ç<ïÔ’B€Pa k—ïâ ~Äð:Ì +endstream endobj 1001 0 obj<>stream +RPv>KrføCÝd†c_­sºz~e7¼SÛ9…ËhC½ÖîŒWß¾äM\„‡ö=\HœŠ"ÞZÉ¡§«×R½¡çMdU©»ƒUSò†OtÐâǼd;Ÿ€î[(/ÄyƫΊ&óÿ¯ûê‘á2hãèIRÃ=÷­NÄ-º|…^Å+¹3 à1ÝqO«£ãdwB ƒ³‡VÌ¿ÞÚA™Ž¬œk`ÌfQÒºVqU“¢ =U7ÏŸð +}”1<˦Ž/þîðïoî_Ú ØJ¤@žÍlp¤Ôœžsl, +endstream endobj 1002 0 obj<> endobj 1003 0 obj<> endobj 1004 0 obj<> endobj 1005 0 obj<>stream +î0SF ^Ñ‚îª-2f§ù­G3Ã& Øt!z–*ªÀ=qošÙŽ3¡JªSý£9÷T4ŠÝ£¢eŽ»v ÕOòÞ ­i#ZáúÖåÇí8}ºÜ=‰¼%)Ê Ùѯ,·}5:u+º–Cœ }]Éßò¢a¿¤ïáÉ…Iý8kòáz'É]û8–·ïi4¼l˜œ;ÌwÈÌr\œÈeU¢˜À¼ó`ù‘ÙB™‡gA­&gêꮹw²…¡J°“--_àŒåš™S¢z%]:ü{&² bæh.Uù!KÎp'Y>|…<7È…a{ƒí:–+N…Š“)¿¼„Ⱦôp¸¸\ᩇN÷‚âà€ÀêDÃVf_w'({kÒЉY÷¦ôV_tmàH®~ܶª´U2g¶MSrëñ^üÂdæ¬ÝR¤`ÇgšÞ[èJrÙ¨V +†¿-^gª_u ”Ú²  "JÀª uCDÝÛç´ ŽõÍ% “ma|ÁŽÚ†ªFÅpༀ ˆˆ²u%ßÃŽdßÑ¡™”IÅ?>L­ŸaõãäÖ¡×xWX§Á¨ÇøÊ­ÄýM—â6º ‡WÕS¼8RD,£YLLþŸ–Ðèì…Íüj²Ä‘eèàJcFo¾ ÁÂe‘žÛÂ(‡Ã*˜æe–¦Œ~Ðè6¦;%ð®¥IiqR,tKɲ¢½{º£bèôAêA íc´Nð¡ÝÑGˆ@9]ȪˆäÕ½]¨éU2tÊÎxö´\yÆõY¹š¿dÊT/^ìXkvØ3úˆG%*%!µ[R™bh?ò&–kÚÇdgÚXË•'c4]jUTÐñøöÙPºÜèÎÚó ¥¡bôVn}Ê %¬ýï( +ç¶ÿ3ÖzüI¼ÕŒDV…¸÷\Ÿý7­ñ2‘µãoèèJã²`Ê^ð*èë³c\ÿu„°+ÈjÀ¶$²f>3nã2𸜦߯Bóä`šD^H¹À5Ô6AŠìE£þY²k„„Ûò…‹:ì‹®Xsf){Ør¨1"qwãNJþÝ™…–DÒ¤¹ø‰#yAÏFÀ¶ƒ÷û½³+R]3¼æˆêý5;Éƃ¹dJ aˆÏ÷ýýXjëà#“y}o€1²î˜ÉÛýã¦QŽ.ö)˜ÉÎ +¨\<ˆ7¦Pé‹ÇÝ@Ënçß}¢’±„³´‘bi¡3Í°€Õ¾½ +i"P÷¥,*Cqäœì®ñ[šR‹=¢Ü†AšëANÒóìÖé[ ä"†÷ïòJ3»K‡ÕDzo]xÓáœÈÏÉA² ó§åá$_êÕTCeÏÑû5k2càŽû»"Îz¥fý~RjW3ƒêo¶+KFhÍ°O~ÆBKmàÜΩ¡ÃƒX:¿W‘±­†Ò+[e¸Ѳoù|ˆ¬)Þ6QÒÓ…·0= ëÕhص…f¾¡6OÁStVë› `~¤Ä„&îfÍðÛ1„Ùap9Ô¶:ÚÖ`ð÷s2ßTòïêùu4J¢óæ:r;ÿǹ¨Ê[@$ ž „”ôQ[Ý}$VŸ*„iªE?á¹Ï¤û³k•®zÿ†´fw¥fÁé†êMÌšSÏn®‹:¡Ó@pÆE~ɼùÆ-ö2Ù ØiI¯tP¹nlœôñÍ‚þ±=Fdÿð™o´…îÚç˜ vâßùû +BŠ ýzñO! ÊЭW]“FCÐ<5©YãA·Y ;g¿ò2yëjŠ›óÝmÃa‚×7äJûÏv ¹ÙQõ_âÚxD*²%ÍwR»2‡w¿s›ÆÙËM·(uו^g2Lnq¥‡2LkösaµK\À Iªî#`œŠÛš¡x nÞŽSM†ž°È»Vsûg¾?>´±þzÑöa;J%`;˜þÄÄ ^Á.ž‡mû/b=ÉÎ_õc5äoLÛªÜïqKÈÑ”.ýcêb*¬…s“/Eð­ÚªÏMÌ 0½5à~.o™Šp«‘ ñ“«´…\6ÈN´3ì;ä™ +#‰'Ì­6ÖÚÓUZ#þW®úÂG§Ö“$hÅbH¨±ÆÛÙ–1**Ö)5:¨WA4ÔèBÈ lLüMR5åBæq´¾†/½uË"(ÕÊŸ˜8.ŠýkŸvOìvâ‘‚1@ú¾,QA¸*ÆÞùU:ˆߛԻKšyžñªÓÒ~² *%ËÙùezq»Ä£V™lC½ö´ï â  +tQ“\´ýüC£˜SR5ªzp¹Qš‰]CuLé=b‡ãUNÚˆêd:3Г)®ŽµiÙ™$Ó—ÏÎ/À)¿2@/{غÒ>¢v¬e$¿¸Jà"ðgerôãw¡ô½sÔoYoÕ6m-Ë9–@ºî6»gÖíÞÎÂFñUœjg OŒêB«÷”Øõ9ßÙiH诬åU8£nïÏ<ÚÏâϯüN•h̤þ}"­ÚêunŽWˆ¾#‚˜¦‰M›|—¹"÷!K5)hD¨‹µ<àNÓ·àF*3¼27êºÃCÓF'¦3šÏ©Ú\ …;Êó9J7Iu¢ñŒš‘›ÜÀõ÷—È7OP¯tä”,üè¶÷M£—.Qcdáßfëü"§Ÿê–¯ d«ó™ñ¸ ¥2ƒ¯¯b-|¾YIq\A<{Â*[xþ–ÏlÃLA×v“%ü +“íUeSgxÁê¡NõV³®…'HrbÆ«°`•Np[%zZ¯Qæ)ÉÚA®D ÁIåÛ—"l8ÿqpéÌX“á «G8…êzÿ°¨8yN%ô¹@…pŠ7Hk%œÄ>Ìc|!pNîn £h*ײÀ¸2îÑ¥¬Ÿª¼Œ¡n&ÕÈ_Qö÷ç7*ûWg¤ñôžÛCêF©kÆþFDõºÖ[tBh½ö¼¾kPåE6ð³Â\ù­“<°S#æ—kN§©å,Ú‚S£Žhà ½'Û®-(sWcùßv, ´PEbM0Fˆ^–aÃÐ+xȳçc ½Ücÿ’>7[C±KœUÇ"[îá®Ýåû29?m~yƒñª ÈÅQÎæÈéwB=-rµ6¤ýùå~<ýŽGg"R¾Z» yŠz=AS¦œŠù|éZ¾AGEc´cDôXà5Á`vÏílªè¿¡Ú‹5IøtÆçU±Í©¥âójB‰¬ûzV»$© {FO¥sIÂz‚ØŸµÄÕ +S`âoàR,eâïi¡b|úôÞü§˜µIo×â|O²ŒBˆ +?šÌ`-Ø0ù¬VCvÎöÔ2’…#½dljõ=|«³Õú_‘{Ü«d‡ üUÿØÈBH{tP1*&’_:j|ýíUcÄå~1)PÎö5 '^”3†q†ãx.ª–XâšÒë–°/}ÄòÜÿWŒi—YoSϪóQhVçéÁ¢æ‚øÑ©ÞÔˆ)E¨áXË$g¦ŸÅêÄð´8,tMi$½·Á(Àm^](ZsJ f´Qð~MÚÞ¥Å@ßû¿yÆwjìçÑÑã^;Bnâ¡Ÿ‹©£ÍBimŸÉ*äm1 xÅ| +bŽuï’l|~*„íÕR +wL$ç#Þ ²‘ö"Õ‹hï]C™ÚÕÝ„è]ižmÀs>©‡Ò‡($WªjšÆ¦È½¹€$YY„Um‡M?¡BË·fA>Ø^¢Ó]¯ÇC¢\‚óÔì3–¶#¤ÁÐ_=/º¦^Î8z±¢{°f_«X2€•ÀÊ\øbYpå4p_Oõâ‘– ž¹E¨D!âÆ_ð—SGr˜Ìì€Ó¥'R1c‹Ä4©#ÿBè]R->ñª\Õ¡ÎdæM€Šë‹ß5Úùægê«QéLŸR•$Oìõ³ßŸa®žË“*ÒåØKþÏ3ÿQRáQeý™§aóÖ܉W|9bT?ÿ€““ cƒçf…îŒØq}È™™\ÿÑuÃ[Çõ›Ÿ&5±•gbHõª‹ìÞÙ*Q‚†b2ãY³Ê/Ëe•à%¥²ÜüJ½†ŽP.N ºèP¬ñ+_¦ŠÈ QD™f„¼Õr*K9¯Ó4axè°zB³t k,á{º +~‡‰˜ŠÞásw³øçïr˜‚'gñ>7aù¡¯Xˆ”nHE€A•ò =o[üùHJ磯·UòšlŽr½G—TnRëo›/¼ƒ1ëݪÂR»ù*’Êd<¨ýqè þ›~þ $hJî=B¢LËP’n„tûE¥8°€R;B*PÕns$îî‘A <´îÅ4mÐeU ©ù7€ÏdÚ£·߉Wÿ¤B .Y.…$#gãÏÝóuT[Tt˜¼û© ò"éú¦èn•š@YZ®UkK©ª…¹R{Ëd¼rpéÙÙ"IO9vºÃ $–(=|¶ã=¹þS„îvßF‘ÖFT˜ìÌy™—á—~I½y#ÁƒÃWœl€ .{iª…ÉzÊبJB3G[=7dŸíy/Ä\J£ÁêÈ4#Q¹Dô¬_Åhˆc«Ü/cÿæsáúªlµýá.–ÖŽ›V!SäYû” âµUžâüzf’—`õ‰ª6 ·†úÕ5Í +n ƻƓÀé*A÷,ƒsPv‡¤òC¿öã…9­¶þ¥³²l}‘XqÕzïsŠ²èá–^ßµNFuìKÚPÛ2$Ž|÷œ½X¿šÅƒüãÿxãÓ²€ó«µ™£ÎVõI”ÜtáfýŸÇPUn ººB”ec¤ßMãTá«hãD ¾çŒ_-F¶> Ú槠\'(wKPféeZh%·É/Ê…Q¡Ç²—Am¬s’´âÖ±¸¼ Üž4KØ £öº”âÌ^Mè—_Íúªfdåm©{H¾¦§Ï#Vo*øQ½¼ª”¸ZQfñöd$wÅi°–IRO`á»È-%Š1!O¬¡¡PùŽ¢Ø7üryÆ«²p„fA_JŽXü¬.ÌŸøfaØ=P—ytÄ6žµ—›6)$®uŸã5áØܦ<\v9˜w£y{Õ<7!Ôšíºº1½G˜L›.‘rÛغ +ð×Ìï0™+_­«“ÂÏ+MÒÇž?¿½”ÈW‡Ý½Ò^ œ‹\÷°.Ï+zEÔH!xxw(ùÕê>8ëÔÐë4ç‚S±/Oƒ]ñÉ>R©C¡ +µn8‚0Zj<<—¨Y͵ۓA"v·N$EMÝâG²ü¯G`+J;ìIKŒÂ×ËÕ³/7ì: ¬é‰áW\sp&x +žº{'8VsnÖ…áCäóÛtÂO° Tö”¡Ž&—vƒ¤²%•;ñÝáüƒØvhJ °än8·F¯¯bZr'qÂêLç'ýúÆǨ2¶ ‰qÏÆC%´œRUø^âÙ5Hóñ(øɳÞȈVt®ÆÜÚ¶šŽþ´((÷KîŽHLñ™#š˜ß›@†dNG¨¾7{\Õ}¾{Â]ÁŒU%œéíIkãPËVE$åï¤"‡§A”l<碒ÄFÌÃ{þÇy›õ‡úPYÐòQºO„‹iËæF «Ê«Á™-N>Àjºù¼\ªv´Ç³ñ5râüIÑÙÞkuU :†MRïn’eGzÇo;ñUb(;œ]’]}²ÝV%½j%f…ÞP5uvÐÒPC.”V¾à·ö§Ã„õR;ŠÆëE!ùXY–à@#!fáÌ?ñü_ŒK­“wC“\•“°:yà(õ¥m¢E¦§Á¦&pçrEN^ܚɭ¾ Ë9H¤S‡Ú·lüN{ÍC¿Þny‚„ÄâñƒfG”j£M¦Æ¦MB„ƒ„qÉæ¾Oœ™Z ÷ƒxÈ,‰ªïâö€Í4‘pWB£;oê1ö–!I4p|OÁºÈeæSŸ.v¨MÙ/0,[slg6oªâ$ + +ªÇwÔú­ì"–#H¤ë<¯Ç¼š,¼˜YaÌÈ; +¸õ %J¹*òWÇÒѦ~ÓT`B~…ƒkVÀE24aß12™\•âã¦åSðØí?ær]GêýèÓ9Ý°÷ŽOê¿ùNcÛRUÝ0!ÙDu÷ŸŸˆïÜGÅ.ˆ‰eñÒtŠ¨xƒbê¥ù%7m=u¥‹û Y+dF•GÇ„ëñžCÝjw 4.¼¯ {t'(IEnŸ2>eo|·Ö§9OÌ·i&Ì|´˜¸«&N*,3?À7ãŸ,úÝq +Ì\#>·~ѯñœ‰ªFѵ—£êì£}óƒÎÙ¸qòfeíÔB¯rl ›µ§/² Š´=ék/¾.Á –Y9»æW'm–ýØÓÁ= …„×3J¶}îyà0²Ë\Þ.çÛn>Äš@Óƒñ)ÙmTÕÿ4Ë£ù¤sH¼‹äf—èq%ôu„÷6^lV˪ں¡j4 7qé«÷svÜëžÑ(Àß.Сà +å¤AŠi9æI¢> endobj 1007 0 obj<> endobj 1008 0 obj<> endobj 1009 0 obj<> endobj 1010 0 obj<> endobj 1011 0 obj< C4¢Ý`¬6ˆšiˆDÐg¥¨Þ’o„>Þ}^…˜’¶oÀ•`ä>ž˜`°:d£t¶cèö •ö4Åü1í¶“ç´º'ãó¼Ñ]ß²a\\)>> endobj 1012 0 obj<>stream +Kû%¼×ünG»á½*ÔB†œZ£žÆu2„Œ©‰¼ƒŽ¹¼[O7Üo(’ŠŒÖ5^Ôö•zBo…òJŒNÉf’Õ[FÆp$¨³ŸÕ¥V3J”̧|»Ø$š«¡dÈÁ/3ZÞOÒ£€³š& ¬žÖ”œ_ËJ9ÿÉEÜž²Ü—²u&`ý¨.†EÉdìBÇÒé&“Vh¦èX<ˆ <¥¶cŸÂòªr ¼¿òùЄØI9t÷ÇK»˜2oíÔ² +5ís¼ƒ¸ŽÖ)ÔcX†ù¯ ÈLŽ…«dž°áTè +b€½)Ñ,®òT®M(/¼ƒSjÓÌ£uõÊH¶<ª-A^÷…$‚­㿼Ð’=¬R_˜H#ÀM8\±à7•ìmu;…Ú‘µ»ïN½,Ç4(],Éx˜hÎ{Fæ8» •w¦\Örzou‚‹SE´]À‡8Á]4Ö•ÃAÀZñÒ˜÷-ûi3¹‡aªôa?”ô¥s¦^~Z‡³\3f¼Gëô4^WàÖ~ŠQ6QôÐçò4#©¨ z=Ò×ÓFè¤z4Þžƒ‡X›’jx™v<Ÿ õ‰Ó•Ø\hÑíèGš¥gu°‚Sy»ÖÚãc•µMÇY&ð¤ˆITæ´ßiLÚ8 7=Ȩ̂^–b^Ùøù,…"̱i~‘"„” qÉÑ¡÷ÙëŸ j•Ïk¢°‹Ó;{V<µðö¬$µXžnzÆøR#¬4qW¢%®W(Ôˆ<|b6<š.0½D°*ñŽ*±¨Ãš½¬{çÿöšZ÷:¶ôÊyιÅÎ1 ñ¦‰“Z°®ò¹¯¹.ÝÉR›øª ŒŒ{ÃLTOx]¸l9´êØú¤-"°•GäFðø‰~>…œ·â/VÇ„MâZâ 6 xbÆ≨as”žOÐèa6å[ÉäUçB +FHm@{Óq;ÍnÆ÷MôŒP©«¥ê,DPç(ž¬sŸðVÞÅ4È/Á ¬c‹ؤ>@}ÊÆh¹ "Úšü¹ÍŽQ¦œi{øu­iŸ*æÑ)ÛÜEvD½Ã©TÑR‡9 ŸÜ†-{Ÿ>”ßl$&[q¶OªRðrí[9k¥=̹A=ŽµCœZm2‰x \fð +^má]ª[RNW£è‹/G£ÐFû‘10‹5Bß̬ š_Ðð'JËØQx­*”r§8Ÿ×Zh¨ÞéIéÓ@Š½(I +üÕw¾•=õ :”ô™´ÃX˜’3ž1I«3µœ=pqƒA†ßÏEúêq t¦=L©Ð +KÕ}˜h"[…6>§ ÷`{ÝG)!¼IqÁZ¸=˜ECØGœ@Ópû"63è+Ü(Ë(Èwrº † ÷ÃŒ ·”ÞH”‰v ¯áS•X¥86ƒÅ¶Êª{¥¢õÛGé1øêö0z¯Ü +â¦:ãÛºZ•N6âì•ÐivXùÝ `ÍÜ’Ñýb|zÆÖÄôrqn¶·Nô- q­ôÐÄê‹­*)±ó@u1·ºu4û ›w‡yW!<×)2Úw((üb'•¸×â Ø#=5uŒÒɤÀ8i¹Ý½ÇG÷ƒB8–|xK9úöÙØ°%scÚÇ?ñ-ÖϺÆäÕ|#:äböV¶Õòê¾Æ{H܃áÝà èÆo’¨ës©Øk}„™Ib}Šç:~¸eSe¾ÆÂIJ0tè¥"{>ЖõLE²g¹ú…#¨Õå™:Ô6ŠúË,ƒ‚Ó_:)wh<ž—@íI®“E¬t$Z"€ýn?“Ì&›i“8`™ʤƒqî[g:Ìau¥úz"Œ ÖhH¢XtýX"é |3@ŠçäwKéDD”øpê¼îX¡œ/ my‹ÒåÈÃS+/éÙ74+;ˆóæp" :±®:@ãç»ÓSˆo‘ßÈ +æQ¨ŽÅö‘›lQ­. V~§ž¬Ô·Ë¥hï?å;ôjœ^MŽP6©¦MÝû#¢|ãŸS™#mË ‚òÇG(ÃMbmét³gšíÒgÍb<Ê¿Œ¼"enS—ø§ñõ†\Ì¥éu7û,"–y¤óOßÐBb¨Ö¾º&€ìÍ,túä‰ùô5€í4µŸ5šÕ³ç!°g4<ô°íÀrðÛO*0ü–’(œÙ%õŽº ¡Øp™ŽÑ¦¹€ió.Û×»ÞM–fú঎æ¾Y^z€µÏ‰5ñ|[Ð>;£ÙYB>Í{#¡ä|ôJ˜¾ð%OD÷0&Nˆ§5‰ùÍ=´Š„»&Ø+ãk2ä`'žžvÈ÷ÇyÏn;ù"æTcÿL[× ÜÏîϘÖ•¬I†oLY*²=8£Äÿˆƒ%ð‚¿ª¹ÑÙB´pš. &Û„Ôé›F,F‚ pmd4ÝÞRKP³û(g +áß_³|ÿ­Ÿ_»Ôg©þ7Å8œyæ'}‘$ŒÕ²MÇñ ‡–…ÿˆ'KÛËâ‘BëRß# +,kûWѦhW¥ŸŠ¯'ÆÉÊZ½y'[Àµª‚êT©9«è®ák”øL>Dq ±#Œ(ìÊëžùÔã×±ˆð}»ˆExBÖ^EIgÂò€ÑMö´lܪDðï`àQÚ íyØìÀŠévrtM)WšfBdHàZâ™~}üÍ`ž$­bò¸^HfÝ­ò¿Èª*ë×¼©¤ ”ÆfòÞ܃TrO7'U’pð-#äÒÁeDQ½øèˆ!/Ò+œJòû§N/èYÔŠŠŽ÷†_ß¾"–£ÔEæéDÉ7| ¸ÉF„Í™ìþÎh`Y¾#ÁûўȰ* ŒâÔ&o~†Àh‚-S_ÃÇöÁ~V¸Í +;‡»ÉVn3Nü 눒´œS6IœTb$ Ú|Sý]†&,p8ÅëÎ'é:áÈ´ðRc½)pM¸-Ãê s€Áéº.+\Bv·#” \Š®N²k¡Ü5 ÝäîV¹þ?h¹hå¬J7±ös‡WW¾º›Ètó|Ž!1æÚ3‡%þŠxT)v·ßß.66ÛðEiý]~÷‘T>uʈo«nœ½Ó:UЖ…ò—Ͻ 6pážsòÈ·K+ ®:ëóQ¯¢Êê×ð`umþWa{,G*QÊ?š|HÎ1yfPçÿ¼£ Õ­CùÌ4ç£qcNÞ)†ØñÜç_o;³ešÐµ=FJjF…;Ò#v¤a4þžáÕ9ìMf¥G(¶=ÒìΘœ°(½^ÞË=ÏUt ás†¿åй¦[Ã2-O›ápÂR›EAÊÁòéÝ žd°ýƒ$Ž¼Ka´_v‡„Û9D‹Ò-/ÐXâð0Ï‹,Æ  vzü²–5Å…¼„«R6¤ÙA„„Øjîôø}F6±Ëä´Ï9Lž›€)¸®›2]jÐWñåÌ™ˆºÓ“…³Ä‹²*Öâ¾q +7)aol•°Â:qý%W}ƒøG;vœƒò§ýÙ‹‹ûr’O–r)¶žMÙÿ$dªKÇ}×®¦¶ö>1=¿…Ó*73Å­€Šj»tlÓH_ïe•Üý,°qV6û[ÿ; +endstream endobj 1013 0 obj<> endobj 1014 0 obj[/Indexed 1381 0 R 114 120 0 R] endobj 1015 0 obj<> endobj 1016 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1017 0 obj<>stream +0 r­¿/h@ +endstream endobj 1018 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1019 0 obj<>stream +E·›‡ÇH ¶…Á×ùáÁÏG|¨® O™ £w˜h<€™›&ñ˜¤­ãSHŒ!K µ|°ë" ®æÉAž:Ó>VŠ„F +endstream endobj 1020 0 obj<>stream +í~‰×ÿ<•Y†ökðóªk +G£Oƒ†TÊÓ C\i Z˜¨F+¸NJââN>¶b°U¯b ®ÊÈOeɯ×^eþÖAÑ*w žOžë +endstream endobj 1021 0 obj<>stream +ñALíbô*f +endstream endobj 1022 0 obj<>stream +tu Ⱦ}ÖV•´©ERq­ÞøÌßB”9‹Ûþþ°Þ¥Bbë¯á¬D° >/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1024 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1025 0 obj<>stream +ÝsæaçqG8ÑJžÍ:TQ±$:gü¸K–Ñ—'ÿŸO:FPiœnŒmJ…è:›¼üÀ 2®ú›ÊŒŽÞ¿FõTG=fâÛ¢;- +endstream endobj 1026 0 obj<>stream +°ÖÃ÷ÚYÿ¿…ÀH–QUƒªYI²‘t×= +PÐë LЛìê©ÂÊm:ñE¿tÍJY®›¾êö#â1†<Ѓ_v(9ù*'tT +endstream endobj 1027 0 obj<>stream +²ºÀ_Uû9@¿’¹ÿ£‚´÷Dòkëltv­=ž8c Á±/Iš'—͆Âb;íÜQóœPiô™-«çûñ"0YîbOz®}y +endstream endobj 1028 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1029 0 obj<>stream +^öCÕ¼¬¶æt +endstream endobj 1030 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1031 0 obj<>stream +2d&g^Â|²È‹÷ûo_TÅLáÈp´S¦•©,ªIïØ4‚@hC"©¬¸EDièVZü­óÁŸúÙJúÜs2òÎÜ£—oX©®¸ +endstream endobj 1032 0 obj<>stream +K|¨»^Có +endstream endobj 1033 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1034 0 obj<>stream +³¸¼Æª +endstream endobj 1035 0 obj<>stream +«<ÌÎr¤ÿXµ +endstream endobj 1036 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1037 0 obj<>stream +ê[Dõ*³Ù‡Oé”t#x§úþ= ±¢=µ·ãß)ÿ!ÕˆRðk^ô@›à}÷¸7]°,t¨Ñ +Îé,·[’ÂÔ/Á÷QÙ+€-D­@¬õ +endstream endobj 1038 0 obj<>stream +z¯~Ó̽Žø +endstream endobj 1039 0 obj<>/XObject<>/ProcSet[/PDF/ImageB]/ExtGState<>>> endobj 1040 0 obj<>stream +¯º7ŠéõÄÈ»äôâ*jOÕàrÁ <|´Y½½@Y_X~¢Ñ»—b&ü×®={F‘ªÑ3ðì™m–Qü‰îPC h©åÒ +endstream endobj 1041 0 obj<>stream +MýòØTÛèê +endstream endobj 1042 0 obj<>stream +˜«{×&ÏäŒî +endstream endobj 1043 0 obj<> endobj 1044 0 obj<> endobj 1045 0 obj<> endobj 1046 0 obj<>stream +Ò’±MºóÔ+;„©fE.ö¹3ÄÃÃö`>ù“ŒÎ9à”ò[‡/nì}´òìô]“îNê¡M¯äŽ½’{éb—†SφaÄ?ò-a©ÃS5nñŽ`踪7¶†z(Z”?IÉÉð§çý±¡z’!¸¨xMC3'·ê˜;”8äÙ* ®»$L]w/+0ãOèèVcŒ ñG„$gÀ؈ö¼œZ¾5”¯cµ+¸A1Pr`1ªÇŠÀr + +¹÷YH½G-¹lE ›†år=Ï9D"Z<¦H|—7ŒrQöò(:Ë)ä8X7)4kÚíÈQËçB‰Úc*1ê*É"J{± +PBóQÎÓâÅü.Æk>MMR›—I9Žšg3_?T¥œo;Òth ~ëÂQÞ{&S°LØL©­Á’àVýØí–kECèu¾¢¤í Wcô.€Úâ·¥ö9 ô[(´GÔ # +ÆT_Íî3`kœ˜Š g1+vÀJã)nUŒþê™Åinªâ÷l`ûq)•F}ˆ‡ôf|/ƒþÊÉ rê/_øþ ¦4Î,h=¬MŒwKÅêBê°Ê±zKúî¶lèxÌM<âîÏZ¨ÌÕ©è|ZšatD/¤®`àVå6©jÚcÆ dsý—)ˆFóļ Û\ÆåõY”fÑ ˆæÑÔöŸÝT6;²£}B¼¦¼Ž=â 0ûõòŽsìcŸ‡\wÊãœÃ&þ{ÅÄP4þ,ÿñËF—åCrDuÞc䶇éÿ¡$©V.‚Ú ÉãôsP§cxÀ¿¼'dK6Ž\zrY$ô.Ô,I‚bÚš©öðo¿J¹çŽ{`ôò¦» “q©=¿. ÚOÓÆëÂû¥œ_êæ[?åbþùv®½K˜¹•´  Zý—ïN½¥áâãçëšFÆìj·{S\»ÇIž÷-yJóS|v>(˦ó×3Ý¥)ÑúÄuÃ&%&J.£‚XOf>ZÔM.ÆÐ階âíí;‡Ø¦^}øÂÒ‚›/„Pb¡AÙ àÐí¬× +endstream endobj 1047 0 obj<>stream +äãÃä:lnV’’eÖƨ¾ì¸ây s× T?•ú¶ß€˜Ú˜eZðäÆrízÌ–2iÑA|»+xc4¤U&ÈÑH-FoÉé(DlÖð7“Ió}Òíj^ dSNÂtÖô»5´1áìr·ù }p¸LðâêÕ¯¬°Ïiß—ëwè?ÏñÄ üyÒz&@P3Z! ·b~¥’Ej¾ŒøbÈ^\¼ +endstream endobj 1048 0 obj<>stream +¦Î›Ú!³wk$ mMþÖ'Þ®=ˆGg|¥—Tùöµ¶è&evíå üF'U:h1û^õP&•ËV>stream +lrôâµÖBØ*.{×Ké’ofpk– ŸÐ XÈíÁ4 …Ò©"]ù¢×Ž˜‚)…„HëÓ)ñ, +endstream endobj 1050 0 obj<>stream +5•ÝßmxZ~wÑ¡RÑ{^ SÔ!ú”î"dŠ’äRÁ¸ÐÃOÍò½“ ™íò³J»È &‹Ü°ÎLµê,>|~êðF_±Ì4:cÇõÏM”— +endstream endobj 1051 0 obj<>stream +Qß5aö(UOù¦¬­î5|l…oïÌ䧂‹HOí±æHoÕÁš¿ƒs0üU_BÈ++Àû{^më“YÕ9ë8׆})õ:ÃêBÈœ +endstream endobj 1052 0 obj<>stream +½‘NE•æסU×¼ð77¤PA$%¸²)ØVX¥!®Øœýîv°ÜÈ¿½‚fŠ¨Ë´rÓv – +endstream endobj 1053 0 obj<>stream +D °¶kœ²Y¥Tß3åñ +éh»·°¾ZɈØ;ÐÎ.üÏºá ¬ŠD¨Ã2-‰Õ8À òªX½eb€ú$ªf ”áH¨~ã äT§ûh~²¯ôŠØò&]éê?,2—¾Z +endstream endobj 1054 0 obj<>stream +칦k ë3b:²KKÆÞ~Ž=€÷NÕ ì¤…L2žUÿŽ§£ž†"ú} tý±÷´\¥–ëËh9hæM@WeØkFÇÑáy”‰ïì&BÚ h +endstream endobj 1055 0 obj<>stream + xöMÅõH£ˆI›ƒ&ÖÌØÈãïýG^ynÒt-¹Å$D‚ÿòÛU†È“öû +nÜ”çbMÆc¾™d6tÀÏ• +endstream endobj 1056 0 obj<>stream +Îp€_[¯Kû&RÍ|‡çë4VÙ?ù(ÌÄ·/{-ßÑ• +$€Nõúg-LÉ$„Qž#0. ÀJ[„•æÏkDùUߢÜÇœàÖ#ðYÇŠìŽa’àšŒÌ­É(Wi\£³n¦ÇÔ œ$‹ 5$6'ôÐ¥[%L]¹/Õ/¥¤Y÷âÕé°]Š + Óÿ[ +endstream endobj 1057 0 obj<>stream +rsø$EoMÂÛ¤k'‰Åáeи½ü¾ÿÚâ]³ýŸ;{¿lÞNÔ×þ‹ÒE',)eG¢zt¢-vÈ*ô¦Cyßâ³¹m6+Ã[>õKé9+"ºž^ ¸¦xf@ B÷ ÿ]8À¸ `¶\À-$eG¤®ÙkR +endstream endobj 1058 0 obj<>stream +‘!™“y,gÞ‹Sa‡î°Ø¸Nï:ÜÿfžÏÑÜ…ÅØÎÉwwU ä!¸ðG³í µ«n “ØO›»÷ïÚ»Ê{„þª(‹¯D¶¤hÛî#ésØ7p=$ð‡eaÚÔöòy'mó§¤x4© +endstream endobj 1059 0 obj<>stream +¿VRjÉáQ4¦6Fë.¯éM‹‰ÝSÂÌ Íw¢roŠ>.=æôªM¸þ2/E鞧ÿgÿ©'>ˆôü,.‘xµ¬âËuCr®(Æì£æµùÖUI¼±½lcŒíõ®™ +endstream endobj 1060 0 obj<>stream +jGȪі•¤ííàùµ0ì…ˆ‰d…a †’—&è_oh#p©£ùBqé¢ —˜js³²ü]¦_b®Baiµ> +endstream endobj 1061 0 obj<>stream +ÌçÕ¦§FâJ0᳚ßq ñ¼îó +kü¹|?ùô0°EµÀÛô^Û3ûÌ`°ßY!ÄW–÷Wü†—s3ý:*5¤Eÿ>%"©Mï<;²~ŠH+k!¿)2Iòù²e +endstream endobj 1062 0 obj<>stream + ʶ€¤‚(ÁË4‘ À7<¦´¥_é|'WPG§€‚í@MwD/UƒÌØ&JçÛ +c5p•ÿ~mÃÙýð*í™e§‡ô}Ý]ªå#ìf£…ݪ»£/¼s›C3ùJF 0©›Ë +endstream endobj 1063 0 obj<>stream +¶$ÔB[Ò×Vu.º¨ +éÈmÎRÆ4ZÖ~Á:uÔ^:9ž— ,Îßp¶EdD\N_è•EUôÏŠ|K…¶˜fTH”G½Lý]ÛÈ‚žF§î1‰õnYÿðþsØP££-†p! +endstream endobj 1064 0 obj<>stream +eæ Ówùk‹ÎVסÆeض°Éú+6ª”UÃõŠ‹*¯s‹HžŒô/Gº 9?ðié”Bã' -wY6Foïñvt’,™qòï:òLµƒ¾7»7ÈDNy÷²-ÌR:Xî?õqe€N¦ÒÈNYÂn]B9ˆéÎË7r]CÕþñ°–‰k÷ãèÁu‘N¥„½ƒ¬q IïžÞR¿Ñõx­£PohV½:›HÏÌÀ ½Ú•ÏçåHÔ ›^nó¸*Vñ‹ÎNShÎ/þÏ|ªE¤g%'ÛÑ( *yÏÈ–ÿZa&Zé`nD¿ATÊ)ÚuTZñC!Mnž'³1[g +endstream endobj 1065 0 obj<>stream +c…sÛÀµšÖ–zÊ®üFµ1긢ÿ—¸Ko]jÃzlä–è^/Æ-ŸŽ6ÞT +ÛÙÑxlËz*å员˜Ô q¤¦:¬§ç†>ÈáI¦@¹–[ +endstream endobj 1066 0 obj<>stream +Îü†øšrÌÉÞ ™áCåiú´\ & +Ã# ÞÖk—güÜ +tt]숼7 +¡²w~FUAgTƆC—ÎêSÅ[É`™7™Þ©ÅíÊûö„{¾ù>^4‡°V“ÉÉ*¢¨ÿÓfUÀ³u :Ÿaua÷þ’‰Z£ÍþÐþÀ áµAr¨ý‘ ³•N +ô‚Ñe>üû9ÅIQ‘eP9ÚǸ*FÙË¥BÙÑî +endstream endobj 1067 0 obj<>stream +«©âˆ/Ù‡c\Ùw¼IË¥Ó Ü) ˆ}k1û•zë +8WÓ@×Ãq‹0;hyý}áý‡Þ>½mÙqšAE•À+6E‰ +endstream endobj 1068 0 obj<>stream +ìàBÛÄááù‹Í+RÆX]e^ñ˜jJ,a Õât¾®%:GàM¡K}Wô9œVjp‹~Ý`Ö™ˆõ']‹'2î ^¶’Ý„åbä£_·Gu®ß—GNÃI3ÕÝLKöÖóÈÏ28ҧϋ˜Û‘ƒ§šÿ˜”=¸t'i­N£è¶«>Š +áï5ˆ@X(:Ñ@Ç ßÄÑßÁòfÒNn•E9ëç_å¶a¾VøÁؘ‹4ùQ`ÿ>~&ªúÕøƒt§ŸqpVvdV’ jéûÅÜ7. ×Äš…H·ëGÒ™k<Ù±ØÞã—¿aB%0uÒÐ tÄ`³ióݬ_ŠØ‡ ÷¯ kLbÍsà‘OgŠQE`{e‹á±®VV#‰ƒkœ-ED–Ž|ÎjKBŠõ¨žM¤k)\_þÜÍÅøP»^¾¾û„OÙrLÇŠÛ¬Åo ‚$šªçÝçbˆîU33OWÂL³œ0¹ŠÞø;’,˜oki4ä^iô± +endstream endobj 1069 0 obj<>stream +\‹ƒ×!Ÿ-8âAüyv’¤ÅÔdó *‹W>ð#ÐxÚ.«´Ô ;=} ?l¾Aˆa¥ú~£ŸŠÌº«@ŸHò–Ìg:#β °T´ïk9~üÂ>stream +«}j¦¬/;NÈL9j}åò¢ÂŸ1bvkCòEY9°#jXMîªEs¨Çá=3òx’ +®Ï7xˆ¯Öjw‡…ZãM;XÏWVc—ñ¿¨H~÷ïÄCL|Àß ùŠ¯'^dNì4ƒ6/ŠkÍþÛ¼ÐÝ&7m‰Šj¤¨®Ì!î ‰Ó ž¥™dB†Á›§}ø©6ÜæÑ—&28¢$¿Ëøq††´: ìÓÑKW˜Åkч‘¯<û³s¬¤ic…¥Ì ’Ày>|ê~æd§0¹®…øÄ6ÞùÂဠ+endstream endobj 1071 0 obj<>stream +(×9ÔŸáÆam§HÉŠ"Š23¼Ž$œ¯å”Mv?·õw¼®Ø$¡<ÃEwEœ0 ë}Æ¥k}>ù{|ûWBïƒ3"éˆÆ»¤ÒI¼Êãj‹ƒK‹èí.‘ñû+eˆÑLlM†O#ÔÓQîK`IÀË©ìV/@êëðY9Wf•å¾L3—|U p2 +0øøµÕb•¬îñ( +endstream endobj 1072 0 obj<>stream +¨/ï?j¡÷¶+ÕØÌ¡5Ø:¶\øýF«wN·ÿªá7úªÃiüø‚«þºCÊad½¡ ‘i¤ï‚.)¥ æU,åaÛîÒMÇÇóͻ󤫧>$˜è5'ÅAȪü»PúˆëdáÖZbC³CÐ~Q>ŸZIp™ïÉ’ø-x{B¥òÅO”`Y¿å­J-&ÿ¢Û.¦²‚ÛÖ‚r°åS90 Æ>ÎCt¾ 8ä®;&à‡”›-äÒºîFÞÙRá¡ÆüŠ¿ãlUQàA½K×™áÄ;ÿK}(ëaÐꈵpÛV\Ýpšv4ý='a9;y1$ZP^HÏ+¦È¸Xt%W<>^œa§Äd2Ú½Ãýù  MV†_¿tºr±šNp•åŒ# õ»|ƒk¯l†Ø?ˆO†ˆ’¶m¯Æ¦Èe©èŸþD|Àh[“¾t·lŒBØ¥)`« +endstream endobj 1073 0 obj<>stream +ÀFúºñ1• ]*ÓÞ->¸æTÅ@¡Ó6 ÷”p”ó*¹Â‰^ï=}ú±fÅ´Õð³óôš½¦oJï÷«)<ƒtRŒZØJǸFžß‹Ž öçTDBaƒ¡áˆùGWGi2Œ/:ïÕh÷ÇQ8*†œá | Ý{¢òu÷á'Þcy‹WÃhîƒ`¤ñŸ-iLlêœQrXùør*NõŠ“êE|ü uÈh4Ëç„âe©¡K¿ +endstream endobj 1074 0 obj<>stream +¸s®Ñ÷žìöò  ˆ¥èlsd¹~ú¶VmFGÇÀAYi ï¤/3£6H°|`:ìmâhÒ%™Rc¼;Ï1Ít Á®& 0Ò4á99Ó_a¾ à×_¿¦_¡HMÂ¥¶Ð)~ÑUìHy8ÎÌŸ'x!Çøª¶.¯jŸ¿ëS|]Æ€æšÜghÐ/¢JG‘¬;O’°VÚ½æ³Eô:<²ßEJ˜²>j´1æZL WÙ*#ç—eÒÔÝß¡ \XSjNÃ2ùsÜŽo}ÞfÓÆ(¸©|e=b€ö‹gNhΦ ¼ýC +endstream endobj 1075 0 obj<>stream +ƒ&EÄ2Œ¸Ñ“šêéüýç¾õ-‹¢œÍB2í á0ö©öØ9/g1+Ìܤ¹Ü¨æíßä Ïñ¤%õÿWý¬_ L½#¿rÇW+ÍTªñ[#Z à¸™•ßáQòlþ©¿ßj–“õtI7ñv9a·ü;ÀŒÅQŒþYÊuòÜùê +ç·”Ü4ܧ—‘¤ÎDU°:Çê­CÛÐÐîy”BvJ‰œœ"[ñº¡ +Niäà&w×°î=±/˹þ ŒÑ¢é4óÃ+æÁ_@DÒÄžQ]¬áX·µIezd¾%;Tm­oHöú󸈩¡ +endstream endobj 1076 0 obj<>stream +ù“‡E²ˆg÷hò‹Ô“®í™:tæÛÄ¿›XÐã@ƒ M'EÅ­ßg¹àZÅ+ßrëf´¨,á-àF„i¸/…µTÉÙêèP®×sz•æoàQ‚‹ +endstream endobj 1077 0 obj<>stream +aÏ©ò”£·ô:P«â5ò¿éT_ÛwoüX€OˆšÒj¸&Š½´|o‹@„ɬþèRuwÑÞôv þ!w‰øŸFéë·ÁUùç±,g;g]oïý,ße±"k4„¼°ôÁHO+Ñ­ +SŠÄìØâ¼eº…„i˜ëÓ Á}IdKñaÏ~‹šï"cçãò$/ +•ÞfjzqQ ›™’´×Fn¸•¦òBó:cz0ßÔç'¦æáð´PýŽQ¶0!\ÆêèF›Aìkº¨LõJGI\±”–ÂAÀM²@æù?MІÈÑñÉôn³efîQÁ¥G…+ß ð’À†Æ´“rßô„î0a{TõõƆÖrC G¥5bJ©+$éÎeF“ &xJ˜ªJ‰é­<—˜=,$e/¾@šíGgJ¼Í_ŠÏÓà‰›nv! +^h¥D®õŠÇöiÚ°ŒħÛß2„­Œ¤~ZÈ< +endstream endobj 1078 0 obj<>stream +¨·„8̪u¸ÏS¬ÀÃÇÙjaò +_ 'rÉÿÄþƒ¼…íß%Õµ§VªÓècs‹–ãÎ?D»uˆ78cÞ·VŠü¶ºX²?’gDÅ$áõ#•ÿ”âktìˆîlxøFgîS6òÝÎ6’|4F v±¨CÛ6; ØFs_»~Wv¢ÊàL¤Õs0«PÈ=ØÜ…GT}ª +¤×vÇöÇÝÐ7ÝÚaÑãôÔÛ“#BFÞô€7mlx¢¢)B‚à Ïµo—CžŠJ@3}-¹?,F Y€R0le<®¶—¿Îí}Ÿ]·jm +endstream endobj 1079 0 obj<>stream +Á‘g_ÀsÛ?ÆYFí(t‚œ#ÞÁ°á¸•ÑDîO„<¢y%A˜ÖáéÚ¡)¹ï•‘ {]Ú‚kò‰j uÏ¥âÐ ¦!;7:9…¦ÊPËv~z½G¤msê(úìµ41õk¢ñ‚€‘"•< O2G†!.Ìb½} X.©3†‡ì1xð¥#p¼­ +ô짨´og+µ!Úâûüª¢‹XÊAaÇèû]ËÄAcj +endstream endobj 1080 0 obj<>stream +ÓÉJ£Rj×*,×u+^=*r~Û*žÚ›>4:è5\®®ò_x®2ó‡ïe ·8Ú51J£/o’Cž_¦‹¥n®ˆ3ä$%6¬ÖðAóDå—¶ŸÄ¥‡ÉëCÁ©Eá’o·¯qv>î5Öí+-«EaÝ‚•BïJuƦ0ÂàlI#· ì~“&u@„7­ ˜}¼”xÿq˜?Øóøâ~Ë^R*÷Ç'‘‹û´q +endstream endobj 1081 0 obj<>stream +:õo¨ì°$¢gp¤.):Û‡Í#!osô®î{Äzæio±“<¿wÓÄAܧºrMÐ 4ÊûWD+%²rù2½*…ð,5WŒ*ˆÜ–@Tö·¤þ°¶† PùoúÐai—>stream + hm {XcÄ¥¹CJtjdæ’5˜õÔZnº +0|ƒCІ¾YX5 m s!SJé!i­öl[]«E'~#»P§w/ŸNŠÏŸÕ Ü>oîý™ÓzÛbê´´ñõWƒõîr{ °-{åÚÉåE±•õ‡ÊóòŠví@7œ¿“21V=o_ÂoNÔ2p²¿úUuØïï¢wD¾Ï¹î’ðFÅ?è¶Ê90`¦ùQ$r=æ«‘ú`<“Xr=ÄÒwé 9¾6¼Cz K^ѬI.s@`^6ô%ºc%ÐÆy¬B@<PîÒš«HPªg ¿UY” +endstream endobj 1083 0 obj<>stream +¨O'sg e²#í¬öõÞÄhVŸW .ç…¨v8Dû†´¦UÂë>ËØâ$î € Ásů•;R^]L3gDÂ~r‘E§ºÄŸõ›µ&•é0×I±?h» côÅ8TãÛxä‹$rš/µ@œWz3££›¸‰ÙQí"©Æ¿#l6ðÞ^œP¢Zcî¿:ÊùÚ*9WÃ_Ä„"†ÐPá1ulâ-vS¤Šs¼Ó°nQ0å‰T;긖žhEߘ‚gIþ§\oX–¨‰"‚Šnë_eõÜñN›ÙL%ÿà@‚qÆÆ5>Ö É7˜Í)¡¯Ù€ãMxPÕ`Dmöƒ£mœÞu7T.Kðqï»|ª–‡öV9P(IýµQlb$m¯ˆmI4aþÖ6q€h©óâj<ïÕ‘#ÏùÁ…g¥üSUî¿ußj",?D÷Ÿ +endstream endobj 1084 0 obj<>stream +ùö_¬rŸg^X[ÿVLîrh®qN" +{§áù‘¡ŽÃsZGѦp# MϵÌq¶A¹œ<¬¡÷¦I|Æh¡-N¥ŒêÞ;­C#óÊßÒªJŠÓŸ?0Z DLôcmsn/»7¸ÙÊ­5ÿ´8YL +¯7D¢P‘Á é¡SÆX<šÅüÛ,Ñ“àñNÖË?ÈD³òŸÊæßéh'Ð3Tº>~?û)i6Λ\2}l´ö]‰®×{ìvìi*úÓ´¬vK‘•09ÃbØgg/þ,O5)éÐdž€·Û$…‡"Î57î˜Õû¾ÑTQͪ“oKdéVƒÞ4f ÙúبQˆ`/çÀ„dî»z(Š +endstream endobj 1085 0 obj<>stream +šVemá)v8oA¹pÀšÂ³â2Á÷R$%±r)ãˆ0bƒ?쥖˜ÇÈžDµØÚ3†'c÷ñ (b[;˜ñITüK3Æ A ™O®û¸È0Î^•A0Ë¿;"q?27æXÏ)ú;.50ñh ïÿµ6לîš÷®»££lŸ3qš «< +Ž&wfõbQ|=ÔÆÑèžI¿¬£™/3gCëq€l.Xk(šA–ï¿Ëâ±ójÍA£–]îüõË=%vÍcpªQÔÚ÷)›Œ4f7­Ý§OBØkÛ¸ÎM©í©7/"ù Ÿ(û°›&Ââ*&L®sÍM! +endstream endobj 1086 0 obj<>stream +$sþF—Êá´ž]ÓÅõòÒøÁçIŽT$=méÌFÔUr·C;@ì™ãòS¸”ú‘ÀÌ!Å÷tÕì¢z`aoXש|-Ëß‚#çâéˆI²ÙùA³f! ‹ìÏWZ¡ŸøÀ¿õ4×xe‘ÇêÅ¿,ÒäTC¿ +fKO$úàÏi±/nHÒþÈf5ðÎDƒ|Z…b¢eæ_ ž›©ð$fŒge¿Ø?æGÖ«õõz¸CשŽŽÏð³1\Ã&VžOµ('ÀIVÁ5u6e¶è( \¶¾Î˜*®ú‡]×›·(£ûþ[g&»ó•æAJù…>stream +É̇hÉ0]¯—$¶¸Ž~Mr{l(Ußqö¨qLS> Ø‘ Ú4l8™n1žŽŒ#˜Ûèdˆ’„=âs»ð+Ä® Îw}ÇØ4ðØ·šta®årìS&¥»õ b —'ZmmÉ0×N–M¿º D¢HðþîH©z£öSA/Í:Î~T•˜%Àr¬ :Ư ‘-—¯v¥¾´ã<.–ýec£{$0b˜ÿÚßÇÛ\‰ÿýl“ûyøä”Ǽ›™nnGír£D,h1£–Zlüñ†,hk^adwS‰3ŠæÕø‹¾h¡O1ùŒèE“õ¸ÁŠf¯ú’½±¹²éI X-ÿC +endstream endobj 1088 0 obj<>stream +Š Ì]¶r!µY8Lµ*¾óæª:!·}Q§áLÖ7³S=ÝÛßãJZseÇ3Wú ñ?TÃ}Élõ)Iྟë—,Þûú»Å‹‚ŠŠ ¥.÷BG¿†¼4.M–±ìÅõÑÄ'’sYîù¯ŸB!Ó«C¿g%ÉlßK¦íÐq38Ék!²P<‘óê:ü€Éƒ;åçÐ[ù‚jU÷*‡q[9¶ÇFaá™wõ¦ù†õÑ[eÚ-}ðÆõ¯:*,…/§’x=è‘ÞMÞ®×õõñÙ4ç6 òÕAoßDf>ؼ@Ú é»nôrkH‡>¸ß('ôŽg ôOàl´½Én ÚQ_M-¤É +ÉÐ +endstream endobj 1089 0 obj<>stream +°aFg̶<3ÈðÄnOÅÖYgY_ó…ç¥3B!½vô¹{ÀnÄÚ¾âÉÑß®© +¥v4w,H`Ñ_bD}À%„×´ÐUÛw>W8HÕÓáN‡í‰o}×RvÓV„ý•ÈϹx¾üŸš8TŸA –+µƒ>¨ ï:K†ïGKsrny˜ÒÑMû¯CúOñ‹¨ûM¯|>stream +‡RL’L5ó}ú}š)yêx7B ¶bñˆ¹,ç‚X† 0³&!#Ð#±AÆ<Ó +˜ôÈj2ðŸ5œ¿’|W¸ˆÓ°Œ+OŽw|lÀæAh˜³|ò@XM •I +|t7ÜH\†bØ”âë›Nr‹ž.ßeî.µù2è>"Ò¾ˆîÜÿÕÏ|/ÕÔCO\”Ÿ Œ]«ñ,bYgèk)_¬[c–üÒ~Ì< e¼àÌ«z†þïw_¼âIž°9·D´§ù”TÇçB +endstream endobj 1091 0 obj<>stream +ÿ2…—&ÂgõqxŠ1™Ëí%¶Æ;-­õy³àêfyúÀFDêƒ ž-&òf±Ì\Æ9ׯk‹2ïþyœˆ'e~äq‡§…c¼ÄË[NŸgø25»¹:d@xK2t>r¹¥‡oÙ‘pÜÓãožŒY£=Ìþ졦Ò(«×^ê^D¹ºúôu½@þ%uʱcÆ^OØQ>Ü&BðáRžZá7–kíÛ=ÓÌ’‹Ò™?S¬˜Ý)G~Pëì"`EƒgÒô™È÷ª,61£Y€ò3ˆF£)VäƒïLöŸ¹e‘–º£º7+I´È/œÛ]„‘oÈAn¯TOat‘µùÞÙ]: æ‘ éšiFtž„ï¼ëÁßtúX±‹ŽXúây—9N¥ßçŸI]r˜¤›Åöwܦ‡¿L-!;!Êà‰Á[&õ“<5ÌßP²-˜¨)>¯'c U q’ÕÝPNÆ-Ü»*ê9äbý"l +endstream endobj 1092 0 obj<>stream +U +eÓ>èÈ;á^"<¿ +Coâ0U*f+qE¥Ê¼Ò=òÍá"!«Ýx\á¨u4#æ¶cÛ²Ö8 -Ž?˜¤O©%lÊ|%[zÓDë¾KþËÖŒxyߊ6Y05=2Ö#EÁ'¬9¾Xà|†Š¨‘GSCbD<>»~-úU͈;¦¿Xê‘–ûqA·•ŒpÙ´?hw”«íûOÓž^\T)"‹S–9†±™Û“´šö¶†Q²CºÌ‚îÇ—˜œC]ñuÂúf¾«zJd ]’kì^ÂK«Úv­‹Ý‰F²!Ì“÷øý8q-!Zè—›P÷"ÖÝiI(Ð2f _I_ µ¯s]9$ÝmðK½"ÀmüOÙzø¹)‘ïò-&£“5çu°M“ÃåÞfÕ- Öfø÷„ÏqDpðSÆÆ=á÷zš¼^Ð"¾%^åÄèym°È‚Â_Hs,ëÄ +õ~#ÁÖþÌÚ¦6*1ÿeÞ°n!2B¡p6†Ï&¿ô:Ð7¬lÇ +endstream endobj 1093 0 obj<>stream +>}ntÍ€µ)xÔT¢__:¿:6-æÞYT¸;Ž‚w¢¶_£a‹²‹ ?Œ€<„–‡fx¯Vr—+§×Z$Â`Û’“½P®Èø.õÝÄ6‚Œ‚Â'Yƒï_7Ö&›‰loý…$Dž+í`¬Ÿ*,q‰ÑÖ.F(hºëU7˜(a„À!…>Ü[Äù»‰™8ÚÍúÆ{àø3q½ã6*=íMÙ«&³|!ñh›è/Åšæ/§5Âõå¶è°†Å©ûb §øÙ¸ºzáNÚ¦w‡¼ß_k%:È’*“„.ïºõ!PPÄñ¸Ã‰aÉGü­‡ßgÛb_£íúÀ„£¯`±Ò,x0ÖÜŒ<¢ +endstream endobj 1094 0 obj<>stream +J$ç•Ðĸ(õ–Gø1ÍC…è°Suµõ|ôµ#55 ß):€d6‰Ó¦¬¯0XB;ºµ‘˜@Æt’Æ“îœ-MD‘%ϧ<@õwÁë +Û‡—þ1MŒÙMB0ýa“_Jæ(†UÈû.Jƒ+'' &±§¡lš™èѨ +¤ÆÙ°ô„eWŠ92Ùê%‹K5Ñ~m³åR7”ñgD@Š.ƒn¢‡ë롱®dnäE`œò‰„'š”Ýø0´|÷­Žè›IsÃÊäÏÛQ*ðÇS +3´ + »ÂþÇóHžÿuÇŒóKˆ…ûÑsD?€|–Ü3~N%ÿáœ}.‚ì·Úy=LAq9ó*¢”ˆ•|:y’4‡Žqp&+˜D1XÌÎ"Å€SeöˆÐ•dçXùoÜ¥ˆæ, +endstream endobj 1095 0 obj<>stream +À\i3™ÅJyw·¸µŸW¯”ýñ´üÍÈýbb¾iŸ&Ť t¸½ëäΘ”†…£ +t0rIM´¦ÊÖ¹3`Wy™Ä é‚=8Y¹Þq]çÚ.‡ÁG‘‘Å,gyU´jœÑº#´°™×9Ï, Š ¸?H‡béü ]Üýer_½ÜãúögÛhûD~7÷k*ùXõ¿@Ò½ ­ÄãeuÖ‰8æŸeÐXÁ¦ïEÔM…oU|ú§nÔètÒ銚Z^ fáNŠ Á¦„YœŸ¦ …´ÊŒ!_¬Q½«©˜ü«VêõÅ¡È¿zBêkû˜sç¿}>. Xí ÔaJénA›H…9b +endstream endobj 1096 0 obj<>stream +‚òŠšDä©`T4X¬ÞêlÙ¡êdÓâEô—IáÈØÂ<¬·(OZå¾9å‘k«2ôDSŽ×°¸¥Û:©Ð&×D÷RÄ™*Ø•M͹® Њò£…ë˜Îÿý:þ"‰Â+ú¨;©¢„xÀÇQd¨Çgº9¥éÁ$©M9Ò3ù4/Ý÷Ug8pJ‹šÉ†ÚáXÒo¥¸ ÔLyuñ q˜¦V¢ÍêñàÉÛ¥cÍ*-(÷ÿÁB”ˆDºÄ¸“>†±¨˜t¤Åwãó%~¶2/Èòdº1ßtN[6&ÎA @C¤¨§û5 ? q×ÔA„â}/”èÓÜ|´ÛÖòèÑ=ùƒ1¡´GÏCS, ±¨7C@ÿχK ò‚å +endstream endobj 1097 0 obj<>stream +~ñrÕͧ K  qGÑ~ˆî¤&N­è½g“?ÖþMÉƽ_¶ä‘tüUq8¾ªSòfØ`à<öVo=q¢’ÿ ä“ì6Þ¢Kw®qê N·€AGS Ów‰¥Eœ¿àÊŽ¡uñÁªã¡ˆ& ã~ïcqÞEÀÌ•‡E•µÈÌ:RñïÓ¯ûš\u‡SW{EgÊb¶‚ئ{ íáUÑLøó£Re´~Ë ¸=‚›À—cÈå=®(´ü|4’)oH +endstream endobj 1098 0 obj<>stream +Û~㮿™â¸-´]Öå•»BÈV0žŒ>stream +k9F>ohY‹9Ï®0&ù¯ú1¹Þ÷EÂomÄ·ŸÁTjWù–ÑSÕ9xÌs¼Ÿ@²rB‡¼‰èïay³ò ø‹UÚôŒ„Dä ìßíYç%ZLU·«Þ×2¡cù‡všÐ9UÔB<ˆN9!ù.<¼¹ Ä·Íoùæ»W…|ÅJÁú@|Êöäó»Ý¥OLU9ø,ë˜ÏkÂÝ®ôŽ® Û™»”4ke”¿‹°¸ªŽÚÒÕ{šÄ8Ôì ³¹¿h:‚Vo£P[!Eß³‚7û0™^ýi/%ÛOÆåÿE¤‘öëílìyòyï:»®ÍžÁÕSóÀéŽX‡N+ +endstream endobj 1100 0 obj<>stream +p[Èh¾) 'Ñm{1ª®´"Û{<;É<î†Ì!˜zYþÏ\ð“Ý4¯u=F>A¶}ÁTøèbî&òì£8Â}‘F[=ië‹*(¹©QèØKãè¿W¤N¢¦•XJ¾áLSó/S¼Ëßšÿ€äµöÀ5SÆ=êíOõË@“-H'º^3v ÐtÜã6€Øðòüó +endstream endobj 1101 0 obj<>stream + ˜aÿÍl'ÍôS.:ùg{عSXþQB¬Ýv÷N\ÁÔuÌp¾!:A0®BhX…°® MÔꂦèËUîmôÉ Òlwë@¢Ñ­ÄA.&d5Xœ¾Ú¾«Øž­¸cˆM²¶b°‚¾3º0R»çB£)$‘!PLɲ¬rfºô –*­ú5pZ„‹øîhP ³²õÝËüÐpª¡‰ÂI:*ø^žÄ/—N¶Ìbx˜:´ó“}êà) iƒÿ5•îœ˜¿íÛhœ˜›³É|Áù:¶Ÿ¡¶?ú‹iÙ&p÷qw.•Fæš’ ™™c懑ØC¥pÏcG2†¯¬ˆ|ĉkCÉ‘’uC2U +endstream endobj 1102 0 obj<>stream +ÙÍt³áÚ¨Úa¾#fvœ´}Û ç.†bs”ûT<:sQ6ˆèfWxb´— kÉ?Wîx—ê:L_J¢c¸¥™<±«8zÆAu2–7¦–Èkš-Iÿ2zeUDC›¡#ò-(•ò*—­Æ8ç󥌅Þõƒà ;ÿ¦³I¬jýMÏŸ¥4¼¶ÙÙ,È¥BUOÒ±˜‚:ý²_0kyÉêuÈžŒÚMµ œ¾PŸ;Ôk×¢sb´^«A‘ç{ƾÚ[2@‹úK3Žàdö +endstream endobj 1103 0 obj<>stream +YúõÛël¾ Ë2ƒF`{Í?òSi³»wÐ÷æÞÔ£ü݆K<ŠæîÄ[bÃgß÷lT~{õ…Õ¥¶,½{%Ù¹»•íâ*ð^A8oTñ6Æo™Ôü*Â0¿ØòÍɇã$31¾ñUü\ðÖl1(š?}Œ‹*}¦›}p¹ì ’쨅ùQ2¢Æ_7Lʲ¬Uì’ìëÖÎ/“‰>stream +b<) ¼…L,»|çãUþñg·VZ¥¯ËJ þ43l~Ì¥PÊ™%â~Žîㆵò ÿ³%úìókáÑÉ?UÛ\ 3]Ñ\x|=ʃ¹©äÎ7hH`ü”ªæ5¿œò?Þ®4±þÊR2t|SBSÌö»ôø>8/qQÁêjÙYl¥‚xõa՚щüf­@2ñO‹ãS ‡ë[ä –ùK>U{vú‹¤)¤e@O‹%÷éo/Ò+¥´*ˆU+´6 +endstream endobj 1105 0 obj<>stream +7(‘x~¥š¡3¼}ú¾’²NµêóÑþõ™‡¹Ç,éAÏC¿iu +Êh:>µžõ•÷lÁiw:ëÒ´Ñ¢)w°ê²ø“º¤¦¢ZŽ(6¤v«†YL‘_íúÇ¢ãªû4ÊáÔá¾È¸TXšïZJgѨlç5 ­B‹WkçÊQ·ë.­©Ë¸þ,Šy’H{ý¬‰#Jú]VK$ý¯ˆ )ÃâøWÂì7Ãþ>JÄ4“ÒúCàÖP­ðx™v).ˆßj/ °™¬m +!”‚Ñôèwø¿&ÆvNa²Î>>×;²(žü>€®z$‰áË”ùÙx®4F‰½nÉmÂ…âÝ~¬a»ïGŽàù#¹ÃA ±I™®è~ƒÂ”¿âáÌ ©["ÙÊž×êr¥ÛõQlØW s´°þã}¡ˆtá¦ë&@'Ÿ#gmA6s™ƒ\¦çÈùç´,rÞànHH~2åå¥rrsšÏ«5¯7/?X +endstream endobj 1106 0 obj<>stream +™õNÃìO¬7á“Ú0i"æðY¡¦Kyt>–e¢ý‘ºV¢HIƒ|FÜÕ¥¥v`ìY·O¸nQË»ì8ˆÆæ V(É6ü0ïRí¶ú¨sûLhôzƒFg ´Sî÷'øS¯—Ï8*Äå)F€dÖîÿ·¡Ž_6ب[eMï b6êµ´fTž|o5™–Ë-øàb—î-[P Aa¬ÆŠy¬jƒæÉ^1¨9RÔÔ[Û”éË\¬cæVgš•šÿoîîŒHh@Ô˜?f "ÜL„Kc"•52cÑÍÞ «+tZãú¦Ø"Î6vƒ‘˜®ÅKÒÌ1¾g˜0O·Í*„¤=Pà¯g/'³—MÝJ¦ Ó“0/g½jóÛÛW‰ â\%zƒc|iÒ¾À½ W¯§9 vë¼c08" eó:+ÍÏUl/fÜ}>Y6A—îßùÒ > :é"Qˆ±êh‡Ñ0òF5XšO#ËB}·…S° +endstream endobj 1107 0 obj<>stream +e‡LXóÞR˜øY`ùbYˆÝOzæ”Åô°%u;Í“•°è'+:ƽ•?(íÐ ,A +]çÈ’r×+é|kŽ¦¥Ë‚' Š™›é-2qSLMàçR<¤¤ÑÛ˜¢Fü¬ÚaH| sŒƒëhG°ˆÑyS ÄÕÿ-°hÉÙc ¢éqFºäId¦”¢íÍ›6Ö’5^z;‘€y!¸%t9lçYóOاØ釛ÝmPªÇP¡N*e:zÈ%ŠôÙ®“‰FÛ㬇€˜¹Ú{Ø^«\urEʳv¢Féê6ÞZÄȹ/Ùç,ÞdEÐ4ö +sÇí¯8ä8®Ö9IvAÒðǵòƒ`^áÃ_Üz•V¡Üù6ÕgçH'Vf™”'EÏÛ{‡œqHRºN{þ·›$ËLŸ•ª…äHç[Vyò[§x=ä”ÝIÔ‹Õ“þŸ±'£eºü# +endstream endobj 1108 0 obj<>stream +ÂM“‰<êïÊ7tšði~qÚHÄÊX&w¥6v?¤Iû?ÇG è!­x†½"½’X¢›"=ù–b@tV~Ê|]+ñµÂüÞÝ£ÇåŒPæÖ3 +e£û8ÂÝÞθ4%¯¥#"ÆSg¢Œ:DY-„x.yRG—æýœ‰œgÃTE;ºP-Ýú¯ÖéÖÞrÕ„‡úצ³\…PØÇaí474¿¤gY ´ú  ã‘xÒ~Åu[#Ä++ ‰©Ë¦rgöÓÞ•yI3ÃÕÕ +dd¥ÍÀ/æ ðËýß¾§fô/ÊàR¸´!lÊÒ€°#ÿƒÈÁ"E*Tà£È¥92*[ù6­Í°Ïn,”ⶆÃÝÚGâ+NrõzŒ¦N#f| ¨I¢¢dþL±Smüý‚o¹ðdù|ʾv½ðð0†ü? ¾«J`LÆ÷#СtWº~ï‹Ÿî +endstream endobj 1109 0 obj<>stream +óç0ÜιkŒÄSMйŸ™ô>O£ª9gÐÉP.ÜÌréÜZËyð¶íGÿ³”ô. á}Í9e'ÿ"8˜ù=yÕùÚò¾Ã%GJ—Ï^/2“:¸WíøË쥠)Ð|ŠÀ HtR£q$Å~bŸxËüw•òz.º=r=K­×§¬Ûë–fª¼,ªãÙK†”ÚÜÛŒx/K_õÎ1˜»÷²Y؈ótæ‘„@¶_ý°˜ÉÜaŸãcÙ¥‰¹:çÀ¼ä˜Ò,”úpÒI’\‘O¢m2LËFîË~)Ö! +^©œ!/«ÿiq?FH˜I«ê|ƒoä܇ÊÑÀ®vKîA@àÊçù‚`ÐJj•gÏA×[ ´a< +‚”=Uè º×_Ê —|“(³„ÊnO®ZZ!Bú» ;—˜|WàH˜Ì.`篵Œ%£‘ž!{ý3üÁÚpoØ°l6¤$šÅÀñ{^øÑ$ݨÑI˜,ØÊ'•<.¦Ï€í«¢¹˜#²úŽ dwNƒØ+³!€âkÅ\2ÑnãmB§Š>ÈãE§Z8 +endstream endobj 1110 0 obj<>stream +((âïvñ3üC˜I#Þ…}dQ¥Ðî«JæË90(Ñ`Q  ë؈hïEóH ßÙÇÜ`Và¼Úñ(V›ña_øm? e½0m°{q²ÞÙ-Z'Δ8~ nìIøÏ­¡BCJ-§Ù®)å-> JDbè“-(f‹£‚—Î6–óƒÏAš<Åš7åE~ç]<}Ay‰Ç‡÷èÛÌ/ìÓÝ'‘ «H´-Š©>†w`›Q¥Œ€Äeoù…ñRBHnu_î xmsR@ª¨@1™e¥LÏ YaÊ\ÂÍû•µ émsx‡äÈä/ÎAñ2®]ö;š±vŽn)‘¤ðØ„Ú¡ž*¥[ÝÉP ×koý“ò™9ÅPŽÈsâ¦LyÝ¡2è;¾N–ZÔinL +endstream endobj 1111 0 obj<>stream +vÝþ¯xÆ•ÖGÞãó¾"Æx¿óƒãì} ŒBGl,OP¦BryøA-ðˆøqT9å[§1pN ;®º e¨_š¼þê)?ãdú–>stream +ÎÉß©3Ò%§£­9?¿©80 ïàßÂê=Šü~mÏP<™Ï­ðéw,G‰(­IíD$d¶þúÃÕ4L-¹™÷†,ªIoÓ ?üúß\éŒô©>ªnx*kK÷?ØZùKCàýÒŽhÙý0ì R™B£ý÷ @ó¿!À‚÷†–þ +.¹ÿ†¿gY)ÙÊ;µUænÅ[Õꓶ\û«Õ˜LõŠ<)S‡š «H0&_ßM>ÊÂäðÉÚØÏ°2D-«¼Öjtþý› ¨.+’#.³Rµ.ü×K4‚h”d‡›Õþk-ó‰˜Þ;S…?µMº#Úäø ä+Ùm}-1í¾À@$‹I@ÎX¨†!@©:6@øz +endstream endobj 1113 0 obj<>stream +\ÈN¶ôf­R™½†# %LcÆ@ýãøš‰”©jºpäüu²÷5Ìœ]©WÝâþE¡øLÚ»ÖmžƒÏ´á}2X¯ª¦ôþUíÚtZx}¼ ëI]B¯„šÆÃø –wˆ¨êñø·`†©[ÎH?º£w®+F4c³ÓSëÝHQ¢Ì^n´c ‰?UØž,ßÿG±ÒkÙ±]:æuªò ¬aäDe‰îþeÒxÛ-<¡Ä¼bâ~ÌͤʃÞp\FHW§z ¯$ÓÊ€^¿¾×—¶óÒ‘s¶ÆɽGžõ%Ãö‘¸FBwRé%·"lxó?×¹óÃí[UTßÓ§öù†5¡-Öê0•'¬Ø +endstream endobj 1114 0 obj<>stream +@çÙ!+³EŒ´þE=ϲã’âŽ[pö_Á…g–¿†{\Ю®ðSŽ±}¹_—ðB2½àºírL?+î&D߉Ó8ÈK5â~®+ +SÁ®õ‚—…ë.2á9$Ž^¿c5ÃË)U7,l Èö\yHïL-,„Âa”+ÖGáÿï¸þØi_Œ*/ì².Ú¦G¹ƒKPŒ*?1KŠþÎáùít*†ýž3›KHÇÈ5pÛ|xmÄ·–ÿøဆm^½BLoÕsr`ˆs9R„Ï #…þ`[JB!Ö†­µ¤U_ÊÏÚ€}™Ç, +~Õì‚àÜ)daœ}ã×1üê¶mä·b¢ÎÎs;%^ÖMÅwr"€ybWf­„!?ï8ý +endstream endobj 1115 0 obj<>stream +ÕÏ·%ôÄsýÞKÒ‰³§™2ußS +(ž&‹úÊlµÜ±6Ù%C¦›ßΞÈ6A~;3UU<Ѳ¶÷3H“«Õý3õΟ3éæÅW惉/¥Xnyr 01æñBdÝDÏÞÚu^†'á5÷´ñxôÙÔH•ÄÀ[l"{вr¢"ÙàÂþùž–‚sð{æת“Z¨ÄòŒñjF6_MàxÄíáŠñ¢éßHkV÷rƒ ÜS8‚,¥¸2Ⱥùd>³µœKüyd€v¿eC]ïèW`—øŸíá•gtó´É>LÅô' Ó‡½ÒÑå¼ló*jß仢ϭÛh¾4=¤Qo7pÖ7)Î 3coÅ5w÷ŒÕ™ +endstream endobj 1116 0 obj<>stream +•tðfÄþ‡]#é=$ðÔ|¸ÍÇ+}=µOYÓ +̦kâ'ÇÄK&›X.Œ oÐR8Q=.{ÎU2(KÙ'QQÏØBÏôCâ“MkàÊ“f-A5”Ìî§a‡³ K&š›ËvÍî‚` +ZÿHåÕ×í[þç«W„—F mµ™1á`Þn¯Ï ”Û0p’ê–“× 7–=‡-ÜHl7´˜ÁQµ ô“5Éw¥ÞK»,*ºj~¼XkëJ‰ê–Š„q´RÌQN}{òÆ +endstream endobj 1117 0 obj<>stream +]88yKÉg¤*9?ÅoRž¾ÑŒq Å­¦ŠÄæ +–ŠÂÑT½]€—.¤c†“Wÿ5G­ÒÐŽ‘œ¥t<»Ê»gi'!Mb3 :ªE]&Íþp¦wŽFbæ^3D¸ÑI毃Ožé¾{­›6Zv˜©ÌsAL»#ÃÇÂÙÌË®ÞƧ%Dï ñq"ƒN$ +endstream endobj 1118 0 obj<>stream +²ýÏÇeÛ{èkÝÜ`–¿ãÎÛÉ^BÐðÔ°¹¸Èr¢}p( TÿAÀ*h¥‘NÁ>4ó±a…õμ¨,¨ßñõòÝŽžq“%¬H*ypb’äCðK†Mõ@èÐ0EèE eÊ3ói¦[×3ãÿG`cy˜¼Á¶ûg[Ô¹*©noØUø.g¿,ƒÇ#Å…÷!¹#ÿIbV´\£âÍCÜâGZØW?!¹|±ç‹H58ÓPÎý# ¶Á¶„ÜZ«ã wðX÷oÍÏÖÅ©1á_È"ëHe°ós ¸·)Ï +endstream endobj 1119 0 obj<>stream +Ť‘:¯ÐË÷z˜ÆÏ=Ç_ªÓ,átéæÙ5ùQÑL¶j# *Bne ¾[lMw€^ÞM¯kV¥ûqjÓ’K“¤V™$pwÇý[À¡Jíïæêho2‘’µ[=ùƒñ½—ÅC!ênk9ÌŠ+­C˜4& ëê«’7ÄÕ³(w˜Ö…ÿ Q!Õòjͬg^s» ³Æþ¨€áïÜ‚ñÖ·©(œ%#{›ƒåé#8¯”ÊJþ–<–[ñákÌ%Ú-ØÒƒH·[Ç„>PŒ.¡ +endstream endobj 1120 0 obj<>stream +ÈA12jã‹0=Þ>@“¢¼¾˜eHõnòàÕ¿tL¡-üB¯Ão[:5Gß—Ä‹÷½7ö•HÔÆ’ÖÞBd]À¸¼I²•…Òð~]6貃ÈSÏpßÞMÞ£ïs]~ñˆ[¶òƒV§õ»­T +ë™o–di܈©|þøÝû‰{»6éGYá‘È'Þ“¨ur +endstream endobj 1121 0 obj<>stream +¶çŠõMd<É-¼‹í'Ük[ŽŸÖh}&ÍcIåuí9Ï—ܯè2úXøŠÀ¹kvìÝÚÀÏV¡óÛó¤!‡þé¸7´Ô‰šúgP¿c½ É!5 Ècšú5½ý-KÃ2þxÎ.U´Ýs%UÑîÄ>»Ž` 3J[9ÒX˜‡¼Ú'$ÑlF*À¬ô·å N;ðž„–Ö]ÛoE¥$ûñ®Îî裚\¤Ï2&¿¨wnZ“È×’GXXæõgh&Ýο<+¼æìIöM‹õÓ×ê7Ê­’M/|Ü©Ç0¼¼û†X|Ø]ŽÎ¾‹ïŸ†^Ç ‘ÓŽ¦… +¦C™±.µ +´×ñº[³yéýâ¬Ð›¹§³t~šuCÆßÏ‚#2ÛH¬P ÄN‰ÿæá1ñ|…º±—ÊoûÃQ…pô , GËZÓˆ"_©ô©z”K©dÙ ÈHý3uŸmð¬Qu' +Ã…ö×Gqâ®ÑK':á^Ðê6ÒWkÈÜ»»múk@Ï«ªR +endstream endobj 1122 0 obj<>stream +™²Ï£íJ[QIÀCî^^ƒJUjþw76çLÈײG´°ƒ´%?•ÊM]mNz%^.×ÑœYÖëî.õˆï×<ÂÝ·FË ¤âGtÃ:mÚY9›¤:Öù(òu½£wcH¬pžÞºû ¤Nþþø#Qh]›Ü,ù©Ú0=^dG–­Íá¥p³oº-NÓ”åàº$p3ó¢{ÁUŸ+—øÔ*æñ͆Dbþ:ÛxcW6Ôš7Óv¾õúXÂ3S‘r<ôm·æ ½_ã¤Ìx¦ +endstream endobj 1123 0 obj<>stream +Uv:g0ï[ÁÀ)Ü•4§òªæ¬H_žƒïÈÕ-к:¾qJ ÿÃn ^2Ä¡ñcË´£RÐò% Ø›,m-|€ºÛ‹„ÕÞ¥ªÖzp•:€{ç3kV)B…f²]Zg¥Ò%÷3*w]‹c¨t3NÐ%\POŽE–ÔÔÇ®½Ê»)yÿP猃ÊàcU2ª×Hzï¤ð]8\£­å€`8ÄââÖØ)BT ™—'µQI ÀÖ*®žM¡ª +endstream endobj 1124 0 obj<>stream + þké—~\±dµô/—R>§Qh»<ÙF/›ÏIÞ5¥PU Óópq,Ók‚›Þq›\µ‚°ŒˆßœN_i˜š”Õ¬u®kQ +0Üwf!ëÁ‹ù\Xa•>ïÆbh-ƒ–Môé“Cÿ|6é¾0=˜~ñÁ$õË"?«¦ÆpÄ/—üUY.rñXÿ{»g—Å•®º ‚0r®Ž*·æX +endstream endobj 1125 0 obj<>stream +wOâRܘØu ˜&HWr+®ÃÙž¾Õ\ßøñõ>SýK ýíJ½YÞÖ2hïÏwùwn¢"ɨpéƒ(¹F”?îZâ@³`×_{XÙMÇ\–ÁýµÚÞ~’-}5{~1óÐnË‹fbW¶Áô«©jl¢¯%™T(ǘe!øm¯ÿù(k÷w{¿Õõ|f~Ú´²°6 +endstream endobj 1126 0 obj<>stream +Z^ìõ}ýpSÓƒF]³—‚WŒÿÂÞJsêšï<:7F¿j7T¥õ¢+ÙÍÿ¾(S¥¬Êþ<\„?7–>‘ÐøiètŒqÏÕ+¶Û`/Æýhµ¸¸šèÁ€ÑT1õ#âG ªZæÆ®J=.ŸÖ‹Óþ—r…}N<Ó°G2ø6ê½nÎZ}Ãq†iŽá[BÖ;ŠÐãªM¹^ +’s‘¤$ˆP +endstream endobj 1127 0 obj<>stream +2ÓáÉ1´T€h¡‡0Ó.ÚSÅ'á)nEÅËå3*]h‘TpªeÂ\_û«³$ ›tœ–ßhž› ïŒWØñ:-¿DÁ½ØÏÞëþ-ÀÆÇÀƒ 0AbÇmã˜-_ÓÒŽtÅIð§Þ +ÛV 9èÜ6I´J¹ý“¾Ã ­d²;æ(i¿à˜_hŸ>stream +äÑÐã—¨D¢K:w[2è{³ i$дm6“ÐŽFH¤‘ï^ÊÚPàÿÐ瘙¨ +™xëð·+ÙhŸn-¬Ã lc”X˜Ãw`á}?)õ»¶22ï²~ÚmÙšüîºÇƒýê)²ŽsÙ0T‹jLk¬ïºŠ4zwÚš—Éí xAE,åó+íÿħiy£Ž4C‡ƒ]w/OðÂË®ê®ÄÃÿ9UË.¦3ó%\¡> «1®Û`ÿð:‚emºá·žÖ‡äJ#9Zá;‚NsØס¸,G=4oH{fû¢áôQ¸œ +®‘:ñ‰É1ÁåUC9 ú +endstream endobj 1129 0 obj<>stream +ùHŽ¬N° äêX?Í8/(ÚN‹ëñ}>¦"vBrT8ª£«÷Gy;7—…±G [=$ÄËìßç HUĶ×Ç©3¾l'—«¢cÊk²ã-h~€ï¼ýå`7GÜóç1µ„T™Í•¤³ŽDpªBÙŽ¿G¡]Þ™E­pË#l‡†å+Ý÷úÜමãÓÍ\ä¡*ÙZÊá>*Kû¨×Ú3H€# +endstream endobj 1130 0 obj<>stream +%†ÕUŒ["³ýsã©ÂÈ.èN6‰G¢ðbû(5›‚éF™„“0/ÂŽÄr0“œ)¸nlS÷FªDh.̤ÕUª•Ñð_îyÓ4Ü»#ˆhñßuùeÌëj~EÎê)À_ŒI¤wï µ_·n XWdHý’à}<͈ÓÏoÐv³f¿¨ž<- +š&9ÔWÜíIq¦¿^ ¡ËÛƒ_™wÐüòfLï‚üXË5—Z Å™k££CdA¤ó`£åà!Þ¬†öÌzÈa¥ž“ák\ðk6f¡¼×îæàJ<©+‚$d·ÞÔê +£U¥=Ç í€Åz–ÇTÄ¥,ýÚ,6þ) +endstream endobj 1131 0 obj<>stream +vDø(TÎSŠÉ£uø¢Ùøe^úÞõÚbïz¼ýyg#ýh ®–Õ¶å;`:2çÀ“ë›y%^°§¡ +endstream endobj 1132 0 obj<>stream +¸ÝA—4;Ri™æ1wÞç-=yá?…iátÎ1Yº­¾ÀõD½ððoVu§ÿUgiõ o4£èœ±]æ–7dßyh²Ýòê†îÌ˱!ÁC’~PL9Q žá“ bŸgÉq¬ÈK; )”´*&}ó¡äìµÒñ¶{ʳÂEˆ€è݈è1H~î6€LÓÝi}ÈÉ2Ò˜~@²ðbÃ:A ˜ƒDÜ^MÝ]ÍLïhGø_,"nݺyxê¤a”«V8Ì”†L¸¦Ýì±ExÓΩQ¦ä!Ôïa^¦„¯µåØ#v`0µº,j³atŠ=h,:ˆVœ×·Îk™úK-ù¼¼˜á©* ï¦÷ÇàØ|–iV•5¯ÚQmc)îR²jX¤c¥X$m4îÝQq¨“›™(œœ±_͹‹U +endstream endobj 1133 0 obj<>stream +r‚=çùöwé#^ÄŒ«_KÊ<¤Àu_W¥!e–Îr4- xÎÉÝÎÊ„ú=<Æù›%hü* +D¼ÇDÌaà»0TöÇy!¿ÀìàhÝu=sý±è~æùØ9ÜŠ¨ê?Ë9îbÓecI%¬OÿÉÆûâÓ(¹ø&<¯¶|9:]42Žçêq)^Ú…¼ÈGŠùØëz›ÍQæìN£¨Þ"›ú%`b v¯ï{ÛðŽYŠáPK~K¶L*Ôg¾BÙu'îâ /=YùòúZ>£­¼zÏòõ=­CŒzÆàJ<Ÿü,]sdú[©y?qØhÖˆ¦÷ï(&th¹˜³. ÚŒÌÍþÁÈž-úfΚƒdæ',!Ö©Uñʲ.™tO‚”–²=™$Û wòϤ¹rJUàjªèhð ê˜(¡¡²Ø­Ò&-®!)ªøfcÚ¾}À—®[F1–=6N +endstream endobj 1134 0 obj<>stream +ÇÞP–7®8-tŠxùbS(XA5ñ_I"-EêÖM‡aˆšgp~À„ëB1ÉŽâžêûN‰ák,qú[Üó‹ÄJm’\£JÙH'G„ÇöGù nÅl±"\ÛRˆ‚ôB¢Öuž??¶™{˜ $þ(à ¨†jÿᇄ_4CŽLÿßb9©:¹ò°©ó2›w¶ÿf…ÿ™UF2-TYÊ £#] ¸0&DJâCl½¬~S³¦Ÿ®¸âÍ@O­"¡H_6óƒn¹×Ýjâ+ÿ" Dú«SnxαÀ +IÓŒ—W¼AdÒ’hô3EmÈ +endstream endobj 1135 0 obj<>stream +û_ç™å|l¢ï°(_àïÖ<ÊÌJ»Wäü +Ëá艬ë`5àÖÉ14påæ¢/˜ˆvñT4=óÕIUã!7~;fýäöƒûÿÆö÷'óÎœwþÖµ©û†¥w‰|K <ØMS˜P…øP$Î×\úφeDƒÉmê®\Cì2{oé~aU^Ïqdë4îD·(ªðÑY¨À)µí@$ï•e• ùYŽQ­S ëta¶·a§ªÄ²Cãwñ)¡ÃzQ|%jHÒ±)0½ÜSB «O³Ïž¹ L +Nù*Ð +endstream endobj 1136 0 obj<>stream +£œÄË'D†ªKÓ~ýO©pHáÃ/NEçíˆvaݬsÖ¾Ä6¹Ð4à.Þ‘€x†Ñ‹ -þñä¡^ºt?ºË¾üA´t¬dôfiš].ÄÛ+ïq"Ø bÌÈÔ!H„+2%f;7°>ýC…*P|æà\ô31QÿÏC"W˜n¥h¬—ÓjôÉè˜`‰ ‚F0‡E*ò^påÌu³VM3S'y ýàp|‘¹¶SS84ýÈX×ç±ê¥¹óÎŽ‚TýÉ?¡0ÅwÙ¦ƒE–>ÍæïÞHÜ µ$– }§aÿ*_…Z˜Ur"¶²õdNág%6¿Ô~¢ÅëÏ)îõcX_ +endstream endobj 1137 0 obj<>stream +9v|H#æe{ç:b{ÄB ´LîO½F«á$@ —°âÞì/BG?HÌä&}¢ UkŽJ¹ðBog+´^E esNPÔLíÔðh[vߎ®t‰._Jí:õ +b89j¯9™6DI”ƒêCƒ÷Å©ÀÍ2íà§ù.±5ËóR3ÿ¥.È£äÞ» Ñ„íÔ26F§2²téT¶ªlU[`Pú(4´É@£ž“…‡Aý05”sÞœ[¡“2î™;éU½êC¤÷\zªÚÀ.bÔý…Î~ÏXNú´õå<`/6³àÁc®¬])WÌöTi" +endstream endobj 1138 0 obj<>stream +Â*M¤ò)ú‰G÷*+]d‚†³¶ÏRl5¬… ïñgW>stream +®(Oˆ7§uZæE¿bmc;„>ß_ú¿ 6ÓxðͶ·EK”Æýõï™ó& üÜð†òÿN ‹=Ä5v?5—£eRÀéî!@-ÅVo-æäójúבÜ#èQuqì´@¢©jè-ýᣇFÐÅÍ:eÅçék!µÇ ¨'k “ã}®K'}KäWr–†|&f–ŠSRlXåƒçX +endstream endobj 1140 0 obj<>stream +äP?û}$?ÿYSîþ*É›4‹þ¢¦ ¯¨ªßo /ÀåOJ†Ã®ŸÒª‹, Ñõ="ò;šÌJv6t¿#»šH‘ Íœçgé¹cÕ· aâÂ2d ;Û\®FŽ4—*(1eêÙ?Û0R<=Ò>stream +‰?‚[òa@e¥šÍ0æ_Q¿U-|wHÊî×eg ¿IdÈrÈ + à·XaÞÕ´Xë@‡©;ñ‡dì.KA%õJUŠ7­Ãûûæ^öõÅ+PHÓf”yR>{y™4¡Í yV‚6ÖÚ‹g wÂ4‹³¹.À8ÈÂõ(Ã3N –t„ŸóG¢&=ú¥µ ‘šcÒû +endstream endobj 1142 0 obj<>stream +{‹S³UEÿŠ?Á‡8¬›Q‹s émËܸCÙ¤*È쪥£2œ´¶ 8Ãl4MVe𾟋·ªÖžl^?7"Œ{§pÒêO=úÍOF?Q?X)¯³!%D è&»Â×<>ãùý4['o]ÓßÄ_'pˆFB¯­Á¸Ðcb;n2·&ȘJ¬Á_c¥ÇbÙJïÎèŸíwø›£—Ê }8è›jbÉ¢úSSeûøoˆ©}ùbUG‘MÛÈ…œ&P;Ð-1f"a¾ç𠙇¨Ë>êš²åï=,OìÄ].›üæçoÉHŠ8’íÏ#>bš.׊~¤/$Üòó  +endstream endobj 1143 0 obj<>stream +œéQmˆUG ãcõ¿ïS¸ã¨Ç]†KöLšµ”ÙÆ¡½²ï›C’ŸBÄ’{qIêá¹#ÿÖâr–JÿÞ}mD|¨7Dhû©DíS[94Œi~"ÂùRV tÿ”ÿüÌ’°º&gîwJ5ËÞ$tÊè÷ô >½ Qh[k ‚«‡q™ú+>ÙùÏ–n—2‡§È™ãçN•ñjêSJM<…ÞêXh³ŒYZÂ^_¢›H7нFl¾à¯òMÖQ…­ùDw` 0ù´õÄwfÁ<çUM†Ösƒ¼îè÷‚4-ŒóG +gû2 ,N7„fw‰Ågcy«4=dNÝO6æC›zảԡZÂG,R¤zæDÊoPìñ!W I½£²»h”0¯lEw|Pòû—ï +endstream endobj 1144 0 obj<>stream +JT!@¨ô¿À B'Ûw-o$Ø2yµ6Jžf!´SÐÿ BεrÇ%áTu© +¼Éw–lÿ‘å"X_K\»bo"O<îÝúyMÈö’`‘ú&fQîÈås`§@„ú˜º…_t´r’äW‡4]½"ÓwÀ÷ÛØÓÏšZ½ž'…WYÝÊ-?ƒ© ~¡½êÏ©W‡”d +endstream endobj 1145 0 obj<>stream +ÈÖN õ/óTnØÚß&0•ó?œHiÁpùžQWbË„éuÉ”!}ü"СO‚Èb£(ÿ^Ÿè°ÑüöŸÎë¨GzÏ,§Ó=Sä‹ñ¿µÈ¢œ¹Q(¡ œ”Xxk¾ÿéßX¿p¥½t¢‹ ãj MÁ‡¦š-ÅÝi¥¿T‰åq-ùåAƒ¾éÿ^ª]ÃwèÕ_m?RuÕF=n héR76[)Ô~cŽ,BHµJMàTó ôçü*r´‰¸ ¥`?ÝâsÆC£ ¨`@˜[žVÊÑÀRAháÿu¿ýìM;ýq5¢Ù½Jo¾æHᙹŸ÷îkáÚ¸ab_8¦ß5°Ü:üA<Ö{8³Ú’óà_ˆõ÷÷]ɤÿ†‹Sš0°£”‚T׋ã-G…€X>ɤ c¤žm_’K°ø#…‡ý=)ó¨œä,Å; +JˆÊƒú É¥Ž'?‡XƒÖO¤ÄMþEôô8C®£ë¬Ú÷"{Ð +endstream endobj 1146 0 obj<>stream +ÑØna¨Ÿ¸;¯uÂVX +F€jŠË;ÌK%Å­Ô6‚¨l/ï4Sšur‚̺5ÚÄù߃Éiƒý[ ‰«ÏEõP‘U™íH¼´¡¤q“7ÔÆPkó6–‘ï‡n“hݑǃ›1ÅG»¡«…|ŽO‚_¨x¶ÓêU"(¶Ý"¹ º‘» ¨áý;ËOî@3^çïä1%½¸<ùÐì…†>«°¾aT<ίbDQ`(#.êи¢ÈÒ¼gK·½óÝ}ƒLâû›\ÅT2Ð dTk ýµï—R ÓÕ›émìB¢[%™¹fùáVcô_ã+ò‡!a÷3ðpq6÷ WÏV”Âk¹ú’À(—1ì{ÄÀ€k‚<–3.==®fܤn—¬@ß±‘ÖE¨¬×ÛÂhBV\p½£ +Oú|Djþù†Tasuª w‘ýë0ÖÃW¥:òŠ!8…4•—ËIa8šl£•tD}†?+IÀ’D”5Â+Õ*•®„~\.ì.l +endstream endobj 1147 0 obj<>stream +1é ~üª#rôd7TB&†± +LTˆ‹Âcü˜”º×Ÿ7vt³H:ê¸ýD˜ô¬Éæoø,j¢±Æ›«ÈÕ+=ŽòMª=J‹ÇëúªazÞX#SÒ ÷@þÉ o‡D‰Š¢Œéñ|±dUµÿi>ؤï瓪8…ÇÐz¥Ñ)&l[wEäÝа6>KwVó¦å¼èëeÁƪŸ7EÞd½ÈùËIJR¼jR,Ð'à­r@Õ2ÉËdW|/ï›ë{‰þº÷¯OÉ +endstream endobj 1148 0 obj<>stream +I1 + ñb뷃ŔÁÑÙL„3úå&òéB€üò|±]^7NZÙ¨låîU¿™hßÉ׉ˆ7×=Áðx¬×hëöa<Ñ€¤mêêé9 Ôà Ö*ì§Oð%$éãrÏ âဋ–ÂÜ­žÀ¥ÃÄøç¢F‰\õÃ# +Ó%ÆDopéתÖ +endstream endobj 1149 0 obj<>stream +ø.É°‡ó•ýn­g-ÊPMó/1b”cU‹™Q Ô^[1ÉŠCa¬qg¬ð¨«´Ñû>¶?>¢7˜8¤cº.Ñ9‹ê’Q•g•<Üüͱa ]©NÚõ÷ïšÂV»Dü©ýÏ"á{:¼ÒÐ.†»ë´ÍdM“ê2ùw¤SÊ+0G +endstream endobj 1150 0 obj<>stream +áÔâ Üš'Æhï¸:‹üÐbbO>K¾Å °Òe"nÆ+÷·ÿÒ1‘Ç_æñ@NVÆæ‚Ež¨¦©µ ë¾Ò:"£?kÞ Áï¬2üˆ­Þí:^Ô‰M¯Ê£¹nó2‡±Âô,Ã:)*θã¬ÜRØÖ+Tæª»× +endstream endobj 1151 0 obj<>stream +]š ý/€Ð½Š-f3+›•.Øyôƒ}óÏ[•¡+¹a+‹*×:‰œœò5Ûúi€»NAx+×½§¹.Ê~¦Bf@ž] lÚzpRÜ5…eâ<öýÉꥆ¨[=Fj[g…WìIüHûÂYß”3ªotéýé)\ˆqÝ‘¥QZ\i4÷›·CÝÿ¾(1rÏtýé†ê:†ÔÈ{×xõÃ>ãðÕB·oÙgzûO)5Š±¢Ç +endstream endobj 1152 0 obj<>stream +±·Z¤ø ‚jÐNÒà h{mýȲ`Ìü^´»ô)#›ÂªIjdùìZ:§áå€_TÅØÕ@È$íe_.®®UêJÉK¸Ý95m÷?%`„fõkó@ +·Y¸Ž}m ¼î᜚™ÎÐyoåä–îž^ã>v L%§D5§—æ ´l9õeÖ‰è„k½¯0V´Ç7@ÓãГ¦äoÈ< zÅ£dn–[J–àc=:[ÌC”àÝ6hÂW¡(@Pxß´\ƒ~NpÊÀT ²¥§ï8ùصÆådX¶­W̫ɪ€#]Õ: +endstream endobj 1153 0 obj<>stream +YSè!“BSsw Ø wŒèo4?U#šÔ|Ù2áBwËÆPk”–1O2ÒÞ:Ò¯ÂS‡É]À èVÑYdÛÖðŒ‹-Xµ<ÔËÙiôקCb fÀý÷VNÿ?¾ãÝëè®Ã@©\£qiD¡)ô%E¼Àf´±pDñ?o†zx*kSE¾ ð(DšÒœ•‚H˜Ñ·g×zmŽIPÚ^ßvÞ寡)$œ,~)”hóXZUXÀ "’{Ò}µªå\°õ dêõwbªF%‚÷Œ 'çì,n¥‘Ãôz¤Žžf˜‰èO]Š†%u)&åï˜Ïvƒ×÷ûG€³ +endstream endobj 1154 0 obj<>stream +uçÍü ½à™í›Ë™ð£#dœkKW™Q(™ËM Ù”°7p» ü?±óµ$Ee-=N¸ü†L!fd"Çm¤õA5¶/ wÙ8ÿ:iêƒPÉ‘Úã²¢*ÞlqÀÁŒÉ35çÛÈvp˜`yæ%×ϼìW™Ç¼š.eªb +º´¸5+uâVPºˆ”´E‹6»Hó¸Â/1Œ™[4Õ">hhS´]=Û{zö$K¹_ôɵMÅ'³¾ +endstream endobj 1155 0 obj<>stream +|­#Û¡µã`¹@a +°¶x"±©–êfI¸O16"p»Ê·eL¿“Öÿ½_xWš °Å,l1fŸ&%ÜiD_1JoãêÁþ iâ¿.­­·Òü¤¾Zìš‹Ú·IÕ‚ü¼zaדá¨åœ l+@Ïó&èÊÞ‘†6ôKÝkXµ#&ÑHü‘“æ íseÛ4ŽD‹®J¿¼œîáxT CŒ ÍæŠ58«²ÿÎ0ô¥lQˆtï\Í ¬ŒwÐÃ"§JÆlphóðã%z±·•–»« +endstream endobj 1156 0 obj<>stream +’¹?ê>‡ucq06†ìÒ{f×Ø 5¦-¹±Îs °]O.vÖlïHêµø*=øJ"­SÖÓ…H‚j³¦M0þÊÒ#­ðZöt×˃â^õr¼Nw¬Û”¶fnslxÔ{œšð]ófÖVV”ÔmJË©ÁÌìûšxç΢SwL8ùç“CÎ$$¦qlÊÖ‹Ó~¬@IÿOw½a)¼ÎAš +°Õ øB ú¬ìý€îm™1Q‡ß= +endstream endobj 1157 0 obj<>stream +í#UíA¿lÏ-®Ä +ç¹”ÉðÑúƒ“ëkNÒò£Ò¨d²,J:ãÄéZàÊÄY¢´ÿ¡‡Jàí†>¼ˆ{ÂÆÕgy¬²ù%fØ2:S9‹Ÿ˜“ +„©LÐÈÜ9Éú²¸@‚Û¹¶b…BVC,„ÉÊf&õ6ä1¨Ÿ‹¶ùz™IÓ±ÈucF *x¡+·¯FPÅÄìŒþÄ`ßàÐÒ2À’Ì  +ÓòQ + +endstream endobj 1158 0 obj<>stream +¶òÅêÛõ4ìr_ò/äE‹€Ó$‡–r®“i&^µ‹Ò‹4ê¶Ç•å³Gz $Ž ~“ø ÃX5C¿¦ÃP5Vˆ`±6¿À wÂÔ’œo)= šøc:ÆÖGÉ<é>5Ü6ºõ‘/ÿÏD“¨xªÛ:›ÔÁ³›TgÙÇZÉÀœ§åP/¦Œ¯pÌ +endstream endobj 1159 0 obj<>stream +º‹5^n-‘TPþ~Qi•æ\ßæ‘ÊjAë ¦Þ@(äŒzˆ:?À&NTßîJ2ÜþÊD` ¢Nz¦µ‰)¿Ù™$âìÛi‰|?N@ÌúZRhZÅ[~¶6†:>ý”ñÚJ#ÿPÇFÕ¹½N¬zÅ%Ù€rXУ-HÝøaäÜBÕð«ÉÏT¼áìí¨ŸÕ{;x3(¨Û1b»ež­l¼•º»laj;ò4FôéA +endstream endobj 1160 0 obj<>stream +@MµÖý̘¢,‡©ßÜú6ã.:”ûÜ[îÒÒ6K¤B zIa7ÀÜ4ƒi´I¥h4Ü&Áh¤×&k×ÖUC TÂuðÒOp¤Þ ÎC•®(Ë¢z®©µÝ–oí-¥-ëŠÑP}xFŽ2«1­úÖk²_ãY–(ƒî÷)$ãGiǨÃ))Ü‘80µ%Œ›Zé bÜZÊ®a9™Þ3¬µf!Ëv½†‰\EQŠláŒènµçKå³úw1ô£ËÀ!Ì(›ö€€ }ÉôöxU%;z©“­}C_™‡ƒ< Í Î}X~%MFõe¤z°'Õ4>ÃA¯ë§o”ûp<›§ŠÏn^@Ö…ëGcka—J=£Q—s¢+æ‘ j _©)—÷ô¹l˜`·mØåߪ—ce´ûÏ“‰ïhí†Åˆ™#~5!VäötûñêÑ5 +endstream endobj 1161 0 obj<>stream +Fï•Ç¯sG:¨’üH¬³q°3<و˕”æFÈ–sŽ&lj¡îFÔW8 €È£‘aµ¦±Å&°’×þŒ‡ø“iTÏüñj<,O‹—ùµHä,–ò¼ËF¨N‘L«àÕóI©1\¡ýdò© Ù¡£ý(žý ‡eÊ["ÒëÉó¦îu)ìuù“äbÞùþÕ öùFà'@?8?ü3@6ú±¼ûƒÊh-ž…tCûõ…\¼cÞÌäƧ¾úY@79àŠè‘æÜ)ƒFÞÑäeòÂ(3dn3ƒ:#ž‘dÚƒ­°„ïF¥ ÒèVzg$AÂ<Š“&¿´%³¸ +endstream endobj 1162 0 obj<>stream +—t³ë•ÒUûéës]À£àøüNXd“ÁÈð=µ +´ ¤"—z^S⬫ÚÅúvklšÏ{E}ל!*Èd9]>ÅA÷eÅg×ß}D:SÌ*ÀÐÉ&¾õö¶©-‘Ž^¢Ï^UƧÈøÃÿûCTŽPìs)ÒM7ª8ôE)q#,{'Œ$(ÆÏpVlÁëçSaÃÞƒWñ™hÑBùA…œ[¯L¦f¨È%S¬m¨I‹FGá×áÉK®Tcx@¬XNÛvÄ'tØg-Jn‰}eózæÒ/Ý@Î<Ç’ËpœQÀ6üÙÓ¹7¦Û”„« +endstream endobj 1163 0 obj<>stream +„xa+ù ¿L¯À—{›‡\ uüA€T¨€V€úÐÚ/±} ¶ÕK­º\ߣÂò +øÄ#‡¨LñŒš€Í>9¼ß20ôB$3—z×<¼•NAmF»Ýš>Æ6»ÒÎüÝø¼Oç|¶P{€‰ÓÅÞó=ò§„®æ¸÷Ðéˆÿyûf»Bû°ÌzC@q[=5ô”œ8Ý=ÊK%·êøÁ7LGßóÏZ½ª¦·ÉتËóœKà°2›)Ø·j ‡‡¦×)Æ£¶e”ァöëÍKL±OæÇUb#3€¡“2'ÏõÈQ”ð™à+ÀWŒj®$êœ?ê¯f≪jð‚×±»×I‘Ž8´l®µÕ]ˆWDR.pQ‘K]i!­yÂY¬î!>çä+<¶$†Ûw=^x×/ +endstream endobj 1164 0 obj<>stream +ç¿*Ý;9¥Ê¼$· •,«âj=G°çMBw‘ôZr½)Vƒ+“ =#`h2$ðU=r˯o´kï+6Öê¨À²{DÙ:îÞJXã”î5Þ+4$¶saŽñó²ú6ÝH{ÑÂlÔÊ—¢ðèBŽ +endstream endobj 1165 0 obj<>stream +­•îÎjµâ¹âÓ´ILþ3Gê£èí§$?¼kƒñ,ßð¦Ø|\?hZcÅ¡`œ `‹É0}›‡©Ü8tù#X·”ËbÀóPRiÞÁ#ëQ‰Ùêü³¡tA9m73üg&׳; Cþ» Ó±‹;—×Ø\of²”is@¸†³P +ÊÀ_ú´ ¨"!´íh÷%CcmkÏyÔ_ýä(o >stream +Ûš3l‰³H‹Ÿ‚,D1êŽ÷dm@Ô‰ärî:Q•€bNêÉ+8ß»ÐÏ‚Ò*LiȘ¤Ýë‹ì'»ÃÖ-`.]æýõbæÑg‡˜âÈMq¿ÏõèÜ(ÂáÞµFÿÀ'ÍtWŸIRmMqþºË'º|yä„ôRe>2a'mû×([Ò3¦m‹^´üû4@ª?Uv”0¯~zÑXšÌÑÜBr+u,÷½°3\p>@=pmOãn0e +endstream endobj 1167 0 obj<>stream +&ÕÔ+iˆ™fTnÓYn°@}+— žy¦›¾/^ +î12ÔÖ£¿!¢ëy§„"ÖõóhÆŒ8?™•B£à1oÜ’8bc©±Ì³N1Ï}ÁùAëxYc“ì•1º™8S¨VWVh9ÍìҌؘ /˳¢9¿&Žä ”x7–Eô-^oÈ2åK®¯•;¬hAŸʳæbä"Åx0_¼¨®„›c¶lëw,ûP#)g2õŠ}Fö;Þº˜QhüNÕ{= +endstream endobj 1168 0 obj<>stream +Šã »CÆàoiÓòž¯ÃŒ!À³ó¢Æêç,~B Ë@=Àlì¢ ½MÏ1¡´ÚÃìWúñ'|’P¥¢’ÕV˜JÔ/ +Hgð“7óôô­aמï™'-DÌÀ`ÿb£(=`¥‘ÏM3 FNN)_Ó7H@ ó¬­P)”•¥ ²bìø¬23F½ï1}NùE+„º3/ûâ—*DwqTÆ~Ö`Þ2}¢Ù2ÐHB›”B)@rTü¿¯ +endstream endobj 1169 0 obj<>stream + +@°¡¡›S«ÌÎ%‚*ÐJt8ùÔâP¼8cÕ+¾·Î5¨|–5Ê)J%ˆsá*Óº'—à%{*eŲ™,Þ­{N[ù{õ¯áÍ`) Ù4=Ç NŸR.¡­¢G’L‡Ô†îú¶y]ÕŸœ%,é–>stream +Êû&_Ó¥mÙ»62‚aDƒÖ?ŒX-œó¨fØ3ˆ­Ý:chæ µ«èzØ8Vt¤œ€WñIÁ6»ó&g`¾˜á}JÈGí  ¦ô!U¼6žTÚÒ“Š³Ù»~AÄ…Ì* +»Lþø(ÿüínÉ——ó97¹"ûFŸÓÙ:f¸KÜ9·)µ™ëpœ2˜KRò±‚tùeÐê•9õ¾E“@¾ÊN‘ƒgó-cŽß`HÏ«MÞm°q}MXL4²€ðŠÖi(Ŧ¡¾ܤo;Ô1«Í‚th°…=?&ïTĬŽj°Z>Æ;‘öÕ¦q»>ÿ ½(Ágwwdr ¯{/Š…|.̓*¯Ák +endstream endobj 1171 0 obj<>stream +«’_­ù%E2KWJõêkŠò©N›CÐ1ä`/F" ŠB‚°sg¾ÀŒ”M«üÓ‹…!pö"f|C-LžYBeÿwGUÕ\…±RgõïV*´sŠXš¾Wæ\ç._‘Þ¹ƒÊ$.±×ÖA«=énØŽa×Á_µåwVi_)ÓÙï>CúH4Í•TÆ-ÒAäö”ž±©„7”\oÕ@áéë«Þ8òŸ´ÈayÂ_vË^Lg m.‹ý¦ƒ/ü0ž9 eÏq$µ4óD¼Þ|#Ðþ¯­‹Ž¶|ÉñxI +endstream endobj 1172 0 obj<>stream +¸L͆¿ #¹ÇKÉ$ˆ/|³ºèKh4UûãÆRš|¡ÇƒL±RxßöOâßL£ê­0UF¼5þPw<îÍÙ>z1=ØŽ &‰Z¬§AUe cG/Ý‚]}@É}@iR!ø‚!¡ÓÙ Ö»–Û"tyÊ.ë…™ÏMÓ^U5Ñ:Rç~ΰ²ßb>vëÍ,œ\ö¤¯ÐmŒòD;•6ª]R-Ø…À‡®þ›GI,ïMý* + ¯ò:ÖŒ¼µ€ 3&X`9ñ©?ÔÒÍ +Êy39Èk“³Á’Þàû¾¡¦—>°|†kÙ7+ªÒGжeö={ï÷R¸£›jK`»ŸMÿØ>stream +ÚOœ~J“W.Í¡ì:¦ðtée=ã†öIQÿ@Öc0¤F‘ÈyQ F}9÷-©yèVã­è‚¡ÑÈoT:~¦úËrW“Àu›Ñ;¬VãœW£¨/ôìžèGîQÒ‘ãÝ5¥„]pWÂáúöÂýç9ü›½Ó…¾Äïáˆqr¢ÒÛîÝ»œîj2ÊöôÛJ QN ¨ëT#ÖCîOîlR¡Í2ã—lf: +endstream endobj 1174 0 obj<>stream +€xˆœç %Œz¶* +;ѤˆL@z¾Ç¤zCGoÑžl¹´ëÛgøI—7úôL'‡,g>BC´Y–.²{öO4¦H¡«–ßdZ-«>Îeå/g‚¶T¸~¹¼¾Ü¨4ó‚§,"¤Ôòcï WGž ë&ÍeFip‚£e|>»pÒ_+¡çÇÑ{•„¼6tòÏväÑŽ#PÍÑNñëÏç÷‚YÚ¨DûCÞØ·7­Qó¹ ´ú9MÐnµó~wfâÊàÁ¤( ñ°M@€áûòR (Âù':±‘WäÒ?«5p‹q†ŽÌ>ËÞ`Þ¹åëä{ +¦lÉ”ƒîgd+>nœ–ph +endstream endobj 1175 0 obj<>stream +˃oaÈYå*q,ØFÜåDcÖÖ˜¨òÕ/&uæž™Oò"“;vOEÈ«$ÜQ»ß¸Õ Ú Ó^å2Ý,÷ðÞ¯ÇûŽ(ù°™&TÀog±ò~¨[çnÓ'rVÙVÜvR|ãE9ºÊ¨a?UQ újìñlJá|ÕüÂ-Áõ>²ºâ0o%MD$™è‹1\s,Á¾q“ Ü “?ûC ;Uz«×zrôå1ËxÑCÒµr«hê 0êŒS>“¦OPíÞg´YúX%VEų́‰z¶/QhêrNt¨š¦úL6N™\†¨ŠßH!ó3Rp…c€b®ƒ +4Gû_2,¸ +endstream endobj 1176 0 obj<>stream +ùèÀÐg±wùm…{˜U°ç|ThãáVwê*hagŽú¾ê«f_'ö¦éFB8ò Q·¹†ä£1O†R #ÿ= Oè—†:J–‘Ki&*8ß•wï–dñ jàÝZvÚÖíÝK\íÕíZŒ_ô/Ê”Y¨´¾ÿfÙ3˜w|‚sE…àÉ­/9Å>ã2K®M% ¨,Ï-ôB2É¡KùŽUo÷¾¨“2†Ö‹%Í ¸{o¶G™ù?ÜGiMK†í€Ü÷GÜ‹ÑoÎ §^ JÍZ<©åZàþ“ýse×àåhÒŒ‘¼]"s~h¾“ô +>¿†TªVÑ.ÈÁŒq HGÖš\‘fãõ:fÂòÛ +endstream endobj 1177 0 obj<>stream +läËÖ7ƒyå +µ ¨£çÀ×"ø´à2g–FŸ—n†]SI™;]6K Òµa„aS Š&ÙÉËXÁGôZÿeê‹"\DOÇí¾ÌÑ­º +Ê­š÷ Vð½8uÞ ¯¥ð ?—ÙÉ2{ý5g6«NU­ðŒwz9C Àÿ‡ÿEª×Òžé Kn +ñHnº>stream +–õòÈ”žÞÃ(›KX#ÿ^a&óàÝìêøØÄ §2È_‚¾ã‚þËOªÐ‚¨c:O„2pbï/3úéVt@³ØÃøzcgÜö“ŠÉ„v§à '¬SX‘6;`‚ÖѹPÐçj ‰Éo|’Ü&¾MF¢ÈU%±R†/5õËdÝ3ƒsÏf‚…¾¸>vU.Vø‰„)PBÐo2¡Qdú¹›ðñ2k +õÎDÜŒ~'ût+üd>OJ© Íþ +endstream endobj 1179 0 obj<>stream +€³›솣C4¿ œß?tFC­Ñ"W¹ÜH–öÄ&85;ÃçìŽáX‹µEjÉôØsÕ ˆM²ù²©£ur]<½™þ|ÍŨ¹Üòzf€ìóÌ„Q¢ ƒ¦ú˜«»á®dÌÞj¤W~Ö¦Öe,h›û߆³øŒüGÝ–isÎÁ~m õ; œfiPèES²Þ¥úJ¢ˆcbj›eªO$.É{ú¼l(Ó–T–ìÏ7tð~¾ËHgêû!oÙsz)úÒ‹ÉÔ¿bîu([`Au«Ù ŽD ©¢î„ý¬Lp,h‡Ñ²Ì§w' O +endstream endobj 1180 0 obj<>stream +XwDÙbK"ˆÏñzÚ¸_sÉEÂÀŽ;aýG R—l ¢à–¯ó)G{8ÿ5„]ugQµŒß +gµ€ Î85S‚—±°ÝJtmY•%” EÂcÉ$Æ_™Fo õ¢Ú(l»ÀÖÓ„“¬Ñ>4¤pX¢y³× Ñcw; ,}l»«ÖRÈcÎF$%ùNƒ½Ì£p!ß!ËV¢ÖضºoÔs½‹ +endstream endobj 1181 0 obj<>stream +ZcZàü-¾Á”)ˆá ]`Õ¬R*›É÷û¢÷F2¯4Ùð”Ø]Eû†s(ï*}âyKx1‘mŒcÞò€3÷£T±¨™CŠKà–'Šêjf@nÞ¥ÌnÁ´›EÖ¯›]à ™ï¹²q] 8ϸݺ2}e"dÑÑ·7a—ãÄåÂÔÞðMÉÕstšká, ‘>È\} ìz^T›Fžw# +endstream endobj 1182 0 obj<>stream +ÙÛnëeú +ì4j÷›ãGFLqÉ}N.0¿ÐØ;åVa4 ®ÊP°(ŠÈK¡–µcõiŸÓ’¾Ç¶Ãjs|ýŒP>stream +“ç÷*NLOÐ@Q‰ùΰ±{,»Æ†{93ßq +‹ÌLuß° =ÂÓ¬5GÃ#=׈ÿ˜/wCéK«ômÀ’DPãlA }½`q?é©ë,}â“Ø¢„è3Ô˜ú\õò*ôw,p·—­~vùÈ»¡GGò¯«M½µÙ÷·ôÙæ0ÊJqâÆ)WÄ¢§ÏRˆì +;çrgËBRATš@›`ëNËEµAF@&j뻫ʯžjK’ßÀí£ TP8(Äž,fÉE>Ž°M­¯¼uKEcÜ‚éä*Yÿré O…RAxà„$Gí½IEF~¥ìfð¢{¿ +endstream endobj 1184 0 obj<>stream +ÿKPxú]ˆûq‘Ÿ¢Á÷¹È5?«+pùeíWúÄëC:ˆžجɪ½­Ùqòı†Ô.*‡¦§ªgfS„ Lr_hYá$1î8*xNgâéõs3/\¤ŠzƒI¹L–tR/X5IËX†Õ¶‘ÝÜ7±cÏÝ]b:;Ù-‚ "$»ö²ô6§|VÅÙŒq²bÂ%¼­;°Iî¢r8 Q®uð ׿Œc:5”MŸ~Ù&tLâÓ†P$—ä¦þßÑÔL&¼‰#é¢+-#¦ÌPLþ:ySÓÙã*ž×ðÃ\Ö6f…ç¶[¦²7Wä¹OÍH¯v E}ašou +Þih‘û¯  +endstream endobj 1185 0 obj<>stream +mÒÎé£ç÷Uq>­%2waþN¨»S"DÔdöì"؉mVÑS£™ƒp<30}Ü• ž0m”?Ù`€å}ãDØžyœò†½ÓÓ]LEC+¬‘G@Ü–‰‚r% Û†µû}ŒJ¯W{TÓJÅ®¹hŸ3+õ¶þÑßÿ"#?¾IÙîk÷…Á˜Hì½­÷„XOxsÖ„ZÀ¬½ÉwjT- +endstream endobj 1186 0 obj<>stream +øiñÎÖr,ÈâiÑ¢Õ˜7mã@‹´|Iîä |‚qf¹bTY’¥üª£w‚=Þ©.ñ‡àwR…3s³Üú^³;QŠ—Ž[súÇ´M§_Èš;zoͳ"Z) Ý„æuÒ’ !L[úºéµŸ +ïwð.öwuÃÈs,^Íù+?Úf^ÂóÈ,Æ”ñ;N„'®ùqÌ*ŸU&iÇf†q…7û‘%šç$»xZPŠm½)×N€¥Y>stream +£òLC?šÎ/q3uÚx¥‹Mø|±‚ð*ÓØ7½A_ƒî‘ªK½ÁD’žŽ4 +=ì€ö½”©†³‘¡µŠ¡öÝ,„ÖÙ˜Xë) ¶¿„¨Érí˜'œ º¥º—9ùK€ø‡’̶’©ãdŠ™W1j½ÇÜeŸóê' ÌŠìQØ Û§n»šÁ¸¶y’Q‰°¹©YŠ¬çý=‚ʃoœ½Ø3;UãMüRöxN’…æ ð #n +W“¡‰Ìeë­ÚÇ°é¿-\uUͼN^üY‚8â» +endstream endobj 1188 0 obj<>stream +ÛÅz7@8'‘áŽJhËãäak:Ž•l/iù_žôEaîÍ®+D§Xë ùÒ|[¡ÝéÀ÷“4‚†9/‘O¦8ºëcDzÛ_%òJE$ÔúŠb\`xBÊŠéQ ³³–Ìp3u[÷7 ?hÄ Eçùâ@¾õ™¯(^^í¬ÈÇ|¸]FVœÄÆ°Øï{Ër2]jr!¡Ž/&qsQô€æóaˆ…1‰¼)„hsF^Š6›Ä}7Ô±:*ŒÒëRȈœ‡Èùæß +endstream endobj 1189 0 obj<>stream +uhüY90V·¹¥&ZÃõNëý&O¿ùû rb32?ddZqOÜ‘Ô° õF¤¦ö¤W`ëŸiÂ,'“¢%½‰ö*­àŒ½ì˜ æžLUô·\znœû¡Xô6‚q|§¶©¿ ¿L—Ƙ¦{û:1uî%56ñ7Vê£Ôìq¸:­èÀŸ:¯°±Uò^µ¤&ɾµ53çì|Þlã>2Ü`K¿œ‚OAIì_ &WM5Ðo`bƒrXMXz4HºÏ´G‘YÈ…œ+Ph6=W ¶8ê½”¶ð{-ì¢Ñ¬4cÇ è¸[RDo€®~ÿ4ÛŠôã:»b˜×ÏãG™Àb¥ >|@×0´!üq°_µ]góJô“£ã e¸¡òe¼äçs¼ó½ïì¬ë­åX˜ +endstream endobj 1190 0 obj<>stream +^Xéº2<ƒ71ÄÖÃ0q¤òŪQ’tÃÚ¦ Š·ó«Žf¥Yù‹EåT°•âÙ‹Š@Dñ¾©ckƒ<¹Ë}-8¯Ók;*¿™áª}¾lk¼oæ™OïÊþ™GRΚàs…ÒÔ$„œ2íðÃÔÍ °UÜšÔ3¹µ€µ½vIO2òˆ¢uó®=¡ +endstream endobj 1191 0 obj<>stream +'wJÞ‚^{túºÙ)‚§$=ÁÞŒŒzú¸C™Îž-ôk®åN1¡¯o«9Eq¾9|‡Éü…€˜ÌOÔ+T‘˜_Óªàœ5~‘Ö$oç/]XÓ_T¬ïè‹$`#Bobà¼À÷h÷ŸÜÓå€#EÕGL‰»~=ÍH•é~.pò#ºèô¨hàÚ(””u£q&7Ã9€%°âaÇ2ËÒÊbÕ´àN÷b(]™ðô”€"õ#͈Q5Fƒµˆæ=é¥ê:^W±æÐdÀ}5Lê-áMsp˜8nnM¿q¬Fbž€W…µj ÑÅ0šqe}§=Š)ÌÎr¿;ãV^ùƒ +endstream endobj 1192 0 obj<>stream +¹ÒöÅS¨€qH t€²E7²-~ÂqÔˆO‹UÆӢΠ+oÁ¼Ö>ëxZæµ±úé³½¬°fsiRˆÌ8?N#Å\Èþ’€XUöäXDÚŽ@Ùûg€Lé ·r ¬)ãÂS­#‚J¯«zþ„ðGf‘€V=èÈt}€IéÁ¾)”_°80íñµÊúëœPïCIYõ=ò™t_-4EÁ·U"C¹K +endstream endobj 1193 0 obj<>stream +ïfžÚÖ½“”¦ïª)Ê 0dg$¿$_EüEOãWN?¹Ãa¹‚y™£DØ]:ÿÒ1—;ÕÕÂüw)=ßäà7ž–½±ŒSA0“ Õ™”t?4‡h”¼¬Yœ„`K²8SíƒBkêäλœIV±dõìwî“^&C%ý|¸ ŽKß@áObIkŒåxþº +âà?›”¢Æ™BÛ¸Œt&,u–,ÿ"¨'Q†Xì-pæCUT3Rý—f +endstream endobj 1194 0 obj<>stream +;¤\´‘t/6ÚöŒZ¼°8w˜/N,<”;ˆëŽ°*Ê‹Ps¨†_ãÿܬ‚©Ÿ‘Jô¢½^þí m; (¸¹73÷ðüb‰Ñ¶¸ +ゲ‚<¦á;Ö½…~5>¬® Ì ¨·«ì`*°€êd(GRM1"î;zê5’Ïæ};핆ÆÛÃM!ª½ŸSaïãÇëÒé‰ A$øÍu2å7b2^¶ühvþYÓ•êáòÞÿåm-I +©a ÿïÒ+A'÷‰Žái\Ñ܆ j¡¨*†)ÊÓY8ûQKennÿ¾vYìᾨ +endstream endobj 1195 0 obj<>stream +×MÀƒU€²¹]2héûUYm׳vPm»¥&ßé8‰ÉHm¤úõTe)ÆÎò7™z°±{éá^a 5NÙIa‚ÝÐ.Wþƒ5‚ £åk»Wf«Yº­9¨ò±RZG›ŽÄý³Ørô÷’б纮±Êœr‡ïêaRÎ]mz'Žü2uç‘Ôé…ÀÇ°¼ö¡gcá=Áܹ"/¨È õùÁ€É±ÅªÙrWY”^”d÷õ=ÏIñ¿µ@iÓHpôRHÍE“îeb„ô™B|$%ËcZ'ˆšE¶ì™ ê—›%¾sªö-Ž­‘Áá'6VÞïûÿþ¹únu:yìs×h •ÈŒ˜m¬ +endstream endobj 1196 0 obj<>stream +uÕØ{dD7AoÁUU¯¬•çgÒ)Q窬sj€«hjà+Lç¸H4ý¢Ó6pchCÔ)ÇU®…ºª3Ñù@Ž¦NOXM1cˆ›ß=ŸÛ‚D„ž[zÞºÌLX¶T‹øoZCôÙj bœƒ°‡ ø+’ƒUFˆÊ[÷8ê1ƒ˜ß[•ª ÇÃÑœoÚZ™³ +endstream endobj 1197 0 obj<>stream + ËFæ)2·y ÂîAm:­·ìøÓ’kkók(´ûC£ú•¸@uóz¨ª‘Ëâ»Õõr˜r%õ Š ³(\ìqóÞàt3*YðÃä2¿L¥˜€Á\Ðm&šÂöE[‚æp…¼_˾tØi”n¼kã”i1Žk+« +íTÏÛ[ +endstream endobj 1198 0 obj<>stream +1ê‰ú-á‹-û/·˜€â­Í‡¹}­fOkÚ)ËøO§Ð’­ÿ<ízî¨Zç70ÜnñÅn#íÈ3TyWWZæç`dò7¨[[Õž‚&;©cúI!5ô¬Ÿ‚à8“Q»¯â6ÞêˆÃÂŒ§‚,#—à3‹æ1Öô`oƒcñ-S¼ÁÖ"k'æšé’bOŸrŽËÑ}O‰øžŒ!͘r%'\âeSQe]Š_5F@Ò+¦C¾Ãs˜òà—IÙ×ÈhÍr˼޲çÒëô0¦~2—E[‡B™´ú!XÝÃ4ÜFA»á]ÿy-§û%NŠ"ÞŸÉ Íâ-h7––ôã¼4ÝÇý¦oÖ{'eø +endstream endobj 1199 0 obj<>stream +%3Yô¥2šÓ•ñW'²%öÀy,ŸF*øƒ·ùŽÓ‡)aËÙO8ÔWÝë€äèð×á ©-„íl7]ôš~¤æÏ•ALý"î¡Xŵ\knô’‚ Üÿ ŠvÐߎ?ØQÛó[äPͼ+LIÞc¥ÿù§"AüDÒ†rÙh´°è£8‚N×"+O^4n­zÁÍƽ¬>­`Rèß´­vŒk€$×´ÔA45ãg^%ÍRÍÿ(Ñ—ù|cÇÕDÐp0—ã#¬Õ® E•ÂšI¹hWB~ +ý‚ƒQãÝ&J¢SL>*ß &±2r2 mJ¹ÈÒC€Ž§"äŽ`¹< +endstream endobj 1200 0 obj<>stream +ðºhò|•8GŸ8ì´)‹ÛI@  B‹åå!aãÙÓU¿r/{ÌŒ_çé… +¶Ø.E›6‹¨Lh„‚BŒÒЃÛç²kmYÀÔ)1¾eæëpÛŒÄDã¸@âîï{§U—¼Ï.ýÿ÷VÇV†D ÉU’ÓàDI +âBÀçc:qVÅW6Œ­å©H/Su€6¼‰Bqwo¼†áíqŽ-+Þê¦o^Ígºx‡GU°óÒd3¿ÝXdhžnf9Aà +endstream endobj 1201 0 obj<>stream +à!»¨÷úfåö“{bùž\CºMiMíSw+–N?4»å·ß‚nÝ’¥lXV×úzfhûŽ“w%3‡ˆiSâÖhÃÉOÆ©„†æ Ĭ>2ˆ3Újg¹.óä: ‘x㽄Ä6hxCZ²Ú-y%ÈìÑeÇ=q+ϯӭ0ÂǦx±3jÒ¡˜ò]&? ¸9U9çãe R’æP¿ÇwØ÷­t3ü>ÇÆa­3q«= णú؇•¤óøæ‹N Á”ý‡ +endstream endobj 1202 0 obj<>stream +ñÇá³¹l[ß•—ú×ϵ¥‰é³•Gh›E€mºv½vS8è‹dÒÙd¹Ê¯üÿŸsjé˯IEqÝ/6pw®Ë«gkWƒj²HÍÄ‘*Gl5VuüÎÝÔËXOøÁ¯öë$€{æ'C—Gæ_¬E«hŠÿµЖ;2é[ºŠ +³òà;à©ÁneÕpa#¡‹¬´ µ-I +endstream endobj 1203 0 obj<>stream +B;¿ðÃ5¸ß´^a^R̯پW½_.Õ–¦AB«9Gÿáÿ59M²]¯%Ò—Tœ]µ¾uøyt³F— C¾´–rvÔc^{Òºr0¹¶ Ê’Ö š÷ÏXÁ壇 +¤…ùkžw;žX iHS4wòOU2âȆÙÔaT‹î§(©)’k)–û±Póª5J@µ‡}Ùo!]lƒÜ(^ '¦ÏtKi)]7‰D¦Ã”{ýÌ~îWÔù¤{ÊÑì²rjŒ³I“Ô)Q9ò8çý ``FÀ`õ¿ðQ„Á¼íè6¡p¢ŒÒ¹©þ¬%öFŠvÙíË>3‚ ñ +endstream endobj 1204 0 obj<>stream +ÌÔ*”UŽ0†å)!ã…Œäð #*¢ +æ,>stream +>ì–ì¡H(Ýq“3½»‘©xP˜ŽA—Rrnb[I%0N–Vûvôp)Åå¥æà˘×QàZÍC—Òôªs)¶jÉtO]õ?ç{z‹g­Ò^½ Å_ 4ó~Ú„"Í”ì{|^ä#.ñbÙÜ*)Žx[ÊÂ6Øæ=Å ¡ò˜Õ8¹ü¤JôÕUç&ür³®'‹Ýp~‰¥c>Ùñ •rÉ &í¯¿ˆ¬ø÷hdßu@åNk·¶Ø‹£Ê":‰7å1˜£mY‚ïí:ë¬âU±ÜZNÒP;(UhÆ]ݽ‰¹ áC"»<€ýòèÞµŒº»Ã/b¸S~â¾2.d‰·v Ò”8Ï©Ð)1âØj:0×q‡„¬ò™¼=EÔúÀPôdgÿæ:ª‰”éºD +endstream endobj 1206 0 obj<>stream +ÀÛdôjŒÁ¡ýZ@¸»¼ðÛÏ!Å +áÚñ¨%ÈT¬ Lꋵ†6.Ú BýŽ2¡øº.XH$CáÂAa¡ Oœ´É[ídŸýÓôÂî3 ºÛô²s—´‡M?Š3E‡ˆýö7dØ<’2¢É88!£xéT;~óN1ñ·­Ñ{~ëü XB™dWÕ {JƒË+y­ÃT-øÀˆV»„î º `‹Š¿ÌQ +endstream endobj 1207 0 obj<>stream +(PSßÈ8ïGT:°ÚJ¼šÒ^ÏÙõ•7É¿ü„ªO ‹{¼]6N¢ƒà<«I.«9IzgœËx{UØ,Ù’8£+ hìw¦S¥œf·¿BýšrÙW”¿ßs3"<Èû,$i +(“p@o†:ÊÞôó@Y®O˜Œ˜^jË?öƯ¾®¢ªœåÂi;Òo…öí»°ÿC’4:‰¸ý’CŸÁ'ÃKREÒÒu-Á Öº‚EÈ©Æán/4^Ÿ¢)Ò{än]h`Ô!ò\þ˜¡$Ô®ˆ|–ôþD ›U%'v–ÛØ’Ç(â.(Y{ô¯ [¯kØwÆÀ;ø{›è¦šy¯‰èFÁ9ÃH6.,@7²¡Åî¥,§f¡Êth»A”0Ÿ[PE^µRcÐÓ‘B›þJ?ºGòÚŒ•}87é +endstream endobj 1208 0 obj<>stream +Ôdö4Ĩ•@"ßT–ý[KàÄ&Ã>ôbÝ‘¡iÑáÑHAØS¬¦nÝ~C%xd}W/y¦)…¼†DñÓ ò6¾ü¾S±Œ†   ‚{‰2G)Bã@üSYêbˆËb§Ï…i|§Ã*”{â{¥#’AôÞ¶T ¡ú')þêUX.‡B¡$¶/œüËžt‹,³véÙ'"ì§Oˆ Sh¤ Œ/~1Z!é« [§2ßØN‡dÁÕ­pµËùÈì +ÁCüžíˉ*¤Ý;ŽO×ÀËð·=ˆ7r+tÃÙ™^ ÑØ´dVÖ´ƒ ÃËõµ‘‘-‚'¨Ôw>stream +1~ÉëÛT ™îEK$MÆŒå¥E ÿ ¸Ù1GbЭIw|Ú÷ýƒF ³á2iý,^ZÔfpµ/Fp6cL®PC‰h¦¨ûå½ÂRœtO÷m‚Ýñ  +ac [õBþŠdÇP9ëö€yzIOFÖæ»T=8s)¢ †m³—£_êÅr^†·³gžGݳâYSM.H½¿G&ÔíÄÿƒŽø€øxï¡ +endstream endobj 1210 0 obj<>stream +‹ÁÛëØGªj=šhÙ›Ýy¯Ýn_ër*Ii„á‘B¼A‘,2–®¤f:ˆ†YÌWBÀæàÌÖXW)¨‹øÌ—,½´.£0…Є:ØÎXDßr‹8ª ¡·é6ÙS½˜úáòáÇYÙ©¥ú©I7g0ƒ†%ʸ ‘·c#·ôµÌW˜½V®úÞ8Ô#NØ°€ =ó ²*ùÕ>il­iɽ¯äÇxQ¿™¹l´·óÍÜZ ÝØAÞp.X»*×–;YðËhHþð®Ztø(‹›¿±Ôiö)*šv- +endstream endobj 1211 0 obj<>stream +8éȆÀj¤ël=»²j7—âke©XÄ+¦ƒw:¬´¥¨d_h€ã7ƒ”Ó‹êyq¤ùû[¾·Í7±(ì‘SL|äîÌ×°Ðçä” ’v¨Ã„'šß-¼ 5Ê—Œ…ðÕr©Yœq%õ& +¤ò^­>µaÌ7áÛËfŒk!î7nËÙ•Oc,xÀ ò` ù4{P¸/|¶ ÈmŒ ªº sK²®/Ç‚|HñO 7;(IlÂdOÈèúªÄí#W‘ÏÆ"³r¸FàdbeA¸ùÒz¿ò£ž&êÅò€>stream +9rf&-b^ø¯·¢” ƒUH+^ÃÈë|ÁgbžnŸƒ3ôç9JZLRhð\¸Vb]W$Ü+À]ú@&Cæwj‘>stream +Ž\VÎú‰`‡[[Jð‰°Ø©TÆ‚D·Ièv]6ú)ªíæ±ÆŽQ4X,põ’.™4 ÉǽIçv-=×$äý!P0%PW“å Um%ìŽw1{£iö•Ôkp«ÈÕòåãWzè˜1Fù”+|ô7QR ‡—Ü?úüÕøÔE4ò…›X)¨Ö u(S9\•rEØ$©0ßâx™7\ »‹¶À{ +ZÅ B¨¨1á¾ÞÛ^SÖ Åúv£c\›ñú#¸Êê1ÚÙ§K›Ìà\ûLc’ƒË«>w­òòD|Èã¦Í^·´/ ¦Q\;) +endstream endobj 1214 0 obj<>stream +0³Ë|×âL†—Û¿¡¥³†­÷ŒÃúæy¢ŸOk¬Â“ lê»þ|M¼îqr$ÊXÁ‚ÈBÖ•?rTÂU™t*ÑCÞœæﶉ˜xbçGÊ ¸Ñ$4¬¾_኱7Æ)(ï +uâj‰¹C[ÅZ4 Tµ§ÈF_mÛüv’Œ.-q«p“R²…N˜Ýt{ò_?J#¸¬à;…äÃЩK i&º[úҪ›xÃ$î¹Ê^ûw/Ùò ÎÛ>kƒ!w(¾þ2@Š +‚¹8 Ÿq¹ÉiKçôÏoOºÙŸkÜÅ´1ÆПû¬Àè£ndÿÛc PHÐ"ôr´³R +endstream endobj 1215 0 obj<>stream +<íæëŒçóNa½Aåé=Xd‡ùwœâ0õçã2uø=lèß—O èyO‚e½®ÒèJ²$Ú“Åé¹4Ê(íõª¤?–{ñ|•YE©7×[QóÎ}ÞU°‹¢²·)Õ©ô‡ÚÒü¤ãEn/ótm*ÈøY$º"“_‹ztµWL¨HÙ…{+TñÝÛÝÇ~ûZNò´U \3Tu?6ÚÑx¦·­¨vÑäô§5Oj@è h|Ï[Q™Ál††G3áKë·[ˆoà…ºUÒ–ŸQ·÷¨fJ˸E‰%ƒ –à«ø©"x­¤c¤d87¤* +endstream endobj 1216 0 obj<>stream +»ºÑ(uLϣȣ³xr7Å…b=ˆ< B›­è(ÕÏß@j­Ë¼BMœ ¶ª«¬Þ)Ó˜V{WɽèMª¾€~UÂ$Ö½ùV F±]_É_!á\=?Wëï±UJ[ÌžˆXÜ©N¨â¯Iî.^[Á¯ŒÂe¾|¬x.ÔÃ;ä±ÅÊ• +O‘wD¾ÞR·oÈ`º¸&Ë,×kܧQ¾ã×eÇýlîXÃ…f¿Šw8zÑ£;ü”û.]1óGQ{)OÉCÌb1a¢bîªTÜɲ;¬›¥?mÙd;Ma­9RR+SÛ>üŸÀˆu)±€–§l~ Š…¿Cêf±üNhÒ¢smM•~?ÚøtmÓ(¨ò¥ÍF‹ê^u• ¬„‡„ZK‡Ú@i_Ÿ æÖè×ØõŸm!a¿qÀs_1sN”„H›/ÜMs¶ þc˜[;æü +endstream endobj 1217 0 obj<>stream +î ‡2ÞÊÅè}ã0â JMS ÷y‘#Šì¨Âm`*\pXtŸÐT†¸Ž7µÔ‘· òSæûcܻΚéò†vÔ4Ï­õ¤EY¿Š»õi͆µ¶’։àSË Py¯×ãç!ƹ²¼Œ, ,ô‡˜¶:…ÁõÇZ™h6 |W€Æ*w²IÛ‚cÏü ã°,õ^x +åüWnÐö²¬¡»5)±k?%£;0bD¶‡lá ©Ðt-IG“VB1ÜP牫–ñòÔ+îÞ*× +¾«-N­.<½kD˜å}¼õËá»Ð_KÞÔ„"kEü¡‹cï<;¡9?Áœ¿–±$Þ`Üå.êbkƒ +endstream endobj 1218 0 obj<>stream +²›¨&ô ¢Ê4‚!›e@oˆ(é¯ÈôÚiÂ]­êì×eøhxô8RTRÓ+æ }ï°R#IKz¼zïÎíüM¯ü~z¡ Ï¿PÞv¯E–3ËŽížaÅyát‚ùÚ´7eŒÒòéiƒ~\áTdÍg_Ò§¡Ê`ƒp`¸9E!¤Ë:Xݼ{"EÑnÞjIj˜êŽw ¤0ÔK¥q€ß-³œMÈ2N#/ërí%è1çŠý{㬟Èz½ÛzìÄ +kûaoú®¬rã‚]œì4æÆ¿ç´ã +ƒ€2~UËÖ¶eF^ïX3=0Þ9èøã$ÍÏèjª+‰h3¾i +endstream endobj 1219 0 obj<>stream +µF«Ð]¦9˜j:þ/ÃN´•'ü .΢>þÊPÀKEñŸó!æ±AWFKAã4½•\¨Pœæ÷âéï“6õìNØêOÈNŸËFËOÉ`¬¼pŸ©¦ó|) ·L£ìi;˜ÅåDÝ)…&X– ¬SöÐtÂWWŸ1ÎéQq'MªÔOue0A>úÉ–· Ý-éß+Ë,æÖ²ƒH¡E!$C£h¿`„¢ÃÚSÔ ®MH¢ådýÕø—ÌÝw¸è î±|®i>9šÄ1‹p’T¥KVp? 1Ú>stream +æoû±uUòhå’OÎñ¾í€é­ûS871¹ïÙSå†!Áîo€ä­,bÆlâQÊÝþnRíf!'H)áÀê R¿©/M’ø]l3Õd>ZáóÉnÚ<î)>»gÐøøôØ gNï-rk˜Vq9Y­Äšyû: É’£S©Õƒ´³’™³4a9m#–U< 9¬Öíå¢Ùðï"3M «^+4àð5bh0Œ-ˆ§ð:\F5‘þã¥ðü¢ñöΣl¿-ñãqËmviçt³~0Ká¢I€Í Ð#Þ¶“´ú™™T<à)? +endstream endobj 1221 0 obj<>stream +Ò>£º+µ ô]Ég\lÍB¿"¤æçD0ͳ0†ENº(gÌÁ²X'ÅÌcÌÑ‚v€©^ù¦é”"ÎÖ%¢Àú9S¿’ ùϾŒí×lgó²Ì¡?‚ŒŸ=Â"àyu ¼%¹S$Ümþ¿k¡¼0jú·.U]ð +³`d9‰*~ÍòËöÐP3dµ8 ĉÂÓð÷[)”aÆÜ‚)Ì뤜@œnš0E’Q#¢Véi †V† €– µ·u¡æúmP7/Ï|üúÒylÌ +endstream endobj 1222 0 obj<>stream +7`/À²ñê/3'J³Ût2Rϸ†éFJ1Â^2MbŽÏTd5¥;Ú««B RØR?q„/«c›€QC]ž;e7⣨„ª.«Xú­Ë/GcC¾è.[ä£ñBúak±jF28f‘æ¡Så*kœ¶?gVZ>k“Á6¸qW¤ÚšU˜­bÓJú7¬'ö4ÜÍ̾ÒÅÈ_ˆ5E+ùæ—¦{»^²dQ¢Q~^^_²I&”ÒµÇ$LñR1í ‹Ÿ¹TÒÁ”ðù5%$X*µ‘¨½$Nþ‡™,ÖèÀ¦çj$B dÓ1n÷fŠª„,?­‘cPß&(ˆ94™6*QW™ Jóî¼W@,®8û”ã¤}Ïì®ù_ûXê›Yhœ \ðÇOÔ;(5§c±Û +endstream endobj 1223 0 obj<>stream +TxÉ&·+ið€z$tˆ‹J£>stream +û \±– p¼‡òûyÄnšø«Þ‹Ä͉Y+P©Ðlº© Ó¤–Ê#‘²x¯å&*&#W}›çiÈ”W<­S¶³bÀÛî¶îÖ‚©òæFgÝ*–—㣜XPú2¶_¿/Ù1¾hh« ¸÷Bs !‡¡?¤GK¦J×Äå\ñ§ 'ÿ°¤&²ÇôU«.hJa +b©îI©é+ã7ŸÍ(n‘p[ðöÊœ°·±ôåeËÆa¯+Åi–=#79W½ eA¿!°­·WàhÑh¨º­jœW!E2­¸S:ûòPD‹hö—ú„þ,™æv7ÃÀ¶Â½q¶õ¿Ó›ŠWÞÔ/ÿ#šØ¸p Oʧx'—aX©« öÁÍúêNIIZ´dó…NªáîãƒÑÉxð7MJÌÙN¼’Í|¶øòx^¥¿ð“Z“i-ÌŸŸôïUm0×æ[³ø½2+Égc±+Ìý +\YˆŒIßöãƒxP±EªEI‹}…ŒêÝ;×W-ã^¿ +aÿìÀO†6 +endstream endobj 1225 0 obj<>stream +ç÷ö°mft- -7ˆh+ÐÆÒõ©š +Ú,šé}Éåº?–z@˜Ù•Q`‰åiŒr»ªŸ,·/é„-Ù%\»â•¸‘ØÛ¨±ðÖÏ ?òÈŽ|ÁÎ õt§®îè5©‚>«ÿ&ÇU+BÙ’£7^Òª»’°÷ÀM¨L—¸tNÏdÁæY€¯ñ~¹­écæ Â'Úß·µáßY +:Äx–YKOXïxžan09MÔÉc¥»ãuñÀ–Ýæ](ñ,Ø™{ÈM‚d1èzáÐ +endstream endobj 1226 0 obj<>stream +±Ë¡Œ¯â‰>œç™}6g/Çø?*í}ÙWf«“nÊí÷=1#û÷^Êdf ¹_ lÝ$RùÀ5Ãw#¡|ìÿ ÌT¶”ð}³ˆFàš}Ù긔Éw=l‰\qZ¥Ð¦¬ñ™y¾ªn˜ÈÌy@ Îh¼xØ#ÜÄ&ö‡óªÄ$)ò®à)½£ü¼Fyåû¿f@ïhPS,â Íxë®zB4zq‚Û`(´E¨ M¬¡1 H±\}°~Çq5Í˵sÜÝgñj)Êå”´L÷Ã5´ NÉ9aÑNK,©t‡±ÓÖ@˦P÷²¢p+ñÄe» hÿ{(³^©Ï†y› +endstream endobj 1227 0 obj<>stream +Ìô+ÏndB¬ñ¡Bé± +1±+,újªÖCfé~8SÁJg(¼çŸ32^¬To¼%3»çHôʨØ}m‰Ãçó`s–&Æp§¼T3™¯9•Âëú‹^r1Sf.^÷‚€IÀ¶Ç¹2ӾYC¹ @¦~é=%<^¡0Ç›Eùjö¡Ðž}ßD$ð– +endstream endobj 1228 0 obj<>stream +," Êü”Äãx,éîXFôõPjÚ‰’X®µ(q–¥Å*Ê qêÀŽ(’ú:´¾¸5£Khaû»xÖÔ&Ùl.’ Ç×3€+W1+±›®­do§${Hѹ”ð[ôÀôÐðí®Zú¿;ù­ In‹Z ÊM„HZ3Ã÷ü³'$Û_«ÿ]žô|{´ŒQ&Ze‰#¯H +|X\ƒ1R\[Ÿh)bùAóëYí½nM™ƒrâ¹T³떗R›˜üùÝŠ™_ÛR³j[ÅØ@qÙ ààw‹¶ðÒ +endstream endobj 1229 0 obj<>stream +KUŒ‘´ˆb›{ö˜€žÜ‹iÅ €;Ÿ/¦½åÍÑs›€àñ–»?„LB‘_W#çLùz¨eÆ7ï‰ñ#wÈtmÖ"E U/<0PÍ‘Œ,_ë +G<üx¿ Ìp,ôjrÊ‘â\o¿ùÄmüƒ<ÍPÎÌ5õE´¾B.‚a³ø ­ŽZQDL€$Ôô)¿k\úoiêP:ÇÓ .´z¤ÙÇn5Rf#KëÓžKH‰Œ,² 5X'ä¨Òqè?”¶Í™Ssȹ¼éÆóç…¼¡÷$P@¨¼×›ù§–Þ·ŸÇçôã mÏ2KV>tÞ(ÕÉ=iتÜÄé7"ˆ¿A7ÑfúYÅ£“ õud€ü!3#ñVN­]Ä^¯• BQßå“P¯77Ø®˜C.žý=4yl8[_j|'aõºõ¹`Wu²?bìÖD¢$й|³±‹ +endstream endobj 1230 0 obj<>stream +©ø¶_˜»¶rÛKÝK6¢îêíÕa”¶?ÔÈì¦Ï-¢Äì•6 6$©YöÒäKiõ.D¶I¡^d }(ŸŸGè›»OÏIÀ¾À>û˪‹¥L©œ¡"}¿*¬sÈQØW-ã .·SCËONú^?‘´fµwÁ°!.úg0£z”™Ù) %¤p`xîÀ þLÕzën%Ùžxû(Š¬Áå`Ù™”ÑËéá²DøÕM¨ÑKg³Â£¹j °Ý[Þ VGœ66?+°5ƒ„eØåOÐéÌ”â¦eóy¹ +endstream endobj 1231 0 obj<>stream +°âš”WRîE'ßx +EÞÜOA3p‚›"Ñ…ÐZEBÞ÷=±ˆÉ9;èHc´î´ÄlÒƒõžò± |¿ù?BDµœØ8ßÞCYldß⥶7÷Œ?¥Á‰ýOï#›ä£Ð;òŽewýô¿ñ:MÁZ©XrøÚ„"®âÑæ\ÏÓä9±6l5¡Ï4µ-A`îA,ˆ©åa6d¥.Ê~¿{_Þ_Z} K;‹Ì]îÑ‚j¸ÄbeÀa›Ä×èÿ›Âÿ¾tý éŨ>ý“ªÄÎéöXV iFÜÔWG‹¶ý r—ç8È‹‡QÔdŽ 舥ú)QéüÃõ”:åÆ㳋Q}P´”Á©ü2{³7ü!zâUgŠÉU@g™ç®iÊ +îoÙ3 I‘Á] +HšÛÏ9ad”·w'qE‰n„Ÿ$‡HÅy~dÐ$‹q{È&uÎ$4­cp÷,Ý‚/ôbäÞ fÀÖoé–0©øë7­d•ÀŠ)žëP^zñM£U°djë¹h’ínùo…Un"ø +endstream endobj 1232 0 obj<>stream +$HKŽ`ûž¶äí@HÝçî]Ë +C~%>:íÙŠQn´ÔN_ªÍÅ6¨sêlåp©SŤ²(kY +|ž°«•užˆuêi¯» ;tX!_úò?&,‹ŸxÞ—Þeéÿ‚úåb%ya%º1lu†xड़U~.%?«50KŒÃiíc¾#†ŽNR$87™<>Xêù¾¿d`>%ÁëP÷ÕÛAÆ÷ =:IÂî»;©lîYçD±œÎÞL—|’XÒÔø³ÐËl4Æ +endstream endobj 1233 0 obj<>stream +uy*¤ÉꤶÛ2fÇãTü"•–£H…Ê8ë+¹¼ÏÄÕø‰Õ!]`­Üµi €÷*@¢Fj«Ì¡¥åIrU¬È˜U,åG»w#òå—ÿ#ÌÓëp˜ ¨׉JqS¸À9ÕQ ­0Ø0NÞMºƒ¾êc³¥ÚSÔˆ–`Þ£ì“ùoTx5Ìd¯¹æRiòZ˜Oâz>GƒÉ™þä¤ÌSíRÍx\ßÊaŒNTÝ•¤<ºz_™Û‰j¯Ÿ&È«`kÁ* +endstream endobj 1234 0 obj<>stream +ñ·)øÊ +$+†uµ…ñÔ]ž÷‹D׋G¦wi¬MÇÿ¨(ª`¨§?4³qþÝΔÀEõ4Â×½Y«ý7ô§‰ò5©ÎûjY\™f7®é*d¤'u–t€î‚žnqùoBÖ™ìm¡"01[PĨbÌØ¥Òôú6P߆*Î)m‹–ÎOF9KKÏ$í§-9`ÀTS-T³z¢vYsghNVÀ‚%îÌG ¦8¤ ÅîRšÄ]¡9 nTÇò¤®œ±VeàǪ¸˜‹O7/ðÉÏœ·V¯^“°îwÆø6Þ÷êúRfQ¨ÆF€°|¥-_“åÐb »¹+C¸†²-!å CpðžÉãAñ½šþ®—‰µºÄc0ž +0zÆãÛ÷¯²œi($m§ +?fÑ5NÆA‰'v¾Æ·qúg­.ûš`†C(ïr# +endstream endobj 1235 0 obj<>stream +L€ÈRsÙY—özì¡y;Ú`e±cΕIËóíéz_‡"?”Öé“÷sHÙ;MÌq ,¦z ;?Ó8U1·Kñà÷¶á£,û7-XŠe§ˆ5HH`»°ºýS0Š7¿f„¢åPlÀÍôÙh3Ö†žH! 'rŒýÇîÎÅZúÊn t‚N¥6³˜Üåm5TMp,1çù¸ÑÊ¡Ü]vü¤y¥©¨Œ){ îwN˜y 0[z‚Z/—Žþø›íœ–pëUõž×ʹ1y‡§©<µÒv%JÕ'7ñýŒ—Q©%¼ðÓé<âüÍ”«N¾Ô°}èÊÌöü¢,‘x#ÝŒlc€¡ðJÞfŸ?Ì +endstream endobj 1236 0 obj<>stream +¶¹æ…³‰3l9I>J}œüaX\^C08?ø‚ô"[f”£;b;Æ0=GúJ÷­² Sx¦H?œHôBŽ @Õ‡êºsèP[ôŸ]¹¯;–öµÒáÄKøÀhL»Y +7¨ÚZlBL:¶¢„ G;ÐIäÖmÁ®@þc7лÜ6ˆáïF¶‚¨Ì{M,.sL:A}*sñ%<·<šjIUÇÃ2<@ÛÊ£/-Ú.€›§5°ÆÑKpFØ’N|òâ8–¾~_yÃKB›'2Ô„ +endstream endobj 1237 0 obj<>stream +-Fa•E£ñ¡µ;ljøVÇã–:+Õ¢ T¥ÔC_r•ÌúÈßù~Y8Ø´mN§¼ý[d ÈSpló ¬éeð‡òiCà©deiT€ÑXy¾Ï¯¹| 3жmPîŸ>ŸÙ6Œšº÷]°Ë›}š#ÝeÃËKËwkSÎ&1ð‚Id÷6ÛŽ˜]8˜?NŽ; §›†Ø2ü`t%q¿•þUå$¡Lg²ä•í®HV¶xÏ=- oƒj>üÔ µ€K’'Ò¾ÕMêtá®ÖMQ}Ñ®¸ÿm1–áv —{®ÕNL”_­ãiš—8[|©….²ô„’ãtv&1žÂý®á‰`púë9Û܉1Õû7CDš +endstream endobj 1238 0 obj<>stream +`èd7˜!¬…FÀYÊ|[Á{ rÖæÂy^§j¢[€ñZG¦ã7ɺóU$ÞX[+ríÀèú=XâÊÍØ@>ÉuÞ£¬Ò#øLhý–ÓãoQRq!ØƉ¥õ÷–ñ'&À+6…9ìo®=˜WÚàÌQ·Ø Þt†611qU +‹¹éLÅ]ìËHßàTÂôk¨ÄÆ×ÒZS3 +endstream endobj 1239 0 obj<>stream +ÞÐ +¬ºðÊÊ»à\ÌÇ¿ŸdWÍ>kR$}Ù츹FïÃGOƒÂY“ÛÅF¦~ûÉ`¦XAWu ÂzíÊbV|)ß®‰ìò5Ì÷xœ?R¡Y x8˜Dƒ˜eÀ3\ +Sîö‰JˆãsI1+Sõ;Ò?° ?/ýˆmÉ•µYzXXDZWŠyT +Q,p2²±zj·Ü^q¤Ë $.&p;3NÔ!O1>Û +endstream endobj 1240 0 obj<>stream +oD‘ZaKÆeȆD»DÅrzzBX›øîó-.ï<‹¿ã¶ß±ûSKîŽq-‹´ÐºE>Zg¸Û³-VÙÜ$â(íJî|¶ô´‡ç±'Óœ]À%&æ@W/Z£ïuº£Û-VTë1*!±Ð„Å=‹….°°^8Ôäš3!Ï­ t"TSì’`òißä(Äý\@ô×tEªBæØV7Æå¥ä¾Du˜–wâð‹aõVVý¸q;2 Þ9Ðœ¤T¥ö¾D\½{Tãò¾:bSÓÖ/6í¢èÚí•17monMÚ©‰’ +endstream endobj 1241 0 obj<>stream +‹ryQOô«‚„nÕ«hk‹6ÈßSx¬È ‹‰ ¬öÅ –áö“Éj>:ì\ÇpÛ¾Å à‘¯Ä:CÉFôszK„Û^3ß_4f°üZuù´uï`<¶­Qi_•QÔ”00õCúkAõ9³.3ê!‡ÛQ—x¬9LÓØ¡N ë¼=­j‘3ø¼lΩŽ,xŠ¡à^ý]©GòeyEJì}.ñÙ‚`hÑkƒÌÆ-¤°o~Bã`žUt»Uõ„ þ +endstream endobj 1242 0 obj<>stream + +ÒÓÎp-—“tO/wßêƒ_Á?ÁIs|p!üáÌòN¤Oô"4—Ö8Ö°1 Š¯#M‡î©Q{þpôóbzd€ÞAÕp°š6c—#LR¯½øá«ÞñÌù¼^u®>°×°‹õöúá‘\œÄy#¼H­rR)ßj!«UC’AXo„F/°Yç cõ±o/†¥’鈧CHrÊ}1/0»·O r±#•AÙ®Áؽ}zóŽCºØU~yÕ¦&xeÆÒz¤e7L>stream +BùÑÖpÛYF°"1ß +Xì.ÃÑ’™8ó£gæ~]Tf’Íj|œŠ…À€þ4xÄ´?ù-÷“6¿BÌÀ¶²tÖ¬™:’–«~ T‡Ö3”e—âÿèÜèUµêŠ¶3;ú÷ò°¬[$ψ&ÑÀ»6%Â\âèÄðØP ÒDêø‚1rø¦öÌ ^ÝÑ— +endstream endobj 1244 0 obj<>stream +URýšÀj1Ž Uµ¬Lâ>ùî|¤]O³¢úÅ{Á¨ùVDœsjzy2W=ýÚ˜‹4¾ 2þ™-»`°{°òìÃŽB«ó ç¸ÿÆ>‡ÀO>ç¬V—.¶î 4bj­Y{Ia^ÕÄÔ»˜«5`ZB9!GÍr¯‰‹vètO|,°A-Ë ´‘¶Ãâ1¥´ŸÅGX|–̃óüáÑ òÉ`Vd½ÁgP< bCλ· +endstream endobj 1245 0 obj<>stream +r—RT½êÄÉ°uóvILFµ«]¢™¡ ‚¯ª?6?ÓUZÄ]à‡¸¾8€ Ô1£îñàs½} çëÙhÜÁŒK þ«‰êÃ伸z«U¨-ë&fK†1ÚåØ2o?ß/OŒ‚Ï º–ˆX¡½¡ƒ{xøõiÚÔõ §§ß8û=@àjf ã÷‚5MëJOÙîÆ´}  po »Ú£¥´vf¯$ã_Þ/qe¹÷5<‘ÿ1ß$‚ÐâW|¿  +endstream endobj 1246 0 obj<>stream +yÇAEàžÎü^¦sú¹½S}iLé輪-¯½6U(ë~í$Ïg‚ÎÅΪ qbá1$šDËjÚ€ ÁP“Y +g^šXaë·Ó-¼àݼ3=´í#ãžO±Hu…Cp>šâùÕ_« ô0W*kQ¬×:ø;üÞi¸3eªÁ†Ìs‡cNc|}û2‰/O8TzhB ¤£ð™õ9mFØS*RºIÈâ1ËŒ…ª½Ám=ÔËt]Å;èmì»9[Öù¯~:ùoof‡»ìujG)2ˆ´78cÒ +endstream endobj 1247 0 obj<>stream +¤ÎµÀ¢»kP}Gg==§$ã¨6Œ¹Ea`xdfòj¨šÑ¨vY¤RÍn1òœ >2VKÆ7ìR'õ ì¬.®>öy>ùÅug(C9-Y+8ÁW§« +×nH?GL·Ós +«Þ˜fcë¼Õ²­ !‰rÛñŠHŒ~$I^m¦ +ÆŠé•—º]-[Iµ¯ˆÇë#ø£Žô¤$Þ©MAuÝÒ›á®.¸}:0¥"æ²Z³}óœ×"ëv?™ ó¢á ¬=üý[$À°%#–OTÓÛVåÕ¬XzrL†7hˆå]‹á€”7 Lgr°. +endstream endobj 1248 0 obj<>stream +¤Ç„Y[õÕϺ\æ@É?×éáO›~øCpÐjŠí¥È§FOà²P«¬ÐF4ä{Ÿ̆•¥R?î$ó}“o®´ 4e3ļÿÂÙÐ%ìí‡ì¾Î2¡ *‡Ô’úÆì1Ø*öBÈóO„™£s zË’ß•ÆcAìPÕF]Døî{ÓúŠõSÒP|1’©oçùüÕ¢¹ÈôÑ«k¤¤…Ïâ¹ýW­ ýnþþäfí(´™×öÝ>¥´j¤šØj®•ÂœêýÍñO§†7SŒÌ öø÷9ûo¹Õ¹0áöD¢- ¡æ_í“N&:ä +endstream endobj 1249 0 obj<>stream +Jã«ÂN<#3ž½ +eÓîÊhÝTkų-U/èu2¸ŠœµÖÂa®p9®uÍék;ÝÔòÌà’•>5Úg4''ë›ÄbKA}8ãGœ`­Rã[mAFS‰  ¶y}ÏYH†& Gq1QU¥í¦&¦|êß´ ]˜ÒÁFJñøEt +4܆ŠÒô02ÿdÉ}Æ iŽÃmã§ê2<ú¯ÿ +endstream endobj 1250 0 obj<>stream +hŒKe+ÀFeö†¬WQ÷,paåe;)¬ôœSÖA= Á,×Xî.÷yÿvÅfZ¼rJKÛS÷únéAG^ŸŸLšBË&¸:åÅXþJ",¯©ƒœ§0n@Þ)äÁ‰"æ¼—öðqÜ/õâÜ…§-‰Lœ#{ú<·/`n‘“5·šÿµ•LëJAÅÇXrjèxêN‚½tÖÛÆ¥5n–b|»Ã~ƒ Gjt$Ç vY¥ÑÈ#p +endstream endobj 1251 0 obj<>stream +ÿ¢ùMÊ@ø)€k’Þ9Å2õg]^4¸Ýq +̵\˜  äRzé®:æR|•gŒˆ ,p¤§Îóú;$‚[‚¯qo¨4OõÍ“(ýëªü¦<‰áû1enÓɤ¶Ò¤@R1ž:¨˜º\/ +endstream endobj 1252 0 obj<>stream +!Qá¿II³ï¦„%Ç¡†P#R—„! iÜ.?ïïÒ”“f3$tt‘«,'>¹úlÙŽˆçñ`oVâ°eóå`E.à +J‹w ->¹D¶6¬Ÿö©v´Æw–l2C(ï2,Æ7\0Ï­ÄlP@A¿CÈ•_|¨ÀÂx®_Ù,÷Ž y +Gp(]C]5YÐýÌr°^Ž9#s‹¤$[¨I¾_óõÏï^ÓôŒ“ß¾-o ½\ãc¢!Ý‹k<«€3·A2âJgïf½Ž4h™.ˆ{cSu +endstream endobj 1253 0 obj<>stream +æ¡F–+F*ÜMN âû 1 OeñCDwÐwAÛù˜MÑS†Œü6œ¤Ë^“%r:o¹uVhç™ÊÑX—ñ€(Ìv¬ÛÐôËUBØОÛ–3ÃHwp$oÝK‚”E¯ì„zÌ^!P„=ÖÔ§™þÂݺwõ›÷FXç¡&,9ªÿûéÐbýÆŠœË-vNÏ“‡¥¬qA£u7ËäH3¯6 gÁ8‰h•fÍKiQa +‰J&ÜÒ”žIv2HpõÌs_Ë +endstream endobj 1254 0 obj<>stream +ˆúð&º± +%bí„q¡°/Z:j ÜK*T‚úÝ€wŠ§™2/…Rj'ÚÓ-§ 0ž yhŠÔ©ÝP+Ý#Ä;yÐ×…“ÎkMJPeÓ+‹ iÙ³8Ù•d§I¯/ˆ0 v72w>š\i/!r_SöÏ”÷Ô×›'¿8ë`†i÷œJº€‡€Ñb¡³æm][¿p¡4€4xÞövf¬·6U‡?k«ÖdÇòm, t]Œ«‰£Ÿ)”?jc½¹¥ ŽÄ"ŠÿZÙz%ÊÐ ·Úu=g’KÿïÉƒÛ øGÂ^Ú»ã­öÑ©¦TÙÎÿ¼ìº£}˜bI¢ +endstream endobj 1255 0 obj<>stream +4r#F¸Þ– ØŽäÂ4ã LðJ&>`ô5“´¹+Æœ“ãx0¹ª=wV½@+“Ê5– ÷Aþ€²çÞ&œ¡†ªÊŠ¾#ŸaxKØ…ßa ®¡R7q›hÜìÖJ­ãc o!ýÅ]»†ÀÁwFƒÁ«£aáímŠìè*€;ªÂò=zJ~è·˜ÀUcß¹±fv¦ Vm¦‹—V~–Z›ªÏu¯€tM,ÃGbªÑP‚Ö ¡+–‚[ek·KdÃ&V²»Æ[88¾}=0+äXÈâq‚8býMø·džâf[Th}͘ تàáÊæJUÎÿ|¥§Žel¸¸²\ ²EKèoÊé–ˆíÔUú:9 GP‡ùgç•“p稉Ì%<Ó³ç=„XRcñä8Ž<‰¹ÀÈœaKzÔÓÊG©¥M¹D¹‰ +endstream endobj 1256 0 obj<>stream +TâT] ´Zh…;½ ;#®›!1]Ç2:O] +Õ8Ò€Ù!Oºªñùæž|þbý·”Š…®˜Rý~öÊhõâ p¼ßP/_îPæS— ·ìÉ¢'*©"n=¡ì™Zü¬ +ÊÙ×ñF‰A™à[½Ûÿ§å("1­ÄaMØFûéI<«õC}ÃZÏ¢½Ý ˺I67Ù'íjÔߪ¢6ÂjžÙ!Cq-Ç”ÿW¦0Ï›ˆè@Ç/Dºú»~íè{êÙJ;Þ«27×1·3|J”«›¸l—û¯ùXb…:?²¨EU~ø!T‹]H²Âç/E7”>°¿l´~†µäY×õ‚áƒÅZ+Ô_5AÑò1úÞëÐOF +endstream endobj 1257 0 obj<>stream +«]þ¿Zš +~³E?þOŸ¤êc{H'‘z &ãhMüæ¬[e^'䃶\+¬`(? îé•É|7Ùµ‚@ † +1À-øGMÙjL‚ЛƦ +Ç]b®Úœì”|.L€) ª\ÿ/çV•Œ¯©¾ÛÂ4euÔ„N¹KHŸ‹oêPí k¹$ôó-£R“Š”Ôó °è>èˆd’$)Kcœò1‡mGZ(Ë©T:˲ ‡¯†Ê¶­~Š¡»aô{éóÍùâhÁѹ¢" Á¬†Ž¢ ]æµñøŸ×Ŭ‹öÇ…VÓû `rc^WXÔ•–ÿ¥É‡¦j;S,Ä +endstream endobj 1258 0 obj<>stream +ŸÃæþfùnøÖxOÖøËï«.ã”TòY/øâ¸ÿ…‘ ¿ñøh‚¸¨ÚL¯îjUP߀‰˜e‚+L”{¦S6ó”‹Ï/Ü&.¯ârù6lcõõµÖ—ÍÝiJ_¢ú‹7Ì<ÚëÄm`G¢@PÀˆu™Á¹×Gm¤Ab–ÿ­>=ó|oyùp'I +endstream endobj 1259 0 obj<>stream +yÈúCm¸W[(áÍ À+ù¼zœnÆ^™9´ß+¹ßü´Ã_#å^êkNríúÊ;½æOpeþM {Kß““Ç^äm|ÜnÅs{Gvíô…Ö7'xøo ô˪deöOH TÅÞÏ]f¹·]Ñóeç–ôLýkê‘ʵ02Ç"ØÖtQ"8ïÆ9R‡ºNŠD½bH¤‰ZcY$ .¥‹K[ÈÍ®á=qB§Í餇̯LJ;ô¾µó»QÕc(Ö†P,ÍE +endstream endobj 1260 0 obj<>stream +êB$b1 Æýýáè_¼ñÏÎi'ð’ï¶&@ôÃ’Hf(DÅ× Qó7¿Ýf°š%AÎÐÌRn‹8ùE].g ‹Õæ8U!‡³yØÃæCMÇ?{[ãÝÕ &e=…»UFCÕ‚:ÐáŒý´¦œ#ÀçòÃQ¥AÉô5èkçõ­òqƒó +endstream endobj 1261 0 obj<>stream +} ë[kèrzα'0·:C¹ïýÂb›mí8÷ ˆÛÓyWaù*®B·)IôAâª~võ@z¬Pæ¾ç¶ðt +¤µMc·GâŠN¸¯~Ü8…²fŽ•‚?¤?„å{•çß8W‡7`Ùocg¶*Rq1ÙY¯ÃmÓKæRE ®Ðö®)Ÿ×8óï5ñ“‡«M† +»¡Õ»`IZ¥ (ÔÚ$£d~1‘£)2£ê0A]M¨~¸0`¸`š¯îàƒHC|sVWÖŽ9O0£c+„ªsž4ÖµX= +endstream endobj 1262 0 obj<>stream +G¢ùrç¬ØÔü¥s‹B1Q(|RíÜK íΠ˨ŠQ£rˆÅ¹ƒ…ám‡Œ³#s…ÙÒf'AUP°9;µ}ÆÛÎ9¿Œ‰P%gx¹a!ÒTɯ¸;›i<²ËMp!µ×¶öà §TZ¨MÕ)ÕÜ(Pëh+ÎÑ>stream +n:­FÉF)â `„ +ô'`v<9®¤RCa¡thåNÜ RÌË*ú± +vˆ.5ÿþöî#i£#´Ê*ÉbN2ˆâ.iú¨¬s.S#gø€*¿Ûâ…ï' =C…bƒW>>ü~à4s¡Ù„, ªrrI®» +)6+xÁëEBIžÛÞëj{”Ñð'”Deê!®¹l +endstream endobj 1264 0 obj<>stream +ÓȾ ÁôÕªdäh­=²^`Ú4_¥¿ÙWTNx6”.Hï;hÚ‡hÐÙ«7(~.î-Æ^Œ¡jbBÕÍèÈú¶Ã™#ØÐi>y­q]C=BúbM ƒƒ2¶õvT•¬j<õ!°õ„ÍÜë'¸èIu½j+ÑBH³à0?ÌŽ ²] +4^ãÁ”Š³žÿS° å‘ÿ†›¼p[¾…Ýlt€ÿÅÒœŒ§0¥¿od´ÂC?Ú_{FƒPT1£ÆéüùP÷$Û{y +endstream endobj 1265 0 obj<>stream +Ûͬ«ò•À‡GiBšù ²T“si9ȼ‰ÈE½QŽ÷H"{d¦°3O^UÞ& ª‡±±Ð^ÃxŸ‹ M¿Ác`ïl˜åx*¿Až¯b|Ö>1I¨ƒNsãˆÍ§¶·MìÖ²P4¤¸1(GGèmÛ+Å–µWµ…æ‹ú Þ0òq2^¹Ú1~\˺%1›Þþñ”beù„é">IpAw./ž3V¼Ÿl”Hóûç5wþ`Õ+¶ê™…íÜÃA{”ªÌÀÊ+g Ü7Ó¦ÐÀ_™ËªB:÷YT¦ÓWƒèl¸U¤£¦•Ü­r_í='(Y°JYÓω95X@VRÜ[ºÔ›:äÀôDLãAW#µH Ãj_¥îçÚu+ 8ñ1ÀçaƒÕ«î/ˆu zÓºqy3-üžØ"óĹӾ\®¢¢¯• r³6ºã} íë‹ÐxE,@W(T8zfvþÉ)¤ õų“‘—{©ðø/àE|®Ðn +endstream endobj 1266 0 obj<>stream +ákf ¿k‘±œÃˆÉs Ð$eÈ€ôõ«z1Ÿ,“¿pGGrâœz“Ðb”/šU™¹óK ±›[IÒO2© Zå†À(ó·çig½¯49 &Uoä[öáhÛøFÝx¿{÷‚€©À¤ñZ¡¨e +endstream endobj 1267 0 obj<>stream +Ò QCi‚3It­úÊÁ‰¯Ÿ(v—Û–EWPYSÖ½ÁU¿Û‚ÛœV‚óÉMø¯Üè¾5Í1Z˜ £P¯yÁI rÒƒqñ§à‡2Än¨q;Y8N»Ä$Ǻ VÔÏØ?n™Ññ·¯,ï}?¬Dðp³ÓJ+¬à,Ùaž‡eáTº¦®Í¯7Û…áõD{UŽJ]®æË°F/€ÍjN¸ð ia"",°3œL)µÞ'¾Î.@žÉ¯ú3Tvßìí,°xw~ðд‰îðê(ˆ>¹;ÏGÍiîå¹™÷”¸µÙuë5­¼ Q2Dñøê1zìÜ÷ +O9‘ Âi‚?S¾aèÄ=õ½bº¶ŽmBœ½âìDûý0fñ៬ŒþU9ë("¼ÁEVðcú‘¶å‹øØr}·õ„5c§Ík"H)Y½ów…ÚÆZàkš]s€ÞC"ÝÚûû;†yÚ¾ÕBÑ¢º}ŸBÔʳ:L‰Û{ärg€¼´ü­é@ŒWÔÂo—Ÿ‰Î<òlkëõ(XÒ2oŸáNƒÊúı(bŸ±kÄñ°¨ÜKŸ•Ë¼ßߊÝ~·}·µÔµñ>… Æ 6´¡<}ï’íÍÔ~#uR¼ t¹á'•YAœô“VðrULwº´«Øm•Põ!uíÞÇr¦Åø—ÝG)M’´ +endstream endobj 1268 0 obj<>stream +·iü—9õ°D8Ƈ+òËçéó’, dæAA‹Ü"/|¡ÀóxZ¥^¿†bc~z Á1£‹Õ/ÖQ€l¢‚rOZ¬ÖhdàŸÉ +¹ð¼ÕmŽEIœá|ÎQ rlԈШ0#ÔºÑqü¥{$€a“¹:‡ÿ ¿\UòJï‚Œª†ag†Ž.9 +OÇôS$ÞLmÝp½¸ìka6P +ðö*’Ê´ÜAöo”³Ë‚Úh%[ +2©}ßP)ÒO‹˜&µ‘jF¡/¶ö\r=έ °›V6±./»­ŸÝ+¬œÂCòmꈊ÷ø,È”¸ÏcÇpª@éí•Z…P\:Ý=°mŠ%ók|Z²8P,O`ôT˜Â¸6¤¬Dœó¹þÔ9ï(¾E‰·VÖç_ÙlÀ_ìÈ.b„ñvÚs|} äš²„WUý HÆzMð:ã¬ÂŒW«ù*Ö´¨•Óùü—Z³7yœ¨_4p`lë® ‹’‹}œ„@áÉ£æýö×qå´U‘õf/²<0iF/EjŸF·Ýpë: ¢”êº÷¬öìÊ€ÌìÄÈ7>stream +kþ9yC ?]è°G΀84ŠØ nÅeZ6e½ê¯ÌÇp}WUNMu©?ñír +ã«íáðä¢ݸ!ž1+›®†­{Aáòs_n$»ŽíPÂÎлE¤gø +âù^‹Î|©0½F> þ¹ä_¨Ýº«H¶L‘î½ñ{ë{P´*ôÄ¿‚êò»æá¯ä{õ]€ŒÄŒî5›„‹)óDQ€ÓÈz!ô“u¯, ¦2LA~ôaÁ飸PÚ9cwÞ¦6Ü-èÕUu•ïýWq“)kö‘:ÛPÑœL¡Å¢5ܘ:0dï-ω^-è#_'B $sÝ«ÿ3lDNlhH Ð’vuúªBNóP'iJþ +w>L·a‘ãç'¿Écjö<›”Ÿ÷#½Š‹|Ÿ9Úvd_+ g¸ÊèQ§¤‘dCMÒÄΩggœ­-žèò z´ì›Šëÿ5 !šÂ™œšûŸ‚ÿ¼S[Ÿ¥ ¢s®/ok ‡/ÞÕµ*)p-4¹¶h“ü\ +×ÅW ”¡9UFÉ? I!Zy®]r2ð‹{0E‹ýIe‡• , ³àùWV›ÇÒ"/‚¦HÏ®°îþ‹óúEZœÓ»E®dl>»5`ÿÁ’s5@=˜\¨ÎóÑV_;Ydkð×cŸý’M"Τ +¶kÞäKÉ«÷Ó€çòB ƒÅ8µú©Dsu¡w•ÿ{+ḣÔ:mØÞdšë­Úð7<ºÚ3Ÿb–ÎuÛ′ò·Ó¤÷üŒp.´;.²¡ê[{Y¦‡§ +endstream endobj 1270 0 obj<>stream +q»¢Êà×YÙÑ5´«úeÐÁð^;+,Å%€› ¢÷½ŽÊ™8Æ°PÍo<¹ç–ž™Ã±¡=èÞõÀÉM‘ç?›ªGf >§ˆŠ*×´öÜ +$¬ìÑ&k%,˜å¾Ò3 çgôØUW€ƒÍ[`T-ßDX› ÑÃp½½ +™›ÎO­¹{ûíÜ>+®C>Rh&{`¡õ¾ü8|˜º^´r§á“wN=ؘ¤ÍKV!Ë9håß/@Õý XÁ2 „`î½Þî߸@ôšµ_ÑF3¦ã‘Oi Xˈ*¶¾Æ…ØrÕûû-Å` ŽtLe·(=½†Øe‰38?fÖAöþÊûÕ=hræì‚i?_’I1¨&¶Èx4ßR¶œˆ’†•˜Šc„M(êàÐ+AÿÛ).0‡aÂô[|ªbº˜Ü`ñ‡o®²æ“ù;É70W“4RäLmOµŠþHþÞ‘±9Å“®Ë Ô‘ZßD™˜Ê»¦'9ÇÍ<~g¤ ÐЃðê¡ìÃ,øÃ&vÅ63èOE…<ÔþÄÓ‘ß 7\†ÇŸf +¸q6Zt2¥B&UŒ1óg<Á¸>stream +³Ê^!Ìÿ.)±Ž¬’ÑÊT˜T± +íãfÌ ç“Ýdm-üFʲÇžÇH ÊëWÂô~%MÕÊO]#Vg¾…ÝpÂÒ|ñgñN{¢®¤ªñzÝš¥d» +×ÈfBì48€¹#קõ!¦dÃPðÛ&©hÕ-`ç–$µ;„&9®Ôöà}ôNCéÇ @£.‚œ?…•« Khõ=o¬T±Ä‡¡¯Ñ6„^ +©6/Ñ ì0/±H§ŠâÒAvBghŽ€#Åu˜švëMª­ÄP­7ï0N­“Ìf}üJÚFûMÞO«Œ-aU>´×#i-Åi+ç,ÎÎ.>—ûÍ<i&¤í©e˜}×=q'™ljä ýœg¾¢¾¬ñff}REÕZõ&Ϲð]<\¬0k‹“¶ˆ³^¥ AˆÀWĆ!}3í]Õh˜Ò‹Ûîš•|ð­E/(‰˜Öó/`Gà¾ßtû{>ò½¦)¥¨x +>x4 ¹4>m.|­6€«ˆ¦|'4ˆ¿ðªöG¿×럆ž7tÙ%éfE¢¦0az“jvÑQU‚üfØm´cðŠ5çµgLh`#g¦!7XÍŠõÿ¨˜ + +í7/Vºõf\ö5ø½b‘³·Lè2Ûzì…I}zèÈ „ˆˆÏ3@¦ÃÕU†{kôsYŸ5ÀÒäÅ;¿Ò ï½2óé¶ÚS¾ŸÕˆÂ“ãp"wòß»L  î±fB€¢,oíšu¯…#ÅŽ×3dô!¹¤ T¾Œ_á™ÈÑ¡ãû—L]!6ãßlƒÚí˜[˜oí—¶Ùe6פ—– GÌ>dÕÉG} Ôòk¼C òÔÔˆ{¡ßäRÿ7S°ÍÆѨšqxR\Φ™ûÿ–Á1íá˜þì‚Bø1ÁÌíãÝ”š{ˆµKʯA +endstream endobj 1272 0 obj<>stream +v6„(Äþ© +lÕ8ÅCÕÏÖK2±[D¦Y˜žš®¶_§"‰cß,k\¢4òVvMkd©¾ƒEäIoË%¹9ƒž®(-*b^(ý«§k­}d.VŠg„Ø’¤‹A1ÔHuÃpB*(¥œ»8(ÿ^{9·ðŠj¬VÌBqtD+ ØËEƒ£áKo]ò~ă"½ˆi;[9°^€0^L¾Æéö“q˜èb©oµ¶#Û2²lpìÃÿÙ»@Ú«ŸýÐŒð8ò(«ð+ &2Ï@wyb4ûciyŒ£Pm­Ùxv8Š¸K±0ÔýïG·xçT4õ•ÂØvðf'‘˜ã°¸3e»(Õ.ÓrêA ø¬(ÖÔÊ`w8\ÒØ)ø’ÓoM¨ý^‚DrÖxª×åëÔtlü¼­Î6áH[%ž¦Ü©à- y(ß®Áé0p§äCJoé03• 1}ÄõbJaÿ”;±/ è*cöLí ^H|^OA24Bˆôo,¹98¤t|œEMᛟ—‚ÀY˜>¦ûʈ6Ò+òŠó”V#„;Õá³û +’'g=´LÃ^…µ¬„ׇŸö¸ïˆPK-„lpKE+Ù¬h“;^¬š„D£ò½Ø2ãE"$q Ú¶¸â1îJ EíHòŠ±†k–GYé Ψ¼=ë/Ѥ·*áÍÀÕ“Ø…ý¤Éˆì”*„ö·–léHmø ]¸ïœê|Zÿ˜éšTBpz"2†’×î[š¬Kf¡ûu¹íºÕä3ð~‚" +endstream endobj 1273 0 obj<>stream +ÌJ±Vö+î×Ï©`’ÁÃÆnË.o:$¤_wüÿ® «;ã d¡©ˆt¦7°@o®¬RÀ}½CRGR_{¶Ô¦££+déR"d’•@‹ ûHr6ÂD‚Q_x9Ch‡¦¹"á3bäêNGÿ9vöp­FƒìÓe¨‚.<=¯×µ/°¼„z‹(°²•ÆÖês‚0IC;n¯Éïo#-̪§“4‹tCÒÃnákùkdØ¥`u´òä{—'Èi$Ðõåuô¥J–ÌsámßM©“£Ö_é/üdVu8SÙÆÌ4Õ­CŒ“u†åó¹ 907@b•Œ5ü/^ˆ#PìáV«Áûÿ ÍŒ~{vÒFqÁ uL]@‹•æb¯céþ¼;u¼š„DÜ +endstream endobj 1274 0 obj<>stream +&bzJ?¶U¹gðBæ=» A‘”QD©çЯ 4íø Ά&4k8_'lÿí,º¸,ÅèTö d²^°žMŸl á=lfÞÐí»´NñD›ÖÔu9gè}~Ñ[_æGêOƒ­o†O!`]q(ÿ!àìocA‡ªú1¶9Ù>à)=’Ñø6ÝÏÀm€ÈÄ&Ž*.ëÜ#M_.]æ¬á¾Ÿ5E7Bƒ?èÈë¥B?Á4y9±Ës6¥¥†H«YœcËÃýÚD1Þa²R" `ø²S@Ô,â56LŠƒù,ðJåÜýe2% Η .ê(èø—S> Á@dr7³ú‡;u'ª›®ÒN⸠™E +„)ùÙ…²e"{Ùk­ì– ór©oŽ‰Íý}ãs‘ٙﰉ ïÉ `“Du¥€'€h:2ý/`1ï(èöœfÔÖ­«“Íô>^!ßë;(9à®e2‚®ƒUKŸÑ}åFM¸`óFÆnÉÿNòƒ±Øã ì É£b28–ƒVEÊNÖzñ^?Y÷f PïöÝ2 î(ýŸb·~ûµÎPZTGϪ¡÷ؾâð…b‡‘{ì Šé{f¢Ë¨ Ï¢?ÏfA“”‚Ûª0Ñ,ʶÓ£ÜYngtÞJálÄ'¼ÀÁºîdû +ó°«°›ƒ¸¡ø"5µÂ ÍÉÖ†`ÿ‡„­W~4Á,E”ïdÇiFáü<’®(Jô¡¡äï˜èB­HÔÉk†ÕÉùof‘ +endstream endobj 1275 0 obj<>stream +¬>I Ñ (xüïoã±´·â÷héGÚyÒÕ(åñÃbÁŸ àÇ×ôz Ô³—ÉÄí’ëaà Ö3 N¿ësø1¾S6?G‡1•ðÓ’›ÿU 14£:†œuãtõ÷É}[~Îà´m£X~TLi!Ÿ}Ö^ª õg4sÄúËå ÿW KP¯ŠXÅü‘yÖ2àeA;×"‰ø‘P‹ŸZ?­/fXŠî¸'Ê;CIhÊ\ïë£{™=±ý?Tõ†@JÏѤ¤ÓåO‚l?¯,Æž•S¾ú=…ɦ|x˜Ù3z“ò›ª4ÎŽFôþõ|S>k¶î‡ýU2·>]‚H¢– Cy “ð{sUOÏ@ØX<É£½g‚?óZÕKócý¤ÂÈJ¯ìÑžÇÀx,ßÕ¼d±öÌ#_6X³[¦ÇJ¼qèPþÑ Å'×á`~õ—½|˜ò%›~§-VAªÑÇoÁ²ÈCÛ£ô1k›­ÅÕÕM|,uÔÈ ÊÄe¼£Kc‘R#«ìÚ±(]‰<¹~ 9¬N ,SõߦIH8êv)_ +èvsWÓªMb#ø :ÖÖ犄r¦>stream +bPk)Ñ”‚5$ÓKbßoAw¶/[…è·‡[õ¥g*=Àk>lÖ×Éœk‘iز"ùõ¬šµ¬¶ægx1à?Ê>Þr«ç»EˆfôCÆ‚(Ã|Æxâ|$%\%Ò¤é–7"¿¸Á³”:*ŸÖØí¡#ҽʀ»nÁ/|êM>8È«Qà ì#ñr¬¨G.ÒÖ±ˆ7Ãý¯,ÅÈüH¤ v8R,©=[(ç»k@žbW`±4å·/þ×ø!Vo¦ ›Ã#ëà#$âàáÔmnõ§ßüÆ*.EœŸÈMHñrB÷ž“}½CÈ¡3©¼P¼%C ²+¾¥õ‡ +endstream endobj 1277 0 obj<>stream +ÖHòWà±›Ú+Œì(cÈ°=Íþ.¯“Vˆ¸©³µâ&™Ë;hÇa‰¦lÇ¢iµÑO l×!tE¹ðjèœÓõÀø‚lJÕ¡9*™þt>ÆÊŸÚ&óÈàX&n*‘yw²>€­ +Ë  ¥‹çsQôÑÙ‡Ò˜ÄrÕ/@2 +c7¸yy)Ó3ZeƒDDÊQ˜¢Sýlù2j+¯ +Q#.FLÈßÈ.÷ß‚”Zûçèç_¢„Tì›SNƒ÷ÒHTÆF}]ÔâTr\‰ Ú78N1ëÌè翘¹<' ã +G%š•Ú7­:€M8ž®QæÀ¿!:é(´r| u +«õF´A±0nºº”ÿè빶ÿv<¥Êµ¦W| ´ˆbØVP]®;‘ÐIé4N+ÎE¦"ñ ¿ïyýâªÀžšOãÁ|;Ζ3e +˜…ýákÉš8àŸö7ŠåK•ù…MlÐø›iôØa)N™ßpÞN\ÒÇönÒØtR“Düˆé4¬‚Yü±âs‡iŒ½w"^{TÚý~‹ƒ…66n…˜õFùŸw5w›:…*Ô»üW›ÚQøôôÖî?]!l½£ôívZLmt-cŽH +endstream endobj 1278 0 obj<>stream +K>Ò8yºS”ÿýL–Bù3NöÆ}bãAÕùbΧ¿x ÷ïùeÁð[ê`_·!‘>»J½xÜïèNƒ8æ +˜UÌ×áâ£@%Ÿ†iî(©xæé°­ä¡ÿúP5§ç yÉ|Ó‡©Ì^–Cæ /šÕ^¿¾ôd›¬¹ö1• qûq‹KAèè@“ætò³]™E¬1SD@„¸ˆéèÛ'îëjoOB6Å•†-:Ò7°Z·|6uÁêí¼áµªÂåXìiq! [ÿÍ>¨øOÍ4y!ºÕ2Æ8ŒåŠs-}ro˜³çÝÁ˸¥;t·Ô½L@F~R6Ž|G O˜ã`ëÁ’·hÝä¢ø¸1<ܵ'¸ .5õ¬Än /sîd¿µŸÑž{pÙCÆðQWdžåÉ¥|ßäô¹}hzH)êFyß2`°À\d·½˜U‰ïø6UåT;·´|!I.ª­º²ìvÝçãŸÉt å4¹í:´Ç-{ªg¶1 o rRéTjO‚c²hq§¬`“ª’e±à³¤£Kt°›“GTBS–œy»¸×‹Û’?g¥«Y©¦¨c]>R2ô¨g’-ÿ:™C¾K/˯Cê[e‚fWây›R0{Á°@ ‡_!ÞÈ)ˆ;]scÖ•¡tDK ,5Æ‹/ZÊ’’M¸ü„.L(Ø +t óGÅ_æW§êøÓ9*¤±Ô±úc1”(9ósZCòv›m¦/4=_®™ +endstream endobj 1279 0 obj<>stream +Ð § CÇE‡ é°lzJûÜcýÔ~ź·s ¸Kzer½îÕ@´Ôz‰×½æ»!_ M*ŒÙ1÷¬uÝUš»›kH:ª„v’¹XÙ¬Sös>‚ \©TUÃk¤IWso?»›fM2 ¸Ûoà©6xÜ‚… +&É-Üÿ|ƒö½%­ñ³øÖ [üs¡núBaƒÚº:±X2ðvð›:Jð‰Äv8;hWêC/i߯³Ñ>¾?Å:’/Y­‘À÷ÏA,dq»Ñ¬7 +`Ð…ú6PLÙ:xËž¿ï:>qáAŠ ßúuîE2ž`;í#ý.Kž ©Ó"ôΰ7W«ÅÍv¦á»6Ñlxõ¿¶¾NXíÏq8CpÝú'+º»»h“_¦æÉCæŒ ÞuÁªþ¶æyK Äèú3aš¸B§­ùR€é¬ŒuÌûœ\sV®¹·Ðv‹7s*PÓšÀ0SÐÞª:kˆç±jmlÈ•W¦Š‰úÚÿàÔ5åÊ65ï}ÄoEç‰SÊ1¶÷wZûéìÎzÌSïä‘e½¬dä>›®"Ù>stream +{X½zÃf”ú Ç¡"ùVÆЈY¢ßZUIS±hˆÔÿv¾æFa-×…uÁ?]¡ÒhD/N$Þß— @=WG¼ Õ=ÌNÅ+p}bÕ’0JäÛvŸ¹:gß«¹jOu'*œáŸÅ›iîÇ@ mþsôíD÷9v›Á±ùd¡Ší)ª?x='ÇT²a°DŒÇ”²4‘}#På¼ê ¦Kþ¯måDêÌŽÌ›ia6D¨,²=&.ƒ†\ß7ÓMù¯z­,Ë ^ŵé\ŸäÞ±IÔŽuԧΘËÆ‘X&nXNNÐÌᬡ¾fošÿ‘9|.^Àûfø=%!%ý>þõr‚ÚK÷š:VENAÐ?‡IÒ,ƒ!iŠ*èg•-¥1ô0]&ó([Ã}¤ØÂpNcš—ƒTõåt‰· +c‘a}k/ó÷(ÛɆƒ2Íù5„£Cù3\òÓEZ<¯ Êw+­>Åy ¥cµÞëîÁbþ Qiìh3„䫶ϧ­iŠ»cXp\Û/,!°g;÷<’nÔføÔPkæôçí¡8–ôð30‰ù­ýVÊ¡½ª˜Gc…`â`é.Rt(U~þ¼ ¥œyË1°Á/=3dÚóTÍÂ[tã€;ÙƒŽ¾Æ¡~‹ ‘ ²ž#•Þ_£°¨cÄjh&`ó€½Ì±|èãåË9ìwD™Á‚úЋ/Ǧé<“êVÜý˜ÞCÒ}-+n'}® +endstream endobj 1281 0 obj<>stream +<­ìÃãÍ +Ë=Ô¡^J”W¸«þÿäª ú)"Š;OHY)“¹d$’ºm¥qxp!ª~`&ÚФ ¬OÀœpK³ï’‘sÇwûÑ…ŸÅT ñÀº:£}ç©NLö”Ð G2Âb¿äøò‹7þ¥à>âºí*ì¸H4- ][Ñ ëÀ5½u9Ÿ„Šœbe¿_KL¯v8d°A#Ô(iÕ¤¨d$àRú!3Oa8sðüaŒ1¥ŸŒ« ?«Â`-Þžxá-×U„Eä"¥Þ¼ú}­e|@J‡Xf•õ g =Òh„÷ñf÷ÉyïæNH‹á9þý¢mÓí´Dt ‹ýZšØ5#ÅVð[‘Xãý®³=8äÿ{G 1=:I©Â4#´kõ_Êe#Ùø¸…w¨‹äÒ+b<Í×éëÏAZÖDC°ê”zøm†”Mª 6ä«{ùMm‹|WÃâ&ø7<(æ‘ÅÞÙA¨æU=¡.5» YO¨ _9ÜÃáãßyØ*ßg±žˆDX/Ñ\¢¦³)I…ìb~7çÿÁ”Ä$ŒÍüN¡?¹ŸÛæËûܲ¡‚GZnyÿ9‰Œ1×Öqa—L7S8zW‡£ÊPðóü_\Æ3\Õ첈’Hµ#…zÁF¦¤a¾Èg8é^äk§µß¼‘*ÙýôÄÖLumÄ"Eàj¦ífVÝ{²™USø±O£nÑqãÀàÎ[ =ÔFz^[Ž¥™®1;Í ½¦kÒ[qªs̈y±*úðÙ2Cg/i#–£c-w@œ… +endstream endobj 1282 0 obj<>stream +Ð({M9RPþ{&Vbcÿ¾005yS‚=œ´4Pú´-ª . +#ÌÒ,9NX@$z²9 ça1™×|• ÃCð»Ù<»×-oì>¦×ò›¤Øì,ß°7/ëVýƒNå,<²îþîÁùq×Q‘Ž,'ŒcZ¬ÛŠ¬(0þylà·kv"àw²=:$@1d×UñeD¬z’OwÀ˜g—³Bwº\QÑPÙÀòƒX³‰÷èÁAå% ÍéOB6 #?®U†ZŽü¹ ¢M†J/P¤< +q|†y“! w±³v•·|èò8Ýi}i»_ÛÐPHûCÜàG›FÌ+ýeÏMÐEE˜aš—o·4ÞùÐ[D=†“Î,r„ê[𠉋O/Ûé!òËÏIªómøû‹&oËš«|7;ï«PGWä{bbˆíÇ’ >e^­ÝÕÎXÕO%ä­ +endstream endobj 1283 0 obj<>stream +U©DåÖÉÆ%µ´ÃŸ@ŽPÌn8+r‡ÞŸ%-M÷‹Ž`‹«:§ÓíÅ85½ÚÁ•§b¹€Ë (š“ß¼'ùÓŸ_RãÃ_Lw6vñ­e{Û^ Ê~«_¿*"¸ÿ˜©ö”›ª#I qŠË…¨ç¸Ñƒƒ@ +x¬Ø›u+}è!5êáUµÇ·Ë±ãÂ)K%Ôˆ0FÇ<5 ¸Iˆe±þ›x‚jeë§nU0¿”ª8BýòFm¡;xî™ÃäR3 Î_3Ðõ•$0^¿_µxŒdfÈ +îUà­¨²ŸŸÔx”ÍD-D«¬€óBW»| +endstream endobj 1284 0 obj<>stream +@.ÅrSÂ6±‹{µ_§6â]X%èÿëåƒnâgècN²i Nò”á;¾µ 'è„þ;M…j¾Ù’ ù Éú훈«9ã¬&Yy†¶Vèð¶ŒîÃmê‹“†–ó¡x)@ ñ=¾”šî¥V¤U%3÷WæЈ:‰°m½Î½ÌNn=VtIÏ-%Ì>ŸÍkyä…ù7hÉöS}fî;æ¨:'']¡™ëÕá2Ȥ‹ª7ª3í¤™ÏmAžHÕŽ +endstream endobj 1285 0 obj<>stream +>b¸Ì­ \yM#€(Ã<8&+`Âò)°“KE`+Å aÄ[WãžÈýäGHTzbMgh4z›.àú š.h±–¬bÓÄ0©BÙŒ^ájÅ3Ü ÏØèj-*øOýžÀÈ*W¬›÷eÊ.ý$š®žKô•ø›jt⼦+\⤈|X.Ößn9×^aîž)OžíÓ ¨qžñ½—œ¦ a3%‡ÀÖ‹qér¤V…°unà Åì,ªÈ`ö‚Wã*îä/$w©ïõ˜kú<¨½ûÇ¢#Àu>{Ê!î M¹v£˜ÁʯOÛÑðfÈj&y˜0sðÁ¶êw˾ýfÚd¸&*CyæXùíþž;`µ *¨ Eì1©ýßG?ꣻØÓ ]Å!™¯a_'Ï +endstream endobj 1286 0 obj<>stream +­x3³Ë°B/Yì£vh`XC jÿ­Í&v°wŒ—c”Ñhÿ™É^‚ül^cfѸPˆÏ˜[Ò_ú) ¢×U‚úœY4«æ9»\ BܳîÈ!ò˜ 7òxB@Tnm y‚säc¹]0!/ ŠCFY÷]Æ€pFÁ:³}”p‰€ÄÍP“?)œ'æöve›[žÓ§Šx! ˜W<ÜoX8Ãÿ×%#iPdžÜwÚãeJðôR7?[Ù¥•„½ŒD7‹ÅLšP¿oõLù;Ip  ×2òœŽr—Õf¹éEUH/ÆLë#õãV—)–šPé ìmjD¬¥ÞxÎHuË×Ú "LjÁÆpiØ‚bZsôˆCÉñäklø +endstream endobj 1287 0 obj<>stream +ÇâÁ)•ˆÒŽC yŸlɘ†øšÇ†ê°k/–¤­pŠV˜‰§›Zó!¯®ÅEw +z-$Y/Ùë±ÌšÉ´&4Qd£,9) C ”Ý¥;®ä³ŒÔ›AÒ‚Z}7ˆ¾ òNþ‘¨×1¸n +Ë:òœœUE²n8©¾‡ªìü­¿Nz€ŠJÜ +èç3L`@ðXZP›þn#£o<¼MjÃL1¼ÙßîaÇ7 3b{ZšÿÎ,u +endstream endobj 1288 0 obj<>stream +¸€ê +*spj/ÔÆ“¤à0,'ïÍ)í¤Ê¹àÖ,ÀÆT ^S}ŽðÑI•‡½í1XíD¡ K1qZYƒu/¦y\-½ Ú6šidé¶o¤¨‹ ?)|‰çE/ò0Ja‚¿$í*qšƒn“^ÃKõdÑqM'é¼}ßX©JüŠµ°gÛmvïúfìì3M ϾÎ@éø«Úeã)uÊT×°Þý§¨{X¢Ã/^ÚZØ¥Ø~‡pþî‚þ”H êú*Uô/«±Ä*§¶8ýj/îÝôŠS±Ù.Éż—ÈFšø2|EH›ë&M>ÒÍû’9'úÖ ¥¹3Ñx=P&¶æŒ_,›7‡}­——OTÙ“Úf¶)-áÀáfi¼ýˆ tCÈ¿Ã|Iñ¼?–Ô| +endstream endobj 1289 0 obj<>stream +š÷pš´½¸¤‹¡Lƒ+Ã÷mÕ%ù‘âxožæZi+5ÞÇMqo%îØ´«×Ṻ„ãÖV™ÌEó¤ê–!ér «ªo;í*ÿp4+Ùdh«Ø°ÇÊ)ó}«fÿ—ôÀY e*cÊÙv­´ÆðÌ@£²Ó °˜þ¢º®L‰1%ÃàŽM0w¸{BE5ÈXÏ „†-f<"=‘#ŠiM˜“jvA_¬ñy–*«ºQ|ʯªé¶JÝŒVijÉMÎŒ°h¾APNómˆMxF÷U¤Ð²¬M¼­W¤ ³Ôŧ +endstream endobj 1290 0 obj<>stream +lž)7Ý f/Ãu™ô”BøC–m$-dO_O¿KiÊ·¨Ï¼'³Ž¦ÒضS­ìä5S-w´ÀÌ“N×Ϋ[!aêÚ¢µGCnÕô“Sˆ«ß–j»£~­¾¯=—•Y] +endstream endobj 1291 0 obj<>stream +Ün2§î +N¥ "gaPlZ â7‡Z=e}JZ\ÃæI´ÊVD¸+WeqP¯D©û¯TÊbÜ^§O8;BÀÁfÔ}€¸*kE}s›½†_‹0õD|Á^wžŠCdóâ + ~zÑMÝî]lb8N‰°#K–Ö +eNÆ€ +“Š +‘ +endstream endobj 1292 0 obj<>stream +Ñýu««éñ”4ö¿­é™ŠÖR‹tlT¦þ³:Só%$šèÛ×Ç¥®hP•ŒAð•U€dw5Ü:×'ƒˆupZñiø‡{:ùÉRK&¦Xåu d&YtŸUí +ºVÚzóÁRr¶¦‹7KîLS§¾¯X;¼~2™õ öw°YÒ °¢¡Û’ÌÝGæÆ/Å/àˆà6YØVº#êý¹ËΖ†…ýsàí%‘Π7¼3‚±”ò>Ô I7÷ÉO£0w›ü—X>Gº=Ö½ø€UçV­‘8èR&·JècÁ£%·pÒìcÚj/mŸtµ|Zö¢õ?¸€(«‹8/¡IL4"R·¶¥ÿòÌiŒ]u\1¯Y½£ûòòT:îÀè +endstream endobj 1293 0 obj<>stream +ûùÂÌ•~U×oÓw‘]D#›«â¬=žŽöáYwE¼ƒ-êGääX°CªŸ*%1.õ”cÿHÅPvû¾E¥Á3ñ¦¶Õ25J8æ |ºsÅ+ï;óèþÕ{÷ÖÕ¶BR4PœðDEçk!=ÝGÑ?Я?mêl VÀÞ¯¥| Œ@Y¬•@Þ‰m»±Œ)+í‹£ÌY$†e;ªÅéa˜ü›þÑv%üªÐK[{b!d)übÈ-ŒÕ²ç¦Å“GòúXK6ÉÌÑ–fšÙ¤Á¯®dQ"IµÇ?ÒºqR\Ô1¼á.MåÐQȃ»‚»»aÓ;~€ŸT>ñIlµAœg‰t +endstream endobj 1294 0 obj<>stream +g™9nÏÑã5«ð­àôÓô£ÒÙ_0Š±t_MêFÐJ‰¾‘{F¾¹ÕUeýˆpøò7µ–õÄk ’¨ œ y$l=Ø{Û¸ÍÓÄR0r65òü;È€GGƒR6çƒ*lª´)í j~Ò¿¡õj9`k¿N&jµft†¢žñ¶\ ‹»¥v®×™Í±»êÚÓ”ïJ³ù +àd2ÄA½HLBú +endstream endobj 1295 0 obj<>stream +¼ï4À}tcHØ ÏÄ•EÄñ'ªÔjð.2†>>m`HBs‹MÒ+‡4À± +òƒ ×ÚpfúŒ¬•`*¡m¯Åïû‹5±2³:µäKï8…þí‹c)Tn4¢ è›ÛÎ{66–“«âÁ'Ì„÷‰®8áÝeíC9ç¥*ûKcCI–…ÛZš;Î9¤.SšÂKÀ…e8Yë6šÙþ©=â¨fì +§½LÊå÷²AÏmâ=S|ö@y4k€˜é«uÑŽ½Ü†å%ñqþÓw‘ü +endstream endobj 1296 0 obj<>stream +l}QŒ•ºÙ^4Ï6q’P9*{t>º™Âbt–ÉÔ¶mÍ‘¹fàºÑòÛ-÷Dæ¯!”„w+©Š¶Áõ›Ù·ÕâØÿM­ô_FÏ&¼ýÏòø‹hG‘Áß C~þ8ÆŽ©¯±û²Ù3]D’¥I«?búküÞ:õËÓë)`P5Xaש7ËûÖGÇÿ‘L‹S¾ UHÝ‚ ɶ”ûˆ]ùá˜ÆT¯.u7T‹þAshm«¤É4ÿòæžmÉûÚ¼Å6€x Ry­ Œû‡ú™‹ñ횸æs‹! hd´k’6óNÐ} ë :±,ÄG +endstream endobj 1297 0 obj<>stream +ž¶øhÛâÏÒ×ÏG¸6 ®Ö¨ÛÖBž üÄèÆžHþVû­P¼A4Ì%d`öj‚۫〬p¼ÊdïráUJÇJ¨£Ûp'œ¹ó#4m+äœx=ã™SJúi.è”%×ÔvªáÂK…塳¹‚.ƒ¼8ä2§ìJuªîS»kÄd9ã +ãͳ5nëÊæžúë0` iQÓH³œ¿-ÛËiæŠ1!\÷¨.¯·6¼È*´ð,¹›ñ~ýßá’ân´Æñ¤SDaëa'íQÖf³kÁÙ÷ +endstream endobj 1298 0 obj<>stream +žmÆ$în—(ºÊëDœtzwE …ñ„I²—â<2{6çHÃU_âRf’=dÿwý(¿n ( ÿ^Üët01~_e—ª=€úqo^$š=1}…—Jƒ–ÐPºš:1@@Êý8!,ÚÞ¦èÌbÜV䜵#„\ý!¹¿í—‹• oÒºGþõfe¥}(ñ#°ïXÇõøgbï¸Bôœðä{­Î‘/Æ°Z¶Býa˜ãªØ»W¥û%‡JŸĒq:-Óú#Çòß~ +endstream endobj 1299 0 obj<>stream +ZúÌÃÕ•pû ‰`žèó_ñAèN… Æcá#÷Li‚–ƒIá‘GÊ š×½n´ÝïýX/þÆ°p²^I ÐÐ/‡B½¨¾¡ô¸ãoœ\Íø¸ô¿h“{÷Ö8ªÐf¶X_¥/mðÐ{8jtßâ]˜ ^qtØëù@Š¢sôñ°_•É?ëò|9R’[B¦ŽL°Øª§¾ÐQ„{@^¤ÇÒïÁ׈c’ @ÑK3†œõ¸£öhSRCâà+¢Á@îÅ*\>ä¹ +endstream endobj 1300 0 obj<>stream +_%Ìxšªª,Úã½v&N>stream +X:܆b ž91H»ðq…ÆJ%S_ û_~B)£-&Ï¢ê;¹{Y¿d—V„ùsi:A€·MÔ‡ªK‡=°¨”AB£]^â‰wFÛ,ÅžB~A{gdNK9e³"ÀÅó¸+…T²u‰ãÌÜ»‹%%È„žû³¤¨^Î1÷¶Ý‡Á6n‡MªxÙbÍ©}mæ÷’3½žV#>stream +§óËkãÒÞñç]m‚bKpüÛišˆ²CmCØšKþºõ'IÙzöûǧVûÃù-W,öåOG÷IuÉæS—»?e¬§*hÅç4ýQUÀ´]¯(ÈÕ½EZ¤¤y=Wõ4§à;©Ý‘©up<ÓWšškºv#7KsE¼<ÀmÀÑFè˶ŸÒžŸ«Ô)4\¨bîNÔ´ö”ü&¿ÄÍÓ|ݹ>j¾•øÄ` 09¸0è—TŸcäxÐØøËê©{Vs ¶¡.ÎK¨êÈ…{þEm韆dƳÃb;¹¿¼ +êØáKn +endstream endobj 1303 0 obj<>stream +´ÏU…)ºÛ=õj9LhVk´5†H*Æ J`I3­+÷~Ǩ>QFߘáÚ#D†¾‘Û¿uÿ©×QD´ámcà=Zâ߇(žB/L˜yršèʈª†[œbvË÷½)C”{·I æ…ycÍ +Ï벧`IíÙgw¤ +MëmJ "¤¢Emø|«@ +M‡T£PÓ°° ƒF¦aÓðÜî„Wš®AÏ®âêÎ ÄvÔŽÒg‘Ç0šãH1`ô7>ò°áø #éÙ!”¾,*p5ÆU¶ÞÓÌ´[EîÐ^‚Æ{ˆ[OžA¬4aãã 6D3™ Ùšç×ê›KgÄUEËU +endstream endobj 1304 0 obj<>stream +Ù ¹È käLÝðEOtx Cjêêê@osûÇR5Ðn‚— +œ€óÎï¸éH +{®ÚÿŽŸVÒØgw]Ð8"wÆš~ +W–”äž1 )(k g–²ð‡¸ºáM¾Õ:Í‘²Z‘4̾HíŽÊÊsxüQŧð’µW’&º IÒ+ë %¹áäÊp*°Œb 2Ÿ¨Në@¬ñ¸ï¡N^˜_áEBÏØŠ ~‹Ò«¢SK£K¨ÿþúÞþFTýŒ?PE”F‡˜â= +endstream endobj 1305 0 obj<>stream +Ýn"Âé,±C%E ™¡åÛÕ1Tù¯Ä† „L$?&™ÖŽ)Hy õà(GN›t …V‚wÿöÐh_àÆߊÇËK4Ô‘0 À°bþÓUF$b]¬ÈJnl2dX2õmËñu9e%Y§Tg¾ Qt¦ÝÓ»(|@Sb•oxD"È?êÜ ^Ê™¿^Léè¾`§SÑ((¾:OÖÜ_0.C9jòöÓáÃyN$OŒœÎ.v¥–~ªL»‡¿&ƒ8^¨6xTŽ—©[¬))Z¾o]ÌcæÕ‹Œ™O_äg"z7$à·´–˜ói[v8£‹.ÒM½(²]ÈW(åaF£°ˆHKÉÑW{ñrƒÔ¢;ÚÞmì¬J ¼ê’yœžœd¹´uiv Ô–8³  +endstream endobj 1306 0 obj<>stream +Ãè»ô M‰í< P–—Ö­R?raoJ×ǵŠ¬„p·ã‚¬ÍîÒN »ßÀÖêx)8ª–8bgÈÇ®.€ŠºœJÀ–À.ý€&LMÜ¥Í*?æjÙ¶$'~†Fn|±,`°tëÕ×èKúz|oaÊYFS« un²“¦U|„kU˜à+ª4 þ!ãÌV¤±\ÁÁ;aª“R} D(ܵXýü|áý»E<º*ÓéGSpß=*µì¢Æ)äˆü³ÜÐr½GIºž˜ëˆ¦uI½â­ª©ô&Wâ^Íí4j,@ÃÞ~300ó$h4›ˆpâóÅ^·Œ†˜nKñJ á*UWáPvZjcÉ&*aËj +endstream endobj 1307 0 obj<>stream +> ¦‰l„“ÑÃ{#Î%îj_¹÷¬y$ှ3wb\,ÄÚñôÿLÀƒT»â‚F¶(îÿó4Äÿwô I1Ä`e¸ïh1‰´}>¯ +TºL’¶«¦rT½x L$I3¥,{²Ä»²O,Q8ì»g7¼Ljt']À©™†³€@~–ýŠñ½MP¼ú:]Fä·ûîë˜*ô[Ëô ÀÎ øK®^易Zê3e¥{°×ÁÐ$Ù!ÍÃpp\> ƒ&>:¬áó#¸Iª' á¤ÿ4‡%Ó$RÏÐò™ /·h(–óãäåkõM7Ÿ-ì[J§ܸo«ýöXvzî·Ç> ÙÚ™‘MÃ>stream +NhtZ©F$2P蚸ڻÓ½wõ§p#}`?IÏèDЩød©C ÊMörc‰ÂÎðø hµ«|9…4zB‚’pbdŽËHP×Ô÷š½9ˆªÀ<˜¸Ót CW&òX:é&“}rŒÝíB÷Ô¡Nkd'3Ô^ì·.Ž-’HDŸiì{Å ­Â‚ùoÄBãØw/´9jû»R¬2P5fæX[¼/‡û¡̽áN<ÓÝ~cœ/VéýÉ›(~$ž»Ö4×=•-ï1vîZ¢õÀ®>stream + #…-+åݨîï,‘ƒïÖÚ?-~“Á‡ðÄËêÊÖwaú>•áôk¨|žPófM'»üV/;¾1Ìç âl¦]ŒUT•oÙ'6» + +PÖ;ÕCeÒþô +¿BÈåZ‡­‡>øm[ñí™ùQݥݰ* Šúœý¼31ýÞD&}×3úÈPùRÏÓ[tè¾µ¬VDtúœ¥ã̲WvUIâM÷¢¢<Ò@ußå.àÇí`žÝRç¾çÆò"ów³Pçy“®uGß—òMð‡ZL6囀$)(èŒpË¿~ð>“AøØYú”ˆyeçmÍ9»•Õ[º±ÃEòâܳölr ±$ÏZíEë¾ »#„¼"Od|=›o§äiþ6eÍ ?gÖ;Ê™†wmÝç‹ïS¨‚ +endstream endobj 1310 0 obj<>stream +/‹¦%{g^—dYÑ+晾i¹ÆÞ¸qäº%~uURgïçû9«ÜˆVÂÛ™Ïkµ· Íé7¿\Û£õá@®Œ„*!ÏÔû}VƒØb!Ðíظu¼ä‡¹cKÊWÏ odpáÍ{ÙžMÐxŒ(èHý˜À”óvN*ȃ0ßcëÅpR“a5ƒ^çª(SttÃo ¡ëwŽx›œù‡d.}Ÿ•´°»Ÿ˜H!ñN÷J•ï3Ö²÷1ol¦á5&eÈÛïOeï1ÔTlç÷—Ôš‡8ûHÜã¬TÅü]¿ñ[)H‹³h,U<~t‹5kXP]I]@ÇwÃt·Ûy£ÑìœÖ5,ÖýÙü÷ c1¨†ÎeL“zÈOI•ž ‹ÞGþ»ØeºÁùP…ùl +endstream endobj 1311 0 obj<>stream +MZÎýŠï +s7.wNú9™0T_¤û=µ‡ªͲMLË»ðà[6 È+߶̸©Yyë`p…¿@âišÓ™K Ñ¡Fbç @º„­a±øÕRd¶Ç‰m[qÒÛwì*,qEQl³vw$ø7Ý”-£§bûM¨[#2ñ˜r†¨ÀOÉTYØgÌj”µ°x“ÐÿÒ¸õóPò‚Tú*uþ?O–ï8[*ü½ÙÇcÓÁ-˜'ù×ÞvÓ„Jˆö5›ñWãŸËt5ˆñ 4?«¾X¹2ø³2Iè”ÞøÐ//3hïüQuÊ”¬Ä£Êèý˜¶æ蓪,lpò <Àçg9åòþó +endstream endobj 1312 0 obj<>stream +žÌèÒ‹¹² X-ºHÝÙ:åêüY¯NФj?ÎÛÁ +βY Š­K?Qn~Jˆ)+­D€²ds-v_™´¼}˜>š‹0_ÎtEé¿—TA3y}¦Ð4°ÖŽ +x*ó—È&»é»â™7Ó\ÕàÖ©MÁgà†ˆ¦69"Ò‹›b·ª¼™t¥Á2PÆ*§Âê«°Ÿ6oçL{,§OY p®dÚö@VFm]ˆÑi-ËÞ€Ór~ŒÜ8${Çïߊôc]Û{ÀsVnÙ2*E zäi‰žÞóHTZ*Ž¶ºeéP%œ‚ýßI¢-n£ŠN‘aÌL’ïÛG5˜$iôô„êmJEuV= ºǵVýñª¬€–Êó²¹mÌù²¤ìï¿–p»¯ì=KÙû5.g·Ýìél§ètÛ…W ìÖúö8¬E +endstream endobj 1313 0 obj<>stream +~Ç̲ͦCJÒv„Õ2ð§ÅÑ´Œ"£hð‰N„Š:›/ê'4¤q:— GŒw­E»Z௩¤ èÑvU;}òE pãD¹—: +÷-GTy)\È)è'§]4±U»±Å:>aHI¥Å­Qpè@¶tXiúëØÛ¬™Ø@AŸØƒ‡ßðÖ’ËEæÕ3YUî‰äò¹­T‡¿•@/.…˜ö¶ã±í9Ëè^ºó8Æwac£ÖqÓÚ÷xá,Ìü¼üçJý⹆q1o£ñ+N»(ÿ¬t#Ù³¶h½\[©œ 0ªÏ—F,oሣxœ +#ƒ› ãêôÁ!†ä•§%@ŸfÝ.Uˆ˜1îÙK>stream +Q^{bØL‚§Pá©nÐø³+ÆòNcÿQ„qUì®ð¦©˜Öýw<Æ?!£æðrS§íæE²¦ÀšWL¶}Z–e’j#ôa˜ ;η#2®XNb'V-¾³`;¿Äü ÿDèÊe½„¤ gDmf½dHÂX_/1¸g›]ñ$ (Å-Úèºú“øžw·¾ :&Æ«Ä"JS\êÚ‰gUû¸9´ƒØæðDªiÀaÛ9Dª¨£Â6½• R¶^ÐHLžËÉClŒé[±u6mÔéÀÉK¿5 ùêF[fì!€£œêZF£ý +endstream endobj 1315 0 obj<>stream +9LGV.ØùîÔ§\›Ÿ¦­w°ÞšÊé†Åm +¶—=c¨B·àhc—²s¢%{ììÕ íùi4—0ˆ6¸ÿF°z¬^³¾ZËÐЦ¼«Òª­‰ FÏL\3‡ï !ƒ¶#Š¤öR4:¸f–T[jTðÜ„D=m +_Í#‘2sTŠËçÈ—·jS[}kõï—͈z¸ÉÞhc[2Únô"6‹ãûéý&tKw;¾“ê5ÛžmY„ƒy~ +endstream endobj 1316 0 obj<>stream +´k¯8ÛËÖá1[Øe£ êtÕãÈg]ÎA D.tXÖilüš@c‹‡œØ•ÁÒÄ’¡ÌfÐ.Ÿáœk:»^ÔÊ«ÿëè.;#®¯è5óön‹iMȾß ¯4mX]%¤¡ÚˆG„Á=ô"Ó=Úkê§ö } +u Üô„ ŠWµÒa®µBDøæÏÀq±Sæì,r¹¨{ø F>stream +>ÅÆ(ïÃ7öÇ Á|.W‚<á‚—(žröŸ“d +ã;n‘ø¢ú>l~rSƒ…†KÌe¿ª9nYyÑÌ´({•¼ Ÿ¾v¢Ü›¨t¸ÂyK|Ÿ^4k=ÑW,\,´Ø‘ YÔ‹°+…/üNHÖßÛóî±>w\­éÀX³0+æ,6×Ój!þçRW·Ïj2UAx}wZOJûH%fÕY'ÅT± ât…É”Ã@B&IÉ“ +ù­{V NïK4FNÃý™†è¨ŸA;˜‡h&äÀ"—7«M–Õß'.¹ßœ’ý]²œ†ÊÓ<¾™aš‘P$ÂH@±°ººGÑ +endstream endobj 1318 0 obj<>stream +â8ßV9ž7ö¨q£1™?íY~É%ÔSš0ß [¡[Ò•Õ@[„S×µït ÉqÏËHMÇS‘‹s¶«*6$—È¥éE·“Í‹Gû6l™qFô—\B€È!ëÚO8ÕÌAêÈ%ÇEÿ!Þ¸°=[mºm›Fÿ"TY2'—K!Y€ûŠßÀkÊ»PýÎÿÁBØhΪnпg; ñ ¹qÿ«l>stream +i–ðë×ÝJ"k­bŽD}ˆÙºŽQ ÜâØù­K.~9ã®,?¨Ò§ƒµñd9'èìß‚ôZU@¸Ål”¨;!ÂU—[:l"[ U•9ªÞqõ{E)–¥jËT«$µ¿ËëÎ:Ü®eLYÏ*ãJª‰aÒ-Á³„Ã)ˆ{Vûxžâ‚K³¯éU”3ä¿nž:µ¥È$åó9 )¤w •zæÿŽg1`Ž°#ÉËT +endstream endobj 1320 0 obj<>stream +áI| WÓãÚÜ,€©c +Â([°øsGÿHÐRèç1¢Ž@ør%P'N¥yÏ«qØ 0¶î5Æä“ƒÉ +¥çlW_±ÔyxÒ¤—'.ûh$ ô8,CÆcŽw R"ßrÎÜîÈcLåMap?ÅjÂ’ô¨%…¨Ò'þ žTaZäÝ{³ìÈ7æ)8{Çt¼MãžšÏ€ï“ +ža/ çÜtåC|áÌì ^XXô ¯gÖÇŠ#wTZ +endstream endobj 1321 0 obj<>stream +c|7N¦üŽ«³YNtâ¡#µ-UW ¶ŠŸjk¹ï­k÷Äã¥NÓ·º[™}îqÑý:R«Ä1ôUv€Ã¥Y· ’ÇÑÂÖ Ås yxlë ç?8¹`q¬@ ëûÏE`O.p¤Gf §…ºŠ¢ð¤¢ñÊ÷ò3 RÕ ) M¢jj9/¨ s0¢ßÛž¯:jëà•ÿ}VpãDk§sÿ0i%KCÛF«6”Æ$‚=åÿŽ°ÚÇ¥ÕJæ@È,ž1W2™ðÙ„J½0ב«Í +endstream endobj 1322 0 obj<>stream +ýù¾ß]F~¶þÖn^˜ýÍîµ`¥–Yþ? fš@™învë£ü>’Ò¥ïºÚOh“N5 ƒ;1,†§ ¤iÚûÖÉkÏqáeL˜»8€×ŽÀØx!I;zû_b¹ãC;~¶Í²ý ©@n%*¶D©RP$SÓ1‰A¨¤µì¥ŠSªb3Ë‚ÊÚŠ«ZÁk,²Ry¿VÆ@r¹+ü8-×d¦ö‰¾AðuR;“ßùnÖÈ”Hk¿Ü–ˆXg^ßd×ùK¡8 +± ÜN¤Çª‘qüƉ3&³‚½™o©JZ +endstream endobj 1323 0 obj<>stream +;c>˜¹ÒîG ªû—x~÷´»DzZØn„§7ÉŸäB_eõ¥Å¹Ž4t÷ÚÃKŒL¢n†È” ¾[‹ÊíÊyW{àÜ$ëu.–ßX×@¶yL¨`J¬A,ÔHÊÏ08õ‚¯~ +endstream endobj 1324 0 obj<>stream +þmÀî!;i×•Ø +| ªPCìÓ¯‹š)"×Ûlù>stream +k*ç .®ä’žíÑ&J.YŠ™‡B•mbœ&¿_Ö‹VùMÔ.oTójÁ¾ÐÁdcb+/Ò°å‹'§P´n†#³þŠ1.10~zå‹ïÂÓH¼Æ§})ߨ:¾k2Ø:¼TÌ'b+–9_ëÅ)|í›ÂãOÖnL¶SC˜15<à¸h@¨ æ犋oK2&¥Ú•¹ˆ˜ãÂHåþ>pSJ\ i +!×çæ‚nÐ$”Ôä—»eä¯×7Úi°¼t–Û˜Ÿ5S"? P((wiuÔôZ,­f6Í#71‘i€’ ýP1ç˜:é+?O(Ïþa ÛVÉüMñU¿œ‡rmPY;Ò€£moéÒ9FõÄ›[„`<4VãšçÁgS=€–ÂÉjÖâUÖµª3 ÷Îá|xñèRÀφ +endstream endobj 1326 0 obj<>stream +ûníýºp‡˜h8@½”íÜŒ*E5Hä™65!l7:Q™÷K6áÚœáëO JˆCúa·\PƒôpÝr]݇–†!"irtd(I{Øþa ­,IÊ“§jÀX¯«Ù«Iõþí³:™[þˆ,uÈËÿ´DÇÃG¤Ñ„ÏŽÂI Êd¢†µ0°X??ë†\Lœ·âÞ.h`“C9’ÔOç.èµ3¥áeÕz‡“…ùžÜû¸©”üy²¥&P½jXV-™§<Þ)ÉO· +fg ÊèiãÃ<1W¾Å‘Ú¬¥À_Ï_G¡b„ PÐ#£°ö– p8bHÌ•sâñèKl W³¢$’²e´Z® +endstream endobj 1327 0 obj<>stream +ÿ`Hø @ú‘¤Ë‘L´Q’ ’†oCA¯më âá2á W RW6¶#ÕŸóä‚Zçb=’‰9ožvì® ¯sò“"ØjMÄN£ŠçÖ‡½?m|¾fþOPHU—±ß?áG?FÔ¤Öৠ¬ké3ìeã¤xD„`æƒ5ëûüÑ?Ïù-: MÝŸ*ûé a,ìUEP~ +Y>Þ"YÒ +endstream endobj 1328 0 obj<>stream +㔟5¹~å[T½û#özØþ?ö!TKQ\ÆZábøT3ãŸ$þSÏš( - 'êf^QºPì7ö/ F¢‹öN1Q[`Z»öº.âH1œŠš²aÜ«º\Ç]Ty²z§r5tÈ· + ]ÖE¬`0ò+/ :©i¬µ\ ®ùÒçÉ#åoap­¬äà“&µüÎñs;¹²ºK(Cíÿ"Τtt Ý ¼7è8`|ýµNí^ëep^T»|ìÿ4«‡HgäÏc!®í±¢g¾_µrèÍ@z±çºM@Ë“`ž»]ÂT?ÌòéæUB#aÊjж6ò%ÍA*…_œÉÊŽ: v\€óx9Þ +endstream endobj 1329 0 obj<>stream +~ ÍG Öv0fÍ^Ãñ`ÀŽ–\]=• üöYÑ>gh«r)%°”Ú‡ Ø—Îspz=W®~¬Ùˆžzw!0‘ÍPT„•L{¸)~nÁ 5ëà:ˆfÅ)_—ê“ ¬‚ý$Ê2âžÍúãde«ÒŸÕºr7”XY>stream +ÉT—¥Ÿ~¡9dP©ºMR š‚™IÔ/¹mó—´û½Ä½§ ™çéç¯ÉîhB”îó­žt…ó%6ÆÜ„©«¦H5ΞÛÄ凎á-4—îÿ÷&p>FÓ¦VcŠ½U«îu*ôï’Ë¥ÔX ö60fL#ô/:,Åÿ¿´øí‚{ˆmêÃÑÄÑ +â`U"Œ'`÷Þ!?8=uÚÔpa­‡õã룀`?õVF=£i®ã¼ ë7öÁ4EõÑ*ÉXšëÜZ®ïXÜ +endstream endobj 1331 0 obj<>stream +Óo#©~=Ž$bĬˆ¾×1ò£ÜPcéJ{/ÆMØÁ" ¸µ6TÒ­¥Ã ËÈ ,&˜g/96†Ubá•×©¡n’•{‚eHŽQNÈ$­‹IÁmâ”3‘­ƒZ±¡üWR¨Š#4`»N¢ŸqBÝ»HVÁí +ó‘@ÎzÅí=¯¶†+N“†-Õwóåé¸ñø¡­Uµþ.COY^¡žÆå‹Ƕ­«î¡8zÀ¢­ÑÏ.o$ï£Ê¡`q‚w ܼÊt‘´ErgµÌdÍc ~Z¿šØvY +endstream endobj 1332 0 obj<>stream +r¢}ùmP +ì¸è* 6[Ëù òóÀÚÙ`˜‘GÀ n¡c;â>ÀÛ]ødU9ÊoEdÎþ6•©k¶1^íæ$ã-×dò=·V¸H`tM§=6ŒpQi!tÎÐ?„’÷iÍ‘E¶ß+îÕ}­V„.3Ó×KqK¿ +endstream endobj 1333 0 obj<>stream +ÈÑ ƒIda‡¾Ñ¬éòp~Æô®ÎPÑÁ#ÇNå³/å)sNÄU>S¾é14™Å<¡&R…@6%µPØ„€7è\m€éñÊf8Ám(‡ªhþ£BŠ‘±ëðlCñ +endstream endobj 1334 0 obj<>stream +¶o1Háh<1Ox-|}#é»ð÷×ß3¬x³™_c!&ÑbÙÝF%ßmÁà„ÉéàO˜€.Ÿ>ÒPè âBõ*ó÷L˜V‹uoÖbg}bø™U^vã«÷é»x²\“öäî…V(‹‡ ”åæd;'9ôç J¶Ôó +endstream endobj 1335 0 obj<> endobj 1336 0 obj<> endobj 1337 0 obj<> endobj 1338 0 obj<> endobj 1339 0 obj<> endobj 1340 0 obj<> endobj 1341 0 obj<> endobj 1342 0 obj<> endobj 1343 0 obj<> endobj 1344 0 obj<> endobj 1345 0 obj<> endobj 1346 0 obj<> endobj 1347 0 obj<> endobj 1348 0 obj<> endobj 1349 0 obj<> endobj 1350 0 obj<> endobj 1351 0 obj<> endobj 1352 0 obj<> endobj 1353 0 obj<> endobj 1354 0 obj<> endobj 1355 0 obj<> endobj 1356 0 obj<> endobj 1357 0 obj<> endobj 1358 0 obj<> endobj 1359 0 obj<> endobj 1360 0 obj<> endobj 1361 0 obj<> endobj 1362 0 obj<> endobj 1363 0 obj<> endobj 1364 0 obj<> endobj 1365 0 obj<> endobj 1366 0 obj<> endobj 1367 0 obj<> endobj 1368 0 obj<> endobj 1369 0 obj<> endobj 1370 0 obj<>stream + + + + + + + +ES 201 873-1 - V4.4.1 - Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core LanguageMTSES 201 873-1 - V4.4.1 + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 1371 0 obj<> endobj xref +0 1372 +0000000000 65535 f +0000095124 00000 n +0000095293 00000 n +0000095423 00000 n +0000095577 00000 n +0000095736 00000 n +0000095886 00000 n +0000099486 00000 n +0000099629 00000 n +0000099790 00000 n +0000103764 00000 n +0000103910 00000 n +0000104060 00000 n +0000108648 00000 n +0000108794 00000 n +0000108955 00000 n +0000113111 00000 n +0000113257 00000 n +0000113407 00000 n +0000117236 00000 n +0000117382 00000 n +0000117554 00000 n +0000121488 00000 n +0000121634 00000 n +0000121806 00000 n +0000125584 00000 n +0000125730 00000 n +0000125902 00000 n +0000129800 00000 n +0000129946 00000 n +0000130129 00000 n +0000132566 00000 n +0000132727 00000 n +0000132867 00000 n +0000133040 00000 n +0000136117 00000 n +0000136278 00000 n +0000136416 00000 n +0000136567 00000 n +0000141795 00000 n +0000141941 00000 n +0000142092 00000 n +0000145814 00000 n +0000145960 00000 n +0000146122 00000 n +0000151510 00000 n +0000151656 00000 n +0000151817 00000 n +0000157379 00000 n +0000157525 00000 n +0000157697 00000 n +0000163645 00000 n +0000163791 00000 n +0000163964 00000 n +0000168562 00000 n +0000168708 00000 n +0000168872 00000 n +0000173538 00000 n +0000173684 00000 n +0000173858 00000 n +0000182225 00000 n +0000182371 00000 n +0000182533 00000 n +0000186763 00000 n +0000186909 00000 n +0000187082 00000 n +0000193572 00000 n +0000193718 00000 n +0000193881 00000 n +0000197798 00000 n +0000197839 00000 n +0000197895 00000 n +0000198030 00000 n +0000198063 00000 n +0000198344 00000 n +0000198490 00000 n +0000198665 00000 n +0000201604 00000 n +0000201750 00000 n +0000201925 00000 n +0000205076 00000 n +0000205222 00000 n +0000205409 00000 n +0000210980 00000 n +0000211126 00000 n +0000211351 00000 n +0000217494 00000 n +0000217640 00000 n +0000217816 00000 n +0000220536 00000 n +0000220682 00000 n +0000220894 00000 n +0000226061 00000 n +0000226207 00000 n +0000226419 00000 n +0000229847 00000 n +0000229993 00000 n +0000230205 00000 n +0000233661 00000 n +0000233808 00000 n +0000233982 00000 n +0000239138 00000 n +0000239287 00000 n +0000239464 00000 n +0000241600 00000 n +0000241749 00000 n +0000241938 00000 n +0000245979 00000 n +0000246128 00000 n +0000246326 00000 n +0000252256 00000 n +0000252298 00000 n +0000252356 00000 n +0000252517 00000 n +0000252554 00000 n +0000252703 00000 n +0000252890 00000 n +0000257318 00000 n +0000257467 00000 n +0000257706 00000 n +0000262955 00000 n +0000263385 00000 n +0000263427 00000 n +0000263487 00000 n +0000263748 00000 n +0000263787 00000 n +0000264071 00000 n +0000264490 00000 n +0000264639 00000 n +0000264815 00000 n +0000268705 00000 n +0000268854 00000 n +0000269030 00000 n +0000274177 00000 n +0000274326 00000 n +0000274502 00000 n +0000278964 00000 n +0000279113 00000 n +0000279289 00000 n +0000282332 00000 n +0000282481 00000 n +0000282645 00000 n +0000286246 00000 n +0000286395 00000 n +0000286571 00000 n +0000289384 00000 n +0000289533 00000 n +0000289733 00000 n +0000292947 00000 n +0000293096 00000 n +0000293272 00000 n +0000296103 00000 n +0000296252 00000 n +0000296439 00000 n +0000301645 00000 n +0000301794 00000 n +0000301958 00000 n +0000304454 00000 n +0000304603 00000 n +0000304803 00000 n +0000307888 00000 n +0000308037 00000 n +0000308213 00000 n +0000313026 00000 n +0000313175 00000 n +0000313362 00000 n +0000316825 00000 n +0000316974 00000 n +0000317150 00000 n +0000321648 00000 n +0000321797 00000 n +0000321961 00000 n +0000326821 00000 n +0000326970 00000 n +0000327168 00000 n +0000333437 00000 n +0000333586 00000 n +0000333776 00000 n +0000336629 00000 n +0000336778 00000 n +0000336980 00000 n +0000341827 00000 n +0000341976 00000 n +0000342200 00000 n +0000346433 00000 n +0000346582 00000 n +0000346759 00000 n +0000350458 00000 n +0000350607 00000 n +0000350831 00000 n +0000355847 00000 n +0000355996 00000 n +0000356173 00000 n +0000358509 00000 n +0000358658 00000 n +0000358882 00000 n +0000364238 00000 n +0000364387 00000 n +0000364575 00000 n +0000367247 00000 n +0000367396 00000 n +0000367583 00000 n +0000371537 00000 n +0000371686 00000 n +0000371873 00000 n +0000375729 00000 n +0000375878 00000 n +0000376042 00000 n +0000377900 00000 n +0000378049 00000 n +0000378225 00000 n +0000381265 00000 n +0000381414 00000 n +0000381590 00000 n +0000384953 00000 n +0000385102 00000 n +0000385278 00000 n +0000388156 00000 n +0000388305 00000 n +0000388481 00000 n +0000391588 00000 n +0000391737 00000 n +0000391924 00000 n +0000395225 00000 n +0000395374 00000 n +0000395561 00000 n +0000398312 00000 n +0000398461 00000 n +0000398648 00000 n +0000402842 00000 n +0000402991 00000 n +0000403193 00000 n +0000406893 00000 n +0000407042 00000 n +0000407207 00000 n +0000411761 00000 n +0000411910 00000 n +0000412086 00000 n +0000417309 00000 n +0000417458 00000 n +0000417658 00000 n +0000424067 00000 n +0000424216 00000 n +0000424405 00000 n +0000428116 00000 n +0000428265 00000 n +0000428452 00000 n +0000432028 00000 n +0000432177 00000 n +0000432364 00000 n +0000435743 00000 n +0000435892 00000 n +0000436079 00000 n +0000440258 00000 n +0000440407 00000 n +0000440631 00000 n +0000445445 00000 n +0000445594 00000 n +0000445796 00000 n +0000450107 00000 n +0000450256 00000 n +0000450458 00000 n +0000455101 00000 n +0000455250 00000 n +0000455452 00000 n +0000459802 00000 n +0000459951 00000 n +0000460164 00000 n +0000464325 00000 n +0000464474 00000 n +0000464661 00000 n +0000469361 00000 n +0000469510 00000 n +0000469723 00000 n +0000474582 00000 n +0000474731 00000 n +0000474917 00000 n +0000481659 00000 n +0000481808 00000 n +0000481985 00000 n +0000484975 00000 n +0000485124 00000 n +0000485288 00000 n +0000487238 00000 n +0000487387 00000 n +0000487563 00000 n +0000490677 00000 n +0000490826 00000 n +0000491028 00000 n +0000494650 00000 n +0000494799 00000 n +0000495001 00000 n +0000499510 00000 n +0000499659 00000 n +0000499861 00000 n +0000503953 00000 n +0000504102 00000 n +0000504339 00000 n +0000511002 00000 n +0000511151 00000 n +0000511366 00000 n +0000516190 00000 n +0000516339 00000 n +0000516528 00000 n +0000518938 00000 n +0000519087 00000 n +0000519289 00000 n +0000523505 00000 n +0000523654 00000 n +0000523856 00000 n +0000528568 00000 n +0000528717 00000 n +0000528904 00000 n +0000533027 00000 n +0000533176 00000 n +0000533363 00000 n +0000538859 00000 n +0000539008 00000 n +0000539160 00000 n +0000543486 00000 n +0000543635 00000 n +0000543798 00000 n +0000550309 00000 n +0000550458 00000 n +0000550658 00000 n +0000554321 00000 n +0000554470 00000 n +0000554672 00000 n +0000559534 00000 n +0000559683 00000 n +0000559907 00000 n +0000564494 00000 n +0000564643 00000 n +0000564845 00000 n +0000570412 00000 n +0000570561 00000 n +0000570750 00000 n +0000574474 00000 n +0000574623 00000 n +0000574836 00000 n +0000580445 00000 n +0000580594 00000 n +0000580794 00000 n +0000584704 00000 n +0000584853 00000 n +0000585042 00000 n +0000588814 00000 n +0000588963 00000 n +0000589152 00000 n +0000594253 00000 n +0000594402 00000 n +0000594579 00000 n +0000596459 00000 n +0000596608 00000 n +0000596821 00000 n +0000600890 00000 n +0000601039 00000 n +0000601252 00000 n +0000606439 00000 n +0000606588 00000 n +0000606789 00000 n +0000611293 00000 n +0000611442 00000 n +0000611619 00000 n +0000613597 00000 n +0000613746 00000 n +0000613922 00000 n +0000617533 00000 n +0000617682 00000 n +0000617858 00000 n +0000623020 00000 n +0000623169 00000 n +0000623345 00000 n +0000626585 00000 n +0000626734 00000 n +0000626946 00000 n +0000629718 00000 n +0000629867 00000 n +0000630069 00000 n +0000638536 00000 n +0000638685 00000 n +0000638922 00000 n +0000642283 00000 n +0000642432 00000 n +0000642669 00000 n +0000645984 00000 n +0000646133 00000 n +0000646348 00000 n +0000652496 00000 n +0000652645 00000 n +0000652834 00000 n +0000657316 00000 n +0000657465 00000 n +0000657667 00000 n +0000660732 00000 n +0000660881 00000 n +0000661070 00000 n +0000665222 00000 n +0000665371 00000 n +0000665547 00000 n +0000668185 00000 n +0000668334 00000 n +0000668547 00000 n +0000674077 00000 n +0000674226 00000 n +0000674428 00000 n +0000677769 00000 n +0000677918 00000 n +0000678107 00000 n +0000684640 00000 n +0000684789 00000 n +0000684991 00000 n +0000688348 00000 n +0000688497 00000 n +0000688699 00000 n +0000693653 00000 n +0000693802 00000 n +0000694015 00000 n +0000699397 00000 n +0000699546 00000 n +0000699734 00000 n +0000703699 00000 n +0000703848 00000 n +0000704050 00000 n +0000709851 00000 n +0000710000 00000 n +0000710213 00000 n +0000714685 00000 n +0000714834 00000 n +0000715034 00000 n +0000719198 00000 n +0000719347 00000 n +0000719487 00000 n +0000726794 00000 n +0000726943 00000 n +0000727095 00000 n +0000733512 00000 n +0000733661 00000 n +0000733885 00000 n +0000738236 00000 n +0000738385 00000 n +0000738598 00000 n +0000742582 00000 n +0000742731 00000 n +0000742933 00000 n +0000747126 00000 n +0000747275 00000 n +0000747488 00000 n +0000751217 00000 n +0000751366 00000 n +0000751579 00000 n +0000755008 00000 n +0000755157 00000 n +0000755359 00000 n +0000759036 00000 n +0000759185 00000 n +0000759374 00000 n +0000763945 00000 n +0000764094 00000 n +0000764296 00000 n +0000769455 00000 n +0000769604 00000 n +0000769804 00000 n +0000773444 00000 n +0000773593 00000 n +0000773795 00000 n +0000777536 00000 n +0000777685 00000 n +0000777887 00000 n +0000784796 00000 n +0000784945 00000 n +0000785144 00000 n +0000792146 00000 n +0000792295 00000 n +0000792468 00000 n +0000798049 00000 n +0000798198 00000 n +0000798387 00000 n +0000801819 00000 n +0000801968 00000 n +0000802157 00000 n +0000805638 00000 n +0000805787 00000 n +0000805989 00000 n +0000810100 00000 n +0000810249 00000 n +0000810438 00000 n +0000812789 00000 n +0000812938 00000 n +0000813140 00000 n +0000819492 00000 n +0000819641 00000 n +0000819818 00000 n +0000823391 00000 n +0000823540 00000 n +0000823753 00000 n +0000828553 00000 n +0000828702 00000 n +0000828902 00000 n +0000834213 00000 n +0000834362 00000 n +0000834599 00000 n +0000839970 00000 n +0000840119 00000 n +0000840321 00000 n +0000844168 00000 n +0000844317 00000 n +0000844517 00000 n +0000849070 00000 n +0000849219 00000 n +0000849432 00000 n +0000854601 00000 n +0000854750 00000 n +0000854974 00000 n +0000859725 00000 n +0000859874 00000 n +0000860111 00000 n +0000865224 00000 n +0000865373 00000 n +0000865573 00000 n +0000871473 00000 n +0000871622 00000 n +0000871835 00000 n +0000876041 00000 n +0000876190 00000 n +0000876403 00000 n +0000880976 00000 n +0000881125 00000 n +0000881338 00000 n +0000885841 00000 n +0000885990 00000 n +0000886192 00000 n +0000890535 00000 n +0000890684 00000 n +0000890871 00000 n +0000898228 00000 n +0000898377 00000 n +0000898563 00000 n +0000905468 00000 n +0000905617 00000 n +0000905816 00000 n +0000911436 00000 n +0000911585 00000 n +0000911772 00000 n +0000918384 00000 n +0000918533 00000 n +0000918757 00000 n +0000924521 00000 n +0000924670 00000 n +0000924894 00000 n +0000929347 00000 n +0000929496 00000 n +0000929682 00000 n +0000934901 00000 n +0000935050 00000 n +0000935274 00000 n +0000938020 00000 n +0000938169 00000 n +0000938368 00000 n +0000942877 00000 n +0000943026 00000 n +0000943250 00000 n +0000948152 00000 n +0000948301 00000 n +0000948463 00000 n +0000955154 00000 n +0000955303 00000 n +0000955491 00000 n +0000960619 00000 n +0000960768 00000 n +0000960932 00000 n +0000963285 00000 n +0000963434 00000 n +0000963658 00000 n +0000968600 00000 n +0000968749 00000 n +0000968973 00000 n +0000972425 00000 n +0000972574 00000 n +0000972786 00000 n +0000977258 00000 n +0000977407 00000 n +0000977631 00000 n +0000982948 00000 n +0000983097 00000 n +0000983321 00000 n +0000987329 00000 n +0000987478 00000 n +0000987702 00000 n +0000992133 00000 n +0000992282 00000 n +0000992493 00000 n +0000998091 00000 n +0000998240 00000 n +0000998464 00000 n +0001002003 00000 n +0001002152 00000 n +0001002363 00000 n +0001007210 00000 n +0001007359 00000 n +0001007572 00000 n +0001011474 00000 n +0001011623 00000 n +0001011836 00000 n +0001016051 00000 n +0001016200 00000 n +0001016402 00000 n +0001020452 00000 n +0001020601 00000 n +0001020790 00000 n +0001024527 00000 n +0001024676 00000 n +0001024889 00000 n +0001030627 00000 n +0001030776 00000 n +0001030978 00000 n +0001035124 00000 n +0001035273 00000 n +0001035475 00000 n +0001038634 00000 n +0001038783 00000 n +0001038985 00000 n +0001043561 00000 n +0001043710 00000 n +0001043908 00000 n +0001050122 00000 n +0001050271 00000 n +0001050495 00000 n +0001055850 00000 n +0001055999 00000 n +0001056223 00000 n +0001059452 00000 n +0001059601 00000 n +0001059814 00000 n +0001065565 00000 n +0001065714 00000 n +0001065913 00000 n +0001071239 00000 n +0001071388 00000 n +0001071612 00000 n +0001075387 00000 n +0001075536 00000 n +0001075713 00000 n +0001078441 00000 n +0001078590 00000 n +0001078766 00000 n +0001082839 00000 n +0001082988 00000 n +0001083164 00000 n +0001086563 00000 n +0001086712 00000 n +0001086901 00000 n +0001091053 00000 n +0001091202 00000 n +0001091415 00000 n +0001095196 00000 n +0001095345 00000 n +0001095556 00000 n +0001099194 00000 n +0001099343 00000 n +0001099543 00000 n +0001103920 00000 n +0001104069 00000 n +0001104257 00000 n +0001108795 00000 n +0001108944 00000 n +0001109133 00000 n +0001112750 00000 n +0001112899 00000 n +0001113087 00000 n +0001116770 00000 n +0001116919 00000 n +0001117071 00000 n +0001120897 00000 n +0001121046 00000 n +0001121245 00000 n +0001125074 00000 n +0001125223 00000 n +0001125386 00000 n +0001127583 00000 n +0001127732 00000 n +0001127897 00000 n +0001130058 00000 n +0001130207 00000 n +0001130360 00000 n +0001133678 00000 n +0001133827 00000 n +0001133968 00000 n +0001138070 00000 n +0001138219 00000 n +0001138372 00000 n +0001142071 00000 n +0001142220 00000 n +0001142361 00000 n +0001145517 00000 n +0001145666 00000 n +0001145819 00000 n +0001149622 00000 n +0001149771 00000 n +0001149924 00000 n +0001153648 00000 n +0001153797 00000 n +0001153950 00000 n +0001157605 00000 n +0001157754 00000 n +0001157907 00000 n +0001161661 00000 n +0001161810 00000 n +0001161963 00000 n +0001165806 00000 n +0001165955 00000 n +0001166108 00000 n +0001170237 00000 n +0001170386 00000 n +0001170539 00000 n +0001173409 00000 n +0001173558 00000 n +0001173711 00000 n +0001177036 00000 n +0001177185 00000 n +0001177338 00000 n +0001180849 00000 n +0001180998 00000 n +0001181151 00000 n +0001184348 00000 n +0001184497 00000 n +0001184638 00000 n +0001187394 00000 n +0001187543 00000 n +0001187696 00000 n +0001189753 00000 n +0001189902 00000 n +0001190078 00000 n +0001193133 00000 n +0001193282 00000 n +0001193469 00000 n +0001197611 00000 n +0001197760 00000 n +0001197936 00000 n +0001202570 00000 n +0001202719 00000 n +0001202917 00000 n +0001206132 00000 n +0001206281 00000 n +0001206479 00000 n +0001211777 00000 n +0001211926 00000 n +0001212113 00000 n +0001215030 00000 n +0001215179 00000 n +0001215366 00000 n +0001219982 00000 n +0001220131 00000 n +0001220307 00000 n +0001226539 00000 n +0001226688 00000 n +0001226888 00000 n +0001233153 00000 n +0001233302 00000 n +0001233478 00000 n +0001237462 00000 n +0001237611 00000 n +0001237787 00000 n +0001242344 00000 n +0001242493 00000 n +0001242669 00000 n +0001244796 00000 n +0001244945 00000 n +0001245134 00000 n +0001248937 00000 n +0001249086 00000 n +0001249275 00000 n +0001253640 00000 n +0001253789 00000 n +0001253991 00000 n +0001257001 00000 n +0001257150 00000 n +0001257350 00000 n +0001261456 00000 n +0001261605 00000 n +0001261794 00000 n +0001265455 00000 n +0001265604 00000 n +0001265780 00000 n +0001269824 00000 n +0001269973 00000 n +0001270149 00000 n +0001273408 00000 n +0001273557 00000 n +0001273759 00000 n +0001277639 00000 n +0001277788 00000 n +0001277988 00000 n +0001281133 00000 n +0001281282 00000 n +0001281482 00000 n +0001287865 00000 n +0001288014 00000 n +0001288203 00000 n +0001291485 00000 n +0001291634 00000 n +0001291834 00000 n +0001295533 00000 n +0001295682 00000 n +0001295871 00000 n +0001299245 00000 n +0001299394 00000 n +0001299570 00000 n +0001302834 00000 n +0001302983 00000 n +0001303159 00000 n +0001306274 00000 n +0001306423 00000 n +0001306587 00000 n +0001309046 00000 n +0001309195 00000 n +0001309395 00000 n +0001314039 00000 n +0001314188 00000 n +0001314388 00000 n +0001319652 00000 n +0001319801 00000 n +0001319990 00000 n +0001323426 00000 n +0001323575 00000 n +0001323777 00000 n +0001328422 00000 n +0001328571 00000 n +0001328747 00000 n +0001330607 00000 n +0001330756 00000 n +0001330932 00000 n +0001334527 00000 n +0001334676 00000 n +0001334852 00000 n +0001338685 00000 n +0001338834 00000 n +0001338998 00000 n +0001340244 00000 n +0001340393 00000 n +0001340569 00000 n +0001344056 00000 n +0001344205 00000 n +0001344381 00000 n +0001348561 00000 n +0001348710 00000 n +0001348886 00000 n +0001353420 00000 n +0001353569 00000 n +0001353745 00000 n +0001357490 00000 n +0001357639 00000 n +0001357815 00000 n +0001359636 00000 n +0001359785 00000 n +0001359961 00000 n +0001363727 00000 n +0001363876 00000 n +0001364121 00000 n +0001374251 00000 n +0001374387 00000 n +0001374508 00000 n +0001374787 00000 n +0001374936 00000 n +0001375321 00000 n +0001385188 00000 n +0001385324 00000 n +0001385446 00000 n +0001385723 00000 n +0001385859 00000 n +0001385981 00000 n +0001386258 00000 n +0001386394 00000 n +0001386516 00000 n +0001386793 00000 n +0001386929 00000 n +0001387051 00000 n +0001387328 00000 n +0001387464 00000 n +0001387586 00000 n +0001387863 00000 n +0001387999 00000 n +0001388121 00000 n +0001388398 00000 n +0001388534 00000 n +0001388656 00000 n +0001388933 00000 n +0001389069 00000 n +0001389191 00000 n +0001389468 00000 n +0001389604 00000 n +0001389726 00000 n +0001390003 00000 n +0001390139 00000 n +0001390261 00000 n +0001390538 00000 n +0001390674 00000 n +0001390795 00000 n +0001391071 00000 n +0001391207 00000 n +0001391328 00000 n +0001391604 00000 n +0001391740 00000 n +0001391861 00000 n +0001392137 00000 n +0001392273 00000 n +0001392394 00000 n +0001392670 00000 n +0001392806 00000 n +0001392928 00000 n +0001393205 00000 n +0001393341 00000 n +0001393463 00000 n +0001393740 00000 n +0001393889 00000 n +0001394112 00000 n +0001398561 00000 n +0001398710 00000 n +0001398933 00000 n +0001407237 00000 n +0001407386 00000 n +0001407819 00000 n +0001420427 00000 n +0001420563 00000 n +0001420685 00000 n +0001420965 00000 n +0001421101 00000 n +0001421223 00000 n +0001421503 00000 n +0001421639 00000 n +0001421761 00000 n +0001422041 00000 n +0001422177 00000 n +0001422299 00000 n +0001422579 00000 n +0001422715 00000 n +0001422837 00000 n +0001423117 00000 n +0001423253 00000 n +0001423375 00000 n +0001423655 00000 n +0001423791 00000 n +0001423913 00000 n +0001424193 00000 n +0001424329 00000 n +0001424451 00000 n +0001424731 00000 n +0001424867 00000 n +0001424989 00000 n +0001425269 00000 n +0001425405 00000 n +0001425527 00000 n +0001425807 00000 n +0001425943 00000 n +0001426065 00000 n +0001426345 00000 n +0001426481 00000 n +0001426603 00000 n +0001426883 00000 n +0001427032 00000 n +0001427333 00000 n +0001436378 00000 n +0001436514 00000 n +0001436636 00000 n +0001436916 00000 n +0001437052 00000 n +0001437174 00000 n +0001437454 00000 n +0001437603 00000 n +0001437779 00000 n +0001441846 00000 n +0001441995 00000 n +0001442158 00000 n +0001444412 00000 n +0001444561 00000 n +0001444726 00000 n +0001445881 00000 n +0001446030 00000 n +0001446193 00000 n +0001447715 00000 n +0001448121 00000 n +0001448170 00000 n +0001448305 00000 n +0001448358 00000 n +0001448390 00000 n +0001448432 00000 n +0001448714 00000 n +0001448927 00000 n +0001453930 00000 n +0001454487 00000 n +0001454993 00000 n +0001455180 00000 n +0001455393 00000 n +0001455675 00000 n +0001455707 00000 n +0001455842 00000 n +0001455884 00000 n +0001456440 00000 n +0001456949 00000 n +0001457136 00000 n +0001457221 00000 n +0001457702 00000 n +0001458007 00000 n +0001458239 00000 n +0001458909 00000 n +0001459122 00000 n +0001465542 00000 n +0001466188 00000 n +0001466901 00000 n +0001467348 00000 n +0001467543 00000 n +0001468058 00000 n +0001468419 00000 n +0001472209 00000 n +0001472411 00000 n +0001472460 00000 n +0001472678 00000 n +0001472801 00000 n +0001472938 00000 n +0001473061 00000 n +0001473342 00000 n +0001473623 00000 n +0001473760 00000 n +0001474042 00000 n +0001474166 00000 n +0001474290 00000 n +0001474572 00000 n +0001474854 00000 n +0001475136 00000 n +0001475260 00000 n +0001475397 00000 n +0001475521 00000 n +0001475803 00000 n +0001475940 00000 n +0001476064 00000 n +0001476201 00000 n +0001476338 00000 n +0001476462 00000 n +0001476744 00000 n +0001476881 00000 n +0001477005 00000 n +0001477287 00000 n +0001477424 00000 n +0001477561 00000 n +0001477654 00000 n +0001477732 00000 n +0001478925 00000 n +0001479842 00000 n +0001480140 00000 n +0001480359 00000 n +0001480548 00000 n +0001480759 00000 n +0001480961 00000 n +0001481149 00000 n +0001481379 00000 n +0001481589 00000 n +0001481787 00000 n +0001482055 00000 n +0001482310 00000 n +0001482548 00000 n +0001482769 00000 n +0001482957 00000 n +0001483184 00000 n +0001483422 00000 n +0001483668 00000 n +0001484061 00000 n +0001484277 00000 n +0001484587 00000 n +0001484785 00000 n +0001485318 00000 n +0001485679 00000 n +0001486034 00000 n +0001486315 00000 n +0001486794 00000 n +0001487103 00000 n +0001487478 00000 n +0001487847 00000 n +0001488059 00000 n +0001488549 00000 n +0001488919 00000 n +0001489218 00000 n +0001489519 00000 n +0001489761 00000 n +0001490137 00000 n +0001490601 00000 n +0001491016 00000 n +0001491413 00000 n +0001491786 00000 n +0001492183 00000 n +0001492578 00000 n +0001493003 00000 n +0001493332 00000 n +0001493842 00000 n +0001494368 00000 n +0001494756 00000 n +0001495193 00000 n +0001495584 00000 n +0001495991 00000 n +0001496324 00000 n +0001496710 00000 n +0001497101 00000 n +0001497429 00000 n +0001497822 00000 n +0001498168 00000 n +0001498605 00000 n +0001498935 00000 n +0001499439 00000 n +0001499946 00000 n +0001500428 00000 n +0001500908 00000 n +0001501476 00000 n +0001501914 00000 n +0001502357 00000 n +0001502778 00000 n +0001503175 00000 n +0001503598 00000 n +0001504012 00000 n +0001504351 00000 n +0001504627 00000 n +0001504988 00000 n +0001505318 00000 n +0001505593 00000 n +0001506122 00000 n +0001506465 00000 n +0001506777 00000 n +0001507065 00000 n +0001507347 00000 n +0001507632 00000 n +0001507955 00000 n +0001508331 00000 n +0001508631 00000 n +0001509033 00000 n +0001509225 00000 n +0001509673 00000 n +0001510160 00000 n +0001510658 00000 n +0001511024 00000 n +0001511421 00000 n +0001511786 00000 n +0001512071 00000 n +0001512360 00000 n +0001512741 00000 n +0001513018 00000 n +0001513397 00000 n +0001513828 00000 n +0001514106 00000 n +0001514614 00000 n +0001515143 00000 n +0001515466 00000 n +0001515730 00000 n +0001515990 00000 n +0001516245 00000 n +0001516556 00000 n +0001516921 00000 n +0001517303 00000 n +0001517612 00000 n +0001517956 00000 n +0001518392 00000 n +0001518696 00000 n +0001518967 00000 n +0001519275 00000 n +0001519749 00000 n +0001520128 00000 n +0001520499 00000 n +0001520934 00000 n +0001521172 00000 n +0001521506 00000 n +0001521827 00000 n +0001522160 00000 n +0001522474 00000 n +0001522891 00000 n +0001523302 00000 n +0001523670 00000 n +0001524203 00000 n +0001524506 00000 n +0001524917 00000 n +0001525298 00000 n +0001525703 00000 n +0001526077 00000 n +0001526406 00000 n +0001526778 00000 n +0001527077 00000 n +0001527374 00000 n +0001527783 00000 n +0001528175 00000 n +0001528566 00000 n +0001528860 00000 n +0001529260 00000 n +0001529619 00000 n +0001529956 00000 n +0001530397 00000 n +0001530758 00000 n +0001531158 00000 n +0001531462 00000 n +0001531788 00000 n +0001532160 00000 n +0001532557 00000 n +0001532833 00000 n +0001533086 00000 n +0001533481 00000 n +0001533867 00000 n +0001534188 00000 n +0001534519 00000 n +0001534803 00000 n +0001535196 00000 n +0001535567 00000 n +0001535995 00000 n +0001536305 00000 n +0001536757 00000 n +0001537150 00000 n +0001537447 00000 n +0001537798 00000 n +0001538188 00000 n +0001538513 00000 n +0001538889 00000 n +0001539266 00000 n +0001539636 00000 n +0001540096 00000 n +0001540491 00000 n +0001540882 00000 n +0001541241 00000 n +0001541601 00000 n +0001541945 00000 n +0001542373 00000 n +0001542629 00000 n +0001543148 00000 n +0001543483 00000 n +0001543876 00000 n +0001544153 00000 n +0001544509 00000 n +0001544991 00000 n +0001545338 00000 n +0001545871 00000 n +0001546198 00000 n +0001546524 00000 n +0001546996 00000 n +0001547393 00000 n +0001547726 00000 n +0001548142 00000 n +0001548530 00000 n +0001548833 00000 n +0001549191 00000 n +0001549516 00000 n +0001549964 00000 n +0001550250 00000 n +0001550567 00000 n +0001550895 00000 n +0001551237 00000 n +0001551614 00000 n +0001551983 00000 n +0001552277 00000 n +0001552591 00000 n +0001552829 00000 n +0001553177 00000 n +0001553504 00000 n +0001553898 00000 n +0001554362 00000 n +0001554770 00000 n +0001555150 00000 n +0001555423 00000 n +0001555760 00000 n +0001556028 00000 n +0001556378 00000 n +0001556773 00000 n +0001557051 00000 n +0001557392 00000 n +0001557906 00000 n +0001558144 00000 n +0001558790 00000 n +0001559620 00000 n +0001560361 00000 n +0001561083 00000 n +0001561919 00000 n +0001562643 00000 n +0001563294 00000 n +0001564022 00000 n +0001564725 00000 n +0001565521 00000 n +0001566127 00000 n +0001566836 00000 n +0001567548 00000 n +0001568333 00000 n +0001569058 00000 n +0001569530 00000 n +0001569902 00000 n +0001570218 00000 n +0001570657 00000 n +0001571099 00000 n +0001571463 00000 n +0001571900 00000 n +0001572252 00000 n +0001572578 00000 n +0001572842 00000 n +0001573298 00000 n +0001573695 00000 n +0001573984 00000 n +0001574325 00000 n +0001574692 00000 n +0001575041 00000 n +0001575369 00000 n +0001575698 00000 n +0001576029 00000 n +0001576341 00000 n +0001576701 00000 n +0001577081 00000 n +0001577411 00000 n +0001577837 00000 n +0001578248 00000 n +0001578728 00000 n +0001579154 00000 n +0001579599 00000 n +0001580034 00000 n +0001580433 00000 n +0001580890 00000 n +0001581301 00000 n +0001581663 00000 n +0001581993 00000 n +0001582333 00000 n +0001582724 00000 n +0001583059 00000 n +0001583357 00000 n +0001583670 00000 n +0001584005 00000 n +0001584353 00000 n +0001584590 00000 n +0001584851 00000 n +0001585310 00000 n +0001585714 00000 n +0001586001 00000 n +0001586416 00000 n +0001586917 00000 n +0001587248 00000 n +0001587604 00000 n +0001587858 00000 n +0001588078 00000 n +0001588329 00000 n +0001588368 00000 n +0001588394 00000 n +0001588470 00000 n +0001588625 00000 n +0001588759 00000 n +0001588893 00000 n +0001589027 00000 n +0001589170 00000 n +0001589314 00000 n +0001589458 00000 n +0001589602 00000 n +0001589746 00000 n +0001589890 00000 n +0001590034 00000 n +0001590189 00000 n +0001590333 00000 n +0001590477 00000 n +0001590621 00000 n +0001590765 00000 n +0001590909 00000 n +0001591053 00000 n +0001591197 00000 n +0001591341 00000 n +0001591485 00000 n +0001591629 00000 n +0001591774 00000 n +0001591918 00000 n +0001592062 00000 n +0001592206 00000 n +0001592350 00000 n +0001592494 00000 n +0001592638 00000 n +0001592782 00000 n +0001592926 00000 n +0001593061 00000 n +0001596856 00000 n +trailer +<> +startxref +116 +%%EOF diff --git a/standards/4.4.1/es_20187301v040401p.zip b/standards/4.4.1/es_20187301v040401p.zip new file mode 100644 index 0000000000000000000000000000000000000000..4bdf843d25b64312c35e0aff1ac724290716adcd Binary files /dev/null and b/standards/4.4.1/es_20187301v040401p.zip differ diff --git a/standards/4.5.1/Compare TTCN-3 Ed 441 to Ed 451.doc b/standards/4.5.1/Compare TTCN-3 Ed 441 to Ed 451.doc new file mode 100644 index 0000000000000000000000000000000000000000..8694de151b59becc7677a5549947eeb72a1cd1a0 Binary files /dev/null and b/standards/4.5.1/Compare TTCN-3 Ed 441 to Ed 451.doc differ diff --git a/standards/4.5.1/es_20187301v040501p.doc b/standards/4.5.1/es_20187301v040501p.doc new file mode 100644 index 0000000000000000000000000000000000000000..28ca18db6154e7e904a20252221f372b1a316496 Binary files /dev/null and b/standards/4.5.1/es_20187301v040501p.doc differ diff --git a/standards/4.5.1/requirements-4.5.1/.project b/standards/4.5.1/requirements-4.5.1/.project new file mode 100644 index 0000000000000000000000000000000000000000..5fb4c463de5b2180db67cdcb889b8849c3a45ccc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/.project @@ -0,0 +1,17 @@ + + + requirements-4.5.1 + + + + + + com.unitesk.requality.checkers + + + + + + com.unitesk.requality.natures.reqcatalogue + + diff --git a/standards/4.5.1/requirements-4.5.1/.reqversions b/standards/4.5.1/requirements-4.5.1/.reqversions new file mode 100644 index 0000000000000000000000000000000000000000..d1c2cd315f42d63ccbb838a420d01fd9ff1e65df --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/.reqversions @@ -0,0 +1 @@ +com.unitesk.nodegroup.requality|0.15 diff --git a/standards/4.5.1/requirements-4.5.1/.settings/org.eclipse.core.resources.prefs b/standards/4.5.1/requirements-4.5.1/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..e138b8d64f25e5aa12c8ecfd20bf7d98c99da050 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,16 @@ +eclipse.preferences.version=1 +encoding//root/Documents/es_20187301v040501p_html.xhtml/09270da3-514d-4f88-8f37-04600b7fab0b.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/0e1b4957-6af8-40bf-a51b-bffdeb364510.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/146132c4-5688-45e2-9402-2862d1d89c25.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/39a96bce-4884-45dd-b1b4-6aac1d426b72.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/69253f87-e3a0-4886-8e0c-d211e729e391.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/abb5e383-d80a-493a-bb4c-a99229015326.json=UTF-8 +encoding//root/Documents/es_20187301v040501p_html.xhtml/d5e39ace-9fa8-4e46-b26a-aeca9b891b36.json=UTF-8 +encoding//root/Requirements/02.json=UTF-8 +encoding//root/Requirements/02/01.json=UTF-8 +encoding//root/Requirements/02/01/01.json=UTF-8 +encoding//root/Requirements/6\ Types\ and\ Values/6.2\ Structured\ types\ and\ values/07/01.json=UTF-8 +encoding//root/Requirements/6\ Types\ and\ Values/6.2\ Structured\ types\ and\ values/07/02.json=UTF-8 +encoding//root/Requirements/6\ Types\ and\ Values/6.2\ Structured\ types\ and\ values/07/03.json=UTF-8 +encoding//root/Requirements/6\ Types\ and\ Values/6.2\ Structured\ types\ and\ values/07/04.json=UTF-8 +encoding//root/Requirements/6\ Types\ and\ Values/6.2\ Structured\ types\ and\ values/07/05.json=UTF-8 diff --git a/standards/4.5.1/requirements-4.5.1/root.json b/standards/4.5.1/requirements-4.5.1/root.json new file mode 100644 index 0000000000000000000000000000000000000000..73c925da0f747e65ec09e88fb075def59f14185e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "DBRoot" + }}, + "uuid": "c3ed178a-f262-4d31-a9dc-2f1a1771e85f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents.json b/standards/4.5.1/requirements-4.5.1/root/Documents.json new file mode 100644 index 0000000000000000000000000000000000000000..746f0f10ddc09f7701dccd523b595bd9abf6ce13 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "DocFolder" + }}, + "uuid": "8ae9fc2e-925c-45eb-93ae-6b558dc2eca5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml.json new file mode 100644 index 0000000000000000000000000000000000000000..8135b39b2bea35f0418fd7f25407cb7a1a967b82 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_file": { + "key": "_file", + "type": "STRING", + "value": "es_20187301v040501p_html.xhtml" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Document" + } + }, + "uuid": "abaae645-f3e4-4550-8327-59d589b0d4be" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/012abbc2-f402-4b83-88af-b7798e1f37a2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/012abbc2-f402-4b83-88af-b7798e1f37a2.json new file mode 100644 index 0000000000000000000000000000000000000000..ab85b2d3d856229bf25635254c9b19c636d392ea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/012abbc2-f402-4b83-88af-b7798e1f37a2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "system" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "012abbc2-f402-4b83-88af-b7798e1f37a2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/014bda43-594a-42ac-a7a7-39d44b036ba5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/014bda43-594a-42ac-a7a7-39d44b036ba5.json new file mode 100644 index 0000000000000000000000000000000000000000..afa73c9ad5210edb9b80cff056f5b374b4af9e01 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/014bda43-594a-42ac-a7a7-39d44b036ba5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.1.2 Optional elements in a\nrecord" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "014bda43-594a-42ac-a7a7-39d44b036ba5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/01b4d753-2ee6-40ef-ad1c-06b8df09dd77.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/01b4d753-2ee6-40ef-ad1c-06b8df09dd77.json new file mode 100644 index 0000000000000000000000000000000000000000..2b905b783ab6ef56dc6109244477711ab64d390b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/01b4d753-2ee6-40ef-ad1c-06b8df09dd77.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The same rules for the referenced field type as in clause 6.2.1.1\napply" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "01b4d753-2ee6-40ef-ad1c-06b8df09dd77" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/02a594ee-1e94-403c-bcf6-916553891dd8.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/02a594ee-1e94-403c-bcf6-916553891dd8.json new file mode 100644 index 0000000000000000000000000000000000000000..5c0be37df90639ef5e774a1f624f5a4e694aa2a9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/02a594ee-1e94-403c-bcf6-916553891dd8.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "has to be compatible with the\ntype of the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "02a594ee-1e94-403c-bcf6-916553891dd8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0399bf53-acd1-4b8e-a030-18d14db7ca71.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0399bf53-acd1-4b8e-a030-18d14db7ca71.json new file mode 100644 index 0000000000000000000000000000000000000000..c402060d2c92af92836065bd7cb7867098529d07 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0399bf53-acd1-4b8e-a030-18d14db7ca71.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "variables, template variables,\nformal value or template parameters (of in, inout or out\nparameterization) of the current scope." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0399bf53-acd1-4b8e-a030-18d14db7ca71" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/03e333db-e082-4c6c-a780-85bdda30e18b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/03e333db-e082-4c6c-a780-85bdda30e18b.json new file mode 100644 index 0000000000000000000000000000000000000000..04bdc8567c99bf751852a19f3ef621be0eba6633 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/03e333db-e082-4c6c-a780-85bdda30e18b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

6.2.3.2 Referencing elements of record of and set of types<\/h4>\n

<\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "03e333db-e082-4c6c-a780-85bdda30e18b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/04cae3be-93a0-46e0-a990-f720af08758a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/04cae3be-93a0-46e0-a990-f720af08758a.json new file mode 100644 index 0000000000000000000000000000000000000000..0c1de44f8a1dcc74746658753360e12abb8df459 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/04cae3be-93a0-46e0-a990-f720af08758a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Alternatives of union type definitions shall not reference\nthemselves.<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "04cae3be-93a0-46e0-a990-f720af08758a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/055ce45f-c1a4-46ef-89c2-c4ce3a9ae18f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/055ce45f-c1a4-46ef-89c2-c4ce3a9ae18f.json new file mode 100644 index 0000000000000000000000000000000000000000..2eff37d04ad8444a9111c123ec7a68e88b268f3d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/055ce45f-c1a4-46ef-89c2-c4ce3a9ae18f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Identifiers for\nfields of structured types, enumerated values and groups do not have\nto be globally unique" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "055ce45f-c1a4-46ef-89c2-c4ce3a9ae18f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/057d753b-19c8-42bc-a5e9-9b3be50aa54b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/057d753b-19c8-42bc-a5e9-9b3be50aa54b.json new file mode 100644 index 0000000000000000000000000000000000000000..302a2741af38322c4f7af764cea46ccda6117cc4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/057d753b-19c8-42bc-a5e9-9b3be50aa54b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values, templates, timers, and ports may be used as\nactual parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "057d753b-19c8-42bc-a5e9-9b3be50aa54b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/05ee7e4a-7dd5-49d9-82ac-96203c79818f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/05ee7e4a-7dd5-49d9-82ac-96203c79818f.json new file mode 100644 index 0000000000000000000000000000000000000000..f84c383d27c7668672e214641e814499a346343d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/05ee7e4a-7dd5-49d9-82ac-96203c79818f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of all basic types, all user-defined\ntypes, address type, component type, and default can be passed as\n<\/font>value parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "05ee7e4a-7dd5-49d9-82ac-96203c79818f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0634e59d-614e-4de9-956d-cbb5c923048b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0634e59d-614e-4de9-956d-cbb5c923048b.json new file mode 100644 index 0000000000000000000000000000000000000000..ad999d01436c4487ccb69dc323888f91681332b9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0634e59d-614e-4de9-956d-cbb5c923048b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "has to be compatible with the type\nof the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0634e59d-614e-4de9-956d-cbb5c923048b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/066d4c75-9ba3-44f2-b448-582ba0ade026.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/066d4c75-9ba3-44f2-b448-582ba0ade026.json new file mode 100644 index 0000000000000000000000000000000000000000..986df6f39684fd4fe57b253c93d21f0da6d4dd23 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/066d4c75-9ba3-44f2-b448-582ba0ade026.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.7 Arrays" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "066d4c75-9ba3-44f2-b448-582ba0ade026" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/072d5a66-4917-448c-9102-af19df4dbf20.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/072d5a66-4917-448c-9102-af19df4dbf20.json new file mode 100644 index 0000000000000000000000000000000000000000..a2738b247f71952027903fa52d892ac09ea9dfbf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/072d5a66-4917-448c-9102-af19df4dbf20.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "g) The dash (don't change) symbol shall be used with formal\nparameters of modified templates only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "072d5a66-4917-448c-9102-af19df4dbf20" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/086dbc9e-3d39-4a81-99bf-4844a187fe82.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/086dbc9e-3d39-4a81-99bf-4844a187fe82.json new file mode 100644 index 0000000000000000000000000000000000000000..2ba5735ec9dd4ac57f4339c3214d4737e47c7981 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/086dbc9e-3d39-4a81-99bf-4844a187fe82.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "086dbc9e-3d39-4a81-99bf-4844a187fe82" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/087d2af0-7802-456b-97e5-9fab072edf36.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/087d2af0-7802-456b-97e5-9fab072edf36.json new file mode 100644 index 0000000000000000000000000000000000000000..16f85873290287e3d587d1733c358b761608cced --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/087d2af0-7802-456b-97e5-9fab072edf36.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.2.3 Nested type definition for\nfield types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "087d2af0-7802-456b-97e5-9fab072edf36" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/08a431a5-5f5e-45af-be5b-2ee4529734f8.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/08a431a5-5f5e-45af-be5b-2ee4529734f8.json new file mode 100644 index 0000000000000000000000000000000000000000..ffda59b134660fbbc9a2967bfcfae818784fd119 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/08a431a5-5f5e-45af-be5b-2ee4529734f8.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The default for formal template parameters is\nin<\/b><\/font>\nparameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "08a431a5-5f5e-45af-be5b-2ee4529734f8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/09270da3-514d-4f88-8f37-04600b7fab0b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/09270da3-514d-4f88-8f37-04600b7fab0b.json new file mode 100644 index 0000000000000000000000000000000000000000..2c11eb0d287b3a858c97e2f46d251f55a058e643 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/09270da3-514d-4f88-8f37-04600b7fab0b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Array elements are accessed by means of the index notation ([]<\/font><\/font>),\nwhich shall specify a valid index within the array's range" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "09270da3-514d-4f88-8f37-04600b7fab0b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/095bb344-c66f-40ff-bec4-449b86df1d5b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/095bb344-c66f-40ff-bec4-449b86df1d5b.json new file mode 100644 index 0000000000000000000000000000000000000000..9b3c46c3d26538c2b319e0abbb5294079b002747 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/095bb344-c66f-40ff-bec4-449b86df1d5b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed to <\/font>inout<\/b><\/font><\/font>\nor <\/font>out<\/b><\/font><\/font>\nformal template parameters<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "095bb344-c66f-40ff-bec4-449b86df1d5b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0af72343-8349-4215-b194-7c1cabea5c21.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0af72343-8349-4215-b194-7c1cabea5c21.json new file mode 100644 index 0000000000000000000000000000000000000000..5bd1a4e09f71d2397c51e7c58ae9a601e36dad2a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0af72343-8349-4215-b194-7c1cabea5c21.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Definitions made in the module definitions part but outside of other\nscope units are globally visible" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0af72343-8349-4215-b194-7c1cabea5c21" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0b4016e0-7e7b-40bc-bd50-a5ab33463fc1.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0b4016e0-7e7b-40bc-bd50-a5ab33463fc1.json new file mode 100644 index 0000000000000000000000000000000000000000..c84b293285109b4b14e2b8f80c818ef1d4ce4a62 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0b4016e0-7e7b-40bc-bd50-a5ab33463fc1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.3 Records and sets of single types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0b4016e0-7e7b-40bc-bd50-a5ab33463fc1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0ccbc140-7015-4bda-a5bf-b040c6466d27.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0ccbc140-7015-4bda-a5bf-b040c6466d27.json new file mode 100644 index 0000000000000000000000000000000000000000..203ff434fa8b5e278424572f5fc1c8ec9d6598f1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0ccbc140-7015-4bda-a5bf-b040c6466d27.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The\ndefault for value formal parameters is in<\/b><\/font>\nparameterization which may optionally be denoted by the keyword in<\/b><\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0ccbc140-7015-4bda-a5bf-b040c6466d27" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e1b4957-6af8-40bf-a51b-bffdeb364510.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e1b4957-6af8-40bf-a51b-bffdeb364510.json new file mode 100644 index 0000000000000000000000000000000000000000..69e7564d21a1b30a6e4a009c2f713a66e14ecb30 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e1b4957-6af8-40bf-a51b-bffdeb364510.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "\nIndividual elements of multi-dimensional arrays can be accessed by\nrepeated use of the index notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0e1b4957-6af8-40bf-a51b-bffdeb364510" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e3bb17c-f4ae-41a1-bffe-facc707edd3f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e3bb17c-f4ae-41a1-bffe-facc707edd3f.json new file mode 100644 index 0000000000000000000000000000000000000000..a19888ffd43bef4dee27aaf418dcde450db1a612 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e3bb17c-f4ae-41a1-bffe-facc707edd3f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The value list notation shall not be used for\nsetting values of <\/font>union<\/b><\/font><\/font>\ntypes<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0e3bb17c-f4ae-41a1-bffe-facc707edd3f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e4c728e-a8d5-41da-9abb-1fa228026ae0.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e4c728e-a8d5-41da-9abb-1fa228026ae0.json new file mode 100644 index 0000000000000000000000000000000000000000..adc9b65fa8d84cf5ea90fbfb29002b8a9c8d06f4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/0e4c728e-a8d5-41da-9abb-1fa228026ae0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "a) Formal timer parameters shall be inout parameters, which can\noptionally be indicated by the keyword inout<\/b>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "0e4c728e-a8d5-41da-9abb-1fa228026ae0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1019bac8-045a-468e-afc9-1e0670c1c944.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1019bac8-045a-468e-afc9-1e0670c1c944.json new file mode 100644 index 0000000000000000000000000000000000000000..2a57cd6a4d89d992d10e624538836c064a86e759 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1019bac8-045a-468e-afc9-1e0670c1c944.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall be variables, literal values, module\nparameters, constants, variables, value returning (external)\nfunctions, formal value parameters (of in, inout or out\nparameterization) of the current scope or expressions composed of the\nabove" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1019bac8-045a-468e-afc9-1e0670c1c944" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/109a66fb-f6b9-4f2a-9204-a8b76e14b4b8.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/109a66fb-f6b9-4f2a-9204-a8b76e14b4b8.json new file mode 100644 index 0000000000000000000000000000000000000000..fdb4058b7b5af61d9a63aec3e66cc3b640b3b380 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/109a66fb-f6b9-4f2a-9204-a8b76e14b4b8.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The actual parameters are evaluated in the order of their\nappearance" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "109a66fb-f6b9-4f2a-9204-a8b76e14b4b8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/113f00ee-dc51-46c6-9022-b3f72149efea.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/113f00ee-dc51-46c6-9022-b3f72149efea.json new file mode 100644 index 0000000000000000000000000000000000000000..9e011d2a9c698e6419de8686e5fc88d445c4add4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/113f00ee-dc51-46c6-9022-b3f72149efea.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.2 Lists of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "113f00ee-dc51-46c6-9022-b3f72149efea" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/12425af4-6a8a-49c2-a821-3d81a833c6ca.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/12425af4-6a8a-49c2-a821-3d81a833c6ca.json new file mode 100644 index 0000000000000000000000000000000000000000..63cc50aa52ea76931a4115819a8700f4cd785ff1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/12425af4-6a8a-49c2-a821-3d81a833c6ca.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Alternatives of a union<\/b><\/font>\ntype shall be referenced by the dot notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "12425af4-6a8a-49c2-a821-3d81a833c6ca" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/13066bf0-f9c2-442f-ba1f-a2cc6ed673e6.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/13066bf0-f9c2-442f-ba1f-a2cc6ed673e6.json new file mode 100644 index 0000000000000000000000000000000000000000..6c19f60e7983459ce1eb8d9f9f2bb6683ed9d82f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/13066bf0-f9c2-442f-ba1f-a2cc6ed673e6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The value list notation for setting values\nshall not be used for values of <\/font>set<\/b><\/font><\/font>\ntypes.<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "13066bf0-f9c2-442f-ba1f-a2cc6ed673e6" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/146132c4-5688-45e2-9402-2862d1d89c25.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/146132c4-5688-45e2-9402-2862d1d89c25.json new file mode 100644 index 0000000000000000000000000000000000000000..4f04058cd59401ea1573c0ebe2a269cc7432eae0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/146132c4-5688-45e2-9402-2862d1d89c25.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "7 Expressions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "146132c4-5688-45e2-9402-2862d1d89c25" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1551a62c-5c3a-41d4-bef9-7c4551c38392.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1551a62c-5c3a-41d4-bef9-7c4551c38392.json new file mode 100644 index 0000000000000000000000000000000000000000..9ac88a28606932fe11dbec5a57f56efeb63895c2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1551a62c-5c3a-41d4-bef9-7c4551c38392.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the extra keyword template<\/b><\/font>\n<\/b>shall be added before the type field of the corresponding formal\nparameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1551a62c-5c3a-41d4-bef9-7c4551c38392" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/16ca4fab-cf23-4c4d-81dc-ec169964876b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/16ca4fab-cf23-4c4d-81dc-ec169964876b.json new file mode 100644 index 0000000000000000000000000000000000000000..89aa8008edaebf15694518076af367b8ec03b38d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/16ca4fab-cf23-4c4d-81dc-ec169964876b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "system" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "16ca4fab-cf23-4c4d-81dc-ec169964876b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/17b57a38-dbf6-400f-9e11-38c9bb79ed73.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/17b57a38-dbf6-400f-9e11-38c9bb79ed73.json new file mode 100644 index 0000000000000000000000000000000000000000..effdabee2258e3da51fe24f80f2bb2b21e499d32 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/17b57a38-dbf6-400f-9e11-38c9bb79ed73.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Definitions made in a test component type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "17b57a38-dbf6-400f-9e11-38c9bb79ed73" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/182133c7-c413-4577-afda-4d80a79261ed.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/182133c7-c413-4577-afda-4d80a79261ed.json new file mode 100644 index 0000000000000000000000000000000000000000..7d7aba9ea64d68dc18100e94aec013b5dd2a7cfe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/182133c7-c413-4577-afda-4d80a79261ed.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "at\n run-time, module parameter values are globally visible but not\n changeable" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "182133c7-c413-4577-afda-4d80a79261ed" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1870338f-f467-4fad-bf4a-6e4bc28ad5bb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1870338f-f467-4fad-bf4a-6e4bc28ad5bb.json new file mode 100644 index 0000000000000000000000000000000000000000..0a12ac9f6364f03873fb9f6cd9bb96863a7638dc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1870338f-f467-4fad-bf4a-6e4bc28ad5bb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal template parameters can be used within the parameterized\nobject the same way as templates and template variables." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1870338f-f467-4fad-bf4a-6e4bc28ad5bb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/18b02e2b-1b5b-4120-8fb0-e2bc1f441032.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/18b02e2b-1b5b-4120-8fb0-e2bc1f441032.json new file mode 100644 index 0000000000000000000000000000000000000000..575357f3336c15f4dd1bb8578521941318cebcf9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/18b02e2b-1b5b-4120-8fb0-e2bc1f441032.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "b) Formal template parameters of templates<\/b><\/font>,\nof function<\/b><\/font>s\nstarted as test component behaviour (see clause 21.3.2) and\nof altstep<\/b><\/font>s\nactivated as defaults (see clause 20.5.2) shall always be in<\/b><\/font>\nparameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "18b02e2b-1b5b-4120-8fb0-e2bc1f441032" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1a9cb157-c88f-4ca5-9a41-ee455f7271bf.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1a9cb157-c88f-4ca5-9a41-ee455f7271bf.json new file mode 100644 index 0000000000000000000000000000000000000000..f38c79d15da6d5e480249b8986ced7585af860a3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1a9cb157-c88f-4ca5-9a41-ee455f7271bf.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The rules of identifier\nuniqueness shall also apply to identifiers of formal parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1a9cb157-c88f-4ca5-9a41-ee455f7271bf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1ac3622a-ed63-4d6b-8d6b-d5bf75960794.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1ac3622a-ed63-4d6b-8d6b-d5bf75960794.json new file mode 100644 index 0000000000000000000000000000000000000000..edafa04f946ae15b52d2c4ff2fa7c15773f5cc94 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1ac3622a-ed63-4d6b-8d6b-d5bf75960794.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "out" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1ac3622a-ed63-4d6b-8d6b-d5bf75960794" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1be886ba-a16c-4577-95d7-95c27719f585.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1be886ba-a16c-4577-95d7-95c27719f585.json new file mode 100644 index 0000000000000000000000000000000000000000..6faab052dde94023715564452463a97af0d61409 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1be886ba-a16c-4577-95d7-95c27719f585.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Test cases, altsteps and functions are individual scope units without\nany hierarchical relation between them, i.e. declarations made\nat the beginning of their body have local visibility and shall only\nbe used in the given test case, altstep or function" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1be886ba-a16c-4577-95d7-95c27719f585" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1cb7cea2-abfd-426f-a92d-3a0082834947.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1cb7cea2-abfd-426f-a92d-3a0082834947.json new file mode 100644 index 0000000000000000000000000000000000000000..8f9bd2ae7cd6b2a8e7e323f502d1bff50244e73b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1cb7cea2-abfd-426f-a92d-3a0082834947.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "d) verdicttype<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1cb7cea2-abfd-426f-a92d-3a0082834947" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d45aa63-341e-403c-ab80-500ad36ce9a3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d45aa63-341e-403c-ab80-500ad36ce9a3.json new file mode 100644 index 0000000000000000000000000000000000000000..ed9595447d66906af4cdb111d6680284a16f311d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d45aa63-341e-403c-ab80-500ad36ce9a3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed to <\/font>in<\/b><\/font><\/font>\nformal template parameters<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1d45aa63-341e-403c-ab80-500ad36ce9a3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d9178b7-dc0a-4da9-8672-2378fe2e3ef0.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d9178b7-dc0a-4da9-8672-2378fe2e3ef0.json new file mode 100644 index 0000000000000000000000000000000000000000..1a04f3c13a84e90226bc3603ad0fcdbee2624a8d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d9178b7-dc0a-4da9-8672-2378fe2e3ef0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.1 Identifiers and keywords" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1d9178b7-dc0a-4da9-8672-2378fe2e3ef0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d975d87-fe16-461d-8099-c57fe7dfbfb5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d975d87-fe16-461d-8099-c57fe7dfbfb5.json new file mode 100644 index 0000000000000000000000000000000000000000..ef6eb715f981b8084a4339b5eddf82458cf487a0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1d975d87-fe16-461d-8099-c57fe7dfbfb5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3.1 Compatibility of non-structured types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1d975d87-fe16-461d-8099-c57fe7dfbfb5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1f92783d-8756-4109-a5b0-b1c244fbdf4e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1f92783d-8756-4109-a5b0-b1c244fbdf4e.json new file mode 100644 index 0000000000000000000000000000000000000000..7adaa2ad98c27753f0a14f5c66fe861cf9132e13 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/1f92783d-8756-4109-a5b0-b1c244fbdf4e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-not_a_number<\/b><\/font>\n(i.e. minus not a number) is not to be used" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "1f92783d-8756-4109-a5b0-b1c244fbdf4e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/216964db-3e96-4d15-b67f-3cffc934a7c3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/216964db-3e96-4d15-b67f-3cffc934a7c3.json new file mode 100644 index 0000000000000000000000000000000000000000..a5b762836bb3938f4da23f81af3782e541b12765 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/216964db-3e96-4d15-b67f-3cffc934a7c3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "literal values, module\nparameters, constants, variables, value or template returning\n(external) functions, formal value parameters (of in, inout or out\nparameterization) of the current scope or expressions composed of the\nabove, as well as templates, template variables or formal template\nparameters (of in, inout or out parameterization) of the current\nscope" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "216964db-3e96-4d15-b67f-3cffc934a7c3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/21b82820-8721-4ba0-ab92-b7e05581bec3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/21b82820-8721-4ba0-ab92-b7e05581bec3.json new file mode 100644 index 0000000000000000000000000000000000000000..5fcfd074813a84625974ddcd6b75652564b6301f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/21b82820-8721-4ba0-ab92-b7e05581bec3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the order in which declarations can\nbe made is arbitrary" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "21b82820-8721-4ba0-ab92-b7e05581bec3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/229176bf-699b-499a-9226-4e86daa53bdf.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/229176bf-699b-499a-9226-4e86daa53bdf.json new file mode 100644 index 0000000000000000000000000000000000000000..1a230aa7cfc3032018f8b09e45455e4144513c5b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/229176bf-699b-499a-9226-4e86daa53bdf.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of type hexstring<\/b><\/font>\nshall be denoted by an arbitrary number (possibly zero) of the\nhexadecimal digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "229176bf-699b-499a-9226-4e86daa53bdf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22b3c2b1-e890-4b98-8265-9e0798956f9e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22b3c2b1-e890-4b98-8265-9e0798956f9e.json new file mode 100644 index 0000000000000000000000000000000000000000..bdc2ae98a08c86db85bdfb02028c0dc090debad8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22b3c2b1-e890-4b98-8265-9e0798956f9e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "may be used within\nthe control part of a module, test cases, altsteps, functions, or may\nbe embedded in other statement blocks or compound statements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "22b3c2b1-e890-4b98-8265-9e0798956f9e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22e63803-f841-464c-91db-ce8da9a8bdd8.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22e63803-f841-464c-91db-ce8da9a8bdd8.json new file mode 100644 index 0000000000000000000000000000000000000000..1aca4726adb0bbf94a7e23cc855fbe9064b27781 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/22e63803-f841-464c-91db-ce8da9a8bdd8.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Default values of component type formal parameters shall be one of\nthe special values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "22e63803-f841-464c-91db-ce8da9a8bdd8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/232816c8-b664-4301-aaab-2b38a19d38b5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/232816c8-b664-4301-aaab-2b38a19d38b5.json new file mode 100644 index 0000000000000000000000000000000000000000..c47d38bcd4563ea96c673a8512b5a6e30e6cb0e3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/232816c8-b664-4301-aaab-2b38a19d38b5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "this shall explicitly be\ndenoted by using a dash (don't change) symbol at the place of the\nmodified template parameters' default value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "232816c8-b664-4301-aaab-2b38a19d38b5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/23f808e0-6027-41b6-bc73-1b20841e3595.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/23f808e0-6027-41b6-bc73-1b20841e3595.json new file mode 100644 index 0000000000000000000000000000000000000000..20171de264d204508b28ce2c66ddf5ad5dd08b65 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/23f808e0-6027-41b6-bc73-1b20841e3595.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal parameters of modified\ntemplates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "23f808e0-6027-41b6-bc73-1b20841e3595" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2502f490-1e33-4783-9e01-6d6969691c7f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2502f490-1e33-4783-9e01-6d6969691c7f.json new file mode 100644 index 0000000000000000000000000000000000000000..eb476d462c2dcad5793ce9dfa4c43ec588b04e76 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2502f490-1e33-4783-9e01-6d6969691c7f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not contain the invocation of functions with\na runs on clause." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2502f490-1e33-4783-9e01-6d6969691c7f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2508a98d-6ddc-45d6-bdbc-459f67d688b1.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2508a98d-6ddc-45d6-bdbc-459f67d688b1.json new file mode 100644 index 0000000000000000000000000000000000000000..2ba197c7ede15d6b16c5ca87180f1382fabfd11f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2508a98d-6ddc-45d6-bdbc-459f67d688b1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall be component timers, local timers or\nformal timer parameters of the current scope<\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2508a98d-6ddc-45d6-bdbc-459f67d688b1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/25afa684-a178-40a0-a422-0256211d8ac4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/25afa684-a178-40a0-a422-0256211d8ac4.json new file mode 100644 index 0000000000000000000000000000000000000000..1e44895036068ca0607ac563bd52f9cf44650464 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/25afa684-a178-40a0-a422-0256211d8ac4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of type bitstring<\/b><\/font>\nshall be denoted by an arbitrary number (possibly zero) of the bit\ndigits: 0 1, preceded by a single quote ( ' ) and followed by\nthe pair of characters 'B" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "25afa684-a178-40a0-a422-0256211d8ac4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2698cbc6-7107-4794-ac6f-4f0af4104450.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2698cbc6-7107-4794-ac6f-4f0af4104450.json new file mode 100644 index 0000000000000000000000000000000000000000..dde23ef6777ccaff24c74e46f8503c62b3e5ef32 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2698cbc6-7107-4794-ac6f-4f0af4104450.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.13.2 List subtyping of structured types and anytype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2698cbc6-7107-4794-ac6f-4f0af4104450" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2768a1ce-d779-42b8-8bfd-0d11b71f6b67.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2768a1ce-d779-42b8-8bfd-0d11b71f6b67.json new file mode 100644 index 0000000000000000000000000000000000000000..dbea4eb770bb824ca3864054fee6589eef4e73f1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2768a1ce-d779-42b8-8bfd-0d11b71f6b67.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "uppercase and lowercase letters can equally be\nused as hex digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2768a1ce-d779-42b8-8bfd-0d11b71f6b67" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2832ac53-fa21-420b-92a6-e263ca5ba6a9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2832ac53-fa21-420b-92a6-e263ca5ba6a9.json new file mode 100644 index 0000000000000000000000000000000000000000..487f5b999f991db362ab8eefd44f723a34e4dd7d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2832ac53-fa21-420b-92a6-e263ca5ba6a9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Functions and altsteps can be parameterized with ports." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2832ac53-fa21-420b-92a6-e263ca5ba6a9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2a9f1795-7134-41df-8a37-4e255d330b1a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2a9f1795-7134-41df-8a37-4e255d330b1a.json new file mode 100644 index 0000000000000000000000000000000000000000..6f4ab2cdc892d40ccecc15e5d7a977e0e8558f8a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2a9f1795-7134-41df-8a37-4e255d330b1a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3.2.2 Compatibility of record and\nrecord of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2a9f1795-7134-41df-8a37-4e255d330b1a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2af35f17-3635-40e8-96bd-691cc8993889.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2af35f17-3635-40e8-96bd-691cc8993889.json new file mode 100644 index 0000000000000000000000000000000000000000..964bc1192cb994c91e7c814290dfaa162e7b606a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2af35f17-3635-40e8-96bd-691cc8993889.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "const" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2af35f17-3635-40e8-96bd-691cc8993889" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2b8d9ddf-5db1-4f15-8032-01cb3632a155.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2b8d9ddf-5db1-4f15-8032-01cb3632a155.json new file mode 100644 index 0000000000000000000000000000000000000000..5981827e2d1fd47b3ebb2516864ccd149c2cdab7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2b8d9ddf-5db1-4f15-8032-01cb3632a155.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.0 Simple\nbasic types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2b8d9ddf-5db1-4f15-8032-01cb3632a155" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2c178c29-8773-4dfd-bc9c-221268bf2c76.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2c178c29-8773-4dfd-bc9c-221268bf2c76.json new file mode 100644 index 0000000000000000000000000000000000000000..7dcaecd3e9cdd7052b1cacfee935b45a9949739b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2c178c29-8773-4dfd-bc9c-221268bf2c76.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "as a list in the same order as the formal\nparameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2c178c29-8773-4dfd-bc9c-221268bf2c76" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cd2dc98-f852-4c00-b020-f2ca980c2c31.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cd2dc98-f852-4c00-b020-f2ca980c2c31.json new file mode 100644 index 0000000000000000000000000000000000000000..557544653708a0a52e636e71f915b48916da4036 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cd2dc98-f852-4c00-b020-f2ca980c2c31.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

6.2.11 Component references<\/h3>\n

<\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2cd2dc98-f852-4c00-b020-f2ca980c2c31" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cf36a4a-9814-4222-ba2d-ae0dda891b9d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cf36a4a-9814-4222-ba2d-ae0dda891b9d.json new file mode 100644 index 0000000000000000000000000000000000000000..5fbcb3ff62e71da7468c866453977516d2c9c134 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2cf36a4a-9814-4222-ba2d-ae0dda891b9d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When using assignment notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2cf36a4a-9814-4222-ba2d-ae0dda891b9d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2f9a8bb0-0de3-4248-8d40-26d8cabbf9de.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2f9a8bb0-0de3-4248-8d40-26d8cabbf9de.json new file mode 100644 index 0000000000000000000000000000000000000000..ea890b4a1070ecbd3115688657ba82a8352cd4a6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/2f9a8bb0-0de3-4248-8d40-26d8cabbf9de.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "nor as identifiers of objects imported from modules of other\nlanguages." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "2f9a8bb0-0de3-4248-8d40-26d8cabbf9de" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/30a92210-1655-4ad6-a75b-d31087988cc5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/30a92210-1655-4ad6-a75b-d31087988cc5.json new file mode 100644 index 0000000000000000000000000000000000000000..edc6d3eb6845f44c6e252868ddfeae0cae84d20a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/30a92210-1655-4ad6-a75b-d31087988cc5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "port" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "30a92210-1655-4ad6-a75b-d31087988cc5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3147b183-efda-4abb-a3c2-693c64e4dbf3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3147b183-efda-4abb-a3c2-693c64e4dbf3.json new file mode 100644 index 0000000000000000000000000000000000000000..c2a8fb0f0da151c73d30ddccb243e5bb27b0bfeb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3147b183-efda-4abb-a3c2-693c64e4dbf3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Using of inout" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3147b183-efda-4abb-a3c2-693c64e4dbf3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/32fdc7ba-786c-403e-956a-da963215372c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/32fdc7ba-786c-403e-956a-da963215372c.json new file mode 100644 index 0000000000000000000000000000000000000000..91497e2d50b57c2264599e11fd3cffce07d7d461 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/32fdc7ba-786c-403e-956a-da963215372c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the language elements template<\/b><\/font>,\n testcase,<\/b><\/font> altstep<\/b><\/font>\n and function<\/b><\/font>\n support dynamic<\/i> value parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "32fdc7ba-786c-403e-956a-da963215372c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3343154d-2544-4175-b5cb-d8f963bca56c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3343154d-2544-4175-b5cb-d8f963bca56c.json new file mode 100644 index 0000000000000000000000000000000000000000..51e256d8e569dffb0b700d0ce69068a8af1cade0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3343154d-2544-4175-b5cb-d8f963bca56c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed to <\/font>inout<\/b><\/font><\/font>\nor <\/font>out<\/b><\/font><\/font>\nformal value parameters shall be variables or formal value parameters<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3343154d-2544-4175-b5cb-d8f963bca56c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/34b01854-dab1-468a-b603-5d719d7275ab.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/34b01854-dab1-468a-b603-5d719d7275ab.json new file mode 100644 index 0000000000000000000000000000000000000000..9bb06ea18d2ff50a41c865ddd3f3ffa431869c8c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/34b01854-dab1-468a-b603-5d719d7275ab.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3.2.1 Compatibility of enumerated\ntypes" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "34b01854-dab1-468a-b603-5d719d7275ab" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/35e5df6d-9eb5-4fe3-ae82-30c34ad041dd.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/35e5df6d-9eb5-4fe3-ae82-30c34ad041dd.json new file mode 100644 index 0000000000000000000000000000000000000000..fb21a6a06eebaf1e71e0badf1dfef905134ef2e5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/35e5df6d-9eb5-4fe3-ae82-30c34ad041dd.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Language elements which cannot be parameterized are" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "35e5df6d-9eb5-4fe3-ae82-30c34ad041dd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3620acc0-4c04-46b9-bb6c-cf9c69172e1d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3620acc0-4c04-46b9-bb6c-cf9c69172e1d.json new file mode 100644 index 0000000000000000000000000000000000000000..0a29c25833293a12427ed823b4c89ed953d70917 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3620acc0-4c04-46b9-bb6c-cf9c69172e1d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.4 Enumerated type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3620acc0-4c04-46b9-bb6c-cf9c69172e1d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/362e54a5-4706-49c0-abce-fcf9805043d2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/362e54a5-4706-49c0-abce-fcf9805043d2.json new file mode 100644 index 0000000000000000000000000000000000000000..3f4c7cf5353f580dfbe4cafbbf3d98734c15671a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/362e54a5-4706-49c0-abce-fcf9805043d2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.5 Unions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "362e54a5-4706-49c0-abce-fcf9805043d2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/375d0b27-92d4-48da-ae6e-f1afbd1a12bd.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/375d0b27-92d4-48da-ae6e-f1afbd1a12bd.json new file mode 100644 index 0000000000000000000000000000000000000000..815ee9a048cd566fe9ce4fee1e9df12bea9a2e55 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/375d0b27-92d4-48da-ae6e-f1afbd1a12bd.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The top-level unit of <\/font>TTCN\u20113\nis a module.<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "375d0b27-92d4-48da-ae6e-f1afbd1a12bd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/38b122ab-476f-4cbc-9250-8763ee034daa.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/38b122ab-476f-4cbc-9250-8763ee034daa.json new file mode 100644 index 0000000000000000000000000000000000000000..f0abdb0d63c63fa5bb15c206f602d99b797f1f74 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/38b122ab-476f-4cbc-9250-8763ee034daa.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.2.1 Scope of formal parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "38b122ab-476f-4cbc-9250-8763ee034daa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/39a96bce-4884-45dd-b1b4-6aac1d426b72.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/39a96bce-4884-45dd-b1b4-6aac1d426b72.json new file mode 100644 index 0000000000000000000000000000000000000000..3f6b3bcd588ef85d85fd8c23a9f63fa590c5b015 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/39a96bce-4884-45dd-b1b4-6aac1d426b72.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Accessing elements outside the\narray's range will cause a compile-time or test case error." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "39a96bce-4884-45dd-b1b4-6aac1d426b72" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3a6670ee-e1da-4b9d-ba57-23468ddb7b2d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3a6670ee-e1da-4b9d-ba57-23468ddb7b2d.json new file mode 100644 index 0000000000000000000000000000000000000000..a130f38625c432120a5312882e4fa4a6af0e2503 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3a6670ee-e1da-4b9d-ba57-23468ddb7b2d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "<mantissa><\/i> is a positive or negative integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3a6670ee-e1da-4b9d-ba57-23468ddb7b2d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3b7617d5-0714-4722-8327-026b7dd68837.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3b7617d5-0714-4722-8327-026b7dd68837.json new file mode 100644 index 0000000000000000000000000000000000000000..7e070a460d4d2aab0a3f8063ab4a856710a51885 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3b7617d5-0714-4722-8327-026b7dd68837.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3b7617d5-0714-4722-8327-026b7dd68837" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3cb0c0b6-4594-48d2-8e1a-6f99aa7e38a5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3cb0c0b6-4594-48d2-8e1a-6f99aa7e38a5.json new file mode 100644 index 0000000000000000000000000000000000000000..e4d6f8f71ab4718b21ae8cd6dfe3e30cacf575bf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3cb0c0b6-4594-48d2-8e1a-6f99aa7e38a5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The actual parameter of a formal\nparameter with default value can be skipped by using dash \"-\"\nas actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3cb0c0b6-4594-48d2-8e1a-6f99aa7e38a5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3e88728a-0250-457a-823f-8f5e9ca27aad.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3e88728a-0250-457a-823f-8f5e9ca27aad.json new file mode 100644 index 0000000000000000000000000000000000000000..b0db835b2b0a3106f968507811d7c67c282599e5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3e88728a-0250-457a-823f-8f5e9ca27aad.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal template\nparameters of modified templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3e88728a-0250-457a-823f-8f5e9ca27aad" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3fa6fcfc-9d55-466a-a25e-e59ff016850d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3fa6fcfc-9d55-466a-a25e-e59ff016850d.json new file mode 100644 index 0000000000000000000000000000000000000000..bb32fc6915cbafb1ad79f1f9026a2414142d9e02 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/3fa6fcfc-9d55-466a-a25e-e59ff016850d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not refer to elements of\nthe component type of the optional runs\non<\/b><\/font> clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "3fa6fcfc-9d55-466a-a25e-e59ff016850d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4072f5ff-67d3-43db-8c13-e8d56e19c45c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4072f5ff-67d3-43db-8c13-e8d56e19c45c.json new file mode 100644 index 0000000000000000000000000000000000000000..ceb5835ff4f11ffa71431c473d7928624fcf66b2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4072f5ff-67d3-43db-8c13-e8d56e19c45c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.2 Actual parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4072f5ff-67d3-43db-8c13-e8d56e19c45c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/40b277b8-bdc4-40b2-acbe-5878607cce88.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/40b277b8-bdc4-40b2-acbe-5878607cce88.json new file mode 100644 index 0000000000000000000000000000000000000000..fc070fa9474f27adcb70203073e2e617a3403a53 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/40b277b8-bdc4-40b2-acbe-5878607cce88.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.6.2 Using length restriction\nwith other constraints" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "40b277b8-bdc4-40b2-acbe-5878607cce88" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4261be0f-bfad-4866-8dff-7e78b744930d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4261be0f-bfad-4866-8dff-7e78b744930d.json new file mode 100644 index 0000000000000000000000000000000000000000..c83effc2796a61597a9171abf4018439d762342d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4261be0f-bfad-4866-8dff-7e78b744930d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the decimal notation with a dot in a sequence of numbers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4261be0f-bfad-4866-8dff-7e78b744930d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/42c2b9dc-f2fd-4fea-a3c8-51a1bb192b09.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/42c2b9dc-f2fd-4fea-a3c8-51a1bb192b09.json new file mode 100644 index 0000000000000000000000000000000000000000..1c56c863cfcabf98ad2d5f9337033a035d6268aa --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/42c2b9dc-f2fd-4fea-a3c8-51a1bb192b09.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.1.1 Accessing individual string\nelements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "42c2b9dc-f2fd-4fea-a3c8-51a1bb192b09" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/435cb85a-ff07-4050-8a66-cfd5e374ad53.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/435cb85a-ff07-4050-8a66-cfd5e374ad53.json new file mode 100644 index 0000000000000000000000000000000000000000..f6f92f7bac1f769e737c6cddfc760422c5e223b9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/435cb85a-ff07-4050-8a66-cfd5e374ad53.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "may inherit the default values from the corresponding\nparameters of their parent templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "435cb85a-ff07-4050-8a66-cfd5e374ad53" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/44fbf65a-e281-42cf-a8f2-f704224a169f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/44fbf65a-e281-42cf-a8f2-f704224a169f.json new file mode 100644 index 0000000000000000000000000000000000000000..012515ad96ec0f15b1a3d0e53f48b11f9e030ac9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/44fbf65a-e281-42cf-a8f2-f704224a169f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.1 Lists of templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "44fbf65a-e281-42cf-a8f2-f704224a169f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/460d51d4-2ae9-48e2-87f0-5381f668d0b3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/460d51d4-2ae9-48e2-87f0-5381f668d0b3.json new file mode 100644 index 0000000000000000000000000000000000000000..785cb85dfdc31dc3f7ae212f8d4445aa54209a22 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/460d51d4-2ae9-48e2-87f0-5381f668d0b3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.1.3 Formal parameters of kind timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "460d51d4-2ae9-48e2-87f0-5381f668d0b3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47055023-58c4-4a22-8ba3-141daa9c7ff3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47055023-58c4-4a22-8ba3-141daa9c7ff3.json new file mode 100644 index 0000000000000000000000000000000000000000..3b2f716e68db376e12411c813a4a1ff638e0f0da --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47055023-58c4-4a22-8ba3-141daa9c7ff3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.2 Scope rules" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "47055023-58c4-4a22-8ba3-141daa9c7ff3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47d86443-fd07-442e-9e84-7a59f69f934c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47d86443-fd07-442e-9e84-7a59f69f934c.json new file mode 100644 index 0000000000000000000000000000000000000000..69f65776deec37a1aec9b22904c011f4e4737dea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/47d86443-fd07-442e-9e84-7a59f69f934c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "self" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "47d86443-fd07-442e-9e84-7a59f69f934c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/48e4b889-bab0-4435-adc6-986583826fc7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/48e4b889-bab0-4435-adc6-986583826fc7.json new file mode 100644 index 0000000000000000000000000000000000000000..0fc4f72f8d42c9676b2ea0940c66432658e171e3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/48e4b889-bab0-4435-adc6-986583826fc7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.4 String length restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "48e4b889-bab0-4435-adc6-986583826fc7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4936c891-3b24-4d65-a553-134c9e5ba14e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4936c891-3b24-4d65-a553-134c9e5ba14e.json new file mode 100644 index 0000000000000000000000000000000000000000..208f664fed1f0a56dd3bcf678a08a78355778ff6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4936c891-3b24-4d65-a553-134c9e5ba14e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Component and default references are also handled as value\nparameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4936c891-3b24-4d65-a553-134c9e5ba14e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/49e664d4-f685-49cc-92f7-84d0163c7c53.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/49e664d4-f685-49cc-92f7-84d0163c7c53.json new file mode 100644 index 0000000000000000000000000000000000000000..dd27eb255fb1f57ea46f47aea7f19438bf450026 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/49e664d4-f685-49cc-92f7-84d0163c7c53.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.10 Component\ntypes" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "49e664d4-f685-49cc-92f7-84d0163c7c53" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4a18cea4-db68-4e65-b4a3-aeade906a40c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4a18cea4-db68-4e65-b4a3-aeade906a40c.json new file mode 100644 index 0000000000000000000000000000000000000000..afaedd06aeb07dcecf21946349c5776cf465abc5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4a18cea4-db68-4e65-b4a3-aeade906a40c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.1.2 Formal parameters of kind template" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4a18cea4-db68-4e65-b4a3-aeade906a40c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4be04ca4-a8c3-4ba1-8c0f-29989ff0accc.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4be04ca4-a8c3-4ba1-8c0f-29989ff0accc.json new file mode 100644 index 0000000000000000000000000000000000000000..355cb0663e5a5132c7681f067fd4ac61f58eced2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4be04ca4-a8c3-4ba1-8c0f-29989ff0accc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Stand-alone statement blocks and statements\nwithin compound statements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4be04ca4-a8c3-4ba1-8c0f-29989ff0accc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4e2a7c80-4409-4d56-b6f3-5dd172b2a15e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4e2a7c80-4409-4d56-b6f3-5dd172b2a15e.json new file mode 100644 index 0000000000000000000000000000000000000000..66d264ecdcd5d3fd422cc61472621c60cc060785 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4e2a7c80-4409-4d56-b6f3-5dd172b2a15e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "optional<\/b><\/font><\/font>\nkeyword shall not be used with <\/font>union<\/b><\/font><\/font>\ntypes<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4e2a7c80-4409-4d56-b6f3-5dd172b2a15e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4f35d0d0-9a98-4e8d-9265-5a6f4e740374.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4f35d0d0-9a98-4e8d-9265-5a6f4e740374.json new file mode 100644 index 0000000000000000000000000000000000000000..035e3846609b3db6f5fd14e719ded1e1bc5a9b2f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4f35d0d0-9a98-4e8d-9265-5a6f4e740374.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.1.1 Referencing fields of a record type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4f35d0d0-9a98-4e8d-9265-5a6f4e740374" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4fab62b5-2e81-4c57-8c55-af207f7bc887.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4fab62b5-2e81-4c57-8c55-af207f7bc887.json new file mode 100644 index 0000000000000000000000000000000000000000..eb64999ed300a9b686a0b64888fa9438c7a00716 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/4fab62b5-2e81-4c57-8c55-af207f7bc887.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The expression of the default value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "4fab62b5-2e81-4c57-8c55-af207f7bc887" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51048e86-e2ce-4336-8a02-6ef7823a88d5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51048e86-e2ce-4336-8a02-6ef7823a88d5.json new file mode 100644 index 0000000000000000000000000000000000000000..2bd5d0490f6feecf05fda2f0d7f6df98a4c979be --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51048e86-e2ce-4336-8a02-6ef7823a88d5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The identifier of a module (its module name) or of an imported module\nbelongs to the scope unit of the module and cannot be used as\nidentifier for other definitions inside this module." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "51048e86-e2ce-4336-8a02-6ef7823a88d5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/512422a1-3a64-443a-b408-cbef111cf7e2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/512422a1-3a64-443a-b408-cbef111cf7e2.json new file mode 100644 index 0000000000000000000000000000000000000000..6a55a7cb1666a4cfaf6be0332463a6bd1439b97e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/512422a1-3a64-443a-b408-cbef111cf7e2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "infinity<\/b><\/font>\n(positive infinity)" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "512422a1-3a64-443a-b408-cbef111cf7e2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51cd5713-6bf6-44a3-a33e-c7587de561ba.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51cd5713-6bf6-44a3-a33e-c7587de561ba.json new file mode 100644 index 0000000000000000000000000000000000000000..c492606f90f32459bb6df07f5194a6591b8f219f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/51cd5713-6bf6-44a3-a33e-c7587de561ba.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed <\/font>to\nformal port parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "51cd5713-6bf6-44a3-a33e-c7587de561ba" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/54289f56-ad72-4453-819c-11d67f51a3e7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/54289f56-ad72-4453-819c-11d67f51a3e7.json new file mode 100644 index 0000000000000000000000000000000000000000..2bb97b3c8f20036b2e7caaeaeffa594174902293 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/54289f56-ad72-4453-819c-11d67f51a3e7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.13.3 Subtyping of the iterated\ntype of record ofs and set ofs" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "54289f56-ad72-4453-819c-11d67f51a3e7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/568996d7-823a-460d-ac95-7719c1ac3f24.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/568996d7-823a-460d-ac95-7719c1ac3f24.json new file mode 100644 index 0000000000000000000000000000000000000000..139f3310153e204ff57f03696496c711f25f463e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/568996d7-823a-460d-ac95-7719c1ac3f24.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the order of elements in the actual\nparameter list shall be the same as their order in the corresponding\nformal parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "568996d7-823a-460d-ac95-7719c1ac3f24" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5736c14d-601e-47ae-8858-c55027cda04e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5736c14d-601e-47ae-8858-c55027cda04e.json new file mode 100644 index 0000000000000000000000000000000000000000..932832b234d46da8eb31f69ff1e6110120e7ee18 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5736c14d-601e-47ae-8858-c55027cda04e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the notation shall assign a value to one\nfield only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5736c14d-601e-47ae-8858-c55027cda04e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/58107574-dfe0-4438-a292-a9beb8d1b399.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/58107574-dfe0-4438-a292-a9beb8d1b399.json new file mode 100644 index 0000000000000000000000000000000000000000..07f3254986c82a340329e184eed61f7af890af91 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/58107574-dfe0-4438-a292-a9beb8d1b399.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "value not_a_number<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "58107574-dfe0-4438-a292-a9beb8d1b399" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5945a485-0191-4463-b686-ff792b7c731b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5945a485-0191-4463-b686-ff792b7c731b.json new file mode 100644 index 0000000000000000000000000000000000000000..6b43cf6b7982cf42f9633e32d64b3eb2af3aff26 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5945a485-0191-4463-b686-ff792b7c731b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Forward references to a\nlabel may be used in goto<\/b><\/font>\nstatements before the label occurs" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5945a485-0191-4463-b686-ff792b7c731b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ae8a2ec-a994-492e-b526-15496c5f3a3f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ae8a2ec-a994-492e-b526-15496c5f3a3f.json new file mode 100644 index 0000000000000000000000000000000000000000..9cd5e9b375e5a2d14cd1940bb7d20652518e870c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ae8a2ec-a994-492e-b526-15496c5f3a3f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "For each formal parameter without a default\nthere shall be an actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5ae8a2ec-a994-492e-b526-15496c5f3a3f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5d19d967-2caf-43fa-ad48-2478692eb320.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5d19d967-2caf-43fa-ad48-2478692eb320.json new file mode 100644 index 0000000000000000000000000000000000000000..75431576d36c4c61b61bb7dc146edeac25be09d3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5d19d967-2caf-43fa-ad48-2478692eb320.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ports passed in as parameters shall preserve their current state" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5d19d967-2caf-43fa-ad48-2478692eb320" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ea5048a-1785-4f2e-b062-f1e0f420ddc4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ea5048a-1785-4f2e-b062-f1e0f420ddc4.json new file mode 100644 index 0000000000000000000000000000000000000000..b94eaca54e150035fe9d6ab67c3740f891cac619 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5ea5048a-1785-4f2e-b062-f1e0f420ddc4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.3 Ranges" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5ea5048a-1785-4f2e-b062-f1e0f420ddc4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5f69aab3-ddde-4cb4-a266-3b0fa9443ad0.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5f69aab3-ddde-4cb4-a266-3b0fa9443ad0.json new file mode 100644 index 0000000000000000000000000000000000000000..31410f72269d6108832a3826a49073ed49c044ae --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5f69aab3-ddde-4cb4-a266-3b0fa9443ad0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3.2.3 Compatibility of set and set\nof types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5f69aab3-ddde-4cb4-a266-3b0fa9443ad0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5fd20e44-3ac1-475d-9ee0-e4873cb4dd6e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5fd20e44-3ac1-475d-9ee0-e4873cb4dd6e.json new file mode 100644 index 0000000000000000000000000000000000000000..327fac473ef4d8491b3e46fb9d423a98fbcf50c7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/5fd20e44-3ac1-475d-9ee0-e4873cb4dd6e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed by value to\n<\/font>in<\/b><\/font><\/font>\nformal value parameters<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "5fd20e44-3ac1-475d-9ee0-e4873cb4dd6e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/61bf720c-e148-4823-a7e5-bf91c13fffd3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/61bf720c-e148-4823-a7e5-bf91c13fffd3.json new file mode 100644 index 0000000000000000000000000000000000000000..4b4966db49059a1e390260048dd8c04909e9977c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/61bf720c-e148-4823-a7e5-bf91c13fffd3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "subtype definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "61bf720c-e148-4823-a7e5-bf91c13fffd3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6232b8c7-8b79-4eff-bb82-cc9582fd4c69.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6232b8c7-8b79-4eff-bb82-cc9582fd4c69.json new file mode 100644 index 0000000000000000000000000000000000000000..9910efd7c50892c6273208747cb7b6fd851ce1a6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6232b8c7-8b79-4eff-bb82-cc9582fd4c69.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the language element module<\/b><\/font>\n allows static <\/i>value parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6232b8c7-8b79-4eff-bb82-cc9582fd4c69" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/627e88ae-9b99-4937-acb5-d0d8899b3572.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/627e88ae-9b99-4937-acb5-d0d8899b3572.json new file mode 100644 index 0000000000000000000000000000000000000000..da94fbfdbd1aa6b668caf83b7ac24345d4564fe7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/627e88ae-9b99-4937-acb5-d0d8899b3572.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Port parameters\ncan be used within the parameterized object like any other port" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "627e88ae-9b99-4937-acb5-d0d8899b3572" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/63ddeb56-1c5f-4af0-a943-1580f02c7f35.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/63ddeb56-1c5f-4af0-a943-1580f02c7f35.json new file mode 100644 index 0000000000000000000000000000000000000000..96b8b9e3a456d54d0b706ce7800c65a86f2962f4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/63ddeb56-1c5f-4af0-a943-1580f02c7f35.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "mtc" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "63ddeb56-1c5f-4af0-a943-1580f02c7f35" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65187941-4ef9-4983-94d8-42dca5be02e6.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65187941-4ef9-4983-94d8-42dca5be02e6.json new file mode 100644 index 0000000000000000000000000000000000000000..c57783b18e909c41f09c110266cc42a177a9e48f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65187941-4ef9-4983-94d8-42dca5be02e6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "var" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "65187941-4ef9-4983-94d8-42dca5be02e6" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65547b23-ff50-41c1-8484-cf64e6ed191c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65547b23-ff50-41c1-8484-cf64e6ed191c.json new file mode 100644 index 0000000000000000000000000000000000000000..4df776728ecb39dd9b4142769a26043b7888c9a9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65547b23-ff50-41c1-8484-cf64e6ed191c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "65547b23-ff50-41c1-8484-cf64e6ed191c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65556d3a-bc93-4472-8391-960ea5a36b68.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65556d3a-bc93-4472-8391-960ea5a36b68.json new file mode 100644 index 0000000000000000000000000000000000000000..b9c91de2fa0ee0ff15fb2f82478a8a3eabc563ea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/65556d3a-bc93-4472-8391-960ea5a36b68.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In parameters may have a default template, which is given by a\ntemplate instance assigned to the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "65556d3a-bc93-4472-8391-960ea5a36b68" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/66fb9765-ad1b-4a01-8a48-24abfbbacc12.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/66fb9765-ad1b-4a01-8a48-24abfbbacc12.json new file mode 100644 index 0000000000000000000000000000000000000000..351cc2e53339b36e7f14ec5c87e9cd16f82fc2ae --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/66fb9765-ad1b-4a01-8a48-24abfbbacc12.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.9 Communication port types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "66fb9765-ad1b-4a01-8a48-24abfbbacc12" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/67a6946d-5203-40ae-80f7-944468e848de.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/67a6946d-5203-40ae-80f7-944468e848de.json new file mode 100644 index 0000000000000000000000000000000000000000..86e77a1332cc72efa2e5c986716cefa60d65d5b2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/67a6946d-5203-40ae-80f7-944468e848de.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "b) hexstring<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "67a6946d-5203-40ae-80f7-944468e848de" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6864891d-42d2-46b8-975c-3d31b1dc18c7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6864891d-42d2-46b8-975c-3d31b1dc18c7.json new file mode 100644 index 0000000000000000000000000000000000000000..b614ae8428c27c37fa5a11df937a8b8e9230c585 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6864891d-42d2-46b8-975c-3d31b1dc18c7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "to accept actual\nparameters containing a restricted set of matching mechanisms only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6864891d-42d2-46b8-975c-3d31b1dc18c7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69253f87-e3a0-4886-8e0c-d211e729e391.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69253f87-e3a0-4886-8e0c-d211e729e391.json new file mode 100644 index 0000000000000000000000000000000000000000..b60ba203312796aab3627893f4ab0c61851eb43e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69253f87-e3a0-4886-8e0c-d211e729e391.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " They may be specified also at the point of a\nvariable declaration." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "69253f87-e3a0-4886-8e0c-d211e729e391" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69d55189-3e40-439d-8f46-5ff943ecec31.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69d55189-3e40-439d-8f46-5ff943ecec31.json new file mode 100644 index 0000000000000000000000000000000000000000..2e908efe220bbe65355f30248525f6ce8a181639 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/69d55189-3e40-439d-8f46-5ff943ecec31.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal template parameters may be in, inout or\nout parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "69d55189-3e40-439d-8f46-5ff943ecec31" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a216e6a-8b34-46b1-9f57-67d553cda268.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a216e6a-8b34-46b1-9f57-67d553cda268.json new file mode 100644 index 0000000000000000000000000000000000000000..63557c5ed4be933adf00192d87f0fc911863badf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a216e6a-8b34-46b1-9f57-67d553cda268.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "b) Only function<\/b><\/font> -\nwith the exception of functions started as test component behaviour\n(see clause 21.3.2) - and altstep<\/b><\/font>\ndefinitions may have formal timer parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6a216e6a-8b34-46b1-9f57-67d553cda268" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a2a5444-b4e4-4be3-a11a-ab60d0e18c23.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a2a5444-b4e4-4be3-a11a-ab60d0e18c23.json new file mode 100644 index 0000000000000000000000000000000000000000..b1d4d6b4eff730e5cd8823ef09023f1adcf9c445 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6a2a5444-b4e4-4be3-a11a-ab60d0e18c23.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "<base><\/i> a positive integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6a2a5444-b4e4-4be3-a11a-ab60d0e18c23" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b4aa157-8aad-45ea-8349-b46a45ba1845.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b4aa157-8aad-45ea-8349-b46a45ba1845.json new file mode 100644 index 0000000000000000000000000000000000000000..31b328ab3410ecdd7b2c3a5d48f21e7c0bcda9b8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b4aa157-8aad-45ea-8349-b46a45ba1845.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "each formal parameter shall be\nassigned an actual parameter at most once" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6b4aa157-8aad-45ea-8349-b46a45ba1845" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b7a9946-892c-4597-8e95-89cb88a9aba2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b7a9946-892c-4597-8e95-89cb88a9aba2.json new file mode 100644 index 0000000000000000000000000000000000000000..ff4c87ee60c2c2666901b9cc9cdfefbc26576237 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6b7a9946-892c-4597-8e95-89cb88a9aba2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters that are passed <\/font>to\nformal timer parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6b7a9946-892c-4597-8e95-89cb88a9aba2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6d04d19b-cc72-4be2-82db-af30796cc205.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6d04d19b-cc72-4be2-82db-af30796cc205.json new file mode 100644 index 0000000000000000000000000000000000000000..ed0b5ebdde3e71d37c446a7e4f66ce37a43a7f3a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6d04d19b-cc72-4be2-82db-af30796cc205.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal value parameters of templates,<\/font>\nand of altsteps activated as defaults (see clause 20.5.2) shall\nalways be in<\/b><\/font>\nparameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6d04d19b-cc72-4be2-82db-af30796cc205" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6de5105d-30fc-4359-b6ca-298cef1df450.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6de5105d-30fc-4359-b6ca-298cef1df450.json new file mode 100644 index 0000000000000000000000000000000000000000..4b87fc127cbb9a80042720da910565dfb05e2f7d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6de5105d-30fc-4359-b6ca-298cef1df450.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In all other cases the empty\nparentheses shall be omitted." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6de5105d-30fc-4359-b6ca-298cef1df450" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e1c1d12-91d6-4992-94e7-4ababa2e8470.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e1c1d12-91d6-4992-94e7-4ababa2e8470.json new file mode 100644 index 0000000000000000000000000000000000000000..48dec0db037119519c8388979e353ff7dae6df35 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e1c1d12-91d6-4992-94e7-4ababa2e8470.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "When a formal parameter has been defined with a default value or\ntemplate, respectively, then it is not necessary to provide an actual\nparameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6e1c1d12-91d6-4992-94e7-4ababa2e8470" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e470631-0e8e-4322-85e4-c0cf0471f116.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e470631-0e8e-4322-85e4-c0cf0471f116.json new file mode 100644 index 0000000000000000000000000000000000000000..9dee301f7d8a968519d65f8163f7ce38eb151e11 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e470631-0e8e-4322-85e4-c0cf0471f116.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "mantissa of in theTTCN\u20113 value notation, beside integers,\nallows decimal numbers as well" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6e470631-0e8e-4322-85e4-c0cf0471f116" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e4ff214-de95-4891-ba67-d0a103f24df7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e4ff214-de95-4891-ba67-d0a103f24df7.json new file mode 100644 index 0000000000000000000000000000000000000000..5ab440fafc2fc3450525e38d2e4576068ef54939 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/6e4ff214-de95-4891-ba67-d0a103f24df7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.2 Set type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "6e4ff214-de95-4891-ba67-d0a103f24df7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70109ad0-7bad-4956-8fe0-75fd25130142.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70109ad0-7bad-4956-8fe0-75fd25130142.json new file mode 100644 index 0000000000000000000000000000000000000000..0b51e33aa677649695289d8012750d9bd0908fcf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70109ad0-7bad-4956-8fe0-75fd25130142.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Timer parameters can be used\nwithin the parameterized object like any other timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "70109ad0-7bad-4956-8fe0-75fd25130142" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70827e49-f888-4602-ba62-1b5a38288507.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70827e49-f888-4602-ba62-1b5a38288507.json new file mode 100644 index 0000000000000000000000000000000000000000..c54b8c31254ee594867099d1fdfcf69fb19db272 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/70827e49-f888-4602-ba62-1b5a38288507.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.3 Ordering of language elements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "70827e49-f888-4602-ba62-1b5a38288507" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/72e14800-aea4-4ae5-b3e1-f8106229d345.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/72e14800-aea4-4ae5-b3e1-f8106229d345.json new file mode 100644 index 0000000000000000000000000000000000000000..eb97c20f0ccf31eda493d356be51208a5d77ffd4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/72e14800-aea4-4ae5-b3e1-f8106229d345.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal in<\/b><\/font>\nparameters may have default values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "72e14800-aea4-4ae5-b3e1-f8106229d345" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/741f3fd6-bdaf-40a1-86e4-b76fb38aaa81.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/741f3fd6-bdaf-40a1-86e4-b76fb38aaa81.json new file mode 100644 index 0000000000000000000000000000000000000000..ac874ca3fa6b5dbc2eb3327982dfb637a72e30c1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/741f3fd6-bdaf-40a1-86e4-b76fb38aaa81.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not\ncontain the invocation of functions with a runs\non<\/b><\/font> clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "741f3fd6-bdaf-40a1-86e4-b76fb38aaa81" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/754e71d3-5816-4e8f-9d16-f37587fe2efc.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/754e71d3-5816-4e8f-9d16-f37587fe2efc.json new file mode 100644 index 0000000000000000000000000000000000000000..273694cacf84de3fc2404011af824ce5a345524b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/754e71d3-5816-4e8f-9d16-f37587fe2efc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "All parameterized entities specified as an actual parameter shall\nhave their own parameters resolved in the top\u2011level actual\nparameter list." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "754e71d3-5816-4e8f-9d16-f37587fe2efc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7566b030-2a78-4018-943b-754b1dcd8e51.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7566b030-2a78-4018-943b-754b1dcd8e51.json new file mode 100644 index 0000000000000000000000000000000000000000..1ce3e7d5f3dc1fa2ca057eed1711807cc2b01175 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7566b030-2a78-4018-943b-754b1dcd8e51.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "mtc" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7566b030-2a78-4018-943b-754b1dcd8e51" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75e850e9-0581-4ca7-a624-316f0bc2f86d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75e850e9-0581-4ca7-a624-316f0bc2f86d.json new file mode 100644 index 0000000000000000000000000000000000000000..6e20c99f4e3d97d85d9e6112a1d0c0e25ba0fa83 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75e850e9-0581-4ca7-a624-316f0bc2f86d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal parameters shall be in<\/b><\/font>,\ninout<\/b><\/font> or out<\/b><\/font>\nparameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "75e850e9-0581-4ca7-a624-316f0bc2f86d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75ff34f4-85ef-4a5f-a60c-b5456bdad1bb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75ff34f4-85ef-4a5f-a60c-b5456bdad1bb.json new file mode 100644 index 0000000000000000000000000000000000000000..c908c3c388cc2d24d99d70f1ffd76c3c4711cea7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/75ff34f4-85ef-4a5f-a60c-b5456bdad1bb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "75ff34f4-85ef-4a5f-a60c-b5456bdad1bb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/772451a6-1746-44aa-b8c6-93816f924323.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/772451a6-1746-44aa-b8c6-93816f924323.json new file mode 100644 index 0000000000000000000000000000000000000000..9c94e8b551a347797f8e4e52863e1468e9a353f0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/772451a6-1746-44aa-b8c6-93816f924323.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "a) bitstring<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "772451a6-1746-44aa-b8c6-93816f924323" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/77d74f8b-3bd2-46dc-a398-b8c840e293cb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/77d74f8b-3bd2-46dc-a398-b8c840e293cb.json new file mode 100644 index 0000000000000000000000000000000000000000..81a7d7edb833b432fef970e00e16d3f2f735dbd9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/77d74f8b-3bd2-46dc-a398-b8c840e293cb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.6 The\nanytype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "77d74f8b-3bd2-46dc-a398-b8c840e293cb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/78fd11ab-04d6-4a86-b267-db4f759054c0.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/78fd11ab-04d6-4a86-b267-db4f759054c0.json new file mode 100644 index 0000000000000000000000000000000000000000..914d796bb2c5e5f2ef069a76836cfd4abe1e84fe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/78fd11ab-04d6-4a86-b267-db4f759054c0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "restricted to the definition in which\nthe parameters appear" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "78fd11ab-04d6-4a86-b267-db4f759054c0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7a9924e7-558b-48ee-b725-3a9ae9258dae.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7a9924e7-558b-48ee-b725-3a9ae9258dae.json new file mode 100644 index 0000000000000000000000000000000000000000..5d28b4ad3cb5d5d147867741ebc4cebbd5a2fe55 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7a9924e7-558b-48ee-b725-3a9ae9258dae.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.10.1 Component type definition" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7a9924e7-558b-48ee-b725-3a9ae9258dae" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7bd09538-f57f-465f-b65d-f602fb367230.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7bd09538-f57f-465f-b65d-f602fb367230.json new file mode 100644 index 0000000000000000000000000000000000000000..3cb74c4472cfb398e1000e30b8c8a4a3c6abd60f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7bd09538-f57f-465f-b65d-f602fb367230.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "If not stated otherwise,\na formal parameter is an in<\/b><\/font>\nparameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7bd09538-f57f-465f-b65d-f602fb367230" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c2800ce-ca0d-4d65-8249-c667669ea5d5.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c2800ce-ca0d-4d65-8249-c667669ea5d5.json new file mode 100644 index 0000000000000000000000000000000000000000..081c357bd42bf81f1644964ca721475b3af05486 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c2800ce-ca0d-4d65-8249-c667669ea5d5.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal template parameters can be restricted" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7c2800ce-ca0d-4d65-8249-c667669ea5d5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c928658-e766-4c29-a636-29835e3e691f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c928658-e766-4c29-a636-29835e3e691f.json new file mode 100644 index 0000000000000000000000000000000000000000..7bd67458f0f9b8f8b2f24dc74502a0ed5c160b8c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7c928658-e766-4c29-a636-29835e3e691f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3 Type compatibility" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7c928658-e766-4c29-a636-29835e3e691f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7daea996-d97b-4275-a160-4a63e3b39d8a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7daea996-d97b-4275-a160-4a63e3b39d8a.json new file mode 100644 index 0000000000000000000000000000000000000000..96d1ca041d66dd3cdfda6f631a2e5a6117a894c7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7daea996-d97b-4275-a160-4a63e3b39d8a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Direct and indirect cyclic definitions are not allowed" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7daea996-d97b-4275-a160-4a63e3b39d8a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7db0dbf7-12f6-4ccb-b420-6d13a5464360.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7db0dbf7-12f6-4ccb-b420-6d13a5464360.json new file mode 100644 index 0000000000000000000000000000000000000000..68e6460280ddf13252879c1148f2529de1846a51 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7db0dbf7-12f6-4ccb-b420-6d13a5464360.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "may inherit their default templates\nfrom the corresponding parameters of their parent templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7db0dbf7-12f6-4ccb-b420-6d13a5464360" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7fc11334-1215-4996-9f3a-96d87976551c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7fc11334-1215-4996-9f3a-96d87976551c.json new file mode 100644 index 0000000000000000000000000000000000000000..7790d50db61a3b1d310adc5c8853470a47128703 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/7fc11334-1215-4996-9f3a-96d87976551c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "A module\ncan import definitions from other modules." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "7fc11334-1215-4996-9f3a-96d87976551c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/804d98e9-cd7f-4332-b054-43438b43382d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/804d98e9-cd7f-4332-b054-43438b43382d.json new file mode 100644 index 0000000000000000000000000000000000000000..27da2a7e7fa8bce4a89228629b3ecbce3a21bf90 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/804d98e9-cd7f-4332-b054-43438b43382d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "to the lower levels of scope in the same\nscope hierarchy" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "804d98e9-cd7f-4332-b054-43438b43382d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a08387-fc96-4c8c-8f3c-3f7a604486f4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a08387-fc96-4c8c-8f3c-3f7a604486f4.json new file mode 100644 index 0000000000000000000000000000000000000000..b7c05aae858da134dd83214ba0b2d8d3c6bee8d4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a08387-fc96-4c8c-8f3c-3f7a604486f4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.8 The default type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "81a08387-fc96-4c8c-8f3c-3f7a604486f4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a971a2-7da9-4e24-8ee0-a043b2eb660f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a971a2-7da9-4e24-8ee0-a043b2eb660f.json new file mode 100644 index 0000000000000000000000000000000000000000..b1ccb4af42dd4a54e08c7e0194fcca1479a02e02 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/81a971a2-7da9-4e24-8ee0-a043b2eb660f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.10.2 Reuse of component types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "81a971a2-7da9-4e24-8ee0-a043b2eb660f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8285c957-265f-47ed-88ba-7ba4059d38ce.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8285c957-265f-47ed-88ba-7ba4059d38ce.json new file mode 100644 index 0000000000000000000000000000000000000000..10f999e87a3505b4a404d1ff7128b0d3c6888338 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8285c957-265f-47ed-88ba-7ba4059d38ce.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In order\nto use the default value of a formal parameter, no assignment for\nthis specific parameter shall be provided." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8285c957-265f-47ed-88ba-7ba4059d38ce" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82e411b6-c5d2-49d7-8f90-775636128927.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82e411b6-c5d2-49d7-8f90-775636128927.json new file mode 100644 index 0000000000000000000000000000000000000000..4a6985e4588d261e0513c5f9a65299e488084fc7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82e411b6-c5d2-49d7-8f90-775636128927.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall be resolved by the commencement\n of run-time" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "82e411b6-c5d2-49d7-8f90-775636128927" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82f2c34b-d009-48ea-bcc9-9a11cf9d0e8b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82f2c34b-d009-48ea-bcc9-9a11cf9d0e8b.json new file mode 100644 index 0000000000000000000000000000000000000000..0061c808f4c8135224edbf69990f93a1e6e4d714 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/82f2c34b-d009-48ea-bcc9-9a11cf9d0e8b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "self" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "82f2c34b-d009-48ea-bcc9-9a11cf9d0e8b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/83db3a76-7716-4478-8dba-6cbbbbbc371d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/83db3a76-7716-4478-8dba-6cbbbbbc371d.json new file mode 100644 index 0000000000000000000000000000000000000000..81ab5c31bc13d79c4de1749d1608d6e94f523399 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/83db3a76-7716-4478-8dba-6cbbbbbc371d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "For each formal parameter\nwithout default value, there shall be an actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "83db3a76-7716-4478-8dba-6cbbbbbc371d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8759bb62-82c3-44c9-8e1d-7c432e7fda9f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8759bb62-82c3-44c9-8e1d-7c432e7fda9f.json new file mode 100644 index 0000000000000000000000000000000000000000..a177890c9b2d4afd3a8ce472f274cc6f58c61bea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8759bb62-82c3-44c9-8e1d-7c432e7fda9f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Default values of default type formal parameters shall be the\nspecial value null<\/b><\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8759bb62-82c3-44c9-8e1d-7c432e7fda9f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/895552a5-b944-4b20-a9b4-c40d03395cb8.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/895552a5-b944-4b20-a9b4-c40d03395cb8.json new file mode 100644 index 0000000000000000000000000000000000000000..e85f9caecc3a2ec3385de61b27c18d1da1d5170b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/895552a5-b944-4b20-a9b4-c40d03395cb8.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In the case of\ndefault references the TTCN-3 type default<\/b><\/font>\nis the type of the formal parameter." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "895552a5-b944-4b20-a9b4-c40d03395cb8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/89c78e7d-9149-4861-9c32-2e8dfcf474da.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/89c78e7d-9149-4861-9c32-2e8dfcf474da.json new file mode 100644 index 0000000000000000000000000000000000000000..1a3e3e6d95e023165daa0729434c7a79b74cd0b4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/89c78e7d-9149-4861-9c32-2e8dfcf474da.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.5 Cyclic Definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "89c78e7d-9149-4861-9c32-2e8dfcf474da" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a02837f-f719-4422-9e7d-3f95317f16cb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a02837f-f719-4422-9e7d-3f95317f16cb.json new file mode 100644 index 0000000000000000000000000000000000000000..f8f503d4df87cb53f8105ac381a14b16520fa6b1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a02837f-f719-4422-9e7d-3f95317f16cb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "An actual parameter can also be skipped by just\nleaving it out if no other actual parameter follows in the actual\nparameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8a02837f-f719-4422-9e7d-3f95317f16cb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a3b3b97-4270-4b8f-b7fc-775648933b52.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a3b3b97-4270-4b8f-b7fc-775648933b52.json new file mode 100644 index 0000000000000000000000000000000000000000..b82def52dfd2729ce785e96a34b13213f52465ee --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8a3b3b97-4270-4b8f-b7fc-775648933b52.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Only one of the specified alternatives will ever be\npresent in an actual union value." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8a3b3b97-4270-4b8f-b7fc-775648933b52" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c253140-29f8-4eea-8222-2864d25f0ce7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c253140-29f8-4eea-8222-2864d25f0ce7.json new file mode 100644 index 0000000000000000000000000000000000000000..be3f0232df333eed30c7ea984230c98e05b43b51 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c253140-29f8-4eea-8222-2864d25f0ce7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal parameters can be\nused directly as actual parameters for other parameterized objects" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8c253140-29f8-4eea-8222-2864d25f0ce7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c8017a9-070b-4276-aae4-2d2db11f7b86.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c8017a9-070b-4276-aae4-2d2db11f7b86.json new file mode 100644 index 0000000000000000000000000000000000000000..4b5f9cd6fac2b3bcad791fbd0c259d285a72a712 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8c8017a9-070b-4276-aae4-2d2db11f7b86.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "function and altstep definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8c8017a9-070b-4276-aae4-2d2db11f7b86" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d40ec1d-7bf9-4aaf-8904-cec10184c8fa.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d40ec1d-7bf9-4aaf-8904-cec10184c8fa.json new file mode 100644 index 0000000000000000000000000000000000000000..19a69ac5c6c8a6c948e19bd585707408880f249d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d40ec1d-7bf9-4aaf-8904-cec10184c8fa.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "distinguished values are the ordered sequences of zero\nor a positive even number of hexadecimal digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8d40ec1d-7bf9-4aaf-8904-cec10184c8fa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d650b89-4122-4bb9-b202-287fcfac9a8d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d650b89-4122-4bb9-b202-287fcfac9a8d.json new file mode 100644 index 0000000000000000000000000000000000000000..42816b532572f4af16f2069af3f47575b96fc402 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d650b89-4122-4bb9-b202-287fcfac9a8d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "local variables, local timers,\nand local constants shall never be used before they are declared." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8d650b89-4122-4bb9-b202-287fcfac9a8d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d7e6469-3df9-44da-ae35-f5035053252e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d7e6469-3df9-44da-ae35-f5035053252e.json new file mode 100644 index 0000000000000000000000000000000000000000..d1a3a12602e6a5d52e96af36b7abf05775413887 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8d7e6469-3df9-44da-ae35-f5035053252e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.3.2 Compatibility of structured\ntypes" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8d7e6469-3df9-44da-ae35-f5035053252e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8f986ab1-c934-43ab-86e0-c5efd69b4c0a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8f986ab1-c934-43ab-86e0-c5efd69b4c0a.json new file mode 100644 index 0000000000000000000000000000000000000000..7f2bc80a2029862cc477bf37209fe3c54a54c415 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/8f986ab1-c934-43ab-86e0-c5efd69b4c0a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Optional fields are not allowed for the <\/font>union<\/b><\/font><\/font>\ntype<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "8f986ab1-c934-43ab-86e0-c5efd69b4c0a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/908380e2-8821-4980-b293-af1e6f4fb5d7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/908380e2-8821-4980-b293-af1e6f4fb5d7.json new file mode 100644 index 0000000000000000000000000000000000000000..9fd3418fb6713eca0c2cdf0a19298d4f14b59e6e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/908380e2-8821-4980-b293-af1e6f4fb5d7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.1 Basic\nstring types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "908380e2-8821-4980-b293-af1e6f4fb5d7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/93f015ac-d01c-4dea-8872-eac90a69bf4e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/93f015ac-d01c-4dea-8872-eac90a69bf4e.json new file mode 100644 index 0000000000000000000000000000000000000000..7fe2cdf6aa17b061f0793fe67249fe09e058cc4f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/93f015ac-d01c-4dea-8872-eac90a69bf4e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not refer to other parameters in the same parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "93f015ac-d01c-4dea-8872-eac90a69bf4e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/943b9783-01de-49bf-9433-d9533193feb1.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/943b9783-01de-49bf-9433-d9533193feb1.json new file mode 100644 index 0000000000000000000000000000000000000000..17be672ba07aa1b330bc6ccee27ec07295860d74 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/943b9783-01de-49bf-9433-d9533193feb1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.2.2 Uniqueness of identifiers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "943b9783-01de-49bf-9433-d9533193feb1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9537dfa3-7c2f-4078-ad18-48d2e33a1819.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9537dfa3-7c2f-4078-ad18-48d2e33a1819.json new file mode 100644 index 0000000000000000000000000000000000000000..6511ea0926e2fa766cc794eb84767502a98db008 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9537dfa3-7c2f-4078-ad18-48d2e33a1819.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "inside the module\ncontrol part, test case definitions, functions, altsteps, and\nstatement blocks, all required declarations shall be given\nbeforehand" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "9537dfa3-7c2f-4078-ad18-48d2e33a1819" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/957f20c2-578e-4d70-9fa8-2e4a8286c6a9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/957f20c2-578e-4d70-9fa8-2e4a8286c6a9.json new file mode 100644 index 0000000000000000000000000000000000000000..274f7ce1d4b0d79d403dfc5e4ff7d06cd73e6be7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/957f20c2-578e-4d70-9fa8-2e4a8286c6a9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal timer parameters are identified by the keyword timer<\/b><\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "957f20c2-578e-4d70-9fa8-2e4a8286c6a9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95c85e9d-a210-4f9e-b198-64477d6a5aa0.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95c85e9d-a210-4f9e-b198-64477d6a5aa0.json new file mode 100644 index 0000000000000000000000000000000000000000..a68013c056df40fa8f9c2c2f40b478484eb145ae --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95c85e9d-a210-4f9e-b198-64477d6a5aa0.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "set<\/b><\/font>\n<\/font>of<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "95c85e9d-a210-4f9e-b198-64477d6a5aa0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95d98609-268d-4ecb-8bdc-28d838429f00.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95d98609-268d-4ecb-8bdc-28d838429f00.json new file mode 100644 index 0000000000000000000000000000000000000000..832eba41c3af7f524a09b5bdd82580bdbd1fe3bc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/95d98609-268d-4ecb-8bdc-28d838429f00.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "all declarations (if any), shall be made at the beginning\nof the statement block only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "95d98609-268d-4ecb-8bdc-28d838429f00" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/972ef5c9-60ad-445c-9971-3bfa7db82815.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/972ef5c9-60ad-445c-9971-3bfa7db82815.json new file mode 100644 index 0000000000000000000000000000000000000000..627e40d406fab46d0d5cf3b5eb84f8312a68c41a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/972ef5c9-60ad-445c-9971-3bfa7db82815.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Either list notation or assignment notation shall be used in a\nsingle parameter list. They shall not be mixed." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "972ef5c9-60ad-445c-9971-3bfa7db82815" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97682470-dc4e-4bfd-bb10-aaace604ca5c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97682470-dc4e-4bfd-bb10-aaace604ca5c.json new file mode 100644 index 0000000000000000000000000000000000000000..973de4ca69908b0dcc20a73ee20e783497725fd9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97682470-dc4e-4bfd-bb10-aaace604ca5c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "TTCN-3 allows to parameterize modules, templates, functions, altsteps\nand testcases." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "97682470-dc4e-4bfd-bb10-aaace604ca5c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97b96335-bf20-4703-a401-e8b26d2b86c1.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97b96335-bf20-4703-a401-e8b26d2b86c1.json new file mode 100644 index 0000000000000000000000000000000000000000..f44513a4d12b4efd45404332c099169cbb38e528 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97b96335-bf20-4703-a401-e8b26d2b86c1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The restriction template (omit)<\/b>\ncan be replaced by the shorthand notation omit<\/b>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "97b96335-bf20-4703-a401-e8b26d2b86c1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97dd3da3-a61f-472e-adac-a4a1140ec8eb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97dd3da3-a61f-472e-adac-a4a1140ec8eb.json new file mode 100644 index 0000000000000000000000000000000000000000..1211e2777dc7b9665c181a668bc142f0473b7a63 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/97dd3da3-a61f-472e-adac-a4a1140ec8eb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.2.2 Optional elements in a set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "97dd3da3-a61f-472e-adac-a4a1140ec8eb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9b8e9fa9-c9d7-48ef-a31a-f1509d2a8c1d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9b8e9fa9-c9d7-48ef-a31a-f1509d2a8c1d.json new file mode 100644 index 0000000000000000000000000000000000000000..d64204f902b6b6708d348fe058acac5b001389b6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9b8e9fa9-c9d7-48ef-a31a-f1509d2a8c1d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "c) boolean<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "9b8e9fa9-c9d7-48ef-a31a-f1509d2a8c1d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9e54c586-99f2-4723-8dee-51390939da24.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9e54c586-99f2-4723-8dee-51390939da24.json new file mode 100644 index 0000000000000000000000000000000000000000..7790f7514f3e438126aa50ae196aca82f7b52ce0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9e54c586-99f2-4723-8dee-51390939da24.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "a) Only function<\/b><\/font>,\n<\/b>testcase<\/b><\/font>,\naltstep<\/b><\/font> and\ntemplate<\/b><\/font>\ndefinitions may have formal template parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "9e54c586-99f2-4723-8dee-51390939da24" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9f9b48c9-f791-4f92-ae28-9865b80705dd.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9f9b48c9-f791-4f92-ae28-9865b80705dd.json new file mode 100644 index 0000000000000000000000000000000000000000..bc74f780c319fd3ae222117093996e9b78d3cfce --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/9f9b48c9-f791-4f92-ae28-9865b80705dd.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.13.4 Mixing subtyping mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "9f9b48c9-f791-4f92-ae28-9865b80705dd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0acf2ff-2e70-4ff3-9fb4-804298824bdb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0acf2ff-2e70-4ff3-9fb4-804298824bdb.json new file mode 100644 index 0000000000000000000000000000000000000000..cbbb7f1e7356f94c5b5f2763d4d19f6d8840b000 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0acf2ff-2e70-4ff3-9fb4-804298824bdb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "

6.2.13.1 Length subtyping of record ofs and set ofs<\/h4>\n

<\/p>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a0acf2ff-2e70-4ff3-9fb4-804298824bdb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0b88a8d-b265-48af-a496-e21292eb8d6c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0b88a8d-b265-48af-a496-e21292eb8d6c.json new file mode 100644 index 0000000000000000000000000000000000000000..b8fee69f2adc11e3dc521a1b321206e7ef999433 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a0b88a8d-b265-48af-a496-e21292eb8d6c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "TTCN\u20113\nkeywords shall neither be used as identifiers of <\/font>TTCN\u20113\nobjects<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a0b88a8d-b265-48af-a496-e21292eb8d6c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a16eaebc-dc07-4e8e-9c28-f32b5d9831dc.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a16eaebc-dc07-4e8e-9c28-f32b5d9831dc.json new file mode 100644 index 0000000000000000000000000000000000000000..231d3bea5c75817b8b9984c8861e3b95383eca8e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a16eaebc-dc07-4e8e-9c28-f32b5d9831dc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.6.1 Mixing patterns, lists and\nranges" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a16eaebc-dc07-4e8e-9c28-f32b5d9831dc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a1f838f9-b12d-47e1-9316-5a6954761379.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a1f838f9-b12d-47e1-9316-5a6954761379.json new file mode 100644 index 0000000000000000000000000000000000000000..9dd4a96938b06b084aded459325beaa80d25f779 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a1f838f9-b12d-47e1-9316-5a6954761379.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.1.3 Nested type definitions for field types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a1f838f9-b12d-47e1-9316-5a6954761379" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a44599a8-fc3b-44cc-b55a-e857c682e866.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a44599a8-fc3b-44cc-b55a-e857c682e866.json new file mode 100644 index 0000000000000000000000000000000000000000..a40f67acb3c1928116df208f2ca8501c066115b6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a44599a8-fc3b-44cc-b55a-e857c682e866.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Templates parameters can be defined for templates, functions,\naltsteps, and test cases" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a44599a8-fc3b-44cc-b55a-e857c682e866" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a5e21578-87b8-4759-83b7-b47c69aed11a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a5e21578-87b8-4759-83b7-b47c69aed11a.json new file mode 100644 index 0000000000000000000000000000000000000000..0dc596ec387887ccee03353ac8e316f3a2fb05d1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a5e21578-87b8-4759-83b7-b47c69aed11a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the value zero\nshall be represented by a single zero" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a5e21578-87b8-4759-83b7-b47c69aed11a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a658d6b4-ea59-4e14-b148-285d9ce1b180.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a658d6b4-ea59-4e14-b148-285d9ce1b180.json new file mode 100644 index 0000000000000000000000000000000000000000..26252feee5362bdd0ba1a6cffe76eb2482c75c9e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a658d6b4-ea59-4e14-b148-285d9ce1b180.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "out kind" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a658d6b4-ea59-4e14-b148-285d9ce1b180" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a761e44d-2d5e-4b64-8e7c-2911c6d5a3ea.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a761e44d-2d5e-4b64-8e7c-2911c6d5a3ea.json new file mode 100644 index 0000000000000000000000000000000000000000..8709e302ce81e1a08fad99d63e5c4591f6226218 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a761e44d-2d5e-4b64-8e7c-2911c6d5a3ea.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "may be used in a component\ntype extending this component type definition" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a761e44d-2d5e-4b64-8e7c-2911c6d5a3ea" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7a011cc-b20e-4ae0-8e9b-01375f4d01ce.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7a011cc-b20e-4ae0-8e9b-01375f4d01ce.json new file mode 100644 index 0000000000000000000000000000000000000000..a1650d9de733bd407a57be0207bc2a07d6889c7c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7a011cc-b20e-4ae0-8e9b-01375f4d01ce.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of verdicttype<\/b><\/font>\nshall be denoted by pass<\/b><\/font>,\nfail<\/b><\/font>, inconc<\/b><\/font>,\nnone<\/b><\/font> and error<\/b><\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a7a011cc-b20e-4ae0-8e9b-01375f4d01ce" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7b4a619-5096-4e32-ab48-559468ae1e40.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7b4a619-5096-4e32-ab48-559468ae1e40.json new file mode 100644 index 0000000000000000000000000000000000000000..5a6a24bc5e213a49be5a9856e67c5788e3665c80 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a7b4a619-5096-4e32-ab48-559468ae1e40.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "definition of types for union alternatives\nnested within the union definition, similar to the mechanism for\nrecord types described in clause 6.2.1.3." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a7b4a619-5096-4e32-ab48-559468ae1e40" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a89f5520-01f2-41c3-95ec-49f6595a093a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a89f5520-01f2-41c3-95ec-49f6595a093a.json new file mode 100644 index 0000000000000000000000000000000000000000..3c5603be533fccdfd101f0fc8fab2cb67629bd5e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/a89f5520-01f2-41c3-95ec-49f6595a093a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "component" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "a89f5520-01f2-41c3-95ec-49f6595a093a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/aa68a389-4b86-48fa-ab3a-b815ffdd7607.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/aa68a389-4b86-48fa-ab3a-b815ffdd7607.json new file mode 100644 index 0000000000000000000000000000000000000000..3698dc9d59e33245bc5523665765845538170ce6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/aa68a389-4b86-48fa-ab3a-b815ffdd7607.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "aa68a389-4b86-48fa-ab3a-b815ffdd7607" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ab9dc979-78be-4113-82fe-2e95b247bb90.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ab9dc979-78be-4113-82fe-2e95b247bb90.json new file mode 100644 index 0000000000000000000000000000000000000000..3efc657656b3665b469e6b9d2c548c7e78c57289 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ab9dc979-78be-4113-82fe-2e95b247bb90.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "do not have to be globally unique" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ab9dc979-78be-4113-82fe-2e95b247bb90" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/abb5e383-d80a-493a-bb4c-a99229015326.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/abb5e383-d80a-493a-bb4c-a99229015326.json new file mode 100644 index 0000000000000000000000000000000000000000..b09f617673e2c483e85e4e2c3ca01b8f0521c4c9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/abb5e383-d80a-493a-bb4c-a99229015326.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "7.1.1 Arithmetic operators" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "abb5e383-d80a-493a-bb4c-a99229015326" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ac443e50-31c1-4bca-a6dd-c0d74364cb73.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ac443e50-31c1-4bca-a6dd-c0d74364cb73.json new file mode 100644 index 0000000000000000000000000000000000000000..52502d707373fd800a00bcb504a1cb86bd63d097 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ac443e50-31c1-4bca-a6dd-c0d74364cb73.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Modules can have module\nparameters to allow test suite parameterization." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ac443e50-31c1-4bca-a6dd-c0d74364cb73" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ad112316-e5ac-4c99-b8c5-b51e335e726c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ad112316-e5ac-4c99-b8c5-b51e335e726c.json new file mode 100644 index 0000000000000000000000000000000000000000..fad1d383888f9fa2d36c80dad68f5a6734b861ab --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ad112316-e5ac-4c99-b8c5-b51e335e726c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ad112316-e5ac-4c99-b8c5-b51e335e726c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adeae196-692a-4e1c-a992-ab0d450f1d06.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adeae196-692a-4e1c-a992-ab0d450f1d06.json new file mode 100644 index 0000000000000000000000000000000000000000..3066413289d95b75e55a166d8a83457f06153fde --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adeae196-692a-4e1c-a992-ab0d450f1d06.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Elements of a <\/font>set<\/b><\/font><\/font>\nshall be referenced by the dot notation<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "adeae196-692a-4e1c-a992-ab0d450f1d06" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adf0323c-f873-44bc-8ff8-e8c7f340df01.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adf0323c-f873-44bc-8ff8-e8c7f340df01.json new file mode 100644 index 0000000000000000000000000000000000000000..09a8a41d8252cc90277e94cc5e2956f3fde43443 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/adf0323c-f873-44bc-8ff8-e8c7f340df01.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " in the case of enumerated values the\nidentifiers shall only be reused for enumerated values within other\nenumerated types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "adf0323c-f873-44bc-8ff8-e8c7f340df01" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b105d622-5aed-47dc-afb5-45068c5d1713.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b105d622-5aed-47dc-afb5-45068c5d1713.json new file mode 100644 index 0000000000000000000000000000000000000000..8a1181bfbae41d14fb4037edab3c8b7dab5ea942 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b105d622-5aed-47dc-afb5-45068c5d1713.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "using list notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b105d622-5aed-47dc-afb5-45068c5d1713" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b1f38b32-6142-49dd-9290-2f8c8a5cff0d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b1f38b32-6142-49dd-9290-2f8c8a5cff0d.json new file mode 100644 index 0000000000000000000000000000000000000000..56a2a8255b98cf10f89a3f6f64c39ba247036691 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b1f38b32-6142-49dd-9290-2f8c8a5cff0d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.5.2 Option and union" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b1f38b32-6142-49dd-9290-2f8c8a5cff0d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b23d98ec-fa9d-4bc8-a04a-32173da5582b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b23d98ec-fa9d-4bc8-a04a-32173da5582b.json new file mode 100644 index 0000000000000000000000000000000000000000..f8997d1a6ec0d299094e29862a91ae9d00d6dbfc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b23d98ec-fa9d-4bc8-a04a-32173da5582b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "a) Formal port parameters shall be inout parameters, which can\noptionally be indicated by the keyword inout<\/b>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b23d98ec-fa9d-4bc8-a04a-32173da5582b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3a6966d-e7c1-4600-aab0-6562080e4fc6.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3a6966d-e7c1-4600-aab0-6562080e4fc6.json new file mode 100644 index 0000000000000000000000000000000000000000..0281d3e484218bf9636e68d6507d4bba52dcefbb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3a6966d-e7c1-4600-aab0-6562080e4fc6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.1.1 Formal parameters of kind\nvalue" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b3a6966d-e7c1-4600-aab0-6562080e4fc6" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3f46558-9965-438a-ab8c-d6dcfd6aafc1.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3f46558-9965-438a-ab8c-d6dcfd6aafc1.json new file mode 100644 index 0000000000000000000000000000000000000000..1fd04a3562b487528afa22ab14e04c8a619922b9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b3f46558-9965-438a-ab8c-d6dcfd6aafc1.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "c) octetstring<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b3f46558-9965-438a-ab8c-d6dcfd6aafc1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b69adac2-d768-4d81-99ad-aea920412fb9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b69adac2-d768-4d81-99ad-aea920412fb9.json new file mode 100644 index 0000000000000000000000000000000000000000..a550f5188199a1d79e309b4fb2f961f6183950e3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b69adac2-d768-4d81-99ad-aea920412fb9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The field identifiers are local to the set and shall be unique within\nthe set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b69adac2-d768-4d81-99ad-aea920412fb9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b6d46211-b9ee-4e1c-9ae0-12185948a6aa.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b6d46211-b9ee-4e1c-9ae0-12185948a6aa.json new file mode 100644 index 0000000000000000000000000000000000000000..367de93c90b67e637ea99d845aa537145b3cdc88 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b6d46211-b9ee-4e1c-9ae0-12185948a6aa.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal parameters of parameterized templates, functions, altsteps,\nand testcases are defined in formal parameter lists." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b6d46211-b9ee-4e1c-9ae0-12185948a6aa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b833731f-f153-492e-b14b-d126039cd972.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b833731f-f153-492e-b14b-d126039cd972.json new file mode 100644 index 0000000000000000000000000000000000000000..22364fcae0a0b6f643092edaec46854d80d97933 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b833731f-f153-492e-b14b-d126039cd972.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Default values can be provided for in<\/b><\/font>\nparameters only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b833731f-f153-492e-b14b-d126039cd972" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b88dfa18-0c71-4cc0-ac64-44cd8c3023da.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b88dfa18-0c71-4cc0-ac64-44cd8c3023da.json new file mode 100644 index 0000000000000000000000000000000000000000..0c04bb24470401c956acbb58de28d23274323091 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b88dfa18-0c71-4cc0-ac64-44cd8c3023da.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "For all these three sorts of parameter passing, the formal\nparameters can both be read and set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b88dfa18-0c71-4cc0-ac64-44cd8c3023da" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b9c828e4-5268-4095-b678-3f3ba1ab113e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b9c828e4-5268-4095-b678-3f3ba1ab113e.json new file mode 100644 index 0000000000000000000000000000000000000000..b9faa5aa72117085d9c666136af48e5aee908950 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/b9c828e4-5268-4095-b678-3f3ba1ab113e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Functions and altsteps can be parameterized with timers." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "b9c828e4-5268-4095-b678-3f3ba1ab113e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb52a3a3-11f5-4dab-9026-7f6ec393812b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb52a3a3-11f5-4dab-9026-7f6ec393812b.json new file mode 100644 index 0000000000000000000000000000000000000000..b698e6015b9a906f6e981baf421403964e020f81 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb52a3a3-11f5-4dab-9026-7f6ec393812b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.3.1 Nested type definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bb52a3a3-11f5-4dab-9026-7f6ec393812b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb7eb460-de78-4a4a-8044-dc1050e2f122.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb7eb460-de78-4a4a-8044-dc1050e2f122.json new file mode 100644 index 0000000000000000000000000000000000000000..aa3ce5b643b7cfc01b0cd0d6ea88dc53230a602b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bb7eb460-de78-4a4a-8044-dc1050e2f122.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "control" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bb7eb460-de78-4a4a-8044-dc1050e2f122" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bc532561-f893-4cd0-85a3-0353c27c26f3.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bc532561-f893-4cd0-85a3-0353c27c26f3.json new file mode 100644 index 0000000000000000000000000000000000000000..e95f09bc4b2f32ede11eeab2c21c847970174238 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bc532561-f893-4cd0-85a3-0353c27c26f3.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The scope of formal parameters in a parameterized object" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bc532561-f893-4cd0-85a3-0353c27c26f3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bcb01d3e-7925-4eb6-aa95-58414199b191.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bcb01d3e-7925-4eb6-aa95-58414199b191.json new file mode 100644 index 0000000000000000000000000000000000000000..2e2693afa28455090c594bd7908df3005303c23c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bcb01d3e-7925-4eb6-aa95-58414199b191.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.5 Pattern subtyping of\ncharacter string types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bcb01d3e-7925-4eb6-aa95-58414199b191" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bd1e485c-da8f-4428-a546-fdf254e3cb10.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bd1e485c-da8f-4428-a546-fdf254e3cb10.json new file mode 100644 index 0000000000000000000000000000000000000000..84acd91055f68530c2361e022fdd22bf55683c35 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bd1e485c-da8f-4428-a546-fdf254e3cb10.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Actual parameters\ncan be provided" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bd1e485c-da8f-4428-a546-fdf254e3cb10" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bdca0535-7b53-44fe-a072-66aef16fe8f9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bdca0535-7b53-44fe-a072-66aef16fe8f9.json new file mode 100644 index 0000000000000000000000000000000000000000..fdac7ad4e0f1d543431cbc4ef935c9f051cb82d6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bdca0535-7b53-44fe-a072-66aef16fe8f9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "null" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bdca0535-7b53-44fe-a072-66aef16fe8f9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bf30896a-621a-4597-b6a2-49b6f316f22e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bf30896a-621a-4597-b6a2-49b6f316f22e.json new file mode 100644 index 0000000000000000000000000000000000000000..4cefde615219bbc2004a62540a0acf5edb51a1fe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/bf30896a-621a-4597-b6a2-49b6f316f22e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of boolean type shall be denoted by true<\/b><\/font>\nand false<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "bf30896a-621a-4597-b6a2-49b6f316f22e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c2030402-9a53-4572-91e2-23c5086b01f4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c2030402-9a53-4572-91e2-23c5086b01f4.json new file mode 100644 index 0000000000000000000000000000000000000000..66d7462a020cfdb2a491acedb034d8f0ae33b72c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c2030402-9a53-4572-91e2-23c5086b01f4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not refer to other\nparameters of the same parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c2030402-9a53-4572-91e2-23c5086b01f4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c41b2f5e-04a6-4705-871c-66d0f90a1671.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c41b2f5e-04a6-4705-871c-66d0f90a1671.json new file mode 100644 index 0000000000000000000000000000000000000000..a80178a0a8118a2f30b3c0732087e06e48e0b447 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c41b2f5e-04a6-4705-871c-66d0f90a1671.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall be component ports or formal port\nparameters of the current scope<\/font>." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c41b2f5e-04a6-4705-871c-66d0f90a1671" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c466c9fd-c11d-4c09-91aa-6ee197b0e2c6.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c466c9fd-c11d-4c09-91aa-6ee197b0e2c6.json new file mode 100644 index 0000000000000000000000000000000000000000..dcc14bd72e321b7413fb0c52f130de7e19beddb9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c466c9fd-c11d-4c09-91aa-6ee197b0e2c6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5 Basic language elements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c466c9fd-c11d-4c09-91aa-6ee197b0e2c6" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c54059b8-7645-477e-aa3a-367e2489e6c4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c54059b8-7645-477e-aa3a-367e2489e6c4.json new file mode 100644 index 0000000000000000000000000000000000000000..a05661d362ca7faf7afaf33ea4912864e3822746 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c54059b8-7645-477e-aa3a-367e2489e6c4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "the\nfirst digit shall not be zero unless the value is 0" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c54059b8-7645-477e-aa3a-367e2489e6c4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c57d1c35-b2d5-453d-a0d0-7890bcabd863.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c57d1c35-b2d5-453d-a0d0-7890bcabd863.json new file mode 100644 index 0000000000000000000000000000000000000000..1bb63fe897b2a2cc04be84f2aa4d3ab176252169 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c57d1c35-b2d5-453d-a0d0-7890bcabd863.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.5.3 Nested type definition for\nfield types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c57d1c35-b2d5-453d-a0d0-7890bcabd863" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c73c8f67-9ee2-4698-8ea1-c33e19158953.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c73c8f67-9ee2-4698-8ea1-c33e19158953.json new file mode 100644 index 0000000000000000000000000000000000000000..47e3294492b4562efea618682c51e1308ea4cfa6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c73c8f67-9ee2-4698-8ea1-c33e19158953.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "record<\/b><\/font>\n<\/font>of<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c73c8f67-9ee2-4698-8ea1-c33e19158953" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c89abe85-6087-4cd5-893e-1d0ef467a2fa.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c89abe85-6087-4cd5-893e-1d0ef467a2fa.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc412200fab056d74b65ea9f2788554682e4762 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c89abe85-6087-4cd5-893e-1d0ef467a2fa.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "cyclic import definitions, if the imported definitions only form\nallowed cyclic definitions." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c89abe85-6087-4cd5-893e-1d0ef467a2fa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c8f71c63-dc1d-4d09-8daf-88a3f68e1938.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c8f71c63-dc1d-4d09-8daf-88a3f68e1938.json new file mode 100644 index 0000000000000000000000000000000000000000..9dc68829435ee975ec64a79adcd34d402c13e922 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c8f71c63-dc1d-4d09-8daf-88a3f68e1938.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.2.1 Referencing fields of a set\ntype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c8f71c63-dc1d-4d09-8daf-88a3f68e1938" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9b2aed9-5d4b-4d03-8275-aa16af16326f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9b2aed9-5d4b-4d03-8275-aa16af16326f.json new file mode 100644 index 0000000000000000000000000000000000000000..96456f276a3fa543ff6874880a5d0fdbe751cbae --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9b2aed9-5d4b-4d03-8275-aa16af16326f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2.6 Mixing subtyping mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c9b2aed9-5d4b-4d03-8275-aa16af16326f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9d822b6-82fd-44b2-9747-94ba19e7cdde.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9d822b6-82fd-44b2-9747-94ba19e7cdde.json new file mode 100644 index 0000000000000000000000000000000000000000..91155a13a5c861ec2d8c6d8b2f04e420c5095fce --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/c9d822b6-82fd-44b2-9747-94ba19e7cdde.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Definitions made in the module control part\nhave local visibility, i.e. can be used within the control part only.<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "c9d822b6-82fd-44b2-9747-94ba19e7cdde" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cac329bc-4fb6-45bb-bbbd-5f92d7ae7148.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cac329bc-4fb6-45bb-bbbd-5f92d7ae7148.json new file mode 100644 index 0000000000000000000000000000000000000000..82558421973313bff2308b7761bfe3eee9f22224 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cac329bc-4fb6-45bb-bbbd-5f92d7ae7148.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "cac329bc-4fb6-45bb-bbbd-5f92d7ae7148" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd0fa64c-76f1-49c0-8153-80006e29ac65.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd0fa64c-76f1-49c0-8153-80006e29ac65.json new file mode 100644 index 0000000000000000000000000000000000000000..c8dbd6d2bd5704d94fecddcba096b9ba4cae3177 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd0fa64c-76f1-49c0-8153-80006e29ac65.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In the case of component references, the corresponding\ncomponent type is the type of the formal parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "cd0fa64c-76f1-49c0-8153-80006e29ac65" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd8be5d1-cde0-4d95-9635-41f959cb8cde.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd8be5d1-cde0-4d95-9635-41f959cb8cde.json new file mode 100644 index 0000000000000000000000000000000000000000..433419ed60745be9b2d976c9fdd5c337545cb3e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cd8be5d1-cde0-4d95-9635-41f959cb8cde.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "float" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "cd8be5d1-cde0-4d95-9635-41f959cb8cde" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cdb26baa-0592-47c5-b5f0-8256fda08b02.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cdb26baa-0592-47c5-b5f0-8256fda08b02.json new file mode 100644 index 0000000000000000000000000000000000000000..fe7c20f5eee1e7f2e5aecf076d95c63950a1ae96 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/cdb26baa-0592-47c5-b5f0-8256fda08b02.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "group" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "cdb26baa-0592-47c5-b5f0-8256fda08b02" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ce85ff45-873a-42fe-9390-05fa3df61bfb.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ce85ff45-873a-42fe-9390-05fa3df61bfb.json new file mode 100644 index 0000000000000000000000000000000000000000..4171231343b6e513bfc97bd83d32c60b292d0d49 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ce85ff45-873a-42fe-9390-05fa3df61bfb.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "For\nreferencing field types of set<\/b> types, the same rules apply as\nin clause 6.2.1.1 for fields of record<\/b> types." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ce85ff45-873a-42fe-9390-05fa3df61bfb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d007f03f-6d5b-4092-834d-3f8cd90bdbbe.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d007f03f-6d5b-4092-834d-3f8cd90bdbbe.json new file mode 100644 index 0000000000000000000000000000000000000000..7902742a7833a5322ee34f2adabf76bbd4c852e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d007f03f-6d5b-4092-834d-3f8cd90bdbbe.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Formal\nparameters of modules are defined in module parameter definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d007f03f-6d5b-4092-834d-3f8cd90bdbbe" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d06e630a-d8b1-4e1a-9c0e-dfa6db65322b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d06e630a-d8b1-4e1a-9c0e-dfa6db65322b.json new file mode 100644 index 0000000000000000000000000000000000000000..9c57bbc0cc98073769ea3a3a5aa984748485bdad --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d06e630a-d8b1-4e1a-9c0e-dfa6db65322b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "all identifiers in the same scope hierarchy shall\nbe distinctive" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d06e630a-d8b1-4e1a-9c0e-dfa6db65322b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d0a156e3-261f-463f-b8d1-cef6fd1e596c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d0a156e3-261f-463f-b8d1-cef6fd1e596c.json new file mode 100644 index 0000000000000000000000000000000000000000..6ea73414fcf2fdd8b29639f1609060bf592e2fbd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d0a156e3-261f-463f-b8d1-cef6fd1e596c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.13 Subtyping of structured types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d0a156e3-261f-463f-b8d1-cef6fd1e596c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d149c6be-9984-41dc-b1c0-a204585a5371.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d149c6be-9984-41dc-b1c0-a204585a5371.json new file mode 100644 index 0000000000000000000000000000000000000000..fd15b983b6d706b73ef6036b71786f208b0d12b3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d149c6be-9984-41dc-b1c0-a204585a5371.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": " Identifiers imported from\nother modules are also globally visible throughout the importing\nmodule." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d149c6be-9984-41dc-b1c0-a204585a5371" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d460b5c9-3996-40b1-9e5f-034a4129b84b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d460b5c9-3996-40b1-9e5f-034a4129b84b.json new file mode 100644 index 0000000000000000000000000000000000000000..1e7196969d98cc78b2ea1bca2830a8dbe9560a2a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d460b5c9-3996-40b1-9e5f-034a4129b84b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "out<\/b><\/font>\nparameters can be read within the parameterized object, they do not\ninherit the value of their actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d460b5c9-3996-40b1-9e5f-034a4129b84b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d5e39ace-9fa8-4e46-b26a-aeca9b891b36.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d5e39ace-9fa8-4e46-b26a-aeca9b891b36.json new file mode 100644 index 0000000000000000000000000000000000000000..2d641242976310e29b449ecc2ee30b97eea8f03e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d5e39ace-9fa8-4e46-b26a-aeca9b891b36.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "7.1 Operators" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d5e39ace-9fa8-4e46-b26a-aeca9b891b36" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d71ff0ee-039a-4268-bb3f-13f37b94be78.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d71ff0ee-039a-4268-bb3f-13f37b94be78.json new file mode 100644 index 0000000000000000000000000000000000000000..10e1dbf1fb34e677ceed5e89571ed4f6fc7c44f9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d71ff0ee-039a-4268-bb3f-13f37b94be78.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The empty brackets for instances of parameterized templates that have\nonly parameters with default values are optional when no actual\nparameters are provided" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d71ff0ee-039a-4268-bb3f-13f37b94be78" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d9d00ef4-e24e-41e3-8496-48a00e18c482.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d9d00ef4-e24e-41e3-8496-48a00e18c482.json new file mode 100644 index 0000000000000000000000000000000000000000..79af5acfaf2e6e0c3bd8fafc907dcb9607c18c22 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/d9d00ef4-e24e-41e3-8496-48a00e18c482.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "b) Only function<\/b><\/font> -\nwith the exception of functions started as test component behaviour\n(see clause 21.3.2) \u2011 and altstep<\/b><\/font>\ndefinitions may have formal port parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "d9d00ef4-e24e-41e3-8496-48a00e18c482" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dbb76701-1063-4883-9b13-2c9bebbae7b2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dbb76701-1063-4883-9b13-2c9bebbae7b2.json new file mode 100644 index 0000000000000000000000000000000000000000..f33d9a61510df19ae6451717498d52a108a5037e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dbb76701-1063-4883-9b13-2c9bebbae7b2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "enumerated" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dbb76701-1063-4883-9b13-2c9bebbae7b2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc302e87-8947-4d17-b783-1619ca194e07.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc302e87-8947-4d17-b783-1619ca194e07.json new file mode 100644 index 0000000000000000000000000000000000000000..d4a23cde2c14f7012acf3822b2205013e3319859 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc302e87-8947-4d17-b783-1619ca194e07.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "in an assignment notation explicitly using the\nassociated formal parameter names" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dc302e87-8947-4d17-b783-1619ca194e07" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc7d0ac6-4aed-4a0a-ad45-61435b39bf60.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc7d0ac6-4aed-4a0a-ad45-61435b39bf60.json new file mode 100644 index 0000000000000000000000000000000000000000..0f8f02e770d0897ea851459ab0889836f3168497 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dc7d0ac6-4aed-4a0a-ad45-61435b39bf60.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.1 Record type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dc7d0ac6-4aed-4a0a-ad45-61435b39bf60" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/df860154-8d99-444d-a57d-217904265099.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/df860154-8d99-444d-a57d-217904265099.json new file mode 100644 index 0000000000000000000000000000000000000000..adc3734c70cd3b3c2ddd96e8180d1bf3db584df7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/df860154-8d99-444d-a57d-217904265099.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.1 Formal parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "df860154-8d99-444d-a57d-217904265099" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfac07e2-461b-4975-8d61-44c47dfe754b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfac07e2-461b-4975-8d61-44c47dfe754b.json new file mode 100644 index 0000000000000000000000000000000000000000..2f5c5fb9a114a1adb4e05f2e164a19143fdc4750 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfac07e2-461b-4975-8d61-44c47dfe754b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "shall not refer to elements\nof the component type in a runs on clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dfac07e2-461b-4975-8d61-44c47dfe754b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfc71416-4435-44ea-a3c9-dc09c8ac4862.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfc71416-4435-44ea-a3c9-dc09c8ac4862.json new file mode 100644 index 0000000000000000000000000000000000000000..870d18e072281ca970b6cb8c15b6927848eb3adf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfc71416-4435-44ea-a3c9-dc09c8ac4862.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4.1.4 Formal parameters of kind\nport" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dfc71416-4435-44ea-a3c9-dc09c8ac4862" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfd0c3a8-1837-42fa-a4a3-ebf620edd4e7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfd0c3a8-1837-42fa-a4a3-ebf620edd4e7.json new file mode 100644 index 0000000000000000000000000000000000000000..58ca4c32a05d8ff73ec2560d0e98b3f38a609771 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/dfd0c3a8-1837-42fa-a4a3-ebf620edd4e7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "omit" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "dfd0c3a8-1837-42fa-a4a3-ebf620edd4e7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e0fe8ed4-7a37-4d5d-91f3-da802457ae6a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e0fe8ed4-7a37-4d5d-91f3-da802457ae6a.json new file mode 100644 index 0000000000000000000000000000000000000000..84caf275c96ae94a6b8d0b2f516fb42ae489a1f2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e0fe8ed4-7a37-4d5d-91f3-da802457ae6a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The dash (don't change) symbol shall be used with formal\nparameters of modified templates only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e0fe8ed4-7a37-4d5d-91f3-da802457ae6a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e115ac78-feb6-4824-ad1c-24caf83da3c6.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e115ac78-feb6-4824-ad1c-24caf83da3c6.json new file mode 100644 index 0000000000000000000000000000000000000000..f2011796baceda8eee954b2a8c163d7813cd5e17 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e115ac78-feb6-4824-ad1c-24caf83da3c6.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "5.4 Parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e115ac78-feb6-4824-ad1c-24caf83da3c6" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e144b851-b84b-4ec4-a6a7-f4c421b33644.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e144b851-b84b-4ec4-a6a7-f4c421b33644.json new file mode 100644 index 0000000000000000000000000000000000000000..fa185fa85d0917e2e2607984db120228f294427e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e144b851-b84b-4ec4-a6a7-f4c421b33644.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "null" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e144b851-b84b-4ec4-a6a7-f4c421b33644" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e18437ff-a6a9-45fb-bbf3-64c54d434631.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e18437ff-a6a9-45fb-bbf3-64c54d434631.json new file mode 100644 index 0000000000000000000000000000000000000000..97b4c0b2be96bc6e74d81e65368a81646b640f9e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e18437ff-a6a9-45fb-bbf3-64c54d434631.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Values of integer type shall be denoted by one or more digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e18437ff-a6a9-45fb-bbf3-64c54d434631" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e2301c31-d9ec-4c14-8a5f-a17cdd2a64b9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e2301c31-d9ec-4c14-8a5f-a17cdd2a64b9.json new file mode 100644 index 0000000000000000000000000000000000000000..0beac000cf61af2fbde171a130ce7cad93b3784d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e2301c31-d9ec-4c14-8a5f-a17cdd2a64b9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "In parameters may have a default value, which is given by an\nexpression assigned to the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e2301c31-d9ec-4c14-8a5f-a17cdd2a64b9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e35af517-91d0-47ad-a8db-6d7ca2b7c757.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e35af517-91d0-47ad-a8db-6d7ca2b7c757.json new file mode 100644 index 0000000000000000000000000000000000000000..414ad31df0610699549a315e2ae08d0af8b78411 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e35af517-91d0-47ad-a8db-6d7ca2b7c757.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The same rules apply to names of predefined <\/font>TTCN\u20113\nfunctions<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e35af517-91d0-47ad-a8db-6d7ca2b7c757" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72e70dd-408b-4751-bea8-5932dd72a7ae.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72e70dd-408b-4751-bea8-5932dd72a7ae.json new file mode 100644 index 0000000000000000000000000000000000000000..251f32cb7260dbc131ba17e82f861841083d5c8b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72e70dd-408b-4751-bea8-5932dd72a7ae.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1 Basic types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e72e70dd-408b-4751-bea8-5932dd72a7ae" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72f585e-645d-4531-adce-b1ece71528b7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72f585e-645d-4531-adce-b1ece71528b7.json new file mode 100644 index 0000000000000000000000000000000000000000..32f6c89fdd5c88431f550c21cf19754a234dccbe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e72f585e-645d-4531-adce-b1ece71528b7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "e) Default templates of component type formal parameters shall be\nbuilt from the special values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e72f585e-645d-4531-adce-b1ece71528b7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8bf9ed1-74e9-4e9f-8dfd-e7364ce7edff.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8bf9ed1-74e9-4e9f-8dfd-e7364ce7edff.json new file mode 100644 index 0000000000000000000000000000000000000000..27439992838a6e7b39bfbc841b1b0e8c87da5686 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8bf9ed1-74e9-4e9f-8dfd-e7364ce7edff.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.1.2 Subtyping of basic types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e8bf9ed1-74e9-4e9f-8dfd-e7364ce7edff" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8d4102b-4e2f-459e-955e-2254ae18234c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8d4102b-4e2f-459e-955e-2254ae18234c.json new file mode 100644 index 0000000000000000000000000000000000000000..194807defa0bdb75d686b857db91bb6717d17056 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e8d4102b-4e2f-459e-955e-2254ae18234c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "import" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e8d4102b-4e2f-459e-955e-2254ae18234c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e9c765af-0191-4640-997b-968bf2630e45.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e9c765af-0191-4640-997b-968bf2630e45.json new file mode 100644 index 0000000000000000000000000000000000000000..80114cdcd5c4e6092b86eb2202d1d1eee0692b07 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/e9c765af-0191-4640-997b-968bf2630e45.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The assignment notation shall be used <\/font>for\nunion<\/b><\/font>-s" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "e9c765af-0191-4640-997b-968bf2630e45" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea2d7388-d8c3-4eae-8b09-f042d1a545e7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea2d7388-d8c3-4eae-8b09-f042d1a545e7.json new file mode 100644 index 0000000000000000000000000000000000000000..a4bd017de82f21d2cddb41e91c96b1cd354e50fa --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea2d7388-d8c3-4eae-8b09-f042d1a545e7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "in functions, test\ncases and altsteps referencing that component type or a compatible\ntest component type (see clause 6.3.3) by a runs\non<\/b><\/font> clause." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ea2d7388-d8c3-4eae-8b09-f042d1a545e7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea7aad88-4419-4cc5-8ebf-6b2d7cce728b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea7aad88-4419-4cc5-8ebf-6b2d7cce728b.json new file mode 100644 index 0000000000000000000000000000000000000000..a4c51175a25a93ec9705318dc39313e39163c1ae --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ea7aad88-4419-4cc5-8ebf-6b2d7cce728b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Declarations in the module definitions part and in a component type\ndefinition may be made in any order" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ea7aad88-4419-4cc5-8ebf-6b2d7cce728b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ec892193-fc53-48c5-a98a-ff32020cfd3d.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ec892193-fc53-48c5-a98a-ff32020cfd3d.json new file mode 100644 index 0000000000000000000000000000000000000000..8f00ea1ecd6b6193118a2af8d6d276524ede9bca --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ec892193-fc53-48c5-a98a-ff32020cfd3d.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "A module cannot be structured into sub-modules." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ec892193-fc53-48c5-a98a-ff32020cfd3d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ed72d5f9-a914-429b-96fd-92fc8330331b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ed72d5f9-a914-429b-96fd-92fc8330331b.json new file mode 100644 index 0000000000000000000000000000000000000000..7915e4b940bd3a927d73c6381bfaa0a1c7f36283 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ed72d5f9-a914-429b-96fd-92fc8330331b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "TTCN\u20113 identifiers are case sensitive.<\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ed72d5f9-a914-429b-96fd-92fc8330331b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ee37d374-8fe8-4410-822f-2d52e928e8f4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ee37d374-8fe8-4410-822f-2d52e928e8f4.json new file mode 100644 index 0000000000000000000000000000000000000000..ddfbb73b62ee3d212a7e86b2370421ce19d9fc7b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ee37d374-8fe8-4410-822f-2d52e928e8f4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "If for some formal parameters, no actual parameter has\nbeen provided, their default values are taken and evaluated in the\norder of the formal parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ee37d374-8fe8-4410-822f-2d52e928e8f4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f05b471a-6921-4170-8040-020213e8488e.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f05b471a-6921-4170-8040-020213e8488e.json new file mode 100644 index 0000000000000000000000000000000000000000..c72bdb2b9d0f7fd72bd9bcf58b2c9e12ce9945ea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f05b471a-6921-4170-8040-020213e8488e.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Inside a statement block" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f05b471a-6921-4170-8040-020213e8488e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f0711d46-3cfd-4919-9adf-dfbf94cac3b4.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f0711d46-3cfd-4919-9adf-dfbf94cac3b4.json new file mode 100644 index 0000000000000000000000000000000000000000..593644e40bbe0464e26ba5c95df30a64a71d8478 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f0711d46-3cfd-4919-9adf-dfbf94cac3b4.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "If the formal parameter list of TTCN\u20113 objects function<\/b><\/font>,\ntestcase<\/b><\/font>,\nsignature, altstep<\/b><\/font>\n<\/b>or external<\/b><\/font>\nfunction<\/b><\/font> is empty,\nthen the empty parentheses shall be included both in the declaration\nand in the invocation of that object" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f0711d46-3cfd-4919-9adf-dfbf94cac3b4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f22cc228-1d42-4b6a-9033-0770adc44f43.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f22cc228-1d42-4b6a-9033-0770adc44f43.json new file mode 100644 index 0000000000000000000000000000000000000000..e136cf5d61c31adbed6252eaad0a415f8dab8a6c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f22cc228-1d42-4b6a-9033-0770adc44f43.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "The type of each actual parameter shall be compatible with the\ntype of each corresponding formal parameter." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f22cc228-1d42-4b6a-9033-0770adc44f43" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f2a93033-0109-4334-85ae-9c1819449837.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f2a93033-0109-4334-85ae-9c1819449837.json new file mode 100644 index 0000000000000000000000000000000000000000..7fbaedce0afe4b2bf523d26d6ffcd29faa9b2c81 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f2a93033-0109-4334-85ae-9c1819449837.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Declarations made within a\nstatement block have local visibility." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f2a93033-0109-4334-85ae-9c1819449837" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f41becbd-b832-414f-96d5-5b5e3df44880.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f41becbd-b832-414f-96d5-5b5e3df44880.json new file mode 100644 index 0000000000000000000000000000000000000000..f5ac4562db7fbc080bae376b71666355fc6a0cfd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f41becbd-b832-414f-96d5-5b5e3df44880.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "present" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f41becbd-b832-414f-96d5-5b5e3df44880" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5680e0d-87d5-47e5-9cf1-9ce5cf71cbd7.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5680e0d-87d5-47e5-9cf1-9ce5cf71cbd7.json new file mode 100644 index 0000000000000000000000000000000000000000..70565ebc5c9bfcac358bc0334b9465f5b5b87fe2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5680e0d-87d5-47e5-9cf1-9ce5cf71cbd7.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Neither the not\nused symbol \"-\" nor <\/font>omit<\/b><\/font>\nis allowed in union value notations." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f5680e0d-87d5-47e5-9cf1-9ce5cf71cbd7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5c61a7e-6967-4647-9743-6f9a76dcaa54.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5c61a7e-6967-4647-9743-6f9a76dcaa54.json new file mode 100644 index 0000000000000000000000000000000000000000..44d92c883e3ad55a44358f6d83f048f7997829da --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5c61a7e-6967-4647-9743-6f9a76dcaa54.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Statement blocks and embedded statement blocks have a hierarchical\nrelation both to the scope unit including the given statement block\nand to any embedded statement block" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f5c61a7e-6967-4647-9743-6f9a76dcaa54" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5d57f2c-aa85-4151-a2af-fecf305e1f3f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5d57f2c-aa85-4151-a2af-fecf305e1f3f.json new file mode 100644 index 0000000000000000000000000000000000000000..6ac14c73940c5a9ff97dfc994dea1702f660c8dd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f5d57f2c-aa85-4151-a2af-fecf305e1f3f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "for recursive type definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f5d57f2c-aa85-4151-a2af-fecf305e1f3f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f61cba95-9c33-44d1-b457-6ab00ac5d5cc.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f61cba95-9c33-44d1-b457-6ab00ac5d5cc.json new file mode 100644 index 0000000000000000000000000000000000000000..88ae452badc1406d1ad643aebbdba0ae295c06cb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f61cba95-9c33-44d1-b457-6ab00ac5d5cc.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "c) Default templates can be provided for in parameters only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f61cba95-9c33-44d1-b457-6ab00ac5d5cc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f69c8efc-1a60-460d-b41f-b55808a7234a.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f69c8efc-1a60-460d-b41f-b55808a7234a.json new file mode 100644 index 0000000000000000000000000000000000000000..a72209ce0025ce92f86f15dbc02355dc096a9d81 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f69c8efc-1a60-460d-b41f-b55808a7234a.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "this\nshall explicitly be denoted by using a dash (don't change) symbol at\nthe place of the modified template parameter's default template" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f69c8efc-1a60-460d-b41f-b55808a7234a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f74622f6-19f9-47a4-84f5-9bb504534324.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f74622f6-19f9-47a4-84f5-9bb504534324.json new file mode 100644 index 0000000000000000000000000000000000000000..989fbffe6d02b4e6ec8c002d1341ccb52cc91575 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f74622f6-19f9-47a4-84f5-9bb504534324.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "<exponent><\/i> a positive or negative integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f74622f6-19f9-47a4-84f5-9bb504534324" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f7c16449-fd65-4d9a-b016-d8dbf0fd708c.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f7c16449-fd65-4d9a-b016-d8dbf0fd708c.json new file mode 100644 index 0000000000000000000000000000000000000000..53086d83355a9a6ed371345418f2505422dd6332 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f7c16449-fd65-4d9a-b016-d8dbf0fd708c.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "parameterization shall be specified by\nthe keywords inout<\/b><\/font>" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f7c16449-fd65-4d9a-b016-d8dbf0fd708c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f86a9ec7-ae7b-4623-9ab0-a0f0830479e9.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f86a9ec7-ae7b-4623-9ab0-a0f0830479e9.json new file mode 100644 index 0000000000000000000000000000000000000000..4afcd0f82236a653651d84cc168da02ac7637e57 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f86a9ec7-ae7b-4623-9ab0-a0f0830479e9.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "-infinity<\/b><\/font>\n(negative infinity)" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f86a9ec7-ae7b-4623-9ab0-a0f0830479e9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f9996326-898f-4180-8979-e0df48613a22.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f9996326-898f-4180-8979-e0df48613a22.json new file mode 100644 index 0000000000000000000000000000000000000000..3930e029c050351925be6b47b056a91b522afd79 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/f9996326-898f-4180-8979-e0df48613a22.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "d) The default template instance" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "f9996326-898f-4180-8979-e0df48613a22" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fb8613cb-da2b-4aae-84d5-0ecdb4541400.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fb8613cb-da2b-4aae-84d5-0ecdb4541400.json new file mode 100644 index 0000000000000000000000000000000000000000..e6ab88591d4ff8ae4842035ebd93fdade64d55e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fb8613cb-da2b-4aae-84d5-0ecdb4541400.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Timer parameters shall preserve their current state" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fb8613cb-da2b-4aae-84d5-0ecdb4541400" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fc98bb77-1c24-44a4-b46d-1ab6f04fb5d2.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fc98bb77-1c24-44a4-b46d-1ab6f04fb5d2.json new file mode 100644 index 0000000000000000000000000000000000000000..69603702260ba643c2232830f83a7762d3c1ebf1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fc98bb77-1c24-44a4-b46d-1ab6f04fb5d2.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Such limitations can be expressed by the restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fc98bb77-1c24-44a4-b46d-1ab6f04fb5d2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fd0ece56-6620-45ab-8472-d142be8b9aef.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fd0ece56-6620-45ab-8472-d142be8b9aef.json new file mode 100644 index 0000000000000000000000000000000000000000..4fd23d3969a8662a67f086c57940a1eaceef9eb7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fd0ece56-6620-45ab-8472-d142be8b9aef.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Value formal parameters may be in, inout or out parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fd0ece56-6620-45ab-8472-d142be8b9aef" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fe29f0a9-02a5-40f2-bf98-75f752051c3b.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fe29f0a9-02a5-40f2-bf98-75f752051c3b.json new file mode 100644 index 0000000000000000000000000000000000000000..6980878805120e500baa195aacd6853398d85cbe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fe29f0a9-02a5-40f2-bf98-75f752051c3b.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "preceded by a single quote ( ' ) and followed by the pair of\ncharacters <\/b>'H" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fe29f0a9-02a5-40f2-bf98-75f752051c3b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ff09e5b5-5176-4431-a579-127a11f4f32f.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ff09e5b5-5176-4431-a579-127a11f4f32f.json new file mode 100644 index 0000000000000000000000000000000000000000..bebe0b47b2bf9d4ef9d9d7ffca2ed4601d344104 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/ff09e5b5-5176-4431-a579-127a11f4f32f.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.5.1 Referencing fields of a\nunion type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "ff09e5b5-5176-4431-a579-127a11f4f32f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fff3641f-74b3-49b5-8024-fb7e4aa05e32.json b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fff3641f-74b3-49b5-8024-fb7e4aa05e32.json new file mode 100644 index 0000000000000000000000000000000000000000..aa94b0b5cd5449a0a82c02fd1c7fa6919cbddf22 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml/fff3641f-74b3-49b5-8024-fb7e4aa05e32.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "6.2.12 Addressing entities inside the SUT" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Location" + } + }, + "uuid": "fff3641f-74b3-49b5-8024-fb7e4aa05e32" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/es_20187301v040501p_html.xhtml b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/es_20187301v040501p_html.xhtml new file mode 100644 index 0000000000000000000000000000000000000000..697662c691a9155a33e468b65e8eb1c5d53ace20 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/es_20187301v040501p_html.xhtml @@ -0,0 +1,47038 @@ + + + + ETSI ES 201 873-1 V4.5.1 + + + + + + + + + + + + + + +

+

+
+

+
+

+ +

+ ETSI + ES 201 873-1 V4.5.1 + (2013-04)

+
+ +

+ Methods + for Testing and Specification (MTS);

+

+ The + Testing and Test Control Notation version 3;

+

+ Part + 1: TTCN‑3 Core Language

+

+ +

+
+

+

+ +

+
+

+

+ +

+
+

+



+

+

+

+

+

+

+

+

+

+

+

+

+

+

+ +

+
+

+
+ +

+

+

+

+ +

+ ETSI + Standard

+

+ +

+ Reference

+

+ RES/MTS-201873-1 + T3ed451 cor

+

+ Keywords

+

+ language, + methodology, testing, TTCN-3

+



+

+

+ +

+ ETSI

+

+ 650 + Route des Lucioles

+

+ F-06921 + Sophia Antipolis Cedex - FRANCE

+

+
+

+

+ Tel.: + +33 4 92 94 42 00 Fax: +33 4 93 65 47 16

+

+
+

+

+ Siret + N° 348 623 562 00017 - NAF 742 C

+

+ Association + à but non lucratif enregistrée à la

+

+ Sous-Préfecture + de Grasse (06) N° 7803/88

+

+
+

+


+

+

+

+

+

+

+ Important notice

+

+ Individual + copies of the present document can be downloaded + from:
http://www.etsi.org

+

+ The + present document may be made available in more than one electronic + version or in print. In any case of existing or perceived difference + in contents between such versions, the reference version is the + Portable Document Format (PDF). In case of dispute, the reference + shall be the printing on ETSI printers of the PDF version kept on a + specific network drive within ETSI + Secretariat.

+

+ Users + of the present document should be aware that the document may be + subject to revision or change of status. Information on the current + status of this and other ETSI documents is available at + http://portal.etsi.org/tb/status/status.asp

+

+ If + you find errors in the present document, please send your comment to + one of the following + services:
http://portal.etsi.org/chaircor/ETSI_support.asp

+

+ Copyright Notification

+

+ No + part may be reproduced except as authorized by written + permission.
The copyright and the foregoing restriction extend to + reproduction in all media.

+

+
+

+

+ © + European Telecommunications Standards Institute 2013.

+

+ All + rights reserved.

+

+

+ DECTTM, + PLUGTESTSTM, + UMTSTM + and the ETSI logo are Trade Marks of ETSI registered for the benefit + of its Members.
3GPPTM + and + LTEâ„¢ + are Trade Marks of ETSI registered for the benefit of its Members + and
of the 3GPP Organizational Partners.
GSM® + and the GSM logo are Trade Marks registered and owned by the GSM + Association.

+


+

+

+Contents

+
+

+ Contents 3

+

+ Intellectual + Property Rights 8

+

+ Foreword 8

+

+ 1 + Scope 9

+

+ 2 + References 9

+

+ 2.1 + Normative references 9

+

+ 2.2 + Informative references 10

+

+ 3 + Definitions and abbreviations 10

+

+ 3.1 + Definitions 10

+

+ 3.2 + Abbreviations 14

+

+ 4 + Introduction 15

+

+ 4.1 The + core language and presentation formats 15

+

+ 4.2 + Unanimity of the specification 16

+

+ 4.3 + Conformance 17

+

+ 5 + Basic language elements 17

+

+ 5.1 + Identifiers and keywords 18

+

+ 5.2 Scope + rules 18

+

+ 5.3 + Ordering of language elements 21

+

+ 5.4 + Parameterization 21

+

+ 5.5 Cyclic + Definitions 29

+

+ 6 + Types and values 29

+

+ 6.1 Basic + types and values 30

+

+ 6.2 + Structured types and values 36

+

+ 6.3 Type + compatibility 62

+

+ 6.4 Type + synonym 68

+

+ 7 + Expressions 68

+

+ 7.1 + Operators 69

+

+ 7.2 Field + references and list elements 76

+

+ 8 + Modules 76

+

+ 8.1 + Definition of a module 76

+

+ 8.2 Module + definitions part 77

+

+ 8.3 Module + control part 95

+

+ 9 + Port types, component types and test configurations 95

+

+ 9.1 + Communication ports 96

+

+ 9.2 Test + system interface 98

+

+ 10 + Declaring constants 100

+

+ 11 + Declaring variables 100

+

+ 11.1 Value + variables 100

+

+ 11.2 + Template variables 101

+

+ 12 + Declaring timers 102

+

+ 13 + Declaring messages 103

+

+ 14 + Declaring procedure signatures 104

+

+ 15 + Declaring templates 105

+

+ 15.1 + Declaring message templates 106

+

+ 15.2 + Declaring signature templates 107

+

+ 15.3 Global + and local templates 109

+

+ 15.4 + In-line Templates 109

+

+ 15.5 + Modified templates 110

+

+ 15.6 + Referencing elements of templates or template fields 113

+

+ 15.7 + Template matching mechanisms 118

+

+ 15.8 + Template Restrictions 121

+

+ 15.9 Match + Operation 123

+

+ 15.10 + Valueof Operation 123

+

+ 15.11 + Concatenating templates of string and list types 124

+

+ 16 + Functions, altsteps and testcases 126

+

+ 16.1 + Functions 126

+

+ 16.2 + Altsteps 132

+

+ 16.3 Test + cases 135

+

+ 17 + Void 136

+

+ 18 + Overview of program statements and operations 136

+

+ 19 + Basic program statements 138

+

+ 19.1 + Assignments 139

+

+ 19.2 The + If-else statement 139

+

+ 19.3 The + Select case statement 140

+

+ 19.4 The + For statement 141

+

+ 19.5 The + While statement 141

+

+ 19.6 The + Do-while statement 142

+

+ 19.7 The + Label statement 142

+

+ 19.8 The + Goto statement 143

+

+ 19.9 The + Stop execution statement 144

+

+ 19.10 The + Return statement 144

+

+ 19.11 The + Log statement 145

+

+ 19.12 The + Break statement 147

+

+ 19.13 The + Continue statement 147

+

+ 19.14 + Statement block 148

+

+ 20 + Statement and operations for alternative behaviours 148

+

+ 20.1 The + snapshot mechanism 149

+

+ 20.2 The + Alt statement 149

+

+ 20.3 The + Repeat statement 153

+

+ 20.4 The + Interleave statement 154

+

+ 20.5 + Default Handling 156

+

+ 21 + Configuration Operations 158

+

+ 21.1 + Connection Operations 159

+

+ 21.2 Test + case operations 162

+

+ 21.3 Test + Component Operations 163

+

+ 22 + Communication operations 171

+

+ 22.1 The + communication mechanisms 172

+

+ 22.2 + Message-based communication 175

+

+ 22.3 + Procedure-based communication 180

+

+ 22.4 The + Check operation 191

+

+ 22.5 + Controlling communication ports 193

+

+ 22.6 Use of + any and all with ports 196

+

+ 23 + Timer operations 197

+

+ 23.1 The + timer mechanism 197

+

+ 23.2 The + Start timer operation 197

+

+ 23.3 The + Stop timer operation 198

+

+ 23.4 The + Read timer operation 199

+

+ 23.5 The + Running timer operation 199

+

+ 23.6 The + Timeout operation 200

+

+ 23.7 + Summary of use of any and all with timers 200

+

+ 24 + Test verdict operations 201

+

+ 24.1 The + Verdict mechanism 201

+

+ 24.2 The + Setverdict operation 202

+

+ 24.3 The + Getverdict operation 203

+

+ 25 + External actions 203

+

+ 26 + Module control 204

+

+ 26.1 The + Execute statement 204

+

+ 26.2 The + Control part 206

+

+ 27 + Specifying attributes 208

+

+ 27.1 The + Attribute mechanism 208

+

+ 27.2 The + With statement 211

+

+ 27.3 + Display attributes 212

+

+ 27.4 + Encoding attributes 212

+

+ 27.5 + Variant attributes 213

+

+ 27.6 + Extension attributes 215

+

+ 27.7 + Optional attributes 215

+

+ A.1 + TTCN‑3 BNF 217

+

+ A.1.1 + Conventions for the syntax description 217

+

+ A.1.2 + Statement terminator symbols 217

+

+ A.1.3 + Identifiers 217

+

+ A.1.4 + Comments 217

+

+ A.1.5 + TTCN‑3 terminals 218

+

+ A.1.6 + TTCN-3 syntax BNF productions 220

+

+ B.1 + Template matching mechanisms 237

+

+ B.1.1 + Matching specific values 237

+

+ B.1.2 + Matching mechanisms instead of values 237

+

+ B.1.3 + Matching mechanisms inside values 243

+

+ B.1.4 + Matching attributes of values 245

+

+ B.1.5 + Matching character pattern 247

+

+ C.0 + General exception handling procedures 253

+

+ C.1 + Conversion functions 253

+

+ C.1.1 + Integer to character 253

+

+ C.1.2 + Integer to universal character 253

+

+ C.1.3 + Integer to bitstring 253

+

+ C.1.4 + Integer to enumerated 254

+

+ C.1.5 + Integer to hexstring 254

+

+ C.1.6 + Integer to octetstring 254

+

+ C.1.7 + Integer to charstring 255

+

+ C.1.8 + Integer to float 255

+

+ C.1.9 Float + to integer 255

+

+ C.1.10 + Character to integer 255

+

+ C.1.11 + Character to octetstring 255

+

+ C.1.12 + Universal character to integer 256

+

+ C.1.13 + Bitstring to integer 256

+

+ C.1.14 + Bitstring to hexstring 256

+

+ C.1.15 + Bitstring to octetstring 256

+

+ C.1.16 + Bitstring to charstring 257

+

+ C.1.17 + Hexstring to integer 257

+

+ C.1.18 + Hexstring to bitstring 257

+

+ C.1.19 + Hexstring to octetstring 258

+

+ C.1.20 + Hexstring to charstring 258

+

+ C.1.21 + Octetstring to integer 258

+

+ C.1.22 + Octetstring to bitstring 258

+

+ C.1.23 + Octetstring to hexstring 259

+

+ C.1.24 + Octetstring to character string 259

+

+ C.1.25 + Octetstring to character string, version II 259

+

+ C.1.26 + Charstring to integer 260

+

+ C.1.27 + Character string to hexstring 260

+

+ C.1.28 + Character string to octetstring 260

+

+ C.1.29 + Character string to float 261

+

+ C.1.30 + Enumerated to integer 261

+

+ C.2 + Length/size functions 262

+

+ C.2.1 + Length of strings and lists 262

+

+ C.2.2 + Number of elements in a structured value 263

+

+ C.3 + Presence checking functions 264

+

+ C.3.1 The + IsPresent function 264

+

+ C.3.2 The + IsChosen function 265

+

+ C.3.3 The + IsValue function 266

+

+ C.3.4 The + IsBound function 267

+

+ C.4 + String/list handling functions 268

+

+ C.4.1 The + Regexp function 268

+

+ C.4.2 The + Substring function 270

+

+ C.4.3 The + Replace function 271

+

+ C.5 + Codec functions 271

+

+ C.5.1 The + encoding function 271

+

+ C.5.2 The + decoding function 272

+

+ C.6 + Other functions 272

+

+ C.6.1 The + random number generator function 272

+

+ C.6.2 The + testcasename function 272

+

+ D.1 + Preprocessing macro __MODULE__ 274

+

+ D.2 + Preprocessing macro __FILE__ 274

+

+ D.3 + Preprocessing macro __BFILE__ 274

+

+ D.4 + Preprocessing macro __LINE__ 274

+

+ D.5 + Preprocessing macro __SCOPE__ 275

+

+ E.1 + Limitations 277

+

+ E.2 + Useful TTCN‑3 types 277

+

+ E.2.1 + Useful simple basic types 277

+

+ E.2.2 + Useful character string types 279

+

+ E.2.3 + Useful structured types 280

+

+ E.2.4 + Useful atomic string types 280

+

+ F.1 + Test components 282

+

+ F.1.1 Test + component references 282

+

+ F.1.2 + Dynamic behaviour of PTCs 283

+

+ F.1.3 + Dynamic behaviour of the MTC 285

+

+ F.2 + Timers 286

+

+ F.3 + Ports 286

+

+ F.3.1 + Configuration Operations 286

+

+ F.3.2 Port + Controlling Operations 287

+

+ F.3.3 + Communication Operations 288

+

+ G.1 + Group style definition of module parameters 289

+

+ G.2 + Recursive import 289

+

+ G.3 + Using all in port type definitions 289

+

+ G.4 + sizeof for length of lists 289

+

+ G.5 + sizeoftype predefined function 289

+

+ G.6 + Mixed ports 289

+

+ G.7 + External constants 290

+

+ G.8 + Prefixing enumerated values 290

+

+ G.9 + Record of/arrays not compatible to record; set of not compatible + with set 290

+

+ History 292

+
+

+

+

+

+Intellectual Property Rights

+

+IPRs essential or potentially essential to the present document may +have been declared to ETSI. The information pertaining to these +essential IPRs, if any, is publicly available for ETSI members and +non-members, and can be found in ETSI SR 000 314: +"Intellectual Property Rights (IPRs); Essential, or +potentially Essential, IPRs notified to ETSI in respect of ETSI +standards", which is available from the ETSI Secretariat. +Latest updates are available on the ETSI Web server +(http://ipr.etsi.org).

+

+Pursuant to the ETSI IPR Policy, no investigation, including IPR +searches, has been carried out by ETSI. No guarantee can be given as +to the existence of other IPRs not referenced in ETSI SR 000 314 +(or the updates on the ETSI Web server) which are, or may be, or may +become, essential to the present document.

+

+Foreword

+

+This ETSI Standard (ES) has been produced by ETSI Technical Committee +Methods for Testing and Specification (MTS).

+

+The present document is part 1 of a multi-part deliverable +covering the Testing and Test Control Notation version 3, as +identified below:

+

+Part 1: "TTCN‑3 +Core Language";

+

+Part 2: "TTCN‑3 Tabular presentation Format (TFT)";

+

+Part 3: "TTCN‑3 Graphical presentation Format (GFT)";

+

+Part 4: "TTCN‑3 Operational Semantics";

+

+Part 5: "TTCN‑3 Runtime Interface (TRI)";

+

+Part 6: "TTCN‑3 Control Interface (TCI)";

+

+Part 7: "Using ASN.1 with TTCN‑3";

+

+Part 8: "The IDL to TTCN-3 Mapping";

+

+Part 9: "Using XML with TTCN-3";

+

+Part 10: "TTCN-3 Documentation Comment Specification".

+

+1 Scope

+

+The present document defines the Core Language +of TTCN‑3. TTCN‑3 +can be used for the specification of all types of reactive system +tests over a variety of communication ports. Typical areas of +application are protocol testing (including mobile and Internet +protocols), service testing (including supplementary services), +module testing, testing of CORBA based +platforms, APIs, etc. TTCN‑3 is +not restricted to conformance testing and can be used for many other +kinds of testing including interoperability, robustness, regression, +system and integration testing. The specification of test suites for +physical layer protocols is outside the scope of the present +document.

+

+TTCN‑3 is intended to be used for the +specification of test suites which are independent of test methods, +layers and protocols. Various presentation formats are defined for +TTCN‑3 such as a tabular +presentation format (ES 201 873‑2 [i.1]) +and a graphical presentation format (ES 201 873-3 [i.2]). +The specification of these formats is outside the scope of the +present document.

+

+While the design of TTCN‑3 +has taken the eventual implementation of TTCN‑3 +translators and compilers into consideration the means of realization +of Executable Test Suites (ETS) from +Abstract Test Suites (ATS) is outside +the scope of the present document.

+

+2 References

+

+References are either specific (identified by date of publication +and/or edition number or version number) or non‑specific. For +specific references, only the cited version applies. For non-specific +references, the latest version of the reference document (including +any amendments) applies.

+

+Referenced documents which are not found to be publicly available in +the expected location might be found at +http://docbox.etsi.org/Reference.

+

+NOTE: While any hyperlinks included in this clause were valid at the +time of publication ETSI cannot guarantee their long term validity.

+

+2.1 Normative references

+

+The following referenced documents are necessary for the application +of the present document.

+

+[1] ETSI ES 201 873-4: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 4: +TTCN-3 Operational Semantics".

+

+[2] ISO/IEC 10646: "Information technology -- Universal Coded +Character Set (UCS)". +

+

+[3] Recommendation ITU-T X.292: "OSI conformance testing +methodology and framework for protocol Recommendations for ITU-T +applications - The Tree and Tabular Combined Notation (TTCN)".

+

+NOTE: The corresponding ISO/IEC standard is ISO/IEC 9646-3: +"Information technology - Open Systems Interconnection - +Conformance testing methodology and framework - Part 3: The Tree and +Tabular Combined Notation (TTCN)".

+

+[4] Recommendation ITU-T T.50: "International Reference Alphabet +(IRA) (Formerly International Alphabet No. 5 or IA5) - Information +technology - 7-bit coded character set for information interchange".

+

+NOTE: The corresponding ISO/IEC standard is ISO/IEC 646: "Information +technology - ISO 7-bit coded character set for information +interchange".

+

+[5] Recommendation ITU-T X.290: "OSI conformance testing +methodology and framework for protocol Recommendations for ITU-T +applications - General concepts".

+

+NOTE: The corresponding ISO/IEC standard is ISO/IEC 9646-1: +"Information technology - Open Systems Interconnection +-Conformance testing methodology and framework; Part 1: General +concepts".

+

+[6] IEEE 754: "IEEE Standard for Floating-Point Arithmetic".

+

+2.2 Informative references

+

+The following referenced documents are not necessary for the +application of the present document but they assist the user with +regard to a particular subject area.

+

+[i.1] ETSI ES 201 873-2: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 2: +TTCN-3 Tabular presentation Format (TFT)".

+

+[i.2] ETSI ES 201 873-3: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 3: +TTCN-3 Graphical presentation Format (GFT)".

+

+[i.3] ETSI ES 201 873-5: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 5: +TTCN-3 Runtime Interface (TRI)".

+

+[i.4] ETSI ES 201 873-6: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 6: +TTCN-3 Control Interface (TCI)".

+

+[i.5] ETSI ES 201 873-7: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 7: Using +ASN.1 with TTCN-3".

+

+[i.6] ETSI ES 201 873-8: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 8: The +IDL to TTCN-3 Mapping".

+

+[i.7] ETSI ES 201 873-9: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 9: Using +XML schema with TTCN-3".

+

+[i.8] ETSI ES 201 873-10: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; Part 10: +TTCN-3 Documentation Comment Specification".

+

+[i.9] Void.

+

+[i.10] Object Management Group (OMG) (2001): "The Common Object +Request Broker: Architecture and Specification - IDL Syntax and +Semantics". Version 2.6, FORMAL/01-12-01.

+

+[i.11] ETSI ES 202 781: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; TTCN-3 +Language Extensions: Configuration and Deployment Support".

+

+[i.12] ETSI ES 202 784: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; TTCN-3 +Language Extensions: Advanced Parameterization".

+

+[i.13] ETSI ES 202 785: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; TTCN-3 +Language Extensions: Behaviour Types".

+

+[i.14] ETSI ES 202 782: "Methods for Testing and Specification +(MTS); The Testing and Test Control Notation version 3; TTCN-3 +Language Extensions: TTCN-3 Performance and Real Time Testing".

+

+3 Definitions and abbreviations

+

+3.1 Definitions

+

+For the purposes of the present document, the terms and definitions +given in Recommendation ITU‑T X.290 [5], +Recommendation ITU‑T X.292 [3] and the following +apply:

+

+actual parameter: value, expression, template or name +reference (identifier) to be passed as parameter to the invoked +entity (function, test case, altstep, etc.) as defined at the place +of invoking

+

+assignment notation: notation that can be used for record, +set, record of and set of values, where the fields or the elemens to +which a value is assigned are identified explicitly within a pair of +curly brackets ("{" and "}") by the field names +or the positions of the elements

+

+basic types: set of predefined TTCN‑3 types described in +clauses 6.1.0 and 6.1.1 of the present document

+

+NOTE: Basic types are referenced by their names.

+

+communication port: abstract mechanism facilitating +communication between test components

+

+NOTE: A communication port is modelled as a FIFO queue in the +receiving direction. Ports can be message‑based or +procedure-based.

+

+compatible type: TTCN‑3 +is not strongly typed but the language does require type +compatibility

+

+NOTE: Variables, constants, templates, etc. have compatible types if +conditions in clause 6.3 are met.

+

+completely initialized: values and templates of simple +types are completely initialized if they are partially initialized

+

+NOTE: Values and templates of structured types and arrays are +completely initialized if all their fields and elements are +completely initialized. In case of record of, set of, and array +values and templates, this means at least the first n elements are +initialized, where n is the minimal length imposed by the type length +restriction or array definition (thus in case of n equals 0, the +value "{}" also completely initializes a record of, a set +of or an array).

+

+data types: common name for simple basic types, basic string +types, structured types, the special data type anytype and all user +defined types based on them (see table 3 of the present document)

+

+defined types (defined TTCN‑3 types): set of all +predefined TTCN‑3 types (basic types, all structured types, the +type anytype, the address, port and component types and the default +type) and all user-defined types declared either in the module or +imported from other TTCN‑3 modules

+

+dynamic parameterization: form of parameterization, in which +actual parameters are dependent on run-time events; e.g. the +value of the actual parameter is a value received during run-time or +depends on a received value by a logical relation

+

+exception: in cases of procedure-based communication, an +exception (if defined) is raised by an answering entity if it cannot +answer a remote procedure call with the normal expected response

+

+formal parameter: typed name or typed template reference +(identifier) not resolved at the time of the definition of an entity +(function, test case, altstep, etc.) but at the time of invoking it

+

+NOTE: Actual values or templates (or their names) to be used at the +place of formal parameters are passed from the place of invoking the +entity (see also the definition of actual parameter).

+

+global visibility: attribute of an entity (module parameter, +constant, template, etc.) that its identifier can be referenced +anywhere within the module where it is defined including all +functions, test cases and altsteps defined within the same +module and the control part of that module

+

+implementation +conformance +statement +(ICS): See +Recommendation ITU‑T X.290 [5].

+

+implementation +extra +information +for testing +(IXIT): See +Recommendation ITU‑T X.290 [5].

+

+implementation +under +test +(IUT): See +Recommendation ITU‑T X.290 [5].

+

+in parameterization: kind of parameterization where the +value of the actual parameter (the argument) is bound to the formal +parameter when the parameterized object is invoked, but the value of +the formal parameter is not passed back to the actual parameter when +the invoked object completes

+

+NOTE 1: The arguments are evaluated before the parameterized object +is entered.

+

+NOTE 2: Only the values of the arguments are passed and changes to +the arguments within the invoked object have no effect on the +arguments as seen by the invoking object.

+

+index notation: notation that can be used both on the +right hand side and the left hand side of assignments for record of +and set of values, where the element to which a value is assigned is +identified explicitly by the position of that element (in index +notation no pair of curly brackets ("{" and "}") +is present)

+

+inout parameterization: kind of parameterization where +the actual parameter is bound to the formal parameter when the +parameterized object is invoked

+

+NOTE 1: The invoked object uses the actual parameter directly, so +that all changes made on the formal parameter become immediately +effective on the actual parameter.

+

+NOTE 2: Inout parameters can be used for functions, altsteps, and +test cases only.

+

+known types: set of all TTCN‑3 predefined types, types +defined in a TTCN‑3 module and types imported into that module +from other TTCN‑3 modules or from non-TTCN‑3 modules

+

+left hand side (of assignment): value or template +variable identifier or a field name of a structured type value or +template variable (including array index if any), which stands left +to an assignment symbol (:=)

+

+NOTE: A constant, module parameter, timer, structured type field name +or a template header (including template type, name and formal +parameter list) standing left of an assignment symbol (:=) in +declarations and or a modified template definitions are out of the +scope of this definition as not being part of an assignment.

+

+local visibility: attribute of an entity (constant, variable, +etc.) that its identifier can be referenced only within the function, +test case or altstep where it is defined

+

+main test +component +(MTC): See Recommendation ITU‑T X.292 [3].

+

+out parameterization: kind of parameterization where +the value of the actual parameter (the argument) is not bound to the +formal parameter when the parameterized object is invoked, but the +value of the formal parameter is passed back to the actual parameter +when the invoked object completes

+

+NOTE 1: Out parameters can be used for functions, altsteps, and test +cases only.

+

+NOTE 2: An out +formal parameter is uninitialized (unbound) when the invoked object +is entered.

+

+NOTE 3: The value is passed back to the actual parameter only if +within the invoked object a value is assigned to it. If no value is +assigned, the actual parameter remains unchanged when the invoked +object completes.

+

+parallel +test +component +(PTC): See Recommendation ITU‑T X.292 [3].

+

+partially initialized: values are partially initialized +if a concrete value has been assigned to it or to at least one of its +fields or elements

+

+NOTE 1: A template variable is initialized if a matching mechanism +has been assigned to it or to at least one of its fields or elements, +directly or indirectly via expansion (see clause 15.6). A template is +initialized if a matching mechanism has been assigned to it, directly +or indirectly via expansion (see clause 15.6).

+

+NOTE 2: Thus, constants and templates are always initialized at +declaration. Variables (both value and template) are initialized if +they, or at least one of their fields or elements has been used on +the left hand side of an assignment (including initial value +assignment at declaration), except when they were uninitialized +before the assignment and the right hand side does not change any of +its field or element. Module parameters are initialized either at +declaration or by the test system before test execution.

+

+port parameterization: ability to pass a port as an actual +parameter into a parameterized object via a port parameter

+

+NOTE: This actual port parameter is added to the specification of +that object and may complete it.

+

+qualified name: TTCN-3 elements can be identified +unambiguously by qualified names

+

+NOTE: For modules, the qualified name is the <module name>. For +global definitions such as testcases, functions, etc., the qualified +name is <module name>.<definition name>. For control, the +qualified name is <module name>.control. For local definitions, +such as variables, local templates, etc. within a global definition, +the qualified name is <module name>.<global definition +name>.<local definition name>.

+

+right hand side (of assignment): expression, template +reference or signature parameter identifier which stands right to an +assignment symbol (:=)

+

+NOTE: Expressions and template references standing right of an +assignment symbol (:=) in constant, module parameter, timer, template +or modified template declarations are out of the scope of this +definition as not being part of an assignment.

+

+root type: root types of types derived from TTCN-3 basic types +are the respective basic types

+

+NOTE 1: The root type of user defined record types is record, +the root type of user defined record of and array types is record +of, the root type of user defined set types is set, +the root type of user defined set of types is set +of. The root type of user defined union types is union +and the root type of anytypes is anytype. +The root types of special configuration types are default +or component, +respectively. Port types do not have a root type.

+

+NOTE 2: As address +is more a predefined type name than a distinct type with its own +properties, the root type of an address +type and all of its derivatives are the same, as the root type was, +if the type was defined with a name different from address.

+

+static parameterization: form of parameterization, in which +actual parameters are independent of run-time events; i.e. known +at compile time or in case of module parameters are known by the +start of the test suite execution

+

+NOTE 1: A static parameter is to be known from the test suite +specification, (including imported definitions), or the test system +is aware of its value before execution time.

+

+NOTE 2: All types are known at compile time, i.e. are statically +bound.

+

+strong typing: strict enforcement of type compatibility by +type name equivalence with no exceptions

+

+system +under +test +(SUT): See +Recommendation ITU‑T X.290 [5].

+

+template: TTCN‑3 templates are specific data structures +for testing; used to either transmit a set of distinct values or to +check whether a set of received values matches the template +specification

+

+template parameterization: ability to pass a template as an +actual parameter into a parameterized object via a template parameter

+

+NOTE 1: This actual template parameter is added to the specification +of that object and may complete it.

+

+NOTE 2: Values passed to template formal parameters are considered to +be in-line templates (see clause 15.4).

+

+test behaviour: (or behaviour) test case or a function started +on a test component when executing an execute +or a start +component statement and all functions and altsteps called recursively

+

+NOTE: During a test case execution each test component has its own +behaviour and hence several test behaviours may run concurrently in +the test system (i.e. a test case can be seen as a collection of test +behaviours).

+

+test case: See +Recommendation ITU‑T X.290 [5].

+

+test case error: See +Recommendation ITU‑T X.290 [5].

+

+test suite: set +of TTCN‑3 modules that contains a +completely defined set of test cases, optionally supplemented with +one or more TTCN‑3 control parts

+

+test system: See +Recommendation ITU‑T X.290 [5].

+

+test system interface: test +component that provides a mapping of the ports available in the +(abstract) TTCN‑3 test system to +those offered by the SUT

+

+timer parameterization: ability to pass a timer as an actual +parameter into a parameterized object via a timer parameter

+

+NOTE: This actual timer parameter is added to the specification of +that object and may complete it.

+

+type compatibility: language feature that allows to use +values, expressions or templates of a given type as actual values of +another type (e.g. at assignments, as actual parameters at calling a +function, referencing a template, etc. or as a return value of a +function)

+

+type context: "In the context of a type" means that +at least one object involved in the given TTCN-3 action (an +assignment, operation, parameter passing etc.) identifies a concrete +type unambiguously

+

+NOTE: Either directly (e.g. an in-line template) or by means of a +typed TTCN-3 object (e.g. via a constant, variable, formal parameter +etc.).

+

+unqualified name: unqualified name of a TTCN-3 element is its +name without any qualification

+

+user-defined type: type that is defined by subtyping of a +basic type or declaring a structured type

+

+NOTE: User-defined types are referenced by their identifiers (names).

+

+value list notation: notation that can be used for record, +set, record of and set of values, where the values of the subsequent +fields or elements are listed within a pair of curly brackets ("{" +and "}"), without an explicit identification of the field +name or element position

+

+value notation: notation by which an identifier is associated +with a given value or range of a particular type

+

+NOTE: Values may be constants or variables.

+

+value parameterization: ability to pass a value as an actual +parameter into a parameterized object via a value parameter

+

+NOTE: This actual value parameter is added to the specification of +that object and may complete it.

+

+3.2 Abbreviations

+

+For the purposes of the present document, the following abbreviations +apply:

+

+API Application Programming Interface

+

+ASN Abstract Syntax Notation

+

+ASP Abstract Service Primitive +

+

+NOTE: See Recommendation ITU‑T X.290 [5].

+

+ATS Abstract Test Suite

+

+BER Basic Encoding Rules

+

+BMP Basic Multilingual Plane

+

+BNF Backus-Nauer Form

+

+CORBA Common Object Request Broker Architecture

+

+ETS Executable Test Suite

+

+FIFO First In First Out

+

+GFT Graphical presentation Format

+

+ICS Implementation Conformance Statement

+

+IDL Interface Definition Language

+

+IRV International Reference Version

+

+IUT Implementation Under Test

+

+IXIT Implementation eXtra Information for Testing

+

+MTC Main Test Component

+

+PDU Protocol Data Unit +

+

+NOTE: See Recommendation ITU‑T X.290 [5].

+

+PTC Parallel Test Component

+

+SDL Specification and Description Language

+

+SUT System Under Test

+

+TCI TTCN-3 Control Interfaces

+

+TFT Tabular presentation Format

+

+TRI TTCN-3 Runtime Interfaces

+

+TSI Test System Interface

+

+TTCN-3 Testing and Test Control Notation version 3

+

+UCS Universal Character Set

+

+UCS-4 Universal Coded Character Set

+

+UTF UCS Transformation Format

+

+UTF-8 Unicode Transformation Format-8

+

+XML eXtensible Markup Language

+

+4 Introduction

+

+TTCN‑3 is a flexible and powerful language applicable to the +specification of all types of reactive system tests over a variety of +communication interfaces. Typical areas of application are protocol +testing (including mobile and Internet protocols), service testing +(including supplementary services), module testing, testing of CORBA +based platforms, API testing, etc. TTCN‑3 is not restricted to +conformance testing and can be used for many other kinds of testing +including interoperability, robustness, regression, system and +integration testing.

+

+TTCN‑3 includes the following essential characteristics:

+
    +
  • + the ability to specify dynamic concurrent testing configurations;

    +
  • + operations for procedure-based and message-based communication;

    +
  • + the ability to specify encoding information and other attributes + (including user extensibility);

    +
  • + the ability to specify data and signature templates with powerful + matching mechanisms;

    +
  • + value parameterization;

    +
  • + the assignment and handling of test verdicts;

    +
  • + test suite parameterization and test case selection mechanisms;

    +
  • + combined use of TTCN‑3 with other languages;

    +
  • + well-defined syntax, interchange format and static semantics;

    +
  • + different presentation formats (e.g. tabular and graphical + presentation formats);

    +
  • + a precise execution algorithm (operational semantics).

    +
+

+NOTE: The present document uses the following pattern of concept +description: concepts, principles and mechanisms are explained in +(introductory) text at the beginning of a clause. For every concept +having concrete syntax, the syntactical structure of that concept is +presented afterwards. The syntactical structure follows the +conventions for the TTCN-3 syntax description in clause A.1.1 and +uses rules of the TTCN-3 BNF given in clause A.1. A semantic +description follows the syntactic structure. The restrictions on the +concept are listed subsequently. Finally, examples on the usage of +the concept are given.

+

+In case of a contradiction between the body of the present document +(clauses 5 to 27) and annex A of the present document, annex A has +the priority.

+

+4.1 The core language and presentation formats

+

+The TTCN‑3 specification is separated into several parts (see +figure 1).

+

+The first part, defined in the present document, is the core +language.

+

+The second part, defined in ES 201 873-2 [i.1], is the tabular +presentation format.

+

+The third part, defined in ES 201 873-3 [i.2], is the +graphical presentation format.

+

+The fourth part, ES 201 873-4 [1], contains the operational +semantics of the language.

+

+The fifth part, ES 201 873-5 [i.3], defines the TTCN‑3 +Runtime Interface (TRI).

+

+The sixth part, ES 201 873-6 [i.4], defines the TTCN‑3 +Control Interfaces (TCI).

+

+The seventh part, ES 201 873-7 [i.5], specifies the use of ASN.1 +definitions with TTCN‑3.

+

+The eight part, ES 201 873-8 [i.6], specifies the use of IDL +definitions with TTCN‑3.

+

+The ninth part, ES 201 873-9 [i.7] specifies the use of XML +definitions with TTCN‑3.

+

+The tenth part, ES 201 873-10 [i.8] specifies documentation tags for +TTCN‑3.

+

+The core language serves three purposes:

+

+a) as a generalized text-based test language in its own right;

+

+b) as a standardized interchange format of TTCN‑3 test suites +between TTCN‑3 tools;

+

+c) as the semantic basis (and where relevant, the syntactical basis) +for various presentation formats.

+

+The core language may be used independently of the presentation +formats. However, neither the tabular format nor the graphical format +can be used without the core language. Use and implementation of +these presentation formats will be done on the basis of the core +language.

+

+The tabular format and the graphical format are +the first in an anticipated set of different presentation formats. +These other formats may be standardized presentation formats or they +may be proprietary presentation formats defined by TTCN‑3 +users themselves. These additional formats are not defined in the +present document.

+

+TTCN-3 may optionally be used with TTCN-3 +packages, which define additional concepts for specific purposes.

+

+TTCN‑3 may optionally be used with other +type-value notations in which case definitions in other languages may +be used as alternative data type and value syntax. Other parts of the +TTCN-3 standard specify use of some +other languages with TTCN‑3. The +support of other languages is not limited to those specified in the +ES 201 873 series of documents but to +support languages for which combined use with TTCN‑3 +is defined, rules given in the present document apply.

+

+

+

+Figure 1: User's view of the core +language, its packages and the various presentation formats

+

+The core language is defined by a complete +syntax (see annex A) and operational semantics (ES 201 873-4 +[1]). It contains minimal static semantics +(provided in the body of the present document and in annex A) which +do not restrict the use of the language due to some underlying +application domain or methodology.

+

+4.2 Unanimity of the specification

+

+The language is specified syntactically and semantically in terms of +a textual description in the body of the present document (clauses 5 +to 27) and in a formalized way in annex A. In each case, when the +textual description is not exhaustive, the formal description +completes it. If the textual and the formal specifications are +contradictory, the latter shall take precedence.

+

+4.3 Conformance

+

+For an implementation claiming to conform to +this version of the language, all features specified in the present +document shall be implemented consistently with the requirements +given in the present document and in ES 201 873‑4 [1].

+

+5 Basic language elements

+

+The top-level unit of TTCN‑3 +is a module. A module cannot be structured into sub-modules. A module +can import definitions from other modules. Modules can have module +parameters to allow test suite parameterization.

+

+A module consists of a definitions part and a control part. The +definitions part of a module defines test components, communication +ports, data types, constants, test data templates, functions, +signatures for procedure calls at ports, test cases, etc.

+

+The control part of a module calls the test +cases and controls their execution. The control part may also declare +(local) variables, etc. Program statements (such as if-else +and do-while) +can be used to specify the selection and execution order of +individual test cases. The concept of global variables is not +supported in TTCN‑3.

+

+TTCN‑3 has a number of pre-defined basic +data types as well as structured types such as records, sets, unions, +enumerated types and arrays.

+

+A special kind of data structure called a template provides +parameterization and matching mechanisms for specifying test data to +be sent or received over the test ports. The operations on these +ports provide both message-based and procedure-based communication +capabilities. Procedure calls may be used for testing implementations +which are not message based.

+

+Dynamic test behaviour is expressed as test cases. TTCN‑3 +program statements include powerful behaviour description mechanisms +such as alternative reception of communication and timer events, +interleaving and default behaviour. Test verdict assignment and +logging mechanisms are also supported.

+

+Finally, TTCN‑3 +language elements may be assigned attributes such as encoding +information and display attributes. It is also possible to specify +(non-standardized) user-defined attributes.

+

+The TTCN-3 +language elements are summarized in table 1.

+

+Table 1: +Overview of TTCN‑3 language +elements

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Language + element

+
+

Associated + keyword

+
+

Specified + in module definitions

+
+

Specified + in module control

+
+

Specified + in functions/
altsteps/ test cases

+
+

Specified + in test component type

+
+

TTCN‑3 + module definition

+
+

module

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Import + of definitions from other module

+
+

import

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Grouping + of definitions

+
+

group

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Data + type definitions

+
+

type

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Communication + port definitions

+
+

port

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Test + component definitions

+
+

component

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Signature + definitions

+
+

signature

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

External + function definitions

+
+

external

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Constant + definitions

+
+

const

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Data/signature + template definitions

+
+

template

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Function + definitions

+
+

function

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Altstep + definitions

+
+

altstep

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Test + case definitions

+
+

testcase

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+

Value + variable declarations

+
+

var

+
+


+

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Template + variable declarations

+
+

var + template

+
+


+

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Timer + declarations

+
+

timer

+
+


+

+
+

Yes

+
+

Yes

+
+

Yes

+
+

+ NOTE: The + notions "definition" and "declaration" of + variables, constants, types and other language elements are used + interchangeably throughout the present document. The distinction + between both notions is useful only for implementation purposes, + as it is the case in programming languages like C and C++. On the + level of TTCN‑3, the notions have equal meaning.

+
+
+

+

+

+

+5.1 Identifiers and keywords

+

+TTCN‑3 identifiers are case sensitive. +TTCN‑3 keywords shall be written +in all lowercase letters (see annex A). TTCN‑3 +keywords shall neither be used as identifiers of TTCN‑3 +objects nor as identifiers of objects imported from modules of other +languages. The same rules apply to names of predefined TTCN‑3 +functions (see annex C).

+

+5.2 Scope rules

+

+TTCN‑3 provides nine basic units of +scope:

+

+a) module definitions part;

+

+b) control part of a module;

+

+c) component types;

+

+d) functions;

+

+e) altsteps;

+

+f) test cases;

+

+g) statement blocks;

+

+h) templates;

+

+i) user defined named types.

+

+NOTE 1: Additional scoping rule for groups is given in clause 8.2.2.

+

+NOTE 2: Additional scoping rule for counters of for +loops is given in clause 19.4.

+

+NOTE 3: Statement blocks may include declarations. They may occur as +stand-alone statement blocks, embedded in another statement block or +within compound statements, e.g. as body of a while loop. +

+

+NOTE 4: Built in TTCN-3 types like integer, +charstring, +anytype, etc. are +not scope units, but all named user defined types are scope units, +independent of their kinds.

+

+Each unit of scope consists of (optional) +declarations. The scope units: control part of a module, functions, +test cases, altsteps and statement blocks may additionally specify +some form of +behaviour by using the TTCN‑3 program statements and +operations (see clause 18).

+

+Definitions made in the module definitions part but outside of other +scope units are globally visible, i.e. may be used elsewhere in the +module, including all functions, test cases and altsteps defined +within the module and the control part. Identifiers imported from +other modules are also globally visible throughout the importing +module.

+

+Definitions made in the module control part +have local visibility, i.e. can be used within the control part only.

+

+Definitions made in a test component type may be used in a component +type extending this component type definition, and in functions, test +cases and altsteps referencing that component type or a compatible +test component type (see clause 6.3.3) by a runs +on clause.

+

+Test cases, altsteps and functions are individual scope units without +any hierarchical relation between them, i.e. declarations made +at the beginning of their body have local visibility and shall only +be used in the given test case, altstep or function (e.g. a +declaration made in a test case is not visible in a function called +by the test case or in an altstep used by the test case).

+

+Stand-alone statement blocks and statements +within compound statements, like e.g. if-else, +while, +do-while, +or alt +statements may be used within +the control part of a module, test cases, altsteps, functions, or may +be embedded in other statement blocks or compound statements, e.g. an +if-else +statement that is used within a while +loop.

+

+Statement blocks and embedded statement blocks have a hierarchical +relation both to the scope unit including the given statement block +and to any embedded statement block. Declarations made within a +statement block have local visibility.

+

+The hierarchy of scope units is shown in figure 2. Declarations of a +scope unit at a higher hierarchical level are visible in all units at +lower levels within the same branch of the hierarchy. Declarations of +a scope unit in a lower level of hierarchy are not visible to those +units at a higher hierarchical level.

+

+

+

+Figure 2: Hierarchy of scope units

+

+EXAMPLE 1: Local scopes

+

+ module +MyModule

+

+ { :

+

+ const +integer +MyConst := 0; // MyConst is visible to MyBehaviourA and MyBehaviourB +

+

+ :

+

+ function +MyBehaviourA()

+

+ { :

+

+ const +integer A +:= 1; // The constant A is only visible to MyBehaviourA +

+

:

+

}

+

+

function +MyBehaviourB()

+

{ :

+

const +integer B +:= 1; // The constant B is only visible to MyBehaviourB +

+

:

+

+

}

+

}

+


+

+

+EXAMPLE 2: Component type scopes

+

type +component +MyComponentType {

+

const +integer +MyConst := 1;

+

+ ...

+

+ }

+

+ +

+

type +component +MyExtendedComponentType extends +MyComponentType {

+

var +integer +MyVar:= 2 * MyConst; // using MyConst of MyComponentType

+

+ ...

+

+ }

+

+
+

+

5.2.1 Scope of formal parameters

+

+The scope of formal parameters in a parameterized object (e.g. in a +function definition) shall be restricted to the definition in which +the parameters appear and to the lower levels of scope in the same +scope hierarchy. That is they follow the scope rules for local +definitions (see clause 5.2).

+

5.2.2 Uniqueness of identifiers

+

+TTCN‑3 requires uniqueness of +identifiers, i.e. all identifiers in the same scope hierarchy shall +be distinctive. This means that a declaration in a lower level of +scope shall not re-use the same identifier as a declaration in a +higher level of scope in the same branch of the scope hierarchy.

+

+The identifier of a module (its module name) or of an imported module +belongs to the scope unit of the module and cannot be used as +identifier for other definitions inside this module. Identifiers for +fields of structured types, enumerated values and groups do not have +to be globally unique, however in the case of enumerated values the +identifiers shall only be reused for enumerated values within other +enumerated types. The rules of identifier +uniqueness shall also apply to identifiers of formal parameters.

+

+EXAMPLE 1: Nested scopes

+

+ module +MyModule

+

+ { :

+

+ const +integer A +:= 1;

+

+ :

+

+ function +MyBehaviourA()

+

+ { :

+

+ const +integer A +:= 1; // Is NOT allowed: clash with global constant A +

+

+ :

+

if(…) + +

+

{ :

+

const +boolean A +:= true; +// Is NOT allowed: clash with local constant A

+

:

+

}

+

}

+

}

+


+

+

+EXAMPLE 2: Independent scopes

+

// +The following IS allowed as the constants are not declared in the +same scope hierarchy +

+

// +(assuming there is no declaration of A in module header) +

+

function +MyBehaviourA()

+

{ :

+

const +integer A +:= 1;

+

:

+

}

+


+

+

function +MyBehaviourB()

+

{ :

+

const +integer A +:= 1;

+

:

+

}

+


+

+

+EXAMPLE 3: Module scopes

+

module +MyModuleB {

+

import +from +MyModuleA { … +}

+

+

function +MyFunction() {

+

var +integer +MyModuleB:= 1; // Is NOT allowed: class with module name

+

:

+

}

+

+

type +boolean +MyModuleA; // Is NOT allowed: class with imported module name

+

}

+


+

+

+5.3 Ordering of language elements

+

+Generally, the order in which declarations can +be made is arbitrary. Inside a statement block, such as a function +body or a branch of an if-else +statement, all declarations (if any), shall be made at the beginning +of the statement block only.

+

+EXAMPLE:

+

+ // +This is a legal mixing of TTCN‑3 declarations +

+

+ :

+

+ var +MyVarType MyVar2 := 3;

+

+ const +integer +MyConst:= 1;

+

+ if +(MyVar2+MyConst > 10) +

+

+ {

+

+ var +integer +MyVar1:= 1;

+

+ + :

+

+ MyVar1:= +MyVar1 + 10;

+

+ :

+

}

+

:

+


+

+

+Declarations in the module definitions part and in a component type +definition may be made in any order. However inside the module +control part, test case definitions, functions, altsteps, and +statement blocks, all required declarations shall be given +beforehand. This means in particular, local variables, local timers, +and local constants shall never be used before they are declared. The +only exceptions to this rule are labels. Forward references to a +label may be used in goto +statements before the label occurs (see clause 19.8).

+

+5.4 Parameterization

+

+TTCN-3 allows to parameterize modules, templates, functions, altsteps +and testcases. Values, templates, timers, and ports may be used as +actual parameters. A summary of which language +elements can be parameterized and what can be passed to them as +parameters is given in table 2.

+

+NOTE: Type parameterization for TTCN-3 +is defined in the optional package [i.12].

+

+Table 2: +Overview of parameterizable TTCN‑3 +objects

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Keyword

+
+

Allowed + kind of Parameterization

+
+

Allowed + form of Parameterization

+
+

Allowed + types in formal parameter lists

+
+

module

+
+

Value + parameterization

+
+

Static + at start of run-time

+
+

all + basic types, all user-defined types and address + type.

+
+

template

+
+

Value + and template parameterization

+
+

Dynamic + at run-time

+
+

all + basic types, all user-defined types, address + type and template.

+
+

function

+
+

Value, + template, port and timer parameterization

+
+

Dynamic + at run-time

+
+

all + basic types, all user-defined types, address + type, component + type, port + type, default, + template + and timer.

+
+

altstep

+
+

Value, + template, port and timer parameterization

+
+

Dynamic + at run-time

+
+

all + basic types, all user-defined types, address + type, component + type, port + type, default, + template + and timer.

+
+

testcase

+
+

Value, + template, port and timer parameterization

+
+

Dynamic + at run-time

+
+

all + basic types and of all user-defined types, address + type and template.

+
+

+ NOTE: + Signatures are not shown in the table, because a signature + declares parameters only. The templates for the signatures can be + parameterized, however.

+
+
+

+

+

+

5.4.1 Formal parameters

+

+TTCN-3 modules, structured types, templates, functions, altsteps, and +testcases may be defined incompletely, i.e. some entities (variables, +templates, ports, timers, etc.) used by the above objects may not be +resolved in the definition of the object. These objects are called +parameterized objects. Formal entities replacing the unresolved +entities in the parameterized object's definition are called formal +parameters.

+

+Formal parameters of parameterized templates, functions, altsteps, +and testcases are defined in formal parameter lists. Formal +parameters of modules are defined in module parameter definitions +(see clause 8.2.1).

+

+Formal parameters shall be in, +inout or out +parameters (see definitions in clause 3.1). If not stated otherwise, +a formal parameter is an in +parameter. For all these three sorts of parameter passing, the formal +parameters can both be read and set (i.e. get new values being +assigned) within the parameterized object. Formal parameters can be +used directly as actual parameters for other parameterized objects, +e.g. as actual parameters in function invocations or as actual +parameters in template instances.

+

+Formal in +parameters may have default values. This default value is used when +no actual parameter is provided.

+

+NOTE: Although out +parameters can be read within the parameterized object, they do not +inherit the value of their actual parameter; i.e. they should be set +before they are read.

+

5.4.1.1 Formal parameters of kind +value

+

+Values of all basic types, all user-defined +types, address type, component type, and default can be passed as +value parameters.

+

+Syntactical Structure

+

+[ +( in | +inout | +out ) ] +Type +ValueParIdentifier [ +":=" ( +Expression | "-" ) ]

+

+
+

+

+Semantic Description

+

+Value formal parameters can be used within the parameterized object +the same way as values, for example in expressions.

+

+Value formal parameters may be in, inout or out parameters. The +default for value formal parameters is in +parameterization which may optionally be denoted by the keyword in. +Using of inout or out kind of parameterization shall be specified by +the keywords inout +or out +respectively.

+

+In parameters may have a default value, which is given by an +expression assigned to the parameter. Formal parameters of modified +templates may inherit the default values from the corresponding +parameters of their parent templates; this shall explicitly be +denoted by using a dash (don't change) symbol at the place of the +modified template parameters' default value.

+

+TTCN‑3 supports value parameterization +according to the following rules:

+
    +
  • + the language element module + allows static value parameterization to support test suite + parameters, i.e. this parameterization may or may not be + resolvable at compile-time but shall be resolved by the commencement + of run-time (i.e. static at run-time). This means that, at + run-time, module parameter values are globally visible but not + changeable (see more details in clause 8.2);

    +
  • + the language elements template, + testcase, altstep + and function + support dynamic value parameterization (i.e. this + parameterization shall be resolved at run-time).

    +
+

+NOTE: Component and default references are also handled as value +parameters. In the case of component references, the corresponding +component type is the type of the formal parameter. In the case of +default references the TTCN-3 type default +is the type of the formal parameter.

+

+Restrictions

+

+a) Language elements which cannot be parameterized are: const, +var, +timer, +control, +record +of, +set +of, +enumerated, +port, +component +and subtype definitions, group +and import.

+

+b) Formal value parameters of templates, +and of altsteps activated as defaults (see clause 20.5.2) shall +always be in +parameters.

+

+c) Restrictions on module parameters are given in clause 8.2.

+

+d) Default values can be provided for in +parameters only.

+

+e) The expression of the default value has to be compatible with the +type of the parameter. The expression shall not refer to elements of +the component type of the optional runs +on clause. The expression shall not refer to other +parameters of the same parameter list. The expression shall not +contain the invocation of functions with a runs +on clause.

+

+f) Default values of component type formal parameters shall be one of +the special values null, mtc, +self, or system.

+

+g) Default values of default type formal parameters shall be the +special value null.

+

+h) The dash (don't change) symbol shall be used with formal +parameters of modified templates only (see also clause 15.5). +

+

+i) For formal value parameters of templates the restrictions +specified in clause 15 shall apply.

+

+Examples

+

+EXAMPLE 1: In, out and inout formal parameters

+

function +MyFunction1(in boolean +MyReferenceParameter){ … };

+

// +MyReferenceParameter is an in value parameter. The parameter can be +read. It can also be set // within the function, however, the +assignment is local to the function only

+

+

function +MyFunction2(inout boolean +MyReferenceParameter){ … };

+

// +MyReferenceParameter is an inout value parameter. The parameter can +be read and set +

+

// +within the function - the assignment is not local

+

+

function +MyFunction3(out template boolean +MyReferenceParameter){ … };

+

// +MyReferenceParameter is an out value parameter. The parameter can be +set within the function,
// the assignment is not local. It can +also be read, but only after it has been set.

+


+

+

+EXAMPLE 2: Reading and setting parameters

+

+ type +record +MyMessage {

+

+ integer +f1,

+

+ integer +f2

+

+ }

+

+
+

+

+ function +f_MyMessage (integer +p_int) return +MyMessage {

+

+ var +integer +f1, f2;

+

+ f1 +:= f_mult2 (p_int);

+

+ // +parameter p_int is passed on; as the parameter of the called function +f_mult2 is

+

+ // +defined as an inout parameter, it passes back the changed value for +p_int, +

+

+ f2 +:= p_int;

+

+ return +{f1, f2};

+

+
+

+

+ }

+


+

+

function +f_mult2 (inout +integer +p_integer) return +integer {

+

p_integer +:= 2 * p_integer;

+

// +the value of the formal parameter is changed; this new value is +passed back when

+

// +f_mult2 completes

+

return +p_integer-1

+

}

+


+

+

testcase +tc_01 () runs +on MTC_PT +{

+

...

+

P1.send +(f_MyMessage(5))

+

// +the value sent is { f1 := 9 , f2 := 10 }

+

...

+

}

+


+

+

+EXAMPLE 3: Function with default value for parameter

+

+ function +f_comp (in integer +p_int1, in +integer +p_int2 := 3) return +integer {

+

+ + var +integer v +:= p_int1 + p_int2;

+

+ + :

+

+ + return v;

+

+ }

function +f () {

+

+ + var +integer +w;
…

+

+ + w := f_comp(1); // same as calling f_comp(1,3);
w := +f_comp(1,2); // value 2 is taken for parameter p_int2 and not its +default value 3

+

+ + …

+

}

+


+

+

+EXAMPLE 4: Direct passing of formal parameters to functions

+

+ function +f_MyFunc2(in +bitstring +p_refPar1, inout +integer +p_refPar2) return +integer {

+

+ :

+

+ }

+

+ function +f_MyFunc1(inout bitstring +p_refPar1, out +integer +p_refPar2) return +integer {

+

+ + :

+

+ + return +f_MyFunc2(p_refPar1, p_refPar2);

+

}

+

// +p_refPar1 and p_refPar2 can be passed directly to a function +invocation

+


+

+

+5.4.1.2 Formal parameters of kind template

+

+Template kind parameters are used to pass templates into +parameterizable objects.

+

+Syntactical Structure

+

+[ +in | inout +| out ] +template [ +Restriction +] Type +ValueParIdentifier
[ +":=" ( +TemplateInstance | "-" ) +]

+

+
+

+

+Semantic Description

+

+Templates parameters can be defined for templates, functions, +altsteps, and test cases.

+

+To enable a parameterized object to accept templates or matching +symbols as actual parameters, the extra keyword template +shall be added before the type field of the corresponding formal +parameter. This makes the parameter a template parameter and in +effect extends the allowed actual parameters for the associated type +to include the appropriate set of matching attributes (see annex B) +as well as the normal set of values.

+

+Formal template parameters can be used within the parameterized +object the same way as templates and template variables.

+

+Formal template parameters may be in, inout or +out parameters. The default for formal template parameters is +in +parameterization.

+

+In parameters may have a default template, which is given by a +template instance assigned to the parameter. Formal template +parameters of modified templates may inherit their default templates +from the corresponding parameters of their parent templates; this +shall explicitly be denoted by using a dash (don't change) symbol at +the place of the modified template parameter's default template.

+

+Formal template parameters can be restricted to accept actual +parameters containing a restricted set of matching mechanisms only. +Such limitations can be expressed by the restrictions omit, +present, and value. The restriction template (omit) +can be replaced by the shorthand notation omit. The meaning of +the restrictions is explained in clause 15.8.

+

+Restrictions

+

+a) Only function, +testcase, +altstep and +template +definitions may have formal template parameters.

+

+b) Formal template parameters of templates, +of functions +started as test component behaviour (see clause 21.3.2) and +of altsteps +activated as defaults (see clause 20.5.2) shall always be in +parameters.

+

+c) Default templates can be provided for in parameters only.

+

+d) The default template instance has to be compatible with the type +of the parameter. The template instance shall not refer to elements +of the component type in a runs on clause. The template instance +shall not refer to other parameters in the same parameter list. The +template instance shall not contain the invocation of functions with +a runs on clause.

+

+e) Default templates of component type formal parameters shall be +built from the special values null, +mtc, self, or system.

+

+f) Restrictions specified in clause 15 shall apply.

+

+g) The dash (don't change) symbol shall be used with formal +parameters of modified templates only (see also clause 15.5).

+

+Examples

+

+EXAMPLE 1: Template with template parameter

+

+ // +The template +

+

+ template +MyMessageType MyTemplate (template +integer +MyFormalParam):=

+

+ { field1 +:= MyFormalParam,

+

field2 +:= pattern "abc*xyz",

+

field3 +:= true

+

}

+


+

+

// +could be used as follows +

+

pco1.receive(MyTemplate(?));

+

// +Or as follows

+

pco1.receive(MyTemplate(omit)); +// provided that field1 is declared in MyMessageType as optional

+


+

+

+EXAMPLE 2: Function with template parameter

+

+ function +MyBehaviour(template +MyMsgType MyFormalParameter)

+

+ runs +on +MyComponentType

+

+ { +:

+

+ pco1.receive(MyFormalParameter);

+

+ +:

+

+ }

+


+

+

+EXAMPLE 3: Template with restricted parameter

+

// +The template +

+

template +MyMessageType MyTemplate1 (template +( omit ) +integer +MyFormalParam):=

+

{ field1 +:= MyFormalParam,

+

field2 +:= pattern "abc*xyz",

+

field3 +:= true

+

}

+


+

+

// +could be used as follows +

+

pco1.send(MyTemplate1(omit));

+

// +but not as follows

+

pco1.receive(MyTemplate1(?)); +// AnyValue is not within the restriction

+


+

+

// +the same template can be written shorter as

+

template +MyMessageType MyTemplate2 (omit +integer +MyFormalParam):=

+

{ field1 +:= MyFormalParam,

+

field2 +:= pattern "abc*xyz",

+

field3 +:= true

+

}

+


+

+

+5.4.1.3 Formal parameters of kind timer

+

+Functions and altsteps can be parameterized with timers.

+

+Syntactical Structure

+

+[ +inout ] +timer +TimerParIdentifier

+

+
+

+

+Semantic Description

+

+Timers passed into a parameterized object are known inside the +behaviour definition of that object. Timer parameters can be used +within the parameterized object like any other timer, i.e. they need +not to be declared inside the parameterized object.

+

+Timer parameters shall preserve their current state, i.e. only the +timer is made known within the parameterized object. For example, +also a started timer continues to run, i.e. it is not stopped +implicitly. Thereby, possible timeout events can be handled inside +the function or altstep to which the timer is passed.

+

+Formal timer parameters are identified by the keyword timer.

+

+Restrictions

+

+a) Formal timer parameters shall be inout parameters, which can +optionally be indicated by the keyword inout.

+

+b) Only function - +with the exception of functions started as test component behaviour +(see clause 21.3.2) - and altstep +definitions may have formal timer parameters.

+

+Examples

+

// +Function definition with a timer in the formal parameter list +

+

function +MyBehaviour (timer +MyTimer)

+

{ :

+

MyTimer.start;

+

:

+

}

+


+

+

// +could be used as follows

+

function +MyBehaviour2 ()

+

{ :

+

timer +t;

+

MyBehaviour(t);

+

:

+

}

+


+

+

5.4.1.4 Formal parameters of kind +port

+

+Functions and altsteps can be parameterized with ports.

+

+Syntactical Structure

+

+[ +inout ] +PortTypeIdentifier +PortParIdentifier

+

+
+

+

+Semantic Description

+

+Ports passed into a parameterized object are +known inside the behaviour definition of that object. Port parameters +can be used within the parameterized object like any other port, i.e. +they need not to be made visible by a runs +on +clause.

+

+Ports passed in as parameters shall preserve their current state, +only the port is made known within the parameterized object's body. +For example, a started port continues to send/receive messages, i.e. +it is not stopped implicitly; thereby, possible port events can be +handled inside the function or altstep to which the port is passed +to.

+

+Restrictions

+

+a) Formal port parameters shall be inout parameters, which can +optionally be indicated by the keyword inout.

+

+b) Only function - +with the exception of functions started as test component behaviour +(see clause 21.3.2) ‑ and altstep +definitions may have formal port parameters.

+

+Examples

+

// +Altstep definition with a port in the formal parameter list +

+

altstep +MyBehaviour (MyPortType MyPort)

+

{ :

+

[] +MyPort.receive { +setverdict(fail); +stop; }

+

:

+

}

+


+

+

5.4.2 Actual parameters

+

+Values, templates, timers and/or ports can be passed into +parameterized TTCN-3 objects as actual parameters. Actual parameters +can be provided both as a list in the same order as the formal +parameters as well as in an assignment notation explicitly using the +associated formal parameter names.

+

+Syntactical Structure

+

+( +Expression +| // for value parameter

+

+ TemplateInstance +| // for template parameter

+

+ TimerRef +| // for timer parameter

+

+ Port + | // for port parameter

+

+ "-" +) | // to skip a parameter with default
ParameterId +":=" ( Expression | TemplateInstance | TimerRef | Port ) )

+

+
+

+

+Semantic Description

+

+Actual parameters that are passed by value to +in +formal value parameters shall be variables, literal values, module +parameters, constants, variables, value returning (external) +functions, formal value parameters (of in, inout or out +parameterization) of the current scope or expressions composed of the +above.

+

+Actual parameters that are passed to inout +or out +formal value parameters shall be variables or formal value parameters +(of in, inout or out parameterization).

+

+Actual parameters that are passed to in +formal template parameters shall be literal values, module +parameters, constants, variables, value or template returning +(external) functions, formal value parameters (of in, inout or out +parameterization) of the current scope or expressions composed of the +above, as well as templates, template variables or formal template +parameters (of in, inout or out parameterization) of the current +scope.

+

+Actual parameters that are passed to inout +or out +formal template parameters shall be variables, template variables, +formal value or template parameters (of in, inout or out +parameterization) of the current scope.

+

+Actual parameters that are passed to +formal timer parameters shall be component timers, local timers or +formal timer parameters of the current scope.

+

+Actual parameters that are passed to +formal port parameters shall be component ports or formal port +parameters of the current scope.

+

+When a formal parameter has been defined with a default value or +template, respectively, then it is not necessary to provide an actual +parameter. The actual parameters are evaluated in the order of their +appearance. If for some formal parameters, no actual parameter has +been provided, their default values are taken and evaluated in the +order of the formal parameter list.

+

+The empty brackets for instances of parameterized templates that have +only parameters with default values are optional when no actual +parameters are provided, i.e. all formal parameters use their default +values.

+

+Restrictions

+

+a) When using list notation, the order of elements in the actual +parameter list shall be the same as their order in the corresponding +formal parameter list. For each formal parameter without a default +there shall be an actual parameter. The actual parameter of a formal +parameter with default value can be skipped by using dash "-" +as actual parameter. An actual parameter can also be skipped by just +leaving it out if no other actual parameter follows in the actual +parameter list - either because the parameter is last or because all +following formal parameters have default values and are left out.

+

+b) Either list notation or assignment notation shall be used in a +single parameter list. They shall not be mixed.

+

+c) When using assignment notation, each formal parameter shall be +assigned an actual parameter at most once. For each formal parameter +without default value, there shall be an actual parameter. In order +to use the default value of a formal parameter, no assignment for +this specific parameter shall be provided.

+

+d) The type of each actual parameter shall be compatible with the +type of each corresponding formal parameter. +

+

+e) Actual parameters passed to restricted formal template parameters +shall obey the restrictions given in clause 15.8.

+

+f) All parameterized entities specified as an actual parameter shall +have their own parameters resolved in the top‑level actual +parameter list.

+

+g) If the formal parameter list of TTCN‑3 objects function, +testcase, +signature, altstep +or external +function is empty, +then the empty parentheses shall be included both in the declaration +and in the invocation of that object. In all other cases the empty +parentheses shall be omitted.

+

+h) Restrictions on the use of signature parameters are given in +clauses 15.2 and 22.3.

+

+i) Restrictions on parameters passed to altsteps are given in clauses +16.2.1 and 20.5.2.

+

+Examples

+

+EXAMPLE 1: Formal and actual parameter lists have to match

+

// +A function definition with a formal parameter list +

+

function +MyFunction(integer +FormalPar1, boolean +FormalPar2, bitstring +FormalPar3) { … }

+


+

+

// +A function call with an actual parameter list +

+

MyFunction(123, +true,'1100'B);

+


+

+

// +A function call with assignment notation for actual parameters +

+

MyFunction(FormalPar1 +:= 123, FormalPar3 := '1100'B, FormalPar2 := true);

+


+

+

+EXAMPLE 2: In parameters

+

function +MyFunction(in +template +MyTemplateType MyValueParameter){ … };

+

// +MyValueParameter is in parameter, the in keyword is optional

+


+

+

// +A function call with an actual parameter

+

MyFunction(MyGlobalTemplate);

+


+

+

+EXAMPLE 3: Inout and out parameters

+

+ function +MyFunction(inout boolean +MyReferenceParameter){ … };

+

+ // +MyReferenceParameter is an inout parameter

+

+

+

+ // +A function call with an actual parameter

+

+ MyFunction(MyBooleanVariable);

+

+ // +The actual parameter can be read and set within the function +

+

+

+

+

function +MyFunction(out template boolean +MyReferenceParameter){ … };

+

// +MyReferenceParameter is an out parameter

+

+

// +A function call with an actual parameter

+

MyFunction(MyBooleanVariable);

+

// +The actual parameter is initially unbound, but can be set and read +within the function.

+


+

+

+EXAMPLE 4: Empty parameter lists

+

+ // +A function definition with an empty parameter list shall be written +as +

+

+ function +MyFunction(){ … }

+

+

+

+ // +and shall be called as

+

+ MyFunction();

+

+

+

+

+

+ // +A record definition with an empty parameter list shall be written as +

+

type +record MyRecord { … }

+

+

+

+ // +and shall be used as +

+

template +MyRecord Mytemplate := { … }

+


+

+

+EXAMPLE 5: Nested parameter lists

+

+ // +Given the message definition +

+

+ type +record +MyMessageType +

+

+ {

+

+ integer + field1,

+

+ charstring field2,

+

+ boolean field3

+

}

+


+

+

// +A message template might be +

+

template +MyMessageType MyTemplate(integer +MyValue) :=

+

{

+

field1 +:= MyValue,

+

field2 +:= pattern +"abc*xyz",

+

field3 +:= true

+

}

+


+

+

// +A test case parameterized with a template might be +

+

+testcase +TC001(template +MyMessageType RxMsg) runs +on PTC1 +system +TS1 {

+

+ :

+

+ MyPCO.receive(RxMsg); + +

+

}

+


+

+

// +When the test case is called in the control part and the +parameterized template is +

+

// +passed as an actual parameter, the template's actual parameters shall +be provided +

+

control

+

{ :

+

execute(TC001(MyTemplate(7)));

+

:

+

}

+


+

+

+5.5 Cyclic Definitions

+

+Direct and indirect cyclic definitions are not allowed with the +exception of the following cases: +

+

+a) for recursive type definitions (see clause 6.2); +

+

+b) function and altstep definitions (i.e. recursive function or +altstep calls); +

+

+c) cyclic import definitions, if the imported definitions only form +allowed cyclic definitions. +

+

+NOTE 1: Indirect cyclic definitions may be a result of imports of +definitions that are needed for the usage of a definition but do not +need to be known in the importing module (see clause 8.2.3.1).

+

+NOTE 2: For the detection of cycles only the main identifiers of the +definition are used. For example, field identifiers are not used. +

+

+Examples

+

+EXAMPLE 1: Module with cyclic constant definition that is not allowed

+

+ module +MyModule { +

+

+ :

+

+ type +record ARecordType { integer +a, integer +b };

+

+ :

+

+ // +The following two lines include a cycle that is not allowed

+

+ const +ARecordType cConst := { 1 , dConst.b}; +// cConst refers to dConst

+

+ const +ARecordType dConst := { 1 , cConst.b}; // dConst refers to cConst

+

+ }

+


+

+

+EXAMPLE 2: Modules with cyclic import that is allowed

+

+ module +MyModuleA {

+

+ import +from +MyModuleB { type +MyInteger }

+

+ type +record of +MyInteger MyIntegerList;

+

+ }

+


+

+

module +MyModuleB {

+

type +integer +MyInteger;

+

import +from +MyModuleA { type +MyIntegerList }

+

}

+


+

+

+6 Types and values

+

+TTCN‑3 supports a number of predefined basic types. These basic +types include ones normally associated with a programming language, +such as integer, +boolean and string types, as well as some TTCN‑3 +specific ones such as verdicttype. +Structured types such as record +types, set types +and union types can +be constructed from these basic types. enumerated +types are specific structured types being constructed of enumerated +values.

+

+The special data type anytype +is defined as the union of all known data types and the address type +within a module.

+

+Special types associated with test configurations such as address, +port and component +may be used to define the architecture of the test system (see clause +21).

+

+The special type default +may be used for the default handling (see clause 20.5).

+

+The TTCN‑3 types are summarized in table 3.

+

+Table 3: +Overview of TTCN‑3 types

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Class + of type

+
+

Keyword

+
+

Subtype

+
+

Simple + basic types

+
+

integer

+
+

range, + list

+
+

float

+
+

range, + list

+
+

boolean

+
+

list

+
+

verdicttype

+
+

list

+
+

Basic + string types

+
+

bitstring

+
+

list, + length

+
+

hexstring

+
+

list, + length

+
+

octetstring

+
+

list, + length

+
+

charstring

+
+

range, + list, length, pattern

+
+

universal + charstring

+
+

range, + list, length, pattern

+
+

Structured + types

+
+

record

+
+

list + (see note)

+
+

record + of

+
+

list + (see note), length

+
+

set

+
+

list + (see note)

+
+

set + of

+
+

list + (see note), length

+
+

enumerated

+
+

list + (see note)

+
+

union

+
+

list + (see note)

+
+

Special + data type

+
+

anytype

+
+

list

+
+

Special + configuration types

+
+

address

+
+


+

+
+

port

+
+


+

+
+

component

+
+


+

+
+

Special + default type

+
+

default

+
+


+

+
+

+ NOTE: List + subtyping of these types is possible when defining a new + constrained type from an already existing parent type but not + directly at the declaration of the first parent type.

+
+
+

+

+

+

+NOTE: Behaviour types for TTCN-3 are defined in the optional package +[i.13].

+

+6.1 Basic types and values

+

6.1.0 Simple +basic types and values

+

+TTCN‑3 supports the following basic +types:

+

+a) integer: +a type with distinguished values which are the positive and negative +whole numbers, including zero.

+

+ Values of integer type shall be denoted by one or more digits; the +first digit shall not be zero unless the value is 0; the value zero +shall be represented by a single zero.

+

+b) float: a +type to describe floating-point numbers and special float values.

+

+ In general, floating point numbers can be defined as:<mantissa> +× <base><exponent>,

+

+ where <mantissa> is a positive or negative integer, +<base> a positive integer (in most cases 2, 10 or 16) +and <exponent> a positive or negative integer.

+

+ In TTCN‑3, the floating-point number value notation is +restricted to a base with the value of 10. Floating point values can +be expressed by using two forms of value notations:

+
    +
  • + the decimal notation with a dot in a sequence of numbers like, 1.23 + (which represents 123×10-2), + 2.783 (i.e. 2783 × 10-3) + or -123.456789 (which represents -123 456 789 × 10-6); + or

    +
  • + by two numbers separated by E where the first number specifies the + mantissa and the second specifies the exponent, for example 12.3E4 + (which represents 123 × 103) + or -12.3E-4 (which represents ‑123 × 10‑5).

    +
+

+NOTE 1: In contrast to the general definition of float values, the +mantissa of in theTTCN‑3 value notation, beside integers, +allows decimal numbers as well.

+

+The special values of the float type consist of infinity +(positive infinity), -infinity +(negative infinity) and the value not_a_number. +For the ordering of special values see clauses 7.1.1 and 7.1.3.

+

+NOTE 2: -not_a_number +(i.e. minus not a number) is not to be used.

+

+c) boolean: a type +consisting of two distinguished values.

+

+ Values of boolean type shall be denoted by true +and false.

+

+d) verdicttype: +a type for use with test verdicts consisting of 5 distinguished +values. Values of verdicttype +shall be denoted by pass, +fail, inconc, +none and error.

+

6.1.1 Basic +string types and values

+

+TTCN‑3 supports the following basic +string types:

+

+NOTE 1: The general term string or string type in TTCN‑3 refers +to bitstring, +hexstring, +octetstring, +charstring and universal +charstring.

+

+a) bitstring: +a type whose distinguished values are the ordered sequences of zero, +one, or more bits.

+

+ Values of type bitstring +shall be denoted by an arbitrary number (possibly zero) of the bit +digits: 0 1, preceded by a single quote ( ' ) and followed by +the pair of characters 'B.

+

+EXAMPLE 1: '01101'B.

+

+b) hexstring: +a type whose distinguished values are the ordered sequences of zero, +one, or more hexadecimal digits, each corresponding to an ordered +sequence of four bits.

+

+ Values of type hexstring +shall be denoted by an arbitrary number (possibly zero) of the +hexadecimal digits (uppercase and lowercase letters can equally be +used as hex digits):

+

+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

+

+ preceded by a single quote ( ' ) and followed by the pair of +characters 'H; each hexadecimal digit is used to denote the +value of a semi-octet using a hexadecimal representation.

+

+EXAMPLE +2: 'AB01D'H
'ab01d'H
'Ab01D'H

+

+c) octetstring: +a type whose distinguished values are the ordered sequences of zero +or a positive even number of hexadecimal digits (every pair of digits +corresponding to an ordered sequence of eight bits).

+

+ Values of type octetstring +shall be denoted by an arbitrary, but even, number (possibly zero) of +the hexadecimal digits (uppercase and lowercase letters can equally +be used as hex digits):

+

+ 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

+

+ preceded by a single quote ( ' ) and followed by the pair of +characters 'O; +each hexadecimal digit is used to denote the value of a semi-octet +using a hexadecimal representation.

+

+EXAMPLE +3: 'FF96'O
'ff96'O
'Ff96'O

+

+d) charstring: +are types whose distinguished values are zero, one, or more +characters of the version of Recommendation ITU‑T T.50 +[4] complying with the International Reference Version (IRV) as +specified in clause 8.2 of Recommendation ITU‑T T.50 [4].

+

+NOTE 2: The IRV version of Recommendation ITU‑T T.50 +[4] is equivalent to the IRV version of the International Reference +Alphabet (former International Alphabet No.5 - IA5), described in +Recommendation ITU‑T T.50 [4].

+

+ Values of charstring +type shall be denoted by an arbitrary number (possibly zero) of +non-control characters from the relevant character set, preceded and +followed by double quote ("). Graphical characters include the +range from SP(32) to TILDE (126). Values of charstring +type can also be calculated using the predefined conversion function +int2char with the positive integer value of their encoding as +argument (see clause C.1).

+

+NOTE 3: The predefined conversion function is able to return +single-character-length values only.

+

+ In cases where it is necessary to define strings that include the +character double quote (") the character is represented by a +pair of double quotes on the same line with no intervening space +characters.

+

+EXAMPLE 4: The +charstring "ab"cd" is written in TTCN-3 code as in the +following constant declaration. Each of the 3 quote characters that +are part of the string is preceded by an extra quote character and +the whole character string is delimited by quote characters, e.g.
var +charstring +vl_char:= """ab""cd""";

+

+e) The character string type preceded by the keyword universal +denotes types whose distinguished values are zero, one, or more +characters from ISO/IEC 10646 [2].

+

+universal +charstring values +can also be denoted by an arbitrary number (possibly zero) of +characters from the relevant character set, preceded and followed by +double quote ("), calculated using a predefined conversion +function (see clause C.1.2) with the positive integer value of their +encoding as argument or by a "quadruple".

+

+NOTE 4: The predefined conversion function is able to return +single-character-length values only.

+

+ In cases where it is necessary to define strings that include the +character double quote (") the character is represented by a +pair of double quotes on the same line with no intervening space +characters.

+

+ The "quadruple" is only capable to denote a single +character and denotes the character by the decimal values of its +group, plane, row and cell according to ISO/IEC 10646 [2], preceded +by the keyword char +included into a pair of brackets and separated by commas (e.g. char +( 0, 0, 1, 113) denotes the Hungarian character "ű"). In +cases where it is necessary to denote the character double quote (") +in a string assigned according to the first method (within double +quotes), the character is represented by a pair of double quotes on +the same line with no intervening space characters. The two methods +may be mixed within a single notation for a string value by using the +concatenation operator.

+

+EXAMPLE 5: The +assignment : "the Braille character" & char (0, +0, 40, 48) & "looks like this" represents the literal +string: the Braille character + +looks like this.

+

+NOTE 5: Control characters can be denoted by using the predefined +conversion function or the quadruple +form.

+

+ By default, universal +charstring shall conform to the UCS-4 coded +representation form specified in clause 14.2 of ISO/IEC 10646 [2].

+

+NOTE 6: UCS-4 is an encoding format, which represents any UCS +character on a fixed, 32 bits‑length field.

+

+ This default encoding can be overridden using the defined variant +attributes (see clause 27.5). The following useful character string +types utf8string, bmpstring, utf16string and iso8859string using +these attributes are defined in annex E.

+

6.1.1.1 Accessing individual string +elements

+

+Individual elements in a string type may be accessed using an +array-like syntax. Only single elements of the string may be +accessed.

+

+Units of length of different string type elements are indicated in +table 4.

+

+Indexing shall begin with the value zero (0). +The index shall be between zero and the length of the string +minus one for retrieving an element from a string. For assigning an +element to the end of a string, the length of the string should be +used as index.

+

+EXAMPLE 1: Accessing an existing element

+

// +Given

+

MyBitString +:= '11110111'B;

+

// +Then doing +

+

MyBitString[4] +:= '1'B;

+

// +Results in the bitstring '11111111'B +

+


+

+

+EXAMPLE 2: Specific cases

+

var +bitstring +MyBitStringA, MyBitStringB, MyBitStringC;

+

MyBitStringA +:= '010'B;
MyBitStringA[1] := '11'B; //causes an error as only +individual elements can be accessed

MyBitStringB := +'1'B;
MyBitStringB[4] := '1'B; //causes an error as the index is +larger than the length of the lhs

MyBitStringC := +''B;
MyBitStringC[0] := '1'B; // value of MyBitStringC is '1'B

+

MyBitStringC[1] +:= '0'B; // value of MyBitStringC is '10'B

+


+

+

+6.1.2 Subtyping of basic types

+

+User-defined types shall be denoted by the +keyword type. +With user-defined types it is possible to create subtypes (such as +lists, ranges and length restrictions) on basic types, structured +types and anytype according to table 3.

+

6.1.2.1 Lists of templates

+

+TTCN‑3 permits the specification of a list of distinguished +templates as listed in table 3. The templates in the list shall be +instances of the type being constrained and the set of values +matching at least one of these templates shall be a subset of the +values defined by the type being constrained. The subtype defined by +this list restricts the allowed values of the subtype to those values +matching at least one of the templates in the list. The templates in +the list shall only (directly or indirectly) reference other +templates or constant expressions. Constant expressions used +(directly or indirectly) in the template expressions shall meet with +the restrictions in clause 10 for constant expressions used in type +definitions.

+

+EXAMPLE:

+

type +bitstring +MyListOfBitStrings ('01'B, '10'B, '11'B);

+

type +float +pi (3.1415926);

+

type +charstring +MyStringList ("abcd", "rgy", "xyz");

+

type +universal charstring +SpecialLetters
(
char(0, +0, 1, 111), char(0, +0, 1, 112), char(0, +0, 1, 113));

+


+

+

6.1.2.2 Lists of types

+

+TTCN‑3 permits the specification of a list of subtypes as +listed in table 3 for value lists. The types in the list shall be +subtypes of the root type. The subtype defined by this list restricts +the allowed values of the subtype to the union of the values of the +referenced subtypes.

+

+EXAMPLE:

+

type +bitstring +BitStrings1 ('0'B, '1'B );

+

type +bitstring +BitStrings2 ('00'B, '01'B, '10'B, '10'B);

+

type +bitstring BitStrings_1_2 +(Bitstrings1, Bitstrings2);

+


+

+

6.1.2.3 Ranges

+

+TTCN‑3 permits the specification of range +constraints for the types integer, +charstring, +universal +charstring and float +(or derivations of these types). For integer +and float, +the subtype defined by the range restricts the allowed values of the +subtype to the values in the range including or excluding the lower +boundary and/or the upper boundary. The upper boundary shall be +greater than or equal to the lower boundary.

+

+In order to specify an infinite integer range, +the keyword -infinity +or infinity +can be used instead of a value indicating that there is no lower or +upper boundary; -infinity +shall not be used as the upper bound and infinity +shall not be used as the lower bound for integer ranges. +

+

+Also for float, +‑infinity +or infinity +can be used as the bounds in range restrictions. Using the special +value ‑infinity +as the lower bound shall indicate that the allowed numerical values +are not restricted downward and the special value ‑infinity +is also included. If both the lower and upper bounds denote +‑infinity, +no numerical values are included, only the special value ‑infinity. +Using the special value infinity +as the upper bound shall indicate that the allowed numerical values +are not restricted upward and the special value infinity +is also included. If both the lower and upper bounds denote infinity, +no numerical values are included, only the special value infinity. +If exclusive bounds (!infinity +or !-infinity) +is used instead, only the respective numerical float values are +included in the range. In case of float, +the special value not_a_number +is not allowed in a range constraint.

+

+In the case of charstring +and universal +charstring types, the +range restricts the allowed values for each separate character in the +strings. The boundaries shall evaluate to valid +character positions according to the coded character set table(s) of +the type (e.g. the given position shall not be empty). Empty +positions between the lower and the upper boundaries are not +considered to be valid values of the specified range. +

+

+Constants used in the constant expressions defining the values shall +meet with the restrictions in clause 10.

+

+EXAMPLE 1:

+

type +integer +MyIntegerRange (0 .. 255); // range from 0..255 +

+

// +(with inclusive boundaries)

+

type +integer +MyIntegerRange (-infinity +.. -1); // all negative integer numbers +

+

type +integer +MyIntegerRange (0 .. !256); // the same range as above (with left +

+

// +inclusive and right exclusive boundary)

+

type +integer +MyIntegerRange (!-1 .. 255); // the same range as above(with left +

+

// +exclusive and right inclusive boundary)

+

type +integer +MyIntegerRange (!-1 .. !256); // the same range as above

+

// +(with exclusive boundaries)

+

type +float +piRange (3.14 .. 3142E-3);

+

type +float +LessThanPi (-infinity +.. 3142E-3);

+

type +float +Numbers (-infinity +.. infinity); + //includes all float values but not_a_number

+

type +float +Wrong (-infinity +.. not_a_number); // +causes an error as not_a_number is not +

+

// +allowed in range subtyping

+


+

+

+EXAMPLE 2:

+

+type +charstring +MyCharString ("a" .. "z");

+

+// +Defines a string type of any length with each character within the +specified range

+

+type +universal +charstring +MyUCharString1 ("a" .. !"z");

+

+// +Defines a string type of any length with each character within the +range from a to y +

+

+// +(character codes from 97 to 121), like "abxy"; +

+

+// +strings containing +any other character (including control characters), like

+

+// +"abc2" are disallowed.

+

+type +universal +charstring +MyUCharString2 (char(0, +0, 1, 111) .. char(0, +0, 1, 113)); +

+

+// +Defines a string type of any length with each character within the +range specified using

+

+// +the quadruple notation

+

+
+

+

6.1.2.4 String length restrictions

+

+TTCN‑3 permits the specification of length restrictions on +string types. The length boundaries are based on different units +depending on the string type with which they are used. In all cases, +these boundaries shall be inclusive boundaries only and evaluate to +non‑negative integer +values (or derived integer +values).

+

+EXAMPLE:

+

type +bitstring +MyByte length(8); + // Exactly length 8 +

+

type +bitstring +MyByte length(8 +.. 8); // Exactly length 8 +

+

type +bitstring +MyNibbleToByte length(4 +.. 8); // Minimum length 4, maximum length 8

+


+

+

+Table 4 specifies the units of length for different string types.

+

+Table 4: Units of length used in +field length specifications

+
+ + + + + + + + + + + + + + + + + + + + + + + +
+

Type

+
+

Units + of Length

+
+

bitstring

+
+

bits

+
+

hexstring

+
+

hexadecimal + digits

+
+

octetstring

+
+

octets

+
+

character + strings

+
+

characters

+
+
+

+

+

+

+For the upper bound the keyword infinity +may also be used to indicate +that there is no upper limit for the length. The upper boundary shall +be greater than or equal to the lower boundary.

+

6.1.2.5 Pattern subtyping of +character string types

+

+TTCN‑3 allows using character patterns specified in clause B.1.5 +to constrain permitted values of charstring +and universal charstring +types. The type constraint shall use the pattern +keyword followed by a character pattern. All values denoted by the +pattern shall be a subset of the type being sub typed. Constants used +in the constant expressions defining the values shall meet with the +restrictions in clause 10.

+

+NOTE: Pattern subtyping can be seen as a special form of list +constraint, where members of the list are not defined by listing +specific character strings but via a mechanism generating elements of +the list.

+

+EXAMPLE:

+

+ type +charstring +MyString (pattern +"abc*xyz");

+

+ // +all permitted values of MyString have prefix abc and postfix xyz

+

+
+

+

+ type +universal +charstring +MyUString (pattern +"*\r\n")

+

+ // +all permitted values of MyUString are terminated by CR/LF

+

+
+

+

+ type +charstring +MyString2 (pattern +"abc?\q{0,0,1,113}");

+

+ // +causes an error because the character denoted by the quadruple +{0,0,1,113} is not a

+

// +legal character of the TTCN‑3 charstring type

+


+

+

type +MyString MyString3 (pattern +"d*xyz");

+

// +causes an error because the type MyString does not contain a value +starting with the

+

// +character d

+


+

+

+6.1.2.6 Mixing subtyping mechanisms

+
6.1.2.6.1 Mixing patterns, lists and +ranges
+

+Within integer +and float +(or derivations of these types) subtype definitions it is allowed to +mix lists and ranges. It is possible to mix both template +list and type list subtyping with each +other and with range subtyping. Overlapping of different +constraints is not an error.

+

+EXAMPLE 1:

+

type +integer +MyIntegerRange (1, 2, 3, 10 .. !20, 99, 100);

+

type +float +lessThanPiAndNaN (-infinity +.. 3142E-3, not_a_number);

+


+

+

+Within charstring and +universal charstring subtype definitions it is not allowed +to mix pattern, template list, type +list, or range constraints.

+

+EXAMPLE 2:

+

+ type +charstring +MyCharStr0 ("gr", +"xyz");

+

// +contains character strings gr and xyz;

+


+

+

type +charstring +MyCharStr1 ("a".."z");

+

// +contains character strings of arbitrary length containing characters +a to z.

+


+

+

type +charstring +MyCharStr2 (pattern "[a-z]#(3,9)");

+

// +contains character strings of length from 3 to 9 characters +containing characters a to z

+


+

+
6.1.2.6.2 Using length restriction +with other constraints
+

+Within bitstring, +hexstring, +octetstring subtype +definitions lists and length restriction may be mixed in the same +subtype definition.

+

+Within charstring and +universal charstring subtype definitions it is allowed to +add a length restriction to constraints containing list, range or +pattern subtyping in the same subtype definition.

+

+When mixed with other constraints the length restriction shall be the +last element of the subtype definition. The length restriction takes +effect jointly with other subtyping mechanisms (i.e. the value set of +the type consists of the common subset of the value sets identified +by the list, range or pattern subtyping and the length restriction).

+

+EXAMPLE:

+

type +charstring +MyCharStr5 ("gr", +"xyz") +length +(1..9);

+

// +contains the character strings gr and xyz;

+


+

+

type +charstring +MyCharStr6 ("a".."z") +length +(3..9);

+

// +contains character strings of length from 3 to 9 characters and +containing characters

+

// +a to z

+


+

+

type +charstring +MyCharStr7 (pattern +"[a-z]#(3,9)") +length +(1..9);

+

// +contains character strings of length from 3 to 9 characters +containing characters a to z

+


+

+

type +charstring +MyCharStr8 (pattern +"[a-z]#(3,9)") +length +(1..8);

+

// +contains character strings of length from 3 to 8 characters +containing characters a to z

+


+

+

type +charstring +MyCharStr9 (pattern +"[a-z]#(1,8)") +length +(1..9);

+

// +contains any character strings of length from 1 to 8 characters +containing characters

+

// +a to z

+


+

+

type +charstring +MyCharStr10 ("gr", +"xyz") +length +(4);

+

// +causes an error as it contains no value

+


+

+

+6.2 Structured types and values

+

+The type +keyword is also used to specify structured types such as record +types, record +of +types, set +types, set +of +types, enumerated +types and union +types. +

+

+Values of these types may be given using an explicit assignment +notation or a short-hand value list notation.

+

+EXAMPLE 1:

+

+ const +MyRecordType MyRecordValue:= //assignment notation

+

+ {

+

+ field1 +:= '11001'B,

+

+ field2 +:= true,

+

+ field3 +:= "A string"

+

}

+


+

+

// +Or +

+

const +MyRecordType MyRecordValue:= {'11001'B, true, +"A string"} //value list notation

+


+

+

+The assignment notation can be used for +record, record of, set, +set of +and union value +notations and for arrays. The value list notation can be used for +record, record of, +set and set +of value +notations and for arrays. The indexed notation can be used for record +of and set +of value +notations and for arrays. See more details in the subsequent clauses.

+

+EXAMPLE 2:

+

var +MyRecordType MyVariable:= //assignment notation

+

{

+

field1 +:= '11001'B,

+

// +field2 implicitly unspecified

+

field3 +:= "A string" +

+

}

+


+

+

// +Or
var +MyRecordType +MyVariable:= //assignment notation

+

{

+

field1 +:= '11001'B,
field2 := -, // field2 explicitly unspecified

+

field3 +:= "A string" +

+

}

+


+

+

// +Or +

+

var +MyRecordType MyVariable:= {'11001'B, -, "A string"} +//value list notation

+


+

+

+It is not allowed to mix the two value notations in the same +(immediate) context.

+

+EXAMPLE 3:

+

// +This is disallowed

+

const +MyRecordType MyRecordValue:= {MyIntegerValue, field2 := true, +"A string"}

+

+
+

+

+Where applicable TTCN‑3 type definitions may be recursive. The +user, however, shall ensure that all type recursion is resolvable and +that no infinite recursion occurs.

+

+In case of record and set types, to avoid infinite recursion, fields +referencing to its own type, shall be optional.

+

+EXAMPLE 4:

+

+ // +Valid recursive record type definition

+

+ type +record +MyRecord1
    {
        FieldType1 + field1,
        MyRecord1 + field2
optional,

+

        FieldType3 + field3
    }

+


+

+

// +Invalid recursive record type definition causing an error

+

type +record +MyRecord2
    {
        FieldType1 + field1,
        MyRecord2 + field2,

+

        FieldType3 + field3
    }

+


+

+

+In case of union types, to avoid infinite recursion, at least one of +the alternatives shall not reference its own type.

+

+EXAMPLE 5:

+

// +Valid recursive union type definition

+

type +union +MyUnion1

+

{

+

MyUnion1 + choice1,

+

charstring +choice2

+

}

+


+

+

// +Invalid recursive union type definition causing an error

+

type +union +MyUnion2

+

{

+

MyUnion2 +choice1,

+

MyUnion2 +choice2

+

}

+


+

+

6.2.1 Record type and values

+

+TTCN‑3 supports ordered structured types +known as record. +The elements of a record +type may be any of the basic types or user-defined data types (such +as other records, sets or arrays). The values of a record +shall be compatible with the types of the record +fields. The element identifiers are local to the record +and shall be unique within the record +(but do not have to be globally unique). +

+

+EXAMPLE 1:

+

type +record +MyRecordType

+

{

+

integer + field1,

+

MyOtherRecordType + field2 optional,

+

charstring + field3

+

}

+


+

+

type +record +MyOtherRecordType

+

{

+

bitstring + field1,

+

boolean + field2

+

}

+


+

+

+Records may be defined with no fields, i.e. as empty records.

+

+EXAMPLE 2:

+

type +record +MyEmptyRecord {}

+


+

+

+A record +value is assigned on an individual element basis. The order of field +values in the value list notation shall be the same as the order of +fields in the related type definition.

+

+EXAMPLE 3:

+

var +integer +MyIntegerValue := 1;

+


+

+

const +MyOtherRecordType MyOtherRecordValue:= +

+

{

+

field1 +:= '11001'B,

+

field2 +:= true + +

+

}

+


+

+

var +MyRecordType MyRecordValue := +

+

{

+

field1 +:= MyIntegerValue, +

+

field2 +:= MyOtherRecordValue,

+

field3 +:= "A string"

+

}

+


+

+

+The same value specified with a value list.

+

+EXAMPLE 4:

+

MyRecordValue:= +{MyIntegerValue, {'11001'B, true}, +"A string"};

+


+

+

+When the assignment notation is used for +record‑s, fields wished to be +changed shall be identified explicitly and a value, the not +used symbol "-" or the omit +keyword can be associated with them. The +omit +keyword shall only be used for optional fields. Its result +is that the given field is not present in the given value.

+

+NOTE: Pleases note the difference between omitted and uninitialized +fields. Omitted optional fields are not present in the record or set +value intentionally, i.e. the field is initialized and it does not +prevent the whole record or set from being completely initialized.

+

+When the assignment notation is used in a +scope, where the optional +attribute is implicitly or explicitly set to "explicit +omit", +fields, not explicitly referred to in the notation, shall remain +unchanged. In particular, when +specifying partial values (i.e. setting the value of only a subset of +the fields) using the assignment notation, for example, at +initialization, only the fields or elements to be assigned values +shall be specified. Fields or elements not mentioned are implicitly +left uninitialized. It is also possible to leave fields explicitly +unspecified using the not used symbol "-". When +re-assigning a previously initialized value, using the not used +symbol or just skipping a field or element in an assignment notation, +will cause that field or element to remain unchanged.

+

+EXAMPLE 5:

+

+ var +MyRecordType +MyVariable := +

+

+ {

+

+ field1 +:= '111'B,

+

+ field2 +:= false,

+

+ field3 +:= -

+

+ }

+

+
+

+

+ MyVariable +:= { '10111'B, -, - };

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B, false +/* unchanged */, <undefined> /* unchanged */ }

+

+
+

+

+ MyVariable +:=

+

+ {

+

+ field2 +:= true

+

+ }

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B /* unchanged */, true, +<undefined> /* unchanged */ }

+

+
+

+

+ MyVariable +:=

+

+ {

+

+ field1 +:= -,

+

+ field2 +:= false,

+

+ field3 +:= -

+

+ }

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B /* unchanged */, false, +<undefined> /* unchanged */}

+

+
+

+

+When the assignment notation is used in a +scope, where the optional +attribute is set to "implicit +omit", +optional fields, not directly referred to in the notation, shall +implicitly be set to omit, while mandatory fields shall remain +unchanged (see also clause 27.7).

+

+When using the value list notation, all fields in the structure shall +be specified either with a value, the not used symbol "‑" +or the omit +keyword. The omit +keyword shall only be used for optional fields. Its result is that +the given field is not present in the given value. The first +component of the list (a value, a "-" or omit) +is associated with the first field, the second list component is +associated with the second field etc. No empty assignment is allowed +(i.e. two commas, the second immediately following the first or only +with white space between them). Fields or elements to be left +unchanged shall be explicitly skipped in the list by using the +not-used-symbol "-". +

+

+When the value list notation +is used in a scope, where the +optional attribute +is implicitly or explicitly set to "explicit +omit, +already initialized fields or elements left without an associated +component in a value list notation (i.e. at the end of a value ) are +becoming uninitialized. In this way, a value with initialized fields +or elements can be made empty by using an empty pair of curly +brackets ("{}").

+

+When using value list notation in a scope where the optional +attribute is set to "implicit +omit", optional fields wished to be omitted by the +implicit mechanism, but followed by fields to which a value or +template is assigned explicitly, shall be skipped by using the not +used symbol "-". When all remaining fields at the +end of the type definition are optional and they are wished to be +omitted by the implicit mechanism, either the not +used symbol "-" can be used for some or all of them +or they can simply be left out from the notation.

+

+EXAMPLE 6:

+

+ type +record +R {
integer +f1,
integer +f2 optional,
integer +f3,
integer +f4 optional,
integer +f5 optional
}

var +R x := { 1, -, 2 } with +{ optional +"implicit omit" }
// after the assignment x contains { +1, omit, 2, omit, omit }
var +R x2 := { 1, 2 } with +{ optional +"implicit omit" }
// after the assignment x2 contains +{ 1, 2, <undefined>, omit, omit }
+

+

+
+

+

+6.2.1.1 Referencing fields of a record type

+

+Elements of a record +shall be referenced by the dot notation TypeIdOrExpression.ElementId, +where TypeIdOrExpression +resolves to the name of a structured type or an expression of +a structured type such as variable, formal parameter, module +parameter, constant, template, or function invocation. +ElementId +shall resolve to the name of a field in the structured type. Fields +of record type definitions shall not reference themselves.

+

+EXAMPLE 1:

+

MyVar1 +:= MyRecord1.myElement1;

+

// +If a record is nested within another type then the reference may look +like this +

+

MyVar2 +:= MyRecord1.myElement1.myElement2;

+


+

+

+EXAMPLE 2:

+

type +record +MyType +

+

{

+

integer field1,

+

MyType.field2 field2 optional, +// this circular reference is NOT +ALLOWED

+

boolean field3

+

}

+

+
+

+

+If a field in a record type or a subtype of a record +type is referenced by the dot notation, the resulting type is the set +of values allowed for that field imposed by the constraints of the +field declaration itself (i.e. any constraints applied to the record +type itself are ignored).

+

+EXAMPLE 3:

+

type +record +MyType2 +

+

{

+

integer field1 +(1 .. 10),

+

charstring field2 optional

+

}

+


+

+

+ type +MyType2 MyType3 ({1, omit}, {2, "foo"}, {3, "bar"}) +;

+


+

+

+ type +MyType3.field1 MyType4; // MyType4 is the integer type constrained +to
// the values 1..10

+

+ type +MyType3.field2 MyType5; // MyType5 is the charstring type

+

+ type +MyType2.field1 MyType6; // MyType6 is the integer type constrained +to
// the values 1..10

+

+ type +MyType2.field2 MyType7; // MyType7 is the charstring type

+


+

+

6.2.1.2 Optional elements in a +record

+

+Optional elements in a record +shall be specified using the optional +keyword.

+

+EXAMPLE 1:

+

type +record +MyMessageType +

+

{

+

FieldType1 field1,

+

FieldType2 field2 optional,

+

+:

+

FieldTypeN + fieldN +

+

}

+


+

+

+Optional fields shall be omitted using the omit symbol.

+

+EXAMPLE 2:

+

+ MyRecordValue:= +{MyIntegerValue, omit +, "A string"};

+

+

+

// +Note that this is not the same as writing, +

+

// +MyRecordValue:= {MyIntegerValue, -, "A string"};

+

// +which would mean the value of field2 is unchanged

+


+

+

+6.2.1.3 Nested type definitions for field types

+

+TTCN‑3 supports the definition of types for record fields +nested within the record +definition. Both the definition of new structured types (record, +set, +enumerated, +set +of, +record +of, +and +union) and the specification of subtype constraints +are possible.

+

+EXAMPLE:

+

+ // +record type with nested structured type definitions

+

+ type +record +MyNestedRecordType
{
record +
{
integer +nestedField1,
float +nestedField2
} outerField1,
enumerated +{
nestedEnum1,
nestedEnum2
} outerField2,
record +of +boolean +outerField3
}

+


+

+

// +record type with nested subtype definitions

+

type +record +MyRecordTypeWithSubtypedFields

+

{

+

integer + field1 (1 .. 100),

+

charstring +field2 length +( 2 .. 255 )

+

}

+


+

+

6.2.2 Set type and values

+

+TTCN‑3 supports unordered structured +types known as set. +Set types and values are similar to records except that the ordering +of the set +fields is not significant.

+

+EXAMPLE:

+

+ type +set +MySetType

+

{

+

integer + field1,

+

charstring + field2 +

+

}

+


+

+

+The field identifiers are local to the set and shall be unique within +the set (but do not have to be globally unique).

+

+The value list notation for setting values +shall not be used for values of set +types.

+

6.2.2.1 Referencing fields of a set +type

+

+Elements of a set +shall be referenced by the dot notation (see clause 6.2.1.1). +Elements of set type definitions shall not reference themselves. For +referencing field types of set types, the same rules apply as +in clause 6.2.1.1 for fields of record types.

+

+EXAMPLE:

+

MyVar3 +:= MySet1.myElement1;

+

// +If a set is nested in another type then the reference may look like +this +

+

MyVar4 +:= MyRecord1.myElement1.myElement2;

+

// +Note, that the set type, of which the field with the identifier +'myElement2' is referenced, +

+

+ // +is embedded in a record type

+

+
+

+

6.2.2.2 Optional elements in a set

+

+Optional elements in a set +shall be specified using the optional +keyword.

+

6.2.2.3 Nested type definition for +field types

+

+TTCN‑3 supports the definition of types for set fields nested +within the set +definition, similar to the mechanism for record types described in +clause 6.2.1.3.

+

+6.2.3 Records and sets of single types

+

+TTCN‑3 supports the specification of +records and sets whose elements are all of the same type. These are +denoted using the keyword of. +These records and sets do not have element identifiers and can be +considered similar to an ordered array and an unordered collection +respectively.

+

+NOTE 1: Subtyping of record of and set of types see in clause 6.2.13.

+

+EXAMPLE 1:

+

type +set of +boolean +MySetOfType; // is an unlimited set of boolean values

+


+

+

+When the assignment notation is used for +record of‑s, set +of‑s and +arrays, elements wished to be changed are +identified explicitly and either a value or the not used +symbol "-" can be assigned to them. Other +fields, not referred to in the notation, shall remain unchanged. In +particular, when specifying partial values +(i.e. setting the value of only a subset of the fields) using the +assignment notation, for example, at initialization, only the +elements to be assigned values shall be specified: elements not +mentioned are implicitly left uninitialized. It is also possible to +leave fields explicitly unspecified using the not used symbol "-". +When re-assigning a previously initialized value, using the +not used symbol or just skipping a field or element in an assignment +notation, will cause that field or element to remain unchanged.

+

+EXAMPLE 2:

+

+ var +MyRecordOfType +MyVariable := {

+

+ [0] +:= '111'B,

+

+ [1] +:= '101'B,

+

+ [2] +:= -

+

+ }

+

+
+

+

+ MyVariable +:= { '10111'B, -, - };

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B, '101'B /* unchanged */, <undefined> /* unchanged */ }

+

+
+

+

+ MyVariable +:=

+

+ {

+

+ [1] +:= '010'B,

+

+ }

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B/* unchanged */, '010'B, <undefined>/* unchanged */ }

+

+
+

+

+ MyVariable +:=

+

+ {

+

+ [0] +:= -,

+

+ [1] +:= '001'B,

+

+ [2] +:= - +

+

+ }

+

+ // +after this, MyVariable contains:

+

+ // { +'10111'B/* unchanged */, '001'B, <undefined> /* unchanged */}

+

+
+

+

+When using the value list notation, all elements in the structure +shall be specified either with a value or the not used symbol "-". +The first member of the list is assigned to the +first element, the second list member is assigned to the second +element, etc. No empty assignment is allowed (e.g. two commas, the +second immediately following the first or only with white space +between them). Elements to be left out of the assignment shall be +explicitly skipped in the list by use of the not-used-symbol "-". +Already initialized elements left without a corresponding list +member in a value list notation (i.e. at the end of a list) are +becoming uninitialized. In this way, a value with initialized +elements can be made empty by using the empty value list notation +("{}").

+

+Indexed value notations can be used on both the +right-hand side and left-hand side of assignments. The index +notation, when used on the right hand side, refers to the value of +the identified element of a record +of or a set +of or array. When it is used +at the left hand side, only the value of the identified single +element is changed, values assigned to other elements already remain +unchanged. The index of the first element shall be zero and the index +value shall not exceed the limitation placed by length subtyping. If +the value of the element indicated by the index at the right-hand of +an assignment is undefined (uninitialized), +this shall cause a semantic or run-time error. If an indexing +operator at the left-hand side of an assignment refers to a +non-existent element, the value at the right-hand side is assigned to +the element and all elements with an index smaller than the actual +index and without assigned value are created with an undefined value. +Undefined elements are permitted only in transient states (while the +value remains invisible). Sending a record +of or set +of value with undefined elements shall cause a testcase +error.

+

+NOTE 2: When using on the right hand side of an assignment for record +of-s, set +of-s or arrays, +the assignment notation and the indexed notation have similar effect, +with the exception that the assignment notation is able to address +multiple elements in one notation, while the index notation is able +to address a single element only.

+

+EXAMPLE 3:

+

+ // +Given

+

+ type +record of integer +MyRecordOf;

+

+ var +integer MyVar;

+

+ // +Using the value list notation

+

var +MyRecordOf MyRecordOfVar := { 0, 1, 2, 3, 4 };

+

+
+// The same record of, defined with the assignment notation
var +MyRecordOf MyRecordOfVarAssignment := {
[0] := 0,
[1] := +1,
[2] := 2,

+

[3] +:= 3,
[4] := 4

+

};

+


+

+

//Using +an indexed notation

+

MyVar +:= MyRecordOfVar[0]; // the first element of the "record of" +value (integer 0) +

+

+ // is assigned to MyVar

+


+

+

// +Indexed values are permitted on the left-hand side of assignments as +well:

+

MyRecordOfVar[1] +:= MyVar; // MyVar is assigned to the second element

+

+ // value of MyRecordOfVar is { 0, 0, 2, 3, 4 }

+


+

+

// +The assignment

+

MyRecordOfVar +:= { 0, 1, -, 2 };

+

// +will change the value of MyRecordOfVar to{ 0, 1, 2 <unchanged>, +2};
// Note, that the 3
rd +element would be undefined if had no previous assigned value.

+


+

+

// +The assignment

+

MyRecordOfVar[6] +:= 6;

+

+ // +will change the value of MyRecordOfVar to

+

+ // + { 0, 1, 2 , 2, <uninitialized>, <uninitialized>, 6 +};
// Note the 5
th +and 6th +elements (with indexes 4 and 5) had no assigned value before this
+

+

+ // +last assignment and are therefore undefined.

+


+

+

MyRecordOfVar[4] +:= 4; MyRecordOfVar[5] := 5;

+

// +will complete MyRecordOfVar to the fully defined value { 0, 1, 2 , 2, +4 , 5 , 6 };

+


+

+

+ //Pls. +Note the difference between the to index assignment notations the +following example:

+

+ var +MyRecordOf ix := { 0,1,2 }

+

+ ix +:= { [3] := 2*ix[2]+1 }

+

+ // +the value of ix is: { 0, 1, 2, 5 }

+

+
+

+

+ //The +same result can be achieved by using an index notation on the left +hand side of +

+

+ //the +assignment:

+

+ var +MyRecordOf ix := { 0,1,2 }

+

+ ix[3] +:= 2*ix[2]+1 +

+

+ // +the value of ix is: { 0, 1, 2, 5 }

+

+
+

+

+NOTE 3: The index notation makes it possible e.g. to copy record +of values element by element in a for loop. For example, +the function below reverses the elements of a record +of value:

+

function +reverse(in +MyRecordOf src) return +MyRecordOf
{
var +MyRecordOf dest;
var integer +i, srcLength := lengthof +(src);
for(i +:= 0; i < srcLength; i:= i + 1) {
dest[srcLength - 1 - i] := +src[i];
}
return +dest;
}

+


+

+

+Embedded record +of and set +of types will result in a data structure similar to +multidimensional arrays (see clause 6.2.7).

+

+EXAMPLE 4:

+

// +Given
type
+record of +integer +MyBasicRecordOfType;
type +record of +MyBasicRecordOfType My2DRecordOfType;

+


+

+

// +Then, the variable myRecordOfArray will have similar attributes to a +two-dimensional array:
var +My2DRecordOfType myRecordOfArray;
// and reference to a +particular element would look like this
// (value of the second +element of the third 'MyBasicRecordOfType' construct) +
myRecordOfArray [2][1] := 1;

+


+

+

6.2.3.1 Nested type definitions

+

+TTCN‑3 supports the definition of the aggregated type nested +with the record +of +or set +of +definition. Both the definition of new structured types (record, +set, +enumerated, +set +of +and record +of) +and the specification of subtype constraints are possible.

+

+EXAMPLE:

+

+ type +record of enumerated { red, green, blue +} ColorList;

+

+ type +record length (10) +of record length (10) +of integer Matrix;

+

type +set of record { charstring +id, charstring +val } GenericParameters;

+


+

+

+6.2.3.2 Referencing elements of record of and set of types

+

+It is also allowed to reference the inner type +of record +of and set +of types by using the index +notation but with a dash. The notation TypeId[-], +where TypeId +resolves to the name of a record +of or set +of type, references the inner +type of TypeId. +If the type definition restricts the element type of the record of +or set of type, referencing the inner type of that type +yields a type which contains all values from the constrained type.

+

+EXAMPLE:

+

//Provided +the definitions below

+

type +record +of +integer +MyRecordOfInt;

+

type +record +of +record +{

+

integer +f1,

+

set +{ integer +s1, boolean +s2 } f2

+

} +MyRecordOfRecord;

+

type +record +of +record +of +integer +MyRecordOfRecordOfInt;

+

type +record +of +record +{

+

integer +f1,

+

record +of +boolean +f2

+

} +MyRecordOfRecord2;

+


+

+

// +Referencing the inner integer type

+

type +MyRecordOfInt[-] MyInteger;

+

const +MyRecordOfInt[-] c_MyInteger:= 5;

+


+

+

// +Referencing the nested record type

+

type +MyRecordOfRecord[-] MyInnerRecord;

+

const +MyRecordOfRecord[-] c_MyRecord := { f1 = 5; f2 := { s1 := 0; s2 := +true +}}

+


+

+

// +Referencing the set type nested in the inner record

+

type +MyRecordOfRecord[-].f2 MyNestedSet;

+

const +MyRecordOfRecord[-].f2 c_MySet := { s1 := 0; s2 := true +}

+


+

+

// +Referencing the innermost boolean

+

type +MyRecordOfRecord[-].f2.s2 MyBoolean;

+

const +MyRecordOfRecord[-].f2.s2 c_MyBool := false;

+


+

+

// +Referencing the inner record of

+

type +MyRecordOfRecordOfInt[-] MyInnerRecordOfInt;

+

const +MyRecordOfRecordOfInt[-] c_MyInnerRecordOfInt := { 0, 1, 2, 3 };

+


+

+

// +Referencing the integer type within the inner record of

+

type +MyRecordOfRecordOfInt[-][-] MyInteger2;

+

const +MyRecordOfRecordOfInt[-][-] c_MyInteger2 := 1;

+


+

+

// +Referencing the boolean type within the nested record

+

type +MyRecordOfRecord2[-].f2[-] MyInnermostBoolean;

+

const +MyRecordOfRecord2[-].f2[-] c_MyInnermostBoolean := true +;

+


+

+

+ type +record length (5) +of record +of integer +ConstrainedRecordOfInt (1 .. 10);

+

+ type +ConstrainedRecordOfInt[-] ConstrainedInt; +

+

// +defines the type record of integer, where the integer values are +restricted +

+

// +to the range 1 .. 10 but the record of has no length restriction

+


+

+

+6.2.4 Enumerated type and values

+

+TTCN‑3 supports enumerated +types. Enumerated types are used to model types that take only a +distinct named set of values. Such distinct values are called +enumerated values. Each enumerated value shall have an identifier. +Operations on enumerated types shall only use these identifiers and +are restricted to assignment, equivalence and ordering operators. The +identifiers of enumerated values shall be unique within the +enumerated type (but do not have to be globally unique) and are +consequently visible in the context of the given type only. The +identifiers of enumerated values shall only be reused within other +structured type definitions and shall not be used for identifiers of +local or global visibility at the same or a lower level of the same +branch of the scope hierarchy (see scope hierarchy in clause 5.2).

+

+EXAMPLE 1: Declaration of enumerated types and values

+

+ type +enumerated +MyFirstEnumType {

+

+ Monday, +Tuesday, Wednesday, Thursday, Friday

+

+ };

+


+

+

type +integer +Monday;

+

// +This definition does not clash with the previous one +

+

+ // +as Monday in MyFirstEnumType is of local scope

+


+

+

type +enumerated +MySecondEnumType {

+

Saturday, +Sunday, Monday

+

};

+

// +This definition is legal as it reuses the Monday identifier within +

+

// +a different enumerated type

+


+

+

type +record +MyRecordType {

+

integer Monday

+

};

+

// +This definition is legal as it reuses the Monday identifier within +

+

// +a distinct structured type as identifier of a given field of this +type

+


+

+

type +record +MyNewRecordType {

+

MyFirstEnumType firstField,

+

integer secondField

+

};

+


+

+

var +MyNewRecordType newRecordValue := { Monday, 0 }

+

// +MyFirstEnumType is implicitly referenced via the firstField element +of MyNewRecordType

+


+

+

+Each enumerated value may optionally have a +user-assigned integer value, which is +defined after the name of the enumerated value in parenthesis. Each +user-assigned integer number shall be distinct within a single +enumerated type. +For each enumerated value without an assigned integer value, the +system successively associates an integer number in the textual order +of the enumerated values, starting at the left-hand side, beginning +with zero, by step 1 and skipping any number occupied by any of the +enumerated values with a manually assigned value. These +values are only used by the system to allow the use of relational +operators. The user shall not directly use associated integer values +but can access them and convert integer values into enumerated values +by using the predefined functions enum2int +and int2enum +(see clauses 16.1.2, C.1.29 +and C.1.4).

+

+NOTE 1: The integer value also may be used by the system to +encode/decode enumerated values. This, however is outside the scope +of the present document (with the exception that TTCN‑3 allows +the association of encoding attributes to TTCN‑3 items).

+

+For any instantiation or value reference of an enumerated +type, the given type shall be implicitly or explicitly +referenced.

+

+NOTE 2: If the enumerated type is an element of a user defined +structured type, the enumerated type is implicitly referenced via the +given element (i.e. by the identifier of the element or the position +of the value in a value list notation) at value assignment, +instantiation, etc.

+

+EXAMPLE 2: Using enumerated types (see also example 4 of clause +8.2.3.1)

+

// +Valid instantiations of MyFirstEnumType and MySecondEnumType would be + +

+

var +MyFirstEnumType Today := Tuesday;

+

var +MySecondEnumType Tomorrow := Monday;

+

+

// +The following statements however cause an error as the two variables +are instances

+

// +of different enumeration types +

+

Today +:= Tomorrow;

+

Today +== Tomorrow;

+


+

+

// +The following operation is correct

+

if +(Today == Monday ) {...}

+

// +the type of variable Today identifies the type context of +MyFirstEnumType for the

+

// +equality operator

+


+

+

// +But the following causes an error

+

if +( Tuesday == Wednesday ) {...}

+

// +there is no TTCN-3 type(d) object to establish the type context for +the equality operator

+

// +Please note that the values Tuesday and Wednesday are defined within +the type +

+

// +MyFirstEnumType only, but this is not sufficient to establish the +type context +

+


+

+

+When a TTCN-3 global or local definition is declared using an +imported enumerated type, the name of that definition shall not be +the same as any of the enumerated values of that type.

+

6.2.5 Unions

+

+TTCN‑3 supports the union +type. The union +type is a collection of alternatives, each one identified by an +identifier. Only one of the specified alternatives will ever be +present in an actual union value. Union types are useful to model +data which can take one of a finite number of known types.

+

+EXAMPLE:

+

type +union +MyUnionType +

+

{

+

integer + number,

+

charstring + string

+

};

+


+

+

// +A valid instantiation of MyUnionType would be +

+

var +MyUnionType age, oneYearOlder;

+

var +integer ageInMonths;

+


+

+

age.number +:= 34; // value notation by referencing the field. Note, that this +
// notation makes the given field to be the chosen one

+

oneYearOlder +:= {number := age.number+1};

+


+

+

ageInMonths +:= age.number * 12;

+


+

+

+The assignment notation shall be used for +union-s, and the notation shall assign a value to one +field only. This field becomes the chosen field. Neither the not +used symbol "-" nor omit +is allowed in union value notations.

+

+The value list notation shall not be used for +setting values of union +types.

+

6.2.5.1 Referencing fields of a +union type

+

+Alternatives of a union +type shall be referenced by the dot notation (see clause 6.2.1.1). +The same rules for the referenced field type as in clause 6.2.1.1 +apply. Alternatives of union type definitions shall not reference +themselves.

+

+EXAMPLE:

+

MyVar5 +:= MyUnion1.myChoice1;

+

// +If a union type is nested in another type then the reference may look +like this +

+

MyVar6 +:= MyRecord1.myElement1.myChoice2;

+

// +Note, that the union type, of which the field with the identifier +'myChoice2' is referenced,

+

// +is embedded in a record type

+


+

+

6.2.5.2 Option and union

+

+Optional fields are not allowed for the union +type, which means that the optional +keyword shall not be used with union +types.

+

6.2.5.3 Nested type definition for +field types

+

+TTCN‑3 supports the definition of types for union alternatives +nested within the union definition, similar to the mechanism for +record types described in clause 6.2.1.3.

+

6.2.6 The +anytype

+

+The special type anytype +is defined as a shorthand for the union of all known data types and +the address type in a TTCN‑3 module. The definition of the term +known types is given in clause 3.1, i.e. the anytype shall comprise +all the known data types but not the port, component, and default +types. The address type shall be included if it has been explicitly +defined within that module.

+

+The fieldnames of the anytype +shall be uniquely identified by the corresponding type names.

+

+NOTE 1: As a result of this requirement imported types with clashing +names (either with an identifier of a definition in the importing +module or with an identifier imported from a third module) cannot be +reached via the anytype of the importing module.

+

+EXAMPLE:

+

+ // +A valid usage of anytype would be +

+

+ var +anytype +MyVarOne, MyVarTwo;

+

+ var +integer MyVarThree;

+

+
+

+

MyVarOne.integer +:= 34;

+

MyVarTwo +:= {integer +:= MyVarOne.integer + 1};

+


+

+

MyVarThree +:= MyVarOne.integer * 12;

+


+

+

+The anytype +is defined locally for each module and (like the other predefined +types) cannot be directly imported by another module. However, a user +defined type of the type anytype +can be imported by another module. The effect of this is that all +types of that module are imported.

+

+NOTE 2: The user-defined type of anytype +"contains" all types imported into the module where it is +declared. Importing such a user-defined type into a module may cause +side effects and hence due caution should be given to such cases.

+

+6.2.7 Arrays

+

+Arrays can be used in TTCN-3 as a shorthand notation to specify +record of types. They may be specified also at the point of a +variable declaration. Arrays may be declared as single or +multi-dimensional. Array dimensions shall be specified using constant +expressions, which shall evaluate to a positive integer +values. Constants used in the constant expressions shall meet with +the restrictions in clause 10.

+

+EXAMPLE 1:

+

type +integer MyArrayType1[3]; + // A type with 3 integer elements

+

type +record +length (3) +of integer +MyRecordOfType1; // The corresponding record of

+


+

+

var +MyArrayType1 a1:= { 7, 8, 9 };

+

var +MyRecordOfType1 r1:= a1; // +MyArrayType1 and MyRecordOfType1 are compatible

+


+

+

var +integer +myArray1[3]:= r1; // Instantiates an integer array of 3 elements +

+

+ // +with the index 0 to 2

+

+ // +being compatible to MyArrayType1 and MyRecordOfType1

+


+

+

var +integer +myArray2[2][3]; // Instantiates a two-dimensional integer array of 2 +× 3 elements // with indexes from (0,0) to (1,2)

+


+

+

+Array elements are accessed by means of the index notation ([]), +which shall specify a valid index within the array's range. +Individual elements of multi-dimensional arrays can be accessed by +repeated use of the index notation. Accessing elements outside the +array's range will cause a compile-time or test case error.

+

+EXAMPLE 2:

+

MyArray1[1] +:= 5;
MyArray2[1][2] := 12;

+


+

+

MyArray1[4] +:= 12; // ERROR: index shall be between 0 and 2
MyArray2[3][2] +:= 15; // ERROR: first index shall be 0 or 1

+


+

+

+Array dimensions may also be specified using ranges (with inclusive +boundaries only). In such cases, the lower and upper values of the +range define the lower and upper index values. Such an array is +corresponding to a record of with a fixed length restriction computed +as the difference between upper and lower index bound plus 1 and +indexing starting from the lower bound of the array definition.

+

+EXAMPLE 3:

+

type +integer MyArrayType2[2 .. 5]; // A type +with 4 integer elements, indices starting with 2

+

type +record +length (4) +of integer +MyRecordOfType2; // The corresponding record of

+

+

var +integer +MyArray3[1 .. 5]; // Instantiates an integer array of 5 elements

+

// +with the index 1 to 5

+

MyArray3[1] +:= 10; // Lowest index

+

MyArray3[5] +:= 50; // Highest index

+


+

+

var +integer +MyArray4[1 .. 5][2 .. 3 ]; // Instantiates a two-dimensional integer +array of
// 5 × 2 elements with indexes from (1,2) to +(5,3)

+


+

+

+NOTE: It is not possible to define an array type with a variable +amount of elements. Neither is it possible to define an unlimited +array with a lower bound on the array index.

+

+The values of array elements shall be compatible with the +corresponding variable or type declaration. Values may be assigned +individually by a value list notation or indexed notation or more +than one or all at once by a value list notation. When the value list +notation is used, the first value of the list is assigned to the +first element of the array (the element with index 0 or the lower +bound if an index range has been given), the second value to the next +element, etc. Elements to be left out from the +assignment shall be explicitly skipped in the list by using dash. +

+

+Indexed value notation can be used on both the +right-hand side and left-hand side of assignments. The index of the +first element shall be zero or the lower bound if an index range has +been given. The index shall not exceed the limitations given by +either the length or the upper bound of the index. If the value of +the element indicated by the index at the right‑hand of an +assignment is undefined, this shall cause an error. Sending an +array value with undefined elements shall cause an error. All +elements in an array value that are not set explicitly, are +undefined.

+

+For assigning values to multi-dimensional +arrays, each dimension that is assigned shall resolve to a set of +values enclosed in curly braces. When specifying values for +multi-dimensional arrays, the leftmost dimension corresponds to the +outermost structure of the value, and the rightmost dimension to the +innermost structure. The use of array slices of +multi-dimensional arrays, i.e. when the number of indexes of the +array value is less than the number of dimensions in the +corresponding array definition, is allowed. Indexes of array slices +shall correspond to the dimensions of the array definition from left +to right (i.e. the first index of the slice corresponds to the first +dimension of the definition). Slice indexes shall conform to the +related array definition dimensions.

+

+EXAMPLE 4:

+

MyArray1[0]:= +10;

+

MyArray1[1]:= +20;

+

MyArray1[3]:= +30;

+


+

+

// +or using an value list +

+

MyArray1:= +{10, 20, -, +30};

+


+

+

MyArray4:= +{{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}};

+

// +the array value is completely defined

+


+

+

var +integer +MyArray5[2][3][4] :=

+

{
{
{1, +2, 3, 4}, // assigns a value to MyArray5 slice [0][0]
{5, 6, 7, +8}, // assigns a value to MyArray5 slice [0][1]
{9, 10, 11, 12} +// assigns a value to MyArray5 slice [0][2]
}, // end +assignments to MyArray5 slice [0]
{
{13, 14, 15, 16}, +{17, 18, 19, 20}, {21, 22, 23, 24}

+

} +// assigns a value to MyArray5 slice [1]

+

};

+


+

+

MyArray4[2] +:= {20, 20};

+

// +yields {{1, 2}, {3, 4}, {20, 20}, {7, 8}, {9, 10}};
MyArray5[1] +:= { {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
// yields {{{1, +2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}},
// {{0, 0, 0, +0}, {0, 0, 0, 0}, {0, 0, 0, 0}}};

+


+

+

MyArray5[0][2] +:= {3, 3, 3, 3};

+

// +yields {{{1, 2, 3, 4}, {5, 6, 7, 8}, {3, 3, 3, 3}},

+

// + {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}};

+


+

+

var +integer MyArrayInvalid[2][2];

+

MyArrayInvalid +:= { 1, 2, 3, 4 }

+

// +causes an error as the dimension of the value notation +

+

// +does not correspond to the dimensions of the definition

+

MyArrayInvalid[2] +:= { 1, 2 }

+

// +causes an error as the index of the slice should be 0 or 1

+


+

+

6.2.8 The default type

+

+TTCN‑3 allows the activation of altsteps +(see clause 16.2) as defaults to capture recurring behaviour. Default +references are unique references to activated defaults. Such a unique +default reference is generated by a test component when an altstep is +activated as a default, i.e. a default reference is the result of an +activate +operation (see clause 20.5.2).

+

+Default references have the special and +predefined type default. +Variables of type default +can be used to handle activated defaults in test components. The +special value null +represents an unspecific default reference, e.g. can be used for the +initialization of variables of default type.

+

+Default references are used in deactivate +operations (see clause 20.5.3) in order to identify the default to be +deactivated.

+

+Default references have meaning only within the test component +instances they are activated, i.e. a default reference assigned to a +default variable in test component instance "a1" of type +"A" has no meaning in test component instance "a2" +of type "A".

+

+The actual data representation of the default +type shall be resolved externally by the test system. This allows +abstract test cases to be specified independently of any real TTCN‑3 +runtime environment, in other words TTCN‑3 +does not restrict the implementation of a test system with respect to +the handling and identification of defaults.

+

6.2.9 Communication port types

+

+Ports facilitate communication between test components and between +test components and the test system interface.

+

+TTCN‑3 supports message-based and +procedure-based ports. Each port shall be defined as being +message-based or procedure-based. Message-based ports shall be +identified by the keyword message +and procedure-based ports shall be identified by the keyword +procedure +within the associated port type definition.

+

+Ports are bidirectional. The directions are specified by the keywords +in (for the in +direction), out +(for the out direction) and inout +(for both directions). Directions shall be seen from the point of +view of the test component owning the port with the exception of the +test system interface, where in +identifies the direction of message sending or procedure call and out +identifies the direction of message receive, get reply or catch +exception from the point of view of the test component connected to +the test system interface port.

+

+Each port type definition shall have one or more lists indicating the +allowed collection of (message) types or procedure signatures +together with the allowed communication direction.

+

+For configuration purposes the port type may have one map +param and one unmap param declaration indicating the +allowed additional parameters for the respective operation. These +formal parameters shall be value parameters.

+

+Whenever a signature (see also clause 14) is defined in the out +direction of a procedure-based port, the types of all its inout +and out parameters, +its return type and its exception types are automatically part of the +in direction of +this port. Whenever a signature is defined in the in +direction for a procedure-based port, the types of all its inout +and out parameters, +its return type and its exception types are automatically part of the +out direction of +this port.

+

+Ports used for the communication with the SUT may need to address +specific entities within the SUT. In addition, several address +schemes may be supported by one SUT at different ports. To support +such addressing schemes, TTCN-3 allows to bind an address +type to a port. Values of this type may be used for addressing +purposes in communication operations (see clause 22.1) and be stored +in variables. The handling of address types bound to different ports +by means of the dot notation is explained in clause 6.2.12.

+

+Syntactical Structure

+

+Message-based port:

+

+type +port +PortTypeIdentifier +message +"{"

+

+ { +(address Type +";") +|

+

+ + (map +param "(" +{ FormalValuePar +[","] }+ ")") |

+

+ + (unmap +param "(" +{ FormalValuePar +[","] }+ ")") |

+

+ + ((in | +out | +inout) { +MessageType +[ "," ] +}+ ";") +} +

+

+"}"

+


+

+

+Procedure-based port:

+

+type +port +PortTypeIdentifier +procedure +"{"

+

+ { +(address Type +";" +) |

+

+ + (map +param "(" +{ FormalValuePar +[","] }+ ")") |

+

+ + (unmap +param "(" +{ FormalValuePar +[","] }+ ")") |

+

+ + ((in +| out | +inout) { +Signature +[ "," ] +}+ ";") +} +

+

+"}"

+


+

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) At most one address type should be bound to a port type.

+

+b) At most one map parameter list should be defined for a port type.

+

+c) At most one unmap parameter list should be defined for a port +type.

+

+Examples

+

+EXAMPLE 1: Message-based port

+

+ // +Message-based port which allows types MsgType1 and MsgType2 to be +received at, MsgType3 to be

+

+ // +sent via and any integer value to be send and received over the port +

+

+ type +port +MyMessagePortTypeOne message +

+

+ {

+

+ in MsgType1, +MsgType2;

+

+ out MsgType3;

+

+ inout + integer

+

}

+

+

+EXAMPLE 2: Procedure-based port

+

+ // +Procedure-based port which allows the remote call of the procedures +Proc1, Proc2 and Proc3.

+

+ // +Note that Proc1, Proc2 and Proc3 are defined as signatures

+

type +port +MyProcedurePortType procedure + +

+

{

+

out Proc1, +Proc2, Proc3

+

}

+


+

+

+EXAMPLE 3: Message-based port with address type definition

+

+ type +port +MyMessagePortTypeTwo message +

+

+ {

+

+ address integer; // +if addressing is used on ports of type MyMessagePortTypeTwo +

+

+ // +the addresses have to be of type integer

+

+ inout MsgType1, +MsgType2;

+

}

+

+

+NOTE: The term message is used to mean both messages as defined by +templates and actual values resulting from expressions. Thus, the +list restricting what may be used on a message-based port is simply a +list of type names.

+

+EXAMPLE 4: Usage of param in port declaration

+

// +Message based port which allows MsgType4 to be send and received over +the port

+

// +and MsgType5 and MsgType6 as configuration parameter type

+

type +port +MyMessagePortType message + +

+

{

+

inout MsgType4;

+

map +param (in +MsgType5 p1, out +MsgType6 p2);

+

}

+


+

+

// +Procedure based port which allows the remote call of the procedure +Proc1

+

// +and MsgType5 as configuration parameter type

+

type +port +MyProcedurePortType procedure + +

+

{

+

out Proc1;

+

unmap +param (MsgType5 +p1);

+

}

+


+

+

6.2.10 Component +types

+

+6.2.10.1 Component type definition

+

+The component type defines which ports are associated with a +component (see figure 3). The port names in a component type +definition are local to that component type, i.e. another component +type may have ports with the same names. Port names in the same +component type definition shall all have unique names. +

+

+

+

+Figure 3: Typical components

+

+It is also possible to declare constants, variables and timers local +to a particular component type. These +declarations are visible to all testcases, functions and altsteps +that run on an instance of the given component type. This shall be +explicitly stated using the runs +on +keyword (see clause 16) in the testcase, function or altstep header. +Component type definitions are associated with the component instance +and follow the scope rules defined in clause 5.2. Each new instance +of a component type will thus have its own set of constants, +variables and timers as specified in the component type definition +(including any initial values, if stated). Constants used in +the constant expressions of type declarations for variables, +constants or ports shall meet with the restrictions in clause 10, +however constants used in the constant expressions of initial values +for variables, constants or timers do not have to obey these +restrictions.

+

+Syntactical Structure

+

+type +component +ComponentTypeIdentifier +"{"

+

+ { +( PortInstance

+

+ | +VarInstance

+

+ | +TimerInstance

+

+ | +ConstDef ) +} +

+

+"}"

+

+
+

+

+Semantic Description

+

+Component type definitions specify the creation, declaration and +initialization of ports and component constants, variables and timers +during the creation of an instance of a component type. These +instances can be used as the main test component, as the test system +interface or as a parallel test component. Every instance of a +component type has its own fresh copy of the port, constant, +variable, and timer instances defined in the component type +definition.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+EXAMPLE 1: Component type with port instances only

+

+ type +component +MyPTCType +

+

+ {

+

port +MyMessagePortType PCO1, PCO4;

+

port +MyProcedurePortType PCO2;

+

port +MyAllMesssagesPortType PCO3

+

}

+


+

+

+EXAMPLE 2: Component type with variable, timer and port instance

+

type +component +MyMTCType +

+

{

+

var +integer MyLocalInteger;

+

timer +MyLocalTimer;

+

port +MyMessagePortType PCO1

+

}

+


+

+

+EXAMPLE 3: Component type with port instance arrays

+

+ type +component +MyCompType

+

+ {

+

port +MyMessageInterfaceType PCO[3]

+

port +MyProcedureInterfaceType PCOm[3][3]

+

// +Defines a component type which has an array of 3 message ports and a +two‑dimensional

+

// +array of 9 procedure ports.

+

}

+


+

+

+6.2.10.2 Reuse of component types

+

+It is possible to define component types as the extension of other +component types, using the extends +keyword.

+

+Syntactical Structure

+

+type +component +ComponentTypeIdentifier +extends +ComponentTypeIdentifier +"{"

+

+ { +( PortInstance

+

+ | +VarInstance

+

+ | +TimerInstance

+

+ | +ConstDef ) +} +

+

+"}"

+


+

+

+Semantic Description

+

+In such a definition, the new type definition is referred to as the +extended type, and the type definition following the extends +keyword is referred to as the parent type. The effect of this +definition is that the extended type will implicitly also contain all +definitions from the parent type. It is called the effective type +definition.

+

+It is allowed to have one component type extending several parent +types in one definition, which have to be specified as a +comma-separated list of types in the definition. Any of the parent +types may also be defined by means of extension. The effective +component type definition of the extended type is obtained as the +collection of all constant, variable, timer and port definitions +contributed by the parent types (determined recursively if a parent +type is also defined by means of an extension) and the definitions +declared in the extended type directly. The effective component type +definition shall be name clash free. +

+

+NOTE 1: It is not considered to be a different declaration and hence +causes no error if a specific definition is contributed to the +extended type by different parent types (via different extension +paths).

+

+The semantics of component types with extensions are defined by +simply replacing each component type definition by its effective +component type definition as a pre-processing step prior to using it.

+

+NOTE 2: For component type compatibility, this means that a component +reference c of type CT1, which extends CT2, is compatible with CT2, +and test cases, functions and altsteps specifying CT2 in their runs +on clauses can +be executed on c (see clause 6.3.3).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) When defining component types by extension, there shall be no name +clash between the definitions being taken from the parent type and +the definitions being added in the extended type, i.e. there shall +not be a port, variable, constant or timer identifier that is +declared both in the parent type (directly or by means of extension) +and the extended type. It is not considered to be a name clash if a +specific definition is contributed to the extended type via different +extension paths.

+

+b) When defining component types by extending more than one parent +type, there shall be no name clash between the definitions of the +different parent types, i.e. there shall not be a port, variable, +constant or timer identifier that is declared in any two of the +parent types (directly or by means of extension). It is not +considered to be a name clash if a specific definition is contributed +to the extended type via different extension paths.

+

+c) It is allowed to extend component types that are defined by means +of extension, as long as no cyclic chain of definition is created. +

+

+Examples

+

+EXAMPLE 1: A component type extension and its effective type +definition

+

type +component +MyMTCType +

+

{

+

var +integer MyLocalInteger;

+

timer +MyLocalTimer;

+

port +MyMessagePortType PCO1

+

}

+


+

+

type +component +MyExtendedMTCType extends +MyMTCType +

+

{

+

var +float +MyLocalFloat;

+

timer +MyOtherLocalTimer;

+

port +MyMessagePortType PCO2;

+

}

+


+

+

// +effectively, the above definition is equivalent to this one:

+

type +component +MyExtendedMTCType

+

{

+

/* +the definitions from MyMTCType */

+

var +integer MyLocalInteger;

+

timer +MyLocalTimer;

+

port +MyMessagePortType PCO1

+


+

+

/* +the additional definitions */

+

var +float MyLocalFloat;

+

timer +MyOtherLocalTimer;

+

port +MyMessagePortType PCO2;

+

}

+


+

+

+EXAMPLE 2: A component type extension chain and forbidden cyclic +extensions

+

type +component MTCTypeA extends +MTCTypeB { /* … */ };
type +component MTCTypeB extends +MTCTypeC { /* … */ };
type +component MTCTypeC extends +MTCTypeA { /* … */ }; // ERROR - +cyclic extension

+

type +component +MTCTypeD extends +MTCTypeD { /* … */ }; // ERROR - cyclic extension

+


+

+

+EXAMPLE 3: Component type extensions with name clashes

+

+ type +component +MyExtendedMTCType extends +MyMTCType +

+

+ {

+

+ var +integer +MyLocalInteger; // ERROR - already defined in MyMTCType (see above)

+

+ var +float MyLocalTimer; + // ERROR - timer with that name exists in MyMTCType

+

+ port +MyOtherMessagePortType PCO1; // ERROR - port with that name exists in +MyMTCType

+

+ }

type +component MyBaseComponent { timer +MyLocalTimer };
type component +MyInterimComponent extends +MyBaseComponent { timer +MyOtherTimer };

+

type +component MyExtendedComponent extends +MyInterimComponent

+

{

+

timer +MyLocalTimer; // ERROR - already defined in MyInterimComponent via +extension

+

}

+

+

+EXAMPLE 4: Component type extension from several parent types

+

+ type +component MyCompB { timer +T };

+

+ type +component MyCompC { var +integer T };

+

+ type +component MyCompD extends +MyCompB, MyCompC {}

+

+ // +ERROR - name clash between MyCompB and MyCompC

+

+
+

+

+ // +MyCompB is defined above

+

+ type +component MyCompE extends +MyCompB {

+

+ var +integer MyVar1 := 10;

+

+ }

+

+
+

+

+ type +component MyCompF extends +MyCompB {

+

+ var +float MyVar2 := 1.0;

+

}

+


+

+

+ type +component MyCompG extends +MyCompB, MyCompE, MyCompF {

+

+ // +No name clash.

+

+ // +All three parent types of MyCompG have a timer T, either directly or +via extension of

+

+ // +MyCompB; as all these stem (directly or via extension) from timer T +declared in MyCompB,

+

+ // +which make this form of collision legal.

+

+ /* +additional definitions here */

+

+ }

+


+

+

+6.2.11 Component references

+

+Component references are unique references to the test components +created during the execution of a test case.

+

+Syntactical Structure

+

+system +| mtc | +self | +VariableRef | FunctionInstance

+

+
+

+

+Semantic Description

+

+A unique component reference is generated by +the test system at the time when a component is created. It is the +result of a create +operation (see clause 21.2.1). In addition, component references are +returned by the predefined operations system +(returns the component reference of the test system interface, which +is automatically created when testcase execution is started), mtc +(returns the component reference of the MTC, which is +automatically created when testcase execution +started) and self +(returns the component reference of the component in which self +is called).

+

+Component references are used in the configuration operations such as +connect, map +and start (see +clause 21) to set-up test configurations and in the from, +to and sender +parts of communication operations of ports connected to test +components other than the test system interface for addressing +purposes (see clause 22 and figure 6).

+

+In addition, the special value null +is available to indicate an undefined component reference, e.g. for +the initialization of variables to handle component references.

+

+The actual data representation of component +references shall be resolved externally by the test system. This +allows abstract test cases to be specified independently of any real +TTCN‑3 runtime environment, in +other words TTCN‑3 does not +restrict the implementation of a test system with respect to the +handling and identification of test components.

+

+A component reference includes component type information. This +means, for example, that a variable for handling component references +shall use the corresponding component type name in its declaration.

+

+The configuration operations (see clause +21) do not work directly on arrays of +components. Instead a specific element of the array shall be provided +as the parameter to these operations. For components, the effect of +an array is achieved by using an array of component references and +assigning the relevant array element to the result of the create +operation.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The only operations allowed on component references are +assignment, equality and non-equality.

+

+b) The variable associated with VariableRef (being a component +type variable, a component type parameter, etc.) or the return type +associated with FunctionInstance shall be of component type.

+

+Examples

+

+EXAMPLE 1: Component references with component type variables

+

+ // +A component type definition

+

+ type +component +MyCompType {

+

+ port +PortTypeOne +PCO1;

+

+ port +PortTypeTwo PCO2

+

+ }

+

+
+

+

+ // +Declaring one variable for the handling of references to components +of type MyCompType

+

+ // +and creating a component of this type

+

+ var +MyCompType MyCompInst := MyCompType.create;

+


+

+

+EXAMPLE 2: Usage of component references in configuration operations

+

+ // +referring to the component created above

+

+ connect(self:MyPCO1, +MyCompInst:PCO1);

+

map(MyCompInst:PCO2, +system:ExtPCO1);

+

MyCompInst.start(MyBehavior(self)); // +self is passed as a parameter to MyBehavior

+


+

+

+EXAMPLE 3: Usage of component references in from- and to- clauses

+

+ MyPCO1.receive +from +MyCompInst;

+

+:

+

MyPCO2.receive(integer:?) +-> sender +MyCompInst;

+

+:

+

MyPCO1.receive(MyTemplate) +from +MyCompInst;

+

+:

+

MyPCO2.send(integer:5) +to +MyCompInst;

+


+

+

+EXAMPLE 4: Usage of component references in one-to-many connections

+

+ // +The following example explains the case of a one-to-many connection +at a Port PCO1

+

+ // +where values of type M1 can be received from several components of +the different types

+

+ // +CompType1, CompType2 and CompType3 and where the sender +has to be retrieved.

+

+ // +In this case the following scheme may be used:

+

+:

+

var +M1 MyMessage, MyResult;

+

var +MyCompType1 MyInst1 := null;

+

var +MyCompType2 MyInst2 := null;

+

var +MyCompType3 MyInst3 := null;

+

+:

+

alt +{

+

[] +PCO1.receive(M1:?) +from +MyInst1 -> value +MyMessage sender +MyInst1 {}

+

[] +PCO1.receive(M1:?) +from +MyInst2 -> value +MyMessage sender +MyInst2 {}

+

[] +PCO1.receive(M1:?) +from +MyInst3 -> value +MyMessage sender +MyInst3 {}

+

}

+

+:

+

MyResult +:= MyMessageHandling(MyMessage); // some result is retrieved from a +function

+

+:

+

if +(MyInst1 != null) +{PCO1.send(MyResult) +to +MyInst1};

+

if +(MyInst2 != null) +{PCO1.send(MyResult) +to +MyInst2};

+

if +(MyInst3 != null) +{PCO1.send(MyResult) +to +MyInst3};

+

+:

+


+

+

+EXAMPLE 5: Usage of self

+

var +MyComponentType +MyAddress; +

+

MyAddress +:= self; +// Store the current component reference

+


+

+

+EXAMPLE 6: Usage of component arrays

+

+ // +This example shows how to model the effect of creating, connecting +and running arrays of

+

+ // +components using a loop and by storing the created component +reference in an array of +

+

+ // +component references. +

+

+

+

+ testcase +MyTestCase() runs on +MyMtcType system +MyTestSystemInterface

+

+ { + +

+

+ +:

+

+ var +integer i;

+

+ var +MyPTCType1 MyPtc[11];

+

+ +:

+

+ for +(i:= 0; i<=10; i:=i+1) +

+

+ {

+

+ MyPtc[i] +:= MyPTCType1.create;

+

+ connect(self:PtcCoordination, +MyPtc[i]:MtcCoordination);

+

+ MyPtc[i].start(MyPtcBehaviour());

+

+ }

+

+ +:

+

}

+


+

+

+6.2.12 Addressing entities inside the SUT

+

+An SUT may consist of several entities which can be addressed +individually. The global address data type may be used if only +one data type is needed. If several data types at different ports are +needed for addressing SUT entities, the type used for addressing via +a port instance shall be declared in the corresponding port type +definition.

+

+Syntactical Structure

+

+TemplateInstance

+

+
+

+

+Semantic Description

+

+The actual data representation of the global address +type is resolved either by an explicit global address type +definition within the test suite, address type definitions within +port definitions, or externally by the test system (i.e. the +address type is +left as an open type within the TTCN‑3 specification). This +allows abstract test cases to be specified independently of any real +address mechanism specific to the SUT.

+

+If an address type +is bound to a port type definition, addressing of SUT instances (i.e. +to- and +from-directives in +communication operations) via instances of that port type shall be +restricted to values of the bound address +type.

+

+If several address types exist within a test suite, ambiguities shall +be resolved by means of the dot notation. For example, a type +reference within a variable definition used to store an SUT address +may be prefixed by a port type identifier or a module identifier. If +both a global address type definition and port definitions with an +address type definition exist in a module, the global address type +shall only affect ports without an explicit address type definition. +The consistent use of explicit address type definitions within port +definitions is recommended over the use of global address type +definitions.

+

+Explicit SUT addresses for a globally defined address type shall only +be generated inside a TTCN‑3 module if the type is defined +inside the module itself. If the type is not defined inside the +module, explicit SUT addresses for a global address type shall only +be passed in as parameters or be received in message fields or as +parameters of remote procedure calls.

+

+In addition, the special value null +is available for the address +type to indicate an undefined address, e.g. for the initialization of +variables of the address type.

+

+If a port type definition includes the declaration of a type that +shall be used for addressing SUT entities, only values of that type +shall be used in to, +from and sender +parts of receive and send operations of port instances of that type +mapped to the test system interface.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) TemplateInstance shall be of type address +or of the type of the address declaration in a port type definition. +If TemplateInstance is of type address, +it and can be an address type value, an address type variable, etc.

+

+b) For addressing purposes, the address +data type shall only be used in the to, +from and sender +parts of receive and send operations of ports mapped to the test +system interface.

+

+Examples

+

+EXAMPLE 1: Global address type

+

// +Associates the type integer to the open type address

+

type +integer address;

+

+:

+

// +new address variable initialized with null

+

var +address MySUTentity := null;

+

+:

+

// +receiving an address value and assigning it to variable MySUTentity

+

PCO.receive(address:?) +-> value +MySUTentity;

+

+:

+

// +usage of the received address for sending template MyResult

+

PCO.send(MyResult) +to +MySUTentity;

+

+:

+

// +usage of the received address for receiving a confirmation template

+

PCO.receive(MyConfirmation) +from +MySUTentity;

+


+

+

+EXAMPLE 2: Port type-specific address type

+

type +record MyAddressType { // +user-defined type

+

integer +field1;

+

boolean +field2;

+

}

+

+ type +port +MyPortType message {

+

+ address MyAddressType; // +address declaration

+

+ inout integer;

+

}

+

type +component +MyComponentType +

+

{

+

port +MyPortType PCO;

+

}

+

function +myFunction () runs on MyComponentType {

+

var +MyAddressType SUT_Address := { 5, +true}; // address value for addressing +via ports +

+

+ // +of MyPortType +

+

:

+

PCO.send(integer: +5) to +SUT_Address; // use of address value +in to

+

:

+

PCO.receive(integer: +?) from +SUT_Address; // use of address value +in from

+

:

+

}

+


+

+

+EXAMPLE 3: Elaborated address example

+

type +AddressType1 +address; // address type definition +on module level

+


+

+

+ type +port +MyPortType1 message {

+

+ inout MsgType1;

+

}

+


+

+

// +address types bound to port types

+

+ type +port +MyPortType2 message {

+

+ address AddressType2; // +values of type AddressType2 can be

+

+ // +used to address SUT entities.

+

+ inout MsgType2;

+

}

+

+ type +port +MyMessagePort3 message {

+

+ address AddressType3; // +values of type AddressType3 can be

+

+ // +used to address SUT entities.

+

+ inout MsgType3;

+

}

+

// +component type definition

+

type +component +MyComponentType +

+

{

+

port +MyPortType1 PCO1;

+

port +MyPortType2 PCO2;

+

port +MyPortType3 PCO3

+

}

+

// +The following behaviour is considered to be executed on an instance +of MyComponentType.

+

// +Furthermore, it is considered that the ports PCO1, PCO2 and PCO3 are +mapped ports, i.e.

+

// +used for the communication with the SUT.

+

+:

+

// +new address variable initialized with null

+

var +address MySUTentity1 := null; // +type of MySUTentity1 is AddressType1

+

var +MyPortType2.address MySUTentity2 +:= null; // +type of MySUTentity2 is AddressType2

+

var +MyPortType3.address MySUTentity3 +:= null; // +type of MySUTentity3 is AddressType3

+

+:

+

// +receiving an address values and assigning them to variables

+

PCO1.receive(MsgType1:?) +from +address:? +-> sender MySUTentity1;

+

+ // +Address type of module scope,

+

// +no prefix needed

+

PCO2.receive(MsgType2:?) +from +MyPortType2.address:? +-> sender +MySUTentity2;

+

+ // +Resolution of address type

+

// +by means of a prefix

+

PCO3.receive(MsgType3:?) +from +MyPortType3.address:? +-> sender +MySUTentity3;

+

+:

+

// +usage of the received address values for addressing purposes

+

PCO1.send(MyResult) +to +MySUTentity1;

+

+:

+

PCO2.receive(MyConfirmation) +from +MySUTentity2;

+

+:

+

PCO3.send(MyRequest) +to +MySUTentity3;

+

+:

+


+

+

+6.2.13 Subtyping of structured types

+

+TTCN-3 allows subtyping of structured types as given +in table 3.

+

+6.2.13.1 Length subtyping of record ofs and set ofs

+

+TTCN-3 permits constraining the number of elements in instances of +record of and set +of types.

+

+The length keyword +followed by a value or a range (with inclusive boundaries only) +within brackets and used between the record +or set and +the of keywords, +restricts the allowed lengths of the given record +of or set +of type. The +value or the bounds within the brackets shall be non-negative integer +values, except when the infinity +keyword is used at the place of the upper bound, in which case the +maximum number of the elements is not constrained.

+

+Record of and set of type definitions may be used to define new +record of or set +of subtypes. In this case the rules of the previous +paragraph apply, except that the length +keyword and the value or range defining the allowed number of +iterations (within brackets) shall be placed following the identifier +of the new type.

+

+Constants used in the constant expressions of length subtyping shall +meet with the restrictions in clause 10.

+

+EXAMPLE 1: Length restrictions of record of and set of types

+

type +record length(10) +of integer +MyRecordOfType10;

+

+ // is a record of exactly 10 integers

+


+

+

type +record length(0..10) +of integer +MyRecordOfType0_10;

+

+ // is a record of a maximum of 10 integers

+


+

+

type +record length(10..infinity) +of integer +MyRecordOfType10up; +

+

+ // record of at least 10 integers

+


+

+

type +record length(0..infinity) +of integer +MyRecordOfType0up; +

+

// +an unrestricted record of integer type

+


+

+

+EXAMPLE 2: Length subtyping of referenced record of types

+

type +record of +charstring +StringArray;

+

+ // is an unlimited record of, each element shall be a charstring

+


+

+

type +StringArray StringArray34 length(4 +.. 5);

+

// +is a record of 4 or 5 elements, each element is a charstring

+

// +it is equivalent to

+

// +type +record +length(4 +.. 5) of +charstring +StringArray34a;

+


+

+

type +StringArray34 StringArray34again length(4 +.. 5);

+

// +the same as StringArray34

+


+

+

type +StringArray34 StringArray6 length(6);

+

// +causes an error as record ofs with 6 elements are not legal values of +StringArray34

+


+

+

+EXAMPLE 3: Length subtyping of referenced set of types

+

type +record MyCapsule +{

+

+ set of integer mySetOfInt

+

}

+


+

+

type +MyCapsule.mySetOfInt MySetOfIntSub +length(5..10);

+

// +unordered list of 5 to 10 integers

+


+

+

+6.2.13.2 List subtyping of structured types and anytype

+

+List subtyping is possible when defining a new type based on an +existing parent type, but not directly at the declaration of the +first parent type (see table 3).

+

+Subtypes defined by a list subtyping restrict the allowed values of +the subtype to the values matched by at least one of the templates in +the list. In case of list subtyping of record, +set, record +of, set of, +union and anytype +types, the list may contain both templates and subtypes of the parent +types of the type being constrained. The collection of templates +denoted by the type(s) referenced in the list become instances of the +new subtype. When constraining record +of, set of, +union and anytype +types, all templates of the expanded list (i.e. after resolving the +type references) shall be valid (i.e. complete) templates of the +first parent type, except in the case of field assignment notations +for constrained record or set types where the fields that are not +explicitly present in the value notation are seen as containing Any +for mandatory fields and AnyOrOmit for optional fields of the +type.

+

+In case of enumerated +types, the template list subtyping shall contain only values of the +parent type.

+

+EXAMPLE 1: List subtyping of record types

+

type +record +MyRecord {

+

+ integer f1 optional,

+

+ charstring f2,

+

+ charstring f3

+

}

+


+

+

type +MyRecord MyRecordSub1 (

+

+ { f1 := +omit, f2 := +"user", +f3 := +"password" },

+

+ { f1 := +1, f2 := "User", +f3 := +"Password" }

+

) +// a valid subtype of MyRecord containing 2 values

+


+

+

type +MyRecord MyRecordSub2 (

+

+ MyRecordSub1,

+

+ { f1 := 2, f2 := "uname", f3 := "pswd" },

+

+ { f1 := +3, f2 := "Uname", f3 := "Pswd" }

+

) +// a valid subtype of MyRecord, containing 4 values; notice that +values of

+

+ // MyRecordSub1 are identified by referencing MyRecordSub1

+


+

+

type +MyRecordSub1 MyRecordSub3 (

+

+ { f1 := +1, f2 := "user", f3 := "password" },

+

+ { f1 := 1, f2 := "User", f3 := "Password" }

+

) +// invalid type as { f1 := 1, f2 := "user", f3 := +"password" } is not a legal value of

+

+ // MyRecordSub1 (notice field f1)

+


+

+

type +MyRecord MyRecordSub4 (

+

+ { f2 := +"user", f3 := "password" },

+

+ { f2 := "User", f3 := "Password" }

+

) +// any valid value of MyRecord, where the combination of f2 and f3 +is
// f2 := "user" AND f3 := "password" or +f2 := "User" AND f3 := "Password"

+


+

+

+ type +MyRecord MyRecordSub5 (

+

+ { f2 := +"user", f3 := pattern "password|Password" },

+

+ { f1 := (1 .. 10), f2 := "User" }

+

) +// a valid subtype of MyRecord containing all values which match one +of the given templates +

+

+ // +{ f1 := *, f2 := "user", f3 := pattern "password|Password" +} or

+

+ // +{ f1 := (1 .. 10), f2 := "User", f3 := ? }

+

+

+

+EXAMPLE 2: List subtyping of record of types

+

type +record of +charstring +StringArray;

+


+

+

type +StringArray StringArrayList1 (

+

+ { "aa" },

+

+ { "bbb", "cc" },

+

+ { "ddd", "ee", "ff" }

+

); +// valid subtype of StringArray

+


+

+

type +StringArrayList1 StringArrayList2 (

+

+ { "aa" },

+

+ { "bbb", "cc" }

+

); +// valid subtype of StringArrayList1

+


+

+

type +StringArrayList1 StringArrayList3 (

+

+ StringArrayList2,

+

+ { "ddd", "ee", "ff" }

+

); +// valid, but equivalent to StringArrayList1

+


+

+

type +StringArrayList1 StringArrayList4 (

+

+ StringArrayList2,

+

+ { "ddd", "ee", "fff" }

+

); +// empty type as { "ddd", "ee", "fff" } +is not a value of StringArrayList1

+

+ // (notice the extra character f in the third element)

+


+

+

+EXAMPLE 3: List subtyping of union types

+

type +union MyUnion {

+

+ integer c1,

+

+ charstring c2,

+

+ charstring c3

+

};

+


+

+

type +MyUnion MyUnionSub1 (

+

+ { c1 := 0 },

+

+ { c1 := 1 }

+

); +// a valid subtype of MyUnion containing two values

+


+

+

type +MyUnion MyUnionSub2 (

+

+ MyUnionSub1,

+

+ { c2 := "mine" },

+

+ { c3 := "yours" }

+

); +// a valid subtype of MyUnion containing four values; notice that +values of

+

+ // MyUnionSub1 are identified by referencing MyUnionSub1

+


+

+

type +MyUnionSub1 MyUnionSub3 (

+

+ { c1 := 0 },

+

+ { c1 := 2 }

+

); +// causes an error as { c1 := 2 } is not a value of MyUnionSub1

+


+

+

+EXAMPLE 4: List subtyping of enumerated types

+

type +enumerated +MyEnum { first, second, third, fourth, fifth };

+


+

+

type +MyEnum EnumSub1 ( first, second, third );

+

+ // a valid subtype of MyEnum

+


+

+

type +EnumSub1 EnumSub2 ( first, second );

+

+ // a valid subtype of EnumSub1

+


+

+

type +EnumSub1 EnumSub3 ( first, second, fourth );

+

+ // causes an error as fourth is not a value of EnumSub1

+


+

+

type +MyEnum EnumSub4 ( EnumSub1, fourth);

+

+ // causes an error as type references are not allowed in the +template list +

+

+ // +of enumerated types

+


+

+

+EXAMPLE 5: List subtyping of anytype

+

type +anytype +MyAnySub1 (

+

+ { integer +:= 5 },

+

+ { boolean +:= false },

+

+ { bitstring +:= '0011'B },

+

+ { charstring +:= "mine" },

+

+ { MyEnum := first }

+

); +// a valid subtype of anytype, consisting of 5 values

+


+

+

type +MyAnySub1 MyAnySub2 (

+

+ { integer +:= 5 },

+

+ { boolean +:= false },

+

+ { bitstring +:= '0011'B }

+

); +// a valid subtype of MyAnySub1, consisting of 3 values

+


+

+

type +anytype +MyAnySub3 (

+

+ MyAnySub2,

+

+ { octetstring +:= 'FF'O }

+

); +// a valid subtype of anytype, consisting of 4 values, 3 of which are +defined

+

+ // by referring to MyAnySub2

+


+

+

type +MyAnySub1 MyAnySub4 (

+

+ { integer +:= 5 },

+

+ { boolean +:= false },

+

+ { MyEnum := second }

+

); +// causes an error as { MyEnum := second } is not a value of +MyAnySub1

+


+

+

type +MyAnySub1 MyAnySub5 (

+

+ MyAnySub3,

+

+ { MyEnum := first }

+

); +// causes an error as { octetstring +:= 'FF'O } (defined via referencing MyAnySub3) is

+

+ // not a value of MyAnySub1

+


+

+

6.2.13.3 Subtyping of the iterated +type of record ofs and set ofs

+

+A type restriction following the identifier of a newly defined record +of or set of +type (i.e. when the keywords record +and of or set +and of are used in +the definition) shall constrain the innermost type. The newly defined +iterated type shall be a subset of the innermost type. If the +innermost type is a basic type, the subtyping rules in clause 6.1.2 +shall apply. If the innermost type is referencing a structured type +or anytype, the +rules in clauses 6.2.13.1 and 6.2.13.2 shall apply.

+

+EXAMPLE 1: Subtyping of basic innermost types of record ofs and set +ofs

+

type +record of +charstring +String23Array length(2 +.. 3);

+

+ // is an unlimited record of, each element shall be a charstring of +2 or 3 characters

+


type +record length(0..10) +of charstring +String12Array10 length(12);

+

// +is a record of a maximum of 10 strings each with exactly 12 +characters

+


+

+

type +record of +record of +charstring +String12Array2D length(12);

+

// +is a two-dimensional unlimited array of strings each with exactly 12 +characters

+


+

+

type +set +length(5) +of set +length(6) of +charstring +String12Array2D56 length(12);

+

// +is an unordered two-dimensional array of the size 5*6 strings, each +with

+

// +exactly 12 characters

+


+

+


+

+

const +String23Array c_str23arr_a := { +"aa", "bbb", "cc", "ddd", +"ee", "ff" };

+

// +valid, all charstrings are 2 or 3 characters long

+


+

+

const +String23Array c_str23arr_b := { +"a", "bbbb", "cc", "ddd", +"ee", "ff" };

+

// +causes an error as "a" +and "bbbb" +are not 2 or 3 characters long

+


+

+

const +String12Array2D56 +c_str12arr2D56_a := {

+

+ { "aa", "aaa", "bb", "bbb", +"cc", "ccc" },

+

+ { "dd", "ddd", "ee", "eee", +"ff", "fff" },

+

+ { "gg", "ggg", "hh", "hhh", +"ii", "iii" },

+

+ { "jj", "jjj", "kk", "kkk", +"ll", "lll" },

+

+ { "mm", "mmm", "nn", "nnn", +"oo", "ooo" }

+

}; +// valid, a 5*6 matrix of charstrings being 2 or 3 characters long

+


+

+

const +String12Array2D56 +c_str12arr2D56_b := {

+

+ { "a", "aaa", "bb", "bbbb", +"cc", "ccc" },

+

+ { "dd", "ddd", "ee", "eee", +"ff", "fff" },

+

+ { "gg", "ggg", "hh", "hhh", +"ii", "iii" },

+

+ { "jj", "jjj", "kk", "kkk", +"ll", "lll" },

+

+ { "mm", "mmm", "nn", "nnn", +"oo", "ooo", "pp" }

+

}; +// causes an error as "a" +and "bbbb" +are not 2 or 3 characters long and +

+

+ // the 5th inner record of has 7 elements

+


+

+

+EXAMPLE 2: Length subtyping of structured innermost types of record +ofs

+

type +record of +String23Array String23Array45 length(4 +.. 5);

+

// +is a two-dimensional array, the first dimension is unlimited, +

+

// +the second dimension is restricted to 4 or 5 elements and each +element

+

// +is a charstring of 2 or 3 characters. It is equivalent to:

+

// +type +record of +record +length(4 +.. 5) of +charstring +String23Array45 length(2 +.. 3);

+


+

+

const +String23Array45 c_str23arr45_a +:= {

+

+ { "aa", "bbb", "cc", "ddd" +},

+

+ { "ee", "fff", "gg", "hhh", +"ii" }

+

}; +// valid, 4 or 5 elements in the inner record of, all containing 2 or +3 characters

+


+

+

const +String23Array45 c_str23arr45_b +:= {

+

+ { "aa" +, "bbb", +"cc" }

+

}; +//causes an error as there are only 3 +elements in the inner record of

+


+

+

const +String23Array45 c_str23arr45_c +:= {

+

+ { "aa", +"bbbb", +"cc", +"dd" +}

+

}; +//causes an error as "bbbb" +contains 4 characters

+


+

+

type +record length(0 +.. 1) of +String23Array String23Array0145 length(4 +.. 5);

+

// +is a two-dimensional array, the first dimension is limited to 0 or 1 +elements,

+

// +the second dimension is restricted to 4 or 5 elements, each element +is a +

+

// +charstring of 2 or 3 characters.

+


+

+

const +String23Array0145 +c_str23arr0145_a := {

+

+ { "aa", "bbb", "cc", "ddd" +},

+

}; +// a valid 1*4 array of charstrings, each of 2 or 3 characters

+


+

+

const +String23Array0145 +c_str23arr0145_a := {

+

+ { "aa", "bbb", "cc", "ddd" +},

+

+ { "ee", "fff", "gg", "hhh", +"ii" }

+

}; +// causes an error as there are two elements in the outer record of

+


+

+

const +String23Array0145 +c_str23arr0145_b := {

+

+ { "aa" +, "bbb", +"cc" }

+

}; +// causes an +error as there are only 3 elements in the inner record of

+


+

+

const +String23Array0145 +c_str23arr0145_c := {

+

+ { "aa", +"bbbb", +"cc", +"dd" +}

+

}; +// causes an +error as "bbbb" contains 4 characters

+


+

+

type +record of +String23Array45 String23Array6 length(6);

+

// +empty type as String23Array45 is restricted to 4 or 5 elements,

+

// +thus length restriction 6 is outside the allowed range

+


+

+

6.2.13.4 Mixing subtyping mechanisms

+

+In the case of structured types and the special type anytype, +it is forbidden to mix different subtyping mechanisms (e.g. list and +length) in the same definition.

+

+6.3 Type compatibility

+

+Generally, TTCN‑3 requires type +compatibility of values at assignments, instantiations and +comparison.

+

+For the purpose of this clause the actual value to be assigned, +passed as parameter, etc., is called value "b". The type of +value "b" is called type "B". The type of the +formal parameter, which is to obtain the actual value of value "b" +is called type "A".

+

+NOTE: As address is +more a predefined type name than a distinct type with its own +properties, the same type compatibility rules apply to an address +type and to its derivatives as the rules were if the type was defined +with a name different from address.

+

+6.3.1 Compatibility of non-structured types

+

+For variables, constants, templates, etc. of +simple basic types and basic string types +the value "b" is compatible to type "A" if type +"B" resolves to the same root type as type "A" +(e.g. integer) +and it does not violate subtyping (e.g. ranges, length +restrictions) of type "A".

+

+EXAMPLE 1: Compatibility of integers

+

// +Given +

+

type +integer +MyInteger(1 .. 10);

+

:

+

var +integer x;

+

var +MyInteger y; +

+


+

+

// +Then +

+

y +:= 5; // is a valid assignment +

+


+

+

x +:= y;

+

// +is a valid assignment, because y has the same root type as x and no +subtyping is violated

+


+

+

x +:= 20; // is a valid assignment

+

y +:= x;

+

// +is NOT a valid assignment, because the value of x is out of the range +of MyInteger

+


+

+

x +:= 5; // is a valid assignment

+

y +:= x;

+

// +is a valid assignment, because the value of x is now within the range +of MyInteger

+


+

+

+EXAMPLE 2: Compatibility of floats

+

// +Given +

+

type +float +PositiveFloats(0.0 .. infinity);

+

:

+

var +PositiveFloats x;

+

var +float y; +

+


+

+

// +Then +

+

y +:= 5.0; // is a valid assignment +

+

x +:= y;

+

// +is a valid assignment, because y has the same root type as x and no +subtyping is violated

+


+

+

y +:= -20.0; // is a valid assignment

+

x +:= y;

+

// +causes an error, because the value of y is out of the range of +PositiveFloats

+


+

+

y +:= not_a_number; // is a valid assignment

+

x +:= y;

+

// +causes an error, because the value not_a_number +is out of the range of PositiveFloats

+


+

+

+EXAMPLE 3: Compatibility of charstrings

+

//Given

+

type +charstring +MyChar length +(1);

+

type +charstring +MySingleChar length +(1);

+

var +MyChar myCharacter;

+

var +charstring +myCharString; +

+

var +MySingleChar mySingleCharString +:= "B";

+


+

+

//Then

+

myCharString +:= mySingleCharString;

+

//is +a valid assignment as charstring restricted to length 1 is compatible +with charstring.

+

myCharacter +:= mySingleCharString;

+

//is +a valid assignment as two single-character-length charstrings are +compatible.

+


+

+

//Given

+

myCharString +:= "abcd";

+

+

//Then

+

myCharacter +:= myCharString[1];

+

//is +valid as the r.h.s. notation addresses a single element from the +string

+


+

+

//Given

+

var +charstring +myCharacterArray [5] := {"A", "B", "C", +"D", "E"}

+

+

//Then

+

myCharString +:= myCharacterArray[1];

+

//is +valid and assigns the value "B" to myCharString;

+


+

+

+For variables, constants, templates etc. of +charstring +type, value 'b' is compatible with a universal +charstring type 'A' +unless it violates any type constraint specification (range, list or +length) of type "A".

+

+For variables, constants, templates etc. of universal +charstring type, value 'b' is compatible with a charstring +type 'A' if all characters used in value 'b' have their +corresponding characters (i.e. the same control or graphical +character using the same character code) in the type charstring +and it does not violate any type constraint specification (range, +list or length) of type "A".

+

6.3.2 Compatibility of structured +types

+

+This clause defines compatibility rules for structured types. In +subsequent clauses, "value "b"" is called the +value to be assigned, e.g. when passed as parameter, to an object of +type "A". +

+

6.3.2.1 Compatibility of enumerated +types

+

+Enumerated types are only compatible to synonym types (see clause 6.4) +and not compatible with other basic or structured types.

+

6.3.2.2 Compatibility of record and +record of types

+

+record types are +compatible if the number, and optional aspect of the fields in the +textual order of definition are identical, the types of each field +are compatible and the value of each existing field of the value "b" +is compatible with the type of its corresponding field in type "A". +The value of each field in the value "b" is assigned to the +corresponding field in the value of type "A".

+

+EXAMPLE 1:

+

+// +Given

+

+type +record AType {

+

+ integer a(0..10) optional,

+

+ integer b(0..10) optional,

+

+ boolean c

+

+}

+

+
+

+

+type +record BType {

+

+ integer a optional,

+

+ integer b(0..10) optional,

+

+ boolean c

+

+}

+


+

+

+type +record CType { // type with different +field names

+

+ integer d optional,

+

+ integer e optional,

+

+ boolean f

+

+
+

+

+}

+


+

+

+type +record DType { // type with field c +optional

+

+ integer a optional,

+

+ integer b optional,

+

+ boolean c optional

+

+}

+


+

+

+type +record EType { // type with an extra +field d

+

+ integer a optional,

+

+ integer b optional,

+

+ boolean c,

+

float d optional

+

+}

+

+
+

+

var +AType MyVarA := { -, 1, true};

+

var +BType MyVarB := { omit, 2, true}; + +

+

var +CType MyVarC := { 3, omit, +true}; + +

+

var +DType MyVarD := { 4, 4, true};

+

var +EType MyVarE := { 5, 5, true, +omit};

+


+

+

+ // +Then

+

+
+

+

+ MyVarA +:= MyVarB; // is a +valid assignment,

+

+ // +new value of MyVarA is ( a :=omitted, b:= 2, c:= true)

+

+ MyVarC +:= MyVarB; // is a +valid assignment

+

+ // +new value of MyVarC is ( d :=omitted, e:= 2, f:= true)

+

MyVarA +:= MyVarD; // is NOT +a valid assignment because the optionality of fields does not +

+

// +match +

+

MyVarA +:= MyVarE; // is NOT +a valid assignment because the number of fields does not match

+


+

+

MyVarC +:= { d:= 20 };// actual value of MyVarC is { d:=20, e:=2,f:= true }

+

MyVarA +:= MyVarC // is NOT a valid assignment because field 'd' of MyVarC +violates subtyping

+

// +of field 'a' of AType

+


+

+

+record of +types and arrays are compatible if their element types are compatible +and value "b" does not violate any length subtyping of the +record of +type "A" or dimensions of the array type. Values of +elements of the value "b" shall be assigned sequentially to +the instance of type "A", including undefined elements.

+

+Two array types are compatible if their corresponding record +of types are compatible.

+

+EXAMPLE 2:

+

+// +Given

+

+type +record HType {

+

+ integer a,

+

+ integer b +optional,

+

+ integer c

+

+}

+

+
+

+

+type +record of integer IType

+

+
+

+

var +HType MyVarH := { 1, omit, +2};

+

var +IType MyVarI;

+

var +integer +MyArrayVar[2];

+


+

+

// +Then

+


+

+

MyArrayVar +:= MyVarH;
// is +NOT a valid assignment as type of MyArrayVar and HType are +incompatible

+


+

+

MyVarI +:= MyVarH;

+

// +is NOT a valid assignment as the types are incompatible +

+


+

+

MyVarI +:= { 3, 4 };

+

MyVarH +:= MyVarI;

+

// +is NOT a valid assignment as the mandatory field 'c' of Htype +receives no value

+


+

+

6.3.2.3 Compatibility of set and set +of types

+

+set types are only +compatible with other set +types and set of +types are only compatible with other set +of types. For set +types the same compatibility rules shall apply as to record +types and for set +of types the same +compatibility rules shall apply as to record +of types.

+

+NOTE 1: This implies that though the order of elements at sending and +receipt is unknown, when determining type compatibility for set +types, the textual order of the fields in the type definition is +decisive.

+

+NOTE 2: In set +values the order of fields may be arbitrary, however this does not +affect type compatibility as field names unambiguously identify, +which fields of the related set +type correspond to which set +value fields.

+

+EXAMPLE:

+

// +Given

+

type +set FType {

+

integer a optional,

+

integer b optional,

+

boolean c

+

}

+


+

+

+ type +set GType {

+

+ integer d + optional,

+

+ integer e + optional,

+

boolean f

+

}

+


+

+

var +FType MyVarF := { a:=1, c:=true };

+

var +GType MyVarG := { f:=true, +d:=7};

+

+

// +Then

+


+

+

MyVarF +:= MyVarG; // is a +valid assignment as types FType and GType are compatible

+

+

MyVarF +:= MyVarA; // is NOT +a valid assignment as MyVarA is a record type

+


+

+

+6.3.2.4 Compatibility of union types

+

+union types are only compatible with other union types. +A union value "a" of union type "A" is compatible +with union type "B" if the alternative selected in "a" +has a corresponding alternative with identical name in "B" +and the value of the selected alternative in "a" is +compatible to the type of the corresponding alternative in "B".

+

+EXAMPLE:

+

type +union U1 +{integer +i};

+

type +union U2 +{integer +i, boolean +b};

+


+

+

var +U1 u1 := {i := 1};

+

var +U2 u2 := u1; // correct

+

u1:= +u2; // correct as the alternative i is selected in u2 and is +compatible
// to i in U1

+

u2:= +{b := true};

+

u1:= +u2; // incorrect as u1 has no alternative b

+

var +anytype x +:= u1; // incorrect as the anytype is not a union +type.

+


+

+

6.3.2.5 Compatibility of anytype +types

+

+anytype types are only compatible with other anytype +types. An anytype value "a" of anytype type "A" +is compatible with anytype type "B" if the alternative +selected in "a" has a corresponding alternative with +identical name in "B" and the value of the selected +alternative in "a" is compatible to the type of the +corresponding alternative in "B". Identical alternative +names in this case mean the name of a TTCN-3 basic type or the name +of the same user defined type definition (considering also the module +in which the type is defined).

+

+EXAMPLE:

+

module +A {

+

type +integer I +(0..2);

+

type +float F;

+

type +anytype +Atype //anytype composed of TTCN-3 built-in basic types, I, and F

+

}

+


+

+

module +B {

+

type +integer I +(0..2);

+

type +anytype +Atype

+

}

+


+

+

module +C {

+

import +from A all;

+

import +from B all;

+

type +union U {

+

integer +I (0..2)

+

}

+

control +{

+

var +A.Atype aa;

+

var +A.Atype aaI := { I := 1 }

+

var +A.Atype aaF := { F := 1.0 }

+

var +B.Atype ba := { integer := 1 }

+

var +B.Atype baI := { I := 1 }

+

var +U u := { I := 1 }

+


+

+

aa +:= ba; // correct, the value of aa1 becomes { integer := 1 }

+

aa +:= baI; // incorrect, type B.I is not present in the anytype A.Atype

+

aa +:= u; // incorrect, type of u is not anytype but a user defined +union type

+


+

+

ba +:= { float := 1.0 }; // correct, assigning a literal value

+

ba +:= aaI; // incorrect, type A.I is not present in the anytype B.Atype

+

ba +:= aaF; // incorrect, type A.F is not present in the anytype B.Atype

+

}

+

}

+


+

+

6.3.2.6 Compatibility between +sub-structures

+

+The rules defined in this clause for structured types compatibility +are also valid for the sub-structure of such types.

+

+EXAMPLE:

+

// +Given

+

type +record JType {

+

HType H,

+

integer b +optional,

+

integer c

+

}

+


+

+

var +JType MyVarJ +

+

+

// +If considering the declarations above, then

+


+

+


+

+

MyVarJ.H +:= MyVarH;
// is +a valid assignment as the type of field H of JType and HType are +compatible

+


+

+

MyVarI +:= MyVarJ.H;
// is a valid assignment as IType and the type of +field H of JType are compatible

+


+

+

+6.3.3 Compatibility of component types

+

+Type compatibility of component types has to be considered in two +different conditions:

+
    +
  1. + Compatibility of a component reference value with a component type + (e.g. when passing a component reference as an actual parameter to a + function or an altstep or when assigning a component reference value + to a variable of different component type): a component reference + "b" of component type "B" is compatible with + component type "A" if all definitions of "A" + have identical definitions in "B".

    +
  2. + Runs on compatibility: a function or altsteps referring to component + type "A" in its runs on clause may be called or started on + a component instance of type 'B' if all the definitions of "A" + have identical definitions in "B".

    +
+

+Identity of definitions in "A" with definitions of "B" +is determined based on the following rules:

+

+a) For port instances, both the type and the identifier shall be +identical.

+

+b) For timer instances, identifiers shall be identical and either +both shall have identical initial durations or both shall have no +initial duration.

+

+c) For variable instances and constant definitions, the identifiers, +the types and initialization values shall be identical (in case of +variables this means that either the values are missing in both +definitions or are the same).

+

+d) For local template definitions, the identifiers, the types, the +formal parameter lists and the assigned template or template field +values shall be identical.

+

6.3.4 Type compatibility of +communication operations

+

+The communication operations (see clause 22) +send, +receive, +trigger, +call, +getcall, +reply, +getreply +and raise +are exceptions to the weaker rule of type compatibility and require +strong typing. The types of values or templates directly used as +parameters to these operations shall also be explicitly defined in +the associated port type definition. Strong typing also applies to +storing the received value, address or component reference during a +receive +or trigger +operation.

+

+EXAMPLE:

+

+type +record +MyRec {...} // user defined type

+

+type +MyRec MyRecAlias; // a type alias

+

+
+

+

+type +port MyPort +message { +inout MyRec, +MyRecAlias; } // port that can +transport both types

+

+type +component MyComponent { +port MyPort +P; } +

+

+
+

+

+template +MyRecAlias t_MyRecAlias:= {...} // a template of the alias type

+

+
+

+

+var +MyComponent +myComp1 := +MyComponent.create, +myComp2 := +MyComponent.create; + +

+

+connect +(myComp1:P, myComp2:P) // two connected PTCs via ports that can +

+

+ // +transport the user-defined and the alias type

+

+
+

+

+// +in myComp1:

+

+P.send +(t_MyRecAlias); // sending of template of alias type

+

+
+

+

+// +in myComp2:

+

+P.receive +(MyRec:?);

+

+// +shall not match as the transmitted template is of the alias type and +

+

+// +not of the user-defined type

+

+
+

+

+// +in myComp2:

+

+var +MyRec x;

+

+P.receive +(MyRecAlias:?) -> value +x; +

+

+// +shall cause an error since also storing the value requires strong +typing

+

+
+

+

6.3.5 Type conversion

+

+If it is necessary to convert values of one type to values of another +type, because their types have different root types, then either one +of the predefined conversion functions defined in clause 16.1.2 or a +user defined function shall be used.

+

+EXAMPLE:

+

// +To convert an integer value to a hexstring value use the predefined +function int2hex +

+

MyHstring +:= int2hex(123, +4);

+


+

+

+6.4 Type synonym

+

+A type can be defined as a synonym to another type. Type synonyms can +be defined for all kinds of types. Synonym types are compatible.

+

+EXAMPLE:

+

type +MyType1 MyType2; // MyType2 is synonym to MyType1 +

+


+

+

+7 Expressions

+

+TTCN‑3 allows the specification of expressions using the +operators defined in clause 7.1.

+

+Syntactical Structure

+

+SingleExpression +| +

+

+"{" +{ ( FieldReference ":=" +( Expression | "-" )) [","] } "}" | // +compound expression

+

+"{" +[ { ( Expression | "-" ) [","] } ] "}" // +compound expression

+

+
+

+

+Semantic Description

+

+Expressions may be built from other (simple) +expressions. Functions used in expressions shall have a return +clause. The operands of the operators used in an expression shall be +values and their root types shall be the types specified for the +appropriate operator in the subsequent clauses.

+

+Compound expressions are used for expressions of array, record, +record of and set of types.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Operands of operators used in expressions shall be completely +initialized values except where explicitly stated otherwise in the +specific clause of the operator.

+

+b) The root types of the operands shall be the types specified for +the appropriate operand.

+

+This means also that all fields and elements of structured types +referenced in an expression shall contain completely initialized +values, while other fields and elements, not used in the expression, +may be uninitialized or contain omit.

+

+Examples

+

(x ++ y - increment(z))*3 // single expression

+

{ +a:= 1, b:= true +} // compound expression, field expression list

+

{ +1, true +} // compound expression, value list

+


+

+

+7.1 Operators

+

+TTCN‑3 supports a number of predefined +operators that may be used in the terms of TTCN‑3 +expressions. The predefined operators fall into seven categories:

+

+a) arithmetic operators;

+

+b) list operator;

+

+c) relational operators;

+

+d) logical operators;

+

+e) bitwise operators;

+

+f) shift operators;

+

+g) rotate operators.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Values used as the operands of operators shall be completely +initialized, except for those operands for which it is explicitly +allowed to be partially initialized (see clause 11.1).

+

+These operators are listed in table 5.

+

+Table 5: List +of TTCN‑3 operators

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Category

+
+

Operator

+
+

Symbol + or Keyword

+
+

Arithmetic + operators

+
+

addition

+
+

+

+
+

subtraction

+
+

-

+
+

multiplication

+
+

*

+
+

division

+
+

/

+
+

modulo

+
+

mod

+
+

remainder

+
+

rem

+
+

String + operators

+
+

concatenation

+
+

&

+
+

Relational + operators

+
+

equal

+
+

==

+
+

less + than

+
+

<

+
+

greater + than

+
+

>

+
+

not + equal

+
+

!=

+
+

greater + than or equal

+
+

>=

+
+

less + than or equal

+
+

<=

+
+

+ Logical + operators

+
+

logical + not

+
+

not

+
+

logical + and

+
+

and

+
+

logical + or

+
+

or

+
+

logical + xor

+
+

xor

+
+

+ Bitwise + operators

+
+

bitwise + not

+
+

not4b

+
+

bitwise + and

+
+

and4b

+
+

bitwise + or

+
+

or4b

+
+

bitwise + xor

+
+

xor4b

+
+

Shift + operators

+
+

shift + left

+
+

<<

+
+

shift + right

+
+

>>

+
+

Rotate + operators

+
+

rotate + left

+
+

<@

+
+

rotate + right

+
+

@>

+
+
+

+

+

+

+The precedence of these operators is shown in +table 6. Within any row in this table, the listed operators have +equal precedence. If more than one operator of equal precedence +appears in an expression, the operations are evaluated from left to +right. Parentheses may be used to group operands in expressions, in +which case a parenthesized expression has the highest precedence for +evaluation.

+

+Table 6: Precedence of Operators

+
+ + + + + + + + + + + + + + +
+

Priority

+
+

Operator + type

+
+

Operator

+
+

+ highest

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

+
+

+

Lowest

+
+

+
+

+

+ Unary

+

+ Binary

+

+ Binary

+

+ Unary

+

+ Binary

+

+ Binary

+

+ Binary

+

+ Binary

+

+ Binary

+

+ Binary

+

+ Unary

+

+ Binary

+

+ Binary

+

Binary

+
+

+ ( + … )

+

+ +, + - +

+

+ *, + /, + mod, + rem

+

+ +, + -, &

+

+ not4b

+

+ and4b

+

+ xor4b

+

+ or4b

+

+ <<, + >>, <@, @>

+

+ <, + >, <=, >= +

+

+ ==, + !=

+

+ not

+

+ and

+

+ xor

+

or

+
+
+

+

+

+

+7.1.1 Arithmetic operators

+

+The arithmetic operators represent the operations of addition, +subtraction, multiplication, division, modulo and remainder. Operands +of these operators shall be of integer +values (including derivations of integer) +or floating-point numbers (including derivations of float, +containing numeric values only), except for mod +and rem which shall +be used with integer +(including derivations of integer) +types only.

+

+NOTE: The special float values infinity, +-infinity and +not_a_number are +not to be used with arithmetic operators.

+

+With integer types, +the result type of arithmetic operations is integer. +With float types, the result type of arithmetic operations is float.

+

+In the case where plus (+) or minus (-) is used as the unary operator +the rules for operands apply as well. The result of using the minus +operator is the negative value of the operand if it was positive and +vice versa. The result of using the plus operator is the value of the +operand, i.e. a positive value if the operand value was positive and +a negative value if the operand value was negative.

+

+The result of performing the division operation (/) on two:

+

+a) integer values +gives the whole integer +part of the value resulting from dividing the first integer +by the second (i.e. fractions are discarded);

+

+b) numeric float +values gives the float +value resulting from dividing the first float +by the second (i.e. fractions are not discarded).

+

+The operators rem +and mod +compute on operands of type integer +and have a result of type integer. +The operations x +rem +y and x +mod +y compute the rest that remains +from an integer division of x +by y. +Therefore, they are only defined for non-zero operands y. +For positive x +and y, +both x +rem +y +and x +mod +y +have the same result but for negative arguments they differ.

+

+Formally, mod +and rem +are defined as follows:

+

x +rem y = x +- y * (x/y)

+

x +mod y = x +rem +|y| when x >= 0

+

= +0 when x < 0 and x rem +|y| = 0

+

= +|y| + x rem +|y| when x < 0 and x rem +|y| < 0

+


+

+

+Table 7 illustrates the difference between the +mod +and rem +operator:

+

+Table 7: Effect of mod and rem +operator

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

x

+
+

-3

+
+

-2

+
+

-1

+
+

0

+
+

1

+
+

2

+
+

3

+
+

x + mod 3

+
+

0

+
+

1

+
+

2

+
+

0

+
+

1

+
+

2

+
+

0

+
+

x + rem 3

+
+

0

+
+

-2

+
+

-1

+
+

0

+
+

1

+
+

2

+
+

0

+
+
+

+

+

+

7.1.2 List operator

+

+The predefined list operator (&) performs +concatenation of values of string types, record +of, set +of, or array +of the same root types. The operation is a simple concatenation from +left to right. No form of arithmetic +addition is implied. The result type is the root type of the +operands.

+

+NOTE 1: In case of the list types, both the outer type (i.e. record +of, set +of or array) +and the iterated inner type need to have the same root type in a +recursive manner.

+

+NOTE 2: It is also possible to concatenate two +or more value list notation expressions if the result is to be used +as a record +of or array +of the same root type as the concatenated expressions.

+

+EXAMPLE:

+

'1111'B +& '0000'B & '1111'B gives '111100001111'B

+

+ {1,2} +& {3,4} & {5,6} gives the following record of integer +{1,2,3,4,5,6} +

+


+

+

+7.1.3 Relational operators

+

+The predefined relational operators are +equality (==), +less than (<), +greater than (>), +non‑equality to (!=), +greater than or equal to (>=) +and less than or equal to (<=). +The result type of all these operations is boolean.

+

+The relational operators less than (<), +greater than (>), +greater than or equal to (>=), +and less than or equal to (<=) +shall have only operands of type integer +(including derivations of integer), +float +(including derivations of float), +or instances of the same enumerated +type. It is not allowed to compare instances of different root types. + +

+

+Operands of equality (==) and non-equality (!=) shall be completely +initialized values or field references of type compatible root types +and the values or field references being compared shall obey the +following rules. This implies that instances of types not mentioned +below shall not be operands of equality and non-equality.

+

+NOTE: As address is +more a predefined type name than a distinct type with its own +properties, the same rules apply to an address +type and to its derivatives as the rules were if the type was defined +with a name different from address.

+
    +
  • + Two field references are equal if the referenced fields are both + optional fields + and both fields are set to omit + or if both referenced fields (regardless if they are optional or + not) are initialized with values and these values are equal. A field + reference is equal to a value if the referenced field is initialized + with a value and both values are equal.

    +
  • + Two integer values are equal if and only if they contain the same + value. Otherwise, normal mathematical ordering is applied. +

    +
  • + Two floating-point numbers are equal if and only if they contain the + same value. The values minus zero and plus zero are two distinct + values (e.g. they are encoded differently in some standardized + languages) and minus zero is less than plus zero, which represents + zero. Otherwise, normal mathematical ordering is applied. The + special values ‑infinity, + infinity and + not_a_number are + equal to themselves only. The special value ‑infinity + is less than any other float value. The special value infinity + is greater than any numerical float values and -infinity. + The special value not_a_number + is greater than any other float value (including infinity).

    +
  • + Two charstring or two universal charstring values are equal if and + only if they have equal lengths and the characters at all positions + are the same.

    +
  • + For values of bitstring, hexstring or octetstring types, the same + equality rule applies as for charstring values with the exception, + that fractions which shall equal at all positions are bits, + hexadecimal digits or pairs of hexadecimal digits accordingly.

    +
  • + Two record values, or set values are equal respectively if and only + if they are mutually compatible with the type of the other operand + (see clause 6.3), the actual values of all present fields are equal + to their corresponding fields and all fields corresponding to + omitted fields are also omitted in the peer value. +

    +
  • + Two record of values, set of values or array + values, respectively, are equal if and only if they are mutually + compatible with the type of the other operand (see clause 6.3) and + the actual values of all their elements are equal. Record of values + and array values may also be compared, in which case the + corresponding record of type of the array is being + considered.

    +
  • + Values of the same union type, and values of different union types + in which at least one of the alternatives is compatible with the + other type (see clause 6.3.2.4) can be compared (independent if a + compatible alternative is the selected one or not). Two values of + union types are equal if and only if in both values the name of the + selected alternative is identical, they are compatible with the type + of the other value, and the actual values of the chosen fields are + equal.

    +
  • + Values of the same or any two anytype types can be compared. For + anytype values the same rule apply as to union values, with the + addition that names of types defined with the same name in different + modules do not denote the same name of the selected alternatives.

    +
  • + Two default or two component values are equal if and only if they + contain the same value (i.e. they designate the same default or test + component, independent of the actual state of the denoted object).

    +
  • + It is also possible to use compound expressions (field assignment or + value list notation) directly as operands of comparison operations + of structured types. If there is a compound expression on both sides + of the comparison operator, they shall both be value list notation + expressions where the elements shall be of the same root type.

    +
+

+EXAMPLE:

+

+ // +Given

+

+ type set S1 {

+

+ integer a1 optional,

+

+ integer a2 optional,

+

+ integer a3 optional

+

+ };

+


+

+

type set S2 {

+

integer b1 optional,

+

integer b2 optional,

+

integer b3 optional

+

};

+


+

+

type set S3 {

+

integer c1 optional,

+

integer c2 optional,

+

};

+


+

+

type set +of +integer SI;

+


+

+

type union U1 {

+

integer d1,

+

integer d2,

+

};

+


+

+

type union U2 {

+

integer e1,

+

integer e2,

+

};

+


+

+

type union U3 {

+

integer d1,

+

integer d2,

+

boolean d3

+

};

+


+

+

// +And

+

const S1 s1 := { +a1 := 0, a2 := omit, +a3 := 2 };

+

// +Notice that the order of defining values of the fields does not +matter

+

const S2 s2a := { +b1 := 0, b3 := 2, b2 := omit +};

+

const S2 s2b := { +b2 := 0, b3 := 2, b1 := omit +};

+

const S3 s3 := { +c1 := 0, c2 :=2 };

+

var SI v_si:= { +0, -, 2 };

+

const SI si := { +0, 2 };

+

const U1 u1 := { +d1:= 0 };

+

const U2 u2 := { +e1:= 0 };

+

const U3 u3; := { +d1:= 0 };

+


+

+

+ // +Then

+

+ s1 +== s2a;

+

+ // +returns true

+

+ s1 +== s2b;

+

// +returns false, +because neither a1 nor a2 are equal to their counterparts

+

// +(the corresponding element is not omitted)

+

s1 +== s3;

+

// +returns false, +because the effective value structures of s1 and s3 are not +compatible

+

s1 +== v_si;

+

// +causes test case error as v_si is not completely initialized
// +(2nd element is left uninitialized)

+

s1 +== si;

+

// +returns false, +as the counterpart of the omitted a2 is 2,

+

// +but the counterpart of a3 is undefined +

+

s3 +== si;

+

// +returns true

+

u1 +== u2;

+

// +causes error as U1 and U2 have no common subset of alternatives

+

u1 +== u3;

+

// +returns true, +as alternatives with the same names are chosen and +

+

// +the actual values in the selected alternatives are equal

+

+ { +0, omit, 2 } == s1;

+

+ // +returns true

+

+ s2a +== { b1 := 0, b2:= omit, b3 := 2 };

+

+ // +returns true

+

+ { +s1, s2b } == { s2a, s1 };

+

+ // +returns false because s2b != s1

+

+ { +s1, s2b, s2a } == { s1 };

+

+ // +returns false because of different length

+

+ s1.a1 +== s2a.b1;

+

+ // +returns true, both fields are initialized with values and the values +are equal

+

+ s1.a2 +== s2a.b2;

+

+ // +returns true, both fields are omit

+

s1.a1 +== s2a.b2;

+

+ // returns false, value vs. omit

+

+ s1.a1 +== omit;

+

+ // +error, omit is neither a value nor a field reference

+

s1.a2 +== 3;

+

+ // +false, omit vs. value

+


+

+

7.1.4 Logical operators

+

+The predefined boolean +operators perform the operations of negation, logical and, +logical or +and logical xor. +Their operands shall be of root type boolean. +The result type of logical operations is boolean.

+

+The logical not +is the unary operator that returns the value true +if its operand was of value false +and returns the value false +if the operand was of value true.

+

+The logical and +returns the value true +if both its operands are true; +otherwise it returns the value false. + +

+

+The logical or +returns the value true +if at least one of its operands is true; +it returns the value false +only if both operands are false. + +

+

+The logical xor +returns the value true +if one of its operands is true; +it returns the value false +if both operands are false +or if both operands are true.

+

+Short circuit evaluation for boolean +expressions is used, i.e. the evaluation of operands of +logical operators is stopped once the overall result is known: +in the case of the and +operator, if the left argument evaluates to false, +then the right argument is not +evaluated and the whole expression +evaluates to false. +In the case of the or +operator, if the left argument evaluates to true, +then the right argument is not evaluated and the whole expression +evaluates to true.

+

7.1.5 Bitwise operators

+

+The predefined bitwise operators perform the operations of bitwise +not, bitwise and, +bitwise or and +bitwise xor. These +operators are known as not4b, +and4b, or4b +and xor4b +respectively. +

+

+NOTE: To be read as "not for bit", "and for bit", +etc.

+

+Their operands shall be of root type +bitstring, +hexstring +or octetstring. +In the case of and4b, +or4b +and +xor4b +the operands shall be of the same root types. +The result type of the bitwise +operators shall be the root type of the operands.

+

+The bitwise not4b +unary operator inverts the +individual bit values of its operand. For each bit in the operand a 1 +bit is set to 0 and a 0 bit is set to 1. That is:

+

not4b +'1'B +gives '0'B

+

not4b +'0'B +gives '1'B

+


+

+

+EXAMPLE 1:

+

not4b +'1010'B +gives '0101'B

+

not4b +'1A5'H +gives 'E5A'H

+

not4b +'01A5'O +gives 'FE5A'O +

+


+

+

+The bitwise and4b +operator accepts two operands of equal length. For each corresponding +bit position, the resulting value is a 1 if both bits are set to 1, +otherwise the value for the resulting bit is 0. That is:

+

'1'B +and4b +'1'B gives '1'B

+

'1'B +and4b +'0'B gives '0'B

+

'0'B +and4b +'1'B gives '0'B

+

'0'B +and4b +'0'B gives '0'B

+


+

+

+EXAMPLE 2:

+

+ '1001'B +and4b +'0101'B gives '0001'B

+

'B'H +and4b +'5'H gives '1'H

+

'FB'O +and4b +'15'O gives '11'O

+


+

+

+The bitwise or4b +operator accepts two operands of equal length. For each corresponding +bit position, the resulting value is 0 if both bits are set to 0, +otherwise the value for the resulting bit is 1. That is:

+

+ '1'B +or4b +'1'B gives '1'B

+

'1'B +or4b +'0'B gives '1'B

+

'0'B +or4b +'1'B gives '1'B

+

'0'B +or4b +'0'B gives '0'B

+


+

+

+EXAMPLE 3:

+

+ '1001'B +or4b +'0101'B gives '1101'B

+

'9'H +or4b +'5'H gives 'D'H

+

'A9'O +or4b +'F5'O gives 'FD'O

+


+

+

+The bitwise xor4b +operator accepts two operands of equal length. For each corresponding +bit position, the resulting value is 0 if both bits are set to 0 or +if both bits are set to 1, otherwise the value for the resulting bit +is 1. That is:

+

'1'B +xor4b +'1'B gives '0'B

+

'0'B +xor4b +'0'B gives '0'B

+

'0'B +xor4b +'1'B gives '1'B

+

'1'B +xor4b +'0'B gives '1'B

+


+

+

+EXAMPLE 4:

+

'1001'B +xor4b +'0101'B gives '1100'B

+

'9'H +xor4b '5'H + gives 'C'H

+

'39'O +xor4b +'15'O gives '2C'O

+


+

+

7.1.6 Shift operators

+

+The predefined shift operators perform the shift left (<<) +and shift right (>>)operations. +Their left-hand operand shall be of root type +bitstring, +hexstring or +octetstring. +Their right-hand operand shall be a non-negative integer. +The result type of these operators shall be the same as the root type +of the left operand.

+

+The shift operators behave differently based upon the type of their +left-hand operand. If the type of the left-hand operand is:

+

+a) bitstring then +the shift unit applied is 1 bit;

+

+b) hexstring then +the shift unit applied is 1 hexadecimal digit;

+

+c) octetstring then +the shift unit applied is 1 octet.

+

+The shift left (<<) +operator accepts two operands. It shifts the left-hand operand by the +number of shift units to the left as specified by the right-hand +operand. Excess shift units (bits, hexadecimal digits or octets) are +discarded. For each shift unit shifted to the left, a zero ('0'B, +'0'H, or '00'O determined according to the type of the left­-hand +operand) is inserted from the right-hand side of the left operand.

+

+EXAMPLE 1:

+

'111001'B +<< 2 + gives '100100'B

+

'12345'H +<< 2 + gives '34500'H

+

'1122334455'O +<< (1+1) + gives '3344550000'O

+


+

+

+The shift right (>>)operator +accepts two operands. It shifts the left-hand operand by the number +of shift units to the right as specified by the right-hand operand. +Excess shift units (bits, hexadecimal digits or octets) are +discarded. For each shift unit shifted to the right, a zero ('0'B, +'0'H, or '00'O determined according to the type of the left-hand +operand) is inserted from the left-hand side of the left operand.

+

+EXAMPLE 2:

+

'111001'B +>> 2 gives '001110'B +

+

'12345'H +>> 2 gives '00123'H

+

'1122334455'O +>> (1+1) gives '0000112233'O

+


+

+

7.1.7 Rotate operators

+

+The predefined rotate operators perform the rotate left (<@) +and rotate right (@>) +operators. Their left-hand operand shall be of root type +bitstring, +hexstring, +octetstring, +charstring, +universal +charstring, +record of, or set +of. Their right-hand operand shall be a non-negative +integer. The result +type of these operators shall be the same as the root type of the +left-hand operand.

+

+NOTE: Please note that the root types of arrays is record +of, therefore arrays are allowed as left-hand operands of +rotate operators.

+

+The rotate operators behave differently based upon the type of their +left-hand operand. If the type of the left-hand operand is:

+

+a) bitstring then +the rotate unit applied is 1 bit;

+

+b) hexstring then +the rotate unit applied is 1 hexadecimal digit;

+

+c) octetstring then +the rotate unit applied is 1 octet;

+

+d) charstring or +universal +charstring then +the rotate unit applied is one character;

+

+e) record of, set of, or +array then the rotate unit applied is one element.

+

+The rotate left (<@) +operator accepts two operands. It rotates the left-hand operand by +the number of shift units to the left as specified by the right-hand +operand. Excess shift units (bits, hexadecimal digits, octets, +characters, or elements) are re‑inserted into the left-hand +operand from its right-hand side.

+

+EXAMPLE 1:

+

'101001'B +<@ 2 +gives '100110'B

+

'12345'H +<@ 2 +gives '34512'H

+

'1122334455'O +<@ (1+2) + gives '4455112233'O

+

"abcdefg" +<@ 3 + gives "defgabc"

+


+

+

+The rotate right (@>) +operator accepts two operands. It rotates the left-hand operand by +the number of shift units to the right as specified by the right-hand +operand. Excess shift units (bits, hexadecimal digits, octets, +characters, or elements) are re‑inserted into the left-hand +operand from its left-hand side.

+

+EXAMPLE 2:

+

+ '100001'B +@> 2 + gives '011000'B

+

'12345'H +@> 2 + gives '45123'H

+

'1122334455'O +@> (1+2) + gives '3344551122'O

+

"abcdefg" +@> 3 + gives +"efgabcd"

+


+

+

+7.2 Field references and list elements

+

+Within expressions, fields of record and set types are referenced +with the dot notation ".field". +Elements of record of, set of, array and string types are referenced +with the index notation "[index]". +Dot and brackets have the same binding power. Field references and +list elements are evaluated from left to right.

+

+8 Modules

+

+The principal building blocks of TTCN‑3 +are modules. A module may define a fully executable test suite or +just a library. A module may refer to the TTCN-3 +language version and to package versions being used. A module +consists of a (optional) definitions part, and a (optional) module +control part.

+

+NOTE: The term test suite is synonymous with a +complete TTCN‑3 module containing +test cases and a control part.

+

+The transfer syntax of TTCN-3 modules shall be UTF-8, i.e. each +character of the module shall be individually encoded and decoded +according to the UCS Transformation Format 8 (UTF-8) as defined in +annex R of ISO/IEC 10646 [2] and no characters not corresponding +to any character of the module shall be present.

+

+8.1 Definition of a module

+

+A module is defined with the keyword module.

+

+NOTE 1: The treatment of TTCN‑3 +modules in files, repositories and alike is outside the scope of the +present document.

+

+Syntactical Structure

+

+module +ModuleIdentifier +[ language +FreeText { "," +FreeText } +] "{"

+

[ +ModuleDefinitionsPart ]

+

[ +ModuleControlPart ]

+

+"}"

+

+
+

+

+Semantic Description

+

+A TTCN‑3 +module groups a set of (typically cohesive) TTCN‑3 +definitions. TTCN‑3 modules have +an explicit import interface to use definitions from other TTCN‑3 +or non-TTCN‑3 modules. It is +possible to hide definitions in a TTCN‑3 +module (see clause 8.2.5). TTCN‑3 +modules can be compiled/interpreted separately. They are reusable and +parameterizable.

+

+Module names are of the form +of a TTCN‑3 identifier. +

+

+NOTE 2: The module identifier is the informal text name of the +module.

+

+In addition, a module specification can carry an optional attribute +identified by the language +keyword that identifies the edition of the TTCN‑3 language, in +which the module is specified. The following language strings are to +be used:

+

+ "TTCN‑3:2001" +- to be used with modules complying with version 1.1.2 of the present +document (see annex H).
"TTCN‑3:2003" +- to be used with modules complying with version 2.2.1 of the present +document (see annex H).
"TTCN‑3:2005" +- to be used with modules complying with version 3.1.1 of the present +document (see annex H).
"TTCN‑3:2007" +- to be used with modules complying with version 3.2.1 of the present +document (see annex H).
"TTCN‑3:2008" +- to be used with modules complying with version 3.3.2 of the present +document (see annex H).
"TTCN‑3:2008 +Amendment 1" - to be used with modules complying +with version 3.4.1 of the present document
(see annex +H).
"TTCN‑3:2009" +- to be used with modules complying with version 4.1.1 of the present +document (see annex H).
"TTCN‑3:2010" +- to be used with modules complying with version 4.2.1 of the present +document (see annex H).
"TTCN‑3:2011" +- to be used with modules complying with version 4.3.1 of the present +document (see annex H).
"TTCN‑3:2012" +- to be used with modules complying with version 4.4.1 of the present +document (see annex H).
"TTCN‑3:2013" +- to be used with modules complying with the present document.

+

+

+

+

+Furthermore, the optional attribute identified by the language +keyword may identify package versions being used by this module. The +package tags are defined in ES 202 781 [i.11], ES 202 782 +[i.14], ES 202 784 [i.12], and ES 202 785 [i.13]. +The language identifier and the package identifier are to be written +as a comma-separated list.

+

+Restrictions

+

+In addition to the general static rules of TTCN 3 given in clause 5, +the following restrictions apply:

+
    +
  1. + At most one language string per module shall be given to define the + core language version in which the module is defined.

    +
  2. + Per extension package, at most one extension package string of that + extension package shall be used by a module.

    +
+

+Examples

+

module +MyTestSuite language +"TTCN‑3:2003"

+

{ +… }

+


+

+

+8.2 Module definitions part

+

+The module definitions part specifies the +top-level definitions of the module and may import visible +identifiers from other modules. Visibility rules are given in +clause 8.2.5. Scope rules for declarations made in the module +definitions part and imported declarations are given in clause 5.3. +Those language elements which may be defined in a TTCN‑3 +module are listed in table 1. Every definition can be associated with +attributes using the with statement defined in clause 27. +Visible module definitions may be imported by other modules. +

+

+Syntactical Structure

+

{ + +

+

[ +Visibility +] (

+

TypeDef +|

+

+ ConstDef +|

+

+ TemplateDef +|

+

+ ModuleParDef +|

+

+ FunctionDef +|

+

+ SignatureDef +|

+

+ TestcaseDef +|

+

+ AltstepDef +|

+

+ ImportDef +|

+

+ GroupDef +|

+

+ ExtFunctionDef +|

+

+ FriendDef

+

) +[ WithStatement +] +

+

[ +";" ]

+

}+

+


+

+

+Semantic Description

+

+Definitions in the module definitions part may be made in any order. +

+

+Such definitions, i.e. top-level definitions outside of other scope +units, are globally visible within the module. They may be used +elsewhere in the module. This includes identifiers imported from +other modules. +

+

+Declarations of dynamic language elements such as variables or timers +shall only be made in the control part, test cases, functions, +altsteps or component types. +

+

+TTCN‑3 does not support the declaration of variables in the +module definitions part, i.e. global variables cannot be defined in +TTCN‑3. However, variables defined in a test component type may +be used by all test cases, functions etc. running on components of +that component type and variables defined in the control part provide +the ability to keep their values independently of test case +execution.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

module +MyModule

+

{ // +This module contains definitions only +

+

:

+

const +integer MyConstant +:= 1;

+

type +record MyMessageType { … }

+

:

+

function +TestStep(){ … }

+

:

+

}

+


+

+

8.2.1 Module +parameters

+

+Module parameters define a set of values that +are supplied by the test environment at run-time. Module +parameters do not change their value during test execution. +They can be used on right hand side of +assignments, in expressions, in actual +parameters, and in template definitions, but not within type +definitions.

+

+Syntactical Structure

+

+Single type, single module parameter form:

+

+[ +Visibility +] modulepar +ModuleParType +ModuleParIdentifier +[ ":=" ConstantExpression +] ";"

+


+

+

+Single type, multiple module parameter form:

+

+[ +Visibility +] modulepar +ModuleParType

+

{ +ModuleParIdentifier +[ ":=" ConstantExpression +] "," +}

+

ModuleParIdentifier +[ ":=" ConstantExpression +] ";"

+


+

+

+Semantic Description

+

+Module parameters behave as global +constants at run-time. For module parameterization, TTCN-3 only +supports value parameterization which has to be resolved static at +start of run-time.

+

+Module parameters allow to customize a TTCN‑3 test suite for a +specific IUT, test setup or test campaign. Module parameters are +declared by specifying the type and listing their identifiers +following the keyword modulepar.

+

+It is allowed to specify default values for module parameters. This +shall be done by an assignment in the module parameter list. A +default value can merely be assigned at the place of the declaration +of the module parameter.

+

+If the test system does not provide an actual run-time value for a +module parameter, the default value shall be used during test +execution, otherwise the actual value provided by the test system. +Actual run-time values shall be literals only.

+

+Visible module parameters can be imported.

+

+Optional fields of record and set module parameters or module +parameter fields can be initialized explicitly or implicitly. For +implicit initialization of the optional fields of a module parameter +or a module parameter field, an optional +attribute with the value "implicit +omit" (see clause 27.7) shall be associated with it +either directly or via the attribute distribution (scoping) mechanism +(see clause 27.1.1).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) During test execution these values shall be treated as constants.

+

+b) Module parameters shall not be of port type, default type or +component type.

+

+c) A module parameter shall only be of type address if the address +type is explicitly defined within the associated module.

+

+d) Module parameters shall be declared within the module definition +part only.

+

+e) More than one occurrence of module parameters declaration is +allowed but each parameter shall be declared only once (i.e. +redefinition of the module parameter is not allowed).

+

+f) The constant expression for the default value of a module +parameter shall respect the limitations given in clause 16.1.4.

+

+g) Module parameters shall not be used in type or array definitions.

+

+Examples

+

module +MyTestSuiteWithParameters

+

{ + +

+

// +single type, single module parameter, which is per default public

+

modulepar +boolean +TS_Par0 := true;

+


+

+

// +single type, multiple module parameters with an explicit public +visibility

+

public +modulepar +integer +TS_Par1, TS_Par2 := 1 + char2int("a");

+


+

+

+ ...

+

}

+


+

+

+8.2.2 Groups of definitions

+

+In the module definitions part, definitions can be collected in named +groups. Grouping is done to aid readability and +to add logical structure to the module if required. If +necessary, the dot notation shall be used to identify sub-groups +within the group hierarchy uniquely, e.g. for the import of a +specific sub-group.

+

+Syntactical Structure

+

+[ +public ] +group +GroupIdentifier +"{" +

+

+ { +ModuleDefinition +[ ";" ] } +

+

+"}"

+


+

+

+Semantic Description

+

+A group of definitions can be specified wherever a single definition +is allowed. Groups may be nested, i.e. groups may contain other +groups. This allows the test suite specifier to structure, among +other things, collections of test data or functions describing test +behaviour.

+

+Groups and nested groups have no scoping. +Please note however, attributes given to a group by an associated +with statement apply to all elements of a group (see clause 27). +Import statements may import groups so that all visible elements of a +group are imported (see clause 8.2.3.3).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Group identifiers across the whole module need not necessarily be + unique. However, top-level group identifiers and all group + identifiers of subgroups of a single group shall be unique.

    +
  2. + Only public + visibility can be defined for groups as they are always public.

    +
+

+Examples

+

+ module +MyModule {

+

:

+

// +A collection of definitions +

+

group +MyGroup {

+

const +integer +MyConst:= 1;

+

+:

+

type +record MyMessageType +{ … };

+

group +MyGroup1 { // Sub-group with definitions

+

type +record +AnotherMessageType { … };

+

const +boolean +MyBoolean := false

+

}

+

}

+


+

+

// +A group of altsteps +

+

group +MyStepLibrary {

+

group +MyGroup1 { // Sub-group with the same name as the sub-group with +definitions

+

altstep +MyStep11() { … }

+

altstep +MyStep12() { … }

+

+:

+

altstep +MyStep1n() { … }

+

}

+

group +MyGroup2 {

+

altstep +MyStep21() { … }

+

altstep +MyStep22() { … }

+

:

+

altstep +MyStep2n() { … }

+

}

+

}

+

:

+

}

+


+

+

// +An import statement that imports MyGroup1 within MyStepLibrary

+

import +from +MyModule {

+

group +MyStepLibrary.MyGroup1

+

}

+


+

+

+8.2.3 Importing from modules

+

+It is possible to re-use visible definitions +specified in different modules using the import +statement. Every definition in a TTCN‑3 +module has an associated visibility, which is by default public +(see clause 8.2.5).

+

+NOTE: Groups are public +only. Importing a group means that only the visible elements of the +group are being imported.

+

+8.2.3.1 General format of import

+

+An import statement can be used anywhere in the module definitions +part. +

+

+Syntactical Structure

+

+[ +Visibility ] +import +from +ModuleId +

+

+ ( + +

+

+ ( +all [ +except "{" +ExceptSpec +"}" ] ) +

+

+ |

+

+ ( +"{" ImportSpec +"}" )

+

+ )

+

+[ +";" ]

+

+
+

+

+Semantic Description

+

+TTCN‑3 supports the import of the following definitions: module +parameters, user defined types, signatures, constants, data +templates, signature templates, functions, external functions, +altsteps and test cases. Each definition has a name (defines +the identifier of the definition, e.g. a function name), a +specification (e.g. a type specification or a signature of a +function) and in the case of functions, altsteps and test cases an +associated behaviour description. In addition, import +statements of one module can be explicitly imported by another module +(see clause 8.2.3.7). Only definitions or import statements visible +from the importing module can be imported (see clause 8.2.5).

+

+In contrast to module definitions, which are by default public, +import statements are by default private.

+

+EXAMPLE 1a:

+
+ + + + + + + + + + + + + + + + + +
+


+

+
+

Name

+
+

Specification

+
+

Behaviour + description

+
+

+ function

+
+

+ MyFunction

+
+

+ (inout + MyType1 MyPar) return + MyType2
runs on + MyCompType

+
+

+ {

+

+ const + MyType3 MyConst := …;

+

+ : + // further behaviour

+

+ }

+
+
+

+

+

+
+ + + + + + + + + + + + + + + + + +
+


+

+
+

Specification

+
+

Name

+
+

Specification

+
+

type

+
+

record

+
+

MyRecordType

+
+

+ {

+

+ field1 + MyType4,
field2 integer

+

}

+
+
+

+

+

+
+ + + + + + + + + + + + + + + + + +
+


+

+
+

Specification

+
+

Name

+
+

Specification

+
+

template

+
+

MyType5

+
+

MyTemplate

+
+

+ := + {

+

+ field1 + := 1,
field2 := MyConst, // MyConst is a module constant

+

+ field3 + := ModulePar // ModulePar is module parameter

+

}

+
+
+

+

+

+

+Behaviour descriptions have no effect on the import mechanism, +because their internals are considered to be invisible to the +importer when the corresponding functions, altsteps or test cases are +imported. Thus, they are not considered in the following +descriptions.

+

+The specification part of an importable definition contains local +definitions (e.g. field names of structured type definitions or +values of enumerated types) and referenced definitions (e.g. +references to type definitions, templates, constants or module +parameters). For the examples above, this means:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+


+

+
+

Name

+
+

Local + definitions

+
+

Referenced + definitions

+
+

function

+
+

MyFunction

+
+

MyPar

+
+

MyType1, + MyType2, MyCompType

+
+

type

+
+

MyRecordType

+
+

field1, + field2

+
+

MyType4, + integer

+
+

+ template

+
+

+ MyTemplate

+
+

+
+

+
+

+ MyType5, + field1, field2, field3, MyConst, ModulePar

+
+
+

+

+

+

+NOTE 1: The local definitions column refers to identifiers only that +are newly defined in the importable definition. Values assigned to +individual fields of importable definitions, e.g. in template +definitions, may also be considered as local definitions, but they +are not important for the explanation of the import mechanism.

+

+NOTE 2: The referenced definitions field1, field2 and field3 of +template MyTemplate are the field names of MyType5, i.e. they are +referenced via MyType5.

+

+Referenced definitions are also importable definitions, i.e. the +source of a referenced definition can again be structured into a name +and a specification part and the specification part also contains +local and referenced definitions. In other words, an importable +definition may be built up recursively from other importable +definitions.

+

+The TTCN‑3 import mechanism is related to the local and +referenced definitions used in the specification part of the +importable definitions. Table 8 specifies the possible local and +referenced definitions of importable definitions.

+

+Table 8: +Possible local and referenced definitions of importable definitions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Importable + Definition

+
+

Possible + Local Definitions

+
+

Possible + Referenced Definitions

+
+

Module + parameter

+
+


+

+
+

Module + parameter type

+
+

User-defined + type (for all)

+
+


+

+
+


+

+
+
    +
  • enumerated + type

    +
+
+

Concrete + values

+
+


+

+
+
    +
  • structured + type

    +
+
+

Field + names, nested type definitions

+
+

Field + types

+
+
    +
  • port + type

    +
+
+


+

+
+

Message + types, signatures

+
+
    +
  • component + type

    +
+
+

Constant + names, variable names, timer names and port names

+
+

Constant + types, variable types, port types

+
+

Signature

+
+

Parameter + names

+
+

Parameter + types, return type, types of exceptions

+
+

Constant

+
+


+

+
+

Constant + type

+
+

Data + Template

+
+

Parameter + names

+
+

Template + type, parameter types, constants, module parameters, functions

+
+

Signature + template

+
+


+

+
+

Signature + definition, constants, module parameters functions

+
+

Function

+
+

Parameter + names

+
+

Parameter + types, return type, component type (runs + on clause)

+
+

External + function

+
+

Parameter + names

+
+

Parameter + types, return type

+
+

Altstep

+
+

Parameter + names

+
+

Parameter + types, component type (runs
on
+ clause)

+
+

Test + case

+
+

Parameter + names

+
+

Parameter + types, component types (runs + on- and system + clause)

+
+

+ NOTE + 1: For the import of import statements see clause 8.2.3.7.

+

+ NOTE + 2: For the import of groups see clause 8.2.3.3.

+
+
+

+

+

+

+The TTCN‑3 import mechanism distinguishes between the +identifier of a referenced definition and the information +necessary for the usage of a referenced definition within the +imported definition. For the usage, the identifier of a referenced +definition is not required and therefore not imported automatically.

+

+EXAMPLE 1b: Differentiation between information necessary for the +usage and the identifier.

+

module +A {

+

+ type +record +MyRec1 {

+

+ integer field1,

+

+ charstring field2

+

+ }

+

}

+


+

+

module +B {

+

+ import +from A +all;

+

+ type +record +MyRec2 {

+

+ MyRec1 myField1,

+

+ // "myField1" is the local definition, "MyRec1" +is a referenced definition;

+

+ // the name +"MyRec1" shall be imported in this case as is directly +referenced

+

+ boolean myField2

+

+ }

+

}

+


+

+

module +C {

+

+ import +from B +all;

+

+ const +MyRec2 t_MyRec2 := {

+

+ myField1 := { field1 := 5, field2 := "A" },

+

+ // to define myField1 of MyRec2 the name "MyRec1" is +not needed, the

+

+ // information necessary for the +usage is its type information,

+

+ // i.e. names and types of its fields field1 and field2 +

+

+ // which is embeddded in the imported definition of MyRec2

+

+ myField2 := true

+

+ }

+

}

+


+

+

+If an imported definition has attributes +(defined by means of a with +statement) then the attributes shall also be imported. The mechanism +to change attributes of imported definitions is explained in clause +27.1.3.

+

+NOTE 3: If the module has global attributes they are associated to +definitions without these attributes.

+

+The use of import +on single definitions, groups of definitions, definitions of the same +kind, etc. may lead to situations where the same +definition is referred to more than once. +Such cases shall be resolved by the system and definitions shall be +imported only once.

+

+NOTE 4: The mechanisms to resolve such +ambiguities, e.g. overwriting and sending warnings to the user, are +outside the scope of the present document and should be provided by +TTCN‑3 tools.

+

+All import +statements and definitions within import statements are considered to +be treated independently one after the other in the order of their +appearance. +

+

+All TTCN‑3 +modules shall have their own name space +in which all definitions shall be uniquely identified. Name +clashes may occur due to import, +e.g. import from different modules. Name clashes shall be resolved +using qualified name(s) for the imported definition(s), i.e. +prefixing the imported definition (which causes the name clash) by +the identifier of the module in which it has been defined; the prefix +and the identifier shall be separated by a dot (".").

+

+There is one exception to this rule: when in +the context of an enumerated type +(see clause 6.2.4), an enumerated value is clashing with the name of +a definition in the importing module, the enumerated value shall take +precedence and the definition in the importing module shall be +referenced by using its qualified name (see example 4 below in this +clause).

+

+In cases where there are no ambiguities the +prefixing need not (but may) be present when the imported definitions +are used. When the definition is referenced in the same module where +it is defined, the module identifier of the module (the current +module) also may be used for prefixing the identifier of the +definition.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) An import statement shall only be used in the module definitions +part and not be used within a control part, function definition, and +alike.

+

+b) Only top-level visible definitions of a module may be imported. +Definitions which are top-level but invisible to the importing module +or which occur at a lower scope (e.g. local constants defined in +a function) shall not be imported.

+

+c) A definition is imported together with its name and all local +definitions.

+

+NOTE 5: A local definition, e.g. a field name of a user-defined +record type or an enumerated value, has only meaning in the context +of the definitions in which it is defined, e.g. a field name of a +record type can only be used to access a field of the record type and +not outside this context. +

+

+ In particular, importing an enumerated type does not impose the +restriction given in clause 6.2.4 on global names defined in the +importing module.

+

+d) A definition is imported together with all information of +referenced definitions that are necessary for the usage of the +imported definition, independent of the visibility of the referenced +definitions (see clause 8.2.5).

+

+NOTE 6: If module C imports a definition from module B that uses a +type reference defined in module A, the corresponding information +necessary for the usage of that type is automatically imported into +module C (see example 5 below in this clause). Identifiers of +referenced definitions are not automatically imported. +

+

+ In particular, if module C imports global value or template +definitions (e.g. constants, module parameters, templates) or local +definitions (e.g. formal parameters of templates, functions, etc., or +constants and variables of component types) of an enumerated type +from module B, the enumerated values of this type (i.e. the +identifiers) are implicitly and automatically imported to module C. +That is, the enumerated values are known when an enumerated value or +template is used in module C (e.g. when an actual parameter is passed +or a value is assigned to a component variable). Note that this +implicit importing does not impose the restriction given in clause 6.2.4 +on global names defined in module C.

+

+e) If the referenced definitions are wished to be used in the +importing module, they shall be explicitly imported either directly +from its source module or indirectly by importing the import +statements of a module importing it (see clause 8.2.3.7).

+

+f) When importing a function, altstep or test case the corresponding +behaviour specifications and all definitions used inside the +behaviour specifications remain invisible for the importing module.

+

+g) The language specification (see clause 8.1) of the import +statement shall not override the language specification of the +importing module.

+

+h) The language specification of the import statement shall be +identical to the language specification of the source module from +which definitions are imported (see clause 8.2.3.8) provided a +language specification is defined in the source module. If not, the +language specification in the import statement is taken as the +language specification of the source module. If the source module +uses however language concepts not being part of that language +specification, this causes an error for the import statement. +

+

+Examples

+

+EXAMPLE 1: Selected import examples

+

+module +MyModuleA

+

+{ + :

+

+ // +Scope of the imported definitions is global to MyModuleA + +

+

+ import +from +MyModuleB +all; // +import of all definitions from MyModuleB

+

+ import +from +MyModuleC { // import of selected definitions from MyModuleC

+

+ type +MyType1, +MyType2; // import of types MyType1 and MyType2

+

+ template +all // +import of all templates +

+

+ }

+

+ :

+

+ function +MyBehaviourC()

+

+ {

+

+ // +import cannot be used here +

+

+ +:

+

+ }

+

+ :

+

+ control

+

+{

+

+ // +import cannot be used here +

+

+ :

+

+ }

+

+}

+


+

+

+EXAMPLE 2: Use of imported definitions and visibility of definitions +referenced by them

+

+ module +ModuleONE {

+

+
+

+

+ modulepar +integer +ModPar1 := …;

+

+
+

+

+ type +record +RecordType_T1 {

+

+ integer Field1_T1,

+

+ :

+

+ }

+

+
+

+

+ type +record +RecordType_T2 {

+

+ RecordType_T1 Field1_T2,

+

+ :

+

}

+


+

+

const +integer +MyConst := …;

+


+

+

template +RecordType_T2 Template_T2 (RecordType_T1 TempPar_T2):= { // +parameterized template

+

Field1_T2 +:= …,

+

:

+

}

+


+

+

} +// end module ModuleONE

+


+

+


+

+

module +ModuleTWO {

+


+

+

import +from +ModuleONE {

+

template +Template_T2

+

}

+


+

+

// +Only the names Template_T2 and TempPar_T2 will be visible in +ModuleTWO. Please note, that

+

+ // +the identifier TempPar_T2 can only be used when modifying +Template_T2. All information

+

// +necessary for the usage of Template_T2, e.g. for type checking +purposes, are imported

+

// +for the referenced definitions RecordType_T1, Field1_T2, etc., but +their identifiers are +

+

// +not visible in ModuleTWO.

+

// +This means, e.g. it is not possible to use the constant MyConst or to +declare a

+

// +variable of type RecordType_T1 or RecordType_T2 in ModuleTWO without +explicitly importing
// these types.

+


+

+

import +from +ModuleONE {

+

modulepar +ModPar2

+

}

+


+

+

// +The module parameter ModPar2 of ModuleONE is imported from ModuleONE +and

+

// +can be used like an integer constant

+


+

+

} +// end module ModuleTWO

+


+

+


+

+

module +ModuleTHREE {

+


+

+

import +from +ModuleONE all; + // imports all definitions from ModuleONE

+


+

+

type +port MyPortType message +{

+

inout +RecordType_T2 // Reference to a type defined in ModuleONE

+

}

+


+

+

type +component MyCompType {

+

var +integer MyComponentVar := ModPar2; +

+

// +Reference to a module parameter of ModuleONE

+

:

+

}

+


+

+

function +MyFunction () return +integer {

+

return +MyConst // Reference to a module constant of ModuleONE

+

}

+


+

+

+ testcase +MyTestCase (out +RecordType_T2 MyPar) runs +on +MyCompType {

+

+
+

+

+ :

+

+ MyPort.send(Template_T2); +// Sending a template defined in ModuleONE

+

:

+


+

+

} + +

+


+

+

} +// end ModuleTHREE

+


+

+


+

+

module +ModuleFOUR {

+


+

+

import +from ModuleTHREE {

+

testcase +MyTestCase

+

}

+


+

+

// +Only the name MyTestCase will be visible and usable in ModuleFOUR.

+

// +Type information for RecordType_T2 is imported via ModuleTHREE from +ModuleONE and

+

// +Type information for MyCompType is imported from ModuleTHREE. All +definitions

+

// +used in the behaviour part of MyTestCase remain hidden for the user +of ModuleFOUR.

+


+

+

} +// end ModuleFOUR

+


+

+


+

+

+EXAMPLE 3: Handling of name clashes

+

+ module +MyModuleA {

+

+ +:

+

+ type +bitstring +MyTypeA;

+

+

import +from SomeModuleC {

+

type MyTypeA, // +Where MyTypeA is of type character string

+

MyTypeB // +Where MyTypeB is of type character string

+

}

+

+:

+

+ control +{

+

+ +:

+

+ var SomeModuleC.MyTypeA +MyVar1 := "Test String"; // Prefix shall be used +

+

var +MyTypeA MyVar2 := '10110011'B; // This is the original MyTypeA +

+

+:

+

var +MyTypeB MyVar3 := "Test String"; // Prefix need not be +used … +

+

var +SomeModuleC.MyTypeB MyVar3 := "Test String"; // … but it +can be if wished +

+

+:

+

}

+

}

+


+

+

+NOTE 7: Definitions with the same name defined in different modules +are always assumed to be different, even if the actual definitions in +the different modules are identical. For example, importing a type +that is already defined locally, even with the same name, would lead +to two different types being available in the module.

+

+EXAMPLE 4: Name clash between enumerated values and global +definitions

+

module +A {

+

+ type +enumerated +MyEnumType {enumX, enumY, enumZ}

+

+ type +enumerated +MyEnumType2 {enumX, enumY, enumZ}

+

}

+


+

+

module +B {

+

+ import +from A +all;

+

+ const +MyEnumType enumY := enumX; // this is not allowed as enumerated +values restrict +

+

+ // global names (see clause 6.2.4)

+


+

+

+ const +MyEnumType2 enumX := enumX;// this is likewise not allowed

+


+

+

+ const +integer +enumZ := 0;

+


+

+

+ modulepar +MyEnumType px_MyModulePar1 := enumY

+

+ // the default value of the module parameter will be the value +enumY, as the type of +

+

+ // px_MyModulePar1 creates the context of MyEnumType and in this +context enumerated values

+

+ // take precedence over global definition names; note that for the +same context reason there

+

+ // in no name clash between the enumerated values defined in +MyEnumType and in MyEnumType2

+


+

+

+ modulepar +MyEnumType px_MyModulePar2 := B.enumY

+

+ // the default value of the module parameter will be the value +enumX, as the prefix

+

+ // identifies the constant definition enumY unambiguously, which has +the value enumX +

+


+

+

+ modulepar +integer +px_IntegerPar := enumZ;

+

+ // the default value of the module parameter will be 0 as this +assignment is not in the

+

+ // context of an enumerated type, hence no name clash occurs

+


+

+

+ modulepar +MyEnumType px_MyModulePar3 := B.enumX

+

+ // causes an error as px_MyModulePar3 and the constant enumX has +different types

+

}

+


+

+

+EXAMPLE 5: Importing local definitions transitively

+

module +A {

+

+ type enumerated +MyEnum_Type { enumX, enumY, enumZ}

+

+ type record +MyRec { integer +a, integer +b }

+

+ type component +MyComp { var +MyRec v_Rec := { a := 5 } }

+

}

+


+

+

module +B {

+

+ import +from A +all;

+

+ modulepar +MyEnum_Type px_MyModulePar := enumY;

+

+ type component +MyCompUser extends +MyComp {}

+

}

+


+

+

module +C {

+

+ import from +B all;

+

+ testcase +TC() runs on +MyCompUser {

+

+ if +(px_MyModulePar == enumY) {

+

+ // the enumerated value enumY is know in C without explicitly +importing it from A

+

+ setverdict(pass)

+

+ }

+

+ if +(v_Rec.a == 5) {

+

+ v_Rec.b := v_Rec.a;

+

+ // Both the variable name v_Rec and the record field names are +known in C without

+

+ // explicitly importing them from A

+

+ setverdict +(pass)

+

+ }

+

+ }

+

}

+


+

+

+8.2.3.2 Importing single definitions

+

+Single visible definitions can be imported by referring to the +definition kind and the definition name(s). The +import of single definitions can be used in combination with imports +of groups (see clause 8.2.3.3), with imports of definitions of the +same kind (see clause 8.2.3.4), and with imports of import statements +(see clause 8.2.3.7).

+

+Syntactical Structure

+

+[ +Visibility ] +import +from +ModuleId +"{" +

+

+ {

+

+ (

+

+ ( +type { +TypeDefIdentifier + [ "," ] } ) | +

+

+ ( +template + { TemplateIdentifier [ +"," ] } ) | +

+

+ ( +const { +ConstIdentifier [ +"," ] } ) | +

+

+ ( +testcase + { TestcaseIdentifier [ +"," ] } ) | +

+

+ ( +altstep { +AltstepIdentifier [ +"," ] } ) | +

+

+ ( +function + { FunctionIdentifier [ +"," ] } ) | +

+

+ ( +signature +{ SignatureIdentifier [ +"," ] } ) | +

+

+ ( +modulepar +{ ModuleParIdentifier [ +"," ] } ) +

+

+ ) + +

+

+ [ +";" ] +

+

+ }

+

+"}" +[ ";" ]

+

+
+

+

+
+

+

+Semantic Description

+

+See clause 8.2.3. Import of an invisible definition shall cause an +error.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The definition to be imported shall be defined in the module from + which it is to be imported and shall be visible to the importing + module.

    +
  2. + See the restrictions given in clause 8.2.3.

    +
+

+Examples

+

+ import +from +MyModuleA {

+

+ type +MyType1 // imports one type definition from MyModuleA only

+

+ }

+

+
+

+

+ import +from +MyModuleB {

+

+ type +MyType2, Mytype3, MyType4; // imports three types,

+

+ template +MyTemplate1; // imports one template, and

+

+ const +MyConst1, MyConst2 // imports two constants

+

}

+


+

+

+8.2.3.3 Importing groups

+

+Groups of definitions may be imported. The import of groups can be +used in combination with imports of single +definitions (see clause 8.2.3.2), with imports of definitions of the +same kind (see clause 8.2.3.4), and with imports of import statements +(see clause 8.2.3.7).

+

+It is allowed to import sub‑groups (i.e. a group which is +defined within another group) directly, i.e. without the groups in +which the sub-group is embedded. If the name of +a sub-group that should be imported is identical to the name +of another sub-group in the same module (see clause 8.2.2), the dot +notation shall be used to identify the sub-group to be imported +uniquely.

+

+If some visible definitions of a group are wished not to be imported, +their kinds and identifiers shall be listed in the exception list +within a pair of curly brackets following the except +keyword. The all +keyword is also allowed to be used in the exception list; this will +exclude all definitions of the same kind from the import statement.

+

+Syntactical Structure

+

+[ +Visibility +] import +from +ModuleId +"{" +

+

+ {

+

+ ( +group { +QualifiedIdentifier [ +except "{" +ExceptSpec +"}" ] [ "," ] } ) +

+

+ [ +";" ] +

+

+ }

+

+"}" +[ ";" ]

+

+
+

+

+Semantic Description

+

+The effect of importing a group is identical to an import +statement that lists all visible definitions (including sub‑groups) +of this group except of those that are listed in the except +specification. See also clause 8.2.3. Import +statements contained in the group or in its subgroups are not part of +this list, only definitions are. +

+

+It is important to point out, that the except statement does not +exclude the definitions listed from being imported in general; all +statements importing definitions of the same kind can be seen as a +shorthand notation for an equivalent list of identifiers of single +definitions. The except +statement excludes definitions from this single list only.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The group to be imported shall be defined in the module from which + it is to be imported.

    +
  2. + See the restrictions given in clause 8.2.3.

    +
+

+Examples

+

import +from +MyModule { group +MyGroup } // includes all visible definitions from MyGroup

+


+

+

+ import +from MyModule +{

+

+ group +MyGroup +except {

+

+ type +MyType3, +MyType5; // excludes the two types from the import statement, +

+

template +all // +excludes all templates defined in MyGroup +

+

// +from the import statement

+

// +but imports all other visible definitions of MyGroup

+

}

+

}

+


+

+

import +from MyModule +{

+

group +MyGroup + +

+

except +{ type +MyType3 +};// imports all visible types of MyGroup +except +MyType3

+

type +MyType3 // imports MyType3 explicitly

+

}

+


+

+

+8.2.3.4 Importing definitions of the same kind

+

+The all keyword may +be used to import all visible definitions of the same kind of a +module. The all +keyword used with the constant +keyword identifies all visible constants declared in the definitions +part of the module the import statement refers to. Similarly the all +keyword used with the function +keyword identifies all visible functions and all visible external +functions defined in the module the import statement denotes.

+

+If some visible declarations of a kind are wished to be excluded from +the given import statement, their identifiers shall be listed +following the except +keyword.

+

+The import of visible definitions +of the same kind can be used in combination with imports of single +visible definitions (see clause 8.2.3.2), +with imports of groups (see clause 8.2.3.3), and with imports of +import statements (see clause 8.2.3.7).

+

+Syntactical Structure

+

+[ +Visibility +] import +from +ModuleId +"{" +

+

+ {

+

+ (

+

+ ( +type all +[ except { +TypeDefIdentifier + [ "," ] } ] ) |

+

+ ( +template + all [ +except { +TemplateIdentifier [ +"," ] } ] ) |

+

+ ( +const all +[ except { +ConstIdentifier [ +"," ] } ] ) |

+

+ ( +testcase + all [ +except { +TestcaseIdentifier [ +"," ] } ] ) |

+

+ ( +altstep + all [ +except { +AltstepIdentifier [ +"," ] } ] ) |

+

+ ( +function + all [ +except { +FunctionIdentifier [ +"," ] } ] ) |

+

+ ( +signature +all [ +except { +SignatureIdentifier [ +"," ] } ] ) |

+

+ ( +modulepar +all [ +except { +ModuleParIdentifier [ +"," ] } ] )

+

+ ) + +

+

+ [ +";" ] +

+

+ }

+

+"}" +[ ";" ]

+

+
+

+

+Semantic Description

+

+The effect of importing definitions of the same kind is identical to +an import statement +that lists all visible definitions of that kind except of those that +are listed in the except specification. See also clause +8.2.3.

+

+NOTE: If the list of all visible +definitions of that kind except of those that are listed in the +except +specification is empty, the import statement has no effect. This case +does not lead to an error.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + See the restrictions given in clause 8.2.3.

    +
+

+Examples

+

import +from +MyModule {

+

type +all; // +imports all types of MyModule

+

template +all // +imports all templates of MyModule

+

}

+


+

+

import +from MyModule +{

+

type +all +except +MyType3, MyType5; // imports all types except MyType3 and MyType5

+

template +all // +imports all templates defined in Mymodule

+

}

+


+

+

+8.2.3.5 Importing all definitions of a module

+

+All visible definitions of a module definitions +part may be imported using the all +keyword next to the module name. +

+

+If some visible definitions are wished +not to be imported, their kinds and identifiers shall be listed in +the exception list within a pair of curly brackets following the +except keyword. The +all keyword is also +allowed to be used in the exception list; this will exclude all +visible declarations of the same kind from the import statement.

+

+NOTE 1: If the list of all visible +definitions of a module except of those that are listed in the except +specification is empty, the import statement has no effect. This case +does not lead to an error.

+

+NOTE 2: Importing all definitions of a +module imports only definitions declared directly in that module, but +does not import the import statements of that module +(see also clause 8.2.3.7).

+

+Syntactical Structure

+

+[ +Visibility +] import +from +ModuleId +

+

+ all + +

+

+ [ + +

+

+ {

+

+ except +"{" +

+

+ ( +group { +QualifiedIdentifier + [ "," ] } | all +) | +

+

+ ( +type { +TypeDefIdentifier + [ "," ] } | all ) +| +

+

+ ( +template + { TemplateIdentifier [ +"," ] } | all ) +| +

+

+ ( +const { +ConstIdentifier [ +"," ] } | all ) +| +

+

+ ( +testcase + { TestcaseIdentifier [ +"," ] } | all ) +| +

+

+ ( +altstep { +AltstepIdentifier [ +"," ] } | all ) +| +

+

+ ( +function + { FunctionIdentifier [ +"," ] } | all ) +| +

+

+ ( +signature +{ SignatureIdentifier [ +"," ] } | all ) +| +

+

+ ( +modulepar +{ ModuleParIdentifier [ +"," ] } | all ) + +

+

+ "}" + +

+

+ [ +";" ] +

+

+ }

+

+ ]

+

+[ +";" ]

+

+ +

+

+Semantic Description

+

+The effect of importing all visible definitions +of a module is identical to an import +statement that lists all importable definitions of that module except +of those that are listed in the except specification. See also clause +8.2.3.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + If all visible definitions of a module + are imported by using the all keyword, no other form of import + (import of single definitions, import of the same kind, etc.) shall + be used for the same import statement.

    +
  2. + In the set of except statements for an all import, only one except + statement per kind of definition (i.e. for a group, type, etc.) is + allowed.

    +
+

+Examples

+

import +from MyModule +all; // +includes all definitions from MyModule

+


+

+

import +from MyModule +all except {

+

type +MyType3, +MyType5; // excludes these two types from the import statement and

+

template +all // +excludes all templates declared in MyModule, +

+

// +from the import statement

+

// +but imports all other definitions of MyModule

+

}

+


+

+

+8.2.3.6 Import definitions from other TTCN‑3 editions and from +non-TTCN‑3 modules

+

+In cases when visible definitions are +imported from modules from other TTCN‑3 editions or from other +sources than TTCN‑3 modules, the language specification (see +clause 8.1) shall be used to denote the language (may be together +with a version number) of the source (e.g. module, package, library +or even file) from which definitions are imported. It consists of the +language +keyword and a subsequent textual declaration of the denoted language. +

+

+The use of the language specification is optional when importing from +a TTCN‑3 module of the same edition as the importing module. +The TTCN‑3 language identifiers defined in clause 8.1 are to be +used. Package identifiers from ES 202 781 [i.11], +ES 202 782 [i.14], ES 202 784 [i.12] and +ES 202 785 [i.13] can be used in addition. Identifiers for +other languages are defined in the language mapping parts of TTCN‑3, +i.e. in ES 201 873-7 [i.5], ES 201 873‑8 [i.6] +and ES 201 873-9 [i.7].

+

+When an incompatibility is discovered between the language and/or +package identification (including implicit identification by omitting +the language specification) and the syntax of the module from which +definitions are imported, tools shall provide reasonable effort to +resolve the conflict.

+

+Syntactical Structure

+

+[ +Visibility +] import +from +ModuleIdentifier +[ LanguageSpec ] +… [ ";" ]

+

+
+

+

+Semantic Description

+

+TTCN‑3 supports the referencing of elements defined in other +TTCN‑3 editions (versioned elements) or other languages +(foreign elements) from within TTCN‑3 modules. Such +elements can be used in a TTCN‑3 module of a given edition only +if they have a TTCN‑3 view in that TTCN‑3 edition. The +term TTCN‑3 view can be best explained by considering the case +when the definition of a TTCN‑3 element is based on another +TTCN‑3 element, the information content of the referenced +element shall be available and is used for the new definition. For +example, when a template is defined based on a structured type, the +identifiers and types of fields of the base type shall be accessible +and are used for the template definition. In a similar way, when a +base type is a versioned or foreign element it shall provide the same +information content as would be required from a TTCN‑3 type +declaration. The versioned or foreign element, naturally, may contain +more information than required by TTCN‑3. The TTCN‑3 view +of a versioned or foreign element means that part of the information +carried by that element, which is necessary to use it in TTCN‑3. +Obviously, the TTCN‑3 view of a versioned or foreign element +may be the full set or a subset of the information content of that +element but never a superset. There may be versioned or foreign +element without a TTCN‑3 view (zero TTCN‑3 view), i.e. +for some reason no TTCN‑3 definition in the given edition could +be based on them.

+

+To make declarations of versioned or foreign element visible in +TTCN‑3 modules, their names shall be imported just like +definitions in other TTCN‑3 modules of the given edition. When +imported, only the TTCN‑3 view of the versioned or foreign +element will be seen from the importing TTCN‑3 module. There +are two main differences between importing TTCN‑3 elements of +the same editions and versioned or foreign elements:

+
    +
  • + to import from a TTCN‑3 module of another edition of from a + non-TTCN‑3 module the import statement shall contain an + appropriate language identifier string;

    +
  • + only versioned or foreign elements with a TTCN‑3 view of a + given edition are importable into a TTCN‑3 module of that + edition.

    +
+

+Importing can be done automatically using the all directive, in which +case all importable objects shall automatically be selected by the +testing tool, or done manually by listing names of elements to be +imported. Naturally, in the second case only importable elements are +allowed in the list. +

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The language specification may only be omitted if the referenced + module contains TTCN‑3 notation and the TTCN‑3 version + is known.

    +
  2. + Definitions imported from non-TTCN-3 language sources have by + default public visibility provided that no other rules are defined + in the respective language mapping (see ES 201 873-7 [i.5], ES 201 + 873-8 [i.6] or ES 201 873-9 [i.7], respectively). +

    +
+

+Examples

+

module +MyNewModule {

+

+ import +from +MyOldModule language +"TTCN‑3:2003" +{

+

type +MyType

+

+ }

+

}

+


+

+

module +MyNewestModule {

+

+ import +from +MyNewModule language +"TTCN‑3:2010" +{ import +all +};

+

+ // the language specifications shall be identical, see clause 8.2.3.8 + +

+

}

+


+

+

+NOTE: The import mechanism is designed to allow +the re-use of definitions from other TTCN‑3 editions +or from other non-TTCN-3 language +sources. The rules for importing definitions from specifications +written in other languages, e.g. SDL +packages, may follow the TTCN‑3 +rules or may have to be defined separately.

+

+8.2.3.7 Importing of import statements from TTCN-3 modules

+

+Visible import statements of TTCN-3 modules can be imported by other +TTCN‑3 modules. +

+

+Syntactical Structure

+

+[ +Visibility ] +import +from +ModuleIdentifier +[ LanguageSpec ] + +

+

+ "{" +import all +[ ";" ] "}" [ ";" +]

+

+
+

+

+Semantic Description

+

+TTCN‑3 supports importing of visible import statements from +other TTCN-3 modules. This means that import statements of the +module, from which the import statements are imported, are +re-imported to the importing module. For example, if module B imports +the import statements of module A, everything that is imported by A +using import statements visible for module B, is also imported by B. +If another module C imports all import statements from B, then C +imports all what A is importing - provided that the import statements +are visible to modules B and C.

+

+It is not possible to import individual import statements of another +module. +

+

+The import of import statements can be used in combination with +imports of single definitions (see clause 8.2.3.2), +with imports of groups (see clause 8.2.3.3), and with imports of +definitions of the same kind (see clause 8.2.3.4).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The restrictions given in clause 8.2.3.1 apply.

+

+b) The restrictions given in clause 8.2.3.6 apply. +

+

+c) Importing of import statements is only possible from other TTCN-3 +modules, i.e. the language specification (see clause 8.1) shall +denote a TTCN-3 edition only, not a non-TTCN-3 language.

+

+Examples

+

+EXAMPLE: Importing of visible import statements

+

+module +A {

+

+ type +integer +T1;

+

+ type +integer +T2;

+

+ template +T1 t1 := ?;

+

+ template +T2 t2 := *;

+

+ :

+

+}

+

+module +B {

+

+ public +import +from A { +type T1 }

+

+ type +charstring +T2;

+

+ template +T1 t1 := ( 1, 2, 3 );

+

+ :

+

+}

+

+module +C {

+

+ public +import +from B { +import all +} // imports the import statements +only

+

+ public +import +from B { +type T2 } + // imports the type B.T2

+

+ import +from A { +template +all }

+

+ :

+

+}

+

+module +D {

+

+ private +import +from C { +import all +} // imports the import statements only

+

+ :

+

+}

+

+module +E {

+

+ import +from D { +import all +}

+

+ :

+

+}

+

+
+

+

+// +yields the following

+

+// +module A knows +

+

+// +A.T1 (defined)

+

+// +A.T2 (defined)

+

+// +A.t1 (defined)

+

+// +A.t2 (defined)

+

+//

+

+// +module B knows

+

+// +A.T1 (imported)

+

+// +B.T2 (defined)

+

+// +B.t1 (defined)

+

+//

+

+// +module C knows

+

+// +A.T1 (imported from B importing it from A)

+

+// +B.T2 (imported)

+

+// +A.t1 (imported)

+

+// +A.t2 (imported)

+

+//

+

+// +module D knows

+

+// +A.T1 (imported from C importing it from B importing it from A)

+

+// +B.T2 (imported from C importing it from B)

+

+// +A.t2 and A.t2 are not imported as their imports are private to C

+

+//

+

+// +module E "knows" nothing

+

+// +as the imports of D are private and not visible to E

+

+
+

+

+8.2.3.8 Compatibility of language specifications in imports

+

+When importing into a TTCN-3 module, the language specification (see +clause 8.1) of the importing module, the language specification of +the import statement and the language specification of the source +module, where the imported definitions are defined, have to be +compatible according to the following rules.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) A TTCN-3 module of any TTCN-3 edition can import from a non-TTCN-3 +language source provided that a TTCN-3 view for the non-TTCN-3 +language exists (see clause 8.2.3.6).

+

+b) Definitions or import statements are imported according to the +language specification in which the definition or the import +statement is defined. If no language specification is given in this +module, the language specification of the import statement with which +those definitions or import statements are to be imported, is used +instead. If the module, within which the definitions or the import +statements are defined, and the import statement for these +definitions or import statements provide both a language +specification, then they shall be identical. If none of the two has a +language specification, the language specification has to be known +from other sources, which is tool specific.

+

+c) The TTCN-3 language specification in an import statement shall be +lower or equal to the TTCN-3 language specification of the importing +module, i.e. a TTCN-3 module can only import from earlier or same +editions of TTCN-3 but not from later editions.

+

8.2.4 Definition +of friend modules

+

+Modules can define other modules to be friends. +

+

+Syntactical Structure

+

+[ +private ] +friend module ModuleIdentifier +{ "," ModuleIdentifier +} ";"

+


+

+

+Semantic Description

+

+Friendship to modules is defined by the exporting module (the module +that declares the definitions) not by the importing module (the +module that uses the module definitions of another module). +Friendship can be cyclic.

+

+If a module is friend to a module from which it imports top-level +definitions, all top-level definitions with public and friend +visibility are visible to the friend module. For non-friend modules, +public top-level definitions are visible only.

+

+Missing friend modules shall not cause an error.

+

+NOTE: Friend modules can be checked by +tools, however at most warning are to be issued if a friend module is +missing.

+

+Restrictions

+

+In addition to the general static rules of TTCN 3 given in clause 5, +the following restrictions apply:

+

+a) Only private visibility can be defined for friend definitions as +they are always private.

+

+Examples

+

+module +MyModuleA {

+

+ friend +module +MyModuleB,MyModuleC;

+

+}

+

+// +MyModuleB and MyModuleC are friends of MyModuleA

+

+
+

+

+module +MyModuleB {

+

+ friend +module +MyModuleA;

+

+}

+

+// +MyModuleA is friend of MyModuleB

+

+
+

+

+module +MyModuleC {

+

+}

+

+
+

+

+8.2.5 Visibility of definitions

+

+Top-level module definitions and import statements have a visibility, +which can be explicitly set. They are by default public +except for imported and friend definitions. Import definitions are by +default private. +Friend definitions are private +only. Group definitions are public +only. +

+

+Syntactical Structure

+

+[ +public | +friend | +private ]

+


+

+

+Semantic Description

+

+The visibility controls whether a top-level definition or an import +statement is importable by another module.

+

+Three visibilities are distinguished:

+
    +
  • + A top-level definition or + an import statement with public + visibility is importable by any other module.

    +
  • + A top-level definition or + an import statement with friend + visibility is importable by friend modules only (see clause 8.2.4).

    +
  • + A top-level definition or + an import statement with private + visibility cannot be imported at all.

    +
+

+NOTE: As specified in restriction e) of clause 8.2.3.1, this means +that importable definitions are imported together with all +information of referenced definitions that are necessary for the +usage of the importable definition, even if the referenced definition +is private. Only the identifier of the referenced definition is not +visible in the importing TTCN-3 module.

+

+The visibility of groups is always public. +The visibility of imported definitions is by default private. +All other module definitions are by default public.

+

+The visibility of a top-level definition or an import statement +defines their importability by another module. If the top‑level +definition or the import statement is part of a group, this has no +effect on the importability of the module definition. The +importability of a top-level definition by another module is +summarized in table 9, the importability of import statements in +table 10.

+

+Table 9: Visibility and import of +module definitions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Visibility + of module definition +

+
+

Module + definition importable directly by a
non-friend module

+
+

Module + definition importable directly by a
friend module

+
+

Module + definition importable via group import by a non-friend module

+
+

Module + definition importable via group import by a friend module

+
+

public

+
+

yes

+
+

yes

+
+

yes

+
+

yes

+
+

friend

+
+

no

+
+

yes

+
+

no

+
+

yes

+
+

private

+
+

no

+
+

no

+
+

no

+
+

no

+
+
+

+

+

+

+Table 10: Visibility and import of +import statements

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+

Visibility + of import +

+
+

Import + imported by a non-friend module

+
+

Import + imported by a friend module

+
+

public

+
+

yes

+
+

yes

+
+

friend

+
+

no

+
+

yes

+
+

private

+
+

no

+
+

no

+
+
+

+

+

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+module +MyModuleA {

+

+ friend +module +MyModuleC;

+

+ private +type +integer +MyInteger;

+

+ // +MyInteger is not visible to other modules

+

+ friend +type +charstring +MyString;

+

+ // +MyString is visible to friend modules

+

+ public +type +boolean +MyBoolean;

+

+ // +MyBoolean is visible to all modules

+

+}

+

+module +MyModuleB {

+

+ import +from +MyModuleA all; + +

+

+ // +MyString and MyInteger are not visible and are not imported

+

+ // +MyBoolean is imported

+

+}

+

+module +MyModuleC {

+

+ import +from +MyModuleA all; + +

+

+ // +MyInteger is not visible and is not imported

+

+ // +MyString and MyBoolean are imported

+

+}

+

+
+

+

+8.3 Module control part

+

+The module control part may contain local definitions (i.e. constants +or templates), local instances (i.e. variables or timers) and +describe the selection, parameterization and execution order +(possibly repetitive) of the actual test cases. A test case shall be +defined in the module definitions part or imported from another +module, and called in the control part.

+

+The control part of a module calls the test +cases with actual parameters and controls their execution. Program +statements can be used to specify the selection and execution order +of the test cases. Definitions made in +the module control part have local visibility, i.e. can be used +within the control part only.

+

+This is explained in more detail in clause 26.

+

+EXAMPLE:

+

+ module +MyTestSuite

+

+ { + // This module contains definitions … +

+

+ :

+

+ const +integer +MyConstant +:= 1;

+

+ type +record MyMessageType +{ … }

+

+ template +MyMessageType +MyMessage := { … }

+

+ :

+

+ function +MyFunction1() { … }

+

+ function +MyFunction2() { … }

+

+ :

+

+testcase +MyTestcase1() runs +on +MyMTCType { … }

+

+testcase +MyTestcase2() runs +on +MyMTCType { … }

+

+ :

+

+ // +… and a control part so it is executable +

+

+ control

+

+ {

+

+ var +boolean +MyVariable; // local control variable +

+

+ :

+

+ execute( +MyTestCase1()); // sequential execution of test cases +

+

+ execute( +MyTestCase2());

+

+ :

+

+ }

+

}

+


+

+

+9 Port types, component types and test configurations

+

+TTCN‑3 allows the (dynamic) specification +of concurrent test configurations (or configuration for short). A +configuration consists of a set of inter-connected test components +with well-defined communication ports and an explicit test system +interface which defines the borders of the test system (see figure +4).

+

+NOTE: Additional configuration and deployment support for TTCN-3 is +defined in the optional package [i.11].

+

+

+

+Figure 4: +Conceptual view of a typical TTCN‑3 +test configuration

+

+Within every configuration there shall be one +(and only one) Main Test Component (MTC). +Test components that are not MTCs are called parallel test components +or PTCs. The MTC shall be created by the +system automatically at the start of each test case execution. The +behaviour defined in the body of the test case shall execute on this +component. During execution of a test case, other components can be +created dynamically by the explicit use of the create +operation.

+

+Test case execution shall end when the MTC +terminates. All other PTCs are treated equally i.e. there is no +explicit hierarchical relationship among them and the termination of +a single PTC terminates neither other +components nor the MTC. When the MTC +terminates, the test system has to stop all PTCs not terminated by +the moment when the test case execution is ended.

+

+Communication between test components and between the components and +the test system interface is achieved via communication ports (see +clause 9.1).

+

+Test component types and port types, denoted by +the keywords component +and port, +shall be defined in the module definitions part. The actual +configuration of components and the connections between them is +achieved by performing create +and connect +operations within the test case behaviour. The component ports are +connected to the ports of the test system interface by means of the +map +operation (see clause 21.1.1).

+

+9.1 Communication ports

+

+Test components are connected via their ports, +i.e. connections among components and between a component and the +test system interface are port-oriented. Each port is modelled as an +infinite FIFO queue which stores the +incoming messages or procedure calls until they are processed by the +component owning that port (see figure 5).

+

+NOTE: While TTCN‑3 +ports are infinite in principle in a real test system they may +overflow. This is to be treated as a test case error (see clause 24.1).

+

+

+

+Figure 5: The +TTCN‑3 communication port model

+

+TTCN‑3 connections are port-to-port and +port-to-test system interface connections (see figure 6). There are +no restrictions on the number of connections a component may +maintain. One-to-many connections are also allowed (e.g. figure +6 (g) or figure 6 (h)).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The following connections are not allowed (see figure 7):

+
    +
  • + A port owned by a component A shall not be connected with two or + more ports owned by the same component (figures 7 (a) and 7 (e)).

    +
  • + A port owned by a component A shall not be connected with two or + more ports owned by a component B (see figure 7(c)).

    +
  • + A port owned by a component A can only have a one-to-one connection + with the test system interface. This means, connections as shown in + figures 7 (b) and 7 (d) are not allowed.

    +
  • + Connections within the test system interface are not allowed (see + figure 7 (f)).

    +
  • + A port that is connected shall not be mapped and a port that is + mapped shall not be connected (see figure 7 (g)).

    +
+

+b) Since TTCN‑3 allows dynamic configurations and addresses, +the restrictions on connections cannot always be checked at +compile-time. The checks shall be made at run-time and shall lead to +a test case error when failing.

+

+

+

+Figure 6: +Allowed connections

+

+

+

+Figure 7: +NOT allowed connections

+

+9.2 Test system interface

+

+TTCN‑3 is used to test implementations. +The object being tested is known as the Implementation Under Test or +IUT. The IUT +may offer direct interfaces for testing or it may be part of system +in which case the tested object is known as a System Under Test or +SUT. In the minimal case the IUT +and the SUT are equivalent. In the +present document the term SUT is used in +a general way to mean either SUT or IUT.

+

+In a real test environment test cases need to +communicate with the SUT. However, the +specification of the real physical connection is outside the scope of +TTCN‑3. Instead, a well defined +(but abstract) test system interface shall be associated with each +test case. A test system interface definition is identical to a +component definition, i.e. it is a list of all possible communication +ports through which the test case is connected to the SUT.

+

+The test system interface statically defines +the number and type of the port connections to the SUT +during a test run. However, the connections between the test system +interface and the TTCN‑3 test +components are dynamic in nature and may be modified during a test +run by using map +and unmap +operations (see clause 21.1).

+

+A component type definition is used to define +the test system interface because, conceptually, component type +definitions and test system interface definitions have the same form +(both are collections of ports defining possible connection points). +When used as test system interfaces, components cannot make use of +any constants, variables and timers declared in the component type.

+

+Syntactical Structure

+

+The same as a component type definition (see clauses 6.2.10 and 6.2.10.1).

+

+Semantic Description

+

+Generally, a component type reference defining +the test system interface shall be associated with every test case +using more than one test component. The ports of the test system +interface shall automatically be instantiated by the system together +with the MTC when the test case +execution starts.

+

+The operation returning the component reference of the test system +interface is system. +This shall be used to address the ports of the test system.

+

+In the case where the MTC +is the only component that is instantiated during test execution, a +test system interface need not be associated to the test case. In +this case, the component type definition associated with the MTC +implicitly defines the corresponding test system interface.

+

+Variables, timers and constants declared in component types, which +are used as test system interfaces will have no effect.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The same as for component type definitions (see clauses 6.2.10 and + 6.2.10.1).

    +
+

+Examples

+

+EXAMPLE 1: Explicit definition of a test system interface

+

type +component +MyMTCType +

+

{

+

+ var +integer MyLocalInteger;

+

+ timer +MyLocalTimer;

+

+ port +MyMessagePortType PCO1

+

}

+


+

+

type +component MyTestSystemInterface +

+

{

+

port +MyMessagePortType PCO1, PCO2;

+

port +MyProcedurePortType PCO3

+

}

+


+

+

// +MyTestSystemInterface is the test system interface

+

testcase +MyTestcase1 () runs +on +MyMTCType system +MyTestSystemInterface {

+

// +establishing the port connections

+

map(mtc:PCO1, +system:PCO2);

+

// +the testcase behaviour

+

// +…

+

}

+


+

+

+EXAMPLE 2: Implicit definition of a test system interface

+

// +MyMTCType is the test system interface

+

testcase +MyTestcase2 () runs +on +MyMTCType {

+

// +map statements are not needed

+

// +the testcase behaviour

+

// +…

+

}

+


+

+

+10 Declaring constants

+

+TTCN-3 constants are run-time constants. After value assignment, they +do not change their value during test execution. They +can be used on the right hand side of assignments, in +expressions, in actual parameters, and in +template definitions. Constants used within type definitions +have to have values known at compile-time.

+

+Syntactical Structure

+

+const +Type { +ConstIdentifier +[ ArrayDef +] ":=" ConstantExpression +[ "," ] } [ ";" ]

+


+

+

+Semantic Description

+

+A constant assigns a name to a fixed value. A value is assigned only +once to a constant, at the place of its declaration. The constant +does not change its value during test execution. The constant is +defined only once, but can be referenced multiple times in a TTCN-3 +module.

+

+Optional fields of record and set constants or constant fields can be +initialized explicitly or implicitly. For implicit initialization of +the optional fields of a constant or a constant field, an optional +attribute with the value "implicit +omit" (see clause 27.7) shall be associated with it +either directly or via the attribute distribution (scoping) mechanism +(see clause 27.1.1).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Constants shall not be of port type. +

+

+NOTE: The only value that can be assigned to constants of default and +component types is the special value null.

+

+b) Constant expressions initializing constants, +which are used in type and array definitions, shall only +contain literals, predefined functions except of rnd +(see clause 16.1.2), operators specified in clause 7.1, and other +constants obeying the limitations of this clause.

+

+Examples

+

const +integer +MyConst1 := 1;

+

const +boolean +MyConst2 := true, +MyConst3 := false;

+


+

+

+11 Declaring variables

+

+TTCN-3 variables are statically typed variables. Variables are either +value variables to store values or template variables to store +templates.

+

+Variables can be of simple basic types, basic +string types, structured types, special data types (including +subtypes derived from these types) as well as address, component +or default types.

+

+Variables can be declared and used in the module control part, test +cases, functions and altsteps. Additionally, variables can be +declared in component type definitions. These variables can be used +in test cases, altsteps and functions which are running on a given +component type. +

+

+11.1 Value variables

+

+A TTCN-3 value variable stores values. It is +declared by the var +keyword followed by a type identifier and a variable identifier. An +initial value can be assigned at variable declaration.

+

+It may be used at the right hand side as well as at the left hand +side of assignments, in expressions, following the return +keyword in bodies of functions with a return clause in their headers +and may be passed to both value and template-type formal parameters.

+

+Syntactical Structure

+

+var +Type +VarIdentifier +[ ArrayDef +] [ ":=" Expression +]

+

+ { +[ "," ] VarIdentifier +[ ArrayDef +] [ ":=" Expression +] } [ ";" ]

+


+

+

+Semantic Description

+

+A value variable associates a name with the location of a value. A +value variable may change its value during test execution several +times. A value can be assigned several times to a value variable. The +value variable can be referenced multiple times in a TTCN-3 module.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Expression shall be of type Type.

+

+b) Value variables shall store values only.

+

+c) Value variables shall not be declared or used in a module +definitions part (i.e. global variables are not supported in TTCN‑3).

+

+d) Use of uninitialized value variables at other places than the left +hand side of assignments or as actual parameters passed to formal +parameters shall cause an error. +

+

+e) Use of partially initialized value variables at other places than +the left hand side or the right hand side of assignments, as actual +parameters passed to formal parameters, in return statements, or the +left operand to the rotate operator or the operands of the list +concatenation (&) operator shall cause an error.

+

+Examples

+

+ var +integer +MyVar0;

+

+ var +integer +MyVar1 := 1;

+

+ var +boolean +MyVar2 := true, +MyVar3 := false;

+


+

+

+11.2 Template variables

+

+A TTCN-3 template variable stores templates. They are declared by the +var +template +keyword followed by a type identifier and a +variable identifier. An initial content can be assigned at +declaration. In addition to values, template variables may +also store matching mechanisms (see clause 15.7).

+

+Template variables may be used on the right hand side as well as on +the left hand side of assignments, following the return +keyword in bodies of functions defining a template-type return value +in their headers and may be passed as actual parameters to +template-type formal parameters. It is also allowed to assign a +template instance to a template variable or a template variable +field.

+

+Syntactical Structure

+

+var +template [ restriction +] Type +VarIdentifier +[ ArrayDef +] ":=" TemplateBody

+

+ +{ [ "," ] VarIdentifier +[ ArrayDef +] ":=" TemplateBody +} [ ";" ]

+


+

+

+Semantic Description

+

+A template variable associates a name with the location of a template +or a value (as every value is also a template).
A template +variable may change its template during test execution several times. +A template or value can be assigned several times to a template +variable. The template variable can be referenced multiple times in a +TTCN-3 module.

+

+The content of a template variable can be restricted to the matching +mechanisms specific value and omit in the same way as formal template +parameters, see clause 5.4.1.2. The restriction template (omit) +can be replaced by the shorthand notation omit.

+

+NOTE 1: String and list type templates can be concatenated, see +clause 15.11.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Template variables shall not be declared or used in a module +definitions part (i.e. global variables are not supported in TTCN‑3).

+

+b) When used on the right hand side of assignments template variables +shall not be operands of TTCN‑3 operators (see clause 7.1) and +the variable on the left hand side shall be a template variable too.

+

+c) When accessing element of template variables either on the left +hand side or on the right hand side of assignments, the rules given +in clause 15.6 shall apply.

+

+NOTE 2: While it is not allowed to directly +apply TTCN‑3 operations to +template variables, it is allowed to use the dot notation and the +index notation to inspect and modify template variable fields.

+

+d) Use of uninitialized template variables at other places than the +left hand side of assignments or as actual parameters passed to +formal parameters shall cause an error.

+

+e) Use of partially initialized template variables at other places +than the left hand side or the right hand side of assignments, as +actual parameters passed to formal parameters, or in return +statements shall cause an error.

+

+f) If the template variable is restricted, then the template used to +initialize it shall contain only the matching mechanisms as described +in clause 15.8.

+

+g) Template variables, similarly to global and local templates, shall +be fully specified in order to be used in sending and receiving +operations.

+

+h) Restrictions on templates in clause 15 shall apply.

+

+Examples

+

var +template +integer +MyVarTemp1 := ?;

+

var +template +MyRecord +MyVarTemp2 := { field1 := true, +field2 := * },
MyVarTemp3 +:= { field1 := ?, +field2 := MyVarTemp1 };

+


+

+

+12 Declaring timers

+

+TTCN-3 provides a timer mechanism. Timers can +be declared and used in the module control part, test cases, +functions and altsteps. Additionally, timers can be declared in +component type definitions. These timers can be used in test cases, +functions and altsteps which are running on the given component type.

+

+A timer declaration may have an optional +default duration value assigned to it. The timer shall be started +with this value if no other value is specified. The timer value shall +be a non-negative float +value (i.e. greater than or equal to 0.0) where the base unit is +seconds.

+

+In addition to single timer instances, timer arrays can also be +declared. Default duration(s) of the elements of a timer array shall +be assigned using a value array. Default duration(s) assignment shall +use the array value notation as specified in clause 6.2.7. If the +default duration assignment is wished to be skipped for some +element(s) of the timer array, it shall explicitly be declared by +using the not used symbol ("-").

+

+Syntactical Structure

+

+timer +{ TimerIdentifier +[ ArrayDef +] ":=" TimerValue +[ "," ] } [ ";" ]

+


+

+

+Semantic Description

+

+Timers are local to components. A component can start and stop a +timer, check if a timer is running, read the elapsed time of a +running timer and process timeout events after timer expiration. The +timer value is interpreted with a base unit of seconds.

+

+NOTE 1: Timers declared and started in +scope units such as functions cease to exist when the scope unit is +left. They do not contribute to the test behaviour once the scope +unit is left.

+

+NOTE 2: It is not possible to define a timer array as type.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + In case of a single timer, the default duration value shall resolve + to a non-negative numerical float value
    (i.e. the value shall be + greater or equal 0.0, infinity and + not_a_number are disallowed). +

    +
  2. + In case of a timer array, it shall resolve to an array of float + values obeying to restriction a) above of the same size as the size + of the timer array.

    +
+

+Examples

+

+EXAMPLE 1: Single timer

+

timer +MyTimer1 := 5E-3;

+

// +declaration of the timer MyTimer1 with the default value of 5ms +

+


+

+

timer +MyTimer2; // declaration of MyTimer2 without a default timer value +i.e. a value has +

+

// +to be assigned when the timer is started

+


+

+

+EXAMPLE 2: Timer array

+

timer +t_Mytimer1[5] := { 1.0, 2.0, 3.0, 4.0, 5.0 }

+

// +all elements of the timer array get a default duration.

+


+

+

timer +t_Mytimer2[5] := { 1.0, -, 3.0, 4.0, 5.0 }

+

// +the second timer (t_Mytimer2[1]) is left without a default duration.

+


+

+

+13 Declaring messages

+

+One of the key elements of TTCN‑3 +is the ability to send and receive simple or complex messages over +message-based ports defined by the test configuration (see clauses 9 +and 21). These messages may be those explicitly concerned with +testing the SUT or with the internal +co-ordination and control messages specific to the relevant test +configuration.

+

+Messages are instances of types declared in the in/out/inout clauses +of message port type definition.

+

+Any type can be declared as type of a message +in a message port type definition, i.e. values of any basic or +structured type (see clauses 6.1 and 6.2) can be sent or received. +Received messages can also be declared as a combination of value and +matching mechanisms (see clause 15.5). Instances of messages can be +declared by global, local or in-line +templates (see clause 15) or being constructed and passed via +variables or template variables (see clause 11) and parameters or +template parameters (see clause 5.4).

+

+Syntactical Structure

+

+See syntactical structure of types (see clause 6).

+

+Semantic Description

+

+See semantic description of types (see clause 6).

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

// +a structured, ordered message with two fields

+

type +record +ARecord { integer +i, float f +}

+


+

+

+14 Declaring procedure signatures

+

+Procedure signatures (or signatures for short) are needed for +procedure-based communication. Procedure-based communication may be +used for the communication within the test system, i.e. among test +components, or for the communication between the test system and the +SUT. In the latter case, a procedure may either be invoked in the SUT +(i.e. the test system performs the call) or in the test system (i.e. +the SUT performs the call).

+

+Syntactical Structure

+

+signature +SignatureIdentifier + +

+

+"(" +{ [ in | +inout | +out ] Type +ValueParIdentifier +[ ","] +} ")"

+

+[ +( return +Type ) | +noblock ]

+

+[ +exception +"(" ExceptionTypeList +")" ]

+

+
+

+

+Semantic Description

+

+For all used procedures, i.e. procedures used for the communication +among test components, procedures called from the SUT and procedures +called from the test system, a procedure signature +shall be defined in the TTCN‑3 module.

+

+TTCN‑3 supports blocking and non-blocking +procedure-based communication. By default, signature definitions +without the noblock +keyword are assumed to be used for blocking procedure-based +communication.

+

+Signature definitions may have parameters. +Parameters shall be of data type only, i.e. of a basic type, a +structured type thereof or a subtype thereof. Within a signature +definition the parameter list may include parameter identifiers, +parameter types and their direction, i.e. in, +out, +or inout. +The direction inout +and out +indicate that these parameters are used to retrieve information from +the remote procedure. +

+

+NOTE 1: The direction of the parameters is as +seen by the called party rather +than the calling party.

+

+A remote procedure may return a value after its termination. The type +of the return value shall be specified by means of a return +clause in the corresponding signature definition.

+

+Exceptions that may be raised by remote +procedures are represented in TTCN‑3 +as values of a specific type. Therefore templates and matching +mechanisms can be used to specify or check return +values of remote procedures.

+

+NOTE 2: The conversion of exceptions generated +by or sent to the SUT into the +corresponding TTCN‑3 type or SUT +representation is tool and system specific and therefore beyond the +scope of the present document.

+

+The exceptions are defined in the form +of an exception list included in the signature +definition. This list defines all the possible different types +associated with the set of possible exceptions (the meaning of +exceptions themselves will usually only be distinguished by specific +values of these types).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Signature definitions for non-blocking communication shall use the + noblock keyword, + shall only have in + parameters and shall have no return value but may raise exceptions.

    +
  2. + Signature parameters shall not be of port, component or default type + or of structured types having fields of port, component or default + type.

    +
+

+Examples

+

+ signature +MyRemoteProcOne (); // MyRemoteProcOne will be used for blocking

+

+ // +procedure-based communication. It has neither

+

+ // +parameters nor a return value.

+

+
+

+

signature +MyRemoteProcTwo () noblock; // +MyRemoteProcTwo will be used for non blocking

+

// +procedure-based communication. It has neither

+

// +parameters nor a return value.

+


+

+

signature +MyRemoteProcThree (in +integer +Par1, out +float +Par2, inout +integer +Par3);

+

// +MyRemoteProcThree will be used for blocking procedure-based +communication. The procedure

+

// +has three parameters: Par1 an in parameter of type integer, Par2 an +out parameter of

+

// +type float and Par3 an inout parameter of type integer.

+


+

+

signature +MyRemoteProcFour (in +integer +Par1) return +integer;

+

// +MyRemoteProcFour will be used for blocking procedure-based +communication. The procedure

+

// +has the in parameter Par1 of type integer and returns a value of type +integer after its

+

// +termination

+


+

+

+ signature +MyRemoteProcFive (inout +float +Par1) return +integer

+

+ exception +(ExceptionType1, +ExceptionType2);

+

+ // +MyRemoteProcFive will be used for blocking procedure-based +communication. It returns a

+

+ // +float value in the inout parameter Par1 and an integer value, or may +raise exceptions of

+

+ // +type ExceptionType1 or ExceptionType2

+


+

+

signature +MyRemoteProcSix (in +integer +Par1) noblock

+

exception +(integer, +float);

+

// +MyRemoteProcSix will be used for non-blocking procedure-based +communication. In case of

+

// +an unsuccessful termination, MyRemoteProcSix raises exceptions of +type integer or float.

+


+

+

+15 Declaring templates

+

+Templates are used to either transmit a set of distinct values or to +test whether a set of received values matches the template +specification. Templates can be defined globally or locally.

+

+Templates provide the following possibilities:

+
    +
  1. + they are a way to organize and to re-use test data, including a + simple form of inheritance;

    +
  2. + they can be parameterized;

    +
  3. + they allow matching mechanisms;

    +
  4. + they can be used with either message-based or procedure-based + communications.

    +
+

+Within a template values, ranges and matching attributes can be +specified and then used in both message-based and procedure-based +communications. Templates may be specified for any TTCN‑3 type +or procedure signature. The type‑based templates are used for +message-based communications and the signature templates are used in +procedure‑based communications.

+

+A modified template declaration (see clause 15.5) specifies only the +fields to be changed from the base template, i.e. it is a partial +specification.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Templates shall not be of default + or port type. +

    +
  2. + Templates shall not be of a structured type that contains fields of + default or port + type on any level of nesting.

    +
+

+NOTE: The anytype +type does not include the default +type nor port types (see clause 6.2.6), so that restriction b) does +not apply to anytype templates.

+

+Examples

+

type +record +MyRecord {

+

+ default +def

+

}

+

type +union +MyUnion {

+

+ integer +choice1,

+

+ MyRecord choice2

+

}

+

template +MyUnion t_integerChosen := { choice1 := +5 }

+

+ // shall cause an error as the type MyUnion contains MyRecord, which +includes

+

+ // a field of default type.

+


+

+

+15.1 Declaring message templates

+

+Instances of messages with actual values may be specified using +templates. A template can be thought of as being a set of +instructions to build a message for sending or to match a received +message. +

+

+Syntactical Structure

+

+See syntactical structure of global and local templates (see clause +15.3) and of in-line templates (see clause 15.4).

+

+Semantic Description

+

+A template used in a send +operation defines a complete set of field values comprising the +message to be transmitted over a port.

+

+NOTE: For sending templates, omitting an optional field is considered +to be a value notation rather than a matching mechanism.

+

+A template used in a receive, +trigger +or check +operation defines a data template against which an incoming message +is to be matched. Matching mechanisms, as defined in clauses 15.7 and +15.8 and in annex B, may be used in receive templates. No binding of +the incoming values to the template shall occur.

+

+Restrictions

+

+In addition to restrictions in clause 15, the following restrictions +apply:

+

+a) At the time of a send +operation, the used template shall be completely initialized and all +fields shall resolve to actual values or to omit and no other +matching mechanisms shall be used in the template fields, neither +directly nor indirectly.

+

+At the time of a receiving +operation, the matching template shall be completely initialized.

+

+b) Optional fields of record and set templates or template fields can +be initialized explicitly or implicitly. For implicit initialization +of the optional fields of a template or a template field, an optional +attribute with the value "implicit +omit" (see clause 27.7) shall be associated with it +either directly or via the attribute distribution (scoping) mechanism +(see clause 27.1.1).

+

+Examples

+

+EXAMPLE 1: Template for sending messages

+

+ // +Given the message definition +

+

+ type +record MyMessageType

+

+ { +

+

integer + field1 optional,

+

charstring + field2,

+

boolean + field3

+

}

+


+

+

// +a message template could be +

+

template +MyMessageType MyTemplate:= +

+

{

+

field1 +:= omit,

+

field2 +:= "My string",

+

field3 +:= true

+

}

+


+

+

// +and a corresponding send operation could be +

+

MyPCO.send(MyTemplate);

+


+

+

+EXAMPLE 2: Template for receiving messages

+

// +Given the message definition +

+

type +record MyMessageType

+

{

+

integer + field1 optional,

+

charstring field2,

+

boolean field3

+

}

+


+

+

// +a message template might be +

+

template +MyMessageType MyTemplate:=

+

{

+

field1 +:= ?,

+

field2 +:= pattern "abc*xyz",

+

field3 +:= true

+

}

+


+

+

// +and a corresponding receive operation could be +

+

MyPCO.receive(MyTemplate);

+


+

+

+EXAMPLE 3: Template for receiving messages

+

+ // +When used in a receiving operation this template will match any +integer value

+

+ template +integer +Mytemplate := ?;

+

+
+

+

+ // +This template will match only the integer values 1, 2 or 3

+

+ template +integer +Mytemplate := (1, 2, 3); +

+


+

+

+15.2 Declaring signature templates

+

+Instances of procedure parameter lists with actual values may be +specified using templates. Templates may be defined for any procedure +by referencing the associated signature definition. +

+

+Syntactical Structure

+

+See syntactical structure of global and local templates (see clause +15.3) and of in-line templates (see clause 15.4).

+

+Semantic Description

+

+A signature template defines the values and +matching mechanisms of the procedure parameters only, but not the +return value. The values or matching +mechanisms for a return have to be +defined within the reply (see clause 22.3.3) or getreply operation +(see clause 22.3.4).

+

+A template used in a call +or reply operation +defines a complete set of field values for all in +and inout +parameters. At the time of the call +operation, all in +and inout +parameters in the template shall resolve to actual values, no +matching mechanisms shall be used in these fields, either directly or +indirectly. Any template specification for out +parameters is simply ignored, therefore it is allowed to specify +matching mechanisms for these fields, or to omit them (see annex B).

+

+A template used in a getcall +operation defines a data template against which the incoming +parameter fields are matched. Matching mechanisms, as defined in +annex B, may be used in any templates used by this operation. No +binding of incoming values to the template shall occur. Any out +parameters shall be ignored in the matching process.

+

+Restrictions

+

+In addition to restrictions in clause 15, the following restrictions +apply:

+
    +
  1. + At the time of a call, + reply and raise + operation, the used template shall be completely + initialized and all in/inout + parameters in a call, + all out/inout + parameters in a reply + or raise operation + shall resolve to specific values or to omit and no other matching + mechanisms shall be used for these parameters, neither directly nor + indirectly.

    +
  2. + The NotUsedSymbol shall only be used in signature templates for + parameters which are not relevant and in modified template + declarations and modified in-line templates to indicate no change + for the specified field or element.

    +
+

+At the time of a getcall, +getreply and catch +operation, the matching template shall be completely initialized.

+
    +
  1. + Optional fields of record and set parameters or parameter fields can + be initialized explicitly or implicitly. For implicit initialization + of a parameter or a parameter field, an optional + attribute with the value "implicit + omit" (see clause 27.7) shall be associated with it + either directly or via the attribute distribution (scoping) + mechanism (see clause 27.1.1).

    +
+

+Examples

+

+EXAMPLE 1: Templates for invoking and accepting procedures

+

// +signature definition for a remote procedure +

+

signature +RemoteProc(in integer Par1, +out integer Par2, +inout integer Par3) +return +integer;

+


+

+

// +example templates associated to defined procedure signature +

+

template +RemoteProc Template1:=

+

{

+

Par1 +:= 1,

+

Par2 +:= 2,

+

Par3 +:= 3

+

}

+


+

+

template +RemoteProc Template2:=

+

{

+

Par1 +:= 1,

+

Par2 +:= ?,

+

Par3 +:= 3

+

}

+

+

template +RemoteProc Template3:=

+

{

+

Par1 +:= 1,

+

Par2 +:= ?,

+

Par3 +:= ?

+

}

+


+

+

template +RemoteProc Template4:=?;

+


+

+

+EXAMPLE 2: In-line +templates for invoking procedures

+

+ // +Given example 1 in this clause

+

+
+

+

+ // +Valid invocation since all in and inout parameters have a distinct +value +

+

MyPCO.call(RemoteProc:Template1);

+

+

// +Valid invocation since all in and inout parameters have a distinct +value +

+

MyPCO.call(RemoteProc:Template2);

+

+

// +Invalid invocation causing an error +

+

// +since the inout parameter Par3 has a matching attribute not a value +

+

MyPCO.call(RemoteProc:Template3);

+

+

// +Templates never return values. In the case of Par2 and Par3 the +values returned by the +

+

// +call operation shall be retrieved using an assignment clause at the +end of the call statement +

+


+

+

+EXAMPLE 3: In-line +templates for accepting procedure invocations

+

// +Given example 1 in this clause

+


+

+

// +Valid getcall, it will match if Par1 == 1 and Par3 == 3 +

+

MyPCO.getcall(RemoteProc:Template1);

+

+

// +Valid getcall, it will match if Par1 == 1 and Par3 == 3 +

+

MyPCO.getcall(RemoteProc:Template2);

+

+

// +Valid getcall, it will match on Par1 == 1 and Any value of Par3 +

+

MyPCO.getcall(RemoteProc:Template3);

+


+

+

+EXAMPLE 4: In-line +templates for accepting procedure replies

+

// +Given example 1 in this clause

+


+

+

// +Valid getreply, in parameters will be ignored, matches if return +value is 4

+

MyPCO.getreply(RemoteProc:Template2 +value 4);

+

+

// +Valid getreply, accepting any reply for RemoteProc +

+

MyPCO.getreply(RemoteProc:?);

+

+

// +Valid getreply, also accepting any reply for RemoteProc

+

MyPCO.getcall(RemoteProc:Template4 +value ?);

+


+

+

+15.3 Global and local templates

+

+TTCN-3 allows defining global templates and local templates.

+

+Syntactical Structure

+

+template +[ restriction ] +Type +TemplateIdentifier + ["(" TemplateFormalParList +")"] +

+

+[ +modifies +TemplateRef +] ":=" TemplateBody

+

+
+

+

+NOTE: The optional restriction part is covered by clause 15.8.

+

+Semantic Description

+

+Global templates shall be defined in the module definitions part. +Local templates shall be defined in module control, testcases, +functions, altsteps or statement blocks. Both global and local +templates shall adhere to the scoping rules specified in clause 5.

+

+Both global and local templates can be parameterized. The actual +parameters of a template can include values and templates. The rules +for formal and actual parameter lists shall be followed as defined in +clause 5.2.

+

+Both global and local templates are initialized at the place of their +declaration. This means, all template fields which are not affected +by parameterization shall receive a value or matching mechanism. +Template fields affected by parameterization are initialized at the +time of template use.

+

+At the time of their use (e.g. in communication +operations send, +receive, +call, +getcall, +etc.), it is allowed to change template fields by in-line +modified templates, to pass in values via value parameters as well as +to pass in templates via template parameters. The effects of these +changes on the values of the template fields do not persist in the +template subsequent to the corresponding communication event.

+

+Restrictions

+

+In addition to restrictions in clause 15, the following restrictions +apply:

+

+a) The dot notation such as MyTemplateId.FieldId shall not be +used to set or retrieve values in templates in communication events. +The "->" symbol shall be used for this purpose (see +clause 23).

+

+b) Restrictions on referencing elements of templates or template +fields are described in clause 15.6.

+

+c) There exist a number of restrictions on the functions used in +expressions when specifying templates or template fields; these are +specified in clause 16.1.4.

+

+Examples

+

+ // +The template +

+

+ template +MyMessageType MyTemplate (integer +MyFormalParam):=

+

{

+

field1 +:= MyFormalParam,

+

field2 +:= pattern +"abc*xyz",

+

field3 +:= true

+

}

+


+

+

// +could be used as follows +

+

pco1.send(MyTemplate(123)); + +

+


+

+

+15.4 In-line Templates

+

+Templates can be specified directly at the place they are used. Such +templates are called in-line templates.

+

+Syntactical Structure

+

+[ +Type ":" +] [ modifies +TemplateRefWithParList +":=" ] TemplateBody

+

+
+

+

+NOTE 1: An in-line template is an argument of a communication +operation or an actual parameter of a testcase, function or altstep +call, i.e. it is always placed within parenthesis and potentially +separated with a comma.

+

+Semantic Description

+

+In‑line templates can be defined directly at the place of its +use.

+

+In‑line templates do not have names, therefore they cannot be +referenced or reused. The lifetime of in‑line templates is the +TTCN-3 statement (an assignment, a testcase/function/alstep +invocation, a return from a function, a communication operation), +where they are defined.

+

+Restrictions

+

+In addition to restrictions in clause 15, the following restrictions +apply:

+

+a) Templates may be specified for any TTCN‑3 type defined in +table 3 and for any procedure signature except for port +and default types.

+

+b) The type field may only be omitted when the type is implicitly +unambiguous.

+

+NOTE 2: For literal in‑line templates, the following types may +be omitted: integer, +float, +boolean, +bitstring, +hexstring, +octetstring.

+

+NOTE 3: Types of constants, parameters and variables of the actual +scope are always unambiguous and can hence always be omitted.

+

+c) In-line templates containing instead of +values or inside values matching mechanisms (see clause 15.7) +can only be defined in arguments of receiving communication +operations (i.e. receive, +trigger, +check, +getcall, +getreply +and catch), +in arguments of the match +and select case +operations, in actual template parameters, at the right hand side of +assignments (when there is a template variable at the left hand side +of the assignment) and in return +statements of template returning functions. In-line +templates not containing matching mechanisms can be defined wherever +values are allowed.

+

+d) When used in communication operations, the +type of the in-line template shall be in +the port list over which the template is sent or received. In the +case where there is an ambiguity between the listed type and the type +of the value provided (e.g. through subtyping) then the type name of +the in-line template shall be included +in the communication operation.

+

+e) There exist a number of restrictions on the functions used in +expressions when specifying templates or template fields; these are +specified in clause 16.1.4.

+

+Examples

+

MyPCO.receive(charstring:"abcxyz");

+


+

+

+15.5 Modified templates

+

+Normally, a template specifies a set of base or +default values or matching symbols for each and every field defined +in the appropriate type or signature definition. In cases where small +changes are needed to specify a new template, it is possible to +specify a modified template. A modified template specifies +modifications to particular fields of the original template, either +directly or indirectly. As well as creating explicitly named modified +templates, TTCN‑3 allows the +definition of in-line modified +templates.

+

+Syntactical Structure

+

+Global or local modified template:

+

+template +[restriction] +Type +TemplateIdentifier + ["(" TemplateFormalParList +")"] +

+

+modifies +TemplateRef +":=" TemplateBody

+

+
+

+

+NOTE: The optional restriction part is covered by clause 15.8.

+

+In-line modified template:

+

+[ +Type ":" +] modifies +TemplateRefWithParList +":=" TemplateBody

+

+
+

+

+Semantic Description

+

+The modifies +keyword denotes the parent template from which the new, or modified +template shall be derived. This parent template may be either an +original template or a modified template.

+

+The modifications occur in a linked fashion eventually tracing back +to the original template. If a template field and its corresponding +value or matching symbol is specified in the modified template, then +the specified value or matching symbol replaces the one specified in +the parent template. If a template field and its corresponding value +or matching symbol is not specified in the modified template, then +the value or matching symbol in the parent template shall be used. +When the field to be modified is nested within a template field which +is a structured field itself, no other field of the structured field +is changed apart from the explicitly denoted one(s).

+

+When individual values of a modified template or a modified template +field of record +of type wished to be changed, and only in these +cases, the value assignment notation may also be used, where the left +hand side of the assignment is the index of the element to be +altered.

+

+Formal value or template parameters of modified templates inherit the +default value or respectively template of the corresponding parameter +of their parent templates only, if this is denoted by the dash (don't +change) symbol at the place of the parameters' default value or +respectively template.

+

+Modified templates may also be restricted. Template restrictions are +specified in clause 15.8.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) A modified template shall not refer to itself, either directly or +indirectly, i.e. recursive derivation is not allowed.

+

+b) If a base template has a formal parameter list, the following +rules apply to all modified templates derived from that base +template, whether or not they are derived in one or several +modification steps:

+

+1) the derived template shall not omit parameters defined at any of +the modification steps between the base template and the actual +modified template;

+

+2) a derived template can have additional (appended) parameters if +wished;

+

+3) if the dash (don't change) symbol is used at the place of a +default value or default template, the corresponding parameter of the +parent template shall have a valid default value or default template, +either assigned directly or inherited. If not, this shall cause an +error.

+

+c) Restrictions on referencing elements of templates or template +fields are described in clause 15.6: for modified templates the rules +for the left hand side of assignments apply.

+

+d) Limitations on template restrictions described in clause 15.8 +shall apply.

+

+Examples

+

+EXAMPLE 1:

+

// +Given +

+

type +record +MyRecordType

+

{

+

integer +field1 optional,

+

charstring +field2,

+

boolean +field3

+

}

+

template +MyRecordType MyTemplate1 :=

+

{

+

field1 +:= 123,

+

field2 +:= "A string",

+

field3 +:= true

+

}

+

// +then writing +

+

template +MyRecordType MyTemplate2 modifies +MyTemplate1 +:=

+

{

+

field1 +:= omit, // +field1 is optional but present in MyTemplate1

+

field2 +:= "A modified string"

+

// +field3 is unchanged

+

}

+

// +is the same as writing +

+

template +MyRecordType MyTemplate2 :=

+

{

+

field1 +:= omit,

+

field2 +:= "A modified string",

+

field3 +:= true

+

}

+


+

+

+EXAMPLE 2: Modified record of template

+

template +MyRecordOfType MyBaseTemplate := { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

+

template +MyRecordOfType MyModifTemplate modifies +MyBaseTemplate := { [2] := 3, [3] := 2 };
// MyModifTemplate +shall match the sequence of values { 0, 1, 3, 2, 4, 5, 6, 7, 8, 9 }

+


+

+

+EXAMPLE 3: Modified in-line +template

+

// +Given +

+

template +MyMessageType Setup :=

+

{ field1 +:= 75,

+

field2 +:= "abc",

+

field3 +:= true

+

}

+


+

+

// +Could be used to define an in-line +modified template of Setup

+

pco1.send +(modifies +Setup := {field1:= 76});

+


+

+

+EXAMPLE 4: Modified parameterized template

+

+ // +Given +

+

+ template +MyRecordType MyTemplate1(integer +MyPar):=

+

{

+

field1 +:= MyPar,

+

field2 +:= "A string",

+

field3 +:= true

+

}

+


+

+

// +then a modification could be +

+

template +MyRecordType MyTemplate2(integer +MyPar) modifies +MyTemplate1 +:=

+

{ // +field1 is parameterized in Template1 and remains also parameterized +in Template2

+

field2 +:= "A modified string"

+

}

+


+

+

+EXAMPLE 5: Default values of modified parameterized templates

+

+ // +Given +

+

+ template +MyRecordType MyTemplate11 (integer +p_int := 5 ):= {

+

+ + // p_int has the default value 5

+

field1 +:= p_int,

+

field2 +:= "A string",

+

field3 +:= true

+

}

+


+

+

// +then possible template modifications are +

+

template +MyRecordType MyTemplate12(integer +p_int) modifies +MyTemplate11 +:= { +

+

+ // p_int had a default value in MyTemplate11 but has none in this +template

+

+ field2 := "B string"

+

}

+


+

+

template +MyRecordType MyTemplate13(integer +p_int := 0) modifies +MyTemplate12 +:= { +

+

+ + // p_int has the default value 0

+

+ + // no change is made to the template's content, but only to the +default value of p_int

+

}

+


+

+

template +MyRecordType MyTemplate14(integer +p_int := - ) modifies +MyTemplate13 +:= { +

+

+ + // p_int inherits the default value 0 from its parent MyTemplate13

+

+ field2 := "C string"

+

}

+


+

+

template +MyRecordType MyTemplate15(integer +p_int := - ) modifies +MyTemplate14 +:= { +

+

+ + // p_int inherits the default value 0 from MyTemplate13 via +MyTemplate14

+

+ field2 := "D string"

+

}

+


+

+

template +MyRecordType MyTemplate16(integer +p_int) modifies +MyTemplate15 +:= { +

+

+ + // p_int has no default value

+

}

+


+

+

template +MyRecordType MyTemplate17(integer +p_int := - ) modifies +MyTemplate16 +:= { +

+

+ + // causes an error as p_int has no default value in the parent +template MyTemplate16

+

+ field2 := "E string"

+

}

+


+

+

+15.6 Referencing elements of templates or template fields

+

+This clause defines rules and restrictions when referencing elements +of templates or template fields.

+

15.6.1 Referencing individual string +elements

+

+It is not allowed to reference individual string elements inside +templates or template fields. Instead, the substr +function (see clause C.4.2) shall be used.

+

+EXAMPLE:

+

var +template charstring +t_Char1 := "MYCHAR";

+

var +template charstring +t_Char2;

+


+

+

t_Char2 +:= t_Char1[1];

+

// +shall cause an error as referencing individual string elements is not +allowed

+


+

+

+15.6.2 Referencing record +and set fields

+

+Both templates and template variables allow referencing sub-fields +inside a template definition using the dot notation. However, the +referenced field may be a subfield of a structured field to which a +matching mechanism is assigned. This clause provides rules for such +cases.

+

+a) Omit, AnyValueOrNone, template lists and complemented lists: +referencing a subfield within a structured field to which Omit, +AnyValueOrNone, a template list or a complemented list is assigned, +at the right hand side of an assignment, shall cause an error.
When +referencing a subfield within a structured field to which +AnyValueOrNone or omit is assigned, at the left hand side of an +assignment, the structured field is implicitly set to be present, it +is expanded recursively up to and including the depth of the +referenced subfield. During this expansion an AnyValue shall be +assigned to mandatory subfields and AnyValueOrNone shall be assigned +to optional subfields. After this expansion the value or matching +mechanism at the right hand side of the assignment shall be assigned +to the referenced subfield.
When referencing a subfield within a +structured field to which template lists or complemented template +lists are assigned, at the left hand side of an assignment, shall +cause an error.

+

+EXAMPLE 1:

+

+ type +record R1 {

+

+ integer +f1 optional,

+

+ R2 + f2 optional

+

+ }

+

+ type +record R2 {

+

+ integer +g1,

+

+ R2 + g2 optional

+

+ }

+

+

+

+ :

+

+ var +template R1 t_R1 := {

+

+ f1 +:= 5,

+

+ f2 +:= omit

+

+ }

+

+ var +template R2 t_R2 := t_R1.f2.g2;

+

+ // +causes an error as omit +is assigned to t_R1.f2

+

+ t_R1. +f2 := *;

+

+ t_R2 +:= t_R1.f2.g2;

+

+ // +causes an error as * +is assigned to t_R1.f2

+


+

+

t_R1 +:= ({f1:=omit, +f2:={g1:=0, g2:=omit}},{f1:=5, +f2:={g1:=1, g2:={g1:=2, g2:=omit}}});

+


+

+

t_R2 +:= t_R1.f2;

+

t_R2 +:= t_R1.f2.g2;

+

t_R2 +:= t_R1.f2.g2.g2;

+

// +all these assignments cause error as a template list is assigned to +t_R1

+


+

+

t_R1 +:=

+

complement({f1:=omit, +f2:={g1:=0, g2:=omit}},{f1:=5, +f2:={g1:=1, g2:={g1:=2, g2:=omit}}});

+


+

+

t_R2 +:= t_R1.f2;

+

t_R2 +:= t_R1.f2.g2;

+

t_R2 +:= t_R1.f2.g2.g2;

+

// +all these assignments cause errors as a complemented list is assigned +to t_R1

+


+

+

+b) AnyValue: when referencing a subfield within a structured field to +which AnyValue is assigned, at the right hand side of an assignment, +AnyValue shall be returned for mandatory subfields and AnyValueOrNone +shall be returned for optional subfields.
When referencing a +subfield within a structured field to which AnyValue is assigned, at +the left hand side of an assignment, the structured field is +implicitly expanded recursively up to and including, the depth of the +referenced subfield. During this expansion an AnyValue shall be +assigned to mandatory subfields and AnyValueOrNone shall be assigned +to optional subfields. After this expansion the value or matching +mechanism at the right hand side of the assignment shall be assigned +to the referenced subfield.

+

+EXAMPLE 2:

+

+ t_R1 +:= {f1:=0, f2:=?}

+

t_R2 +:= t_R1.f2.g2;

+

// +after the assignment t_R2 will be {g1:=?, g2:=*}

+

t_R1.f2.g2.g2 +:= ({g1:=1, g2:=omit},{g1:=2, +g2:=omit});

+

// +first the field t_R1.f2 has hypothetically be expanded to +{g1:=?,g2:={g1:=?,g2:=*}}
// thus after the assignment t_R1 will +be:
// {f1:=0, f2:={g1:=?,g2:={g1:=?,g2:=({g1:=1, +g2:=
omit},{g1:=2, +g2:=omit})}}}

+


+

+

+c) Ifpresent attribute: referencing a subfield within a structured +field to which the ifpresent attribute is attached, shall cause an +error (irrespective of the value or the matching mechanism to which +ifpresent is +appended).

+

15.6.3 Referencing record +of and set +of elements

+

+Both templates and template variables allow referencing elements of a +record of, array or +set of template or +field using the index notation. However, a matching mechanism may be +assigned to the template or field within which the element is +referenced. This clause provides rules on handling such cases.

+

+a) Omit, AnyValueOrNone, template lists, complemented lists, subset +and superset: referencing an element within a record of or set of +field to which Omit, AnyValueOrNone with or without a length +attribute, a template list, a complemented list, a subset or a +superset is assigned, shall cause an error.

+

+EXAMPLE 1:

+

+ type +record of +integer RoI;

+

:

+

var +template RoI t_RoI;

+

var +template integer t_Int;

+

t_RoI +:= ({},{0},{0,0},{0,0,0});

+

t_Int +:= t_RoI[0];

+

+ // +shall cause an error as template list is assigned to t_RoI

+

+

+b) AnyValue: when referencing an element of a record +of or set of +template or field to which AnyValue is assigned (without a length +attribute), at the right hand side of an assignment, AnyValue shall +be returned. If a length attribute is attached to the AnyValue , the +index of the reference shall not violate the length attribute.
When +referencing an element within a record +of or set of +template or field to which AnyValue is assigned (without a length +attribute), at the left hand side of an assignment, the value or +matching mechanism at the right hand side of the assignment shall be +assigned to the referenced element, AnyElement shall be assigned to +all elements before the referenced one (if any) and a single +AnyElementsOrNone shall be added at the end. When a length attribute +is attached to AnyValue, the attribute shall be conveyed to the new +template or field transparently. The index shall not violate type +restrictions in any of the above cases.

+

+EXAMPLE 2:

+

+ type +record of +integer RoI;

+

+ type +record of +RoI RoRoI;

+

+ :

+

+ var +template RoI t_RoI;

+

+ var +template RoRoI t_RoRoI;

+

+ var +template integer t_Int;

+

+ :

+

+ t_RoI +:= ?;

+

+ t_Int +:= t_RoI[5];

+

// +after the assignment t_Int will be AnyValue(?);

+


+

+

t_RoRoI +:= ?;

+

t_RoI +:= t_RoRoI[5];

+

// +after the assignment t_RoI will be AnyValue(?);

+

t_Int +:= t_RoRoI[5].[3];

+

// +after the assignment t_Int will be AnyValue(?);

+


+

+

t_RoI +:= ? length +(2..5);

+

t_Int +:= t_RoI[3];

+

// +after the assignment t_Int will be AnyValue(?);

+

t_Int +:= t_RoI[5];

+

// +shall cause an error as the referenced index is outside the length +attribute
// (note that index 5 would refer to the 6
th +element);

+


+

+

t_RoRoI[2] +:= {0,0};

+

// +after the assignment t_RoRoI will be {?,?,{0,0},*};

+

t_RoRoI[4] +:= {1,1};

+

// +after the assignment t_RoRoI will be {?,?,{0,0},?,{1,1},*};

+

t_RoI[0] +:= -5;

+

// +after the assignment t_RoI will be {-5,*} length(2..5);

+

t_RoI +:= ? length +(2..5);

+

t_RoI[1] +:= 1;

+

// +after the assignment t_RoI will be {?,1,*} length(2..5);

+

t_RoI[3] +:= ?;

+

// +after the assignment t_RoI will be {?,1,?,?,*} length(2..5);

+

t_RoI[5] +:= 5;

+

// +after the assignment t_RoI will be {?,1,?,?,?,5,*} length(2..5); +note that t_RoI

+

// +becomes an empty set but that shall cause no error;

+


+

+

+c) Permutation: when referencing an element of a record +of template or field, which is located inside a +permutation (based on its index), this shall cause an error. Indexes +of elements sheltered by a permutation shall be determined based on +the number of permutation elements. AnyElementsOrNone as a +permutation element causes that the permutation shelters all record +of element indexes.

+

+EXAMPLE 3:

+

+ t_RoI +:= {permutation(0,1,3,?),2,?};

+

t_Int +:= t_RoI[5];

+

// +after the assignment t_Int will be AnyValue(?)

+


+

+

t_RoI +:= {permutation(0,1,3,?),2,*};

+

t_Int +:= t_RoI[5];

+

// +after the assignment t_Int will be * (AnyValueOrNone)

+

t_Int +:= t_RoI[2];

+

// +causes error as the third element (with index 2) is inside +permutation

+


+

+

t_RoI +:= {permutation(0,1,3,*),2,?};

+

t_Int +:= t_RoI[5];

+

// +causes error as the permutation contains AnyValueOrNone(*) that is +able to

+

// +cover any record of indexes

+


+

+
    +
  1. + Ifpresent attribute: referencing an element within a record + of or set of + field to which the ifpresent + attribute is attached, shall cause an error (irrespective of the + value or the matching mechanism to which ifpresent + is appended).

    +
+

+e) AnyElementsOrNone: when referencing an element of a record of or +set of template or field that contains AnyElementsOrNone, the result +of an operation is dependent on the position of AnyElementsOrNone, +the referenced index and length attributes attached to +AnyElementsOrNone.

When resolving the reference, a transformed +form of the record of or set of template is used. The transformed +form is equal to the original value where all occurrences of +AnyElementsOrNone with a length restriction are replaced with a +sequence of AnyElements of the same size as the lower bound. If the +lower bound is greater than the upper bound, the sequence shall be +followed by a single AnyElementsOrNone symbol with a length +restriction. The lower bound of this restriction is zero and the +upper bound is the difference between the lower and upper bound of +the original restriction.

+

+EXAMPLE 4:

+

+type +record of interger RoI;
template +RoI t_RoI := {1, * length(2), +5}; // transformed form: {1, ?, ?, 5}
template +RoI t_RoI := {1, * length(1..3), +5};// transformed form: {1, ?, * length(0..2), 5}

+

+

+When the reference is used at the right hand side of the assignment, +the following applies:

+
    +
  • + If positions of all AnyElementsOrNone matching symbols in the + transformed form are greater than the position of the referenced + item, rules from the clause 6.2.3.2 are used for resolving the + reference.

    +
+

+EXAMPLE 5:

+

+type +record of interger RoI;
:
var +template RoI t_RoI := {1, 2, * +length(2), 5};
// transformed form: {1, 2, ?, ?, 5}
var +template integer t_Int;
t_Int := +t_RoI[1]; // after the assignment, t_Int will be 2
t_Int := +t_RoI[2]; // after the assignment, t_Int will be ?

+

+
+

+
    +
  • + If the position of the referenced item is greater or equal to the + position of any AnyElementsOrNone symbol in the transformed + template, an error is generated.

    +
+

+EXAMPLE 6:

+

+type +record of interger RoI;
:
var +template RoI t_RoI := {1, 2, *, +5};
var template integer +t_Int := t_RoI[3]; // produces an error

t_RoI := {1, 2, +*};
t_Int := t_RoI[2]; // produces an error

+

+
+

+

+When the reference is used at the left hand side of the assignment, +the following applies:

+
    +
  • + If positions of all AnyElementsOrNone matching symbols in the + transformed form are greater than the position of the referenced + item the following rules are used. If the referenced item is not a + result of transformation, the value or matching symbol at the right + hand side of the assignment shall replace the referenced symbol in + the original template. If the referenced element was a result of + transformation, then the AnyValueOrNone symbol in the original + template is replaced with its transformed form and the assignment is + performed afterwards.

    +
+

+EXAMPLE 7:

+

+type +record of interger RoI;
:
var +template RoI t_RoI := {1, 2, * +length(2), 5};
// transformed form: {1, 2, ?, ?, 5}
t_RoI[1] +:= 10; // after the assignment, t_RoI will be {1, 10, * length(2), +5}
t_RoI[2] := 3; // after the assignment, t_RoI will be {1, 10, +3, ?, 5}

+

+
+

+
    +
  • + If the position of the referenced item is greater or equal to the + position of any AnyElementsOrNone symbol in the transformed form and + this AnyElementsOrNone symbol is not the last element in the + template, an error is generated.

    +
+

+EXAMPLE 8:

+

+type +record of interger RoI;
:
var +template RoI t_RoI := {1, 2, *, +5};
t_RoI[3] := 4; // produces an error

+


+

+
    +
  • + If the position of the referenced item is greater or equal to the + position of an AnyElementsOrNone symbol in the transformed form and + this AnyElementsOrNone is the last symbol in the template, the value + or matching symbol at the right hand side of the assignment shall be + assigned to the referenced element. Then the AnyElementsOrNone + symbol and all unbound values between it and the referenced symbol + shall be replaced with AnyElement symbols. If the AnyElementsOrNone + symbol had a length restriction, only as many AnyElement symbols can + be added as is the value of the upper bound of the restriction. As + the last step, an AnyElementsOrNone symbol can be appended to the + end of the template. The symbol is always appended if the original + AnyElementsOrNone symbol was unrestricted. If the original + AnyElementsOrNone had a length restriction, the symbol is appended + only if the restriction included items beyond the referenced item. + In such a case, the appended symbol contains the original length + restriction adjusted by the difference between the size of the + template before and after assignment.

    +
+

+EXAMPLE 9:

+

+type +record of interger RoI;
:
var +template RoI t_RoI := {1, 2, * +};
t_RoI[4] := 5; // {1, 2, ?, ?, 5, *};

t_RoI := {1, * +
length(1..2)};
t_RoI[4] +:= 5; // {1, ?, ?, -, 5};
// short length restriction: only two ? +symbols added and no * at the end

t_RoI := {1, * +
length(1..5)};
t_RoI[2] +:= 3; // {1, ?, 3, * length(0..3)};
// adjusted length +restriction at the end

+

+
+

+

+The index of the referenced item shall not violate type restrictions +in any of the above cases.

+

15.6.4 Referencing signature +parameters

+

+While signature templates do not allow referencing their parameters +directly (e.g. using dot notation), such a reference is possible when +modifying a signature template. However, there can be a matching +mechanism assigned to the signature template. This clause provides +rules for such cases.

+

+a) Value lists and complemented lists: referencing a parameter of a +signature template to which a value list or a complemented list is +assigned, at the left hand side of an assignment, shall cause an +error.

+

+EXAMPLE 1:

+

+signature +MySignature(in +integer +par1, in +integer +par2);
template +MySignature t_mySign1 := ({ par1 := 1, par2 := 2 }, { par1 := 2, par2 +:= 1 });
template +MySignature t_mySign2 modifies +t_mySign1 := { par1 := ? };
+

+

+// +shall cause an error as t_mySign1 contains a value list template

+

+
+

+

+b) AnyValue: when referencing a parameter within a signature to which +AnyValue is assigned, at the left hand side of an assignment, the +signature template is implicitly expanded to the parameter level. +During this expansion an AnyValue shall be assigned to all parameters +of the template. After this expansion the value or matching mechanism +at the right hand side of the assignment shall be assigned to the +referenced parameter.

+

+EXAMPLE 2:

+

+template +MySignature t_mySign3 := ?;
template +MySignature t_mySign4 modifies +t_mySign3 := { par1 := 3 };
// t_mySign3 is expanded to { par1 := +?, par2 := ? }, then 3 is assigned to par1,
// thus t_mySign4 will +be { par1 := 3, par2 := ? }

+

+
+

+

+15.7 Template matching mechanisms

+

+Generally, matching mechanisms are used to +replace values of single template fields or to replace even the +entire contents of a template. Matching mechanisms may also be used +in-line (see clause 15.4).

+

+Matching mechanisms are arranged in four groups:

+
    +
  • + specific values;

    +
  • + special symbols that can be used instead of values;

    +
  • + special symbols that can be used inside values;

    +
  • + special symbols which describe attributes of values;

    +
+

+Some of the mechanisms may be used in combination.

+

+The supported matching mechanisms and their +associated symbols (if any) and the scope of their application are +shown in table 11. The left-hand column of this table lists all the +TTCN‑3 types to which these +matching mechanisms apply. A full description of each matching +mechanism can be found in annex B.

+

+Table 11: +TTCN‑3 Matching Mechanisms

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Used + with values of

+
+

Value

+
+

Instead + of values

+
+

Inside + values

+
+

Attributes

+
+

+
+

+
+

+ S

+

+ p

+

+ e

+

+ c

+

+ i

+

+ f

+

+ i

+

+ c

+

+ V

+

+ a

+

+ l

+

+ u

+

e

+
+

+ O

+

+ m

+

+ i

+

t

+
+

+ C

+

+ o

+

+ m

+

+ p

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t + +

+

+ e

+

+ d

+

+ L

+

+ i

+

+ s

+

t

+
+

+ T
e
m
p
l
a

+

+ t
e

+

+ L

+

+ i

+

+ s

+

t

+
+

+ A

+

+ n

+

+ y

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+

(?)

+
+

+ A

+

+ n

+

+ y

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+

+ O

+

+ r

+

+ N

+

+ o

+

+ n

+

+ e

+

(*)

+
+

+ R

+

+ a

+

+ n

+

+ g

+

e

+
+

+ S

+

+ u

+

+ p

+

+ e

+

+ r

+

+ s

+

+ e

+

t

+
+

+ S

+

+ u

+

+ b

+

+ s

+

+ e

+

+ t

+


+

+
+

+ P

+

+ a

+

+ t

+

+ t

+

+ e

+

+ r

+

n

+
+

+ A

+

+ n

+

+ y

+

+ E

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t

+

(?)

+
+

+ A

+

+ n

+

+ y

+

+ E

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t

+

+ s

+

+ O

+

+ r

+

+ N

+

+ o

+

+ n

+

+ e

+

(*)

+
+

+ P

+

+ e

+

+ r

+

+ m

+

+ u

+

+ t

+

+ a

+

+ t

+

+ i

+

+ o

+

+ n

+


+

+
+

+ L

+

+ e

+

+ n

+

+ g

+

+ t

+

+ h

+

+ R

+

+ e

+

+ s

+

+ t

+

+ r

+

+ i

+

+ c

+

+ t

+

+ i

+

+ o

+

n

+
+

+ I

+

+ f

+

+ P

+

+ r

+

+ e

+

+ s

+

+ e

+

+ n

+

t

+
+

boolean

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

integer

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

float

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

bitstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes1

+
+

octetstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes1

+
+

hexstring

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes1

+
+

character + strings

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

Yes

+
+


+

+
+


+

+
+

Yes

+
+

Yes2

+
+

Yes2

+
+


+

+
+

Yes

+
+

Yes1

+
+

record

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

record + of

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

array

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+

set

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

set + of

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes

+
+


+

+
+

Yes

+
+

Yes1

+
+

enumerated

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

union

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

anytype

+
+

Yes

+
+

Yes1

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes1

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+


+

+
+

Yes1

+
+

+ NOTE + 1: Can be assigned to templates of any type as a whole or to + optional fields of record and set templates. However when + matching, it shall be applied to optional fields of record and + set types only (without restriction on the type of that field).

+

+ NOTE + 2: Have matching mechanism meaning within character patterns + only.

+
+
+

+

+

+

15.7.1 Specific values

+

+Specific values are the basic matching mechanism of TTCN-3 templates. +Specific values in templates are expressions which do not contain any +matching mechanisms. +

+

+Syntactical Structure

+

+SingleExpression + +

+

+
+

+

+Semantic Description

+

+The matching mechanism for a specific value is an expression that +evaluates to a specific value.

+

+For further details please refer to clause 6 and to annex B.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + See the restrictions given in table 11 and in + annex B.

    +
+

+Examples

+

MyPCO.receive(charstring:"abcxyz");

+

MyPCO.receive('AAAA'O);

+


+

+

15.7.2 Special symbols that can be +used instead of values

+

+These matching mechanisms can be used to characterize a set of +values. +

+

+Syntactical Structure

+

+omit +|

+

+"(" +{ (TemplateInstance | +all from TemplateInstance) +[","] } ")" |

+

+complement +"(" { (TemplateInstance | +all from TemplateInstance) +[","] } ")" |

+

+"?" +|

+

+" *" +|

+

+"(" +( ConstantExpression | -infinity +) ".." ( ConstantExpression | +infinity +) ")" |

+

+superset +"(" { (TemplateInstance | +all from TemplateInstance) +[","] } ")" |

+

+subset +"(" { (TemplateInstance | +all from TemplateInstance) +[","] } ")" |

+

+pattern +Cstring

+

+
+

+

+Semantic Description

+

+The matching mechanisms for special symbols that can be used instead +of values are:

+
    +
  • + omit: the optional field, in which it is used, is not + present;

    +
+

+NOTE 1: omit can be assigned to templates of any type as a +whole or to optional fields of record and set types. omit can +only be used for matching optional fields.

+
    +
  • + (…): a list of values or templates;

    +
  • + complement (…): complement of a list of values or + templates;

    +
  • + ?: wildcard for any value;

    +
  • + *: wildcard for any value or no value at all, i.e. the field + is not present;

    +
+

+NOTE 2: * can be assigned to templates of any type as a whole +or to optional fields of record and set types. * can only be +used for matching optional fields.

+
    +
  • + (lowerBound .. + upperBound): a range of integer or float values + between and including the lower- and upper bounds;

    +
  • + superset: at least all of the elements listed, i.e. possibly + more;

    +
  • + subset: at most the elements listed, i.e. possibly less;

    +
  • + pattern: a charstring or universal charstring that matches + this format.

    +
+

+The matching mechanisms list, complemented list, subset, and superset +can use the elements of a template using the all from clause. +

+

+For further details please refer to annex B.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + See the restrictions given in table 11 and in + annex B.

    +
  2. + All templates and values used in the matching mechanisms above + (including the referenced ones, e.g. within a pattern) shall be + completely initialized.

    +
+

+Examples

+

MyPCO.receive +(integer:complement(1, +2, 3));

+


+

+

15.7.3 Special symbols that can be +used inside values

+

+These matching mechanisms allow to characterize value sets by varying +values inside. +

+

+Syntactical Structure

+

+… "?"… +|

+

+… "*"… +|

+

+… permutation +"(" { ( TemplateBody | +"?" | "*" | all from +TemplateInstance +)[","] } ")" …

+

+
+

+

+Semantic Description

+

+The matching mechanisms for special symbols that can be used inside +values are:

+
    +
  • + ?: wildcard for any single element in a string, array, + record of + or set of;

    +
  • + *: wildcard for any number of consecutive elements in a + string, array, record + of or set of, + or no element at all (i.e. an omitted element);

    +
  • + permutation: all of the elements listed but in an arbitrary + order (note, that ? and * are also allowed as elements of the + permutation list and all elements of a template can be added to + permutation using the all from clause).

    +
+

+For further details please refer to annex B.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + See the restrictions given in table 11 and in + annex B.

    +
  2. + All templates or values used in the permutation matching mechanism + shall be completely initialized.

    +
+

+Examples

+

template +bitstring +b := '10???'B; // where each "?" may either be 0 or 1 +

+

type +record of +integer +RI;

+

template +RI ri := {1, ?, 3} // where ? may be any integer value

+


+

+

15.7.4 Special symbols which +describe attributes of values

+

+These matching mechanisms define properties of values.

+

+Syntactical Structure

+

+length +"(" ConstantExpression +[ ".." ( ConstantExpression | +infinity +) ] ")" [ ifpresent +] | +

+

+ifpresent

+

+
+

+

+Semantic Description

+

+The matching mechanisms which describe attributes of values +are:

+
    +
  • + length: restrictions for string length of string types + and the number of elements for record + of, set + of and arrays;

    +
  • + ifpresent: for matching of optional field values (if not + omitted).

    +
+

+NOTE: ifpresent can be assigned to templates of any type as a +whole or to optional fields of record and set types. ifpresent +can only be used for matching optional fields.

+

+For further details please refer to annex B.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + See the restrictions given in table 11 and in annex B.

    +
  2. + All values used in the length matching attribute shall be completely + initialized.

    +
+

+Examples

+

type +record R {

+

record +of integer +ri optional

+

}

+

template +R r:=

+

{ +

+

ri +:= * length +(1 .. 6) ifpresent // +any value containing 1, 2, 3, 4, +

+

// +5 or 6 elements, provided it is present

+

}

+


+

+

+15.8 Template Restrictions

+

+Template restrictions allow to restrict the matching mechanisms that +can be used with a template. Template restrictions are applicable to +template definitions and template variables, formal template +parameters, and return template types of functions. Template +restrictions can be applied equally to message and signature +templates.

+

+Syntactical Structure

+

+template +"(" ( omit +| present +| value ) +")" Type + +

+

+
+

+

+Semantic Description

+

+The restrictions mean in case of:

+
    +
  • + (omit) the + template shall resolve to a value matching mechanism (i.e. the + fields of it shall resolve to a specific value or omit, and the + whole template may also resolve to omit). Such a template can be + used to define a field of a record and set template and the latter + one could still be used in a send + statement.

    +
  • + (value) the + template shall resolve to a specific value (i.e. the fields of it + shall resolve to a specific value or omit, but the whole template + shall not resolve to omit). It can be used to define a mandatory + field of a record or set template and the latter one could still be + used in a send + statement.

    +
  • + (present) the + template as a whole shall not resolve to matching mechanisms that + match omit (i.e. its fields may contain any of the matching + mechanisms or matching attributes). Such a template can be used to + define a mandatory field of a record or set template.

    +
+

+NOTE: Template restrictions allow TTCN-3 tools to check more easily +at compile time whether templates and matching expressions are used +correctly. Whether the checks are performed at compile time and +invalid code is rejected or whether the checks are performed at +execution time and dynamic errors are raised, is outside the scope of +the present document.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Matching mechanisms can be used within restricted templates + according to table 12. +

    +
+

+Table 12: +Using matching mechanisms with restricted templates

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Used + with template restriction

+
+

Value

+
+

Instead + of values

+
+

Inside + values

+
+

Attributes

+
+

+
+

+
+

+ S

+

+ p

+

+ e

+

+ c

+

+ i

+

+ f

+

+ i

+

+ c

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+
+

+ O

+

+ m

+

+ i

+

+ t

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+
+

+ C

+

+ o

+

+ m

+

+ p

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t

+

+ e

+

+ d

+

+ L

+

+ i

+

+ s

+

+ t

+
+

+ T
e
m
p
l
a

+

+ t
e + L

+

+ i

+

+ s

+

+ t

+
+

+ A

+

+ n

+

+ y

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+

+ (?)

+
+

+ A

+

+ n

+

+ y

+

+ V

+

+ a

+

+ l

+

+ u

+

+ e

+

+ O

+

+ r

+

+ N

+

+ o

+

+ n

+

+ e

+

+ (*)

+
+

+ R

+

+ a

+

+ n

+

+ g

+

+ e

+
+

+ S

+

+ u

+

+ p

+

+ e

+

+ r

+

+ s

+

+ e

+

+ t

+
+

+ S

+

+ u

+

+ b

+

+ s

+

+ e

+

+ t

+

+
+

+
+

+ P

+

+ a

+

+ t

+

+ t

+

+ e

+

+ r

+

+ n

+
+

+ A

+

+ n

+

+ y

+

+ E

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t

+

+ (?)

+
+

+ A

+

+ n

+

+ y

+

+ E

+

+ l

+

+ e

+

+ m

+

+ e

+

+ n

+

+ t

+

+ s

+

+ O

+

+ r

+

+ N

+

+ o

+

+ n

+

+ e

+

+ (*)

+
+

+ P

+

+ e

+

+ r

+

+ m

+

+ u

+

+ t

+

+ a

+

+ t

+

+ i

+

+ o

+

+ n

+

+
+

+
+

+ L

+

+ e

+

+ n

+

+ g

+

+ t

+

+ h

+

+ R

+

+ e

+

+ s

+

+ t

+

+ r

+

+ i

+

+ c

+

+ t

+

+ i

+

+ o

+

+ n

+
+

+ I

+

+ f

+

+ P

+

+ r

+

+ e

+

+ s

+

+ e

+

+ n

+

+ t

+
+

+ omit

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+ value

+
+

+ Yes

+
+

+ Note

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+
+

+ present

+
+

+ Yes

+
+

+ Note

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ Note

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Note

+
+

+ NOTE: It + is allowed to use the matching mechanism in fields of the + template, but the template as a whole shall not resolve to this + matching mechanism.

+
+
+

+

+

+
    +
  1. + Restricted and unrestricted templates can be used as actual + parameters of formal template parameters or assigned to template + variables according to table 13.

    +
+

+Table 13: +Restrictions of formal and actual template parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+


+

+
+

Actual + parameter/right hand side of an expression

+
+

value

+
+

template + (omit)

+
+

template + (value)

+
+

template + (present)

+
+

template

+
+

Formal + parameter/­left hand side of an expression

+
+


+

+
+

template(omit)

+
+

Yes

+
+

Yes

+
+

Yes

+
+

(see + note)

+
+

(see + note)

+
+

template(value)

+
+

Yes

+
+

(see + note)

+
+

Yes

+
+

(see + note)

+
+

(see + note)

+
+

template(present)

+
+

Yes

+
+

(see + note)

+
+

Yes

+
+

Yes

+
+

(see + note)

+
+

template

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Yes

+
+

+ NOTE: These + restrictions are related to the content of the actual parameter + or right hand side expression and not to the definition of the + entities used. Which cases are checked at compile time and which + ones at runtime is a tool implementation issue.

+
+
+

+

+

+

+Examples

+

+ // +definitions of restricted templates

+

type +record +ExampleType {

+

integer +a,

+

boolean +b optional

+

}

+

+

template(omit) +ExampleType exampleOmit := omit;

+

template(omit) +ExampleType exampleOmitValue:= { 1, true +};
template(omit) +ExampleType exampleOmitAny := ?; + // incorrect

template(value) +ExampleType exampleValueomit := omit; + // incorrect
template(value) +ExampleType exampleValue := { 1, true +};
template(value) +ExampleType exampleValueOptional := { 1, omit +};
+

+

+ // +omit assigned to a field is correct

template(present) +ExampleType examplePresent := {1, ?};

+

template(present) +ExampleType examplePresentIfpresent := { 1, true +} ifpresent; + +

+

+ // +incorrect

+

template(present) +ExampleType examplePresentAny := ?;

+

+


// +restricted template usage
var +template +(omit) +ExampleType +v_omit;
var +template (present) +ExampleType +v_present;
var +template +(value) +ExampleType +v_value;

+

+
+

+

+ v_omit +:= exampleOmit;
v_omit := exampleValueOptional;
v_omit := +examplePresentAny; // incorrect, not a specific value

v_present +:= exampleOmit; // incorrect, shall not be omit
v_present +:= examplePresent;

v_value := exampleOmit; // +incorrect, shall not be omit
v_value := examplePresentAny; // +incorrect, shall be a single value

+

+
+

+

+15.9 Match Operation

+

+The match operation +allows to compare a value (specified in form of an expression) with a +template.

+

+Syntactical Structure

+

+match +"(" Expression +"," TemplateInstance ")"

+

+
+

+

+Semantic Description

+

+The match operation +returns a boolean value. If the types of the template and the value +(specified in form of an expression) are not compatible +(see clause 6.3) the operation returns false. +If the types are compatible, the return value of the match +operation indicates whether the value matches the specified template.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The expression-parameter of the match + operation shall not evaluate to a template, i.e. the match + operation cannot be used to compare two templates.

    +
+

+Examples

+

+ template +integer LessThan10 := (-infinity..9);

+

+ :

+

+ MyPort.receive(integer:?) +-> value +RxValue;

+

if( match( +RxValue, LessThan10)) { … }

+

// +true if the actual value of Rxvalue is less than 10 and false +otherwise

+

:

+

+

+15.10 Valueof Operation

+

+The valueof +operation allows to return the value +specified within a template. The returned value can be assigned to a +variable, may be used in expressions, as an actual value parameter, +etc.

+

+Syntactical Structure

+

+valueof +"(" TemplateInstance ")"

+

+
+

+

+Semantic Description

+

+The valueof +operation returns the value of a template instance.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The template shall be completely initialized and resolve to a +specific value.

+

+Examples

+

+EXAMPLE 1:

+

type +record +ExampleType

+

{

+

integer +field1,

+

boolean +field2

+

}

+


+

+

template +ExampleType SetupTemplate :=

+

+ {

+

field1 +:= 1,

+

field2 +:= true

+

}

+

+

:

+

var +ExampleType RxValue := valueof(SetupTemplate);

+


+

+

+EXAMPLE 2:

+

function +MyFunc() {
var +template +integer +vt_int := omit;

+

+ //is ok, but to be used for optional record or set fields only

+

+ var +integer +v_int := valueof(vt_int)

+

+ //causes an error as omit is not a value and shall not be an +argument of valueof
:
}

+


+

+

+15.11 Concatenating templates of string and list types

+

+Templates of string and list types (bitstring, octetstring, +hexstring, charstring, universal charstring, record of, set of, and +array) can be concatenated from several single (inline) templates +using the concatenation operation. Each single template shall have +the same root type. The single templates of binary string and list +types shall contain only the matching mechanisms specific values, +AnyValue or AnyValueOrNone constrained to a fixed length, AnyElement, +or AnyElementsOrNone possibly constrained with a length attribute for +list types. The length matching attribute shall not follow a template +or template field produced by concatenation directly, but in this +case the concatenation shall be placed within a pair of parentheses.

+

+The concatenation results in the sequential concatenation of the +single templates from left to right, with one exception: matching +symbols AnyValue, AnyValueOrNone, AnyElement and AnyElementsOrNone +constrained to a fixed length N shall be replaced by N AnyElement +matching symbols before concatenation. The concatenation shall be +performed completely before using the resulting template (e.g. for +assignment or matching) and the result shall be type-compatible with +the place of its use.

+

+NOTE 1: Inline templates used for the concatenation need not be valid +templates of the result type (e.g. odd number of hexadecimal digits +are allowed in an octetstring template concatenation), but the +resulting template has to be a valid template.

+

+NOTE 2: See also concatenation of character string patterns in clause +B.1.5.

+

+EXAMPLE 1: Composing templates of string types

+

template +charstring t_Mychar1 := "ABC" +& "DE*" & "F?";

+

// +results in the template "ABCDE*F?"

+

// +please note that "*" and "?" denote the +characters "*" and "?"

+


+

+

template +charstring t_Mychar2 := "ABC" +& * length(2) +& "EF";

+

// +causes an error as for character string types only +

+

// +specific values are allowed

+


+

+

template +bitstring t_Mybit := '010'B & ? & +'1'B & ? length(1) & '1'B;

+

// +results in the template '010*1?1'B

+


+

+

template +octetstring t_Myoct1 := 'ABC'O & +'D'O & ? & ? length(1) & 'EF'O;

+

// +results in the template 'ABCD*?EF'O

+


+

+

template +octetstring t_Myoct2 := 'ABCD'O & ? +length (2) & 'EF'O;

+

// +results in the template 'ABCD??EF'O +

+

// +(i.e. a 5 octets i.e. 10 hexadecimal digits long value)

+


+

+

template +octetstring t_MyoctWrong1 := 'ABCD'O & +? length(2) & 'E'O;

+

// +causes an error, the resulting template shall be a legal value

+

// +(if composed, 'ABCD??E'O would denote 9 hexadecimal digits, but the +length +

+

// +should be an even number of digits)

+


+

+

template +octetstring t_MyoctWrong2 := 'ABC'O & +* length(1..2) +& 'E'O;

+

// +causes an error, the length attribute shall be of fixed length

+


+

+

template +octetstring t_MyoctWrong3 := 'ABCD'O & +? length(2) +length (4);

+

// +causes an error, no length matching attribute shall directly follow a +concatenation

+


+

+

template +octetstring t_Myoct3 := ('ABCD'O & +? length(2)) +length (1..3);

+

// +However, this is correct but will not match any value;

+


+

+

template +hexstring t_MyhexPar (integer +N):= 'ABC'H & ? length(N) +& 'E'H &? length(1) & 'F'H;

+

function +MyFunc() runs on +MyCompType {

+

+ var integer +v_int := 3;

+

+ var template hexstring +vt_hstring;

+

+ :

+

+ vt_hstring := 'ABC'H & ? length(v_int) +& 'E'H & ? length(1) & 'F'H;

+

//results +in the template 'ABC???E?F'H

+

+ P.receive +(t_MyhexPar(4));

+

//actual +content of t_MyhexPar is 'ABC????E?F'H

+

}

+


+

+

+EXAMPLE 2: Composing templates of list types

+

type +record of charstring RecofChar;

+

type +set of integer SetofInt;

+


+

+

template +RecofChar t_MyRecofChar := {"ABC"} +& {"D?", "EF"};

+

// +results the template {"ABC", "D", "EF" +}

+


+

+

template +SetofInt t_MySetofInt := { 1, 2 } & +? length(2) +& { 3, 4 };

+

// +results the template {1, 2, ?, ?, 3, 4 }

+


+

+

template +RecofInt t_MyRecofInt := { 1, 2 } & +{ * length(2), +3, 4 };

+

// +results the template {1, 2, ?, ?, 3, 4 }

+


+

+

template +RecofChar t_MyRecofCharWrong:= {"ABC"} +& ? length(1..2) +& {"EF"};

+

// +causes an error, the length attribute shall denote a fixed length

+


+

+

template +RecofChar t_MyRecofCharPar (integer +N):= { "ABC" }, ? * length(N) +& { "EF" };

+

function +MyFunc() runs on +MyCompType{

+

+ var integer +v_int := 3;

+

+ var template RecofChar +vt_recofChar;

+

+ :

+

+ vt_recofChar := { "ABC" } & ? length(v_int) +& { "EF" };

+

//results +the template { "ABC", ?, ?, ?, "EF" }

+

+ P.receive +( t_MyRecofCharPar(4) );

+

//actual +content of t_MyRecofCharPar is { "ABC", ?, ?, ?, ?, "EF" +}

+

}

+


+

+

+16 Functions, altsteps and testcases

+

+In TTCN‑3, functions, altsteps and testcases are used to +specify and structure test behaviour, define default behaviour and to +structure computation in a module etc. as described in the following +clauses.

+

+16.1 Functions

+

+Functions are used in TTCN‑3 +to express test behaviour, to organize test execution or to structure +computation in a module, for example, to calculate a single value, to +initialize a set of variables or to check some condition.

+

+Syntactical Structure

+

+function +FunctionIdentifier

+

+"(" +[ { ( FormalValuePar +| FormalTimerPar +| FormalTemplatePar +| FormalPortPar +) [","] } ] ")"

+

+[ +runs on +ComponentType ] + +

+

+[ +return [ +template ] +Type ]

+

+StatementBlock

+

+
+

+

+Semantic Description

+

+Functions are portions of TTCN-3 +behaviour, which perform a specific task and are relatively +independent of the remaining behaviour.

+

+Functions may return +a value or a template. Value return is +denoted by the return +keyword followed by a type expression. Template return +is denoted by the return +template keywords followed by +an optional restriction and a type expression. Execution of a return +statement in the body of the function causes the function to +terminate and to return the result to +the location of the call of the function.

+

+The behaviour of a function can be defined by using statements and +operations described in clauses 18 to 25 and clause 26. +

+

+Functions may be parameterized. +

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + A function without runs + on clause + shall never invoke a function or altstep or activate an altstep as + default with a runs + on clause + locally.

    +
+
    +
  1. + Functions started by using the start + test component operation shall always have a runs + on clause + (see clause 22.5) and are considered to be invoked in the + component to be started, i.e. not locally. However, the start + test component operation may be invoked in functions without a runs + on clause.

    +
+

+NOTE 1: The restrictions concerning the runs +on clause are +only related to functions and altsteps and not to test cases.

+
    +
  1. + Functions used in the control part of a TTCN‑3 module shall + have no runs on + clause. +

    +
+

+NOTE 2: Nevertheless, functions used in the control part are allowed +to execute test cases.

+
    +
  1. + The rules for + formal parameter lists shall be followed as defined in clause 5.4.

    +
  2. + For return template + statements the restrictions specified in clause 15 shall apply.

    +
  3. + Template return + can be restricted to the matching mechanisms specific value and + omit, see clause + 5.4.1.2.

    +
  4. + A return statement + in a value returning function shall always have a value expression + compatible to the type specified in the function header return + clause.

    +
  5. + A return statement + in a template returning function shall always have a template + expression or template instance compatible to the type specified in + the function header return clause. If the return + clause has a template restriction, this restriction shall be adhered + to by the returned template.

    +
  6. + If the function header includes a return + clause the function, when terminating, shall do so by executing a + return statement. + The function will cause a test case error if it terminates (i.e. + reaches the end of the function body) without executing a return + statement.

    +
  7. + If a function uses variables, constants, timers and ports that are + declared in a component type definition, the component type shall be + referenced using the runs + on keywords in + the function header. The one exception to this rule is if all the + necessary component-wide information is passed in the function as + parameters.

    +
+

+Examples

+

+EXAMPLE 1: Function with return

+

// +Definition of MyFunction which has no parameters

+

function +MyFunction() +return +integer + +

+

{

+


+

+

return +7; // returns the integer value 7 when the function terminates

+

}

+


+

+

+EXAMPLE +2: Function with template return

+

// +Definition of functions which may return +matching symbols or templates

+

function +MyFunction2() +return +template +integer

+

{

+

:

+

return +?; // returns the matching mechanism AnyValue

+

}

+

function +MyFunction3() +return +template +octetstring

+

{

+

:

+

return +'FF??FF'O; + // returns an octetstring with AnyValue inside it

+

}

+


+

+

+EXAMPLE 3: Function +with runs on clause

+

+ function +MyFunction3() +runs on +MyPTCType {

+

+ lo // +MyFunction3 does not return +a value, but

+

+ var +integer +MyVar := 5; // does make use of the port operation

+

+ PCO1.send(MyVar); // +send and therefore requires a runs on

+

+ // +clause to resolve the port identifiers

+

+ } // +by referencing a component type

+


+

+

+EXAMPLE 4: Parameterized function

+

function +MyFunction2(inout +integer +MyPar1) {

+

// +MyFunction2 does not return +a value

+

MyPar1 +:= 10 * MyPar1; // but changes the value of MyPar1 which

+

} // +is passed in by reference

+


+

+

+EXAMPLE 5: Function without return statement

+

function +MyFunction5(inout +integer +MyPar1) return +integer {

+

if +(MyPar1 > 5) { +

+

+ MyPar1 +:= 5; +

+

+ return +MyPar1; +

+

+ } + +

+

+ // +in case of MyPar1 <= 5, MyFunction5 does not terminate in a return +statement

+

+ // +and will cause a test case error

+

+ }

+


+

+

16.1.1 Invoking functions

+

+A function is invoked by referring to its name and providing the +actual list of parameters.

+

+Syntactical Structure

+

+FunctionRef +"(" [ { ActualPar +[","] } ] ")"

+

+
+

+

+Semantic Description

+

+A function invocation results in the execution +of the statement block of the invoked function. The invoked function +is performed by the test component invoking it. Actual parameters are +passed into the statement block. If the function returns (upon +termination and potentially with a return +value), the test components continues its behaviour right after the +function invocation.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Functions that do not return values shall be invoked directly. +Functions that return values may be invoked directly or inside +expressions. +

+

+b) The rules for actual parameter lists shall be followed as defined +in clause 5.4.

+

+c) Special restrictions apply to functions bound to test components +using the start +test component operation. These restrictions are described in clause +21.3.2.

+

+d) When invoking a function, the compatibility to the test component +type of the invoking test component as described in clause 6.3.3 need +to be fulfilled.

+

+e) Restrictions on invoking functions from specific places are +described in clause 16.1.4.

+

+Examples

+

MyVar +:= MyFunction4(); // The value returned by MyFunction4 is assigned to +MyVar. +

+

// +The types of the returned value and MyVar have to be compatible

+


+

+

MyFunction2(MyVar2); // +MyFunction2 does not return +a value and is called with the

+

// +actual parameter MyVar2, which may be passed in by reference +

+


+

+

MyVar3 +:= MyFunction6(4) + MyFunction7(MyVar3); // Functions used in +expressions +

+


+

+

+16.1.2 Predefined functions

+

+TTCN‑3 contains a number of predefined +(built-in) functions that need not be declared before use. These are +summarized in table 14.

+

+Table 14: +List of TTCN‑3 predefined +functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Category

+
+

Function

+
+

Keyword

+
+

Conversion + functions +

+
+

Convert + integer + value to charstring + value

+
+

int2char

+
+

Convert + integer + value to universal + charstring + value

+
+

int2unichar

+
+

Convert + integer + value to bitstring + value

+
+

int2bit

+
+

Convert + integer + value to enumerated value

+
+

int2enum

+
+

Convert + integer + value to hexstring + value

+
+

int2hex

+
+

Convert + integer + value to octetstring + value

+
+

int2oct

+
+

Convert + integer + value to charstring + value +

+
+

int2str

+
+

Convert + integer + value to float + value

+
+

int2float

+
+

Convert + float value + to integer + value

+
+

float2int

+
+

Convert + charstring + value to integer + value

+
+

char2int

+
+

Convert + charstring + value to octetstring + value

+
+

char2oct

+
+

Convert + universal + charstring + value to integer + value

+
+

unichar2int

+
+

Convert + bitstring + value to integer + value

+
+

bit2int

+
+

Convert + bitstring + value to hexstring + value

+
+

bit2hex

+
+

Convert + bitstring + value to octetstring + value

+
+

bit2oct

+
+

Convert + bitstring + value to charstring + value

+
+

bit2str

+
+

Convert + hexstring + value to integer + value

+
+

hex2int

+
+

Convert + hexstring + value to bitstring + value

+
+

hex2bit

+
+

Convert + hexstring + value to octetstring + value

+
+

hex2oct

+
+

Convert + hexstring + value to charstring + value

+
+

hex2str

+
+

Convert + octetstring + value to integer + value

+
+

oct2int

+
+

Convert + octetstring + value to bitstring + value

+
+

oct2bit

+
+

Convert + octetstring + value to hexstring + value

+
+

oct2hex

+
+

Convert + octetstring + value to charstring + value

+
+

oct2str

+
+

Convert + octetstring + value to charstring + value, version II

+
+

oct2char

+
+

Convert + charstring + value to integer + value +

+
+

str2int

+
+

Convert + charstring + value to hexstring value

+
+

str2hex

+
+

Convert + charstring + value to octetstring value

+
+

str2oct

+
+

Convert + charstring + value to float + value

+
+

str2float

+
+

Convert + enumerated value to integer + value

+
+

enum2int

+
+

+ Length/size + functions

+
+

+ Return + the length of a value or template of any string type, record + of, + set of or array

+
+

lengthof

+
+

+ Return + the number of elements in a value or a template of a record + or set

+
+

sizeof

+
+

+ Presence + checking functions

+
+

+ Determine + if an optional field in a record + or set + value or template is present

+
+

ispresent

+
+

+ Determine + which choice has been selected in a union + value or template

+
+

ischosen

+
+

+ Determine + if a template evaluates to a concrete value

+
+

isvalue

+
+

+ Determine + if a template is uninitialized or not

+
+

isbound

+
+

+ String/list + handling functions

+
+

+ Returns + part of the input string matching the specified pattern group + within a character pattern

+
+

regexp

+
+

+ Returns + the specified portion of the input string/list value or template

+
+

substr

+
+

+ Replaces + a substring of a string with or inserts the input string into a + string, and similarly for lists

+
+

replace

+
+

Codec + functions

+
+

Encode + a value into a bitstring

+
+

encvalue

+
+

Decode + a bitstring into a value

+
+

decvalue

+
+

+ Other + functions

+
+

+ Generate + a random float number

+
+

rnd

+
+

+ Returns + the name of the currently executing test case

+
+

testcasename

+
+
+

+

+

+

+Syntactical Structure

+

+int2char +"(" SingleExpression ")" +|

+

+int2unichar +"(" SingleExpression +")" |

+

+int2bit +"(" SingleExpression +"," SingleExpression +")" |

+

+int2enum +"(" SingleExpression +"," SingleExpression +")" |

+

+int2hex +"(" SingleExpression +"," SingleExpression +")" |

+

+int2oct +"(" SingleExpression +"," SingleExpression +")" |

+

+int2str +"(" SingleExpression +")" |

+

+int2float +"(" SingleExpression +")" |

+

+float2int +"(" SingleExpression +")" |

+

+char2int +"(" SingleExpression +")" |

+

+char2oct +"(" SingleExpression +")" |

+

+unichar2int +"(" SingleExpression +")" |

+

+bit2int +"(" SingleExpression +")" |

+

+bit2hex +"(" SingleExpression +")" |

+

+bit2oct +"(" SingleExpression +")" |

+

+bit2str +"(" SingleExpression +")" |

+

+hex2int +"(" SingleExpression +")" |

+

+hex2bit +"(" SingleExpression +")" |

+

+hex2oct +"(" SingleExpression +")" |

+

+hex2str +"(" SingleExpression +")" |

+

+oct2int +"(" SingleExpression +")" |

+

+oct2bit +"(" SingleExpression +")" |

+

+oct2hex +"(" SingleExpression +")" |

+

+oct2str +"(" SingleExpression +")" |

+

+oct2char +"(" SingleExpression +")" |

+

+str2int +"(" SingleExpression +")" |

+

+str2hex +"(" SingleExpression +")" |

+

+str2oct +"(" SingleExpression +")" |

+

+str2float +"(" SingleExpression +")" |

+

+enum2int +"(" SingleExpression +")" |

+

+lengthof +"(" TemplateInstance +")" |

+

+sizeof +"(" TemplateInstance +")" |

+

+ispresent +"(" TemplateInstance +")" |

+

+ischosen +"(" TemplateInstance +")" |

+

+isvalue +"(" TemplateInstance +")" |

+

+isbound +"(" TemplateInstance +")" |

+

+regexp +"(" TemplateInstance"," +TemplateInstance"," +SingleExpression +")" |

+

+substr +"(" TemplateInstance +"," SingleExpression +"," SingleExpression +")" |

+

+replace +"(" SingleExpression +"," SingleExpression +"," SingleExpression +"," SingleExpression +")" |

+

+encvalue +"(" +TemplateInstance +")" |

+

+decvalue +"(" +SingleExpression +"," +SingleExpression +")" |

+

+rnd +"(" [ SingleExpression ] +")" |

+

+testcasename +"()"

+

+
+

+

+Semantic Description

+

+The description of predefined functions is given in annex C.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) When a predefined function is invoked:

+

+1) the number of the actual parameters shall be the same as the +number of the formal parameters; and

+

+2) each actual parameter shall evaluate to an element of its +corresponding formal parameter's type; and

+

+3) all actual in and inout +parameters shall be initialized with the exception of the actual in +and inout parameter passed +to the predefined functions isvalue, +ischosen, ispresent +and isbound, which may be +uninitialized or even non-evaluable reference expressions and with +the exception of the any_string_or_sequence_type +parameters of the functions lengthof, +substr and replace, +which may be partially initialized.

+

+b) Restrictions on invoking functions from specific places are +described in clause 16.1.4.

+

+Examples

+

var +hexstring h:= +bit2hex ('111010111'B);

+

var +octetstring o:= substr +('01AB23CD'O, 1, 2);

+


+

+

16.1.3 External functions

+

+A function may be defined within a module or be declared as being +defined externally (i.e. external).

+

+Syntactical Structure

+

+external +function +ExtFunctionIdentifier

+

+"(" +[ { ( FormalValuePar +| FormalTimerPar +| FormalTemplatePar +| FormalPortPar +) [","] } ] ")"

+

+[ +return +Type ]

+

+
+

+

+Semantic Description

+

+For an external function only the function interface has to be +provided in the TTCN‑3 module. The realization of the external +function is outside the scope of the present document.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + External functions are not allowed to contain port, timer or default + handling operations. +

    +
  2. + External functions are not allowed to return templates.

    +
  3. + Restrictions on invoking functions from specific places are + described in clause 16.1.4.

    +
+

+Examples

+

external +function +MyFunction4() return +integer; // +External function without parameters

+

// +which returns an integer value

+


+

+

external +function +InitTestDevices(); // An external function which only has an

+

// +effect outside the TTCN‑3 module

+


+

+

+16.1.4 Invoking functions from specific places

+

+Value returning functions can be called in communication operations +(in templates, template fields, in-line templates, or as actual +parameters), in guards of alt statements or altsteps (see clause 20.2), +and in initializations of altstep local definitions (see clause 16.2). +To avoid side effects that cause changing the +state of the component or the actual snapshot and to prevent +different results of subsequent evaluations on an unchanged snapshot, +the following operations shall not be used in functions called in the +cases specified above:

+
    +
  1. + All component operations, i.e. create, + start (component), + stop (component), + kill, + running (component), + alive, + done and killed + (see notes 1, 3, 4 and 6).

    +
  2. + All port operations, i.e. start (port), + stop (port), + halt, + clear, send, + receive, trigger, + call, getcall, + reply, getreply, + raise, catch, + check, + connect, map + (see notes 1, 2, 3 and 6).

    +
  3. + The action + operation (see notes 2 and 6).

    +
  4. + All timer operations, i.e. start (timer), + stop (timer), + running (timer), + read, timeout + (see notes 4 and 6).

    +
  5. + Calling external functions (see notes 4 and 6).

    +
  6. + Calling the rnd + predefined function (see notes 4 and 6).

    +
  7. + Changing of component variables, i.e. using component variables on + the left-hand side of assignments, and in the instantiation of out + and inout + parameters (see notes 4 and 6).

    +
  8. + Calling the setverdict + operation (see notes 4 and 6).

    +
  9. + Activation and deactivation of defaults, i.e. the activate + and deactivate + statements (see notes 5 and 6).

    +
  10. + Calling functions with out + or inout + parameters (see notes 7 and 8).

    +
+

+NOTE 1: The execution of the operations start, +stop, done, +killed, +halt, +clear, receive, +trigger, getcall, +getreply, catch +and check can cause +changes to the current snapshot.

+

+NOTE 2: The use of operations send, +call, reply, +raise, and action +causes an error, i.e. all communication are to be made explicit +and not as a side-effect of another communication operation or the +evaluation of a snapshot.

+

+NOTE 3: The use of operations map, +unmap, connect, +disconnect, create +causes an error, i.e. all configuration operations are to be made +explicit, and not as a side-effect of a communication operation or +the evaluation of a snapshot.

+

+NOTE 4: Calling of external functions, rnd, +running, alive, +read, setverdict, +and writing to component variables causes an error because it may +lead to different results of subsequent evaluations of the same +snapshot, thus, e.g. rendering deadlock detection impossible.

+

+NOTE 5: The use of operations activate +and deactivate +causes an error because they modify the set of defaults that is +considered during the evaluation of the current snapshot.

+

+NOTE 6: Restrictions except the limitation on the use of out +or inout +parameterization apply recursively, i.e. it is disallowed to use them +directly, or via an arbitrary long chain of function invocations.

+

+NOTE 7: The restriction of calling functions with out +or inout parameters +does not apply recursively, i.e. calling functions that themselves +call functions with out +or inout parameters +is legal.

+

+NOTE 8: Using out +or inout +parameters causes an error because it may lead to different results +of subsequent evaluations of the same snapshot.

+

+16.2 Altsteps

+

+TTCN‑3 uses altsteps to specify default +behaviour or to structure the alternatives of an alt +statement.

+

+Syntactical Structure

+

+altstep +AltstepIdentifier

+

+"(" +[ { ( FormalValuePar +| FormalTimerPar +| FormalTemplatePar +| FormalPortPar +) [","] } ] ")"

+

+[ +runs on +ComponentType ] + +

+

+"{" + +

+

+ { +( VarInstance +| TimerInstance +| ConstDef +| TemplateDef +) [";"] }

+

+ AltGuardList

+

+"}"

+

+
+

+

+Semantic Description

+

+Altsteps are scope units similar to functions. +The altstep body defines an optional set of local definitions and a +set of alternatives, the so-called top +alternatives, that form +the altstep body. The syntax rules of the top alternatives are +identical to the syntax rules of the alternatives of alt +statements.

+

+The behaviour of an altstep can be defined by using the program +statements and operations summarized in clause 18. Altsteps may +invoke functions and altsteps or activate altsteps as defaults. +

+

+Altsteps may be parameterized as defined in clause 5.4.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The local definitions of an altstep shall be defined before the +set of alternatives. +

+

+b) The initialization of local definitions by calling value returning +functions may have side effects. To avoid side effects that cause an +inconsistency between the actual snapshot and the state of the +component, and to prevent different results of subsequent evaluations +on an unchanged snapshot, restrictions given in clause 16.1.4 shall +apply to the initialization of local definitions.

+

+c) If an altstep includes port operations or uses component +variables, constants or timers the associated component type shall be +referenced using the runs +on keywords in +the altstep header. The one exception to this rule is if all ports, +variables, constants and timers used within the altstep are passed in +as parameters.

+

+d) An altstep without a runs +on clause shall never invoke a function or altstep or +activate an altstep as default with a runs +on clause locally.

+

+e) An altstep that is activated as a default shall only have in +value or template parameters, port parameters, and timer parameters. +An altstep that is only invoked as an alternative in an alt +statement or as stand-alone statement in a TTCN‑3 behaviour +description may have in, +out and inout +parameters. The rules for formal parameter lists shall be followed as +defined in clause 5.4.

+

+Examples

+

+EXAMPLE 1: Parameterized altstep with runs on clause

+

// +Given

+

type +component +MyComponentType {

+

var +integer +MyIntVar := 0;

+

timer +MyTimer;

+

port +MyPortTypeOne PCO1, PCO2;

+

port +MyPortTypeTwo PCO3;

+

}

+


+

+

// +Altstep definition using PCO1, PCO2, MyIntVar and MyTimer of +MyComponentType

+

altstep +AltSet_A(in +integer +MyPar1) runs +on +MyComponentType {

+

[] +PCO1.receive(MyTemplate(MyPar1, +MyIntVar) {

+

setverdict(inconc);

+

+ }

+

[] +PCO2.receive +{

+

if +(MyPar1 != 0) {

+

repeat

+

}

+

else +{

+

break

+

}

+

+ }

+

[] +MyTimer.timeout +{

+

setverdict(fail);

+

stop

+

+ }

+

}

+


+

+

+EXAMPLE 2: Altstep with local definitions

+

+ altstep +AnotherAltStep(in +integer +MyPar1) +runs on +MyComponentType {

+

+ var +integer +MyLocalVar := MyFunction(); // local variable

+

+ const +float +MyFloat := 3.41; // local constant

+

+ [] +PCO1.receive(MyTemplate(MyPar1, +MyLocalVar) {

+

+ setverdict(inconc);

+

+ + }

+

+ [] +PCO2.receive +{

+

+ repeat

+

+ + }

+

+ }

+


+

+

+16.2.1 Invoking altsteps

+

+The invocation of an altstep is always related +to an alt +statement. The invocation may be done either implicitly by the +default mechanism (see clause 20.5.) or explicitly by a direct call +within an alt +statement (see clause 20.2).

+

+Syntactical Structure

+

+AltstepRef +"(" [ { ActualPar +[","] } ] ")"

+

+
+

+

+Semantic Description

+

+The invocation of an altstep causes no new +snapshot and the evaluation of the top alternatives of an altstep is +done by using the actual snapshot of the alt +statement from which the altstep was called.

+

+NOTE 1: A new snapshot within an altstep will of course be taken, if +within a selected top alternative a new alt +statement is specified and entered.

+

+For an implicit invocation of an altstep by +means of the default mechanism, the altstep shall be activated as a +default by means of an activate +statement before the place of the invocation is reached.

+

+An explicit call of an altstep within an alt +statement looks syntactically like a function invocation as an +alternative. When an altstep is called explicitly within an alt +statement, the next alternative to be checked is the first +alternative of the altstep. +The alternatives of the altstep +are checked and executed the same way as alternatives of an alt +statement (see clause 20.1) with the exception that no new snapshot +is taken when entering the altstep. +An unsuccessful termination of the altstep (i.e. all top alternatives +of the altstep +have been checked and no matching branch is found) causes the +evaluation of the next alternative or invocation of the default +mechanism (if the explicit call is the last alternative of the alt +statement). A successful termination may cause either the termination +of the test component, i.e. the altstep ends with a stop +statement, or a new snapshot and re-evaluation of the alt +statement, i.e. the altstep ends with repeat +(see clause 20.2) or a continuation immediately after the alt +statement, i.e. the execution of the selected top alternative of the +altstep ends with a break +statement (see clause 19.12) or without explicit repeat +or stop.

+

+NOTE 2: Due to the possibility of defining dynamic test +configurations, an alternative in an explicitly invoked altstep may +refer to a disconnected or unmapped port at the time of its +evaluation. In TTCN-3, ports belong to the receiving component and +matching is related to the top elements in the +port queues. Dynamically unmapped and disconnected ports contribute +to a snapshot in the same manner as mapped and connected ports. This +means, an explicitly invoked altstep +may execute receiving operations that empty the queues of unmapped +and disconnected ports without causing a test case error.

+

+An altstep +can also be called as a stand-alone statement in a TTCN‑3 +behaviour description. In this case, the call of the altstep +can be interpreted as shorthand for an alt +statement with only one alternative describing the explicit call of +the altstep.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) When invoking an altstep, the compatibility of the test component +type of the invoking test component and of the altstep runs on clause +(as described in clause 6.3.3) need to be fulfilled.

+

+b) Further restrictions on invoking altsteps in the activate +statement are given in clause 20.5.2.

+

+Examples

+

+EXAMPLE 1: Implicit invocation of an altstep via a default activation

+

+:

+

var +default +MyDefVarTwo := activate(MySecondAltStep()); +// Activation of an altstep as default

+

+:

+


+

+

+EXAMPLE 2: Explicit invocation of an altstep within an alt statement

+

+:

+

alt +{

+

[] +PCO3.receive {

+

+…

+

}

+

[] +AnotherAltStep(); // explicit call of altstep AnotherAltStep as an +alternative

+

// +of an alt statement

+

[] +MyTimer.timeout +{}

+

}

+


+

+

+EXAMPLE 3: Explicit, stand-alone invocation of an altstep

+

+ // +The statement

+

AnotherAltStep(); +// AnotherAltStep is assumed to be a correctly defined altstep

+


+

+

//is +a shorthand for

+


+

+

alt +{

+

[] +AnotherAltStep();

+

}

+

+16.3 Test cases

+

+A test case is complete and independent +specification of the actions required to achieve a specific test +purpose. It typically starts in a stable testing state and ends in a +stable testing state. It may involve one or more consecutive or +concurrent connections to the SUT. The +test case shall be complete in the sense that it is sufficient to +enable a test verdict to be assigned unambiguously to each +potentially observable test outcome (i.e. sequence of test events). +The test case shall be independent in the sense that it shall be +possible to execute the derived executable test case in isolation +from other such test cases.

+

+In TTCN-3, test +cases are a special kind of function. Test cases define the +behaviours, which have to be executed to check whether the SUT +passes a test or not. This behaviour is performed by the MTC +which is automatically created when a test case is being executed.

+

+Syntactical Structure

+

+testcase +TestcaseIdentifier

+

+"(" +[ { ( FormalValuePar +| FormalTemplatePar) +[","] } ] ")"

+

+runs +on +ComponentType

+

+[ +system +ComponentType ] + +

+

+StatementBlock

+

+
+

+

+Semantic Description

+

+A test case is considered to be a self-contained and complete +specification that checks a test purpose. The result of a test case +execution is a test verdict.

+

+A test case header has two parts:

+
    +
  1. + interface part (mandatory): denoted by the keyword runs + on which + references the required component type for the MTC and makes the + associated port names visible within the MTC behaviour; and

    +
  2. + test system part (optional): denoted by the keyword system + which references the component type which defines the required ports + for the test system interface. The test system part shall only be + omitted if, during test execution, only the MTC is instantiated. In + this case, the MTC type defines the test system interface ports + implicitly.

    +
+

+The behaviour of a test case can be defined by using the program +statements and operations described in clause 18. +

+

+Test cases may be parameterized as described in clause 5.4. Test +cases can be executed in the control part of a module (see clause 26).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The rules for formal parameter lists shall be followed as defined +in clause 5.4.

+

+b) Test cases may only be invoked with an execute statement in a +module control part as defined in clause 26.

+

+Examples

+

+ testcase +MyTestCaseOne()

+

+ runs +on +MyMtcType1 // defines the type of the MTC +

+

+ system +MyTestSystemType // makes the port names of the TSI visible to the +MTC

+

+ { + +

+

+ : // +The behaviour defined here executes on the mtc +when the test case invoked

+

+ }

+

+
+

+

+ // +or, a test case where only the MTC +is instantiated +

+

+ testcase +MyTestCaseTwo() runs +on +MyMtcType2

+

+ {

+

+ : // +The behaviour defined here executes on the mtc +when the test case invoked

+

}

+


+

+

+17 Void

+

+18 Overview of program statements and operations

+

+The fundamental program elements of test cases, +functions, altsteps and the control part of TTCN‑3 +modules are expressions, basic program statements such as +assignments, loop constructs etc., behavioural statements such as +sequential behaviour, alternative behaviour, interleaving, defaults, +etc., and operations such as send, +receive, +create, +etc.

+

+Statements can be either single statements (which do not include +other program statements) or compound statements (which may include +other statements and statement blocks).

+

+Statements shall be executed in the order of +their appearance, i.e. sequentially, as illustrated in figure 8.

+

+

+

+Figure 8: Illustration of +sequential behaviour

+

+The individual statements in the sequence shall be separated by the +delimiter ";".

+

+EXAMPLE:

+

MyPort.send(Mymessage); +MyTimer.start; +log("Done!");

+


+

+

+The specification of an empty statement block, +i.e. {}, +may be found in compound statements, e.g. a branch in an alt +statement, and implies that no actions are taken.

+

+Table 15 gives an overview of the TTCN +3 expressions, statements and operations and restrictions on their +usage.

+

+Table 15: +Overview of TTCN‑3 expressions, +statements and operations

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statement

+
+

Associated + keyword or symbol

+
+

Can + be used in module control

+
+

Can + be used in functions, test cases and altsteps

+
+

Can + be used in functions called from templates, Boolean guards, or + from initialization of altstep local definitions

+
+

Expressions

+
+

(…)

+
+

Yes

+
+

Yes

+
+

Yes

+
+

Basic + program statements

+
+

+ Assignments + +

+
+

+ :=

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes + (see note 3)

+
+

+ If-else + +

+
+

+ if + (…) {…} else {…}

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Select + case

+
+

+ select + case (…) { case (…) {…} case else {…}}

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ For + loop +

+
+

+ for + (…) {…}

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ While + loop +

+
+

+ while + (…) {…}

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Do + while loop

+
+

+ do + {…} while (…)

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Label + and Goto

+
+

+ label + / goto

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Stop + execution

+
+

+ stop

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Returning + control

+
+

+ return

+
+

+
+

+
+

+ Yes + (see note 4)

+
+

+ Yes

+
+

+ Leaving + a loop, alt, altstep or interleave

+
+

+ break

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Next + iteration of a loop

+
+

+ continue

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Logging + +

+
+

+ log

+
+

+ Yes

+
+

+ Yes

+
+

+ Yes

+
+

+ Statements + and operations for alternative behaviours

+
+

+ Alternative + behaviour

+
+

+ alt + {…} +

+
+

+ Yes + (see note 1)

+
+

+ Yes

+
+

+
+

+
+

+ Re-evaluation + of alternative behaviour

+
+

+ repeat

+
+

+ Yes + (see note 1)

+
+

+ Yes

+
+

+
+

+
+

+ Interleaved + behaviour

+
+

+ interleave + {…}

+
+

+ Yes + (see note 1)

+
+

+ Yes

+
+

+
+

+
+

+ Activate + a default

+
+

+ activate

+
+

+ Yes + (see note 1)

+
+

+ Yes

+
+

+
+

+
+

+ Deactivate + a default

+
+

+ deactivate

+
+

+ Yes + (see note 1)

+
+

+ Yes

+
+

+
+

+
+

+ Configuration + operations

+
+

+ Create + parallel test component

+
+

+ create

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Connect + component port to component port

+
+

+ connect

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Disconnect + two component ports

+
+

+ disconnect

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Map + port to test interface

+
+

+ map

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Unmap + port from test system interface

+
+

+ unmap

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Get + MTC component reference value

+
+

+ mtc

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ Get + test system interface component reference value

+
+

+ system

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ Get + own component reference value

+
+

+ self

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ Start + execution of test component behaviour

+
+

+ start

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Stop + execution of test component behaviour

+
+

+ stop

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Terminating + the testcase with an error verdict

+
+

+ testcase.stop

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ Remove + a test component from the system

+
+

+ kill

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Check + termination of a PTC behaviour

+
+

+ running

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Check + if a PTC exists in the test system

+
+

+ alive

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Wait + for termination of a PTC behaviour

+
+

+ done

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Wait + a PTC cease to exist

+
+

+ killed

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

Communication + operations

+
+

Send + message +

+
+

send

+
+


+

+
+

Yes

+
+


+

+
+

+ Invoke + procedure call

+
+

+ call

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Reply + to procedure call from remote entity

+
+

+ reply

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Raise + exception (to an accepted call)

+
+

+ raise

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Receive + message

+
+

+ receive

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Trigger + on message

+
+

+ trigger

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Accept + procedure call from remote entity

+
+

+ getcall

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Handle + response from a previous call

+
+

+ getreply

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Catch + exception (from called entity)

+
+

+ catch

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Check + (current) message/call received

+
+

+ check

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Clear + port queue

+
+

+ clear

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Clear + queue and enable sending & receiving at a to port

+
+

+ start

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Disable + sending and disallow receiving operations to match at a port

+
+

+ stop

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Disable + sending and disallow receiving operations to match new + messages/calls

+
+

+ halt

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Check + the state of a port

+
+

+ checkstate

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Timer + operations

+
+

+ Start + timer

+
+

+ start + +

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Stop + timer

+
+

+ stop

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Read + elapsed time

+
+

+ read

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Check + if timer running

+
+

+ running

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Timeout + event

+
+

+ timeout

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Verdict + operations

+
+

+ Set + local verdict

+
+

+ setverdict

+
+

+
+

+
+

+ Yes

+
+

+
+

+
+

+ Get + local verdict

+
+

+ getverdict

+
+

+
+

+
+

+ Yes

+
+

+ Yes

+
+

+ External + actions

+
+

+ Stimulate + an (SUT) action externally

+
+

+ action

+
+

+ Yes

+
+

+ Yes

+
+

+
+

+
+

+ Execution + of test cases

+
+

+ Execute + test case

+
+

+ execute

+
+

+ Yes

+
+

+ Yes
(see note 2)

+
+

+
+

+
+

+ NOTE + 1: Can be used to control timer operations + only.

+

+ NOTE + 2: Can only be used in functions and + altsteps that are used in module control.

+

+ NOTE + 3: Changing of component variables is + disallowed.

+

+ NOTE + 4: Can be used in functions and altsteps + but not in test cases.

+
+
+

+

+

+

+19 Basic program statements

+

+The basic program statements presented in table +16 can be used in the control part of a module and in TTCN‑3 +functions, altsteps and test cases.

+

+Table 16: +Overview of TTCN‑3 basic program +statements

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Basic + program statements

+
+

Statement

+
+

Associated + keyword or symbol

+
+

Assignments + +

+
+

:=

+
+

If-else + +

+
+

if + (…) {…} else {…}

+
+

Select + case

+
+

select + case (…) { case (…) {…} case else {…}}

+
+

For + loop +

+
+

for + (…) {…}

+
+

While + loop +

+
+

while + (…) {…}

+
+

Do + while loop

+
+

do + {…} while (…)

+
+

Label + and Goto

+
+

label + / goto

+
+

Stop + execution

+
+

stop

+
+

Returning + control

+
+

return

+
+

Leaving + a loop, alt, altstep or interleave

+
+

break

+
+

Next + iteration of a loop

+
+

continue

+
+

Logging + +

+
+

log

+
+
+

+

+

+

+19.1 Assignments

+

+Values or templates may be assigned to variables or template +variables (see clause 11). This is indicated by the symbol ":=".

+

+Syntactical Structure

+

+VariableRef +":=" ( Expression +| TemplateBody +)

+

+
+

+

+Semantic Description

+

+During execution of an assignment, the right-hand side of the +assignment shall evaluate to a value or template. The effect of an +assignment is to bind the variable to the value of the expression or +to a template. The expression shall contain no unbound variables. +Assignments are processed from left to right, i.e. expressions in the +left-hand-side are evaluated before those in the right-hand-side. The +evaluations obey the operator precedence defined in table 6. The +right-hand-side is evaluated completely before the resulting value or +template is bound to the evaluated left-hand side of the assignment. +Whenever assignments are used within the right-hand-side of an +assignment (due to assignment notation), these rules apply +recursively.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The right‑hand side of an assignment shall evaluate to a value + or template, which is type compatible with the variable at the + left-hand side of the assignment.

    +
  2. + When the right‑hand side of the assignment evaluates to a + template (global or local template, in-line template or template + variable), the variable at the left hand side shall be a template + variable.

    +
+

+Examples

+

MyVariable +:= (x + y - increment(z))*3;

+


+

+

+19.2 The If-else statement

+

+The if-else +statement, also known as the conditional statement, is used to denote +branching in the control flow.

+

+Syntactical Structure

+

+if +"(" BooleanExpression +")" StatementBlock

+

+{ +else if +"(" BooleanExpression +")" StatementBlock +}

+

+[ +else +StatementBlock]

+

+
+

+

+NOTE: else +if "(" +BooleanExpression +")" StatementBlock +[ else +StatementBlock] +is a shorthand notation for
else +"{" +if +"(" +BooleanExpression +")" StatementBlock +[ else +StatementBlock] +"}".

+

+Semantic Description

+

+The branching of the control flow is decided upon the value of the +Boolean expressions - the condition. A statement block - and only one +- will be executed, if its condition evaluates to true. The optional +else specifies a statement block that will be executed if all the +"if" and "else if" conditions before are false. +

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

if +(date == "1.1.2005") { return +( +fail ); }

+


+

+

if +(MyVar < 10) { MyVar := MyVar * 10; log ("MyVar < 10"); +}

+

else +{ MyVar := +MyVar/5; }

+


+

+

+19.3 The Select case statement

+

+The select case +statement is an alternative syntactic form of the if-else +statement.

+

+Syntactical Structure

+

+select +"(" SingleExpression +")" "{" +

+

+ { +case "(" +{ SingleExpression +[","] } ")" StatementBlock +}

+

+ [ +case else +StatementBlock +]

+

+"}"

+

+
+

+

+Semantic Description

+

+The select case +statement is an alternative to using if +.. else +if +.. else +statements when comparing a value to one or several other values. The +statement contains a header part and zero or more branches. Never +more than one of the branches is executed.

+

+In the header part of the select +case statement an expression shall be given. Each branch +starts with the case +keyword followed by a list of templateInstance (a list branch, which +may also contain a single element) or the else +keyword (an else branch) and a statement block.

+

+All templateInstance in all list branches shall be of a type +compatible with the type of the expression in the header.
A list +branch is selected and the statement block of +the selected branch is executed only, if any of the templateInstance +matches the value of the expression in the header of the statement. +On executing the statement block of the +selected branch (i.e. not jumping out by a go to statement), +execution continues with the statement following the select case +statement.

+

+The statement block of an else branch is +always executed if no other branch textually preceding the else +branch has been selected.

+

+Branches are evaluated in their textual order. If none of the +templateInstance-s matches the value of the expression in the header +and the statement contains no else branch, execution continues +without executing any of the select +case branches.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The select + SingleExpression and the case + SingleExpression-s shall be type compatible.

    +
+

+Examples

+

+ select +(MyModulePar) + // where MyModulePar is of charstring type

+

+ {
case +("firstValue")
{
log +("The first branch is selected");
}
case +(MyCharVar, MyCharConst)
{
log +("The second branch is selected");
}
case +else
{
+
log +("The value of the module parameter MyModulePar +is selected");
}

+

+ }

+


+

+

// +the above select statement is equivalent to the following nested +if-else statement.

+

// +Note: the following textual replacement of the select-case statement +is described in

+

// +the operational semantics of TTCN-3.

+

{

+

var +charstring +myTempVar := MyModulePar;

+

if +(match(myTempVar, +"firstValue")
{
log +("The first branch is selected");
}
else +if +(match(myTempVar, +MyCharVar) or +match(myTempVar, +MyCharConst))
{
log +("The second branch is selected");
}
else +
{
log +("The value of the module parameter MyModulePar +is selected");
}

+

}

+


+

+

+19.4 The For statement

+

+The for +statement defines a counter loop.

+

+Syntactical Structure

+

+for +"(" ( VarInstance +| Assignment +) ";" BooleanExpression +";" Assignment +")"

+

+ StatementBlock

+

+
+

+

+Semantic Description

+

+The for +statement contains two assignments and a boolean +expression. The first assignment is necessary to initialize the index +(or counter) variable of the loop. The boolean +expression terminates the loop and the second assignment is used to +manipulate the index variable.

+

+The value of the index variable is increased, decreased or +manipulated in such a manner that after a certain number of execution +loops a termination criteria is reached. +

+

+The termination criterion of the loop shall be +expressed by a boolean +expression. It is checked at the beginning of each new loop +iteration. If it evaluates to true, +the execution continues with the +statement block in the for +statement, if it evaluates to false, +the execution continues with the statement which immediately follows +the for +loop. If a break +statement is executed that is not within the body of an enclosed +loop, alt, +alststep or interleave, +then the loop is terminated, too.

+

+The index variable of a for +loop can be declared before being used in the for +statement or can be declared and initialized in the for +statement header. If the index variable is declared and initialized +in the for +statement header, the scope of the index variable is limited to the +loop body, i.e. it is only visible inside the loop body.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ var +integer j; // Declaration of +integer variable j

+

+ for +(j:=1; j<=10; j:= j+1) { … } // Usage of variable j as index +variable of the for loop

+

+
+

+

+
+

+

+ for +(var float +i:=1.0; i<7.9; i:= i*1.35) { … } // Index variable i is declared +and initialized

+

+ // +in the for loop header. Variable i only is

+

+ // +visible in the loop body.

+


+

+

+19.5 The While statement

+

+A while +statement defines a loop that is executed as long as the loop +condition holds.

+

+Syntactical Structure

+

+while +"(" BooleanExpression +")" StatementBlock

+

+
+

+

+Semantic Description

+

+The loop condition shall be checked at the +beginning of each new loop iteration. If the loop condition does not +hold, then the loop is exited and execution shall continue with the +statement, which immediately follows the while +loop. If a break +statement is executed that is not within the body of an enclosed +loop, alt, +alststep or interleave, +then the loop is terminated, too.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

while +(j<10){ … }

+


+

+

+19.6 The Do-while statement

+

+A do-while +statement defines a loop that is executed up until the loop condition +does not hold.

+

+Syntactical Structure

+

+do +StatementBlock +while "(" +BooleanExpression +")"

+

+
+

+

+Semantic Description

+

+The do-while +loop is identical to a while +loop with the exception that the loop condition shall be checked at +the end +of each loop iteration. This means when using a do-while +loop the behaviour is executed at least once before the loop +condition is evaluated for the first time. If a break +statement is executed that is not within the body of an enclosed +loop, alt, +alststep or interleave, +then the loop is terminated, too.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

do +{ … } while +(j<10);

+


+

+

+19.7 The Label statement

+

+The label +statement allows the specification of labels in test cases, +functions, altsteps and the control part of a module.

+

+Syntactical Structure

+

+label +LabelIdentifier

+

+
+

+

+Semantic Description

+

+A label +marks a statement. The label is used by the goto +statement (see clause 19.8) to transfer control to a labelled +statement.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + A label statement + can be used freely like other TTCN‑3 behavioural program + statements according to the syntax rules defined in annex A. It can + be used before or after a TTCN‑3 statement but not as the + first statement of an alternative or top alternative in an alt + statement, interleave + statement or altstep.

    +
  2. + Labels used following the label + keyword shall be unique among all labels defined in the same test + case, function, altstep or control part.

    +
+

+Examples

+

label +MyLabel; // Defines the label MyLabel

+


+

+

// +The labels L1, L2 and L3 are defined in the following TTCN‑3 +code fragment +

+

+:

+

label +L1; // Definition of label L1

+

alt{

+

[] PCO1.receive(MySig1) + +

+

{ label +L2; // Definition of label L2 +

+

PCO1.send(MySig2);

+

PCO1.receive(MySig3)

+

}

+

[] PCO2.receive(MySig4)

+

{ PCO2.send(MySig5);

+

PCO2.send(MySig6);

+

label +L3; // Definition of label L3 +

+

PCO2.receive(MySig7);

+

}

+

}

+

+:

+


+

+

+19.8 The Goto statement

+

+A goto +statement performs a jump to a label.

+

+Syntactical Structure

+

+goto +LabelIdentifier

+

+
+

+

+Semantic Description

+

+The goto +statement can be used in functions, test cases, altsteps and the +control part of a TTCN‑3 module to +transfer control to a labelled statement. +

+

+The goto +statement provides the possibility to jump freely, i.e. forwards and +backwards, within a sequence of statements, to jump out of a single +compound statement (e.g. a while +loop) and to jump over several levels out of nested compound +statements (e.g. nested alternatives). +

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) It is not allowed to jump out of or into functions, test cases, +altsteps and the control part of a TTCN‑3 module.

+

+b) It is not allowed to jump into a sequence of statements defined in +a compound statement (i.e. alt +statement, while +loop, for +loop, if-else +statement, do- +while loop and the +interleave +statement).

+

+c) It is not allowed to use the goto +statement within an interleave +statement.

+

+Examples

+

+ // +The following TTCN‑3 code fragment includes

+

+ :

+

+ label +L1; // … the definition of label L1,

+

+ MyVar +:= 2 * MyVar;

+

+ if +(MyVar < 2000) { goto +L1; } // … a jump backward to L1,

+

+ MyVar2 +:= Myfunction(MyVar);

+

if +(MyVar2 > MyVar) { goto +L2; } // … a jump forward to L2, +

+

PCO1.send(MyVar);

+

PCO1.receive;

+

label +L2; // … the definition of label L2,

+

PCO2.send(integer: +21);

+

alt +{

+

+ [] PCO1.receive +{ }

+

+ [] PCO2.receive(integer: +67) {

+

label +L3; // … the definition of label L3,

+

PCO2.send(MyVar);

+

alt +{

+

+ [] PCO1.receive +{ }

+

+ [] PCO2.receive(integer: +90) {

+

PCO2.send(integer: +33);

+

PCO2.receive(integer: +13);

+

goto +L4; // … a jump forward out of two nested alt statements,

+

+ }

+

+ [] PCO2.receive(MyError) +{

+

goto +L3; // … a jump backward out of the current alt statement,

+

+ }

+

+ [] any +port.receive +{

+

goto +L2; // … a jump backward out of two nested alt statements,

+

+ }

+

}

+

+ }

+

+ [] any +port.receive +{

+

goto +L2; // … and a long jump backward out of an alt statement.

+

+ }

+

}

+

label +L4;

+

:

+


+

+

+19.9 The Stop execution statement

+

+The stop +statement terminates execution of test components, a test case or a +test control.

+

+Syntactical Structure

+

+stop

+

+
+

+

+Semantic Description

+

+The stop +statement terminates execution in different ways depending on the +context in which it is used. When used in the control part of a +module or in a function used by the control part of a module, it +terminates the execution of the module control part. When used in a +test case, altstep or function that are executed on a test component, +it terminates the relevant test component.

+

+NOTE: The semantics of a stop +statement that terminates a test component is identical to the stop +component operation self.stop +(see clause 21.3.3).

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ module +MyModule {

+

+ +: // Module definitions

+

+ testcase +MyTestCase() runs +on +MyMTCType system +MySystemType{

+

+ var +MyPTCType ptc:= +MyPTCType.create; // +PTC +creation

+

+ ptc.start(MyFunction()); // +start PTC +execution

+

+ +: // test case behaviour continued

+

+ stop // +stops the MTC, +all PTCs and the whole test case

+

+ }

+

+ function +MyFunction() runs +on +MyPTCType {

+

+ +:

+

+ stop // +stops the PTC +only, the test case continues

+

+ }

+

+ control +{

+

+ +: // test execution

+

+ stop // +stops the test campaign

+

+ } +// end control

+

+ } +// end module

+

+
+

+

+19.10 The Return statement

+

+The return +statement terminates execution of functions or altsteps.

+

+Syntactical Structure

+

+return +[ Expression +| TemplateInstance ]

+

+
+

+

+Semantic Description

+

+The return +statement terminates execution of a function or altstep and returns +control to the point from which the function or altstep was called. +When used in functions, a return +statement may be optionally associated with a return value or +template.

+

+TTCN-3 allows optional statement blocks that may follow altstep calls +within alt +statements. If there is a statement block, the return +statement returns control to the beginning of this statement block +and the statement block is executed before the alt +statement is left. If there is no statement block, test execution +continues with the first statement following the alt +statement.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The return statement shall not be used in the statement block of a + testcase.

    +
+

+Examples

+

function +MyFunction() return +boolean {

+

:

+

if +(date == "1.1.2005") {

+

return +false; // +execution stops on the 1.1.2000 and returns the boolean false

+

}

+

:

+

return +true; // +true is returned +

+

}

+


+

+

function +MyTemplateFunction() return +template charstring +{

+

:

+

if +(date == "1.1.2005") {

+

return +"2005"; + // the string of the year is returned

+

}

+

:

+

return +?; // +the any template is returned +

+

}

+


+

+

function +MyBehaviour() return +verdicttype +{

+

+ :

+

if +(MyFunction()) {

+

setverdict(pass); +// use of MyFunction in an if statement +

+

}

+

else +{

+

setverdict(inconc);

+

}

+

+ :

+

return +getverdict; + // explicit return of the verdict +

+

}

+


+

+

+19.11 The Log statement

+

+The log +statement provides the means to write logging information to some +logging device. The information that can be logged is summarized in +table 17.

+

+Table 17: +TTCN‑3 language elements that can be logged

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Used + in a log statement

+
+

+ What + is logged

+
+

+ Comment

+
+

+ module + parameter identifier

+
+

+ actual + value

+
+

+
+

+
+

+ literal + value

+
+

+ value

+
+

+ This + includes also free text.

+
+

+ data + constant identifier

+
+

+ actual + value

+
+

+
+

+
+

+ template + instance

+
+

+ actual + template or field values and matching symbols

+
+

+
+

+
+

+ data + type variable identifier

+
+

+ actual + value
or "UNINITIALIZED"

+
+

+ See + notes 3 and 4.

+
+

+ self, + mtc, + system + or component type variable identifier

+
+

+ actual + value and if assigned the component instance name
or + "UNINITIALIZED"

+
+

+ On + logging actual values see notes 2 to 4. Actual component states + shall be logged according to note 5.

+
+

+ running + operation
(component or timer)

+
+

+ return + value

+
+

+ true + or false. In + case of component or timer arrays, array element specification + shall be included.

+
+

+ alive + operation
(component)

+
+

+ return + value

+
+

+ true + or false. + In case of arrays, array element specifications shall be + included.

+
+

+ port + instance +

+
+

+ actual + state

+
+

+ Port + states shall be logged according to note 6.

+
+

+ default + type variable identifier

+
+

+ actual + state
or "UNINITIALIZED"

+
+

+ Default + states shall be logged according to note 7. See also notes + 2 to 4.

+
+

+ timer + name

+
+

+ actual + state

+
+

+ Timer + states shall be logged according to note 8.

+
+

+ read + operation

+
+

+ return + value

+
+

+ See + clause 24.3.

+
+

+ match + operation

+
+

+ return + value

+
+

+
+

+
+

+ getverdict + operation

+
+

+ return + value

+
+

+ none, + pass, inconc, + or fail

+
+

+ predefined + functions

+
+

+ return + value

+
+

+ See + annex C.

+
+

+ function + instance

+
+

+ return + value

+
+

+ Only + functions with return clause are allowed.

+
+

+ external + function instance

+
+

+ return + value

+
+

+ Only + external functions with return clause are allowed.

+
+

formal + parameter identifier

+
+

see + comment column

+
+

Logging + of actual parameters shall follow rules specified for the + language elements they are substituting. In case of value + parameters the actual parameter value, in case of template-type + parameters the actual template or field values and matching + symbols, in case of component type parameters the actual + component reference etc. shall be logged. For timer parameters + also the use of the read operation and for component type and + timer parameters the use of the running operation are allowed.

+
+

+ NOTE + 1: Actual value/actual template is the value/template at the + moment of the execution of the log statement.

+

+ NOTE + 2: The type of the logged value is tool dependent.

+

+ NOTE + 3: In case of array identifiers without array element + specification, actual values and for component references names + of all array elements shall be logged.

+

+ NOTE + 4: The string "UNINITIALIZED" + is logged only if the log item is unbound (uninitialized).

+

+ NOTE + 5: Component states that can be logged are: Inactive, Running, + Stopped and Killed (for further details see annex F).

+

+ NOTE + 6: Port states that can be logged are: Started and Stopped (for + further details see annex F).

+

+ NOTE + 7: Default states that can be logged are: Activated and + Deactivated.

+

+ NOTE + 8: Timer states that can be logged are: Inactive, Running and + Expired (for further details see annex F).

+
+
+

+

+

+

+Syntactical Structure

+

+log +"(" { ( FreeText +| TemplateInstance +) [","] } ")"

+

+
+

+

+Semantic Description

+

+The log +statement provides the means to write one or more log items to some +logging device associated with the test control or the test component +in which the statement is used. Items to be logged shall be +identified by a comma‑separated list in the argument of the log +statement. Log items may be individual language elements specified in +table 17 or expressions composed of such log items.

+

+It is strongly recommended that the execution of the log +statement has no effect on the test behaviour. In particular, +functions used in a log statement should not (explicitly or +implicitly) change component variable values, port or timer status, +and should not change the value of any of its inout or out +parameters.

+

+NOTE: It is outside the scope of the present document to define +complex logging and trace capabilities which may be tool dependent.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

var +integer myVar:= 1;

+

log("Line +248 in PTC_A: +", myVar, " (actual value of myVar)");

+

// +The string "Line +248 in PTC_A: +1 (actual value of myVar)" is written to some log device

+

// +of the test system +

+


+

+

+19.12 The Break statement

+

+A break +statement causes the exit from a loop, from an altstep or from an alt +or interleave +statement.

+

+Syntactical Structure

+

+break

+

+
+

+

+Semantic Description

+

+On executing a break +statement the innermost, currently executed loop, alt +statement or interleave +statement is left. Execution continues with the statement following +the construct which is left. Using break +outside the body of a loop (for, +while, +do-while) +or an alternative of an alt +or interleave +statement shall cause an error.

+

+Altsteps are always executed within a +surrounding alt +statement. If the execution of a top alternative of an altstep (see +clause 16.2) ends with a break +statement, the altstep and the surrounding alt +statement are left. Execution continues with the statement following +the surrounding alt +statement.

+

+NOTE: TTCN-3 allows optional statement blocks that may follow altstep +calls within alt +statements. These statement blocks are not executed when the altstep +is left by executing a break +statement. A return +statement has to be used, if such an optional statement block has to +be executed (see clause 19.10).

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

do +{

+

…

+

if +(cond1) {

+

break; // +the do-while loop is left

+

}

+

…

+

for +(var +integer +j:=1; j<=10; j:= j+1) {

+

…

+

if +(cond2) {

+

break; // +the for-loop is left but the do-while loop is continued

+

}

+

…

+

}

+

…

+

}

+

while +(j<10);

+


+

+

+19.13 The Continue statement

+

+A continue +statement causes the start of the next iteration of a loop.

+

+Syntactical Structure

+

+continue

+

+
+

+

+Semantic Description

+

+On executing a continue +statement, the subsequent statements of the body of the innermost, +currently executed loop are skipped and the next iteration starts. +Using continue +outside the body of a loop (for, +while, +do-while) +shall cause an error.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ do +{

+

+ …

+

+ if +(cond) {

+

continue; // +execution continues with the next iteration of the do-while-loop

+

}

+

…

+

…

+

for +(var +integer +j:=1; j<=10; j:= j+1) {

+

…

+

if +(cond2) {

+

continue; // +continues with the next iteration of the for-loop

+

}

+

…

+

}

+

…

+

}

+

while +(j<10);

+


+

+

+19.14 Statement block

+

+Statement blocks can be used like basic program +statements to introduce a local scope in the flow of control of +TTCN-3 behaviour. The declarations and +statements in a statement block are executed in the order of their +appearance, i.e. sequentially.

+

+Syntactical Structure

+

+"{" +{ LocalDefinition +| Statement +} "}"

+

+
+

+

+Semantic Description

+

+A statement block defines a local scope unit. +Scoping rules for TTCN-3 are defined in +clause 5.2. +

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

var +integer +aVar:= 0; // aVar is declared

+


+

+

{ // +start of a statement block

+

var +integer +myVar:= 2; // myVar is declared

+

aVar +:= 5 + myVar; // myVar is used in an assignment

+

} // +end of statement block

+


+

+

// +after leaving the statement block aVar is still known, but myVar is +not known anymore.

+


+

+

+20 Statement and operations for alternative behaviours

+

+Test behaviour cannot only be expressed sequentially, but also as a +set of alternatives or combinations of both. An interleaving operator +allows the specification of interleaved sequences or alternatives. +Table 18 summarizes the statements and operations for alternative +behaviours.

+

+Table 18: Overview of TTCN‑3 +statements and operations for alternative behaviours

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statements + and operations for alternative behaviours

+
+

Statement/Operation

+
+

Associated + keyword or symbol

+
+

Alternative + behaviour

+
+

alt + { … } +

+
+

Re-evaluation + of alt statements

+
+

repeat

+
+

Interleaved + behaviour

+
+

interleave + { … }

+
+

Activate + a default

+
+

activate

+
+

Deactivate + a default

+
+

deactivate

+
+
+

+

+

+

+20.1 The snapshot mechanism

+

+A more complex form +of behaviour is where sequences of statements are expressed as sets +of possible alternatives to form a tree +of execution paths, as illustrated in figure 9.

+

+

+

+Figure 9: Illustration of +alternative behaviour

+

+This is done with the alt +statement.

+

+When entering an alt +statement, a snapshot is taken. A snapshot is considered to be a +partial state of a test component that includes all information +necessary to evaluate the Boolean conditions that guard alternative +branches, all relevant stopped test components, all relevant timeout +events and the top messages, calls, replies and exceptions in the +relevant incoming port queues. Any test component, timer and port +which is referenced in at least one alternative in the alt +statement, or in a top alternative of an altstep that is invoked as +an alternative in the alt +statement or activated as default is considered to be relevant. A +detailed description of the snapshot semantics is given in the +operational semantics of TTCN‑3 +(part 4 of the TTCN‑3 standard - +ES 201 873-4 [1]).

+

+NOTE 1: Snapshots are only a conceptual means for describing the +behaviour of the alt +statement. The concrete algorithms for the snapshot handling can be +found in part 4 of the TTCN‑3 +standard (ES 201 873-4 [1]).

+

+NOTE 2: The TTCN‑3 semantics assumes that taking a snapshot is +instantaneous, i.e. has no duration. In a real implementation, taking +a snapshot may take some time and race conditions may occur. The +handling of such race conditions is outside the scope of the present +document.

+

+20.2 The Alt statement

+

+An alt statement expresses sets of possible +alternatives that form a tree of +possible execution paths.

+

+Syntactical Structure

+

+alt +"{" +

+

+ { + +

+

+ + "[" [ BooleanExpression +] "]" +

+

+ +( ( TimeoutStatement +|

+

+ ReceiveStatement +|

+

+ TriggerStatement +|

+

+ GetCallStatement +|

+

+ CatchStatement +|

+

+ CheckStatement +|

+

+ GetReplyStatement +|

+

+ DoneStatement +|

+

+ KilledStatement +) StatementBlock +) +

+

+ +| +

+

+ +( AltstepInstance +[ StatementBlock +] )

+

+ } + +

+

+ [ +"[" else +"]" StatementBlock +]

+

+"}"

+

+
+

+

+Semantic Description

+

+The alt +statement denotes branching of test behaviour due to the reception +and handling of communication and/or timer events and/or the +termination of parallel test components, i.e. it is related to the +use of the TTCN‑3 operations +receive, +trigger, +getcall, +getreply, +catch, +check, +timeout, +done and killed. +The alt +statement denotes a set of possible events that are to be matched +against a particular snapshot.

+

+Execution of alternative behaviour:

+

+When entering an alt +statement, a snapshot is taken.

+

+The alternative branches in the alt +statement and the top alternatives of invoked altsteps and altsteps +that are activated as defaults are processed in the order of their +appearance. If several defaults are active, the reverse order of +their activation determines the evaluation order of the top +alternatives in the defaults. The alternative branches in active +defaults are reached by the default mechanism described in clause 20.5.

+

+The individual alternative branches are either +branches that may be guarded by a Boolean expression or +else-branches, i.e. alternative branches starting with [else].

+

+Else-branches are always chosen and executed when they are reached +(see below).

+

+Branches that may be guarded by a Boolean +expressions either invoke an altstep (altstep-branch), +or start with a done +operation (done-branch), +a killed +operation (killed-branch), +timeout +operation (timeout-branch) +or a receiving operation (receiving-branch), +i.e. receive, +trigger, getcall, +getreply, +catch +or a check +operation. The evaluation of the Boolean guards shall be based on the +snapshot. The Boolean guard is considered to be fulfilled +if no Boolean guard is defined, or if the Boolean guard evaluates to +true. +The branches are processed and executed in the following manner.

+

+An altstep-branch +is selected if the Boolean guard is fulfilled. The selection of an +altstep-branch +causes the invocation of the referenced altstep, i.e. the altstep is +invoked and the evaluation of the snapshot continues within the +altstep. Altstep-branches may contain an optional statement block. +The optional statement block shall be executed only, if an +alternative of the altstep referenced in the altstep-branch has been +selected and executed.

+

+A done-branch +is selected if the Boolean guard is fulfilled and if the specified +test component is in the list of stopped components of the snapshot. +The selection causes the execution of the statement block following +the done +operation. The done +operation itself has no further effect.

+

+A killed-branch +is selected if the Boolean guard is fulfilled and if the specified +test component is in the list of killed components of the snapshot. +The selection causes the execution of the statement block following +the killed +operation. The killed +operation itself has no further effect.

+

+A timeout-branch +is selected if the Boolean guard is fulfilled and if the specified +timeout event is in the timeout-list of the snapshot. The selection +causes execution of the specified timeout +operation, i.e. removal of the timeout event from the timeout-list, +and the execution of the statement block following the timeout +operation.

+

+A receiving-branch +is selected if the Boolean guard is fulfilled and if the matching +criteria of receiving operation is fulfilled by one of the messages, +calls, replies or exceptions in the snapshot. The selection causes +execution of the receiving operation, i.e. removal of the matching +message, call, reply or exception from the port queue, maybe an +assignment of the received information to a variable and the +execution of the statement block following the receiving operation. +In the case of the trigger +operation the top message of +the queue is also removed if the Boolean guard is fulfilled but the +matching criteria is not. In this case the statement block of the +given alternative is not executed.

+

+NOTE 1: The TTCN‑3 semantics describe the evaluation of a +snapshot as a series of indivisible actions of a test component. The +semantics do not assume that the evaluation of a snapshot has no +duration. During the evaluation of a snapshot, test components may +stop, timers may timeout and new messages, calls, replies or +exceptions may enter the port queues of the component However, these +events do not change the actual snapshot and thus, are not considered +for the snapshot evaluation.

+

+NOTE 2: Due to the possibility of defining dynamic test +configurations, a receiving branch may refer to a disconnected or +unmapped port at the time of its evaluation. In TTCN-3, ports belong +to the receiving component and matching is +related to the top elements in the port queues. Dynamically unmapped +and disconnected ports contribute to a snapshot in the same manner as +mapped and connected ports. This means, the execution of receiving +operations may empty the queues of unmapped and disconnected ports +without causing a test case error.

+

+If none of the alternative branches in the alt +statement and top alternatives in the invoked altsteps and active +defaults can be selected and executed, the alt +statement shall be executed again, i.e. a new snapshot is taken and +the evaluation of the alternative branches is repeated with the new +snapshot. This repetitive procedure shall continue until either an +alternative branch is selected and executed, or the test case is +stopped by another component or by the test system (e.g. because +the MTC is stopped) or with a dynamic +error.

+

+The test case shall stop and indicate a dynamic error if a test +component is completely blocked. This means none of the alternatives +can be chosen, no relevant test component is running, no relevant +timer is running and all relevant ports contain at least one message, +call, reply or exception that do not match.

+

+NOTE 3: The repetitive procedure of taking a complete snapshot and +re-evaluate all alternatives is only a conceptual means for +describing the semantics of the alt +statement. The concrete algorithm that implements this semantics is +outside the scope of the present document.

+

+Selecting/deselecting an alternative:

+

+If necessary, it is possible to enable/disable an alternative by +means of a Boolean expression placed between the ("[…]") +brackets of the alternative.

+

+Else branch in alternatives:

+

+Any branch in an alt +statement can be defined as an else branch by including the else +keyword between the opening and closing brackets at the beginning of +the alternative. The statement block of the else branch is always +executed if no other alternative textually preceding the else branch +has proceeded.

+

+Default mechanism:

+

+It should be noted that the default mechanism +(see clause 20.5) is always invoked at the end of all alternatives. +If an else +branch is defined, the default mechanism will never be called, i.e. +active defaults will never be entered.

+

+NOTE 4: It is also possible to use else +in altsteps.

+

+NOTE 5: It is allowed to use a repeat +statement within an else +branch.

+

+NOTE 6: It is allowed to define more than one else branch in an alt +statement or in an altstep, however always only the first else branch +is executed.

+

+Re-evaluation of alt statements:

+

+The re-evaluation of an alt +statement can be specified by using a repeat +statement (see clause 20.3).

+

+Invocation of altsteps as alternatives:

+

+TTCN‑3 allows the invocation of altsteps +as alternatives in alt +statements (see clause 16.2.1). When an altstep is explicitly invoked +as an alternative, the optional statement block following the altstep +call shall also be executed.

+

+Continue execution after the alt statement:

+

+Behaviour execution continues with the statement following the alt +statement when one of the branches of the alt +or invoked defaults is selected and completely executed, or a branch +of an altstep used +in an altsteps-branch is selected and the branch and the optional +statement block following the invoked altstep are completely +executed.

+

+Execution also continues with the statement following the alt +statement if a break +statement is reached in the statement block of +the selected branch of an alt +statement, of an altstep +used in an altstep-branch, or of an altstep +invoked as default.

+

+The alt +statement can also be left by using a goto +statement in the selected branch of the alt +(i.e. no branches of altsteps and defaults can be considered in this +case), and execution continues with the statement following the +label, goto +is pointing to.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The open and close square brackets ("[…]") shall be + present at the start of each alternative, even if they are empty. + This not only aids readability but also is necessary to + syntactically distinguish one alternative from another.

    +
+
    +
  1. + The evaluation of a Boolean expression guarding an alternative may + have side-effects. To avoid side effects that cause an inconsistency + between the actual snapshot and the state of the component, the same + restrictions as the restrictions for the initialization of local + definitions within altsteps shall apply (clause 16.2).

    +
  2. + The else branch shall not contain any of the actions allowed in + branches guarded by a boolean expression (i.e. an altstep + call or a done, + a killed, a + timeout + or a receiving operation).

    +
  3. + An alt statement + used within the module control part shall only contain the timeout + statements. +

    +
+

+Examples

+

+EXAMPLE 1: Nested alternatives

+

alt +{

+

[] +MyPort.receive +(MyMessage) {

+

setverdict +(pass);

+

MyTimer.start;

+

alt +{

+

[] +MyPort.receive +(MySecondMessage) {

+

MyTimer.stop;

+

setverdict +(pass);

+

}

+

[] +MyTimer.timeout +{

+

MyPort.send +(MyRepeat);

+

MyTimer.start;

+

alt +{

+

[] +MyPort.receive +(MySecondMessage) {

+

MyTimer.stop;

+

setverdict +(pass)

+

}

+

[] +MyTimer.timeout +{ setverdict +(inconc) }

+

[] +MyPort.receive +{ setverdict +(fail) }

+

}

+

}

+

[] +MyPort.receive +{ setverdict +(fail) }

+

}

+

}

+

[] +MyTimer.timeout +{ setverdict +(inconc) }

+

[] +MyPort.receive +{ setverdict +(fail) }

+

}

+


+

+

+EXAMPLE 2: Alt statement with guards

+

alt +{

+

+ [x>1] L2.receive +{ // Boolean guard/expression +

+

setverdict(pass);

+

+ }

+

+ [x<=1] L2.receive +{ // Boolean guard/expression +

+

setverdict(inconc);

+

+ }

+

}

+

+


+

+

+EXAMPLE 3: Alt statement with else branch

+

+ // +Use of alternative with Boolean expressions (or guard) and else +branch

+

+ alt +{

+

+ :

+

+ [else] +{ // else branch

+

MyErrorHandling(); + +

+

setverdict(fail);

+

stop;

+

+ }

+

}

+


+

+

+EXAMPLE 4: Re-evaluation with repeat

+

alt +{

+

+ [] PCO3.receive +{

+

count +:= count + 1;

+

repeat // +usage of repeat

+

+ }

+

+ [] T1.timeout +{ }

+

+ [] any +port.receive +{

+

setverdict(fail);

+

stop;

+

+ }

+

}

+


+

+

+EXAMPLE 5: Alt statement with explicitly invoked altstep

+

+ alt +{

+

+ + [] PCO3.receive +{ }

+

+ + [] AnotherAltStep() { // Explicit call of altstep AnotherAltStep as +alternative.

+

+ setverdict(inconc) // +Statement block executed if an alternative within

+

+ // +altstep AnotherAltStep has been selected and executed.

+

+ +}

+

+ + [] MyTimer.timeout +{ }

+

+ }

+


+

+

+20.3 The Repeat statement

+

+The repeat +statement is used for a re-evaluation of an alt +statement.

+

+Syntactical Structure

+

+repeat

+

+
+

+

+Semantic Description

+

+The repeat +statement, when used in the statement block of alternatives of alt +statements, causes the re-evaluation of the alt +statement, i.e. a new snapshot is taken and the alternatives of the +alt +statement are evaluated in the order of their specification. +

+

+When used in statement blocks of the response +and exception handling parts of blocking procedure calls, the repeat +statement causes the re-evaluation of the response and exception +handling part of the call (see clause 22.3.1).

+

+If a repeat +statement is used in a top alternative in an altstep definition, it +causes a new snapshot and the re‑evaluation of the alt +statement from which the altstep has been called. The call of the +altstep may either be done implicitly by the default mechanism (see +clause 20.5.1) or explicitly in the alt +statement (see clause 20.2).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The repeat + statement shall only be used within alt + statements, call + statements or altsteps.

    +
+

+Examples

+

+EXAMPLE 1: Usage of repeat in an alt statement

+

alt +{

+

+ [] PCO3.receive +{

+

count +:= count + 1;

+

repeat // +usage of repeat

+

+ }

+

+ [] T1.timeout +{ }

+

+ [] any +port.receive +{

+

setverdict(fail);

+

stop;

+

+ }

+

}

+

+EXAMPLE 2: Usage of repeat in an altstep

+

altstep +AnotherAltStep() +runs on +MyComponentType {

+

[] +PCO1.receive{

+

setverdict(inconc);

+

repeat // +usage of repeat

+

+ }

+

[] +PCO2.receive +{}

+

}

+


+

+

+20.4 The Interleave statement

+

+The interleave +statement allows to specify the interleaved occurrence and handling +of receiving events including done, +killed, +timeout, +receive, +trigger, +getcall, +getreply, +catch +and check.

+

+Syntactical Structure

+

+interleave +"{" +

+

+ { +"[]" ( TimeoutStatement +|

+

+ ReceiveStatement +|

+

+ TriggerStatement +|

+

+ GetCallStatement +|

+

+ CatchStatement +|

+

+ CheckStatement +|

+

+ GetReplyStatement +|

+

+ DoneStatement +|

+

+ KilledStatement +) StatementBlock

+

+ } + +

+

+"}"

+

+
+

+

+Semantic Description

+

+The interleave +statement allows to specify the interleaved occurrence and handling +of the statements done, +killed, +timeout, +receive, +trigger, +getcall, +getreply, +catch +and check.

+

+Interleaved behaviour can always be replaced by +an equivalent set of nested alt +statements. The procedures for this replacement and the operational +semantics of interleaving are described in part 4 of the TTCN‑3 +standard (ES 201 873‑4 [1]).

+

+The rules for the evaluation of an interleaving statement are the +following:

+
    +
  1. + Whenever a reception statement is executed, the following + non-reception statements are subsequently executed until the next + reception statement is reached, a break + statement is reached, or the interleaved sequence ends.

    +
+

+NOTE 1: Reception statements are TTCN‑3 +statements which may occur in sets of alternatives, i.e. receive, +check, +trigger, +getcall, +getreply, +catch, +done, +killed +and timeout. +Non-reception statements denote all other non-control-transfer +statements which can be used within the interleave +statement.

+
    +
  1. + If none of the alternatives of the interleave + statement can be executed, the default mechanism will be invoked. + This means, according to the semantics of the default mechanism, the + actual snapshot will be used to evaluate those altsteps that have + been activated before entering the interleave + statement.

    +
+

+NOTE 2: The complete semantics of the default +mechanism within an interleave +statement is given by replacing the interleave +statement by an equivalent set of nested alt +statements. The default mechanism applies for each of these alt +statements.

+
    +
  1. + The evaluation then continues by taking the next snapshot if no + break statement + was encountered.

    +
  2. + The evaluation of the interleave + statement is terminated if a break + statement is executed.

    +
+

+The operational semantics of interleaving are +fully defined in part 4 of the TTCN‑3 +standard (ES 201 873-4 [1]).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Control transfer statements for, + while, do-while, + goto, activate, + deactivate, stop, + repeat, return, + direct call of altsteps as alternatives and (direct and indirect) + calls of user-defined functions, which include reception statements, + shall not be used in interleave + statements.

    +
  2. + In addition, it is not allowed to guard branches of an interleave + statement with Boolean expressions (i.e. the '[ ]' shall always + be empty). It is also not allowed to specify else + branches in interleaved behaviour.

    +
+

+Examples

+

+ // +The following TTCN‑3 code fragment +

+

interleave +{

+

[] PCO1.receive(MySig1) +{

+

PCO1.send(MySig2);

+

PCO1.receive(MySig3);

+

}

+

[] PCO2.receive(MySig4) +{

+

PCO2.send(MySig5);

+

PCO2.send(MySig6);

+

PCO2.receive(MySig7);

+

}

+

}

+


+

+

// +is a shorthand for +

+

alt +{

+

[] PCO1.receive(MySig1) +{

+

PCO1.send(MySig2);

+

alt +{

+

[] PCO1.receive(MySig3) +{

+

alt +{

+

[] PCO2.receive(MySig4) +{

+

PCO2.send(MySig5);

+

PCO2.send(MySig6);

+

PCO2.receive(MySig7)

+

}

+

}

+

}

+

[] PCO2.receive(MySig4) +{

+

PCO2.send(MySig5);

+

PCO2.send(MySig6);

+

alt +{

+

[] PCO1.receive(MySig3) +{

+

PCO2.receive(MySig7); + +

+

}

+

[] PCO2.receive(MySig7) +{

+

PCO1.receive(MySig3); + +

+

}

+

}

+

}

+

}

+

}

+

[] PCO2.receive(MySig4) +{

+

PCO2.send(MySig5);

+

PCO2.send(MySig6);

+

alt +{

+

[] PCO1.receive(MySig1) +{

+

PCO1.send(MySig2);

+

alt +{

+

[] PCO1.receive(MySig3) +{

+

PCO2.receive(MySig7);

+

}

+

[] PCO2.receive(MySig7) +{

+

PCO1.receive(MySig3);

+

}

+

}

+

}

+

[] PCO2.receive(MySig7) +{

+

alt +{

+

[] PCO1.receive(MySig1) +{

+

PCO1.send(MySig2);

+

PCO1.receive(MySig3);

+

}

+

}

+

}

+

}

+

}

+

}

+


+

+

+20.5 Default Handling

+

+TTCN‑3 allows the activation of altsteps +(see clause 16.2) as defaults. For each test component the defaults, +i.e. activated altsteps, are stored as an ordered list. The +defaults are listed in the reversed order of their activation i.e. +the last activated default is the first element in the list of active +defaults. The TTCN‑3 operations +activate +(see clause 20.5.2) and deactivate +(see clause 20.5.3) operate on the list of defaults. An activate +puts a new default as the first element into the list and a +deactivate +removes a default from the list. A default in the default list can be +identified by means of default reference that is generated as a +result of the corresponding activate +operation.

+

+20.5.1 The default mechanism

+

+The default mechanism is evoked at the end of +each alt +statement, if due to the actual snapshot none of the specified +alternatives could be executed. An evoked default mechanism invokes +the first altstep in the list of defaults, i.e. the last activated +default, and waits for the result of its termination. The termination +can be successful or unsuccessful. Unsuccessful means that none of +the top alternatives of the altstep +(see clause 16.2) defining the default behaviour could be selected, +successful means that one of the top alternatives of the default has +been selected and executed.

+

+NOTE 1: An interleave +statement is semantically equivalent to a nested set of alt +statements and the default mechanism also applies to each of these +alt statements. +This means, the default mechanism also applies to interleave +statements. Furthermore, the restrictions imposed on interleave +statements in clause 20.4 do not apply to altsteps that are +activated as default behaviour for interleave statements.

+

+NOTE 2: Due to the possibility of defining dynamic test +configurations, an alternative in an altstep activated as default may +refer to a disconnected or unmapped port at the time of its +evaluation. In TTCN-3, ports belong to the receiving component and +matching is related to the top elements in the +port queues. Dynamically unmapped and disconnected ports contribute +to a snapshot in the same manner as mapped and connected ports. This +means, an altstep +invoked as default may execute receiving operations that empty the +queues of unmapped and disconnected ports without causing a test case +error.

+

+In the case of an unsuccessful termination, the +default mechanism invokes the next default in the list. If the last +default in the list has terminated unsuccessfully, the default +mechanism will return to the place in +the alt +statement in which it has been invoked, i.e. at the end of the alt +statement, and indicate an unsuccessful default execution. An +unsuccessful default execution will also be indicated if the list of +defaults is empty.

+

+An unsuccessful default execution may cause a new snapshot or a +dynamic error if the test component is blocked (see clause 20.1).

+

+In the case of a successful termination, the +default may either stop the test component by means of a stop +statement, or the main control flow of the test component will +continue immediately after the alt +statement from which the default mechanism was called or the test +component will take new snapshot and re-evaluate the alt +statement. The latter has to be specified by means of a repeat +statement (see clause 20.3). If the execution of the selected top +alternative of the default ends with a break +statement or without a repeat +statement the control flow of the test component will continue +immediately after the alt +statement.

+

+NOTE 3: TTCN‑3 does not restrict the implementation of the +default mechanism. It may for example be implemented in form of a +process that is implicitly called at the end of each alt +statement or in form of a separate thread that is only responsible +for the default handling. The only requirement is that defaults are +called in the reverse order of their activation when the default +mechanism has been invoked.

+

+20.5.2 The Activate operation

+

+The activate +operation is used to activate altsteps as defaults.

+

+Syntactical Structure

+

+activate +"(" AltstepRef +"(" [ { ActualPar +[","] } ] ")" ")"

+


+

+

+Semantic Description

+

+An activate +operation will put the referenced altstep as the first element into +the list of defaults and return a +default reference. The default reference is a unique identifier for +the default and may be used in a deactivate +operation for the deactivation of the default.

+

+The effect of an activate +operation is local to the test component in which it is called. This +means, a test component cannot activate a default in another test +component.

+

+The activate +operation can be called without saving the returned default +reference. This form is useful in test +cases which do not require explicit deactivation of the activated +default, i.e. deactivation of a default is done implicitly at MTC +termination.

+

+The actual parameters of a parameterized +altstep (see clause 16.2.1) that should be activated as a default, +shall be provided in the corresponding activate +statement. This means the actual parameters are bound to the default +at the time of its activation (and not e.g. at the time of its +invocation by the default mechanism).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) All timer instances in the actual parameter list shall be declared +as component type local timers (see clause 6.2.10.1).

+

+b) An altstep that is activated as a default shall only have in +parameters, port parameters, or timer parameters.

+

+Examples

+

+EXAMPLE 1: Activation where the default reference is kept

+

+ // +Declaration of a variable for the handling of defaults

+

var +default +MyDefaultVar := null;

+

+:

+

// +Declaration of a default reference variable and activation of an +altstep as default

+

var +default +MyDefVarTwo := activate(MySecondAltStep());

+

+:

+

// +Activation of altstep MyAltStep as a default

+

MyDefaultVar +:= activate(MyAltStep()); +// MyAltStep is activated as default

+

+:

+

// +Usage of MyDefaultVar for the deactivation of default MyDefAltStep

+

deactivate(MyDefaultVar);

+


+

+

+EXAMPLE 2: Simple activation

+

// +Activation of an altstep as a default, without assignment of default +reference

+

activate(MyCommonDefault());

+


+

+

+EXAMPLE 3: Activation of a parameterized altstep

+

altstep +MyAltStep2 ( integer + par_value1, MyType par_value2,
+MyPortType par_port,
timer + par_timer )
{
:
}

+

function +MyFunc () runs +on +MyCompType

+

{ +:

+

var +default +MyDefaultVar := null;

+

+ +

+

MyDefaultVar +:= activate(MyAltStep2(5, +myVar, myCompPort, myCompTimer);

+

// +MyAltStep2 is activated as default with the actual parameters 5 and

+

// +the value of myVar. A change of myVar before a call of MyAltStep2 by

+

// +the default mechanism will not change the actual parameters of the +call.

+

+:

+

}

+


+

+

+20.5.3 The Deactivate operation

+

+The deactivate +operation is used to deactivate defaults, i.e. previously activated +altsteps. +

+

+Syntactical Structure

+

+deactivate +[ "(" VariableRef | +FunctionInstance ")" ]

+

+
+

+

+Semantic Description

+

+A deactivate +operation will remove the referenced default from the list of +defaults.

+

+The effect of a deactivate +operation is local to the test component in which it is called. This +means, a test component cannot deactivate a default in another test +component.

+

+A deactivate +operation without parameter deactivates all defaults of a test +component.

+

+Calling a deactivate +operation with the special value null +has no effect. Calling a deactivate +operation with an undefined default reference, e.g. an old reference +to a default that has already been deactivated or an uninitialized +default reference variable, shall cause a runtime error.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of default type.

    +
+

+Examples

+

+ var +default +MyDefaultVar := null;

+

+ var +default +MyDefVarTwo := activate(MySecondAltStep());

+

+ var +default +MyDefVarThree := activate(MyThirdAltStep());

+

+ +:

+

+ MyDefaultVar +:= activate(MyAltStep());

+

+:

+

deactivate(MyDefaultVar); +// deactivates MyAltStep

+

+:

+

deactivate; // +deactivates all other defaults, i.e. in this case MySecondAltStep

+

// +and MyThirdAltStep

+


+

+

+21 Configuration Operations

+

+Configuration operations are used to set up and +control test components. They are summarized in table 19. These +operations shall only be used in TTCN‑3 +test cases, functions and altsteps (i.e. not in the module control +part).

+

+Table 19: +Overview of TTCN‑3 configuration +operations

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Operation

+
+

+ Explanation

+
+

+ Syntax + Examples

+
+

+ Connection + Operations

+
+

+ connect

+
+

Connects + the port of one test component to the port of another test + component

+
+

connect(ptc1:p1, + ptc2:p2);

+
+

+ disconnect

+
+

Disconnects + two or more connected ports

+
+

disconnect(ptc1:p1, + ptc2:p2);

+
+

+ map

+
+

Maps + the port of one test component to the port of the test system + interface

+
+

map(ptc1:q, + system:sutPort1);

+
+

+ unmap

+
+

Unmaps + two or more mapped ports

+
+

unmap(ptc1:q, + system:sutPort1);

+
+

+ Test + Component Operations

+
+

+ create

+
+

Creation + of a normal or alive test component, the distinction between + normal and alive test components is made during creation
(MTC + behaves as a normal test component)

+
+

+ Non-alive + test components:

+

+ var + PTCType c := PTCType.create;

+

+ Alive + test components:

+

var + PTCType c := PTCType.create + alive;

+
+

start

+
+

Starting + test behaviour on a test component, starting a behaviour does + not affect the status of component variables, timers or ports

+
+

c.start(PTCBehaviour());

+
+

+ stop

+
+

Stopping + test behaviour on a test component

+
+

c.stop;

+
+

+ kill

+
+

Causes + a test component to cease to exist

+
+

c.kill;

+
+

+ alive

+
+

Returns + true if the test component has been created and is ready to + execute or is executing already a behaviour; otherwise returns + false

+
+

if + (c.alive) + …

+
+

+ running

+
+

Returns + true as long as the test component is executing a behaviour; + otherwise returns false

+
+

if + (c.running) + …

+
+

done

+
+

Checks + whether the function running on a test component has terminated

+
+

+ c.done;

+
+

+ killed

+
+

Checks + whether a test component has ceased to exist

+
+

c.killed + { … }

+
+

Test + Case Operations

+
+

+ stop

+
+

Terminates + the test case with the test verdict error

+
+

testcase.stop + ( … );

+
+

Reference + Operations

+
+

mtc

+
+

Gets + the reference to the MTC

+
+

+ connect(mtc:p, + ptc:p);

+
+

system

+
+

Gets + the reference to the test system interface

+
+

+ map(c:p, + system:sutPort);

+
+

self

+
+

Gets + the reference to the test component that executes this operation

+
+

+ self.stop;

+
+
+

+

+

+

+21.1 Connection Operations

+

+The ports of a test component can be connected to other components or +to the ports of the test system interface (see figure 10). In +the case of connections between two test components, the connect +operation shall be used. When connecting a test component to a +test system interface the map +operation shall be used. The connect +operation directly connects one port to another with the in +side connected to the out +side and vice versa. The map +operation on the other hand can be seen purely as a name translation +defining how communications streams can be referenced.

+

+

+

+Figure 10: Illustration of the +connect and map operations

+

+21.1.1 The Connect and Map operations

+

+The connect +operation and the map +operation are used to setup connections to the SUT +or between test components.

+

+Syntactical Structure

+

+connect +"(" ComponentRef +":" Port +"," ComponentRef +":" Port +")"

+

+
+

+

+map +"(" ComponentRef +":" Port +"," ComponentRef +":" Port +")" +

+

+ [ +param "(" +[ { ActualPar +[","] }+ ] ")" ]

+

+
+

+

+Semantic Description

+

+With both the connect +operation and the map +operation, the ports to be connected are identified by the component +references of the components to be connected and the names of the +ports to be connected.

+

+The operation mtc +identifies the MTC, the operation system +identifies the test system interface and the operation self +identifies the test component in which self +has been called (see clause 6.2.11). All these operations can be used +for identifying and connecting ports.

+

+Both the connect +and map +operations can be called from any behaviour definition except for the +control part of a module. However before either operation is called, +the components to be connected shall have been created and their +component references shall be known together with the names of the +relevant ports.

+

+Both the map +and connect +operations allow the connection of a port to more than one other +port. It is not allowed to connect to a mapped port or to map to a +connected port. +

+

+The map +operation provides an optional parameter list for configuration +purposes. This allows to pass values needed for dynamic runtime +configuration. If a parameter list is present, the actual parameters +shall conform to the map +param +clause of the port type declaration of the system port used. +

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) For both the connect +and map operations, +only consistent connections are allowed.

+

+ Assuming the following:

+

+1) ports PORT1 and PORT2 are the ports to be connected;

+

+2) inlist-PORT1 defines the messages or procedures of the +in-direction of PORT1;

+

+3) outlist-PORT1defines the messages or procedures of the +out-direction of PORT1;

+

+4) inlist-PORT2 defines the messages or procedures of the +in-direction of PORT2; and

+

+5) outlist-PORT2 defines the messages or procedures of the +out-direction of PORT2.

+

+b) The connect +operation is allowed if and only if:

+

+outlist-PORT1 ïƒ inlist-PORT2 and +outlist-PORT2 ïƒ inlist-PORT1.

+

+c) The map +operation (assuming PORT2 is the test system interface port) is +allowed if and only if:

+

+outlist-PORT1 ïƒ outlist-PORT2 +and inlist-PORT2 ïƒ +inlist-PORT1.

+

+d) In all other cases, the operations shall not be allowed.

+

+e) Since TTCN‑3 allows dynamic configurations and addresses, +not all of these consistency checks can be made statically at +compile-time. All checks, which could not be made at compile-time, +shall be made at run-time and shall lead to a test case error when +failing.

+

+f) In addition, the restrictions on allowed and disallowed +connections described in clause 9.1 apply.

+

+g) In map +operations, param +clauses are optional. If in a map +operation a param +clause is present, the actual parameters shall conform to the map +param clause of the port type declaration of the system port +used.

+

+Examples

+

+EXAMPLE 1: Simple map and connect

+

+ // +It is assumed that the ports Port1, Port2, Port3 and PCO1 are +properly defined and declared

+

+ // +in the corresponding port type and component type definitions +

+

+:

+

var +MyComponentType + MyNewPTC;

+

MyNewPTC +:= MyComponentType.create;

+

+:

+

connect(MyNewPTC:Port1, +mtc:Port3);

+

map(MyNewPTC:Port2, +system:PCO1);

+

+:

+

// +In this example a new component of type MyComponentType is created +and its reference stored

+

// +in variable MyNewPTC. Afterwards in the connect operation, Port1 of +this new component

+

// +is connected with Port3 of the MTC. By means of the map operation, +Port2 of the new component

+

// +is then connected to port PCO1 of the test system interface +

+

+


+

+

+EXAMPLE 2: Parameterized map

+

+:

+

var +MyConfigType MyConfig := { option := 1, lock := false};

+

+:

+

map(mtc:Port4, +system:PCO2) +param (MyConfig);

+

+:

+

// +In this example by means of the map operation, Port4 of the MTC is +connected to the port PCO2

+

// +of the test system interface, and additionally a parameter containing +configuration options

+

// +for the connection is passed.

+


+

+

21.1.2 The Disconnect and Unmap +operations

+

+The disconnect +and unmap +operations are the opposite operations of connect +and map.

+

+Syntactical Structure

+

+disconnect +[ ( "(" ComponentRef +":" Port +"," ComponentRef +":" Port +")" ) | +

+

+ ( +"(" PortRef +")" ) |

+

+ ( +"(" ComponentRef +":" all +port ")" +) |

+

+ ( +"(" all +component +":" all +port ")" +) ]

+

+
+

+

+unmap +[ ( "(" ComponentRef +":" Port +"," ComponentRef +":" Port +")" +

+

+ [ +param "(" +[ { ActualPar +[","] }+ ] ")" ] ) | +

+

+ ( +"(" PortRef +")" [ param +"(" [ { ActualPar +[","] }+ ] ")" ] ) |

+

+ ( +"(" ComponentRef +":" all +port ")" +) |

+

+ ( +"(" all +component +":" all +port ")" +) ] +

+

+
+

+

+Semantic Description

+

+The disconnect +and unmap +operations perform the disconnection (of previously connected) ports +of test components and the unmapping of (previously mapped) ports of +test components and ports in the test system interface.

+

+Both, the disconnect +and unmap +operations can be called from any component if the relevant component +references together with the names of the relevant ports are known. A +disconnect +or unmap +operation has only an effect if the connection or mapping to be +removed has been created beforehand.

+

+To ease disconnect +and unmap +operations related to all connections and mappings of a component or +a port, it is allowed to use disconnect +and unmap +operations with one argument only. This one argument specifies one +side of the connections to be disconnected or unmapped. The all +port keyword can be used to denote all ports of a +component.

+

+The usage of a disconnect +or unmap +operation without any parameters is a shorthand form +for using the operation with the parameter self:all +port. It disconnects or +unmaps all ports of the component that calls the operation.

+

+The all component +keyword shall only be used in combination with the all +port keyword, i.e. all +component:all +port, +and shall only be used by the MTC. Furthermore, the all +component:all +port argument shall be used as the one and only argument +of a disconnect or +unmap operation and +it allows to release all connections and mappings of the test +configuration.

+

+Similar to the map +operation, unmap +provides an optional parameter list for configuration purposes. If a +parameter list is present, the actual parameters shall conform to the +unmap +param +clause of the port type declaration of the system port used. It +allows to pass values needed for dynamic runtime configuration.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) In an unmap +operation, a param +clause shall only be present if the system port to which the param +clause belongs to is explicitly referenced.

+

+b) In unmap +operations, param +clauses are optional. If in an unmap +operation a param +clause is present, the actual parameters shall conform to the unmap +param +clause of the port type declaration of the system port used.

+

+Examples

+

+EXAMPLE 1: Disconnect/unmap for specific connections

+

connect(MyNewComponent:Port1, +mtc:Port3);

+

map(MyNewComponent:Port2, +system:PCO1);

+

+:

+

disconnect(MyNewComponent:Port1, +mtc:Port3); // +disconnect previously made connection

+

unmap(MyNewComponent:Port2, +system:PCO1); // +unmap previously made mapping +

+


+

+

+EXAMPLE 2: Disconnect/unmap for a component

+

disconnect(MyNewComponent:Port1); // +disconnects all connections of Port1, which
// is +owned by component MyNewComponent.

+

unmap(MyNewComponent:all +port); // +unmaps all ports of component MyNewComponent

+


+

+

+EXAMPLE 3: Disconnect/unmap for "self"

+

disconnect; // +is a shorthand form +for …

+

disconnect(self:all +port); // +which disconnects all ports of the component

+

// +that called the operation

+

+:

+

unmap; // +is a shorthand form +for …

+

unmap(self:all +port); // +which unmaps all ports of the component

+

// +that called the operation

+


+

+

+EXAMPLE 4: Disconnect/unmap for "all component"

+

disconnect(all +component:all +port); // +the MTC +disconnects all ports of all

+

// +components in the test configuration.

+

+:

+

unmap(all +component:all +port); // +the MTC +unmaps all ports of all

+

// +components in the test configuration.

+


+

+

+21.2 Test case operations

+

+Test case operations address the entire test case by using the +keyword testcase. Currently, the test case stop operation is the only +test case operation. It specifies an immediate stop of the test case +behaviour with an error verdict.

+

+21.2.1 Test case stop operation

+

+The testcase stop operation defines a user +defined immediate termination of a test case with the test verdict +error +and an (optional) associated reason for the termination. Such an +immediate stop of a test case is required for cases where a user +defined behaviour that does not contribute to the test outcome +behaves in an unexpected manner which leads to a situation where the +continuation of the test case makes no more sense.

+

+Syntactical Structure

+

+testcase +"." stop +[ "(" { ( FreeText +| TemplateInstance +) [","] } ")" ]

+

+
+

+

+Semantic Description

+

+The test case stop operation causes an +immediate stop of the entire test case behaviour with the verdict +error. +In addition, the test case stop operation provides the means to +specify the reason for the immediate termination of a test case by +writing one or more items to some logging device associated with the +test control or the test component in which the operation is used. +Items to be logged shall be identified by a comma‑separated +list in the argument of the test case stop operation. The argument of +the test case stop operation shall follow the same restrictions as +the argument of the log statement (see clause 19.11).

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The test case stop operation shall not be used in the module control + part or functions invoked directly or indirectly by the module + control part.

    +
+

+Examples

+

testcase.stop("Unexpected +Termination");

+

// +The test case stops the an error verdict and the string "Unexpected +Termination"

+

// +is written to some log device of the test system +

+


+

+

+21.3 Test Component Operations

+

+Test component operations are used to create, start, stop and kill +test components. They can also be used to check if test components +are alive, running, done or killed.

+

21.3.1 The Create operation

+

+The create +operation is used to create test components.

+

+Syntactical Structure

+

+ComponentType +"." create +[ "(" Expression +["," Expression] +")" ] [ alive +]

+

+
+

+

+Semantic Description

+

+The MTC is the +only test component, which is automatically created when a test case +starts. All other test components (the PTCs) shall be created +explicitly during test execution by create +operations. A component is created +with its full set of ports of which the input queues are empty and +with its full set of constants, variables and timers. Furthermore, if +a port is defined to be of the type in +or inout +it shall be in a listening state ready to receive traffic over the +connection.

+

+All component variables and timers are reset to their initial value +(if any) and all component constants are reset to their assigned +values when the component is explicitly or implicitly created.

+

+Two types of PTCs are distinguished: a PTC +that can execute a behaviour function only once and a PTC +that is kept alive after termination of a behaviour function and can +be therefore reused to execute another function. The latter is +created using the additional alive +keyword. An alive-type PTC shall be +destroyed explicitly using the kill +operation (see clause 21.3.4), whereas a non-alive PTC +is destroyed implicitly after its behaviour function terminates. +Termination of a test case, i.e. the MTC, +terminates all PTCs that still exist, if any.

+

+Since all test components and ports are implicitly destroyed at the +termination of each test case, each test case shall completely create +its required configuration of components and connections when it is +invoked.

+

+The create +operation shall return the unique +component reference of the newly created instance. The unique +reference to the component will typically be stored in a variable +(see clause 6.2.10.1) and can be used for connecting instances and +for communication purposes such as sending and receiving.

+

+Optionally, a name can be associated with the newly created component +instance. The test system shall associate the names 'MTC' to the MTC +and 'SYSTEM' to the test system interface automatically at creation. +Associated component names are not required to be unique.

+

+The component instance name is used for logging purposes (see clause +19.11) only and shall not be used to refer to the component instance +(the component reference shall be used for this purpose) and has no +effect on matching.

+

+Also optionally, a host id can be associated with the newly created +component instance. If a host id is provided, the create +operation shall cause a test case error, if the component cannot be +deployed on the specified host.

+

+Components can be created at any point in a +behaviour definition providing full flexibility with regard to +dynamic configurations (i.e. any component can create any other PTC). +The visibility of component references shall follow the same scope +rules as that of variables and in order to reference components +outside their scope of creation the component reference shall be +passed as a parameter or as a field in a message.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The name given by the first Expression shall be a +charstring value and when assigned it shall appear as the +first argument of the create +function.

+

+b) The host id given by the second Expression shall be a +charstring value and, when assigned, it shall appear as the +second argument of the create +function.

+

+Examples

+

// +This example declares variables of type MyComponentType, which is +used to store the +

+

// +references of newly created component instances of type +MyComponentType which is the

+

// +result of the create operations. An associated name is allocated to +some of the created

+

// +component instances.

+

+:

+

var +MyComponentType MyNewComponent;

+

var +MyComponentType MyNewestComponent;

+

var +MyComponentType MyAliveComponent;

+

var +MyComponentType +MyAnotherAliveComponent;

+

+ var +MyComponentType MyDeployedComponent;

+

+:

+

MyNewComponent +:= MyComponentType.create;

+

MyNewestComponent +:= MyComponentType.create("Newest");

+

MyAliveComponent +:= MyComponentType.create alive;

+

MyAnotherAliveComponent +:= MyComponentType.create("Another +Alive") alive;

+

+ MyDeployedComponent +:= MyComponentType.create(-, +"Host4");

+


+

+

+21.3.2 The Start test component operation

+

+The start operation is used to associate a test behaviour to a test +component, which is then being executed by that test component.

+

+Syntactical Structure

+

+( +VariableRef +| FunctionInstance +) "." start +"(" FunctionInstance +")"

+

+
+

+

+Semantic Description

+

+Once a PTC has +been created and connected, behaviour has to be bound to this PTC +and the execution of its behaviour has to be started. This is done by +using the start +operation (as PTC creation does not +start execution of the component behaviour). The reason for the +distinction between create +and start +is to allow connection operations to be done before actually running +the test component.

+

+The start +operation shall bind the required behaviour to the test component. +This behaviour is defined by reference to an already defined +function.

+

+An alive-type PTC may perform several behaviour functions in +sequential order. Starting a second behaviour function on a non-alive +PTC or starting a function on a PTC that is still running results in +a test case error. If a function is started on an alive-type PTC +after termination of a previous function, it uses variable values, +timers, ports, and the local verdict as they were left after +termination of the previous function. In particular, if a timer was +started in the previous function, the subsequent function should be +enabled to handle a possible timeout event. In contrast to that, all +active defaults are deactivated when the behaviour of an alive-type +PTC is stopped. This means no default is activated when a new +behaviour is started on an alive-type PTC.

+

+NOTE 1: The lifetime of variables and timers is bound to the scope in +which they are declared. When an alive-type component is stopped, +only the component scope is left. This means only variable values and +timers declared in the component type definition of an alive-type PTC +can be accessed by a function with a corresponding runs +on-clause that is started on an alive-type PTC.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of component type.

    +
  2. + The following restrictions apply to a function invoked in a start + test component operation:

    +
+
    +
  • + This function shall have a runs + on definition + referencing a component type that is compatible with the newly + created component (see clause 6.3.3).

    +
  • + Ports and timers shall not be passed into this function.

    +
+

+NOTE 2: Possible return values of a function invoked in a start +test component operation, i.e. templates denoted by return +keyword or inout +and out parameters, +have no effect when the started test component terminates.

+

+NOTE 3: As in and +inout ports starts +listening when the component is created, at the moment, when it +starts execution there may be messages in the incoming queues of such +ports already waiting to be processed.

+

+Examples

+

function +MyFirstBehaviour() +runs on +MyComponentType +{ … }

+

function +MySecondBehaviour() +runs on +MyComponentType +{ … }

+

:

+

var +MyComponentType +MyNewPTC;

+

var +MyComponentType MyAlivePTC;

+

:

+

MyNewPTC +:= MyComponentType.create; // +Creation of a new non-alive test component.

+

MyAlivePTC +:= MyComponentType.create +alive; // +Creation of a new alive-type test component

+

:

+

MyNewPTC.start(MyFirstBehaviour()); // +Start of the non-alive component.

+

MyNewPTC.done; // +Wait for termination

+

MyNewPTC.start(MySecondBehaviour()); // +Test case error

+

:

+

MyAlivePTC.start(MyFirstBehaviour()); // +Start of the alive-type component

+

MyAlivePTC.done; // +Wait for termination

+

MyAlivePTC.start(MySecondBehaviour()); // +Start of the next function on the same component

+


+

+

+21.3.3 The Stop test behaviour operation

+

+The stop test behaviour operation is used to stop the execution of a +test component by itself or by another test component.

+

+Syntactical Structure

+

+stop +| +

+

+( +( VariableRef +| FunctionInstance +| mtc | +self ) "." +stop ) |

+

+( +all +component +"." stop +)

+

+
+

+

+Semantic Description

+

+By using the stop +test component statement a test component can stop the execution of +its own currently running test behaviour or the execution of the test +behaviour running on another test component. If a component does not +stop its own behaviour, but the behaviour running on another test +component in the test system, the component to be stopped has to be +identified by using its component reference. A component can stop its +own behaviour by using a simple stop +execution statement (see clause 19.9) or by addressing itself in the +stop +operation, e.g. by using the self +operation.

+

+NOTE 1: While the create, +start, running, +done and killed +operations can be used for PTC(s) only, the stop +operation can also be applied to the MTC.

+

+Stopping a test component is the explicit form +of terminating the execution of the currently running behaviour. A +test component behaviour terminates also by completing its execution +upon reaching the end of the testcase or function that is started on +this component or by an explicit return +statement. This termination is also called implicit stop. The +implicit stop has the same effects as an explicit stop, i.e. the +global verdict is updated with the local verdict of the stopped test +component (see clause 24).

+

+If the stopped test component is the MTC, +resources of all existing PTCs shall be released, the PTCs shall be +removed from the test system and the test case shall terminate (see +clause 26.1).

+

+Stopping a non-alive-type test component (implicitly or explicitly) +shall destroy it and all resources associated with the test component +shall be released.

+

+Stopping an alive-type component shall stop the currently running +behaviour only but the component continues to exist and can execute +new behaviour (started on it using the start +operation). Stopping an alive-type component means that all +variables, timers and ports declared in the component type definition +of the alive-type component keep their value, contents or state. +Furthermore, the local verdict of the component keeps its value. In +contrast to that, all active defaults are automatically deactivated +when the alive-type component is stopped. The component shall be left +in a consistent state after stopping its behaviour.

+

+For example, if the behaviour of an alive-type component is stopped +during assigning a new value to an already bound variable, the +variable shall remain bound after the component is stopped (with the +old or the new value). Similarly, if the component is stopped during +re-starting an already running timer, the timer shall be left in the +running state after termination of the behaviour.

+

+The all keyword can +be used by the MTC only in order to stop all running PTCs but the MTC +itself.

+

+NOTE 2: A PTC can +stop the test case execution by stopping the MTC.

+

+NOTE 3: The concrete mechanism for stopping PTCs is outside the scope +of the present document.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of component type.

    +
+

+Examples

+

+EXAMPLE 1: Stopping +another test component and a test component by itself

+

var +MyComponentType MyComp := MyComponentType.create; // +A new test component is created

+

MyComp.start(CompBehaviour()); // +The new component is started

+

:

+

if +(date == "1.1.2005") {

+

MyComp.stop; // +The component "MyComp" is stopped

+

}

+


+

+

:

+

if +(a < b ) {

+

+:

+

self.stop; // +The test component that is currently executing stops its own +behaviour

+

}

+

:

+

stop // +The test component stops its own behaviour

+


+

+

+EXAMPLE +2: Stopping all PTCs by the MTC

+

all +component.stop // +The MTC +stops all PTCs of the test case but not itself.

+


+

+

+21.3.4 The Kill test component operation

+

+The kill +test component operation is used to destroy a test component by +itself or by another test component. Kill and stop on a non-alive +component have the same results, while they differ for alive +components: stopping an alive components stops the test behaviour +only, the test component continues to exist. Killing a test component +destroys the test component.

+

+Syntactical Structure

+

+kill +| +

+

+( +( VariableRef +| FunctionInstance +| mtc | +self ) "." +kill ) |

+

+( +all +component +"." kill )

+

+
+

+

+Semantic Description

+

+The kill +operation applied on a test component stops the execution of the +currently running behaviour - if any - of that component and frees +all resources associated to it (including all port connections of the +killed component) and removes the component from the test system. The +kill +operation can be applied on the current test component itself by a +simple kill +statement or by addressing itself using the self +operation in conjunction with the kill operation. The kill +operation can also be applied to another test component. In this case +the component to be killed shall be addressed using its component +reference. If the kill +operation is applied on the MTC, e.g. +mtc.kill, +it terminates the test case.

+

+The all keyword can +be used by the MTC only in order to stop and kill all running PTCs +but the MTC itself.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of component type.

    +
+

+Examples

+

+EXAMPLE 1: Killing another test component and a +test component by itself

+

var +PTCType MyAliveComp := PTCType.create +alive; // +Create an alive-type test component

+

MyAliveComp.start(MyFirstBehaviour()); // +The new component is started

+

MyAliveComp.done; // +Wait for termination

+

MyAliveComp.start(MySecondBehavior()); // +Start the component a 2nd +time

+

MyAliveComp.done; // +Wait for termination

+

MyAliveComp.kill; // +Free its resources

+


+

+

+EXAMPLE +2: Killing all PTCs by the MTC

+

+ all +component.kill; // +The MTC stops all (alive-type and normal) PTCs of the test case +first
// and frees their resources.

+

+
+

+

21.3.5 The Alive operation

+

+The alive operation +is a Boolean operation that checks whether a test component has been +created and is ready to execute or is executing already a behaviour +function.

+

+Syntactical Structure

+

+( +VariableRef +| +

+

+FunctionInstance +| +

+

+any +component +| +

+

+all +component +) "." alive

+

+
+

+

+Semantic Description

+

+Applied on a normal test component, the alive +operation returns true if the component is inactive or running a +function and false otherwise. Applied on an alive-type test +component, the operation returns true if the component is inactive, +running or stopped. It returns false if the component has been +killed.

+

+The alive operation +can be used similar to the running +operation on PTCSs only (see clause 21.3.6). In particular, in +combination with the all +keyword it returns true if all (alive-type or normal) PTCs are alive.

+

+The alive operation +used in combination with the any +keyword returns true if at least one PTC is alive.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of component type.

    +
+

+Examples

+

+ PTC1.done; // +Waits for termination of the component

+

+ if +(PTC1.alive) +{ // If the component is still alive …

+

+ PTC1.start(AnotherFunction()); // +… execute another function on it.

+

+ }

+


+

+

+21.3.6 The Running operation

+

The +running operation +is a Boolean operation that checks whether a test component is +executing already a behaviour function.

+

Syntactical +Structure

+

+( +VariableRef +| +

+

+FunctionInstance +| +

+

+any +component +| +

+

+all +component +) "." running

+

+
+

+

Semantic +Description

+

+The running +operation allows behaviour executing on a test component to ascertain +whether behaviour running on a different test component has +completed. The running +operation can be used for PTCs only. The running operation returns +true +for PTCs that have been started but not yet terminated or stopped. It +returns false +otherwise. The running +operation is considered to be a boolean +expression and, thus, returns a boolean +value to indicate whether the specified test component (or all test +components) has terminated. In contrast to the done +operation, the running +operation can be used freely in boolean +expressions.

+

When +the all +keyword is used with the running +operation, it will return true +if all PTCs started but not stopped explicitly by another component +are executing their behaviour. Otherwise it returns false.

+

When +the any +keyword is used with the running +operation, it will return true +if at least one PTC is executing its +behaviour. Otherwise it returns false.

+

+Restrictions

+

In +addition to the general static rules of TTCN‑3 given in clause +5, the following restrictions apply:

+
    +
  1. + The variable associated with VariableRef (being a component + type variable, a component type parameter, etc.) or the return type + associated with FunctionInstance shall be of component type.

    +
+

Examples

+

+ if +(PTC1.running) + // usage of running in an if statement

+

+ {

+

+ // +do something! +

+

+ }

+


+

+

while +(all +component.running +!= true) +{ // usage of running in a loop condition

+

MySpecialFunction()

+

}

+


+

+

+21.3.7 The Done operation

+

+The done +operation allows behaviour executing on a test component to ascertain +whether the behaviour running on a different test component has +completed.

+

+Syntactical Structure

+

+( +VariableRef +| +

+

+FunctionInstance +| +

+

+any +component +| +

+

+all +component +) "." done

+

+
+

+

+Semantic Description

+

+The done +operation shall be used in the same manner as a receiving operation +or a timeout +operation. This means it shall not be used in a boolean +expression, but it can be used to determine an alternative in an alt +statement or as stand-alone statement in a behaviour description. In +the latter case a done +operation is considered to be a shorthand for an alt +statement with the done +operation as the only alternative.

+

+When the done operation is applied to a PTC, +it matches only if the behaviour of that PTC +has been stopped (implicitly or explicitly) or the PTC +has been killed. Otherwise, the match is unsuccessful.

+

+NOTE 1: The execution of a done +operation does not change the state of the test component. +Consecutive done +operations applied to the same test component will give the same +result as long as the test component does not change its state (see +clause F.1.2).

+

+When the all +keyword is used with the done +operation, it matches if no one PTC is +executing its behaviour. It also matches if no PTC +has been created.

+

+When the any +keyword is used with the done +operation, it matches if at least the behaviour of one PTC +has been stopped or killed. Otherwise, the match is unsuccessful.

+

+NOTE 2: Stopping the behaviour of a non-alive component also results +in removing that component from the test system, while stopping an +alive-type component leaves the component alive in the test system. +In both cases the done +operation matches.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The done +operation can be used for PTCs only.

+

+b) The variable associated with VariableRef (being a component +type variable, a component type parameter, etc.) or the return type +associated with FunctionInstance shall be of component type.

+

+Examples

+

+ // +Use of done in alternatives

+

+ alt +{

+

[] MyPTC.done +{

+

setverdict(pass)

+

}

+


+

+

[] any +port.receive +{

+

repeat

+

}

+

}

+


+

+

var +MyComp c := MyComp.create +alive;

+

c.start(MyPTCBehaviour());

+

:

+

c.done;

+

// +matches as soon as the function MyPTCBehaviour (or function/altstep +called by it) stops

+

c.done;

+

// +matches the end of MyPTCBehaviour (or function/altstep called by it) +too

+

if(c.running) +{c.done}

+

// +done here matches the end of the next behaviour only

+


+

+

// +the following done as stand-alone statement:

+

all +component.done;

+


+

+

// +has the following meaning:

+

alt +{

+

[] all +component.done +{}

+

}

+

// +and thus, blocks the execution until all parallel test components +have terminated

+


+

+

21.3.8 The Killed operation

+

+The killed +operation allows to ascertain whether a different test component is +alive or has been removed from the test system.

+

+Syntactical Structure

+

+( +VariableRef +| +

+

+FunctionInstance +| +

+

+any +component +| +

+

+all +component +) "." killed

+

+
+

+

+Semantic Description

+

+The killed +operation shall be used in the same manner as receiving operations. +This means it shall not be used in boolean +expressions, but it can be used to determine an alternative in an alt +statement or as a stand-alone statement in a behaviour description. +In the latter case a killed +operation is considered to be a shorthand for an alt +statement with the killed +operation as the only alternative.

+

+NOTE 1: When checking normal test components a killed operation +matches if it stopped (implicitly or explicitly) the execution of its +behaviour or has been killed +explicitly, i.e. the operation is equivalent to the done +operation (see clause 21.3.7). When checking alive-type test +components, however, the killed +operation matches only if the component has been killed using the +kill operation. +Otherwise the killed +operation is unsuccessful.

+

+NOTE 2: The execution of a killed +operation does not change the state of the test component. +Consecutive killed +operations applied to the same test component will give the same +result as long as the test component does not change its state (see +clause F.1.2).

+

+When the all +keyword is used with the killed +operation, it matches if all PTCs of the +test case have ceased to exist. It also matches if no PTC +has been created.

+

+When the any +keyword is used with the killed +operation, it matches if at least one PTC +ceased to exist. Otherwise, the match is unsuccessful.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The killed + operation can be used for PTCs only.

    +
+

+Examples

+

var +MyPTCType ptc +:= MyPTCType.create +alive; // +create an alive-type test component

+

timer +T:= 10.0; // create a timer

+

T.start; // +start the timer

+

ptc.start(MyTestBehavior()); // +start executing a function on the PTC

+

alt +{

+

[] +ptc.killed +{ // if the PTC +was killed during execution …

+

T.stop; // +… stop the timer and …

+

setverdict(inconc); // +… set the verdict to 'inconclusive'

+

+ }

+

[] +ptc.done +{ // if the PTC +terminated regularly …

+

T.stop; // +… stop the timer and …

+

ptc.start(AnotherFunction()); // +… start another function on the PTC

+

+ }

+

[] +T.timeout +{ // if the timeout occurs before the PTC +stopped

+

ptc.kill; // +… kill the PTC +and …

+

setverdict(fail); // +… set the verdict to 'fail'

+

+ }

+

}

+


+

+

21.3.9 Summary of the use of any and +all with components

+

+The keywords any +and all +may be used with configuration operations as indicated in table 20.

+

+Table 20: Any and All with +components

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+

Comment

+
+


+

+
+

any + (see note)

+
+

all + (see note)

+
+


+

+
+


+

+
+

create

+
+


+

+
+


+

+
+


+

+
+


+

+
+

start

+
+


+

+
+


+

+
+


+

+
+


+

+
+

running

+
+

Yes + but from MTC only

+
+

Yes + but from MTC only

+
+

+ any + component.running;

+

+
+

+

all + component.running;

+
+

+ Is + there any PTC performing test behaviour?

+

Are + all PTCs performing test behaviour?

+
+

alive

+
+

Yes + but from MTC only

+
+

Yes + but from MTC only

+
+

+ any + component.alive;

+

all + component.alive;

+
+

+ Is + there any alive PTC?

+

Are + all PTCs alive?

+
+

done

+
+

Yes + but from MTC only

+
+

Yes + but from MTC only

+
+

+ any + component.done;

+

+
+

+

all + component.done;

+
+

+ Is + there any PTC that completed execution?

+

Did + all PTCs complete their execution?

+
+

killed

+
+

Yes + but from MTC only

+
+

Yes + but from MTC only

+
+

+ any + component.killed;

+

all + component.killed;

+
+

+ Is + there any PTC that ceased to exist?

+

Did + all PTCs cease to exist?

+
+

stop

+
+


+

+
+

Yes + but from MTC only

+
+

all + component.stop;

+
+

Stop + the behaviour on all PTCs.

+
+

kill

+
+


+

+
+

Yes + but from MTC only

+
+

all + component.kill;

+
+

Kill + all PTCs, i.e. they cease to exist.

+
+

+ NOTE: any + and all refer + to PTCs only, i.e. the MTC is not considered.

+
+
+

+

+

+

+22 Communication operations

+

+TTCN‑3 supports message-based +and procedure-based +unicast, +multicast +and broadcast +communication. Furthermore, TTCN‑3 +allows to examine the top element of incoming port queues and to +control the access to ports by means of controlling +operations. The communication +operations and restrictions on their usage are summarized in table 21.

+

+Table 21: +Overview of TTCN‑3 communication +operations

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Communication + operations

+
+

Communication + operation

+
+

Keyword

+
+

Can + be used at message-based ports

+
+

Can + be used at procedure-based ports

+
+

Message-based + communication

+
+

Send + message +

+
+

send

+
+

Yes

+
+


+

+
+

Receive + message

+
+

receive

+
+

Yes

+
+


+

+
+

Trigger + on message

+
+

trigger

+
+

Yes

+
+


+

+
+

Procedure-based + communication

+
+

Invoke + procedure call

+
+

call

+
+


+

+
+

Yes

+
+

Accept + procedure call from remote entity

+
+

getcall

+
+


+

+
+

Yes

+
+

Reply + to procedure call from remote entity

+
+

reply

+
+


+

+
+

Yes

+
+

Raise + exception (to an accepted call)

+
+

raise

+
+


+

+
+

Yes

+
+

Handle + response from a previous call

+
+

getreply

+
+


+

+
+

Yes

+
+

Catch + exception (from called entity)

+
+

catch

+
+


+

+
+

Yes

+
+

Examine + top element of incoming port queues

+
+

Check + msg/call/exception/reply received

+
+

check

+
+

Yes

+
+

Yes

+
+

Controlling + operations

+
+

Clear + port queue

+
+

clear

+
+

Yes

+
+

Yes

+
+

Clear + queue + and enable sending and receiving + at a port

+
+

start

+
+

Yes

+
+

Yes

+
+

Disable + sending and disallow receiving operations to match at a port

+
+

stop

+
+

Yes

+
+

Yes

+
+

Disable + sending and disallow receiving operations to match new + messages/calls

+
+

halt

+
+

Yes

+
+

Yes

+
+

Check + the state of a port

+
+

checkstate

+
+

Yes

+
+

Yes

+
+
+

+

+

+

+22.1 The communication mechanisms

+

+This clause explains the principles of TTCN‑3 communication for +message-based communication (see clause 22.1.1), for procedure-based +communication (see clause 22.1.2), for unicast, multicast, and +broadcast communication (see clause 22.1.3), as well as the +general format of sending and receiving operations (see clause 22.1.4).

+

+22.1.1 Principles of message-based communication

+

+Message-based communication is communication +based on an asynchronous message exchange. Message-based +communication is non-blocking on the send +operation, as illustrated in figure 11, where processing in the +SENDER continues immediately after the +send +operation occurs. The RECEIVER is blocked on the receive +operation until it processes the received message.

+

+In addition to the receive +operation, TTCN‑3 provides a +trigger +operation that filters messages with certain matching criteria from a +stream of received messages on a given incoming port. Messages at the +top of the queue that do not fulfil the matching criteria are removed +from the port without any further action.

+

+

+

+Figure 11: Illustration of the +asynchronous send and receive

+

+22.1.2 Principles of procedure-based communication

+

+The principle of procedure-based communication +is to call procedures in remote entities. TTCN‑3 +supports blocking and +non-blocking +procedure-based communication. Blocking procedure-based communication +is blocking on the calling and the called side, whereas non-blocking +procedure-based communication is only blocking on the called side. +Signatures of procedures that are used for non-blocking +procedure-based communication shall be specified according to the +rules in clause 13.

+

+The communication scheme of blocking +procedure-based communication is shown in figure 12. The CALLER +calls a remote procedure in the CALLEE +by using the call +operation. The CALLEE accepts the call +by means of a getcall +operation and reacts by either using a reply +operation to answer the call or by raising (raise +operation) an exception. The CALLER +handles the reply or exception by using getreply +or catch +operations. In figure 12, the blocking of CALLER +and CALLEE is indicated by means of +dashed lines.

+

+

+

+Figure 12: +Illustration of blocking procedure-based communication

+

+The communication scheme of non-blocking +procedure-based communication is shown in figure 13. The CALLER +calls a remote procedure in the CALLEE +by using the call +operation and continues its execution, i.e. does not wait for a reply +or exception. The CALLEE accepts the +call by means of a getcall +operation and executes the requested procedure. If the execution is +not successful, the CALLEE may raise an +exception to inform the CALLER. The +CALLER may handle the exception by using +a catch +operation in an alt +statement. In figure 13, the blocking of the CALLEE +until the end of the call handling and possible raise of an exception +is indicated by means of a dashed line.

+

+

+

+Figure 13: +Illustration of non-blocking procedure-based communication

+

+22.1.3 Principles of unicast, multicast and broadcast communication

+

+TTCN‑3 supports unicast, multicast and broadcast communication:

+
    +
  • + Unicast communication means one sender to one receiver.

    +
  • + Multicast communication is from one sender to a list of receivers.

    +
  • + Broadcast communication is from one sender to all receivers (being + connected or mapped to the sender).

    +
+

+The terms unicast, multicast and broadcast communication are related +to port communication. This means, it is only possible to address +one, several or all test components that are connected to the +specified port. Unicast, multicast and broadcast can also be used for +mapped ports. In this case, one, several or all entities within the +SUT can be reached via the specified mapped port.

+

+22.1.4 General format of communication operations

+

+Operations such as send +and call +are used for the exchange of information among test components and +between an SUT and test components. For +explaining the general format of these operations, they can be +structured into two groups:

+

+a) a test component sends a message (send +operation), calls a procedure (call +operation), or replies to an accepted call (reply +operation) or raises an exception (raise +operation). These actions are collectively referred to as sending +operations;

+

+b) a component receives a message (receive +operation), awaits a message (trigger +operation),accepts a procedure call (getcall +operation), receives a reply for a previously called procedure +(getreply +operation) or catches an exception (catch +operation). These actions are collectively referred to as receiving +operations.

+

22.1.4.1 General format of the +sending operations

+

+Sending operations consist of a send +part and, in the case of a blocking procedure-based call +operation, a response +and exception handling +part.

+

+The send part:

+
    +
  • + specifies the port at which the specified operation shall take + place;

    +
  • + defines the message or procedure call to be transmitted;

    +
  • + gives an (optional) address part that uniquely identifies one or + more communication partners to which a message, call, reply or + exception shall be send.

    +
+

+The port name, operation name and value shall +be present in all sending operations. The address part (denoted by +the to +keyword) is optional and need only be specified in cases of +one-to-many connections where:

+
    +
  • + unicast communication is used and one receiving entity shall be + explicitly identified;

    +
  • + multicast communication is used and a set of receiving entities has + to be explicitly identified;

    +
  • + broadcast communication is used and all entities connected to the + specified port have to be addressed.

    +
+

+EXAMPLE 1:

+
+ + + + + + + + + + + + + + + + + + + + + +
+

Send + part

+
+

(Optional) + response and exception

+
+

Port + and operation

+
+

Value + part

+
+

(Optional) + address part

+
+

handling + part

+
+

MyP1.send

+
+

(MyVariable + + YourVariable - 2)

+
+

to + MyPartner;

+
+


+

+
+
+

+

+

+

+Response and exception handling is only needed +in cases of procedure-based communication. The response and exception +handling part of the call +operation is optional and is required for cases where the called +procedure returns a value or has out +or inout +parameters whose values are needed within the calling component and +for cases where the called procedure may raise exceptions which need +to be handled by the calling component.

+

+The response and exception handling part of the +call operation makes use of getreply +and catch +operations to provide the required functionality.

+

+EXAMPLE 2:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Send + part

+
+

(Optional) + response and exception handling part

+
+

Port + and operation

+
+

Value + part

+
+

(Optional) + address part

+
+


+

+
+

MyP1.call

+
+

(MyProc:{MyVar1})

+
+


+

+
+

{
+ [] MyP1.
getreply(MyProc:{MyVar2}) + {}
[] MyP1.
catch(MyProc, + ExceptionOne) {}
}

+
+
+

+

+

+

22.1.4.2 General format of the +receiving operations

+

+A receiving operation consists of a receive +part and an (optional) assignment +part.

+

+The receive part:

+

+a) specifies the port at which the operation shall take place;

+

+b) defines a matching part which specifies the acceptable input which +will match the statement;

+

+c) gives an (optional) address expression that uniquely identifies +the communication partner (in case of one‑to‑many +connections).

+

+The port name, operation name and value part of +all receiving operations shall be present. The identification of the +communication partner (denoted by the from +keyword) is optional and need only be specified in cases of +one‑to‑many connections where the receiving entity needs +to be explicitly identified.

+

+The assignment part in a receiving operation is +optional. For message-based ports it is used when it is required to +store received messages. In the case of procedure-based ports it is +used for storing the in +and inout +parameters of an accepted call, for storing the return +value or for storing exceptions. For the assignment part strong +typing is required, e.g. the variable used for storing a message +shall have the same type as the incoming message.

+

+In addition, the assignment part may also be +used to assign the sender +address of a message, exception, reply +or call +to a variable. This is useful for one-to-many connections where, for +example, the same message or call can be received from different +components, but the message, reply or exception shall be sent back to +the original sending component.

+

+EXAMPLE:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Receive + part

+
+


+

+
+

(Optional) + assignment part

+
+

Port + and operation

+
+

Matching + part

+
+

(Optional) + address expression

+
+


+

+
+

(Optional) + value assignment

+
+

(Optional) + parameter value assignment

+
+

(Optional) + sender value assignment

+
+

MyP1.getreply

+
+

(AProc:{?} + value 5)

+
+


+

+
+

->

+
+


+

+
+

param + (V1)

+
+

sender + APeer

+
+
+

+

+

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Receive + part

+
+


+

+
+

(Optional) + assignment part

+
+

Port + and operation

+
+

Matching + part

+
+

(Optional) + address expression

+
+


+

+
+

(Optional) + value assignment

+
+

(Optional) + parameter value assignment

+
+

(Optional) + sender value assignment

+
+

MyP2.receive

+
+

(MyTemplate(5,7))

+
+

from + APeer

+
+

->

+
+

value + MyVar

+
+


+

+
+


+

+
+
+

+

+

+

+22.2 Message-based communication

+

+The operations for message-based communication via asynchronous ports +are summarized in table 22.

+

+Table 22: +Overview of TTCN‑3 message-based +communication

+
+ + + + + + + + + + + + + + + + + + + + + + + +
+

Communication + operation

+
+

Keyword

+
+

Send + message +

+
+

send

+
+

Receive + message

+
+

receive

+
+

Trigger + on message

+
+

trigger

+
+

Check + message received

+
+

check

+
+
+

+

+

+

22.2.1 The +Send operation

+

+The send +operation is used to place a message on an outgoing message port.

+

+Syntactical Structure

+

+Port +"." send +"(" TemplateInstance +")" +

+

+[ +to Address +]

+

+
+

+

+NOTE: Address may be an AddressRef, a list of +AddressRef-s or "all component".

+

+Semantic Description

+

+The send +operation places a message on an outgoing message port. The message +may be specified by referencing a defined template or can be defined +as an in-line template. +

+

+Sending unicast, multicast or broadcast

+

+Unicast, multicast and broadcast communication +can be determined by the optional to +clause in the send +operation. A to +clause can be omitted in case of a one-to-one connection where +unicast communication is used and the message receiver is uniquely +determined by the test system structure. +

+

+Unicast communication is specified, if the to +clause addresses one communication partner only. Multicast +communication is used, if the to +clause includes a list of communication partners. Broadcast is +defined by using the to +clause with all +component keyword.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The TemplateInstance (and all parts of it) shall have a specific +value i.e. the use of matching mechanisms such as AnyValue is +not allowed.

+

+b) When defining the message in-line, the optional type part shall be +used if there is ambiguity of the type of the message being sent.

+

+c) The send +operation shall only be used on message-based ports and the type of +the template to be sent shall be in the list of outgoing types of the +port type definition.

+

+d) A to clause +shall be present in case of one-to-many connections.

+

+e) AddressRef shall be of type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the send +operation.

+

+f) Applying a send +operation to an unmapped or disconnected port shall cause a test case +error.

+

+Examples

+

+EXAMPLE 1: Simple send (receiver is determined from the test +configuration)

+

MyPort.send(MyTemplate(5,MyVar)); // +Sends the template MyTemplate with the actual

+

// +parameters 5 and MyVar via MyPort.

+

+

MyPort.send(5); // +Sends the integer value 5 (which is an in-line +template)

+


+

+

+EXAMPLE 2: Sending with explicit to clause

+

MyPort.send(charstring:"My +string") to +MyPartner;

+

// +Sends the string "My string" to a component with a

+

// +component reference stored in variable MyPartner

+

+

MyPCO.send(MyVariable ++ YourVariable - 2) to +MyPartner;

+

// +Sends the result of the arithmetic expression to MyPartner.

+

+

MyPCO2.send(MyTemplate) +to +(MyPeerOne, MyPeerTwo);

+

// +Specifies a multicast communication, where the value of

+

// +MyTemplate is sent to the two component references stored

+

// +in the variables MyPeerOne and MyPeerTwo.

+


+

+

MyPCO3.send(MyTemplate) +to all +component;

+

// +Broadcast communication: the value of Mytemplate is send to

+

// +all components which can be addressed via this port. If

+

// +MyPCO3 is a mapped port, the components may reside inside

+

// +the SUT.

+


+

+

+22.2.2 The Receive operation

+

+The receive +operation is used to receive +a message from an incoming message port queue.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +receive +

+

+[ +"(" TemplateInstance +")" ] +

+

+[ +from +Address ]

+

+[ +"->" [ value +( VariableRef +| +

+

+ ( +"(" { VariableRef +[ ":=" FieldOrTypeReference +][","] } ")" )

+

+ ) +]

+

+ [ +sender +VariableRef +] ]

+

+
+

+

+NOTE 1: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The receive +operation is used to receive +a message from an incoming message port queue. The message may be +specified by referencing a defined template or can be defined as an +in-line template.

+

+The receive +operation removes the top message from the associated incoming port +queue if, and only if, that top message satisfies all the matching +criteria associated with the receive +operation.

+

+If the match is not successful, the top message +shall not be removed from the port queue i.e. if the receive +operation is used as an alternative of an alt +statement and it is not successful, the execution of the test case +shall continue with the next alternative of the alt +statement.

+

+Matching criteria

+

+The matching criteria are related to the type +and value of the message to be received. The type and value of the +message to be received are determined by the argument of the receive +operation, i.e. may either be derived from the defined template or be +specified in-line. An optional type +field in the matching criteria to the receive +operation shall be used to avoid any ambiguity of the type of the +value being received.

+

+NOTE 2: Encoding attributes also participate in matching in an +implicit way, by preventing the decoder to produce an abstract value +from the received message encoded in a different way than specified +by the attributes.

+

+Receiving from a specific sender

+

+In the case of one-to-many connections the +receive +operation may be restricted to a certain communication partner. This +restriction shall be denoted using the from +keyword.

+

+Storing the received message and parts of the received message

+

+If the match is successful, the value removed +from the port queue and/or parts of this value can be stored in +variables or formal parameters. This is denoted by the symbol '->' +and the keyword value.

+

+When the keyword value +is followed by a name of a variable or formal parameter, the whole +received message shall be stored in the variable or formal parameter. +The variable or formal parameter shall be type compatible with the +received message.

+

+When the keyword value +is followed by an assignment list enframed by a pair of parentheses, +the whole received message and/or one or more parts of it can be +stored. In a single assignment within the list, on the left hand side +of the assignment symbol (":=") a field of the template +type shall be referenced, on the right hand side the name of the +variable or a formal parameter, in which the value shall be stored. +The variable or formal parameter shall be type compatible with the +type on the left hand side of the assignment symbol. As a special +case the field reference can be absent to indicate that the whole +message shall be stored in a variable.

+

+Storing the sender

+

+It is also possible to retrieve and store the component reference or +address of the sender of a message. This is denoted by the keyword +sender.

+

+When the message is received on a connected port, only the component +reference is stored in the following the sender +keyword, but the test system shall internally store the component +name too, if any (to be used in logging).

+

+Receive any message

+

+A receive +operation with no argument list for the type and value matching +criteria of the message to be received shall remove the message on +the top of the incoming port queue (if any) if all other matching +criteria are fulfilled.

+

+Receive on any port

+

+To receive +a message on any port, use the any +port keywords.

+

+Stand-alone receive

+

+The receive +operation can be used as a stand-alone statement in a behaviour +description. In this latter case the receive +operation is considered to be shorthand for an alt +statement with the receive +operation as the only alternative.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) When defining the message in-line, the optional type part shall be +present whenever the type of the message being received is ambiguous.

+

+b) The receive +operation shall only be used on message-based ports and the type of +the value to be received shall be included in the list of incoming +types of the port type definition.

+

+c) No binding of the incoming values to the terms of the expression +or to the template shall occur.

+

+d) A message received by receive any message shall not be +stored, i.e. the value clause shall not be present.

+

+e) Type mismatch at storing the received value or parts of the +received value and storing the sender shall cause an error.

+

+f) AddressRef for retrieving the sending entity shall be of +type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the receive +operation.

+

+Examples

+

+EXAMPLE 1: Basic receive

+

+ MyPort.receive(MyTemplate(5, +MyVar)); // Matches a message that fulfils the conditions

+

+ // +defined by template MyTemplate at port MyPort.

+

+
+

+

+ MyPort.receive(A<B); // +Matches a Boolean value that depends on the outcome of A<B

+

+
+

+

+ MyPort.receive(integer:MyVar); // +Matches an integer value with the value of MyVar

+

+ // +at port MyPort

+


+

+

MyPort.receive(MyVar); // +Is an alternative to the previous example

+


+

+

+EXAMPLE 2: Receiving from a sender, +storing the message, parts of the message or the sender

+

+ MyPort.receive(charstring:"Hello")from +MyPeer; // Matches +charstring "Hello" from MyPeer

+

+
+

+

+ MyPort.receive(MyType:?) +-> value +MyVar; // The value of the received message is

+

+ // +assigned to MyVar.

+

+
+

+

+ MyPort.receive(MyType:?) +-> value +(MyVar, MyMessageIdVar:= MyType.messageId)

+

+ // +The value of the received message is stored in the variable

+

+ // +MyVar and the value of the messageId field of the received

+

+ // +message is stored in the variable MyMessageIdVar.

+

+
+

+

+ MyPort.receive(anytype:?) +-> value +(MyIntegerVar := integer)

+

+ // +If the received value is an integer, it is stored in the variable

+

+ // +MyIntegerVar, a test case error otherwise.

+

+
+

+

+ MyPort.receive(charstring:?) +-> value +(MyCharstringVar)

+

+ // +The received value is stored in the variable MyCharstringVar;

+

+ // +Note that it is the same as to write "value +MyCharstringVar"

+

+
+

+

+ MyPort.receive(A<B) +-> sender +MyPeer; // The address of the sender is assigned to MyPeer

+

+
+

+

+ MyPort.receive(MyTemplate:{5, +MyVarOne}) -> value +MyVarTwo sender +MyPeer;

+

// +The received message value is stored in MyVarTwo and the sender +address is stored in MyPeer.

+


+

+

+EXAMPLE 3: Receive any message

+

MyPort.receive; // +Removes the top value from MyPort. +

+


+

+

MyPort.receive +from +MyPeer; // Removes the top message from MyPort if its sender is +
MyPeer

+


+

+

MyPort.receive +-> sender +MySenderVar; // Removes the top message from MyPort and assigns

+

// +the sender address to MySenderVar +

+


+

+

+EXAMPLE 4: Receive on any port

+

any +port.receive(MyMessage);

+


+

+

22.2.3 The Trigger operation

+

+The trigger +operation is used to await a specific message on an incoming port +queue.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +trigger +

+

+[ +"(" TemplateInstance +")" ] +

+

+[ +from +Address ]

+

+[ +"->" [ value +( VariableRef +| +

+

+ ( +"(" { VariableRef +[ ":=" FieldOrTypeReference +][","] } ")" )

+

+ ) +]

+

+ [ +sender +VariableRef +] ]

+

+
+

+

+NOTE: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The trigger +operation removes the top message from the associated incoming port +queue. If that top message meets the matching criteria, the trigger +operation behaves in the same manner as a receive +operation. If that top message does not fulfil the matching criteria, +it shall be removed from the queue without any further action.

+

+The trigger +operation requires the port name, matching criteria for type and +value, an optional from +restriction (i.e. selection of communication partner) and an +optional assignment of the matching message and sender +component to variables.

+

+Matching criteria

+

+The matching criteria as defined in clause 22.2.2 apply also to the +trigger operation.

+

+Trigger on any message

+

+A trigger +operation with no argument list shall trigger on the receipt of any +message. Thus, its meaning is identical to the meaning of receive any +message. +

+

+Trigger on any port

+

+To trigger +on a message at any port, use the any +port keywords.

+

+Stand-alone trigger

+

+The trigger +operation can be used as a stand-alone statement in a behaviour +description. In this latter case the trigger +operation is considered to be shorthand for an alt +statement with two alternatives (one alternative expecting the +message and another alternative consuming all other messages and +repeating the alt statement, see ES 201 873‑4 [1]).

+

+Storing the received message, parts of the +received message or the sender

+

+Rules in clause 22.2.2 shall apply.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The trigger +operation shall only be used on message-based ports and the type of +the value to be received shall be included in the list of incoming +types of the port type definition.

+

+b) A message received by TriggerOnAnyMessage shall not be +assigned to a variable.

+

+c) Type mismatch at storing the received value or parts of the +received value and storing the sender shall cause an error.

+

+d) AddressRef for retrieving the sending entity shall be of +type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the trigger +operation.

+

+Examples

+

+EXAMPLE 1: Basic trigger

+

+ MyPort.trigger(MyType:?);

+

+ // +Specifies that the operation will trigger on the reception of the +first message observed of

+

// +the type MyType with an arbitrary value at port MyPort.

+


+

+

+EXAMPLE 2: Trigger from a sender +and with storing message or sender

+

+ MyPort.trigger(MyType:?) +from +MyPartner;

+

+ // +Triggers on the reception of the first message of type MyType at port +MyPort

+

// +received from MyPartner.

+


+

+

MyPort.trigger(MyType:?) +from +MyPartner -> value +MyRecMessage;

+

// +This example is almost identical to the previous example. In +addition, the message which

+

// +triggers i.e. all matching criteria are met, is stored in the +variable MyRecMessage.

+


+

+

MyPort.trigger(MyType:?) +-> sender +MyPartner;

+

// +This example is almost identical to the first example. In addition, +the reference of the

+

// +sender component will be retrieved and stored in variable MyPartner.

+


+

+

MyPort.trigger(integer:?) +-> value +MyVar sender +MyPartner;

+

// +Trigger on the reception of an arbitrary integer value which +afterwards is stored in

+

// +variable MyVar. The reference of the sender component will be stored +in variable MyPartner.

+


+

+

+EXAMPLE 3: Trigger on any message

+

MyPort.trigger;

+


+

+

MyPort.trigger +from +MyPartner;

+


+

+

MyPort.trigger +-> sender +MySenderVar;

+


+

+

+EXAMPLE 4: Trigger on any port

+

any +port.trigger

+


+

+

+22.3 Procedure-based communication

+

+The operations for procedure-based communication via synchronous +ports are summarized in table 23.

+

+Table 23: +Overview of procedure-based +communication

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Communication + operation

+
+

Keyword

+
+

Invoke + procedure call

+
+

call

+
+

Accept + procedure call from remote entity

+
+

getcall

+
+

Reply + to procedure call from remote entity

+
+

reply

+
+

Raise + exception (to an accepted call)

+
+

raise

+
+

Handle + response from a previous call

+
+

getreply

+
+

Catch + exception (from called entity)

+
+

catch

+
+

Check + call/exception/reply received

+
+

check

+
+
+

+

+

+

22.3.1 The +Call operation

+

+The call +operation specifies the call of a remote operation on another test +component or within the SUT.

+

+Syntactical Structure

+

+Port +"." call +"(" TemplateInstance +[ "," CallTimerValue ] +")" +

+

+[ +to Address +]

+

+
+

+

+NOTE 1: Address may be an AddressRef, a list of +AddressRef-s or "all component".

+

+Semantic Description

+

+The call +operation is used to specify that a test component calls a procedure +in the SUT or in another test component. + +

+

+The information to be transmitted in the send +part of the call +operation is a signature that may either be defined in the form +of a signature template or be defined in-line. + +

+

+Handling responses and exceptions to a call

+

+In case of non-blocking procedure-based +communication the handling of exceptions to call +operations is done by using catch +(see clause 22.3.6) operations as alternatives in alt +statements.

+

+If the nowait +option is used, the handling of responses or exceptions to call +operations is done by using getreply +(see clause 22.3.4) and catch +(see clause 22.3.6) operations as alternatives in alt +statements.

+

+In case of blocking procedure-based +communication, the handling of responses or exceptions to a call is +done in the response and exception handling part of the call +operation by means of getreply +(see clause 22.3.4) and catch +(see clause 22.3.6) operations.

+

+The response and exception handling part of a +call +operation looks similar to the body of an alt +statement. It defines a set of alternatives, describing the possible +responses and exceptions to the call. +

+

+If necessary, it is possible to enable/disable +an alternative by means of a boolean +expression placed between the "[ ]" +brackets of the alternative.

+

+The response and exception handling part of a call operation is +executed like an alt +statement without any active default. This means a corresponding +snapshot includes all information necessary to evaluate the +(optional) Boolean guards, may include the top element (if any) of +the port over which the procedure has been called and may include a +timeout exception generated by the (optional) timer that supervises +the call.

+

+Handling timeout exceptions to a call

+

+The call +operation may optionally include a timeout. This is defined as an +explicit value or constant of float +type and defines the length of time after the call +operation has started that a timeout +exception shall be generated by the test system. If no timeout value +part is present in the call +operation, no timeout +exception shall be generated.

+

+Nowait calls of blocking procedures

+

+Using the keyword nowait +instead of a timeout exception value in a call +operation allows calling a procedure to continue without waiting +either for a response or an exception raised by the called procedure +or a timeout exception.

+

+If the nowait +keyword is used, a possible response or exception of the called +procedure has to be removed from the port queue by using a getreply +or a catch +operation in a subsequent alt +statement.

+

+Calling blocking procedures without return +value, out parameters, inout parameters and exceptions

+

+A blocking procedure may have no return +values, no out and inout parameters and may raise no exception. The +call operation for such a procedure shall also have a response and +exception handling part to handle the blocking in a uniform manner.

+

+Calling non-blocking procedures

+

+A non-blocking procedure has no out and inout +parameters, no return value and the +non-blocking property is indicated in the corresponding signature +definition by means of a noblock +keyword.

+

+Possible exceptions raised by non-blocking +procedures have to be removed from the port queue by using catch +operations in subsequent alt +or interleave +statements.

+

+Unicast, multicast and broadcast calls of procedures

+

+Like for the send +operation, TTCN‑3 also supports unicast, multicast and +broadcast calls of procedures. This can be done in the same manner as +described in clause 22.2.1, i.e. the argument of the to +clause of a call +operation is for unicast calls the address of one receiving entity +(or can be omitted in case of one-to-one connections), for multicast +calls a list of addresses of a set of receivers and for broadcast +calls the all component +keyword. In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely +identified by the system structure.

+

+The handling of responses and exceptions for a blocking or +non-blocking unicast call +operation has been explained in this clause under "Handling +timeout exceptions to a call". A multicast or broadcast call +operation may cause several responses and exceptions from different +communication partners.

+

+In case of a multicast or broadcast call +operation of a non-blocking procedure, all exceptions which may be +raised from the different communication partners can be handled in +subsequent catch, +alt or interleave +statements.

+

+In case of a multicast or broadcast call +operation of a blocking procedure, two options exist. Either, only +one response or exception is handled in the response +and exception handling part of the call +operation. Then, further responses and exceptions can be handled in +subsequent alt +or interleave +statements. Or, several responses or exceptions are handled by the +use of repeat statements in one or more of the statement blocks of +the response and exception handling part of the call operation: the +execution of a repeat statement causes the re-evaluation of the call +body.

+

+NOTE 2: In the second case, the user needs to handle the number of +repetitions.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The call +operation shall only be used on procedure-based ports. The type +definition of the port at which the call operation takes place shall +include the procedure name in its out +or inout list i.e. +it shall be allowed to call this procedure at this port.

+

+b) All in and inout +parameters of the signature shall have a specific value i.e. the use +of matching mechanisms such as AnyValue is not allowed.

+

+c) Only out parameters may be omitted or specified with a matching +attribute.

+

+d) The signature arguments of the call +operation are not used to retrieve variable names for out +and inout +parameters. The actual assignment of the procedure return value and +out and inout +parameter values to variables shall explicitly be made in the +response and exception handling part of the call +operation by means of getreply +and catch +operations. This allows the use of signature templates in call +operations in the same manner as templates can be used for types.

+

+e) A to clause +shall be present in case of one-to-many connections.

+

+f) AddressRef shall be of type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the call +operation.

+

+g) CallTimerValue shall be of type float.

+

+h) The selection of the alternatives to a call shall only be based on +getreply and catch +operations for the called procedure. Unqualified getreply +and catch +operations shall only treat replies from and exceptions raised by the +called procedure. The use of else +branches and the invocation of altsteps is not allowed. +

+

+i) The evaluation of the Boolean expressions guarding the +alternatives in the response and exception handling part may have +side effects. In order to avoid unexpected side effects, the same +rules as for the Boolean guards in alt +statements shall be applied (see clause 20.2).

+

+j) The call operation for a blocking procedures without return value, +out parameters, inout parameters and exceptions shall also have a +response and exception handling part to handle the blocking in a +uniform manner.

+

+k) In case of a multicast or broadcast call +operation of a blocking procedure, where the nowait +keyword is used, all responses and exceptions have to be handled in +subsequent alt or +interleave +statements.

+

+l) The call +operation for a non-blocking procedure shall have no response and +exception handling part, shall raise no timeout exception and shall +not use the nowait +keyword.

+

+m) Applying a call +operation to an unmapped or disconnected port shall cause a test case +error.

+

+Examples

+

+EXAMPLE 1: Blocking call with getreply

+

+ // +Given …

+

+ signature +MyProc (out +integer MyPar1, inout +boolean MyPar2);

+

+ +:

+

+ // +a call of MyProc

+

+ MyPort.call(MyProc:{ +-, MyVar2}) { // in-line signature template for the call of MyProc

+

+ [] +MyPort.getreply(MyProc:{?, +?}) { }

+

+ }

+

+
+

+

+ // +… and another call of MyProc

+

+ MyPort.call(MyProcTemplate) +{ // using signature template for the call of MyProc

+

+ [] +MyPort.getreply(MyProc:{?, +?}) { }

+

+ }

+

+
+

+

MyPort.call(MyProcTemplate) +to MyPeer +{ // calling MyProc at MyPeer

+

[] +MyPort.getreply(MyProc:{?, +?}) { }

+

}

+


+

+

+EXAMPLE 2: Blocking call with getreply and catch

+

// +Given

+

signature +MyProc3 (out +integer +MyPar1, inout +boolean +MyPar2) return +MyResultType

+

exception +(ExceptionTypeOne, ExceptionTypeTwo);

+

+:

+


+

+

// +Call of MyProc3

+

MyPort.call(MyProc3:{ +-, true }) +to +MyPartner {

+


+

+

+ [] MyPort.getreply(MyProc3:{?, +?}) -> value +MyResult param +(MyPar1Var,MyPar2Var) { }

+


+

+

+ [] MyPort.catch(MyProc3, +MyExceptionOne) {

+

setverdict(fail);

+

stop;

+

+ }

+

+ [] MyPort.catch(MyProc3, +ExceptionTypeTwo : ?) {

+

setverdict(inconc);

+

+ }

+

+ [MyCondition] MyPort.catch(MyProc3, +MyExceptionThree) { }

+

}

+


+

+

+EXAMPLE 3: Blocking call with timeout exception

+

+ MyPort.call(MyProc:{5,MyVar}, +20E-3) {

+


+

+

+ [] MyPort.getreply(MyProc:{?, +?}) { }

+


+

+

+ [] MyPort.catch(timeout) +{ // timeout exception after 20ms

+

setverdict(fail);

+

stop;

+

+ }

+

}

+


+

+

+EXAMPLE 4: Nowait call

+

MyPort.call(MyProc:{5, +MyVar}, nowait); // +The calling test component will continue

+

// +its execution without waiting for the

+

// +termination of MyProc

+


+

+

+EXAMPLE 5: Blocking call without return value, out parameters, inout +parameters and exceptions

+

// +Given …

+

signature +MyBlockingProc (in +integer MyPar1, in +boolean MyPar2);

+

+:

+

// +a call of MyBlockingProc

+

MyPort.call(MyBlockingProc:{ +7, false +}) {

+

+ [] MyPort.getreply( +MyBlockingProc:{ -, - } ) { }

+

}

+


+

+

+EXAMPLE 6: Broadcast call

+

+ var +boolean +first:= true;

+

+ MyPort.call(MyProc:{5,MyVar}, +20E-3) to all +component { // +Broadcast call of MyProc

+

+ // +Handles the response from MyPeerOne

+

+ [first] +MyPort.getreply(MyProc:{?, +?}) from +MyPeerOne {

+

+ if +(first) { first := false; +repeat; +}

+

+ :

+

+ }

+

// +Handles the response from MyPeerTwo

+

[first] +MyPort.getreply(MyProc:{?, +?}) from +MyPeerTwo {

+

if +(first) { first := false; +repeat; +}

+

:

+

}

+

[] +MyPort.catch(timeout) +{ // timeout exception after 20ms

+

setverdict(fail);

+

stop;

+

}

+

}

+


+

+

alt +{

+

+ [] MyPort.getreply(MyProc:{?, +?}) { // Handles all other responses to the broadcast call

+

repeat

+

+ }

+

}

+


+

+

+EXAMPLE 7: Multicast call

+

+ MyPort.call(MyProc:{5,MyVar}, +nowait) to (MyPeer1, +MyPeer2); // Multicast call of MyProc

+

+
+

+

+ interleave +{

+

+ [] MyPort.getreply(MyProc:{?, +?}) from +MyPeer1 { } // Handles the response of MyPeer1

+

+ [] MyPort.getreply(MyProc:{?, +?}) from +MyPeer2 { } // Handles the response of MyPeer2

+

}

+


+

+

+22.3.2 The Getcall operation

+

+The getcall +operation is used to accept calls.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +getcall +

+

+[ +"(" TemplateInstance +")" ] +

+

+[ +from +Address ]

+

+[ +"->" [ param +"(" { ( VariableRef +":=" ParameterIdentifier +) "," } | + +

+

+ { +( VariableRef +| "-" ) "," } +

+

+ ")" +]

+

+ [ +sender +VariableRef +] ]

+

+
+

+

+NOTE: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The getcall +operation is used to specify that a test component accepts a call +from the SUT, or another test component. +

+

+The getcall +operation shall remove the top call from the incoming port queue, if, +and only if, the matching criteria associated to the getcall +operation are fulfilled. These matching criteria are related to the +signature of the call to be processed and the communication partner. +The matching criteria for the signature may either be specified +in-line or be derived from a signature +template.

+

+The assignment of in +and inout +parameter values to variables shall be made in the assignment part of +the getcall +operation. This allows the use of signature templates in getcall +operations in the same manner as templates are used for types.

+

+A getcall +operation may be restricted to a certain communication partner in +case of one-to-many connections. This restriction shall be denoted by +using the from +keyword.

+

+The (optional) assignment part of the getcall +operation comprises the assignment of in +and inout +parameter values to variables and the retrieval of the address of the +calling component. The keyword param +is used to retrieve the parameter values of a call.

+

+The keyword sender +is used when it is required to retrieve the address of the sender +(e.g. for addressing a reply +or exception to the calling party in a one-to-many configuration).

+

+Accepting any call

+

+A getcall +operation with no argument list for the signature matching criteria +will remove the call on the top of the incoming port queue (if any) +if all other matching criteria are fulfilled. +

+

+Getcall on any port

+

+To getcall +on any port is denoted by the any +keyword.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The getcall +operation shall only be used on procedure-based ports and the +signature of the procedure call to be accepted shall be included in +the list of allowed incoming procedures of the port type definition.

+

+b) The signature argument of the getcall +operation shall not be used to pass in variable names for in +and inout +parameters.

+

+c) The ParameterIdentifiers shall be from the corresponding +signature definition.

+

+d) The value assignment part shall not be used with the getcall +operation.

+

+e) Parameters of calls accepted by accepting any call shall +not be assigned to a variable, i.e. the param clause shall not +be present.

+

+f) AddressRef for retrieving the sending entity shall be of +type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the getcall +operation.

+

+Examples

+

+EXAMPLE 1: Basic getcall

+

+ MyPort.getcall(MyProc: +MyProcTemplate(5, MyVar)); // accepts a call of MyProc at MyPort

+

+
+

+

MyPort.getcall(MyProc:{5, +MyVar}) from +MyPeer; // accepts a call of MyProc at MyPort from MyPeer

+


+

+

+EXAMPLE 2: Getcall with matching and assignments of parameter values +to variables

+

MyPort.getcall(MyProc:{?, +?}) from +MyPartner -> param +(MyPar1Var, MyPar2Var);

+

// +The in or inout parameter values of MyProc are assigned to MyPar1Var +and MyPar2Var.

+


+

+

MyPort.getcall(MyProc:{5, +MyVar}) -> sender +MySenderVar;

+

// +Accepts a call of MyProc at MyPort with the in or inout parameters 5 +and MyVar.

+

// +The address of the calling party is retrieved and stored in +MySenderVar.

+


+

+

// +The following getcall examples show the possibilities to use matching +attributes

+

// +and omit optional parts, which may be of no importance for the test +specification.

+


+

+

MyPort.getcall(MyProc:{5, +MyVar}) -> param(MyVar1, +MyVar2) sender +MySenderVar;

+


+

+

MyPort.getcall(MyProc:{5, +?}) -> param(MyVar1, +MyVar2);

+


+

+

MyPort.getcall(MyProc:{?, +MyVar}) -> param( +- , MyVar2);

+

// +The value of the first inout parameter is not important or not used +

+


+

+

// +The following examples shall explain the possibilities to assign in +and inout parameter

+

// +values to variables. The following signature is assumed for the +procedure to be called:

+


+

+

signature +MyProc2(in +integer A, +integer B, +integer C, +out +integer D, +inout +integer +E);

+


+

+

MyPort.getcall(MyProc2:{?, +?, 3, - , ?}) -> param (MyVarA, +MyVarB, - , -, MyVarE);

+

// +The parameters A, B, and E are assigned to the variables MyVarA, +MyVarB, and

+

// +MyVarE. The out parameter D needs not to be considered.

+


+

+

MyPort.getcall(MyProc2:{?, +?, 3, -, ?}) -> param (MyVarA:= +A, MyVarB:= B, MyVarE:= E);

+

// +Alternative notation for the value assignment of in and inout +parameter to variables. Note,

+

// +the names in the assignment list refer to the names used in the +signature of MyProc2

+


+

+

MyPort.getcall(MyProc2:{1, +2, 3, -, *}) -> param (MyVarE:= +E);

+

// +Only the inout parameter value is needed for the further test case +execution

+


+

+

+EXAMPLE 3: Accepting any call

+

+ MyPort.getcall; // +Removes the top call from MyPort. +

+

+
+

+

+ MyPort.getcall +from +MyPartner; // Removes a call from MyPartner from port MyPort

+

+
+

+

+ MyPort.getcall +-> sender +MySenderVar; // Removes a call from MyPort and retrieves

+

+ // +the address of the calling entity

+


+

+

+EXAMPLE 4: Getcall on any port

+

+ any +port.getcall(MyProc:?)

+


+

+

+22.3.3 The Reply operation

+

+The reply +operation is used to reply to a call.

+

+Syntactical Structure

+

+Port +"." reply +"(" TemplateInstance +[ value +Expression +] ")" +

+

+[ +to Address +]

+

+
+

+

+NOTE 1: Address may be an AddressRef, a list of +AddressRef-s or "all component".

+

+Semantic Description

+

+The reply +operation is used to reply to a previously accepted call according to +the procedure signature.

+

+NOTE 2: The relation between an accepted call +and a reply +operation cannot always be checked statically. For testing it is +allowed to specify a reply +operation without an associated getcall +operation.

+

+The value part of the reply +operation consists of a signature reference with an associated actual +parameter list and (optional) return +value. The signature may either be defined in the form +of a signature template or it may be defined in‑line.

+

+Responses to one or more call +operations may be sent to one, several or all peer entities connected +to the addressed port. This can be specified in the same manner as +described in clause 22.2.1. This means, the argument of the to +clause of a reply +operation is for unicast responses the address of one receiving +entity, for multicast responses a list of addresses of a set of +receivers and for broadcast responses the all +component keywords.

+

+In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely +identified by the system structure.

+

+A return value +shall be explicitly stated with the value +keyword.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) A reply +operation shall only be used at a procedure-based port. The type +definition of the port shall include the name of the procedure to +which the reply +operation belongs.

+

+b) All out and +inout parameters of +the signature shall have a specific value i.e. the use of matching +mechanisms such as AnyValue is not allowed.

+

+c) A to clause +shall be present in case of one-to-many connections.

+

+d) AddressRef shall be of type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the reply +operation.

+

+e) If a value is to be returned to the calling party, this shall be +explicitly stated using the value +keyword.

+

+f) Applying a reply +operation to an unmapped or disconnected port shall cause a test case +error.

+

+Examples

+

+ MyPort.reply(MyProc2:{ +- ,5}); // Replies to an accepted call of MyProc2.

+

+
+

+

+ MyPort.reply(MyProc2:{ +- ,5}) to +MyPeer; // Replies to an accepted call of MyProc2 from MyPeer

+

+
+

+

+ MyPort.reply(MyProc2:{ +- ,5}) to +(MyPeer1, MyPeer2); // Multicast reply to MyPeer1 and MyPeer2

+

+
+

+

+ MyPort.reply(MyProc2:{ +- ,5}) to +all component; // +Broadcast reply to all entities connected

+

+ // +to MyPort

+

+
+

+

MyPort.reply(MyProc3:{5,MyVar} +value +20); // Replies to an accepted call of MyProc3.

+


+

+

+22.3.4 The Getreply operation

+

+The getreply +operation is used to handle replies from a previously called +procedure.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +getreply +

+

+[ +"(" TemplateInstance +[ value +TemplateInstance ]")" +] +

+

+[ +from +Address ]

+

+[ +"->" [ value +VariableRef +] +

+

+ [ +param "(" +{ ( VariableRef +":=" ParameterIdentifier +) "," } | + +

+

+ { +( VariableRef +| "-" ) "," } +

+

+ ")" +]

+

+ [ +sender +VariableRef +] ]

+

+
+

+

+NOTE: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The getreply +operation is used to handle replies from a previously called +procedure.

+

+The getreply +operation shall remove the top reply from the incoming port queue, +if, and only if, the matching criteria associated to the getreply +operation are fulfilled. These matching criteria are related to the +signature of the procedure to be processed and the communication +partner. The matching criteria for the signature may either be +specified in-line or be derived from a +signature template.

+

+Matching against a received return +value can be specified by using the value +keyword.

+

+A getreply +operation may be restricted to a certain communication partner in +case of one-to-many connections. This restriction shall be denoted by +using the from +keyword.

+

+The assignment of out +and inout +parameter values to variables shall be made in the assignment part of +the getreply +operation. This allows the use of signature templates in getreply +operations in the same manner as templates are used for types.

+

+The (optional) assignment part of the getreply +operation comprises the assignment of out +and inout +parameter values to variables and the retrieval of the address of the +sender of the reply. The keyword value +is used to retrieve return values and +the keyword param +is used to retrieve the parameter values of a reply. The keyword +sender +is used when it is required to retrieve the address of the sender.

+

+Get any reply

+

+A getreply +operation with no argument list for the signature matching criteria +shall remove the reply message on the top of the incoming port queue +(if any) if all other matching criteria are fulfilled. +

+

+If GetAnyReply +is used in the response and +exception handling part of a call +operation, it shall only treat replies from the procedure invoked by +the call +operation.

+

+Get a reply on any port

+

+To get a reply on any port, use the any +port keywords.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) A getreply +operation shall only be used at a procedure-based port. The type +definition of the port shall include the name of the procedure to +which the getreply +operation belongs.

+

+b) The signature argument of the getreply +operation shall not be used to pass in variable names for out +and inout +parameters.

+

+c) Parameters or return values of responses accepted by get any +reply shall not be assigned to a variable, i.e. the param +and value clause shall not be present.

+

+d) AddressRef for retrieving the sending entity shall be of +type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the getreply +operation.

+

+Examples

+

+EXAMPLE 1: Basic getreply

+

+ MyPort.getreply(MyProc:{5, +?} value +20); // Accepts a reply of MyProc with two out or

+

+ // +inout parameters and a return value of 20

+

+
+

+

MyPort.getreply(MyProc2:{ +- , 5}) +from +MyPeer; // Accepts a reply of MyProc2 from MyPeer

+


+

+

+EXAMPLE 2: Getreply with storing inout/out parameters and return +values in variables

+

MyPort.getreply(MyProc1:{?, +?} value ?) +-> value +MyRetValue param(MyPar1,MyPar2);

+

// +The returned value is assigned to variable MyRetValue and the value +

+

// +of the two out or inout parameters are assigned to the variables +MyPar1 and MyPar2. +

+


+

+

MyPort.getreply(MyProc1:{?, +?} value ?) +-> value +MyRetValue param( +- , MyPar2) sender +MySender;

+

// +The value of the first parameter is not considered for the further +test execution and +

+

// +the address of the sender +component is retrieved and stored in the variable MySender.

+


+

+

// +The following examples describe some possibilities to assign out and +inout parameter values +

+

// +to variables. The following signature is assumed for the procedure +which has been called

+


+

+

signature +MyProc2(in +integer +A, integer +B, integer +C, out +integer +D, inout +integer +E);

+


+

+

MyPort.getreply(ATemplate) +-> param( +- , - , - , MyVarOut1, MyVarInout1);

+


+

+

MyPort.getreply(ATemplate) +-> param(MyVarOut1:=D, +MyVarOut2:=E);

+


+

+

MyPort.getreply(MyProc2:{ +- , - , - , 3, ?}) -> param(MyVarInout1:=E);

+


+

+

+EXAMPLE 3: Get any reply

+

+ MyPort.getreply; // +Removes the top reply from MyPort.

+

+
+

+

MyPort.getreply +from +MyPeer; // Removes the top reply received from MyPeer from MyPort.

+


+

+

MyPort.getreply +-> sender +MySenderVar; // Removes the top reply from MyPort and retrieves the

+

// +address of the sender entity

+


+

+

+EXAMPLE 4: Get a reply on any port

+

any +port.getreply(Myproc:?)

+


+

+

+22.3.5 The Raise operation

+

+Exceptions are raised with the raise +operation.

+

+Syntactical Structure

+

+Port +"." raise +"(" Signature +"," TemplateInstance +")" +

+

+[ +to Address +]

+

+
+

+

+NOTE 1: Address may be an AddressRef, a list of +AddressRef-s or "all component".

+

+Semantic Description

+

+The raise operation +is used to raise an exception. +

+

+NOTE 2: The relation between an accepted call +and a raise +operation cannot always be checked statically. For testing it is +allowed to specify a raise +operation without an associated getcall +operation.

+

+The value part of the raise +operation consists of the signature reference followed by the +exception value.

+

+Exceptions are specified as types. Therefore +the exception value may either be derived from a template or be the +value resulting from an expression (which of course can be an +explicit value). The optional type field in the value specification +to the raise +operation shall be used in cases where it is necessary to avoid any +ambiguity of the type of the value being sent.

+

+Exceptions to one or more call +operations may be sent to one, several or all peer entities connected +to the addressed port. This can be specified in the same manner as +described in clause 22.2.1. This means, the argument of the to +clause of a raise +operation is for unicast exceptions the address of one receiving +entity, for multicast exceptions a list of addresses of a set of +receivers and for broadcast exceptions the all +component keywords.

+

+In case of one-to-one connections, the to +clause may be omitted, because the receiving entity is uniquely +identified by the system structure.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) An exception shall only be raised at a procedure-based port. An +exception is a reaction to an accepted procedure call the result of +which leads to an exceptional event.

+

+b) The type of the exception shall be specified in the signature of +the called procedure. The type definition of the port shall include +in its list of accepted procedure calls the name of the procedure to +which the exception belongs.

+

+c) A to clause +shall be present in case of one-to-many connections.

+

+d) AddressRef shall be of type address, +component or of the +type provided in the address declaration of the port type of the port +instance referenced in the raise +operation.

+

+e) Applying a raise +operation to an unmapped or disconnected port shall cause a test case +error.

+

+Examples

+

MyPort.raise(MySignature, +MyVariable + YourVariable - 2);

+

// +Raises an exception with a value which is the result of the +arithmetic expression +

+

// +at MyPort

+


+

+

MyPort.raise(MyProc, +integer:5}); // +Raises an exception with the integer value 5 for MyProc

+


+

+

+ MyPort.raise(MySignature, +"My string") to +MyPartner;

+

+ // +Raises an exception with the value "My string" at MyPort +for MySignature and +

+

// +send it to MyPartner

+


+

+

MyPort.raise(MySignature, +"My string") to +(MyPartnerOne, MyPartnerTwo);

+

// +Raises an exception with the value "My string" at MyPort +and sends it to MyPartnerOne and

+

// +MyPartnerTwo (i.e. multicast communication)

+


+

+

MyPort.raise(MySignature, +"My string") to +all component;

+

// +Raises an exception with the value "My string" at MyPort +for MySignature and sends it

+

// +to all entites connected to MyPort (i.e. broadcast communication)

+


+

+

+22.3.6 The Catch operation

+

+The catch +operation is used to catch exceptions.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +catch +

+

+[ +"(" ( Signature +"," TemplateInstance +) | TimeoutKeyword ")" +] +

+

+[ +from +Address ]

+

+[ +"->" [ value +( VariableRef +| +

+

+ ( +"(" { VariableRef +[ ":=" FieldOrTypeReference +][","] } ")" )

+

+ ) +]

+

+ [ +sender +VariableRef +] ]

+

+
+

+

+NOTE: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The catch +operation is used to catch exceptions raised by a test component or +the SUT as a reaction to a procedure +call. Exceptions are specified as types and thus, can be treated like +messages, e.g. templates can be used to distinguish between different +values of the same exception type.

+

+The catch +operation removes the top exception from the associated incoming port +queue if, and only if, that top exception satisfies all the matching +criteria associated with the catch +operation. +

+

+A catch +operation may be restricted to a certain communication partner in +case of one-to-many connections. This restriction shall be denoted by +using the from +keyword.

+

+The (optional) redirection part of the catch +operation comprises of storing the exception value and/or one or more +parts of it and the retrieval of the address of the calling +component. The keyword value +is used to retrieve the value of an exception and/or the parts of it +and the keyword sender +is used when it is required to retrieve the address of the sender.

+

+The catch +operation may be part of the response and exception handling part of +a call +operation or be used to determine an alternative in an alt +statement. If the catch +operation is used in the accepting part of a call +operation, the information about port name and signature reference to +indicate the procedure that raised the exception is redundant, +because this information follows from the call +operation. However, for readability reasons (e.g. in case of complex +call +statements) this information shall be repeated.

+

+The Timeout exception

+

+There is one special timeout +exception that can be caught by the catch +operation. The timeout +exception is an emergency exit for cases where a called procedure +neither replies nor raises an exception within a predetermined time +(see clause 22.3.1).

+

+Catch any exception

+

+A catch +operation with no argument list allows any valid exception to be +caught. The most general case is without using the from +keyword. CatchAnyException +will also catch the timeout +exception.

+

+Catch on any port

+

+To catch +an exception on any port use the any +keyword.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The catch + operation shall only be used at procedure-based ports. The type of + the caught exception shall be specified in the signature of the + procedure that raised the exception. +

    +
  2. + No binding of the incoming values to the terms of the expression or + to the template shall occur. The assignment of the exception values + to variables shall be made in the assignment part of the catch + operation.

    +
  3. + Catching timeout + exceptions shall be restricted to the exception handling part of a + call. No further matching criteria (including a from + part) and no assignment part is allowed for a catch + operation that handles a timeout + exception.

    +
  4. + Exception values accepted by catch any exception shall not be + assigned to a variable, i.e. the value clause shall not be + present.

    +
  5. + If CatchAnyException is used in the response and exception + handling part of a call + operation, it shall only treat exceptions raised by the procedure + invoked by the call + operation.

    +
  6. + AddressRef for retrieving the sending entity shall be of type + address, component + or of the type provided in the address declaration of the port type + of the port instance referenced in the catch + operation.

    +
+

+Examples

+

+EXAMPLE 1: Basic catch

+

MyPort.catch(MyProc, +integer: +MyVar); // Catches an integer exception of value

+

// +MyVar raised by MyProc at port MyPort.

+


+

+

MyPort.catch(MyProc, +MyVar); // Is an alternative to the previous example.

+


+

+

MyPort.catch(MyProc, +A<B); // Catches a boolean exception

+


+

+

MyPort.catch(MyProc, +MyType:{5, MyVar}); // In-line template definition of an exception +value.

+


+

+

MyPort.catch(MyProc, +charstring:"Hello")from +MyPeer; // Catches "Hello" exception from MyPeer

+


+

+

+EXAMPLE 2: Catch with storing value and/or +sender in variables

+

+ MyPort.catch(MyProc, +MyType:?) from +MyPartner -> value +MyVar;

+

+ // +Catches an exception from MyPartner and assigns its value to MyVar.

+

+
+

+

+ MyPort.catch(MyProc, +MyTemplate(5)) -> value +MyVarTwo sender +MyPeer;

+

+ // +Catches an exception, assigns its value to MyVarTwo and retrieves the

+

+ // +address of the sender.

+


+

+

+ MyPort.catch(MyProc, +MyTemplate(5)) -> value +(MyVarThree:= f1)

+

+ + sender +MyPeer;

+

+ // +Catches an exception, assigns the value of its field f1 to MyVarThree +and retrieves the

+

+ // +address of the sender.

+


+

+

+EXAMPLE 3: The Timeout exception

+

+ MyPort.call(MyProc:{5,MyVar}, +20E-3) {

+

+ + [] MyPort.getreply(MyProc:{?, +?}) { }

+

+ + [] MyPort.catch(timeout) +{ // timeout exception after 20ms

+

+ setverdict(fail);

+

+ stop;

+

+ }

+

}

+


+

+

+EXAMPLE 4: Catch any exception

+

MyPort.catch;

+


+

+

MyPort.catch +from +MyPartner;

+


+

+

MyPort.catch +-> sender +MySenderVar;

+


+

+

+EXAMPLE 5: Catch on any port

+

any +port.catch;

+


+

+

+22.4 The Check operation

+

+The check +operation allows reading the top element of a message‑based or +procedure‑based incoming +port queue.

+

+Syntactical Structure

+

+( +Port | any +port ) "." +check +

+

+[ +"(" +

+

+ ( +PortReceiveOp | PortGetCallOp | +PortGetReplyOp | PortCatchOp ) |

+

+ ( +[ from +Address ] +[ "->" sender +VariableRef +] )

+

+")" +] +

+

+
+

+

+NOTE 1: Address may be an AddressRef, a list of +AddressRef-s or "any component".

+

+Semantic Description

+

+The check +operation is a generic operation that allows read access to the top +element of message‑based and procedure‑based incoming +port queues without removing the top element from the queue. The +check +operation has to handle values of a certain type at message-based +ports and to distinguish between calls to be accepted, exceptions to +be caught and replies from previous calls at procedure-based ports.

+

+The receiving operations receive, +getcall, +getreply +and catch +together with their matching and value, sender +or parameter storing parts, are used by the check +operation to define the conditions that have to be checked and the +information to be optionally extracted.

+

+It is the top +element of an incoming port queue that shall be checked (it is not +possible to look into +the queue). If the queue is empty the check +operation fails. If the queue is not empty, a copy of the top element +is taken and the receiving operation specified in the check +operation is performed on the copy. The check +operation fails if the receiving operation fails i.e. the matching +criteria are not fulfilled. In this case the copy +of the top element of the queue is discarded and test execution +continues in the normal manner, i.e. the statement or alternative +next to the check operation is evaluated. The check +operation is successful if the receiving operation is successful. +In this case, the value, sender or parameter storing parts of the +receiving operation, if any, are executed, i.e. the message and/or a +part of it, the sender's address or component reference, the +parameter(s) of the call or reply or the value of the exception are +stored in the associated variables.

+

+If check is used as +a stand-alone statement, it is considered to be a shorthand for an +alt statement with +the check +operation as the only alternative.

+

+Check any operation

+

+A check +operation with no argument list allows checking whether something +waits for processing in an incoming port queue. The check +any operation allows to distinguish +between different senders (in case of one-to-many connections) by +using a from +clause and to retrieve the sender by +using a shorthand assignment part with a sender +clause.

+

+NOTE 2: Information related to the +message-based input queue of a mixed port can be retrieved easily by +using the check +operation in combination with a receive +any operation, e.g.
MyPort.
check(receive) +-> sender +Mysender.

+

+Check on any port

+

+To check +on any port, use the any +port keywords.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Using the check + operation in a wrong manner, e.g. check for an exception at a + message-based port shall cause a test case error.

    +
  2. + AddressRef for retrieving the sending entity shall be of type + address, component + or of the type provided in the address declaration of the port type + of the port instance referenced in the check + operation.

    +
+

+NOTE 3: In most cases the correct usage of the check operation can be +checked statically, i.e. before/during compilation.

+

+Examples

+

+EXAMPLE 1: Basic check

+

MyPort1.check(receive(5)); // +Checks for an integer message of value 5.

+


+

+

MyPort1.check(receive(charstring:?) +-> value +MyCharVar);

+

// +Checks for a charstring message and stores the message if the message +type is charstring

+


+

+

MyPort2.check(getcall(MyProc:{5, +MyVar}) from +MyPartner);

+

// +Checks for a call of MyProc at port MyPort2 from MyPartner

+


+

+

MyPort2.check(getreply(MyProc:{5, +MyVar} value +20));

+

// +Checks for a reply from procedure MyProc at MyPort2 where the +returned value is 20 and

+

// +the values of the two out or inout parameters are 5 and the value of +MyVar.

+


+

+

MyPort2.check(catch(MyProc, +MyTemplate(5, MyVar)));

+


+

+

MyPort2.check(getreply(MyProc1:{?, +MyVar} value *) +-> value +MyReturnValue param(MyPar1,-));

+


+

+

MyPort.check(getcall(MyProc:{5, +MyVar}) from +MyPartner -> param +(MyPar1Var, MyPar2Var));

+


+

+

MyPort.check(getcall(MyProc:{5, +MyVar}) -> sender +MySenderVar);

+


+

+

+EXAMPLE 2: Check any operation

+

+ MyPort.check;

+

+
+

+

+ MyPort.check(from +MyPartner);

+

+
+

+

+ MyPort.check(-> +sender +MySenderVar);

+


+

+

+EXAMPLE 3: Check on any port

+

any +port.check;

+


+

+

+22.5 Controlling communication ports

+

+TTCN‑3 operations for controlling +message-based and procedure-based ports are presented in table 24.

+

+Table 24: +Overview of TTCN‑3 port operations

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Port + operations

+
+

Statement

+
+

Associated + keyword or symbol

+
+

Clear + port

+
+

clear + +

+
+

Start + port

+
+

start

+
+

Stop + port

+
+

stop

+
+

Halt + port

+
+

halt

+
+

Check + the state of a port

+
+

checkstate

+
+
+

+

+

+

22.5.1 The Clear port operation

+

+The clear port +operation empties incoming port queues.

+

+Syntactical Structure

+

+( +Port | ( +all port +) ) "." clear

+

+
+

+

+Semantic Description

+

+The clear +operation removes the contents of the incoming +queue of the specified port or of all ports of the test component +performing the clear +operation. +

+

+If a port queue is already empty then this operation shall have no +action on that port.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

MyPort.clear; // +clears port MyPort +

+


+

+

22.5.2 The Start port operation

+

+The start +operation enables sending and receiving operations on the port(s).

+

+Syntactical Structure

+

+( +Port | ( +all port +) ) "." start

+

+
+

+

+Semantic Description

+

+If a port is defined as allowing receiving operations such as +receive, getcall +etc., the start +operation clears the incoming queue of the named port and starts +listening for traffic over the port. If the port is defined to allow +sending operations then the operations such as send, +call, raise +etc., are also allowed to be performed at that port.

+

+By default, all ports of a component shall be started implicitly when +a component is created. The start port operation will cause unstopped +ports to be restarted by removing all messages waiting in the +incoming queue.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

MyPort.start; // +starts MyPort

+


+

+

22.5.3 The Stop port operation

+

+The stop +operation disables sending and disallow receiving operations to match +at the port(s).

+

+Syntactical Structure

+

+( +Port | ( +all port +) ) "." stop

+

+
+

+

+Semantic Description

+

+If a port is defined as allowing receiving +operations such as receive +and getcall, +the stop +operation causes listening at the named port to cease. If the port is +defined to allow sending operations then stop +port disallows the operations such as send, +call, +raise +etc., to be performed.

+

+To cease listening at the port means that all receiving operations +defined before the stop operation shall be completely performed +before the working of the port is suspended.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ MyPort.receive +(MyTemplate1) -> value +RecPDU;

+

+ // +the received value is decoded, matched against
// +MyTemplate1 and the matching value is stored
// in the +variable RecPDU
MyPort.
stop; // +No receiving operation defined following the stop
// +operation is executed (unless the port is restarted
// +by a subsequent start operation)
MyPort.
receive +(MyTemplate2); // This operation does not match and will block +(assuming
+

+

+ // +that no default is activated)

+


+

+

22.5.4 The Halt port operation

+

+The halt +operation is comparable to the stop +operation, but allows entries being already in the queue to be +processed with receiving operations.

+

+Syntactical Structure

+

+( +Port | ( +all port +) ) "." halt

+

+
+

+

+Semantic Description

+

+If a port allows receiving operations such as +receive, +trigger +and getcall, +the halt +operation disallows receiving operations to succeed for messages and +procedure call elements that enter the port queue after performing +the halt +operation at that port. Messages and procedure call elements that +were already in the queue before the halt +operation can still be processed with receiving operations. If the +port allows sending operations then halt +port immediately disallows sending operations such as send, +call, +raise +etc. to be performed. Subsequent halt operations have no effect on +the state of the port or its queue.

+

+NOTE 1: The port halt +operation virtually puts a marker after the last entry in the queue +received when the operation is performed. Entries ahead of the marker +can be processed normally. After all entries in the queue ahead of +the marker have been processed, the state of the port is equivalent +to the stopped state.

+

+NOTE 2: If a port stop +operation is performed on a halted port before all entries in the +queue ahead of the marker have been processed, further receive +operations are disallowed immediately (i.e. the marker is virtually +moved to the top of the queue).

+

+NOTE 3: A port start +operation on a halted port clears all entries in the queue +irrespectively if they arrived before or after performing the port +halt operation. It +also removes the marker.

+

+NOTE 4: A port clear +operation on a halted port clears all entries in the queue +irrespectively if they arrived before or after performing the port +halt operation. It +also virtually puts the marker at the top of the queue.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ MyPort.halt; // +No sending allowed on Myport from this moment on;
// +processing of messages in the queue still possible.
MyPort.receive +(MyTemplate1); // If a message was already in the queue before the +halt
// operation and it matches MyTemplate1, it is +processed;
// otherwise the receive operation blocks.

+

+

+22.5.5 The Checkstate port operation

+

+The checkstate +port operation allows to check the state of a port. +

+

+Syntactical Structure

+

+( +Port | ( +all port +) | ( any +port )) +"." checkstate "(" +SingleExpression +")"

+

+
+

+

+Semantic Description

+

+The checkstate +port operation allows to examine the state of a port. If a port is in +the state specified by the parameter, the checkstate +operation returns the Boolean value true. +If the port is not in the specified state, the checkstate +operation returns the Boolean value false. +Calling the checkstate +operation with an invalid argument leads to an error.

+

+The checkstate operation allows to check for different dimensions of +a port state. It allows to check if a port is Started, Halted or +Stopped, but also if a port is Connected, Mapped or Linked (i.e. +Connected or Mapped).

+

+NOTE 1: The states Started, Halted and Stopped refer to the port +states defined in the clauses F.3.1 and F.3.2. The states Connected, +Mapped and Linked are related to the application of the connection +operations connect, +disconnect, map +and unmap as +defined in clause 21.1.

+

+The checkstate +port operation can be used with all +port and any +port. Using the checkstate +operation with any +port allows to test if at +least one port of a test component is in the specified state. Using +the checkstate +operation with all +port allows to check if all +ports of a component are in the specified state.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The parameter of the checkstate +operation shall be of type charstring +and shall have one of the following values:

+

+a) "Started"

+

+b) "Halted"

+

+c) "Stopped"

+

+d) "Connected"

+

+e) "Mapped"

+

+f) "Linked"

+

+NOTE 2: Clause E.2.2.4 includes the type definition objState +and the constant definitions STARTED, +HALTED, STOPPED, +CONNECTED, MAPPED, +and LINKED. It is +recommended to use the checkstate +operation in combination with this type and these constants to ease +the checking of correct usage and to improve the readability of test +specs.

+

+b) Calling the checkstate +operation with a charstring +parameter not listed in a) shall lead to an error.

+

+Examples

+

type +component +MyMTCType // Component type definition for an MTC

+

{

+

+ port +MyPortType PCO1, PCO2

+

}

+


+

+

type +component MyTestSystemInterface // +Component type definition for a test system interface

+

{

+

port +MyPortType PCO3, PCO4, PCO5;

+

}

+


+

+

// +Test case definition

+

testcase +MyTestcase1 () runs +on +MyMTCType system +MyTestSystemInterface {

+


+

+

var +boolean myPortState;

+


+

+

myPortState +:= all port.checkstate("Started"); // +checkstate returns true, because all

+

// +ports of a component are started after

+

// +component creation and start

+


+

+

myPortState +:= any port.checkstate("Linked"); // +checkstate returns false, no port is +

+

// +either connected nor mapped

+


+

+

map(mtc:PCO1, +system:PCO3);

+


+

+

myPortState +:= PCO1.checkstate("Linked"); // +checkstate returns true, PCO1 is mapped

+

myPortState +:= PCO1.checkstate("Mapped"); // +checkstate returns true, PCO1 is mapped

+


+

+

myPortState +:= PCO1.checkstate("Connected"); // +checkstate returns false, PCO1 is mapped

+

// +and not connected

+


+

+

myPortState +:= any port.checkstate("Mapped"); // +checkstate returns true, PCO1 is mapped

+


+

+

all +port.stop;

+


+

+

myPortState +:= all port.checkstate("Started"); // +checkstate returns false, all ports

+

// +are stopped

+


+

+

myPortState +:= PCO1.checkstate("Stopped"); // +checkstate returns true, PCO1 is stopped

+


+

+


+

+

// +further testcase behaviour

+

// +…

+

}

+

+

+

+
+

+

+22.6 Use of any and all with ports

+

+The keywords any +and all may be used +with configuration and communication operations as indicated in table +25.

+

+Table 25: +Any and All with ports

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+


+

+
+

any

+
+

all

+
+


+

+
+

receive, + trigger, getcall, getreply, catch, check)

+
+

yes

+
+


+

+
+

any + port.receive

+
+

connect + / map

+
+


+

+
+


+

+
+


+

+
+

disconnect + / unmap

+
+


+

+
+

yes

+
+

unmap(self + : + all + port)

+
+

start, + stop, clear, halt

+
+


+

+
+

yes

+
+

all + port.start

+
+

checkstate

+
+

yes

+
+

yes

+
+

+ any + port.checkstate("Started")

+

all + port.checkstate("Connected")

+
+
+

+

+

+

+NOTE: Ports are owned by test components and instantiated when a +component is created. The keywords any +port and all port +address all ports owned by a test component and not only the ports +known in the scope of the function or altstep that is executed on the +component.

+

+23 Timer operations

+

+TTCN‑3 supports a number of timer +operations as given in table 26. These operations may be used in test +cases, functions, altsteps and module control.

+

+Table 26: +Overview of TTCN‑3 timer +operations

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Timer + operations

+
+

Statement

+
+

Associated + keyword or symbol

+
+

Start + timer

+
+

start + +

+
+

Stop + timer

+
+

stop

+
+

Read + elapsed time

+
+

read

+
+

Check + if timer running

+
+

running

+
+

Timeout + event

+
+

timeout

+
+
+

+

+

+

+23.1 The timer mechanism

+

+It is assumed that each test +component and the module control maintain their own running-timers +list +and timeout-list, +i.e. a list of all timers that are actually running and a list of all +timers that have timed out. The timeout-lists are part of the +snapshots that are taken when a test case is executed. The +running-timers list and timeout-list of a component or module control +are updated if a timer of the component or module control is started, +is stopped, times out or the component or module control executes a +timeout +operation.

+

+NOTE 1: The running-timers list and the timeout-list are only a +conceptual lists and do not restrict the implementation of timers. +Other data structures like a set, where the access to timeout events +is not restricted by, e.g. the order in which the timeout events have +happened, may also be used.

+

+NOTE 2: Conceptually, each test component and module control maintain +one running-timers list and one timeout-list +only. However, within a given scope unit +only timers known in the scope unit can be accessed individually, +i.e. timers that are declared in the scope unit, passed in as +parameters to the scope unit or known via a runs-on clause. In some +special cases (e.g. for re-establishing a test component during a +test run), it can be necessary to stop timers local to other scope +units or to check if timers local to other scope units are running or +have already timed out. This can be done by using the keywords all +and any +in combination with the timer operations stop, +timeout +and running. +Allowed combinations are defined in clause 23.7.

+

+When a timer expires, the timer becomes immediately inactive. A +timeout event is placed in the timeout-list and the timer is removed +from the running-timer list of the test component or module control +for which the timer has been declared. Only one entry for any +particular timer may appear in the timeout-list and running-timer +list of the test component or module control for which the timer has +been declared. +

+

+All running timers shall automatically be cancelled when a test +component is explicitly or implicitly stopped.

+

+23.2 The Start timer operation

+

+The start timer +operation is used to indicate that a timer shall start running.

+

+Syntactical Structure

+

+( +( TimerIdentifier +| TimerParIdentifier +) { "[" SingleExpression +"]" } ) +

+

+"." +start [ +"(" TimerValue +")" ]

+

+
+

+

+Semantic Description

+

+When a timer is started, its name is added to the list of running +timers (for the given scope unit).

+

+The optional timer value parameter shall be used if no default +duration is given, or if it is desired to override the default value +specified in the timer declaration. When a timer duration is +overridden, the new value applies only to the current instance of the +timer, any later start +operations for this timer, which do not specify a duration, shall use +the default duration.

+

+Starting a timer with the timer value 0.0 means that the timer times +out immediately. Starting a timer with a negative timer value, e.g. +the timer value is the result of an expression, or without a +specified timer value shall cause a runtime error.

+

+The timer clock runs from the float value zero (0.0) up to maximum +stated by the duration parameter.

+

+The start operation +may be applied to a running timer, in which case the timer is stopped +and re-started. Any entry in a timeout-list for this timer shall be +removed from the timeout-list.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Timer value shall be a non‑negative numerical float + number (i.e. the value shall be greater + or equal 0.0, infinity and not_a_number are disallowed).

    +
+

+Examples

+

+ MyTimer1.start; + // MyTimer1 is started with the default duration +

+

+ MyTimer2.start(20E-3); // +MyTimer2 is started with a duration of 20 ms

+

+

+

+ // +Elements of timer arrays may also be started in a loop, for example

+

+ timer +t_Mytimer [5];

+

+ var +float +v_timerValues [5];

+

+
+

+

+ for +(var +integer i +:= 0; i<=4; i:=i+1)

+

+ + { v_timerValues [i] := 1.0 }

+

+
+

+

+ for +(var +integer i +:= 0; i<=4; i:=i+1)

+

+ + {t_Mytimer [i].start +( v_timerValues [i])}

+


+

+

+23.3 The Stop timer operation

+

+The stop +operation is used to stop a running timer.

+

+Syntactical Structure

+

+( +( ( TimerIdentifier +| TimerParIdentifier +) { "[" SingleExpression +"]" } ) |

+

+ all +timer )

+

+"." +stop

+

+
+

+

+Semantic Description

+

+A stop +operation removes a running timer from the list of running timers. A +stopped timer becomes inactive and its elapsed time is set to the +float value zero (0.0).

+

+Stopping an inactive timer is a valid +operation, although it does not have any effect. Stopping an expired +timer causes the entry for this timer in the timeout-list to +be removed. +

+

+The all +keyword may be used to stop all timers that have been started on a +component or module control.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

MyTimer1.stop; + // stops MyTimer1 +

+

all +timer.stop; // +stops all running timers +

+


+

+

+23.4 The Read timer operation

+

+The read +operation is used to retrieve the time that has elapsed since the +specified timer was started.

+

+Syntactical Structure

+

+( +( TimerIdentifier +| TimerParIdentifier +) { "[" SingleExpression +"]" } ) +

+

+"." +read

+

+
+

+

+Semantic Description

+

+The read +operation returns the time that has elapsed since the specified timer +was started. The returned value shall be of type float.

+

+Applying the read +operation on an inactive timer, i.e. on a timer not listed on the +running-timer list, will return the +float value zero (0.0).

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

var +float +Myvar;

+

MyVar +:= MyTimer1.read; +// assign to MyVar the time that has elapsed since MyTimer1 was +started +

+


+

+

+23.5 The Running timer operation

+

+The running +timer operation is used to check whether a timer is in the +running-timer list.

+

+Syntactical Structure

+

+( +( ( TimerIdentifier +| TimerParIdentifier +) { "[" SingleExpression +"]" } ) |

+

+ any +timer )

+

+"." +running

+

+
+

+

+Semantic Description

+

+The running +timer operation is used to check whether a specific timer visible in +the given scope unit is listed on the running-timer list or not (i.e. +that it has been started and has neither timed out nor been stopped). +The operation returns the value true +if the timer is listed on the list, false +otherwise.

+

+The any +keyword may be used to check if any timer started on a component or +module control is running.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+EXAMPLE 1: Checking if a specific timer is running

+

if +(MyTimer1.running) +{ … }

+


+

+

+EXAMPLE 2: Checking if an arbitrary timer is running

+

if +(any +timer.running) +{ … }

+


+

+

+23.6 The Timeout operation

+

+The timeout +operation allows to check the expiration of timers.

+

+Syntactical Structure

+

+( +( ( TimerIdentifier +| TimerParIdentifier +) { "[" SingleExpression +"]" } ) |

+

+ any +timer )

+

+"." +timeout

+

+
+

+

+Semantic Description

+

+The timeout +operation allows to check the expiration of a specific timer in the +scope unit of a test component or module control in which the timeout +operation has been called or of any timer that has been started on a +test component or module control before entering the scope in which +the timeout +operation has been called. +

+

+When a timeout +operation is processed, if a timer name is indicated, the +timeout-list is searched according to the TTCN‑3 scope rules. +If there is a timeout event matching the timer name, that event is +removed from the timeout-list, and the timeout +operation succeeds. +

+

+The timeout +can be used to determine an alternative in an alt +statement or as stand-alone statement in a behaviour description. In +the latter case a timeout +operation is considered to be shorthand for an alt +statement with the timeout +operation as the only alternative.

+

+The any +keyword used with the timeout +operation succeeds if the timeout-list is not empty.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + The timeout shall + not be used in a boolean + expression.

    +
+

+Examples

+

+EXAMPLE 1: Timeout of a specific timer

+

MyTimer1.timeout; // +checks for the timeout of the previously started timer MyTimer1 +

+


+

+

+EXAMPLE 2: Timeout of an arbitrary timer

+

any +timer.timeout; +// checks for the timeout of any previously started timer +

+


+

+

+23.7 Summary of use of any and all with timers

+

+The keywords any +and all may be used +with timer operations as indicated in table 27.

+

+Table 27: Any and All with Timers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Operation

+
+

Allowed

+
+

Example

+
+


+

+
+

any

+
+

all

+
+

+
+

start

+
+


+

+
+


+

+
+


+

+
+

stop

+
+


+

+
+

yes

+
+

all + timer.stop

+
+

read

+
+


+

+
+


+

+
+


+

+
+

running

+
+

yes

+
+


+

+
+

if + (any timer.running) {…}

+
+

timeout

+
+

yes

+
+


+

+
+

any + timer.timeout

+
+
+

+

+

+

+24 Test verdict operations

+

+Verdict operations given in table 28 allow to set and retrieve +verdicts. These operations shall only be used in test cases, altsteps +and functions.

+

+Table 28: +Overview of TTCN‑3 test verdict +operations

+
+ + + + + + + + + + + + + + + + + + +
+

Test + verdict operations

+
+

Statement

+
+

Associated + keyword or symbol

+
+

Set + local verdict

+
+

setverdict

+
+

Get + local verdict

+
+

getverdict

+
+
+

+

+

+

+24.1 The Verdict mechanism

+

+Each test component of the active configuration +shall maintain its own local verdict. The local verdict is an object +which is created for each test component at the time of its creation. +It is used to track the individual verdict in each test component +(i.e. in the MTC and in each and every +PTC).

+

+Additionally, there is a global test case +verdict instantiated and handled by the test system that is updated +when each test component (i.e. the MTC +and each and every PTC) terminates +execution (see figure 14). This verdict is not accessible to the +getverdict +and setverdict +operations. The value of this verdict shall be returned by the test +case when it terminates execution. If the returned verdict is not +explicitly saved in the control part (e.g. assigned to a variable) +then it is lost.

+

+

+

+Figure 14: Illustration of the +relationship between verdicts

+

+NOTE 1: TTCN‑3 +does not specify the actual mechanisms that perform the updating of +the local and test case verdicts. These mechanisms are implementation +dependent.

+

+The verdict can have five different values: pass, +fail, inconc, +none and +error, i.e. the +distinguished values of the verdicttype +(see clause 6.1).

+

+NOTE 2: inconc +means an inconclusive verdict.

+

+When a test component is instantiated, its +local verdict object is created and set to the value none.

+

+When changing the value of the local verdict +(i.e. using the setverdict +operation) the effect of this change +shall follow the overwriting rules listed in table 29. The test case +verdict is implicitly updated on the termination of a test component. +The effect of this implicit operation shall also follow the +overwriting rules listed in table 29.

+

+Table 29: Overwriting rules for the +verdict

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Current + value of

+
+

New + verdict assignment value

+
+

Verdict

+
+

pass

+
+

inconc

+
+

fail

+
+

none

+
+

None

+
+

pass

+
+

inconc

+
+

fail

+
+

none

+
+

Pass

+
+

pass

+
+

inconc

+
+

fail

+
+

pass

+
+

Inconc

+
+

inconc

+
+

inconc

+
+

fail

+
+

inconc

+
+

Fail

+
+

fail

+
+

fail

+
+

fail

+
+

fail

+
+
+

+

+

+

+The error +verdict is special in that it is set by the test system to indicate +that a test case (i.e. run-time) error has occurred. It shall not be +set by the setverdict +operation and will not be returned by the getverdict operation. No +other verdict value can override an error +verdict. This means that an error +verdict can only be a result of an execute +test case operation.

+

+Together with the local test verdict, each test +component shall also maintain an implicit charstring +variable to store information about the reasons for assigning the +verdict. The implicit charstring +variable shall have no effect on the overwriting rules and on the +calculation of the final test case verdict. On the termination of the +test component, the local verdict of the test component shall be +logged together with the implicit charstring +variable. The implicit charstring +variable cannot be retrieved and read by any TTCN-3 +function, it only provides additional information for logging.

+

+24.2 The Setverdict operation

+

+The local verdict is set with the setverdict +operation.

+

+Syntactical Structure

+

+setverdict +"(" SingleExpression +{ "," ( FreeText +| TemplateInstance +) } ")"

+

+
+

+

+Semantic Description

+

+The value of the local verdict is changed with +the setverdict +operation. The effect of this change +shall follow the overwriting rules listed in table 29.

+

+The optional parameters allow to provide +information that explain the reasons for assigning the verdict. This +information is composed to a string and stored in an implicit +charstring +variable. On termination of the test component, the actual local +verdict is logged together with the implicit charstring +variable. Since the optional parameters can be seen as log +information, the same rules and restrictions as for the parameters of +the log statement (clause 19.11) apply.

+

+As the result of the setverdict operation, the +implicit charstring +variable is overwritten whenever the local verdict of a test +component is overwritten. A setverdict +operation with a verdict only that overwrites the current local +verdict, will also clear the implicit charstring +variable. This means previously stored information gets lost.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The setverdict +operation shall only be used with the values pass, +fail, inconc +and none. It shall +not be used to assign the value error, this is set by the test +system only to indicate run-time errors.

+

+b) SingleExpression shall resolve to a value of type verdict.

+

+c) For FreeText and TemplateInstance, the same +rules and restrictions apply as for the parameters of the log +statement. Table 17 lists all language elements that can be +used in a setverdict operation.

+

+Examples

+

+EXAMPLE 1:

+

+ setverdict(pass); // +the local verdict is set to pass

+

+ :

+

setverdict(fail); // +until this line is executed, which will result in the value +

+

// +of the local verdict being overwritten to fail +

+

// +When the ptc terminates the test case verdict is set to fail

+


+

+

+EXAMPLE 2:

+

var +integer myVar:= 1;

+

:

+

+ MyPort.receive(integer:MyVar); // +Matches an integer value with the value of MyVar

+

+ // +at port MyPort

+

setverdict(pass, +"Value received: ", myVar ); // Provided the actual test +component verdict is // none: local verdict is set to pass, +the implicit

+

// +charstring variable is set to "Value received: 5"

+

stop; // +The test component terminates. The local test verdict and

+

// +implicit charstring variable are logged

+


+

+

+24.3 The Getverdict operation

+

+The value of the local verdict may be retrieved +using the getverdict +operation.

+

+Syntactical Structure

+

+getverdict

+

+
+

+

+Semantic Description

+

+The getverdict +operation returns the actual +value of the local verdict.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

MyResult +:= getverdict; +// Where MyResult is a variable of type verdicttype +

+


+

+

+25 External actions

+

+In some testing situations some interface(s) to +the SUT may be missing or unknown a +priori (e.g. management interface) but it may be necessary that the +SUT is stimulated to carry out certain +actions (e.g. send a message to the test system). Also certain +actions may be required from the test executing personnel (e.g. to +change the environmental conditions of testing like the temperature, +voltage of the power feeding, etc.).

+

+The required action may be described as a string expression, i.e. the +use of literal strings, string typed variables and parameters, etc. +and any concatenation thereof are allowed.

+

+Syntactical Structure

+

+action +"(" { ( FreeText +| Expression +) ["&"] } ")"

+

+
+

+

+Semantic Description

+

+External actions can be used in test cases, +functions, altsteps and module control.

+

+There is no specification of what is done to or +by the SUT to trigger this action, only +an informal description of the required action itself.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+
    +
  1. + Expression shall have the base type charstring or universal + charstring.

    +
+

+Examples

+

+ var +charstring myString:= +" +now."

+

+ action("Send +MyTemplate on lower PCO" & myString); // Informal +description of the
//
external +action

+


+

+

+26 Module control

+

+Test cases are defined in the module definitions part while the +module control part manages their execution. The statements and +operations that can be used in the module control are summarized in +table 30.

+

+Table 30: +Overview of TTCN‑3 statements and +operations in module control

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Statement

+
+

Associated + keyword or symbol

+
+

+ Assignments + +

+
+

+ :=

+
+

+ If-else + +

+
+

+ if + (…) {…} else {…}

+
+

+ Select + case

+
+

+ select + case (…) { case (…) {…} case else {…}}

+
+

+ For + loop +

+
+

+ for + (…) {…}

+
+

+ While + loop +

+
+

+ while + (…) {…}

+
+

+ Do + while loop

+
+

+ do + {…} while (…)

+
+

+ Label + and Goto

+
+

+ label + / goto

+
+

+ Stop + execution

+
+

+ stop

+
+

+ Leaving + a loop, alt or interleave

+
+

+ break

+
+

+ Next + iteration of a loop

+
+

+ continue

+
+

+ Logging + +

+
+

+ log

+
+

Alternative + behaviour (see note)

+
+

alt + {…} +

+
+

Re-evaluation + of alternative behaviour (see note)

+
+

repeat

+
+

Interleaved + behaviour (see note)

+
+

interleave + {…}

+
+

Activate + a default (see note)

+
+

activate

+
+

Deactivate + a default (see note)

+
+

deactivate

+
+

Start + timer

+
+

start + +

+
+

Stop + timer

+
+

stop

+
+

Read + elapsed time

+
+

read

+
+

Check + if timer running

+
+

running

+
+

Timeout + event

+
+

timeout

+
+

Stimulate + an (SUT) action externally

+
+

action

+
+

Execute + test case

+
+

execute

+
+

+ NOTE: Can + be used to control timer operations only.

+
+
+

+

+

+

+26.1 The Execute statement

+

+Test cases are executed with an execute +statement in the module control.

+

+Syntactical Structure

+

+execute +"(" TestcaseRef +"(" [ { ActualPar + [","] } ] ")" [ "," +TimerValue [ +"," HostId +] ] ")"

+

+
+

+

+Semantic Description

+

+In the module control part the execute +statement is used to start test cases (see clause 27.1). The result +of an executed test case is always a value of type verdicttype. +Every test case shall contain one and only one MTC +the type of which is referenced in the header of the test case +definition. The behaviour defined in the test case body is the +behaviour of the MTC.

+

+When a test case is invoked the MTC +is created, the ports of the MTC and the +test system interface are instantiated and the behaviour specified in +the test case definition is started on the MTC. +All these actions shall be performed implicitly i.e. without explicit +create +and start +operations.

+

+Test case start

+

+A test case is called using an execute +statement. As the result of the execution of a test case, a test case +verdict of either none, +pass, +inconc, +fail +or error +shall be returned and may be assigned to a variable for further +processing.

+

+Optionally, the execute +statement allows supervision of a test case by means of a timer +duration.

+

+Also optionally, the execute statement allows +deployment of the MTC to a specific host +before starting the execution. The host is identified by means of a +host id.

+

+Test case parameterization and configuration

+

+All variables (if any) defined in the control +part of a module shall be passed into the test case by +parameterization if they are to be used in the behaviour definition +of that test case, i.e. TTCN‑3 +does not support global variables of any kind.

+

+At the start of each test case, the test +configuration shall be reset. This means that all components and +ports conducted by create, +connect, +etc. operations in a previous test case were destroyed when that test +case was stopped (hence are not "visible" to the new test +case).

+

+Test case termination

+

+A test case terminates with the termination of the MTC. On +termination of the MTC (explicitly or implicitly), all running +parallel test components shall be removed by the test system.

+

+NOTE 1: The concrete mechanism for stopping all +PTCs is tool specific and therefore outside the scope of the present +document.

+

+The final verdict of a test case is calculated based on the final +local verdicts of the different test components according to the +rules defined in clause 24.1. The actual local verdict of a test +component becomes its final local verdict when the test component +terminates itself or is stopped by itself, another test component or +by the test system.

+

+NOTE 2: To avoid race conditions for the +calculation of test verdicts due to the delayed stopping of PTCs, the +MTC should ensure that all PTCs have +stopped (by means of the done +or killed +statement) before it stops itself.

+

+Test case timer

+

+Timer may be used to supervise the execution of a test case. This may +be done using an explicit timeout in the execute +statement. If the test case does not end within +this duration, the result of the test case execution shall be an +error verdict and the test system shall terminate the test case. The +timer used for test case supervision is a system timer and need not +be declared or started.

+

+Host id

+

+A host id can be used to give a specific +deployment location to the test system where the MTC +shall be started and execute its behaviour. If a host id is provided, +the execute statement shall end with a test case error if the MTC +cannot be deployed on the specified host.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) The TimerValue shall resolve to a non-negative numerical +float value (i.e. the value shall be greater or +equal 0.0, infinity and not_a_number are disallowed).

+

+b) When the corresponding formal parameter is not of template type +TemplateInstance shall resolve to an Expression.

+

+c) The execute statement shall not be called from within an existing +executing testcase or function chain called from a test case, i.e. +test cases can only be executed from the control part or from +functions directly called from the control part.

+

+d) The HostId parameter shall resolve to a charstring +value.

+

+Examples

+

+EXAMPLE 1: Test case execution without keeping the test case verdict

+

execute(MyTestCase1()); // +executes MyTestCase1, without storing the

+

// +returned test verdict and without time

+

// +supervision

+


+

+

+EXAMPLE 2: Test case execution with keeping the test case verdict

+

MyVerdict +:= execute(MyTestCase2()); // +executes MyTestCase2 and stores the resulting

+

// +verdict in variable MyVerdict

+


+

+

+EXAMPLE 3: Test case timer

+

MyVerdict +:= execute(MyTestCase3(),5E-3); // +executes MyTestCase3 and stores the resulting

+

// +verdict in variable MyVerdict. If the test case

+

// +does not terminate within 5ms, MyVerdict will

+

// +get the value 'error'

+


+

+

MyReturnVal +:= execute +(MyTestCase(), 7E-3);

+

// +Where the return verdict will be error if MyTestCase does not +complete execution

+

// +within 7ms

+


+

+

+EXAMPLE 4: Host id

+

MyVerdict +:= execute(MyTestCase3(), +-, "Host1");

+

// +executes MyTestCase3 with unlimited time

+

// +with MTC deployed to 'Host1'

+


+

+

+26.2 The Control part

+

+The control part defines, in which order, sequence, loop, under which +preconditions, and with which parameters test cases are to be +executed.

+

+Syntactical Structure

+

+control +"{" +

+

+ { +( ConstDef +| +

+

+ + TemplateDef +| +

+

+ + VarInstance +| +

+

+ + TimerInstance +| +

+

+ + TimerStatements +|

+

+ + BasicStatements +|

+

+ + BehaviourStatements +|

+

+ + SUTStatements +|

+

+ + stop ) +[";"] } +

+

+"}"

+

+[ +WithStatement +] [";"]

+

+
+

+

+Semantic Description

+

+Sequence of test cases

+

+Program statements specify such things like the order in which test +cases are to be executed or the number of times a test case should +run.

+

+If no programming statements are used then, by default, the test +cases are executed in the sequential order in which they appear in +the module control.

+

+NOTE: This does not preclude the possibility that certain tools may +wish to override this default ordering to allow a user or tool to +select a different execution order.

+

+Timer operations may also be used explicitly to control test case +execution.

+

+Selection/deselection of test cases

+

+The selection and deselection of test cases can also be used to +control the execution of test cases.

+

+There are different ways in TTCN‑3 +to select and deselect test cases. For example, boolean expressions +may be used to select and deselect which test cases are to be +executed. This includes, of course, the use of functions that return +a boolean +value.

+

+Another way to execute test cases as a group is to collect them in a +function and execute that function from the module control.

+

+As a test case returns a single value of type +verdicttype, +it is also possible to control the order of test case execution +depending on the outcome of a test case. The use of the TTCN‑3 +verdicttype is another way to select test cases.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Configuration statements such as connect and map (with the +exception of stop execution, which is allowed), communication +statements such as send and receive and verdict statements such as +setverdict shall not be used in the control part. +

+

+b) Statements for alternative behaviours shall only be used to +control timer behaviours.

+

+c) The restrictions on the use of statements in the control part are +given in table 15.

+

+Examples

+

+EXAMPLE 1: Test case execution in a loop

+

+ module +MyTestSuite () {

+

+ +:

+

+ control +{

+

+ +:

+

+ // +Do this test 10 times +

+

+ count:=0;

+

+ while +(count < 10) +

+

+ { execute +(MySimpleTestCase1());

+

count +:= count+1;

+

}

+

}

+

}

+


+

+

+EXAMPLE 2: Test case execution controlled by a timer and a counter

+

// +Example of the use of the running timer operation +

+

while +(T1.running +or +x<10) // Where T1 is a previously started timer

+

{ execute(MyTestCase());

+

x +:= x+1;

+

}

+


+

+

// +Example of the use of the start and timeout operations +

+


+

+

timer +T1 := +1.0;

+

+:

+

execute(MyTestCase1());

+

T1.start;

+

T1.timeout; // +Pause before executing the next test case

+

execute(MyTestCase2());

+


+

+

+EXAMPLE 3: Selection/deselection of test cases with Boolean +expressions

+

module +MyTestSuite () {

+

+:

+

control +{

+

+:

+

if +(MySelectionExpression1()) {

+

execute(MySimpleTestCase1());

+

execute(MySimpleTestCase2());

+

execute(MySimpleTestCase3());

+

}

+

if +(MySelectionExpression2()) {

+

execute(MySimpleTestCase4());

+

execute(MySimpleTestCase5());

+

execute(MySimpleTestCase6());

+

}

+

+:

+

}

+

}

+


+

+

+EXAMPLE 4: Selection/deselection of test cases +with functions

+

+ function +MyTestCaseGroup1()

+

+ { execute(MySimpleTestCase1());

+

+ execute(MySimpleTestCase2());

+

+ execute(MySimpleTestCase3());

+

+ }

+

+ function +MyTestCaseGroup2()

+

+ { execute(MySimpleTestCase4());

+

+ execute(MySimpleTestCase5());

+

+ execute(MySimpleTestCase6());

+

+ }

+

+ +:

+

+ control

+

+ { if +(MySelectionExpression1()) { MyTestCaseGroup1(); }

+

if +(MySelectionExpression2()) { MyTestCaseGroup2(); }

+

+:

+

}

+


+

+

+EXAMPLE 5: Selection/deselection of test cases based on test case +verdicts

+

if +( execute +(MySimpleTestCase()) == pass )

+

+ { +execute +(MyGoOnTestCase()) }

+

else + +

+

+ { +execute +(MyErrorRecoveryTestCase()) };

+


+

+

+27 Specifying attributes

+

+TTCN‑3 uses attributes to give special characterization/meaning +to language elements such as specific presentation format, specific +encoding and encoding variants, and user-defined properties.

+

+27.1 The Attribute mechanism

+

+Attributes can be associated with TTCN‑3 language elements by +means of the with statement. The with statement can be applied to +modules, global module definitions and to local definitions in +control, test cases, functions, altsteps, statement blocks, and in +component type definitions.

+

+27.1.1 Scope of attributes

+

+A with statement +may associate attributes to a single language element or to elements +or fields of structured types (in a recursive way) or to members of +component or port types, the same way as specified in clauses 6.2.1.1 +and 6.2.3.2. It is also possible to associate attributes to a number +of language +elements by, e.g. listing fields of a structured type in an attribute +statement associated with a single type definition or associating a +with statement to +the surrounding scope unit or group +of language elements. A with +statement can follow any module, any global definition inside module +and group declarations as well as any local definition in component +types and statement blocks inside behaviour definitions or the +control part.

+

+EXAMPLE 1: // attributes for single language elements and groups

+

+ // +MyPDU1 will be displayed as PDU +

+

type +record +MyPDU1 { … } with +{ display +"PDU"}

+


+

+

// +MyPDU2 will be displayed as PDU with the application specific +extension attribute MyRule +

+

type +record +MyPDU2 { … }

+

with + +

+

{

+

display +"PDU";

+

extension +"MyRule"

+

}

+


+

+

// +The following group definition … +

+

group +MyPDUs {

+

type +record +MyPDU3 { … }

+

type +record +MyPDU4 { … }

+

}

+

with +{display +"PDU"} // All types of group +MyPDUs will be displayed as PDU

+


+

+

// +is identical to +

+

group +MyPDUs {

+

type +record +MyPDU3 { … } with +{ display "PDU"}

+

type +record +MyPDU4 { … } with +{ display "PDU"}

+

}

+


+

+

+EXAMPLE 2: // attributes for fields and elements

+

type +record +MyRec {

+

integer +field1,

+

record +{

+

integer +eField1,

+

boolean +eField2

+

} +field2

+

} + +

+

with +{ display +(field2.eField1) "colour blue" } +

+

// +the embedded field eField1 is displayed blue

+


+

+

type +record of integer +MyRecOfInteger +

+

with +{ display +([-]) "colour green"

+

// +all integer elements are displayed green

+


+

+

type +record of +integer MyRecOfInteger2 +

+

with +{ display +([-]) "colour red" }

+

// +integer elements are displayed red

+


+

+

const +MyRecOfInteger c_MyRecordOfInt := {0, 1, 2, 3}

+

with +{ display +([0]) "colour blue" }

+

// +the first element is displayed blue, the other elements are displayed +red

+


+

+

+27.1.2 Overwriting rules for attributes

+

+An attribute definition in a lower scope unit will override a general +attribute definition in a higher scope. Additional overwriting rules +for variant attributes are defined in clause 27.1.2.1.

+

+EXAMPLE 1:

+

type +record +MyRecordA

+

{

+

:

+

} +with { +encode +"RuleA" }

+


+

+

// +In the following, MyRecordA is encoded according to RuleA and not +according to RuleB

+

type +record MyRecordB

+

{

+

+:

+

MyRecordA + field

+

} +with { +encode +"RuleB" }

+


+

+

+A with statement +that is placed inside the scope of another with +statement shall override the outermost with. +This shall also apply to the use of the with +statement with groups. Care should be taken when the overwriting +scheme is used in combination with references to single definitions. +The general rule is that attributes shall be assigned and overwritten +according to the order of their occurrence.

+

// +Example of the use of the +overwriting scheme of the with +statement +

+

group +MyPDUs +

+

{

+

type +record +MyPDU1 { … }

+

type +record +MyPDU2 { … }

+


+

+

group +MySpecialPDUs +

+

{

+

type +record +MyPDU3 { … }

+

type +record +MyPDU4 { … }

+

}

+

with +{extension +"MySpecialRule"} // MyPDU3 and MyPDU4 will have the +application

+

// +specific extension attribute MySpecialRule +

+

}

+

+ with + +

+

+ {

+

display +"PDU"; // All types of group +MyPDUs will be displayed as PDU and

+

extension +"MyRule"; // (if not overwritten) have the extension +attribute MyRule

+

}

+


+

+

// +is identical to … +

+

group +MyPDUs +

+

{

+

type +record +MyPDU1 { … } with +{display "PDU"; +extension +"MyRule" }

+

type +record +MyPDU2 { … } with +{display "PDU"; +extension +"MyRule" }

+

group +MySpecialPDUs {

+

type +record +MyPDU3 { … } with +{display "PDU"; +extension +"MySpecialRule" }

+

type +record +MyPDU4 { … } with +{display "PDU"; +extension +"MySpecialRule" }

+

}

+

}

+


+

+

+An attribute definition in a lower scope can be overwritten in a +higher scope by using the override +directive.

+

+EXAMPLE 2:

+

+ type +record +MyRecordA

+

+ {

+

+ +:

+

} +with { +encode +"RuleA" }

+


+

+

// +In the following, MyRecordA is encoded according to RuleB +

+

type +record MyRecordB

+

{

+

+:

+

MyRecordA + fieldA +

+

} +with { +encode +override +"RuleB" }

+


+

+

+The override +directive forces all contained types at all lower scopes to be forced +to the specified attribute.

+

+An attribute definition for a field or element of a structured type +overrides the corresponding attribute of the structured type, as +regards the identified field or element. The attribute definition for +a field or element of a structured type can however be overridden +with the override directive in the attribute definition of the +structured type.

+

+27.1.2.1 Additional overwriting rules for variant attributes

+

+A variant attribute +is always related to an encode +attribute. Whereas a variant of an encoding may change, an encoding +shall not change without overwriting all current variant attributes. +

+

+The present document defines the default rules for variant +attributes. Extension packages of TTCN-3, for example specifying +language mappings, may define their own overwriting rules for variant +attributes. For variant attributes the following default overwriting +rules apply:

+
    +
  • + a variant + attribute overwrites an current variant + attribute according to the rules defined in clause 27.1.2;

    +
  • + an encoding + attribute, which overwrites a current encoding + attribute according to the rules defined in clause 27.1.2, also + overwrites a corresponding current variant + attribute, i.e. no new variant + attribute is provided, but the current variant + attribute becomes inactive;

    +
  • + an encoding + attribute, which changes a current encoding + attribute of an imported language element according to the rules + defined in clause 27.1.3, also changes a corresponding current + variant attribute, + i.e. no new variant + attribute is provided, but the current variant + attribute becomes inactive.

    +
+

+EXAMPLE:

+

module +MyVariantEncodingModule {

+

:

+

type +charstring +MyType; // +Normally encoded according to "Encoding 1"

+

: + +

+

group +MyVariantsOne {

+

:

+

type +record MyPDUone

+

{

+

integer field1, // +field1 will be encoded according to "Encoding 2" only.

+

// +"Encoding 2" overwrites "Encoding 1" and variant +"Variant 1"

+

MyType field3 + // field3 will be encoded according to "Encoding 1" with

+

// +variant "Variant 1".

+

}

+

with +{ encoding +(field1) "Encoding 2" }

+

:

+

}

+

with +{ variant +"Variant 1" }

+


+

+

group +MyVariantsTwo +

+

{ + :

+

type +record MyPDUtwo

+

{

+

integer field1, // +field1 will be encoded according to "Encoding 3"

+

// +using encoding variant "Variant 3"

+

MyType field3 + // field3 will be encoded according to "Encoding 3"

+

// +using encoding variant "Variant 2"

+

}

+

with +{ variant +(field1) "Variant 3" }

+

:

+

}

+

with +{ encode +"Encoding 3"; variant +"Variant 2"}

+

+ +

+

}

+

with +{ encode +"Encoding 1" }

+


+

+

+27.1.3 Changing attributes of imported language elements

+

+In general, a language element is imported +together with its attributes. In some cases these attributes may have +to be changed when importing the language element, e.g. a type may be +displayed in one module as ASP, then it +is imported by another module where it should be displayed as PDU. +For such cases it is allowed to change attributes on the import +statement.

+

+NOTE: If a with +statement is added to an import of a definition where a local +definition also has a with +statement, the local definition's attributes overwrite the attributes +added to the import statement in the normal way. Thus, if the +attributes of a local definition shall be changed via the import +statement, the override directive needs to be used.

+

+EXAMPLE:

+

import +from MyModule +{

+

type +MyType

+

}

+

with +{ display +"ASP" +} // MyType will be displayed as ASP + +

+


+

+

import +from MyModule +{

+

group +MyGroup

+

}

+

with +{

+

display +"PDU"; // +By default all types will be displayed as PDU

+

extension +"MyRule"

+

}

+


+

+

+27.2 The With statement

+

+The with statement is used to associate +attributes to TTCN‑3 language elements (and sets +thereof).

+

+Syntactical Structure

+

+with + "{" +

+

+ { +( encode | +variant | +display | +extension | +optional )

+

+ [ +override ]

+

+ ["(" +DefinitionRef +| FieldReference +| AllRef +")"] +

+

+ FreeText +[";"] }

+

+"}"

+

+
+

+

+Semantic Description

+

+There are five kinds of attributes that can be associated to language +elements:

+

+a) display: +allows the specification of display attributes related to specific +presentation formats;

+

+b) encode: +allows references to specific encoding rules;

+

+c) variant: +allows references to specific encoding variants;

+

+d) extension: +allows the specification of user-defined attributes;

+

+e) optional: allows +the implicit setting of optional fields in records and sets to omit.

+

+The syntax for the argument of the with +statement (i.e. the actual attributes) is defined as a free text +string.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) DefinitionRef and FieldReference shall refer to a +definition or field respectively which is within the module, group or +definition to which the with statement is associated.

+

+Examples

+

type +record +MyService {

+

integer +i,

+

float +f

+

} + +

+

with +{ display +"ServiceCall" +} // MyRecord will be displayed as a +ServiceCall

+


+

+

+27.3 Display attributes

+

+Display attributes allow the specification +of display attributes related to specific presentation formats.

+

+Syntactical Structure

+

+display

+

+
+

+

+Semantic Description

+

+All TTCN‑3 +language elements can have display +attributes to specify how particular language elements shall be +displayed in, for example, a tabular format.

+

+Special attribute strings related to the +display attributes for the tabular (conformance) presentation format +can be found in ES 201 +873-2 [i.1].

+

+Special attribute strings related to the +display attributes for the graphical presentation format can be found +in ES 201 873-3 [i.2].

+

+Other display +attributes may be defined by the user.

+

+NOTE: Because user-defined attributes are not standardized, the +interpretation of these attributes may differ between tools or even +may not be supported.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+ type +record +MyService {

+

+ integer +i,

+

+ float +f

+

} + +

+

with +{ display +"ServiceCall" +} // MyRecord will be displayed as a +ServiceCall

+


+

+

+27.4 Encoding attributes

+

+In TTCN‑3, +general or particular encoding rules can be specified by using encode +and variant +attributes. Encoding attributes allow references to specific +encoding rules.

+

+Syntactical Structure

+

+encode

+

+
+

+

+Semantic Description

+

+Encoding rules define how a particular value, +template, etc. shall be encoded and transmitted over a communication +port +and how received signals shall be decoded. TTCN‑3 +does not have a default encoding mechanism. This means that encoding +rules or encoding directives are defined in some external manner to +TTCN‑3.

+

+The encode +attribute allows the association of some referenced encoding rule or +encoding directive to be made to a TTCN‑3 +definition.

+

+The manner in which the actual encoding rules are defined (e.g. +prose, functions, etc.) is outside the scope of the present document. +If no specific rules are referenced then encoding shall be a matter +for individual implementation.

+

+In most cases encoding attributes will be used +in a hierarchical manner. The top-level is the entire +module, the next level is a group +and the lowest is an individual type or definition:

+

+a) module: +encoding applies to all types defined in the module, including TTCN‑3 +types (built-in types);

+

+b) group: +encoding applies to a group of user-defined type definitions;

+

+c) type +or definition: encoding applies to a single +user-defined type or definition;

+

+d) field: +encoding applies to a field in a record +or set type or +template.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

module +MyFirstmodule +

+

{ :

+

import +from MySecondModule {

+

type +MyRecord

+

}

+

with +{ encode +"MyRule 1" } // Instances of MyRecord will be encoded +according to MyRule 1

+

+ +

+

: + +

+

type +charstring +MyType; // +Normally encoded according to the 'Global encoding rule

+

: + +

+

group +MyRecords +

+

{ + :

+

type +record MyPDU1

+

{

+

integer field1, + // field1 will be encoded according to "Rule 3"

+

boolean field2, // +field2 will be encoded according to "Rule 3"

+

Mytype field3 + // field3 will be encoded according to "Rule 2" +

+

}

+

with +{ encode +(field1, field2) "Rule 3" }

+

:

+

}

+

with +{ encode +"Rule 2" }

+

+ +

+

}

+

with +{ encode +"Global encoding rule" }

+


+

+

+27.5 Variant attributes

+

+In TTCN‑3, +general or particular encoding rules can be specified by using encode +and variant +attributes. Variant attributes allow references to specific +encoding variants.

+

+Syntactical Structure

+

+variant

+

+
+

+

+Semantic Description

+

+To specify a refinement of the currently specified encoding scheme +instead of its replacement, the variant +attribute shall be used. The variant attributes are different from +other attributes, because they are closely related to encode +attributes. Therefore, for variant attributes, additional overwriting +rules apply (see clause 27.1.2.1).

+

+Special variant strings:

+

+The following strings are the predefined (standardized) variant +attributes for simple basic types (see clause E.2.1):

+

+a) "8 bit" and +"unsigned 8 bit" +mean, when applied to integer and enumerated types, that the +integer value or the integer numbers associated with enumerated +values shall be handled as it was represented on 8‑bits (single +byte) within the system.

+

+b) "16 bit" and +"unsigned 16 bit" +mean, when applied to integer and enumerated types, that the integer +value or the integer numbers associated with enumerated values shall +be handled as it was represented on 16‑bits (two bytes) within +the system.

+

+c) "32 bit" and +"unsigned 32 bit" +mean, when applied to integer and enumerated types, that the integer +value or the integer numbers associated with enumerated values shall +be handled as it was represented on 32‑bits (four bytes) within +the system.

+

+d) "64 bit" and +"unsigned 64 bit" +mean, when applied to integer and enumerated types, that the integer +value or the integer numbers associated with enumerated values shall +be handled as it was represented on 64‑bits (eight bytes) +within the system.

+

+e) "IEEE754 float","IEEE754 double", +"IEEE754 extended float" +and "IEEE754 extended double" +mean, when applied to a float type, that the value +shall be encoded and decoded according to the standard IEEE +754 [6] (see annex E).

+

+The following strings are the predefined (standardized) variant +attributes for charstring +and universal +charstring (see clause E.2.2):

+

+a) "UTF-8" +means, when applied to the universal charstring type, that each +character of the value shall be individually encoded and decoded +according to the UCS Transformation Format 8 (UTF-8) as defined in +annex R of ISO/IEC 10646 [2].

+

+b) "UCS-2" +means, when applied to the universal charstring type, that each +character of the value shall be individually encoded and decoded +according to the UCS-2 coded representation form (see clause 14.1 of +ISO/IEC 10646 [2]).

+

+c) "UTF-16" +means, when applied to the universal charstring type, that each +character of the value shall be individually encoded and decoded +according to the UCS Transformation Format 16 (UTF-16) as defined in +annex Q of ISO/IEC 10646 [2].

+

+d) "8 bit" +means, when applied to charstring and universal charstring types, +that each character of the value shall be individually encoded and +decoded according to the coded representation as specified in +ISO/IEC 10646 [2] (an 8-bit coding).

+

+The following strings are the predefined (standardized) variant +attributes for structured types (see clause E.2.2.4):

+

+a) "IDL:fixed +FORMAL/01-12-01 v.2.6" means, when applied to a record +type, that the value shall be handled as an IDL fixed point decimal +value (see annex E).

+

+These variant attributes can be used in combination with the more +general encode attributes specified at a higher level. For example a +universal charstring +specified with the variant +attribute "UTF-8" within a module which itself has a global +encoding attribute "BER:1997" (see clause 12.2 of ES 201 +873-7 [i.5]) will cause each character of the values within the +string to first be encoded following the UTF-8 rules and then this +UTF-8 value will be encoded following the more global BER rules.

+

+Invalid encodings

+

+If it is desired to specify invalid encoding rules then these shall +be specified in a referenceable source external to the module in the +same way that valid encoding rules are referenced.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

+EXAMPLE:

+

module +MyTTCNmodule1 +

+

{ :

+

type +charstring +MyType; // +Normally encoded according to the "Global encoding rule"

+

: + +

+

group +MyRecords +

+

{ + :

+

type +record MyPDU1

+

{

+

integer field1, + // field1 will be encoded according to "Rule 2" +

+

// +using encoding variant "length form 3"

+

Mytype field3 + // field3 will be encoded according to "Rule 2"

+

// +using any possible length encoding format

+

}

+

with +{ variant +(field1) "length form 3" }

+

:

+

}

+

with +{ encode +"Rule 2" }

+

+ +

+

}

+

with +{ encode +"Global encoding rule" }

+


+

+

+27.6 Extension attributes

+

+Extension attributes can be used for +proprietary extensions to TTCN‑3.

+

+Syntactical Structure

+

+extension

+

+
+

+

+Semantic Description

+

+All TTCN‑3 +language elements can have extension +attributes specified by the user.

+

+NOTE: Because user-defined attributes are not standardized the +interpretation of these attributes between tools supplied by +different vendors may differ or even not be supported.

+

+Restrictions

+

+No specific restrictions in addition to the general static rules of +TTCN‑3 given in clause 5.

+

+Examples

+

testcase +MyTestcase() runs +on MTCType +{

+

:

+

}

+

with +{ extension +"Test +Purpose: This test case is used to check …" +}

+


+

+

+27.7 Optional attributes

+

+The optional +attribute can be used to indicate that optional fields of constants, +module parameters or templates of record and set types are implicitly +set to omit.

+

+Syntactical Structure

+

+optional

+

+
+

+

+Semantic Description

+

+TTCN‑3 constants, module parameters, and +templates can have an optional +attribute. Also, TTCN-3 language +elements that contain such definitions, i.e. module, group, function, +altstep, test case, control, and component type definitions can have +an optional +attribute. When an optional +attribute is associated to a function, altstep, test case, control or +component type definitions, it shall have effect on all the +constants, module parameters, and templates declared within these +definitions and not on the enframing definition itself.

+

+Special optional strings:

+

+The following strings are the predefined (standardized) optional +attributes.

+

+a) "implicit omit" +means that all optional fields, that have no assigned value +definition in the statement on which the attribute operates, are set +to omit. This applies recursively to the optional fields of the +entity and to subfields of the mandatory fields.

+

+b) "explicit omit" +means that all optional fields, that have no assigned value +definition in the statement on which the attribute operates, are left +undefined. This applies recursively to the optional fields of the +entity and to subfields of the mandatory fields.

+

+Restrictions

+

+In addition to the general static rules of TTCN‑3 given in +clause 5, the following restrictions apply:

+

+a) Data type, port type, procedure signature and variable definitions +and import statements shall not have an optional +attribute associated to them directly. When an optional +attribute is associated to module, group, function, altstep, test +case, control or component type containing such definitions, it shall +not have any effect on the included data type, port type, procedure +signature, variable or import statement.

+

+Examples

+

+type +record MyRecord1 {
integer
a,
+ boolean
b +optional
}
type +record MyRecord2 +{
+
MyRecord1 +m
}

// +reference templates with explicitly set fields
template +MyRecord1 +MyTemplate1 +:= { a := ?, b := +omit }
template +MyRecord2 +MyTemplate2 +:= { m := { a := ?, b := +omit }}

// +reference templates
template +MyRecord1 +MyTemplate1a +:= { a := ? } // b is +undefined
template MyRecord1 +MyTemplate1b +:= { a := ? } +with {optional +"explicit omit"} +// b is undefined

template +
MyRecord2 +MyTemplate2a +:= {} // m and its subfields are +undefined

+

+template +MyRecord2 +MyTemplate2b +:= { m := { a := ?}}; // m.b is +undefined

+

+

+// +templates with attribute

+

+
template +
MyRecord1 +MyTemplate11 +:= { a := ? } +with {optional +"implicit omit"}
+ // same as MyTemplate1, b is set to omit

+

+

+

+

+template +MyRecord2 +MyTemplate21 +:= { m := { a := ?}} +with {optional +"implicit omit"}
+ // same as MyTemplate2, by recursive +application of the attribute

+

+template +MyRecord2 +MyTemplate22 +:= { m := MyTemplate1a } +with {optional +"implicit omit"}
+ // same as MyTemplate2, by recursive +application of the attribute

+

+
+

+

+
+

+

+
+

+

+
+

+

+template +MyRecord2 +MyTemplate23 +:= {} with +{optional +"implicit omit"}
+ // same as MyTemplate2a, m remains undefined

+

+

+template +MyRecord2 +MyTemplate24 +:= { m := MyTemplate1b } +with {optional +"implicit omit"}
+ // same as MyTemplate2b, the attribute +on the lower scope is not overwritten

+

+template +MyRecord2 +MyTemplate25 +:= { m := MyTemplate1b } +
with
{optional +override "implicit omit"}
+ // same as MyTemplate2, the attribute on the lower scope is +overwritten

+


+

+

+Annex A (normative):
BNF and static semantics

+

+A.1 TTCN‑3 BNF

+

+This annex defines the syntax of TTCN‑3 +using extended BNF (henceforth just +called BNF).

+

+A.1.1 Conventions for the syntax description

+

+Table A.1 defines the metanotation used to +specify the extended BNF grammar for +TTCN‑3.

+

+Table A.1: The syntactic +metanotation

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

::= + +

+
+

is + defined to be

+
+

definition + of non-terminal

+
+

abc + xyz

+
+

abc + followed by xyz

+
+

concatenation

+
+

|

+
+

alternative

+
+

alternative

+
+

[abc]

+
+

0 + or 1 instances of abc

+
+

optional

+
+

{abc}

+
+

0 + or more instances of abc

+
+

repetition + 1

+
+

{abc}+

+
+

1 + or more instances of abc

+
+

repetition + 2

+
+

(...)

+
+

textual + grouping

+
+

grouping

+
+

Abc

+
+

the + non-terminal symbol abc

+
+

non-terminal

+
+

"abc"

+
+

a + terminal symbol abc

+
+

terminal

+
+
+

+

+

+

+NOTE: The metanotation defined in table A.1 is parsed from left to +right. The metanotation operators have the following precedence, from +highest (binding tightest) at the top, to lowest (loosest) at the +bottom:

+

+- Repetition, Optional

+

+- Grouping +

+

+- Concatenation

+

+- Alternative

+

+- Definition

+

+A.1.2 Statement terminator symbols

+

+In general all TTCN‑3 +language constructs (i.e. definitions, declarations, statements and +operations) are terminated with a semi-colon (;). The semi-colon is +optional if the language construct ends with a right-hand curly brace +(}) or the following symbol is a right-hand curly brace (}), i.e. the +language construct is the last statement in a statement block.

+

+A.1.3 Identifiers

+

+TTCN‑3 identifiers are case sensitive and +may only contain lowercase letters (a-z) uppercase letters (A-Z) and +numeric digits (0-9). Use of the underscore ( _ ) symbol is also +allowed. An identifier shall begin with a letter (i.e. not with a +number and not an underscore).

+

+A.1.4 Comments

+

+Comments written in free text may appear +anywhere in a TTCN‑3 +specification. Comments may contain any graphical character +defined in ISO/IEC 10646 [2]. Block comments +shall be opened by the symbol pair /* and closed by the symbol pair +*/.

+

+EXAMPLE 1:

+

+ /* +This is a block comment +

+

+ spread +over two lines */

+


+

+

+Block comments shall not be nested.

+

/* +This is not /* a legal */ +comment */

+


+

+

+Line comments shall be opened by the symbol +pair // and closed by a <newline>.

+

+EXAMPLE 2:

+

// +This is a line +comment

+

// +spread over two lines

+


+

+

+EXAMPLE 3:

+

// +The following is not legal

+

+ const +// This is MyConst integer +MyConst := 1;

+

// +A block comment should have been used instead

+

const +/* This is MyConst */ integer +MyConst := 1;

+

// +A line +comment like this works as well

+

const +// This is MyConst +

+

integer +MyConst := 1;

+


+

+

+A.1.5 TTCN‑3 terminals

+

+TTCN‑3 terminal symbols and reserved +words are listed in tables A.2 and A.3.

+

+Table A.2: List of TTCN‑3 +special terminal symbols

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Begin/end + block symbols

+
+

{ + }

+
+

Begin/end + list symbols

+
+

( + ) +

+
+

Element + specifier symbols

+
+

[ + ]

+
+

Range + symbol

+
+

..

+
+

Line + and block comments

+
+

/* + */ + //

+
+

Statement + separator symbol

+
+

;

+
+

Arithmetic + operator symbols

+
+

+ + / - *

+
+

Concatenation + operator symbol

+
+

&

+
+

Relational + operator symbols

+
+

!= + == >= <= < >

+
+

Shift + operator symbols

+
+

<< + >>

+
+

Rotate + operator symbols

+
+

<@ + @>

+
+

String + enclosure symbols

+
+

" + ' +

+
+

Wildcard/matching + symbols

+
+

? + * +

+
+

Assignment + symbol

+
+

:= + +

+
+

Communication + operation assignment +

+
+

->

+
+

Bitstring, + hexstring and Octetstring values

+
+

B + H O +

+
+

Float + exponent

+
+

E

+
+

List + element separator symbol

+
+

,

+
+
+

+

+

+

+The predefined function identifiers defined in table 14 and described +in annex C shall also be treated as reserved words.

+

+Table A.3: List of TTCN‑3 +terminals which are reserved words

+
+ + + + + + + + + + + +
+

+ action

+

+ activate

+

+ address

+

+ alive

+

+ all

+

+ alt

+

+ altstep

+

+ and

+

+ and4b

+

+ any

+

+ anytype

+

+
+

+

+ bitstring

+

+ boolean

+

+ break

+

+
+

+

+ case

+

+ call

+

+ catch

+

+ char

+

+ charstring

+

+ check

+

+ clear

+

+ complement

+

+ component

+

+ connect

+

+ const + +

+

+ continue

+

+ control

+

+ create

+

+
+

+

+ deactivate

+

+ default

+

+ disconnect

+

+ display

+

+ do

+

+ done

+

+
+

+

+ else

+

+ encode

+

+ enumerated

+

+ error

+

+ except

+

+ exception

+

+ execute

+

+ extends

+

+ extension

+

external

+
+

+ fail

+

+ false

+

+ float

+

+ for

+

+ friend

+

+ from

+

+ function

+

+
+

+

+ getverdict

+

+ getcall

+

+ getreply

+

+ goto

+

+ group

+

+
+

+

+ halt
hexstring

+

+
+

+

+ if

+

+ ifpresent

+

+ import

+

+ in

+

+ inconc

+

+ infinity

+

+ inout

+

+ integer

+

+ interleave

+

+
+

+

+ kill

+

+ killed

+

+
+

+

+ label

+

+ language

+

+ length

+

+ log

+

+
+

+

+ map

+

+ match

+

+ message

+

+ mixed

+

+ mod

+

+ modifies

+

+ module

+

+ modulepar

+

mtc

+
+

+ noblock

+

+ none

+

+ not

+

+ not4b

+

+ nowait

+

+ null

+

+
+

+

+ octetstring

+

+ of

+

+ omit

+

+ on

+

+ optional

+

+ or

+

+ or4b

+

+ out

+

+ override

+

+
+

+

+ param

+

+ pass

+

+ pattern

+

+ permutation

+

+ port

+

+ present

+

+ private

+

+ procedure

+

+ public

+

+
+

+

+ raise

+

+ read

+

+ receive

+

+ record

+

+
+

+

+ recursive

+

+ rem

+

+ repeat

+

+ reply

+

+ return

+

+ running

+

runs

+
+

+ select

+

+ self

+

+ send

+

+ sender

+

+ set

+

+ setverdict

+

+ signature

+

+ start

+

+ stop

+

+ subset

+

+ superset

+

+ system

+

+
+

+

+ template

+

+ testcase

+

+ timeout

+

+ timer

+

+ to

+

+ trigger

+

+ true

+

+ type

+

+
+

+

+ union

+

+ universal

+

+ unmap

+

+
+

+

+ value

+

+ valueof

+

+ var

+

+ variant

+

+ verdicttype

+

+
+

+

+ while

+

+ with

+

+
+

+

+ xor

+

xor4b

+
+
+

+

+

+

+The TTCN‑3 +terminals listed in table A.3 shall not +be used as identifiers in a TTCN‑3 +module. These terminals shall be written in all lowercase letters.

+

A.1.5.1 Use +of whitespaces and newlines

+

+The elements of the TTCN-3 syntax (reserved words, identifiers, +terminal symbols and literal values) shall be separated by whitespace +or by special terminal symbols listed in table A.2 according to the +TTCN-3 syntax.

+

+In representing whitespace, any one or more of the following +characters of the C0 set of Recommendation ITU‑T T.50 [4] +and of annex A of Recommendation ITU‑T T.50 [4] +may be used in any combination:

+
    +
  • + HT - HORIZONTAL TABULATION (9)

    +
  • + LF - LINE FEED (10)

    +
  • + VT -VERTICAL TABULATION (11)

    +
  • + FF - FORM FEED (12)

    +
  • + CR - CARRIAGE RETURN (13)

    +
  • + SP - SPACE (32)

    +
+

+The characters of the C0 set of Recommendation ITU‑T T.50 +[4] and of annex A of Recommendation ITU‑T T.50 [4] +below are denoting newline (end of line). A single CR(13) character +directly followed by an LF(10) character denote a single end of line +(i.e. the sequence CRLFCRLFVT denotes 3 lines):

+
    +
  • + LF - LINE FEED (10)

    +
  • + VT - VERTICAL TABULATION (11)

    +
  • + FF - FORM FEED (12)

    +
  • + CR - CARRIAGE RETURN (13)

    +
+

+Any character or character sequence that is a valid newline is also a +valid whitespace.

+

+NOTE: It is recommended that for newline only the CR and LF and for +whitespace only the HT, LF, CR and SP control characters are used as +the VT and FF characters may cause problems with some conventional +text editors.

+

+A.1.6 TTCN-3 syntax BNF productions

+

A.1.6.0 TTCN-3 +module

+

+1TTCN3Module +::= TTCN3ModuleKeyword +ModuleId +"{" [ModuleDefinitionsList] + +

+

+ [ModuleControlPart] +"}" [WithStatement] +[SemiColon] + +

+

+2TTCN3ModuleKeyword +::= "module" +

+

+3ModuleId +::= Identifier +[LanguageSpec] + +

+

+4LanguageSpec +::= LanguageKeyword +FreeText +{"," FreeText} + +

+

+5LanguageKeyword +::= "language" +

+

A.1.6.1 Module +definitions part

+

A.1.6.1.0 General

+

+6ModuleDefinitionsList +::= {ModuleDefinition +[SemiColon]}+ + +

+

+7ModuleDefinition +::= (([Visibility] +(TypeDef +| +

+

+ ConstDef +| +

+

+ TemplateDef +| +

+

+ ModuleParDef +| +

+

+ FunctionDef +| +

+

+ SignatureDef +| +

+

+ TestcaseDef +| +

+

+ AltstepDef +| +

+

+ ImportDef +| +

+

+ ExtFunctionDef +| +

+

+ ExtConstDef + +

+

+ )) +| +

+

+ (["public"] +GroupDef) +| +

+

+ (["private"] +FriendModuleDef) + +

+

+ ) +[WithStatement] + +

+

+8Visibility +::= "public" | +

+

+ "friend" +| +

+

+ "private" + +

+

A.1.6.1.1 Typedef definitions

+

+9TypeDef +::= TypeDefKeyword +TypeDefBody + +

+

+10TypeDefBody +::= StructuredTypeDef +| SubTypeDef + +

+

+11TypeDefKeyword +::= "type" +

+

+12StructuredTypeDef +::= RecordDef +| +

+

+ UnionDef +| +

+

+ SetDef +| +

+

+ RecordOfDef +| +

+

+ SetOfDef +| +

+

+ EnumDef +| +

+

+ PortDef +| +

+

+ ComponentDef + +

+

+13RecordDef +::= RecordKeyword +StructDefBody + +

+

+14RecordKeyword +::= "record" +

+

+15StructDefBody +::= (Identifier +| AddressKeyword) +"{" [StructFieldDef + +

+

+ {"," +StructFieldDef}] + +

+

+ "}" + +

+

+16StructFieldDef +::= (Type +| NestedTypeDef) +Identifier +[ArrayDef] +[SubTypeSpec] + +

+

+ [OptionalKeyword] + +

+

+17NestedTypeDef +::= NestedRecordDef +| +

+

+ NestedUnionDef +| +

+

+ NestedSetDef +| +

+

+ NestedRecordOfDef +| +

+

+ NestedSetOfDef +| +

+

+ NestedEnumDef + +

+

+18NestedRecordDef +::= RecordKeyword +"{" [StructFieldDef +{"," StructFieldDef}] + +

+

+ "}" + +

+

+19NestedUnionDef +::= UnionKeyword +"{" UnionFieldDef +{"," UnionFieldDef} + +

+

+ "}" + +

+

+20NestedSetDef +::= SetKeyword +"{" [StructFieldDef +{"," StructFieldDef}] + +

+

+ "}" + +

+

+21NestedRecordOfDef +::= RecordKeyword +[StringLength] +OfKeyword +(Type +| +

+

+ +NestedTypeDef) + +

+

+22NestedSetOfDef +::= SetKeyword +[StringLength] +OfKeyword +(Type +| NestedTypeDef) + +

+

+23NestedEnumDef +::= EnumKeyword +"{" EnumerationList +"}" +

+

+24OptionalKeyword +::= "optional" +

+

+25UnionDef +::= UnionKeyword +UnionDefBody + +

+

+26UnionKeyword +::= "union" +

+

+27UnionDefBody +::= (Identifier +| AddressKeyword) +"{" UnionFieldDef +{"," +

+

+ +UnionFieldDef} + +

+

+ "}" + +

+

+28UnionFieldDef +::= (Type +| NestedTypeDef) +Identifier +[ArrayDef] +[SubTypeSpec] + +

+

+29SetDef +::= SetKeyword +StructDefBody + +

+

+30SetKeyword +::= "set" +

+

+31RecordOfDef +::= RecordKeyword +[StringLength] +OfKeyword +StructOfDefBody + +

+

+32OfKeyword +::= "of" +

+

+33StructOfDefBody +::= (Type +| NestedTypeDef) +(Identifier +| AddressKeyword) + +

+

+ [SubTypeSpec] + +

+

+34SetOfDef +::= SetKeyword +[StringLength] +OfKeyword +StructOfDefBody + +

+

+35EnumDef +::= EnumKeyword +(Identifier +| AddressKeyword) +"{" EnumerationList + +

+

+ "}" + +

+

+36EnumKeyword +::= "enumerated" +

+

+37EnumerationList +::= Enumeration +{"," Enumeration} + +

+

+38Enumeration +::= Identifier +["(" [Minus] +Number +")"] +

+

+39SubTypeDef +::= Type +(Identifier +| AddressKeyword) +[ArrayDef] +[SubTypeSpec] + +

+

+40SubTypeSpec +::= AllowedValuesSpec [StringLength] +| StringLength +

/* STATIC SEMANTICS - AllowedValues shall be of the same type +as the field being subtyped */
+

+

+41AllowedValuesSpec +::= "(" (( TemplateOrRange +{"," TemplateOrRange +}) | CharStringMatch +) +

+

+ ")" + +

+

+42TemplateOrRange +::= RangeDef +| +

+

+ TemplateBody +| +

+

+ Type +

/* STATIC SEMANTICS - RangeDef production shall only be used +with integer, charstring, universal charstring or float based types +*/
/* STATIC SEMANTICS - When subtyping charstring or universal +charstring range and values shall not be mixed in the same +SubTypeSpec */
+

+

+43RangeDef +::= Bound +".." Bound + +

+

+44StringLength +::= LengthKeyword +"(" SingleExpression +[".." Bound] +")"

/* STATIC SEMANTICS - StringLength shall only +be used with String types or to limit set of and record of. +SingleExpression and Bound shall evaluate to non-negative integer +values (in case of Bound including infinity) */
+

+

+45LengthKeyword +::= "length" +

+

+46PortDef +::= PortKeyword +PortDefBody + +

+

+47PortDefBody +::= Identifier +PortDefAttribs + +

+

+48PortKeyword +::= "port" +

+

+49PortDefAttribs +::= MessageAttribs +| +

+

+ ProcedureAttribs +| +

+

+ MixedAttribs + +

+

+50MessageAttribs +::= MessageKeyword +"{" {(AddressDecl +| MessageList +| ConfigParamDef) + +

+

+ + [SemiColon]}+ + +

+

+ "}"

+

+51ConfigParamDef +::= MapParamDef +| UnmapParamDef

+

+52MapParamDef +::= MapKeyword +ParamKeyword +"(" FormalValuePar{ +"," FormalValuePar}")"

+

+53UnmapParamDef +::= UnmapKeyword +ParamKeyword +"(" FormalValuePar{ +"," FormalValuePar}")"

+

+54AddressDecl +::= AddressKeyword +Type + +

+

+55MessageList +::= Direction +AllOrTypeList + +

+

+56Direction +::= InParKeyword +| +

+

+ OutParKeyword +| +

+

+ InOutParKeyword + +

+

+57MessageKeyword +::= "message" +

+

+58AllOrTypeList +::= AllKeyword +| TypeList +

/* NOTE: The use of AllKeyword in port definitions is +deprecated */
+

+

+59AllKeyword +::= "all" +

+

+60TypeList +::= Type +{"," Type} + +

+

+61ProcedureAttribs +::= ProcedureKeyword +"{" {(AddressDecl +| ProcedureList +| ConfigParamDef) + +

+

+ +[SemiColon]}+ + +

+

+ "}" + +

+

+62ProcedureKeyword +::= "procedure" +

+

+63ProcedureList +::= Direction +AllOrSignatureList + +

+

+64AllOrSignatureList +::= AllKeyword +| SignatureList + +

+

+65SignatureList +::= Signature +{"," Signature} + +

+

+66MixedAttribs +::= MixedKeyword +"{" {(AddressDecl +| MixedList +| ConfigParamDef) +[SemiColon]}+ + +

+

+ "}" + +

+

+67MixedKeyword +::= "mixed" +

+

+68MixedList +::= Direction +ProcOrTypeList + +

+

+69ProcOrTypeList +::= AllKeyword +| (ProcOrType +{"," ProcOrType}) + +

+

+70ProcOrType +::= Signature +| Type + +

+

+71ComponentDef +::= ComponentKeyword +Identifier +[ExtendsKeyword +ComponentType + +

+

+ {"," +ComponentType}] +"{" +

+

+ [ComponentDefList] +"}" +

+

+72ComponentKeyword +::= "component" +

+

+73ExtendsKeyword +::= "extends" +

+

+74ComponentType +::= ExtendedIdentifier + +

+

+75ComponentDefList +::= {ComponentElementDef +[WithStatement] +[SemiColon]} + +

+

+76ComponentElementDef +::= PortInstance +| +

+

+ VarInstance +| +

+

+ TimerInstance +| +

+

+ ConstDef + +

+

+77PortInstance +::= PortKeyword +ExtendedIdentifier +PortElement +{"," PortElement} + +

+

+78PortElement +::= Identifier +[ArrayDef] + +

+

A.1.6.1.2 Constant definitions

+

+79ConstDef +::= ConstKeyword +Type +ConstList + +

+

+80ConstList +::= SingleConstDef +{"," SingleConstDef} + +

+

+81SingleConstDef +::= Identifier +[ArrayDef] +AssignmentChar +ConstantExpression + +

+

+82ConstKeyword +::= "const" +

+

A.1.6.1.3 Template definitions

+

+83TemplateDef +::= TemplateKeyword +[TemplateRestriction] +BaseTemplate + +

+

+ [DerivedDef] +AssignmentChar +TemplateBody + +

+

+84BaseTemplate +::= (Type +| Signature) +Identifier +["(" TemplateOrValueFormalParList + +

+

+ ")"] + +

+

+85TemplateKeyword +::= "template" +

+

+86DerivedDef +::= ModifiesKeyword +ExtendedIdentifier + +

+

+87ModifiesKeyword +::= "modifies" +

+

+88TemplateOrValueFormalParList +::= TemplateOrValueFormalPar +{"," TemplateOrValueFormalPar} + +

+

+89TemplateOrValueFormalPar +::= FormalValuePar +| FormalTemplatePar +

/* STATIC SEMANTICS - FormalValuePar shall resolve to an in +parameter */
+

+

+90TemplateBody +::= (SimpleSpec +| +

+

+ FieldSpecList +| +

+

+ ArrayValueOrAttrib + +

+

+ ) +[ExtraMatchingAttributes] +

/* STATIC SEMANTICS - Within TeplateBody the +ArrayValueOrAttrib can be used for array, record, record of and set +of types. */
+

+

+91SimpleSpec +::= (SingleExpression +["&" SimpleTemplateSpec]) +| SimpleTemplateSpec + +

+

+92SimpleTemplateSpec +::= SingleTemplateExpression +["&" SimpleSpec] + +

+

+93SingleTemplateExpression +::= MatchingSymbol +| (TemplateRefWithParList + +

+

+ +[ExtendedFieldReference]) + +

+

+94FieldSpecList +::= "{" FieldSpec +{"," FieldSpec} +"}" +

+

+95FieldSpec +::= FieldReference +AssignmentChar +(TemplateBody +| + Minus)

+

+96FieldReference +::= StructFieldRef +| +

+

+ ArrayOrBitRef +| +

+

+ ParRef + +

+

+97StructFieldRef +::= Identifier +| +

+

+ PredefinedType +| +

+

+ TypeReference +

/* STATIC SEMANTICS - PredefinedType and TypeReference shall +be used for anytype value notation only. PredefinedType shall not be +AnyTypeKeyword.*/
+

+

+98ParRef +::= Identifier +

/* STATIC SEMANTICS - Identifier in ParRef shall be a formal +parameter identifier from the associated signature definition */
+

+

+99ArrayOrBitRef +::= "[" FieldOrBitNumber +"]"

/* STATIC SEMANTICS - ArrayRef shall be +optionally used for array types and TTCN-3 record of and set of. The +same notation can be used for a Bit reference inside an TTCN-3 +charstring, universal charstring, bitstring, octetstring and +hexstring type */
+

+

+100FieldOrBitNumber +::= SingleExpression +

/* STATIC SEMANTICS - SingleExpression will resolve to a +value of integer type */
+

+

+101ArrayValueOrAttrib +::= "{" [ArrayElementSpecList] +"}" +

+

+102ArrayElementSpecList +::= ArrayElementSpec +{"," ArrayElementSpec} + +

+

+103ArrayElementSpec +::= Minus +| +

+

+ PermutationMatch +| +

+

+ TemplateBody + +

+

+104MatchingSymbol +::= Complement +| +

+

+ (AnyValue +[WildcardLengthMatch]) +| +

+

+ (AnyOrOmit +[WildcardLengthMatch]) +| +

+

+ ListOfTemplates +| +

+

+ Range +| +

+

+ BitStringMatch +| +

+

+ HexStringMatch +| +

+

+ OctetStringMatch +| +

+

+ CharStringMatch +| +

+

+ SubsetMatch +| +

+

+ SupersetMatch +

/* STATIC SEMANTIC – WildcardLengthMatch shall be used when +MatchingSymbol is used in fractions of a concatenated string or list +(see clause 15.11) and shall not be used in other cases. In this +case, the Complement, TemplateList, Range, BitStringMatch, +HexStringMatch, OctetStringMatch, CharStringMatch, SubsetMatch and +SupersetMatch productions shall not be used. */
+

+

+105ExtraMatchingAttributes +::= StringLength +| +

+

+ IfPresentKeyword +| +

+

+ (StringLength +IfPresentKeyword) + +

+

+106BitStringMatch +::= "'" {BinOrMatch} +"'" "B" +

+

+107BinOrMatch +::= Bin +| +

+

+ AnyValue +| +

+

+ AnyOrOmit + +

+

+108HexStringMatch +::= "'" {HexOrMatch} +"'" "H" +

+

+109HexOrMatch +::= Hex +| +

+

+ AnyValue +| +

+

+ AnyOrOmit + +

+

+110OctetStringMatch +::= "'" {OctOrMatch} +"'" "O" +

+

+111OctOrMatch +::= Oct +| +

+

+ AnyValue +| +

+

+ AnyOrOmit + +

+

+112CharStringMatch +::= PatternKeyword +PatternParticle +{"&" PatternParticle} + +

+

+113PatternParticle +::= Pattern +| ReferencedValue + +

+

+114PatternKeyword +::= "pattern" +

+

+115Pattern +::= """ {PatternElement} +""" +

+

+116PatternElement +::= (("\" ("?" | "*" | "\" | +"[" | "]" | "{" | "}" | +

+

+ """ +| "|" | "(" | ")" | "#" | "+" +| "d" | +

+

+ "w" +| "t" | "n" | "r" | "s" | "b" + +

+

+ )) +| +

+

+ ("?" +| "*" | "\" | "|" | "+") | +

+

+ ("[" +["^"] [{PatternClassChar +["-" PatternClassChar]}]"]") +| +

+

+ ("{" +["\"] ReferencedValue +"}") | +

+

+ ("\" +"N" "{" (ReferencedValue +| Type) +"}") | +

+

+ (""" +""") | +

+

+ ("(" +PatternElement +")") | +

+

+ ("#" +(Num +| +

+

+ ("(" +Num +"," [Num] +")") | ("(" "," Num +")") +

+

+ )) +| +

+

+ PatternChar + +

+

+117PatternChar +::= NonSpecialPatternChar +| PatternQuadruple + +

+

+/* +STATIC SEMANTICS: Characters "?", "*", "\", +"[", "]", "{", "}", """, +"|", "(", ")", "#", "+", +"d", "^", "N" have special semantics – +they are metacharacters for the definition of pattern elements – +only if they follow the BNF as defined above, if not they are +interpreted like normal characters */ +

+

+
+

+

+118NonSpecialPatternChar +::= Char +
119PatternClassChar ::=
NonSpecialPatternClassChar +|
+

+

+ PatternQuadruple +| +

+

+ "\" +EscapedPatternClassChar + +

+

+120NonSpecialPatternClassChar +::= Char +
/* STATIC SEMANTICS: Characters "[", "-", +"^", "]", "\", "q", ","have +special semantics – they are metacharacters for the definition of +pattern class characters – only if they follow the BNF as defined +above, if not they are interpreted like normal characters */
+

+

+
121EscapedPatternClassChar +::= "[" | "-" | "^" | +"]"
122PatternQuadruple ::= "\" "q" +"("
Number +"," Number +"," Number +","
+

+

+ Number +")" +

+

+123Complement +::= ComplementKeyword +ListOfTemplates + +

+

+124ComplementKeyword +::= "complement" +

+

+125ListOfTemplates +::= "(" TemplateListItem +{"," TemplateListItem} +")" +

+

+126TemplateListItem +::= TemplateBody +| AllElementsFrom + +

+

+127AllElementsFrom +::= AllKeyword +FromKeyword +TemplateBody + +

+

+128SubsetMatch +::= SubsetKeyword +ListOfTemplates

+

+129SubsetKeyword +::= "subset" +

+

+130SupersetMatch +::= SupersetKeyword +ListOfTemplates

+

+131SupersetKeyword +::= "superset" +

+

+132PermutationMatch +::= PermutationKeyword +ListOfTemplates

+

+
+

+

+/* +STATIC SEMANTICS: Restrictions on the content of TemplateBody within +the ListOfTemplates are given in clause B.1.3.3. */ +

+

+133PermutationKeyword +::= "permutation" +

+

+
134AnyValue +::= "?"
+

+

+135AnyOrOmit +::= "*" +

+

+136TemplateList +::= "(" TemplateBody +{"," TemplateBody}+ +")" +

+

+137WildcardLengthMatch +::= LengthKeyword +"(" SingleExpression +")" +

+

/* +STATIC SEMANTICS: SingleExpression shall evaluate to type integer */ +

+

+
+

+

+138IfPresentKeyword +::= "ifpresent" +

+

+139PresentKeyword +::= "present" +

+

+140Range +::= "(" Bound +".." Bound +")" +

+

+141Bound +::= (["!"] SingleExpression) +| ([Minus] +InfinityKeyword) +

/* STATIC SEMANTICS - Bounds shall evaluate to types integer, +charstring, universal charstring or float. In case they evaluate to +types charstring or universal charstring, the string length shall be +1. infinity as lower bound and –infinity as upper bound are allowed +for float types only. */
+

+

+142InfinityKeyword +::= "infinity" +

+

+143TemplateInstanceAssignment +::= Identifier +":=" InLineTemplate +

/* STATIC SEMANTICS – if a value parameter is used, the +inline template shall evaluate to a value */
+

+

+144TemplateRefWithParList +::= ExtendedIdentifier +[TemplateActualParList] + +

+

+145InLineTemplate +::= [(Type +| Signature) +Colon] +[DerivedRefWithParList + +

+

+ AssignmentChar] +TemplateBody + +

+

+146DerivedRefWithParList +::= ModifiesKeyword +TemplateRefWithParList + +

+

+147TemplateActualParList +::= "(" [(TemplateInstanceActualPar +{"," TemplateInstanceActualPar}) +| +

+

+ (TemplateInstanceAssignment +{"," TemplateInstanceAssignment})] + +

+

+ ")" + +

+

+148TemplateInstanceActualPar +::= InLineTemplate +| Minus +

/* STATIC SEMANTICS - When the corresponding formal parameter +is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions */
+

+

+149TemplateOps +::= MatchOp +| ValueofOp + +

+

+150MatchOp +::= MatchKeyword +"(" Expression +"," InLineTemplate +")" +

+

+151MatchKeyword +::= "match" +

+

+152ValueofOp +::= ValueofKeyword +"(" InLineTemplate +")" +

+

+153ValueofKeyword +::= "valueof" +

+

A.1.6.1.4 Function +definitions

+

+154FunctionDef +::= FunctionKeyword +Identifier +"(" [FunctionFormalParList] + +

+

+ ")" +[RunsOnSpec] +[ReturnType] +StatementBlock + +

+

+155FunctionKeyword +::= "function" +

+

+156FunctionFormalParList +::= FunctionFormalPar +{"," FunctionFormalPar} + +

+

+157FunctionFormalPar +::= FormalValuePar +| +

+

+ FormalTimerPar +| +

+

+ FormalTemplatePar +| +

+

+ FormalPortPar + +

+

+158ReturnType +::= ReturnKeyword +[TemplateKeyword +| RestrictedTemplate] + +

+

+ Type + +

+

+159ReturnKeyword +::= "return" +

+

+160RunsOnSpec +::= RunsKeyword +OnKeyword +ComponentType + +

+

+161RunsKeyword +::= "runs" +

+

+162OnKeyword +::= "on" +

+

+163MTCKeyword +::= "mtc" +

+

+164StatementBlock +::= "{" [FunctionDefList] +[FunctionStatementList] +"}" +

+

+165FunctionDefList +::= {(FunctionLocalDef +| FunctionLocalInst) +[WithStatement] +[SemiColon]}+ + +

+

+166FunctionStatementList +::= {FunctionStatement +[SemiColon]}+ + +

+

+167FunctionLocalInst +::= VarInstance +| TimerInstance + +

+

+168FunctionLocalDef +::= ConstDef +| TemplateDef + +

+

+169FunctionStatement +::= ConfigurationStatements +| +

+

+ TimerStatements +| +

+

+ CommunicationStatements +| +

+

+ BasicStatements +| +

+

+ BehaviourStatements +| +

+

+ SetLocalVerdict +| +

+

+ SUTStatements +| +

+

+ TestcaseOperation + +

+

+170FunctionInstance +::= FunctionRef +"(" [FunctionActualParList] +")" +

+

+171FunctionRef +::= [Identifier +Dot] +(Identifier +| PreDefFunctionIdentifier) + +

+

+172PreDefFunctionIdentifier +::= Identifier +

/* STATIC SEMANTICS - The Identifier shall be one of the +pre-defined TTCN-3 Function Identifiers from Annex C of ES 201 873-1 +*/
+

+

+173FunctionActualParList +::= (FunctionActualPar +{"," FunctionActualPar}) +| +

+

+ (FunctionActualParAssignment +{"," FunctionActualParAssignment}) + +

+

+174FunctionActualPar +::= ArrayIdentifierRef +| +

+

+ InLineTemplate +| +

+

+ ComponentRef +| +

+

+ Minus +

/* STATIC SEMANTICS - When the corresponding formal parameter +is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions i.e. equivalent to the Expression +production */
+

+

+175FunctionActualParAssignment +::= TemplateInstanceAssignment +| +

+

+ ComponentRefAssignment +| +

+

+ ArrayIdentifierRefAssignment + +

+

+176ArrayIdentifierRefAssignment +::= Identifier +":=" ArrayIdentifierRef + +

+

A.1.6.1.5 Signature definitions

+

+177SignatureDef +::= SignatureKeyword +Identifier +"(" [SignatureFormalParList] + +

+

+ ")" +[ReturnType +| NoBlockKeyword] +[ExceptionSpec] + +

+

+178SignatureKeyword +::= "signature" +

+

+179SignatureFormalParList +::= FormalValuePar +{"," FormalValuePar} + +

+

+180ExceptionSpec +::= ExceptionKeyword +"(" TypeList +")" +

+

+181ExceptionKeyword +::= "exception" +

+

+182Signature +::= ExtendedIdentifier + +

+

+183NoBlockKeyword +::= "noblock" +

+

+A.1.6.1.6 Testcase definitions

+

+184TestcaseDef +::= TestcaseKeyword +Identifier +"(" [TemplateOrValueFormalParList] + +

+

+ ")" +ConfigSpec +StatementBlock + +

+

+185TestcaseKeyword +::= "testcase" +

+

186ConfigSpec +::= RunsOnSpec +[SystemSpec] + +

+

187SystemSpec +::= SystemKeyword +ComponentType + +

+

+188SystemKeyword +::= "system" +

+

+189TestcaseInstance +::= ExecuteKeyword +"(" ExtendedIdentifier +"(" [TestcaseActualParList] + +

+

+ ")" +["," (Expression +| Minus) +["," SingleExpression]] + +

+

+ ")" + +

+

+190ExecuteKeyword +::= "execute" +

+

191TestcaseActualParList +::= (TemplateInstanceActualPar +{"," TemplateInstanceActualPar}) +| +

+

+ (TemplateInstanceAssignment +{"," TemplateInstanceAssignment}) +

/* STATIC SEMANTICS - When the corresponding formal parameter +is not of template type the TemplateInstance production shall resolve +to one or more SingleExpressions i.e. equivalent to the Expression +production */
+

+

A.1.6.1.7 Altstep +definitions

+

+192AltstepDef +::= AltstepKeyword +Identifier +"(" [FunctionFormalParList] + +

+

+ ")" +[RunsOnSpec] +"{" AltstepLocalDefList +AltGuardList + +

+

+ "}" + +

+

+193AltstepKeyword +::= "altstep" +

+

+194AltstepLocalDefList +::= {AltstepLocalDef +[WithStatement] +[SemiColon]} + +

+

+195AltstepLocalDef +::= VarInstance +| +

+

+ TimerInstance +| +

+

+ ConstDef +| +

+

+ TemplateDef + +

+

+196AltstepInstance +::= ExtendedIdentifier +"(" [FunctionActualParList] + +

+

+ ")" + +

+

+A.1.6.1.8 Import definitions

+

+197ImportDef +::= ImportKeyword +ImportFromSpec +(AllWithExcepts +| ("{" +

+

+ +ImportSpec + +

+

+ "}")) + +

+

+198ImportKeyword +::= "import" +

+

+199AllWithExcepts +::= AllKeyword +[ExceptsDef] + +

+

+200ExceptsDef +::= ExceptKeyword +"{" ExceptSpec +"}" +

+

+201ExceptKeyword +::= "except" +

+

+202ExceptSpec +::= {ExceptElement +[SemiColon]} + +

+

+203ExceptElement +::= ExceptGroupSpec +| +

+

+ ExceptTypeDefSpec +| +

+

+ ExceptTemplateSpec +| +

+

+ ExceptConstSpec +| +

+

+ ExceptTestcaseSpec +| +

+

+ ExceptAltstepSpec +| +

+

+ ExceptFunctionSpec +| +

+

+ ExceptSignatureSpec +| +

+

+ ExceptModuleParSpec + +

+

204ExceptGroupSpec +::= GroupKeyword +(QualifiedIdentifierList +| AllKeyword) + +

+

+205IdentifierListOrAll +::= IdentifierList +| AllKeyword + +

+

206ExceptTypeDefSpec +::= TypeDefKeyword +IdentifierListOrAll + +

+

207ExceptTemplateSpec +::= TemplateKeyword +IdentifierListOrAll + +

+

208ExceptConstSpec +::= ConstKeyword +IdentifierListOrAll + +

+

209ExceptTestcaseSpec +::= TestcaseKeyword +IdentifierListOrAll + +

+

210ExceptAltstepSpec +::= AltstepKeyword +IdentifierListOrAll + +

+

211ExceptFunctionSpec +::= FunctionKeyword +IdentifierListOrAll + +

+

212ExceptSignatureSpec +::= SignatureKeyword +IdentifierListOrAll + +

+

213ExceptModuleParSpec +::= ModuleParKeyword +IdentifierListOrAll + +

+

+214ImportSpec +::= {ImportElement +[SemiColon]} + +

+

+215ImportElement +::= ImportGroupSpec +| +

+

+ ImportTypeDefSpec +| +

+

+ ImportTemplateSpec +| +

+

+ ImportConstSpec +| +

+

+ ImportTestcaseSpec +| +

+

+ ImportAltstepSpec +| +

+

+ ImportFunctionSpec +| +

+

+ ImportSignatureSpec +| +

+

+ ImportModuleParSpec +| +

+

+ ImportImportSpec + +

+

+216ImportFromSpec +::= FromKeyword +ModuleId +[RecursiveKeyword] + +

+

+217RecursiveKeyword +::= "recursive" +

+

+218ImportGroupSpec +::= GroupKeyword +(GroupRefListWithExcept +| AllGroupsWithExcept) + +

+

+219GroupRefListWithExcept +::= QualifiedIdentifierWithExcept +{"," QualifiedIdentifierWithExcept} + +

+

+220AllGroupsWithExcept +::= AllKeyword +[ExceptKeyword +QualifiedIdentifierList] + +

+

+221QualifiedIdentifierWithExcept +::= QualifiedIdentifier +[ExceptsDef] + +

+

+222IdentifierListOrAllWithExcept +::= IdentifierList +| AllWithExcept + +

+

223ImportTypeDefSpec +::= TypeDefKeyword +IdentifierListOrAllWithExcept + +

+

+224AllWithExcept +::= AllKeyword +[ExceptKeyword +IdentifierList] + +

+

225ImportTemplateSpec +::= TemplateKeyword +IdentifierListOrAllWithExcept + +

+

226ImportConstSpec +::= ConstKeyword +IdentifierListOrAllWithExcept + +

+

227ImportAltstepSpec +::= AltstepKeyword +IdentifierListOrAllWithExcept + +

+

228ImportTestcaseSpec +::= TestcaseKeyword +IdentifierListOrAllWithExcept + +

+

229ImportFunctionSpec +::= FunctionKeyword +IdentifierListOrAllWithExcept + +

+

230ImportSignatureSpec +::= SignatureKeyword +IdentifierListOrAllWithExcept + +

+

231ImportModuleParSpec +::= ModuleParKeyword +IdentifierListOrAllWithExcept + +

+

+232ImportImportSpec +::= ImportKeyword +AllKeyword + +

+

+A.1.6.1.9 Group definitions

+

+233GroupDef +::= GroupKeyword +Identifier +"{" [ModuleDefinitionsList] +"}" +

+

+234GroupKeyword +::= "group" +

+

+A.1.6.1.10 External function definitions

+

+235ExtFunctionDef +::= ExtKeyword +FunctionKeyword +Identifier +"(" [FunctionFormalParList] + +

+

+ ")" +[ReturnType] + +

+

+236ExtKeyword +::= "external" +

+

+A.1.6.1.11 External constant definitions

+

+237ExtConstDef +::= ExtKeyword +ConstKeyword +Type +IdentifierList + +

+

+A.1.6.1.12 Module parameter definitions

+

+238ModuleParDef +::= ModuleParKeyword +(ModulePar +| ("{" MultitypedModuleParList + +

+

+ "}")) + +

+

+239ModuleParKeyword +::= "modulepar" +

+

+240MultitypedModuleParList +::= {ModulePar +[SemiColon]} + +

+

+241ModulePar +::= Type +ModuleParList + +

+

242ModuleParList +::= Identifier +[AssignmentChar +ConstantExpression] +{"," +

+

+ +Identifier + +

+

+ +[AssignmentChar + +

+

+ +ConstantExpression]} + +

+

+A.1.6.1.13 Friend module definitions

+

+243FriendModuleDef +::= "friend" "module" IdentifierList +[SemiColon] + +

+

+A.1.6.2 Control part

+

+244ModuleControlPart +::= ControlKeyword +"{" ModuleControlBody +"}" [WithStatement] + +

+

+ [SemiColon] + +

+

+245ControlKeyword +::= "control" +

+

+246ModuleControlBody +::= [ControlStatementOrDefList] + +

+

+247ControlStatementOrDefList +::= {ControlStatementOrDef +[SemiColon]}+ + +

+

+248ControlStatementOrDef +::= ( FunctionLocalDef +| +

+

+ FunctionLocalInst +) [WithStatement] +| +

+

+ ControlStatement + +

+

+249ControlStatement +::= TimerStatements +| +

+

+ BasicStatements +| +

+

+ BehaviourStatements +| +

+

+ SUTStatements +| +

+

+ StopKeyword + +

+

A.1.6.3 Local +definitions

+

A.1.6.3.1 Variable +instantiation

+

+250VarInstance +::= VarKeyword +((Type +VarList) +| ((TemplateKeyword +| RestrictedTemplate) + +

+

+ Type +TempVarList)) + +

+

+251VarList +::= SingleVarInstance +{"," SingleVarInstance} + +

+

+252SingleVarInstance +::= Identifier +[ArrayDef] +[AssignmentChar +Expression] + +

+

+253VarKeyword +::= "var" +

+

+254TempVarList +::= SingleTempVarInstance +{"," SingleTempVarInstance} + +

+

+255SingleTempVarInstance +::= Identifier +[ArrayDef] +[AssignmentChar +TemplateBody] + +

+

+256VariableRef +::= Identifier +[ExtendedFieldReference] + +

+

A.1.6.3.2 Timer +instantiation

+

+257TimerInstance +::= TimerKeyword +VarList + +

+

+258TimerKeyword +::= "timer" +

+

+259ArrayIdentifierRef +::= Identifier +{ArrayOrBitRef} + +

+

A.1.6.4 Operations

+

A.1.6.4.1 Component +operations

+

+260ConfigurationStatements +::= ConnectStatement +| +

+

+ MapStatement +| +

+

+ DisconnectStatement +| +

+

+ UnmapStatement +| +

+

+ DoneStatement +| +

+

+ KilledStatement +| +

+

+ StartTCStatement +| +

+

+ StopTCStatement +| +

+

+ KillTCStatement + +

+

+261ConfigurationOps +::= CreateOp +| +

+

+ SelfOp +| +

+

+ SystemKeyword +| +

+

+ MTCKeyword +| +

+

+ RunningOp +| +

+

+ AliveOp + +

+

+262CreateOp +::= ComponentType +Dot +CreateKeyword +["(" (SingleExpression +| +

+

+ Minus) +["," SingleExpression] + +

+

+ ")"] +[AliveKeyword] + +

+

+263SelfOp +::= "self" +

+

+264DoneStatement +::= ComponentId +Dot +DoneKeyword + +

+

+265KilledStatement +::= ComponentId +Dot +KilledKeyword + +

+

+266ComponentId +::= ComponentOrDefaultReference +| (AnyKeyword +| AllKeyword) + +

+

+ ComponentKeyword + +

+

+267DoneKeyword +::= "done" +

+

+268KilledKeyword +::= "killed" +

+

+269RunningOp +::= ComponentId +Dot +RunningKeyword + +

+

+270RunningKeyword +::= "running" +

+

+271AliveOp +::= ComponentId +Dot +AliveKeyword + +

+

+272CreateKeyword +::= "create" +

+

+273AliveKeyword +::= "alive" +

+

+274ConnectStatement +::= ConnectKeyword +SingleConnectionSpec + +

+

+275ConnectKeyword +::= "connect" +

+

+276SingleConnectionSpec +::= "(" PortRef +"," PortRef +")" +

+

+277PortRef +::= ComponentRef +Colon +ArrayIdentifierRef + +

+

+278ComponentRef +::= ComponentOrDefaultReference +| +

+

+ SystemKeyword +| +

+

+ SelfOp +| +

+

+ MTCKeyword + +

+

+279ComponentRefAssignment +::= Identifier +":=" ComponentRef + +

+

+280DisconnectStatement +::= DisconnectKeyword +[SingleConnectionSpec +| +

+

+ AllConnectionsSpec +| +

+

+ AllPortsSpec +| +

+

+ AllCompsAllPortsSpec] + +

+

+281AllConnectionsSpec +::= "(" PortRef +")" +

+

+282AllPortsSpec +::= "(" ComponentRef +":" AllKeyword +PortKeyword +")" +

+

+283AllCompsAllPortsSpec +::= "(" AllKeyword +ComponentKeyword +":" AllKeyword + +

+

+ PortKeyword +")" +

+

+284DisconnectKeyword +::= "disconnect" +

+

+285MapStatement +::= MapKeyword +SingleConnectionSpec +[ParamClause] + +

+

+286ParamClause +::= ParamKeyword +FunctionActualParList

+

+287MapKeyword +::= "map" +

+

+288UnmapStatement +::= UnmapKeyword +[SingleConnectionSpec +[ParamClause] +| +

+

+ AllConnectionsSpec +[ParamClause] +| +

+

+ AllPortsSpec +| +

+

+ AllCompsAllPortsSpec] + +

+

+289UnmapKeyword +::= "unmap" +

+

+290StartTCStatement +::= ComponentOrDefaultReference +Dot +StartKeyword + +

+

+ "(" +FunctionInstance +")" +

+

+291StartKeyword +::= "start" +

+

+292StopTCStatement +::= StopKeyword +| (ComponentReferenceOrLiteral +| AllKeyword + +

+

+ ComponentKeyword) +Dot +StopKeyword + +

+

+293ComponentReferenceOrLiteral +::= ComponentOrDefaultReference +| +

+

+ MTCKeyword +| +

+

+ SelfOp + +

+

+294KillTCStatement +::= KillKeyword +| ((ComponentReferenceOrLiteral +| +

+

+ AllKeyword +ComponentKeyword) +Dot + +

+

+ KillKeyword) + +

+

+295ComponentOrDefaultReference +::= VariableRef +| FunctionInstance + +

+

+296KillKeyword +::= "kill" +

+

A.1.6.4.2 Port +operations

+

+297CommunicationStatements +::= SendStatement +| +

+

+ CallStatement +| +

+

+ ReplyStatement +| +

+

+ RaiseStatement +| +

+

+ ReceiveStatement +| +

+

+ TriggerStatement +| +

+

+ GetCallStatement +| +

+

+ GetReplyStatement +| +

+

+ CatchStatement +| +

+

+ CheckStatement +| +

+

+ ClearStatement +| +

+

+ StartStatement +| +

+

+ StopStatement +| +

+

+ HaltStatement +|

+

+ CheckStateStatement

+

+298SendStatement +::= ArrayIdentifierRef +Dot +PortSendOp + +

+

+299PortSendOp +::= SendOpKeyword +"(" InLineTemplate +")" [ToClause] + +

+

+300SendOpKeyword +::= "send" +

+

+301ToClause +::= ToKeyword +(InLineTemplate +| +

+

+ AddressRefList +| +

+

+ AllKeyword +ComponentKeyword + +

+

+ ) + +

+

+302AddressRefList +::= "(" InLineTemplate +{"," InLineTemplate} +")" +

+

+303ToKeyword +::= "to" +

+

+304CallStatement +::= ArrayIdentifierRef +Dot +PortCallOp +[PortCallBody] + +

+

+305PortCallOp +::= CallOpKeyword +"(" CallParameters +")" [ToClause] + +

+

+306CallOpKeyword +::= "call" +

+

+307CallParameters +::= InLineTemplate +["," CallTimerValue] + +

+

+308CallTimerValue +::= Expression +| NowaitKeyword + +

+

+309NowaitKeyword +::= "nowait" +

+

+310PortCallBody +::= "{" CallBodyStatementList +"}" +

+

+311CallBodyStatementList +::= {CallBodyStatement +[SemiColon]}+ + +

+

+312CallBodyStatement +::= CallBodyGuard +StatementBlock + +

+

+313CallBodyGuard +::= AltGuardChar +CallBodyOps + +

+

+314CallBodyOps +::= GetReplyStatement +| CatchStatement + +

+

+315ReplyStatement +::= ArrayIdentifierRef +Dot +PortReplyOp + +

+

+316PortReplyOp +::= ReplyKeyword +"(" InLineTemplate +[ReplyValue] +")" [ToClause] + +

+

+317ReplyKeyword +::= "reply" +

+

+318ReplyValue +::= ValueKeyword +Expression + +

+

+319RaiseStatement +::= ArrayIdentifierRef +Dot +PortRaiseOp + +

+

+320PortRaiseOp +::= RaiseKeyword +"(" Signature +"," InLineTemplate +")" +

+

+ [ToClause] + +

+

+321RaiseKeyword +::= "raise" +

+

+322ReceiveStatement +::= PortOrAny +Dot +PortReceiveOp + +

+

+323PortOrAny +::= ArrayIdentifierRef +| AnyKeyword +PortKeyword + +

+

+324PortReceiveOp +::= ReceiveOpKeyword +["(" InLineTemplate +")"] [FromClause] + +

+

+ [PortRedirect] + +

+

+325ReceiveOpKeyword +::= "receive" +

+

+326FromClause +::= FromKeyword +(InLineTemplate +| +

+

+ AddressRefList +| +

+

+ AnyKeyword +ComponentKeyword + +

+

+ ) + +

+

+327FromKeyword +::= "from" +

+

+328PortRedirect +::= PortRedirectSymbol +(ValueSpec +[SenderSpec] +| SenderSpec) + +

+

+329PortRedirectSymbol +::= "->" +

+

+330ValueSpec +::= ValueKeyword +(VariableRef +| ("(" SingleValueSpec +{"," +

+

+ +SingleValueSpec} + +

+

+ ")")) + +

+

+331SingleValueSpec +::= VariableRef +[AssignmentChar +FieldReference +ExtendedFieldReference] +

/*STATIC SEMANTICS – FieldReference shall not be ParRef and +ExtendedFieldReference shall not be TypeDefIdentifier*/
+

+

+332ValueKeyword +::= "value" +

+

+333SenderSpec +::= SenderKeyword +VariableRef + +

+

+334SenderKeyword +::= "sender" +

+

+335TriggerStatement +::= PortOrAny +Dot +PortTriggerOp + +

+

+336PortTriggerOp +::= TriggerOpKeyword +["(" InLineTemplate +")"] [FromClause] + +

+

+ [PortRedirect] + +

+

+337TriggerOpKeyword +::= "trigger" +

+

+338GetCallStatement +::= PortOrAny +Dot +PortGetCallOp + +

+

+339PortGetCallOp +::= GetCallOpKeyword +["(" InLineTemplate +")"] [FromClause] + +

+

+ [PortRedirectWithParam] + +

+

+340GetCallOpKeyword +::= "getcall" +

+

+341PortRedirectWithParam +::= PortRedirectSymbol +RedirectWithParamSpec + +

+

+342RedirectWithParamSpec +::= ParamSpec +[SenderSpec] +| SenderSpec + +

+

+343ParamSpec +::= ParamKeyword +ParamAssignmentList + +

+

+344ParamKeyword +::= "param" +

+

+345ParamAssignmentList +::= "(" (AssignmentList +| VariableList) +")" +

+

+346AssignmentList +::= VariableAssignment +{"," VariableAssignment} + +

+

+347VariableAssignment +::= VariableRef +AssignmentChar +Identifier + +

+

+348VariableList +::= VariableEntry +{"," VariableEntry} + +

+

+349VariableEntry +::= VariableRef +| Minus + +

+

+350GetReplyStatement +::= PortOrAny +Dot +PortGetReplyOp + +

+

+351PortGetReplyOp +::= GetReplyOpKeyword +["(" InLineTemplate +[ValueMatchSpec] + +

+

+ ")"] +[FromClause] +[PortRedirectWithValueAndParam] + +

+

+352PortRedirectWithValueAndParam +::= PortRedirectSymbol +RedirectWithValueAndParamSpec + +

+

+353RedirectWithValueAndParamSpec +::= ValueSpec +[ParamSpec] +[SenderSpec] +| +

+

+ RedirectWithParamSpec + +

+

+354GetReplyOpKeyword +::= "getreply" +

+

+355ValueMatchSpec +::= ValueKeyword +InLineTemplate + +

+

+356CheckStatement +::= PortOrAny +Dot +PortCheckOp + +

+

+357PortCheckOp +::= CheckOpKeyword +["(" CheckParameter +")"] +

+

+358CheckOpKeyword +::= "check" +

+

+359CheckParameter +::= CheckPortOpsPresent +| +

+

+ FromClausePresent +| +

+

+ RedirectPresent + +

+

+360FromClausePresent +::= FromClause +[PortRedirectSymbol +SenderSpec] + +

+

+361RedirectPresent +::= PortRedirectSymbol +SenderSpec + +

+

+362CheckPortOpsPresent +::= PortReceiveOp +| +

+

+ PortGetCallOp +| +

+

+ PortGetReplyOp +| +

+

+ PortCatchOp + +

+

+363CatchStatement +::= PortOrAny +Dot +PortCatchOp + +

+

+364PortCatchOp +::= CatchOpKeyword +["(" CatchOpParameter +")"] [FromClause] + +

+

+ [PortRedirect] + +

+

+365CatchOpKeyword +::= "catch" +

+

+366CatchOpParameter +::= Signature +"," InLineTemplate +| TimeoutKeyword + +

+

+367ClearStatement +::= PortOrAll +Dot +ClearOpKeyword + +

+

+368PortOrAll +::= ArrayIdentifierRef +| AllKeyword +PortKeyword + +

+

+369ClearOpKeyword +::= "clear" +

+

+370StartStatement +::= PortOrAll +Dot +StartKeyword + +

+

+371StopStatement +::= PortOrAll +Dot +StopKeyword + +

+

+372StopKeyword +::= "stop" +

+

+373HaltStatement +::= PortOrAll +Dot +HaltKeyword + +

+

+374HaltKeyword +::= "halt" +

+

+375AnyKeyword +::= "any" +

+

+376CheckStateStatement +::= PortOrAllAny +Dot +CheckStateKeyword +"(" SingleExpression +")"

+

+377PortOrAllAny +::= PortOrAll +| AnyKeyword +PortKeyword

+

+378CheckStateKeyword +::= "checkstate"

+

+
+

+

A.1.6.4.3 Timer operations

+

+379TimerStatements +::= StartTimerStatement +| +

+

+ StopTimerStatement +| +

+

+ TimeoutStatement + +

+

+380TimerOps +::= ReadTimerOp +| RunningTimerOp + +

+

+381StartTimerStatement +::= ArrayIdentifierRef +Dot +StartKeyword +["(" Expression + +

+

+ +")"] + +

+

+382StopTimerStatement +::= TimerRefOrAll +Dot +StopKeyword + +

+

+383TimerRefOrAll +::= ArrayIdentifierRef +| AllKeyword +TimerKeyword + +

+

+384ReadTimerOp +::= ArrayIdentifierRef +Dot +ReadKeyword + +

+

+385ReadKeyword +::= "read" +

+

+386RunningTimerOp +::= TimerRefOrAny +Dot +RunningKeyword + +

+

+387TimeoutStatement +::= TimerRefOrAny +Dot +TimeoutKeyword + +

+

+388TimerRefOrAny +::= ArrayIdentifierRef +| (AnyKeyword +TimerKeyword) + +

+

+389TimeoutKeyword +::= "timeout" +

+

+
+

+

A.1.6.4.4 Testcase operation

+

+390TestcaseOperation +::= TestcaseKeyword +"." StopKeyword +["(" {(FreeText +| +

+

+ +InLineTemplate) + +

+

+ +[","]} + +

+

+ ")"] + +

+

A.1.6.5 Type

+

+391Type +::= PredefinedType +| ReferencedType + +

+

+392PredefinedType +::= BitStringKeyword +| +

+

+ BooleanKeyword +| +

+

+ CharStringKeyword +| +

+

+ UniversalCharString +| +

+

+ IntegerKeyword +| +

+

+ OctetStringKeyword +| +

+

+ HexStringKeyword +| +

+

+ VerdictTypeKeyword +| +

+

+ FloatKeyword +| +

+

+ AddressKeyword +| +

+

+ DefaultKeyword +| +

+

+ AnyTypeKeyword + +

+

+393BitStringKeyword +::= "bitstring" +

+

+394BooleanKeyword +::= "boolean" +

+

+395IntegerKeyword +::= "integer" +

+

+396OctetStringKeyword +::= "octetstring" +

+

+397HexStringKeyword +::= "hexstring" +

+

+398VerdictTypeKeyword +::= "verdicttype" +

+

+399FloatKeyword +::= "float" +

+

+400AddressKeyword +::= "address" +

+

+401DefaultKeyword +::= "default" +

+

+402AnyTypeKeyword +::= "anytype" +

+

+403CharStringKeyword +::= "charstring" +

+

+404UniversalCharString +::= UniversalKeyword +CharStringKeyword + +

+

+405UniversalKeyword +::= "universal" +

+

+406ReferencedType +::= ExtendedIdentifier +[ExtendedFieldReference] + +

+

+407TypeReference +::= Identifier + +

+

+408ArrayDef +::= {"[" SingleExpression +[".." SingleExpression] +"]"}+

/* STATIC SEMANTICS - ArrayBounds will +resolve to a non negative value of integer type */
+

+

A.1.6.6 Value

+

+409Value +::= PredefinedValue +| ReferencedValue + +

+

+410PredefinedValue +::= Bstring +| +

+

+ BooleanValue +| +

+

+ CharStringValue +| +

+

+ Number +| /* IntegerValue */ +

+

+ Ostring +| +

+

+ Hstring +| +

+

+ VerdictTypeValue +| +

+

+ Identifier +| /* EnumeratedValue */ +

+

+ FloatValue +| +

+

+ AddressValue +| +

+

+ OmitKeyword + +

+

+411BooleanValue +::= "true" | "false" +

+

+412VerdictTypeValue +::= "pass" | +

+

+ "fail" +| +

+

+ "inconc" +| +

+

+ "none" +| +

+

+ "error" + +

+

+413CharStringValue +::= Cstring +| Quadruple + +

+

+414Quadruple +::= CharKeyword +"(" Number +"," Number +"," Number +"," Number + +

+

+ ")" + +

+

+415CharKeyword +::= "char" +

+

+416FloatValue +::= FloatDotNotation +| +

+

+ FloatENotation +| +

+

+ NaNKeyword + +

+

+417NaNKeyword +::= "not_a_number" +

+

+418FloatDotNotation +::= Number +Dot +DecimalNumber + +

+

+419FloatENotation +::= Number +[Dot +DecimalNumber] +Exponential +[Minus] + +

+

+ Number + +

+

+420Exponential +::= "E" +

+

+421ReferencedValue +::= ExtendedIdentifier +[ExtendedFieldReference] + +

+

+422Number +::= (NonZeroNum +{Num}) +| "0" +

+

+423NonZeroNum +::= "1" | "2" | "3" | "4" | +"5" | "6" | "7" | "8" | "9" + +

+

+424DecimalNumber +::= {Num}+ + +

+

+425Num +::= "0" | NonZeroNum + +

+

+426Bstring +::= "'" {Bin} +"'" "B" +

+

+427Bin +::= "0" | "1" +

+

+428Hstring +::= "'" {Hex} +"'" "H" +

+

+429Hex +::= Num +| "A" | "B" | "C" | "D" | "E" +| "F" | "a" | "b" | "c" | +

+

+ "d" +| "e" | "f" +

+

+430Ostring +::= "'" {Oct} +"'" "O" +

+

+431Oct +::= Hex +Hex + +

+

+432Cstring +::= """ {Char} +""" +

+

+433Char +::= /* REFERENCE - A character defined by the relevant +CharacterString type. For charstring a character from the character +set defined in ITU-T T.50. For universal charstring a character from +any character set defined in ISO/IEC 10646 */ +

+

+434Identifier +::= Alpha +{AlphaNum +| Underscore} + +

+

+435Alpha +::= UpperAlpha +| LowerAlpha + +

+

+436AlphaNum +::= Alpha +| Num + +

+

+437UpperAlpha +::= "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" +

+

+438LowerAlpha +::= "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" +

+

+439ExtendedAlphaNum +::= /* REFERENCE - A graphical character from the BASIC LATIN or +from the LATIN-1 SUPPLEMENT character sets defined in ISO/IEC 10646 +(characters from char (0,0,0,32) to char (0,0,0,126), from char +(0,0,0,161) to char (0,0,0,172) and from char (0,0,0,174) to char +(0,0,0,255) */ +

+

+440FreeText +::= """ {ExtendedAlphaNum} +""" +

+

+441AddressValue +::= "null" +

+

+442OmitKeyword +::= "omit" +

+

+
+

+

A.1.6.7 Parameterization

+

+443InParKeyword +::= "in" +

+

+444OutParKeyword +::= "out" +

+

+445InOutParKeyword +::= "inout" +

+

+446FormalValuePar +::= [(InParKeyword +| +

+

+ InOutParKeyword +| +

+

+ OutParKeyword + +

+

+ )] +Type +Identifier +[":=" (Expression +| Minus)] + +

+

+447FormalPortPar +::= [InOutParKeyword] +Identifier +Identifier +

/* The first Identifier refers to the port type. The second +Identifier refers to the port parameter identifier */
+

+

+448FormalTimerPar +::= [InOutParKeyword] +TimerKeyword +Identifier + +

+

+449FormalTemplatePar +::= [(InParKeyword +| +

+

+ OutParKeyword +| +

+

+ InOutParKeyword + +

+

+ )] +(TemplateKeyword +| RestrictedTemplate) +Type + +

+

+ Identifier +[":=" (InLineTemplate +| Minus)] + +

+

+450RestrictedTemplate +::= OmitKeyword +| (TemplateKeyword +TemplateRestriction) + +

+

+451TemplateRestriction +::= "(" (OmitKeyword +| +

+

+ ValueKeyword +| +

+

+ PresentKeyword + +

+

+ ) +")" +

+

+
+

+

A.1.6.8 Statements

+

A.1.6.8.1 With statement

+

+452WithStatement +::= WithKeyword +WithAttribList + +

+

+453WithKeyword +::= "with" +

+

+454WithAttribList +::= "{" MultiWithAttrib +"}" +

+

+455MultiWithAttrib +::= {SingleWithAttrib +[SemiColon]} + +

+

+456SingleWithAttrib +::= AttribKeyword +[OverrideKeyword] +[AttribQualifier] + +

+

+ FreeText + +

+

+457AttribKeyword +::= EncodeKeyword +| +

+

+ VariantKeyword +| +

+

+ DisplayKeyword +| +

+

+ ExtensionKeyword +| +

+

+ OptionalKeyword + +

+

+458EncodeKeyword +::= "encode" +

+

+459VariantKeyword +::= "variant" +

+

+460DisplayKeyword +::= "display" +

+

+461ExtensionKeyword +::= "extension" +

+

+462OverrideKeyword +::= "override" +

+

+463AttribQualifier +::= "(" DefOrFieldRefList +")" +

+

+464DefOrFieldRefList +::= DefOrFieldRef +{"," DefOrFieldRef} + +

+

+465DefOrFieldRef +::= QualifiedIdentifier +| +

+

+                       ( +(FieldReference +| "[" Minus +"]" ) [ExtendedFieldReference] +) |
AllRef +
+

+

+466QualifiedIdentifier +::= { Identifier +Dot +} Identifier + +

+

+467AllRef +::= (GroupKeyword +AllKeyword +[ExceptKeyword +"{" QualifiedIdentifierList + +

+

+ "}"]) +| ((TypeDefKeyword +| +

+

+ TemplateKeyword +| +

+

+ ConstKeyword +| +

+

+ AltstepKeyword +| +

+

+ TestcaseKeyword +| +

+

+ FunctionKeyword +| +

+

+ SignatureKeyword +| +

+

+ ModuleParKeyword + +

+

+ ) +AllKeyword +[ExceptKeyword + +

+

+ "{" +IdentifierList + +

+

+ "}"]) + +

+

+
+

+

A.1.6.8.2 Behaviour +statements

+

+468BehaviourStatements +::= TestcaseInstance +| +

+

+ FunctionInstance +| +

+

+ ReturnStatement +| +

+

+ AltConstruct +| +

+

+ InterleavedConstruct +| +

+

+ LabelStatement +| +

+

+ GotoStatement +| +

+

+ RepeatStatement +| +

+

+ DeactivateStatement +| +

+

+ AltstepInstance +| +

+

+ ActivateOp +| +

+

+ BreakStatement +| +

+

+ ContinueStatement + +

+

+469SetLocalVerdict +::= SetVerdictKeyword +"(" SingleExpression +{"," LogItem} + +

+

+ ")" + +

+

+470SetVerdictKeyword +::= "setverdict" +

+

+471GetLocalVerdict +::= "getverdict" +

+

+472SUTStatements +::= ActionKeyword +"(" ActionText +{StringOp +ActionText} + +

+

+ ")" + +

+

+473ActionKeyword +::= "action" +

+

+474ActionText +::= FreeText +| Expression + +

+

+475ReturnStatement +::= ReturnKeyword +[Expression +| InLineTemplate] +

/* STATIC SEMANTICS - Expression shall evaluate to a value of +a type compatible with the return type for functions returning a +value. It shall evaluate to a value, template (literal or template +instance), or a matching mechanism compatible with the return type +for functions returning a template. */
+

+

+476AltConstruct +::= AltKeyword +"{" AltGuardList +"}" +

+

+477AltKeyword +::= "alt" +

+

+478AltGuardList +::= {GuardStatement +| ElseStatement +[SemiColon]} + +

+

+479GuardStatement +::= AltGuardChar +(AltstepInstance +[StatementBlock] +| +

+

+ GuardOp +StatementBlock) + +

+

+480ElseStatement +::= "[" ElseKeyword +"]" StatementBlock + +

+

+481AltGuardChar +::= "[" [BooleanExpression] +"]" +

+

+482GuardOp +::= TimeoutStatement +| +

+

+ ReceiveStatement +| +

+

+ TriggerStatement +| +

+

+ GetCallStatement +| +

+

+ CatchStatement +| +

+

+ CheckStatement +| +

+

+ GetReplyStatement +| +

+

+ DoneStatement +| +

+

+ KilledStatement + +

+

+483InterleavedConstruct +::= InterleavedKeyword +"{" InterleavedGuardList + +

+

+ "}" + +

+

+484InterleavedKeyword +::= "interleave" +

+

+485InterleavedGuardList +::= {InterleavedGuardElement +[SemiColon]}+ + +

+

+486InterleavedGuardElement +::= InterleavedGuard +StatementBlock + +

+

+487InterleavedGuard +::= "[" "]" GuardOp + +

+

+488LabelStatement +::= LabelKeyword +Identifier + +

+

+489LabelKeyword +::= "label" +

+

+490GotoStatement +::= GotoKeyword +Identifier + +

+

+491GotoKeyword +::= "goto" +

+

+492RepeatStatement +::= "repeat" +

+

+493ActivateOp +::= ActivateKeyword +"(" AltstepInstance +")" +

+

+494ActivateKeyword +::= "activate" +

+

+495DeactivateStatement +::= DeactivateKeyword +["(" ComponentOrDefaultReference + +

+

+ ")"] + +

+

+496DeactivateKeyword +::= "deactivate" +

+

+497BreakStatement +::= "break" +

+

+498ContinueStatement +::= "continue" +

+

+A.1.6.8.3 Basic statements

+

+499BasicStatements +::= Assignment +| +

+

+ LogStatement +| +

+

+ LoopConstruct +| +

+

+ ConditionalConstruct +| +

+

+ SelectCaseConstruct +| +

+

+ StatementBlock + +

+

+500Expression +::= SingleExpression +| CompoundExpression + +

+

+501CompoundExpression +::= FieldExpressionList +| ArrayExpression +

/* STATIC SEMANTICS - Within CompoundExpression the +ArrayExpression can be used for Arrays, record, record of and set of +types. */
+

+

+502FieldExpressionList +::= "{" FieldExpressionSpec +{"," FieldExpressionSpec} + +

+

+ "}" + +

+

+503FieldExpressionSpec +::= FieldReference +AssignmentChar +NotUsedOrExpression + +

+

+504ArrayExpression +::= "{" [ArrayElementExpressionList] +"}" +

+

+505ArrayElementExpressionList +::= NotUsedOrExpression +{"," NotUsedOrExpression} + +

+

+506NotUsedOrExpression +::= Expression +| Minus + +

+

+507ConstantExpression +::= SingleExpression +| CompoundConstExpression + +

+

+508BooleanExpression +::= SingleExpression +

/* STATIC SEMANTICS - BooleanExpression shall resolve to a +Value of type Boolean */
+

+

+509CompoundConstExpression +::= FieldConstExpressionList +| ArrayConstExpression +

/* STATIC SEMANTICS - Within CompoundConstExpression the +ArrayConstExpression can be used for arrays, record, record of and +set of types. */
+

+

+510FieldConstExpressionList +::= "{" FieldConstExpressionSpec +{"," FieldConstExpressionSpec} + +

+

+ "}" + +

+

+511FieldConstExpressionSpec +::= FieldReference +AssignmentChar +ConstantExpression + +

+

+512ArrayConstExpression +::= "{" [ArrayElementConstExpressionList] +"}" +

+

+513ArrayElementConstExpressionList +::= ConstantExpression +{"," ConstantExpression} + +

+

+514Assignment +::= VariableRef +AssignmentChar +(Expression +| TemplateBody) +

/* STATIC SEMANTICS - The Expression on the right hand side +of Assignment shall evaluate to an explicit value of a type +compatible with the type of the left hand side for value variables +and shall evaluate to an explicit value, template (literal or a +template instance) or a matching mechanism compatible with the type +of the left hand side for template variables. */
+

+

+515SingleExpression +::= XorExpression +{"or" XorExpression} +

/* STATIC SEMANTICS - If more than one XorExpression exists, +then the XorExpressions shall evaluate to specific values of +compatible types */
+

+

+516XorExpression +::= AndExpression +{"xor" AndExpression} +

/* STATIC SEMANTICS - If more than one AndExpression exists, +then the AndExpressions shall evaluate to specific values of +compatible types */
+

+

+517AndExpression +::= NotExpression +{"and" NotExpression} +

/* STATIC SEMANTICS - If more than one NotExpression exists, +then the NotExpressions shall evaluate to specific values of +compatible types */
+

+

+518NotExpression +::= ["not"] EqualExpression +

/* STATIC SEMANTICS - Operands of the not operator shall be +of type boolean or derivatives of type Boolean. */
+

+

+519EqualExpression +::= RelExpression +{EqualOp +RelExpression} +

/* STATIC SEMANTICS - If more than one RelExpression exists, +then the RelExpressions shall evaluate to specific values of +compatible types. If only one RelExpression exists, it shall not +derive to a CompoundExpression. */
+

+

+520RelExpression +::= ShiftExpression +[RelOp +ShiftExpression] +| CompoundExpression

/* +STATIC SEMANTICS - If both ShiftExpressions exist, then each +ShiftExpression shall evaluate to a specific integer, Enumerated or +float Value or derivatives of these types */
+

+

+521ShiftExpression +::= BitOrExpression +{ShiftOp +BitOrExpression} +

/* STATIC SEMANTICS - Each Result shall resolve to a specific +Value. If more than one Result exists the right-hand operand shall be +of type integer or derivatives and if the shift op is "<<" +or ">>" then the left-hand operand shall resolve to +either bitstring, hexstring or octetstring type or derivatives of +these types. If the shift op is " */
+

+

+522BitOrExpression +::= BitXorExpression +{"or4b" BitXorExpression} +

/* STATIC SEMANTICS - If more than one BitXorExpression +exists, then the BitXorExpressions shall evaluate to specific values +of compatible types */
+

+

+523BitXorExpression +::= BitAndExpression +{"xor4b" BitAndExpression} +

/* STATIC SEMANTICS - If more than one BitAndExpression +exists, then the BitAndExpressions shall evaluate to specific values +of compatible types */
+

+

+524BitAndExpression +::= BitNotExpression +{"and4b" BitNotExpression} +

/* STATIC SEMANTICS - If more than one BitNotExpression +exists, then the BitNotExpressions shall evaluate to specific values +of compatible types */
+

+

+525BitNotExpression +::= ["not4b"] AddExpression +

/* STATIC SEMANTICS - If the not4b operator exists, the +operand shall be of type bitstring, octetstring or hexstring or +derivatives of these types. */
+

+

+526AddExpression +::= MulExpression +{AddOp +MulExpression} +

/* STATIC SEMANTICS - Each MulExpression shall resolve to a +specific Value. If more than one MulExpression exists and the AddOp +resolves to StringOp then the MulExpressions shall be valid operands +for StringOp. If more than one MulExpression exists and the AddOp +does not resolve to StringOp then the MulExpression shall both +resolve to type integer or float or derivatives of these types. If +only one MulExpression exists, it shall not derive to a +CompoundExpression. */
+

+

+527MulExpression +::= UnaryExpression +{MultiplyOp +UnaryExpression} +| CompoundExpression

/* +STATIC SEMANTICS - Each UnaryExpression shall resolve to a specific +Value. If more than one UnaryExpression exists then the +UnaryExpressions shall resolve to type integer or float or +derivatives of these types. */
+

+

+528UnaryExpression +::= [UnaryOp] +Primary +

/* STATIC SEMANTICS - Primary shall resolve to a specific +Value of type integer or float or derivatives of these types.*/
+

+

+529Primary +::= OpCall +| +

+

+ Value +| +

+

+ "(" +SingleExpression +")" +

+

+530ExtendedFieldReference +::= {(Dot +( Identifier +| PredefinedType)) +| +

+

+ ArrayOrBitRef +| +

+

+ ("[" +Minus +"]") +

+

+ }+ +

/* STATIC SEMANTIC - The Identifier refers to a type +definition if the type of the VarInstance or ReferencedValue in which +the ExtendedFieldReference is used is anytype. ArrayOrBitRef shall be +used when referencing elements of values or arrays. The square +brackets with dash shall be used when referencing inner types of a +record of or set of type. */
+

+

+531OpCall +::= ConfigurationOps +| +

+

+ GetLocalVerdict +| +

+

+ TimerOps +| +

+

+ TestcaseInstance +| +

+

+ (FunctionInstance +[ExtendedFieldReference]) +| +

+

+ (TemplateOps +[ExtendedFieldReference]) +| +

+

+ ActivateOp + +

+

+532AddOp +::= "+" | +

+

+ "-" +| +

+

+ StringOp +

/* STATIC SEMANTICS - Operands of the "+" or "-" +operators shall be of type integer or float or derivations of integer +or float (i.e. subrange) */
+

+

+533MultiplyOp +::= "*" | "/" | "mod" | "rem" +

/* STATIC SEMANTICS - Operands of the "*", "/", +rem or mod operators shall be of type integer or float or derivations +of integer or float (i.e. subrange) */
+

+

+534UnaryOp +::= "+" | "-"

/* STATIC SEMANTICS - +Operands of the "+" or "-" operators shall be of +type integer or float or derivations of integer or float (i.e. +subrange) */
+

+

+535RelOp +::= "<" | ">" | ">=" | "<=" +

/* STATIC SEMANTICS - the precedence of the operators is +defined in Table 6 */
+

+

+536EqualOp +::= "==" | "!=" +

+

+537StringOp +::= "&"

/* STATIC SEMANTICS - Operands of the +list operator shall be bitstring, hexstring, octetstring, (universal) +character string, record of, set of, or array types, or derivates of +these types */
+

+

+538ShiftOp +::= "<<" | ">>" | "<@" | +"@>" +

+

+539LogStatement +::= LogKeyword +"(" LogItem +{"," LogItem} +")" +

+

+540LogKeyword +::= "log" +

+

+541LogItem +::= FreeText +| InLineTemplate + +

+

+542LoopConstruct +::= ForStatement +| +

+

+ WhileStatement +| +

+

+ DoWhileStatement + +

+

+543ForStatement +::= ForKeyword +"(" Initial +SemiColon +BooleanExpression + +

+

+ SemiColon +Assignment +")" StatementBlock + +

+

+544ForKeyword +::= "for" +

+

+545Initial +::= VarInstance +| Assignment + +

+

+546WhileStatement +::= WhileKeyword +"(" BooleanExpression +")" StatementBlock + +

+

+547WhileKeyword +::= "while" +

+

+548DoWhileStatement +::= DoKeyword +StatementBlock +WhileKeyword +"(" BooleanExpression + +

+

+ ")" + +

+

+549DoKeyword +::= "do" +

+

+550ConditionalConstruct +::= IfKeyword +"(" BooleanExpression +")" StatementBlock + +

+

+ {ElseIfClause} +[ElseClause] + +

+

+551IfKeyword +::= "if" +

+

+552ElseIfClause +::= ElseKeyword +IfKeyword +"(" BooleanExpression +")" StatementBlock + +

+

+553ElseKeyword +::= "else" +

+

+554ElseClause +::= ElseKeyword +StatementBlock + +

+

+555SelectCaseConstruct +::= SelectKeyword +"(" SingleExpression +")" SelectCaseBody + +

+

+556SelectKeyword +::= "select" +

+

+557SelectCaseBody +::= "{" {SelectCase}+ +"}" +

+

+558SelectCase +::= CaseKeyword +("(" InLineTemplate +{"," InLineTemplate} + +

+

+ ")" +| ElseKeyword) +StatementBlock + +

+

+559CaseKeyword +::= "case" +

+

+560ExtendedIdentifier +::= [Identifier +Dot] +Identifier + +

+

+561IdentifierList +::= Identifier +{"," Identifier} + +

+

+562QualifiedIdentifierList +::= QualifiedIdentifier +{"," QualifiedIdentifier} + +

+


+

+

A.1.6.9 Miscellaneous productions

+

+563Dot +::= "." +

+

+564Minus +::= "-" +

+

+565SemiColon +::= ";" +

+

+566Colon +::= ":" +

+

+567Underscore +::= "_" +

+

+568AssignmentChar +::= ":=" +

+

+Annex B (normative):
Matching values

+

+B.1 Template matching mechanisms

+

+This annex specifies the matching mechanisms +that may be used in TTCN‑3 +templates (and only in templates).

+

+B.1.1 Matching specific values

+

+Specific values are the basic matching mechanism of TTCN‑3 +templates. Specific values in templates are expressions which do not +contain any matching mechanisms or wildcards. +

+

+Unless otherwise specified, a template field matches the +corresponding field value if, and only if, the field value has +exactly the same value as the value to which the expression in the +template evaluates.

+

+EXAMPLE:

+

// +Given the message type definition +

+

type +record +MyMessageType

+

{

+

integer + field1,

+

charstring + field2,

+

boolean + field3 +optional,

+

integer + field4[4]

+

}

+


+

+

// +A message template using specific values could be +

+

template +MyMessageType MyTemplate:=

+

{

+

field1 +:= 3+2, // +specific value of integer type +

+

field2 +:= "My string", + // specific value of charstring type +

+

field3 +:= true, // +specific value of boolean type +

+

field4 +:= {1,2,3,4} // specific value of integer array +

+

}

+


+

+

+B.1.2 Matching mechanisms instead of values

+

+The following matching mechanisms may be used in place of explicit +values.

+

B.1.2.1 Template list

+

+Template lists specify lists of acceptable values. It can be used on +values of all types. A template list may also contain templates. +

+

+A template field that uses a template list matches the corresponding +field if, and only if, the field value matches any one of the values +or templates in the template list. Each value or template in the +template list shall be of the type declared for the template field in +which this mechanism is used.

+

+EXAMPLE 1:

+

template +MyMessage MyTemplate:= +

+

{ +

+

field1 +:= (2,4,6), + // list of integer values +

+

field2 +:= ("String1", "String2"), // +list of charstring values +

+

:

+

:

+

}

+


+

+

+Besides specifying individual values, it is also possible to add all +elements of an existing record +of or set of +template into a template list using an all +from clause.

+

+Restrictions

+

+a) The type of the template list and the member type of the template +in the all from +clause shall be compatible.

+

+b) The template in the all +from clause as a whole shall not resolve into a matching +mechanism (i.e. its elements may contain any of the matching +mechanisms or matching attributes with the exception of those +described in the following restriction).

+

+c) Individual fields of the template in the all +from clause shall not resolve to any of the following +matching mechanisms: AnyElementsOrNone, permutation.

+

+EXAMPLE 2:

+

+ type +record of integer RoI;

+

+ template +RoI +t_RoI1 +:= {1, 2, (6..9)};

+

+
+

+

+ template +RoI +t_RoI2 +:= {1, *, 3};

+

+
+

+

+ template +integer t_i1 +:= (all +from +t_RoI1, 100); +

+

+ // +results in (1, 2, (6..9), 100)

+

+
+

+

+ template +integer t_i2 +:= (0, +all from t_RoI2); + +

+

+ // +causes an error because t_RoI2 contains AnyElementsOrNone

+

+
+

+

+ template +RoI t_RoI3 := (all +from +t_RoI1); +

+

+ // +causes an error because member type of t_RoI1 (integer) +

+

+ // +is not compatible with the list template type (RoI)

+

+
+

+

+ template +RoI t_RoI4 := ?;

+

+
+

+

+ template +RoI t_RoI5 := (all +from +t_RoI4); +

+

+ // +causes an error, because t_RoI4 resolves into a matching mechanism

+

+
+

+


+

+

B.1.2.2 Complemented template list

+

+The keyword complement +denotes a list of values that will not be accepted as values (i.e. it +is the complement of a template list). +It can be used on all values of all types. A complemented value list +may also contain templates.

+

+Each value or template in the list shall be of the type declared for +the template field in which the complement is used. +

+

+A template field that uses complement matches +the corresponding field if and only if the field does not match any +of the values or templates listed in the template list. +The template list may be a single value, +of course.

+

+EXAMPLE 1:

+

+ template +MyMessage MyTemplate:= +

+

+ {

+

+ field1 +:= complement +(1,3,5), // +list of unacceptable integer values +

+

:

+

field3 +:= not(true) + // will match false + +

+

:

+

}

+


+

+

+Besides specifying individual values, it is possible to add all +elements of an existing record +of or set of +template into a complement template list using an all +from clause.

+

+Restrictions

+

+a) The type of the complemented template list and the member type of +the template in the all from +clause shall be compatible.

+

+b) The template in the all +from clause as a whole shall not resolve into a matching +mechanism (i.e. its elements may contain any of the matching +mechanisms or matching attributes with the exception of those +described in the following restriction).

+

+c) Individual fields of the template in the all +from clause shall not resolve to any of the following +matching mechanisms: AnyElementsOrNone, permutation.

+

+EXAMPLE 2:

+

+ type +record of integer RoI;

+

+ template +RoI +t_RoI1 +:= {1, 2, (6..9)};

+

+
+

+

+ template +RoI +t_RoI2 +:= {1, *, 3};

+

+
+

+

+ template +integer t_i1 +:= complement(all +from +t_RoI1, 100); +

+

+ // +results in (1, 2, (6..9), 100)

+

+
+

+

+ template +integer t_i2 +:= complement(0, +all from t_RoI2); + +

+

+ // +causes an error because t_RoI2 contains AnyElementsOrNone

+

+
+

+

+ template +RoI t_RoI3 := complement(all +from +t_RoI1); +

+

+ // +causes an error because member type of t_RoI1 (integer) is not +compatible +

+

+ // +with the complemented list template type (RoI)

+

+
+

+

+ template +RoI t_RoI4 := ?;

+

+
+

+

+ template +RoI t_RoI5 := complement +(all +from +t_RoI4); +

+

+ // +causes an error because t_RoI4 resolves into a matching mechanism

+


+

+

B.1.2.3 Any value

+

+The matching symbol "?" (AnyValue) matches any value +of the specified type. It can be used on values of all types. +

+

+A template field that uses the any value mechanism matches the +corresponding field if, and only if, the field evaluates to a single +element of the specified type.

+

+EXAMPLE:

+

template +MyMessage MyTemplate:=

+

{ +

+

field1 +:= ?, // +will match any integer +

+

field2 +:= ?, // +will match any non-empty charstring value +

+

field3 +:= ?, // +will match true or false +

+

field4 +:= ? // will match any sequence of integers +

+

}

+


+

+

B.1.2.4 Any value or none

+

+The +matching symbol "*" (AnyValueOrNone) +is used to indicate that any valid value and the omission of the +given optional field are acceptable. It can be assigned to templates +of any type as a whole or to optional fields of set +or record +templates. At the time of matching, it shall be applied to optional +fields of record +and set +templates only.

+

+A template field that uses this symbol matches the corresponding +field if, and only if, either the field evaluates to any element of +the specified type, or if the field is absent.

+

+EXAMPLE:

+

+ type +record +MyMessage

+

+ {

+

+ + integer field1,

+

+ + MyRecordof field2 optional,

+

+ + boolean field3 optional

+

+ }

+

+
+

+

template +MyMessage MyMessageTemplate:=

+

{

+

+ :

+

+ field3 := * // matches true or false or omitted field3 +

+

}

+

+
+

+

+ template +MyMessage MyMessageTemplate2:=

+

+ {

+

+ + field1 := *, // +causes an error as field1 is mandatory

+

+ + :

+

+ }

+

+
+

+

+ template +MyRecordof MyRecofTemplate := *; // this assignment is allowed

+

+ template +boolean MyBoolTemplate := *; // this assignment is allowed as well

+

+
+

+

+ template +MyMessage MyMessageTemplate3:=

+

+ {

+

+ + field1 := 42,

+

+ + field2 := MyRecofTemplate,

+

+ + // matches any valid value allowed by MyRecordof of absent field2

+

+ + field3 := MyBoolTemplate

+

+ + // matches true or false or omitted field3

+

+ }

+

+
+

+

+ MybooleanVar +:= match +({},MyRecofTemplate);

+

+ + // causes an error as a record of template shall not be +AnyValueOrNone

+

+ + // at the time of matching

+

+
+

+

+ MybooleanVar +:= match +({42,omit,true},MyMessageTemplate3);

+

+ + // matches and returns true

+

+
+

+


+

+

B.1.2.5 Value range

+

+Ranges indicate a bounded range of acceptable +values, including or excluding the boundaries. When used for values +of integer +or float +types (and integer or float subtypes), a boundary value shall be +either:

+

+a) infinity or -infinity;

+

+b) an expression that evaluates to a specific integer or float value.

+

+The lower boundary shall be put on the left side of the range, the +upper boundary at the right side. The lower boundary shall be less +than the upper boundary. +

+

+A template field that uses a range matches the corresponding field +if, and only if, the field value is equal to one of the values in the +range.

+

+When used in templates or template fields of +charstring +or universal +charstring types, the +boundaries shall evaluate to valid character positions according to +the coded character set table(s) of the type (e.g. the given position +shall not be empty). Empty positions between the lower and the upper +boundaries are not considered to be valid values of the specified +range.

+

+EXAMPLE:

+

template +MyMessage MyTemplate:=

+

{ +

+

field1 +:= (1 .. +!6), // range of integer type from 1 to 5

+

:

+

:

+

:

+

}

+

// +other entries for field1 might be (-infinity +to 8) or (!12 to infinity)

+


+

+

B.1.2.6 SuperSet

+

+SuperSet is an operation for matching that shall be used only on +values of set of +types. SuperSet is denoted by the keyword superset. +SuperSet matches a set of values if, and only if, the set of values +contains at least all of the elements defined within the SuperSet, +and may contain more. This argument may contain templates (including +template variables) and matching mechanisms with the restrictions +given below. However, the length matching attribute may be attached +to the SuperSet itself, in which case the minimal length allowed by +the length attribute shall not be less than the number of the +elements in the SuperSet.

+

+EXAMPLE 1:

+

type +set of integer MySetOfType +(0 .. 10);

+


+

+

template +MySetOfType MyTemplate1 := superset +(1, 2, 3);

+

// +matches any +sequence of integers which contains at least one occurrences of the +numbers

+

// +1, 2 and 3 in any order and position

+


+

+

+ template +MySetOfType MyTemplate2_AnyValue := +superset +(1, 2, ?);

+

+ // +matches any sequence of integers which contains at least one +occurrences of the numbers

+

// +1, 2 and at least one more valid integer value (i.e. between 0 and +10, inclusively), in any

+

// +order and position

+


+

+

template +MySetOfType MyTemplate3 := superset +(1, 2, (3, 4));

+

// +matches any sequence of integers which contains at least one +occurrences of the numbers

+

// +1, 2 and a number with the value 3 or 4, in any order and position

+


+

+

template +MySetOfType MyTemplate4 := superset +(1, 2, complement(3, +4));

+

// +any sequence of integers matches which contains at least one +occurrences of the numbers

+

// +1, 2 and a valid integer value which is not 3 or 4, in any order and +position

+


+

+

template +MySetOfType MyTemplate6 := superset +(1, 2, 3) length +(7);

+

// +matches any sequence of 7 integers which contains at least one +occurrences of the numbers

+

// +1, 2 and 3 in any order and position

+


+

+

template +MySetOfType MyTemplate7 := superset +(1, 2, ?) length +(7 .. infinity);

+

// +matches any sequence of at least 7 integers which contains at least +one occurrences of the

+

// +numbers 1, 2 and 3 in any order and position

+


+

+

template +MySetOfType MyTemplate8 := superset +(1, 2, 3) length +(2 .. 7);

+

// +causes an error, the lower bound of the length attribute contradicts +to the minimum number

+

// +of elements imposed by the superset argument

+


+

+

+Besides specifying individual values, it is possible to add all +elements of a record of +or set of template +into SuperSets using an all +from clause.

+

+Restrictions

+

+a) Individual members of the SuperSet's argument shall be of the type +replicated by the set of.

+

+b) The member type of the set of associated with the SuperSet +template and the member type of the template in the all +from clause shall be compatible.

+

+c) The template in the all +from clause as a whole shall not resolve into a matching +mechanism (i.e. its elements may contain any of the matching +mechanisms or matching attributes with the exception of those +described in the following restriction).

+

+d) The individual members of the SuperSet's argument and the elements +of the template in the all +from clause shall not be the matching mechanisms omit, +SuperSet, SubSet and the matching attributes (length restriction and +ifpresent). In addition, the individual members shall not resolve to +AnyValueOrNone and individual elements of the template in the all +from clause shall not resolve to AnyElementsOrNone or +permutation.

+

+EXAMPLE 2:

+

+ type +record of integer RoI;

+

+ type +set of integer SoI;

+

+ template +RoI +t_RoI1 +:= {1, 2, ?};

+

+
+

+

+ template +SoI +t_SoI1 +:= superset(all +from +t_RoI1); +

+

+ // +results in superset(1, 2, ?)

+


+

+


+

+

B.1.2.7 SubSet

+

+SubSet is an operation for matching that can be used only on values +of set of types. +SubSet is denoted by the keyword subset. +SubSet matches a set of values if, and only if, the set of values +contains only elements defined within the SubSet, and may contain +less. This argument may contain templates (including template +variables) and matching mechanisms with the restrictions given below. +However, the length matching attribute may be attached to the SubSet +itself, in which case the maximum length allowed by the length +attribute shall not exceed the number of the elements in the SubSet.

+

+EXAMPLE 1:

+

template +MySetOfType MyTemplate1:= subset +(1, 2, 3);

+

// +matches any sequence of integers which contains zero or one +occurrences of the numbers

+

// +1, 2 and 3 in any order and position

+


+

+

+ template +MySetOfType MyTemplate1:= subset +(1, 2, ?);

+

// +matches any sequence of integers which contains zero or one +occurrences of the numbers

+

// +1, 2 and a valid integer value (i.e. between 0 and 10, inclusive) in +any order and position

+


+

+

template +MySetOfType MyTemplate1:= subset +(1, 2, (3, 4));

+

// +matches any sequence of integers which contains zero or one +occurrences of the numbers

+

// +1, 2 and one of the numbers 3 or 4, in any order and position

+


+

+

template +MySetOfType MyTemplate1:= subset +(1, 2, complement +(3, 4));

+

// +matches any sequence of integers which contains zero or one +occurrences of the numbers

+

// +1, 2 and a valid integer number which is not 3 or 4, in any order and +position

+


+

+

template +MySetOfType MyTemplate1:= subset +(1, 2, 3) length +(2);

+

// +matches any sequence of two integers which contains zero or one +occurrences of

+

// +the numbers 1, 2 and 3, in any order and position

+


+

+

template +MySetOfType MyTemplate1:= subset +(1, 2, ?) length +(0 .. 2);

+

// +matches any sequence of zero, one or two integers which contains zero +or one occurrences of

+

// +the numbers 1, 2 and of a valid integer value, in any order and +position

+


+

+

template +MySetOfType MyTemplate1:= subset +(1, 2, 3) length +(0 .. 4);

+

// +causes an error, the upper bound of length attribute contradicts to +the maximum number of

+

// +elements imposed by the subset argument

+


+

+

+Besides specifying individual values, it is possible to add all +elements of a record of +or set of template +into SubSets using an all from +clause.

+

+Restrictions

+

+a) Individual members of the SubSet's argument shall be of the type +replicated by the set of.

+

+a) The member type of the set of type associated with the SubSet and +the member type of the template in the all +from clause shall be compatible.

+

+b) The template in the all +from clause as a whole shall not resolve into a matching +mechanism (i.e. its elements may contain any of the matching +mechanisms or matching attributes with the exception of those +described in the following restriction).

+

+c) The individual members of the SubSet's argument and the elements +of the template in the all +from clause shall not be the matching mechanisms omit, +SuperSet, SubSet and the matching attributes (length restriction and +ifpresent). In addition, individual members shall not resolve to +AnyValueOrNone and individual fields of the template in the all +from clause shall not resolve to AnyElementsOrNone or +permutation.

+

+EXAMPLE 2:

+

+ type +record of integer RoI;

+

+ type +set of integer SoI;

+

+ template +RoI +t_RoI1 +:= {1, 2, ?};

+

+
+

+

+ template +SoI +t_SoI1 +:= subset(all +from +t_RoI1); +

+

+ // +results in subset(1, 2, ?)

+


+

+

B.1.2.8 Omitting optional fields

+

+The keyword omit +denotes that an optional field shall be absent. It can be assigned to +templates of any type as a whole or to +optional fields of set +or record +templates, but at the time of matching it shall be applied to +optional fields of record +and set +templates only.

+

+EXAMPLE:

+

+ type +record +MyMessage

+

+ {

+

+ + integer field1,

+

+ + MyRecordof field2 optional,

+

+ + boolean field3 optional

+

+ }

+

+
+

+

template +MyMessage MyMessageTemplate:=

+

{ +

+

+ :

+

+ field3 := omit // +omits the optional field field3

+

}

+

+
+

+

+ template +MyMessage MyMessageTemplate2:=

+

+ {

+

+ + field1 := omit, // +causes an error as field1 is mandatory

+

+ + :

+

+ }

+

+
+

+

+ template +MyRecordof MyRecofTemplate := omit; + // this assignment is allowed

+

+
+

+

+ template +boolean +MyBoolTemplate := omit; + // this assignment is allowed as well

+

+
+

+

+ template +MyMessage MyMessageTemplate3:=

+

+ {

+

+ + field1 := 42,

+

+ + field2 := MyRecofTemplate,

+

+ + // matches if field2 is absent

+

+ + field3 := MyBoolTemplate

+

+ + // matches if field3 is absent

+

+ }

+

+
+

+

+ MybooleanVar +:= match +({},MyRecofTemplate)

+

+ + // causes an error as a record of template shall not be “omit†+at +the time of matching

+

+
+

+

+ MybooleanVar +:= match +({42,omit,omit},MyMessageTemplate3) + +

+

+ // +matches and returns true

+


+

+

+B.1.3 Matching mechanisms inside values

+

+The following matching mechanisms may be used inside explicit values +of strings, records, records of, sets, sets of and arrays.

+

B.1.3.1 Any element

+

+The matching symbol "?" (AnyElement) is used to +indicate that it replaces single elements of a string (except +character strings, see table 4 for the lengths of the units being +matched by "?" in a string), a record +of, a set of +or an array. It shall be used only within values of string types, +record of types, +set of types and +arrays.

+

+EXAMPLE:

+

template +MyMessage MyTemplate:=

+

{ :

+

field2 +:= "abcxyz", +

+

field3 +:= '10???'B, // where each "?" may either be 0 or 1 +

+

field4 +:= {1, ?, 3} // where ? may be any integer value +

+

}

+


+

+

+NOTE: The "?" in field4 +can be interpreted as AnyValue as +an integer value, +or AnyElement +inside a record +of, set +of or array. Since both +interpretations lead to the same match no problem arises.

+

B.1.3.1.1 Using single character +wildcards

+

+If it is required to express the "?" +wildcard in character strings it shall be done using character +patterns (see clause B.1.5). For example: "abcdxyz", +"abccxyz", "abcxxyz" etc. will all match pattern +"abc?xyz". However, +"abcxyz", "abcdefxyz", etc. will not.

+

B.1.3.2 Any number of elements or no +element

+

+The matching symbol "*" +(AnyElementsOrNone) is used to indicate that it replaces none +or any number of consecutive elements of a string (except character +strings), a record of, +a set of or an +array. The "*" symbol matches the longest sequence of +elements possible, according to the pattern as specified by the +symbols surrounding the "*".

+

+EXAMPLE:

+

template +Mymessage MyTemplate:=

+

{ :

+

field2 +:= "abcxyz", +

+

field3 +:= '10*11'B, // where "*" may be any sequence of bits +(possibly empty) +

+

field4 +:= {*, 2, 3} // where "*"may be any number of integer +values or omitted +

+

}

+


+

+

var +charstring +MyStrings[4];

+

MyPCO.receive(MyStrings:{"abyz", +*, "abc" });

+


+

+

+If a "*" appears at the highest level +inside a string, a record +of, set +of or array, it shall be +interpreted as AnyElementsOrNone.

+

+NOTE: This rule prevents the otherwise possible +interpretation of "*" as AnyValueOrNone +that replaces an element inside a string, record +of, set +of or array.

+

B.1.3.2.1 Using multiple character +wildcards

+

+If it is required to expressed the "*" +wildcard in character strings it shall be done using character +patterns (see clause B.1.5). For example: "abcxyz", +"abcdefxyz" "abcabcxyz" etc. will all match +pattern +"abc*xyz".

+

B.1.3.3 Permutation

+

+Permutation is an operation for matching that shall be used only on +values of record of +types. Permutation is denoted by the keyword permutation. +Expressions, templates and AnyElement and AnyElementsOrNone +are allowed as permutation elements. Permutation elements shall obey +the restrictions given below.

+

+A permutation without AnyElementsOrNone in place of a single +record of element means that any series of elements is acceptable +provided that there is a one to one mapping between elements in the +record of and in the permutation list such that each element matches +its corresponding element in the permutation list. +

+

+AnyElementsOrNone used inside permutation (directly or via +reference) replaces none or any number of elements within the segment +of the record of value matched by permutation. The permutation +matching is successful, if a subset of the elements in the record of +matches the permutation list without the AnyElementsOrNone. If +both permutation and AnyElementsOrNone are used in a record of +template, they shall be evaluated jointly.

+

+NOTE 1: AnyElementsOrNone used inside permutation has a +different effect as AnyElementsOrNone used in conjunction with +permutation as in the latter AnyElementsOrNone replaces +consecutive elements only. For example, {permutation(1,2,*)} +is equivalent to ({*,1,*,2,*},{*,2,*,1,*}), while +{permutation(1,2),*} +is equivalent to ({1,2,*},{2,1,*}).

+

+NOTE 2: When AnyElementsOrNone is inside a permutation, a +length attribute may be applied to AnyElementsOrNone to +restrict the number of elements matched by AnyElementsOrNone +(see also clause B.1.4.1). +

+

+EXAMPLE 1:

+

+ type +record of integer MySequenceOfType;

+

+
+

+

+ template +MySequenceOfType MyTemplate1 := { permutation +( 1, 2, 3 ), 5 };

+

+ // +matches any of the following sequences of 4 integers: 1,2,3,5; +1,3,2,5; 2,1,3,5;

+

+ // +2,3,1,5; 3,1,2,5; or 3,2,1,5

+

+
+

+

+ template +MySequenceOfType MyTemplate2 := { permutation +( 1, 2, ? ), 5 };

+

+ // +matches any sequence of 4 integers that ends with 5 and +contains 1 and 2 at least once in

+

+ // +other positions

+

+
+

+

+ template +MySequenceOfType MyTemplate3 := { permutation +( 1, 2, 3 ), * };

+

+ // +matches any sequence of integers starting with 1,2,3; +1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1

+

+
+

+

+ template +MySequenceOfType MyTemplate4 := { *, permutation +( 1, 2, 3 )};

+

+ // +matches any sequence of integers ending with 1,2,3; +1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1

+

+
+

+

+ template +MySequenceOfType MyTemplate5 := { *, permutation +( 1, 2, 3 ),* };

+

+ // +matches any sequence of integers containing any of the following +substrings at any position:

+

+ // +1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2 or 3,2,1 +

+

+
+

+

+ template +MySequenceOfType MyTemplate6 := { permutation +( 1, 2, * ), 5 };

+

+ // +matches any sequence of integers that ends with 5 and +containing 1 and 2 at least once in

+

+ // +other positions

+

+
+

+

template +MySequenceOfType MyTemplate7 := { permutation +( 1, 2, 3 ), * length (0..5)};

+

// +matches any sequence of three to eight integers starting with 1,2,3; +1,3,2; 2,1,3; 2,3,1;

+

+ // +3,1,2 or 3,2,1

+

+
+

+

+ template +integer +MyInt1 := (1,2,3);

+

+ template +integer +MyInt2 := (1,2,?);

+

+ template +integer +MyInt3 := ?;

+

+ template +integer +MyInt4 := *;

+

+
+

+

+ template +MySequenceOfType MyTemplate10 := { permutation +(MyInt1, 2, 3 ), 5 };

+

+ // +matches any of the sequences of 4 integers:

+

+ // 1,3,2,5; +2,1,3,5; 2,3,1,5; 3,1,2,5; or 3,2,1,5;

+

+ // 2,3,2,5; +2,2,3,5; 2,3,2,5; 3,2,2,5; or 3,2,2,5;

+

+ // 3,3,2,5; +2,3,3,5; 2,3,3,5; 3,3,2,5; or 3,2,3,5;

+

+
+

+

+ template +MySequenceOfType MyTemplate11 := { permutation +(MyInt2, 2, 3 ), 5 };

+

+ // +matches any sequence of 4 integers that ends with 5 and +contains 2 and 3 at least once in

+

+ // +other positions

+

+
+

+

+ template +MySequenceOfType MyTemplate12 := { permutation +(MyInt3, 2, 3 ), 5 };

+

+ // +matches any sequence of 4 integers that ends with 5 and +contains 2 and 3 at least once in

+

+ // +other positions

+

+
+

+

+ template +MySequenceOfType MyTemplate13 := { permutation +(MyInt4, 2, 3 ), 5 };

+

+ // +matches any sequence of integers that ends with 5 and +containing 2 and 3 at least once in

+

+ // +other positions

+

+
+

+

+ template +MySequenceOfType MyTemplate14 := { permutation +(MyInt3, 2, ? ), 5 };

+

+ // +matches any sequence of 4 integers that ends with 5 and +contains 2 at least once in

+

+ // +other positions

+

+
+

+

+ template +MySequenceOfType MyTemplate15 := { permutation +(MyInt4, 2, * ), 5 };

+

+ // +matches any sequence of integers that ends with 5 and +contains 2 at least once in

+

+ // +other positions

+

+
+

+

+Besides specifying all individual values, it is possible to add all +elements of a record of +or set of template +into permutations using an all +from clause.

+

+Restrictions

+

+a) Each individual member listed in the permutation shall be of the +type replicated by the record +of type.

+

+a) The member type of the permutation and the member type of the +template in the all from +clause shall be compatible.

+

+b) The template in the all +from clause as a whole shall not resolve into a matching +mechanism (i.e. its fields may contain any of the matching mechanisms +or matching attributes that are allowed by the following +restriction).

+

+c) Individual members of a permutation and elements of the template +in the all from +clause shall only be expressions, templates, and the AnyElement +and AnyElementsOrNone matching mechanisms.

+

+EXAMPLE 2:

+

+ type +record of integer RoI;

+

+ template +RoI +t_RoI1 +:= {1, 2, *};

+

+
+

+

+ template +RoI +t_RoI2 +:= {permutation(0, +all +from +t_RoI1), 4, 5}; +

+

+ // +results in {permutation(0, 1, 2, *), 4, 5}

+

+
+

+

+B.1.4 Matching attributes of values

+

+The following attributes may be associated with matching mechanisms.

+

B.1.4.1 Length +restrictions

+

+The length +restriction attribute is used to restrict the length of string values +matching the template or the number of elements in a set +of, record +of or array +structure. It shall be used only as an attribute of the following +matching mechanisms: template list, complemented template list, +AnyValue, AnyValueOrNone, AnyElement, +AnyElementsOrNone, superset, subset, and pattern. It shall not +be used directly with templates and template fields produced by +concatenation (see clause 15.11). If the length of a template or +template field produced by concatenation is wished to be restricted, +the concatenation shall be enclosed into a pair of parentheses. +

+

+It can also be used in conjunction with the ifpresent +matching attribute. The syntax for length +can be found in clauses 6.2.3.

+

+NOTE: When the length +attribute is used with a template list, elements of the list may be +disabled by the attribute.

+

+When both the complement and the length restriction matching +mechanisms are used for a template or template field, restrictions +implied by them shall apply to the template or template field +independently.

+

+The units of length are to be interpreted +according to table 4 in the main body of the present document in the +case of string values. For set +of, +record +of types and arrays the unit +of length is the replicated type. The boundaries shall be denoted by +expressions which resolve to specific non-negative integer +values. Alternatively, the keyword infinity +can be used as a value for the upper boundary in order to indicate +that there is no upper limit of length.

+

+The length specifications for the template shall not conflict with +the length for restrictions (if any) of the corresponding type. +

+

+A template field that uses length as an attribute of a symbol matches +the corresponding field if, and only if, the field matches both the +symbol and its associated attribute. The length attribute matches if +the length of the field is greater than or equal to the specified +lower bound and less than or equal to the upper bound. In the case of +a single length value the length attribute matches only if the length +of the received field is exactly the specified value.

+

+It is allowed to use a length restriction in conjunction with the +special value omit, +however in this case the length attribute has no effect (i.e. with +omit it is +redundant). With AnyValueOrNone and ifpresent +it places a restriction on the value, if any.

+

+EXAMPLE:

+

template +Mymessage MyTemplate:=

+

{ +

+

+ field1 +:= complement +({4,5},{1,4,8,9}) +length +(1 .. 6), // any value containing 1, 2, 3, 4, // 5 or 6 elements is +accepted provided it is not {4,5} +or {1,4,8,9} +

+

field2 +:= "ab*ab" length(5), + // matches the character string "ab*ab" only +

+

field3 +:= "ab*ab" length(13), + // never matches as the specific value is of length 5

+

+ // and not of length 13

+

field4 +:= pattern "ab*ab" length(13), + +

+

+ // +max length of the AnyElementsOrNone string is 9 characters +

+

:

+

}

+


+

+

B.1.4.2 The IfPresent indicator

+

+The ifpresent +indicates that a match may be made if an optional field is present +(i.e. not omitted). This attribute may be used with all the matching +mechanisms in templates of any type as a whole or for optional fields +of set +or record +templates. At the time of matching, it shall be applied to optional +fields of record +and set +templates only.

+

+A template field that uses ifpresent +matches the corresponding field if, and only if, the field matches +according to the associated matching mechanism, or if the field is +absent.

+

+EXAMPLE:

+

+ type +record +MyMessage

+

+ {

+

+ + integer field1,

+

+ + MyRecordof field2 optional,

+

+ + boolean field3 optional

+

+ }

+

+
+

+

template +MyMessage MyMessageTemplate:=

+

{

+

+ :

+

field2 +:= { 1, 2, 3 } ifpresent, + // +matches { 1, 2, 3 } if not omitted +

+

:

+

}

+

+
+

+

+ template +MyMessage MyMessageTemplate2:=

+

+ {

+

+ + field1 := 1 ifpresent, // +causes an error as field1 is mandatory

+

+ + :

+

+ }

+

+
+

+

+ template +MyRecordof MyRecofTemplate := { 1, 2, 3 } ifpresent; +// this assignment is allowed

+

+
+

+

+ template +boolean +MyBoolTemplate := true +ifpresent; +// this assignment is also allowed

+

+
+

+

+ template +MyMessage MyMessageTemplate3:=

+

+ {

+

+ + field1 := 42,

+

+ + field2 := MyRecofTemplate,

+

+ + // if field2 is not absent, it matches the value { 1, 2, 3 }

+

+ + field3 := MyBoolTemplate

+

+ + // if field3 is not absent, it matches the value true

+

+ }

+

+
+

+

+ MybooleanVar +:= match +({},MyRecofTemplate);

+

+ + // causes an error as a record of template shall not contain +ifpresent

+

+ + // at the time of matching

+

+
+

+

+ MybooleanVar +:= match +({42,omit,true},MyMessageTemplate3);

+

+ // +matches and returns true

+


+

+

+NOTE: AnyValueOrNone has exactly the same meaning as ? +ifpresent.

+

+B.1.5 Matching character pattern

+

+Character patterns can be used in templates to define the format of a +required character string to be received. Character patterns can be +used to match charstring +and universal +charstring values. In addition to literal characters, +character patterns allow the use of meta-characters (e.g. ? and * +within a character pattern means matching any character and any +number of any character respectively).

+

+EXAMPLE 1:

+

template +charstring +MyTemplate:= pattern +"ab??xyz*0";

+


+

+

+This template would match any character string +that consists of the characters "ab", +followed by any two characters, followed by the characters "xyz", +followed by any number of any characters (including any number +of "0"-s) before the closing character "0".

+

+If it is required to interpret any metacharacter literally it shall +be preceded with the metacharacter "\". +

+

+EXAMPLE 2:

+

+ template +charstring +MyTemplate:= pattern +"ab?\?xyz*";

+


+

+

+This template would match any character string +which consists of the characters "ab", +followed by any character, followed by the characters "?xyz", +followed by any number of any characters.

+

+The list of meta characters for TTCN‑3 +patterns is shown in table B.1. Metacharacters shall not contain +whitespaces except a whitespace preceded by a newline character +before or inside a set expression.

+

+Table B.1: List of TTCN‑3 +pattern metacharacters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Metacharacter

+
+

+ Description

+
+

+ ?

+
+

+ Match + any character (see notes 1 and 2)

+
+

+ *

+
+

+ Match + any character zero or more times; shall match the longest + possible number of characters (see example 1 above) (see notes 1 + and 2)

+
+

+ \

+
+

+ Cause + the following metacharacter to be interpreted as a literal (see + note 3). When preceding a character without defined + metacharacter meaning "\" and the character together + match the character following the "\" (see note 4)

+
+

+ [ + ]

+
+

+ Match + any character within the specified set, see clause B.1.5.1 for + more details

+
+

+ -

+
+

+ Has + a metacharacter meaning in a set expression. It allows to + specify a range of characters; see clause B.1.5.1 for more + details

+
+

+ ^

+
+

+ Has + a metacharacter meaning in a set expression. It causes to match + any character complementing the set of characters following this + metacharacter;
see clause B.1.5.1for more details

+
+

+ \q{group,plane,row,cell}

+
+

+ Match + the Universal character specified by the quadruple

+
+

+ {reference}

+
+

+ Insert + the referenced user defined string and interpret it as a regular + expression.
See clause B.1.5.2 for more details

+
+

+ {\reference}

+
+

Insert + the referenced user defined string and interpret it as a set of + literals.
See clause B.1.5.2 for more details

+
+

+ \N{reference}

+
+

+ Matches + a single character from the (sub)set of characters denoted; see + clause B.1.5.4 for more details

+
+

+ \d

+
+

+ Match + any numerical digit (equivalent to [0-9])

+
+

+ \w

+
+

+ Match + any alphanumeric character (equivalent to [0-9a-zA-Z])

+
+

+ \t + +

+
+

+ Match + the C0 control character HT(9) (see Recommendation ITU‑T T.50 + [4])

+
+

+ \n

+
+

+ Match + any of the following C0 control characters: LF(10), VT(11), + FF(12), CR(13) (see Recommendation ITU‑T T.50 + [4]) (jointly called newline characters, see clause A.1.5.1)

+
+

+ \r

+
+

+ Match + the C0 control character CR (see Recommendation ITU‑T T.50 + [4])

+
+

+ \s

+
+

+ Match + any one of the following C0 control characters: HT(9), LF(10), + VT(11), FF(12), CR(13), SP(32) (see Recommendation ITU‑T T.50 + [4]) (jointly called white-space characters, see clause A.1.5.1)

+
+

+ \b

+
+

+ Match + a word boundary (any graphical character except SP or DEL is + preceded or followed by any of the whitespace or newline + characters)

+
+

+ \"

+
+

+ Match + the double quote character

+
+

+ ""

+
+

+ Match + the double quote character

+
+

+ |

+
+

+ Used + to denote two alternative expressions

+
+

+ ( + )

+
+

+ Used + to group an expression

+
+

+ #(n, + m)

+
+

+ Match + the preceding expression at least n times but no more than m + times (postfix). See clause B.1.5.3 for more details

+
+

+ #n

+
+

+ Match + the previous expression exactly n times (where n is a single + digit) (postfix); the same as #(n)

+
+

+ + + +

+
+

+ Match + the preceding expression one or several times (postfix); the + same as #(1,)

+
+

+ NOTE + 1: Metacharacters ? and * are able to match any characters of + the character set of the root type of the template or template + field in which they are used (i.e. not considering type + constraints applied). However, it shall not be forgotten, that + receiving operations require type checking of the received + message before attempting to match it. Therefore received values + not complying with the subtype specification of the template or + template field are never provided for matching.

+

+ NOTE + 2: In some other languages/notations ? and * has different + meaning as metacharacters. However in TTCN these characters are + traditionally used for matching in the sense as specified in + this table.

+

+ NOTE + 3: Consequently the backslash character can be matched by a pair + of backslash characters without space between them (\\), e.g. + the pattern "\\d" will match the string "\d"; + opening or closing square brackets can be matched by "\[" + and "\]" respectively, etc.

+

+ NOTE + 4: Such use of the metacharacter "\" is deprecated as + further metacharacters can be defined later.

+
+
+

+

+

+

+The symbols that can appear as lexical marks in metacharacter +definitions are called metacharacter symbols.They include the +following characters: "#", "(", ")", +"*", "+", "-", "?", "[", +"\", "]", "^", "{","|","}". +When any of the metacharacter symbols are present in a pattern, but +do not form a valid metacharacter, they retain their literal value.

+

+NOTE: This rule assures that no format error can occur during pattern +template instantiation. However, errors caused by invalid references +can still appear (see clause B.1.5.2and B.1.5.4 for more details)

+

+Character patterns may be composed from several fragments using the +concatenation operation. The fragments of the pattern shall be +concatenated before any evaluation of the pattern expression. See +also the shorthand notation for referenced definitions at +concatenation in clause B.1.5.2.

+

+EXAMPLE 3:

+

+ template +charstring +MyTemplate:= pattern +"ab?\?" & "xyz*"; // results in the same +pattern as

+

+ +// in example2

+


+

+

+B.1.5.1 Set expression

+

+A list of characters enclosed by a pair of "[" and "]" +matches any single character in that list. The set expression is +delimited by the "[" "]" symbols. In addition to +character literals, it is possible to specify character ranges using +the hyphen "-" as separator. The range consist of the +character immediately before the separator, the character immediately +after it and all characters with a character code between the codes +of the two bordering characters. A hyphen character "-" +inside the list but without preceding or following character loses +its special meaning.

+

+The set expression can also be negated by placing the caret "^" +character as the first character after the opening square bracket. +Negation takes precedence over character ranges. Therefore a hyphen +"-" immediately following a negating caret "^" +shall be processed as a literal character.

+

+An empty list and an empty negated list are not allowed. Therefore a +closing square bracket "]" immediately following an opening +square bracket "[" or a caret following the opening square +bracket "[" and immediately followed by a closing square +bracket "]" shall be processed as literal characters.

+

+All metacharacters, except those listed below, lose their special +meaning inside the list:

+
    +
  • + "]" not at the first position and not immediately + following a "^" at the first position;

    +
  • + "-" not at the first or last positions in the list;

    +
  • + "^" at the first position in the list except when + immediately followed by a closing square bracket;

    +
  • + "\", "\d", "\t", "\w", "\r", + "\n", "\s" and "\b";

    +
  • + "\q{group,plane,row,cell}";

    +
  • + "\N{reference}".

    +
+

+NOTE 1: Embedded lists are not allowed. For example in pattern +"[ab[r-z]]" the second "[" denotes a literal "[", +the first "]" closes the list and the second "]" +retains its literal value as no related opening bracket precedes it +in the pattern. The pattern will match character strings containing +two elements, with the first element equal to "a", "b", +"[" or anything in the range "r"-"z" +and the second character equal to "]".

+

+NOTE 2: To include a literal caret character "^", +place it anywhere except in the first position or precede it with a +backslash. To include a literal hyphen "-", +place it first or last in the list, or precede it with a backslash. +To include a literal closing square bracket "]", +place it first or precede it with a backslash. If the first character +in the list is the caret "^", +then the characters "-" +and "]" +also match themselves when they immediately follow that caret.

+

+EXAMPLE:

+

template +charstring +RegExp1:= pattern +"[a-z]"; // this will match any character from a to z

+


+

+

template +charstring +RegExp2:= pattern +"[^a-z]"; // this will match any character except a to z

+


+

+

template +charstring +RegExp3:= pattern +"[AC-E][0-9][0-9][0-9]YKE"; +

+


+

+

// +RegExp3 will match a string which starts with the letter A or a +letter between
// C and E (but not e.g. B) then has three digits +and the letters YKE

+


+

+

+B.1.5.2 Reference expression

+

+In addition to direct string values, it is also possible within the +pattern to use references to templates, constants, variables, formal +parameters, module parameters, or to their fields, containing either +a character string value or pattern matching. The reference shall be +enclosed within the "{" "}" characters and +reference shall resolve a compatible character string type. The +opening bracket can be optionally followed by a backslash. +

+

+If the backslash character is missing, the referenced character +string or pattern shall be inserted into the pattern being +constructed and shall be handled as a regular expression. Each +expression shall be dereferenced only once, before the insertion +(i.e. the expression dereferenced and inserted into the referencing +pattern shall not be dereferenced again).

+

+If the backslash character is present, the referenced item shall +contain a character string value in this case. The character string +is inserted into the pattern being constructed so that it all +characters contained in it can keep their literal value
(i.e. all +metacharacter symbols are automatically escaped).

+

+If the reference cannot be resolved or if the referenced symbol does +not fulfil the requirements set by this clause, an error shall be +generated.

+

+EXAMPLE 1:

+

const +charstring MyString:= "ab?";

+

+
+

+

template +charstring +MyTemplate:= pattern +"{MyString}";

+

+ //matches +any character string that consists of the characters "ab" +followed by any character

+


+

+

+ templatecharstring +MyTemplate2:= pattern +"{\MyString}";

+

+ //resolves +into pattern "ab\?" +and matches +the string"ab?" +only

+

+
+

+

template +universal +charstring +MyTemplate3:= pattern +"{MyString}de\q{1, 1, 13, 7}";

+

+ //matches +any character string which consists of the characters "ab", +followed by any

+

+ //character, +followed by the characters "de", followed by the character +in ISO10646-1 with

+

+ //group=1, +plane=1, row=13 and cell=7.

+

+

+

+

+If a referenced definition or field of a definition contains one or +more reference expressions, then these references shall recursively +be dereferenced before inserting their contents into the referencing +pattern.

+

+If a fragment of a pattern contains a single reference only, it is +allowed, as a shorthand notation, to reference the definition or the +field of the definition directly, i.e. leave out double quotes (" +") and the pair of curly brackets ({ }).

+

+EXAMPLE 2:

+

const +charstring +MyConst2 := "ab";

+

template +charstring +RegExp1 := pattern +"{MyConst2}";

+

+ // matches the string "ab"

+

template +charstring +RegExp1a := pattern +MyConst2;

+

+ // the same as above, matches the string "ab"

+

template +charstring +RegExp2 := pattern +"{RegExp1}{RegExp1}";

+

+ // matches the string "abab"

+

template +charstring +RegExp2a := pattern +"{RegExp1}" & "{RegExp1}";

+

+ // the same as above, matches the string "abab"

+

template +charstring +RegExp2b := pattern +RegExp1 & RegExp1;

+

+ // the same as above, matches the string "abab"

+

template +charstring +RegExp3 := pattern +"c{RegExp2}d";

+

+ // matches the string "cababd"

+


+

+

template +charstring +RegExp4 := pattern +"{Reg"; +

+

template +charstring +RegExp5 := pattern +"Exp1}";

+

template +charstring +RegExp6 := pattern +"{RegExp4}{RegExp5}";

+

+ // matches the string "{RegExp1}" only (i.e. shall not be +handled as a reference expression

+

+ // after insertion) +

+

template +charstring +RegExp7 := pattern +"{Reg" & "Exp1}";

+

+ // note the difference to the previous example; in this case the +fragments of the
// pattern are joined before any evaluation, +i.e. this template will match the string "ab"
+

+


+

+

+EXAMPLE 3:

+

template +charstring +Ref0:= "My String";

+

template +charstring +Ref1:= "{Re";

+

template +charstring +Ref2:= "f0}";

+

template +charstring +Ref3:= "{Ref1}{Ref2}";

+

+ //this matches "{Ref0}"

+

+ //i.e. there is no further dereferencing

+

+ //as Ref1 and Ref2 do not contain a reference

+


+

+

template +charstring +Ref4:= "{Ref0}";

+

template +charstring +Ref5:= "";

+

template +charstring +Ref6:= "{Ref4}{Ref5}";

+

+ //this matches "My String" – here Ref0 is dereferenced, +because Ref4 contains +

+

+ //the reference expression {Ref0} with the reference Ref0

+


+

+

+EXAMPLE 4:

+

type +record +MyRecord {

+

integer +i,

+

charstring +c

+

}

+

const +MyRecord referencedRecord:= {1,"this"}

+

const +charstring +referencedConstant := referencedRecord.c;

+

template +charstring +referencingPattern := pattern +"{referencedConstant}"

+

+ //this matches "this" as the referencedConstant is +dereferenced

+


+

+

+B.1.5.3 Match expression n times

+

+To specify that the preceding expression should +be matched a number of times one of the following syntaxes shall be +used: "#(n, m)", +"#(n, )", +"#( , m)", +"#(n)", +"#n" +or "+".. +The form "#(n, +m)" specifies that the preceding +expression shall be matched at least n times but not more than m +times. The metacharacter postfix "#(n, +)" specifies that the preceding +expression shall be matched at least n times while "#( +, m)" indicates that the preceding +expression shall be matched not more than m times. Metacharacters +(postfixes) "#(n)" +and "#n" +specify that the preceding expression shall be matched exactly n +times (they are equivalent to "#(n, n)" +). In the form "#n" +n shall be a single digit. The metacharacter postfix "+" +denotes that the preceding expression shall be matched at least 1 +time (equivalent to "#(1,)").

+

+EXAMPLE:

+

template +charstring +RegExp4:= pattern +"[a-z]#(9, 11)"; // match at least 9 but no more than 11

+

// +characters from a to z

+

template +charstring +RegExp5a:= pattern +"[a-z]#(9)"; // match exactly 9 +

+

// +characters from a to z

+

template +charstring +RegExp5b:= pattern +"[a-z]#9"; // match exactly 9 +

+

// +characters from a to z

+

template +charstring +RegExp6:= pattern +"[a-z]#(9, )"; // match at least 9 +

+

// +characters from a to z

+

template +charstring +RegExp7:= pattern +"[a-z]#(, 11)"; // match no more than 11 +

+

// +characters from a to z

+

template +charstring +RegExp8:= pattern +"[a-z]+"; // match at least 1 +

+

// +characters from a to z,

+


+

+

+B.1.5.4 Match a referenced character set

+

+A notation of the form "\N{reference}", +where reference is denoting a one‑character‑length +template, constant, variable, formal parameter or module parameter, +matches the character in the referenced value or template.

+

+If the reference cannot be resolved or if the referenced symbol is +anything else than a template, constant, variable, formal parameter +or module parameter containing a character string of length 1, an +error shall be generated.

+

+A notation of the form "\N{typereference}", +where "typereference" is a reference to a charstring +or universal charstring +type, matches any character of the character set denoted by +the referenced type.

+

+NOTE 1: Cases when the referenced set of characters is not a subset +of values allowed by the type definition of the template or template +field for which the character pattern is used, are not be treated as +an error (but e.g. matching never can occur if the two sets do not +overlap).

+

+NOTE 2: \N{charstring} +is equivalent to ? when the latter is applied to a template or +template field of charstring +type and \N{universal +charstring} is equivalent to ? when the latter is applied +to a template or template field of universal +charstring type (but causes an error if applied to a +template or template field of charstring +type).

+

+EXAMPLE:

+

+ type +charstring +MyCharRange ("a".."z");

+

+ type +charstring +MyCharList ("a", "z");

+

+ const +MyCharRange myCharR := "r";

+

+

+

+ template +charstring +myTempPatt1 := pattern +"\N{myCharR}";

+

+ // +myTempPatt1 shall match the string "r" only

+

+

+

+ template +charstring +myTempPatt2 := pattern +"\N{MyCharRange}";

+

+ // +myTempPatt2 shall match any string containing a single character from +a to z

+

+

+

+ template +MyCharRange myTempPatt3 := pattern +"\N{MyCharList}";

+

+ // +myTempPatt3 shall match strings "a" or "z" only

+

+
+

+

B.1.5.5 Type compatibility rules for +patterns

+

+For the purpose of referenced patterns (see clause B.1.5.2) and +references character sets (see clause B.1.5.3) specific type +compatibility rules apply: a referenced type, template, constant, +variable or module parameter of the type charstring +always can be used in the pattern specification of a template or +template field of universal +charstring type; a referenced type, template or value of +the type universal charstring +can be used in the pattern specification of a template or template +field of charstring +type if all characters used in the referenced template or value and +the character set allowed by the referenced type has their +corresponding characters in the charstring +type (see definition of corresponding characters in clause 6.3.1).

+

+Annex C (normative):
Pre-defined TTCN‑3 functions

+

+This annex defines the TTCN‑3 +predefined functions.

+

+C.0 General exception handling procedures

+

+When the general restrictions specified in clause 16.1.2 are not met, +this shall cause a compile time or runtime error. Error situations +for which no explicit exception-handling rule is defined in the +relevant clauses of this annex shall cause a TTCN‑3 +compile-time or run-time error. Which error situation causes +compile-time and which one run-time error is a tool implementation +option.

+

+C.1 Conversion functions

+

+C.1.1 Integer to character

+

int2char(in +integer +invalue) return +charstring

+


+

+

+This function converts an integer +value in the range of 0 to 127 (8-bit encoding) into a +single-character-length charstring +value. The integer value describes the 8-bit encoding of the +character.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + invalue is less than 0 or + greater than 127.

    +
+

+C.1.2 Integer to universal character

+

int2unichar(in +integer +invalue) return +universal charstring

+


+

+

+This function converts an integer +value in the range of 0 to 2 147 483 647 (32-bit +encoding) into a single‑character‑length universal +charstring value. The integer +value describes the 32-bit encoding of the character.

+

+In addition to the general error causes in +clause 16.1.2, error causes are: +

+
    +
  • + invalue is less than 0 or + greater than 2147483647.

    +
+

+C.1.3 Integer to bitstring

+

+ int2bit(in +integer invalue, +in integer +length) +return +bitstring

+

+
+

+

+This function converts a single +integer value to a single +bitstring +value. The resulting string is length +bits long.

+

+For the purposes of this conversion, a +bitstring +shall be interpreted as a positive base 2 integer +value. The rightmost bit is least significant, the leftmost bit is +the most significant. The bits 0 and 1 represent the decimal values 0 +and 1 respectively. If the conversion yields a value with fewer bits +than specified in the length +parameter, then the bitstring +shall be padded on the left with zeros.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + invalue is less than + zero;

    +
  • + the conversion yields a return value with more bits than specified + by length.

    +
+

+C.1.4 Integer to enumerated

+

int2enum +( in integer inpar, +out Enumerated_type outpar)

+


+

+

+This function converts an integer value into an enumerated value of a +given enumerated type. The integer value shall be provided as in +parameter and the result of the conversion shall be stored in an out +parameter. The type of the out parameter determines the type into +which the in parameter is converted.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

+ type +enumerated +MyFirstEnumType {

+

+ Monday, +Tuesday, Wednesday, Thursday, Friday

+

+ };

+


+

+

type +enumerated +MySecondEnumType {

+

Saturday(-3), +Sunday (0), Monday

+

};

+

+

//within +a dynamic language element:

+

var +MyFirstEnumType firstEnum := +Tuesday;

+

var +MySecondEnumType secondEnum := +Sunday;

+


+

+

int2enum(0, +firstEnum) // firstEnum == Monday

+

int2enum(1, +secondEnum) // secondEnum == Monday

+


+

+

+C.1.5 Integer to hexstring

+

+ int2hex(in +integer +invalue, in +integer +length) return +hexstring

+

+
+

+

+This function converts a single integer +value to a single hexstring +value. The resulting string is length +hexadecimal digits long.

+

+For the purposes of this conversion, a +hexstring +shall be interpreted as a positive base 16 integer +value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The hexadecimal +digits 0 to F represent the decimal values 0 to 15 respectively. If +the conversion yields a value with fewer hexadecimal digits than +specified in the length +parameter, then the hexstring +shall be padded on the left with zeros.

+

+In addition to the general error causes in +clause 16.1.2, error causes are: +

+
    +
  • + invalue is less than + zero;

    +
  • + the conversion yields a return value with more hexadecimal + characters than specified by length.

    +
+

+C.1.6 Integer to octetstring

+

int2oct(in +integer +invalue, in +integer +length) return +octetstring

+


+

+

+This function converts a single integer +value to a single octetstring +value. The resulting string is length +octets long.

+

+For the purposes of this conversion, an +octetstring +shall be interpreted as a positive base 16 integer +value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The number of +hexadecimal digits provided shall be multiples of 2 since one octet +is composed of two hexadecimal digits. The hexadecimal digits 0 to F +represent the decimal values 0 to 15 respectively. If the conversion +yields a value with fewer hexadecimal digits than specified in the +length +parameter, then the hexstring +shall be padded on the left with zeros.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + invalue is less than + zero;

    +
  • + the conversion yields a return value with more octets than specified + by length.

    +
+

+C.1.7 Integer to charstring

+

int2str(in +integer +invalue) return +charstring

+


+

+

+This function converts the integer value into +its string equivalent (the base of the return +string is always decimal).

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

int2str(66) + // will return the charstring +value "66"

+


+

+

int2str(-66) + // will return the charstring +value "-66"

+


+

+

int2str(0) + // will return the charstring +value "0"

+


+

+

+C.1.8 Integer to float

+

int2float(in +integer invalue) +return float

+


+

+

+This function converts an integer +value into a float +value.

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

int2float(4) += 4.0

+


+

+

+C.1.9 Float to integer

+

float2int(in +float invalue) +return integer

+


+

+

+This function converts a float +value into an integer +value by removing the fractional part of the argument and returning +the resulting integer.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + invalue is infinity, + -infinity or + not_a_number.

    +

    + EXAMPLE:

    +
+

float2int(3.12345E2) += float2int(312.345) += 312

+


+

+

+C.1.10 Character to integer

+

char2int(in +charstring +invalue) return +integer

+


+

+

+This function converts a single-character-length charstring +value into an integer value in the range of 0 to 127. The integer +value describes the 8-bit encoding of the character.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + length of invalue does + not equal 1.

    +
+

+C.1.11 Character to octetstring

+

+ char2oct(in +charstring invalue) +return octetstring

+


+

+

+This function converts a charstring +invalue to an octetstring. +Each octet of the octetstring +will contain the Recommendation ITU‑T T.50 [4] codes +(according to the IRV) of the appropriate characters of invalue.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

char2oct +("Tinky-Winky") = '54696E6B792D57696E6B79'O

+


+

+

+C.1.12 Universal character to integer

+

unichar2int(in +universal +charstring +invalue) return +integer

+


+

+

+This function converts a +single-character-length universal +charstring +value into an integer value in the range of 0 to 2 147 483 647. +The integer value describes the 32-bit encoding of the character.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + length of invalue does + not equal 1.

    +
+

+C.1.13 Bitstring to integer

+

+ bit2int(in +bitstring +invalue) return +integer

+

+
+

+

+This function converts a single bitstring +value to a single integer +value.

+

+For the purposes of this conversion, a +bitstring +shall be interpreted as a positive base 2 integer +value. The rightmost bit is least significant, the leftmost bit is +the most significant. The bits 0 and 1 represent the decimal values 0 +and 1 respectively.

+

+NOTE: On real test systems the integer interpretation of invalue +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+The general error causes in clause 16.1.2 +apply. +

+

+C.1.14 Bitstring to hexstring

+

bit2hex(in +bitstring +invalue) +return hexstring

+


+

+

+This function converts a single bitstring +value to a single hexstring. +The resulting hexstring +represents the same value as the bitstring.

+

+For the purpose of this conversion, a bitstring shall be converted +into a hexstring, where the bitstring is divided into groups of four +bits beginning with the rightmost bit. Each group of four bits is +converted into a hex digit as follows:

+

+'0000'B ï‚® '0'H, '0001'B ï‚® +'1'H, '0010'B ï‚® '2'H, '0011'B ï‚® +'3'H, '0100'B ï‚® '4'H, '0101'B ï‚® +'5'H,
'0110'B ï‚® '6'H, '0111'B +ï‚® '7'H, '1000'B ï‚® +'8'H, '1001'B ï‚® '9'H, '1010'B ï‚® +'A'H, '1011'B ï‚® 'B'H,
'1100'B +ï‚® 'C'H, '1101'B ï‚® +'D'H, '1110'B ï‚® 'E'H, and '1111'B +ï‚® 'F'H.

+

+When the leftmost group of bits does contain less than 4 bits, this +group is filled with '0'B from the left until it contains exactly 4 +bits and is converted afterwards. The consecutive order of hex digits +in the resulting hexstring is the same as the order of groups of 4 +bits in the bitstring.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

bit2hex +('111010111'B)= '1D7'H

+


+

+

+C.1.15 Bitstring to octetstring

+

bit2oct(in +bitstring +invalue) +return octetstring

+


+

+

+This function converts a single bitstring +value to a single octetstring. +The resulting octetstring +represents the same value as the bitstring.

+

+For the conversion the following holds: +bit2oct(value)=hex2oct(bit2hex(value)).

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

bit2oct('111010111'B)= +'01D7'O

+


+

+

+C.1.16 Bitstring to charstring

+

+ bit2str(in +bitstring +invalue) +return charstring

+

+
+

+

+This function converts a single bitstring +value to a single charstring. +The resulting charstring has +the same length as the bitstring +and contains only the characters '0' and '1'.

+

+For the purpose of this conversion, a bitstring +shall be converted into a charstring. +Each bit of the bitstring is +converted into a character '0' or '1' depending on the value 0 or 1 +of the bit. The consecutive order of characters in the resulting +charstring is the +same as the order of bits in the bitstring.

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

bit2str('1110101'B) +will return "1110101"

+


+

+

+C.1.17 Hexstring to integer

+

+ hex2int(in +hexstring +invalue) +return +integer

+

+
+

+

+This function converts a single hexstring +value to a single integer +value.

+

+For the purposes of this conversion, a +hexstring +shall be interpreted as a positive base 16 integer +value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The hexadecimal +digits 0 to F represent the decimal values 0 to 15 respectively.

+

+NOTE: On real test systems the integer interpretation of invalue +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+The general error causes in clause 16.1.2 apply. +

+

+C.1.18 Hexstring to bitstring

+

hex2bit(in +hexstring +invalue) +return bitstring

+


+

+

+This function converts a single hexstring +value to a single bitstring. +The resulting bitstring +represents the same value as the hexstring.

+

+For the purpose of this conversion, a hexstring +shall be converted into a bitstring, +where the hex digits of the hexstring +are converted in groups of bits as follows:

+

+'0'H ï‚® '0000'B, '1'H ï‚® +'0001'B, '2'H ï‚® '0010'B, '3'H ï‚® +'0011'B, '4'H ï‚® '0100'B, '5'H ï‚® +'0101'B,
'6'H ï‚® '0110'B, '7'H +ï‚® '0111'B, '8'H ï‚® +'1000'B, '9'H ï‚® '1001'B, 'A'H ï‚® +'1010'B, 'B'H ï‚® '1011'B,
'C'H +ï‚® '1100'B, 'D'H ï‚® +'1101'B, 'E'H ï‚® '1110'B, and 'F'H +ï‚® '1111'B.

+

+The consecutive order of the groups of 4 bits in the resulting +bitstring is the +same as the order of hex digits in the hexstring.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

hex2bit('1D7'H)= +'000111010111'B

+


+

+

+C.1.19 Hexstring to octetstring

+

+ hex2oct(in +hexstring +invalue) +return octetstring

+

+
+

+

+This function converts a single hexstring +value to a single octetstring. +The resulting octetstring +represents the same value as the hexstring.

+

+For the purpose of this conversion, a hexstring +shall be converted into a octetstring, +where the octetstring +contains the same sequence of hex digits as the hexstring +when the length of the hexstring +modulo 2 is 0. Otherwise, the resulting octetstring +contains 0 as leftmost hex digit followed by the same sequence of hex +digits as in the hexstring.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

hex2oct('1D7'H)= +'01D7'O

+


+

+

+C.1.20 Hexstring to charstring

+

hex2str(in +hexstring +invalue) +return charstring

+


+

+

+This function converts a single hexstring value to a single +charstring. The resulting charstring has the same length as the +hexstring and contains only the characters '0' to '9'and 'A' to 'F'.

+

+For the purpose of this conversion, a hexstring +shall be converted into a charstring. +Each hex digit of the hexstring +is converted into a character '0' to '9' and 'A' to 'F' depending on +the value 0 to 9 or A to F of the hex digit. The consecutive order of +characters in the resulting charstring +is the same as the order of digits in the hexstring.

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

hex2str('AB801'H) +will return "AB801"

+


+

+

+C.1.21 Octetstring to integer

+

oct2int(in +octetstring +invalue) return +integer

+


+

+

+This function converts a single octetstring +value to a single integer +value.

+

+For the purposes of this conversion, an +octetstring +shall be interpreted as a positive base 16 integer +value. The rightmost hexadecimal digit is least significant, the +leftmost hexadecimal digit is the most significant. The number of +hexadecimal digits provided shall be multiples of 2 since one octet +is composed of two hexadecimal digits. The hexadecimal digits 0 to F +represent the decimal values 0 to 15 respectively.

+

+NOTE: On real test systems the integer interpretation of invalue +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+The general error causes in clause 16.1.2 apply.

+

+C.1.22 Octetstring to bitstring

+

oct2bit(in +octetstring +invalue) +return bitstring

+


+

+

+This function converts a single octetstring +value to a single bitstring. +The resulting bitstring +represents the same value as the octetstring.

+

+For the conversion the following holds: +oct2bit(value)=hex2bit(oct2hex(value)).

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

oct2bit +('01D7'O)='0000000111010111'B

+


+

+

+C.1.23 Octetstring to hexstring

+

oct2hex(in +octetstring +invalue) +return hexstring

+


+

+

+This function converts a single octetstring +value to a single hexstring. +The resulting hexstring +represents the same value as the octetstring.

+

+For the purpose of this conversion, a octetstring +shall be converted into a hexstring +containing the same sequence of hex digits as the octetstring.

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

oct2hex('1D74'O)= +'1D74'H

+


+

+

+C.1.24 Octetstring to character string

+

oct2str(in +octetstring invalue) +return charstring

+


+

+

+This function converts an octetstring +invalue to an charstring +representing the string equivalent of the input value. The resulting +charstring shall +have the same length as the incoming octetstring.

+

+For the purpose of this conversion each hex digit of invalue +is converted into a character '0', '1', '2', '3', '4', '5', '6', '7', +'8', '9', 'A', 'B', 'C', 'D', 'E' or 'F' echoing the value of the hex +digit. The consecutive order of characters in the resulting +charstring is the +same as the order of hex digits in the octetstring.

+

+The general error causes in clause 16.1.2 apply. +

+

+EXAMPLE:

+

oct2str('4469707379'O) += "4469707379"

+


+

+

+C.1.25 Octetstring to character string, version II

+

+ oct2char(in +octetstring invalue) +return charstring

+

+
+

+

+This function converts an octetstring +invalue to a charstring. +The input parameter invalue +shall not contain octet values higher than 7F. The resulting +charstring shall +have the same length as the input octetstring. +The octets are interpreted as Recommendation ITU‑T T.50 +[4] codes (according to the IRV) and the resulting characters are +appended to the returned value.

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

oct2char('4469707379'O) += "Dipsy"

+


+

+

+NOTE: The character string returned may contain non-graphical +characters, which cannot be presented between the double quotes.

+

+C.1.26 Charstring to integer

+

+ str2int(in +charstring +invalue) return +integer

+

+
+

+

+This function converts a charstring +representing an integer +value to the equivalent integer. + +

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + invalue contains + characters other than "0", "1", "2", + "3", "4", "5", "6", "7", + "8", "9" and "-".

    +
  • + invalue contains the + character "-" at another position than the leftmost one.

    +
+

+NOTE: On real test systems the integer interpretation of invalue +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+EXAMPLE:

+

str2int("66") + // will return the integer +value 66

+


+

+

str2int("-66") + // will return the integer +value -66

+


+

+

str2int("6-6") + // will cause an error

+


+

+

str2int("abc") + // will cause an error

+


+

+

str2int("0") + // will return +the integer +value 0

+


+

+

+C.1.27 Character string to hexstring

+

str2hex(in +charstring +invalue) +return hexstring

+


+

+

+This function converts a string of the type +charstring to a hexstring. +The string invalue +shall contain the "0", "1", "2", "3", +"4", "5", "6", "7", "8", +"9", "a", "b", "c", "d", +"e" "f", "A", "B", "C", +"D", "E" or "F" graphical characters +only. Each character of invalue +shall be converted to the corresponding hexadecimal digit. The +resulting hexstring +will have the same length as the incoming charstring.

+

+In addition to the general error causes in +clause 16.1.2, error cause is: +

+
    +
  • + invalue contains + characters other than specified above.

    +
+

+EXAMPLE:

+

str2hex("54696E6B792D57696E6B7") += '54696E6B792D57696E6B7'H

+


+

+

+C.1.28 Character string to octetstring

+

str2oct(in +charstring +invalue) +return octetstring

+


+

+

+This function converts a string of the type +charstring to an octetstring. +The string invalue +shall contain the "0", "1", "2", "3", +"4", "5", "6", "7", "8", +"9", "a", "b", "c", "d", +"e" "f", "A", "B", "C", +"D", "E" or "F" graphical characters +only. When the string invalue +contains even number characters the resulting octetstring +contains 0 as leftmost character followed by the same sequence of +characters as in the charstring.

+

+lengthof (see +clause C.2.1 for the resulting octetstring +will return half of lengthof +of the incoming charstring. +In addition to the general error causes in +clause 16.1.2, error causes is: +

+
    +
  • + invalue contains + characters other than specified above.

    +
+

+EXAMPLE:

+

str2oct("54696E6B792D57696E6B79") += '54696E6B792D57696E6B79'O

+

str2oct("1D7")= +'01D7'O

+


+

+

+NOTE: The semantic of the str2oct function cause asymmetric +behaviour:

+

oct2str(str2oct("1D7"))// +results the charstring value "01D7"

+

+C.1.29 Character string to float

+

+ str2float(in +charstring invalue) +return float

+

+
+

+

+This function converts a charstring +comprising a number into a float +value. The format of the number in the charstring +shall follow rules in clause 6.1.0, items a) or b) with the following +exceptions:

+
    +
  • + leading zeros are allowed;

    +
  • + leading "+" sign before positive values is allowed;

    +
  • + "-0.0" is allowed;

    +
  • + no numbers after the dot in the decimal notation are allowed.

    +
+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + the format of invalue is different than defined above.

    +
+

+NOTE: On real test systems the float interpretation of invalue +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+EXAMPLE:

+

str2float("12345.6") + // is the same as str2float("123.456E+02")

+

str2float("1.6") + // returns a float value equal to 1.6

+

str2float("+001.") + // returns a float value equal to 1.0

+

str2float("+001") + // returns a float value equal to 1.0

+

str2float("-0.0") + // returns a float value equal to -0.0

+


+

+

+C.1.30 Enumerated to integer

+

enum2int(in +Enumerated_type inpar) +return integer

+


+

+

+This function accepts an enumerated value and returns the integer +value associated to the enumerated value (see also clause 6.2.4). The +actual parameter passed to inpar always shall be a typed object (see +clause 6.2.4 and the definition "type context" in clause +3.1).

+

+The general error causes in clause 16.1.2 apply.

+

+EXAMPLE:

+

+ type +enumerated +MyFirstEnumType {

+

+ Monday, +Tuesday, Wednesday, Thursday, Friday

+

+ };

+


+

+

type +enumerated +MySecondEnumType {

+

Saturday(-3), +Sunday (0), Monday

+

};

+

+

//within +a dynamic language element:

+

var +MyFirstEnumType vl_FirstEnum := +Monday;

+

var +MySecondEnumType vl_SecondEnum := +Monday;

+


+

+

enum2int(vl_FirstEnum) + // returns 0

+

enum2int(vl_SecondEnum) +// returns 1

+

+

vl_FirstEnum +:= +Wednesday;

+

vl_SecondEnum +:= +Saturday;

+

enum2int(vl_FirstEnum) + // returns 2

+

enum2int(vl_SecondEnum) +// returns -3

+


+

+

vl_FirstEnum +:= Friday;

+

vl_SecondEnum +:= Sunday;

+

enum2int(vl_FirstEnum) + // returns 4

+

enum2int(vl_SecondEnum) +// returns 0

+


+

+

+C.2 Length/size functions

+

+C.2.1 Length of strings and lists

+

lengthof(in +template +(present) +any_string_or_list_type inpar) return +integer

+


+

+

+This function returns the length of a value or +template that is of type bitstring, +hexstring, +octetstring, +charstring, +universal charstring, record +of, set +of, or array. The units of +length for each string type are defined in table 4 in the main body +of the present document. +

+

+For values or templates of record +of +or set +of +type, the value to be returned is the maximum of the minimal length +restriction value of the type, or 0 for types with no minimal length +restriction, and the index of the last initialized element plus 1. +

+

+The length value returned in case of length +restricted string or list type shall be at least the minimum length +according to the type definition. In particular, the length of a +fixed length record +of or set +of value will always be the +fixed length according to the type definition. For array +values or templates, the value to be returned is the fixed length of +the corresponding record +of +type.

+

+NOTE 1: As in +formal parameters does not allow passing in uninitialized values or +templates, even in these cases inpar +will be at least partially initialized.

+

+The length of an universal +charstring shall be calculated by counting each +combining character and hangul syllable character (including fillers) +on its own (see ISO/IEC 10646 [2], clauses 23 and 24).

+

+When the function lengthof +is applied to string-type templates, inpar +shall only contain the following matching mechanisms: specific value, +value list, complemented value list, pattern, "?" (AnyValue +instead of value), "*" (AnyValueOrNone instead of +value), "?" (AnyElement inside value) and "*" +(AnyElementsOrNone inside value) and the length restriction +matching attribute. In case of string-type templates inpar +shall match values of the same length only. If +inpar +contains uninitialized elements, each of them shall be counted as 1 +element, i.e. they shall be matched as if they contained the "?" +(AnyElement inside value) matching character in case of binary +strings or as if they were a "?" (Match any +character) character pattern for textual +strings.

+

+When the function lengthof +is applied to templates of record of or set of types, inpar +shall only contain the following matching mechanisms: specific value, +value list, complemented value list, "?" (AnyValue +instead of value), "*" (AnyValueOrNone instead of +value), SuperSet, SubSet, "?" (AnyElement inside +value) and "*" (AnyElementsOrNone inside value), +permutation and the length restriction matching attribute. The +parameter inpar shall only +match values, for which the lengthof +function would give the same result. If inpar +contains uninitialized elements, each of them shall be counted as 1 +element, i.e. they shall be matched as if they contained the "?" +(AnyElement inside value) matching character.

+

+NOTE 2: In case of record ofs and set ofs and arrays only elements of +the TTCN‑3 object, which is the parameter of the function are +calculated; i.e. no elements of nested types are taken into account +when determining the return value.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + inpar + is a string-type template and it can match string values with + different length or the length restriction matching attribute + contradicts the number of string elements in the template body;

    +
  • + inpar + is a record of or set of type template and it can match + values of different lengths or the length restriction matching + attribute contradicts the number of elements in the template body.

    +
+

+NOTE 3: On real test systems the length calculation of inpar +may lead to an overflow problem that causes compile time or run-time +error. However, this is out of the scope of the present document.

+

+EXAMPLE 1: Using lengthof for values

+

lengthof('010'B) + // returns 3 +

+


+

+

lengthof('F3'H) + // returns 2 +

+


+

+

lengthof('F2'O) + // returns 1 +

+


+

+

lengthof +(universal charstring +: "Length_of_Example") // returns 17

+


+

+

+ // +Given

+

+ type +record length(0..10) +of integer +MyList;

+

+ var +MyList MyListVar := { 0, 1, -, +2, - };

+


+

+

lengthof(MyListVar);

+

+ // +returns 4 without respect to the fact, that the element MyListVar[2] +is not initialized

+

+
+

+


+

+

+EXAMPLE 2: Using lengthof for string-type templates

+

lengthof(charstring +: "HELLO") // returns 5 +

+


+

+

lengthof(octetstring +: ('12'O, '34'O)) // returns 1 +

+


+

+

lengthof('1??1'B) + // returns 4 +

+


+

+

lengthof(universal +charstring +: ? length(8)) // returns 8 +

+


+

+

lengthof('1*F'H) + // shall cause an error +

+


+

+

lengthof('1*F'H +length +(8)) // returns 8

+


+

+

lengthof(bitstring +: ? length(2..infinity)) +// shall cause an error +

+


+

+

lengthof('00*FF'O +length(1..2)) + // returns 2 +

+


+

+

lengthof('1*49'H +length(1..2)) + // shall cause an error +

+


+

+

lengthof('1'B +length(3)) + // shall cause an error +

+


+

+

lengthof('1*1'B +length(10..20)) + // shall cause an error

+


+

+

+EXAMPLE 3:

+

type +record of +integer +RoI; +

+

template +RoI tr_roI1 := { 1, permutation(2, 3), ? } +

+

template +RoI tr_roI2 := {1, *, (2, 3) } +

+

template +RoI tr_roI3 := { 1, *, 10 } length(5) +

+

template +RoI tr_roI4 := { 1, 2, 3, * } length(1..2) +

+

template +RoI tr_roI5 := { 1, 2, 3, * } length(1..3) +

+


+

+

lengthof +(tr_roI1) // returns +4 +

+


+

+

lengthof +(tr_roI2) // shall cause an +error +

+


+

+

lengthof +(tr_roI3) // returns +5 +

+


+

+

lengthof +(tr_roI4) // shall cause an +error +

+


+

+

lengthof +(tr_roI5) // returns 3

+


+

+

+C.2.2 Number of elements in a structured value

+

+ sizeof(in +template +(present) +any_record_set_type inpar) return +integer

+

+
+

+

+This function returns the actual number of +elements of a value or template of a record +or set +type (see note). +

+

+The function sizeof +is applicable to templates of record and set types. The function is +applicable only if the sizeof +function gives the same result on all values that match the template.

+

+NOTE: Only elements of the TTCN‑3 object, which is the +parameter of the function are calculated; i.e. no elements of nested +types/values are taken into account at determining the return value.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + when inpar is a template + and it can match values of different sizes.

    +
+

+EXAMPLE:

+

+ // +Given +

+

+ type +record MyPDU + +

+

+ { + boolean +field1 optional,

+

+ integer +field2

+

+ };

+

+
+

+

template +MyPDU MyTemplate :=

+

{ +field1 := omit,

+

+ field2 := 5

+

};

+


+

+

sizeof(MyTemplate); // +returns 1

+


+

+

type +set S {

+

+ integer +f1,

+

+ bitstring +f2 optional,

+

+ charstring +f3 optional

+

}

+


+

+

template +S tr_S1 := { f1 := (0..99), f2 := omit, +f3 := ? } +

+

template +S tr_S2 := { f3 := *, f1 := 1, f2 := '00'B ifpresent +} +

+

template +S tr_S3 := ({ f1 := 1, f2 := omit, +f3 := "ABC" }, { f1 := 2, f3 := omit, +f2 := '1'B }) +

+

template +S tr_S4 := ? +

+


+

+

sizeof(tr_S1) +// returns 2 +

+

sizeof(tr_S2) +// shall cause an error +

+

sizeof(tr_S3) +// returns 2 +

+

sizeof(tr_S4) +// shall cause an error

+


+

+

+C.3 Presence checking functions

+

+C.3.1 The IsPresent function

+

+ ispresent(in +template +any_ type inpar) return +boolean

+

+
+

+

+This function is allowed for templates of all data types and returns:

+
    +
  • + the value true if + the data object reference fulfils the (present) template restriction + as described in clause 15.8;

    +
  • + the value false + otherwise.

    +
+

+NOTE 1: When the argument of ispresent +is a subfield of a template field to which the "?" +(AnyValue) matching is assigned, the extension mechanism +specified in clause 15.6.2 applies.

+

+NOTE 2: This means that whenever ispresent(MyTemplate) +returns true:

+

+- MyTemplate +can safely be assigned to a non-optional field of the type of the +template in a template variable;

+

+- MyTemplate +can safely be used as an actual template(present) parameter or +assigned to a variable of kind template(present). +

+

+The application of the ispresent +function to a semantically correct data object reference shall never +result in an error, even if using the reference would normally cause +a runtime error when being used e.g. in an expression. +

+

+EXAMPLE:

+

// +Given +

+

type +record MyRecord + +

+

+ {

+

+ record +{

+

+ boolean +innerField1 +optional,

+

+ integer +innerField2 optional,

+

+ MyRecord +innerField3 +optional +

+

+ } +field1 optional,

+

integer +field2

+

}

+


+

+

var +MyRecord vl_MyRecord := { field1 := {}, field2 := 5 }

+

// +type of field1 is record with fields, therefore field1 remains +uninitialized

+

// +after this assignment (no value is assigned to any of the fields of +vl_MyRecord.field1)

+


+

+

ispresent(vl_MyRecord.field1) +// returns false

+


+

+


+

+

vl_MyRecord.field1 +:= omit

+


+

+

ispresent(vl_MyRecord.field1) +// returns false

+

// +and therefore, vl_MyRecord.field1.innerField1 is an inaccessible +reference

+


+

+

+ ispresent(vl_MyRecord.field1.innerField3.field2) +// shall return +false because innerField3 is

+

+ // +unintialized and therefore, vl_MyRecord.field1.innerField3.field2 is +an +

+

+ // +inaccessible reference

+


+

+

ispresent(vl_MyRecord.field1.innerField1) +// shall return +false because field1 is omitted

+


+

+

var +template +MyRecord vlt_MyRecord := { field1 := ?, field2 := 5 }

+


+

+

ispresent(vlt_MyRecord.field1) +// returns true

+


+

+

ispresent(vlt_MyRecord.field1.innerField1) +// returns false because field1 is AnyValue

+

// +(pls. note, that at expansion of field1 the optional field +innerField1 obtains "*" +

+

// +that can match both a present and an omitted field

+


+

+

type +record R { +integer f1 +optional, +integer f2 +optional } + +

+

template +R t1 := {f1 := 1, f2 :=(2 .. 4) } +

+

template +R t2 := { f1 := omit, +f2 := (5, 7) ifpresent +} +

+

template +R t3 := {f1 := *, f2 :=? } +

+


+

+

ispresent(t1.f1) +// returns true + +

+


+

+

ispresent(t1.f2) +// returns true + +

+


+

+

ispresent(t2.f1) +// returns false + +

+


+

+

ispresent(t2.f2) +// returns false

+


+

+

ispresent(t3.f1) +// returns false

+


+

+

ispresent(t3.f2) +// returns true + +

+

+

+C.3.2 The IsChosen function

+

+ ischosen(in +template +any_union_type inpar) return +boolean

+

+
+

+

+This function is allowed for templates of all data types that are a +union-field-reference. This function returns:

+
    +
  • + the value true + if and only if the data object reference specifies the variant of + the union + type that is actually selected for a given data object;

    +
  • + in all other cases false.

    +
+

+The function ischosen +is applicable to templates of union types containing a specific value +or a value list. It returns true +if all the values matched by inpar +have the given field selected. The result is false +if there is another field of the union type on which ischosen +would return true.

+

+The application of the ischosen +function to a semantically correct data object reference shall never +result in an error, even if using the reference would normally cause +a runtime error when being used e.g. in an expression. +

+

+EXAMPLE 1:

+

type +union U { +integer +f1, octetstring +f2 } +

+

template +U t_U1 := {f1 := 1} +

+

template +U t_U2 := {f2 := ?} +

+

template +U t_U3 := ? +

+

template +U t_U4 := ({ f1 := 2 }, {f2 := 'AB'O }) +

+

template +U t_U5 := ({ f2 := '12?'O }, { f2 := '*34'O length(2) +}) +

+


+

+

ischosen(t_U1.f1) +// returns true +

+


+

+

ischosen(t_U1.f2) +// returns false +

+


+

+

ischosen(t_U2.f1) +// returns false +

+


+

+

ischosen(t_U2.f2) +// returns true +

+


+

+

ischosen(t_U3.f1) +// returns false +

+


+

+

ischosen(t_U3.f2) +// returns false

+


+

+

ischosen(t_U4.f1) +// returns false +

+


+

+

ischosen(t_U4.f2) +// returns false +

+


+

+

ischosen(t_U5.f1) +// returns false +

+


+

+

ischosen(t_U5.f2) +// returns true +

+


+

+


+

+

+ type +record R { +U u optional +}

+

+ template +R t_R1 := { omit +}

+


+

+

+ ischosen(t_R1.u.f1) +// returns false

+


+

+

+EXAMPLE 2:

+

// +Given +

+

type +union +MyUnion

+

{ PDU_type1 p1,

+

PDU_type2 p2,

+

PDU_type p3 + +

+

}

+


+

+

// +and given that MyPDU is a template of MyUnion type

+

// +and received_PDU +is also of MyUnion type +

+

// +then +

+

MyPort.receive(MyPDU) +-> value +received_PDU

+

ischosen(received_PDU.p2)

+

// +returns true if the actual instance of MyPDU carries a PDU +of the type PDU_type2 + +

+


+

+

+C.3.3 The IsValue function

+

isvalue(in +template +any_type inpar) return boolean;

+


+

+

+This function is allowed for templates of all +data types. The function shall return true, +if inpar is completely +initialized and resolves to a specific value. If inpar +is of record or set +type, omitted optional fields shall be considered as initialized, +i.e. the function shall also return true if optional fields of inpar +are set to omit. The function shall return false +otherwise.

+

+The null value +assigned to default and component references shall be considered as +concrete values.

+

+The application of the isvalue +function to a semantically correct data object reference shall never +result in an error, even if using the reference would normally cause +a runtime error when being used e.g. in an expression. +

+

+EXAMPLE 1: Simple types

+

+ template +charstring +ts_char0 := "ABCD"; //template containing a specific value +matching

+

+ template +charstring +tr_char1 := "AB?D"; //template containing a specific value +matching
//note, that "?" is not a matching +symbol in this case

+

+ template +charstring +tr_char2 := pattern +"ABCD"; //a pattern matching a single value only

+

+ template +charstring +tr_char3 := pattern +"AB?D"; //pattern matching

+

+ template +charstring +tr_char4 := ("ABCD"); // template containing a specific +value (expression)

+

+ template +charstring +tr_char5 := ("ABCD","EFGH"); //a value list +matching a single value only

+


+

+

isvalue(ts_char0); +// shall return true

+

isvalue(tr_char1); +// shall return true

+

isvalue(tr_char2); +// shall return false

+

isvalue(tr_char3); +// shall return false

+

isvalue(tr_char4); +// shall return true similarly to e.g. isvalue((2)) shall return true

+

isvalue(tr_char5); +// shall return false

+


+

+

+EXAMPLE 2: Special types

+

+ var +default +vl_default := null;

+

+ isvalue(vl_default); +// shall return true

+

+
+

+

+EXAMPLE 3: Record/set types

+

type +record +MyRec {

+

integer +f1 optional,

+

integer +f2 optional

+

}

+


+

+

var +MyRec vl_MyRec;

+

var +template +MyRec vlt_MyRec;

+

+

isvalue(vl_MyRec); + // shall return false

+

isvalue(vlt_MyRec); + // shall return false

+

+

vl_MyRec + := { f1 := 5, f2 := omit +}

+

vlt_MyRec +:= { f1 := ?, f2 := 5 }

+

+

isvalue(vl_MyRec); + // shall return true

+

isvalue(vl_MyRec.f2); + // shall return false; +

+

isvalue(vlt_MyRec); + // shall return false

+

isvalue(vlt_MyRec.f1); +// shall return false

+

isvalue(vlt_MyRec.f2); +// shall return true

+


+

+

vlt_MyRec.f2 +:= omit;

+


+

+

isvalue(vlt_MyRec.f2); +// shall return false

+


+

+

+EXAMPLE 4: Union types

+

type +union +MyUnion {

+

integer +ch1,

+

integer +ch2

+

}

+

+

template +MyUnion ts_MyUnion := { ch1 := 5 }

+

template +MyUnion tr_MyUnion := { ch1 := ? }

+


+

+

+

isvalue(ts_MyUnion); + // shall return true

+

isvalue(tr_MyUnion); + // shall return false

+

isvalue(tr_MyUnion.ch1); +// shall return false

+

// +note, this is different from ischosen(tr_MyUnion.ch1) +as isvalue checks the content of the +

+

// +choice ch1, while ischosen is checking if ch1 has been selected or +not

+

isvalue(tr_MyUnion.ch2); +// shall return false

+


+

+

+EXAMPLE 5: Nested types

+

type +record +MyRecord {

+

MyUnion +u optional +

+

}

+

+

template +MyRecord ts_MyRecord := { u := ts_MyUnion }

+

template +MyRecord tr_MyRecord := { u := tr_MyUnion }

+

+ template +MyRecord ts_MyRecord2 := { u := omit }

+


+

+

isvalue(ts_MyRecord.u.ch1); +// shall return true

+

isvalue(tr_MyRecord.u.ch1); +// shall return false

+

isvalue(tr_MyRecord.u.ch2); +// shall return false

+

+ isvalue(ts_MyRecord.u.ch2); +// shall return false

+


+

+

+C.3.4 The IsBound function

+

isbound(in +template +any_type inpar) return boolean;

+


+

+

+This function is allowed for templates of all +data types. The function shall return true, +if inpar is at least +partially initialized. If inpar +is of a record or +set type, omitted +optional fields shall be considered as initialized, i.e. the function +shall also return true +if at least one optional field of inpar +is set to omit. The +function shall return false +otherwise. Inaccessible fields (e.g. non-selected alternatives of +union types, +subfields of omitted record and set types or subfields of +non-selected union fields) shall be considered as uninitialized, i.e. +isbound shall return for them false.

+

+The null value +assigned to default and component references shall be considered as +concrete values.

+

+The application of the isbound +function to a semantically correct template reference shall never +result in an error, even if using the reference would normally cause +a runtime error when being used e.g. in an expression. +

+

+EXAMPLE 1: Simple types

+

+ var +template +charstring +vlt_char; +

+

isbound(vlt_char); + // shall return false as v_char is uninitialized;

+


+

+

vlt_char +:= "AB?D"; // template containing a specific value

+

isbound(vlt_char); + // shall return true

+


+

+

vlt_char +:= pattern +"AB?D"; //template containing a pattern matching

+

isbound(vlt_char); + // shall return true

+


+

+

+EXAMPLE 2: Special types

+

var +default +vl_default := null;

+

isbound(vl_default); + // shall return true

+


+

+

+EXAMPLE 3: Record/set types

+

type +record +MyRec {

+

integer +f1,

+

MyRec +f2 optional

+

}

+


+

+

var +MyRec vl_MyRec;

+

isbound(vl_MyRec); + // shall return false

+


+

+

vl_MyRec.f2 +:= omit;

+

isbound(vl_MyRec); + // shall return true as vl_MyRec is partially initialized,

+

+ // field f2 is set to omit

+

+

vl_MyRec + := { f1 := 5, f2 := omit +}

+

isbound(vl_MyRec); + // shall return true as vl_MyRec is completely initialized

+

isbound(vl_MyRec.f2.f1); + // shall return false as vl_MyRec.f2.f1 is inaccessible

+

isbound(vl_MyRec.f1/0); + // shall cause an error already during evaluating the argument

+

+ // as division by zero is not allowed

+


+

+

type +union +MyUnion {

+

integer +ch1,

+

MyRec + ch2

+

}

+

+

var +template +MyUnion vlt_MyUnion;

+

isbound(vlt_MyUnion); + // shall return false, as vlt_MyUnion is uninitialized

+

isbound(vlt_MyUnion.ch1); + // shall return false, as alternative ch1 is uninitialized

+


+

+

vlt_MyUnion +:= { ch1 := 5 };

+

isbound(vlt_MyUnion); + // shall return true

+

isbound(vlt_MyUnion.ch1); + // shall return true

+

isbound(vlt_MyUnion.ch2); + // shall return false as the ch2 alternative is not selected

+

isbound(vlt_MyUnion.ch2.f1); +// shall return false as the field f1 is inaccessible

+

isbound(vlt_MyUnion.ch1/0); + // shall cause an error already during evaluating the argument

+

+ // as division by zero is not allowed

+


+

+

+C.4 String/list handling functions

+

+C.4.1 The Regexp function

+

regexp(

+

+ in +template +(value) +any_character_string_type inpar,

+

+ in +template +(present) +any_character_string_type +expression,

+

+ in +integer groupno

+

+ ) +return +any_character_string_type

+


+

+

+This function first matches the parameter inpar +(or in case inpar is a +template, its value equivalent)against the expression +in the second parameter according to the pattern matching specified +in clause B.1.5. If expression +is not a template containing a pattern matching mechanism, it shall +be processed by this predefined function as if it was a character +pattern as described in clause B.1.5.

+

+If this matching is unsuccessful, an empty string shall be returned.

+

+If this matching is successful, the substring of inpar +shall be returned, which matched the groupno-s +group of expression during +the matching. Group numbers are assigned by the order of occurrences +of the opening bracket of a group and counted starting from 0 by step +1.

+

+The parameters inpar and +expression shall be a +value or a template of charstring +or universal charstring +types. In case inpar is a +template, it shall contain the specific value matching mechanism +only. The type of expression +shall be universal +charstring only +when the type of inpar is +universal +charstring. +When expression is a +template it shall contain the specific value or pattern matching +mechanisms only. The parameter groupno +shall be a non-negative integer. The type of the character string +returned is the root type of inpar.

+

+NOTE: This function +differs from other well-known regular expression matching +implementations in that: +

+

+a) It shall match the whole inpar string instead of only a substring.

+

+b) It starts counting groups from 0, while in some other +implementations the first group is referenced by 1 and the whole +substring matched by the expression is referenced by 0. +

+

+In addition to the general error causes in +clause 16.1.2, error causes are: +

+
    +
  • + when inpar is a template, + it contains other matching mechanism than specific value or + character pattern;

    +
  • + when expression + is a template, it contains other matching mechanism than specific + value or character pattern;

    +
  • + inpar is of charstring + type and expression + is of universal charstring type;

    +
  • + groupno is a negative + integer;

    +
  • + there is no groupno + -s group in expression.

    +
+

+EXAMPLE:

+

// +Given

+

var +charstring myInput := " simple +text for a regexp example ";

+

var +charstring myString;

+

+

myString +:= regexp(myInput,charstring:"?+(text)?+",0) +//will return "text"

+


+

+

myString +:= regexp(myInput,charstring:"?+(text)?+",1) +//causes an error as there is

+

+ //no group with +index 1

+

myString +:= regexp(myInput,charstring:"(?+)(text)(?+)",0) +//will return " simple "

+


+

+

myString +:= regexp(myInput,charstring:"(?+)(text)(?+)",2) +//will return

+

+ //" for +a regexp example "

+

myString +:= regexp(myInput,charstring:"((?+)(text)(?+))",0) +//will return the whole inpar,
+ //i.e. " simple text for a regexp example "

+

myString +:= regexp(myInput,charstring:"(([ +]+)(text)(?+))",0) //will return an empty string
+ //as expression does not +matches inpar

+

myString +:= regexp(myInput,universal +charstring:"?+(text)?+",0) +//will cause an error as

+

+ // inpar is of type +charstring, while +

+

+ // expression is of +type universal charstring

+


+

+

myInput +:= " date: 2001-10-20 ; msgno: 17; exp "

+

var +template +charstring +myPattern := pattern"([ +/t]#(,)date:[ \d\-]#(,);[ /t]#(,)msgno: (\d#(1,3)); +(exp)#(0,1))"
//please +note, that only the very first opening bracket and the bracket before +"\d" denotes
+

+

// +groups; "#(,)", "#(1,3)" and "#(0,1)" +denotes matching the preceding expression several time

+


+

+

+

myString +:= regexp(myInput, +myPattern,1) //will return the value "17".

+


+

+

//An +example of a wrapper function to count groups from 1 and return the +complete p_inpar

+

//if +p_groupno equals 0

+

function +regexp0(

+

+ in +template +charstring +p_inpar,

+

+ in +template +charstring +p_expression,

+

+ in +integer +p_groupno)

+

return +charstring +{

+

var +template +charstring +extended_expr := pattern +"({p expression})";

+

return +regexp(p +inpar, extended_expr, p_groupno )

+

}

+


+

+

+C.4.2 The Substring function

+

substr(
+ in template +(present) +any_string_or_sequence_type inpar, +
in integer +index,
in integer +count
) +return +input_string_or_sequence_type

+


+

+

+This function returns a substring or subsequence from a value that is +of a binary string type (bitstring, +hexstring, +octetstring), a +character string type (charstring, +universal +charstring), or a +sequence type (record of, +set of or array). +The type of the substring or subsequence returned is the root type of +the input parameter. The starting point of substring or subsequence +to return is defined by the second parameter (index). +Indexing starts from zero. The third input parameter (count) +defines the length of the substring or subsequence to be returned. +The units of length for string types are as defined in table 4 of the +present document. For sequence types, the unit of length is element.

+

+NOTE: Please note that the root types of arrays is record +of, therefore if inpar +is an array the returned type is record +of. This, in some cases, may lead to different indexing in +inpar and in the returned +value.

+

+When used on templates of character string types, only the inside +matching mechanisms AnyElement and AnyElementsOrNone +are allowed in inpar +and the function shall return the character representation of +the matching mechanisms, i.e. "?" for AnyElement and +"*" for AnyElementsOrNone. +When inpar is a template of binary string or sequence type or is an +array, only the specific value and AnyElement matching +mechanisms are allowed and the substring or subsequence to be +returned shall not contain AnyElement.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + index is less than zero;

    +
  • + count is less than zero;

    +
  • + index+count + is greater than lengthof(inpar);

    +
  • + inpar is a template of a + character string type and contains a matching mechanism other than + AnyElement or AnyElementsOrNone;

    +
  • + inpar is a template of a + binary string or sequence type or array and it contains other + matching mechanism as specific value and AnyElement;

    +
  • + inpar is a template of a + binary string or sequence type or array and the substring or + subsequence to be returned contains the AnyElement matching + mechanism.

    +
+

+EXAMPLE:

+

substr('00100110'B, +3, 4) // returns '0011'B

+


+

+

substr('ABCDEF'H, +2, 3) // returns 'CDE'H

+


+

+

substr('01AB23CD'O, +1, 2) // returns 'AB23'O

+


+

+

substr("My +name is JJ", 11, 2) // returns "JJ"

+


+

+

substr({ +4, 5, 6 }, 1, 2) // returns {5, 6}

+


+

+

+C.4.3 The Replace function

+

replace(
+ in any_string_or_sequence_type inpar, +
in integer +index,
+in integer +len,
+

+

+ in any_string_or_sequence_type +repl
) +return +any_string_or_sequence type

+


+

+

+This function replaces the substring or subsequence of value inpar +at index index of length +len with the string or +sequence value repl and +returns the resulting string or sequence. inparshall +not be modified. If len is +0 the string or sequence +repl is inserted. If index +is 0, repl +is inserted at the beginning of inpar. +If index is +lengthof(inpar), +repl is inserted at the +end of inpar. inparand +repl, and the returned +string or sequence shall be of the same root type. The function +replace can be applied to bitstring, +hexstring, +octetstring, or any +character string, record +of, set +of, or +arrays. Note that indexing in strings starts from zero. +

+

+NOTE: Please note that the root types of arrays is record +of, therefore if inpar +or repl or both are an +array, the returned type is record +of. This, in some cases, may lead to different indexing in +inpar and/or repl +and in the returned value.

+

+In addition to the general error causes in +clause 16.1.2, error causes are: +

+
    +
  • + inpar or repl + are not of string, record + of, set + of, or + array type;

    +
  • + inpar and repl + are of different root type;

    +
  • + index is less than 0 + or greater than lengthof(inpar);

    +
  • + len is less than 0 + or greater than lengthof(inpar);

    +
  • + index+len is greater than + lengthof(inpar).

    +
+

+EXAMPLE:

+

replace +('00000110'B, 1, 3, '111'B) // returns '01110110'B

+


+

+

replace +('ABCDEF'H, 0, 2, '123'H) // returns '123CDEF'H

+


+

+

replace +('01AB23CD'O, 2, 1, 'FF96'O) // returns '01ABFF96CD'O

+


+

+

replace +("My name is JJ", 11, 1, "xx") // returns "My +name is xxJ"

+


+

+

replace +("My name is JJ", 11, 0, +"xx") // returns "My name is xxJJ"

+


+

+

replace +("My name is JJ", 2, 2, +"x") // returns "Myxame is JJ", +

+


+

+

replace +("My name is JJ", 12, 2, +"xx") // produces test case error

+


+

+

replace +("My name is JJ", 13, 2, +"xx") // produces test case error

+


+

+

replace +("My name is JJ", 13, 0, +"xx") // returns "My name is JJxx"

+


+

+

+C.5 Codec functions

+

+C.5.1 The encoding function

+

+ encvalue(in +template (value) any_type +inpar) +return bitstring

+

+
+

+

+The encvalue function +encodes a value or template into a bitstring. When the actual +parameter that is passed to inpar +is a template, it shall resolve to a specific value (the same +restrictions apply as for the argument of the send +statement). The returned bitstring represents the encoded value of +inpar, however, the TTCN-3 +test system need not make any check on its correctness.

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + Encoding fails due to a runtime system problem (i.e. no encoding + function exists for the actual type of inpar).

    +
+

+C.5.2 The decoding function

+

decvalue(inout +bitstring encoded_value, +out any_type +decoded_value) +return integer

+


+

+

+The decvalue function +decodes a bitstring into a value. The test system shall suppose that +the bitstring encoded_value +represents an encoded instance of the actual type of decoded_value.

+

+If the decoding was successful, then the used bits are removed from +the parameter encoded_value, +the rest is returned (in the parameter encoded_value), +and the decoded value is returned in the parameter decoded_value. +If the decoding was unsuccessful, the actual parameters for +encoded_value and +decoded_value are not +changed. The function shall return an integer value to indicate +success or failure of the decoding below:

+
    +
  • + The return value 0 indicates that decoding was successful.

    +
  • + The return value 1 indicates an unspecified cause of decoding + failure.

    +
  • + The return value 2 indicates that decoding could not be completed as + encoded_value did not + contain enough bits.

    +
+

+The restrictions in clause 16.1.2 apply. If any +of these restrictions is applicable, the return +value shall be 1.

+

+C.6 Other functions

+

+C.6.1 The random number generator function

+

+ rnd([in +float seed]) +return float

+

+
+

+

+The rnd function +returns a (pseudo) random number less than 1 but greater or equal to +0. The random number generator is initialized by means of an optional +seed value (a numerical float value). If no new seed is provided, the +last generated number will be used as seed for the next random +number. Without a previous initialization a value calculated from the +system time will be used as seed value when rnd +is used the first time.

+

+Each time the rnd function +is initialized with the same seed value, it shall repeat the same +sequence of random numbers.

+

+To produce a random integers in a given range, the following formula +can be used:

+

float2int(int2float(upperbound +- lowerbound ++1)*rnd()) ++ lowerbound

+

// +Here, upperbound and +lowerbound denote +highest and lowest number in range.

+


+

+

+In addition to the general error causes in +clause 16.1.2, error causes are:

+
    +
  • + seed is infinity, + -infinity or + not_a_number.

    +
+

+C.6.2 The testcasename function

+

testcasename +() return +charstring

+


+

+

+The testcasename +function shall return the unqualified name of the actually executing +test case.

+

+EXAMPLE 1:

+

module +MyTCModule {

+

:

+

testcase +MyTestCase1 () runs +on MTC +system TSI

+

{

+

var +charstring +v_TCname := testcasename +();

+

+ // will return the charstring "MyTestCase1"

+

:

+

}

+

:

+

testcase +MyTestCase2 () runs on MTC system TSI

+

{

+

:

+

}

+

:

+

}

+

module +MyTSModule {

+

:

+

function +MyStartAPTC() runs +on PTC {

+

var +charstring +v_TCname := testcasename +();

+

+ // will return charstring "MyTestCase1", if the function +is
// called by a test component during the execution of +MyTestCase1
+

+

+ // will return charstring "MyTestCase2", if the function +is
// called by a test component when MyTestCase2 is being +executed

+

}

+

:

+

}

+


+

+

+When the function testcasename +is called if the control part is being executed but no testcase, it +shall return the empty string.

+

+EXAMPLE 2:

+

module +MyModule {

+

:

+

control

+

{

+

var +charstring +v_TCname := testcasename +() // will return charstring ""

+

:

+

}

+

:

+

}

+


+

+

+The general error causes in clause 16.1.2 apply.

+

+Annex D (normative):
Preprocessing macros

+

+This annex defines a set of preprocessing macros. A preprocessing +macro is a macro that is replaced by a preprocessor or a compiler +with a charstring +or integer value +respectively before compilation. Preprocessing macros shall not be +replaced inside literal charstring +values and templates and not in TTCN-3 comments. In the TTCN-3 code, +it can be used like a charstring +or an integer value +respectively. +

+

+D.1 Preprocessing macro __MODULE__

+

+The __MODULE__ +preprocessing macro denotes the module name in which the macro is +used. A preprocessor or compiler shall replace all occurrences of +__MODULE__ with the +actual module name in form of a charstring +value.

+

+D.2 Preprocessing macro __FILE__

+

+The __FILE__ +preprocessing macro denotes the canonical (absolute) file name, i.e. +the full path and the basic file name, in which the macro is used. A +preprocessor or compiler shall replace all occurrences of __FILE__ +with the actual canonical (absolute) file name in form of a +charstring value.

+

+NOTE: The format of the canonical file name depends on the operating +system and is not specified by the present document.

+

+EXAMPLE:

+

const +charstring +MyConst:= __FILE__;

+

//MyConst +is for example "/home/myhome/MyTest.ttcn"

+

+D.3 Preprocessing macro __BFILE__

+

+The __BFILE__ +preprocessing macro denotes the basic (relative) file name, i.e. +without path, in which the macro is used. A preprocessor or compiler +shall replace all occurrences of __BFILE__ +with the actual basic (relative) file name in form of a charstring +value.

+

+NOTE: The format of the basic file name depends on the operating +system and is not specified by the present document.

+

+EXAMPLE:

+

const +charstring +MyConst:= __BFILE__;

+

// +MyConst is for example "MyTest.ttcn"

+

+D.4 Preprocessing macro __LINE__

+

+The __LINE__ +preprocessing macro denotes the line number of the file in which the +macro is used. A preprocessor or compiler shall replace each +occurrence of __LINE__ +with the actual line number in form of an integer +value. +

+

+A file starts with line number 1. +Each newline shall increase the line number by 1 +(see clause A.1.5.1). Also newlines of commented lines shall increase +the line number by 1.

+

+D.5 Preprocessing macro __SCOPE__

+

+The __SCOPE__ +preprocessing macro denotes the unqualified name of the lowest named +basic scope unit in which the macro is used. According to clause 5.2, +basic scope units of TTCN-3 are module definitions part, module +control part, component types, functions, altsteps, test cases, +statement blocks, templates and user defined named types. Statement +blocks have no name and therefore, a __SCOPE__ +preprocessing macro used in a statement block refers to the next +higher named basic scope unit.

+

+A preprocessor or compiler shall replace all occurrences of __SCOPE__ +with a charstring +value which includes:

+
    +
  1. + the module name, if the lowest named scope unit is the module + definitions part;

    +
  2. + "control", + if the lowest named scope unit is the module control part;

    +
  3. + a component type name, if the lowest named scope unit is a component + type definition;

    +
  4. + a test case name, if the lowest named scope unit is a test case + definition;

    +
  5. + an altstep name, if the lowest named scope is an altstep definition;

    +
  6. + a function name, if the lowest named scope is a function definition;

    +
  7. + a template name, if the lowest named scope is a template definition + (local or global); or

    +
  8. + the type name, if the lowest named scope is a user defined named + type definition.

    +
+

+NOTE: The __SCOPE__ +preprocessing macro cannot be used to retrieve the names of other +kinds of definitions, like for example names of groups of definitions +or names of global constants.

+

+EXAMPLE 1: Using __SCOPE__ in constant and template definitions

+

module +MyModule

+

{

+

const +charstring +MyConst := __SCOPE__; // MyConst contains "MyModule"

+

template +charstring +MyTemplate := __SCOPE__; // MyTemplate contains "MyTemplate"

+


+

+

type +record +MyRecord1 +

+

{

+

charstring +field11,

+

charstring +field12

+

}

+


+

+

template +MyRecord1 MyTemplate1 (charstring p := __SCOPE__) := +

+

{

+

field11 +:= p,

+

field12 +:= __SCOPE__ // field12 contains "MyTemplate1"

+

}

+

+

function +MyFunction() {

+

+ var +template +MyRecord1 v_Myvar1 := MyTemplate1;

+

+ // field11 of MyTemplate1 will contain the default value of +parameter p,

+

+ // i.e. "MyTemplate1"

+

};

+

}

+


+

+

+EXAMPLE 2: Using __SCOPE__ in a structured type scope

+

type +record +MyRecord2 {

+

charstring +field21,

+

charstring +field22 ("a", "b", __SCOPE__)

+

+ // list constrained field: a legal values are "a", "b" +or "MyRecord2"

+

}

+


+

+

+ template +MyRecord2 MyTemplate2 := {

+

+ field21 +:= "a",

+

field22 +:= "MyRecord2" // a valid specific value matching

+

}

+


+

+

+ template +MyRecord2 MyTemplate3 := {

+

+ field21 +:= "a",

+

field22 +:= __SCOPE__

+

+ // Causes an error as __SCOPE__ is replaced with "MyTemplate3",

+

+ // which is violating the list constraint of field22

+

}

+

+EXAMPLE 3: Using __SCOPE__ in an embedded structured type scope

+

type +record +MyRecord3 {

+

charstring +field31,

+

record +{

+

charstring +field321 ("a", "b", __SCOPE__)

+

+ // list constrained field: a legal value shall be "a", +"b" or "MyRecord3"

+

} +field32

+

}

+


+

+

template +MyRecord3 MyTemplate4 := +

+

{

+

field31 +:= "a",

+

field32 +:=

+

{

+

field321 +:= "MyRecord3" // a valid specific value matching

+

+ }

+

}

+


+

+

template +MyRecord3 MyTemplate5 := +

+

{

+

field31 +:= "a",

+

field32 +:=

+

{

+

field321 +:= __SCOPE__

+

// +Causes and error as __SCOPE__ is replaced with "MyTemplate5", + +

+

// +which is violating the list constraint of field321

+

}

+

}

+


+

+


+

+

+Annex E (informative):
Library of Useful Types

+

+E.1 Limitations

+

+Names of types added to this library are to be unique within the +whole language and within the library (i.e. are not to be one of the +names defined in annex C). Names defined in this library are not to +be used by TTCN‑3 users as identifiers of other definitions +than given in this annex.

+

+NOTE: Therefore type definitions given in this annex may be repeated +in TTCN‑3 modules but no type distinct from the one specified +in this annex can be defined with one of the identifiers used in this +annex.

+

+E.2 Useful TTCN‑3 types

+

+E.2.1 Useful simple basic types

+

E.2.1.0 Signed and unsigned single +byte integers

+

+These types support integer values of the range from -128 to 127 for +the signed and from 0 to 255 for the unsigned type. The value +notation for these types is the same as the value notation for the +integer type. Values of these types are to be encoded and decoded as +they were represented on a single byte within the system +independently from the actual representation form used.

+

+NOTE: Encoding of values of these types may be the same or may differ +from each other and from the encoding of the integer type (the root +type of these useful types) depending on the actual encoding rules +used. Details of encoding rules are out of the scope of the present +document.

+

+Type definitions for these types are:

+

type +integer byte (-128 .. 127) with +{ variant "8 +bit" };

+


+

+

type +integer unsignedbyte (0 .. 255) with +{ variant "unsigned +8 bit" };

+


+

+

E.2.1.1 Signed and unsigned short +integers

+

+These types support integer values of the range from -32 768 to 32 +767 for the signed and from 0 to 65 535 for the unsigned type. The +value notation for these types is the same as the value notation for +the integer type. Values of these types are to be encoded and decoded +as they were represented on two bytes within the system independently +from the actual representation form used.

+

+NOTE: Encoding of values of these types may be the same or may differ +from each other and from the encoding of the integer type (the root +type of these useful types) depending on the actual encoding rules +used. Details of encoding rules are out of the scope of the present +document.

+

+Type definitions for these types are:

+

type +integer short (-32768 .. 32767) with +{ variant +"16 bit" };

+


+

+

type +integer unsignedshort (0 .. +65535) with +{ variant +"unsigned 16 bit" };

+


+

+

E.2.1.2 Signed and unsigned long +integers

+

+These types support integer values of the range from -2 147 483 648 +to 2 147 483 647 for the signed and from 0 to 4 294 967 295 +for the unsigned type. The value notation for these types is the same +as the value notation for the integer type. Values of these types are +to be encoded and decoded as they were represented on four bytes +within the system independently from the actual representation form +used.

+

+NOTE: Encoding of values of these types may be the same or may differ +from each other and from the encoding of the integer type (the root +type of these useful types) depending on the actual encoding rules +used. Details of encoding rules are out of the scope of the present +document.

+

+Type definitions for these types are:

+

type +integer long (-2147483648 .. +2147483647)
with +{ variant +"32 bit" };

+


+

+

type +integer unsignedlong (0 .. +4294967295)
with +{ variant +"unsigned 32 bit" };

+


+

+

E.2.1.3 Signed and unsigned longlong +integers

+

+These types support integer values of the range from -9 223 372 036 +854 775 808 to 9 223 372 036 854 775 807 +for the signed and from 0 to 18 446 744 073 709 551 615 for the +unsigned type. The value notation for these types is the same as the +value notation for the integer type. Values of these types are to be +encoded and decoded as they were represented on eight bytes within +the system independently from the actual representation form used.

+

+NOTE: Encoding of values of these types may be the same or may differ +from each other and from the encoding of the integer type (the root +type of these useful types) depending on the actual encoding rules +used. Details of encoding rules are out of the scope of the present +document.

+

+Type definitions for these types are:

+

type +integer longlong (-9223372036854775808 +.. 9223372036854775807)
with +{ variant +"64 bit" };

+


+

+

type +integer unsignedlonglong (0 .. +18446744073709551615)
with +{ variant +"unsigned 64 bit" };

+


+

+

E.2.1.4 IEEE 754 floats

+

+These types support the ANSI/IEEE 754 [6] for binary floating-point +arithmetic. The type IEEE 754 [6] float supports floating-point +numbers with base 10, exponent of size 8, mantissa of size 23 and a +sign bit. The type IEEE 754 [6] double supports +floating-point numbers with base 10, exponent of size 11, mantissa of +size 52 and a sign bit. The type IEEE 754 [6] extfloat +supports floating-point numbers with base 10, minimal exponent of +size 11, minimal mantissa of size 32 and a sign bit. The type +IEEE 754 [6] extdouble +supports floating-point numbers with base 10, minimal exponent +of size 15, minimal mantissa of size 64 and a sign bit.

+

+Values of these types are to be encoded and decoded according to the +IEEE 754 [6] definitions. The value notation for these types is +the same as the value notation for the float type (base 10).

+

+NOTE: Precise encoding of values of this type depends on the actual +encoding rules used. Details of encoding rules are out of the scope +of the present document.

+

+Type definitions for these types are:

+

type float IEEE754float with +{ variant +"IEEE754 float" };

+


+

+

type float IEEE754double with +{ variant +"IEEE754 double" };

+


+

+

type float IEEE754extfloat with +{ variant +"IEEE754 extended float" };

+


+

+

type float IEEE754extdouble with +{ variant +"IEEE754 extended double" };

+


+

+

+E.2.2 Useful character string types

+

E.2.2.0 UTF-8 character string +"utf8string"

+

+This type supports the whole character set of the TTCN‑3 type +universal charstring +(see paragraph d) of clause 6.1.1). Its +distinguished values are zero, one, or more characters from this set. +Values of this type are entirely (e.g. each character of the value +individually) to be encoded and decoded according to the UCS +Transformation Format 8 (UTF-8) as +defined in annex R of ISO/IEC 10646 [2]. +The value notation for this type is the same as the value notation +for the universal +charstring type.

+

+The type definition for this type is:

+

type +universal +charstring +utf8string with +{ variant +"UTF-8" };

+


+

+

E.2.2.1 BMP character string +"bmpstring"

+

+This type supports the Basic Multilingual Plane (BMP) character set +of ISO/IEC 10646 [2]. The BMP represents all characters of plane 00 +of group 00 of the Universal Multiple-octet coded Character Set. Its +distinguished values are zero, one, or more characters from the BMP. +Values of this type are entirely (e.g. each character of the value +individually) to be encoded and decoded according to the UCS-2 +coded representation form (see clause +14.1 of ISO/IEC 10646 [2]). The +value notation for this type is the same as the value notation for +the universal +charstring type.

+

+NOTE: The type "bmpstring" supports a subset of the TTCN‑3 +type universal charstring.

+

+The type definition for this type is:

+

type +universal charstring +bmpstring ( +char ( 0,0,0,0 ) .. char ( 0,0,255,255) )

+

with +{ variant +"UCS-2" };

+


+

+

E.2.2.2 UTF-16 character string +"utf16string"

+

+This type supports all characters of planes 00 to 16 of group 00 of +the Universal Multiple-octet coded Character Set (see +ISO/IEC 10646 [2]). Its distinguished +values are zero, one, or more characters from this set. Values of +this type are entirely (e.g. each character of the value +individually) to be encoded and decoded according to the UCS +Transformation Format 16 (UTF-16) as +defined in annex Q of ISO/IEC 10646 [2]. +The value notation for this type is the same as the value notation +for the universal +charstring type.

+

+NOTE: The type "utf16string" supports a subset of the +TTCN‑3 type universal +charstring.

+

+The type definition for this type is:

+

type +universal charstring +utf16string ( +char ( 0,0,0,0 ) .. char ( 0,16,255,255) )
with +{ variant +"UTF-16" };

+


+

+

E.2.2.3 ISO/IEC 10646 character +string "iso8859string"

+

+This type supports all characters in all alphabets defined in the +multiparty standard ISO/IEC 10646 [2]. Its +distinguished values are zero, one, or more characters from the +ISO/IEC 10646 [2] character set. Values +of this type are entirely
(e.g. each character of the value +individually) to be encoded and decoded according to the coded +representation as specified in
ISO/IEC 10646 [2] +(an 8-bit coding). The value notation +for this type is the same as the value notation for the universal +charstring type.

+

+NOTE 1: The type "iso8859string" supports a subset of the +TTCN‑3 type universal +charstring.

+

+NOTE 2: In each ISO/IEC 10646 [2] alphabet the lower part of the +character set table (positions 02/00 to 07/14) is compatible with the +Recommendation ITU‑T T.50 [4] character set. Hence +all extra language specific characters are defined for the upper part +of the character table only (positions 10/00 to 15/15). +

+

+The type definition for this type is:

+

type +universal charstring +iso8859string ( +char ( 0,0,0,0 ) .. char ( 0,0,0,255) )
with +{ variant +"8 bit" };

+


+

+

+E.2.2.4 Status values for TTCN-3 objects

+

+Type and constants defined in this clause support the secure usage of +the checkstate port operation defined in clause 22.5.5.

+

+The type definition for this type is:

+

type +charstring +objState ("Started", +"Halted", +"Stopped", +"Connected", +"Mapped", +"Linked");

+


+

+


+

+

+Useful constant definitions for working with object states are:

+

const +objState STARTED +:= "Started";

+

const +objState HALTED +:= "Halted";

+

const +objState STOPPED +:= "Stopped";

+

const +objState +CONNECTED := "Connected";

+

const +objState MAPPED +:= "Mapped";

+

const +objState LINKED +:= "Linked";

+


+

+

+E.2.3 Useful structured types

+

E.2.3.0 Fixed-point decimal literal

+

+This type supports the use of fixed-point decimal literal as defined +in the IDL Syntax and Semantics version 2.6 [i.10]. It is specified +by an integer part, a decimal point and a fraction part. The integer +and fraction parts both consist of a sequence of decimal (base 10) +digits. The number of digits is stored in "digits" and the +size of the fraction part is given in "scale". The digits +itself are stored in "value_". Value notation for this type +is the same as the value notation for the record type. Values of this +type are to be encoded and decoded as IDL fixed point decimal values.

+

+NOTE: Precise encoding of values of this type depends on the actual +encoding rules used. Details of encoding rules are out of the scope +of the present document.

+

+The type definition for this type is:

+

type +record IDLfixed +{
unsignedshort digits,
short scale,
charstring value_
}
with +{ variant +"IDL:fixed FORMAL/01-12-01 v.2.6" };

+


+

+

+E.2.4 Useful atomic string types

+

E.2.4.1 Single +Recommendation ITU‑T T.50 character type

+

+A type whose distinguished values are single +characters of the version of Recommendation ITU‑T T.50 +[4] complying to the International Reference Version (IRV) as +specified in clause 8.2 of Recommendation ITU‑T T.50 +[4] (see also note 1 to clause 6.1.1).

+

+The type definition for this type is:

+

type +charstring +char646 length (1);

+


+

+

+NOTE: The special string "8 bit" defined in clause 27.5 may +be used with this type to specify a given encoding for its values. +Also, other properties of the base type can be changed by using +attribute mechanisms.

+

E.2.4.2 Single universal character +type

+

+A type whose distinguished values are single +characters from ISO/IEC 10646 [2].

+

+The type definition for this type is:

+

type +universal charstring +uchar length (1);

+


+

+

+NOTE: Special strings defined in clause 27.5 except "8 bit" +may be used with this type to specify a given encoding for its +values. Also, other properties of the base type can be changed by +using attribute mechanisms.

+

E.2.4.3 Single bit type

+

+A type whose distinguished values are single +binary digits.

+

+The type definition for this type is:

+

+ type +bitstring bit length +(1);

+


+

+

E.2.4.4 Single hex type

+

+A type whose distinguished values are single +hexadecimal digits.

+

+The type definition for this type is:

+

type +hexstring hex length +(1);

+


+

+

E.2.4.5 Single octet type

+

+A type whose distinguished values are pairs of +hexadecimal digits.

+

+The type definition for this type is:

+

type +octetstring octet length +(1);

+


+

+

+Annex F (informative):
Operations on TTCN‑3 active objects

+

+This annex describes in a short form the semantics of operations on +active objects in TTCN‑3 being test components, timers and +ports. This dynamic behaviour is written in the form of state +machines with:

+
    +
  • + the states being named and identified as nodes;

    +
  • + the initial state being identified by an incoming arrow;

    +
  • + transitions between states connecting two states (not necessarily + different states) and identified as arrows;

    +
  • + transitions being marked with the enabling condition for that + transition (i.e. operation or statement calls) and the resulting + condition (for example a test case error), both are separated by + '/':

    +
+
    +
  • + operation and statement calls are the TTCN‑3 operations and + statements applicable to the object (written in bold);

    +
  • + error as a resulting condition means testcase error (written in + bold);

    +
  • + null as a resulting condition means that except of a possible state + change no other results apply (written in bold);

    +
  • + match/no match refers to the matching result of a transition + (written in bold);

    +
  • + concrete values are boolean or float results (written in bold + italics);

    +
  • + all other resulting conditions are textually described (written in + standard font);

    +
+
    +
  • + notes are used to explain further details of the state machine.

    +
+

+For further details, please refer to the operational semantics of +TTCN‑3 [1]. In case of any contradiction between this annex and +the operational semantics of TTCN‑3 [1] the latter takes +precedence.

+

+F.1 Test components

+

+F.1.1 Test component references

+

+Variables of test component types, the self +and mtc operations +are used to reference test components. The start, +stop, done +and running +operations are not directly applied on test components but on +component references. The test system has to decide if the operation +requested should affect the component object itself or other action +is appropriate (e.g. an error occurs when the reference of a stopped +PTC is used in a component start operation). The create +operation used to create PTCs returns a unique reference to the +created PTC, which is typically bound to a test component variable. +The behaviour related to test component variables themselves is shown +in figure F.1.

+

+

+

+NOTE: Whenever +a test component enters its error state, the error verdict is +assigned to its local verdict, the test case terminates and the +overall test case result will be error.

+

+
+

+

+Figure F.1: Handling of test +component references

+

+F.1.2 Dynamic behaviour of PTCs

+

+PTCs can be of non-alive type or alive-type. Non-alive type PTCs can +be in Inactive, Running and Killed states. Their dynamic behaviour is +shown in figure F.2.

+

+

+

+NOTE +1: (a) Stop can be either a stop, self.stop or a stop from another +test component.
(b) Kill can be either a kill, self.kill, a kill +from another test component or a kill from the test system
(in +error cases).

+

+NOTE +2: (a) Stop can be from another test component only.
(b) Kill can +be from another test component or from the test system (in error +cases) only.

+

+NOTE +3: Whenever a test component enters its error state, the error +verdict is assigned to its local verdict,
the test case terminates +and the overall test case result will be error.

+

+
+

+

+Figure F.2: Dynamic behaviour +of non-alive type PTCs

+

+Alive-type PTCs can be in Inactive, Running, Stopped and Killed +states. Their dynamic behaviour is shown in figure F.3.

+

+

+

+NOTE +1: (a) Stop can be either a stop, self.stop or a stop from another +test component.
(b) Kill can be either a kill, self.kill, a kill +from another test component or a kill from the test system
(in +error cases).

+

+NOTE +2: (a) Stop can be from another test component only.
(b) Kill can +be from another test component or from the test system (in error +cases) only.

+

+NOTE +3: Whenever a test component enters its error state, the error +verdict is assigned to its local verdict,
the test case terminates +and the overall test case result will be error.

+

+
+

+

+Figure F.3: Dynamic behaviour +of alive-type PTCs

+

+F.1.3 Dynamic behaviour of the MTC

+

+The MTC can be in Running or Killed state. The dynamic behaviour of +the MTC is shown in figure F.4.

+

+

+

+NOTE +1: (a) Stop can be either a stop, self.stop, a stop from another test +component.
(b) Kill can be either a kill, self.kill, a kill from +another test component or a kill from the test system
(in error +cases).

+

+NOTE +2: All remaining PTCs are to be killed as well and the testcase +terminates.

+

+NOTE +3: Whenever the MTC enters its error state, the error verdict is +assigned to its local verdict,
the test case terminates and the +overall test case result will be error.

+

+
+

+

+Figure F.4: Dynamic behaviour +of the MTC

+

+F.2 Timers

+

+Timers can be in Inactive, Running or Expired state. The dynamic +behaviour of a timer is shown in figure F.5.

+

+

+

+NOTE +1: For any scope unit, all timers in that scope being in Running +state constitute the running-timer list.

+

+NOTE +2: For any scope unit, all timers in that scope being in Expired +state constitute the timeout-list.

+

+NOTE +3: Whenever a timer enters its error state, the test component it +belongs to enters also its error state,
assigns a local error +verdict, the test case terminates and the overall test case result +will be error.

+

+
+

+

+Figure F.5: Dynamic behaviour +of timers

+

+F.3 Ports

+

+Ports can be in Started or Stopped state. As their behaviour is +rather complex, the state machine has been split into a state machine +giving the dynamic behaviour of configuration operations (i.e. +connect, disconnect, map and unmap), of port controlling operations +(i.e. start, stop and clear) and of communication operations (i.e. +send, receive, call, getcall, raise, catch, reply, getreply and +check). As trigger is a shorthand for an alt together with receive it +is not considered here.

+

+F.3.1 Configuration Operations

+

+The port configuration operations (i.e. connect, disconnect, map and +unmap) are indifferent to the state of the port. They show the +behaviour shown in figure F.6.

+

+

+

+NOTE +1: When creating a PTC the ports of that PTC are created and started; +when creating the MTC the ports of the MTC and the ports of the TSI +are created and started.

+

+NOTE +2: Whenever a port enters its error state, the test component it +belongs to enters also its error state, assigns a local error +verdict, the test case terminates and the overall test case result +will be error.

+

+
+

+

+Figure F.6: Dynamic behaviour +of ports: port configuration operations

+

+The transitions do not change the main state of the port, i.e. the +port remains in the Started or Stopped state.

+

+F.3.2 Port Controlling Operations

+

+The results of port controlling operations are shown in figure F.7.

+

+

+

+NOTE: When +creating a PTC the ports of that PTC are created and started; when +creating the MTC the ports of the MTC and the ports of the TSI are +created and started.

+

+
+

+

+Figure F.7: Dynamic behaviour of +ports: port controlling operations

+

+F.3.3 Communication Operations

+

+The results of the communication operations send, receive, call, +getcall, raise, catch, reply, getreply, check are shown in figure F.8.

+

+

+

+NOTE +1: When creating a PTC the ports of that PTC are created and started; +when creating a MTC the ports of the MTC and the ports of the TSI are +created and started.

+

+NOTE +2: A unique receiver exists if there is only one link for this port +or if the to address expression references a test component whose +port is linked to this port (a terminated test component is not a +legal receiver).

+

+NOTE +3: Whenever a port enters its error state, the test component it +belongs to enters also its error state, assigns a local error +verdict, the test case terminates and the overall test case result +will be error.

+

+NOTE +4: As trigger is a shorthand for an alt together with receive it is +not considered here.

+

+
+

+

+Figure F.8: Dynamic behaviour +of ports: communication operations

+

+Annex G (informative):
Deprecated language features

+

+G.1 Group style definition of module parameters

+

+Previous versions of the present document (up to and including +V2.2.1) required to use a group-like syntax shown in the example +below to declare module parameters. The module parameter syntax has +been unified with constant and variable declaration syntax in this +version but group-like syntax is not fully removed to leave a time +period for tool providers and users to change from the old syntax to +the new one. The group-like syntax of module parameter declarations +may be fully removed in a future edition of the standard.

+

+EXAMPLE (superfluous syntax):

+

module +MyModuleWithParameters

+

{ + +

+

modulepar +{ integer +TS_Par0, TS_Par1 := 0;

+

+ boolean +TS_Par2 := true

+

+ "};

+

modulepar +{ hexstring +TS_Par3 };

+

}

+


+

+

+G.2 Recursive import

+

+Previous versions of the present document (up to and including +V2.2.1) allowed to import named definitions implicitly, via importing +other definitions of the same module using them in a recursive +mode. This feature is deprecated and may be fully removed in a future +edition of the standard.

+

+G.3 Using all +in port type definitions

+

+Previous versions of the present document (up to and including +V2.2.1) allowed to use the all +keyword in port type definitions instead of an explicit list of types +and signatures allowed via the given port. This feature is deprecated +and may be fully removed in a future edition of the standard.

+

+G.4 sizeof for length of lists

+

+Previous versions of the present document (up to and including +V3.2.2) allowed to use the built-in function sizeof +to compute the length of record +of, set of, +and array. This has +been replaced by lengthof. +The use of sizeof +for list like types is deprecated and is planned to be fully removed +in the next published edition.

+

+G.5 sizeoftype predefined function

+

+The previous version of the present document (up to and including +V3.3.1) defined the sizeoftype +predefined function. This feature is deprecated in this version of +the standard and may be fully removed in the next published edition.

+

+G.6 Mixed ports

+

+Previous versions of the present document (up to and including +V3.2.2) allowed to use mixed +ports. This feature is deprecated and may be fully removed in a +future edition of the standard.

+

+G.7 External constants

+

+Previous versions of the present document (up to and including 3.4.1) +allowed to use external +constants. +This feature is deprecated and may be fully removed in a future +edition of the standard.

+

+G.8 Prefixing enumerated values

+

+Previous versions of the present document (up to and including +V4.2.1) did not explicitly specify how to resolve name conflicts +between imported enumerated values and global names defined in the +importing or in another TTCN-3 module. Some tool implementations +resolved this issue by allowing prefixing enumerated values with the +name of the module in which the given enumerated type is defined. +Version 4.3.1 added in clause 8.2.3.1 a rule to resolve such name +clashes, therefore prefixing enumerated values is deprecated.

+

+G.9 Record of/arrays not compatible to record; set of not compatible +with set

+

+Previous versions of the present document (up to and including +V4.3.1) did define special cases when record of types and +single-dimension arrays would be compatible with record types. These +rules are deprecated.

+

+Annex H (informative):
Bibliography

+
    +
  • + ETSI ES 201 873-1 (V1.1.2): "Methods for Testing and + Specification (MTS); The Tree and Tabular Combined Notation version + 3; Part 1: TTCN‑3 Core Language", 2001.

    +
  • + ETSI ES 201 873-1 (V2.2.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2003.

    +
  • + ETSI ES 201 873-1 (V3.1.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2005.

    +
  • + ETSI ES 201 873-1 (V3.2.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2007.

    +
  • + ETSI ES 201 873-1 (V3.3.2): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2008.

    +
  • + ETSI ES 201 873-1 (V3.4.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2008.

    +
  • + ETSI ES 201 873-1 (V4.1.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2009.

    +
  • + ETSI ES 201 873-1 (V4.2.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2010.

    +
  • + ETSI ES 201 873-1 (V4.3.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2011.

    +
  • + ETSI ES 201 873-1 (V4.4.1): "Methods for Testing and + Specification (MTS); The Testing and Test Control Notation version + 3; Part 1: TTCN‑3 Core Language", 2012.

    +
+

+History

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Document history

+
+

+ V1.1.1

+
+

+ March 2001

+
+

+ Publication

+
+

+ V1.1.2

+
+

+ June 2001

+
+

+ Publication

+
+

+ V2.2.1

+
+

+ February 2003

+
+

+ Publication

+
+

+ V3.1.1

+
+

+ June 2005

+
+

+ Publication

+
+

+ V3.2.1

+
+

+ February 2007

+
+

+ Publication

+
+

+ V3.3.2

+
+

+ April 2008

+
+

+ Publication

+
+

+ V3.4.1

+
+

+ September 2008

+
+

+ Publication

+
+

+ V4.1.1

+
+

+ June 2009

+
+

+ Publication

+
+

+ V4.2.1

+
+

+ July 2010

+
+

+ Publication

+
+

+ V4.3.1

+
+

+ June 2011

+
+

+ Publication

+
+

+ V4.4.1

+
+

+ April 2012

+
+

+ Publication

+
+

+ V4.5.1

+
+

+ February 2013

+
+

+ Membership Approval Procedure MV 20130423: 2013-02-22 to + 2013-04-23

+
+

+ V4.5.1

+
+

+ April 2013

+
+

+ Publication

+
+
+

+

+

+
+

+
+

+

+
+

+
+ + \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_20a77c06.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_20a77c06.gif new file mode 100644 index 0000000000000000000000000000000000000000..b0ee12d08748bffcdeaa6c4266cd39d1138dc4da Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_20a77c06.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_22d9d3eb.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_22d9d3eb.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0228a6ddbec0ef2f636528e74cf69cc8c6b57d5 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_22d9d3eb.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_2b7de95d.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_2b7de95d.gif new file mode 100644 index 0000000000000000000000000000000000000000..42b9866bceac572c38f159907e2c2a444947b084 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_2b7de95d.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3688aaba.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3688aaba.gif new file mode 100644 index 0000000000000000000000000000000000000000..d28db4bec152cb8036997d095cfb0f49d353feb0 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3688aaba.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3883a38a.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3883a38a.gif new file mode 100644 index 0000000000000000000000000000000000000000..0878f960231c1a2c579d6ee25e74c99fe790fc07 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3883a38a.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3c2fec5b.jpg b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3c2fec5b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23af763a2a12969bef9c463d6ba8fd9b48f86b4b Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_3c2fec5b.jpg differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_4d204714.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_4d204714.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f7061fd1354097668495c5a74d9ad17b8292a67 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_4d204714.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_5455009c.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_5455009c.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed949859b06c67ff99e523e073790c035110875a Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_5455009c.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_595533b8.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_595533b8.gif new file mode 100644 index 0000000000000000000000000000000000000000..63d067e776d587d9cad624cd21610e127f100e52 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_595533b8.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7040b273.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7040b273.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed4ade6265012b466a8d1d8881ea3cf606384f15 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7040b273.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_70a66af6.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_70a66af6.gif new file mode 100644 index 0000000000000000000000000000000000000000..93ac4a984b22d62fe3bb061aba2617538c1d4376 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_70a66af6.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_724c4101.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_724c4101.gif new file mode 100644 index 0000000000000000000000000000000000000000..66ff1213006764cc2bc664788139cc4c0a3f590c Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_724c4101.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7b4ce421.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7b4ce421.gif new file mode 100644 index 0000000000000000000000000000000000000000..868525c11178e7acbf40d987dfe51fdca48b64fc Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_7b4ce421.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m273863dc.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m273863dc.gif new file mode 100644 index 0000000000000000000000000000000000000000..7dad7db21fc64f3bf08cfe34f75ad839a898d878 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m273863dc.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m2d7dd249.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m2d7dd249.gif new file mode 100644 index 0000000000000000000000000000000000000000..473f6955ea5f9f23118eee163e4ce76599a03421 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m2d7dd249.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m35f84f93.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m35f84f93.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5b8621fbecec3fad6b72ea5b7983192d68f235b Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m35f84f93.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m3e9b29de.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m3e9b29de.gif new file mode 100644 index 0000000000000000000000000000000000000000..5fb08dcc61290b1297939c5cb6673d6442dc79d1 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m3e9b29de.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6135d354.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6135d354.gif new file mode 100644 index 0000000000000000000000000000000000000000..982c01f4f8d801e92b8488892f2a5fabf9f32fc2 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6135d354.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m68c2c716.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m68c2c716.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9368536d961c261e67368b0b83b51c9878a1df7 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m68c2c716.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6df2b60a.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6df2b60a.gif new file mode 100644 index 0000000000000000000000000000000000000000..7b0f01300498a83621a28fc332054917c78ea212 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6df2b60a.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6fb78de8.png b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6fb78de8.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b2e123f1c515b8adc8f5bbab6eeea6508dd594 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m6fb78de8.png differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m780148c2.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m780148c2.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8b01f63d196ebabc25eb9a454d49344ceef5e25 Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_m780148c2.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_mba4a21c.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_mba4a21c.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbdb6b67a70909b50738801be6947d58fb91c04a Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_mba4a21c.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_me2e72b1.gif b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_me2e72b1.gif new file mode 100644 index 0000000000000000000000000000000000000000..14164d5158b19d7c848cc83eab5211117f9d3fde Binary files /dev/null and b/standards/4.5.1/requirements-4.5.1/root/Documents/es_20187301v040501p_html.xhtml_resources/imgs/es_20187301v040501p_html_html_me2e72b1.gif differ diff --git a/standards/4.5.1/requirements-4.5.1/root/Reports.json b/standards/4.5.1/requirements-4.5.1/root/Reports.json new file mode 100644 index 0000000000000000000000000000000000000000..4e7df2f684669b39661f5f6b39408d9ad4dcc203 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Reports.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "ReportFolder" + }}, + "uuid": "6c52549b-8b38-4042-b150-a87a16a89b49" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements.json b/standards/4.5.1/requirements-4.5.1/root/Requirements.json new file mode 100644 index 0000000000000000000000000000000000000000..cc194c44a43b959ad042907b1c7eeaaa8d5a4d1d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + }}, + "uuid": "52ce6d41-fe0c-458d-b9f4-b5386fa93cd3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9bfe4b861438ca23140a0a275ec096317a4d1752 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c466c9fd-c11d-4c09-91aa-6ee197b0e2c6"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5 Basic language elements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2cd27c37-7a8b-4db4-8600-2956085b8762" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ca5aa189180b5dd625e87324f86703996a4cb614 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/375d0b27-92d4-48da-ae6e-f1afbd1a12bd"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The top-level unit of TTCN\u20113 is a module." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "38f87007-dba8-4aea-b727-06d9e0d19dfd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..9d1ca4f8948433220e8758737e418dcc985852f1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ec892193-fc53-48c5-a98a-ff32020cfd3d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "A module cannot be structured into sub-modules." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d38ecfa3-288a-496b-99c3-0c405af61b5c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..49abb318dc357adad00e4c7252322f17db5f1d29 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7fc11334-1215-4996-9f3a-96d87976551c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "A module can import definitions from other modules." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e576adea-2dd4-48b4-9b07-8d0658f96c2f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/04.json new file mode 100644 index 0000000000000000000000000000000000000000..5e0fe3ba54f1f1602cabc234649f1a139e844b80 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ac443e50-31c1-4bca-a6dd-c0d74364cb73"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Modules can have module parameters to allow test suite parameterization." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f95549a5-2bc9-490a-b93f-f00d4243e583" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05.json new file mode 100644 index 0000000000000000000000000000000000000000..df75b4ecdff3383c41ab8d74be1b54fd0cbc165e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1d9178b7-dc0a-4da9-8672-2378fe2e3ef0"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.1 Identifiers and keywords" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3bdb3009-dbf4-4755-9b6c-9618e8aab401" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/01.json new file mode 100644 index 0000000000000000000000000000000000000000..d4ab779d5c33e9aa4d097742a227d529b3970b39 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ed72d5f9-a914-429b-96fd-92fc8330331b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "TTCN\u20113 identifiers are case sensitive." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a552125d-4a81-48ea-a613-b2d61484de02" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/02.json new file mode 100644 index 0000000000000000000000000000000000000000..22510868653b160fde84cba56606e712caa4038c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a0b88a8d-b265-48af-a496-e21292eb8d6c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "TTCN\u20113 keywords shall neither be used as identifiers of TTCN\u20113 objects" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3dd900b8-60a1-4ff7-bf6d-8b27b195bc6e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/03.json new file mode 100644 index 0000000000000000000000000000000000000000..6fe7a8e47c8c1aaef5920f4267d736a1bd94747a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2f9a8bb0-0de3-4248-8d40-26d8cabbf9de"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "nor as identifiers of objects imported from modules of other languages." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f818db78-eccd-44e7-abd4-2417f95dcaa0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/04.json new file mode 100644 index 0000000000000000000000000000000000000000..2f60627d206703d260ee01185db6b0637ee6c57a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/05/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e35af517-91d0-47ad-a8db-6d7ca2b7c757"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The same rules apply to names of predefined TTCN\u20113 functions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "703a7af4-a865-43bd-8423-5ca5b4a7b235" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06.json new file mode 100644 index 0000000000000000000000000000000000000000..1ec9a1f41c017ca022802be843613cc657569137 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/47055023-58c4-4a22-8ba3-141daa9c7ff3"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.2 Scope rules" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a4d1d6b4-b663-4f05-be46-547ead459b7f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/01.json new file mode 100644 index 0000000000000000000000000000000000000000..fdda6d84abaab13b47159524fac49e08b1e2cf56 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0af72343-8349-4215-b194-7c1cabea5c21"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Definitions made in the module definitions part but outside of other scope units are globally visible" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "52b4eb66-953a-42d3-94a2-0b9267a14510" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/02.json new file mode 100644 index 0000000000000000000000000000000000000000..1ab98b801aa342fbb384dc20965a0fd92cd732bd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d149c6be-9984-41dc-b1c0-a204585a5371"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Identifiers imported from other modules are also globally visible throughout the importing module." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0c3e9ea8-e696-4e19-8cb4-f5d794a29cda" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/03.json new file mode 100644 index 0000000000000000000000000000000000000000..b5ec50eecd40585e91980c02e0e403c12abee02a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c9d822b6-82fd-44b2-9747-94ba19e7cdde"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Definitions made in the module control part have local visibility, i.e. can be used within the control part only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4de0c45c-a5d8-45e4-b651-c512406a91ce" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04.json new file mode 100644 index 0000000000000000000000000000000000000000..c1eabe4527bf1a9461f25cd0306b35580f990045 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/17b57a38-dbf6-400f-9e11-38c9bb79ed73"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Definitions made in a test component type may be used" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ebd71b1d-8cde-46f2-88b8-e885453d9e4b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..368e2741e26c7d49df6e3ca8fe44a72fd9a4c69c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a761e44d-2d5e-4b64-8e7c-2911c6d5a3ea"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "in a component type extending this component type definition" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "89939257-f03d-4f8a-9729-624fd9417c72" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..390bc2175eff9055006835229a2a2363b3d94eaa --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/04/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ea2d7388-d8c3-4eae-8b09-f042d1a545e7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "in functions, test cases and altsteps referencing that component type or a compatible test component type (see clause 6.3.3) by a runs on clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b669a89c-899f-4289-ac97-d81124fac680" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/05.json new file mode 100644 index 0000000000000000000000000000000000000000..38034a94ff2b00df82fc3b787c93823f3516c825 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1be886ba-a16c-4577-95d7-95c27719f585"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Individual scope units" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f18bcddd-8396-4759-bfd6-a974bbbebc55" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/06.json new file mode 100644 index 0000000000000000000000000000000000000000..02efbed9fd11366e8d2a1c05e78a1ee9a5c6c547 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/06.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/4be04ca4-a8c3-4ba1-8c0f-29989ff0accc", + "/Documents/es_20187301v040501p_html.xhtml/22b3c2b1-e890-4b98-8265-9e0798956f9e" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Stand-alone statement blocks and statements within compound statements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8d35286a-01d9-4132-9123-ca73859dc45d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/07.json new file mode 100644 index 0000000000000000000000000000000000000000..889e2048a21f2e47c34829335935ab3062055b56 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f5c61a7e-6967-4647-9743-6f9a76dcaa54"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Hierarchical relation of scope units" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7e271308-a236-4421-b20b-f1bd90c06236" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/08.json new file mode 100644 index 0000000000000000000000000000000000000000..8ae5222c2c1b8739abc1fba50d643aa8205a65bf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f2a93033-0109-4334-85ae-9c1819449837"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Declarations made within a statement block have local visibility." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b8bcb594-a137-4081-b6db-a7aed50a4b37" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09.json new file mode 100644 index 0000000000000000000000000000000000000000..7e6155f3a6ff982319ff4a3fa9045bff37a0a6b4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/38b122ab-476f-4cbc-9250-8763ee034daa"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.2.1 Scope of formal parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "983e9c6f-898f-4b8e-88c1-9f3651f745e5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4772ada144947cd4b0468b7ccc1ae752966ac1ee --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bc532561-f893-4cd0-85a3-0353c27c26f3"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The scope of formal parameters in a parameterized object restricted" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "671d1f57-1272-4969-9a82-52599f3a7b5f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6279194fef68a33bdefe923e8238e531439df48e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/78fd11ab-04d6-4a86-b267-db4f759054c0"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "to the definition in which the parameters appear" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1d289588-22b8-4cce-a46f-d652c8cf26a8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4afc3df4c9146223f94270ef76031b8b76813a8c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/09/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/804d98e9-cd7f-4332-b054-43438b43382d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "to the lower levels of scope in the same scope hierarchy" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c8199dca-11cd-45ee-bbc0-0ef34980dc87" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10.json new file mode 100644 index 0000000000000000000000000000000000000000..298cfeda8c2c7e179c738696a3f4451e17ba8c68 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/943b9783-01de-49bf-9433-d9533193feb1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.2.2 Uniqueness of identifiers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "07db4054-03c6-419e-af52-1f344bc97c7c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/01.json new file mode 100644 index 0000000000000000000000000000000000000000..fc6a75f90aea33011d1c5fa0341afaf96a15102c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d06e630a-d8b1-4e1a-9c0e-dfa6db65322b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "all identifiers in the same scope hierarchy shall be distinctive" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ada3b53a-2922-4fde-9718-0a2d9ab37839" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/02.json new file mode 100644 index 0000000000000000000000000000000000000000..aee7313d8c01210adab2802bf6e4b7457556f124 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/51048e86-e2ce-4336-8a02-6ef7823a88d5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Name of module" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "52b8df85-59ff-4188-8a0a-8511a29d06a2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/03.json new file mode 100644 index 0000000000000000000000000000000000000000..3eb8a58acb9a1a645d46e25285a6b1284fd9f7ea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/055ce45f-c1a4-46ef-89c2-c4ce3a9ae18f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Identifiers for fields of structured types, enumerated values and groups do not have to be globally unique" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d6bafcb4-48c6-4697-90fd-2d3d95c4ec53" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/04.json new file mode 100644 index 0000000000000000000000000000000000000000..5b19bfef06f724644e9c0669092a05675616fd27 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/adf0323c-f873-44bc-8ff8-e8c7f340df01"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "in the case of enumerated values the identifiers shall only be reused for enumerated values within other enumerated types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e8182342-5a85-4c60-8778-2cccbdd0789f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/05.json new file mode 100644 index 0000000000000000000000000000000000000000..49e45ecbea548f36cf2698c2e5223f1338965a13 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/06/10/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1a9cb157-c88f-4ca5-9a41-ee455f7271bf"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The rules of identifier uniqueness shall also apply to identifiers of formal parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b40d10e7-1843-49c9-a4a3-1530d4d494bd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07.json new file mode 100644 index 0000000000000000000000000000000000000000..8bd07d5cf41efaac4a068eedba9cba88715709e6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/70827e49-f888-4602-ba62-1b5a38288507"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.3 Ordering of language elements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "559b7767-383e-46a3-83b6-df67bdae53db" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/01.json new file mode 100644 index 0000000000000000000000000000000000000000..89be123e241e5f211094e2624ffa1d811635979d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/21b82820-8721-4ba0-ab92-b7e05581bec3"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "01 the order in which declarations can be made is arbitrary" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8ecf0b35-5f06-44a7-8d5c-ac62f1e83dc2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/02.json new file mode 100644 index 0000000000000000000000000000000000000000..7586c5aef69ebd8e5e5a370a9e814418ff40de99 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/02.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/f05b471a-6921-4170-8040-020213e8488e", + "/Documents/es_20187301v040501p_html.xhtml/95d98609-268d-4ecb-8bdc-28d838429f00" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "02 Declarations should be made at the beginning of a block" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ddf55a3b-8d25-47cb-b45e-7b84bc6e80a4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/03.json new file mode 100644 index 0000000000000000000000000000000000000000..557dcce5f2c780ebc86d80ba35388110e654c0e3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ea7aad88-4419-4cc5-8ebf-6b2d7cce728b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "03 Declarations in the module definitions part and in a component type definition may be made in any order" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b1232615-689f-4c26-865f-c67bbc5436ae" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/04.json new file mode 100644 index 0000000000000000000000000000000000000000..6af03fbd3f050aba45bad19493c6f51193b40525 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/9537dfa3-7c2f-4078-ad18-48d2e33a1819"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Required declarations should be given beforehand" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4a2dafbb-9785-47cf-b524-3b6674a8d414" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/05.json new file mode 100644 index 0000000000000000000000000000000000000000..bff3ab58e470a75c375de782b57960a427df013b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8d650b89-4122-4bb9-b202-287fcfac9a8d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "local variables, local timers, and local constants shall never be used before they are declared." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6d08fd9d-4b3c-4095-adcc-916d3da64b5d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/06.json new file mode 100644 index 0000000000000000000000000000000000000000..7859a98000d20f34c3d915a3a16ae7677dd3d5c3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/07/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5945a485-0191-4463-b686-ff792b7c731b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Forward references to a label may be used in goto statements before the label occurs" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8c78857f-734d-474b-943d-6f39e3118ff0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08.json new file mode 100644 index 0000000000000000000000000000000000000000..d279b66dbfd6d34b63975f63e582471c171085d1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e115ac78-feb6-4824-ad1c-24caf83da3c6"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4 Parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "28ff83d0-c5aa-4ec6-b6f2-f8d40b4f94de" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/01.json new file mode 100644 index 0000000000000000000000000000000000000000..c12ceed980e520cf983e31d052abd7934a1055cb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/97682470-dc4e-4bfd-bb10-aaace604ca5c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "TTCN-3 allows to parameterize modules, templates, functions, altsteps and testcases." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d6aeabd2-8937-42c5-bcef-79c8ab0443df" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/02.json new file mode 100644 index 0000000000000000000000000000000000000000..c43733a33edde5dbc243ba743ed893dc01cece2a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/057d753b-19c8-42bc-a5e9-9b3be50aa54b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values, templates, timers, and ports may be used as actual parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "55c58b94-9ba3-485f-968b-df9e1153c99b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03.json new file mode 100644 index 0000000000000000000000000000000000000000..5a29cba2a0df1927eb73a58695fb3924164028a3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/df860154-8d99-444d-a57d-217904265099"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.1 Formal parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5ab1d518-8b7f-4e0f-989d-1a244fa35ea5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..589693e37037d95a3b7dcebd2373caf06b9f005c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b6d46211-b9ee-4e1c-9ae0-12185948a6aa"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal parameters of parameterized templates, functions, altsteps, and testcases are defined in formal parameter lists." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c01889b2-4ca8-4fd3-af94-026c61115227" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..21a4b01c7d1378863e6a875181019b253d6918a2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d007f03f-6d5b-4092-834d-3f8cd90bdbbe"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal parameters of modules are defined in module parameter definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7ee86031-d2df-4668-8dd2-79be43352579" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..1b4f666500820f32b26d6c131bd76e9c2eb576cc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/75e850e9-0581-4ca7-a624-316f0bc2f86d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal parameters shall be in, inout or out parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9953cc9a-33fb-42ea-8d60-3269911e556c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..cc25bc87288c71926c71762473278d2ceea42d50 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7bd09538-f57f-465f-b65d-f602fb367230"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "If not stated otherwise, a formal parameter is an in parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f64fadff-d48e-4cdc-8bbb-eccdc93e2c3c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/05.json new file mode 100644 index 0000000000000000000000000000000000000000..7dc23e009d6206da5cafedddf3db4efbecf0ec77 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b88dfa18-0c71-4cc0-ac64-44cd8c3023da"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "For all these three sorts of parameter passing, the formal parameters can both be read and set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3fbbd054-6ff7-43ad-a369-354c43dcb718" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/06.json new file mode 100644 index 0000000000000000000000000000000000000000..524ec51a5e96a9460063415941bc82d2ffd4dc71 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8c253140-29f8-4eea-8222-2864d25f0ce7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal parameters can be used directly as actual parameters for other parameterized objects" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "149f4d9f-08d4-485a-9477-8b3f42172aac" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/07.json new file mode 100644 index 0000000000000000000000000000000000000000..ee7eda9b0d80edc40dbb139aaa06ffa0a0973543 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/72e14800-aea4-4ae5-b3e1-f8106229d345"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal in parameters may have default values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "946c1198-1907-4367-b51f-ef6d499841eb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/08.json new file mode 100644 index 0000000000000000000000000000000000000000..1dd83854e176e2c3a0a07c7847cce427d2b393df --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d460b5c9-3996-40b1-9e5f-034a4129b84b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "out parameters do not inherit the value of their actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "359ade7e-325e-4af0-9946-2c9fcdf76a12" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09.json new file mode 100644 index 0000000000000000000000000000000000000000..6a0b1800cd0e977519ac36aa5fa3ef61e4261125 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b3a6966d-e7c1-4600-aab0-6562080e4fc6"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.1.1 Formal parameters of kind value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0033f771-480c-4f69-aa07-05c2e8ec59f4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/01.json new file mode 100644 index 0000000000000000000000000000000000000000..16006f9754d786d25a2cded69b128a2cd0a10192 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/05ee7e4a-7dd5-49d9-82ac-96203c79818f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values of all basic types, all user-defined types, address type, component type, and default can be passed as value parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cf1bcc7e-05af-43ff-9aa4-251f48947677" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/02.json new file mode 100644 index 0000000000000000000000000000000000000000..20076ceb58de97954f3a2d1e7157477535cfa222 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/fd0ece56-6620-45ab-8472-d142be8b9aef"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Value formal parameters may be in, inout or out parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7343515b-2062-45d3-bd14-dceb60cf9efb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03.json new file mode 100644 index 0000000000000000000000000000000000000000..5b78190e79999271157d6266c675a2fec4e4c4a4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0ccbc140-7015-4bda-a5bf-b040c6466d27"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The default for value formal parameters is in parameterization which may optionally be denoted by the keyword in." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0bd01fe0-74bd-4c22-a5e5-cf6f4a9aa5d8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ded5586ac19ce97ce4bc5e6f9420f3d3ad99d869 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/02a594ee-1e94-403c-bcf6-916553891dd8"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "has to be compatible with the type of the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3a1ab144-4d84-4d69-aae1-132293c46afe" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..81f5b12b2c5922178eb8dc86e272df5924916a31 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3fa6fcfc-9d55-466a-a25e-e59ff016850d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not refer to elements of the component type of the optional runs on clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5bd920db-dba9-4324-9932-a17d45ffce0e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..bc44871cfeefa131928d15949c0e9f0dfa72cd88 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c2030402-9a53-4572-91e2-23c5086b01f4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not refer to other parameters of the same parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2f5db008-25a8-4b64-8c48-8a2782921a2f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..ee7eb44334b753e9c360a8c4d8eba8fe34e9afa4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/741f3fd6-bdaf-40a1-86e4-b76fb38aaa81"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not contain the invocation of functions with a runs on clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0869f0e4-2d83-4a30-b7e1-6a9430e3f604" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/04.json new file mode 100644 index 0000000000000000000000000000000000000000..69561cf431bc7b99bcb73d7b06e3a9bf117195ba --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/04.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/3147b183-efda-4abb-a3c2-693c64e4dbf3", + "/Documents/es_20187301v040501p_html.xhtml/f7c16449-fd65-4d9a-b016-d8dbf0fd708c" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Using of inout parametrization shall be specified by inout keyword" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8911b500-9f66-4e61-a508-6c1c47690340" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/05.json new file mode 100644 index 0000000000000000000000000000000000000000..4d628b01580d81fc308fcb11c95689f22d3f861d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/05.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/a658d6b4-ea59-4e14-b148-285d9ce1b180", + "/Documents/es_20187301v040501p_html.xhtml/1ac3622a-ed63-4d6b-8d6b-d5bf75960794" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Using of out parametrization shall be specified by out keyword" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "21c08851-2e5b-4872-9133-d04accd25fa3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/06.json new file mode 100644 index 0000000000000000000000000000000000000000..d6cbc3148276d36d502986c9b57fc4bf0abc3dd5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e2301c31-d9ec-4c14-8a5f-a17cdd2a64b9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In parameters may have a default value, which is given by an expression assigned to the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6f8c8612-4e03-4bc2-852b-aac1bb2288f7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07.json new file mode 100644 index 0000000000000000000000000000000000000000..7414b3d3bc56336b7b25c051704e0fea86766d4c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/23f808e0-6027-41b6-bc73-1b20841e3595"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal parameters of modified templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0373e8bc-19f4-42c2-9adf-dd423963a25c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/01.json new file mode 100644 index 0000000000000000000000000000000000000000..e96f93c72ffb263674c367d94c2dd4376325a049 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/435cb85a-ff07-4050-8a66-cfd5e374ad53"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "may inherit the default values from the corresponding parameters of their parent templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6bc20ed7-0965-40d6-bf25-76e93a61d586" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/02.json new file mode 100644 index 0000000000000000000000000000000000000000..39c0498ce6cdf6db91559255a9d46e95e6e9dd4f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/07/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/232816c8-b664-4301-aaab-2b38a19d38b5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "using dash in place of unmodified parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "73fb0765-1a3c-4c8f-b35a-efc5fd3f40bf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08.json new file mode 100644 index 0000000000000000000000000000000000000000..c3fc964164d98acaf923129ce87b76693ac61400 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6232b8c7-8b79-4eff-bb82-cc9582fd4c69"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the language element module allows static value parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "436870ac-c2cc-4dc6-adb9-c38f34c91974" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ac22213fcb711f67ca0bf13fd3b89a94eefc22c2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/82e411b6-c5d2-49d7-8f90-775636128927"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall be resolved by the commencement of run-time" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "37da22cb-2040-470e-8c42-4965f4a02828" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/02.json new file mode 100644 index 0000000000000000000000000000000000000000..6bacbd4fe6bfd007ec6e17820056fe2f50125112 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/08/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/182133c7-c413-4577-afda-4d80a79261ed"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "at run-time, module parameter values are globally visible but not changeable" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0f1d51f9-2b3c-44f6-85ad-c55a060035af" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/09.json new file mode 100644 index 0000000000000000000000000000000000000000..8712af25744b3a7fb6095fef5e7fae58b4f16b81 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/32fdc7ba-786c-403e-956a-da963215372c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the language elements template, testcase, altstep and function support dynamic value parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "fa283cdd-01c0-486f-b7f1-68adc0733fc5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10.json new file mode 100644 index 0000000000000000000000000000000000000000..6c2e72850a0988f327d146f65be0024f4f210582 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4936c891-3b24-4d65-a553-134c9e5ba14e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Component and default references are also handled as value parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c2352410-00a4-4f52-b4f3-5ecc259f552b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/01.json new file mode 100644 index 0000000000000000000000000000000000000000..b21bac03263bfd8a706ba9a87d73efc89b319128 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/cd0fa64c-76f1-49c0-8153-80006e29ac65"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In the case of component references, the corresponding component type is the type of the formal parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "fe1293d7-8f8d-4e1a-852b-d79c8a4a5648" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/02.json new file mode 100644 index 0000000000000000000000000000000000000000..a47f8673929cfd667c781f580b9bf2344886a4b1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/10/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/895552a5-b944-4b20-a9b4-c40d03395cb8"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In the case of default references the TTCN-3 type default is the type of the formal parameter." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "09f8a287-a817-42d5-b5cb-17339d529750" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11.json new file mode 100644 index 0000000000000000000000000000000000000000..77bfd0ac2cb74e79eedc3467ca37ab887d010cd1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/35e5df6d-9eb5-4fe3-ae82-30c34ad041dd"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Language elements which cannot be parameterized are" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8e38bc7a-f4c4-41aa-9dce-231a10a8ffd7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/01.json new file mode 100644 index 0000000000000000000000000000000000000000..7eed230e94694b0f23606c2af8f5b1144294d399 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2af35f17-3635-40e8-96bd-691cc8993889"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "const" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8ac02937-709f-4020-917c-d93e49245d21" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/02.json new file mode 100644 index 0000000000000000000000000000000000000000..d6e2e0812e3a2bce099fdbc232e40a90079581ee --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/65187941-4ef9-4983-94d8-42dca5be02e6"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "var" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "814031d1-a2ed-4abd-be37-d0389eff80b5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/03.json new file mode 100644 index 0000000000000000000000000000000000000000..973dbf26b690455266b9dbade3706d3f0f412525 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3b7617d5-0714-4722-8327-026b7dd68837"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "92e80564-4741-4947-972d-05169edba65e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/04.json new file mode 100644 index 0000000000000000000000000000000000000000..0144563587890a68b3ec1f5c41fc9f7893a6532e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bb7eb460-de78-4a4a-8044-dc1050e2f122"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "control" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5556a38a-ecd4-4a45-820a-f11503817bdf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/05.json new file mode 100644 index 0000000000000000000000000000000000000000..9f839e1c9234da9e62617ee8e08facaec6b27566 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c73c8f67-9ee2-4698-8ea1-c33e19158953"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "record of" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "21fb4852-d4c7-46bf-9d35-77e1665bca8d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/06.json new file mode 100644 index 0000000000000000000000000000000000000000..8902b7031836825a5d6d5eb317cfa03e3d8493eb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/95c85e9d-a210-4f9e-b198-64477d6a5aa0"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "set of" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "61a4bbb5-ab34-4347-9fff-b58ad07c34f7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/07.json new file mode 100644 index 0000000000000000000000000000000000000000..07185de9d29f59680d358c6ed21b8901ce82de0a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dbb76701-1063-4883-9b13-2c9bebbae7b2"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "enumerated" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7e63195b-767f-49fa-8420-9214624bd765" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/08.json new file mode 100644 index 0000000000000000000000000000000000000000..c0a8034167b01aac758a3a02ebf1e50efbfc7a79 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/30a92210-1655-4ad6-a75b-d31087988cc5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "port" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1d047c3a-4089-453d-8894-2a79ed47c1b0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/09.json new file mode 100644 index 0000000000000000000000000000000000000000..a22c6a36e87d82c65d02d734e3ad1e8318c59d40 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a89f5520-01f2-41c3-95ec-49f6595a093a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "component" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1f36f12e-c3dc-49bf-8bcd-677c338e29b7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/10.json new file mode 100644 index 0000000000000000000000000000000000000000..6d403a5b695df6fc243b34b7940321a890b42c3c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/61bf720c-e148-4823-a7e5-bf91c13fffd3"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "subtype definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ddaa2726-a5d2-4d81-9bf3-3100be83b06d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/11.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/11.json new file mode 100644 index 0000000000000000000000000000000000000000..57ee51b237634939d31d5c8dab7ee36141817afd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/11.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/cdb26baa-0592-47c5-b5f0-8256fda08b02"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "group" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3abd0e9f-f866-4f1a-ae87-9c650bca6149" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/12.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/12.json new file mode 100644 index 0000000000000000000000000000000000000000..a828181c9a9cbe347ca52600744c1cb9f4ef1715 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/11/12.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e8d4102b-4e2f-459e-955e-2254ae18234c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "import" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "02216c50-da23-4cd2-a799-343a04eccd35" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/12.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/12.json new file mode 100644 index 0000000000000000000000000000000000000000..41e87f55aa9b1c06c3c2767aa868a194b909968e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/12.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6d04d19b-cc72-4be2-82db-af30796cc205"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal value parameters of templates, and of altsteps activated as defaults (see clause 20.5.2) shall always be in parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b37a9bd5-841e-447b-a9e7-011b6c3af211" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/13.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/13.json new file mode 100644 index 0000000000000000000000000000000000000000..09b5897e79bcb45c52f538948aa25bb1db9decf4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/13.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b833731f-f153-492e-b14b-d126039cd972"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Default values can be provided for in parameters only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "bc272e39-105d-4d30-ab50-840377322a89" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/14.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/14.json new file mode 100644 index 0000000000000000000000000000000000000000..4d9d803908ef4b613de941b21152a52968a01968 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/14.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4fab62b5-2e81-4c57-8c55-af207f7bc887"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The expression of the default value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9ba114e8-e1b3-4e1c-8974-40497351f3ce" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15.json new file mode 100644 index 0000000000000000000000000000000000000000..9638955ad42206ae6a1a0e0f1c02f2a5e8f91ed3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/22e63803-f841-464c-91db-ce8da9a8bdd8"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Default values of component type formal parameters shall be one of the special values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ad868169-248c-4698-86fa-49072d88733c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/01.json new file mode 100644 index 0000000000000000000000000000000000000000..5dd51a8a832f87c2efa0b6181892dc154326658d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bdca0535-7b53-44fe-a072-66aef16fe8f9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "null" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ba04a1a2-6b3a-4435-8960-8681a01e9fa8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/02.json new file mode 100644 index 0000000000000000000000000000000000000000..78990e569864123ef21843e238cff2ae63339e26 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/63ddeb56-1c5f-4af0-a943-1580f02c7f35"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "mtc" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "437fc7a2-d0a9-4d27-8281-a73cc350ea27" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/03.json new file mode 100644 index 0000000000000000000000000000000000000000..07cf18f743220f30f001e19436346ffa153b4294 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/47d86443-fd07-442e-9e84-7a59f69f934c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "self" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "fbb3016f-2acb-4fe6-935e-1734997ac027" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/04.json new file mode 100644 index 0000000000000000000000000000000000000000..e3f4402396b43152994d503605e56b25a7919af0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/15/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/16ca4fab-cf23-4c4d-81dc-ec169964876b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "system" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f26de5d8-db46-4e9b-82c6-c42152563c35" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/16.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/16.json new file mode 100644 index 0000000000000000000000000000000000000000..9406fdb535b206c49a2cd6310624aacdc61ffe3d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/16.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8759bb62-82c3-44c9-8e1d-7c432e7fda9f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Default values of default type formal parameters shall be the special value null." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b4c52cfd-76ba-4cd1-967f-c9da876e2357" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/17.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/17.json new file mode 100644 index 0000000000000000000000000000000000000000..319e8c8ddde44b919c908dd277d0dd30a19c462a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/09/17.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e0fe8ed4-7a37-4d5d-91f3-da802457ae6a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The dash (don't change) symbol shall be used with formal parameters of modified templates only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "daed2f08-bbd8-4adc-a2a6-6e86594e6452" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10.json new file mode 100644 index 0000000000000000000000000000000000000000..fcbae44cb70ea7c933b6b1fda5124d89b3b15131 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4a18cea4-db68-4e65-b4a3-aeade906a40c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.1.2 Formal parameters of kind template" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3f299367-899d-468e-980e-5f31df947c20" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/01.json new file mode 100644 index 0000000000000000000000000000000000000000..3ac1624da861c37b5b9f2b42bb885c16cd2d2b9c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a44599a8-fc3b-44cc-b55a-e857c682e866"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Templates parameters can be defined for templates, functions, altsteps, and test cases" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cafabd43-b0e6-425f-93ab-4422057cfdf4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/02.json new file mode 100644 index 0000000000000000000000000000000000000000..a42fc69f478bbe3ffc2681b14ac9b1eacc1fa78c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1551a62c-5c3a-41d4-bef9-7c4551c38392"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the extra keyword template shall be added before the type field of the corresponding formal parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "68596ba9-c7be-48f8-8aab-09ddfbcbad29" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/03.json new file mode 100644 index 0000000000000000000000000000000000000000..92c054c2db8c6b6723b758470fbbd427e7be2383 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1870338f-f467-4fad-bf4a-6e4bc28ad5bb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal template parameters can be used within the parameterized object the same way as templates and template variables." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8dd6b06a-81e8-4930-b501-697e61df96f3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/04.json new file mode 100644 index 0000000000000000000000000000000000000000..4ff970e106ad31696e32f63c5dcd875885be5fec --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/69d55189-3e40-439d-8f46-5ff943ecec31"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal template parameters may be in, inout or out parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d68c072f-df32-42e5-8018-0adce0147cb8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/05.json new file mode 100644 index 0000000000000000000000000000000000000000..bb7ea8d3761f7992de913898184b078eb7c5f10f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/08a431a5-5f5e-45af-be5b-2ee4529734f8"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The default for formal template parameters is in parameterization" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b13ccb24-fde0-44d2-a0cc-f166cdc46f5f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/06.json new file mode 100644 index 0000000000000000000000000000000000000000..e4c8ee3bd099e3632af14e44df93f2043272c308 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/65556d3a-bc93-4472-8391-960ea5a36b68"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In parameters may have a default template, which is given by a template instance assigned to the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7943a2ce-a7c5-4194-9e0f-48cd8dda464b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07.json new file mode 100644 index 0000000000000000000000000000000000000000..6cd94f0d40d6a4e7947b7ab79694e703f6bb175c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3e88728a-0250-457a-823f-8f5e9ca27aad"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal template parameters of modified templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "247d8556-9d34-4dd5-8c59-823979c265af" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/01.json new file mode 100644 index 0000000000000000000000000000000000000000..314ec5d086eac4ad39b8d9a35cd369474e0ce672 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7db0dbf7-12f6-4ccb-b420-6d13a5464360"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "may inherit their default templates from the corresponding parameters of their parent templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "34c9e53a-6196-475c-89f0-a073447f22dc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/02.json new file mode 100644 index 0000000000000000000000000000000000000000..235f93dc2cabe03a7d6b23b23d3e9f52dcd281a1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/07/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f69c8efc-1a60-460d-b41f-b55808a7234a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "explicitly denote inherited default template parameters using a dash" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "165b5845-8a87-4217-ac41-899dc51df895" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08.json new file mode 100644 index 0000000000000000000000000000000000000000..d31abbab696ca1c2655c6651fb577fc834f85bc5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7c2800ce-ca0d-4d65-8249-c667669ea5d5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal template parameters can be restricted" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "347e2e8a-0626-4824-9046-32fd9225e9a4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/01.json new file mode 100644 index 0000000000000000000000000000000000000000..51e8531db10a2221af6dcaae25ed4adb26751a0a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6864891d-42d2-46b8-975c-3d31b1dc18c7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "to accept actual parameters containing a restricted set of matching mechanisms only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "68fff36c-b085-4aef-acd7-f644c1a02229" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02.json new file mode 100644 index 0000000000000000000000000000000000000000..c02c17948d45609d9fb2c8d67c1b32417864d059 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/fc98bb77-1c24-44a4-b46d-1ab6f04fb5d2"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Such limitations can be expressed by the restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b7a9cdf6-e8d1-4b10-8725-0edad2aab51c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..f3accda8e0d35921ee7b9162e12f4a5da33e92d0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dfd0c3a8-1837-42fa-a4a3-ebf620edd4e7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "omit" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c1ad31e1-29e4-4334-8ebb-19a01baa41eb" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..56e199ba6883b914fc694e87cc38dc413fec75fe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/cac329bc-4fb6-45bb-bbbd-5f92d7ae7148"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "51024336-36e3-4ec1-95ed-8b0c38bc816f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/03.json new file mode 100644 index 0000000000000000000000000000000000000000..7644a40b5cc189950e522d40dc9e2aac870b3c43 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/02/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f41becbd-b832-414f-96d5-5b5e3df44880"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "present" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "57a9f7e3-baaa-4333-b119-3821dd08a8ad" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/03.json new file mode 100644 index 0000000000000000000000000000000000000000..295212f5f8cd1f3f6b71ed0666f8663538a1b685 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/08/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/97b96335-bf20-4703-a401-e8b26d2b86c1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The restriction template (omit) can be replaced by the shorthand notation omit." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a68c6f8c-9227-480e-af16-1b1c79597b8c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09.json new file mode 100644 index 0000000000000000000000000000000000000000..708faa3f6b6ef0c8b50d50f949123704423e700c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ad112316-e5ac-4c99-b8c5-b51e335e726c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e0b86155-a768-4f1d-ab56-d950b1cd68a3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/01.json new file mode 100644 index 0000000000000000000000000000000000000000..2faae4f2943397fecd6420de6dcc0dfe68bcbff8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/9e54c586-99f2-4723-8dee-51390939da24"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "a) Only function, testcase, altstep and template definitions may have formal template parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6fc7d6a0-08c7-42d7-b4bb-4098679cef8e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/02.json new file mode 100644 index 0000000000000000000000000000000000000000..71715686dd45b189085271d91d8e636ba9863dda --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/18b02e2b-1b5b-4120-8fb0-e2bc1f441032"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "b) Formal template parameters of of specific entities shall always be in parameters." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9276a1c3-18af-465d-adf2-2c860a7fe91c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/03.json new file mode 100644 index 0000000000000000000000000000000000000000..18665e8478cb696c5d0b6db407dc0366a7f27fb5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f61cba95-9c33-44d1-b457-6ab00ac5d5cc"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "c) Default templates can be provided for in parameters only." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6502b05b-3c64-4f0d-8334-7c8d4a8773d3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04.json new file mode 100644 index 0000000000000000000000000000000000000000..cc323ebc7bec2c481eb01ca8e20e2db2ddc90d87 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f9996326-898f-4180-8979-e0df48613a22"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "d) The default template instance" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "77523122-4e2e-4f30-b7df-128be908949c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..29e8a3039344a5bae2b78737607a61c811b052d2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0634e59d-614e-4de9-956d-cbb5c923048b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "has to be compatible with the type of the parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cf28c16a-5577-4b55-82e2-641b7e9f109e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..101f93300c188cd94c4a2425a0727f1890c0d208 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dfac07e2-461b-4975-8d61-44c47dfe754b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not refer to elements of the component type in a runs on clause" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4d198099-aec5-4ef8-92b3-2a8f77862d51" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/03.json new file mode 100644 index 0000000000000000000000000000000000000000..b84693ae52cf12547174b7c8fca24227e0e5d79d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/93f015ac-d01c-4dea-8872-eac90a69bf4e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not refer to other parameters in the same parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cfd1347e-ff1d-4c8d-8c50-9aad8a13b1c4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/04.json new file mode 100644 index 0000000000000000000000000000000000000000..f264401c4f173d6c67adfd750ee85c43f76d332c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/04/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2502f490-1e33-4783-9e01-6d6969691c7f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "shall not contain the invocation of functions with a runs on clause." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c17aaa5c-878b-4eff-84ca-3cd8a429961b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05.json new file mode 100644 index 0000000000000000000000000000000000000000..1222685dbae33dfbec48b2c58ac1b5af2e70f918 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e72f585e-645d-4531-adce-b1ece71528b7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "e) Default templates of component type formal parameters shall be built from the special values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "197fe81b-9120-44bd-bc73-8463df8a63b2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/01.json new file mode 100644 index 0000000000000000000000000000000000000000..cf5c4919900f6bb38e6c96a95f9355f5cb85a5b4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e144b851-b84b-4ec4-a6a7-f4c421b33644"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "null" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2357c9fc-082d-4176-94e1-f19510c5ccd5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4f5dd020248adb5f02946dd25dc32aad25100d5b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7566b030-2a78-4018-943b-754b1dcd8e51"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "mtc" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "8fa2e898-022b-45e6-af05-612bf2ef1434" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/03.json new file mode 100644 index 0000000000000000000000000000000000000000..412481cc16935909147cee5a4c58c0dda38370e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/82f2c34b-d009-48ea-bcc9-9a11cf9d0e8b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "self" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "be6eeb43-bdbd-4c70-a2fe-6fdb356a4ebc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/04.json new file mode 100644 index 0000000000000000000000000000000000000000..dc79b920b17ec3c7e21cc8edcc0cd2da5b71444f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/05/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/012abbc2-f402-4b83-88af-b7798e1f37a2"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "system" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f41e6282-98fa-400c-bb28-ee305ff275ff" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/06.json new file mode 100644 index 0000000000000000000000000000000000000000..1cd42ae91586dd28f2bcad698bc4365568c30de1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/10/09/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/072d5a66-4917-448c-9102-af19df4dbf20"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "g) The dash (don't change) symbol shall be used with formal parameters of modified templates only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0a4ab11c-16de-47d3-8dd1-a854e5df20c1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11.json new file mode 100644 index 0000000000000000000000000000000000000000..6952f47326e60307e7baf81750d19525c93d8e0a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/460d51d4-2ae9-48e2-87f0-5381f668d0b3"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.1.3 Formal parameters of kind timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a689fe0e-d2aa-489f-b63a-163294d36f51" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/01.json new file mode 100644 index 0000000000000000000000000000000000000000..8153fdaceee417ff9585abd71cede824903ad8d2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b9c828e4-5268-4095-b678-3f3ba1ab113e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Functions and altsteps can be parameterized with timers." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "02c10fa5-f789-424f-88b2-afa74129c4fd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/02.json new file mode 100644 index 0000000000000000000000000000000000000000..5bb9e841be3f8a8772827e37deba827ef3c658e1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/70109ad0-7bad-4956-8fe0-75fd25130142"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer parameters can be used within the parameterized object like any other timer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "53d84278-92ff-4d55-95b2-8c136e2c291a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/03.json new file mode 100644 index 0000000000000000000000000000000000000000..f23a358c0ce16b19bebc051312b52dc6aa307390 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/fb8613cb-da2b-4aae-84d5-0ecdb4541400"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Timer parameters shall preserve their current state" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "fe7918c9-b240-466f-8d35-68adb9196344" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/04.json new file mode 100644 index 0000000000000000000000000000000000000000..51b8ffc7a78be50191b0bd235a29c697bd0e5ca5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/957f20c2-578e-4d70-9fa8-2e4a8286c6a9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Formal timer parameters are identified by the keyword timer." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ff94ef5d-2d14-49a9-b385-488ebd81e986" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05.json new file mode 100644 index 0000000000000000000000000000000000000000..f1938b21962ffbcd96627c8bce09746ba2bf3c8f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/086dbc9e-3d39-4a81-99bf-4844a187fe82"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d4702ea8-7df2-49b8-9c08-0f7f3bb1ed3b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/01.json new file mode 100644 index 0000000000000000000000000000000000000000..fc28072e96ef876ab59fdc6f6416e00b67aacc2f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0e4c728e-a8d5-41da-9abb-1fa228026ae0"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "a) Formal timer parameters shall be inout parameters, which can optionally be indicated by the keyword inout." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "498a5781-2b95-4974-9d93-58eb18c418f2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/02.json new file mode 100644 index 0000000000000000000000000000000000000000..02829e55e3f2e7144abcc3347627e216f7d26b19 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/11/05/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6a216e6a-8b34-46b1-9f57-67d553cda268"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "b) Only certain functions and altstep definition may have formal timer parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5ae92959-553b-481c-b51b-e582829b9ccc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12.json new file mode 100644 index 0000000000000000000000000000000000000000..44811a2fe4f9851c86b48686d4daa866485a07cc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dfc71416-4435-44ea-a3c9-dc09c8ac4862"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.1.4 Formal parameters of kind port" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f99fa951-fe01-4d45-a4a0-9c0128c4bbbe" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ea3f1d6fdc23d296a8ae02877286f8433983de33 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2832ac53-fa21-420b-92a6-e263ca5ba6a9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Functions and altsteps can be parameterized with ports." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "895df164-8451-4d4b-9efe-bd0967cd1c0f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/02.json new file mode 100644 index 0000000000000000000000000000000000000000..5d55dbc1844e09525bdf3d23990bcfe2b84b923f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/627e88ae-9b99-4937-acb5-d0d8899b3572"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Port parameters can be used within the parameterized object like any other port" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f4ba36bf-a804-43eb-8ba2-e2102227c3d1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/03.json new file mode 100644 index 0000000000000000000000000000000000000000..506f2a46b9cc39e09b7d0e08f102bd8c974959e5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5d19d967-2caf-43fa-ad48-2478692eb320"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Ports passed in as parameters shall preserve their current state" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c8bbb50e-fe38-432c-b615-353187c43336" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04.json new file mode 100644 index 0000000000000000000000000000000000000000..ddd5b2b19eae360a21085f6606af4f0e07a4452b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/aa68a389-4b86-48fa-ab3a-b815ffdd7607"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "40e1c86c-cb2c-4544-8504-f94d1b98c648" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9726b914a8db993bd9aa0c361fe585085b60fcc2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b23d98ec-fa9d-4bc8-a04a-32173da5582b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "a) Formal port parameters shall be inout parameters, which can optionally be indicated by the keyword inout." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b89caee7-076d-4308-a80a-c99c16202ea2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..308b38bf17ab96af77e5d07867e5471fe74062ea --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/03/12/04/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d9d00ef4-e24e-41e3-8496-48a00e18c482"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "b) Only certain functions and altstep definition may have formal port parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "bfa304ec-509e-42c1-8d51-ed568b07dc57" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04.json new file mode 100644 index 0000000000000000000000000000000000000000..b27b63a7435c7ab03e9f63be59bfb9cab259a063 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4072f5ff-67d3-43db-8c13-e8d56e19c45c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.4.2 Actual parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a6cc5371-86d4-42dd-a4fb-4e506c748b0d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..17e2003361b55cf9f8c2dadbfb28f1720c1d91da --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bd1e485c-da8f-4428-a546-fdf254e3cb10"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters can be provided" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cae77238-b436-445c-ac09-c5a4e957208c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6cca0d183a9078ae8ff1ede0d6799b099fa8e047 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2c178c29-8773-4dfd-bc9c-221268bf2c76"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "as a list in the same order as the formal parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c9e57b30-3bff-4c53-98b9-e3e172d3e9d1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4611046b48d0901ae7dd1ce5e1523eac4e34b3e9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dc302e87-8947-4d17-b783-1619ca194e07"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "in an assignment notation explicitly using the associated formal parameter names" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "68077454-a680-44d8-813d-3cdaf49ea380" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..86f17de125a14dabb3db95d42218d0faf8e300c0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/02.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/5fd20e44-3ac1-475d-9ee0-e4873cb4dd6e", + "/Documents/es_20187301v040501p_html.xhtml/1019bac8-045a-468e-afc9-1e0670c1c944" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed by value to in formal value parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e2c4d155-e7f7-4f13-9c4f-d43b974f05f4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/03.json new file mode 100644 index 0000000000000000000000000000000000000000..4ca1a192980c7091ec001f27aa4ddd83972753b4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3343154d-2544-4175-b5cb-d8f963bca56c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed to inout or out formal value parameters shall be variables or formal value parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f907ff03-8649-45aa-bca4-a7bedbe52959" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/04.json new file mode 100644 index 0000000000000000000000000000000000000000..7a8debc0bf03c30148e677be3f0d28c5b4e6289f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/04.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/1d45aa63-341e-403c-ab80-500ad36ce9a3", + "/Documents/es_20187301v040501p_html.xhtml/216964db-3e96-4d15-b67f-3cffc934a7c3" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed to in formal template parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7f743e9c-00c3-4897-95de-24573b8d31cc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/05.json new file mode 100644 index 0000000000000000000000000000000000000000..3083c058c498b30346518fd413e2d2710c3fa8f1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/05.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/095bb344-c66f-40ff-bec4-449b86df1d5b", + "/Documents/es_20187301v040501p_html.xhtml/0399bf53-acd1-4b8e-a030-18d14db7ca71" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed to inout or out formal template parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "42a352ab-36ef-4a5c-947d-b9024ee23190" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/06.json new file mode 100644 index 0000000000000000000000000000000000000000..66e072ba37ae19cda659f71d462908e6b8a7d316 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/06.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/6b7a9946-892c-4597-8e95-89cb88a9aba2", + "/Documents/es_20187301v040501p_html.xhtml/2508a98d-6ddc-45d6-bdbc-459f67d688b1" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed to formal timer parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f3ef6201-8fbf-4967-84b3-a548483bebe8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/07.json new file mode 100644 index 0000000000000000000000000000000000000000..d959e781b19efee1fdd9e47a435925ebe589f0d2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/07.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/51cd5713-6bf6-44a3-a33e-c7587de561ba", + "/Documents/es_20187301v040501p_html.xhtml/c41b2f5e-04a6-4705-871c-66d0f90a1671" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Actual parameters that are passed to formal port parameters" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "88bcd859-0d58-4c1b-89e6-615686d8c2d0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/08.json new file mode 100644 index 0000000000000000000000000000000000000000..f886cda729e18a107cfc613124004a0f244bf439 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6e1c1d12-91d6-4992-94e7-4ababa2e8470"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "No actual parameter may be given for formal parameter with default value or template" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c94a7292-9e35-4d8b-8f6c-2b97373d3256" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09.json new file mode 100644 index 0000000000000000000000000000000000000000..8f374cffa61859a118c93a46bc24276588073285 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/109a66fb-f6b9-4f2a-9204-a8b76e14b4b8"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The actual parameters are evaluated in the order of their appearance" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "221ac8cb-7247-4cd0-98ca-a04189bb331f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..1448320bb15f7982ad96a8358e34bc370f9625a0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/09/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Mising test to ensure the order of evaluation" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "fce63519-f944-467c-9299-91ebf93dec0a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/10.json new file mode 100644 index 0000000000000000000000000000000000000000..b14730a5a25d4ecfd213e5badae3935d152b6f88 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ee37d374-8fe8-4410-822f-2d52e928e8f4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "If no actual parameter provided default values are taken" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a35eb63e-ea74-4830-b261-4e8b47198d7f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/11.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/11.json new file mode 100644 index 0000000000000000000000000000000000000000..1a52a48948cbf179d60468bf06a9324e22fea229 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/11.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d71ff0ee-039a-4268-bb3f-13f37b94be78"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Parameterized template without actual parameters may have no braces" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5e6960e7-3da9-484c-8644-702fdaf6d07c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12.json new file mode 100644 index 0000000000000000000000000000000000000000..bf04f5e749dffcc7ca0a56b65d4b8d01309d0749 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/75ff34f4-85ef-4a5f-a60c-b5456bdad1bb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "c5db25be-647c-498f-9739-5593e963d935" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01.json new file mode 100644 index 0000000000000000000000000000000000000000..c119644cd18753a1cb430a2a19f507d9cf842459 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b105d622-5aed-47dc-afb5-45068c5d1713"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "using list notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "399918de-ef7f-4fe9-9a9f-56913abf7224" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..afb87d18c3ec623dd902db3d41eaa0d63b500fa8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/568996d7-823a-460d-ac95-7719c1ac3f24"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the order of elements in the actual parameter list shall be the same as their order in the corresponding formal parameter list" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5208d04a-3e8e-4d9f-bc73-c9649717dd9b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..087327f6b956a2bad5b4fb8cb6b8ee897251daab --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5ae8a2ec-a994-492e-b526-15496c5f3a3f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "For each formal parameter without a default there shall be an actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f80b2761-4646-4c59-93d7-99975e0f3964" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..b352e84a63b45642c3f8f5844d91bcb56d0875e4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/02/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Missing negative test" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "faf2e011-273c-4d94-aef0-05796ab29ef0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..d1e9543107d717bb88976ad979fe20d3c6818981 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3cb0c0b6-4594-48d2-8e1a-6f99aa7e38a5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The actual parameter of a formal parameter with default value can be skipped by using dash \"-\" as actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0898e0d8-0006-441b-a1b8-aca525e9920e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/04.json new file mode 100644 index 0000000000000000000000000000000000000000..287e083ade66d8e746fc8772d9ee8d99ca9017a0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/01/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8a02837f-f719-4422-9e7d-3f95317f16cb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Omit tha tail of the actual parameter list when all parameters are set to default" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "28625064-e69c-47b3-a343-274229093f26" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/02.json new file mode 100644 index 0000000000000000000000000000000000000000..71d4d83d5569636bf09c682b3b57f04d080afa7c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/972ef5c9-60ad-445c-9971-3bfa7db82815"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Either list notation or assignment notation shall be used in a single parameter list. They shall not be mixed." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a2d10b24-2d0b-4ede-a372-7dbe4a7fc75e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03.json new file mode 100644 index 0000000000000000000000000000000000000000..4b14208d254ca73331b9b0791ab05806766f521a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2cf36a4a-9814-4222-ba2d-ae0dda891b9d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "When using assignment notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "79b829c2-d1cc-43f6-ad75-77002acaab61" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9cfea31568627ac299f2f4071b282de810eb83 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6b4aa157-8aad-45ea-8349-b46a45ba1845"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "each formal parameter shall be assigned an actual parameter at most once" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5636dc2f-5c73-4412-b17b-6521bdd3ce10" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..3970ce72258ea001c8ddbee7248eebc9d99d97fa --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/01/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Missing negative test" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "602e6ce9-7b13-45db-90f2-925e1341e976" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4dd6fa5c7b49868f092c8a059cb52ebc6171a204 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/83db3a76-7716-4478-8dba-6cbbbbbc371d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "For each formal parameter without default value, there shall be an actual parameter" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "07ad8bbf-1d5d-43d0-814e-7db021778c80" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..6e501cf5e058329e7b79acff6cc289d9016c0f89 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/03/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8285c957-265f-47ed-88ba-7ba4059d38ce"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In order to use the default value of a formal parameter, no assignment for this specific parameter shall be provided." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "328b9a3b-085f-42f1-a670-0ef44a5c6d2d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/04.json new file mode 100644 index 0000000000000000000000000000000000000000..1ce8198da9427bb73fefb8324cebadab771b080e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f22cc228-1d42-4b6a-9033-0770adc44f43"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The type of each actual parameter shall be compatible with the type of each corresponding formal parameter." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "be483758-55a8-4a7c-8326-6f881f93c3ca" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/05.json new file mode 100644 index 0000000000000000000000000000000000000000..7e72e7ad2f62f0e5d40313f4c2c2adf72f44720d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/754e71d3-5816-4e8f-9d16-f37587fe2efc"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Parameterized entities provided for actual parameters must be resolved" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "dba4f007-8306-4bd6-883d-d365d0cfcabe" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06.json new file mode 100644 index 0000000000000000000000000000000000000000..7c804a7043a5c8f6b832de6b6a8b4ec8a78cd213 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "Empty parentheses" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "00875e7c-15e4-4695-9ffd-ca4283820ed9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/01.json new file mode 100644 index 0000000000000000000000000000000000000000..df16c207f50681e3427732b52acbeca21c4037a9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f0711d46-3cfd-4919-9adf-dfbf94cac3b4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Empty parentheses for functional entities must always be present" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e3b3f507-8f10-4533-9579-b15d2ebae31e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/02.json new file mode 100644 index 0000000000000000000000000000000000000000..ef20848e8388cd29fbc2b51fc59e5808a40c67b9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/08/04/12/06/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6de5105d-30fc-4359-b6ca-298cef1df450"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "In all other cases the empty parentheses shall be omitted." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2f6205df-d173-4b87-935a-68428bdcf878" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09.json new file mode 100644 index 0000000000000000000000000000000000000000..977e3f854bab5a8f618bcc80f4aa9dda3c7e7b8a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/89c78e7d-9149-4861-9c32-2e8dfcf474da"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "5.5 Cyclic Definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "21793fdb-1339-47de-bec9-a118163eb017" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01.json new file mode 100644 index 0000000000000000000000000000000000000000..7fe3c2e4959f8bbf8ee7cc4a4c1d47fcbd9ca928 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "Cyclic definitions are allowed only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "39e92a64-c583-4a80-8eeb-f24902dbe9ed" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6f16fbbfd00c07b9f81a0cf6bc66a0f42bd4583c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f5d57f2c-aa85-4151-a2af-fecf305e1f3f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "for recursive type definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0eec8578-661f-4698-850a-b5550d77a627" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..29891495f320e1f5f068e0eab238d20e8ddc9b5a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8c8017a9-070b-4276-aae4-2d2db11f7b86"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "function and altstep definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3399a097-1b12-4c58-83c2-12b5916afeb8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..a87ae194f380264a753e37217f44e77cdc5ff3c9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c89abe85-6087-4cd5-893e-1d0ef467a2fa"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "cyclic import definitions, if the imported definitions only form allowed cyclic definitions." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6d6da8e8-cdc9-44aa-bc5e-132f791a37d1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/02.json new file mode 100644 index 0000000000000000000000000000000000000000..c9ae3f81649b97dbe84b502daaec7cd8a6bb2cc8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/01/09/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7daea996-d97b-4275-a160-4a63e3b39d8a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Direct and indirect cyclic definitions are not allowed" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "abea276b-ce44-477a-b58e-913586790fad" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/02.json new file mode 100644 index 0000000000000000000000000000000000000000..cf5ab5ef5bf97226d58c6966a7cc4ceb92cffec8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/146132c4-5688-45e2-9402-2862d1d89c25"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "7 Expressions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "95fb5860-9e8c-4df5-b74f-b2eb31f7944f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..dc6ccb7738f068ff36c79ca740148582fc4da367 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d5e39ace-9fa8-4e46-b26a-aeca9b891b36"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "7.1 Operators" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a4b83332-c7c1-41ac-83da-71694c3e0e85" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..a0cd19b2cc3c0854c711a474b38d35ca70885cb6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/02/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/abb5e383-d80a-493a-bb4c-a99229015326"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "7.1.1 Arithmetic operators" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "74f6be1c-7b4c-4500-bf2e-b26387d71756" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values.json new file mode 100644 index 0000000000000000000000000000000000000000..59d4c981fe6f8373234b4c468d5532e98b4b697e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + }}, + "uuid": "1e023eb7-2949-4c12-8b45-2485489122f0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01.json new file mode 100644 index 0000000000000000000000000000000000000000..586694a1c1e6a97c989e20e41576b1d1ab87c6c2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e72e70dd-408b-4751-bea8-5932dd72a7ae"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1 Basic types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1f06d3ba-e0f4-448a-b493-b5573d19fc2e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..f8a5d8e91857943d17dd1c4e14c141cd5c0bd44f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2b8d9ddf-5db1-4f15-8032-01cb3632a155"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.0 Simple basic types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "912c1eeb-46ad-4878-b985-8be95f1e260a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..44aedc7ae77b9941b95bd9f8b1c8688ce668a668 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/65547b23-ff50-41c1-8484-cf64e6ed191c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "a) integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2ece42ae-c02f-4436-9c03-146740765218" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..0ec2f7dbd3dd73df3a43122b69b9ff7099ebb3b6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e18437ff-a6a9-45fb-bbf3-64c54d434631"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values of integer type shall be denoted by one or more digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9461d942-8f47-4edf-96e3-4f4d7d7072fd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..ee21281e3af7d72338f4163fdcbc9dfe82120ff3 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c54059b8-7645-477e-aa3a-367e2489e6c4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the first digit shall not be zero unless the value is 0" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5b24b782-b1d1-4c54-bea4-1e614664d170" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..52011dfe59c680dcedff7edbbe5dc8744d8d48af --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a5e21578-87b8-4759-83b7-b47c69aed11a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the value zero shall be represented by a single zero" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ed1eb69c-c4f6-4fff-b5cc-8839c28e79f2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..89b6108f0bcc24fc990b77c0b0cd28d6da119031 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/cd8be5d1-cde0-4d95-9635-41f959cb8cde"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "b) float" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b614cc68-2a30-467e-9d90-b5a2e1926c82" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..74cf4066184468eaf0b5f2059c8de286eb49ab2f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4261be0f-bfad-4866-8dff-7e78b744930d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "the decimal notation with a dot in a sequence of numbers" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9b8e0d11-c48e-41bc-9d80-3ef0c0786bee" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..aa001b5f3581526d64de546d08e875b15c63f7e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3a6670ee-e1da-4b9d-ba57-23468ddb7b2d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": " is a positive or negative integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "60d23006-5e75-4b3a-8193-47957b408e79" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..760c01eae7c40ff3b54388d775314d5cba754a34 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6e470631-0e8e-4322-85e4-c0cf0471f116"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "mantissa of in theTTCN\u20113 value notation, beside integers, allows decimal numbers as well" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "522989a6-5728-4ad0-815d-603cbcb4e7b8" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/03.json new file mode 100644 index 0000000000000000000000000000000000000000..6027e4c4e4bd025e1a7ac0e9b3df3ee0cf8a782e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6a2a5444-b4e4-4be3-a11a-ab60d0e18c23"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": " a positive integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "fc4c3eed-7797-482d-8b7b-af18bdb18dc4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/04.json new file mode 100644 index 0000000000000000000000000000000000000000..b297c4542e71e3d07c566e8e4e1dc86851d0f5eb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f74622f6-19f9-47a4-84f5-9bb504534324"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": " a positive or negative integer" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4a26c6ad-4ba3-496d-ae28-3308f331a510" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/05.json new file mode 100644 index 0000000000000000000000000000000000000000..384425f4ee1ed520fa6b16e4c00753a273a749df --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/512422a1-3a64-443a-b408-cbef111cf7e2"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "infinity (positive infinity)" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5c20b242-4956-472f-9bb3-cc31fb97c53a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/06.json new file mode 100644 index 0000000000000000000000000000000000000000..55fd5c3276b8909693ce3c448a67fcec9bc13747 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f86a9ec7-ae7b-4623-9ab0-a0f0830479e9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "-infinity (negative infinity)" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3345a2a1-2b2c-4a81-96bd-8873173c4542" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/07.json new file mode 100644 index 0000000000000000000000000000000000000000..db22cd3d7ac173a5a8995fdd239712af81cb2ffd --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/58107574-dfe0-4438-a292-a9beb8d1b399"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "value not_a_number" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9d2daecf-72cb-4a00-b4a5-ead2883fae2e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/08.json new file mode 100644 index 0000000000000000000000000000000000000000..f712b7ca36beb0775a2bdd3145576da7f03b1456 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/02/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1f92783d-8756-4109-a5b0-b1c244fbdf4e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "-not_a_number (i.e. minus not a number) is not to be used" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "08767112-8531-41bd-b1f3-c08243c4de59" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09.json new file mode 100644 index 0000000000000000000000000000000000000000..d11fc572f0a1d00fd7be959526d7663a1f3f7173 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/9b8e9fa9-c9d7-48ef-a31a-f1509d2a8c1d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "c) boolean" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6ba88479-08ee-4b7e-a640-268475400273" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9ef5b536886c339e2d151c29b347313f48901966 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/09/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bf30896a-621a-4597-b6a2-49b6f316f22e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values of boolean type shall be denoted by true and false" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f93deec8-980f-4bc1-a314-a08536381bd4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10.json new file mode 100644 index 0000000000000000000000000000000000000000..ba13a70e3023e9a22da8629cee52395ca73e5239 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1cb7cea2-abfd-426f-a92d-3a0082834947"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "d) verdicttype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "9102b389-7688-4299-bc69-7b1eeb6f5733" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10/01.json new file mode 100644 index 0000000000000000000000000000000000000000..470e55e1ae60a9cf5ad6ee9c77c195290b899249 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/02/10/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a7a011cc-b20e-4ae0-8e9b-01375f4d01ce"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values of verdicttype shall be denoted by pass, fail, inconc, none and error." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "72db94fc-f348-459d-be8b-34c88c398756" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..f6c6605a13808e69099a7ae40b13fd5cacbb894a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/908380e2-8821-4980-b293-af1e6f4fb5d7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.1 Basic string types and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "470678ff-cd20-4aa9-b059-cb4851a3f8f1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..84d3df29abef37b041a14beac76389cb6981fce1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/772451a6-1746-44aa-b8c6-93816f924323"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "a) bitstring" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b38faa66-9570-42c4-a464-88f051eab7a3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6f1dde7ebbf4831a78ca80bf3fcf34f31b505852 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/25afa684-a178-40a0-a422-0256211d8ac4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Denotation of values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0866ab7e-3cb4-4ff7-b11b-2771e3273777" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..243004cb3fc0b57a5a7ed8911d63849d45cf261a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/01/01/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Need a test purpose for zero digits between commas" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "43fcf3e9-e203-4a87-afca-2a9a8683c1a7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02.json new file mode 100644 index 0000000000000000000000000000000000000000..062a706cc6c628e2a83a02f9791758361d98e541 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/67a6946d-5203-40ae-80f7-944468e848de"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "b) hexstring" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d572f3cf-1007-4643-9f09-57269a7acbea" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..d0c54e2b697133b88d2fa4269a62aca81bed8ed6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/01.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/229176bf-699b-499a-9226-4e86daa53bdf", + "/Documents/es_20187301v040501p_html.xhtml/fe29f0a9-02a5-40f2-bf98-75f752051c3b" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Values of type hexstring shall be denoted by an arbitrary number (possibly zero) of the hexadecimal digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "57f15e6d-fb28-4886-b31b-02bcb73e224f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..c9f51980b1817773b9cb6177e8563afffbab972c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2768a1ce-d779-42b8-8bfd-0d11b71f6b67"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "uppercase and lowercase letters can equally be used as hex digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "da5069f6-2dfc-46e3-9a5b-ef84a847cb59" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03.json new file mode 100644 index 0000000000000000000000000000000000000000..bad25a82d95f5b07034c0185c5981707c9afbc18 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b3f46558-9965-438a-ab8c-d6dcfd6aafc1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "c) octetstring" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e9e758c9-3ef9-464b-b801-4464edf84011" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ede04f8094cd930f91f753930bb0db95729bc01a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8d40ec1d-7bf9-4aaf-8904-cec10184c8fa"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "distinguished values are the ordered sequences of zero or a positive even number of hexadecimal digits" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cf2cd9a0-7a39-403e-b5b7-2886f11a2e82" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..f71f5d06662c1d6c97a8b4d2c002d5af7f518b04 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/42c2b9dc-f2fd-4fea-a3c8-51a1bb192b09"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.1.1 Accessing individual string elements" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f1e7d74b-a6e7-4ff1-ade9-f9fbfa015f49" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04.json new file mode 100644 index 0000000000000000000000000000000000000000..424d2277a97921b4a62deeeb4ee6a96b2716bf36 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e8bf9ed1-74e9-4e9f-8dfd-e7364ce7edff"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2 Subtyping of basic types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a2bda974-dc65-4b8a-b019-1f4d88ae2590" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9ae1eee4924bdb0877b1de5727ca6cd9ef516a38 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/44fbf65a-e281-42cf-a8f2-f704224a169f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.1 Lists of templates" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "23bed901-d543-4fbd-b88f-dca836c0cd80" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/02.json new file mode 100644 index 0000000000000000000000000000000000000000..6374344e34a0579ab6ed4c8f6f490ef0bf423538 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/113f00ee-dc51-46c6-9022-b3f72149efea"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.2 Lists of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1bd34e6b-6a6f-4b94-b1d6-1b2b3689f496" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/03.json new file mode 100644 index 0000000000000000000000000000000000000000..8bd9190f3062f8cdcd4b16f05b82aa82562f086d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5ea5048a-1785-4f2e-b062-f1e0f420ddc4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.3 Ranges" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "809f96e9-717b-482f-aaec-13681edc9dfa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/04.json new file mode 100644 index 0000000000000000000000000000000000000000..a27e29e6a0e0bfb1c900cacf34a40e61c19f28b5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/48e4b889-bab0-4435-adc6-986583826fc7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.4 String length restrictions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3ddfc7ff-63a3-4991-8635-334d543d5c55" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/05.json new file mode 100644 index 0000000000000000000000000000000000000000..2c095382f3ad171cebb20934e78279e40cf8e2d9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bcb01d3e-7925-4eb6-aa95-58414199b191"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.5 Pattern subtyping of character string types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4506848b-1c2a-4187-a535-592583f19a6f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06.json new file mode 100644 index 0000000000000000000000000000000000000000..231586285286c6a561f2350108c9c3010f39df50 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c9b2aed9-5d4b-4d03-8275-aa16af16326f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.6 Mixing subtyping mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5b6753e0-3974-46d4-92aa-21e1cacd59bd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/01.json new file mode 100644 index 0000000000000000000000000000000000000000..ad78e7b2496ca14fe5af588dbdddd05e770bf908 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a16eaebc-dc07-4e8e-9c28-f32b5d9831dc"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.6.1 Mixing patterns, lists and ranges" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "76dc37df-34bf-4d32-8d40-804dfb89c320" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/02.json new file mode 100644 index 0000000000000000000000000000000000000000..a0c265e87178959a2b31e7edd307afa9b4d6266a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/01/04/06/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/40b277b8-bdc4-40b2-acbe-5878607cce88"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.1.2.6.2 Using length restriction with other constraints" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "05477aeb-9de1-453d-9af1-0245acce2a05" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02.json new file mode 100644 index 0000000000000000000000000000000000000000..bb09344ccc86f225cdf256b1b5438c21f2f2b05d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7c928658-e766-4c29-a636-29835e3e691f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3 Type compatibility" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e109c21f-49d8-4046-8a3f-b3b398ad0386" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..afb9f2b311e1b4da15c9269bd893e1499ca9acf1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/1d975d87-fe16-461d-8099-c57fe7dfbfb5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3.1 Compatibility of non-structured types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5b6baa8d-0f21-4c6a-9ef1-ac2670b87ba9" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..6722f4b86f99c893adb4cc419c5c7f833fea2b58 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8d7e6469-3df9-44da-ae35-f5035053252e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3.2 Compatibility of structured types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "69c47b13-ea62-47b6-8299-5bd067c5756d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..35743f6543b528eff157a86c3e19ae6493d7c926 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/34b01854-dab1-468a-b603-5d719d7275ab"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3.2.1 Compatibility of enumerated types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "876b5431-df5f-4356-8f30-1e901aa07f1e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..915a23ce79b1db5336f6ae088b240bbe36ed9a32 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2a9f1795-7134-41df-8a37-4e255d330b1a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3.2.2 Compatibility of record and record of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5e35aac4-fb2f-47d6-82f6-3105727720dc" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/03.json new file mode 100644 index 0000000000000000000000000000000000000000..3d5875ecb6c3f2fd83f06982970c6c8d7f34a693 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/02/02/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5f69aab3-ddde-4cb4-a266-3b0fa9443ad0"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.3.2.3 Compatibility of set and set of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "362dd42b-c753-4bc1-85be-e525b5c69f49" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values.json new file mode 100644 index 0000000000000000000000000000000000000000..2440e96a2dff4e20ea8747babb52f66cdd4128d2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + }}, + "uuid": "fd6f7afe-8fca-44af-bedf-b3fb2125439b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01.json new file mode 100644 index 0000000000000000000000000000000000000000..60a9108b07448ee16eb546cb1e6d05f9c11257bb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/362e54a5-4706-49c0-abce-fcf9805043d2"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.5 Unions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7a43a81d-0850-4d88-86e9-deacfb89d9c1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..a2de51c3a1e8491466022567bb0658154b592661 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ff09e5b5-5176-4431-a579-127a11f4f32f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.5.1 Referencing fields of a union type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7c02cdc2-d31b-4430-a236-629996d2285f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9c1c9cfc21a49f2eddcf966c3024ad8a5b4f526d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/12425af4-6a8a-49c2-a821-3d81a833c6ca", + "/Documents/es_20187301v040501p_html.xhtml/01b4d753-2ee6-40ef-ad1c-06b8df09dd77" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "01 Allowed nested definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0318f9d3-0bb9-4c2c-889b-446eee470e6b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T01_TypeId.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T01_TypeId.json new file mode 100644 index 0000000000000000000000000000000000000000..daeda0f33d8a313a6ec572f98c21d0aa830f103d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T01_TypeId.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ensure that alternatives of a union type are referenced through type notation " + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "94a03cea-0380-4476-803e-07f1b2a653b4" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T02_Variable_or_constant.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T02_Variable_or_constant.json new file mode 100644 index 0000000000000000000000000000000000000000..e61f8884f80a41a40213340dd6551b1115444376 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T02_Variable_or_constant.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ensure that alternatives of a union type are references through variable and constant" + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "f679345c-66db-4971-a7a4-57a9b62a8d42" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T03_Formal_parameter.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T03_Formal_parameter.json new file mode 100644 index 0000000000000000000000000000000000000000..d22192f1746e7a665b48356760a6f49c8a0e3e73 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T03_Formal_parameter.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tEnsure that alternatives of a union type are referenced through formal parameters<\/p>\n

\n\tNB: only functions are considered. Neither altsteps nor test cases are considered.<\/p>\n" + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "c193c376-2d69-49e2-9f86-84e2a7725e35" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T04_Module_parameter.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T04_Module_parameter.json new file mode 100644 index 0000000000000000000000000000000000000000..cbc937914363efa254cc1435a56fa232c41dfacb --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T04_Module_parameter.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ensure that alternatives of a union type are referenced for module parameters " + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "ee6137dc-7330-430d-b071-5d8b4da20f4d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T05_Template.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T05_Template.json new file mode 100644 index 0000000000000000000000000000000000000000..171e495f47ee8671d64ae99d51e303b55ac910f4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/01_T05_Template.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tEnsure that alternatives of a union type are ferenced for template.<\/p>\n

\n\tNB: check that is can be an lvalue? <\/p>\n" + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "bb422318-fa78-49b4-90b6-c9cdef29eecf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..a6dd056f12f9f888588ad650962be83e6ab14b20 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/01/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tClause 6.2.1.1 reads:<\/p>\n

\n\t Elements of a <\/font>record<\/b><\/font><\/font> shall be referenced by the dot notation <\/font>TypeIdOrExpression.ElementId<\/i><\/font><\/font>, where <\/font>TypeIdOrExpression<\/i><\/font><\/font> resolves to the name of a structured type or <\/font>an expression of a structured type such as variable, formal parameter, module parameter, constant, template, or function invocation.<\/font><\/p>\n" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "67973e1e-089c-43a3-886b-dbec02503313" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..63afda7f8e36977c76d021d98cf8d1417cf36bd9 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_description": { + "key": "_description", + "type": "STRING", + "value": "Alternatives of union type definitions shall not reference themselves.<\/font>" + }, + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/04cae3be-93a0-46e0-a990-f720af08758a"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "02 Alternatives shall not reference themselves" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7a593747-b33a-4523-a263-557ec5fe1de5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02/02_T01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02/02_T01.json new file mode 100644 index 0000000000000000000000000000000000000000..4a031333f10542bc529dbb72dc76b1882140930b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/01/02/02_T01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tEnsure that referencing the field in it's definition is rejected by the compiler.<\/p>\n

\n\ttype record union U { U.a1 a1 }<\/em> causes circular referece<\/p>\n

\n\t <\/p>\n" + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "9a34535f-7cf0-4f05-862e-9844c5aa2763" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..69dd93d68906f4f512b2b88706c9f503a681667e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b1f38b32-6142-49dd-9290-2f8c8a5cff0d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.5.2 Option and union" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e87722cb-078d-42cc-b4ae-7585d6b02a8c" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..91d495f3c7f3a3aab347db8bc0c5280570837a51 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/02/01.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/8f986ab1-c934-43ab-86e0-c5efd69b4c0a", + "/Documents/es_20187301v040501p_html.xhtml/4e2a7c80-4409-4d56-b6f3-5dd172b2a15e" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "01 \"optional\" keyword shall no be used" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "47f3f6a2-b38a-405b-8244-53fd9bb1c465" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..c9ea1845a68558b21259c6a47ca0a5db37652087 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c57d1c35-b2d5-453d-a0d0-7890bcabd863"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.5.3 Nested type definition for field types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3ca7c857-6563-4097-a6fb-0c3d50bccbdd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03/01.json new file mode 100644 index 0000000000000000000000000000000000000000..aaffc01e8bf0bc4ab3b5a419a846ee2b63b4a2d5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/03/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a7b4a619-5096-4e32-ab48-559468ae1e40"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "01 Nested definition of type for alternatives similar to record types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0e3aebce-5321-40bd-a728-601211ba5672" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/04.json new file mode 100644 index 0000000000000000000000000000000000000000..6285a3117f25e9cec0af31e0e2c4a7ebaeae5fd2 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/8a3b3b97-4270-4b8f-b7fc-775648933b52"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "01 Only one of alternatives is present in a union value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "518d44f8-b430-4d70-bb26-ea8f343afab3" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/05.json new file mode 100644 index 0000000000000000000000000000000000000000..d06ef7cff0fba99679e9c73dd9ff1673fe8b0add --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/e9c765af-0191-4640-997b-968bf2630e45"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "02 Assignement notation should be used for unions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f56c2198-cc2e-45c4-bbad-6cda2c30d4d0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/06.json new file mode 100644 index 0000000000000000000000000000000000000000..a73b944bdf155b1f997401753641a3e581b6b0a7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/5736c14d-601e-47ae-8858-c55027cda04e"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "03 Assignment notation shall assign a value to one field only" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b297e624-8620-472d-8d29-25af3aa260ed" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/07.json new file mode 100644 index 0000000000000000000000000000000000000000..dc3a728f88aeeb00b36433f59d1008b094c1c907 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/f5680e0d-87d5-47e5-9cf1-9ce5cf71cbd7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "04 Symbol \"-\" nor omit is allowed in union value" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b17afec2-486c-4a3e-9a0a-3eef8ebc5149" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/08.json new file mode 100644 index 0000000000000000000000000000000000000000..b3a561b85f75efe6cd163fdd996b0e179ea0af4d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/01/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0e3bb17c-f4ae-41a1-bffe-facc707edd3f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "05 The value list notation shall not be used for union types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "61493ca1-0070-485c-9e08-3d54ee5fc9e0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02.json new file mode 100644 index 0000000000000000000000000000000000000000..3bea777eea82a8fd1b99df8f576d03459d2bbbdc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/6e4ff214-de95-4891-ba67-d0a103f24df7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.2 Set type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "59584895-5924-4ad1-a1b5-c4e01f63bcba" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/01.json new file mode 100644 index 0000000000000000000000000000000000000000..08f318537a0a70169e851f38c9afe2ba2ddc7b1c --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/b69adac2-d768-4d81-99ad-aea920412fb9"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The field identifiers are local to the set and shall be unique within the set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3a1fbb5c-78c5-49c8-9d8b-d843d7ff902f" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/02.json new file mode 100644 index 0000000000000000000000000000000000000000..6ac6120998351dd51962a8994343e951225f4a12 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/ab9dc979-78be-4113-82fe-2e95b247bb90"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Field identifiers do not have to be globally unique" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4f2b9d0e-a835-4ae7-bcec-51f45b7f1827" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/03.json new file mode 100644 index 0000000000000000000000000000000000000000..9456dc675ffbbdb87d1719ffc24ba6fcaa9a0910 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/13066bf0-f9c2-442f-ba1f-a2cc6ed673e6"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "The value list notation for setting values shall not be used for values of set types." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4d0f2fdf-c53f-4793-a3ab-c7e39a53ad46" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04.json new file mode 100644 index 0000000000000000000000000000000000000000..8466668e638756cd97b57f608631283b71d0e9e8 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/c8f71c63-dc1d-4d09-8daf-88a3f68e1938"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.2.1 Referencing fields of a set type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "be2072e1-8076-4cef-9aa0-fa13f9350735" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01.json new file mode 100644 index 0000000000000000000000000000000000000000..1bc6b5c004325bbe87e3f171945f51b731908bc4 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01.json @@ -0,0 +1,23 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": [ + "/Documents/es_20187301v040501p_html.xhtml/adeae196-692a-4e1c-a992-ab0d450f1d06", + "/Documents/es_20187301v040501p_html.xhtml/ce85ff45-873a-42fe-9390-05fa3df61bfb" + ] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Elements of a set shall be referenced by the dot notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "dac68566-0edf-4b03-96f2-17be81a616a5" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T01_Reference_by_TypeId.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T01_Reference_by_TypeId.json new file mode 100644 index 0000000000000000000000000000000000000000..f39719190b9b223519a56bfc4c1bd5bcfbb51e95 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T01_Reference_by_TypeId.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ensure that fields of a set type could be referenced through type name " + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "5b32c526-b2df-41a7-a131-1bbed2f91238" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T02_Reference_in_var_or_const.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T02_Reference_in_var_or_const.json new file mode 100644 index 0000000000000000000000000000000000000000..b1060e60001c80182b1427f4109051628b0942cc --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/01_T02_Reference_in_var_or_const.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "Ensure that fields of a set type are referenced through constant or variable " + }, + "_status": { + "key": "_status", + "type": "STRING", + "value": "in process" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "TestPurpose" + } + }, + "uuid": "d35f68c1-17e9-4f96-9376-1dc1d5db6013" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/Comment 01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/Comment 01.json new file mode 100644 index 0000000000000000000000000000000000000000..b327cab1b178cbdcd09a37a504bbe442a04fb27b --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/04/01/Comment 01.json @@ -0,0 +1,25 @@ +{ + "attributes": { + "_author": { + "key": "_author", + "type": "STRING", + "value": "pakula" + }, + "_description": { + "key": "_description", + "type": "STRING", + "value": "

\n\tSection 6.2.1.1 tells:<\/p>\n

\n\t Elements of a <\/font>record<\/b><\/font><\/font> shall be referenced by the dot notation <\/font>TypeIdOrExpression.ElementId<\/i><\/font><\/font>, where<\/font>TypeIdOrExpression<\/i><\/font><\/font> resolves to the name of a structured type or <\/font>an expression of a structured type such as variable, formal parameter, module parameter, constant, template, or function invocation<\/span>.<\/font>ElementId<\/i><\/font><\/font> shall resolve to the name of a field in the structured type.<\/font><\/p>\n" + }, + "_index": { + "key": "_index", + "type": "STRING", + "value": "1" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Comment" + } + }, + "uuid": "9146cd46-774b-4030-8ca4-e124bd8a033d" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/05.json new file mode 100644 index 0000000000000000000000000000000000000000..f0fcf36d873d6125d5501c61e405c058e9a2c631 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/97dd3da3-a61f-472e-adac-a4a1140ec8eb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.2.2 Optional elements in a set" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "0a1c6368-0dbd-4453-9230-0d567cd6c6e2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/06.json new file mode 100644 index 0000000000000000000000000000000000000000..839e656169e88fda07fae690438f53cb52124470 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/02/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/087d2af0-7802-456b-97e5-9fab072edf36"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.2.3 Nested type definition for field types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "31ece3df-bc1d-4db2-812d-13768b1b3608" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03.json new file mode 100644 index 0000000000000000000000000000000000000000..5b72f87eab5e12e1c9662ddb88ae7804f345e4f1 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/dc7d0ac6-4aed-4a0a-ad45-61435b39bf60"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.1 Record type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "7f95f6e5-36f6-4ebd-ae7d-9758148d80f0" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/04.json new file mode 100644 index 0000000000000000000000000000000000000000..7417242979f7eaa4f626c72adb28b3697d959dd7 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/4f35d0d0-9a98-4e8d-9265-5a6f4e740374"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.1.1 Referencing fields of a record type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "afd876a3-a21d-4928-9955-dd596c017685" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/05.json new file mode 100644 index 0000000000000000000000000000000000000000..124492ad19f552e3e01d58cd3543664b1e3c9dbe --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/014bda43-594a-42ac-a7a7-39d44b036ba5"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.1.2 Optional elements in a record" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "6156dce6-885b-43df-87d3-9750b1a306d1" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/06.json new file mode 100644 index 0000000000000000000000000000000000000000..2e32c44d57dd2a4e3ef67f6d3544aab082ce5d29 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/03/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a1f838f9-b12d-47e1-9316-5a6954761379"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.1.3 Nested type definitions for field types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ec60a19e-796e-4726-b162-b758bff7b001" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04.json new file mode 100644 index 0000000000000000000000000000000000000000..20eb04fb2e91615f41c7bb13e36e034ed9656c43 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0b4016e0-7e7b-40bc-bd50-a5ab33463fc1"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.3 Records and sets of single types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "258848f6-2d12-429d-8053-04b551c65259" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/05.json new file mode 100644 index 0000000000000000000000000000000000000000..f85a0c9b81a6145cd87041f4bb100547762bbbc5 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/bb52a3a3-11f5-4dab-9026-7f6ec393812b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.3.1 Nested type definitions" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "bc38b674-93c0-4d3b-a480-c31f463f118e" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/06.json new file mode 100644 index 0000000000000000000000000000000000000000..add7a5c1f248a88d3159458d2644e54ef1594313 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/04/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/03e333db-e082-4c6c-a780-85bdda30e18b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.3.2 Referencing elements of record of and set of types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "3e5111b0-5b95-4fef-962b-8c2f87fccba7" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/05.json new file mode 100644 index 0000000000000000000000000000000000000000..b6b65312fc27c0e2fc652620dff8ba94ff94ad69 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/3620acc0-4c04-46b9-bb6c-cf9c69172e1d"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.4 Enumerated type and values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "2155fd51-5a27-40fe-9fa7-72c7ccbbfd45" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/06.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/06.json new file mode 100644 index 0000000000000000000000000000000000000000..ab82993527732d02fedb87437811e1d0707d1e42 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/06.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/77d74f8b-3bd2-46dc-a398-b8c840e293cb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.6 The anytype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a480a215-d08a-4f73-a3f5-db10e4a72916" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07.json new file mode 100644 index 0000000000000000000000000000000000000000..c6012495d98be3b775aa4c1c6f567613d82f7aac --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/066d4c75-9ba3-44f2-b448-582ba0ade026"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.7 Arrays" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "974a48f8-9fdf-4153-abd9-cd8c0b8fba66" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/01.json new file mode 100644 index 0000000000000000000000000000000000000000..e93bdd7fabfab9982362098650c6225df86c432a --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/69253f87-e3a0-4886-8e0c-d211e729e391"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "They may be specified also at the point of a variable declaration." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "4aba0d9d-6f94-49d4-8eac-2a143535835a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/02.json new file mode 100644 index 0000000000000000000000000000000000000000..ff9cb34abc667e7bb37b87e9bc33d7c70e14f19f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/02.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "_name": { + "key": "_name", + "type": "STRING", + "value": "Array dimensions shall be specified using constant expressions, which shall evaluate to a positive integer values" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "b98b3a4a-607f-47f9-8e9c-200dd226c6aa" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/03.json new file mode 100644 index 0000000000000000000000000000000000000000..36b2f985145b793dd903af5d603b4606b4f64b45 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/09270da3-514d-4f88-8f37-04600b7fab0b"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Array elements are accessed by means of the index notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ba0c41aa-d6e0-4653-81d9-7bfbe287a6bf" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/04.json new file mode 100644 index 0000000000000000000000000000000000000000..c3162ddedb9894bfe6a3378c4a74af6f2a259901 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/0e1b4957-6af8-40bf-a51b-bffdeb364510"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Individual elements of multi-dimensional arrays can be accessed by repeated use of the index notation" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "a3057dd0-c086-413e-87f2-896ace2de602" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/05.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/05.json new file mode 100644 index 0000000000000000000000000000000000000000..f65eb1b540edee015cc5098183725f6fb11462b0 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/07/05.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/39a96bce-4884-45dd-b1b4-6aac1d426b72"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "Accessing elements outside the array's range will cause a compile-time or test case error." + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "1e3a993f-c223-4a06-81e9-6cb6cb78c3fd" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/08.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/08.json new file mode 100644 index 0000000000000000000000000000000000000000..453a89dde6040d2669a5f5b8e2b410a20fe2fccf --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/08.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/81a08387-fc96-4c8c-8f3c-3f7a604486f4"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.8 The default type" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "cd3065b7-30e0-4693-9342-6f857fb24a16" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/09.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/09.json new file mode 100644 index 0000000000000000000000000000000000000000..d5214127cda8f015e937db2aa0b243be427e868f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/09.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/66fb9765-ad1b-4a01-8a48-24abfbbacc12"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.9 Communication port types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "dca0d5c3-4e76-45b3-b52e-613cccdb7ff2" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10.json new file mode 100644 index 0000000000000000000000000000000000000000..d1a771e8682e00139eff458a28421844c615b21f --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/49e664d4-f685-49cc-92f7-84d0163c7c53"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.10 Component types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "5ad2fffd-c864-423c-9155-bfc61605a130" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/01.json new file mode 100644 index 0000000000000000000000000000000000000000..3d1091478a86b800b7a732eb59bcb7a72ebebab6 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/7a9924e7-558b-48ee-b725-3a9ae9258dae"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.10.1 Component type definition" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "ba448095-cfc7-46e1-88d6-3b6f249f006b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/02.json new file mode 100644 index 0000000000000000000000000000000000000000..b30d3dc8d653c7310ee1494af18d5e89bc00ab15 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/10/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/81a971a2-7da9-4e24-8ee0-a043b2eb660f"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.10.2 Reuse of component types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "f750b6dc-c81c-458f-8fd3-f7655284a2ad" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11.json new file mode 100644 index 0000000000000000000000000000000000000000..3b6169e84256917ebad456d4662e3c5210e35126 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2cd2dc98-f852-4c00-b020-f2ca980c2c31"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.11 Component references" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e45ee11f-6782-474d-aefa-1906360a0f93" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01.json new file mode 100644 index 0000000000000000000000000000000000000000..6fc2f26d925982fa6733666fa252a489da8e0234 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/fff3641f-74b3-49b5-8024-fb7e4aa05e32"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.12 Addressing entities inside the SUT" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "609a678e-18f4-444e-8547-e16ba127f995" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..bb85793f0ef6653e3dc1b73b300b20d97e6c0554 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/d0a156e3-261f-463f-b8d1-cef6fd1e596c"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.13 Subtyping of structured types" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "06336d22-9682-484f-bfa0-b94ac5a1ce2b" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/01.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/01.json new file mode 100644 index 0000000000000000000000000000000000000000..9fe9b0c279ff5e3e4e37038ef9664802c134818d --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/01.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/a0acf2ff-2e70-4ff3-9fb4-804298824bdb"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.13.1 Length subtyping of record ofs and set ofs" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "e6d04203-7352-46f7-a467-7857992df42a" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/02.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/02.json new file mode 100644 index 0000000000000000000000000000000000000000..4cf5ec6557cc518646abb50fa5016f889b4ba76e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/02.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/9f9b48c9-f791-4f92-ae28-9865b80705dd"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.13.4 Mixing subtyping mechanisms" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "642388d7-5f8c-4794-a104-59b215823f30" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/03.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/03.json new file mode 100644 index 0000000000000000000000000000000000000000..66ec5bca15eeeca159affbe0b850e07347386446 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/03.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/54289f56-ad72-4453-819c-11d67f51a3e7"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.13.3 Subtyping of the iterated type of record ofs and set ofs" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "d71b5f7a-a4fc-41ef-a26a-df83495f7101" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/04.json b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/04.json new file mode 100644 index 0000000000000000000000000000000000000000..39657166f030c0edc76d886ff6ff4ce11135d54e --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Requirements/6 Types and Values/6.2 Structured types and values/11/01/01/04.json @@ -0,0 +1,20 @@ +{ + "attributes": { + "_locations": { + "key": "_locations", + "type": "LIST", + "value": ["/Documents/es_20187301v040501p_html.xhtml/2698cbc6-7107-4794-ac6f-4f0af4104450"] + }, + "_name": { + "key": "_name", + "type": "STRING", + "value": "6.2.13.2 List subtyping of structured types and anytype" + }, + "_type": { + "key": "_type", + "type": "STRING", + "value": "Requirement" + } + }, + "uuid": "558f7694-99bd-48a1-ab81-d8be3fd14126" +} \ No newline at end of file diff --git a/standards/4.5.1/requirements-4.5.1/root/Types.json b/standards/4.5.1/requirements-4.5.1/root/Types.json new file mode 100644 index 0000000000000000000000000000000000000000..f4c5bca0e88a35e0ddf374b0b35175eaf3af8070 --- /dev/null +++ b/standards/4.5.1/requirements-4.5.1/root/Types.json @@ -0,0 +1,8 @@ +{ + "attributes": {"_type": { + "key": "_type", + "type": "STRING", + "value": "NodeType" + }}, + "uuid": "0cad4418-42ef-428b-9bbd-214fa22bccd1" +} \ No newline at end of file